(window["webpackJsonp"] = window["webpackJsonp"] || []).push([["js/vendors"],{ /***/ "./node_modules/@atlaskit/analytics-namespaced-context/dist/esm/FabricEditorAnalyticsContext.js": /*!******************************************************************************************************!*\ !*** ./node_modules/@atlaskit/analytics-namespaced-context/dist/esm/FabricEditorAnalyticsContext.js ***! \******************************************************************************************************/ /*! exports provided: EDITOR_CONTEXT, EDITOR_APPEARANCE_CONTEXT, FabricEditorAnalyticsContext */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"EDITOR_CONTEXT\", function() { return EDITOR_CONTEXT; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"EDITOR_APPEARANCE_CONTEXT\", function() { return EDITOR_APPEARANCE_CONTEXT; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"FabricEditorAnalyticsContext\", function() { return FabricEditorAnalyticsContext; });\n/* harmony import */ var _helper_createNamespaceContext__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./helper/createNamespaceContext */ \"./node_modules/@atlaskit/analytics-namespaced-context/dist/esm/helper/createNamespaceContext.js\");\n\nvar EDITOR_CONTEXT = 'fabricEditorCtx';\nvar EDITOR_APPEARANCE_CONTEXT;\n(function (EDITOR_APPEARANCE_CONTEXT) {\n EDITOR_APPEARANCE_CONTEXT[\"FIXED_WIDTH\"] = \"fixedWidth\";\n EDITOR_APPEARANCE_CONTEXT[\"FULL_WIDTH\"] = \"fullWidth\";\n EDITOR_APPEARANCE_CONTEXT[\"COMMENT\"] = \"comment\";\n EDITOR_APPEARANCE_CONTEXT[\"CHROMELESS\"] = \"chromeless\";\n EDITOR_APPEARANCE_CONTEXT[\"MOBILE\"] = \"mobile\";\n})(EDITOR_APPEARANCE_CONTEXT || (EDITOR_APPEARANCE_CONTEXT = {}));\nvar FabricEditorAnalyticsContext = Object(_helper_createNamespaceContext__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(EDITOR_CONTEXT, 'FabricEditorAnalyticsContext');\n//# sourceMappingURL=FabricEditorAnalyticsContext.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L2FuYWx5dGljcy1uYW1lc3BhY2VkLWNvbnRleHQvZGlzdC9lc20vRmFicmljRWRpdG9yQW5hbHl0aWNzQ29udGV4dC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AYXRsYXNraXQvYW5hbHl0aWNzLW5hbWVzcGFjZWQtY29udGV4dC9kaXN0L2VzbS9GYWJyaWNFZGl0b3JBbmFseXRpY3NDb250ZXh0LmpzPzU0YmUiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGNyZWF0ZU5hbWVzcGFjZUNvbnRleHQgZnJvbSAnLi9oZWxwZXIvY3JlYXRlTmFtZXNwYWNlQ29udGV4dCc7XG5leHBvcnQgdmFyIEVESVRPUl9DT05URVhUID0gJ2ZhYnJpY0VkaXRvckN0eCc7XG5leHBvcnQgdmFyIEVESVRPUl9BUFBFQVJBTkNFX0NPTlRFWFQ7XG4oZnVuY3Rpb24gKEVESVRPUl9BUFBFQVJBTkNFX0NPTlRFWFQpIHtcbiAgICBFRElUT1JfQVBQRUFSQU5DRV9DT05URVhUW1wiRklYRURfV0lEVEhcIl0gPSBcImZpeGVkV2lkdGhcIjtcbiAgICBFRElUT1JfQVBQRUFSQU5DRV9DT05URVhUW1wiRlVMTF9XSURUSFwiXSA9IFwiZnVsbFdpZHRoXCI7XG4gICAgRURJVE9SX0FQUEVBUkFOQ0VfQ09OVEVYVFtcIkNPTU1FTlRcIl0gPSBcImNvbW1lbnRcIjtcbiAgICBFRElUT1JfQVBQRUFSQU5DRV9DT05URVhUW1wiQ0hST01FTEVTU1wiXSA9IFwiY2hyb21lbGVzc1wiO1xuICAgIEVESVRPUl9BUFBFQVJBTkNFX0NPTlRFWFRbXCJNT0JJTEVcIl0gPSBcIm1vYmlsZVwiO1xufSkoRURJVE9SX0FQUEVBUkFOQ0VfQ09OVEVYVCB8fCAoRURJVE9SX0FQUEVBUkFOQ0VfQ09OVEVYVCA9IHt9KSk7XG5leHBvcnQgdmFyIEZhYnJpY0VkaXRvckFuYWx5dGljc0NvbnRleHQgPSBjcmVhdGVOYW1lc3BhY2VDb250ZXh0KEVESVRPUl9DT05URVhULCAnRmFicmljRWRpdG9yQW5hbHl0aWNzQ29udGV4dCcpO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9RmFicmljRWRpdG9yQW5hbHl0aWNzQ29udGV4dC5qcy5tYXAiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/analytics-namespaced-context/dist/esm/FabricEditorAnalyticsContext.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/analytics-namespaced-context/dist/esm/FabricElementsAnalyticsContext.js": /*!********************************************************************************************************!*\ !*** ./node_modules/@atlaskit/analytics-namespaced-context/dist/esm/FabricElementsAnalyticsContext.js ***! \********************************************************************************************************/ /*! exports provided: ELEMENTS_CONTEXT, FabricElementsAnalyticsContext */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ELEMENTS_CONTEXT\", function() { return ELEMENTS_CONTEXT; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"FabricElementsAnalyticsContext\", function() { return FabricElementsAnalyticsContext; });\n/* harmony import */ var _helper_createNamespaceContext__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./helper/createNamespaceContext */ \"./node_modules/@atlaskit/analytics-namespaced-context/dist/esm/helper/createNamespaceContext.js\");\n\nvar ELEMENTS_CONTEXT = 'fabricElementsCtx';\nvar FabricElementsAnalyticsContext = Object(_helper_createNamespaceContext__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(ELEMENTS_CONTEXT, 'FabricElementsAnalyticsContext');\n//# sourceMappingURL=FabricElementsAnalyticsContext.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L2FuYWx5dGljcy1uYW1lc3BhY2VkLWNvbnRleHQvZGlzdC9lc20vRmFicmljRWxlbWVudHNBbmFseXRpY3NDb250ZXh0LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BhdGxhc2tpdC9hbmFseXRpY3MtbmFtZXNwYWNlZC1jb250ZXh0L2Rpc3QvZXNtL0ZhYnJpY0VsZW1lbnRzQW5hbHl0aWNzQ29udGV4dC5qcz8zNzBkIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBjcmVhdGVOYW1lc3BhY2VDb250ZXh0IGZyb20gJy4vaGVscGVyL2NyZWF0ZU5hbWVzcGFjZUNvbnRleHQnO1xuZXhwb3J0IHZhciBFTEVNRU5UU19DT05URVhUID0gJ2ZhYnJpY0VsZW1lbnRzQ3R4JztcbmV4cG9ydCB2YXIgRmFicmljRWxlbWVudHNBbmFseXRpY3NDb250ZXh0ID0gY3JlYXRlTmFtZXNwYWNlQ29udGV4dChFTEVNRU5UU19DT05URVhULCAnRmFicmljRWxlbWVudHNBbmFseXRpY3NDb250ZXh0Jyk7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1GYWJyaWNFbGVtZW50c0FuYWx5dGljc0NvbnRleHQuanMubWFwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/analytics-namespaced-context/dist/esm/FabricElementsAnalyticsContext.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/analytics-namespaced-context/dist/esm/NavigationAnalyticsContext.js": /*!****************************************************************************************************!*\ !*** ./node_modules/@atlaskit/analytics-namespaced-context/dist/esm/NavigationAnalyticsContext.js ***! \****************************************************************************************************/ /*! exports provided: NAVIGATION_CONTEXT, NavigationAnalyticsContext */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"NAVIGATION_CONTEXT\", function() { return NAVIGATION_CONTEXT; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"NavigationAnalyticsContext\", function() { return NavigationAnalyticsContext; });\n/* harmony import */ var _helper_createNamespaceContext__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./helper/createNamespaceContext */ \"./node_modules/@atlaskit/analytics-namespaced-context/dist/esm/helper/createNamespaceContext.js\");\n\nvar NAVIGATION_CONTEXT = 'navigationCtx';\nvar NavigationAnalyticsContext = Object(_helper_createNamespaceContext__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(NAVIGATION_CONTEXT, 'NavigationAnalyticsContext');\n//# sourceMappingURL=NavigationAnalyticsContext.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L2FuYWx5dGljcy1uYW1lc3BhY2VkLWNvbnRleHQvZGlzdC9lc20vTmF2aWdhdGlvbkFuYWx5dGljc0NvbnRleHQuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L2FuYWx5dGljcy1uYW1lc3BhY2VkLWNvbnRleHQvZGlzdC9lc20vTmF2aWdhdGlvbkFuYWx5dGljc0NvbnRleHQuanM/NzBkOSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgY3JlYXRlTmFtZXNwYWNlQ29udGV4dCBmcm9tICcuL2hlbHBlci9jcmVhdGVOYW1lc3BhY2VDb250ZXh0JztcbmV4cG9ydCB2YXIgTkFWSUdBVElPTl9DT05URVhUID0gJ25hdmlnYXRpb25DdHgnO1xuZXhwb3J0IHZhciBOYXZpZ2F0aW9uQW5hbHl0aWNzQ29udGV4dCA9IGNyZWF0ZU5hbWVzcGFjZUNvbnRleHQoTkFWSUdBVElPTl9DT05URVhULCAnTmF2aWdhdGlvbkFuYWx5dGljc0NvbnRleHQnKTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPU5hdmlnYXRpb25BbmFseXRpY3NDb250ZXh0LmpzLm1hcCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/analytics-namespaced-context/dist/esm/NavigationAnalyticsContext.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/analytics-namespaced-context/dist/esm/helper/createNamespaceContext.js": /*!*******************************************************************************************************!*\ !*** ./node_modules/@atlaskit/analytics-namespaced-context/dist/esm/helper/createNamespaceContext.js ***! \*******************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _atlaskit_analytics_next__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @atlaskit/analytics-next */ \"./node_modules/@atlaskit/analytics-next/dist/esm/index.js\");\n\n\nvar createNamespaceContext = function (namespace, displayName) {\n if (displayName === void 0) { displayName = 'NamespacedContext'; }\n var Component = function (props) {\n var _a;\n var newData = (_a = {},\n _a[namespace] = props.data,\n _a);\n return (react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_atlaskit_analytics_next__WEBPACK_IMPORTED_MODULE_1__[\"AnalyticsContext\"], { data: newData }, react__WEBPACK_IMPORTED_MODULE_0___default.a.Children.only(props.children)));\n };\n Component.displayName = displayName;\n return Component;\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (createNamespaceContext);\n//# sourceMappingURL=createNamespaceContext.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L2FuYWx5dGljcy1uYW1lc3BhY2VkLWNvbnRleHQvZGlzdC9lc20vaGVscGVyL2NyZWF0ZU5hbWVzcGFjZUNvbnRleHQuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L2FuYWx5dGljcy1uYW1lc3BhY2VkLWNvbnRleHQvZGlzdC9lc20vaGVscGVyL2NyZWF0ZU5hbWVzcGFjZUNvbnRleHQuanM/OThmNSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgQW5hbHl0aWNzQ29udGV4dCB9IGZyb20gJ0BhdGxhc2tpdC9hbmFseXRpY3MtbmV4dCc7XG52YXIgY3JlYXRlTmFtZXNwYWNlQ29udGV4dCA9IGZ1bmN0aW9uIChuYW1lc3BhY2UsIGRpc3BsYXlOYW1lKSB7XG4gICAgaWYgKGRpc3BsYXlOYW1lID09PSB2b2lkIDApIHsgZGlzcGxheU5hbWUgPSAnTmFtZXNwYWNlZENvbnRleHQnOyB9XG4gICAgdmFyIENvbXBvbmVudCA9IGZ1bmN0aW9uIChwcm9wcykge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIHZhciBuZXdEYXRhID0gKF9hID0ge30sXG4gICAgICAgICAgICBfYVtuYW1lc3BhY2VdID0gcHJvcHMuZGF0YSxcbiAgICAgICAgICAgIF9hKTtcbiAgICAgICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KEFuYWx5dGljc0NvbnRleHQsIHsgZGF0YTogbmV3RGF0YSB9LCBSZWFjdC5DaGlsZHJlbi5vbmx5KHByb3BzLmNoaWxkcmVuKSkpO1xuICAgIH07XG4gICAgQ29tcG9uZW50LmRpc3BsYXlOYW1lID0gZGlzcGxheU5hbWU7XG4gICAgcmV0dXJuIENvbXBvbmVudDtcbn07XG5leHBvcnQgZGVmYXVsdCBjcmVhdGVOYW1lc3BhY2VDb250ZXh0O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Y3JlYXRlTmFtZXNwYWNlQ29udGV4dC5qcy5tYXAiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/analytics-namespaced-context/dist/esm/helper/createNamespaceContext.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/analytics-namespaced-context/dist/esm/index.js": /*!*******************************************************************************!*\ !*** ./node_modules/@atlaskit/analytics-namespaced-context/dist/esm/index.js ***! \*******************************************************************************/ /*! exports provided: ELEMENTS_CONTEXT, FabricElementsAnalyticsContext, NAVIGATION_CONTEXT, NavigationAnalyticsContext, EDITOR_CONTEXT, EDITOR_APPEARANCE_CONTEXT, FabricEditorAnalyticsContext */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _FabricElementsAnalyticsContext__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./FabricElementsAnalyticsContext */ \"./node_modules/@atlaskit/analytics-namespaced-context/dist/esm/FabricElementsAnalyticsContext.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ELEMENTS_CONTEXT\", function() { return _FabricElementsAnalyticsContext__WEBPACK_IMPORTED_MODULE_0__[\"ELEMENTS_CONTEXT\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"FabricElementsAnalyticsContext\", function() { return _FabricElementsAnalyticsContext__WEBPACK_IMPORTED_MODULE_0__[\"FabricElementsAnalyticsContext\"]; });\n\n/* harmony import */ var _NavigationAnalyticsContext__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./NavigationAnalyticsContext */ \"./node_modules/@atlaskit/analytics-namespaced-context/dist/esm/NavigationAnalyticsContext.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"NAVIGATION_CONTEXT\", function() { return _NavigationAnalyticsContext__WEBPACK_IMPORTED_MODULE_1__[\"NAVIGATION_CONTEXT\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"NavigationAnalyticsContext\", function() { return _NavigationAnalyticsContext__WEBPACK_IMPORTED_MODULE_1__[\"NavigationAnalyticsContext\"]; });\n\n/* harmony import */ var _FabricEditorAnalyticsContext__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FabricEditorAnalyticsContext */ \"./node_modules/@atlaskit/analytics-namespaced-context/dist/esm/FabricEditorAnalyticsContext.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"EDITOR_CONTEXT\", function() { return _FabricEditorAnalyticsContext__WEBPACK_IMPORTED_MODULE_2__[\"EDITOR_CONTEXT\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"EDITOR_APPEARANCE_CONTEXT\", function() { return _FabricEditorAnalyticsContext__WEBPACK_IMPORTED_MODULE_2__[\"EDITOR_APPEARANCE_CONTEXT\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"FabricEditorAnalyticsContext\", function() { return _FabricEditorAnalyticsContext__WEBPACK_IMPORTED_MODULE_2__[\"FabricEditorAnalyticsContext\"]; });\n\n\n\n\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L2FuYWx5dGljcy1uYW1lc3BhY2VkLWNvbnRleHQvZGlzdC9lc20vaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L2FuYWx5dGljcy1uYW1lc3BhY2VkLWNvbnRleHQvZGlzdC9lc20vaW5kZXguanM/MWQwZCJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBFTEVNRU5UU19DT05URVhULCBGYWJyaWNFbGVtZW50c0FuYWx5dGljc0NvbnRleHQsIH0gZnJvbSAnLi9GYWJyaWNFbGVtZW50c0FuYWx5dGljc0NvbnRleHQnO1xuZXhwb3J0IHsgTkFWSUdBVElPTl9DT05URVhULCBOYXZpZ2F0aW9uQW5hbHl0aWNzQ29udGV4dCwgfSBmcm9tICcuL05hdmlnYXRpb25BbmFseXRpY3NDb250ZXh0JztcbmV4cG9ydCB7IEVESVRPUl9DT05URVhULCBFRElUT1JfQVBQRUFSQU5DRV9DT05URVhULCBGYWJyaWNFZGl0b3JBbmFseXRpY3NDb250ZXh0LCB9IGZyb20gJy4vRmFicmljRWRpdG9yQW5hbHl0aWNzQ29udGV4dCc7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/analytics-namespaced-context/dist/esm/index.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsContext.js": /*!****************************************************************************!*\ !*** ./node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsContext.js ***! \****************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/@atlaskit/analytics-next/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _AnalyticsReactContext__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./AnalyticsReactContext */ \"./node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsReactContext.js\");\n\n\n\n\nvar ContextTypes = {\n getAtlaskitAnalyticsContext: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.func,\n getAtlaskitAnalyticsEventHandlers: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.func,\n};\nvar AnalyticsContext = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(AnalyticsContext, _super);\n function AnalyticsContext(props) {\n var _this = _super.call(this, props) || this;\n _this.getChildContext = function () { return ({\n getAtlaskitAnalyticsContext: _this.getAnalyticsContext,\n }); };\n _this.getAnalyticsContext = function () {\n var data = _this.props.data;\n var getAtlaskitAnalyticsContext = _this.context.getAtlaskitAnalyticsContext;\n var ancestorData = (typeof getAtlaskitAnalyticsContext === 'function' &&\n getAtlaskitAnalyticsContext()) ||\n [];\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__spread\"])(ancestorData, [data]);\n };\n _this.getAnalyticsEventHandlers = function () {\n var getAtlaskitAnalyticsEventHandlers = _this.context.getAtlaskitAnalyticsEventHandlers;\n var ancestorHandlers = (typeof getAtlaskitAnalyticsEventHandlers === 'function' &&\n getAtlaskitAnalyticsEventHandlers()) ||\n [];\n return ancestorHandlers;\n };\n _this.state = {\n getAtlaskitAnalyticsContext: _this.getAnalyticsContext,\n getAtlaskitAnalyticsEventHandlers: _this.getAnalyticsEventHandlers,\n };\n return _this;\n }\n AnalyticsContext.prototype.render = function () {\n var children = this.props.children;\n return (react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_AnalyticsReactContext__WEBPACK_IMPORTED_MODULE_3__[\"AnalyticsReactContext\"].Provider, { value: this.state }, react__WEBPACK_IMPORTED_MODULE_1__[\"Children\"].only(children)));\n };\n AnalyticsContext.contextTypes = ContextTypes;\n AnalyticsContext.childContextTypes = ContextTypes;\n return AnalyticsContext;\n}(react__WEBPACK_IMPORTED_MODULE_1__[\"Component\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (AnalyticsContext);\n//# sourceMappingURL=AnalyticsContext.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L2FuYWx5dGljcy1uZXh0L2Rpc3QvZXNtL0FuYWx5dGljc0NvbnRleHQuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L2FuYWx5dGljcy1uZXh0L2Rpc3QvZXNtL0FuYWx5dGljc0NvbnRleHQuanM/ZjVjMyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBfX2V4dGVuZHMsIF9fcmVhZCwgX19zcHJlYWQgfSBmcm9tIFwidHNsaWJcIjtcbmltcG9ydCBSZWFjdCwgeyBDaGlsZHJlbiwgQ29tcG9uZW50IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCB7IEFuYWx5dGljc1JlYWN0Q29udGV4dCB9IGZyb20gJy4vQW5hbHl0aWNzUmVhY3RDb250ZXh0JztcbnZhciBDb250ZXh0VHlwZXMgPSB7XG4gICAgZ2V0QXRsYXNraXRBbmFseXRpY3NDb250ZXh0OiBQcm9wVHlwZXMuZnVuYyxcbiAgICBnZXRBdGxhc2tpdEFuYWx5dGljc0V2ZW50SGFuZGxlcnM6IFByb3BUeXBlcy5mdW5jLFxufTtcbnZhciBBbmFseXRpY3NDb250ZXh0ID0gLyoqIEBjbGFzcyAqLyAoZnVuY3Rpb24gKF9zdXBlcikge1xuICAgIF9fZXh0ZW5kcyhBbmFseXRpY3NDb250ZXh0LCBfc3VwZXIpO1xuICAgIGZ1bmN0aW9uIEFuYWx5dGljc0NvbnRleHQocHJvcHMpIHtcbiAgICAgICAgdmFyIF90aGlzID0gX3N1cGVyLmNhbGwodGhpcywgcHJvcHMpIHx8IHRoaXM7XG4gICAgICAgIF90aGlzLmdldENoaWxkQ29udGV4dCA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuICh7XG4gICAgICAgICAgICBnZXRBdGxhc2tpdEFuYWx5dGljc0NvbnRleHQ6IF90aGlzLmdldEFuYWx5dGljc0NvbnRleHQsXG4gICAgICAgIH0pOyB9O1xuICAgICAgICBfdGhpcy5nZXRBbmFseXRpY3NDb250ZXh0ID0gZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgdmFyIGRhdGEgPSBfdGhpcy5wcm9wcy5kYXRhO1xuICAgICAgICAgICAgdmFyIGdldEF0bGFza2l0QW5hbHl0aWNzQ29udGV4dCA9IF90aGlzLmNvbnRleHQuZ2V0QXRsYXNraXRBbmFseXRpY3NDb250ZXh0O1xuICAgICAgICAgICAgdmFyIGFuY2VzdG9yRGF0YSA9ICh0eXBlb2YgZ2V0QXRsYXNraXRBbmFseXRpY3NDb250ZXh0ID09PSAnZnVuY3Rpb24nICYmXG4gICAgICAgICAgICAgICAgZ2V0QXRsYXNraXRBbmFseXRpY3NDb250ZXh0KCkpIHx8XG4gICAgICAgICAgICAgICAgW107XG4gICAgICAgICAgICByZXR1cm4gX19zcHJlYWQoYW5jZXN0b3JEYXRhLCBbZGF0YV0pO1xuICAgICAgICB9O1xuICAgICAgICBfdGhpcy5nZXRBbmFseXRpY3NFdmVudEhhbmRsZXJzID0gZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgdmFyIGdldEF0bGFza2l0QW5hbHl0aWNzRXZlbnRIYW5kbGVycyA9IF90aGlzLmNvbnRleHQuZ2V0QXRsYXNraXRBbmFseXRpY3NFdmVudEhhbmRsZXJzO1xuICAgICAgICAgICAgdmFyIGFuY2VzdG9ySGFuZGxlcnMgPSAodHlwZW9mIGdldEF0bGFza2l0QW5hbHl0aWNzRXZlbnRIYW5kbGVycyA9PT0gJ2Z1bmN0aW9uJyAmJlxuICAgICAgICAgICAgICAgIGdldEF0bGFza2l0QW5hbHl0aWNzRXZlbnRIYW5kbGVycygpKSB8fFxuICAgICAgICAgICAgICAgIFtdO1xuICAgICAgICAgICAgcmV0dXJuIGFuY2VzdG9ySGFuZGxlcnM7XG4gICAgICAgIH07XG4gICAgICAgIF90aGlzLnN0YXRlID0ge1xuICAgICAgICAgICAgZ2V0QXRsYXNraXRBbmFseXRpY3NDb250ZXh0OiBfdGhpcy5nZXRBbmFseXRpY3NDb250ZXh0LFxuICAgICAgICAgICAgZ2V0QXRsYXNraXRBbmFseXRpY3NFdmVudEhhbmRsZXJzOiBfdGhpcy5nZXRBbmFseXRpY3NFdmVudEhhbmRsZXJzLFxuICAgICAgICB9O1xuICAgICAgICByZXR1cm4gX3RoaXM7XG4gICAgfVxuICAgIEFuYWx5dGljc0NvbnRleHQucHJvdG90eXBlLnJlbmRlciA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIGNoaWxkcmVuID0gdGhpcy5wcm9wcy5jaGlsZHJlbjtcbiAgICAgICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KEFuYWx5dGljc1JlYWN0Q29udGV4dC5Qcm92aWRlciwgeyB2YWx1ZTogdGhpcy5zdGF0ZSB9LCBDaGlsZHJlbi5vbmx5KGNoaWxkcmVuKSkpO1xuICAgIH07XG4gICAgQW5hbHl0aWNzQ29udGV4dC5jb250ZXh0VHlwZXMgPSBDb250ZXh0VHlwZXM7XG4gICAgQW5hbHl0aWNzQ29udGV4dC5jaGlsZENvbnRleHRUeXBlcyA9IENvbnRleHRUeXBlcztcbiAgICByZXR1cm4gQW5hbHl0aWNzQ29udGV4dDtcbn0oQ29tcG9uZW50KSk7XG5leHBvcnQgZGVmYXVsdCBBbmFseXRpY3NDb250ZXh0O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9QW5hbHl0aWNzQ29udGV4dC5qcy5tYXAiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsContext.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsContextConsumer.js": /*!************************************************************************************!*\ !*** ./node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsContextConsumer.js ***! \************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/@atlaskit/analytics-next/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _UIAnalyticsEvent__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./UIAnalyticsEvent */ \"./node_modules/@atlaskit/analytics-next/dist/esm/UIAnalyticsEvent.js\");\n\n\n\n\n/**\n * This component is used to grab the analytics functions off context.\n * It uses legacy context, but provides an API similar to 16.3 context.\n * This makes it easier to use with the forward ref API.\n */\nvar AnalyticsContextConsumer = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(AnalyticsContextConsumer, _super);\n function AnalyticsContextConsumer(props) {\n var _this = _super.call(this, props) || this;\n /**\n * Store references to the original and patched event props so we can\n * determine when to update the patched props\n */\n _this.originalEventProps = {};\n _this.patchedEventProps = {};\n // Update patched event props only if the original props have changed\n _this.updatePatchedEventProps = function (props) {\n var changedPropCallbacks = Object.keys(_this.props.createEventMap).filter(function (p) { return _this.originalEventProps[p] !== props[p]; });\n if (changedPropCallbacks.length > 0) {\n _this.patchedEventProps = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, _this.patchedEventProps), _this.mapCreateEventsToProps(changedPropCallbacks, props));\n changedPropCallbacks.forEach(function (p) {\n _this.originalEventProps[p] = props[p];\n });\n }\n return _this.patchedEventProps;\n };\n _this.mapCreateEventsToProps = function (changedPropNames, props) {\n return changedPropNames.reduce(function (modified, propCallbackName) {\n var _a;\n var eventCreator = _this.props.createEventMap[propCallbackName];\n var providedCallback = props[propCallbackName];\n if (!['object', 'function'].includes(typeof eventCreator)) {\n return modified;\n }\n var modifiedCallback = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var analyticsEvent = typeof eventCreator === 'function'\n ? eventCreator(_this.createAnalyticsEvent, props)\n : _this.createAnalyticsEvent(eventCreator);\n if (providedCallback) {\n providedCallback.apply(void 0, Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__spread\"])(args, [analyticsEvent]));\n }\n };\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, modified), (_a = {}, _a[propCallbackName] = modifiedCallback, _a));\n }, {});\n };\n _this.createAnalyticsEvent = function (payload) {\n var _a = _this.context, getAtlaskitAnalyticsEventHandlers = _a.getAtlaskitAnalyticsEventHandlers, getAtlaskitAnalyticsContext = _a.getAtlaskitAnalyticsContext;\n return new _UIAnalyticsEvent__WEBPACK_IMPORTED_MODULE_3__[\"default\"]({\n context: (typeof getAtlaskitAnalyticsContext === 'function' &&\n getAtlaskitAnalyticsContext()) ||\n [],\n handlers: (typeof getAtlaskitAnalyticsEventHandlers === 'function' &&\n getAtlaskitAnalyticsEventHandlers()) ||\n [],\n payload: payload,\n });\n };\n Object.keys(_this.props.createEventMap).forEach(function (p) {\n _this.originalEventProps[p] = props.wrappedComponentProps[p];\n });\n _this.patchedEventProps = _this.mapCreateEventsToProps(Object.keys(_this.props.createEventMap), props.wrappedComponentProps);\n return _this;\n }\n AnalyticsContextConsumer.prototype.render = function () {\n var patchedEventProps = this.updatePatchedEventProps(this.props.wrappedComponentProps);\n return this.props.children({\n createAnalyticsEvent: this.createAnalyticsEvent,\n patchedEventProps: patchedEventProps,\n });\n };\n AnalyticsContextConsumer.contextTypes = {\n getAtlaskitAnalyticsEventHandlers: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.func,\n getAtlaskitAnalyticsContext: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.func,\n };\n AnalyticsContextConsumer.defaultProps = {\n createEventMap: {},\n };\n return AnalyticsContextConsumer;\n}(react__WEBPACK_IMPORTED_MODULE_1___default.a.Component));\n/* harmony default export */ __webpack_exports__[\"default\"] = (AnalyticsContextConsumer);\n//# sourceMappingURL=AnalyticsContextConsumer.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L2FuYWx5dGljcy1uZXh0L2Rpc3QvZXNtL0FuYWx5dGljc0NvbnRleHRDb25zdW1lci5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AYXRsYXNraXQvYW5hbHl0aWNzLW5leHQvZGlzdC9lc20vQW5hbHl0aWNzQ29udGV4dENvbnN1bWVyLmpzPzZmNDciXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgX19hc3NpZ24sIF9fZXh0ZW5kcywgX19yZWFkLCBfX3NwcmVhZCB9IGZyb20gXCJ0c2xpYlwiO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgVUlBbmFseXRpY3NFdmVudCBmcm9tICcuL1VJQW5hbHl0aWNzRXZlbnQnO1xuLyoqXG4gKiBUaGlzIGNvbXBvbmVudCBpcyB1c2VkIHRvIGdyYWIgdGhlIGFuYWx5dGljcyBmdW5jdGlvbnMgb2ZmIGNvbnRleHQuXG4gKiBJdCB1c2VzIGxlZ2FjeSBjb250ZXh0LCBidXQgcHJvdmlkZXMgYW4gQVBJIHNpbWlsYXIgdG8gMTYuMyBjb250ZXh0LlxuICogVGhpcyBtYWtlcyBpdCBlYXNpZXIgdG8gdXNlIHdpdGggdGhlIGZvcndhcmQgcmVmIEFQSS5cbiAqL1xudmFyIEFuYWx5dGljc0NvbnRleHRDb25zdW1lciA9IC8qKiBAY2xhc3MgKi8gKGZ1bmN0aW9uIChfc3VwZXIpIHtcbiAgICBfX2V4dGVuZHMoQW5hbHl0aWNzQ29udGV4dENvbnN1bWVyLCBfc3VwZXIpO1xuICAgIGZ1bmN0aW9uIEFuYWx5dGljc0NvbnRleHRDb25zdW1lcihwcm9wcykge1xuICAgICAgICB2YXIgX3RoaXMgPSBfc3VwZXIuY2FsbCh0aGlzLCBwcm9wcykgfHwgdGhpcztcbiAgICAgICAgLyoqXG4gICAgICAgICAqIFN0b3JlIHJlZmVyZW5jZXMgdG8gdGhlIG9yaWdpbmFsIGFuZCBwYXRjaGVkIGV2ZW50IHByb3BzIHNvIHdlIGNhblxuICAgICAgICAgKiBkZXRlcm1pbmUgd2hlbiB0byB1cGRhdGUgdGhlIHBhdGNoZWQgcHJvcHNcbiAgICAgICAgICovXG4gICAgICAgIF90aGlzLm9yaWdpbmFsRXZlbnRQcm9wcyA9IHt9O1xuICAgICAgICBfdGhpcy5wYXRjaGVkRXZlbnRQcm9wcyA9IHt9O1xuICAgICAgICAvLyBVcGRhdGUgcGF0Y2hlZCBldmVudCBwcm9wcyBvbmx5IGlmIHRoZSBvcmlnaW5hbCBwcm9wcyBoYXZlIGNoYW5nZWRcbiAgICAgICAgX3RoaXMudXBkYXRlUGF0Y2hlZEV2ZW50UHJvcHMgPSBmdW5jdGlvbiAocHJvcHMpIHtcbiAgICAgICAgICAgIHZhciBjaGFuZ2VkUHJvcENhbGxiYWNrcyA9IE9iamVjdC5rZXlzKF90aGlzLnByb3BzLmNyZWF0ZUV2ZW50TWFwKS5maWx0ZXIoZnVuY3Rpb24gKHApIHsgcmV0dXJuIF90aGlzLm9yaWdpbmFsRXZlbnRQcm9wc1twXSAhPT0gcHJvcHNbcF07IH0pO1xuICAgICAgICAgICAgaWYgKGNoYW5nZWRQcm9wQ2FsbGJhY2tzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICBfdGhpcy5wYXRjaGVkRXZlbnRQcm9wcyA9IF9fYXNzaWduKF9fYXNzaWduKHt9LCBfdGhpcy5wYXRjaGVkRXZlbnRQcm9wcyksIF90aGlzLm1hcENyZWF0ZUV2ZW50c1RvUHJvcHMoY2hhbmdlZFByb3BDYWxsYmFja3MsIHByb3BzKSk7XG4gICAgICAgICAgICAgICAgY2hhbmdlZFByb3BDYWxsYmFja3MuZm9yRWFjaChmdW5jdGlvbiAocCkge1xuICAgICAgICAgICAgICAgICAgICBfdGhpcy5vcmlnaW5hbEV2ZW50UHJvcHNbcF0gPSBwcm9wc1twXTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBfdGhpcy5wYXRjaGVkRXZlbnRQcm9wcztcbiAgICAgICAgfTtcbiAgICAgICAgX3RoaXMubWFwQ3JlYXRlRXZlbnRzVG9Qcm9wcyA9IGZ1bmN0aW9uIChjaGFuZ2VkUHJvcE5hbWVzLCBwcm9wcykge1xuICAgICAgICAgICAgcmV0dXJuIGNoYW5nZWRQcm9wTmFtZXMucmVkdWNlKGZ1bmN0aW9uIChtb2RpZmllZCwgcHJvcENhbGxiYWNrTmFtZSkge1xuICAgICAgICAgICAgICAgIHZhciBfYTtcbiAgICAgICAgICAgICAgICB2YXIgZXZlbnRDcmVhdG9yID0gX3RoaXMucHJvcHMuY3JlYXRlRXZlbnRNYXBbcHJvcENhbGxiYWNrTmFtZV07XG4gICAgICAgICAgICAgICAgdmFyIHByb3ZpZGVkQ2FsbGJhY2sgPSBwcm9wc1twcm9wQ2FsbGJhY2tOYW1lXTtcbiAgICAgICAgICAgICAgICBpZiAoIVsnb2JqZWN0JywgJ2Z1bmN0aW9uJ10uaW5jbHVkZXModHlwZW9mIGV2ZW50Q3JlYXRvcikpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG1vZGlmaWVkO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB2YXIgbW9kaWZpZWRDYWxsYmFjayA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIGFyZ3MgPSBbXTtcbiAgICAgICAgICAgICAgICAgICAgZm9yICh2YXIgX2kgPSAwOyBfaSA8IGFyZ3VtZW50cy5sZW5ndGg7IF9pKyspIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFyZ3NbX2ldID0gYXJndW1lbnRzW19pXTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB2YXIgYW5hbHl0aWNzRXZlbnQgPSB0eXBlb2YgZXZlbnRDcmVhdG9yID09PSAnZnVuY3Rpb24nXG4gICAgICAgICAgICAgICAgICAgICAgICA/IGV2ZW50Q3JlYXRvcihfdGhpcy5jcmVhdGVBbmFseXRpY3NFdmVudCwgcHJvcHMpXG4gICAgICAgICAgICAgICAgICAgICAgICA6IF90aGlzLmNyZWF0ZUFuYWx5dGljc0V2ZW50KGV2ZW50Q3JlYXRvcik7XG4gICAgICAgICAgICAgICAgICAgIGlmIChwcm92aWRlZENhbGxiYWNrKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwcm92aWRlZENhbGxiYWNrLmFwcGx5KHZvaWQgMCwgX19zcHJlYWQoYXJncywgW2FuYWx5dGljc0V2ZW50XSkpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICByZXR1cm4gX19hc3NpZ24oX19hc3NpZ24oe30sIG1vZGlmaWVkKSwgKF9hID0ge30sIF9hW3Byb3BDYWxsYmFja05hbWVdID0gbW9kaWZpZWRDYWxsYmFjaywgX2EpKTtcbiAgICAgICAgICAgIH0sIHt9KTtcbiAgICAgICAgfTtcbiAgICAgICAgX3RoaXMuY3JlYXRlQW5hbHl0aWNzRXZlbnQgPSBmdW5jdGlvbiAocGF5bG9hZCkge1xuICAgICAgICAgICAgdmFyIF9hID0gX3RoaXMuY29udGV4dCwgZ2V0QXRsYXNraXRBbmFseXRpY3NFdmVudEhhbmRsZXJzID0gX2EuZ2V0QXRsYXNraXRBbmFseXRpY3NFdmVudEhhbmRsZXJzLCBnZXRBdGxhc2tpdEFuYWx5dGljc0NvbnRleHQgPSBfYS5nZXRBdGxhc2tpdEFuYWx5dGljc0NvbnRleHQ7XG4gICAgICAgICAgICByZXR1cm4gbmV3IFVJQW5hbHl0aWNzRXZlbnQoe1xuICAgICAgICAgICAgICAgIGNvbnRleHQ6ICh0eXBlb2YgZ2V0QXRsYXNraXRBbmFseXRpY3NDb250ZXh0ID09PSAnZnVuY3Rpb24nICYmXG4gICAgICAgICAgICAgICAgICAgIGdldEF0bGFza2l0QW5hbHl0aWNzQ29udGV4dCgpKSB8fFxuICAgICAgICAgICAgICAgICAgICBbXSxcbiAgICAgICAgICAgICAgICBoYW5kbGVyczogKHR5cGVvZiBnZXRBdGxhc2tpdEFuYWx5dGljc0V2ZW50SGFuZGxlcnMgPT09ICdmdW5jdGlvbicgJiZcbiAgICAgICAgICAgICAgICAgICAgZ2V0QXRsYXNraXRBbmFseXRpY3NFdmVudEhhbmRsZXJzKCkpIHx8XG4gICAgICAgICAgICAgICAgICAgIFtdLFxuICAgICAgICAgICAgICAgIHBheWxvYWQ6IHBheWxvYWQsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfTtcbiAgICAgICAgT2JqZWN0LmtleXMoX3RoaXMucHJvcHMuY3JlYXRlRXZlbnRNYXApLmZvckVhY2goZnVuY3Rpb24gKHApIHtcbiAgICAgICAgICAgIF90aGlzLm9yaWdpbmFsRXZlbnRQcm9wc1twXSA9IHByb3BzLndyYXBwZWRDb21wb25lbnRQcm9wc1twXTtcbiAgICAgICAgfSk7XG4gICAgICAgIF90aGlzLnBhdGNoZWRFdmVudFByb3BzID0gX3RoaXMubWFwQ3JlYXRlRXZlbnRzVG9Qcm9wcyhPYmplY3Qua2V5cyhfdGhpcy5wcm9wcy5jcmVhdGVFdmVudE1hcCksIHByb3BzLndyYXBwZWRDb21wb25lbnRQcm9wcyk7XG4gICAgICAgIHJldHVybiBfdGhpcztcbiAgICB9XG4gICAgQW5hbHl0aWNzQ29udGV4dENvbnN1bWVyLnByb3RvdHlwZS5yZW5kZXIgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBwYXRjaGVkRXZlbnRQcm9wcyA9IHRoaXMudXBkYXRlUGF0Y2hlZEV2ZW50UHJvcHModGhpcy5wcm9wcy53cmFwcGVkQ29tcG9uZW50UHJvcHMpO1xuICAgICAgICByZXR1cm4gdGhpcy5wcm9wcy5jaGlsZHJlbih7XG4gICAgICAgICAgICBjcmVhdGVBbmFseXRpY3NFdmVudDogdGhpcy5jcmVhdGVBbmFseXRpY3NFdmVudCxcbiAgICAgICAgICAgIHBhdGNoZWRFdmVudFByb3BzOiBwYXRjaGVkRXZlbnRQcm9wcyxcbiAgICAgICAgfSk7XG4gICAgfTtcbiAgICBBbmFseXRpY3NDb250ZXh0Q29uc3VtZXIuY29udGV4dFR5cGVzID0ge1xuICAgICAgICBnZXRBdGxhc2tpdEFuYWx5dGljc0V2ZW50SGFuZGxlcnM6IFByb3BUeXBlcy5mdW5jLFxuICAgICAgICBnZXRBdGxhc2tpdEFuYWx5dGljc0NvbnRleHQ6IFByb3BUeXBlcy5mdW5jLFxuICAgIH07XG4gICAgQW5hbHl0aWNzQ29udGV4dENvbnN1bWVyLmRlZmF1bHRQcm9wcyA9IHtcbiAgICAgICAgY3JlYXRlRXZlbnRNYXA6IHt9LFxuICAgIH07XG4gICAgcmV0dXJuIEFuYWx5dGljc0NvbnRleHRDb25zdW1lcjtcbn0oUmVhY3QuQ29tcG9uZW50KSk7XG5leHBvcnQgZGVmYXVsdCBBbmFseXRpY3NDb250ZXh0Q29uc3VtZXI7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1BbmFseXRpY3NDb250ZXh0Q29uc3VtZXIuanMubWFwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsContextConsumer.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsErrorBoundary.js": /*!**********************************************************************************!*\ !*** ./node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsErrorBoundary.js ***! \**********************************************************************************/ /*! exports provided: BaseAnalyticsErrorBoundary, default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"BaseAnalyticsErrorBoundary\", function() { return BaseAnalyticsErrorBoundary; });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/@atlaskit/analytics-next/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _withAnalyticsEvents__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./withAnalyticsEvents */ \"./node_modules/@atlaskit/analytics-next/dist/esm/withAnalyticsEvents.js\");\n/* harmony import */ var _AnalyticsContext__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./AnalyticsContext */ \"./node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsContext.js\");\n\n\n\n\nvar BaseAnalyticsErrorBoundary = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(BaseAnalyticsErrorBoundary, _super);\n function BaseAnalyticsErrorBoundary() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.fireAnalytics = function (analyticsErrorPayload) {\n var _a = _this.props, createAnalyticsEvent = _a.createAnalyticsEvent, channel = _a.channel, data = _a.data;\n createAnalyticsEvent({\n action: 'UnhandledError',\n eventType: 'ui',\n attributes: Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({ browserInfo: window && window.navigator && window.navigator.userAgent\n ? window.navigator.userAgent\n : 'unknown' }, data), analyticsErrorPayload),\n }).fire(channel);\n };\n return _this;\n }\n BaseAnalyticsErrorBoundary.prototype.componentDidCatch = function (error, info) {\n var payload = {\n error: error,\n info: info,\n };\n this.fireAnalytics(payload);\n };\n BaseAnalyticsErrorBoundary.prototype.render = function () {\n var _a = this.props, data = _a.data, children = _a.children;\n return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_AnalyticsContext__WEBPACK_IMPORTED_MODULE_3__[\"default\"], { data: data }, children);\n };\n return BaseAnalyticsErrorBoundary;\n}(react__WEBPACK_IMPORTED_MODULE_1__[\"Component\"]));\n\nvar AnalyticsErrorBoundary = Object(_withAnalyticsEvents__WEBPACK_IMPORTED_MODULE_2__[\"default\"])()(BaseAnalyticsErrorBoundary);\n/* harmony default export */ __webpack_exports__[\"default\"] = (AnalyticsErrorBoundary);\n//# sourceMappingURL=AnalyticsErrorBoundary.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L2FuYWx5dGljcy1uZXh0L2Rpc3QvZXNtL0FuYWx5dGljc0Vycm9yQm91bmRhcnkuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L2FuYWx5dGljcy1uZXh0L2Rpc3QvZXNtL0FuYWx5dGljc0Vycm9yQm91bmRhcnkuanM/ZDU4OSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBfX2Fzc2lnbiwgX19leHRlbmRzIH0gZnJvbSBcInRzbGliXCI7XG5pbXBvcnQgUmVhY3QsIHsgQ29tcG9uZW50IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHdpdGhBbmFseXRpY3NFdmVudHMgZnJvbSAnLi93aXRoQW5hbHl0aWNzRXZlbnRzJztcbmltcG9ydCBBbmFseXRpY3NDb250ZXh0IGZyb20gJy4vQW5hbHl0aWNzQ29udGV4dCc7XG52YXIgQmFzZUFuYWx5dGljc0Vycm9yQm91bmRhcnkgPSAvKiogQGNsYXNzICovIChmdW5jdGlvbiAoX3N1cGVyKSB7XG4gICAgX19leHRlbmRzKEJhc2VBbmFseXRpY3NFcnJvckJvdW5kYXJ5LCBfc3VwZXIpO1xuICAgIGZ1bmN0aW9uIEJhc2VBbmFseXRpY3NFcnJvckJvdW5kYXJ5KCkge1xuICAgICAgICB2YXIgX3RoaXMgPSBfc3VwZXIgIT09IG51bGwgJiYgX3N1cGVyLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykgfHwgdGhpcztcbiAgICAgICAgX3RoaXMuZmlyZUFuYWx5dGljcyA9IGZ1bmN0aW9uIChhbmFseXRpY3NFcnJvclBheWxvYWQpIHtcbiAgICAgICAgICAgIHZhciBfYSA9IF90aGlzLnByb3BzLCBjcmVhdGVBbmFseXRpY3NFdmVudCA9IF9hLmNyZWF0ZUFuYWx5dGljc0V2ZW50LCBjaGFubmVsID0gX2EuY2hhbm5lbCwgZGF0YSA9IF9hLmRhdGE7XG4gICAgICAgICAgICBjcmVhdGVBbmFseXRpY3NFdmVudCh7XG4gICAgICAgICAgICAgICAgYWN0aW9uOiAnVW5oYW5kbGVkRXJyb3InLFxuICAgICAgICAgICAgICAgIGV2ZW50VHlwZTogJ3VpJyxcbiAgICAgICAgICAgICAgICBhdHRyaWJ1dGVzOiBfX2Fzc2lnbihfX2Fzc2lnbih7IGJyb3dzZXJJbmZvOiB3aW5kb3cgJiYgd2luZG93Lm5hdmlnYXRvciAmJiB3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudFxuICAgICAgICAgICAgICAgICAgICAgICAgPyB3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudFxuICAgICAgICAgICAgICAgICAgICAgICAgOiAndW5rbm93bicgfSwgZGF0YSksIGFuYWx5dGljc0Vycm9yUGF5bG9hZCksXG4gICAgICAgICAgICB9KS5maXJlKGNoYW5uZWwpO1xuICAgICAgICB9O1xuICAgICAgICByZXR1cm4gX3RoaXM7XG4gICAgfVxuICAgIEJhc2VBbmFseXRpY3NFcnJvckJvdW5kYXJ5LnByb3RvdHlwZS5jb21wb25lbnREaWRDYXRjaCA9IGZ1bmN0aW9uIChlcnJvciwgaW5mbykge1xuICAgICAgICB2YXIgcGF5bG9hZCA9IHtcbiAgICAgICAgICAgIGVycm9yOiBlcnJvcixcbiAgICAgICAgICAgIGluZm86IGluZm8sXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuZmlyZUFuYWx5dGljcyhwYXlsb2FkKTtcbiAgICB9O1xuICAgIEJhc2VBbmFseXRpY3NFcnJvckJvdW5kYXJ5LnByb3RvdHlwZS5yZW5kZXIgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBfYSA9IHRoaXMucHJvcHMsIGRhdGEgPSBfYS5kYXRhLCBjaGlsZHJlbiA9IF9hLmNoaWxkcmVuO1xuICAgICAgICByZXR1cm4gUmVhY3QuY3JlYXRlRWxlbWVudChBbmFseXRpY3NDb250ZXh0LCB7IGRhdGE6IGRhdGEgfSwgY2hpbGRyZW4pO1xuICAgIH07XG4gICAgcmV0dXJuIEJhc2VBbmFseXRpY3NFcnJvckJvdW5kYXJ5O1xufShDb21wb25lbnQpKTtcbmV4cG9ydCB7IEJhc2VBbmFseXRpY3NFcnJvckJvdW5kYXJ5IH07XG52YXIgQW5hbHl0aWNzRXJyb3JCb3VuZGFyeSA9IHdpdGhBbmFseXRpY3NFdmVudHMoKShCYXNlQW5hbHl0aWNzRXJyb3JCb3VuZGFyeSk7XG5leHBvcnQgZGVmYXVsdCBBbmFseXRpY3NFcnJvckJvdW5kYXJ5O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9QW5hbHl0aWNzRXJyb3JCb3VuZGFyeS5qcy5tYXAiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsErrorBoundary.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsEvent.js": /*!**************************************************************************!*\ !*** ./node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsEvent.js ***! \**************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/@atlaskit/analytics-next/node_modules/tslib/tslib.es6.js\");\n\nvar AnalyticsEvent = /** @class */ (function () {\n function AnalyticsEvent(props) {\n var _this = this;\n this.clone = function () {\n // We stringify and parse here to get a hacky \"deep clone\" of the object.\n // This has some limitations in that it wont support functions, regexs, Maps, Sets, etc,\n // but none of those need to be represented in our payload, so we consider this fine\n var payload = JSON.parse(JSON.stringify(_this.payload));\n return new AnalyticsEvent({ payload: payload });\n };\n this.payload = props.payload;\n }\n AnalyticsEvent.prototype.update = function (updater) {\n if (typeof updater === 'function') {\n this.payload = updater(this.payload);\n }\n if (typeof updater === 'object') {\n this.payload = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, this.payload), updater);\n }\n return this;\n };\n return AnalyticsEvent;\n}());\n/* harmony default export */ __webpack_exports__[\"default\"] = (AnalyticsEvent);\n//# sourceMappingURL=AnalyticsEvent.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L2FuYWx5dGljcy1uZXh0L2Rpc3QvZXNtL0FuYWx5dGljc0V2ZW50LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BhdGxhc2tpdC9hbmFseXRpY3MtbmV4dC9kaXN0L2VzbS9BbmFseXRpY3NFdmVudC5qcz8wZWExIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IF9fYXNzaWduIH0gZnJvbSBcInRzbGliXCI7XG52YXIgQW5hbHl0aWNzRXZlbnQgPSAvKiogQGNsYXNzICovIChmdW5jdGlvbiAoKSB7XG4gICAgZnVuY3Rpb24gQW5hbHl0aWNzRXZlbnQocHJvcHMpIHtcbiAgICAgICAgdmFyIF90aGlzID0gdGhpcztcbiAgICAgICAgdGhpcy5jbG9uZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIC8vIFdlIHN0cmluZ2lmeSBhbmQgcGFyc2UgaGVyZSB0byBnZXQgYSBoYWNreSBcImRlZXAgY2xvbmVcIiBvZiB0aGUgb2JqZWN0LlxuICAgICAgICAgICAgLy8gVGhpcyBoYXMgc29tZSBsaW1pdGF0aW9ucyBpbiB0aGF0IGl0IHdvbnQgc3VwcG9ydCBmdW5jdGlvbnMsIHJlZ2V4cywgTWFwcywgU2V0cywgZXRjLFxuICAgICAgICAgICAgLy8gYnV0IG5vbmUgb2YgdGhvc2UgbmVlZCB0byBiZSByZXByZXNlbnRlZCBpbiBvdXIgcGF5bG9hZCwgc28gd2UgY29uc2lkZXIgdGhpcyBmaW5lXG4gICAgICAgICAgICB2YXIgcGF5bG9hZCA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoX3RoaXMucGF5bG9hZCkpO1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBBbmFseXRpY3NFdmVudCh7IHBheWxvYWQ6IHBheWxvYWQgfSk7XG4gICAgICAgIH07XG4gICAgICAgIHRoaXMucGF5bG9hZCA9IHByb3BzLnBheWxvYWQ7XG4gICAgfVxuICAgIEFuYWx5dGljc0V2ZW50LnByb3RvdHlwZS51cGRhdGUgPSBmdW5jdGlvbiAodXBkYXRlcikge1xuICAgICAgICBpZiAodHlwZW9mIHVwZGF0ZXIgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIHRoaXMucGF5bG9hZCA9IHVwZGF0ZXIodGhpcy5wYXlsb2FkKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodHlwZW9mIHVwZGF0ZXIgPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICB0aGlzLnBheWxvYWQgPSBfX2Fzc2lnbihfX2Fzc2lnbih7fSwgdGhpcy5wYXlsb2FkKSwgdXBkYXRlcik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfTtcbiAgICByZXR1cm4gQW5hbHl0aWNzRXZlbnQ7XG59KCkpO1xuZXhwb3J0IGRlZmF1bHQgQW5hbHl0aWNzRXZlbnQ7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1BbmFseXRpY3NFdmVudC5qcy5tYXAiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsEvent.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsListener.js": /*!*****************************************************************************!*\ !*** ./node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsListener.js ***! \*****************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/@atlaskit/analytics-next/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _AnalyticsReactContext__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./AnalyticsReactContext */ \"./node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsReactContext.js\");\n\n\n\n\nvar ContextTypes = {\n getAtlaskitAnalyticsEventHandlers: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.func,\n};\nvar noop = function () { return []; };\nvar AnalyticsListener = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(AnalyticsListener, _super);\n function AnalyticsListener() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.getChildContext = function () { return ({\n getAtlaskitAnalyticsEventHandlers: _this.getAnalyticsEventHandlers,\n }); };\n _this.getAnalyticsEventHandlers = function () {\n var _a = _this.props, channel = _a.channel, onEvent = _a.onEvent;\n var getAtlaskitAnalyticsEventHandlers = _this.context.getAtlaskitAnalyticsEventHandlers;\n var parentEventHandlers = (typeof getAtlaskitAnalyticsEventHandlers === 'function' &&\n getAtlaskitAnalyticsEventHandlers()) ||\n [];\n var handler = function (event, eventChannel) {\n if (channel === '*' || channel === eventChannel) {\n onEvent(event, eventChannel);\n }\n };\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__spread\"])([handler], parentEventHandlers);\n };\n return _this;\n }\n AnalyticsListener.prototype.render = function () {\n var _a = this.context.getAtlaskitAnalyticsContext, getAtlaskitAnalyticsContext = _a === void 0 ? noop : _a;\n var children = this.props.children;\n return (react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_AnalyticsReactContext__WEBPACK_IMPORTED_MODULE_3__[\"AnalyticsReactContext\"].Provider, { value: {\n getAtlaskitAnalyticsEventHandlers: this.getAnalyticsEventHandlers,\n getAtlaskitAnalyticsContext: getAtlaskitAnalyticsContext,\n } }, children));\n };\n AnalyticsListener.contextTypes = ContextTypes;\n AnalyticsListener.childContextTypes = ContextTypes;\n return AnalyticsListener;\n}(react__WEBPACK_IMPORTED_MODULE_1__[\"Component\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (AnalyticsListener);\n//# sourceMappingURL=AnalyticsListener.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L2FuYWx5dGljcy1uZXh0L2Rpc3QvZXNtL0FuYWx5dGljc0xpc3RlbmVyLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BhdGxhc2tpdC9hbmFseXRpY3MtbmV4dC9kaXN0L2VzbS9BbmFseXRpY3NMaXN0ZW5lci5qcz80Y2I1Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IF9fZXh0ZW5kcywgX19yZWFkLCBfX3NwcmVhZCB9IGZyb20gXCJ0c2xpYlwiO1xuaW1wb3J0IFJlYWN0LCB7IENvbXBvbmVudCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgeyBBbmFseXRpY3NSZWFjdENvbnRleHQgfSBmcm9tICcuL0FuYWx5dGljc1JlYWN0Q29udGV4dCc7XG52YXIgQ29udGV4dFR5cGVzID0ge1xuICAgIGdldEF0bGFza2l0QW5hbHl0aWNzRXZlbnRIYW5kbGVyczogUHJvcFR5cGVzLmZ1bmMsXG59O1xudmFyIG5vb3AgPSBmdW5jdGlvbiAoKSB7IHJldHVybiBbXTsgfTtcbnZhciBBbmFseXRpY3NMaXN0ZW5lciA9IC8qKiBAY2xhc3MgKi8gKGZ1bmN0aW9uIChfc3VwZXIpIHtcbiAgICBfX2V4dGVuZHMoQW5hbHl0aWNzTGlzdGVuZXIsIF9zdXBlcik7XG4gICAgZnVuY3Rpb24gQW5hbHl0aWNzTGlzdGVuZXIoKSB7XG4gICAgICAgIHZhciBfdGhpcyA9IF9zdXBlciAhPT0gbnVsbCAmJiBfc3VwZXIuYXBwbHkodGhpcywgYXJndW1lbnRzKSB8fCB0aGlzO1xuICAgICAgICBfdGhpcy5nZXRDaGlsZENvbnRleHQgPSBmdW5jdGlvbiAoKSB7IHJldHVybiAoe1xuICAgICAgICAgICAgZ2V0QXRsYXNraXRBbmFseXRpY3NFdmVudEhhbmRsZXJzOiBfdGhpcy5nZXRBbmFseXRpY3NFdmVudEhhbmRsZXJzLFxuICAgICAgICB9KTsgfTtcbiAgICAgICAgX3RoaXMuZ2V0QW5hbHl0aWNzRXZlbnRIYW5kbGVycyA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHZhciBfYSA9IF90aGlzLnByb3BzLCBjaGFubmVsID0gX2EuY2hhbm5lbCwgb25FdmVudCA9IF9hLm9uRXZlbnQ7XG4gICAgICAgICAgICB2YXIgZ2V0QXRsYXNraXRBbmFseXRpY3NFdmVudEhhbmRsZXJzID0gX3RoaXMuY29udGV4dC5nZXRBdGxhc2tpdEFuYWx5dGljc0V2ZW50SGFuZGxlcnM7XG4gICAgICAgICAgICB2YXIgcGFyZW50RXZlbnRIYW5kbGVycyA9ICh0eXBlb2YgZ2V0QXRsYXNraXRBbmFseXRpY3NFdmVudEhhbmRsZXJzID09PSAnZnVuY3Rpb24nICYmXG4gICAgICAgICAgICAgICAgZ2V0QXRsYXNraXRBbmFseXRpY3NFdmVudEhhbmRsZXJzKCkpIHx8XG4gICAgICAgICAgICAgICAgW107XG4gICAgICAgICAgICB2YXIgaGFuZGxlciA9IGZ1bmN0aW9uIChldmVudCwgZXZlbnRDaGFubmVsKSB7XG4gICAgICAgICAgICAgICAgaWYgKGNoYW5uZWwgPT09ICcqJyB8fCBjaGFubmVsID09PSBldmVudENoYW5uZWwpIHtcbiAgICAgICAgICAgICAgICAgICAgb25FdmVudChldmVudCwgZXZlbnRDaGFubmVsKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgcmV0dXJuIF9fc3ByZWFkKFtoYW5kbGVyXSwgcGFyZW50RXZlbnRIYW5kbGVycyk7XG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiBfdGhpcztcbiAgICB9XG4gICAgQW5hbHl0aWNzTGlzdGVuZXIucHJvdG90eXBlLnJlbmRlciA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIF9hID0gdGhpcy5jb250ZXh0LmdldEF0bGFza2l0QW5hbHl0aWNzQ29udGV4dCwgZ2V0QXRsYXNraXRBbmFseXRpY3NDb250ZXh0ID0gX2EgPT09IHZvaWQgMCA/IG5vb3AgOiBfYTtcbiAgICAgICAgdmFyIGNoaWxkcmVuID0gdGhpcy5wcm9wcy5jaGlsZHJlbjtcbiAgICAgICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KEFuYWx5dGljc1JlYWN0Q29udGV4dC5Qcm92aWRlciwgeyB2YWx1ZToge1xuICAgICAgICAgICAgICAgIGdldEF0bGFza2l0QW5hbHl0aWNzRXZlbnRIYW5kbGVyczogdGhpcy5nZXRBbmFseXRpY3NFdmVudEhhbmRsZXJzLFxuICAgICAgICAgICAgICAgIGdldEF0bGFza2l0QW5hbHl0aWNzQ29udGV4dDogZ2V0QXRsYXNraXRBbmFseXRpY3NDb250ZXh0LFxuICAgICAgICAgICAgfSB9LCBjaGlsZHJlbikpO1xuICAgIH07XG4gICAgQW5hbHl0aWNzTGlzdGVuZXIuY29udGV4dFR5cGVzID0gQ29udGV4dFR5cGVzO1xuICAgIEFuYWx5dGljc0xpc3RlbmVyLmNoaWxkQ29udGV4dFR5cGVzID0gQ29udGV4dFR5cGVzO1xuICAgIHJldHVybiBBbmFseXRpY3NMaXN0ZW5lcjtcbn0oQ29tcG9uZW50KSk7XG5leHBvcnQgZGVmYXVsdCBBbmFseXRpY3NMaXN0ZW5lcjtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPUFuYWx5dGljc0xpc3RlbmVyLmpzLm1hcCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsListener.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsReactContext.js": /*!*********************************************************************************!*\ !*** ./node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsReactContext.js ***! \*********************************************************************************/ /*! exports provided: AnalyticsReactContext */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"AnalyticsReactContext\", function() { return AnalyticsReactContext; });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n\nvar AnalyticsReactContext = react__WEBPACK_IMPORTED_MODULE_0___default.a.createContext({\n getAtlaskitAnalyticsContext: null,\n getAtlaskitAnalyticsEventHandlers: null,\n});\n//# sourceMappingURL=AnalyticsReactContext.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L2FuYWx5dGljcy1uZXh0L2Rpc3QvZXNtL0FuYWx5dGljc1JlYWN0Q29udGV4dC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AYXRsYXNraXQvYW5hbHl0aWNzLW5leHQvZGlzdC9lc20vQW5hbHl0aWNzUmVhY3RDb250ZXh0LmpzPzQ3NWQiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmV4cG9ydCB2YXIgQW5hbHl0aWNzUmVhY3RDb250ZXh0ID0gUmVhY3QuY3JlYXRlQ29udGV4dCh7XG4gICAgZ2V0QXRsYXNraXRBbmFseXRpY3NDb250ZXh0OiBudWxsLFxuICAgIGdldEF0bGFza2l0QW5hbHl0aWNzRXZlbnRIYW5kbGVyczogbnVsbCxcbn0pO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9QW5hbHl0aWNzUmVhY3RDb250ZXh0LmpzLm1hcCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsReactContext.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/analytics-next/dist/esm/UIAnalyticsEvent.js": /*!****************************************************************************!*\ !*** ./node_modules/@atlaskit/analytics-next/dist/esm/UIAnalyticsEvent.js ***! \****************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/@atlaskit/analytics-next/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _AnalyticsEvent__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./AnalyticsEvent */ \"./node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsEvent.js\");\n\n\nvar UIAnalyticsEvent = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(UIAnalyticsEvent, _super);\n function UIAnalyticsEvent(props) {\n var _this = _super.call(this, props) || this;\n _this.clone = function () {\n if (_this.hasFired) {\n // eslint-disable-next-line no-console\n console.warn(\"Cannot clone an event after it's been fired.\");\n return null;\n }\n var context = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__spread\"])(_this.context);\n var handlers = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__spread\"])(_this.handlers);\n /**\n * A hacky \"deep clone\" of the object. This is limited in that it wont\n * support functions, regexs, Maps, Sets, etc, but none of those need to\n * be represented in our payload.\n */\n var payload = JSON.parse(JSON.stringify(_this.payload));\n return new UIAnalyticsEvent({ context: context, handlers: handlers, payload: payload });\n };\n _this.fire = function (channel) {\n if (_this.hasFired) {\n // eslint-disable-next-line no-console\n console.warn('Cannot fire an event twice.');\n return;\n }\n _this.handlers.forEach(function (handler) { return handler(_this, channel); });\n _this.hasFired = true;\n };\n _this.context = props.context || [];\n _this.handlers = props.handlers || [];\n _this.hasFired = false;\n return _this;\n }\n UIAnalyticsEvent.prototype.update = function (updater) {\n if (this.hasFired) {\n // eslint-disable-next-line no-console\n console.warn(\"Cannot update an event after it's been fired.\");\n return this;\n }\n return _super.prototype.update.call(this, updater);\n };\n return UIAnalyticsEvent;\n}(_AnalyticsEvent__WEBPACK_IMPORTED_MODULE_1__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (UIAnalyticsEvent);\n//# sourceMappingURL=UIAnalyticsEvent.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L2FuYWx5dGljcy1uZXh0L2Rpc3QvZXNtL1VJQW5hbHl0aWNzRXZlbnQuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L2FuYWx5dGljcy1uZXh0L2Rpc3QvZXNtL1VJQW5hbHl0aWNzRXZlbnQuanM/NmRkMiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBfX2V4dGVuZHMsIF9fcmVhZCwgX19zcHJlYWQgfSBmcm9tIFwidHNsaWJcIjtcbmltcG9ydCBBbmFseXRpY3NFdmVudCBmcm9tICcuL0FuYWx5dGljc0V2ZW50JztcbnZhciBVSUFuYWx5dGljc0V2ZW50ID0gLyoqIEBjbGFzcyAqLyAoZnVuY3Rpb24gKF9zdXBlcikge1xuICAgIF9fZXh0ZW5kcyhVSUFuYWx5dGljc0V2ZW50LCBfc3VwZXIpO1xuICAgIGZ1bmN0aW9uIFVJQW5hbHl0aWNzRXZlbnQocHJvcHMpIHtcbiAgICAgICAgdmFyIF90aGlzID0gX3N1cGVyLmNhbGwodGhpcywgcHJvcHMpIHx8IHRoaXM7XG4gICAgICAgIF90aGlzLmNsb25lID0gZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgaWYgKF90aGlzLmhhc0ZpcmVkKSB7XG4gICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oXCJDYW5ub3QgY2xvbmUgYW4gZXZlbnQgYWZ0ZXIgaXQncyBiZWVuIGZpcmVkLlwiKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHZhciBjb250ZXh0ID0gX19zcHJlYWQoX3RoaXMuY29udGV4dCk7XG4gICAgICAgICAgICB2YXIgaGFuZGxlcnMgPSBfX3NwcmVhZChfdGhpcy5oYW5kbGVycyk7XG4gICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAqIEEgaGFja3kgXCJkZWVwIGNsb25lXCIgb2YgdGhlIG9iamVjdC4gVGhpcyBpcyBsaW1pdGVkIGluIHRoYXQgaXQgd29udFxuICAgICAgICAgICAgICogc3VwcG9ydCBmdW5jdGlvbnMsIHJlZ2V4cywgTWFwcywgU2V0cywgZXRjLCBidXQgbm9uZSBvZiB0aG9zZSBuZWVkIHRvXG4gICAgICAgICAgICAgKiBiZSByZXByZXNlbnRlZCBpbiBvdXIgcGF5bG9hZC5cbiAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgdmFyIHBheWxvYWQgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KF90aGlzLnBheWxvYWQpKTtcbiAgICAgICAgICAgIHJldHVybiBuZXcgVUlBbmFseXRpY3NFdmVudCh7IGNvbnRleHQ6IGNvbnRleHQsIGhhbmRsZXJzOiBoYW5kbGVycywgcGF5bG9hZDogcGF5bG9hZCB9KTtcbiAgICAgICAgfTtcbiAgICAgICAgX3RoaXMuZmlyZSA9IGZ1bmN0aW9uIChjaGFubmVsKSB7XG4gICAgICAgICAgICBpZiAoX3RoaXMuaGFzRmlyZWQpIHtcbiAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybignQ2Fubm90IGZpcmUgYW4gZXZlbnQgdHdpY2UuJyk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgX3RoaXMuaGFuZGxlcnMuZm9yRWFjaChmdW5jdGlvbiAoaGFuZGxlcikgeyByZXR1cm4gaGFuZGxlcihfdGhpcywgY2hhbm5lbCk7IH0pO1xuICAgICAgICAgICAgX3RoaXMuaGFzRmlyZWQgPSB0cnVlO1xuICAgICAgICB9O1xuICAgICAgICBfdGhpcy5jb250ZXh0ID0gcHJvcHMuY29udGV4dCB8fCBbXTtcbiAgICAgICAgX3RoaXMuaGFuZGxlcnMgPSBwcm9wcy5oYW5kbGVycyB8fCBbXTtcbiAgICAgICAgX3RoaXMuaGFzRmlyZWQgPSBmYWxzZTtcbiAgICAgICAgcmV0dXJuIF90aGlzO1xuICAgIH1cbiAgICBVSUFuYWx5dGljc0V2ZW50LnByb3RvdHlwZS51cGRhdGUgPSBmdW5jdGlvbiAodXBkYXRlcikge1xuICAgICAgICBpZiAodGhpcy5oYXNGaXJlZCkge1xuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgICAgICAgICAgIGNvbnNvbGUud2FybihcIkNhbm5vdCB1cGRhdGUgYW4gZXZlbnQgYWZ0ZXIgaXQncyBiZWVuIGZpcmVkLlwiKTtcbiAgICAgICAgICAgIHJldHVybiB0aGlzO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBfc3VwZXIucHJvdG90eXBlLnVwZGF0ZS5jYWxsKHRoaXMsIHVwZGF0ZXIpO1xuICAgIH07XG4gICAgcmV0dXJuIFVJQW5hbHl0aWNzRXZlbnQ7XG59KEFuYWx5dGljc0V2ZW50KSk7XG5leHBvcnQgZGVmYXVsdCBVSUFuYWx5dGljc0V2ZW50O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9VUlBbmFseXRpY3NFdmVudC5qcy5tYXAiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/analytics-next/dist/esm/UIAnalyticsEvent.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/analytics-next/dist/esm/cleanProps.js": /*!**********************************************************************!*\ !*** ./node_modules/@atlaskit/analytics-next/dist/esm/cleanProps.js ***! \**********************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return cleanProps; });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/@atlaskit/analytics-next/node_modules/tslib/tslib.es6.js\");\n\nfunction cleanProps(props) {\n var createAnalyticsEvent = props.createAnalyticsEvent, cleanedProps = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__rest\"])(props, [\"createAnalyticsEvent\"]);\n return cleanedProps;\n}\n//# sourceMappingURL=cleanProps.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L2FuYWx5dGljcy1uZXh0L2Rpc3QvZXNtL2NsZWFuUHJvcHMuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L2FuYWx5dGljcy1uZXh0L2Rpc3QvZXNtL2NsZWFuUHJvcHMuanM/MDhhNiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBfX3Jlc3QgfSBmcm9tIFwidHNsaWJcIjtcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGNsZWFuUHJvcHMocHJvcHMpIHtcbiAgICB2YXIgY3JlYXRlQW5hbHl0aWNzRXZlbnQgPSBwcm9wcy5jcmVhdGVBbmFseXRpY3NFdmVudCwgY2xlYW5lZFByb3BzID0gX19yZXN0KHByb3BzLCBbXCJjcmVhdGVBbmFseXRpY3NFdmVudFwiXSk7XG4gICAgcmV0dXJuIGNsZWFuZWRQcm9wcztcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWNsZWFuUHJvcHMuanMubWFwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/analytics-next/dist/esm/cleanProps.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/analytics-next/dist/esm/createAndFireEvent.js": /*!******************************************************************************!*\ !*** ./node_modules/@atlaskit/analytics-next/dist/esm/createAndFireEvent.js ***! \******************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function (channel) { return function (payload) { return function (createAnalyticsEvent) {\n var consumerEvent = createAnalyticsEvent(payload);\n var clonedEvent = consumerEvent.clone();\n if (clonedEvent) {\n clonedEvent.fire(channel);\n }\n return consumerEvent;\n}; }; });\n//# sourceMappingURL=createAndFireEvent.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L2FuYWx5dGljcy1uZXh0L2Rpc3QvZXNtL2NyZWF0ZUFuZEZpcmVFdmVudC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AYXRsYXNraXQvYW5hbHl0aWNzLW5leHQvZGlzdC9lc20vY3JlYXRlQW5kRmlyZUV2ZW50LmpzPzhiNWMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQgKGZ1bmN0aW9uIChjaGFubmVsKSB7IHJldHVybiBmdW5jdGlvbiAocGF5bG9hZCkgeyByZXR1cm4gZnVuY3Rpb24gKGNyZWF0ZUFuYWx5dGljc0V2ZW50KSB7XG4gICAgdmFyIGNvbnN1bWVyRXZlbnQgPSBjcmVhdGVBbmFseXRpY3NFdmVudChwYXlsb2FkKTtcbiAgICB2YXIgY2xvbmVkRXZlbnQgPSBjb25zdW1lckV2ZW50LmNsb25lKCk7XG4gICAgaWYgKGNsb25lZEV2ZW50KSB7XG4gICAgICAgIGNsb25lZEV2ZW50LmZpcmUoY2hhbm5lbCk7XG4gICAgfVxuICAgIHJldHVybiBjb25zdW1lckV2ZW50O1xufTsgfTsgfSk7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1jcmVhdGVBbmRGaXJlRXZlbnQuanMubWFwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/analytics-next/dist/esm/createAndFireEvent.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/analytics-next/dist/esm/index.js": /*!*****************************************************************!*\ !*** ./node_modules/@atlaskit/analytics-next/dist/esm/index.js ***! \*****************************************************************/ /*! exports provided: AnalyticsEvent, UIAnalyticsEvent, AnalyticsListener, AnalyticsContext, withAnalyticsContext, AnalyticsErrorBoundary, withAnalyticsEvents, AnalyticsReactContext, useAnalyticsEvents, useCallbackWithAnalytics, createAndFireEvent, cleanProps */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _AnalyticsEvent__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AnalyticsEvent */ \"./node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsEvent.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AnalyticsEvent\", function() { return _AnalyticsEvent__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n/* harmony import */ var _UIAnalyticsEvent__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./UIAnalyticsEvent */ \"./node_modules/@atlaskit/analytics-next/dist/esm/UIAnalyticsEvent.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"UIAnalyticsEvent\", function() { return _UIAnalyticsEvent__WEBPACK_IMPORTED_MODULE_1__[\"default\"]; });\n\n/* harmony import */ var _AnalyticsListener__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./AnalyticsListener */ \"./node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsListener.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AnalyticsListener\", function() { return _AnalyticsListener__WEBPACK_IMPORTED_MODULE_2__[\"default\"]; });\n\n/* harmony import */ var _AnalyticsContext__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./AnalyticsContext */ \"./node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsContext.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AnalyticsContext\", function() { return _AnalyticsContext__WEBPACK_IMPORTED_MODULE_3__[\"default\"]; });\n\n/* harmony import */ var _withAnalyticsContext__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./withAnalyticsContext */ \"./node_modules/@atlaskit/analytics-next/dist/esm/withAnalyticsContext.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"withAnalyticsContext\", function() { return _withAnalyticsContext__WEBPACK_IMPORTED_MODULE_4__[\"default\"]; });\n\n/* harmony import */ var _AnalyticsErrorBoundary__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./AnalyticsErrorBoundary */ \"./node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsErrorBoundary.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AnalyticsErrorBoundary\", function() { return _AnalyticsErrorBoundary__WEBPACK_IMPORTED_MODULE_5__[\"default\"]; });\n\n/* harmony import */ var _withAnalyticsEvents__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./withAnalyticsEvents */ \"./node_modules/@atlaskit/analytics-next/dist/esm/withAnalyticsEvents.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"withAnalyticsEvents\", function() { return _withAnalyticsEvents__WEBPACK_IMPORTED_MODULE_6__[\"default\"]; });\n\n/* harmony import */ var _AnalyticsReactContext__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./AnalyticsReactContext */ \"./node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsReactContext.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AnalyticsReactContext\", function() { return _AnalyticsReactContext__WEBPACK_IMPORTED_MODULE_7__[\"AnalyticsReactContext\"]; });\n\n/* harmony import */ var _useAnalyticsEvents__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./useAnalyticsEvents */ \"./node_modules/@atlaskit/analytics-next/dist/esm/useAnalyticsEvents.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"useAnalyticsEvents\", function() { return _useAnalyticsEvents__WEBPACK_IMPORTED_MODULE_8__[\"useAnalyticsEvents\"]; });\n\n/* harmony import */ var _useCallbackWithAnalytics__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./useCallbackWithAnalytics */ \"./node_modules/@atlaskit/analytics-next/dist/esm/useCallbackWithAnalytics.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"useCallbackWithAnalytics\", function() { return _useCallbackWithAnalytics__WEBPACK_IMPORTED_MODULE_9__[\"useCallbackWithAnalytics\"]; });\n\n/* harmony import */ var _createAndFireEvent__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./createAndFireEvent */ \"./node_modules/@atlaskit/analytics-next/dist/esm/createAndFireEvent.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createAndFireEvent\", function() { return _createAndFireEvent__WEBPACK_IMPORTED_MODULE_10__[\"default\"]; });\n\n/* harmony import */ var _cleanProps__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./cleanProps */ \"./node_modules/@atlaskit/analytics-next/dist/esm/cleanProps.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"cleanProps\", function() { return _cleanProps__WEBPACK_IMPORTED_MODULE_11__[\"default\"]; });\n\n// Analytics event classes\n\n\n// AnalyticsListener component\n\n// AnalyticsContext component and HOC\n\n\n// AnalyticsErrorBoundary component\n\n// createAnalyticsEvent HOC\n\n// React context\n\n// Hook for creating and firing analytics events\n\n\n// Helper functions\n\n\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L2FuYWx5dGljcy1uZXh0L2Rpc3QvZXNtL2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BhdGxhc2tpdC9hbmFseXRpY3MtbmV4dC9kaXN0L2VzbS9pbmRleC5qcz82MDU5Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIEFuYWx5dGljcyBldmVudCBjbGFzc2VzXG5leHBvcnQgeyBkZWZhdWx0IGFzIEFuYWx5dGljc0V2ZW50LCB9IGZyb20gJy4vQW5hbHl0aWNzRXZlbnQnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBVSUFuYWx5dGljc0V2ZW50LCB9IGZyb20gJy4vVUlBbmFseXRpY3NFdmVudCc7XG4vLyBBbmFseXRpY3NMaXN0ZW5lciBjb21wb25lbnRcbmV4cG9ydCB7IGRlZmF1bHQgYXMgQW5hbHl0aWNzTGlzdGVuZXIgfSBmcm9tICcuL0FuYWx5dGljc0xpc3RlbmVyJztcbi8vIEFuYWx5dGljc0NvbnRleHQgY29tcG9uZW50IGFuZCBIT0NcbmV4cG9ydCB7IGRlZmF1bHQgYXMgQW5hbHl0aWNzQ29udGV4dCB9IGZyb20gJy4vQW5hbHl0aWNzQ29udGV4dCc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIHdpdGhBbmFseXRpY3NDb250ZXh0IH0gZnJvbSAnLi93aXRoQW5hbHl0aWNzQ29udGV4dCc7XG4vLyBBbmFseXRpY3NFcnJvckJvdW5kYXJ5IGNvbXBvbmVudFxuZXhwb3J0IHsgZGVmYXVsdCBhcyBBbmFseXRpY3NFcnJvckJvdW5kYXJ5LCB9IGZyb20gJy4vQW5hbHl0aWNzRXJyb3JCb3VuZGFyeSc7XG4vLyBjcmVhdGVBbmFseXRpY3NFdmVudCBIT0NcbmV4cG9ydCB7IGRlZmF1bHQgYXMgd2l0aEFuYWx5dGljc0V2ZW50cywgfSBmcm9tICcuL3dpdGhBbmFseXRpY3NFdmVudHMnO1xuLy8gUmVhY3QgY29udGV4dFxuZXhwb3J0IHsgQW5hbHl0aWNzUmVhY3RDb250ZXh0LCB9IGZyb20gJy4vQW5hbHl0aWNzUmVhY3RDb250ZXh0Jztcbi8vIEhvb2sgZm9yIGNyZWF0aW5nIGFuZCBmaXJpbmcgYW5hbHl0aWNzIGV2ZW50c1xuZXhwb3J0IHsgdXNlQW5hbHl0aWNzRXZlbnRzLCB9IGZyb20gJy4vdXNlQW5hbHl0aWNzRXZlbnRzJztcbmV4cG9ydCB7IHVzZUNhbGxiYWNrV2l0aEFuYWx5dGljcywgfSBmcm9tICcuL3VzZUNhbGxiYWNrV2l0aEFuYWx5dGljcyc7XG4vLyBIZWxwZXIgZnVuY3Rpb25zXG5leHBvcnQgeyBkZWZhdWx0IGFzIGNyZWF0ZUFuZEZpcmVFdmVudCB9IGZyb20gJy4vY3JlYXRlQW5kRmlyZUV2ZW50JztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgY2xlYW5Qcm9wcyB9IGZyb20gJy4vY2xlYW5Qcm9wcyc7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/analytics-next/dist/esm/index.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/analytics-next/dist/esm/useAnalyticsEvents.js": /*!******************************************************************************!*\ !*** ./node_modules/@atlaskit/analytics-next/dist/esm/useAnalyticsEvents.js ***! \******************************************************************************/ /*! exports provided: useAnalyticsEvents */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"useAnalyticsEvents\", function() { return useAnalyticsEvents; });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var use_memo_one__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! use-memo-one */ \"./node_modules/use-memo-one/dist/use-memo-one.esm.js\");\n/* harmony import */ var _AnalyticsReactContext__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./AnalyticsReactContext */ \"./node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsReactContext.js\");\n/* harmony import */ var _UIAnalyticsEvent__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./UIAnalyticsEvent */ \"./node_modules/@atlaskit/analytics-next/dist/esm/UIAnalyticsEvent.js\");\n\n\n\n\nvar noop = function () { return []; };\nfunction useAnalyticsEvents() {\n var analyticsContext = Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useContext\"])(_AnalyticsReactContext__WEBPACK_IMPORTED_MODULE_2__[\"AnalyticsReactContext\"]);\n var contextRef = Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useRef\"])(analyticsContext);\n contextRef.current.getAtlaskitAnalyticsEventHandlers =\n analyticsContext.getAtlaskitAnalyticsEventHandlers;\n contextRef.current.getAtlaskitAnalyticsContext =\n analyticsContext.getAtlaskitAnalyticsContext;\n var createAnalyticsEvent = Object(use_memo_one__WEBPACK_IMPORTED_MODULE_1__[\"useCallbackOne\"])(function (payload) {\n if ( true &&\n (contextRef.current.getAtlaskitAnalyticsEventHandlers === null ||\n contextRef.current.getAtlaskitAnalyticsContext === null)) {\n /* eslint-disable-next-line no-console */\n console.error(\"\\n@atlaskit/analytics-next\\n---\\nNo compatible was found to fire this analytics event.\\nUse of the useAnalyticsEvents() hook requires a parent from @atlaskit/analytics-next@^6.3.0 or above.\\nSee: https://atlaskit.atlassian.com/packages/core/analytics-next/docs/reference#AnalyticsListener\\n\");\n }\n var getAtlaskitAnalyticsContext = contextRef.current.getAtlaskitAnalyticsContext || noop;\n var getAtlaskitAnalyticsEventHandlers = contextRef.current.getAtlaskitAnalyticsEventHandlers || noop;\n return new _UIAnalyticsEvent__WEBPACK_IMPORTED_MODULE_3__[\"default\"]({\n context: getAtlaskitAnalyticsContext(),\n handlers: getAtlaskitAnalyticsEventHandlers(),\n payload: payload,\n });\n }, []);\n return {\n createAnalyticsEvent: createAnalyticsEvent,\n };\n}\n//# sourceMappingURL=useAnalyticsEvents.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L2FuYWx5dGljcy1uZXh0L2Rpc3QvZXNtL3VzZUFuYWx5dGljc0V2ZW50cy5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AYXRsYXNraXQvYW5hbHl0aWNzLW5leHQvZGlzdC9lc20vdXNlQW5hbHl0aWNzRXZlbnRzLmpzPzk3ZWMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlQ29udGV4dCwgdXNlUmVmIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlQ2FsbGJhY2tPbmUgfSBmcm9tICd1c2UtbWVtby1vbmUnO1xuaW1wb3J0IHsgQW5hbHl0aWNzUmVhY3RDb250ZXh0LCB9IGZyb20gJy4vQW5hbHl0aWNzUmVhY3RDb250ZXh0JztcbmltcG9ydCBVSUFuYWx5dGljc0V2ZW50IGZyb20gJy4vVUlBbmFseXRpY3NFdmVudCc7XG52YXIgbm9vcCA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIFtdOyB9O1xuZXhwb3J0IGZ1bmN0aW9uIHVzZUFuYWx5dGljc0V2ZW50cygpIHtcbiAgICB2YXIgYW5hbHl0aWNzQ29udGV4dCA9IHVzZUNvbnRleHQoQW5hbHl0aWNzUmVhY3RDb250ZXh0KTtcbiAgICB2YXIgY29udGV4dFJlZiA9IHVzZVJlZihhbmFseXRpY3NDb250ZXh0KTtcbiAgICBjb250ZXh0UmVmLmN1cnJlbnQuZ2V0QXRsYXNraXRBbmFseXRpY3NFdmVudEhhbmRsZXJzID1cbiAgICAgICAgYW5hbHl0aWNzQ29udGV4dC5nZXRBdGxhc2tpdEFuYWx5dGljc0V2ZW50SGFuZGxlcnM7XG4gICAgY29udGV4dFJlZi5jdXJyZW50LmdldEF0bGFza2l0QW5hbHl0aWNzQ29udGV4dCA9XG4gICAgICAgIGFuYWx5dGljc0NvbnRleHQuZ2V0QXRsYXNraXRBbmFseXRpY3NDb250ZXh0O1xuICAgIHZhciBjcmVhdGVBbmFseXRpY3NFdmVudCA9IHVzZUNhbGxiYWNrT25lKGZ1bmN0aW9uIChwYXlsb2FkKSB7XG4gICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmXG4gICAgICAgICAgICAoY29udGV4dFJlZi5jdXJyZW50LmdldEF0bGFza2l0QW5hbHl0aWNzRXZlbnRIYW5kbGVycyA9PT0gbnVsbCB8fFxuICAgICAgICAgICAgICAgIGNvbnRleHRSZWYuY3VycmVudC5nZXRBdGxhc2tpdEFuYWx5dGljc0NvbnRleHQgPT09IG51bGwpKSB7XG4gICAgICAgICAgICAvKiBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZSAqL1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihcIlxcbkBhdGxhc2tpdC9hbmFseXRpY3MtbmV4dFxcbi0tLVxcbk5vIGNvbXBhdGlibGUgPEFuYWx5dGljc0xpc3RlbmVyIC8+IHdhcyBmb3VuZCB0byBmaXJlIHRoaXMgYW5hbHl0aWNzIGV2ZW50LlxcblVzZSBvZiB0aGUgdXNlQW5hbHl0aWNzRXZlbnRzKCkgaG9vayByZXF1aXJlcyBhIHBhcmVudCA8QW5hbHl0aWNzTGlzdGVuZXIgLz4gZnJvbSBAYXRsYXNraXQvYW5hbHl0aWNzLW5leHRAXjYuMy4wIG9yIGFib3ZlLlxcblNlZTogaHR0cHM6Ly9hdGxhc2tpdC5hdGxhc3NpYW4uY29tL3BhY2thZ2VzL2NvcmUvYW5hbHl0aWNzLW5leHQvZG9jcy9yZWZlcmVuY2UjQW5hbHl0aWNzTGlzdGVuZXJcXG5cIik7XG4gICAgICAgIH1cbiAgICAgICAgdmFyIGdldEF0bGFza2l0QW5hbHl0aWNzQ29udGV4dCA9IGNvbnRleHRSZWYuY3VycmVudC5nZXRBdGxhc2tpdEFuYWx5dGljc0NvbnRleHQgfHwgbm9vcDtcbiAgICAgICAgdmFyIGdldEF0bGFza2l0QW5hbHl0aWNzRXZlbnRIYW5kbGVycyA9IGNvbnRleHRSZWYuY3VycmVudC5nZXRBdGxhc2tpdEFuYWx5dGljc0V2ZW50SGFuZGxlcnMgfHwgbm9vcDtcbiAgICAgICAgcmV0dXJuIG5ldyBVSUFuYWx5dGljc0V2ZW50KHtcbiAgICAgICAgICAgIGNvbnRleHQ6IGdldEF0bGFza2l0QW5hbHl0aWNzQ29udGV4dCgpLFxuICAgICAgICAgICAgaGFuZGxlcnM6IGdldEF0bGFza2l0QW5hbHl0aWNzRXZlbnRIYW5kbGVycygpLFxuICAgICAgICAgICAgcGF5bG9hZDogcGF5bG9hZCxcbiAgICAgICAgfSk7XG4gICAgfSwgW10pO1xuICAgIHJldHVybiB7XG4gICAgICAgIGNyZWF0ZUFuYWx5dGljc0V2ZW50OiBjcmVhdGVBbmFseXRpY3NFdmVudCxcbiAgICB9O1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9dXNlQW5hbHl0aWNzRXZlbnRzLmpzLm1hcCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/analytics-next/dist/esm/useAnalyticsEvents.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/analytics-next/dist/esm/useCallbackWithAnalytics.js": /*!************************************************************************************!*\ !*** ./node_modules/@atlaskit/analytics-next/dist/esm/useCallbackWithAnalytics.js ***! \************************************************************************************/ /*! exports provided: useCallbackWithAnalytics */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"useCallbackWithAnalytics\", function() { return useCallbackWithAnalytics; });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/@atlaskit/analytics-next/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _useAnalyticsEvents__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./useAnalyticsEvents */ \"./node_modules/@atlaskit/analytics-next/dist/esm/useAnalyticsEvents.js\");\n\n\n\nvar useCallbackWithAnalytics = function (method, payload, channel) {\n var createAnalyticsEvent = Object(_useAnalyticsEvents__WEBPACK_IMPORTED_MODULE_2__[\"useAnalyticsEvents\"])().createAnalyticsEvent;\n // given input might be new function/object each render\n // we optimise and store in refs so we can memoize the callback\n // and at the same time avoid stale values\n var methodRef = Object(react__WEBPACK_IMPORTED_MODULE_1__[\"useRef\"])(method);\n var payloadRef = Object(react__WEBPACK_IMPORTED_MODULE_1__[\"useRef\"])(payload);\n Object(react__WEBPACK_IMPORTED_MODULE_1__[\"useEffect\"])(function () {\n methodRef.current = method;\n payloadRef.current = payload;\n }, [method, payload]);\n return Object(react__WEBPACK_IMPORTED_MODULE_1__[\"useCallback\"])(function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var pload = typeof payloadRef.current === 'function'\n ? payloadRef.current.apply(payloadRef, Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__spread\"])(args)) : payloadRef.current;\n createAnalyticsEvent(pload).fire(channel);\n methodRef.current.apply(methodRef, Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__spread\"])(args));\n }, [createAnalyticsEvent, methodRef, payloadRef, channel]);\n};\n//# sourceMappingURL=useCallbackWithAnalytics.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L2FuYWx5dGljcy1uZXh0L2Rpc3QvZXNtL3VzZUNhbGxiYWNrV2l0aEFuYWx5dGljcy5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AYXRsYXNraXQvYW5hbHl0aWNzLW5leHQvZGlzdC9lc20vdXNlQ2FsbGJhY2tXaXRoQW5hbHl0aWNzLmpzPzU3NmQiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgX19yZWFkLCBfX3NwcmVhZCB9IGZyb20gXCJ0c2xpYlwiO1xuaW1wb3J0IHsgdXNlQ2FsbGJhY2ssIHVzZVJlZiwgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlQW5hbHl0aWNzRXZlbnRzIH0gZnJvbSAnLi91c2VBbmFseXRpY3NFdmVudHMnO1xuZXhwb3J0IHZhciB1c2VDYWxsYmFja1dpdGhBbmFseXRpY3MgPSBmdW5jdGlvbiAobWV0aG9kLCBwYXlsb2FkLCBjaGFubmVsKSB7XG4gICAgdmFyIGNyZWF0ZUFuYWx5dGljc0V2ZW50ID0gdXNlQW5hbHl0aWNzRXZlbnRzKCkuY3JlYXRlQW5hbHl0aWNzRXZlbnQ7XG4gICAgLy8gZ2l2ZW4gaW5wdXQgbWlnaHQgYmUgbmV3IGZ1bmN0aW9uL29iamVjdCBlYWNoIHJlbmRlclxuICAgIC8vIHdlIG9wdGltaXNlIGFuZCBzdG9yZSBpbiByZWZzIHNvIHdlIGNhbiBtZW1vaXplIHRoZSBjYWxsYmFja1xuICAgIC8vIGFuZCBhdCB0aGUgc2FtZSB0aW1lIGF2b2lkIHN0YWxlIHZhbHVlc1xuICAgIHZhciBtZXRob2RSZWYgPSB1c2VSZWYobWV0aG9kKTtcbiAgICB2YXIgcGF5bG9hZFJlZiA9IHVzZVJlZihwYXlsb2FkKTtcbiAgICB1c2VFZmZlY3QoZnVuY3Rpb24gKCkge1xuICAgICAgICBtZXRob2RSZWYuY3VycmVudCA9IG1ldGhvZDtcbiAgICAgICAgcGF5bG9hZFJlZi5jdXJyZW50ID0gcGF5bG9hZDtcbiAgICB9LCBbbWV0aG9kLCBwYXlsb2FkXSk7XG4gICAgcmV0dXJuIHVzZUNhbGxiYWNrKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIGFyZ3MgPSBbXTtcbiAgICAgICAgZm9yICh2YXIgX2kgPSAwOyBfaSA8IGFyZ3VtZW50cy5sZW5ndGg7IF9pKyspIHtcbiAgICAgICAgICAgIGFyZ3NbX2ldID0gYXJndW1lbnRzW19pXTtcbiAgICAgICAgfVxuICAgICAgICB2YXIgcGxvYWQgPSB0eXBlb2YgcGF5bG9hZFJlZi5jdXJyZW50ID09PSAnZnVuY3Rpb24nXG4gICAgICAgICAgICA/IHBheWxvYWRSZWYuY3VycmVudC5hcHBseShwYXlsb2FkUmVmLCBfX3NwcmVhZChhcmdzKSkgOiBwYXlsb2FkUmVmLmN1cnJlbnQ7XG4gICAgICAgIGNyZWF0ZUFuYWx5dGljc0V2ZW50KHBsb2FkKS5maXJlKGNoYW5uZWwpO1xuICAgICAgICBtZXRob2RSZWYuY3VycmVudC5hcHBseShtZXRob2RSZWYsIF9fc3ByZWFkKGFyZ3MpKTtcbiAgICB9LCBbY3JlYXRlQW5hbHl0aWNzRXZlbnQsIG1ldGhvZFJlZiwgcGF5bG9hZFJlZiwgY2hhbm5lbF0pO1xufTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXVzZUNhbGxiYWNrV2l0aEFuYWx5dGljcy5qcy5tYXAiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/analytics-next/dist/esm/useCallbackWithAnalytics.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/analytics-next/dist/esm/withAnalyticsContext.js": /*!********************************************************************************!*\ !*** ./node_modules/@atlaskit/analytics-next/dist/esm/withAnalyticsContext.js ***! \********************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/@atlaskit/analytics-next/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _AnalyticsContext__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./AnalyticsContext */ \"./node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsContext.js\");\n\n\n\nvar withAnalyticsContext = function (defaultData) { return function (WrappedComponent) {\n var WithAnalyticsContext = react__WEBPACK_IMPORTED_MODULE_1___default.a.forwardRef(function (props, ref) {\n var _a = props.analyticsContext, analyticsContext = _a === void 0 ? {} : _a, rest = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__rest\"])(props, [\"analyticsContext\"]);\n var analyticsData = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, defaultData), analyticsContext);\n return (react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_AnalyticsContext__WEBPACK_IMPORTED_MODULE_2__[\"default\"], { data: analyticsData },\n react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(WrappedComponent, Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, rest, { ref: ref }))));\n });\n // @ts-ignore\n WithAnalyticsContext.displayName = \"WithAnalyticsContext(\" + (WrappedComponent.displayName ||\n WrappedComponent.name) + \")\";\n return WithAnalyticsContext;\n}; };\n/* harmony default export */ __webpack_exports__[\"default\"] = (withAnalyticsContext);\n//# sourceMappingURL=withAnalyticsContext.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L2FuYWx5dGljcy1uZXh0L2Rpc3QvZXNtL3dpdGhBbmFseXRpY3NDb250ZXh0LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BhdGxhc2tpdC9hbmFseXRpY3MtbmV4dC9kaXN0L2VzbS93aXRoQW5hbHl0aWNzQ29udGV4dC5qcz9kNzAwIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IF9fYXNzaWduLCBfX3Jlc3QgfSBmcm9tIFwidHNsaWJcIjtcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgQW5hbHl0aWNzQ29udGV4dCBmcm9tICcuL0FuYWx5dGljc0NvbnRleHQnO1xudmFyIHdpdGhBbmFseXRpY3NDb250ZXh0ID0gZnVuY3Rpb24gKGRlZmF1bHREYXRhKSB7IHJldHVybiBmdW5jdGlvbiAoV3JhcHBlZENvbXBvbmVudCkge1xuICAgIHZhciBXaXRoQW5hbHl0aWNzQ29udGV4dCA9IFJlYWN0LmZvcndhcmRSZWYoZnVuY3Rpb24gKHByb3BzLCByZWYpIHtcbiAgICAgICAgdmFyIF9hID0gcHJvcHMuYW5hbHl0aWNzQ29udGV4dCwgYW5hbHl0aWNzQ29udGV4dCA9IF9hID09PSB2b2lkIDAgPyB7fSA6IF9hLCByZXN0ID0gX19yZXN0KHByb3BzLCBbXCJhbmFseXRpY3NDb250ZXh0XCJdKTtcbiAgICAgICAgdmFyIGFuYWx5dGljc0RhdGEgPSBfX2Fzc2lnbihfX2Fzc2lnbih7fSwgZGVmYXVsdERhdGEpLCBhbmFseXRpY3NDb250ZXh0KTtcbiAgICAgICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KEFuYWx5dGljc0NvbnRleHQsIHsgZGF0YTogYW5hbHl0aWNzRGF0YSB9LFxuICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChXcmFwcGVkQ29tcG9uZW50LCBfX2Fzc2lnbih7fSwgcmVzdCwgeyByZWY6IHJlZiB9KSkpKTtcbiAgICB9KTtcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgV2l0aEFuYWx5dGljc0NvbnRleHQuZGlzcGxheU5hbWUgPSBcIldpdGhBbmFseXRpY3NDb250ZXh0KFwiICsgKFdyYXBwZWRDb21wb25lbnQuZGlzcGxheU5hbWUgfHxcbiAgICAgICAgV3JhcHBlZENvbXBvbmVudC5uYW1lKSArIFwiKVwiO1xuICAgIHJldHVybiBXaXRoQW5hbHl0aWNzQ29udGV4dDtcbn07IH07XG5leHBvcnQgZGVmYXVsdCB3aXRoQW5hbHl0aWNzQ29udGV4dDtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXdpdGhBbmFseXRpY3NDb250ZXh0LmpzLm1hcCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/analytics-next/dist/esm/withAnalyticsContext.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/analytics-next/dist/esm/withAnalyticsEvents.js": /*!*******************************************************************************!*\ !*** ./node_modules/@atlaskit/analytics-next/dist/esm/withAnalyticsEvents.js ***! \*******************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/@atlaskit/analytics-next/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _AnalyticsContextConsumer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./AnalyticsContextConsumer */ \"./node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsContextConsumer.js\");\n\n\n\nvar withAnalyticsEvents = function (createEventMap) { return function (WrappedComponent) {\n var WithAnalyticsEvents = react__WEBPACK_IMPORTED_MODULE_1___default.a.forwardRef(function (props, ref) { return (react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_AnalyticsContextConsumer__WEBPACK_IMPORTED_MODULE_2__[\"default\"], { createEventMap: createEventMap, wrappedComponentProps: props }, function (_a) {\n var createAnalyticsEvent = _a.createAnalyticsEvent, patchedEventProps = _a.patchedEventProps;\n return (react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(WrappedComponent, Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, props, patchedEventProps, { createAnalyticsEvent: createAnalyticsEvent, ref: ref })));\n })); });\n // @ts-ignore\n WithAnalyticsEvents.displayName = \"WithAnalyticsEvents(\" + (WrappedComponent.displayName ||\n WrappedComponent.name) + \")\";\n return WithAnalyticsEvents;\n}; };\n/* harmony default export */ __webpack_exports__[\"default\"] = (withAnalyticsEvents);\n//# sourceMappingURL=withAnalyticsEvents.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L2FuYWx5dGljcy1uZXh0L2Rpc3QvZXNtL3dpdGhBbmFseXRpY3NFdmVudHMuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L2FuYWx5dGljcy1uZXh0L2Rpc3QvZXNtL3dpdGhBbmFseXRpY3NFdmVudHMuanM/YmFhNCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBfX2Fzc2lnbiB9IGZyb20gXCJ0c2xpYlwiO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBBbmFseXRpY3NDb250ZXh0Q29uc3VtZXIgZnJvbSAnLi9BbmFseXRpY3NDb250ZXh0Q29uc3VtZXInO1xudmFyIHdpdGhBbmFseXRpY3NFdmVudHMgPSBmdW5jdGlvbiAoY3JlYXRlRXZlbnRNYXApIHsgcmV0dXJuIGZ1bmN0aW9uIChXcmFwcGVkQ29tcG9uZW50KSB7XG4gICAgdmFyIFdpdGhBbmFseXRpY3NFdmVudHMgPSBSZWFjdC5mb3J3YXJkUmVmKGZ1bmN0aW9uIChwcm9wcywgcmVmKSB7IHJldHVybiAoUmVhY3QuY3JlYXRlRWxlbWVudChBbmFseXRpY3NDb250ZXh0Q29uc3VtZXIsIHsgY3JlYXRlRXZlbnRNYXA6IGNyZWF0ZUV2ZW50TWFwLCB3cmFwcGVkQ29tcG9uZW50UHJvcHM6IHByb3BzIH0sIGZ1bmN0aW9uIChfYSkge1xuICAgICAgICB2YXIgY3JlYXRlQW5hbHl0aWNzRXZlbnQgPSBfYS5jcmVhdGVBbmFseXRpY3NFdmVudCwgcGF0Y2hlZEV2ZW50UHJvcHMgPSBfYS5wYXRjaGVkRXZlbnRQcm9wcztcbiAgICAgICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KFdyYXBwZWRDb21wb25lbnQsIF9fYXNzaWduKHt9LCBwcm9wcywgcGF0Y2hlZEV2ZW50UHJvcHMsIHsgY3JlYXRlQW5hbHl0aWNzRXZlbnQ6IGNyZWF0ZUFuYWx5dGljc0V2ZW50LCByZWY6IHJlZiB9KSkpO1xuICAgIH0pKTsgfSk7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIFdpdGhBbmFseXRpY3NFdmVudHMuZGlzcGxheU5hbWUgPSBcIldpdGhBbmFseXRpY3NFdmVudHMoXCIgKyAoV3JhcHBlZENvbXBvbmVudC5kaXNwbGF5TmFtZSB8fFxuICAgICAgICBXcmFwcGVkQ29tcG9uZW50Lm5hbWUpICsgXCIpXCI7XG4gICAgcmV0dXJuIFdpdGhBbmFseXRpY3NFdmVudHM7XG59OyB9O1xuZXhwb3J0IGRlZmF1bHQgd2l0aEFuYWx5dGljc0V2ZW50cztcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXdpdGhBbmFseXRpY3NFdmVudHMuanMubWFwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/analytics-next/dist/esm/withAnalyticsEvents.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/analytics-next/node_modules/tslib/tslib.es6.js": /*!*******************************************************************************!*\ !*** ./node_modules/@atlaskit/analytics-next/node_modules/tslib/tslib.es6.js ***! \*******************************************************************************/ /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault, __classPrivateFieldGet, __classPrivateFieldSet */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__extends\", function() { return __extends; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__assign\", function() { return __assign; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__rest\", function() { return __rest; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__decorate\", function() { return __decorate; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__param\", function() { return __param; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__metadata\", function() { return __metadata; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__awaiter\", function() { return __awaiter; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__generator\", function() { return __generator; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__exportStar\", function() { return __exportStar; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__values\", function() { return __values; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__read\", function() { return __read; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__spread\", function() { return __spread; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__spreadArrays\", function() { return __spreadArrays; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__await\", function() { return __await; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__asyncGenerator\", function() { return __asyncGenerator; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__asyncDelegator\", function() { return __asyncDelegator; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__asyncValues\", function() { return __asyncValues; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__makeTemplateObject\", function() { return __makeTemplateObject; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__importStar\", function() { return __importStar; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__importDefault\", function() { return __importDefault; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__classPrivateFieldGet\", function() { return __classPrivateFieldGet; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__classPrivateFieldSet\", function() { return __classPrivateFieldSet; });\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nfunction __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nvar __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nfunction __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nfunction __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nfunction __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nfunction __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nfunction __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nfunction __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nfunction __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nfunction __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nfunction __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nfunction __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nfunction __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nfunction __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nfunction __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nfunction __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nfunction __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nfunction __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nfunction __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nfunction __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nfunction __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nfunction __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L2FuYWx5dGljcy1uZXh0L25vZGVfbW9kdWxlcy90c2xpYi90c2xpYi5lczYuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L2FuYWx5dGljcy1uZXh0L25vZGVfbW9kdWxlcy90c2xpYi90c2xpYi5lczYuanM/NTUwMSJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiEgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuQ29weXJpZ2h0IChjKSBNaWNyb3NvZnQgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbkxpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7IHlvdSBtYXkgbm90IHVzZVxyXG50aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZVxyXG5MaWNlbnNlIGF0IGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxyXG5cclxuVEhJUyBDT0RFIElTIFBST1ZJREVEIE9OIEFOICpBUyBJUyogQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWVxyXG5LSU5ELCBFSVRIRVIgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgV0lUSE9VVCBMSU1JVEFUSU9OIEFOWSBJTVBMSUVEXHJcbldBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBUSVRMRSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UsXHJcbk1FUkNIQU5UQUJMSVRZIE9SIE5PTi1JTkZSSU5HRU1FTlQuXHJcblxyXG5TZWUgdGhlIEFwYWNoZSBWZXJzaW9uIDIuMCBMaWNlbnNlIGZvciBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnNcclxuYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xyXG4vKiBnbG9iYWwgUmVmbGVjdCwgUHJvbWlzZSAqL1xyXG5cclxudmFyIGV4dGVuZFN0YXRpY3MgPSBmdW5jdGlvbihkLCBiKSB7XHJcbiAgICBleHRlbmRTdGF0aWNzID0gT2JqZWN0LnNldFByb3RvdHlwZU9mIHx8XHJcbiAgICAgICAgKHsgX19wcm90b19fOiBbXSB9IGluc3RhbmNlb2YgQXJyYXkgJiYgZnVuY3Rpb24gKGQsIGIpIHsgZC5fX3Byb3RvX18gPSBiOyB9KSB8fFxyXG4gICAgICAgIGZ1bmN0aW9uIChkLCBiKSB7IGZvciAodmFyIHAgaW4gYikgaWYgKGIuaGFzT3duUHJvcGVydHkocCkpIGRbcF0gPSBiW3BdOyB9O1xyXG4gICAgcmV0dXJuIGV4dGVuZFN0YXRpY3MoZCwgYik7XHJcbn07XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19leHRlbmRzKGQsIGIpIHtcclxuICAgIGV4dGVuZFN0YXRpY3MoZCwgYik7XHJcbiAgICBmdW5jdGlvbiBfXygpIHsgdGhpcy5jb25zdHJ1Y3RvciA9IGQ7IH1cclxuICAgIGQucHJvdG90eXBlID0gYiA9PT0gbnVsbCA/IE9iamVjdC5jcmVhdGUoYikgOiAoX18ucHJvdG90eXBlID0gYi5wcm90b3R5cGUsIG5ldyBfXygpKTtcclxufVxyXG5cclxuZXhwb3J0IHZhciBfX2Fzc2lnbiA9IGZ1bmN0aW9uKCkge1xyXG4gICAgX19hc3NpZ24gPSBPYmplY3QuYXNzaWduIHx8IGZ1bmN0aW9uIF9fYXNzaWduKHQpIHtcclxuICAgICAgICBmb3IgKHZhciBzLCBpID0gMSwgbiA9IGFyZ3VtZW50cy5sZW5ndGg7IGkgPCBuOyBpKyspIHtcclxuICAgICAgICAgICAgcyA9IGFyZ3VtZW50c1tpXTtcclxuICAgICAgICAgICAgZm9yICh2YXIgcCBpbiBzKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsIHApKSB0W3BdID0gc1twXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHQ7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gX19hc3NpZ24uYXBwbHkodGhpcywgYXJndW1lbnRzKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fcmVzdChzLCBlKSB7XHJcbiAgICB2YXIgdCA9IHt9O1xyXG4gICAgZm9yICh2YXIgcCBpbiBzKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsIHApICYmIGUuaW5kZXhPZihwKSA8IDApXHJcbiAgICAgICAgdFtwXSA9IHNbcF07XHJcbiAgICBpZiAocyAhPSBudWxsICYmIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzID09PSBcImZ1bmN0aW9uXCIpXHJcbiAgICAgICAgZm9yICh2YXIgaSA9IDAsIHAgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHMpOyBpIDwgcC5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICBpZiAoZS5pbmRleE9mKHBbaV0pIDwgMCAmJiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwocywgcFtpXSkpXHJcbiAgICAgICAgICAgICAgICB0W3BbaV1dID0gc1twW2ldXTtcclxuICAgICAgICB9XHJcbiAgICByZXR1cm4gdDtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fZGVjb3JhdGUoZGVjb3JhdG9ycywgdGFyZ2V0LCBrZXksIGRlc2MpIHtcclxuICAgIHZhciBjID0gYXJndW1lbnRzLmxlbmd0aCwgciA9IGMgPCAzID8gdGFyZ2V0IDogZGVzYyA9PT0gbnVsbCA/IGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHRhcmdldCwga2V5KSA6IGRlc2MsIGQ7XHJcbiAgICBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIFJlZmxlY3QuZGVjb3JhdGUgPT09IFwiZnVuY3Rpb25cIikgciA9IFJlZmxlY3QuZGVjb3JhdGUoZGVjb3JhdG9ycywgdGFyZ2V0LCBrZXksIGRlc2MpO1xyXG4gICAgZWxzZSBmb3IgKHZhciBpID0gZGVjb3JhdG9ycy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkgaWYgKGQgPSBkZWNvcmF0b3JzW2ldKSByID0gKGMgPCAzID8gZChyKSA6IGMgPiAzID8gZCh0YXJnZXQsIGtleSwgcikgOiBkKHRhcmdldCwga2V5KSkgfHwgcjtcclxuICAgIHJldHVybiBjID4gMyAmJiByICYmIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwgciksIHI7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3BhcmFtKHBhcmFtSW5kZXgsIGRlY29yYXRvcikge1xyXG4gICAgcmV0dXJuIGZ1bmN0aW9uICh0YXJnZXQsIGtleSkgeyBkZWNvcmF0b3IodGFyZ2V0LCBrZXksIHBhcmFtSW5kZXgpOyB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX21ldGFkYXRhKG1ldGFkYXRhS2V5LCBtZXRhZGF0YVZhbHVlKSB7XHJcbiAgICBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIFJlZmxlY3QubWV0YWRhdGEgPT09IFwiZnVuY3Rpb25cIikgcmV0dXJuIFJlZmxlY3QubWV0YWRhdGEobWV0YWRhdGFLZXksIG1ldGFkYXRhVmFsdWUpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19hd2FpdGVyKHRoaXNBcmcsIF9hcmd1bWVudHMsIFAsIGdlbmVyYXRvcikge1xyXG4gICAgZnVuY3Rpb24gYWRvcHQodmFsdWUpIHsgcmV0dXJuIHZhbHVlIGluc3RhbmNlb2YgUCA/IHZhbHVlIDogbmV3IFAoZnVuY3Rpb24gKHJlc29sdmUpIHsgcmVzb2x2ZSh2YWx1ZSk7IH0pOyB9XHJcbiAgICByZXR1cm4gbmV3IChQIHx8IChQID0gUHJvbWlzZSkpKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcclxuICAgICAgICBmdW5jdGlvbiBmdWxmaWxsZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3IubmV4dCh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9XHJcbiAgICAgICAgZnVuY3Rpb24gcmVqZWN0ZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3JbXCJ0aHJvd1wiXSh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9XHJcbiAgICAgICAgZnVuY3Rpb24gc3RlcChyZXN1bHQpIHsgcmVzdWx0LmRvbmUgPyByZXNvbHZlKHJlc3VsdC52YWx1ZSkgOiBhZG9wdChyZXN1bHQudmFsdWUpLnRoZW4oZnVsZmlsbGVkLCByZWplY3RlZCk7IH1cclxuICAgICAgICBzdGVwKChnZW5lcmF0b3IgPSBnZW5lcmF0b3IuYXBwbHkodGhpc0FyZywgX2FyZ3VtZW50cyB8fCBbXSkpLm5leHQoKSk7XHJcbiAgICB9KTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fZ2VuZXJhdG9yKHRoaXNBcmcsIGJvZHkpIHtcclxuICAgIHZhciBfID0geyBsYWJlbDogMCwgc2VudDogZnVuY3Rpb24oKSB7IGlmICh0WzBdICYgMSkgdGhyb3cgdFsxXTsgcmV0dXJuIHRbMV07IH0sIHRyeXM6IFtdLCBvcHM6IFtdIH0sIGYsIHksIHQsIGc7XHJcbiAgICByZXR1cm4gZyA9IHsgbmV4dDogdmVyYigwKSwgXCJ0aHJvd1wiOiB2ZXJiKDEpLCBcInJldHVyblwiOiB2ZXJiKDIpIH0sIHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiAoZ1tTeW1ib2wuaXRlcmF0b3JdID0gZnVuY3Rpb24oKSB7IHJldHVybiB0aGlzOyB9KSwgZztcclxuICAgIGZ1bmN0aW9uIHZlcmIobikgeyByZXR1cm4gZnVuY3Rpb24gKHYpIHsgcmV0dXJuIHN0ZXAoW24sIHZdKTsgfTsgfVxyXG4gICAgZnVuY3Rpb24gc3RlcChvcCkge1xyXG4gICAgICAgIGlmIChmKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiR2VuZXJhdG9yIGlzIGFscmVhZHkgZXhlY3V0aW5nLlwiKTtcclxuICAgICAgICB3aGlsZSAoXykgdHJ5IHtcclxuICAgICAgICAgICAgaWYgKGYgPSAxLCB5ICYmICh0ID0gb3BbMF0gJiAyID8geVtcInJldHVyblwiXSA6IG9wWzBdID8geVtcInRocm93XCJdIHx8ICgodCA9IHlbXCJyZXR1cm5cIl0pICYmIHQuY2FsbCh5KSwgMCkgOiB5Lm5leHQpICYmICEodCA9IHQuY2FsbCh5LCBvcFsxXSkpLmRvbmUpIHJldHVybiB0O1xyXG4gICAgICAgICAgICBpZiAoeSA9IDAsIHQpIG9wID0gW29wWzBdICYgMiwgdC52YWx1ZV07XHJcbiAgICAgICAgICAgIHN3aXRjaCAob3BbMF0pIHtcclxuICAgICAgICAgICAgICAgIGNhc2UgMDogY2FzZSAxOiB0ID0gb3A7IGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgY2FzZSA0OiBfLmxhYmVsKys7IHJldHVybiB7IHZhbHVlOiBvcFsxXSwgZG9uZTogZmFsc2UgfTtcclxuICAgICAgICAgICAgICAgIGNhc2UgNTogXy5sYWJlbCsrOyB5ID0gb3BbMV07IG9wID0gWzBdOyBjb250aW51ZTtcclxuICAgICAgICAgICAgICAgIGNhc2UgNzogb3AgPSBfLm9wcy5wb3AoKTsgXy50cnlzLnBvcCgpOyBjb250aW51ZTtcclxuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKCEodCA9IF8udHJ5cywgdCA9IHQubGVuZ3RoID4gMCAmJiB0W3QubGVuZ3RoIC0gMV0pICYmIChvcFswXSA9PT0gNiB8fCBvcFswXSA9PT0gMikpIHsgXyA9IDA7IGNvbnRpbnVlOyB9XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKG9wWzBdID09PSAzICYmICghdCB8fCAob3BbMV0gPiB0WzBdICYmIG9wWzFdIDwgdFszXSkpKSB7IF8ubGFiZWwgPSBvcFsxXTsgYnJlYWs7IH1cclxuICAgICAgICAgICAgICAgICAgICBpZiAob3BbMF0gPT09IDYgJiYgXy5sYWJlbCA8IHRbMV0pIHsgXy5sYWJlbCA9IHRbMV07IHQgPSBvcDsgYnJlYWs7IH1cclxuICAgICAgICAgICAgICAgICAgICBpZiAodCAmJiBfLmxhYmVsIDwgdFsyXSkgeyBfLmxhYmVsID0gdFsyXTsgXy5vcHMucHVzaChvcCk7IGJyZWFrOyB9XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRbMl0pIF8ub3BzLnBvcCgpO1xyXG4gICAgICAgICAgICAgICAgICAgIF8udHJ5cy5wb3AoKTsgY29udGludWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgb3AgPSBib2R5LmNhbGwodGhpc0FyZywgXyk7XHJcbiAgICAgICAgfSBjYXRjaCAoZSkgeyBvcCA9IFs2LCBlXTsgeSA9IDA7IH0gZmluYWxseSB7IGYgPSB0ID0gMDsgfVxyXG4gICAgICAgIGlmIChvcFswXSAmIDUpIHRocm93IG9wWzFdOyByZXR1cm4geyB2YWx1ZTogb3BbMF0gPyBvcFsxXSA6IHZvaWQgMCwgZG9uZTogdHJ1ZSB9O1xyXG4gICAgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19leHBvcnRTdGFyKG0sIGV4cG9ydHMpIHtcclxuICAgIGZvciAodmFyIHAgaW4gbSkgaWYgKCFleHBvcnRzLmhhc093blByb3BlcnR5KHApKSBleHBvcnRzW3BdID0gbVtwXTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fdmFsdWVzKG8pIHtcclxuICAgIHZhciBzID0gdHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIFN5bWJvbC5pdGVyYXRvciwgbSA9IHMgJiYgb1tzXSwgaSA9IDA7XHJcbiAgICBpZiAobSkgcmV0dXJuIG0uY2FsbChvKTtcclxuICAgIGlmIChvICYmIHR5cGVvZiBvLmxlbmd0aCA9PT0gXCJudW1iZXJcIikgcmV0dXJuIHtcclxuICAgICAgICBuZXh0OiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgIGlmIChvICYmIGkgPj0gby5sZW5ndGgpIG8gPSB2b2lkIDA7XHJcbiAgICAgICAgICAgIHJldHVybiB7IHZhbHVlOiBvICYmIG9baSsrXSwgZG9uZTogIW8gfTtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcihzID8gXCJPYmplY3QgaXMgbm90IGl0ZXJhYmxlLlwiIDogXCJTeW1ib2wuaXRlcmF0b3IgaXMgbm90IGRlZmluZWQuXCIpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19yZWFkKG8sIG4pIHtcclxuICAgIHZhciBtID0gdHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIG9bU3ltYm9sLml0ZXJhdG9yXTtcclxuICAgIGlmICghbSkgcmV0dXJuIG87XHJcbiAgICB2YXIgaSA9IG0uY2FsbChvKSwgciwgYXIgPSBbXSwgZTtcclxuICAgIHRyeSB7XHJcbiAgICAgICAgd2hpbGUgKChuID09PSB2b2lkIDAgfHwgbi0tID4gMCkgJiYgIShyID0gaS5uZXh0KCkpLmRvbmUpIGFyLnB1c2goci52YWx1ZSk7XHJcbiAgICB9XHJcbiAgICBjYXRjaCAoZXJyb3IpIHsgZSA9IHsgZXJyb3I6IGVycm9yIH07IH1cclxuICAgIGZpbmFsbHkge1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGlmIChyICYmICFyLmRvbmUgJiYgKG0gPSBpW1wicmV0dXJuXCJdKSkgbS5jYWxsKGkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBmaW5hbGx5IHsgaWYgKGUpIHRocm93IGUuZXJyb3I7IH1cclxuICAgIH1cclxuICAgIHJldHVybiBhcjtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fc3ByZWFkKCkge1xyXG4gICAgZm9yICh2YXIgYXIgPSBbXSwgaSA9IDA7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspXHJcbiAgICAgICAgYXIgPSBhci5jb25jYXQoX19yZWFkKGFyZ3VtZW50c1tpXSkpO1xyXG4gICAgcmV0dXJuIGFyO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19zcHJlYWRBcnJheXMoKSB7XHJcbiAgICBmb3IgKHZhciBzID0gMCwgaSA9IDAsIGlsID0gYXJndW1lbnRzLmxlbmd0aDsgaSA8IGlsOyBpKyspIHMgKz0gYXJndW1lbnRzW2ldLmxlbmd0aDtcclxuICAgIGZvciAodmFyIHIgPSBBcnJheShzKSwgayA9IDAsIGkgPSAwOyBpIDwgaWw7IGkrKylcclxuICAgICAgICBmb3IgKHZhciBhID0gYXJndW1lbnRzW2ldLCBqID0gMCwgamwgPSBhLmxlbmd0aDsgaiA8IGpsOyBqKyssIGsrKylcclxuICAgICAgICAgICAgcltrXSA9IGFbal07XHJcbiAgICByZXR1cm4gcjtcclxufTtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2F3YWl0KHYpIHtcclxuICAgIHJldHVybiB0aGlzIGluc3RhbmNlb2YgX19hd2FpdCA/ICh0aGlzLnYgPSB2LCB0aGlzKSA6IG5ldyBfX2F3YWl0KHYpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19hc3luY0dlbmVyYXRvcih0aGlzQXJnLCBfYXJndW1lbnRzLCBnZW5lcmF0b3IpIHtcclxuICAgIGlmICghU3ltYm9sLmFzeW5jSXRlcmF0b3IpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJTeW1ib2wuYXN5bmNJdGVyYXRvciBpcyBub3QgZGVmaW5lZC5cIik7XHJcbiAgICB2YXIgZyA9IGdlbmVyYXRvci5hcHBseSh0aGlzQXJnLCBfYXJndW1lbnRzIHx8IFtdKSwgaSwgcSA9IFtdO1xyXG4gICAgcmV0dXJuIGkgPSB7fSwgdmVyYihcIm5leHRcIiksIHZlcmIoXCJ0aHJvd1wiKSwgdmVyYihcInJldHVyblwiKSwgaVtTeW1ib2wuYXN5bmNJdGVyYXRvcl0gPSBmdW5jdGlvbiAoKSB7IHJldHVybiB0aGlzOyB9LCBpO1xyXG4gICAgZnVuY3Rpb24gdmVyYihuKSB7IGlmIChnW25dKSBpW25dID0gZnVuY3Rpb24gKHYpIHsgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChhLCBiKSB7IHEucHVzaChbbiwgdiwgYSwgYl0pID4gMSB8fCByZXN1bWUobiwgdik7IH0pOyB9OyB9XHJcbiAgICBmdW5jdGlvbiByZXN1bWUobiwgdikgeyB0cnkgeyBzdGVwKGdbbl0odikpOyB9IGNhdGNoIChlKSB7IHNldHRsZShxWzBdWzNdLCBlKTsgfSB9XHJcbiAgICBmdW5jdGlvbiBzdGVwKHIpIHsgci52YWx1ZSBpbnN0YW5jZW9mIF9fYXdhaXQgPyBQcm9taXNlLnJlc29sdmUoci52YWx1ZS52KS50aGVuKGZ1bGZpbGwsIHJlamVjdCkgOiBzZXR0bGUocVswXVsyXSwgcik7IH1cclxuICAgIGZ1bmN0aW9uIGZ1bGZpbGwodmFsdWUpIHsgcmVzdW1lKFwibmV4dFwiLCB2YWx1ZSk7IH1cclxuICAgIGZ1bmN0aW9uIHJlamVjdCh2YWx1ZSkgeyByZXN1bWUoXCJ0aHJvd1wiLCB2YWx1ZSk7IH1cclxuICAgIGZ1bmN0aW9uIHNldHRsZShmLCB2KSB7IGlmIChmKHYpLCBxLnNoaWZ0KCksIHEubGVuZ3RoKSByZXN1bWUocVswXVswXSwgcVswXVsxXSk7IH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fYXN5bmNEZWxlZ2F0b3Iobykge1xyXG4gICAgdmFyIGksIHA7XHJcbiAgICByZXR1cm4gaSA9IHt9LCB2ZXJiKFwibmV4dFwiKSwgdmVyYihcInRocm93XCIsIGZ1bmN0aW9uIChlKSB7IHRocm93IGU7IH0pLCB2ZXJiKFwicmV0dXJuXCIpLCBpW1N5bWJvbC5pdGVyYXRvcl0gPSBmdW5jdGlvbiAoKSB7IHJldHVybiB0aGlzOyB9LCBpO1xyXG4gICAgZnVuY3Rpb24gdmVyYihuLCBmKSB7IGlbbl0gPSBvW25dID8gZnVuY3Rpb24gKHYpIHsgcmV0dXJuIChwID0gIXApID8geyB2YWx1ZTogX19hd2FpdChvW25dKHYpKSwgZG9uZTogbiA9PT0gXCJyZXR1cm5cIiB9IDogZiA/IGYodikgOiB2OyB9IDogZjsgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19hc3luY1ZhbHVlcyhvKSB7XHJcbiAgICBpZiAoIVN5bWJvbC5hc3luY0l0ZXJhdG9yKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiU3ltYm9sLmFzeW5jSXRlcmF0b3IgaXMgbm90IGRlZmluZWQuXCIpO1xyXG4gICAgdmFyIG0gPSBvW1N5bWJvbC5hc3luY0l0ZXJhdG9yXSwgaTtcclxuICAgIHJldHVybiBtID8gbS5jYWxsKG8pIDogKG8gPSB0eXBlb2YgX192YWx1ZXMgPT09IFwiZnVuY3Rpb25cIiA/IF9fdmFsdWVzKG8pIDogb1tTeW1ib2wuaXRlcmF0b3JdKCksIGkgPSB7fSwgdmVyYihcIm5leHRcIiksIHZlcmIoXCJ0aHJvd1wiKSwgdmVyYihcInJldHVyblwiKSwgaVtTeW1ib2wuYXN5bmNJdGVyYXRvcl0gPSBmdW5jdGlvbiAoKSB7IHJldHVybiB0aGlzOyB9LCBpKTtcclxuICAgIGZ1bmN0aW9uIHZlcmIobikgeyBpW25dID0gb1tuXSAmJiBmdW5jdGlvbiAodikgeyByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkgeyB2ID0gb1tuXSh2KSwgc2V0dGxlKHJlc29sdmUsIHJlamVjdCwgdi5kb25lLCB2LnZhbHVlKTsgfSk7IH07IH1cclxuICAgIGZ1bmN0aW9uIHNldHRsZShyZXNvbHZlLCByZWplY3QsIGQsIHYpIHsgUHJvbWlzZS5yZXNvbHZlKHYpLnRoZW4oZnVuY3Rpb24odikgeyByZXNvbHZlKHsgdmFsdWU6IHYsIGRvbmU6IGQgfSk7IH0sIHJlamVjdCk7IH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fbWFrZVRlbXBsYXRlT2JqZWN0KGNvb2tlZCwgcmF3KSB7XHJcbiAgICBpZiAoT2JqZWN0LmRlZmluZVByb3BlcnR5KSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjb29rZWQsIFwicmF3XCIsIHsgdmFsdWU6IHJhdyB9KTsgfSBlbHNlIHsgY29va2VkLnJhdyA9IHJhdzsgfVxyXG4gICAgcmV0dXJuIGNvb2tlZDtcclxufTtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2ltcG9ydFN0YXIobW9kKSB7XHJcbiAgICBpZiAobW9kICYmIG1vZC5fX2VzTW9kdWxlKSByZXR1cm4gbW9kO1xyXG4gICAgdmFyIHJlc3VsdCA9IHt9O1xyXG4gICAgaWYgKG1vZCAhPSBudWxsKSBmb3IgKHZhciBrIGluIG1vZCkgaWYgKE9iamVjdC5oYXNPd25Qcm9wZXJ0eS5jYWxsKG1vZCwgaykpIHJlc3VsdFtrXSA9IG1vZFtrXTtcclxuICAgIHJlc3VsdC5kZWZhdWx0ID0gbW9kO1xyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9faW1wb3J0RGVmYXVsdChtb2QpIHtcclxuICAgIHJldHVybiAobW9kICYmIG1vZC5fX2VzTW9kdWxlKSA/IG1vZCA6IHsgZGVmYXVsdDogbW9kIH07XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2NsYXNzUHJpdmF0ZUZpZWxkR2V0KHJlY2VpdmVyLCBwcml2YXRlTWFwKSB7XHJcbiAgICBpZiAoIXByaXZhdGVNYXAuaGFzKHJlY2VpdmVyKSkge1xyXG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJhdHRlbXB0ZWQgdG8gZ2V0IHByaXZhdGUgZmllbGQgb24gbm9uLWluc3RhbmNlXCIpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHByaXZhdGVNYXAuZ2V0KHJlY2VpdmVyKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fY2xhc3NQcml2YXRlRmllbGRTZXQocmVjZWl2ZXIsIHByaXZhdGVNYXAsIHZhbHVlKSB7XHJcbiAgICBpZiAoIXByaXZhdGVNYXAuaGFzKHJlY2VpdmVyKSkge1xyXG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJhdHRlbXB0ZWQgdG8gc2V0IHByaXZhdGUgZmllbGQgb24gbm9uLWluc3RhbmNlXCIpO1xyXG4gICAgfVxyXG4gICAgcHJpdmF0ZU1hcC5zZXQocmVjZWl2ZXIsIHZhbHVlKTtcclxuICAgIHJldHVybiB2YWx1ZTtcclxufVxyXG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/analytics-next/node_modules/tslib/tslib.es6.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/avatar/dist/esm/components/Avatar.js": /*!*********************************************************************!*\ !*** ./node_modules/@atlaskit/avatar/dist/esm/components/Avatar.js ***! \*********************************************************************/ /*! exports provided: AvatarWithoutAnalytics, default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* WEBPACK VAR INJECTION */(function(process) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"AvatarWithoutAnalytics\", function() { return AvatarWithoutAnalytics; });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/@atlaskit/avatar/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _atlaskit_analytics_next__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @atlaskit/analytics-next */ \"./node_modules/@atlaskit/analytics-next/dist/esm/index.js\");\n/* harmony import */ var _atlaskit_tooltip__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @atlaskit/tooltip */ \"./node_modules/@atlaskit/tooltip/dist/esm/index.js\");\n/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../helpers */ \"./node_modules/@atlaskit/avatar/dist/esm/helpers/index.js\");\n/* harmony import */ var _hoc__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../hoc */ \"./node_modules/@atlaskit/avatar/dist/esm/hoc/index.js\");\n/* harmony import */ var _styled_Avatar__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../styled/Avatar */ \"./node_modules/@atlaskit/avatar/dist/esm/styled/Avatar.js\");\n/* harmony import */ var _styled_constants__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../styled/constants */ \"./node_modules/@atlaskit/avatar/dist/esm/styled/constants.js\");\n/* harmony import */ var _theme__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../theme */ \"./node_modules/@atlaskit/avatar/dist/esm/theme/index.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../utils */ \"./node_modules/@atlaskit/avatar/dist/esm/utils.js\");\n/* harmony import */ var _version_json__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../version.json */ \"./node_modules/@atlaskit/avatar/dist/esm/version.json\");\nvar _version_json__WEBPACK_IMPORTED_MODULE_10___namespace = /*#__PURE__*/__webpack_require__.t(/*! ../version.json */ \"./node_modules/@atlaskit/avatar/dist/esm/version.json\", 1);\n/* harmony import */ var _AvatarImage__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./AvatarImage */ \"./node_modules/@atlaskit/avatar/dist/esm/components/AvatarImage.js\");\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./constants */ \"./node_modules/@atlaskit/avatar/dist/esm/components/constants.js\");\n/* harmony import */ var _Presence__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./Presence */ \"./node_modules/@atlaskit/avatar/dist/esm/components/Presence.js\");\n/* harmony import */ var _Status__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./Status */ \"./node_modules/@atlaskit/avatar/dist/esm/components/Status.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar validIconSizes = Object.keys(_styled_constants__WEBPACK_IMPORTED_MODULE_7__[\"ICON_SIZES\"]);\nvar warn = function (message) {\n if ( true && !process.env.CI) {\n console.warn(message); // eslint-disable-line no-console\n }\n};\nvar Avatar = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(Avatar, _super);\n function Avatar() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.createAndFireEventOnAtlaskit = Object(_atlaskit_analytics_next__WEBPACK_IMPORTED_MODULE_2__[\"createAndFireEvent\"])('atlaskit');\n _this.clickAnalyticsCaller = function () {\n var createAnalyticsEvent = _this.props.createAnalyticsEvent;\n return createAnalyticsEvent\n ? _this.createAndFireEventOnAtlaskit({\n action: 'clicked',\n actionSubject: 'avatar',\n attributes: {\n componentName: 'avatar',\n packageName: _version_json__WEBPACK_IMPORTED_MODULE_10__[\"name\"],\n packageVersion: _version_json__WEBPACK_IMPORTED_MODULE_10__[\"version\"],\n },\n })(createAnalyticsEvent)\n : undefined;\n };\n // expose blur/focus to consumers via ref\n _this.blur = function () {\n if (_this.ref)\n _this.ref.blur();\n };\n _this.focus = function () {\n if (_this.ref)\n _this.ref.focus();\n };\n // disallow click on disabled avatars\n // only return avatar data properties\n _this.guardedClick = function (event) {\n var _a = _this.props, isDisabled = _a.isDisabled, onClick = _a.onClick;\n if (isDisabled || typeof onClick !== 'function')\n return;\n var item = _utils__WEBPACK_IMPORTED_MODULE_9__[\"omit\"].apply(void 0, Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__spread\"])([_this.props], _constants__WEBPACK_IMPORTED_MODULE_12__[\"propsOmittedFromClickData\"]));\n var analyticsEvent = _this.clickAnalyticsCaller();\n onClick({ item: item, event: event }, analyticsEvent);\n };\n // enforce status / presence rules\n /* eslint-disable no-console */\n _this.renderIcon = function () {\n var _a = _this.props, appearance = _a.appearance, borderColor = _a.borderColor, presence = _a.presence, status = _a.status;\n var showPresence = Boolean(presence);\n var showStatus = Boolean(status);\n // no icon needed\n if (!showStatus && !showPresence) {\n return null;\n }\n if (showStatus && showPresence) {\n warn('Avatar supports `presence` OR `status` properties, not both.');\n return null;\n }\n // only support particular sizes\n if (validIconSizes.indexOf(_this.props.size) === -1) {\n warn(\"Avatar size \\\"\" + String(_this.props.size) + \"\\\" does NOT support \" + (showPresence ? 'presence' : 'status'));\n return null;\n }\n // we can cast here because we already know that it is a valid icon size\n var size = _this.props.size;\n var indicator = (function () {\n if (showPresence) {\n var customPresenceNode = typeof presence === 'object' ? presence : null;\n return (react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_styled_Avatar__WEBPACK_IMPORTED_MODULE_6__[\"PresenceWrapper\"], { appearance: appearance, size: size },\n react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_Presence__WEBPACK_IMPORTED_MODULE_13__[\"default\"], { borderColor: borderColor, presence: !customPresenceNode && presence, size: size }, customPresenceNode)));\n }\n // showStatus\n var customStatusNode = typeof status === 'object' ? status : null;\n return (react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_styled_Avatar__WEBPACK_IMPORTED_MODULE_6__[\"StatusWrapper\"], { appearance: appearance, size: size },\n react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_Status__WEBPACK_IMPORTED_MODULE_14__[\"default\"], { borderColor: borderColor, status: !customStatusNode && status, size: size }, customStatusNode)));\n })();\n return indicator;\n };\n _this.setRef = function (ref) {\n _this.ref = ref;\n };\n return _this;\n }\n Avatar.prototype.render = function () {\n var _a = this.props, appearance = _a.appearance, enableTooltip = _a.enableTooltip, name = _a.name, size = _a.size, src = _a.src, stackIndex = _a.stackIndex, onClick = _a.onClick, theme = _a.theme, testId = _a.testId;\n // distill props from context, props, and state\n var enhancedProps = Object(_helpers__WEBPACK_IMPORTED_MODULE_4__[\"getProps\"])(this);\n // provide element interface based on props\n var Inner = Object(_helpers__WEBPACK_IMPORTED_MODULE_4__[\"getStyledAvatar\"])(this.props);\n Inner.displayName = 'Inner';\n var AvatarNode = (react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_theme__WEBPACK_IMPORTED_MODULE_8__[\"Theme\"].Provider, { value: theme },\n react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_styled_Avatar__WEBPACK_IMPORTED_MODULE_6__[\"default\"], { size: size, stackIndex: stackIndex, testId: testId },\n react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(Inner, Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({ innerRef: this.setRef }, enhancedProps, { onClick: onClick != null ? this.guardedClick : undefined }),\n react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_AvatarImage__WEBPACK_IMPORTED_MODULE_11__[\"default\"], { alt: name, appearance: appearance, size: size, src: src })),\n this.renderIcon())));\n return enableTooltip && name ? (react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_atlaskit_tooltip__WEBPACK_IMPORTED_MODULE_3__[\"default\"], { content: name }, AvatarNode)) : (AvatarNode);\n };\n Avatar.defaultProps = {\n appearance: 'circle',\n enableTooltip: true,\n size: 'medium',\n };\n return Avatar;\n}(react__WEBPACK_IMPORTED_MODULE_1__[\"Component\"]));\nvar AvatarWithoutAnalytics = Object(_hoc__WEBPACK_IMPORTED_MODULE_5__[\"mapProps\"])({\n appearance: function (props) { return props.appearance || Avatar.defaultProps.appearance; },\n isInteractive: function (props) {\n return Boolean((typeof props.enableTooltip !== 'undefined'\n ? props.enableTooltip\n : Avatar.defaultProps.enableTooltip) && props.name);\n },\n})(Object(_hoc__WEBPACK_IMPORTED_MODULE_5__[\"withPseudoState\"])(Avatar));\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(_atlaskit_analytics_next__WEBPACK_IMPORTED_MODULE_2__[\"withAnalyticsContext\"])({\n componentName: 'avatar',\n packageName: _version_json__WEBPACK_IMPORTED_MODULE_10__[\"name\"],\n packageVersion: _version_json__WEBPACK_IMPORTED_MODULE_10__[\"version\"],\n})(Object(_atlaskit_analytics_next__WEBPACK_IMPORTED_MODULE_2__[\"withAnalyticsEvents\"])()(AvatarWithoutAnalytics)));\n//# sourceMappingURL=Avatar.js.map\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../../../../process/browser.js */ \"./node_modules/process/browser.js\")))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L2F2YXRhci9kaXN0L2VzbS9jb21wb25lbnRzL0F2YXRhci5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AYXRsYXNraXQvYXZhdGFyL2Rpc3QvZXNtL2NvbXBvbmVudHMvQXZhdGFyLmpzPzQwNDQiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgX19hc3NpZ24sIF9fZXh0ZW5kcywgX19yZWFkLCBfX3NwcmVhZCB9IGZyb20gXCJ0c2xpYlwiO1xuaW1wb3J0IFJlYWN0LCB7IENvbXBvbmVudCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNyZWF0ZUFuZEZpcmVFdmVudCwgd2l0aEFuYWx5dGljc0NvbnRleHQsIHdpdGhBbmFseXRpY3NFdmVudHMsIH0gZnJvbSAnQGF0bGFza2l0L2FuYWx5dGljcy1uZXh0JztcbmltcG9ydCBUb29sdGlwIGZyb20gJ0BhdGxhc2tpdC90b29sdGlwJztcbmltcG9ydCB7IGdldFByb3BzLCBnZXRTdHlsZWRBdmF0YXIgfSBmcm9tICcuLi9oZWxwZXJzJztcbmltcG9ydCB7IG1hcFByb3BzLCB3aXRoUHNldWRvU3RhdGUgfSBmcm9tICcuLi9ob2MnO1xuaW1wb3J0IE91dGVyLCB7IFByZXNlbmNlV3JhcHBlciwgU3RhdHVzV3JhcHBlciB9IGZyb20gJy4uL3N0eWxlZC9BdmF0YXInO1xuaW1wb3J0IHsgSUNPTl9TSVpFUyB9IGZyb20gJy4uL3N0eWxlZC9jb25zdGFudHMnO1xuaW1wb3J0IHsgVGhlbWUgfSBmcm9tICcuLi90aGVtZSc7XG5pbXBvcnQgeyBvbWl0IH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgbmFtZSBhcyBwYWNrYWdlTmFtZSwgdmVyc2lvbiBhcyBwYWNrYWdlVmVyc2lvbiwgfSBmcm9tICcuLi92ZXJzaW9uLmpzb24nO1xuaW1wb3J0IEF2YXRhckltYWdlIGZyb20gJy4vQXZhdGFySW1hZ2UnO1xuaW1wb3J0IHsgcHJvcHNPbWl0dGVkRnJvbUNsaWNrRGF0YSB9IGZyb20gJy4vY29uc3RhbnRzJztcbmltcG9ydCBQcmVzZW5jZSBmcm9tICcuL1ByZXNlbmNlJztcbmltcG9ydCBTdGF0dXMgZnJvbSAnLi9TdGF0dXMnO1xudmFyIHZhbGlkSWNvblNpemVzID0gT2JqZWN0LmtleXMoSUNPTl9TSVpFUyk7XG52YXIgd2FybiA9IGZ1bmN0aW9uIChtZXNzYWdlKSB7XG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgIXByb2Nlc3MuZW52LkNJKSB7XG4gICAgICAgIGNvbnNvbGUud2FybihtZXNzYWdlKTsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby1jb25zb2xlXG4gICAgfVxufTtcbnZhciBBdmF0YXIgPSAvKiogQGNsYXNzICovIChmdW5jdGlvbiAoX3N1cGVyKSB7XG4gICAgX19leHRlbmRzKEF2YXRhciwgX3N1cGVyKTtcbiAgICBmdW5jdGlvbiBBdmF0YXIoKSB7XG4gICAgICAgIHZhciBfdGhpcyA9IF9zdXBlciAhPT0gbnVsbCAmJiBfc3VwZXIuYXBwbHkodGhpcywgYXJndW1lbnRzKSB8fCB0aGlzO1xuICAgICAgICBfdGhpcy5jcmVhdGVBbmRGaXJlRXZlbnRPbkF0bGFza2l0ID0gY3JlYXRlQW5kRmlyZUV2ZW50KCdhdGxhc2tpdCcpO1xuICAgICAgICBfdGhpcy5jbGlja0FuYWx5dGljc0NhbGxlciA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHZhciBjcmVhdGVBbmFseXRpY3NFdmVudCA9IF90aGlzLnByb3BzLmNyZWF0ZUFuYWx5dGljc0V2ZW50O1xuICAgICAgICAgICAgcmV0dXJuIGNyZWF0ZUFuYWx5dGljc0V2ZW50XG4gICAgICAgICAgICAgICAgPyBfdGhpcy5jcmVhdGVBbmRGaXJlRXZlbnRPbkF0bGFza2l0KHtcbiAgICAgICAgICAgICAgICAgICAgYWN0aW9uOiAnY2xpY2tlZCcsXG4gICAgICAgICAgICAgICAgICAgIGFjdGlvblN1YmplY3Q6ICdhdmF0YXInLFxuICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb21wb25lbnROYW1lOiAnYXZhdGFyJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhY2thZ2VOYW1lOiBwYWNrYWdlTmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhY2thZ2VWZXJzaW9uOiBwYWNrYWdlVmVyc2lvbixcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9KShjcmVhdGVBbmFseXRpY3NFdmVudClcbiAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICAgICAgfTtcbiAgICAgICAgLy8gZXhwb3NlIGJsdXIvZm9jdXMgdG8gY29uc3VtZXJzIHZpYSByZWZcbiAgICAgICAgX3RoaXMuYmx1ciA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIGlmIChfdGhpcy5yZWYpXG4gICAgICAgICAgICAgICAgX3RoaXMucmVmLmJsdXIoKTtcbiAgICAgICAgfTtcbiAgICAgICAgX3RoaXMuZm9jdXMgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICBpZiAoX3RoaXMucmVmKVxuICAgICAgICAgICAgICAgIF90aGlzLnJlZi5mb2N1cygpO1xuICAgICAgICB9O1xuICAgICAgICAvLyBkaXNhbGxvdyBjbGljayBvbiBkaXNhYmxlZCBhdmF0YXJzXG4gICAgICAgIC8vIG9ubHkgcmV0dXJuIGF2YXRhciBkYXRhIHByb3BlcnRpZXNcbiAgICAgICAgX3RoaXMuZ3VhcmRlZENsaWNrID0gZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgICAgICB2YXIgX2EgPSBfdGhpcy5wcm9wcywgaXNEaXNhYmxlZCA9IF9hLmlzRGlzYWJsZWQsIG9uQ2xpY2sgPSBfYS5vbkNsaWNrO1xuICAgICAgICAgICAgaWYgKGlzRGlzYWJsZWQgfHwgdHlwZW9mIG9uQ2xpY2sgIT09ICdmdW5jdGlvbicpXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgdmFyIGl0ZW0gPSBvbWl0LmFwcGx5KHZvaWQgMCwgX19zcHJlYWQoW190aGlzLnByb3BzXSwgcHJvcHNPbWl0dGVkRnJvbUNsaWNrRGF0YSkpO1xuICAgICAgICAgICAgdmFyIGFuYWx5dGljc0V2ZW50ID0gX3RoaXMuY2xpY2tBbmFseXRpY3NDYWxsZXIoKTtcbiAgICAgICAgICAgIG9uQ2xpY2soeyBpdGVtOiBpdGVtLCBldmVudDogZXZlbnQgfSwgYW5hbHl0aWNzRXZlbnQpO1xuICAgICAgICB9O1xuICAgICAgICAvLyBlbmZvcmNlIHN0YXR1cyAvIHByZXNlbmNlIHJ1bGVzXG4gICAgICAgIC8qIGVzbGludC1kaXNhYmxlIG5vLWNvbnNvbGUgKi9cbiAgICAgICAgX3RoaXMucmVuZGVySWNvbiA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHZhciBfYSA9IF90aGlzLnByb3BzLCBhcHBlYXJhbmNlID0gX2EuYXBwZWFyYW5jZSwgYm9yZGVyQ29sb3IgPSBfYS5ib3JkZXJDb2xvciwgcHJlc2VuY2UgPSBfYS5wcmVzZW5jZSwgc3RhdHVzID0gX2Euc3RhdHVzO1xuICAgICAgICAgICAgdmFyIHNob3dQcmVzZW5jZSA9IEJvb2xlYW4ocHJlc2VuY2UpO1xuICAgICAgICAgICAgdmFyIHNob3dTdGF0dXMgPSBCb29sZWFuKHN0YXR1cyk7XG4gICAgICAgICAgICAvLyBubyBpY29uIG5lZWRlZFxuICAgICAgICAgICAgaWYgKCFzaG93U3RhdHVzICYmICFzaG93UHJlc2VuY2UpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChzaG93U3RhdHVzICYmIHNob3dQcmVzZW5jZSkge1xuICAgICAgICAgICAgICAgIHdhcm4oJ0F2YXRhciBzdXBwb3J0cyBgcHJlc2VuY2VgIE9SIGBzdGF0dXNgIHByb3BlcnRpZXMsIG5vdCBib3RoLicpO1xuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gb25seSBzdXBwb3J0IHBhcnRpY3VsYXIgc2l6ZXNcbiAgICAgICAgICAgIGlmICh2YWxpZEljb25TaXplcy5pbmRleE9mKF90aGlzLnByb3BzLnNpemUpID09PSAtMSkge1xuICAgICAgICAgICAgICAgIHdhcm4oXCJBdmF0YXIgc2l6ZSBcXFwiXCIgKyBTdHJpbmcoX3RoaXMucHJvcHMuc2l6ZSkgKyBcIlxcXCIgZG9lcyBOT1Qgc3VwcG9ydCBcIiArIChzaG93UHJlc2VuY2UgPyAncHJlc2VuY2UnIDogJ3N0YXR1cycpKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIHdlIGNhbiBjYXN0IGhlcmUgYmVjYXVzZSB3ZSBhbHJlYWR5IGtub3cgdGhhdCBpdCBpcyBhIHZhbGlkIGljb24gc2l6ZVxuICAgICAgICAgICAgdmFyIHNpemUgPSBfdGhpcy5wcm9wcy5zaXplO1xuICAgICAgICAgICAgdmFyIGluZGljYXRvciA9IChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgaWYgKHNob3dQcmVzZW5jZSkge1xuICAgICAgICAgICAgICAgICAgICB2YXIgY3VzdG9tUHJlc2VuY2VOb2RlID0gdHlwZW9mIHByZXNlbmNlID09PSAnb2JqZWN0JyA/IHByZXNlbmNlIDogbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KFByZXNlbmNlV3JhcHBlciwgeyBhcHBlYXJhbmNlOiBhcHBlYXJhbmNlLCBzaXplOiBzaXplIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFByZXNlbmNlLCB7IGJvcmRlckNvbG9yOiBib3JkZXJDb2xvciwgcHJlc2VuY2U6ICFjdXN0b21QcmVzZW5jZU5vZGUgJiYgcHJlc2VuY2UsIHNpemU6IHNpemUgfSwgY3VzdG9tUHJlc2VuY2VOb2RlKSkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAvLyBzaG93U3RhdHVzXG4gICAgICAgICAgICAgICAgdmFyIGN1c3RvbVN0YXR1c05vZGUgPSB0eXBlb2Ygc3RhdHVzID09PSAnb2JqZWN0JyA/IHN0YXR1cyA6IG51bGw7XG4gICAgICAgICAgICAgICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KFN0YXR1c1dyYXBwZXIsIHsgYXBwZWFyYW5jZTogYXBwZWFyYW5jZSwgc2l6ZTogc2l6ZSB9LFxuICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFN0YXR1cywgeyBib3JkZXJDb2xvcjogYm9yZGVyQ29sb3IsIHN0YXR1czogIWN1c3RvbVN0YXR1c05vZGUgJiYgc3RhdHVzLCBzaXplOiBzaXplIH0sIGN1c3RvbVN0YXR1c05vZGUpKSk7XG4gICAgICAgICAgICB9KSgpO1xuICAgICAgICAgICAgcmV0dXJuIGluZGljYXRvcjtcbiAgICAgICAgfTtcbiAgICAgICAgX3RoaXMuc2V0UmVmID0gZnVuY3Rpb24gKHJlZikge1xuICAgICAgICAgICAgX3RoaXMucmVmID0gcmVmO1xuICAgICAgICB9O1xuICAgICAgICByZXR1cm4gX3RoaXM7XG4gICAgfVxuICAgIEF2YXRhci5wcm90b3R5cGUucmVuZGVyID0gZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgX2EgPSB0aGlzLnByb3BzLCBhcHBlYXJhbmNlID0gX2EuYXBwZWFyYW5jZSwgZW5hYmxlVG9vbHRpcCA9IF9hLmVuYWJsZVRvb2x0aXAsIG5hbWUgPSBfYS5uYW1lLCBzaXplID0gX2Euc2l6ZSwgc3JjID0gX2Euc3JjLCBzdGFja0luZGV4ID0gX2Euc3RhY2tJbmRleCwgb25DbGljayA9IF9hLm9uQ2xpY2ssIHRoZW1lID0gX2EudGhlbWUsIHRlc3RJZCA9IF9hLnRlc3RJZDtcbiAgICAgICAgLy8gZGlzdGlsbCBwcm9wcyBmcm9tIGNvbnRleHQsIHByb3BzLCBhbmQgc3RhdGVcbiAgICAgICAgdmFyIGVuaGFuY2VkUHJvcHMgPSBnZXRQcm9wcyh0aGlzKTtcbiAgICAgICAgLy8gcHJvdmlkZSBlbGVtZW50IGludGVyZmFjZSBiYXNlZCBvbiBwcm9wc1xuICAgICAgICB2YXIgSW5uZXIgPSBnZXRTdHlsZWRBdmF0YXIodGhpcy5wcm9wcyk7XG4gICAgICAgIElubmVyLmRpc3BsYXlOYW1lID0gJ0lubmVyJztcbiAgICAgICAgdmFyIEF2YXRhck5vZGUgPSAoUmVhY3QuY3JlYXRlRWxlbWVudChUaGVtZS5Qcm92aWRlciwgeyB2YWx1ZTogdGhlbWUgfSxcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoT3V0ZXIsIHsgc2l6ZTogc2l6ZSwgc3RhY2tJbmRleDogc3RhY2tJbmRleCwgdGVzdElkOiB0ZXN0SWQgfSxcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KElubmVyLCBfX2Fzc2lnbih7IGlubmVyUmVmOiB0aGlzLnNldFJlZiB9LCBlbmhhbmNlZFByb3BzLCB7IG9uQ2xpY2s6IG9uQ2xpY2sgIT0gbnVsbCA/IHRoaXMuZ3VhcmRlZENsaWNrIDogdW5kZWZpbmVkIH0pLFxuICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KEF2YXRhckltYWdlLCB7IGFsdDogbmFtZSwgYXBwZWFyYW5jZTogYXBwZWFyYW5jZSwgc2l6ZTogc2l6ZSwgc3JjOiBzcmMgfSkpLFxuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVySWNvbigpKSkpO1xuICAgICAgICByZXR1cm4gZW5hYmxlVG9vbHRpcCAmJiBuYW1lID8gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoVG9vbHRpcCwgeyBjb250ZW50OiBuYW1lIH0sIEF2YXRhck5vZGUpKSA6IChBdmF0YXJOb2RlKTtcbiAgICB9O1xuICAgIEF2YXRhci5kZWZhdWx0UHJvcHMgPSB7XG4gICAgICAgIGFwcGVhcmFuY2U6ICdjaXJjbGUnLFxuICAgICAgICBlbmFibGVUb29sdGlwOiB0cnVlLFxuICAgICAgICBzaXplOiAnbWVkaXVtJyxcbiAgICB9O1xuICAgIHJldHVybiBBdmF0YXI7XG59KENvbXBvbmVudCkpO1xuZXhwb3J0IHZhciBBdmF0YXJXaXRob3V0QW5hbHl0aWNzID0gbWFwUHJvcHMoe1xuICAgIGFwcGVhcmFuY2U6IGZ1bmN0aW9uIChwcm9wcykgeyByZXR1cm4gcHJvcHMuYXBwZWFyYW5jZSB8fCBBdmF0YXIuZGVmYXVsdFByb3BzLmFwcGVhcmFuY2U7IH0sXG4gICAgaXNJbnRlcmFjdGl2ZTogZnVuY3Rpb24gKHByb3BzKSB7XG4gICAgICAgIHJldHVybiBCb29sZWFuKCh0eXBlb2YgcHJvcHMuZW5hYmxlVG9vbHRpcCAhPT0gJ3VuZGVmaW5lZCdcbiAgICAgICAgICAgID8gcHJvcHMuZW5hYmxlVG9vbHRpcFxuICAgICAgICAgICAgOiBBdmF0YXIuZGVmYXVsdFByb3BzLmVuYWJsZVRvb2x0aXApICYmIHByb3BzLm5hbWUpO1xuICAgIH0sXG59KSh3aXRoUHNldWRvU3RhdGUoQXZhdGFyKSk7XG5leHBvcnQgZGVmYXVsdCB3aXRoQW5hbHl0aWNzQ29udGV4dCh7XG4gICAgY29tcG9uZW50TmFtZTogJ2F2YXRhcicsXG4gICAgcGFja2FnZU5hbWU6IHBhY2thZ2VOYW1lLFxuICAgIHBhY2thZ2VWZXJzaW9uOiBwYWNrYWdlVmVyc2lvbixcbn0pKHdpdGhBbmFseXRpY3NFdmVudHMoKShBdmF0YXJXaXRob3V0QW5hbHl0aWNzKSk7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1BdmF0YXIuanMubWFwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/avatar/dist/esm/components/Avatar.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/avatar/dist/esm/components/AvatarImage.js": /*!**************************************************************************!*\ !*** ./node_modules/@atlaskit/avatar/dist/esm/components/AvatarImage.js ***! \**************************************************************************/ /*! exports provided: DefaultImage, default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DefaultImage\", function() { return DefaultImage; });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/@atlaskit/avatar/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _atlaskit_theme_components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @atlaskit/theme/components */ \"./node_modules/@atlaskit/theme/dist/esm/components.js\");\n/* harmony import */ var _styled_AvatarImage__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../styled/AvatarImage */ \"./node_modules/@atlaskit/avatar/dist/esm/styled/AvatarImage.js\");\n\n\n\n\nfunction DefaultImage(_a) {\n var appearance = _a.appearance, size = _a.size, title = _a.title, isLoading = _a.isLoading;\n var rectBounds = 128;\n return (react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_atlaskit_theme_components__WEBPACK_IMPORTED_MODULE_2__[\"default\"].Consumer, null, function (_a) {\n var mode = _a.mode;\n return (react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_styled_AvatarImage__WEBPACK_IMPORTED_MODULE_3__[\"Svg\"], { appearance: appearance, isLoading: isLoading, size: size, viewBox: \"0 0 \" + rectBounds + \" \" + rectBounds, version: \"1.1\", xmlns: \"http://www.w3.org/2000/svg\", role: \"img\", \"aria-label\": title }, appearance === 'circle' ? (react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_styled_AvatarImage__WEBPACK_IMPORTED_MODULE_3__[\"ShapeGroup\"], { mode: mode },\n react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\"circle\", { cx: \"64\", cy: \"64\", r: \"64\" }),\n react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\"g\", null,\n react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\"path\", { d: \"M103,102.1388 C93.094,111.92 79.3504,118 64.1638,118 C48.8056,118 34.9294,111.768 25,101.7892 L25,95.2 C25,86.8096 31.981,80 40.6,80 L87.4,80 C96.019,80 103,86.8096 103,95.2 L103,102.1388 Z\" }),\n react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\"path\", { d: \"M63.9961647,24 C51.2938136,24 41,34.2938136 41,46.9961647 C41,59.7061864 51.2938136,70 63.9961647,70 C76.6985159,70 87,59.7061864 87,46.9961647 C87,34.2938136 76.6985159,24 63.9961647,24\" })))) : (react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_styled_AvatarImage__WEBPACK_IMPORTED_MODULE_3__[\"ShapeGroup\"], { mode: mode },\n react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\"rect\", { x: \"0\", y: \"0\", width: rectBounds, height: rectBounds }),\n react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\"g\", { transform: \"translate(19.000000, 32.000000)\" },\n react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\"path\", { d: \"M18.25,32.5 L54.5833333,32.5 L54.5833333,23.4166667 L18.25,23.4166667 L18.25,32.5 Z M9.16666667,18.8331166 C9.16666667,16.3479549 11.236581,14.3333333 13.7195662,14.3333333 L59.1137671,14.3333333 C61.6282641,14.3333333 63.6666667,16.3815123 63.6666667,18.8331166 L63.6666667,41.5833333 L9.16666667,41.5833333 L9.16666667,18.8331166 Z\" }),\n react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\"path\", { d: \"M18.25,9.81383682 C18.25,4.7850061 22.3296003,0.708333333 27.3238554,0.708333333 L36.4261446,0.708333333 C41.4374965,0.708333333 45.5,4.76812825 45.5,9.81383682 L45.5,23.4166667 L18.25,23.4166667 L18.25,9.81383682 Z M36.4166667,9.81383682 C36.4166667,9.79803315 36.4184748,9.79303784 36.4207515,9.79166667 L27.3238554,9.79166667 C27.3447224,9.79166667 27.3333333,9.80308059 27.3333333,9.81383682 L27.3333333,14.3333333 L36.4166667,14.3333333 L36.4166667,9.81383682 Z\" }),\n react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\"path\", { d: \"M11.4386532,55.2083333 L74.9953562,55.2083333 L79.5452242,41.5833333 L9.80449752,41.5833333 L11.4386532,55.2083333 Z M0.1048547,36.987541 C-0.192399775,34.5091405 1.5865717,32.5 4.09502839,32.5 L87.6264735,32.5 C90.1274401,32.5 91.5225656,34.393506 90.7231047,36.7875656 L82.9702846,60.004101 C82.1795402,62.3720582 79.5279445,64.2916667 76.9985338,64.2916667 L7.91963924,64.2916667 C5.41227673,64.2916667 3.14113571,62.3029555 2.84143097,59.8041257 L0.1048547,36.987541 Z\" }))))));\n }));\n}\nvar AvatarImage = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(AvatarImage, _super);\n function AvatarImage() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.state = {\n hasError: false,\n isLoading: false,\n };\n _this.handleLoadSuccess = function () {\n _this.setState({ hasError: false, isLoading: false });\n };\n _this.handleLoadError = function () {\n _this.setState({ hasError: true, isLoading: false });\n };\n return _this;\n }\n AvatarImage.prototype.componentDidMount = function () {\n if (this.props.src) {\n // check whether there was a problem loading the image\n // if handleLoadError is called we show the default avatar\n var img = new Image();\n img.onerror = this.handleLoadError;\n img.src = this.props.src || '';\n }\n };\n AvatarImage.prototype.componentDidUpdate = function (prevProps) {\n var _this = this;\n if (this.props.src && this.props.src !== prevProps.src) {\n // eslint-disable-next-line react/no-did-update-set-state\n this.setState({ isLoading: true }, function () {\n var img = new Image();\n img.onload = _this.handleLoadSuccess;\n img.onerror = _this.handleLoadError;\n img.src = _this.props.src || '';\n });\n }\n };\n AvatarImage.prototype.render = function () {\n var _a = this.props, alt = _a.alt, src = _a.src, appearance = _a.appearance, size = _a.size;\n var _b = this.state, hasError = _b.hasError, isLoading = _b.isLoading;\n var showDefault = !isLoading && (!src || hasError);\n var imageUrl = src && !isLoading ? src : undefined;\n return showDefault ? (react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(DefaultImage, { appearance: appearance, size: size, title: alt, isLoading: isLoading })) : (react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_styled_AvatarImage__WEBPACK_IMPORTED_MODULE_3__[\"Slot\"], { appearance: appearance, isLoading: isLoading, size: size, role: \"img\", label: alt, backgroundImage: imageUrl }));\n };\n return AvatarImage;\n}(react__WEBPACK_IMPORTED_MODULE_1__[\"PureComponent\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (AvatarImage);\n//# sourceMappingURL=AvatarImage.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L2F2YXRhci9kaXN0L2VzbS9jb21wb25lbnRzL0F2YXRhckltYWdlLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BhdGxhc2tpdC9hdmF0YXIvZGlzdC9lc20vY29tcG9uZW50cy9BdmF0YXJJbWFnZS5qcz9hOGQ5Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IF9fZXh0ZW5kcyB9IGZyb20gXCJ0c2xpYlwiO1xuaW1wb3J0IFJlYWN0LCB7IFB1cmVDb21wb25lbnQgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgR2xvYmFsVGhlbWUgZnJvbSAnQGF0bGFza2l0L3RoZW1lL2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgU2hhcGVHcm91cCwgU2xvdCwgU3ZnIH0gZnJvbSAnLi4vc3R5bGVkL0F2YXRhckltYWdlJztcbmV4cG9ydCBmdW5jdGlvbiBEZWZhdWx0SW1hZ2UoX2EpIHtcbiAgICB2YXIgYXBwZWFyYW5jZSA9IF9hLmFwcGVhcmFuY2UsIHNpemUgPSBfYS5zaXplLCB0aXRsZSA9IF9hLnRpdGxlLCBpc0xvYWRpbmcgPSBfYS5pc0xvYWRpbmc7XG4gICAgdmFyIHJlY3RCb3VuZHMgPSAxMjg7XG4gICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KEdsb2JhbFRoZW1lLkNvbnN1bWVyLCBudWxsLCBmdW5jdGlvbiAoX2EpIHtcbiAgICAgICAgdmFyIG1vZGUgPSBfYS5tb2RlO1xuICAgICAgICByZXR1cm4gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoU3ZnLCB7IGFwcGVhcmFuY2U6IGFwcGVhcmFuY2UsIGlzTG9hZGluZzogaXNMb2FkaW5nLCBzaXplOiBzaXplLCB2aWV3Qm94OiBcIjAgMCBcIiArIHJlY3RCb3VuZHMgKyBcIiBcIiArIHJlY3RCb3VuZHMsIHZlcnNpb246IFwiMS4xXCIsIHhtbG5zOiBcImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIsIHJvbGU6IFwiaW1nXCIsIFwiYXJpYS1sYWJlbFwiOiB0aXRsZSB9LCBhcHBlYXJhbmNlID09PSAnY2lyY2xlJyA/IChSZWFjdC5jcmVhdGVFbGVtZW50KFNoYXBlR3JvdXAsIHsgbW9kZTogbW9kZSB9LFxuICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChcImNpcmNsZVwiLCB7IGN4OiBcIjY0XCIsIGN5OiBcIjY0XCIsIHI6IFwiNjRcIiB9KSxcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJnXCIsIG51bGwsXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChcInBhdGhcIiwgeyBkOiBcIk0xMDMsMTAyLjEzODggQzkzLjA5NCwxMTEuOTIgNzkuMzUwNCwxMTggNjQuMTYzOCwxMTggQzQ4LjgwNTYsMTE4IDM0LjkyOTQsMTExLjc2OCAyNSwxMDEuNzg5MiBMMjUsOTUuMiBDMjUsODYuODA5NiAzMS45ODEsODAgNDAuNiw4MCBMODcuNCw4MCBDOTYuMDE5LDgwIDEwMyw4Ni44MDk2IDEwMyw5NS4yIEwxMDMsMTAyLjEzODggWlwiIH0pLFxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJwYXRoXCIsIHsgZDogXCJNNjMuOTk2MTY0NywyNCBDNTEuMjkzODEzNiwyNCA0MSwzNC4yOTM4MTM2IDQxLDQ2Ljk5NjE2NDcgQzQxLDU5LjcwNjE4NjQgNTEuMjkzODEzNiw3MCA2My45OTYxNjQ3LDcwIEM3Ni42OTg1MTU5LDcwIDg3LDU5LjcwNjE4NjQgODcsNDYuOTk2MTY0NyBDODcsMzQuMjkzODEzNiA3Ni42OTg1MTU5LDI0IDYzLjk5NjE2NDcsMjRcIiB9KSkpKSA6IChSZWFjdC5jcmVhdGVFbGVtZW50KFNoYXBlR3JvdXAsIHsgbW9kZTogbW9kZSB9LFxuICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChcInJlY3RcIiwgeyB4OiBcIjBcIiwgeTogXCIwXCIsIHdpZHRoOiByZWN0Qm91bmRzLCBoZWlnaHQ6IHJlY3RCb3VuZHMgfSksXG4gICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFwiZ1wiLCB7IHRyYW5zZm9ybTogXCJ0cmFuc2xhdGUoMTkuMDAwMDAwLCAzMi4wMDAwMDApXCIgfSxcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFwicGF0aFwiLCB7IGQ6IFwiTTE4LjI1LDMyLjUgTDU0LjU4MzMzMzMsMzIuNSBMNTQuNTgzMzMzMywyMy40MTY2NjY3IEwxOC4yNSwyMy40MTY2NjY3IEwxOC4yNSwzMi41IFogTTkuMTY2NjY2NjcsMTguODMzMTE2NiBDOS4xNjY2NjY2NywxNi4zNDc5NTQ5IDExLjIzNjU4MSwxNC4zMzMzMzMzIDEzLjcxOTU2NjIsMTQuMzMzMzMzMyBMNTkuMTEzNzY3MSwxNC4zMzMzMzMzIEM2MS42MjgyNjQxLDE0LjMzMzMzMzMgNjMuNjY2NjY2NywxNi4zODE1MTIzIDYzLjY2NjY2NjcsMTguODMzMTE2NiBMNjMuNjY2NjY2Nyw0MS41ODMzMzMzIEw5LjE2NjY2NjY3LDQxLjU4MzMzMzMgTDkuMTY2NjY2NjcsMTguODMzMTE2NiBaXCIgfSksXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChcInBhdGhcIiwgeyBkOiBcIk0xOC4yNSw5LjgxMzgzNjgyIEMxOC4yNSw0Ljc4NTAwNjEgMjIuMzI5NjAwMywwLjcwODMzMzMzMyAyNy4zMjM4NTU0LDAuNzA4MzMzMzMzIEwzNi40MjYxNDQ2LDAuNzA4MzMzMzMzIEM0MS40Mzc0OTY1LDAuNzA4MzMzMzMzIDQ1LjUsNC43NjgxMjgyNSA0NS41LDkuODEzODM2ODIgTDQ1LjUsMjMuNDE2NjY2NyBMMTguMjUsMjMuNDE2NjY2NyBMMTguMjUsOS44MTM4MzY4MiBaIE0zNi40MTY2NjY3LDkuODEzODM2ODIgQzM2LjQxNjY2NjcsOS43OTgwMzMxNSAzNi40MTg0NzQ4LDkuNzkzMDM3ODQgMzYuNDIwNzUxNSw5Ljc5MTY2NjY3IEwyNy4zMjM4NTU0LDkuNzkxNjY2NjcgQzI3LjM0NDcyMjQsOS43OTE2NjY2NyAyNy4zMzMzMzMzLDkuODAzMDgwNTkgMjcuMzMzMzMzMyw5LjgxMzgzNjgyIEwyNy4zMzMzMzMzLDE0LjMzMzMzMzMgTDM2LjQxNjY2NjcsMTQuMzMzMzMzMyBMMzYuNDE2NjY2Nyw5LjgxMzgzNjgyIFpcIiB9KSxcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFwicGF0aFwiLCB7IGQ6IFwiTTExLjQzODY1MzIsNTUuMjA4MzMzMyBMNzQuOTk1MzU2Miw1NS4yMDgzMzMzIEw3OS41NDUyMjQyLDQxLjU4MzMzMzMgTDkuODA0NDk3NTIsNDEuNTgzMzMzMyBMMTEuNDM4NjUzMiw1NS4yMDgzMzMzIFogTTAuMTA0ODU0NywzNi45ODc1NDEgQy0wLjE5MjM5OTc3NSwzNC41MDkxNDA1IDEuNTg2NTcxNywzMi41IDQuMDk1MDI4MzksMzIuNSBMODcuNjI2NDczNSwzMi41IEM5MC4xMjc0NDAxLDMyLjUgOTEuNTIyNTY1NiwzNC4zOTM1MDYgOTAuNzIzMTA0NywzNi43ODc1NjU2IEw4Mi45NzAyODQ2LDYwLjAwNDEwMSBDODIuMTc5NTQwMiw2Mi4zNzIwNTgyIDc5LjUyNzk0NDUsNjQuMjkxNjY2NyA3Ni45OTg1MzM4LDY0LjI5MTY2NjcgTDcuOTE5NjM5MjQsNjQuMjkxNjY2NyBDNS40MTIyNzY3Myw2NC4yOTE2NjY3IDMuMTQxMTM1NzEsNjIuMzAyOTU1NSAyLjg0MTQzMDk3LDU5LjgwNDEyNTcgTDAuMTA0ODU0NywzNi45ODc1NDEgWlwiIH0pKSkpKSk7XG4gICAgfSkpO1xufVxudmFyIEF2YXRhckltYWdlID0gLyoqIEBjbGFzcyAqLyAoZnVuY3Rpb24gKF9zdXBlcikge1xuICAgIF9fZXh0ZW5kcyhBdmF0YXJJbWFnZSwgX3N1cGVyKTtcbiAgICBmdW5jdGlvbiBBdmF0YXJJbWFnZSgpIHtcbiAgICAgICAgdmFyIF90aGlzID0gX3N1cGVyICE9PSBudWxsICYmIF9zdXBlci5hcHBseSh0aGlzLCBhcmd1bWVudHMpIHx8IHRoaXM7XG4gICAgICAgIF90aGlzLnN0YXRlID0ge1xuICAgICAgICAgICAgaGFzRXJyb3I6IGZhbHNlLFxuICAgICAgICAgICAgaXNMb2FkaW5nOiBmYWxzZSxcbiAgICAgICAgfTtcbiAgICAgICAgX3RoaXMuaGFuZGxlTG9hZFN1Y2Nlc3MgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICBfdGhpcy5zZXRTdGF0ZSh7IGhhc0Vycm9yOiBmYWxzZSwgaXNMb2FkaW5nOiBmYWxzZSB9KTtcbiAgICAgICAgfTtcbiAgICAgICAgX3RoaXMuaGFuZGxlTG9hZEVycm9yID0gZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgX3RoaXMuc2V0U3RhdGUoeyBoYXNFcnJvcjogdHJ1ZSwgaXNMb2FkaW5nOiBmYWxzZSB9KTtcbiAgICAgICAgfTtcbiAgICAgICAgcmV0dXJuIF90aGlzO1xuICAgIH1cbiAgICBBdmF0YXJJbWFnZS5wcm90b3R5cGUuY29tcG9uZW50RGlkTW91bnQgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGlmICh0aGlzLnByb3BzLnNyYykge1xuICAgICAgICAgICAgLy8gY2hlY2sgd2hldGhlciB0aGVyZSB3YXMgYSBwcm9ibGVtIGxvYWRpbmcgdGhlIGltYWdlXG4gICAgICAgICAgICAvLyBpZiBoYW5kbGVMb2FkRXJyb3IgaXMgY2FsbGVkIHdlIHNob3cgdGhlIGRlZmF1bHQgYXZhdGFyXG4gICAgICAgICAgICB2YXIgaW1nID0gbmV3IEltYWdlKCk7XG4gICAgICAgICAgICBpbWcub25lcnJvciA9IHRoaXMuaGFuZGxlTG9hZEVycm9yO1xuICAgICAgICAgICAgaW1nLnNyYyA9IHRoaXMucHJvcHMuc3JjIHx8ICcnO1xuICAgICAgICB9XG4gICAgfTtcbiAgICBBdmF0YXJJbWFnZS5wcm90b3R5cGUuY29tcG9uZW50RGlkVXBkYXRlID0gZnVuY3Rpb24gKHByZXZQcm9wcykge1xuICAgICAgICB2YXIgX3RoaXMgPSB0aGlzO1xuICAgICAgICBpZiAodGhpcy5wcm9wcy5zcmMgJiYgdGhpcy5wcm9wcy5zcmMgIT09IHByZXZQcm9wcy5zcmMpIHtcbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC9uby1kaWQtdXBkYXRlLXNldC1zdGF0ZVxuICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IGlzTG9hZGluZzogdHJ1ZSB9LCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgdmFyIGltZyA9IG5ldyBJbWFnZSgpO1xuICAgICAgICAgICAgICAgIGltZy5vbmxvYWQgPSBfdGhpcy5oYW5kbGVMb2FkU3VjY2VzcztcbiAgICAgICAgICAgICAgICBpbWcub25lcnJvciA9IF90aGlzLmhhbmRsZUxvYWRFcnJvcjtcbiAgICAgICAgICAgICAgICBpbWcuc3JjID0gX3RoaXMucHJvcHMuc3JjIHx8ICcnO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIEF2YXRhckltYWdlLnByb3RvdHlwZS5yZW5kZXIgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBfYSA9IHRoaXMucHJvcHMsIGFsdCA9IF9hLmFsdCwgc3JjID0gX2Euc3JjLCBhcHBlYXJhbmNlID0gX2EuYXBwZWFyYW5jZSwgc2l6ZSA9IF9hLnNpemU7XG4gICAgICAgIHZhciBfYiA9IHRoaXMuc3RhdGUsIGhhc0Vycm9yID0gX2IuaGFzRXJyb3IsIGlzTG9hZGluZyA9IF9iLmlzTG9hZGluZztcbiAgICAgICAgdmFyIHNob3dEZWZhdWx0ID0gIWlzTG9hZGluZyAmJiAoIXNyYyB8fCBoYXNFcnJvcik7XG4gICAgICAgIHZhciBpbWFnZVVybCA9IHNyYyAmJiAhaXNMb2FkaW5nID8gc3JjIDogdW5kZWZpbmVkO1xuICAgICAgICByZXR1cm4gc2hvd0RlZmF1bHQgPyAoUmVhY3QuY3JlYXRlRWxlbWVudChEZWZhdWx0SW1hZ2UsIHsgYXBwZWFyYW5jZTogYXBwZWFyYW5jZSwgc2l6ZTogc2l6ZSwgdGl0bGU6IGFsdCwgaXNMb2FkaW5nOiBpc0xvYWRpbmcgfSkpIDogKFJlYWN0LmNyZWF0ZUVsZW1lbnQoU2xvdCwgeyBhcHBlYXJhbmNlOiBhcHBlYXJhbmNlLCBpc0xvYWRpbmc6IGlzTG9hZGluZywgc2l6ZTogc2l6ZSwgcm9sZTogXCJpbWdcIiwgbGFiZWw6IGFsdCwgYmFja2dyb3VuZEltYWdlOiBpbWFnZVVybCB9KSk7XG4gICAgfTtcbiAgICByZXR1cm4gQXZhdGFySW1hZ2U7XG59KFB1cmVDb21wb25lbnQpKTtcbmV4cG9ydCBkZWZhdWx0IEF2YXRhckltYWdlO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9QXZhdGFySW1hZ2UuanMubWFwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/avatar/dist/esm/components/AvatarImage.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/avatar/dist/esm/components/AvatarItem.js": /*!*************************************************************************!*\ !*** ./node_modules/@atlaskit/avatar/dist/esm/components/AvatarItem.js ***! \*************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/@atlaskit/avatar/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _atlaskit_theme_components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @atlaskit/theme/components */ \"./node_modules/@atlaskit/theme/dist/esm/components.js\");\n/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../helpers */ \"./node_modules/@atlaskit/avatar/dist/esm/helpers/index.js\");\n/* harmony import */ var _hoc__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../hoc */ \"./node_modules/@atlaskit/avatar/dist/esm/hoc/index.js\");\n/* harmony import */ var _styled_AvatarItem__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../styled/AvatarItem */ \"./node_modules/@atlaskit/avatar/dist/esm/styled/AvatarItem.js\");\n/* harmony import */ var _theme_item__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../theme/item */ \"./node_modules/@atlaskit/avatar/dist/esm/theme/item.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../utils */ \"./node_modules/@atlaskit/avatar/dist/esm/utils.js\");\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./constants */ \"./node_modules/@atlaskit/avatar/dist/esm/components/constants.js\");\n\n\n\n\n\n\n\n\n\nvar AvatarItem = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(AvatarItem, _super);\n function AvatarItem() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n // expose blur/focus to consumers via ref\n _this.blur = function () {\n if (_this.node)\n _this.node.blur();\n };\n _this.focus = function () {\n if (_this.node)\n _this.node.focus();\n };\n // disallow click on disabled avatars\n _this.guardedClick = function (event) {\n var _a = _this.props, isDisabled = _a.isDisabled, onClick = _a.onClick;\n if (isDisabled || typeof onClick !== 'function')\n return;\n var item = _utils__WEBPACK_IMPORTED_MODULE_7__[\"omit\"].apply(void 0, Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__spread\"])([_this.props], _constants__WEBPACK_IMPORTED_MODULE_8__[\"propsOmittedFromClickData\"]));\n onClick({ item: item, event: event });\n };\n _this.setNode = function (ref) {\n _this.node = ref;\n };\n return _this;\n }\n AvatarItem.prototype.render = function () {\n var _this = this;\n var _a = this.props, avatar = _a.avatar, enableTextTruncate = _a.enableTextTruncate, primaryText = _a.primaryText, secondaryText = _a.secondaryText, href = _a.href, onClick = _a.onClick;\n // distill props from context, props, and state\n var enhancedProps = Object(_helpers__WEBPACK_IMPORTED_MODULE_3__[\"getProps\"])(this);\n // provide element interface based on props\n var StyledComponent = Object(_helpers__WEBPACK_IMPORTED_MODULE_3__[\"getStyledAvatarItem\"])(this.props);\n return (react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_atlaskit_theme_components__WEBPACK_IMPORTED_MODULE_2__[\"default\"].Consumer, null, function (_a) {\n var mode = _a.mode;\n return (react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_theme_item__WEBPACK_IMPORTED_MODULE_6__[\"ThemeItem\"].Provider, { value: _this.props.theme },\n react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_theme_item__WEBPACK_IMPORTED_MODULE_6__[\"ThemeItem\"].Consumer, null, function (tokens) {\n // maintain the illusion of a mask around presence/status\n var borderColor = Object(_styled_AvatarItem__WEBPACK_IMPORTED_MODULE_5__[\"getBackgroundColor\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, _this.props), tokens), { mode: mode }));\n return (react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(StyledComponent, Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({ innerRef: _this.setNode }, enhancedProps, { isInteractive: !!href || !!onClick, onClick: _this.guardedClick }),\n react__WEBPACK_IMPORTED_MODULE_1___default.a.isValidElement(avatar)\n ? Object(react__WEBPACK_IMPORTED_MODULE_1__[\"cloneElement\"])(avatar, { borderColor: borderColor })\n : null,\n react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_styled_AvatarItem__WEBPACK_IMPORTED_MODULE_5__[\"Content\"], { truncate: enableTextTruncate },\n react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_styled_AvatarItem__WEBPACK_IMPORTED_MODULE_5__[\"PrimaryText\"], { truncate: enableTextTruncate }, primaryText),\n react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_styled_AvatarItem__WEBPACK_IMPORTED_MODULE_5__[\"SecondaryText\"], { truncate: enableTextTruncate }, secondaryText))));\n })));\n }));\n };\n AvatarItem.defaultProps = {\n enableTextTruncate: true,\n };\n return AvatarItem;\n}(react__WEBPACK_IMPORTED_MODULE_1__[\"Component\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(_hoc__WEBPACK_IMPORTED_MODULE_4__[\"withPseudoState\"])(AvatarItem));\n//# sourceMappingURL=AvatarItem.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L2F2YXRhci9kaXN0L2VzbS9jb21wb25lbnRzL0F2YXRhckl0ZW0uanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L2F2YXRhci9kaXN0L2VzbS9jb21wb25lbnRzL0F2YXRhckl0ZW0uanM/ZmI0OSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBfX2Fzc2lnbiwgX19leHRlbmRzLCBfX3JlYWQsIF9fc3ByZWFkIH0gZnJvbSBcInRzbGliXCI7XG5pbXBvcnQgUmVhY3QsIHsgY2xvbmVFbGVtZW50LCBDb21wb25lbnQsIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IEdsb2JhbFRoZW1lIGZyb20gJ0BhdGxhc2tpdC90aGVtZS9jb21wb25lbnRzJztcbmltcG9ydCB7IGdldFByb3BzLCBnZXRTdHlsZWRBdmF0YXJJdGVtIH0gZnJvbSAnLi4vaGVscGVycyc7XG5pbXBvcnQgeyB3aXRoUHNldWRvU3RhdGUgfSBmcm9tICcuLi9ob2MnO1xuaW1wb3J0IHsgQ29udGVudCwgZ2V0QmFja2dyb3VuZENvbG9yLCBQcmltYXJ5VGV4dCwgU2Vjb25kYXJ5VGV4dCwgfSBmcm9tICcuLi9zdHlsZWQvQXZhdGFySXRlbSc7XG5pbXBvcnQgeyBUaGVtZUl0ZW0gfSBmcm9tICcuLi90aGVtZS9pdGVtJztcbmltcG9ydCB7IG9taXQgfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgeyBwcm9wc09taXR0ZWRGcm9tQ2xpY2tEYXRhIH0gZnJvbSAnLi9jb25zdGFudHMnO1xudmFyIEF2YXRhckl0ZW0gPSAvKiogQGNsYXNzICovIChmdW5jdGlvbiAoX3N1cGVyKSB7XG4gICAgX19leHRlbmRzKEF2YXRhckl0ZW0sIF9zdXBlcik7XG4gICAgZnVuY3Rpb24gQXZhdGFySXRlbSgpIHtcbiAgICAgICAgdmFyIF90aGlzID0gX3N1cGVyICE9PSBudWxsICYmIF9zdXBlci5hcHBseSh0aGlzLCBhcmd1bWVudHMpIHx8IHRoaXM7XG4gICAgICAgIC8vIGV4cG9zZSBibHVyL2ZvY3VzIHRvIGNvbnN1bWVycyB2aWEgcmVmXG4gICAgICAgIF90aGlzLmJsdXIgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICBpZiAoX3RoaXMubm9kZSlcbiAgICAgICAgICAgICAgICBfdGhpcy5ub2RlLmJsdXIoKTtcbiAgICAgICAgfTtcbiAgICAgICAgX3RoaXMuZm9jdXMgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICBpZiAoX3RoaXMubm9kZSlcbiAgICAgICAgICAgICAgICBfdGhpcy5ub2RlLmZvY3VzKCk7XG4gICAgICAgIH07XG4gICAgICAgIC8vIGRpc2FsbG93IGNsaWNrIG9uIGRpc2FibGVkIGF2YXRhcnNcbiAgICAgICAgX3RoaXMuZ3VhcmRlZENsaWNrID0gZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgICAgICB2YXIgX2EgPSBfdGhpcy5wcm9wcywgaXNEaXNhYmxlZCA9IF9hLmlzRGlzYWJsZWQsIG9uQ2xpY2sgPSBfYS5vbkNsaWNrO1xuICAgICAgICAgICAgaWYgKGlzRGlzYWJsZWQgfHwgdHlwZW9mIG9uQ2xpY2sgIT09ICdmdW5jdGlvbicpXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgdmFyIGl0ZW0gPSBvbWl0LmFwcGx5KHZvaWQgMCwgX19zcHJlYWQoW190aGlzLnByb3BzXSwgcHJvcHNPbWl0dGVkRnJvbUNsaWNrRGF0YSkpO1xuICAgICAgICAgICAgb25DbGljayh7IGl0ZW06IGl0ZW0sIGV2ZW50OiBldmVudCB9KTtcbiAgICAgICAgfTtcbiAgICAgICAgX3RoaXMuc2V0Tm9kZSA9IGZ1bmN0aW9uIChyZWYpIHtcbiAgICAgICAgICAgIF90aGlzLm5vZGUgPSByZWY7XG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiBfdGhpcztcbiAgICB9XG4gICAgQXZhdGFySXRlbS5wcm90b3R5cGUucmVuZGVyID0gZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgX3RoaXMgPSB0aGlzO1xuICAgICAgICB2YXIgX2EgPSB0aGlzLnByb3BzLCBhdmF0YXIgPSBfYS5hdmF0YXIsIGVuYWJsZVRleHRUcnVuY2F0ZSA9IF9hLmVuYWJsZVRleHRUcnVuY2F0ZSwgcHJpbWFyeVRleHQgPSBfYS5wcmltYXJ5VGV4dCwgc2Vjb25kYXJ5VGV4dCA9IF9hLnNlY29uZGFyeVRleHQsIGhyZWYgPSBfYS5ocmVmLCBvbkNsaWNrID0gX2Eub25DbGljaztcbiAgICAgICAgLy8gZGlzdGlsbCBwcm9wcyBmcm9tIGNvbnRleHQsIHByb3BzLCBhbmQgc3RhdGVcbiAgICAgICAgdmFyIGVuaGFuY2VkUHJvcHMgPSBnZXRQcm9wcyh0aGlzKTtcbiAgICAgICAgLy8gcHJvdmlkZSBlbGVtZW50IGludGVyZmFjZSBiYXNlZCBvbiBwcm9wc1xuICAgICAgICB2YXIgU3R5bGVkQ29tcG9uZW50ID0gZ2V0U3R5bGVkQXZhdGFySXRlbSh0aGlzLnByb3BzKTtcbiAgICAgICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KEdsb2JhbFRoZW1lLkNvbnN1bWVyLCBudWxsLCBmdW5jdGlvbiAoX2EpIHtcbiAgICAgICAgICAgIHZhciBtb2RlID0gX2EubW9kZTtcbiAgICAgICAgICAgIHJldHVybiAoUmVhY3QuY3JlYXRlRWxlbWVudChUaGVtZUl0ZW0uUHJvdmlkZXIsIHsgdmFsdWU6IF90aGlzLnByb3BzLnRoZW1lIH0sXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChUaGVtZUl0ZW0uQ29uc3VtZXIsIG51bGwsIGZ1bmN0aW9uICh0b2tlbnMpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gbWFpbnRhaW4gdGhlIGlsbHVzaW9uIG9mIGEgbWFzayBhcm91bmQgcHJlc2VuY2Uvc3RhdHVzXG4gICAgICAgICAgICAgICAgICAgIHZhciBib3JkZXJDb2xvciA9IGdldEJhY2tncm91bmRDb2xvcihfX2Fzc2lnbihfX2Fzc2lnbihfX2Fzc2lnbih7fSwgX3RoaXMucHJvcHMpLCB0b2tlbnMpLCB7IG1vZGU6IG1vZGUgfSkpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoU3R5bGVkQ29tcG9uZW50LCBfX2Fzc2lnbih7IGlubmVyUmVmOiBfdGhpcy5zZXROb2RlIH0sIGVuaGFuY2VkUHJvcHMsIHsgaXNJbnRlcmFjdGl2ZTogISFocmVmIHx8ICEhb25DbGljaywgb25DbGljazogX3RoaXMuZ3VhcmRlZENsaWNrIH0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgUmVhY3QuaXNWYWxpZEVsZW1lbnQoYXZhdGFyKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gY2xvbmVFbGVtZW50KGF2YXRhciwgeyBib3JkZXJDb2xvcjogYm9yZGVyQ29sb3IgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KENvbnRlbnQsIHsgdHJ1bmNhdGU6IGVuYWJsZVRleHRUcnVuY2F0ZSB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoUHJpbWFyeVRleHQsIHsgdHJ1bmNhdGU6IGVuYWJsZVRleHRUcnVuY2F0ZSB9LCBwcmltYXJ5VGV4dCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChTZWNvbmRhcnlUZXh0LCB7IHRydW5jYXRlOiBlbmFibGVUZXh0VHJ1bmNhdGUgfSwgc2Vjb25kYXJ5VGV4dCkpKSk7XG4gICAgICAgICAgICAgICAgfSkpKTtcbiAgICAgICAgfSkpO1xuICAgIH07XG4gICAgQXZhdGFySXRlbS5kZWZhdWx0UHJvcHMgPSB7XG4gICAgICAgIGVuYWJsZVRleHRUcnVuY2F0ZTogdHJ1ZSxcbiAgICB9O1xuICAgIHJldHVybiBBdmF0YXJJdGVtO1xufShDb21wb25lbnQpKTtcbmV4cG9ydCBkZWZhdWx0IHdpdGhQc2V1ZG9TdGF0ZShBdmF0YXJJdGVtKTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPUF2YXRhckl0ZW0uanMubWFwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/avatar/dist/esm/components/AvatarItem.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/avatar/dist/esm/components/CustomComponentProxy.js": /*!***********************************************************************************!*\ !*** ./node_modules/@atlaskit/avatar/dist/esm/components/CustomComponentProxy.js ***! \***********************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/@atlaskit/avatar/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n\n\n/**\n * Styling a avatar is complicated and there are a number of properties which\n * inform its appearance. We want to be able to style any arbitrary component\n * like a Link, but we don't want to pass all of these appearance-related props\n * through to the component or underlying DOM node. This component acts as a\n * layer which catches the appearance-related properties so that they can be\n * used by styled-components, then passes the rest of the props on to the custom\n * component.\n */\nvar CustomComponentProxy = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(CustomComponentProxy, _super);\n function CustomComponentProxy() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n CustomComponentProxy.prototype.render = function () {\n var _a = this.props, appearance = _a.appearance, avatar = _a.avatar, borderColor = _a.borderColor, ProxiedComponent = _a.component, enableTooltip = _a.enableTooltip, groupAppearance = _a.groupAppearance, innerRef = _a.innerRef, isActive = _a.isActive, isDisabled = _a.isDisabled, isFocus = _a.isFocus, isHover = _a.isHover, isSelected = _a.isSelected, primaryText = _a.primaryText, secondaryText = _a.secondaryText, stackIndex = _a.stackIndex, rest = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__rest\"])(_a, [\"appearance\", \"avatar\", \"borderColor\", \"component\", \"enableTooltip\", \"groupAppearance\", \"innerRef\", \"isActive\", \"isDisabled\", \"isFocus\", \"isHover\", \"isSelected\", \"primaryText\", \"secondaryText\", \"stackIndex\"]);\n return ProxiedComponent ? react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(ProxiedComponent, Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, rest)) : null;\n };\n return CustomComponentProxy;\n}(react__WEBPACK_IMPORTED_MODULE_1__[\"Component\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (CustomComponentProxy);\n//# sourceMappingURL=CustomComponentProxy.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L2F2YXRhci9kaXN0L2VzbS9jb21wb25lbnRzL0N1c3RvbUNvbXBvbmVudFByb3h5LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BhdGxhc2tpdC9hdmF0YXIvZGlzdC9lc20vY29tcG9uZW50cy9DdXN0b21Db21wb25lbnRQcm94eS5qcz83OGE0Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IF9fYXNzaWduLCBfX2V4dGVuZHMsIF9fcmVzdCB9IGZyb20gXCJ0c2xpYlwiO1xuaW1wb3J0IFJlYWN0LCB7IENvbXBvbmVudCB9IGZyb20gJ3JlYWN0Jztcbi8qKlxuICogU3R5bGluZyBhIGF2YXRhciBpcyBjb21wbGljYXRlZCBhbmQgdGhlcmUgYXJlIGEgbnVtYmVyIG9mIHByb3BlcnRpZXMgd2hpY2hcbiAqIGluZm9ybSBpdHMgYXBwZWFyYW5jZS4gV2Ugd2FudCB0byBiZSBhYmxlIHRvIHN0eWxlIGFueSBhcmJpdHJhcnkgY29tcG9uZW50XG4gKiBsaWtlIGEgTGluaywgYnV0IHdlIGRvbid0IHdhbnQgdG8gcGFzcyBhbGwgb2YgdGhlc2UgYXBwZWFyYW5jZS1yZWxhdGVkIHByb3BzXG4gKiB0aHJvdWdoIHRvIHRoZSBjb21wb25lbnQgb3IgdW5kZXJseWluZyBET00gbm9kZS4gVGhpcyBjb21wb25lbnQgYWN0cyBhcyBhXG4gKiBsYXllciB3aGljaCBjYXRjaGVzIHRoZSBhcHBlYXJhbmNlLXJlbGF0ZWQgcHJvcGVydGllcyBzbyB0aGF0IHRoZXkgY2FuIGJlXG4gKiB1c2VkIGJ5IHN0eWxlZC1jb21wb25lbnRzLCB0aGVuIHBhc3NlcyB0aGUgcmVzdCBvZiB0aGUgcHJvcHMgb24gdG8gdGhlIGN1c3RvbVxuICogY29tcG9uZW50LlxuICovXG52YXIgQ3VzdG9tQ29tcG9uZW50UHJveHkgPSAvKiogQGNsYXNzICovIChmdW5jdGlvbiAoX3N1cGVyKSB7XG4gICAgX19leHRlbmRzKEN1c3RvbUNvbXBvbmVudFByb3h5LCBfc3VwZXIpO1xuICAgIGZ1bmN0aW9uIEN1c3RvbUNvbXBvbmVudFByb3h5KCkge1xuICAgICAgICByZXR1cm4gX3N1cGVyICE9PSBudWxsICYmIF9zdXBlci5hcHBseSh0aGlzLCBhcmd1bWVudHMpIHx8IHRoaXM7XG4gICAgfVxuICAgIEN1c3RvbUNvbXBvbmVudFByb3h5LnByb3RvdHlwZS5yZW5kZXIgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBfYSA9IHRoaXMucHJvcHMsIGFwcGVhcmFuY2UgPSBfYS5hcHBlYXJhbmNlLCBhdmF0YXIgPSBfYS5hdmF0YXIsIGJvcmRlckNvbG9yID0gX2EuYm9yZGVyQ29sb3IsIFByb3hpZWRDb21wb25lbnQgPSBfYS5jb21wb25lbnQsIGVuYWJsZVRvb2x0aXAgPSBfYS5lbmFibGVUb29sdGlwLCBncm91cEFwcGVhcmFuY2UgPSBfYS5ncm91cEFwcGVhcmFuY2UsIGlubmVyUmVmID0gX2EuaW5uZXJSZWYsIGlzQWN0aXZlID0gX2EuaXNBY3RpdmUsIGlzRGlzYWJsZWQgPSBfYS5pc0Rpc2FibGVkLCBpc0ZvY3VzID0gX2EuaXNGb2N1cywgaXNIb3ZlciA9IF9hLmlzSG92ZXIsIGlzU2VsZWN0ZWQgPSBfYS5pc1NlbGVjdGVkLCBwcmltYXJ5VGV4dCA9IF9hLnByaW1hcnlUZXh0LCBzZWNvbmRhcnlUZXh0ID0gX2Euc2Vjb25kYXJ5VGV4dCwgc3RhY2tJbmRleCA9IF9hLnN0YWNrSW5kZXgsIHJlc3QgPSBfX3Jlc3QoX2EsIFtcImFwcGVhcmFuY2VcIiwgXCJhdmF0YXJcIiwgXCJib3JkZXJDb2xvclwiLCBcImNvbXBvbmVudFwiLCBcImVuYWJsZVRvb2x0aXBcIiwgXCJncm91cEFwcGVhcmFuY2VcIiwgXCJpbm5lclJlZlwiLCBcImlzQWN0aXZlXCIsIFwiaXNEaXNhYmxlZFwiLCBcImlzRm9jdXNcIiwgXCJpc0hvdmVyXCIsIFwiaXNTZWxlY3RlZFwiLCBcInByaW1hcnlUZXh0XCIsIFwic2Vjb25kYXJ5VGV4dFwiLCBcInN0YWNrSW5kZXhcIl0pO1xuICAgICAgICByZXR1cm4gUHJveGllZENvbXBvbmVudCA/IFJlYWN0LmNyZWF0ZUVsZW1lbnQoUHJveGllZENvbXBvbmVudCwgX19hc3NpZ24oe30sIHJlc3QpKSA6IG51bGw7XG4gICAgfTtcbiAgICByZXR1cm4gQ3VzdG9tQ29tcG9uZW50UHJveHk7XG59KENvbXBvbmVudCkpO1xuZXhwb3J0IGRlZmF1bHQgQ3VzdG9tQ29tcG9uZW50UHJveHk7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1DdXN0b21Db21wb25lbnRQcm94eS5qcy5tYXAiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/avatar/dist/esm/components/CustomComponentProxy.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/avatar/dist/esm/components/Presence.js": /*!***********************************************************************!*\ !*** ./node_modules/@atlaskit/avatar/dist/esm/components/Presence.js ***! \***********************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/@atlaskit/avatar/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _helpers_getPresenceSVG__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../helpers/getPresenceSVG */ \"./node_modules/@atlaskit/avatar/dist/esm/helpers/getPresenceSVG.js\");\n/* harmony import */ var _styled_Icon__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../styled/Icon */ \"./node_modules/@atlaskit/avatar/dist/esm/styled/Icon.js\");\n\n\n\n\nvar Presence = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(Presence, _super);\n function Presence() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Presence.prototype.render = function () {\n var _a = this.props, borderColor = _a.borderColor, children = _a.children, presence = _a.presence, size = _a.size;\n return (react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_styled_Icon__WEBPACK_IMPORTED_MODULE_3__[\"Outer\"], { size: size, bgColor: borderColor },\n react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_styled_Icon__WEBPACK_IMPORTED_MODULE_3__[\"Inner\"], null, children || (presence && Object(_helpers_getPresenceSVG__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(presence)))));\n };\n return Presence;\n}(react__WEBPACK_IMPORTED_MODULE_1__[\"Component\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (Presence);\n//# sourceMappingURL=Presence.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L2F2YXRhci9kaXN0L2VzbS9jb21wb25lbnRzL1ByZXNlbmNlLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BhdGxhc2tpdC9hdmF0YXIvZGlzdC9lc20vY29tcG9uZW50cy9QcmVzZW5jZS5qcz8zOWNmIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IF9fZXh0ZW5kcyB9IGZyb20gXCJ0c2xpYlwiO1xuaW1wb3J0IFJlYWN0LCB7IENvbXBvbmVudCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBnZXRQcmVzZW5jZVNWRyBmcm9tICcuLi9oZWxwZXJzL2dldFByZXNlbmNlU1ZHJztcbmltcG9ydCB7IElubmVyLCBPdXRlciB9IGZyb20gJy4uL3N0eWxlZC9JY29uJztcbnZhciBQcmVzZW5jZSA9IC8qKiBAY2xhc3MgKi8gKGZ1bmN0aW9uIChfc3VwZXIpIHtcbiAgICBfX2V4dGVuZHMoUHJlc2VuY2UsIF9zdXBlcik7XG4gICAgZnVuY3Rpb24gUHJlc2VuY2UoKSB7XG4gICAgICAgIHJldHVybiBfc3VwZXIgIT09IG51bGwgJiYgX3N1cGVyLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykgfHwgdGhpcztcbiAgICB9XG4gICAgUHJlc2VuY2UucHJvdG90eXBlLnJlbmRlciA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIF9hID0gdGhpcy5wcm9wcywgYm9yZGVyQ29sb3IgPSBfYS5ib3JkZXJDb2xvciwgY2hpbGRyZW4gPSBfYS5jaGlsZHJlbiwgcHJlc2VuY2UgPSBfYS5wcmVzZW5jZSwgc2l6ZSA9IF9hLnNpemU7XG4gICAgICAgIHJldHVybiAoUmVhY3QuY3JlYXRlRWxlbWVudChPdXRlciwgeyBzaXplOiBzaXplLCBiZ0NvbG9yOiBib3JkZXJDb2xvciB9LFxuICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJbm5lciwgbnVsbCwgY2hpbGRyZW4gfHwgKHByZXNlbmNlICYmIGdldFByZXNlbmNlU1ZHKHByZXNlbmNlKSkpKSk7XG4gICAgfTtcbiAgICByZXR1cm4gUHJlc2VuY2U7XG59KENvbXBvbmVudCkpO1xuZXhwb3J0IGRlZmF1bHQgUHJlc2VuY2U7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1QcmVzZW5jZS5qcy5tYXAiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/avatar/dist/esm/components/Presence.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/avatar/dist/esm/components/Skeleton.js": /*!***********************************************************************!*\ !*** ./node_modules/@atlaskit/avatar/dist/esm/components/Skeleton.js ***! \***********************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/@atlaskit/avatar/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _styled_Skeleton__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../styled/Skeleton */ \"./node_modules/@atlaskit/avatar/dist/esm/styled/Skeleton.js\");\n\n\n\nvar Skeleton = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(Skeleton, _super);\n function Skeleton() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Skeleton.prototype.render = function () {\n return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_styled_Skeleton__WEBPACK_IMPORTED_MODULE_2__[\"default\"], Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, this.props));\n };\n Skeleton.defaultProps = {\n appearance: 'circle',\n size: 'medium',\n weight: 'normal',\n };\n return Skeleton;\n}(react__WEBPACK_IMPORTED_MODULE_1__[\"Component\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (Skeleton);\n//# sourceMappingURL=Skeleton.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L2F2YXRhci9kaXN0L2VzbS9jb21wb25lbnRzL1NrZWxldG9uLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BhdGxhc2tpdC9hdmF0YXIvZGlzdC9lc20vY29tcG9uZW50cy9Ta2VsZXRvbi5qcz9lMjJkIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IF9fYXNzaWduLCBfX2V4dGVuZHMgfSBmcm9tIFwidHNsaWJcIjtcbmltcG9ydCBSZWFjdCwgeyBDb21wb25lbnQgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgU3R5bGVkU2tlbGV0b24gZnJvbSAnLi4vc3R5bGVkL1NrZWxldG9uJztcbnZhciBTa2VsZXRvbiA9IC8qKiBAY2xhc3MgKi8gKGZ1bmN0aW9uIChfc3VwZXIpIHtcbiAgICBfX2V4dGVuZHMoU2tlbGV0b24sIF9zdXBlcik7XG4gICAgZnVuY3Rpb24gU2tlbGV0b24oKSB7XG4gICAgICAgIHJldHVybiBfc3VwZXIgIT09IG51bGwgJiYgX3N1cGVyLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykgfHwgdGhpcztcbiAgICB9XG4gICAgU2tlbGV0b24ucHJvdG90eXBlLnJlbmRlciA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgcmV0dXJuIFJlYWN0LmNyZWF0ZUVsZW1lbnQoU3R5bGVkU2tlbGV0b24sIF9fYXNzaWduKHt9LCB0aGlzLnByb3BzKSk7XG4gICAgfTtcbiAgICBTa2VsZXRvbi5kZWZhdWx0UHJvcHMgPSB7XG4gICAgICAgIGFwcGVhcmFuY2U6ICdjaXJjbGUnLFxuICAgICAgICBzaXplOiAnbWVkaXVtJyxcbiAgICAgICAgd2VpZ2h0OiAnbm9ybWFsJyxcbiAgICB9O1xuICAgIHJldHVybiBTa2VsZXRvbjtcbn0oQ29tcG9uZW50KSk7XG5leHBvcnQgZGVmYXVsdCBTa2VsZXRvbjtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPVNrZWxldG9uLmpzLm1hcCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/avatar/dist/esm/components/Skeleton.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/avatar/dist/esm/components/Status.js": /*!*********************************************************************!*\ !*** ./node_modules/@atlaskit/avatar/dist/esm/components/Status.js ***! \*********************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/@atlaskit/avatar/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _helpers_getStatusSVG__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../helpers/getStatusSVG */ \"./node_modules/@atlaskit/avatar/dist/esm/helpers/getStatusSVG.js\");\n/* harmony import */ var _styled_Icon__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../styled/Icon */ \"./node_modules/@atlaskit/avatar/dist/esm/styled/Icon.js\");\n\n\n\n\nvar Status = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(Status, _super);\n function Status() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Status.prototype.render = function () {\n var _a = this.props, borderColor = _a.borderColor, children = _a.children, status = _a.status, size = _a.size;\n return (react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_styled_Icon__WEBPACK_IMPORTED_MODULE_3__[\"Outer\"], { size: size, bgColor: borderColor },\n react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_styled_Icon__WEBPACK_IMPORTED_MODULE_3__[\"Inner\"], null, children || (status && Object(_helpers_getStatusSVG__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(status)))));\n };\n return Status;\n}(react__WEBPACK_IMPORTED_MODULE_1__[\"Component\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (Status);\n//# sourceMappingURL=Status.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L2F2YXRhci9kaXN0L2VzbS9jb21wb25lbnRzL1N0YXR1cy5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AYXRsYXNraXQvYXZhdGFyL2Rpc3QvZXNtL2NvbXBvbmVudHMvU3RhdHVzLmpzPzg5YzkiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgX19leHRlbmRzIH0gZnJvbSBcInRzbGliXCI7XG5pbXBvcnQgUmVhY3QsIHsgQ29tcG9uZW50IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IGdldFN0YXR1c1NWRyBmcm9tICcuLi9oZWxwZXJzL2dldFN0YXR1c1NWRyc7XG5pbXBvcnQgeyBJbm5lciwgT3V0ZXIgfSBmcm9tICcuLi9zdHlsZWQvSWNvbic7XG52YXIgU3RhdHVzID0gLyoqIEBjbGFzcyAqLyAoZnVuY3Rpb24gKF9zdXBlcikge1xuICAgIF9fZXh0ZW5kcyhTdGF0dXMsIF9zdXBlcik7XG4gICAgZnVuY3Rpb24gU3RhdHVzKCkge1xuICAgICAgICByZXR1cm4gX3N1cGVyICE9PSBudWxsICYmIF9zdXBlci5hcHBseSh0aGlzLCBhcmd1bWVudHMpIHx8IHRoaXM7XG4gICAgfVxuICAgIFN0YXR1cy5wcm90b3R5cGUucmVuZGVyID0gZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgX2EgPSB0aGlzLnByb3BzLCBib3JkZXJDb2xvciA9IF9hLmJvcmRlckNvbG9yLCBjaGlsZHJlbiA9IF9hLmNoaWxkcmVuLCBzdGF0dXMgPSBfYS5zdGF0dXMsIHNpemUgPSBfYS5zaXplO1xuICAgICAgICByZXR1cm4gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoT3V0ZXIsIHsgc2l6ZTogc2l6ZSwgYmdDb2xvcjogYm9yZGVyQ29sb3IgfSxcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5uZXIsIG51bGwsIGNoaWxkcmVuIHx8IChzdGF0dXMgJiYgZ2V0U3RhdHVzU1ZHKHN0YXR1cykpKSkpO1xuICAgIH07XG4gICAgcmV0dXJuIFN0YXR1cztcbn0oQ29tcG9uZW50KSk7XG5leHBvcnQgZGVmYXVsdCBTdGF0dXM7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1TdGF0dXMuanMubWFwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/avatar/dist/esm/components/Status.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/avatar/dist/esm/components/constants.js": /*!************************************************************************!*\ !*** ./node_modules/@atlaskit/avatar/dist/esm/components/constants.js ***! \************************************************************************/ /*! exports provided: propsOmittedFromClickData */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"propsOmittedFromClickData\", function() { return propsOmittedFromClickData; });\nvar propsOmittedFromClickData = [\n 'onBlur',\n 'onClick',\n 'onFocus',\n 'onKeyDown',\n 'onKeyUp',\n 'onMouseDown',\n 'onMouseEnter',\n 'onMouseLeave',\n 'onMouseUp',\n];\n//# sourceMappingURL=constants.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L2F2YXRhci9kaXN0L2VzbS9jb21wb25lbnRzL2NvbnN0YW50cy5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AYXRsYXNraXQvYXZhdGFyL2Rpc3QvZXNtL2NvbXBvbmVudHMvY29uc3RhbnRzLmpzP2E1NDYiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHZhciBwcm9wc09taXR0ZWRGcm9tQ2xpY2tEYXRhID0gW1xuICAgICdvbkJsdXInLFxuICAgICdvbkNsaWNrJyxcbiAgICAnb25Gb2N1cycsXG4gICAgJ29uS2V5RG93bicsXG4gICAgJ29uS2V5VXAnLFxuICAgICdvbk1vdXNlRG93bicsXG4gICAgJ29uTW91c2VFbnRlcicsXG4gICAgJ29uTW91c2VMZWF2ZScsXG4gICAgJ29uTW91c2VVcCcsXG5dO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Y29uc3RhbnRzLmpzLm1hcCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/avatar/dist/esm/components/constants.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/avatar/dist/esm/helpers/getPresenceSVG.js": /*!**************************************************************************!*\ !*** ./node_modules/@atlaskit/avatar/dist/esm/helpers/getPresenceSVG.js ***! \**************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return getPresenceSvg; });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/@atlaskit/avatar/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! styled-components */ \"./node_modules/styled-components/dist/styled-components.browser.esm.js\");\n/* harmony import */ var _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @atlaskit/theme/colors */ \"./node_modules/@atlaskit/theme/dist/esm/colors.js\");\n/* harmony import */ var _atlaskit_theme_components__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @atlaskit/theme/components */ \"./node_modules/@atlaskit/theme/dist/esm/components.js\");\n\n\n\n\n\nvar Svg = function (props) { return (react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\"svg\", Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({ height: \"100%\", version: \"1.1\", viewBox: \"0 0 8 8\", width: \"100%\", xmlns: \"http://www.w3.org/2000/svg\" }, props))); };\nvar BusyCircle = Object(_atlaskit_theme_components__WEBPACK_IMPORTED_MODULE_4__[\"withTheme\"])(styled_components__WEBPACK_IMPORTED_MODULE_2__[\"default\"].circle(templateObject_1 || (templateObject_1 = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__makeTemplateObject\"])([\"\\n fill: \", \";\\n\"], [\"\\n fill: \", \";\\n\"])), Object(_atlaskit_theme_components__WEBPACK_IMPORTED_MODULE_4__[\"themed\"])({ light: _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_3__[\"R300\"], dark: _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_3__[\"R200\"] })));\nvar BusyPath = Object(_atlaskit_theme_components__WEBPACK_IMPORTED_MODULE_4__[\"withTheme\"])(styled_components__WEBPACK_IMPORTED_MODULE_2__[\"default\"].path(templateObject_2 || (templateObject_2 = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__makeTemplateObject\"])([\"\\n fill: \", \";\\n\"], [\"\\n fill: \", \";\\n\"])), _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_3__[\"background\"]));\nvar FocusPath = Object(_atlaskit_theme_components__WEBPACK_IMPORTED_MODULE_4__[\"withTheme\"])(styled_components__WEBPACK_IMPORTED_MODULE_2__[\"default\"].path(templateObject_3 || (templateObject_3 = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__makeTemplateObject\"])([\"\\n fill: \", \";\\n\"], [\"\\n fill: \", \";\\n\"])), _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_3__[\"purple\"]));\nvar OfflineOuter = Object(_atlaskit_theme_components__WEBPACK_IMPORTED_MODULE_4__[\"withTheme\"])(styled_components__WEBPACK_IMPORTED_MODULE_2__[\"default\"].path(templateObject_4 || (templateObject_4 = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__makeTemplateObject\"])([\"\\n fill: \", \";\\n\"], [\"\\n fill: \", \";\\n\"])), Object(_atlaskit_theme_components__WEBPACK_IMPORTED_MODULE_4__[\"themed\"])({ light: _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_3__[\"N200\"], dark: _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_3__[\"DN100\"] })));\nvar OfflineInner = Object(_atlaskit_theme_components__WEBPACK_IMPORTED_MODULE_4__[\"withTheme\"])(styled_components__WEBPACK_IMPORTED_MODULE_2__[\"default\"].path(templateObject_5 || (templateObject_5 = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__makeTemplateObject\"])([\"\\n fill: \", \";\\n\"], [\"\\n fill: \", \";\\n\"])), Object(_atlaskit_theme_components__WEBPACK_IMPORTED_MODULE_4__[\"themed\"])({ light: _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_3__[\"N40\"], dark: _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_3__[\"DN500\"] })));\nvar OnlineCircle = Object(_atlaskit_theme_components__WEBPACK_IMPORTED_MODULE_4__[\"withTheme\"])(styled_components__WEBPACK_IMPORTED_MODULE_2__[\"default\"].circle(templateObject_6 || (templateObject_6 = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__makeTemplateObject\"])([\"\\n fill: \", \";\\n\"], [\"\\n fill: \", \";\\n\"])), Object(_atlaskit_theme_components__WEBPACK_IMPORTED_MODULE_4__[\"themed\"])({ light: _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_3__[\"G300\"], dark: _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_3__[\"G200\"] })));\nfunction getPresenceSvg(presence) {\n switch (presence) {\n case 'busy':\n return (react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(Svg, null,\n react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(BusyCircle, { cx: \"4\", cy: \"4\", r: \"4\" }),\n react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(BusyPath, { d: \"M3.3,1.9l2.8,2.8c0.2,0.2,0.2,0.5,0,0.7L5.4,6.1c-0.2,0.2-0.5,0.2-0.7,0L1.9,3.3c-0.2-0.2-0.2-0.5,0-0.7l0.7-0.7C2.8,1.7,3.1,1.7,3.3,1.9z\" })));\n case 'focus':\n return (react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(Svg, null,\n react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(FocusPath, { d: \"M4,8 C1.790861,8 0,6.209139 0,4 C0,1.790861 1.790861,0 4,0 C6.209139,0 8,1.790861 8,4 C8,6.209139 6.209139,8 4,8 Z M4,6.66666667 C5.47275933,6.66666667 6.66666667,5.47275933 6.66666667,4 C6.66666667,2.52724067 5.47275933,1.33333333 4,1.33333333 C2.52724067,1.33333333 1.33333333,2.52724067 1.33333333,4 C1.33333333,5.47275933 2.52724067,6.66666667 4,6.66666667 Z M4,5.33333333 C3.26362033,5.33333333 2.66666667,4.73637967 2.66666667,4 C2.66666667,3.26362033 3.26362033,2.66666667 4,2.66666667 C4.73637967,2.66666667 5.33333333,3.26362033 5.33333333,4 C5.33333333,4.73637967 4.73637967,5.33333333 4,5.33333333 Z\" })));\n case 'offline':\n return (react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(Svg, null,\n react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(OfflineOuter, { d: \"M4,8 C6.209139,8 8,6.209139 8,4 C8,1.790861 6.209139,0 4,0 C1.790861,0 0,1.790861 0,4 C0,6.209139 1.790861,8 4,8 Z M4,6 C5.1045695,6 6,5.1045695 6,4 C6,2.8954305 5.1045695,2 4,2 C2.8954305,2 2,2.8954305 2,4 C2,5.1045695 2.8954305,6 4,6 Z\" }),\n react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(OfflineInner, { d: \"M4,6 C5.1045695,6 6,5.1045695 6,4 C6,2.8954305 5.1045695,2 4,2 C2.8954305,2 2,2.8954305 2,4 C2,5.1045695 2.8954305,6 4,6 Z\" })));\n case 'online':\n return (react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(Svg, null,\n react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(OnlineCircle, { cx: \"4\", cy: \"4\", r: \"4\" })));\n default:\n return null;\n }\n}\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6;\n//# sourceMappingURL=getPresenceSVG.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L2F2YXRhci9kaXN0L2VzbS9oZWxwZXJzL2dldFByZXNlbmNlU1ZHLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BhdGxhc2tpdC9hdmF0YXIvZGlzdC9lc20vaGVscGVycy9nZXRQcmVzZW5jZVNWRy5qcz9hMzMxIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IF9fYXNzaWduLCBfX21ha2VUZW1wbGF0ZU9iamVjdCB9IGZyb20gXCJ0c2xpYlwiO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0ICogYXMgY29sb3JzIGZyb20gJ0BhdGxhc2tpdC90aGVtZS9jb2xvcnMnO1xuaW1wb3J0IHsgdGhlbWVkLCB3aXRoVGhlbWUgfSBmcm9tICdAYXRsYXNraXQvdGhlbWUvY29tcG9uZW50cyc7XG52YXIgU3ZnID0gZnVuY3Rpb24gKHByb3BzKSB7IHJldHVybiAoUmVhY3QuY3JlYXRlRWxlbWVudChcInN2Z1wiLCBfX2Fzc2lnbih7IGhlaWdodDogXCIxMDAlXCIsIHZlcnNpb246IFwiMS4xXCIsIHZpZXdCb3g6IFwiMCAwIDggOFwiLCB3aWR0aDogXCIxMDAlXCIsIHhtbG5zOiBcImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgfSwgcHJvcHMpKSk7IH07XG52YXIgQnVzeUNpcmNsZSA9IHdpdGhUaGVtZShzdHlsZWQuY2lyY2xlKHRlbXBsYXRlT2JqZWN0XzEgfHwgKHRlbXBsYXRlT2JqZWN0XzEgPSBfX21ha2VUZW1wbGF0ZU9iamVjdChbXCJcXG4gIGZpbGw6IFwiLCBcIjtcXG5cIl0sIFtcIlxcbiAgZmlsbDogXCIsIFwiO1xcblwiXSkpLCB0aGVtZWQoeyBsaWdodDogY29sb3JzLlIzMDAsIGRhcms6IGNvbG9ycy5SMjAwIH0pKSk7XG52YXIgQnVzeVBhdGggPSB3aXRoVGhlbWUoc3R5bGVkLnBhdGgodGVtcGxhdGVPYmplY3RfMiB8fCAodGVtcGxhdGVPYmplY3RfMiA9IF9fbWFrZVRlbXBsYXRlT2JqZWN0KFtcIlxcbiAgZmlsbDogXCIsIFwiO1xcblwiXSwgW1wiXFxuICBmaWxsOiBcIiwgXCI7XFxuXCJdKSksIGNvbG9ycy5iYWNrZ3JvdW5kKSk7XG52YXIgRm9jdXNQYXRoID0gd2l0aFRoZW1lKHN0eWxlZC5wYXRoKHRlbXBsYXRlT2JqZWN0XzMgfHwgKHRlbXBsYXRlT2JqZWN0XzMgPSBfX21ha2VUZW1wbGF0ZU9iamVjdChbXCJcXG4gIGZpbGw6IFwiLCBcIjtcXG5cIl0sIFtcIlxcbiAgZmlsbDogXCIsIFwiO1xcblwiXSkpLCBjb2xvcnMucHVycGxlKSk7XG52YXIgT2ZmbGluZU91dGVyID0gd2l0aFRoZW1lKHN0eWxlZC5wYXRoKHRlbXBsYXRlT2JqZWN0XzQgfHwgKHRlbXBsYXRlT2JqZWN0XzQgPSBfX21ha2VUZW1wbGF0ZU9iamVjdChbXCJcXG4gIGZpbGw6IFwiLCBcIjtcXG5cIl0sIFtcIlxcbiAgZmlsbDogXCIsIFwiO1xcblwiXSkpLCB0aGVtZWQoeyBsaWdodDogY29sb3JzLk4yMDAsIGRhcms6IGNvbG9ycy5ETjEwMCB9KSkpO1xudmFyIE9mZmxpbmVJbm5lciA9IHdpdGhUaGVtZShzdHlsZWQucGF0aCh0ZW1wbGF0ZU9iamVjdF81IHx8ICh0ZW1wbGF0ZU9iamVjdF81ID0gX19tYWtlVGVtcGxhdGVPYmplY3QoW1wiXFxuICBmaWxsOiBcIiwgXCI7XFxuXCJdLCBbXCJcXG4gIGZpbGw6IFwiLCBcIjtcXG5cIl0pKSwgdGhlbWVkKHsgbGlnaHQ6IGNvbG9ycy5ONDAsIGRhcms6IGNvbG9ycy5ETjUwMCB9KSkpO1xudmFyIE9ubGluZUNpcmNsZSA9IHdpdGhUaGVtZShzdHlsZWQuY2lyY2xlKHRlbXBsYXRlT2JqZWN0XzYgfHwgKHRlbXBsYXRlT2JqZWN0XzYgPSBfX21ha2VUZW1wbGF0ZU9iamVjdChbXCJcXG4gIGZpbGw6IFwiLCBcIjtcXG5cIl0sIFtcIlxcbiAgZmlsbDogXCIsIFwiO1xcblwiXSkpLCB0aGVtZWQoeyBsaWdodDogY29sb3JzLkczMDAsIGRhcms6IGNvbG9ycy5HMjAwIH0pKSk7XG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBnZXRQcmVzZW5jZVN2ZyhwcmVzZW5jZSkge1xuICAgIHN3aXRjaCAocHJlc2VuY2UpIHtcbiAgICAgICAgY2FzZSAnYnVzeSc6XG4gICAgICAgICAgICByZXR1cm4gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoU3ZnLCBudWxsLFxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoQnVzeUNpcmNsZSwgeyBjeDogXCI0XCIsIGN5OiBcIjRcIiwgcjogXCI0XCIgfSksXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChCdXN5UGF0aCwgeyBkOiBcIk0zLjMsMS45bDIuOCwyLjhjMC4yLDAuMiwwLjIsMC41LDAsMC43TDUuNCw2LjFjLTAuMiwwLjItMC41LDAuMi0wLjcsMEwxLjksMy4zYy0wLjItMC4yLTAuMi0wLjUsMC0wLjdsMC43LTAuN0MyLjgsMS43LDMuMSwxLjcsMy4zLDEuOXpcIiB9KSkpO1xuICAgICAgICBjYXNlICdmb2N1cyc6XG4gICAgICAgICAgICByZXR1cm4gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoU3ZnLCBudWxsLFxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoRm9jdXNQYXRoLCB7IGQ6IFwiTTQsOCBDMS43OTA4NjEsOCAwLDYuMjA5MTM5IDAsNCBDMCwxLjc5MDg2MSAxLjc5MDg2MSwwIDQsMCBDNi4yMDkxMzksMCA4LDEuNzkwODYxIDgsNCBDOCw2LjIwOTEzOSA2LjIwOTEzOSw4IDQsOCBaIE00LDYuNjY2NjY2NjcgQzUuNDcyNzU5MzMsNi42NjY2NjY2NyA2LjY2NjY2NjY3LDUuNDcyNzU5MzMgNi42NjY2NjY2Nyw0IEM2LjY2NjY2NjY3LDIuNTI3MjQwNjcgNS40NzI3NTkzMywxLjMzMzMzMzMzIDQsMS4zMzMzMzMzMyBDMi41MjcyNDA2NywxLjMzMzMzMzMzIDEuMzMzMzMzMzMsMi41MjcyNDA2NyAxLjMzMzMzMzMzLDQgQzEuMzMzMzMzMzMsNS40NzI3NTkzMyAyLjUyNzI0MDY3LDYuNjY2NjY2NjcgNCw2LjY2NjY2NjY3IFogTTQsNS4zMzMzMzMzMyBDMy4yNjM2MjAzMyw1LjMzMzMzMzMzIDIuNjY2NjY2NjcsNC43MzYzNzk2NyAyLjY2NjY2NjY3LDQgQzIuNjY2NjY2NjcsMy4yNjM2MjAzMyAzLjI2MzYyMDMzLDIuNjY2NjY2NjcgNCwyLjY2NjY2NjY3IEM0LjczNjM3OTY3LDIuNjY2NjY2NjcgNS4zMzMzMzMzMywzLjI2MzYyMDMzIDUuMzMzMzMzMzMsNCBDNS4zMzMzMzMzMyw0LjczNjM3OTY3IDQuNzM2Mzc5NjcsNS4zMzMzMzMzMyA0LDUuMzMzMzMzMzMgWlwiIH0pKSk7XG4gICAgICAgIGNhc2UgJ29mZmxpbmUnOlxuICAgICAgICAgICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KFN2ZywgbnVsbCxcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KE9mZmxpbmVPdXRlciwgeyBkOiBcIk00LDggQzYuMjA5MTM5LDggOCw2LjIwOTEzOSA4LDQgQzgsMS43OTA4NjEgNi4yMDkxMzksMCA0LDAgQzEuNzkwODYxLDAgMCwxLjc5MDg2MSAwLDQgQzAsNi4yMDkxMzkgMS43OTA4NjEsOCA0LDggWiBNNCw2IEM1LjEwNDU2OTUsNiA2LDUuMTA0NTY5NSA2LDQgQzYsMi44OTU0MzA1IDUuMTA0NTY5NSwyIDQsMiBDMi44OTU0MzA1LDIgMiwyLjg5NTQzMDUgMiw0IEMyLDUuMTA0NTY5NSAyLjg5NTQzMDUsNiA0LDYgWlwiIH0pLFxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoT2ZmbGluZUlubmVyLCB7IGQ6IFwiTTQsNiBDNS4xMDQ1Njk1LDYgNiw1LjEwNDU2OTUgNiw0IEM2LDIuODk1NDMwNSA1LjEwNDU2OTUsMiA0LDIgQzIuODk1NDMwNSwyIDIsMi44OTU0MzA1IDIsNCBDMiw1LjEwNDU2OTUgMi44OTU0MzA1LDYgNCw2IFpcIiB9KSkpO1xuICAgICAgICBjYXNlICdvbmxpbmUnOlxuICAgICAgICAgICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KFN2ZywgbnVsbCxcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KE9ubGluZUNpcmNsZSwgeyBjeDogXCI0XCIsIGN5OiBcIjRcIiwgcjogXCI0XCIgfSkpKTtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbn1cbnZhciB0ZW1wbGF0ZU9iamVjdF8xLCB0ZW1wbGF0ZU9iamVjdF8yLCB0ZW1wbGF0ZU9iamVjdF8zLCB0ZW1wbGF0ZU9iamVjdF80LCB0ZW1wbGF0ZU9iamVjdF81LCB0ZW1wbGF0ZU9iamVjdF82O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Z2V0UHJlc2VuY2VTVkcuanMubWFwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/avatar/dist/esm/helpers/getPresenceSVG.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/avatar/dist/esm/helpers/getProps.js": /*!********************************************************************!*\ !*** ./node_modules/@atlaskit/avatar/dist/esm/helpers/getProps.js ***! \********************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return getProps; });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/@atlaskit/avatar/node_modules/tslib/tslib.es6.js\");\n\nvar getAppearanceProps = function (props) { return ({\n appearance: props.appearance,\n backgroundColor: props.backgroundColor,\n borderColor: props.borderColor,\n groupAppearance: props.groupAppearance,\n isActive: props.isActive,\n isDisabled: props.isDisabled,\n isFocus: props.isFocus,\n isHover: props.isHover,\n isInteractive: props.isInteractive,\n isSelected: props.isSelected,\n size: props.size,\n stackIndex: props.stackIndex,\n}); };\nvar getInteractionProps = function (props) { return ({\n onBlur: props.onBlur,\n onClick: props.onClick,\n onFocus: props.onFocus,\n onKeyDown: props.onKeyDown,\n onKeyUp: props.onKeyUp,\n onMouseDown: props.onMouseDown,\n onMouseEnter: props.onMouseEnter,\n onMouseLeave: props.onMouseLeave,\n onMouseUp: props.onMouseUp,\n tabIndex: props.tabIndex,\n}); };\nvar getLinkElementProps = function (props) {\n var href = props.href, target = props.target;\n // handle security issue for consumer\n // https://mathiasbynens.github.io/rel-noopener\n var rel = target === '_blank' ? 'noopener noreferrer' : null;\n return { href: href, rel: rel, target: target };\n};\nvar getButtonElementProps = function (props) {\n var id = props.id, isDisabled = props.isDisabled;\n return { id: id, interface: 'button', disabled: isDisabled };\n};\nfunction getProps(component) {\n var props = component.props;\n var defaultProps = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, getAppearanceProps(props)), getInteractionProps(props));\n if (props.component) {\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, defaultProps), props);\n }\n if (props.href) {\n if (props.isDisabled) {\n return defaultProps;\n }\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, defaultProps), getLinkElementProps(props));\n }\n if (props.onClick) {\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, defaultProps), getButtonElementProps(props));\n }\n return defaultProps;\n}\n//# sourceMappingURL=getProps.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L2F2YXRhci9kaXN0L2VzbS9oZWxwZXJzL2dldFByb3BzLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BhdGxhc2tpdC9hdmF0YXIvZGlzdC9lc20vaGVscGVycy9nZXRQcm9wcy5qcz8wMDFmIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IF9fYXNzaWduIH0gZnJvbSBcInRzbGliXCI7XG52YXIgZ2V0QXBwZWFyYW5jZVByb3BzID0gZnVuY3Rpb24gKHByb3BzKSB7IHJldHVybiAoe1xuICAgIGFwcGVhcmFuY2U6IHByb3BzLmFwcGVhcmFuY2UsXG4gICAgYmFja2dyb3VuZENvbG9yOiBwcm9wcy5iYWNrZ3JvdW5kQ29sb3IsXG4gICAgYm9yZGVyQ29sb3I6IHByb3BzLmJvcmRlckNvbG9yLFxuICAgIGdyb3VwQXBwZWFyYW5jZTogcHJvcHMuZ3JvdXBBcHBlYXJhbmNlLFxuICAgIGlzQWN0aXZlOiBwcm9wcy5pc0FjdGl2ZSxcbiAgICBpc0Rpc2FibGVkOiBwcm9wcy5pc0Rpc2FibGVkLFxuICAgIGlzRm9jdXM6IHByb3BzLmlzRm9jdXMsXG4gICAgaXNIb3ZlcjogcHJvcHMuaXNIb3ZlcixcbiAgICBpc0ludGVyYWN0aXZlOiBwcm9wcy5pc0ludGVyYWN0aXZlLFxuICAgIGlzU2VsZWN0ZWQ6IHByb3BzLmlzU2VsZWN0ZWQsXG4gICAgc2l6ZTogcHJvcHMuc2l6ZSxcbiAgICBzdGFja0luZGV4OiBwcm9wcy5zdGFja0luZGV4LFxufSk7IH07XG52YXIgZ2V0SW50ZXJhY3Rpb25Qcm9wcyA9IGZ1bmN0aW9uIChwcm9wcykgeyByZXR1cm4gKHtcbiAgICBvbkJsdXI6IHByb3BzLm9uQmx1cixcbiAgICBvbkNsaWNrOiBwcm9wcy5vbkNsaWNrLFxuICAgIG9uRm9jdXM6IHByb3BzLm9uRm9jdXMsXG4gICAgb25LZXlEb3duOiBwcm9wcy5vbktleURvd24sXG4gICAgb25LZXlVcDogcHJvcHMub25LZXlVcCxcbiAgICBvbk1vdXNlRG93bjogcHJvcHMub25Nb3VzZURvd24sXG4gICAgb25Nb3VzZUVudGVyOiBwcm9wcy5vbk1vdXNlRW50ZXIsXG4gICAgb25Nb3VzZUxlYXZlOiBwcm9wcy5vbk1vdXNlTGVhdmUsXG4gICAgb25Nb3VzZVVwOiBwcm9wcy5vbk1vdXNlVXAsXG4gICAgdGFiSW5kZXg6IHByb3BzLnRhYkluZGV4LFxufSk7IH07XG52YXIgZ2V0TGlua0VsZW1lbnRQcm9wcyA9IGZ1bmN0aW9uIChwcm9wcykge1xuICAgIHZhciBocmVmID0gcHJvcHMuaHJlZiwgdGFyZ2V0ID0gcHJvcHMudGFyZ2V0O1xuICAgIC8vIGhhbmRsZSBzZWN1cml0eSBpc3N1ZSBmb3IgY29uc3VtZXJcbiAgICAvLyBodHRwczovL21hdGhpYXNieW5lbnMuZ2l0aHViLmlvL3JlbC1ub29wZW5lclxuICAgIHZhciByZWwgPSB0YXJnZXQgPT09ICdfYmxhbmsnID8gJ25vb3BlbmVyIG5vcmVmZXJyZXInIDogbnVsbDtcbiAgICByZXR1cm4geyBocmVmOiBocmVmLCByZWw6IHJlbCwgdGFyZ2V0OiB0YXJnZXQgfTtcbn07XG52YXIgZ2V0QnV0dG9uRWxlbWVudFByb3BzID0gZnVuY3Rpb24gKHByb3BzKSB7XG4gICAgdmFyIGlkID0gcHJvcHMuaWQsIGlzRGlzYWJsZWQgPSBwcm9wcy5pc0Rpc2FibGVkO1xuICAgIHJldHVybiB7IGlkOiBpZCwgaW50ZXJmYWNlOiAnYnV0dG9uJywgZGlzYWJsZWQ6IGlzRGlzYWJsZWQgfTtcbn07XG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBnZXRQcm9wcyhjb21wb25lbnQpIHtcbiAgICB2YXIgcHJvcHMgPSBjb21wb25lbnQucHJvcHM7XG4gICAgdmFyIGRlZmF1bHRQcm9wcyA9IF9fYXNzaWduKF9fYXNzaWduKHt9LCBnZXRBcHBlYXJhbmNlUHJvcHMocHJvcHMpKSwgZ2V0SW50ZXJhY3Rpb25Qcm9wcyhwcm9wcykpO1xuICAgIGlmIChwcm9wcy5jb21wb25lbnQpIHtcbiAgICAgICAgcmV0dXJuIF9fYXNzaWduKF9fYXNzaWduKHt9LCBkZWZhdWx0UHJvcHMpLCBwcm9wcyk7XG4gICAgfVxuICAgIGlmIChwcm9wcy5ocmVmKSB7XG4gICAgICAgIGlmIChwcm9wcy5pc0Rpc2FibGVkKSB7XG4gICAgICAgICAgICByZXR1cm4gZGVmYXVsdFByb3BzO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBfX2Fzc2lnbihfX2Fzc2lnbih7fSwgZGVmYXVsdFByb3BzKSwgZ2V0TGlua0VsZW1lbnRQcm9wcyhwcm9wcykpO1xuICAgIH1cbiAgICBpZiAocHJvcHMub25DbGljaykge1xuICAgICAgICByZXR1cm4gX19hc3NpZ24oX19hc3NpZ24oe30sIGRlZmF1bHRQcm9wcyksIGdldEJ1dHRvbkVsZW1lbnRQcm9wcyhwcm9wcykpO1xuICAgIH1cbiAgICByZXR1cm4gZGVmYXVsdFByb3BzO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Z2V0UHJvcHMuanMubWFwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/avatar/dist/esm/helpers/getProps.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/avatar/dist/esm/helpers/getStatusSVG.js": /*!************************************************************************!*\ !*** ./node_modules/@atlaskit/avatar/dist/esm/helpers/getStatusSVG.js ***! \************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return getStatusSvg; });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/@atlaskit/avatar/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! styled-components */ \"./node_modules/styled-components/dist/styled-components.browser.esm.js\");\n/* harmony import */ var _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @atlaskit/theme/colors */ \"./node_modules/@atlaskit/theme/dist/esm/colors.js\");\n/* harmony import */ var _atlaskit_theme_components__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @atlaskit/theme/components */ \"./node_modules/@atlaskit/theme/dist/esm/components.js\");\n\n\n\n\n\nvar Svg = function (props) { return (react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\"svg\", Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({ height: \"100%\", version: \"1.1\", viewBox: \"0 0 8 8\", width: \"100%\", xmlns: \"http://www.w3.org/2000/svg\" }, props))); };\nvar ApprovedCircle = Object(_atlaskit_theme_components__WEBPACK_IMPORTED_MODULE_4__[\"withTheme\"])(styled_components__WEBPACK_IMPORTED_MODULE_2__[\"default\"].circle(templateObject_1 || (templateObject_1 = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__makeTemplateObject\"])([\"\\n fill: \", \";\\n\"], [\"\\n fill: \", \";\\n\"])), Object(_atlaskit_theme_components__WEBPACK_IMPORTED_MODULE_4__[\"themed\"])({ light: _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_3__[\"G400\"], dark: _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_3__[\"G300\"] })));\nvar ApprovedPath = Object(_atlaskit_theme_components__WEBPACK_IMPORTED_MODULE_4__[\"withTheme\"])(styled_components__WEBPACK_IMPORTED_MODULE_2__[\"default\"].path(templateObject_2 || (templateObject_2 = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__makeTemplateObject\"])([\"\\n fill: \", \";\\n\"], [\"\\n fill: \", \";\\n\"])), _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_3__[\"background\"]));\nvar DeclinedCircle = Object(_atlaskit_theme_components__WEBPACK_IMPORTED_MODULE_4__[\"withTheme\"])(styled_components__WEBPACK_IMPORTED_MODULE_2__[\"default\"].circle(templateObject_3 || (templateObject_3 = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__makeTemplateObject\"])([\"\\n fill: \", \";\\n\"], [\"\\n fill: \", \";\\n\"])), Object(_atlaskit_theme_components__WEBPACK_IMPORTED_MODULE_4__[\"themed\"])({ light: _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_3__[\"R400\"], dark: _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_3__[\"R300\"] })));\nvar DeclinedPath = Object(_atlaskit_theme_components__WEBPACK_IMPORTED_MODULE_4__[\"withTheme\"])(styled_components__WEBPACK_IMPORTED_MODULE_2__[\"default\"].path(templateObject_4 || (templateObject_4 = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__makeTemplateObject\"])([\"\\n fill: \", \";\\n\"], [\"\\n fill: \", \";\\n\"])), _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_3__[\"background\"]));\nvar LockedCircle = Object(_atlaskit_theme_components__WEBPACK_IMPORTED_MODULE_4__[\"withTheme\"])(styled_components__WEBPACK_IMPORTED_MODULE_2__[\"default\"].circle(templateObject_5 || (templateObject_5 = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__makeTemplateObject\"])([\"\\n fill: \", \";\\n\"], [\"\\n fill: \", \";\\n\"])), Object(_atlaskit_theme_components__WEBPACK_IMPORTED_MODULE_4__[\"themed\"])({ light: _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_3__[\"N40\"], dark: _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_3__[\"DN800\"] })));\nvar LockedPath = Object(_atlaskit_theme_components__WEBPACK_IMPORTED_MODULE_4__[\"withTheme\"])(styled_components__WEBPACK_IMPORTED_MODULE_2__[\"default\"].path(templateObject_6 || (templateObject_6 = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__makeTemplateObject\"])([\"\\n fill: \", \";\\n\"], [\"\\n fill: \", \";\\n\"])), Object(_atlaskit_theme_components__WEBPACK_IMPORTED_MODULE_4__[\"themed\"])({ light: _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_3__[\"N500\"], dark: _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_3__[\"DN30\"] })));\nfunction getStatusSvg(status) {\n switch (status) {\n case 'approved':\n return (react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(Svg, null,\n react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(ApprovedCircle, { cx: \"4\", cy: \"4\", r: \"4\" }),\n react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(ApprovedPath, { d: \"M2.47140452,3.52859548 C2.21105499,3.26824595 1.78894501,3.26824595 1.52859548,3.52859548 C1.26824595,3.78894501 1.26824595,4.21105499 1.52859548,4.47140452 L2.86192881,5.80473785 C3.12227834,6.06508738 3.54438833,6.06508738 3.80473785,5.80473785 L6.47140452,3.13807119 C6.73175405,2.87772166 6.73175405,2.45561167 6.47140452,2.19526215 C6.21105499,1.93491262 5.78894501,1.93491262 5.52859548,2.19526215 L3.33333333,4.39052429 L2.47140452,3.52859548 Z\" })));\n case 'declined':\n return (react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(Svg, null,\n react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(DeclinedCircle, { cx: \"4\", cy: \"4\", r: \"4\" }),\n react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(DeclinedPath, { d: \"M4.890661,4.0088336 L5.81806461,3.07802178 C6.06167933,2.83351177 6.06048933,2.43826992 5.81540668,2.19522442 C5.57032402,1.95217891 5.17415651,1.95336612 4.93054179,2.19787613 L4.00765946,3.12415007 L3.06906871,2.18377143 C2.82523777,1.93947602 2.42906937,1.93863765 2.18420182,2.18189887 C1.93933427,2.42516008 1.93849394,2.82040282 2.18232488,3.06469822 L3.12544091,4.00961077 L2.20275024,4.93569234 C1.95913552,5.18020236 1.96032551,5.5754442 2.20540817,5.81848971 C2.45049083,6.06153521 2.84665833,6.060348 3.09027306,5.81583799 L4.00844245,4.89429431 L4.9092123,5.79678001 C5.15304324,6.04107541 5.54921164,6.04191379 5.79407919,5.79865257 C6.03894674,5.55539135 6.03978708,5.16014862 5.79595614,4.91585321 L4.890661,4.0088336 Z\" })));\n case 'locked':\n return (react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(Svg, null,\n react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(LockedCircle, { cx: \"4\", cy: \"4\", r: \"4\" }),\n react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(LockedPath, { d: \"M4.13074827,1.21766493 L4.10368158,1.21766493 C3.36340745,1.21766493 2.76388015,1.80793503 2.76388015,2.5367787 L2.76388015,3.21632216 L3.44054754,3.21632216 L3.44054754,2.54344089 C3.44054754,2.17901906 3.74031119,1.88388401 4.11044825,1.88388401 L4.1239816,1.88388401 C4.49411866,1.88388401 4.79388232,2.17901906 4.79388232,2.54344089 L4.79388232,3.21632216 L5.47054971,3.21632216 L5.47054971,2.5367787 C5.47054971,1.80793503 4.8710224,1.21766493 4.13074827,1.21766493 M2.76388015,3.21632216 L3.44054754,3.21632216 L3.44054754,3.88254123 L2.76388015,3.88254123 L2.76388015,3.21632216 Z M4.79388232,3.21632216 L5.47054971,3.21632216 L5.47054971,3.88254123 L4.79388232,3.88254123 L4.79388232,3.21632216 Z M4.79401765,3.88254123 L3.44068287,3.88254123 L2.76401548,3.88254123 C2.39049508,3.88254123 2.08734809,4.18100738 2.08734809,4.54876031 L2.08734809,5.54808892 C2.08734809,6.10000287 2.53735205,6.54741753 3.09094491,6.54741753 L5.14375561,6.54741753 C5.69802683,6.54741753 6.14735243,6.10385072 6.14735243,5.54808892 L6.14735243,4.54876031 C6.14735243,4.18100738 5.84420544,3.88254123 5.47068504,3.88254123 L4.79401765,3.88254123 Z\" })));\n default:\n return null;\n }\n}\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6;\n//# sourceMappingURL=getStatusSVG.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L2F2YXRhci9kaXN0L2VzbS9oZWxwZXJzL2dldFN0YXR1c1NWRy5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AYXRsYXNraXQvYXZhdGFyL2Rpc3QvZXNtL2hlbHBlcnMvZ2V0U3RhdHVzU1ZHLmpzPzEzMzgiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgX19hc3NpZ24sIF9fbWFrZVRlbXBsYXRlT2JqZWN0IH0gZnJvbSBcInRzbGliXCI7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQgKiBhcyBjb2xvcnMgZnJvbSAnQGF0bGFza2l0L3RoZW1lL2NvbG9ycyc7XG5pbXBvcnQgeyB0aGVtZWQsIHdpdGhUaGVtZSB9IGZyb20gJ0BhdGxhc2tpdC90aGVtZS9jb21wb25lbnRzJztcbnZhciBTdmcgPSBmdW5jdGlvbiAocHJvcHMpIHsgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KFwic3ZnXCIsIF9fYXNzaWduKHsgaGVpZ2h0OiBcIjEwMCVcIiwgdmVyc2lvbjogXCIxLjFcIiwgdmlld0JveDogXCIwIDAgOCA4XCIsIHdpZHRoOiBcIjEwMCVcIiwgeG1sbnM6IFwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB9LCBwcm9wcykpKTsgfTtcbnZhciBBcHByb3ZlZENpcmNsZSA9IHdpdGhUaGVtZShzdHlsZWQuY2lyY2xlKHRlbXBsYXRlT2JqZWN0XzEgfHwgKHRlbXBsYXRlT2JqZWN0XzEgPSBfX21ha2VUZW1wbGF0ZU9iamVjdChbXCJcXG4gIGZpbGw6IFwiLCBcIjtcXG5cIl0sIFtcIlxcbiAgZmlsbDogXCIsIFwiO1xcblwiXSkpLCB0aGVtZWQoeyBsaWdodDogY29sb3JzLkc0MDAsIGRhcms6IGNvbG9ycy5HMzAwIH0pKSk7XG52YXIgQXBwcm92ZWRQYXRoID0gd2l0aFRoZW1lKHN0eWxlZC5wYXRoKHRlbXBsYXRlT2JqZWN0XzIgfHwgKHRlbXBsYXRlT2JqZWN0XzIgPSBfX21ha2VUZW1wbGF0ZU9iamVjdChbXCJcXG4gIGZpbGw6IFwiLCBcIjtcXG5cIl0sIFtcIlxcbiAgZmlsbDogXCIsIFwiO1xcblwiXSkpLCBjb2xvcnMuYmFja2dyb3VuZCkpO1xudmFyIERlY2xpbmVkQ2lyY2xlID0gd2l0aFRoZW1lKHN0eWxlZC5jaXJjbGUodGVtcGxhdGVPYmplY3RfMyB8fCAodGVtcGxhdGVPYmplY3RfMyA9IF9fbWFrZVRlbXBsYXRlT2JqZWN0KFtcIlxcbiAgZmlsbDogXCIsIFwiO1xcblwiXSwgW1wiXFxuICBmaWxsOiBcIiwgXCI7XFxuXCJdKSksIHRoZW1lZCh7IGxpZ2h0OiBjb2xvcnMuUjQwMCwgZGFyazogY29sb3JzLlIzMDAgfSkpKTtcbnZhciBEZWNsaW5lZFBhdGggPSB3aXRoVGhlbWUoc3R5bGVkLnBhdGgodGVtcGxhdGVPYmplY3RfNCB8fCAodGVtcGxhdGVPYmplY3RfNCA9IF9fbWFrZVRlbXBsYXRlT2JqZWN0KFtcIlxcbiAgZmlsbDogXCIsIFwiO1xcblwiXSwgW1wiXFxuICBmaWxsOiBcIiwgXCI7XFxuXCJdKSksIGNvbG9ycy5iYWNrZ3JvdW5kKSk7XG52YXIgTG9ja2VkQ2lyY2xlID0gd2l0aFRoZW1lKHN0eWxlZC5jaXJjbGUodGVtcGxhdGVPYmplY3RfNSB8fCAodGVtcGxhdGVPYmplY3RfNSA9IF9fbWFrZVRlbXBsYXRlT2JqZWN0KFtcIlxcbiAgZmlsbDogXCIsIFwiO1xcblwiXSwgW1wiXFxuICBmaWxsOiBcIiwgXCI7XFxuXCJdKSksIHRoZW1lZCh7IGxpZ2h0OiBjb2xvcnMuTjQwLCBkYXJrOiBjb2xvcnMuRE44MDAgfSkpKTtcbnZhciBMb2NrZWRQYXRoID0gd2l0aFRoZW1lKHN0eWxlZC5wYXRoKHRlbXBsYXRlT2JqZWN0XzYgfHwgKHRlbXBsYXRlT2JqZWN0XzYgPSBfX21ha2VUZW1wbGF0ZU9iamVjdChbXCJcXG4gIGZpbGw6IFwiLCBcIjtcXG5cIl0sIFtcIlxcbiAgZmlsbDogXCIsIFwiO1xcblwiXSkpLCB0aGVtZWQoeyBsaWdodDogY29sb3JzLk41MDAsIGRhcms6IGNvbG9ycy5ETjMwIH0pKSk7XG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBnZXRTdGF0dXNTdmcoc3RhdHVzKSB7XG4gICAgc3dpdGNoIChzdGF0dXMpIHtcbiAgICAgICAgY2FzZSAnYXBwcm92ZWQnOlxuICAgICAgICAgICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KFN2ZywgbnVsbCxcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KEFwcHJvdmVkQ2lyY2xlLCB7IGN4OiBcIjRcIiwgY3k6IFwiNFwiLCByOiBcIjRcIiB9KSxcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KEFwcHJvdmVkUGF0aCwgeyBkOiBcIk0yLjQ3MTQwNDUyLDMuNTI4NTk1NDggQzIuMjExMDU0OTksMy4yNjgyNDU5NSAxLjc4ODk0NTAxLDMuMjY4MjQ1OTUgMS41Mjg1OTU0OCwzLjUyODU5NTQ4IEMxLjI2ODI0NTk1LDMuNzg4OTQ1MDEgMS4yNjgyNDU5NSw0LjIxMTA1NDk5IDEuNTI4NTk1NDgsNC40NzE0MDQ1MiBMMi44NjE5Mjg4MSw1LjgwNDczNzg1IEMzLjEyMjI3ODM0LDYuMDY1MDg3MzggMy41NDQzODgzMyw2LjA2NTA4NzM4IDMuODA0NzM3ODUsNS44MDQ3Mzc4NSBMNi40NzE0MDQ1MiwzLjEzODA3MTE5IEM2LjczMTc1NDA1LDIuODc3NzIxNjYgNi43MzE3NTQwNSwyLjQ1NTYxMTY3IDYuNDcxNDA0NTIsMi4xOTUyNjIxNSBDNi4yMTEwNTQ5OSwxLjkzNDkxMjYyIDUuNzg4OTQ1MDEsMS45MzQ5MTI2MiA1LjUyODU5NTQ4LDIuMTk1MjYyMTUgTDMuMzMzMzMzMzMsNC4zOTA1MjQyOSBMMi40NzE0MDQ1MiwzLjUyODU5NTQ4IFpcIiB9KSkpO1xuICAgICAgICBjYXNlICdkZWNsaW5lZCc6XG4gICAgICAgICAgICByZXR1cm4gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoU3ZnLCBudWxsLFxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoRGVjbGluZWRDaXJjbGUsIHsgY3g6IFwiNFwiLCBjeTogXCI0XCIsIHI6IFwiNFwiIH0pLFxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoRGVjbGluZWRQYXRoLCB7IGQ6IFwiTTQuODkwNjYxLDQuMDA4ODMzNiBMNS44MTgwNjQ2MSwzLjA3ODAyMTc4IEM2LjA2MTY3OTMzLDIuODMzNTExNzcgNi4wNjA0ODkzMywyLjQzODI2OTkyIDUuODE1NDA2NjgsMi4xOTUyMjQ0MiBDNS41NzAzMjQwMiwxLjk1MjE3ODkxIDUuMTc0MTU2NTEsMS45NTMzNjYxMiA0LjkzMDU0MTc5LDIuMTk3ODc2MTMgTDQuMDA3NjU5NDYsMy4xMjQxNTAwNyBMMy4wNjkwNjg3MSwyLjE4Mzc3MTQzIEMyLjgyNTIzNzc3LDEuOTM5NDc2MDIgMi40MjkwNjkzNywxLjkzODYzNzY1IDIuMTg0MjAxODIsMi4xODE4OTg4NyBDMS45MzkzMzQyNywyLjQyNTE2MDA4IDEuOTM4NDkzOTQsMi44MjA0MDI4MiAyLjE4MjMyNDg4LDMuMDY0Njk4MjIgTDMuMTI1NDQwOTEsNC4wMDk2MTA3NyBMMi4yMDI3NTAyNCw0LjkzNTY5MjM0IEMxLjk1OTEzNTUyLDUuMTgwMjAyMzYgMS45NjAzMjU1MSw1LjU3NTQ0NDIgMi4yMDU0MDgxNyw1LjgxODQ4OTcxIEMyLjQ1MDQ5MDgzLDYuMDYxNTM1MjEgMi44NDY2NTgzMyw2LjA2MDM0OCAzLjA5MDI3MzA2LDUuODE1ODM3OTkgTDQuMDA4NDQyNDUsNC44OTQyOTQzMSBMNC45MDkyMTIzLDUuNzk2NzgwMDEgQzUuMTUzMDQzMjQsNi4wNDEwNzU0MSA1LjU0OTIxMTY0LDYuMDQxOTEzNzkgNS43OTQwNzkxOSw1Ljc5ODY1MjU3IEM2LjAzODk0Njc0LDUuNTU1MzkxMzUgNi4wMzk3ODcwOCw1LjE2MDE0ODYyIDUuNzk1OTU2MTQsNC45MTU4NTMyMSBMNC44OTA2NjEsNC4wMDg4MzM2IFpcIiB9KSkpO1xuICAgICAgICBjYXNlICdsb2NrZWQnOlxuICAgICAgICAgICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KFN2ZywgbnVsbCxcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KExvY2tlZENpcmNsZSwgeyBjeDogXCI0XCIsIGN5OiBcIjRcIiwgcjogXCI0XCIgfSksXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChMb2NrZWRQYXRoLCB7IGQ6IFwiTTQuMTMwNzQ4MjcsMS4yMTc2NjQ5MyBMNC4xMDM2ODE1OCwxLjIxNzY2NDkzIEMzLjM2MzQwNzQ1LDEuMjE3NjY0OTMgMi43NjM4ODAxNSwxLjgwNzkzNTAzIDIuNzYzODgwMTUsMi41MzY3Nzg3IEwyLjc2Mzg4MDE1LDMuMjE2MzIyMTYgTDMuNDQwNTQ3NTQsMy4yMTYzMjIxNiBMMy40NDA1NDc1NCwyLjU0MzQ0MDg5IEMzLjQ0MDU0NzU0LDIuMTc5MDE5MDYgMy43NDAzMTExOSwxLjg4Mzg4NDAxIDQuMTEwNDQ4MjUsMS44ODM4ODQwMSBMNC4xMjM5ODE2LDEuODgzODg0MDEgQzQuNDk0MTE4NjYsMS44ODM4ODQwMSA0Ljc5Mzg4MjMyLDIuMTc5MDE5MDYgNC43OTM4ODIzMiwyLjU0MzQ0MDg5IEw0Ljc5Mzg4MjMyLDMuMjE2MzIyMTYgTDUuNDcwNTQ5NzEsMy4yMTYzMjIxNiBMNS40NzA1NDk3MSwyLjUzNjc3ODcgQzUuNDcwNTQ5NzEsMS44MDc5MzUwMyA0Ljg3MTAyMjQsMS4yMTc2NjQ5MyA0LjEzMDc0ODI3LDEuMjE3NjY0OTMgTTIuNzYzODgwMTUsMy4yMTYzMjIxNiBMMy40NDA1NDc1NCwzLjIxNjMyMjE2IEwzLjQ0MDU0NzU0LDMuODgyNTQxMjMgTDIuNzYzODgwMTUsMy44ODI1NDEyMyBMMi43NjM4ODAxNSwzLjIxNjMyMjE2IFogTTQuNzkzODgyMzIsMy4yMTYzMjIxNiBMNS40NzA1NDk3MSwzLjIxNjMyMjE2IEw1LjQ3MDU0OTcxLDMuODgyNTQxMjMgTDQuNzkzODgyMzIsMy44ODI1NDEyMyBMNC43OTM4ODIzMiwzLjIxNjMyMjE2IFogTTQuNzk0MDE3NjUsMy44ODI1NDEyMyBMMy40NDA2ODI4NywzLjg4MjU0MTIzIEwyLjc2NDAxNTQ4LDMuODgyNTQxMjMgQzIuMzkwNDk1MDgsMy44ODI1NDEyMyAyLjA4NzM0ODA5LDQuMTgxMDA3MzggMi4wODczNDgwOSw0LjU0ODc2MDMxIEwyLjA4NzM0ODA5LDUuNTQ4MDg4OTIgQzIuMDg3MzQ4MDksNi4xMDAwMDI4NyAyLjUzNzM1MjA1LDYuNTQ3NDE3NTMgMy4wOTA5NDQ5MSw2LjU0NzQxNzUzIEw1LjE0Mzc1NTYxLDYuNTQ3NDE3NTMgQzUuNjk4MDI2ODMsNi41NDc0MTc1MyA2LjE0NzM1MjQzLDYuMTAzODUwNzIgNi4xNDczNTI0Myw1LjU0ODA4ODkyIEw2LjE0NzM1MjQzLDQuNTQ4NzYwMzEgQzYuMTQ3MzUyNDMsNC4xODEwMDczOCA1Ljg0NDIwNTQ0LDMuODgyNTQxMjMgNS40NzA2ODUwNCwzLjg4MjU0MTIzIEw0Ljc5NDAxNzY1LDMuODgyNTQxMjMgWlwiIH0pKSk7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG59XG52YXIgdGVtcGxhdGVPYmplY3RfMSwgdGVtcGxhdGVPYmplY3RfMiwgdGVtcGxhdGVPYmplY3RfMywgdGVtcGxhdGVPYmplY3RfNCwgdGVtcGxhdGVPYmplY3RfNSwgdGVtcGxhdGVPYmplY3RfNjtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWdldFN0YXR1c1NWRy5qcy5tYXAiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/avatar/dist/esm/helpers/getStatusSVG.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/avatar/dist/esm/helpers/getStyledAvatar.js": /*!***************************************************************************!*\ !*** ./node_modules/@atlaskit/avatar/dist/esm/helpers/getStyledAvatar.js ***! \***************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _styled_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../styled/utils */ \"./node_modules/@atlaskit/avatar/dist/esm/styled/utils.js\");\n/* harmony import */ var _styledCache__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./styledCache */ \"./node_modules/@atlaskit/avatar/dist/esm/helpers/styledCache.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(_styledCache__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(_styled_utils__WEBPACK_IMPORTED_MODULE_0__[\"getInnerStyles\"]));\n//# sourceMappingURL=getStyledAvatar.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L2F2YXRhci9kaXN0L2VzbS9oZWxwZXJzL2dldFN0eWxlZEF2YXRhci5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AYXRsYXNraXQvYXZhdGFyL2Rpc3QvZXNtL2hlbHBlcnMvZ2V0U3R5bGVkQXZhdGFyLmpzPzk3NjgiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ2V0SW5uZXJTdHlsZXMgfSBmcm9tICcuLi9zdHlsZWQvdXRpbHMnO1xuaW1wb3J0IHN0eWxlZENhY2hlIGZyb20gJy4vc3R5bGVkQ2FjaGUnO1xuZXhwb3J0IGRlZmF1bHQgc3R5bGVkQ2FjaGUoZ2V0SW5uZXJTdHlsZXMpO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Z2V0U3R5bGVkQXZhdGFyLmpzLm1hcCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/avatar/dist/esm/helpers/getStyledAvatar.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/avatar/dist/esm/helpers/getStyledAvatarItem.js": /*!*******************************************************************************!*\ !*** ./node_modules/@atlaskit/avatar/dist/esm/helpers/getStyledAvatarItem.js ***! \*******************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _styled_AvatarItem__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../styled/AvatarItem */ \"./node_modules/@atlaskit/avatar/dist/esm/styled/AvatarItem.js\");\n/* harmony import */ var _styledCache__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./styledCache */ \"./node_modules/@atlaskit/avatar/dist/esm/helpers/styledCache.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(_styledCache__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(_styled_AvatarItem__WEBPACK_IMPORTED_MODULE_0__[\"getStyles\"]));\n//# sourceMappingURL=getStyledAvatarItem.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L2F2YXRhci9kaXN0L2VzbS9oZWxwZXJzL2dldFN0eWxlZEF2YXRhckl0ZW0uanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L2F2YXRhci9kaXN0L2VzbS9oZWxwZXJzL2dldFN0eWxlZEF2YXRhckl0ZW0uanM/MTQxMSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBnZXRTdHlsZXMgfSBmcm9tICcuLi9zdHlsZWQvQXZhdGFySXRlbSc7XG5pbXBvcnQgc3R5bGVkQ2FjaGUgZnJvbSAnLi9zdHlsZWRDYWNoZSc7XG5leHBvcnQgZGVmYXVsdCBzdHlsZWRDYWNoZShnZXRTdHlsZXMpO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Z2V0U3R5bGVkQXZhdGFySXRlbS5qcy5tYXAiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/avatar/dist/esm/helpers/getStyledAvatarItem.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/avatar/dist/esm/helpers/index.js": /*!*****************************************************************!*\ !*** ./node_modules/@atlaskit/avatar/dist/esm/helpers/index.js ***! \*****************************************************************/ /*! exports provided: getPresenceSVG, getProps, getStatusSVG, getStyledAvatar, getStyledAvatarItem */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _getPresenceSVG__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getPresenceSVG */ \"./node_modules/@atlaskit/avatar/dist/esm/helpers/getPresenceSVG.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getPresenceSVG\", function() { return _getPresenceSVG__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n/* harmony import */ var _getProps__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./getProps */ \"./node_modules/@atlaskit/avatar/dist/esm/helpers/getProps.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getProps\", function() { return _getProps__WEBPACK_IMPORTED_MODULE_1__[\"default\"]; });\n\n/* harmony import */ var _getStatusSVG__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./getStatusSVG */ \"./node_modules/@atlaskit/avatar/dist/esm/helpers/getStatusSVG.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getStatusSVG\", function() { return _getStatusSVG__WEBPACK_IMPORTED_MODULE_2__[\"default\"]; });\n\n/* harmony import */ var _getStyledAvatar__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./getStyledAvatar */ \"./node_modules/@atlaskit/avatar/dist/esm/helpers/getStyledAvatar.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getStyledAvatar\", function() { return _getStyledAvatar__WEBPACK_IMPORTED_MODULE_3__[\"default\"]; });\n\n/* harmony import */ var _getStyledAvatarItem__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./getStyledAvatarItem */ \"./node_modules/@atlaskit/avatar/dist/esm/helpers/getStyledAvatarItem.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getStyledAvatarItem\", function() { return _getStyledAvatarItem__WEBPACK_IMPORTED_MODULE_4__[\"default\"]; });\n\n\n\n\n\n\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L2F2YXRhci9kaXN0L2VzbS9oZWxwZXJzL2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BhdGxhc2tpdC9hdmF0YXIvZGlzdC9lc20vaGVscGVycy9pbmRleC5qcz83MzEyIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IGRlZmF1bHQgYXMgZ2V0UHJlc2VuY2VTVkcgfSBmcm9tICcuL2dldFByZXNlbmNlU1ZHJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgZ2V0UHJvcHMgfSBmcm9tICcuL2dldFByb3BzJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgZ2V0U3RhdHVzU1ZHIH0gZnJvbSAnLi9nZXRTdGF0dXNTVkcnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBnZXRTdHlsZWRBdmF0YXIgfSBmcm9tICcuL2dldFN0eWxlZEF2YXRhcic7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGdldFN0eWxlZEF2YXRhckl0ZW0gfSBmcm9tICcuL2dldFN0eWxlZEF2YXRhckl0ZW0nO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/avatar/dist/esm/helpers/index.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/avatar/dist/esm/helpers/styledCache.js": /*!***********************************************************************!*\ !*** ./node_modules/@atlaskit/avatar/dist/esm/helpers/styledCache.js ***! \***********************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/@atlaskit/avatar/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! styled-components */ \"./node_modules/styled-components/dist/styled-components.browser.esm.js\");\n/* harmony import */ var _atlaskit_theme_components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @atlaskit/theme/components */ \"./node_modules/@atlaskit/theme/dist/esm/components.js\");\n/* harmony import */ var _components_CustomComponentProxy__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../components/CustomComponentProxy */ \"./node_modules/@atlaskit/avatar/dist/esm/components/CustomComponentProxy.js\");\n\n\n\n\n// This is necessary because we don't know what DOM element the custom component will render.\n/* harmony default export */ __webpack_exports__[\"default\"] = (function (styles) {\n var StyledCustomComponent = Object(_atlaskit_theme_components__WEBPACK_IMPORTED_MODULE_2__[\"withTheme\"])(Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(_components_CustomComponentProxy__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(templateObject_1 || (templateObject_1 = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__makeTemplateObject\"])([\"\\n &,\\n &:hover,\\n &:active,\\n &:focus {\\n \", \"\\n }\\n \"], [\"\\n &,\\n &:hover,\\n &:active,\\n &:focus {\\n \", \"\\n }\\n \"])), styles));\n var StyledButton = Object(_atlaskit_theme_components__WEBPACK_IMPORTED_MODULE_2__[\"withTheme\"])(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"default\"].button(templateObject_2 || (templateObject_2 = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__makeTemplateObject\"])([\"\\n \", \";\\n \"], [\"\\n \", \";\\n \"])), styles));\n var StyledLink = Object(_atlaskit_theme_components__WEBPACK_IMPORTED_MODULE_2__[\"withTheme\"])(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"default\"].a(templateObject_3 || (templateObject_3 = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__makeTemplateObject\"])([\"\\n a& {\\n \", \";\\n }\\n \"], [\"\\n a& {\\n \", \";\\n }\\n \"])), styles));\n var StyledSpan = Object(_atlaskit_theme_components__WEBPACK_IMPORTED_MODULE_2__[\"withTheme\"])(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"default\"].span(templateObject_4 || (templateObject_4 = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__makeTemplateObject\"])([\"\\n \", \";\\n \"], [\"\\n \", \";\\n \"])), styles));\n return function getStyled(_a) {\n var component = _a.component, href = _a.href, onClick = _a.onClick;\n var Ret = StyledSpan;\n if (component) {\n Ret = StyledCustomComponent;\n }\n else if (href) {\n Ret = StyledLink;\n }\n else if (onClick) {\n Ret = StyledButton;\n }\n return Ret;\n };\n});\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4;\n//# sourceMappingURL=styledCache.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L2F2YXRhci9kaXN0L2VzbS9oZWxwZXJzL3N0eWxlZENhY2hlLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BhdGxhc2tpdC9hdmF0YXIvZGlzdC9lc20vaGVscGVycy9zdHlsZWRDYWNoZS5qcz9kZWIxIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IF9fbWFrZVRlbXBsYXRlT2JqZWN0IH0gZnJvbSBcInRzbGliXCI7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCB7IHdpdGhUaGVtZSB9IGZyb20gJ0BhdGxhc2tpdC90aGVtZS9jb21wb25lbnRzJztcbmltcG9ydCBDdXN0b21Db21wb25lbnRQcm94eSBmcm9tICcuLi9jb21wb25lbnRzL0N1c3RvbUNvbXBvbmVudFByb3h5Jztcbi8vIFRoaXMgaXMgbmVjZXNzYXJ5IGJlY2F1c2Ugd2UgZG9uJ3Qga25vdyB3aGF0IERPTSBlbGVtZW50IHRoZSBjdXN0b20gY29tcG9uZW50IHdpbGwgcmVuZGVyLlxuZXhwb3J0IGRlZmF1bHQgKGZ1bmN0aW9uIChzdHlsZXMpIHtcbiAgICB2YXIgU3R5bGVkQ3VzdG9tQ29tcG9uZW50ID0gd2l0aFRoZW1lKHN0eWxlZChDdXN0b21Db21wb25lbnRQcm94eSkodGVtcGxhdGVPYmplY3RfMSB8fCAodGVtcGxhdGVPYmplY3RfMSA9IF9fbWFrZVRlbXBsYXRlT2JqZWN0KFtcIlxcbiAgICAgICYsXFxuICAgICAgJjpob3ZlcixcXG4gICAgICAmOmFjdGl2ZSxcXG4gICAgICAmOmZvY3VzIHtcXG4gICAgICAgIFwiLCBcIlxcbiAgICAgIH1cXG4gICAgXCJdLCBbXCJcXG4gICAgICAmLFxcbiAgICAgICY6aG92ZXIsXFxuICAgICAgJjphY3RpdmUsXFxuICAgICAgJjpmb2N1cyB7XFxuICAgICAgICBcIiwgXCJcXG4gICAgICB9XFxuICAgIFwiXSkpLCBzdHlsZXMpKTtcbiAgICB2YXIgU3R5bGVkQnV0dG9uID0gd2l0aFRoZW1lKHN0eWxlZC5idXR0b24odGVtcGxhdGVPYmplY3RfMiB8fCAodGVtcGxhdGVPYmplY3RfMiA9IF9fbWFrZVRlbXBsYXRlT2JqZWN0KFtcIlxcbiAgICBcIiwgXCI7XFxuICBcIl0sIFtcIlxcbiAgICBcIiwgXCI7XFxuICBcIl0pKSwgc3R5bGVzKSk7XG4gICAgdmFyIFN0eWxlZExpbmsgPSB3aXRoVGhlbWUoc3R5bGVkLmEodGVtcGxhdGVPYmplY3RfMyB8fCAodGVtcGxhdGVPYmplY3RfMyA9IF9fbWFrZVRlbXBsYXRlT2JqZWN0KFtcIlxcbiAgICBhJiB7XFxuICAgICAgXCIsIFwiO1xcbiAgICB9XFxuICBcIl0sIFtcIlxcbiAgICBhJiB7XFxuICAgICAgXCIsIFwiO1xcbiAgICB9XFxuICBcIl0pKSwgc3R5bGVzKSk7XG4gICAgdmFyIFN0eWxlZFNwYW4gPSB3aXRoVGhlbWUoc3R5bGVkLnNwYW4odGVtcGxhdGVPYmplY3RfNCB8fCAodGVtcGxhdGVPYmplY3RfNCA9IF9fbWFrZVRlbXBsYXRlT2JqZWN0KFtcIlxcbiAgICBcIiwgXCI7XFxuICBcIl0sIFtcIlxcbiAgICBcIiwgXCI7XFxuICBcIl0pKSwgc3R5bGVzKSk7XG4gICAgcmV0dXJuIGZ1bmN0aW9uIGdldFN0eWxlZChfYSkge1xuICAgICAgICB2YXIgY29tcG9uZW50ID0gX2EuY29tcG9uZW50LCBocmVmID0gX2EuaHJlZiwgb25DbGljayA9IF9hLm9uQ2xpY2s7XG4gICAgICAgIHZhciBSZXQgPSBTdHlsZWRTcGFuO1xuICAgICAgICBpZiAoY29tcG9uZW50KSB7XG4gICAgICAgICAgICBSZXQgPSBTdHlsZWRDdXN0b21Db21wb25lbnQ7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoaHJlZikge1xuICAgICAgICAgICAgUmV0ID0gU3R5bGVkTGluaztcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChvbkNsaWNrKSB7XG4gICAgICAgICAgICBSZXQgPSBTdHlsZWRCdXR0b247XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIFJldDtcbiAgICB9O1xufSk7XG52YXIgdGVtcGxhdGVPYmplY3RfMSwgdGVtcGxhdGVPYmplY3RfMiwgdGVtcGxhdGVPYmplY3RfMywgdGVtcGxhdGVPYmplY3RfNDtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXN0eWxlZENhY2hlLmpzLm1hcCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/avatar/dist/esm/helpers/styledCache.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/avatar/dist/esm/hoc/index.js": /*!*************************************************************!*\ !*** ./node_modules/@atlaskit/avatar/dist/esm/hoc/index.js ***! \*************************************************************/ /*! exports provided: mapProps, withPseudoState */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _mapProps__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./mapProps */ \"./node_modules/@atlaskit/avatar/dist/esm/hoc/mapProps.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"mapProps\", function() { return _mapProps__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n/* harmony import */ var _withPseudoState__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./withPseudoState */ \"./node_modules/@atlaskit/avatar/dist/esm/hoc/withPseudoState.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"withPseudoState\", function() { return _withPseudoState__WEBPACK_IMPORTED_MODULE_1__[\"default\"]; });\n\n\n\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L2F2YXRhci9kaXN0L2VzbS9ob2MvaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L2F2YXRhci9kaXN0L2VzbS9ob2MvaW5kZXguanM/ZTZjNCJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBkZWZhdWx0IGFzIG1hcFByb3BzIH0gZnJvbSAnLi9tYXBQcm9wcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIHdpdGhQc2V1ZG9TdGF0ZSB9IGZyb20gJy4vd2l0aFBzZXVkb1N0YXRlJztcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmpzLm1hcCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/avatar/dist/esm/hoc/index.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/avatar/dist/esm/hoc/mapProps.js": /*!****************************************************************!*\ !*** ./node_modules/@atlaskit/avatar/dist/esm/hoc/mapProps.js ***! \****************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return mapProps; });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/@atlaskit/avatar/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils */ \"./node_modules/@atlaskit/avatar/dist/esm/utils.js\");\n\n\n\nfunction mapProps(mapping) {\n return function (DecoratedComponent) { var _a; return _a = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(MapProps, _super);\n function MapProps() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n // expose blur/focus to consumers via ref\n _this.blur = function () {\n // @ts-ignore accessing component internals\n if (_this.component && _this.component.blur)\n _this.component.blur();\n };\n _this.focus = function () {\n // @ts-ignore accessing component internals\n if (_this.component && _this.component.focus)\n _this.component.focus();\n };\n _this.setComponent = function (component) {\n _this.component = component;\n };\n return _this;\n }\n MapProps.prototype.render = function () {\n var _this = this;\n var mapped = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, this.props), Object.keys(mapping).reduce(function (acc, key) {\n var _a;\n return (Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, acc), (_a = {}, _a[key] = mapping[key](_this.props), _a)));\n }, {}));\n return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(DecoratedComponent, Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({ ref: this.setComponent }, mapped));\n };\n return MapProps;\n }(react__WEBPACK_IMPORTED_MODULE_1__[\"Component\"])),\n _a.displayName = Object(_utils__WEBPACK_IMPORTED_MODULE_2__[\"getDisplayName\"])('mapProps', DecoratedComponent),\n _a.DecoratedComponent = DecoratedComponent,\n _a; };\n}\n//# sourceMappingURL=mapProps.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L2F2YXRhci9kaXN0L2VzbS9ob2MvbWFwUHJvcHMuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L2F2YXRhci9kaXN0L2VzbS9ob2MvbWFwUHJvcHMuanM/ZGE2ZCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBfX2Fzc2lnbiwgX19leHRlbmRzIH0gZnJvbSBcInRzbGliXCI7XG5pbXBvcnQgUmVhY3QsIHsgQ29tcG9uZW50IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgZ2V0RGlzcGxheU5hbWUgfSBmcm9tICcuLi91dGlscyc7XG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBtYXBQcm9wcyhtYXBwaW5nKSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uIChEZWNvcmF0ZWRDb21wb25lbnQpIHsgdmFyIF9hOyByZXR1cm4gX2EgPSAvKiogQGNsYXNzICovIChmdW5jdGlvbiAoX3N1cGVyKSB7XG4gICAgICAgICAgICBfX2V4dGVuZHMoTWFwUHJvcHMsIF9zdXBlcik7XG4gICAgICAgICAgICBmdW5jdGlvbiBNYXBQcm9wcygpIHtcbiAgICAgICAgICAgICAgICB2YXIgX3RoaXMgPSBfc3VwZXIgIT09IG51bGwgJiYgX3N1cGVyLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykgfHwgdGhpcztcbiAgICAgICAgICAgICAgICAvLyBleHBvc2UgYmx1ci9mb2N1cyB0byBjb25zdW1lcnMgdmlhIHJlZlxuICAgICAgICAgICAgICAgIF90aGlzLmJsdXIgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmUgYWNjZXNzaW5nIGNvbXBvbmVudCBpbnRlcm5hbHNcbiAgICAgICAgICAgICAgICAgICAgaWYgKF90aGlzLmNvbXBvbmVudCAmJiBfdGhpcy5jb21wb25lbnQuYmx1cilcbiAgICAgICAgICAgICAgICAgICAgICAgIF90aGlzLmNvbXBvbmVudC5ibHVyKCk7XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBfdGhpcy5mb2N1cyA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gQHRzLWlnbm9yZSBhY2Nlc3NpbmcgY29tcG9uZW50IGludGVybmFsc1xuICAgICAgICAgICAgICAgICAgICBpZiAoX3RoaXMuY29tcG9uZW50ICYmIF90aGlzLmNvbXBvbmVudC5mb2N1cylcbiAgICAgICAgICAgICAgICAgICAgICAgIF90aGlzLmNvbXBvbmVudC5mb2N1cygpO1xuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgX3RoaXMuc2V0Q29tcG9uZW50ID0gZnVuY3Rpb24gKGNvbXBvbmVudCkge1xuICAgICAgICAgICAgICAgICAgICBfdGhpcy5jb21wb25lbnQgPSBjb21wb25lbnQ7XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICByZXR1cm4gX3RoaXM7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBNYXBQcm9wcy5wcm90b3R5cGUucmVuZGVyID0gZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgIHZhciBfdGhpcyA9IHRoaXM7XG4gICAgICAgICAgICAgICAgdmFyIG1hcHBlZCA9IF9fYXNzaWduKF9fYXNzaWduKHt9LCB0aGlzLnByb3BzKSwgT2JqZWN0LmtleXMobWFwcGluZykucmVkdWNlKGZ1bmN0aW9uIChhY2MsIGtleSkge1xuICAgICAgICAgICAgICAgICAgICB2YXIgX2E7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAoX19hc3NpZ24oX19hc3NpZ24oe30sIGFjYyksIChfYSA9IHt9LCBfYVtrZXldID0gbWFwcGluZ1trZXldKF90aGlzLnByb3BzKSwgX2EpKSk7XG4gICAgICAgICAgICAgICAgfSwge30pKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gUmVhY3QuY3JlYXRlRWxlbWVudChEZWNvcmF0ZWRDb21wb25lbnQsIF9fYXNzaWduKHsgcmVmOiB0aGlzLnNldENvbXBvbmVudCB9LCBtYXBwZWQpKTtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICByZXR1cm4gTWFwUHJvcHM7XG4gICAgICAgIH0oQ29tcG9uZW50KSksXG4gICAgICAgIF9hLmRpc3BsYXlOYW1lID0gZ2V0RGlzcGxheU5hbWUoJ21hcFByb3BzJywgRGVjb3JhdGVkQ29tcG9uZW50KSxcbiAgICAgICAgX2EuRGVjb3JhdGVkQ29tcG9uZW50ID0gRGVjb3JhdGVkQ29tcG9uZW50LFxuICAgICAgICBfYTsgfTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPW1hcFByb3BzLmpzLm1hcCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/avatar/dist/esm/hoc/mapProps.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/avatar/dist/esm/hoc/withPseudoState.js": /*!***********************************************************************!*\ !*** ./node_modules/@atlaskit/avatar/dist/esm/hoc/withPseudoState.js ***! \***********************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return withPseudoState; });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/@atlaskit/avatar/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils */ \"./node_modules/@atlaskit/avatar/dist/esm/utils.js\");\n\n\n\nfunction withPseudoState(WrappedComponent) {\n var _a;\n return _a = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(ComponentWithPseudoState, _super);\n function ComponentWithPseudoState() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.component = null;\n _this.actionKeys = [];\n _this.state = {\n isActive: Boolean(_this.props.isActive),\n isFocus: Boolean(_this.props.isActive),\n isHover: Boolean(_this.props.isActive),\n isInteractive: Boolean(_this.props.href || _this.props.isInteractive || _this.props.onClick),\n };\n _this.blur = function () {\n // @ts-ignore reaching into the instance\n if (_this.component && _this.component.blur)\n _this.component.blur();\n };\n _this.focus = function () {\n // @ts-ignore reaching into the instance\n if (_this.component && _this.component.focus)\n _this.component.focus();\n };\n _this.setComponent = function (component) {\n _this.component = component;\n };\n _this.onBlur = function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n _this.setState({ isActive: false, isFocus: false });\n if (_this.props.onBlur) {\n (_a = _this.props).onBlur.apply(_a, Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__spread\"])(args));\n }\n };\n _this.onFocus = function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n _this.setState({ isFocus: true });\n if (_this.props.onFocus) {\n (_a = _this.props).onFocus.apply(_a, Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__spread\"])(args));\n }\n };\n _this.onMouseLeave = function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n _this.setState({ isActive: false, isHover: false });\n if (_this.props.onMouseLeave) {\n (_a = _this.props).onMouseLeave.apply(_a, Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__spread\"])(args));\n }\n };\n _this.onMouseEnter = function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n _this.setState({ isHover: true });\n if (_this.props.onMouseEnter) {\n (_a = _this.props).onMouseEnter.apply(_a, Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__spread\"])(args));\n }\n };\n _this.onMouseUp = function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n _this.setState({ isActive: false });\n if (_this.props.onMouseUp) {\n (_a = _this.props).onMouseUp.apply(_a, Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__spread\"])(args));\n }\n };\n _this.onMouseDown = function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n _this.setState({ isActive: true });\n if (_this.props.onMouseDown) {\n (_a = _this.props).onMouseDown.apply(_a, Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__spread\"])(args));\n }\n };\n _this.onKeyDown = function (event) {\n var _a;\n var rest = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n rest[_i - 1] = arguments[_i];\n }\n if (_this.actionKeys.indexOf(event.key) > -1) {\n _this.setState({ isActive: true });\n }\n if (_this.props.onKeyDown) {\n (_a = _this.props).onKeyDown.apply(_a, Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__spread\"])([event], rest));\n }\n };\n _this.onKeyUp = function (event) {\n var _a;\n var rest = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n rest[_i - 1] = arguments[_i];\n }\n if (_this.actionKeys.indexOf(event.key) > -1) {\n _this.setState({ isActive: false });\n }\n if (_this.props.onKeyUp) {\n (_a = _this.props).onKeyUp.apply(_a, Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__spread\"])([event], rest));\n }\n };\n return _this;\n }\n ComponentWithPseudoState.prototype.UNSAFE_componentWillMount = function () {\n var _a = this.props, href = _a.href, isInteractive = _a.isInteractive, onClick = _a.onClick;\n if (href || isInteractive || onClick) {\n this.actionKeys = onClick || isInteractive ? ['Enter', ' '] : ['Enter'];\n }\n };\n ComponentWithPseudoState.prototype.render = function () {\n return (react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(WrappedComponent, Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({ ref: this.setComponent }, this.state, this.props, (this.state.isInteractive && {\n onBlur: this.onBlur,\n onFocus: this.onFocus,\n onMouseLeave: this.onMouseLeave,\n onMouseEnter: this.onMouseEnter,\n onMouseUp: this.onMouseUp,\n onMouseDown: this.onMouseDown,\n onKeyDown: this.onKeyDown,\n onKeyUp: this.onKeyUp,\n }))));\n };\n return ComponentWithPseudoState;\n }(react__WEBPACK_IMPORTED_MODULE_1__[\"Component\"])),\n _a.displayName = Object(_utils__WEBPACK_IMPORTED_MODULE_2__[\"getDisplayName\"])('withPseudoState', WrappedComponent),\n _a;\n}\n//# sourceMappingURL=withPseudoState.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L2F2YXRhci9kaXN0L2VzbS9ob2Mvd2l0aFBzZXVkb1N0YXRlLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BhdGxhc2tpdC9hdmF0YXIvZGlzdC9lc20vaG9jL3dpdGhQc2V1ZG9TdGF0ZS5qcz9hN2Y2Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IF9fYXNzaWduLCBfX2V4dGVuZHMsIF9fcmVhZCwgX19zcHJlYWQgfSBmcm9tIFwidHNsaWJcIjtcbmltcG9ydCBSZWFjdCwgeyBDb21wb25lbnQgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBnZXREaXNwbGF5TmFtZSB9IGZyb20gJy4uL3V0aWxzJztcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHdpdGhQc2V1ZG9TdGF0ZShXcmFwcGVkQ29tcG9uZW50KSB7XG4gICAgdmFyIF9hO1xuICAgIHJldHVybiBfYSA9IC8qKiBAY2xhc3MgKi8gKGZ1bmN0aW9uIChfc3VwZXIpIHtcbiAgICAgICAgICAgIF9fZXh0ZW5kcyhDb21wb25lbnRXaXRoUHNldWRvU3RhdGUsIF9zdXBlcik7XG4gICAgICAgICAgICBmdW5jdGlvbiBDb21wb25lbnRXaXRoUHNldWRvU3RhdGUoKSB7XG4gICAgICAgICAgICAgICAgdmFyIF90aGlzID0gX3N1cGVyICE9PSBudWxsICYmIF9zdXBlci5hcHBseSh0aGlzLCBhcmd1bWVudHMpIHx8IHRoaXM7XG4gICAgICAgICAgICAgICAgX3RoaXMuY29tcG9uZW50ID0gbnVsbDtcbiAgICAgICAgICAgICAgICBfdGhpcy5hY3Rpb25LZXlzID0gW107XG4gICAgICAgICAgICAgICAgX3RoaXMuc3RhdGUgPSB7XG4gICAgICAgICAgICAgICAgICAgIGlzQWN0aXZlOiBCb29sZWFuKF90aGlzLnByb3BzLmlzQWN0aXZlKSxcbiAgICAgICAgICAgICAgICAgICAgaXNGb2N1czogQm9vbGVhbihfdGhpcy5wcm9wcy5pc0FjdGl2ZSksXG4gICAgICAgICAgICAgICAgICAgIGlzSG92ZXI6IEJvb2xlYW4oX3RoaXMucHJvcHMuaXNBY3RpdmUpLFxuICAgICAgICAgICAgICAgICAgICBpc0ludGVyYWN0aXZlOiBCb29sZWFuKF90aGlzLnByb3BzLmhyZWYgfHwgX3RoaXMucHJvcHMuaXNJbnRlcmFjdGl2ZSB8fCBfdGhpcy5wcm9wcy5vbkNsaWNrKSxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIF90aGlzLmJsdXIgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmUgcmVhY2hpbmcgaW50byB0aGUgaW5zdGFuY2VcbiAgICAgICAgICAgICAgICAgICAgaWYgKF90aGlzLmNvbXBvbmVudCAmJiBfdGhpcy5jb21wb25lbnQuYmx1cilcbiAgICAgICAgICAgICAgICAgICAgICAgIF90aGlzLmNvbXBvbmVudC5ibHVyKCk7XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBfdGhpcy5mb2N1cyA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gQHRzLWlnbm9yZSByZWFjaGluZyBpbnRvIHRoZSBpbnN0YW5jZVxuICAgICAgICAgICAgICAgICAgICBpZiAoX3RoaXMuY29tcG9uZW50ICYmIF90aGlzLmNvbXBvbmVudC5mb2N1cylcbiAgICAgICAgICAgICAgICAgICAgICAgIF90aGlzLmNvbXBvbmVudC5mb2N1cygpO1xuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgX3RoaXMuc2V0Q29tcG9uZW50ID0gZnVuY3Rpb24gKGNvbXBvbmVudCkge1xuICAgICAgICAgICAgICAgICAgICBfdGhpcy5jb21wb25lbnQgPSBjb21wb25lbnQ7XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBfdGhpcy5vbkJsdXIgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciBfYTtcbiAgICAgICAgICAgICAgICAgICAgdmFyIGFyZ3MgPSBbXTtcbiAgICAgICAgICAgICAgICAgICAgZm9yICh2YXIgX2kgPSAwOyBfaSA8IGFyZ3VtZW50cy5sZW5ndGg7IF9pKyspIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFyZ3NbX2ldID0gYXJndW1lbnRzW19pXTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBfdGhpcy5zZXRTdGF0ZSh7IGlzQWN0aXZlOiBmYWxzZSwgaXNGb2N1czogZmFsc2UgfSk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChfdGhpcy5wcm9wcy5vbkJsdXIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIChfYSA9IF90aGlzLnByb3BzKS5vbkJsdXIuYXBwbHkoX2EsIF9fc3ByZWFkKGFyZ3MpKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgX3RoaXMub25Gb2N1cyA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIF9hO1xuICAgICAgICAgICAgICAgICAgICB2YXIgYXJncyA9IFtdO1xuICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciBfaSA9IDA7IF9pIDwgYXJndW1lbnRzLmxlbmd0aDsgX2krKykge1xuICAgICAgICAgICAgICAgICAgICAgICAgYXJnc1tfaV0gPSBhcmd1bWVudHNbX2ldO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIF90aGlzLnNldFN0YXRlKHsgaXNGb2N1czogdHJ1ZSB9KTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKF90aGlzLnByb3BzLm9uRm9jdXMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIChfYSA9IF90aGlzLnByb3BzKS5vbkZvY3VzLmFwcGx5KF9hLCBfX3NwcmVhZChhcmdzKSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIF90aGlzLm9uTW91c2VMZWF2ZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIF9hO1xuICAgICAgICAgICAgICAgICAgICB2YXIgYXJncyA9IFtdO1xuICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciBfaSA9IDA7IF9pIDwgYXJndW1lbnRzLmxlbmd0aDsgX2krKykge1xuICAgICAgICAgICAgICAgICAgICAgICAgYXJnc1tfaV0gPSBhcmd1bWVudHNbX2ldO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIF90aGlzLnNldFN0YXRlKHsgaXNBY3RpdmU6IGZhbHNlLCBpc0hvdmVyOiBmYWxzZSB9KTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKF90aGlzLnByb3BzLm9uTW91c2VMZWF2ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgKF9hID0gX3RoaXMucHJvcHMpLm9uTW91c2VMZWF2ZS5hcHBseShfYSwgX19zcHJlYWQoYXJncykpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBfdGhpcy5vbk1vdXNlRW50ZXIgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciBfYTtcbiAgICAgICAgICAgICAgICAgICAgdmFyIGFyZ3MgPSBbXTtcbiAgICAgICAgICAgICAgICAgICAgZm9yICh2YXIgX2kgPSAwOyBfaSA8IGFyZ3VtZW50cy5sZW5ndGg7IF9pKyspIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFyZ3NbX2ldID0gYXJndW1lbnRzW19pXTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBfdGhpcy5zZXRTdGF0ZSh7IGlzSG92ZXI6IHRydWUgfSk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChfdGhpcy5wcm9wcy5vbk1vdXNlRW50ZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIChfYSA9IF90aGlzLnByb3BzKS5vbk1vdXNlRW50ZXIuYXBwbHkoX2EsIF9fc3ByZWFkKGFyZ3MpKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgX3RoaXMub25Nb3VzZVVwID0gZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICB2YXIgX2E7XG4gICAgICAgICAgICAgICAgICAgIHZhciBhcmdzID0gW107XG4gICAgICAgICAgICAgICAgICAgIGZvciAodmFyIF9pID0gMDsgX2kgPCBhcmd1bWVudHMubGVuZ3RoOyBfaSsrKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhcmdzW19pXSA9IGFyZ3VtZW50c1tfaV07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgX3RoaXMuc2V0U3RhdGUoeyBpc0FjdGl2ZTogZmFsc2UgfSk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChfdGhpcy5wcm9wcy5vbk1vdXNlVXApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIChfYSA9IF90aGlzLnByb3BzKS5vbk1vdXNlVXAuYXBwbHkoX2EsIF9fc3ByZWFkKGFyZ3MpKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgX3RoaXMub25Nb3VzZURvd24gPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciBfYTtcbiAgICAgICAgICAgICAgICAgICAgdmFyIGFyZ3MgPSBbXTtcbiAgICAgICAgICAgICAgICAgICAgZm9yICh2YXIgX2kgPSAwOyBfaSA8IGFyZ3VtZW50cy5sZW5ndGg7IF9pKyspIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFyZ3NbX2ldID0gYXJndW1lbnRzW19pXTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBfdGhpcy5zZXRTdGF0ZSh7IGlzQWN0aXZlOiB0cnVlIH0pO1xuICAgICAgICAgICAgICAgICAgICBpZiAoX3RoaXMucHJvcHMub25Nb3VzZURvd24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIChfYSA9IF90aGlzLnByb3BzKS5vbk1vdXNlRG93bi5hcHBseShfYSwgX19zcHJlYWQoYXJncykpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBfdGhpcy5vbktleURvd24gPSBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIF9hO1xuICAgICAgICAgICAgICAgICAgICB2YXIgcmVzdCA9IFtdO1xuICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciBfaSA9IDE7IF9pIDwgYXJndW1lbnRzLmxlbmd0aDsgX2krKykge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVzdFtfaSAtIDFdID0gYXJndW1lbnRzW19pXTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAoX3RoaXMuYWN0aW9uS2V5cy5pbmRleE9mKGV2ZW50LmtleSkgPiAtMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgX3RoaXMuc2V0U3RhdGUoeyBpc0FjdGl2ZTogdHJ1ZSB9KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAoX3RoaXMucHJvcHMub25LZXlEb3duKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAoX2EgPSBfdGhpcy5wcm9wcykub25LZXlEb3duLmFwcGx5KF9hLCBfX3NwcmVhZChbZXZlbnRdLCByZXN0KSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIF90aGlzLm9uS2V5VXAgPSBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIF9hO1xuICAgICAgICAgICAgICAgICAgICB2YXIgcmVzdCA9IFtdO1xuICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciBfaSA9IDE7IF9pIDwgYXJndW1lbnRzLmxlbmd0aDsgX2krKykge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVzdFtfaSAtIDFdID0gYXJndW1lbnRzW19pXTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAoX3RoaXMuYWN0aW9uS2V5cy5pbmRleE9mKGV2ZW50LmtleSkgPiAtMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgX3RoaXMuc2V0U3RhdGUoeyBpc0FjdGl2ZTogZmFsc2UgfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKF90aGlzLnByb3BzLm9uS2V5VXApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIChfYSA9IF90aGlzLnByb3BzKS5vbktleVVwLmFwcGx5KF9hLCBfX3NwcmVhZChbZXZlbnRdLCByZXN0KSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIHJldHVybiBfdGhpcztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIENvbXBvbmVudFdpdGhQc2V1ZG9TdGF0ZS5wcm90b3R5cGUuVU5TQUZFX2NvbXBvbmVudFdpbGxNb3VudCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICB2YXIgX2EgPSB0aGlzLnByb3BzLCBocmVmID0gX2EuaHJlZiwgaXNJbnRlcmFjdGl2ZSA9IF9hLmlzSW50ZXJhY3RpdmUsIG9uQ2xpY2sgPSBfYS5vbkNsaWNrO1xuICAgICAgICAgICAgICAgIGlmIChocmVmIHx8IGlzSW50ZXJhY3RpdmUgfHwgb25DbGljaykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmFjdGlvbktleXMgPSBvbkNsaWNrIHx8IGlzSW50ZXJhY3RpdmUgPyBbJ0VudGVyJywgJyAnXSA6IFsnRW50ZXInXTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgQ29tcG9uZW50V2l0aFBzZXVkb1N0YXRlLnByb3RvdHlwZS5yZW5kZXIgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KFdyYXBwZWRDb21wb25lbnQsIF9fYXNzaWduKHsgcmVmOiB0aGlzLnNldENvbXBvbmVudCB9LCB0aGlzLnN0YXRlLCB0aGlzLnByb3BzLCAodGhpcy5zdGF0ZS5pc0ludGVyYWN0aXZlICYmIHtcbiAgICAgICAgICAgICAgICAgICAgb25CbHVyOiB0aGlzLm9uQmx1cixcbiAgICAgICAgICAgICAgICAgICAgb25Gb2N1czogdGhpcy5vbkZvY3VzLFxuICAgICAgICAgICAgICAgICAgICBvbk1vdXNlTGVhdmU6IHRoaXMub25Nb3VzZUxlYXZlLFxuICAgICAgICAgICAgICAgICAgICBvbk1vdXNlRW50ZXI6IHRoaXMub25Nb3VzZUVudGVyLFxuICAgICAgICAgICAgICAgICAgICBvbk1vdXNlVXA6IHRoaXMub25Nb3VzZVVwLFxuICAgICAgICAgICAgICAgICAgICBvbk1vdXNlRG93bjogdGhpcy5vbk1vdXNlRG93bixcbiAgICAgICAgICAgICAgICAgICAgb25LZXlEb3duOiB0aGlzLm9uS2V5RG93bixcbiAgICAgICAgICAgICAgICAgICAgb25LZXlVcDogdGhpcy5vbktleVVwLFxuICAgICAgICAgICAgICAgIH0pKSkpO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHJldHVybiBDb21wb25lbnRXaXRoUHNldWRvU3RhdGU7XG4gICAgICAgIH0oQ29tcG9uZW50KSksXG4gICAgICAgIF9hLmRpc3BsYXlOYW1lID0gZ2V0RGlzcGxheU5hbWUoJ3dpdGhQc2V1ZG9TdGF0ZScsIFdyYXBwZWRDb21wb25lbnQpLFxuICAgICAgICBfYTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXdpdGhQc2V1ZG9TdGF0ZS5qcy5tYXAiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/avatar/dist/esm/hoc/withPseudoState.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/avatar/dist/esm/index.js": /*!*********************************************************!*\ !*** ./node_modules/@atlaskit/avatar/dist/esm/index.js ***! \*********************************************************/ /*! exports provided: default, AvatarItem, Presence, Status, Skeleton, Theme, ThemeItem, AVATAR_SIZES, BORDER_WIDTH, withPseudoState, getProps, getBorderRadius, getInnerStyles */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _components_Avatar__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./components/Avatar */ \"./node_modules/@atlaskit/avatar/dist/esm/components/Avatar.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _components_Avatar__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n/* harmony import */ var _components_AvatarItem__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./components/AvatarItem */ \"./node_modules/@atlaskit/avatar/dist/esm/components/AvatarItem.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AvatarItem\", function() { return _components_AvatarItem__WEBPACK_IMPORTED_MODULE_1__[\"default\"]; });\n\n/* harmony import */ var _components_Presence__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./components/Presence */ \"./node_modules/@atlaskit/avatar/dist/esm/components/Presence.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Presence\", function() { return _components_Presence__WEBPACK_IMPORTED_MODULE_2__[\"default\"]; });\n\n/* harmony import */ var _components_Status__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./components/Status */ \"./node_modules/@atlaskit/avatar/dist/esm/components/Status.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Status\", function() { return _components_Status__WEBPACK_IMPORTED_MODULE_3__[\"default\"]; });\n\n/* harmony import */ var _components_Skeleton__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./components/Skeleton */ \"./node_modules/@atlaskit/avatar/dist/esm/components/Skeleton.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Skeleton\", function() { return _components_Skeleton__WEBPACK_IMPORTED_MODULE_4__[\"default\"]; });\n\n/* harmony import */ var _theme__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./theme */ \"./node_modules/@atlaskit/avatar/dist/esm/theme/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Theme\", function() { return _theme__WEBPACK_IMPORTED_MODULE_5__[\"Theme\"]; });\n\n/* harmony import */ var _theme_item__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./theme/item */ \"./node_modules/@atlaskit/avatar/dist/esm/theme/item.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ThemeItem\", function() { return _theme_item__WEBPACK_IMPORTED_MODULE_6__[\"ThemeItem\"]; });\n\n/* harmony import */ var _styled_constants__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./styled/constants */ \"./node_modules/@atlaskit/avatar/dist/esm/styled/constants.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AVATAR_SIZES\", function() { return _styled_constants__WEBPACK_IMPORTED_MODULE_7__[\"AVATAR_SIZES\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"BORDER_WIDTH\", function() { return _styled_constants__WEBPACK_IMPORTED_MODULE_7__[\"BORDER_WIDTH\"]; });\n\n/* harmony import */ var _hoc__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./hoc */ \"./node_modules/@atlaskit/avatar/dist/esm/hoc/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"withPseudoState\", function() { return _hoc__WEBPACK_IMPORTED_MODULE_8__[\"withPseudoState\"]; });\n\n/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./helpers */ \"./node_modules/@atlaskit/avatar/dist/esm/helpers/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getProps\", function() { return _helpers__WEBPACK_IMPORTED_MODULE_9__[\"getProps\"]; });\n\n/* harmony import */ var _styled_utils__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./styled/utils */ \"./node_modules/@atlaskit/avatar/dist/esm/styled/utils.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getBorderRadius\", function() { return _styled_utils__WEBPACK_IMPORTED_MODULE_10__[\"getBorderRadius\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getInnerStyles\", function() { return _styled_utils__WEBPACK_IMPORTED_MODULE_10__[\"getInnerStyles\"]; });\n\n\n\n\n\n\n\n\n// The below are exposed for use by avatarGroup\n\n\n\n\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L2F2YXRhci9kaXN0L2VzbS9pbmRleC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AYXRsYXNraXQvYXZhdGFyL2Rpc3QvZXNtL2luZGV4LmpzPzlhMTkiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgZGVmYXVsdCB9IGZyb20gJy4vY29tcG9uZW50cy9BdmF0YXInO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBBdmF0YXJJdGVtIH0gZnJvbSAnLi9jb21wb25lbnRzL0F2YXRhckl0ZW0nO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBQcmVzZW5jZSB9IGZyb20gJy4vY29tcG9uZW50cy9QcmVzZW5jZSc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIFN0YXR1cyB9IGZyb20gJy4vY29tcG9uZW50cy9TdGF0dXMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBTa2VsZXRvbiB9IGZyb20gJy4vY29tcG9uZW50cy9Ta2VsZXRvbic7XG5leHBvcnQgeyBUaGVtZSB9IGZyb20gJy4vdGhlbWUnO1xuZXhwb3J0IHsgVGhlbWVJdGVtIH0gZnJvbSAnLi90aGVtZS9pdGVtJztcbi8vIFRoZSBiZWxvdyBhcmUgZXhwb3NlZCBmb3IgdXNlIGJ5IGF2YXRhckdyb3VwXG5leHBvcnQgeyBBVkFUQVJfU0laRVMsIEJPUkRFUl9XSURUSCB9IGZyb20gJy4vc3R5bGVkL2NvbnN0YW50cyc7XG5leHBvcnQgeyB3aXRoUHNldWRvU3RhdGUgfSBmcm9tICcuL2hvYyc7XG5leHBvcnQgeyBnZXRQcm9wcyB9IGZyb20gJy4vaGVscGVycyc7XG5leHBvcnQgeyBnZXRCb3JkZXJSYWRpdXMsIGdldElubmVyU3R5bGVzIH0gZnJvbSAnLi9zdHlsZWQvdXRpbHMnO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/avatar/dist/esm/index.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/avatar/dist/esm/styled/Avatar.js": /*!*****************************************************************!*\ !*** ./node_modules/@atlaskit/avatar/dist/esm/styled/Avatar.js ***! \*****************************************************************/ /*! exports provided: default, PresenceWrapper, StatusWrapper */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"PresenceWrapper\", function() { return PresenceWrapper; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"StatusWrapper\", function() { return StatusWrapper; });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/@atlaskit/avatar/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _theme__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../theme */ \"./node_modules/@atlaskit/avatar/dist/esm/theme/index.js\");\n\n\n\nvar Avatar = function (props) { return (react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_theme__WEBPACK_IMPORTED_MODULE_2__[\"Theme\"].Consumer, Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, props, { includeBorderWidth: true }), function (_a) {\n var dimensions = _a.dimensions;\n return (react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\"div\", { \"data-testid\": props.testId, style: Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({ display: 'inline-block', position: 'relative', outline: 0, zIndex: props.stackIndex }, dimensions) }, props.children));\n})); };\n/* harmony default export */ __webpack_exports__[\"default\"] = (Avatar);\nvar PresenceWrapper = function (props) { return (react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_theme__WEBPACK_IMPORTED_MODULE_2__[\"Theme\"].Consumer, Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, props, { includeBorderWidth: true }), function (_a) {\n var presence = _a.presence;\n return (react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\"span\", { style: Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({ pointerEvents: 'none', position: 'absolute' }, presence) }, props.children));\n})); };\nvar StatusWrapper = function (props) { return (react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_theme__WEBPACK_IMPORTED_MODULE_2__[\"Theme\"].Consumer, Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, props, { includeBorderWidth: true }), function (_a) {\n var status = _a.status;\n return (react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\"span\", { style: Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({ position: 'absolute' }, status) }, props.children));\n})); };\n//# sourceMappingURL=Avatar.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L2F2YXRhci9kaXN0L2VzbS9zdHlsZWQvQXZhdGFyLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BhdGxhc2tpdC9hdmF0YXIvZGlzdC9lc20vc3R5bGVkL0F2YXRhci5qcz83YjQ1Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IF9fYXNzaWduIH0gZnJvbSBcInRzbGliXCI7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgVGhlbWUgfSBmcm9tICcuLi90aGVtZSc7XG52YXIgQXZhdGFyID0gZnVuY3Rpb24gKHByb3BzKSB7IHJldHVybiAoUmVhY3QuY3JlYXRlRWxlbWVudChUaGVtZS5Db25zdW1lciwgX19hc3NpZ24oe30sIHByb3BzLCB7IGluY2x1ZGVCb3JkZXJXaWR0aDogdHJ1ZSB9KSwgZnVuY3Rpb24gKF9hKSB7XG4gICAgdmFyIGRpbWVuc2lvbnMgPSBfYS5kaW1lbnNpb25zO1xuICAgIHJldHVybiAoUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7IFwiZGF0YS10ZXN0aWRcIjogcHJvcHMudGVzdElkLCBzdHlsZTogX19hc3NpZ24oeyBkaXNwbGF5OiAnaW5saW5lLWJsb2NrJywgcG9zaXRpb246ICdyZWxhdGl2ZScsIG91dGxpbmU6IDAsIHpJbmRleDogcHJvcHMuc3RhY2tJbmRleCB9LCBkaW1lbnNpb25zKSB9LCBwcm9wcy5jaGlsZHJlbikpO1xufSkpOyB9O1xuZXhwb3J0IGRlZmF1bHQgQXZhdGFyO1xuZXhwb3J0IHZhciBQcmVzZW5jZVdyYXBwZXIgPSBmdW5jdGlvbiAocHJvcHMpIHsgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KFRoZW1lLkNvbnN1bWVyLCBfX2Fzc2lnbih7fSwgcHJvcHMsIHsgaW5jbHVkZUJvcmRlcldpZHRoOiB0cnVlIH0pLCBmdW5jdGlvbiAoX2EpIHtcbiAgICB2YXIgcHJlc2VuY2UgPSBfYS5wcmVzZW5jZTtcbiAgICByZXR1cm4gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJzcGFuXCIsIHsgc3R5bGU6IF9fYXNzaWduKHsgcG9pbnRlckV2ZW50czogJ25vbmUnLCBwb3NpdGlvbjogJ2Fic29sdXRlJyB9LCBwcmVzZW5jZSkgfSwgcHJvcHMuY2hpbGRyZW4pKTtcbn0pKTsgfTtcbmV4cG9ydCB2YXIgU3RhdHVzV3JhcHBlciA9IGZ1bmN0aW9uIChwcm9wcykgeyByZXR1cm4gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoVGhlbWUuQ29uc3VtZXIsIF9fYXNzaWduKHt9LCBwcm9wcywgeyBpbmNsdWRlQm9yZGVyV2lkdGg6IHRydWUgfSksIGZ1bmN0aW9uIChfYSkge1xuICAgIHZhciBzdGF0dXMgPSBfYS5zdGF0dXM7XG4gICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KFwic3BhblwiLCB7IHN0eWxlOiBfX2Fzc2lnbih7IHBvc2l0aW9uOiAnYWJzb2x1dGUnIH0sIHN0YXR1cykgfSwgcHJvcHMuY2hpbGRyZW4pKTtcbn0pKTsgfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPUF2YXRhci5qcy5tYXAiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/avatar/dist/esm/styled/Avatar.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/avatar/dist/esm/styled/AvatarImage.js": /*!**********************************************************************!*\ !*** ./node_modules/@atlaskit/avatar/dist/esm/styled/AvatarImage.js ***! \**********************************************************************/ /*! exports provided: ShapeGroup, Slot, Svg */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ShapeGroup\", function() { return ShapeGroup; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Slot\", function() { return Slot; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Svg\", function() { return Svg; });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/@atlaskit/avatar/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! styled-components */ \"./node_modules/styled-components/dist/styled-components.browser.esm.js\");\n/* harmony import */ var _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @atlaskit/theme/colors */ \"./node_modules/@atlaskit/theme/dist/esm/colors.js\");\n/* harmony import */ var _atlaskit_theme_components__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @atlaskit/theme/components */ \"./node_modules/@atlaskit/theme/dist/esm/components.js\");\n/* harmony import */ var _theme__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../theme */ \"./node_modules/@atlaskit/avatar/dist/esm/theme/index.js\");\n\n\n\n\n\n\nvar ShapeGroup = Object(_atlaskit_theme_components__WEBPACK_IMPORTED_MODULE_4__[\"withTheme\"])(styled_components__WEBPACK_IMPORTED_MODULE_2__[\"default\"].g(templateObject_1 || (templateObject_1 = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__makeTemplateObject\"])([\"\\n & circle,\\n & rect {\\n fill: \", \";\\n }\\n & g {\\n fill: \", \";\\n }\\n\"], [\"\\n & circle,\\n & rect {\\n fill: \", \";\\n }\\n & g {\\n fill: \", \";\\n }\\n\"])), Object(_atlaskit_theme_components__WEBPACK_IMPORTED_MODULE_4__[\"themed\"])({ light: _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_3__[\"N50\"], dark: _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_3__[\"DN100\"] }), _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_3__[\"background\"]));\nvar Slot = function (_a) {\n var isLoading = _a.isLoading, appearance = _a.appearance, size = _a.size, backgroundImage = _a.backgroundImage, label = _a.label, role = _a.role;\n return (react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_theme__WEBPACK_IMPORTED_MODULE_5__[\"Theme\"].Consumer, { appearance: appearance, isLoading: isLoading, size: size }, function (_a) {\n var backgroundColor = _a.backgroundColor, borderRadius = _a.borderRadius;\n return (react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\"span\", { style: {\n backgroundColor: backgroundColor,\n backgroundImage: backgroundImage\n ? \"url(\" + backgroundImage + \")\"\n : undefined,\n backgroundPosition: 'center',\n backgroundRepeat: 'no-repeat',\n backgroundSize: 'cover',\n borderRadius: borderRadius,\n display: 'flex',\n flex: '1 1 100%',\n height: '100%',\n width: '100%',\n }, role: role, \"aria-label\": label }));\n }));\n};\nvar Svg = function (_a) {\n var appearance = _a.appearance, size = _a.size, children = _a.children, isLoading = _a.isLoading, otherProps = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__rest\"])(_a, [\"appearance\", \"size\", \"children\", \"isLoading\"]);\n return (react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_theme__WEBPACK_IMPORTED_MODULE_5__[\"Theme\"].Consumer, { appearance: appearance, isLoading: isLoading, size: size }, function (_a) {\n var backgroundColor = _a.backgroundColor, borderRadius = _a.borderRadius;\n return (react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\"svg\", Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({ style: {\n backgroundColor: backgroundColor,\n borderRadius: borderRadius,\n height: '100%',\n width: '100%',\n } }, otherProps), children));\n }));\n};\nvar templateObject_1;\n//# sourceMappingURL=AvatarImage.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L2F2YXRhci9kaXN0L2VzbS9zdHlsZWQvQXZhdGFySW1hZ2UuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L2F2YXRhci9kaXN0L2VzbS9zdHlsZWQvQXZhdGFySW1hZ2UuanM/NzgyMiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBfX2Fzc2lnbiwgX19tYWtlVGVtcGxhdGVPYmplY3QsIF9fcmVzdCB9IGZyb20gXCJ0c2xpYlwiO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgYmFja2dyb3VuZCwgRE4xMDAsIE41MCB9IGZyb20gJ0BhdGxhc2tpdC90aGVtZS9jb2xvcnMnO1xuaW1wb3J0IHsgdGhlbWVkLCB3aXRoVGhlbWUgfSBmcm9tICdAYXRsYXNraXQvdGhlbWUvY29tcG9uZW50cyc7XG5pbXBvcnQgeyBUaGVtZSB9IGZyb20gJy4uL3RoZW1lJztcbmV4cG9ydCB2YXIgU2hhcGVHcm91cCA9IHdpdGhUaGVtZShzdHlsZWQuZyh0ZW1wbGF0ZU9iamVjdF8xIHx8ICh0ZW1wbGF0ZU9iamVjdF8xID0gX19tYWtlVGVtcGxhdGVPYmplY3QoW1wiXFxuICAmIGNpcmNsZSxcXG4gICYgcmVjdCB7XFxuICAgIGZpbGw6IFwiLCBcIjtcXG4gIH1cXG4gICYgZyB7XFxuICAgIGZpbGw6IFwiLCBcIjtcXG4gIH1cXG5cIl0sIFtcIlxcbiAgJiBjaXJjbGUsXFxuICAmIHJlY3Qge1xcbiAgICBmaWxsOiBcIiwgXCI7XFxuICB9XFxuICAmIGcge1xcbiAgICBmaWxsOiBcIiwgXCI7XFxuICB9XFxuXCJdKSksIHRoZW1lZCh7IGxpZ2h0OiBONTAsIGRhcms6IEROMTAwIH0pLCBiYWNrZ3JvdW5kKSk7XG5leHBvcnQgdmFyIFNsb3QgPSBmdW5jdGlvbiAoX2EpIHtcbiAgICB2YXIgaXNMb2FkaW5nID0gX2EuaXNMb2FkaW5nLCBhcHBlYXJhbmNlID0gX2EuYXBwZWFyYW5jZSwgc2l6ZSA9IF9hLnNpemUsIGJhY2tncm91bmRJbWFnZSA9IF9hLmJhY2tncm91bmRJbWFnZSwgbGFiZWwgPSBfYS5sYWJlbCwgcm9sZSA9IF9hLnJvbGU7XG4gICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KFRoZW1lLkNvbnN1bWVyLCB7IGFwcGVhcmFuY2U6IGFwcGVhcmFuY2UsIGlzTG9hZGluZzogaXNMb2FkaW5nLCBzaXplOiBzaXplIH0sIGZ1bmN0aW9uIChfYSkge1xuICAgICAgICB2YXIgYmFja2dyb3VuZENvbG9yID0gX2EuYmFja2dyb3VuZENvbG9yLCBib3JkZXJSYWRpdXMgPSBfYS5ib3JkZXJSYWRpdXM7XG4gICAgICAgIHJldHVybiAoUmVhY3QuY3JlYXRlRWxlbWVudChcInNwYW5cIiwgeyBzdHlsZToge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogYmFja2dyb3VuZENvbG9yLFxuICAgICAgICAgICAgICAgIGJhY2tncm91bmRJbWFnZTogYmFja2dyb3VuZEltYWdlXG4gICAgICAgICAgICAgICAgICAgID8gXCJ1cmwoXCIgKyBiYWNrZ3JvdW5kSW1hZ2UgKyBcIilcIlxuICAgICAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kUG9zaXRpb246ICdjZW50ZXInLFxuICAgICAgICAgICAgICAgIGJhY2tncm91bmRSZXBlYXQ6ICduby1yZXBlYXQnLFxuICAgICAgICAgICAgICAgIGJhY2tncm91bmRTaXplOiAnY292ZXInLFxuICAgICAgICAgICAgICAgIGJvcmRlclJhZGl1czogYm9yZGVyUmFkaXVzLFxuICAgICAgICAgICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgICAgICAgICBmbGV4OiAnMSAxIDEwMCUnLFxuICAgICAgICAgICAgICAgIGhlaWdodDogJzEwMCUnLFxuICAgICAgICAgICAgICAgIHdpZHRoOiAnMTAwJScsXG4gICAgICAgICAgICB9LCByb2xlOiByb2xlLCBcImFyaWEtbGFiZWxcIjogbGFiZWwgfSkpO1xuICAgIH0pKTtcbn07XG5leHBvcnQgdmFyIFN2ZyA9IGZ1bmN0aW9uIChfYSkge1xuICAgIHZhciBhcHBlYXJhbmNlID0gX2EuYXBwZWFyYW5jZSwgc2l6ZSA9IF9hLnNpemUsIGNoaWxkcmVuID0gX2EuY2hpbGRyZW4sIGlzTG9hZGluZyA9IF9hLmlzTG9hZGluZywgb3RoZXJQcm9wcyA9IF9fcmVzdChfYSwgW1wiYXBwZWFyYW5jZVwiLCBcInNpemVcIiwgXCJjaGlsZHJlblwiLCBcImlzTG9hZGluZ1wiXSk7XG4gICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KFRoZW1lLkNvbnN1bWVyLCB7IGFwcGVhcmFuY2U6IGFwcGVhcmFuY2UsIGlzTG9hZGluZzogaXNMb2FkaW5nLCBzaXplOiBzaXplIH0sIGZ1bmN0aW9uIChfYSkge1xuICAgICAgICB2YXIgYmFja2dyb3VuZENvbG9yID0gX2EuYmFja2dyb3VuZENvbG9yLCBib3JkZXJSYWRpdXMgPSBfYS5ib3JkZXJSYWRpdXM7XG4gICAgICAgIHJldHVybiAoUmVhY3QuY3JlYXRlRWxlbWVudChcInN2Z1wiLCBfX2Fzc2lnbih7IHN0eWxlOiB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBiYWNrZ3JvdW5kQ29sb3IsXG4gICAgICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiBib3JkZXJSYWRpdXMsXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAnMTAwJScsXG4gICAgICAgICAgICAgICAgd2lkdGg6ICcxMDAlJyxcbiAgICAgICAgICAgIH0gfSwgb3RoZXJQcm9wcyksIGNoaWxkcmVuKSk7XG4gICAgfSkpO1xufTtcbnZhciB0ZW1wbGF0ZU9iamVjdF8xO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9QXZhdGFySW1hZ2UuanMubWFwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/avatar/dist/esm/styled/AvatarImage.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/avatar/dist/esm/styled/AvatarItem.js": /*!*********************************************************************!*\ !*** ./node_modules/@atlaskit/avatar/dist/esm/styled/AvatarItem.js ***! \*********************************************************************/ /*! exports provided: getBackgroundColor, getStyles, Content, PrimaryText, SecondaryText */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getBackgroundColor\", function() { return getBackgroundColor; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getStyles\", function() { return getStyles; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Content\", function() { return Content; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"PrimaryText\", function() { return PrimaryText; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SecondaryText\", function() { return SecondaryText; });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/@atlaskit/avatar/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! styled-components */ \"./node_modules/styled-components/dist/styled-components.browser.esm.js\");\n/* harmony import */ var _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @atlaskit/theme/colors */ \"./node_modules/@atlaskit/theme/dist/esm/colors.js\");\n/* harmony import */ var _atlaskit_theme_components__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @atlaskit/theme/components */ \"./node_modules/@atlaskit/theme/dist/esm/components.js\");\n/* harmony import */ var _atlaskit_theme_constants__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @atlaskit/theme/constants */ \"./node_modules/@atlaskit/theme/dist/esm/constants.js\");\n\n\n\n\n\nvar focusBorderColor = Object(_atlaskit_theme_components__WEBPACK_IMPORTED_MODULE_3__[\"themed\"])({ light: _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_2__[\"B200\"], dark: _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_2__[\"B75\"] });\nvar textColors = Object(_atlaskit_theme_components__WEBPACK_IMPORTED_MODULE_3__[\"themed\"])({ light: _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_2__[\"N900\"], dark: _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_2__[\"DN600\"] });\nvar subtleTextColors = Object(_atlaskit_theme_components__WEBPACK_IMPORTED_MODULE_3__[\"themed\"])({ light: _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_2__[\"N200\"], dark: _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_2__[\"DN300\"] });\nfunction getBackgroundColor(_a) {\n var backgroundColor = _a.backgroundColor, href = _a.href, isActive = _a.isActive, isHover = _a.isHover, isSelected = _a.isSelected, onClick = _a.onClick;\n var isInteractive = href || onClick;\n var themedBackgroundColor = backgroundColor || _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_2__[\"background\"];\n // Interaction: Hover\n if (isInteractive && (isHover || isSelected)) {\n themedBackgroundColor = _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_2__[\"backgroundHover\"];\n }\n // Interaction: Active\n if (isInteractive && isActive) {\n themedBackgroundColor = _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_2__[\"backgroundActive\"];\n }\n return themedBackgroundColor;\n}\nfunction getStyles(_a) {\n var isInteractive = _a.isInteractive, isActive = _a.isActive, isDisabled = _a.isDisabled, isFocus = _a.isFocus;\n var borderColor = 'transparent';\n var cursor = 'auto';\n var opacity = 1;\n var outline = 'none';\n var pointerEvents = 'auto';\n // Interaction: Focus\n if (isInteractive && isFocus && !isActive) {\n outline = 'none';\n borderColor = focusBorderColor;\n }\n // Disabled\n if (isDisabled) {\n cursor = 'not-allowed';\n opacity = 0.75;\n pointerEvents = 'none';\n }\n // Interactive\n if (isInteractive) {\n cursor = 'pointer';\n }\n return Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"css\"])(templateObject_1 || (templateObject_1 = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__makeTemplateObject\"])([\"\\n align-items: center;\\n background-color: \", \";\\n border-radius: \", \"px;\\n border: 2px solid \", \";\\n box-sizing: border-box;\\n color: inherit;\\n cursor: \", \";\\n display: flex;\\n font-size: inherit;\\n font-style: normal;\\n font-weight: normal;\\n line-height: 1;\\n opacity: \", \";\\n outline: \", \";\\n margin: 0;\\n padding: \", \"px;\\n pointer-events: \", \";\\n text-align: left;\\n text-decoration: none;\\n width: 100%;\\n \"], [\"\\n align-items: center;\\n background-color: \", \";\\n border-radius: \", \"px;\\n border: 2px solid \", \";\\n box-sizing: border-box;\\n color: inherit;\\n cursor: \", \";\\n display: flex;\\n font-size: inherit;\\n font-style: normal;\\n font-weight: normal;\\n line-height: 1;\\n opacity: \", \";\\n outline: \", \";\\n margin: 0;\\n padding: \", \"px;\\n pointer-events: \", \";\\n text-align: left;\\n text-decoration: none;\\n width: 100%;\\n \"])), getBackgroundColor, _atlaskit_theme_constants__WEBPACK_IMPORTED_MODULE_4__[\"borderRadius\"], borderColor, cursor, opacity, outline, Object(_atlaskit_theme_constants__WEBPACK_IMPORTED_MODULE_4__[\"gridSize\"])() * 2, pointerEvents);\n}\nvar truncateText = function (p) {\n return p.truncate && Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"css\"])(templateObject_2 || (templateObject_2 = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__makeTemplateObject\"])([\"\\n overflow-x: hidden;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n \"], [\"\\n overflow-x: hidden;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n \"])));\n};\nvar Content = styled_components__WEBPACK_IMPORTED_MODULE_1__[\"default\"].div(templateObject_4 || (templateObject_4 = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__makeTemplateObject\"])([\"\\n \", \"\\n flex: 1 1 100%;\\n line-height: 1.4;\\n padding-left: \", \"px;\\n\"], [\"\\n \",\n \"\\n flex: 1 1 100%;\\n line-height: 1.4;\\n padding-left: \", \"px;\\n\"])), function (truncate) {\n return truncate && Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"css\"])(templateObject_3 || (templateObject_3 = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__makeTemplateObject\"])([\"\\n max-width: 100%;\\n min-width: 0;\\n \"], [\"\\n max-width: 100%;\\n min-width: 0;\\n \"])));\n}, _atlaskit_theme_constants__WEBPACK_IMPORTED_MODULE_4__[\"gridSize\"]);\nvar PrimaryText = Object(_atlaskit_theme_components__WEBPACK_IMPORTED_MODULE_3__[\"withTheme\"])(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"default\"].div(templateObject_5 || (templateObject_5 = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__makeTemplateObject\"])([\"\\n \", \" color: \", \";\\n\"], [\"\\n \", \" color: \", \";\\n\"])), truncateText, textColors));\nvar SecondaryText = Object(_atlaskit_theme_components__WEBPACK_IMPORTED_MODULE_3__[\"withTheme\"])(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"default\"].div(templateObject_6 || (templateObject_6 = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__makeTemplateObject\"])([\"\\n \", \" color: \", \";\\n font-size: 0.85em;\\n\"], [\"\\n \", \" color: \", \";\\n font-size: 0.85em;\\n\"])), truncateText, subtleTextColors));\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6;\n//# sourceMappingURL=AvatarItem.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L2F2YXRhci9kaXN0L2VzbS9zdHlsZWQvQXZhdGFySXRlbS5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AYXRsYXNraXQvYXZhdGFyL2Rpc3QvZXNtL3N0eWxlZC9BdmF0YXJJdGVtLmpzP2JlZjQiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgX19tYWtlVGVtcGxhdGVPYmplY3QgfSBmcm9tIFwidHNsaWJcIjtcbmltcG9ydCBzdHlsZWQsIHsgY3NzIH0gZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgQjIwMCwgQjc1LCBiYWNrZ3JvdW5kLCBiYWNrZ3JvdW5kQWN0aXZlLCBiYWNrZ3JvdW5kSG92ZXIsIEROMzAwLCBETjYwMCwgTjIwMCwgTjkwMCwgfSBmcm9tICdAYXRsYXNraXQvdGhlbWUvY29sb3JzJztcbmltcG9ydCB7IHRoZW1lZCwgd2l0aFRoZW1lIH0gZnJvbSAnQGF0bGFza2l0L3RoZW1lL2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgYm9yZGVyUmFkaXVzLCBncmlkU2l6ZSB9IGZyb20gJ0BhdGxhc2tpdC90aGVtZS9jb25zdGFudHMnO1xudmFyIGZvY3VzQm9yZGVyQ29sb3IgPSB0aGVtZWQoeyBsaWdodDogQjIwMCwgZGFyazogQjc1IH0pO1xudmFyIHRleHRDb2xvcnMgPSB0aGVtZWQoeyBsaWdodDogTjkwMCwgZGFyazogRE42MDAgfSk7XG52YXIgc3VidGxlVGV4dENvbG9ycyA9IHRoZW1lZCh7IGxpZ2h0OiBOMjAwLCBkYXJrOiBETjMwMCB9KTtcbmV4cG9ydCBmdW5jdGlvbiBnZXRCYWNrZ3JvdW5kQ29sb3IoX2EpIHtcbiAgICB2YXIgYmFja2dyb3VuZENvbG9yID0gX2EuYmFja2dyb3VuZENvbG9yLCBocmVmID0gX2EuaHJlZiwgaXNBY3RpdmUgPSBfYS5pc0FjdGl2ZSwgaXNIb3ZlciA9IF9hLmlzSG92ZXIsIGlzU2VsZWN0ZWQgPSBfYS5pc1NlbGVjdGVkLCBvbkNsaWNrID0gX2Eub25DbGljaztcbiAgICB2YXIgaXNJbnRlcmFjdGl2ZSA9IGhyZWYgfHwgb25DbGljaztcbiAgICB2YXIgdGhlbWVkQmFja2dyb3VuZENvbG9yID0gYmFja2dyb3VuZENvbG9yIHx8IGJhY2tncm91bmQ7XG4gICAgLy8gSW50ZXJhY3Rpb246IEhvdmVyXG4gICAgaWYgKGlzSW50ZXJhY3RpdmUgJiYgKGlzSG92ZXIgfHwgaXNTZWxlY3RlZCkpIHtcbiAgICAgICAgdGhlbWVkQmFja2dyb3VuZENvbG9yID0gYmFja2dyb3VuZEhvdmVyO1xuICAgIH1cbiAgICAvLyBJbnRlcmFjdGlvbjogQWN0aXZlXG4gICAgaWYgKGlzSW50ZXJhY3RpdmUgJiYgaXNBY3RpdmUpIHtcbiAgICAgICAgdGhlbWVkQmFja2dyb3VuZENvbG9yID0gYmFja2dyb3VuZEFjdGl2ZTtcbiAgICB9XG4gICAgcmV0dXJuIHRoZW1lZEJhY2tncm91bmRDb2xvcjtcbn1cbmV4cG9ydCBmdW5jdGlvbiBnZXRTdHlsZXMoX2EpIHtcbiAgICB2YXIgaXNJbnRlcmFjdGl2ZSA9IF9hLmlzSW50ZXJhY3RpdmUsIGlzQWN0aXZlID0gX2EuaXNBY3RpdmUsIGlzRGlzYWJsZWQgPSBfYS5pc0Rpc2FibGVkLCBpc0ZvY3VzID0gX2EuaXNGb2N1cztcbiAgICB2YXIgYm9yZGVyQ29sb3IgPSAndHJhbnNwYXJlbnQnO1xuICAgIHZhciBjdXJzb3IgPSAnYXV0byc7XG4gICAgdmFyIG9wYWNpdHkgPSAxO1xuICAgIHZhciBvdXRsaW5lID0gJ25vbmUnO1xuICAgIHZhciBwb2ludGVyRXZlbnRzID0gJ2F1dG8nO1xuICAgIC8vIEludGVyYWN0aW9uOiBGb2N1c1xuICAgIGlmIChpc0ludGVyYWN0aXZlICYmIGlzRm9jdXMgJiYgIWlzQWN0aXZlKSB7XG4gICAgICAgIG91dGxpbmUgPSAnbm9uZSc7XG4gICAgICAgIGJvcmRlckNvbG9yID0gZm9jdXNCb3JkZXJDb2xvcjtcbiAgICB9XG4gICAgLy8gRGlzYWJsZWRcbiAgICBpZiAoaXNEaXNhYmxlZCkge1xuICAgICAgICBjdXJzb3IgPSAnbm90LWFsbG93ZWQnO1xuICAgICAgICBvcGFjaXR5ID0gMC43NTtcbiAgICAgICAgcG9pbnRlckV2ZW50cyA9ICdub25lJztcbiAgICB9XG4gICAgLy8gSW50ZXJhY3RpdmVcbiAgICBpZiAoaXNJbnRlcmFjdGl2ZSkge1xuICAgICAgICBjdXJzb3IgPSAncG9pbnRlcic7XG4gICAgfVxuICAgIHJldHVybiBjc3ModGVtcGxhdGVPYmplY3RfMSB8fCAodGVtcGxhdGVPYmplY3RfMSA9IF9fbWFrZVRlbXBsYXRlT2JqZWN0KFtcIlxcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBcIiwgXCI7XFxuICAgIGJvcmRlci1yYWRpdXM6IFwiLCBcInB4O1xcbiAgICBib3JkZXI6IDJweCBzb2xpZCBcIiwgXCI7XFxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxuICAgIGNvbG9yOiBpbmhlcml0O1xcbiAgICBjdXJzb3I6IFwiLCBcIjtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XFxuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XFxuICAgIGxpbmUtaGVpZ2h0OiAxO1xcbiAgICBvcGFjaXR5OiBcIiwgXCI7XFxuICAgIG91dGxpbmU6IFwiLCBcIjtcXG4gICAgbWFyZ2luOiAwO1xcbiAgICBwYWRkaW5nOiBcIiwgXCJweDtcXG4gICAgcG9pbnRlci1ldmVudHM6IFwiLCBcIjtcXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xcbiAgICB3aWR0aDogMTAwJTtcXG4gIFwiXSwgW1wiXFxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IFwiLCBcIjtcXG4gICAgYm9yZGVyLXJhZGl1czogXCIsIFwicHg7XFxuICAgIGJvcmRlcjogMnB4IHNvbGlkIFwiLCBcIjtcXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcXG4gICAgY29sb3I6IGluaGVyaXQ7XFxuICAgIGN1cnNvcjogXCIsIFwiO1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XFxuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcXG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcXG4gICAgbGluZS1oZWlnaHQ6IDE7XFxuICAgIG9wYWNpdHk6IFwiLCBcIjtcXG4gICAgb3V0bGluZTogXCIsIFwiO1xcbiAgICBtYXJnaW46IDA7XFxuICAgIHBhZGRpbmc6IFwiLCBcInB4O1xcbiAgICBwb2ludGVyLWV2ZW50czogXCIsIFwiO1xcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XFxuICAgIHdpZHRoOiAxMDAlO1xcbiAgXCJdKSksIGdldEJhY2tncm91bmRDb2xvciwgYm9yZGVyUmFkaXVzLCBib3JkZXJDb2xvciwgY3Vyc29yLCBvcGFjaXR5LCBvdXRsaW5lLCBncmlkU2l6ZSgpICogMiwgcG9pbnRlckV2ZW50cyk7XG59XG52YXIgdHJ1bmNhdGVUZXh0ID0gZnVuY3Rpb24gKHApIHtcbiAgICByZXR1cm4gcC50cnVuY2F0ZSAmJiBjc3ModGVtcGxhdGVPYmplY3RfMiB8fCAodGVtcGxhdGVPYmplY3RfMiA9IF9fbWFrZVRlbXBsYXRlT2JqZWN0KFtcIlxcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XFxuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xcbiAgXCJdLCBbXCJcXG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcXG4gIFwiXSkpKTtcbn07XG5leHBvcnQgdmFyIENvbnRlbnQgPSBzdHlsZWQuZGl2KHRlbXBsYXRlT2JqZWN0XzQgfHwgKHRlbXBsYXRlT2JqZWN0XzQgPSBfX21ha2VUZW1wbGF0ZU9iamVjdChbXCJcXG4gIFwiLCBcIlxcbiAgZmxleDogMSAxIDEwMCU7XFxuICBsaW5lLWhlaWdodDogMS40O1xcbiAgcGFkZGluZy1sZWZ0OiBcIiwgXCJweDtcXG5cIl0sIFtcIlxcbiAgXCIsXG4gICAgXCJcXG4gIGZsZXg6IDEgMSAxMDAlO1xcbiAgbGluZS1oZWlnaHQ6IDEuNDtcXG4gIHBhZGRpbmctbGVmdDogXCIsIFwicHg7XFxuXCJdKSksIGZ1bmN0aW9uICh0cnVuY2F0ZSkge1xuICAgIHJldHVybiB0cnVuY2F0ZSAmJiBjc3ModGVtcGxhdGVPYmplY3RfMyB8fCAodGVtcGxhdGVPYmplY3RfMyA9IF9fbWFrZVRlbXBsYXRlT2JqZWN0KFtcIlxcbiAgICAgIG1heC13aWR0aDogMTAwJTtcXG4gICAgICBtaW4td2lkdGg6IDA7XFxuICAgIFwiXSwgW1wiXFxuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xcbiAgICAgIG1pbi13aWR0aDogMDtcXG4gICAgXCJdKSkpO1xufSwgZ3JpZFNpemUpO1xuZXhwb3J0IHZhciBQcmltYXJ5VGV4dCA9IHdpdGhUaGVtZShzdHlsZWQuZGl2KHRlbXBsYXRlT2JqZWN0XzUgfHwgKHRlbXBsYXRlT2JqZWN0XzUgPSBfX21ha2VUZW1wbGF0ZU9iamVjdChbXCJcXG4gIFwiLCBcIiBjb2xvcjogXCIsIFwiO1xcblwiXSwgW1wiXFxuICBcIiwgXCIgY29sb3I6IFwiLCBcIjtcXG5cIl0pKSwgdHJ1bmNhdGVUZXh0LCB0ZXh0Q29sb3JzKSk7XG5leHBvcnQgdmFyIFNlY29uZGFyeVRleHQgPSB3aXRoVGhlbWUoc3R5bGVkLmRpdih0ZW1wbGF0ZU9iamVjdF82IHx8ICh0ZW1wbGF0ZU9iamVjdF82ID0gX19tYWtlVGVtcGxhdGVPYmplY3QoW1wiXFxuICBcIiwgXCIgY29sb3I6IFwiLCBcIjtcXG4gIGZvbnQtc2l6ZTogMC44NWVtO1xcblwiXSwgW1wiXFxuICBcIiwgXCIgY29sb3I6IFwiLCBcIjtcXG4gIGZvbnQtc2l6ZTogMC44NWVtO1xcblwiXSkpLCB0cnVuY2F0ZVRleHQsIHN1YnRsZVRleHRDb2xvcnMpKTtcbnZhciB0ZW1wbGF0ZU9iamVjdF8xLCB0ZW1wbGF0ZU9iamVjdF8yLCB0ZW1wbGF0ZU9iamVjdF8zLCB0ZW1wbGF0ZU9iamVjdF80LCB0ZW1wbGF0ZU9iamVjdF81LCB0ZW1wbGF0ZU9iamVjdF82O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9QXZhdGFySXRlbS5qcy5tYXAiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/avatar/dist/esm/styled/AvatarItem.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/avatar/dist/esm/styled/Icon.js": /*!***************************************************************!*\ !*** ./node_modules/@atlaskit/avatar/dist/esm/styled/Icon.js ***! \***************************************************************/ /*! exports provided: Outer, Inner */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Outer\", function() { return Outer; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Inner\", function() { return Inner; });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/@atlaskit/avatar/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! styled-components */ \"./node_modules/styled-components/dist/styled-components.browser.esm.js\");\n/* harmony import */ var _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @atlaskit/theme/colors */ \"./node_modules/@atlaskit/theme/dist/esm/colors.js\");\n/* harmony import */ var _atlaskit_theme_components__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @atlaskit/theme/components */ \"./node_modules/@atlaskit/theme/dist/esm/components.js\");\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./constants */ \"./node_modules/@atlaskit/avatar/dist/esm/styled/constants.js\");\n\n\n\n\n\nvar Outer = Object(_atlaskit_theme_components__WEBPACK_IMPORTED_MODULE_3__[\"withTheme\"])(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"default\"].span(templateObject_1 || (templateObject_1 = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__makeTemplateObject\"])([\"\\n align-content: center;\\n align-items: center;\\n background-color: \", \";\\n border-radius: 50%;\\n box-sizing: border-box;\\n display: flex;\\n height: 100%;\\n overflow: hidden;\\n padding: \", \"px;\\n width: 100%;\\n\"], [\"\\n align-content: center;\\n align-items: center;\\n background-color: \", \";\\n border-radius: 50%;\\n box-sizing: border-box;\\n display: flex;\\n height: 100%;\\n overflow: hidden;\\n padding: \",\n \"px;\\n width: 100%;\\n\"])), function (props) { return props.bgColor || _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_2__[\"background\"]; }, function (_a) {\n var size = _a.size;\n return (size && _constants__WEBPACK_IMPORTED_MODULE_4__[\"BORDER_WIDTH\"][size]) || _constants__WEBPACK_IMPORTED_MODULE_4__[\"BORDER_WIDTH\"].medium;\n}));\nvar Inner = styled_components__WEBPACK_IMPORTED_MODULE_1__[\"default\"].span(templateObject_2 || (templateObject_2 = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__makeTemplateObject\"])([\"\\n align-items: center;\\n border-radius: 50%;\\n display: flex;\\n height: 100%;\\n overflow: hidden;\\n width: 100%;\\n\"], [\"\\n align-items: center;\\n border-radius: 50%;\\n display: flex;\\n height: 100%;\\n overflow: hidden;\\n width: 100%;\\n\"])));\nvar templateObject_1, templateObject_2;\n//# sourceMappingURL=Icon.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L2F2YXRhci9kaXN0L2VzbS9zdHlsZWQvSWNvbi5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AYXRsYXNraXQvYXZhdGFyL2Rpc3QvZXNtL3N0eWxlZC9JY29uLmpzPzBmM2EiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgX19tYWtlVGVtcGxhdGVPYmplY3QgfSBmcm9tIFwidHNsaWJcIjtcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgYmFja2dyb3VuZCB9IGZyb20gJ0BhdGxhc2tpdC90aGVtZS9jb2xvcnMnO1xuaW1wb3J0IHsgd2l0aFRoZW1lIH0gZnJvbSAnQGF0bGFza2l0L3RoZW1lL2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgQk9SREVSX1dJRFRIIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuZXhwb3J0IHZhciBPdXRlciA9IHdpdGhUaGVtZShzdHlsZWQuc3Bhbih0ZW1wbGF0ZU9iamVjdF8xIHx8ICh0ZW1wbGF0ZU9iamVjdF8xID0gX19tYWtlVGVtcGxhdGVPYmplY3QoW1wiXFxuICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogXCIsIFwiO1xcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBoZWlnaHQ6IDEwMCU7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgcGFkZGluZzogXCIsIFwicHg7XFxuICB3aWR0aDogMTAwJTtcXG5cIl0sIFtcIlxcbiAgYWxpZ24tY29udGVudDogY2VudGVyO1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIGJhY2tncm91bmQtY29sb3I6IFwiLCBcIjtcXG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgaGVpZ2h0OiAxMDAlO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gIHBhZGRpbmc6IFwiLFxuICAgIFwicHg7XFxuICB3aWR0aDogMTAwJTtcXG5cIl0pKSwgZnVuY3Rpb24gKHByb3BzKSB7IHJldHVybiBwcm9wcy5iZ0NvbG9yIHx8IGJhY2tncm91bmQ7IH0sIGZ1bmN0aW9uIChfYSkge1xuICAgIHZhciBzaXplID0gX2Euc2l6ZTtcbiAgICByZXR1cm4gKHNpemUgJiYgQk9SREVSX1dJRFRIW3NpemVdKSB8fCBCT1JERVJfV0lEVEgubWVkaXVtO1xufSkpO1xuZXhwb3J0IHZhciBJbm5lciA9IHN0eWxlZC5zcGFuKHRlbXBsYXRlT2JqZWN0XzIgfHwgKHRlbXBsYXRlT2JqZWN0XzIgPSBfX21ha2VUZW1wbGF0ZU9iamVjdChbXCJcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICBib3JkZXItcmFkaXVzOiA1MCU7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgaGVpZ2h0OiAxMDAlO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gIHdpZHRoOiAxMDAlO1xcblwiXSwgW1wiXFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xcbiAgZGlzcGxheTogZmxleDtcXG4gIGhlaWdodDogMTAwJTtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxuICB3aWR0aDogMTAwJTtcXG5cIl0pKSk7XG52YXIgdGVtcGxhdGVPYmplY3RfMSwgdGVtcGxhdGVPYmplY3RfMjtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPUljb24uanMubWFwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/avatar/dist/esm/styled/Icon.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/avatar/dist/esm/styled/Skeleton.js": /*!*******************************************************************!*\ !*** ./node_modules/@atlaskit/avatar/dist/esm/styled/Skeleton.js ***! \*******************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/@atlaskit/avatar/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! styled-components */ \"./node_modules/styled-components/dist/styled-components.browser.esm.js\");\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./constants */ \"./node_modules/@atlaskit/avatar/dist/esm/styled/constants.js\");\n\n\n\nvar Skeleton = styled_components__WEBPACK_IMPORTED_MODULE_1__[\"default\"].div(templateObject_1 || (templateObject_1 = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__makeTemplateObject\"])([\"\\n width: \", \"px;\\n height: \", \"px;\\n display: inline-block;\\n border-radius: \", \";\\n background-color: \", \";\\n border: \", \"px solid transparent;\\n opacity: \", \";\\n\"], [\"\\n width: \", \"px;\\n height: \", \"px;\\n display: inline-block;\\n border-radius: \",\n \";\\n background-color: \", \";\\n border: \", \"px solid transparent;\\n opacity: \", \";\\n\"])), function (_a) {\n var size = _a.size;\n return _constants__WEBPACK_IMPORTED_MODULE_2__[\"AVATAR_SIZES\"][size || 'small'];\n}, function (_a) {\n var size = _a.size;\n return _constants__WEBPACK_IMPORTED_MODULE_2__[\"AVATAR_SIZES\"][size || 'small'];\n}, function (props) {\n return props.size && props.appearance === 'square'\n ? _constants__WEBPACK_IMPORTED_MODULE_2__[\"AVATAR_RADIUS\"][props.size] + \"px\"\n : '50%';\n}, function (_a) {\n var color = _a.color;\n return color || 'currentColor';\n}, function (_a) {\n var size = _a.size;\n return _constants__WEBPACK_IMPORTED_MODULE_2__[\"BORDER_WIDTH\"][size || 'small'];\n}, function (_a) {\n var weight = _a.weight;\n return (weight === 'strong' ? 0.3 : 0.15);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (Skeleton);\nvar templateObject_1;\n//# sourceMappingURL=Skeleton.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L2F2YXRhci9kaXN0L2VzbS9zdHlsZWQvU2tlbGV0b24uanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L2F2YXRhci9kaXN0L2VzbS9zdHlsZWQvU2tlbGV0b24uanM/MjVlYyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBfX21ha2VUZW1wbGF0ZU9iamVjdCB9IGZyb20gXCJ0c2xpYlwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQgeyBBVkFUQVJfUkFESVVTLCBBVkFUQVJfU0laRVMsIEJPUkRFUl9XSURUSCB9IGZyb20gJy4vY29uc3RhbnRzJztcbnZhciBTa2VsZXRvbiA9IHN0eWxlZC5kaXYodGVtcGxhdGVPYmplY3RfMSB8fCAodGVtcGxhdGVPYmplY3RfMSA9IF9fbWFrZVRlbXBsYXRlT2JqZWN0KFtcIlxcbiAgd2lkdGg6IFwiLCBcInB4O1xcbiAgaGVpZ2h0OiBcIiwgXCJweDtcXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG4gIGJvcmRlci1yYWRpdXM6IFwiLCBcIjtcXG4gIGJhY2tncm91bmQtY29sb3I6IFwiLCBcIjtcXG4gIGJvcmRlcjogXCIsIFwicHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICBvcGFjaXR5OiBcIiwgXCI7XFxuXCJdLCBbXCJcXG4gIHdpZHRoOiBcIiwgXCJweDtcXG4gIGhlaWdodDogXCIsIFwicHg7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICBib3JkZXItcmFkaXVzOiBcIixcbiAgICBcIjtcXG4gIGJhY2tncm91bmQtY29sb3I6IFwiLCBcIjtcXG4gIGJvcmRlcjogXCIsIFwicHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICBvcGFjaXR5OiBcIiwgXCI7XFxuXCJdKSksIGZ1bmN0aW9uIChfYSkge1xuICAgIHZhciBzaXplID0gX2Euc2l6ZTtcbiAgICByZXR1cm4gQVZBVEFSX1NJWkVTW3NpemUgfHwgJ3NtYWxsJ107XG59LCBmdW5jdGlvbiAoX2EpIHtcbiAgICB2YXIgc2l6ZSA9IF9hLnNpemU7XG4gICAgcmV0dXJuIEFWQVRBUl9TSVpFU1tzaXplIHx8ICdzbWFsbCddO1xufSwgZnVuY3Rpb24gKHByb3BzKSB7XG4gICAgcmV0dXJuIHByb3BzLnNpemUgJiYgcHJvcHMuYXBwZWFyYW5jZSA9PT0gJ3NxdWFyZSdcbiAgICAgICAgPyBBVkFUQVJfUkFESVVTW3Byb3BzLnNpemVdICsgXCJweFwiXG4gICAgICAgIDogJzUwJSc7XG59LCBmdW5jdGlvbiAoX2EpIHtcbiAgICB2YXIgY29sb3IgPSBfYS5jb2xvcjtcbiAgICByZXR1cm4gY29sb3IgfHwgJ2N1cnJlbnRDb2xvcic7XG59LCBmdW5jdGlvbiAoX2EpIHtcbiAgICB2YXIgc2l6ZSA9IF9hLnNpemU7XG4gICAgcmV0dXJuIEJPUkRFUl9XSURUSFtzaXplIHx8ICdzbWFsbCddO1xufSwgZnVuY3Rpb24gKF9hKSB7XG4gICAgdmFyIHdlaWdodCA9IF9hLndlaWdodDtcbiAgICByZXR1cm4gKHdlaWdodCA9PT0gJ3N0cm9uZycgPyAwLjMgOiAwLjE1KTtcbn0pO1xuZXhwb3J0IGRlZmF1bHQgU2tlbGV0b247XG52YXIgdGVtcGxhdGVPYmplY3RfMTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPVNrZWxldG9uLmpzLm1hcCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/avatar/dist/esm/styled/Skeleton.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/avatar/dist/esm/styled/constants.js": /*!********************************************************************!*\ !*** ./node_modules/@atlaskit/avatar/dist/esm/styled/constants.js ***! \********************************************************************/ /*! exports provided: TRANSITION_DURATION, AVATAR_SIZES, AVATAR_RADIUS, BORDER_WIDTH, EXCESS_INDICATOR_FONT_SIZE, ICON_SIZES, ICON_OFFSET, SQUARE_ICON_OFFSET */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"TRANSITION_DURATION\", function() { return TRANSITION_DURATION; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"AVATAR_SIZES\", function() { return AVATAR_SIZES; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"AVATAR_RADIUS\", function() { return AVATAR_RADIUS; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"BORDER_WIDTH\", function() { return BORDER_WIDTH; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"EXCESS_INDICATOR_FONT_SIZE\", function() { return EXCESS_INDICATOR_FONT_SIZE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ICON_SIZES\", function() { return ICON_SIZES; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ICON_OFFSET\", function() { return ICON_OFFSET; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SQUARE_ICON_OFFSET\", function() { return SQUARE_ICON_OFFSET; });\n/* harmony import */ var _atlaskit_theme_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @atlaskit/theme/constants */ \"./node_modules/@atlaskit/theme/dist/esm/constants.js\");\n\nvar TRANSITION_DURATION = '200ms';\nvar gridSizeValue = Object(_atlaskit_theme_constants__WEBPACK_IMPORTED_MODULE_0__[\"gridSize\"])();\nvar AVATAR_SIZES = {\n xsmall: gridSizeValue * 2,\n small: gridSizeValue * 3,\n medium: gridSizeValue * 4,\n large: gridSizeValue * 5,\n xlarge: gridSizeValue * 12,\n xxlarge: gridSizeValue * 16,\n};\n// border radius only applies to \"square\" avatars\nvar AVATAR_RADIUS = {\n xsmall: 2,\n small: 2,\n medium: 3,\n large: 3,\n xlarge: 6,\n xxlarge: 12,\n};\nvar BORDER_WIDTH = {\n xsmall: 2,\n small: 2,\n medium: 2,\n large: 2,\n xlarge: 2,\n xxlarge: 2,\n};\n// NOTE: sizes xsmall & xxlarge DO NOT support\n// - groups\n// - presence\n// - status\nvar EXCESS_INDICATOR_FONT_SIZE = {\n small: 10,\n medium: 11,\n large: 12,\n xlarge: 16,\n};\nvar ICON_SIZES = {\n small: 12,\n medium: 14,\n large: 15,\n xlarge: 18,\n};\nvar ICON_OFFSET = {\n small: 0,\n medium: 0,\n large: 1,\n xlarge: 7,\n};\nvar SQUARE_ICON_OFFSET = {\n small: 0,\n medium: 0,\n large: 0,\n xlarge: 1,\n};\n//# sourceMappingURL=constants.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L2F2YXRhci9kaXN0L2VzbS9zdHlsZWQvY29uc3RhbnRzLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BhdGxhc2tpdC9hdmF0YXIvZGlzdC9lc20vc3R5bGVkL2NvbnN0YW50cy5qcz9jNzE2Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdyaWRTaXplIH0gZnJvbSAnQGF0bGFza2l0L3RoZW1lL2NvbnN0YW50cyc7XG5leHBvcnQgdmFyIFRSQU5TSVRJT05fRFVSQVRJT04gPSAnMjAwbXMnO1xudmFyIGdyaWRTaXplVmFsdWUgPSBncmlkU2l6ZSgpO1xuZXhwb3J0IHZhciBBVkFUQVJfU0laRVMgPSB7XG4gICAgeHNtYWxsOiBncmlkU2l6ZVZhbHVlICogMixcbiAgICBzbWFsbDogZ3JpZFNpemVWYWx1ZSAqIDMsXG4gICAgbWVkaXVtOiBncmlkU2l6ZVZhbHVlICogNCxcbiAgICBsYXJnZTogZ3JpZFNpemVWYWx1ZSAqIDUsXG4gICAgeGxhcmdlOiBncmlkU2l6ZVZhbHVlICogMTIsXG4gICAgeHhsYXJnZTogZ3JpZFNpemVWYWx1ZSAqIDE2LFxufTtcbi8vIGJvcmRlciByYWRpdXMgb25seSBhcHBsaWVzIHRvIFwic3F1YXJlXCIgYXZhdGFyc1xuZXhwb3J0IHZhciBBVkFUQVJfUkFESVVTID0ge1xuICAgIHhzbWFsbDogMixcbiAgICBzbWFsbDogMixcbiAgICBtZWRpdW06IDMsXG4gICAgbGFyZ2U6IDMsXG4gICAgeGxhcmdlOiA2LFxuICAgIHh4bGFyZ2U6IDEyLFxufTtcbmV4cG9ydCB2YXIgQk9SREVSX1dJRFRIID0ge1xuICAgIHhzbWFsbDogMixcbiAgICBzbWFsbDogMixcbiAgICBtZWRpdW06IDIsXG4gICAgbGFyZ2U6IDIsXG4gICAgeGxhcmdlOiAyLFxuICAgIHh4bGFyZ2U6IDIsXG59O1xuLy8gTk9URTogc2l6ZXMgeHNtYWxsICYgeHhsYXJnZSBETyBOT1Qgc3VwcG9ydFxuLy8gLSBncm91cHNcbi8vIC0gcHJlc2VuY2Vcbi8vIC0gc3RhdHVzXG5leHBvcnQgdmFyIEVYQ0VTU19JTkRJQ0FUT1JfRk9OVF9TSVpFID0ge1xuICAgIHNtYWxsOiAxMCxcbiAgICBtZWRpdW06IDExLFxuICAgIGxhcmdlOiAxMixcbiAgICB4bGFyZ2U6IDE2LFxufTtcbmV4cG9ydCB2YXIgSUNPTl9TSVpFUyA9IHtcbiAgICBzbWFsbDogMTIsXG4gICAgbWVkaXVtOiAxNCxcbiAgICBsYXJnZTogMTUsXG4gICAgeGxhcmdlOiAxOCxcbn07XG5leHBvcnQgdmFyIElDT05fT0ZGU0VUID0ge1xuICAgIHNtYWxsOiAwLFxuICAgIG1lZGl1bTogMCxcbiAgICBsYXJnZTogMSxcbiAgICB4bGFyZ2U6IDcsXG59O1xuZXhwb3J0IHZhciBTUVVBUkVfSUNPTl9PRkZTRVQgPSB7XG4gICAgc21hbGw6IDAsXG4gICAgbWVkaXVtOiAwLFxuICAgIGxhcmdlOiAwLFxuICAgIHhsYXJnZTogMSxcbn07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1jb25zdGFudHMuanMubWFwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/avatar/dist/esm/styled/constants.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/avatar/dist/esm/styled/utils.js": /*!****************************************************************!*\ !*** ./node_modules/@atlaskit/avatar/dist/esm/styled/utils.js ***! \****************************************************************/ /*! exports provided: getBorderRadius, getSize, getAvatarDimensions, getInnerStyles */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getBorderRadius\", function() { return getBorderRadius; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getSize\", function() { return getSize; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getAvatarDimensions\", function() { return getAvatarDimensions; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getInnerStyles\", function() { return getInnerStyles; });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/@atlaskit/avatar/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! styled-components */ \"./node_modules/styled-components/dist/styled-components.browser.esm.js\");\n/* harmony import */ var _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @atlaskit/theme/colors */ \"./node_modules/@atlaskit/theme/dist/esm/colors.js\");\n/* harmony import */ var _atlaskit_theme_components__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @atlaskit/theme/components */ \"./node_modules/@atlaskit/theme/dist/esm/components.js\");\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./constants */ \"./node_modules/@atlaskit/avatar/dist/esm/styled/constants.js\");\n\n\n\n\n\nvar backgroundColorFocus = _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_2__[\"B200\"];\nvar overlayColorDefault = 'transparent';\nvar overlayColorHover = _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_2__[\"N70A\"];\nvar overlayColorSelected = _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_2__[\"N200A\"];\nvar overlayColorDisabled = Object(_atlaskit_theme_components__WEBPACK_IMPORTED_MODULE_3__[\"themed\"])({\n light: 'rgba(255, 255, 255, 0.7)',\n dark: _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_2__[\"DN80A\"],\n});\n// \"square\" avatars are explicit\nfunction getBorderRadius(props, config) {\n if (config === void 0) { config = { includeBorderWidth: false }; }\n var borderWidth = config.includeBorderWidth\n ? _constants__WEBPACK_IMPORTED_MODULE_4__[\"BORDER_WIDTH\"][props.size]\n : 0;\n return props.appearance === 'circle'\n ? '50%'\n : _constants__WEBPACK_IMPORTED_MODULE_4__[\"AVATAR_RADIUS\"][props.size] + borderWidth + \"px\";\n}\nvar getSize = function (_a) {\n var size = _a.size;\n return _constants__WEBPACK_IMPORTED_MODULE_4__[\"AVATAR_SIZES\"][size];\n}; // for testing\nfunction getAvatarDimensions(_a, config) {\n var size = _a.size;\n if (config === void 0) { config = {\n includeBorderWidth: false,\n sizeOnly: false,\n }; }\n var borderWidth = config.includeBorderWidth\n ? _constants__WEBPACK_IMPORTED_MODULE_4__[\"BORDER_WIDTH\"][size] * 2\n : 0;\n var finalSize = _constants__WEBPACK_IMPORTED_MODULE_4__[\"AVATAR_SIZES\"][size] + borderWidth;\n return config.sizeOnly\n ? finalSize\n : \"\\n height: \" + finalSize + \"px;\\n width: \" + finalSize + \"px;\\n \";\n}\n// expose here for use with multiple element types\nfunction getInnerStyles(props) {\n if (props === void 0) { props = { appearance: 'circle', size: 'medium' }; }\n var boxSizing = 'content-box';\n var borderWidth = _constants__WEBPACK_IMPORTED_MODULE_4__[\"BORDER_WIDTH\"][props.size] + \"px\";\n var isInteractive = Boolean(props.isInteractive || props.href || props.onClick);\n // We make the distinction between isInteractive and isClickable as supplying a tooltip\n // makes the avatar interactive but not clickable\n var isClickable = Boolean(props.href || props.onClick);\n var backgroundColor = props.borderColor || _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_2__[\"background\"];\n // Inherit cursor styles so we don't cancel out pointer cursors in places like avatar group more dropdown\n var cursor = 'inherit';\n var outline = 'none';\n var overlayShade = overlayColorDefault;\n var overlayOpacity = 0;\n var pointerEvents = 'auto';\n var position = 'static';\n var transform = 'translateZ(0)';\n var transitionDuration = '0s';\n // Interaction: Hover\n if (isInteractive && (props.isActive || props.isHover)) {\n overlayShade = overlayColorHover;\n overlayOpacity = 1;\n }\n // Interaction: Active\n if (isClickable && props.isActive) {\n transform = 'scale(0.9)';\n }\n // Interaction: Focus\n if (isInteractive && props.isFocus && !props.isActive) {\n outline = 'none';\n backgroundColor = backgroundColorFocus;\n transitionDuration = _constants__WEBPACK_IMPORTED_MODULE_4__[\"TRANSITION_DURATION\"];\n }\n // Disabled\n if (props.isDisabled) {\n cursor = 'not-allowed';\n overlayShade = overlayColorDisabled;\n overlayOpacity = 1;\n pointerEvents = 'none';\n }\n // Clickable\n if (isClickable) {\n cursor = 'pointer';\n }\n // Loading\n if (props.isSelected) {\n overlayShade = overlayColorSelected;\n overlayOpacity = 1;\n }\n // Stack\n if (props.stackIndex) {\n position = 'relative';\n }\n return Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"css\"])(templateObject_1 || (templateObject_1 = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__makeTemplateObject\"])([\"\\n \", \";\\n align-items: stretch;\\n background-color: \", \";\\n border: 0;\\n border-radius: \", \";\\n padding: \", \";\\n box-sizing: \", \";\\n cursor: \", \";\\n display: flex;\\n flex-direction: column;\\n justify-content: center;\\n outline: \", \";\\n overflow: hidden;\\n pointer-events: \", \";\\n position: \", \";\\n transform: \", \";\\n transition: background-color \", \" ease-out;\\n\\n a &,\\n button & {\\n cursor: pointer;\\n }\\n\\n &::after {\\n background-color: \", \";\\n border-radius: \", \";\\n bottom: \", \";\\n content: ' ';\\n left: \", \";\\n opacity: \", \";\\n pointer-events: none;\\n position: absolute;\\n right: \", \";\\n top: \", \";\\n transition: opacity \", \";\\n }\\n\\n &::-moz-focus-inner {\\n border: 0;\\n margin: 0;\\n padding: 0;\\n }\\n \"], [\"\\n \", \";\\n align-items: stretch;\\n background-color: \", \";\\n border: 0;\\n border-radius: \", \";\\n padding: \", \";\\n box-sizing: \", \";\\n cursor: \", \";\\n display: flex;\\n flex-direction: column;\\n justify-content: center;\\n outline: \", \";\\n overflow: hidden;\\n pointer-events: \", \";\\n position: \", \";\\n transform: \", \";\\n transition: background-color \", \" ease-out;\\n\\n a &,\\n button & {\\n cursor: pointer;\\n }\\n\\n &::after {\\n background-color: \", \";\\n border-radius: \", \";\\n bottom: \", \";\\n content: ' ';\\n left: \", \";\\n opacity: \", \";\\n pointer-events: none;\\n position: absolute;\\n right: \", \";\\n top: \", \";\\n transition: opacity \", \";\\n }\\n\\n &::-moz-focus-inner {\\n border: 0;\\n margin: 0;\\n padding: 0;\\n }\\n \"])), getAvatarDimensions, backgroundColor, function (p) { return getBorderRadius(p, { includeBorderWidth: true }); }, borderWidth, boxSizing, cursor, outline, pointerEvents, position, transform, transitionDuration, overlayShade, getBorderRadius, borderWidth, borderWidth, overlayOpacity, borderWidth, borderWidth, _constants__WEBPACK_IMPORTED_MODULE_4__[\"TRANSITION_DURATION\"]);\n}\nvar templateObject_1;\n//# sourceMappingURL=utils.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L2F2YXRhci9kaXN0L2VzbS9zdHlsZWQvdXRpbHMuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L2F2YXRhci9kaXN0L2VzbS9zdHlsZWQvdXRpbHMuanM/ZWJhMiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBfX21ha2VUZW1wbGF0ZU9iamVjdCB9IGZyb20gXCJ0c2xpYlwiO1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgQjIwMCwgYmFja2dyb3VuZCwgRE44MEEsIE4yMDBBLCBONzBBIH0gZnJvbSAnQGF0bGFza2l0L3RoZW1lL2NvbG9ycyc7XG5pbXBvcnQgeyB0aGVtZWQgfSBmcm9tICdAYXRsYXNraXQvdGhlbWUvY29tcG9uZW50cyc7XG5pbXBvcnQgeyBBVkFUQVJfUkFESVVTLCBBVkFUQVJfU0laRVMsIEJPUkRFUl9XSURUSCwgVFJBTlNJVElPTl9EVVJBVElPTiwgfSBmcm9tICcuL2NvbnN0YW50cyc7XG52YXIgYmFja2dyb3VuZENvbG9yRm9jdXMgPSBCMjAwO1xudmFyIG92ZXJsYXlDb2xvckRlZmF1bHQgPSAndHJhbnNwYXJlbnQnO1xudmFyIG92ZXJsYXlDb2xvckhvdmVyID0gTjcwQTtcbnZhciBvdmVybGF5Q29sb3JTZWxlY3RlZCA9IE4yMDBBO1xudmFyIG92ZXJsYXlDb2xvckRpc2FibGVkID0gdGhlbWVkKHtcbiAgICBsaWdodDogJ3JnYmEoMjU1LCAyNTUsIDI1NSwgMC43KScsXG4gICAgZGFyazogRE44MEEsXG59KTtcbi8vIFwic3F1YXJlXCIgYXZhdGFycyBhcmUgZXhwbGljaXRcbmV4cG9ydCBmdW5jdGlvbiBnZXRCb3JkZXJSYWRpdXMocHJvcHMsIGNvbmZpZykge1xuICAgIGlmIChjb25maWcgPT09IHZvaWQgMCkgeyBjb25maWcgPSB7IGluY2x1ZGVCb3JkZXJXaWR0aDogZmFsc2UgfTsgfVxuICAgIHZhciBib3JkZXJXaWR0aCA9IGNvbmZpZy5pbmNsdWRlQm9yZGVyV2lkdGhcbiAgICAgICAgPyBCT1JERVJfV0lEVEhbcHJvcHMuc2l6ZV1cbiAgICAgICAgOiAwO1xuICAgIHJldHVybiBwcm9wcy5hcHBlYXJhbmNlID09PSAnY2lyY2xlJ1xuICAgICAgICA/ICc1MCUnXG4gICAgICAgIDogQVZBVEFSX1JBRElVU1twcm9wcy5zaXplXSArIGJvcmRlcldpZHRoICsgXCJweFwiO1xufVxuZXhwb3J0IHZhciBnZXRTaXplID0gZnVuY3Rpb24gKF9hKSB7XG4gICAgdmFyIHNpemUgPSBfYS5zaXplO1xuICAgIHJldHVybiBBVkFUQVJfU0laRVNbc2l6ZV07XG59OyAvLyBmb3IgdGVzdGluZ1xuZXhwb3J0IGZ1bmN0aW9uIGdldEF2YXRhckRpbWVuc2lvbnMoX2EsIGNvbmZpZykge1xuICAgIHZhciBzaXplID0gX2Euc2l6ZTtcbiAgICBpZiAoY29uZmlnID09PSB2b2lkIDApIHsgY29uZmlnID0ge1xuICAgICAgICBpbmNsdWRlQm9yZGVyV2lkdGg6IGZhbHNlLFxuICAgICAgICBzaXplT25seTogZmFsc2UsXG4gICAgfTsgfVxuICAgIHZhciBib3JkZXJXaWR0aCA9IGNvbmZpZy5pbmNsdWRlQm9yZGVyV2lkdGhcbiAgICAgICAgPyBCT1JERVJfV0lEVEhbc2l6ZV0gKiAyXG4gICAgICAgIDogMDtcbiAgICB2YXIgZmluYWxTaXplID0gQVZBVEFSX1NJWkVTW3NpemVdICsgYm9yZGVyV2lkdGg7XG4gICAgcmV0dXJuIGNvbmZpZy5zaXplT25seVxuICAgICAgICA/IGZpbmFsU2l6ZVxuICAgICAgICA6IFwiXFxuICAgIGhlaWdodDogXCIgKyBmaW5hbFNpemUgKyBcInB4O1xcbiAgICB3aWR0aDogXCIgKyBmaW5hbFNpemUgKyBcInB4O1xcbiAgXCI7XG59XG4vLyBleHBvc2UgaGVyZSBmb3IgdXNlIHdpdGggbXVsdGlwbGUgZWxlbWVudCB0eXBlc1xuZXhwb3J0IGZ1bmN0aW9uIGdldElubmVyU3R5bGVzKHByb3BzKSB7XG4gICAgaWYgKHByb3BzID09PSB2b2lkIDApIHsgcHJvcHMgPSB7IGFwcGVhcmFuY2U6ICdjaXJjbGUnLCBzaXplOiAnbWVkaXVtJyB9OyB9XG4gICAgdmFyIGJveFNpemluZyA9ICdjb250ZW50LWJveCc7XG4gICAgdmFyIGJvcmRlcldpZHRoID0gQk9SREVSX1dJRFRIW3Byb3BzLnNpemVdICsgXCJweFwiO1xuICAgIHZhciBpc0ludGVyYWN0aXZlID0gQm9vbGVhbihwcm9wcy5pc0ludGVyYWN0aXZlIHx8IHByb3BzLmhyZWYgfHwgcHJvcHMub25DbGljayk7XG4gICAgLy8gV2UgbWFrZSB0aGUgZGlzdGluY3Rpb24gYmV0d2VlbiBpc0ludGVyYWN0aXZlIGFuZCBpc0NsaWNrYWJsZSBhcyBzdXBwbHlpbmcgYSB0b29sdGlwXG4gICAgLy8gbWFrZXMgdGhlIGF2YXRhciBpbnRlcmFjdGl2ZSBidXQgbm90IGNsaWNrYWJsZVxuICAgIHZhciBpc0NsaWNrYWJsZSA9IEJvb2xlYW4ocHJvcHMuaHJlZiB8fCBwcm9wcy5vbkNsaWNrKTtcbiAgICB2YXIgYmFja2dyb3VuZENvbG9yID0gcHJvcHMuYm9yZGVyQ29sb3IgfHwgYmFja2dyb3VuZDtcbiAgICAvLyBJbmhlcml0IGN1cnNvciBzdHlsZXMgc28gd2UgZG9uJ3QgY2FuY2VsIG91dCBwb2ludGVyIGN1cnNvcnMgaW4gcGxhY2VzIGxpa2UgYXZhdGFyIGdyb3VwIG1vcmUgZHJvcGRvd25cbiAgICB2YXIgY3Vyc29yID0gJ2luaGVyaXQnO1xuICAgIHZhciBvdXRsaW5lID0gJ25vbmUnO1xuICAgIHZhciBvdmVybGF5U2hhZGUgPSBvdmVybGF5Q29sb3JEZWZhdWx0O1xuICAgIHZhciBvdmVybGF5T3BhY2l0eSA9IDA7XG4gICAgdmFyIHBvaW50ZXJFdmVudHMgPSAnYXV0byc7XG4gICAgdmFyIHBvc2l0aW9uID0gJ3N0YXRpYyc7XG4gICAgdmFyIHRyYW5zZm9ybSA9ICd0cmFuc2xhdGVaKDApJztcbiAgICB2YXIgdHJhbnNpdGlvbkR1cmF0aW9uID0gJzBzJztcbiAgICAvLyBJbnRlcmFjdGlvbjogSG92ZXJcbiAgICBpZiAoaXNJbnRlcmFjdGl2ZSAmJiAocHJvcHMuaXNBY3RpdmUgfHwgcHJvcHMuaXNIb3ZlcikpIHtcbiAgICAgICAgb3ZlcmxheVNoYWRlID0gb3ZlcmxheUNvbG9ySG92ZXI7XG4gICAgICAgIG92ZXJsYXlPcGFjaXR5ID0gMTtcbiAgICB9XG4gICAgLy8gSW50ZXJhY3Rpb246IEFjdGl2ZVxuICAgIGlmIChpc0NsaWNrYWJsZSAmJiBwcm9wcy5pc0FjdGl2ZSkge1xuICAgICAgICB0cmFuc2Zvcm0gPSAnc2NhbGUoMC45KSc7XG4gICAgfVxuICAgIC8vIEludGVyYWN0aW9uOiBGb2N1c1xuICAgIGlmIChpc0ludGVyYWN0aXZlICYmIHByb3BzLmlzRm9jdXMgJiYgIXByb3BzLmlzQWN0aXZlKSB7XG4gICAgICAgIG91dGxpbmUgPSAnbm9uZSc7XG4gICAgICAgIGJhY2tncm91bmRDb2xvciA9IGJhY2tncm91bmRDb2xvckZvY3VzO1xuICAgICAgICB0cmFuc2l0aW9uRHVyYXRpb24gPSBUUkFOU0lUSU9OX0RVUkFUSU9OO1xuICAgIH1cbiAgICAvLyBEaXNhYmxlZFxuICAgIGlmIChwcm9wcy5pc0Rpc2FibGVkKSB7XG4gICAgICAgIGN1cnNvciA9ICdub3QtYWxsb3dlZCc7XG4gICAgICAgIG92ZXJsYXlTaGFkZSA9IG92ZXJsYXlDb2xvckRpc2FibGVkO1xuICAgICAgICBvdmVybGF5T3BhY2l0eSA9IDE7XG4gICAgICAgIHBvaW50ZXJFdmVudHMgPSAnbm9uZSc7XG4gICAgfVxuICAgIC8vIENsaWNrYWJsZVxuICAgIGlmIChpc0NsaWNrYWJsZSkge1xuICAgICAgICBjdXJzb3IgPSAncG9pbnRlcic7XG4gICAgfVxuICAgIC8vIExvYWRpbmdcbiAgICBpZiAocHJvcHMuaXNTZWxlY3RlZCkge1xuICAgICAgICBvdmVybGF5U2hhZGUgPSBvdmVybGF5Q29sb3JTZWxlY3RlZDtcbiAgICAgICAgb3ZlcmxheU9wYWNpdHkgPSAxO1xuICAgIH1cbiAgICAvLyBTdGFja1xuICAgIGlmIChwcm9wcy5zdGFja0luZGV4KSB7XG4gICAgICAgIHBvc2l0aW9uID0gJ3JlbGF0aXZlJztcbiAgICB9XG4gICAgcmV0dXJuIGNzcyh0ZW1wbGF0ZU9iamVjdF8xIHx8ICh0ZW1wbGF0ZU9iamVjdF8xID0gX19tYWtlVGVtcGxhdGVPYmplY3QoW1wiXFxuICAgIFwiLCBcIjtcXG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IFwiLCBcIjtcXG4gICAgYm9yZGVyOiAwO1xcbiAgICBib3JkZXItcmFkaXVzOiBcIiwgXCI7XFxuICAgIHBhZGRpbmc6IFwiLCBcIjtcXG4gICAgYm94LXNpemluZzogXCIsIFwiO1xcbiAgICBjdXJzb3I6IFwiLCBcIjtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XFxuICAgIG91dGxpbmU6IFwiLCBcIjtcXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gICAgcG9pbnRlci1ldmVudHM6IFwiLCBcIjtcXG4gICAgcG9zaXRpb246IFwiLCBcIjtcXG4gICAgdHJhbnNmb3JtOiBcIiwgXCI7XFxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgXCIsIFwiIGVhc2Utb3V0O1xcblxcbiAgICBhICYsXFxuICAgIGJ1dHRvbiAmIHtcXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XFxuICAgIH1cXG5cXG4gICAgJjo6YWZ0ZXIge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IFwiLCBcIjtcXG4gICAgICBib3JkZXItcmFkaXVzOiBcIiwgXCI7XFxuICAgICAgYm90dG9tOiBcIiwgXCI7XFxuICAgICAgY29udGVudDogJyAnO1xcbiAgICAgIGxlZnQ6IFwiLCBcIjtcXG4gICAgICBvcGFjaXR5OiBcIiwgXCI7XFxuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XFxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgICAgIHJpZ2h0OiBcIiwgXCI7XFxuICAgICAgdG9wOiBcIiwgXCI7XFxuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSBcIiwgXCI7XFxuICAgIH1cXG5cXG4gICAgJjo6LW1vei1mb2N1cy1pbm5lciB7XFxuICAgICAgYm9yZGVyOiAwO1xcbiAgICAgIG1hcmdpbjogMDtcXG4gICAgICBwYWRkaW5nOiAwO1xcbiAgICB9XFxuICBcIl0sIFtcIlxcbiAgICBcIiwgXCI7XFxuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBcIiwgXCI7XFxuICAgIGJvcmRlcjogMDtcXG4gICAgYm9yZGVyLXJhZGl1czogXCIsIFwiO1xcbiAgICBwYWRkaW5nOiBcIiwgXCI7XFxuICAgIGJveC1zaXppbmc6IFwiLCBcIjtcXG4gICAgY3Vyc29yOiBcIiwgXCI7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xcbiAgICBvdXRsaW5lOiBcIiwgXCI7XFxuICAgIG92ZXJmbG93OiBoaWRkZW47XFxuICAgIHBvaW50ZXItZXZlbnRzOiBcIiwgXCI7XFxuICAgIHBvc2l0aW9uOiBcIiwgXCI7XFxuICAgIHRyYW5zZm9ybTogXCIsIFwiO1xcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIFwiLCBcIiBlYXNlLW91dDtcXG5cXG4gICAgYSAmLFxcbiAgICBidXR0b24gJiB7XFxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xcbiAgICB9XFxuXFxuICAgICY6OmFmdGVyIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBcIiwgXCI7XFxuICAgICAgYm9yZGVyLXJhZGl1czogXCIsIFwiO1xcbiAgICAgIGJvdHRvbTogXCIsIFwiO1xcbiAgICAgIGNvbnRlbnQ6ICcgJztcXG4gICAgICBsZWZ0OiBcIiwgXCI7XFxuICAgICAgb3BhY2l0eTogXCIsIFwiO1xcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gICAgICByaWdodDogXCIsIFwiO1xcbiAgICAgIHRvcDogXCIsIFwiO1xcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgXCIsIFwiO1xcbiAgICB9XFxuXFxuICAgICY6Oi1tb3otZm9jdXMtaW5uZXIge1xcbiAgICAgIGJvcmRlcjogMDtcXG4gICAgICBtYXJnaW46IDA7XFxuICAgICAgcGFkZGluZzogMDtcXG4gICAgfVxcbiAgXCJdKSksIGdldEF2YXRhckRpbWVuc2lvbnMsIGJhY2tncm91bmRDb2xvciwgZnVuY3Rpb24gKHApIHsgcmV0dXJuIGdldEJvcmRlclJhZGl1cyhwLCB7IGluY2x1ZGVCb3JkZXJXaWR0aDogdHJ1ZSB9KTsgfSwgYm9yZGVyV2lkdGgsIGJveFNpemluZywgY3Vyc29yLCBvdXRsaW5lLCBwb2ludGVyRXZlbnRzLCBwb3NpdGlvbiwgdHJhbnNmb3JtLCB0cmFuc2l0aW9uRHVyYXRpb24sIG92ZXJsYXlTaGFkZSwgZ2V0Qm9yZGVyUmFkaXVzLCBib3JkZXJXaWR0aCwgYm9yZGVyV2lkdGgsIG92ZXJsYXlPcGFjaXR5LCBib3JkZXJXaWR0aCwgYm9yZGVyV2lkdGgsIFRSQU5TSVRJT05fRFVSQVRJT04pO1xufVxudmFyIHRlbXBsYXRlT2JqZWN0XzE7XG4vLyMgc291cmNlTWFwcGluZ1VSTD11dGlscy5qcy5tYXAiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/avatar/dist/esm/styled/utils.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/avatar/dist/esm/theme/index.js": /*!***************************************************************!*\ !*** ./node_modules/@atlaskit/avatar/dist/esm/theme/index.js ***! \***************************************************************/ /*! exports provided: Theme */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Theme\", function() { return Theme; });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/@atlaskit/avatar/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @atlaskit/theme/colors */ \"./node_modules/@atlaskit/theme/dist/esm/colors.js\");\n/* harmony import */ var _atlaskit_theme_components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @atlaskit/theme/components */ \"./node_modules/@atlaskit/theme/dist/esm/components.js\");\n/* harmony import */ var _atlaskit_theme_constants__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @atlaskit/theme/constants */ \"./node_modules/@atlaskit/theme/dist/esm/constants.js\");\n\n\n\n\nvar gridSizeValue = Object(_atlaskit_theme_constants__WEBPACK_IMPORTED_MODULE_3__[\"gridSize\"])();\nvar AVATAR_SIZES = {\n xsmall: gridSizeValue * 2,\n small: gridSizeValue * 3,\n medium: gridSizeValue * 4,\n large: gridSizeValue * 5,\n xlarge: gridSizeValue * 12,\n xxlarge: gridSizeValue * 16,\n};\n// border radius only applies to \"square\" avatars\nvar AVATAR_RADIUS = {\n xsmall: 2,\n small: 2,\n medium: 3,\n large: 3,\n xlarge: 6,\n xxlarge: 12,\n};\nvar BORDER_WIDTH = {\n xsmall: 2,\n small: 2,\n medium: 2,\n large: 2,\n xlarge: 2,\n xxlarge: 2,\n};\nvar ICON_SIZES = {\n xsmall: 0,\n small: 12,\n medium: 14,\n large: 15,\n xlarge: 18,\n xxlarge: 0,\n};\nvar ICON_OFFSET = {\n xsmall: 0,\n small: 0,\n medium: 0,\n large: 1,\n xlarge: 7,\n xxlarge: 0,\n};\nvar SQUARE_ICON_OFFSET = {\n xsmall: 0,\n small: 0,\n medium: 0,\n large: 0,\n xlarge: 1,\n xxlarge: 0,\n};\nfunction getBackgroundColor(props) {\n var backgroundColors = {\n light: _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_1__[\"N40\"],\n dark: _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_1__[\"DN50\"],\n };\n return props.mode && props.isLoading\n ? backgroundColors[props.mode]\n : 'transparent';\n}\nfunction getBorderRadius(props) {\n var borderWidth = props.includeBorderWidth ? BORDER_WIDTH[props.size] : 0;\n var borderRadius = props.appearance === 'circle'\n ? '50%'\n : AVATAR_RADIUS[props.size] + borderWidth + \"px\";\n return borderRadius;\n}\nfunction getDimensions(props) {\n var borderWidth = props.includeBorderWidth\n ? BORDER_WIDTH[props.size] * 2\n : 0;\n var size = AVATAR_SIZES[props.size] + borderWidth;\n var width = size + \"px\";\n var height = width;\n return { height: height, width: width };\n}\nvar getPresenceLayout = function (props) {\n var presencePosition = props.appearance === 'square'\n ? -(BORDER_WIDTH[props.size] * 2)\n : ICON_OFFSET[props.size];\n var presenceSize = ICON_SIZES[props.size];\n return {\n bottom: presencePosition + \"px\",\n height: presenceSize + \"px\",\n right: presencePosition + \"px\",\n width: presenceSize + \"px\",\n };\n};\nvar getStatusLayout = function (props) {\n var statusPosition = props.appearance === 'square'\n ? SQUARE_ICON_OFFSET[props.size]\n : ICON_OFFSET[props.size];\n var statusSize = ICON_SIZES[props.size];\n return {\n height: statusSize + \"px\",\n right: statusPosition + \"px\",\n top: statusPosition + \"px\",\n width: statusSize + \"px\",\n };\n};\nvar propsDefaults = {\n appearance: 'circle',\n includeBorderWidth: false,\n isLoading: false,\n mode: 'light',\n presence: 'offline',\n size: 'xsmall',\n};\nvar Theme = Object(_atlaskit_theme_components__WEBPACK_IMPORTED_MODULE_2__[\"createTheme\"])(function (props) {\n var propsWithDefaults = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, propsDefaults), props);\n return {\n backgroundColor: getBackgroundColor(propsWithDefaults),\n borderRadius: getBorderRadius(propsWithDefaults),\n dimensions: getDimensions(propsWithDefaults),\n presence: getPresenceLayout(propsWithDefaults),\n status: getStatusLayout(propsWithDefaults),\n };\n});\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L2F2YXRhci9kaXN0L2VzbS90aGVtZS9pbmRleC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AYXRsYXNraXQvYXZhdGFyL2Rpc3QvZXNtL3RoZW1lL2luZGV4LmpzPzBmNjUiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgX19hc3NpZ24gfSBmcm9tIFwidHNsaWJcIjtcbmltcG9ydCB7IERONTAsIE40MCB9IGZyb20gJ0BhdGxhc2tpdC90aGVtZS9jb2xvcnMnO1xuaW1wb3J0IHsgY3JlYXRlVGhlbWUgfSBmcm9tICdAYXRsYXNraXQvdGhlbWUvY29tcG9uZW50cyc7XG5pbXBvcnQgeyBncmlkU2l6ZSB9IGZyb20gJ0BhdGxhc2tpdC90aGVtZS9jb25zdGFudHMnO1xudmFyIGdyaWRTaXplVmFsdWUgPSBncmlkU2l6ZSgpO1xudmFyIEFWQVRBUl9TSVpFUyA9IHtcbiAgICB4c21hbGw6IGdyaWRTaXplVmFsdWUgKiAyLFxuICAgIHNtYWxsOiBncmlkU2l6ZVZhbHVlICogMyxcbiAgICBtZWRpdW06IGdyaWRTaXplVmFsdWUgKiA0LFxuICAgIGxhcmdlOiBncmlkU2l6ZVZhbHVlICogNSxcbiAgICB4bGFyZ2U6IGdyaWRTaXplVmFsdWUgKiAxMixcbiAgICB4eGxhcmdlOiBncmlkU2l6ZVZhbHVlICogMTYsXG59O1xuLy8gYm9yZGVyIHJhZGl1cyBvbmx5IGFwcGxpZXMgdG8gXCJzcXVhcmVcIiBhdmF0YXJzXG52YXIgQVZBVEFSX1JBRElVUyA9IHtcbiAgICB4c21hbGw6IDIsXG4gICAgc21hbGw6IDIsXG4gICAgbWVkaXVtOiAzLFxuICAgIGxhcmdlOiAzLFxuICAgIHhsYXJnZTogNixcbiAgICB4eGxhcmdlOiAxMixcbn07XG52YXIgQk9SREVSX1dJRFRIID0ge1xuICAgIHhzbWFsbDogMixcbiAgICBzbWFsbDogMixcbiAgICBtZWRpdW06IDIsXG4gICAgbGFyZ2U6IDIsXG4gICAgeGxhcmdlOiAyLFxuICAgIHh4bGFyZ2U6IDIsXG59O1xudmFyIElDT05fU0laRVMgPSB7XG4gICAgeHNtYWxsOiAwLFxuICAgIHNtYWxsOiAxMixcbiAgICBtZWRpdW06IDE0LFxuICAgIGxhcmdlOiAxNSxcbiAgICB4bGFyZ2U6IDE4LFxuICAgIHh4bGFyZ2U6IDAsXG59O1xudmFyIElDT05fT0ZGU0VUID0ge1xuICAgIHhzbWFsbDogMCxcbiAgICBzbWFsbDogMCxcbiAgICBtZWRpdW06IDAsXG4gICAgbGFyZ2U6IDEsXG4gICAgeGxhcmdlOiA3LFxuICAgIHh4bGFyZ2U6IDAsXG59O1xudmFyIFNRVUFSRV9JQ09OX09GRlNFVCA9IHtcbiAgICB4c21hbGw6IDAsXG4gICAgc21hbGw6IDAsXG4gICAgbWVkaXVtOiAwLFxuICAgIGxhcmdlOiAwLFxuICAgIHhsYXJnZTogMSxcbiAgICB4eGxhcmdlOiAwLFxufTtcbmZ1bmN0aW9uIGdldEJhY2tncm91bmRDb2xvcihwcm9wcykge1xuICAgIHZhciBiYWNrZ3JvdW5kQ29sb3JzID0ge1xuICAgICAgICBsaWdodDogTjQwLFxuICAgICAgICBkYXJrOiBETjUwLFxuICAgIH07XG4gICAgcmV0dXJuIHByb3BzLm1vZGUgJiYgcHJvcHMuaXNMb2FkaW5nXG4gICAgICAgID8gYmFja2dyb3VuZENvbG9yc1twcm9wcy5tb2RlXVxuICAgICAgICA6ICd0cmFuc3BhcmVudCc7XG59XG5mdW5jdGlvbiBnZXRCb3JkZXJSYWRpdXMocHJvcHMpIHtcbiAgICB2YXIgYm9yZGVyV2lkdGggPSBwcm9wcy5pbmNsdWRlQm9yZGVyV2lkdGggPyBCT1JERVJfV0lEVEhbcHJvcHMuc2l6ZV0gOiAwO1xuICAgIHZhciBib3JkZXJSYWRpdXMgPSBwcm9wcy5hcHBlYXJhbmNlID09PSAnY2lyY2xlJ1xuICAgICAgICA/ICc1MCUnXG4gICAgICAgIDogQVZBVEFSX1JBRElVU1twcm9wcy5zaXplXSArIGJvcmRlcldpZHRoICsgXCJweFwiO1xuICAgIHJldHVybiBib3JkZXJSYWRpdXM7XG59XG5mdW5jdGlvbiBnZXREaW1lbnNpb25zKHByb3BzKSB7XG4gICAgdmFyIGJvcmRlcldpZHRoID0gcHJvcHMuaW5jbHVkZUJvcmRlcldpZHRoXG4gICAgICAgID8gQk9SREVSX1dJRFRIW3Byb3BzLnNpemVdICogMlxuICAgICAgICA6IDA7XG4gICAgdmFyIHNpemUgPSBBVkFUQVJfU0laRVNbcHJvcHMuc2l6ZV0gKyBib3JkZXJXaWR0aDtcbiAgICB2YXIgd2lkdGggPSBzaXplICsgXCJweFwiO1xuICAgIHZhciBoZWlnaHQgPSB3aWR0aDtcbiAgICByZXR1cm4geyBoZWlnaHQ6IGhlaWdodCwgd2lkdGg6IHdpZHRoIH07XG59XG52YXIgZ2V0UHJlc2VuY2VMYXlvdXQgPSBmdW5jdGlvbiAocHJvcHMpIHtcbiAgICB2YXIgcHJlc2VuY2VQb3NpdGlvbiA9IHByb3BzLmFwcGVhcmFuY2UgPT09ICdzcXVhcmUnXG4gICAgICAgID8gLShCT1JERVJfV0lEVEhbcHJvcHMuc2l6ZV0gKiAyKVxuICAgICAgICA6IElDT05fT0ZGU0VUW3Byb3BzLnNpemVdO1xuICAgIHZhciBwcmVzZW5jZVNpemUgPSBJQ09OX1NJWkVTW3Byb3BzLnNpemVdO1xuICAgIHJldHVybiB7XG4gICAgICAgIGJvdHRvbTogcHJlc2VuY2VQb3NpdGlvbiArIFwicHhcIixcbiAgICAgICAgaGVpZ2h0OiBwcmVzZW5jZVNpemUgKyBcInB4XCIsXG4gICAgICAgIHJpZ2h0OiBwcmVzZW5jZVBvc2l0aW9uICsgXCJweFwiLFxuICAgICAgICB3aWR0aDogcHJlc2VuY2VTaXplICsgXCJweFwiLFxuICAgIH07XG59O1xudmFyIGdldFN0YXR1c0xheW91dCA9IGZ1bmN0aW9uIChwcm9wcykge1xuICAgIHZhciBzdGF0dXNQb3NpdGlvbiA9IHByb3BzLmFwcGVhcmFuY2UgPT09ICdzcXVhcmUnXG4gICAgICAgID8gU1FVQVJFX0lDT05fT0ZGU0VUW3Byb3BzLnNpemVdXG4gICAgICAgIDogSUNPTl9PRkZTRVRbcHJvcHMuc2l6ZV07XG4gICAgdmFyIHN0YXR1c1NpemUgPSBJQ09OX1NJWkVTW3Byb3BzLnNpemVdO1xuICAgIHJldHVybiB7XG4gICAgICAgIGhlaWdodDogc3RhdHVzU2l6ZSArIFwicHhcIixcbiAgICAgICAgcmlnaHQ6IHN0YXR1c1Bvc2l0aW9uICsgXCJweFwiLFxuICAgICAgICB0b3A6IHN0YXR1c1Bvc2l0aW9uICsgXCJweFwiLFxuICAgICAgICB3aWR0aDogc3RhdHVzU2l6ZSArIFwicHhcIixcbiAgICB9O1xufTtcbnZhciBwcm9wc0RlZmF1bHRzID0ge1xuICAgIGFwcGVhcmFuY2U6ICdjaXJjbGUnLFxuICAgIGluY2x1ZGVCb3JkZXJXaWR0aDogZmFsc2UsXG4gICAgaXNMb2FkaW5nOiBmYWxzZSxcbiAgICBtb2RlOiAnbGlnaHQnLFxuICAgIHByZXNlbmNlOiAnb2ZmbGluZScsXG4gICAgc2l6ZTogJ3hzbWFsbCcsXG59O1xuZXhwb3J0IHZhciBUaGVtZSA9IGNyZWF0ZVRoZW1lKGZ1bmN0aW9uIChwcm9wcykge1xuICAgIHZhciBwcm9wc1dpdGhEZWZhdWx0cyA9IF9fYXNzaWduKF9fYXNzaWduKHt9LCBwcm9wc0RlZmF1bHRzKSwgcHJvcHMpO1xuICAgIHJldHVybiB7XG4gICAgICAgIGJhY2tncm91bmRDb2xvcjogZ2V0QmFja2dyb3VuZENvbG9yKHByb3BzV2l0aERlZmF1bHRzKSxcbiAgICAgICAgYm9yZGVyUmFkaXVzOiBnZXRCb3JkZXJSYWRpdXMocHJvcHNXaXRoRGVmYXVsdHMpLFxuICAgICAgICBkaW1lbnNpb25zOiBnZXREaW1lbnNpb25zKHByb3BzV2l0aERlZmF1bHRzKSxcbiAgICAgICAgcHJlc2VuY2U6IGdldFByZXNlbmNlTGF5b3V0KHByb3BzV2l0aERlZmF1bHRzKSxcbiAgICAgICAgc3RhdHVzOiBnZXRTdGF0dXNMYXlvdXQocHJvcHNXaXRoRGVmYXVsdHMpLFxuICAgIH07XG59KTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmpzLm1hcCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/avatar/dist/esm/theme/index.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/avatar/dist/esm/theme/item.js": /*!**************************************************************!*\ !*** ./node_modules/@atlaskit/avatar/dist/esm/theme/item.js ***! \**************************************************************/ /*! exports provided: ThemeItem */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ThemeItem\", function() { return ThemeItem; });\n/* harmony import */ var _atlaskit_theme_components__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @atlaskit/theme/components */ \"./node_modules/@atlaskit/theme/dist/esm/components.js\");\n\nvar ThemeItem = Object(_atlaskit_theme_components__WEBPACK_IMPORTED_MODULE_0__[\"createTheme\"])(function () {\n return {\n backgroundColor: '',\n };\n});\n//# sourceMappingURL=item.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L2F2YXRhci9kaXN0L2VzbS90aGVtZS9pdGVtLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BhdGxhc2tpdC9hdmF0YXIvZGlzdC9lc20vdGhlbWUvaXRlbS5qcz83MDQ5Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZVRoZW1lIH0gZnJvbSAnQGF0bGFza2l0L3RoZW1lL2NvbXBvbmVudHMnO1xuZXhwb3J0IHZhciBUaGVtZUl0ZW0gPSBjcmVhdGVUaGVtZShmdW5jdGlvbiAoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgYmFja2dyb3VuZENvbG9yOiAnJyxcbiAgICB9O1xufSk7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pdGVtLmpzLm1hcCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/avatar/dist/esm/theme/item.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/avatar/dist/esm/utils.js": /*!*********************************************************!*\ !*** ./node_modules/@atlaskit/avatar/dist/esm/utils.js ***! \*********************************************************/ /*! exports provided: omit, getDisplayName */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"omit\", function() { return omit; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getDisplayName\", function() { return getDisplayName; });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/@atlaskit/avatar/node_modules/tslib/tslib.es6.js\");\n\nfunction omit(obj) {\n var e_1, _a;\n var keysToOmit = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n keysToOmit[_i - 1] = arguments[_i];\n }\n var newObj = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, obj);\n try {\n for (var keysToOmit_1 = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__values\"])(keysToOmit), keysToOmit_1_1 = keysToOmit_1.next(); !keysToOmit_1_1.done; keysToOmit_1_1 = keysToOmit_1.next()) {\n var key = keysToOmit_1_1.value;\n delete newObj[key];\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (keysToOmit_1_1 && !keysToOmit_1_1.done && (_a = keysToOmit_1.return)) _a.call(keysToOmit_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return newObj;\n}\nfunction getDisplayName(prefix, Component) {\n var componentName = Component.displayName || Component.name;\n return componentName ? prefix + \"(\" + componentName + \")\" : prefix;\n}\n//# sourceMappingURL=utils.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L2F2YXRhci9kaXN0L2VzbS91dGlscy5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AYXRsYXNraXQvYXZhdGFyL2Rpc3QvZXNtL3V0aWxzLmpzPzQyNDgiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgX19hc3NpZ24sIF9fdmFsdWVzIH0gZnJvbSBcInRzbGliXCI7XG5leHBvcnQgZnVuY3Rpb24gb21pdChvYmopIHtcbiAgICB2YXIgZV8xLCBfYTtcbiAgICB2YXIga2V5c1RvT21pdCA9IFtdO1xuICAgIGZvciAodmFyIF9pID0gMTsgX2kgPCBhcmd1bWVudHMubGVuZ3RoOyBfaSsrKSB7XG4gICAgICAgIGtleXNUb09taXRbX2kgLSAxXSA9IGFyZ3VtZW50c1tfaV07XG4gICAgfVxuICAgIHZhciBuZXdPYmogPSBfX2Fzc2lnbih7fSwgb2JqKTtcbiAgICB0cnkge1xuICAgICAgICBmb3IgKHZhciBrZXlzVG9PbWl0XzEgPSBfX3ZhbHVlcyhrZXlzVG9PbWl0KSwga2V5c1RvT21pdF8xXzEgPSBrZXlzVG9PbWl0XzEubmV4dCgpOyAha2V5c1RvT21pdF8xXzEuZG9uZTsga2V5c1RvT21pdF8xXzEgPSBrZXlzVG9PbWl0XzEubmV4dCgpKSB7XG4gICAgICAgICAgICB2YXIga2V5ID0ga2V5c1RvT21pdF8xXzEudmFsdWU7XG4gICAgICAgICAgICBkZWxldGUgbmV3T2JqW2tleV07XG4gICAgICAgIH1cbiAgICB9XG4gICAgY2F0Y2ggKGVfMV8xKSB7IGVfMSA9IHsgZXJyb3I6IGVfMV8xIH07IH1cbiAgICBmaW5hbGx5IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGlmIChrZXlzVG9PbWl0XzFfMSAmJiAha2V5c1RvT21pdF8xXzEuZG9uZSAmJiAoX2EgPSBrZXlzVG9PbWl0XzEucmV0dXJuKSkgX2EuY2FsbChrZXlzVG9PbWl0XzEpO1xuICAgICAgICB9XG4gICAgICAgIGZpbmFsbHkgeyBpZiAoZV8xKSB0aHJvdyBlXzEuZXJyb3I7IH1cbiAgICB9XG4gICAgcmV0dXJuIG5ld09iajtcbn1cbmV4cG9ydCBmdW5jdGlvbiBnZXREaXNwbGF5TmFtZShwcmVmaXgsIENvbXBvbmVudCkge1xuICAgIHZhciBjb21wb25lbnROYW1lID0gQ29tcG9uZW50LmRpc3BsYXlOYW1lIHx8IENvbXBvbmVudC5uYW1lO1xuICAgIHJldHVybiBjb21wb25lbnROYW1lID8gcHJlZml4ICsgXCIoXCIgKyBjb21wb25lbnROYW1lICsgXCIpXCIgOiBwcmVmaXg7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD11dGlscy5qcy5tYXAiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/avatar/dist/esm/utils.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/avatar/dist/esm/version.json": /*!*************************************************************!*\ !*** ./node_modules/@atlaskit/avatar/dist/esm/version.json ***! \*************************************************************/ /*! exports provided: name, version, sideEffects, default */ /***/ (function(module) { eval("module.exports = JSON.parse(\"{\\\"name\\\":\\\"@atlaskit/avatar\\\",\\\"version\\\":\\\"17.1.11\\\",\\\"sideEffects\\\":false}\");//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L2F2YXRhci9kaXN0L2VzbS92ZXJzaW9uLmpzb24uanMiLCJzb3VyY2VzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/avatar/dist/esm/version.json\n"); /***/ }), /***/ "./node_modules/@atlaskit/avatar/node_modules/tslib/tslib.es6.js": /*!***********************************************************************!*\ !*** ./node_modules/@atlaskit/avatar/node_modules/tslib/tslib.es6.js ***! \***********************************************************************/ /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault, __classPrivateFieldGet, __classPrivateFieldSet */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__extends\", function() { return __extends; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__assign\", function() { return __assign; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__rest\", function() { return __rest; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__decorate\", function() { return __decorate; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__param\", function() { return __param; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__metadata\", function() { return __metadata; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__awaiter\", function() { return __awaiter; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__generator\", function() { return __generator; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__exportStar\", function() { return __exportStar; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__values\", function() { return __values; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__read\", function() { return __read; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__spread\", function() { return __spread; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__spreadArrays\", function() { return __spreadArrays; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__await\", function() { return __await; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__asyncGenerator\", function() { return __asyncGenerator; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__asyncDelegator\", function() { return __asyncDelegator; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__asyncValues\", function() { return __asyncValues; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__makeTemplateObject\", function() { return __makeTemplateObject; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__importStar\", function() { return __importStar; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__importDefault\", function() { return __importDefault; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__classPrivateFieldGet\", function() { return __classPrivateFieldGet; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__classPrivateFieldSet\", function() { return __classPrivateFieldSet; });\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nfunction __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nvar __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nfunction __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nfunction __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nfunction __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nfunction __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nfunction __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nfunction __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nfunction __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nfunction __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nfunction __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nfunction __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nfunction __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nfunction __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nfunction __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nfunction __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nfunction __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nfunction __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nfunction __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nfunction __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nfunction __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nfunction __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L2F2YXRhci9ub2RlX21vZHVsZXMvdHNsaWIvdHNsaWIuZXM2LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BhdGxhc2tpdC9hdmF0YXIvbm9kZV9tb2R1bGVzL3RzbGliL3RzbGliLmVzNi5qcz9iYWYwIl0sInNvdXJjZXNDb250ZW50IjpbIi8qISAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5Db3B5cmlnaHQgKGMpIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTsgeW91IG1heSBub3QgdXNlXHJcbnRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlXHJcbkxpY2Vuc2UgYXQgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXHJcblxyXG5USElTIENPREUgSVMgUFJPVklERUQgT04gQU4gKkFTIElTKiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZXHJcbktJTkQsIEVJVEhFUiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBXSVRIT1VUIExJTUlUQVRJT04gQU5ZIElNUExJRURcclxuV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIFRJVExFLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSxcclxuTUVSQ0hBTlRBQkxJVFkgT1IgTk9OLUlORlJJTkdFTUVOVC5cclxuXHJcblNlZSB0aGUgQXBhY2hlIFZlcnNpb24gMi4wIExpY2Vuc2UgZm9yIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9uc1xyXG5hbmQgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXHJcbi8qIGdsb2JhbCBSZWZsZWN0LCBQcm9taXNlICovXHJcblxyXG52YXIgZXh0ZW5kU3RhdGljcyA9IGZ1bmN0aW9uKGQsIGIpIHtcclxuICAgIGV4dGVuZFN0YXRpY3MgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgfHxcclxuICAgICAgICAoeyBfX3Byb3RvX186IFtdIH0gaW5zdGFuY2VvZiBBcnJheSAmJiBmdW5jdGlvbiAoZCwgYikgeyBkLl9fcHJvdG9fXyA9IGI7IH0pIHx8XHJcbiAgICAgICAgZnVuY3Rpb24gKGQsIGIpIHsgZm9yICh2YXIgcCBpbiBiKSBpZiAoYi5oYXNPd25Qcm9wZXJ0eShwKSkgZFtwXSA9IGJbcF07IH07XHJcbiAgICByZXR1cm4gZXh0ZW5kU3RhdGljcyhkLCBiKTtcclxufTtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2V4dGVuZHMoZCwgYikge1xyXG4gICAgZXh0ZW5kU3RhdGljcyhkLCBiKTtcclxuICAgIGZ1bmN0aW9uIF9fKCkgeyB0aGlzLmNvbnN0cnVjdG9yID0gZDsgfVxyXG4gICAgZC5wcm90b3R5cGUgPSBiID09PSBudWxsID8gT2JqZWN0LmNyZWF0ZShiKSA6IChfXy5wcm90b3R5cGUgPSBiLnByb3RvdHlwZSwgbmV3IF9fKCkpO1xyXG59XHJcblxyXG5leHBvcnQgdmFyIF9fYXNzaWduID0gZnVuY3Rpb24oKSB7XHJcbiAgICBfX2Fzc2lnbiA9IE9iamVjdC5hc3NpZ24gfHwgZnVuY3Rpb24gX19hc3NpZ24odCkge1xyXG4gICAgICAgIGZvciAodmFyIHMsIGkgPSAxLCBuID0gYXJndW1lbnRzLmxlbmd0aDsgaSA8IG47IGkrKykge1xyXG4gICAgICAgICAgICBzID0gYXJndW1lbnRzW2ldO1xyXG4gICAgICAgICAgICBmb3IgKHZhciBwIGluIHMpIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocywgcCkpIHRbcF0gPSBzW3BdO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdDtcclxuICAgIH1cclxuICAgIHJldHVybiBfX2Fzc2lnbi5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19yZXN0KHMsIGUpIHtcclxuICAgIHZhciB0ID0ge307XHJcbiAgICBmb3IgKHZhciBwIGluIHMpIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocywgcCkgJiYgZS5pbmRleE9mKHApIDwgMClcclxuICAgICAgICB0W3BdID0gc1twXTtcclxuICAgIGlmIChzICE9IG51bGwgJiYgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMgPT09IFwiZnVuY3Rpb25cIilcclxuICAgICAgICBmb3IgKHZhciBpID0gMCwgcCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMocyk7IGkgPCBwLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGlmIChlLmluZGV4T2YocFtpXSkgPCAwICYmIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChzLCBwW2ldKSlcclxuICAgICAgICAgICAgICAgIHRbcFtpXV0gPSBzW3BbaV1dO1xyXG4gICAgICAgIH1cclxuICAgIHJldHVybiB0O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19kZWNvcmF0ZShkZWNvcmF0b3JzLCB0YXJnZXQsIGtleSwgZGVzYykge1xyXG4gICAgdmFyIGMgPSBhcmd1bWVudHMubGVuZ3RoLCByID0gYyA8IDMgPyB0YXJnZXQgOiBkZXNjID09PSBudWxsID8gZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodGFyZ2V0LCBrZXkpIDogZGVzYywgZDtcclxuICAgIGlmICh0eXBlb2YgUmVmbGVjdCA9PT0gXCJvYmplY3RcIiAmJiB0eXBlb2YgUmVmbGVjdC5kZWNvcmF0ZSA9PT0gXCJmdW5jdGlvblwiKSByID0gUmVmbGVjdC5kZWNvcmF0ZShkZWNvcmF0b3JzLCB0YXJnZXQsIGtleSwgZGVzYyk7XHJcbiAgICBlbHNlIGZvciAodmFyIGkgPSBkZWNvcmF0b3JzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSBpZiAoZCA9IGRlY29yYXRvcnNbaV0pIHIgPSAoYyA8IDMgPyBkKHIpIDogYyA+IDMgPyBkKHRhcmdldCwga2V5LCByKSA6IGQodGFyZ2V0LCBrZXkpKSB8fCByO1xyXG4gICAgcmV0dXJuIGMgPiAzICYmIHIgJiYgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCByKSwgcjtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fcGFyYW0ocGFyYW1JbmRleCwgZGVjb3JhdG9yKSB7XHJcbiAgICByZXR1cm4gZnVuY3Rpb24gKHRhcmdldCwga2V5KSB7IGRlY29yYXRvcih0YXJnZXQsIGtleSwgcGFyYW1JbmRleCk7IH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fbWV0YWRhdGEobWV0YWRhdGFLZXksIG1ldGFkYXRhVmFsdWUpIHtcclxuICAgIGlmICh0eXBlb2YgUmVmbGVjdCA9PT0gXCJvYmplY3RcIiAmJiB0eXBlb2YgUmVmbGVjdC5tZXRhZGF0YSA9PT0gXCJmdW5jdGlvblwiKSByZXR1cm4gUmVmbGVjdC5tZXRhZGF0YShtZXRhZGF0YUtleSwgbWV0YWRhdGFWYWx1ZSk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2F3YWl0ZXIodGhpc0FyZywgX2FyZ3VtZW50cywgUCwgZ2VuZXJhdG9yKSB7XHJcbiAgICBmdW5jdGlvbiBhZG9wdCh2YWx1ZSkgeyByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBQID8gdmFsdWUgOiBuZXcgUChmdW5jdGlvbiAocmVzb2x2ZSkgeyByZXNvbHZlKHZhbHVlKTsgfSk7IH1cclxuICAgIHJldHVybiBuZXcgKFAgfHwgKFAgPSBQcm9taXNlKSkoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xyXG4gICAgICAgIGZ1bmN0aW9uIGZ1bGZpbGxlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvci5uZXh0KHZhbHVlKSk7IH0gY2F0Y2ggKGUpIHsgcmVqZWN0KGUpOyB9IH1cclxuICAgICAgICBmdW5jdGlvbiByZWplY3RlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvcltcInRocm93XCJdKHZhbHVlKSk7IH0gY2F0Y2ggKGUpIHsgcmVqZWN0KGUpOyB9IH1cclxuICAgICAgICBmdW5jdGlvbiBzdGVwKHJlc3VsdCkgeyByZXN1bHQuZG9uZSA/IHJlc29sdmUocmVzdWx0LnZhbHVlKSA6IGFkb3B0KHJlc3VsdC52YWx1ZSkudGhlbihmdWxmaWxsZWQsIHJlamVjdGVkKTsgfVxyXG4gICAgICAgIHN0ZXAoKGdlbmVyYXRvciA9IGdlbmVyYXRvci5hcHBseSh0aGlzQXJnLCBfYXJndW1lbnRzIHx8IFtdKSkubmV4dCgpKTtcclxuICAgIH0pO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19nZW5lcmF0b3IodGhpc0FyZywgYm9keSkge1xyXG4gICAgdmFyIF8gPSB7IGxhYmVsOiAwLCBzZW50OiBmdW5jdGlvbigpIHsgaWYgKHRbMF0gJiAxKSB0aHJvdyB0WzFdOyByZXR1cm4gdFsxXTsgfSwgdHJ5czogW10sIG9wczogW10gfSwgZiwgeSwgdCwgZztcclxuICAgIHJldHVybiBnID0geyBuZXh0OiB2ZXJiKDApLCBcInRocm93XCI6IHZlcmIoMSksIFwicmV0dXJuXCI6IHZlcmIoMikgfSwgdHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIChnW1N5bWJvbC5pdGVyYXRvcl0gPSBmdW5jdGlvbigpIHsgcmV0dXJuIHRoaXM7IH0pLCBnO1xyXG4gICAgZnVuY3Rpb24gdmVyYihuKSB7IHJldHVybiBmdW5jdGlvbiAodikgeyByZXR1cm4gc3RlcChbbiwgdl0pOyB9OyB9XHJcbiAgICBmdW5jdGlvbiBzdGVwKG9wKSB7XHJcbiAgICAgICAgaWYgKGYpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJHZW5lcmF0b3IgaXMgYWxyZWFkeSBleGVjdXRpbmcuXCIpO1xyXG4gICAgICAgIHdoaWxlIChfKSB0cnkge1xyXG4gICAgICAgICAgICBpZiAoZiA9IDEsIHkgJiYgKHQgPSBvcFswXSAmIDIgPyB5W1wicmV0dXJuXCJdIDogb3BbMF0gPyB5W1widGhyb3dcIl0gfHwgKCh0ID0geVtcInJldHVyblwiXSkgJiYgdC5jYWxsKHkpLCAwKSA6IHkubmV4dCkgJiYgISh0ID0gdC5jYWxsKHksIG9wWzFdKSkuZG9uZSkgcmV0dXJuIHQ7XHJcbiAgICAgICAgICAgIGlmICh5ID0gMCwgdCkgb3AgPSBbb3BbMF0gJiAyLCB0LnZhbHVlXTtcclxuICAgICAgICAgICAgc3dpdGNoIChvcFswXSkge1xyXG4gICAgICAgICAgICAgICAgY2FzZSAwOiBjYXNlIDE6IHQgPSBvcDsgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICBjYXNlIDQ6IF8ubGFiZWwrKzsgcmV0dXJuIHsgdmFsdWU6IG9wWzFdLCBkb25lOiBmYWxzZSB9O1xyXG4gICAgICAgICAgICAgICAgY2FzZSA1OiBfLmxhYmVsKys7IHkgPSBvcFsxXTsgb3AgPSBbMF07IGNvbnRpbnVlO1xyXG4gICAgICAgICAgICAgICAgY2FzZSA3OiBvcCA9IF8ub3BzLnBvcCgpOyBfLnRyeXMucG9wKCk7IGNvbnRpbnVlO1xyXG4gICAgICAgICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgICAgICAgICBpZiAoISh0ID0gXy50cnlzLCB0ID0gdC5sZW5ndGggPiAwICYmIHRbdC5sZW5ndGggLSAxXSkgJiYgKG9wWzBdID09PSA2IHx8IG9wWzBdID09PSAyKSkgeyBfID0gMDsgY29udGludWU7IH1cclxuICAgICAgICAgICAgICAgICAgICBpZiAob3BbMF0gPT09IDMgJiYgKCF0IHx8IChvcFsxXSA+IHRbMF0gJiYgb3BbMV0gPCB0WzNdKSkpIHsgXy5sYWJlbCA9IG9wWzFdOyBicmVhazsgfVxyXG4gICAgICAgICAgICAgICAgICAgIGlmIChvcFswXSA9PT0gNiAmJiBfLmxhYmVsIDwgdFsxXSkgeyBfLmxhYmVsID0gdFsxXTsgdCA9IG9wOyBicmVhazsgfVxyXG4gICAgICAgICAgICAgICAgICAgIGlmICh0ICYmIF8ubGFiZWwgPCB0WzJdKSB7IF8ubGFiZWwgPSB0WzJdOyBfLm9wcy5wdXNoKG9wKTsgYnJlYWs7IH1cclxuICAgICAgICAgICAgICAgICAgICBpZiAodFsyXSkgXy5vcHMucG9wKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgXy50cnlzLnBvcCgpOyBjb250aW51ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBvcCA9IGJvZHkuY2FsbCh0aGlzQXJnLCBfKTtcclxuICAgICAgICB9IGNhdGNoIChlKSB7IG9wID0gWzYsIGVdOyB5ID0gMDsgfSBmaW5hbGx5IHsgZiA9IHQgPSAwOyB9XHJcbiAgICAgICAgaWYgKG9wWzBdICYgNSkgdGhyb3cgb3BbMV07IHJldHVybiB7IHZhbHVlOiBvcFswXSA/IG9wWzFdIDogdm9pZCAwLCBkb25lOiB0cnVlIH07XHJcbiAgICB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2V4cG9ydFN0YXIobSwgZXhwb3J0cykge1xyXG4gICAgZm9yICh2YXIgcCBpbiBtKSBpZiAoIWV4cG9ydHMuaGFzT3duUHJvcGVydHkocCkpIGV4cG9ydHNbcF0gPSBtW3BdO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX192YWx1ZXMobykge1xyXG4gICAgdmFyIHMgPSB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgU3ltYm9sLml0ZXJhdG9yLCBtID0gcyAmJiBvW3NdLCBpID0gMDtcclxuICAgIGlmIChtKSByZXR1cm4gbS5jYWxsKG8pO1xyXG4gICAgaWYgKG8gJiYgdHlwZW9mIG8ubGVuZ3RoID09PSBcIm51bWJlclwiKSByZXR1cm4ge1xyXG4gICAgICAgIG5leHQ6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgaWYgKG8gJiYgaSA+PSBvLmxlbmd0aCkgbyA9IHZvaWQgMDtcclxuICAgICAgICAgICAgcmV0dXJuIHsgdmFsdWU6IG8gJiYgb1tpKytdLCBkb25lOiAhbyB9O1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKHMgPyBcIk9iamVjdCBpcyBub3QgaXRlcmFibGUuXCIgOiBcIlN5bWJvbC5pdGVyYXRvciBpcyBub3QgZGVmaW5lZC5cIik7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3JlYWQobywgbikge1xyXG4gICAgdmFyIG0gPSB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgb1tTeW1ib2wuaXRlcmF0b3JdO1xyXG4gICAgaWYgKCFtKSByZXR1cm4gbztcclxuICAgIHZhciBpID0gbS5jYWxsKG8pLCByLCBhciA9IFtdLCBlO1xyXG4gICAgdHJ5IHtcclxuICAgICAgICB3aGlsZSAoKG4gPT09IHZvaWQgMCB8fCBuLS0gPiAwKSAmJiAhKHIgPSBpLm5leHQoKSkuZG9uZSkgYXIucHVzaChyLnZhbHVlKTtcclxuICAgIH1cclxuICAgIGNhdGNoIChlcnJvcikgeyBlID0geyBlcnJvcjogZXJyb3IgfTsgfVxyXG4gICAgZmluYWxseSB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgaWYgKHIgJiYgIXIuZG9uZSAmJiAobSA9IGlbXCJyZXR1cm5cIl0pKSBtLmNhbGwoaSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZpbmFsbHkgeyBpZiAoZSkgdGhyb3cgZS5lcnJvcjsgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGFyO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19zcHJlYWQoKSB7XHJcbiAgICBmb3IgKHZhciBhciA9IFtdLCBpID0gMDsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKylcclxuICAgICAgICBhciA9IGFyLmNvbmNhdChfX3JlYWQoYXJndW1lbnRzW2ldKSk7XHJcbiAgICByZXR1cm4gYXI7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3NwcmVhZEFycmF5cygpIHtcclxuICAgIGZvciAodmFyIHMgPSAwLCBpID0gMCwgaWwgPSBhcmd1bWVudHMubGVuZ3RoOyBpIDwgaWw7IGkrKykgcyArPSBhcmd1bWVudHNbaV0ubGVuZ3RoO1xyXG4gICAgZm9yICh2YXIgciA9IEFycmF5KHMpLCBrID0gMCwgaSA9IDA7IGkgPCBpbDsgaSsrKVxyXG4gICAgICAgIGZvciAodmFyIGEgPSBhcmd1bWVudHNbaV0sIGogPSAwLCBqbCA9IGEubGVuZ3RoOyBqIDwgamw7IGorKywgaysrKVxyXG4gICAgICAgICAgICByW2tdID0gYVtqXTtcclxuICAgIHJldHVybiByO1xyXG59O1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fYXdhaXQodikge1xyXG4gICAgcmV0dXJuIHRoaXMgaW5zdGFuY2VvZiBfX2F3YWl0ID8gKHRoaXMudiA9IHYsIHRoaXMpIDogbmV3IF9fYXdhaXQodik7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2FzeW5jR2VuZXJhdG9yKHRoaXNBcmcsIF9hcmd1bWVudHMsIGdlbmVyYXRvcikge1xyXG4gICAgaWYgKCFTeW1ib2wuYXN5bmNJdGVyYXRvcikgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlN5bWJvbC5hc3luY0l0ZXJhdG9yIGlzIG5vdCBkZWZpbmVkLlwiKTtcclxuICAgIHZhciBnID0gZ2VuZXJhdG9yLmFwcGx5KHRoaXNBcmcsIF9hcmd1bWVudHMgfHwgW10pLCBpLCBxID0gW107XHJcbiAgICByZXR1cm4gaSA9IHt9LCB2ZXJiKFwibmV4dFwiKSwgdmVyYihcInRocm93XCIpLCB2ZXJiKFwicmV0dXJuXCIpLCBpW1N5bWJvbC5hc3luY0l0ZXJhdG9yXSA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRoaXM7IH0sIGk7XHJcbiAgICBmdW5jdGlvbiB2ZXJiKG4pIHsgaWYgKGdbbl0pIGlbbl0gPSBmdW5jdGlvbiAodikgeyByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24gKGEsIGIpIHsgcS5wdXNoKFtuLCB2LCBhLCBiXSkgPiAxIHx8IHJlc3VtZShuLCB2KTsgfSk7IH07IH1cclxuICAgIGZ1bmN0aW9uIHJlc3VtZShuLCB2KSB7IHRyeSB7IHN0ZXAoZ1tuXSh2KSk7IH0gY2F0Y2ggKGUpIHsgc2V0dGxlKHFbMF1bM10sIGUpOyB9IH1cclxuICAgIGZ1bmN0aW9uIHN0ZXAocikgeyByLnZhbHVlIGluc3RhbmNlb2YgX19hd2FpdCA/IFByb21pc2UucmVzb2x2ZShyLnZhbHVlLnYpLnRoZW4oZnVsZmlsbCwgcmVqZWN0KSA6IHNldHRsZShxWzBdWzJdLCByKTsgfVxyXG4gICAgZnVuY3Rpb24gZnVsZmlsbCh2YWx1ZSkgeyByZXN1bWUoXCJuZXh0XCIsIHZhbHVlKTsgfVxyXG4gICAgZnVuY3Rpb24gcmVqZWN0KHZhbHVlKSB7IHJlc3VtZShcInRocm93XCIsIHZhbHVlKTsgfVxyXG4gICAgZnVuY3Rpb24gc2V0dGxlKGYsIHYpIHsgaWYgKGYodiksIHEuc2hpZnQoKSwgcS5sZW5ndGgpIHJlc3VtZShxWzBdWzBdLCBxWzBdWzFdKTsgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19hc3luY0RlbGVnYXRvcihvKSB7XHJcbiAgICB2YXIgaSwgcDtcclxuICAgIHJldHVybiBpID0ge30sIHZlcmIoXCJuZXh0XCIpLCB2ZXJiKFwidGhyb3dcIiwgZnVuY3Rpb24gKGUpIHsgdGhyb3cgZTsgfSksIHZlcmIoXCJyZXR1cm5cIiksIGlbU3ltYm9sLml0ZXJhdG9yXSA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRoaXM7IH0sIGk7XHJcbiAgICBmdW5jdGlvbiB2ZXJiKG4sIGYpIHsgaVtuXSA9IG9bbl0gPyBmdW5jdGlvbiAodikgeyByZXR1cm4gKHAgPSAhcCkgPyB7IHZhbHVlOiBfX2F3YWl0KG9bbl0odikpLCBkb25lOiBuID09PSBcInJldHVyblwiIH0gOiBmID8gZih2KSA6IHY7IH0gOiBmOyB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2FzeW5jVmFsdWVzKG8pIHtcclxuICAgIGlmICghU3ltYm9sLmFzeW5jSXRlcmF0b3IpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJTeW1ib2wuYXN5bmNJdGVyYXRvciBpcyBub3QgZGVmaW5lZC5cIik7XHJcbiAgICB2YXIgbSA9IG9bU3ltYm9sLmFzeW5jSXRlcmF0b3JdLCBpO1xyXG4gICAgcmV0dXJuIG0gPyBtLmNhbGwobykgOiAobyA9IHR5cGVvZiBfX3ZhbHVlcyA9PT0gXCJmdW5jdGlvblwiID8gX192YWx1ZXMobykgOiBvW1N5bWJvbC5pdGVyYXRvcl0oKSwgaSA9IHt9LCB2ZXJiKFwibmV4dFwiKSwgdmVyYihcInRocm93XCIpLCB2ZXJiKFwicmV0dXJuXCIpLCBpW1N5bWJvbC5hc3luY0l0ZXJhdG9yXSA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRoaXM7IH0sIGkpO1xyXG4gICAgZnVuY3Rpb24gdmVyYihuKSB7IGlbbl0gPSBvW25dICYmIGZ1bmN0aW9uICh2KSB7IHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7IHYgPSBvW25dKHYpLCBzZXR0bGUocmVzb2x2ZSwgcmVqZWN0LCB2LmRvbmUsIHYudmFsdWUpOyB9KTsgfTsgfVxyXG4gICAgZnVuY3Rpb24gc2V0dGxlKHJlc29sdmUsIHJlamVjdCwgZCwgdikgeyBQcm9taXNlLnJlc29sdmUodikudGhlbihmdW5jdGlvbih2KSB7IHJlc29sdmUoeyB2YWx1ZTogdiwgZG9uZTogZCB9KTsgfSwgcmVqZWN0KTsgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19tYWtlVGVtcGxhdGVPYmplY3QoY29va2VkLCByYXcpIHtcclxuICAgIGlmIChPYmplY3QuZGVmaW5lUHJvcGVydHkpIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNvb2tlZCwgXCJyYXdcIiwgeyB2YWx1ZTogcmF3IH0pOyB9IGVsc2UgeyBjb29rZWQucmF3ID0gcmF3OyB9XHJcbiAgICByZXR1cm4gY29va2VkO1xyXG59O1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9faW1wb3J0U3Rhcihtb2QpIHtcclxuICAgIGlmIChtb2QgJiYgbW9kLl9fZXNNb2R1bGUpIHJldHVybiBtb2Q7XHJcbiAgICB2YXIgcmVzdWx0ID0ge307XHJcbiAgICBpZiAobW9kICE9IG51bGwpIGZvciAodmFyIGsgaW4gbW9kKSBpZiAoT2JqZWN0Lmhhc093blByb3BlcnR5LmNhbGwobW9kLCBrKSkgcmVzdWx0W2tdID0gbW9kW2tdO1xyXG4gICAgcmVzdWx0LmRlZmF1bHQgPSBtb2Q7XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19pbXBvcnREZWZhdWx0KG1vZCkge1xyXG4gICAgcmV0dXJuIChtb2QgJiYgbW9kLl9fZXNNb2R1bGUpID8gbW9kIDogeyBkZWZhdWx0OiBtb2QgfTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fY2xhc3NQcml2YXRlRmllbGRHZXQocmVjZWl2ZXIsIHByaXZhdGVNYXApIHtcclxuICAgIGlmICghcHJpdmF0ZU1hcC5oYXMocmVjZWl2ZXIpKSB7XHJcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcImF0dGVtcHRlZCB0byBnZXQgcHJpdmF0ZSBmaWVsZCBvbiBub24taW5zdGFuY2VcIik7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcHJpdmF0ZU1hcC5nZXQocmVjZWl2ZXIpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19jbGFzc1ByaXZhdGVGaWVsZFNldChyZWNlaXZlciwgcHJpdmF0ZU1hcCwgdmFsdWUpIHtcclxuICAgIGlmICghcHJpdmF0ZU1hcC5oYXMocmVjZWl2ZXIpKSB7XHJcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcImF0dGVtcHRlZCB0byBzZXQgcHJpdmF0ZSBmaWVsZCBvbiBub24taW5zdGFuY2VcIik7XHJcbiAgICB9XHJcbiAgICBwcml2YXRlTWFwLnNldChyZWNlaXZlciwgdmFsdWUpO1xyXG4gICAgcmV0dXJuIHZhbHVlO1xyXG59XHJcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/avatar/node_modules/tslib/tslib.es6.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/icon/cjs/components/Icon.js": /*!************************************************************!*\ !*** ./node_modules/@atlaskit/icon/cjs/components/Icon.js ***! \************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar tslib_1 = __webpack_require__(/*! tslib */ \"./node_modules/@atlaskit/icon/node_modules/tslib/tslib.es6.js\");\nvar react_1 = tslib_1.__importDefault(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\nvar styled_components_1 = tslib_1.__importDefault(__webpack_require__(/*! styled-components */ \"./node_modules/styled-components/dist/styled-components.browser.esm.js\"));\nvar uuid_1 = tslib_1.__importDefault(__webpack_require__(/*! uuid */ \"./node_modules/uuid/index.js\"));\nvar colors_1 = __webpack_require__(/*! @atlaskit/theme/colors */ \"./node_modules/@atlaskit/theme/dist/esm/colors.js\");\nvar constants_1 = __webpack_require__(/*! ../constants */ \"./node_modules/@atlaskit/icon/cjs/constants.js\");\nvar getSize = function (_a) {\n var size = _a.size;\n return size ? \"height: \" + constants_1.sizes[size] + \"; width: \" + constants_1.sizes[size] + \";\" : null;\n};\nexports.IconWrapper = styled_components_1.default.span(templateObject_1 || (templateObject_1 = tslib_1.__makeTemplateObject([\"\\n \", \";\\n color: \", \";\\n display: inline-block;\\n fill: \", \";\\n flex-shrink: 0;\\n line-height: 1;\\n\\n > svg {\\n \", \";\\n max-height: 100%;\\n max-width: 100%;\\n overflow: hidden;\\n pointer-events: none;\\n vertical-align: bottom;\\n }\\n\\n /**\\n * Stop-color doesn't properly apply in chrome when the inherited/current color changes.\\n * We have to initially set stop-color to inherit (either via DOM attribute or an initial CSS\\n * rule) and then override it with currentColor for the color changes to be picked up.\\n */\\n stop {\\n stop-color: currentColor;\\n }\\n\"], [\"\\n \", \";\\n color: \", \";\\n display: inline-block;\\n fill: \", \";\\n flex-shrink: 0;\\n line-height: 1;\\n\\n > svg {\\n \", \";\\n max-height: 100%;\\n max-width: 100%;\\n overflow: hidden;\\n pointer-events: none;\\n vertical-align: bottom;\\n }\\n\\n /**\\n * Stop-color doesn't properly apply in chrome when the inherited/current color changes.\\n * We have to initially set stop-color to inherit (either via DOM attribute or an initial CSS\\n * rule) and then override it with currentColor for the color changes to be picked up.\\n */\\n stop {\\n stop-color: currentColor;\\n }\\n\"])), getSize, function (p) { return p.primaryColor || 'currentColor'; }, function (p) { return p.secondaryColor || colors_1.background; }, getSize);\n/**\n * Icons need unique gradient IDs across instances for different gradient definitions to work\n * correctly.\n * A step in the icon build process replaces linear gradient IDs and their references in paths\n * to a placeholder string so we can replace them with a dynamic ID here.\n * Replacing the original IDs with placeholders in the build process is more robust than not\n * using placeholders as we do not have to rely on regular expressions to find specific element\n * to replace.\n */\nfunction insertDynamicGradientID(svgStr, label) {\n var id = uuid_1.default();\n var replacedSvgStr = svgStr\n .replace(/id=\"([^\"]+)-idPlaceholder\"/g, \"id=$1-\" + id)\n .replace(/fill=\"url\\(#([^\"]+)-idPlaceholder\\)\"/g, \"fill=\\\"url(#$1-\" + id + \")\\\"\");\n return replacedSvgStr;\n}\nvar Icon = function (props) {\n var Glyph = props.glyph, dangerouslySetGlyph = props.dangerouslySetGlyph, primaryColor = props.primaryColor, secondaryColor = props.secondaryColor, size = props.size, testId = props.testId, label = props.label;\n var glyphProps = dangerouslySetGlyph\n ? {\n dangerouslySetInnerHTML: {\n __html: insertDynamicGradientID(dangerouslySetGlyph, label),\n },\n }\n : { children: Glyph ? react_1.default.createElement(Glyph, { role: \"presentation\" }) : null };\n return (react_1.default.createElement(exports.IconWrapper, tslib_1.__assign({ primaryColor: primaryColor, secondaryColor: secondaryColor, size: size, \"data-testid\": testId, role: label ? 'img' : 'presentation', \"aria-label\": label ? label : undefined }, glyphProps)));\n};\nexports.default = Icon;\nvar templateObject_1;\n//# sourceMappingURL=Icon.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L2ljb24vY2pzL2NvbXBvbmVudHMvSWNvbi5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AYXRsYXNraXQvaWNvbi9janMvY29tcG9uZW50cy9JY29uLmpzP2E2NDgiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG52YXIgdHNsaWJfMSA9IHJlcXVpcmUoXCJ0c2xpYlwiKTtcbnZhciByZWFjdF8xID0gdHNsaWJfMS5fX2ltcG9ydERlZmF1bHQocmVxdWlyZShcInJlYWN0XCIpKTtcbnZhciBzdHlsZWRfY29tcG9uZW50c18xID0gdHNsaWJfMS5fX2ltcG9ydERlZmF1bHQocmVxdWlyZShcInN0eWxlZC1jb21wb25lbnRzXCIpKTtcbnZhciB1dWlkXzEgPSB0c2xpYl8xLl9faW1wb3J0RGVmYXVsdChyZXF1aXJlKFwidXVpZFwiKSk7XG52YXIgY29sb3JzXzEgPSByZXF1aXJlKFwiQGF0bGFza2l0L3RoZW1lL2NvbG9yc1wiKTtcbnZhciBjb25zdGFudHNfMSA9IHJlcXVpcmUoXCIuLi9jb25zdGFudHNcIik7XG52YXIgZ2V0U2l6ZSA9IGZ1bmN0aW9uIChfYSkge1xuICAgIHZhciBzaXplID0gX2Euc2l6ZTtcbiAgICByZXR1cm4gc2l6ZSA/IFwiaGVpZ2h0OiBcIiArIGNvbnN0YW50c18xLnNpemVzW3NpemVdICsgXCI7IHdpZHRoOiBcIiArIGNvbnN0YW50c18xLnNpemVzW3NpemVdICsgXCI7XCIgOiBudWxsO1xufTtcbmV4cG9ydHMuSWNvbldyYXBwZXIgPSBzdHlsZWRfY29tcG9uZW50c18xLmRlZmF1bHQuc3Bhbih0ZW1wbGF0ZU9iamVjdF8xIHx8ICh0ZW1wbGF0ZU9iamVjdF8xID0gdHNsaWJfMS5fX21ha2VUZW1wbGF0ZU9iamVjdChbXCJcXG4gIFwiLCBcIjtcXG4gIGNvbG9yOiBcIiwgXCI7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICBmaWxsOiBcIiwgXCI7XFxuICBmbGV4LXNocmluazogMDtcXG4gIGxpbmUtaGVpZ2h0OiAxO1xcblxcbiAgPiBzdmcge1xcbiAgICBcIiwgXCI7XFxuICAgIG1heC1oZWlnaHQ6IDEwMCU7XFxuICAgIG1heC13aWR0aDogMTAwJTtcXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XFxuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XFxuICB9XFxuXFxuICAvKipcXG4gICAqIFN0b3AtY29sb3IgZG9lc24ndCBwcm9wZXJseSBhcHBseSBpbiBjaHJvbWUgd2hlbiB0aGUgaW5oZXJpdGVkL2N1cnJlbnQgY29sb3IgY2hhbmdlcy5cXG4gICAqIFdlIGhhdmUgdG8gaW5pdGlhbGx5IHNldCBzdG9wLWNvbG9yIHRvIGluaGVyaXQgKGVpdGhlciB2aWEgRE9NIGF0dHJpYnV0ZSBvciBhbiBpbml0aWFsIENTU1xcbiAgICogcnVsZSkgYW5kIHRoZW4gb3ZlcnJpZGUgaXQgd2l0aCBjdXJyZW50Q29sb3IgZm9yIHRoZSBjb2xvciBjaGFuZ2VzIHRvIGJlIHBpY2tlZCB1cC5cXG4gICAqL1xcbiAgc3RvcCB7XFxuICAgIHN0b3AtY29sb3I6IGN1cnJlbnRDb2xvcjtcXG4gIH1cXG5cIl0sIFtcIlxcbiAgXCIsIFwiO1xcbiAgY29sb3I6IFwiLCBcIjtcXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG4gIGZpbGw6IFwiLCBcIjtcXG4gIGZsZXgtc2hyaW5rOiAwO1xcbiAgbGluZS1oZWlnaHQ6IDE7XFxuXFxuICA+IHN2ZyB7XFxuICAgIFwiLCBcIjtcXG4gICAgbWF4LWhlaWdodDogMTAwJTtcXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcXG4gICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcXG4gIH1cXG5cXG4gIC8qKlxcbiAgICogU3RvcC1jb2xvciBkb2Vzbid0IHByb3Blcmx5IGFwcGx5IGluIGNocm9tZSB3aGVuIHRoZSBpbmhlcml0ZWQvY3VycmVudCBjb2xvciBjaGFuZ2VzLlxcbiAgICogV2UgaGF2ZSB0byBpbml0aWFsbHkgc2V0IHN0b3AtY29sb3IgdG8gaW5oZXJpdCAoZWl0aGVyIHZpYSBET00gYXR0cmlidXRlIG9yIGFuIGluaXRpYWwgQ1NTXFxuICAgKiBydWxlKSBhbmQgdGhlbiBvdmVycmlkZSBpdCB3aXRoIGN1cnJlbnRDb2xvciBmb3IgdGhlIGNvbG9yIGNoYW5nZXMgdG8gYmUgcGlja2VkIHVwLlxcbiAgICovXFxuICBzdG9wIHtcXG4gICAgc3RvcC1jb2xvcjogY3VycmVudENvbG9yO1xcbiAgfVxcblwiXSkpLCBnZXRTaXplLCBmdW5jdGlvbiAocCkgeyByZXR1cm4gcC5wcmltYXJ5Q29sb3IgfHwgJ2N1cnJlbnRDb2xvcic7IH0sIGZ1bmN0aW9uIChwKSB7IHJldHVybiBwLnNlY29uZGFyeUNvbG9yIHx8IGNvbG9yc18xLmJhY2tncm91bmQ7IH0sIGdldFNpemUpO1xuLyoqXG4gKiBJY29ucyBuZWVkIHVuaXF1ZSBncmFkaWVudCBJRHMgYWNyb3NzIGluc3RhbmNlcyBmb3IgZGlmZmVyZW50IGdyYWRpZW50IGRlZmluaXRpb25zIHRvIHdvcmtcbiAqIGNvcnJlY3RseS5cbiAqIEEgc3RlcCBpbiB0aGUgaWNvbiBidWlsZCBwcm9jZXNzIHJlcGxhY2VzIGxpbmVhciBncmFkaWVudCBJRHMgYW5kIHRoZWlyIHJlZmVyZW5jZXMgaW4gcGF0aHNcbiAqIHRvIGEgcGxhY2Vob2xkZXIgc3RyaW5nIHNvIHdlIGNhbiByZXBsYWNlIHRoZW0gd2l0aCBhIGR5bmFtaWMgSUQgaGVyZS5cbiAqIFJlcGxhY2luZyB0aGUgb3JpZ2luYWwgSURzIHdpdGggcGxhY2Vob2xkZXJzIGluIHRoZSBidWlsZCBwcm9jZXNzIGlzIG1vcmUgcm9idXN0IHRoYW4gbm90XG4gKiB1c2luZyBwbGFjZWhvbGRlcnMgYXMgd2UgZG8gbm90IGhhdmUgdG8gcmVseSBvbiByZWd1bGFyIGV4cHJlc3Npb25zIHRvIGZpbmQgc3BlY2lmaWMgZWxlbWVudFxuICogdG8gcmVwbGFjZS5cbiAqL1xuZnVuY3Rpb24gaW5zZXJ0RHluYW1pY0dyYWRpZW50SUQoc3ZnU3RyLCBsYWJlbCkge1xuICAgIHZhciBpZCA9IHV1aWRfMS5kZWZhdWx0KCk7XG4gICAgdmFyIHJlcGxhY2VkU3ZnU3RyID0gc3ZnU3RyXG4gICAgICAgIC5yZXBsYWNlKC9pZD1cIihbXlwiXSspLWlkUGxhY2Vob2xkZXJcIi9nLCBcImlkPSQxLVwiICsgaWQpXG4gICAgICAgIC5yZXBsYWNlKC9maWxsPVwidXJsXFwoIyhbXlwiXSspLWlkUGxhY2Vob2xkZXJcXClcIi9nLCBcImZpbGw9XFxcInVybCgjJDEtXCIgKyBpZCArIFwiKVxcXCJcIik7XG4gICAgcmV0dXJuIHJlcGxhY2VkU3ZnU3RyO1xufVxudmFyIEljb24gPSBmdW5jdGlvbiAocHJvcHMpIHtcbiAgICB2YXIgR2x5cGggPSBwcm9wcy5nbHlwaCwgZGFuZ2Vyb3VzbHlTZXRHbHlwaCA9IHByb3BzLmRhbmdlcm91c2x5U2V0R2x5cGgsIHByaW1hcnlDb2xvciA9IHByb3BzLnByaW1hcnlDb2xvciwgc2Vjb25kYXJ5Q29sb3IgPSBwcm9wcy5zZWNvbmRhcnlDb2xvciwgc2l6ZSA9IHByb3BzLnNpemUsIHRlc3RJZCA9IHByb3BzLnRlc3RJZCwgbGFiZWwgPSBwcm9wcy5sYWJlbDtcbiAgICB2YXIgZ2x5cGhQcm9wcyA9IGRhbmdlcm91c2x5U2V0R2x5cGhcbiAgICAgICAgPyB7XG4gICAgICAgICAgICBkYW5nZXJvdXNseVNldElubmVySFRNTDoge1xuICAgICAgICAgICAgICAgIF9faHRtbDogaW5zZXJ0RHluYW1pY0dyYWRpZW50SUQoZGFuZ2Vyb3VzbHlTZXRHbHlwaCwgbGFiZWwpLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfVxuICAgICAgICA6IHsgY2hpbGRyZW46IEdseXBoID8gcmVhY3RfMS5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoR2x5cGgsIHsgcm9sZTogXCJwcmVzZW50YXRpb25cIiB9KSA6IG51bGwgfTtcbiAgICByZXR1cm4gKHJlYWN0XzEuZGVmYXVsdC5jcmVhdGVFbGVtZW50KGV4cG9ydHMuSWNvbldyYXBwZXIsIHRzbGliXzEuX19hc3NpZ24oeyBwcmltYXJ5Q29sb3I6IHByaW1hcnlDb2xvciwgc2Vjb25kYXJ5Q29sb3I6IHNlY29uZGFyeUNvbG9yLCBzaXplOiBzaXplLCBcImRhdGEtdGVzdGlkXCI6IHRlc3RJZCwgcm9sZTogbGFiZWwgPyAnaW1nJyA6ICdwcmVzZW50YXRpb24nLCBcImFyaWEtbGFiZWxcIjogbGFiZWwgPyBsYWJlbCA6IHVuZGVmaW5lZCB9LCBnbHlwaFByb3BzKSkpO1xufTtcbmV4cG9ydHMuZGVmYXVsdCA9IEljb247XG52YXIgdGVtcGxhdGVPYmplY3RfMTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPUljb24uanMubWFwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/icon/cjs/components/Icon.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/icon/cjs/constants.js": /*!******************************************************!*\ !*** ./node_modules/@atlaskit/icon/cjs/constants.js ***! \******************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.sizes = {\n small: '16px',\n medium: '24px',\n large: '32px',\n xlarge: '48px',\n};\nexports.sizeMap = {\n small: 'small',\n medium: 'medium',\n large: 'large',\n xlarge: 'xlarge',\n};\n//# sourceMappingURL=constants.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L2ljb24vY2pzL2NvbnN0YW50cy5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AYXRsYXNraXQvaWNvbi9janMvY29uc3RhbnRzLmpzPzdkYjciXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLnNpemVzID0ge1xuICAgIHNtYWxsOiAnMTZweCcsXG4gICAgbWVkaXVtOiAnMjRweCcsXG4gICAgbGFyZ2U6ICczMnB4JyxcbiAgICB4bGFyZ2U6ICc0OHB4Jyxcbn07XG5leHBvcnRzLnNpemVNYXAgPSB7XG4gICAgc21hbGw6ICdzbWFsbCcsXG4gICAgbWVkaXVtOiAnbWVkaXVtJyxcbiAgICBsYXJnZTogJ2xhcmdlJyxcbiAgICB4bGFyZ2U6ICd4bGFyZ2UnLFxufTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWNvbnN0YW50cy5qcy5tYXAiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/icon/cjs/constants.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/icon/glyph/add.js": /*!**************************************************!*\ !*** ./node_modules/@atlaskit/icon/glyph/add.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 _react = _interopRequireDefault(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\n\nvar _Icon = _interopRequireDefault(__webpack_require__(/*! ../cjs/components/Icon */ \"./node_modules/@atlaskit/icon/cjs/components/Icon.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nvar AddIcon = function AddIcon(props) {\n return _react.default.createElement(_Icon.default, _extends({\n dangerouslySetGlyph: \"\"\n }, props));\n};\n\nAddIcon.displayName = 'AddIcon';\nvar _default = AddIcon;\nexports.default = _default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L2ljb24vZ2x5cGgvYWRkLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BhdGxhc2tpdC9pY29uL2dseXBoL2FkZC5qcz9mNWYxIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuZXhwb3J0cy5kZWZhdWx0ID0gdm9pZCAwO1xuXG52YXIgX3JlYWN0ID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwicmVhY3RcIikpO1xuXG52YXIgX0ljb24gPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuLi9janMvY29tcG9uZW50cy9JY29uXCIpKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxuZnVuY3Rpb24gX2V4dGVuZHMoKSB7IF9leHRlbmRzID0gT2JqZWN0LmFzc2lnbiB8fCBmdW5jdGlvbiAodGFyZ2V0KSB7IGZvciAodmFyIGkgPSAxOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7IHZhciBzb3VyY2UgPSBhcmd1bWVudHNbaV07IGZvciAodmFyIGtleSBpbiBzb3VyY2UpIHsgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzb3VyY2UsIGtleSkpIHsgdGFyZ2V0W2tleV0gPSBzb3VyY2Vba2V5XTsgfSB9IH0gcmV0dXJuIHRhcmdldDsgfTsgcmV0dXJuIF9leHRlbmRzLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7IH1cblxudmFyIEFkZEljb24gPSBmdW5jdGlvbiBBZGRJY29uKHByb3BzKSB7XG4gIHJldHVybiBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KF9JY29uLmRlZmF1bHQsIF9leHRlbmRzKHtcbiAgICBkYW5nZXJvdXNseVNldEdseXBoOiBcIjxzdmcgd2lkdGg9XFxcIjI0XFxcIiBoZWlnaHQ9XFxcIjI0XFxcIiB2aWV3Qm94PVxcXCIwIDAgMjQgMjRcXFwiIGZvY3VzYWJsZT1cXFwiZmFsc2VcXFwiIHJvbGU9XFxcInByZXNlbnRhdGlvblxcXCI+PHBhdGggZD1cXFwiTTEzIDExVjMuOTkzQS45OTcuOTk3IDAgMCAwIDEyIDNjLS41NTYgMC0xIC40NDUtMSAuOTkzVjExSDMuOTkzQS45OTcuOTk3IDAgMCAwIDMgMTJjMCAuNTU3LjQ0NSAxIC45OTMgMUgxMXY3LjAwN2MwIC41NDguNDQ4Ljk5MyAxIC45OTMuNTU2IDAgMS0uNDQ1IDEtLjk5M1YxM2g3LjAwN0EuOTk3Ljk5NyAwIDAgMCAyMSAxMmMwLS41NTYtLjQ0NS0xLS45OTMtMUgxM3pcXFwiIGZpbGw9XFxcImN1cnJlbnRDb2xvclxcXCIgZmlsbC1ydWxlPVxcXCJldmVub2RkXFxcIi8+PC9zdmc+XCJcbiAgfSwgcHJvcHMpKTtcbn07XG5cbkFkZEljb24uZGlzcGxheU5hbWUgPSAnQWRkSWNvbic7XG52YXIgX2RlZmF1bHQgPSBBZGRJY29uO1xuZXhwb3J0cy5kZWZhdWx0ID0gX2RlZmF1bHQ7Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/icon/glyph/add.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/icon/glyph/arrow-left-circle.js": /*!****************************************************************!*\ !*** ./node_modules/@atlaskit/icon/glyph/arrow-left-circle.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 _react = _interopRequireDefault(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\n\nvar _Icon = _interopRequireDefault(__webpack_require__(/*! ../cjs/components/Icon */ \"./node_modules/@atlaskit/icon/cjs/components/Icon.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nvar ArrowLeftCircleIcon = function ArrowLeftCircleIcon(props) {\n return _react.default.createElement(_Icon.default, _extends({\n dangerouslySetGlyph: \"\"\n }, props));\n};\n\nArrowLeftCircleIcon.displayName = 'ArrowLeftCircleIcon';\nvar _default = ArrowLeftCircleIcon;\nexports.default = _default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L2ljb24vZ2x5cGgvYXJyb3ctbGVmdC1jaXJjbGUuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L2ljb24vZ2x5cGgvYXJyb3ctbGVmdC1jaXJjbGUuanM/OGNiNiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbmV4cG9ydHMuZGVmYXVsdCA9IHZvaWQgMDtcblxudmFyIF9yZWFjdCA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcInJlYWN0XCIpKTtcblxudmFyIF9JY29uID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi4vY2pzL2NvbXBvbmVudHMvSWNvblwiKSk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9OyB9XG5cbmZ1bmN0aW9uIF9leHRlbmRzKCkgeyBfZXh0ZW5kcyA9IE9iamVjdC5hc3NpZ24gfHwgZnVuY3Rpb24gKHRhcmdldCkgeyBmb3IgKHZhciBpID0gMTsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykgeyB2YXIgc291cmNlID0gYXJndW1lbnRzW2ldOyBmb3IgKHZhciBrZXkgaW4gc291cmNlKSB7IGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoc291cmNlLCBrZXkpKSB7IHRhcmdldFtrZXldID0gc291cmNlW2tleV07IH0gfSB9IHJldHVybiB0YXJnZXQ7IH07IHJldHVybiBfZXh0ZW5kcy5hcHBseSh0aGlzLCBhcmd1bWVudHMpOyB9XG5cbnZhciBBcnJvd0xlZnRDaXJjbGVJY29uID0gZnVuY3Rpb24gQXJyb3dMZWZ0Q2lyY2xlSWNvbihwcm9wcykge1xuICByZXR1cm4gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChfSWNvbi5kZWZhdWx0LCBfZXh0ZW5kcyh7XG4gICAgZGFuZ2Vyb3VzbHlTZXRHbHlwaDogXCI8c3ZnIHdpZHRoPVxcXCIyNFxcXCIgaGVpZ2h0PVxcXCIyNFxcXCIgdmlld0JveD1cXFwiMCAwIDI0IDI0XFxcIiBmb2N1c2FibGU9XFxcImZhbHNlXFxcIiByb2xlPVxcXCJwcmVzZW50YXRpb25cXFwiPjxjaXJjbGUgZmlsbD1cXFwiY3VycmVudENvbG9yXFxcIiBjeD1cXFwiMTJcXFwiIGN5PVxcXCIxMlxcXCIgcj1cXFwiMTBcXFwiLz48cGF0aCBkPVxcXCJNMTYgMTAuOTk1aC01LjU4NmwxLjI3Mi0xLjI3OWExLjAxIDEuMDEgMCAwIDAgMC0xLjQyMS45OTYuOTk2IDAgMCAwLTEuNDE1IDBsLTIuOTc4IDIuOTk0YTEuMDEgMS4wMSAwIDAgMCAwIDEuNDIzbDIuOTc4IDIuOTkzYS45OTkuOTk5IDAgMCAwIDEuNDE1IDAgMS4wMSAxLjAxIDAgMCAwIDAtMS40MjFsLTEuMjcyLTEuMjc5SDE2Yy41NTIgMCAxLS40NSAxLTEuMDA1IDAtLjU1NS0uNDQ4LTEuMDA1LTEtMS4wMDVcXFwiIGZpbGw9XFxcImluaGVyaXRcXFwiLz48L3N2Zz5cIlxuICB9LCBwcm9wcykpO1xufTtcblxuQXJyb3dMZWZ0Q2lyY2xlSWNvbi5kaXNwbGF5TmFtZSA9ICdBcnJvd0xlZnRDaXJjbGVJY29uJztcbnZhciBfZGVmYXVsdCA9IEFycm93TGVmdENpcmNsZUljb247XG5leHBvcnRzLmRlZmF1bHQgPSBfZGVmYXVsdDsiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/icon/glyph/arrow-left-circle.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/icon/glyph/arrow-right-circle.js": /*!*****************************************************************!*\ !*** ./node_modules/@atlaskit/icon/glyph/arrow-right-circle.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 _react = _interopRequireDefault(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\n\nvar _Icon = _interopRequireDefault(__webpack_require__(/*! ../cjs/components/Icon */ \"./node_modules/@atlaskit/icon/cjs/components/Icon.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nvar ArrowRightCircleIcon = function ArrowRightCircleIcon(props) {\n return _react.default.createElement(_Icon.default, _extends({\n dangerouslySetGlyph: \"\"\n }, props));\n};\n\nArrowRightCircleIcon.displayName = 'ArrowRightCircleIcon';\nvar _default = ArrowRightCircleIcon;\nexports.default = _default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L2ljb24vZ2x5cGgvYXJyb3ctcmlnaHQtY2lyY2xlLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BhdGxhc2tpdC9pY29uL2dseXBoL2Fycm93LXJpZ2h0LWNpcmNsZS5qcz82MTlhIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuZXhwb3J0cy5kZWZhdWx0ID0gdm9pZCAwO1xuXG52YXIgX3JlYWN0ID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwicmVhY3RcIikpO1xuXG52YXIgX0ljb24gPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuLi9janMvY29tcG9uZW50cy9JY29uXCIpKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxuZnVuY3Rpb24gX2V4dGVuZHMoKSB7IF9leHRlbmRzID0gT2JqZWN0LmFzc2lnbiB8fCBmdW5jdGlvbiAodGFyZ2V0KSB7IGZvciAodmFyIGkgPSAxOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7IHZhciBzb3VyY2UgPSBhcmd1bWVudHNbaV07IGZvciAodmFyIGtleSBpbiBzb3VyY2UpIHsgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzb3VyY2UsIGtleSkpIHsgdGFyZ2V0W2tleV0gPSBzb3VyY2Vba2V5XTsgfSB9IH0gcmV0dXJuIHRhcmdldDsgfTsgcmV0dXJuIF9leHRlbmRzLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7IH1cblxudmFyIEFycm93UmlnaHRDaXJjbGVJY29uID0gZnVuY3Rpb24gQXJyb3dSaWdodENpcmNsZUljb24ocHJvcHMpIHtcbiAgcmV0dXJuIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoX0ljb24uZGVmYXVsdCwgX2V4dGVuZHMoe1xuICAgIGRhbmdlcm91c2x5U2V0R2x5cGg6IFwiPHN2ZyB3aWR0aD1cXFwiMjRcXFwiIGhlaWdodD1cXFwiMjRcXFwiIHZpZXdCb3g9XFxcIjAgMCAyNCAyNFxcXCIgZm9jdXNhYmxlPVxcXCJmYWxzZVxcXCIgcm9sZT1cXFwicHJlc2VudGF0aW9uXFxcIj48ZyBmaWxsLXJ1bGU9XFxcImV2ZW5vZGRcXFwiPjxjaXJjbGUgZmlsbD1cXFwiY3VycmVudENvbG9yXFxcIiBmaWxsLXJ1bGU9XFxcIm5vbnplcm9cXFwiIGN4PVxcXCIxMlxcXCIgY3k9XFxcIjEyXFxcIiByPVxcXCIxMFxcXCIvPjxwYXRoIGQ9XFxcIk0xMi4zMTQgOC4yOTRhMS4wMSAxLjAxIDAgMCAwIDAgMS40MjJsMS4yNzEgMS4yNzlIOGMtLjU1MyAwLTEuMDAxLjQ1LTEuMDAxIDEuMDA1IDAgLjU1NS40NDggMS4wMDUgMS4wMDEgMS4wMDVoNS41ODVsLTEuMjcxIDEuMjc5YTEuMDEgMS4wMSAwIDAgMCAwIDEuNDIyIDEuMDAxIDEuMDAxIDAgMCAwIDEuNDE1IDBsMi45NzgtMi45OTVhMS4wMSAxLjAxIDAgMCAwIDAtMS40MjJsLTIuOTc4LTIuOTk1YS45OTguOTk4IDAgMCAwLTEuNDE1IDB6XFxcIiBmaWxsPVxcXCJpbmhlcml0XFxcIi8+PC9nPjwvc3ZnPlwiXG4gIH0sIHByb3BzKSk7XG59O1xuXG5BcnJvd1JpZ2h0Q2lyY2xlSWNvbi5kaXNwbGF5TmFtZSA9ICdBcnJvd1JpZ2h0Q2lyY2xlSWNvbic7XG52YXIgX2RlZmF1bHQgPSBBcnJvd1JpZ2h0Q2lyY2xlSWNvbjtcbmV4cG9ydHMuZGVmYXVsdCA9IF9kZWZhdWx0OyJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/icon/glyph/arrow-right-circle.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/icon/glyph/checkbox.js": /*!*******************************************************!*\ !*** ./node_modules/@atlaskit/icon/glyph/checkbox.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 _react = _interopRequireDefault(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\n\nvar _Icon = _interopRequireDefault(__webpack_require__(/*! ../cjs/components/Icon */ \"./node_modules/@atlaskit/icon/cjs/components/Icon.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nvar CheckboxIcon = function CheckboxIcon(props) {\n return _react.default.createElement(_Icon.default, _extends({\n dangerouslySetGlyph: \"\"\n }, props));\n};\n\nCheckboxIcon.displayName = 'CheckboxIcon';\nvar _default = CheckboxIcon;\nexports.default = _default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L2ljb24vZ2x5cGgvY2hlY2tib3guanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L2ljb24vZ2x5cGgvY2hlY2tib3guanM/YzMwZSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbmV4cG9ydHMuZGVmYXVsdCA9IHZvaWQgMDtcblxudmFyIF9yZWFjdCA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcInJlYWN0XCIpKTtcblxudmFyIF9JY29uID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi4vY2pzL2NvbXBvbmVudHMvSWNvblwiKSk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9OyB9XG5cbmZ1bmN0aW9uIF9leHRlbmRzKCkgeyBfZXh0ZW5kcyA9IE9iamVjdC5hc3NpZ24gfHwgZnVuY3Rpb24gKHRhcmdldCkgeyBmb3IgKHZhciBpID0gMTsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykgeyB2YXIgc291cmNlID0gYXJndW1lbnRzW2ldOyBmb3IgKHZhciBrZXkgaW4gc291cmNlKSB7IGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoc291cmNlLCBrZXkpKSB7IHRhcmdldFtrZXldID0gc291cmNlW2tleV07IH0gfSB9IHJldHVybiB0YXJnZXQ7IH07IHJldHVybiBfZXh0ZW5kcy5hcHBseSh0aGlzLCBhcmd1bWVudHMpOyB9XG5cbnZhciBDaGVja2JveEljb24gPSBmdW5jdGlvbiBDaGVja2JveEljb24ocHJvcHMpIHtcbiAgcmV0dXJuIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoX0ljb24uZGVmYXVsdCwgX2V4dGVuZHMoe1xuICAgIGRhbmdlcm91c2x5U2V0R2x5cGg6IFwiPHN2ZyB3aWR0aD1cXFwiMjRcXFwiIGhlaWdodD1cXFwiMjRcXFwiIHZpZXdCb3g9XFxcIjAgMCAyNCAyNFxcXCIgZm9jdXNhYmxlPVxcXCJmYWxzZVxcXCIgcm9sZT1cXFwicHJlc2VudGF0aW9uXFxcIj48ZyBmaWxsLXJ1bGU9XFxcImV2ZW5vZGRcXFwiPjxyZWN0IGZpbGw9XFxcImN1cnJlbnRDb2xvclxcXCIgeD1cXFwiNlxcXCIgeT1cXFwiNlxcXCIgd2lkdGg9XFxcIjEyXFxcIiBoZWlnaHQ9XFxcIjEyXFxcIiByeD1cXFwiMlxcXCIvPjxwYXRoIGQ9XFxcIk05LjcwNyAxMS4yOTNhMSAxIDAgMSAwLTEuNDE0IDEuNDE0bDIgMmExIDEgMCAwIDAgMS40MTQgMGw0LTRhMSAxIDAgMSAwLTEuNDE0LTEuNDE0TDExIDEyLjU4NmwtMS4yOTMtMS4yOTN6XFxcIiBmaWxsPVxcXCJpbmhlcml0XFxcIi8+PC9nPjwvc3ZnPlwiXG4gIH0sIHByb3BzKSk7XG59O1xuXG5DaGVja2JveEljb24uZGlzcGxheU5hbWUgPSAnQ2hlY2tib3hJY29uJztcbnZhciBfZGVmYXVsdCA9IENoZWNrYm94SWNvbjtcbmV4cG9ydHMuZGVmYXVsdCA9IF9kZWZhdWx0OyJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/icon/glyph/checkbox.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/icon/glyph/chevron-left.js": /*!***********************************************************!*\ !*** ./node_modules/@atlaskit/icon/glyph/chevron-left.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 _react = _interopRequireDefault(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\n\nvar _Icon = _interopRequireDefault(__webpack_require__(/*! ../cjs/components/Icon */ \"./node_modules/@atlaskit/icon/cjs/components/Icon.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nvar ChevronLeftIcon = function ChevronLeftIcon(props) {\n return _react.default.createElement(_Icon.default, _extends({\n dangerouslySetGlyph: \"\"\n }, props));\n};\n\nChevronLeftIcon.displayName = 'ChevronLeftIcon';\nvar _default = ChevronLeftIcon;\nexports.default = _default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L2ljb24vZ2x5cGgvY2hldnJvbi1sZWZ0LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BhdGxhc2tpdC9pY29uL2dseXBoL2NoZXZyb24tbGVmdC5qcz9mN2ZjIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuZXhwb3J0cy5kZWZhdWx0ID0gdm9pZCAwO1xuXG52YXIgX3JlYWN0ID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwicmVhY3RcIikpO1xuXG52YXIgX0ljb24gPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuLi9janMvY29tcG9uZW50cy9JY29uXCIpKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxuZnVuY3Rpb24gX2V4dGVuZHMoKSB7IF9leHRlbmRzID0gT2JqZWN0LmFzc2lnbiB8fCBmdW5jdGlvbiAodGFyZ2V0KSB7IGZvciAodmFyIGkgPSAxOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7IHZhciBzb3VyY2UgPSBhcmd1bWVudHNbaV07IGZvciAodmFyIGtleSBpbiBzb3VyY2UpIHsgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzb3VyY2UsIGtleSkpIHsgdGFyZ2V0W2tleV0gPSBzb3VyY2Vba2V5XTsgfSB9IH0gcmV0dXJuIHRhcmdldDsgfTsgcmV0dXJuIF9leHRlbmRzLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7IH1cblxudmFyIENoZXZyb25MZWZ0SWNvbiA9IGZ1bmN0aW9uIENoZXZyb25MZWZ0SWNvbihwcm9wcykge1xuICByZXR1cm4gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChfSWNvbi5kZWZhdWx0LCBfZXh0ZW5kcyh7XG4gICAgZGFuZ2Vyb3VzbHlTZXRHbHlwaDogXCI8c3ZnIHdpZHRoPVxcXCIyNFxcXCIgaGVpZ2h0PVxcXCIyNFxcXCIgdmlld0JveD1cXFwiMCAwIDI0IDI0XFxcIiBmb2N1c2FibGU9XFxcImZhbHNlXFxcIiByb2xlPVxcXCJwcmVzZW50YXRpb25cXFwiPjxwYXRoIGQ9XFxcIk0xMy43MDYgOS42OThhLjk4OC45ODggMCAwIDAgMC0xLjQwNyAxLjAxIDEuMDEgMCAwIDAtMS40MTkgMGwtMi45NjUgMi45NGExLjA5IDEuMDkgMCAwIDAgMCAxLjU0OGwyLjk1NSAyLjkzYTEuMDEgMS4wMSAwIDAgMCAxLjQyIDAgLjk4OC45ODggMCAwIDAgMC0xLjQwN2wtMi4zMTgtMi4yOTcgMi4zMjctMi4zMDd6XFxcIiBmaWxsPVxcXCJjdXJyZW50Q29sb3JcXFwiIGZpbGwtcnVsZT1cXFwiZXZlbm9kZFxcXCIvPjwvc3ZnPlwiXG4gIH0sIHByb3BzKSk7XG59O1xuXG5DaGV2cm9uTGVmdEljb24uZGlzcGxheU5hbWUgPSAnQ2hldnJvbkxlZnRJY29uJztcbnZhciBfZGVmYXVsdCA9IENoZXZyb25MZWZ0SWNvbjtcbmV4cG9ydHMuZGVmYXVsdCA9IF9kZWZhdWx0OyJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/icon/glyph/chevron-left.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/icon/glyph/chevron-right.js": /*!************************************************************!*\ !*** ./node_modules/@atlaskit/icon/glyph/chevron-right.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 _react = _interopRequireDefault(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\n\nvar _Icon = _interopRequireDefault(__webpack_require__(/*! ../cjs/components/Icon */ \"./node_modules/@atlaskit/icon/cjs/components/Icon.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nvar ChevronRightIcon = function ChevronRightIcon(props) {\n return _react.default.createElement(_Icon.default, _extends({\n dangerouslySetGlyph: \"\"\n }, props));\n};\n\nChevronRightIcon.displayName = 'ChevronRightIcon';\nvar _default = ChevronRightIcon;\nexports.default = _default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L2ljb24vZ2x5cGgvY2hldnJvbi1yaWdodC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AYXRsYXNraXQvaWNvbi9nbHlwaC9jaGV2cm9uLXJpZ2h0LmpzP2I2MTYiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG5leHBvcnRzLmRlZmF1bHQgPSB2b2lkIDA7XG5cbnZhciBfcmVhY3QgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCJyZWFjdFwiKSk7XG5cbnZhciBfSWNvbiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIi4uL2Nqcy9jb21wb25lbnRzL0ljb25cIikpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG5mdW5jdGlvbiBfZXh0ZW5kcygpIHsgX2V4dGVuZHMgPSBPYmplY3QuYXNzaWduIHx8IGZ1bmN0aW9uICh0YXJnZXQpIHsgZm9yICh2YXIgaSA9IDE7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHsgdmFyIHNvdXJjZSA9IGFyZ3VtZW50c1tpXTsgZm9yICh2YXIga2V5IGluIHNvdXJjZSkgeyBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHNvdXJjZSwga2V5KSkgeyB0YXJnZXRba2V5XSA9IHNvdXJjZVtrZXldOyB9IH0gfSByZXR1cm4gdGFyZ2V0OyB9OyByZXR1cm4gX2V4dGVuZHMuYXBwbHkodGhpcywgYXJndW1lbnRzKTsgfVxuXG52YXIgQ2hldnJvblJpZ2h0SWNvbiA9IGZ1bmN0aW9uIENoZXZyb25SaWdodEljb24ocHJvcHMpIHtcbiAgcmV0dXJuIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoX0ljb24uZGVmYXVsdCwgX2V4dGVuZHMoe1xuICAgIGRhbmdlcm91c2x5U2V0R2x5cGg6IFwiPHN2ZyB3aWR0aD1cXFwiMjRcXFwiIGhlaWdodD1cXFwiMjRcXFwiIHZpZXdCb3g9XFxcIjAgMCAyNCAyNFxcXCIgZm9jdXNhYmxlPVxcXCJmYWxzZVxcXCIgcm9sZT1cXFwicHJlc2VudGF0aW9uXFxcIj48cGF0aCBkPVxcXCJNMTAuMjk0IDkuNjk4YS45ODguOTg4IDAgMCAxIDAtMS40MDcgMS4wMSAxLjAxIDAgMCAxIDEuNDE5IDBsMi45NjUgMi45NGExLjA5IDEuMDkgMCAwIDEgMCAxLjU0OGwtMi45NTUgMi45M2ExLjAxIDEuMDEgMCAwIDEtMS40MiAwIC45ODguOTg4IDAgMCAxIDAtMS40MDdsMi4zMTgtMi4yOTctMi4zMjctMi4zMDd6XFxcIiBmaWxsPVxcXCJjdXJyZW50Q29sb3JcXFwiIGZpbGwtcnVsZT1cXFwiZXZlbm9kZFxcXCIvPjwvc3ZnPlwiXG4gIH0sIHByb3BzKSk7XG59O1xuXG5DaGV2cm9uUmlnaHRJY29uLmRpc3BsYXlOYW1lID0gJ0NoZXZyb25SaWdodEljb24nO1xudmFyIF9kZWZhdWx0ID0gQ2hldnJvblJpZ2h0SWNvbjtcbmV4cG9ydHMuZGVmYXVsdCA9IF9kZWZhdWx0OyJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/icon/glyph/chevron-right.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/icon/glyph/editor/search.js": /*!************************************************************!*\ !*** ./node_modules/@atlaskit/icon/glyph/editor/search.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 _react = _interopRequireDefault(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\n\nvar _Icon = _interopRequireDefault(__webpack_require__(/*! ../../cjs/components/Icon */ \"./node_modules/@atlaskit/icon/cjs/components/Icon.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nvar EditorSearchIcon = function EditorSearchIcon(props) {\n return _react.default.createElement(_Icon.default, _extends({\n dangerouslySetGlyph: \"\"\n }, props));\n};\n\nEditorSearchIcon.displayName = 'EditorSearchIcon';\nvar _default = EditorSearchIcon;\nexports.default = _default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L2ljb24vZ2x5cGgvZWRpdG9yL3NlYXJjaC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AYXRsYXNraXQvaWNvbi9nbHlwaC9lZGl0b3Ivc2VhcmNoLmpzPzkwODQiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG5leHBvcnRzLmRlZmF1bHQgPSB2b2lkIDA7XG5cbnZhciBfcmVhY3QgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCJyZWFjdFwiKSk7XG5cbnZhciBfSWNvbiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIi4uLy4uL2Nqcy9jb21wb25lbnRzL0ljb25cIikpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG5mdW5jdGlvbiBfZXh0ZW5kcygpIHsgX2V4dGVuZHMgPSBPYmplY3QuYXNzaWduIHx8IGZ1bmN0aW9uICh0YXJnZXQpIHsgZm9yICh2YXIgaSA9IDE7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHsgdmFyIHNvdXJjZSA9IGFyZ3VtZW50c1tpXTsgZm9yICh2YXIga2V5IGluIHNvdXJjZSkgeyBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHNvdXJjZSwga2V5KSkgeyB0YXJnZXRba2V5XSA9IHNvdXJjZVtrZXldOyB9IH0gfSByZXR1cm4gdGFyZ2V0OyB9OyByZXR1cm4gX2V4dGVuZHMuYXBwbHkodGhpcywgYXJndW1lbnRzKTsgfVxuXG52YXIgRWRpdG9yU2VhcmNoSWNvbiA9IGZ1bmN0aW9uIEVkaXRvclNlYXJjaEljb24ocHJvcHMpIHtcbiAgcmV0dXJuIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoX0ljb24uZGVmYXVsdCwgX2V4dGVuZHMoe1xuICAgIGRhbmdlcm91c2x5U2V0R2x5cGg6IFwiPHN2ZyB3aWR0aD1cXFwiMjRcXFwiIGhlaWdodD1cXFwiMjRcXFwiIHZpZXdCb3g9XFxcIjAgMCAyNCAyNFxcXCIgZm9jdXNhYmxlPVxcXCJmYWxzZVxcXCIgcm9sZT1cXFwicHJlc2VudGF0aW9uXFxcIj48cGF0aCBkPVxcXCJNMTQuODIzIDE1Ljg4M2E1LjUgNS41IDAgMSAxIDEuMDYtMS4wNmwyLjY0NyAyLjY0N2MuMjkzLjI5My41My41OSAwIDEuMDYtLjUzLjQ3LS43NjcuMjkzLTEuMDYgMGwtMi42NDctMi42NDd6TTExLjUgMTUuNWE0IDQgMCAxIDAgMC04IDQgNCAwIDAgMCAwIDh6XFxcIiBmaWxsPVxcXCJjdXJyZW50Q29sb3JcXFwiLz48L3N2Zz5cIlxuICB9LCBwcm9wcykpO1xufTtcblxuRWRpdG9yU2VhcmNoSWNvbi5kaXNwbGF5TmFtZSA9ICdFZGl0b3JTZWFyY2hJY29uJztcbnZhciBfZGVmYXVsdCA9IEVkaXRvclNlYXJjaEljb247XG5leHBvcnRzLmRlZmF1bHQgPSBfZGVmYXVsdDsiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/icon/glyph/editor/search.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/icon/glyph/hipchat/chevron-down.js": /*!*******************************************************************!*\ !*** ./node_modules/@atlaskit/icon/glyph/hipchat/chevron-down.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 _react = _interopRequireDefault(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\n\nvar _Icon = _interopRequireDefault(__webpack_require__(/*! ../../cjs/components/Icon */ \"./node_modules/@atlaskit/icon/cjs/components/Icon.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nvar HipchatChevronDownIcon = function HipchatChevronDownIcon(props) {\n return _react.default.createElement(_Icon.default, _extends({\n dangerouslySetGlyph: \"\"\n }, props));\n};\n\nHipchatChevronDownIcon.displayName = 'HipchatChevronDownIcon';\nvar _default = HipchatChevronDownIcon;\nexports.default = _default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L2ljb24vZ2x5cGgvaGlwY2hhdC9jaGV2cm9uLWRvd24uanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L2ljb24vZ2x5cGgvaGlwY2hhdC9jaGV2cm9uLWRvd24uanM/NDg4ZiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbmV4cG9ydHMuZGVmYXVsdCA9IHZvaWQgMDtcblxudmFyIF9yZWFjdCA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcInJlYWN0XCIpKTtcblxudmFyIF9JY29uID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi4vLi4vY2pzL2NvbXBvbmVudHMvSWNvblwiKSk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9OyB9XG5cbmZ1bmN0aW9uIF9leHRlbmRzKCkgeyBfZXh0ZW5kcyA9IE9iamVjdC5hc3NpZ24gfHwgZnVuY3Rpb24gKHRhcmdldCkgeyBmb3IgKHZhciBpID0gMTsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykgeyB2YXIgc291cmNlID0gYXJndW1lbnRzW2ldOyBmb3IgKHZhciBrZXkgaW4gc291cmNlKSB7IGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoc291cmNlLCBrZXkpKSB7IHRhcmdldFtrZXldID0gc291cmNlW2tleV07IH0gfSB9IHJldHVybiB0YXJnZXQ7IH07IHJldHVybiBfZXh0ZW5kcy5hcHBseSh0aGlzLCBhcmd1bWVudHMpOyB9XG5cbnZhciBIaXBjaGF0Q2hldnJvbkRvd25JY29uID0gZnVuY3Rpb24gSGlwY2hhdENoZXZyb25Eb3duSWNvbihwcm9wcykge1xuICByZXR1cm4gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChfSWNvbi5kZWZhdWx0LCBfZXh0ZW5kcyh7XG4gICAgZGFuZ2Vyb3VzbHlTZXRHbHlwaDogXCI8c3ZnIHdpZHRoPVxcXCIyNFxcXCIgaGVpZ2h0PVxcXCIyNFxcXCIgdmlld0JveD1cXFwiMCAwIDI0IDI0XFxcIiBmb2N1c2FibGU9XFxcImZhbHNlXFxcIiByb2xlPVxcXCJwcmVzZW50YXRpb25cXFwiPjxwYXRoIGQ9XFxcIk02Ljc0NCA4Ljc0NGExLjA1MyAxLjA1MyAwIDAgMCAwIDEuNDlsNC41NDcgNC41NTdhMSAxIDAgMCAwIDEuNDE2IDBsNC41NS00LjU1OGExLjA1MSAxLjA1MSAwIDEgMC0xLjQ4OC0xLjQ4OGwtMy43NyAzLjc3Ni0zLjc2OC0zLjc3NmExLjA1MSAxLjA1MSAwIDAgMC0xLjQ4NyAwelxcXCIgZmlsbD1cXFwiY3VycmVudENvbG9yXFxcIi8+PC9zdmc+XCJcbiAgfSwgcHJvcHMpKTtcbn07XG5cbkhpcGNoYXRDaGV2cm9uRG93bkljb24uZGlzcGxheU5hbWUgPSAnSGlwY2hhdENoZXZyb25Eb3duSWNvbic7XG52YXIgX2RlZmF1bHQgPSBIaXBjaGF0Q2hldnJvbkRvd25JY29uO1xuZXhwb3J0cy5kZWZhdWx0ID0gX2RlZmF1bHQ7Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/icon/glyph/hipchat/chevron-down.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/icon/glyph/radio.js": /*!****************************************************!*\ !*** ./node_modules/@atlaskit/icon/glyph/radio.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 _react = _interopRequireDefault(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\n\nvar _Icon = _interopRequireDefault(__webpack_require__(/*! ../cjs/components/Icon */ \"./node_modules/@atlaskit/icon/cjs/components/Icon.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nvar RadioIcon = function RadioIcon(props) {\n return _react.default.createElement(_Icon.default, _extends({\n dangerouslySetGlyph: \"\"\n }, props));\n};\n\nRadioIcon.displayName = 'RadioIcon';\nvar _default = RadioIcon;\nexports.default = _default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L2ljb24vZ2x5cGgvcmFkaW8uanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L2ljb24vZ2x5cGgvcmFkaW8uanM/M2M2YiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbmV4cG9ydHMuZGVmYXVsdCA9IHZvaWQgMDtcblxudmFyIF9yZWFjdCA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcInJlYWN0XCIpKTtcblxudmFyIF9JY29uID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi4vY2pzL2NvbXBvbmVudHMvSWNvblwiKSk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9OyB9XG5cbmZ1bmN0aW9uIF9leHRlbmRzKCkgeyBfZXh0ZW5kcyA9IE9iamVjdC5hc3NpZ24gfHwgZnVuY3Rpb24gKHRhcmdldCkgeyBmb3IgKHZhciBpID0gMTsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykgeyB2YXIgc291cmNlID0gYXJndW1lbnRzW2ldOyBmb3IgKHZhciBrZXkgaW4gc291cmNlKSB7IGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoc291cmNlLCBrZXkpKSB7IHRhcmdldFtrZXldID0gc291cmNlW2tleV07IH0gfSB9IHJldHVybiB0YXJnZXQ7IH07IHJldHVybiBfZXh0ZW5kcy5hcHBseSh0aGlzLCBhcmd1bWVudHMpOyB9XG5cbnZhciBSYWRpb0ljb24gPSBmdW5jdGlvbiBSYWRpb0ljb24ocHJvcHMpIHtcbiAgcmV0dXJuIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoX0ljb24uZGVmYXVsdCwgX2V4dGVuZHMoe1xuICAgIGRhbmdlcm91c2x5U2V0R2x5cGg6IFwiPHN2ZyB3aWR0aD1cXFwiMjRcXFwiIGhlaWdodD1cXFwiMjRcXFwiIHZpZXdCb3g9XFxcIjAgMCAyNCAyNFxcXCIgZm9jdXNhYmxlPVxcXCJmYWxzZVxcXCIgcm9sZT1cXFwicHJlc2VudGF0aW9uXFxcIj48ZyBmaWxsLXJ1bGU9XFxcImV2ZW5vZGRcXFwiPjxjaXJjbGUgZmlsbD1cXFwiY3VycmVudENvbG9yXFxcIiBjeD1cXFwiMTJcXFwiIGN5PVxcXCIxMlxcXCIgcj1cXFwiNlxcXCIvPjxjaXJjbGUgZmlsbD1cXFwiaW5oZXJpdFxcXCIgY3g9XFxcIjEyXFxcIiBjeT1cXFwiMTJcXFwiIHI9XFxcIjJcXFwiLz48L2c+PC9zdmc+XCJcbiAgfSwgcHJvcHMpKTtcbn07XG5cblJhZGlvSWNvbi5kaXNwbGF5TmFtZSA9ICdSYWRpb0ljb24nO1xudmFyIF9kZWZhdWx0ID0gUmFkaW9JY29uO1xuZXhwb3J0cy5kZWZhdWx0ID0gX2RlZmF1bHQ7Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/icon/glyph/radio.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/icon/glyph/select-clear.js": /*!***********************************************************!*\ !*** ./node_modules/@atlaskit/icon/glyph/select-clear.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 _react = _interopRequireDefault(__webpack_require__(/*! react */ \"./node_modules/react/index.js\"));\n\nvar _Icon = _interopRequireDefault(__webpack_require__(/*! ../cjs/components/Icon */ \"./node_modules/@atlaskit/icon/cjs/components/Icon.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nvar SelectClearIcon = function SelectClearIcon(props) {\n return _react.default.createElement(_Icon.default, _extends({\n dangerouslySetGlyph: \"\"\n }, props));\n};\n\nSelectClearIcon.displayName = 'SelectClearIcon';\nvar _default = SelectClearIcon;\nexports.default = _default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L2ljb24vZ2x5cGgvc2VsZWN0LWNsZWFyLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BhdGxhc2tpdC9pY29uL2dseXBoL3NlbGVjdC1jbGVhci5qcz80ZjZkIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuZXhwb3J0cy5kZWZhdWx0ID0gdm9pZCAwO1xuXG52YXIgX3JlYWN0ID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwicmVhY3RcIikpO1xuXG52YXIgX0ljb24gPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuLi9janMvY29tcG9uZW50cy9JY29uXCIpKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxuZnVuY3Rpb24gX2V4dGVuZHMoKSB7IF9leHRlbmRzID0gT2JqZWN0LmFzc2lnbiB8fCBmdW5jdGlvbiAodGFyZ2V0KSB7IGZvciAodmFyIGkgPSAxOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7IHZhciBzb3VyY2UgPSBhcmd1bWVudHNbaV07IGZvciAodmFyIGtleSBpbiBzb3VyY2UpIHsgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzb3VyY2UsIGtleSkpIHsgdGFyZ2V0W2tleV0gPSBzb3VyY2Vba2V5XTsgfSB9IH0gcmV0dXJuIHRhcmdldDsgfTsgcmV0dXJuIF9leHRlbmRzLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7IH1cblxudmFyIFNlbGVjdENsZWFySWNvbiA9IGZ1bmN0aW9uIFNlbGVjdENsZWFySWNvbihwcm9wcykge1xuICByZXR1cm4gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChfSWNvbi5kZWZhdWx0LCBfZXh0ZW5kcyh7XG4gICAgZGFuZ2Vyb3VzbHlTZXRHbHlwaDogXCI8c3ZnIHdpZHRoPVxcXCIyNFxcXCIgaGVpZ2h0PVxcXCIyNFxcXCIgdmlld0JveD1cXFwiMCAwIDI0IDI0XFxcIiBmb2N1c2FibGU9XFxcImZhbHNlXFxcIiByb2xlPVxcXCJwcmVzZW50YXRpb25cXFwiPjxnIGZpbGwtcnVsZT1cXFwiZXZlbm9kZFxcXCI+PGNpcmNsZSBmaWxsPVxcXCJjdXJyZW50Q29sb3JcXFwiIGN4PVxcXCIxMlxcXCIgY3k9XFxcIjEyXFxcIiByPVxcXCI5XFxcIi8+PHBhdGggZD1cXFwiTTE2LjE1NSAxNC40OTNhMS4xNzQgMS4xNzQgMCAxIDEtMS42NjIgMS42NjNMMTIgMTMuNjYybC0yLjQ5NCAyLjQ5NGExLjE3MiAxLjE3MiAwIDAgMS0xLjY2MiAwIDEuMTc2IDEuMTc2IDAgMCAxIDAtMS42NjNMMTAuMzM3IDEyIDcuODQ0IDkuNTA3YTEuMTc2IDEuMTc2IDAgMCAxIDEuNjYyLTEuNjYyTDEyIDEwLjMzOGwyLjQ5My0yLjQ5M2ExLjE3NCAxLjE3NCAwIDEgMSAxLjY2MiAxLjY2MkwxMy42NjIgMTJsMi40OTMgMi40OTN6XFxcIiBmaWxsPVxcXCJpbmhlcml0XFxcIi8+PC9nPjwvc3ZnPlwiXG4gIH0sIHByb3BzKSk7XG59O1xuXG5TZWxlY3RDbGVhckljb24uZGlzcGxheU5hbWUgPSAnU2VsZWN0Q2xlYXJJY29uJztcbnZhciBfZGVmYXVsdCA9IFNlbGVjdENsZWFySWNvbjtcbmV4cG9ydHMuZGVmYXVsdCA9IF9kZWZhdWx0OyJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/icon/glyph/select-clear.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/icon/node_modules/tslib/tslib.es6.js": /*!*********************************************************************!*\ !*** ./node_modules/@atlaskit/icon/node_modules/tslib/tslib.es6.js ***! \*********************************************************************/ /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault, __classPrivateFieldGet, __classPrivateFieldSet */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__extends\", function() { return __extends; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__assign\", function() { return __assign; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__rest\", function() { return __rest; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__decorate\", function() { return __decorate; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__param\", function() { return __param; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__metadata\", function() { return __metadata; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__awaiter\", function() { return __awaiter; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__generator\", function() { return __generator; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__exportStar\", function() { return __exportStar; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__values\", function() { return __values; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__read\", function() { return __read; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__spread\", function() { return __spread; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__spreadArrays\", function() { return __spreadArrays; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__await\", function() { return __await; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__asyncGenerator\", function() { return __asyncGenerator; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__asyncDelegator\", function() { return __asyncDelegator; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__asyncValues\", function() { return __asyncValues; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__makeTemplateObject\", function() { return __makeTemplateObject; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__importStar\", function() { return __importStar; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__importDefault\", function() { return __importDefault; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__classPrivateFieldGet\", function() { return __classPrivateFieldGet; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__classPrivateFieldSet\", function() { return __classPrivateFieldSet; });\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nfunction __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nvar __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nfunction __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nfunction __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nfunction __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nfunction __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nfunction __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nfunction __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nfunction __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nfunction __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nfunction __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nfunction __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nfunction __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nfunction __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nfunction __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nfunction __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nfunction __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nfunction __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nfunction __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nfunction __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nfunction __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nfunction __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L2ljb24vbm9kZV9tb2R1bGVzL3RzbGliL3RzbGliLmVzNi5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AYXRsYXNraXQvaWNvbi9ub2RlX21vZHVsZXMvdHNsaWIvdHNsaWIuZXM2LmpzPzAzMzciXSwic291cmNlc0NvbnRlbnQiOlsiLyohICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbkNvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxyXG5MaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpOyB5b3UgbWF5IG5vdCB1c2VcclxudGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGVcclxuTGljZW5zZSBhdCBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcclxuXHJcblRISVMgQ09ERSBJUyBQUk9WSURFRCBPTiBBTiAqQVMgSVMqIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTllcclxuS0lORCwgRUlUSEVSIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIFdJVEhPVVQgTElNSVRBVElPTiBBTlkgSU1QTElFRFxyXG5XQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgVElUTEUsIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLFxyXG5NRVJDSEFOVEFCTElUWSBPUiBOT04tSU5GUklOR0VNRU5ULlxyXG5cclxuU2VlIHRoZSBBcGFjaGUgVmVyc2lvbiAyLjAgTGljZW5zZSBmb3Igc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zXHJcbmFuZCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cclxuLyogZ2xvYmFsIFJlZmxlY3QsIFByb21pc2UgKi9cclxuXHJcbnZhciBleHRlbmRTdGF0aWNzID0gZnVuY3Rpb24oZCwgYikge1xyXG4gICAgZXh0ZW5kU3RhdGljcyA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiB8fFxyXG4gICAgICAgICh7IF9fcHJvdG9fXzogW10gfSBpbnN0YW5jZW9mIEFycmF5ICYmIGZ1bmN0aW9uIChkLCBiKSB7IGQuX19wcm90b19fID0gYjsgfSkgfHxcclxuICAgICAgICBmdW5jdGlvbiAoZCwgYikgeyBmb3IgKHZhciBwIGluIGIpIGlmIChiLmhhc093blByb3BlcnR5KHApKSBkW3BdID0gYltwXTsgfTtcclxuICAgIHJldHVybiBleHRlbmRTdGF0aWNzKGQsIGIpO1xyXG59O1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fZXh0ZW5kcyhkLCBiKSB7XHJcbiAgICBleHRlbmRTdGF0aWNzKGQsIGIpO1xyXG4gICAgZnVuY3Rpb24gX18oKSB7IHRoaXMuY29uc3RydWN0b3IgPSBkOyB9XHJcbiAgICBkLnByb3RvdHlwZSA9IGIgPT09IG51bGwgPyBPYmplY3QuY3JlYXRlKGIpIDogKF9fLnByb3RvdHlwZSA9IGIucHJvdG90eXBlLCBuZXcgX18oKSk7XHJcbn1cclxuXHJcbmV4cG9ydCB2YXIgX19hc3NpZ24gPSBmdW5jdGlvbigpIHtcclxuICAgIF9fYXNzaWduID0gT2JqZWN0LmFzc2lnbiB8fCBmdW5jdGlvbiBfX2Fzc2lnbih0KSB7XHJcbiAgICAgICAgZm9yICh2YXIgcywgaSA9IDEsIG4gPSBhcmd1bWVudHMubGVuZ3RoOyBpIDwgbjsgaSsrKSB7XHJcbiAgICAgICAgICAgIHMgPSBhcmd1bWVudHNbaV07XHJcbiAgICAgICAgICAgIGZvciAodmFyIHAgaW4gcykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSkgdFtwXSA9IHNbcF07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIF9fYXNzaWduLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3Jlc3QocywgZSkge1xyXG4gICAgdmFyIHQgPSB7fTtcclxuICAgIGZvciAodmFyIHAgaW4gcykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSAmJiBlLmluZGV4T2YocCkgPCAwKVxyXG4gICAgICAgIHRbcF0gPSBzW3BdO1xyXG4gICAgaWYgKHMgIT0gbnVsbCAmJiB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyA9PT0gXCJmdW5jdGlvblwiKVxyXG4gICAgICAgIGZvciAodmFyIGkgPSAwLCBwID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhzKTsgaSA8IHAubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgaWYgKGUuaW5kZXhPZihwW2ldKSA8IDAgJiYgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKHMsIHBbaV0pKVxyXG4gICAgICAgICAgICAgICAgdFtwW2ldXSA9IHNbcFtpXV07XHJcbiAgICAgICAgfVxyXG4gICAgcmV0dXJuIHQ7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2RlY29yYXRlKGRlY29yYXRvcnMsIHRhcmdldCwga2V5LCBkZXNjKSB7XHJcbiAgICB2YXIgYyA9IGFyZ3VtZW50cy5sZW5ndGgsIHIgPSBjIDwgMyA/IHRhcmdldCA6IGRlc2MgPT09IG51bGwgPyBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0YXJnZXQsIGtleSkgOiBkZXNjLCBkO1xyXG4gICAgaWYgKHR5cGVvZiBSZWZsZWN0ID09PSBcIm9iamVjdFwiICYmIHR5cGVvZiBSZWZsZWN0LmRlY29yYXRlID09PSBcImZ1bmN0aW9uXCIpIHIgPSBSZWZsZWN0LmRlY29yYXRlKGRlY29yYXRvcnMsIHRhcmdldCwga2V5LCBkZXNjKTtcclxuICAgIGVsc2UgZm9yICh2YXIgaSA9IGRlY29yYXRvcnMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIGlmIChkID0gZGVjb3JhdG9yc1tpXSkgciA9IChjIDwgMyA/IGQocikgOiBjID4gMyA/IGQodGFyZ2V0LCBrZXksIHIpIDogZCh0YXJnZXQsIGtleSkpIHx8IHI7XHJcbiAgICByZXR1cm4gYyA+IDMgJiYgciAmJiBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIHIpLCByO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19wYXJhbShwYXJhbUluZGV4LCBkZWNvcmF0b3IpIHtcclxuICAgIHJldHVybiBmdW5jdGlvbiAodGFyZ2V0LCBrZXkpIHsgZGVjb3JhdG9yKHRhcmdldCwga2V5LCBwYXJhbUluZGV4KTsgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19tZXRhZGF0YShtZXRhZGF0YUtleSwgbWV0YWRhdGFWYWx1ZSkge1xyXG4gICAgaWYgKHR5cGVvZiBSZWZsZWN0ID09PSBcIm9iamVjdFwiICYmIHR5cGVvZiBSZWZsZWN0Lm1ldGFkYXRhID09PSBcImZ1bmN0aW9uXCIpIHJldHVybiBSZWZsZWN0Lm1ldGFkYXRhKG1ldGFkYXRhS2V5LCBtZXRhZGF0YVZhbHVlKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fYXdhaXRlcih0aGlzQXJnLCBfYXJndW1lbnRzLCBQLCBnZW5lcmF0b3IpIHtcclxuICAgIGZ1bmN0aW9uIGFkb3B0KHZhbHVlKSB7IHJldHVybiB2YWx1ZSBpbnN0YW5jZW9mIFAgPyB2YWx1ZSA6IG5ldyBQKGZ1bmN0aW9uIChyZXNvbHZlKSB7IHJlc29sdmUodmFsdWUpOyB9KTsgfVxyXG4gICAgcmV0dXJuIG5ldyAoUCB8fCAoUCA9IFByb21pc2UpKShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XHJcbiAgICAgICAgZnVuY3Rpb24gZnVsZmlsbGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yLm5leHQodmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxyXG4gICAgICAgIGZ1bmN0aW9uIHJlamVjdGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yW1widGhyb3dcIl0odmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxyXG4gICAgICAgIGZ1bmN0aW9uIHN0ZXAocmVzdWx0KSB7IHJlc3VsdC5kb25lID8gcmVzb2x2ZShyZXN1bHQudmFsdWUpIDogYWRvcHQocmVzdWx0LnZhbHVlKS50aGVuKGZ1bGZpbGxlZCwgcmVqZWN0ZWQpOyB9XHJcbiAgICAgICAgc3RlcCgoZ2VuZXJhdG9yID0gZ2VuZXJhdG9yLmFwcGx5KHRoaXNBcmcsIF9hcmd1bWVudHMgfHwgW10pKS5uZXh0KCkpO1xyXG4gICAgfSk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2dlbmVyYXRvcih0aGlzQXJnLCBib2R5KSB7XHJcbiAgICB2YXIgXyA9IHsgbGFiZWw6IDAsIHNlbnQ6IGZ1bmN0aW9uKCkgeyBpZiAodFswXSAmIDEpIHRocm93IHRbMV07IHJldHVybiB0WzFdOyB9LCB0cnlzOiBbXSwgb3BzOiBbXSB9LCBmLCB5LCB0LCBnO1xyXG4gICAgcmV0dXJuIGcgPSB7IG5leHQ6IHZlcmIoMCksIFwidGhyb3dcIjogdmVyYigxKSwgXCJyZXR1cm5cIjogdmVyYigyKSB9LCB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgKGdbU3ltYm9sLml0ZXJhdG9yXSA9IGZ1bmN0aW9uKCkgeyByZXR1cm4gdGhpczsgfSksIGc7XHJcbiAgICBmdW5jdGlvbiB2ZXJiKG4pIHsgcmV0dXJuIGZ1bmN0aW9uICh2KSB7IHJldHVybiBzdGVwKFtuLCB2XSk7IH07IH1cclxuICAgIGZ1bmN0aW9uIHN0ZXAob3ApIHtcclxuICAgICAgICBpZiAoZikgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkdlbmVyYXRvciBpcyBhbHJlYWR5IGV4ZWN1dGluZy5cIik7XHJcbiAgICAgICAgd2hpbGUgKF8pIHRyeSB7XHJcbiAgICAgICAgICAgIGlmIChmID0gMSwgeSAmJiAodCA9IG9wWzBdICYgMiA/IHlbXCJyZXR1cm5cIl0gOiBvcFswXSA/IHlbXCJ0aHJvd1wiXSB8fCAoKHQgPSB5W1wicmV0dXJuXCJdKSAmJiB0LmNhbGwoeSksIDApIDogeS5uZXh0KSAmJiAhKHQgPSB0LmNhbGwoeSwgb3BbMV0pKS5kb25lKSByZXR1cm4gdDtcclxuICAgICAgICAgICAgaWYgKHkgPSAwLCB0KSBvcCA9IFtvcFswXSAmIDIsIHQudmFsdWVdO1xyXG4gICAgICAgICAgICBzd2l0Y2ggKG9wWzBdKSB7XHJcbiAgICAgICAgICAgICAgICBjYXNlIDA6IGNhc2UgMTogdCA9IG9wOyBicmVhaztcclxuICAgICAgICAgICAgICAgIGNhc2UgNDogXy5sYWJlbCsrOyByZXR1cm4geyB2YWx1ZTogb3BbMV0sIGRvbmU6IGZhbHNlIH07XHJcbiAgICAgICAgICAgICAgICBjYXNlIDU6IF8ubGFiZWwrKzsgeSA9IG9wWzFdOyBvcCA9IFswXTsgY29udGludWU7XHJcbiAgICAgICAgICAgICAgICBjYXNlIDc6IG9wID0gXy5vcHMucG9wKCk7IF8udHJ5cy5wb3AoKTsgY29udGludWU7XHJcbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICAgICAgICAgIGlmICghKHQgPSBfLnRyeXMsIHQgPSB0Lmxlbmd0aCA+IDAgJiYgdFt0Lmxlbmd0aCAtIDFdKSAmJiAob3BbMF0gPT09IDYgfHwgb3BbMF0gPT09IDIpKSB7IF8gPSAwOyBjb250aW51ZTsgfVxyXG4gICAgICAgICAgICAgICAgICAgIGlmIChvcFswXSA9PT0gMyAmJiAoIXQgfHwgKG9wWzFdID4gdFswXSAmJiBvcFsxXSA8IHRbM10pKSkgeyBfLmxhYmVsID0gb3BbMV07IGJyZWFrOyB9XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKG9wWzBdID09PSA2ICYmIF8ubGFiZWwgPCB0WzFdKSB7IF8ubGFiZWwgPSB0WzFdOyB0ID0gb3A7IGJyZWFrOyB9XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHQgJiYgXy5sYWJlbCA8IHRbMl0pIHsgXy5sYWJlbCA9IHRbMl07IF8ub3BzLnB1c2gob3ApOyBicmVhazsgfVxyXG4gICAgICAgICAgICAgICAgICAgIGlmICh0WzJdKSBfLm9wcy5wb3AoKTtcclxuICAgICAgICAgICAgICAgICAgICBfLnRyeXMucG9wKCk7IGNvbnRpbnVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIG9wID0gYm9keS5jYWxsKHRoaXNBcmcsIF8pO1xyXG4gICAgICAgIH0gY2F0Y2ggKGUpIHsgb3AgPSBbNiwgZV07IHkgPSAwOyB9IGZpbmFsbHkgeyBmID0gdCA9IDA7IH1cclxuICAgICAgICBpZiAob3BbMF0gJiA1KSB0aHJvdyBvcFsxXTsgcmV0dXJuIHsgdmFsdWU6IG9wWzBdID8gb3BbMV0gOiB2b2lkIDAsIGRvbmU6IHRydWUgfTtcclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fZXhwb3J0U3RhcihtLCBleHBvcnRzKSB7XHJcbiAgICBmb3IgKHZhciBwIGluIG0pIGlmICghZXhwb3J0cy5oYXNPd25Qcm9wZXJ0eShwKSkgZXhwb3J0c1twXSA9IG1bcF07XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3ZhbHVlcyhvKSB7XHJcbiAgICB2YXIgcyA9IHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiBTeW1ib2wuaXRlcmF0b3IsIG0gPSBzICYmIG9bc10sIGkgPSAwO1xyXG4gICAgaWYgKG0pIHJldHVybiBtLmNhbGwobyk7XHJcbiAgICBpZiAobyAmJiB0eXBlb2Ygby5sZW5ndGggPT09IFwibnVtYmVyXCIpIHJldHVybiB7XHJcbiAgICAgICAgbmV4dDogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICBpZiAobyAmJiBpID49IG8ubGVuZ3RoKSBvID0gdm9pZCAwO1xyXG4gICAgICAgICAgICByZXR1cm4geyB2YWx1ZTogbyAmJiBvW2krK10sIGRvbmU6ICFvIH07XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuICAgIHRocm93IG5ldyBUeXBlRXJyb3IocyA/IFwiT2JqZWN0IGlzIG5vdCBpdGVyYWJsZS5cIiA6IFwiU3ltYm9sLml0ZXJhdG9yIGlzIG5vdCBkZWZpbmVkLlwiKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fcmVhZChvLCBuKSB7XHJcbiAgICB2YXIgbSA9IHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiBvW1N5bWJvbC5pdGVyYXRvcl07XHJcbiAgICBpZiAoIW0pIHJldHVybiBvO1xyXG4gICAgdmFyIGkgPSBtLmNhbGwobyksIHIsIGFyID0gW10sIGU7XHJcbiAgICB0cnkge1xyXG4gICAgICAgIHdoaWxlICgobiA9PT0gdm9pZCAwIHx8IG4tLSA+IDApICYmICEociA9IGkubmV4dCgpKS5kb25lKSBhci5wdXNoKHIudmFsdWUpO1xyXG4gICAgfVxyXG4gICAgY2F0Y2ggKGVycm9yKSB7IGUgPSB7IGVycm9yOiBlcnJvciB9OyB9XHJcbiAgICBmaW5hbGx5IHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBpZiAociAmJiAhci5kb25lICYmIChtID0gaVtcInJldHVyblwiXSkpIG0uY2FsbChpKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZmluYWxseSB7IGlmIChlKSB0aHJvdyBlLmVycm9yOyB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYXI7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3NwcmVhZCgpIHtcclxuICAgIGZvciAodmFyIGFyID0gW10sIGkgPSAwOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKVxyXG4gICAgICAgIGFyID0gYXIuY29uY2F0KF9fcmVhZChhcmd1bWVudHNbaV0pKTtcclxuICAgIHJldHVybiBhcjtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fc3ByZWFkQXJyYXlzKCkge1xyXG4gICAgZm9yICh2YXIgcyA9IDAsIGkgPSAwLCBpbCA9IGFyZ3VtZW50cy5sZW5ndGg7IGkgPCBpbDsgaSsrKSBzICs9IGFyZ3VtZW50c1tpXS5sZW5ndGg7XHJcbiAgICBmb3IgKHZhciByID0gQXJyYXkocyksIGsgPSAwLCBpID0gMDsgaSA8IGlsOyBpKyspXHJcbiAgICAgICAgZm9yICh2YXIgYSA9IGFyZ3VtZW50c1tpXSwgaiA9IDAsIGpsID0gYS5sZW5ndGg7IGogPCBqbDsgaisrLCBrKyspXHJcbiAgICAgICAgICAgIHJba10gPSBhW2pdO1xyXG4gICAgcmV0dXJuIHI7XHJcbn07XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19hd2FpdCh2KSB7XHJcbiAgICByZXR1cm4gdGhpcyBpbnN0YW5jZW9mIF9fYXdhaXQgPyAodGhpcy52ID0gdiwgdGhpcykgOiBuZXcgX19hd2FpdCh2KTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fYXN5bmNHZW5lcmF0b3IodGhpc0FyZywgX2FyZ3VtZW50cywgZ2VuZXJhdG9yKSB7XHJcbiAgICBpZiAoIVN5bWJvbC5hc3luY0l0ZXJhdG9yKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiU3ltYm9sLmFzeW5jSXRlcmF0b3IgaXMgbm90IGRlZmluZWQuXCIpO1xyXG4gICAgdmFyIGcgPSBnZW5lcmF0b3IuYXBwbHkodGhpc0FyZywgX2FyZ3VtZW50cyB8fCBbXSksIGksIHEgPSBbXTtcclxuICAgIHJldHVybiBpID0ge30sIHZlcmIoXCJuZXh0XCIpLCB2ZXJiKFwidGhyb3dcIiksIHZlcmIoXCJyZXR1cm5cIiksIGlbU3ltYm9sLmFzeW5jSXRlcmF0b3JdID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gdGhpczsgfSwgaTtcclxuICAgIGZ1bmN0aW9uIHZlcmIobikgeyBpZiAoZ1tuXSkgaVtuXSA9IGZ1bmN0aW9uICh2KSB7IHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbiAoYSwgYikgeyBxLnB1c2goW24sIHYsIGEsIGJdKSA+IDEgfHwgcmVzdW1lKG4sIHYpOyB9KTsgfTsgfVxyXG4gICAgZnVuY3Rpb24gcmVzdW1lKG4sIHYpIHsgdHJ5IHsgc3RlcChnW25dKHYpKTsgfSBjYXRjaCAoZSkgeyBzZXR0bGUocVswXVszXSwgZSk7IH0gfVxyXG4gICAgZnVuY3Rpb24gc3RlcChyKSB7IHIudmFsdWUgaW5zdGFuY2VvZiBfX2F3YWl0ID8gUHJvbWlzZS5yZXNvbHZlKHIudmFsdWUudikudGhlbihmdWxmaWxsLCByZWplY3QpIDogc2V0dGxlKHFbMF1bMl0sIHIpOyB9XHJcbiAgICBmdW5jdGlvbiBmdWxmaWxsKHZhbHVlKSB7IHJlc3VtZShcIm5leHRcIiwgdmFsdWUpOyB9XHJcbiAgICBmdW5jdGlvbiByZWplY3QodmFsdWUpIHsgcmVzdW1lKFwidGhyb3dcIiwgdmFsdWUpOyB9XHJcbiAgICBmdW5jdGlvbiBzZXR0bGUoZiwgdikgeyBpZiAoZih2KSwgcS5zaGlmdCgpLCBxLmxlbmd0aCkgcmVzdW1lKHFbMF1bMF0sIHFbMF1bMV0pOyB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2FzeW5jRGVsZWdhdG9yKG8pIHtcclxuICAgIHZhciBpLCBwO1xyXG4gICAgcmV0dXJuIGkgPSB7fSwgdmVyYihcIm5leHRcIiksIHZlcmIoXCJ0aHJvd1wiLCBmdW5jdGlvbiAoZSkgeyB0aHJvdyBlOyB9KSwgdmVyYihcInJldHVyblwiKSwgaVtTeW1ib2wuaXRlcmF0b3JdID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gdGhpczsgfSwgaTtcclxuICAgIGZ1bmN0aW9uIHZlcmIobiwgZikgeyBpW25dID0gb1tuXSA/IGZ1bmN0aW9uICh2KSB7IHJldHVybiAocCA9ICFwKSA/IHsgdmFsdWU6IF9fYXdhaXQob1tuXSh2KSksIGRvbmU6IG4gPT09IFwicmV0dXJuXCIgfSA6IGYgPyBmKHYpIDogdjsgfSA6IGY7IH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fYXN5bmNWYWx1ZXMobykge1xyXG4gICAgaWYgKCFTeW1ib2wuYXN5bmNJdGVyYXRvcikgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlN5bWJvbC5hc3luY0l0ZXJhdG9yIGlzIG5vdCBkZWZpbmVkLlwiKTtcclxuICAgIHZhciBtID0gb1tTeW1ib2wuYXN5bmNJdGVyYXRvcl0sIGk7XHJcbiAgICByZXR1cm4gbSA/IG0uY2FsbChvKSA6IChvID0gdHlwZW9mIF9fdmFsdWVzID09PSBcImZ1bmN0aW9uXCIgPyBfX3ZhbHVlcyhvKSA6IG9bU3ltYm9sLml0ZXJhdG9yXSgpLCBpID0ge30sIHZlcmIoXCJuZXh0XCIpLCB2ZXJiKFwidGhyb3dcIiksIHZlcmIoXCJyZXR1cm5cIiksIGlbU3ltYm9sLmFzeW5jSXRlcmF0b3JdID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gdGhpczsgfSwgaSk7XHJcbiAgICBmdW5jdGlvbiB2ZXJiKG4pIHsgaVtuXSA9IG9bbl0gJiYgZnVuY3Rpb24gKHYpIHsgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHsgdiA9IG9bbl0odiksIHNldHRsZShyZXNvbHZlLCByZWplY3QsIHYuZG9uZSwgdi52YWx1ZSk7IH0pOyB9OyB9XHJcbiAgICBmdW5jdGlvbiBzZXR0bGUocmVzb2x2ZSwgcmVqZWN0LCBkLCB2KSB7IFByb21pc2UucmVzb2x2ZSh2KS50aGVuKGZ1bmN0aW9uKHYpIHsgcmVzb2x2ZSh7IHZhbHVlOiB2LCBkb25lOiBkIH0pOyB9LCByZWplY3QpOyB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX21ha2VUZW1wbGF0ZU9iamVjdChjb29rZWQsIHJhdykge1xyXG4gICAgaWYgKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSkgeyBPYmplY3QuZGVmaW5lUHJvcGVydHkoY29va2VkLCBcInJhd1wiLCB7IHZhbHVlOiByYXcgfSk7IH0gZWxzZSB7IGNvb2tlZC5yYXcgPSByYXc7IH1cclxuICAgIHJldHVybiBjb29rZWQ7XHJcbn07XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19pbXBvcnRTdGFyKG1vZCkge1xyXG4gICAgaWYgKG1vZCAmJiBtb2QuX19lc01vZHVsZSkgcmV0dXJuIG1vZDtcclxuICAgIHZhciByZXN1bHQgPSB7fTtcclxuICAgIGlmIChtb2QgIT0gbnVsbCkgZm9yICh2YXIgayBpbiBtb2QpIGlmIChPYmplY3QuaGFzT3duUHJvcGVydHkuY2FsbChtb2QsIGspKSByZXN1bHRba10gPSBtb2Rba107XHJcbiAgICByZXN1bHQuZGVmYXVsdCA9IG1vZDtcclxuICAgIHJldHVybiByZXN1bHQ7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2ltcG9ydERlZmF1bHQobW9kKSB7XHJcbiAgICByZXR1cm4gKG1vZCAmJiBtb2QuX19lc01vZHVsZSkgPyBtb2QgOiB7IGRlZmF1bHQ6IG1vZCB9O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19jbGFzc1ByaXZhdGVGaWVsZEdldChyZWNlaXZlciwgcHJpdmF0ZU1hcCkge1xyXG4gICAgaWYgKCFwcml2YXRlTWFwLmhhcyhyZWNlaXZlcikpIHtcclxuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiYXR0ZW1wdGVkIHRvIGdldCBwcml2YXRlIGZpZWxkIG9uIG5vbi1pbnN0YW5jZVwiKTtcclxuICAgIH1cclxuICAgIHJldHVybiBwcml2YXRlTWFwLmdldChyZWNlaXZlcik7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2NsYXNzUHJpdmF0ZUZpZWxkU2V0KHJlY2VpdmVyLCBwcml2YXRlTWFwLCB2YWx1ZSkge1xyXG4gICAgaWYgKCFwcml2YXRlTWFwLmhhcyhyZWNlaXZlcikpIHtcclxuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiYXR0ZW1wdGVkIHRvIHNldCBwcml2YXRlIGZpZWxkIG9uIG5vbi1pbnN0YW5jZVwiKTtcclxuICAgIH1cclxuICAgIHByaXZhdGVNYXAuc2V0KHJlY2VpdmVyLCB2YWx1ZSk7XHJcbiAgICByZXR1cm4gdmFsdWU7XHJcbn1cclxuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/icon/node_modules/tslib/tslib.es6.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/navigation-next/dist/esm/common/analytics.js": /*!*****************************************************************************!*\ !*** ./node_modules/@atlaskit/navigation-next/dist/esm/common/analytics.js ***! \*****************************************************************************/ /*! exports provided: navigationChannel, navigationItemClicked, navigationUILoaded, navigationExpandedCollapsed */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"navigationChannel\", function() { return navigationChannel; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"navigationItemClicked\", function() { return navigationItemClicked; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"navigationUILoaded\", function() { return navigationUILoaded; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"navigationExpandedCollapsed\", function() { return navigationExpandedCollapsed; });\n/* harmony import */ var _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ \"./node_modules/@babel/runtime/helpers/objectWithoutProperties.js\");\n/* harmony import */ var _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/objectSpread */ \"./node_modules/@babel/runtime/helpers/objectSpread.js\");\n/* harmony import */ var _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _atlaskit_analytics_next__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @atlaskit/analytics-next */ \"./node_modules/@atlaskit/analytics-next/dist/esm/index.js\");\n\n\n\nvar navigationChannel = 'navigation';\n\nvar getDisplayName = function getDisplayName(component) {\n return component ? component.displayName || component.name : undefined;\n};\n\nvar kebabToCamelCase = function kebabToCamelCase(str) {\n return \"\".concat(str).replace(/-([a-z])/gi, function (g) {\n return g[1].toUpperCase();\n });\n};\n\nvar navigationItemClicked = function navigationItemClicked(Component, componentName) {\n var useActionSubjectId = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n return Object(_atlaskit_analytics_next__WEBPACK_IMPORTED_MODULE_2__[\"withAnalyticsContext\"])({\n componentName: componentName\n })(Object(_atlaskit_analytics_next__WEBPACK_IMPORTED_MODULE_2__[\"withAnalyticsEvents\"])({\n onClick: function onClick(createAnalyticsEvent, props) {\n var id = kebabToCamelCase(props.id);\n var basePayload = {\n action: 'clicked',\n actionSubject: 'navigationItem',\n attributes: {\n componentName: componentName,\n iconSource: getDisplayName(props.icon) || getDisplayName(props.before),\n navigationItemIndex: props.index\n }\n };\n var payload;\n\n if (useActionSubjectId) {\n payload = _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_1___default()({}, basePayload, {\n actionSubjectId: id\n });\n } else {\n var attributes = basePayload.attributes,\n basePayloadSansAttributes = _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_0___default()(basePayload, [\"attributes\"]);\n\n payload = _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_1___default()({}, basePayloadSansAttributes, {\n attributes: _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_1___default()({}, attributes, {\n itemId: id\n })\n });\n }\n\n var event = createAnalyticsEvent(payload);\n event.fire(navigationChannel);\n return null;\n }\n })(Component));\n};\nvar navigationUILoaded = function navigationUILoaded(createAnalyticsEvent, _ref) {\n var layer = _ref.layer;\n return createAnalyticsEvent({\n action: 'initialised',\n actionSubject: 'navigationUI',\n actionSubjectId: layer,\n eventType: 'operational'\n }).fire(navigationChannel);\n};\nvar navigationExpandedCollapsed = function navigationExpandedCollapsed(createAnalyticsEvent, _ref2) {\n var isCollapsed = _ref2.isCollapsed,\n trigger = _ref2.trigger;\n return createAnalyticsEvent({\n action: isCollapsed ? 'collapsed' : 'expanded',\n actionSubject: 'productNavigation',\n attributes: {\n trigger: trigger\n }\n }).fire(navigationChannel);\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS9jb21tb24vYW5hbHl0aWNzLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BhdGxhc2tpdC9uYXZpZ2F0aW9uLW5leHQvZGlzdC9lc20vY29tbW9uL2FuYWx5dGljcy5qcz9jZTFjIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvb2JqZWN0V2l0aG91dFByb3BlcnRpZXNcIjtcbmltcG9ydCBfb2JqZWN0U3ByZWFkIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL29iamVjdFNwcmVhZFwiO1xuaW1wb3J0IHsgd2l0aEFuYWx5dGljc0NvbnRleHQsIHdpdGhBbmFseXRpY3NFdmVudHMgfSBmcm9tICdAYXRsYXNraXQvYW5hbHl0aWNzLW5leHQnO1xuZXhwb3J0IHZhciBuYXZpZ2F0aW9uQ2hhbm5lbCA9ICduYXZpZ2F0aW9uJztcblxudmFyIGdldERpc3BsYXlOYW1lID0gZnVuY3Rpb24gZ2V0RGlzcGxheU5hbWUoY29tcG9uZW50KSB7XG4gIHJldHVybiBjb21wb25lbnQgPyBjb21wb25lbnQuZGlzcGxheU5hbWUgfHwgY29tcG9uZW50Lm5hbWUgOiB1bmRlZmluZWQ7XG59O1xuXG52YXIga2ViYWJUb0NhbWVsQ2FzZSA9IGZ1bmN0aW9uIGtlYmFiVG9DYW1lbENhc2Uoc3RyKSB7XG4gIHJldHVybiBcIlwiLmNvbmNhdChzdHIpLnJlcGxhY2UoLy0oW2Etel0pL2dpLCBmdW5jdGlvbiAoZykge1xuICAgIHJldHVybiBnWzFdLnRvVXBwZXJDYXNlKCk7XG4gIH0pO1xufTtcblxuZXhwb3J0IHZhciBuYXZpZ2F0aW9uSXRlbUNsaWNrZWQgPSBmdW5jdGlvbiBuYXZpZ2F0aW9uSXRlbUNsaWNrZWQoQ29tcG9uZW50LCBjb21wb25lbnROYW1lKSB7XG4gIHZhciB1c2VBY3Rpb25TdWJqZWN0SWQgPSBhcmd1bWVudHMubGVuZ3RoID4gMiAmJiBhcmd1bWVudHNbMl0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1syXSA6IGZhbHNlO1xuICByZXR1cm4gd2l0aEFuYWx5dGljc0NvbnRleHQoe1xuICAgIGNvbXBvbmVudE5hbWU6IGNvbXBvbmVudE5hbWVcbiAgfSkod2l0aEFuYWx5dGljc0V2ZW50cyh7XG4gICAgb25DbGljazogZnVuY3Rpb24gb25DbGljayhjcmVhdGVBbmFseXRpY3NFdmVudCwgcHJvcHMpIHtcbiAgICAgIHZhciBpZCA9IGtlYmFiVG9DYW1lbENhc2UocHJvcHMuaWQpO1xuICAgICAgdmFyIGJhc2VQYXlsb2FkID0ge1xuICAgICAgICBhY3Rpb246ICdjbGlja2VkJyxcbiAgICAgICAgYWN0aW9uU3ViamVjdDogJ25hdmlnYXRpb25JdGVtJyxcbiAgICAgICAgYXR0cmlidXRlczoge1xuICAgICAgICAgIGNvbXBvbmVudE5hbWU6IGNvbXBvbmVudE5hbWUsXG4gICAgICAgICAgaWNvblNvdXJjZTogZ2V0RGlzcGxheU5hbWUocHJvcHMuaWNvbikgfHwgZ2V0RGlzcGxheU5hbWUocHJvcHMuYmVmb3JlKSxcbiAgICAgICAgICBuYXZpZ2F0aW9uSXRlbUluZGV4OiBwcm9wcy5pbmRleFxuICAgICAgICB9XG4gICAgICB9O1xuICAgICAgdmFyIHBheWxvYWQ7XG5cbiAgICAgIGlmICh1c2VBY3Rpb25TdWJqZWN0SWQpIHtcbiAgICAgICAgcGF5bG9hZCA9IF9vYmplY3RTcHJlYWQoe30sIGJhc2VQYXlsb2FkLCB7XG4gICAgICAgICAgYWN0aW9uU3ViamVjdElkOiBpZFxuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHZhciBhdHRyaWJ1dGVzID0gYmFzZVBheWxvYWQuYXR0cmlidXRlcyxcbiAgICAgICAgICAgIGJhc2VQYXlsb2FkU2Fuc0F0dHJpYnV0ZXMgPSBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMoYmFzZVBheWxvYWQsIFtcImF0dHJpYnV0ZXNcIl0pO1xuXG4gICAgICAgIHBheWxvYWQgPSBfb2JqZWN0U3ByZWFkKHt9LCBiYXNlUGF5bG9hZFNhbnNBdHRyaWJ1dGVzLCB7XG4gICAgICAgICAgYXR0cmlidXRlczogX29iamVjdFNwcmVhZCh7fSwgYXR0cmlidXRlcywge1xuICAgICAgICAgICAgaXRlbUlkOiBpZFxuICAgICAgICAgIH0pXG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICB2YXIgZXZlbnQgPSBjcmVhdGVBbmFseXRpY3NFdmVudChwYXlsb2FkKTtcbiAgICAgIGV2ZW50LmZpcmUobmF2aWdhdGlvbkNoYW5uZWwpO1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9KShDb21wb25lbnQpKTtcbn07XG5leHBvcnQgdmFyIG5hdmlnYXRpb25VSUxvYWRlZCA9IGZ1bmN0aW9uIG5hdmlnYXRpb25VSUxvYWRlZChjcmVhdGVBbmFseXRpY3NFdmVudCwgX3JlZikge1xuICB2YXIgbGF5ZXIgPSBfcmVmLmxheWVyO1xuICByZXR1cm4gY3JlYXRlQW5hbHl0aWNzRXZlbnQoe1xuICAgIGFjdGlvbjogJ2luaXRpYWxpc2VkJyxcbiAgICBhY3Rpb25TdWJqZWN0OiAnbmF2aWdhdGlvblVJJyxcbiAgICBhY3Rpb25TdWJqZWN0SWQ6IGxheWVyLFxuICAgIGV2ZW50VHlwZTogJ29wZXJhdGlvbmFsJ1xuICB9KS5maXJlKG5hdmlnYXRpb25DaGFubmVsKTtcbn07XG5leHBvcnQgdmFyIG5hdmlnYXRpb25FeHBhbmRlZENvbGxhcHNlZCA9IGZ1bmN0aW9uIG5hdmlnYXRpb25FeHBhbmRlZENvbGxhcHNlZChjcmVhdGVBbmFseXRpY3NFdmVudCwgX3JlZjIpIHtcbiAgdmFyIGlzQ29sbGFwc2VkID0gX3JlZjIuaXNDb2xsYXBzZWQsXG4gICAgICB0cmlnZ2VyID0gX3JlZjIudHJpZ2dlcjtcbiAgcmV0dXJuIGNyZWF0ZUFuYWx5dGljc0V2ZW50KHtcbiAgICBhY3Rpb246IGlzQ29sbGFwc2VkID8gJ2NvbGxhcHNlZCcgOiAnZXhwYW5kZWQnLFxuICAgIGFjdGlvblN1YmplY3Q6ICdwcm9kdWN0TmF2aWdhdGlvbicsXG4gICAgYXR0cmlidXRlczoge1xuICAgICAgdHJpZ2dlcjogdHJpZ2dlclxuICAgIH1cbiAgfSkuZmlyZShuYXZpZ2F0aW9uQ2hhbm5lbCk7XG59OyJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/navigation-next/dist/esm/common/analytics.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/navigation-next/dist/esm/common/constants.js": /*!*****************************************************************************!*\ !*** ./node_modules/@atlaskit/navigation-next/dist/esm/common/constants.js ***! \*****************************************************************************/ /*! exports provided: transitionDuration, transitionDurationMs, transitionTimingFunction, FLYOUT_DELAY, ALTERNATE_FLYOUT_DELAY, CONTENT_NAV_WIDTH, CONTENT_NAV_WIDTH_FLYOUT, CONTENT_NAV_WIDTH_COLLAPSED, GLOBAL_NAV_WIDTH, GLOBAL_NAV_COLLAPSE_THRESHOLD, HORIZONTAL_GLOBAL_NAV_HEIGHT */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"transitionDuration\", function() { return transitionDuration; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"transitionDurationMs\", function() { return transitionDurationMs; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"transitionTimingFunction\", function() { return transitionTimingFunction; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"FLYOUT_DELAY\", function() { return FLYOUT_DELAY; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ALTERNATE_FLYOUT_DELAY\", function() { return ALTERNATE_FLYOUT_DELAY; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"CONTENT_NAV_WIDTH\", function() { return CONTENT_NAV_WIDTH; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"CONTENT_NAV_WIDTH_FLYOUT\", function() { return CONTENT_NAV_WIDTH_FLYOUT; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"CONTENT_NAV_WIDTH_COLLAPSED\", function() { return CONTENT_NAV_WIDTH_COLLAPSED; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"GLOBAL_NAV_WIDTH\", function() { return GLOBAL_NAV_WIDTH; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"GLOBAL_NAV_COLLAPSE_THRESHOLD\", function() { return GLOBAL_NAV_COLLAPSE_THRESHOLD; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"HORIZONTAL_GLOBAL_NAV_HEIGHT\", function() { return HORIZONTAL_GLOBAL_NAV_HEIGHT; });\nvar transitionDuration = '0.22s';\nvar transitionDurationMs = 220;\nvar transitionTimingFunction = 'cubic-bezier(0.2, 0, 0, 1)';\nvar FLYOUT_DELAY = 350;\nvar ALTERNATE_FLYOUT_DELAY = 200;\nvar CONTENT_NAV_WIDTH = 240;\nvar CONTENT_NAV_WIDTH_FLYOUT = 232;\nvar CONTENT_NAV_WIDTH_COLLAPSED = 20;\nvar GLOBAL_NAV_WIDTH = 64;\nvar GLOBAL_NAV_COLLAPSE_THRESHOLD = 200;\nvar HORIZONTAL_GLOBAL_NAV_HEIGHT = 56;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS9jb21tb24vY29uc3RhbnRzLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BhdGxhc2tpdC9uYXZpZ2F0aW9uLW5leHQvZGlzdC9lc20vY29tbW9uL2NvbnN0YW50cy5qcz82NDI4Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB2YXIgdHJhbnNpdGlvbkR1cmF0aW9uID0gJzAuMjJzJztcbmV4cG9ydCB2YXIgdHJhbnNpdGlvbkR1cmF0aW9uTXMgPSAyMjA7XG5leHBvcnQgdmFyIHRyYW5zaXRpb25UaW1pbmdGdW5jdGlvbiA9ICdjdWJpYy1iZXppZXIoMC4yLCAwLCAwLCAxKSc7XG5leHBvcnQgdmFyIEZMWU9VVF9ERUxBWSA9IDM1MDtcbmV4cG9ydCB2YXIgQUxURVJOQVRFX0ZMWU9VVF9ERUxBWSA9IDIwMDtcbmV4cG9ydCB2YXIgQ09OVEVOVF9OQVZfV0lEVEggPSAyNDA7XG5leHBvcnQgdmFyIENPTlRFTlRfTkFWX1dJRFRIX0ZMWU9VVCA9IDIzMjtcbmV4cG9ydCB2YXIgQ09OVEVOVF9OQVZfV0lEVEhfQ09MTEFQU0VEID0gMjA7XG5leHBvcnQgdmFyIEdMT0JBTF9OQVZfV0lEVEggPSA2NDtcbmV4cG9ydCB2YXIgR0xPQkFMX05BVl9DT0xMQVBTRV9USFJFU0hPTEQgPSAyMDA7XG5leHBvcnQgdmFyIEhPUklaT05UQUxfR0xPQkFMX05BVl9IRUlHSFQgPSA1NjsiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/navigation-next/dist/esm/common/constants.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/navigation-next/dist/esm/common/helpers.js": /*!***************************************************************************!*\ !*** ./node_modules/@atlaskit/navigation-next/dist/esm/common/helpers.js ***! \***************************************************************************/ /*! exports provided: applyDisabledProperties */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"applyDisabledProperties\", function() { return applyDisabledProperties; });\nfunction applyDisabledProperties(disableInteraction) {\n return disableInteraction ? {\n pointerEvents: 'none',\n userSelect: 'none'\n } : null;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS9jb21tb24vaGVscGVycy5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AYXRsYXNraXQvbmF2aWdhdGlvbi1uZXh0L2Rpc3QvZXNtL2NvbW1vbi9oZWxwZXJzLmpzP2Q4ZTAiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIGFwcGx5RGlzYWJsZWRQcm9wZXJ0aWVzKGRpc2FibGVJbnRlcmFjdGlvbikge1xuICByZXR1cm4gZGlzYWJsZUludGVyYWN0aW9uID8ge1xuICAgIHBvaW50ZXJFdmVudHM6ICdub25lJyxcbiAgICB1c2VyU2VsZWN0OiAnbm9uZSdcbiAgfSA6IG51bGw7XG59Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/navigation-next/dist/esm/common/helpers.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/navigation-next/dist/esm/common/primitives.js": /*!******************************************************************************!*\ !*** ./node_modules/@atlaskit/navigation-next/dist/esm/common/primitives.js ***! \******************************************************************************/ /*! exports provided: Shadow */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Shadow\", function() { return Shadow; });\n/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _emotion_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @emotion/css */ \"./node_modules/@emotion/css/dist/css.browser.esm.js\");\n/* harmony import */ var _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ \"./node_modules/@babel/runtime/helpers/objectWithoutProperties.js\");\n/* harmony import */ var _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _emotion_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @emotion/core */ \"./node_modules/@emotion/core/dist/core.browser.esm.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./constants */ \"./node_modules/@atlaskit/navigation-next/dist/esm/common/constants.js\");\n\n\n\n\n\n\nvar Shadow = function Shadow(_ref) {\n var direction = _ref.direction,\n isBold = _ref.isBold,\n isOverDarkBg = _ref.isOverDarkBg,\n props = _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_2___default()(_ref, [\"direction\", \"isBold\", \"isOverDarkBg\"]);\n\n var width = isOverDarkBg ? 6 : 3;\n if (isBold) width = isOverDarkBg ? 12 : 6;\n var colorStops = \"\\n rgba(0, 0, 0, 0.2) 0px,\\n rgba(0, 0, 0, 0.2) 1px,\\n rgba(0, 0, 0, 0.1) 1px,\\n rgba(0, 0, 0, 0) 100%\\n \";\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_3__[\"jsx\"])(\"div\", _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({\n css:\n /*#__PURE__*/\n Object(_emotion_css__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n background: \"linear-gradient(\".concat(direction, \", \").concat(colorStops, \")\"),\n bottom: 0,\n left: direction === 'to left' ? -width : -1,\n opacity: isBold ? 1 : 0.5,\n pointerEvents: 'none',\n position: 'absolute',\n top: 0,\n transitionDuration: _constants__WEBPACK_IMPORTED_MODULE_5__[\"transitionDuration\"],\n transitionProperty: 'left, opacity, width',\n transitionTimingFunction: _constants__WEBPACK_IMPORTED_MODULE_5__[\"transitionTimingFunction\"],\n width: width\n }, false ? undefined : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tb24vcHJpbWl0aXZlcy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFpQk0iLCJmaWxlIjoiLi4vLi4vLi4vc3JjL2NvbW1vbi9wcmltaXRpdmVzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHsgdHJhbnNpdGlvbkR1cmF0aW9uLCB0cmFuc2l0aW9uVGltaW5nRnVuY3Rpb24gfSBmcm9tICcuL2NvbnN0YW50cyc7XG5cbmV4cG9ydCBjb25zdCBTaGFkb3cgPSAoeyBkaXJlY3Rpb24sIGlzQm9sZCwgaXNPdmVyRGFya0JnLCAuLi5wcm9wcyB9KSA9PiB7XG4gIGxldCB3aWR0aCA9IGlzT3ZlckRhcmtCZyA/IDYgOiAzO1xuICBpZiAoaXNCb2xkKSB3aWR0aCA9IGlzT3ZlckRhcmtCZyA/IDEyIDogNjtcblxuICBjb25zdCBjb2xvclN0b3BzID0gYFxuICAgIHJnYmEoMCwgMCwgMCwgMC4yKSAwcHgsXG4gICAgcmdiYSgwLCAwLCAwLCAwLjIpIDFweCxcbiAgICByZ2JhKDAsIDAsIDAsIDAuMSkgMXB4LFxuICAgIHJnYmEoMCwgMCwgMCwgMCkgMTAwJVxuICBgO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgY3NzPXt7XG4gICAgICAgIGJhY2tncm91bmQ6IGBsaW5lYXItZ3JhZGllbnQoJHtkaXJlY3Rpb259LCAke2NvbG9yU3RvcHN9KWAsXG4gICAgICAgIGJvdHRvbTogMCxcbiAgICAgICAgbGVmdDogZGlyZWN0aW9uID09PSAndG8gbGVmdCcgPyAtd2lkdGggOiAtMSxcbiAgICAgICAgb3BhY2l0eTogaXNCb2xkID8gMSA6IDAuNSxcbiAgICAgICAgcG9pbnRlckV2ZW50czogJ25vbmUnLFxuICAgICAgICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgICAgICAgdG9wOiAwLFxuICAgICAgICB0cmFuc2l0aW9uRHVyYXRpb24sXG4gICAgICAgIHRyYW5zaXRpb25Qcm9wZXJ0eTogJ2xlZnQsIG9wYWNpdHksIHdpZHRoJyxcbiAgICAgICAgdHJhbnNpdGlvblRpbWluZ0Z1bmN0aW9uLFxuICAgICAgICB3aWR0aCxcbiAgICAgIH19XG4gICAgICB7Li4ucHJvcHN9XG4gICAgLz5cbiAgKTtcbn07XG5TaGFkb3cuZGVmYXVsdFByb3BzID0ge1xuICBkaXJlY3Rpb246ICd0byBsZWZ0Jyxcbn07XG4iXX0= */\")\n }, props));\n};\nShadow.defaultProps = {\n direction: 'to left'\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS9jb21tb24vcHJpbWl0aXZlcy5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AYXRsYXNraXQvbmF2aWdhdGlvbi1uZXh0L2Rpc3QvZXNtL2NvbW1vbi9wcmltaXRpdmVzLmpzP2ZhYjEiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IF9leHRlbmRzIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2V4dGVuZHNcIjtcbmltcG9ydCBfY3NzIGZyb20gXCJAZW1vdGlvbi9jc3NcIjtcbmltcG9ydCBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvb2JqZWN0V2l0aG91dFByb3BlcnRpZXNcIjtcbmltcG9ydCB7IGpzeCBhcyBfX19FbW90aW9uSlNYIH0gZnJvbSBcIkBlbW90aW9uL2NvcmVcIjtcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyB0cmFuc2l0aW9uRHVyYXRpb24sIHRyYW5zaXRpb25UaW1pbmdGdW5jdGlvbiB9IGZyb20gJy4vY29uc3RhbnRzJztcbmV4cG9ydCB2YXIgU2hhZG93ID0gZnVuY3Rpb24gU2hhZG93KF9yZWYpIHtcbiAgdmFyIGRpcmVjdGlvbiA9IF9yZWYuZGlyZWN0aW9uLFxuICAgICAgaXNCb2xkID0gX3JlZi5pc0JvbGQsXG4gICAgICBpc092ZXJEYXJrQmcgPSBfcmVmLmlzT3ZlckRhcmtCZyxcbiAgICAgIHByb3BzID0gX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzKF9yZWYsIFtcImRpcmVjdGlvblwiLCBcImlzQm9sZFwiLCBcImlzT3ZlckRhcmtCZ1wiXSk7XG5cbiAgdmFyIHdpZHRoID0gaXNPdmVyRGFya0JnID8gNiA6IDM7XG4gIGlmIChpc0JvbGQpIHdpZHRoID0gaXNPdmVyRGFya0JnID8gMTIgOiA2O1xuICB2YXIgY29sb3JTdG9wcyA9IFwiXFxuICAgIHJnYmEoMCwgMCwgMCwgMC4yKSAwcHgsXFxuICAgIHJnYmEoMCwgMCwgMCwgMC4yKSAxcHgsXFxuICAgIHJnYmEoMCwgMCwgMCwgMC4xKSAxcHgsXFxuICAgIHJnYmEoMCwgMCwgMCwgMCkgMTAwJVxcbiAgXCI7XG4gIHJldHVybiBfX19FbW90aW9uSlNYKFwiZGl2XCIsIF9leHRlbmRzKHtcbiAgICBjc3M6XG4gICAgLyojX19QVVJFX18qL1xuICAgIF9jc3Moe1xuICAgICAgYmFja2dyb3VuZDogXCJsaW5lYXItZ3JhZGllbnQoXCIuY29uY2F0KGRpcmVjdGlvbiwgXCIsIFwiKS5jb25jYXQoY29sb3JTdG9wcywgXCIpXCIpLFxuICAgICAgYm90dG9tOiAwLFxuICAgICAgbGVmdDogZGlyZWN0aW9uID09PSAndG8gbGVmdCcgPyAtd2lkdGggOiAtMSxcbiAgICAgIG9wYWNpdHk6IGlzQm9sZCA/IDEgOiAwLjUsXG4gICAgICBwb2ludGVyRXZlbnRzOiAnbm9uZScsXG4gICAgICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgICAgIHRvcDogMCxcbiAgICAgIHRyYW5zaXRpb25EdXJhdGlvbjogdHJhbnNpdGlvbkR1cmF0aW9uLFxuICAgICAgdHJhbnNpdGlvblByb3BlcnR5OiAnbGVmdCwgb3BhY2l0eSwgd2lkdGgnLFxuICAgICAgdHJhbnNpdGlvblRpbWluZ0Z1bmN0aW9uOiB0cmFuc2l0aW9uVGltaW5nRnVuY3Rpb24sXG4gICAgICB3aWR0aDogd2lkdGhcbiAgICB9LCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyBcIlwiIDogXCIvKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJaTR1THk0dUx5NHVMM055WXk5amIyMXRiMjR2Y0hKcGJXbDBhWFpsY3k1cWN5SmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRnBRazBpTENKbWFXeGxJam9pTGk0dkxpNHZMaTR2YzNKakwyTnZiVzF2Ymk5d2NtbHRhWFJwZG1WekxtcHpJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpYVcxd2IzSjBJRkpsWVdOMElHWnliMjBnSjNKbFlXTjBKenRjYmx4dWFXMXdiM0owSUhzZ2RISmhibk5wZEdsdmJrUjFjbUYwYVc5dUxDQjBjbUZ1YzJsMGFXOXVWR2x0YVc1blJuVnVZM1JwYjI0Z2ZTQm1jbTl0SUNjdUwyTnZibk4wWVc1MGN5YzdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQlRhR0ZrYjNjZ1BTQW9leUJrYVhKbFkzUnBiMjRzSUdselFtOXNaQ3dnYVhOUGRtVnlSR0Z5YTBKbkxDQXVMaTV3Y205d2N5QjlLU0E5UGlCN1hHNGdJR3hsZENCM2FXUjBhQ0E5SUdselQzWmxja1JoY210Q1p5QS9JRFlnT2lBek8xeHVJQ0JwWmlBb2FYTkNiMnhrS1NCM2FXUjBhQ0E5SUdselQzWmxja1JoY210Q1p5QS9JREV5SURvZ05qdGNibHh1SUNCamIyNXpkQ0JqYjJ4dmNsTjBiM0J6SUQwZ1lGeHVJQ0FnSUhKblltRW9NQ3dnTUN3Z01Dd2dNQzR5S1NBd2NIZ3NYRzRnSUNBZ2NtZGlZU2d3TENBd0xDQXdMQ0F3TGpJcElERndlQ3hjYmlBZ0lDQnlaMkpoS0RBc0lEQXNJREFzSURBdU1Ta2dNWEI0TEZ4dUlDQWdJSEpuWW1Fb01Dd2dNQ3dnTUN3Z01Da2dNVEF3SlZ4dUlDQmdPMXh1WEc0Z0lISmxkSFZ5YmlBb1hHNGdJQ0FnUEdScGRseHVJQ0FnSUNBZ1kzTnpQWHQ3WEc0Z0lDQWdJQ0FnSUdKaFkydG5jbTkxYm1RNklHQnNhVzVsWVhJdFozSmhaR2xsYm5Rb0pIdGthWEpsWTNScGIyNTlMQ0FrZTJOdmJHOXlVM1J2Y0hOOUtXQXNYRzRnSUNBZ0lDQWdJR0p2ZEhSdmJUb2dNQ3hjYmlBZ0lDQWdJQ0FnYkdWbWREb2daR2x5WldOMGFXOXVJRDA5UFNBbmRHOGdiR1ZtZENjZ1B5QXRkMmxrZEdnZ09pQXRNU3hjYmlBZ0lDQWdJQ0FnYjNCaFkybDBlVG9nYVhOQ2IyeGtJRDhnTVNBNklEQXVOU3hjYmlBZ0lDQWdJQ0FnY0c5cGJuUmxja1YyWlc1MGN6b2dKMjV2Ym1VbkxGeHVJQ0FnSUNBZ0lDQndiM05wZEdsdmJqb2dKMkZpYzI5c2RYUmxKeXhjYmlBZ0lDQWdJQ0FnZEc5d09pQXdMRnh1SUNBZ0lDQWdJQ0IwY21GdWMybDBhVzl1UkhWeVlYUnBiMjRzWEc0Z0lDQWdJQ0FnSUhSeVlXNXphWFJwYjI1UWNtOXdaWEowZVRvZ0oyeGxablFzSUc5d1lXTnBkSGtzSUhkcFpIUm9KeXhjYmlBZ0lDQWdJQ0FnZEhKaGJuTnBkR2x2YmxScGJXbHVaMFoxYm1OMGFXOXVMRnh1SUNBZ0lDQWdJQ0IzYVdSMGFDeGNiaUFnSUNBZ0lIMTlYRzRnSUNBZ0lDQjdMaTR1Y0hKdmNITjlYRzRnSUNBZ0x6NWNiaUFnS1R0Y2JuMDdYRzVUYUdGa2IzY3VaR1ZtWVhWc2RGQnliM0J6SUQwZ2UxeHVJQ0JrYVhKbFkzUnBiMjQ2SUNkMGJ5QnNaV1owSnl4Y2JuMDdYRzRpWFgwPSAqL1wiKVxuICB9LCBwcm9wcykpO1xufTtcblNoYWRvdy5kZWZhdWx0UHJvcHMgPSB7XG4gIGRpcmVjdGlvbjogJ3RvIGxlZnQnXG59OyJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/navigation-next/dist/esm/common/primitives.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/navigation-next/dist/esm/components/common/RenderBlocker.js": /*!********************************************************************************************!*\ !*** ./node_modules/@atlaskit/navigation-next/dist/esm/components/common/RenderBlocker.js ***! \********************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return RenderBlocker; });\n/* harmony import */ var _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ \"./node_modules/@babel/runtime/helpers/objectWithoutProperties.js\");\n/* harmony import */ var _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ \"./node_modules/@babel/runtime/helpers/classCallCheck.js\");\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\");\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ \"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ \"./node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ \"./node_modules/@babel/runtime/helpers/inherits.js\");\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ \"./node_modules/@babel/runtime/helpers/defineProperty.js\");\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_7__);\n\n\n\n\n\n\n\n\n/**\n * This component blocks render unless any non-children props change via shallow comparison.\n *\n * Alternatively if `blockOnChange` is set, render will only be blocked when another non-children prop changes.\n * For example, if you know you do not want to re-render when a certain prop changes (use with care).\n */\n\nvar RenderBlocker =\n/*#__PURE__*/\nfunction (_Component) {\n _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5___default()(RenderBlocker, _Component);\n\n function RenderBlocker() {\n _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default()(this, RenderBlocker);\n\n return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3___default()(this, _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4___default()(RenderBlocker).apply(this, arguments));\n }\n\n _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2___default()(RenderBlocker, [{\n key: \"shouldComponentUpdate\",\n value: function shouldComponentUpdate(prevProps) {\n var _this$props = this.props,\n blockOnChange = _this$props.blockOnChange,\n children = _this$props.children,\n props = _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_0___default()(_this$props, [\"blockOnChange\", \"children\"]);\n\n var propsChanged = Object.keys(props).some(function (propName) {\n return props[propName] !== prevProps[propName];\n });\n return this.props.blockOnChange ? !propsChanged : propsChanged;\n }\n }, {\n key: \"render\",\n value: function render() {\n return this.props.children;\n }\n }]);\n\n return RenderBlocker;\n}(react__WEBPACK_IMPORTED_MODULE_7__[\"Component\"]);\n\n_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(RenderBlocker, \"defaultProps\", {\n blockOnChange: false\n});\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS9jb21wb25lbnRzL2NvbW1vbi9SZW5kZXJCbG9ja2VyLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BhdGxhc2tpdC9uYXZpZ2F0aW9uLW5leHQvZGlzdC9lc20vY29tcG9uZW50cy9jb21tb24vUmVuZGVyQmxvY2tlci5qcz9lNzRkIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvb2JqZWN0V2l0aG91dFByb3BlcnRpZXNcIjtcbmltcG9ydCBfY2xhc3NDYWxsQ2hlY2sgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvY2xhc3NDYWxsQ2hlY2tcIjtcbmltcG9ydCBfY3JlYXRlQ2xhc3MgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvY3JlYXRlQ2xhc3NcIjtcbmltcG9ydCBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybiBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuXCI7XG5pbXBvcnQgX2dldFByb3RvdHlwZU9mIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2dldFByb3RvdHlwZU9mXCI7XG5pbXBvcnQgX2luaGVyaXRzIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2luaGVyaXRzXCI7XG5pbXBvcnQgX2RlZmluZVByb3BlcnR5IGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2RlZmluZVByb3BlcnR5XCI7XG5pbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdyZWFjdCc7XG4vKipcbiAqIFRoaXMgY29tcG9uZW50IGJsb2NrcyByZW5kZXIgdW5sZXNzIGFueSBub24tY2hpbGRyZW4gcHJvcHMgY2hhbmdlIHZpYSBzaGFsbG93IGNvbXBhcmlzb24uXG4gKlxuICogQWx0ZXJuYXRpdmVseSBpZiBgYmxvY2tPbkNoYW5nZWAgaXMgc2V0LCByZW5kZXIgd2lsbCBvbmx5IGJlIGJsb2NrZWQgd2hlbiBhbm90aGVyIG5vbi1jaGlsZHJlbiBwcm9wIGNoYW5nZXMuXG4gKiBGb3IgZXhhbXBsZSwgaWYgeW91IGtub3cgeW91IGRvIG5vdCB3YW50IHRvIHJlLXJlbmRlciB3aGVuIGEgY2VydGFpbiBwcm9wIGNoYW5nZXMgKHVzZSB3aXRoIGNhcmUpLlxuICovXG5cbnZhciBSZW5kZXJCbG9ja2VyID1cbi8qI19fUFVSRV9fKi9cbmZ1bmN0aW9uIChfQ29tcG9uZW50KSB7XG4gIF9pbmhlcml0cyhSZW5kZXJCbG9ja2VyLCBfQ29tcG9uZW50KTtcblxuICBmdW5jdGlvbiBSZW5kZXJCbG9ja2VyKCkge1xuICAgIF9jbGFzc0NhbGxDaGVjayh0aGlzLCBSZW5kZXJCbG9ja2VyKTtcblxuICAgIHJldHVybiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybih0aGlzLCBfZ2V0UHJvdG90eXBlT2YoUmVuZGVyQmxvY2tlcikuYXBwbHkodGhpcywgYXJndW1lbnRzKSk7XG4gIH1cblxuICBfY3JlYXRlQ2xhc3MoUmVuZGVyQmxvY2tlciwgW3tcbiAgICBrZXk6IFwic2hvdWxkQ29tcG9uZW50VXBkYXRlXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIHNob3VsZENvbXBvbmVudFVwZGF0ZShwcmV2UHJvcHMpIHtcbiAgICAgIHZhciBfdGhpcyRwcm9wcyA9IHRoaXMucHJvcHMsXG4gICAgICAgICAgYmxvY2tPbkNoYW5nZSA9IF90aGlzJHByb3BzLmJsb2NrT25DaGFuZ2UsXG4gICAgICAgICAgY2hpbGRyZW4gPSBfdGhpcyRwcm9wcy5jaGlsZHJlbixcbiAgICAgICAgICBwcm9wcyA9IF9vYmplY3RXaXRob3V0UHJvcGVydGllcyhfdGhpcyRwcm9wcywgW1wiYmxvY2tPbkNoYW5nZVwiLCBcImNoaWxkcmVuXCJdKTtcblxuICAgICAgdmFyIHByb3BzQ2hhbmdlZCA9IE9iamVjdC5rZXlzKHByb3BzKS5zb21lKGZ1bmN0aW9uIChwcm9wTmFtZSkge1xuICAgICAgICByZXR1cm4gcHJvcHNbcHJvcE5hbWVdICE9PSBwcmV2UHJvcHNbcHJvcE5hbWVdO1xuICAgICAgfSk7XG4gICAgICByZXR1cm4gdGhpcy5wcm9wcy5ibG9ja09uQ2hhbmdlID8gIXByb3BzQ2hhbmdlZCA6IHByb3BzQ2hhbmdlZDtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwicmVuZGVyXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIHJlbmRlcigpIHtcbiAgICAgIHJldHVybiB0aGlzLnByb3BzLmNoaWxkcmVuO1xuICAgIH1cbiAgfV0pO1xuXG4gIHJldHVybiBSZW5kZXJCbG9ja2VyO1xufShDb21wb25lbnQpO1xuXG5fZGVmaW5lUHJvcGVydHkoUmVuZGVyQmxvY2tlciwgXCJkZWZhdWx0UHJvcHNcIiwge1xuICBibG9ja09uQ2hhbmdlOiBmYWxzZVxufSk7XG5cbmV4cG9ydCB7IFJlbmRlckJsb2NrZXIgYXMgZGVmYXVsdCB9OyJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/navigation-next/dist/esm/components/common/RenderBlocker.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/navigation-next/dist/esm/components/connected/AsyncLayoutManagerWithViewController/AsyncLayoutManagerWithViewController.js": /*!***********************************************************************************************************************************************************!*\ !*** ./node_modules/@atlaskit/navigation-next/dist/esm/components/connected/AsyncLayoutManagerWithViewController/AsyncLayoutManagerWithViewController.js ***! \***********************************************************************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/objectSpread */ \"./node_modules/@babel/runtime/helpers/objectSpread.js\");\n/* harmony import */ var _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ \"./node_modules/@babel/runtime/helpers/classCallCheck.js\");\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\");\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ \"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ \"./node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @babel/runtime/helpers/assertThisInitialized */ \"./node_modules/@babel/runtime/helpers/assertThisInitialized.js\");\n/* harmony import */ var _babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ \"./node_modules/@babel/runtime/helpers/inherits.js\");\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ \"./node_modules/@babel/runtime/helpers/defineProperty.js\");\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var _emotion_core__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @emotion/core */ \"./node_modules/@emotion/core/dist/core.browser.esm.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_10__);\n/* harmony import */ var _atlaskit_analytics_namespaced_context__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @atlaskit/analytics-namespaced-context */ \"./node_modules/@atlaskit/analytics-namespaced-context/dist/esm/index.js\");\n/* harmony import */ var _ui_controller__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../../ui-controller */ \"./node_modules/@atlaskit/navigation-next/dist/esm/ui-controller.js\");\n/* harmony import */ var _view_controller__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../../view-controller */ \"./node_modules/@atlaskit/navigation-next/dist/esm/view-controller.js\");\n/* harmony import */ var _presentational_LayerInitialised__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../../presentational/LayerInitialised */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/LayerInitialised/index.js\");\n/* harmony import */ var _presentational_LayoutManager__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../../presentational/LayoutManager */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/LayoutManager/index.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/* NOTE: experimental props use an underscore */\n\n/* eslint-disable camelcase */\n\nvar AsyncLayoutManagerWithViewControllerBase =\n/*#__PURE__*/\nfunction (_Component) {\n _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_7___default()(AsyncLayoutManagerWithViewControllerBase, _Component);\n\n function AsyncLayoutManagerWithViewControllerBase(props) {\n var _this;\n\n _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2___default()(this, AsyncLayoutManagerWithViewControllerBase);\n\n _this = _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4___default()(this, _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5___default()(AsyncLayoutManagerWithViewControllerBase).call(this, props));\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_8___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_6___default()(_this), \"state\", {\n hasInitialised: false,\n outgoingView: null\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_8___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_6___default()(_this), \"onInitialised\", function () {\n _this.setState({\n hasInitialised: true\n });\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_8___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_6___default()(_this), \"renderSkeleton\", function () {\n var ContainerSkeleton = _this.props.containerSkeleton;\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_9__[\"jsx\"])(ContainerSkeleton, {\n type: _this.props.firstSkeletonToRender\n });\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_8___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_6___default()(_this), \"renderContainerNavigation\", function () {\n var _this$props = _this.props,\n firstSkeletonToRender = _this$props.firstSkeletonToRender,\n view = _this$props.view;\n var outgoingView = _this.state.outgoingView;\n\n if (view && view.type === 'container') {\n return _this.renderView(view);\n }\n\n if (outgoingView && outgoingView.type === 'container') {\n return _this.renderView(outgoingView);\n }\n\n if (!view && firstSkeletonToRender === 'container' && !_this.state.hasInitialised) {\n return _this.renderSkeleton();\n }\n\n return firstSkeletonToRender !== 'container' ? null : _this.renderSkeleton();\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_8___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_6___default()(_this), \"renderGlobalNavigation\", function () {\n var _this$props2 = _this.props,\n GlobalNavigation = _this$props2.globalNavigation,\n view = _this$props2.view;\n var hasInitialised = _this.state.hasInitialised;\n /* We are embedding the LayerInitialised analytics component within global navigation so that\n * the event it fires can access the analytics context within LayerManager. The component\n * cannot be rendered directly within LayerManager since it needs access to view data which\n * only exists in LayoutManagerWithViewController. */\n\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_9__[\"jsx\"])(react__WEBPACK_IMPORTED_MODULE_10__[\"Fragment\"], null, Object(_emotion_core__WEBPACK_IMPORTED_MODULE_9__[\"jsx\"])(GlobalNavigation, null), Object(_emotion_core__WEBPACK_IMPORTED_MODULE_9__[\"jsx\"])(_presentational_LayerInitialised__WEBPACK_IMPORTED_MODULE_14__[\"default\"], {\n activeView: view,\n initialised: hasInitialised,\n onInitialised: _this.onInitialised\n }));\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_8___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_6___default()(_this), \"renderProductNavigation\", function () {\n var view = _this.props.view;\n var outgoingView = _this.state.outgoingView;\n\n if (view && view.type === 'product') {\n return _this.renderView(view);\n } // If we're transitioning from a product view to a container view still\n // render the outgoing product view.\n\n\n if (view && view.type === 'container' && outgoingView && outgoingView.type === 'product') {\n return _this.renderView(outgoingView);\n }\n\n return _this.renderSkeleton();\n });\n\n _this.renderContainerNavigation.displayName = 'ContainerNavigationRenderer';\n _this.renderProductNavigation.displayName = 'ProductNavigationRenderer';\n return _this;\n }\n\n _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3___default()(AsyncLayoutManagerWithViewControllerBase, [{\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n var view = this.props.view;\n var prevView = prevProps.view;\n\n if (!view || !prevView) {\n return;\n } // If we're moving from a product to a container view or vice versa we cache\n // the previous view so that we can still render it during the transition.\n\n\n if (view.type !== prevView.type) {\n // It's totally fine to setState in componentDidUpdate as long as it's\n // wrapped in a condition:\n // https://reactjs.org/docs/react-component.html#componentdidupdate\n // eslint-disable-next-line\n this.setState({\n outgoingView: prevView\n });\n }\n }\n }, {\n key: \"renderView\",\n value: function renderView(view) {\n var _this$props3 = this.props,\n customComponents = _this$props3.customComponents,\n ItemsRenderer = _this$props3.itemsRenderer;\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_9__[\"jsx\"])(ItemsRenderer, {\n customComponents: customComponents,\n items: view.data\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props4 = this.props,\n children = _this$props4.children,\n datasets = _this$props4.datasets,\n experimental_alternateFlyoutBehaviour = _this$props4.experimental_alternateFlyoutBehaviour,\n experimental_flyoutOnHover = _this$props4.experimental_flyoutOnHover,\n experimental_fullWidthFlyout = _this$props4.experimental_fullWidthFlyout,\n experimental_hideNavVisuallyOnCollapse = _this$props4.experimental_hideNavVisuallyOnCollapse,\n experimental_horizontalGlobalNav = _this$props4.experimental_horizontalGlobalNav,\n firstSkeletonToRender = _this$props4.firstSkeletonToRender,\n onExpandStart = _this$props4.onExpandStart,\n onExpandEnd = _this$props4.onExpandEnd,\n onCollapseStart = _this$props4.onCollapseStart,\n onCollapseEnd = _this$props4.onCollapseEnd,\n getRefs = _this$props4.getRefs,\n view = _this$props4.view,\n topOffset = _this$props4.topOffset,\n shouldHideGlobalNavShadow = _this$props4.shouldHideGlobalNavShadow,\n showContextualNavigation = _this$props4.showContextualNavigation;\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_9__[\"jsx\"])(_atlaskit_analytics_namespaced_context__WEBPACK_IMPORTED_MODULE_11__[\"NavigationAnalyticsContext\"], {\n data: {\n attributes: _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_1___default()({\n navigationLayer: view && view.type,\n view: view && view.id\n }, view && view.analyticsAttributes)\n }\n }, Object(_emotion_core__WEBPACK_IMPORTED_MODULE_9__[\"jsx\"])(_presentational_LayoutManager__WEBPACK_IMPORTED_MODULE_15__[\"default\"], {\n globalNavigation: this.renderGlobalNavigation,\n containerNavigation: view && view.type === 'container' || !view && firstSkeletonToRender === 'container' && !this.state.hasInitialised ? this.renderContainerNavigation : null,\n experimental_alternateFlyoutBehaviour: experimental_alternateFlyoutBehaviour,\n experimental_flyoutOnHover: experimental_flyoutOnHover,\n experimental_fullWidthFlyout: experimental_fullWidthFlyout,\n experimental_hideNavVisuallyOnCollapse: experimental_hideNavVisuallyOnCollapse,\n experimental_horizontalGlobalNav: experimental_horizontalGlobalNav,\n productNavigation: this.renderProductNavigation,\n onExpandStart: onExpandStart,\n onExpandEnd: onExpandEnd,\n onCollapseStart: onCollapseStart,\n onCollapseEnd: onCollapseEnd,\n getRefs: getRefs,\n topOffset: topOffset,\n shouldHideGlobalNavShadow: shouldHideGlobalNavShadow,\n showContextualNavigation: showContextualNavigation,\n datasets: datasets,\n view: view\n }, children));\n }\n }]);\n\n return AsyncLayoutManagerWithViewControllerBase;\n}(react__WEBPACK_IMPORTED_MODULE_10__[\"Component\"]);\n\n_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_8___default()(AsyncLayoutManagerWithViewControllerBase, \"defaultProps\", {\n experimental_alternateFlyoutBehaviour: false,\n experimental_flyoutOnHover: false,\n experimental_fullWidthFlyout: false,\n experimental_hideNavVisuallyOnCollapse: false,\n experimental_horizontalGlobalNav: false\n});\n\nvar AsyncLayoutManagerWithView = function AsyncLayoutManagerWithView( // eslint-disable-next-line no-undef\nprops) {\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_9__[\"jsx\"])(_view_controller__WEBPACK_IMPORTED_MODULE_13__[\"ViewControllerSubscriber\"], null, function (_ref) {\n var activeView = _ref.state.activeView;\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_9__[\"jsx\"])(AsyncLayoutManagerWithViewControllerBase, _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({\n view: activeView\n }, props));\n });\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(_ui_controller__WEBPACK_IMPORTED_MODULE_12__[\"withNavigationUIController\"])(AsyncLayoutManagerWithView));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS9jb21wb25lbnRzL2Nvbm5lY3RlZC9Bc3luY0xheW91dE1hbmFnZXJXaXRoVmlld0NvbnRyb2xsZXIvQXN5bmNMYXlvdXRNYW5hZ2VyV2l0aFZpZXdDb250cm9sbGVyLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BhdGxhc2tpdC9uYXZpZ2F0aW9uLW5leHQvZGlzdC9lc20vY29tcG9uZW50cy9jb25uZWN0ZWQvQXN5bmNMYXlvdXRNYW5hZ2VyV2l0aFZpZXdDb250cm9sbGVyL0FzeW5jTGF5b3V0TWFuYWdlcldpdGhWaWV3Q29udHJvbGxlci5qcz82NzY4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfZXh0ZW5kcyBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9leHRlbmRzXCI7XG5pbXBvcnQgX29iamVjdFNwcmVhZCBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9vYmplY3RTcHJlYWRcIjtcbmltcG9ydCBfY2xhc3NDYWxsQ2hlY2sgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvY2xhc3NDYWxsQ2hlY2tcIjtcbmltcG9ydCBfY3JlYXRlQ2xhc3MgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvY3JlYXRlQ2xhc3NcIjtcbmltcG9ydCBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybiBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuXCI7XG5pbXBvcnQgX2dldFByb3RvdHlwZU9mIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2dldFByb3RvdHlwZU9mXCI7XG5pbXBvcnQgX2Fzc2VydFRoaXNJbml0aWFsaXplZCBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9hc3NlcnRUaGlzSW5pdGlhbGl6ZWRcIjtcbmltcG9ydCBfaW5oZXJpdHMgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvaW5oZXJpdHNcIjtcbmltcG9ydCBfZGVmaW5lUHJvcGVydHkgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvZGVmaW5lUHJvcGVydHlcIjtcbmltcG9ydCB7IGpzeCBhcyBfX19FbW90aW9uSlNYIH0gZnJvbSBcIkBlbW90aW9uL2NvcmVcIjtcbmltcG9ydCBSZWFjdCwgeyBDb21wb25lbnQsIEZyYWdtZW50IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgTmF2aWdhdGlvbkFuYWx5dGljc0NvbnRleHQgfSBmcm9tICdAYXRsYXNraXQvYW5hbHl0aWNzLW5hbWVzcGFjZWQtY29udGV4dCc7XG5pbXBvcnQgeyB3aXRoTmF2aWdhdGlvblVJQ29udHJvbGxlciB9IGZyb20gJy4uLy4uLy4uL3VpLWNvbnRyb2xsZXInO1xuaW1wb3J0IHsgVmlld0NvbnRyb2xsZXJTdWJzY3JpYmVyIH0gZnJvbSAnLi4vLi4vLi4vdmlldy1jb250cm9sbGVyJztcbmltcG9ydCBMYXllckluaXRpYWxpc2VkIGZyb20gJy4uLy4uL3ByZXNlbnRhdGlvbmFsL0xheWVySW5pdGlhbGlzZWQnO1xuaW1wb3J0IExheW91dE1hbmFnZXIgZnJvbSAnLi4vLi4vcHJlc2VudGF0aW9uYWwvTGF5b3V0TWFuYWdlcic7XG4vKiBOT1RFOiBleHBlcmltZW50YWwgcHJvcHMgdXNlIGFuIHVuZGVyc2NvcmUgKi9cblxuLyogZXNsaW50LWRpc2FibGUgY2FtZWxjYXNlICovXG5cbnZhciBBc3luY0xheW91dE1hbmFnZXJXaXRoVmlld0NvbnRyb2xsZXJCYXNlID1cbi8qI19fUFVSRV9fKi9cbmZ1bmN0aW9uIChfQ29tcG9uZW50KSB7XG4gIF9pbmhlcml0cyhBc3luY0xheW91dE1hbmFnZXJXaXRoVmlld0NvbnRyb2xsZXJCYXNlLCBfQ29tcG9uZW50KTtcblxuICBmdW5jdGlvbiBBc3luY0xheW91dE1hbmFnZXJXaXRoVmlld0NvbnRyb2xsZXJCYXNlKHByb3BzKSB7XG4gICAgdmFyIF90aGlzO1xuXG4gICAgX2NsYXNzQ2FsbENoZWNrKHRoaXMsIEFzeW5jTGF5b3V0TWFuYWdlcldpdGhWaWV3Q29udHJvbGxlckJhc2UpO1xuXG4gICAgX3RoaXMgPSBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybih0aGlzLCBfZ2V0UHJvdG90eXBlT2YoQXN5bmNMYXlvdXRNYW5hZ2VyV2l0aFZpZXdDb250cm9sbGVyQmFzZSkuY2FsbCh0aGlzLCBwcm9wcykpO1xuXG4gICAgX2RlZmluZVByb3BlcnR5KF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoX3RoaXMpLCBcInN0YXRlXCIsIHtcbiAgICAgIGhhc0luaXRpYWxpc2VkOiBmYWxzZSxcbiAgICAgIG91dGdvaW5nVmlldzogbnVsbFxuICAgIH0pO1xuXG4gICAgX2RlZmluZVByb3BlcnR5KF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoX3RoaXMpLCBcIm9uSW5pdGlhbGlzZWRcIiwgZnVuY3Rpb24gKCkge1xuICAgICAgX3RoaXMuc2V0U3RhdGUoe1xuICAgICAgICBoYXNJbml0aWFsaXNlZDogdHJ1ZVxuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBfZGVmaW5lUHJvcGVydHkoX2Fzc2VydFRoaXNJbml0aWFsaXplZChfdGhpcyksIFwicmVuZGVyU2tlbGV0b25cIiwgZnVuY3Rpb24gKCkge1xuICAgICAgdmFyIENvbnRhaW5lclNrZWxldG9uID0gX3RoaXMucHJvcHMuY29udGFpbmVyU2tlbGV0b247XG4gICAgICByZXR1cm4gX19fRW1vdGlvbkpTWChDb250YWluZXJTa2VsZXRvbiwge1xuICAgICAgICB0eXBlOiBfdGhpcy5wcm9wcy5maXJzdFNrZWxldG9uVG9SZW5kZXJcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgX2RlZmluZVByb3BlcnR5KF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoX3RoaXMpLCBcInJlbmRlckNvbnRhaW5lck5hdmlnYXRpb25cIiwgZnVuY3Rpb24gKCkge1xuICAgICAgdmFyIF90aGlzJHByb3BzID0gX3RoaXMucHJvcHMsXG4gICAgICAgICAgZmlyc3RTa2VsZXRvblRvUmVuZGVyID0gX3RoaXMkcHJvcHMuZmlyc3RTa2VsZXRvblRvUmVuZGVyLFxuICAgICAgICAgIHZpZXcgPSBfdGhpcyRwcm9wcy52aWV3O1xuICAgICAgdmFyIG91dGdvaW5nVmlldyA9IF90aGlzLnN0YXRlLm91dGdvaW5nVmlldztcblxuICAgICAgaWYgKHZpZXcgJiYgdmlldy50eXBlID09PSAnY29udGFpbmVyJykge1xuICAgICAgICByZXR1cm4gX3RoaXMucmVuZGVyVmlldyh2aWV3KTtcbiAgICAgIH1cblxuICAgICAgaWYgKG91dGdvaW5nVmlldyAmJiBvdXRnb2luZ1ZpZXcudHlwZSA9PT0gJ2NvbnRhaW5lcicpIHtcbiAgICAgICAgcmV0dXJuIF90aGlzLnJlbmRlclZpZXcob3V0Z29pbmdWaWV3KTtcbiAgICAgIH1cblxuICAgICAgaWYgKCF2aWV3ICYmIGZpcnN0U2tlbGV0b25Ub1JlbmRlciA9PT0gJ2NvbnRhaW5lcicgJiYgIV90aGlzLnN0YXRlLmhhc0luaXRpYWxpc2VkKSB7XG4gICAgICAgIHJldHVybiBfdGhpcy5yZW5kZXJTa2VsZXRvbigpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gZmlyc3RTa2VsZXRvblRvUmVuZGVyICE9PSAnY29udGFpbmVyJyA/IG51bGwgOiBfdGhpcy5yZW5kZXJTa2VsZXRvbigpO1xuICAgIH0pO1xuXG4gICAgX2RlZmluZVByb3BlcnR5KF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoX3RoaXMpLCBcInJlbmRlckdsb2JhbE5hdmlnYXRpb25cIiwgZnVuY3Rpb24gKCkge1xuICAgICAgdmFyIF90aGlzJHByb3BzMiA9IF90aGlzLnByb3BzLFxuICAgICAgICAgIEdsb2JhbE5hdmlnYXRpb24gPSBfdGhpcyRwcm9wczIuZ2xvYmFsTmF2aWdhdGlvbixcbiAgICAgICAgICB2aWV3ID0gX3RoaXMkcHJvcHMyLnZpZXc7XG4gICAgICB2YXIgaGFzSW5pdGlhbGlzZWQgPSBfdGhpcy5zdGF0ZS5oYXNJbml0aWFsaXNlZDtcbiAgICAgIC8qIFdlIGFyZSBlbWJlZGRpbmcgdGhlIExheWVySW5pdGlhbGlzZWQgYW5hbHl0aWNzIGNvbXBvbmVudCB3aXRoaW4gZ2xvYmFsIG5hdmlnYXRpb24gc28gdGhhdFxuICAgICAgICogdGhlIGV2ZW50IGl0IGZpcmVzIGNhbiBhY2Nlc3MgdGhlIGFuYWx5dGljcyBjb250ZXh0IHdpdGhpbiBMYXllck1hbmFnZXIuIFRoZSBjb21wb25lbnRcbiAgICAgICAqIGNhbm5vdCBiZSByZW5kZXJlZCBkaXJlY3RseSB3aXRoaW4gTGF5ZXJNYW5hZ2VyIHNpbmNlIGl0IG5lZWRzIGFjY2VzcyB0byB2aWV3IGRhdGEgd2hpY2hcbiAgICAgICAqIG9ubHkgZXhpc3RzIGluIExheW91dE1hbmFnZXJXaXRoVmlld0NvbnRyb2xsZXIuICovXG5cbiAgICAgIHJldHVybiBfX19FbW90aW9uSlNYKEZyYWdtZW50LCBudWxsLCBfX19FbW90aW9uSlNYKEdsb2JhbE5hdmlnYXRpb24sIG51bGwpLCBfX19FbW90aW9uSlNYKExheWVySW5pdGlhbGlzZWQsIHtcbiAgICAgICAgYWN0aXZlVmlldzogdmlldyxcbiAgICAgICAgaW5pdGlhbGlzZWQ6IGhhc0luaXRpYWxpc2VkLFxuICAgICAgICBvbkluaXRpYWxpc2VkOiBfdGhpcy5vbkluaXRpYWxpc2VkXG4gICAgICB9KSk7XG4gICAgfSk7XG5cbiAgICBfZGVmaW5lUHJvcGVydHkoX2Fzc2VydFRoaXNJbml0aWFsaXplZChfdGhpcyksIFwicmVuZGVyUHJvZHVjdE5hdmlnYXRpb25cIiwgZnVuY3Rpb24gKCkge1xuICAgICAgdmFyIHZpZXcgPSBfdGhpcy5wcm9wcy52aWV3O1xuICAgICAgdmFyIG91dGdvaW5nVmlldyA9IF90aGlzLnN0YXRlLm91dGdvaW5nVmlldztcblxuICAgICAgaWYgKHZpZXcgJiYgdmlldy50eXBlID09PSAncHJvZHVjdCcpIHtcbiAgICAgICAgcmV0dXJuIF90aGlzLnJlbmRlclZpZXcodmlldyk7XG4gICAgICB9IC8vIElmIHdlJ3JlIHRyYW5zaXRpb25pbmcgZnJvbSBhIHByb2R1Y3QgdmlldyB0byBhIGNvbnRhaW5lciB2aWV3IHN0aWxsXG4gICAgICAvLyByZW5kZXIgdGhlIG91dGdvaW5nIHByb2R1Y3Qgdmlldy5cblxuXG4gICAgICBpZiAodmlldyAmJiB2aWV3LnR5cGUgPT09ICdjb250YWluZXInICYmIG91dGdvaW5nVmlldyAmJiBvdXRnb2luZ1ZpZXcudHlwZSA9PT0gJ3Byb2R1Y3QnKSB7XG4gICAgICAgIHJldHVybiBfdGhpcy5yZW5kZXJWaWV3KG91dGdvaW5nVmlldyk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBfdGhpcy5yZW5kZXJTa2VsZXRvbigpO1xuICAgIH0pO1xuXG4gICAgX3RoaXMucmVuZGVyQ29udGFpbmVyTmF2aWdhdGlvbi5kaXNwbGF5TmFtZSA9ICdDb250YWluZXJOYXZpZ2F0aW9uUmVuZGVyZXInO1xuICAgIF90aGlzLnJlbmRlclByb2R1Y3ROYXZpZ2F0aW9uLmRpc3BsYXlOYW1lID0gJ1Byb2R1Y3ROYXZpZ2F0aW9uUmVuZGVyZXInO1xuICAgIHJldHVybiBfdGhpcztcbiAgfVxuXG4gIF9jcmVhdGVDbGFzcyhBc3luY0xheW91dE1hbmFnZXJXaXRoVmlld0NvbnRyb2xsZXJCYXNlLCBbe1xuICAgIGtleTogXCJjb21wb25lbnREaWRVcGRhdGVcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gY29tcG9uZW50RGlkVXBkYXRlKHByZXZQcm9wcykge1xuICAgICAgdmFyIHZpZXcgPSB0aGlzLnByb3BzLnZpZXc7XG4gICAgICB2YXIgcHJldlZpZXcgPSBwcmV2UHJvcHMudmlldztcblxuICAgICAgaWYgKCF2aWV3IHx8ICFwcmV2Vmlldykge1xuICAgICAgICByZXR1cm47XG4gICAgICB9IC8vIElmIHdlJ3JlIG1vdmluZyBmcm9tIGEgcHJvZHVjdCB0byBhIGNvbnRhaW5lciB2aWV3IG9yIHZpY2UgdmVyc2Egd2UgY2FjaGVcbiAgICAgIC8vIHRoZSBwcmV2aW91cyB2aWV3IHNvIHRoYXQgd2UgY2FuIHN0aWxsIHJlbmRlciBpdCBkdXJpbmcgdGhlIHRyYW5zaXRpb24uXG5cblxuICAgICAgaWYgKHZpZXcudHlwZSAhPT0gcHJldlZpZXcudHlwZSkge1xuICAgICAgICAvLyBJdCdzIHRvdGFsbHkgZmluZSB0byBzZXRTdGF0ZSBpbiBjb21wb25lbnREaWRVcGRhdGUgYXMgbG9uZyBhcyBpdCdzXG4gICAgICAgIC8vIHdyYXBwZWQgaW4gYSBjb25kaXRpb246XG4gICAgICAgIC8vIGh0dHBzOi8vcmVhY3Rqcy5vcmcvZG9jcy9yZWFjdC1jb21wb25lbnQuaHRtbCNjb21wb25lbnRkaWR1cGRhdGVcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICAgIG91dGdvaW5nVmlldzogcHJldlZpZXdcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcInJlbmRlclZpZXdcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gcmVuZGVyVmlldyh2aWV3KSB7XG4gICAgICB2YXIgX3RoaXMkcHJvcHMzID0gdGhpcy5wcm9wcyxcbiAgICAgICAgICBjdXN0b21Db21wb25lbnRzID0gX3RoaXMkcHJvcHMzLmN1c3RvbUNvbXBvbmVudHMsXG4gICAgICAgICAgSXRlbXNSZW5kZXJlciA9IF90aGlzJHByb3BzMy5pdGVtc1JlbmRlcmVyO1xuICAgICAgcmV0dXJuIF9fX0Vtb3Rpb25KU1goSXRlbXNSZW5kZXJlciwge1xuICAgICAgICBjdXN0b21Db21wb25lbnRzOiBjdXN0b21Db21wb25lbnRzLFxuICAgICAgICBpdGVtczogdmlldy5kYXRhXG4gICAgICB9KTtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwicmVuZGVyXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIHJlbmRlcigpIHtcbiAgICAgIHZhciBfdGhpcyRwcm9wczQgPSB0aGlzLnByb3BzLFxuICAgICAgICAgIGNoaWxkcmVuID0gX3RoaXMkcHJvcHM0LmNoaWxkcmVuLFxuICAgICAgICAgIGRhdGFzZXRzID0gX3RoaXMkcHJvcHM0LmRhdGFzZXRzLFxuICAgICAgICAgIGV4cGVyaW1lbnRhbF9hbHRlcm5hdGVGbHlvdXRCZWhhdmlvdXIgPSBfdGhpcyRwcm9wczQuZXhwZXJpbWVudGFsX2FsdGVybmF0ZUZseW91dEJlaGF2aW91cixcbiAgICAgICAgICBleHBlcmltZW50YWxfZmx5b3V0T25Ib3ZlciA9IF90aGlzJHByb3BzNC5leHBlcmltZW50YWxfZmx5b3V0T25Ib3ZlcixcbiAgICAgICAgICBleHBlcmltZW50YWxfZnVsbFdpZHRoRmx5b3V0ID0gX3RoaXMkcHJvcHM0LmV4cGVyaW1lbnRhbF9mdWxsV2lkdGhGbHlvdXQsXG4gICAgICAgICAgZXhwZXJpbWVudGFsX2hpZGVOYXZWaXN1YWxseU9uQ29sbGFwc2UgPSBfdGhpcyRwcm9wczQuZXhwZXJpbWVudGFsX2hpZGVOYXZWaXN1YWxseU9uQ29sbGFwc2UsXG4gICAgICAgICAgZXhwZXJpbWVudGFsX2hvcml6b250YWxHbG9iYWxOYXYgPSBfdGhpcyRwcm9wczQuZXhwZXJpbWVudGFsX2hvcml6b250YWxHbG9iYWxOYXYsXG4gICAgICAgICAgZmlyc3RTa2VsZXRvblRvUmVuZGVyID0gX3RoaXMkcHJvcHM0LmZpcnN0U2tlbGV0b25Ub1JlbmRlcixcbiAgICAgICAgICBvbkV4cGFuZFN0YXJ0ID0gX3RoaXMkcHJvcHM0Lm9uRXhwYW5kU3RhcnQsXG4gICAgICAgICAgb25FeHBhbmRFbmQgPSBfdGhpcyRwcm9wczQub25FeHBhbmRFbmQsXG4gICAgICAgICAgb25Db2xsYXBzZVN0YXJ0ID0gX3RoaXMkcHJvcHM0Lm9uQ29sbGFwc2VTdGFydCxcbiAgICAgICAgICBvbkNvbGxhcHNlRW5kID0gX3RoaXMkcHJvcHM0Lm9uQ29sbGFwc2VFbmQsXG4gICAgICAgICAgZ2V0UmVmcyA9IF90aGlzJHByb3BzNC5nZXRSZWZzLFxuICAgICAgICAgIHZpZXcgPSBfdGhpcyRwcm9wczQudmlldyxcbiAgICAgICAgICB0b3BPZmZzZXQgPSBfdGhpcyRwcm9wczQudG9wT2Zmc2V0LFxuICAgICAgICAgIHNob3VsZEhpZGVHbG9iYWxOYXZTaGFkb3cgPSBfdGhpcyRwcm9wczQuc2hvdWxkSGlkZUdsb2JhbE5hdlNoYWRvdyxcbiAgICAgICAgICBzaG93Q29udGV4dHVhbE5hdmlnYXRpb24gPSBfdGhpcyRwcm9wczQuc2hvd0NvbnRleHR1YWxOYXZpZ2F0aW9uO1xuICAgICAgcmV0dXJuIF9fX0Vtb3Rpb25KU1goTmF2aWdhdGlvbkFuYWx5dGljc0NvbnRleHQsIHtcbiAgICAgICAgZGF0YToge1xuICAgICAgICAgIGF0dHJpYnV0ZXM6IF9vYmplY3RTcHJlYWQoe1xuICAgICAgICAgICAgbmF2aWdhdGlvbkxheWVyOiB2aWV3ICYmIHZpZXcudHlwZSxcbiAgICAgICAgICAgIHZpZXc6IHZpZXcgJiYgdmlldy5pZFxuICAgICAgICAgIH0sIHZpZXcgJiYgdmlldy5hbmFseXRpY3NBdHRyaWJ1dGVzKVxuICAgICAgICB9XG4gICAgICB9LCBfX19FbW90aW9uSlNYKExheW91dE1hbmFnZXIsIHtcbiAgICAgICAgZ2xvYmFsTmF2aWdhdGlvbjogdGhpcy5yZW5kZXJHbG9iYWxOYXZpZ2F0aW9uLFxuICAgICAgICBjb250YWluZXJOYXZpZ2F0aW9uOiB2aWV3ICYmIHZpZXcudHlwZSA9PT0gJ2NvbnRhaW5lcicgfHwgIXZpZXcgJiYgZmlyc3RTa2VsZXRvblRvUmVuZGVyID09PSAnY29udGFpbmVyJyAmJiAhdGhpcy5zdGF0ZS5oYXNJbml0aWFsaXNlZCA/IHRoaXMucmVuZGVyQ29udGFpbmVyTmF2aWdhdGlvbiA6IG51bGwsXG4gICAgICAgIGV4cGVyaW1lbnRhbF9hbHRlcm5hdGVGbHlvdXRCZWhhdmlvdXI6IGV4cGVyaW1lbnRhbF9hbHRlcm5hdGVGbHlvdXRCZWhhdmlvdXIsXG4gICAgICAgIGV4cGVyaW1lbnRhbF9mbHlvdXRPbkhvdmVyOiBleHBlcmltZW50YWxfZmx5b3V0T25Ib3ZlcixcbiAgICAgICAgZXhwZXJpbWVudGFsX2Z1bGxXaWR0aEZseW91dDogZXhwZXJpbWVudGFsX2Z1bGxXaWR0aEZseW91dCxcbiAgICAgICAgZXhwZXJpbWVudGFsX2hpZGVOYXZWaXN1YWxseU9uQ29sbGFwc2U6IGV4cGVyaW1lbnRhbF9oaWRlTmF2VmlzdWFsbHlPbkNvbGxhcHNlLFxuICAgICAgICBleHBlcmltZW50YWxfaG9yaXpvbnRhbEdsb2JhbE5hdjogZXhwZXJpbWVudGFsX2hvcml6b250YWxHbG9iYWxOYXYsXG4gICAgICAgIHByb2R1Y3ROYXZpZ2F0aW9uOiB0aGlzLnJlbmRlclByb2R1Y3ROYXZpZ2F0aW9uLFxuICAgICAgICBvbkV4cGFuZFN0YXJ0OiBvbkV4cGFuZFN0YXJ0LFxuICAgICAgICBvbkV4cGFuZEVuZDogb25FeHBhbmRFbmQsXG4gICAgICAgIG9uQ29sbGFwc2VTdGFydDogb25Db2xsYXBzZVN0YXJ0LFxuICAgICAgICBvbkNvbGxhcHNlRW5kOiBvbkNvbGxhcHNlRW5kLFxuICAgICAgICBnZXRSZWZzOiBnZXRSZWZzLFxuICAgICAgICB0b3BPZmZzZXQ6IHRvcE9mZnNldCxcbiAgICAgICAgc2hvdWxkSGlkZUdsb2JhbE5hdlNoYWRvdzogc2hvdWxkSGlkZUdsb2JhbE5hdlNoYWRvdyxcbiAgICAgICAgc2hvd0NvbnRleHR1YWxOYXZpZ2F0aW9uOiBzaG93Q29udGV4dHVhbE5hdmlnYXRpb24sXG4gICAgICAgIGRhdGFzZXRzOiBkYXRhc2V0cyxcbiAgICAgICAgdmlldzogdmlld1xuICAgICAgfSwgY2hpbGRyZW4pKTtcbiAgICB9XG4gIH1dKTtcblxuICByZXR1cm4gQXN5bmNMYXlvdXRNYW5hZ2VyV2l0aFZpZXdDb250cm9sbGVyQmFzZTtcbn0oQ29tcG9uZW50KTtcblxuX2RlZmluZVByb3BlcnR5KEFzeW5jTGF5b3V0TWFuYWdlcldpdGhWaWV3Q29udHJvbGxlckJhc2UsIFwiZGVmYXVsdFByb3BzXCIsIHtcbiAgZXhwZXJpbWVudGFsX2FsdGVybmF0ZUZseW91dEJlaGF2aW91cjogZmFsc2UsXG4gIGV4cGVyaW1lbnRhbF9mbHlvdXRPbkhvdmVyOiBmYWxzZSxcbiAgZXhwZXJpbWVudGFsX2Z1bGxXaWR0aEZseW91dDogZmFsc2UsXG4gIGV4cGVyaW1lbnRhbF9oaWRlTmF2VmlzdWFsbHlPbkNvbGxhcHNlOiBmYWxzZSxcbiAgZXhwZXJpbWVudGFsX2hvcml6b250YWxHbG9iYWxOYXY6IGZhbHNlXG59KTtcblxudmFyIEFzeW5jTGF5b3V0TWFuYWdlcldpdGhWaWV3ID0gZnVuY3Rpb24gQXN5bmNMYXlvdXRNYW5hZ2VyV2l0aFZpZXcoIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bmRlZlxucHJvcHMpIHtcbiAgcmV0dXJuIF9fX0Vtb3Rpb25KU1goVmlld0NvbnRyb2xsZXJTdWJzY3JpYmVyLCBudWxsLCBmdW5jdGlvbiAoX3JlZikge1xuICAgIHZhciBhY3RpdmVWaWV3ID0gX3JlZi5zdGF0ZS5hY3RpdmVWaWV3O1xuICAgIHJldHVybiBfX19FbW90aW9uSlNYKEFzeW5jTGF5b3V0TWFuYWdlcldpdGhWaWV3Q29udHJvbGxlckJhc2UsIF9leHRlbmRzKHtcbiAgICAgIHZpZXc6IGFjdGl2ZVZpZXdcbiAgICB9LCBwcm9wcykpO1xuICB9KTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IHdpdGhOYXZpZ2F0aW9uVUlDb250cm9sbGVyKEFzeW5jTGF5b3V0TWFuYWdlcldpdGhWaWV3KTsiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/navigation-next/dist/esm/components/connected/AsyncLayoutManagerWithViewController/AsyncLayoutManagerWithViewController.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/navigation-next/dist/esm/components/connected/AsyncLayoutManagerWithViewController/index.js": /*!****************************************************************************************************************************!*\ !*** ./node_modules/@atlaskit/navigation-next/dist/esm/components/connected/AsyncLayoutManagerWithViewController/index.js ***! \****************************************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _AsyncLayoutManagerWithViewController__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AsyncLayoutManagerWithViewController */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/connected/AsyncLayoutManagerWithViewController/AsyncLayoutManagerWithViewController.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _AsyncLayoutManagerWithViewController__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS9jb21wb25lbnRzL2Nvbm5lY3RlZC9Bc3luY0xheW91dE1hbmFnZXJXaXRoVmlld0NvbnRyb2xsZXIvaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS9jb21wb25lbnRzL2Nvbm5lY3RlZC9Bc3luY0xheW91dE1hbmFnZXJXaXRoVmlld0NvbnRyb2xsZXIvaW5kZXguanM/MTkxMCJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBkZWZhdWx0IH0gZnJvbSAnLi9Bc3luY0xheW91dE1hbmFnZXJXaXRoVmlld0NvbnRyb2xsZXInOyJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/navigation-next/dist/esm/components/connected/AsyncLayoutManagerWithViewController/index.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/navigation-next/dist/esm/components/connected/BackItem/index.js": /*!************************************************************************************************!*\ !*** ./node_modules/@atlaskit/navigation-next/dist/esm/components/connected/BackItem/index.js ***! \************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return BackItem; });\n/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _emotion_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @emotion/css */ \"./node_modules/@emotion/css/dist/css.browser.esm.js\");\n/* harmony import */ var _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ \"./node_modules/@babel/runtime/helpers/objectWithoutProperties.js\");\n/* harmony import */ var _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ \"./node_modules/@babel/runtime/helpers/classCallCheck.js\");\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\");\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ \"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ \"./node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ \"./node_modules/@babel/runtime/helpers/inherits.js\");\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ \"./node_modules/@babel/runtime/helpers/defineProperty.js\");\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var _emotion_core__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @emotion/core */ \"./node_modules/@emotion/core/dist/core.browser.esm.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_10__);\n/* harmony import */ var _atlaskit_icon_glyph_arrow_left_circle__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @atlaskit/icon/glyph/arrow-left-circle */ \"./node_modules/@atlaskit/icon/glyph/arrow-left-circle.js\");\n/* harmony import */ var _atlaskit_icon_glyph_arrow_left_circle__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(_atlaskit_icon_glyph_arrow_left_circle__WEBPACK_IMPORTED_MODULE_11__);\n/* harmony import */ var _atlaskit_theme_constants__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @atlaskit/theme/constants */ \"./node_modules/@atlaskit/theme/dist/esm/constants.js\");\n/* harmony import */ var _ConnectedItem__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../ConnectedItem */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/connected/ConnectedItem/index.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar gridSize = Object(_atlaskit_theme_constants__WEBPACK_IMPORTED_MODULE_12__[\"gridSize\"])();\n\nvar ArrowLeft = function ArrowLeft() {\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_9__[\"jsx\"])(_atlaskit_icon_glyph_arrow_left_circle__WEBPACK_IMPORTED_MODULE_11___default.a, {\n primaryColor: \"currentColor\",\n secondaryColor: \"inherit\"\n });\n};\n\nvar BackItem =\n/*#__PURE__*/\nfunction (_Component) {\n _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_7___default()(BackItem, _Component);\n\n function BackItem() {\n _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_3___default()(this, BackItem);\n\n return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_5___default()(this, _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_6___default()(BackItem).apply(this, arguments));\n }\n\n _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_4___default()(BackItem, [{\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n beforeProp = _this$props.before,\n text = _this$props.text,\n props = _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_2___default()(_this$props, [\"before\", \"text\"]);\n\n var before = beforeProp;\n\n if (!before) {\n before = ArrowLeft;\n }\n\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_9__[\"jsx\"])(\"div\", {\n css:\n /*#__PURE__*/\n Object(_emotion_css__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n marginBottom: gridSize * 2\n }, false ? undefined : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2Nvbm5lY3RlZC9CYWNrSXRlbS9pbmRleC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUEwQlciLCJmaWxlIjoiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvY29ubmVjdGVkL0JhY2tJdGVtL2luZGV4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IENvbXBvbmVudCB9IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IEFycm93TGVmdENpcmNsZUljb24gZnJvbSAnQGF0bGFza2l0L2ljb24vZ2x5cGgvYXJyb3ctbGVmdC1jaXJjbGUnO1xuaW1wb3J0IHsgZ3JpZFNpemUgYXMgZ3JpZFNpemVGbiB9IGZyb20gJ0BhdGxhc2tpdC90aGVtZS9jb25zdGFudHMnO1xuXG5pbXBvcnQgQ29ubmVjdGVkSXRlbSBmcm9tICcuLi9Db25uZWN0ZWRJdGVtJztcblxuY29uc3QgZ3JpZFNpemUgPSBncmlkU2l6ZUZuKCk7XG5cbmNvbnN0IEFycm93TGVmdCA9ICgpID0+IChcbiAgPEFycm93TGVmdENpcmNsZUljb24gcHJpbWFyeUNvbG9yPVwiY3VycmVudENvbG9yXCIgc2Vjb25kYXJ5Q29sb3I9XCJpbmhlcml0XCIgLz5cbik7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEJhY2tJdGVtIGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICB0ZXh0OiAnQmFjaycsXG4gIH07XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHsgYmVmb3JlOiBiZWZvcmVQcm9wLCB0ZXh0LCAuLi5wcm9wcyB9ID0gdGhpcy5wcm9wcztcbiAgICBsZXQgYmVmb3JlID0gYmVmb3JlUHJvcDtcbiAgICBpZiAoIWJlZm9yZSkge1xuICAgICAgYmVmb3JlID0gQXJyb3dMZWZ0O1xuICAgIH1cblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2IGNzcz17eyBtYXJnaW5Cb3R0b206IGdyaWRTaXplICogMiB9fT5cbiAgICAgICAgPENvbm5lY3RlZEl0ZW0gey4uLnByb3BzfSBhZnRlcj17bnVsbH0gYmVmb3JlPXtiZWZvcmV9IHRleHQ9e3RleHR9IC8+XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9XG59XG4iXX0= */\")\n }, Object(_emotion_core__WEBPACK_IMPORTED_MODULE_9__[\"jsx\"])(_ConnectedItem__WEBPACK_IMPORTED_MODULE_13__[\"default\"], _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({}, props, {\n after: null,\n before: before,\n text: text\n })));\n }\n }]);\n\n return BackItem;\n}(react__WEBPACK_IMPORTED_MODULE_10__[\"Component\"]);\n\n_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_8___default()(BackItem, \"defaultProps\", {\n text: 'Back'\n});\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS9jb21wb25lbnRzL2Nvbm5lY3RlZC9CYWNrSXRlbS9pbmRleC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AYXRsYXNraXQvbmF2aWdhdGlvbi1uZXh0L2Rpc3QvZXNtL2NvbXBvbmVudHMvY29ubmVjdGVkL0JhY2tJdGVtL2luZGV4LmpzP2JkOTkiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IF9leHRlbmRzIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2V4dGVuZHNcIjtcbmltcG9ydCBfY3NzIGZyb20gXCJAZW1vdGlvbi9jc3NcIjtcbmltcG9ydCBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvb2JqZWN0V2l0aG91dFByb3BlcnRpZXNcIjtcbmltcG9ydCBfY2xhc3NDYWxsQ2hlY2sgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvY2xhc3NDYWxsQ2hlY2tcIjtcbmltcG9ydCBfY3JlYXRlQ2xhc3MgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvY3JlYXRlQ2xhc3NcIjtcbmltcG9ydCBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybiBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuXCI7XG5pbXBvcnQgX2dldFByb3RvdHlwZU9mIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2dldFByb3RvdHlwZU9mXCI7XG5pbXBvcnQgX2luaGVyaXRzIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2luaGVyaXRzXCI7XG5pbXBvcnQgX2RlZmluZVByb3BlcnR5IGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2RlZmluZVByb3BlcnR5XCI7XG5pbXBvcnQgeyBqc3ggYXMgX19fRW1vdGlvbkpTWCB9IGZyb20gXCJAZW1vdGlvbi9jb3JlXCI7XG5pbXBvcnQgUmVhY3QsIHsgQ29tcG9uZW50IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IEFycm93TGVmdENpcmNsZUljb24gZnJvbSAnQGF0bGFza2l0L2ljb24vZ2x5cGgvYXJyb3ctbGVmdC1jaXJjbGUnO1xuaW1wb3J0IHsgZ3JpZFNpemUgYXMgZ3JpZFNpemVGbiB9IGZyb20gJ0BhdGxhc2tpdC90aGVtZS9jb25zdGFudHMnO1xuaW1wb3J0IENvbm5lY3RlZEl0ZW0gZnJvbSAnLi4vQ29ubmVjdGVkSXRlbSc7XG52YXIgZ3JpZFNpemUgPSBncmlkU2l6ZUZuKCk7XG5cbnZhciBBcnJvd0xlZnQgPSBmdW5jdGlvbiBBcnJvd0xlZnQoKSB7XG4gIHJldHVybiBfX19FbW90aW9uSlNYKEFycm93TGVmdENpcmNsZUljb24sIHtcbiAgICBwcmltYXJ5Q29sb3I6IFwiY3VycmVudENvbG9yXCIsXG4gICAgc2Vjb25kYXJ5Q29sb3I6IFwiaW5oZXJpdFwiXG4gIH0pO1xufTtcblxudmFyIEJhY2tJdGVtID1cbi8qI19fUFVSRV9fKi9cbmZ1bmN0aW9uIChfQ29tcG9uZW50KSB7XG4gIF9pbmhlcml0cyhCYWNrSXRlbSwgX0NvbXBvbmVudCk7XG5cbiAgZnVuY3Rpb24gQmFja0l0ZW0oKSB7XG4gICAgX2NsYXNzQ2FsbENoZWNrKHRoaXMsIEJhY2tJdGVtKTtcblxuICAgIHJldHVybiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybih0aGlzLCBfZ2V0UHJvdG90eXBlT2YoQmFja0l0ZW0pLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykpO1xuICB9XG5cbiAgX2NyZWF0ZUNsYXNzKEJhY2tJdGVtLCBbe1xuICAgIGtleTogXCJyZW5kZXJcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gcmVuZGVyKCkge1xuICAgICAgdmFyIF90aGlzJHByb3BzID0gdGhpcy5wcm9wcyxcbiAgICAgICAgICBiZWZvcmVQcm9wID0gX3RoaXMkcHJvcHMuYmVmb3JlLFxuICAgICAgICAgIHRleHQgPSBfdGhpcyRwcm9wcy50ZXh0LFxuICAgICAgICAgIHByb3BzID0gX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzKF90aGlzJHByb3BzLCBbXCJiZWZvcmVcIiwgXCJ0ZXh0XCJdKTtcblxuICAgICAgdmFyIGJlZm9yZSA9IGJlZm9yZVByb3A7XG5cbiAgICAgIGlmICghYmVmb3JlKSB7XG4gICAgICAgIGJlZm9yZSA9IEFycm93TGVmdDtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIF9fX0Vtb3Rpb25KU1goXCJkaXZcIiwge1xuICAgICAgICBjc3M6XG4gICAgICAgIC8qI19fUFVSRV9fKi9cbiAgICAgICAgX2Nzcyh7XG4gICAgICAgICAgbWFyZ2luQm90dG9tOiBncmlkU2l6ZSAqIDJcbiAgICAgICAgfSwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8gXCJcIiA6IFwiLyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWk0dUx5NHVMeTR1THk0dUx5NHVMM055WXk5amIyMXdiMjVsYm5SekwyTnZibTVsWTNSbFpDOUNZV05yU1hSbGJTOXBibVJsZUM1cWN5SmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRXdRbGNpTENKbWFXeGxJam9pTGk0dkxpNHZMaTR2TGk0dkxpNHZjM0pqTDJOdmJYQnZibVZ1ZEhNdlkyOXVibVZqZEdWa0wwSmhZMnRKZEdWdEwybHVaR1Y0TG1weklpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lhVzF3YjNKMElGSmxZV04wTENCN0lFTnZiWEJ2Ym1WdWRDQjlJR1p5YjIwZ0ozSmxZV04wSnp0Y2JseHVhVzF3YjNKMElFRnljbTkzVEdWbWRFTnBjbU5zWlVsamIyNGdabkp2YlNBblFHRjBiR0Z6YTJsMEwybGpiMjR2WjJ4NWNHZ3ZZWEp5YjNjdGJHVm1kQzFqYVhKamJHVW5PMXh1YVcxd2IzSjBJSHNnWjNKcFpGTnBlbVVnWVhNZ1ozSnBaRk5wZW1WR2JpQjlJR1p5YjIwZ0owQmhkR3hoYzJ0cGRDOTBhR1Z0WlM5amIyNXpkR0Z1ZEhNbk8xeHVYRzVwYlhCdmNuUWdRMjl1Ym1WamRHVmtTWFJsYlNCbWNtOXRJQ2N1TGk5RGIyNXVaV04wWldSSmRHVnRKenRjYmx4dVkyOXVjM1FnWjNKcFpGTnBlbVVnUFNCbmNtbGtVMmw2WlVadUtDazdYRzVjYm1OdmJuTjBJRUZ5Y205M1RHVm1kQ0E5SUNncElEMCtJQ2hjYmlBZ1BFRnljbTkzVEdWbWRFTnBjbU5zWlVsamIyNGdjSEpwYldGeWVVTnZiRzl5UFZ3aVkzVnljbVZ1ZEVOdmJHOXlYQ0lnYzJWamIyNWtZWEo1UTI5c2IzSTlYQ0pwYm1obGNtbDBYQ0lnTHo1Y2JpazdYRzVjYm1WNGNHOXlkQ0JrWldaaGRXeDBJR05zWVhOeklFSmhZMnRKZEdWdElHVjRkR1Z1WkhNZ1EyOXRjRzl1Wlc1MElIdGNiaUFnYzNSaGRHbGpJR1JsWm1GMWJIUlFjbTl3Y3lBOUlIdGNiaUFnSUNCMFpYaDBPaUFuUW1GamF5Y3NYRzRnSUgwN1hHNWNiaUFnY21WdVpHVnlLQ2tnZTF4dUlDQWdJR052Ym5OMElIc2dZbVZtYjNKbE9pQmlaV1p2Y21WUWNtOXdMQ0IwWlhoMExDQXVMaTV3Y205d2N5QjlJRDBnZEdocGN5NXdjbTl3Y3p0Y2JpQWdJQ0JzWlhRZ1ltVm1iM0psSUQwZ1ltVm1iM0psVUhKdmNEdGNiaUFnSUNCcFppQW9JV0psWm05eVpTa2dlMXh1SUNBZ0lDQWdZbVZtYjNKbElEMGdRWEp5YjNkTVpXWjBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlBb1hHNGdJQ0FnSUNBOFpHbDJJR056Y3oxN2V5QnRZWEpuYVc1Q2IzUjBiMjA2SUdkeWFXUlRhWHBsSUNvZ01pQjlmVDVjYmlBZ0lDQWdJQ0FnUEVOdmJtNWxZM1JsWkVsMFpXMGdleTR1TG5CeWIzQnpmU0JoWm5SbGNqMTdiblZzYkgwZ1ltVm1iM0psUFh0aVpXWnZjbVY5SUhSbGVIUTllM1JsZUhSOUlDOCtYRzRnSUNBZ0lDQThMMlJwZGo1Y2JpQWdJQ0FwTzF4dUlDQjlYRzU5WEc0aVhYMD0gKi9cIilcbiAgICAgIH0sIF9fX0Vtb3Rpb25KU1goQ29ubmVjdGVkSXRlbSwgX2V4dGVuZHMoe30sIHByb3BzLCB7XG4gICAgICAgIGFmdGVyOiBudWxsLFxuICAgICAgICBiZWZvcmU6IGJlZm9yZSxcbiAgICAgICAgdGV4dDogdGV4dFxuICAgICAgfSkpKTtcbiAgICB9XG4gIH1dKTtcblxuICByZXR1cm4gQmFja0l0ZW07XG59KENvbXBvbmVudCk7XG5cbl9kZWZpbmVQcm9wZXJ0eShCYWNrSXRlbSwgXCJkZWZhdWx0UHJvcHNcIiwge1xuICB0ZXh0OiAnQmFjaydcbn0pO1xuXG5leHBvcnQgeyBCYWNrSXRlbSBhcyBkZWZhdWx0IH07Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/navigation-next/dist/esm/components/connected/BackItem/index.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/navigation-next/dist/esm/components/connected/ConnectedItem/index.js": /*!*****************************************************************************************************!*\ !*** ./node_modules/@atlaskit/navigation-next/dist/esm/components/connected/ConnectedItem/index.js ***! \*****************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return ConnectedItem; });\n/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ \"./node_modules/@babel/runtime/helpers/objectWithoutProperties.js\");\n/* harmony import */ var _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ \"./node_modules/@babel/runtime/helpers/classCallCheck.js\");\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\");\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ \"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ \"./node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ \"./node_modules/@babel/runtime/helpers/inherits.js\");\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _emotion_core__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @emotion/core */ \"./node_modules/@emotion/core/dist/core.browser.esm.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var _presentational_Item__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../presentational/Item */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/Item/index.js\");\n/* harmony import */ var _GoToItem__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../GoToItem */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/connected/GoToItem/index.js\");\n\n\n\n\n\n\n\n\n\n\n\n\nvar ConnectedItem =\n/*#__PURE__*/\nfunction (_Component) {\n _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_6___default()(ConnectedItem, _Component);\n\n function ConnectedItem() {\n _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2___default()(this, ConnectedItem);\n\n return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4___default()(this, _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5___default()(ConnectedItem).apply(this, arguments));\n }\n\n _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3___default()(ConnectedItem, [{\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n after = _this$props.after,\n props = _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1___default()(_this$props, [\"after\"]);\n\n return this.props.goTo ? Object(_emotion_core__WEBPACK_IMPORTED_MODULE_7__[\"jsx\"])(_GoToItem__WEBPACK_IMPORTED_MODULE_10__[\"default\"], _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({}, props, {\n after: after\n })) : Object(_emotion_core__WEBPACK_IMPORTED_MODULE_7__[\"jsx\"])(_presentational_Item__WEBPACK_IMPORTED_MODULE_9__[\"default\"], _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({}, props, {\n after: after === null ? undefined : after\n }));\n }\n }]);\n\n return ConnectedItem;\n}(react__WEBPACK_IMPORTED_MODULE_8__[\"Component\"]);\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS9jb21wb25lbnRzL2Nvbm5lY3RlZC9Db25uZWN0ZWRJdGVtL2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BhdGxhc2tpdC9uYXZpZ2F0aW9uLW5leHQvZGlzdC9lc20vY29tcG9uZW50cy9jb25uZWN0ZWQvQ29ubmVjdGVkSXRlbS9pbmRleC5qcz9iNTlkIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfZXh0ZW5kcyBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9leHRlbmRzXCI7XG5pbXBvcnQgX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzXCI7XG5pbXBvcnQgX2NsYXNzQ2FsbENoZWNrIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2NsYXNzQ2FsbENoZWNrXCI7XG5pbXBvcnQgX2NyZWF0ZUNsYXNzIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2NyZWF0ZUNsYXNzXCI7XG5pbXBvcnQgX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4gZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvcG9zc2libGVDb25zdHJ1Y3RvclJldHVyblwiO1xuaW1wb3J0IF9nZXRQcm90b3R5cGVPZiBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9nZXRQcm90b3R5cGVPZlwiO1xuaW1wb3J0IF9pbmhlcml0cyBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9pbmhlcml0c1wiO1xuaW1wb3J0IHsganN4IGFzIF9fX0Vtb3Rpb25KU1ggfSBmcm9tIFwiQGVtb3Rpb24vY29yZVwiO1xuaW1wb3J0IFJlYWN0LCB7IENvbXBvbmVudCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcmVzZW50YXRpb25hbEl0ZW0gZnJvbSAnLi4vLi4vcHJlc2VudGF0aW9uYWwvSXRlbSc7XG5pbXBvcnQgR29Ub0l0ZW0gZnJvbSAnLi4vR29Ub0l0ZW0nO1xuXG52YXIgQ29ubmVjdGVkSXRlbSA9XG4vKiNfX1BVUkVfXyovXG5mdW5jdGlvbiAoX0NvbXBvbmVudCkge1xuICBfaW5oZXJpdHMoQ29ubmVjdGVkSXRlbSwgX0NvbXBvbmVudCk7XG5cbiAgZnVuY3Rpb24gQ29ubmVjdGVkSXRlbSgpIHtcbiAgICBfY2xhc3NDYWxsQ2hlY2sodGhpcywgQ29ubmVjdGVkSXRlbSk7XG5cbiAgICByZXR1cm4gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4odGhpcywgX2dldFByb3RvdHlwZU9mKENvbm5lY3RlZEl0ZW0pLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykpO1xuICB9XG5cbiAgX2NyZWF0ZUNsYXNzKENvbm5lY3RlZEl0ZW0sIFt7XG4gICAga2V5OiBcInJlbmRlclwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiByZW5kZXIoKSB7XG4gICAgICB2YXIgX3RoaXMkcHJvcHMgPSB0aGlzLnByb3BzLFxuICAgICAgICAgIGFmdGVyID0gX3RoaXMkcHJvcHMuYWZ0ZXIsXG4gICAgICAgICAgcHJvcHMgPSBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMoX3RoaXMkcHJvcHMsIFtcImFmdGVyXCJdKTtcblxuICAgICAgcmV0dXJuIHRoaXMucHJvcHMuZ29UbyA/IF9fX0Vtb3Rpb25KU1goR29Ub0l0ZW0sIF9leHRlbmRzKHt9LCBwcm9wcywge1xuICAgICAgICBhZnRlcjogYWZ0ZXJcbiAgICAgIH0pKSA6IF9fX0Vtb3Rpb25KU1goUHJlc2VudGF0aW9uYWxJdGVtLCBfZXh0ZW5kcyh7fSwgcHJvcHMsIHtcbiAgICAgICAgYWZ0ZXI6IGFmdGVyID09PSBudWxsID8gdW5kZWZpbmVkIDogYWZ0ZXJcbiAgICAgIH0pKTtcbiAgICB9XG4gIH1dKTtcblxuICByZXR1cm4gQ29ubmVjdGVkSXRlbTtcbn0oQ29tcG9uZW50KTtcblxuZXhwb3J0IHsgQ29ubmVjdGVkSXRlbSBhcyBkZWZhdWx0IH07Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/navigation-next/dist/esm/components/connected/ConnectedItem/index.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/navigation-next/dist/esm/components/connected/GoToItem/index.js": /*!************************************************************************************************!*\ !*** ./node_modules/@atlaskit/navigation-next/dist/esm/components/connected/GoToItem/index.js ***! \************************************************************************************************/ /*! exports provided: GoToItemBase, default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"GoToItemBase\", function() { return GoToItem; });\n/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/objectSpread */ \"./node_modules/@babel/runtime/helpers/objectSpread.js\");\n/* harmony import */ var _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ \"./node_modules/@babel/runtime/helpers/objectWithoutProperties.js\");\n/* harmony import */ var _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _emotion_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @emotion/core */ \"./node_modules/@emotion/core/dist/core.browser.esm.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _atlaskit_icon_glyph_arrow_right_circle__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @atlaskit/icon/glyph/arrow-right-circle */ \"./node_modules/@atlaskit/icon/glyph/arrow-right-circle.js\");\n/* harmony import */ var _atlaskit_icon_glyph_arrow_right_circle__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_atlaskit_icon_glyph_arrow_right_circle__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _atlaskit_spinner__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @atlaskit/spinner */ \"./node_modules/@atlaskit/spinner/dist/esm/index.js\");\n/* harmony import */ var _view_controller__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../view-controller */ \"./node_modules/@atlaskit/navigation-next/dist/esm/view-controller.js\");\n/* harmony import */ var _presentational_ContentNavigation_primitives__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../presentational/ContentNavigation/primitives */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/ContentNavigation/primitives.js\");\n/* harmony import */ var _ConnectedItem__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../ConnectedItem */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/connected/ConnectedItem/index.js\");\n\n\n\n\n\n\n\n\n\n\n\nvar After = function After(_ref) {\n var afterGoTo = _ref.afterGoTo,\n spinnerDelay = _ref.spinnerDelay,\n incomingView = _ref.incomingView,\n isActive = _ref.isActive,\n isHover = _ref.isHover,\n isFocused = _ref.isFocused;\n\n if (incomingView && incomingView.id === afterGoTo) {\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_3__[\"jsx\"])(_atlaskit_spinner__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n delay: spinnerDelay,\n invertColor: true,\n size: \"small\"\n });\n }\n\n if (isActive || isHover || isFocused) {\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_3__[\"jsx\"])(_atlaskit_icon_glyph_arrow_right_circle__WEBPACK_IMPORTED_MODULE_5___default.a, {\n primaryColor: \"currentColor\",\n secondaryColor: \"inherit\"\n });\n }\n\n return null;\n};\n\nvar GoToItem = function GoToItem(gotoItemProps) {\n var scrollProviderRef = Object(react__WEBPACK_IMPORTED_MODULE_4__[\"useContext\"])(_presentational_ContentNavigation_primitives__WEBPACK_IMPORTED_MODULE_8__[\"ScrollProviderRef\"]);\n var spinnerDelay = gotoItemProps.spinnerDelay || 200;\n\n var handleClick = function handleClick( // eslint-disable-next-line no-undef\n e) {\n var goTo = gotoItemProps.goTo,\n navigationViewController = gotoItemProps.navigationViewController;\n e.preventDefault();\n\n if (typeof goTo !== 'string') {\n return;\n } // Hijack focus only if the event is\n // from a keyboard.\n\n\n if (e.clientX === 0 && e.clientY === 0 && scrollProviderRef.current) {\n scrollProviderRef.current.focus();\n }\n\n navigationViewController.setView(goTo);\n };\n\n var afterProp = gotoItemProps.after,\n goTo = gotoItemProps.goTo,\n navigationViewController = gotoItemProps.navigationViewController,\n rest = _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_2___default()(gotoItemProps, [\"after\", \"goTo\", \"navigationViewController\"]);\n\n var after = typeof afterProp === 'undefined' ? After : afterProp;\n var propsForAfterComp = {\n afterGoTo: goTo || null,\n spinnerDelay: spinnerDelay,\n incomingView: navigationViewController.state.incomingView\n };\n\n var props = _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_1___default()({}, rest, {\n after: after\n });\n\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_3__[\"jsx\"])(_ConnectedItem__WEBPACK_IMPORTED_MODULE_9__[\"default\"], _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({\n onClick: handleClick\n }, props, propsForAfterComp));\n};\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(_view_controller__WEBPACK_IMPORTED_MODULE_7__[\"withNavigationViewController\"])(GoToItem));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS9jb21wb25lbnRzL2Nvbm5lY3RlZC9Hb1RvSXRlbS9pbmRleC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AYXRsYXNraXQvbmF2aWdhdGlvbi1uZXh0L2Rpc3QvZXNtL2NvbXBvbmVudHMvY29ubmVjdGVkL0dvVG9JdGVtL2luZGV4LmpzPzU2ZDUiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IF9leHRlbmRzIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2V4dGVuZHNcIjtcbmltcG9ydCBfb2JqZWN0U3ByZWFkIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL29iamVjdFNwcmVhZFwiO1xuaW1wb3J0IF9vYmplY3RXaXRob3V0UHJvcGVydGllcyBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9vYmplY3RXaXRob3V0UHJvcGVydGllc1wiO1xuaW1wb3J0IHsganN4IGFzIF9fX0Vtb3Rpb25KU1ggfSBmcm9tIFwiQGVtb3Rpb24vY29yZVwiO1xuaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgQXJyb3dSaWdodENpcmNsZUljb24gZnJvbSAnQGF0bGFza2l0L2ljb24vZ2x5cGgvYXJyb3ctcmlnaHQtY2lyY2xlJztcbmltcG9ydCBTcGlubmVyIGZyb20gJ0BhdGxhc2tpdC9zcGlubmVyJztcbmltcG9ydCB7IHdpdGhOYXZpZ2F0aW9uVmlld0NvbnRyb2xsZXIgfSBmcm9tICcuLi8uLi8uLi92aWV3LWNvbnRyb2xsZXInO1xuaW1wb3J0IHsgU2Nyb2xsUHJvdmlkZXJSZWYgfSBmcm9tICcuLi8uLi9wcmVzZW50YXRpb25hbC9Db250ZW50TmF2aWdhdGlvbi9wcmltaXRpdmVzJztcbmltcG9ydCBDb25uZWN0ZWRJdGVtIGZyb20gJy4uL0Nvbm5lY3RlZEl0ZW0nO1xuXG52YXIgQWZ0ZXIgPSBmdW5jdGlvbiBBZnRlcihfcmVmKSB7XG4gIHZhciBhZnRlckdvVG8gPSBfcmVmLmFmdGVyR29UbyxcbiAgICAgIHNwaW5uZXJEZWxheSA9IF9yZWYuc3Bpbm5lckRlbGF5LFxuICAgICAgaW5jb21pbmdWaWV3ID0gX3JlZi5pbmNvbWluZ1ZpZXcsXG4gICAgICBpc0FjdGl2ZSA9IF9yZWYuaXNBY3RpdmUsXG4gICAgICBpc0hvdmVyID0gX3JlZi5pc0hvdmVyLFxuICAgICAgaXNGb2N1c2VkID0gX3JlZi5pc0ZvY3VzZWQ7XG5cbiAgaWYgKGluY29taW5nVmlldyAmJiBpbmNvbWluZ1ZpZXcuaWQgPT09IGFmdGVyR29Ubykge1xuICAgIHJldHVybiBfX19FbW90aW9uSlNYKFNwaW5uZXIsIHtcbiAgICAgIGRlbGF5OiBzcGlubmVyRGVsYXksXG4gICAgICBpbnZlcnRDb2xvcjogdHJ1ZSxcbiAgICAgIHNpemU6IFwic21hbGxcIlxuICAgIH0pO1xuICB9XG5cbiAgaWYgKGlzQWN0aXZlIHx8IGlzSG92ZXIgfHwgaXNGb2N1c2VkKSB7XG4gICAgcmV0dXJuIF9fX0Vtb3Rpb25KU1goQXJyb3dSaWdodENpcmNsZUljb24sIHtcbiAgICAgIHByaW1hcnlDb2xvcjogXCJjdXJyZW50Q29sb3JcIixcbiAgICAgIHNlY29uZGFyeUNvbG9yOiBcImluaGVyaXRcIlxuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59O1xuXG52YXIgR29Ub0l0ZW0gPSBmdW5jdGlvbiBHb1RvSXRlbShnb3RvSXRlbVByb3BzKSB7XG4gIHZhciBzY3JvbGxQcm92aWRlclJlZiA9IHVzZUNvbnRleHQoU2Nyb2xsUHJvdmlkZXJSZWYpO1xuICB2YXIgc3Bpbm5lckRlbGF5ID0gZ290b0l0ZW1Qcm9wcy5zcGlubmVyRGVsYXkgfHwgMjAwO1xuXG4gIHZhciBoYW5kbGVDbGljayA9IGZ1bmN0aW9uIGhhbmRsZUNsaWNrKCAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW5kZWZcbiAgZSkge1xuICAgIHZhciBnb1RvID0gZ290b0l0ZW1Qcm9wcy5nb1RvLFxuICAgICAgICBuYXZpZ2F0aW9uVmlld0NvbnRyb2xsZXIgPSBnb3RvSXRlbVByb3BzLm5hdmlnYXRpb25WaWV3Q29udHJvbGxlcjtcbiAgICBlLnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICBpZiAodHlwZW9mIGdvVG8gIT09ICdzdHJpbmcnKSB7XG4gICAgICByZXR1cm47XG4gICAgfSAvLyBIaWphY2sgZm9jdXMgb25seSBpZiB0aGUgZXZlbnQgaXNcbiAgICAvLyBmcm9tIGEga2V5Ym9hcmQuXG5cblxuICAgIGlmIChlLmNsaWVudFggPT09IDAgJiYgZS5jbGllbnRZID09PSAwICYmIHNjcm9sbFByb3ZpZGVyUmVmLmN1cnJlbnQpIHtcbiAgICAgIHNjcm9sbFByb3ZpZGVyUmVmLmN1cnJlbnQuZm9jdXMoKTtcbiAgICB9XG5cbiAgICBuYXZpZ2F0aW9uVmlld0NvbnRyb2xsZXIuc2V0Vmlldyhnb1RvKTtcbiAgfTtcblxuICB2YXIgYWZ0ZXJQcm9wID0gZ290b0l0ZW1Qcm9wcy5hZnRlcixcbiAgICAgIGdvVG8gPSBnb3RvSXRlbVByb3BzLmdvVG8sXG4gICAgICBuYXZpZ2F0aW9uVmlld0NvbnRyb2xsZXIgPSBnb3RvSXRlbVByb3BzLm5hdmlnYXRpb25WaWV3Q29udHJvbGxlcixcbiAgICAgIHJlc3QgPSBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMoZ290b0l0ZW1Qcm9wcywgW1wiYWZ0ZXJcIiwgXCJnb1RvXCIsIFwibmF2aWdhdGlvblZpZXdDb250cm9sbGVyXCJdKTtcblxuICB2YXIgYWZ0ZXIgPSB0eXBlb2YgYWZ0ZXJQcm9wID09PSAndW5kZWZpbmVkJyA/IEFmdGVyIDogYWZ0ZXJQcm9wO1xuICB2YXIgcHJvcHNGb3JBZnRlckNvbXAgPSB7XG4gICAgYWZ0ZXJHb1RvOiBnb1RvIHx8IG51bGwsXG4gICAgc3Bpbm5lckRlbGF5OiBzcGlubmVyRGVsYXksXG4gICAgaW5jb21pbmdWaWV3OiBuYXZpZ2F0aW9uVmlld0NvbnRyb2xsZXIuc3RhdGUuaW5jb21pbmdWaWV3XG4gIH07XG5cbiAgdmFyIHByb3BzID0gX29iamVjdFNwcmVhZCh7fSwgcmVzdCwge1xuICAgIGFmdGVyOiBhZnRlclxuICB9KTtcblxuICByZXR1cm4gX19fRW1vdGlvbkpTWChDb25uZWN0ZWRJdGVtLCBfZXh0ZW5kcyh7XG4gICAgb25DbGljazogaGFuZGxlQ2xpY2tcbiAgfSwgcHJvcHMsIHByb3BzRm9yQWZ0ZXJDb21wKSk7XG59O1xuXG5leHBvcnQgeyBHb1RvSXRlbSBhcyBHb1RvSXRlbUJhc2UgfTtcbmV4cG9ydCBkZWZhdWx0IHdpdGhOYXZpZ2F0aW9uVmlld0NvbnRyb2xsZXIoR29Ub0l0ZW0pOyJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/navigation-next/dist/esm/components/connected/GoToItem/index.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/navigation-next/dist/esm/components/connected/LayoutManagerWithViewController/LayoutManagerWithViewController.js": /*!*************************************************************************************************************************************************!*\ !*** ./node_modules/@atlaskit/navigation-next/dist/esm/components/connected/LayoutManagerWithViewController/LayoutManagerWithViewController.js ***! \*************************************************************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _emotion_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @emotion/core */ \"./node_modules/@emotion/core/dist/core.browser.esm.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _renderer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../renderer */ \"./node_modules/@atlaskit/navigation-next/dist/esm/renderer/index.js\");\n/* harmony import */ var _presentational_SkeletonContainerView__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../presentational/SkeletonContainerView */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/SkeletonContainerView/index.js\");\n/* harmony import */ var _AsyncLayoutManagerWithViewController__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../AsyncLayoutManagerWithViewController */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/connected/AsyncLayoutManagerWithViewController/index.js\");\n\n\n\n\n\n/* NOTE: experimental props use an underscore */\n\n/* eslint-disable camelcase */\n\nvar LayoutManagerWithViewController = function LayoutManagerWithViewController(_ref) {\n var children = _ref.children,\n firstSkeletonToRender = _ref.firstSkeletonToRender,\n customComponents = _ref.customComponents,\n experimental_alternateFlyoutBehaviour = _ref.experimental_alternateFlyoutBehaviour,\n experimental_flyoutOnHover = _ref.experimental_flyoutOnHover,\n experimental_fullWidthFlyout = _ref.experimental_fullWidthFlyout,\n experimental_hideNavVisuallyOnCollapse = _ref.experimental_hideNavVisuallyOnCollapse,\n experimental_horizontalGlobalNav = _ref.experimental_horizontalGlobalNav,\n globalNavigation = _ref.globalNavigation,\n onExpandStart = _ref.onExpandStart,\n onExpandEnd = _ref.onExpandEnd,\n onCollapseStart = _ref.onCollapseStart,\n onCollapseEnd = _ref.onCollapseEnd,\n getRefs = _ref.getRefs,\n topOffset = _ref.topOffset,\n shouldHideGlobalNavShadow = _ref.shouldHideGlobalNavShadow,\n showContextualNavigation = _ref.showContextualNavigation;\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_0__[\"jsx\"])(_AsyncLayoutManagerWithViewController__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n onExpandStart: onExpandStart,\n onExpandEnd: onExpandEnd,\n onCollapseStart: onCollapseStart,\n onCollapseEnd: onCollapseEnd,\n getRefs: getRefs,\n customComponents: customComponents,\n experimental_flyoutOnHover: !!experimental_flyoutOnHover,\n experimental_alternateFlyoutBehaviour: !!experimental_alternateFlyoutBehaviour,\n experimental_hideNavVisuallyOnCollapse: !!experimental_hideNavVisuallyOnCollapse,\n experimental_fullWidthFlyout: !!experimental_fullWidthFlyout,\n experimental_horizontalGlobalNav: !!experimental_horizontalGlobalNav,\n globalNavigation: globalNavigation,\n containerSkeleton: function containerSkeleton() {\n return firstSkeletonToRender ? Object(_emotion_core__WEBPACK_IMPORTED_MODULE_0__[\"jsx\"])(_presentational_SkeletonContainerView__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n type: firstSkeletonToRender\n }) : null;\n },\n itemsRenderer: _renderer__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n firstSkeletonToRender: firstSkeletonToRender,\n topOffset: topOffset,\n shouldHideGlobalNavShadow: shouldHideGlobalNavShadow,\n showContextualNavigation: showContextualNavigation\n }, children);\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (LayoutManagerWithViewController);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS9jb21wb25lbnRzL2Nvbm5lY3RlZC9MYXlvdXRNYW5hZ2VyV2l0aFZpZXdDb250cm9sbGVyL0xheW91dE1hbmFnZXJXaXRoVmlld0NvbnRyb2xsZXIuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS9jb21wb25lbnRzL2Nvbm5lY3RlZC9MYXlvdXRNYW5hZ2VyV2l0aFZpZXdDb250cm9sbGVyL0xheW91dE1hbmFnZXJXaXRoVmlld0NvbnRyb2xsZXIuanM/NjYwNyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBqc3ggYXMgX19fRW1vdGlvbkpTWCB9IGZyb20gXCJAZW1vdGlvbi9jb3JlXCI7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IEl0ZW1zUmVuZGVyZXIgZnJvbSAnLi4vLi4vLi4vcmVuZGVyZXInO1xuaW1wb3J0IFNrZWxldG9uQ29udGFpbmVyVmlldyBmcm9tICcuLi8uLi9wcmVzZW50YXRpb25hbC9Ta2VsZXRvbkNvbnRhaW5lclZpZXcnO1xuaW1wb3J0IEFzeW5jTGF5b3V0TWFuYWdlcldpdGhWaWV3Q29udHJvbGxlciBmcm9tICcuLi9Bc3luY0xheW91dE1hbmFnZXJXaXRoVmlld0NvbnRyb2xsZXInO1xuLyogTk9URTogZXhwZXJpbWVudGFsIHByb3BzIHVzZSBhbiB1bmRlcnNjb3JlICovXG5cbi8qIGVzbGludC1kaXNhYmxlIGNhbWVsY2FzZSAqL1xuXG52YXIgTGF5b3V0TWFuYWdlcldpdGhWaWV3Q29udHJvbGxlciA9IGZ1bmN0aW9uIExheW91dE1hbmFnZXJXaXRoVmlld0NvbnRyb2xsZXIoX3JlZikge1xuICB2YXIgY2hpbGRyZW4gPSBfcmVmLmNoaWxkcmVuLFxuICAgICAgZmlyc3RTa2VsZXRvblRvUmVuZGVyID0gX3JlZi5maXJzdFNrZWxldG9uVG9SZW5kZXIsXG4gICAgICBjdXN0b21Db21wb25lbnRzID0gX3JlZi5jdXN0b21Db21wb25lbnRzLFxuICAgICAgZXhwZXJpbWVudGFsX2FsdGVybmF0ZUZseW91dEJlaGF2aW91ciA9IF9yZWYuZXhwZXJpbWVudGFsX2FsdGVybmF0ZUZseW91dEJlaGF2aW91cixcbiAgICAgIGV4cGVyaW1lbnRhbF9mbHlvdXRPbkhvdmVyID0gX3JlZi5leHBlcmltZW50YWxfZmx5b3V0T25Ib3ZlcixcbiAgICAgIGV4cGVyaW1lbnRhbF9mdWxsV2lkdGhGbHlvdXQgPSBfcmVmLmV4cGVyaW1lbnRhbF9mdWxsV2lkdGhGbHlvdXQsXG4gICAgICBleHBlcmltZW50YWxfaGlkZU5hdlZpc3VhbGx5T25Db2xsYXBzZSA9IF9yZWYuZXhwZXJpbWVudGFsX2hpZGVOYXZWaXN1YWxseU9uQ29sbGFwc2UsXG4gICAgICBleHBlcmltZW50YWxfaG9yaXpvbnRhbEdsb2JhbE5hdiA9IF9yZWYuZXhwZXJpbWVudGFsX2hvcml6b250YWxHbG9iYWxOYXYsXG4gICAgICBnbG9iYWxOYXZpZ2F0aW9uID0gX3JlZi5nbG9iYWxOYXZpZ2F0aW9uLFxuICAgICAgb25FeHBhbmRTdGFydCA9IF9yZWYub25FeHBhbmRTdGFydCxcbiAgICAgIG9uRXhwYW5kRW5kID0gX3JlZi5vbkV4cGFuZEVuZCxcbiAgICAgIG9uQ29sbGFwc2VTdGFydCA9IF9yZWYub25Db2xsYXBzZVN0YXJ0LFxuICAgICAgb25Db2xsYXBzZUVuZCA9IF9yZWYub25Db2xsYXBzZUVuZCxcbiAgICAgIGdldFJlZnMgPSBfcmVmLmdldFJlZnMsXG4gICAgICB0b3BPZmZzZXQgPSBfcmVmLnRvcE9mZnNldCxcbiAgICAgIHNob3VsZEhpZGVHbG9iYWxOYXZTaGFkb3cgPSBfcmVmLnNob3VsZEhpZGVHbG9iYWxOYXZTaGFkb3csXG4gICAgICBzaG93Q29udGV4dHVhbE5hdmlnYXRpb24gPSBfcmVmLnNob3dDb250ZXh0dWFsTmF2aWdhdGlvbjtcbiAgcmV0dXJuIF9fX0Vtb3Rpb25KU1goQXN5bmNMYXlvdXRNYW5hZ2VyV2l0aFZpZXdDb250cm9sbGVyLCB7XG4gICAgb25FeHBhbmRTdGFydDogb25FeHBhbmRTdGFydCxcbiAgICBvbkV4cGFuZEVuZDogb25FeHBhbmRFbmQsXG4gICAgb25Db2xsYXBzZVN0YXJ0OiBvbkNvbGxhcHNlU3RhcnQsXG4gICAgb25Db2xsYXBzZUVuZDogb25Db2xsYXBzZUVuZCxcbiAgICBnZXRSZWZzOiBnZXRSZWZzLFxuICAgIGN1c3RvbUNvbXBvbmVudHM6IGN1c3RvbUNvbXBvbmVudHMsXG4gICAgZXhwZXJpbWVudGFsX2ZseW91dE9uSG92ZXI6ICEhZXhwZXJpbWVudGFsX2ZseW91dE9uSG92ZXIsXG4gICAgZXhwZXJpbWVudGFsX2FsdGVybmF0ZUZseW91dEJlaGF2aW91cjogISFleHBlcmltZW50YWxfYWx0ZXJuYXRlRmx5b3V0QmVoYXZpb3VyLFxuICAgIGV4cGVyaW1lbnRhbF9oaWRlTmF2VmlzdWFsbHlPbkNvbGxhcHNlOiAhIWV4cGVyaW1lbnRhbF9oaWRlTmF2VmlzdWFsbHlPbkNvbGxhcHNlLFxuICAgIGV4cGVyaW1lbnRhbF9mdWxsV2lkdGhGbHlvdXQ6ICEhZXhwZXJpbWVudGFsX2Z1bGxXaWR0aEZseW91dCxcbiAgICBleHBlcmltZW50YWxfaG9yaXpvbnRhbEdsb2JhbE5hdjogISFleHBlcmltZW50YWxfaG9yaXpvbnRhbEdsb2JhbE5hdixcbiAgICBnbG9iYWxOYXZpZ2F0aW9uOiBnbG9iYWxOYXZpZ2F0aW9uLFxuICAgIGNvbnRhaW5lclNrZWxldG9uOiBmdW5jdGlvbiBjb250YWluZXJTa2VsZXRvbigpIHtcbiAgICAgIHJldHVybiBmaXJzdFNrZWxldG9uVG9SZW5kZXIgPyBfX19FbW90aW9uSlNYKFNrZWxldG9uQ29udGFpbmVyVmlldywge1xuICAgICAgICB0eXBlOiBmaXJzdFNrZWxldG9uVG9SZW5kZXJcbiAgICAgIH0pIDogbnVsbDtcbiAgICB9LFxuICAgIGl0ZW1zUmVuZGVyZXI6IEl0ZW1zUmVuZGVyZXIsXG4gICAgZmlyc3RTa2VsZXRvblRvUmVuZGVyOiBmaXJzdFNrZWxldG9uVG9SZW5kZXIsXG4gICAgdG9wT2Zmc2V0OiB0b3BPZmZzZXQsXG4gICAgc2hvdWxkSGlkZUdsb2JhbE5hdlNoYWRvdzogc2hvdWxkSGlkZUdsb2JhbE5hdlNoYWRvdyxcbiAgICBzaG93Q29udGV4dHVhbE5hdmlnYXRpb246IHNob3dDb250ZXh0dWFsTmF2aWdhdGlvblxuICB9LCBjaGlsZHJlbik7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBMYXlvdXRNYW5hZ2VyV2l0aFZpZXdDb250cm9sbGVyOyJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/navigation-next/dist/esm/components/connected/LayoutManagerWithViewController/LayoutManagerWithViewController.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/navigation-next/dist/esm/components/connected/LayoutManagerWithViewController/index.js": /*!***********************************************************************************************************************!*\ !*** ./node_modules/@atlaskit/navigation-next/dist/esm/components/connected/LayoutManagerWithViewController/index.js ***! \***********************************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _LayoutManagerWithViewController__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./LayoutManagerWithViewController */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/connected/LayoutManagerWithViewController/LayoutManagerWithViewController.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _LayoutManagerWithViewController__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS9jb21wb25lbnRzL2Nvbm5lY3RlZC9MYXlvdXRNYW5hZ2VyV2l0aFZpZXdDb250cm9sbGVyL2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BhdGxhc2tpdC9uYXZpZ2F0aW9uLW5leHQvZGlzdC9lc20vY29tcG9uZW50cy9jb25uZWN0ZWQvTGF5b3V0TWFuYWdlcldpdGhWaWV3Q29udHJvbGxlci9pbmRleC5qcz9kZWM4Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IGRlZmF1bHQgfSBmcm9tICcuL0xheW91dE1hbmFnZXJXaXRoVmlld0NvbnRyb2xsZXInOyJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/navigation-next/dist/esm/components/connected/LayoutManagerWithViewController/index.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/navigation-next/dist/esm/components/connected/SortableContext/index.js": /*!*******************************************************************************************************!*\ !*** ./node_modules/@atlaskit/navigation-next/dist/esm/components/connected/SortableContext/index.js ***! \*******************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return SortableContext; });\n/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ \"./node_modules/@babel/runtime/helpers/slicedToArray.js\");\n/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ \"./node_modules/@babel/runtime/helpers/classCallCheck.js\");\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\");\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ \"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ \"./node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @babel/runtime/helpers/assertThisInitialized */ \"./node_modules/@babel/runtime/helpers/assertThisInitialized.js\");\n/* harmony import */ var _babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ \"./node_modules/@babel/runtime/helpers/inherits.js\");\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ \"./node_modules/@babel/runtime/helpers/defineProperty.js\");\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _emotion_core__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @emotion/core */ \"./node_modules/@emotion/core/dist/core.browser.esm.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony import */ var react_beautiful_dnd__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! react-beautiful-dnd */ \"./node_modules/react-beautiful-dnd/dist/react-beautiful-dnd.esm.js\");\n/* harmony import */ var _presentational_LayoutManager_LayoutEvent__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../presentational/LayoutManager/LayoutEvent */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/LayoutManager/LayoutEvent.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar SortableContext =\n/*#__PURE__*/\nfunction (_Component) {\n _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_6___default()(SortableContext, _Component);\n\n function SortableContext() {\n var _getPrototypeOf2;\n\n var _this;\n\n _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default()(this, SortableContext);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3___default()(this, (_getPrototypeOf2 = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4___default()(SortableContext)).call.apply(_getPrototypeOf2, [this].concat(args)));\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_7___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_5___default()(_this), \"onDragStart\", function (_ref, emit) {\n var _ref2 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0___default()(_ref, 2),\n start = _ref2[0],\n provided = _ref2[1];\n\n emit();\n\n if (_this.props.onDragStart) {\n _this.props.onDragStart(start, provided);\n }\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_7___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_5___default()(_this), \"onDragEnd\", function (_ref3, emit) {\n var _ref4 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0___default()(_ref3, 2),\n result = _ref4[0],\n provided = _ref4[1];\n\n emit();\n\n if (_this.props.onDragEnd) {\n _this.props.onDragEnd(result, provided);\n }\n });\n\n return _this;\n }\n\n _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2___default()(SortableContext, [{\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var _this$props = this.props,\n children = _this$props.children,\n onDragUpdate = _this$props.onDragUpdate;\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_8__[\"jsx\"])(_presentational_LayoutManager_LayoutEvent__WEBPACK_IMPORTED_MODULE_11__[\"LayoutEventEmitter\"], null, function (_ref5) {\n var emitItemDragStart = _ref5.emitItemDragStart,\n emitItemDragEnd = _ref5.emitItemDragEnd;\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_8__[\"jsx\"])(react_beautiful_dnd__WEBPACK_IMPORTED_MODULE_10__[\"DragDropContext\"], {\n onDragUpdate: onDragUpdate,\n onDragStart: function onDragStart() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return _this2.onDragStart(args, emitItemDragStart);\n },\n onDragEnd: function onDragEnd() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n return _this2.onDragEnd(args, emitItemDragEnd);\n }\n }, children);\n });\n }\n }]);\n\n return SortableContext;\n}(react__WEBPACK_IMPORTED_MODULE_9__[\"Component\"]);\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS9jb21wb25lbnRzL2Nvbm5lY3RlZC9Tb3J0YWJsZUNvbnRleHQvaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS9jb21wb25lbnRzL2Nvbm5lY3RlZC9Tb3J0YWJsZUNvbnRleHQvaW5kZXguanM/MTZhZSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgX3NsaWNlZFRvQXJyYXkgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvc2xpY2VkVG9BcnJheVwiO1xuaW1wb3J0IF9jbGFzc0NhbGxDaGVjayBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9jbGFzc0NhbGxDaGVja1wiO1xuaW1wb3J0IF9jcmVhdGVDbGFzcyBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9jcmVhdGVDbGFzc1wiO1xuaW1wb3J0IF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm5cIjtcbmltcG9ydCBfZ2V0UHJvdG90eXBlT2YgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvZ2V0UHJvdG90eXBlT2ZcIjtcbmltcG9ydCBfYXNzZXJ0VGhpc0luaXRpYWxpemVkIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2Fzc2VydFRoaXNJbml0aWFsaXplZFwiO1xuaW1wb3J0IF9pbmhlcml0cyBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9pbmhlcml0c1wiO1xuaW1wb3J0IF9kZWZpbmVQcm9wZXJ0eSBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9kZWZpbmVQcm9wZXJ0eVwiO1xuaW1wb3J0IHsganN4IGFzIF9fX0Vtb3Rpb25KU1ggfSBmcm9tIFwiQGVtb3Rpb24vY29yZVwiO1xuaW1wb3J0IFJlYWN0LCB7IENvbXBvbmVudCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IERyYWdEcm9wQ29udGV4dCB9IGZyb20gJ3JlYWN0LWJlYXV0aWZ1bC1kbmQnO1xuaW1wb3J0IHsgTGF5b3V0RXZlbnRFbWl0dGVyIH0gZnJvbSAnLi4vLi4vcHJlc2VudGF0aW9uYWwvTGF5b3V0TWFuYWdlci9MYXlvdXRFdmVudCc7XG5cbnZhciBTb3J0YWJsZUNvbnRleHQgPVxuLyojX19QVVJFX18qL1xuZnVuY3Rpb24gKF9Db21wb25lbnQpIHtcbiAgX2luaGVyaXRzKFNvcnRhYmxlQ29udGV4dCwgX0NvbXBvbmVudCk7XG5cbiAgZnVuY3Rpb24gU29ydGFibGVDb250ZXh0KCkge1xuICAgIHZhciBfZ2V0UHJvdG90eXBlT2YyO1xuXG4gICAgdmFyIF90aGlzO1xuXG4gICAgX2NsYXNzQ2FsbENoZWNrKHRoaXMsIFNvcnRhYmxlQ29udGV4dCk7XG5cbiAgICBmb3IgKHZhciBfbGVuID0gYXJndW1lbnRzLmxlbmd0aCwgYXJncyA9IG5ldyBBcnJheShfbGVuKSwgX2tleSA9IDA7IF9rZXkgPCBfbGVuOyBfa2V5KyspIHtcbiAgICAgIGFyZ3NbX2tleV0gPSBhcmd1bWVudHNbX2tleV07XG4gICAgfVxuXG4gICAgX3RoaXMgPSBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybih0aGlzLCAoX2dldFByb3RvdHlwZU9mMiA9IF9nZXRQcm90b3R5cGVPZihTb3J0YWJsZUNvbnRleHQpKS5jYWxsLmFwcGx5KF9nZXRQcm90b3R5cGVPZjIsIFt0aGlzXS5jb25jYXQoYXJncykpKTtcblxuICAgIF9kZWZpbmVQcm9wZXJ0eShfYXNzZXJ0VGhpc0luaXRpYWxpemVkKF90aGlzKSwgXCJvbkRyYWdTdGFydFwiLCBmdW5jdGlvbiAoX3JlZiwgZW1pdCkge1xuICAgICAgdmFyIF9yZWYyID0gX3NsaWNlZFRvQXJyYXkoX3JlZiwgMiksXG4gICAgICAgICAgc3RhcnQgPSBfcmVmMlswXSxcbiAgICAgICAgICBwcm92aWRlZCA9IF9yZWYyWzFdO1xuXG4gICAgICBlbWl0KCk7XG5cbiAgICAgIGlmIChfdGhpcy5wcm9wcy5vbkRyYWdTdGFydCkge1xuICAgICAgICBfdGhpcy5wcm9wcy5vbkRyYWdTdGFydChzdGFydCwgcHJvdmlkZWQpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgX2RlZmluZVByb3BlcnR5KF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoX3RoaXMpLCBcIm9uRHJhZ0VuZFwiLCBmdW5jdGlvbiAoX3JlZjMsIGVtaXQpIHtcbiAgICAgIHZhciBfcmVmNCA9IF9zbGljZWRUb0FycmF5KF9yZWYzLCAyKSxcbiAgICAgICAgICByZXN1bHQgPSBfcmVmNFswXSxcbiAgICAgICAgICBwcm92aWRlZCA9IF9yZWY0WzFdO1xuXG4gICAgICBlbWl0KCk7XG5cbiAgICAgIGlmIChfdGhpcy5wcm9wcy5vbkRyYWdFbmQpIHtcbiAgICAgICAgX3RoaXMucHJvcHMub25EcmFnRW5kKHJlc3VsdCwgcHJvdmlkZWQpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIF90aGlzO1xuICB9XG5cbiAgX2NyZWF0ZUNsYXNzKFNvcnRhYmxlQ29udGV4dCwgW3tcbiAgICBrZXk6IFwicmVuZGVyXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIHJlbmRlcigpIHtcbiAgICAgIHZhciBfdGhpczIgPSB0aGlzO1xuXG4gICAgICB2YXIgX3RoaXMkcHJvcHMgPSB0aGlzLnByb3BzLFxuICAgICAgICAgIGNoaWxkcmVuID0gX3RoaXMkcHJvcHMuY2hpbGRyZW4sXG4gICAgICAgICAgb25EcmFnVXBkYXRlID0gX3RoaXMkcHJvcHMub25EcmFnVXBkYXRlO1xuICAgICAgcmV0dXJuIF9fX0Vtb3Rpb25KU1goTGF5b3V0RXZlbnRFbWl0dGVyLCBudWxsLCBmdW5jdGlvbiAoX3JlZjUpIHtcbiAgICAgICAgdmFyIGVtaXRJdGVtRHJhZ1N0YXJ0ID0gX3JlZjUuZW1pdEl0ZW1EcmFnU3RhcnQsXG4gICAgICAgICAgICBlbWl0SXRlbURyYWdFbmQgPSBfcmVmNS5lbWl0SXRlbURyYWdFbmQ7XG4gICAgICAgIHJldHVybiBfX19FbW90aW9uSlNYKERyYWdEcm9wQ29udGV4dCwge1xuICAgICAgICAgIG9uRHJhZ1VwZGF0ZTogb25EcmFnVXBkYXRlLFxuICAgICAgICAgIG9uRHJhZ1N0YXJ0OiBmdW5jdGlvbiBvbkRyYWdTdGFydCgpIHtcbiAgICAgICAgICAgIGZvciAodmFyIF9sZW4yID0gYXJndW1lbnRzLmxlbmd0aCwgYXJncyA9IG5ldyBBcnJheShfbGVuMiksIF9rZXkyID0gMDsgX2tleTIgPCBfbGVuMjsgX2tleTIrKykge1xuICAgICAgICAgICAgICBhcmdzW19rZXkyXSA9IGFyZ3VtZW50c1tfa2V5Ml07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBfdGhpczIub25EcmFnU3RhcnQoYXJncywgZW1pdEl0ZW1EcmFnU3RhcnQpO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgb25EcmFnRW5kOiBmdW5jdGlvbiBvbkRyYWdFbmQoKSB7XG4gICAgICAgICAgICBmb3IgKHZhciBfbGVuMyA9IGFyZ3VtZW50cy5sZW5ndGgsIGFyZ3MgPSBuZXcgQXJyYXkoX2xlbjMpLCBfa2V5MyA9IDA7IF9rZXkzIDwgX2xlbjM7IF9rZXkzKyspIHtcbiAgICAgICAgICAgICAgYXJnc1tfa2V5M10gPSBhcmd1bWVudHNbX2tleTNdO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gX3RoaXMyLm9uRHJhZ0VuZChhcmdzLCBlbWl0SXRlbURyYWdFbmQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSwgY2hpbGRyZW4pO1xuICAgICAgfSk7XG4gICAgfVxuICB9XSk7XG5cbiAgcmV0dXJuIFNvcnRhYmxlQ29udGV4dDtcbn0oQ29tcG9uZW50KTtcblxuZXhwb3J0IHsgU29ydGFibGVDb250ZXh0IGFzIGRlZmF1bHQgfTsiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/navigation-next/dist/esm/components/connected/SortableContext/index.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/navigation-next/dist/esm/components/connected/SortableGroup/index.js": /*!*****************************************************************************************************!*\ !*** ./node_modules/@atlaskit/navigation-next/dist/esm/components/connected/SortableGroup/index.js ***! \*****************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return SortableGroup; });\n/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/objectSpread */ \"./node_modules/@babel/runtime/helpers/objectSpread.js\");\n/* harmony import */ var _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _emotion_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @emotion/css */ \"./node_modules/@emotion/css/dist/css.browser.esm.js\");\n/* harmony import */ var _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ \"./node_modules/@babel/runtime/helpers/objectWithoutProperties.js\");\n/* harmony import */ var _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ \"./node_modules/@babel/runtime/helpers/classCallCheck.js\");\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\");\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ \"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ \"./node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ \"./node_modules/@babel/runtime/helpers/inherits.js\");\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var _emotion_core__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @emotion/core */ \"./node_modules/@emotion/core/dist/core.browser.esm.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_10__);\n/* harmony import */ var react_beautiful_dnd__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! react-beautiful-dnd */ \"./node_modules/react-beautiful-dnd/dist/react-beautiful-dnd.esm.js\");\n/* harmony import */ var _presentational_Group__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../presentational/Group */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/Group/index.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar defaultStyles = {\n minHeight: 64,\n // Remove browser default button styles for rbdnd placeholder\n '& > button': {\n background: 'none',\n border: 'none',\n padding: 'none'\n }\n}; // This will automatically be applied for us as part of react-beautiful-dnd v10\n\nvar applyDraggingStyles = function applyDraggingStyles(snapshot) {\n return {\n pointerEvents: snapshot.isDraggingOver ? 'none' : undefined\n };\n};\n\nvar SortableGroup =\n/*#__PURE__*/\nfunction (_Component) {\n _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_8___default()(SortableGroup, _Component);\n\n function SortableGroup() {\n _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_4___default()(this, SortableGroup);\n\n return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_6___default()(this, _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_7___default()(SortableGroup).apply(this, arguments));\n }\n\n _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_5___default()(SortableGroup, [{\n key: \"render\",\n value: function render() {\n // eslint-disable-next-line react/prop-types\n var _this$props = this.props,\n children = _this$props.children,\n innerStyle = _this$props.innerStyle,\n groupProps = _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_3___default()(_this$props, [\"children\", \"innerStyle\"]);\n\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_9__[\"jsx\"])(react_beautiful_dnd__WEBPACK_IMPORTED_MODULE_11__[\"Droppable\"], {\n droppableId: groupProps.id\n }, function (droppableProvided, snapshot) {\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_9__[\"jsx\"])(\"div\", _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({\n ref: droppableProvided.innerRef,\n css:\n /*#__PURE__*/\n Object(_emotion_css__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_1___default()({}, defaultStyles, innerStyle, applyDraggingStyles(snapshot)), false ? undefined : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2Nvbm5lY3RlZC9Tb3J0YWJsZUdyb3VwL2luZGV4LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQThCWSIsImZpbGUiOiIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9jb25uZWN0ZWQvU29ydGFibGVHcm91cC9pbmRleC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyBDb21wb25lbnQgfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB7IERyb3BwYWJsZSB9IGZyb20gJ3JlYWN0LWJlYXV0aWZ1bC1kbmQnO1xuXG5pbXBvcnQgR3JvdXAgZnJvbSAnLi4vLi4vcHJlc2VudGF0aW9uYWwvR3JvdXAnO1xuXG5jb25zdCBkZWZhdWx0U3R5bGVzID0ge1xuICBtaW5IZWlnaHQ6IDY0LFxuICAvLyBSZW1vdmUgYnJvd3NlciBkZWZhdWx0IGJ1dHRvbiBzdHlsZXMgZm9yIHJiZG5kIHBsYWNlaG9sZGVyXG4gICcmID4gYnV0dG9uJzoge1xuICAgIGJhY2tncm91bmQ6ICdub25lJyxcbiAgICBib3JkZXI6ICdub25lJyxcbiAgICBwYWRkaW5nOiAnbm9uZScsXG4gIH0sXG59O1xuXG4vLyBUaGlzIHdpbGwgYXV0b21hdGljYWxseSBiZSBhcHBsaWVkIGZvciB1cyBhcyBwYXJ0IG9mIHJlYWN0LWJlYXV0aWZ1bC1kbmQgdjEwXG5jb25zdCBhcHBseURyYWdnaW5nU3R5bGVzID0gc25hcHNob3QgPT4gKHtcbiAgcG9pbnRlckV2ZW50czogc25hcHNob3QuaXNEcmFnZ2luZ092ZXIgPyAnbm9uZScgOiB1bmRlZmluZWQsXG59KTtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgU29ydGFibGVHcm91cCBleHRlbmRzIENvbXBvbmVudCB7XG4gIHJlbmRlcigpIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QvcHJvcC10eXBlc1xuICAgIGNvbnN0IHsgY2hpbGRyZW4sIGlubmVyU3R5bGUsIC4uLmdyb3VwUHJvcHMgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIChcbiAgICAgIDxEcm9wcGFibGUgZHJvcHBhYmxlSWQ9e2dyb3VwUHJvcHMuaWR9PlxuICAgICAgICB7KGRyb3BwYWJsZVByb3ZpZGVkLCBzbmFwc2hvdCkgPT4gKFxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIHJlZj17ZHJvcHBhYmxlUHJvdmlkZWQuaW5uZXJSZWZ9XG4gICAgICAgICAgICBjc3M9e3tcbiAgICAgICAgICAgICAgLi4uZGVmYXVsdFN0eWxlcyxcbiAgICAgICAgICAgICAgLi4uaW5uZXJTdHlsZSxcbiAgICAgICAgICAgICAgLi4uYXBwbHlEcmFnZ2luZ1N0eWxlcyhzbmFwc2hvdCksXG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgey4uLmRyb3BwYWJsZVByb3ZpZGVkLmRyb3BwYWJsZVByb3BzfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxHcm91cCB7Li4uZ3JvdXBQcm9wc30+XG4gICAgICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgICAgICAge2Ryb3BwYWJsZVByb3ZpZGVkLnBsYWNlaG9sZGVyfVxuICAgICAgICAgICAgPC9Hcm91cD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKX1cbiAgICAgIDwvRHJvcHBhYmxlPlxuICAgICk7XG4gIH1cbn1cbiJdfQ== */\")\n }, droppableProvided.droppableProps), Object(_emotion_core__WEBPACK_IMPORTED_MODULE_9__[\"jsx\"])(_presentational_Group__WEBPACK_IMPORTED_MODULE_12__[\"default\"], groupProps, children, droppableProvided.placeholder));\n });\n }\n }]);\n\n return SortableGroup;\n}(react__WEBPACK_IMPORTED_MODULE_10__[\"Component\"]);\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS9jb21wb25lbnRzL2Nvbm5lY3RlZC9Tb3J0YWJsZUdyb3VwL2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BhdGxhc2tpdC9uYXZpZ2F0aW9uLW5leHQvZGlzdC9lc20vY29tcG9uZW50cy9jb25uZWN0ZWQvU29ydGFibGVHcm91cC9pbmRleC5qcz83NWNiIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfZXh0ZW5kcyBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9leHRlbmRzXCI7XG5pbXBvcnQgX29iamVjdFNwcmVhZCBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9vYmplY3RTcHJlYWRcIjtcbmltcG9ydCBfY3NzIGZyb20gXCJAZW1vdGlvbi9jc3NcIjtcbmltcG9ydCBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvb2JqZWN0V2l0aG91dFByb3BlcnRpZXNcIjtcbmltcG9ydCBfY2xhc3NDYWxsQ2hlY2sgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvY2xhc3NDYWxsQ2hlY2tcIjtcbmltcG9ydCBfY3JlYXRlQ2xhc3MgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvY3JlYXRlQ2xhc3NcIjtcbmltcG9ydCBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybiBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuXCI7XG5pbXBvcnQgX2dldFByb3RvdHlwZU9mIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2dldFByb3RvdHlwZU9mXCI7XG5pbXBvcnQgX2luaGVyaXRzIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2luaGVyaXRzXCI7XG5pbXBvcnQgeyBqc3ggYXMgX19fRW1vdGlvbkpTWCB9IGZyb20gXCJAZW1vdGlvbi9jb3JlXCI7XG5pbXBvcnQgUmVhY3QsIHsgQ29tcG9uZW50IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgRHJvcHBhYmxlIH0gZnJvbSAncmVhY3QtYmVhdXRpZnVsLWRuZCc7XG5pbXBvcnQgR3JvdXAgZnJvbSAnLi4vLi4vcHJlc2VudGF0aW9uYWwvR3JvdXAnO1xudmFyIGRlZmF1bHRTdHlsZXMgPSB7XG4gIG1pbkhlaWdodDogNjQsXG4gIC8vIFJlbW92ZSBicm93c2VyIGRlZmF1bHQgYnV0dG9uIHN0eWxlcyBmb3IgcmJkbmQgcGxhY2Vob2xkZXJcbiAgJyYgPiBidXR0b24nOiB7XG4gICAgYmFja2dyb3VuZDogJ25vbmUnLFxuICAgIGJvcmRlcjogJ25vbmUnLFxuICAgIHBhZGRpbmc6ICdub25lJ1xuICB9XG59OyAvLyBUaGlzIHdpbGwgYXV0b21hdGljYWxseSBiZSBhcHBsaWVkIGZvciB1cyBhcyBwYXJ0IG9mIHJlYWN0LWJlYXV0aWZ1bC1kbmQgdjEwXG5cbnZhciBhcHBseURyYWdnaW5nU3R5bGVzID0gZnVuY3Rpb24gYXBwbHlEcmFnZ2luZ1N0eWxlcyhzbmFwc2hvdCkge1xuICByZXR1cm4ge1xuICAgIHBvaW50ZXJFdmVudHM6IHNuYXBzaG90LmlzRHJhZ2dpbmdPdmVyID8gJ25vbmUnIDogdW5kZWZpbmVkXG4gIH07XG59O1xuXG52YXIgU29ydGFibGVHcm91cCA9XG4vKiNfX1BVUkVfXyovXG5mdW5jdGlvbiAoX0NvbXBvbmVudCkge1xuICBfaW5oZXJpdHMoU29ydGFibGVHcm91cCwgX0NvbXBvbmVudCk7XG5cbiAgZnVuY3Rpb24gU29ydGFibGVHcm91cCgpIHtcbiAgICBfY2xhc3NDYWxsQ2hlY2sodGhpcywgU29ydGFibGVHcm91cCk7XG5cbiAgICByZXR1cm4gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4odGhpcywgX2dldFByb3RvdHlwZU9mKFNvcnRhYmxlR3JvdXApLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykpO1xuICB9XG5cbiAgX2NyZWF0ZUNsYXNzKFNvcnRhYmxlR3JvdXAsIFt7XG4gICAga2V5OiBcInJlbmRlclwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiByZW5kZXIoKSB7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QvcHJvcC10eXBlc1xuICAgICAgdmFyIF90aGlzJHByb3BzID0gdGhpcy5wcm9wcyxcbiAgICAgICAgICBjaGlsZHJlbiA9IF90aGlzJHByb3BzLmNoaWxkcmVuLFxuICAgICAgICAgIGlubmVyU3R5bGUgPSBfdGhpcyRwcm9wcy5pbm5lclN0eWxlLFxuICAgICAgICAgIGdyb3VwUHJvcHMgPSBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMoX3RoaXMkcHJvcHMsIFtcImNoaWxkcmVuXCIsIFwiaW5uZXJTdHlsZVwiXSk7XG5cbiAgICAgIHJldHVybiBfX19FbW90aW9uSlNYKERyb3BwYWJsZSwge1xuICAgICAgICBkcm9wcGFibGVJZDogZ3JvdXBQcm9wcy5pZFxuICAgICAgfSwgZnVuY3Rpb24gKGRyb3BwYWJsZVByb3ZpZGVkLCBzbmFwc2hvdCkge1xuICAgICAgICByZXR1cm4gX19fRW1vdGlvbkpTWChcImRpdlwiLCBfZXh0ZW5kcyh7XG4gICAgICAgICAgcmVmOiBkcm9wcGFibGVQcm92aWRlZC5pbm5lclJlZixcbiAgICAgICAgICBjc3M6XG4gICAgICAgICAgLyojX19QVVJFX18qL1xuICAgICAgICAgIF9jc3MoX29iamVjdFNwcmVhZCh7fSwgZGVmYXVsdFN0eWxlcywgaW5uZXJTdHlsZSwgYXBwbHlEcmFnZ2luZ1N0eWxlcyhzbmFwc2hvdCkpLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyBcIlwiIDogXCIvKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJaTR1THk0dUx5NHVMeTR1THk0dUwzTnlZeTlqYjIxd2IyNWxiblJ6TDJOdmJtNWxZM1JsWkM5VGIzSjBZV0pzWlVkeWIzVndMMmx1WkdWNExtcHpJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVGhDV1NJc0ltWnBiR1VpT2lJdUxpOHVMaTh1TGk4dUxpOHVMaTl6Y21NdlkyOXRjRzl1Wlc1MGN5OWpiMjV1WldOMFpXUXZVMjl5ZEdGaWJHVkhjbTkxY0M5cGJtUmxlQzVxY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkltbHRjRzl5ZENCU1pXRmpkQ3dnZXlCRGIyMXdiMjVsYm5RZ2ZTQm1jbTl0SUNkeVpXRmpkQ2M3WEc1Y2JtbHRjRzl5ZENCN0lFUnliM0J3WVdKc1pTQjlJR1p5YjIwZ0ozSmxZV04wTFdKbFlYVjBhV1oxYkMxa2JtUW5PMXh1WEc1cGJYQnZjblFnUjNKdmRYQWdabkp2YlNBbkxpNHZMaTR2Y0hKbGMyVnVkR0YwYVc5dVlXd3ZSM0p2ZFhBbk8xeHVYRzVqYjI1emRDQmtaV1poZFd4MFUzUjViR1Z6SUQwZ2UxeHVJQ0J0YVc1SVpXbG5hSFE2SURZMExGeHVJQ0F2THlCU1pXMXZkbVVnWW5KdmQzTmxjaUJrWldaaGRXeDBJR0oxZEhSdmJpQnpkSGxzWlhNZ1ptOXlJSEppWkc1a0lIQnNZV05sYUc5c1pHVnlYRzRnSUNjbUlENGdZblYwZEc5dUp6b2dlMXh1SUNBZ0lHSmhZMnRuY205MWJtUTZJQ2R1YjI1bEp5eGNiaUFnSUNCaWIzSmtaWEk2SUNkdWIyNWxKeXhjYmlBZ0lDQndZV1JrYVc1bk9pQW5ibTl1WlNjc1hHNGdJSDBzWEc1OU8xeHVYRzR2THlCVWFHbHpJSGRwYkd3Z1lYVjBiMjFoZEdsallXeHNlU0JpWlNCaGNIQnNhV1ZrSUdadmNpQjFjeUJoY3lCd1lYSjBJRzltSUhKbFlXTjBMV0psWVhWMGFXWjFiQzFrYm1RZ2RqRXdYRzVqYjI1emRDQmhjSEJzZVVSeVlXZG5hVzVuVTNSNWJHVnpJRDBnYzI1aGNITm9iM1FnUFQ0Z0tIdGNiaUFnY0c5cGJuUmxja1YyWlc1MGN6b2djMjVoY0hOb2IzUXVhWE5FY21GbloybHVaMDkyWlhJZ1B5QW5ibTl1WlNjZ09pQjFibVJsWm1sdVpXUXNYRzU5S1R0Y2JseHVaWGh3YjNKMElHUmxabUYxYkhRZ1kyeGhjM01nVTI5eWRHRmliR1ZIY205MWNDQmxlSFJsYm1SeklFTnZiWEJ2Ym1WdWRDQjdYRzRnSUhKbGJtUmxjaWdwSUh0Y2JpQWdJQ0F2THlCbGMyeHBiblF0WkdsellXSnNaUzF1WlhoMExXeHBibVVnY21WaFkzUXZjSEp2Y0MxMGVYQmxjMXh1SUNBZ0lHTnZibk4wSUhzZ1kyaHBiR1J5Wlc0c0lHbHVibVZ5VTNSNWJHVXNJQzR1TG1keWIzVndVSEp2Y0hNZ2ZTQTlJSFJvYVhNdWNISnZjSE03WEc0Z0lDQWdjbVYwZFhKdUlDaGNiaUFnSUNBZ0lEeEVjbTl3Y0dGaWJHVWdaSEp2Y0hCaFlteGxTV1E5ZTJkeWIzVndVSEp2Y0hNdWFXUjlQbHh1SUNBZ0lDQWdJQ0I3S0dSeWIzQndZV0pzWlZCeWIzWnBaR1ZrTENCemJtRndjMmh2ZENrZ1BUNGdLRnh1SUNBZ0lDQWdJQ0FnSUR4a2FYWmNiaUFnSUNBZ0lDQWdJQ0FnSUhKbFpqMTdaSEp2Y0hCaFlteGxVSEp2ZG1sa1pXUXVhVzV1WlhKU1pXWjlYRzRnSUNBZ0lDQWdJQ0FnSUNCamMzTTllM3RjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdMaTR1WkdWbVlYVnNkRk4wZVd4bGN5eGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0xpNHVhVzV1WlhKVGRIbHNaU3hjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdMaTR1WVhCd2JIbEVjbUZuWjJsdVoxTjBlV3hsY3loemJtRndjMmh2ZENrc1hHNGdJQ0FnSUNBZ0lDQWdJQ0I5ZlZ4dUlDQWdJQ0FnSUNBZ0lDQWdleTR1TG1SeWIzQndZV0pzWlZCeWIzWnBaR1ZrTG1SeWIzQndZV0pzWlZCeWIzQnpmVnh1SUNBZ0lDQWdJQ0FnSUQ1Y2JpQWdJQ0FnSUNBZ0lDQWdJRHhIY205MWNDQjdMaTR1WjNKdmRYQlFjbTl3YzMwK1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUh0amFHbHNaSEpsYm4xY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnZTJSeWIzQndZV0pzWlZCeWIzWnBaR1ZrTG5Cc1lXTmxhRzlzWkdWeWZWeHVJQ0FnSUNBZ0lDQWdJQ0FnUEM5SGNtOTFjRDVjYmlBZ0lDQWdJQ0FnSUNBOEwyUnBkajVjYmlBZ0lDQWdJQ0FnS1gxY2JpQWdJQ0FnSUR3dlJISnZjSEJoWW14bFBseHVJQ0FnSUNrN1hHNGdJSDFjYm4xY2JpSmRmUT09ICovXCIpXG4gICAgICAgIH0sIGRyb3BwYWJsZVByb3ZpZGVkLmRyb3BwYWJsZVByb3BzKSwgX19fRW1vdGlvbkpTWChHcm91cCwgZ3JvdXBQcm9wcywgY2hpbGRyZW4sIGRyb3BwYWJsZVByb3ZpZGVkLnBsYWNlaG9sZGVyKSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1dKTtcblxuICByZXR1cm4gU29ydGFibGVHcm91cDtcbn0oQ29tcG9uZW50KTtcblxuZXhwb3J0IHsgU29ydGFibGVHcm91cCBhcyBkZWZhdWx0IH07Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/navigation-next/dist/esm/components/connected/SortableGroup/index.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/navigation-next/dist/esm/components/connected/SortableItem/index.js": /*!****************************************************************************************************!*\ !*** ./node_modules/@atlaskit/navigation-next/dist/esm/components/connected/SortableItem/index.js ***! \****************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return SortableItem; });\n/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ \"./node_modules/@babel/runtime/helpers/objectWithoutProperties.js\");\n/* harmony import */ var _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ \"./node_modules/@babel/runtime/helpers/classCallCheck.js\");\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\");\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ \"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ \"./node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ \"./node_modules/@babel/runtime/helpers/inherits.js\");\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @babel/runtime/helpers/objectSpread */ \"./node_modules/@babel/runtime/helpers/objectSpread.js\");\n/* harmony import */ var _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _emotion_core__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @emotion/core */ \"./node_modules/@emotion/core/dist/core.browser.esm.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony import */ var react_beautiful_dnd__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! react-beautiful-dnd */ \"./node_modules/react-beautiful-dnd/dist/react-beautiful-dnd.esm.js\");\n/* harmony import */ var _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @atlaskit/theme/colors */ \"./node_modules/@atlaskit/theme/dist/esm/colors.js\");\n/* harmony import */ var _presentational_Item__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../presentational/Item */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/Item/index.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar getStyles = function getStyles(provided, _ref) {\n var isDragging = _ref.isDragging;\n return _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_7___default()({}, provided, {\n itemBase: _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_7___default()({}, provided.itemBase, {\n boxShadow: isDragging ? \"\".concat(_atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_11__[\"N60A\"], \" 0px 4px 8px -2px, \").concat(_atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_11__[\"N60A\"], \" 0px 0px 1px\") : undefined,\n cursor: isDragging ? 'grabbing' : 'pointer'\n })\n });\n};\n\nvar SortableItem =\n/*#__PURE__*/\nfunction (_Component) {\n _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_6___default()(SortableItem, _Component);\n\n function SortableItem() {\n _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2___default()(this, SortableItem);\n\n return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4___default()(this, _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5___default()(SortableItem).apply(this, arguments));\n }\n\n _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3___default()(SortableItem, [{\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n index = _this$props.index,\n itemProps = _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1___default()(_this$props, [\"index\"]);\n\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_8__[\"jsx\"])(react_beautiful_dnd__WEBPACK_IMPORTED_MODULE_10__[\"Draggable\"], {\n draggableId: itemProps.id,\n index: index,\n disableInteractiveElementBlocking: true\n }, function (draggableProvided, draggableSnapshot) {\n var draggableProps = _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_7___default()({}, draggableProvided.draggableProps, draggableProvided.dragHandleProps); // Disabling clicking while a drag is occurring\n // rbd already handles this - but we are being super safe\n\n\n var onClick = draggableSnapshot.isDragging ? undefined : itemProps.onClick;\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_8__[\"jsx\"])(_presentational_Item__WEBPACK_IMPORTED_MODULE_12__[\"default\"], _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({\n draggableProps: draggableProps,\n innerRef: draggableProvided.innerRef,\n isDragging: draggableSnapshot.isDragging,\n styles: getStyles\n }, itemProps, {\n onClick: onClick\n }));\n });\n }\n }]);\n\n return SortableItem;\n}(react__WEBPACK_IMPORTED_MODULE_9__[\"Component\"]);\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS9jb21wb25lbnRzL2Nvbm5lY3RlZC9Tb3J0YWJsZUl0ZW0vaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS9jb21wb25lbnRzL2Nvbm5lY3RlZC9Tb3J0YWJsZUl0ZW0vaW5kZXguanM/YWFkZCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgX2V4dGVuZHMgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXh0ZW5kc1wiO1xuaW1wb3J0IF9vYmplY3RXaXRob3V0UHJvcGVydGllcyBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9vYmplY3RXaXRob3V0UHJvcGVydGllc1wiO1xuaW1wb3J0IF9jbGFzc0NhbGxDaGVjayBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9jbGFzc0NhbGxDaGVja1wiO1xuaW1wb3J0IF9jcmVhdGVDbGFzcyBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9jcmVhdGVDbGFzc1wiO1xuaW1wb3J0IF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm5cIjtcbmltcG9ydCBfZ2V0UHJvdG90eXBlT2YgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvZ2V0UHJvdG90eXBlT2ZcIjtcbmltcG9ydCBfaW5oZXJpdHMgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvaW5oZXJpdHNcIjtcbmltcG9ydCBfb2JqZWN0U3ByZWFkIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL29iamVjdFNwcmVhZFwiO1xuaW1wb3J0IHsganN4IGFzIF9fX0Vtb3Rpb25KU1ggfSBmcm9tIFwiQGVtb3Rpb24vY29yZVwiO1xuaW1wb3J0IFJlYWN0LCB7IENvbXBvbmVudCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IERyYWdnYWJsZSB9IGZyb20gJ3JlYWN0LWJlYXV0aWZ1bC1kbmQnO1xuaW1wb3J0IHsgTjYwQSB9IGZyb20gJ0BhdGxhc2tpdC90aGVtZS9jb2xvcnMnO1xuaW1wb3J0IEl0ZW0gZnJvbSAnLi4vLi4vcHJlc2VudGF0aW9uYWwvSXRlbSc7XG5cbnZhciBnZXRTdHlsZXMgPSBmdW5jdGlvbiBnZXRTdHlsZXMocHJvdmlkZWQsIF9yZWYpIHtcbiAgdmFyIGlzRHJhZ2dpbmcgPSBfcmVmLmlzRHJhZ2dpbmc7XG4gIHJldHVybiBfb2JqZWN0U3ByZWFkKHt9LCBwcm92aWRlZCwge1xuICAgIGl0ZW1CYXNlOiBfb2JqZWN0U3ByZWFkKHt9LCBwcm92aWRlZC5pdGVtQmFzZSwge1xuICAgICAgYm94U2hhZG93OiBpc0RyYWdnaW5nID8gXCJcIi5jb25jYXQoTjYwQSwgXCIgMHB4IDRweCA4cHggLTJweCwgXCIpLmNvbmNhdChONjBBLCBcIiAwcHggMHB4IDFweFwiKSA6IHVuZGVmaW5lZCxcbiAgICAgIGN1cnNvcjogaXNEcmFnZ2luZyA/ICdncmFiYmluZycgOiAncG9pbnRlcidcbiAgICB9KVxuICB9KTtcbn07XG5cbnZhciBTb3J0YWJsZUl0ZW0gPVxuLyojX19QVVJFX18qL1xuZnVuY3Rpb24gKF9Db21wb25lbnQpIHtcbiAgX2luaGVyaXRzKFNvcnRhYmxlSXRlbSwgX0NvbXBvbmVudCk7XG5cbiAgZnVuY3Rpb24gU29ydGFibGVJdGVtKCkge1xuICAgIF9jbGFzc0NhbGxDaGVjayh0aGlzLCBTb3J0YWJsZUl0ZW0pO1xuXG4gICAgcmV0dXJuIF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHRoaXMsIF9nZXRQcm90b3R5cGVPZihTb3J0YWJsZUl0ZW0pLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykpO1xuICB9XG5cbiAgX2NyZWF0ZUNsYXNzKFNvcnRhYmxlSXRlbSwgW3tcbiAgICBrZXk6IFwicmVuZGVyXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIHJlbmRlcigpIHtcbiAgICAgIHZhciBfdGhpcyRwcm9wcyA9IHRoaXMucHJvcHMsXG4gICAgICAgICAgaW5kZXggPSBfdGhpcyRwcm9wcy5pbmRleCxcbiAgICAgICAgICBpdGVtUHJvcHMgPSBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMoX3RoaXMkcHJvcHMsIFtcImluZGV4XCJdKTtcblxuICAgICAgcmV0dXJuIF9fX0Vtb3Rpb25KU1goRHJhZ2dhYmxlLCB7XG4gICAgICAgIGRyYWdnYWJsZUlkOiBpdGVtUHJvcHMuaWQsXG4gICAgICAgIGluZGV4OiBpbmRleCxcbiAgICAgICAgZGlzYWJsZUludGVyYWN0aXZlRWxlbWVudEJsb2NraW5nOiB0cnVlXG4gICAgICB9LCBmdW5jdGlvbiAoZHJhZ2dhYmxlUHJvdmlkZWQsIGRyYWdnYWJsZVNuYXBzaG90KSB7XG4gICAgICAgIHZhciBkcmFnZ2FibGVQcm9wcyA9IF9vYmplY3RTcHJlYWQoe30sIGRyYWdnYWJsZVByb3ZpZGVkLmRyYWdnYWJsZVByb3BzLCBkcmFnZ2FibGVQcm92aWRlZC5kcmFnSGFuZGxlUHJvcHMpOyAvLyBEaXNhYmxpbmcgY2xpY2tpbmcgd2hpbGUgYSBkcmFnIGlzIG9jY3VycmluZ1xuICAgICAgICAvLyByYmQgYWxyZWFkeSBoYW5kbGVzIHRoaXMgLSBidXQgd2UgYXJlIGJlaW5nIHN1cGVyIHNhZmVcblxuXG4gICAgICAgIHZhciBvbkNsaWNrID0gZHJhZ2dhYmxlU25hcHNob3QuaXNEcmFnZ2luZyA/IHVuZGVmaW5lZCA6IGl0ZW1Qcm9wcy5vbkNsaWNrO1xuICAgICAgICByZXR1cm4gX19fRW1vdGlvbkpTWChJdGVtLCBfZXh0ZW5kcyh7XG4gICAgICAgICAgZHJhZ2dhYmxlUHJvcHM6IGRyYWdnYWJsZVByb3BzLFxuICAgICAgICAgIGlubmVyUmVmOiBkcmFnZ2FibGVQcm92aWRlZC5pbm5lclJlZixcbiAgICAgICAgICBpc0RyYWdnaW5nOiBkcmFnZ2FibGVTbmFwc2hvdC5pc0RyYWdnaW5nLFxuICAgICAgICAgIHN0eWxlczogZ2V0U3R5bGVzXG4gICAgICAgIH0sIGl0ZW1Qcm9wcywge1xuICAgICAgICAgIG9uQ2xpY2s6IG9uQ2xpY2tcbiAgICAgICAgfSkpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XSk7XG5cbiAgcmV0dXJuIFNvcnRhYmxlSXRlbTtcbn0oQ29tcG9uZW50KTtcblxuZXhwb3J0IHsgU29ydGFibGVJdGVtIGFzIGRlZmF1bHQgfTsiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/navigation-next/dist/esm/components/connected/SortableItem/index.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/ContainerHeader/index.js": /*!************************************************************************************************************!*\ !*** ./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/ContainerHeader/index.js ***! \************************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return ContainerHeader; });\n/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ \"./node_modules/@babel/runtime/helpers/objectWithoutProperties.js\");\n/* harmony import */ var _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ \"./node_modules/@babel/runtime/helpers/classCallCheck.js\");\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\");\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ \"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ \"./node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ \"./node_modules/@babel/runtime/helpers/inherits.js\");\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ \"./node_modules/@babel/runtime/helpers/defineProperty.js\");\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @babel/runtime/helpers/objectSpread */ \"./node_modules/@babel/runtime/helpers/objectSpread.js\");\n/* harmony import */ var _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var _emotion_core__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @emotion/core */ \"./node_modules/@emotion/core/dist/core.browser.esm.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_10__);\n/* harmony import */ var _atlaskit_theme_constants__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @atlaskit/theme/constants */ \"./node_modules/@atlaskit/theme/dist/esm/constants.js\");\n/* harmony import */ var _theme__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../../theme */ \"./node_modules/@atlaskit/navigation-next/dist/esm/theme/index.js\");\n/* harmony import */ var _Item__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../Item */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/Item/index.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar gridSize = Object(_atlaskit_theme_constants__WEBPACK_IMPORTED_MODULE_11__[\"gridSize\"])();\n\nvar modifyStyles = function modifyStyles(defaultStyles) {\n return _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_8___default()({}, defaultStyles, {\n itemBase: _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_8___default()({}, defaultStyles.itemBase, {\n height: gridSize * 6,\n paddingBottom: 0,\n paddingLeft: gridSize / 2 - 2,\n // Offset by 2px to account for border of avatar\n paddingRight: gridSize / 2,\n paddingTop: 0\n }),\n beforeWrapper: _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_8___default()({}, defaultStyles.beforeWrapper, {\n marginRight: gridSize - 2 // Offset by 2px to account for border of avatar\n\n }),\n afterWrapper: _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_8___default()({}, defaultStyles.afterWrapper, {\n marginLeft: gridSize\n }),\n textWrapper: _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_8___default()({}, defaultStyles.textWrapper, {\n fontWeight: 600\n })\n });\n};\n\nvar ContainerHeader =\n/*#__PURE__*/\nfunction (_PureComponent) {\n _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_6___default()(ContainerHeader, _PureComponent);\n\n function ContainerHeader() {\n _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2___default()(this, ContainerHeader);\n\n return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4___default()(this, _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5___default()(ContainerHeader).apply(this, arguments));\n }\n\n _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3___default()(ContainerHeader, [{\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n styleReducer = _this$props.styles,\n props = _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1___default()(_this$props, [\"styles\"]); // We modify the Item styles ourselves, then allow the consumer to modify\n // these if they want to.\n\n\n var patchedStyles = function patchedStyles(defaultStyles, state) {\n return styleReducer(modifyStyles(defaultStyles), state);\n };\n\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_9__[\"jsx\"])(_Item__WEBPACK_IMPORTED_MODULE_13__[\"default\"], _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({}, props, {\n styles: patchedStyles,\n spacing: \"default\"\n }));\n }\n }]);\n\n return ContainerHeader;\n}(react__WEBPACK_IMPORTED_MODULE_10__[\"PureComponent\"]);\n\n_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_7___default()(ContainerHeader, \"defaultProps\", {\n styles: _theme__WEBPACK_IMPORTED_MODULE_12__[\"styleReducerNoOp\"],\n isSelected: false,\n text: ''\n});\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL0NvbnRhaW5lckhlYWRlci9pbmRleC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AYXRsYXNraXQvbmF2aWdhdGlvbi1uZXh0L2Rpc3QvZXNtL2NvbXBvbmVudHMvcHJlc2VudGF0aW9uYWwvQ29udGFpbmVySGVhZGVyL2luZGV4LmpzPzY5ODciXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IF9leHRlbmRzIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2V4dGVuZHNcIjtcbmltcG9ydCBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvb2JqZWN0V2l0aG91dFByb3BlcnRpZXNcIjtcbmltcG9ydCBfY2xhc3NDYWxsQ2hlY2sgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvY2xhc3NDYWxsQ2hlY2tcIjtcbmltcG9ydCBfY3JlYXRlQ2xhc3MgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvY3JlYXRlQ2xhc3NcIjtcbmltcG9ydCBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybiBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuXCI7XG5pbXBvcnQgX2dldFByb3RvdHlwZU9mIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2dldFByb3RvdHlwZU9mXCI7XG5pbXBvcnQgX2luaGVyaXRzIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2luaGVyaXRzXCI7XG5pbXBvcnQgX2RlZmluZVByb3BlcnR5IGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2RlZmluZVByb3BlcnR5XCI7XG5pbXBvcnQgX29iamVjdFNwcmVhZCBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9vYmplY3RTcHJlYWRcIjtcbmltcG9ydCB7IGpzeCBhcyBfX19FbW90aW9uSlNYIH0gZnJvbSBcIkBlbW90aW9uL2NvcmVcIjtcbmltcG9ydCBSZWFjdCwgeyBQdXJlQ29tcG9uZW50IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgZ3JpZFNpemUgYXMgZ3JpZFNpemVGbiB9IGZyb20gJ0BhdGxhc2tpdC90aGVtZS9jb25zdGFudHMnO1xuaW1wb3J0IHsgc3R5bGVSZWR1Y2VyTm9PcCB9IGZyb20gJy4uLy4uLy4uL3RoZW1lJztcbmltcG9ydCBJdGVtIGZyb20gJy4uL0l0ZW0nO1xudmFyIGdyaWRTaXplID0gZ3JpZFNpemVGbigpO1xuXG52YXIgbW9kaWZ5U3R5bGVzID0gZnVuY3Rpb24gbW9kaWZ5U3R5bGVzKGRlZmF1bHRTdHlsZXMpIHtcbiAgcmV0dXJuIF9vYmplY3RTcHJlYWQoe30sIGRlZmF1bHRTdHlsZXMsIHtcbiAgICBpdGVtQmFzZTogX29iamVjdFNwcmVhZCh7fSwgZGVmYXVsdFN0eWxlcy5pdGVtQmFzZSwge1xuICAgICAgaGVpZ2h0OiBncmlkU2l6ZSAqIDYsXG4gICAgICBwYWRkaW5nQm90dG9tOiAwLFxuICAgICAgcGFkZGluZ0xlZnQ6IGdyaWRTaXplIC8gMiAtIDIsXG4gICAgICAvLyBPZmZzZXQgYnkgMnB4IHRvIGFjY291bnQgZm9yIGJvcmRlciBvZiBhdmF0YXJcbiAgICAgIHBhZGRpbmdSaWdodDogZ3JpZFNpemUgLyAyLFxuICAgICAgcGFkZGluZ1RvcDogMFxuICAgIH0pLFxuICAgIGJlZm9yZVdyYXBwZXI6IF9vYmplY3RTcHJlYWQoe30sIGRlZmF1bHRTdHlsZXMuYmVmb3JlV3JhcHBlciwge1xuICAgICAgbWFyZ2luUmlnaHQ6IGdyaWRTaXplIC0gMiAvLyBPZmZzZXQgYnkgMnB4IHRvIGFjY291bnQgZm9yIGJvcmRlciBvZiBhdmF0YXJcblxuICAgIH0pLFxuICAgIGFmdGVyV3JhcHBlcjogX29iamVjdFNwcmVhZCh7fSwgZGVmYXVsdFN0eWxlcy5hZnRlcldyYXBwZXIsIHtcbiAgICAgIG1hcmdpbkxlZnQ6IGdyaWRTaXplXG4gICAgfSksXG4gICAgdGV4dFdyYXBwZXI6IF9vYmplY3RTcHJlYWQoe30sIGRlZmF1bHRTdHlsZXMudGV4dFdyYXBwZXIsIHtcbiAgICAgIGZvbnRXZWlnaHQ6IDYwMFxuICAgIH0pXG4gIH0pO1xufTtcblxudmFyIENvbnRhaW5lckhlYWRlciA9XG4vKiNfX1BVUkVfXyovXG5mdW5jdGlvbiAoX1B1cmVDb21wb25lbnQpIHtcbiAgX2luaGVyaXRzKENvbnRhaW5lckhlYWRlciwgX1B1cmVDb21wb25lbnQpO1xuXG4gIGZ1bmN0aW9uIENvbnRhaW5lckhlYWRlcigpIHtcbiAgICBfY2xhc3NDYWxsQ2hlY2sodGhpcywgQ29udGFpbmVySGVhZGVyKTtcblxuICAgIHJldHVybiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybih0aGlzLCBfZ2V0UHJvdG90eXBlT2YoQ29udGFpbmVySGVhZGVyKS5hcHBseSh0aGlzLCBhcmd1bWVudHMpKTtcbiAgfVxuXG4gIF9jcmVhdGVDbGFzcyhDb250YWluZXJIZWFkZXIsIFt7XG4gICAga2V5OiBcInJlbmRlclwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiByZW5kZXIoKSB7XG4gICAgICB2YXIgX3RoaXMkcHJvcHMgPSB0aGlzLnByb3BzLFxuICAgICAgICAgIHN0eWxlUmVkdWNlciA9IF90aGlzJHByb3BzLnN0eWxlcyxcbiAgICAgICAgICBwcm9wcyA9IF9vYmplY3RXaXRob3V0UHJvcGVydGllcyhfdGhpcyRwcm9wcywgW1wic3R5bGVzXCJdKTsgLy8gV2UgbW9kaWZ5IHRoZSBJdGVtIHN0eWxlcyBvdXJzZWx2ZXMsIHRoZW4gYWxsb3cgdGhlIGNvbnN1bWVyIHRvIG1vZGlmeVxuICAgICAgLy8gdGhlc2UgaWYgdGhleSB3YW50IHRvLlxuXG5cbiAgICAgIHZhciBwYXRjaGVkU3R5bGVzID0gZnVuY3Rpb24gcGF0Y2hlZFN0eWxlcyhkZWZhdWx0U3R5bGVzLCBzdGF0ZSkge1xuICAgICAgICByZXR1cm4gc3R5bGVSZWR1Y2VyKG1vZGlmeVN0eWxlcyhkZWZhdWx0U3R5bGVzKSwgc3RhdGUpO1xuICAgICAgfTtcblxuICAgICAgcmV0dXJuIF9fX0Vtb3Rpb25KU1goSXRlbSwgX2V4dGVuZHMoe30sIHByb3BzLCB7XG4gICAgICAgIHN0eWxlczogcGF0Y2hlZFN0eWxlcyxcbiAgICAgICAgc3BhY2luZzogXCJkZWZhdWx0XCJcbiAgICAgIH0pKTtcbiAgICB9XG4gIH1dKTtcblxuICByZXR1cm4gQ29udGFpbmVySGVhZGVyO1xufShQdXJlQ29tcG9uZW50KTtcblxuX2RlZmluZVByb3BlcnR5KENvbnRhaW5lckhlYWRlciwgXCJkZWZhdWx0UHJvcHNcIiwge1xuICBzdHlsZXM6IHN0eWxlUmVkdWNlck5vT3AsXG4gIGlzU2VsZWN0ZWQ6IGZhbHNlLFxuICB0ZXh0OiAnJ1xufSk7XG5cbmV4cG9ydCB7IENvbnRhaW5lckhlYWRlciBhcyBkZWZhdWx0IH07Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/ContainerHeader/index.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/ContentNavigation/index.js": /*!**************************************************************************************************************!*\ !*** ./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/ContentNavigation/index.js ***! \**************************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return ContentNavigation; });\n/* harmony import */ var _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/objectSpread */ \"./node_modules/@babel/runtime/helpers/objectSpread.js\");\n/* harmony import */ var _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ \"./node_modules/@babel/runtime/helpers/classCallCheck.js\");\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\");\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ \"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ \"./node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @babel/runtime/helpers/assertThisInitialized */ \"./node_modules/@babel/runtime/helpers/assertThisInitialized.js\");\n/* harmony import */ var _babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ \"./node_modules/@babel/runtime/helpers/inherits.js\");\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ \"./node_modules/@babel/runtime/helpers/defineProperty.js\");\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ \"./node_modules/@babel/runtime/helpers/objectWithoutProperties.js\");\n/* harmony import */ var _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var _emotion_core__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @emotion/core */ \"./node_modules/@emotion/core/dist/core.browser.esm.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_10__);\n/* harmony import */ var react_fast_compare__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! react-fast-compare */ \"./node_modules/react-fast-compare/index.js\");\n/* harmony import */ var react_fast_compare__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(react_fast_compare__WEBPACK_IMPORTED_MODULE_11__);\n/* harmony import */ var react_transition_group_Transition__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! react-transition-group/Transition */ \"./node_modules/react-transition-group/Transition.js\");\n/* harmony import */ var react_transition_group_Transition__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(react_transition_group_Transition__WEBPACK_IMPORTED_MODULE_12__);\n/* harmony import */ var _atlaskit_analytics_namespaced_context__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @atlaskit/analytics-namespaced-context */ \"./node_modules/@atlaskit/analytics-namespaced-context/dist/esm/index.js\");\n/* harmony import */ var _common_constants__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../../../common/constants */ \"./node_modules/@atlaskit/navigation-next/dist/esm/common/constants.js\");\n/* harmony import */ var _primitives__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./primitives */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/ContentNavigation/primitives.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar ToggleContent = function ToggleContent(_ref) {\n var isVisible = _ref.isVisible,\n EXPERIMENTAL_HIDE_NAV_VISUALLY_ON_COLLAPSE = _ref.experimental_hideNavVisuallyOnCollapse,\n rest = _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_8___default()(_ref, [\"isVisible\", \"experimental_hideNavVisuallyOnCollapse\"]);\n\n // If FF is false, retain the old behaviour of\n // un-mounting navigation components on collapse\n if (!EXPERIMENTAL_HIDE_NAV_VISUALLY_ON_COLLAPSE && !isVisible) {\n return null;\n }\n\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_9__[\"jsx\"])(react__WEBPACK_IMPORTED_MODULE_10__[\"Fragment\"], rest);\n};\n\nvar productNavigationAnalytics = {\n attributes: {\n navigationLayer: 'product'\n }\n};\nvar containerNavigationAnalytics = {\n attributes: {\n navigationLayer: 'container'\n }\n};\n\nvar ContentNavigation =\n/*#__PURE__*/\nfunction (_Component) {\n _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_6___default()(ContentNavigation, _Component);\n\n function ContentNavigation() {\n var _getPrototypeOf2;\n\n var _this;\n\n _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default()(this, ContentNavigation);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3___default()(this, (_getPrototypeOf2 = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4___default()(ContentNavigation)).call.apply(_getPrototypeOf2, [this].concat(args)));\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_7___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_5___default()(_this), \"isMounted\", false);\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_7___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_5___default()(_this), \"state\", {\n cachedContainer: null\n });\n\n return _this;\n }\n\n _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2___default()(ContentNavigation, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.isMounted = true;\n }\n }, {\n key: \"shouldComponentUpdate\",\n value: function shouldComponentUpdate(nextProps) {\n var props = this.props;\n return !react_fast_compare__WEBPACK_IMPORTED_MODULE_11___default()(props, nextProps);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n container = _this$props.container,\n isVisible = _this$props.isVisible,\n Product = _this$props.product,\n EXPERIMENTAL_HIDE_NAV_VISUALLY_ON_COLLAPSE = _this$props.experimental_hideNavVisuallyOnCollapse;\n var CachedContainer = this.state.cachedContainer;\n var shouldRenderContainer = Boolean(container);\n var ContainerComponent = CachedContainer || react__WEBPACK_IMPORTED_MODULE_10__[\"Fragment\"];\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_9__[\"jsx\"])(react__WEBPACK_IMPORTED_MODULE_10__[\"Fragment\"], null, Object(_emotion_core__WEBPACK_IMPORTED_MODULE_9__[\"jsx\"])(_primitives__WEBPACK_IMPORTED_MODULE_15__[\"ProductNavigation\"], {\n isVisible: isVisible\n }, Object(_emotion_core__WEBPACK_IMPORTED_MODULE_9__[\"jsx\"])(ToggleContent, {\n experimental_hideNavVisuallyOnCollapse: EXPERIMENTAL_HIDE_NAV_VISUALLY_ON_COLLAPSE,\n isVisible: isVisible\n }, Object(_emotion_core__WEBPACK_IMPORTED_MODULE_9__[\"jsx\"])(_atlaskit_analytics_namespaced_context__WEBPACK_IMPORTED_MODULE_13__[\"NavigationAnalyticsContext\"], {\n data: productNavigationAnalytics\n }, Object(_emotion_core__WEBPACK_IMPORTED_MODULE_9__[\"jsx\"])(Product, null)))), Object(_emotion_core__WEBPACK_IMPORTED_MODULE_9__[\"jsx\"])(react_transition_group_Transition__WEBPACK_IMPORTED_MODULE_12___default.a, {\n in: shouldRenderContainer,\n timeout: this.isMounted ? _common_constants__WEBPACK_IMPORTED_MODULE_14__[\"transitionDurationMs\"] : 0,\n mountOnEnter: true,\n unmountOnExit: true\n }, function (state) {\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_9__[\"jsx\"])(_primitives__WEBPACK_IMPORTED_MODULE_15__[\"ContainerNavigation\"], {\n isEntering: state === 'entering',\n isExiting: state === 'exiting',\n isVisible: isVisible\n }, Object(_emotion_core__WEBPACK_IMPORTED_MODULE_9__[\"jsx\"])(ToggleContent, {\n experimental_hideNavVisuallyOnCollapse: EXPERIMENTAL_HIDE_NAV_VISUALLY_ON_COLLAPSE,\n isVisible: isVisible\n }, Object(_emotion_core__WEBPACK_IMPORTED_MODULE_9__[\"jsx\"])(_atlaskit_analytics_namespaced_context__WEBPACK_IMPORTED_MODULE_13__[\"NavigationAnalyticsContext\"], {\n data: containerNavigationAnalytics\n }, Object(_emotion_core__WEBPACK_IMPORTED_MODULE_9__[\"jsx\"])(ContainerComponent, null))));\n }));\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(_ref2, state) {\n var container = _ref2.container;\n\n if (container && container !== state.cachedContainer) {\n // We cache the most recent container component in state so that we can\n // render it while the container layer is transitioning out, which is\n // triggered by setting the container prop to null.\n return _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0___default()({}, state, {\n cachedContainer: container\n });\n }\n\n return null;\n }\n }]);\n\n return ContentNavigation;\n}(react__WEBPACK_IMPORTED_MODULE_10__[\"Component\"]);\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL0NvbnRlbnROYXZpZ2F0aW9uL2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BhdGxhc2tpdC9uYXZpZ2F0aW9uLW5leHQvZGlzdC9lc20vY29tcG9uZW50cy9wcmVzZW50YXRpb25hbC9Db250ZW50TmF2aWdhdGlvbi9pbmRleC5qcz85ZWZiIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfb2JqZWN0U3ByZWFkIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL29iamVjdFNwcmVhZFwiO1xuaW1wb3J0IF9jbGFzc0NhbGxDaGVjayBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9jbGFzc0NhbGxDaGVja1wiO1xuaW1wb3J0IF9jcmVhdGVDbGFzcyBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9jcmVhdGVDbGFzc1wiO1xuaW1wb3J0IF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm5cIjtcbmltcG9ydCBfZ2V0UHJvdG90eXBlT2YgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvZ2V0UHJvdG90eXBlT2ZcIjtcbmltcG9ydCBfYXNzZXJ0VGhpc0luaXRpYWxpemVkIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2Fzc2VydFRoaXNJbml0aWFsaXplZFwiO1xuaW1wb3J0IF9pbmhlcml0cyBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9pbmhlcml0c1wiO1xuaW1wb3J0IF9kZWZpbmVQcm9wZXJ0eSBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9kZWZpbmVQcm9wZXJ0eVwiO1xuaW1wb3J0IF9vYmplY3RXaXRob3V0UHJvcGVydGllcyBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9vYmplY3RXaXRob3V0UHJvcGVydGllc1wiO1xuaW1wb3J0IHsganN4IGFzIF9fX0Vtb3Rpb25KU1ggfSBmcm9tIFwiQGVtb3Rpb24vY29yZVwiO1xuaW1wb3J0IFJlYWN0LCB7IENvbXBvbmVudCwgRnJhZ21lbnQgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgZGVlcEVxdWFsIGZyb20gJ3JlYWN0LWZhc3QtY29tcGFyZSc7XG5pbXBvcnQgVHJhbnNpdGlvbiBmcm9tICdyZWFjdC10cmFuc2l0aW9uLWdyb3VwL1RyYW5zaXRpb24nO1xuaW1wb3J0IHsgTmF2aWdhdGlvbkFuYWx5dGljc0NvbnRleHQgfSBmcm9tICdAYXRsYXNraXQvYW5hbHl0aWNzLW5hbWVzcGFjZWQtY29udGV4dCc7XG5pbXBvcnQgeyB0cmFuc2l0aW9uRHVyYXRpb25NcyB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9jb25zdGFudHMnO1xuaW1wb3J0IHsgQ29udGFpbmVyTmF2aWdhdGlvbiwgUHJvZHVjdE5hdmlnYXRpb24gfSBmcm9tICcuL3ByaW1pdGl2ZXMnO1xuXG52YXIgVG9nZ2xlQ29udGVudCA9IGZ1bmN0aW9uIFRvZ2dsZUNvbnRlbnQoX3JlZikge1xuICB2YXIgaXNWaXNpYmxlID0gX3JlZi5pc1Zpc2libGUsXG4gICAgICBFWFBFUklNRU5UQUxfSElERV9OQVZfVklTVUFMTFlfT05fQ09MTEFQU0UgPSBfcmVmLmV4cGVyaW1lbnRhbF9oaWRlTmF2VmlzdWFsbHlPbkNvbGxhcHNlLFxuICAgICAgcmVzdCA9IF9vYmplY3RXaXRob3V0UHJvcGVydGllcyhfcmVmLCBbXCJpc1Zpc2libGVcIiwgXCJleHBlcmltZW50YWxfaGlkZU5hdlZpc3VhbGx5T25Db2xsYXBzZVwiXSk7XG5cbiAgLy8gSWYgRkYgaXMgZmFsc2UsIHJldGFpbiB0aGUgb2xkIGJlaGF2aW91ciBvZlxuICAvLyB1bi1tb3VudGluZyBuYXZpZ2F0aW9uIGNvbXBvbmVudHMgb24gY29sbGFwc2VcbiAgaWYgKCFFWFBFUklNRU5UQUxfSElERV9OQVZfVklTVUFMTFlfT05fQ09MTEFQU0UgJiYgIWlzVmlzaWJsZSkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcmV0dXJuIF9fX0Vtb3Rpb25KU1goRnJhZ21lbnQsIHJlc3QpO1xufTtcblxudmFyIHByb2R1Y3ROYXZpZ2F0aW9uQW5hbHl0aWNzID0ge1xuICBhdHRyaWJ1dGVzOiB7XG4gICAgbmF2aWdhdGlvbkxheWVyOiAncHJvZHVjdCdcbiAgfVxufTtcbnZhciBjb250YWluZXJOYXZpZ2F0aW9uQW5hbHl0aWNzID0ge1xuICBhdHRyaWJ1dGVzOiB7XG4gICAgbmF2aWdhdGlvbkxheWVyOiAnY29udGFpbmVyJ1xuICB9XG59O1xuXG52YXIgQ29udGVudE5hdmlnYXRpb24gPVxuLyojX19QVVJFX18qL1xuZnVuY3Rpb24gKF9Db21wb25lbnQpIHtcbiAgX2luaGVyaXRzKENvbnRlbnROYXZpZ2F0aW9uLCBfQ29tcG9uZW50KTtcblxuICBmdW5jdGlvbiBDb250ZW50TmF2aWdhdGlvbigpIHtcbiAgICB2YXIgX2dldFByb3RvdHlwZU9mMjtcblxuICAgIHZhciBfdGhpcztcblxuICAgIF9jbGFzc0NhbGxDaGVjayh0aGlzLCBDb250ZW50TmF2aWdhdGlvbik7XG5cbiAgICBmb3IgKHZhciBfbGVuID0gYXJndW1lbnRzLmxlbmd0aCwgYXJncyA9IG5ldyBBcnJheShfbGVuKSwgX2tleSA9IDA7IF9rZXkgPCBfbGVuOyBfa2V5KyspIHtcbiAgICAgIGFyZ3NbX2tleV0gPSBhcmd1bWVudHNbX2tleV07XG4gICAgfVxuXG4gICAgX3RoaXMgPSBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybih0aGlzLCAoX2dldFByb3RvdHlwZU9mMiA9IF9nZXRQcm90b3R5cGVPZihDb250ZW50TmF2aWdhdGlvbikpLmNhbGwuYXBwbHkoX2dldFByb3RvdHlwZU9mMiwgW3RoaXNdLmNvbmNhdChhcmdzKSkpO1xuXG4gICAgX2RlZmluZVByb3BlcnR5KF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoX3RoaXMpLCBcImlzTW91bnRlZFwiLCBmYWxzZSk7XG5cbiAgICBfZGVmaW5lUHJvcGVydHkoX2Fzc2VydFRoaXNJbml0aWFsaXplZChfdGhpcyksIFwic3RhdGVcIiwge1xuICAgICAgY2FjaGVkQ29udGFpbmVyOiBudWxsXG4gICAgfSk7XG5cbiAgICByZXR1cm4gX3RoaXM7XG4gIH1cblxuICBfY3JlYXRlQ2xhc3MoQ29udGVudE5hdmlnYXRpb24sIFt7XG4gICAga2V5OiBcImNvbXBvbmVudERpZE1vdW50XCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgICAgdGhpcy5pc01vdW50ZWQgPSB0cnVlO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJzaG91bGRDb21wb25lbnRVcGRhdGVcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gc2hvdWxkQ29tcG9uZW50VXBkYXRlKG5leHRQcm9wcykge1xuICAgICAgdmFyIHByb3BzID0gdGhpcy5wcm9wcztcbiAgICAgIHJldHVybiAhZGVlcEVxdWFsKHByb3BzLCBuZXh0UHJvcHMpO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJyZW5kZXJcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gcmVuZGVyKCkge1xuICAgICAgdmFyIF90aGlzJHByb3BzID0gdGhpcy5wcm9wcyxcbiAgICAgICAgICBjb250YWluZXIgPSBfdGhpcyRwcm9wcy5jb250YWluZXIsXG4gICAgICAgICAgaXNWaXNpYmxlID0gX3RoaXMkcHJvcHMuaXNWaXNpYmxlLFxuICAgICAgICAgIFByb2R1Y3QgPSBfdGhpcyRwcm9wcy5wcm9kdWN0LFxuICAgICAgICAgIEVYUEVSSU1FTlRBTF9ISURFX05BVl9WSVNVQUxMWV9PTl9DT0xMQVBTRSA9IF90aGlzJHByb3BzLmV4cGVyaW1lbnRhbF9oaWRlTmF2VmlzdWFsbHlPbkNvbGxhcHNlO1xuICAgICAgdmFyIENhY2hlZENvbnRhaW5lciA9IHRoaXMuc3RhdGUuY2FjaGVkQ29udGFpbmVyO1xuICAgICAgdmFyIHNob3VsZFJlbmRlckNvbnRhaW5lciA9IEJvb2xlYW4oY29udGFpbmVyKTtcbiAgICAgIHZhciBDb250YWluZXJDb21wb25lbnQgPSBDYWNoZWRDb250YWluZXIgfHwgRnJhZ21lbnQ7XG4gICAgICByZXR1cm4gX19fRW1vdGlvbkpTWChGcmFnbWVudCwgbnVsbCwgX19fRW1vdGlvbkpTWChQcm9kdWN0TmF2aWdhdGlvbiwge1xuICAgICAgICBpc1Zpc2libGU6IGlzVmlzaWJsZVxuICAgICAgfSwgX19fRW1vdGlvbkpTWChUb2dnbGVDb250ZW50LCB7XG4gICAgICAgIGV4cGVyaW1lbnRhbF9oaWRlTmF2VmlzdWFsbHlPbkNvbGxhcHNlOiBFWFBFUklNRU5UQUxfSElERV9OQVZfVklTVUFMTFlfT05fQ09MTEFQU0UsXG4gICAgICAgIGlzVmlzaWJsZTogaXNWaXNpYmxlXG4gICAgICB9LCBfX19FbW90aW9uSlNYKE5hdmlnYXRpb25BbmFseXRpY3NDb250ZXh0LCB7XG4gICAgICAgIGRhdGE6IHByb2R1Y3ROYXZpZ2F0aW9uQW5hbHl0aWNzXG4gICAgICB9LCBfX19FbW90aW9uSlNYKFByb2R1Y3QsIG51bGwpKSkpLCBfX19FbW90aW9uSlNYKFRyYW5zaXRpb24sIHtcbiAgICAgICAgaW46IHNob3VsZFJlbmRlckNvbnRhaW5lcixcbiAgICAgICAgdGltZW91dDogdGhpcy5pc01vdW50ZWQgPyB0cmFuc2l0aW9uRHVyYXRpb25NcyA6IDAsXG4gICAgICAgIG1vdW50T25FbnRlcjogdHJ1ZSxcbiAgICAgICAgdW5tb3VudE9uRXhpdDogdHJ1ZVxuICAgICAgfSwgZnVuY3Rpb24gKHN0YXRlKSB7XG4gICAgICAgIHJldHVybiBfX19FbW90aW9uSlNYKENvbnRhaW5lck5hdmlnYXRpb24sIHtcbiAgICAgICAgICBpc0VudGVyaW5nOiBzdGF0ZSA9PT0gJ2VudGVyaW5nJyxcbiAgICAgICAgICBpc0V4aXRpbmc6IHN0YXRlID09PSAnZXhpdGluZycsXG4gICAgICAgICAgaXNWaXNpYmxlOiBpc1Zpc2libGVcbiAgICAgICAgfSwgX19fRW1vdGlvbkpTWChUb2dnbGVDb250ZW50LCB7XG4gICAgICAgICAgZXhwZXJpbWVudGFsX2hpZGVOYXZWaXN1YWxseU9uQ29sbGFwc2U6IEVYUEVSSU1FTlRBTF9ISURFX05BVl9WSVNVQUxMWV9PTl9DT0xMQVBTRSxcbiAgICAgICAgICBpc1Zpc2libGU6IGlzVmlzaWJsZVxuICAgICAgICB9LCBfX19FbW90aW9uSlNYKE5hdmlnYXRpb25BbmFseXRpY3NDb250ZXh0LCB7XG4gICAgICAgICAgZGF0YTogY29udGFpbmVyTmF2aWdhdGlvbkFuYWx5dGljc1xuICAgICAgICB9LCBfX19FbW90aW9uSlNYKENvbnRhaW5lckNvbXBvbmVudCwgbnVsbCkpKSk7XG4gICAgICB9KSk7XG4gICAgfVxuICB9XSwgW3tcbiAgICBrZXk6IFwiZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyhfcmVmMiwgc3RhdGUpIHtcbiAgICAgIHZhciBjb250YWluZXIgPSBfcmVmMi5jb250YWluZXI7XG5cbiAgICAgIGlmIChjb250YWluZXIgJiYgY29udGFpbmVyICE9PSBzdGF0ZS5jYWNoZWRDb250YWluZXIpIHtcbiAgICAgICAgLy8gV2UgY2FjaGUgdGhlIG1vc3QgcmVjZW50IGNvbnRhaW5lciBjb21wb25lbnQgaW4gc3RhdGUgc28gdGhhdCB3ZSBjYW5cbiAgICAgICAgLy8gcmVuZGVyIGl0IHdoaWxlIHRoZSBjb250YWluZXIgbGF5ZXIgaXMgdHJhbnNpdGlvbmluZyBvdXQsIHdoaWNoIGlzXG4gICAgICAgIC8vIHRyaWdnZXJlZCBieSBzZXR0aW5nIHRoZSBjb250YWluZXIgcHJvcCB0byBudWxsLlxuICAgICAgICByZXR1cm4gX29iamVjdFNwcmVhZCh7fSwgc3RhdGUsIHtcbiAgICAgICAgICBjYWNoZWRDb250YWluZXI6IGNvbnRhaW5lclxuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XSk7XG5cbiAgcmV0dXJuIENvbnRlbnROYXZpZ2F0aW9uO1xufShDb21wb25lbnQpO1xuXG5leHBvcnQgeyBDb250ZW50TmF2aWdhdGlvbiBhcyBkZWZhdWx0IH07Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/ContentNavigation/index.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/ContentNavigation/primitives.js": /*!*******************************************************************************************************************!*\ !*** ./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/ContentNavigation/primitives.js ***! \*******************************************************************************************************************/ /*! exports provided: ScrollProviderRef, ProductNavigationTheme, ProductNavigation, ContainerNavigationTheme, ContainerNavigation, ContainerOverlay, ContentNavigationWrapper, ContainerNavigationMask */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ScrollProviderRef\", function() { return ScrollProviderRef; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ProductNavigationTheme\", function() { return ProductNavigationTheme; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ProductNavigation\", function() { return ProductNavigation; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ContainerNavigationTheme\", function() { return ContainerNavigationTheme; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ContainerNavigation\", function() { return ContainerNavigation; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ContainerOverlay\", function() { return ContainerOverlay; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ContentNavigationWrapper\", function() { return ContentNavigationWrapper; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ContainerNavigationMask\", function() { return ContainerNavigationMask; });\n/* harmony import */ var _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/objectSpread */ \"./node_modules/@babel/runtime/helpers/objectSpread.js\");\n/* harmony import */ var _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _emotion_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @emotion/css */ \"./node_modules/@emotion/css/dist/css.browser.esm.js\");\n/* harmony import */ var _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ \"./node_modules/@babel/runtime/helpers/objectWithoutProperties.js\");\n/* harmony import */ var _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _emotion_core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @emotion/core */ \"./node_modules/@emotion/core/dist/core.browser.esm.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @atlaskit/theme/colors */ \"./node_modules/@atlaskit/theme/dist/esm/colors.js\");\n/* harmony import */ var _common_constants__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../common/constants */ \"./node_modules/@atlaskit/navigation-next/dist/esm/common/constants.js\");\n/* harmony import */ var _common_helpers__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../../common/helpers */ \"./node_modules/@atlaskit/navigation-next/dist/esm/common/helpers.js\");\n/* harmony import */ var _theme__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../../theme */ \"./node_modules/@atlaskit/navigation-next/dist/esm/theme/index.js\");\n\n\n\n\n\n\n\n\n\n\n\n/**\n * Component tree structure\n * - ProductNavigation\n * - ContainerNavigation\n * - ContainerOverlay\n */\n\nvar ScrollProviderRef = react__WEBPACK_IMPORTED_MODULE_5___default.a.createContext();\n\nvar ScrollProvider = function ScrollProvider(_ref) {\n var isVisible = _ref.isVisible,\n props = _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_3___default()(_ref, [\"isVisible\"]);\n\n var scrollProviderRef = react__WEBPACK_IMPORTED_MODULE_5___default.a.createRef();\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_4__[\"jsx\"])(ScrollProviderRef.Provider, {\n value: scrollProviderRef\n }, Object(_emotion_core__WEBPACK_IMPORTED_MODULE_4__[\"jsx\"])(\"div\", _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_1___default()({\n css:\n /*#__PURE__*/\n Object(_emotion_css__WEBPACK_IMPORTED_MODULE_2__[\"default\"])({\n boxSizing: 'border-box',\n display: isVisible ? 'flex' : 'none',\n flexDirection: 'column',\n height: '100%',\n overflowX: 'hidden',\n overflowY: 'auto',\n width: '100%'\n }, false ? undefined : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL0NvbnRlbnROYXZpZ2F0aW9uL3ByaW1pdGl2ZXMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBMkJRIiwiZmlsZSI6Ii4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL0NvbnRlbnROYXZpZ2F0aW9uL3ByaW1pdGl2ZXMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgRnJhZ21lbnQgfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB7IGNzcywga2V5ZnJhbWVzIH0gZnJvbSAnQGVtb3Rpb24vY29yZSc7XG5cbmltcG9ydCB7IE43MEEgfSBmcm9tICdAYXRsYXNraXQvdGhlbWUvY29sb3JzJztcblxuaW1wb3J0IHtcbiAgdHJhbnNpdGlvbkR1cmF0aW9uLFxuICB0cmFuc2l0aW9uVGltaW5nRnVuY3Rpb24sXG59IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9jb25zdGFudHMnO1xuaW1wb3J0IHsgYXBwbHlEaXNhYmxlZFByb3BlcnRpZXMgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vaGVscGVycyc7XG5pbXBvcnQgeyBsaWdodCwgVGhlbWVQcm92aWRlciwgd2l0aENvbnRlbnRUaGVtZSB9IGZyb20gJy4uLy4uLy4uL3RoZW1lJztcblxuLyoqXG4gKiBDb21wb25lbnQgdHJlZSBzdHJ1Y3R1cmVcbiAqICAtIFByb2R1Y3ROYXZpZ2F0aW9uXG4gKiAgLSBDb250YWluZXJOYXZpZ2F0aW9uXG4gKiAgICAtIENvbnRhaW5lck92ZXJsYXlcbiAqL1xuXG5leHBvcnQgY29uc3QgU2Nyb2xsUHJvdmlkZXJSZWYgPSBSZWFjdC5jcmVhdGVDb250ZXh0KCk7XG5jb25zdCBTY3JvbGxQcm92aWRlciA9ICh7IGlzVmlzaWJsZSwgLi4ucHJvcHMgfSkgPT4ge1xuICBjb25zdCBzY3JvbGxQcm92aWRlclJlZiA9IFJlYWN0LmNyZWF0ZVJlZigpO1xuXG4gIHJldHVybiAoXG4gICAgPFNjcm9sbFByb3ZpZGVyUmVmLlByb3ZpZGVyIHZhbHVlPXtzY3JvbGxQcm92aWRlclJlZn0+XG4gICAgICA8ZGl2XG4gICAgICAgIGNzcz17e1xuICAgICAgICAgIGJveFNpemluZzogJ2JvcmRlci1ib3gnLFxuICAgICAgICAgIGRpc3BsYXk6IGlzVmlzaWJsZSA/ICdmbGV4JyA6ICdub25lJyxcbiAgICAgICAgICBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJyxcbiAgICAgICAgICBoZWlnaHQ6ICcxMDAlJyxcbiAgICAgICAgICBvdmVyZmxvd1g6ICdoaWRkZW4nLFxuICAgICAgICAgIG92ZXJmbG93WTogJ2F1dG8nLFxuICAgICAgICAgIHdpZHRoOiAnMTAwJScsXG4gICAgICAgIH19XG4gICAgICAgIHRhYkluZGV4PXstMX1cbiAgICAgICAgcm9sZT1cImdyb3VwXCJcbiAgICAgICAgcmVmPXtzY3JvbGxQcm92aWRlclJlZn1cbiAgICAgICAgey4uLnByb3BzfVxuICAgICAgLz5cbiAgICA8L1Njcm9sbFByb3ZpZGVyUmVmLlByb3ZpZGVyPlxuICApO1xufTtcblxuLyoqXG4gKiBQcm9kdWN0TmF2aWdhdGlvblxuICovXG5jb25zdCBQcm9kdWN0TmF2aWdhdGlvblByaW1pdGl2ZUJhc2UgPSAoe1xuICBjaGlsZHJlbixcbiAgaXNWaXNpYmxlLFxuICB0aGVtZSA9IHsgbW9kZTogbGlnaHQsIGNvbnRleHQ6ICdwcm9kdWN0JyB9LFxufSkgPT4gKFxuICA8ZGl2XG4gICAgY3NzPXt7XG4gICAgICAuLi50aGVtZS5tb2RlLmNvbnRlbnROYXYoKS5wcm9kdWN0LFxuICAgICAgJyY6bm90KDpvbmx5LWNoaWxkKSc6IHtcbiAgICAgICAgLy8gU2V0dGluZyB6LWluZGV4IGVuc3VyZXMgU2Nyb2xsSGludHMgc3RheSBiZWxvdyB0aGUgY29udGFpbmVyIG5hdlxuICAgICAgICAvLyAmOm5vdCg6b25seS1jaGlsZCkgc2V0cyBpdCBvbmx5IHdoZW4gYm90aCBjb250YWluZXIgYW5kIHByb2R1Y3RcbiAgICAgICAgLy8gbmF2IGFyZSByZW5kZXJlZC5cbiAgICAgICAgekluZGV4OiAtMSxcbiAgICAgIH0sXG4gICAgfX1cbiAgPlxuICAgIDxTY3JvbGxQcm92aWRlciBpc1Zpc2libGU9e2lzVmlzaWJsZX0+e2NoaWxkcmVufTwvU2Nyb2xsUHJvdmlkZXI+XG4gIDwvZGl2PlxuKTtcblxuY29uc3QgUHJvZHVjdE5hdmlnYXRpb25QcmltaXRpdmUgPSB3aXRoQ29udGVudFRoZW1lKFxuICBQcm9kdWN0TmF2aWdhdGlvblByaW1pdGl2ZUJhc2UsXG4pO1xuXG5leHBvcnQgY29uc3QgUHJvZHVjdE5hdmlnYXRpb25UaGVtZSA9ICh7IGNoaWxkcmVuIH0pID0+IChcbiAgPFRoZW1lUHJvdmlkZXJcbiAgICB0aGVtZT17b2xkVGhlbWUgPT4gKHsgbW9kZTogbGlnaHQsIC4uLm9sZFRoZW1lLCBjb250ZXh0OiAncHJvZHVjdCcgfSl9XG4gID5cbiAgICA8RnJhZ21lbnQ+e2NoaWxkcmVufTwvRnJhZ21lbnQ+XG4gIDwvVGhlbWVQcm92aWRlcj5cbik7XG5cbmV4cG9ydCBjb25zdCBQcm9kdWN0TmF2aWdhdGlvbiA9IHByb3BzID0+IChcbiAgPFByb2R1Y3ROYXZpZ2F0aW9uVGhlbWU+XG4gICAgPFByb2R1Y3ROYXZpZ2F0aW9uUHJpbWl0aXZlIHsuLi5wcm9wc30gLz5cbiAgPC9Qcm9kdWN0TmF2aWdhdGlvblRoZW1lPlxuKTtcblxuY29uc3Qgc2xpZGVJbiA9IGtleWZyYW1lc2BcbiAgZnJvbSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTsgfVxuICB0byB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuYDtcblxuLyoqXG4gKiBDb250YWluZXJOYXZpZ2F0aW9uXG4gKi9cbmNvbnN0IENvbnRhaW5lck5hdmlnYXRpb25QcmltaXRpdmVCYXNlID0gKHtcbiAgY2hpbGRyZW4sXG4gIGlzRW50ZXJpbmcsXG4gIGlzRXhpdGluZyxcbiAgdGhlbWUsXG4gIGlzVmlzaWJsZSxcbn0pID0+IHtcbiAgbGV0IGFuaW1hdGlvbk5hbWU7XG4gIGlmIChpc0VudGVyaW5nKSBhbmltYXRpb25OYW1lID0gc2xpZGVJbjtcblxuICBjb25zdCB0cmFuc2Zvcm0gPSBpc0V4aXRpbmcgPyAndHJhbnNsYXRlWCgxMDAlKScgOiBudWxsO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgY3NzPXtjc3NgXG4gICAgICAke3tcbiAgICAgICAgLi4udGhlbWUubW9kZS5jb250ZW50TmF2KCkuY29udGFpbmVyLFxuICAgICAgICBhbmltYXRpb25EdXJhdGlvbjogdHJhbnNpdGlvbkR1cmF0aW9uLFxuICAgICAgICBhbmltYXRpb25GaWxsTW9kZTogJ2ZvcndhcmRzJyxcbiAgICAgICAgYW5pbWF0aW9uVGltaW5nRnVuY3Rpb246IHRyYW5zaXRpb25UaW1pbmdGdW5jdGlvbixcbiAgICAgICAgdHJhbnNpdGlvblByb3BlcnR5OiAnYm94U2hhZG93LCB0cmFuc2Zvcm0nLFxuICAgICAgICB0cmFuc2l0aW9uRHVyYXRpb24sXG4gICAgICAgIHRyYW5zaXRpb25UaW1pbmdGdW5jdGlvbixcbiAgICAgICAgdHJhbnNmb3JtLFxuICAgICAgfX1cbiAgICAgIGFuaW1hdGlvbi1uYW1lOiAke2FuaW1hdGlvbk5hbWV9O1xuICAgICAgYH1cbiAgICA+XG4gICAgICA8U2Nyb2xsUHJvdmlkZXIgaXNWaXNpYmxlPXtpc1Zpc2libGV9PntjaGlsZHJlbn08L1Njcm9sbFByb3ZpZGVyPlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuY29uc3QgQ29udGFpbmVyTmF2aWdhdGlvblByaW1pdGl2ZSA9IHdpdGhDb250ZW50VGhlbWUoXG4gIENvbnRhaW5lck5hdmlnYXRpb25QcmltaXRpdmVCYXNlLFxuKTtcblxuZXhwb3J0IGNvbnN0IENvbnRhaW5lck5hdmlnYXRpb25UaGVtZSA9ICh7IGNoaWxkcmVuIH0pID0+IChcbiAgPFRoZW1lUHJvdmlkZXIgdGhlbWU9e3sgbW9kZTogbGlnaHQsIGNvbnRleHQ6ICdjb250YWluZXInIH19PlxuICAgIDxGcmFnbWVudD57Y2hpbGRyZW59PC9GcmFnbWVudD5cbiAgPC9UaGVtZVByb3ZpZGVyPlxuKTtcblxuZXhwb3J0IGNvbnN0IENvbnRhaW5lck5hdmlnYXRpb24gPSBwcm9wcyA9PiAoXG4gIDxDb250YWluZXJOYXZpZ2F0aW9uVGhlbWU+XG4gICAgPENvbnRhaW5lck5hdmlnYXRpb25QcmltaXRpdmUgey4uLnByb3BzfSAvPlxuICA8L0NvbnRhaW5lck5hdmlnYXRpb25UaGVtZT5cbik7XG5cbi8qKlxuICogQ29udGFpbmVyT3ZlcmxheVxuICovXG5cbmV4cG9ydCBjb25zdCBDb250YWluZXJPdmVybGF5ID0gKHsgaXNWaXNpYmxlLCBvbkNsaWNrLCAuLi5wcm9wcyB9KSA9PiAoXG4gIDxkaXZcbiAgICBjc3M9e3tcbiAgICAgIGJhY2tncm91bmRDb2xvcjogTjcwQSxcbiAgICAgIGN1cnNvcjogaXNWaXNpYmxlID8gJ3BvaW50ZXInIDogJ2RlZmF1bHQnLFxuICAgICAgaGVpZ2h0OiAnMTAwJScsXG4gICAgICBsZWZ0OiAwLFxuICAgICAgb3BhY2l0eTogaXNWaXNpYmxlID8gMSA6IDAsXG4gICAgICBwb2ludGVyRXZlbnRzOiBpc1Zpc2libGUgPyAnYWxsJyA6ICdub25lJyxcbiAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgICAgdG9wOiAwLFxuICAgICAgdHJhbnNpdGlvbkR1cmF0aW9uLFxuICAgICAgdHJhbnNpdGlvblByb3BlcnR5OiAnb3BhY2l0eScsXG4gICAgICB0cmFuc2l0aW9uVGltaW5nRnVuY3Rpb24sXG4gICAgICB3aWR0aDogJzEwMCUnLFxuICAgICAgekluZGV4OiA1LFxuICAgIH19XG4gICAgb25DbGljaz17b25DbGlja31cbiAgICByb2xlPVwicHJlc2VudGF0aW9uXCJcbiAgICB7Li4ucHJvcHN9XG4gIC8+XG4pO1xuXG5leHBvcnQgY29uc3QgQ29udGVudE5hdmlnYXRpb25XcmFwcGVyID0gKHtcbiAgaW5uZXJSZWYsXG4gIGRpc2FibGVJbnRlcmFjdGlvbixcbiAgLi4ucHJvcHNcbn0pID0+IChcbiAgPGRpdlxuICAgIHJlZj17aW5uZXJSZWZ9XG4gICAgY3NzPXt7XG4gICAgICBoZWlnaHQ6ICcxMDAlJyxcbiAgICAgIHBvc2l0aW9uOiAncmVsYXRpdmUnLFxuICAgICAgLi4uYXBwbHlEaXNhYmxlZFByb3BlcnRpZXMoISFkaXNhYmxlSW50ZXJhY3Rpb24pLFxuICAgIH19XG4gICAgey4uLnByb3BzfVxuICAvPlxuKTtcblxuZXhwb3J0IGNvbnN0IENvbnRhaW5lck5hdmlnYXRpb25NYXNrID0gKHsgZGlzYWJsZUludGVyYWN0aW9uLCAuLi5wcm9wcyB9KSA9PiAoXG4gIDxkaXZcbiAgICBjc3M9e3tcbiAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgIGZsZXhEaXJlY3Rpb246ICdyb3cnLFxuICAgICAgb3ZlcmZsb3c6ICdoaWRkZW4nLFxuICAgICAgaGVpZ2h0OiAnMTAwJScsXG4gICAgICAuLi5hcHBseURpc2FibGVkUHJvcGVydGllcyghIWRpc2FibGVJbnRlcmFjdGlvbiksXG4gICAgfX1cbiAgICB7Li4ucHJvcHN9XG4gIC8+XG4pO1xuIl19 */\"),\n tabIndex: -1,\n role: \"group\",\n ref: scrollProviderRef\n }, props)));\n};\n/**\n * ProductNavigation\n */\n\n\nvar ProductNavigationPrimitiveBase = function ProductNavigationPrimitiveBase(_ref2) {\n var children = _ref2.children,\n isVisible = _ref2.isVisible,\n _ref2$theme = _ref2.theme,\n theme = _ref2$theme === void 0 ? {\n mode: _theme__WEBPACK_IMPORTED_MODULE_9__[\"light\"],\n context: 'product'\n } : _ref2$theme;\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_4__[\"jsx\"])(\"div\", {\n css:\n /*#__PURE__*/\n Object(_emotion_css__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0___default()({}, theme.mode.contentNav().product, {\n '&:not(:only-child)': {\n // Setting z-index ensures ScrollHints stay below the container nav\n // &:not(:only-child) sets it only when both container and product\n // nav are rendered.\n zIndex: -1\n }\n }), false ? undefined : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL0NvbnRlbnROYXZpZ2F0aW9uL3ByaW1pdGl2ZXMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBc0RJIiwiZmlsZSI6Ii4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL0NvbnRlbnROYXZpZ2F0aW9uL3ByaW1pdGl2ZXMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgRnJhZ21lbnQgfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB7IGNzcywga2V5ZnJhbWVzIH0gZnJvbSAnQGVtb3Rpb24vY29yZSc7XG5cbmltcG9ydCB7IE43MEEgfSBmcm9tICdAYXRsYXNraXQvdGhlbWUvY29sb3JzJztcblxuaW1wb3J0IHtcbiAgdHJhbnNpdGlvbkR1cmF0aW9uLFxuICB0cmFuc2l0aW9uVGltaW5nRnVuY3Rpb24sXG59IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9jb25zdGFudHMnO1xuaW1wb3J0IHsgYXBwbHlEaXNhYmxlZFByb3BlcnRpZXMgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vaGVscGVycyc7XG5pbXBvcnQgeyBsaWdodCwgVGhlbWVQcm92aWRlciwgd2l0aENvbnRlbnRUaGVtZSB9IGZyb20gJy4uLy4uLy4uL3RoZW1lJztcblxuLyoqXG4gKiBDb21wb25lbnQgdHJlZSBzdHJ1Y3R1cmVcbiAqICAtIFByb2R1Y3ROYXZpZ2F0aW9uXG4gKiAgLSBDb250YWluZXJOYXZpZ2F0aW9uXG4gKiAgICAtIENvbnRhaW5lck92ZXJsYXlcbiAqL1xuXG5leHBvcnQgY29uc3QgU2Nyb2xsUHJvdmlkZXJSZWYgPSBSZWFjdC5jcmVhdGVDb250ZXh0KCk7XG5jb25zdCBTY3JvbGxQcm92aWRlciA9ICh7IGlzVmlzaWJsZSwgLi4ucHJvcHMgfSkgPT4ge1xuICBjb25zdCBzY3JvbGxQcm92aWRlclJlZiA9IFJlYWN0LmNyZWF0ZVJlZigpO1xuXG4gIHJldHVybiAoXG4gICAgPFNjcm9sbFByb3ZpZGVyUmVmLlByb3ZpZGVyIHZhbHVlPXtzY3JvbGxQcm92aWRlclJlZn0+XG4gICAgICA8ZGl2XG4gICAgICAgIGNzcz17e1xuICAgICAgICAgIGJveFNpemluZzogJ2JvcmRlci1ib3gnLFxuICAgICAgICAgIGRpc3BsYXk6IGlzVmlzaWJsZSA/ICdmbGV4JyA6ICdub25lJyxcbiAgICAgICAgICBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJyxcbiAgICAgICAgICBoZWlnaHQ6ICcxMDAlJyxcbiAgICAgICAgICBvdmVyZmxvd1g6ICdoaWRkZW4nLFxuICAgICAgICAgIG92ZXJmbG93WTogJ2F1dG8nLFxuICAgICAgICAgIHdpZHRoOiAnMTAwJScsXG4gICAgICAgIH19XG4gICAgICAgIHRhYkluZGV4PXstMX1cbiAgICAgICAgcm9sZT1cImdyb3VwXCJcbiAgICAgICAgcmVmPXtzY3JvbGxQcm92aWRlclJlZn1cbiAgICAgICAgey4uLnByb3BzfVxuICAgICAgLz5cbiAgICA8L1Njcm9sbFByb3ZpZGVyUmVmLlByb3ZpZGVyPlxuICApO1xufTtcblxuLyoqXG4gKiBQcm9kdWN0TmF2aWdhdGlvblxuICovXG5jb25zdCBQcm9kdWN0TmF2aWdhdGlvblByaW1pdGl2ZUJhc2UgPSAoe1xuICBjaGlsZHJlbixcbiAgaXNWaXNpYmxlLFxuICB0aGVtZSA9IHsgbW9kZTogbGlnaHQsIGNvbnRleHQ6ICdwcm9kdWN0JyB9LFxufSkgPT4gKFxuICA8ZGl2XG4gICAgY3NzPXt7XG4gICAgICAuLi50aGVtZS5tb2RlLmNvbnRlbnROYXYoKS5wcm9kdWN0LFxuICAgICAgJyY6bm90KDpvbmx5LWNoaWxkKSc6IHtcbiAgICAgICAgLy8gU2V0dGluZyB6LWluZGV4IGVuc3VyZXMgU2Nyb2xsSGludHMgc3RheSBiZWxvdyB0aGUgY29udGFpbmVyIG5hdlxuICAgICAgICAvLyAmOm5vdCg6b25seS1jaGlsZCkgc2V0cyBpdCBvbmx5IHdoZW4gYm90aCBjb250YWluZXIgYW5kIHByb2R1Y3RcbiAgICAgICAgLy8gbmF2IGFyZSByZW5kZXJlZC5cbiAgICAgICAgekluZGV4OiAtMSxcbiAgICAgIH0sXG4gICAgfX1cbiAgPlxuICAgIDxTY3JvbGxQcm92aWRlciBpc1Zpc2libGU9e2lzVmlzaWJsZX0+e2NoaWxkcmVufTwvU2Nyb2xsUHJvdmlkZXI+XG4gIDwvZGl2PlxuKTtcblxuY29uc3QgUHJvZHVjdE5hdmlnYXRpb25QcmltaXRpdmUgPSB3aXRoQ29udGVudFRoZW1lKFxuICBQcm9kdWN0TmF2aWdhdGlvblByaW1pdGl2ZUJhc2UsXG4pO1xuXG5leHBvcnQgY29uc3QgUHJvZHVjdE5hdmlnYXRpb25UaGVtZSA9ICh7IGNoaWxkcmVuIH0pID0+IChcbiAgPFRoZW1lUHJvdmlkZXJcbiAgICB0aGVtZT17b2xkVGhlbWUgPT4gKHsgbW9kZTogbGlnaHQsIC4uLm9sZFRoZW1lLCBjb250ZXh0OiAncHJvZHVjdCcgfSl9XG4gID5cbiAgICA8RnJhZ21lbnQ+e2NoaWxkcmVufTwvRnJhZ21lbnQ+XG4gIDwvVGhlbWVQcm92aWRlcj5cbik7XG5cbmV4cG9ydCBjb25zdCBQcm9kdWN0TmF2aWdhdGlvbiA9IHByb3BzID0+IChcbiAgPFByb2R1Y3ROYXZpZ2F0aW9uVGhlbWU+XG4gICAgPFByb2R1Y3ROYXZpZ2F0aW9uUHJpbWl0aXZlIHsuLi5wcm9wc30gLz5cbiAgPC9Qcm9kdWN0TmF2aWdhdGlvblRoZW1lPlxuKTtcblxuY29uc3Qgc2xpZGVJbiA9IGtleWZyYW1lc2BcbiAgZnJvbSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTsgfVxuICB0byB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuYDtcblxuLyoqXG4gKiBDb250YWluZXJOYXZpZ2F0aW9uXG4gKi9cbmNvbnN0IENvbnRhaW5lck5hdmlnYXRpb25QcmltaXRpdmVCYXNlID0gKHtcbiAgY2hpbGRyZW4sXG4gIGlzRW50ZXJpbmcsXG4gIGlzRXhpdGluZyxcbiAgdGhlbWUsXG4gIGlzVmlzaWJsZSxcbn0pID0+IHtcbiAgbGV0IGFuaW1hdGlvbk5hbWU7XG4gIGlmIChpc0VudGVyaW5nKSBhbmltYXRpb25OYW1lID0gc2xpZGVJbjtcblxuICBjb25zdCB0cmFuc2Zvcm0gPSBpc0V4aXRpbmcgPyAndHJhbnNsYXRlWCgxMDAlKScgOiBudWxsO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgY3NzPXtjc3NgXG4gICAgICAke3tcbiAgICAgICAgLi4udGhlbWUubW9kZS5jb250ZW50TmF2KCkuY29udGFpbmVyLFxuICAgICAgICBhbmltYXRpb25EdXJhdGlvbjogdHJhbnNpdGlvbkR1cmF0aW9uLFxuICAgICAgICBhbmltYXRpb25GaWxsTW9kZTogJ2ZvcndhcmRzJyxcbiAgICAgICAgYW5pbWF0aW9uVGltaW5nRnVuY3Rpb246IHRyYW5zaXRpb25UaW1pbmdGdW5jdGlvbixcbiAgICAgICAgdHJhbnNpdGlvblByb3BlcnR5OiAnYm94U2hhZG93LCB0cmFuc2Zvcm0nLFxuICAgICAgICB0cmFuc2l0aW9uRHVyYXRpb24sXG4gICAgICAgIHRyYW5zaXRpb25UaW1pbmdGdW5jdGlvbixcbiAgICAgICAgdHJhbnNmb3JtLFxuICAgICAgfX1cbiAgICAgIGFuaW1hdGlvbi1uYW1lOiAke2FuaW1hdGlvbk5hbWV9O1xuICAgICAgYH1cbiAgICA+XG4gICAgICA8U2Nyb2xsUHJvdmlkZXIgaXNWaXNpYmxlPXtpc1Zpc2libGV9PntjaGlsZHJlbn08L1Njcm9sbFByb3ZpZGVyPlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuY29uc3QgQ29udGFpbmVyTmF2aWdhdGlvblByaW1pdGl2ZSA9IHdpdGhDb250ZW50VGhlbWUoXG4gIENvbnRhaW5lck5hdmlnYXRpb25QcmltaXRpdmVCYXNlLFxuKTtcblxuZXhwb3J0IGNvbnN0IENvbnRhaW5lck5hdmlnYXRpb25UaGVtZSA9ICh7IGNoaWxkcmVuIH0pID0+IChcbiAgPFRoZW1lUHJvdmlkZXIgdGhlbWU9e3sgbW9kZTogbGlnaHQsIGNvbnRleHQ6ICdjb250YWluZXInIH19PlxuICAgIDxGcmFnbWVudD57Y2hpbGRyZW59PC9GcmFnbWVudD5cbiAgPC9UaGVtZVByb3ZpZGVyPlxuKTtcblxuZXhwb3J0IGNvbnN0IENvbnRhaW5lck5hdmlnYXRpb24gPSBwcm9wcyA9PiAoXG4gIDxDb250YWluZXJOYXZpZ2F0aW9uVGhlbWU+XG4gICAgPENvbnRhaW5lck5hdmlnYXRpb25QcmltaXRpdmUgey4uLnByb3BzfSAvPlxuICA8L0NvbnRhaW5lck5hdmlnYXRpb25UaGVtZT5cbik7XG5cbi8qKlxuICogQ29udGFpbmVyT3ZlcmxheVxuICovXG5cbmV4cG9ydCBjb25zdCBDb250YWluZXJPdmVybGF5ID0gKHsgaXNWaXNpYmxlLCBvbkNsaWNrLCAuLi5wcm9wcyB9KSA9PiAoXG4gIDxkaXZcbiAgICBjc3M9e3tcbiAgICAgIGJhY2tncm91bmRDb2xvcjogTjcwQSxcbiAgICAgIGN1cnNvcjogaXNWaXNpYmxlID8gJ3BvaW50ZXInIDogJ2RlZmF1bHQnLFxuICAgICAgaGVpZ2h0OiAnMTAwJScsXG4gICAgICBsZWZ0OiAwLFxuICAgICAgb3BhY2l0eTogaXNWaXNpYmxlID8gMSA6IDAsXG4gICAgICBwb2ludGVyRXZlbnRzOiBpc1Zpc2libGUgPyAnYWxsJyA6ICdub25lJyxcbiAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgICAgdG9wOiAwLFxuICAgICAgdHJhbnNpdGlvbkR1cmF0aW9uLFxuICAgICAgdHJhbnNpdGlvblByb3BlcnR5OiAnb3BhY2l0eScsXG4gICAgICB0cmFuc2l0aW9uVGltaW5nRnVuY3Rpb24sXG4gICAgICB3aWR0aDogJzEwMCUnLFxuICAgICAgekluZGV4OiA1LFxuICAgIH19XG4gICAgb25DbGljaz17b25DbGlja31cbiAgICByb2xlPVwicHJlc2VudGF0aW9uXCJcbiAgICB7Li4ucHJvcHN9XG4gIC8+XG4pO1xuXG5leHBvcnQgY29uc3QgQ29udGVudE5hdmlnYXRpb25XcmFwcGVyID0gKHtcbiAgaW5uZXJSZWYsXG4gIGRpc2FibGVJbnRlcmFjdGlvbixcbiAgLi4ucHJvcHNcbn0pID0+IChcbiAgPGRpdlxuICAgIHJlZj17aW5uZXJSZWZ9XG4gICAgY3NzPXt7XG4gICAgICBoZWlnaHQ6ICcxMDAlJyxcbiAgICAgIHBvc2l0aW9uOiAncmVsYXRpdmUnLFxuICAgICAgLi4uYXBwbHlEaXNhYmxlZFByb3BlcnRpZXMoISFkaXNhYmxlSW50ZXJhY3Rpb24pLFxuICAgIH19XG4gICAgey4uLnByb3BzfVxuICAvPlxuKTtcblxuZXhwb3J0IGNvbnN0IENvbnRhaW5lck5hdmlnYXRpb25NYXNrID0gKHsgZGlzYWJsZUludGVyYWN0aW9uLCAuLi5wcm9wcyB9KSA9PiAoXG4gIDxkaXZcbiAgICBjc3M9e3tcbiAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgIGZsZXhEaXJlY3Rpb246ICdyb3cnLFxuICAgICAgb3ZlcmZsb3c6ICdoaWRkZW4nLFxuICAgICAgaGVpZ2h0OiAnMTAwJScsXG4gICAgICAuLi5hcHBseURpc2FibGVkUHJvcGVydGllcyghIWRpc2FibGVJbnRlcmFjdGlvbiksXG4gICAgfX1cbiAgICB7Li4ucHJvcHN9XG4gIC8+XG4pO1xuIl19 */\")\n }, Object(_emotion_core__WEBPACK_IMPORTED_MODULE_4__[\"jsx\"])(ScrollProvider, {\n isVisible: isVisible\n }, children));\n};\n\nvar ProductNavigationPrimitive = Object(_theme__WEBPACK_IMPORTED_MODULE_9__[\"withContentTheme\"])(ProductNavigationPrimitiveBase);\nvar ProductNavigationTheme = function ProductNavigationTheme(_ref3) {\n var children = _ref3.children;\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_4__[\"jsx\"])(_theme__WEBPACK_IMPORTED_MODULE_9__[\"ThemeProvider\"], {\n theme: function theme(oldTheme) {\n return _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0___default()({\n mode: _theme__WEBPACK_IMPORTED_MODULE_9__[\"light\"]\n }, oldTheme, {\n context: 'product'\n });\n }\n }, Object(_emotion_core__WEBPACK_IMPORTED_MODULE_4__[\"jsx\"])(react__WEBPACK_IMPORTED_MODULE_5__[\"Fragment\"], null, children));\n};\nvar ProductNavigation = function ProductNavigation(props) {\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_4__[\"jsx\"])(ProductNavigationTheme, null, Object(_emotion_core__WEBPACK_IMPORTED_MODULE_4__[\"jsx\"])(ProductNavigationPrimitive, props));\n};\nvar slideIn = Object(_emotion_core__WEBPACK_IMPORTED_MODULE_4__[\"keyframes\"])([\"\\n from { transform: translateX(100%); }\\n to { transform: translateX(0); }\\n\"]);\n/**\n * ContainerNavigation\n */\n\nvar ContainerNavigationPrimitiveBase = function ContainerNavigationPrimitiveBase(_ref4) {\n var children = _ref4.children,\n isEntering = _ref4.isEntering,\n isExiting = _ref4.isExiting,\n theme = _ref4.theme,\n isVisible = _ref4.isVisible;\n var animationName;\n if (isEntering) animationName = slideIn;\n var transform = isExiting ? 'translateX(100%)' : null;\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_4__[\"jsx\"])(\"div\", {\n css:\n /*#__PURE__*/\n Object(_emotion_core__WEBPACK_IMPORTED_MODULE_4__[\"css\"])(_babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0___default()({}, theme.mode.contentNav().container, {\n animationDuration: _common_constants__WEBPACK_IMPORTED_MODULE_7__[\"transitionDuration\"],\n animationFillMode: 'forwards',\n animationTimingFunction: _common_constants__WEBPACK_IMPORTED_MODULE_7__[\"transitionTimingFunction\"],\n transitionProperty: 'boxShadow, transform',\n transitionDuration: _common_constants__WEBPACK_IMPORTED_MODULE_7__[\"transitionDuration\"],\n transitionTimingFunction: _common_constants__WEBPACK_IMPORTED_MODULE_7__[\"transitionTimingFunction\"],\n transform: transform\n }), \" animation-name:\", animationName, \";\" + ( false ? undefined : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL0NvbnRlbnROYXZpZ2F0aW9uL3ByaW1pdGl2ZXMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBNEdjIiwiZmlsZSI6Ii4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL0NvbnRlbnROYXZpZ2F0aW9uL3ByaW1pdGl2ZXMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgRnJhZ21lbnQgfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB7IGNzcywga2V5ZnJhbWVzIH0gZnJvbSAnQGVtb3Rpb24vY29yZSc7XG5cbmltcG9ydCB7IE43MEEgfSBmcm9tICdAYXRsYXNraXQvdGhlbWUvY29sb3JzJztcblxuaW1wb3J0IHtcbiAgdHJhbnNpdGlvbkR1cmF0aW9uLFxuICB0cmFuc2l0aW9uVGltaW5nRnVuY3Rpb24sXG59IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9jb25zdGFudHMnO1xuaW1wb3J0IHsgYXBwbHlEaXNhYmxlZFByb3BlcnRpZXMgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vaGVscGVycyc7XG5pbXBvcnQgeyBsaWdodCwgVGhlbWVQcm92aWRlciwgd2l0aENvbnRlbnRUaGVtZSB9IGZyb20gJy4uLy4uLy4uL3RoZW1lJztcblxuLyoqXG4gKiBDb21wb25lbnQgdHJlZSBzdHJ1Y3R1cmVcbiAqICAtIFByb2R1Y3ROYXZpZ2F0aW9uXG4gKiAgLSBDb250YWluZXJOYXZpZ2F0aW9uXG4gKiAgICAtIENvbnRhaW5lck92ZXJsYXlcbiAqL1xuXG5leHBvcnQgY29uc3QgU2Nyb2xsUHJvdmlkZXJSZWYgPSBSZWFjdC5jcmVhdGVDb250ZXh0KCk7XG5jb25zdCBTY3JvbGxQcm92aWRlciA9ICh7IGlzVmlzaWJsZSwgLi4ucHJvcHMgfSkgPT4ge1xuICBjb25zdCBzY3JvbGxQcm92aWRlclJlZiA9IFJlYWN0LmNyZWF0ZVJlZigpO1xuXG4gIHJldHVybiAoXG4gICAgPFNjcm9sbFByb3ZpZGVyUmVmLlByb3ZpZGVyIHZhbHVlPXtzY3JvbGxQcm92aWRlclJlZn0+XG4gICAgICA8ZGl2XG4gICAgICAgIGNzcz17e1xuICAgICAgICAgIGJveFNpemluZzogJ2JvcmRlci1ib3gnLFxuICAgICAgICAgIGRpc3BsYXk6IGlzVmlzaWJsZSA/ICdmbGV4JyA6ICdub25lJyxcbiAgICAgICAgICBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJyxcbiAgICAgICAgICBoZWlnaHQ6ICcxMDAlJyxcbiAgICAgICAgICBvdmVyZmxvd1g6ICdoaWRkZW4nLFxuICAgICAgICAgIG92ZXJmbG93WTogJ2F1dG8nLFxuICAgICAgICAgIHdpZHRoOiAnMTAwJScsXG4gICAgICAgIH19XG4gICAgICAgIHRhYkluZGV4PXstMX1cbiAgICAgICAgcm9sZT1cImdyb3VwXCJcbiAgICAgICAgcmVmPXtzY3JvbGxQcm92aWRlclJlZn1cbiAgICAgICAgey4uLnByb3BzfVxuICAgICAgLz5cbiAgICA8L1Njcm9sbFByb3ZpZGVyUmVmLlByb3ZpZGVyPlxuICApO1xufTtcblxuLyoqXG4gKiBQcm9kdWN0TmF2aWdhdGlvblxuICovXG5jb25zdCBQcm9kdWN0TmF2aWdhdGlvblByaW1pdGl2ZUJhc2UgPSAoe1xuICBjaGlsZHJlbixcbiAgaXNWaXNpYmxlLFxuICB0aGVtZSA9IHsgbW9kZTogbGlnaHQsIGNvbnRleHQ6ICdwcm9kdWN0JyB9LFxufSkgPT4gKFxuICA8ZGl2XG4gICAgY3NzPXt7XG4gICAgICAuLi50aGVtZS5tb2RlLmNvbnRlbnROYXYoKS5wcm9kdWN0LFxuICAgICAgJyY6bm90KDpvbmx5LWNoaWxkKSc6IHtcbiAgICAgICAgLy8gU2V0dGluZyB6LWluZGV4IGVuc3VyZXMgU2Nyb2xsSGludHMgc3RheSBiZWxvdyB0aGUgY29udGFpbmVyIG5hdlxuICAgICAgICAvLyAmOm5vdCg6b25seS1jaGlsZCkgc2V0cyBpdCBvbmx5IHdoZW4gYm90aCBjb250YWluZXIgYW5kIHByb2R1Y3RcbiAgICAgICAgLy8gbmF2IGFyZSByZW5kZXJlZC5cbiAgICAgICAgekluZGV4OiAtMSxcbiAgICAgIH0sXG4gICAgfX1cbiAgPlxuICAgIDxTY3JvbGxQcm92aWRlciBpc1Zpc2libGU9e2lzVmlzaWJsZX0+e2NoaWxkcmVufTwvU2Nyb2xsUHJvdmlkZXI+XG4gIDwvZGl2PlxuKTtcblxuY29uc3QgUHJvZHVjdE5hdmlnYXRpb25QcmltaXRpdmUgPSB3aXRoQ29udGVudFRoZW1lKFxuICBQcm9kdWN0TmF2aWdhdGlvblByaW1pdGl2ZUJhc2UsXG4pO1xuXG5leHBvcnQgY29uc3QgUHJvZHVjdE5hdmlnYXRpb25UaGVtZSA9ICh7IGNoaWxkcmVuIH0pID0+IChcbiAgPFRoZW1lUHJvdmlkZXJcbiAgICB0aGVtZT17b2xkVGhlbWUgPT4gKHsgbW9kZTogbGlnaHQsIC4uLm9sZFRoZW1lLCBjb250ZXh0OiAncHJvZHVjdCcgfSl9XG4gID5cbiAgICA8RnJhZ21lbnQ+e2NoaWxkcmVufTwvRnJhZ21lbnQ+XG4gIDwvVGhlbWVQcm92aWRlcj5cbik7XG5cbmV4cG9ydCBjb25zdCBQcm9kdWN0TmF2aWdhdGlvbiA9IHByb3BzID0+IChcbiAgPFByb2R1Y3ROYXZpZ2F0aW9uVGhlbWU+XG4gICAgPFByb2R1Y3ROYXZpZ2F0aW9uUHJpbWl0aXZlIHsuLi5wcm9wc30gLz5cbiAgPC9Qcm9kdWN0TmF2aWdhdGlvblRoZW1lPlxuKTtcblxuY29uc3Qgc2xpZGVJbiA9IGtleWZyYW1lc2BcbiAgZnJvbSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTsgfVxuICB0byB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuYDtcblxuLyoqXG4gKiBDb250YWluZXJOYXZpZ2F0aW9uXG4gKi9cbmNvbnN0IENvbnRhaW5lck5hdmlnYXRpb25QcmltaXRpdmVCYXNlID0gKHtcbiAgY2hpbGRyZW4sXG4gIGlzRW50ZXJpbmcsXG4gIGlzRXhpdGluZyxcbiAgdGhlbWUsXG4gIGlzVmlzaWJsZSxcbn0pID0+IHtcbiAgbGV0IGFuaW1hdGlvbk5hbWU7XG4gIGlmIChpc0VudGVyaW5nKSBhbmltYXRpb25OYW1lID0gc2xpZGVJbjtcblxuICBjb25zdCB0cmFuc2Zvcm0gPSBpc0V4aXRpbmcgPyAndHJhbnNsYXRlWCgxMDAlKScgOiBudWxsO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgY3NzPXtjc3NgXG4gICAgICAke3tcbiAgICAgICAgLi4udGhlbWUubW9kZS5jb250ZW50TmF2KCkuY29udGFpbmVyLFxuICAgICAgICBhbmltYXRpb25EdXJhdGlvbjogdHJhbnNpdGlvbkR1cmF0aW9uLFxuICAgICAgICBhbmltYXRpb25GaWxsTW9kZTogJ2ZvcndhcmRzJyxcbiAgICAgICAgYW5pbWF0aW9uVGltaW5nRnVuY3Rpb246IHRyYW5zaXRpb25UaW1pbmdGdW5jdGlvbixcbiAgICAgICAgdHJhbnNpdGlvblByb3BlcnR5OiAnYm94U2hhZG93LCB0cmFuc2Zvcm0nLFxuICAgICAgICB0cmFuc2l0aW9uRHVyYXRpb24sXG4gICAgICAgIHRyYW5zaXRpb25UaW1pbmdGdW5jdGlvbixcbiAgICAgICAgdHJhbnNmb3JtLFxuICAgICAgfX1cbiAgICAgIGFuaW1hdGlvbi1uYW1lOiAke2FuaW1hdGlvbk5hbWV9O1xuICAgICAgYH1cbiAgICA+XG4gICAgICA8U2Nyb2xsUHJvdmlkZXIgaXNWaXNpYmxlPXtpc1Zpc2libGV9PntjaGlsZHJlbn08L1Njcm9sbFByb3ZpZGVyPlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuY29uc3QgQ29udGFpbmVyTmF2aWdhdGlvblByaW1pdGl2ZSA9IHdpdGhDb250ZW50VGhlbWUoXG4gIENvbnRhaW5lck5hdmlnYXRpb25QcmltaXRpdmVCYXNlLFxuKTtcblxuZXhwb3J0IGNvbnN0IENvbnRhaW5lck5hdmlnYXRpb25UaGVtZSA9ICh7IGNoaWxkcmVuIH0pID0+IChcbiAgPFRoZW1lUHJvdmlkZXIgdGhlbWU9e3sgbW9kZTogbGlnaHQsIGNvbnRleHQ6ICdjb250YWluZXInIH19PlxuICAgIDxGcmFnbWVudD57Y2hpbGRyZW59PC9GcmFnbWVudD5cbiAgPC9UaGVtZVByb3ZpZGVyPlxuKTtcblxuZXhwb3J0IGNvbnN0IENvbnRhaW5lck5hdmlnYXRpb24gPSBwcm9wcyA9PiAoXG4gIDxDb250YWluZXJOYXZpZ2F0aW9uVGhlbWU+XG4gICAgPENvbnRhaW5lck5hdmlnYXRpb25QcmltaXRpdmUgey4uLnByb3BzfSAvPlxuICA8L0NvbnRhaW5lck5hdmlnYXRpb25UaGVtZT5cbik7XG5cbi8qKlxuICogQ29udGFpbmVyT3ZlcmxheVxuICovXG5cbmV4cG9ydCBjb25zdCBDb250YWluZXJPdmVybGF5ID0gKHsgaXNWaXNpYmxlLCBvbkNsaWNrLCAuLi5wcm9wcyB9KSA9PiAoXG4gIDxkaXZcbiAgICBjc3M9e3tcbiAgICAgIGJhY2tncm91bmRDb2xvcjogTjcwQSxcbiAgICAgIGN1cnNvcjogaXNWaXNpYmxlID8gJ3BvaW50ZXInIDogJ2RlZmF1bHQnLFxuICAgICAgaGVpZ2h0OiAnMTAwJScsXG4gICAgICBsZWZ0OiAwLFxuICAgICAgb3BhY2l0eTogaXNWaXNpYmxlID8gMSA6IDAsXG4gICAgICBwb2ludGVyRXZlbnRzOiBpc1Zpc2libGUgPyAnYWxsJyA6ICdub25lJyxcbiAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgICAgdG9wOiAwLFxuICAgICAgdHJhbnNpdGlvbkR1cmF0aW9uLFxuICAgICAgdHJhbnNpdGlvblByb3BlcnR5OiAnb3BhY2l0eScsXG4gICAgICB0cmFuc2l0aW9uVGltaW5nRnVuY3Rpb24sXG4gICAgICB3aWR0aDogJzEwMCUnLFxuICAgICAgekluZGV4OiA1LFxuICAgIH19XG4gICAgb25DbGljaz17b25DbGlja31cbiAgICByb2xlPVwicHJlc2VudGF0aW9uXCJcbiAgICB7Li4ucHJvcHN9XG4gIC8+XG4pO1xuXG5leHBvcnQgY29uc3QgQ29udGVudE5hdmlnYXRpb25XcmFwcGVyID0gKHtcbiAgaW5uZXJSZWYsXG4gIGRpc2FibGVJbnRlcmFjdGlvbixcbiAgLi4ucHJvcHNcbn0pID0+IChcbiAgPGRpdlxuICAgIHJlZj17aW5uZXJSZWZ9XG4gICAgY3NzPXt7XG4gICAgICBoZWlnaHQ6ICcxMDAlJyxcbiAgICAgIHBvc2l0aW9uOiAncmVsYXRpdmUnLFxuICAgICAgLi4uYXBwbHlEaXNhYmxlZFByb3BlcnRpZXMoISFkaXNhYmxlSW50ZXJhY3Rpb24pLFxuICAgIH19XG4gICAgey4uLnByb3BzfVxuICAvPlxuKTtcblxuZXhwb3J0IGNvbnN0IENvbnRhaW5lck5hdmlnYXRpb25NYXNrID0gKHsgZGlzYWJsZUludGVyYWN0aW9uLCAuLi5wcm9wcyB9KSA9PiAoXG4gIDxkaXZcbiAgICBjc3M9e3tcbiAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgIGZsZXhEaXJlY3Rpb246ICdyb3cnLFxuICAgICAgb3ZlcmZsb3c6ICdoaWRkZW4nLFxuICAgICAgaGVpZ2h0OiAnMTAwJScsXG4gICAgICAuLi5hcHBseURpc2FibGVkUHJvcGVydGllcyghIWRpc2FibGVJbnRlcmFjdGlvbiksXG4gICAgfX1cbiAgICB7Li4ucHJvcHN9XG4gIC8+XG4pO1xuIl19 */\"))\n }, Object(_emotion_core__WEBPACK_IMPORTED_MODULE_4__[\"jsx\"])(ScrollProvider, {\n isVisible: isVisible\n }, children));\n};\n\nvar ContainerNavigationPrimitive = Object(_theme__WEBPACK_IMPORTED_MODULE_9__[\"withContentTheme\"])(ContainerNavigationPrimitiveBase);\nvar ContainerNavigationTheme = function ContainerNavigationTheme(_ref5) {\n var children = _ref5.children;\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_4__[\"jsx\"])(_theme__WEBPACK_IMPORTED_MODULE_9__[\"ThemeProvider\"], {\n theme: {\n mode: _theme__WEBPACK_IMPORTED_MODULE_9__[\"light\"],\n context: 'container'\n }\n }, Object(_emotion_core__WEBPACK_IMPORTED_MODULE_4__[\"jsx\"])(react__WEBPACK_IMPORTED_MODULE_5__[\"Fragment\"], null, children));\n};\nvar ContainerNavigation = function ContainerNavigation(props) {\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_4__[\"jsx\"])(ContainerNavigationTheme, null, Object(_emotion_core__WEBPACK_IMPORTED_MODULE_4__[\"jsx\"])(ContainerNavigationPrimitive, props));\n};\n/**\n * ContainerOverlay\n */\n\nvar ContainerOverlay = function ContainerOverlay(_ref6) {\n var isVisible = _ref6.isVisible,\n onClick = _ref6.onClick,\n props = _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_3___default()(_ref6, [\"isVisible\", \"onClick\"]);\n\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_4__[\"jsx\"])(\"div\", _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_1___default()({\n css:\n /*#__PURE__*/\n Object(_emotion_css__WEBPACK_IMPORTED_MODULE_2__[\"default\"])({\n backgroundColor: _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_6__[\"N70A\"],\n cursor: isVisible ? 'pointer' : 'default',\n height: '100%',\n left: 0,\n opacity: isVisible ? 1 : 0,\n pointerEvents: isVisible ? 'all' : 'none',\n position: 'absolute',\n top: 0,\n transitionDuration: _common_constants__WEBPACK_IMPORTED_MODULE_7__[\"transitionDuration\"],\n transitionProperty: 'opacity',\n transitionTimingFunction: _common_constants__WEBPACK_IMPORTED_MODULE_7__[\"transitionTimingFunction\"],\n width: '100%',\n zIndex: 5\n }, false ? undefined : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL0NvbnRlbnROYXZpZ2F0aW9uL3ByaW1pdGl2ZXMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBcUpJIiwiZmlsZSI6Ii4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL0NvbnRlbnROYXZpZ2F0aW9uL3ByaW1pdGl2ZXMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgRnJhZ21lbnQgfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB7IGNzcywga2V5ZnJhbWVzIH0gZnJvbSAnQGVtb3Rpb24vY29yZSc7XG5cbmltcG9ydCB7IE43MEEgfSBmcm9tICdAYXRsYXNraXQvdGhlbWUvY29sb3JzJztcblxuaW1wb3J0IHtcbiAgdHJhbnNpdGlvbkR1cmF0aW9uLFxuICB0cmFuc2l0aW9uVGltaW5nRnVuY3Rpb24sXG59IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9jb25zdGFudHMnO1xuaW1wb3J0IHsgYXBwbHlEaXNhYmxlZFByb3BlcnRpZXMgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vaGVscGVycyc7XG5pbXBvcnQgeyBsaWdodCwgVGhlbWVQcm92aWRlciwgd2l0aENvbnRlbnRUaGVtZSB9IGZyb20gJy4uLy4uLy4uL3RoZW1lJztcblxuLyoqXG4gKiBDb21wb25lbnQgdHJlZSBzdHJ1Y3R1cmVcbiAqICAtIFByb2R1Y3ROYXZpZ2F0aW9uXG4gKiAgLSBDb250YWluZXJOYXZpZ2F0aW9uXG4gKiAgICAtIENvbnRhaW5lck92ZXJsYXlcbiAqL1xuXG5leHBvcnQgY29uc3QgU2Nyb2xsUHJvdmlkZXJSZWYgPSBSZWFjdC5jcmVhdGVDb250ZXh0KCk7XG5jb25zdCBTY3JvbGxQcm92aWRlciA9ICh7IGlzVmlzaWJsZSwgLi4ucHJvcHMgfSkgPT4ge1xuICBjb25zdCBzY3JvbGxQcm92aWRlclJlZiA9IFJlYWN0LmNyZWF0ZVJlZigpO1xuXG4gIHJldHVybiAoXG4gICAgPFNjcm9sbFByb3ZpZGVyUmVmLlByb3ZpZGVyIHZhbHVlPXtzY3JvbGxQcm92aWRlclJlZn0+XG4gICAgICA8ZGl2XG4gICAgICAgIGNzcz17e1xuICAgICAgICAgIGJveFNpemluZzogJ2JvcmRlci1ib3gnLFxuICAgICAgICAgIGRpc3BsYXk6IGlzVmlzaWJsZSA/ICdmbGV4JyA6ICdub25lJyxcbiAgICAgICAgICBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJyxcbiAgICAgICAgICBoZWlnaHQ6ICcxMDAlJyxcbiAgICAgICAgICBvdmVyZmxvd1g6ICdoaWRkZW4nLFxuICAgICAgICAgIG92ZXJmbG93WTogJ2F1dG8nLFxuICAgICAgICAgIHdpZHRoOiAnMTAwJScsXG4gICAgICAgIH19XG4gICAgICAgIHRhYkluZGV4PXstMX1cbiAgICAgICAgcm9sZT1cImdyb3VwXCJcbiAgICAgICAgcmVmPXtzY3JvbGxQcm92aWRlclJlZn1cbiAgICAgICAgey4uLnByb3BzfVxuICAgICAgLz5cbiAgICA8L1Njcm9sbFByb3ZpZGVyUmVmLlByb3ZpZGVyPlxuICApO1xufTtcblxuLyoqXG4gKiBQcm9kdWN0TmF2aWdhdGlvblxuICovXG5jb25zdCBQcm9kdWN0TmF2aWdhdGlvblByaW1pdGl2ZUJhc2UgPSAoe1xuICBjaGlsZHJlbixcbiAgaXNWaXNpYmxlLFxuICB0aGVtZSA9IHsgbW9kZTogbGlnaHQsIGNvbnRleHQ6ICdwcm9kdWN0JyB9LFxufSkgPT4gKFxuICA8ZGl2XG4gICAgY3NzPXt7XG4gICAgICAuLi50aGVtZS5tb2RlLmNvbnRlbnROYXYoKS5wcm9kdWN0LFxuICAgICAgJyY6bm90KDpvbmx5LWNoaWxkKSc6IHtcbiAgICAgICAgLy8gU2V0dGluZyB6LWluZGV4IGVuc3VyZXMgU2Nyb2xsSGludHMgc3RheSBiZWxvdyB0aGUgY29udGFpbmVyIG5hdlxuICAgICAgICAvLyAmOm5vdCg6b25seS1jaGlsZCkgc2V0cyBpdCBvbmx5IHdoZW4gYm90aCBjb250YWluZXIgYW5kIHByb2R1Y3RcbiAgICAgICAgLy8gbmF2IGFyZSByZW5kZXJlZC5cbiAgICAgICAgekluZGV4OiAtMSxcbiAgICAgIH0sXG4gICAgfX1cbiAgPlxuICAgIDxTY3JvbGxQcm92aWRlciBpc1Zpc2libGU9e2lzVmlzaWJsZX0+e2NoaWxkcmVufTwvU2Nyb2xsUHJvdmlkZXI+XG4gIDwvZGl2PlxuKTtcblxuY29uc3QgUHJvZHVjdE5hdmlnYXRpb25QcmltaXRpdmUgPSB3aXRoQ29udGVudFRoZW1lKFxuICBQcm9kdWN0TmF2aWdhdGlvblByaW1pdGl2ZUJhc2UsXG4pO1xuXG5leHBvcnQgY29uc3QgUHJvZHVjdE5hdmlnYXRpb25UaGVtZSA9ICh7IGNoaWxkcmVuIH0pID0+IChcbiAgPFRoZW1lUHJvdmlkZXJcbiAgICB0aGVtZT17b2xkVGhlbWUgPT4gKHsgbW9kZTogbGlnaHQsIC4uLm9sZFRoZW1lLCBjb250ZXh0OiAncHJvZHVjdCcgfSl9XG4gID5cbiAgICA8RnJhZ21lbnQ+e2NoaWxkcmVufTwvRnJhZ21lbnQ+XG4gIDwvVGhlbWVQcm92aWRlcj5cbik7XG5cbmV4cG9ydCBjb25zdCBQcm9kdWN0TmF2aWdhdGlvbiA9IHByb3BzID0+IChcbiAgPFByb2R1Y3ROYXZpZ2F0aW9uVGhlbWU+XG4gICAgPFByb2R1Y3ROYXZpZ2F0aW9uUHJpbWl0aXZlIHsuLi5wcm9wc30gLz5cbiAgPC9Qcm9kdWN0TmF2aWdhdGlvblRoZW1lPlxuKTtcblxuY29uc3Qgc2xpZGVJbiA9IGtleWZyYW1lc2BcbiAgZnJvbSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTsgfVxuICB0byB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuYDtcblxuLyoqXG4gKiBDb250YWluZXJOYXZpZ2F0aW9uXG4gKi9cbmNvbnN0IENvbnRhaW5lck5hdmlnYXRpb25QcmltaXRpdmVCYXNlID0gKHtcbiAgY2hpbGRyZW4sXG4gIGlzRW50ZXJpbmcsXG4gIGlzRXhpdGluZyxcbiAgdGhlbWUsXG4gIGlzVmlzaWJsZSxcbn0pID0+IHtcbiAgbGV0IGFuaW1hdGlvbk5hbWU7XG4gIGlmIChpc0VudGVyaW5nKSBhbmltYXRpb25OYW1lID0gc2xpZGVJbjtcblxuICBjb25zdCB0cmFuc2Zvcm0gPSBpc0V4aXRpbmcgPyAndHJhbnNsYXRlWCgxMDAlKScgOiBudWxsO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgY3NzPXtjc3NgXG4gICAgICAke3tcbiAgICAgICAgLi4udGhlbWUubW9kZS5jb250ZW50TmF2KCkuY29udGFpbmVyLFxuICAgICAgICBhbmltYXRpb25EdXJhdGlvbjogdHJhbnNpdGlvbkR1cmF0aW9uLFxuICAgICAgICBhbmltYXRpb25GaWxsTW9kZTogJ2ZvcndhcmRzJyxcbiAgICAgICAgYW5pbWF0aW9uVGltaW5nRnVuY3Rpb246IHRyYW5zaXRpb25UaW1pbmdGdW5jdGlvbixcbiAgICAgICAgdHJhbnNpdGlvblByb3BlcnR5OiAnYm94U2hhZG93LCB0cmFuc2Zvcm0nLFxuICAgICAgICB0cmFuc2l0aW9uRHVyYXRpb24sXG4gICAgICAgIHRyYW5zaXRpb25UaW1pbmdGdW5jdGlvbixcbiAgICAgICAgdHJhbnNmb3JtLFxuICAgICAgfX1cbiAgICAgIGFuaW1hdGlvbi1uYW1lOiAke2FuaW1hdGlvbk5hbWV9O1xuICAgICAgYH1cbiAgICA+XG4gICAgICA8U2Nyb2xsUHJvdmlkZXIgaXNWaXNpYmxlPXtpc1Zpc2libGV9PntjaGlsZHJlbn08L1Njcm9sbFByb3ZpZGVyPlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuY29uc3QgQ29udGFpbmVyTmF2aWdhdGlvblByaW1pdGl2ZSA9IHdpdGhDb250ZW50VGhlbWUoXG4gIENvbnRhaW5lck5hdmlnYXRpb25QcmltaXRpdmVCYXNlLFxuKTtcblxuZXhwb3J0IGNvbnN0IENvbnRhaW5lck5hdmlnYXRpb25UaGVtZSA9ICh7IGNoaWxkcmVuIH0pID0+IChcbiAgPFRoZW1lUHJvdmlkZXIgdGhlbWU9e3sgbW9kZTogbGlnaHQsIGNvbnRleHQ6ICdjb250YWluZXInIH19PlxuICAgIDxGcmFnbWVudD57Y2hpbGRyZW59PC9GcmFnbWVudD5cbiAgPC9UaGVtZVByb3ZpZGVyPlxuKTtcblxuZXhwb3J0IGNvbnN0IENvbnRhaW5lck5hdmlnYXRpb24gPSBwcm9wcyA9PiAoXG4gIDxDb250YWluZXJOYXZpZ2F0aW9uVGhlbWU+XG4gICAgPENvbnRhaW5lck5hdmlnYXRpb25QcmltaXRpdmUgey4uLnByb3BzfSAvPlxuICA8L0NvbnRhaW5lck5hdmlnYXRpb25UaGVtZT5cbik7XG5cbi8qKlxuICogQ29udGFpbmVyT3ZlcmxheVxuICovXG5cbmV4cG9ydCBjb25zdCBDb250YWluZXJPdmVybGF5ID0gKHsgaXNWaXNpYmxlLCBvbkNsaWNrLCAuLi5wcm9wcyB9KSA9PiAoXG4gIDxkaXZcbiAgICBjc3M9e3tcbiAgICAgIGJhY2tncm91bmRDb2xvcjogTjcwQSxcbiAgICAgIGN1cnNvcjogaXNWaXNpYmxlID8gJ3BvaW50ZXInIDogJ2RlZmF1bHQnLFxuICAgICAgaGVpZ2h0OiAnMTAwJScsXG4gICAgICBsZWZ0OiAwLFxuICAgICAgb3BhY2l0eTogaXNWaXNpYmxlID8gMSA6IDAsXG4gICAgICBwb2ludGVyRXZlbnRzOiBpc1Zpc2libGUgPyAnYWxsJyA6ICdub25lJyxcbiAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgICAgdG9wOiAwLFxuICAgICAgdHJhbnNpdGlvbkR1cmF0aW9uLFxuICAgICAgdHJhbnNpdGlvblByb3BlcnR5OiAnb3BhY2l0eScsXG4gICAgICB0cmFuc2l0aW9uVGltaW5nRnVuY3Rpb24sXG4gICAgICB3aWR0aDogJzEwMCUnLFxuICAgICAgekluZGV4OiA1LFxuICAgIH19XG4gICAgb25DbGljaz17b25DbGlja31cbiAgICByb2xlPVwicHJlc2VudGF0aW9uXCJcbiAgICB7Li4ucHJvcHN9XG4gIC8+XG4pO1xuXG5leHBvcnQgY29uc3QgQ29udGVudE5hdmlnYXRpb25XcmFwcGVyID0gKHtcbiAgaW5uZXJSZWYsXG4gIGRpc2FibGVJbnRlcmFjdGlvbixcbiAgLi4ucHJvcHNcbn0pID0+IChcbiAgPGRpdlxuICAgIHJlZj17aW5uZXJSZWZ9XG4gICAgY3NzPXt7XG4gICAgICBoZWlnaHQ6ICcxMDAlJyxcbiAgICAgIHBvc2l0aW9uOiAncmVsYXRpdmUnLFxuICAgICAgLi4uYXBwbHlEaXNhYmxlZFByb3BlcnRpZXMoISFkaXNhYmxlSW50ZXJhY3Rpb24pLFxuICAgIH19XG4gICAgey4uLnByb3BzfVxuICAvPlxuKTtcblxuZXhwb3J0IGNvbnN0IENvbnRhaW5lck5hdmlnYXRpb25NYXNrID0gKHsgZGlzYWJsZUludGVyYWN0aW9uLCAuLi5wcm9wcyB9KSA9PiAoXG4gIDxkaXZcbiAgICBjc3M9e3tcbiAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgIGZsZXhEaXJlY3Rpb246ICdyb3cnLFxuICAgICAgb3ZlcmZsb3c6ICdoaWRkZW4nLFxuICAgICAgaGVpZ2h0OiAnMTAwJScsXG4gICAgICAuLi5hcHBseURpc2FibGVkUHJvcGVydGllcyghIWRpc2FibGVJbnRlcmFjdGlvbiksXG4gICAgfX1cbiAgICB7Li4ucHJvcHN9XG4gIC8+XG4pO1xuIl19 */\"),\n onClick: onClick,\n role: \"presentation\"\n }, props));\n};\nvar ContentNavigationWrapper = function ContentNavigationWrapper(_ref7) {\n var innerRef = _ref7.innerRef,\n disableInteraction = _ref7.disableInteraction,\n props = _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_3___default()(_ref7, [\"innerRef\", \"disableInteraction\"]);\n\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_4__[\"jsx\"])(\"div\", _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_1___default()({\n ref: innerRef,\n css:\n /*#__PURE__*/\n Object(_emotion_css__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0___default()({\n height: '100%',\n position: 'relative'\n }, Object(_common_helpers__WEBPACK_IMPORTED_MODULE_8__[\"applyDisabledProperties\"])(!!disableInteraction)), false ? undefined : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL0NvbnRlbnROYXZpZ2F0aW9uL3ByaW1pdGl2ZXMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBaUxJIiwiZmlsZSI6Ii4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL0NvbnRlbnROYXZpZ2F0aW9uL3ByaW1pdGl2ZXMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgRnJhZ21lbnQgfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB7IGNzcywga2V5ZnJhbWVzIH0gZnJvbSAnQGVtb3Rpb24vY29yZSc7XG5cbmltcG9ydCB7IE43MEEgfSBmcm9tICdAYXRsYXNraXQvdGhlbWUvY29sb3JzJztcblxuaW1wb3J0IHtcbiAgdHJhbnNpdGlvbkR1cmF0aW9uLFxuICB0cmFuc2l0aW9uVGltaW5nRnVuY3Rpb24sXG59IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9jb25zdGFudHMnO1xuaW1wb3J0IHsgYXBwbHlEaXNhYmxlZFByb3BlcnRpZXMgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vaGVscGVycyc7XG5pbXBvcnQgeyBsaWdodCwgVGhlbWVQcm92aWRlciwgd2l0aENvbnRlbnRUaGVtZSB9IGZyb20gJy4uLy4uLy4uL3RoZW1lJztcblxuLyoqXG4gKiBDb21wb25lbnQgdHJlZSBzdHJ1Y3R1cmVcbiAqICAtIFByb2R1Y3ROYXZpZ2F0aW9uXG4gKiAgLSBDb250YWluZXJOYXZpZ2F0aW9uXG4gKiAgICAtIENvbnRhaW5lck92ZXJsYXlcbiAqL1xuXG5leHBvcnQgY29uc3QgU2Nyb2xsUHJvdmlkZXJSZWYgPSBSZWFjdC5jcmVhdGVDb250ZXh0KCk7XG5jb25zdCBTY3JvbGxQcm92aWRlciA9ICh7IGlzVmlzaWJsZSwgLi4ucHJvcHMgfSkgPT4ge1xuICBjb25zdCBzY3JvbGxQcm92aWRlclJlZiA9IFJlYWN0LmNyZWF0ZVJlZigpO1xuXG4gIHJldHVybiAoXG4gICAgPFNjcm9sbFByb3ZpZGVyUmVmLlByb3ZpZGVyIHZhbHVlPXtzY3JvbGxQcm92aWRlclJlZn0+XG4gICAgICA8ZGl2XG4gICAgICAgIGNzcz17e1xuICAgICAgICAgIGJveFNpemluZzogJ2JvcmRlci1ib3gnLFxuICAgICAgICAgIGRpc3BsYXk6IGlzVmlzaWJsZSA/ICdmbGV4JyA6ICdub25lJyxcbiAgICAgICAgICBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJyxcbiAgICAgICAgICBoZWlnaHQ6ICcxMDAlJyxcbiAgICAgICAgICBvdmVyZmxvd1g6ICdoaWRkZW4nLFxuICAgICAgICAgIG92ZXJmbG93WTogJ2F1dG8nLFxuICAgICAgICAgIHdpZHRoOiAnMTAwJScsXG4gICAgICAgIH19XG4gICAgICAgIHRhYkluZGV4PXstMX1cbiAgICAgICAgcm9sZT1cImdyb3VwXCJcbiAgICAgICAgcmVmPXtzY3JvbGxQcm92aWRlclJlZn1cbiAgICAgICAgey4uLnByb3BzfVxuICAgICAgLz5cbiAgICA8L1Njcm9sbFByb3ZpZGVyUmVmLlByb3ZpZGVyPlxuICApO1xufTtcblxuLyoqXG4gKiBQcm9kdWN0TmF2aWdhdGlvblxuICovXG5jb25zdCBQcm9kdWN0TmF2aWdhdGlvblByaW1pdGl2ZUJhc2UgPSAoe1xuICBjaGlsZHJlbixcbiAgaXNWaXNpYmxlLFxuICB0aGVtZSA9IHsgbW9kZTogbGlnaHQsIGNvbnRleHQ6ICdwcm9kdWN0JyB9LFxufSkgPT4gKFxuICA8ZGl2XG4gICAgY3NzPXt7XG4gICAgICAuLi50aGVtZS5tb2RlLmNvbnRlbnROYXYoKS5wcm9kdWN0LFxuICAgICAgJyY6bm90KDpvbmx5LWNoaWxkKSc6IHtcbiAgICAgICAgLy8gU2V0dGluZyB6LWluZGV4IGVuc3VyZXMgU2Nyb2xsSGludHMgc3RheSBiZWxvdyB0aGUgY29udGFpbmVyIG5hdlxuICAgICAgICAvLyAmOm5vdCg6b25seS1jaGlsZCkgc2V0cyBpdCBvbmx5IHdoZW4gYm90aCBjb250YWluZXIgYW5kIHByb2R1Y3RcbiAgICAgICAgLy8gbmF2IGFyZSByZW5kZXJlZC5cbiAgICAgICAgekluZGV4OiAtMSxcbiAgICAgIH0sXG4gICAgfX1cbiAgPlxuICAgIDxTY3JvbGxQcm92aWRlciBpc1Zpc2libGU9e2lzVmlzaWJsZX0+e2NoaWxkcmVufTwvU2Nyb2xsUHJvdmlkZXI+XG4gIDwvZGl2PlxuKTtcblxuY29uc3QgUHJvZHVjdE5hdmlnYXRpb25QcmltaXRpdmUgPSB3aXRoQ29udGVudFRoZW1lKFxuICBQcm9kdWN0TmF2aWdhdGlvblByaW1pdGl2ZUJhc2UsXG4pO1xuXG5leHBvcnQgY29uc3QgUHJvZHVjdE5hdmlnYXRpb25UaGVtZSA9ICh7IGNoaWxkcmVuIH0pID0+IChcbiAgPFRoZW1lUHJvdmlkZXJcbiAgICB0aGVtZT17b2xkVGhlbWUgPT4gKHsgbW9kZTogbGlnaHQsIC4uLm9sZFRoZW1lLCBjb250ZXh0OiAncHJvZHVjdCcgfSl9XG4gID5cbiAgICA8RnJhZ21lbnQ+e2NoaWxkcmVufTwvRnJhZ21lbnQ+XG4gIDwvVGhlbWVQcm92aWRlcj5cbik7XG5cbmV4cG9ydCBjb25zdCBQcm9kdWN0TmF2aWdhdGlvbiA9IHByb3BzID0+IChcbiAgPFByb2R1Y3ROYXZpZ2F0aW9uVGhlbWU+XG4gICAgPFByb2R1Y3ROYXZpZ2F0aW9uUHJpbWl0aXZlIHsuLi5wcm9wc30gLz5cbiAgPC9Qcm9kdWN0TmF2aWdhdGlvblRoZW1lPlxuKTtcblxuY29uc3Qgc2xpZGVJbiA9IGtleWZyYW1lc2BcbiAgZnJvbSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTsgfVxuICB0byB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuYDtcblxuLyoqXG4gKiBDb250YWluZXJOYXZpZ2F0aW9uXG4gKi9cbmNvbnN0IENvbnRhaW5lck5hdmlnYXRpb25QcmltaXRpdmVCYXNlID0gKHtcbiAgY2hpbGRyZW4sXG4gIGlzRW50ZXJpbmcsXG4gIGlzRXhpdGluZyxcbiAgdGhlbWUsXG4gIGlzVmlzaWJsZSxcbn0pID0+IHtcbiAgbGV0IGFuaW1hdGlvbk5hbWU7XG4gIGlmIChpc0VudGVyaW5nKSBhbmltYXRpb25OYW1lID0gc2xpZGVJbjtcblxuICBjb25zdCB0cmFuc2Zvcm0gPSBpc0V4aXRpbmcgPyAndHJhbnNsYXRlWCgxMDAlKScgOiBudWxsO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgY3NzPXtjc3NgXG4gICAgICAke3tcbiAgICAgICAgLi4udGhlbWUubW9kZS5jb250ZW50TmF2KCkuY29udGFpbmVyLFxuICAgICAgICBhbmltYXRpb25EdXJhdGlvbjogdHJhbnNpdGlvbkR1cmF0aW9uLFxuICAgICAgICBhbmltYXRpb25GaWxsTW9kZTogJ2ZvcndhcmRzJyxcbiAgICAgICAgYW5pbWF0aW9uVGltaW5nRnVuY3Rpb246IHRyYW5zaXRpb25UaW1pbmdGdW5jdGlvbixcbiAgICAgICAgdHJhbnNpdGlvblByb3BlcnR5OiAnYm94U2hhZG93LCB0cmFuc2Zvcm0nLFxuICAgICAgICB0cmFuc2l0aW9uRHVyYXRpb24sXG4gICAgICAgIHRyYW5zaXRpb25UaW1pbmdGdW5jdGlvbixcbiAgICAgICAgdHJhbnNmb3JtLFxuICAgICAgfX1cbiAgICAgIGFuaW1hdGlvbi1uYW1lOiAke2FuaW1hdGlvbk5hbWV9O1xuICAgICAgYH1cbiAgICA+XG4gICAgICA8U2Nyb2xsUHJvdmlkZXIgaXNWaXNpYmxlPXtpc1Zpc2libGV9PntjaGlsZHJlbn08L1Njcm9sbFByb3ZpZGVyPlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuY29uc3QgQ29udGFpbmVyTmF2aWdhdGlvblByaW1pdGl2ZSA9IHdpdGhDb250ZW50VGhlbWUoXG4gIENvbnRhaW5lck5hdmlnYXRpb25QcmltaXRpdmVCYXNlLFxuKTtcblxuZXhwb3J0IGNvbnN0IENvbnRhaW5lck5hdmlnYXRpb25UaGVtZSA9ICh7IGNoaWxkcmVuIH0pID0+IChcbiAgPFRoZW1lUHJvdmlkZXIgdGhlbWU9e3sgbW9kZTogbGlnaHQsIGNvbnRleHQ6ICdjb250YWluZXInIH19PlxuICAgIDxGcmFnbWVudD57Y2hpbGRyZW59PC9GcmFnbWVudD5cbiAgPC9UaGVtZVByb3ZpZGVyPlxuKTtcblxuZXhwb3J0IGNvbnN0IENvbnRhaW5lck5hdmlnYXRpb24gPSBwcm9wcyA9PiAoXG4gIDxDb250YWluZXJOYXZpZ2F0aW9uVGhlbWU+XG4gICAgPENvbnRhaW5lck5hdmlnYXRpb25QcmltaXRpdmUgey4uLnByb3BzfSAvPlxuICA8L0NvbnRhaW5lck5hdmlnYXRpb25UaGVtZT5cbik7XG5cbi8qKlxuICogQ29udGFpbmVyT3ZlcmxheVxuICovXG5cbmV4cG9ydCBjb25zdCBDb250YWluZXJPdmVybGF5ID0gKHsgaXNWaXNpYmxlLCBvbkNsaWNrLCAuLi5wcm9wcyB9KSA9PiAoXG4gIDxkaXZcbiAgICBjc3M9e3tcbiAgICAgIGJhY2tncm91bmRDb2xvcjogTjcwQSxcbiAgICAgIGN1cnNvcjogaXNWaXNpYmxlID8gJ3BvaW50ZXInIDogJ2RlZmF1bHQnLFxuICAgICAgaGVpZ2h0OiAnMTAwJScsXG4gICAgICBsZWZ0OiAwLFxuICAgICAgb3BhY2l0eTogaXNWaXNpYmxlID8gMSA6IDAsXG4gICAgICBwb2ludGVyRXZlbnRzOiBpc1Zpc2libGUgPyAnYWxsJyA6ICdub25lJyxcbiAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgICAgdG9wOiAwLFxuICAgICAgdHJhbnNpdGlvbkR1cmF0aW9uLFxuICAgICAgdHJhbnNpdGlvblByb3BlcnR5OiAnb3BhY2l0eScsXG4gICAgICB0cmFuc2l0aW9uVGltaW5nRnVuY3Rpb24sXG4gICAgICB3aWR0aDogJzEwMCUnLFxuICAgICAgekluZGV4OiA1LFxuICAgIH19XG4gICAgb25DbGljaz17b25DbGlja31cbiAgICByb2xlPVwicHJlc2VudGF0aW9uXCJcbiAgICB7Li4ucHJvcHN9XG4gIC8+XG4pO1xuXG5leHBvcnQgY29uc3QgQ29udGVudE5hdmlnYXRpb25XcmFwcGVyID0gKHtcbiAgaW5uZXJSZWYsXG4gIGRpc2FibGVJbnRlcmFjdGlvbixcbiAgLi4ucHJvcHNcbn0pID0+IChcbiAgPGRpdlxuICAgIHJlZj17aW5uZXJSZWZ9XG4gICAgY3NzPXt7XG4gICAgICBoZWlnaHQ6ICcxMDAlJyxcbiAgICAgIHBvc2l0aW9uOiAncmVsYXRpdmUnLFxuICAgICAgLi4uYXBwbHlEaXNhYmxlZFByb3BlcnRpZXMoISFkaXNhYmxlSW50ZXJhY3Rpb24pLFxuICAgIH19XG4gICAgey4uLnByb3BzfVxuICAvPlxuKTtcblxuZXhwb3J0IGNvbnN0IENvbnRhaW5lck5hdmlnYXRpb25NYXNrID0gKHsgZGlzYWJsZUludGVyYWN0aW9uLCAuLi5wcm9wcyB9KSA9PiAoXG4gIDxkaXZcbiAgICBjc3M9e3tcbiAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgIGZsZXhEaXJlY3Rpb246ICdyb3cnLFxuICAgICAgb3ZlcmZsb3c6ICdoaWRkZW4nLFxuICAgICAgaGVpZ2h0OiAnMTAwJScsXG4gICAgICAuLi5hcHBseURpc2FibGVkUHJvcGVydGllcyghIWRpc2FibGVJbnRlcmFjdGlvbiksXG4gICAgfX1cbiAgICB7Li4ucHJvcHN9XG4gIC8+XG4pO1xuIl19 */\")\n }, props));\n};\nvar ContainerNavigationMask = function ContainerNavigationMask(_ref8) {\n var disableInteraction = _ref8.disableInteraction,\n props = _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_3___default()(_ref8, [\"disableInteraction\"]);\n\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_4__[\"jsx\"])(\"div\", _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_1___default()({\n css:\n /*#__PURE__*/\n Object(_emotion_css__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0___default()({\n display: 'flex',\n flexDirection: 'row',\n overflow: 'hidden',\n height: '100%'\n }, Object(_common_helpers__WEBPACK_IMPORTED_MODULE_8__[\"applyDisabledProperties\"])(!!disableInteraction)), false ? undefined : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL0NvbnRlbnROYXZpZ2F0aW9uL3ByaW1pdGl2ZXMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBNExJIiwiZmlsZSI6Ii4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL0NvbnRlbnROYXZpZ2F0aW9uL3ByaW1pdGl2ZXMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgRnJhZ21lbnQgfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB7IGNzcywga2V5ZnJhbWVzIH0gZnJvbSAnQGVtb3Rpb24vY29yZSc7XG5cbmltcG9ydCB7IE43MEEgfSBmcm9tICdAYXRsYXNraXQvdGhlbWUvY29sb3JzJztcblxuaW1wb3J0IHtcbiAgdHJhbnNpdGlvbkR1cmF0aW9uLFxuICB0cmFuc2l0aW9uVGltaW5nRnVuY3Rpb24sXG59IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9jb25zdGFudHMnO1xuaW1wb3J0IHsgYXBwbHlEaXNhYmxlZFByb3BlcnRpZXMgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vaGVscGVycyc7XG5pbXBvcnQgeyBsaWdodCwgVGhlbWVQcm92aWRlciwgd2l0aENvbnRlbnRUaGVtZSB9IGZyb20gJy4uLy4uLy4uL3RoZW1lJztcblxuLyoqXG4gKiBDb21wb25lbnQgdHJlZSBzdHJ1Y3R1cmVcbiAqICAtIFByb2R1Y3ROYXZpZ2F0aW9uXG4gKiAgLSBDb250YWluZXJOYXZpZ2F0aW9uXG4gKiAgICAtIENvbnRhaW5lck92ZXJsYXlcbiAqL1xuXG5leHBvcnQgY29uc3QgU2Nyb2xsUHJvdmlkZXJSZWYgPSBSZWFjdC5jcmVhdGVDb250ZXh0KCk7XG5jb25zdCBTY3JvbGxQcm92aWRlciA9ICh7IGlzVmlzaWJsZSwgLi4ucHJvcHMgfSkgPT4ge1xuICBjb25zdCBzY3JvbGxQcm92aWRlclJlZiA9IFJlYWN0LmNyZWF0ZVJlZigpO1xuXG4gIHJldHVybiAoXG4gICAgPFNjcm9sbFByb3ZpZGVyUmVmLlByb3ZpZGVyIHZhbHVlPXtzY3JvbGxQcm92aWRlclJlZn0+XG4gICAgICA8ZGl2XG4gICAgICAgIGNzcz17e1xuICAgICAgICAgIGJveFNpemluZzogJ2JvcmRlci1ib3gnLFxuICAgICAgICAgIGRpc3BsYXk6IGlzVmlzaWJsZSA/ICdmbGV4JyA6ICdub25lJyxcbiAgICAgICAgICBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJyxcbiAgICAgICAgICBoZWlnaHQ6ICcxMDAlJyxcbiAgICAgICAgICBvdmVyZmxvd1g6ICdoaWRkZW4nLFxuICAgICAgICAgIG92ZXJmbG93WTogJ2F1dG8nLFxuICAgICAgICAgIHdpZHRoOiAnMTAwJScsXG4gICAgICAgIH19XG4gICAgICAgIHRhYkluZGV4PXstMX1cbiAgICAgICAgcm9sZT1cImdyb3VwXCJcbiAgICAgICAgcmVmPXtzY3JvbGxQcm92aWRlclJlZn1cbiAgICAgICAgey4uLnByb3BzfVxuICAgICAgLz5cbiAgICA8L1Njcm9sbFByb3ZpZGVyUmVmLlByb3ZpZGVyPlxuICApO1xufTtcblxuLyoqXG4gKiBQcm9kdWN0TmF2aWdhdGlvblxuICovXG5jb25zdCBQcm9kdWN0TmF2aWdhdGlvblByaW1pdGl2ZUJhc2UgPSAoe1xuICBjaGlsZHJlbixcbiAgaXNWaXNpYmxlLFxuICB0aGVtZSA9IHsgbW9kZTogbGlnaHQsIGNvbnRleHQ6ICdwcm9kdWN0JyB9LFxufSkgPT4gKFxuICA8ZGl2XG4gICAgY3NzPXt7XG4gICAgICAuLi50aGVtZS5tb2RlLmNvbnRlbnROYXYoKS5wcm9kdWN0LFxuICAgICAgJyY6bm90KDpvbmx5LWNoaWxkKSc6IHtcbiAgICAgICAgLy8gU2V0dGluZyB6LWluZGV4IGVuc3VyZXMgU2Nyb2xsSGludHMgc3RheSBiZWxvdyB0aGUgY29udGFpbmVyIG5hdlxuICAgICAgICAvLyAmOm5vdCg6b25seS1jaGlsZCkgc2V0cyBpdCBvbmx5IHdoZW4gYm90aCBjb250YWluZXIgYW5kIHByb2R1Y3RcbiAgICAgICAgLy8gbmF2IGFyZSByZW5kZXJlZC5cbiAgICAgICAgekluZGV4OiAtMSxcbiAgICAgIH0sXG4gICAgfX1cbiAgPlxuICAgIDxTY3JvbGxQcm92aWRlciBpc1Zpc2libGU9e2lzVmlzaWJsZX0+e2NoaWxkcmVufTwvU2Nyb2xsUHJvdmlkZXI+XG4gIDwvZGl2PlxuKTtcblxuY29uc3QgUHJvZHVjdE5hdmlnYXRpb25QcmltaXRpdmUgPSB3aXRoQ29udGVudFRoZW1lKFxuICBQcm9kdWN0TmF2aWdhdGlvblByaW1pdGl2ZUJhc2UsXG4pO1xuXG5leHBvcnQgY29uc3QgUHJvZHVjdE5hdmlnYXRpb25UaGVtZSA9ICh7IGNoaWxkcmVuIH0pID0+IChcbiAgPFRoZW1lUHJvdmlkZXJcbiAgICB0aGVtZT17b2xkVGhlbWUgPT4gKHsgbW9kZTogbGlnaHQsIC4uLm9sZFRoZW1lLCBjb250ZXh0OiAncHJvZHVjdCcgfSl9XG4gID5cbiAgICA8RnJhZ21lbnQ+e2NoaWxkcmVufTwvRnJhZ21lbnQ+XG4gIDwvVGhlbWVQcm92aWRlcj5cbik7XG5cbmV4cG9ydCBjb25zdCBQcm9kdWN0TmF2aWdhdGlvbiA9IHByb3BzID0+IChcbiAgPFByb2R1Y3ROYXZpZ2F0aW9uVGhlbWU+XG4gICAgPFByb2R1Y3ROYXZpZ2F0aW9uUHJpbWl0aXZlIHsuLi5wcm9wc30gLz5cbiAgPC9Qcm9kdWN0TmF2aWdhdGlvblRoZW1lPlxuKTtcblxuY29uc3Qgc2xpZGVJbiA9IGtleWZyYW1lc2BcbiAgZnJvbSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTsgfVxuICB0byB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuYDtcblxuLyoqXG4gKiBDb250YWluZXJOYXZpZ2F0aW9uXG4gKi9cbmNvbnN0IENvbnRhaW5lck5hdmlnYXRpb25QcmltaXRpdmVCYXNlID0gKHtcbiAgY2hpbGRyZW4sXG4gIGlzRW50ZXJpbmcsXG4gIGlzRXhpdGluZyxcbiAgdGhlbWUsXG4gIGlzVmlzaWJsZSxcbn0pID0+IHtcbiAgbGV0IGFuaW1hdGlvbk5hbWU7XG4gIGlmIChpc0VudGVyaW5nKSBhbmltYXRpb25OYW1lID0gc2xpZGVJbjtcblxuICBjb25zdCB0cmFuc2Zvcm0gPSBpc0V4aXRpbmcgPyAndHJhbnNsYXRlWCgxMDAlKScgOiBudWxsO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgY3NzPXtjc3NgXG4gICAgICAke3tcbiAgICAgICAgLi4udGhlbWUubW9kZS5jb250ZW50TmF2KCkuY29udGFpbmVyLFxuICAgICAgICBhbmltYXRpb25EdXJhdGlvbjogdHJhbnNpdGlvbkR1cmF0aW9uLFxuICAgICAgICBhbmltYXRpb25GaWxsTW9kZTogJ2ZvcndhcmRzJyxcbiAgICAgICAgYW5pbWF0aW9uVGltaW5nRnVuY3Rpb246IHRyYW5zaXRpb25UaW1pbmdGdW5jdGlvbixcbiAgICAgICAgdHJhbnNpdGlvblByb3BlcnR5OiAnYm94U2hhZG93LCB0cmFuc2Zvcm0nLFxuICAgICAgICB0cmFuc2l0aW9uRHVyYXRpb24sXG4gICAgICAgIHRyYW5zaXRpb25UaW1pbmdGdW5jdGlvbixcbiAgICAgICAgdHJhbnNmb3JtLFxuICAgICAgfX1cbiAgICAgIGFuaW1hdGlvbi1uYW1lOiAke2FuaW1hdGlvbk5hbWV9O1xuICAgICAgYH1cbiAgICA+XG4gICAgICA8U2Nyb2xsUHJvdmlkZXIgaXNWaXNpYmxlPXtpc1Zpc2libGV9PntjaGlsZHJlbn08L1Njcm9sbFByb3ZpZGVyPlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuY29uc3QgQ29udGFpbmVyTmF2aWdhdGlvblByaW1pdGl2ZSA9IHdpdGhDb250ZW50VGhlbWUoXG4gIENvbnRhaW5lck5hdmlnYXRpb25QcmltaXRpdmVCYXNlLFxuKTtcblxuZXhwb3J0IGNvbnN0IENvbnRhaW5lck5hdmlnYXRpb25UaGVtZSA9ICh7IGNoaWxkcmVuIH0pID0+IChcbiAgPFRoZW1lUHJvdmlkZXIgdGhlbWU9e3sgbW9kZTogbGlnaHQsIGNvbnRleHQ6ICdjb250YWluZXInIH19PlxuICAgIDxGcmFnbWVudD57Y2hpbGRyZW59PC9GcmFnbWVudD5cbiAgPC9UaGVtZVByb3ZpZGVyPlxuKTtcblxuZXhwb3J0IGNvbnN0IENvbnRhaW5lck5hdmlnYXRpb24gPSBwcm9wcyA9PiAoXG4gIDxDb250YWluZXJOYXZpZ2F0aW9uVGhlbWU+XG4gICAgPENvbnRhaW5lck5hdmlnYXRpb25QcmltaXRpdmUgey4uLnByb3BzfSAvPlxuICA8L0NvbnRhaW5lck5hdmlnYXRpb25UaGVtZT5cbik7XG5cbi8qKlxuICogQ29udGFpbmVyT3ZlcmxheVxuICovXG5cbmV4cG9ydCBjb25zdCBDb250YWluZXJPdmVybGF5ID0gKHsgaXNWaXNpYmxlLCBvbkNsaWNrLCAuLi5wcm9wcyB9KSA9PiAoXG4gIDxkaXZcbiAgICBjc3M9e3tcbiAgICAgIGJhY2tncm91bmRDb2xvcjogTjcwQSxcbiAgICAgIGN1cnNvcjogaXNWaXNpYmxlID8gJ3BvaW50ZXInIDogJ2RlZmF1bHQnLFxuICAgICAgaGVpZ2h0OiAnMTAwJScsXG4gICAgICBsZWZ0OiAwLFxuICAgICAgb3BhY2l0eTogaXNWaXNpYmxlID8gMSA6IDAsXG4gICAgICBwb2ludGVyRXZlbnRzOiBpc1Zpc2libGUgPyAnYWxsJyA6ICdub25lJyxcbiAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgICAgdG9wOiAwLFxuICAgICAgdHJhbnNpdGlvbkR1cmF0aW9uLFxuICAgICAgdHJhbnNpdGlvblByb3BlcnR5OiAnb3BhY2l0eScsXG4gICAgICB0cmFuc2l0aW9uVGltaW5nRnVuY3Rpb24sXG4gICAgICB3aWR0aDogJzEwMCUnLFxuICAgICAgekluZGV4OiA1LFxuICAgIH19XG4gICAgb25DbGljaz17b25DbGlja31cbiAgICByb2xlPVwicHJlc2VudGF0aW9uXCJcbiAgICB7Li4ucHJvcHN9XG4gIC8+XG4pO1xuXG5leHBvcnQgY29uc3QgQ29udGVudE5hdmlnYXRpb25XcmFwcGVyID0gKHtcbiAgaW5uZXJSZWYsXG4gIGRpc2FibGVJbnRlcmFjdGlvbixcbiAgLi4ucHJvcHNcbn0pID0+IChcbiAgPGRpdlxuICAgIHJlZj17aW5uZXJSZWZ9XG4gICAgY3NzPXt7XG4gICAgICBoZWlnaHQ6ICcxMDAlJyxcbiAgICAgIHBvc2l0aW9uOiAncmVsYXRpdmUnLFxuICAgICAgLi4uYXBwbHlEaXNhYmxlZFByb3BlcnRpZXMoISFkaXNhYmxlSW50ZXJhY3Rpb24pLFxuICAgIH19XG4gICAgey4uLnByb3BzfVxuICAvPlxuKTtcblxuZXhwb3J0IGNvbnN0IENvbnRhaW5lck5hdmlnYXRpb25NYXNrID0gKHsgZGlzYWJsZUludGVyYWN0aW9uLCAuLi5wcm9wcyB9KSA9PiAoXG4gIDxkaXZcbiAgICBjc3M9e3tcbiAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgIGZsZXhEaXJlY3Rpb246ICdyb3cnLFxuICAgICAgb3ZlcmZsb3c6ICdoaWRkZW4nLFxuICAgICAgaGVpZ2h0OiAnMTAwJScsXG4gICAgICAuLi5hcHBseURpc2FibGVkUHJvcGVydGllcyghIWRpc2FibGVJbnRlcmFjdGlvbiksXG4gICAgfX1cbiAgICB7Li4ucHJvcHN9XG4gIC8+XG4pO1xuIl19 */\")\n }, props));\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL0NvbnRlbnROYXZpZ2F0aW9uL3ByaW1pdGl2ZXMuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL0NvbnRlbnROYXZpZ2F0aW9uL3ByaW1pdGl2ZXMuanM/Y2ViOCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgX29iamVjdFNwcmVhZCBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9vYmplY3RTcHJlYWRcIjtcbmltcG9ydCBfZXh0ZW5kcyBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9leHRlbmRzXCI7XG5pbXBvcnQgX2NzcyBmcm9tIFwiQGVtb3Rpb24vY3NzXCI7XG5pbXBvcnQgX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzXCI7XG5pbXBvcnQgeyBqc3ggYXMgX19fRW1vdGlvbkpTWCB9IGZyb20gXCJAZW1vdGlvbi9jb3JlXCI7XG5pbXBvcnQgUmVhY3QsIHsgRnJhZ21lbnQgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBjc3MsIGtleWZyYW1lcyB9IGZyb20gJ0BlbW90aW9uL2NvcmUnO1xuaW1wb3J0IHsgTjcwQSB9IGZyb20gJ0BhdGxhc2tpdC90aGVtZS9jb2xvcnMnO1xuaW1wb3J0IHsgdHJhbnNpdGlvbkR1cmF0aW9uLCB0cmFuc2l0aW9uVGltaW5nRnVuY3Rpb24gfSBmcm9tICcuLi8uLi8uLi9jb21tb24vY29uc3RhbnRzJztcbmltcG9ydCB7IGFwcGx5RGlzYWJsZWRQcm9wZXJ0aWVzIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2hlbHBlcnMnO1xuaW1wb3J0IHsgbGlnaHQsIFRoZW1lUHJvdmlkZXIsIHdpdGhDb250ZW50VGhlbWUgfSBmcm9tICcuLi8uLi8uLi90aGVtZSc7XG4vKipcbiAqIENvbXBvbmVudCB0cmVlIHN0cnVjdHVyZVxuICogIC0gUHJvZHVjdE5hdmlnYXRpb25cbiAqICAtIENvbnRhaW5lck5hdmlnYXRpb25cbiAqICAgIC0gQ29udGFpbmVyT3ZlcmxheVxuICovXG5cbmV4cG9ydCB2YXIgU2Nyb2xsUHJvdmlkZXJSZWYgPSBSZWFjdC5jcmVhdGVDb250ZXh0KCk7XG5cbnZhciBTY3JvbGxQcm92aWRlciA9IGZ1bmN0aW9uIFNjcm9sbFByb3ZpZGVyKF9yZWYpIHtcbiAgdmFyIGlzVmlzaWJsZSA9IF9yZWYuaXNWaXNpYmxlLFxuICAgICAgcHJvcHMgPSBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMoX3JlZiwgW1wiaXNWaXNpYmxlXCJdKTtcblxuICB2YXIgc2Nyb2xsUHJvdmlkZXJSZWYgPSBSZWFjdC5jcmVhdGVSZWYoKTtcbiAgcmV0dXJuIF9fX0Vtb3Rpb25KU1goU2Nyb2xsUHJvdmlkZXJSZWYuUHJvdmlkZXIsIHtcbiAgICB2YWx1ZTogc2Nyb2xsUHJvdmlkZXJSZWZcbiAgfSwgX19fRW1vdGlvbkpTWChcImRpdlwiLCBfZXh0ZW5kcyh7XG4gICAgY3NzOlxuICAgIC8qI19fUFVSRV9fKi9cbiAgICBfY3NzKHtcbiAgICAgIGJveFNpemluZzogJ2JvcmRlci1ib3gnLFxuICAgICAgZGlzcGxheTogaXNWaXNpYmxlID8gJ2ZsZXgnIDogJ25vbmUnLFxuICAgICAgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsXG4gICAgICBoZWlnaHQ6ICcxMDAlJyxcbiAgICAgIG92ZXJmbG93WDogJ2hpZGRlbicsXG4gICAgICBvdmVyZmxvd1k6ICdhdXRvJyxcbiAgICAgIHdpZHRoOiAnMTAwJSdcbiAgICB9LCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyBcIlwiIDogXCIvKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJaTR1THk0dUx5NHVMeTR1THk0dUwzTnlZeTlqYjIxd2IyNWxiblJ6TDNCeVpYTmxiblJoZEdsdmJtRnNMME52Ym5SbGJuUk9ZWFpwWjJGMGFXOXVMM0J5YVcxcGRHbDJaWE11YW5NaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQk1rSlJJaXdpWm1sc1pTSTZJaTR1THk0dUx5NHVMeTR1THk0dUwzTnlZeTlqYjIxd2IyNWxiblJ6TDNCeVpYTmxiblJoZEdsdmJtRnNMME52Ym5SbGJuUk9ZWFpwWjJGMGFXOXVMM0J5YVcxcGRHbDJaWE11YW5NaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SnBiWEJ2Y25RZ1VtVmhZM1FzSUhzZ1JuSmhaMjFsYm5RZ2ZTQm1jbTl0SUNkeVpXRmpkQ2M3WEc1Y2JtbHRjRzl5ZENCN0lHTnpjeXdnYTJWNVpuSmhiV1Z6SUgwZ1puSnZiU0FuUUdWdGIzUnBiMjR2WTI5eVpTYzdYRzVjYm1sdGNHOXlkQ0I3SUU0M01FRWdmU0JtY205dElDZEFZWFJzWVhOcmFYUXZkR2hsYldVdlkyOXNiM0p6Snp0Y2JseHVhVzF3YjNKMElIdGNiaUFnZEhKaGJuTnBkR2x2YmtSMWNtRjBhVzl1TEZ4dUlDQjBjbUZ1YzJsMGFXOXVWR2x0YVc1blJuVnVZM1JwYjI0c1hHNTlJR1p5YjIwZ0p5NHVMeTR1THk0dUwyTnZiVzF2Ymk5amIyNXpkR0Z1ZEhNbk8xeHVhVzF3YjNKMElIc2dZWEJ3YkhsRWFYTmhZbXhsWkZCeWIzQmxjblJwWlhNZ2ZTQm1jbTl0SUNjdUxpOHVMaTh1TGk5amIyMXRiMjR2YUdWc2NHVnljeWM3WEc1cGJYQnZjblFnZXlCc2FXZG9kQ3dnVkdobGJXVlFjbTkyYVdSbGNpd2dkMmwwYUVOdmJuUmxiblJVYUdWdFpTQjlJR1p5YjIwZ0p5NHVMeTR1THk0dUwzUm9aVzFsSnp0Y2JseHVMeW9xWEc0Z0tpQkRiMjF3YjI1bGJuUWdkSEpsWlNCemRISjFZM1IxY21WY2JpQXFJQ0F0SUZCeWIyUjFZM1JPWVhacFoyRjBhVzl1WEc0Z0tpQWdMU0JEYjI1MFlXbHVaWEpPWVhacFoyRjBhVzl1WEc0Z0tpQWdJQ0F0SUVOdmJuUmhhVzVsY2s5MlpYSnNZWGxjYmlBcUwxeHVYRzVsZUhCdmNuUWdZMjl1YzNRZ1UyTnliMnhzVUhKdmRtbGtaWEpTWldZZ1BTQlNaV0ZqZEM1amNtVmhkR1ZEYjI1MFpYaDBLQ2s3WEc1amIyNXpkQ0JUWTNKdmJHeFFjbTkyYVdSbGNpQTlJQ2g3SUdselZtbHphV0pzWlN3Z0xpNHVjSEp2Y0hNZ2ZTa2dQVDRnZTF4dUlDQmpiMjV6ZENCelkzSnZiR3hRY205MmFXUmxjbEpsWmlBOUlGSmxZV04wTG1OeVpXRjBaVkpsWmlncE8xeHVYRzRnSUhKbGRIVnliaUFvWEc0Z0lDQWdQRk5qY205c2JGQnliM1pwWkdWeVVtVm1MbEJ5YjNacFpHVnlJSFpoYkhWbFBYdHpZM0p2Ykd4UWNtOTJhV1JsY2xKbFpuMCtYRzRnSUNBZ0lDQThaR2wyWEc0Z0lDQWdJQ0FnSUdOemN6MTdlMXh1SUNBZ0lDQWdJQ0FnSUdKdmVGTnBlbWx1WnpvZ0oySnZjbVJsY2kxaWIzZ25MRnh1SUNBZ0lDQWdJQ0FnSUdScGMzQnNZWGs2SUdselZtbHphV0pzWlNBL0lDZG1iR1Y0SnlBNklDZHViMjVsSnl4Y2JpQWdJQ0FnSUNBZ0lDQm1iR1Y0UkdseVpXTjBhVzl1T2lBblkyOXNkVzF1Snl4Y2JpQWdJQ0FnSUNBZ0lDQm9aV2xuYUhRNklDY3hNREFsSnl4Y2JpQWdJQ0FnSUNBZ0lDQnZkbVZ5Wm14dmQxZzZJQ2RvYVdSa1pXNG5MRnh1SUNBZ0lDQWdJQ0FnSUc5MlpYSm1iRzkzV1RvZ0oyRjFkRzhuTEZ4dUlDQWdJQ0FnSUNBZ0lIZHBaSFJvT2lBbk1UQXdKU2NzWEc0Z0lDQWdJQ0FnSUgxOVhHNGdJQ0FnSUNBZ0lIUmhZa2x1WkdWNFBYc3RNWDFjYmlBZ0lDQWdJQ0FnY205c1pUMWNJbWR5YjNWd1hDSmNiaUFnSUNBZ0lDQWdjbVZtUFh0elkzSnZiR3hRY205MmFXUmxjbEpsWm4xY2JpQWdJQ0FnSUNBZ2V5NHVMbkJ5YjNCemZWeHVJQ0FnSUNBZ0x6NWNiaUFnSUNBOEwxTmpjbTlzYkZCeWIzWnBaR1Z5VW1WbUxsQnliM1pwWkdWeVBseHVJQ0FwTzF4dWZUdGNibHh1THlvcVhHNGdLaUJRY205a2RXTjBUbUYyYVdkaGRHbHZibHh1SUNvdlhHNWpiMjV6ZENCUWNtOWtkV04wVG1GMmFXZGhkR2x2YmxCeWFXMXBkR2wyWlVKaGMyVWdQU0FvZTF4dUlDQmphR2xzWkhKbGJpeGNiaUFnYVhOV2FYTnBZbXhsTEZ4dUlDQjBhR1Z0WlNBOUlIc2diVzlrWlRvZ2JHbG5hSFFzSUdOdmJuUmxlSFE2SUNkd2NtOWtkV04wSnlCOUxGeHVmU2tnUFQ0Z0tGeHVJQ0E4WkdsMlhHNGdJQ0FnWTNOelBYdDdYRzRnSUNBZ0lDQXVMaTUwYUdWdFpTNXRiMlJsTG1OdmJuUmxiblJPWVhZb0tTNXdjbTlrZFdOMExGeHVJQ0FnSUNBZ0p5WTZibTkwS0RwdmJteDVMV05vYVd4a0tTYzZJSHRjYmlBZ0lDQWdJQ0FnTHk4Z1UyVjBkR2x1WnlCNkxXbHVaR1Y0SUdWdWMzVnlaWE1nVTJOeWIyeHNTR2x1ZEhNZ2MzUmhlU0JpWld4dmR5QjBhR1VnWTI5dWRHRnBibVZ5SUc1aGRseHVJQ0FnSUNBZ0lDQXZMeUFtT201dmRDZzZiMjVzZVMxamFHbHNaQ2tnYzJWMGN5QnBkQ0J2Ym14NUlIZG9aVzRnWW05MGFDQmpiMjUwWVdsdVpYSWdZVzVrSUhCeWIyUjFZM1JjYmlBZ0lDQWdJQ0FnTHk4Z2JtRjJJR0Z5WlNCeVpXNWtaWEpsWkM1Y2JpQWdJQ0FnSUNBZ2VrbHVaR1Y0T2lBdE1TeGNiaUFnSUNBZ0lIMHNYRzRnSUNBZ2ZYMWNiaUFnUGx4dUlDQWdJRHhUWTNKdmJHeFFjbTkyYVdSbGNpQnBjMVpwYzJsaWJHVTllMmx6Vm1semFXSnNaWDArZTJOb2FXeGtjbVZ1ZlR3dlUyTnliMnhzVUhKdmRtbGtaWEkrWEc0Z0lEd3ZaR2wyUGx4dUtUdGNibHh1WTI5dWMzUWdVSEp2WkhWamRFNWhkbWxuWVhScGIyNVFjbWx0YVhScGRtVWdQU0IzYVhSb1EyOXVkR1Z1ZEZSb1pXMWxLRnh1SUNCUWNtOWtkV04wVG1GMmFXZGhkR2x2YmxCeWFXMXBkR2wyWlVKaGMyVXNYRzRwTzF4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnVUhKdlpIVmpkRTVoZG1sbllYUnBiMjVVYUdWdFpTQTlJQ2g3SUdOb2FXeGtjbVZ1SUgwcElEMCtJQ2hjYmlBZ1BGUm9aVzFsVUhKdmRtbGtaWEpjYmlBZ0lDQjBhR1Z0WlQxN2IyeGtWR2hsYldVZ1BUNGdLSHNnYlc5a1pUb2diR2xuYUhRc0lDNHVMbTlzWkZSb1pXMWxMQ0JqYjI1MFpYaDBPaUFuY0hKdlpIVmpkQ2NnZlNsOVhHNGdJRDVjYmlBZ0lDQThSbkpoWjIxbGJuUStlMk5vYVd4a2NtVnVmVHd2Um5KaFoyMWxiblErWEc0Z0lEd3ZWR2hsYldWUWNtOTJhV1JsY2o1Y2JpazdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQlFjbTlrZFdOMFRtRjJhV2RoZEdsdmJpQTlJSEJ5YjNCeklEMCtJQ2hjYmlBZ1BGQnliMlIxWTNST1lYWnBaMkYwYVc5dVZHaGxiV1UrWEc0Z0lDQWdQRkJ5YjJSMVkzUk9ZWFpwWjJGMGFXOXVVSEpwYldsMGFYWmxJSHN1TGk1d2NtOXdjMzBnTHo1Y2JpQWdQQzlRY205a2RXTjBUbUYyYVdkaGRHbHZibFJvWlcxbFBseHVLVHRjYmx4dVkyOXVjM1FnYzJ4cFpHVkpiaUE5SUd0bGVXWnlZVzFsYzJCY2JpQWdabkp2YlNCN0lIUnlZVzV6Wm05eWJUb2dkSEpoYm5Oc1lYUmxXQ2d4TURBbEtUc2dmVnh1SUNCMGJ5QjdJSFJ5WVc1elptOXliVG9nZEhKaGJuTnNZWFJsV0Nnd0tUc2dmVnh1WUR0Y2JseHVMeW9xWEc0Z0tpQkRiMjUwWVdsdVpYSk9ZWFpwWjJGMGFXOXVYRzRnS2k5Y2JtTnZibk4wSUVOdmJuUmhhVzVsY2s1aGRtbG5ZWFJwYjI1UWNtbHRhWFJwZG1WQ1lYTmxJRDBnS0h0Y2JpQWdZMmhwYkdSeVpXNHNYRzRnSUdselJXNTBaWEpwYm1jc1hHNGdJR2x6UlhocGRHbHVaeXhjYmlBZ2RHaGxiV1VzWEc0Z0lHbHpWbWx6YVdKc1pTeGNibjBwSUQwK0lIdGNiaUFnYkdWMElHRnVhVzFoZEdsdmJrNWhiV1U3WEc0Z0lHbG1JQ2hwYzBWdWRHVnlhVzVuS1NCaGJtbHRZWFJwYjI1T1lXMWxJRDBnYzJ4cFpHVkpianRjYmx4dUlDQmpiMjV6ZENCMGNtRnVjMlp2Y20wZ1BTQnBjMFY0YVhScGJtY2dQeUFuZEhKaGJuTnNZWFJsV0NneE1EQWxLU2NnT2lCdWRXeHNPMXh1WEc0Z0lISmxkSFZ5YmlBb1hHNGdJQ0FnUEdScGRseHVJQ0FnSUNBZ1kzTnpQWHRqYzNOZ1hHNGdJQ0FnSUNBa2UzdGNiaUFnSUNBZ0lDQWdMaTR1ZEdobGJXVXViVzlrWlM1amIyNTBaVzUwVG1GMktDa3VZMjl1ZEdGcGJtVnlMRnh1SUNBZ0lDQWdJQ0JoYm1sdFlYUnBiMjVFZFhKaGRHbHZiam9nZEhKaGJuTnBkR2x2YmtSMWNtRjBhVzl1TEZ4dUlDQWdJQ0FnSUNCaGJtbHRZWFJwYjI1R2FXeHNUVzlrWlRvZ0oyWnZjbmRoY21Sekp5eGNiaUFnSUNBZ0lDQWdZVzVwYldGMGFXOXVWR2x0YVc1blJuVnVZM1JwYjI0NklIUnlZVzV6YVhScGIyNVVhVzFwYm1kR2RXNWpkR2x2Yml4Y2JpQWdJQ0FnSUNBZ2RISmhibk5wZEdsdmJsQnliM0JsY25SNU9pQW5ZbTk0VTJoaFpHOTNMQ0IwY21GdWMyWnZjbTBuTEZ4dUlDQWdJQ0FnSUNCMGNtRnVjMmwwYVc5dVJIVnlZWFJwYjI0c1hHNGdJQ0FnSUNBZ0lIUnlZVzV6YVhScGIyNVVhVzFwYm1kR2RXNWpkR2x2Yml4Y2JpQWdJQ0FnSUNBZ2RISmhibk5tYjNKdExGeHVJQ0FnSUNBZ2ZYMWNiaUFnSUNBZ0lHRnVhVzFoZEdsdmJpMXVZVzFsT2lBa2UyRnVhVzFoZEdsdmJrNWhiV1Y5TzF4dUlDQWdJQ0FnWUgxY2JpQWdJQ0ErWEc0Z0lDQWdJQ0E4VTJOeWIyeHNVSEp2ZG1sa1pYSWdhWE5XYVhOcFlteGxQWHRwYzFacGMybGliR1Y5UG50amFHbHNaSEpsYm4wOEwxTmpjbTlzYkZCeWIzWnBaR1Z5UGx4dUlDQWdJRHd2WkdsMlBseHVJQ0FwTzF4dWZUdGNibHh1WTI5dWMzUWdRMjl1ZEdGcGJtVnlUbUYyYVdkaGRHbHZibEJ5YVcxcGRHbDJaU0E5SUhkcGRHaERiMjUwWlc1MFZHaGxiV1VvWEc0Z0lFTnZiblJoYVc1bGNrNWhkbWxuWVhScGIyNVFjbWx0YVhScGRtVkNZWE5sTEZ4dUtUdGNibHh1Wlhod2IzSjBJR052Ym5OMElFTnZiblJoYVc1bGNrNWhkbWxuWVhScGIyNVVhR1Z0WlNBOUlDaDdJR05vYVd4a2NtVnVJSDBwSUQwK0lDaGNiaUFnUEZSb1pXMWxVSEp2ZG1sa1pYSWdkR2hsYldVOWUzc2diVzlrWlRvZ2JHbG5hSFFzSUdOdmJuUmxlSFE2SUNkamIyNTBZV2x1WlhJbklIMTlQbHh1SUNBZ0lEeEdjbUZuYldWdWRENTdZMmhwYkdSeVpXNTlQQzlHY21GbmJXVnVkRDVjYmlBZ1BDOVVhR1Z0WlZCeWIzWnBaR1Z5UGx4dUtUdGNibHh1Wlhod2IzSjBJR052Ym5OMElFTnZiblJoYVc1bGNrNWhkbWxuWVhScGIyNGdQU0J3Y205d2N5QTlQaUFvWEc0Z0lEeERiMjUwWVdsdVpYSk9ZWFpwWjJGMGFXOXVWR2hsYldVK1hHNGdJQ0FnUEVOdmJuUmhhVzVsY2s1aGRtbG5ZWFJwYjI1UWNtbHRhWFJwZG1VZ2V5NHVMbkJ5YjNCemZTQXZQbHh1SUNBOEwwTnZiblJoYVc1bGNrNWhkbWxuWVhScGIyNVVhR1Z0WlQ1Y2JpazdYRzVjYmk4cUtseHVJQ29nUTI5dWRHRnBibVZ5VDNabGNteGhlVnh1SUNvdlhHNWNibVY0Y0c5eWRDQmpiMjV6ZENCRGIyNTBZV2x1WlhKUGRtVnliR0Y1SUQwZ0tIc2dhWE5XYVhOcFlteGxMQ0J2YmtOc2FXTnJMQ0F1TGk1d2NtOXdjeUI5S1NBOVBpQW9YRzRnSUR4a2FYWmNiaUFnSUNCamMzTTllM3RjYmlBZ0lDQWdJR0poWTJ0bmNtOTFibVJEYjJ4dmNqb2dUamN3UVN4Y2JpQWdJQ0FnSUdOMWNuTnZjam9nYVhOV2FYTnBZbXhsSUQ4Z0ozQnZhVzUwWlhJbklEb2dKMlJsWm1GMWJIUW5MRnh1SUNBZ0lDQWdhR1ZwWjJoME9pQW5NVEF3SlNjc1hHNGdJQ0FnSUNCc1pXWjBPaUF3TEZ4dUlDQWdJQ0FnYjNCaFkybDBlVG9nYVhOV2FYTnBZbXhsSUQ4Z01TQTZJREFzWEc0Z0lDQWdJQ0J3YjJsdWRHVnlSWFpsYm5Sek9pQnBjMVpwYzJsaWJHVWdQeUFuWVd4c0p5QTZJQ2R1YjI1bEp5eGNiaUFnSUNBZ0lIQnZjMmwwYVc5dU9pQW5ZV0p6YjJ4MWRHVW5MRnh1SUNBZ0lDQWdkRzl3T2lBd0xGeHVJQ0FnSUNBZ2RISmhibk5wZEdsdmJrUjFjbUYwYVc5dUxGeHVJQ0FnSUNBZ2RISmhibk5wZEdsdmJsQnliM0JsY25SNU9pQW5iM0JoWTJsMGVTY3NYRzRnSUNBZ0lDQjBjbUZ1YzJsMGFXOXVWR2x0YVc1blJuVnVZM1JwYjI0c1hHNGdJQ0FnSUNCM2FXUjBhRG9nSnpFd01DVW5MRnh1SUNBZ0lDQWdla2x1WkdWNE9pQTFMRnh1SUNBZ0lIMTlYRzRnSUNBZ2IyNURiR2xqYXoxN2IyNURiR2xqYTMxY2JpQWdJQ0J5YjJ4bFBWd2ljSEpsYzJWdWRHRjBhVzl1WENKY2JpQWdJQ0I3TGk0dWNISnZjSE45WEc0Z0lDOCtYRzRwTzF4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnUTI5dWRHVnVkRTVoZG1sbllYUnBiMjVYY21Gd2NHVnlJRDBnS0h0Y2JpQWdhVzV1WlhKU1pXWXNYRzRnSUdScGMyRmliR1ZKYm5SbGNtRmpkR2x2Yml4Y2JpQWdMaTR1Y0hKdmNITmNibjBwSUQwK0lDaGNiaUFnUEdScGRseHVJQ0FnSUhKbFpqMTdhVzV1WlhKU1pXWjlYRzRnSUNBZ1kzTnpQWHQ3WEc0Z0lDQWdJQ0JvWldsbmFIUTZJQ2N4TURBbEp5eGNiaUFnSUNBZ0lIQnZjMmwwYVc5dU9pQW5jbVZzWVhScGRtVW5MRnh1SUNBZ0lDQWdMaTR1WVhCd2JIbEVhWE5oWW14bFpGQnliM0JsY25ScFpYTW9JU0ZrYVhOaFlteGxTVzUwWlhKaFkzUnBiMjRwTEZ4dUlDQWdJSDE5WEc0Z0lDQWdleTR1TG5CeWIzQnpmVnh1SUNBdlBseHVLVHRjYmx4dVpYaHdiM0owSUdOdmJuTjBJRU52Ym5SaGFXNWxjazVoZG1sbllYUnBiMjVOWVhOcklEMGdLSHNnWkdsellXSnNaVWx1ZEdWeVlXTjBhVzl1TENBdUxpNXdjbTl3Y3lCOUtTQTlQaUFvWEc0Z0lEeGthWFpjYmlBZ0lDQmpjM005ZTN0Y2JpQWdJQ0FnSUdScGMzQnNZWGs2SUNkbWJHVjRKeXhjYmlBZ0lDQWdJR1pzWlhoRWFYSmxZM1JwYjI0NklDZHliM2NuTEZ4dUlDQWdJQ0FnYjNabGNtWnNiM2M2SUNkb2FXUmtaVzRuTEZ4dUlDQWdJQ0FnYUdWcFoyaDBPaUFuTVRBd0pTY3NYRzRnSUNBZ0lDQXVMaTVoY0hCc2VVUnBjMkZpYkdWa1VISnZjR1Z5ZEdsbGN5Z2hJV1JwYzJGaWJHVkpiblJsY21GamRHbHZiaWtzWEc0Z0lDQWdmWDFjYmlBZ0lDQjdMaTR1Y0hKdmNITjlYRzRnSUM4K1hHNHBPMXh1SWwxOSAqL1wiKSxcbiAgICB0YWJJbmRleDogLTEsXG4gICAgcm9sZTogXCJncm91cFwiLFxuICAgIHJlZjogc2Nyb2xsUHJvdmlkZXJSZWZcbiAgfSwgcHJvcHMpKSk7XG59O1xuLyoqXG4gKiBQcm9kdWN0TmF2aWdhdGlvblxuICovXG5cblxudmFyIFByb2R1Y3ROYXZpZ2F0aW9uUHJpbWl0aXZlQmFzZSA9IGZ1bmN0aW9uIFByb2R1Y3ROYXZpZ2F0aW9uUHJpbWl0aXZlQmFzZShfcmVmMikge1xuICB2YXIgY2hpbGRyZW4gPSBfcmVmMi5jaGlsZHJlbixcbiAgICAgIGlzVmlzaWJsZSA9IF9yZWYyLmlzVmlzaWJsZSxcbiAgICAgIF9yZWYyJHRoZW1lID0gX3JlZjIudGhlbWUsXG4gICAgICB0aGVtZSA9IF9yZWYyJHRoZW1lID09PSB2b2lkIDAgPyB7XG4gICAgbW9kZTogbGlnaHQsXG4gICAgY29udGV4dDogJ3Byb2R1Y3QnXG4gIH0gOiBfcmVmMiR0aGVtZTtcbiAgcmV0dXJuIF9fX0Vtb3Rpb25KU1goXCJkaXZcIiwge1xuICAgIGNzczpcbiAgICAvKiNfX1BVUkVfXyovXG4gICAgX2Nzcyhfb2JqZWN0U3ByZWFkKHt9LCB0aGVtZS5tb2RlLmNvbnRlbnROYXYoKS5wcm9kdWN0LCB7XG4gICAgICAnJjpub3QoOm9ubHktY2hpbGQpJzoge1xuICAgICAgICAvLyBTZXR0aW5nIHotaW5kZXggZW5zdXJlcyBTY3JvbGxIaW50cyBzdGF5IGJlbG93IHRoZSBjb250YWluZXIgbmF2XG4gICAgICAgIC8vICY6bm90KDpvbmx5LWNoaWxkKSBzZXRzIGl0IG9ubHkgd2hlbiBib3RoIGNvbnRhaW5lciBhbmQgcHJvZHVjdFxuICAgICAgICAvLyBuYXYgYXJlIHJlbmRlcmVkLlxuICAgICAgICB6SW5kZXg6IC0xXG4gICAgICB9XG4gICAgfSksIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IFwiXCIgOiBcIi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpNHVMeTR1THk0dUx5NHVMeTR1TDNOeVl5OWpiMjF3YjI1bGJuUnpMM0J5WlhObGJuUmhkR2x2Ym1Gc0wwTnZiblJsYm5ST1lYWnBaMkYwYVc5dUwzQnlhVzFwZEdsMlpYTXVhbk1pWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCYzBSSklpd2labWxzWlNJNklpNHVMeTR1THk0dUx5NHVMeTR1TDNOeVl5OWpiMjF3YjI1bGJuUnpMM0J5WlhObGJuUmhkR2x2Ym1Gc0wwTnZiblJsYm5ST1lYWnBaMkYwYVc5dUwzQnlhVzFwZEdsMlpYTXVhbk1pTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lKcGJYQnZjblFnVW1WaFkzUXNJSHNnUm5KaFoyMWxiblFnZlNCbWNtOXRJQ2R5WldGamRDYzdYRzVjYm1sdGNHOXlkQ0I3SUdOemN5d2dhMlY1Wm5KaGJXVnpJSDBnWm5KdmJTQW5RR1Z0YjNScGIyNHZZMjl5WlNjN1hHNWNibWx0Y0c5eWRDQjdJRTQzTUVFZ2ZTQm1jbTl0SUNkQVlYUnNZWE5yYVhRdmRHaGxiV1V2WTI5c2IzSnpKenRjYmx4dWFXMXdiM0owSUh0Y2JpQWdkSEpoYm5OcGRHbHZia1IxY21GMGFXOXVMRnh1SUNCMGNtRnVjMmwwYVc5dVZHbHRhVzVuUm5WdVkzUnBiMjRzWEc1OUlHWnliMjBnSnk0dUx5NHVMeTR1TDJOdmJXMXZiaTlqYjI1emRHRnVkSE1uTzF4dWFXMXdiM0owSUhzZ1lYQndiSGxFYVhOaFlteGxaRkJ5YjNCbGNuUnBaWE1nZlNCbWNtOXRJQ2N1TGk4dUxpOHVMaTlqYjIxdGIyNHZhR1ZzY0dWeWN5YzdYRzVwYlhCdmNuUWdleUJzYVdkb2RDd2dWR2hsYldWUWNtOTJhV1JsY2l3Z2QybDBhRU52Ym5SbGJuUlVhR1Z0WlNCOUlHWnliMjBnSnk0dUx5NHVMeTR1TDNSb1pXMWxKenRjYmx4dUx5b3FYRzRnS2lCRGIyMXdiMjVsYm5RZ2RISmxaU0J6ZEhKMVkzUjFjbVZjYmlBcUlDQXRJRkJ5YjJSMVkzUk9ZWFpwWjJGMGFXOXVYRzRnS2lBZ0xTQkRiMjUwWVdsdVpYSk9ZWFpwWjJGMGFXOXVYRzRnS2lBZ0lDQXRJRU52Ym5SaGFXNWxjazkyWlhKc1lYbGNiaUFxTDF4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnVTJOeWIyeHNVSEp2ZG1sa1pYSlNaV1lnUFNCU1pXRmpkQzVqY21WaGRHVkRiMjUwWlhoMEtDazdYRzVqYjI1emRDQlRZM0p2Ykd4UWNtOTJhV1JsY2lBOUlDaDdJR2x6Vm1semFXSnNaU3dnTGk0dWNISnZjSE1nZlNrZ1BUNGdlMXh1SUNCamIyNXpkQ0J6WTNKdmJHeFFjbTkyYVdSbGNsSmxaaUE5SUZKbFlXTjBMbU55WldGMFpWSmxaaWdwTzF4dVhHNGdJSEpsZEhWeWJpQW9YRzRnSUNBZ1BGTmpjbTlzYkZCeWIzWnBaR1Z5VW1WbUxsQnliM1pwWkdWeUlIWmhiSFZsUFh0elkzSnZiR3hRY205MmFXUmxjbEpsWm4wK1hHNGdJQ0FnSUNBOFpHbDJYRzRnSUNBZ0lDQWdJR056Y3oxN2UxeHVJQ0FnSUNBZ0lDQWdJR0p2ZUZOcGVtbHVaem9nSjJKdmNtUmxjaTFpYjNnbkxGeHVJQ0FnSUNBZ0lDQWdJR1JwYzNCc1lYazZJR2x6Vm1semFXSnNaU0EvSUNkbWJHVjRKeUE2SUNkdWIyNWxKeXhjYmlBZ0lDQWdJQ0FnSUNCbWJHVjRSR2x5WldOMGFXOXVPaUFuWTI5c2RXMXVKeXhjYmlBZ0lDQWdJQ0FnSUNCb1pXbG5hSFE2SUNjeE1EQWxKeXhjYmlBZ0lDQWdJQ0FnSUNCdmRtVnlabXh2ZDFnNklDZG9hV1JrWlc0bkxGeHVJQ0FnSUNBZ0lDQWdJRzkyWlhKbWJHOTNXVG9nSjJGMWRHOG5MRnh1SUNBZ0lDQWdJQ0FnSUhkcFpIUm9PaUFuTVRBd0pTY3NYRzRnSUNBZ0lDQWdJSDE5WEc0Z0lDQWdJQ0FnSUhSaFlrbHVaR1Y0UFhzdE1YMWNiaUFnSUNBZ0lDQWdjbTlzWlQxY0ltZHliM1Z3WENKY2JpQWdJQ0FnSUNBZ2NtVm1QWHR6WTNKdmJHeFFjbTkyYVdSbGNsSmxabjFjYmlBZ0lDQWdJQ0FnZXk0dUxuQnliM0J6ZlZ4dUlDQWdJQ0FnTHo1Y2JpQWdJQ0E4TDFOamNtOXNiRkJ5YjNacFpHVnlVbVZtTGxCeWIzWnBaR1Z5UGx4dUlDQXBPMXh1ZlR0Y2JseHVMeW9xWEc0Z0tpQlFjbTlrZFdOMFRtRjJhV2RoZEdsdmJseHVJQ292WEc1amIyNXpkQ0JRY205a2RXTjBUbUYyYVdkaGRHbHZibEJ5YVcxcGRHbDJaVUpoYzJVZ1BTQW9lMXh1SUNCamFHbHNaSEpsYml4Y2JpQWdhWE5XYVhOcFlteGxMRnh1SUNCMGFHVnRaU0E5SUhzZ2JXOWtaVG9nYkdsbmFIUXNJR052Ym5SbGVIUTZJQ2R3Y205a2RXTjBKeUI5TEZ4dWZTa2dQVDRnS0Z4dUlDQThaR2wyWEc0Z0lDQWdZM056UFh0N1hHNGdJQ0FnSUNBdUxpNTBhR1Z0WlM1dGIyUmxMbU52Ym5SbGJuUk9ZWFlvS1M1d2NtOWtkV04wTEZ4dUlDQWdJQ0FnSnlZNmJtOTBLRHB2Ym14NUxXTm9hV3hrS1NjNklIdGNiaUFnSUNBZ0lDQWdMeThnVTJWMGRHbHVaeUI2TFdsdVpHVjRJR1Z1YzNWeVpYTWdVMk55YjJ4c1NHbHVkSE1nYzNSaGVTQmlaV3h2ZHlCMGFHVWdZMjl1ZEdGcGJtVnlJRzVoZGx4dUlDQWdJQ0FnSUNBdkx5QW1PbTV2ZENnNmIyNXNlUzFqYUdsc1pDa2djMlYwY3lCcGRDQnZibXg1SUhkb1pXNGdZbTkwYUNCamIyNTBZV2x1WlhJZ1lXNWtJSEJ5YjJSMVkzUmNiaUFnSUNBZ0lDQWdMeThnYm1GMklHRnlaU0J5Wlc1a1pYSmxaQzVjYmlBZ0lDQWdJQ0FnZWtsdVpHVjRPaUF0TVN4Y2JpQWdJQ0FnSUgwc1hHNGdJQ0FnZlgxY2JpQWdQbHh1SUNBZ0lEeFRZM0p2Ykd4UWNtOTJhV1JsY2lCcGMxWnBjMmxpYkdVOWUybHpWbWx6YVdKc1pYMCtlMk5vYVd4a2NtVnVmVHd2VTJOeWIyeHNVSEp2ZG1sa1pYSStYRzRnSUR3dlpHbDJQbHh1S1R0Y2JseHVZMjl1YzNRZ1VISnZaSFZqZEU1aGRtbG5ZWFJwYjI1UWNtbHRhWFJwZG1VZ1BTQjNhWFJvUTI5dWRHVnVkRlJvWlcxbEtGeHVJQ0JRY205a2RXTjBUbUYyYVdkaGRHbHZibEJ5YVcxcGRHbDJaVUpoYzJVc1hHNHBPMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdVSEp2WkhWamRFNWhkbWxuWVhScGIyNVVhR1Z0WlNBOUlDaDdJR05vYVd4a2NtVnVJSDBwSUQwK0lDaGNiaUFnUEZSb1pXMWxVSEp2ZG1sa1pYSmNiaUFnSUNCMGFHVnRaVDE3YjJ4a1ZHaGxiV1VnUFQ0Z0tIc2diVzlrWlRvZ2JHbG5hSFFzSUM0dUxtOXNaRlJvWlcxbExDQmpiMjUwWlhoME9pQW5jSEp2WkhWamRDY2dmU2w5WEc0Z0lENWNiaUFnSUNBOFJuSmhaMjFsYm5RK2UyTm9hV3hrY21WdWZUd3ZSbkpoWjIxbGJuUStYRzRnSUR3dlZHaGxiV1ZRY205MmFXUmxjajVjYmlrN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCUWNtOWtkV04wVG1GMmFXZGhkR2x2YmlBOUlIQnliM0J6SUQwK0lDaGNiaUFnUEZCeWIyUjFZM1JPWVhacFoyRjBhVzl1VkdobGJXVStYRzRnSUNBZ1BGQnliMlIxWTNST1lYWnBaMkYwYVc5dVVISnBiV2wwYVhabElIc3VMaTV3Y205d2MzMGdMejVjYmlBZ1BDOVFjbTlrZFdOMFRtRjJhV2RoZEdsdmJsUm9aVzFsUGx4dUtUdGNibHh1WTI5dWMzUWdjMnhwWkdWSmJpQTlJR3RsZVdaeVlXMWxjMkJjYmlBZ1puSnZiU0I3SUhSeVlXNXpabTl5YlRvZ2RISmhibk5zWVhSbFdDZ3hNREFsS1RzZ2ZWeHVJQ0IwYnlCN0lIUnlZVzV6Wm05eWJUb2dkSEpoYm5Oc1lYUmxXQ2d3S1RzZ2ZWeHVZRHRjYmx4dUx5b3FYRzRnS2lCRGIyNTBZV2x1WlhKT1lYWnBaMkYwYVc5dVhHNGdLaTljYm1OdmJuTjBJRU52Ym5SaGFXNWxjazVoZG1sbllYUnBiMjVRY21sdGFYUnBkbVZDWVhObElEMGdLSHRjYmlBZ1kyaHBiR1J5Wlc0c1hHNGdJR2x6Ulc1MFpYSnBibWNzWEc0Z0lHbHpSWGhwZEdsdVp5eGNiaUFnZEdobGJXVXNYRzRnSUdselZtbHphV0pzWlN4Y2JuMHBJRDArSUh0Y2JpQWdiR1YwSUdGdWFXMWhkR2x2Yms1aGJXVTdYRzRnSUdsbUlDaHBjMFZ1ZEdWeWFXNW5LU0JoYm1sdFlYUnBiMjVPWVcxbElEMGdjMnhwWkdWSmJqdGNibHh1SUNCamIyNXpkQ0IwY21GdWMyWnZjbTBnUFNCcGMwVjRhWFJwYm1jZ1B5QW5kSEpoYm5Oc1lYUmxXQ2d4TURBbEtTY2dPaUJ1ZFd4c08xeHVYRzRnSUhKbGRIVnliaUFvWEc0Z0lDQWdQR1JwZGx4dUlDQWdJQ0FnWTNOelBYdGpjM05nWEc0Z0lDQWdJQ0FrZTN0Y2JpQWdJQ0FnSUNBZ0xpNHVkR2hsYldVdWJXOWtaUzVqYjI1MFpXNTBUbUYyS0NrdVkyOXVkR0ZwYm1WeUxGeHVJQ0FnSUNBZ0lDQmhibWx0WVhScGIyNUVkWEpoZEdsdmJqb2dkSEpoYm5OcGRHbHZia1IxY21GMGFXOXVMRnh1SUNBZ0lDQWdJQ0JoYm1sdFlYUnBiMjVHYVd4c1RXOWtaVG9nSjJadmNuZGhjbVJ6Snl4Y2JpQWdJQ0FnSUNBZ1lXNXBiV0YwYVc5dVZHbHRhVzVuUm5WdVkzUnBiMjQ2SUhSeVlXNXphWFJwYjI1VWFXMXBibWRHZFc1amRHbHZiaXhjYmlBZ0lDQWdJQ0FnZEhKaGJuTnBkR2x2YmxCeWIzQmxjblI1T2lBblltOTRVMmhoWkc5M0xDQjBjbUZ1YzJadmNtMG5MRnh1SUNBZ0lDQWdJQ0IwY21GdWMybDBhVzl1UkhWeVlYUnBiMjRzWEc0Z0lDQWdJQ0FnSUhSeVlXNXphWFJwYjI1VWFXMXBibWRHZFc1amRHbHZiaXhjYmlBZ0lDQWdJQ0FnZEhKaGJuTm1iM0p0TEZ4dUlDQWdJQ0FnZlgxY2JpQWdJQ0FnSUdGdWFXMWhkR2x2YmkxdVlXMWxPaUFrZTJGdWFXMWhkR2x2Yms1aGJXVjlPMXh1SUNBZ0lDQWdZSDFjYmlBZ0lDQStYRzRnSUNBZ0lDQThVMk55YjJ4c1VISnZkbWxrWlhJZ2FYTldhWE5wWW14bFBYdHBjMVpwYzJsaWJHVjlQbnRqYUdsc1pISmxibjA4TDFOamNtOXNiRkJ5YjNacFpHVnlQbHh1SUNBZ0lEd3ZaR2wyUGx4dUlDQXBPMXh1ZlR0Y2JseHVZMjl1YzNRZ1EyOXVkR0ZwYm1WeVRtRjJhV2RoZEdsdmJsQnlhVzFwZEdsMlpTQTlJSGRwZEdoRGIyNTBaVzUwVkdobGJXVW9YRzRnSUVOdmJuUmhhVzVsY2s1aGRtbG5ZWFJwYjI1UWNtbHRhWFJwZG1WQ1lYTmxMRnh1S1R0Y2JseHVaWGh3YjNKMElHTnZibk4wSUVOdmJuUmhhVzVsY2s1aGRtbG5ZWFJwYjI1VWFHVnRaU0E5SUNoN0lHTm9hV3hrY21WdUlIMHBJRDArSUNoY2JpQWdQRlJvWlcxbFVISnZkbWxrWlhJZ2RHaGxiV1U5ZTNzZ2JXOWtaVG9nYkdsbmFIUXNJR052Ym5SbGVIUTZJQ2RqYjI1MFlXbHVaWEluSUgxOVBseHVJQ0FnSUR4R2NtRm5iV1Z1ZEQ1N1kyaHBiR1J5Wlc1OVBDOUdjbUZuYldWdWRENWNiaUFnUEM5VWFHVnRaVkJ5YjNacFpHVnlQbHh1S1R0Y2JseHVaWGh3YjNKMElHTnZibk4wSUVOdmJuUmhhVzVsY2s1aGRtbG5ZWFJwYjI0Z1BTQndjbTl3Y3lBOVBpQW9YRzRnSUR4RGIyNTBZV2x1WlhKT1lYWnBaMkYwYVc5dVZHaGxiV1UrWEc0Z0lDQWdQRU52Ym5SaGFXNWxjazVoZG1sbllYUnBiMjVRY21sdGFYUnBkbVVnZXk0dUxuQnliM0J6ZlNBdlBseHVJQ0E4TDBOdmJuUmhhVzVsY2s1aGRtbG5ZWFJwYjI1VWFHVnRaVDVjYmlrN1hHNWNiaThxS2x4dUlDb2dRMjl1ZEdGcGJtVnlUM1psY214aGVWeHVJQ292WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JEYjI1MFlXbHVaWEpQZG1WeWJHRjVJRDBnS0hzZ2FYTldhWE5wWW14bExDQnZia05zYVdOckxDQXVMaTV3Y205d2N5QjlLU0E5UGlBb1hHNGdJRHhrYVhaY2JpQWdJQ0JqYzNNOWUzdGNiaUFnSUNBZ0lHSmhZMnRuY205MWJtUkRiMnh2Y2pvZ1RqY3dRU3hjYmlBZ0lDQWdJR04xY25OdmNqb2dhWE5XYVhOcFlteGxJRDhnSjNCdmFXNTBaWEluSURvZ0oyUmxabUYxYkhRbkxGeHVJQ0FnSUNBZ2FHVnBaMmgwT2lBbk1UQXdKU2NzWEc0Z0lDQWdJQ0JzWldaME9pQXdMRnh1SUNBZ0lDQWdiM0JoWTJsMGVUb2dhWE5XYVhOcFlteGxJRDhnTVNBNklEQXNYRzRnSUNBZ0lDQndiMmx1ZEdWeVJYWmxiblJ6T2lCcGMxWnBjMmxpYkdVZ1B5QW5ZV3hzSnlBNklDZHViMjVsSnl4Y2JpQWdJQ0FnSUhCdmMybDBhVzl1T2lBbllXSnpiMngxZEdVbkxGeHVJQ0FnSUNBZ2RHOXdPaUF3TEZ4dUlDQWdJQ0FnZEhKaGJuTnBkR2x2YmtSMWNtRjBhVzl1TEZ4dUlDQWdJQ0FnZEhKaGJuTnBkR2x2YmxCeWIzQmxjblI1T2lBbmIzQmhZMmwwZVNjc1hHNGdJQ0FnSUNCMGNtRnVjMmwwYVc5dVZHbHRhVzVuUm5WdVkzUnBiMjRzWEc0Z0lDQWdJQ0IzYVdSMGFEb2dKekV3TUNVbkxGeHVJQ0FnSUNBZ2VrbHVaR1Y0T2lBMUxGeHVJQ0FnSUgxOVhHNGdJQ0FnYjI1RGJHbGphejE3YjI1RGJHbGphMzFjYmlBZ0lDQnliMnhsUFZ3aWNISmxjMlZ1ZEdGMGFXOXVYQ0pjYmlBZ0lDQjdMaTR1Y0hKdmNITjlYRzRnSUM4K1hHNHBPMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdRMjl1ZEdWdWRFNWhkbWxuWVhScGIyNVhjbUZ3Y0dWeUlEMGdLSHRjYmlBZ2FXNXVaWEpTWldZc1hHNGdJR1JwYzJGaWJHVkpiblJsY21GamRHbHZiaXhjYmlBZ0xpNHVjSEp2Y0hOY2JuMHBJRDArSUNoY2JpQWdQR1JwZGx4dUlDQWdJSEpsWmoxN2FXNXVaWEpTWldaOVhHNGdJQ0FnWTNOelBYdDdYRzRnSUNBZ0lDQm9aV2xuYUhRNklDY3hNREFsSnl4Y2JpQWdJQ0FnSUhCdmMybDBhVzl1T2lBbmNtVnNZWFJwZG1VbkxGeHVJQ0FnSUNBZ0xpNHVZWEJ3YkhsRWFYTmhZbXhsWkZCeWIzQmxjblJwWlhNb0lTRmthWE5oWW14bFNXNTBaWEpoWTNScGIyNHBMRnh1SUNBZ0lIMTlYRzRnSUNBZ2V5NHVMbkJ5YjNCemZWeHVJQ0F2UGx4dUtUdGNibHh1Wlhod2IzSjBJR052Ym5OMElFTnZiblJoYVc1bGNrNWhkbWxuWVhScGIyNU5ZWE5ySUQwZ0tIc2daR2x6WVdKc1pVbHVkR1Z5WVdOMGFXOXVMQ0F1TGk1d2NtOXdjeUI5S1NBOVBpQW9YRzRnSUR4a2FYWmNiaUFnSUNCamMzTTllM3RjYmlBZ0lDQWdJR1JwYzNCc1lYazZJQ2RtYkdWNEp5eGNiaUFnSUNBZ0lHWnNaWGhFYVhKbFkzUnBiMjQ2SUNkeWIzY25MRnh1SUNBZ0lDQWdiM1psY21ac2IzYzZJQ2RvYVdSa1pXNG5MRnh1SUNBZ0lDQWdhR1ZwWjJoME9pQW5NVEF3SlNjc1hHNGdJQ0FnSUNBdUxpNWhjSEJzZVVScGMyRmliR1ZrVUhKdmNHVnlkR2xsY3lnaElXUnBjMkZpYkdWSmJuUmxjbUZqZEdsdmJpa3NYRzRnSUNBZ2ZYMWNiaUFnSUNCN0xpNHVjSEp2Y0hOOVhHNGdJQzgrWEc0cE8xeHVJbDE5ICovXCIpXG4gIH0sIF9fX0Vtb3Rpb25KU1goU2Nyb2xsUHJvdmlkZXIsIHtcbiAgICBpc1Zpc2libGU6IGlzVmlzaWJsZVxuICB9LCBjaGlsZHJlbikpO1xufTtcblxudmFyIFByb2R1Y3ROYXZpZ2F0aW9uUHJpbWl0aXZlID0gd2l0aENvbnRlbnRUaGVtZShQcm9kdWN0TmF2aWdhdGlvblByaW1pdGl2ZUJhc2UpO1xuZXhwb3J0IHZhciBQcm9kdWN0TmF2aWdhdGlvblRoZW1lID0gZnVuY3Rpb24gUHJvZHVjdE5hdmlnYXRpb25UaGVtZShfcmVmMykge1xuICB2YXIgY2hpbGRyZW4gPSBfcmVmMy5jaGlsZHJlbjtcbiAgcmV0dXJuIF9fX0Vtb3Rpb25KU1goVGhlbWVQcm92aWRlciwge1xuICAgIHRoZW1lOiBmdW5jdGlvbiB0aGVtZShvbGRUaGVtZSkge1xuICAgICAgcmV0dXJuIF9vYmplY3RTcHJlYWQoe1xuICAgICAgICBtb2RlOiBsaWdodFxuICAgICAgfSwgb2xkVGhlbWUsIHtcbiAgICAgICAgY29udGV4dDogJ3Byb2R1Y3QnXG4gICAgICB9KTtcbiAgICB9XG4gIH0sIF9fX0Vtb3Rpb25KU1goRnJhZ21lbnQsIG51bGwsIGNoaWxkcmVuKSk7XG59O1xuZXhwb3J0IHZhciBQcm9kdWN0TmF2aWdhdGlvbiA9IGZ1bmN0aW9uIFByb2R1Y3ROYXZpZ2F0aW9uKHByb3BzKSB7XG4gIHJldHVybiBfX19FbW90aW9uSlNYKFByb2R1Y3ROYXZpZ2F0aW9uVGhlbWUsIG51bGwsIF9fX0Vtb3Rpb25KU1goUHJvZHVjdE5hdmlnYXRpb25QcmltaXRpdmUsIHByb3BzKSk7XG59O1xudmFyIHNsaWRlSW4gPSBrZXlmcmFtZXMoW1wiXFxuICBmcm9tIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpOyB9XFxuICB0byB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxcblwiXSk7XG4vKipcbiAqIENvbnRhaW5lck5hdmlnYXRpb25cbiAqL1xuXG52YXIgQ29udGFpbmVyTmF2aWdhdGlvblByaW1pdGl2ZUJhc2UgPSBmdW5jdGlvbiBDb250YWluZXJOYXZpZ2F0aW9uUHJpbWl0aXZlQmFzZShfcmVmNCkge1xuICB2YXIgY2hpbGRyZW4gPSBfcmVmNC5jaGlsZHJlbixcbiAgICAgIGlzRW50ZXJpbmcgPSBfcmVmNC5pc0VudGVyaW5nLFxuICAgICAgaXNFeGl0aW5nID0gX3JlZjQuaXNFeGl0aW5nLFxuICAgICAgdGhlbWUgPSBfcmVmNC50aGVtZSxcbiAgICAgIGlzVmlzaWJsZSA9IF9yZWY0LmlzVmlzaWJsZTtcbiAgdmFyIGFuaW1hdGlvbk5hbWU7XG4gIGlmIChpc0VudGVyaW5nKSBhbmltYXRpb25OYW1lID0gc2xpZGVJbjtcbiAgdmFyIHRyYW5zZm9ybSA9IGlzRXhpdGluZyA/ICd0cmFuc2xhdGVYKDEwMCUpJyA6IG51bGw7XG4gIHJldHVybiBfX19FbW90aW9uSlNYKFwiZGl2XCIsIHtcbiAgICBjc3M6XG4gICAgLyojX19QVVJFX18qL1xuICAgIGNzcyhfb2JqZWN0U3ByZWFkKHt9LCB0aGVtZS5tb2RlLmNvbnRlbnROYXYoKS5jb250YWluZXIsIHtcbiAgICAgIGFuaW1hdGlvbkR1cmF0aW9uOiB0cmFuc2l0aW9uRHVyYXRpb24sXG4gICAgICBhbmltYXRpb25GaWxsTW9kZTogJ2ZvcndhcmRzJyxcbiAgICAgIGFuaW1hdGlvblRpbWluZ0Z1bmN0aW9uOiB0cmFuc2l0aW9uVGltaW5nRnVuY3Rpb24sXG4gICAgICB0cmFuc2l0aW9uUHJvcGVydHk6ICdib3hTaGFkb3csIHRyYW5zZm9ybScsXG4gICAgICB0cmFuc2l0aW9uRHVyYXRpb246IHRyYW5zaXRpb25EdXJhdGlvbixcbiAgICAgIHRyYW5zaXRpb25UaW1pbmdGdW5jdGlvbjogdHJhbnNpdGlvblRpbWluZ0Z1bmN0aW9uLFxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2Zvcm1cbiAgICB9KSwgXCIgYW5pbWF0aW9uLW5hbWU6XCIsIGFuaW1hdGlvbk5hbWUsIFwiO1wiICsgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IFwiXCIgOiBcIi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpNHVMeTR1THk0dUx5NHVMeTR1TDNOeVl5OWpiMjF3YjI1bGJuUnpMM0J5WlhObGJuUmhkR2x2Ym1Gc0wwTnZiblJsYm5ST1lYWnBaMkYwYVc5dUwzQnlhVzFwZEdsMlpYTXVhbk1pWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCTkVkaklpd2labWxzWlNJNklpNHVMeTR1THk0dUx5NHVMeTR1TDNOeVl5OWpiMjF3YjI1bGJuUnpMM0J5WlhObGJuUmhkR2x2Ym1Gc0wwTnZiblJsYm5ST1lYWnBaMkYwYVc5dUwzQnlhVzFwZEdsMlpYTXVhbk1pTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lKcGJYQnZjblFnVW1WaFkzUXNJSHNnUm5KaFoyMWxiblFnZlNCbWNtOXRJQ2R5WldGamRDYzdYRzVjYm1sdGNHOXlkQ0I3SUdOemN5d2dhMlY1Wm5KaGJXVnpJSDBnWm5KdmJTQW5RR1Z0YjNScGIyNHZZMjl5WlNjN1hHNWNibWx0Y0c5eWRDQjdJRTQzTUVFZ2ZTQm1jbTl0SUNkQVlYUnNZWE5yYVhRdmRHaGxiV1V2WTI5c2IzSnpKenRjYmx4dWFXMXdiM0owSUh0Y2JpQWdkSEpoYm5OcGRHbHZia1IxY21GMGFXOXVMRnh1SUNCMGNtRnVjMmwwYVc5dVZHbHRhVzVuUm5WdVkzUnBiMjRzWEc1OUlHWnliMjBnSnk0dUx5NHVMeTR1TDJOdmJXMXZiaTlqYjI1emRHRnVkSE1uTzF4dWFXMXdiM0owSUhzZ1lYQndiSGxFYVhOaFlteGxaRkJ5YjNCbGNuUnBaWE1nZlNCbWNtOXRJQ2N1TGk4dUxpOHVMaTlqYjIxdGIyNHZhR1ZzY0dWeWN5YzdYRzVwYlhCdmNuUWdleUJzYVdkb2RDd2dWR2hsYldWUWNtOTJhV1JsY2l3Z2QybDBhRU52Ym5SbGJuUlVhR1Z0WlNCOUlHWnliMjBnSnk0dUx5NHVMeTR1TDNSb1pXMWxKenRjYmx4dUx5b3FYRzRnS2lCRGIyMXdiMjVsYm5RZ2RISmxaU0J6ZEhKMVkzUjFjbVZjYmlBcUlDQXRJRkJ5YjJSMVkzUk9ZWFpwWjJGMGFXOXVYRzRnS2lBZ0xTQkRiMjUwWVdsdVpYSk9ZWFpwWjJGMGFXOXVYRzRnS2lBZ0lDQXRJRU52Ym5SaGFXNWxjazkyWlhKc1lYbGNiaUFxTDF4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnVTJOeWIyeHNVSEp2ZG1sa1pYSlNaV1lnUFNCU1pXRmpkQzVqY21WaGRHVkRiMjUwWlhoMEtDazdYRzVqYjI1emRDQlRZM0p2Ykd4UWNtOTJhV1JsY2lBOUlDaDdJR2x6Vm1semFXSnNaU3dnTGk0dWNISnZjSE1nZlNrZ1BUNGdlMXh1SUNCamIyNXpkQ0J6WTNKdmJHeFFjbTkyYVdSbGNsSmxaaUE5SUZKbFlXTjBMbU55WldGMFpWSmxaaWdwTzF4dVhHNGdJSEpsZEhWeWJpQW9YRzRnSUNBZ1BGTmpjbTlzYkZCeWIzWnBaR1Z5VW1WbUxsQnliM1pwWkdWeUlIWmhiSFZsUFh0elkzSnZiR3hRY205MmFXUmxjbEpsWm4wK1hHNGdJQ0FnSUNBOFpHbDJYRzRnSUNBZ0lDQWdJR056Y3oxN2UxeHVJQ0FnSUNBZ0lDQWdJR0p2ZUZOcGVtbHVaem9nSjJKdmNtUmxjaTFpYjNnbkxGeHVJQ0FnSUNBZ0lDQWdJR1JwYzNCc1lYazZJR2x6Vm1semFXSnNaU0EvSUNkbWJHVjRKeUE2SUNkdWIyNWxKeXhjYmlBZ0lDQWdJQ0FnSUNCbWJHVjRSR2x5WldOMGFXOXVPaUFuWTI5c2RXMXVKeXhjYmlBZ0lDQWdJQ0FnSUNCb1pXbG5hSFE2SUNjeE1EQWxKeXhjYmlBZ0lDQWdJQ0FnSUNCdmRtVnlabXh2ZDFnNklDZG9hV1JrWlc0bkxGeHVJQ0FnSUNBZ0lDQWdJRzkyWlhKbWJHOTNXVG9nSjJGMWRHOG5MRnh1SUNBZ0lDQWdJQ0FnSUhkcFpIUm9PaUFuTVRBd0pTY3NYRzRnSUNBZ0lDQWdJSDE5WEc0Z0lDQWdJQ0FnSUhSaFlrbHVaR1Y0UFhzdE1YMWNiaUFnSUNBZ0lDQWdjbTlzWlQxY0ltZHliM1Z3WENKY2JpQWdJQ0FnSUNBZ2NtVm1QWHR6WTNKdmJHeFFjbTkyYVdSbGNsSmxabjFjYmlBZ0lDQWdJQ0FnZXk0dUxuQnliM0J6ZlZ4dUlDQWdJQ0FnTHo1Y2JpQWdJQ0E4TDFOamNtOXNiRkJ5YjNacFpHVnlVbVZtTGxCeWIzWnBaR1Z5UGx4dUlDQXBPMXh1ZlR0Y2JseHVMeW9xWEc0Z0tpQlFjbTlrZFdOMFRtRjJhV2RoZEdsdmJseHVJQ292WEc1amIyNXpkQ0JRY205a2RXTjBUbUYyYVdkaGRHbHZibEJ5YVcxcGRHbDJaVUpoYzJVZ1BTQW9lMXh1SUNCamFHbHNaSEpsYml4Y2JpQWdhWE5XYVhOcFlteGxMRnh1SUNCMGFHVnRaU0E5SUhzZ2JXOWtaVG9nYkdsbmFIUXNJR052Ym5SbGVIUTZJQ2R3Y205a2RXTjBKeUI5TEZ4dWZTa2dQVDRnS0Z4dUlDQThaR2wyWEc0Z0lDQWdZM056UFh0N1hHNGdJQ0FnSUNBdUxpNTBhR1Z0WlM1dGIyUmxMbU52Ym5SbGJuUk9ZWFlvS1M1d2NtOWtkV04wTEZ4dUlDQWdJQ0FnSnlZNmJtOTBLRHB2Ym14NUxXTm9hV3hrS1NjNklIdGNiaUFnSUNBZ0lDQWdMeThnVTJWMGRHbHVaeUI2TFdsdVpHVjRJR1Z1YzNWeVpYTWdVMk55YjJ4c1NHbHVkSE1nYzNSaGVTQmlaV3h2ZHlCMGFHVWdZMjl1ZEdGcGJtVnlJRzVoZGx4dUlDQWdJQ0FnSUNBdkx5QW1PbTV2ZENnNmIyNXNlUzFqYUdsc1pDa2djMlYwY3lCcGRDQnZibXg1SUhkb1pXNGdZbTkwYUNCamIyNTBZV2x1WlhJZ1lXNWtJSEJ5YjJSMVkzUmNiaUFnSUNBZ0lDQWdMeThnYm1GMklHRnlaU0J5Wlc1a1pYSmxaQzVjYmlBZ0lDQWdJQ0FnZWtsdVpHVjRPaUF0TVN4Y2JpQWdJQ0FnSUgwc1hHNGdJQ0FnZlgxY2JpQWdQbHh1SUNBZ0lEeFRZM0p2Ykd4UWNtOTJhV1JsY2lCcGMxWnBjMmxpYkdVOWUybHpWbWx6YVdKc1pYMCtlMk5vYVd4a2NtVnVmVHd2VTJOeWIyeHNVSEp2ZG1sa1pYSStYRzRnSUR3dlpHbDJQbHh1S1R0Y2JseHVZMjl1YzNRZ1VISnZaSFZqZEU1aGRtbG5ZWFJwYjI1UWNtbHRhWFJwZG1VZ1BTQjNhWFJvUTI5dWRHVnVkRlJvWlcxbEtGeHVJQ0JRY205a2RXTjBUbUYyYVdkaGRHbHZibEJ5YVcxcGRHbDJaVUpoYzJVc1hHNHBPMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdVSEp2WkhWamRFNWhkbWxuWVhScGIyNVVhR1Z0WlNBOUlDaDdJR05vYVd4a2NtVnVJSDBwSUQwK0lDaGNiaUFnUEZSb1pXMWxVSEp2ZG1sa1pYSmNiaUFnSUNCMGFHVnRaVDE3YjJ4a1ZHaGxiV1VnUFQ0Z0tIc2diVzlrWlRvZ2JHbG5hSFFzSUM0dUxtOXNaRlJvWlcxbExDQmpiMjUwWlhoME9pQW5jSEp2WkhWamRDY2dmU2w5WEc0Z0lENWNiaUFnSUNBOFJuSmhaMjFsYm5RK2UyTm9hV3hrY21WdWZUd3ZSbkpoWjIxbGJuUStYRzRnSUR3dlZHaGxiV1ZRY205MmFXUmxjajVjYmlrN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCUWNtOWtkV04wVG1GMmFXZGhkR2x2YmlBOUlIQnliM0J6SUQwK0lDaGNiaUFnUEZCeWIyUjFZM1JPWVhacFoyRjBhVzl1VkdobGJXVStYRzRnSUNBZ1BGQnliMlIxWTNST1lYWnBaMkYwYVc5dVVISnBiV2wwYVhabElIc3VMaTV3Y205d2MzMGdMejVjYmlBZ1BDOVFjbTlrZFdOMFRtRjJhV2RoZEdsdmJsUm9aVzFsUGx4dUtUdGNibHh1WTI5dWMzUWdjMnhwWkdWSmJpQTlJR3RsZVdaeVlXMWxjMkJjYmlBZ1puSnZiU0I3SUhSeVlXNXpabTl5YlRvZ2RISmhibk5zWVhSbFdDZ3hNREFsS1RzZ2ZWeHVJQ0IwYnlCN0lIUnlZVzV6Wm05eWJUb2dkSEpoYm5Oc1lYUmxXQ2d3S1RzZ2ZWeHVZRHRjYmx4dUx5b3FYRzRnS2lCRGIyNTBZV2x1WlhKT1lYWnBaMkYwYVc5dVhHNGdLaTljYm1OdmJuTjBJRU52Ym5SaGFXNWxjazVoZG1sbllYUnBiMjVRY21sdGFYUnBkbVZDWVhObElEMGdLSHRjYmlBZ1kyaHBiR1J5Wlc0c1hHNGdJR2x6Ulc1MFpYSnBibWNzWEc0Z0lHbHpSWGhwZEdsdVp5eGNiaUFnZEdobGJXVXNYRzRnSUdselZtbHphV0pzWlN4Y2JuMHBJRDArSUh0Y2JpQWdiR1YwSUdGdWFXMWhkR2x2Yms1aGJXVTdYRzRnSUdsbUlDaHBjMFZ1ZEdWeWFXNW5LU0JoYm1sdFlYUnBiMjVPWVcxbElEMGdjMnhwWkdWSmJqdGNibHh1SUNCamIyNXpkQ0IwY21GdWMyWnZjbTBnUFNCcGMwVjRhWFJwYm1jZ1B5QW5kSEpoYm5Oc1lYUmxXQ2d4TURBbEtTY2dPaUJ1ZFd4c08xeHVYRzRnSUhKbGRIVnliaUFvWEc0Z0lDQWdQR1JwZGx4dUlDQWdJQ0FnWTNOelBYdGpjM05nWEc0Z0lDQWdJQ0FrZTN0Y2JpQWdJQ0FnSUNBZ0xpNHVkR2hsYldVdWJXOWtaUzVqYjI1MFpXNTBUbUYyS0NrdVkyOXVkR0ZwYm1WeUxGeHVJQ0FnSUNBZ0lDQmhibWx0WVhScGIyNUVkWEpoZEdsdmJqb2dkSEpoYm5OcGRHbHZia1IxY21GMGFXOXVMRnh1SUNBZ0lDQWdJQ0JoYm1sdFlYUnBiMjVHYVd4c1RXOWtaVG9nSjJadmNuZGhjbVJ6Snl4Y2JpQWdJQ0FnSUNBZ1lXNXBiV0YwYVc5dVZHbHRhVzVuUm5WdVkzUnBiMjQ2SUhSeVlXNXphWFJwYjI1VWFXMXBibWRHZFc1amRHbHZiaXhjYmlBZ0lDQWdJQ0FnZEhKaGJuTnBkR2x2YmxCeWIzQmxjblI1T2lBblltOTRVMmhoWkc5M0xDQjBjbUZ1YzJadmNtMG5MRnh1SUNBZ0lDQWdJQ0IwY21GdWMybDBhVzl1UkhWeVlYUnBiMjRzWEc0Z0lDQWdJQ0FnSUhSeVlXNXphWFJwYjI1VWFXMXBibWRHZFc1amRHbHZiaXhjYmlBZ0lDQWdJQ0FnZEhKaGJuTm1iM0p0TEZ4dUlDQWdJQ0FnZlgxY2JpQWdJQ0FnSUdGdWFXMWhkR2x2YmkxdVlXMWxPaUFrZTJGdWFXMWhkR2x2Yms1aGJXVjlPMXh1SUNBZ0lDQWdZSDFjYmlBZ0lDQStYRzRnSUNBZ0lDQThVMk55YjJ4c1VISnZkbWxrWlhJZ2FYTldhWE5wWW14bFBYdHBjMVpwYzJsaWJHVjlQbnRqYUdsc1pISmxibjA4TDFOamNtOXNiRkJ5YjNacFpHVnlQbHh1SUNBZ0lEd3ZaR2wyUGx4dUlDQXBPMXh1ZlR0Y2JseHVZMjl1YzNRZ1EyOXVkR0ZwYm1WeVRtRjJhV2RoZEdsdmJsQnlhVzFwZEdsMlpTQTlJSGRwZEdoRGIyNTBaVzUwVkdobGJXVW9YRzRnSUVOdmJuUmhhVzVsY2s1aGRtbG5ZWFJwYjI1UWNtbHRhWFJwZG1WQ1lYTmxMRnh1S1R0Y2JseHVaWGh3YjNKMElHTnZibk4wSUVOdmJuUmhhVzVsY2s1aGRtbG5ZWFJwYjI1VWFHVnRaU0E5SUNoN0lHTm9hV3hrY21WdUlIMHBJRDArSUNoY2JpQWdQRlJvWlcxbFVISnZkbWxrWlhJZ2RHaGxiV1U5ZTNzZ2JXOWtaVG9nYkdsbmFIUXNJR052Ym5SbGVIUTZJQ2RqYjI1MFlXbHVaWEluSUgxOVBseHVJQ0FnSUR4R2NtRm5iV1Z1ZEQ1N1kyaHBiR1J5Wlc1OVBDOUdjbUZuYldWdWRENWNiaUFnUEM5VWFHVnRaVkJ5YjNacFpHVnlQbHh1S1R0Y2JseHVaWGh3YjNKMElHTnZibk4wSUVOdmJuUmhhVzVsY2s1aGRtbG5ZWFJwYjI0Z1BTQndjbTl3Y3lBOVBpQW9YRzRnSUR4RGIyNTBZV2x1WlhKT1lYWnBaMkYwYVc5dVZHaGxiV1UrWEc0Z0lDQWdQRU52Ym5SaGFXNWxjazVoZG1sbllYUnBiMjVRY21sdGFYUnBkbVVnZXk0dUxuQnliM0J6ZlNBdlBseHVJQ0E4TDBOdmJuUmhhVzVsY2s1aGRtbG5ZWFJwYjI1VWFHVnRaVDVjYmlrN1hHNWNiaThxS2x4dUlDb2dRMjl1ZEdGcGJtVnlUM1psY214aGVWeHVJQ292WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JEYjI1MFlXbHVaWEpQZG1WeWJHRjVJRDBnS0hzZ2FYTldhWE5wWW14bExDQnZia05zYVdOckxDQXVMaTV3Y205d2N5QjlLU0E5UGlBb1hHNGdJRHhrYVhaY2JpQWdJQ0JqYzNNOWUzdGNiaUFnSUNBZ0lHSmhZMnRuY205MWJtUkRiMnh2Y2pvZ1RqY3dRU3hjYmlBZ0lDQWdJR04xY25OdmNqb2dhWE5XYVhOcFlteGxJRDhnSjNCdmFXNTBaWEluSURvZ0oyUmxabUYxYkhRbkxGeHVJQ0FnSUNBZ2FHVnBaMmgwT2lBbk1UQXdKU2NzWEc0Z0lDQWdJQ0JzWldaME9pQXdMRnh1SUNBZ0lDQWdiM0JoWTJsMGVUb2dhWE5XYVhOcFlteGxJRDhnTVNBNklEQXNYRzRnSUNBZ0lDQndiMmx1ZEdWeVJYWmxiblJ6T2lCcGMxWnBjMmxpYkdVZ1B5QW5ZV3hzSnlBNklDZHViMjVsSnl4Y2JpQWdJQ0FnSUhCdmMybDBhVzl1T2lBbllXSnpiMngxZEdVbkxGeHVJQ0FnSUNBZ2RHOXdPaUF3TEZ4dUlDQWdJQ0FnZEhKaGJuTnBkR2x2YmtSMWNtRjBhVzl1TEZ4dUlDQWdJQ0FnZEhKaGJuTnBkR2x2YmxCeWIzQmxjblI1T2lBbmIzQmhZMmwwZVNjc1hHNGdJQ0FnSUNCMGNtRnVjMmwwYVc5dVZHbHRhVzVuUm5WdVkzUnBiMjRzWEc0Z0lDQWdJQ0IzYVdSMGFEb2dKekV3TUNVbkxGeHVJQ0FnSUNBZ2VrbHVaR1Y0T2lBMUxGeHVJQ0FnSUgxOVhHNGdJQ0FnYjI1RGJHbGphejE3YjI1RGJHbGphMzFjYmlBZ0lDQnliMnhsUFZ3aWNISmxjMlZ1ZEdGMGFXOXVYQ0pjYmlBZ0lDQjdMaTR1Y0hKdmNITjlYRzRnSUM4K1hHNHBPMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdRMjl1ZEdWdWRFNWhkbWxuWVhScGIyNVhjbUZ3Y0dWeUlEMGdLSHRjYmlBZ2FXNXVaWEpTWldZc1hHNGdJR1JwYzJGaWJHVkpiblJsY21GamRHbHZiaXhjYmlBZ0xpNHVjSEp2Y0hOY2JuMHBJRDArSUNoY2JpQWdQR1JwZGx4dUlDQWdJSEpsWmoxN2FXNXVaWEpTWldaOVhHNGdJQ0FnWTNOelBYdDdYRzRnSUNBZ0lDQm9aV2xuYUhRNklDY3hNREFsSnl4Y2JpQWdJQ0FnSUhCdmMybDBhVzl1T2lBbmNtVnNZWFJwZG1VbkxGeHVJQ0FnSUNBZ0xpNHVZWEJ3YkhsRWFYTmhZbXhsWkZCeWIzQmxjblJwWlhNb0lTRmthWE5oWW14bFNXNTBaWEpoWTNScGIyNHBMRnh1SUNBZ0lIMTlYRzRnSUNBZ2V5NHVMbkJ5YjNCemZWeHVJQ0F2UGx4dUtUdGNibHh1Wlhod2IzSjBJR052Ym5OMElFTnZiblJoYVc1bGNrNWhkbWxuWVhScGIyNU5ZWE5ySUQwZ0tIc2daR2x6WVdKc1pVbHVkR1Z5WVdOMGFXOXVMQ0F1TGk1d2NtOXdjeUI5S1NBOVBpQW9YRzRnSUR4a2FYWmNiaUFnSUNCamMzTTllM3RjYmlBZ0lDQWdJR1JwYzNCc1lYazZJQ2RtYkdWNEp5eGNiaUFnSUNBZ0lHWnNaWGhFYVhKbFkzUnBiMjQ2SUNkeWIzY25MRnh1SUNBZ0lDQWdiM1psY21ac2IzYzZJQ2RvYVdSa1pXNG5MRnh1SUNBZ0lDQWdhR1ZwWjJoME9pQW5NVEF3SlNjc1hHNGdJQ0FnSUNBdUxpNWhjSEJzZVVScGMyRmliR1ZrVUhKdmNHVnlkR2xsY3lnaElXUnBjMkZpYkdWSmJuUmxjbUZqZEdsdmJpa3NYRzRnSUNBZ2ZYMWNiaUFnSUNCN0xpNHVjSEp2Y0hOOVhHNGdJQzgrWEc0cE8xeHVJbDE5ICovXCIpKVxuICB9LCBfX19FbW90aW9uSlNYKFNjcm9sbFByb3ZpZGVyLCB7XG4gICAgaXNWaXNpYmxlOiBpc1Zpc2libGVcbiAgfSwgY2hpbGRyZW4pKTtcbn07XG5cbnZhciBDb250YWluZXJOYXZpZ2F0aW9uUHJpbWl0aXZlID0gd2l0aENvbnRlbnRUaGVtZShDb250YWluZXJOYXZpZ2F0aW9uUHJpbWl0aXZlQmFzZSk7XG5leHBvcnQgdmFyIENvbnRhaW5lck5hdmlnYXRpb25UaGVtZSA9IGZ1bmN0aW9uIENvbnRhaW5lck5hdmlnYXRpb25UaGVtZShfcmVmNSkge1xuICB2YXIgY2hpbGRyZW4gPSBfcmVmNS5jaGlsZHJlbjtcbiAgcmV0dXJuIF9fX0Vtb3Rpb25KU1goVGhlbWVQcm92aWRlciwge1xuICAgIHRoZW1lOiB7XG4gICAgICBtb2RlOiBsaWdodCxcbiAgICAgIGNvbnRleHQ6ICdjb250YWluZXInXG4gICAgfVxuICB9LCBfX19FbW90aW9uSlNYKEZyYWdtZW50LCBudWxsLCBjaGlsZHJlbikpO1xufTtcbmV4cG9ydCB2YXIgQ29udGFpbmVyTmF2aWdhdGlvbiA9IGZ1bmN0aW9uIENvbnRhaW5lck5hdmlnYXRpb24ocHJvcHMpIHtcbiAgcmV0dXJuIF9fX0Vtb3Rpb25KU1goQ29udGFpbmVyTmF2aWdhdGlvblRoZW1lLCBudWxsLCBfX19FbW90aW9uSlNYKENvbnRhaW5lck5hdmlnYXRpb25QcmltaXRpdmUsIHByb3BzKSk7XG59O1xuLyoqXG4gKiBDb250YWluZXJPdmVybGF5XG4gKi9cblxuZXhwb3J0IHZhciBDb250YWluZXJPdmVybGF5ID0gZnVuY3Rpb24gQ29udGFpbmVyT3ZlcmxheShfcmVmNikge1xuICB2YXIgaXNWaXNpYmxlID0gX3JlZjYuaXNWaXNpYmxlLFxuICAgICAgb25DbGljayA9IF9yZWY2Lm9uQ2xpY2ssXG4gICAgICBwcm9wcyA9IF9vYmplY3RXaXRob3V0UHJvcGVydGllcyhfcmVmNiwgW1wiaXNWaXNpYmxlXCIsIFwib25DbGlja1wiXSk7XG5cbiAgcmV0dXJuIF9fX0Vtb3Rpb25KU1goXCJkaXZcIiwgX2V4dGVuZHMoe1xuICAgIGNzczpcbiAgICAvKiNfX1BVUkVfXyovXG4gICAgX2Nzcyh7XG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6IE43MEEsXG4gICAgICBjdXJzb3I6IGlzVmlzaWJsZSA/ICdwb2ludGVyJyA6ICdkZWZhdWx0JyxcbiAgICAgIGhlaWdodDogJzEwMCUnLFxuICAgICAgbGVmdDogMCxcbiAgICAgIG9wYWNpdHk6IGlzVmlzaWJsZSA/IDEgOiAwLFxuICAgICAgcG9pbnRlckV2ZW50czogaXNWaXNpYmxlID8gJ2FsbCcgOiAnbm9uZScsXG4gICAgICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgICAgIHRvcDogMCxcbiAgICAgIHRyYW5zaXRpb25EdXJhdGlvbjogdHJhbnNpdGlvbkR1cmF0aW9uLFxuICAgICAgdHJhbnNpdGlvblByb3BlcnR5OiAnb3BhY2l0eScsXG4gICAgICB0cmFuc2l0aW9uVGltaW5nRnVuY3Rpb246IHRyYW5zaXRpb25UaW1pbmdGdW5jdGlvbixcbiAgICAgIHdpZHRoOiAnMTAwJScsXG4gICAgICB6SW5kZXg6IDVcbiAgICB9LCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyBcIlwiIDogXCIvKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJaTR1THk0dUx5NHVMeTR1THk0dUwzTnlZeTlqYjIxd2IyNWxiblJ6TDNCeVpYTmxiblJoZEdsdmJtRnNMME52Ym5SbGJuUk9ZWFpwWjJGMGFXOXVMM0J5YVcxcGRHbDJaWE11YW5NaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQmNVcEpJaXdpWm1sc1pTSTZJaTR1THk0dUx5NHVMeTR1THk0dUwzTnlZeTlqYjIxd2IyNWxiblJ6TDNCeVpYTmxiblJoZEdsdmJtRnNMME52Ym5SbGJuUk9ZWFpwWjJGMGFXOXVMM0J5YVcxcGRHbDJaWE11YW5NaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SnBiWEJ2Y25RZ1VtVmhZM1FzSUhzZ1JuSmhaMjFsYm5RZ2ZTQm1jbTl0SUNkeVpXRmpkQ2M3WEc1Y2JtbHRjRzl5ZENCN0lHTnpjeXdnYTJWNVpuSmhiV1Z6SUgwZ1puSnZiU0FuUUdWdGIzUnBiMjR2WTI5eVpTYzdYRzVjYm1sdGNHOXlkQ0I3SUU0M01FRWdmU0JtY205dElDZEFZWFJzWVhOcmFYUXZkR2hsYldVdlkyOXNiM0p6Snp0Y2JseHVhVzF3YjNKMElIdGNiaUFnZEhKaGJuTnBkR2x2YmtSMWNtRjBhVzl1TEZ4dUlDQjBjbUZ1YzJsMGFXOXVWR2x0YVc1blJuVnVZM1JwYjI0c1hHNTlJR1p5YjIwZ0p5NHVMeTR1THk0dUwyTnZiVzF2Ymk5amIyNXpkR0Z1ZEhNbk8xeHVhVzF3YjNKMElIc2dZWEJ3YkhsRWFYTmhZbXhsWkZCeWIzQmxjblJwWlhNZ2ZTQm1jbTl0SUNjdUxpOHVMaTh1TGk5amIyMXRiMjR2YUdWc2NHVnljeWM3WEc1cGJYQnZjblFnZXlCc2FXZG9kQ3dnVkdobGJXVlFjbTkyYVdSbGNpd2dkMmwwYUVOdmJuUmxiblJVYUdWdFpTQjlJR1p5YjIwZ0p5NHVMeTR1THk0dUwzUm9aVzFsSnp0Y2JseHVMeW9xWEc0Z0tpQkRiMjF3YjI1bGJuUWdkSEpsWlNCemRISjFZM1IxY21WY2JpQXFJQ0F0SUZCeWIyUjFZM1JPWVhacFoyRjBhVzl1WEc0Z0tpQWdMU0JEYjI1MFlXbHVaWEpPWVhacFoyRjBhVzl1WEc0Z0tpQWdJQ0F0SUVOdmJuUmhhVzVsY2s5MlpYSnNZWGxjYmlBcUwxeHVYRzVsZUhCdmNuUWdZMjl1YzNRZ1UyTnliMnhzVUhKdmRtbGtaWEpTWldZZ1BTQlNaV0ZqZEM1amNtVmhkR1ZEYjI1MFpYaDBLQ2s3WEc1amIyNXpkQ0JUWTNKdmJHeFFjbTkyYVdSbGNpQTlJQ2g3SUdselZtbHphV0pzWlN3Z0xpNHVjSEp2Y0hNZ2ZTa2dQVDRnZTF4dUlDQmpiMjV6ZENCelkzSnZiR3hRY205MmFXUmxjbEpsWmlBOUlGSmxZV04wTG1OeVpXRjBaVkpsWmlncE8xeHVYRzRnSUhKbGRIVnliaUFvWEc0Z0lDQWdQRk5qY205c2JGQnliM1pwWkdWeVVtVm1MbEJ5YjNacFpHVnlJSFpoYkhWbFBYdHpZM0p2Ykd4UWNtOTJhV1JsY2xKbFpuMCtYRzRnSUNBZ0lDQThaR2wyWEc0Z0lDQWdJQ0FnSUdOemN6MTdlMXh1SUNBZ0lDQWdJQ0FnSUdKdmVGTnBlbWx1WnpvZ0oySnZjbVJsY2kxaWIzZ25MRnh1SUNBZ0lDQWdJQ0FnSUdScGMzQnNZWGs2SUdselZtbHphV0pzWlNBL0lDZG1iR1Y0SnlBNklDZHViMjVsSnl4Y2JpQWdJQ0FnSUNBZ0lDQm1iR1Y0UkdseVpXTjBhVzl1T2lBblkyOXNkVzF1Snl4Y2JpQWdJQ0FnSUNBZ0lDQm9aV2xuYUhRNklDY3hNREFsSnl4Y2JpQWdJQ0FnSUNBZ0lDQnZkbVZ5Wm14dmQxZzZJQ2RvYVdSa1pXNG5MRnh1SUNBZ0lDQWdJQ0FnSUc5MlpYSm1iRzkzV1RvZ0oyRjFkRzhuTEZ4dUlDQWdJQ0FnSUNBZ0lIZHBaSFJvT2lBbk1UQXdKU2NzWEc0Z0lDQWdJQ0FnSUgxOVhHNGdJQ0FnSUNBZ0lIUmhZa2x1WkdWNFBYc3RNWDFjYmlBZ0lDQWdJQ0FnY205c1pUMWNJbWR5YjNWd1hDSmNiaUFnSUNBZ0lDQWdjbVZtUFh0elkzSnZiR3hRY205MmFXUmxjbEpsWm4xY2JpQWdJQ0FnSUNBZ2V5NHVMbkJ5YjNCemZWeHVJQ0FnSUNBZ0x6NWNiaUFnSUNBOEwxTmpjbTlzYkZCeWIzWnBaR1Z5VW1WbUxsQnliM1pwWkdWeVBseHVJQ0FwTzF4dWZUdGNibHh1THlvcVhHNGdLaUJRY205a2RXTjBUbUYyYVdkaGRHbHZibHh1SUNvdlhHNWpiMjV6ZENCUWNtOWtkV04wVG1GMmFXZGhkR2x2YmxCeWFXMXBkR2wyWlVKaGMyVWdQU0FvZTF4dUlDQmphR2xzWkhKbGJpeGNiaUFnYVhOV2FYTnBZbXhsTEZ4dUlDQjBhR1Z0WlNBOUlIc2diVzlrWlRvZ2JHbG5hSFFzSUdOdmJuUmxlSFE2SUNkd2NtOWtkV04wSnlCOUxGeHVmU2tnUFQ0Z0tGeHVJQ0E4WkdsMlhHNGdJQ0FnWTNOelBYdDdYRzRnSUNBZ0lDQXVMaTUwYUdWdFpTNXRiMlJsTG1OdmJuUmxiblJPWVhZb0tTNXdjbTlrZFdOMExGeHVJQ0FnSUNBZ0p5WTZibTkwS0RwdmJteDVMV05vYVd4a0tTYzZJSHRjYmlBZ0lDQWdJQ0FnTHk4Z1UyVjBkR2x1WnlCNkxXbHVaR1Y0SUdWdWMzVnlaWE1nVTJOeWIyeHNTR2x1ZEhNZ2MzUmhlU0JpWld4dmR5QjBhR1VnWTI5dWRHRnBibVZ5SUc1aGRseHVJQ0FnSUNBZ0lDQXZMeUFtT201dmRDZzZiMjVzZVMxamFHbHNaQ2tnYzJWMGN5QnBkQ0J2Ym14NUlIZG9aVzRnWW05MGFDQmpiMjUwWVdsdVpYSWdZVzVrSUhCeWIyUjFZM1JjYmlBZ0lDQWdJQ0FnTHk4Z2JtRjJJR0Z5WlNCeVpXNWtaWEpsWkM1Y2JpQWdJQ0FnSUNBZ2VrbHVaR1Y0T2lBdE1TeGNiaUFnSUNBZ0lIMHNYRzRnSUNBZ2ZYMWNiaUFnUGx4dUlDQWdJRHhUWTNKdmJHeFFjbTkyYVdSbGNpQnBjMVpwYzJsaWJHVTllMmx6Vm1semFXSnNaWDArZTJOb2FXeGtjbVZ1ZlR3dlUyTnliMnhzVUhKdmRtbGtaWEkrWEc0Z0lEd3ZaR2wyUGx4dUtUdGNibHh1WTI5dWMzUWdVSEp2WkhWamRFNWhkbWxuWVhScGIyNVFjbWx0YVhScGRtVWdQU0IzYVhSb1EyOXVkR1Z1ZEZSb1pXMWxLRnh1SUNCUWNtOWtkV04wVG1GMmFXZGhkR2x2YmxCeWFXMXBkR2wyWlVKaGMyVXNYRzRwTzF4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnVUhKdlpIVmpkRTVoZG1sbllYUnBiMjVVYUdWdFpTQTlJQ2g3SUdOb2FXeGtjbVZ1SUgwcElEMCtJQ2hjYmlBZ1BGUm9aVzFsVUhKdmRtbGtaWEpjYmlBZ0lDQjBhR1Z0WlQxN2IyeGtWR2hsYldVZ1BUNGdLSHNnYlc5a1pUb2diR2xuYUhRc0lDNHVMbTlzWkZSb1pXMWxMQ0JqYjI1MFpYaDBPaUFuY0hKdlpIVmpkQ2NnZlNsOVhHNGdJRDVjYmlBZ0lDQThSbkpoWjIxbGJuUStlMk5vYVd4a2NtVnVmVHd2Um5KaFoyMWxiblErWEc0Z0lEd3ZWR2hsYldWUWNtOTJhV1JsY2o1Y2JpazdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQlFjbTlrZFdOMFRtRjJhV2RoZEdsdmJpQTlJSEJ5YjNCeklEMCtJQ2hjYmlBZ1BGQnliMlIxWTNST1lYWnBaMkYwYVc5dVZHaGxiV1UrWEc0Z0lDQWdQRkJ5YjJSMVkzUk9ZWFpwWjJGMGFXOXVVSEpwYldsMGFYWmxJSHN1TGk1d2NtOXdjMzBnTHo1Y2JpQWdQQzlRY205a2RXTjBUbUYyYVdkaGRHbHZibFJvWlcxbFBseHVLVHRjYmx4dVkyOXVjM1FnYzJ4cFpHVkpiaUE5SUd0bGVXWnlZVzFsYzJCY2JpQWdabkp2YlNCN0lIUnlZVzV6Wm05eWJUb2dkSEpoYm5Oc1lYUmxXQ2d4TURBbEtUc2dmVnh1SUNCMGJ5QjdJSFJ5WVc1elptOXliVG9nZEhKaGJuTnNZWFJsV0Nnd0tUc2dmVnh1WUR0Y2JseHVMeW9xWEc0Z0tpQkRiMjUwWVdsdVpYSk9ZWFpwWjJGMGFXOXVYRzRnS2k5Y2JtTnZibk4wSUVOdmJuUmhhVzVsY2s1aGRtbG5ZWFJwYjI1UWNtbHRhWFJwZG1WQ1lYTmxJRDBnS0h0Y2JpQWdZMmhwYkdSeVpXNHNYRzRnSUdselJXNTBaWEpwYm1jc1hHNGdJR2x6UlhocGRHbHVaeXhjYmlBZ2RHaGxiV1VzWEc0Z0lHbHpWbWx6YVdKc1pTeGNibjBwSUQwK0lIdGNiaUFnYkdWMElHRnVhVzFoZEdsdmJrNWhiV1U3WEc0Z0lHbG1JQ2hwYzBWdWRHVnlhVzVuS1NCaGJtbHRZWFJwYjI1T1lXMWxJRDBnYzJ4cFpHVkpianRjYmx4dUlDQmpiMjV6ZENCMGNtRnVjMlp2Y20wZ1BTQnBjMFY0YVhScGJtY2dQeUFuZEhKaGJuTnNZWFJsV0NneE1EQWxLU2NnT2lCdWRXeHNPMXh1WEc0Z0lISmxkSFZ5YmlBb1hHNGdJQ0FnUEdScGRseHVJQ0FnSUNBZ1kzTnpQWHRqYzNOZ1hHNGdJQ0FnSUNBa2UzdGNiaUFnSUNBZ0lDQWdMaTR1ZEdobGJXVXViVzlrWlM1amIyNTBaVzUwVG1GMktDa3VZMjl1ZEdGcGJtVnlMRnh1SUNBZ0lDQWdJQ0JoYm1sdFlYUnBiMjVFZFhKaGRHbHZiam9nZEhKaGJuTnBkR2x2YmtSMWNtRjBhVzl1TEZ4dUlDQWdJQ0FnSUNCaGJtbHRZWFJwYjI1R2FXeHNUVzlrWlRvZ0oyWnZjbmRoY21Sekp5eGNiaUFnSUNBZ0lDQWdZVzVwYldGMGFXOXVWR2x0YVc1blJuVnVZM1JwYjI0NklIUnlZVzV6YVhScGIyNVVhVzFwYm1kR2RXNWpkR2x2Yml4Y2JpQWdJQ0FnSUNBZ2RISmhibk5wZEdsdmJsQnliM0JsY25SNU9pQW5ZbTk0VTJoaFpHOTNMQ0IwY21GdWMyWnZjbTBuTEZ4dUlDQWdJQ0FnSUNCMGNtRnVjMmwwYVc5dVJIVnlZWFJwYjI0c1hHNGdJQ0FnSUNBZ0lIUnlZVzV6YVhScGIyNVVhVzFwYm1kR2RXNWpkR2x2Yml4Y2JpQWdJQ0FnSUNBZ2RISmhibk5tYjNKdExGeHVJQ0FnSUNBZ2ZYMWNiaUFnSUNBZ0lHRnVhVzFoZEdsdmJpMXVZVzFsT2lBa2UyRnVhVzFoZEdsdmJrNWhiV1Y5TzF4dUlDQWdJQ0FnWUgxY2JpQWdJQ0ErWEc0Z0lDQWdJQ0E4VTJOeWIyeHNVSEp2ZG1sa1pYSWdhWE5XYVhOcFlteGxQWHRwYzFacGMybGliR1Y5UG50amFHbHNaSEpsYm4wOEwxTmpjbTlzYkZCeWIzWnBaR1Z5UGx4dUlDQWdJRHd2WkdsMlBseHVJQ0FwTzF4dWZUdGNibHh1WTI5dWMzUWdRMjl1ZEdGcGJtVnlUbUYyYVdkaGRHbHZibEJ5YVcxcGRHbDJaU0E5SUhkcGRHaERiMjUwWlc1MFZHaGxiV1VvWEc0Z0lFTnZiblJoYVc1bGNrNWhkbWxuWVhScGIyNVFjbWx0YVhScGRtVkNZWE5sTEZ4dUtUdGNibHh1Wlhod2IzSjBJR052Ym5OMElFTnZiblJoYVc1bGNrNWhkbWxuWVhScGIyNVVhR1Z0WlNBOUlDaDdJR05vYVd4a2NtVnVJSDBwSUQwK0lDaGNiaUFnUEZSb1pXMWxVSEp2ZG1sa1pYSWdkR2hsYldVOWUzc2diVzlrWlRvZ2JHbG5hSFFzSUdOdmJuUmxlSFE2SUNkamIyNTBZV2x1WlhJbklIMTlQbHh1SUNBZ0lEeEdjbUZuYldWdWRENTdZMmhwYkdSeVpXNTlQQzlHY21GbmJXVnVkRDVjYmlBZ1BDOVVhR1Z0WlZCeWIzWnBaR1Z5UGx4dUtUdGNibHh1Wlhod2IzSjBJR052Ym5OMElFTnZiblJoYVc1bGNrNWhkbWxuWVhScGIyNGdQU0J3Y205d2N5QTlQaUFvWEc0Z0lEeERiMjUwWVdsdVpYSk9ZWFpwWjJGMGFXOXVWR2hsYldVK1hHNGdJQ0FnUEVOdmJuUmhhVzVsY2s1aGRtbG5ZWFJwYjI1UWNtbHRhWFJwZG1VZ2V5NHVMbkJ5YjNCemZTQXZQbHh1SUNBOEwwTnZiblJoYVc1bGNrNWhkbWxuWVhScGIyNVVhR1Z0WlQ1Y2JpazdYRzVjYmk4cUtseHVJQ29nUTI5dWRHRnBibVZ5VDNabGNteGhlVnh1SUNvdlhHNWNibVY0Y0c5eWRDQmpiMjV6ZENCRGIyNTBZV2x1WlhKUGRtVnliR0Y1SUQwZ0tIc2dhWE5XYVhOcFlteGxMQ0J2YmtOc2FXTnJMQ0F1TGk1d2NtOXdjeUI5S1NBOVBpQW9YRzRnSUR4a2FYWmNiaUFnSUNCamMzTTllM3RjYmlBZ0lDQWdJR0poWTJ0bmNtOTFibVJEYjJ4dmNqb2dUamN3UVN4Y2JpQWdJQ0FnSUdOMWNuTnZjam9nYVhOV2FYTnBZbXhsSUQ4Z0ozQnZhVzUwWlhJbklEb2dKMlJsWm1GMWJIUW5MRnh1SUNBZ0lDQWdhR1ZwWjJoME9pQW5NVEF3SlNjc1hHNGdJQ0FnSUNCc1pXWjBPaUF3TEZ4dUlDQWdJQ0FnYjNCaFkybDBlVG9nYVhOV2FYTnBZbXhsSUQ4Z01TQTZJREFzWEc0Z0lDQWdJQ0J3YjJsdWRHVnlSWFpsYm5Sek9pQnBjMVpwYzJsaWJHVWdQeUFuWVd4c0p5QTZJQ2R1YjI1bEp5eGNiaUFnSUNBZ0lIQnZjMmwwYVc5dU9pQW5ZV0p6YjJ4MWRHVW5MRnh1SUNBZ0lDQWdkRzl3T2lBd0xGeHVJQ0FnSUNBZ2RISmhibk5wZEdsdmJrUjFjbUYwYVc5dUxGeHVJQ0FnSUNBZ2RISmhibk5wZEdsdmJsQnliM0JsY25SNU9pQW5iM0JoWTJsMGVTY3NYRzRnSUNBZ0lDQjBjbUZ1YzJsMGFXOXVWR2x0YVc1blJuVnVZM1JwYjI0c1hHNGdJQ0FnSUNCM2FXUjBhRG9nSnpFd01DVW5MRnh1SUNBZ0lDQWdla2x1WkdWNE9pQTFMRnh1SUNBZ0lIMTlYRzRnSUNBZ2IyNURiR2xqYXoxN2IyNURiR2xqYTMxY2JpQWdJQ0J5YjJ4bFBWd2ljSEpsYzJWdWRHRjBhVzl1WENKY2JpQWdJQ0I3TGk0dWNISnZjSE45WEc0Z0lDOCtYRzRwTzF4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnUTI5dWRHVnVkRTVoZG1sbllYUnBiMjVYY21Gd2NHVnlJRDBnS0h0Y2JpQWdhVzV1WlhKU1pXWXNYRzRnSUdScGMyRmliR1ZKYm5SbGNtRmpkR2x2Yml4Y2JpQWdMaTR1Y0hKdmNITmNibjBwSUQwK0lDaGNiaUFnUEdScGRseHVJQ0FnSUhKbFpqMTdhVzV1WlhKU1pXWjlYRzRnSUNBZ1kzTnpQWHQ3WEc0Z0lDQWdJQ0JvWldsbmFIUTZJQ2N4TURBbEp5eGNiaUFnSUNBZ0lIQnZjMmwwYVc5dU9pQW5jbVZzWVhScGRtVW5MRnh1SUNBZ0lDQWdMaTR1WVhCd2JIbEVhWE5oWW14bFpGQnliM0JsY25ScFpYTW9JU0ZrYVhOaFlteGxTVzUwWlhKaFkzUnBiMjRwTEZ4dUlDQWdJSDE5WEc0Z0lDQWdleTR1TG5CeWIzQnpmVnh1SUNBdlBseHVLVHRjYmx4dVpYaHdiM0owSUdOdmJuTjBJRU52Ym5SaGFXNWxjazVoZG1sbllYUnBiMjVOWVhOcklEMGdLSHNnWkdsellXSnNaVWx1ZEdWeVlXTjBhVzl1TENBdUxpNXdjbTl3Y3lCOUtTQTlQaUFvWEc0Z0lEeGthWFpjYmlBZ0lDQmpjM005ZTN0Y2JpQWdJQ0FnSUdScGMzQnNZWGs2SUNkbWJHVjRKeXhjYmlBZ0lDQWdJR1pzWlhoRWFYSmxZM1JwYjI0NklDZHliM2NuTEZ4dUlDQWdJQ0FnYjNabGNtWnNiM2M2SUNkb2FXUmtaVzRuTEZ4dUlDQWdJQ0FnYUdWcFoyaDBPaUFuTVRBd0pTY3NYRzRnSUNBZ0lDQXVMaTVoY0hCc2VVUnBjMkZpYkdWa1VISnZjR1Z5ZEdsbGN5Z2hJV1JwYzJGaWJHVkpiblJsY21GamRHbHZiaWtzWEc0Z0lDQWdmWDFjYmlBZ0lDQjdMaTR1Y0hKdmNITjlYRzRnSUM4K1hHNHBPMXh1SWwxOSAqL1wiKSxcbiAgICBvbkNsaWNrOiBvbkNsaWNrLFxuICAgIHJvbGU6IFwicHJlc2VudGF0aW9uXCJcbiAgfSwgcHJvcHMpKTtcbn07XG5leHBvcnQgdmFyIENvbnRlbnROYXZpZ2F0aW9uV3JhcHBlciA9IGZ1bmN0aW9uIENvbnRlbnROYXZpZ2F0aW9uV3JhcHBlcihfcmVmNykge1xuICB2YXIgaW5uZXJSZWYgPSBfcmVmNy5pbm5lclJlZixcbiAgICAgIGRpc2FibGVJbnRlcmFjdGlvbiA9IF9yZWY3LmRpc2FibGVJbnRlcmFjdGlvbixcbiAgICAgIHByb3BzID0gX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzKF9yZWY3LCBbXCJpbm5lclJlZlwiLCBcImRpc2FibGVJbnRlcmFjdGlvblwiXSk7XG5cbiAgcmV0dXJuIF9fX0Vtb3Rpb25KU1goXCJkaXZcIiwgX2V4dGVuZHMoe1xuICAgIHJlZjogaW5uZXJSZWYsXG4gICAgY3NzOlxuICAgIC8qI19fUFVSRV9fKi9cbiAgICBfY3NzKF9vYmplY3RTcHJlYWQoe1xuICAgICAgaGVpZ2h0OiAnMTAwJScsXG4gICAgICBwb3NpdGlvbjogJ3JlbGF0aXZlJ1xuICAgIH0sIGFwcGx5RGlzYWJsZWRQcm9wZXJ0aWVzKCEhZGlzYWJsZUludGVyYWN0aW9uKSksIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IFwiXCIgOiBcIi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpNHVMeTR1THk0dUx5NHVMeTR1TDNOeVl5OWpiMjF3YjI1bGJuUnpMM0J5WlhObGJuUmhkR2x2Ym1Gc0wwTnZiblJsYm5ST1lYWnBaMkYwYVc5dUwzQnlhVzFwZEdsMlpYTXVhbk1pWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCYVV4Sklpd2labWxzWlNJNklpNHVMeTR1THk0dUx5NHVMeTR1TDNOeVl5OWpiMjF3YjI1bGJuUnpMM0J5WlhObGJuUmhkR2x2Ym1Gc0wwTnZiblJsYm5ST1lYWnBaMkYwYVc5dUwzQnlhVzFwZEdsMlpYTXVhbk1pTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lKcGJYQnZjblFnVW1WaFkzUXNJSHNnUm5KaFoyMWxiblFnZlNCbWNtOXRJQ2R5WldGamRDYzdYRzVjYm1sdGNHOXlkQ0I3SUdOemN5d2dhMlY1Wm5KaGJXVnpJSDBnWm5KdmJTQW5RR1Z0YjNScGIyNHZZMjl5WlNjN1hHNWNibWx0Y0c5eWRDQjdJRTQzTUVFZ2ZTQm1jbTl0SUNkQVlYUnNZWE5yYVhRdmRHaGxiV1V2WTI5c2IzSnpKenRjYmx4dWFXMXdiM0owSUh0Y2JpQWdkSEpoYm5OcGRHbHZia1IxY21GMGFXOXVMRnh1SUNCMGNtRnVjMmwwYVc5dVZHbHRhVzVuUm5WdVkzUnBiMjRzWEc1OUlHWnliMjBnSnk0dUx5NHVMeTR1TDJOdmJXMXZiaTlqYjI1emRHRnVkSE1uTzF4dWFXMXdiM0owSUhzZ1lYQndiSGxFYVhOaFlteGxaRkJ5YjNCbGNuUnBaWE1nZlNCbWNtOXRJQ2N1TGk4dUxpOHVMaTlqYjIxdGIyNHZhR1ZzY0dWeWN5YzdYRzVwYlhCdmNuUWdleUJzYVdkb2RDd2dWR2hsYldWUWNtOTJhV1JsY2l3Z2QybDBhRU52Ym5SbGJuUlVhR1Z0WlNCOUlHWnliMjBnSnk0dUx5NHVMeTR1TDNSb1pXMWxKenRjYmx4dUx5b3FYRzRnS2lCRGIyMXdiMjVsYm5RZ2RISmxaU0J6ZEhKMVkzUjFjbVZjYmlBcUlDQXRJRkJ5YjJSMVkzUk9ZWFpwWjJGMGFXOXVYRzRnS2lBZ0xTQkRiMjUwWVdsdVpYSk9ZWFpwWjJGMGFXOXVYRzRnS2lBZ0lDQXRJRU52Ym5SaGFXNWxjazkyWlhKc1lYbGNiaUFxTDF4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnVTJOeWIyeHNVSEp2ZG1sa1pYSlNaV1lnUFNCU1pXRmpkQzVqY21WaGRHVkRiMjUwWlhoMEtDazdYRzVqYjI1emRDQlRZM0p2Ykd4UWNtOTJhV1JsY2lBOUlDaDdJR2x6Vm1semFXSnNaU3dnTGk0dWNISnZjSE1nZlNrZ1BUNGdlMXh1SUNCamIyNXpkQ0J6WTNKdmJHeFFjbTkyYVdSbGNsSmxaaUE5SUZKbFlXTjBMbU55WldGMFpWSmxaaWdwTzF4dVhHNGdJSEpsZEhWeWJpQW9YRzRnSUNBZ1BGTmpjbTlzYkZCeWIzWnBaR1Z5VW1WbUxsQnliM1pwWkdWeUlIWmhiSFZsUFh0elkzSnZiR3hRY205MmFXUmxjbEpsWm4wK1hHNGdJQ0FnSUNBOFpHbDJYRzRnSUNBZ0lDQWdJR056Y3oxN2UxeHVJQ0FnSUNBZ0lDQWdJR0p2ZUZOcGVtbHVaem9nSjJKdmNtUmxjaTFpYjNnbkxGeHVJQ0FnSUNBZ0lDQWdJR1JwYzNCc1lYazZJR2x6Vm1semFXSnNaU0EvSUNkbWJHVjRKeUE2SUNkdWIyNWxKeXhjYmlBZ0lDQWdJQ0FnSUNCbWJHVjRSR2x5WldOMGFXOXVPaUFuWTI5c2RXMXVKeXhjYmlBZ0lDQWdJQ0FnSUNCb1pXbG5hSFE2SUNjeE1EQWxKeXhjYmlBZ0lDQWdJQ0FnSUNCdmRtVnlabXh2ZDFnNklDZG9hV1JrWlc0bkxGeHVJQ0FnSUNBZ0lDQWdJRzkyWlhKbWJHOTNXVG9nSjJGMWRHOG5MRnh1SUNBZ0lDQWdJQ0FnSUhkcFpIUm9PaUFuTVRBd0pTY3NYRzRnSUNBZ0lDQWdJSDE5WEc0Z0lDQWdJQ0FnSUhSaFlrbHVaR1Y0UFhzdE1YMWNiaUFnSUNBZ0lDQWdjbTlzWlQxY0ltZHliM1Z3WENKY2JpQWdJQ0FnSUNBZ2NtVm1QWHR6WTNKdmJHeFFjbTkyYVdSbGNsSmxabjFjYmlBZ0lDQWdJQ0FnZXk0dUxuQnliM0J6ZlZ4dUlDQWdJQ0FnTHo1Y2JpQWdJQ0E4TDFOamNtOXNiRkJ5YjNacFpHVnlVbVZtTGxCeWIzWnBaR1Z5UGx4dUlDQXBPMXh1ZlR0Y2JseHVMeW9xWEc0Z0tpQlFjbTlrZFdOMFRtRjJhV2RoZEdsdmJseHVJQ292WEc1amIyNXpkQ0JRY205a2RXTjBUbUYyYVdkaGRHbHZibEJ5YVcxcGRHbDJaVUpoYzJVZ1BTQW9lMXh1SUNCamFHbHNaSEpsYml4Y2JpQWdhWE5XYVhOcFlteGxMRnh1SUNCMGFHVnRaU0E5SUhzZ2JXOWtaVG9nYkdsbmFIUXNJR052Ym5SbGVIUTZJQ2R3Y205a2RXTjBKeUI5TEZ4dWZTa2dQVDRnS0Z4dUlDQThaR2wyWEc0Z0lDQWdZM056UFh0N1hHNGdJQ0FnSUNBdUxpNTBhR1Z0WlM1dGIyUmxMbU52Ym5SbGJuUk9ZWFlvS1M1d2NtOWtkV04wTEZ4dUlDQWdJQ0FnSnlZNmJtOTBLRHB2Ym14NUxXTm9hV3hrS1NjNklIdGNiaUFnSUNBZ0lDQWdMeThnVTJWMGRHbHVaeUI2TFdsdVpHVjRJR1Z1YzNWeVpYTWdVMk55YjJ4c1NHbHVkSE1nYzNSaGVTQmlaV3h2ZHlCMGFHVWdZMjl1ZEdGcGJtVnlJRzVoZGx4dUlDQWdJQ0FnSUNBdkx5QW1PbTV2ZENnNmIyNXNlUzFqYUdsc1pDa2djMlYwY3lCcGRDQnZibXg1SUhkb1pXNGdZbTkwYUNCamIyNTBZV2x1WlhJZ1lXNWtJSEJ5YjJSMVkzUmNiaUFnSUNBZ0lDQWdMeThnYm1GMklHRnlaU0J5Wlc1a1pYSmxaQzVjYmlBZ0lDQWdJQ0FnZWtsdVpHVjRPaUF0TVN4Y2JpQWdJQ0FnSUgwc1hHNGdJQ0FnZlgxY2JpQWdQbHh1SUNBZ0lEeFRZM0p2Ykd4UWNtOTJhV1JsY2lCcGMxWnBjMmxpYkdVOWUybHpWbWx6YVdKc1pYMCtlMk5vYVd4a2NtVnVmVHd2VTJOeWIyeHNVSEp2ZG1sa1pYSStYRzRnSUR3dlpHbDJQbHh1S1R0Y2JseHVZMjl1YzNRZ1VISnZaSFZqZEU1aGRtbG5ZWFJwYjI1UWNtbHRhWFJwZG1VZ1BTQjNhWFJvUTI5dWRHVnVkRlJvWlcxbEtGeHVJQ0JRY205a2RXTjBUbUYyYVdkaGRHbHZibEJ5YVcxcGRHbDJaVUpoYzJVc1hHNHBPMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdVSEp2WkhWamRFNWhkbWxuWVhScGIyNVVhR1Z0WlNBOUlDaDdJR05vYVd4a2NtVnVJSDBwSUQwK0lDaGNiaUFnUEZSb1pXMWxVSEp2ZG1sa1pYSmNiaUFnSUNCMGFHVnRaVDE3YjJ4a1ZHaGxiV1VnUFQ0Z0tIc2diVzlrWlRvZ2JHbG5hSFFzSUM0dUxtOXNaRlJvWlcxbExDQmpiMjUwWlhoME9pQW5jSEp2WkhWamRDY2dmU2w5WEc0Z0lENWNiaUFnSUNBOFJuSmhaMjFsYm5RK2UyTm9hV3hrY21WdWZUd3ZSbkpoWjIxbGJuUStYRzRnSUR3dlZHaGxiV1ZRY205MmFXUmxjajVjYmlrN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCUWNtOWtkV04wVG1GMmFXZGhkR2x2YmlBOUlIQnliM0J6SUQwK0lDaGNiaUFnUEZCeWIyUjFZM1JPWVhacFoyRjBhVzl1VkdobGJXVStYRzRnSUNBZ1BGQnliMlIxWTNST1lYWnBaMkYwYVc5dVVISnBiV2wwYVhabElIc3VMaTV3Y205d2MzMGdMejVjYmlBZ1BDOVFjbTlrZFdOMFRtRjJhV2RoZEdsdmJsUm9aVzFsUGx4dUtUdGNibHh1WTI5dWMzUWdjMnhwWkdWSmJpQTlJR3RsZVdaeVlXMWxjMkJjYmlBZ1puSnZiU0I3SUhSeVlXNXpabTl5YlRvZ2RISmhibk5zWVhSbFdDZ3hNREFsS1RzZ2ZWeHVJQ0IwYnlCN0lIUnlZVzV6Wm05eWJUb2dkSEpoYm5Oc1lYUmxXQ2d3S1RzZ2ZWeHVZRHRjYmx4dUx5b3FYRzRnS2lCRGIyNTBZV2x1WlhKT1lYWnBaMkYwYVc5dVhHNGdLaTljYm1OdmJuTjBJRU52Ym5SaGFXNWxjazVoZG1sbllYUnBiMjVRY21sdGFYUnBkbVZDWVhObElEMGdLSHRjYmlBZ1kyaHBiR1J5Wlc0c1hHNGdJR2x6Ulc1MFpYSnBibWNzWEc0Z0lHbHpSWGhwZEdsdVp5eGNiaUFnZEdobGJXVXNYRzRnSUdselZtbHphV0pzWlN4Y2JuMHBJRDArSUh0Y2JpQWdiR1YwSUdGdWFXMWhkR2x2Yms1aGJXVTdYRzRnSUdsbUlDaHBjMFZ1ZEdWeWFXNW5LU0JoYm1sdFlYUnBiMjVPWVcxbElEMGdjMnhwWkdWSmJqdGNibHh1SUNCamIyNXpkQ0IwY21GdWMyWnZjbTBnUFNCcGMwVjRhWFJwYm1jZ1B5QW5kSEpoYm5Oc1lYUmxXQ2d4TURBbEtTY2dPaUJ1ZFd4c08xeHVYRzRnSUhKbGRIVnliaUFvWEc0Z0lDQWdQR1JwZGx4dUlDQWdJQ0FnWTNOelBYdGpjM05nWEc0Z0lDQWdJQ0FrZTN0Y2JpQWdJQ0FnSUNBZ0xpNHVkR2hsYldVdWJXOWtaUzVqYjI1MFpXNTBUbUYyS0NrdVkyOXVkR0ZwYm1WeUxGeHVJQ0FnSUNBZ0lDQmhibWx0WVhScGIyNUVkWEpoZEdsdmJqb2dkSEpoYm5OcGRHbHZia1IxY21GMGFXOXVMRnh1SUNBZ0lDQWdJQ0JoYm1sdFlYUnBiMjVHYVd4c1RXOWtaVG9nSjJadmNuZGhjbVJ6Snl4Y2JpQWdJQ0FnSUNBZ1lXNXBiV0YwYVc5dVZHbHRhVzVuUm5WdVkzUnBiMjQ2SUhSeVlXNXphWFJwYjI1VWFXMXBibWRHZFc1amRHbHZiaXhjYmlBZ0lDQWdJQ0FnZEhKaGJuTnBkR2x2YmxCeWIzQmxjblI1T2lBblltOTRVMmhoWkc5M0xDQjBjbUZ1YzJadmNtMG5MRnh1SUNBZ0lDQWdJQ0IwY21GdWMybDBhVzl1UkhWeVlYUnBiMjRzWEc0Z0lDQWdJQ0FnSUhSeVlXNXphWFJwYjI1VWFXMXBibWRHZFc1amRHbHZiaXhjYmlBZ0lDQWdJQ0FnZEhKaGJuTm1iM0p0TEZ4dUlDQWdJQ0FnZlgxY2JpQWdJQ0FnSUdGdWFXMWhkR2x2YmkxdVlXMWxPaUFrZTJGdWFXMWhkR2x2Yms1aGJXVjlPMXh1SUNBZ0lDQWdZSDFjYmlBZ0lDQStYRzRnSUNBZ0lDQThVMk55YjJ4c1VISnZkbWxrWlhJZ2FYTldhWE5wWW14bFBYdHBjMVpwYzJsaWJHVjlQbnRqYUdsc1pISmxibjA4TDFOamNtOXNiRkJ5YjNacFpHVnlQbHh1SUNBZ0lEd3ZaR2wyUGx4dUlDQXBPMXh1ZlR0Y2JseHVZMjl1YzNRZ1EyOXVkR0ZwYm1WeVRtRjJhV2RoZEdsdmJsQnlhVzFwZEdsMlpTQTlJSGRwZEdoRGIyNTBaVzUwVkdobGJXVW9YRzRnSUVOdmJuUmhhVzVsY2s1aGRtbG5ZWFJwYjI1UWNtbHRhWFJwZG1WQ1lYTmxMRnh1S1R0Y2JseHVaWGh3YjNKMElHTnZibk4wSUVOdmJuUmhhVzVsY2s1aGRtbG5ZWFJwYjI1VWFHVnRaU0E5SUNoN0lHTm9hV3hrY21WdUlIMHBJRDArSUNoY2JpQWdQRlJvWlcxbFVISnZkbWxrWlhJZ2RHaGxiV1U5ZTNzZ2JXOWtaVG9nYkdsbmFIUXNJR052Ym5SbGVIUTZJQ2RqYjI1MFlXbHVaWEluSUgxOVBseHVJQ0FnSUR4R2NtRm5iV1Z1ZEQ1N1kyaHBiR1J5Wlc1OVBDOUdjbUZuYldWdWRENWNiaUFnUEM5VWFHVnRaVkJ5YjNacFpHVnlQbHh1S1R0Y2JseHVaWGh3YjNKMElHTnZibk4wSUVOdmJuUmhhVzVsY2s1aGRtbG5ZWFJwYjI0Z1BTQndjbTl3Y3lBOVBpQW9YRzRnSUR4RGIyNTBZV2x1WlhKT1lYWnBaMkYwYVc5dVZHaGxiV1UrWEc0Z0lDQWdQRU52Ym5SaGFXNWxjazVoZG1sbllYUnBiMjVRY21sdGFYUnBkbVVnZXk0dUxuQnliM0J6ZlNBdlBseHVJQ0E4TDBOdmJuUmhhVzVsY2s1aGRtbG5ZWFJwYjI1VWFHVnRaVDVjYmlrN1hHNWNiaThxS2x4dUlDb2dRMjl1ZEdGcGJtVnlUM1psY214aGVWeHVJQ292WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JEYjI1MFlXbHVaWEpQZG1WeWJHRjVJRDBnS0hzZ2FYTldhWE5wWW14bExDQnZia05zYVdOckxDQXVMaTV3Y205d2N5QjlLU0E5UGlBb1hHNGdJRHhrYVhaY2JpQWdJQ0JqYzNNOWUzdGNiaUFnSUNBZ0lHSmhZMnRuY205MWJtUkRiMnh2Y2pvZ1RqY3dRU3hjYmlBZ0lDQWdJR04xY25OdmNqb2dhWE5XYVhOcFlteGxJRDhnSjNCdmFXNTBaWEluSURvZ0oyUmxabUYxYkhRbkxGeHVJQ0FnSUNBZ2FHVnBaMmgwT2lBbk1UQXdKU2NzWEc0Z0lDQWdJQ0JzWldaME9pQXdMRnh1SUNBZ0lDQWdiM0JoWTJsMGVUb2dhWE5XYVhOcFlteGxJRDhnTVNBNklEQXNYRzRnSUNBZ0lDQndiMmx1ZEdWeVJYWmxiblJ6T2lCcGMxWnBjMmxpYkdVZ1B5QW5ZV3hzSnlBNklDZHViMjVsSnl4Y2JpQWdJQ0FnSUhCdmMybDBhVzl1T2lBbllXSnpiMngxZEdVbkxGeHVJQ0FnSUNBZ2RHOXdPaUF3TEZ4dUlDQWdJQ0FnZEhKaGJuTnBkR2x2YmtSMWNtRjBhVzl1TEZ4dUlDQWdJQ0FnZEhKaGJuTnBkR2x2YmxCeWIzQmxjblI1T2lBbmIzQmhZMmwwZVNjc1hHNGdJQ0FnSUNCMGNtRnVjMmwwYVc5dVZHbHRhVzVuUm5WdVkzUnBiMjRzWEc0Z0lDQWdJQ0IzYVdSMGFEb2dKekV3TUNVbkxGeHVJQ0FnSUNBZ2VrbHVaR1Y0T2lBMUxGeHVJQ0FnSUgxOVhHNGdJQ0FnYjI1RGJHbGphejE3YjI1RGJHbGphMzFjYmlBZ0lDQnliMnhsUFZ3aWNISmxjMlZ1ZEdGMGFXOXVYQ0pjYmlBZ0lDQjdMaTR1Y0hKdmNITjlYRzRnSUM4K1hHNHBPMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdRMjl1ZEdWdWRFNWhkbWxuWVhScGIyNVhjbUZ3Y0dWeUlEMGdLSHRjYmlBZ2FXNXVaWEpTWldZc1hHNGdJR1JwYzJGaWJHVkpiblJsY21GamRHbHZiaXhjYmlBZ0xpNHVjSEp2Y0hOY2JuMHBJRDArSUNoY2JpQWdQR1JwZGx4dUlDQWdJSEpsWmoxN2FXNXVaWEpTWldaOVhHNGdJQ0FnWTNOelBYdDdYRzRnSUNBZ0lDQm9aV2xuYUhRNklDY3hNREFsSnl4Y2JpQWdJQ0FnSUhCdmMybDBhVzl1T2lBbmNtVnNZWFJwZG1VbkxGeHVJQ0FnSUNBZ0xpNHVZWEJ3YkhsRWFYTmhZbXhsWkZCeWIzQmxjblJwWlhNb0lTRmthWE5oWW14bFNXNTBaWEpoWTNScGIyNHBMRnh1SUNBZ0lIMTlYRzRnSUNBZ2V5NHVMbkJ5YjNCemZWeHVJQ0F2UGx4dUtUdGNibHh1Wlhod2IzSjBJR052Ym5OMElFTnZiblJoYVc1bGNrNWhkbWxuWVhScGIyNU5ZWE5ySUQwZ0tIc2daR2x6WVdKc1pVbHVkR1Z5WVdOMGFXOXVMQ0F1TGk1d2NtOXdjeUI5S1NBOVBpQW9YRzRnSUR4a2FYWmNiaUFnSUNCamMzTTllM3RjYmlBZ0lDQWdJR1JwYzNCc1lYazZJQ2RtYkdWNEp5eGNiaUFnSUNBZ0lHWnNaWGhFYVhKbFkzUnBiMjQ2SUNkeWIzY25MRnh1SUNBZ0lDQWdiM1psY21ac2IzYzZJQ2RvYVdSa1pXNG5MRnh1SUNBZ0lDQWdhR1ZwWjJoME9pQW5NVEF3SlNjc1hHNGdJQ0FnSUNBdUxpNWhjSEJzZVVScGMyRmliR1ZrVUhKdmNHVnlkR2xsY3lnaElXUnBjMkZpYkdWSmJuUmxjbUZqZEdsdmJpa3NYRzRnSUNBZ2ZYMWNiaUFnSUNCN0xpNHVjSEp2Y0hOOVhHNGdJQzgrWEc0cE8xeHVJbDE5ICovXCIpXG4gIH0sIHByb3BzKSk7XG59O1xuZXhwb3J0IHZhciBDb250YWluZXJOYXZpZ2F0aW9uTWFzayA9IGZ1bmN0aW9uIENvbnRhaW5lck5hdmlnYXRpb25NYXNrKF9yZWY4KSB7XG4gIHZhciBkaXNhYmxlSW50ZXJhY3Rpb24gPSBfcmVmOC5kaXNhYmxlSW50ZXJhY3Rpb24sXG4gICAgICBwcm9wcyA9IF9vYmplY3RXaXRob3V0UHJvcGVydGllcyhfcmVmOCwgW1wiZGlzYWJsZUludGVyYWN0aW9uXCJdKTtcblxuICByZXR1cm4gX19fRW1vdGlvbkpTWChcImRpdlwiLCBfZXh0ZW5kcyh7XG4gICAgY3NzOlxuICAgIC8qI19fUFVSRV9fKi9cbiAgICBfY3NzKF9vYmplY3RTcHJlYWQoe1xuICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgZmxleERpcmVjdGlvbjogJ3JvdycsXG4gICAgICBvdmVyZmxvdzogJ2hpZGRlbicsXG4gICAgICBoZWlnaHQ6ICcxMDAlJ1xuICAgIH0sIGFwcGx5RGlzYWJsZWRQcm9wZXJ0aWVzKCEhZGlzYWJsZUludGVyYWN0aW9uKSksIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IFwiXCIgOiBcIi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpNHVMeTR1THk0dUx5NHVMeTR1TDNOeVl5OWpiMjF3YjI1bGJuUnpMM0J5WlhObGJuUmhkR2x2Ym1Gc0wwTnZiblJsYm5ST1lYWnBaMkYwYVc5dUwzQnlhVzFwZEdsMlpYTXVhbk1pWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCTkV4Sklpd2labWxzWlNJNklpNHVMeTR1THk0dUx5NHVMeTR1TDNOeVl5OWpiMjF3YjI1bGJuUnpMM0J5WlhObGJuUmhkR2x2Ym1Gc0wwTnZiblJsYm5ST1lYWnBaMkYwYVc5dUwzQnlhVzFwZEdsMlpYTXVhbk1pTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lKcGJYQnZjblFnVW1WaFkzUXNJSHNnUm5KaFoyMWxiblFnZlNCbWNtOXRJQ2R5WldGamRDYzdYRzVjYm1sdGNHOXlkQ0I3SUdOemN5d2dhMlY1Wm5KaGJXVnpJSDBnWm5KdmJTQW5RR1Z0YjNScGIyNHZZMjl5WlNjN1hHNWNibWx0Y0c5eWRDQjdJRTQzTUVFZ2ZTQm1jbTl0SUNkQVlYUnNZWE5yYVhRdmRHaGxiV1V2WTI5c2IzSnpKenRjYmx4dWFXMXdiM0owSUh0Y2JpQWdkSEpoYm5OcGRHbHZia1IxY21GMGFXOXVMRnh1SUNCMGNtRnVjMmwwYVc5dVZHbHRhVzVuUm5WdVkzUnBiMjRzWEc1OUlHWnliMjBnSnk0dUx5NHVMeTR1TDJOdmJXMXZiaTlqYjI1emRHRnVkSE1uTzF4dWFXMXdiM0owSUhzZ1lYQndiSGxFYVhOaFlteGxaRkJ5YjNCbGNuUnBaWE1nZlNCbWNtOXRJQ2N1TGk4dUxpOHVMaTlqYjIxdGIyNHZhR1ZzY0dWeWN5YzdYRzVwYlhCdmNuUWdleUJzYVdkb2RDd2dWR2hsYldWUWNtOTJhV1JsY2l3Z2QybDBhRU52Ym5SbGJuUlVhR1Z0WlNCOUlHWnliMjBnSnk0dUx5NHVMeTR1TDNSb1pXMWxKenRjYmx4dUx5b3FYRzRnS2lCRGIyMXdiMjVsYm5RZ2RISmxaU0J6ZEhKMVkzUjFjbVZjYmlBcUlDQXRJRkJ5YjJSMVkzUk9ZWFpwWjJGMGFXOXVYRzRnS2lBZ0xTQkRiMjUwWVdsdVpYSk9ZWFpwWjJGMGFXOXVYRzRnS2lBZ0lDQXRJRU52Ym5SaGFXNWxjazkyWlhKc1lYbGNiaUFxTDF4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnVTJOeWIyeHNVSEp2ZG1sa1pYSlNaV1lnUFNCU1pXRmpkQzVqY21WaGRHVkRiMjUwWlhoMEtDazdYRzVqYjI1emRDQlRZM0p2Ykd4UWNtOTJhV1JsY2lBOUlDaDdJR2x6Vm1semFXSnNaU3dnTGk0dWNISnZjSE1nZlNrZ1BUNGdlMXh1SUNCamIyNXpkQ0J6WTNKdmJHeFFjbTkyYVdSbGNsSmxaaUE5SUZKbFlXTjBMbU55WldGMFpWSmxaaWdwTzF4dVhHNGdJSEpsZEhWeWJpQW9YRzRnSUNBZ1BGTmpjbTlzYkZCeWIzWnBaR1Z5VW1WbUxsQnliM1pwWkdWeUlIWmhiSFZsUFh0elkzSnZiR3hRY205MmFXUmxjbEpsWm4wK1hHNGdJQ0FnSUNBOFpHbDJYRzRnSUNBZ0lDQWdJR056Y3oxN2UxeHVJQ0FnSUNBZ0lDQWdJR0p2ZUZOcGVtbHVaem9nSjJKdmNtUmxjaTFpYjNnbkxGeHVJQ0FnSUNBZ0lDQWdJR1JwYzNCc1lYazZJR2x6Vm1semFXSnNaU0EvSUNkbWJHVjRKeUE2SUNkdWIyNWxKeXhjYmlBZ0lDQWdJQ0FnSUNCbWJHVjRSR2x5WldOMGFXOXVPaUFuWTI5c2RXMXVKeXhjYmlBZ0lDQWdJQ0FnSUNCb1pXbG5hSFE2SUNjeE1EQWxKeXhjYmlBZ0lDQWdJQ0FnSUNCdmRtVnlabXh2ZDFnNklDZG9hV1JrWlc0bkxGeHVJQ0FnSUNBZ0lDQWdJRzkyWlhKbWJHOTNXVG9nSjJGMWRHOG5MRnh1SUNBZ0lDQWdJQ0FnSUhkcFpIUm9PaUFuTVRBd0pTY3NYRzRnSUNBZ0lDQWdJSDE5WEc0Z0lDQWdJQ0FnSUhSaFlrbHVaR1Y0UFhzdE1YMWNiaUFnSUNBZ0lDQWdjbTlzWlQxY0ltZHliM1Z3WENKY2JpQWdJQ0FnSUNBZ2NtVm1QWHR6WTNKdmJHeFFjbTkyYVdSbGNsSmxabjFjYmlBZ0lDQWdJQ0FnZXk0dUxuQnliM0J6ZlZ4dUlDQWdJQ0FnTHo1Y2JpQWdJQ0E4TDFOamNtOXNiRkJ5YjNacFpHVnlVbVZtTGxCeWIzWnBaR1Z5UGx4dUlDQXBPMXh1ZlR0Y2JseHVMeW9xWEc0Z0tpQlFjbTlrZFdOMFRtRjJhV2RoZEdsdmJseHVJQ292WEc1amIyNXpkQ0JRY205a2RXTjBUbUYyYVdkaGRHbHZibEJ5YVcxcGRHbDJaVUpoYzJVZ1BTQW9lMXh1SUNCamFHbHNaSEpsYml4Y2JpQWdhWE5XYVhOcFlteGxMRnh1SUNCMGFHVnRaU0E5SUhzZ2JXOWtaVG9nYkdsbmFIUXNJR052Ym5SbGVIUTZJQ2R3Y205a2RXTjBKeUI5TEZ4dWZTa2dQVDRnS0Z4dUlDQThaR2wyWEc0Z0lDQWdZM056UFh0N1hHNGdJQ0FnSUNBdUxpNTBhR1Z0WlM1dGIyUmxMbU52Ym5SbGJuUk9ZWFlvS1M1d2NtOWtkV04wTEZ4dUlDQWdJQ0FnSnlZNmJtOTBLRHB2Ym14NUxXTm9hV3hrS1NjNklIdGNiaUFnSUNBZ0lDQWdMeThnVTJWMGRHbHVaeUI2TFdsdVpHVjRJR1Z1YzNWeVpYTWdVMk55YjJ4c1NHbHVkSE1nYzNSaGVTQmlaV3h2ZHlCMGFHVWdZMjl1ZEdGcGJtVnlJRzVoZGx4dUlDQWdJQ0FnSUNBdkx5QW1PbTV2ZENnNmIyNXNlUzFqYUdsc1pDa2djMlYwY3lCcGRDQnZibXg1SUhkb1pXNGdZbTkwYUNCamIyNTBZV2x1WlhJZ1lXNWtJSEJ5YjJSMVkzUmNiaUFnSUNBZ0lDQWdMeThnYm1GMklHRnlaU0J5Wlc1a1pYSmxaQzVjYmlBZ0lDQWdJQ0FnZWtsdVpHVjRPaUF0TVN4Y2JpQWdJQ0FnSUgwc1hHNGdJQ0FnZlgxY2JpQWdQbHh1SUNBZ0lEeFRZM0p2Ykd4UWNtOTJhV1JsY2lCcGMxWnBjMmxpYkdVOWUybHpWbWx6YVdKc1pYMCtlMk5vYVd4a2NtVnVmVHd2VTJOeWIyeHNVSEp2ZG1sa1pYSStYRzRnSUR3dlpHbDJQbHh1S1R0Y2JseHVZMjl1YzNRZ1VISnZaSFZqZEU1aGRtbG5ZWFJwYjI1UWNtbHRhWFJwZG1VZ1BTQjNhWFJvUTI5dWRHVnVkRlJvWlcxbEtGeHVJQ0JRY205a2RXTjBUbUYyYVdkaGRHbHZibEJ5YVcxcGRHbDJaVUpoYzJVc1hHNHBPMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdVSEp2WkhWamRFNWhkbWxuWVhScGIyNVVhR1Z0WlNBOUlDaDdJR05vYVd4a2NtVnVJSDBwSUQwK0lDaGNiaUFnUEZSb1pXMWxVSEp2ZG1sa1pYSmNiaUFnSUNCMGFHVnRaVDE3YjJ4a1ZHaGxiV1VnUFQ0Z0tIc2diVzlrWlRvZ2JHbG5hSFFzSUM0dUxtOXNaRlJvWlcxbExDQmpiMjUwWlhoME9pQW5jSEp2WkhWamRDY2dmU2w5WEc0Z0lENWNiaUFnSUNBOFJuSmhaMjFsYm5RK2UyTm9hV3hrY21WdWZUd3ZSbkpoWjIxbGJuUStYRzRnSUR3dlZHaGxiV1ZRY205MmFXUmxjajVjYmlrN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCUWNtOWtkV04wVG1GMmFXZGhkR2x2YmlBOUlIQnliM0J6SUQwK0lDaGNiaUFnUEZCeWIyUjFZM1JPWVhacFoyRjBhVzl1VkdobGJXVStYRzRnSUNBZ1BGQnliMlIxWTNST1lYWnBaMkYwYVc5dVVISnBiV2wwYVhabElIc3VMaTV3Y205d2MzMGdMejVjYmlBZ1BDOVFjbTlrZFdOMFRtRjJhV2RoZEdsdmJsUm9aVzFsUGx4dUtUdGNibHh1WTI5dWMzUWdjMnhwWkdWSmJpQTlJR3RsZVdaeVlXMWxjMkJjYmlBZ1puSnZiU0I3SUhSeVlXNXpabTl5YlRvZ2RISmhibk5zWVhSbFdDZ3hNREFsS1RzZ2ZWeHVJQ0IwYnlCN0lIUnlZVzV6Wm05eWJUb2dkSEpoYm5Oc1lYUmxXQ2d3S1RzZ2ZWeHVZRHRjYmx4dUx5b3FYRzRnS2lCRGIyNTBZV2x1WlhKT1lYWnBaMkYwYVc5dVhHNGdLaTljYm1OdmJuTjBJRU52Ym5SaGFXNWxjazVoZG1sbllYUnBiMjVRY21sdGFYUnBkbVZDWVhObElEMGdLSHRjYmlBZ1kyaHBiR1J5Wlc0c1hHNGdJR2x6Ulc1MFpYSnBibWNzWEc0Z0lHbHpSWGhwZEdsdVp5eGNiaUFnZEdobGJXVXNYRzRnSUdselZtbHphV0pzWlN4Y2JuMHBJRDArSUh0Y2JpQWdiR1YwSUdGdWFXMWhkR2x2Yms1aGJXVTdYRzRnSUdsbUlDaHBjMFZ1ZEdWeWFXNW5LU0JoYm1sdFlYUnBiMjVPWVcxbElEMGdjMnhwWkdWSmJqdGNibHh1SUNCamIyNXpkQ0IwY21GdWMyWnZjbTBnUFNCcGMwVjRhWFJwYm1jZ1B5QW5kSEpoYm5Oc1lYUmxXQ2d4TURBbEtTY2dPaUJ1ZFd4c08xeHVYRzRnSUhKbGRIVnliaUFvWEc0Z0lDQWdQR1JwZGx4dUlDQWdJQ0FnWTNOelBYdGpjM05nWEc0Z0lDQWdJQ0FrZTN0Y2JpQWdJQ0FnSUNBZ0xpNHVkR2hsYldVdWJXOWtaUzVqYjI1MFpXNTBUbUYyS0NrdVkyOXVkR0ZwYm1WeUxGeHVJQ0FnSUNBZ0lDQmhibWx0WVhScGIyNUVkWEpoZEdsdmJqb2dkSEpoYm5OcGRHbHZia1IxY21GMGFXOXVMRnh1SUNBZ0lDQWdJQ0JoYm1sdFlYUnBiMjVHYVd4c1RXOWtaVG9nSjJadmNuZGhjbVJ6Snl4Y2JpQWdJQ0FnSUNBZ1lXNXBiV0YwYVc5dVZHbHRhVzVuUm5WdVkzUnBiMjQ2SUhSeVlXNXphWFJwYjI1VWFXMXBibWRHZFc1amRHbHZiaXhjYmlBZ0lDQWdJQ0FnZEhKaGJuTnBkR2x2YmxCeWIzQmxjblI1T2lBblltOTRVMmhoWkc5M0xDQjBjbUZ1YzJadmNtMG5MRnh1SUNBZ0lDQWdJQ0IwY21GdWMybDBhVzl1UkhWeVlYUnBiMjRzWEc0Z0lDQWdJQ0FnSUhSeVlXNXphWFJwYjI1VWFXMXBibWRHZFc1amRHbHZiaXhjYmlBZ0lDQWdJQ0FnZEhKaGJuTm1iM0p0TEZ4dUlDQWdJQ0FnZlgxY2JpQWdJQ0FnSUdGdWFXMWhkR2x2YmkxdVlXMWxPaUFrZTJGdWFXMWhkR2x2Yms1aGJXVjlPMXh1SUNBZ0lDQWdZSDFjYmlBZ0lDQStYRzRnSUNBZ0lDQThVMk55YjJ4c1VISnZkbWxrWlhJZ2FYTldhWE5wWW14bFBYdHBjMVpwYzJsaWJHVjlQbnRqYUdsc1pISmxibjA4TDFOamNtOXNiRkJ5YjNacFpHVnlQbHh1SUNBZ0lEd3ZaR2wyUGx4dUlDQXBPMXh1ZlR0Y2JseHVZMjl1YzNRZ1EyOXVkR0ZwYm1WeVRtRjJhV2RoZEdsdmJsQnlhVzFwZEdsMlpTQTlJSGRwZEdoRGIyNTBaVzUwVkdobGJXVW9YRzRnSUVOdmJuUmhhVzVsY2s1aGRtbG5ZWFJwYjI1UWNtbHRhWFJwZG1WQ1lYTmxMRnh1S1R0Y2JseHVaWGh3YjNKMElHTnZibk4wSUVOdmJuUmhhVzVsY2s1aGRtbG5ZWFJwYjI1VWFHVnRaU0E5SUNoN0lHTm9hV3hrY21WdUlIMHBJRDArSUNoY2JpQWdQRlJvWlcxbFVISnZkbWxrWlhJZ2RHaGxiV1U5ZTNzZ2JXOWtaVG9nYkdsbmFIUXNJR052Ym5SbGVIUTZJQ2RqYjI1MFlXbHVaWEluSUgxOVBseHVJQ0FnSUR4R2NtRm5iV1Z1ZEQ1N1kyaHBiR1J5Wlc1OVBDOUdjbUZuYldWdWRENWNiaUFnUEM5VWFHVnRaVkJ5YjNacFpHVnlQbHh1S1R0Y2JseHVaWGh3YjNKMElHTnZibk4wSUVOdmJuUmhhVzVsY2s1aGRtbG5ZWFJwYjI0Z1BTQndjbTl3Y3lBOVBpQW9YRzRnSUR4RGIyNTBZV2x1WlhKT1lYWnBaMkYwYVc5dVZHaGxiV1UrWEc0Z0lDQWdQRU52Ym5SaGFXNWxjazVoZG1sbllYUnBiMjVRY21sdGFYUnBkbVVnZXk0dUxuQnliM0J6ZlNBdlBseHVJQ0E4TDBOdmJuUmhhVzVsY2s1aGRtbG5ZWFJwYjI1VWFHVnRaVDVjYmlrN1hHNWNiaThxS2x4dUlDb2dRMjl1ZEdGcGJtVnlUM1psY214aGVWeHVJQ292WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JEYjI1MFlXbHVaWEpQZG1WeWJHRjVJRDBnS0hzZ2FYTldhWE5wWW14bExDQnZia05zYVdOckxDQXVMaTV3Y205d2N5QjlLU0E5UGlBb1hHNGdJRHhrYVhaY2JpQWdJQ0JqYzNNOWUzdGNiaUFnSUNBZ0lHSmhZMnRuY205MWJtUkRiMnh2Y2pvZ1RqY3dRU3hjYmlBZ0lDQWdJR04xY25OdmNqb2dhWE5XYVhOcFlteGxJRDhnSjNCdmFXNTBaWEluSURvZ0oyUmxabUYxYkhRbkxGeHVJQ0FnSUNBZ2FHVnBaMmgwT2lBbk1UQXdKU2NzWEc0Z0lDQWdJQ0JzWldaME9pQXdMRnh1SUNBZ0lDQWdiM0JoWTJsMGVUb2dhWE5XYVhOcFlteGxJRDhnTVNBNklEQXNYRzRnSUNBZ0lDQndiMmx1ZEdWeVJYWmxiblJ6T2lCcGMxWnBjMmxpYkdVZ1B5QW5ZV3hzSnlBNklDZHViMjVsSnl4Y2JpQWdJQ0FnSUhCdmMybDBhVzl1T2lBbllXSnpiMngxZEdVbkxGeHVJQ0FnSUNBZ2RHOXdPaUF3TEZ4dUlDQWdJQ0FnZEhKaGJuTnBkR2x2YmtSMWNtRjBhVzl1TEZ4dUlDQWdJQ0FnZEhKaGJuTnBkR2x2YmxCeWIzQmxjblI1T2lBbmIzQmhZMmwwZVNjc1hHNGdJQ0FnSUNCMGNtRnVjMmwwYVc5dVZHbHRhVzVuUm5WdVkzUnBiMjRzWEc0Z0lDQWdJQ0IzYVdSMGFEb2dKekV3TUNVbkxGeHVJQ0FnSUNBZ2VrbHVaR1Y0T2lBMUxGeHVJQ0FnSUgxOVhHNGdJQ0FnYjI1RGJHbGphejE3YjI1RGJHbGphMzFjYmlBZ0lDQnliMnhsUFZ3aWNISmxjMlZ1ZEdGMGFXOXVYQ0pjYmlBZ0lDQjdMaTR1Y0hKdmNITjlYRzRnSUM4K1hHNHBPMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdRMjl1ZEdWdWRFNWhkbWxuWVhScGIyNVhjbUZ3Y0dWeUlEMGdLSHRjYmlBZ2FXNXVaWEpTWldZc1hHNGdJR1JwYzJGaWJHVkpiblJsY21GamRHbHZiaXhjYmlBZ0xpNHVjSEp2Y0hOY2JuMHBJRDArSUNoY2JpQWdQR1JwZGx4dUlDQWdJSEpsWmoxN2FXNXVaWEpTWldaOVhHNGdJQ0FnWTNOelBYdDdYRzRnSUNBZ0lDQm9aV2xuYUhRNklDY3hNREFsSnl4Y2JpQWdJQ0FnSUhCdmMybDBhVzl1T2lBbmNtVnNZWFJwZG1VbkxGeHVJQ0FnSUNBZ0xpNHVZWEJ3YkhsRWFYTmhZbXhsWkZCeWIzQmxjblJwWlhNb0lTRmthWE5oWW14bFNXNTBaWEpoWTNScGIyNHBMRnh1SUNBZ0lIMTlYRzRnSUNBZ2V5NHVMbkJ5YjNCemZWeHVJQ0F2UGx4dUtUdGNibHh1Wlhod2IzSjBJR052Ym5OMElFTnZiblJoYVc1bGNrNWhkbWxuWVhScGIyNU5ZWE5ySUQwZ0tIc2daR2x6WVdKc1pVbHVkR1Z5WVdOMGFXOXVMQ0F1TGk1d2NtOXdjeUI5S1NBOVBpQW9YRzRnSUR4a2FYWmNiaUFnSUNCamMzTTllM3RjYmlBZ0lDQWdJR1JwYzNCc1lYazZJQ2RtYkdWNEp5eGNiaUFnSUNBZ0lHWnNaWGhFYVhKbFkzUnBiMjQ2SUNkeWIzY25MRnh1SUNBZ0lDQWdiM1psY21ac2IzYzZJQ2RvYVdSa1pXNG5MRnh1SUNBZ0lDQWdhR1ZwWjJoME9pQW5NVEF3SlNjc1hHNGdJQ0FnSUNBdUxpNWhjSEJzZVVScGMyRmliR1ZrVUhKdmNHVnlkR2xsY3lnaElXUnBjMkZpYkdWSmJuUmxjbUZqZEdsdmJpa3NYRzRnSUNBZ2ZYMWNiaUFnSUNCN0xpNHVjSEp2Y0hOOVhHNGdJQzgrWEc0cE8xeHVJbDE5ICovXCIpXG4gIH0sIHByb3BzKSk7XG59OyJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/ContentNavigation/primitives.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/ContentNavigation/styles.js": /*!***************************************************************************************************************!*\ !*** ./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/ContentNavigation/styles.js ***! \***************************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/objectSpread */ \"./node_modules/@babel/runtime/helpers/objectSpread.js\");\n/* harmony import */ var _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @atlaskit/theme/colors */ \"./node_modules/@atlaskit/theme/dist/esm/colors.js\");\n/* harmony import */ var _common_constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../common/constants */ \"./node_modules/@atlaskit/navigation-next/dist/esm/common/constants.js\");\n\n\n\nvar baseStyles = {\n boxSizing: 'border-box',\n height: '100%',\n left: 0,\n minWidth: _common_constants__WEBPACK_IMPORTED_MODULE_2__[\"CONTENT_NAV_WIDTH\"],\n overflowX: 'hidden',\n position: 'absolute',\n top: 0,\n width: '100%'\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (function (_ref) {\n var product = _ref.product;\n return function () {\n return {\n container: _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0___default()({}, baseStyles, {\n backgroundColor: _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_1__[\"N20\"],\n color: _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_1__[\"N500\"]\n }),\n product: _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0___default()({}, baseStyles, {\n backgroundColor: product.background.default,\n color: product.text.default\n })\n };\n };\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL0NvbnRlbnROYXZpZ2F0aW9uL3N0eWxlcy5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AYXRsYXNraXQvbmF2aWdhdGlvbi1uZXh0L2Rpc3QvZXNtL2NvbXBvbmVudHMvcHJlc2VudGF0aW9uYWwvQ29udGVudE5hdmlnYXRpb24vc3R5bGVzLmpzPzM1ODUiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IF9vYmplY3RTcHJlYWQgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvb2JqZWN0U3ByZWFkXCI7XG5pbXBvcnQgeyBOMjAsIE41MDAgfSBmcm9tICdAYXRsYXNraXQvdGhlbWUvY29sb3JzJztcbmltcG9ydCB7IENPTlRFTlRfTkFWX1dJRFRIIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2NvbnN0YW50cyc7XG52YXIgYmFzZVN0eWxlcyA9IHtcbiAgYm94U2l6aW5nOiAnYm9yZGVyLWJveCcsXG4gIGhlaWdodDogJzEwMCUnLFxuICBsZWZ0OiAwLFxuICBtaW5XaWR0aDogQ09OVEVOVF9OQVZfV0lEVEgsXG4gIG92ZXJmbG93WDogJ2hpZGRlbicsXG4gIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICB0b3A6IDAsXG4gIHdpZHRoOiAnMTAwJSdcbn07XG5leHBvcnQgZGVmYXVsdCAoZnVuY3Rpb24gKF9yZWYpIHtcbiAgdmFyIHByb2R1Y3QgPSBfcmVmLnByb2R1Y3Q7XG4gIHJldHVybiBmdW5jdGlvbiAoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbnRhaW5lcjogX29iamVjdFNwcmVhZCh7fSwgYmFzZVN0eWxlcywge1xuICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IE4yMCxcbiAgICAgICAgY29sb3I6IE41MDBcbiAgICAgIH0pLFxuICAgICAgcHJvZHVjdDogX29iamVjdFNwcmVhZCh7fSwgYmFzZVN0eWxlcywge1xuICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IHByb2R1Y3QuYmFja2dyb3VuZC5kZWZhdWx0LFxuICAgICAgICBjb2xvcjogcHJvZHVjdC50ZXh0LmRlZmF1bHRcbiAgICAgIH0pXG4gICAgfTtcbiAgfTtcbn0pOyJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/ContentNavigation/styles.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/GlobalItem/index.js": /*!*******************************************************************************************************!*\ !*** ./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/GlobalItem/index.js ***! \*******************************************************************************************************/ /*! exports provided: GlobalItemBase, default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"GlobalItemBase\", function() { return GlobalItemBase; });\n/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ \"./node_modules/@babel/runtime/helpers/objectWithoutProperties.js\");\n/* harmony import */ var _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ \"./node_modules/@babel/runtime/helpers/classCallCheck.js\");\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\");\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ \"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ \"./node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @babel/runtime/helpers/assertThisInitialized */ \"./node_modules/@babel/runtime/helpers/assertThisInitialized.js\");\n/* harmony import */ var _babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ \"./node_modules/@babel/runtime/helpers/inherits.js\");\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ \"./node_modules/@babel/runtime/helpers/defineProperty.js\");\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var _emotion_core__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @emotion/core */ \"./node_modules/@emotion/core/dist/core.browser.esm.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_10__);\n/* harmony import */ var _common_analytics__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../../common/analytics */ \"./node_modules/@atlaskit/navigation-next/dist/esm/common/analytics.js\");\n/* harmony import */ var _theme__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../../theme */ \"./node_modules/@atlaskit/navigation-next/dist/esm/theme/index.js\");\n/* harmony import */ var _InteractionStateManager__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../InteractionStateManager */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/InteractionStateManager/index.js\");\n/* harmony import */ var _primitives__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./primitives */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/GlobalItem/primitives.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar GlobalItemBase =\n/*#__PURE__*/\nfunction (_PureComponent) {\n _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_7___default()(GlobalItemBase, _PureComponent);\n\n function GlobalItemBase() {\n var _getPrototypeOf2;\n\n var _this;\n\n _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2___default()(this, GlobalItemBase);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4___default()(this, (_getPrototypeOf2 = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5___default()(GlobalItemBase)).call.apply(_getPrototypeOf2, [this].concat(args)));\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_8___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_6___default()(_this), \"renderItem\", function (state) {\n var _this$props = _this.props,\n createAnalyticsEvent = _this$props.createAnalyticsEvent,\n theme = _this$props.theme,\n props = _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1___default()(_this$props, [\"createAnalyticsEvent\", \"theme\"]);\n\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_9__[\"jsx\"])(_primitives__WEBPACK_IMPORTED_MODULE_14__[\"default\"], _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({}, state, props));\n });\n\n return _this;\n }\n\n _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3___default()(GlobalItemBase, [{\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n size = _this$props2.size,\n mode = _this$props2.theme.mode;\n\n var _styleReducerNoOp = Object(_theme__WEBPACK_IMPORTED_MODULE_12__[\"styleReducerNoOp\"])(mode.globalItem({\n size: size\n })),\n itemWrapperStyles = _styleReducerNoOp.itemWrapper;\n\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_9__[\"jsx\"])(\"div\", {\n css: itemWrapperStyles\n }, Object(_emotion_core__WEBPACK_IMPORTED_MODULE_9__[\"jsx\"])(_InteractionStateManager__WEBPACK_IMPORTED_MODULE_13__[\"default\"], null, this.renderItem));\n }\n }]);\n\n return GlobalItemBase;\n}(react__WEBPACK_IMPORTED_MODULE_10__[\"PureComponent\"]);\n\n_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_8___default()(GlobalItemBase, \"defaultProps\", {\n label: '',\n size: 'large',\n styles: _theme__WEBPACK_IMPORTED_MODULE_12__[\"styleReducerNoOp\"]\n});\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(_common_analytics__WEBPACK_IMPORTED_MODULE_11__[\"navigationItemClicked\"])(Object(_theme__WEBPACK_IMPORTED_MODULE_12__[\"withGlobalTheme\"])(GlobalItemBase), 'globalItem', true));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL0dsb2JhbEl0ZW0vaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL0dsb2JhbEl0ZW0vaW5kZXguanM/MzIzNCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgX2V4dGVuZHMgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXh0ZW5kc1wiO1xuaW1wb3J0IF9vYmplY3RXaXRob3V0UHJvcGVydGllcyBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9vYmplY3RXaXRob3V0UHJvcGVydGllc1wiO1xuaW1wb3J0IF9jbGFzc0NhbGxDaGVjayBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9jbGFzc0NhbGxDaGVja1wiO1xuaW1wb3J0IF9jcmVhdGVDbGFzcyBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9jcmVhdGVDbGFzc1wiO1xuaW1wb3J0IF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm5cIjtcbmltcG9ydCBfZ2V0UHJvdG90eXBlT2YgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvZ2V0UHJvdG90eXBlT2ZcIjtcbmltcG9ydCBfYXNzZXJ0VGhpc0luaXRpYWxpemVkIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2Fzc2VydFRoaXNJbml0aWFsaXplZFwiO1xuaW1wb3J0IF9pbmhlcml0cyBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9pbmhlcml0c1wiO1xuaW1wb3J0IF9kZWZpbmVQcm9wZXJ0eSBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9kZWZpbmVQcm9wZXJ0eVwiO1xuaW1wb3J0IHsganN4IGFzIF9fX0Vtb3Rpb25KU1ggfSBmcm9tIFwiQGVtb3Rpb24vY29yZVwiO1xuaW1wb3J0IFJlYWN0LCB7IFB1cmVDb21wb25lbnQgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBuYXZpZ2F0aW9uSXRlbUNsaWNrZWQgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vYW5hbHl0aWNzJztcbmltcG9ydCB7IHN0eWxlUmVkdWNlck5vT3AsIHdpdGhHbG9iYWxUaGVtZSB9IGZyb20gJy4uLy4uLy4uL3RoZW1lJztcbmltcG9ydCBJbnRlcmFjdGlvblN0YXRlTWFuYWdlciBmcm9tICcuLi9JbnRlcmFjdGlvblN0YXRlTWFuYWdlcic7XG5pbXBvcnQgR2xvYmFsSXRlbVByaW1pdGl2ZSBmcm9tICcuL3ByaW1pdGl2ZXMnO1xuZXhwb3J0IHZhciBHbG9iYWxJdGVtQmFzZSA9XG4vKiNfX1BVUkVfXyovXG5mdW5jdGlvbiAoX1B1cmVDb21wb25lbnQpIHtcbiAgX2luaGVyaXRzKEdsb2JhbEl0ZW1CYXNlLCBfUHVyZUNvbXBvbmVudCk7XG5cbiAgZnVuY3Rpb24gR2xvYmFsSXRlbUJhc2UoKSB7XG4gICAgdmFyIF9nZXRQcm90b3R5cGVPZjI7XG5cbiAgICB2YXIgX3RoaXM7XG5cbiAgICBfY2xhc3NDYWxsQ2hlY2sodGhpcywgR2xvYmFsSXRlbUJhc2UpO1xuXG4gICAgZm9yICh2YXIgX2xlbiA9IGFyZ3VtZW50cy5sZW5ndGgsIGFyZ3MgPSBuZXcgQXJyYXkoX2xlbiksIF9rZXkgPSAwOyBfa2V5IDwgX2xlbjsgX2tleSsrKSB7XG4gICAgICBhcmdzW19rZXldID0gYXJndW1lbnRzW19rZXldO1xuICAgIH1cblxuICAgIF90aGlzID0gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4odGhpcywgKF9nZXRQcm90b3R5cGVPZjIgPSBfZ2V0UHJvdG90eXBlT2YoR2xvYmFsSXRlbUJhc2UpKS5jYWxsLmFwcGx5KF9nZXRQcm90b3R5cGVPZjIsIFt0aGlzXS5jb25jYXQoYXJncykpKTtcblxuICAgIF9kZWZpbmVQcm9wZXJ0eShfYXNzZXJ0VGhpc0luaXRpYWxpemVkKF90aGlzKSwgXCJyZW5kZXJJdGVtXCIsIGZ1bmN0aW9uIChzdGF0ZSkge1xuICAgICAgdmFyIF90aGlzJHByb3BzID0gX3RoaXMucHJvcHMsXG4gICAgICAgICAgY3JlYXRlQW5hbHl0aWNzRXZlbnQgPSBfdGhpcyRwcm9wcy5jcmVhdGVBbmFseXRpY3NFdmVudCxcbiAgICAgICAgICB0aGVtZSA9IF90aGlzJHByb3BzLnRoZW1lLFxuICAgICAgICAgIHByb3BzID0gX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzKF90aGlzJHByb3BzLCBbXCJjcmVhdGVBbmFseXRpY3NFdmVudFwiLCBcInRoZW1lXCJdKTtcblxuICAgICAgcmV0dXJuIF9fX0Vtb3Rpb25KU1goR2xvYmFsSXRlbVByaW1pdGl2ZSwgX2V4dGVuZHMoe30sIHN0YXRlLCBwcm9wcykpO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIF90aGlzO1xuICB9XG5cbiAgX2NyZWF0ZUNsYXNzKEdsb2JhbEl0ZW1CYXNlLCBbe1xuICAgIGtleTogXCJyZW5kZXJcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gcmVuZGVyKCkge1xuICAgICAgdmFyIF90aGlzJHByb3BzMiA9IHRoaXMucHJvcHMsXG4gICAgICAgICAgc2l6ZSA9IF90aGlzJHByb3BzMi5zaXplLFxuICAgICAgICAgIG1vZGUgPSBfdGhpcyRwcm9wczIudGhlbWUubW9kZTtcblxuICAgICAgdmFyIF9zdHlsZVJlZHVjZXJOb09wID0gc3R5bGVSZWR1Y2VyTm9PcChtb2RlLmdsb2JhbEl0ZW0oe1xuICAgICAgICBzaXplOiBzaXplXG4gICAgICB9KSksXG4gICAgICAgICAgaXRlbVdyYXBwZXJTdHlsZXMgPSBfc3R5bGVSZWR1Y2VyTm9PcC5pdGVtV3JhcHBlcjtcblxuICAgICAgcmV0dXJuIF9fX0Vtb3Rpb25KU1goXCJkaXZcIiwge1xuICAgICAgICBjc3M6IGl0ZW1XcmFwcGVyU3R5bGVzXG4gICAgICB9LCBfX19FbW90aW9uSlNYKEludGVyYWN0aW9uU3RhdGVNYW5hZ2VyLCBudWxsLCB0aGlzLnJlbmRlckl0ZW0pKTtcbiAgICB9XG4gIH1dKTtcblxuICByZXR1cm4gR2xvYmFsSXRlbUJhc2U7XG59KFB1cmVDb21wb25lbnQpO1xuXG5fZGVmaW5lUHJvcGVydHkoR2xvYmFsSXRlbUJhc2UsIFwiZGVmYXVsdFByb3BzXCIsIHtcbiAgbGFiZWw6ICcnLFxuICBzaXplOiAnbGFyZ2UnLFxuICBzdHlsZXM6IHN0eWxlUmVkdWNlck5vT3Bcbn0pO1xuXG5leHBvcnQgZGVmYXVsdCBuYXZpZ2F0aW9uSXRlbUNsaWNrZWQod2l0aEdsb2JhbFRoZW1lKEdsb2JhbEl0ZW1CYXNlKSwgJ2dsb2JhbEl0ZW0nLCB0cnVlKTsiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/GlobalItem/index.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/GlobalItem/primitives.js": /*!************************************************************************************************************!*\ !*** ./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/GlobalItem/primitives.js ***! \************************************************************************************************************/ /*! exports provided: BaseGlobalNavigationItemPrimitive, default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"BaseGlobalNavigationItemPrimitive\", function() { return GlobalNavigationItemPrimitive; });\n/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _emotion_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @emotion/css */ \"./node_modules/@emotion/css/dist/css.browser.esm.js\");\n/* harmony import */ var _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ \"./node_modules/@babel/runtime/helpers/objectWithoutProperties.js\");\n/* harmony import */ var _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ \"./node_modules/@babel/runtime/helpers/classCallCheck.js\");\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\");\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ \"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ \"./node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @babel/runtime/helpers/assertThisInitialized */ \"./node_modules/@babel/runtime/helpers/assertThisInitialized.js\");\n/* harmony import */ var _babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ \"./node_modules/@babel/runtime/helpers/inherits.js\");\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ \"./node_modules/@babel/runtime/helpers/defineProperty.js\");\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony import */ var _emotion_core__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @emotion/core */ \"./node_modules/@emotion/core/dist/core.browser.esm.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_11__);\n/* harmony import */ var react_fast_compare__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! react-fast-compare */ \"./node_modules/react-fast-compare/index.js\");\n/* harmony import */ var react_fast_compare__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(react_fast_compare__WEBPACK_IMPORTED_MODULE_12__);\n/* harmony import */ var _atlaskit_tooltip__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @atlaskit/tooltip */ \"./node_modules/@atlaskit/tooltip/dist/esm/index.js\");\n/* harmony import */ var _theme__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../../../theme */ \"./node_modules/@atlaskit/navigation-next/dist/esm/theme/index.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar _ref = false ? undefined : {\n name: \"1ixbp0l\",\n styles: \"pointer-events:none;\",\n map: \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL0dsb2JhbEl0ZW0vcHJpbWl0aXZlcy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFpQ2UiLCJmaWxlIjoiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvcHJlc2VudGF0aW9uYWwvR2xvYmFsSXRlbS9wcmltaXRpdmVzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IENvbXBvbmVudCwgRnJhZ21lbnQgfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCBkZWVwRXF1YWwgZnJvbSAncmVhY3QtZmFzdC1jb21wYXJlJztcblxuaW1wb3J0IFRvb2x0aXAgZnJvbSAnQGF0bGFza2l0L3Rvb2x0aXAnO1xuXG5pbXBvcnQgeyBzdHlsZVJlZHVjZXJOb09wLCB3aXRoR2xvYmFsVGhlbWUgfSBmcm9tICcuLi8uLi8uLi90aGVtZSc7XG5cbmNsYXNzIEdsb2JhbE5hdmlnYXRpb25JdGVtUHJpbWl0aXZlIGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICBkYXRhc2V0OiB7XG4gICAgICAnZGF0YS10ZXN0aWQnOiAnR2xvYmFsTmF2aWdhdGlvbkl0ZW0nLFxuICAgIH0sXG4gICAgaXNBY3RpdmU6IGZhbHNlLFxuICAgIGlzSG92ZXI6IGZhbHNlLFxuICAgIGlzU2VsZWN0ZWQ6IGZhbHNlLFxuICAgIGlzRm9jdXNlZDogZmFsc2UsXG4gICAgc2l6ZTogJ2xhcmdlJyxcbiAgICBzdHlsZXM6IHN0eWxlUmVkdWNlck5vT3AsXG4gIH07XG5cbiAgc2hvdWxkQ29tcG9uZW50VXBkYXRlKG5leHRQcm9wcykge1xuICAgIHJldHVybiAhZGVlcEVxdWFsKHRoaXMucHJvcHMsIG5leHRQcm9wcyk7XG4gIH1cblxuICByZW5kZXJJY29uQW5kQmFkZ2UgPSBiYWRnZVdyYXBwZXIgPT4ge1xuICAgIGNvbnN0IHsgaWNvbjogSWNvbiwgYmFkZ2U6IEJhZGdlLCBsYWJlbCwgdG9vbHRpcCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBwcmVzZW50YXRpb25Qcm9wcyA9IHRoaXMuZ2V0UHJlc2VudGF0aW9uUHJvcHMoKTtcbiAgICBpZiAoIUljb24gJiYgIUJhZGdlKSByZXR1cm4gbnVsbDtcbiAgICBjb25zdCBpY29uTGFiZWwgPSBsYWJlbCB8fCAodHlwZW9mIHRvb2x0aXAgPT09ICdzdHJpbmcnID8gdG9vbHRpcCA6ICcnKTtcbiAgICByZXR1cm4gKFxuICAgICAgPEZyYWdtZW50PlxuICAgICAgICB7ISFJY29uICYmIChcbiAgICAgICAgICA8ZGl2IGNzcz17eyBwb2ludGVyRXZlbnRzOiAnbm9uZScgfX0+XG4gICAgICAgICAgICA8SWNvbiBsYWJlbD17aWNvbkxhYmVsfSBzZWNvbmRhcnlDb2xvcj1cImluaGVyaXRcIiAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICApfVxuICAgICAgICB7ISFCYWRnZSAmJiAoXG4gICAgICAgICAgPGRpdiBjc3M9e2JhZGdlV3JhcHBlcn0+XG4gICAgICAgICAgICA8QmFkZ2Ugey4uLnByZXNlbnRhdGlvblByb3BzfSAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICApfVxuICAgICAgPC9GcmFnbWVudD5cbiAgICApO1xuICB9O1xuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bmRlZlxuICBnZXRHbG9iYWxJdGVtRXh0ZXJuYWxQcm9wcyA9ICgpID0+IHtcbiAgICBjb25zdCB7XG4gICAgICBpc0FjdGl2ZSxcbiAgICAgIGlzRm9jdXNlZCxcbiAgICAgIGlzSG92ZXIsXG4gICAgICB0aGVtZSxcbiAgICAgIC4uLmV4dGVybmFsUHJvcHNcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiBleHRlcm5hbFByb3BzO1xuICB9O1xuXG4gIGdldFByZXNlbnRhdGlvblByb3BzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNBY3RpdmUsIGlzRm9jdXNlZCwgaXNIb3ZlciwgaXNTZWxlY3RlZCwgc2l6ZSB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiB7IGlzQWN0aXZlLCBpc0ZvY3VzZWQsIGlzSG92ZXIsIGlzU2VsZWN0ZWQsIHNpemUgfTtcbiAgfTtcblxuICBnZW5lcmF0ZVN0eWxlcyA9ICgpID0+IHtcbiAgICBjb25zdCB7XG4gICAgICBpc0FjdGl2ZSxcbiAgICAgIGlzSG92ZXIsXG4gICAgICBpc1NlbGVjdGVkLFxuICAgICAgc2l6ZSxcbiAgICAgIHN0eWxlczogc3R5bGVSZWR1Y2VyLFxuICAgICAgdGhlbWUsXG4gICAgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyBtb2RlIH0gPSB0aGVtZTtcbiAgICBjb25zdCBwcmVzZW50YXRpb25Qcm9wcyA9IHsgaXNBY3RpdmUsIGlzSG92ZXIsIGlzU2VsZWN0ZWQsIHNpemUgfTtcbiAgICBjb25zdCBkZWZhdWx0U3R5bGVzID0gbW9kZS5nbG9iYWxJdGVtKHByZXNlbnRhdGlvblByb3BzKTtcbiAgICByZXR1cm4gc3R5bGVSZWR1Y2VyKGRlZmF1bHRTdHlsZXMsIHByZXNlbnRhdGlvblByb3BzKTtcbiAgfTtcblxuICByZW5kZXJDaGlsZHJlbiA9IHN0eWxlcyA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgY29tcG9uZW50OiBDdXN0b21Db21wb25lbnQsXG4gICAgICBkYXRhc2V0LFxuICAgICAgaHJlZixcbiAgICAgIGlkLFxuICAgICAgb25DbGljayxcbiAgICAgIHRhcmdldCxcbiAgICB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBnbG9iYWxJRCA9IGlkICYmIGAke2lkfUdsb2JhbEl0ZW1gO1xuXG4gICAgbGV0IGl0ZW1CYXNlO1xuXG4gICAgaWYgKEN1c3RvbUNvbXBvbmVudCkge1xuICAgICAgaXRlbUJhc2UgPSAoXG4gICAgICAgIC8vIEN1c3RvbUNvbXBvbmVudCBuZWVkcyBhIGNsYXNzTmFtZSBwcm9wLiBUaGlzIHByb3AgaXNcbiAgICAgICAgLy8gYWRkZWQgYWZ0ZXIgdGhlIGVtb3Rpb24gdHJhbnNsYXRpb24uXG4gICAgICAgIDxDdXN0b21Db21wb25lbnRcbiAgICAgICAgICB7Li4udGhpcy5nZXRHbG9iYWxJdGVtRXh0ZXJuYWxQcm9wcygpfVxuICAgICAgICAgIGNzcz17eyAnJiYnOiBzdHlsZXMuaXRlbUJhc2UgfX1cbiAgICAgICAgPlxuICAgICAgICAgIHt0aGlzLnJlbmRlckljb25BbmRCYWRnZShzdHlsZXMuYmFkZ2VXcmFwcGVyKX1cbiAgICAgICAgPC9DdXN0b21Db21wb25lbnQ+XG4gICAgICApO1xuICAgIH0gZWxzZSBpZiAoaHJlZikge1xuICAgICAgaXRlbUJhc2UgPSAoXG4gICAgICAgIDxhXG4gICAgICAgICAgaHJlZj17aHJlZn1cbiAgICAgICAgICBpZD17Z2xvYmFsSUR9XG4gICAgICAgICAgb25DbGljaz17b25DbGlja31cbiAgICAgICAgICB0YXJnZXQ9e3RhcmdldH1cbiAgICAgICAgICBjc3M9e3sgJyYmJzogc3R5bGVzLml0ZW1CYXNlIH19XG4gICAgICAgICAgey4uLmRhdGFzZXR9XG4gICAgICAgID5cbiAgICAgICAgICB7dGhpcy5yZW5kZXJJY29uQW5kQmFkZ2Uoc3R5bGVzLmJhZGdlV3JhcHBlcil9XG4gICAgICAgIDwvYT5cbiAgICAgICk7XG4gICAgfSBlbHNlIGlmIChvbkNsaWNrKSB7XG4gICAgICBpdGVtQmFzZSA9IChcbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIGlkPXtnbG9iYWxJRH1cbiAgICAgICAgICBvbkNsaWNrPXtvbkNsaWNrfVxuICAgICAgICAgIGNzcz17eyAnJiYnOiBzdHlsZXMuaXRlbUJhc2UgfX1cbiAgICAgICAgICB7Li4uZGF0YXNldH1cbiAgICAgICAgPlxuICAgICAgICAgIHt0aGlzLnJlbmRlckljb25BbmRCYWRnZShzdHlsZXMuYmFkZ2VXcmFwcGVyKX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICBpdGVtQmFzZSA9IChcbiAgICAgICAgPHNwYW4gaWQ9e2dsb2JhbElEfSBjc3M9e3sgJyYmJzogc3R5bGVzLml0ZW1CYXNlIH19IHsuLi5kYXRhc2V0fT5cbiAgICAgICAgICB7dGhpcy5yZW5kZXJJY29uQW5kQmFkZ2Uoc3R5bGVzLmJhZGdlV3JhcHBlcil9XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGl0ZW1CYXNlO1xuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7IGlzU2VsZWN0ZWQsIHRvb2x0aXAgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3Qgc3R5bGVzID0gdGhpcy5nZW5lcmF0ZVN0eWxlcygpO1xuICAgIHJldHVybiAoXG4gICAgICA8VG9vbHRpcFxuICAgICAgICBkZWxheT17MH1cbiAgICAgICAgY29udGVudD17aXNTZWxlY3RlZCA/IHVuZGVmaW5lZCA6IHRvb2x0aXB9XG4gICAgICAgIHBvc2l0aW9uPVwicmlnaHRcIlxuICAgICAgICBoaWRlVG9vbHRpcE9uQ2xpY2tcbiAgICAgICAgaGlkZVRvb2x0aXBPbk1vdXNlRG93blxuICAgICAgPlxuICAgICAgICA8ZGl2IGNzcz17eyBkaXNwbGF5OiAnaW5saW5lLWJsb2NrJyB9fT5cbiAgICAgICAgICB7dGhpcy5yZW5kZXJDaGlsZHJlbihzdHlsZXMpfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvVG9vbHRpcD5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCB7IEdsb2JhbE5hdmlnYXRpb25JdGVtUHJpbWl0aXZlIGFzIEJhc2VHbG9iYWxOYXZpZ2F0aW9uSXRlbVByaW1pdGl2ZSB9O1xuXG5leHBvcnQgZGVmYXVsdCB3aXRoR2xvYmFsVGhlbWUoR2xvYmFsTmF2aWdhdGlvbkl0ZW1QcmltaXRpdmUpO1xuIl19 */\"\n};\n\nvar _ref2 = false ? undefined : {\n name: \"1baulvz\",\n styles: \"display:inline-block;\",\n map: \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL0dsb2JhbEl0ZW0vcHJpbWl0aXZlcy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFzSmEiLCJmaWxlIjoiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvcHJlc2VudGF0aW9uYWwvR2xvYmFsSXRlbS9wcmltaXRpdmVzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IENvbXBvbmVudCwgRnJhZ21lbnQgfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCBkZWVwRXF1YWwgZnJvbSAncmVhY3QtZmFzdC1jb21wYXJlJztcblxuaW1wb3J0IFRvb2x0aXAgZnJvbSAnQGF0bGFza2l0L3Rvb2x0aXAnO1xuXG5pbXBvcnQgeyBzdHlsZVJlZHVjZXJOb09wLCB3aXRoR2xvYmFsVGhlbWUgfSBmcm9tICcuLi8uLi8uLi90aGVtZSc7XG5cbmNsYXNzIEdsb2JhbE5hdmlnYXRpb25JdGVtUHJpbWl0aXZlIGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICBkYXRhc2V0OiB7XG4gICAgICAnZGF0YS10ZXN0aWQnOiAnR2xvYmFsTmF2aWdhdGlvbkl0ZW0nLFxuICAgIH0sXG4gICAgaXNBY3RpdmU6IGZhbHNlLFxuICAgIGlzSG92ZXI6IGZhbHNlLFxuICAgIGlzU2VsZWN0ZWQ6IGZhbHNlLFxuICAgIGlzRm9jdXNlZDogZmFsc2UsXG4gICAgc2l6ZTogJ2xhcmdlJyxcbiAgICBzdHlsZXM6IHN0eWxlUmVkdWNlck5vT3AsXG4gIH07XG5cbiAgc2hvdWxkQ29tcG9uZW50VXBkYXRlKG5leHRQcm9wcykge1xuICAgIHJldHVybiAhZGVlcEVxdWFsKHRoaXMucHJvcHMsIG5leHRQcm9wcyk7XG4gIH1cblxuICByZW5kZXJJY29uQW5kQmFkZ2UgPSBiYWRnZVdyYXBwZXIgPT4ge1xuICAgIGNvbnN0IHsgaWNvbjogSWNvbiwgYmFkZ2U6IEJhZGdlLCBsYWJlbCwgdG9vbHRpcCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBwcmVzZW50YXRpb25Qcm9wcyA9IHRoaXMuZ2V0UHJlc2VudGF0aW9uUHJvcHMoKTtcbiAgICBpZiAoIUljb24gJiYgIUJhZGdlKSByZXR1cm4gbnVsbDtcbiAgICBjb25zdCBpY29uTGFiZWwgPSBsYWJlbCB8fCAodHlwZW9mIHRvb2x0aXAgPT09ICdzdHJpbmcnID8gdG9vbHRpcCA6ICcnKTtcbiAgICByZXR1cm4gKFxuICAgICAgPEZyYWdtZW50PlxuICAgICAgICB7ISFJY29uICYmIChcbiAgICAgICAgICA8ZGl2IGNzcz17eyBwb2ludGVyRXZlbnRzOiAnbm9uZScgfX0+XG4gICAgICAgICAgICA8SWNvbiBsYWJlbD17aWNvbkxhYmVsfSBzZWNvbmRhcnlDb2xvcj1cImluaGVyaXRcIiAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICApfVxuICAgICAgICB7ISFCYWRnZSAmJiAoXG4gICAgICAgICAgPGRpdiBjc3M9e2JhZGdlV3JhcHBlcn0+XG4gICAgICAgICAgICA8QmFkZ2Ugey4uLnByZXNlbnRhdGlvblByb3BzfSAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICApfVxuICAgICAgPC9GcmFnbWVudD5cbiAgICApO1xuICB9O1xuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bmRlZlxuICBnZXRHbG9iYWxJdGVtRXh0ZXJuYWxQcm9wcyA9ICgpID0+IHtcbiAgICBjb25zdCB7XG4gICAgICBpc0FjdGl2ZSxcbiAgICAgIGlzRm9jdXNlZCxcbiAgICAgIGlzSG92ZXIsXG4gICAgICB0aGVtZSxcbiAgICAgIC4uLmV4dGVybmFsUHJvcHNcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiBleHRlcm5hbFByb3BzO1xuICB9O1xuXG4gIGdldFByZXNlbnRhdGlvblByb3BzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNBY3RpdmUsIGlzRm9jdXNlZCwgaXNIb3ZlciwgaXNTZWxlY3RlZCwgc2l6ZSB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiB7IGlzQWN0aXZlLCBpc0ZvY3VzZWQsIGlzSG92ZXIsIGlzU2VsZWN0ZWQsIHNpemUgfTtcbiAgfTtcblxuICBnZW5lcmF0ZVN0eWxlcyA9ICgpID0+IHtcbiAgICBjb25zdCB7XG4gICAgICBpc0FjdGl2ZSxcbiAgICAgIGlzSG92ZXIsXG4gICAgICBpc1NlbGVjdGVkLFxuICAgICAgc2l6ZSxcbiAgICAgIHN0eWxlczogc3R5bGVSZWR1Y2VyLFxuICAgICAgdGhlbWUsXG4gICAgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyBtb2RlIH0gPSB0aGVtZTtcbiAgICBjb25zdCBwcmVzZW50YXRpb25Qcm9wcyA9IHsgaXNBY3RpdmUsIGlzSG92ZXIsIGlzU2VsZWN0ZWQsIHNpemUgfTtcbiAgICBjb25zdCBkZWZhdWx0U3R5bGVzID0gbW9kZS5nbG9iYWxJdGVtKHByZXNlbnRhdGlvblByb3BzKTtcbiAgICByZXR1cm4gc3R5bGVSZWR1Y2VyKGRlZmF1bHRTdHlsZXMsIHByZXNlbnRhdGlvblByb3BzKTtcbiAgfTtcblxuICByZW5kZXJDaGlsZHJlbiA9IHN0eWxlcyA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgY29tcG9uZW50OiBDdXN0b21Db21wb25lbnQsXG4gICAgICBkYXRhc2V0LFxuICAgICAgaHJlZixcbiAgICAgIGlkLFxuICAgICAgb25DbGljayxcbiAgICAgIHRhcmdldCxcbiAgICB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBnbG9iYWxJRCA9IGlkICYmIGAke2lkfUdsb2JhbEl0ZW1gO1xuXG4gICAgbGV0IGl0ZW1CYXNlO1xuXG4gICAgaWYgKEN1c3RvbUNvbXBvbmVudCkge1xuICAgICAgaXRlbUJhc2UgPSAoXG4gICAgICAgIC8vIEN1c3RvbUNvbXBvbmVudCBuZWVkcyBhIGNsYXNzTmFtZSBwcm9wLiBUaGlzIHByb3AgaXNcbiAgICAgICAgLy8gYWRkZWQgYWZ0ZXIgdGhlIGVtb3Rpb24gdHJhbnNsYXRpb24uXG4gICAgICAgIDxDdXN0b21Db21wb25lbnRcbiAgICAgICAgICB7Li4udGhpcy5nZXRHbG9iYWxJdGVtRXh0ZXJuYWxQcm9wcygpfVxuICAgICAgICAgIGNzcz17eyAnJiYnOiBzdHlsZXMuaXRlbUJhc2UgfX1cbiAgICAgICAgPlxuICAgICAgICAgIHt0aGlzLnJlbmRlckljb25BbmRCYWRnZShzdHlsZXMuYmFkZ2VXcmFwcGVyKX1cbiAgICAgICAgPC9DdXN0b21Db21wb25lbnQ+XG4gICAgICApO1xuICAgIH0gZWxzZSBpZiAoaHJlZikge1xuICAgICAgaXRlbUJhc2UgPSAoXG4gICAgICAgIDxhXG4gICAgICAgICAgaHJlZj17aHJlZn1cbiAgICAgICAgICBpZD17Z2xvYmFsSUR9XG4gICAgICAgICAgb25DbGljaz17b25DbGlja31cbiAgICAgICAgICB0YXJnZXQ9e3RhcmdldH1cbiAgICAgICAgICBjc3M9e3sgJyYmJzogc3R5bGVzLml0ZW1CYXNlIH19XG4gICAgICAgICAgey4uLmRhdGFzZXR9XG4gICAgICAgID5cbiAgICAgICAgICB7dGhpcy5yZW5kZXJJY29uQW5kQmFkZ2Uoc3R5bGVzLmJhZGdlV3JhcHBlcil9XG4gICAgICAgIDwvYT5cbiAgICAgICk7XG4gICAgfSBlbHNlIGlmIChvbkNsaWNrKSB7XG4gICAgICBpdGVtQmFzZSA9IChcbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIGlkPXtnbG9iYWxJRH1cbiAgICAgICAgICBvbkNsaWNrPXtvbkNsaWNrfVxuICAgICAgICAgIGNzcz17eyAnJiYnOiBzdHlsZXMuaXRlbUJhc2UgfX1cbiAgICAgICAgICB7Li4uZGF0YXNldH1cbiAgICAgICAgPlxuICAgICAgICAgIHt0aGlzLnJlbmRlckljb25BbmRCYWRnZShzdHlsZXMuYmFkZ2VXcmFwcGVyKX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICBpdGVtQmFzZSA9IChcbiAgICAgICAgPHNwYW4gaWQ9e2dsb2JhbElEfSBjc3M9e3sgJyYmJzogc3R5bGVzLml0ZW1CYXNlIH19IHsuLi5kYXRhc2V0fT5cbiAgICAgICAgICB7dGhpcy5yZW5kZXJJY29uQW5kQmFkZ2Uoc3R5bGVzLmJhZGdlV3JhcHBlcil9XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGl0ZW1CYXNlO1xuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7IGlzU2VsZWN0ZWQsIHRvb2x0aXAgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3Qgc3R5bGVzID0gdGhpcy5nZW5lcmF0ZVN0eWxlcygpO1xuICAgIHJldHVybiAoXG4gICAgICA8VG9vbHRpcFxuICAgICAgICBkZWxheT17MH1cbiAgICAgICAgY29udGVudD17aXNTZWxlY3RlZCA/IHVuZGVmaW5lZCA6IHRvb2x0aXB9XG4gICAgICAgIHBvc2l0aW9uPVwicmlnaHRcIlxuICAgICAgICBoaWRlVG9vbHRpcE9uQ2xpY2tcbiAgICAgICAgaGlkZVRvb2x0aXBPbk1vdXNlRG93blxuICAgICAgPlxuICAgICAgICA8ZGl2IGNzcz17eyBkaXNwbGF5OiAnaW5saW5lLWJsb2NrJyB9fT5cbiAgICAgICAgICB7dGhpcy5yZW5kZXJDaGlsZHJlbihzdHlsZXMpfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvVG9vbHRpcD5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCB7IEdsb2JhbE5hdmlnYXRpb25JdGVtUHJpbWl0aXZlIGFzIEJhc2VHbG9iYWxOYXZpZ2F0aW9uSXRlbVByaW1pdGl2ZSB9O1xuXG5leHBvcnQgZGVmYXVsdCB3aXRoR2xvYmFsVGhlbWUoR2xvYmFsTmF2aWdhdGlvbkl0ZW1QcmltaXRpdmUpO1xuIl19 */\"\n};\n\nvar GlobalNavigationItemPrimitive =\n/*#__PURE__*/\nfunction (_Component) {\n _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_8___default()(GlobalNavigationItemPrimitive, _Component);\n\n function GlobalNavigationItemPrimitive() {\n var _getPrototypeOf2;\n\n var _this;\n\n _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_3___default()(this, GlobalNavigationItemPrimitive);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_5___default()(this, (_getPrototypeOf2 = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_6___default()(GlobalNavigationItemPrimitive)).call.apply(_getPrototypeOf2, [this].concat(args)));\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_9___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_7___default()(_this), \"renderIconAndBadge\", function (badgeWrapper) {\n var _this$props = _this.props,\n Icon = _this$props.icon,\n Badge = _this$props.badge,\n label = _this$props.label,\n tooltip = _this$props.tooltip;\n\n var presentationProps = _this.getPresentationProps();\n\n if (!Icon && !Badge) return null;\n var iconLabel = label || (typeof tooltip === 'string' ? tooltip : '');\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_10__[\"jsx\"])(react__WEBPACK_IMPORTED_MODULE_11__[\"Fragment\"], null, !!Icon && Object(_emotion_core__WEBPACK_IMPORTED_MODULE_10__[\"jsx\"])(\"div\", {\n css: _ref\n }, Object(_emotion_core__WEBPACK_IMPORTED_MODULE_10__[\"jsx\"])(Icon, {\n label: iconLabel,\n secondaryColor: \"inherit\"\n })), !!Badge && Object(_emotion_core__WEBPACK_IMPORTED_MODULE_10__[\"jsx\"])(\"div\", {\n css: badgeWrapper\n }, Object(_emotion_core__WEBPACK_IMPORTED_MODULE_10__[\"jsx\"])(Badge, presentationProps)));\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_9___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_7___default()(_this), \"getGlobalItemExternalProps\", function () {\n var _this$props2 = _this.props,\n isActive = _this$props2.isActive,\n isFocused = _this$props2.isFocused,\n isHover = _this$props2.isHover,\n theme = _this$props2.theme,\n externalProps = _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_2___default()(_this$props2, [\"isActive\", \"isFocused\", \"isHover\", \"theme\"]);\n\n return externalProps;\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_9___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_7___default()(_this), \"getPresentationProps\", function () {\n var _this$props3 = _this.props,\n isActive = _this$props3.isActive,\n isFocused = _this$props3.isFocused,\n isHover = _this$props3.isHover,\n isSelected = _this$props3.isSelected,\n size = _this$props3.size;\n return {\n isActive: isActive,\n isFocused: isFocused,\n isHover: isHover,\n isSelected: isSelected,\n size: size\n };\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_9___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_7___default()(_this), \"generateStyles\", function () {\n var _this$props4 = _this.props,\n isActive = _this$props4.isActive,\n isHover = _this$props4.isHover,\n isSelected = _this$props4.isSelected,\n size = _this$props4.size,\n styleReducer = _this$props4.styles,\n theme = _this$props4.theme;\n var mode = theme.mode;\n var presentationProps = {\n isActive: isActive,\n isHover: isHover,\n isSelected: isSelected,\n size: size\n };\n var defaultStyles = mode.globalItem(presentationProps);\n return styleReducer(defaultStyles, presentationProps);\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_9___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_7___default()(_this), \"renderChildren\", function (styles) {\n var _this$props5 = _this.props,\n CustomComponent = _this$props5.component,\n dataset = _this$props5.dataset,\n href = _this$props5.href,\n id = _this$props5.id,\n onClick = _this$props5.onClick,\n target = _this$props5.target;\n var globalID = id && \"\".concat(id, \"GlobalItem\");\n var itemBase;\n\n if (CustomComponent) {\n itemBase = // CustomComponent needs a className prop. This prop is\n // added after the emotion translation.\n Object(_emotion_core__WEBPACK_IMPORTED_MODULE_10__[\"jsx\"])(CustomComponent, _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({}, _this.getGlobalItemExternalProps(), {\n css:\n /*#__PURE__*/\n Object(_emotion_css__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n '&&': styles.itemBase\n }, false ? undefined : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL0dsb2JhbEl0ZW0vcHJpbWl0aXZlcy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFtR1UiLCJmaWxlIjoiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvcHJlc2VudGF0aW9uYWwvR2xvYmFsSXRlbS9wcmltaXRpdmVzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IENvbXBvbmVudCwgRnJhZ21lbnQgfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCBkZWVwRXF1YWwgZnJvbSAncmVhY3QtZmFzdC1jb21wYXJlJztcblxuaW1wb3J0IFRvb2x0aXAgZnJvbSAnQGF0bGFza2l0L3Rvb2x0aXAnO1xuXG5pbXBvcnQgeyBzdHlsZVJlZHVjZXJOb09wLCB3aXRoR2xvYmFsVGhlbWUgfSBmcm9tICcuLi8uLi8uLi90aGVtZSc7XG5cbmNsYXNzIEdsb2JhbE5hdmlnYXRpb25JdGVtUHJpbWl0aXZlIGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICBkYXRhc2V0OiB7XG4gICAgICAnZGF0YS10ZXN0aWQnOiAnR2xvYmFsTmF2aWdhdGlvbkl0ZW0nLFxuICAgIH0sXG4gICAgaXNBY3RpdmU6IGZhbHNlLFxuICAgIGlzSG92ZXI6IGZhbHNlLFxuICAgIGlzU2VsZWN0ZWQ6IGZhbHNlLFxuICAgIGlzRm9jdXNlZDogZmFsc2UsXG4gICAgc2l6ZTogJ2xhcmdlJyxcbiAgICBzdHlsZXM6IHN0eWxlUmVkdWNlck5vT3AsXG4gIH07XG5cbiAgc2hvdWxkQ29tcG9uZW50VXBkYXRlKG5leHRQcm9wcykge1xuICAgIHJldHVybiAhZGVlcEVxdWFsKHRoaXMucHJvcHMsIG5leHRQcm9wcyk7XG4gIH1cblxuICByZW5kZXJJY29uQW5kQmFkZ2UgPSBiYWRnZVdyYXBwZXIgPT4ge1xuICAgIGNvbnN0IHsgaWNvbjogSWNvbiwgYmFkZ2U6IEJhZGdlLCBsYWJlbCwgdG9vbHRpcCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBwcmVzZW50YXRpb25Qcm9wcyA9IHRoaXMuZ2V0UHJlc2VudGF0aW9uUHJvcHMoKTtcbiAgICBpZiAoIUljb24gJiYgIUJhZGdlKSByZXR1cm4gbnVsbDtcbiAgICBjb25zdCBpY29uTGFiZWwgPSBsYWJlbCB8fCAodHlwZW9mIHRvb2x0aXAgPT09ICdzdHJpbmcnID8gdG9vbHRpcCA6ICcnKTtcbiAgICByZXR1cm4gKFxuICAgICAgPEZyYWdtZW50PlxuICAgICAgICB7ISFJY29uICYmIChcbiAgICAgICAgICA8ZGl2IGNzcz17eyBwb2ludGVyRXZlbnRzOiAnbm9uZScgfX0+XG4gICAgICAgICAgICA8SWNvbiBsYWJlbD17aWNvbkxhYmVsfSBzZWNvbmRhcnlDb2xvcj1cImluaGVyaXRcIiAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICApfVxuICAgICAgICB7ISFCYWRnZSAmJiAoXG4gICAgICAgICAgPGRpdiBjc3M9e2JhZGdlV3JhcHBlcn0+XG4gICAgICAgICAgICA8QmFkZ2Ugey4uLnByZXNlbnRhdGlvblByb3BzfSAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICApfVxuICAgICAgPC9GcmFnbWVudD5cbiAgICApO1xuICB9O1xuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bmRlZlxuICBnZXRHbG9iYWxJdGVtRXh0ZXJuYWxQcm9wcyA9ICgpID0+IHtcbiAgICBjb25zdCB7XG4gICAgICBpc0FjdGl2ZSxcbiAgICAgIGlzRm9jdXNlZCxcbiAgICAgIGlzSG92ZXIsXG4gICAgICB0aGVtZSxcbiAgICAgIC4uLmV4dGVybmFsUHJvcHNcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiBleHRlcm5hbFByb3BzO1xuICB9O1xuXG4gIGdldFByZXNlbnRhdGlvblByb3BzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNBY3RpdmUsIGlzRm9jdXNlZCwgaXNIb3ZlciwgaXNTZWxlY3RlZCwgc2l6ZSB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiB7IGlzQWN0aXZlLCBpc0ZvY3VzZWQsIGlzSG92ZXIsIGlzU2VsZWN0ZWQsIHNpemUgfTtcbiAgfTtcblxuICBnZW5lcmF0ZVN0eWxlcyA9ICgpID0+IHtcbiAgICBjb25zdCB7XG4gICAgICBpc0FjdGl2ZSxcbiAgICAgIGlzSG92ZXIsXG4gICAgICBpc1NlbGVjdGVkLFxuICAgICAgc2l6ZSxcbiAgICAgIHN0eWxlczogc3R5bGVSZWR1Y2VyLFxuICAgICAgdGhlbWUsXG4gICAgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyBtb2RlIH0gPSB0aGVtZTtcbiAgICBjb25zdCBwcmVzZW50YXRpb25Qcm9wcyA9IHsgaXNBY3RpdmUsIGlzSG92ZXIsIGlzU2VsZWN0ZWQsIHNpemUgfTtcbiAgICBjb25zdCBkZWZhdWx0U3R5bGVzID0gbW9kZS5nbG9iYWxJdGVtKHByZXNlbnRhdGlvblByb3BzKTtcbiAgICByZXR1cm4gc3R5bGVSZWR1Y2VyKGRlZmF1bHRTdHlsZXMsIHByZXNlbnRhdGlvblByb3BzKTtcbiAgfTtcblxuICByZW5kZXJDaGlsZHJlbiA9IHN0eWxlcyA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgY29tcG9uZW50OiBDdXN0b21Db21wb25lbnQsXG4gICAgICBkYXRhc2V0LFxuICAgICAgaHJlZixcbiAgICAgIGlkLFxuICAgICAgb25DbGljayxcbiAgICAgIHRhcmdldCxcbiAgICB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBnbG9iYWxJRCA9IGlkICYmIGAke2lkfUdsb2JhbEl0ZW1gO1xuXG4gICAgbGV0IGl0ZW1CYXNlO1xuXG4gICAgaWYgKEN1c3RvbUNvbXBvbmVudCkge1xuICAgICAgaXRlbUJhc2UgPSAoXG4gICAgICAgIC8vIEN1c3RvbUNvbXBvbmVudCBuZWVkcyBhIGNsYXNzTmFtZSBwcm9wLiBUaGlzIHByb3AgaXNcbiAgICAgICAgLy8gYWRkZWQgYWZ0ZXIgdGhlIGVtb3Rpb24gdHJhbnNsYXRpb24uXG4gICAgICAgIDxDdXN0b21Db21wb25lbnRcbiAgICAgICAgICB7Li4udGhpcy5nZXRHbG9iYWxJdGVtRXh0ZXJuYWxQcm9wcygpfVxuICAgICAgICAgIGNzcz17eyAnJiYnOiBzdHlsZXMuaXRlbUJhc2UgfX1cbiAgICAgICAgPlxuICAgICAgICAgIHt0aGlzLnJlbmRlckljb25BbmRCYWRnZShzdHlsZXMuYmFkZ2VXcmFwcGVyKX1cbiAgICAgICAgPC9DdXN0b21Db21wb25lbnQ+XG4gICAgICApO1xuICAgIH0gZWxzZSBpZiAoaHJlZikge1xuICAgICAgaXRlbUJhc2UgPSAoXG4gICAgICAgIDxhXG4gICAgICAgICAgaHJlZj17aHJlZn1cbiAgICAgICAgICBpZD17Z2xvYmFsSUR9XG4gICAgICAgICAgb25DbGljaz17b25DbGlja31cbiAgICAgICAgICB0YXJnZXQ9e3RhcmdldH1cbiAgICAgICAgICBjc3M9e3sgJyYmJzogc3R5bGVzLml0ZW1CYXNlIH19XG4gICAgICAgICAgey4uLmRhdGFzZXR9XG4gICAgICAgID5cbiAgICAgICAgICB7dGhpcy5yZW5kZXJJY29uQW5kQmFkZ2Uoc3R5bGVzLmJhZGdlV3JhcHBlcil9XG4gICAgICAgIDwvYT5cbiAgICAgICk7XG4gICAgfSBlbHNlIGlmIChvbkNsaWNrKSB7XG4gICAgICBpdGVtQmFzZSA9IChcbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIGlkPXtnbG9iYWxJRH1cbiAgICAgICAgICBvbkNsaWNrPXtvbkNsaWNrfVxuICAgICAgICAgIGNzcz17eyAnJiYnOiBzdHlsZXMuaXRlbUJhc2UgfX1cbiAgICAgICAgICB7Li4uZGF0YXNldH1cbiAgICAgICAgPlxuICAgICAgICAgIHt0aGlzLnJlbmRlckljb25BbmRCYWRnZShzdHlsZXMuYmFkZ2VXcmFwcGVyKX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICBpdGVtQmFzZSA9IChcbiAgICAgICAgPHNwYW4gaWQ9e2dsb2JhbElEfSBjc3M9e3sgJyYmJzogc3R5bGVzLml0ZW1CYXNlIH19IHsuLi5kYXRhc2V0fT5cbiAgICAgICAgICB7dGhpcy5yZW5kZXJJY29uQW5kQmFkZ2Uoc3R5bGVzLmJhZGdlV3JhcHBlcil9XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGl0ZW1CYXNlO1xuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7IGlzU2VsZWN0ZWQsIHRvb2x0aXAgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3Qgc3R5bGVzID0gdGhpcy5nZW5lcmF0ZVN0eWxlcygpO1xuICAgIHJldHVybiAoXG4gICAgICA8VG9vbHRpcFxuICAgICAgICBkZWxheT17MH1cbiAgICAgICAgY29udGVudD17aXNTZWxlY3RlZCA/IHVuZGVmaW5lZCA6IHRvb2x0aXB9XG4gICAgICAgIHBvc2l0aW9uPVwicmlnaHRcIlxuICAgICAgICBoaWRlVG9vbHRpcE9uQ2xpY2tcbiAgICAgICAgaGlkZVRvb2x0aXBPbk1vdXNlRG93blxuICAgICAgPlxuICAgICAgICA8ZGl2IGNzcz17eyBkaXNwbGF5OiAnaW5saW5lLWJsb2NrJyB9fT5cbiAgICAgICAgICB7dGhpcy5yZW5kZXJDaGlsZHJlbihzdHlsZXMpfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvVG9vbHRpcD5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCB7IEdsb2JhbE5hdmlnYXRpb25JdGVtUHJpbWl0aXZlIGFzIEJhc2VHbG9iYWxOYXZpZ2F0aW9uSXRlbVByaW1pdGl2ZSB9O1xuXG5leHBvcnQgZGVmYXVsdCB3aXRoR2xvYmFsVGhlbWUoR2xvYmFsTmF2aWdhdGlvbkl0ZW1QcmltaXRpdmUpO1xuIl19 */\")\n }), _this.renderIconAndBadge(styles.badgeWrapper));\n } else if (href) {\n itemBase = Object(_emotion_core__WEBPACK_IMPORTED_MODULE_10__[\"jsx\"])(\"a\", _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({\n href: href,\n id: globalID,\n onClick: onClick,\n target: target,\n css:\n /*#__PURE__*/\n Object(_emotion_css__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n '&&': styles.itemBase\n }, false ? undefined : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL0dsb2JhbEl0ZW0vcHJpbWl0aXZlcy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUErR1UiLCJmaWxlIjoiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvcHJlc2VudGF0aW9uYWwvR2xvYmFsSXRlbS9wcmltaXRpdmVzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IENvbXBvbmVudCwgRnJhZ21lbnQgfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCBkZWVwRXF1YWwgZnJvbSAncmVhY3QtZmFzdC1jb21wYXJlJztcblxuaW1wb3J0IFRvb2x0aXAgZnJvbSAnQGF0bGFza2l0L3Rvb2x0aXAnO1xuXG5pbXBvcnQgeyBzdHlsZVJlZHVjZXJOb09wLCB3aXRoR2xvYmFsVGhlbWUgfSBmcm9tICcuLi8uLi8uLi90aGVtZSc7XG5cbmNsYXNzIEdsb2JhbE5hdmlnYXRpb25JdGVtUHJpbWl0aXZlIGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICBkYXRhc2V0OiB7XG4gICAgICAnZGF0YS10ZXN0aWQnOiAnR2xvYmFsTmF2aWdhdGlvbkl0ZW0nLFxuICAgIH0sXG4gICAgaXNBY3RpdmU6IGZhbHNlLFxuICAgIGlzSG92ZXI6IGZhbHNlLFxuICAgIGlzU2VsZWN0ZWQ6IGZhbHNlLFxuICAgIGlzRm9jdXNlZDogZmFsc2UsXG4gICAgc2l6ZTogJ2xhcmdlJyxcbiAgICBzdHlsZXM6IHN0eWxlUmVkdWNlck5vT3AsXG4gIH07XG5cbiAgc2hvdWxkQ29tcG9uZW50VXBkYXRlKG5leHRQcm9wcykge1xuICAgIHJldHVybiAhZGVlcEVxdWFsKHRoaXMucHJvcHMsIG5leHRQcm9wcyk7XG4gIH1cblxuICByZW5kZXJJY29uQW5kQmFkZ2UgPSBiYWRnZVdyYXBwZXIgPT4ge1xuICAgIGNvbnN0IHsgaWNvbjogSWNvbiwgYmFkZ2U6IEJhZGdlLCBsYWJlbCwgdG9vbHRpcCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBwcmVzZW50YXRpb25Qcm9wcyA9IHRoaXMuZ2V0UHJlc2VudGF0aW9uUHJvcHMoKTtcbiAgICBpZiAoIUljb24gJiYgIUJhZGdlKSByZXR1cm4gbnVsbDtcbiAgICBjb25zdCBpY29uTGFiZWwgPSBsYWJlbCB8fCAodHlwZW9mIHRvb2x0aXAgPT09ICdzdHJpbmcnID8gdG9vbHRpcCA6ICcnKTtcbiAgICByZXR1cm4gKFxuICAgICAgPEZyYWdtZW50PlxuICAgICAgICB7ISFJY29uICYmIChcbiAgICAgICAgICA8ZGl2IGNzcz17eyBwb2ludGVyRXZlbnRzOiAnbm9uZScgfX0+XG4gICAgICAgICAgICA8SWNvbiBsYWJlbD17aWNvbkxhYmVsfSBzZWNvbmRhcnlDb2xvcj1cImluaGVyaXRcIiAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICApfVxuICAgICAgICB7ISFCYWRnZSAmJiAoXG4gICAgICAgICAgPGRpdiBjc3M9e2JhZGdlV3JhcHBlcn0+XG4gICAgICAgICAgICA8QmFkZ2Ugey4uLnByZXNlbnRhdGlvblByb3BzfSAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICApfVxuICAgICAgPC9GcmFnbWVudD5cbiAgICApO1xuICB9O1xuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bmRlZlxuICBnZXRHbG9iYWxJdGVtRXh0ZXJuYWxQcm9wcyA9ICgpID0+IHtcbiAgICBjb25zdCB7XG4gICAgICBpc0FjdGl2ZSxcbiAgICAgIGlzRm9jdXNlZCxcbiAgICAgIGlzSG92ZXIsXG4gICAgICB0aGVtZSxcbiAgICAgIC4uLmV4dGVybmFsUHJvcHNcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiBleHRlcm5hbFByb3BzO1xuICB9O1xuXG4gIGdldFByZXNlbnRhdGlvblByb3BzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNBY3RpdmUsIGlzRm9jdXNlZCwgaXNIb3ZlciwgaXNTZWxlY3RlZCwgc2l6ZSB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiB7IGlzQWN0aXZlLCBpc0ZvY3VzZWQsIGlzSG92ZXIsIGlzU2VsZWN0ZWQsIHNpemUgfTtcbiAgfTtcblxuICBnZW5lcmF0ZVN0eWxlcyA9ICgpID0+IHtcbiAgICBjb25zdCB7XG4gICAgICBpc0FjdGl2ZSxcbiAgICAgIGlzSG92ZXIsXG4gICAgICBpc1NlbGVjdGVkLFxuICAgICAgc2l6ZSxcbiAgICAgIHN0eWxlczogc3R5bGVSZWR1Y2VyLFxuICAgICAgdGhlbWUsXG4gICAgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyBtb2RlIH0gPSB0aGVtZTtcbiAgICBjb25zdCBwcmVzZW50YXRpb25Qcm9wcyA9IHsgaXNBY3RpdmUsIGlzSG92ZXIsIGlzU2VsZWN0ZWQsIHNpemUgfTtcbiAgICBjb25zdCBkZWZhdWx0U3R5bGVzID0gbW9kZS5nbG9iYWxJdGVtKHByZXNlbnRhdGlvblByb3BzKTtcbiAgICByZXR1cm4gc3R5bGVSZWR1Y2VyKGRlZmF1bHRTdHlsZXMsIHByZXNlbnRhdGlvblByb3BzKTtcbiAgfTtcblxuICByZW5kZXJDaGlsZHJlbiA9IHN0eWxlcyA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgY29tcG9uZW50OiBDdXN0b21Db21wb25lbnQsXG4gICAgICBkYXRhc2V0LFxuICAgICAgaHJlZixcbiAgICAgIGlkLFxuICAgICAgb25DbGljayxcbiAgICAgIHRhcmdldCxcbiAgICB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBnbG9iYWxJRCA9IGlkICYmIGAke2lkfUdsb2JhbEl0ZW1gO1xuXG4gICAgbGV0IGl0ZW1CYXNlO1xuXG4gICAgaWYgKEN1c3RvbUNvbXBvbmVudCkge1xuICAgICAgaXRlbUJhc2UgPSAoXG4gICAgICAgIC8vIEN1c3RvbUNvbXBvbmVudCBuZWVkcyBhIGNsYXNzTmFtZSBwcm9wLiBUaGlzIHByb3AgaXNcbiAgICAgICAgLy8gYWRkZWQgYWZ0ZXIgdGhlIGVtb3Rpb24gdHJhbnNsYXRpb24uXG4gICAgICAgIDxDdXN0b21Db21wb25lbnRcbiAgICAgICAgICB7Li4udGhpcy5nZXRHbG9iYWxJdGVtRXh0ZXJuYWxQcm9wcygpfVxuICAgICAgICAgIGNzcz17eyAnJiYnOiBzdHlsZXMuaXRlbUJhc2UgfX1cbiAgICAgICAgPlxuICAgICAgICAgIHt0aGlzLnJlbmRlckljb25BbmRCYWRnZShzdHlsZXMuYmFkZ2VXcmFwcGVyKX1cbiAgICAgICAgPC9DdXN0b21Db21wb25lbnQ+XG4gICAgICApO1xuICAgIH0gZWxzZSBpZiAoaHJlZikge1xuICAgICAgaXRlbUJhc2UgPSAoXG4gICAgICAgIDxhXG4gICAgICAgICAgaHJlZj17aHJlZn1cbiAgICAgICAgICBpZD17Z2xvYmFsSUR9XG4gICAgICAgICAgb25DbGljaz17b25DbGlja31cbiAgICAgICAgICB0YXJnZXQ9e3RhcmdldH1cbiAgICAgICAgICBjc3M9e3sgJyYmJzogc3R5bGVzLml0ZW1CYXNlIH19XG4gICAgICAgICAgey4uLmRhdGFzZXR9XG4gICAgICAgID5cbiAgICAgICAgICB7dGhpcy5yZW5kZXJJY29uQW5kQmFkZ2Uoc3R5bGVzLmJhZGdlV3JhcHBlcil9XG4gICAgICAgIDwvYT5cbiAgICAgICk7XG4gICAgfSBlbHNlIGlmIChvbkNsaWNrKSB7XG4gICAgICBpdGVtQmFzZSA9IChcbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIGlkPXtnbG9iYWxJRH1cbiAgICAgICAgICBvbkNsaWNrPXtvbkNsaWNrfVxuICAgICAgICAgIGNzcz17eyAnJiYnOiBzdHlsZXMuaXRlbUJhc2UgfX1cbiAgICAgICAgICB7Li4uZGF0YXNldH1cbiAgICAgICAgPlxuICAgICAgICAgIHt0aGlzLnJlbmRlckljb25BbmRCYWRnZShzdHlsZXMuYmFkZ2VXcmFwcGVyKX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICBpdGVtQmFzZSA9IChcbiAgICAgICAgPHNwYW4gaWQ9e2dsb2JhbElEfSBjc3M9e3sgJyYmJzogc3R5bGVzLml0ZW1CYXNlIH19IHsuLi5kYXRhc2V0fT5cbiAgICAgICAgICB7dGhpcy5yZW5kZXJJY29uQW5kQmFkZ2Uoc3R5bGVzLmJhZGdlV3JhcHBlcil9XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGl0ZW1CYXNlO1xuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7IGlzU2VsZWN0ZWQsIHRvb2x0aXAgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3Qgc3R5bGVzID0gdGhpcy5nZW5lcmF0ZVN0eWxlcygpO1xuICAgIHJldHVybiAoXG4gICAgICA8VG9vbHRpcFxuICAgICAgICBkZWxheT17MH1cbiAgICAgICAgY29udGVudD17aXNTZWxlY3RlZCA/IHVuZGVmaW5lZCA6IHRvb2x0aXB9XG4gICAgICAgIHBvc2l0aW9uPVwicmlnaHRcIlxuICAgICAgICBoaWRlVG9vbHRpcE9uQ2xpY2tcbiAgICAgICAgaGlkZVRvb2x0aXBPbk1vdXNlRG93blxuICAgICAgPlxuICAgICAgICA8ZGl2IGNzcz17eyBkaXNwbGF5OiAnaW5saW5lLWJsb2NrJyB9fT5cbiAgICAgICAgICB7dGhpcy5yZW5kZXJDaGlsZHJlbihzdHlsZXMpfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvVG9vbHRpcD5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCB7IEdsb2JhbE5hdmlnYXRpb25JdGVtUHJpbWl0aXZlIGFzIEJhc2VHbG9iYWxOYXZpZ2F0aW9uSXRlbVByaW1pdGl2ZSB9O1xuXG5leHBvcnQgZGVmYXVsdCB3aXRoR2xvYmFsVGhlbWUoR2xvYmFsTmF2aWdhdGlvbkl0ZW1QcmltaXRpdmUpO1xuIl19 */\")\n }, dataset), _this.renderIconAndBadge(styles.badgeWrapper));\n } else if (onClick) {\n itemBase = Object(_emotion_core__WEBPACK_IMPORTED_MODULE_10__[\"jsx\"])(\"button\", _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({\n id: globalID,\n onClick: onClick,\n css:\n /*#__PURE__*/\n Object(_emotion_css__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n '&&': styles.itemBase\n }, false ? undefined : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL0dsb2JhbEl0ZW0vcHJpbWl0aXZlcy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUEwSFUiLCJmaWxlIjoiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvcHJlc2VudGF0aW9uYWwvR2xvYmFsSXRlbS9wcmltaXRpdmVzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IENvbXBvbmVudCwgRnJhZ21lbnQgfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCBkZWVwRXF1YWwgZnJvbSAncmVhY3QtZmFzdC1jb21wYXJlJztcblxuaW1wb3J0IFRvb2x0aXAgZnJvbSAnQGF0bGFza2l0L3Rvb2x0aXAnO1xuXG5pbXBvcnQgeyBzdHlsZVJlZHVjZXJOb09wLCB3aXRoR2xvYmFsVGhlbWUgfSBmcm9tICcuLi8uLi8uLi90aGVtZSc7XG5cbmNsYXNzIEdsb2JhbE5hdmlnYXRpb25JdGVtUHJpbWl0aXZlIGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICBkYXRhc2V0OiB7XG4gICAgICAnZGF0YS10ZXN0aWQnOiAnR2xvYmFsTmF2aWdhdGlvbkl0ZW0nLFxuICAgIH0sXG4gICAgaXNBY3RpdmU6IGZhbHNlLFxuICAgIGlzSG92ZXI6IGZhbHNlLFxuICAgIGlzU2VsZWN0ZWQ6IGZhbHNlLFxuICAgIGlzRm9jdXNlZDogZmFsc2UsXG4gICAgc2l6ZTogJ2xhcmdlJyxcbiAgICBzdHlsZXM6IHN0eWxlUmVkdWNlck5vT3AsXG4gIH07XG5cbiAgc2hvdWxkQ29tcG9uZW50VXBkYXRlKG5leHRQcm9wcykge1xuICAgIHJldHVybiAhZGVlcEVxdWFsKHRoaXMucHJvcHMsIG5leHRQcm9wcyk7XG4gIH1cblxuICByZW5kZXJJY29uQW5kQmFkZ2UgPSBiYWRnZVdyYXBwZXIgPT4ge1xuICAgIGNvbnN0IHsgaWNvbjogSWNvbiwgYmFkZ2U6IEJhZGdlLCBsYWJlbCwgdG9vbHRpcCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBwcmVzZW50YXRpb25Qcm9wcyA9IHRoaXMuZ2V0UHJlc2VudGF0aW9uUHJvcHMoKTtcbiAgICBpZiAoIUljb24gJiYgIUJhZGdlKSByZXR1cm4gbnVsbDtcbiAgICBjb25zdCBpY29uTGFiZWwgPSBsYWJlbCB8fCAodHlwZW9mIHRvb2x0aXAgPT09ICdzdHJpbmcnID8gdG9vbHRpcCA6ICcnKTtcbiAgICByZXR1cm4gKFxuICAgICAgPEZyYWdtZW50PlxuICAgICAgICB7ISFJY29uICYmIChcbiAgICAgICAgICA8ZGl2IGNzcz17eyBwb2ludGVyRXZlbnRzOiAnbm9uZScgfX0+XG4gICAgICAgICAgICA8SWNvbiBsYWJlbD17aWNvbkxhYmVsfSBzZWNvbmRhcnlDb2xvcj1cImluaGVyaXRcIiAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICApfVxuICAgICAgICB7ISFCYWRnZSAmJiAoXG4gICAgICAgICAgPGRpdiBjc3M9e2JhZGdlV3JhcHBlcn0+XG4gICAgICAgICAgICA8QmFkZ2Ugey4uLnByZXNlbnRhdGlvblByb3BzfSAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICApfVxuICAgICAgPC9GcmFnbWVudD5cbiAgICApO1xuICB9O1xuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bmRlZlxuICBnZXRHbG9iYWxJdGVtRXh0ZXJuYWxQcm9wcyA9ICgpID0+IHtcbiAgICBjb25zdCB7XG4gICAgICBpc0FjdGl2ZSxcbiAgICAgIGlzRm9jdXNlZCxcbiAgICAgIGlzSG92ZXIsXG4gICAgICB0aGVtZSxcbiAgICAgIC4uLmV4dGVybmFsUHJvcHNcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiBleHRlcm5hbFByb3BzO1xuICB9O1xuXG4gIGdldFByZXNlbnRhdGlvblByb3BzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNBY3RpdmUsIGlzRm9jdXNlZCwgaXNIb3ZlciwgaXNTZWxlY3RlZCwgc2l6ZSB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiB7IGlzQWN0aXZlLCBpc0ZvY3VzZWQsIGlzSG92ZXIsIGlzU2VsZWN0ZWQsIHNpemUgfTtcbiAgfTtcblxuICBnZW5lcmF0ZVN0eWxlcyA9ICgpID0+IHtcbiAgICBjb25zdCB7XG4gICAgICBpc0FjdGl2ZSxcbiAgICAgIGlzSG92ZXIsXG4gICAgICBpc1NlbGVjdGVkLFxuICAgICAgc2l6ZSxcbiAgICAgIHN0eWxlczogc3R5bGVSZWR1Y2VyLFxuICAgICAgdGhlbWUsXG4gICAgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyBtb2RlIH0gPSB0aGVtZTtcbiAgICBjb25zdCBwcmVzZW50YXRpb25Qcm9wcyA9IHsgaXNBY3RpdmUsIGlzSG92ZXIsIGlzU2VsZWN0ZWQsIHNpemUgfTtcbiAgICBjb25zdCBkZWZhdWx0U3R5bGVzID0gbW9kZS5nbG9iYWxJdGVtKHByZXNlbnRhdGlvblByb3BzKTtcbiAgICByZXR1cm4gc3R5bGVSZWR1Y2VyKGRlZmF1bHRTdHlsZXMsIHByZXNlbnRhdGlvblByb3BzKTtcbiAgfTtcblxuICByZW5kZXJDaGlsZHJlbiA9IHN0eWxlcyA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgY29tcG9uZW50OiBDdXN0b21Db21wb25lbnQsXG4gICAgICBkYXRhc2V0LFxuICAgICAgaHJlZixcbiAgICAgIGlkLFxuICAgICAgb25DbGljayxcbiAgICAgIHRhcmdldCxcbiAgICB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBnbG9iYWxJRCA9IGlkICYmIGAke2lkfUdsb2JhbEl0ZW1gO1xuXG4gICAgbGV0IGl0ZW1CYXNlO1xuXG4gICAgaWYgKEN1c3RvbUNvbXBvbmVudCkge1xuICAgICAgaXRlbUJhc2UgPSAoXG4gICAgICAgIC8vIEN1c3RvbUNvbXBvbmVudCBuZWVkcyBhIGNsYXNzTmFtZSBwcm9wLiBUaGlzIHByb3AgaXNcbiAgICAgICAgLy8gYWRkZWQgYWZ0ZXIgdGhlIGVtb3Rpb24gdHJhbnNsYXRpb24uXG4gICAgICAgIDxDdXN0b21Db21wb25lbnRcbiAgICAgICAgICB7Li4udGhpcy5nZXRHbG9iYWxJdGVtRXh0ZXJuYWxQcm9wcygpfVxuICAgICAgICAgIGNzcz17eyAnJiYnOiBzdHlsZXMuaXRlbUJhc2UgfX1cbiAgICAgICAgPlxuICAgICAgICAgIHt0aGlzLnJlbmRlckljb25BbmRCYWRnZShzdHlsZXMuYmFkZ2VXcmFwcGVyKX1cbiAgICAgICAgPC9DdXN0b21Db21wb25lbnQ+XG4gICAgICApO1xuICAgIH0gZWxzZSBpZiAoaHJlZikge1xuICAgICAgaXRlbUJhc2UgPSAoXG4gICAgICAgIDxhXG4gICAgICAgICAgaHJlZj17aHJlZn1cbiAgICAgICAgICBpZD17Z2xvYmFsSUR9XG4gICAgICAgICAgb25DbGljaz17b25DbGlja31cbiAgICAgICAgICB0YXJnZXQ9e3RhcmdldH1cbiAgICAgICAgICBjc3M9e3sgJyYmJzogc3R5bGVzLml0ZW1CYXNlIH19XG4gICAgICAgICAgey4uLmRhdGFzZXR9XG4gICAgICAgID5cbiAgICAgICAgICB7dGhpcy5yZW5kZXJJY29uQW5kQmFkZ2Uoc3R5bGVzLmJhZGdlV3JhcHBlcil9XG4gICAgICAgIDwvYT5cbiAgICAgICk7XG4gICAgfSBlbHNlIGlmIChvbkNsaWNrKSB7XG4gICAgICBpdGVtQmFzZSA9IChcbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIGlkPXtnbG9iYWxJRH1cbiAgICAgICAgICBvbkNsaWNrPXtvbkNsaWNrfVxuICAgICAgICAgIGNzcz17eyAnJiYnOiBzdHlsZXMuaXRlbUJhc2UgfX1cbiAgICAgICAgICB7Li4uZGF0YXNldH1cbiAgICAgICAgPlxuICAgICAgICAgIHt0aGlzLnJlbmRlckljb25BbmRCYWRnZShzdHlsZXMuYmFkZ2VXcmFwcGVyKX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICBpdGVtQmFzZSA9IChcbiAgICAgICAgPHNwYW4gaWQ9e2dsb2JhbElEfSBjc3M9e3sgJyYmJzogc3R5bGVzLml0ZW1CYXNlIH19IHsuLi5kYXRhc2V0fT5cbiAgICAgICAgICB7dGhpcy5yZW5kZXJJY29uQW5kQmFkZ2Uoc3R5bGVzLmJhZGdlV3JhcHBlcil9XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGl0ZW1CYXNlO1xuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7IGlzU2VsZWN0ZWQsIHRvb2x0aXAgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3Qgc3R5bGVzID0gdGhpcy5nZW5lcmF0ZVN0eWxlcygpO1xuICAgIHJldHVybiAoXG4gICAgICA8VG9vbHRpcFxuICAgICAgICBkZWxheT17MH1cbiAgICAgICAgY29udGVudD17aXNTZWxlY3RlZCA/IHVuZGVmaW5lZCA6IHRvb2x0aXB9XG4gICAgICAgIHBvc2l0aW9uPVwicmlnaHRcIlxuICAgICAgICBoaWRlVG9vbHRpcE9uQ2xpY2tcbiAgICAgICAgaGlkZVRvb2x0aXBPbk1vdXNlRG93blxuICAgICAgPlxuICAgICAgICA8ZGl2IGNzcz17eyBkaXNwbGF5OiAnaW5saW5lLWJsb2NrJyB9fT5cbiAgICAgICAgICB7dGhpcy5yZW5kZXJDaGlsZHJlbihzdHlsZXMpfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvVG9vbHRpcD5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCB7IEdsb2JhbE5hdmlnYXRpb25JdGVtUHJpbWl0aXZlIGFzIEJhc2VHbG9iYWxOYXZpZ2F0aW9uSXRlbVByaW1pdGl2ZSB9O1xuXG5leHBvcnQgZGVmYXVsdCB3aXRoR2xvYmFsVGhlbWUoR2xvYmFsTmF2aWdhdGlvbkl0ZW1QcmltaXRpdmUpO1xuIl19 */\")\n }, dataset), _this.renderIconAndBadge(styles.badgeWrapper));\n } else {\n itemBase = Object(_emotion_core__WEBPACK_IMPORTED_MODULE_10__[\"jsx\"])(\"span\", _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({\n id: globalID,\n css:\n /*#__PURE__*/\n Object(_emotion_css__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n '&&': styles.itemBase\n }, false ? undefined : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL0dsb2JhbEl0ZW0vcHJpbWl0aXZlcy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFrSTRCIiwiZmlsZSI6Ii4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL0dsb2JhbEl0ZW0vcHJpbWl0aXZlcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyBDb21wb25lbnQsIEZyYWdtZW50IH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgZGVlcEVxdWFsIGZyb20gJ3JlYWN0LWZhc3QtY29tcGFyZSc7XG5cbmltcG9ydCBUb29sdGlwIGZyb20gJ0BhdGxhc2tpdC90b29sdGlwJztcblxuaW1wb3J0IHsgc3R5bGVSZWR1Y2VyTm9PcCwgd2l0aEdsb2JhbFRoZW1lIH0gZnJvbSAnLi4vLi4vLi4vdGhlbWUnO1xuXG5jbGFzcyBHbG9iYWxOYXZpZ2F0aW9uSXRlbVByaW1pdGl2ZSBleHRlbmRzIENvbXBvbmVudCB7XG4gIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XG4gICAgZGF0YXNldDoge1xuICAgICAgJ2RhdGEtdGVzdGlkJzogJ0dsb2JhbE5hdmlnYXRpb25JdGVtJyxcbiAgICB9LFxuICAgIGlzQWN0aXZlOiBmYWxzZSxcbiAgICBpc0hvdmVyOiBmYWxzZSxcbiAgICBpc1NlbGVjdGVkOiBmYWxzZSxcbiAgICBpc0ZvY3VzZWQ6IGZhbHNlLFxuICAgIHNpemU6ICdsYXJnZScsXG4gICAgc3R5bGVzOiBzdHlsZVJlZHVjZXJOb09wLFxuICB9O1xuXG4gIHNob3VsZENvbXBvbmVudFVwZGF0ZShuZXh0UHJvcHMpIHtcbiAgICByZXR1cm4gIWRlZXBFcXVhbCh0aGlzLnByb3BzLCBuZXh0UHJvcHMpO1xuICB9XG5cbiAgcmVuZGVySWNvbkFuZEJhZGdlID0gYmFkZ2VXcmFwcGVyID0+IHtcbiAgICBjb25zdCB7IGljb246IEljb24sIGJhZGdlOiBCYWRnZSwgbGFiZWwsIHRvb2x0aXAgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgcHJlc2VudGF0aW9uUHJvcHMgPSB0aGlzLmdldFByZXNlbnRhdGlvblByb3BzKCk7XG4gICAgaWYgKCFJY29uICYmICFCYWRnZSkgcmV0dXJuIG51bGw7XG4gICAgY29uc3QgaWNvbkxhYmVsID0gbGFiZWwgfHwgKHR5cGVvZiB0b29sdGlwID09PSAnc3RyaW5nJyA/IHRvb2x0aXAgOiAnJyk7XG4gICAgcmV0dXJuIChcbiAgICAgIDxGcmFnbWVudD5cbiAgICAgICAgeyEhSWNvbiAmJiAoXG4gICAgICAgICAgPGRpdiBjc3M9e3sgcG9pbnRlckV2ZW50czogJ25vbmUnIH19PlxuICAgICAgICAgICAgPEljb24gbGFiZWw9e2ljb25MYWJlbH0gc2Vjb25kYXJ5Q29sb3I9XCJpbmhlcml0XCIgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKX1cbiAgICAgICAgeyEhQmFkZ2UgJiYgKFxuICAgICAgICAgIDxkaXYgY3NzPXtiYWRnZVdyYXBwZXJ9PlxuICAgICAgICAgICAgPEJhZGdlIHsuLi5wcmVzZW50YXRpb25Qcm9wc30gLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKX1cbiAgICAgIDwvRnJhZ21lbnQ+XG4gICAgKTtcbiAgfTtcblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW5kZWZcbiAgZ2V0R2xvYmFsSXRlbUV4dGVybmFsUHJvcHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgaXNBY3RpdmUsXG4gICAgICBpc0ZvY3VzZWQsXG4gICAgICBpc0hvdmVyLFxuICAgICAgdGhlbWUsXG4gICAgICAuLi5leHRlcm5hbFByb3BzXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gZXh0ZXJuYWxQcm9wcztcbiAgfTtcblxuICBnZXRQcmVzZW50YXRpb25Qcm9wcyA9ICgpID0+IHtcbiAgICBjb25zdCB7IGlzQWN0aXZlLCBpc0ZvY3VzZWQsIGlzSG92ZXIsIGlzU2VsZWN0ZWQsIHNpemUgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4geyBpc0FjdGl2ZSwgaXNGb2N1c2VkLCBpc0hvdmVyLCBpc1NlbGVjdGVkLCBzaXplIH07XG4gIH07XG5cbiAgZ2VuZXJhdGVTdHlsZXMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgaXNBY3RpdmUsXG4gICAgICBpc0hvdmVyLFxuICAgICAgaXNTZWxlY3RlZCxcbiAgICAgIHNpemUsXG4gICAgICBzdHlsZXM6IHN0eWxlUmVkdWNlcixcbiAgICAgIHRoZW1lLFxuICAgIH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IHsgbW9kZSB9ID0gdGhlbWU7XG4gICAgY29uc3QgcHJlc2VudGF0aW9uUHJvcHMgPSB7IGlzQWN0aXZlLCBpc0hvdmVyLCBpc1NlbGVjdGVkLCBzaXplIH07XG4gICAgY29uc3QgZGVmYXVsdFN0eWxlcyA9IG1vZGUuZ2xvYmFsSXRlbShwcmVzZW50YXRpb25Qcm9wcyk7XG4gICAgcmV0dXJuIHN0eWxlUmVkdWNlcihkZWZhdWx0U3R5bGVzLCBwcmVzZW50YXRpb25Qcm9wcyk7XG4gIH07XG5cbiAgcmVuZGVyQ2hpbGRyZW4gPSBzdHlsZXMgPT4ge1xuICAgIGNvbnN0IHtcbiAgICAgIGNvbXBvbmVudDogQ3VzdG9tQ29tcG9uZW50LFxuICAgICAgZGF0YXNldCxcbiAgICAgIGhyZWYsXG4gICAgICBpZCxcbiAgICAgIG9uQ2xpY2ssXG4gICAgICB0YXJnZXQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgZ2xvYmFsSUQgPSBpZCAmJiBgJHtpZH1HbG9iYWxJdGVtYDtcblxuICAgIGxldCBpdGVtQmFzZTtcblxuICAgIGlmIChDdXN0b21Db21wb25lbnQpIHtcbiAgICAgIGl0ZW1CYXNlID0gKFxuICAgICAgICAvLyBDdXN0b21Db21wb25lbnQgbmVlZHMgYSBjbGFzc05hbWUgcHJvcC4gVGhpcyBwcm9wIGlzXG4gICAgICAgIC8vIGFkZGVkIGFmdGVyIHRoZSBlbW90aW9uIHRyYW5zbGF0aW9uLlxuICAgICAgICA8Q3VzdG9tQ29tcG9uZW50XG4gICAgICAgICAgey4uLnRoaXMuZ2V0R2xvYmFsSXRlbUV4dGVybmFsUHJvcHMoKX1cbiAgICAgICAgICBjc3M9e3sgJyYmJzogc3R5bGVzLml0ZW1CYXNlIH19XG4gICAgICAgID5cbiAgICAgICAgICB7dGhpcy5yZW5kZXJJY29uQW5kQmFkZ2Uoc3R5bGVzLmJhZGdlV3JhcHBlcil9XG4gICAgICAgIDwvQ3VzdG9tQ29tcG9uZW50PlxuICAgICAgKTtcbiAgICB9IGVsc2UgaWYgKGhyZWYpIHtcbiAgICAgIGl0ZW1CYXNlID0gKFxuICAgICAgICA8YVxuICAgICAgICAgIGhyZWY9e2hyZWZ9XG4gICAgICAgICAgaWQ9e2dsb2JhbElEfVxuICAgICAgICAgIG9uQ2xpY2s9e29uQ2xpY2t9XG4gICAgICAgICAgdGFyZ2V0PXt0YXJnZXR9XG4gICAgICAgICAgY3NzPXt7ICcmJic6IHN0eWxlcy5pdGVtQmFzZSB9fVxuICAgICAgICAgIHsuLi5kYXRhc2V0fVxuICAgICAgICA+XG4gICAgICAgICAge3RoaXMucmVuZGVySWNvbkFuZEJhZGdlKHN0eWxlcy5iYWRnZVdyYXBwZXIpfVxuICAgICAgICA8L2E+XG4gICAgICApO1xuICAgIH0gZWxzZSBpZiAob25DbGljaykge1xuICAgICAgaXRlbUJhc2UgPSAoXG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBpZD17Z2xvYmFsSUR9XG4gICAgICAgICAgb25DbGljaz17b25DbGlja31cbiAgICAgICAgICBjc3M9e3sgJyYmJzogc3R5bGVzLml0ZW1CYXNlIH19XG4gICAgICAgICAgey4uLmRhdGFzZXR9XG4gICAgICAgID5cbiAgICAgICAgICB7dGhpcy5yZW5kZXJJY29uQW5kQmFkZ2Uoc3R5bGVzLmJhZGdlV3JhcHBlcil9XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaXRlbUJhc2UgPSAoXG4gICAgICAgIDxzcGFuIGlkPXtnbG9iYWxJRH0gY3NzPXt7ICcmJic6IHN0eWxlcy5pdGVtQmFzZSB9fSB7Li4uZGF0YXNldH0+XG4gICAgICAgICAge3RoaXMucmVuZGVySWNvbkFuZEJhZGdlKHN0eWxlcy5iYWRnZVdyYXBwZXIpfVxuICAgICAgICA8L3NwYW4+XG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiBpdGVtQmFzZTtcbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgeyBpc1NlbGVjdGVkLCB0b29sdGlwIH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IHN0eWxlcyA9IHRoaXMuZ2VuZXJhdGVTdHlsZXMoKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBcbiAgICAgICAgZGVsYXk9ezB9XG4gICAgICAgIGNvbnRlbnQ9e2lzU2VsZWN0ZWQgPyB1bmRlZmluZWQgOiB0b29sdGlwfVxuICAgICAgICBwb3NpdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgaGlkZVRvb2x0aXBPbkNsaWNrXG4gICAgICAgIGhpZGVUb29sdGlwT25Nb3VzZURvd25cbiAgICAgID5cbiAgICAgICAgPGRpdiBjc3M9e3sgZGlzcGxheTogJ2lubGluZS1ibG9jaycgfX0+XG4gICAgICAgICAge3RoaXMucmVuZGVyQ2hpbGRyZW4oc3R5bGVzKX1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L1Rvb2x0aXA+XG4gICAgKTtcbiAgfVxufVxuXG5leHBvcnQgeyBHbG9iYWxOYXZpZ2F0aW9uSXRlbVByaW1pdGl2ZSBhcyBCYXNlR2xvYmFsTmF2aWdhdGlvbkl0ZW1QcmltaXRpdmUgfTtcblxuZXhwb3J0IGRlZmF1bHQgd2l0aEdsb2JhbFRoZW1lKEdsb2JhbE5hdmlnYXRpb25JdGVtUHJpbWl0aXZlKTtcbiJdfQ== */\")\n }, dataset), _this.renderIconAndBadge(styles.badgeWrapper));\n }\n\n return itemBase;\n });\n\n return _this;\n }\n\n _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_4___default()(GlobalNavigationItemPrimitive, [{\n key: \"shouldComponentUpdate\",\n value: function shouldComponentUpdate(nextProps) {\n return !react_fast_compare__WEBPACK_IMPORTED_MODULE_12___default()(this.props, nextProps);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props6 = this.props,\n isSelected = _this$props6.isSelected,\n tooltip = _this$props6.tooltip;\n var styles = this.generateStyles();\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_10__[\"jsx\"])(_atlaskit_tooltip__WEBPACK_IMPORTED_MODULE_13__[\"default\"], {\n delay: 0,\n content: isSelected ? undefined : tooltip,\n position: \"right\",\n hideTooltipOnClick: true,\n hideTooltipOnMouseDown: true\n }, Object(_emotion_core__WEBPACK_IMPORTED_MODULE_10__[\"jsx\"])(\"div\", {\n css: _ref2\n }, this.renderChildren(styles)));\n }\n }]);\n\n return GlobalNavigationItemPrimitive;\n}(react__WEBPACK_IMPORTED_MODULE_11__[\"Component\"]);\n\n_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_9___default()(GlobalNavigationItemPrimitive, \"defaultProps\", {\n dataset: {\n 'data-testid': 'GlobalNavigationItem'\n },\n isActive: false,\n isHover: false,\n isSelected: false,\n isFocused: false,\n size: 'large',\n styles: _theme__WEBPACK_IMPORTED_MODULE_14__[\"styleReducerNoOp\"]\n});\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(_theme__WEBPACK_IMPORTED_MODULE_14__[\"withGlobalTheme\"])(GlobalNavigationItemPrimitive));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL0dsb2JhbEl0ZW0vcHJpbWl0aXZlcy5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AYXRsYXNraXQvbmF2aWdhdGlvbi1uZXh0L2Rpc3QvZXNtL2NvbXBvbmVudHMvcHJlc2VudGF0aW9uYWwvR2xvYmFsSXRlbS9wcmltaXRpdmVzLmpzPzM1YjAiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IF9leHRlbmRzIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2V4dGVuZHNcIjtcbmltcG9ydCBfY3NzIGZyb20gXCJAZW1vdGlvbi9jc3NcIjtcbmltcG9ydCBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvb2JqZWN0V2l0aG91dFByb3BlcnRpZXNcIjtcbmltcG9ydCBfY2xhc3NDYWxsQ2hlY2sgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvY2xhc3NDYWxsQ2hlY2tcIjtcbmltcG9ydCBfY3JlYXRlQ2xhc3MgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvY3JlYXRlQ2xhc3NcIjtcbmltcG9ydCBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybiBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuXCI7XG5pbXBvcnQgX2dldFByb3RvdHlwZU9mIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2dldFByb3RvdHlwZU9mXCI7XG5pbXBvcnQgX2Fzc2VydFRoaXNJbml0aWFsaXplZCBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9hc3NlcnRUaGlzSW5pdGlhbGl6ZWRcIjtcbmltcG9ydCBfaW5oZXJpdHMgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvaW5oZXJpdHNcIjtcbmltcG9ydCBfZGVmaW5lUHJvcGVydHkgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvZGVmaW5lUHJvcGVydHlcIjtcbmltcG9ydCB7IGpzeCBhcyBfX19FbW90aW9uSlNYIH0gZnJvbSBcIkBlbW90aW9uL2NvcmVcIjtcbmltcG9ydCBSZWFjdCwgeyBDb21wb25lbnQsIEZyYWdtZW50IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IGRlZXBFcXVhbCBmcm9tICdyZWFjdC1mYXN0LWNvbXBhcmUnO1xuaW1wb3J0IFRvb2x0aXAgZnJvbSAnQGF0bGFza2l0L3Rvb2x0aXAnO1xuaW1wb3J0IHsgc3R5bGVSZWR1Y2VyTm9PcCwgd2l0aEdsb2JhbFRoZW1lIH0gZnJvbSAnLi4vLi4vLi4vdGhlbWUnO1xuXG52YXIgX3JlZiA9IHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHtcbiAgbmFtZTogXCIxaXhicDBsXCIsXG4gIHN0eWxlczogXCJwb2ludGVyLWV2ZW50czpub25lO1wiXG59IDoge1xuICBuYW1lOiBcIjFpeGJwMGxcIixcbiAgc3R5bGVzOiBcInBvaW50ZXItZXZlbnRzOm5vbmU7XCIsXG4gIG1hcDogXCIvKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJaTR1THk0dUx5NHVMeTR1THk0dUwzTnlZeTlqYjIxd2IyNWxiblJ6TDNCeVpYTmxiblJoZEdsdmJtRnNMMGRzYjJKaGJFbDBaVzB2Y0hKcGJXbDBhWFpsY3k1cWN5SmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRnBRMlVpTENKbWFXeGxJam9pTGk0dkxpNHZMaTR2TGk0dkxpNHZjM0pqTDJOdmJYQnZibVZ1ZEhNdmNISmxjMlZ1ZEdGMGFXOXVZV3d2UjJ4dlltRnNTWFJsYlM5d2NtbHRhWFJwZG1WekxtcHpJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpYVcxd2IzSjBJRkpsWVdOMExDQjdJRU52YlhCdmJtVnVkQ3dnUm5KaFoyMWxiblFnZlNCbWNtOXRJQ2R5WldGamRDYzdYRzVjYm1sdGNHOXlkQ0JrWldWd1JYRjFZV3dnWm5KdmJTQW5jbVZoWTNRdFptRnpkQzFqYjIxd1lYSmxKenRjYmx4dWFXMXdiM0owSUZSdmIyeDBhWEFnWm5KdmJTQW5RR0YwYkdGemEybDBMM1J2YjJ4MGFYQW5PMXh1WEc1cGJYQnZjblFnZXlCemRIbHNaVkpsWkhWalpYSk9iMDl3TENCM2FYUm9SMnh2WW1Gc1ZHaGxiV1VnZlNCbWNtOXRJQ2N1TGk4dUxpOHVMaTkwYUdWdFpTYzdYRzVjYm1Oc1lYTnpJRWRzYjJKaGJFNWhkbWxuWVhScGIyNUpkR1Z0VUhKcGJXbDBhWFpsSUdWNGRHVnVaSE1nUTI5dGNHOXVaVzUwSUh0Y2JpQWdjM1JoZEdsaklHUmxabUYxYkhSUWNtOXdjeUE5SUh0Y2JpQWdJQ0JrWVhSaGMyVjBPaUI3WEc0Z0lDQWdJQ0FuWkdGMFlTMTBaWE4wYVdRbk9pQW5SMnh2WW1Gc1RtRjJhV2RoZEdsdmJrbDBaVzBuTEZ4dUlDQWdJSDBzWEc0Z0lDQWdhWE5CWTNScGRtVTZJR1poYkhObExGeHVJQ0FnSUdselNHOTJaWEk2SUdaaGJITmxMRnh1SUNBZ0lHbHpVMlZzWldOMFpXUTZJR1poYkhObExGeHVJQ0FnSUdselJtOWpkWE5sWkRvZ1ptRnNjMlVzWEc0Z0lDQWdjMmw2WlRvZ0oyeGhjbWRsSnl4Y2JpQWdJQ0J6ZEhsc1pYTTZJSE4wZVd4bFVtVmtkV05sY2s1dlQzQXNYRzRnSUgwN1hHNWNiaUFnYzJodmRXeGtRMjl0Y0c5dVpXNTBWWEJrWVhSbEtHNWxlSFJRY205d2N5a2dlMXh1SUNBZ0lISmxkSFZ5YmlBaFpHVmxjRVZ4ZFdGc0tIUm9hWE11Y0hKdmNITXNJRzVsZUhSUWNtOXdjeWs3WEc0Z0lIMWNibHh1SUNCeVpXNWtaWEpKWTI5dVFXNWtRbUZrWjJVZ1BTQmlZV1JuWlZkeVlYQndaWElnUFQ0Z2UxeHVJQ0FnSUdOdmJuTjBJSHNnYVdOdmJqb2dTV052Yml3Z1ltRmtaMlU2SUVKaFpHZGxMQ0JzWVdKbGJDd2dkRzl2YkhScGNDQjlJRDBnZEdocGN5NXdjbTl3Y3p0Y2JpQWdJQ0JqYjI1emRDQndjbVZ6Wlc1MFlYUnBiMjVRY205d2N5QTlJSFJvYVhNdVoyVjBVSEpsYzJWdWRHRjBhVzl1VUhKdmNITW9LVHRjYmlBZ0lDQnBaaUFvSVVsamIyNGdKaVlnSVVKaFpHZGxLU0J5WlhSMWNtNGdiblZzYkR0Y2JpQWdJQ0JqYjI1emRDQnBZMjl1VEdGaVpXd2dQU0JzWVdKbGJDQjhmQ0FvZEhsd1pXOW1JSFJ2YjJ4MGFYQWdQVDA5SUNkemRISnBibWNuSUQ4Z2RHOXZiSFJwY0NBNklDY25LVHRjYmlBZ0lDQnlaWFIxY200Z0tGeHVJQ0FnSUNBZ1BFWnlZV2R0Wlc1MFBseHVJQ0FnSUNBZ0lDQjdJU0ZKWTI5dUlDWW1JQ2hjYmlBZ0lDQWdJQ0FnSUNBOFpHbDJJR056Y3oxN2V5QndiMmx1ZEdWeVJYWmxiblJ6T2lBbmJtOXVaU2NnZlgwK1hHNGdJQ0FnSUNBZ0lDQWdJQ0E4U1dOdmJpQnNZV0psYkQxN2FXTnZia3hoWW1Wc2ZTQnpaV052Ym1SaGNubERiMnh2Y2oxY0ltbHVhR1Z5YVhSY0lpQXZQbHh1SUNBZ0lDQWdJQ0FnSUR3dlpHbDJQbHh1SUNBZ0lDQWdJQ0FwZlZ4dUlDQWdJQ0FnSUNCN0lTRkNZV1JuWlNBbUppQW9YRzRnSUNBZ0lDQWdJQ0FnUEdScGRpQmpjM005ZTJKaFpHZGxWM0poY0hCbGNuMCtYRzRnSUNBZ0lDQWdJQ0FnSUNBOFFtRmtaMlVnZXk0dUxuQnlaWE5sYm5SaGRHbHZibEJ5YjNCemZTQXZQbHh1SUNBZ0lDQWdJQ0FnSUR3dlpHbDJQbHh1SUNBZ0lDQWdJQ0FwZlZ4dUlDQWdJQ0FnUEM5R2NtRm5iV1Z1ZEQ1Y2JpQWdJQ0FwTzF4dUlDQjlPMXh1WEc0Z0lDOHZJR1Z6YkdsdWRDMWthWE5oWW14bExXNWxlSFF0YkdsdVpTQnVieTExYm1SbFpseHVJQ0JuWlhSSGJHOWlZV3hKZEdWdFJYaDBaWEp1WVd4UWNtOXdjeUE5SUNncElEMCtJSHRjYmlBZ0lDQmpiMjV6ZENCN1hHNGdJQ0FnSUNCcGMwRmpkR2wyWlN4Y2JpQWdJQ0FnSUdselJtOWpkWE5sWkN4Y2JpQWdJQ0FnSUdselNHOTJaWElzWEc0Z0lDQWdJQ0IwYUdWdFpTeGNiaUFnSUNBZ0lDNHVMbVY0ZEdWeWJtRnNVSEp2Y0hOY2JpQWdJQ0I5SUQwZ2RHaHBjeTV3Y205d2N6dGNibHh1SUNBZ0lISmxkSFZ5YmlCbGVIUmxjbTVoYkZCeWIzQnpPMXh1SUNCOU8xeHVYRzRnSUdkbGRGQnlaWE5sYm5SaGRHbHZibEJ5YjNCeklEMGdLQ2tnUFQ0Z2UxeHVJQ0FnSUdOdmJuTjBJSHNnYVhOQlkzUnBkbVVzSUdselJtOWpkWE5sWkN3Z2FYTkliM1psY2l3Z2FYTlRaV3hsWTNSbFpDd2djMmw2WlNCOUlEMGdkR2hwY3k1d2NtOXdjenRjYmx4dUlDQWdJSEpsZEhWeWJpQjdJR2x6UVdOMGFYWmxMQ0JwYzBadlkzVnpaV1FzSUdselNHOTJaWElzSUdselUyVnNaV04wWldRc0lITnBlbVVnZlR0Y2JpQWdmVHRjYmx4dUlDQm5aVzVsY21GMFpWTjBlV3hsY3lBOUlDZ3BJRDArSUh0Y2JpQWdJQ0JqYjI1emRDQjdYRzRnSUNBZ0lDQnBjMEZqZEdsMlpTeGNiaUFnSUNBZ0lHbHpTRzkyWlhJc1hHNGdJQ0FnSUNCcGMxTmxiR1ZqZEdWa0xGeHVJQ0FnSUNBZ2MybDZaU3hjYmlBZ0lDQWdJSE4wZVd4bGN6b2djM1I1YkdWU1pXUjFZMlZ5TEZ4dUlDQWdJQ0FnZEdobGJXVXNYRzRnSUNBZ2ZTQTlJSFJvYVhNdWNISnZjSE03WEc0Z0lDQWdZMjl1YzNRZ2V5QnRiMlJsSUgwZ1BTQjBhR1Z0WlR0Y2JpQWdJQ0JqYjI1emRDQndjbVZ6Wlc1MFlYUnBiMjVRY205d2N5QTlJSHNnYVhOQlkzUnBkbVVzSUdselNHOTJaWElzSUdselUyVnNaV04wWldRc0lITnBlbVVnZlR0Y2JpQWdJQ0JqYjI1emRDQmtaV1poZFd4MFUzUjViR1Z6SUQwZ2JXOWtaUzVuYkc5aVlXeEpkR1Z0S0hCeVpYTmxiblJoZEdsdmJsQnliM0J6S1R0Y2JpQWdJQ0J5WlhSMWNtNGdjM1I1YkdWU1pXUjFZMlZ5S0dSbFptRjFiSFJUZEhsc1pYTXNJSEJ5WlhObGJuUmhkR2x2YmxCeWIzQnpLVHRjYmlBZ2ZUdGNibHh1SUNCeVpXNWtaWEpEYUdsc1pISmxiaUE5SUhOMGVXeGxjeUE5UGlCN1hHNGdJQ0FnWTI5dWMzUWdlMXh1SUNBZ0lDQWdZMjl0Y0c5dVpXNTBPaUJEZFhOMGIyMURiMjF3YjI1bGJuUXNYRzRnSUNBZ0lDQmtZWFJoYzJWMExGeHVJQ0FnSUNBZ2FISmxaaXhjYmlBZ0lDQWdJR2xrTEZ4dUlDQWdJQ0FnYjI1RGJHbGpheXhjYmlBZ0lDQWdJSFJoY21kbGRDeGNiaUFnSUNCOUlEMGdkR2hwY3k1d2NtOXdjenRjYmlBZ0lDQmpiMjV6ZENCbmJHOWlZV3hKUkNBOUlHbGtJQ1ltSUdBa2UybGtmVWRzYjJKaGJFbDBaVzFnTzF4dVhHNGdJQ0FnYkdWMElHbDBaVzFDWVhObE8xeHVYRzRnSUNBZ2FXWWdLRU4xYzNSdmJVTnZiWEJ2Ym1WdWRDa2dlMXh1SUNBZ0lDQWdhWFJsYlVKaGMyVWdQU0FvWEc0Z0lDQWdJQ0FnSUM4dklFTjFjM1J2YlVOdmJYQnZibVZ1ZENCdVpXVmtjeUJoSUdOc1lYTnpUbUZ0WlNCd2NtOXdMaUJVYUdseklIQnliM0FnYVhOY2JpQWdJQ0FnSUNBZ0x5OGdZV1JrWldRZ1lXWjBaWElnZEdobElHVnRiM1JwYjI0Z2RISmhibk5zWVhScGIyNHVYRzRnSUNBZ0lDQWdJRHhEZFhOMGIyMURiMjF3YjI1bGJuUmNiaUFnSUNBZ0lDQWdJQ0I3TGk0dWRHaHBjeTVuWlhSSGJHOWlZV3hKZEdWdFJYaDBaWEp1WVd4UWNtOXdjeWdwZlZ4dUlDQWdJQ0FnSUNBZ0lHTnpjejE3ZXlBbkppWW5PaUJ6ZEhsc1pYTXVhWFJsYlVKaGMyVWdmWDFjYmlBZ0lDQWdJQ0FnUGx4dUlDQWdJQ0FnSUNBZ0lIdDBhR2x6TG5KbGJtUmxja2xqYjI1QmJtUkNZV1JuWlNoemRIbHNaWE11WW1Ga1oyVlhjbUZ3Y0dWeUtYMWNiaUFnSUNBZ0lDQWdQQzlEZFhOMGIyMURiMjF3YjI1bGJuUStYRzRnSUNBZ0lDQXBPMXh1SUNBZ0lIMGdaV3h6WlNCcFppQW9hSEpsWmlrZ2UxeHVJQ0FnSUNBZ2FYUmxiVUpoYzJVZ1BTQW9YRzRnSUNBZ0lDQWdJRHhoWEc0Z0lDQWdJQ0FnSUNBZ2FISmxaajE3YUhKbFpuMWNiaUFnSUNBZ0lDQWdJQ0JwWkQxN1oyeHZZbUZzU1VSOVhHNGdJQ0FnSUNBZ0lDQWdiMjVEYkdsamF6MTdiMjVEYkdsamEzMWNiaUFnSUNBZ0lDQWdJQ0IwWVhKblpYUTllM1JoY21kbGRIMWNiaUFnSUNBZ0lDQWdJQ0JqYzNNOWUzc2dKeVltSnpvZ2MzUjViR1Z6TG1sMFpXMUNZWE5sSUgxOVhHNGdJQ0FnSUNBZ0lDQWdleTR1TG1SaGRHRnpaWFI5WEc0Z0lDQWdJQ0FnSUQ1Y2JpQWdJQ0FnSUNBZ0lDQjdkR2hwY3k1eVpXNWtaWEpKWTI5dVFXNWtRbUZrWjJVb2MzUjViR1Z6TG1KaFpHZGxWM0poY0hCbGNpbDlYRzRnSUNBZ0lDQWdJRHd2WVQ1Y2JpQWdJQ0FnSUNrN1hHNGdJQ0FnZlNCbGJITmxJR2xtSUNodmJrTnNhV05yS1NCN1hHNGdJQ0FnSUNCcGRHVnRRbUZ6WlNBOUlDaGNiaUFnSUNBZ0lDQWdQR0oxZEhSdmJseHVJQ0FnSUNBZ0lDQWdJR2xrUFh0bmJHOWlZV3hKUkgxY2JpQWdJQ0FnSUNBZ0lDQnZia05zYVdOclBYdHZia05zYVdOcmZWeHVJQ0FnSUNBZ0lDQWdJR056Y3oxN2V5QW5KaVluT2lCemRIbHNaWE11YVhSbGJVSmhjMlVnZlgxY2JpQWdJQ0FnSUNBZ0lDQjdMaTR1WkdGMFlYTmxkSDFjYmlBZ0lDQWdJQ0FnUGx4dUlDQWdJQ0FnSUNBZ0lIdDBhR2x6TG5KbGJtUmxja2xqYjI1QmJtUkNZV1JuWlNoemRIbHNaWE11WW1Ga1oyVlhjbUZ3Y0dWeUtYMWNiaUFnSUNBZ0lDQWdQQzlpZFhSMGIyNCtYRzRnSUNBZ0lDQXBPMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNCcGRHVnRRbUZ6WlNBOUlDaGNiaUFnSUNBZ0lDQWdQSE53WVc0Z2FXUTllMmRzYjJKaGJFbEVmU0JqYzNNOWUzc2dKeVltSnpvZ2MzUjViR1Z6TG1sMFpXMUNZWE5sSUgxOUlIc3VMaTVrWVhSaGMyVjBmVDVjYmlBZ0lDQWdJQ0FnSUNCN2RHaHBjeTV5Wlc1a1pYSkpZMjl1UVc1a1FtRmtaMlVvYzNSNWJHVnpMbUpoWkdkbFYzSmhjSEJsY2lsOVhHNGdJQ0FnSUNBZ0lEd3ZjM0JoYmo1Y2JpQWdJQ0FnSUNrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJR2wwWlcxQ1lYTmxPMXh1SUNCOU8xeHVYRzRnSUhKbGJtUmxjaWdwSUh0Y2JpQWdJQ0JqYjI1emRDQjdJR2x6VTJWc1pXTjBaV1FzSUhSdmIyeDBhWEFnZlNBOUlIUm9hWE11Y0hKdmNITTdYRzRnSUNBZ1kyOXVjM1FnYzNSNWJHVnpJRDBnZEdocGN5NW5aVzVsY21GMFpWTjBlV3hsY3lncE8xeHVJQ0FnSUhKbGRIVnliaUFvWEc0Z0lDQWdJQ0E4Vkc5dmJIUnBjRnh1SUNBZ0lDQWdJQ0JrWld4aGVUMTdNSDFjYmlBZ0lDQWdJQ0FnWTI5dWRHVnVkRDE3YVhOVFpXeGxZM1JsWkNBL0lIVnVaR1ZtYVc1bFpDQTZJSFJ2YjJ4MGFYQjlYRzRnSUNBZ0lDQWdJSEJ2YzJsMGFXOXVQVndpY21sbmFIUmNJbHh1SUNBZ0lDQWdJQ0JvYVdSbFZHOXZiSFJwY0U5dVEyeHBZMnRjYmlBZ0lDQWdJQ0FnYUdsa1pWUnZiMngwYVhCUGJrMXZkWE5sUkc5M2JseHVJQ0FnSUNBZ1BseHVJQ0FnSUNBZ0lDQThaR2wySUdOemN6MTdleUJrYVhOd2JHRjVPaUFuYVc1c2FXNWxMV0pzYjJOckp5QjlmVDVjYmlBZ0lDQWdJQ0FnSUNCN2RHaHBjeTV5Wlc1a1pYSkRhR2xzWkhKbGJpaHpkSGxzWlhNcGZWeHVJQ0FnSUNBZ0lDQThMMlJwZGo1Y2JpQWdJQ0FnSUR3dlZHOXZiSFJwY0Q1Y2JpQWdJQ0FwTzF4dUlDQjlYRzU5WEc1Y2JtVjRjRzl5ZENCN0lFZHNiMkpoYkU1aGRtbG5ZWFJwYjI1SmRHVnRVSEpwYldsMGFYWmxJR0Z6SUVKaGMyVkhiRzlpWVd4T1lYWnBaMkYwYVc5dVNYUmxiVkJ5YVcxcGRHbDJaU0I5TzF4dVhHNWxlSEJ2Y25RZ1pHVm1ZWFZzZENCM2FYUm9SMnh2WW1Gc1ZHaGxiV1VvUjJ4dlltRnNUbUYyYVdkaGRHbHZia2wwWlcxUWNtbHRhWFJwZG1VcE8xeHVJbDE5ICovXCJcbn07XG5cbnZhciBfcmVmMiA9IHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHtcbiAgbmFtZTogXCIxYmF1bHZ6XCIsXG4gIHN0eWxlczogXCJkaXNwbGF5OmlubGluZS1ibG9jaztcIlxufSA6IHtcbiAgbmFtZTogXCIxYmF1bHZ6XCIsXG4gIHN0eWxlczogXCJkaXNwbGF5OmlubGluZS1ibG9jaztcIixcbiAgbWFwOiBcIi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpNHVMeTR1THk0dUx5NHVMeTR1TDNOeVl5OWpiMjF3YjI1bGJuUnpMM0J5WlhObGJuUmhkR2x2Ym1Gc0wwZHNiMkpoYkVsMFpXMHZjSEpwYldsMGFYWmxjeTVxY3lKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGelNtRWlMQ0ptYVd4bElqb2lMaTR2TGk0dkxpNHZMaTR2TGk0dmMzSmpMMk52YlhCdmJtVnVkSE12Y0hKbGMyVnVkR0YwYVc5dVlXd3ZSMnh2WW1Gc1NYUmxiUzl3Y21sdGFYUnBkbVZ6TG1weklpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lhVzF3YjNKMElGSmxZV04wTENCN0lFTnZiWEJ2Ym1WdWRDd2dSbkpoWjIxbGJuUWdmU0JtY205dElDZHlaV0ZqZENjN1hHNWNibWx0Y0c5eWRDQmtaV1Z3UlhGMVlXd2dabkp2YlNBbmNtVmhZM1F0Wm1GemRDMWpiMjF3WVhKbEp6dGNibHh1YVcxd2IzSjBJRlJ2YjJ4MGFYQWdabkp2YlNBblFHRjBiR0Z6YTJsMEwzUnZiMngwYVhBbk8xeHVYRzVwYlhCdmNuUWdleUJ6ZEhsc1pWSmxaSFZqWlhKT2IwOXdMQ0IzYVhSb1IyeHZZbUZzVkdobGJXVWdmU0JtY205dElDY3VMaTh1TGk4dUxpOTBhR1Z0WlNjN1hHNWNibU5zWVhOeklFZHNiMkpoYkU1aGRtbG5ZWFJwYjI1SmRHVnRVSEpwYldsMGFYWmxJR1Y0ZEdWdVpITWdRMjl0Y0c5dVpXNTBJSHRjYmlBZ2MzUmhkR2xqSUdSbFptRjFiSFJRY205d2N5QTlJSHRjYmlBZ0lDQmtZWFJoYzJWME9pQjdYRzRnSUNBZ0lDQW5aR0YwWVMxMFpYTjBhV1FuT2lBblIyeHZZbUZzVG1GMmFXZGhkR2x2YmtsMFpXMG5MRnh1SUNBZ0lIMHNYRzRnSUNBZ2FYTkJZM1JwZG1VNklHWmhiSE5sTEZ4dUlDQWdJR2x6U0c5MlpYSTZJR1poYkhObExGeHVJQ0FnSUdselUyVnNaV04wWldRNklHWmhiSE5sTEZ4dUlDQWdJR2x6Um05amRYTmxaRG9nWm1Gc2MyVXNYRzRnSUNBZ2MybDZaVG9nSjJ4aGNtZGxKeXhjYmlBZ0lDQnpkSGxzWlhNNklITjBlV3hsVW1Wa2RXTmxjazV2VDNBc1hHNGdJSDA3WEc1Y2JpQWdjMmh2ZFd4a1EyOXRjRzl1Wlc1MFZYQmtZWFJsS0c1bGVIUlFjbTl3Y3lrZ2UxeHVJQ0FnSUhKbGRIVnliaUFoWkdWbGNFVnhkV0ZzS0hSb2FYTXVjSEp2Y0hNc0lHNWxlSFJRY205d2N5azdYRzRnSUgxY2JseHVJQ0J5Wlc1a1pYSkpZMjl1UVc1a1FtRmtaMlVnUFNCaVlXUm5aVmR5WVhCd1pYSWdQVDRnZTF4dUlDQWdJR052Ym5OMElIc2dhV052YmpvZ1NXTnZiaXdnWW1Ga1oyVTZJRUpoWkdkbExDQnNZV0psYkN3Z2RHOXZiSFJwY0NCOUlEMGdkR2hwY3k1d2NtOXdjenRjYmlBZ0lDQmpiMjV6ZENCd2NtVnpaVzUwWVhScGIyNVFjbTl3Y3lBOUlIUm9hWE11WjJWMFVISmxjMlZ1ZEdGMGFXOXVVSEp2Y0hNb0tUdGNiaUFnSUNCcFppQW9JVWxqYjI0Z0ppWWdJVUpoWkdkbEtTQnlaWFIxY200Z2JuVnNiRHRjYmlBZ0lDQmpiMjV6ZENCcFkyOXVUR0ZpWld3Z1BTQnNZV0psYkNCOGZDQW9kSGx3Wlc5bUlIUnZiMngwYVhBZ1BUMDlJQ2R6ZEhKcGJtY25JRDhnZEc5dmJIUnBjQ0E2SUNjbktUdGNiaUFnSUNCeVpYUjFjbTRnS0Z4dUlDQWdJQ0FnUEVaeVlXZHRaVzUwUGx4dUlDQWdJQ0FnSUNCN0lTRkpZMjl1SUNZbUlDaGNiaUFnSUNBZ0lDQWdJQ0E4WkdsMklHTnpjejE3ZXlCd2IybHVkR1Z5UlhabGJuUnpPaUFuYm05dVpTY2dmWDArWEc0Z0lDQWdJQ0FnSUNBZ0lDQThTV052YmlCc1lXSmxiRDE3YVdOdmJreGhZbVZzZlNCelpXTnZibVJoY25sRGIyeHZjajFjSW1sdWFHVnlhWFJjSWlBdlBseHVJQ0FnSUNBZ0lDQWdJRHd2WkdsMlBseHVJQ0FnSUNBZ0lDQXBmVnh1SUNBZ0lDQWdJQ0I3SVNGQ1lXUm5aU0FtSmlBb1hHNGdJQ0FnSUNBZ0lDQWdQR1JwZGlCamMzTTllMkpoWkdkbFYzSmhjSEJsY24wK1hHNGdJQ0FnSUNBZ0lDQWdJQ0E4UW1Ga1oyVWdleTR1TG5CeVpYTmxiblJoZEdsdmJsQnliM0J6ZlNBdlBseHVJQ0FnSUNBZ0lDQWdJRHd2WkdsMlBseHVJQ0FnSUNBZ0lDQXBmVnh1SUNBZ0lDQWdQQzlHY21GbmJXVnVkRDVjYmlBZ0lDQXBPMXh1SUNCOU8xeHVYRzRnSUM4dklHVnpiR2x1ZEMxa2FYTmhZbXhsTFc1bGVIUXRiR2x1WlNCdWJ5MTFibVJsWmx4dUlDQm5aWFJIYkc5aVlXeEpkR1Z0UlhoMFpYSnVZV3hRY205d2N5QTlJQ2dwSUQwK0lIdGNiaUFnSUNCamIyNXpkQ0I3WEc0Z0lDQWdJQ0JwYzBGamRHbDJaU3hjYmlBZ0lDQWdJR2x6Um05amRYTmxaQ3hjYmlBZ0lDQWdJR2x6U0c5MlpYSXNYRzRnSUNBZ0lDQjBhR1Z0WlN4Y2JpQWdJQ0FnSUM0dUxtVjRkR1Z5Ym1Gc1VISnZjSE5jYmlBZ0lDQjlJRDBnZEdocGN5NXdjbTl3Y3p0Y2JseHVJQ0FnSUhKbGRIVnliaUJsZUhSbGNtNWhiRkJ5YjNCek8xeHVJQ0I5TzF4dVhHNGdJR2RsZEZCeVpYTmxiblJoZEdsdmJsQnliM0J6SUQwZ0tDa2dQVDRnZTF4dUlDQWdJR052Ym5OMElIc2dhWE5CWTNScGRtVXNJR2x6Um05amRYTmxaQ3dnYVhOSWIzWmxjaXdnYVhOVFpXeGxZM1JsWkN3Z2MybDZaU0I5SUQwZ2RHaHBjeTV3Y205d2N6dGNibHh1SUNBZ0lISmxkSFZ5YmlCN0lHbHpRV04wYVhabExDQnBjMFp2WTNWelpXUXNJR2x6U0c5MlpYSXNJR2x6VTJWc1pXTjBaV1FzSUhOcGVtVWdmVHRjYmlBZ2ZUdGNibHh1SUNCblpXNWxjbUYwWlZOMGVXeGxjeUE5SUNncElEMCtJSHRjYmlBZ0lDQmpiMjV6ZENCN1hHNGdJQ0FnSUNCcGMwRmpkR2wyWlN4Y2JpQWdJQ0FnSUdselNHOTJaWElzWEc0Z0lDQWdJQ0JwYzFObGJHVmpkR1ZrTEZ4dUlDQWdJQ0FnYzJsNlpTeGNiaUFnSUNBZ0lITjBlV3hsY3pvZ2MzUjViR1ZTWldSMVkyVnlMRnh1SUNBZ0lDQWdkR2hsYldVc1hHNGdJQ0FnZlNBOUlIUm9hWE11Y0hKdmNITTdYRzRnSUNBZ1kyOXVjM1FnZXlCdGIyUmxJSDBnUFNCMGFHVnRaVHRjYmlBZ0lDQmpiMjV6ZENCd2NtVnpaVzUwWVhScGIyNVFjbTl3Y3lBOUlIc2dhWE5CWTNScGRtVXNJR2x6U0c5MlpYSXNJR2x6VTJWc1pXTjBaV1FzSUhOcGVtVWdmVHRjYmlBZ0lDQmpiMjV6ZENCa1pXWmhkV3gwVTNSNWJHVnpJRDBnYlc5a1pTNW5iRzlpWVd4SmRHVnRLSEJ5WlhObGJuUmhkR2x2YmxCeWIzQnpLVHRjYmlBZ0lDQnlaWFIxY200Z2MzUjViR1ZTWldSMVkyVnlLR1JsWm1GMWJIUlRkSGxzWlhNc0lIQnlaWE5sYm5SaGRHbHZibEJ5YjNCektUdGNiaUFnZlR0Y2JseHVJQ0J5Wlc1a1pYSkRhR2xzWkhKbGJpQTlJSE4wZVd4bGN5QTlQaUI3WEc0Z0lDQWdZMjl1YzNRZ2UxeHVJQ0FnSUNBZ1kyOXRjRzl1Wlc1ME9pQkRkWE4wYjIxRGIyMXdiMjVsYm5Rc1hHNGdJQ0FnSUNCa1lYUmhjMlYwTEZ4dUlDQWdJQ0FnYUhKbFppeGNiaUFnSUNBZ0lHbGtMRnh1SUNBZ0lDQWdiMjVEYkdsamF5eGNiaUFnSUNBZ0lIUmhjbWRsZEN4Y2JpQWdJQ0I5SUQwZ2RHaHBjeTV3Y205d2N6dGNiaUFnSUNCamIyNXpkQ0JuYkc5aVlXeEpSQ0E5SUdsa0lDWW1JR0FrZTJsa2ZVZHNiMkpoYkVsMFpXMWdPMXh1WEc0Z0lDQWdiR1YwSUdsMFpXMUNZWE5sTzF4dVhHNGdJQ0FnYVdZZ0tFTjFjM1J2YlVOdmJYQnZibVZ1ZENrZ2UxeHVJQ0FnSUNBZ2FYUmxiVUpoYzJVZ1BTQW9YRzRnSUNBZ0lDQWdJQzh2SUVOMWMzUnZiVU52YlhCdmJtVnVkQ0J1WldWa2N5QmhJR05zWVhOelRtRnRaU0J3Y205d0xpQlVhR2x6SUhCeWIzQWdhWE5jYmlBZ0lDQWdJQ0FnTHk4Z1lXUmtaV1FnWVdaMFpYSWdkR2hsSUdWdGIzUnBiMjRnZEhKaGJuTnNZWFJwYjI0dVhHNGdJQ0FnSUNBZ0lEeERkWE4wYjIxRGIyMXdiMjVsYm5SY2JpQWdJQ0FnSUNBZ0lDQjdMaTR1ZEdocGN5NW5aWFJIYkc5aVlXeEpkR1Z0UlhoMFpYSnVZV3hRY205d2N5Z3BmVnh1SUNBZ0lDQWdJQ0FnSUdOemN6MTdleUFuSmlZbk9pQnpkSGxzWlhNdWFYUmxiVUpoYzJVZ2ZYMWNiaUFnSUNBZ0lDQWdQbHh1SUNBZ0lDQWdJQ0FnSUh0MGFHbHpMbkpsYm1SbGNrbGpiMjVCYm1SQ1lXUm5aU2h6ZEhsc1pYTXVZbUZrWjJWWGNtRndjR1Z5S1gxY2JpQWdJQ0FnSUNBZ1BDOURkWE4wYjIxRGIyMXdiMjVsYm5RK1hHNGdJQ0FnSUNBcE8xeHVJQ0FnSUgwZ1pXeHpaU0JwWmlBb2FISmxaaWtnZTF4dUlDQWdJQ0FnYVhSbGJVSmhjMlVnUFNBb1hHNGdJQ0FnSUNBZ0lEeGhYRzRnSUNBZ0lDQWdJQ0FnYUhKbFpqMTdhSEpsWm4xY2JpQWdJQ0FnSUNBZ0lDQnBaRDE3WjJ4dlltRnNTVVI5WEc0Z0lDQWdJQ0FnSUNBZ2IyNURiR2xqYXoxN2IyNURiR2xqYTMxY2JpQWdJQ0FnSUNBZ0lDQjBZWEpuWlhROWUzUmhjbWRsZEgxY2JpQWdJQ0FnSUNBZ0lDQmpjM005ZTNzZ0p5WW1Kem9nYzNSNWJHVnpMbWwwWlcxQ1lYTmxJSDE5WEc0Z0lDQWdJQ0FnSUNBZ2V5NHVMbVJoZEdGelpYUjlYRzRnSUNBZ0lDQWdJRDVjYmlBZ0lDQWdJQ0FnSUNCN2RHaHBjeTV5Wlc1a1pYSkpZMjl1UVc1a1FtRmtaMlVvYzNSNWJHVnpMbUpoWkdkbFYzSmhjSEJsY2lsOVhHNGdJQ0FnSUNBZ0lEd3ZZVDVjYmlBZ0lDQWdJQ2s3WEc0Z0lDQWdmU0JsYkhObElHbG1JQ2h2YmtOc2FXTnJLU0I3WEc0Z0lDQWdJQ0JwZEdWdFFtRnpaU0E5SUNoY2JpQWdJQ0FnSUNBZ1BHSjFkSFJ2Ymx4dUlDQWdJQ0FnSUNBZ0lHbGtQWHRuYkc5aVlXeEpSSDFjYmlBZ0lDQWdJQ0FnSUNCdmJrTnNhV05yUFh0dmJrTnNhV05yZlZ4dUlDQWdJQ0FnSUNBZ0lHTnpjejE3ZXlBbkppWW5PaUJ6ZEhsc1pYTXVhWFJsYlVKaGMyVWdmWDFjYmlBZ0lDQWdJQ0FnSUNCN0xpNHVaR0YwWVhObGRIMWNiaUFnSUNBZ0lDQWdQbHh1SUNBZ0lDQWdJQ0FnSUh0MGFHbHpMbkpsYm1SbGNrbGpiMjVCYm1SQ1lXUm5aU2h6ZEhsc1pYTXVZbUZrWjJWWGNtRndjR1Z5S1gxY2JpQWdJQ0FnSUNBZ1BDOWlkWFIwYjI0K1hHNGdJQ0FnSUNBcE8xeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0JwZEdWdFFtRnpaU0E5SUNoY2JpQWdJQ0FnSUNBZ1BITndZVzRnYVdROWUyZHNiMkpoYkVsRWZTQmpjM005ZTNzZ0p5WW1Kem9nYzNSNWJHVnpMbWwwWlcxQ1lYTmxJSDE5SUhzdUxpNWtZWFJoYzJWMGZUNWNiaUFnSUNBZ0lDQWdJQ0I3ZEdocGN5NXlaVzVrWlhKSlkyOXVRVzVrUW1Ga1oyVW9jM1I1YkdWekxtSmhaR2RsVjNKaGNIQmxjaWw5WEc0Z0lDQWdJQ0FnSUR3dmMzQmhiajVjYmlBZ0lDQWdJQ2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjbVYwZFhKdUlHbDBaVzFDWVhObE8xeHVJQ0I5TzF4dVhHNGdJSEpsYm1SbGNpZ3BJSHRjYmlBZ0lDQmpiMjV6ZENCN0lHbHpVMlZzWldOMFpXUXNJSFJ2YjJ4MGFYQWdmU0E5SUhSb2FYTXVjSEp2Y0hNN1hHNGdJQ0FnWTI5dWMzUWdjM1I1YkdWeklEMGdkR2hwY3k1blpXNWxjbUYwWlZOMGVXeGxjeWdwTzF4dUlDQWdJSEpsZEhWeWJpQW9YRzRnSUNBZ0lDQThWRzl2YkhScGNGeHVJQ0FnSUNBZ0lDQmtaV3hoZVQxN01IMWNiaUFnSUNBZ0lDQWdZMjl1ZEdWdWREMTdhWE5UWld4bFkzUmxaQ0EvSUhWdVpHVm1hVzVsWkNBNklIUnZiMngwYVhCOVhHNGdJQ0FnSUNBZ0lIQnZjMmwwYVc5dVBWd2ljbWxuYUhSY0lseHVJQ0FnSUNBZ0lDQm9hV1JsVkc5dmJIUnBjRTl1UTJ4cFkydGNiaUFnSUNBZ0lDQWdhR2xrWlZSdmIyeDBhWEJQYmsxdmRYTmxSRzkzYmx4dUlDQWdJQ0FnUGx4dUlDQWdJQ0FnSUNBOFpHbDJJR056Y3oxN2V5QmthWE53YkdGNU9pQW5hVzVzYVc1bExXSnNiMk5ySnlCOWZUNWNiaUFnSUNBZ0lDQWdJQ0I3ZEdocGN5NXlaVzVrWlhKRGFHbHNaSEpsYmloemRIbHNaWE1wZlZ4dUlDQWdJQ0FnSUNBOEwyUnBkajVjYmlBZ0lDQWdJRHd2Vkc5dmJIUnBjRDVjYmlBZ0lDQXBPMXh1SUNCOVhHNTlYRzVjYm1WNGNHOXlkQ0I3SUVkc2IySmhiRTVoZG1sbllYUnBiMjVKZEdWdFVISnBiV2wwYVhabElHRnpJRUpoYzJWSGJHOWlZV3hPWVhacFoyRjBhVzl1U1hSbGJWQnlhVzFwZEdsMlpTQjlPMXh1WEc1bGVIQnZjblFnWkdWbVlYVnNkQ0IzYVhSb1IyeHZZbUZzVkdobGJXVW9SMnh2WW1Gc1RtRjJhV2RoZEdsdmJrbDBaVzFRY21sdGFYUnBkbVVwTzF4dUlsMTkgKi9cIlxufTtcblxudmFyIEdsb2JhbE5hdmlnYXRpb25JdGVtUHJpbWl0aXZlID1cbi8qI19fUFVSRV9fKi9cbmZ1bmN0aW9uIChfQ29tcG9uZW50KSB7XG4gIF9pbmhlcml0cyhHbG9iYWxOYXZpZ2F0aW9uSXRlbVByaW1pdGl2ZSwgX0NvbXBvbmVudCk7XG5cbiAgZnVuY3Rpb24gR2xvYmFsTmF2aWdhdGlvbkl0ZW1QcmltaXRpdmUoKSB7XG4gICAgdmFyIF9nZXRQcm90b3R5cGVPZjI7XG5cbiAgICB2YXIgX3RoaXM7XG5cbiAgICBfY2xhc3NDYWxsQ2hlY2sodGhpcywgR2xvYmFsTmF2aWdhdGlvbkl0ZW1QcmltaXRpdmUpO1xuXG4gICAgZm9yICh2YXIgX2xlbiA9IGFyZ3VtZW50cy5sZW5ndGgsIGFyZ3MgPSBuZXcgQXJyYXkoX2xlbiksIF9rZXkgPSAwOyBfa2V5IDwgX2xlbjsgX2tleSsrKSB7XG4gICAgICBhcmdzW19rZXldID0gYXJndW1lbnRzW19rZXldO1xuICAgIH1cblxuICAgIF90aGlzID0gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4odGhpcywgKF9nZXRQcm90b3R5cGVPZjIgPSBfZ2V0UHJvdG90eXBlT2YoR2xvYmFsTmF2aWdhdGlvbkl0ZW1QcmltaXRpdmUpKS5jYWxsLmFwcGx5KF9nZXRQcm90b3R5cGVPZjIsIFt0aGlzXS5jb25jYXQoYXJncykpKTtcblxuICAgIF9kZWZpbmVQcm9wZXJ0eShfYXNzZXJ0VGhpc0luaXRpYWxpemVkKF90aGlzKSwgXCJyZW5kZXJJY29uQW5kQmFkZ2VcIiwgZnVuY3Rpb24gKGJhZGdlV3JhcHBlcikge1xuICAgICAgdmFyIF90aGlzJHByb3BzID0gX3RoaXMucHJvcHMsXG4gICAgICAgICAgSWNvbiA9IF90aGlzJHByb3BzLmljb24sXG4gICAgICAgICAgQmFkZ2UgPSBfdGhpcyRwcm9wcy5iYWRnZSxcbiAgICAgICAgICBsYWJlbCA9IF90aGlzJHByb3BzLmxhYmVsLFxuICAgICAgICAgIHRvb2x0aXAgPSBfdGhpcyRwcm9wcy50b29sdGlwO1xuXG4gICAgICB2YXIgcHJlc2VudGF0aW9uUHJvcHMgPSBfdGhpcy5nZXRQcmVzZW50YXRpb25Qcm9wcygpO1xuXG4gICAgICBpZiAoIUljb24gJiYgIUJhZGdlKSByZXR1cm4gbnVsbDtcbiAgICAgIHZhciBpY29uTGFiZWwgPSBsYWJlbCB8fCAodHlwZW9mIHRvb2x0aXAgPT09ICdzdHJpbmcnID8gdG9vbHRpcCA6ICcnKTtcbiAgICAgIHJldHVybiBfX19FbW90aW9uSlNYKEZyYWdtZW50LCBudWxsLCAhIUljb24gJiYgX19fRW1vdGlvbkpTWChcImRpdlwiLCB7XG4gICAgICAgIGNzczogX3JlZlxuICAgICAgfSwgX19fRW1vdGlvbkpTWChJY29uLCB7XG4gICAgICAgIGxhYmVsOiBpY29uTGFiZWwsXG4gICAgICAgIHNlY29uZGFyeUNvbG9yOiBcImluaGVyaXRcIlxuICAgICAgfSkpLCAhIUJhZGdlICYmIF9fX0Vtb3Rpb25KU1goXCJkaXZcIiwge1xuICAgICAgICBjc3M6IGJhZGdlV3JhcHBlclxuICAgICAgfSwgX19fRW1vdGlvbkpTWChCYWRnZSwgcHJlc2VudGF0aW9uUHJvcHMpKSk7XG4gICAgfSk7XG5cbiAgICBfZGVmaW5lUHJvcGVydHkoX2Fzc2VydFRoaXNJbml0aWFsaXplZChfdGhpcyksIFwiZ2V0R2xvYmFsSXRlbUV4dGVybmFsUHJvcHNcIiwgZnVuY3Rpb24gKCkge1xuICAgICAgdmFyIF90aGlzJHByb3BzMiA9IF90aGlzLnByb3BzLFxuICAgICAgICAgIGlzQWN0aXZlID0gX3RoaXMkcHJvcHMyLmlzQWN0aXZlLFxuICAgICAgICAgIGlzRm9jdXNlZCA9IF90aGlzJHByb3BzMi5pc0ZvY3VzZWQsXG4gICAgICAgICAgaXNIb3ZlciA9IF90aGlzJHByb3BzMi5pc0hvdmVyLFxuICAgICAgICAgIHRoZW1lID0gX3RoaXMkcHJvcHMyLnRoZW1lLFxuICAgICAgICAgIGV4dGVybmFsUHJvcHMgPSBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMoX3RoaXMkcHJvcHMyLCBbXCJpc0FjdGl2ZVwiLCBcImlzRm9jdXNlZFwiLCBcImlzSG92ZXJcIiwgXCJ0aGVtZVwiXSk7XG5cbiAgICAgIHJldHVybiBleHRlcm5hbFByb3BzO1xuICAgIH0pO1xuXG4gICAgX2RlZmluZVByb3BlcnR5KF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoX3RoaXMpLCBcImdldFByZXNlbnRhdGlvblByb3BzXCIsIGZ1bmN0aW9uICgpIHtcbiAgICAgIHZhciBfdGhpcyRwcm9wczMgPSBfdGhpcy5wcm9wcyxcbiAgICAgICAgICBpc0FjdGl2ZSA9IF90aGlzJHByb3BzMy5pc0FjdGl2ZSxcbiAgICAgICAgICBpc0ZvY3VzZWQgPSBfdGhpcyRwcm9wczMuaXNGb2N1c2VkLFxuICAgICAgICAgIGlzSG92ZXIgPSBfdGhpcyRwcm9wczMuaXNIb3ZlcixcbiAgICAgICAgICBpc1NlbGVjdGVkID0gX3RoaXMkcHJvcHMzLmlzU2VsZWN0ZWQsXG4gICAgICAgICAgc2l6ZSA9IF90aGlzJHByb3BzMy5zaXplO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaXNBY3RpdmU6IGlzQWN0aXZlLFxuICAgICAgICBpc0ZvY3VzZWQ6IGlzRm9jdXNlZCxcbiAgICAgICAgaXNIb3ZlcjogaXNIb3ZlcixcbiAgICAgICAgaXNTZWxlY3RlZDogaXNTZWxlY3RlZCxcbiAgICAgICAgc2l6ZTogc2l6ZVxuICAgICAgfTtcbiAgICB9KTtcblxuICAgIF9kZWZpbmVQcm9wZXJ0eShfYXNzZXJ0VGhpc0luaXRpYWxpemVkKF90aGlzKSwgXCJnZW5lcmF0ZVN0eWxlc1wiLCBmdW5jdGlvbiAoKSB7XG4gICAgICB2YXIgX3RoaXMkcHJvcHM0ID0gX3RoaXMucHJvcHMsXG4gICAgICAgICAgaXNBY3RpdmUgPSBfdGhpcyRwcm9wczQuaXNBY3RpdmUsXG4gICAgICAgICAgaXNIb3ZlciA9IF90aGlzJHByb3BzNC5pc0hvdmVyLFxuICAgICAgICAgIGlzU2VsZWN0ZWQgPSBfdGhpcyRwcm9wczQuaXNTZWxlY3RlZCxcbiAgICAgICAgICBzaXplID0gX3RoaXMkcHJvcHM0LnNpemUsXG4gICAgICAgICAgc3R5bGVSZWR1Y2VyID0gX3RoaXMkcHJvcHM0LnN0eWxlcyxcbiAgICAgICAgICB0aGVtZSA9IF90aGlzJHByb3BzNC50aGVtZTtcbiAgICAgIHZhciBtb2RlID0gdGhlbWUubW9kZTtcbiAgICAgIHZhciBwcmVzZW50YXRpb25Qcm9wcyA9IHtcbiAgICAgICAgaXNBY3RpdmU6IGlzQWN0aXZlLFxuICAgICAgICBpc0hvdmVyOiBpc0hvdmVyLFxuICAgICAgICBpc1NlbGVjdGVkOiBpc1NlbGVjdGVkLFxuICAgICAgICBzaXplOiBzaXplXG4gICAgICB9O1xuICAgICAgdmFyIGRlZmF1bHRTdHlsZXMgPSBtb2RlLmdsb2JhbEl0ZW0ocHJlc2VudGF0aW9uUHJvcHMpO1xuICAgICAgcmV0dXJuIHN0eWxlUmVkdWNlcihkZWZhdWx0U3R5bGVzLCBwcmVzZW50YXRpb25Qcm9wcyk7XG4gICAgfSk7XG5cbiAgICBfZGVmaW5lUHJvcGVydHkoX2Fzc2VydFRoaXNJbml0aWFsaXplZChfdGhpcyksIFwicmVuZGVyQ2hpbGRyZW5cIiwgZnVuY3Rpb24gKHN0eWxlcykge1xuICAgICAgdmFyIF90aGlzJHByb3BzNSA9IF90aGlzLnByb3BzLFxuICAgICAgICAgIEN1c3RvbUNvbXBvbmVudCA9IF90aGlzJHByb3BzNS5jb21wb25lbnQsXG4gICAgICAgICAgZGF0YXNldCA9IF90aGlzJHByb3BzNS5kYXRhc2V0LFxuICAgICAgICAgIGhyZWYgPSBfdGhpcyRwcm9wczUuaHJlZixcbiAgICAgICAgICBpZCA9IF90aGlzJHByb3BzNS5pZCxcbiAgICAgICAgICBvbkNsaWNrID0gX3RoaXMkcHJvcHM1Lm9uQ2xpY2ssXG4gICAgICAgICAgdGFyZ2V0ID0gX3RoaXMkcHJvcHM1LnRhcmdldDtcbiAgICAgIHZhciBnbG9iYWxJRCA9IGlkICYmIFwiXCIuY29uY2F0KGlkLCBcIkdsb2JhbEl0ZW1cIik7XG4gICAgICB2YXIgaXRlbUJhc2U7XG5cbiAgICAgIGlmIChDdXN0b21Db21wb25lbnQpIHtcbiAgICAgICAgaXRlbUJhc2UgPSAvLyBDdXN0b21Db21wb25lbnQgbmVlZHMgYSBjbGFzc05hbWUgcHJvcC4gVGhpcyBwcm9wIGlzXG4gICAgICAgIC8vIGFkZGVkIGFmdGVyIHRoZSBlbW90aW9uIHRyYW5zbGF0aW9uLlxuICAgICAgICBfX19FbW90aW9uSlNYKEN1c3RvbUNvbXBvbmVudCwgX2V4dGVuZHMoe30sIF90aGlzLmdldEdsb2JhbEl0ZW1FeHRlcm5hbFByb3BzKCksIHtcbiAgICAgICAgICBjc3M6XG4gICAgICAgICAgLyojX19QVVJFX18qL1xuICAgICAgICAgIF9jc3Moe1xuICAgICAgICAgICAgJyYmJzogc3R5bGVzLml0ZW1CYXNlXG4gICAgICAgICAgfSwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8gXCJcIiA6IFwiLyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWk0dUx5NHVMeTR1THk0dUx5NHVMM055WXk5amIyMXdiMjVsYm5SekwzQnlaWE5sYm5SaGRHbHZibUZzTDBkc2IySmhiRWwwWlcwdmNISnBiV2wwYVhabGN5NXFjeUpkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZ0UjFVaUxDSm1hV3hsSWpvaUxpNHZMaTR2TGk0dkxpNHZMaTR2YzNKakwyTnZiWEJ2Ym1WdWRITXZjSEpsYzJWdWRHRjBhVzl1WVd3dlIyeHZZbUZzU1hSbGJTOXdjbWx0YVhScGRtVnpMbXB6SWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaWFXMXdiM0owSUZKbFlXTjBMQ0I3SUVOdmJYQnZibVZ1ZEN3Z1JuSmhaMjFsYm5RZ2ZTQm1jbTl0SUNkeVpXRmpkQ2M3WEc1Y2JtbHRjRzl5ZENCa1pXVndSWEYxWVd3Z1puSnZiU0FuY21WaFkzUXRabUZ6ZEMxamIyMXdZWEpsSnp0Y2JseHVhVzF3YjNKMElGUnZiMngwYVhBZ1puSnZiU0FuUUdGMGJHRnphMmwwTDNSdmIyeDBhWEFuTzF4dVhHNXBiWEJ2Y25RZ2V5QnpkSGxzWlZKbFpIVmpaWEpPYjA5d0xDQjNhWFJvUjJ4dlltRnNWR2hsYldVZ2ZTQm1jbTl0SUNjdUxpOHVMaTh1TGk5MGFHVnRaU2M3WEc1Y2JtTnNZWE56SUVkc2IySmhiRTVoZG1sbllYUnBiMjVKZEdWdFVISnBiV2wwYVhabElHVjRkR1Z1WkhNZ1EyOXRjRzl1Wlc1MElIdGNiaUFnYzNSaGRHbGpJR1JsWm1GMWJIUlFjbTl3Y3lBOUlIdGNiaUFnSUNCa1lYUmhjMlYwT2lCN1hHNGdJQ0FnSUNBblpHRjBZUzEwWlhOMGFXUW5PaUFuUjJ4dlltRnNUbUYyYVdkaGRHbHZia2wwWlcwbkxGeHVJQ0FnSUgwc1hHNGdJQ0FnYVhOQlkzUnBkbVU2SUdaaGJITmxMRnh1SUNBZ0lHbHpTRzkyWlhJNklHWmhiSE5sTEZ4dUlDQWdJR2x6VTJWc1pXTjBaV1E2SUdaaGJITmxMRnh1SUNBZ0lHbHpSbTlqZFhObFpEb2dabUZzYzJVc1hHNGdJQ0FnYzJsNlpUb2dKMnhoY21kbEp5eGNiaUFnSUNCemRIbHNaWE02SUhOMGVXeGxVbVZrZFdObGNrNXZUM0FzWEc0Z0lIMDdYRzVjYmlBZ2MyaHZkV3hrUTI5dGNHOXVaVzUwVlhCa1lYUmxLRzVsZUhSUWNtOXdjeWtnZTF4dUlDQWdJSEpsZEhWeWJpQWhaR1ZsY0VWeGRXRnNLSFJvYVhNdWNISnZjSE1zSUc1bGVIUlFjbTl3Y3lrN1hHNGdJSDFjYmx4dUlDQnlaVzVrWlhKSlkyOXVRVzVrUW1Ga1oyVWdQU0JpWVdSblpWZHlZWEJ3WlhJZ1BUNGdlMXh1SUNBZ0lHTnZibk4wSUhzZ2FXTnZiam9nU1dOdmJpd2dZbUZrWjJVNklFSmhaR2RsTENCc1lXSmxiQ3dnZEc5dmJIUnBjQ0I5SUQwZ2RHaHBjeTV3Y205d2N6dGNiaUFnSUNCamIyNXpkQ0J3Y21WelpXNTBZWFJwYjI1UWNtOXdjeUE5SUhSb2FYTXVaMlYwVUhKbGMyVnVkR0YwYVc5dVVISnZjSE1vS1R0Y2JpQWdJQ0JwWmlBb0lVbGpiMjRnSmlZZ0lVSmhaR2RsS1NCeVpYUjFjbTRnYm5Wc2JEdGNiaUFnSUNCamIyNXpkQ0JwWTI5dVRHRmlaV3dnUFNCc1lXSmxiQ0I4ZkNBb2RIbHdaVzltSUhSdmIyeDBhWEFnUFQwOUlDZHpkSEpwYm1jbklEOGdkRzl2YkhScGNDQTZJQ2NuS1R0Y2JpQWdJQ0J5WlhSMWNtNGdLRnh1SUNBZ0lDQWdQRVp5WVdkdFpXNTBQbHh1SUNBZ0lDQWdJQ0I3SVNGSlkyOXVJQ1ltSUNoY2JpQWdJQ0FnSUNBZ0lDQThaR2wySUdOemN6MTdleUJ3YjJsdWRHVnlSWFpsYm5Sek9pQW5ibTl1WlNjZ2ZYMCtYRzRnSUNBZ0lDQWdJQ0FnSUNBOFNXTnZiaUJzWVdKbGJEMTdhV052Ymt4aFltVnNmU0J6WldOdmJtUmhjbmxEYjJ4dmNqMWNJbWx1YUdWeWFYUmNJaUF2UGx4dUlDQWdJQ0FnSUNBZ0lEd3ZaR2wyUGx4dUlDQWdJQ0FnSUNBcGZWeHVJQ0FnSUNBZ0lDQjdJU0ZDWVdSblpTQW1KaUFvWEc0Z0lDQWdJQ0FnSUNBZ1BHUnBkaUJqYzNNOWUySmhaR2RsVjNKaGNIQmxjbjArWEc0Z0lDQWdJQ0FnSUNBZ0lDQThRbUZrWjJVZ2V5NHVMbkJ5WlhObGJuUmhkR2x2YmxCeWIzQnpmU0F2UGx4dUlDQWdJQ0FnSUNBZ0lEd3ZaR2wyUGx4dUlDQWdJQ0FnSUNBcGZWeHVJQ0FnSUNBZ1BDOUdjbUZuYldWdWRENWNiaUFnSUNBcE8xeHVJQ0I5TzF4dVhHNGdJQzh2SUdWemJHbHVkQzFrYVhOaFlteGxMVzVsZUhRdGJHbHVaU0J1YnkxMWJtUmxabHh1SUNCblpYUkhiRzlpWVd4SmRHVnRSWGgwWlhKdVlXeFFjbTl3Y3lBOUlDZ3BJRDArSUh0Y2JpQWdJQ0JqYjI1emRDQjdYRzRnSUNBZ0lDQnBjMEZqZEdsMlpTeGNiaUFnSUNBZ0lHbHpSbTlqZFhObFpDeGNiaUFnSUNBZ0lHbHpTRzkyWlhJc1hHNGdJQ0FnSUNCMGFHVnRaU3hjYmlBZ0lDQWdJQzR1TG1WNGRHVnlibUZzVUhKdmNITmNiaUFnSUNCOUlEMGdkR2hwY3k1d2NtOXdjenRjYmx4dUlDQWdJSEpsZEhWeWJpQmxlSFJsY201aGJGQnliM0J6TzF4dUlDQjlPMXh1WEc0Z0lHZGxkRkJ5WlhObGJuUmhkR2x2YmxCeWIzQnpJRDBnS0NrZ1BUNGdlMXh1SUNBZ0lHTnZibk4wSUhzZ2FYTkJZM1JwZG1Vc0lHbHpSbTlqZFhObFpDd2dhWE5JYjNabGNpd2dhWE5UWld4bFkzUmxaQ3dnYzJsNlpTQjlJRDBnZEdocGN5NXdjbTl3Y3p0Y2JseHVJQ0FnSUhKbGRIVnliaUI3SUdselFXTjBhWFpsTENCcGMwWnZZM1Z6WldRc0lHbHpTRzkyWlhJc0lHbHpVMlZzWldOMFpXUXNJSE5wZW1VZ2ZUdGNiaUFnZlR0Y2JseHVJQ0JuWlc1bGNtRjBaVk4wZVd4bGN5QTlJQ2dwSUQwK0lIdGNiaUFnSUNCamIyNXpkQ0I3WEc0Z0lDQWdJQ0JwYzBGamRHbDJaU3hjYmlBZ0lDQWdJR2x6U0c5MlpYSXNYRzRnSUNBZ0lDQnBjMU5sYkdWamRHVmtMRnh1SUNBZ0lDQWdjMmw2WlN4Y2JpQWdJQ0FnSUhOMGVXeGxjem9nYzNSNWJHVlNaV1IxWTJWeUxGeHVJQ0FnSUNBZ2RHaGxiV1VzWEc0Z0lDQWdmU0E5SUhSb2FYTXVjSEp2Y0hNN1hHNGdJQ0FnWTI5dWMzUWdleUJ0YjJSbElIMGdQU0IwYUdWdFpUdGNiaUFnSUNCamIyNXpkQ0J3Y21WelpXNTBZWFJwYjI1UWNtOXdjeUE5SUhzZ2FYTkJZM1JwZG1Vc0lHbHpTRzkyWlhJc0lHbHpVMlZzWldOMFpXUXNJSE5wZW1VZ2ZUdGNiaUFnSUNCamIyNXpkQ0JrWldaaGRXeDBVM1I1YkdWeklEMGdiVzlrWlM1bmJHOWlZV3hKZEdWdEtIQnlaWE5sYm5SaGRHbHZibEJ5YjNCektUdGNiaUFnSUNCeVpYUjFjbTRnYzNSNWJHVlNaV1IxWTJWeUtHUmxabUYxYkhSVGRIbHNaWE1zSUhCeVpYTmxiblJoZEdsdmJsQnliM0J6S1R0Y2JpQWdmVHRjYmx4dUlDQnlaVzVrWlhKRGFHbHNaSEpsYmlBOUlITjBlV3hsY3lBOVBpQjdYRzRnSUNBZ1kyOXVjM1FnZTF4dUlDQWdJQ0FnWTI5dGNHOXVaVzUwT2lCRGRYTjBiMjFEYjIxd2IyNWxiblFzWEc0Z0lDQWdJQ0JrWVhSaGMyVjBMRnh1SUNBZ0lDQWdhSEpsWml4Y2JpQWdJQ0FnSUdsa0xGeHVJQ0FnSUNBZ2IyNURiR2xqYXl4Y2JpQWdJQ0FnSUhSaGNtZGxkQ3hjYmlBZ0lDQjlJRDBnZEdocGN5NXdjbTl3Y3p0Y2JpQWdJQ0JqYjI1emRDQm5iRzlpWVd4SlJDQTlJR2xrSUNZbUlHQWtlMmxrZlVkc2IySmhiRWwwWlcxZ08xeHVYRzRnSUNBZ2JHVjBJR2wwWlcxQ1lYTmxPMXh1WEc0Z0lDQWdhV1lnS0VOMWMzUnZiVU52YlhCdmJtVnVkQ2tnZTF4dUlDQWdJQ0FnYVhSbGJVSmhjMlVnUFNBb1hHNGdJQ0FnSUNBZ0lDOHZJRU4xYzNSdmJVTnZiWEJ2Ym1WdWRDQnVaV1ZrY3lCaElHTnNZWE56VG1GdFpTQndjbTl3TGlCVWFHbHpJSEJ5YjNBZ2FYTmNiaUFnSUNBZ0lDQWdMeThnWVdSa1pXUWdZV1owWlhJZ2RHaGxJR1Z0YjNScGIyNGdkSEpoYm5Oc1lYUnBiMjR1WEc0Z0lDQWdJQ0FnSUR4RGRYTjBiMjFEYjIxd2IyNWxiblJjYmlBZ0lDQWdJQ0FnSUNCN0xpNHVkR2hwY3k1blpYUkhiRzlpWVd4SmRHVnRSWGgwWlhKdVlXeFFjbTl3Y3lncGZWeHVJQ0FnSUNBZ0lDQWdJR056Y3oxN2V5QW5KaVluT2lCemRIbHNaWE11YVhSbGJVSmhjMlVnZlgxY2JpQWdJQ0FnSUNBZ1BseHVJQ0FnSUNBZ0lDQWdJSHQwYUdsekxuSmxibVJsY2tsamIyNUJibVJDWVdSblpTaHpkSGxzWlhNdVltRmtaMlZYY21Gd2NHVnlLWDFjYmlBZ0lDQWdJQ0FnUEM5RGRYTjBiMjFEYjIxd2IyNWxiblErWEc0Z0lDQWdJQ0FwTzF4dUlDQWdJSDBnWld4elpTQnBaaUFvYUhKbFppa2dlMXh1SUNBZ0lDQWdhWFJsYlVKaGMyVWdQU0FvWEc0Z0lDQWdJQ0FnSUR4aFhHNGdJQ0FnSUNBZ0lDQWdhSEpsWmoxN2FISmxabjFjYmlBZ0lDQWdJQ0FnSUNCcFpEMTdaMnh2WW1Gc1NVUjlYRzRnSUNBZ0lDQWdJQ0FnYjI1RGJHbGphejE3YjI1RGJHbGphMzFjYmlBZ0lDQWdJQ0FnSUNCMFlYSm5aWFE5ZTNSaGNtZGxkSDFjYmlBZ0lDQWdJQ0FnSUNCamMzTTllM3NnSnlZbUp6b2djM1I1YkdWekxtbDBaVzFDWVhObElIMTlYRzRnSUNBZ0lDQWdJQ0FnZXk0dUxtUmhkR0Z6WlhSOVhHNGdJQ0FnSUNBZ0lENWNiaUFnSUNBZ0lDQWdJQ0I3ZEdocGN5NXlaVzVrWlhKSlkyOXVRVzVrUW1Ga1oyVW9jM1I1YkdWekxtSmhaR2RsVjNKaGNIQmxjaWw5WEc0Z0lDQWdJQ0FnSUR3dllUNWNiaUFnSUNBZ0lDazdYRzRnSUNBZ2ZTQmxiSE5sSUdsbUlDaHZia05zYVdOcktTQjdYRzRnSUNBZ0lDQnBkR1Z0UW1GelpTQTlJQ2hjYmlBZ0lDQWdJQ0FnUEdKMWRIUnZibHh1SUNBZ0lDQWdJQ0FnSUdsa1BYdG5iRzlpWVd4SlJIMWNiaUFnSUNBZ0lDQWdJQ0J2YmtOc2FXTnJQWHR2YmtOc2FXTnJmVnh1SUNBZ0lDQWdJQ0FnSUdOemN6MTdleUFuSmlZbk9pQnpkSGxzWlhNdWFYUmxiVUpoYzJVZ2ZYMWNiaUFnSUNBZ0lDQWdJQ0I3TGk0dVpHRjBZWE5sZEgxY2JpQWdJQ0FnSUNBZ1BseHVJQ0FnSUNBZ0lDQWdJSHQwYUdsekxuSmxibVJsY2tsamIyNUJibVJDWVdSblpTaHpkSGxzWlhNdVltRmtaMlZYY21Gd2NHVnlLWDFjYmlBZ0lDQWdJQ0FnUEM5aWRYUjBiMjQrWEc0Z0lDQWdJQ0FwTzF4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQnBkR1Z0UW1GelpTQTlJQ2hjYmlBZ0lDQWdJQ0FnUEhOd1lXNGdhV1E5ZTJkc2IySmhiRWxFZlNCamMzTTllM3NnSnlZbUp6b2djM1I1YkdWekxtbDBaVzFDWVhObElIMTlJSHN1TGk1a1lYUmhjMlYwZlQ1Y2JpQWdJQ0FnSUNBZ0lDQjdkR2hwY3k1eVpXNWtaWEpKWTI5dVFXNWtRbUZrWjJVb2MzUjViR1Z6TG1KaFpHZGxWM0poY0hCbGNpbDlYRzRnSUNBZ0lDQWdJRHd2YzNCaGJqNWNiaUFnSUNBZ0lDazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUdsMFpXMUNZWE5sTzF4dUlDQjlPMXh1WEc0Z0lISmxibVJsY2lncElIdGNiaUFnSUNCamIyNXpkQ0I3SUdselUyVnNaV04wWldRc0lIUnZiMngwYVhBZ2ZTQTlJSFJvYVhNdWNISnZjSE03WEc0Z0lDQWdZMjl1YzNRZ2MzUjViR1Z6SUQwZ2RHaHBjeTVuWlc1bGNtRjBaVk4wZVd4bGN5Z3BPMXh1SUNBZ0lISmxkSFZ5YmlBb1hHNGdJQ0FnSUNBOFZHOXZiSFJwY0Z4dUlDQWdJQ0FnSUNCa1pXeGhlVDE3TUgxY2JpQWdJQ0FnSUNBZ1kyOXVkR1Z1ZEQxN2FYTlRaV3hsWTNSbFpDQS9JSFZ1WkdWbWFXNWxaQ0E2SUhSdmIyeDBhWEI5WEc0Z0lDQWdJQ0FnSUhCdmMybDBhVzl1UFZ3aWNtbG5hSFJjSWx4dUlDQWdJQ0FnSUNCb2FXUmxWRzl2YkhScGNFOXVRMnhwWTJ0Y2JpQWdJQ0FnSUNBZ2FHbGtaVlJ2YjJ4MGFYQlBiazF2ZFhObFJHOTNibHh1SUNBZ0lDQWdQbHh1SUNBZ0lDQWdJQ0E4WkdsMklHTnpjejE3ZXlCa2FYTndiR0Y1T2lBbmFXNXNhVzVsTFdKc2IyTnJKeUI5ZlQ1Y2JpQWdJQ0FnSUNBZ0lDQjdkR2hwY3k1eVpXNWtaWEpEYUdsc1pISmxiaWh6ZEhsc1pYTXBmVnh1SUNBZ0lDQWdJQ0E4TDJScGRqNWNiaUFnSUNBZ0lEd3ZWRzl2YkhScGNENWNiaUFnSUNBcE8xeHVJQ0I5WEc1OVhHNWNibVY0Y0c5eWRDQjdJRWRzYjJKaGJFNWhkbWxuWVhScGIyNUpkR1Z0VUhKcGJXbDBhWFpsSUdGeklFSmhjMlZIYkc5aVlXeE9ZWFpwWjJGMGFXOXVTWFJsYlZCeWFXMXBkR2wyWlNCOU8xeHVYRzVsZUhCdmNuUWdaR1ZtWVhWc2RDQjNhWFJvUjJ4dlltRnNWR2hsYldVb1IyeHZZbUZzVG1GMmFXZGhkR2x2YmtsMFpXMVFjbWx0YVhScGRtVXBPMXh1SWwxOSAqL1wiKVxuICAgICAgICB9KSwgX3RoaXMucmVuZGVySWNvbkFuZEJhZGdlKHN0eWxlcy5iYWRnZVdyYXBwZXIpKTtcbiAgICAgIH0gZWxzZSBpZiAoaHJlZikge1xuICAgICAgICBpdGVtQmFzZSA9IF9fX0Vtb3Rpb25KU1goXCJhXCIsIF9leHRlbmRzKHtcbiAgICAgICAgICBocmVmOiBocmVmLFxuICAgICAgICAgIGlkOiBnbG9iYWxJRCxcbiAgICAgICAgICBvbkNsaWNrOiBvbkNsaWNrLFxuICAgICAgICAgIHRhcmdldDogdGFyZ2V0LFxuICAgICAgICAgIGNzczpcbiAgICAgICAgICAvKiNfX1BVUkVfXyovXG4gICAgICAgICAgX2Nzcyh7XG4gICAgICAgICAgICAnJiYnOiBzdHlsZXMuaXRlbUJhc2VcbiAgICAgICAgICB9LCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyBcIlwiIDogXCIvKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJaTR1THk0dUx5NHVMeTR1THk0dUwzTnlZeTlqYjIxd2IyNWxiblJ6TDNCeVpYTmxiblJoZEdsdmJtRnNMMGRzYjJKaGJFbDBaVzB2Y0hKcGJXbDBhWFpsY3k1cWN5SmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRXJSMVVpTENKbWFXeGxJam9pTGk0dkxpNHZMaTR2TGk0dkxpNHZjM0pqTDJOdmJYQnZibVZ1ZEhNdmNISmxjMlZ1ZEdGMGFXOXVZV3d2UjJ4dlltRnNTWFJsYlM5d2NtbHRhWFJwZG1WekxtcHpJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpYVcxd2IzSjBJRkpsWVdOMExDQjdJRU52YlhCdmJtVnVkQ3dnUm5KaFoyMWxiblFnZlNCbWNtOXRJQ2R5WldGamRDYzdYRzVjYm1sdGNHOXlkQ0JrWldWd1JYRjFZV3dnWm5KdmJTQW5jbVZoWTNRdFptRnpkQzFqYjIxd1lYSmxKenRjYmx4dWFXMXdiM0owSUZSdmIyeDBhWEFnWm5KdmJTQW5RR0YwYkdGemEybDBMM1J2YjJ4MGFYQW5PMXh1WEc1cGJYQnZjblFnZXlCemRIbHNaVkpsWkhWalpYSk9iMDl3TENCM2FYUm9SMnh2WW1Gc1ZHaGxiV1VnZlNCbWNtOXRJQ2N1TGk4dUxpOHVMaTkwYUdWdFpTYzdYRzVjYm1Oc1lYTnpJRWRzYjJKaGJFNWhkbWxuWVhScGIyNUpkR1Z0VUhKcGJXbDBhWFpsSUdWNGRHVnVaSE1nUTI5dGNHOXVaVzUwSUh0Y2JpQWdjM1JoZEdsaklHUmxabUYxYkhSUWNtOXdjeUE5SUh0Y2JpQWdJQ0JrWVhSaGMyVjBPaUI3WEc0Z0lDQWdJQ0FuWkdGMFlTMTBaWE4wYVdRbk9pQW5SMnh2WW1Gc1RtRjJhV2RoZEdsdmJrbDBaVzBuTEZ4dUlDQWdJSDBzWEc0Z0lDQWdhWE5CWTNScGRtVTZJR1poYkhObExGeHVJQ0FnSUdselNHOTJaWEk2SUdaaGJITmxMRnh1SUNBZ0lHbHpVMlZzWldOMFpXUTZJR1poYkhObExGeHVJQ0FnSUdselJtOWpkWE5sWkRvZ1ptRnNjMlVzWEc0Z0lDQWdjMmw2WlRvZ0oyeGhjbWRsSnl4Y2JpQWdJQ0J6ZEhsc1pYTTZJSE4wZVd4bFVtVmtkV05sY2s1dlQzQXNYRzRnSUgwN1hHNWNiaUFnYzJodmRXeGtRMjl0Y0c5dVpXNTBWWEJrWVhSbEtHNWxlSFJRY205d2N5a2dlMXh1SUNBZ0lISmxkSFZ5YmlBaFpHVmxjRVZ4ZFdGc0tIUm9hWE11Y0hKdmNITXNJRzVsZUhSUWNtOXdjeWs3WEc0Z0lIMWNibHh1SUNCeVpXNWtaWEpKWTI5dVFXNWtRbUZrWjJVZ1BTQmlZV1JuWlZkeVlYQndaWElnUFQ0Z2UxeHVJQ0FnSUdOdmJuTjBJSHNnYVdOdmJqb2dTV052Yml3Z1ltRmtaMlU2SUVKaFpHZGxMQ0JzWVdKbGJDd2dkRzl2YkhScGNDQjlJRDBnZEdocGN5NXdjbTl3Y3p0Y2JpQWdJQ0JqYjI1emRDQndjbVZ6Wlc1MFlYUnBiMjVRY205d2N5QTlJSFJvYVhNdVoyVjBVSEpsYzJWdWRHRjBhVzl1VUhKdmNITW9LVHRjYmlBZ0lDQnBaaUFvSVVsamIyNGdKaVlnSVVKaFpHZGxLU0J5WlhSMWNtNGdiblZzYkR0Y2JpQWdJQ0JqYjI1emRDQnBZMjl1VEdGaVpXd2dQU0JzWVdKbGJDQjhmQ0FvZEhsd1pXOW1JSFJ2YjJ4MGFYQWdQVDA5SUNkemRISnBibWNuSUQ4Z2RHOXZiSFJwY0NBNklDY25LVHRjYmlBZ0lDQnlaWFIxY200Z0tGeHVJQ0FnSUNBZ1BFWnlZV2R0Wlc1MFBseHVJQ0FnSUNBZ0lDQjdJU0ZKWTI5dUlDWW1JQ2hjYmlBZ0lDQWdJQ0FnSUNBOFpHbDJJR056Y3oxN2V5QndiMmx1ZEdWeVJYWmxiblJ6T2lBbmJtOXVaU2NnZlgwK1hHNGdJQ0FnSUNBZ0lDQWdJQ0E4U1dOdmJpQnNZV0psYkQxN2FXTnZia3hoWW1Wc2ZTQnpaV052Ym1SaGNubERiMnh2Y2oxY0ltbHVhR1Z5YVhSY0lpQXZQbHh1SUNBZ0lDQWdJQ0FnSUR3dlpHbDJQbHh1SUNBZ0lDQWdJQ0FwZlZ4dUlDQWdJQ0FnSUNCN0lTRkNZV1JuWlNBbUppQW9YRzRnSUNBZ0lDQWdJQ0FnUEdScGRpQmpjM005ZTJKaFpHZGxWM0poY0hCbGNuMCtYRzRnSUNBZ0lDQWdJQ0FnSUNBOFFtRmtaMlVnZXk0dUxuQnlaWE5sYm5SaGRHbHZibEJ5YjNCemZTQXZQbHh1SUNBZ0lDQWdJQ0FnSUR3dlpHbDJQbHh1SUNBZ0lDQWdJQ0FwZlZ4dUlDQWdJQ0FnUEM5R2NtRm5iV1Z1ZEQ1Y2JpQWdJQ0FwTzF4dUlDQjlPMXh1WEc0Z0lDOHZJR1Z6YkdsdWRDMWthWE5oWW14bExXNWxlSFF0YkdsdVpTQnVieTExYm1SbFpseHVJQ0JuWlhSSGJHOWlZV3hKZEdWdFJYaDBaWEp1WVd4UWNtOXdjeUE5SUNncElEMCtJSHRjYmlBZ0lDQmpiMjV6ZENCN1hHNGdJQ0FnSUNCcGMwRmpkR2wyWlN4Y2JpQWdJQ0FnSUdselJtOWpkWE5sWkN4Y2JpQWdJQ0FnSUdselNHOTJaWElzWEc0Z0lDQWdJQ0IwYUdWdFpTeGNiaUFnSUNBZ0lDNHVMbVY0ZEdWeWJtRnNVSEp2Y0hOY2JpQWdJQ0I5SUQwZ2RHaHBjeTV3Y205d2N6dGNibHh1SUNBZ0lISmxkSFZ5YmlCbGVIUmxjbTVoYkZCeWIzQnpPMXh1SUNCOU8xeHVYRzRnSUdkbGRGQnlaWE5sYm5SaGRHbHZibEJ5YjNCeklEMGdLQ2tnUFQ0Z2UxeHVJQ0FnSUdOdmJuTjBJSHNnYVhOQlkzUnBkbVVzSUdselJtOWpkWE5sWkN3Z2FYTkliM1psY2l3Z2FYTlRaV3hsWTNSbFpDd2djMmw2WlNCOUlEMGdkR2hwY3k1d2NtOXdjenRjYmx4dUlDQWdJSEpsZEhWeWJpQjdJR2x6UVdOMGFYWmxMQ0JwYzBadlkzVnpaV1FzSUdselNHOTJaWElzSUdselUyVnNaV04wWldRc0lITnBlbVVnZlR0Y2JpQWdmVHRjYmx4dUlDQm5aVzVsY21GMFpWTjBlV3hsY3lBOUlDZ3BJRDArSUh0Y2JpQWdJQ0JqYjI1emRDQjdYRzRnSUNBZ0lDQnBjMEZqZEdsMlpTeGNiaUFnSUNBZ0lHbHpTRzkyWlhJc1hHNGdJQ0FnSUNCcGMxTmxiR1ZqZEdWa0xGeHVJQ0FnSUNBZ2MybDZaU3hjYmlBZ0lDQWdJSE4wZVd4bGN6b2djM1I1YkdWU1pXUjFZMlZ5TEZ4dUlDQWdJQ0FnZEdobGJXVXNYRzRnSUNBZ2ZTQTlJSFJvYVhNdWNISnZjSE03WEc0Z0lDQWdZMjl1YzNRZ2V5QnRiMlJsSUgwZ1BTQjBhR1Z0WlR0Y2JpQWdJQ0JqYjI1emRDQndjbVZ6Wlc1MFlYUnBiMjVRY205d2N5QTlJSHNnYVhOQlkzUnBkbVVzSUdselNHOTJaWElzSUdselUyVnNaV04wWldRc0lITnBlbVVnZlR0Y2JpQWdJQ0JqYjI1emRDQmtaV1poZFd4MFUzUjViR1Z6SUQwZ2JXOWtaUzVuYkc5aVlXeEpkR1Z0S0hCeVpYTmxiblJoZEdsdmJsQnliM0J6S1R0Y2JpQWdJQ0J5WlhSMWNtNGdjM1I1YkdWU1pXUjFZMlZ5S0dSbFptRjFiSFJUZEhsc1pYTXNJSEJ5WlhObGJuUmhkR2x2YmxCeWIzQnpLVHRjYmlBZ2ZUdGNibHh1SUNCeVpXNWtaWEpEYUdsc1pISmxiaUE5SUhOMGVXeGxjeUE5UGlCN1hHNGdJQ0FnWTI5dWMzUWdlMXh1SUNBZ0lDQWdZMjl0Y0c5dVpXNTBPaUJEZFhOMGIyMURiMjF3YjI1bGJuUXNYRzRnSUNBZ0lDQmtZWFJoYzJWMExGeHVJQ0FnSUNBZ2FISmxaaXhjYmlBZ0lDQWdJR2xrTEZ4dUlDQWdJQ0FnYjI1RGJHbGpheXhjYmlBZ0lDQWdJSFJoY21kbGRDeGNiaUFnSUNCOUlEMGdkR2hwY3k1d2NtOXdjenRjYmlBZ0lDQmpiMjV6ZENCbmJHOWlZV3hKUkNBOUlHbGtJQ1ltSUdBa2UybGtmVWRzYjJKaGJFbDBaVzFnTzF4dVhHNGdJQ0FnYkdWMElHbDBaVzFDWVhObE8xeHVYRzRnSUNBZ2FXWWdLRU4xYzNSdmJVTnZiWEJ2Ym1WdWRDa2dlMXh1SUNBZ0lDQWdhWFJsYlVKaGMyVWdQU0FvWEc0Z0lDQWdJQ0FnSUM4dklFTjFjM1J2YlVOdmJYQnZibVZ1ZENCdVpXVmtjeUJoSUdOc1lYTnpUbUZ0WlNCd2NtOXdMaUJVYUdseklIQnliM0FnYVhOY2JpQWdJQ0FnSUNBZ0x5OGdZV1JrWldRZ1lXWjBaWElnZEdobElHVnRiM1JwYjI0Z2RISmhibk5zWVhScGIyNHVYRzRnSUNBZ0lDQWdJRHhEZFhOMGIyMURiMjF3YjI1bGJuUmNiaUFnSUNBZ0lDQWdJQ0I3TGk0dWRHaHBjeTVuWlhSSGJHOWlZV3hKZEdWdFJYaDBaWEp1WVd4UWNtOXdjeWdwZlZ4dUlDQWdJQ0FnSUNBZ0lHTnpjejE3ZXlBbkppWW5PaUJ6ZEhsc1pYTXVhWFJsYlVKaGMyVWdmWDFjYmlBZ0lDQWdJQ0FnUGx4dUlDQWdJQ0FnSUNBZ0lIdDBhR2x6TG5KbGJtUmxja2xqYjI1QmJtUkNZV1JuWlNoemRIbHNaWE11WW1Ga1oyVlhjbUZ3Y0dWeUtYMWNiaUFnSUNBZ0lDQWdQQzlEZFhOMGIyMURiMjF3YjI1bGJuUStYRzRnSUNBZ0lDQXBPMXh1SUNBZ0lIMGdaV3h6WlNCcFppQW9hSEpsWmlrZ2UxeHVJQ0FnSUNBZ2FYUmxiVUpoYzJVZ1BTQW9YRzRnSUNBZ0lDQWdJRHhoWEc0Z0lDQWdJQ0FnSUNBZ2FISmxaajE3YUhKbFpuMWNiaUFnSUNBZ0lDQWdJQ0JwWkQxN1oyeHZZbUZzU1VSOVhHNGdJQ0FnSUNBZ0lDQWdiMjVEYkdsamF6MTdiMjVEYkdsamEzMWNiaUFnSUNBZ0lDQWdJQ0IwWVhKblpYUTllM1JoY21kbGRIMWNiaUFnSUNBZ0lDQWdJQ0JqYzNNOWUzc2dKeVltSnpvZ2MzUjViR1Z6TG1sMFpXMUNZWE5sSUgxOVhHNGdJQ0FnSUNBZ0lDQWdleTR1TG1SaGRHRnpaWFI5WEc0Z0lDQWdJQ0FnSUQ1Y2JpQWdJQ0FnSUNBZ0lDQjdkR2hwY3k1eVpXNWtaWEpKWTI5dVFXNWtRbUZrWjJVb2MzUjViR1Z6TG1KaFpHZGxWM0poY0hCbGNpbDlYRzRnSUNBZ0lDQWdJRHd2WVQ1Y2JpQWdJQ0FnSUNrN1hHNGdJQ0FnZlNCbGJITmxJR2xtSUNodmJrTnNhV05yS1NCN1hHNGdJQ0FnSUNCcGRHVnRRbUZ6WlNBOUlDaGNiaUFnSUNBZ0lDQWdQR0oxZEhSdmJseHVJQ0FnSUNBZ0lDQWdJR2xrUFh0bmJHOWlZV3hKUkgxY2JpQWdJQ0FnSUNBZ0lDQnZia05zYVdOclBYdHZia05zYVdOcmZWeHVJQ0FnSUNBZ0lDQWdJR056Y3oxN2V5QW5KaVluT2lCemRIbHNaWE11YVhSbGJVSmhjMlVnZlgxY2JpQWdJQ0FnSUNBZ0lDQjdMaTR1WkdGMFlYTmxkSDFjYmlBZ0lDQWdJQ0FnUGx4dUlDQWdJQ0FnSUNBZ0lIdDBhR2x6TG5KbGJtUmxja2xqYjI1QmJtUkNZV1JuWlNoemRIbHNaWE11WW1Ga1oyVlhjbUZ3Y0dWeUtYMWNiaUFnSUNBZ0lDQWdQQzlpZFhSMGIyNCtYRzRnSUNBZ0lDQXBPMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNCcGRHVnRRbUZ6WlNBOUlDaGNiaUFnSUNBZ0lDQWdQSE53WVc0Z2FXUTllMmRzYjJKaGJFbEVmU0JqYzNNOWUzc2dKeVltSnpvZ2MzUjViR1Z6TG1sMFpXMUNZWE5sSUgxOUlIc3VMaTVrWVhSaGMyVjBmVDVjYmlBZ0lDQWdJQ0FnSUNCN2RHaHBjeTV5Wlc1a1pYSkpZMjl1UVc1a1FtRmtaMlVvYzNSNWJHVnpMbUpoWkdkbFYzSmhjSEJsY2lsOVhHNGdJQ0FnSUNBZ0lEd3ZjM0JoYmo1Y2JpQWdJQ0FnSUNrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJR2wwWlcxQ1lYTmxPMXh1SUNCOU8xeHVYRzRnSUhKbGJtUmxjaWdwSUh0Y2JpQWdJQ0JqYjI1emRDQjdJR2x6VTJWc1pXTjBaV1FzSUhSdmIyeDBhWEFnZlNBOUlIUm9hWE11Y0hKdmNITTdYRzRnSUNBZ1kyOXVjM1FnYzNSNWJHVnpJRDBnZEdocGN5NW5aVzVsY21GMFpWTjBlV3hsY3lncE8xeHVJQ0FnSUhKbGRIVnliaUFvWEc0Z0lDQWdJQ0E4Vkc5dmJIUnBjRnh1SUNBZ0lDQWdJQ0JrWld4aGVUMTdNSDFjYmlBZ0lDQWdJQ0FnWTI5dWRHVnVkRDE3YVhOVFpXeGxZM1JsWkNBL0lIVnVaR1ZtYVc1bFpDQTZJSFJ2YjJ4MGFYQjlYRzRnSUNBZ0lDQWdJSEJ2YzJsMGFXOXVQVndpY21sbmFIUmNJbHh1SUNBZ0lDQWdJQ0JvYVdSbFZHOXZiSFJwY0U5dVEyeHBZMnRjYmlBZ0lDQWdJQ0FnYUdsa1pWUnZiMngwYVhCUGJrMXZkWE5sUkc5M2JseHVJQ0FnSUNBZ1BseHVJQ0FnSUNBZ0lDQThaR2wySUdOemN6MTdleUJrYVhOd2JHRjVPaUFuYVc1c2FXNWxMV0pzYjJOckp5QjlmVDVjYmlBZ0lDQWdJQ0FnSUNCN2RHaHBjeTV5Wlc1a1pYSkRhR2xzWkhKbGJpaHpkSGxzWlhNcGZWeHVJQ0FnSUNBZ0lDQThMMlJwZGo1Y2JpQWdJQ0FnSUR3dlZHOXZiSFJwY0Q1Y2JpQWdJQ0FwTzF4dUlDQjlYRzU5WEc1Y2JtVjRjRzl5ZENCN0lFZHNiMkpoYkU1aGRtbG5ZWFJwYjI1SmRHVnRVSEpwYldsMGFYWmxJR0Z6SUVKaGMyVkhiRzlpWVd4T1lYWnBaMkYwYVc5dVNYUmxiVkJ5YVcxcGRHbDJaU0I5TzF4dVhHNWxlSEJ2Y25RZ1pHVm1ZWFZzZENCM2FYUm9SMnh2WW1Gc1ZHaGxiV1VvUjJ4dlltRnNUbUYyYVdkaGRHbHZia2wwWlcxUWNtbHRhWFJwZG1VcE8xeHVJbDE5ICovXCIpXG4gICAgICAgIH0sIGRhdGFzZXQpLCBfdGhpcy5yZW5kZXJJY29uQW5kQmFkZ2Uoc3R5bGVzLmJhZGdlV3JhcHBlcikpO1xuICAgICAgfSBlbHNlIGlmIChvbkNsaWNrKSB7XG4gICAgICAgIGl0ZW1CYXNlID0gX19fRW1vdGlvbkpTWChcImJ1dHRvblwiLCBfZXh0ZW5kcyh7XG4gICAgICAgICAgaWQ6IGdsb2JhbElELFxuICAgICAgICAgIG9uQ2xpY2s6IG9uQ2xpY2ssXG4gICAgICAgICAgY3NzOlxuICAgICAgICAgIC8qI19fUFVSRV9fKi9cbiAgICAgICAgICBfY3NzKHtcbiAgICAgICAgICAgICcmJic6IHN0eWxlcy5pdGVtQmFzZVxuICAgICAgICAgIH0sIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IFwiXCIgOiBcIi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpNHVMeTR1THk0dUx5NHVMeTR1TDNOeVl5OWpiMjF3YjI1bGJuUnpMM0J5WlhObGJuUmhkR2x2Ym1Gc0wwZHNiMkpoYkVsMFpXMHZjSEpwYldsMGFYWmxjeTVxY3lKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVFd1NGVWlMQ0ptYVd4bElqb2lMaTR2TGk0dkxpNHZMaTR2TGk0dmMzSmpMMk52YlhCdmJtVnVkSE12Y0hKbGMyVnVkR0YwYVc5dVlXd3ZSMnh2WW1Gc1NYUmxiUzl3Y21sdGFYUnBkbVZ6TG1weklpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lhVzF3YjNKMElGSmxZV04wTENCN0lFTnZiWEJ2Ym1WdWRDd2dSbkpoWjIxbGJuUWdmU0JtY205dElDZHlaV0ZqZENjN1hHNWNibWx0Y0c5eWRDQmtaV1Z3UlhGMVlXd2dabkp2YlNBbmNtVmhZM1F0Wm1GemRDMWpiMjF3WVhKbEp6dGNibHh1YVcxd2IzSjBJRlJ2YjJ4MGFYQWdabkp2YlNBblFHRjBiR0Z6YTJsMEwzUnZiMngwYVhBbk8xeHVYRzVwYlhCdmNuUWdleUJ6ZEhsc1pWSmxaSFZqWlhKT2IwOXdMQ0IzYVhSb1IyeHZZbUZzVkdobGJXVWdmU0JtY205dElDY3VMaTh1TGk4dUxpOTBhR1Z0WlNjN1hHNWNibU5zWVhOeklFZHNiMkpoYkU1aGRtbG5ZWFJwYjI1SmRHVnRVSEpwYldsMGFYWmxJR1Y0ZEdWdVpITWdRMjl0Y0c5dVpXNTBJSHRjYmlBZ2MzUmhkR2xqSUdSbFptRjFiSFJRY205d2N5QTlJSHRjYmlBZ0lDQmtZWFJoYzJWME9pQjdYRzRnSUNBZ0lDQW5aR0YwWVMxMFpYTjBhV1FuT2lBblIyeHZZbUZzVG1GMmFXZGhkR2x2YmtsMFpXMG5MRnh1SUNBZ0lIMHNYRzRnSUNBZ2FYTkJZM1JwZG1VNklHWmhiSE5sTEZ4dUlDQWdJR2x6U0c5MlpYSTZJR1poYkhObExGeHVJQ0FnSUdselUyVnNaV04wWldRNklHWmhiSE5sTEZ4dUlDQWdJR2x6Um05amRYTmxaRG9nWm1Gc2MyVXNYRzRnSUNBZ2MybDZaVG9nSjJ4aGNtZGxKeXhjYmlBZ0lDQnpkSGxzWlhNNklITjBlV3hsVW1Wa2RXTmxjazV2VDNBc1hHNGdJSDA3WEc1Y2JpQWdjMmh2ZFd4a1EyOXRjRzl1Wlc1MFZYQmtZWFJsS0c1bGVIUlFjbTl3Y3lrZ2UxeHVJQ0FnSUhKbGRIVnliaUFoWkdWbGNFVnhkV0ZzS0hSb2FYTXVjSEp2Y0hNc0lHNWxlSFJRY205d2N5azdYRzRnSUgxY2JseHVJQ0J5Wlc1a1pYSkpZMjl1UVc1a1FtRmtaMlVnUFNCaVlXUm5aVmR5WVhCd1pYSWdQVDRnZTF4dUlDQWdJR052Ym5OMElIc2dhV052YmpvZ1NXTnZiaXdnWW1Ga1oyVTZJRUpoWkdkbExDQnNZV0psYkN3Z2RHOXZiSFJwY0NCOUlEMGdkR2hwY3k1d2NtOXdjenRjYmlBZ0lDQmpiMjV6ZENCd2NtVnpaVzUwWVhScGIyNVFjbTl3Y3lBOUlIUm9hWE11WjJWMFVISmxjMlZ1ZEdGMGFXOXVVSEp2Y0hNb0tUdGNiaUFnSUNCcFppQW9JVWxqYjI0Z0ppWWdJVUpoWkdkbEtTQnlaWFIxY200Z2JuVnNiRHRjYmlBZ0lDQmpiMjV6ZENCcFkyOXVUR0ZpWld3Z1BTQnNZV0psYkNCOGZDQW9kSGx3Wlc5bUlIUnZiMngwYVhBZ1BUMDlJQ2R6ZEhKcGJtY25JRDhnZEc5dmJIUnBjQ0E2SUNjbktUdGNiaUFnSUNCeVpYUjFjbTRnS0Z4dUlDQWdJQ0FnUEVaeVlXZHRaVzUwUGx4dUlDQWdJQ0FnSUNCN0lTRkpZMjl1SUNZbUlDaGNiaUFnSUNBZ0lDQWdJQ0E4WkdsMklHTnpjejE3ZXlCd2IybHVkR1Z5UlhabGJuUnpPaUFuYm05dVpTY2dmWDArWEc0Z0lDQWdJQ0FnSUNBZ0lDQThTV052YmlCc1lXSmxiRDE3YVdOdmJreGhZbVZzZlNCelpXTnZibVJoY25sRGIyeHZjajFjSW1sdWFHVnlhWFJjSWlBdlBseHVJQ0FnSUNBZ0lDQWdJRHd2WkdsMlBseHVJQ0FnSUNBZ0lDQXBmVnh1SUNBZ0lDQWdJQ0I3SVNGQ1lXUm5aU0FtSmlBb1hHNGdJQ0FnSUNBZ0lDQWdQR1JwZGlCamMzTTllMkpoWkdkbFYzSmhjSEJsY24wK1hHNGdJQ0FnSUNBZ0lDQWdJQ0E4UW1Ga1oyVWdleTR1TG5CeVpYTmxiblJoZEdsdmJsQnliM0J6ZlNBdlBseHVJQ0FnSUNBZ0lDQWdJRHd2WkdsMlBseHVJQ0FnSUNBZ0lDQXBmVnh1SUNBZ0lDQWdQQzlHY21GbmJXVnVkRDVjYmlBZ0lDQXBPMXh1SUNCOU8xeHVYRzRnSUM4dklHVnpiR2x1ZEMxa2FYTmhZbXhsTFc1bGVIUXRiR2x1WlNCdWJ5MTFibVJsWmx4dUlDQm5aWFJIYkc5aVlXeEpkR1Z0UlhoMFpYSnVZV3hRY205d2N5QTlJQ2dwSUQwK0lIdGNiaUFnSUNCamIyNXpkQ0I3WEc0Z0lDQWdJQ0JwYzBGamRHbDJaU3hjYmlBZ0lDQWdJR2x6Um05amRYTmxaQ3hjYmlBZ0lDQWdJR2x6U0c5MlpYSXNYRzRnSUNBZ0lDQjBhR1Z0WlN4Y2JpQWdJQ0FnSUM0dUxtVjRkR1Z5Ym1Gc1VISnZjSE5jYmlBZ0lDQjlJRDBnZEdocGN5NXdjbTl3Y3p0Y2JseHVJQ0FnSUhKbGRIVnliaUJsZUhSbGNtNWhiRkJ5YjNCek8xeHVJQ0I5TzF4dVhHNGdJR2RsZEZCeVpYTmxiblJoZEdsdmJsQnliM0J6SUQwZ0tDa2dQVDRnZTF4dUlDQWdJR052Ym5OMElIc2dhWE5CWTNScGRtVXNJR2x6Um05amRYTmxaQ3dnYVhOSWIzWmxjaXdnYVhOVFpXeGxZM1JsWkN3Z2MybDZaU0I5SUQwZ2RHaHBjeTV3Y205d2N6dGNibHh1SUNBZ0lISmxkSFZ5YmlCN0lHbHpRV04wYVhabExDQnBjMFp2WTNWelpXUXNJR2x6U0c5MlpYSXNJR2x6VTJWc1pXTjBaV1FzSUhOcGVtVWdmVHRjYmlBZ2ZUdGNibHh1SUNCblpXNWxjbUYwWlZOMGVXeGxjeUE5SUNncElEMCtJSHRjYmlBZ0lDQmpiMjV6ZENCN1hHNGdJQ0FnSUNCcGMwRmpkR2wyWlN4Y2JpQWdJQ0FnSUdselNHOTJaWElzWEc0Z0lDQWdJQ0JwYzFObGJHVmpkR1ZrTEZ4dUlDQWdJQ0FnYzJsNlpTeGNiaUFnSUNBZ0lITjBlV3hsY3pvZ2MzUjViR1ZTWldSMVkyVnlMRnh1SUNBZ0lDQWdkR2hsYldVc1hHNGdJQ0FnZlNBOUlIUm9hWE11Y0hKdmNITTdYRzRnSUNBZ1kyOXVjM1FnZXlCdGIyUmxJSDBnUFNCMGFHVnRaVHRjYmlBZ0lDQmpiMjV6ZENCd2NtVnpaVzUwWVhScGIyNVFjbTl3Y3lBOUlIc2dhWE5CWTNScGRtVXNJR2x6U0c5MlpYSXNJR2x6VTJWc1pXTjBaV1FzSUhOcGVtVWdmVHRjYmlBZ0lDQmpiMjV6ZENCa1pXWmhkV3gwVTNSNWJHVnpJRDBnYlc5a1pTNW5iRzlpWVd4SmRHVnRLSEJ5WlhObGJuUmhkR2x2YmxCeWIzQnpLVHRjYmlBZ0lDQnlaWFIxY200Z2MzUjViR1ZTWldSMVkyVnlLR1JsWm1GMWJIUlRkSGxzWlhNc0lIQnlaWE5sYm5SaGRHbHZibEJ5YjNCektUdGNiaUFnZlR0Y2JseHVJQ0J5Wlc1a1pYSkRhR2xzWkhKbGJpQTlJSE4wZVd4bGN5QTlQaUI3WEc0Z0lDQWdZMjl1YzNRZ2UxeHVJQ0FnSUNBZ1kyOXRjRzl1Wlc1ME9pQkRkWE4wYjIxRGIyMXdiMjVsYm5Rc1hHNGdJQ0FnSUNCa1lYUmhjMlYwTEZ4dUlDQWdJQ0FnYUhKbFppeGNiaUFnSUNBZ0lHbGtMRnh1SUNBZ0lDQWdiMjVEYkdsamF5eGNiaUFnSUNBZ0lIUmhjbWRsZEN4Y2JpQWdJQ0I5SUQwZ2RHaHBjeTV3Y205d2N6dGNiaUFnSUNCamIyNXpkQ0JuYkc5aVlXeEpSQ0E5SUdsa0lDWW1JR0FrZTJsa2ZVZHNiMkpoYkVsMFpXMWdPMXh1WEc0Z0lDQWdiR1YwSUdsMFpXMUNZWE5sTzF4dVhHNGdJQ0FnYVdZZ0tFTjFjM1J2YlVOdmJYQnZibVZ1ZENrZ2UxeHVJQ0FnSUNBZ2FYUmxiVUpoYzJVZ1BTQW9YRzRnSUNBZ0lDQWdJQzh2SUVOMWMzUnZiVU52YlhCdmJtVnVkQ0J1WldWa2N5QmhJR05zWVhOelRtRnRaU0J3Y205d0xpQlVhR2x6SUhCeWIzQWdhWE5jYmlBZ0lDQWdJQ0FnTHk4Z1lXUmtaV1FnWVdaMFpYSWdkR2hsSUdWdGIzUnBiMjRnZEhKaGJuTnNZWFJwYjI0dVhHNGdJQ0FnSUNBZ0lEeERkWE4wYjIxRGIyMXdiMjVsYm5SY2JpQWdJQ0FnSUNBZ0lDQjdMaTR1ZEdocGN5NW5aWFJIYkc5aVlXeEpkR1Z0UlhoMFpYSnVZV3hRY205d2N5Z3BmVnh1SUNBZ0lDQWdJQ0FnSUdOemN6MTdleUFuSmlZbk9pQnpkSGxzWlhNdWFYUmxiVUpoYzJVZ2ZYMWNiaUFnSUNBZ0lDQWdQbHh1SUNBZ0lDQWdJQ0FnSUh0MGFHbHpMbkpsYm1SbGNrbGpiMjVCYm1SQ1lXUm5aU2h6ZEhsc1pYTXVZbUZrWjJWWGNtRndjR1Z5S1gxY2JpQWdJQ0FnSUNBZ1BDOURkWE4wYjIxRGIyMXdiMjVsYm5RK1hHNGdJQ0FnSUNBcE8xeHVJQ0FnSUgwZ1pXeHpaU0JwWmlBb2FISmxaaWtnZTF4dUlDQWdJQ0FnYVhSbGJVSmhjMlVnUFNBb1hHNGdJQ0FnSUNBZ0lEeGhYRzRnSUNBZ0lDQWdJQ0FnYUhKbFpqMTdhSEpsWm4xY2JpQWdJQ0FnSUNBZ0lDQnBaRDE3WjJ4dlltRnNTVVI5WEc0Z0lDQWdJQ0FnSUNBZ2IyNURiR2xqYXoxN2IyNURiR2xqYTMxY2JpQWdJQ0FnSUNBZ0lDQjBZWEpuWlhROWUzUmhjbWRsZEgxY2JpQWdJQ0FnSUNBZ0lDQmpjM005ZTNzZ0p5WW1Kem9nYzNSNWJHVnpMbWwwWlcxQ1lYTmxJSDE5WEc0Z0lDQWdJQ0FnSUNBZ2V5NHVMbVJoZEdGelpYUjlYRzRnSUNBZ0lDQWdJRDVjYmlBZ0lDQWdJQ0FnSUNCN2RHaHBjeTV5Wlc1a1pYSkpZMjl1UVc1a1FtRmtaMlVvYzNSNWJHVnpMbUpoWkdkbFYzSmhjSEJsY2lsOVhHNGdJQ0FnSUNBZ0lEd3ZZVDVjYmlBZ0lDQWdJQ2s3WEc0Z0lDQWdmU0JsYkhObElHbG1JQ2h2YmtOc2FXTnJLU0I3WEc0Z0lDQWdJQ0JwZEdWdFFtRnpaU0E5SUNoY2JpQWdJQ0FnSUNBZ1BHSjFkSFJ2Ymx4dUlDQWdJQ0FnSUNBZ0lHbGtQWHRuYkc5aVlXeEpSSDFjYmlBZ0lDQWdJQ0FnSUNCdmJrTnNhV05yUFh0dmJrTnNhV05yZlZ4dUlDQWdJQ0FnSUNBZ0lHTnpjejE3ZXlBbkppWW5PaUJ6ZEhsc1pYTXVhWFJsYlVKaGMyVWdmWDFjYmlBZ0lDQWdJQ0FnSUNCN0xpNHVaR0YwWVhObGRIMWNiaUFnSUNBZ0lDQWdQbHh1SUNBZ0lDQWdJQ0FnSUh0MGFHbHpMbkpsYm1SbGNrbGpiMjVCYm1SQ1lXUm5aU2h6ZEhsc1pYTXVZbUZrWjJWWGNtRndjR1Z5S1gxY2JpQWdJQ0FnSUNBZ1BDOWlkWFIwYjI0K1hHNGdJQ0FnSUNBcE8xeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0JwZEdWdFFtRnpaU0E5SUNoY2JpQWdJQ0FnSUNBZ1BITndZVzRnYVdROWUyZHNiMkpoYkVsRWZTQmpjM005ZTNzZ0p5WW1Kem9nYzNSNWJHVnpMbWwwWlcxQ1lYTmxJSDE5SUhzdUxpNWtZWFJoYzJWMGZUNWNiaUFnSUNBZ0lDQWdJQ0I3ZEdocGN5NXlaVzVrWlhKSlkyOXVRVzVrUW1Ga1oyVW9jM1I1YkdWekxtSmhaR2RsVjNKaGNIQmxjaWw5WEc0Z0lDQWdJQ0FnSUR3dmMzQmhiajVjYmlBZ0lDQWdJQ2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjbVYwZFhKdUlHbDBaVzFDWVhObE8xeHVJQ0I5TzF4dVhHNGdJSEpsYm1SbGNpZ3BJSHRjYmlBZ0lDQmpiMjV6ZENCN0lHbHpVMlZzWldOMFpXUXNJSFJ2YjJ4MGFYQWdmU0E5SUhSb2FYTXVjSEp2Y0hNN1hHNGdJQ0FnWTI5dWMzUWdjM1I1YkdWeklEMGdkR2hwY3k1blpXNWxjbUYwWlZOMGVXeGxjeWdwTzF4dUlDQWdJSEpsZEhWeWJpQW9YRzRnSUNBZ0lDQThWRzl2YkhScGNGeHVJQ0FnSUNBZ0lDQmtaV3hoZVQxN01IMWNiaUFnSUNBZ0lDQWdZMjl1ZEdWdWREMTdhWE5UWld4bFkzUmxaQ0EvSUhWdVpHVm1hVzVsWkNBNklIUnZiMngwYVhCOVhHNGdJQ0FnSUNBZ0lIQnZjMmwwYVc5dVBWd2ljbWxuYUhSY0lseHVJQ0FnSUNBZ0lDQm9hV1JsVkc5dmJIUnBjRTl1UTJ4cFkydGNiaUFnSUNBZ0lDQWdhR2xrWlZSdmIyeDBhWEJQYmsxdmRYTmxSRzkzYmx4dUlDQWdJQ0FnUGx4dUlDQWdJQ0FnSUNBOFpHbDJJR056Y3oxN2V5QmthWE53YkdGNU9pQW5hVzVzYVc1bExXSnNiMk5ySnlCOWZUNWNiaUFnSUNBZ0lDQWdJQ0I3ZEdocGN5NXlaVzVrWlhKRGFHbHNaSEpsYmloemRIbHNaWE1wZlZ4dUlDQWdJQ0FnSUNBOEwyUnBkajVjYmlBZ0lDQWdJRHd2Vkc5dmJIUnBjRDVjYmlBZ0lDQXBPMXh1SUNCOVhHNTlYRzVjYm1WNGNHOXlkQ0I3SUVkc2IySmhiRTVoZG1sbllYUnBiMjVKZEdWdFVISnBiV2wwYVhabElHRnpJRUpoYzJWSGJHOWlZV3hPWVhacFoyRjBhVzl1U1hSbGJWQnlhVzFwZEdsMlpTQjlPMXh1WEc1bGVIQnZjblFnWkdWbVlYVnNkQ0IzYVhSb1IyeHZZbUZzVkdobGJXVW9SMnh2WW1Gc1RtRjJhV2RoZEdsdmJrbDBaVzFRY21sdGFYUnBkbVVwTzF4dUlsMTkgKi9cIilcbiAgICAgICAgfSwgZGF0YXNldCksIF90aGlzLnJlbmRlckljb25BbmRCYWRnZShzdHlsZXMuYmFkZ2VXcmFwcGVyKSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpdGVtQmFzZSA9IF9fX0Vtb3Rpb25KU1goXCJzcGFuXCIsIF9leHRlbmRzKHtcbiAgICAgICAgICBpZDogZ2xvYmFsSUQsXG4gICAgICAgICAgY3NzOlxuICAgICAgICAgIC8qI19fUFVSRV9fKi9cbiAgICAgICAgICBfY3NzKHtcbiAgICAgICAgICAgICcmJic6IHN0eWxlcy5pdGVtQmFzZVxuICAgICAgICAgIH0sIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IFwiXCIgOiBcIi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpNHVMeTR1THk0dUx5NHVMeTR1TDNOeVl5OWpiMjF3YjI1bGJuUnpMM0J5WlhObGJuUmhkR2x2Ym1Gc0wwZHNiMkpoYkVsMFpXMHZjSEpwYldsMGFYWmxjeTVxY3lKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGclNUUkNJaXdpWm1sc1pTSTZJaTR1THk0dUx5NHVMeTR1THk0dUwzTnlZeTlqYjIxd2IyNWxiblJ6TDNCeVpYTmxiblJoZEdsdmJtRnNMMGRzYjJKaGJFbDBaVzB2Y0hKcGJXbDBhWFpsY3k1cWN5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJbWx0Y0c5eWRDQlNaV0ZqZEN3Z2V5QkRiMjF3YjI1bGJuUXNJRVp5WVdkdFpXNTBJSDBnWm5KdmJTQW5jbVZoWTNRbk8xeHVYRzVwYlhCdmNuUWdaR1ZsY0VWeGRXRnNJR1p5YjIwZ0ozSmxZV04wTFdaaGMzUXRZMjl0Y0dGeVpTYzdYRzVjYm1sdGNHOXlkQ0JVYjI5c2RHbHdJR1p5YjIwZ0owQmhkR3hoYzJ0cGRDOTBiMjlzZEdsd0p6dGNibHh1YVcxd2IzSjBJSHNnYzNSNWJHVlNaV1IxWTJWeVRtOVBjQ3dnZDJsMGFFZHNiMkpoYkZSb1pXMWxJSDBnWm5KdmJTQW5MaTR2TGk0dkxpNHZkR2hsYldVbk8xeHVYRzVqYkdGemN5QkhiRzlpWVd4T1lYWnBaMkYwYVc5dVNYUmxiVkJ5YVcxcGRHbDJaU0JsZUhSbGJtUnpJRU52YlhCdmJtVnVkQ0I3WEc0Z0lITjBZWFJwWXlCa1pXWmhkV3gwVUhKdmNITWdQU0I3WEc0Z0lDQWdaR0YwWVhObGREb2dlMXh1SUNBZ0lDQWdKMlJoZEdFdGRHVnpkR2xrSnpvZ0owZHNiMkpoYkU1aGRtbG5ZWFJwYjI1SmRHVnRKeXhjYmlBZ0lDQjlMRnh1SUNBZ0lHbHpRV04wYVhabE9pQm1ZV3h6WlN4Y2JpQWdJQ0JwYzBodmRtVnlPaUJtWVd4elpTeGNiaUFnSUNCcGMxTmxiR1ZqZEdWa09pQm1ZV3h6WlN4Y2JpQWdJQ0JwYzBadlkzVnpaV1E2SUdaaGJITmxMRnh1SUNBZ0lITnBlbVU2SUNkc1lYSm5aU2NzWEc0Z0lDQWdjM1I1YkdWek9pQnpkSGxzWlZKbFpIVmpaWEpPYjA5d0xGeHVJQ0I5TzF4dVhHNGdJSE5vYjNWc1pFTnZiWEJ2Ym1WdWRGVndaR0YwWlNodVpYaDBVSEp2Y0hNcElIdGNiaUFnSUNCeVpYUjFjbTRnSVdSbFpYQkZjWFZoYkNoMGFHbHpMbkJ5YjNCekxDQnVaWGgwVUhKdmNITXBPMXh1SUNCOVhHNWNiaUFnY21WdVpHVnlTV052YmtGdVpFSmhaR2RsSUQwZ1ltRmtaMlZYY21Gd2NHVnlJRDArSUh0Y2JpQWdJQ0JqYjI1emRDQjdJR2xqYjI0NklFbGpiMjRzSUdKaFpHZGxPaUJDWVdSblpTd2diR0ZpWld3c0lIUnZiMngwYVhBZ2ZTQTlJSFJvYVhNdWNISnZjSE03WEc0Z0lDQWdZMjl1YzNRZ2NISmxjMlZ1ZEdGMGFXOXVVSEp2Y0hNZ1BTQjBhR2x6TG1kbGRGQnlaWE5sYm5SaGRHbHZibEJ5YjNCektDazdYRzRnSUNBZ2FXWWdLQ0ZKWTI5dUlDWW1JQ0ZDWVdSblpTa2djbVYwZFhKdUlHNTFiR3c3WEc0Z0lDQWdZMjl1YzNRZ2FXTnZia3hoWW1Wc0lEMGdiR0ZpWld3Z2ZId2dLSFI1Y0dWdlppQjBiMjlzZEdsd0lEMDlQU0FuYzNSeWFXNW5KeUEvSUhSdmIyeDBhWEFnT2lBbkp5azdYRzRnSUNBZ2NtVjBkWEp1SUNoY2JpQWdJQ0FnSUR4R2NtRm5iV1Z1ZEQ1Y2JpQWdJQ0FnSUNBZ2V5RWhTV052YmlBbUppQW9YRzRnSUNBZ0lDQWdJQ0FnUEdScGRpQmpjM005ZTNzZ2NHOXBiblJsY2tWMlpXNTBjem9nSjI1dmJtVW5JSDE5UGx4dUlDQWdJQ0FnSUNBZ0lDQWdQRWxqYjI0Z2JHRmlaV3c5ZTJsamIyNU1ZV0psYkgwZ2MyVmpiMjVrWVhKNVEyOXNiM0k5WENKcGJtaGxjbWwwWENJZ0x6NWNiaUFnSUNBZ0lDQWdJQ0E4TDJScGRqNWNiaUFnSUNBZ0lDQWdLWDFjYmlBZ0lDQWdJQ0FnZXlFaFFtRmtaMlVnSmlZZ0tGeHVJQ0FnSUNBZ0lDQWdJRHhrYVhZZ1kzTnpQWHRpWVdSblpWZHlZWEJ3WlhKOVBseHVJQ0FnSUNBZ0lDQWdJQ0FnUEVKaFpHZGxJSHN1TGk1d2NtVnpaVzUwWVhScGIyNVFjbTl3YzMwZ0x6NWNiaUFnSUNBZ0lDQWdJQ0E4TDJScGRqNWNiaUFnSUNBZ0lDQWdLWDFjYmlBZ0lDQWdJRHd2Um5KaFoyMWxiblErWEc0Z0lDQWdLVHRjYmlBZ2ZUdGNibHh1SUNBdkx5QmxjMnhwYm5RdFpHbHpZV0pzWlMxdVpYaDBMV3hwYm1VZ2JtOHRkVzVrWldaY2JpQWdaMlYwUjJ4dlltRnNTWFJsYlVWNGRHVnlibUZzVUhKdmNITWdQU0FvS1NBOVBpQjdYRzRnSUNBZ1kyOXVjM1FnZTF4dUlDQWdJQ0FnYVhOQlkzUnBkbVVzWEc0Z0lDQWdJQ0JwYzBadlkzVnpaV1FzWEc0Z0lDQWdJQ0JwYzBodmRtVnlMRnh1SUNBZ0lDQWdkR2hsYldVc1hHNGdJQ0FnSUNBdUxpNWxlSFJsY201aGJGQnliM0J6WEc0Z0lDQWdmU0E5SUhSb2FYTXVjSEp2Y0hNN1hHNWNiaUFnSUNCeVpYUjFjbTRnWlhoMFpYSnVZV3hRY205d2N6dGNiaUFnZlR0Y2JseHVJQ0JuWlhSUWNtVnpaVzUwWVhScGIyNVFjbTl3Y3lBOUlDZ3BJRDArSUh0Y2JpQWdJQ0JqYjI1emRDQjdJR2x6UVdOMGFYWmxMQ0JwYzBadlkzVnpaV1FzSUdselNHOTJaWElzSUdselUyVnNaV04wWldRc0lITnBlbVVnZlNBOUlIUm9hWE11Y0hKdmNITTdYRzVjYmlBZ0lDQnlaWFIxY200Z2V5QnBjMEZqZEdsMlpTd2dhWE5HYjJOMWMyVmtMQ0JwYzBodmRtVnlMQ0JwYzFObGJHVmpkR1ZrTENCemFYcGxJSDA3WEc0Z0lIMDdYRzVjYmlBZ1oyVnVaWEpoZEdWVGRIbHNaWE1nUFNBb0tTQTlQaUI3WEc0Z0lDQWdZMjl1YzNRZ2UxeHVJQ0FnSUNBZ2FYTkJZM1JwZG1Vc1hHNGdJQ0FnSUNCcGMwaHZkbVZ5TEZ4dUlDQWdJQ0FnYVhOVFpXeGxZM1JsWkN4Y2JpQWdJQ0FnSUhOcGVtVXNYRzRnSUNBZ0lDQnpkSGxzWlhNNklITjBlV3hsVW1Wa2RXTmxjaXhjYmlBZ0lDQWdJSFJvWlcxbExGeHVJQ0FnSUgwZ1BTQjBhR2x6TG5CeWIzQnpPMXh1SUNBZ0lHTnZibk4wSUhzZ2JXOWtaU0I5SUQwZ2RHaGxiV1U3WEc0Z0lDQWdZMjl1YzNRZ2NISmxjMlZ1ZEdGMGFXOXVVSEp2Y0hNZ1BTQjdJR2x6UVdOMGFYWmxMQ0JwYzBodmRtVnlMQ0JwYzFObGJHVmpkR1ZrTENCemFYcGxJSDA3WEc0Z0lDQWdZMjl1YzNRZ1pHVm1ZWFZzZEZOMGVXeGxjeUE5SUcxdlpHVXVaMnh2WW1Gc1NYUmxiU2h3Y21WelpXNTBZWFJwYjI1UWNtOXdjeWs3WEc0Z0lDQWdjbVYwZFhKdUlITjBlV3hsVW1Wa2RXTmxjaWhrWldaaGRXeDBVM1I1YkdWekxDQndjbVZ6Wlc1MFlYUnBiMjVRY205d2N5azdYRzRnSUgwN1hHNWNiaUFnY21WdVpHVnlRMmhwYkdSeVpXNGdQU0J6ZEhsc1pYTWdQVDRnZTF4dUlDQWdJR052Ym5OMElIdGNiaUFnSUNBZ0lHTnZiWEJ2Ym1WdWREb2dRM1Z6ZEc5dFEyOXRjRzl1Wlc1MExGeHVJQ0FnSUNBZ1pHRjBZWE5sZEN4Y2JpQWdJQ0FnSUdoeVpXWXNYRzRnSUNBZ0lDQnBaQ3hjYmlBZ0lDQWdJRzl1UTJ4cFkyc3NYRzRnSUNBZ0lDQjBZWEpuWlhRc1hHNGdJQ0FnZlNBOUlIUm9hWE11Y0hKdmNITTdYRzRnSUNBZ1kyOXVjM1FnWjJ4dlltRnNTVVFnUFNCcFpDQW1KaUJnSkh0cFpIMUhiRzlpWVd4SmRHVnRZRHRjYmx4dUlDQWdJR3hsZENCcGRHVnRRbUZ6WlR0Y2JseHVJQ0FnSUdsbUlDaERkWE4wYjIxRGIyMXdiMjVsYm5RcElIdGNiaUFnSUNBZ0lHbDBaVzFDWVhObElEMGdLRnh1SUNBZ0lDQWdJQ0F2THlCRGRYTjBiMjFEYjIxd2IyNWxiblFnYm1WbFpITWdZU0JqYkdGemMwNWhiV1VnY0hKdmNDNGdWR2hwY3lCd2NtOXdJR2x6WEc0Z0lDQWdJQ0FnSUM4dklHRmtaR1ZrSUdGbWRHVnlJSFJvWlNCbGJXOTBhVzl1SUhSeVlXNXpiR0YwYVc5dUxseHVJQ0FnSUNBZ0lDQThRM1Z6ZEc5dFEyOXRjRzl1Wlc1MFhHNGdJQ0FnSUNBZ0lDQWdleTR1TG5Sb2FYTXVaMlYwUjJ4dlltRnNTWFJsYlVWNGRHVnlibUZzVUhKdmNITW9LWDFjYmlBZ0lDQWdJQ0FnSUNCamMzTTllM3NnSnlZbUp6b2djM1I1YkdWekxtbDBaVzFDWVhObElIMTlYRzRnSUNBZ0lDQWdJRDVjYmlBZ0lDQWdJQ0FnSUNCN2RHaHBjeTV5Wlc1a1pYSkpZMjl1UVc1a1FtRmtaMlVvYzNSNWJHVnpMbUpoWkdkbFYzSmhjSEJsY2lsOVhHNGdJQ0FnSUNBZ0lEd3ZRM1Z6ZEc5dFEyOXRjRzl1Wlc1MFBseHVJQ0FnSUNBZ0tUdGNiaUFnSUNCOUlHVnNjMlVnYVdZZ0tHaHlaV1lwSUh0Y2JpQWdJQ0FnSUdsMFpXMUNZWE5sSUQwZ0tGeHVJQ0FnSUNBZ0lDQThZVnh1SUNBZ0lDQWdJQ0FnSUdoeVpXWTllMmh5WldaOVhHNGdJQ0FnSUNBZ0lDQWdhV1E5ZTJkc2IySmhiRWxFZlZ4dUlDQWdJQ0FnSUNBZ0lHOXVRMnhwWTJzOWUyOXVRMnhwWTJ0OVhHNGdJQ0FnSUNBZ0lDQWdkR0Z5WjJWMFBYdDBZWEpuWlhSOVhHNGdJQ0FnSUNBZ0lDQWdZM056UFh0N0lDY21KaWM2SUhOMGVXeGxjeTVwZEdWdFFtRnpaU0I5ZlZ4dUlDQWdJQ0FnSUNBZ0lIc3VMaTVrWVhSaGMyVjBmVnh1SUNBZ0lDQWdJQ0ErWEc0Z0lDQWdJQ0FnSUNBZ2UzUm9hWE11Y21WdVpHVnlTV052YmtGdVpFSmhaR2RsS0hOMGVXeGxjeTVpWVdSblpWZHlZWEJ3WlhJcGZWeHVJQ0FnSUNBZ0lDQThMMkUrWEc0Z0lDQWdJQ0FwTzF4dUlDQWdJSDBnWld4elpTQnBaaUFvYjI1RGJHbGpheWtnZTF4dUlDQWdJQ0FnYVhSbGJVSmhjMlVnUFNBb1hHNGdJQ0FnSUNBZ0lEeGlkWFIwYjI1Y2JpQWdJQ0FnSUNBZ0lDQnBaRDE3WjJ4dlltRnNTVVI5WEc0Z0lDQWdJQ0FnSUNBZ2IyNURiR2xqYXoxN2IyNURiR2xqYTMxY2JpQWdJQ0FnSUNBZ0lDQmpjM005ZTNzZ0p5WW1Kem9nYzNSNWJHVnpMbWwwWlcxQ1lYTmxJSDE5WEc0Z0lDQWdJQ0FnSUNBZ2V5NHVMbVJoZEdGelpYUjlYRzRnSUNBZ0lDQWdJRDVjYmlBZ0lDQWdJQ0FnSUNCN2RHaHBjeTV5Wlc1a1pYSkpZMjl1UVc1a1FtRmtaMlVvYzNSNWJHVnpMbUpoWkdkbFYzSmhjSEJsY2lsOVhHNGdJQ0FnSUNBZ0lEd3ZZblYwZEc5dVBseHVJQ0FnSUNBZ0tUdGNiaUFnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnYVhSbGJVSmhjMlVnUFNBb1hHNGdJQ0FnSUNBZ0lEeHpjR0Z1SUdsa1BYdG5iRzlpWVd4SlJIMGdZM056UFh0N0lDY21KaWM2SUhOMGVXeGxjeTVwZEdWdFFtRnpaU0I5ZlNCN0xpNHVaR0YwWVhObGRIMCtYRzRnSUNBZ0lDQWdJQ0FnZTNSb2FYTXVjbVZ1WkdWeVNXTnZia0Z1WkVKaFpHZGxLSE4wZVd4bGN5NWlZV1JuWlZkeVlYQndaWElwZlZ4dUlDQWdJQ0FnSUNBOEwzTndZVzQrWEc0Z0lDQWdJQ0FwTzF4dUlDQWdJSDFjYmx4dUlDQWdJSEpsZEhWeWJpQnBkR1Z0UW1GelpUdGNiaUFnZlR0Y2JseHVJQ0J5Wlc1a1pYSW9LU0I3WEc0Z0lDQWdZMjl1YzNRZ2V5QnBjMU5sYkdWamRHVmtMQ0IwYjI5c2RHbHdJSDBnUFNCMGFHbHpMbkJ5YjNCek8xeHVJQ0FnSUdOdmJuTjBJSE4wZVd4bGN5QTlJSFJvYVhNdVoyVnVaWEpoZEdWVGRIbHNaWE1vS1R0Y2JpQWdJQ0J5WlhSMWNtNGdLRnh1SUNBZ0lDQWdQRlJ2YjJ4MGFYQmNiaUFnSUNBZ0lDQWdaR1ZzWVhrOWV6QjlYRzRnSUNBZ0lDQWdJR052Ym5SbGJuUTllMmx6VTJWc1pXTjBaV1FnUHlCMWJtUmxabWx1WldRZ09pQjBiMjlzZEdsd2ZWeHVJQ0FnSUNBZ0lDQndiM05wZEdsdmJqMWNJbkpwWjJoMFhDSmNiaUFnSUNBZ0lDQWdhR2xrWlZSdmIyeDBhWEJQYmtOc2FXTnJYRzRnSUNBZ0lDQWdJR2hwWkdWVWIyOXNkR2x3VDI1TmIzVnpaVVJ2ZDI1Y2JpQWdJQ0FnSUQ1Y2JpQWdJQ0FnSUNBZ1BHUnBkaUJqYzNNOWUzc2daR2x6Y0d4aGVUb2dKMmx1YkdsdVpTMWliRzlqYXljZ2ZYMCtYRzRnSUNBZ0lDQWdJQ0FnZTNSb2FYTXVjbVZ1WkdWeVEyaHBiR1J5Wlc0b2MzUjViR1Z6S1gxY2JpQWdJQ0FnSUNBZ1BDOWthWFkrWEc0Z0lDQWdJQ0E4TDFSdmIyeDBhWEErWEc0Z0lDQWdLVHRjYmlBZ2ZWeHVmVnh1WEc1bGVIQnZjblFnZXlCSGJHOWlZV3hPWVhacFoyRjBhVzl1U1hSbGJWQnlhVzFwZEdsMlpTQmhjeUJDWVhObFIyeHZZbUZzVG1GMmFXZGhkR2x2YmtsMFpXMVFjbWx0YVhScGRtVWdmVHRjYmx4dVpYaHdiM0owSUdSbFptRjFiSFFnZDJsMGFFZHNiMkpoYkZSb1pXMWxLRWRzYjJKaGJFNWhkbWxuWVhScGIyNUpkR1Z0VUhKcGJXbDBhWFpsS1R0Y2JpSmRmUT09ICovXCIpXG4gICAgICAgIH0sIGRhdGFzZXQpLCBfdGhpcy5yZW5kZXJJY29uQW5kQmFkZ2Uoc3R5bGVzLmJhZGdlV3JhcHBlcikpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gaXRlbUJhc2U7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gX3RoaXM7XG4gIH1cblxuICBfY3JlYXRlQ2xhc3MoR2xvYmFsTmF2aWdhdGlvbkl0ZW1QcmltaXRpdmUsIFt7XG4gICAga2V5OiBcInNob3VsZENvbXBvbmVudFVwZGF0ZVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBzaG91bGRDb21wb25lbnRVcGRhdGUobmV4dFByb3BzKSB7XG4gICAgICByZXR1cm4gIWRlZXBFcXVhbCh0aGlzLnByb3BzLCBuZXh0UHJvcHMpO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJyZW5kZXJcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gcmVuZGVyKCkge1xuICAgICAgdmFyIF90aGlzJHByb3BzNiA9IHRoaXMucHJvcHMsXG4gICAgICAgICAgaXNTZWxlY3RlZCA9IF90aGlzJHByb3BzNi5pc1NlbGVjdGVkLFxuICAgICAgICAgIHRvb2x0aXAgPSBfdGhpcyRwcm9wczYudG9vbHRpcDtcbiAgICAgIHZhciBzdHlsZXMgPSB0aGlzLmdlbmVyYXRlU3R5bGVzKCk7XG4gICAgICByZXR1cm4gX19fRW1vdGlvbkpTWChUb29sdGlwLCB7XG4gICAgICAgIGRlbGF5OiAwLFxuICAgICAgICBjb250ZW50OiBpc1NlbGVjdGVkID8gdW5kZWZpbmVkIDogdG9vbHRpcCxcbiAgICAgICAgcG9zaXRpb246IFwicmlnaHRcIixcbiAgICAgICAgaGlkZVRvb2x0aXBPbkNsaWNrOiB0cnVlLFxuICAgICAgICBoaWRlVG9vbHRpcE9uTW91c2VEb3duOiB0cnVlXG4gICAgICB9LCBfX19FbW90aW9uSlNYKFwiZGl2XCIsIHtcbiAgICAgICAgY3NzOiBfcmVmMlxuICAgICAgfSwgdGhpcy5yZW5kZXJDaGlsZHJlbihzdHlsZXMpKSk7XG4gICAgfVxuICB9XSk7XG5cbiAgcmV0dXJuIEdsb2JhbE5hdmlnYXRpb25JdGVtUHJpbWl0aXZlO1xufShDb21wb25lbnQpO1xuXG5fZGVmaW5lUHJvcGVydHkoR2xvYmFsTmF2aWdhdGlvbkl0ZW1QcmltaXRpdmUsIFwiZGVmYXVsdFByb3BzXCIsIHtcbiAgZGF0YXNldDoge1xuICAgICdkYXRhLXRlc3RpZCc6ICdHbG9iYWxOYXZpZ2F0aW9uSXRlbSdcbiAgfSxcbiAgaXNBY3RpdmU6IGZhbHNlLFxuICBpc0hvdmVyOiBmYWxzZSxcbiAgaXNTZWxlY3RlZDogZmFsc2UsXG4gIGlzRm9jdXNlZDogZmFsc2UsXG4gIHNpemU6ICdsYXJnZScsXG4gIHN0eWxlczogc3R5bGVSZWR1Y2VyTm9PcFxufSk7XG5cbmV4cG9ydCB7IEdsb2JhbE5hdmlnYXRpb25JdGVtUHJpbWl0aXZlIGFzIEJhc2VHbG9iYWxOYXZpZ2F0aW9uSXRlbVByaW1pdGl2ZSB9O1xuZXhwb3J0IGRlZmF1bHQgd2l0aEdsb2JhbFRoZW1lKEdsb2JhbE5hdmlnYXRpb25JdGVtUHJpbWl0aXZlKTsiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2QkFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw4QkFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/GlobalItem/primitives.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/GlobalItem/styles.js": /*!********************************************************************************************************!*\ !*** ./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/GlobalItem/styles.js ***! \********************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/objectSpread */ \"./node_modules/@babel/runtime/helpers/objectSpread.js\");\n/* harmony import */ var _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @atlaskit/theme/colors */ \"./node_modules/@atlaskit/theme/dist/esm/colors.js\");\n/* harmony import */ var _atlaskit_theme_constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @atlaskit/theme/constants */ \"./node_modules/@atlaskit/theme/dist/esm/constants.js\");\n\n\n\nvar baseStyles = {\n itemBase: {\n alignItems: 'center',\n border: 0,\n borderRadius: '50%',\n color: 'inherit',\n cursor: 'pointer',\n display: 'flex',\n fontSize: 'inherit',\n justifyContent: 'center',\n lineHeight: 1,\n outline: 'none',\n padding: 0,\n position: 'relative',\n // allow badge positioning\n '&:focus': {\n boxShadow: \"0 0 0 2px \".concat(_atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_1__[\"B100\"])\n }\n },\n badgeWrapper: {\n pointerEvents: 'none',\n position: 'absolute',\n userSelect: 'none'\n },\n itemWrapper: {\n display: 'flex'\n }\n};\nvar sizeStyles = {\n large: {\n itemBase: {\n height: \"\".concat(Object(_atlaskit_theme_constants__WEBPACK_IMPORTED_MODULE_2__[\"gridSize\"])() * 5, \"px\"),\n width: \"\".concat(Object(_atlaskit_theme_constants__WEBPACK_IMPORTED_MODULE_2__[\"gridSize\"])() * 5, \"px\")\n },\n badgeWrapper: {\n left: \"\".concat(Object(_atlaskit_theme_constants__WEBPACK_IMPORTED_MODULE_2__[\"gridSize\"])() * 2, \"px\"),\n top: 0\n },\n itemWrapper: {}\n },\n small: {\n itemBase: {\n height: \"\".concat(Object(_atlaskit_theme_constants__WEBPACK_IMPORTED_MODULE_2__[\"gridSize\"])() * 4, \"px\"),\n width: \"\".concat(Object(_atlaskit_theme_constants__WEBPACK_IMPORTED_MODULE_2__[\"gridSize\"])() * 4, \"px\")\n },\n badgeWrapper: {\n left: \"\".concat(Object(_atlaskit_theme_constants__WEBPACK_IMPORTED_MODULE_2__[\"gridSize\"])() * 2.5, \"px\"),\n top: \"-\".concat(Object(_atlaskit_theme_constants__WEBPACK_IMPORTED_MODULE_2__[\"gridSize\"])() / 2, \"px\")\n },\n itemWrapper: {\n padding: \"\".concat(Object(_atlaskit_theme_constants__WEBPACK_IMPORTED_MODULE_2__[\"gridSize\"])() / 2, \"px\")\n }\n }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (function (_ref) {\n var product = _ref.product;\n return function (_ref2) {\n var isActive = _ref2.isActive,\n isHover = _ref2.isHover,\n isSelected = _ref2.isSelected,\n _ref2$size = _ref2.size,\n size = _ref2$size === void 0 ? 'large' : _ref2$size;\n return {\n itemBase: _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0___default()({}, baseStyles.itemBase, sizeStyles[size].itemBase, {\n backgroundColor: function () {\n if (isSelected) return product.background.static;\n if (isActive) return product.background.interact;\n if (isHover) return product.background.hint;\n return product.background.default;\n }(),\n color: product.text.default\n }),\n badgeWrapper: _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0___default()({}, baseStyles.badgeWrapper, sizeStyles[size].badgeWrapper),\n itemWrapper: _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0___default()({}, sizeStyles[size].itemWrapper)\n };\n };\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL0dsb2JhbEl0ZW0vc3R5bGVzLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BhdGxhc2tpdC9uYXZpZ2F0aW9uLW5leHQvZGlzdC9lc20vY29tcG9uZW50cy9wcmVzZW50YXRpb25hbC9HbG9iYWxJdGVtL3N0eWxlcy5qcz9iNzUzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfb2JqZWN0U3ByZWFkIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL29iamVjdFNwcmVhZFwiO1xuaW1wb3J0IHsgQjEwMCB9IGZyb20gJ0BhdGxhc2tpdC90aGVtZS9jb2xvcnMnO1xuaW1wb3J0IHsgZ3JpZFNpemUgfSBmcm9tICdAYXRsYXNraXQvdGhlbWUvY29uc3RhbnRzJztcbnZhciBiYXNlU3R5bGVzID0ge1xuICBpdGVtQmFzZToge1xuICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgIGJvcmRlcjogMCxcbiAgICBib3JkZXJSYWRpdXM6ICc1MCUnLFxuICAgIGNvbG9yOiAnaW5oZXJpdCcsXG4gICAgY3Vyc29yOiAncG9pbnRlcicsXG4gICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgIGZvbnRTaXplOiAnaW5oZXJpdCcsXG4gICAganVzdGlmeUNvbnRlbnQ6ICdjZW50ZXInLFxuICAgIGxpbmVIZWlnaHQ6IDEsXG4gICAgb3V0bGluZTogJ25vbmUnLFxuICAgIHBhZGRpbmc6IDAsXG4gICAgcG9zaXRpb246ICdyZWxhdGl2ZScsXG4gICAgLy8gYWxsb3cgYmFkZ2UgcG9zaXRpb25pbmdcbiAgICAnJjpmb2N1cyc6IHtcbiAgICAgIGJveFNoYWRvdzogXCIwIDAgMCAycHggXCIuY29uY2F0KEIxMDApXG4gICAgfVxuICB9LFxuICBiYWRnZVdyYXBwZXI6IHtcbiAgICBwb2ludGVyRXZlbnRzOiAnbm9uZScsXG4gICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgdXNlclNlbGVjdDogJ25vbmUnXG4gIH0sXG4gIGl0ZW1XcmFwcGVyOiB7XG4gICAgZGlzcGxheTogJ2ZsZXgnXG4gIH1cbn07XG52YXIgc2l6ZVN0eWxlcyA9IHtcbiAgbGFyZ2U6IHtcbiAgICBpdGVtQmFzZToge1xuICAgICAgaGVpZ2h0OiBcIlwiLmNvbmNhdChncmlkU2l6ZSgpICogNSwgXCJweFwiKSxcbiAgICAgIHdpZHRoOiBcIlwiLmNvbmNhdChncmlkU2l6ZSgpICogNSwgXCJweFwiKVxuICAgIH0sXG4gICAgYmFkZ2VXcmFwcGVyOiB7XG4gICAgICBsZWZ0OiBcIlwiLmNvbmNhdChncmlkU2l6ZSgpICogMiwgXCJweFwiKSxcbiAgICAgIHRvcDogMFxuICAgIH0sXG4gICAgaXRlbVdyYXBwZXI6IHt9XG4gIH0sXG4gIHNtYWxsOiB7XG4gICAgaXRlbUJhc2U6IHtcbiAgICAgIGhlaWdodDogXCJcIi5jb25jYXQoZ3JpZFNpemUoKSAqIDQsIFwicHhcIiksXG4gICAgICB3aWR0aDogXCJcIi5jb25jYXQoZ3JpZFNpemUoKSAqIDQsIFwicHhcIilcbiAgICB9LFxuICAgIGJhZGdlV3JhcHBlcjoge1xuICAgICAgbGVmdDogXCJcIi5jb25jYXQoZ3JpZFNpemUoKSAqIDIuNSwgXCJweFwiKSxcbiAgICAgIHRvcDogXCItXCIuY29uY2F0KGdyaWRTaXplKCkgLyAyLCBcInB4XCIpXG4gICAgfSxcbiAgICBpdGVtV3JhcHBlcjoge1xuICAgICAgcGFkZGluZzogXCJcIi5jb25jYXQoZ3JpZFNpemUoKSAvIDIsIFwicHhcIilcbiAgICB9XG4gIH1cbn07XG5leHBvcnQgZGVmYXVsdCAoZnVuY3Rpb24gKF9yZWYpIHtcbiAgdmFyIHByb2R1Y3QgPSBfcmVmLnByb2R1Y3Q7XG4gIHJldHVybiBmdW5jdGlvbiAoX3JlZjIpIHtcbiAgICB2YXIgaXNBY3RpdmUgPSBfcmVmMi5pc0FjdGl2ZSxcbiAgICAgICAgaXNIb3ZlciA9IF9yZWYyLmlzSG92ZXIsXG4gICAgICAgIGlzU2VsZWN0ZWQgPSBfcmVmMi5pc1NlbGVjdGVkLFxuICAgICAgICBfcmVmMiRzaXplID0gX3JlZjIuc2l6ZSxcbiAgICAgICAgc2l6ZSA9IF9yZWYyJHNpemUgPT09IHZvaWQgMCA/ICdsYXJnZScgOiBfcmVmMiRzaXplO1xuICAgIHJldHVybiB7XG4gICAgICBpdGVtQmFzZTogX29iamVjdFNwcmVhZCh7fSwgYmFzZVN0eWxlcy5pdGVtQmFzZSwgc2l6ZVN0eWxlc1tzaXplXS5pdGVtQmFzZSwge1xuICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICBpZiAoaXNTZWxlY3RlZCkgcmV0dXJuIHByb2R1Y3QuYmFja2dyb3VuZC5zdGF0aWM7XG4gICAgICAgICAgaWYgKGlzQWN0aXZlKSByZXR1cm4gcHJvZHVjdC5iYWNrZ3JvdW5kLmludGVyYWN0O1xuICAgICAgICAgIGlmIChpc0hvdmVyKSByZXR1cm4gcHJvZHVjdC5iYWNrZ3JvdW5kLmhpbnQ7XG4gICAgICAgICAgcmV0dXJuIHByb2R1Y3QuYmFja2dyb3VuZC5kZWZhdWx0O1xuICAgICAgICB9KCksXG4gICAgICAgIGNvbG9yOiBwcm9kdWN0LnRleHQuZGVmYXVsdFxuICAgICAgfSksXG4gICAgICBiYWRnZVdyYXBwZXI6IF9vYmplY3RTcHJlYWQoe30sIGJhc2VTdHlsZXMuYmFkZ2VXcmFwcGVyLCBzaXplU3R5bGVzW3NpemVdLmJhZGdlV3JhcHBlciksXG4gICAgICBpdGVtV3JhcHBlcjogX29iamVjdFNwcmVhZCh7fSwgc2l6ZVN0eWxlc1tzaXplXS5pdGVtV3JhcHBlcilcbiAgICB9O1xuICB9O1xufSk7Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/GlobalItem/styles.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/GlobalNav/GlobalNavigation.js": /*!*****************************************************************************************************************!*\ !*** ./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/GlobalNav/GlobalNavigation.js ***! \*****************************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return GlobalNavigation; });\n/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ \"./node_modules/@babel/runtime/helpers/objectWithoutProperties.js\");\n/* harmony import */ var _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ \"./node_modules/@babel/runtime/helpers/classCallCheck.js\");\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\");\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ \"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ \"./node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ \"./node_modules/@babel/runtime/helpers/inherits.js\");\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _emotion_core__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @emotion/core */ \"./node_modules/@emotion/core/dist/core.browser.esm.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var _atlaskit_analytics_namespaced_context__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @atlaskit/analytics-namespaced-context */ \"./node_modules/@atlaskit/analytics-namespaced-context/dist/esm/index.js\");\n/* harmony import */ var _primitives__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./primitives */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/GlobalNav/primitives.js\");\n\n\n\n\n\n\n\n\n\n/**\n * NOTE: 'GlobalNav' is the layout primitive, which will be wrapped by the more\n * opinionated 'GlobalNavigation' component.\n */\n\n\n\n\nvar GlobalNavigation =\n/*#__PURE__*/\nfunction (_Component) {\n _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_6___default()(GlobalNavigation, _Component);\n\n function GlobalNavigation() {\n _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2___default()(this, GlobalNavigation);\n\n return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4___default()(this, _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5___default()(GlobalNavigation).apply(this, arguments));\n }\n\n _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3___default()(GlobalNavigation, [{\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n ItemComponent = _this$props.itemComponent,\n primaryItems = _this$props.primaryItems,\n secondaryItems = _this$props.secondaryItems,\n theme = _this$props.theme;\n var wrapperStyles = theme.mode.globalNav({\n topOffset: theme.topOffset\n });\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_7__[\"jsx\"])(_atlaskit_analytics_namespaced_context__WEBPACK_IMPORTED_MODULE_9__[\"NavigationAnalyticsContext\"], {\n data: {\n attributes: {\n navigationLayer: 'global'\n },\n componentName: 'globalNav'\n }\n }, Object(_emotion_core__WEBPACK_IMPORTED_MODULE_7__[\"jsx\"])(\"div\", {\n css: wrapperStyles\n }, Object(_emotion_core__WEBPACK_IMPORTED_MODULE_7__[\"jsx\"])(_primitives__WEBPACK_IMPORTED_MODULE_10__[\"PrimaryItemsList\"], null, Object(_emotion_core__WEBPACK_IMPORTED_MODULE_7__[\"jsx\"])(_atlaskit_analytics_namespaced_context__WEBPACK_IMPORTED_MODULE_9__[\"NavigationAnalyticsContext\"], {\n data: {\n attributes: {\n navigationIconGrouping: 'primary'\n }\n }\n }, Object(_emotion_core__WEBPACK_IMPORTED_MODULE_7__[\"jsx\"])(react__WEBPACK_IMPORTED_MODULE_8__[\"Fragment\"], null, primaryItems.map(function (props, index) {\n // Render the first item with a margin beneath it and a large icon\n if (!index) {\n var Icon = props.icon,\n rest = _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1___default()(props, [\"icon\"]);\n\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_7__[\"jsx\"])(_primitives__WEBPACK_IMPORTED_MODULE_10__[\"FirstPrimaryItemWrapper\"], {\n key: props.id\n }, Object(_emotion_core__WEBPACK_IMPORTED_MODULE_7__[\"jsx\"])(ItemComponent, _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({}, rest, {\n icon: function icon(provided) {\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_7__[\"jsx\"])(Icon, _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({}, provided, {\n size: \"large\"\n }));\n },\n size: \"large\",\n index: index\n })));\n }\n\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_7__[\"jsx\"])(ItemComponent, _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({}, props, {\n key: props.id,\n size: \"small\",\n index: index\n }));\n })))), Object(_emotion_core__WEBPACK_IMPORTED_MODULE_7__[\"jsx\"])(_primitives__WEBPACK_IMPORTED_MODULE_10__[\"SecondaryItemsList\"], null, Object(_emotion_core__WEBPACK_IMPORTED_MODULE_7__[\"jsx\"])(_atlaskit_analytics_namespaced_context__WEBPACK_IMPORTED_MODULE_9__[\"NavigationAnalyticsContext\"], {\n data: {\n attributes: {\n navigationIconGrouping: 'secondary'\n }\n }\n }, Object(_emotion_core__WEBPACK_IMPORTED_MODULE_7__[\"jsx\"])(react__WEBPACK_IMPORTED_MODULE_8__[\"Fragment\"], null, secondaryItems.map(function (props, index) {\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_7__[\"jsx\"])(ItemComponent, _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({}, props, {\n key: props.id,\n size: \"small\",\n index: index\n }));\n }))))));\n }\n }]);\n\n return GlobalNavigation;\n}(react__WEBPACK_IMPORTED_MODULE_8__[\"Component\"]);\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL0dsb2JhbE5hdi9HbG9iYWxOYXZpZ2F0aW9uLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BhdGxhc2tpdC9uYXZpZ2F0aW9uLW5leHQvZGlzdC9lc20vY29tcG9uZW50cy9wcmVzZW50YXRpb25hbC9HbG9iYWxOYXYvR2xvYmFsTmF2aWdhdGlvbi5qcz8wYmJmIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfZXh0ZW5kcyBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9leHRlbmRzXCI7XG5pbXBvcnQgX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzXCI7XG5pbXBvcnQgX2NsYXNzQ2FsbENoZWNrIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2NsYXNzQ2FsbENoZWNrXCI7XG5pbXBvcnQgX2NyZWF0ZUNsYXNzIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2NyZWF0ZUNsYXNzXCI7XG5pbXBvcnQgX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4gZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvcG9zc2libGVDb25zdHJ1Y3RvclJldHVyblwiO1xuaW1wb3J0IF9nZXRQcm90b3R5cGVPZiBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9nZXRQcm90b3R5cGVPZlwiO1xuaW1wb3J0IF9pbmhlcml0cyBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9pbmhlcml0c1wiO1xuaW1wb3J0IHsganN4IGFzIF9fX0Vtb3Rpb25KU1ggfSBmcm9tIFwiQGVtb3Rpb24vY29yZVwiO1xuXG4vKipcbiAqIE5PVEU6ICdHbG9iYWxOYXYnIGlzIHRoZSBsYXlvdXQgcHJpbWl0aXZlLCB3aGljaCB3aWxsIGJlIHdyYXBwZWQgYnkgdGhlIG1vcmVcbiAqIG9waW5pb25hdGVkICdHbG9iYWxOYXZpZ2F0aW9uJyBjb21wb25lbnQuXG4gKi9cbmltcG9ydCBSZWFjdCwgeyBDb21wb25lbnQsIEZyYWdtZW50IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgTmF2aWdhdGlvbkFuYWx5dGljc0NvbnRleHQgfSBmcm9tICdAYXRsYXNraXQvYW5hbHl0aWNzLW5hbWVzcGFjZWQtY29udGV4dCc7XG5pbXBvcnQgeyBGaXJzdFByaW1hcnlJdGVtV3JhcHBlciwgUHJpbWFyeUl0ZW1zTGlzdCwgU2Vjb25kYXJ5SXRlbXNMaXN0IH0gZnJvbSAnLi9wcmltaXRpdmVzJztcblxudmFyIEdsb2JhbE5hdmlnYXRpb24gPVxuLyojX19QVVJFX18qL1xuZnVuY3Rpb24gKF9Db21wb25lbnQpIHtcbiAgX2luaGVyaXRzKEdsb2JhbE5hdmlnYXRpb24sIF9Db21wb25lbnQpO1xuXG4gIGZ1bmN0aW9uIEdsb2JhbE5hdmlnYXRpb24oKSB7XG4gICAgX2NsYXNzQ2FsbENoZWNrKHRoaXMsIEdsb2JhbE5hdmlnYXRpb24pO1xuXG4gICAgcmV0dXJuIF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHRoaXMsIF9nZXRQcm90b3R5cGVPZihHbG9iYWxOYXZpZ2F0aW9uKS5hcHBseSh0aGlzLCBhcmd1bWVudHMpKTtcbiAgfVxuXG4gIF9jcmVhdGVDbGFzcyhHbG9iYWxOYXZpZ2F0aW9uLCBbe1xuICAgIGtleTogXCJyZW5kZXJcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gcmVuZGVyKCkge1xuICAgICAgdmFyIF90aGlzJHByb3BzID0gdGhpcy5wcm9wcyxcbiAgICAgICAgICBJdGVtQ29tcG9uZW50ID0gX3RoaXMkcHJvcHMuaXRlbUNvbXBvbmVudCxcbiAgICAgICAgICBwcmltYXJ5SXRlbXMgPSBfdGhpcyRwcm9wcy5wcmltYXJ5SXRlbXMsXG4gICAgICAgICAgc2Vjb25kYXJ5SXRlbXMgPSBfdGhpcyRwcm9wcy5zZWNvbmRhcnlJdGVtcyxcbiAgICAgICAgICB0aGVtZSA9IF90aGlzJHByb3BzLnRoZW1lO1xuICAgICAgdmFyIHdyYXBwZXJTdHlsZXMgPSB0aGVtZS5tb2RlLmdsb2JhbE5hdih7XG4gICAgICAgIHRvcE9mZnNldDogdGhlbWUudG9wT2Zmc2V0XG4gICAgICB9KTtcbiAgICAgIHJldHVybiBfX19FbW90aW9uSlNYKE5hdmlnYXRpb25BbmFseXRpY3NDb250ZXh0LCB7XG4gICAgICAgIGRhdGE6IHtcbiAgICAgICAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgICAgICBuYXZpZ2F0aW9uTGF5ZXI6ICdnbG9iYWwnXG4gICAgICAgICAgfSxcbiAgICAgICAgICBjb21wb25lbnROYW1lOiAnZ2xvYmFsTmF2J1xuICAgICAgICB9XG4gICAgICB9LCBfX19FbW90aW9uSlNYKFwiZGl2XCIsIHtcbiAgICAgICAgY3NzOiB3cmFwcGVyU3R5bGVzXG4gICAgICB9LCBfX19FbW90aW9uSlNYKFByaW1hcnlJdGVtc0xpc3QsIG51bGwsIF9fX0Vtb3Rpb25KU1goTmF2aWdhdGlvbkFuYWx5dGljc0NvbnRleHQsIHtcbiAgICAgICAgZGF0YToge1xuICAgICAgICAgIGF0dHJpYnV0ZXM6IHtcbiAgICAgICAgICAgIG5hdmlnYXRpb25JY29uR3JvdXBpbmc6ICdwcmltYXJ5J1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSwgX19fRW1vdGlvbkpTWChGcmFnbWVudCwgbnVsbCwgcHJpbWFyeUl0ZW1zLm1hcChmdW5jdGlvbiAocHJvcHMsIGluZGV4KSB7XG4gICAgICAgIC8vIFJlbmRlciB0aGUgZmlyc3QgaXRlbSB3aXRoIGEgbWFyZ2luIGJlbmVhdGggaXQgYW5kIGEgbGFyZ2UgaWNvblxuICAgICAgICBpZiAoIWluZGV4KSB7XG4gICAgICAgICAgdmFyIEljb24gPSBwcm9wcy5pY29uLFxuICAgICAgICAgICAgICByZXN0ID0gX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzKHByb3BzLCBbXCJpY29uXCJdKTtcblxuICAgICAgICAgIHJldHVybiBfX19FbW90aW9uSlNYKEZpcnN0UHJpbWFyeUl0ZW1XcmFwcGVyLCB7XG4gICAgICAgICAgICBrZXk6IHByb3BzLmlkXG4gICAgICAgICAgfSwgX19fRW1vdGlvbkpTWChJdGVtQ29tcG9uZW50LCBfZXh0ZW5kcyh7fSwgcmVzdCwge1xuICAgICAgICAgICAgaWNvbjogZnVuY3Rpb24gaWNvbihwcm92aWRlZCkge1xuICAgICAgICAgICAgICByZXR1cm4gX19fRW1vdGlvbkpTWChJY29uLCBfZXh0ZW5kcyh7fSwgcHJvdmlkZWQsIHtcbiAgICAgICAgICAgICAgICBzaXplOiBcImxhcmdlXCJcbiAgICAgICAgICAgICAgfSkpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHNpemU6IFwibGFyZ2VcIixcbiAgICAgICAgICAgIGluZGV4OiBpbmRleFxuICAgICAgICAgIH0pKSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gX19fRW1vdGlvbkpTWChJdGVtQ29tcG9uZW50LCBfZXh0ZW5kcyh7fSwgcHJvcHMsIHtcbiAgICAgICAgICBrZXk6IHByb3BzLmlkLFxuICAgICAgICAgIHNpemU6IFwic21hbGxcIixcbiAgICAgICAgICBpbmRleDogaW5kZXhcbiAgICAgICAgfSkpO1xuICAgICAgfSkpKSksIF9fX0Vtb3Rpb25KU1goU2Vjb25kYXJ5SXRlbXNMaXN0LCBudWxsLCBfX19FbW90aW9uSlNYKE5hdmlnYXRpb25BbmFseXRpY3NDb250ZXh0LCB7XG4gICAgICAgIGRhdGE6IHtcbiAgICAgICAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgICAgICBuYXZpZ2F0aW9uSWNvbkdyb3VwaW5nOiAnc2Vjb25kYXJ5J1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSwgX19fRW1vdGlvbkpTWChGcmFnbWVudCwgbnVsbCwgc2Vjb25kYXJ5SXRlbXMubWFwKGZ1bmN0aW9uIChwcm9wcywgaW5kZXgpIHtcbiAgICAgICAgcmV0dXJuIF9fX0Vtb3Rpb25KU1goSXRlbUNvbXBvbmVudCwgX2V4dGVuZHMoe30sIHByb3BzLCB7XG4gICAgICAgICAga2V5OiBwcm9wcy5pZCxcbiAgICAgICAgICBzaXplOiBcInNtYWxsXCIsXG4gICAgICAgICAgaW5kZXg6IGluZGV4XG4gICAgICAgIH0pKTtcbiAgICAgIH0pKSkpKSk7XG4gICAgfVxuICB9XSk7XG5cbiAgcmV0dXJuIEdsb2JhbE5hdmlnYXRpb247XG59KENvbXBvbmVudCk7XG5cbmV4cG9ydCB7IEdsb2JhbE5hdmlnYXRpb24gYXMgZGVmYXVsdCB9OyJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/GlobalNav/GlobalNavigation.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/GlobalNav/index.js": /*!******************************************************************************************************!*\ !*** ./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/GlobalNav/index.js ***! \******************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return ConnectedGlobalNavigation; });\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ \"./node_modules/@babel/runtime/helpers/classCallCheck.js\");\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\");\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ \"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ \"./node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ \"./node_modules/@babel/runtime/helpers/inherits.js\");\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ \"./node_modules/@babel/runtime/helpers/defineProperty.js\");\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _emotion_core__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @emotion/core */ \"./node_modules/@emotion/core/dist/core.browser.esm.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _theme__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../../theme */ \"./node_modules/@atlaskit/navigation-next/dist/esm/theme/index.js\");\n/* harmony import */ var _GlobalItem__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../GlobalItem */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/GlobalItem/index.js\");\n/* harmony import */ var _GlobalNavigation__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./GlobalNavigation */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/GlobalNav/GlobalNavigation.js\");\n\n\n\n\n\n\n\n\n/**\n * NOTE: This GlobalNavigation is the layout primitive, which will be wrapped by\n * the more opinionated @atlaskit/global-navigation component.\n */\n // eslint-disable-next-line import/no-named-as-default\n\n\n\n\nvar GlobalNavigationWithTheme = Object(_theme__WEBPACK_IMPORTED_MODULE_8__[\"withGlobalTheme\"])(_GlobalNavigation__WEBPACK_IMPORTED_MODULE_10__[\"default\"]);\n\nvar ConnectedGlobalNavigation =\n/*#__PURE__*/\nfunction (_Component) {\n _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4___default()(ConnectedGlobalNavigation, _Component);\n\n function ConnectedGlobalNavigation() {\n _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default()(this, ConnectedGlobalNavigation);\n\n return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2___default()(this, _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3___default()(ConnectedGlobalNavigation).apply(this, arguments));\n }\n\n _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1___default()(ConnectedGlobalNavigation, [{\n key: \"render\",\n value: function render() {\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_6__[\"jsx\"])(GlobalNavigationWithTheme, this.props);\n }\n }]);\n\n return ConnectedGlobalNavigation;\n}(react__WEBPACK_IMPORTED_MODULE_7__[\"Component\"]);\n\n_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_5___default()(ConnectedGlobalNavigation, \"defaultProps\", {\n itemComponent: _GlobalItem__WEBPACK_IMPORTED_MODULE_9__[\"default\"]\n});\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL0dsb2JhbE5hdi9pbmRleC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AYXRsYXNraXQvbmF2aWdhdGlvbi1uZXh0L2Rpc3QvZXNtL2NvbXBvbmVudHMvcHJlc2VudGF0aW9uYWwvR2xvYmFsTmF2L2luZGV4LmpzP2Y5YmYiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IF9jbGFzc0NhbGxDaGVjayBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9jbGFzc0NhbGxDaGVja1wiO1xuaW1wb3J0IF9jcmVhdGVDbGFzcyBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9jcmVhdGVDbGFzc1wiO1xuaW1wb3J0IF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm5cIjtcbmltcG9ydCBfZ2V0UHJvdG90eXBlT2YgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvZ2V0UHJvdG90eXBlT2ZcIjtcbmltcG9ydCBfaW5oZXJpdHMgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvaW5oZXJpdHNcIjtcbmltcG9ydCBfZGVmaW5lUHJvcGVydHkgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvZGVmaW5lUHJvcGVydHlcIjtcbmltcG9ydCB7IGpzeCBhcyBfX19FbW90aW9uSlNYIH0gZnJvbSBcIkBlbW90aW9uL2NvcmVcIjtcblxuLyoqXG4gKiBOT1RFOiBUaGlzIEdsb2JhbE5hdmlnYXRpb24gaXMgdGhlIGxheW91dCBwcmltaXRpdmUsIHdoaWNoIHdpbGwgYmUgd3JhcHBlZCBieVxuICogdGhlIG1vcmUgb3BpbmlvbmF0ZWQgQGF0bGFza2l0L2dsb2JhbC1uYXZpZ2F0aW9uIGNvbXBvbmVudC5cbiAqL1xuaW1wb3J0IFJlYWN0LCB7IENvbXBvbmVudCB9IGZyb20gJ3JlYWN0JzsgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby1uYW1lZC1hcy1kZWZhdWx0XG5cbmltcG9ydCB7IHdpdGhHbG9iYWxUaGVtZSB9IGZyb20gJy4uLy4uLy4uL3RoZW1lJztcbmltcG9ydCBHbG9iYWxJdGVtIGZyb20gJy4uL0dsb2JhbEl0ZW0nO1xuaW1wb3J0IEdsb2JhbE5hdmlnYXRpb24gZnJvbSAnLi9HbG9iYWxOYXZpZ2F0aW9uJztcbnZhciBHbG9iYWxOYXZpZ2F0aW9uV2l0aFRoZW1lID0gd2l0aEdsb2JhbFRoZW1lKEdsb2JhbE5hdmlnYXRpb24pO1xuXG52YXIgQ29ubmVjdGVkR2xvYmFsTmF2aWdhdGlvbiA9XG4vKiNfX1BVUkVfXyovXG5mdW5jdGlvbiAoX0NvbXBvbmVudCkge1xuICBfaW5oZXJpdHMoQ29ubmVjdGVkR2xvYmFsTmF2aWdhdGlvbiwgX0NvbXBvbmVudCk7XG5cbiAgZnVuY3Rpb24gQ29ubmVjdGVkR2xvYmFsTmF2aWdhdGlvbigpIHtcbiAgICBfY2xhc3NDYWxsQ2hlY2sodGhpcywgQ29ubmVjdGVkR2xvYmFsTmF2aWdhdGlvbik7XG5cbiAgICByZXR1cm4gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4odGhpcywgX2dldFByb3RvdHlwZU9mKENvbm5lY3RlZEdsb2JhbE5hdmlnYXRpb24pLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykpO1xuICB9XG5cbiAgX2NyZWF0ZUNsYXNzKENvbm5lY3RlZEdsb2JhbE5hdmlnYXRpb24sIFt7XG4gICAga2V5OiBcInJlbmRlclwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiByZW5kZXIoKSB7XG4gICAgICByZXR1cm4gX19fRW1vdGlvbkpTWChHbG9iYWxOYXZpZ2F0aW9uV2l0aFRoZW1lLCB0aGlzLnByb3BzKTtcbiAgICB9XG4gIH1dKTtcblxuICByZXR1cm4gQ29ubmVjdGVkR2xvYmFsTmF2aWdhdGlvbjtcbn0oQ29tcG9uZW50KTtcblxuX2RlZmluZVByb3BlcnR5KENvbm5lY3RlZEdsb2JhbE5hdmlnYXRpb24sIFwiZGVmYXVsdFByb3BzXCIsIHtcbiAgaXRlbUNvbXBvbmVudDogR2xvYmFsSXRlbVxufSk7XG5cbmV4cG9ydCB7IENvbm5lY3RlZEdsb2JhbE5hdmlnYXRpb24gYXMgZGVmYXVsdCB9OyJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/GlobalNav/index.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/GlobalNav/primitives.js": /*!***********************************************************************************************************!*\ !*** ./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/GlobalNav/primitives.js ***! \***********************************************************************************************************/ /*! exports provided: PrimaryItemsList, FirstPrimaryItemWrapper, SecondaryItemsList */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"PrimaryItemsList\", function() { return PrimaryItemsList; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"FirstPrimaryItemWrapper\", function() { return FirstPrimaryItemWrapper; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SecondaryItemsList\", function() { return SecondaryItemsList; });\n/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/objectSpread */ \"./node_modules/@babel/runtime/helpers/objectSpread.js\");\n/* harmony import */ var _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _emotion_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @emotion/css */ \"./node_modules/@emotion/css/dist/css.browser.esm.js\");\n/* harmony import */ var _emotion_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @emotion/core */ \"./node_modules/@emotion/core/dist/core.browser.esm.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _atlaskit_theme_constants__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @atlaskit/theme/constants */ \"./node_modules/@atlaskit/theme/dist/esm/constants.js\");\n\n\n\n\n\n\nvar gridSize = Object(_atlaskit_theme_constants__WEBPACK_IMPORTED_MODULE_5__[\"gridSize\"])();\nvar listBaseStyles = {\n alignItems: 'center',\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'space-between',\n width: '100%'\n};\nvar PrimaryItemsList = function PrimaryItemsList(props) {\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_3__[\"jsx\"])(\"div\", _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({\n css:\n /*#__PURE__*/\n Object(_emotion_css__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_1___default()({}, listBaseStyles, {\n paddingBottom: gridSize * 2\n }), false ? undefined : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL0dsb2JhbE5hdi9wcmltaXRpdmVzLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWVPIiwiZmlsZSI6Ii4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL0dsb2JhbE5hdi9wcmltaXRpdmVzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHsgZ3JpZFNpemUgYXMgZ3JpZFNpemVGbiB9IGZyb20gJ0BhdGxhc2tpdC90aGVtZS9jb25zdGFudHMnO1xuXG5jb25zdCBncmlkU2l6ZSA9IGdyaWRTaXplRm4oKTtcblxuY29uc3QgbGlzdEJhc2VTdHlsZXMgPSB7XG4gIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICBkaXNwbGF5OiAnZmxleCcsXG4gIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLFxuICBqdXN0aWZ5Q29udGVudDogJ3NwYWNlLWJldHdlZW4nLFxuICB3aWR0aDogJzEwMCUnLFxufTtcblxuZXhwb3J0IGNvbnN0IFByaW1hcnlJdGVtc0xpc3QgPSBwcm9wcyA9PiAoXG4gIDxkaXYgY3NzPXt7IC4uLmxpc3RCYXNlU3R5bGVzLCBwYWRkaW5nQm90dG9tOiBncmlkU2l6ZSAqIDIgfX0gey4uLnByb3BzfSAvPlxuKTtcblxuZXhwb3J0IGNvbnN0IEZpcnN0UHJpbWFyeUl0ZW1XcmFwcGVyID0gcHJvcHMgPT4gKFxuICA8ZGl2IGNzcz17eyBwYWRkaW5nQm90dG9tOiBncmlkU2l6ZSB9fSB7Li4ucHJvcHN9IC8+XG4pO1xuXG5leHBvcnQgY29uc3QgU2Vjb25kYXJ5SXRlbXNMaXN0ID0gcHJvcHMgPT4gKFxuICA8ZGl2XG4gICAgY3NzPXt7XG4gICAgICAuLi5saXN0QmFzZVN0eWxlcyxcbiAgICAgIHBhZGRpbmdUb3A6IGdyaWRTaXplLFxuICAgIH19XG4gICAgey4uLnByb3BzfVxuICAvPlxuKTtcbiJdfQ== */\")\n }, props));\n};\nvar FirstPrimaryItemWrapper = function FirstPrimaryItemWrapper(props) {\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_3__[\"jsx\"])(\"div\", _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({\n css:\n /*#__PURE__*/\n Object(_emotion_css__WEBPACK_IMPORTED_MODULE_2__[\"default\"])({\n paddingBottom: gridSize\n }, false ? undefined : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL0dsb2JhbE5hdi9wcmltaXRpdmVzLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW1CTyIsImZpbGUiOiIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9wcmVzZW50YXRpb25hbC9HbG9iYWxOYXYvcHJpbWl0aXZlcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB7IGdyaWRTaXplIGFzIGdyaWRTaXplRm4gfSBmcm9tICdAYXRsYXNraXQvdGhlbWUvY29uc3RhbnRzJztcblxuY29uc3QgZ3JpZFNpemUgPSBncmlkU2l6ZUZuKCk7XG5cbmNvbnN0IGxpc3RCYXNlU3R5bGVzID0ge1xuICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgZGlzcGxheTogJ2ZsZXgnLFxuICBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJyxcbiAganVzdGlmeUNvbnRlbnQ6ICdzcGFjZS1iZXR3ZWVuJyxcbiAgd2lkdGg6ICcxMDAlJyxcbn07XG5cbmV4cG9ydCBjb25zdCBQcmltYXJ5SXRlbXNMaXN0ID0gcHJvcHMgPT4gKFxuICA8ZGl2IGNzcz17eyAuLi5saXN0QmFzZVN0eWxlcywgcGFkZGluZ0JvdHRvbTogZ3JpZFNpemUgKiAyIH19IHsuLi5wcm9wc30gLz5cbik7XG5cbmV4cG9ydCBjb25zdCBGaXJzdFByaW1hcnlJdGVtV3JhcHBlciA9IHByb3BzID0+IChcbiAgPGRpdiBjc3M9e3sgcGFkZGluZ0JvdHRvbTogZ3JpZFNpemUgfX0gey4uLnByb3BzfSAvPlxuKTtcblxuZXhwb3J0IGNvbnN0IFNlY29uZGFyeUl0ZW1zTGlzdCA9IHByb3BzID0+IChcbiAgPGRpdlxuICAgIGNzcz17e1xuICAgICAgLi4ubGlzdEJhc2VTdHlsZXMsXG4gICAgICBwYWRkaW5nVG9wOiBncmlkU2l6ZSxcbiAgICB9fVxuICAgIHsuLi5wcm9wc31cbiAgLz5cbik7XG4iXX0= */\")\n }, props));\n};\nvar SecondaryItemsList = function SecondaryItemsList(props) {\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_3__[\"jsx\"])(\"div\", _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({\n css:\n /*#__PURE__*/\n Object(_emotion_css__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_1___default()({}, listBaseStyles, {\n paddingTop: gridSize\n }), false ? undefined : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL0dsb2JhbE5hdi9wcmltaXRpdmVzLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXdCSSIsImZpbGUiOiIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9wcmVzZW50YXRpb25hbC9HbG9iYWxOYXYvcHJpbWl0aXZlcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB7IGdyaWRTaXplIGFzIGdyaWRTaXplRm4gfSBmcm9tICdAYXRsYXNraXQvdGhlbWUvY29uc3RhbnRzJztcblxuY29uc3QgZ3JpZFNpemUgPSBncmlkU2l6ZUZuKCk7XG5cbmNvbnN0IGxpc3RCYXNlU3R5bGVzID0ge1xuICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgZGlzcGxheTogJ2ZsZXgnLFxuICBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJyxcbiAganVzdGlmeUNvbnRlbnQ6ICdzcGFjZS1iZXR3ZWVuJyxcbiAgd2lkdGg6ICcxMDAlJyxcbn07XG5cbmV4cG9ydCBjb25zdCBQcmltYXJ5SXRlbXNMaXN0ID0gcHJvcHMgPT4gKFxuICA8ZGl2IGNzcz17eyAuLi5saXN0QmFzZVN0eWxlcywgcGFkZGluZ0JvdHRvbTogZ3JpZFNpemUgKiAyIH19IHsuLi5wcm9wc30gLz5cbik7XG5cbmV4cG9ydCBjb25zdCBGaXJzdFByaW1hcnlJdGVtV3JhcHBlciA9IHByb3BzID0+IChcbiAgPGRpdiBjc3M9e3sgcGFkZGluZ0JvdHRvbTogZ3JpZFNpemUgfX0gey4uLnByb3BzfSAvPlxuKTtcblxuZXhwb3J0IGNvbnN0IFNlY29uZGFyeUl0ZW1zTGlzdCA9IHByb3BzID0+IChcbiAgPGRpdlxuICAgIGNzcz17e1xuICAgICAgLi4ubGlzdEJhc2VTdHlsZXMsXG4gICAgICBwYWRkaW5nVG9wOiBncmlkU2l6ZSxcbiAgICB9fVxuICAgIHsuLi5wcm9wc31cbiAgLz5cbik7XG4iXX0= */\")\n }, props));\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL0dsb2JhbE5hdi9wcmltaXRpdmVzLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BhdGxhc2tpdC9uYXZpZ2F0aW9uLW5leHQvZGlzdC9lc20vY29tcG9uZW50cy9wcmVzZW50YXRpb25hbC9HbG9iYWxOYXYvcHJpbWl0aXZlcy5qcz83ZTgxIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfZXh0ZW5kcyBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9leHRlbmRzXCI7XG5pbXBvcnQgX29iamVjdFNwcmVhZCBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9vYmplY3RTcHJlYWRcIjtcbmltcG9ydCBfY3NzIGZyb20gXCJAZW1vdGlvbi9jc3NcIjtcbmltcG9ydCB7IGpzeCBhcyBfX19FbW90aW9uSlNYIH0gZnJvbSBcIkBlbW90aW9uL2NvcmVcIjtcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBncmlkU2l6ZSBhcyBncmlkU2l6ZUZuIH0gZnJvbSAnQGF0bGFza2l0L3RoZW1lL2NvbnN0YW50cyc7XG52YXIgZ3JpZFNpemUgPSBncmlkU2l6ZUZuKCk7XG52YXIgbGlzdEJhc2VTdHlsZXMgPSB7XG4gIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICBkaXNwbGF5OiAnZmxleCcsXG4gIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLFxuICBqdXN0aWZ5Q29udGVudDogJ3NwYWNlLWJldHdlZW4nLFxuICB3aWR0aDogJzEwMCUnXG59O1xuZXhwb3J0IHZhciBQcmltYXJ5SXRlbXNMaXN0ID0gZnVuY3Rpb24gUHJpbWFyeUl0ZW1zTGlzdChwcm9wcykge1xuICByZXR1cm4gX19fRW1vdGlvbkpTWChcImRpdlwiLCBfZXh0ZW5kcyh7XG4gICAgY3NzOlxuICAgIC8qI19fUFVSRV9fKi9cbiAgICBfY3NzKF9vYmplY3RTcHJlYWQoe30sIGxpc3RCYXNlU3R5bGVzLCB7XG4gICAgICBwYWRkaW5nQm90dG9tOiBncmlkU2l6ZSAqIDJcbiAgICB9KSwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8gXCJcIiA6IFwiLyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWk0dUx5NHVMeTR1THk0dUx5NHVMM055WXk5amIyMXdiMjVsYm5SekwzQnlaWE5sYm5SaGRHbHZibUZzTDBkc2IySmhiRTVoZGk5d2NtbHRhWFJwZG1WekxtcHpJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRV1ZQSWl3aVptbHNaU0k2SWk0dUx5NHVMeTR1THk0dUx5NHVMM055WXk5amIyMXdiMjVsYm5SekwzQnlaWE5sYm5SaGRHbHZibUZzTDBkc2IySmhiRTVoZGk5d2NtbHRhWFJwZG1WekxtcHpJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpYVcxd2IzSjBJRkpsWVdOMElHWnliMjBnSjNKbFlXTjBKenRjYmx4dWFXMXdiM0owSUhzZ1ozSnBaRk5wZW1VZ1lYTWdaM0pwWkZOcGVtVkdiaUI5SUdaeWIyMGdKMEJoZEd4aGMydHBkQzkwYUdWdFpTOWpiMjV6ZEdGdWRITW5PMXh1WEc1amIyNXpkQ0JuY21sa1UybDZaU0E5SUdkeWFXUlRhWHBsUm00b0tUdGNibHh1WTI5dWMzUWdiR2x6ZEVKaGMyVlRkSGxzWlhNZ1BTQjdYRzRnSUdGc2FXZHVTWFJsYlhNNklDZGpaVzUwWlhJbkxGeHVJQ0JrYVhOd2JHRjVPaUFuWm14bGVDY3NYRzRnSUdac1pYaEVhWEpsWTNScGIyNDZJQ2RqYjJ4MWJXNG5MRnh1SUNCcWRYTjBhV1o1UTI5dWRHVnVkRG9nSjNOd1lXTmxMV0psZEhkbFpXNG5MRnh1SUNCM2FXUjBhRG9nSnpFd01DVW5MRnh1ZlR0Y2JseHVaWGh3YjNKMElHTnZibk4wSUZCeWFXMWhjbmxKZEdWdGMweHBjM1FnUFNCd2NtOXdjeUE5UGlBb1hHNGdJRHhrYVhZZ1kzTnpQWHQ3SUM0dUxteHBjM1JDWVhObFUzUjViR1Z6TENCd1lXUmthVzVuUW05MGRHOXRPaUJuY21sa1UybDZaU0FxSURJZ2ZYMGdleTR1TG5CeWIzQnpmU0F2UGx4dUtUdGNibHh1Wlhod2IzSjBJR052Ym5OMElFWnBjbk4wVUhKcGJXRnllVWwwWlcxWGNtRndjR1Z5SUQwZ2NISnZjSE1nUFQ0Z0tGeHVJQ0E4WkdsMklHTnpjejE3ZXlCd1lXUmthVzVuUW05MGRHOXRPaUJuY21sa1UybDZaU0I5ZlNCN0xpNHVjSEp2Y0hOOUlDOCtYRzRwTzF4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnVTJWamIyNWtZWEo1U1hSbGJYTk1hWE4wSUQwZ2NISnZjSE1nUFQ0Z0tGeHVJQ0E4WkdsMlhHNGdJQ0FnWTNOelBYdDdYRzRnSUNBZ0lDQXVMaTVzYVhOMFFtRnpaVk4wZVd4bGN5eGNiaUFnSUNBZ0lIQmhaR1JwYm1kVWIzQTZJR2R5YVdSVGFYcGxMRnh1SUNBZ0lIMTlYRzRnSUNBZ2V5NHVMbkJ5YjNCemZWeHVJQ0F2UGx4dUtUdGNiaUpkZlE9PSAqL1wiKVxuICB9LCBwcm9wcykpO1xufTtcbmV4cG9ydCB2YXIgRmlyc3RQcmltYXJ5SXRlbVdyYXBwZXIgPSBmdW5jdGlvbiBGaXJzdFByaW1hcnlJdGVtV3JhcHBlcihwcm9wcykge1xuICByZXR1cm4gX19fRW1vdGlvbkpTWChcImRpdlwiLCBfZXh0ZW5kcyh7XG4gICAgY3NzOlxuICAgIC8qI19fUFVSRV9fKi9cbiAgICBfY3NzKHtcbiAgICAgIHBhZGRpbmdCb3R0b206IGdyaWRTaXplXG4gICAgfSwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8gXCJcIiA6IFwiLyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWk0dUx5NHVMeTR1THk0dUx5NHVMM055WXk5amIyMXdiMjVsYm5SekwzQnlaWE5sYm5SaGRHbHZibUZzTDBkc2IySmhiRTVoZGk5d2NtbHRhWFJwZG1WekxtcHpJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVzFDVHlJc0ltWnBiR1VpT2lJdUxpOHVMaTh1TGk4dUxpOHVMaTl6Y21NdlkyOXRjRzl1Wlc1MGN5OXdjbVZ6Wlc1MFlYUnBiMjVoYkM5SGJHOWlZV3hPWVhZdmNISnBiV2wwYVhabGN5NXFjeUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSW1sdGNHOXlkQ0JTWldGamRDQm1jbTl0SUNkeVpXRmpkQ2M3WEc1Y2JtbHRjRzl5ZENCN0lHZHlhV1JUYVhwbElHRnpJR2R5YVdSVGFYcGxSbTRnZlNCbWNtOXRJQ2RBWVhSc1lYTnJhWFF2ZEdobGJXVXZZMjl1YzNSaGJuUnpKenRjYmx4dVkyOXVjM1FnWjNKcFpGTnBlbVVnUFNCbmNtbGtVMmw2WlVadUtDazdYRzVjYm1OdmJuTjBJR3hwYzNSQ1lYTmxVM1I1YkdWeklEMGdlMXh1SUNCaGJHbG5ia2wwWlcxek9pQW5ZMlZ1ZEdWeUp5eGNiaUFnWkdsemNHeGhlVG9nSjJac1pYZ25MRnh1SUNCbWJHVjRSR2x5WldOMGFXOXVPaUFuWTI5c2RXMXVKeXhjYmlBZ2FuVnpkR2xtZVVOdmJuUmxiblE2SUNkemNHRmpaUzFpWlhSM1pXVnVKeXhjYmlBZ2QybGtkR2c2SUNjeE1EQWxKeXhjYm4wN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCUWNtbHRZWEo1U1hSbGJYTk1hWE4wSUQwZ2NISnZjSE1nUFQ0Z0tGeHVJQ0E4WkdsMklHTnpjejE3ZXlBdUxpNXNhWE4wUW1GelpWTjBlV3hsY3l3Z2NHRmtaR2x1WjBKdmRIUnZiVG9nWjNKcFpGTnBlbVVnS2lBeUlIMTlJSHN1TGk1d2NtOXdjMzBnTHo1Y2JpazdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQkdhWEp6ZEZCeWFXMWhjbmxKZEdWdFYzSmhjSEJsY2lBOUlIQnliM0J6SUQwK0lDaGNiaUFnUEdScGRpQmpjM005ZTNzZ2NHRmtaR2x1WjBKdmRIUnZiVG9nWjNKcFpGTnBlbVVnZlgwZ2V5NHVMbkJ5YjNCemZTQXZQbHh1S1R0Y2JseHVaWGh3YjNKMElHTnZibk4wSUZObFkyOXVaR0Z5ZVVsMFpXMXpUR2x6ZENBOUlIQnliM0J6SUQwK0lDaGNiaUFnUEdScGRseHVJQ0FnSUdOemN6MTdlMXh1SUNBZ0lDQWdMaTR1YkdsemRFSmhjMlZUZEhsc1pYTXNYRzRnSUNBZ0lDQndZV1JrYVc1blZHOXdPaUJuY21sa1UybDZaU3hjYmlBZ0lDQjlmVnh1SUNBZ0lIc3VMaTV3Y205d2MzMWNiaUFnTHo1Y2JpazdYRzRpWFgwPSAqL1wiKVxuICB9LCBwcm9wcykpO1xufTtcbmV4cG9ydCB2YXIgU2Vjb25kYXJ5SXRlbXNMaXN0ID0gZnVuY3Rpb24gU2Vjb25kYXJ5SXRlbXNMaXN0KHByb3BzKSB7XG4gIHJldHVybiBfX19FbW90aW9uSlNYKFwiZGl2XCIsIF9leHRlbmRzKHtcbiAgICBjc3M6XG4gICAgLyojX19QVVJFX18qL1xuICAgIF9jc3MoX29iamVjdFNwcmVhZCh7fSwgbGlzdEJhc2VTdHlsZXMsIHtcbiAgICAgIHBhZGRpbmdUb3A6IGdyaWRTaXplXG4gICAgfSksIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IFwiXCIgOiBcIi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpNHVMeTR1THk0dUx5NHVMeTR1TDNOeVl5OWpiMjF3YjI1bGJuUnpMM0J5WlhObGJuUmhkR2x2Ym1Gc0wwZHNiMkpoYkU1aGRpOXdjbWx0YVhScGRtVnpMbXB6SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVhkQ1NTSXNJbVpwYkdVaU9pSXVMaTh1TGk4dUxpOHVMaTh1TGk5emNtTXZZMjl0Y0c5dVpXNTBjeTl3Y21WelpXNTBZWFJwYjI1aGJDOUhiRzlpWVd4T1lYWXZjSEpwYldsMGFYWmxjeTVxY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkltbHRjRzl5ZENCU1pXRmpkQ0JtY205dElDZHlaV0ZqZENjN1hHNWNibWx0Y0c5eWRDQjdJR2R5YVdSVGFYcGxJR0Z6SUdkeWFXUlRhWHBsUm00Z2ZTQm1jbTl0SUNkQVlYUnNZWE5yYVhRdmRHaGxiV1V2WTI5dWMzUmhiblJ6Snp0Y2JseHVZMjl1YzNRZ1ozSnBaRk5wZW1VZ1BTQm5jbWxrVTJsNlpVWnVLQ2s3WEc1Y2JtTnZibk4wSUd4cGMzUkNZWE5sVTNSNWJHVnpJRDBnZTF4dUlDQmhiR2xuYmtsMFpXMXpPaUFuWTJWdWRHVnlKeXhjYmlBZ1pHbHpjR3hoZVRvZ0oyWnNaWGduTEZ4dUlDQm1iR1Y0UkdseVpXTjBhVzl1T2lBblkyOXNkVzF1Snl4Y2JpQWdhblZ6ZEdsbWVVTnZiblJsYm5RNklDZHpjR0ZqWlMxaVpYUjNaV1Z1Snl4Y2JpQWdkMmxrZEdnNklDY3hNREFsSnl4Y2JuMDdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQlFjbWx0WVhKNVNYUmxiWE5NYVhOMElEMGdjSEp2Y0hNZ1BUNGdLRnh1SUNBOFpHbDJJR056Y3oxN2V5QXVMaTVzYVhOMFFtRnpaVk4wZVd4bGN5d2djR0ZrWkdsdVowSnZkSFJ2YlRvZ1ozSnBaRk5wZW1VZ0tpQXlJSDE5SUhzdUxpNXdjbTl3YzMwZ0x6NWNiaWs3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JHYVhKemRGQnlhVzFoY25sSmRHVnRWM0poY0hCbGNpQTlJSEJ5YjNCeklEMCtJQ2hjYmlBZ1BHUnBkaUJqYzNNOWUzc2djR0ZrWkdsdVowSnZkSFJ2YlRvZ1ozSnBaRk5wZW1VZ2ZYMGdleTR1TG5CeWIzQnpmU0F2UGx4dUtUdGNibHh1Wlhod2IzSjBJR052Ym5OMElGTmxZMjl1WkdGeWVVbDBaVzF6VEdsemRDQTlJSEJ5YjNCeklEMCtJQ2hjYmlBZ1BHUnBkbHh1SUNBZ0lHTnpjejE3ZTF4dUlDQWdJQ0FnTGk0dWJHbHpkRUpoYzJWVGRIbHNaWE1zWEc0Z0lDQWdJQ0J3WVdSa2FXNW5WRzl3T2lCbmNtbGtVMmw2WlN4Y2JpQWdJQ0I5ZlZ4dUlDQWdJSHN1TGk1d2NtOXdjMzFjYmlBZ0x6NWNiaWs3WEc0aVhYMD0gKi9cIilcbiAgfSwgcHJvcHMpKTtcbn07Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/GlobalNav/primitives.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/GlobalNav/styles.js": /*!*******************************************************************************************************!*\ !*** ./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/GlobalNav/styles.js ***! \*******************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/objectSpread */ \"./node_modules/@babel/runtime/helpers/objectSpread.js\");\n/* harmony import */ var _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _atlaskit_theme_constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @atlaskit/theme/constants */ \"./node_modules/@atlaskit/theme/dist/esm/constants.js\");\n/* harmony import */ var _common_constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../common/constants */ \"./node_modules/@atlaskit/navigation-next/dist/esm/common/constants.js\");\n\n\n\nvar gridSize = Object(_atlaskit_theme_constants__WEBPACK_IMPORTED_MODULE_1__[\"gridSize\"])();\nvar baseStyles = {\n alignItems: 'center',\n boxSizing: 'border-box',\n display: 'flex',\n flexDirection: 'column',\n flexShrink: 0,\n justifyContent: 'space-between',\n paddingBottom: \"calc(\".concat(gridSize * 3 - 4, \"px)\"),\n paddingTop: gridSize * 3,\n transition: 'background-color 0.3s cubic-bezier(0.2, 0, 0, 1), color 0.3s cubic-bezier(0.2, 0, 0, 1)',\n width: _common_constants__WEBPACK_IMPORTED_MODULE_2__[\"GLOBAL_NAV_WIDTH\"]\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (function (_ref) {\n var product = _ref.product;\n return function () {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {\n topOffset: '0'\n },\n topOffset = _ref2.topOffset;\n\n return _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0___default()({}, baseStyles, {\n height: \"calc(100vh - \".concat(topOffset, \"px)\"),\n backgroundColor: product.background.default,\n color: product.text.default,\n fill: product.background.default\n });\n };\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL0dsb2JhbE5hdi9zdHlsZXMuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL0dsb2JhbE5hdi9zdHlsZXMuanM/ZTQ4MSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgX29iamVjdFNwcmVhZCBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9vYmplY3RTcHJlYWRcIjtcbmltcG9ydCB7IGdyaWRTaXplIGFzIGdyaWRTaXplRm4gfSBmcm9tICdAYXRsYXNraXQvdGhlbWUvY29uc3RhbnRzJztcbmltcG9ydCB7IEdMT0JBTF9OQVZfV0lEVEggfSBmcm9tICcuLi8uLi8uLi9jb21tb24vY29uc3RhbnRzJztcbnZhciBncmlkU2l6ZSA9IGdyaWRTaXplRm4oKTtcbnZhciBiYXNlU3R5bGVzID0ge1xuICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgYm94U2l6aW5nOiAnYm9yZGVyLWJveCcsXG4gIGRpc3BsYXk6ICdmbGV4JyxcbiAgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsXG4gIGZsZXhTaHJpbms6IDAsXG4gIGp1c3RpZnlDb250ZW50OiAnc3BhY2UtYmV0d2VlbicsXG4gIHBhZGRpbmdCb3R0b206IFwiY2FsYyhcIi5jb25jYXQoZ3JpZFNpemUgKiAzIC0gNCwgXCJweClcIiksXG4gIHBhZGRpbmdUb3A6IGdyaWRTaXplICogMyxcbiAgdHJhbnNpdGlvbjogJ2JhY2tncm91bmQtY29sb3IgMC4zcyBjdWJpYy1iZXppZXIoMC4yLCAwLCAwLCAxKSwgY29sb3IgMC4zcyBjdWJpYy1iZXppZXIoMC4yLCAwLCAwLCAxKScsXG4gIHdpZHRoOiBHTE9CQUxfTkFWX1dJRFRIXG59O1xuZXhwb3J0IGRlZmF1bHQgKGZ1bmN0aW9uIChfcmVmKSB7XG4gIHZhciBwcm9kdWN0ID0gX3JlZi5wcm9kdWN0O1xuICByZXR1cm4gZnVuY3Rpb24gKCkge1xuICAgIHZhciBfcmVmMiA9IGFyZ3VtZW50cy5sZW5ndGggPiAwICYmIGFyZ3VtZW50c1swXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzBdIDoge1xuICAgICAgdG9wT2Zmc2V0OiAnMCdcbiAgICB9LFxuICAgICAgICB0b3BPZmZzZXQgPSBfcmVmMi50b3BPZmZzZXQ7XG5cbiAgICByZXR1cm4gX29iamVjdFNwcmVhZCh7fSwgYmFzZVN0eWxlcywge1xuICAgICAgaGVpZ2h0OiBcImNhbGMoMTAwdmggLSBcIi5jb25jYXQodG9wT2Zmc2V0LCBcInB4KVwiKSxcbiAgICAgIGJhY2tncm91bmRDb2xvcjogcHJvZHVjdC5iYWNrZ3JvdW5kLmRlZmF1bHQsXG4gICAgICBjb2xvcjogcHJvZHVjdC50ZXh0LmRlZmF1bHQsXG4gICAgICBmaWxsOiBwcm9kdWN0LmJhY2tncm91bmQuZGVmYXVsdFxuICAgIH0pO1xuICB9O1xufSk7Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/GlobalNav/styles.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/GlobalNavigationSkeleton/GlobalNavigationSkeleton.js": /*!****************************************************************************************************************************************!*\ !*** ./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/GlobalNavigationSkeleton/GlobalNavigationSkeleton.js ***! \****************************************************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ \"./node_modules/@babel/runtime/helpers/objectWithoutProperties.js\");\n/* harmony import */ var _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _emotion_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @emotion/core */ \"./node_modules/@emotion/core/dist/core.browser.esm.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _GlobalNavigationSkeletonItem__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./GlobalNavigationSkeletonItem */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/GlobalNavigationSkeleton/GlobalNavigationSkeletonItem.js\");\n/* harmony import */ var _primitives__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./primitives */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/GlobalNavigationSkeleton/primitives.js\");\n\n\n\n\n\n\n\nvar GlobalNavigationSkeleton = function GlobalNavigationSkeleton(props) {\n var dataset = props.dataset,\n theme = props.theme,\n rest = _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1___default()(props, [\"dataset\", \"theme\"]);\n\n var wrapperStyles = theme.mode.globalNav();\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_2__[\"jsx\"])(_primitives__WEBPACK_IMPORTED_MODULE_5__[\"Container\"], _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({\n styles: wrapperStyles\n }, dataset, rest), Object(_emotion_core__WEBPACK_IMPORTED_MODULE_2__[\"jsx\"])(_primitives__WEBPACK_IMPORTED_MODULE_5__[\"PrimaryItemsList\"], null, Object(_emotion_core__WEBPACK_IMPORTED_MODULE_2__[\"jsx\"])(_primitives__WEBPACK_IMPORTED_MODULE_5__[\"FirstPrimaryItemWrapper\"], null, Object(_emotion_core__WEBPACK_IMPORTED_MODULE_2__[\"jsx\"])(_GlobalNavigationSkeletonItem__WEBPACK_IMPORTED_MODULE_4__[\"default\"], null)), Object(_emotion_core__WEBPACK_IMPORTED_MODULE_2__[\"jsx\"])(_GlobalNavigationSkeletonItem__WEBPACK_IMPORTED_MODULE_4__[\"default\"], null), Object(_emotion_core__WEBPACK_IMPORTED_MODULE_2__[\"jsx\"])(_GlobalNavigationSkeletonItem__WEBPACK_IMPORTED_MODULE_4__[\"default\"], null), Object(_emotion_core__WEBPACK_IMPORTED_MODULE_2__[\"jsx\"])(_GlobalNavigationSkeletonItem__WEBPACK_IMPORTED_MODULE_4__[\"default\"], null)), Object(_emotion_core__WEBPACK_IMPORTED_MODULE_2__[\"jsx\"])(_primitives__WEBPACK_IMPORTED_MODULE_5__[\"SecondaryItemsList\"], null, Object(_emotion_core__WEBPACK_IMPORTED_MODULE_2__[\"jsx\"])(_GlobalNavigationSkeletonItem__WEBPACK_IMPORTED_MODULE_4__[\"default\"], null), Object(_emotion_core__WEBPACK_IMPORTED_MODULE_2__[\"jsx\"])(_GlobalNavigationSkeletonItem__WEBPACK_IMPORTED_MODULE_4__[\"default\"], null), Object(_emotion_core__WEBPACK_IMPORTED_MODULE_2__[\"jsx\"])(_GlobalNavigationSkeletonItem__WEBPACK_IMPORTED_MODULE_4__[\"default\"], null), Object(_emotion_core__WEBPACK_IMPORTED_MODULE_2__[\"jsx\"])(_GlobalNavigationSkeletonItem__WEBPACK_IMPORTED_MODULE_4__[\"default\"], null)));\n};\n\nGlobalNavigationSkeleton.defaultProps = {\n dataset: {\n 'data-testid': 'GlobalNavigationSkeleton'\n }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (GlobalNavigationSkeleton);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL0dsb2JhbE5hdmlnYXRpb25Ta2VsZXRvbi9HbG9iYWxOYXZpZ2F0aW9uU2tlbGV0b24uanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL0dsb2JhbE5hdmlnYXRpb25Ta2VsZXRvbi9HbG9iYWxOYXZpZ2F0aW9uU2tlbGV0b24uanM/NjUxMCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgX2V4dGVuZHMgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXh0ZW5kc1wiO1xuaW1wb3J0IF9vYmplY3RXaXRob3V0UHJvcGVydGllcyBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9vYmplY3RXaXRob3V0UHJvcGVydGllc1wiO1xuaW1wb3J0IHsganN4IGFzIF9fX0Vtb3Rpb25KU1ggfSBmcm9tIFwiQGVtb3Rpb24vY29yZVwiO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBHbG9iYWxOYXZpZ2F0aW9uU2tlbGV0b25JdGVtIGZyb20gJy4vR2xvYmFsTmF2aWdhdGlvblNrZWxldG9uSXRlbSc7XG5pbXBvcnQgeyBDb250YWluZXIsIEZpcnN0UHJpbWFyeUl0ZW1XcmFwcGVyLCBQcmltYXJ5SXRlbXNMaXN0LCBTZWNvbmRhcnlJdGVtc0xpc3QgfSBmcm9tICcuL3ByaW1pdGl2ZXMnO1xuXG52YXIgR2xvYmFsTmF2aWdhdGlvblNrZWxldG9uID0gZnVuY3Rpb24gR2xvYmFsTmF2aWdhdGlvblNrZWxldG9uKHByb3BzKSB7XG4gIHZhciBkYXRhc2V0ID0gcHJvcHMuZGF0YXNldCxcbiAgICAgIHRoZW1lID0gcHJvcHMudGhlbWUsXG4gICAgICByZXN0ID0gX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzKHByb3BzLCBbXCJkYXRhc2V0XCIsIFwidGhlbWVcIl0pO1xuXG4gIHZhciB3cmFwcGVyU3R5bGVzID0gdGhlbWUubW9kZS5nbG9iYWxOYXYoKTtcbiAgcmV0dXJuIF9fX0Vtb3Rpb25KU1goQ29udGFpbmVyLCBfZXh0ZW5kcyh7XG4gICAgc3R5bGVzOiB3cmFwcGVyU3R5bGVzXG4gIH0sIGRhdGFzZXQsIHJlc3QpLCBfX19FbW90aW9uSlNYKFByaW1hcnlJdGVtc0xpc3QsIG51bGwsIF9fX0Vtb3Rpb25KU1goRmlyc3RQcmltYXJ5SXRlbVdyYXBwZXIsIG51bGwsIF9fX0Vtb3Rpb25KU1goR2xvYmFsTmF2aWdhdGlvblNrZWxldG9uSXRlbSwgbnVsbCkpLCBfX19FbW90aW9uSlNYKEdsb2JhbE5hdmlnYXRpb25Ta2VsZXRvbkl0ZW0sIG51bGwpLCBfX19FbW90aW9uSlNYKEdsb2JhbE5hdmlnYXRpb25Ta2VsZXRvbkl0ZW0sIG51bGwpLCBfX19FbW90aW9uSlNYKEdsb2JhbE5hdmlnYXRpb25Ta2VsZXRvbkl0ZW0sIG51bGwpKSwgX19fRW1vdGlvbkpTWChTZWNvbmRhcnlJdGVtc0xpc3QsIG51bGwsIF9fX0Vtb3Rpb25KU1goR2xvYmFsTmF2aWdhdGlvblNrZWxldG9uSXRlbSwgbnVsbCksIF9fX0Vtb3Rpb25KU1goR2xvYmFsTmF2aWdhdGlvblNrZWxldG9uSXRlbSwgbnVsbCksIF9fX0Vtb3Rpb25KU1goR2xvYmFsTmF2aWdhdGlvblNrZWxldG9uSXRlbSwgbnVsbCksIF9fX0Vtb3Rpb25KU1goR2xvYmFsTmF2aWdhdGlvblNrZWxldG9uSXRlbSwgbnVsbCkpKTtcbn07XG5cbkdsb2JhbE5hdmlnYXRpb25Ta2VsZXRvbi5kZWZhdWx0UHJvcHMgPSB7XG4gIGRhdGFzZXQ6IHtcbiAgICAnZGF0YS10ZXN0aWQnOiAnR2xvYmFsTmF2aWdhdGlvblNrZWxldG9uJ1xuICB9XG59O1xuZXhwb3J0IGRlZmF1bHQgR2xvYmFsTmF2aWdhdGlvblNrZWxldG9uOyJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/GlobalNavigationSkeleton/GlobalNavigationSkeleton.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/GlobalNavigationSkeleton/GlobalNavigationSkeletonItem.js": /*!********************************************************************************************************************************************!*\ !*** ./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/GlobalNavigationSkeleton/GlobalNavigationSkeletonItem.js ***! \********************************************************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return GlobalNavigationSkeletonItem; });\n/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ \"./node_modules/@babel/runtime/helpers/objectWithoutProperties.js\");\n/* harmony import */ var _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ \"./node_modules/@babel/runtime/helpers/classCallCheck.js\");\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\");\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ \"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ \"./node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ \"./node_modules/@babel/runtime/helpers/inherits.js\");\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ \"./node_modules/@babel/runtime/helpers/defineProperty.js\");\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @babel/runtime/helpers/objectSpread */ \"./node_modules/@babel/runtime/helpers/objectSpread.js\");\n/* harmony import */ var _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var _emotion_core__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @emotion/core */ \"./node_modules/@emotion/core/dist/core.browser.esm.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_10__);\n/* harmony import */ var _atlaskit_theme_constants__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @atlaskit/theme/constants */ \"./node_modules/@atlaskit/theme/dist/esm/constants.js\");\n/* harmony import */ var _theme__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../../theme */ \"./node_modules/@atlaskit/navigation-next/dist/esm/theme/index.js\");\n/* harmony import */ var _SkeletonItem__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../SkeletonItem */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/SkeletonItem/index.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar gridSize = Object(_atlaskit_theme_constants__WEBPACK_IMPORTED_MODULE_11__[\"gridSize\"])();\n\nvar modifyStyles = function modifyStyles(defaultStyles) {\n return _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_8___default()({}, defaultStyles, {\n wrapper: _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_8___default()({}, defaultStyles.wrapper, {\n height: \"\".concat(gridSize * 4.75, \"px\"),\n paddingLeft: gridSize / 2,\n paddingRight: gridSize / 2\n }),\n before: _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_8___default()({}, defaultStyles.before, {\n height: gridSize * 3,\n marginRight: 0,\n width: gridSize * 3\n })\n });\n};\n\nvar GlobalNavigationSkeletonItem =\n/*#__PURE__*/\nfunction (_PureComponent) {\n _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_6___default()(GlobalNavigationSkeletonItem, _PureComponent);\n\n function GlobalNavigationSkeletonItem() {\n _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2___default()(this, GlobalNavigationSkeletonItem);\n\n return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4___default()(this, _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5___default()(GlobalNavigationSkeletonItem).apply(this, arguments));\n }\n\n _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3___default()(GlobalNavigationSkeletonItem, [{\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n styleReducer = _this$props.styles,\n props = _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1___default()(_this$props, [\"styles\"]); // We modify the SkeletonItem styles ourselves, then allow the consumer to\n // modify these if they want to.\n\n\n var patchedStyles = function patchedStyles(defaultStyles) {\n return styleReducer(modifyStyles(defaultStyles));\n };\n\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_9__[\"jsx\"])(_SkeletonItem__WEBPACK_IMPORTED_MODULE_13__[\"default\"], _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({}, props, {\n styles: patchedStyles\n }));\n }\n }]);\n\n return GlobalNavigationSkeletonItem;\n}(react__WEBPACK_IMPORTED_MODULE_10__[\"PureComponent\"]);\n\n_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_7___default()(GlobalNavigationSkeletonItem, \"defaultProps\", {\n hasBefore: true,\n styles: _theme__WEBPACK_IMPORTED_MODULE_12__[\"styleReducerNoOp\"]\n});\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL0dsb2JhbE5hdmlnYXRpb25Ta2VsZXRvbi9HbG9iYWxOYXZpZ2F0aW9uU2tlbGV0b25JdGVtLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BhdGxhc2tpdC9uYXZpZ2F0aW9uLW5leHQvZGlzdC9lc20vY29tcG9uZW50cy9wcmVzZW50YXRpb25hbC9HbG9iYWxOYXZpZ2F0aW9uU2tlbGV0b24vR2xvYmFsTmF2aWdhdGlvblNrZWxldG9uSXRlbS5qcz8xN2VkIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfZXh0ZW5kcyBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9leHRlbmRzXCI7XG5pbXBvcnQgX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzXCI7XG5pbXBvcnQgX2NsYXNzQ2FsbENoZWNrIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2NsYXNzQ2FsbENoZWNrXCI7XG5pbXBvcnQgX2NyZWF0ZUNsYXNzIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2NyZWF0ZUNsYXNzXCI7XG5pbXBvcnQgX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4gZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvcG9zc2libGVDb25zdHJ1Y3RvclJldHVyblwiO1xuaW1wb3J0IF9nZXRQcm90b3R5cGVPZiBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9nZXRQcm90b3R5cGVPZlwiO1xuaW1wb3J0IF9pbmhlcml0cyBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9pbmhlcml0c1wiO1xuaW1wb3J0IF9kZWZpbmVQcm9wZXJ0eSBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9kZWZpbmVQcm9wZXJ0eVwiO1xuaW1wb3J0IF9vYmplY3RTcHJlYWQgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvb2JqZWN0U3ByZWFkXCI7XG5pbXBvcnQgeyBqc3ggYXMgX19fRW1vdGlvbkpTWCB9IGZyb20gXCJAZW1vdGlvbi9jb3JlXCI7XG5pbXBvcnQgUmVhY3QsIHsgUHVyZUNvbXBvbmVudCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGdyaWRTaXplIGFzIGdyaWRTaXplRm4gfSBmcm9tICdAYXRsYXNraXQvdGhlbWUvY29uc3RhbnRzJztcbmltcG9ydCB7IHN0eWxlUmVkdWNlck5vT3AgfSBmcm9tICcuLi8uLi8uLi90aGVtZSc7XG5pbXBvcnQgU2tlbGV0b25JdGVtIGZyb20gJy4uL1NrZWxldG9uSXRlbSc7XG52YXIgZ3JpZFNpemUgPSBncmlkU2l6ZUZuKCk7XG5cbnZhciBtb2RpZnlTdHlsZXMgPSBmdW5jdGlvbiBtb2RpZnlTdHlsZXMoZGVmYXVsdFN0eWxlcykge1xuICByZXR1cm4gX29iamVjdFNwcmVhZCh7fSwgZGVmYXVsdFN0eWxlcywge1xuICAgIHdyYXBwZXI6IF9vYmplY3RTcHJlYWQoe30sIGRlZmF1bHRTdHlsZXMud3JhcHBlciwge1xuICAgICAgaGVpZ2h0OiBcIlwiLmNvbmNhdChncmlkU2l6ZSAqIDQuNzUsIFwicHhcIiksXG4gICAgICBwYWRkaW5nTGVmdDogZ3JpZFNpemUgLyAyLFxuICAgICAgcGFkZGluZ1JpZ2h0OiBncmlkU2l6ZSAvIDJcbiAgICB9KSxcbiAgICBiZWZvcmU6IF9vYmplY3RTcHJlYWQoe30sIGRlZmF1bHRTdHlsZXMuYmVmb3JlLCB7XG4gICAgICBoZWlnaHQ6IGdyaWRTaXplICogMyxcbiAgICAgIG1hcmdpblJpZ2h0OiAwLFxuICAgICAgd2lkdGg6IGdyaWRTaXplICogM1xuICAgIH0pXG4gIH0pO1xufTtcblxudmFyIEdsb2JhbE5hdmlnYXRpb25Ta2VsZXRvbkl0ZW0gPVxuLyojX19QVVJFX18qL1xuZnVuY3Rpb24gKF9QdXJlQ29tcG9uZW50KSB7XG4gIF9pbmhlcml0cyhHbG9iYWxOYXZpZ2F0aW9uU2tlbGV0b25JdGVtLCBfUHVyZUNvbXBvbmVudCk7XG5cbiAgZnVuY3Rpb24gR2xvYmFsTmF2aWdhdGlvblNrZWxldG9uSXRlbSgpIHtcbiAgICBfY2xhc3NDYWxsQ2hlY2sodGhpcywgR2xvYmFsTmF2aWdhdGlvblNrZWxldG9uSXRlbSk7XG5cbiAgICByZXR1cm4gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4odGhpcywgX2dldFByb3RvdHlwZU9mKEdsb2JhbE5hdmlnYXRpb25Ta2VsZXRvbkl0ZW0pLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykpO1xuICB9XG5cbiAgX2NyZWF0ZUNsYXNzKEdsb2JhbE5hdmlnYXRpb25Ta2VsZXRvbkl0ZW0sIFt7XG4gICAga2V5OiBcInJlbmRlclwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiByZW5kZXIoKSB7XG4gICAgICB2YXIgX3RoaXMkcHJvcHMgPSB0aGlzLnByb3BzLFxuICAgICAgICAgIHN0eWxlUmVkdWNlciA9IF90aGlzJHByb3BzLnN0eWxlcyxcbiAgICAgICAgICBwcm9wcyA9IF9vYmplY3RXaXRob3V0UHJvcGVydGllcyhfdGhpcyRwcm9wcywgW1wic3R5bGVzXCJdKTsgLy8gV2UgbW9kaWZ5IHRoZSBTa2VsZXRvbkl0ZW0gc3R5bGVzIG91cnNlbHZlcywgdGhlbiBhbGxvdyB0aGUgY29uc3VtZXIgdG9cbiAgICAgIC8vIG1vZGlmeSB0aGVzZSBpZiB0aGV5IHdhbnQgdG8uXG5cblxuICAgICAgdmFyIHBhdGNoZWRTdHlsZXMgPSBmdW5jdGlvbiBwYXRjaGVkU3R5bGVzKGRlZmF1bHRTdHlsZXMpIHtcbiAgICAgICAgcmV0dXJuIHN0eWxlUmVkdWNlcihtb2RpZnlTdHlsZXMoZGVmYXVsdFN0eWxlcykpO1xuICAgICAgfTtcblxuICAgICAgcmV0dXJuIF9fX0Vtb3Rpb25KU1goU2tlbGV0b25JdGVtLCBfZXh0ZW5kcyh7fSwgcHJvcHMsIHtcbiAgICAgICAgc3R5bGVzOiBwYXRjaGVkU3R5bGVzXG4gICAgICB9KSk7XG4gICAgfVxuICB9XSk7XG5cbiAgcmV0dXJuIEdsb2JhbE5hdmlnYXRpb25Ta2VsZXRvbkl0ZW07XG59KFB1cmVDb21wb25lbnQpO1xuXG5fZGVmaW5lUHJvcGVydHkoR2xvYmFsTmF2aWdhdGlvblNrZWxldG9uSXRlbSwgXCJkZWZhdWx0UHJvcHNcIiwge1xuICBoYXNCZWZvcmU6IHRydWUsXG4gIHN0eWxlczogc3R5bGVSZWR1Y2VyTm9PcFxufSk7XG5cbmV4cG9ydCB7IEdsb2JhbE5hdmlnYXRpb25Ta2VsZXRvbkl0ZW0gYXMgZGVmYXVsdCB9OyJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/GlobalNavigationSkeleton/GlobalNavigationSkeletonItem.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/GlobalNavigationSkeleton/index.js": /*!*********************************************************************************************************************!*\ !*** ./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/GlobalNavigationSkeleton/index.js ***! \*********************************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/objectSpread */ \"./node_modules/@babel/runtime/helpers/objectSpread.js\");\n/* harmony import */ var _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _emotion_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @emotion/core */ \"./node_modules/@emotion/core/dist/core.browser.esm.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _theme__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../theme */ \"./node_modules/@atlaskit/navigation-next/dist/esm/theme/index.js\");\n/* harmony import */ var _GlobalNavigationSkeleton__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./GlobalNavigationSkeleton */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/GlobalNavigationSkeleton/GlobalNavigationSkeleton.js\");\n\n\n\n\n\nvar GlobalNavigationSkeletonWithGlobalTheme = Object(_theme__WEBPACK_IMPORTED_MODULE_3__[\"withGlobalTheme\"])(_GlobalNavigationSkeleton__WEBPACK_IMPORTED_MODULE_4__[\"default\"]);\n\nvar GlobalNavigationSkeleton = function GlobalNavigationSkeleton(props) {\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_1__[\"jsx\"])(_theme__WEBPACK_IMPORTED_MODULE_3__[\"ThemeProvider\"], {\n theme: function theme(ancestorTheme) {\n return _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0___default()({\n mode: _theme__WEBPACK_IMPORTED_MODULE_3__[\"light\"]\n }, ancestorTheme, {\n context: 'product'\n });\n }\n }, Object(_emotion_core__WEBPACK_IMPORTED_MODULE_1__[\"jsx\"])(GlobalNavigationSkeletonWithGlobalTheme, props));\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (GlobalNavigationSkeleton);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL0dsb2JhbE5hdmlnYXRpb25Ta2VsZXRvbi9pbmRleC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AYXRsYXNraXQvbmF2aWdhdGlvbi1uZXh0L2Rpc3QvZXNtL2NvbXBvbmVudHMvcHJlc2VudGF0aW9uYWwvR2xvYmFsTmF2aWdhdGlvblNrZWxldG9uL2luZGV4LmpzPzVjNTYiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IF9vYmplY3RTcHJlYWQgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvb2JqZWN0U3ByZWFkXCI7XG5pbXBvcnQgeyBqc3ggYXMgX19fRW1vdGlvbkpTWCB9IGZyb20gXCJAZW1vdGlvbi9jb3JlXCI7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgbGlnaHQsIFRoZW1lUHJvdmlkZXIsIHdpdGhHbG9iYWxUaGVtZSB9IGZyb20gJy4uLy4uLy4uL3RoZW1lJztcbmltcG9ydCBCYXNlR2xvYmFsTmF2aWdhdGlvblNrZWxldG9uIGZyb20gJy4vR2xvYmFsTmF2aWdhdGlvblNrZWxldG9uJztcbnZhciBHbG9iYWxOYXZpZ2F0aW9uU2tlbGV0b25XaXRoR2xvYmFsVGhlbWUgPSB3aXRoR2xvYmFsVGhlbWUoQmFzZUdsb2JhbE5hdmlnYXRpb25Ta2VsZXRvbik7XG5cbnZhciBHbG9iYWxOYXZpZ2F0aW9uU2tlbGV0b24gPSBmdW5jdGlvbiBHbG9iYWxOYXZpZ2F0aW9uU2tlbGV0b24ocHJvcHMpIHtcbiAgcmV0dXJuIF9fX0Vtb3Rpb25KU1goVGhlbWVQcm92aWRlciwge1xuICAgIHRoZW1lOiBmdW5jdGlvbiB0aGVtZShhbmNlc3RvclRoZW1lKSB7XG4gICAgICByZXR1cm4gX29iamVjdFNwcmVhZCh7XG4gICAgICAgIG1vZGU6IGxpZ2h0XG4gICAgICB9LCBhbmNlc3RvclRoZW1lLCB7XG4gICAgICAgIGNvbnRleHQ6ICdwcm9kdWN0J1xuICAgICAgfSk7XG4gICAgfVxuICB9LCBfX19FbW90aW9uSlNYKEdsb2JhbE5hdmlnYXRpb25Ta2VsZXRvbldpdGhHbG9iYWxUaGVtZSwgcHJvcHMpKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IEdsb2JhbE5hdmlnYXRpb25Ta2VsZXRvbjsiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/GlobalNavigationSkeleton/index.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/GlobalNavigationSkeleton/primitives.js": /*!**************************************************************************************************************************!*\ !*** ./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/GlobalNavigationSkeleton/primitives.js ***! \**************************************************************************************************************************/ /*! exports provided: Container, PrimaryItemsList, FirstPrimaryItemWrapper, SecondaryItemsList */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Container\", function() { return Container; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"PrimaryItemsList\", function() { return PrimaryItemsList; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"FirstPrimaryItemWrapper\", function() { return FirstPrimaryItemWrapper; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SecondaryItemsList\", function() { return SecondaryItemsList; });\n/* harmony import */ var _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/objectSpread */ \"./node_modules/@babel/runtime/helpers/objectSpread.js\");\n/* harmony import */ var _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _emotion_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @emotion/css */ \"./node_modules/@emotion/css/dist/css.browser.esm.js\");\n/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ \"./node_modules/@babel/runtime/helpers/objectWithoutProperties.js\");\n/* harmony import */ var _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _emotion_core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @emotion/core */ \"./node_modules/@emotion/core/dist/core.browser.esm.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _atlaskit_theme_constants__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @atlaskit/theme/constants */ \"./node_modules/@atlaskit/theme/dist/esm/constants.js\");\n\n\n\n\n\n\n\nvar gridSize = Object(_atlaskit_theme_constants__WEBPACK_IMPORTED_MODULE_6__[\"gridSize\"])();\nvar listBaseStyles = {\n alignItems: 'center',\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'space-between',\n width: '100%'\n};\nvar Container = function Container(props) {\n var styles = props.styles,\n rest = _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_3___default()(props, [\"styles\"]);\n\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_4__[\"jsx\"])(\"div\", _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_2___default()({\n css: styles\n }, rest));\n};\nvar PrimaryItemsList = function PrimaryItemsList(props) {\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_4__[\"jsx\"])(\"div\", _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_2___default()({\n css:\n /*#__PURE__*/\n Object(_emotion_css__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(_babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0___default()({}, listBaseStyles, {\n paddingBottom: gridSize * 2\n }), false ? undefined : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL0dsb2JhbE5hdmlnYXRpb25Ta2VsZXRvbi9wcmltaXRpdmVzLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW9CTyIsImZpbGUiOiIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9wcmVzZW50YXRpb25hbC9HbG9iYWxOYXZpZ2F0aW9uU2tlbGV0b24vcHJpbWl0aXZlcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB7IGdyaWRTaXplIGFzIGdyaWRTaXplRm4gfSBmcm9tICdAYXRsYXNraXQvdGhlbWUvY29uc3RhbnRzJztcblxuY29uc3QgZ3JpZFNpemUgPSBncmlkU2l6ZUZuKCk7XG5cbmNvbnN0IGxpc3RCYXNlU3R5bGVzID0ge1xuICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgZGlzcGxheTogJ2ZsZXgnLFxuICBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJyxcbiAganVzdGlmeUNvbnRlbnQ6ICdzcGFjZS1iZXR3ZWVuJyxcbiAgd2lkdGg6ICcxMDAlJyxcbn07XG5cbmV4cG9ydCBjb25zdCBDb250YWluZXIgPSBwcm9wcyA9PiB7XG4gIGNvbnN0IHsgc3R5bGVzLCAuLi5yZXN0IH0gPSBwcm9wcztcbiAgcmV0dXJuIDxkaXYgY3NzPXtzdHlsZXN9IHsuLi5yZXN0fSAvPjtcbn07XG5cbmV4cG9ydCBjb25zdCBQcmltYXJ5SXRlbXNMaXN0ID0gcHJvcHMgPT4gKFxuICA8ZGl2IGNzcz17eyAuLi5saXN0QmFzZVN0eWxlcywgcGFkZGluZ0JvdHRvbTogZ3JpZFNpemUgKiAyIH19IHsuLi5wcm9wc30gLz5cbik7XG5cbmV4cG9ydCBjb25zdCBGaXJzdFByaW1hcnlJdGVtV3JhcHBlciA9IHByb3BzID0+IChcbiAgPGRpdiBjc3M9e3sgcGFkZGluZ0JvdHRvbTogZ3JpZFNpemUgKiAxLjc1IH19IHsuLi5wcm9wc30gLz5cbik7XG5cbmV4cG9ydCBjb25zdCBTZWNvbmRhcnlJdGVtc0xpc3QgPSBwcm9wcyA9PiAoXG4gIDxkaXZcbiAgICBjc3M9e3tcbiAgICAgIC4uLmxpc3RCYXNlU3R5bGVzLFxuICAgICAgcGFkZGluZ1RvcDogZ3JpZFNpemUsXG4gICAgfX1cbiAgICB7Li4ucHJvcHN9XG4gIC8+XG4pO1xuIl19 */\")\n }, props));\n};\nvar FirstPrimaryItemWrapper = function FirstPrimaryItemWrapper(props) {\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_4__[\"jsx\"])(\"div\", _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_2___default()({\n css:\n /*#__PURE__*/\n Object(_emotion_css__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n paddingBottom: gridSize * 1.75\n }, false ? undefined : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL0dsb2JhbE5hdmlnYXRpb25Ta2VsZXRvbi9wcmltaXRpdmVzLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXdCTyIsImZpbGUiOiIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9wcmVzZW50YXRpb25hbC9HbG9iYWxOYXZpZ2F0aW9uU2tlbGV0b24vcHJpbWl0aXZlcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB7IGdyaWRTaXplIGFzIGdyaWRTaXplRm4gfSBmcm9tICdAYXRsYXNraXQvdGhlbWUvY29uc3RhbnRzJztcblxuY29uc3QgZ3JpZFNpemUgPSBncmlkU2l6ZUZuKCk7XG5cbmNvbnN0IGxpc3RCYXNlU3R5bGVzID0ge1xuICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgZGlzcGxheTogJ2ZsZXgnLFxuICBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJyxcbiAganVzdGlmeUNvbnRlbnQ6ICdzcGFjZS1iZXR3ZWVuJyxcbiAgd2lkdGg6ICcxMDAlJyxcbn07XG5cbmV4cG9ydCBjb25zdCBDb250YWluZXIgPSBwcm9wcyA9PiB7XG4gIGNvbnN0IHsgc3R5bGVzLCAuLi5yZXN0IH0gPSBwcm9wcztcbiAgcmV0dXJuIDxkaXYgY3NzPXtzdHlsZXN9IHsuLi5yZXN0fSAvPjtcbn07XG5cbmV4cG9ydCBjb25zdCBQcmltYXJ5SXRlbXNMaXN0ID0gcHJvcHMgPT4gKFxuICA8ZGl2IGNzcz17eyAuLi5saXN0QmFzZVN0eWxlcywgcGFkZGluZ0JvdHRvbTogZ3JpZFNpemUgKiAyIH19IHsuLi5wcm9wc30gLz5cbik7XG5cbmV4cG9ydCBjb25zdCBGaXJzdFByaW1hcnlJdGVtV3JhcHBlciA9IHByb3BzID0+IChcbiAgPGRpdiBjc3M9e3sgcGFkZGluZ0JvdHRvbTogZ3JpZFNpemUgKiAxLjc1IH19IHsuLi5wcm9wc30gLz5cbik7XG5cbmV4cG9ydCBjb25zdCBTZWNvbmRhcnlJdGVtc0xpc3QgPSBwcm9wcyA9PiAoXG4gIDxkaXZcbiAgICBjc3M9e3tcbiAgICAgIC4uLmxpc3RCYXNlU3R5bGVzLFxuICAgICAgcGFkZGluZ1RvcDogZ3JpZFNpemUsXG4gICAgfX1cbiAgICB7Li4ucHJvcHN9XG4gIC8+XG4pO1xuIl19 */\")\n }, props));\n};\nvar SecondaryItemsList = function SecondaryItemsList(props) {\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_4__[\"jsx\"])(\"div\", _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_2___default()({\n css:\n /*#__PURE__*/\n Object(_emotion_css__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(_babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0___default()({}, listBaseStyles, {\n paddingTop: gridSize\n }), false ? undefined : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL0dsb2JhbE5hdmlnYXRpb25Ta2VsZXRvbi9wcmltaXRpdmVzLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTZCSSIsImZpbGUiOiIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9wcmVzZW50YXRpb25hbC9HbG9iYWxOYXZpZ2F0aW9uU2tlbGV0b24vcHJpbWl0aXZlcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB7IGdyaWRTaXplIGFzIGdyaWRTaXplRm4gfSBmcm9tICdAYXRsYXNraXQvdGhlbWUvY29uc3RhbnRzJztcblxuY29uc3QgZ3JpZFNpemUgPSBncmlkU2l6ZUZuKCk7XG5cbmNvbnN0IGxpc3RCYXNlU3R5bGVzID0ge1xuICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgZGlzcGxheTogJ2ZsZXgnLFxuICBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJyxcbiAganVzdGlmeUNvbnRlbnQ6ICdzcGFjZS1iZXR3ZWVuJyxcbiAgd2lkdGg6ICcxMDAlJyxcbn07XG5cbmV4cG9ydCBjb25zdCBDb250YWluZXIgPSBwcm9wcyA9PiB7XG4gIGNvbnN0IHsgc3R5bGVzLCAuLi5yZXN0IH0gPSBwcm9wcztcbiAgcmV0dXJuIDxkaXYgY3NzPXtzdHlsZXN9IHsuLi5yZXN0fSAvPjtcbn07XG5cbmV4cG9ydCBjb25zdCBQcmltYXJ5SXRlbXNMaXN0ID0gcHJvcHMgPT4gKFxuICA8ZGl2IGNzcz17eyAuLi5saXN0QmFzZVN0eWxlcywgcGFkZGluZ0JvdHRvbTogZ3JpZFNpemUgKiAyIH19IHsuLi5wcm9wc30gLz5cbik7XG5cbmV4cG9ydCBjb25zdCBGaXJzdFByaW1hcnlJdGVtV3JhcHBlciA9IHByb3BzID0+IChcbiAgPGRpdiBjc3M9e3sgcGFkZGluZ0JvdHRvbTogZ3JpZFNpemUgKiAxLjc1IH19IHsuLi5wcm9wc30gLz5cbik7XG5cbmV4cG9ydCBjb25zdCBTZWNvbmRhcnlJdGVtc0xpc3QgPSBwcm9wcyA9PiAoXG4gIDxkaXZcbiAgICBjc3M9e3tcbiAgICAgIC4uLmxpc3RCYXNlU3R5bGVzLFxuICAgICAgcGFkZGluZ1RvcDogZ3JpZFNpemUsXG4gICAgfX1cbiAgICB7Li4ucHJvcHN9XG4gIC8+XG4pO1xuIl19 */\")\n }, props));\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL0dsb2JhbE5hdmlnYXRpb25Ta2VsZXRvbi9wcmltaXRpdmVzLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BhdGxhc2tpdC9uYXZpZ2F0aW9uLW5leHQvZGlzdC9lc20vY29tcG9uZW50cy9wcmVzZW50YXRpb25hbC9HbG9iYWxOYXZpZ2F0aW9uU2tlbGV0b24vcHJpbWl0aXZlcy5qcz8yNGJmIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfb2JqZWN0U3ByZWFkIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL29iamVjdFNwcmVhZFwiO1xuaW1wb3J0IF9jc3MgZnJvbSBcIkBlbW90aW9uL2Nzc1wiO1xuaW1wb3J0IF9leHRlbmRzIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2V4dGVuZHNcIjtcbmltcG9ydCBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvb2JqZWN0V2l0aG91dFByb3BlcnRpZXNcIjtcbmltcG9ydCB7IGpzeCBhcyBfX19FbW90aW9uSlNYIH0gZnJvbSBcIkBlbW90aW9uL2NvcmVcIjtcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBncmlkU2l6ZSBhcyBncmlkU2l6ZUZuIH0gZnJvbSAnQGF0bGFza2l0L3RoZW1lL2NvbnN0YW50cyc7XG52YXIgZ3JpZFNpemUgPSBncmlkU2l6ZUZuKCk7XG52YXIgbGlzdEJhc2VTdHlsZXMgPSB7XG4gIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICBkaXNwbGF5OiAnZmxleCcsXG4gIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLFxuICBqdXN0aWZ5Q29udGVudDogJ3NwYWNlLWJldHdlZW4nLFxuICB3aWR0aDogJzEwMCUnXG59O1xuZXhwb3J0IHZhciBDb250YWluZXIgPSBmdW5jdGlvbiBDb250YWluZXIocHJvcHMpIHtcbiAgdmFyIHN0eWxlcyA9IHByb3BzLnN0eWxlcyxcbiAgICAgIHJlc3QgPSBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMocHJvcHMsIFtcInN0eWxlc1wiXSk7XG5cbiAgcmV0dXJuIF9fX0Vtb3Rpb25KU1goXCJkaXZcIiwgX2V4dGVuZHMoe1xuICAgIGNzczogc3R5bGVzXG4gIH0sIHJlc3QpKTtcbn07XG5leHBvcnQgdmFyIFByaW1hcnlJdGVtc0xpc3QgPSBmdW5jdGlvbiBQcmltYXJ5SXRlbXNMaXN0KHByb3BzKSB7XG4gIHJldHVybiBfX19FbW90aW9uSlNYKFwiZGl2XCIsIF9leHRlbmRzKHtcbiAgICBjc3M6XG4gICAgLyojX19QVVJFX18qL1xuICAgIF9jc3MoX29iamVjdFNwcmVhZCh7fSwgbGlzdEJhc2VTdHlsZXMsIHtcbiAgICAgIHBhZGRpbmdCb3R0b206IGdyaWRTaXplICogMlxuICAgIH0pLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyBcIlwiIDogXCIvKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJaTR1THk0dUx5NHVMeTR1THk0dUwzTnlZeTlqYjIxd2IyNWxiblJ6TDNCeVpYTmxiblJoZEdsdmJtRnNMMGRzYjJKaGJFNWhkbWxuWVhScGIyNVRhMlZzWlhSdmJpOXdjbWx0YVhScGRtVnpMbXB6SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVc5Q1R5SXNJbVpwYkdVaU9pSXVMaTh1TGk4dUxpOHVMaTh1TGk5emNtTXZZMjl0Y0c5dVpXNTBjeTl3Y21WelpXNTBZWFJwYjI1aGJDOUhiRzlpWVd4T1lYWnBaMkYwYVc5dVUydGxiR1YwYjI0dmNISnBiV2wwYVhabGN5NXFjeUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSW1sdGNHOXlkQ0JTWldGamRDQm1jbTl0SUNkeVpXRmpkQ2M3WEc1Y2JtbHRjRzl5ZENCN0lHZHlhV1JUYVhwbElHRnpJR2R5YVdSVGFYcGxSbTRnZlNCbWNtOXRJQ2RBWVhSc1lYTnJhWFF2ZEdobGJXVXZZMjl1YzNSaGJuUnpKenRjYmx4dVkyOXVjM1FnWjNKcFpGTnBlbVVnUFNCbmNtbGtVMmw2WlVadUtDazdYRzVjYm1OdmJuTjBJR3hwYzNSQ1lYTmxVM1I1YkdWeklEMGdlMXh1SUNCaGJHbG5ia2wwWlcxek9pQW5ZMlZ1ZEdWeUp5eGNiaUFnWkdsemNHeGhlVG9nSjJac1pYZ25MRnh1SUNCbWJHVjRSR2x5WldOMGFXOXVPaUFuWTI5c2RXMXVKeXhjYmlBZ2FuVnpkR2xtZVVOdmJuUmxiblE2SUNkemNHRmpaUzFpWlhSM1pXVnVKeXhjYmlBZ2QybGtkR2c2SUNjeE1EQWxKeXhjYm4wN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCRGIyNTBZV2x1WlhJZ1BTQndjbTl3Y3lBOVBpQjdYRzRnSUdOdmJuTjBJSHNnYzNSNWJHVnpMQ0F1TGk1eVpYTjBJSDBnUFNCd2NtOXdjenRjYmlBZ2NtVjBkWEp1SUR4a2FYWWdZM056UFh0emRIbHNaWE45SUhzdUxpNXlaWE4wZlNBdlBqdGNibjA3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JRY21sdFlYSjVTWFJsYlhOTWFYTjBJRDBnY0hKdmNITWdQVDRnS0Z4dUlDQThaR2wySUdOemN6MTdleUF1TGk1c2FYTjBRbUZ6WlZOMGVXeGxjeXdnY0dGa1pHbHVaMEp2ZEhSdmJUb2daM0pwWkZOcGVtVWdLaUF5SUgxOUlIc3VMaTV3Y205d2MzMGdMejVjYmlrN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCR2FYSnpkRkJ5YVcxaGNubEpkR1Z0VjNKaGNIQmxjaUE5SUhCeWIzQnpJRDArSUNoY2JpQWdQR1JwZGlCamMzTTllM3NnY0dGa1pHbHVaMEp2ZEhSdmJUb2daM0pwWkZOcGVtVWdLaUF4TGpjMUlIMTlJSHN1TGk1d2NtOXdjMzBnTHo1Y2JpazdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQlRaV052Ym1SaGNubEpkR1Z0YzB4cGMzUWdQU0J3Y205d2N5QTlQaUFvWEc0Z0lEeGthWFpjYmlBZ0lDQmpjM005ZTN0Y2JpQWdJQ0FnSUM0dUxteHBjM1JDWVhObFUzUjViR1Z6TEZ4dUlDQWdJQ0FnY0dGa1pHbHVaMVJ2Y0RvZ1ozSnBaRk5wZW1Vc1hHNGdJQ0FnZlgxY2JpQWdJQ0I3TGk0dWNISnZjSE45WEc0Z0lDOCtYRzRwTzF4dUlsMTkgKi9cIilcbiAgfSwgcHJvcHMpKTtcbn07XG5leHBvcnQgdmFyIEZpcnN0UHJpbWFyeUl0ZW1XcmFwcGVyID0gZnVuY3Rpb24gRmlyc3RQcmltYXJ5SXRlbVdyYXBwZXIocHJvcHMpIHtcbiAgcmV0dXJuIF9fX0Vtb3Rpb25KU1goXCJkaXZcIiwgX2V4dGVuZHMoe1xuICAgIGNzczpcbiAgICAvKiNfX1BVUkVfXyovXG4gICAgX2Nzcyh7XG4gICAgICBwYWRkaW5nQm90dG9tOiBncmlkU2l6ZSAqIDEuNzVcbiAgICB9LCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyBcIlwiIDogXCIvKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJaTR1THk0dUx5NHVMeTR1THk0dUwzTnlZeTlqYjIxd2IyNWxiblJ6TDNCeVpYTmxiblJoZEdsdmJtRnNMMGRzYjJKaGJFNWhkbWxuWVhScGIyNVRhMlZzWlhSdmJpOXdjbWx0YVhScGRtVnpMbXB6SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVhkQ1R5SXNJbVpwYkdVaU9pSXVMaTh1TGk4dUxpOHVMaTh1TGk5emNtTXZZMjl0Y0c5dVpXNTBjeTl3Y21WelpXNTBZWFJwYjI1aGJDOUhiRzlpWVd4T1lYWnBaMkYwYVc5dVUydGxiR1YwYjI0dmNISnBiV2wwYVhabGN5NXFjeUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSW1sdGNHOXlkQ0JTWldGamRDQm1jbTl0SUNkeVpXRmpkQ2M3WEc1Y2JtbHRjRzl5ZENCN0lHZHlhV1JUYVhwbElHRnpJR2R5YVdSVGFYcGxSbTRnZlNCbWNtOXRJQ2RBWVhSc1lYTnJhWFF2ZEdobGJXVXZZMjl1YzNSaGJuUnpKenRjYmx4dVkyOXVjM1FnWjNKcFpGTnBlbVVnUFNCbmNtbGtVMmw2WlVadUtDazdYRzVjYm1OdmJuTjBJR3hwYzNSQ1lYTmxVM1I1YkdWeklEMGdlMXh1SUNCaGJHbG5ia2wwWlcxek9pQW5ZMlZ1ZEdWeUp5eGNiaUFnWkdsemNHeGhlVG9nSjJac1pYZ25MRnh1SUNCbWJHVjRSR2x5WldOMGFXOXVPaUFuWTI5c2RXMXVKeXhjYmlBZ2FuVnpkR2xtZVVOdmJuUmxiblE2SUNkemNHRmpaUzFpWlhSM1pXVnVKeXhjYmlBZ2QybGtkR2c2SUNjeE1EQWxKeXhjYm4wN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCRGIyNTBZV2x1WlhJZ1BTQndjbTl3Y3lBOVBpQjdYRzRnSUdOdmJuTjBJSHNnYzNSNWJHVnpMQ0F1TGk1eVpYTjBJSDBnUFNCd2NtOXdjenRjYmlBZ2NtVjBkWEp1SUR4a2FYWWdZM056UFh0emRIbHNaWE45SUhzdUxpNXlaWE4wZlNBdlBqdGNibjA3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JRY21sdFlYSjVTWFJsYlhOTWFYTjBJRDBnY0hKdmNITWdQVDRnS0Z4dUlDQThaR2wySUdOemN6MTdleUF1TGk1c2FYTjBRbUZ6WlZOMGVXeGxjeXdnY0dGa1pHbHVaMEp2ZEhSdmJUb2daM0pwWkZOcGVtVWdLaUF5SUgxOUlIc3VMaTV3Y205d2MzMGdMejVjYmlrN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCR2FYSnpkRkJ5YVcxaGNubEpkR1Z0VjNKaGNIQmxjaUE5SUhCeWIzQnpJRDArSUNoY2JpQWdQR1JwZGlCamMzTTllM3NnY0dGa1pHbHVaMEp2ZEhSdmJUb2daM0pwWkZOcGVtVWdLaUF4TGpjMUlIMTlJSHN1TGk1d2NtOXdjMzBnTHo1Y2JpazdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQlRaV052Ym1SaGNubEpkR1Z0YzB4cGMzUWdQU0J3Y205d2N5QTlQaUFvWEc0Z0lEeGthWFpjYmlBZ0lDQmpjM005ZTN0Y2JpQWdJQ0FnSUM0dUxteHBjM1JDWVhObFUzUjViR1Z6TEZ4dUlDQWdJQ0FnY0dGa1pHbHVaMVJ2Y0RvZ1ozSnBaRk5wZW1Vc1hHNGdJQ0FnZlgxY2JpQWdJQ0I3TGk0dWNISnZjSE45WEc0Z0lDOCtYRzRwTzF4dUlsMTkgKi9cIilcbiAgfSwgcHJvcHMpKTtcbn07XG5leHBvcnQgdmFyIFNlY29uZGFyeUl0ZW1zTGlzdCA9IGZ1bmN0aW9uIFNlY29uZGFyeUl0ZW1zTGlzdChwcm9wcykge1xuICByZXR1cm4gX19fRW1vdGlvbkpTWChcImRpdlwiLCBfZXh0ZW5kcyh7XG4gICAgY3NzOlxuICAgIC8qI19fUFVSRV9fKi9cbiAgICBfY3NzKF9vYmplY3RTcHJlYWQoe30sIGxpc3RCYXNlU3R5bGVzLCB7XG4gICAgICBwYWRkaW5nVG9wOiBncmlkU2l6ZVxuICAgIH0pLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyBcIlwiIDogXCIvKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJaTR1THk0dUx5NHVMeTR1THk0dUwzTnlZeTlqYjIxd2IyNWxiblJ6TDNCeVpYTmxiblJoZEdsdmJtRnNMMGRzYjJKaGJFNWhkbWxuWVhScGIyNVRhMlZzWlhSdmJpOXdjbWx0YVhScGRtVnpMbXB6SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVRaQ1NTSXNJbVpwYkdVaU9pSXVMaTh1TGk4dUxpOHVMaTh1TGk5emNtTXZZMjl0Y0c5dVpXNTBjeTl3Y21WelpXNTBZWFJwYjI1aGJDOUhiRzlpWVd4T1lYWnBaMkYwYVc5dVUydGxiR1YwYjI0dmNISnBiV2wwYVhabGN5NXFjeUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSW1sdGNHOXlkQ0JTWldGamRDQm1jbTl0SUNkeVpXRmpkQ2M3WEc1Y2JtbHRjRzl5ZENCN0lHZHlhV1JUYVhwbElHRnpJR2R5YVdSVGFYcGxSbTRnZlNCbWNtOXRJQ2RBWVhSc1lYTnJhWFF2ZEdobGJXVXZZMjl1YzNSaGJuUnpKenRjYmx4dVkyOXVjM1FnWjNKcFpGTnBlbVVnUFNCbmNtbGtVMmw2WlVadUtDazdYRzVjYm1OdmJuTjBJR3hwYzNSQ1lYTmxVM1I1YkdWeklEMGdlMXh1SUNCaGJHbG5ia2wwWlcxek9pQW5ZMlZ1ZEdWeUp5eGNiaUFnWkdsemNHeGhlVG9nSjJac1pYZ25MRnh1SUNCbWJHVjRSR2x5WldOMGFXOXVPaUFuWTI5c2RXMXVKeXhjYmlBZ2FuVnpkR2xtZVVOdmJuUmxiblE2SUNkemNHRmpaUzFpWlhSM1pXVnVKeXhjYmlBZ2QybGtkR2c2SUNjeE1EQWxKeXhjYm4wN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCRGIyNTBZV2x1WlhJZ1BTQndjbTl3Y3lBOVBpQjdYRzRnSUdOdmJuTjBJSHNnYzNSNWJHVnpMQ0F1TGk1eVpYTjBJSDBnUFNCd2NtOXdjenRjYmlBZ2NtVjBkWEp1SUR4a2FYWWdZM056UFh0emRIbHNaWE45SUhzdUxpNXlaWE4wZlNBdlBqdGNibjA3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JRY21sdFlYSjVTWFJsYlhOTWFYTjBJRDBnY0hKdmNITWdQVDRnS0Z4dUlDQThaR2wySUdOemN6MTdleUF1TGk1c2FYTjBRbUZ6WlZOMGVXeGxjeXdnY0dGa1pHbHVaMEp2ZEhSdmJUb2daM0pwWkZOcGVtVWdLaUF5SUgxOUlIc3VMaTV3Y205d2MzMGdMejVjYmlrN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCR2FYSnpkRkJ5YVcxaGNubEpkR1Z0VjNKaGNIQmxjaUE5SUhCeWIzQnpJRDArSUNoY2JpQWdQR1JwZGlCamMzTTllM3NnY0dGa1pHbHVaMEp2ZEhSdmJUb2daM0pwWkZOcGVtVWdLaUF4TGpjMUlIMTlJSHN1TGk1d2NtOXdjMzBnTHo1Y2JpazdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQlRaV052Ym1SaGNubEpkR1Z0YzB4cGMzUWdQU0J3Y205d2N5QTlQaUFvWEc0Z0lEeGthWFpjYmlBZ0lDQmpjM005ZTN0Y2JpQWdJQ0FnSUM0dUxteHBjM1JDWVhObFUzUjViR1Z6TEZ4dUlDQWdJQ0FnY0dGa1pHbHVaMVJ2Y0RvZ1ozSnBaRk5wZW1Vc1hHNGdJQ0FnZlgxY2JpQWdJQ0I3TGk0dWNISnZjSE45WEc0Z0lDOCtYRzRwTzF4dUlsMTkgKi9cIilcbiAgfSwgcHJvcHMpKTtcbn07Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/GlobalNavigationSkeleton/primitives.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/Group/index.js": /*!**************************************************************************************************!*\ !*** ./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/Group/index.js ***! \**************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return Group; });\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ \"./node_modules/@babel/runtime/helpers/classCallCheck.js\");\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\");\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ \"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ \"./node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ \"./node_modules/@babel/runtime/helpers/inherits.js\");\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ \"./node_modules/@babel/runtime/helpers/defineProperty.js\");\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _emotion_core__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @emotion/core */ \"./node_modules/@emotion/core/dist/core.browser.esm.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _atlaskit_analytics_namespaced_context__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @atlaskit/analytics-namespaced-context */ \"./node_modules/@atlaskit/analytics-namespaced-context/dist/esm/index.js\");\n/* harmony import */ var _GroupHeading__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../GroupHeading */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/GroupHeading/index.js\");\n/* harmony import */ var _Separator__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../Separator */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/Separator/index.js\");\n\n\n\n\n\n\n\n\n\n\n\n\nvar Group =\n/*#__PURE__*/\nfunction (_Component) {\n _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4___default()(Group, _Component);\n\n function Group() {\n _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default()(this, Group);\n\n return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2___default()(this, _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3___default()(Group).apply(this, arguments));\n }\n\n _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1___default()(Group, [{\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n children = _this$props.children,\n hasSeparator = _this$props.hasSeparator,\n heading = _this$props.heading,\n id = _this$props.id;\n return react__WEBPACK_IMPORTED_MODULE_7___default.a.Children.count(children) ? Object(_emotion_core__WEBPACK_IMPORTED_MODULE_6__[\"jsx\"])(_atlaskit_analytics_namespaced_context__WEBPACK_IMPORTED_MODULE_8__[\"NavigationAnalyticsContext\"], {\n data: {\n attributes: {\n viewGroup: id\n },\n componentName: 'Group'\n }\n }, Object(_emotion_core__WEBPACK_IMPORTED_MODULE_6__[\"jsx\"])(react__WEBPACK_IMPORTED_MODULE_7__[\"Fragment\"], null, heading && Object(_emotion_core__WEBPACK_IMPORTED_MODULE_6__[\"jsx\"])(_GroupHeading__WEBPACK_IMPORTED_MODULE_9__[\"default\"], null, heading), children, hasSeparator && Object(_emotion_core__WEBPACK_IMPORTED_MODULE_6__[\"jsx\"])(_Separator__WEBPACK_IMPORTED_MODULE_10__[\"default\"], null))) : null;\n }\n }]);\n\n return Group;\n}(react__WEBPACK_IMPORTED_MODULE_7__[\"Component\"]);\n\n_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_5___default()(Group, \"defaultProps\", {\n hasSeparator: false\n});\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL0dyb3VwL2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BhdGxhc2tpdC9uYXZpZ2F0aW9uLW5leHQvZGlzdC9lc20vY29tcG9uZW50cy9wcmVzZW50YXRpb25hbC9Hcm91cC9pbmRleC5qcz8yZjVmIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfY2xhc3NDYWxsQ2hlY2sgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvY2xhc3NDYWxsQ2hlY2tcIjtcbmltcG9ydCBfY3JlYXRlQ2xhc3MgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvY3JlYXRlQ2xhc3NcIjtcbmltcG9ydCBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybiBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuXCI7XG5pbXBvcnQgX2dldFByb3RvdHlwZU9mIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2dldFByb3RvdHlwZU9mXCI7XG5pbXBvcnQgX2luaGVyaXRzIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2luaGVyaXRzXCI7XG5pbXBvcnQgX2RlZmluZVByb3BlcnR5IGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2RlZmluZVByb3BlcnR5XCI7XG5pbXBvcnQgeyBqc3ggYXMgX19fRW1vdGlvbkpTWCB9IGZyb20gXCJAZW1vdGlvbi9jb3JlXCI7XG5pbXBvcnQgUmVhY3QsIHsgQ29tcG9uZW50LCBGcmFnbWVudCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IE5hdmlnYXRpb25BbmFseXRpY3NDb250ZXh0IH0gZnJvbSAnQGF0bGFza2l0L2FuYWx5dGljcy1uYW1lc3BhY2VkLWNvbnRleHQnO1xuaW1wb3J0IEdyb3VwSGVhZGluZyBmcm9tICcuLi9Hcm91cEhlYWRpbmcnO1xuaW1wb3J0IFNlcGFyYXRvciBmcm9tICcuLi9TZXBhcmF0b3InO1xuXG52YXIgR3JvdXAgPVxuLyojX19QVVJFX18qL1xuZnVuY3Rpb24gKF9Db21wb25lbnQpIHtcbiAgX2luaGVyaXRzKEdyb3VwLCBfQ29tcG9uZW50KTtcblxuICBmdW5jdGlvbiBHcm91cCgpIHtcbiAgICBfY2xhc3NDYWxsQ2hlY2sodGhpcywgR3JvdXApO1xuXG4gICAgcmV0dXJuIF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHRoaXMsIF9nZXRQcm90b3R5cGVPZihHcm91cCkuYXBwbHkodGhpcywgYXJndW1lbnRzKSk7XG4gIH1cblxuICBfY3JlYXRlQ2xhc3MoR3JvdXAsIFt7XG4gICAga2V5OiBcInJlbmRlclwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiByZW5kZXIoKSB7XG4gICAgICB2YXIgX3RoaXMkcHJvcHMgPSB0aGlzLnByb3BzLFxuICAgICAgICAgIGNoaWxkcmVuID0gX3RoaXMkcHJvcHMuY2hpbGRyZW4sXG4gICAgICAgICAgaGFzU2VwYXJhdG9yID0gX3RoaXMkcHJvcHMuaGFzU2VwYXJhdG9yLFxuICAgICAgICAgIGhlYWRpbmcgPSBfdGhpcyRwcm9wcy5oZWFkaW5nLFxuICAgICAgICAgIGlkID0gX3RoaXMkcHJvcHMuaWQ7XG4gICAgICByZXR1cm4gUmVhY3QuQ2hpbGRyZW4uY291bnQoY2hpbGRyZW4pID8gX19fRW1vdGlvbkpTWChOYXZpZ2F0aW9uQW5hbHl0aWNzQ29udGV4dCwge1xuICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgYXR0cmlidXRlczoge1xuICAgICAgICAgICAgdmlld0dyb3VwOiBpZFxuICAgICAgICAgIH0sXG4gICAgICAgICAgY29tcG9uZW50TmFtZTogJ0dyb3VwJ1xuICAgICAgICB9XG4gICAgICB9LCBfX19FbW90aW9uSlNYKEZyYWdtZW50LCBudWxsLCBoZWFkaW5nICYmIF9fX0Vtb3Rpb25KU1goR3JvdXBIZWFkaW5nLCBudWxsLCBoZWFkaW5nKSwgY2hpbGRyZW4sIGhhc1NlcGFyYXRvciAmJiBfX19FbW90aW9uSlNYKFNlcGFyYXRvciwgbnVsbCkpKSA6IG51bGw7XG4gICAgfVxuICB9XSk7XG5cbiAgcmV0dXJuIEdyb3VwO1xufShDb21wb25lbnQpO1xuXG5fZGVmaW5lUHJvcGVydHkoR3JvdXAsIFwiZGVmYXVsdFByb3BzXCIsIHtcbiAgaGFzU2VwYXJhdG9yOiBmYWxzZVxufSk7XG5cbmV4cG9ydCB7IEdyb3VwIGFzIGRlZmF1bHQgfTsiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/Group/index.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/GroupHeading/index.js": /*!*********************************************************************************************************!*\ !*** ./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/GroupHeading/index.js ***! \*********************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return GroupHeading; });\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ \"./node_modules/@babel/runtime/helpers/classCallCheck.js\");\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\");\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ \"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ \"./node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ \"./node_modules/@babel/runtime/helpers/inherits.js\");\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _emotion_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @emotion/core */ \"./node_modules/@emotion/core/dist/core.browser.esm.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _theme__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../theme */ \"./node_modules/@atlaskit/navigation-next/dist/esm/theme/index.js\");\n\n\n\n\n\n\n\n\n\nvar GroupHeadingPrimitive = function GroupHeadingPrimitive(_ref) {\n var After = _ref.after,\n children = _ref.children,\n theme = _ref.theme;\n var mode = theme.mode,\n context = theme.context;\n var styles = mode.heading()[context];\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_5__[\"jsx\"])(\"div\", {\n css: styles.headingBase\n }, Object(_emotion_core__WEBPACK_IMPORTED_MODULE_5__[\"jsx\"])(\"div\", {\n css: styles.textWrapper\n }, children), !!After && Object(_emotion_core__WEBPACK_IMPORTED_MODULE_5__[\"jsx\"])(\"div\", {\n css: styles.afterWrapper\n }, Object(_emotion_core__WEBPACK_IMPORTED_MODULE_5__[\"jsx\"])(After, null)));\n};\n\nvar GroupHeadingPrimitiveWithTheme = Object(_theme__WEBPACK_IMPORTED_MODULE_7__[\"withContentTheme\"])(GroupHeadingPrimitive); // TODO: This component is only defined to pass correct props to our prop docs\n// as we require classes for them. Remove once we fix this on the prop doc level.\n\nvar GroupHeading =\n/*#__PURE__*/\nfunction (_Component) {\n _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4___default()(GroupHeading, _Component);\n\n function GroupHeading() {\n _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default()(this, GroupHeading);\n\n return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2___default()(this, _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3___default()(GroupHeading).apply(this, arguments));\n }\n\n _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1___default()(GroupHeading, [{\n key: \"render\",\n value: function render() {\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_5__[\"jsx\"])(GroupHeadingPrimitiveWithTheme, this.props);\n }\n }]);\n\n return GroupHeading;\n}(react__WEBPACK_IMPORTED_MODULE_6__[\"Component\"]);\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL0dyb3VwSGVhZGluZy9pbmRleC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AYXRsYXNraXQvbmF2aWdhdGlvbi1uZXh0L2Rpc3QvZXNtL2NvbXBvbmVudHMvcHJlc2VudGF0aW9uYWwvR3JvdXBIZWFkaW5nL2luZGV4LmpzPzkxMjQiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IF9jbGFzc0NhbGxDaGVjayBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9jbGFzc0NhbGxDaGVja1wiO1xuaW1wb3J0IF9jcmVhdGVDbGFzcyBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9jcmVhdGVDbGFzc1wiO1xuaW1wb3J0IF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm5cIjtcbmltcG9ydCBfZ2V0UHJvdG90eXBlT2YgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvZ2V0UHJvdG90eXBlT2ZcIjtcbmltcG9ydCBfaW5oZXJpdHMgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvaW5oZXJpdHNcIjtcbmltcG9ydCB7IGpzeCBhcyBfX19FbW90aW9uSlNYIH0gZnJvbSBcIkBlbW90aW9uL2NvcmVcIjtcbmltcG9ydCBSZWFjdCwgeyBDb21wb25lbnQgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyB3aXRoQ29udGVudFRoZW1lIH0gZnJvbSAnLi4vLi4vLi4vdGhlbWUnO1xuXG52YXIgR3JvdXBIZWFkaW5nUHJpbWl0aXZlID0gZnVuY3Rpb24gR3JvdXBIZWFkaW5nUHJpbWl0aXZlKF9yZWYpIHtcbiAgdmFyIEFmdGVyID0gX3JlZi5hZnRlcixcbiAgICAgIGNoaWxkcmVuID0gX3JlZi5jaGlsZHJlbixcbiAgICAgIHRoZW1lID0gX3JlZi50aGVtZTtcbiAgdmFyIG1vZGUgPSB0aGVtZS5tb2RlLFxuICAgICAgY29udGV4dCA9IHRoZW1lLmNvbnRleHQ7XG4gIHZhciBzdHlsZXMgPSBtb2RlLmhlYWRpbmcoKVtjb250ZXh0XTtcbiAgcmV0dXJuIF9fX0Vtb3Rpb25KU1goXCJkaXZcIiwge1xuICAgIGNzczogc3R5bGVzLmhlYWRpbmdCYXNlXG4gIH0sIF9fX0Vtb3Rpb25KU1goXCJkaXZcIiwge1xuICAgIGNzczogc3R5bGVzLnRleHRXcmFwcGVyXG4gIH0sIGNoaWxkcmVuKSwgISFBZnRlciAmJiBfX19FbW90aW9uSlNYKFwiZGl2XCIsIHtcbiAgICBjc3M6IHN0eWxlcy5hZnRlcldyYXBwZXJcbiAgfSwgX19fRW1vdGlvbkpTWChBZnRlciwgbnVsbCkpKTtcbn07XG5cbnZhciBHcm91cEhlYWRpbmdQcmltaXRpdmVXaXRoVGhlbWUgPSB3aXRoQ29udGVudFRoZW1lKEdyb3VwSGVhZGluZ1ByaW1pdGl2ZSk7IC8vIFRPRE86IFRoaXMgY29tcG9uZW50IGlzIG9ubHkgZGVmaW5lZCB0byBwYXNzIGNvcnJlY3QgcHJvcHMgdG8gb3VyIHByb3AgZG9jc1xuLy8gYXMgd2UgcmVxdWlyZSBjbGFzc2VzIGZvciB0aGVtLiBSZW1vdmUgb25jZSB3ZSBmaXggdGhpcyBvbiB0aGUgcHJvcCBkb2MgbGV2ZWwuXG5cbnZhciBHcm91cEhlYWRpbmcgPVxuLyojX19QVVJFX18qL1xuZnVuY3Rpb24gKF9Db21wb25lbnQpIHtcbiAgX2luaGVyaXRzKEdyb3VwSGVhZGluZywgX0NvbXBvbmVudCk7XG5cbiAgZnVuY3Rpb24gR3JvdXBIZWFkaW5nKCkge1xuICAgIF9jbGFzc0NhbGxDaGVjayh0aGlzLCBHcm91cEhlYWRpbmcpO1xuXG4gICAgcmV0dXJuIF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHRoaXMsIF9nZXRQcm90b3R5cGVPZihHcm91cEhlYWRpbmcpLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykpO1xuICB9XG5cbiAgX2NyZWF0ZUNsYXNzKEdyb3VwSGVhZGluZywgW3tcbiAgICBrZXk6IFwicmVuZGVyXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIHJlbmRlcigpIHtcbiAgICAgIHJldHVybiBfX19FbW90aW9uSlNYKEdyb3VwSGVhZGluZ1ByaW1pdGl2ZVdpdGhUaGVtZSwgdGhpcy5wcm9wcyk7XG4gICAgfVxuICB9XSk7XG5cbiAgcmV0dXJuIEdyb3VwSGVhZGluZztcbn0oQ29tcG9uZW50KTtcblxuZXhwb3J0IHsgR3JvdXBIZWFkaW5nIGFzIGRlZmF1bHQgfTsiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/GroupHeading/index.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/GroupHeading/styles.js": /*!**********************************************************************************************************!*\ !*** ./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/GroupHeading/styles.js ***! \**********************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/objectSpread */ \"./node_modules/@babel/runtime/helpers/objectSpread.js\");\n/* harmony import */ var _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @atlaskit/theme/colors */ \"./node_modules/@atlaskit/theme/dist/esm/colors.js\");\n/* harmony import */ var _atlaskit_theme_constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @atlaskit/theme/constants */ \"./node_modules/@atlaskit/theme/dist/esm/constants.js\");\n\n\n\nvar gridSize = Object(_atlaskit_theme_constants__WEBPACK_IMPORTED_MODULE_2__[\"gridSize\"])();\nvar fontSize = 11;\nvar baseStyles = {\n headingBase: {\n alignItems: 'center',\n display: 'flex',\n flexShrink: 0,\n fontSize: \"\".concat(fontSize, \"px\"),\n fontWeight: 600,\n lineHeight: gridSize * 2 / fontSize,\n margin: \"\".concat(gridSize * 4, \"px 0 \").concat(gridSize, \"px\"),\n padding: \"0 \".concat(gridSize * 1.5, \"px\"),\n textTransform: 'uppercase'\n },\n textWrapper: {\n flexGrow: 1,\n overflowX: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n width: '100%'\n },\n afterWrapper: {\n lineHeight: 1,\n marginLeft: \"\".concat(gridSize / 2, \"px\")\n }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (function (_ref) {\n var product = _ref.product;\n return function () {\n return {\n container: _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0___default()({}, baseStyles, {\n headingBase: _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0___default()({}, baseStyles.headingBase, {\n color: _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_1__[\"N200\"]\n })\n }),\n product: _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0___default()({}, baseStyles, {\n headingBase: _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0___default()({}, baseStyles.headingBase, {\n color: product.text.subtle\n })\n })\n };\n };\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL0dyb3VwSGVhZGluZy9zdHlsZXMuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL0dyb3VwSGVhZGluZy9zdHlsZXMuanM/NGU0MCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgX29iamVjdFNwcmVhZCBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9vYmplY3RTcHJlYWRcIjtcbmltcG9ydCB7IE4yMDAgfSBmcm9tICdAYXRsYXNraXQvdGhlbWUvY29sb3JzJztcbmltcG9ydCB7IGdyaWRTaXplIGFzIGdyaWRTaXplRm4gfSBmcm9tICdAYXRsYXNraXQvdGhlbWUvY29uc3RhbnRzJztcbnZhciBncmlkU2l6ZSA9IGdyaWRTaXplRm4oKTtcbnZhciBmb250U2l6ZSA9IDExO1xudmFyIGJhc2VTdHlsZXMgPSB7XG4gIGhlYWRpbmdCYXNlOiB7XG4gICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgIGZsZXhTaHJpbms6IDAsXG4gICAgZm9udFNpemU6IFwiXCIuY29uY2F0KGZvbnRTaXplLCBcInB4XCIpLFxuICAgIGZvbnRXZWlnaHQ6IDYwMCxcbiAgICBsaW5lSGVpZ2h0OiBncmlkU2l6ZSAqIDIgLyBmb250U2l6ZSxcbiAgICBtYXJnaW46IFwiXCIuY29uY2F0KGdyaWRTaXplICogNCwgXCJweCAwIFwiKS5jb25jYXQoZ3JpZFNpemUsIFwicHhcIiksXG4gICAgcGFkZGluZzogXCIwIFwiLmNvbmNhdChncmlkU2l6ZSAqIDEuNSwgXCJweFwiKSxcbiAgICB0ZXh0VHJhbnNmb3JtOiAndXBwZXJjYXNlJ1xuICB9LFxuICB0ZXh0V3JhcHBlcjoge1xuICAgIGZsZXhHcm93OiAxLFxuICAgIG92ZXJmbG93WDogJ2hpZGRlbicsXG4gICAgdGV4dE92ZXJmbG93OiAnZWxsaXBzaXMnLFxuICAgIHdoaXRlU3BhY2U6ICdub3dyYXAnLFxuICAgIHdpZHRoOiAnMTAwJSdcbiAgfSxcbiAgYWZ0ZXJXcmFwcGVyOiB7XG4gICAgbGluZUhlaWdodDogMSxcbiAgICBtYXJnaW5MZWZ0OiBcIlwiLmNvbmNhdChncmlkU2l6ZSAvIDIsIFwicHhcIilcbiAgfVxufTtcbmV4cG9ydCBkZWZhdWx0IChmdW5jdGlvbiAoX3JlZikge1xuICB2YXIgcHJvZHVjdCA9IF9yZWYucHJvZHVjdDtcbiAgcmV0dXJuIGZ1bmN0aW9uICgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgY29udGFpbmVyOiBfb2JqZWN0U3ByZWFkKHt9LCBiYXNlU3R5bGVzLCB7XG4gICAgICAgIGhlYWRpbmdCYXNlOiBfb2JqZWN0U3ByZWFkKHt9LCBiYXNlU3R5bGVzLmhlYWRpbmdCYXNlLCB7XG4gICAgICAgICAgY29sb3I6IE4yMDBcbiAgICAgICAgfSlcbiAgICAgIH0pLFxuICAgICAgcHJvZHVjdDogX29iamVjdFNwcmVhZCh7fSwgYmFzZVN0eWxlcywge1xuICAgICAgICBoZWFkaW5nQmFzZTogX29iamVjdFNwcmVhZCh7fSwgYmFzZVN0eWxlcy5oZWFkaW5nQmFzZSwge1xuICAgICAgICAgIGNvbG9yOiBwcm9kdWN0LnRleHQuc3VidGxlXG4gICAgICAgIH0pXG4gICAgICB9KVxuICAgIH07XG4gIH07XG59KTsiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/GroupHeading/styles.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/HeaderSection/index.js": /*!**********************************************************************************************************!*\ !*** ./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/HeaderSection/index.js ***! \**********************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return HeaderSection; });\n/* harmony import */ var _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/objectSpread */ \"./node_modules/@babel/runtime/helpers/objectSpread.js\");\n/* harmony import */ var _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ \"./node_modules/@babel/runtime/helpers/classCallCheck.js\");\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\");\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ \"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ \"./node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ \"./node_modules/@babel/runtime/helpers/inherits.js\");\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _emotion_core__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @emotion/core */ \"./node_modules/@emotion/core/dist/core.browser.esm.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _atlaskit_theme_constants__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @atlaskit/theme/constants */ \"./node_modules/@atlaskit/theme/dist/esm/constants.js\");\n/* harmony import */ var _Section__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../Section */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/Section/index.js\");\n\n\n\n\n\n\n\n\n\n\n\nvar gridSize = Object(_atlaskit_theme_constants__WEBPACK_IMPORTED_MODULE_8__[\"gridSize\"])();\n\nvar HeaderSection =\n/*#__PURE__*/\nfunction (_Component) {\n _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5___default()(HeaderSection, _Component);\n\n function HeaderSection() {\n _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default()(this, HeaderSection);\n\n return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3___default()(this, _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4___default()(HeaderSection).apply(this, arguments));\n }\n\n _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2___default()(HeaderSection, [{\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n children = _this$props.children,\n id = _this$props.id,\n parentId = _this$props.parentId;\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_6__[\"jsx\"])(_Section__WEBPACK_IMPORTED_MODULE_9__[\"default\"], {\n id: id,\n key: id,\n parentId: parentId\n }, function (_ref) {\n var css = _ref.css;\n\n var headerCss = _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0___default()({}, css, {\n paddingTop: gridSize * 2.5\n });\n\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_6__[\"jsx\"])(_emotion_core__WEBPACK_IMPORTED_MODULE_6__[\"ClassNames\"], null, function (_ref2) {\n var getClassName = _ref2.css;\n return children({\n css: headerCss,\n className: getClassName(headerCss)\n });\n });\n });\n }\n }]);\n\n return HeaderSection;\n}(react__WEBPACK_IMPORTED_MODULE_7__[\"Component\"]);\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL0hlYWRlclNlY3Rpb24vaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL0hlYWRlclNlY3Rpb24vaW5kZXguanM/ZGJlMyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgX29iamVjdFNwcmVhZCBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9vYmplY3RTcHJlYWRcIjtcbmltcG9ydCBfY2xhc3NDYWxsQ2hlY2sgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvY2xhc3NDYWxsQ2hlY2tcIjtcbmltcG9ydCBfY3JlYXRlQ2xhc3MgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvY3JlYXRlQ2xhc3NcIjtcbmltcG9ydCBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybiBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuXCI7XG5pbXBvcnQgX2dldFByb3RvdHlwZU9mIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2dldFByb3RvdHlwZU9mXCI7XG5pbXBvcnQgX2luaGVyaXRzIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2luaGVyaXRzXCI7XG5pbXBvcnQgeyBqc3ggYXMgX19fRW1vdGlvbkpTWCB9IGZyb20gXCJAZW1vdGlvbi9jb3JlXCI7XG5pbXBvcnQgUmVhY3QsIHsgQ29tcG9uZW50IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgQ2xhc3NOYW1lcyB9IGZyb20gJ0BlbW90aW9uL2NvcmUnO1xuaW1wb3J0IHsgZ3JpZFNpemUgYXMgZ3JpZFNpemVGbiB9IGZyb20gJ0BhdGxhc2tpdC90aGVtZS9jb25zdGFudHMnO1xuaW1wb3J0IFNlY3Rpb24gZnJvbSAnLi4vU2VjdGlvbic7XG52YXIgZ3JpZFNpemUgPSBncmlkU2l6ZUZuKCk7XG5cbnZhciBIZWFkZXJTZWN0aW9uID1cbi8qI19fUFVSRV9fKi9cbmZ1bmN0aW9uIChfQ29tcG9uZW50KSB7XG4gIF9pbmhlcml0cyhIZWFkZXJTZWN0aW9uLCBfQ29tcG9uZW50KTtcblxuICBmdW5jdGlvbiBIZWFkZXJTZWN0aW9uKCkge1xuICAgIF9jbGFzc0NhbGxDaGVjayh0aGlzLCBIZWFkZXJTZWN0aW9uKTtcblxuICAgIHJldHVybiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybih0aGlzLCBfZ2V0UHJvdG90eXBlT2YoSGVhZGVyU2VjdGlvbikuYXBwbHkodGhpcywgYXJndW1lbnRzKSk7XG4gIH1cblxuICBfY3JlYXRlQ2xhc3MoSGVhZGVyU2VjdGlvbiwgW3tcbiAgICBrZXk6IFwicmVuZGVyXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIHJlbmRlcigpIHtcbiAgICAgIHZhciBfdGhpcyRwcm9wcyA9IHRoaXMucHJvcHMsXG4gICAgICAgICAgY2hpbGRyZW4gPSBfdGhpcyRwcm9wcy5jaGlsZHJlbixcbiAgICAgICAgICBpZCA9IF90aGlzJHByb3BzLmlkLFxuICAgICAgICAgIHBhcmVudElkID0gX3RoaXMkcHJvcHMucGFyZW50SWQ7XG4gICAgICByZXR1cm4gX19fRW1vdGlvbkpTWChTZWN0aW9uLCB7XG4gICAgICAgIGlkOiBpZCxcbiAgICAgICAga2V5OiBpZCxcbiAgICAgICAgcGFyZW50SWQ6IHBhcmVudElkXG4gICAgICB9LCBmdW5jdGlvbiAoX3JlZikge1xuICAgICAgICB2YXIgY3NzID0gX3JlZi5jc3M7XG5cbiAgICAgICAgdmFyIGhlYWRlckNzcyA9IF9vYmplY3RTcHJlYWQoe30sIGNzcywge1xuICAgICAgICAgIHBhZGRpbmdUb3A6IGdyaWRTaXplICogMi41XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiBfX19FbW90aW9uSlNYKENsYXNzTmFtZXMsIG51bGwsIGZ1bmN0aW9uIChfcmVmMikge1xuICAgICAgICAgIHZhciBnZXRDbGFzc05hbWUgPSBfcmVmMi5jc3M7XG4gICAgICAgICAgcmV0dXJuIGNoaWxkcmVuKHtcbiAgICAgICAgICAgIGNzczogaGVhZGVyQ3NzLFxuICAgICAgICAgICAgY2xhc3NOYW1lOiBnZXRDbGFzc05hbWUoaGVhZGVyQ3NzKVxuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfV0pO1xuXG4gIHJldHVybiBIZWFkZXJTZWN0aW9uO1xufShDb21wb25lbnQpO1xuXG5leHBvcnQgeyBIZWFkZXJTZWN0aW9uIGFzIGRlZmF1bHQgfTsiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/HeaderSection/index.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/InteractionStateManager/index.js": /*!********************************************************************************************************************!*\ !*** ./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/InteractionStateManager/index.js ***! \********************************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return InteractionStateManager; });\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ \"./node_modules/@babel/runtime/helpers/classCallCheck.js\");\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\");\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ \"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ \"./node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/assertThisInitialized */ \"./node_modules/@babel/runtime/helpers/assertThisInitialized.js\");\n/* harmony import */ var _babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ \"./node_modules/@babel/runtime/helpers/inherits.js\");\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ \"./node_modules/@babel/runtime/helpers/defineProperty.js\");\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _emotion_core__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @emotion/core */ \"./node_modules/@emotion/core/dist/core.browser.esm.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_8__);\n\n\n\n\n\n\n\n\n\n\nvar _ref = false ? undefined : {\n name: \"7xjigh\",\n styles: \"width:100%;align-items:center;display:flex;flex-direction:column;justify-content:space-between;\",\n map: \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL0ludGVyYWN0aW9uU3RhdGVNYW5hZ2VyL2luZGV4LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTZDUSIsImZpbGUiOiIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9wcmVzZW50YXRpb25hbC9JbnRlcmFjdGlvblN0YXRlTWFuYWdlci9pbmRleC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyBDb21wb25lbnQgfSBmcm9tICdyZWFjdCc7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEludGVyYWN0aW9uU3RhdGVNYW5hZ2VyIGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgc3RhdGUgPSB7XG4gICAgaXNBY3RpdmU6IGZhbHNlLFxuICAgIGlzSG92ZXI6IGZhbHNlLFxuICAgIGlzRm9jdXNlZDogZmFsc2UsXG4gIH07XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVuZGVmXG4gIG9uTW91c2VEb3duID0gZSA9PiB7XG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHRoaXMuc2V0U3RhdGUoeyBpc0FjdGl2ZTogdHJ1ZSB9KTtcbiAgfTtcblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW5kZWZcbiAgb25Nb3VzZVVwID0gZSA9PiB7XG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHRoaXMuc2V0U3RhdGUoeyBpc0FjdGl2ZTogZmFsc2UsIGlzSG92ZXI6IHRydWUgfSk7XG4gIH07XG5cbiAgb25Nb3VzZUVudGVyID0gKCkgPT4ge1xuICAgIGlmICghdGhpcy5zdGF0ZS5pc0hvdmVyKSB7XG4gICAgICB0aGlzLnNldFN0YXRlKHsgaXNIb3ZlcjogdHJ1ZSB9KTtcbiAgICB9XG4gIH07XG5cbiAgb25Nb3VzZUxlYXZlID0gKCkgPT4ge1xuICAgIHRoaXMuc2V0U3RhdGUoeyBpc0FjdGl2ZTogZmFsc2UsIGlzSG92ZXI6IGZhbHNlIH0pO1xuICB9O1xuXG4gIG9uRm9jdXMgPSAoKSA9PiB0aGlzLnNldFN0YXRlKHsgaXNGb2N1c2VkOiB0cnVlIH0pO1xuXG4gIG9uQmx1ciA9ICgpID0+IHRoaXMuc2V0U3RhdGUoeyBpc0ZvY3VzZWQ6IGZhbHNlIH0pO1xuXG4gIHJlbmRlcigpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPGRpdlxuICAgICAgICBvbk1vdXNlRG93bj17dGhpcy5vbk1vdXNlRG93bn1cbiAgICAgICAgb25Nb3VzZUVudGVyPXt0aGlzLm9uTW91c2VFbnRlcn1cbiAgICAgICAgb25Nb3VzZUxlYXZlPXt0aGlzLm9uTW91c2VMZWF2ZX1cbiAgICAgICAgb25Nb3VzZVVwPXt0aGlzLm9uTW91c2VVcH1cbiAgICAgICAgb25Gb2N1cz17dGhpcy5vbkZvY3VzfVxuICAgICAgICBvbkJsdXI9e3RoaXMub25CbHVyfVxuICAgICAgICByb2xlPVwicHJlc2VudGF0aW9uXCJcbiAgICAgICAgY3NzPXt7XG4gICAgICAgICAgd2lkdGg6ICcxMDAlJyxcbiAgICAgICAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgICAgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsXG4gICAgICAgICAganVzdGlmeUNvbnRlbnQ6ICdzcGFjZS1iZXR3ZWVuJyxcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAge3RoaXMucHJvcHMuY2hpbGRyZW4odGhpcy5zdGF0ZSl9XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9XG59XG4iXX0= */\"\n};\n\nvar InteractionStateManager =\n/*#__PURE__*/\nfunction (_Component) {\n _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5___default()(InteractionStateManager, _Component);\n\n function InteractionStateManager() {\n var _getPrototypeOf2;\n\n var _this;\n\n _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default()(this, InteractionStateManager);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2___default()(this, (_getPrototypeOf2 = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3___default()(InteractionStateManager)).call.apply(_getPrototypeOf2, [this].concat(args)));\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4___default()(_this), \"state\", {\n isActive: false,\n isHover: false,\n isFocused: false\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4___default()(_this), \"onMouseDown\", function (e) {\n e.preventDefault();\n\n _this.setState({\n isActive: true\n });\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4___default()(_this), \"onMouseUp\", function (e) {\n e.preventDefault();\n\n _this.setState({\n isActive: false,\n isHover: true\n });\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4___default()(_this), \"onMouseEnter\", function () {\n if (!_this.state.isHover) {\n _this.setState({\n isHover: true\n });\n }\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4___default()(_this), \"onMouseLeave\", function () {\n _this.setState({\n isActive: false,\n isHover: false\n });\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4___default()(_this), \"onFocus\", function () {\n return _this.setState({\n isFocused: true\n });\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4___default()(_this), \"onBlur\", function () {\n return _this.setState({\n isFocused: false\n });\n });\n\n return _this;\n }\n\n _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1___default()(InteractionStateManager, [{\n key: \"render\",\n value: function render() {\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_7__[\"jsx\"])(\"div\", {\n onMouseDown: this.onMouseDown,\n onMouseEnter: this.onMouseEnter,\n onMouseLeave: this.onMouseLeave,\n onMouseUp: this.onMouseUp,\n onFocus: this.onFocus,\n onBlur: this.onBlur,\n role: \"presentation\",\n css: _ref\n }, this.props.children(this.state));\n }\n }]);\n\n return InteractionStateManager;\n}(react__WEBPACK_IMPORTED_MODULE_8__[\"Component\"]);\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL0ludGVyYWN0aW9uU3RhdGVNYW5hZ2VyL2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BhdGxhc2tpdC9uYXZpZ2F0aW9uLW5leHQvZGlzdC9lc20vY29tcG9uZW50cy9wcmVzZW50YXRpb25hbC9JbnRlcmFjdGlvblN0YXRlTWFuYWdlci9pbmRleC5qcz82OTA0Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfY2xhc3NDYWxsQ2hlY2sgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvY2xhc3NDYWxsQ2hlY2tcIjtcbmltcG9ydCBfY3JlYXRlQ2xhc3MgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvY3JlYXRlQ2xhc3NcIjtcbmltcG9ydCBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybiBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuXCI7XG5pbXBvcnQgX2dldFByb3RvdHlwZU9mIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2dldFByb3RvdHlwZU9mXCI7XG5pbXBvcnQgX2Fzc2VydFRoaXNJbml0aWFsaXplZCBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9hc3NlcnRUaGlzSW5pdGlhbGl6ZWRcIjtcbmltcG9ydCBfaW5oZXJpdHMgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvaW5oZXJpdHNcIjtcbmltcG9ydCBfZGVmaW5lUHJvcGVydHkgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvZGVmaW5lUHJvcGVydHlcIjtcbmltcG9ydCB7IGpzeCBhcyBfX19FbW90aW9uSlNYIH0gZnJvbSBcIkBlbW90aW9uL2NvcmVcIjtcbmltcG9ydCBSZWFjdCwgeyBDb21wb25lbnQgfSBmcm9tICdyZWFjdCc7XG5cbnZhciBfcmVmID0gcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8ge1xuICBuYW1lOiBcIjd4amlnaFwiLFxuICBzdHlsZXM6IFwid2lkdGg6MTAwJTthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtcIlxufSA6IHtcbiAgbmFtZTogXCI3eGppZ2hcIixcbiAgc3R5bGVzOiBcIndpZHRoOjEwMCU7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47XCIsXG4gIG1hcDogXCIvKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJaTR1THk0dUx5NHVMeTR1THk0dUwzTnlZeTlqYjIxd2IyNWxiblJ6TDNCeVpYTmxiblJoZEdsdmJtRnNMMGx1ZEdWeVlXTjBhVzl1VTNSaGRHVk5ZVzVoWjJWeUwybHVaR1Y0TG1weklsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFUWkRVU0lzSW1acGJHVWlPaUl1TGk4dUxpOHVMaTh1TGk4dUxpOXpjbU12WTI5dGNHOXVaVzUwY3k5d2NtVnpaVzUwWVhScGIyNWhiQzlKYm5SbGNtRmpkR2x2YmxOMFlYUmxUV0Z1WVdkbGNpOXBibVJsZUM1cWN5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJbWx0Y0c5eWRDQlNaV0ZqZEN3Z2V5QkRiMjF3YjI1bGJuUWdmU0JtY205dElDZHlaV0ZqZENjN1hHNWNibVY0Y0c5eWRDQmtaV1poZFd4MElHTnNZWE56SUVsdWRHVnlZV04wYVc5dVUzUmhkR1ZOWVc1aFoyVnlJR1Y0ZEdWdVpITWdRMjl0Y0c5dVpXNTBJSHRjYmlBZ2MzUmhkR1VnUFNCN1hHNGdJQ0FnYVhOQlkzUnBkbVU2SUdaaGJITmxMRnh1SUNBZ0lHbHpTRzkyWlhJNklHWmhiSE5sTEZ4dUlDQWdJR2x6Um05amRYTmxaRG9nWm1Gc2MyVXNYRzRnSUgwN1hHNWNiaUFnTHk4Z1pYTnNhVzUwTFdScGMyRmliR1V0Ym1WNGRDMXNhVzVsSUc1dkxYVnVaR1ZtWEc0Z0lHOXVUVzkxYzJWRWIzZHVJRDBnWlNBOVBpQjdYRzRnSUNBZ1pTNXdjbVYyWlc1MFJHVm1ZWFZzZENncE8xeHVJQ0FnSUhSb2FYTXVjMlYwVTNSaGRHVW9leUJwYzBGamRHbDJaVG9nZEhKMVpTQjlLVHRjYmlBZ2ZUdGNibHh1SUNBdkx5QmxjMnhwYm5RdFpHbHpZV0pzWlMxdVpYaDBMV3hwYm1VZ2JtOHRkVzVrWldaY2JpQWdiMjVOYjNWelpWVndJRDBnWlNBOVBpQjdYRzRnSUNBZ1pTNXdjbVYyWlc1MFJHVm1ZWFZzZENncE8xeHVJQ0FnSUhSb2FYTXVjMlYwVTNSaGRHVW9leUJwYzBGamRHbDJaVG9nWm1Gc2MyVXNJR2x6U0c5MlpYSTZJSFJ5ZFdVZ2ZTazdYRzRnSUgwN1hHNWNiaUFnYjI1TmIzVnpaVVZ1ZEdWeUlEMGdLQ2tnUFQ0Z2UxeHVJQ0FnSUdsbUlDZ2hkR2hwY3k1emRHRjBaUzVwYzBodmRtVnlLU0I3WEc0Z0lDQWdJQ0IwYUdsekxuTmxkRk4wWVhSbEtIc2dhWE5JYjNabGNqb2dkSEoxWlNCOUtUdGNiaUFnSUNCOVhHNGdJSDA3WEc1Y2JpQWdiMjVOYjNWelpVeGxZWFpsSUQwZ0tDa2dQVDRnZTF4dUlDQWdJSFJvYVhNdWMyVjBVM1JoZEdVb2V5QnBjMEZqZEdsMlpUb2dabUZzYzJVc0lHbHpTRzkyWlhJNklHWmhiSE5sSUgwcE8xeHVJQ0I5TzF4dVhHNGdJRzl1Um05amRYTWdQU0FvS1NBOVBpQjBhR2x6TG5ObGRGTjBZWFJsS0hzZ2FYTkdiMk4xYzJWa09pQjBjblZsSUgwcE8xeHVYRzRnSUc5dVFteDFjaUE5SUNncElEMCtJSFJvYVhNdWMyVjBVM1JoZEdVb2V5QnBjMFp2WTNWelpXUTZJR1poYkhObElIMHBPMXh1WEc0Z0lISmxibVJsY2lncElIdGNiaUFnSUNCeVpYUjFjbTRnS0Z4dUlDQWdJQ0FnUEdScGRseHVJQ0FnSUNBZ0lDQnZiazF2ZFhObFJHOTNiajE3ZEdocGN5NXZiazF2ZFhObFJHOTNibjFjYmlBZ0lDQWdJQ0FnYjI1TmIzVnpaVVZ1ZEdWeVBYdDBhR2x6TG05dVRXOTFjMlZGYm5SbGNuMWNiaUFnSUNBZ0lDQWdiMjVOYjNWelpVeGxZWFpsUFh0MGFHbHpMbTl1VFc5MWMyVk1aV0YyWlgxY2JpQWdJQ0FnSUNBZ2IyNU5iM1Z6WlZWd1BYdDBhR2x6TG05dVRXOTFjMlZWY0gxY2JpQWdJQ0FnSUNBZ2IyNUdiMk4xY3oxN2RHaHBjeTV2YmtadlkzVnpmVnh1SUNBZ0lDQWdJQ0J2YmtKc2RYSTllM1JvYVhNdWIyNUNiSFZ5ZlZ4dUlDQWdJQ0FnSUNCeWIyeGxQVndpY0hKbGMyVnVkR0YwYVc5dVhDSmNiaUFnSUNBZ0lDQWdZM056UFh0N1hHNGdJQ0FnSUNBZ0lDQWdkMmxrZEdnNklDY3hNREFsSnl4Y2JpQWdJQ0FnSUNBZ0lDQmhiR2xuYmtsMFpXMXpPaUFuWTJWdWRHVnlKeXhjYmlBZ0lDQWdJQ0FnSUNCa2FYTndiR0Y1T2lBblpteGxlQ2NzWEc0Z0lDQWdJQ0FnSUNBZ1pteGxlRVJwY21WamRHbHZiam9nSjJOdmJIVnRiaWNzWEc0Z0lDQWdJQ0FnSUNBZ2FuVnpkR2xtZVVOdmJuUmxiblE2SUNkemNHRmpaUzFpWlhSM1pXVnVKeXhjYmlBZ0lDQWdJQ0FnZlgxY2JpQWdJQ0FnSUQ1Y2JpQWdJQ0FnSUNBZ2UzUm9hWE11Y0hKdmNITXVZMmhwYkdSeVpXNG9kR2hwY3k1emRHRjBaU2w5WEc0Z0lDQWdJQ0E4TDJScGRqNWNiaUFnSUNBcE8xeHVJQ0I5WEc1OVhHNGlYWDA9ICovXCJcbn07XG5cbnZhciBJbnRlcmFjdGlvblN0YXRlTWFuYWdlciA9XG4vKiNfX1BVUkVfXyovXG5mdW5jdGlvbiAoX0NvbXBvbmVudCkge1xuICBfaW5oZXJpdHMoSW50ZXJhY3Rpb25TdGF0ZU1hbmFnZXIsIF9Db21wb25lbnQpO1xuXG4gIGZ1bmN0aW9uIEludGVyYWN0aW9uU3RhdGVNYW5hZ2VyKCkge1xuICAgIHZhciBfZ2V0UHJvdG90eXBlT2YyO1xuXG4gICAgdmFyIF90aGlzO1xuXG4gICAgX2NsYXNzQ2FsbENoZWNrKHRoaXMsIEludGVyYWN0aW9uU3RhdGVNYW5hZ2VyKTtcblxuICAgIGZvciAodmFyIF9sZW4gPSBhcmd1bWVudHMubGVuZ3RoLCBhcmdzID0gbmV3IEFycmF5KF9sZW4pLCBfa2V5ID0gMDsgX2tleSA8IF9sZW47IF9rZXkrKykge1xuICAgICAgYXJnc1tfa2V5XSA9IGFyZ3VtZW50c1tfa2V5XTtcbiAgICB9XG5cbiAgICBfdGhpcyA9IF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHRoaXMsIChfZ2V0UHJvdG90eXBlT2YyID0gX2dldFByb3RvdHlwZU9mKEludGVyYWN0aW9uU3RhdGVNYW5hZ2VyKSkuY2FsbC5hcHBseShfZ2V0UHJvdG90eXBlT2YyLCBbdGhpc10uY29uY2F0KGFyZ3MpKSk7XG5cbiAgICBfZGVmaW5lUHJvcGVydHkoX2Fzc2VydFRoaXNJbml0aWFsaXplZChfdGhpcyksIFwic3RhdGVcIiwge1xuICAgICAgaXNBY3RpdmU6IGZhbHNlLFxuICAgICAgaXNIb3ZlcjogZmFsc2UsXG4gICAgICBpc0ZvY3VzZWQ6IGZhbHNlXG4gICAgfSk7XG5cbiAgICBfZGVmaW5lUHJvcGVydHkoX2Fzc2VydFRoaXNJbml0aWFsaXplZChfdGhpcyksIFwib25Nb3VzZURvd25cIiwgZnVuY3Rpb24gKGUpIHtcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcblxuICAgICAgX3RoaXMuc2V0U3RhdGUoe1xuICAgICAgICBpc0FjdGl2ZTogdHJ1ZVxuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBfZGVmaW5lUHJvcGVydHkoX2Fzc2VydFRoaXNJbml0aWFsaXplZChfdGhpcyksIFwib25Nb3VzZVVwXCIsIGZ1bmN0aW9uIChlKSB7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICAgIF90aGlzLnNldFN0YXRlKHtcbiAgICAgICAgaXNBY3RpdmU6IGZhbHNlLFxuICAgICAgICBpc0hvdmVyOiB0cnVlXG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIF9kZWZpbmVQcm9wZXJ0eShfYXNzZXJ0VGhpc0luaXRpYWxpemVkKF90aGlzKSwgXCJvbk1vdXNlRW50ZXJcIiwgZnVuY3Rpb24gKCkge1xuICAgICAgaWYgKCFfdGhpcy5zdGF0ZS5pc0hvdmVyKSB7XG4gICAgICAgIF90aGlzLnNldFN0YXRlKHtcbiAgICAgICAgICBpc0hvdmVyOiB0cnVlXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgX2RlZmluZVByb3BlcnR5KF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoX3RoaXMpLCBcIm9uTW91c2VMZWF2ZVwiLCBmdW5jdGlvbiAoKSB7XG4gICAgICBfdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgIGlzQWN0aXZlOiBmYWxzZSxcbiAgICAgICAgaXNIb3ZlcjogZmFsc2VcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgX2RlZmluZVByb3BlcnR5KF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoX3RoaXMpLCBcIm9uRm9jdXNcIiwgZnVuY3Rpb24gKCkge1xuICAgICAgcmV0dXJuIF90aGlzLnNldFN0YXRlKHtcbiAgICAgICAgaXNGb2N1c2VkOiB0cnVlXG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIF9kZWZpbmVQcm9wZXJ0eShfYXNzZXJ0VGhpc0luaXRpYWxpemVkKF90aGlzKSwgXCJvbkJsdXJcIiwgZnVuY3Rpb24gKCkge1xuICAgICAgcmV0dXJuIF90aGlzLnNldFN0YXRlKHtcbiAgICAgICAgaXNGb2N1c2VkOiBmYWxzZVxuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gX3RoaXM7XG4gIH1cblxuICBfY3JlYXRlQ2xhc3MoSW50ZXJhY3Rpb25TdGF0ZU1hbmFnZXIsIFt7XG4gICAga2V5OiBcInJlbmRlclwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiByZW5kZXIoKSB7XG4gICAgICByZXR1cm4gX19fRW1vdGlvbkpTWChcImRpdlwiLCB7XG4gICAgICAgIG9uTW91c2VEb3duOiB0aGlzLm9uTW91c2VEb3duLFxuICAgICAgICBvbk1vdXNlRW50ZXI6IHRoaXMub25Nb3VzZUVudGVyLFxuICAgICAgICBvbk1vdXNlTGVhdmU6IHRoaXMub25Nb3VzZUxlYXZlLFxuICAgICAgICBvbk1vdXNlVXA6IHRoaXMub25Nb3VzZVVwLFxuICAgICAgICBvbkZvY3VzOiB0aGlzLm9uRm9jdXMsXG4gICAgICAgIG9uQmx1cjogdGhpcy5vbkJsdXIsXG4gICAgICAgIHJvbGU6IFwicHJlc2VudGF0aW9uXCIsXG4gICAgICAgIGNzczogX3JlZlxuICAgICAgfSwgdGhpcy5wcm9wcy5jaGlsZHJlbih0aGlzLnN0YXRlKSk7XG4gICAgfVxuICB9XSk7XG5cbiAgcmV0dXJuIEludGVyYWN0aW9uU3RhdGVNYW5hZ2VyO1xufShDb21wb25lbnQpO1xuXG5leHBvcnQgeyBJbnRlcmFjdGlvblN0YXRlTWFuYWdlciBhcyBkZWZhdWx0IH07Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNkJBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/InteractionStateManager/index.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/Item/index.js": /*!*************************************************************************************************!*\ !*** ./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/Item/index.js ***! \*************************************************************************************************/ /*! exports provided: ItemBase, default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ItemBase\", function() { return Item; });\n/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ \"./node_modules/@babel/runtime/helpers/objectWithoutProperties.js\");\n/* harmony import */ var _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ \"./node_modules/@babel/runtime/helpers/classCallCheck.js\");\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\");\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ \"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ \"./node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @babel/runtime/helpers/assertThisInitialized */ \"./node_modules/@babel/runtime/helpers/assertThisInitialized.js\");\n/* harmony import */ var _babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ \"./node_modules/@babel/runtime/helpers/inherits.js\");\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ \"./node_modules/@babel/runtime/helpers/defineProperty.js\");\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var _emotion_core__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @emotion/core */ \"./node_modules/@emotion/core/dist/core.browser.esm.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_10__);\n/* harmony import */ var _common_analytics__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../../common/analytics */ \"./node_modules/@atlaskit/navigation-next/dist/esm/common/analytics.js\");\n/* harmony import */ var _theme__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../../theme */ \"./node_modules/@atlaskit/navigation-next/dist/esm/theme/index.js\");\n/* harmony import */ var _InteractionStateManager__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../InteractionStateManager */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/InteractionStateManager/index.js\");\n/* harmony import */ var _primitives__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./primitives */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/Item/primitives.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar Item =\n/*#__PURE__*/\nfunction (_PureComponent) {\n _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_7___default()(Item, _PureComponent);\n\n function Item() {\n var _getPrototypeOf2;\n\n var _this;\n\n _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2___default()(this, Item);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4___default()(this, (_getPrototypeOf2 = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5___default()(Item)).call.apply(_getPrototypeOf2, [this].concat(args)));\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_8___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_6___default()(_this), \"renderItem\", function (state) {\n var _this$props = _this.props,\n createAnalyticsEvent = _this$props.createAnalyticsEvent,\n props = _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1___default()(_this$props, [\"createAnalyticsEvent\"]);\n\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_9__[\"jsx\"])(_primitives__WEBPACK_IMPORTED_MODULE_14__[\"default\"], _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({}, state, props));\n });\n\n return _this;\n }\n\n _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3___default()(Item, [{\n key: \"render\",\n value: function render() {\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_9__[\"jsx\"])(_InteractionStateManager__WEBPACK_IMPORTED_MODULE_13__[\"default\"], null, this.renderItem);\n }\n }]);\n\n return Item;\n}(react__WEBPACK_IMPORTED_MODULE_10__[\"PureComponent\"]);\n\n_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_8___default()(Item, \"defaultProps\", {\n styles: _theme__WEBPACK_IMPORTED_MODULE_12__[\"styleReducerNoOp\"],\n isSelected: false,\n spacing: 'default',\n text: ''\n});\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(_common_analytics__WEBPACK_IMPORTED_MODULE_11__[\"navigationItemClicked\"])(Item, 'item'));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL0l0ZW0vaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL0l0ZW0vaW5kZXguanM/N2FmZCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgX2V4dGVuZHMgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXh0ZW5kc1wiO1xuaW1wb3J0IF9vYmplY3RXaXRob3V0UHJvcGVydGllcyBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9vYmplY3RXaXRob3V0UHJvcGVydGllc1wiO1xuaW1wb3J0IF9jbGFzc0NhbGxDaGVjayBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9jbGFzc0NhbGxDaGVja1wiO1xuaW1wb3J0IF9jcmVhdGVDbGFzcyBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9jcmVhdGVDbGFzc1wiO1xuaW1wb3J0IF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm5cIjtcbmltcG9ydCBfZ2V0UHJvdG90eXBlT2YgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvZ2V0UHJvdG90eXBlT2ZcIjtcbmltcG9ydCBfYXNzZXJ0VGhpc0luaXRpYWxpemVkIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2Fzc2VydFRoaXNJbml0aWFsaXplZFwiO1xuaW1wb3J0IF9pbmhlcml0cyBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9pbmhlcml0c1wiO1xuaW1wb3J0IF9kZWZpbmVQcm9wZXJ0eSBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9kZWZpbmVQcm9wZXJ0eVwiO1xuaW1wb3J0IHsganN4IGFzIF9fX0Vtb3Rpb25KU1ggfSBmcm9tIFwiQGVtb3Rpb24vY29yZVwiO1xuaW1wb3J0IFJlYWN0LCB7IFB1cmVDb21wb25lbnQgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBuYXZpZ2F0aW9uSXRlbUNsaWNrZWQgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vYW5hbHl0aWNzJztcbmltcG9ydCB7IHN0eWxlUmVkdWNlck5vT3AgfSBmcm9tICcuLi8uLi8uLi90aGVtZSc7XG5pbXBvcnQgSW50ZXJhY3Rpb25TdGF0ZU1hbmFnZXIgZnJvbSAnLi4vSW50ZXJhY3Rpb25TdGF0ZU1hbmFnZXInO1xuaW1wb3J0IEl0ZW1QcmltaXRpdmUgZnJvbSAnLi9wcmltaXRpdmVzJztcblxudmFyIEl0ZW0gPVxuLyojX19QVVJFX18qL1xuZnVuY3Rpb24gKF9QdXJlQ29tcG9uZW50KSB7XG4gIF9pbmhlcml0cyhJdGVtLCBfUHVyZUNvbXBvbmVudCk7XG5cbiAgZnVuY3Rpb24gSXRlbSgpIHtcbiAgICB2YXIgX2dldFByb3RvdHlwZU9mMjtcblxuICAgIHZhciBfdGhpcztcblxuICAgIF9jbGFzc0NhbGxDaGVjayh0aGlzLCBJdGVtKTtcblxuICAgIGZvciAodmFyIF9sZW4gPSBhcmd1bWVudHMubGVuZ3RoLCBhcmdzID0gbmV3IEFycmF5KF9sZW4pLCBfa2V5ID0gMDsgX2tleSA8IF9sZW47IF9rZXkrKykge1xuICAgICAgYXJnc1tfa2V5XSA9IGFyZ3VtZW50c1tfa2V5XTtcbiAgICB9XG5cbiAgICBfdGhpcyA9IF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHRoaXMsIChfZ2V0UHJvdG90eXBlT2YyID0gX2dldFByb3RvdHlwZU9mKEl0ZW0pKS5jYWxsLmFwcGx5KF9nZXRQcm90b3R5cGVPZjIsIFt0aGlzXS5jb25jYXQoYXJncykpKTtcblxuICAgIF9kZWZpbmVQcm9wZXJ0eShfYXNzZXJ0VGhpc0luaXRpYWxpemVkKF90aGlzKSwgXCJyZW5kZXJJdGVtXCIsIGZ1bmN0aW9uIChzdGF0ZSkge1xuICAgICAgdmFyIF90aGlzJHByb3BzID0gX3RoaXMucHJvcHMsXG4gICAgICAgICAgY3JlYXRlQW5hbHl0aWNzRXZlbnQgPSBfdGhpcyRwcm9wcy5jcmVhdGVBbmFseXRpY3NFdmVudCxcbiAgICAgICAgICBwcm9wcyA9IF9vYmplY3RXaXRob3V0UHJvcGVydGllcyhfdGhpcyRwcm9wcywgW1wiY3JlYXRlQW5hbHl0aWNzRXZlbnRcIl0pO1xuXG4gICAgICByZXR1cm4gX19fRW1vdGlvbkpTWChJdGVtUHJpbWl0aXZlLCBfZXh0ZW5kcyh7fSwgc3RhdGUsIHByb3BzKSk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gX3RoaXM7XG4gIH1cblxuICBfY3JlYXRlQ2xhc3MoSXRlbSwgW3tcbiAgICBrZXk6IFwicmVuZGVyXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIHJlbmRlcigpIHtcbiAgICAgIHJldHVybiBfX19FbW90aW9uSlNYKEludGVyYWN0aW9uU3RhdGVNYW5hZ2VyLCBudWxsLCB0aGlzLnJlbmRlckl0ZW0pO1xuICAgIH1cbiAgfV0pO1xuXG4gIHJldHVybiBJdGVtO1xufShQdXJlQ29tcG9uZW50KTtcblxuX2RlZmluZVByb3BlcnR5KEl0ZW0sIFwiZGVmYXVsdFByb3BzXCIsIHtcbiAgc3R5bGVzOiBzdHlsZVJlZHVjZXJOb09wLFxuICBpc1NlbGVjdGVkOiBmYWxzZSxcbiAgc3BhY2luZzogJ2RlZmF1bHQnLFxuICB0ZXh0OiAnJ1xufSk7XG5cbmV4cG9ydCB7IEl0ZW0gYXMgSXRlbUJhc2UgfTtcbmV4cG9ydCBkZWZhdWx0IG5hdmlnYXRpb25JdGVtQ2xpY2tlZChJdGVtLCAnaXRlbScpOyJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/Item/index.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/Item/primitives.js": /*!******************************************************************************************************!*\ !*** ./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/Item/primitives.js ***! \******************************************************************************************************/ /*! exports provided: ItemPrimitiveBase, default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ItemPrimitiveBase\", function() { return ItemPrimitive; });\n/* harmony import */ var _emotion_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @emotion/css */ \"./node_modules/@emotion/css/dist/css.browser.esm.js\");\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ \"./node_modules/@babel/runtime/helpers/classCallCheck.js\");\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\");\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ \"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ \"./node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ \"./node_modules/@babel/runtime/helpers/inherits.js\");\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ \"./node_modules/@babel/runtime/helpers/defineProperty.js\");\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @babel/runtime/helpers/objectSpread */ \"./node_modules/@babel/runtime/helpers/objectSpread.js\");\n/* harmony import */ var _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ \"./node_modules/@babel/runtime/helpers/objectWithoutProperties.js\");\n/* harmony import */ var _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony import */ var _emotion_core__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @emotion/core */ \"./node_modules/@emotion/core/dist/core.browser.esm.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_11__);\n/* harmony import */ var react_fast_compare__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! react-fast-compare */ \"./node_modules/react-fast-compare/index.js\");\n/* harmony import */ var react_fast_compare__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(react_fast_compare__WEBPACK_IMPORTED_MODULE_12__);\n/* harmony import */ var _theme__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../../theme */ \"./node_modules/@atlaskit/navigation-next/dist/esm/theme/index.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar isString = function isString(x) {\n return typeof x === 'string';\n};\n\nvar ComponentSwitch = function ComponentSwitch(_ref) {\n var as = _ref.as,\n dataset = _ref.dataset,\n draggableProps = _ref.draggableProps,\n innerRef = _ref.innerRef,\n rest = _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_9___default()(_ref, [\"as\", \"dataset\", \"draggableProps\", \"innerRef\"]);\n\n var isElement = isString(as);\n var props = isElement ? _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_8___default()({}, dataset, rest) : _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_8___default()({\n innerRef: innerRef,\n dataset: dataset,\n draggableProps: draggableProps\n }, rest); // only pass the actual `ref` to an element, it's the responsibility of the\n // component author to use `innerRef` where applicable\n\n var ref = isElement ? innerRef : null;\n var ElementOrComponent = as;\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_10__[\"jsx\"])(ElementOrComponent, _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_7___default()({\n ref: ref\n }, draggableProps, props));\n};\n\nvar getItemComponentProps = function getItemComponentProps(props) {\n var nonComponentKeys = ['isActive', 'isHover', 'isSelected', 'isFocused', 'isDragging', 'theme'];\n var componentProps = {};\n Object.keys(props).forEach(function (prop) {\n if (!nonComponentKeys.includes(prop)) {\n componentProps[prop] = props[prop];\n }\n });\n return componentProps;\n};\n\nvar ItemPrimitive =\n/*#__PURE__*/\nfunction (_Component) {\n _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5___default()(ItemPrimitive, _Component);\n\n function ItemPrimitive() {\n _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default()(this, ItemPrimitive);\n\n return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3___default()(this, _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4___default()(ItemPrimitive).apply(this, arguments));\n }\n\n _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2___default()(ItemPrimitive, [{\n key: \"shouldComponentUpdate\",\n value: function shouldComponentUpdate(nextProps) {\n return !react_fast_compare__WEBPACK_IMPORTED_MODULE_12___default()(this.props, nextProps);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n After = _this$props.after,\n Before = _this$props.before,\n CustomComponent = _this$props.component,\n dataset = _this$props.dataset,\n draggableProps = _this$props.draggableProps,\n href = _this$props.href,\n innerRef = _this$props.innerRef,\n isActive = _this$props.isActive,\n isDragging = _this$props.isDragging,\n isHover = _this$props.isHover,\n isSelected = _this$props.isSelected,\n isFocused = _this$props.isFocused,\n onClick = _this$props.onClick,\n spacing = _this$props.spacing,\n styleReducer = _this$props.styles,\n subText = _this$props.subText,\n target = _this$props.target,\n text = _this$props.text,\n theme = _this$props.theme;\n var mode = theme.mode,\n context = theme.context;\n var presentationProps = {\n isActive: isActive,\n isDragging: isDragging,\n isHover: isHover,\n isSelected: isSelected,\n isFocused: isFocused,\n spacing: spacing\n };\n var defaultStyles = mode.item(presentationProps)[context];\n var styles = styleReducer(defaultStyles, presentationProps, theme); // base element switch\n\n var itemComponent = 'div';\n var itemProps = {\n draggableProps: draggableProps,\n innerRef: innerRef,\n dataset: dataset\n };\n var _this$props2 = this.props,\n afterGoTo = _this$props2.afterGoTo,\n spinnerDelay = _this$props2.spinnerDelay,\n incomingView = _this$props2.incomingView;\n var propsForAfterComp = {\n afterGoTo: afterGoTo,\n spinnerDelay: spinnerDelay,\n incomingView: incomingView\n };\n\n if (CustomComponent) {\n itemComponent = CustomComponent;\n itemProps = getItemComponentProps(this.props);\n } else if (href) {\n itemComponent = 'a';\n itemProps = {\n dataset: dataset,\n href: href,\n onClick: onClick,\n target: target,\n draggableProps: draggableProps,\n innerRef: innerRef\n };\n } else if (onClick) {\n itemComponent = 'button';\n itemProps = {\n dataset: dataset,\n onClick: onClick,\n draggableProps: draggableProps,\n innerRef: innerRef\n };\n }\n\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_10__[\"jsx\"])(ComponentSwitch, _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_7___default()({\n as: itemComponent,\n css:\n /*#__PURE__*/\n Object(_emotion_css__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n '&&': styles.itemBase\n }, false ? undefined : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL0l0ZW0vcHJpbWl0aXZlcy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFtSVEiLCJmaWxlIjoiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvcHJlc2VudGF0aW9uYWwvSXRlbS9wcmltaXRpdmVzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IENvbXBvbmVudCB9IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IGRlZXBFcXVhbCBmcm9tICdyZWFjdC1mYXN0LWNvbXBhcmUnO1xuXG5pbXBvcnQgeyBzdHlsZVJlZHVjZXJOb09wLCB3aXRoQ29udGVudFRoZW1lIH0gZnJvbSAnLi4vLi4vLi4vdGhlbWUnO1xuXG5jb25zdCBpc1N0cmluZyA9IHggPT4gdHlwZW9mIHggPT09ICdzdHJpbmcnO1xuXG5jb25zdCBDb21wb25lbnRTd2l0Y2ggPSAoe1xuICBhcyxcbiAgZGF0YXNldCxcbiAgZHJhZ2dhYmxlUHJvcHMsXG4gIGlubmVyUmVmLFxuICAuLi5yZXN0XG59KSA9PiB7XG4gIGNvbnN0IGlzRWxlbWVudCA9IGlzU3RyaW5nKGFzKTtcbiAgY29uc3QgcHJvcHMgPSBpc0VsZW1lbnRcbiAgICA/IHsgLi4uZGF0YXNldCwgLi4ucmVzdCB9XG4gICAgOiB7IGlubmVyUmVmLCBkYXRhc2V0LCBkcmFnZ2FibGVQcm9wcywgLi4ucmVzdCB9O1xuICAvLyBvbmx5IHBhc3MgdGhlIGFjdHVhbCBgcmVmYCB0byBhbiBlbGVtZW50LCBpdCdzIHRoZSByZXNwb25zaWJpbGl0eSBvZiB0aGVcbiAgLy8gY29tcG9uZW50IGF1dGhvciB0byB1c2UgYGlubmVyUmVmYCB3aGVyZSBhcHBsaWNhYmxlXG4gIGNvbnN0IHJlZiA9IGlzRWxlbWVudCA/IGlubmVyUmVmIDogbnVsbDtcbiAgY29uc3QgRWxlbWVudE9yQ29tcG9uZW50ID0gYXM7XG5cbiAgcmV0dXJuIDxFbGVtZW50T3JDb21wb25lbnQgcmVmPXtyZWZ9IHsuLi5kcmFnZ2FibGVQcm9wc30gey4uLnByb3BzfSAvPjtcbn07XG5cbmNvbnN0IGdldEl0ZW1Db21wb25lbnRQcm9wcyA9IHByb3BzID0+IHtcbiAgY29uc3Qgbm9uQ29tcG9uZW50S2V5cyA9IFtcbiAgICAnaXNBY3RpdmUnLFxuICAgICdpc0hvdmVyJyxcbiAgICAnaXNTZWxlY3RlZCcsXG4gICAgJ2lzRm9jdXNlZCcsXG4gICAgJ2lzRHJhZ2dpbmcnLFxuICAgICd0aGVtZScsXG4gIF07XG4gIGNvbnN0IGNvbXBvbmVudFByb3BzID0ge307XG4gIE9iamVjdC5rZXlzKHByb3BzKS5mb3JFYWNoKHByb3AgPT4ge1xuICAgIGlmICghbm9uQ29tcG9uZW50S2V5cy5pbmNsdWRlcyhwcm9wKSkge1xuICAgICAgY29tcG9uZW50UHJvcHNbcHJvcF0gPSBwcm9wc1twcm9wXTtcbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiBjb21wb25lbnRQcm9wcztcbn07XG5cbmNsYXNzIEl0ZW1QcmltaXRpdmUgZXh0ZW5kcyBDb21wb25lbnQge1xuICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xuICAgIGRhdGFzZXQ6IHtcbiAgICAgICdkYXRhLXRlc3RpZCc6ICdOYXZpZ2F0aW9uSXRlbScsXG4gICAgfSxcbiAgICBpc0FjdGl2ZTogZmFsc2UsXG4gICAgaXNEcmFnZ2luZzogZmFsc2UsXG4gICAgaXNIb3ZlcjogZmFsc2UsXG4gICAgaXNTZWxlY3RlZDogZmFsc2UsXG4gICAgaXNGb2N1c2VkOiBmYWxzZSxcbiAgICBzcGFjaW5nOiAnZGVmYXVsdCcsXG4gICAgc3R5bGVzOiBzdHlsZVJlZHVjZXJOb09wLFxuICAgIHRleHQ6ICcnLFxuICB9O1xuXG4gIHNob3VsZENvbXBvbmVudFVwZGF0ZShuZXh0UHJvcHMpIHtcbiAgICByZXR1cm4gIWRlZXBFcXVhbCh0aGlzLnByb3BzLCBuZXh0UHJvcHMpO1xuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHtcbiAgICAgIGFmdGVyOiBBZnRlcixcbiAgICAgIGJlZm9yZTogQmVmb3JlLFxuICAgICAgY29tcG9uZW50OiBDdXN0b21Db21wb25lbnQsXG4gICAgICBkYXRhc2V0LFxuICAgICAgZHJhZ2dhYmxlUHJvcHMsXG4gICAgICBocmVmLFxuICAgICAgaW5uZXJSZWYsXG4gICAgICBpc0FjdGl2ZSxcbiAgICAgIGlzRHJhZ2dpbmcsXG4gICAgICBpc0hvdmVyLFxuICAgICAgaXNTZWxlY3RlZCxcbiAgICAgIGlzRm9jdXNlZCxcbiAgICAgIG9uQ2xpY2ssXG4gICAgICBzcGFjaW5nLFxuICAgICAgc3R5bGVzOiBzdHlsZVJlZHVjZXIsXG4gICAgICBzdWJUZXh0LFxuICAgICAgdGFyZ2V0LFxuICAgICAgdGV4dCxcbiAgICAgIHRoZW1lLFxuICAgIH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IHsgbW9kZSwgY29udGV4dCB9ID0gdGhlbWU7XG4gICAgY29uc3QgcHJlc2VudGF0aW9uUHJvcHMgPSB7XG4gICAgICBpc0FjdGl2ZSxcbiAgICAgIGlzRHJhZ2dpbmcsXG4gICAgICBpc0hvdmVyLFxuICAgICAgaXNTZWxlY3RlZCxcbiAgICAgIGlzRm9jdXNlZCxcbiAgICAgIHNwYWNpbmcsXG4gICAgfTtcbiAgICBjb25zdCBkZWZhdWx0U3R5bGVzID0gbW9kZS5pdGVtKHByZXNlbnRhdGlvblByb3BzKVtjb250ZXh0XTtcbiAgICBjb25zdCBzdHlsZXMgPSBzdHlsZVJlZHVjZXIoZGVmYXVsdFN0eWxlcywgcHJlc2VudGF0aW9uUHJvcHMsIHRoZW1lKTtcbiAgICAvLyBiYXNlIGVsZW1lbnQgc3dpdGNoXG5cbiAgICBsZXQgaXRlbUNvbXBvbmVudCA9ICdkaXYnO1xuICAgIGxldCBpdGVtUHJvcHMgPSB7IGRyYWdnYWJsZVByb3BzLCBpbm5lclJlZiwgZGF0YXNldCB9O1xuXG4gICAgY29uc3QgeyBhZnRlckdvVG8sIHNwaW5uZXJEZWxheSwgaW5jb21pbmdWaWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IHByb3BzRm9yQWZ0ZXJDb21wID0ge1xuICAgICAgYWZ0ZXJHb1RvLFxuICAgICAgc3Bpbm5lckRlbGF5LFxuICAgICAgaW5jb21pbmdWaWV3LFxuICAgIH07XG5cbiAgICBpZiAoQ3VzdG9tQ29tcG9uZW50KSB7XG4gICAgICBpdGVtQ29tcG9uZW50ID0gQ3VzdG9tQ29tcG9uZW50O1xuICAgICAgaXRlbVByb3BzID0gZ2V0SXRlbUNvbXBvbmVudFByb3BzKHRoaXMucHJvcHMpO1xuICAgIH0gZWxzZSBpZiAoaHJlZikge1xuICAgICAgaXRlbUNvbXBvbmVudCA9ICdhJztcbiAgICAgIGl0ZW1Qcm9wcyA9IHtcbiAgICAgICAgZGF0YXNldCxcbiAgICAgICAgaHJlZixcbiAgICAgICAgb25DbGljayxcbiAgICAgICAgdGFyZ2V0LFxuICAgICAgICBkcmFnZ2FibGVQcm9wcyxcbiAgICAgICAgaW5uZXJSZWYsXG4gICAgICB9O1xuICAgIH0gZWxzZSBpZiAob25DbGljaykge1xuICAgICAgaXRlbUNvbXBvbmVudCA9ICdidXR0b24nO1xuICAgICAgaXRlbVByb3BzID0geyBkYXRhc2V0LCBvbkNsaWNrLCBkcmFnZ2FibGVQcm9wcywgaW5uZXJSZWYgfTtcbiAgICB9XG5cbiAgICByZXR1cm4gKFxuICAgICAgPENvbXBvbmVudFN3aXRjaFxuICAgICAgICBhcz17aXRlbUNvbXBvbmVudH1cbiAgICAgICAgY3NzPXt7ICcmJic6IHN0eWxlcy5pdGVtQmFzZSB9fVxuICAgICAgICB7Li4uaXRlbVByb3BzfVxuICAgICAgPlxuICAgICAgICB7ISFCZWZvcmUgJiYgKFxuICAgICAgICAgIDxkaXYgY3NzPXtzdHlsZXMuYmVmb3JlV3JhcHBlcn0+XG4gICAgICAgICAgICA8QmVmb3JlIHsuLi5wcmVzZW50YXRpb25Qcm9wc30gLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKX1cbiAgICAgICAgPGRpdiBjc3M9e3N0eWxlcy5jb250ZW50V3JhcHBlcn0+XG4gICAgICAgICAgPGRpdiBjc3M9e3N0eWxlcy50ZXh0V3JhcHBlcn0+e3RleHR9PC9kaXY+XG4gICAgICAgICAgeyEhc3ViVGV4dCAmJiA8ZGl2IGNzcz17c3R5bGVzLnN1YlRleHRXcmFwcGVyfT57c3ViVGV4dH08L2Rpdj59XG4gICAgICAgIDwvZGl2PlxuICAgICAgICB7ISFBZnRlciAmJiAoXG4gICAgICAgICAgPGRpdiBjc3M9e3N0eWxlcy5hZnRlcldyYXBwZXJ9PlxuICAgICAgICAgICAgPEFmdGVyIHsuLi5wcmVzZW50YXRpb25Qcm9wc30gey4uLnByb3BzRm9yQWZ0ZXJDb21wfSAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICApfVxuICAgICAgPC9Db21wb25lbnRTd2l0Y2g+XG4gICAgKTtcbiAgfVxufVxuXG5leHBvcnQgeyBJdGVtUHJpbWl0aXZlIGFzIEl0ZW1QcmltaXRpdmVCYXNlIH07XG5leHBvcnQgZGVmYXVsdCB3aXRoQ29udGVudFRoZW1lKEl0ZW1QcmltaXRpdmUpO1xuIl19 */\")\n }, itemProps), !!Before && Object(_emotion_core__WEBPACK_IMPORTED_MODULE_10__[\"jsx\"])(\"div\", {\n css: styles.beforeWrapper\n }, Object(_emotion_core__WEBPACK_IMPORTED_MODULE_10__[\"jsx\"])(Before, presentationProps)), Object(_emotion_core__WEBPACK_IMPORTED_MODULE_10__[\"jsx\"])(\"div\", {\n css: styles.contentWrapper\n }, Object(_emotion_core__WEBPACK_IMPORTED_MODULE_10__[\"jsx\"])(\"div\", {\n css: styles.textWrapper\n }, text), !!subText && Object(_emotion_core__WEBPACK_IMPORTED_MODULE_10__[\"jsx\"])(\"div\", {\n css: styles.subTextWrapper\n }, subText)), !!After && Object(_emotion_core__WEBPACK_IMPORTED_MODULE_10__[\"jsx\"])(\"div\", {\n css: styles.afterWrapper\n }, Object(_emotion_core__WEBPACK_IMPORTED_MODULE_10__[\"jsx\"])(After, _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_7___default()({}, presentationProps, propsForAfterComp))));\n }\n }]);\n\n return ItemPrimitive;\n}(react__WEBPACK_IMPORTED_MODULE_11__[\"Component\"]);\n\n_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(ItemPrimitive, \"defaultProps\", {\n dataset: {\n 'data-testid': 'NavigationItem'\n },\n isActive: false,\n isDragging: false,\n isHover: false,\n isSelected: false,\n isFocused: false,\n spacing: 'default',\n styles: _theme__WEBPACK_IMPORTED_MODULE_13__[\"styleReducerNoOp\"],\n text: ''\n});\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(_theme__WEBPACK_IMPORTED_MODULE_13__[\"withContentTheme\"])(ItemPrimitive));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL0l0ZW0vcHJpbWl0aXZlcy5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AYXRsYXNraXQvbmF2aWdhdGlvbi1uZXh0L2Rpc3QvZXNtL2NvbXBvbmVudHMvcHJlc2VudGF0aW9uYWwvSXRlbS9wcmltaXRpdmVzLmpzPzllODMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IF9jc3MgZnJvbSBcIkBlbW90aW9uL2Nzc1wiO1xuaW1wb3J0IF9jbGFzc0NhbGxDaGVjayBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9jbGFzc0NhbGxDaGVja1wiO1xuaW1wb3J0IF9jcmVhdGVDbGFzcyBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9jcmVhdGVDbGFzc1wiO1xuaW1wb3J0IF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm5cIjtcbmltcG9ydCBfZ2V0UHJvdG90eXBlT2YgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvZ2V0UHJvdG90eXBlT2ZcIjtcbmltcG9ydCBfaW5oZXJpdHMgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvaW5oZXJpdHNcIjtcbmltcG9ydCBfZGVmaW5lUHJvcGVydHkgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvZGVmaW5lUHJvcGVydHlcIjtcbmltcG9ydCBfZXh0ZW5kcyBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9leHRlbmRzXCI7XG5pbXBvcnQgX29iamVjdFNwcmVhZCBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9vYmplY3RTcHJlYWRcIjtcbmltcG9ydCBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvb2JqZWN0V2l0aG91dFByb3BlcnRpZXNcIjtcbmltcG9ydCB7IGpzeCBhcyBfX19FbW90aW9uSlNYIH0gZnJvbSBcIkBlbW90aW9uL2NvcmVcIjtcbmltcG9ydCBSZWFjdCwgeyBDb21wb25lbnQgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgZGVlcEVxdWFsIGZyb20gJ3JlYWN0LWZhc3QtY29tcGFyZSc7XG5pbXBvcnQgeyBzdHlsZVJlZHVjZXJOb09wLCB3aXRoQ29udGVudFRoZW1lIH0gZnJvbSAnLi4vLi4vLi4vdGhlbWUnO1xuXG52YXIgaXNTdHJpbmcgPSBmdW5jdGlvbiBpc1N0cmluZyh4KSB7XG4gIHJldHVybiB0eXBlb2YgeCA9PT0gJ3N0cmluZyc7XG59O1xuXG52YXIgQ29tcG9uZW50U3dpdGNoID0gZnVuY3Rpb24gQ29tcG9uZW50U3dpdGNoKF9yZWYpIHtcbiAgdmFyIGFzID0gX3JlZi5hcyxcbiAgICAgIGRhdGFzZXQgPSBfcmVmLmRhdGFzZXQsXG4gICAgICBkcmFnZ2FibGVQcm9wcyA9IF9yZWYuZHJhZ2dhYmxlUHJvcHMsXG4gICAgICBpbm5lclJlZiA9IF9yZWYuaW5uZXJSZWYsXG4gICAgICByZXN0ID0gX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzKF9yZWYsIFtcImFzXCIsIFwiZGF0YXNldFwiLCBcImRyYWdnYWJsZVByb3BzXCIsIFwiaW5uZXJSZWZcIl0pO1xuXG4gIHZhciBpc0VsZW1lbnQgPSBpc1N0cmluZyhhcyk7XG4gIHZhciBwcm9wcyA9IGlzRWxlbWVudCA/IF9vYmplY3RTcHJlYWQoe30sIGRhdGFzZXQsIHJlc3QpIDogX29iamVjdFNwcmVhZCh7XG4gICAgaW5uZXJSZWY6IGlubmVyUmVmLFxuICAgIGRhdGFzZXQ6IGRhdGFzZXQsXG4gICAgZHJhZ2dhYmxlUHJvcHM6IGRyYWdnYWJsZVByb3BzXG4gIH0sIHJlc3QpOyAvLyBvbmx5IHBhc3MgdGhlIGFjdHVhbCBgcmVmYCB0byBhbiBlbGVtZW50LCBpdCdzIHRoZSByZXNwb25zaWJpbGl0eSBvZiB0aGVcbiAgLy8gY29tcG9uZW50IGF1dGhvciB0byB1c2UgYGlubmVyUmVmYCB3aGVyZSBhcHBsaWNhYmxlXG5cbiAgdmFyIHJlZiA9IGlzRWxlbWVudCA/IGlubmVyUmVmIDogbnVsbDtcbiAgdmFyIEVsZW1lbnRPckNvbXBvbmVudCA9IGFzO1xuICByZXR1cm4gX19fRW1vdGlvbkpTWChFbGVtZW50T3JDb21wb25lbnQsIF9leHRlbmRzKHtcbiAgICByZWY6IHJlZlxuICB9LCBkcmFnZ2FibGVQcm9wcywgcHJvcHMpKTtcbn07XG5cbnZhciBnZXRJdGVtQ29tcG9uZW50UHJvcHMgPSBmdW5jdGlvbiBnZXRJdGVtQ29tcG9uZW50UHJvcHMocHJvcHMpIHtcbiAgdmFyIG5vbkNvbXBvbmVudEtleXMgPSBbJ2lzQWN0aXZlJywgJ2lzSG92ZXInLCAnaXNTZWxlY3RlZCcsICdpc0ZvY3VzZWQnLCAnaXNEcmFnZ2luZycsICd0aGVtZSddO1xuICB2YXIgY29tcG9uZW50UHJvcHMgPSB7fTtcbiAgT2JqZWN0LmtleXMocHJvcHMpLmZvckVhY2goZnVuY3Rpb24gKHByb3ApIHtcbiAgICBpZiAoIW5vbkNvbXBvbmVudEtleXMuaW5jbHVkZXMocHJvcCkpIHtcbiAgICAgIGNvbXBvbmVudFByb3BzW3Byb3BdID0gcHJvcHNbcHJvcF07XG4gICAgfVxuICB9KTtcbiAgcmV0dXJuIGNvbXBvbmVudFByb3BzO1xufTtcblxudmFyIEl0ZW1QcmltaXRpdmUgPVxuLyojX19QVVJFX18qL1xuZnVuY3Rpb24gKF9Db21wb25lbnQpIHtcbiAgX2luaGVyaXRzKEl0ZW1QcmltaXRpdmUsIF9Db21wb25lbnQpO1xuXG4gIGZ1bmN0aW9uIEl0ZW1QcmltaXRpdmUoKSB7XG4gICAgX2NsYXNzQ2FsbENoZWNrKHRoaXMsIEl0ZW1QcmltaXRpdmUpO1xuXG4gICAgcmV0dXJuIF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHRoaXMsIF9nZXRQcm90b3R5cGVPZihJdGVtUHJpbWl0aXZlKS5hcHBseSh0aGlzLCBhcmd1bWVudHMpKTtcbiAgfVxuXG4gIF9jcmVhdGVDbGFzcyhJdGVtUHJpbWl0aXZlLCBbe1xuICAgIGtleTogXCJzaG91bGRDb21wb25lbnRVcGRhdGVcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gc2hvdWxkQ29tcG9uZW50VXBkYXRlKG5leHRQcm9wcykge1xuICAgICAgcmV0dXJuICFkZWVwRXF1YWwodGhpcy5wcm9wcywgbmV4dFByb3BzKTtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwicmVuZGVyXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIHJlbmRlcigpIHtcbiAgICAgIHZhciBfdGhpcyRwcm9wcyA9IHRoaXMucHJvcHMsXG4gICAgICAgICAgQWZ0ZXIgPSBfdGhpcyRwcm9wcy5hZnRlcixcbiAgICAgICAgICBCZWZvcmUgPSBfdGhpcyRwcm9wcy5iZWZvcmUsXG4gICAgICAgICAgQ3VzdG9tQ29tcG9uZW50ID0gX3RoaXMkcHJvcHMuY29tcG9uZW50LFxuICAgICAgICAgIGRhdGFzZXQgPSBfdGhpcyRwcm9wcy5kYXRhc2V0LFxuICAgICAgICAgIGRyYWdnYWJsZVByb3BzID0gX3RoaXMkcHJvcHMuZHJhZ2dhYmxlUHJvcHMsXG4gICAgICAgICAgaHJlZiA9IF90aGlzJHByb3BzLmhyZWYsXG4gICAgICAgICAgaW5uZXJSZWYgPSBfdGhpcyRwcm9wcy5pbm5lclJlZixcbiAgICAgICAgICBpc0FjdGl2ZSA9IF90aGlzJHByb3BzLmlzQWN0aXZlLFxuICAgICAgICAgIGlzRHJhZ2dpbmcgPSBfdGhpcyRwcm9wcy5pc0RyYWdnaW5nLFxuICAgICAgICAgIGlzSG92ZXIgPSBfdGhpcyRwcm9wcy5pc0hvdmVyLFxuICAgICAgICAgIGlzU2VsZWN0ZWQgPSBfdGhpcyRwcm9wcy5pc1NlbGVjdGVkLFxuICAgICAgICAgIGlzRm9jdXNlZCA9IF90aGlzJHByb3BzLmlzRm9jdXNlZCxcbiAgICAgICAgICBvbkNsaWNrID0gX3RoaXMkcHJvcHMub25DbGljayxcbiAgICAgICAgICBzcGFjaW5nID0gX3RoaXMkcHJvcHMuc3BhY2luZyxcbiAgICAgICAgICBzdHlsZVJlZHVjZXIgPSBfdGhpcyRwcm9wcy5zdHlsZXMsXG4gICAgICAgICAgc3ViVGV4dCA9IF90aGlzJHByb3BzLnN1YlRleHQsXG4gICAgICAgICAgdGFyZ2V0ID0gX3RoaXMkcHJvcHMudGFyZ2V0LFxuICAgICAgICAgIHRleHQgPSBfdGhpcyRwcm9wcy50ZXh0LFxuICAgICAgICAgIHRoZW1lID0gX3RoaXMkcHJvcHMudGhlbWU7XG4gICAgICB2YXIgbW9kZSA9IHRoZW1lLm1vZGUsXG4gICAgICAgICAgY29udGV4dCA9IHRoZW1lLmNvbnRleHQ7XG4gICAgICB2YXIgcHJlc2VudGF0aW9uUHJvcHMgPSB7XG4gICAgICAgIGlzQWN0aXZlOiBpc0FjdGl2ZSxcbiAgICAgICAgaXNEcmFnZ2luZzogaXNEcmFnZ2luZyxcbiAgICAgICAgaXNIb3ZlcjogaXNIb3ZlcixcbiAgICAgICAgaXNTZWxlY3RlZDogaXNTZWxlY3RlZCxcbiAgICAgICAgaXNGb2N1c2VkOiBpc0ZvY3VzZWQsXG4gICAgICAgIHNwYWNpbmc6IHNwYWNpbmdcbiAgICAgIH07XG4gICAgICB2YXIgZGVmYXVsdFN0eWxlcyA9IG1vZGUuaXRlbShwcmVzZW50YXRpb25Qcm9wcylbY29udGV4dF07XG4gICAgICB2YXIgc3R5bGVzID0gc3R5bGVSZWR1Y2VyKGRlZmF1bHRTdHlsZXMsIHByZXNlbnRhdGlvblByb3BzLCB0aGVtZSk7IC8vIGJhc2UgZWxlbWVudCBzd2l0Y2hcblxuICAgICAgdmFyIGl0ZW1Db21wb25lbnQgPSAnZGl2JztcbiAgICAgIHZhciBpdGVtUHJvcHMgPSB7XG4gICAgICAgIGRyYWdnYWJsZVByb3BzOiBkcmFnZ2FibGVQcm9wcyxcbiAgICAgICAgaW5uZXJSZWY6IGlubmVyUmVmLFxuICAgICAgICBkYXRhc2V0OiBkYXRhc2V0XG4gICAgICB9O1xuICAgICAgdmFyIF90aGlzJHByb3BzMiA9IHRoaXMucHJvcHMsXG4gICAgICAgICAgYWZ0ZXJHb1RvID0gX3RoaXMkcHJvcHMyLmFmdGVyR29UbyxcbiAgICAgICAgICBzcGlubmVyRGVsYXkgPSBfdGhpcyRwcm9wczIuc3Bpbm5lckRlbGF5LFxuICAgICAgICAgIGluY29taW5nVmlldyA9IF90aGlzJHByb3BzMi5pbmNvbWluZ1ZpZXc7XG4gICAgICB2YXIgcHJvcHNGb3JBZnRlckNvbXAgPSB7XG4gICAgICAgIGFmdGVyR29UbzogYWZ0ZXJHb1RvLFxuICAgICAgICBzcGlubmVyRGVsYXk6IHNwaW5uZXJEZWxheSxcbiAgICAgICAgaW5jb21pbmdWaWV3OiBpbmNvbWluZ1ZpZXdcbiAgICAgIH07XG5cbiAgICAgIGlmIChDdXN0b21Db21wb25lbnQpIHtcbiAgICAgICAgaXRlbUNvbXBvbmVudCA9IEN1c3RvbUNvbXBvbmVudDtcbiAgICAgICAgaXRlbVByb3BzID0gZ2V0SXRlbUNvbXBvbmVudFByb3BzKHRoaXMucHJvcHMpO1xuICAgICAgfSBlbHNlIGlmIChocmVmKSB7XG4gICAgICAgIGl0ZW1Db21wb25lbnQgPSAnYSc7XG4gICAgICAgIGl0ZW1Qcm9wcyA9IHtcbiAgICAgICAgICBkYXRhc2V0OiBkYXRhc2V0LFxuICAgICAgICAgIGhyZWY6IGhyZWYsXG4gICAgICAgICAgb25DbGljazogb25DbGljayxcbiAgICAgICAgICB0YXJnZXQ6IHRhcmdldCxcbiAgICAgICAgICBkcmFnZ2FibGVQcm9wczogZHJhZ2dhYmxlUHJvcHMsXG4gICAgICAgICAgaW5uZXJSZWY6IGlubmVyUmVmXG4gICAgICAgIH07XG4gICAgICB9IGVsc2UgaWYgKG9uQ2xpY2spIHtcbiAgICAgICAgaXRlbUNvbXBvbmVudCA9ICdidXR0b24nO1xuICAgICAgICBpdGVtUHJvcHMgPSB7XG4gICAgICAgICAgZGF0YXNldDogZGF0YXNldCxcbiAgICAgICAgICBvbkNsaWNrOiBvbkNsaWNrLFxuICAgICAgICAgIGRyYWdnYWJsZVByb3BzOiBkcmFnZ2FibGVQcm9wcyxcbiAgICAgICAgICBpbm5lclJlZjogaW5uZXJSZWZcbiAgICAgICAgfTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIF9fX0Vtb3Rpb25KU1goQ29tcG9uZW50U3dpdGNoLCBfZXh0ZW5kcyh7XG4gICAgICAgIGFzOiBpdGVtQ29tcG9uZW50LFxuICAgICAgICBjc3M6XG4gICAgICAgIC8qI19fUFVSRV9fKi9cbiAgICAgICAgX2Nzcyh7XG4gICAgICAgICAgJyYmJzogc3R5bGVzLml0ZW1CYXNlXG4gICAgICAgIH0sIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IFwiXCIgOiBcIi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpNHVMeTR1THk0dUx5NHVMeTR1TDNOeVl5OWpiMjF3YjI1bGJuUnpMM0J5WlhObGJuUmhkR2x2Ym1Gc0wwbDBaVzB2Y0hKcGJXbDBhWFpsY3k1cWN5SmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRnRTVkVpTENKbWFXeGxJam9pTGk0dkxpNHZMaTR2TGk0dkxpNHZjM0pqTDJOdmJYQnZibVZ1ZEhNdmNISmxjMlZ1ZEdGMGFXOXVZV3d2U1hSbGJTOXdjbWx0YVhScGRtVnpMbXB6SWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaWFXMXdiM0owSUZKbFlXTjBMQ0I3SUVOdmJYQnZibVZ1ZENCOUlHWnliMjBnSjNKbFlXTjBKenRjYmx4dWFXMXdiM0owSUdSbFpYQkZjWFZoYkNCbWNtOXRJQ2R5WldGamRDMW1ZWE4wTFdOdmJYQmhjbVVuTzF4dVhHNXBiWEJ2Y25RZ2V5QnpkSGxzWlZKbFpIVmpaWEpPYjA5d0xDQjNhWFJvUTI5dWRHVnVkRlJvWlcxbElIMGdabkp2YlNBbkxpNHZMaTR2TGk0dmRHaGxiV1VuTzF4dVhHNWpiMjV6ZENCcGMxTjBjbWx1WnlBOUlIZ2dQVDRnZEhsd1pXOW1JSGdnUFQwOUlDZHpkSEpwYm1jbk8xeHVYRzVqYjI1emRDQkRiMjF3YjI1bGJuUlRkMmwwWTJnZ1BTQW9lMXh1SUNCaGN5eGNiaUFnWkdGMFlYTmxkQ3hjYmlBZ1pISmhaMmRoWW14bFVISnZjSE1zWEc0Z0lHbHVibVZ5VW1WbUxGeHVJQ0F1TGk1eVpYTjBYRzU5S1NBOVBpQjdYRzRnSUdOdmJuTjBJR2x6Uld4bGJXVnVkQ0E5SUdselUzUnlhVzVuS0dGektUdGNiaUFnWTI5dWMzUWdjSEp2Y0hNZ1BTQnBjMFZzWlcxbGJuUmNiaUFnSUNBL0lIc2dMaTR1WkdGMFlYTmxkQ3dnTGk0dWNtVnpkQ0I5WEc0Z0lDQWdPaUI3SUdsdWJtVnlVbVZtTENCa1lYUmhjMlYwTENCa2NtRm5aMkZpYkdWUWNtOXdjeXdnTGk0dWNtVnpkQ0I5TzF4dUlDQXZMeUJ2Ym14NUlIQmhjM01nZEdobElHRmpkSFZoYkNCZ2NtVm1ZQ0IwYnlCaGJpQmxiR1Z0Wlc1MExDQnBkQ2R6SUhSb1pTQnlaWE53YjI1emFXSnBiR2wwZVNCdlppQjBhR1ZjYmlBZ0x5OGdZMjl0Y0c5dVpXNTBJR0YxZEdodmNpQjBieUIxYzJVZ1lHbHVibVZ5VW1WbVlDQjNhR1Z5WlNCaGNIQnNhV05oWW14bFhHNGdJR052Ym5OMElISmxaaUE5SUdselJXeGxiV1Z1ZENBL0lHbHVibVZ5VW1WbUlEb2diblZzYkR0Y2JpQWdZMjl1YzNRZ1JXeGxiV1Z1ZEU5eVEyOXRjRzl1Wlc1MElEMGdZWE03WEc1Y2JpQWdjbVYwZFhKdUlEeEZiR1Z0Wlc1MFQzSkRiMjF3YjI1bGJuUWdjbVZtUFh0eVpXWjlJSHN1TGk1a2NtRm5aMkZpYkdWUWNtOXdjMzBnZXk0dUxuQnliM0J6ZlNBdlBqdGNibjA3WEc1Y2JtTnZibk4wSUdkbGRFbDBaVzFEYjIxd2IyNWxiblJRY205d2N5QTlJSEJ5YjNCeklEMCtJSHRjYmlBZ1kyOXVjM1FnYm05dVEyOXRjRzl1Wlc1MFMyVjVjeUE5SUZ0Y2JpQWdJQ0FuYVhOQlkzUnBkbVVuTEZ4dUlDQWdJQ2RwYzBodmRtVnlKeXhjYmlBZ0lDQW5hWE5UWld4bFkzUmxaQ2NzWEc0Z0lDQWdKMmx6Um05amRYTmxaQ2NzWEc0Z0lDQWdKMmx6UkhKaFoyZHBibWNuTEZ4dUlDQWdJQ2QwYUdWdFpTY3NYRzRnSUYwN1hHNGdJR052Ym5OMElHTnZiWEJ2Ym1WdWRGQnliM0J6SUQwZ2UzMDdYRzRnSUU5aWFtVmpkQzVyWlhsektIQnliM0J6S1M1bWIzSkZZV05vS0hCeWIzQWdQVDRnZTF4dUlDQWdJR2xtSUNnaGJtOXVRMjl0Y0c5dVpXNTBTMlY1Y3k1cGJtTnNkV1JsY3lod2NtOXdLU2tnZTF4dUlDQWdJQ0FnWTI5dGNHOXVaVzUwVUhKdmNITmJjSEp2Y0YwZ1BTQndjbTl3YzF0d2NtOXdYVHRjYmlBZ0lDQjlYRzRnSUgwcE8xeHVYRzRnSUhKbGRIVnliaUJqYjIxd2IyNWxiblJRY205d2N6dGNibjA3WEc1Y2JtTnNZWE56SUVsMFpXMVFjbWx0YVhScGRtVWdaWGgwWlc1a2N5QkRiMjF3YjI1bGJuUWdlMXh1SUNCemRHRjBhV01nWkdWbVlYVnNkRkJ5YjNCeklEMGdlMXh1SUNBZ0lHUmhkR0Z6WlhRNklIdGNiaUFnSUNBZ0lDZGtZWFJoTFhSbGMzUnBaQ2M2SUNkT1lYWnBaMkYwYVc5dVNYUmxiU2NzWEc0Z0lDQWdmU3hjYmlBZ0lDQnBjMEZqZEdsMlpUb2dabUZzYzJVc1hHNGdJQ0FnYVhORWNtRm5aMmx1WnpvZ1ptRnNjMlVzWEc0Z0lDQWdhWE5JYjNabGNqb2dabUZzYzJVc1hHNGdJQ0FnYVhOVFpXeGxZM1JsWkRvZ1ptRnNjMlVzWEc0Z0lDQWdhWE5HYjJOMWMyVmtPaUJtWVd4elpTeGNiaUFnSUNCemNHRmphVzVuT2lBblpHVm1ZWFZzZENjc1hHNGdJQ0FnYzNSNWJHVnpPaUJ6ZEhsc1pWSmxaSFZqWlhKT2IwOXdMRnh1SUNBZ0lIUmxlSFE2SUNjbkxGeHVJQ0I5TzF4dVhHNGdJSE5vYjNWc1pFTnZiWEJ2Ym1WdWRGVndaR0YwWlNodVpYaDBVSEp2Y0hNcElIdGNiaUFnSUNCeVpYUjFjbTRnSVdSbFpYQkZjWFZoYkNoMGFHbHpMbkJ5YjNCekxDQnVaWGgwVUhKdmNITXBPMXh1SUNCOVhHNWNiaUFnY21WdVpHVnlLQ2tnZTF4dUlDQWdJR052Ym5OMElIdGNiaUFnSUNBZ0lHRm1kR1Z5T2lCQlpuUmxjaXhjYmlBZ0lDQWdJR0psWm05eVpUb2dRbVZtYjNKbExGeHVJQ0FnSUNBZ1kyOXRjRzl1Wlc1ME9pQkRkWE4wYjIxRGIyMXdiMjVsYm5Rc1hHNGdJQ0FnSUNCa1lYUmhjMlYwTEZ4dUlDQWdJQ0FnWkhKaFoyZGhZbXhsVUhKdmNITXNYRzRnSUNBZ0lDQm9jbVZtTEZ4dUlDQWdJQ0FnYVc1dVpYSlNaV1lzWEc0Z0lDQWdJQ0JwYzBGamRHbDJaU3hjYmlBZ0lDQWdJR2x6UkhKaFoyZHBibWNzWEc0Z0lDQWdJQ0JwYzBodmRtVnlMRnh1SUNBZ0lDQWdhWE5UWld4bFkzUmxaQ3hjYmlBZ0lDQWdJR2x6Um05amRYTmxaQ3hjYmlBZ0lDQWdJRzl1UTJ4cFkyc3NYRzRnSUNBZ0lDQnpjR0ZqYVc1bkxGeHVJQ0FnSUNBZ2MzUjViR1Z6T2lCemRIbHNaVkpsWkhWalpYSXNYRzRnSUNBZ0lDQnpkV0pVWlhoMExGeHVJQ0FnSUNBZ2RHRnlaMlYwTEZ4dUlDQWdJQ0FnZEdWNGRDeGNiaUFnSUNBZ0lIUm9aVzFsTEZ4dUlDQWdJSDBnUFNCMGFHbHpMbkJ5YjNCek8xeHVJQ0FnSUdOdmJuTjBJSHNnYlc5a1pTd2dZMjl1ZEdWNGRDQjlJRDBnZEdobGJXVTdYRzRnSUNBZ1kyOXVjM1FnY0hKbGMyVnVkR0YwYVc5dVVISnZjSE1nUFNCN1hHNGdJQ0FnSUNCcGMwRmpkR2wyWlN4Y2JpQWdJQ0FnSUdselJISmhaMmRwYm1jc1hHNGdJQ0FnSUNCcGMwaHZkbVZ5TEZ4dUlDQWdJQ0FnYVhOVFpXeGxZM1JsWkN4Y2JpQWdJQ0FnSUdselJtOWpkWE5sWkN4Y2JpQWdJQ0FnSUhOd1lXTnBibWNzWEc0Z0lDQWdmVHRjYmlBZ0lDQmpiMjV6ZENCa1pXWmhkV3gwVTNSNWJHVnpJRDBnYlc5a1pTNXBkR1Z0S0hCeVpYTmxiblJoZEdsdmJsQnliM0J6S1Z0amIyNTBaWGgwWFR0Y2JpQWdJQ0JqYjI1emRDQnpkSGxzWlhNZ1BTQnpkSGxzWlZKbFpIVmpaWElvWkdWbVlYVnNkRk4wZVd4bGN5d2djSEpsYzJWdWRHRjBhVzl1VUhKdmNITXNJSFJvWlcxbEtUdGNiaUFnSUNBdkx5QmlZWE5sSUdWc1pXMWxiblFnYzNkcGRHTm9YRzVjYmlBZ0lDQnNaWFFnYVhSbGJVTnZiWEJ2Ym1WdWRDQTlJQ2RrYVhZbk8xeHVJQ0FnSUd4bGRDQnBkR1Z0VUhKdmNITWdQU0I3SUdSeVlXZG5ZV0pzWlZCeWIzQnpMQ0JwYm01bGNsSmxaaXdnWkdGMFlYTmxkQ0I5TzF4dVhHNGdJQ0FnWTI5dWMzUWdleUJoWm5SbGNrZHZWRzhzSUhOd2FXNXVaWEpFWld4aGVTd2dhVzVqYjIxcGJtZFdhV1YzSUgwZ1BTQjBhR2x6TG5CeWIzQnpPMXh1SUNBZ0lHTnZibk4wSUhCeWIzQnpSbTl5UVdaMFpYSkRiMjF3SUQwZ2UxeHVJQ0FnSUNBZ1lXWjBaWEpIYjFSdkxGeHVJQ0FnSUNBZ2MzQnBibTVsY2tSbGJHRjVMRnh1SUNBZ0lDQWdhVzVqYjIxcGJtZFdhV1YzTEZ4dUlDQWdJSDA3WEc1Y2JpQWdJQ0JwWmlBb1EzVnpkRzl0UTI5dGNHOXVaVzUwS1NCN1hHNGdJQ0FnSUNCcGRHVnRRMjl0Y0c5dVpXNTBJRDBnUTNWemRHOXRRMjl0Y0c5dVpXNTBPMXh1SUNBZ0lDQWdhWFJsYlZCeWIzQnpJRDBnWjJWMFNYUmxiVU52YlhCdmJtVnVkRkJ5YjNCektIUm9hWE11Y0hKdmNITXBPMXh1SUNBZ0lIMGdaV3h6WlNCcFppQW9hSEpsWmlrZ2UxeHVJQ0FnSUNBZ2FYUmxiVU52YlhCdmJtVnVkQ0E5SUNkaEp6dGNiaUFnSUNBZ0lHbDBaVzFRY205d2N5QTlJSHRjYmlBZ0lDQWdJQ0FnWkdGMFlYTmxkQ3hjYmlBZ0lDQWdJQ0FnYUhKbFppeGNiaUFnSUNBZ0lDQWdiMjVEYkdsamF5eGNiaUFnSUNBZ0lDQWdkR0Z5WjJWMExGeHVJQ0FnSUNBZ0lDQmtjbUZuWjJGaWJHVlFjbTl3Y3l4Y2JpQWdJQ0FnSUNBZ2FXNXVaWEpTWldZc1hHNGdJQ0FnSUNCOU8xeHVJQ0FnSUgwZ1pXeHpaU0JwWmlBb2IyNURiR2xqYXlrZ2UxeHVJQ0FnSUNBZ2FYUmxiVU52YlhCdmJtVnVkQ0E5SUNkaWRYUjBiMjRuTzF4dUlDQWdJQ0FnYVhSbGJWQnliM0J6SUQwZ2V5QmtZWFJoYzJWMExDQnZia05zYVdOckxDQmtjbUZuWjJGaWJHVlFjbTl3Y3l3Z2FXNXVaWEpTWldZZ2ZUdGNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnS0Z4dUlDQWdJQ0FnUEVOdmJYQnZibVZ1ZEZOM2FYUmphRnh1SUNBZ0lDQWdJQ0JoY3oxN2FYUmxiVU52YlhCdmJtVnVkSDFjYmlBZ0lDQWdJQ0FnWTNOelBYdDdJQ2NtSmljNklITjBlV3hsY3k1cGRHVnRRbUZ6WlNCOWZWeHVJQ0FnSUNBZ0lDQjdMaTR1YVhSbGJWQnliM0J6ZlZ4dUlDQWdJQ0FnUGx4dUlDQWdJQ0FnSUNCN0lTRkNaV1p2Y21VZ0ppWWdLRnh1SUNBZ0lDQWdJQ0FnSUR4a2FYWWdZM056UFh0emRIbHNaWE11WW1WbWIzSmxWM0poY0hCbGNuMCtYRzRnSUNBZ0lDQWdJQ0FnSUNBOFFtVm1iM0psSUhzdUxpNXdjbVZ6Wlc1MFlYUnBiMjVRY205d2MzMGdMejVjYmlBZ0lDQWdJQ0FnSUNBOEwyUnBkajVjYmlBZ0lDQWdJQ0FnS1gxY2JpQWdJQ0FnSUNBZ1BHUnBkaUJqYzNNOWUzTjBlV3hsY3k1amIyNTBaVzUwVjNKaGNIQmxjbjArWEc0Z0lDQWdJQ0FnSUNBZ1BHUnBkaUJqYzNNOWUzTjBlV3hsY3k1MFpYaDBWM0poY0hCbGNuMCtlM1JsZUhSOVBDOWthWFkrWEc0Z0lDQWdJQ0FnSUNBZ2V5RWhjM1ZpVkdWNGRDQW1KaUE4WkdsMklHTnpjejE3YzNSNWJHVnpMbk4xWWxSbGVIUlhjbUZ3Y0dWeWZUNTdjM1ZpVkdWNGRIMDhMMlJwZGo1OVhHNGdJQ0FnSUNBZ0lEd3ZaR2wyUGx4dUlDQWdJQ0FnSUNCN0lTRkJablJsY2lBbUppQW9YRzRnSUNBZ0lDQWdJQ0FnUEdScGRpQmpjM005ZTNOMGVXeGxjeTVoWm5SbGNsZHlZWEJ3WlhKOVBseHVJQ0FnSUNBZ0lDQWdJQ0FnUEVGbWRHVnlJSHN1TGk1d2NtVnpaVzUwWVhScGIyNVFjbTl3YzMwZ2V5NHVMbkJ5YjNCelJtOXlRV1owWlhKRGIyMXdmU0F2UGx4dUlDQWdJQ0FnSUNBZ0lEd3ZaR2wyUGx4dUlDQWdJQ0FnSUNBcGZWeHVJQ0FnSUNBZ1BDOURiMjF3YjI1bGJuUlRkMmwwWTJnK1hHNGdJQ0FnS1R0Y2JpQWdmVnh1ZlZ4dVhHNWxlSEJ2Y25RZ2V5QkpkR1Z0VUhKcGJXbDBhWFpsSUdGeklFbDBaVzFRY21sdGFYUnBkbVZDWVhObElIMDdYRzVsZUhCdmNuUWdaR1ZtWVhWc2RDQjNhWFJvUTI5dWRHVnVkRlJvWlcxbEtFbDBaVzFRY21sdGFYUnBkbVVwTzF4dUlsMTkgKi9cIilcbiAgICAgIH0sIGl0ZW1Qcm9wcyksICEhQmVmb3JlICYmIF9fX0Vtb3Rpb25KU1goXCJkaXZcIiwge1xuICAgICAgICBjc3M6IHN0eWxlcy5iZWZvcmVXcmFwcGVyXG4gICAgICB9LCBfX19FbW90aW9uSlNYKEJlZm9yZSwgcHJlc2VudGF0aW9uUHJvcHMpKSwgX19fRW1vdGlvbkpTWChcImRpdlwiLCB7XG4gICAgICAgIGNzczogc3R5bGVzLmNvbnRlbnRXcmFwcGVyXG4gICAgICB9LCBfX19FbW90aW9uSlNYKFwiZGl2XCIsIHtcbiAgICAgICAgY3NzOiBzdHlsZXMudGV4dFdyYXBwZXJcbiAgICAgIH0sIHRleHQpLCAhIXN1YlRleHQgJiYgX19fRW1vdGlvbkpTWChcImRpdlwiLCB7XG4gICAgICAgIGNzczogc3R5bGVzLnN1YlRleHRXcmFwcGVyXG4gICAgICB9LCBzdWJUZXh0KSksICEhQWZ0ZXIgJiYgX19fRW1vdGlvbkpTWChcImRpdlwiLCB7XG4gICAgICAgIGNzczogc3R5bGVzLmFmdGVyV3JhcHBlclxuICAgICAgfSwgX19fRW1vdGlvbkpTWChBZnRlciwgX2V4dGVuZHMoe30sIHByZXNlbnRhdGlvblByb3BzLCBwcm9wc0ZvckFmdGVyQ29tcCkpKSk7XG4gICAgfVxuICB9XSk7XG5cbiAgcmV0dXJuIEl0ZW1QcmltaXRpdmU7XG59KENvbXBvbmVudCk7XG5cbl9kZWZpbmVQcm9wZXJ0eShJdGVtUHJpbWl0aXZlLCBcImRlZmF1bHRQcm9wc1wiLCB7XG4gIGRhdGFzZXQ6IHtcbiAgICAnZGF0YS10ZXN0aWQnOiAnTmF2aWdhdGlvbkl0ZW0nXG4gIH0sXG4gIGlzQWN0aXZlOiBmYWxzZSxcbiAgaXNEcmFnZ2luZzogZmFsc2UsXG4gIGlzSG92ZXI6IGZhbHNlLFxuICBpc1NlbGVjdGVkOiBmYWxzZSxcbiAgaXNGb2N1c2VkOiBmYWxzZSxcbiAgc3BhY2luZzogJ2RlZmF1bHQnLFxuICBzdHlsZXM6IHN0eWxlUmVkdWNlck5vT3AsXG4gIHRleHQ6ICcnXG59KTtcblxuZXhwb3J0IHsgSXRlbVByaW1pdGl2ZSBhcyBJdGVtUHJpbWl0aXZlQmFzZSB9O1xuZXhwb3J0IGRlZmF1bHQgd2l0aENvbnRlbnRUaGVtZShJdGVtUHJpbWl0aXZlKTsiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/Item/primitives.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/Item/styles.js": /*!**************************************************************************************************!*\ !*** ./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/Item/styles.js ***! \**************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/objectSpread */ \"./node_modules/@babel/runtime/helpers/objectSpread.js\");\n/* harmony import */ var _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @atlaskit/theme/colors */ \"./node_modules/@atlaskit/theme/dist/esm/colors.js\");\n/* harmony import */ var _atlaskit_theme_constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @atlaskit/theme/constants */ \"./node_modules/@atlaskit/theme/dist/esm/constants.js\");\n\n\n\n\nvar targetEdgeAndIE11 = function targetEdgeAndIE11(styles) {\n // From https://browserstrangeness.github.io/css_hacks.html\n return {\n '@media screen and (-ms-high-contrast: none)': styles,\n '@supports (-ms-ime-align:auto)': styles\n };\n};\n\nvar targetFirefox = function targetFirefox(styles) {\n // From https://stackoverflow.com/a/953491\n return {\n '@-moz-document url-prefix()': styles\n };\n};\n\nvar gridSize = Object(_atlaskit_theme_constants__WEBPACK_IMPORTED_MODULE_2__[\"gridSize\"])();\n/**\n * Component tree structure:\n * - itemBase\n * - beforeWrapper\n * - contentWrapper\n * - textWrapper\n * - subTextWrapper\n * - afterWrapper\n */\n// These are the styles which are consistent regardless of theme or spacing\n\nvar baseStyles = {\n itemBase: {\n alignItems: 'center',\n border: 'none',\n borderRadius: '3px',\n boxSizing: 'border-box',\n color: 'inherit',\n cursor: 'pointer',\n display: 'flex',\n flexShrink: 0,\n fontSize: 'inherit',\n height: gridSize * 5,\n outline: 'none',\n textAlign: 'left',\n textDecoration: 'none',\n width: '100%',\n '&:focus': {\n boxShadow: \"0 0 0 2px \".concat(_atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_1__[\"B100\"], \" inset\")\n }\n },\n beforeWrapper: {\n alignItems: 'center',\n display: 'flex',\n flexShrink: 0\n },\n contentWrapper: _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0___default()({\n display: 'flex',\n flexDirection: 'column',\n flexGrow: 1,\n overflowX: 'hidden'\n }, targetEdgeAndIE11({\n fontFamily: Object(_atlaskit_theme_constants__WEBPACK_IMPORTED_MODULE_2__[\"fontFamily\"])()\n })),\n textWrapper: _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0___default()({\n flex: '1 1 auto',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap'\n }, targetEdgeAndIE11({\n lineHeight: 18 / Object(_atlaskit_theme_constants__WEBPACK_IMPORTED_MODULE_2__[\"fontSize\"])()\n }), targetFirefox({\n lineHeight: 18 / Object(_atlaskit_theme_constants__WEBPACK_IMPORTED_MODULE_2__[\"fontSize\"])()\n }), {\n lineHeight: 16 / Object(_atlaskit_theme_constants__WEBPACK_IMPORTED_MODULE_2__[\"fontSize\"])()\n }),\n subTextWrapper: _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0___default()({\n flex: '1 1 auto',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap'\n }, targetEdgeAndIE11({\n marginTop: '-2px'\n })),\n afterWrapper: {\n alignItems: 'center',\n display: 'flex',\n flexShrink: 0\n }\n}; // These are styles which switch on the spacing prop\n\nvar layoutStyles = {\n compact: {\n itemBase: {\n paddingRight: gridSize,\n paddingLeft: gridSize\n },\n beforeWrapper: {\n marginRight: gridSize\n },\n subTextWrapper: {\n fontSize: '10px',\n lineHeight: 1.2\n },\n afterWrapper: {\n marginLeft: gridSize\n }\n },\n default: {\n itemBase: {\n paddingLeft: gridSize * 1.5,\n paddingRight: gridSize * 1.5\n },\n beforeWrapper: {\n marginRight: gridSize * 2\n },\n subTextWrapper: _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0___default()({\n fontSize: '12px'\n }, targetEdgeAndIE11({\n lineHeight: 16 / 12,\n marginTop: '-2px'\n }), {\n lineHeight: 14 / 12\n }),\n afterWrapper: {\n marginLeft: gridSize * 2\n }\n }\n};\n\nvar getItemBackgroundColor = function getItemBackgroundColor(background, _ref) {\n var isActive = _ref.isActive,\n isSelected = _ref.isSelected,\n isHover = _ref.isHover,\n isDragging = _ref.isDragging;\n if (isDragging) return background.hint;\n if (isActive) return background.interact;\n if (isSelected) return background.static;\n if (isHover) return background.hint;\n return background.default;\n}; // Light theme\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function (_ref2) {\n var product = _ref2.product;\n return function (_ref3) {\n var isActive = _ref3.isActive,\n isDragging = _ref3.isDragging,\n isHover = _ref3.isHover,\n isSelected = _ref3.isSelected,\n spacing = _ref3.spacing;\n var containerTextColor = isActive || isSelected ? _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_1__[\"B400\"] : _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_1__[\"N500\"];\n var containerBackgroundColor = getItemBackgroundColor({\n default: _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_1__[\"N20\"],\n hint: _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_1__[\"N30\"],\n interact: _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_1__[\"B50\"],\n static: _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_1__[\"N30\"]\n }, {\n isActive: isActive,\n isHover: isHover,\n isSelected: isSelected,\n isDragging: isDragging\n });\n var productBackgroundColor = getItemBackgroundColor(product.background, {\n isActive: isActive,\n isDragging: isDragging,\n isHover: isHover,\n isSelected: isSelected\n });\n return {\n container: {\n itemBase: _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0___default()({}, baseStyles.itemBase, layoutStyles[spacing].itemBase, {\n backgroundColor: containerBackgroundColor,\n fill: containerBackgroundColor\n }),\n beforeWrapper: _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0___default()({}, baseStyles.beforeWrapper, layoutStyles[spacing].beforeWrapper, {\n color: containerTextColor\n }),\n contentWrapper: baseStyles.contentWrapper,\n textWrapper: _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0___default()({}, baseStyles.textWrapper, {\n color: containerTextColor\n }),\n subTextWrapper: _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0___default()({}, baseStyles.subTextWrapper, layoutStyles[spacing].subTextWrapper, {\n color: _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_1__[\"N200\"]\n }),\n afterWrapper: _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0___default()({}, baseStyles.afterWrapper, layoutStyles[spacing].afterWrapper, {\n color: _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_1__[\"N500\"]\n })\n },\n product: {\n itemBase: _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0___default()({}, baseStyles.itemBase, layoutStyles[spacing].itemBase, {\n backgroundColor: productBackgroundColor,\n fill: productBackgroundColor\n }),\n beforeWrapper: _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0___default()({}, baseStyles.beforeWrapper, layoutStyles[spacing].beforeWrapper, {\n color: product.text.default\n }),\n contentWrapper: baseStyles.contentWrapper,\n textWrapper: _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0___default()({}, baseStyles.textWrapper, {\n color: product.text.default\n }),\n subTextWrapper: _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0___default()({}, baseStyles.subTextWrapper, layoutStyles[spacing].subTextWrapper, {\n color: product.text.subtle\n }),\n afterWrapper: _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0___default()({}, baseStyles.afterWrapper, layoutStyles[spacing].afterWrapper, {\n color: product.text.default\n })\n }\n };\n };\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL0l0ZW0vc3R5bGVzLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BhdGxhc2tpdC9uYXZpZ2F0aW9uLW5leHQvZGlzdC9lc20vY29tcG9uZW50cy9wcmVzZW50YXRpb25hbC9JdGVtL3N0eWxlcy5qcz9lMTgwIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfb2JqZWN0U3ByZWFkIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL29iamVjdFNwcmVhZFwiO1xuaW1wb3J0ICogYXMgY29sb3JzIGZyb20gJ0BhdGxhc2tpdC90aGVtZS9jb2xvcnMnO1xuaW1wb3J0IHsgZm9udEZhbWlseSwgZm9udFNpemUsIGdyaWRTaXplIGFzIGdyaWRTaXplRm4gfSBmcm9tICdAYXRsYXNraXQvdGhlbWUvY29uc3RhbnRzJztcblxudmFyIHRhcmdldEVkZ2VBbmRJRTExID0gZnVuY3Rpb24gdGFyZ2V0RWRnZUFuZElFMTEoc3R5bGVzKSB7XG4gIC8vIEZyb20gaHR0cHM6Ly9icm93c2Vyc3RyYW5nZW5lc3MuZ2l0aHViLmlvL2Nzc19oYWNrcy5odG1sXG4gIHJldHVybiB7XG4gICAgJ0BtZWRpYSBzY3JlZW4gYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSknOiBzdHlsZXMsXG4gICAgJ0BzdXBwb3J0cyAoLW1zLWltZS1hbGlnbjphdXRvKSc6IHN0eWxlc1xuICB9O1xufTtcblxudmFyIHRhcmdldEZpcmVmb3ggPSBmdW5jdGlvbiB0YXJnZXRGaXJlZm94KHN0eWxlcykge1xuICAvLyBGcm9tIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vYS85NTM0OTFcbiAgcmV0dXJuIHtcbiAgICAnQC1tb3otZG9jdW1lbnQgdXJsLXByZWZpeCgpJzogc3R5bGVzXG4gIH07XG59O1xuXG52YXIgZ3JpZFNpemUgPSBncmlkU2l6ZUZuKCk7XG4vKipcbiAqIENvbXBvbmVudCB0cmVlIHN0cnVjdHVyZTpcbiAqIC0gaXRlbUJhc2VcbiAqICAgLSBiZWZvcmVXcmFwcGVyXG4gKiAgIC0gY29udGVudFdyYXBwZXJcbiAqICAgICAtIHRleHRXcmFwcGVyXG4gKiAgICAgLSBzdWJUZXh0V3JhcHBlclxuICogICAtIGFmdGVyV3JhcHBlclxuICovXG4vLyBUaGVzZSBhcmUgdGhlIHN0eWxlcyB3aGljaCBhcmUgY29uc2lzdGVudCByZWdhcmRsZXNzIG9mIHRoZW1lIG9yIHNwYWNpbmdcblxudmFyIGJhc2VTdHlsZXMgPSB7XG4gIGl0ZW1CYXNlOiB7XG4gICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgYm9yZGVyOiAnbm9uZScsXG4gICAgYm9yZGVyUmFkaXVzOiAnM3B4JyxcbiAgICBib3hTaXppbmc6ICdib3JkZXItYm94JyxcbiAgICBjb2xvcjogJ2luaGVyaXQnLFxuICAgIGN1cnNvcjogJ3BvaW50ZXInLFxuICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICBmbGV4U2hyaW5rOiAwLFxuICAgIGZvbnRTaXplOiAnaW5oZXJpdCcsXG4gICAgaGVpZ2h0OiBncmlkU2l6ZSAqIDUsXG4gICAgb3V0bGluZTogJ25vbmUnLFxuICAgIHRleHRBbGlnbjogJ2xlZnQnLFxuICAgIHRleHREZWNvcmF0aW9uOiAnbm9uZScsXG4gICAgd2lkdGg6ICcxMDAlJyxcbiAgICAnJjpmb2N1cyc6IHtcbiAgICAgIGJveFNoYWRvdzogXCIwIDAgMCAycHggXCIuY29uY2F0KGNvbG9ycy5CMTAwLCBcIiBpbnNldFwiKVxuICAgIH1cbiAgfSxcbiAgYmVmb3JlV3JhcHBlcjoge1xuICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICBmbGV4U2hyaW5rOiAwXG4gIH0sXG4gIGNvbnRlbnRXcmFwcGVyOiBfb2JqZWN0U3ByZWFkKHtcbiAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsXG4gICAgZmxleEdyb3c6IDEsXG4gICAgb3ZlcmZsb3dYOiAnaGlkZGVuJ1xuICB9LCB0YXJnZXRFZGdlQW5kSUUxMSh7XG4gICAgZm9udEZhbWlseTogZm9udEZhbWlseSgpXG4gIH0pKSxcbiAgdGV4dFdyYXBwZXI6IF9vYmplY3RTcHJlYWQoe1xuICAgIGZsZXg6ICcxIDEgYXV0bycsXG4gICAgb3ZlcmZsb3c6ICdoaWRkZW4nLFxuICAgIHRleHRPdmVyZmxvdzogJ2VsbGlwc2lzJyxcbiAgICB3aGl0ZVNwYWNlOiAnbm93cmFwJ1xuICB9LCB0YXJnZXRFZGdlQW5kSUUxMSh7XG4gICAgbGluZUhlaWdodDogMTggLyBmb250U2l6ZSgpXG4gIH0pLCB0YXJnZXRGaXJlZm94KHtcbiAgICBsaW5lSGVpZ2h0OiAxOCAvIGZvbnRTaXplKClcbiAgfSksIHtcbiAgICBsaW5lSGVpZ2h0OiAxNiAvIGZvbnRTaXplKClcbiAgfSksXG4gIHN1YlRleHRXcmFwcGVyOiBfb2JqZWN0U3ByZWFkKHtcbiAgICBmbGV4OiAnMSAxIGF1dG8nLFxuICAgIG92ZXJmbG93OiAnaGlkZGVuJyxcbiAgICB0ZXh0T3ZlcmZsb3c6ICdlbGxpcHNpcycsXG4gICAgd2hpdGVTcGFjZTogJ25vd3JhcCdcbiAgfSwgdGFyZ2V0RWRnZUFuZElFMTEoe1xuICAgIG1hcmdpblRvcDogJy0ycHgnXG4gIH0pKSxcbiAgYWZ0ZXJXcmFwcGVyOiB7XG4gICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgIGZsZXhTaHJpbms6IDBcbiAgfVxufTsgLy8gVGhlc2UgYXJlIHN0eWxlcyB3aGljaCBzd2l0Y2ggb24gdGhlIHNwYWNpbmcgcHJvcFxuXG52YXIgbGF5b3V0U3R5bGVzID0ge1xuICBjb21wYWN0OiB7XG4gICAgaXRlbUJhc2U6IHtcbiAgICAgIHBhZGRpbmdSaWdodDogZ3JpZFNpemUsXG4gICAgICBwYWRkaW5nTGVmdDogZ3JpZFNpemVcbiAgICB9LFxuICAgIGJlZm9yZVdyYXBwZXI6IHtcbiAgICAgIG1hcmdpblJpZ2h0OiBncmlkU2l6ZVxuICAgIH0sXG4gICAgc3ViVGV4dFdyYXBwZXI6IHtcbiAgICAgIGZvbnRTaXplOiAnMTBweCcsXG4gICAgICBsaW5lSGVpZ2h0OiAxLjJcbiAgICB9LFxuICAgIGFmdGVyV3JhcHBlcjoge1xuICAgICAgbWFyZ2luTGVmdDogZ3JpZFNpemVcbiAgICB9XG4gIH0sXG4gIGRlZmF1bHQ6IHtcbiAgICBpdGVtQmFzZToge1xuICAgICAgcGFkZGluZ0xlZnQ6IGdyaWRTaXplICogMS41LFxuICAgICAgcGFkZGluZ1JpZ2h0OiBncmlkU2l6ZSAqIDEuNVxuICAgIH0sXG4gICAgYmVmb3JlV3JhcHBlcjoge1xuICAgICAgbWFyZ2luUmlnaHQ6IGdyaWRTaXplICogMlxuICAgIH0sXG4gICAgc3ViVGV4dFdyYXBwZXI6IF9vYmplY3RTcHJlYWQoe1xuICAgICAgZm9udFNpemU6ICcxMnB4J1xuICAgIH0sIHRhcmdldEVkZ2VBbmRJRTExKHtcbiAgICAgIGxpbmVIZWlnaHQ6IDE2IC8gMTIsXG4gICAgICBtYXJnaW5Ub3A6ICctMnB4J1xuICAgIH0pLCB7XG4gICAgICBsaW5lSGVpZ2h0OiAxNCAvIDEyXG4gICAgfSksXG4gICAgYWZ0ZXJXcmFwcGVyOiB7XG4gICAgICBtYXJnaW5MZWZ0OiBncmlkU2l6ZSAqIDJcbiAgICB9XG4gIH1cbn07XG5cbnZhciBnZXRJdGVtQmFja2dyb3VuZENvbG9yID0gZnVuY3Rpb24gZ2V0SXRlbUJhY2tncm91bmRDb2xvcihiYWNrZ3JvdW5kLCBfcmVmKSB7XG4gIHZhciBpc0FjdGl2ZSA9IF9yZWYuaXNBY3RpdmUsXG4gICAgICBpc1NlbGVjdGVkID0gX3JlZi5pc1NlbGVjdGVkLFxuICAgICAgaXNIb3ZlciA9IF9yZWYuaXNIb3ZlcixcbiAgICAgIGlzRHJhZ2dpbmcgPSBfcmVmLmlzRHJhZ2dpbmc7XG4gIGlmIChpc0RyYWdnaW5nKSByZXR1cm4gYmFja2dyb3VuZC5oaW50O1xuICBpZiAoaXNBY3RpdmUpIHJldHVybiBiYWNrZ3JvdW5kLmludGVyYWN0O1xuICBpZiAoaXNTZWxlY3RlZCkgcmV0dXJuIGJhY2tncm91bmQuc3RhdGljO1xuICBpZiAoaXNIb3ZlcikgcmV0dXJuIGJhY2tncm91bmQuaGludDtcbiAgcmV0dXJuIGJhY2tncm91bmQuZGVmYXVsdDtcbn07IC8vIExpZ2h0IHRoZW1lXG5cblxuZXhwb3J0IGRlZmF1bHQgKGZ1bmN0aW9uIChfcmVmMikge1xuICB2YXIgcHJvZHVjdCA9IF9yZWYyLnByb2R1Y3Q7XG4gIHJldHVybiBmdW5jdGlvbiAoX3JlZjMpIHtcbiAgICB2YXIgaXNBY3RpdmUgPSBfcmVmMy5pc0FjdGl2ZSxcbiAgICAgICAgaXNEcmFnZ2luZyA9IF9yZWYzLmlzRHJhZ2dpbmcsXG4gICAgICAgIGlzSG92ZXIgPSBfcmVmMy5pc0hvdmVyLFxuICAgICAgICBpc1NlbGVjdGVkID0gX3JlZjMuaXNTZWxlY3RlZCxcbiAgICAgICAgc3BhY2luZyA9IF9yZWYzLnNwYWNpbmc7XG4gICAgdmFyIGNvbnRhaW5lclRleHRDb2xvciA9IGlzQWN0aXZlIHx8IGlzU2VsZWN0ZWQgPyBjb2xvcnMuQjQwMCA6IGNvbG9ycy5ONTAwO1xuICAgIHZhciBjb250YWluZXJCYWNrZ3JvdW5kQ29sb3IgPSBnZXRJdGVtQmFja2dyb3VuZENvbG9yKHtcbiAgICAgIGRlZmF1bHQ6IGNvbG9ycy5OMjAsXG4gICAgICBoaW50OiBjb2xvcnMuTjMwLFxuICAgICAgaW50ZXJhY3Q6IGNvbG9ycy5CNTAsXG4gICAgICBzdGF0aWM6IGNvbG9ycy5OMzBcbiAgICB9LCB7XG4gICAgICBpc0FjdGl2ZTogaXNBY3RpdmUsXG4gICAgICBpc0hvdmVyOiBpc0hvdmVyLFxuICAgICAgaXNTZWxlY3RlZDogaXNTZWxlY3RlZCxcbiAgICAgIGlzRHJhZ2dpbmc6IGlzRHJhZ2dpbmdcbiAgICB9KTtcbiAgICB2YXIgcHJvZHVjdEJhY2tncm91bmRDb2xvciA9IGdldEl0ZW1CYWNrZ3JvdW5kQ29sb3IocHJvZHVjdC5iYWNrZ3JvdW5kLCB7XG4gICAgICBpc0FjdGl2ZTogaXNBY3RpdmUsXG4gICAgICBpc0RyYWdnaW5nOiBpc0RyYWdnaW5nLFxuICAgICAgaXNIb3ZlcjogaXNIb3ZlcixcbiAgICAgIGlzU2VsZWN0ZWQ6IGlzU2VsZWN0ZWRcbiAgICB9KTtcbiAgICByZXR1cm4ge1xuICAgICAgY29udGFpbmVyOiB7XG4gICAgICAgIGl0ZW1CYXNlOiBfb2JqZWN0U3ByZWFkKHt9LCBiYXNlU3R5bGVzLml0ZW1CYXNlLCBsYXlvdXRTdHlsZXNbc3BhY2luZ10uaXRlbUJhc2UsIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IGNvbnRhaW5lckJhY2tncm91bmRDb2xvcixcbiAgICAgICAgICBmaWxsOiBjb250YWluZXJCYWNrZ3JvdW5kQ29sb3JcbiAgICAgICAgfSksXG4gICAgICAgIGJlZm9yZVdyYXBwZXI6IF9vYmplY3RTcHJlYWQoe30sIGJhc2VTdHlsZXMuYmVmb3JlV3JhcHBlciwgbGF5b3V0U3R5bGVzW3NwYWNpbmddLmJlZm9yZVdyYXBwZXIsIHtcbiAgICAgICAgICBjb2xvcjogY29udGFpbmVyVGV4dENvbG9yXG4gICAgICAgIH0pLFxuICAgICAgICBjb250ZW50V3JhcHBlcjogYmFzZVN0eWxlcy5jb250ZW50V3JhcHBlcixcbiAgICAgICAgdGV4dFdyYXBwZXI6IF9vYmplY3RTcHJlYWQoe30sIGJhc2VTdHlsZXMudGV4dFdyYXBwZXIsIHtcbiAgICAgICAgICBjb2xvcjogY29udGFpbmVyVGV4dENvbG9yXG4gICAgICAgIH0pLFxuICAgICAgICBzdWJUZXh0V3JhcHBlcjogX29iamVjdFNwcmVhZCh7fSwgYmFzZVN0eWxlcy5zdWJUZXh0V3JhcHBlciwgbGF5b3V0U3R5bGVzW3NwYWNpbmddLnN1YlRleHRXcmFwcGVyLCB7XG4gICAgICAgICAgY29sb3I6IGNvbG9ycy5OMjAwXG4gICAgICAgIH0pLFxuICAgICAgICBhZnRlcldyYXBwZXI6IF9vYmplY3RTcHJlYWQoe30sIGJhc2VTdHlsZXMuYWZ0ZXJXcmFwcGVyLCBsYXlvdXRTdHlsZXNbc3BhY2luZ10uYWZ0ZXJXcmFwcGVyLCB7XG4gICAgICAgICAgY29sb3I6IGNvbG9ycy5ONTAwXG4gICAgICAgIH0pXG4gICAgICB9LFxuICAgICAgcHJvZHVjdDoge1xuICAgICAgICBpdGVtQmFzZTogX29iamVjdFNwcmVhZCh7fSwgYmFzZVN0eWxlcy5pdGVtQmFzZSwgbGF5b3V0U3R5bGVzW3NwYWNpbmddLml0ZW1CYXNlLCB7XG4gICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBwcm9kdWN0QmFja2dyb3VuZENvbG9yLFxuICAgICAgICAgIGZpbGw6IHByb2R1Y3RCYWNrZ3JvdW5kQ29sb3JcbiAgICAgICAgfSksXG4gICAgICAgIGJlZm9yZVdyYXBwZXI6IF9vYmplY3RTcHJlYWQoe30sIGJhc2VTdHlsZXMuYmVmb3JlV3JhcHBlciwgbGF5b3V0U3R5bGVzW3NwYWNpbmddLmJlZm9yZVdyYXBwZXIsIHtcbiAgICAgICAgICBjb2xvcjogcHJvZHVjdC50ZXh0LmRlZmF1bHRcbiAgICAgICAgfSksXG4gICAgICAgIGNvbnRlbnRXcmFwcGVyOiBiYXNlU3R5bGVzLmNvbnRlbnRXcmFwcGVyLFxuICAgICAgICB0ZXh0V3JhcHBlcjogX29iamVjdFNwcmVhZCh7fSwgYmFzZVN0eWxlcy50ZXh0V3JhcHBlciwge1xuICAgICAgICAgIGNvbG9yOiBwcm9kdWN0LnRleHQuZGVmYXVsdFxuICAgICAgICB9KSxcbiAgICAgICAgc3ViVGV4dFdyYXBwZXI6IF9vYmplY3RTcHJlYWQoe30sIGJhc2VTdHlsZXMuc3ViVGV4dFdyYXBwZXIsIGxheW91dFN0eWxlc1tzcGFjaW5nXS5zdWJUZXh0V3JhcHBlciwge1xuICAgICAgICAgIGNvbG9yOiBwcm9kdWN0LnRleHQuc3VidGxlXG4gICAgICAgIH0pLFxuICAgICAgICBhZnRlcldyYXBwZXI6IF9vYmplY3RTcHJlYWQoe30sIGJhc2VTdHlsZXMuYWZ0ZXJXcmFwcGVyLCBsYXlvdXRTdHlsZXNbc3BhY2luZ10uYWZ0ZXJXcmFwcGVyLCB7XG4gICAgICAgICAgY29sb3I6IHByb2R1Y3QudGV4dC5kZWZhdWx0XG4gICAgICAgIH0pXG4gICAgICB9XG4gICAgfTtcbiAgfTtcbn0pOyJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/Item/styles.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/ItemAvatar/ItemAvatar.js": /*!************************************************************************************************************!*\ !*** ./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/ItemAvatar/ItemAvatar.js ***! \************************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ \"./node_modules/@babel/runtime/helpers/objectWithoutProperties.js\");\n/* harmony import */ var _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ \"./node_modules/@babel/runtime/helpers/classCallCheck.js\");\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\");\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ \"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ \"./node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ \"./node_modules/@babel/runtime/helpers/inherits.js\");\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _emotion_core__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @emotion/core */ \"./node_modules/@emotion/core/dist/core.browser.esm.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var _atlaskit_avatar__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @atlaskit/avatar */ \"./node_modules/@atlaskit/avatar/dist/esm/index.js\");\n/* harmony import */ var _theme__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../../theme */ \"./node_modules/@atlaskit/navigation-next/dist/esm/theme/index.js\");\n\n\n\n\n\n\n\n\n\n\n\n\nvar ItemAvatar =\n/*#__PURE__*/\nfunction (_Component) {\n _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_6___default()(ItemAvatar, _Component);\n\n function ItemAvatar() {\n _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2___default()(this, ItemAvatar);\n\n return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4___default()(this, _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5___default()(ItemAvatar).apply(this, arguments));\n }\n\n _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3___default()(ItemAvatar, [{\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n itemState = _this$props.itemState,\n styleReducer = _this$props.styles,\n theme = _this$props.theme,\n props = _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1___default()(_this$props, [\"itemState\", \"styles\", \"theme\"]);\n\n var mode = theme.mode,\n context = theme.context;\n var borderColor = styleReducer(mode.item(itemState)[context], itemState).itemBase.backgroundColor;\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_7__[\"jsx\"])(_atlaskit_avatar__WEBPACK_IMPORTED_MODULE_9__[\"default\"], _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({\n borderColor: borderColor\n }, props));\n }\n }]);\n\n return ItemAvatar;\n}(react__WEBPACK_IMPORTED_MODULE_8__[\"Component\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(_theme__WEBPACK_IMPORTED_MODULE_10__[\"withContentTheme\"])(ItemAvatar));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL0l0ZW1BdmF0YXIvSXRlbUF2YXRhci5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AYXRsYXNraXQvbmF2aWdhdGlvbi1uZXh0L2Rpc3QvZXNtL2NvbXBvbmVudHMvcHJlc2VudGF0aW9uYWwvSXRlbUF2YXRhci9JdGVtQXZhdGFyLmpzPzliNTEiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IF9leHRlbmRzIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2V4dGVuZHNcIjtcbmltcG9ydCBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvb2JqZWN0V2l0aG91dFByb3BlcnRpZXNcIjtcbmltcG9ydCBfY2xhc3NDYWxsQ2hlY2sgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvY2xhc3NDYWxsQ2hlY2tcIjtcbmltcG9ydCBfY3JlYXRlQ2xhc3MgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvY3JlYXRlQ2xhc3NcIjtcbmltcG9ydCBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybiBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuXCI7XG5pbXBvcnQgX2dldFByb3RvdHlwZU9mIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2dldFByb3RvdHlwZU9mXCI7XG5pbXBvcnQgX2luaGVyaXRzIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2luaGVyaXRzXCI7XG5pbXBvcnQgeyBqc3ggYXMgX19fRW1vdGlvbkpTWCB9IGZyb20gXCJAZW1vdGlvbi9jb3JlXCI7XG5pbXBvcnQgUmVhY3QsIHsgQ29tcG9uZW50IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IEF2YXRhciBmcm9tICdAYXRsYXNraXQvYXZhdGFyJztcbmltcG9ydCB7IHdpdGhDb250ZW50VGhlbWUgfSBmcm9tICcuLi8uLi8uLi90aGVtZSc7XG5cbnZhciBJdGVtQXZhdGFyID1cbi8qI19fUFVSRV9fKi9cbmZ1bmN0aW9uIChfQ29tcG9uZW50KSB7XG4gIF9pbmhlcml0cyhJdGVtQXZhdGFyLCBfQ29tcG9uZW50KTtcblxuICBmdW5jdGlvbiBJdGVtQXZhdGFyKCkge1xuICAgIF9jbGFzc0NhbGxDaGVjayh0aGlzLCBJdGVtQXZhdGFyKTtcblxuICAgIHJldHVybiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybih0aGlzLCBfZ2V0UHJvdG90eXBlT2YoSXRlbUF2YXRhcikuYXBwbHkodGhpcywgYXJndW1lbnRzKSk7XG4gIH1cblxuICBfY3JlYXRlQ2xhc3MoSXRlbUF2YXRhciwgW3tcbiAgICBrZXk6IFwicmVuZGVyXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIHJlbmRlcigpIHtcbiAgICAgIHZhciBfdGhpcyRwcm9wcyA9IHRoaXMucHJvcHMsXG4gICAgICAgICAgaXRlbVN0YXRlID0gX3RoaXMkcHJvcHMuaXRlbVN0YXRlLFxuICAgICAgICAgIHN0eWxlUmVkdWNlciA9IF90aGlzJHByb3BzLnN0eWxlcyxcbiAgICAgICAgICB0aGVtZSA9IF90aGlzJHByb3BzLnRoZW1lLFxuICAgICAgICAgIHByb3BzID0gX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzKF90aGlzJHByb3BzLCBbXCJpdGVtU3RhdGVcIiwgXCJzdHlsZXNcIiwgXCJ0aGVtZVwiXSk7XG5cbiAgICAgIHZhciBtb2RlID0gdGhlbWUubW9kZSxcbiAgICAgICAgICBjb250ZXh0ID0gdGhlbWUuY29udGV4dDtcbiAgICAgIHZhciBib3JkZXJDb2xvciA9IHN0eWxlUmVkdWNlcihtb2RlLml0ZW0oaXRlbVN0YXRlKVtjb250ZXh0XSwgaXRlbVN0YXRlKS5pdGVtQmFzZS5iYWNrZ3JvdW5kQ29sb3I7XG4gICAgICByZXR1cm4gX19fRW1vdGlvbkpTWChBdmF0YXIsIF9leHRlbmRzKHtcbiAgICAgICAgYm9yZGVyQ29sb3I6IGJvcmRlckNvbG9yXG4gICAgICB9LCBwcm9wcykpO1xuICAgIH1cbiAgfV0pO1xuXG4gIHJldHVybiBJdGVtQXZhdGFyO1xufShDb21wb25lbnQpO1xuXG5leHBvcnQgZGVmYXVsdCB3aXRoQ29udGVudFRoZW1lKEl0ZW1BdmF0YXIpOyJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/ItemAvatar/ItemAvatar.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/ItemAvatar/index.js": /*!*******************************************************************************************************!*\ !*** ./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/ItemAvatar/index.js ***! \*******************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return ConnectedItemAvatar; });\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ \"./node_modules/@babel/runtime/helpers/classCallCheck.js\");\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\");\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ \"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ \"./node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ \"./node_modules/@babel/runtime/helpers/inherits.js\");\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ \"./node_modules/@babel/runtime/helpers/defineProperty.js\");\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _emotion_core__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @emotion/core */ \"./node_modules/@emotion/core/dist/core.browser.esm.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _theme__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../../theme */ \"./node_modules/@atlaskit/navigation-next/dist/esm/theme/index.js\");\n/* harmony import */ var _ItemAvatar__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./ItemAvatar */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/ItemAvatar/ItemAvatar.js\");\n\n\n\n\n\n\n\n\n\n\nvar ItemAvatarWithTheme = Object(_theme__WEBPACK_IMPORTED_MODULE_8__[\"withContentTheme\"])(_ItemAvatar__WEBPACK_IMPORTED_MODULE_9__[\"default\"]);\n\nvar ConnectedItemAvatar =\n/*#__PURE__*/\nfunction (_Component) {\n _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4___default()(ConnectedItemAvatar, _Component);\n\n function ConnectedItemAvatar() {\n _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default()(this, ConnectedItemAvatar);\n\n return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2___default()(this, _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3___default()(ConnectedItemAvatar).apply(this, arguments));\n }\n\n _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1___default()(ConnectedItemAvatar, [{\n key: \"render\",\n value: function render() {\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_6__[\"jsx\"])(ItemAvatarWithTheme, this.props);\n }\n }]);\n\n return ConnectedItemAvatar;\n}(react__WEBPACK_IMPORTED_MODULE_7__[\"Component\"]);\n\n_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_5___default()(ConnectedItemAvatar, \"defaultProps\", {\n styles: _theme__WEBPACK_IMPORTED_MODULE_8__[\"styleReducerNoOp\"]\n});\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL0l0ZW1BdmF0YXIvaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL0l0ZW1BdmF0YXIvaW5kZXguanM/ZjU1YyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgX2NsYXNzQ2FsbENoZWNrIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2NsYXNzQ2FsbENoZWNrXCI7XG5pbXBvcnQgX2NyZWF0ZUNsYXNzIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2NyZWF0ZUNsYXNzXCI7XG5pbXBvcnQgX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4gZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvcG9zc2libGVDb25zdHJ1Y3RvclJldHVyblwiO1xuaW1wb3J0IF9nZXRQcm90b3R5cGVPZiBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9nZXRQcm90b3R5cGVPZlwiO1xuaW1wb3J0IF9pbmhlcml0cyBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9pbmhlcml0c1wiO1xuaW1wb3J0IF9kZWZpbmVQcm9wZXJ0eSBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9kZWZpbmVQcm9wZXJ0eVwiO1xuaW1wb3J0IHsganN4IGFzIF9fX0Vtb3Rpb25KU1ggfSBmcm9tIFwiQGVtb3Rpb24vY29yZVwiO1xuaW1wb3J0IFJlYWN0LCB7IENvbXBvbmVudCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHN0eWxlUmVkdWNlck5vT3AsIHdpdGhDb250ZW50VGhlbWUgfSBmcm9tICcuLi8uLi8uLi90aGVtZSc7XG5pbXBvcnQgSXRlbUF2YXRhciBmcm9tICcuL0l0ZW1BdmF0YXInO1xudmFyIEl0ZW1BdmF0YXJXaXRoVGhlbWUgPSB3aXRoQ29udGVudFRoZW1lKEl0ZW1BdmF0YXIpO1xuXG52YXIgQ29ubmVjdGVkSXRlbUF2YXRhciA9XG4vKiNfX1BVUkVfXyovXG5mdW5jdGlvbiAoX0NvbXBvbmVudCkge1xuICBfaW5oZXJpdHMoQ29ubmVjdGVkSXRlbUF2YXRhciwgX0NvbXBvbmVudCk7XG5cbiAgZnVuY3Rpb24gQ29ubmVjdGVkSXRlbUF2YXRhcigpIHtcbiAgICBfY2xhc3NDYWxsQ2hlY2sodGhpcywgQ29ubmVjdGVkSXRlbUF2YXRhcik7XG5cbiAgICByZXR1cm4gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4odGhpcywgX2dldFByb3RvdHlwZU9mKENvbm5lY3RlZEl0ZW1BdmF0YXIpLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykpO1xuICB9XG5cbiAgX2NyZWF0ZUNsYXNzKENvbm5lY3RlZEl0ZW1BdmF0YXIsIFt7XG4gICAga2V5OiBcInJlbmRlclwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiByZW5kZXIoKSB7XG4gICAgICByZXR1cm4gX19fRW1vdGlvbkpTWChJdGVtQXZhdGFyV2l0aFRoZW1lLCB0aGlzLnByb3BzKTtcbiAgICB9XG4gIH1dKTtcblxuICByZXR1cm4gQ29ubmVjdGVkSXRlbUF2YXRhcjtcbn0oQ29tcG9uZW50KTtcblxuX2RlZmluZVByb3BlcnR5KENvbm5lY3RlZEl0ZW1BdmF0YXIsIFwiZGVmYXVsdFByb3BzXCIsIHtcbiAgc3R5bGVzOiBzdHlsZVJlZHVjZXJOb09wXG59KTtcblxuZXhwb3J0IHsgQ29ubmVjdGVkSXRlbUF2YXRhciBhcyBkZWZhdWx0IH07Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/ItemAvatar/index.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/LayerInitialised/index.js": /*!*************************************************************************************************************!*\ !*** ./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/LayerInitialised/index.js ***! \*************************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ \"./node_modules/@babel/runtime/helpers/classCallCheck.js\");\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\");\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ \"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ \"./node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/assertThisInitialized */ \"./node_modules/@babel/runtime/helpers/assertThisInitialized.js\");\n/* harmony import */ var _babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ \"./node_modules/@babel/runtime/helpers/inherits.js\");\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ \"./node_modules/@babel/runtime/helpers/defineProperty.js\");\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _atlaskit_analytics_next__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @atlaskit/analytics-next */ \"./node_modules/@atlaskit/analytics-next/dist/esm/index.js\");\n/* harmony import */ var _common_analytics__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../../common/analytics */ \"./node_modules/@atlaskit/navigation-next/dist/esm/common/analytics.js\");\n\n\n\n\n\n\n\n\n\n\n\nvar LayerInitialised =\n/*#__PURE__*/\nfunction (_Component) {\n _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5___default()(LayerInitialised, _Component);\n\n function LayerInitialised() {\n var _getPrototypeOf2;\n\n var _this;\n\n _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default()(this, LayerInitialised);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2___default()(this, (_getPrototypeOf2 = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3___default()(LayerInitialised)).call.apply(_getPrototypeOf2, [this].concat(args)));\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4___default()(_this), \"fireInitialisedEvent\", function () {\n var _this$props = _this.props,\n createAnalyticsEvent = _this$props.createAnalyticsEvent,\n activeView = _this$props.activeView,\n onInitialised = _this$props.onInitialised;\n\n if (activeView) {\n Object(_common_analytics__WEBPACK_IMPORTED_MODULE_9__[\"navigationUILoaded\"])(createAnalyticsEvent, {\n layer: activeView.type\n });\n\n if (onInitialised) {\n onInitialised();\n }\n }\n });\n\n return _this;\n }\n\n _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1___default()(LayerInitialised, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n if (!this.props.initialised) {\n this.fireInitialisedEvent();\n }\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n if (!this.props.initialised) {\n this.fireInitialisedEvent();\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n return null;\n }\n }]);\n\n return LayerInitialised;\n}(react__WEBPACK_IMPORTED_MODULE_7__[\"Component\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(_atlaskit_analytics_next__WEBPACK_IMPORTED_MODULE_8__[\"withAnalyticsEvents\"])()(LayerInitialised));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL0xheWVySW5pdGlhbGlzZWQvaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL0xheWVySW5pdGlhbGlzZWQvaW5kZXguanM/Njc2YyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgX2NsYXNzQ2FsbENoZWNrIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2NsYXNzQ2FsbENoZWNrXCI7XG5pbXBvcnQgX2NyZWF0ZUNsYXNzIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2NyZWF0ZUNsYXNzXCI7XG5pbXBvcnQgX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4gZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvcG9zc2libGVDb25zdHJ1Y3RvclJldHVyblwiO1xuaW1wb3J0IF9nZXRQcm90b3R5cGVPZiBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9nZXRQcm90b3R5cGVPZlwiO1xuaW1wb3J0IF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvYXNzZXJ0VGhpc0luaXRpYWxpemVkXCI7XG5pbXBvcnQgX2luaGVyaXRzIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2luaGVyaXRzXCI7XG5pbXBvcnQgX2RlZmluZVByb3BlcnR5IGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2RlZmluZVByb3BlcnR5XCI7XG5pbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyB3aXRoQW5hbHl0aWNzRXZlbnRzIH0gZnJvbSAnQGF0bGFza2l0L2FuYWx5dGljcy1uZXh0JztcbmltcG9ydCB7IG5hdmlnYXRpb25VSUxvYWRlZCB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9hbmFseXRpY3MnO1xuXG52YXIgTGF5ZXJJbml0aWFsaXNlZCA9XG4vKiNfX1BVUkVfXyovXG5mdW5jdGlvbiAoX0NvbXBvbmVudCkge1xuICBfaW5oZXJpdHMoTGF5ZXJJbml0aWFsaXNlZCwgX0NvbXBvbmVudCk7XG5cbiAgZnVuY3Rpb24gTGF5ZXJJbml0aWFsaXNlZCgpIHtcbiAgICB2YXIgX2dldFByb3RvdHlwZU9mMjtcblxuICAgIHZhciBfdGhpcztcblxuICAgIF9jbGFzc0NhbGxDaGVjayh0aGlzLCBMYXllckluaXRpYWxpc2VkKTtcblxuICAgIGZvciAodmFyIF9sZW4gPSBhcmd1bWVudHMubGVuZ3RoLCBhcmdzID0gbmV3IEFycmF5KF9sZW4pLCBfa2V5ID0gMDsgX2tleSA8IF9sZW47IF9rZXkrKykge1xuICAgICAgYXJnc1tfa2V5XSA9IGFyZ3VtZW50c1tfa2V5XTtcbiAgICB9XG5cbiAgICBfdGhpcyA9IF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHRoaXMsIChfZ2V0UHJvdG90eXBlT2YyID0gX2dldFByb3RvdHlwZU9mKExheWVySW5pdGlhbGlzZWQpKS5jYWxsLmFwcGx5KF9nZXRQcm90b3R5cGVPZjIsIFt0aGlzXS5jb25jYXQoYXJncykpKTtcblxuICAgIF9kZWZpbmVQcm9wZXJ0eShfYXNzZXJ0VGhpc0luaXRpYWxpemVkKF90aGlzKSwgXCJmaXJlSW5pdGlhbGlzZWRFdmVudFwiLCBmdW5jdGlvbiAoKSB7XG4gICAgICB2YXIgX3RoaXMkcHJvcHMgPSBfdGhpcy5wcm9wcyxcbiAgICAgICAgICBjcmVhdGVBbmFseXRpY3NFdmVudCA9IF90aGlzJHByb3BzLmNyZWF0ZUFuYWx5dGljc0V2ZW50LFxuICAgICAgICAgIGFjdGl2ZVZpZXcgPSBfdGhpcyRwcm9wcy5hY3RpdmVWaWV3LFxuICAgICAgICAgIG9uSW5pdGlhbGlzZWQgPSBfdGhpcyRwcm9wcy5vbkluaXRpYWxpc2VkO1xuXG4gICAgICBpZiAoYWN0aXZlVmlldykge1xuICAgICAgICBuYXZpZ2F0aW9uVUlMb2FkZWQoY3JlYXRlQW5hbHl0aWNzRXZlbnQsIHtcbiAgICAgICAgICBsYXllcjogYWN0aXZlVmlldy50eXBlXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmIChvbkluaXRpYWxpc2VkKSB7XG4gICAgICAgICAgb25Jbml0aWFsaXNlZCgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gX3RoaXM7XG4gIH1cblxuICBfY3JlYXRlQ2xhc3MoTGF5ZXJJbml0aWFsaXNlZCwgW3tcbiAgICBrZXk6IFwiY29tcG9uZW50RGlkTW91bnRcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgICBpZiAoIXRoaXMucHJvcHMuaW5pdGlhbGlzZWQpIHtcbiAgICAgICAgdGhpcy5maXJlSW5pdGlhbGlzZWRFdmVudCgpO1xuICAgICAgfVxuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJjb21wb25lbnREaWRVcGRhdGVcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gY29tcG9uZW50RGlkVXBkYXRlKCkge1xuICAgICAgaWYgKCF0aGlzLnByb3BzLmluaXRpYWxpc2VkKSB7XG4gICAgICAgIHRoaXMuZmlyZUluaXRpYWxpc2VkRXZlbnQoKTtcbiAgICAgIH1cbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwicmVuZGVyXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIHJlbmRlcigpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfV0pO1xuXG4gIHJldHVybiBMYXllckluaXRpYWxpc2VkO1xufShDb21wb25lbnQpO1xuXG5leHBvcnQgZGVmYXVsdCB3aXRoQW5hbHl0aWNzRXZlbnRzKCkoTGF5ZXJJbml0aWFsaXNlZCk7Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/LayerInitialised/index.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/LayoutManager/LayoutEvent.js": /*!****************************************************************************************************************!*\ !*** ./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/LayoutManager/LayoutEvent.js ***! \****************************************************************************************************************/ /*! exports provided: LayoutEventEmitter, LayoutEventListener */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"LayoutEventEmitter\", function() { return Consumer; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"LayoutEventListener\", function() { return LayoutEventListener; });\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ \"./node_modules/@babel/runtime/helpers/classCallCheck.js\");\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\");\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ \"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ \"./node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/assertThisInitialized */ \"./node_modules/@babel/runtime/helpers/assertThisInitialized.js\");\n/* harmony import */ var _babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ \"./node_modules/@babel/runtime/helpers/inherits.js\");\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ \"./node_modules/@babel/runtime/helpers/defineProperty.js\");\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _emotion_core__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @emotion/core */ \"./node_modules/@emotion/core/dist/core.browser.esm.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_8__);\n\n\n\n\n\n\n\n\n\n\nvar noop = function noop() {};\n\nvar _React$createContext = react__WEBPACK_IMPORTED_MODULE_8___default.a.createContext({\n emitItemDragStart: noop,\n emitItemDragEnd: noop\n}),\n Provider = _React$createContext.Provider,\n Consumer = _React$createContext.Consumer;\n\n\nvar LayoutEventListener =\n/*#__PURE__*/\nfunction (_Component) {\n _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5___default()(LayoutEventListener, _Component);\n\n function LayoutEventListener(props) {\n var _this;\n\n _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default()(this, LayoutEventListener);\n\n _this = _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2___default()(this, _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3___default()(LayoutEventListener).call(this, props));\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4___default()(_this), \"emitters\", void 0);\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4___default()(_this), \"emitItemDragStart\", function () {\n _this.props.onItemDragStart();\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4___default()(_this), \"emitItemDragEnd\", function () {\n _this.props.onItemDragEnd();\n });\n\n _this.emitters = {\n emitItemDragStart: _this.emitItemDragStart,\n emitItemDragEnd: _this.emitItemDragEnd\n };\n return _this;\n }\n\n _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1___default()(LayoutEventListener, [{\n key: \"render\",\n value: function render() {\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_7__[\"jsx\"])(Provider, {\n value: this.emitters\n }, this.props.children);\n }\n }]);\n\n return LayoutEventListener;\n}(react__WEBPACK_IMPORTED_MODULE_8__[\"Component\"]);\n\n_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(LayoutEventListener, \"defaultProps\", {\n onItemDragStart: noop,\n onItemDragEnd: noop\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL0xheW91dE1hbmFnZXIvTGF5b3V0RXZlbnQuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL0xheW91dE1hbmFnZXIvTGF5b3V0RXZlbnQuanM/YjljMyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgX2NsYXNzQ2FsbENoZWNrIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2NsYXNzQ2FsbENoZWNrXCI7XG5pbXBvcnQgX2NyZWF0ZUNsYXNzIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2NyZWF0ZUNsYXNzXCI7XG5pbXBvcnQgX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4gZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvcG9zc2libGVDb25zdHJ1Y3RvclJldHVyblwiO1xuaW1wb3J0IF9nZXRQcm90b3R5cGVPZiBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9nZXRQcm90b3R5cGVPZlwiO1xuaW1wb3J0IF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvYXNzZXJ0VGhpc0luaXRpYWxpemVkXCI7XG5pbXBvcnQgX2luaGVyaXRzIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2luaGVyaXRzXCI7XG5pbXBvcnQgX2RlZmluZVByb3BlcnR5IGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2RlZmluZVByb3BlcnR5XCI7XG5pbXBvcnQgeyBqc3ggYXMgX19fRW1vdGlvbkpTWCB9IGZyb20gXCJAZW1vdGlvbi9jb3JlXCI7XG5pbXBvcnQgUmVhY3QsIHsgQ29tcG9uZW50IH0gZnJvbSAncmVhY3QnO1xuXG52YXIgbm9vcCA9IGZ1bmN0aW9uIG5vb3AoKSB7fTtcblxudmFyIF9SZWFjdCRjcmVhdGVDb250ZXh0ID0gUmVhY3QuY3JlYXRlQ29udGV4dCh7XG4gIGVtaXRJdGVtRHJhZ1N0YXJ0OiBub29wLFxuICBlbWl0SXRlbURyYWdFbmQ6IG5vb3Bcbn0pLFxuICAgIFByb3ZpZGVyID0gX1JlYWN0JGNyZWF0ZUNvbnRleHQuUHJvdmlkZXIsXG4gICAgQ29uc3VtZXIgPSBfUmVhY3QkY3JlYXRlQ29udGV4dC5Db25zdW1lcjtcblxuZXhwb3J0IHsgQ29uc3VtZXIgYXMgTGF5b3V0RXZlbnRFbWl0dGVyIH07XG5leHBvcnQgdmFyIExheW91dEV2ZW50TGlzdGVuZXIgPVxuLyojX19QVVJFX18qL1xuZnVuY3Rpb24gKF9Db21wb25lbnQpIHtcbiAgX2luaGVyaXRzKExheW91dEV2ZW50TGlzdGVuZXIsIF9Db21wb25lbnQpO1xuXG4gIGZ1bmN0aW9uIExheW91dEV2ZW50TGlzdGVuZXIocHJvcHMpIHtcbiAgICB2YXIgX3RoaXM7XG5cbiAgICBfY2xhc3NDYWxsQ2hlY2sodGhpcywgTGF5b3V0RXZlbnRMaXN0ZW5lcik7XG5cbiAgICBfdGhpcyA9IF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHRoaXMsIF9nZXRQcm90b3R5cGVPZihMYXlvdXRFdmVudExpc3RlbmVyKS5jYWxsKHRoaXMsIHByb3BzKSk7XG5cbiAgICBfZGVmaW5lUHJvcGVydHkoX2Fzc2VydFRoaXNJbml0aWFsaXplZChfdGhpcyksIFwiZW1pdHRlcnNcIiwgdm9pZCAwKTtcblxuICAgIF9kZWZpbmVQcm9wZXJ0eShfYXNzZXJ0VGhpc0luaXRpYWxpemVkKF90aGlzKSwgXCJlbWl0SXRlbURyYWdTdGFydFwiLCBmdW5jdGlvbiAoKSB7XG4gICAgICBfdGhpcy5wcm9wcy5vbkl0ZW1EcmFnU3RhcnQoKTtcbiAgICB9KTtcblxuICAgIF9kZWZpbmVQcm9wZXJ0eShfYXNzZXJ0VGhpc0luaXRpYWxpemVkKF90aGlzKSwgXCJlbWl0SXRlbURyYWdFbmRcIiwgZnVuY3Rpb24gKCkge1xuICAgICAgX3RoaXMucHJvcHMub25JdGVtRHJhZ0VuZCgpO1xuICAgIH0pO1xuXG4gICAgX3RoaXMuZW1pdHRlcnMgPSB7XG4gICAgICBlbWl0SXRlbURyYWdTdGFydDogX3RoaXMuZW1pdEl0ZW1EcmFnU3RhcnQsXG4gICAgICBlbWl0SXRlbURyYWdFbmQ6IF90aGlzLmVtaXRJdGVtRHJhZ0VuZFxuICAgIH07XG4gICAgcmV0dXJuIF90aGlzO1xuICB9XG5cbiAgX2NyZWF0ZUNsYXNzKExheW91dEV2ZW50TGlzdGVuZXIsIFt7XG4gICAga2V5OiBcInJlbmRlclwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiByZW5kZXIoKSB7XG4gICAgICByZXR1cm4gX19fRW1vdGlvbkpTWChQcm92aWRlciwge1xuICAgICAgICB2YWx1ZTogdGhpcy5lbWl0dGVyc1xuICAgICAgfSwgdGhpcy5wcm9wcy5jaGlsZHJlbik7XG4gICAgfVxuICB9XSk7XG5cbiAgcmV0dXJuIExheW91dEV2ZW50TGlzdGVuZXI7XG59KENvbXBvbmVudCk7XG5cbl9kZWZpbmVQcm9wZXJ0eShMYXlvdXRFdmVudExpc3RlbmVyLCBcImRlZmF1bHRQcm9wc1wiLCB7XG4gIG9uSXRlbURyYWdTdGFydDogbm9vcCxcbiAgb25JdGVtRHJhZ0VuZDogbm9vcFxufSk7Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/LayoutManager/LayoutEvent.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/LayoutManager/LayoutManager.js": /*!******************************************************************************************************************!*\ !*** ./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/LayoutManager/LayoutManager.js ***! \******************************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return LayoutManager; });\n/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ \"./node_modules/@babel/runtime/helpers/classCallCheck.js\");\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\");\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ \"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ \"./node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @babel/runtime/helpers/assertThisInitialized */ \"./node_modules/@babel/runtime/helpers/assertThisInitialized.js\");\n/* harmony import */ var _babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ \"./node_modules/@babel/runtime/helpers/inherits.js\");\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ \"./node_modules/@babel/runtime/helpers/defineProperty.js\");\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _emotion_core__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @emotion/core */ \"./node_modules/@emotion/core/dist/core.browser.esm.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony import */ var _atlaskit_analytics_namespaced_context__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @atlaskit/analytics-namespaced-context */ \"./node_modules/@atlaskit/analytics-namespaced-context/dist/esm/index.js\");\n/* harmony import */ var _common_constants__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../../common/constants */ \"./node_modules/@atlaskit/navigation-next/dist/esm/common/constants.js\");\n/* harmony import */ var _version_json__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../../version.json */ \"./node_modules/@atlaskit/navigation-next/dist/esm/version.json\");\nvar _version_json__WEBPACK_IMPORTED_MODULE_12___namespace = /*#__PURE__*/__webpack_require__.t(/*! ../../../version.json */ \"./node_modules/@atlaskit/navigation-next/dist/esm/version.json\", 1);\n/* harmony import */ var _common_RenderBlocker__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../common/RenderBlocker */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/common/RenderBlocker.js\");\n/* harmony import */ var _ContentNavigation_primitives__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../ContentNavigation/primitives */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/ContentNavigation/primitives.js\");\n/* harmony import */ var _ResizeTransition__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../ResizeTransition */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/ResizeTransition/index.js\");\n/* harmony import */ var _LayoutEvent__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./LayoutEvent */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/LayoutManager/LayoutEvent.js\");\n/* harmony import */ var _nav_components__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./nav-components */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/LayoutManager/nav-components.js\");\n/* harmony import */ var _primitives__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./primitives */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/LayoutManager/primitives.js\");\n/* harmony import */ var _ResizeControl__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./ResizeControl */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/LayoutManager/ResizeControl.js\");\n/* harmony import */ var _styles__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./styles */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/LayoutManager/styles.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nfunction defaultTooltipContent(isCollapsed) {\n return isCollapsed ? {\n text: 'Expand',\n char: '['\n } : {\n text: 'Collapse',\n char: '['\n };\n}\n/* NOTE: experimental props use an underscore */\n\n\nvar LayoutManager =\n/*#__PURE__*/\nfunction (_Component) {\n _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_6___default()(LayoutManager, _Component);\n\n function LayoutManager() {\n var _getPrototypeOf2;\n\n var _this;\n\n _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default()(this, LayoutManager);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3___default()(this, (_getPrototypeOf2 = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4___default()(LayoutManager)).call.apply(_getPrototypeOf2, [this].concat(args)));\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_7___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_5___default()(_this), \"state\", {\n flyoutIsOpen: false,\n itemIsDragging: false\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_7___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_5___default()(_this), \"productNavRef\", void 0);\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_7___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_5___default()(_this), \"pageRef\", void 0);\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_7___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_5___default()(_this), \"containerRef\", void 0);\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_7___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_5___default()(_this), \"flyoutMouseOverTimeout\", void 0);\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_7___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_5___default()(_this), \"nodeRefs\", {\n expandCollapseAffordance: react__WEBPACK_IMPORTED_MODULE_9___default.a.createRef()\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_7___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_5___default()(_this), \"getContainerRef\", function (ref) {\n _this.containerRef = ref;\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_7___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_5___default()(_this), \"getNavRef\", function (ref) {\n _this.productNavRef = ref;\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_7___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_5___default()(_this), \"getPageRef\", function (ref) {\n _this.pageRef = ref;\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_7___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_5___default()(_this), \"mouseOutFlyoutArea\", function (_ref) {\n var currentTarget = _ref.currentTarget,\n relatedTarget = _ref.relatedTarget;\n if (currentTarget.contains(relatedTarget)) return;\n clearTimeout(_this.flyoutMouseOverTimeout);\n\n _this.setState({\n flyoutIsOpen: false\n });\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_7___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_5___default()(_this), \"mouseOverFlyoutArea\", function (_ref2) {\n var currentTarget = _ref2.currentTarget,\n target = _ref2.target;\n if (!currentTarget.contains(target)) return;\n var EXPERIMENTAL_ALTERNATE_FLYOUT_BEHAVIOUR = _this.props.experimental_alternateFlyoutBehaviour;\n var delay = EXPERIMENTAL_ALTERNATE_FLYOUT_BEHAVIOUR ? _common_constants__WEBPACK_IMPORTED_MODULE_11__[\"ALTERNATE_FLYOUT_DELAY\"] : _common_constants__WEBPACK_IMPORTED_MODULE_11__[\"FLYOUT_DELAY\"];\n clearTimeout(_this.flyoutMouseOverTimeout);\n _this.flyoutMouseOverTimeout = setTimeout(function () {\n _this.setState({\n flyoutIsOpen: true\n });\n }, delay);\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_7___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_5___default()(_this), \"closeFlyout\", function (e) {\n e.stopPropagation();\n clearTimeout(_this.flyoutMouseOverTimeout);\n\n if (_this.state.flyoutIsOpen) {\n _this.setState({\n flyoutIsOpen: false\n });\n }\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_7___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_5___default()(_this), \"mouseLeave\", function () {\n clearTimeout(_this.flyoutMouseOverTimeout);\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_7___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_5___default()(_this), \"onItemDragStart\", function () {\n _this.setState({\n itemIsDragging: true\n });\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_7___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_5___default()(_this), \"onItemDragEnd\", function () {\n _this.setState({\n itemIsDragging: false\n });\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_7___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_5___default()(_this), \"renderNavigation\", function () {\n var _this$props = _this.props,\n datasets = _this$props.datasets,\n navigationUIController = _this$props.navigationUIController,\n EXPERIMENTAL_ALTERNATE_FLYOUT_BEHAVIOUR = _this$props.experimental_alternateFlyoutBehaviour,\n EXPERIMENTAL_FLYOUT_ON_HOVER = _this$props.experimental_flyoutOnHover,\n EXPERIMENTAL_FULL_WIDTH_FLYOUT = _this$props.experimental_fullWidthFlyout,\n EXPERIMENTAL_HIDE_NAV_VISUALLY_ON_COLLAPSE = _this$props.experimental_hideNavVisuallyOnCollapse,\n EXPERIMENTAL_HORIZONTAL_GLOBAL_NAV = _this$props.experimental_horizontalGlobalNav,\n collapseToggleTooltipContent = _this$props.collapseToggleTooltipContent,\n topOffset = _this$props.topOffset,\n shouldHideGlobalNavShadow = _this$props.shouldHideGlobalNavShadow,\n showContextualNavigation = _this$props.showContextualNavigation,\n globalNavigation = _this$props.globalNavigation,\n containerNavigation = _this$props.containerNavigation,\n productNavigation = _this$props.productNavigation,\n view = _this$props.view;\n var _this$state = _this.state,\n flyoutIsOpen = _this$state.flyoutIsOpen,\n itemIsDragging = _this$state.itemIsDragging;\n var _navigationUIControll = navigationUIController.state,\n isCollapsed = _navigationUIControll.isCollapsed,\n isResizeDisabled = _navigationUIControll.isResizeDisabled,\n isResizing = _navigationUIControll.isResizing,\n productNavWidth = _navigationUIControll.productNavWidth;\n var flyoutWidth = EXPERIMENTAL_FULL_WIDTH_FLYOUT ? productNavWidth : _common_constants__WEBPACK_IMPORTED_MODULE_11__[\"CONTENT_NAV_WIDTH_FLYOUT\"];\n var dataset = datasets ? datasets.navigation : {};\n var GlobalNavigation = globalNavigation;\n var navContainerTopOffset = EXPERIMENTAL_HORIZONTAL_GLOBAL_NAV ? _common_constants__WEBPACK_IMPORTED_MODULE_11__[\"HORIZONTAL_GLOBAL_NAV_HEIGHT\"] + topOffset : topOffset;\n var onMouseOut = isCollapsed && EXPERIMENTAL_FLYOUT_ON_HOVER && flyoutIsOpen ? _this.mouseOutFlyoutArea : null;\n var onMouseOver = isCollapsed && EXPERIMENTAL_FLYOUT_ON_HOVER && !flyoutIsOpen ? _this.mouseOverFlyoutArea : null;\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_8__[\"jsx\"])(_LayoutEvent__WEBPACK_IMPORTED_MODULE_16__[\"LayoutEventListener\"], {\n onItemDragStart: _this.onItemDragStart,\n onItemDragEnd: _this.onItemDragEnd\n }, Object(_emotion_core__WEBPACK_IMPORTED_MODULE_8__[\"jsx\"])(_atlaskit_analytics_namespaced_context__WEBPACK_IMPORTED_MODULE_10__[\"NavigationAnalyticsContext\"], {\n data: {\n attributes: {\n isExpanded: !isCollapsed,\n flyoutOnHoverEnabled: EXPERIMENTAL_FLYOUT_ON_HOVER,\n alternateFlyoutBehaviourEnabled: EXPERIMENTAL_ALTERNATE_FLYOUT_BEHAVIOUR,\n fullWidthFlyoutEnabled: EXPERIMENTAL_FULL_WIDTH_FLYOUT,\n horizontalGlobalNavEnabled: EXPERIMENTAL_HORIZONTAL_GLOBAL_NAV\n },\n componentName: 'navigation',\n packageName: _version_json__WEBPACK_IMPORTED_MODULE_12__[\"name\"],\n packageVersion: _version_json__WEBPACK_IMPORTED_MODULE_12__[\"version\"]\n }\n }, Object(_emotion_core__WEBPACK_IMPORTED_MODULE_8__[\"jsx\"])(react__WEBPACK_IMPORTED_MODULE_9__[\"Fragment\"], null, EXPERIMENTAL_HORIZONTAL_GLOBAL_NAV && Object(_emotion_core__WEBPACK_IMPORTED_MODULE_8__[\"jsx\"])(_primitives__WEBPACK_IMPORTED_MODULE_18__[\"HorizontalNavigationContainer\"], {\n topOffset: topOffset\n }, Object(_emotion_core__WEBPACK_IMPORTED_MODULE_8__[\"jsx\"])(GlobalNavigation, null)), Object(_emotion_core__WEBPACK_IMPORTED_MODULE_8__[\"jsx\"])(_primitives__WEBPACK_IMPORTED_MODULE_18__[\"NavigationContainer\"], _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({}, dataset, {\n topOffset: navContainerTopOffset,\n innerRef: _this.getContainerRef,\n onMouseOver: EXPERIMENTAL_ALTERNATE_FLYOUT_BEHAVIOUR ? onMouseOver : null,\n onMouseOut: onMouseOut,\n onMouseLeave: _this.mouseLeave\n }), Object(_emotion_core__WEBPACK_IMPORTED_MODULE_8__[\"jsx\"])(_ContentNavigation_primitives__WEBPACK_IMPORTED_MODULE_14__[\"ContainerNavigationMask\"], {\n disableInteraction: itemIsDragging,\n onMouseOver: EXPERIMENTAL_ALTERNATE_FLYOUT_BEHAVIOUR ? null : onMouseOver\n }, Object(_emotion_core__WEBPACK_IMPORTED_MODULE_8__[\"jsx\"])(_common_RenderBlocker__WEBPACK_IMPORTED_MODULE_13__[\"default\"], {\n blockOnChange: true,\n itemIsDragging: itemIsDragging\n }, !EXPERIMENTAL_HORIZONTAL_GLOBAL_NAV && // Prevents GlobalNavigation from re-rendering on resize,\n // and flyout expand/collapse\n Object(_emotion_core__WEBPACK_IMPORTED_MODULE_8__[\"jsx\"])(_common_RenderBlocker__WEBPACK_IMPORTED_MODULE_13__[\"default\"], {\n blockOnChange: true,\n isResizing: isResizing,\n isCollapsed: isCollapsed,\n flyoutIsOpen: flyoutIsOpen\n }, Object(_emotion_core__WEBPACK_IMPORTED_MODULE_8__[\"jsx\"])(_nav_components__WEBPACK_IMPORTED_MODULE_17__[\"ComposedGlobalNavigation\"], {\n containerNavigation: containerNavigation,\n datasets: datasets,\n globalNavigation: globalNavigation,\n topOffset: topOffset,\n shouldHideGlobalNavShadow: shouldHideGlobalNavShadow,\n experimental_alternateFlyoutBehaviour: EXPERIMENTAL_ALTERNATE_FLYOUT_BEHAVIOUR,\n closeFlyout: _this.closeFlyout,\n view: view\n })), Object(_emotion_core__WEBPACK_IMPORTED_MODULE_8__[\"jsx\"])(_ResizeTransition__WEBPACK_IMPORTED_MODULE_15__[\"default\"], {\n from: [showContextualNavigation ? _common_constants__WEBPACK_IMPORTED_MODULE_11__[\"CONTENT_NAV_WIDTH_COLLAPSED\"] : 0],\n in: showContextualNavigation ? !isCollapsed || flyoutIsOpen : false,\n properties: ['width'],\n to: [flyoutIsOpen ? flyoutWidth : productNavWidth],\n userIsDragging: isResizing // only apply listeners to the NAV resize transition\n ,\n productNavWidth: productNavWidth\n }, function (_ref3) {\n var transitionStyle = _ref3.transitionStyle,\n transitionState = _ref3.transitionState;\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_8__[\"jsx\"])(_nav_components__WEBPACK_IMPORTED_MODULE_17__[\"ComposedContainerNavigation\"], {\n containerNavigation: containerNavigation,\n datasets: datasets,\n experimental_flyoutOnHover: EXPERIMENTAL_FLYOUT_ON_HOVER,\n experimental_hideNavVisuallyOnCollapse: !!EXPERIMENTAL_HIDE_NAV_VISUALLY_ON_COLLAPSE,\n expand: navigationUIController.expand,\n productNavigation: productNavigation,\n transitionState: transitionState,\n transitionStyle: transitionStyle,\n isCollapsed: isCollapsed,\n isResizing: isResizing,\n getNavRef: _this.getNavRef,\n view: view\n });\n }))), showContextualNavigation && Object(_emotion_core__WEBPACK_IMPORTED_MODULE_8__[\"jsx\"])(_ResizeControl__WEBPACK_IMPORTED_MODULE_19__[\"default\"], {\n collapseToggleTooltipContent: collapseToggleTooltipContent,\n expandCollapseAffordanceRef: _this.nodeRefs.expandCollapseAffordance // eslint-disable-next-line camelcase\n ,\n experimental_flyoutOnHover: EXPERIMENTAL_FLYOUT_ON_HOVER,\n isDisabled: isResizeDisabled,\n flyoutIsOpen: flyoutIsOpen,\n isGrabAreaDisabled: itemIsDragging,\n onMouseOverButtonBuffer: EXPERIMENTAL_ALTERNATE_FLYOUT_BEHAVIOUR ? _this.closeFlyout : null,\n mutationRefs: [{\n ref: _this.pageRef,\n property: 'padding-left'\n }, {\n ref: _this.productNavRef,\n property: 'width'\n }],\n navigation: navigationUIController\n })))));\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_7___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_5___default()(_this), \"renderPageContent\", function () {\n var _this$props2 = _this.props,\n datasets = _this$props2.datasets,\n EXPERIMENTAL_HORIZONTAL_GLOBAL_NAV = _this$props2.experimental_horizontalGlobalNav,\n navigationUIController = _this$props2.navigationUIController,\n onExpandStart = _this$props2.onExpandStart,\n onExpandEnd = _this$props2.onExpandEnd,\n onCollapseStart = _this$props2.onCollapseStart,\n onCollapseEnd = _this$props2.onCollapseEnd,\n children = _this$props2.children,\n showContextualNavigation = _this$props2.showContextualNavigation;\n var flyoutIsOpen = _this.state.flyoutIsOpen;\n var _navigationUIControll2 = navigationUIController.state,\n isResizing = _navigationUIControll2.isResizing,\n isCollapsed = _navigationUIControll2.isCollapsed,\n productNavWidth = _navigationUIControll2.productNavWidth;\n var leftOffset = EXPERIMENTAL_HORIZONTAL_GLOBAL_NAV ? 0 : _common_constants__WEBPACK_IMPORTED_MODULE_11__[\"GLOBAL_NAV_WIDTH\"]; // This offset should just be the global nav height, as the topOffset prop has already been applied\n // to layout manager content via a margin\n\n var topOffset = EXPERIMENTAL_HORIZONTAL_GLOBAL_NAV ? _common_constants__WEBPACK_IMPORTED_MODULE_11__[\"HORIZONTAL_GLOBAL_NAV_HEIGHT\"] : 0;\n var collapsedSize = 0;\n var expandedSize = flyoutIsOpen ? _common_constants__WEBPACK_IMPORTED_MODULE_11__[\"CONTENT_NAV_WIDTH_FLYOUT\"] : productNavWidth;\n var dataset = datasets ? datasets.content : {};\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_8__[\"jsx\"])(_ResizeTransition__WEBPACK_IMPORTED_MODULE_15__[\"default\"], {\n from: [_common_constants__WEBPACK_IMPORTED_MODULE_11__[\"CONTENT_NAV_WIDTH_COLLAPSED\"]],\n in: !isCollapsed,\n productNavWidth: productNavWidth,\n properties: ['paddingLeft'],\n to: [showContextualNavigation ? expandedSize : collapsedSize],\n userIsDragging: isResizing\n /* Attach expand/collapse callbacks to the page resize transition to ensure they are only\n * called when the nav is permanently expanded/collapsed, i.e. when page content position changes. */\n ,\n onExpandStart: onExpandStart,\n onExpandEnd: onExpandEnd,\n onCollapseStart: onCollapseStart,\n onCollapseEnd: onCollapseEnd\n }, function (_ref4) {\n var transitionStyle = _ref4.transitionStyle,\n transitionState = _ref4.transitionState;\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_8__[\"jsx\"])(\"div\", _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({\n css: Object(_styles__WEBPACK_IMPORTED_MODULE_20__[\"pageContainerCSS\"])({\n disableInteraction: isResizing || Object(_ResizeTransition__WEBPACK_IMPORTED_MODULE_15__[\"isTransitioning\"])(transitionState),\n leftOffset: leftOffset,\n topOffset: topOffset\n }),\n ref: _this.getPageRef,\n style: transitionStyle\n }, dataset), children);\n });\n });\n\n return _this;\n }\n\n _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2___default()(LayoutManager, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.publishRefs();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n this.publishRefs();\n }\n }, {\n key: \"publishRefs\",\n value: function publishRefs() {\n var getRefs = this.props.getRefs;\n\n if (typeof getRefs === 'function') {\n getRefs(this.nodeRefs);\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var topOffset = this.props.topOffset;\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_8__[\"jsx\"])(_primitives__WEBPACK_IMPORTED_MODULE_18__[\"LayoutContainer\"], {\n topOffset: topOffset\n }, this.renderNavigation(), this.renderPageContent());\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(props, state) {\n // kill the flyout when the user commits to expanding navigation\n if (!props.navigationUIController.state.isCollapsed && state.flyoutIsOpen) {\n return {\n flyoutIsOpen: false\n };\n }\n\n return null;\n }\n }]);\n\n return LayoutManager;\n}(react__WEBPACK_IMPORTED_MODULE_9__[\"Component\"]);\n\n_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_7___default()(LayoutManager, \"defaultProps\", {\n collapseToggleTooltipContent: defaultTooltipContent,\n datasets: {\n content: {\n 'data-testid': 'Content'\n },\n contextualNavigation: {\n 'data-testid': 'ContextualNavigation'\n },\n globalNavigation: {\n 'data-testid': 'GlobalNavigation'\n },\n navigation: {\n 'data-testid': 'Navigation'\n }\n },\n topOffset: 0,\n shouldHideGlobalNavShadow: false,\n // eslint-disable-next-line camelcase\n experimental_alternateFlyoutBehaviour: false,\n experimental_flyoutOnHover: false,\n experimental_fullWidthFlyout: false,\n experimental_hideNavVisuallyOnCollapse: false,\n experimental_horizontalGlobalNav: false,\n showContextualNavigation: true\n});\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL0xheW91dE1hbmFnZXIvTGF5b3V0TWFuYWdlci5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AYXRsYXNraXQvbmF2aWdhdGlvbi1uZXh0L2Rpc3QvZXNtL2NvbXBvbmVudHMvcHJlc2VudGF0aW9uYWwvTGF5b3V0TWFuYWdlci9MYXlvdXRNYW5hZ2VyLmpzP2FlM2YiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IF9leHRlbmRzIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2V4dGVuZHNcIjtcbmltcG9ydCBfY2xhc3NDYWxsQ2hlY2sgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvY2xhc3NDYWxsQ2hlY2tcIjtcbmltcG9ydCBfY3JlYXRlQ2xhc3MgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvY3JlYXRlQ2xhc3NcIjtcbmltcG9ydCBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybiBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuXCI7XG5pbXBvcnQgX2dldFByb3RvdHlwZU9mIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2dldFByb3RvdHlwZU9mXCI7XG5pbXBvcnQgX2Fzc2VydFRoaXNJbml0aWFsaXplZCBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9hc3NlcnRUaGlzSW5pdGlhbGl6ZWRcIjtcbmltcG9ydCBfaW5oZXJpdHMgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvaW5oZXJpdHNcIjtcbmltcG9ydCBfZGVmaW5lUHJvcGVydHkgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvZGVmaW5lUHJvcGVydHlcIjtcbmltcG9ydCB7IGpzeCBhcyBfX19FbW90aW9uSlNYIH0gZnJvbSBcIkBlbW90aW9uL2NvcmVcIjtcbmltcG9ydCBSZWFjdCwgeyBDb21wb25lbnQsIEZyYWdtZW50IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgTmF2aWdhdGlvbkFuYWx5dGljc0NvbnRleHQgfSBmcm9tICdAYXRsYXNraXQvYW5hbHl0aWNzLW5hbWVzcGFjZWQtY29udGV4dCc7XG5pbXBvcnQgeyBBTFRFUk5BVEVfRkxZT1VUX0RFTEFZLCBDT05URU5UX05BVl9XSURUSF9DT0xMQVBTRUQsIENPTlRFTlRfTkFWX1dJRFRIX0ZMWU9VVCwgRkxZT1VUX0RFTEFZLCBHTE9CQUxfTkFWX1dJRFRILCBIT1JJWk9OVEFMX0dMT0JBTF9OQVZfSEVJR0hUIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBuYW1lIGFzIHBhY2thZ2VOYW1lLCB2ZXJzaW9uIGFzIHBhY2thZ2VWZXJzaW9uIH0gZnJvbSAnLi4vLi4vLi4vdmVyc2lvbi5qc29uJztcbmltcG9ydCBSZW5kZXJCbG9ja2VyIGZyb20gJy4uLy4uL2NvbW1vbi9SZW5kZXJCbG9ja2VyJztcbmltcG9ydCB7IENvbnRhaW5lck5hdmlnYXRpb25NYXNrIH0gZnJvbSAnLi4vQ29udGVudE5hdmlnYXRpb24vcHJpbWl0aXZlcyc7XG5pbXBvcnQgUmVzaXplVHJhbnNpdGlvbiwgeyBpc1RyYW5zaXRpb25pbmcgfSBmcm9tICcuLi9SZXNpemVUcmFuc2l0aW9uJztcbmltcG9ydCB7IExheW91dEV2ZW50TGlzdGVuZXIgfSBmcm9tICcuL0xheW91dEV2ZW50JztcbmltcG9ydCB7IENvbXBvc2VkQ29udGFpbmVyTmF2aWdhdGlvbiwgQ29tcG9zZWRHbG9iYWxOYXZpZ2F0aW9uIH0gZnJvbSAnLi9uYXYtY29tcG9uZW50cyc7XG5pbXBvcnQgeyBIb3Jpem9udGFsTmF2aWdhdGlvbkNvbnRhaW5lciwgTGF5b3V0Q29udGFpbmVyLCBOYXZpZ2F0aW9uQ29udGFpbmVyIH0gZnJvbSAnLi9wcmltaXRpdmVzJztcbmltcG9ydCBSZXNpemVDb250cm9sIGZyb20gJy4vUmVzaXplQ29udHJvbCc7XG5pbXBvcnQgeyBwYWdlQ29udGFpbmVyQ1NTIH0gZnJvbSAnLi9zdHlsZXMnO1xuXG5mdW5jdGlvbiBkZWZhdWx0VG9vbHRpcENvbnRlbnQoaXNDb2xsYXBzZWQpIHtcbiAgcmV0dXJuIGlzQ29sbGFwc2VkID8ge1xuICAgIHRleHQ6ICdFeHBhbmQnLFxuICAgIGNoYXI6ICdbJ1xuICB9IDoge1xuICAgIHRleHQ6ICdDb2xsYXBzZScsXG4gICAgY2hhcjogJ1snXG4gIH07XG59XG4vKiBOT1RFOiBleHBlcmltZW50YWwgcHJvcHMgdXNlIGFuIHVuZGVyc2NvcmUgKi9cblxuXG52YXIgTGF5b3V0TWFuYWdlciA9XG4vKiNfX1BVUkVfXyovXG5mdW5jdGlvbiAoX0NvbXBvbmVudCkge1xuICBfaW5oZXJpdHMoTGF5b3V0TWFuYWdlciwgX0NvbXBvbmVudCk7XG5cbiAgZnVuY3Rpb24gTGF5b3V0TWFuYWdlcigpIHtcbiAgICB2YXIgX2dldFByb3RvdHlwZU9mMjtcblxuICAgIHZhciBfdGhpcztcblxuICAgIF9jbGFzc0NhbGxDaGVjayh0aGlzLCBMYXlvdXRNYW5hZ2VyKTtcblxuICAgIGZvciAodmFyIF9sZW4gPSBhcmd1bWVudHMubGVuZ3RoLCBhcmdzID0gbmV3IEFycmF5KF9sZW4pLCBfa2V5ID0gMDsgX2tleSA8IF9sZW47IF9rZXkrKykge1xuICAgICAgYXJnc1tfa2V5XSA9IGFyZ3VtZW50c1tfa2V5XTtcbiAgICB9XG5cbiAgICBfdGhpcyA9IF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHRoaXMsIChfZ2V0UHJvdG90eXBlT2YyID0gX2dldFByb3RvdHlwZU9mKExheW91dE1hbmFnZXIpKS5jYWxsLmFwcGx5KF9nZXRQcm90b3R5cGVPZjIsIFt0aGlzXS5jb25jYXQoYXJncykpKTtcblxuICAgIF9kZWZpbmVQcm9wZXJ0eShfYXNzZXJ0VGhpc0luaXRpYWxpemVkKF90aGlzKSwgXCJzdGF0ZVwiLCB7XG4gICAgICBmbHlvdXRJc09wZW46IGZhbHNlLFxuICAgICAgaXRlbUlzRHJhZ2dpbmc6IGZhbHNlXG4gICAgfSk7XG5cbiAgICBfZGVmaW5lUHJvcGVydHkoX2Fzc2VydFRoaXNJbml0aWFsaXplZChfdGhpcyksIFwicHJvZHVjdE5hdlJlZlwiLCB2b2lkIDApO1xuXG4gICAgX2RlZmluZVByb3BlcnR5KF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoX3RoaXMpLCBcInBhZ2VSZWZcIiwgdm9pZCAwKTtcblxuICAgIF9kZWZpbmVQcm9wZXJ0eShfYXNzZXJ0VGhpc0luaXRpYWxpemVkKF90aGlzKSwgXCJjb250YWluZXJSZWZcIiwgdm9pZCAwKTtcblxuICAgIF9kZWZpbmVQcm9wZXJ0eShfYXNzZXJ0VGhpc0luaXRpYWxpemVkKF90aGlzKSwgXCJmbHlvdXRNb3VzZU92ZXJUaW1lb3V0XCIsIHZvaWQgMCk7XG5cbiAgICBfZGVmaW5lUHJvcGVydHkoX2Fzc2VydFRoaXNJbml0aWFsaXplZChfdGhpcyksIFwibm9kZVJlZnNcIiwge1xuICAgICAgZXhwYW5kQ29sbGFwc2VBZmZvcmRhbmNlOiBSZWFjdC5jcmVhdGVSZWYoKVxuICAgIH0pO1xuXG4gICAgX2RlZmluZVByb3BlcnR5KF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoX3RoaXMpLCBcImdldENvbnRhaW5lclJlZlwiLCBmdW5jdGlvbiAocmVmKSB7XG4gICAgICBfdGhpcy5jb250YWluZXJSZWYgPSByZWY7XG4gICAgfSk7XG5cbiAgICBfZGVmaW5lUHJvcGVydHkoX2Fzc2VydFRoaXNJbml0aWFsaXplZChfdGhpcyksIFwiZ2V0TmF2UmVmXCIsIGZ1bmN0aW9uIChyZWYpIHtcbiAgICAgIF90aGlzLnByb2R1Y3ROYXZSZWYgPSByZWY7XG4gICAgfSk7XG5cbiAgICBfZGVmaW5lUHJvcGVydHkoX2Fzc2VydFRoaXNJbml0aWFsaXplZChfdGhpcyksIFwiZ2V0UGFnZVJlZlwiLCBmdW5jdGlvbiAocmVmKSB7XG4gICAgICBfdGhpcy5wYWdlUmVmID0gcmVmO1xuICAgIH0pO1xuXG4gICAgX2RlZmluZVByb3BlcnR5KF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoX3RoaXMpLCBcIm1vdXNlT3V0Rmx5b3V0QXJlYVwiLCBmdW5jdGlvbiAoX3JlZikge1xuICAgICAgdmFyIGN1cnJlbnRUYXJnZXQgPSBfcmVmLmN1cnJlbnRUYXJnZXQsXG4gICAgICAgICAgcmVsYXRlZFRhcmdldCA9IF9yZWYucmVsYXRlZFRhcmdldDtcbiAgICAgIGlmIChjdXJyZW50VGFyZ2V0LmNvbnRhaW5zKHJlbGF0ZWRUYXJnZXQpKSByZXR1cm47XG4gICAgICBjbGVhclRpbWVvdXQoX3RoaXMuZmx5b3V0TW91c2VPdmVyVGltZW91dCk7XG5cbiAgICAgIF90aGlzLnNldFN0YXRlKHtcbiAgICAgICAgZmx5b3V0SXNPcGVuOiBmYWxzZVxuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBfZGVmaW5lUHJvcGVydHkoX2Fzc2VydFRoaXNJbml0aWFsaXplZChfdGhpcyksIFwibW91c2VPdmVyRmx5b3V0QXJlYVwiLCBmdW5jdGlvbiAoX3JlZjIpIHtcbiAgICAgIHZhciBjdXJyZW50VGFyZ2V0ID0gX3JlZjIuY3VycmVudFRhcmdldCxcbiAgICAgICAgICB0YXJnZXQgPSBfcmVmMi50YXJnZXQ7XG4gICAgICBpZiAoIWN1cnJlbnRUYXJnZXQuY29udGFpbnModGFyZ2V0KSkgcmV0dXJuO1xuICAgICAgdmFyIEVYUEVSSU1FTlRBTF9BTFRFUk5BVEVfRkxZT1VUX0JFSEFWSU9VUiA9IF90aGlzLnByb3BzLmV4cGVyaW1lbnRhbF9hbHRlcm5hdGVGbHlvdXRCZWhhdmlvdXI7XG4gICAgICB2YXIgZGVsYXkgPSBFWFBFUklNRU5UQUxfQUxURVJOQVRFX0ZMWU9VVF9CRUhBVklPVVIgPyBBTFRFUk5BVEVfRkxZT1VUX0RFTEFZIDogRkxZT1VUX0RFTEFZO1xuICAgICAgY2xlYXJUaW1lb3V0KF90aGlzLmZseW91dE1vdXNlT3ZlclRpbWVvdXQpO1xuICAgICAgX3RoaXMuZmx5b3V0TW91c2VPdmVyVGltZW91dCA9IHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgICBfdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgICAgZmx5b3V0SXNPcGVuOiB0cnVlXG4gICAgICAgIH0pO1xuICAgICAgfSwgZGVsYXkpO1xuICAgIH0pO1xuXG4gICAgX2RlZmluZVByb3BlcnR5KF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoX3RoaXMpLCBcImNsb3NlRmx5b3V0XCIsIGZ1bmN0aW9uIChlKSB7XG4gICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgY2xlYXJUaW1lb3V0KF90aGlzLmZseW91dE1vdXNlT3ZlclRpbWVvdXQpO1xuXG4gICAgICBpZiAoX3RoaXMuc3RhdGUuZmx5b3V0SXNPcGVuKSB7XG4gICAgICAgIF90aGlzLnNldFN0YXRlKHtcbiAgICAgICAgICBmbHlvdXRJc09wZW46IGZhbHNlXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgX2RlZmluZVByb3BlcnR5KF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoX3RoaXMpLCBcIm1vdXNlTGVhdmVcIiwgZnVuY3Rpb24gKCkge1xuICAgICAgY2xlYXJUaW1lb3V0KF90aGlzLmZseW91dE1vdXNlT3ZlclRpbWVvdXQpO1xuICAgIH0pO1xuXG4gICAgX2RlZmluZVByb3BlcnR5KF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoX3RoaXMpLCBcIm9uSXRlbURyYWdTdGFydFwiLCBmdW5jdGlvbiAoKSB7XG4gICAgICBfdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgIGl0ZW1Jc0RyYWdnaW5nOiB0cnVlXG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIF9kZWZpbmVQcm9wZXJ0eShfYXNzZXJ0VGhpc0luaXRpYWxpemVkKF90aGlzKSwgXCJvbkl0ZW1EcmFnRW5kXCIsIGZ1bmN0aW9uICgpIHtcbiAgICAgIF90aGlzLnNldFN0YXRlKHtcbiAgICAgICAgaXRlbUlzRHJhZ2dpbmc6IGZhbHNlXG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIF9kZWZpbmVQcm9wZXJ0eShfYXNzZXJ0VGhpc0luaXRpYWxpemVkKF90aGlzKSwgXCJyZW5kZXJOYXZpZ2F0aW9uXCIsIGZ1bmN0aW9uICgpIHtcbiAgICAgIHZhciBfdGhpcyRwcm9wcyA9IF90aGlzLnByb3BzLFxuICAgICAgICAgIGRhdGFzZXRzID0gX3RoaXMkcHJvcHMuZGF0YXNldHMsXG4gICAgICAgICAgbmF2aWdhdGlvblVJQ29udHJvbGxlciA9IF90aGlzJHByb3BzLm5hdmlnYXRpb25VSUNvbnRyb2xsZXIsXG4gICAgICAgICAgRVhQRVJJTUVOVEFMX0FMVEVSTkFURV9GTFlPVVRfQkVIQVZJT1VSID0gX3RoaXMkcHJvcHMuZXhwZXJpbWVudGFsX2FsdGVybmF0ZUZseW91dEJlaGF2aW91cixcbiAgICAgICAgICBFWFBFUklNRU5UQUxfRkxZT1VUX09OX0hPVkVSID0gX3RoaXMkcHJvcHMuZXhwZXJpbWVudGFsX2ZseW91dE9uSG92ZXIsXG4gICAgICAgICAgRVhQRVJJTUVOVEFMX0ZVTExfV0lEVEhfRkxZT1VUID0gX3RoaXMkcHJvcHMuZXhwZXJpbWVudGFsX2Z1bGxXaWR0aEZseW91dCxcbiAgICAgICAgICBFWFBFUklNRU5UQUxfSElERV9OQVZfVklTVUFMTFlfT05fQ09MTEFQU0UgPSBfdGhpcyRwcm9wcy5leHBlcmltZW50YWxfaGlkZU5hdlZpc3VhbGx5T25Db2xsYXBzZSxcbiAgICAgICAgICBFWFBFUklNRU5UQUxfSE9SSVpPTlRBTF9HTE9CQUxfTkFWID0gX3RoaXMkcHJvcHMuZXhwZXJpbWVudGFsX2hvcml6b250YWxHbG9iYWxOYXYsXG4gICAgICAgICAgY29sbGFwc2VUb2dnbGVUb29sdGlwQ29udGVudCA9IF90aGlzJHByb3BzLmNvbGxhcHNlVG9nZ2xlVG9vbHRpcENvbnRlbnQsXG4gICAgICAgICAgdG9wT2Zmc2V0ID0gX3RoaXMkcHJvcHMudG9wT2Zmc2V0LFxuICAgICAgICAgIHNob3VsZEhpZGVHbG9iYWxOYXZTaGFkb3cgPSBfdGhpcyRwcm9wcy5zaG91bGRIaWRlR2xvYmFsTmF2U2hhZG93LFxuICAgICAgICAgIHNob3dDb250ZXh0dWFsTmF2aWdhdGlvbiA9IF90aGlzJHByb3BzLnNob3dDb250ZXh0dWFsTmF2aWdhdGlvbixcbiAgICAgICAgICBnbG9iYWxOYXZpZ2F0aW9uID0gX3RoaXMkcHJvcHMuZ2xvYmFsTmF2aWdhdGlvbixcbiAgICAgICAgICBjb250YWluZXJOYXZpZ2F0aW9uID0gX3RoaXMkcHJvcHMuY29udGFpbmVyTmF2aWdhdGlvbixcbiAgICAgICAgICBwcm9kdWN0TmF2aWdhdGlvbiA9IF90aGlzJHByb3BzLnByb2R1Y3ROYXZpZ2F0aW9uLFxuICAgICAgICAgIHZpZXcgPSBfdGhpcyRwcm9wcy52aWV3O1xuICAgICAgdmFyIF90aGlzJHN0YXRlID0gX3RoaXMuc3RhdGUsXG4gICAgICAgICAgZmx5b3V0SXNPcGVuID0gX3RoaXMkc3RhdGUuZmx5b3V0SXNPcGVuLFxuICAgICAgICAgIGl0ZW1Jc0RyYWdnaW5nID0gX3RoaXMkc3RhdGUuaXRlbUlzRHJhZ2dpbmc7XG4gICAgICB2YXIgX25hdmlnYXRpb25VSUNvbnRyb2xsID0gbmF2aWdhdGlvblVJQ29udHJvbGxlci5zdGF0ZSxcbiAgICAgICAgICBpc0NvbGxhcHNlZCA9IF9uYXZpZ2F0aW9uVUlDb250cm9sbC5pc0NvbGxhcHNlZCxcbiAgICAgICAgICBpc1Jlc2l6ZURpc2FibGVkID0gX25hdmlnYXRpb25VSUNvbnRyb2xsLmlzUmVzaXplRGlzYWJsZWQsXG4gICAgICAgICAgaXNSZXNpemluZyA9IF9uYXZpZ2F0aW9uVUlDb250cm9sbC5pc1Jlc2l6aW5nLFxuICAgICAgICAgIHByb2R1Y3ROYXZXaWR0aCA9IF9uYXZpZ2F0aW9uVUlDb250cm9sbC5wcm9kdWN0TmF2V2lkdGg7XG4gICAgICB2YXIgZmx5b3V0V2lkdGggPSBFWFBFUklNRU5UQUxfRlVMTF9XSURUSF9GTFlPVVQgPyBwcm9kdWN0TmF2V2lkdGggOiBDT05URU5UX05BVl9XSURUSF9GTFlPVVQ7XG4gICAgICB2YXIgZGF0YXNldCA9IGRhdGFzZXRzID8gZGF0YXNldHMubmF2aWdhdGlvbiA6IHt9O1xuICAgICAgdmFyIEdsb2JhbE5hdmlnYXRpb24gPSBnbG9iYWxOYXZpZ2F0aW9uO1xuICAgICAgdmFyIG5hdkNvbnRhaW5lclRvcE9mZnNldCA9IEVYUEVSSU1FTlRBTF9IT1JJWk9OVEFMX0dMT0JBTF9OQVYgPyBIT1JJWk9OVEFMX0dMT0JBTF9OQVZfSEVJR0hUICsgdG9wT2Zmc2V0IDogdG9wT2Zmc2V0O1xuICAgICAgdmFyIG9uTW91c2VPdXQgPSBpc0NvbGxhcHNlZCAmJiBFWFBFUklNRU5UQUxfRkxZT1VUX09OX0hPVkVSICYmIGZseW91dElzT3BlbiA/IF90aGlzLm1vdXNlT3V0Rmx5b3V0QXJlYSA6IG51bGw7XG4gICAgICB2YXIgb25Nb3VzZU92ZXIgPSBpc0NvbGxhcHNlZCAmJiBFWFBFUklNRU5UQUxfRkxZT1VUX09OX0hPVkVSICYmICFmbHlvdXRJc09wZW4gPyBfdGhpcy5tb3VzZU92ZXJGbHlvdXRBcmVhIDogbnVsbDtcbiAgICAgIHJldHVybiBfX19FbW90aW9uSlNYKExheW91dEV2ZW50TGlzdGVuZXIsIHtcbiAgICAgICAgb25JdGVtRHJhZ1N0YXJ0OiBfdGhpcy5vbkl0ZW1EcmFnU3RhcnQsXG4gICAgICAgIG9uSXRlbURyYWdFbmQ6IF90aGlzLm9uSXRlbURyYWdFbmRcbiAgICAgIH0sIF9fX0Vtb3Rpb25KU1goTmF2aWdhdGlvbkFuYWx5dGljc0NvbnRleHQsIHtcbiAgICAgICAgZGF0YToge1xuICAgICAgICAgIGF0dHJpYnV0ZXM6IHtcbiAgICAgICAgICAgIGlzRXhwYW5kZWQ6ICFpc0NvbGxhcHNlZCxcbiAgICAgICAgICAgIGZseW91dE9uSG92ZXJFbmFibGVkOiBFWFBFUklNRU5UQUxfRkxZT1VUX09OX0hPVkVSLFxuICAgICAgICAgICAgYWx0ZXJuYXRlRmx5b3V0QmVoYXZpb3VyRW5hYmxlZDogRVhQRVJJTUVOVEFMX0FMVEVSTkFURV9GTFlPVVRfQkVIQVZJT1VSLFxuICAgICAgICAgICAgZnVsbFdpZHRoRmx5b3V0RW5hYmxlZDogRVhQRVJJTUVOVEFMX0ZVTExfV0lEVEhfRkxZT1VULFxuICAgICAgICAgICAgaG9yaXpvbnRhbEdsb2JhbE5hdkVuYWJsZWQ6IEVYUEVSSU1FTlRBTF9IT1JJWk9OVEFMX0dMT0JBTF9OQVZcbiAgICAgICAgICB9LFxuICAgICAgICAgIGNvbXBvbmVudE5hbWU6ICduYXZpZ2F0aW9uJyxcbiAgICAgICAgICBwYWNrYWdlTmFtZTogcGFja2FnZU5hbWUsXG4gICAgICAgICAgcGFja2FnZVZlcnNpb246IHBhY2thZ2VWZXJzaW9uXG4gICAgICAgIH1cbiAgICAgIH0sIF9fX0Vtb3Rpb25KU1goRnJhZ21lbnQsIG51bGwsIEVYUEVSSU1FTlRBTF9IT1JJWk9OVEFMX0dMT0JBTF9OQVYgJiYgX19fRW1vdGlvbkpTWChIb3Jpem9udGFsTmF2aWdhdGlvbkNvbnRhaW5lciwge1xuICAgICAgICB0b3BPZmZzZXQ6IHRvcE9mZnNldFxuICAgICAgfSwgX19fRW1vdGlvbkpTWChHbG9iYWxOYXZpZ2F0aW9uLCBudWxsKSksIF9fX0Vtb3Rpb25KU1goTmF2aWdhdGlvbkNvbnRhaW5lciwgX2V4dGVuZHMoe30sIGRhdGFzZXQsIHtcbiAgICAgICAgdG9wT2Zmc2V0OiBuYXZDb250YWluZXJUb3BPZmZzZXQsXG4gICAgICAgIGlubmVyUmVmOiBfdGhpcy5nZXRDb250YWluZXJSZWYsXG4gICAgICAgIG9uTW91c2VPdmVyOiBFWFBFUklNRU5UQUxfQUxURVJOQVRFX0ZMWU9VVF9CRUhBVklPVVIgPyBvbk1vdXNlT3ZlciA6IG51bGwsXG4gICAgICAgIG9uTW91c2VPdXQ6IG9uTW91c2VPdXQsXG4gICAgICAgIG9uTW91c2VMZWF2ZTogX3RoaXMubW91c2VMZWF2ZVxuICAgICAgfSksIF9fX0Vtb3Rpb25KU1goQ29udGFpbmVyTmF2aWdhdGlvbk1hc2ssIHtcbiAgICAgICAgZGlzYWJsZUludGVyYWN0aW9uOiBpdGVtSXNEcmFnZ2luZyxcbiAgICAgICAgb25Nb3VzZU92ZXI6IEVYUEVSSU1FTlRBTF9BTFRFUk5BVEVfRkxZT1VUX0JFSEFWSU9VUiA/IG51bGwgOiBvbk1vdXNlT3ZlclxuICAgICAgfSwgX19fRW1vdGlvbkpTWChSZW5kZXJCbG9ja2VyLCB7XG4gICAgICAgIGJsb2NrT25DaGFuZ2U6IHRydWUsXG4gICAgICAgIGl0ZW1Jc0RyYWdnaW5nOiBpdGVtSXNEcmFnZ2luZ1xuICAgICAgfSwgIUVYUEVSSU1FTlRBTF9IT1JJWk9OVEFMX0dMT0JBTF9OQVYgJiYgLy8gUHJldmVudHMgR2xvYmFsTmF2aWdhdGlvbiBmcm9tIHJlLXJlbmRlcmluZyBvbiByZXNpemUsXG4gICAgICAvLyBhbmQgZmx5b3V0IGV4cGFuZC9jb2xsYXBzZVxuICAgICAgX19fRW1vdGlvbkpTWChSZW5kZXJCbG9ja2VyLCB7XG4gICAgICAgIGJsb2NrT25DaGFuZ2U6IHRydWUsXG4gICAgICAgIGlzUmVzaXppbmc6IGlzUmVzaXppbmcsXG4gICAgICAgIGlzQ29sbGFwc2VkOiBpc0NvbGxhcHNlZCxcbiAgICAgICAgZmx5b3V0SXNPcGVuOiBmbHlvdXRJc09wZW5cbiAgICAgIH0sIF9fX0Vtb3Rpb25KU1goQ29tcG9zZWRHbG9iYWxOYXZpZ2F0aW9uLCB7XG4gICAgICAgIGNvbnRhaW5lck5hdmlnYXRpb246IGNvbnRhaW5lck5hdmlnYXRpb24sXG4gICAgICAgIGRhdGFzZXRzOiBkYXRhc2V0cyxcbiAgICAgICAgZ2xvYmFsTmF2aWdhdGlvbjogZ2xvYmFsTmF2aWdhdGlvbixcbiAgICAgICAgdG9wT2Zmc2V0OiB0b3BPZmZzZXQsXG4gICAgICAgIHNob3VsZEhpZGVHbG9iYWxOYXZTaGFkb3c6IHNob3VsZEhpZGVHbG9iYWxOYXZTaGFkb3csXG4gICAgICAgIGV4cGVyaW1lbnRhbF9hbHRlcm5hdGVGbHlvdXRCZWhhdmlvdXI6IEVYUEVSSU1FTlRBTF9BTFRFUk5BVEVfRkxZT1VUX0JFSEFWSU9VUixcbiAgICAgICAgY2xvc2VGbHlvdXQ6IF90aGlzLmNsb3NlRmx5b3V0LFxuICAgICAgICB2aWV3OiB2aWV3XG4gICAgICB9KSksIF9fX0Vtb3Rpb25KU1goUmVzaXplVHJhbnNpdGlvbiwge1xuICAgICAgICBmcm9tOiBbc2hvd0NvbnRleHR1YWxOYXZpZ2F0aW9uID8gQ09OVEVOVF9OQVZfV0lEVEhfQ09MTEFQU0VEIDogMF0sXG4gICAgICAgIGluOiBzaG93Q29udGV4dHVhbE5hdmlnYXRpb24gPyAhaXNDb2xsYXBzZWQgfHwgZmx5b3V0SXNPcGVuIDogZmFsc2UsXG4gICAgICAgIHByb3BlcnRpZXM6IFsnd2lkdGgnXSxcbiAgICAgICAgdG86IFtmbHlvdXRJc09wZW4gPyBmbHlvdXRXaWR0aCA6IHByb2R1Y3ROYXZXaWR0aF0sXG4gICAgICAgIHVzZXJJc0RyYWdnaW5nOiBpc1Jlc2l6aW5nIC8vIG9ubHkgYXBwbHkgbGlzdGVuZXJzIHRvIHRoZSBOQVYgcmVzaXplIHRyYW5zaXRpb25cbiAgICAgICAgLFxuICAgICAgICBwcm9kdWN0TmF2V2lkdGg6IHByb2R1Y3ROYXZXaWR0aFxuICAgICAgfSwgZnVuY3Rpb24gKF9yZWYzKSB7XG4gICAgICAgIHZhciB0cmFuc2l0aW9uU3R5bGUgPSBfcmVmMy50cmFuc2l0aW9uU3R5bGUsXG4gICAgICAgICAgICB0cmFuc2l0aW9uU3RhdGUgPSBfcmVmMy50cmFuc2l0aW9uU3RhdGU7XG4gICAgICAgIHJldHVybiBfX19FbW90aW9uSlNYKENvbXBvc2VkQ29udGFpbmVyTmF2aWdhdGlvbiwge1xuICAgICAgICAgIGNvbnRhaW5lck5hdmlnYXRpb246IGNvbnRhaW5lck5hdmlnYXRpb24sXG4gICAgICAgICAgZGF0YXNldHM6IGRhdGFzZXRzLFxuICAgICAgICAgIGV4cGVyaW1lbnRhbF9mbHlvdXRPbkhvdmVyOiBFWFBFUklNRU5UQUxfRkxZT1VUX09OX0hPVkVSLFxuICAgICAgICAgIGV4cGVyaW1lbnRhbF9oaWRlTmF2VmlzdWFsbHlPbkNvbGxhcHNlOiAhIUVYUEVSSU1FTlRBTF9ISURFX05BVl9WSVNVQUxMWV9PTl9DT0xMQVBTRSxcbiAgICAgICAgICBleHBhbmQ6IG5hdmlnYXRpb25VSUNvbnRyb2xsZXIuZXhwYW5kLFxuICAgICAgICAgIHByb2R1Y3ROYXZpZ2F0aW9uOiBwcm9kdWN0TmF2aWdhdGlvbixcbiAgICAgICAgICB0cmFuc2l0aW9uU3RhdGU6IHRyYW5zaXRpb25TdGF0ZSxcbiAgICAgICAgICB0cmFuc2l0aW9uU3R5bGU6IHRyYW5zaXRpb25TdHlsZSxcbiAgICAgICAgICBpc0NvbGxhcHNlZDogaXNDb2xsYXBzZWQsXG4gICAgICAgICAgaXNSZXNpemluZzogaXNSZXNpemluZyxcbiAgICAgICAgICBnZXROYXZSZWY6IF90aGlzLmdldE5hdlJlZixcbiAgICAgICAgICB2aWV3OiB2aWV3XG4gICAgICAgIH0pO1xuICAgICAgfSkpKSwgc2hvd0NvbnRleHR1YWxOYXZpZ2F0aW9uICYmIF9fX0Vtb3Rpb25KU1goUmVzaXplQ29udHJvbCwge1xuICAgICAgICBjb2xsYXBzZVRvZ2dsZVRvb2x0aXBDb250ZW50OiBjb2xsYXBzZVRvZ2dsZVRvb2x0aXBDb250ZW50LFxuICAgICAgICBleHBhbmRDb2xsYXBzZUFmZm9yZGFuY2VSZWY6IF90aGlzLm5vZGVSZWZzLmV4cGFuZENvbGxhcHNlQWZmb3JkYW5jZSAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgY2FtZWxjYXNlXG4gICAgICAgICxcbiAgICAgICAgZXhwZXJpbWVudGFsX2ZseW91dE9uSG92ZXI6IEVYUEVSSU1FTlRBTF9GTFlPVVRfT05fSE9WRVIsXG4gICAgICAgIGlzRGlzYWJsZWQ6IGlzUmVzaXplRGlzYWJsZWQsXG4gICAgICAgIGZseW91dElzT3BlbjogZmx5b3V0SXNPcGVuLFxuICAgICAgICBpc0dyYWJBcmVhRGlzYWJsZWQ6IGl0ZW1Jc0RyYWdnaW5nLFxuICAgICAgICBvbk1vdXNlT3ZlckJ1dHRvbkJ1ZmZlcjogRVhQRVJJTUVOVEFMX0FMVEVSTkFURV9GTFlPVVRfQkVIQVZJT1VSID8gX3RoaXMuY2xvc2VGbHlvdXQgOiBudWxsLFxuICAgICAgICBtdXRhdGlvblJlZnM6IFt7XG4gICAgICAgICAgcmVmOiBfdGhpcy5wYWdlUmVmLFxuICAgICAgICAgIHByb3BlcnR5OiAncGFkZGluZy1sZWZ0J1xuICAgICAgICB9LCB7XG4gICAgICAgICAgcmVmOiBfdGhpcy5wcm9kdWN0TmF2UmVmLFxuICAgICAgICAgIHByb3BlcnR5OiAnd2lkdGgnXG4gICAgICAgIH1dLFxuICAgICAgICBuYXZpZ2F0aW9uOiBuYXZpZ2F0aW9uVUlDb250cm9sbGVyXG4gICAgICB9KSkpKSk7XG4gICAgfSk7XG5cbiAgICBfZGVmaW5lUHJvcGVydHkoX2Fzc2VydFRoaXNJbml0aWFsaXplZChfdGhpcyksIFwicmVuZGVyUGFnZUNvbnRlbnRcIiwgZnVuY3Rpb24gKCkge1xuICAgICAgdmFyIF90aGlzJHByb3BzMiA9IF90aGlzLnByb3BzLFxuICAgICAgICAgIGRhdGFzZXRzID0gX3RoaXMkcHJvcHMyLmRhdGFzZXRzLFxuICAgICAgICAgIEVYUEVSSU1FTlRBTF9IT1JJWk9OVEFMX0dMT0JBTF9OQVYgPSBfdGhpcyRwcm9wczIuZXhwZXJpbWVudGFsX2hvcml6b250YWxHbG9iYWxOYXYsXG4gICAgICAgICAgbmF2aWdhdGlvblVJQ29udHJvbGxlciA9IF90aGlzJHByb3BzMi5uYXZpZ2F0aW9uVUlDb250cm9sbGVyLFxuICAgICAgICAgIG9uRXhwYW5kU3RhcnQgPSBfdGhpcyRwcm9wczIub25FeHBhbmRTdGFydCxcbiAgICAgICAgICBvbkV4cGFuZEVuZCA9IF90aGlzJHByb3BzMi5vbkV4cGFuZEVuZCxcbiAgICAgICAgICBvbkNvbGxhcHNlU3RhcnQgPSBfdGhpcyRwcm9wczIub25Db2xsYXBzZVN0YXJ0LFxuICAgICAgICAgIG9uQ29sbGFwc2VFbmQgPSBfdGhpcyRwcm9wczIub25Db2xsYXBzZUVuZCxcbiAgICAgICAgICBjaGlsZHJlbiA9IF90aGlzJHByb3BzMi5jaGlsZHJlbixcbiAgICAgICAgICBzaG93Q29udGV4dHVhbE5hdmlnYXRpb24gPSBfdGhpcyRwcm9wczIuc2hvd0NvbnRleHR1YWxOYXZpZ2F0aW9uO1xuICAgICAgdmFyIGZseW91dElzT3BlbiA9IF90aGlzLnN0YXRlLmZseW91dElzT3BlbjtcbiAgICAgIHZhciBfbmF2aWdhdGlvblVJQ29udHJvbGwyID0gbmF2aWdhdGlvblVJQ29udHJvbGxlci5zdGF0ZSxcbiAgICAgICAgICBpc1Jlc2l6aW5nID0gX25hdmlnYXRpb25VSUNvbnRyb2xsMi5pc1Jlc2l6aW5nLFxuICAgICAgICAgIGlzQ29sbGFwc2VkID0gX25hdmlnYXRpb25VSUNvbnRyb2xsMi5pc0NvbGxhcHNlZCxcbiAgICAgICAgICBwcm9kdWN0TmF2V2lkdGggPSBfbmF2aWdhdGlvblVJQ29udHJvbGwyLnByb2R1Y3ROYXZXaWR0aDtcbiAgICAgIHZhciBsZWZ0T2Zmc2V0ID0gRVhQRVJJTUVOVEFMX0hPUklaT05UQUxfR0xPQkFMX05BViA/IDAgOiBHTE9CQUxfTkFWX1dJRFRIOyAvLyBUaGlzIG9mZnNldCBzaG91bGQganVzdCBiZSB0aGUgZ2xvYmFsIG5hdiBoZWlnaHQsIGFzIHRoZSB0b3BPZmZzZXQgcHJvcCBoYXMgYWxyZWFkeSBiZWVuIGFwcGxpZWRcbiAgICAgIC8vIHRvIGxheW91dCBtYW5hZ2VyIGNvbnRlbnQgdmlhIGEgbWFyZ2luXG5cbiAgICAgIHZhciB0b3BPZmZzZXQgPSBFWFBFUklNRU5UQUxfSE9SSVpPTlRBTF9HTE9CQUxfTkFWID8gSE9SSVpPTlRBTF9HTE9CQUxfTkFWX0hFSUdIVCA6IDA7XG4gICAgICB2YXIgY29sbGFwc2VkU2l6ZSA9IDA7XG4gICAgICB2YXIgZXhwYW5kZWRTaXplID0gZmx5b3V0SXNPcGVuID8gQ09OVEVOVF9OQVZfV0lEVEhfRkxZT1VUIDogcHJvZHVjdE5hdldpZHRoO1xuICAgICAgdmFyIGRhdGFzZXQgPSBkYXRhc2V0cyA/IGRhdGFzZXRzLmNvbnRlbnQgOiB7fTtcbiAgICAgIHJldHVybiBfX19FbW90aW9uSlNYKFJlc2l6ZVRyYW5zaXRpb24sIHtcbiAgICAgICAgZnJvbTogW0NPTlRFTlRfTkFWX1dJRFRIX0NPTExBUFNFRF0sXG4gICAgICAgIGluOiAhaXNDb2xsYXBzZWQsXG4gICAgICAgIHByb2R1Y3ROYXZXaWR0aDogcHJvZHVjdE5hdldpZHRoLFxuICAgICAgICBwcm9wZXJ0aWVzOiBbJ3BhZGRpbmdMZWZ0J10sXG4gICAgICAgIHRvOiBbc2hvd0NvbnRleHR1YWxOYXZpZ2F0aW9uID8gZXhwYW5kZWRTaXplIDogY29sbGFwc2VkU2l6ZV0sXG4gICAgICAgIHVzZXJJc0RyYWdnaW5nOiBpc1Jlc2l6aW5nXG4gICAgICAgIC8qIEF0dGFjaCBleHBhbmQvY29sbGFwc2UgY2FsbGJhY2tzIHRvIHRoZSBwYWdlIHJlc2l6ZSB0cmFuc2l0aW9uIHRvIGVuc3VyZSB0aGV5IGFyZSBvbmx5XG4gICAgICAgICAqIGNhbGxlZCB3aGVuIHRoZSBuYXYgaXMgcGVybWFuZW50bHkgZXhwYW5kZWQvY29sbGFwc2VkLCBpLmUuIHdoZW4gcGFnZSBjb250ZW50IHBvc2l0aW9uIGNoYW5nZXMuICovXG4gICAgICAgICxcbiAgICAgICAgb25FeHBhbmRTdGFydDogb25FeHBhbmRTdGFydCxcbiAgICAgICAgb25FeHBhbmRFbmQ6IG9uRXhwYW5kRW5kLFxuICAgICAgICBvbkNvbGxhcHNlU3RhcnQ6IG9uQ29sbGFwc2VTdGFydCxcbiAgICAgICAgb25Db2xsYXBzZUVuZDogb25Db2xsYXBzZUVuZFxuICAgICAgfSwgZnVuY3Rpb24gKF9yZWY0KSB7XG4gICAgICAgIHZhciB0cmFuc2l0aW9uU3R5bGUgPSBfcmVmNC50cmFuc2l0aW9uU3R5bGUsXG4gICAgICAgICAgICB0cmFuc2l0aW9uU3RhdGUgPSBfcmVmNC50cmFuc2l0aW9uU3RhdGU7XG4gICAgICAgIHJldHVybiBfX19FbW90aW9uSlNYKFwiZGl2XCIsIF9leHRlbmRzKHtcbiAgICAgICAgICBjc3M6IHBhZ2VDb250YWluZXJDU1Moe1xuICAgICAgICAgICAgZGlzYWJsZUludGVyYWN0aW9uOiBpc1Jlc2l6aW5nIHx8IGlzVHJhbnNpdGlvbmluZyh0cmFuc2l0aW9uU3RhdGUpLFxuICAgICAgICAgICAgbGVmdE9mZnNldDogbGVmdE9mZnNldCxcbiAgICAgICAgICAgIHRvcE9mZnNldDogdG9wT2Zmc2V0XG4gICAgICAgICAgfSksXG4gICAgICAgICAgcmVmOiBfdGhpcy5nZXRQYWdlUmVmLFxuICAgICAgICAgIHN0eWxlOiB0cmFuc2l0aW9uU3R5bGVcbiAgICAgICAgfSwgZGF0YXNldCksIGNoaWxkcmVuKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIF90aGlzO1xuICB9XG5cbiAgX2NyZWF0ZUNsYXNzKExheW91dE1hbmFnZXIsIFt7XG4gICAga2V5OiBcImNvbXBvbmVudERpZE1vdW50XCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgICAgdGhpcy5wdWJsaXNoUmVmcygpO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJjb21wb25lbnREaWRVcGRhdGVcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gY29tcG9uZW50RGlkVXBkYXRlKCkge1xuICAgICAgdGhpcy5wdWJsaXNoUmVmcygpO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJwdWJsaXNoUmVmc1wiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBwdWJsaXNoUmVmcygpIHtcbiAgICAgIHZhciBnZXRSZWZzID0gdGhpcy5wcm9wcy5nZXRSZWZzO1xuXG4gICAgICBpZiAodHlwZW9mIGdldFJlZnMgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgZ2V0UmVmcyh0aGlzLm5vZGVSZWZzKTtcbiAgICAgIH1cbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwicmVuZGVyXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIHJlbmRlcigpIHtcbiAgICAgIHZhciB0b3BPZmZzZXQgPSB0aGlzLnByb3BzLnRvcE9mZnNldDtcbiAgICAgIHJldHVybiBfX19FbW90aW9uSlNYKExheW91dENvbnRhaW5lciwge1xuICAgICAgICB0b3BPZmZzZXQ6IHRvcE9mZnNldFxuICAgICAgfSwgdGhpcy5yZW5kZXJOYXZpZ2F0aW9uKCksIHRoaXMucmVuZGVyUGFnZUNvbnRlbnQoKSk7XG4gICAgfVxuICB9XSwgW3tcbiAgICBrZXk6IFwiZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyhwcm9wcywgc3RhdGUpIHtcbiAgICAgIC8vIGtpbGwgdGhlIGZseW91dCB3aGVuIHRoZSB1c2VyIGNvbW1pdHMgdG8gZXhwYW5kaW5nIG5hdmlnYXRpb25cbiAgICAgIGlmICghcHJvcHMubmF2aWdhdGlvblVJQ29udHJvbGxlci5zdGF0ZS5pc0NvbGxhcHNlZCAmJiBzdGF0ZS5mbHlvdXRJc09wZW4pIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBmbHlvdXRJc09wZW46IGZhbHNlXG4gICAgICAgIH07XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfV0pO1xuXG4gIHJldHVybiBMYXlvdXRNYW5hZ2VyO1xufShDb21wb25lbnQpO1xuXG5fZGVmaW5lUHJvcGVydHkoTGF5b3V0TWFuYWdlciwgXCJkZWZhdWx0UHJvcHNcIiwge1xuICBjb2xsYXBzZVRvZ2dsZVRvb2x0aXBDb250ZW50OiBkZWZhdWx0VG9vbHRpcENvbnRlbnQsXG4gIGRhdGFzZXRzOiB7XG4gICAgY29udGVudDoge1xuICAgICAgJ2RhdGEtdGVzdGlkJzogJ0NvbnRlbnQnXG4gICAgfSxcbiAgICBjb250ZXh0dWFsTmF2aWdhdGlvbjoge1xuICAgICAgJ2RhdGEtdGVzdGlkJzogJ0NvbnRleHR1YWxOYXZpZ2F0aW9uJ1xuICAgIH0sXG4gICAgZ2xvYmFsTmF2aWdhdGlvbjoge1xuICAgICAgJ2RhdGEtdGVzdGlkJzogJ0dsb2JhbE5hdmlnYXRpb24nXG4gICAgfSxcbiAgICBuYXZpZ2F0aW9uOiB7XG4gICAgICAnZGF0YS10ZXN0aWQnOiAnTmF2aWdhdGlvbidcbiAgICB9XG4gIH0sXG4gIHRvcE9mZnNldDogMCxcbiAgc2hvdWxkSGlkZUdsb2JhbE5hdlNoYWRvdzogZmFsc2UsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBjYW1lbGNhc2VcbiAgZXhwZXJpbWVudGFsX2FsdGVybmF0ZUZseW91dEJlaGF2aW91cjogZmFsc2UsXG4gIGV4cGVyaW1lbnRhbF9mbHlvdXRPbkhvdmVyOiBmYWxzZSxcbiAgZXhwZXJpbWVudGFsX2Z1bGxXaWR0aEZseW91dDogZmFsc2UsXG4gIGV4cGVyaW1lbnRhbF9oaWRlTmF2VmlzdWFsbHlPbkNvbGxhcHNlOiBmYWxzZSxcbiAgZXhwZXJpbWVudGFsX2hvcml6b250YWxHbG9iYWxOYXY6IGZhbHNlLFxuICBzaG93Q29udGV4dHVhbE5hdmlnYXRpb246IHRydWVcbn0pO1xuXG5leHBvcnQgeyBMYXlvdXRNYW5hZ2VyIGFzIGRlZmF1bHQgfTsiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/LayoutManager/LayoutManager.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/LayoutManager/ResizeControl.js": /*!******************************************************************************************************************!*\ !*** ./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/LayoutManager/ResizeControl.js ***! \******************************************************************************************************************/ /*! exports provided: BodyDragCursor, GrabArea, ResizeControlBase, default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"BodyDragCursor\", function() { return BodyDragCursor; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"GrabArea\", function() { return GrabArea; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ResizeControlBase\", function() { return ResizeControl; });\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ \"./node_modules/@babel/runtime/helpers/classCallCheck.js\");\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\");\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ \"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ \"./node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/assertThisInitialized */ \"./node_modules/@babel/runtime/helpers/assertThisInitialized.js\");\n/* harmony import */ var _babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ \"./node_modules/@babel/runtime/helpers/inherits.js\");\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ \"./node_modules/@babel/runtime/helpers/defineProperty.js\");\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @babel/runtime/helpers/objectSpread */ \"./node_modules/@babel/runtime/helpers/objectSpread.js\");\n/* harmony import */ var _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ \"./node_modules/@babel/runtime/helpers/objectWithoutProperties.js\");\n/* harmony import */ var _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony import */ var _emotion_css__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @emotion/css */ \"./node_modules/@emotion/css/dist/css.browser.esm.js\");\n/* harmony import */ var _emotion_core__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @emotion/core */ \"./node_modules/@emotion/core/dist/core.browser.esm.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_12__);\n/* harmony import */ var raf_schd__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! raf-schd */ \"./node_modules/raf-schd/esm/index.js\");\n/* harmony import */ var _atlaskit_analytics_next__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! @atlaskit/analytics-next */ \"./node_modules/@atlaskit/analytics-next/dist/esm/index.js\");\n/* harmony import */ var _atlaskit_icon_glyph_chevron_left__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! @atlaskit/icon/glyph/chevron-left */ \"./node_modules/@atlaskit/icon/glyph/chevron-left.js\");\n/* harmony import */ var _atlaskit_icon_glyph_chevron_left__WEBPACK_IMPORTED_MODULE_15___default = /*#__PURE__*/__webpack_require__.n(_atlaskit_icon_glyph_chevron_left__WEBPACK_IMPORTED_MODULE_15__);\n/* harmony import */ var _atlaskit_icon_glyph_chevron_right__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! @atlaskit/icon/glyph/chevron-right */ \"./node_modules/@atlaskit/icon/glyph/chevron-right.js\");\n/* harmony import */ var _atlaskit_icon_glyph_chevron_right__WEBPACK_IMPORTED_MODULE_16___default = /*#__PURE__*/__webpack_require__.n(_atlaskit_icon_glyph_chevron_right__WEBPACK_IMPORTED_MODULE_16__);\n/* harmony import */ var _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! @atlaskit/theme/colors */ \"./node_modules/@atlaskit/theme/dist/esm/colors.js\");\n/* harmony import */ var _atlaskit_tooltip__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! @atlaskit/tooltip */ \"./node_modules/@atlaskit/tooltip/dist/esm/index.js\");\n/* harmony import */ var _common_analytics__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../../../common/analytics */ \"./node_modules/@atlaskit/navigation-next/dist/esm/common/analytics.js\");\n/* harmony import */ var _common_constants__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ../../../common/constants */ \"./node_modules/@atlaskit/navigation-next/dist/esm/common/constants.js\");\n/* harmony import */ var _common_primitives__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ../../../common/primitives */ \"./node_modules/@atlaskit/navigation-next/dist/esm/common/primitives.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar HANDLE_OFFSET = 4;\nvar INNER_WIDTH = 20;\nvar OUTER_WIDTH = INNER_WIDTH + HANDLE_OFFSET;\nvar HANDLE_WIDTH = 2;\n\nvar shouldResetGrabArea = function shouldResetGrabArea(width) {\n return width >= _common_constants__WEBPACK_IMPORTED_MODULE_20__[\"GLOBAL_NAV_COLLAPSE_THRESHOLD\"] && width < _common_constants__WEBPACK_IMPORTED_MODULE_20__[\"CONTENT_NAV_WIDTH\"];\n};\n\nvar preventDefault = function preventDefault(event) {\n return event.preventDefault();\n};\n\nvar BodyDragCursor = function BodyDragCursor() {\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_11__[\"jsx\"])(_emotion_core__WEBPACK_IMPORTED_MODULE_11__[\"Global\"], {\n styles: {\n body: {\n cursor: 'ew-resize'\n }\n }\n });\n};\n\nvar Outer = function Outer(props) {\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_11__[\"jsx\"])(\"div\", _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_9___default()({\n css:\n /*#__PURE__*/\n Object(_emotion_css__WEBPACK_IMPORTED_MODULE_10__[\"default\"])({\n bottom: 0,\n left: '100%',\n position: 'absolute',\n top: 0,\n transform: 'translateZ(0)',\n width: OUTER_WIDTH,\n zIndex: 3 // higher than the scroll hint lines\n\n }, false ? undefined : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL0xheW91dE1hbmFnZXIvUmVzaXplQ29udHJvbC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF5Q0kiLCJmaWxlIjoiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvcHJlc2VudGF0aW9uYWwvTGF5b3V0TWFuYWdlci9SZXNpemVDb250cm9sLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IEZyYWdtZW50LCBQdXJlQ29tcG9uZW50IH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgeyBHbG9iYWwgfSBmcm9tICdAZW1vdGlvbi9jb3JlJztcbmltcG9ydCByYWYgZnJvbSAncmFmLXNjaGQnO1xuXG5pbXBvcnQgeyB3aXRoQW5hbHl0aWNzRXZlbnRzIH0gZnJvbSAnQGF0bGFza2l0L2FuYWx5dGljcy1uZXh0JztcbmltcG9ydCBDaGV2cm9uTGVmdCBmcm9tICdAYXRsYXNraXQvaWNvbi9nbHlwaC9jaGV2cm9uLWxlZnQnO1xuaW1wb3J0IENoZXZyb25SaWdodCBmcm9tICdAYXRsYXNraXQvaWNvbi9nbHlwaC9jaGV2cm9uLXJpZ2h0JztcbmltcG9ydCAqIGFzIGNvbG9ycyBmcm9tICdAYXRsYXNraXQvdGhlbWUvY29sb3JzJztcbmltcG9ydCBUb29sdGlwIGZyb20gJ0BhdGxhc2tpdC90b29sdGlwJztcblxuaW1wb3J0IHsgbmF2aWdhdGlvbkV4cGFuZGVkQ29sbGFwc2VkIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2FuYWx5dGljcyc7XG5pbXBvcnQge1xuICBDT05URU5UX05BVl9XSURUSCxcbiAgQ09OVEVOVF9OQVZfV0lEVEhfQ09MTEFQU0VELFxuICBHTE9CQUxfTkFWX0NPTExBUFNFX1RIUkVTSE9MRCxcbiAgR0xPQkFMX05BVl9XSURUSCxcbn0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBTaGFkb3cgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vcHJpbWl0aXZlcyc7XG5cbmNvbnN0IEhBTkRMRV9PRkZTRVQgPSA0O1xuY29uc3QgSU5ORVJfV0lEVEggPSAyMDtcbmNvbnN0IE9VVEVSX1dJRFRIID0gSU5ORVJfV0lEVEggKyBIQU5ETEVfT0ZGU0VUO1xuY29uc3QgSEFORExFX1dJRFRIID0gMjtcbmNvbnN0IHNob3VsZFJlc2V0R3JhYkFyZWEgPSB3aWR0aCA9PiB7XG4gIHJldHVybiB3aWR0aCA+PSBHTE9CQUxfTkFWX0NPTExBUFNFX1RIUkVTSE9MRCAmJiB3aWR0aCA8IENPTlRFTlRfTkFWX1dJRFRIO1xufTtcbmNvbnN0IHByZXZlbnREZWZhdWx0ID0gZXZlbnQgPT4gZXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuZXhwb3J0IGNvbnN0IEJvZHlEcmFnQ3Vyc29yID0gKCkgPT4gKFxuICA8R2xvYmFsXG4gICAgc3R5bGVzPXt7XG4gICAgICBib2R5OiB7XG4gICAgICAgIGN1cnNvcjogJ2V3LXJlc2l6ZScsXG4gICAgICB9LFxuICAgIH19XG4gIC8+XG4pO1xuXG5jb25zdCBPdXRlciA9IHByb3BzID0+IChcbiAgPGRpdlxuICAgIGNzcz17e1xuICAgICAgYm90dG9tOiAwLFxuICAgICAgbGVmdDogJzEwMCUnLFxuICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICB0b3A6IDAsXG4gICAgICB0cmFuc2Zvcm06ICd0cmFuc2xhdGVaKDApJyxcbiAgICAgIHdpZHRoOiBPVVRFUl9XSURUSCxcbiAgICAgIHpJbmRleDogMywgLy8gaGlnaGVyIHRoYW4gdGhlIHNjcm9sbCBoaW50IGxpbmVzXG4gICAgfX1cbiAgICB7Li4ucHJvcHN9XG4gIC8+XG4pO1xuXG5leHBvcnQgY29uc3QgR3JhYkFyZWEgPSAoeyBzaG93SGFuZGxlLCBpc0JvbGQsIC4uLnByb3BzIH0pID0+IChcbiAgPGRpdlxuICAgIGNzcz17e1xuICAgICAgY3Vyc29yOiAnZXctcmVzaXplJyxcbiAgICAgIGhlaWdodDogJzEwMCUnLFxuICAgICAgbGVmdDogLUhBTkRMRV9PRkZTRVQsXG4gICAgICBwb3NpdGlvbjogJ3JlbGF0aXZlJyxcbiAgICAgIHdpZHRoOiBPVVRFUl9XSURUSCxcbiAgICB9fVxuICAgIHsuLi5wcm9wc31cbiAgPlxuICAgIDxkaXZcbiAgICAgIGNzcz17e1xuICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IGlzQm9sZCA/IGNvbG9ycy5CMjAwIDogY29sb3JzLkIxMDAsXG4gICAgICAgIG9wYWNpdHk6IHNob3dIYW5kbGUgPyAxIDogMCxcbiAgICAgICAgaGVpZ2h0OiAnMTAwJScsXG4gICAgICAgIGxlZnQ6IEhBTkRMRV9PRkZTRVQgLSBIQU5ETEVfV0lEVEggLyAyLCAvLyB0aGUgaGFuZGxlIHNob3VsZCBcInN0cmFkZGxlXCIgdGhlIGRpdmlkaW5nIGxpbmVcbiAgICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICAgIHRyYW5zaXRpb246ICdvcGFjaXR5IDIwMG1zJyxcbiAgICAgICAgd2lkdGg6IEhBTkRMRV9XSURUSCxcbiAgICAgIH19XG4gICAgLz5cbiAgPC9kaXY+XG4pO1xuY29uc3QgbGFyZ2VIaXRBcmVhID0ge1xuICBsZWZ0OiAtOCxcbiAgcmlnaHQ6IC0xMixcbiAgYm90dG9tOiAtOCxcbiAgdG9wOiAtOCxcbn07XG5jb25zdCBzbWFsbEhpdEFyZWEgPSB7XG4gIGxlZnQ6IC00LFxuICByaWdodDogLTQsXG4gIGJvdHRvbTogLTQsXG4gIHRvcDogLTQsXG59O1xuXG5jb25zdCBCdXR0b24gPSAoe1xuICBjaGlsZHJlbixcbiAgaGFzSGlnaGxpZ2h0LFxuICBpbm5lclJlZixcbiAgaXNWaXNpYmxlLFxuICBoaXRBcmVhU2l6ZSxcbiAgLi4ucHJvcHNcbn0pID0+IChcbiAgPGJ1dHRvblxuICAgIGNsYXNzTmFtZT1cImFrLW5hdmlnYXRpb24tcmVzaXplLWJ1dHRvblwiXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgcmVmPXtpbm5lclJlZn1cbiAgICBjc3M9e3tcbiAgICAgIGJhY2tncm91bmQ6IDAsXG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6ICd3aGl0ZScsXG4gICAgICBib3JkZXI6IDAsXG4gICAgICBib3JkZXJSYWRpdXM6ICc1MCUnLFxuICAgICAgYm94U2hhZG93OiBgMCAwIDAgMXB4ICR7Y29sb3JzLk4zMEF9LCAwIDJweCA0cHggMXB4ICR7Y29sb3JzLk4zMEF9YCxcbiAgICAgIGNvbG9yOiBoYXNIaWdobGlnaHQgPyBjb2xvcnMuQjEwMCA6IGNvbG9ycy5OMjAwLFxuICAgICAgY3Vyc29yOiAncG9pbnRlcicsXG4gICAgICBoZWlnaHQ6IDI0LFxuICAgICAgb3BhY2l0eTogaXNWaXNpYmxlID8gMSA6IDAsXG4gICAgICBvdXRsaW5lOiAwLFxuICAgICAgcGFkZGluZzogMCxcbiAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgICAgdG9wOiAzMixcbiAgICAgIHRyYW5zaXRpb246IGBcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvciAxMDBtcyBsaW5lYXIsXG4gICAgICAgIGNvbG9yIDEwMG1zIGxpbmVhcixcbiAgICAgICAgb3BhY2l0eSAzMDBtcyBjdWJpYy1iZXppZXIoMC4yLCAwLCAwLCAxKSxcbiAgICAgICAgdHJhbnNmb3JtIDMwMG1zIGN1YmljLWJlemllcigwLjIsIDAsIDAsIDEpXG4gICAgICBgLFxuICAgICAgdHJhbnNmb3JtOiBgdHJhbnNsYXRlKC01MCUpYCxcbiAgICAgIHdpZHRoOiAyNCxcblxuICAgICAgJzpob3Zlcic6IHtcbiAgICAgICAgYmFja2dyb3VuZENvbG9yOiBjb2xvcnMuQjEwMCxcbiAgICAgICAgY29sb3I6ICd3aGl0ZScsXG4gICAgICB9LFxuICAgICAgJzphY3RpdmUnOiB7XG4gICAgICAgIGJhY2tncm91bmRDb2xvcjogY29sb3JzLkIyMDAsXG4gICAgICAgIGNvbG9yOiAnd2hpdGUnLFxuICAgICAgfSxcbiAgICAgICc6Zm9jdXMnOiB7XG4gICAgICAgIG9wYWNpdHk6IDEsXG4gICAgICAgIGJhY2tncm91bmRDb2xvcjogY29sb3JzLkIyMDAsXG4gICAgICAgIGNvbG9yOiAnd2hpdGUnLFxuICAgICAgfSxcbiAgICB9fVxuICAgIHsuLi5wcm9wc31cbiAgPlxuICAgIDxkaXZcbiAgICAgIC8vIGluY3JlYXNlIGhpdC1hcmVhXG4gICAgICBjc3M9e3tcbiAgICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICAgIC4uLihoaXRBcmVhU2l6ZSA9PT0gJ3NtYWxsJyA/IHNtYWxsSGl0QXJlYSA6IGxhcmdlSGl0QXJlYSksXG4gICAgICB9fVxuICAgIC8+XG4gICAge2NoaWxkcmVufVxuICA8L2J1dHRvbj5cbik7XG5cbi8vIHRpbmtlciB3aXRoIHRoZSBET00gZGlyZWN0bHkgYnkgc2V0dGluZyBzdHlsZSBwcm9wZXJ0aWVzLCB1cGRhdGVzIHRoZSBncmFiIGJhciBwb3NpdGlvbiBieSBjaGFuZ2luZyBwYWRkaW5nLWxlZnQgYW5kIHdpZHRoLlxuZnVuY3Rpb24gdXBkYXRlUmVzaXplQXJlYVBvc2l0aW9uKGVsZW1lbnRzLCB3aWR0aCkge1xuICBlbGVtZW50cy5mb3JFYWNoKCh7IHByb3BlcnR5LCByZWYgfSkgPT4ge1xuICAgIGNvbnN0IG5ld1ZhbHVlID0gYCR7d2lkdGh9cHhgO1xuICAgIGNvbnN0IG9sZFZhbHVlID0gcmVmLnN0eWxlLmdldFByb3BlcnR5VmFsdWUocHJvcGVydHkpO1xuXG4gICAgLy8gYXZvaWQgdGhyYXNoaW5nXG4gICAgaWYgKG9sZFZhbHVlID09PSBuZXdWYWx1ZSkgcmV0dXJuO1xuXG4gICAgLy8gZGlyZWN0IGF0dHJpYnV0ZSBtYW5pcHVsYXRpb25cbiAgICByZWYuc3R5bGUuc2V0UHJvcGVydHkocHJvcGVydHksIG5ld1ZhbHVlKTtcbiAgfSk7XG59XG5cbi8vIGhlbHBlciBmb3IgdG9vbHRpcCBjb250ZW50IGtleWJvYXJkIHNob3J0Y3V0IGhpZ2hsaWdodFxuZnVuY3Rpb24gbWFrZVRvb2x0aXBOb2RlKHsgdGV4dCwgY2hhciB9KSB7XG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgY3NzPXt7XG4gICAgICAgIGFsaWduSXRlbXM6ICdiYXNlbGluZScsXG4gICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgbGluZUhlaWdodDogMS4zLFxuICAgICAgICBwYWRkaW5nQm90dG9tOiAxLFxuICAgICAgICBwYWRkaW5nVG9wOiAxLFxuICAgICAgfX1cbiAgICA+XG4gICAgICA8c3Bhbj57dGV4dH08L3NwYW4+XG4gICAgICA8ZGl2XG4gICAgICAgIGNzcz17e1xuICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogY29sb3JzLk40MDAsXG4gICAgICAgICAgYm9yZGVyUmFkaXVzOiAyLFxuICAgICAgICAgIGxpbmVIZWlnaHQ6IDEuMixcbiAgICAgICAgICBtYXJnaW5MZWZ0OiA0LFxuICAgICAgICAgIHBhZGRpbmc6ICcxcHggOHB4JyxcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAge2NoYXJ9XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn1cblxuLyogTk9URTogZXhwZXJpbWVudGFsIHByb3BzIHVzZSBhbiB1bmRlcnNjb3JlICovXG5jbGFzcyBSZXNpemVDb250cm9sIGV4dGVuZHMgUHVyZUNvbXBvbmVudCB7XG4gIGludmFsaWREcmFnQXR0ZW1wdGVkID0gZmFsc2U7XG5cbiAgbGFzdFdpZHRoO1xuXG4gIHdyYXBwZXI7XG5cbiAgc3RhdGUgPSB7XG4gICAgZGVsdGE6IDAsXG4gICAgZGlkRHJhZ09wZW46IGZhbHNlLFxuICAgIGlzRHJhZ2dpbmc6IGZhbHNlLFxuICAgIGluaXRpYWxXaWR0aDogMCxcbiAgICBpbml0aWFsWDogMCxcbiAgICBtb3VzZUlzRG93bjogZmFsc2UsXG4gICAgbW91c2VJc092ZXJHcmFiQXJlYTogZmFsc2UsXG4gICAgc2hvd0dyYWJBcmVhOiB0cnVlLFxuICAgIHdpZHRoOiB0aGlzLnByb3BzLm5hdmlnYXRpb24uc3RhdGUucHJvZHVjdE5hdldpZHRoLFxuICB9O1xuXG4gIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XG4gICAgaXNHcmFiQXJlYURpc2FibGVkOiBmYWxzZSxcbiAgfTtcblxuICBzdGF0aWMgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzKHByb3BzLCBzdGF0ZSkge1xuICAgIGNvbnN0IHtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBjYW1lbGNhc2VcbiAgICAgIGV4cGVyaW1lbnRhbF9mbHlvdXRPbkhvdmVyOiBFWFBFUklNRU5UQUxfRkxZT1VUX09OX0hPVkVSLFxuICAgICAgZmx5b3V0SXNPcGVuLFxuICAgICAgbmF2aWdhdGlvbixcbiAgICB9ID0gcHJvcHM7XG4gICAgY29uc3QgeyBpc0NvbGxhcHNlZCB9ID0gbmF2aWdhdGlvbi5zdGF0ZTtcblxuICAgIC8vIHJlc29sdmUgXCJob3ZlciBsb2NraW5nXCIgaXNzdWUgd2l0aCByZXNpemUgZ3JhYiBhcmVhXG4gICAgaWYgKEVYUEVSSU1FTlRBTF9GTFlPVVRfT05fSE9WRVIpIHtcbiAgICAgIGNvbnN0IHNob3dHcmFiQXJlYSA9ICFpc0NvbGxhcHNlZCAmJiAhZmx5b3V0SXNPcGVuO1xuICAgICAgY29uc3QgbW91c2VJc092ZXJHcmFiQXJlYSA9IHNob3dHcmFiQXJlYVxuICAgICAgICA/IHN0YXRlLm1vdXNlSXNPdmVyR3JhYkFyZWFcbiAgICAgICAgOiBmYWxzZTtcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgbW91c2VJc092ZXJHcmFiQXJlYSxcbiAgICAgICAgc2hvd0dyYWJBcmVhLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIG9uUmVzaXplckNoZXZyb25DbGljayA9ICgpID0+IHtcbiAgICBjb25zdCB0cmlnZ2VyID0gdGhpcy5wcm9wcy5mbHlvdXRJc09wZW4gPyAnY2hldnJvbkhvdmVyJyA6ICdjaGV2cm9uJztcbiAgICB0aGlzLnRvZ2dsZUNvbGxhcHNlKHRyaWdnZXIpO1xuICB9O1xuXG4gIG1vdXNlRW50ZXJHcmFiQXJlYSA9ICgpID0+IHtcbiAgICB0aGlzLnNldFN0YXRlKHsgbW91c2VJc092ZXJHcmFiQXJlYTogdHJ1ZSB9KTtcbiAgfTtcblxuICBtb3VzZUxlYXZlR3JhYkFyZWEgPSAoKSA9PiB7XG4gICAgdGhpcy5zZXRTdGF0ZSh7IG1vdXNlSXNPdmVyR3JhYkFyZWE6IGZhbHNlIH0pO1xuICB9O1xuXG4gIHRvZ2dsZUNvbGxhcHNlID0gdHJpZ2dlciA9PiB7XG4gICAgY29uc3QgeyBuYXZpZ2F0aW9uLCBjcmVhdGVBbmFseXRpY3NFdmVudCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBuZXdDb2xsYXBzZWRTdGF0ZSA9ICFuYXZpZ2F0aW9uLnN0YXRlLmlzQ29sbGFwc2VkO1xuICAgIG5hdmlnYXRpb24udG9nZ2xlQ29sbGFwc2UoKTtcbiAgICBuYXZpZ2F0aW9uRXhwYW5kZWRDb2xsYXBzZWQoY3JlYXRlQW5hbHl0aWNzRXZlbnQsIHtcbiAgICAgIHRyaWdnZXIsXG4gICAgICBpc0NvbGxhcHNlZDogbmV3Q29sbGFwc2VkU3RhdGUsXG4gICAgfSk7XG4gIH07XG5cbiAgaGFuZGxlUmVzaXplU3RhcnQgPSBldmVudCA9PiB7XG4gICAgY29uc3QgaW5pdGlhbFggPSBldmVudC5wYWdlWDtcblxuICAgIHRoaXMuc2V0U3RhdGUoeyBpbml0aWFsWCwgbW91c2VJc0Rvd246IHRydWUgfSk7XG5cbiAgICAvLyBhdHRhY2ggaGFuZGxlcnMgKGhhbmRsZVJlc2l6ZVN0YXJ0IGlzIGEgYm91bmQgdG8gb25Nb3VzZURvd24pXG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIHRoaXMuaGFuZGxlUmVzaXplKTtcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbW91c2V1cCcsIHRoaXMuaGFuZGxlUmVzaXplRW5kKTtcbiAgfTtcblxuICBpbml0aWFsaXplRHJhZyA9IGV2ZW50ID0+IHtcbiAgICBjb25zdCB7IG5hdmlnYXRpb24gfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgZGVsdGEgPSBldmVudC5wYWdlWCAtIHRoaXMuc3RhdGUuaW5pdGlhbFg7XG4gICAgY29uc3QgeyBpc0NvbGxhcHNlZCB9ID0gbmF2aWdhdGlvbi5zdGF0ZTtcblxuICAgIC8vIG9ubHkgaW5pdGlhbGl6ZSB3aGVuIGRyYWcgaW50ZW50aW9uIGlzIFwiZXhwYW5kXCJcbiAgICBpZiAoaXNDb2xsYXBzZWQgJiYgZGVsdGEgPD0gMCkge1xuICAgICAgdGhpcy5pbnZhbGlkRHJhZ0F0dGVtcHRlZCA9IHRydWU7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgbGV0IGluaXRpYWxXaWR0aCA9IG5hdmlnYXRpb24uc3RhdGUucHJvZHVjdE5hdldpZHRoO1xuICAgIGxldCBkaWREcmFnT3BlbiA9IGZhbHNlO1xuXG4gICAgLy8gTk9URVxuICAgIC8vIGlmIHRoZSBwcm9kdWN0IG5hdiBpcyBjb2xsYXBzZWQgYW5kIHRoZSBjb25zdW1lciBzdGFydHMgZHJhZ2dpbmcgaXQgb3BlblxuICAgIC8vIHdlIG11c3QgZXhwYW5kIGl0IGFuZCBkcmFnIHNob3VsZCBzdGFydCBmcm9tIDAuXG4gICAgaWYgKGlzQ29sbGFwc2VkKSB7XG4gICAgICBpbml0aWFsV2lkdGggPSBDT05URU5UX05BVl9XSURUSF9DT0xMQVBTRUQ7XG4gICAgICBkaWREcmFnT3BlbiA9IHRydWU7XG4gICAgICBuYXZpZ2F0aW9uLm1hbnVhbFJlc2l6ZVN0YXJ0KHtcbiAgICAgICAgcHJvZHVjdE5hdldpZHRoOiBDT05URU5UX05BVl9XSURUSF9DT0xMQVBTRUQsXG4gICAgICAgIGlzQ29sbGFwc2VkOiBmYWxzZSxcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBuYXZpZ2F0aW9uLm1hbnVhbFJlc2l6ZVN0YXJ0KG5hdmlnYXRpb24uc3RhdGUpO1xuICAgIH1cblxuICAgIHRoaXMuc2V0U3RhdGUoeyBkaWREcmFnT3BlbiwgaW5pdGlhbFdpZHRoLCBpc0RyYWdnaW5nOiB0cnVlIH0pO1xuICB9O1xuXG4gIGhhbmRsZVJlc2l6ZSA9IHJhZihldmVudCA9PiB7XG4gICAgY29uc3QgeyBtdXRhdGlvblJlZnMgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyBpbml0aWFsWCwgaW5pdGlhbFdpZHRoLCBpc0RyYWdnaW5nLCBtb3VzZUlzRG93biB9ID0gdGhpcy5zdGF0ZTtcblxuICAgIC8vIG9uIG9jY2FzaW9uIGEgbW91c2UgbW92ZSBldmVudCBvY2N1cnMgYmVmb3JlIHRoZSBldmVudCBsaXN0ZW5lcnNcbiAgICAvLyBoYXZlIGEgY2hhbmNlIHRvIGRldGFjaFxuICAgIGlmICghbW91c2VJc0Rvd24pIHJldHVybjtcblxuICAgIC8vIGluaXRpYWxpemUgZHJhZ2dpbmdcbiAgICBpZiAoIWlzRHJhZ2dpbmcpIHtcbiAgICAgIHRoaXMuaW5pdGlhbGl6ZURyYWcoZXZlbnQpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIGFsbG93IHRoZSBwcm9kdWN0IG5hdiB0byBiZSA3NSUgb2YgdGhlIGF2YWlsYWJsZSBwYWdlIHdpZHRoXG4gICAgY29uc3QgbWF4V2lkdGggPSBNYXRoLnJvdW5kKCh3aW5kb3cuaW5uZXJXaWR0aCAvIDQpICogMyk7XG4gICAgY29uc3QgbWluV2lkdGggPSBDT05URU5UX05BVl9XSURUSF9DT0xMQVBTRUQ7XG4gICAgY29uc3QgYWRqdXN0ZWRNYXggPSBtYXhXaWR0aCAtIGluaXRpYWxXaWR0aCAtIEdMT0JBTF9OQVZfV0lEVEg7XG4gICAgY29uc3QgYWRqdXN0ZWRNaW4gPSBtaW5XaWR0aCAtIGluaXRpYWxXaWR0aDtcblxuICAgIGNvbnN0IGRlbHRhID0gTWF0aC5tYXgoXG4gICAgICBNYXRoLm1pbihldmVudC5wYWdlWCAtIGluaXRpYWxYLCBhZGp1c3RlZE1heCksXG4gICAgICBhZGp1c3RlZE1pbixcbiAgICApO1xuICAgIGNvbnN0IHdpZHRoID0gaW5pdGlhbFdpZHRoICsgZGVsdGE7XG5cbiAgICAvLyBhcHBseSB1cGRhdGVkIHN0eWxlcyB0byB0aGUgYXBwbGljYWJsZSBET00gbm9kZXNcbiAgICB1cGRhdGVSZXNpemVBcmVhUG9zaXRpb24obXV0YXRpb25SZWZzLCB3aWR0aCk7XG5cbiAgICAvLyBOT1RFOiBoaWphY2sgdGhlIG1hdWFsIHJlc2l6ZSBhbmQgZm9yY2UgY29sbGFwc2UsIGNhbmNlbHMgbW91c2UgZXZlbnRzXG4gICAgaWYgKGV2ZW50LmNsaWVudFggPCAwKSB7XG4gICAgICB0aGlzLnNldFN0YXRlKHsgd2lkdGg6IENPTlRFTlRfTkFWX1dJRFRIX0NPTExBUFNFRCB9KTtcbiAgICAgIHRoaXMuaGFuZGxlUmVzaXplRW5kKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIG1haW50YWluIGludGVybmFsIHdpZHRoLCBhcHBsaWVkIHRvIG5hdmlnYXRpb24gc3RhdGUgb24gcmVzaXplIGVuZFxuICAgICAgdGhpcy5zZXRTdGF0ZSh7IGRlbHRhLCB3aWR0aCB9KTtcbiAgICB9XG4gIH0pO1xuXG4gIGhhbmRsZVJlc2l6ZUVuZCA9ICgpID0+IHtcbiAgICBjb25zdCB7IG5hdmlnYXRpb24sIGNyZWF0ZUFuYWx5dGljc0V2ZW50IH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IHsgZGVsdGEsIGRpZERyYWdPcGVuLCBpc0RyYWdnaW5nLCB3aWR0aDogY3VycmVudFdpZHRoIH0gPSB0aGlzLnN0YXRlO1xuICAgIGNvbnN0IGV4cGFuZFRocmVzaG9sZCA9IDI0O1xuICAgIGNvbnN0IHJlc2l6ZXJDbGlja2VkID0gIWlzRHJhZ2dpbmcgJiYgIXRoaXMuaW52YWxpZERyYWdBdHRlbXB0ZWQ7XG4gICAgbGV0IHB1Ymxpc2hXaWR0aCA9IGN1cnJlbnRXaWR0aDtcbiAgICBsZXQgc2hvdWxkQ29sbGFwc2UgPSBmYWxzZTtcblxuICAgIC8vIGNoZWNrIGlmIHRoZSBpbnRlbnRpb24gd2FzIGp1c3QgYSBjbGljaywgYW5kIHRvZ2dsZVxuICAgIGlmIChyZXNpemVyQ2xpY2tlZCkge1xuICAgICAgcHVibGlzaFdpZHRoID0gTWF0aC5tYXgoQ09OVEVOVF9OQVZfV0lEVEgsIGN1cnJlbnRXaWR0aCk7XG4gICAgICB0aGlzLnRvZ2dsZUNvbGxhcHNlKCdyZXNpemVyQ2xpY2snKTtcbiAgICB9XG5cbiAgICAvLyBwcmV2ZW50IHRoZSB1c2VyIGZyb20gY3JlYXRpbmcgYW4gdW51c2FibGUgd2lkdGhcbiAgICBpZiAocHVibGlzaFdpZHRoIDwgQ09OVEVOVF9OQVZfV0lEVEgpIHtcbiAgICAgIHB1Ymxpc2hXaWR0aCA9IENPTlRFTlRfTkFWX1dJRFRIO1xuICAgICAgaWYgKGRpZERyYWdPcGVuICYmIGRlbHRhID4gZXhwYW5kVGhyZXNob2xkKSB7XG4gICAgICAgIHNob3VsZENvbGxhcHNlID0gZmFsc2U7XG4gICAgICB9IGVsc2UgaWYgKGN1cnJlbnRXaWR0aCA8IEdMT0JBTF9OQVZfQ09MTEFQU0VfVEhSRVNIT0xEKSB7XG4gICAgICAgIHNob3VsZENvbGxhcHNlID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgc2hvdWxkQ29sbGFwc2UgPSBuYXZpZ2F0aW9uLnN0YXRlLmlzQ29sbGFwc2VkO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgICFyZXNpemVyQ2xpY2tlZCAmJlxuICAgICAgKChkaWREcmFnT3BlbiAmJiAhc2hvdWxkQ29sbGFwc2UpIHx8ICghZGlkRHJhZ09wZW4gJiYgc2hvdWxkQ29sbGFwc2UpKVxuICAgICkge1xuICAgICAgbmF2aWdhdGlvbkV4cGFuZGVkQ29sbGFwc2VkKGNyZWF0ZUFuYWx5dGljc0V2ZW50LCB7XG4gICAgICAgIHRyaWdnZXI6ICdyZXNpemVyRHJhZycsXG4gICAgICAgIGlzQ29sbGFwc2VkOiBzaG91bGRDb2xsYXBzZSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIHJlc2V0IGV2ZXJ5dGhpbmdcbiAgICB0aGlzLmludmFsaWREcmFnQXR0ZW1wdGVkID0gZmFsc2U7XG4gICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICBkaWREcmFnT3BlbjogZmFsc2UsXG4gICAgICBpc0RyYWdnaW5nOiBmYWxzZSxcbiAgICAgIG1vdXNlSXNEb3duOiBmYWxzZSxcbiAgICAgIHdpZHRoOiBwdWJsaXNoV2lkdGgsXG4gICAgfSk7XG5cbiAgICAvLyBwdWJsaXNoIHRoZSBuZXcgd2lkdGgsIG9uY2UgcmVzaXppbmcgY29tcGxldGVzXG4gICAgbmF2aWdhdGlvbi5tYW51YWxSZXNpemVFbmQoe1xuICAgICAgcHJvZHVjdE5hdldpZHRoOiBwdWJsaXNoV2lkdGgsXG4gICAgICBpc0NvbGxhcHNlZDogc2hvdWxkQ29sbGFwc2UsXG4gICAgfSk7XG5cbiAgICBpZiAoc2hvdWxkUmVzZXRHcmFiQXJlYShjdXJyZW50V2lkdGgpKSB7XG4gICAgICB1cGRhdGVSZXNpemVBcmVhUG9zaXRpb24odGhpcy5wcm9wcy5tdXRhdGlvblJlZnMsIENPTlRFTlRfTkFWX1dJRFRIKTtcbiAgICB9XG5cbiAgICAvLyBjbGVhbnVwXG4gICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIHRoaXMuaGFuZGxlUmVzaXplKTtcbiAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2V1cCcsIHRoaXMuaGFuZGxlUmVzaXplRW5kKTtcbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgaXNEcmFnZ2luZyxcbiAgICAgIG1vdXNlSXNEb3duLFxuICAgICAgbW91c2VJc092ZXJHcmFiQXJlYSxcbiAgICAgIHNob3dHcmFiQXJlYSxcbiAgICB9ID0gdGhpcy5zdGF0ZTtcbiAgICBjb25zdCB7XG4gICAgICBjb2xsYXBzZVRvZ2dsZVRvb2x0aXBDb250ZW50LFxuICAgICAgZXhwYW5kQ29sbGFwc2VBZmZvcmRhbmNlUmVmLFxuICAgICAgZmx5b3V0SXNPcGVuLFxuICAgICAgaXNEaXNhYmxlZDogaXNSZXNpemVEaXNhYmxlZCxcbiAgICAgIGlzR3JhYkFyZWFEaXNhYmxlZCxcbiAgICAgIG9uTW91c2VPdmVyQnV0dG9uQnVmZmVyLFxuICAgICAgbmF2aWdhdGlvbixcbiAgICB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IGlzQ29sbGFwc2VkIH0gPSBuYXZpZ2F0aW9uLnN0YXRlO1xuXG4gICAgLy8gdGhlIGJ1dHRvbiBzaG91bGRuJ3QgXCJmbGlwXCIgdW50aWwgdGhlIGRyYWcgaXMgY29tcGxldGVcbiAgICBsZXQgQnV0dG9uSWNvbiA9IENoZXZyb25MZWZ0O1xuICAgIGlmIChpc0NvbGxhcHNlZCkgQnV0dG9uSWNvbiA9IENoZXZyb25SaWdodDtcblxuICAgIGNvbnN0IGJ1dHRvbiA9IChcbiAgICAgIDxCdXR0b25cbiAgICAgICAgb25DbGljaz17dGhpcy5vblJlc2l6ZXJDaGV2cm9uQ2xpY2t9XG4gICAgICAgIG9uTW91c2VEb3duPXtwcmV2ZW50RGVmYXVsdH1cbiAgICAgICAgaGl0QXJlYVNpemU9e29uTW91c2VPdmVyQnV0dG9uQnVmZmVyID8gJ2xhcmdlJyA6ICdzbWFsbCd9XG4gICAgICAgIC8vIG1haW50YWluIHN0eWxlcyB3aGVuIHVzZXIgaXMgZHJhZ2dpbmdcbiAgICAgICAgaXNWaXNpYmxlPXtpc0NvbGxhcHNlZCB8fCBtb3VzZUlzRG93bn1cbiAgICAgICAgaGFzSGlnaGxpZ2h0PXttb3VzZUlzRG93biB8fCBtb3VzZUlzT3ZlckdyYWJBcmVhfVxuICAgICAgICBpbm5lclJlZj17ZXhwYW5kQ29sbGFwc2VBZmZvcmRhbmNlUmVmfVxuICAgICAgICBhcmlhLWV4cGFuZGVkPXshaXNDb2xsYXBzZWR9XG4gICAgICAgIGFyaWEtbGFiZWw9XCJUb2dnbGUgbmF2aWdhdGlvblwiXG4gICAgICA+XG4gICAgICAgIDxCdXR0b25JY29uIC8+XG4gICAgICA8L0J1dHRvbj5cbiAgICApO1xuICAgIGNvbnN0IHNoYWRvd0RpcmVjdGlvbiA9IGZseW91dElzT3BlbiA/ICd0byByaWdodCcgOiAndG8gbGVmdCc7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPE91dGVyPlxuICAgICAgICB7aXNEcmFnZ2luZyAmJiA8Qm9keURyYWdDdXJzb3IgLz59XG4gICAgICAgIDxTaGFkb3cgZGlyZWN0aW9uPXtzaGFkb3dEaXJlY3Rpb259IGlzQm9sZD17bW91c2VJc0Rvd259IC8+XG4gICAgICAgIHshaXNSZXNpemVEaXNhYmxlZCAmJiAoXG4gICAgICAgICAgPEZyYWdtZW50PlxuICAgICAgICAgICAgeyFpc0dyYWJBcmVhRGlzYWJsZWQgJiYgc2hvd0dyYWJBcmVhICYmIChcbiAgICAgICAgICAgICAgPEdyYWJBcmVhXG4gICAgICAgICAgICAgICAgaXNCb2xkPXttb3VzZUlzRG93bn1cbiAgICAgICAgICAgICAgICBzaG93SGFuZGxlPXttb3VzZUlzRG93biB8fCBtb3VzZUlzT3ZlckdyYWJBcmVhfVxuICAgICAgICAgICAgICAgIG9uTW91c2VFbnRlcj17dGhpcy5tb3VzZUVudGVyR3JhYkFyZWF9XG4gICAgICAgICAgICAgICAgb25Nb3VzZUxlYXZlPXt0aGlzLm1vdXNlTGVhdmVHcmFiQXJlYX1cbiAgICAgICAgICAgICAgICBvbk1vdXNlRG93bj17dGhpcy5oYW5kbGVSZXNpemVTdGFydH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8ZGl2IG9uTW91c2VPdmVyPXshZmx5b3V0SXNPcGVuID8gb25Nb3VzZU92ZXJCdXR0b25CdWZmZXIgOiBudWxsfT5cbiAgICAgICAgICAgICAge2NvbGxhcHNlVG9nZ2xlVG9vbHRpcENvbnRlbnQgPyAoXG4gICAgICAgICAgICAgICAgPFRvb2x0aXBcbiAgICAgICAgICAgICAgICAgIGNvbnRlbnQ9e21ha2VUb29sdGlwTm9kZShcbiAgICAgICAgICAgICAgICAgICAgY29sbGFwc2VUb2dnbGVUb29sdGlwQ29udGVudChpc0NvbGxhcHNlZCksXG4gICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgZGVsYXk9ezYwMH1cbiAgICAgICAgICAgICAgICAgIGhpZGVUb29sdGlwT25DbGlja1xuICAgICAgICAgICAgICAgICAgcG9zaXRpb249XCJyaWdodFwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge2J1dHRvbn1cbiAgICAgICAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgYnV0dG9uXG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L0ZyYWdtZW50PlxuICAgICAgICApfVxuICAgICAgPC9PdXRlcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCB7IFJlc2l6ZUNvbnRyb2wgYXMgUmVzaXplQ29udHJvbEJhc2UgfTtcblxuZXhwb3J0IGRlZmF1bHQgd2l0aEFuYWx5dGljc0V2ZW50cygpKFJlc2l6ZUNvbnRyb2wpO1xuIl19 */\")\n }, props));\n};\n\nvar GrabArea = function GrabArea(_ref) {\n var showHandle = _ref.showHandle,\n isBold = _ref.isBold,\n props = _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_8___default()(_ref, [\"showHandle\", \"isBold\"]);\n\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_11__[\"jsx\"])(\"div\", _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_9___default()({\n css:\n /*#__PURE__*/\n Object(_emotion_css__WEBPACK_IMPORTED_MODULE_10__[\"default\"])({\n cursor: 'ew-resize',\n height: '100%',\n left: -HANDLE_OFFSET,\n position: 'relative',\n width: OUTER_WIDTH\n }, false ? undefined : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL0xheW91dE1hbmFnZXIvUmVzaXplQ29udHJvbC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF3REkiLCJmaWxlIjoiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvcHJlc2VudGF0aW9uYWwvTGF5b3V0TWFuYWdlci9SZXNpemVDb250cm9sLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IEZyYWdtZW50LCBQdXJlQ29tcG9uZW50IH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgeyBHbG9iYWwgfSBmcm9tICdAZW1vdGlvbi9jb3JlJztcbmltcG9ydCByYWYgZnJvbSAncmFmLXNjaGQnO1xuXG5pbXBvcnQgeyB3aXRoQW5hbHl0aWNzRXZlbnRzIH0gZnJvbSAnQGF0bGFza2l0L2FuYWx5dGljcy1uZXh0JztcbmltcG9ydCBDaGV2cm9uTGVmdCBmcm9tICdAYXRsYXNraXQvaWNvbi9nbHlwaC9jaGV2cm9uLWxlZnQnO1xuaW1wb3J0IENoZXZyb25SaWdodCBmcm9tICdAYXRsYXNraXQvaWNvbi9nbHlwaC9jaGV2cm9uLXJpZ2h0JztcbmltcG9ydCAqIGFzIGNvbG9ycyBmcm9tICdAYXRsYXNraXQvdGhlbWUvY29sb3JzJztcbmltcG9ydCBUb29sdGlwIGZyb20gJ0BhdGxhc2tpdC90b29sdGlwJztcblxuaW1wb3J0IHsgbmF2aWdhdGlvbkV4cGFuZGVkQ29sbGFwc2VkIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2FuYWx5dGljcyc7XG5pbXBvcnQge1xuICBDT05URU5UX05BVl9XSURUSCxcbiAgQ09OVEVOVF9OQVZfV0lEVEhfQ09MTEFQU0VELFxuICBHTE9CQUxfTkFWX0NPTExBUFNFX1RIUkVTSE9MRCxcbiAgR0xPQkFMX05BVl9XSURUSCxcbn0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBTaGFkb3cgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vcHJpbWl0aXZlcyc7XG5cbmNvbnN0IEhBTkRMRV9PRkZTRVQgPSA0O1xuY29uc3QgSU5ORVJfV0lEVEggPSAyMDtcbmNvbnN0IE9VVEVSX1dJRFRIID0gSU5ORVJfV0lEVEggKyBIQU5ETEVfT0ZGU0VUO1xuY29uc3QgSEFORExFX1dJRFRIID0gMjtcbmNvbnN0IHNob3VsZFJlc2V0R3JhYkFyZWEgPSB3aWR0aCA9PiB7XG4gIHJldHVybiB3aWR0aCA+PSBHTE9CQUxfTkFWX0NPTExBUFNFX1RIUkVTSE9MRCAmJiB3aWR0aCA8IENPTlRFTlRfTkFWX1dJRFRIO1xufTtcbmNvbnN0IHByZXZlbnREZWZhdWx0ID0gZXZlbnQgPT4gZXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuZXhwb3J0IGNvbnN0IEJvZHlEcmFnQ3Vyc29yID0gKCkgPT4gKFxuICA8R2xvYmFsXG4gICAgc3R5bGVzPXt7XG4gICAgICBib2R5OiB7XG4gICAgICAgIGN1cnNvcjogJ2V3LXJlc2l6ZScsXG4gICAgICB9LFxuICAgIH19XG4gIC8+XG4pO1xuXG5jb25zdCBPdXRlciA9IHByb3BzID0+IChcbiAgPGRpdlxuICAgIGNzcz17e1xuICAgICAgYm90dG9tOiAwLFxuICAgICAgbGVmdDogJzEwMCUnLFxuICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICB0b3A6IDAsXG4gICAgICB0cmFuc2Zvcm06ICd0cmFuc2xhdGVaKDApJyxcbiAgICAgIHdpZHRoOiBPVVRFUl9XSURUSCxcbiAgICAgIHpJbmRleDogMywgLy8gaGlnaGVyIHRoYW4gdGhlIHNjcm9sbCBoaW50IGxpbmVzXG4gICAgfX1cbiAgICB7Li4ucHJvcHN9XG4gIC8+XG4pO1xuXG5leHBvcnQgY29uc3QgR3JhYkFyZWEgPSAoeyBzaG93SGFuZGxlLCBpc0JvbGQsIC4uLnByb3BzIH0pID0+IChcbiAgPGRpdlxuICAgIGNzcz17e1xuICAgICAgY3Vyc29yOiAnZXctcmVzaXplJyxcbiAgICAgIGhlaWdodDogJzEwMCUnLFxuICAgICAgbGVmdDogLUhBTkRMRV9PRkZTRVQsXG4gICAgICBwb3NpdGlvbjogJ3JlbGF0aXZlJyxcbiAgICAgIHdpZHRoOiBPVVRFUl9XSURUSCxcbiAgICB9fVxuICAgIHsuLi5wcm9wc31cbiAgPlxuICAgIDxkaXZcbiAgICAgIGNzcz17e1xuICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IGlzQm9sZCA/IGNvbG9ycy5CMjAwIDogY29sb3JzLkIxMDAsXG4gICAgICAgIG9wYWNpdHk6IHNob3dIYW5kbGUgPyAxIDogMCxcbiAgICAgICAgaGVpZ2h0OiAnMTAwJScsXG4gICAgICAgIGxlZnQ6IEhBTkRMRV9PRkZTRVQgLSBIQU5ETEVfV0lEVEggLyAyLCAvLyB0aGUgaGFuZGxlIHNob3VsZCBcInN0cmFkZGxlXCIgdGhlIGRpdmlkaW5nIGxpbmVcbiAgICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICAgIHRyYW5zaXRpb246ICdvcGFjaXR5IDIwMG1zJyxcbiAgICAgICAgd2lkdGg6IEhBTkRMRV9XSURUSCxcbiAgICAgIH19XG4gICAgLz5cbiAgPC9kaXY+XG4pO1xuY29uc3QgbGFyZ2VIaXRBcmVhID0ge1xuICBsZWZ0OiAtOCxcbiAgcmlnaHQ6IC0xMixcbiAgYm90dG9tOiAtOCxcbiAgdG9wOiAtOCxcbn07XG5jb25zdCBzbWFsbEhpdEFyZWEgPSB7XG4gIGxlZnQ6IC00LFxuICByaWdodDogLTQsXG4gIGJvdHRvbTogLTQsXG4gIHRvcDogLTQsXG59O1xuXG5jb25zdCBCdXR0b24gPSAoe1xuICBjaGlsZHJlbixcbiAgaGFzSGlnaGxpZ2h0LFxuICBpbm5lclJlZixcbiAgaXNWaXNpYmxlLFxuICBoaXRBcmVhU2l6ZSxcbiAgLi4ucHJvcHNcbn0pID0+IChcbiAgPGJ1dHRvblxuICAgIGNsYXNzTmFtZT1cImFrLW5hdmlnYXRpb24tcmVzaXplLWJ1dHRvblwiXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgcmVmPXtpbm5lclJlZn1cbiAgICBjc3M9e3tcbiAgICAgIGJhY2tncm91bmQ6IDAsXG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6ICd3aGl0ZScsXG4gICAgICBib3JkZXI6IDAsXG4gICAgICBib3JkZXJSYWRpdXM6ICc1MCUnLFxuICAgICAgYm94U2hhZG93OiBgMCAwIDAgMXB4ICR7Y29sb3JzLk4zMEF9LCAwIDJweCA0cHggMXB4ICR7Y29sb3JzLk4zMEF9YCxcbiAgICAgIGNvbG9yOiBoYXNIaWdobGlnaHQgPyBjb2xvcnMuQjEwMCA6IGNvbG9ycy5OMjAwLFxuICAgICAgY3Vyc29yOiAncG9pbnRlcicsXG4gICAgICBoZWlnaHQ6IDI0LFxuICAgICAgb3BhY2l0eTogaXNWaXNpYmxlID8gMSA6IDAsXG4gICAgICBvdXRsaW5lOiAwLFxuICAgICAgcGFkZGluZzogMCxcbiAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgICAgdG9wOiAzMixcbiAgICAgIHRyYW5zaXRpb246IGBcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvciAxMDBtcyBsaW5lYXIsXG4gICAgICAgIGNvbG9yIDEwMG1zIGxpbmVhcixcbiAgICAgICAgb3BhY2l0eSAzMDBtcyBjdWJpYy1iZXppZXIoMC4yLCAwLCAwLCAxKSxcbiAgICAgICAgdHJhbnNmb3JtIDMwMG1zIGN1YmljLWJlemllcigwLjIsIDAsIDAsIDEpXG4gICAgICBgLFxuICAgICAgdHJhbnNmb3JtOiBgdHJhbnNsYXRlKC01MCUpYCxcbiAgICAgIHdpZHRoOiAyNCxcblxuICAgICAgJzpob3Zlcic6IHtcbiAgICAgICAgYmFja2dyb3VuZENvbG9yOiBjb2xvcnMuQjEwMCxcbiAgICAgICAgY29sb3I6ICd3aGl0ZScsXG4gICAgICB9LFxuICAgICAgJzphY3RpdmUnOiB7XG4gICAgICAgIGJhY2tncm91bmRDb2xvcjogY29sb3JzLkIyMDAsXG4gICAgICAgIGNvbG9yOiAnd2hpdGUnLFxuICAgICAgfSxcbiAgICAgICc6Zm9jdXMnOiB7XG4gICAgICAgIG9wYWNpdHk6IDEsXG4gICAgICAgIGJhY2tncm91bmRDb2xvcjogY29sb3JzLkIyMDAsXG4gICAgICAgIGNvbG9yOiAnd2hpdGUnLFxuICAgICAgfSxcbiAgICB9fVxuICAgIHsuLi5wcm9wc31cbiAgPlxuICAgIDxkaXZcbiAgICAgIC8vIGluY3JlYXNlIGhpdC1hcmVhXG4gICAgICBjc3M9e3tcbiAgICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICAgIC4uLihoaXRBcmVhU2l6ZSA9PT0gJ3NtYWxsJyA/IHNtYWxsSGl0QXJlYSA6IGxhcmdlSGl0QXJlYSksXG4gICAgICB9fVxuICAgIC8+XG4gICAge2NoaWxkcmVufVxuICA8L2J1dHRvbj5cbik7XG5cbi8vIHRpbmtlciB3aXRoIHRoZSBET00gZGlyZWN0bHkgYnkgc2V0dGluZyBzdHlsZSBwcm9wZXJ0aWVzLCB1cGRhdGVzIHRoZSBncmFiIGJhciBwb3NpdGlvbiBieSBjaGFuZ2luZyBwYWRkaW5nLWxlZnQgYW5kIHdpZHRoLlxuZnVuY3Rpb24gdXBkYXRlUmVzaXplQXJlYVBvc2l0aW9uKGVsZW1lbnRzLCB3aWR0aCkge1xuICBlbGVtZW50cy5mb3JFYWNoKCh7IHByb3BlcnR5LCByZWYgfSkgPT4ge1xuICAgIGNvbnN0IG5ld1ZhbHVlID0gYCR7d2lkdGh9cHhgO1xuICAgIGNvbnN0IG9sZFZhbHVlID0gcmVmLnN0eWxlLmdldFByb3BlcnR5VmFsdWUocHJvcGVydHkpO1xuXG4gICAgLy8gYXZvaWQgdGhyYXNoaW5nXG4gICAgaWYgKG9sZFZhbHVlID09PSBuZXdWYWx1ZSkgcmV0dXJuO1xuXG4gICAgLy8gZGlyZWN0IGF0dHJpYnV0ZSBtYW5pcHVsYXRpb25cbiAgICByZWYuc3R5bGUuc2V0UHJvcGVydHkocHJvcGVydHksIG5ld1ZhbHVlKTtcbiAgfSk7XG59XG5cbi8vIGhlbHBlciBmb3IgdG9vbHRpcCBjb250ZW50IGtleWJvYXJkIHNob3J0Y3V0IGhpZ2hsaWdodFxuZnVuY3Rpb24gbWFrZVRvb2x0aXBOb2RlKHsgdGV4dCwgY2hhciB9KSB7XG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgY3NzPXt7XG4gICAgICAgIGFsaWduSXRlbXM6ICdiYXNlbGluZScsXG4gICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgbGluZUhlaWdodDogMS4zLFxuICAgICAgICBwYWRkaW5nQm90dG9tOiAxLFxuICAgICAgICBwYWRkaW5nVG9wOiAxLFxuICAgICAgfX1cbiAgICA+XG4gICAgICA8c3Bhbj57dGV4dH08L3NwYW4+XG4gICAgICA8ZGl2XG4gICAgICAgIGNzcz17e1xuICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogY29sb3JzLk40MDAsXG4gICAgICAgICAgYm9yZGVyUmFkaXVzOiAyLFxuICAgICAgICAgIGxpbmVIZWlnaHQ6IDEuMixcbiAgICAgICAgICBtYXJnaW5MZWZ0OiA0LFxuICAgICAgICAgIHBhZGRpbmc6ICcxcHggOHB4JyxcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAge2NoYXJ9XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn1cblxuLyogTk9URTogZXhwZXJpbWVudGFsIHByb3BzIHVzZSBhbiB1bmRlcnNjb3JlICovXG5jbGFzcyBSZXNpemVDb250cm9sIGV4dGVuZHMgUHVyZUNvbXBvbmVudCB7XG4gIGludmFsaWREcmFnQXR0ZW1wdGVkID0gZmFsc2U7XG5cbiAgbGFzdFdpZHRoO1xuXG4gIHdyYXBwZXI7XG5cbiAgc3RhdGUgPSB7XG4gICAgZGVsdGE6IDAsXG4gICAgZGlkRHJhZ09wZW46IGZhbHNlLFxuICAgIGlzRHJhZ2dpbmc6IGZhbHNlLFxuICAgIGluaXRpYWxXaWR0aDogMCxcbiAgICBpbml0aWFsWDogMCxcbiAgICBtb3VzZUlzRG93bjogZmFsc2UsXG4gICAgbW91c2VJc092ZXJHcmFiQXJlYTogZmFsc2UsXG4gICAgc2hvd0dyYWJBcmVhOiB0cnVlLFxuICAgIHdpZHRoOiB0aGlzLnByb3BzLm5hdmlnYXRpb24uc3RhdGUucHJvZHVjdE5hdldpZHRoLFxuICB9O1xuXG4gIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XG4gICAgaXNHcmFiQXJlYURpc2FibGVkOiBmYWxzZSxcbiAgfTtcblxuICBzdGF0aWMgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzKHByb3BzLCBzdGF0ZSkge1xuICAgIGNvbnN0IHtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBjYW1lbGNhc2VcbiAgICAgIGV4cGVyaW1lbnRhbF9mbHlvdXRPbkhvdmVyOiBFWFBFUklNRU5UQUxfRkxZT1VUX09OX0hPVkVSLFxuICAgICAgZmx5b3V0SXNPcGVuLFxuICAgICAgbmF2aWdhdGlvbixcbiAgICB9ID0gcHJvcHM7XG4gICAgY29uc3QgeyBpc0NvbGxhcHNlZCB9ID0gbmF2aWdhdGlvbi5zdGF0ZTtcblxuICAgIC8vIHJlc29sdmUgXCJob3ZlciBsb2NraW5nXCIgaXNzdWUgd2l0aCByZXNpemUgZ3JhYiBhcmVhXG4gICAgaWYgKEVYUEVSSU1FTlRBTF9GTFlPVVRfT05fSE9WRVIpIHtcbiAgICAgIGNvbnN0IHNob3dHcmFiQXJlYSA9ICFpc0NvbGxhcHNlZCAmJiAhZmx5b3V0SXNPcGVuO1xuICAgICAgY29uc3QgbW91c2VJc092ZXJHcmFiQXJlYSA9IHNob3dHcmFiQXJlYVxuICAgICAgICA/IHN0YXRlLm1vdXNlSXNPdmVyR3JhYkFyZWFcbiAgICAgICAgOiBmYWxzZTtcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgbW91c2VJc092ZXJHcmFiQXJlYSxcbiAgICAgICAgc2hvd0dyYWJBcmVhLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIG9uUmVzaXplckNoZXZyb25DbGljayA9ICgpID0+IHtcbiAgICBjb25zdCB0cmlnZ2VyID0gdGhpcy5wcm9wcy5mbHlvdXRJc09wZW4gPyAnY2hldnJvbkhvdmVyJyA6ICdjaGV2cm9uJztcbiAgICB0aGlzLnRvZ2dsZUNvbGxhcHNlKHRyaWdnZXIpO1xuICB9O1xuXG4gIG1vdXNlRW50ZXJHcmFiQXJlYSA9ICgpID0+IHtcbiAgICB0aGlzLnNldFN0YXRlKHsgbW91c2VJc092ZXJHcmFiQXJlYTogdHJ1ZSB9KTtcbiAgfTtcblxuICBtb3VzZUxlYXZlR3JhYkFyZWEgPSAoKSA9PiB7XG4gICAgdGhpcy5zZXRTdGF0ZSh7IG1vdXNlSXNPdmVyR3JhYkFyZWE6IGZhbHNlIH0pO1xuICB9O1xuXG4gIHRvZ2dsZUNvbGxhcHNlID0gdHJpZ2dlciA9PiB7XG4gICAgY29uc3QgeyBuYXZpZ2F0aW9uLCBjcmVhdGVBbmFseXRpY3NFdmVudCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBuZXdDb2xsYXBzZWRTdGF0ZSA9ICFuYXZpZ2F0aW9uLnN0YXRlLmlzQ29sbGFwc2VkO1xuICAgIG5hdmlnYXRpb24udG9nZ2xlQ29sbGFwc2UoKTtcbiAgICBuYXZpZ2F0aW9uRXhwYW5kZWRDb2xsYXBzZWQoY3JlYXRlQW5hbHl0aWNzRXZlbnQsIHtcbiAgICAgIHRyaWdnZXIsXG4gICAgICBpc0NvbGxhcHNlZDogbmV3Q29sbGFwc2VkU3RhdGUsXG4gICAgfSk7XG4gIH07XG5cbiAgaGFuZGxlUmVzaXplU3RhcnQgPSBldmVudCA9PiB7XG4gICAgY29uc3QgaW5pdGlhbFggPSBldmVudC5wYWdlWDtcblxuICAgIHRoaXMuc2V0U3RhdGUoeyBpbml0aWFsWCwgbW91c2VJc0Rvd246IHRydWUgfSk7XG5cbiAgICAvLyBhdHRhY2ggaGFuZGxlcnMgKGhhbmRsZVJlc2l6ZVN0YXJ0IGlzIGEgYm91bmQgdG8gb25Nb3VzZURvd24pXG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIHRoaXMuaGFuZGxlUmVzaXplKTtcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbW91c2V1cCcsIHRoaXMuaGFuZGxlUmVzaXplRW5kKTtcbiAgfTtcblxuICBpbml0aWFsaXplRHJhZyA9IGV2ZW50ID0+IHtcbiAgICBjb25zdCB7IG5hdmlnYXRpb24gfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgZGVsdGEgPSBldmVudC5wYWdlWCAtIHRoaXMuc3RhdGUuaW5pdGlhbFg7XG4gICAgY29uc3QgeyBpc0NvbGxhcHNlZCB9ID0gbmF2aWdhdGlvbi5zdGF0ZTtcblxuICAgIC8vIG9ubHkgaW5pdGlhbGl6ZSB3aGVuIGRyYWcgaW50ZW50aW9uIGlzIFwiZXhwYW5kXCJcbiAgICBpZiAoaXNDb2xsYXBzZWQgJiYgZGVsdGEgPD0gMCkge1xuICAgICAgdGhpcy5pbnZhbGlkRHJhZ0F0dGVtcHRlZCA9IHRydWU7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgbGV0IGluaXRpYWxXaWR0aCA9IG5hdmlnYXRpb24uc3RhdGUucHJvZHVjdE5hdldpZHRoO1xuICAgIGxldCBkaWREcmFnT3BlbiA9IGZhbHNlO1xuXG4gICAgLy8gTk9URVxuICAgIC8vIGlmIHRoZSBwcm9kdWN0IG5hdiBpcyBjb2xsYXBzZWQgYW5kIHRoZSBjb25zdW1lciBzdGFydHMgZHJhZ2dpbmcgaXQgb3BlblxuICAgIC8vIHdlIG11c3QgZXhwYW5kIGl0IGFuZCBkcmFnIHNob3VsZCBzdGFydCBmcm9tIDAuXG4gICAgaWYgKGlzQ29sbGFwc2VkKSB7XG4gICAgICBpbml0aWFsV2lkdGggPSBDT05URU5UX05BVl9XSURUSF9DT0xMQVBTRUQ7XG4gICAgICBkaWREcmFnT3BlbiA9IHRydWU7XG4gICAgICBuYXZpZ2F0aW9uLm1hbnVhbFJlc2l6ZVN0YXJ0KHtcbiAgICAgICAgcHJvZHVjdE5hdldpZHRoOiBDT05URU5UX05BVl9XSURUSF9DT0xMQVBTRUQsXG4gICAgICAgIGlzQ29sbGFwc2VkOiBmYWxzZSxcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBuYXZpZ2F0aW9uLm1hbnVhbFJlc2l6ZVN0YXJ0KG5hdmlnYXRpb24uc3RhdGUpO1xuICAgIH1cblxuICAgIHRoaXMuc2V0U3RhdGUoeyBkaWREcmFnT3BlbiwgaW5pdGlhbFdpZHRoLCBpc0RyYWdnaW5nOiB0cnVlIH0pO1xuICB9O1xuXG4gIGhhbmRsZVJlc2l6ZSA9IHJhZihldmVudCA9PiB7XG4gICAgY29uc3QgeyBtdXRhdGlvblJlZnMgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyBpbml0aWFsWCwgaW5pdGlhbFdpZHRoLCBpc0RyYWdnaW5nLCBtb3VzZUlzRG93biB9ID0gdGhpcy5zdGF0ZTtcblxuICAgIC8vIG9uIG9jY2FzaW9uIGEgbW91c2UgbW92ZSBldmVudCBvY2N1cnMgYmVmb3JlIHRoZSBldmVudCBsaXN0ZW5lcnNcbiAgICAvLyBoYXZlIGEgY2hhbmNlIHRvIGRldGFjaFxuICAgIGlmICghbW91c2VJc0Rvd24pIHJldHVybjtcblxuICAgIC8vIGluaXRpYWxpemUgZHJhZ2dpbmdcbiAgICBpZiAoIWlzRHJhZ2dpbmcpIHtcbiAgICAgIHRoaXMuaW5pdGlhbGl6ZURyYWcoZXZlbnQpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIGFsbG93IHRoZSBwcm9kdWN0IG5hdiB0byBiZSA3NSUgb2YgdGhlIGF2YWlsYWJsZSBwYWdlIHdpZHRoXG4gICAgY29uc3QgbWF4V2lkdGggPSBNYXRoLnJvdW5kKCh3aW5kb3cuaW5uZXJXaWR0aCAvIDQpICogMyk7XG4gICAgY29uc3QgbWluV2lkdGggPSBDT05URU5UX05BVl9XSURUSF9DT0xMQVBTRUQ7XG4gICAgY29uc3QgYWRqdXN0ZWRNYXggPSBtYXhXaWR0aCAtIGluaXRpYWxXaWR0aCAtIEdMT0JBTF9OQVZfV0lEVEg7XG4gICAgY29uc3QgYWRqdXN0ZWRNaW4gPSBtaW5XaWR0aCAtIGluaXRpYWxXaWR0aDtcblxuICAgIGNvbnN0IGRlbHRhID0gTWF0aC5tYXgoXG4gICAgICBNYXRoLm1pbihldmVudC5wYWdlWCAtIGluaXRpYWxYLCBhZGp1c3RlZE1heCksXG4gICAgICBhZGp1c3RlZE1pbixcbiAgICApO1xuICAgIGNvbnN0IHdpZHRoID0gaW5pdGlhbFdpZHRoICsgZGVsdGE7XG5cbiAgICAvLyBhcHBseSB1cGRhdGVkIHN0eWxlcyB0byB0aGUgYXBwbGljYWJsZSBET00gbm9kZXNcbiAgICB1cGRhdGVSZXNpemVBcmVhUG9zaXRpb24obXV0YXRpb25SZWZzLCB3aWR0aCk7XG5cbiAgICAvLyBOT1RFOiBoaWphY2sgdGhlIG1hdWFsIHJlc2l6ZSBhbmQgZm9yY2UgY29sbGFwc2UsIGNhbmNlbHMgbW91c2UgZXZlbnRzXG4gICAgaWYgKGV2ZW50LmNsaWVudFggPCAwKSB7XG4gICAgICB0aGlzLnNldFN0YXRlKHsgd2lkdGg6IENPTlRFTlRfTkFWX1dJRFRIX0NPTExBUFNFRCB9KTtcbiAgICAgIHRoaXMuaGFuZGxlUmVzaXplRW5kKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIG1haW50YWluIGludGVybmFsIHdpZHRoLCBhcHBsaWVkIHRvIG5hdmlnYXRpb24gc3RhdGUgb24gcmVzaXplIGVuZFxuICAgICAgdGhpcy5zZXRTdGF0ZSh7IGRlbHRhLCB3aWR0aCB9KTtcbiAgICB9XG4gIH0pO1xuXG4gIGhhbmRsZVJlc2l6ZUVuZCA9ICgpID0+IHtcbiAgICBjb25zdCB7IG5hdmlnYXRpb24sIGNyZWF0ZUFuYWx5dGljc0V2ZW50IH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IHsgZGVsdGEsIGRpZERyYWdPcGVuLCBpc0RyYWdnaW5nLCB3aWR0aDogY3VycmVudFdpZHRoIH0gPSB0aGlzLnN0YXRlO1xuICAgIGNvbnN0IGV4cGFuZFRocmVzaG9sZCA9IDI0O1xuICAgIGNvbnN0IHJlc2l6ZXJDbGlja2VkID0gIWlzRHJhZ2dpbmcgJiYgIXRoaXMuaW52YWxpZERyYWdBdHRlbXB0ZWQ7XG4gICAgbGV0IHB1Ymxpc2hXaWR0aCA9IGN1cnJlbnRXaWR0aDtcbiAgICBsZXQgc2hvdWxkQ29sbGFwc2UgPSBmYWxzZTtcblxuICAgIC8vIGNoZWNrIGlmIHRoZSBpbnRlbnRpb24gd2FzIGp1c3QgYSBjbGljaywgYW5kIHRvZ2dsZVxuICAgIGlmIChyZXNpemVyQ2xpY2tlZCkge1xuICAgICAgcHVibGlzaFdpZHRoID0gTWF0aC5tYXgoQ09OVEVOVF9OQVZfV0lEVEgsIGN1cnJlbnRXaWR0aCk7XG4gICAgICB0aGlzLnRvZ2dsZUNvbGxhcHNlKCdyZXNpemVyQ2xpY2snKTtcbiAgICB9XG5cbiAgICAvLyBwcmV2ZW50IHRoZSB1c2VyIGZyb20gY3JlYXRpbmcgYW4gdW51c2FibGUgd2lkdGhcbiAgICBpZiAocHVibGlzaFdpZHRoIDwgQ09OVEVOVF9OQVZfV0lEVEgpIHtcbiAgICAgIHB1Ymxpc2hXaWR0aCA9IENPTlRFTlRfTkFWX1dJRFRIO1xuICAgICAgaWYgKGRpZERyYWdPcGVuICYmIGRlbHRhID4gZXhwYW5kVGhyZXNob2xkKSB7XG4gICAgICAgIHNob3VsZENvbGxhcHNlID0gZmFsc2U7XG4gICAgICB9IGVsc2UgaWYgKGN1cnJlbnRXaWR0aCA8IEdMT0JBTF9OQVZfQ09MTEFQU0VfVEhSRVNIT0xEKSB7XG4gICAgICAgIHNob3VsZENvbGxhcHNlID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgc2hvdWxkQ29sbGFwc2UgPSBuYXZpZ2F0aW9uLnN0YXRlLmlzQ29sbGFwc2VkO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgICFyZXNpemVyQ2xpY2tlZCAmJlxuICAgICAgKChkaWREcmFnT3BlbiAmJiAhc2hvdWxkQ29sbGFwc2UpIHx8ICghZGlkRHJhZ09wZW4gJiYgc2hvdWxkQ29sbGFwc2UpKVxuICAgICkge1xuICAgICAgbmF2aWdhdGlvbkV4cGFuZGVkQ29sbGFwc2VkKGNyZWF0ZUFuYWx5dGljc0V2ZW50LCB7XG4gICAgICAgIHRyaWdnZXI6ICdyZXNpemVyRHJhZycsXG4gICAgICAgIGlzQ29sbGFwc2VkOiBzaG91bGRDb2xsYXBzZSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIHJlc2V0IGV2ZXJ5dGhpbmdcbiAgICB0aGlzLmludmFsaWREcmFnQXR0ZW1wdGVkID0gZmFsc2U7XG4gICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICBkaWREcmFnT3BlbjogZmFsc2UsXG4gICAgICBpc0RyYWdnaW5nOiBmYWxzZSxcbiAgICAgIG1vdXNlSXNEb3duOiBmYWxzZSxcbiAgICAgIHdpZHRoOiBwdWJsaXNoV2lkdGgsXG4gICAgfSk7XG5cbiAgICAvLyBwdWJsaXNoIHRoZSBuZXcgd2lkdGgsIG9uY2UgcmVzaXppbmcgY29tcGxldGVzXG4gICAgbmF2aWdhdGlvbi5tYW51YWxSZXNpemVFbmQoe1xuICAgICAgcHJvZHVjdE5hdldpZHRoOiBwdWJsaXNoV2lkdGgsXG4gICAgICBpc0NvbGxhcHNlZDogc2hvdWxkQ29sbGFwc2UsXG4gICAgfSk7XG5cbiAgICBpZiAoc2hvdWxkUmVzZXRHcmFiQXJlYShjdXJyZW50V2lkdGgpKSB7XG4gICAgICB1cGRhdGVSZXNpemVBcmVhUG9zaXRpb24odGhpcy5wcm9wcy5tdXRhdGlvblJlZnMsIENPTlRFTlRfTkFWX1dJRFRIKTtcbiAgICB9XG5cbiAgICAvLyBjbGVhbnVwXG4gICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIHRoaXMuaGFuZGxlUmVzaXplKTtcbiAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2V1cCcsIHRoaXMuaGFuZGxlUmVzaXplRW5kKTtcbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgaXNEcmFnZ2luZyxcbiAgICAgIG1vdXNlSXNEb3duLFxuICAgICAgbW91c2VJc092ZXJHcmFiQXJlYSxcbiAgICAgIHNob3dHcmFiQXJlYSxcbiAgICB9ID0gdGhpcy5zdGF0ZTtcbiAgICBjb25zdCB7XG4gICAgICBjb2xsYXBzZVRvZ2dsZVRvb2x0aXBDb250ZW50LFxuICAgICAgZXhwYW5kQ29sbGFwc2VBZmZvcmRhbmNlUmVmLFxuICAgICAgZmx5b3V0SXNPcGVuLFxuICAgICAgaXNEaXNhYmxlZDogaXNSZXNpemVEaXNhYmxlZCxcbiAgICAgIGlzR3JhYkFyZWFEaXNhYmxlZCxcbiAgICAgIG9uTW91c2VPdmVyQnV0dG9uQnVmZmVyLFxuICAgICAgbmF2aWdhdGlvbixcbiAgICB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IGlzQ29sbGFwc2VkIH0gPSBuYXZpZ2F0aW9uLnN0YXRlO1xuXG4gICAgLy8gdGhlIGJ1dHRvbiBzaG91bGRuJ3QgXCJmbGlwXCIgdW50aWwgdGhlIGRyYWcgaXMgY29tcGxldGVcbiAgICBsZXQgQnV0dG9uSWNvbiA9IENoZXZyb25MZWZ0O1xuICAgIGlmIChpc0NvbGxhcHNlZCkgQnV0dG9uSWNvbiA9IENoZXZyb25SaWdodDtcblxuICAgIGNvbnN0IGJ1dHRvbiA9IChcbiAgICAgIDxCdXR0b25cbiAgICAgICAgb25DbGljaz17dGhpcy5vblJlc2l6ZXJDaGV2cm9uQ2xpY2t9XG4gICAgICAgIG9uTW91c2VEb3duPXtwcmV2ZW50RGVmYXVsdH1cbiAgICAgICAgaGl0QXJlYVNpemU9e29uTW91c2VPdmVyQnV0dG9uQnVmZmVyID8gJ2xhcmdlJyA6ICdzbWFsbCd9XG4gICAgICAgIC8vIG1haW50YWluIHN0eWxlcyB3aGVuIHVzZXIgaXMgZHJhZ2dpbmdcbiAgICAgICAgaXNWaXNpYmxlPXtpc0NvbGxhcHNlZCB8fCBtb3VzZUlzRG93bn1cbiAgICAgICAgaGFzSGlnaGxpZ2h0PXttb3VzZUlzRG93biB8fCBtb3VzZUlzT3ZlckdyYWJBcmVhfVxuICAgICAgICBpbm5lclJlZj17ZXhwYW5kQ29sbGFwc2VBZmZvcmRhbmNlUmVmfVxuICAgICAgICBhcmlhLWV4cGFuZGVkPXshaXNDb2xsYXBzZWR9XG4gICAgICAgIGFyaWEtbGFiZWw9XCJUb2dnbGUgbmF2aWdhdGlvblwiXG4gICAgICA+XG4gICAgICAgIDxCdXR0b25JY29uIC8+XG4gICAgICA8L0J1dHRvbj5cbiAgICApO1xuICAgIGNvbnN0IHNoYWRvd0RpcmVjdGlvbiA9IGZseW91dElzT3BlbiA/ICd0byByaWdodCcgOiAndG8gbGVmdCc7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPE91dGVyPlxuICAgICAgICB7aXNEcmFnZ2luZyAmJiA8Qm9keURyYWdDdXJzb3IgLz59XG4gICAgICAgIDxTaGFkb3cgZGlyZWN0aW9uPXtzaGFkb3dEaXJlY3Rpb259IGlzQm9sZD17bW91c2VJc0Rvd259IC8+XG4gICAgICAgIHshaXNSZXNpemVEaXNhYmxlZCAmJiAoXG4gICAgICAgICAgPEZyYWdtZW50PlxuICAgICAgICAgICAgeyFpc0dyYWJBcmVhRGlzYWJsZWQgJiYgc2hvd0dyYWJBcmVhICYmIChcbiAgICAgICAgICAgICAgPEdyYWJBcmVhXG4gICAgICAgICAgICAgICAgaXNCb2xkPXttb3VzZUlzRG93bn1cbiAgICAgICAgICAgICAgICBzaG93SGFuZGxlPXttb3VzZUlzRG93biB8fCBtb3VzZUlzT3ZlckdyYWJBcmVhfVxuICAgICAgICAgICAgICAgIG9uTW91c2VFbnRlcj17dGhpcy5tb3VzZUVudGVyR3JhYkFyZWF9XG4gICAgICAgICAgICAgICAgb25Nb3VzZUxlYXZlPXt0aGlzLm1vdXNlTGVhdmVHcmFiQXJlYX1cbiAgICAgICAgICAgICAgICBvbk1vdXNlRG93bj17dGhpcy5oYW5kbGVSZXNpemVTdGFydH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8ZGl2IG9uTW91c2VPdmVyPXshZmx5b3V0SXNPcGVuID8gb25Nb3VzZU92ZXJCdXR0b25CdWZmZXIgOiBudWxsfT5cbiAgICAgICAgICAgICAge2NvbGxhcHNlVG9nZ2xlVG9vbHRpcENvbnRlbnQgPyAoXG4gICAgICAgICAgICAgICAgPFRvb2x0aXBcbiAgICAgICAgICAgICAgICAgIGNvbnRlbnQ9e21ha2VUb29sdGlwTm9kZShcbiAgICAgICAgICAgICAgICAgICAgY29sbGFwc2VUb2dnbGVUb29sdGlwQ29udGVudChpc0NvbGxhcHNlZCksXG4gICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgZGVsYXk9ezYwMH1cbiAgICAgICAgICAgICAgICAgIGhpZGVUb29sdGlwT25DbGlja1xuICAgICAgICAgICAgICAgICAgcG9zaXRpb249XCJyaWdodFwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge2J1dHRvbn1cbiAgICAgICAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgYnV0dG9uXG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L0ZyYWdtZW50PlxuICAgICAgICApfVxuICAgICAgPC9PdXRlcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCB7IFJlc2l6ZUNvbnRyb2wgYXMgUmVzaXplQ29udHJvbEJhc2UgfTtcblxuZXhwb3J0IGRlZmF1bHQgd2l0aEFuYWx5dGljc0V2ZW50cygpKFJlc2l6ZUNvbnRyb2wpO1xuIl19 */\")\n }, props), Object(_emotion_core__WEBPACK_IMPORTED_MODULE_11__[\"jsx\"])(\"div\", {\n css:\n /*#__PURE__*/\n Object(_emotion_css__WEBPACK_IMPORTED_MODULE_10__[\"default\"])({\n backgroundColor: isBold ? _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_17__[\"B200\"] : _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_17__[\"B100\"],\n opacity: showHandle ? 1 : 0,\n height: '100%',\n left: HANDLE_OFFSET - HANDLE_WIDTH / 2,\n // the handle should \"straddle\" the dividing line\n position: 'absolute',\n transition: 'opacity 200ms',\n width: HANDLE_WIDTH\n }, false ? undefined : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL0xheW91dE1hbmFnZXIvUmVzaXplQ29udHJvbC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFrRU0iLCJmaWxlIjoiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvcHJlc2VudGF0aW9uYWwvTGF5b3V0TWFuYWdlci9SZXNpemVDb250cm9sLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IEZyYWdtZW50LCBQdXJlQ29tcG9uZW50IH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgeyBHbG9iYWwgfSBmcm9tICdAZW1vdGlvbi9jb3JlJztcbmltcG9ydCByYWYgZnJvbSAncmFmLXNjaGQnO1xuXG5pbXBvcnQgeyB3aXRoQW5hbHl0aWNzRXZlbnRzIH0gZnJvbSAnQGF0bGFza2l0L2FuYWx5dGljcy1uZXh0JztcbmltcG9ydCBDaGV2cm9uTGVmdCBmcm9tICdAYXRsYXNraXQvaWNvbi9nbHlwaC9jaGV2cm9uLWxlZnQnO1xuaW1wb3J0IENoZXZyb25SaWdodCBmcm9tICdAYXRsYXNraXQvaWNvbi9nbHlwaC9jaGV2cm9uLXJpZ2h0JztcbmltcG9ydCAqIGFzIGNvbG9ycyBmcm9tICdAYXRsYXNraXQvdGhlbWUvY29sb3JzJztcbmltcG9ydCBUb29sdGlwIGZyb20gJ0BhdGxhc2tpdC90b29sdGlwJztcblxuaW1wb3J0IHsgbmF2aWdhdGlvbkV4cGFuZGVkQ29sbGFwc2VkIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2FuYWx5dGljcyc7XG5pbXBvcnQge1xuICBDT05URU5UX05BVl9XSURUSCxcbiAgQ09OVEVOVF9OQVZfV0lEVEhfQ09MTEFQU0VELFxuICBHTE9CQUxfTkFWX0NPTExBUFNFX1RIUkVTSE9MRCxcbiAgR0xPQkFMX05BVl9XSURUSCxcbn0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBTaGFkb3cgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vcHJpbWl0aXZlcyc7XG5cbmNvbnN0IEhBTkRMRV9PRkZTRVQgPSA0O1xuY29uc3QgSU5ORVJfV0lEVEggPSAyMDtcbmNvbnN0IE9VVEVSX1dJRFRIID0gSU5ORVJfV0lEVEggKyBIQU5ETEVfT0ZGU0VUO1xuY29uc3QgSEFORExFX1dJRFRIID0gMjtcbmNvbnN0IHNob3VsZFJlc2V0R3JhYkFyZWEgPSB3aWR0aCA9PiB7XG4gIHJldHVybiB3aWR0aCA+PSBHTE9CQUxfTkFWX0NPTExBUFNFX1RIUkVTSE9MRCAmJiB3aWR0aCA8IENPTlRFTlRfTkFWX1dJRFRIO1xufTtcbmNvbnN0IHByZXZlbnREZWZhdWx0ID0gZXZlbnQgPT4gZXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuZXhwb3J0IGNvbnN0IEJvZHlEcmFnQ3Vyc29yID0gKCkgPT4gKFxuICA8R2xvYmFsXG4gICAgc3R5bGVzPXt7XG4gICAgICBib2R5OiB7XG4gICAgICAgIGN1cnNvcjogJ2V3LXJlc2l6ZScsXG4gICAgICB9LFxuICAgIH19XG4gIC8+XG4pO1xuXG5jb25zdCBPdXRlciA9IHByb3BzID0+IChcbiAgPGRpdlxuICAgIGNzcz17e1xuICAgICAgYm90dG9tOiAwLFxuICAgICAgbGVmdDogJzEwMCUnLFxuICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICB0b3A6IDAsXG4gICAgICB0cmFuc2Zvcm06ICd0cmFuc2xhdGVaKDApJyxcbiAgICAgIHdpZHRoOiBPVVRFUl9XSURUSCxcbiAgICAgIHpJbmRleDogMywgLy8gaGlnaGVyIHRoYW4gdGhlIHNjcm9sbCBoaW50IGxpbmVzXG4gICAgfX1cbiAgICB7Li4ucHJvcHN9XG4gIC8+XG4pO1xuXG5leHBvcnQgY29uc3QgR3JhYkFyZWEgPSAoeyBzaG93SGFuZGxlLCBpc0JvbGQsIC4uLnByb3BzIH0pID0+IChcbiAgPGRpdlxuICAgIGNzcz17e1xuICAgICAgY3Vyc29yOiAnZXctcmVzaXplJyxcbiAgICAgIGhlaWdodDogJzEwMCUnLFxuICAgICAgbGVmdDogLUhBTkRMRV9PRkZTRVQsXG4gICAgICBwb3NpdGlvbjogJ3JlbGF0aXZlJyxcbiAgICAgIHdpZHRoOiBPVVRFUl9XSURUSCxcbiAgICB9fVxuICAgIHsuLi5wcm9wc31cbiAgPlxuICAgIDxkaXZcbiAgICAgIGNzcz17e1xuICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IGlzQm9sZCA/IGNvbG9ycy5CMjAwIDogY29sb3JzLkIxMDAsXG4gICAgICAgIG9wYWNpdHk6IHNob3dIYW5kbGUgPyAxIDogMCxcbiAgICAgICAgaGVpZ2h0OiAnMTAwJScsXG4gICAgICAgIGxlZnQ6IEhBTkRMRV9PRkZTRVQgLSBIQU5ETEVfV0lEVEggLyAyLCAvLyB0aGUgaGFuZGxlIHNob3VsZCBcInN0cmFkZGxlXCIgdGhlIGRpdmlkaW5nIGxpbmVcbiAgICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICAgIHRyYW5zaXRpb246ICdvcGFjaXR5IDIwMG1zJyxcbiAgICAgICAgd2lkdGg6IEhBTkRMRV9XSURUSCxcbiAgICAgIH19XG4gICAgLz5cbiAgPC9kaXY+XG4pO1xuY29uc3QgbGFyZ2VIaXRBcmVhID0ge1xuICBsZWZ0OiAtOCxcbiAgcmlnaHQ6IC0xMixcbiAgYm90dG9tOiAtOCxcbiAgdG9wOiAtOCxcbn07XG5jb25zdCBzbWFsbEhpdEFyZWEgPSB7XG4gIGxlZnQ6IC00LFxuICByaWdodDogLTQsXG4gIGJvdHRvbTogLTQsXG4gIHRvcDogLTQsXG59O1xuXG5jb25zdCBCdXR0b24gPSAoe1xuICBjaGlsZHJlbixcbiAgaGFzSGlnaGxpZ2h0LFxuICBpbm5lclJlZixcbiAgaXNWaXNpYmxlLFxuICBoaXRBcmVhU2l6ZSxcbiAgLi4ucHJvcHNcbn0pID0+IChcbiAgPGJ1dHRvblxuICAgIGNsYXNzTmFtZT1cImFrLW5hdmlnYXRpb24tcmVzaXplLWJ1dHRvblwiXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgcmVmPXtpbm5lclJlZn1cbiAgICBjc3M9e3tcbiAgICAgIGJhY2tncm91bmQ6IDAsXG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6ICd3aGl0ZScsXG4gICAgICBib3JkZXI6IDAsXG4gICAgICBib3JkZXJSYWRpdXM6ICc1MCUnLFxuICAgICAgYm94U2hhZG93OiBgMCAwIDAgMXB4ICR7Y29sb3JzLk4zMEF9LCAwIDJweCA0cHggMXB4ICR7Y29sb3JzLk4zMEF9YCxcbiAgICAgIGNvbG9yOiBoYXNIaWdobGlnaHQgPyBjb2xvcnMuQjEwMCA6IGNvbG9ycy5OMjAwLFxuICAgICAgY3Vyc29yOiAncG9pbnRlcicsXG4gICAgICBoZWlnaHQ6IDI0LFxuICAgICAgb3BhY2l0eTogaXNWaXNpYmxlID8gMSA6IDAsXG4gICAgICBvdXRsaW5lOiAwLFxuICAgICAgcGFkZGluZzogMCxcbiAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgICAgdG9wOiAzMixcbiAgICAgIHRyYW5zaXRpb246IGBcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvciAxMDBtcyBsaW5lYXIsXG4gICAgICAgIGNvbG9yIDEwMG1zIGxpbmVhcixcbiAgICAgICAgb3BhY2l0eSAzMDBtcyBjdWJpYy1iZXppZXIoMC4yLCAwLCAwLCAxKSxcbiAgICAgICAgdHJhbnNmb3JtIDMwMG1zIGN1YmljLWJlemllcigwLjIsIDAsIDAsIDEpXG4gICAgICBgLFxuICAgICAgdHJhbnNmb3JtOiBgdHJhbnNsYXRlKC01MCUpYCxcbiAgICAgIHdpZHRoOiAyNCxcblxuICAgICAgJzpob3Zlcic6IHtcbiAgICAgICAgYmFja2dyb3VuZENvbG9yOiBjb2xvcnMuQjEwMCxcbiAgICAgICAgY29sb3I6ICd3aGl0ZScsXG4gICAgICB9LFxuICAgICAgJzphY3RpdmUnOiB7XG4gICAgICAgIGJhY2tncm91bmRDb2xvcjogY29sb3JzLkIyMDAsXG4gICAgICAgIGNvbG9yOiAnd2hpdGUnLFxuICAgICAgfSxcbiAgICAgICc6Zm9jdXMnOiB7XG4gICAgICAgIG9wYWNpdHk6IDEsXG4gICAgICAgIGJhY2tncm91bmRDb2xvcjogY29sb3JzLkIyMDAsXG4gICAgICAgIGNvbG9yOiAnd2hpdGUnLFxuICAgICAgfSxcbiAgICB9fVxuICAgIHsuLi5wcm9wc31cbiAgPlxuICAgIDxkaXZcbiAgICAgIC8vIGluY3JlYXNlIGhpdC1hcmVhXG4gICAgICBjc3M9e3tcbiAgICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICAgIC4uLihoaXRBcmVhU2l6ZSA9PT0gJ3NtYWxsJyA/IHNtYWxsSGl0QXJlYSA6IGxhcmdlSGl0QXJlYSksXG4gICAgICB9fVxuICAgIC8+XG4gICAge2NoaWxkcmVufVxuICA8L2J1dHRvbj5cbik7XG5cbi8vIHRpbmtlciB3aXRoIHRoZSBET00gZGlyZWN0bHkgYnkgc2V0dGluZyBzdHlsZSBwcm9wZXJ0aWVzLCB1cGRhdGVzIHRoZSBncmFiIGJhciBwb3NpdGlvbiBieSBjaGFuZ2luZyBwYWRkaW5nLWxlZnQgYW5kIHdpZHRoLlxuZnVuY3Rpb24gdXBkYXRlUmVzaXplQXJlYVBvc2l0aW9uKGVsZW1lbnRzLCB3aWR0aCkge1xuICBlbGVtZW50cy5mb3JFYWNoKCh7IHByb3BlcnR5LCByZWYgfSkgPT4ge1xuICAgIGNvbnN0IG5ld1ZhbHVlID0gYCR7d2lkdGh9cHhgO1xuICAgIGNvbnN0IG9sZFZhbHVlID0gcmVmLnN0eWxlLmdldFByb3BlcnR5VmFsdWUocHJvcGVydHkpO1xuXG4gICAgLy8gYXZvaWQgdGhyYXNoaW5nXG4gICAgaWYgKG9sZFZhbHVlID09PSBuZXdWYWx1ZSkgcmV0dXJuO1xuXG4gICAgLy8gZGlyZWN0IGF0dHJpYnV0ZSBtYW5pcHVsYXRpb25cbiAgICByZWYuc3R5bGUuc2V0UHJvcGVydHkocHJvcGVydHksIG5ld1ZhbHVlKTtcbiAgfSk7XG59XG5cbi8vIGhlbHBlciBmb3IgdG9vbHRpcCBjb250ZW50IGtleWJvYXJkIHNob3J0Y3V0IGhpZ2hsaWdodFxuZnVuY3Rpb24gbWFrZVRvb2x0aXBOb2RlKHsgdGV4dCwgY2hhciB9KSB7XG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgY3NzPXt7XG4gICAgICAgIGFsaWduSXRlbXM6ICdiYXNlbGluZScsXG4gICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgbGluZUhlaWdodDogMS4zLFxuICAgICAgICBwYWRkaW5nQm90dG9tOiAxLFxuICAgICAgICBwYWRkaW5nVG9wOiAxLFxuICAgICAgfX1cbiAgICA+XG4gICAgICA8c3Bhbj57dGV4dH08L3NwYW4+XG4gICAgICA8ZGl2XG4gICAgICAgIGNzcz17e1xuICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogY29sb3JzLk40MDAsXG4gICAgICAgICAgYm9yZGVyUmFkaXVzOiAyLFxuICAgICAgICAgIGxpbmVIZWlnaHQ6IDEuMixcbiAgICAgICAgICBtYXJnaW5MZWZ0OiA0LFxuICAgICAgICAgIHBhZGRpbmc6ICcxcHggOHB4JyxcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAge2NoYXJ9XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn1cblxuLyogTk9URTogZXhwZXJpbWVudGFsIHByb3BzIHVzZSBhbiB1bmRlcnNjb3JlICovXG5jbGFzcyBSZXNpemVDb250cm9sIGV4dGVuZHMgUHVyZUNvbXBvbmVudCB7XG4gIGludmFsaWREcmFnQXR0ZW1wdGVkID0gZmFsc2U7XG5cbiAgbGFzdFdpZHRoO1xuXG4gIHdyYXBwZXI7XG5cbiAgc3RhdGUgPSB7XG4gICAgZGVsdGE6IDAsXG4gICAgZGlkRHJhZ09wZW46IGZhbHNlLFxuICAgIGlzRHJhZ2dpbmc6IGZhbHNlLFxuICAgIGluaXRpYWxXaWR0aDogMCxcbiAgICBpbml0aWFsWDogMCxcbiAgICBtb3VzZUlzRG93bjogZmFsc2UsXG4gICAgbW91c2VJc092ZXJHcmFiQXJlYTogZmFsc2UsXG4gICAgc2hvd0dyYWJBcmVhOiB0cnVlLFxuICAgIHdpZHRoOiB0aGlzLnByb3BzLm5hdmlnYXRpb24uc3RhdGUucHJvZHVjdE5hdldpZHRoLFxuICB9O1xuXG4gIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XG4gICAgaXNHcmFiQXJlYURpc2FibGVkOiBmYWxzZSxcbiAgfTtcblxuICBzdGF0aWMgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzKHByb3BzLCBzdGF0ZSkge1xuICAgIGNvbnN0IHtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBjYW1lbGNhc2VcbiAgICAgIGV4cGVyaW1lbnRhbF9mbHlvdXRPbkhvdmVyOiBFWFBFUklNRU5UQUxfRkxZT1VUX09OX0hPVkVSLFxuICAgICAgZmx5b3V0SXNPcGVuLFxuICAgICAgbmF2aWdhdGlvbixcbiAgICB9ID0gcHJvcHM7XG4gICAgY29uc3QgeyBpc0NvbGxhcHNlZCB9ID0gbmF2aWdhdGlvbi5zdGF0ZTtcblxuICAgIC8vIHJlc29sdmUgXCJob3ZlciBsb2NraW5nXCIgaXNzdWUgd2l0aCByZXNpemUgZ3JhYiBhcmVhXG4gICAgaWYgKEVYUEVSSU1FTlRBTF9GTFlPVVRfT05fSE9WRVIpIHtcbiAgICAgIGNvbnN0IHNob3dHcmFiQXJlYSA9ICFpc0NvbGxhcHNlZCAmJiAhZmx5b3V0SXNPcGVuO1xuICAgICAgY29uc3QgbW91c2VJc092ZXJHcmFiQXJlYSA9IHNob3dHcmFiQXJlYVxuICAgICAgICA/IHN0YXRlLm1vdXNlSXNPdmVyR3JhYkFyZWFcbiAgICAgICAgOiBmYWxzZTtcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgbW91c2VJc092ZXJHcmFiQXJlYSxcbiAgICAgICAgc2hvd0dyYWJBcmVhLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIG9uUmVzaXplckNoZXZyb25DbGljayA9ICgpID0+IHtcbiAgICBjb25zdCB0cmlnZ2VyID0gdGhpcy5wcm9wcy5mbHlvdXRJc09wZW4gPyAnY2hldnJvbkhvdmVyJyA6ICdjaGV2cm9uJztcbiAgICB0aGlzLnRvZ2dsZUNvbGxhcHNlKHRyaWdnZXIpO1xuICB9O1xuXG4gIG1vdXNlRW50ZXJHcmFiQXJlYSA9ICgpID0+IHtcbiAgICB0aGlzLnNldFN0YXRlKHsgbW91c2VJc092ZXJHcmFiQXJlYTogdHJ1ZSB9KTtcbiAgfTtcblxuICBtb3VzZUxlYXZlR3JhYkFyZWEgPSAoKSA9PiB7XG4gICAgdGhpcy5zZXRTdGF0ZSh7IG1vdXNlSXNPdmVyR3JhYkFyZWE6IGZhbHNlIH0pO1xuICB9O1xuXG4gIHRvZ2dsZUNvbGxhcHNlID0gdHJpZ2dlciA9PiB7XG4gICAgY29uc3QgeyBuYXZpZ2F0aW9uLCBjcmVhdGVBbmFseXRpY3NFdmVudCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBuZXdDb2xsYXBzZWRTdGF0ZSA9ICFuYXZpZ2F0aW9uLnN0YXRlLmlzQ29sbGFwc2VkO1xuICAgIG5hdmlnYXRpb24udG9nZ2xlQ29sbGFwc2UoKTtcbiAgICBuYXZpZ2F0aW9uRXhwYW5kZWRDb2xsYXBzZWQoY3JlYXRlQW5hbHl0aWNzRXZlbnQsIHtcbiAgICAgIHRyaWdnZXIsXG4gICAgICBpc0NvbGxhcHNlZDogbmV3Q29sbGFwc2VkU3RhdGUsXG4gICAgfSk7XG4gIH07XG5cbiAgaGFuZGxlUmVzaXplU3RhcnQgPSBldmVudCA9PiB7XG4gICAgY29uc3QgaW5pdGlhbFggPSBldmVudC5wYWdlWDtcblxuICAgIHRoaXMuc2V0U3RhdGUoeyBpbml0aWFsWCwgbW91c2VJc0Rvd246IHRydWUgfSk7XG5cbiAgICAvLyBhdHRhY2ggaGFuZGxlcnMgKGhhbmRsZVJlc2l6ZVN0YXJ0IGlzIGEgYm91bmQgdG8gb25Nb3VzZURvd24pXG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIHRoaXMuaGFuZGxlUmVzaXplKTtcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbW91c2V1cCcsIHRoaXMuaGFuZGxlUmVzaXplRW5kKTtcbiAgfTtcblxuICBpbml0aWFsaXplRHJhZyA9IGV2ZW50ID0+IHtcbiAgICBjb25zdCB7IG5hdmlnYXRpb24gfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgZGVsdGEgPSBldmVudC5wYWdlWCAtIHRoaXMuc3RhdGUuaW5pdGlhbFg7XG4gICAgY29uc3QgeyBpc0NvbGxhcHNlZCB9ID0gbmF2aWdhdGlvbi5zdGF0ZTtcblxuICAgIC8vIG9ubHkgaW5pdGlhbGl6ZSB3aGVuIGRyYWcgaW50ZW50aW9uIGlzIFwiZXhwYW5kXCJcbiAgICBpZiAoaXNDb2xsYXBzZWQgJiYgZGVsdGEgPD0gMCkge1xuICAgICAgdGhpcy5pbnZhbGlkRHJhZ0F0dGVtcHRlZCA9IHRydWU7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgbGV0IGluaXRpYWxXaWR0aCA9IG5hdmlnYXRpb24uc3RhdGUucHJvZHVjdE5hdldpZHRoO1xuICAgIGxldCBkaWREcmFnT3BlbiA9IGZhbHNlO1xuXG4gICAgLy8gTk9URVxuICAgIC8vIGlmIHRoZSBwcm9kdWN0IG5hdiBpcyBjb2xsYXBzZWQgYW5kIHRoZSBjb25zdW1lciBzdGFydHMgZHJhZ2dpbmcgaXQgb3BlblxuICAgIC8vIHdlIG11c3QgZXhwYW5kIGl0IGFuZCBkcmFnIHNob3VsZCBzdGFydCBmcm9tIDAuXG4gICAgaWYgKGlzQ29sbGFwc2VkKSB7XG4gICAgICBpbml0aWFsV2lkdGggPSBDT05URU5UX05BVl9XSURUSF9DT0xMQVBTRUQ7XG4gICAgICBkaWREcmFnT3BlbiA9IHRydWU7XG4gICAgICBuYXZpZ2F0aW9uLm1hbnVhbFJlc2l6ZVN0YXJ0KHtcbiAgICAgICAgcHJvZHVjdE5hdldpZHRoOiBDT05URU5UX05BVl9XSURUSF9DT0xMQVBTRUQsXG4gICAgICAgIGlzQ29sbGFwc2VkOiBmYWxzZSxcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBuYXZpZ2F0aW9uLm1hbnVhbFJlc2l6ZVN0YXJ0KG5hdmlnYXRpb24uc3RhdGUpO1xuICAgIH1cblxuICAgIHRoaXMuc2V0U3RhdGUoeyBkaWREcmFnT3BlbiwgaW5pdGlhbFdpZHRoLCBpc0RyYWdnaW5nOiB0cnVlIH0pO1xuICB9O1xuXG4gIGhhbmRsZVJlc2l6ZSA9IHJhZihldmVudCA9PiB7XG4gICAgY29uc3QgeyBtdXRhdGlvblJlZnMgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyBpbml0aWFsWCwgaW5pdGlhbFdpZHRoLCBpc0RyYWdnaW5nLCBtb3VzZUlzRG93biB9ID0gdGhpcy5zdGF0ZTtcblxuICAgIC8vIG9uIG9jY2FzaW9uIGEgbW91c2UgbW92ZSBldmVudCBvY2N1cnMgYmVmb3JlIHRoZSBldmVudCBsaXN0ZW5lcnNcbiAgICAvLyBoYXZlIGEgY2hhbmNlIHRvIGRldGFjaFxuICAgIGlmICghbW91c2VJc0Rvd24pIHJldHVybjtcblxuICAgIC8vIGluaXRpYWxpemUgZHJhZ2dpbmdcbiAgICBpZiAoIWlzRHJhZ2dpbmcpIHtcbiAgICAgIHRoaXMuaW5pdGlhbGl6ZURyYWcoZXZlbnQpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIGFsbG93IHRoZSBwcm9kdWN0IG5hdiB0byBiZSA3NSUgb2YgdGhlIGF2YWlsYWJsZSBwYWdlIHdpZHRoXG4gICAgY29uc3QgbWF4V2lkdGggPSBNYXRoLnJvdW5kKCh3aW5kb3cuaW5uZXJXaWR0aCAvIDQpICogMyk7XG4gICAgY29uc3QgbWluV2lkdGggPSBDT05URU5UX05BVl9XSURUSF9DT0xMQVBTRUQ7XG4gICAgY29uc3QgYWRqdXN0ZWRNYXggPSBtYXhXaWR0aCAtIGluaXRpYWxXaWR0aCAtIEdMT0JBTF9OQVZfV0lEVEg7XG4gICAgY29uc3QgYWRqdXN0ZWRNaW4gPSBtaW5XaWR0aCAtIGluaXRpYWxXaWR0aDtcblxuICAgIGNvbnN0IGRlbHRhID0gTWF0aC5tYXgoXG4gICAgICBNYXRoLm1pbihldmVudC5wYWdlWCAtIGluaXRpYWxYLCBhZGp1c3RlZE1heCksXG4gICAgICBhZGp1c3RlZE1pbixcbiAgICApO1xuICAgIGNvbnN0IHdpZHRoID0gaW5pdGlhbFdpZHRoICsgZGVsdGE7XG5cbiAgICAvLyBhcHBseSB1cGRhdGVkIHN0eWxlcyB0byB0aGUgYXBwbGljYWJsZSBET00gbm9kZXNcbiAgICB1cGRhdGVSZXNpemVBcmVhUG9zaXRpb24obXV0YXRpb25SZWZzLCB3aWR0aCk7XG5cbiAgICAvLyBOT1RFOiBoaWphY2sgdGhlIG1hdWFsIHJlc2l6ZSBhbmQgZm9yY2UgY29sbGFwc2UsIGNhbmNlbHMgbW91c2UgZXZlbnRzXG4gICAgaWYgKGV2ZW50LmNsaWVudFggPCAwKSB7XG4gICAgICB0aGlzLnNldFN0YXRlKHsgd2lkdGg6IENPTlRFTlRfTkFWX1dJRFRIX0NPTExBUFNFRCB9KTtcbiAgICAgIHRoaXMuaGFuZGxlUmVzaXplRW5kKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIG1haW50YWluIGludGVybmFsIHdpZHRoLCBhcHBsaWVkIHRvIG5hdmlnYXRpb24gc3RhdGUgb24gcmVzaXplIGVuZFxuICAgICAgdGhpcy5zZXRTdGF0ZSh7IGRlbHRhLCB3aWR0aCB9KTtcbiAgICB9XG4gIH0pO1xuXG4gIGhhbmRsZVJlc2l6ZUVuZCA9ICgpID0+IHtcbiAgICBjb25zdCB7IG5hdmlnYXRpb24sIGNyZWF0ZUFuYWx5dGljc0V2ZW50IH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IHsgZGVsdGEsIGRpZERyYWdPcGVuLCBpc0RyYWdnaW5nLCB3aWR0aDogY3VycmVudFdpZHRoIH0gPSB0aGlzLnN0YXRlO1xuICAgIGNvbnN0IGV4cGFuZFRocmVzaG9sZCA9IDI0O1xuICAgIGNvbnN0IHJlc2l6ZXJDbGlja2VkID0gIWlzRHJhZ2dpbmcgJiYgIXRoaXMuaW52YWxpZERyYWdBdHRlbXB0ZWQ7XG4gICAgbGV0IHB1Ymxpc2hXaWR0aCA9IGN1cnJlbnRXaWR0aDtcbiAgICBsZXQgc2hvdWxkQ29sbGFwc2UgPSBmYWxzZTtcblxuICAgIC8vIGNoZWNrIGlmIHRoZSBpbnRlbnRpb24gd2FzIGp1c3QgYSBjbGljaywgYW5kIHRvZ2dsZVxuICAgIGlmIChyZXNpemVyQ2xpY2tlZCkge1xuICAgICAgcHVibGlzaFdpZHRoID0gTWF0aC5tYXgoQ09OVEVOVF9OQVZfV0lEVEgsIGN1cnJlbnRXaWR0aCk7XG4gICAgICB0aGlzLnRvZ2dsZUNvbGxhcHNlKCdyZXNpemVyQ2xpY2snKTtcbiAgICB9XG5cbiAgICAvLyBwcmV2ZW50IHRoZSB1c2VyIGZyb20gY3JlYXRpbmcgYW4gdW51c2FibGUgd2lkdGhcbiAgICBpZiAocHVibGlzaFdpZHRoIDwgQ09OVEVOVF9OQVZfV0lEVEgpIHtcbiAgICAgIHB1Ymxpc2hXaWR0aCA9IENPTlRFTlRfTkFWX1dJRFRIO1xuICAgICAgaWYgKGRpZERyYWdPcGVuICYmIGRlbHRhID4gZXhwYW5kVGhyZXNob2xkKSB7XG4gICAgICAgIHNob3VsZENvbGxhcHNlID0gZmFsc2U7XG4gICAgICB9IGVsc2UgaWYgKGN1cnJlbnRXaWR0aCA8IEdMT0JBTF9OQVZfQ09MTEFQU0VfVEhSRVNIT0xEKSB7XG4gICAgICAgIHNob3VsZENvbGxhcHNlID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgc2hvdWxkQ29sbGFwc2UgPSBuYXZpZ2F0aW9uLnN0YXRlLmlzQ29sbGFwc2VkO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgICFyZXNpemVyQ2xpY2tlZCAmJlxuICAgICAgKChkaWREcmFnT3BlbiAmJiAhc2hvdWxkQ29sbGFwc2UpIHx8ICghZGlkRHJhZ09wZW4gJiYgc2hvdWxkQ29sbGFwc2UpKVxuICAgICkge1xuICAgICAgbmF2aWdhdGlvbkV4cGFuZGVkQ29sbGFwc2VkKGNyZWF0ZUFuYWx5dGljc0V2ZW50LCB7XG4gICAgICAgIHRyaWdnZXI6ICdyZXNpemVyRHJhZycsXG4gICAgICAgIGlzQ29sbGFwc2VkOiBzaG91bGRDb2xsYXBzZSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIHJlc2V0IGV2ZXJ5dGhpbmdcbiAgICB0aGlzLmludmFsaWREcmFnQXR0ZW1wdGVkID0gZmFsc2U7XG4gICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICBkaWREcmFnT3BlbjogZmFsc2UsXG4gICAgICBpc0RyYWdnaW5nOiBmYWxzZSxcbiAgICAgIG1vdXNlSXNEb3duOiBmYWxzZSxcbiAgICAgIHdpZHRoOiBwdWJsaXNoV2lkdGgsXG4gICAgfSk7XG5cbiAgICAvLyBwdWJsaXNoIHRoZSBuZXcgd2lkdGgsIG9uY2UgcmVzaXppbmcgY29tcGxldGVzXG4gICAgbmF2aWdhdGlvbi5tYW51YWxSZXNpemVFbmQoe1xuICAgICAgcHJvZHVjdE5hdldpZHRoOiBwdWJsaXNoV2lkdGgsXG4gICAgICBpc0NvbGxhcHNlZDogc2hvdWxkQ29sbGFwc2UsXG4gICAgfSk7XG5cbiAgICBpZiAoc2hvdWxkUmVzZXRHcmFiQXJlYShjdXJyZW50V2lkdGgpKSB7XG4gICAgICB1cGRhdGVSZXNpemVBcmVhUG9zaXRpb24odGhpcy5wcm9wcy5tdXRhdGlvblJlZnMsIENPTlRFTlRfTkFWX1dJRFRIKTtcbiAgICB9XG5cbiAgICAvLyBjbGVhbnVwXG4gICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIHRoaXMuaGFuZGxlUmVzaXplKTtcbiAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2V1cCcsIHRoaXMuaGFuZGxlUmVzaXplRW5kKTtcbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgaXNEcmFnZ2luZyxcbiAgICAgIG1vdXNlSXNEb3duLFxuICAgICAgbW91c2VJc092ZXJHcmFiQXJlYSxcbiAgICAgIHNob3dHcmFiQXJlYSxcbiAgICB9ID0gdGhpcy5zdGF0ZTtcbiAgICBjb25zdCB7XG4gICAgICBjb2xsYXBzZVRvZ2dsZVRvb2x0aXBDb250ZW50LFxuICAgICAgZXhwYW5kQ29sbGFwc2VBZmZvcmRhbmNlUmVmLFxuICAgICAgZmx5b3V0SXNPcGVuLFxuICAgICAgaXNEaXNhYmxlZDogaXNSZXNpemVEaXNhYmxlZCxcbiAgICAgIGlzR3JhYkFyZWFEaXNhYmxlZCxcbiAgICAgIG9uTW91c2VPdmVyQnV0dG9uQnVmZmVyLFxuICAgICAgbmF2aWdhdGlvbixcbiAgICB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IGlzQ29sbGFwc2VkIH0gPSBuYXZpZ2F0aW9uLnN0YXRlO1xuXG4gICAgLy8gdGhlIGJ1dHRvbiBzaG91bGRuJ3QgXCJmbGlwXCIgdW50aWwgdGhlIGRyYWcgaXMgY29tcGxldGVcbiAgICBsZXQgQnV0dG9uSWNvbiA9IENoZXZyb25MZWZ0O1xuICAgIGlmIChpc0NvbGxhcHNlZCkgQnV0dG9uSWNvbiA9IENoZXZyb25SaWdodDtcblxuICAgIGNvbnN0IGJ1dHRvbiA9IChcbiAgICAgIDxCdXR0b25cbiAgICAgICAgb25DbGljaz17dGhpcy5vblJlc2l6ZXJDaGV2cm9uQ2xpY2t9XG4gICAgICAgIG9uTW91c2VEb3duPXtwcmV2ZW50RGVmYXVsdH1cbiAgICAgICAgaGl0QXJlYVNpemU9e29uTW91c2VPdmVyQnV0dG9uQnVmZmVyID8gJ2xhcmdlJyA6ICdzbWFsbCd9XG4gICAgICAgIC8vIG1haW50YWluIHN0eWxlcyB3aGVuIHVzZXIgaXMgZHJhZ2dpbmdcbiAgICAgICAgaXNWaXNpYmxlPXtpc0NvbGxhcHNlZCB8fCBtb3VzZUlzRG93bn1cbiAgICAgICAgaGFzSGlnaGxpZ2h0PXttb3VzZUlzRG93biB8fCBtb3VzZUlzT3ZlckdyYWJBcmVhfVxuICAgICAgICBpbm5lclJlZj17ZXhwYW5kQ29sbGFwc2VBZmZvcmRhbmNlUmVmfVxuICAgICAgICBhcmlhLWV4cGFuZGVkPXshaXNDb2xsYXBzZWR9XG4gICAgICAgIGFyaWEtbGFiZWw9XCJUb2dnbGUgbmF2aWdhdGlvblwiXG4gICAgICA+XG4gICAgICAgIDxCdXR0b25JY29uIC8+XG4gICAgICA8L0J1dHRvbj5cbiAgICApO1xuICAgIGNvbnN0IHNoYWRvd0RpcmVjdGlvbiA9IGZseW91dElzT3BlbiA/ICd0byByaWdodCcgOiAndG8gbGVmdCc7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPE91dGVyPlxuICAgICAgICB7aXNEcmFnZ2luZyAmJiA8Qm9keURyYWdDdXJzb3IgLz59XG4gICAgICAgIDxTaGFkb3cgZGlyZWN0aW9uPXtzaGFkb3dEaXJlY3Rpb259IGlzQm9sZD17bW91c2VJc0Rvd259IC8+XG4gICAgICAgIHshaXNSZXNpemVEaXNhYmxlZCAmJiAoXG4gICAgICAgICAgPEZyYWdtZW50PlxuICAgICAgICAgICAgeyFpc0dyYWJBcmVhRGlzYWJsZWQgJiYgc2hvd0dyYWJBcmVhICYmIChcbiAgICAgICAgICAgICAgPEdyYWJBcmVhXG4gICAgICAgICAgICAgICAgaXNCb2xkPXttb3VzZUlzRG93bn1cbiAgICAgICAgICAgICAgICBzaG93SGFuZGxlPXttb3VzZUlzRG93biB8fCBtb3VzZUlzT3ZlckdyYWJBcmVhfVxuICAgICAgICAgICAgICAgIG9uTW91c2VFbnRlcj17dGhpcy5tb3VzZUVudGVyR3JhYkFyZWF9XG4gICAgICAgICAgICAgICAgb25Nb3VzZUxlYXZlPXt0aGlzLm1vdXNlTGVhdmVHcmFiQXJlYX1cbiAgICAgICAgICAgICAgICBvbk1vdXNlRG93bj17dGhpcy5oYW5kbGVSZXNpemVTdGFydH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8ZGl2IG9uTW91c2VPdmVyPXshZmx5b3V0SXNPcGVuID8gb25Nb3VzZU92ZXJCdXR0b25CdWZmZXIgOiBudWxsfT5cbiAgICAgICAgICAgICAge2NvbGxhcHNlVG9nZ2xlVG9vbHRpcENvbnRlbnQgPyAoXG4gICAgICAgICAgICAgICAgPFRvb2x0aXBcbiAgICAgICAgICAgICAgICAgIGNvbnRlbnQ9e21ha2VUb29sdGlwTm9kZShcbiAgICAgICAgICAgICAgICAgICAgY29sbGFwc2VUb2dnbGVUb29sdGlwQ29udGVudChpc0NvbGxhcHNlZCksXG4gICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgZGVsYXk9ezYwMH1cbiAgICAgICAgICAgICAgICAgIGhpZGVUb29sdGlwT25DbGlja1xuICAgICAgICAgICAgICAgICAgcG9zaXRpb249XCJyaWdodFwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge2J1dHRvbn1cbiAgICAgICAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgYnV0dG9uXG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L0ZyYWdtZW50PlxuICAgICAgICApfVxuICAgICAgPC9PdXRlcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCB7IFJlc2l6ZUNvbnRyb2wgYXMgUmVzaXplQ29udHJvbEJhc2UgfTtcblxuZXhwb3J0IGRlZmF1bHQgd2l0aEFuYWx5dGljc0V2ZW50cygpKFJlc2l6ZUNvbnRyb2wpO1xuIl19 */\")\n }));\n};\nvar largeHitArea = {\n left: -8,\n right: -12,\n bottom: -8,\n top: -8\n};\nvar smallHitArea = {\n left: -4,\n right: -4,\n bottom: -4,\n top: -4\n};\n\nvar Button = function Button(_ref2) {\n var children = _ref2.children,\n hasHighlight = _ref2.hasHighlight,\n innerRef = _ref2.innerRef,\n isVisible = _ref2.isVisible,\n hitAreaSize = _ref2.hitAreaSize,\n props = _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_8___default()(_ref2, [\"children\", \"hasHighlight\", \"innerRef\", \"isVisible\", \"hitAreaSize\"]);\n\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_11__[\"jsx\"])(\"button\", _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_9___default()({\n className: \"ak-navigation-resize-button\",\n type: \"button\",\n ref: innerRef,\n css:\n /*#__PURE__*/\n Object(_emotion_css__WEBPACK_IMPORTED_MODULE_10__[\"default\"])({\n background: 0,\n backgroundColor: 'white',\n border: 0,\n borderRadius: '50%',\n boxShadow: \"0 0 0 1px \".concat(_atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_17__[\"N30A\"], \", 0 2px 4px 1px \").concat(_atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_17__[\"N30A\"]),\n color: hasHighlight ? _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_17__[\"B100\"] : _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_17__[\"N200\"],\n cursor: 'pointer',\n height: 24,\n opacity: isVisible ? 1 : 0,\n outline: 0,\n padding: 0,\n position: 'absolute',\n top: 32,\n transition: \"\\n background-color 100ms linear,\\n color 100ms linear,\\n opacity 300ms cubic-bezier(0.2, 0, 0, 1),\\n transform 300ms cubic-bezier(0.2, 0, 0, 1)\\n \",\n transform: \"translate(-50%)\",\n width: 24,\n ':hover': {\n backgroundColor: _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_17__[\"B100\"],\n color: 'white'\n },\n ':active': {\n backgroundColor: _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_17__[\"B200\"],\n color: 'white'\n },\n ':focus': {\n opacity: 1,\n backgroundColor: _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_17__[\"B200\"],\n color: 'white'\n }\n }, false ? undefined : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL0xheW91dE1hbmFnZXIvUmVzaXplQ29udHJvbC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF1R0kiLCJmaWxlIjoiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvcHJlc2VudGF0aW9uYWwvTGF5b3V0TWFuYWdlci9SZXNpemVDb250cm9sLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IEZyYWdtZW50LCBQdXJlQ29tcG9uZW50IH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgeyBHbG9iYWwgfSBmcm9tICdAZW1vdGlvbi9jb3JlJztcbmltcG9ydCByYWYgZnJvbSAncmFmLXNjaGQnO1xuXG5pbXBvcnQgeyB3aXRoQW5hbHl0aWNzRXZlbnRzIH0gZnJvbSAnQGF0bGFza2l0L2FuYWx5dGljcy1uZXh0JztcbmltcG9ydCBDaGV2cm9uTGVmdCBmcm9tICdAYXRsYXNraXQvaWNvbi9nbHlwaC9jaGV2cm9uLWxlZnQnO1xuaW1wb3J0IENoZXZyb25SaWdodCBmcm9tICdAYXRsYXNraXQvaWNvbi9nbHlwaC9jaGV2cm9uLXJpZ2h0JztcbmltcG9ydCAqIGFzIGNvbG9ycyBmcm9tICdAYXRsYXNraXQvdGhlbWUvY29sb3JzJztcbmltcG9ydCBUb29sdGlwIGZyb20gJ0BhdGxhc2tpdC90b29sdGlwJztcblxuaW1wb3J0IHsgbmF2aWdhdGlvbkV4cGFuZGVkQ29sbGFwc2VkIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2FuYWx5dGljcyc7XG5pbXBvcnQge1xuICBDT05URU5UX05BVl9XSURUSCxcbiAgQ09OVEVOVF9OQVZfV0lEVEhfQ09MTEFQU0VELFxuICBHTE9CQUxfTkFWX0NPTExBUFNFX1RIUkVTSE9MRCxcbiAgR0xPQkFMX05BVl9XSURUSCxcbn0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBTaGFkb3cgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vcHJpbWl0aXZlcyc7XG5cbmNvbnN0IEhBTkRMRV9PRkZTRVQgPSA0O1xuY29uc3QgSU5ORVJfV0lEVEggPSAyMDtcbmNvbnN0IE9VVEVSX1dJRFRIID0gSU5ORVJfV0lEVEggKyBIQU5ETEVfT0ZGU0VUO1xuY29uc3QgSEFORExFX1dJRFRIID0gMjtcbmNvbnN0IHNob3VsZFJlc2V0R3JhYkFyZWEgPSB3aWR0aCA9PiB7XG4gIHJldHVybiB3aWR0aCA+PSBHTE9CQUxfTkFWX0NPTExBUFNFX1RIUkVTSE9MRCAmJiB3aWR0aCA8IENPTlRFTlRfTkFWX1dJRFRIO1xufTtcbmNvbnN0IHByZXZlbnREZWZhdWx0ID0gZXZlbnQgPT4gZXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuZXhwb3J0IGNvbnN0IEJvZHlEcmFnQ3Vyc29yID0gKCkgPT4gKFxuICA8R2xvYmFsXG4gICAgc3R5bGVzPXt7XG4gICAgICBib2R5OiB7XG4gICAgICAgIGN1cnNvcjogJ2V3LXJlc2l6ZScsXG4gICAgICB9LFxuICAgIH19XG4gIC8+XG4pO1xuXG5jb25zdCBPdXRlciA9IHByb3BzID0+IChcbiAgPGRpdlxuICAgIGNzcz17e1xuICAgICAgYm90dG9tOiAwLFxuICAgICAgbGVmdDogJzEwMCUnLFxuICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICB0b3A6IDAsXG4gICAgICB0cmFuc2Zvcm06ICd0cmFuc2xhdGVaKDApJyxcbiAgICAgIHdpZHRoOiBPVVRFUl9XSURUSCxcbiAgICAgIHpJbmRleDogMywgLy8gaGlnaGVyIHRoYW4gdGhlIHNjcm9sbCBoaW50IGxpbmVzXG4gICAgfX1cbiAgICB7Li4ucHJvcHN9XG4gIC8+XG4pO1xuXG5leHBvcnQgY29uc3QgR3JhYkFyZWEgPSAoeyBzaG93SGFuZGxlLCBpc0JvbGQsIC4uLnByb3BzIH0pID0+IChcbiAgPGRpdlxuICAgIGNzcz17e1xuICAgICAgY3Vyc29yOiAnZXctcmVzaXplJyxcbiAgICAgIGhlaWdodDogJzEwMCUnLFxuICAgICAgbGVmdDogLUhBTkRMRV9PRkZTRVQsXG4gICAgICBwb3NpdGlvbjogJ3JlbGF0aXZlJyxcbiAgICAgIHdpZHRoOiBPVVRFUl9XSURUSCxcbiAgICB9fVxuICAgIHsuLi5wcm9wc31cbiAgPlxuICAgIDxkaXZcbiAgICAgIGNzcz17e1xuICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IGlzQm9sZCA/IGNvbG9ycy5CMjAwIDogY29sb3JzLkIxMDAsXG4gICAgICAgIG9wYWNpdHk6IHNob3dIYW5kbGUgPyAxIDogMCxcbiAgICAgICAgaGVpZ2h0OiAnMTAwJScsXG4gICAgICAgIGxlZnQ6IEhBTkRMRV9PRkZTRVQgLSBIQU5ETEVfV0lEVEggLyAyLCAvLyB0aGUgaGFuZGxlIHNob3VsZCBcInN0cmFkZGxlXCIgdGhlIGRpdmlkaW5nIGxpbmVcbiAgICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICAgIHRyYW5zaXRpb246ICdvcGFjaXR5IDIwMG1zJyxcbiAgICAgICAgd2lkdGg6IEhBTkRMRV9XSURUSCxcbiAgICAgIH19XG4gICAgLz5cbiAgPC9kaXY+XG4pO1xuY29uc3QgbGFyZ2VIaXRBcmVhID0ge1xuICBsZWZ0OiAtOCxcbiAgcmlnaHQ6IC0xMixcbiAgYm90dG9tOiAtOCxcbiAgdG9wOiAtOCxcbn07XG5jb25zdCBzbWFsbEhpdEFyZWEgPSB7XG4gIGxlZnQ6IC00LFxuICByaWdodDogLTQsXG4gIGJvdHRvbTogLTQsXG4gIHRvcDogLTQsXG59O1xuXG5jb25zdCBCdXR0b24gPSAoe1xuICBjaGlsZHJlbixcbiAgaGFzSGlnaGxpZ2h0LFxuICBpbm5lclJlZixcbiAgaXNWaXNpYmxlLFxuICBoaXRBcmVhU2l6ZSxcbiAgLi4ucHJvcHNcbn0pID0+IChcbiAgPGJ1dHRvblxuICAgIGNsYXNzTmFtZT1cImFrLW5hdmlnYXRpb24tcmVzaXplLWJ1dHRvblwiXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgcmVmPXtpbm5lclJlZn1cbiAgICBjc3M9e3tcbiAgICAgIGJhY2tncm91bmQ6IDAsXG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6ICd3aGl0ZScsXG4gICAgICBib3JkZXI6IDAsXG4gICAgICBib3JkZXJSYWRpdXM6ICc1MCUnLFxuICAgICAgYm94U2hhZG93OiBgMCAwIDAgMXB4ICR7Y29sb3JzLk4zMEF9LCAwIDJweCA0cHggMXB4ICR7Y29sb3JzLk4zMEF9YCxcbiAgICAgIGNvbG9yOiBoYXNIaWdobGlnaHQgPyBjb2xvcnMuQjEwMCA6IGNvbG9ycy5OMjAwLFxuICAgICAgY3Vyc29yOiAncG9pbnRlcicsXG4gICAgICBoZWlnaHQ6IDI0LFxuICAgICAgb3BhY2l0eTogaXNWaXNpYmxlID8gMSA6IDAsXG4gICAgICBvdXRsaW5lOiAwLFxuICAgICAgcGFkZGluZzogMCxcbiAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgICAgdG9wOiAzMixcbiAgICAgIHRyYW5zaXRpb246IGBcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvciAxMDBtcyBsaW5lYXIsXG4gICAgICAgIGNvbG9yIDEwMG1zIGxpbmVhcixcbiAgICAgICAgb3BhY2l0eSAzMDBtcyBjdWJpYy1iZXppZXIoMC4yLCAwLCAwLCAxKSxcbiAgICAgICAgdHJhbnNmb3JtIDMwMG1zIGN1YmljLWJlemllcigwLjIsIDAsIDAsIDEpXG4gICAgICBgLFxuICAgICAgdHJhbnNmb3JtOiBgdHJhbnNsYXRlKC01MCUpYCxcbiAgICAgIHdpZHRoOiAyNCxcblxuICAgICAgJzpob3Zlcic6IHtcbiAgICAgICAgYmFja2dyb3VuZENvbG9yOiBjb2xvcnMuQjEwMCxcbiAgICAgICAgY29sb3I6ICd3aGl0ZScsXG4gICAgICB9LFxuICAgICAgJzphY3RpdmUnOiB7XG4gICAgICAgIGJhY2tncm91bmRDb2xvcjogY29sb3JzLkIyMDAsXG4gICAgICAgIGNvbG9yOiAnd2hpdGUnLFxuICAgICAgfSxcbiAgICAgICc6Zm9jdXMnOiB7XG4gICAgICAgIG9wYWNpdHk6IDEsXG4gICAgICAgIGJhY2tncm91bmRDb2xvcjogY29sb3JzLkIyMDAsXG4gICAgICAgIGNvbG9yOiAnd2hpdGUnLFxuICAgICAgfSxcbiAgICB9fVxuICAgIHsuLi5wcm9wc31cbiAgPlxuICAgIDxkaXZcbiAgICAgIC8vIGluY3JlYXNlIGhpdC1hcmVhXG4gICAgICBjc3M9e3tcbiAgICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICAgIC4uLihoaXRBcmVhU2l6ZSA9PT0gJ3NtYWxsJyA/IHNtYWxsSGl0QXJlYSA6IGxhcmdlSGl0QXJlYSksXG4gICAgICB9fVxuICAgIC8+XG4gICAge2NoaWxkcmVufVxuICA8L2J1dHRvbj5cbik7XG5cbi8vIHRpbmtlciB3aXRoIHRoZSBET00gZGlyZWN0bHkgYnkgc2V0dGluZyBzdHlsZSBwcm9wZXJ0aWVzLCB1cGRhdGVzIHRoZSBncmFiIGJhciBwb3NpdGlvbiBieSBjaGFuZ2luZyBwYWRkaW5nLWxlZnQgYW5kIHdpZHRoLlxuZnVuY3Rpb24gdXBkYXRlUmVzaXplQXJlYVBvc2l0aW9uKGVsZW1lbnRzLCB3aWR0aCkge1xuICBlbGVtZW50cy5mb3JFYWNoKCh7IHByb3BlcnR5LCByZWYgfSkgPT4ge1xuICAgIGNvbnN0IG5ld1ZhbHVlID0gYCR7d2lkdGh9cHhgO1xuICAgIGNvbnN0IG9sZFZhbHVlID0gcmVmLnN0eWxlLmdldFByb3BlcnR5VmFsdWUocHJvcGVydHkpO1xuXG4gICAgLy8gYXZvaWQgdGhyYXNoaW5nXG4gICAgaWYgKG9sZFZhbHVlID09PSBuZXdWYWx1ZSkgcmV0dXJuO1xuXG4gICAgLy8gZGlyZWN0IGF0dHJpYnV0ZSBtYW5pcHVsYXRpb25cbiAgICByZWYuc3R5bGUuc2V0UHJvcGVydHkocHJvcGVydHksIG5ld1ZhbHVlKTtcbiAgfSk7XG59XG5cbi8vIGhlbHBlciBmb3IgdG9vbHRpcCBjb250ZW50IGtleWJvYXJkIHNob3J0Y3V0IGhpZ2hsaWdodFxuZnVuY3Rpb24gbWFrZVRvb2x0aXBOb2RlKHsgdGV4dCwgY2hhciB9KSB7XG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgY3NzPXt7XG4gICAgICAgIGFsaWduSXRlbXM6ICdiYXNlbGluZScsXG4gICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgbGluZUhlaWdodDogMS4zLFxuICAgICAgICBwYWRkaW5nQm90dG9tOiAxLFxuICAgICAgICBwYWRkaW5nVG9wOiAxLFxuICAgICAgfX1cbiAgICA+XG4gICAgICA8c3Bhbj57dGV4dH08L3NwYW4+XG4gICAgICA8ZGl2XG4gICAgICAgIGNzcz17e1xuICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogY29sb3JzLk40MDAsXG4gICAgICAgICAgYm9yZGVyUmFkaXVzOiAyLFxuICAgICAgICAgIGxpbmVIZWlnaHQ6IDEuMixcbiAgICAgICAgICBtYXJnaW5MZWZ0OiA0LFxuICAgICAgICAgIHBhZGRpbmc6ICcxcHggOHB4JyxcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAge2NoYXJ9XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn1cblxuLyogTk9URTogZXhwZXJpbWVudGFsIHByb3BzIHVzZSBhbiB1bmRlcnNjb3JlICovXG5jbGFzcyBSZXNpemVDb250cm9sIGV4dGVuZHMgUHVyZUNvbXBvbmVudCB7XG4gIGludmFsaWREcmFnQXR0ZW1wdGVkID0gZmFsc2U7XG5cbiAgbGFzdFdpZHRoO1xuXG4gIHdyYXBwZXI7XG5cbiAgc3RhdGUgPSB7XG4gICAgZGVsdGE6IDAsXG4gICAgZGlkRHJhZ09wZW46IGZhbHNlLFxuICAgIGlzRHJhZ2dpbmc6IGZhbHNlLFxuICAgIGluaXRpYWxXaWR0aDogMCxcbiAgICBpbml0aWFsWDogMCxcbiAgICBtb3VzZUlzRG93bjogZmFsc2UsXG4gICAgbW91c2VJc092ZXJHcmFiQXJlYTogZmFsc2UsXG4gICAgc2hvd0dyYWJBcmVhOiB0cnVlLFxuICAgIHdpZHRoOiB0aGlzLnByb3BzLm5hdmlnYXRpb24uc3RhdGUucHJvZHVjdE5hdldpZHRoLFxuICB9O1xuXG4gIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XG4gICAgaXNHcmFiQXJlYURpc2FibGVkOiBmYWxzZSxcbiAgfTtcblxuICBzdGF0aWMgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzKHByb3BzLCBzdGF0ZSkge1xuICAgIGNvbnN0IHtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBjYW1lbGNhc2VcbiAgICAgIGV4cGVyaW1lbnRhbF9mbHlvdXRPbkhvdmVyOiBFWFBFUklNRU5UQUxfRkxZT1VUX09OX0hPVkVSLFxuICAgICAgZmx5b3V0SXNPcGVuLFxuICAgICAgbmF2aWdhdGlvbixcbiAgICB9ID0gcHJvcHM7XG4gICAgY29uc3QgeyBpc0NvbGxhcHNlZCB9ID0gbmF2aWdhdGlvbi5zdGF0ZTtcblxuICAgIC8vIHJlc29sdmUgXCJob3ZlciBsb2NraW5nXCIgaXNzdWUgd2l0aCByZXNpemUgZ3JhYiBhcmVhXG4gICAgaWYgKEVYUEVSSU1FTlRBTF9GTFlPVVRfT05fSE9WRVIpIHtcbiAgICAgIGNvbnN0IHNob3dHcmFiQXJlYSA9ICFpc0NvbGxhcHNlZCAmJiAhZmx5b3V0SXNPcGVuO1xuICAgICAgY29uc3QgbW91c2VJc092ZXJHcmFiQXJlYSA9IHNob3dHcmFiQXJlYVxuICAgICAgICA/IHN0YXRlLm1vdXNlSXNPdmVyR3JhYkFyZWFcbiAgICAgICAgOiBmYWxzZTtcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgbW91c2VJc092ZXJHcmFiQXJlYSxcbiAgICAgICAgc2hvd0dyYWJBcmVhLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIG9uUmVzaXplckNoZXZyb25DbGljayA9ICgpID0+IHtcbiAgICBjb25zdCB0cmlnZ2VyID0gdGhpcy5wcm9wcy5mbHlvdXRJc09wZW4gPyAnY2hldnJvbkhvdmVyJyA6ICdjaGV2cm9uJztcbiAgICB0aGlzLnRvZ2dsZUNvbGxhcHNlKHRyaWdnZXIpO1xuICB9O1xuXG4gIG1vdXNlRW50ZXJHcmFiQXJlYSA9ICgpID0+IHtcbiAgICB0aGlzLnNldFN0YXRlKHsgbW91c2VJc092ZXJHcmFiQXJlYTogdHJ1ZSB9KTtcbiAgfTtcblxuICBtb3VzZUxlYXZlR3JhYkFyZWEgPSAoKSA9PiB7XG4gICAgdGhpcy5zZXRTdGF0ZSh7IG1vdXNlSXNPdmVyR3JhYkFyZWE6IGZhbHNlIH0pO1xuICB9O1xuXG4gIHRvZ2dsZUNvbGxhcHNlID0gdHJpZ2dlciA9PiB7XG4gICAgY29uc3QgeyBuYXZpZ2F0aW9uLCBjcmVhdGVBbmFseXRpY3NFdmVudCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBuZXdDb2xsYXBzZWRTdGF0ZSA9ICFuYXZpZ2F0aW9uLnN0YXRlLmlzQ29sbGFwc2VkO1xuICAgIG5hdmlnYXRpb24udG9nZ2xlQ29sbGFwc2UoKTtcbiAgICBuYXZpZ2F0aW9uRXhwYW5kZWRDb2xsYXBzZWQoY3JlYXRlQW5hbHl0aWNzRXZlbnQsIHtcbiAgICAgIHRyaWdnZXIsXG4gICAgICBpc0NvbGxhcHNlZDogbmV3Q29sbGFwc2VkU3RhdGUsXG4gICAgfSk7XG4gIH07XG5cbiAgaGFuZGxlUmVzaXplU3RhcnQgPSBldmVudCA9PiB7XG4gICAgY29uc3QgaW5pdGlhbFggPSBldmVudC5wYWdlWDtcblxuICAgIHRoaXMuc2V0U3RhdGUoeyBpbml0aWFsWCwgbW91c2VJc0Rvd246IHRydWUgfSk7XG5cbiAgICAvLyBhdHRhY2ggaGFuZGxlcnMgKGhhbmRsZVJlc2l6ZVN0YXJ0IGlzIGEgYm91bmQgdG8gb25Nb3VzZURvd24pXG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIHRoaXMuaGFuZGxlUmVzaXplKTtcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbW91c2V1cCcsIHRoaXMuaGFuZGxlUmVzaXplRW5kKTtcbiAgfTtcblxuICBpbml0aWFsaXplRHJhZyA9IGV2ZW50ID0+IHtcbiAgICBjb25zdCB7IG5hdmlnYXRpb24gfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgZGVsdGEgPSBldmVudC5wYWdlWCAtIHRoaXMuc3RhdGUuaW5pdGlhbFg7XG4gICAgY29uc3QgeyBpc0NvbGxhcHNlZCB9ID0gbmF2aWdhdGlvbi5zdGF0ZTtcblxuICAgIC8vIG9ubHkgaW5pdGlhbGl6ZSB3aGVuIGRyYWcgaW50ZW50aW9uIGlzIFwiZXhwYW5kXCJcbiAgICBpZiAoaXNDb2xsYXBzZWQgJiYgZGVsdGEgPD0gMCkge1xuICAgICAgdGhpcy5pbnZhbGlkRHJhZ0F0dGVtcHRlZCA9IHRydWU7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgbGV0IGluaXRpYWxXaWR0aCA9IG5hdmlnYXRpb24uc3RhdGUucHJvZHVjdE5hdldpZHRoO1xuICAgIGxldCBkaWREcmFnT3BlbiA9IGZhbHNlO1xuXG4gICAgLy8gTk9URVxuICAgIC8vIGlmIHRoZSBwcm9kdWN0IG5hdiBpcyBjb2xsYXBzZWQgYW5kIHRoZSBjb25zdW1lciBzdGFydHMgZHJhZ2dpbmcgaXQgb3BlblxuICAgIC8vIHdlIG11c3QgZXhwYW5kIGl0IGFuZCBkcmFnIHNob3VsZCBzdGFydCBmcm9tIDAuXG4gICAgaWYgKGlzQ29sbGFwc2VkKSB7XG4gICAgICBpbml0aWFsV2lkdGggPSBDT05URU5UX05BVl9XSURUSF9DT0xMQVBTRUQ7XG4gICAgICBkaWREcmFnT3BlbiA9IHRydWU7XG4gICAgICBuYXZpZ2F0aW9uLm1hbnVhbFJlc2l6ZVN0YXJ0KHtcbiAgICAgICAgcHJvZHVjdE5hdldpZHRoOiBDT05URU5UX05BVl9XSURUSF9DT0xMQVBTRUQsXG4gICAgICAgIGlzQ29sbGFwc2VkOiBmYWxzZSxcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBuYXZpZ2F0aW9uLm1hbnVhbFJlc2l6ZVN0YXJ0KG5hdmlnYXRpb24uc3RhdGUpO1xuICAgIH1cblxuICAgIHRoaXMuc2V0U3RhdGUoeyBkaWREcmFnT3BlbiwgaW5pdGlhbFdpZHRoLCBpc0RyYWdnaW5nOiB0cnVlIH0pO1xuICB9O1xuXG4gIGhhbmRsZVJlc2l6ZSA9IHJhZihldmVudCA9PiB7XG4gICAgY29uc3QgeyBtdXRhdGlvblJlZnMgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyBpbml0aWFsWCwgaW5pdGlhbFdpZHRoLCBpc0RyYWdnaW5nLCBtb3VzZUlzRG93biB9ID0gdGhpcy5zdGF0ZTtcblxuICAgIC8vIG9uIG9jY2FzaW9uIGEgbW91c2UgbW92ZSBldmVudCBvY2N1cnMgYmVmb3JlIHRoZSBldmVudCBsaXN0ZW5lcnNcbiAgICAvLyBoYXZlIGEgY2hhbmNlIHRvIGRldGFjaFxuICAgIGlmICghbW91c2VJc0Rvd24pIHJldHVybjtcblxuICAgIC8vIGluaXRpYWxpemUgZHJhZ2dpbmdcbiAgICBpZiAoIWlzRHJhZ2dpbmcpIHtcbiAgICAgIHRoaXMuaW5pdGlhbGl6ZURyYWcoZXZlbnQpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIGFsbG93IHRoZSBwcm9kdWN0IG5hdiB0byBiZSA3NSUgb2YgdGhlIGF2YWlsYWJsZSBwYWdlIHdpZHRoXG4gICAgY29uc3QgbWF4V2lkdGggPSBNYXRoLnJvdW5kKCh3aW5kb3cuaW5uZXJXaWR0aCAvIDQpICogMyk7XG4gICAgY29uc3QgbWluV2lkdGggPSBDT05URU5UX05BVl9XSURUSF9DT0xMQVBTRUQ7XG4gICAgY29uc3QgYWRqdXN0ZWRNYXggPSBtYXhXaWR0aCAtIGluaXRpYWxXaWR0aCAtIEdMT0JBTF9OQVZfV0lEVEg7XG4gICAgY29uc3QgYWRqdXN0ZWRNaW4gPSBtaW5XaWR0aCAtIGluaXRpYWxXaWR0aDtcblxuICAgIGNvbnN0IGRlbHRhID0gTWF0aC5tYXgoXG4gICAgICBNYXRoLm1pbihldmVudC5wYWdlWCAtIGluaXRpYWxYLCBhZGp1c3RlZE1heCksXG4gICAgICBhZGp1c3RlZE1pbixcbiAgICApO1xuICAgIGNvbnN0IHdpZHRoID0gaW5pdGlhbFdpZHRoICsgZGVsdGE7XG5cbiAgICAvLyBhcHBseSB1cGRhdGVkIHN0eWxlcyB0byB0aGUgYXBwbGljYWJsZSBET00gbm9kZXNcbiAgICB1cGRhdGVSZXNpemVBcmVhUG9zaXRpb24obXV0YXRpb25SZWZzLCB3aWR0aCk7XG5cbiAgICAvLyBOT1RFOiBoaWphY2sgdGhlIG1hdWFsIHJlc2l6ZSBhbmQgZm9yY2UgY29sbGFwc2UsIGNhbmNlbHMgbW91c2UgZXZlbnRzXG4gICAgaWYgKGV2ZW50LmNsaWVudFggPCAwKSB7XG4gICAgICB0aGlzLnNldFN0YXRlKHsgd2lkdGg6IENPTlRFTlRfTkFWX1dJRFRIX0NPTExBUFNFRCB9KTtcbiAgICAgIHRoaXMuaGFuZGxlUmVzaXplRW5kKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIG1haW50YWluIGludGVybmFsIHdpZHRoLCBhcHBsaWVkIHRvIG5hdmlnYXRpb24gc3RhdGUgb24gcmVzaXplIGVuZFxuICAgICAgdGhpcy5zZXRTdGF0ZSh7IGRlbHRhLCB3aWR0aCB9KTtcbiAgICB9XG4gIH0pO1xuXG4gIGhhbmRsZVJlc2l6ZUVuZCA9ICgpID0+IHtcbiAgICBjb25zdCB7IG5hdmlnYXRpb24sIGNyZWF0ZUFuYWx5dGljc0V2ZW50IH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IHsgZGVsdGEsIGRpZERyYWdPcGVuLCBpc0RyYWdnaW5nLCB3aWR0aDogY3VycmVudFdpZHRoIH0gPSB0aGlzLnN0YXRlO1xuICAgIGNvbnN0IGV4cGFuZFRocmVzaG9sZCA9IDI0O1xuICAgIGNvbnN0IHJlc2l6ZXJDbGlja2VkID0gIWlzRHJhZ2dpbmcgJiYgIXRoaXMuaW52YWxpZERyYWdBdHRlbXB0ZWQ7XG4gICAgbGV0IHB1Ymxpc2hXaWR0aCA9IGN1cnJlbnRXaWR0aDtcbiAgICBsZXQgc2hvdWxkQ29sbGFwc2UgPSBmYWxzZTtcblxuICAgIC8vIGNoZWNrIGlmIHRoZSBpbnRlbnRpb24gd2FzIGp1c3QgYSBjbGljaywgYW5kIHRvZ2dsZVxuICAgIGlmIChyZXNpemVyQ2xpY2tlZCkge1xuICAgICAgcHVibGlzaFdpZHRoID0gTWF0aC5tYXgoQ09OVEVOVF9OQVZfV0lEVEgsIGN1cnJlbnRXaWR0aCk7XG4gICAgICB0aGlzLnRvZ2dsZUNvbGxhcHNlKCdyZXNpemVyQ2xpY2snKTtcbiAgICB9XG5cbiAgICAvLyBwcmV2ZW50IHRoZSB1c2VyIGZyb20gY3JlYXRpbmcgYW4gdW51c2FibGUgd2lkdGhcbiAgICBpZiAocHVibGlzaFdpZHRoIDwgQ09OVEVOVF9OQVZfV0lEVEgpIHtcbiAgICAgIHB1Ymxpc2hXaWR0aCA9IENPTlRFTlRfTkFWX1dJRFRIO1xuICAgICAgaWYgKGRpZERyYWdPcGVuICYmIGRlbHRhID4gZXhwYW5kVGhyZXNob2xkKSB7XG4gICAgICAgIHNob3VsZENvbGxhcHNlID0gZmFsc2U7XG4gICAgICB9IGVsc2UgaWYgKGN1cnJlbnRXaWR0aCA8IEdMT0JBTF9OQVZfQ09MTEFQU0VfVEhSRVNIT0xEKSB7XG4gICAgICAgIHNob3VsZENvbGxhcHNlID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgc2hvdWxkQ29sbGFwc2UgPSBuYXZpZ2F0aW9uLnN0YXRlLmlzQ29sbGFwc2VkO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgICFyZXNpemVyQ2xpY2tlZCAmJlxuICAgICAgKChkaWREcmFnT3BlbiAmJiAhc2hvdWxkQ29sbGFwc2UpIHx8ICghZGlkRHJhZ09wZW4gJiYgc2hvdWxkQ29sbGFwc2UpKVxuICAgICkge1xuICAgICAgbmF2aWdhdGlvbkV4cGFuZGVkQ29sbGFwc2VkKGNyZWF0ZUFuYWx5dGljc0V2ZW50LCB7XG4gICAgICAgIHRyaWdnZXI6ICdyZXNpemVyRHJhZycsXG4gICAgICAgIGlzQ29sbGFwc2VkOiBzaG91bGRDb2xsYXBzZSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIHJlc2V0IGV2ZXJ5dGhpbmdcbiAgICB0aGlzLmludmFsaWREcmFnQXR0ZW1wdGVkID0gZmFsc2U7XG4gICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICBkaWREcmFnT3BlbjogZmFsc2UsXG4gICAgICBpc0RyYWdnaW5nOiBmYWxzZSxcbiAgICAgIG1vdXNlSXNEb3duOiBmYWxzZSxcbiAgICAgIHdpZHRoOiBwdWJsaXNoV2lkdGgsXG4gICAgfSk7XG5cbiAgICAvLyBwdWJsaXNoIHRoZSBuZXcgd2lkdGgsIG9uY2UgcmVzaXppbmcgY29tcGxldGVzXG4gICAgbmF2aWdhdGlvbi5tYW51YWxSZXNpemVFbmQoe1xuICAgICAgcHJvZHVjdE5hdldpZHRoOiBwdWJsaXNoV2lkdGgsXG4gICAgICBpc0NvbGxhcHNlZDogc2hvdWxkQ29sbGFwc2UsXG4gICAgfSk7XG5cbiAgICBpZiAoc2hvdWxkUmVzZXRHcmFiQXJlYShjdXJyZW50V2lkdGgpKSB7XG4gICAgICB1cGRhdGVSZXNpemVBcmVhUG9zaXRpb24odGhpcy5wcm9wcy5tdXRhdGlvblJlZnMsIENPTlRFTlRfTkFWX1dJRFRIKTtcbiAgICB9XG5cbiAgICAvLyBjbGVhbnVwXG4gICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIHRoaXMuaGFuZGxlUmVzaXplKTtcbiAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2V1cCcsIHRoaXMuaGFuZGxlUmVzaXplRW5kKTtcbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgaXNEcmFnZ2luZyxcbiAgICAgIG1vdXNlSXNEb3duLFxuICAgICAgbW91c2VJc092ZXJHcmFiQXJlYSxcbiAgICAgIHNob3dHcmFiQXJlYSxcbiAgICB9ID0gdGhpcy5zdGF0ZTtcbiAgICBjb25zdCB7XG4gICAgICBjb2xsYXBzZVRvZ2dsZVRvb2x0aXBDb250ZW50LFxuICAgICAgZXhwYW5kQ29sbGFwc2VBZmZvcmRhbmNlUmVmLFxuICAgICAgZmx5b3V0SXNPcGVuLFxuICAgICAgaXNEaXNhYmxlZDogaXNSZXNpemVEaXNhYmxlZCxcbiAgICAgIGlzR3JhYkFyZWFEaXNhYmxlZCxcbiAgICAgIG9uTW91c2VPdmVyQnV0dG9uQnVmZmVyLFxuICAgICAgbmF2aWdhdGlvbixcbiAgICB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IGlzQ29sbGFwc2VkIH0gPSBuYXZpZ2F0aW9uLnN0YXRlO1xuXG4gICAgLy8gdGhlIGJ1dHRvbiBzaG91bGRuJ3QgXCJmbGlwXCIgdW50aWwgdGhlIGRyYWcgaXMgY29tcGxldGVcbiAgICBsZXQgQnV0dG9uSWNvbiA9IENoZXZyb25MZWZ0O1xuICAgIGlmIChpc0NvbGxhcHNlZCkgQnV0dG9uSWNvbiA9IENoZXZyb25SaWdodDtcblxuICAgIGNvbnN0IGJ1dHRvbiA9IChcbiAgICAgIDxCdXR0b25cbiAgICAgICAgb25DbGljaz17dGhpcy5vblJlc2l6ZXJDaGV2cm9uQ2xpY2t9XG4gICAgICAgIG9uTW91c2VEb3duPXtwcmV2ZW50RGVmYXVsdH1cbiAgICAgICAgaGl0QXJlYVNpemU9e29uTW91c2VPdmVyQnV0dG9uQnVmZmVyID8gJ2xhcmdlJyA6ICdzbWFsbCd9XG4gICAgICAgIC8vIG1haW50YWluIHN0eWxlcyB3aGVuIHVzZXIgaXMgZHJhZ2dpbmdcbiAgICAgICAgaXNWaXNpYmxlPXtpc0NvbGxhcHNlZCB8fCBtb3VzZUlzRG93bn1cbiAgICAgICAgaGFzSGlnaGxpZ2h0PXttb3VzZUlzRG93biB8fCBtb3VzZUlzT3ZlckdyYWJBcmVhfVxuICAgICAgICBpbm5lclJlZj17ZXhwYW5kQ29sbGFwc2VBZmZvcmRhbmNlUmVmfVxuICAgICAgICBhcmlhLWV4cGFuZGVkPXshaXNDb2xsYXBzZWR9XG4gICAgICAgIGFyaWEtbGFiZWw9XCJUb2dnbGUgbmF2aWdhdGlvblwiXG4gICAgICA+XG4gICAgICAgIDxCdXR0b25JY29uIC8+XG4gICAgICA8L0J1dHRvbj5cbiAgICApO1xuICAgIGNvbnN0IHNoYWRvd0RpcmVjdGlvbiA9IGZseW91dElzT3BlbiA/ICd0byByaWdodCcgOiAndG8gbGVmdCc7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPE91dGVyPlxuICAgICAgICB7aXNEcmFnZ2luZyAmJiA8Qm9keURyYWdDdXJzb3IgLz59XG4gICAgICAgIDxTaGFkb3cgZGlyZWN0aW9uPXtzaGFkb3dEaXJlY3Rpb259IGlzQm9sZD17bW91c2VJc0Rvd259IC8+XG4gICAgICAgIHshaXNSZXNpemVEaXNhYmxlZCAmJiAoXG4gICAgICAgICAgPEZyYWdtZW50PlxuICAgICAgICAgICAgeyFpc0dyYWJBcmVhRGlzYWJsZWQgJiYgc2hvd0dyYWJBcmVhICYmIChcbiAgICAgICAgICAgICAgPEdyYWJBcmVhXG4gICAgICAgICAgICAgICAgaXNCb2xkPXttb3VzZUlzRG93bn1cbiAgICAgICAgICAgICAgICBzaG93SGFuZGxlPXttb3VzZUlzRG93biB8fCBtb3VzZUlzT3ZlckdyYWJBcmVhfVxuICAgICAgICAgICAgICAgIG9uTW91c2VFbnRlcj17dGhpcy5tb3VzZUVudGVyR3JhYkFyZWF9XG4gICAgICAgICAgICAgICAgb25Nb3VzZUxlYXZlPXt0aGlzLm1vdXNlTGVhdmVHcmFiQXJlYX1cbiAgICAgICAgICAgICAgICBvbk1vdXNlRG93bj17dGhpcy5oYW5kbGVSZXNpemVTdGFydH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8ZGl2IG9uTW91c2VPdmVyPXshZmx5b3V0SXNPcGVuID8gb25Nb3VzZU92ZXJCdXR0b25CdWZmZXIgOiBudWxsfT5cbiAgICAgICAgICAgICAge2NvbGxhcHNlVG9nZ2xlVG9vbHRpcENvbnRlbnQgPyAoXG4gICAgICAgICAgICAgICAgPFRvb2x0aXBcbiAgICAgICAgICAgICAgICAgIGNvbnRlbnQ9e21ha2VUb29sdGlwTm9kZShcbiAgICAgICAgICAgICAgICAgICAgY29sbGFwc2VUb2dnbGVUb29sdGlwQ29udGVudChpc0NvbGxhcHNlZCksXG4gICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgZGVsYXk9ezYwMH1cbiAgICAgICAgICAgICAgICAgIGhpZGVUb29sdGlwT25DbGlja1xuICAgICAgICAgICAgICAgICAgcG9zaXRpb249XCJyaWdodFwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge2J1dHRvbn1cbiAgICAgICAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgYnV0dG9uXG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L0ZyYWdtZW50PlxuICAgICAgICApfVxuICAgICAgPC9PdXRlcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCB7IFJlc2l6ZUNvbnRyb2wgYXMgUmVzaXplQ29udHJvbEJhc2UgfTtcblxuZXhwb3J0IGRlZmF1bHQgd2l0aEFuYWx5dGljc0V2ZW50cygpKFJlc2l6ZUNvbnRyb2wpO1xuIl19 */\")\n }, props), Object(_emotion_core__WEBPACK_IMPORTED_MODULE_11__[\"jsx\"])(\"div\", {\n // increase hit-area\n css:\n /*#__PURE__*/\n Object(_emotion_css__WEBPACK_IMPORTED_MODULE_10__[\"default\"])(_babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_7___default()({\n position: 'absolute'\n }, hitAreaSize === 'small' ? smallHitArea : largeHitArea), false ? undefined : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL0xheW91dE1hbmFnZXIvUmVzaXplQ29udHJvbC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFnSk0iLCJmaWxlIjoiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvcHJlc2VudGF0aW9uYWwvTGF5b3V0TWFuYWdlci9SZXNpemVDb250cm9sLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IEZyYWdtZW50LCBQdXJlQ29tcG9uZW50IH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgeyBHbG9iYWwgfSBmcm9tICdAZW1vdGlvbi9jb3JlJztcbmltcG9ydCByYWYgZnJvbSAncmFmLXNjaGQnO1xuXG5pbXBvcnQgeyB3aXRoQW5hbHl0aWNzRXZlbnRzIH0gZnJvbSAnQGF0bGFza2l0L2FuYWx5dGljcy1uZXh0JztcbmltcG9ydCBDaGV2cm9uTGVmdCBmcm9tICdAYXRsYXNraXQvaWNvbi9nbHlwaC9jaGV2cm9uLWxlZnQnO1xuaW1wb3J0IENoZXZyb25SaWdodCBmcm9tICdAYXRsYXNraXQvaWNvbi9nbHlwaC9jaGV2cm9uLXJpZ2h0JztcbmltcG9ydCAqIGFzIGNvbG9ycyBmcm9tICdAYXRsYXNraXQvdGhlbWUvY29sb3JzJztcbmltcG9ydCBUb29sdGlwIGZyb20gJ0BhdGxhc2tpdC90b29sdGlwJztcblxuaW1wb3J0IHsgbmF2aWdhdGlvbkV4cGFuZGVkQ29sbGFwc2VkIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2FuYWx5dGljcyc7XG5pbXBvcnQge1xuICBDT05URU5UX05BVl9XSURUSCxcbiAgQ09OVEVOVF9OQVZfV0lEVEhfQ09MTEFQU0VELFxuICBHTE9CQUxfTkFWX0NPTExBUFNFX1RIUkVTSE9MRCxcbiAgR0xPQkFMX05BVl9XSURUSCxcbn0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBTaGFkb3cgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vcHJpbWl0aXZlcyc7XG5cbmNvbnN0IEhBTkRMRV9PRkZTRVQgPSA0O1xuY29uc3QgSU5ORVJfV0lEVEggPSAyMDtcbmNvbnN0IE9VVEVSX1dJRFRIID0gSU5ORVJfV0lEVEggKyBIQU5ETEVfT0ZGU0VUO1xuY29uc3QgSEFORExFX1dJRFRIID0gMjtcbmNvbnN0IHNob3VsZFJlc2V0R3JhYkFyZWEgPSB3aWR0aCA9PiB7XG4gIHJldHVybiB3aWR0aCA+PSBHTE9CQUxfTkFWX0NPTExBUFNFX1RIUkVTSE9MRCAmJiB3aWR0aCA8IENPTlRFTlRfTkFWX1dJRFRIO1xufTtcbmNvbnN0IHByZXZlbnREZWZhdWx0ID0gZXZlbnQgPT4gZXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuZXhwb3J0IGNvbnN0IEJvZHlEcmFnQ3Vyc29yID0gKCkgPT4gKFxuICA8R2xvYmFsXG4gICAgc3R5bGVzPXt7XG4gICAgICBib2R5OiB7XG4gICAgICAgIGN1cnNvcjogJ2V3LXJlc2l6ZScsXG4gICAgICB9LFxuICAgIH19XG4gIC8+XG4pO1xuXG5jb25zdCBPdXRlciA9IHByb3BzID0+IChcbiAgPGRpdlxuICAgIGNzcz17e1xuICAgICAgYm90dG9tOiAwLFxuICAgICAgbGVmdDogJzEwMCUnLFxuICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICB0b3A6IDAsXG4gICAgICB0cmFuc2Zvcm06ICd0cmFuc2xhdGVaKDApJyxcbiAgICAgIHdpZHRoOiBPVVRFUl9XSURUSCxcbiAgICAgIHpJbmRleDogMywgLy8gaGlnaGVyIHRoYW4gdGhlIHNjcm9sbCBoaW50IGxpbmVzXG4gICAgfX1cbiAgICB7Li4ucHJvcHN9XG4gIC8+XG4pO1xuXG5leHBvcnQgY29uc3QgR3JhYkFyZWEgPSAoeyBzaG93SGFuZGxlLCBpc0JvbGQsIC4uLnByb3BzIH0pID0+IChcbiAgPGRpdlxuICAgIGNzcz17e1xuICAgICAgY3Vyc29yOiAnZXctcmVzaXplJyxcbiAgICAgIGhlaWdodDogJzEwMCUnLFxuICAgICAgbGVmdDogLUhBTkRMRV9PRkZTRVQsXG4gICAgICBwb3NpdGlvbjogJ3JlbGF0aXZlJyxcbiAgICAgIHdpZHRoOiBPVVRFUl9XSURUSCxcbiAgICB9fVxuICAgIHsuLi5wcm9wc31cbiAgPlxuICAgIDxkaXZcbiAgICAgIGNzcz17e1xuICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IGlzQm9sZCA/IGNvbG9ycy5CMjAwIDogY29sb3JzLkIxMDAsXG4gICAgICAgIG9wYWNpdHk6IHNob3dIYW5kbGUgPyAxIDogMCxcbiAgICAgICAgaGVpZ2h0OiAnMTAwJScsXG4gICAgICAgIGxlZnQ6IEhBTkRMRV9PRkZTRVQgLSBIQU5ETEVfV0lEVEggLyAyLCAvLyB0aGUgaGFuZGxlIHNob3VsZCBcInN0cmFkZGxlXCIgdGhlIGRpdmlkaW5nIGxpbmVcbiAgICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICAgIHRyYW5zaXRpb246ICdvcGFjaXR5IDIwMG1zJyxcbiAgICAgICAgd2lkdGg6IEhBTkRMRV9XSURUSCxcbiAgICAgIH19XG4gICAgLz5cbiAgPC9kaXY+XG4pO1xuY29uc3QgbGFyZ2VIaXRBcmVhID0ge1xuICBsZWZ0OiAtOCxcbiAgcmlnaHQ6IC0xMixcbiAgYm90dG9tOiAtOCxcbiAgdG9wOiAtOCxcbn07XG5jb25zdCBzbWFsbEhpdEFyZWEgPSB7XG4gIGxlZnQ6IC00LFxuICByaWdodDogLTQsXG4gIGJvdHRvbTogLTQsXG4gIHRvcDogLTQsXG59O1xuXG5jb25zdCBCdXR0b24gPSAoe1xuICBjaGlsZHJlbixcbiAgaGFzSGlnaGxpZ2h0LFxuICBpbm5lclJlZixcbiAgaXNWaXNpYmxlLFxuICBoaXRBcmVhU2l6ZSxcbiAgLi4ucHJvcHNcbn0pID0+IChcbiAgPGJ1dHRvblxuICAgIGNsYXNzTmFtZT1cImFrLW5hdmlnYXRpb24tcmVzaXplLWJ1dHRvblwiXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgcmVmPXtpbm5lclJlZn1cbiAgICBjc3M9e3tcbiAgICAgIGJhY2tncm91bmQ6IDAsXG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6ICd3aGl0ZScsXG4gICAgICBib3JkZXI6IDAsXG4gICAgICBib3JkZXJSYWRpdXM6ICc1MCUnLFxuICAgICAgYm94U2hhZG93OiBgMCAwIDAgMXB4ICR7Y29sb3JzLk4zMEF9LCAwIDJweCA0cHggMXB4ICR7Y29sb3JzLk4zMEF9YCxcbiAgICAgIGNvbG9yOiBoYXNIaWdobGlnaHQgPyBjb2xvcnMuQjEwMCA6IGNvbG9ycy5OMjAwLFxuICAgICAgY3Vyc29yOiAncG9pbnRlcicsXG4gICAgICBoZWlnaHQ6IDI0LFxuICAgICAgb3BhY2l0eTogaXNWaXNpYmxlID8gMSA6IDAsXG4gICAgICBvdXRsaW5lOiAwLFxuICAgICAgcGFkZGluZzogMCxcbiAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgICAgdG9wOiAzMixcbiAgICAgIHRyYW5zaXRpb246IGBcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvciAxMDBtcyBsaW5lYXIsXG4gICAgICAgIGNvbG9yIDEwMG1zIGxpbmVhcixcbiAgICAgICAgb3BhY2l0eSAzMDBtcyBjdWJpYy1iZXppZXIoMC4yLCAwLCAwLCAxKSxcbiAgICAgICAgdHJhbnNmb3JtIDMwMG1zIGN1YmljLWJlemllcigwLjIsIDAsIDAsIDEpXG4gICAgICBgLFxuICAgICAgdHJhbnNmb3JtOiBgdHJhbnNsYXRlKC01MCUpYCxcbiAgICAgIHdpZHRoOiAyNCxcblxuICAgICAgJzpob3Zlcic6IHtcbiAgICAgICAgYmFja2dyb3VuZENvbG9yOiBjb2xvcnMuQjEwMCxcbiAgICAgICAgY29sb3I6ICd3aGl0ZScsXG4gICAgICB9LFxuICAgICAgJzphY3RpdmUnOiB7XG4gICAgICAgIGJhY2tncm91bmRDb2xvcjogY29sb3JzLkIyMDAsXG4gICAgICAgIGNvbG9yOiAnd2hpdGUnLFxuICAgICAgfSxcbiAgICAgICc6Zm9jdXMnOiB7XG4gICAgICAgIG9wYWNpdHk6IDEsXG4gICAgICAgIGJhY2tncm91bmRDb2xvcjogY29sb3JzLkIyMDAsXG4gICAgICAgIGNvbG9yOiAnd2hpdGUnLFxuICAgICAgfSxcbiAgICB9fVxuICAgIHsuLi5wcm9wc31cbiAgPlxuICAgIDxkaXZcbiAgICAgIC8vIGluY3JlYXNlIGhpdC1hcmVhXG4gICAgICBjc3M9e3tcbiAgICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICAgIC4uLihoaXRBcmVhU2l6ZSA9PT0gJ3NtYWxsJyA/IHNtYWxsSGl0QXJlYSA6IGxhcmdlSGl0QXJlYSksXG4gICAgICB9fVxuICAgIC8+XG4gICAge2NoaWxkcmVufVxuICA8L2J1dHRvbj5cbik7XG5cbi8vIHRpbmtlciB3aXRoIHRoZSBET00gZGlyZWN0bHkgYnkgc2V0dGluZyBzdHlsZSBwcm9wZXJ0aWVzLCB1cGRhdGVzIHRoZSBncmFiIGJhciBwb3NpdGlvbiBieSBjaGFuZ2luZyBwYWRkaW5nLWxlZnQgYW5kIHdpZHRoLlxuZnVuY3Rpb24gdXBkYXRlUmVzaXplQXJlYVBvc2l0aW9uKGVsZW1lbnRzLCB3aWR0aCkge1xuICBlbGVtZW50cy5mb3JFYWNoKCh7IHByb3BlcnR5LCByZWYgfSkgPT4ge1xuICAgIGNvbnN0IG5ld1ZhbHVlID0gYCR7d2lkdGh9cHhgO1xuICAgIGNvbnN0IG9sZFZhbHVlID0gcmVmLnN0eWxlLmdldFByb3BlcnR5VmFsdWUocHJvcGVydHkpO1xuXG4gICAgLy8gYXZvaWQgdGhyYXNoaW5nXG4gICAgaWYgKG9sZFZhbHVlID09PSBuZXdWYWx1ZSkgcmV0dXJuO1xuXG4gICAgLy8gZGlyZWN0IGF0dHJpYnV0ZSBtYW5pcHVsYXRpb25cbiAgICByZWYuc3R5bGUuc2V0UHJvcGVydHkocHJvcGVydHksIG5ld1ZhbHVlKTtcbiAgfSk7XG59XG5cbi8vIGhlbHBlciBmb3IgdG9vbHRpcCBjb250ZW50IGtleWJvYXJkIHNob3J0Y3V0IGhpZ2hsaWdodFxuZnVuY3Rpb24gbWFrZVRvb2x0aXBOb2RlKHsgdGV4dCwgY2hhciB9KSB7XG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgY3NzPXt7XG4gICAgICAgIGFsaWduSXRlbXM6ICdiYXNlbGluZScsXG4gICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgbGluZUhlaWdodDogMS4zLFxuICAgICAgICBwYWRkaW5nQm90dG9tOiAxLFxuICAgICAgICBwYWRkaW5nVG9wOiAxLFxuICAgICAgfX1cbiAgICA+XG4gICAgICA8c3Bhbj57dGV4dH08L3NwYW4+XG4gICAgICA8ZGl2XG4gICAgICAgIGNzcz17e1xuICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogY29sb3JzLk40MDAsXG4gICAgICAgICAgYm9yZGVyUmFkaXVzOiAyLFxuICAgICAgICAgIGxpbmVIZWlnaHQ6IDEuMixcbiAgICAgICAgICBtYXJnaW5MZWZ0OiA0LFxuICAgICAgICAgIHBhZGRpbmc6ICcxcHggOHB4JyxcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAge2NoYXJ9XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn1cblxuLyogTk9URTogZXhwZXJpbWVudGFsIHByb3BzIHVzZSBhbiB1bmRlcnNjb3JlICovXG5jbGFzcyBSZXNpemVDb250cm9sIGV4dGVuZHMgUHVyZUNvbXBvbmVudCB7XG4gIGludmFsaWREcmFnQXR0ZW1wdGVkID0gZmFsc2U7XG5cbiAgbGFzdFdpZHRoO1xuXG4gIHdyYXBwZXI7XG5cbiAgc3RhdGUgPSB7XG4gICAgZGVsdGE6IDAsXG4gICAgZGlkRHJhZ09wZW46IGZhbHNlLFxuICAgIGlzRHJhZ2dpbmc6IGZhbHNlLFxuICAgIGluaXRpYWxXaWR0aDogMCxcbiAgICBpbml0aWFsWDogMCxcbiAgICBtb3VzZUlzRG93bjogZmFsc2UsXG4gICAgbW91c2VJc092ZXJHcmFiQXJlYTogZmFsc2UsXG4gICAgc2hvd0dyYWJBcmVhOiB0cnVlLFxuICAgIHdpZHRoOiB0aGlzLnByb3BzLm5hdmlnYXRpb24uc3RhdGUucHJvZHVjdE5hdldpZHRoLFxuICB9O1xuXG4gIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XG4gICAgaXNHcmFiQXJlYURpc2FibGVkOiBmYWxzZSxcbiAgfTtcblxuICBzdGF0aWMgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzKHByb3BzLCBzdGF0ZSkge1xuICAgIGNvbnN0IHtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBjYW1lbGNhc2VcbiAgICAgIGV4cGVyaW1lbnRhbF9mbHlvdXRPbkhvdmVyOiBFWFBFUklNRU5UQUxfRkxZT1VUX09OX0hPVkVSLFxuICAgICAgZmx5b3V0SXNPcGVuLFxuICAgICAgbmF2aWdhdGlvbixcbiAgICB9ID0gcHJvcHM7XG4gICAgY29uc3QgeyBpc0NvbGxhcHNlZCB9ID0gbmF2aWdhdGlvbi5zdGF0ZTtcblxuICAgIC8vIHJlc29sdmUgXCJob3ZlciBsb2NraW5nXCIgaXNzdWUgd2l0aCByZXNpemUgZ3JhYiBhcmVhXG4gICAgaWYgKEVYUEVSSU1FTlRBTF9GTFlPVVRfT05fSE9WRVIpIHtcbiAgICAgIGNvbnN0IHNob3dHcmFiQXJlYSA9ICFpc0NvbGxhcHNlZCAmJiAhZmx5b3V0SXNPcGVuO1xuICAgICAgY29uc3QgbW91c2VJc092ZXJHcmFiQXJlYSA9IHNob3dHcmFiQXJlYVxuICAgICAgICA/IHN0YXRlLm1vdXNlSXNPdmVyR3JhYkFyZWFcbiAgICAgICAgOiBmYWxzZTtcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgbW91c2VJc092ZXJHcmFiQXJlYSxcbiAgICAgICAgc2hvd0dyYWJBcmVhLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIG9uUmVzaXplckNoZXZyb25DbGljayA9ICgpID0+IHtcbiAgICBjb25zdCB0cmlnZ2VyID0gdGhpcy5wcm9wcy5mbHlvdXRJc09wZW4gPyAnY2hldnJvbkhvdmVyJyA6ICdjaGV2cm9uJztcbiAgICB0aGlzLnRvZ2dsZUNvbGxhcHNlKHRyaWdnZXIpO1xuICB9O1xuXG4gIG1vdXNlRW50ZXJHcmFiQXJlYSA9ICgpID0+IHtcbiAgICB0aGlzLnNldFN0YXRlKHsgbW91c2VJc092ZXJHcmFiQXJlYTogdHJ1ZSB9KTtcbiAgfTtcblxuICBtb3VzZUxlYXZlR3JhYkFyZWEgPSAoKSA9PiB7XG4gICAgdGhpcy5zZXRTdGF0ZSh7IG1vdXNlSXNPdmVyR3JhYkFyZWE6IGZhbHNlIH0pO1xuICB9O1xuXG4gIHRvZ2dsZUNvbGxhcHNlID0gdHJpZ2dlciA9PiB7XG4gICAgY29uc3QgeyBuYXZpZ2F0aW9uLCBjcmVhdGVBbmFseXRpY3NFdmVudCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBuZXdDb2xsYXBzZWRTdGF0ZSA9ICFuYXZpZ2F0aW9uLnN0YXRlLmlzQ29sbGFwc2VkO1xuICAgIG5hdmlnYXRpb24udG9nZ2xlQ29sbGFwc2UoKTtcbiAgICBuYXZpZ2F0aW9uRXhwYW5kZWRDb2xsYXBzZWQoY3JlYXRlQW5hbHl0aWNzRXZlbnQsIHtcbiAgICAgIHRyaWdnZXIsXG4gICAgICBpc0NvbGxhcHNlZDogbmV3Q29sbGFwc2VkU3RhdGUsXG4gICAgfSk7XG4gIH07XG5cbiAgaGFuZGxlUmVzaXplU3RhcnQgPSBldmVudCA9PiB7XG4gICAgY29uc3QgaW5pdGlhbFggPSBldmVudC5wYWdlWDtcblxuICAgIHRoaXMuc2V0U3RhdGUoeyBpbml0aWFsWCwgbW91c2VJc0Rvd246IHRydWUgfSk7XG5cbiAgICAvLyBhdHRhY2ggaGFuZGxlcnMgKGhhbmRsZVJlc2l6ZVN0YXJ0IGlzIGEgYm91bmQgdG8gb25Nb3VzZURvd24pXG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIHRoaXMuaGFuZGxlUmVzaXplKTtcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbW91c2V1cCcsIHRoaXMuaGFuZGxlUmVzaXplRW5kKTtcbiAgfTtcblxuICBpbml0aWFsaXplRHJhZyA9IGV2ZW50ID0+IHtcbiAgICBjb25zdCB7IG5hdmlnYXRpb24gfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgZGVsdGEgPSBldmVudC5wYWdlWCAtIHRoaXMuc3RhdGUuaW5pdGlhbFg7XG4gICAgY29uc3QgeyBpc0NvbGxhcHNlZCB9ID0gbmF2aWdhdGlvbi5zdGF0ZTtcblxuICAgIC8vIG9ubHkgaW5pdGlhbGl6ZSB3aGVuIGRyYWcgaW50ZW50aW9uIGlzIFwiZXhwYW5kXCJcbiAgICBpZiAoaXNDb2xsYXBzZWQgJiYgZGVsdGEgPD0gMCkge1xuICAgICAgdGhpcy5pbnZhbGlkRHJhZ0F0dGVtcHRlZCA9IHRydWU7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgbGV0IGluaXRpYWxXaWR0aCA9IG5hdmlnYXRpb24uc3RhdGUucHJvZHVjdE5hdldpZHRoO1xuICAgIGxldCBkaWREcmFnT3BlbiA9IGZhbHNlO1xuXG4gICAgLy8gTk9URVxuICAgIC8vIGlmIHRoZSBwcm9kdWN0IG5hdiBpcyBjb2xsYXBzZWQgYW5kIHRoZSBjb25zdW1lciBzdGFydHMgZHJhZ2dpbmcgaXQgb3BlblxuICAgIC8vIHdlIG11c3QgZXhwYW5kIGl0IGFuZCBkcmFnIHNob3VsZCBzdGFydCBmcm9tIDAuXG4gICAgaWYgKGlzQ29sbGFwc2VkKSB7XG4gICAgICBpbml0aWFsV2lkdGggPSBDT05URU5UX05BVl9XSURUSF9DT0xMQVBTRUQ7XG4gICAgICBkaWREcmFnT3BlbiA9IHRydWU7XG4gICAgICBuYXZpZ2F0aW9uLm1hbnVhbFJlc2l6ZVN0YXJ0KHtcbiAgICAgICAgcHJvZHVjdE5hdldpZHRoOiBDT05URU5UX05BVl9XSURUSF9DT0xMQVBTRUQsXG4gICAgICAgIGlzQ29sbGFwc2VkOiBmYWxzZSxcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBuYXZpZ2F0aW9uLm1hbnVhbFJlc2l6ZVN0YXJ0KG5hdmlnYXRpb24uc3RhdGUpO1xuICAgIH1cblxuICAgIHRoaXMuc2V0U3RhdGUoeyBkaWREcmFnT3BlbiwgaW5pdGlhbFdpZHRoLCBpc0RyYWdnaW5nOiB0cnVlIH0pO1xuICB9O1xuXG4gIGhhbmRsZVJlc2l6ZSA9IHJhZihldmVudCA9PiB7XG4gICAgY29uc3QgeyBtdXRhdGlvblJlZnMgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyBpbml0aWFsWCwgaW5pdGlhbFdpZHRoLCBpc0RyYWdnaW5nLCBtb3VzZUlzRG93biB9ID0gdGhpcy5zdGF0ZTtcblxuICAgIC8vIG9uIG9jY2FzaW9uIGEgbW91c2UgbW92ZSBldmVudCBvY2N1cnMgYmVmb3JlIHRoZSBldmVudCBsaXN0ZW5lcnNcbiAgICAvLyBoYXZlIGEgY2hhbmNlIHRvIGRldGFjaFxuICAgIGlmICghbW91c2VJc0Rvd24pIHJldHVybjtcblxuICAgIC8vIGluaXRpYWxpemUgZHJhZ2dpbmdcbiAgICBpZiAoIWlzRHJhZ2dpbmcpIHtcbiAgICAgIHRoaXMuaW5pdGlhbGl6ZURyYWcoZXZlbnQpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIGFsbG93IHRoZSBwcm9kdWN0IG5hdiB0byBiZSA3NSUgb2YgdGhlIGF2YWlsYWJsZSBwYWdlIHdpZHRoXG4gICAgY29uc3QgbWF4V2lkdGggPSBNYXRoLnJvdW5kKCh3aW5kb3cuaW5uZXJXaWR0aCAvIDQpICogMyk7XG4gICAgY29uc3QgbWluV2lkdGggPSBDT05URU5UX05BVl9XSURUSF9DT0xMQVBTRUQ7XG4gICAgY29uc3QgYWRqdXN0ZWRNYXggPSBtYXhXaWR0aCAtIGluaXRpYWxXaWR0aCAtIEdMT0JBTF9OQVZfV0lEVEg7XG4gICAgY29uc3QgYWRqdXN0ZWRNaW4gPSBtaW5XaWR0aCAtIGluaXRpYWxXaWR0aDtcblxuICAgIGNvbnN0IGRlbHRhID0gTWF0aC5tYXgoXG4gICAgICBNYXRoLm1pbihldmVudC5wYWdlWCAtIGluaXRpYWxYLCBhZGp1c3RlZE1heCksXG4gICAgICBhZGp1c3RlZE1pbixcbiAgICApO1xuICAgIGNvbnN0IHdpZHRoID0gaW5pdGlhbFdpZHRoICsgZGVsdGE7XG5cbiAgICAvLyBhcHBseSB1cGRhdGVkIHN0eWxlcyB0byB0aGUgYXBwbGljYWJsZSBET00gbm9kZXNcbiAgICB1cGRhdGVSZXNpemVBcmVhUG9zaXRpb24obXV0YXRpb25SZWZzLCB3aWR0aCk7XG5cbiAgICAvLyBOT1RFOiBoaWphY2sgdGhlIG1hdWFsIHJlc2l6ZSBhbmQgZm9yY2UgY29sbGFwc2UsIGNhbmNlbHMgbW91c2UgZXZlbnRzXG4gICAgaWYgKGV2ZW50LmNsaWVudFggPCAwKSB7XG4gICAgICB0aGlzLnNldFN0YXRlKHsgd2lkdGg6IENPTlRFTlRfTkFWX1dJRFRIX0NPTExBUFNFRCB9KTtcbiAgICAgIHRoaXMuaGFuZGxlUmVzaXplRW5kKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIG1haW50YWluIGludGVybmFsIHdpZHRoLCBhcHBsaWVkIHRvIG5hdmlnYXRpb24gc3RhdGUgb24gcmVzaXplIGVuZFxuICAgICAgdGhpcy5zZXRTdGF0ZSh7IGRlbHRhLCB3aWR0aCB9KTtcbiAgICB9XG4gIH0pO1xuXG4gIGhhbmRsZVJlc2l6ZUVuZCA9ICgpID0+IHtcbiAgICBjb25zdCB7IG5hdmlnYXRpb24sIGNyZWF0ZUFuYWx5dGljc0V2ZW50IH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IHsgZGVsdGEsIGRpZERyYWdPcGVuLCBpc0RyYWdnaW5nLCB3aWR0aDogY3VycmVudFdpZHRoIH0gPSB0aGlzLnN0YXRlO1xuICAgIGNvbnN0IGV4cGFuZFRocmVzaG9sZCA9IDI0O1xuICAgIGNvbnN0IHJlc2l6ZXJDbGlja2VkID0gIWlzRHJhZ2dpbmcgJiYgIXRoaXMuaW52YWxpZERyYWdBdHRlbXB0ZWQ7XG4gICAgbGV0IHB1Ymxpc2hXaWR0aCA9IGN1cnJlbnRXaWR0aDtcbiAgICBsZXQgc2hvdWxkQ29sbGFwc2UgPSBmYWxzZTtcblxuICAgIC8vIGNoZWNrIGlmIHRoZSBpbnRlbnRpb24gd2FzIGp1c3QgYSBjbGljaywgYW5kIHRvZ2dsZVxuICAgIGlmIChyZXNpemVyQ2xpY2tlZCkge1xuICAgICAgcHVibGlzaFdpZHRoID0gTWF0aC5tYXgoQ09OVEVOVF9OQVZfV0lEVEgsIGN1cnJlbnRXaWR0aCk7XG4gICAgICB0aGlzLnRvZ2dsZUNvbGxhcHNlKCdyZXNpemVyQ2xpY2snKTtcbiAgICB9XG5cbiAgICAvLyBwcmV2ZW50IHRoZSB1c2VyIGZyb20gY3JlYXRpbmcgYW4gdW51c2FibGUgd2lkdGhcbiAgICBpZiAocHVibGlzaFdpZHRoIDwgQ09OVEVOVF9OQVZfV0lEVEgpIHtcbiAgICAgIHB1Ymxpc2hXaWR0aCA9IENPTlRFTlRfTkFWX1dJRFRIO1xuICAgICAgaWYgKGRpZERyYWdPcGVuICYmIGRlbHRhID4gZXhwYW5kVGhyZXNob2xkKSB7XG4gICAgICAgIHNob3VsZENvbGxhcHNlID0gZmFsc2U7XG4gICAgICB9IGVsc2UgaWYgKGN1cnJlbnRXaWR0aCA8IEdMT0JBTF9OQVZfQ09MTEFQU0VfVEhSRVNIT0xEKSB7XG4gICAgICAgIHNob3VsZENvbGxhcHNlID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgc2hvdWxkQ29sbGFwc2UgPSBuYXZpZ2F0aW9uLnN0YXRlLmlzQ29sbGFwc2VkO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgICFyZXNpemVyQ2xpY2tlZCAmJlxuICAgICAgKChkaWREcmFnT3BlbiAmJiAhc2hvdWxkQ29sbGFwc2UpIHx8ICghZGlkRHJhZ09wZW4gJiYgc2hvdWxkQ29sbGFwc2UpKVxuICAgICkge1xuICAgICAgbmF2aWdhdGlvbkV4cGFuZGVkQ29sbGFwc2VkKGNyZWF0ZUFuYWx5dGljc0V2ZW50LCB7XG4gICAgICAgIHRyaWdnZXI6ICdyZXNpemVyRHJhZycsXG4gICAgICAgIGlzQ29sbGFwc2VkOiBzaG91bGRDb2xsYXBzZSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIHJlc2V0IGV2ZXJ5dGhpbmdcbiAgICB0aGlzLmludmFsaWREcmFnQXR0ZW1wdGVkID0gZmFsc2U7XG4gICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICBkaWREcmFnT3BlbjogZmFsc2UsXG4gICAgICBpc0RyYWdnaW5nOiBmYWxzZSxcbiAgICAgIG1vdXNlSXNEb3duOiBmYWxzZSxcbiAgICAgIHdpZHRoOiBwdWJsaXNoV2lkdGgsXG4gICAgfSk7XG5cbiAgICAvLyBwdWJsaXNoIHRoZSBuZXcgd2lkdGgsIG9uY2UgcmVzaXppbmcgY29tcGxldGVzXG4gICAgbmF2aWdhdGlvbi5tYW51YWxSZXNpemVFbmQoe1xuICAgICAgcHJvZHVjdE5hdldpZHRoOiBwdWJsaXNoV2lkdGgsXG4gICAgICBpc0NvbGxhcHNlZDogc2hvdWxkQ29sbGFwc2UsXG4gICAgfSk7XG5cbiAgICBpZiAoc2hvdWxkUmVzZXRHcmFiQXJlYShjdXJyZW50V2lkdGgpKSB7XG4gICAgICB1cGRhdGVSZXNpemVBcmVhUG9zaXRpb24odGhpcy5wcm9wcy5tdXRhdGlvblJlZnMsIENPTlRFTlRfTkFWX1dJRFRIKTtcbiAgICB9XG5cbiAgICAvLyBjbGVhbnVwXG4gICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIHRoaXMuaGFuZGxlUmVzaXplKTtcbiAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2V1cCcsIHRoaXMuaGFuZGxlUmVzaXplRW5kKTtcbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgaXNEcmFnZ2luZyxcbiAgICAgIG1vdXNlSXNEb3duLFxuICAgICAgbW91c2VJc092ZXJHcmFiQXJlYSxcbiAgICAgIHNob3dHcmFiQXJlYSxcbiAgICB9ID0gdGhpcy5zdGF0ZTtcbiAgICBjb25zdCB7XG4gICAgICBjb2xsYXBzZVRvZ2dsZVRvb2x0aXBDb250ZW50LFxuICAgICAgZXhwYW5kQ29sbGFwc2VBZmZvcmRhbmNlUmVmLFxuICAgICAgZmx5b3V0SXNPcGVuLFxuICAgICAgaXNEaXNhYmxlZDogaXNSZXNpemVEaXNhYmxlZCxcbiAgICAgIGlzR3JhYkFyZWFEaXNhYmxlZCxcbiAgICAgIG9uTW91c2VPdmVyQnV0dG9uQnVmZmVyLFxuICAgICAgbmF2aWdhdGlvbixcbiAgICB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IGlzQ29sbGFwc2VkIH0gPSBuYXZpZ2F0aW9uLnN0YXRlO1xuXG4gICAgLy8gdGhlIGJ1dHRvbiBzaG91bGRuJ3QgXCJmbGlwXCIgdW50aWwgdGhlIGRyYWcgaXMgY29tcGxldGVcbiAgICBsZXQgQnV0dG9uSWNvbiA9IENoZXZyb25MZWZ0O1xuICAgIGlmIChpc0NvbGxhcHNlZCkgQnV0dG9uSWNvbiA9IENoZXZyb25SaWdodDtcblxuICAgIGNvbnN0IGJ1dHRvbiA9IChcbiAgICAgIDxCdXR0b25cbiAgICAgICAgb25DbGljaz17dGhpcy5vblJlc2l6ZXJDaGV2cm9uQ2xpY2t9XG4gICAgICAgIG9uTW91c2VEb3duPXtwcmV2ZW50RGVmYXVsdH1cbiAgICAgICAgaGl0QXJlYVNpemU9e29uTW91c2VPdmVyQnV0dG9uQnVmZmVyID8gJ2xhcmdlJyA6ICdzbWFsbCd9XG4gICAgICAgIC8vIG1haW50YWluIHN0eWxlcyB3aGVuIHVzZXIgaXMgZHJhZ2dpbmdcbiAgICAgICAgaXNWaXNpYmxlPXtpc0NvbGxhcHNlZCB8fCBtb3VzZUlzRG93bn1cbiAgICAgICAgaGFzSGlnaGxpZ2h0PXttb3VzZUlzRG93biB8fCBtb3VzZUlzT3ZlckdyYWJBcmVhfVxuICAgICAgICBpbm5lclJlZj17ZXhwYW5kQ29sbGFwc2VBZmZvcmRhbmNlUmVmfVxuICAgICAgICBhcmlhLWV4cGFuZGVkPXshaXNDb2xsYXBzZWR9XG4gICAgICAgIGFyaWEtbGFiZWw9XCJUb2dnbGUgbmF2aWdhdGlvblwiXG4gICAgICA+XG4gICAgICAgIDxCdXR0b25JY29uIC8+XG4gICAgICA8L0J1dHRvbj5cbiAgICApO1xuICAgIGNvbnN0IHNoYWRvd0RpcmVjdGlvbiA9IGZseW91dElzT3BlbiA/ICd0byByaWdodCcgOiAndG8gbGVmdCc7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPE91dGVyPlxuICAgICAgICB7aXNEcmFnZ2luZyAmJiA8Qm9keURyYWdDdXJzb3IgLz59XG4gICAgICAgIDxTaGFkb3cgZGlyZWN0aW9uPXtzaGFkb3dEaXJlY3Rpb259IGlzQm9sZD17bW91c2VJc0Rvd259IC8+XG4gICAgICAgIHshaXNSZXNpemVEaXNhYmxlZCAmJiAoXG4gICAgICAgICAgPEZyYWdtZW50PlxuICAgICAgICAgICAgeyFpc0dyYWJBcmVhRGlzYWJsZWQgJiYgc2hvd0dyYWJBcmVhICYmIChcbiAgICAgICAgICAgICAgPEdyYWJBcmVhXG4gICAgICAgICAgICAgICAgaXNCb2xkPXttb3VzZUlzRG93bn1cbiAgICAgICAgICAgICAgICBzaG93SGFuZGxlPXttb3VzZUlzRG93biB8fCBtb3VzZUlzT3ZlckdyYWJBcmVhfVxuICAgICAgICAgICAgICAgIG9uTW91c2VFbnRlcj17dGhpcy5tb3VzZUVudGVyR3JhYkFyZWF9XG4gICAgICAgICAgICAgICAgb25Nb3VzZUxlYXZlPXt0aGlzLm1vdXNlTGVhdmVHcmFiQXJlYX1cbiAgICAgICAgICAgICAgICBvbk1vdXNlRG93bj17dGhpcy5oYW5kbGVSZXNpemVTdGFydH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8ZGl2IG9uTW91c2VPdmVyPXshZmx5b3V0SXNPcGVuID8gb25Nb3VzZU92ZXJCdXR0b25CdWZmZXIgOiBudWxsfT5cbiAgICAgICAgICAgICAge2NvbGxhcHNlVG9nZ2xlVG9vbHRpcENvbnRlbnQgPyAoXG4gICAgICAgICAgICAgICAgPFRvb2x0aXBcbiAgICAgICAgICAgICAgICAgIGNvbnRlbnQ9e21ha2VUb29sdGlwTm9kZShcbiAgICAgICAgICAgICAgICAgICAgY29sbGFwc2VUb2dnbGVUb29sdGlwQ29udGVudChpc0NvbGxhcHNlZCksXG4gICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgZGVsYXk9ezYwMH1cbiAgICAgICAgICAgICAgICAgIGhpZGVUb29sdGlwT25DbGlja1xuICAgICAgICAgICAgICAgICAgcG9zaXRpb249XCJyaWdodFwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge2J1dHRvbn1cbiAgICAgICAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgYnV0dG9uXG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L0ZyYWdtZW50PlxuICAgICAgICApfVxuICAgICAgPC9PdXRlcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCB7IFJlc2l6ZUNvbnRyb2wgYXMgUmVzaXplQ29udHJvbEJhc2UgfTtcblxuZXhwb3J0IGRlZmF1bHQgd2l0aEFuYWx5dGljc0V2ZW50cygpKFJlc2l6ZUNvbnRyb2wpO1xuIl19 */\")\n }), children);\n}; // tinker with the DOM directly by setting style properties, updates the grab bar position by changing padding-left and width.\n\n\nfunction updateResizeAreaPosition(elements, width) {\n elements.forEach(function (_ref3) {\n var property = _ref3.property,\n ref = _ref3.ref;\n var newValue = \"\".concat(width, \"px\");\n var oldValue = ref.style.getPropertyValue(property); // avoid thrashing\n\n if (oldValue === newValue) return; // direct attribute manipulation\n\n ref.style.setProperty(property, newValue);\n });\n} // helper for tooltip content keyboard shortcut highlight\n\n\nvar _ref5 = false ? undefined : {\n name: \"jeedki\",\n styles: \"align-items:baseline;display:flex;line-height:1.3;padding-bottom:1px;padding-top:1px;\",\n map: \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL0xheW91dE1hbmFnZXIvUmVzaXplQ29udHJvbC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUEyS00iLCJmaWxlIjoiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvcHJlc2VudGF0aW9uYWwvTGF5b3V0TWFuYWdlci9SZXNpemVDb250cm9sLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IEZyYWdtZW50LCBQdXJlQ29tcG9uZW50IH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgeyBHbG9iYWwgfSBmcm9tICdAZW1vdGlvbi9jb3JlJztcbmltcG9ydCByYWYgZnJvbSAncmFmLXNjaGQnO1xuXG5pbXBvcnQgeyB3aXRoQW5hbHl0aWNzRXZlbnRzIH0gZnJvbSAnQGF0bGFza2l0L2FuYWx5dGljcy1uZXh0JztcbmltcG9ydCBDaGV2cm9uTGVmdCBmcm9tICdAYXRsYXNraXQvaWNvbi9nbHlwaC9jaGV2cm9uLWxlZnQnO1xuaW1wb3J0IENoZXZyb25SaWdodCBmcm9tICdAYXRsYXNraXQvaWNvbi9nbHlwaC9jaGV2cm9uLXJpZ2h0JztcbmltcG9ydCAqIGFzIGNvbG9ycyBmcm9tICdAYXRsYXNraXQvdGhlbWUvY29sb3JzJztcbmltcG9ydCBUb29sdGlwIGZyb20gJ0BhdGxhc2tpdC90b29sdGlwJztcblxuaW1wb3J0IHsgbmF2aWdhdGlvbkV4cGFuZGVkQ29sbGFwc2VkIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2FuYWx5dGljcyc7XG5pbXBvcnQge1xuICBDT05URU5UX05BVl9XSURUSCxcbiAgQ09OVEVOVF9OQVZfV0lEVEhfQ09MTEFQU0VELFxuICBHTE9CQUxfTkFWX0NPTExBUFNFX1RIUkVTSE9MRCxcbiAgR0xPQkFMX05BVl9XSURUSCxcbn0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBTaGFkb3cgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vcHJpbWl0aXZlcyc7XG5cbmNvbnN0IEhBTkRMRV9PRkZTRVQgPSA0O1xuY29uc3QgSU5ORVJfV0lEVEggPSAyMDtcbmNvbnN0IE9VVEVSX1dJRFRIID0gSU5ORVJfV0lEVEggKyBIQU5ETEVfT0ZGU0VUO1xuY29uc3QgSEFORExFX1dJRFRIID0gMjtcbmNvbnN0IHNob3VsZFJlc2V0R3JhYkFyZWEgPSB3aWR0aCA9PiB7XG4gIHJldHVybiB3aWR0aCA+PSBHTE9CQUxfTkFWX0NPTExBUFNFX1RIUkVTSE9MRCAmJiB3aWR0aCA8IENPTlRFTlRfTkFWX1dJRFRIO1xufTtcbmNvbnN0IHByZXZlbnREZWZhdWx0ID0gZXZlbnQgPT4gZXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuZXhwb3J0IGNvbnN0IEJvZHlEcmFnQ3Vyc29yID0gKCkgPT4gKFxuICA8R2xvYmFsXG4gICAgc3R5bGVzPXt7XG4gICAgICBib2R5OiB7XG4gICAgICAgIGN1cnNvcjogJ2V3LXJlc2l6ZScsXG4gICAgICB9LFxuICAgIH19XG4gIC8+XG4pO1xuXG5jb25zdCBPdXRlciA9IHByb3BzID0+IChcbiAgPGRpdlxuICAgIGNzcz17e1xuICAgICAgYm90dG9tOiAwLFxuICAgICAgbGVmdDogJzEwMCUnLFxuICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICB0b3A6IDAsXG4gICAgICB0cmFuc2Zvcm06ICd0cmFuc2xhdGVaKDApJyxcbiAgICAgIHdpZHRoOiBPVVRFUl9XSURUSCxcbiAgICAgIHpJbmRleDogMywgLy8gaGlnaGVyIHRoYW4gdGhlIHNjcm9sbCBoaW50IGxpbmVzXG4gICAgfX1cbiAgICB7Li4ucHJvcHN9XG4gIC8+XG4pO1xuXG5leHBvcnQgY29uc3QgR3JhYkFyZWEgPSAoeyBzaG93SGFuZGxlLCBpc0JvbGQsIC4uLnByb3BzIH0pID0+IChcbiAgPGRpdlxuICAgIGNzcz17e1xuICAgICAgY3Vyc29yOiAnZXctcmVzaXplJyxcbiAgICAgIGhlaWdodDogJzEwMCUnLFxuICAgICAgbGVmdDogLUhBTkRMRV9PRkZTRVQsXG4gICAgICBwb3NpdGlvbjogJ3JlbGF0aXZlJyxcbiAgICAgIHdpZHRoOiBPVVRFUl9XSURUSCxcbiAgICB9fVxuICAgIHsuLi5wcm9wc31cbiAgPlxuICAgIDxkaXZcbiAgICAgIGNzcz17e1xuICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IGlzQm9sZCA/IGNvbG9ycy5CMjAwIDogY29sb3JzLkIxMDAsXG4gICAgICAgIG9wYWNpdHk6IHNob3dIYW5kbGUgPyAxIDogMCxcbiAgICAgICAgaGVpZ2h0OiAnMTAwJScsXG4gICAgICAgIGxlZnQ6IEhBTkRMRV9PRkZTRVQgLSBIQU5ETEVfV0lEVEggLyAyLCAvLyB0aGUgaGFuZGxlIHNob3VsZCBcInN0cmFkZGxlXCIgdGhlIGRpdmlkaW5nIGxpbmVcbiAgICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICAgIHRyYW5zaXRpb246ICdvcGFjaXR5IDIwMG1zJyxcbiAgICAgICAgd2lkdGg6IEhBTkRMRV9XSURUSCxcbiAgICAgIH19XG4gICAgLz5cbiAgPC9kaXY+XG4pO1xuY29uc3QgbGFyZ2VIaXRBcmVhID0ge1xuICBsZWZ0OiAtOCxcbiAgcmlnaHQ6IC0xMixcbiAgYm90dG9tOiAtOCxcbiAgdG9wOiAtOCxcbn07XG5jb25zdCBzbWFsbEhpdEFyZWEgPSB7XG4gIGxlZnQ6IC00LFxuICByaWdodDogLTQsXG4gIGJvdHRvbTogLTQsXG4gIHRvcDogLTQsXG59O1xuXG5jb25zdCBCdXR0b24gPSAoe1xuICBjaGlsZHJlbixcbiAgaGFzSGlnaGxpZ2h0LFxuICBpbm5lclJlZixcbiAgaXNWaXNpYmxlLFxuICBoaXRBcmVhU2l6ZSxcbiAgLi4ucHJvcHNcbn0pID0+IChcbiAgPGJ1dHRvblxuICAgIGNsYXNzTmFtZT1cImFrLW5hdmlnYXRpb24tcmVzaXplLWJ1dHRvblwiXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgcmVmPXtpbm5lclJlZn1cbiAgICBjc3M9e3tcbiAgICAgIGJhY2tncm91bmQ6IDAsXG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6ICd3aGl0ZScsXG4gICAgICBib3JkZXI6IDAsXG4gICAgICBib3JkZXJSYWRpdXM6ICc1MCUnLFxuICAgICAgYm94U2hhZG93OiBgMCAwIDAgMXB4ICR7Y29sb3JzLk4zMEF9LCAwIDJweCA0cHggMXB4ICR7Y29sb3JzLk4zMEF9YCxcbiAgICAgIGNvbG9yOiBoYXNIaWdobGlnaHQgPyBjb2xvcnMuQjEwMCA6IGNvbG9ycy5OMjAwLFxuICAgICAgY3Vyc29yOiAncG9pbnRlcicsXG4gICAgICBoZWlnaHQ6IDI0LFxuICAgICAgb3BhY2l0eTogaXNWaXNpYmxlID8gMSA6IDAsXG4gICAgICBvdXRsaW5lOiAwLFxuICAgICAgcGFkZGluZzogMCxcbiAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgICAgdG9wOiAzMixcbiAgICAgIHRyYW5zaXRpb246IGBcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvciAxMDBtcyBsaW5lYXIsXG4gICAgICAgIGNvbG9yIDEwMG1zIGxpbmVhcixcbiAgICAgICAgb3BhY2l0eSAzMDBtcyBjdWJpYy1iZXppZXIoMC4yLCAwLCAwLCAxKSxcbiAgICAgICAgdHJhbnNmb3JtIDMwMG1zIGN1YmljLWJlemllcigwLjIsIDAsIDAsIDEpXG4gICAgICBgLFxuICAgICAgdHJhbnNmb3JtOiBgdHJhbnNsYXRlKC01MCUpYCxcbiAgICAgIHdpZHRoOiAyNCxcblxuICAgICAgJzpob3Zlcic6IHtcbiAgICAgICAgYmFja2dyb3VuZENvbG9yOiBjb2xvcnMuQjEwMCxcbiAgICAgICAgY29sb3I6ICd3aGl0ZScsXG4gICAgICB9LFxuICAgICAgJzphY3RpdmUnOiB7XG4gICAgICAgIGJhY2tncm91bmRDb2xvcjogY29sb3JzLkIyMDAsXG4gICAgICAgIGNvbG9yOiAnd2hpdGUnLFxuICAgICAgfSxcbiAgICAgICc6Zm9jdXMnOiB7XG4gICAgICAgIG9wYWNpdHk6IDEsXG4gICAgICAgIGJhY2tncm91bmRDb2xvcjogY29sb3JzLkIyMDAsXG4gICAgICAgIGNvbG9yOiAnd2hpdGUnLFxuICAgICAgfSxcbiAgICB9fVxuICAgIHsuLi5wcm9wc31cbiAgPlxuICAgIDxkaXZcbiAgICAgIC8vIGluY3JlYXNlIGhpdC1hcmVhXG4gICAgICBjc3M9e3tcbiAgICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICAgIC4uLihoaXRBcmVhU2l6ZSA9PT0gJ3NtYWxsJyA/IHNtYWxsSGl0QXJlYSA6IGxhcmdlSGl0QXJlYSksXG4gICAgICB9fVxuICAgIC8+XG4gICAge2NoaWxkcmVufVxuICA8L2J1dHRvbj5cbik7XG5cbi8vIHRpbmtlciB3aXRoIHRoZSBET00gZGlyZWN0bHkgYnkgc2V0dGluZyBzdHlsZSBwcm9wZXJ0aWVzLCB1cGRhdGVzIHRoZSBncmFiIGJhciBwb3NpdGlvbiBieSBjaGFuZ2luZyBwYWRkaW5nLWxlZnQgYW5kIHdpZHRoLlxuZnVuY3Rpb24gdXBkYXRlUmVzaXplQXJlYVBvc2l0aW9uKGVsZW1lbnRzLCB3aWR0aCkge1xuICBlbGVtZW50cy5mb3JFYWNoKCh7IHByb3BlcnR5LCByZWYgfSkgPT4ge1xuICAgIGNvbnN0IG5ld1ZhbHVlID0gYCR7d2lkdGh9cHhgO1xuICAgIGNvbnN0IG9sZFZhbHVlID0gcmVmLnN0eWxlLmdldFByb3BlcnR5VmFsdWUocHJvcGVydHkpO1xuXG4gICAgLy8gYXZvaWQgdGhyYXNoaW5nXG4gICAgaWYgKG9sZFZhbHVlID09PSBuZXdWYWx1ZSkgcmV0dXJuO1xuXG4gICAgLy8gZGlyZWN0IGF0dHJpYnV0ZSBtYW5pcHVsYXRpb25cbiAgICByZWYuc3R5bGUuc2V0UHJvcGVydHkocHJvcGVydHksIG5ld1ZhbHVlKTtcbiAgfSk7XG59XG5cbi8vIGhlbHBlciBmb3IgdG9vbHRpcCBjb250ZW50IGtleWJvYXJkIHNob3J0Y3V0IGhpZ2hsaWdodFxuZnVuY3Rpb24gbWFrZVRvb2x0aXBOb2RlKHsgdGV4dCwgY2hhciB9KSB7XG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgY3NzPXt7XG4gICAgICAgIGFsaWduSXRlbXM6ICdiYXNlbGluZScsXG4gICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgbGluZUhlaWdodDogMS4zLFxuICAgICAgICBwYWRkaW5nQm90dG9tOiAxLFxuICAgICAgICBwYWRkaW5nVG9wOiAxLFxuICAgICAgfX1cbiAgICA+XG4gICAgICA8c3Bhbj57dGV4dH08L3NwYW4+XG4gICAgICA8ZGl2XG4gICAgICAgIGNzcz17e1xuICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogY29sb3JzLk40MDAsXG4gICAgICAgICAgYm9yZGVyUmFkaXVzOiAyLFxuICAgICAgICAgIGxpbmVIZWlnaHQ6IDEuMixcbiAgICAgICAgICBtYXJnaW5MZWZ0OiA0LFxuICAgICAgICAgIHBhZGRpbmc6ICcxcHggOHB4JyxcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAge2NoYXJ9XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn1cblxuLyogTk9URTogZXhwZXJpbWVudGFsIHByb3BzIHVzZSBhbiB1bmRlcnNjb3JlICovXG5jbGFzcyBSZXNpemVDb250cm9sIGV4dGVuZHMgUHVyZUNvbXBvbmVudCB7XG4gIGludmFsaWREcmFnQXR0ZW1wdGVkID0gZmFsc2U7XG5cbiAgbGFzdFdpZHRoO1xuXG4gIHdyYXBwZXI7XG5cbiAgc3RhdGUgPSB7XG4gICAgZGVsdGE6IDAsXG4gICAgZGlkRHJhZ09wZW46IGZhbHNlLFxuICAgIGlzRHJhZ2dpbmc6IGZhbHNlLFxuICAgIGluaXRpYWxXaWR0aDogMCxcbiAgICBpbml0aWFsWDogMCxcbiAgICBtb3VzZUlzRG93bjogZmFsc2UsXG4gICAgbW91c2VJc092ZXJHcmFiQXJlYTogZmFsc2UsXG4gICAgc2hvd0dyYWJBcmVhOiB0cnVlLFxuICAgIHdpZHRoOiB0aGlzLnByb3BzLm5hdmlnYXRpb24uc3RhdGUucHJvZHVjdE5hdldpZHRoLFxuICB9O1xuXG4gIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XG4gICAgaXNHcmFiQXJlYURpc2FibGVkOiBmYWxzZSxcbiAgfTtcblxuICBzdGF0aWMgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzKHByb3BzLCBzdGF0ZSkge1xuICAgIGNvbnN0IHtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBjYW1lbGNhc2VcbiAgICAgIGV4cGVyaW1lbnRhbF9mbHlvdXRPbkhvdmVyOiBFWFBFUklNRU5UQUxfRkxZT1VUX09OX0hPVkVSLFxuICAgICAgZmx5b3V0SXNPcGVuLFxuICAgICAgbmF2aWdhdGlvbixcbiAgICB9ID0gcHJvcHM7XG4gICAgY29uc3QgeyBpc0NvbGxhcHNlZCB9ID0gbmF2aWdhdGlvbi5zdGF0ZTtcblxuICAgIC8vIHJlc29sdmUgXCJob3ZlciBsb2NraW5nXCIgaXNzdWUgd2l0aCByZXNpemUgZ3JhYiBhcmVhXG4gICAgaWYgKEVYUEVSSU1FTlRBTF9GTFlPVVRfT05fSE9WRVIpIHtcbiAgICAgIGNvbnN0IHNob3dHcmFiQXJlYSA9ICFpc0NvbGxhcHNlZCAmJiAhZmx5b3V0SXNPcGVuO1xuICAgICAgY29uc3QgbW91c2VJc092ZXJHcmFiQXJlYSA9IHNob3dHcmFiQXJlYVxuICAgICAgICA/IHN0YXRlLm1vdXNlSXNPdmVyR3JhYkFyZWFcbiAgICAgICAgOiBmYWxzZTtcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgbW91c2VJc092ZXJHcmFiQXJlYSxcbiAgICAgICAgc2hvd0dyYWJBcmVhLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIG9uUmVzaXplckNoZXZyb25DbGljayA9ICgpID0+IHtcbiAgICBjb25zdCB0cmlnZ2VyID0gdGhpcy5wcm9wcy5mbHlvdXRJc09wZW4gPyAnY2hldnJvbkhvdmVyJyA6ICdjaGV2cm9uJztcbiAgICB0aGlzLnRvZ2dsZUNvbGxhcHNlKHRyaWdnZXIpO1xuICB9O1xuXG4gIG1vdXNlRW50ZXJHcmFiQXJlYSA9ICgpID0+IHtcbiAgICB0aGlzLnNldFN0YXRlKHsgbW91c2VJc092ZXJHcmFiQXJlYTogdHJ1ZSB9KTtcbiAgfTtcblxuICBtb3VzZUxlYXZlR3JhYkFyZWEgPSAoKSA9PiB7XG4gICAgdGhpcy5zZXRTdGF0ZSh7IG1vdXNlSXNPdmVyR3JhYkFyZWE6IGZhbHNlIH0pO1xuICB9O1xuXG4gIHRvZ2dsZUNvbGxhcHNlID0gdHJpZ2dlciA9PiB7XG4gICAgY29uc3QgeyBuYXZpZ2F0aW9uLCBjcmVhdGVBbmFseXRpY3NFdmVudCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBuZXdDb2xsYXBzZWRTdGF0ZSA9ICFuYXZpZ2F0aW9uLnN0YXRlLmlzQ29sbGFwc2VkO1xuICAgIG5hdmlnYXRpb24udG9nZ2xlQ29sbGFwc2UoKTtcbiAgICBuYXZpZ2F0aW9uRXhwYW5kZWRDb2xsYXBzZWQoY3JlYXRlQW5hbHl0aWNzRXZlbnQsIHtcbiAgICAgIHRyaWdnZXIsXG4gICAgICBpc0NvbGxhcHNlZDogbmV3Q29sbGFwc2VkU3RhdGUsXG4gICAgfSk7XG4gIH07XG5cbiAgaGFuZGxlUmVzaXplU3RhcnQgPSBldmVudCA9PiB7XG4gICAgY29uc3QgaW5pdGlhbFggPSBldmVudC5wYWdlWDtcblxuICAgIHRoaXMuc2V0U3RhdGUoeyBpbml0aWFsWCwgbW91c2VJc0Rvd246IHRydWUgfSk7XG5cbiAgICAvLyBhdHRhY2ggaGFuZGxlcnMgKGhhbmRsZVJlc2l6ZVN0YXJ0IGlzIGEgYm91bmQgdG8gb25Nb3VzZURvd24pXG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIHRoaXMuaGFuZGxlUmVzaXplKTtcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbW91c2V1cCcsIHRoaXMuaGFuZGxlUmVzaXplRW5kKTtcbiAgfTtcblxuICBpbml0aWFsaXplRHJhZyA9IGV2ZW50ID0+IHtcbiAgICBjb25zdCB7IG5hdmlnYXRpb24gfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgZGVsdGEgPSBldmVudC5wYWdlWCAtIHRoaXMuc3RhdGUuaW5pdGlhbFg7XG4gICAgY29uc3QgeyBpc0NvbGxhcHNlZCB9ID0gbmF2aWdhdGlvbi5zdGF0ZTtcblxuICAgIC8vIG9ubHkgaW5pdGlhbGl6ZSB3aGVuIGRyYWcgaW50ZW50aW9uIGlzIFwiZXhwYW5kXCJcbiAgICBpZiAoaXNDb2xsYXBzZWQgJiYgZGVsdGEgPD0gMCkge1xuICAgICAgdGhpcy5pbnZhbGlkRHJhZ0F0dGVtcHRlZCA9IHRydWU7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgbGV0IGluaXRpYWxXaWR0aCA9IG5hdmlnYXRpb24uc3RhdGUucHJvZHVjdE5hdldpZHRoO1xuICAgIGxldCBkaWREcmFnT3BlbiA9IGZhbHNlO1xuXG4gICAgLy8gTk9URVxuICAgIC8vIGlmIHRoZSBwcm9kdWN0IG5hdiBpcyBjb2xsYXBzZWQgYW5kIHRoZSBjb25zdW1lciBzdGFydHMgZHJhZ2dpbmcgaXQgb3BlblxuICAgIC8vIHdlIG11c3QgZXhwYW5kIGl0IGFuZCBkcmFnIHNob3VsZCBzdGFydCBmcm9tIDAuXG4gICAgaWYgKGlzQ29sbGFwc2VkKSB7XG4gICAgICBpbml0aWFsV2lkdGggPSBDT05URU5UX05BVl9XSURUSF9DT0xMQVBTRUQ7XG4gICAgICBkaWREcmFnT3BlbiA9IHRydWU7XG4gICAgICBuYXZpZ2F0aW9uLm1hbnVhbFJlc2l6ZVN0YXJ0KHtcbiAgICAgICAgcHJvZHVjdE5hdldpZHRoOiBDT05URU5UX05BVl9XSURUSF9DT0xMQVBTRUQsXG4gICAgICAgIGlzQ29sbGFwc2VkOiBmYWxzZSxcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBuYXZpZ2F0aW9uLm1hbnVhbFJlc2l6ZVN0YXJ0KG5hdmlnYXRpb24uc3RhdGUpO1xuICAgIH1cblxuICAgIHRoaXMuc2V0U3RhdGUoeyBkaWREcmFnT3BlbiwgaW5pdGlhbFdpZHRoLCBpc0RyYWdnaW5nOiB0cnVlIH0pO1xuICB9O1xuXG4gIGhhbmRsZVJlc2l6ZSA9IHJhZihldmVudCA9PiB7XG4gICAgY29uc3QgeyBtdXRhdGlvblJlZnMgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyBpbml0aWFsWCwgaW5pdGlhbFdpZHRoLCBpc0RyYWdnaW5nLCBtb3VzZUlzRG93biB9ID0gdGhpcy5zdGF0ZTtcblxuICAgIC8vIG9uIG9jY2FzaW9uIGEgbW91c2UgbW92ZSBldmVudCBvY2N1cnMgYmVmb3JlIHRoZSBldmVudCBsaXN0ZW5lcnNcbiAgICAvLyBoYXZlIGEgY2hhbmNlIHRvIGRldGFjaFxuICAgIGlmICghbW91c2VJc0Rvd24pIHJldHVybjtcblxuICAgIC8vIGluaXRpYWxpemUgZHJhZ2dpbmdcbiAgICBpZiAoIWlzRHJhZ2dpbmcpIHtcbiAgICAgIHRoaXMuaW5pdGlhbGl6ZURyYWcoZXZlbnQpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIGFsbG93IHRoZSBwcm9kdWN0IG5hdiB0byBiZSA3NSUgb2YgdGhlIGF2YWlsYWJsZSBwYWdlIHdpZHRoXG4gICAgY29uc3QgbWF4V2lkdGggPSBNYXRoLnJvdW5kKCh3aW5kb3cuaW5uZXJXaWR0aCAvIDQpICogMyk7XG4gICAgY29uc3QgbWluV2lkdGggPSBDT05URU5UX05BVl9XSURUSF9DT0xMQVBTRUQ7XG4gICAgY29uc3QgYWRqdXN0ZWRNYXggPSBtYXhXaWR0aCAtIGluaXRpYWxXaWR0aCAtIEdMT0JBTF9OQVZfV0lEVEg7XG4gICAgY29uc3QgYWRqdXN0ZWRNaW4gPSBtaW5XaWR0aCAtIGluaXRpYWxXaWR0aDtcblxuICAgIGNvbnN0IGRlbHRhID0gTWF0aC5tYXgoXG4gICAgICBNYXRoLm1pbihldmVudC5wYWdlWCAtIGluaXRpYWxYLCBhZGp1c3RlZE1heCksXG4gICAgICBhZGp1c3RlZE1pbixcbiAgICApO1xuICAgIGNvbnN0IHdpZHRoID0gaW5pdGlhbFdpZHRoICsgZGVsdGE7XG5cbiAgICAvLyBhcHBseSB1cGRhdGVkIHN0eWxlcyB0byB0aGUgYXBwbGljYWJsZSBET00gbm9kZXNcbiAgICB1cGRhdGVSZXNpemVBcmVhUG9zaXRpb24obXV0YXRpb25SZWZzLCB3aWR0aCk7XG5cbiAgICAvLyBOT1RFOiBoaWphY2sgdGhlIG1hdWFsIHJlc2l6ZSBhbmQgZm9yY2UgY29sbGFwc2UsIGNhbmNlbHMgbW91c2UgZXZlbnRzXG4gICAgaWYgKGV2ZW50LmNsaWVudFggPCAwKSB7XG4gICAgICB0aGlzLnNldFN0YXRlKHsgd2lkdGg6IENPTlRFTlRfTkFWX1dJRFRIX0NPTExBUFNFRCB9KTtcbiAgICAgIHRoaXMuaGFuZGxlUmVzaXplRW5kKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIG1haW50YWluIGludGVybmFsIHdpZHRoLCBhcHBsaWVkIHRvIG5hdmlnYXRpb24gc3RhdGUgb24gcmVzaXplIGVuZFxuICAgICAgdGhpcy5zZXRTdGF0ZSh7IGRlbHRhLCB3aWR0aCB9KTtcbiAgICB9XG4gIH0pO1xuXG4gIGhhbmRsZVJlc2l6ZUVuZCA9ICgpID0+IHtcbiAgICBjb25zdCB7IG5hdmlnYXRpb24sIGNyZWF0ZUFuYWx5dGljc0V2ZW50IH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IHsgZGVsdGEsIGRpZERyYWdPcGVuLCBpc0RyYWdnaW5nLCB3aWR0aDogY3VycmVudFdpZHRoIH0gPSB0aGlzLnN0YXRlO1xuICAgIGNvbnN0IGV4cGFuZFRocmVzaG9sZCA9IDI0O1xuICAgIGNvbnN0IHJlc2l6ZXJDbGlja2VkID0gIWlzRHJhZ2dpbmcgJiYgIXRoaXMuaW52YWxpZERyYWdBdHRlbXB0ZWQ7XG4gICAgbGV0IHB1Ymxpc2hXaWR0aCA9IGN1cnJlbnRXaWR0aDtcbiAgICBsZXQgc2hvdWxkQ29sbGFwc2UgPSBmYWxzZTtcblxuICAgIC8vIGNoZWNrIGlmIHRoZSBpbnRlbnRpb24gd2FzIGp1c3QgYSBjbGljaywgYW5kIHRvZ2dsZVxuICAgIGlmIChyZXNpemVyQ2xpY2tlZCkge1xuICAgICAgcHVibGlzaFdpZHRoID0gTWF0aC5tYXgoQ09OVEVOVF9OQVZfV0lEVEgsIGN1cnJlbnRXaWR0aCk7XG4gICAgICB0aGlzLnRvZ2dsZUNvbGxhcHNlKCdyZXNpemVyQ2xpY2snKTtcbiAgICB9XG5cbiAgICAvLyBwcmV2ZW50IHRoZSB1c2VyIGZyb20gY3JlYXRpbmcgYW4gdW51c2FibGUgd2lkdGhcbiAgICBpZiAocHVibGlzaFdpZHRoIDwgQ09OVEVOVF9OQVZfV0lEVEgpIHtcbiAgICAgIHB1Ymxpc2hXaWR0aCA9IENPTlRFTlRfTkFWX1dJRFRIO1xuICAgICAgaWYgKGRpZERyYWdPcGVuICYmIGRlbHRhID4gZXhwYW5kVGhyZXNob2xkKSB7XG4gICAgICAgIHNob3VsZENvbGxhcHNlID0gZmFsc2U7XG4gICAgICB9IGVsc2UgaWYgKGN1cnJlbnRXaWR0aCA8IEdMT0JBTF9OQVZfQ09MTEFQU0VfVEhSRVNIT0xEKSB7XG4gICAgICAgIHNob3VsZENvbGxhcHNlID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgc2hvdWxkQ29sbGFwc2UgPSBuYXZpZ2F0aW9uLnN0YXRlLmlzQ29sbGFwc2VkO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgICFyZXNpemVyQ2xpY2tlZCAmJlxuICAgICAgKChkaWREcmFnT3BlbiAmJiAhc2hvdWxkQ29sbGFwc2UpIHx8ICghZGlkRHJhZ09wZW4gJiYgc2hvdWxkQ29sbGFwc2UpKVxuICAgICkge1xuICAgICAgbmF2aWdhdGlvbkV4cGFuZGVkQ29sbGFwc2VkKGNyZWF0ZUFuYWx5dGljc0V2ZW50LCB7XG4gICAgICAgIHRyaWdnZXI6ICdyZXNpemVyRHJhZycsXG4gICAgICAgIGlzQ29sbGFwc2VkOiBzaG91bGRDb2xsYXBzZSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIHJlc2V0IGV2ZXJ5dGhpbmdcbiAgICB0aGlzLmludmFsaWREcmFnQXR0ZW1wdGVkID0gZmFsc2U7XG4gICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICBkaWREcmFnT3BlbjogZmFsc2UsXG4gICAgICBpc0RyYWdnaW5nOiBmYWxzZSxcbiAgICAgIG1vdXNlSXNEb3duOiBmYWxzZSxcbiAgICAgIHdpZHRoOiBwdWJsaXNoV2lkdGgsXG4gICAgfSk7XG5cbiAgICAvLyBwdWJsaXNoIHRoZSBuZXcgd2lkdGgsIG9uY2UgcmVzaXppbmcgY29tcGxldGVzXG4gICAgbmF2aWdhdGlvbi5tYW51YWxSZXNpemVFbmQoe1xuICAgICAgcHJvZHVjdE5hdldpZHRoOiBwdWJsaXNoV2lkdGgsXG4gICAgICBpc0NvbGxhcHNlZDogc2hvdWxkQ29sbGFwc2UsXG4gICAgfSk7XG5cbiAgICBpZiAoc2hvdWxkUmVzZXRHcmFiQXJlYShjdXJyZW50V2lkdGgpKSB7XG4gICAgICB1cGRhdGVSZXNpemVBcmVhUG9zaXRpb24odGhpcy5wcm9wcy5tdXRhdGlvblJlZnMsIENPTlRFTlRfTkFWX1dJRFRIKTtcbiAgICB9XG5cbiAgICAvLyBjbGVhbnVwXG4gICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIHRoaXMuaGFuZGxlUmVzaXplKTtcbiAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2V1cCcsIHRoaXMuaGFuZGxlUmVzaXplRW5kKTtcbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgaXNEcmFnZ2luZyxcbiAgICAgIG1vdXNlSXNEb3duLFxuICAgICAgbW91c2VJc092ZXJHcmFiQXJlYSxcbiAgICAgIHNob3dHcmFiQXJlYSxcbiAgICB9ID0gdGhpcy5zdGF0ZTtcbiAgICBjb25zdCB7XG4gICAgICBjb2xsYXBzZVRvZ2dsZVRvb2x0aXBDb250ZW50LFxuICAgICAgZXhwYW5kQ29sbGFwc2VBZmZvcmRhbmNlUmVmLFxuICAgICAgZmx5b3V0SXNPcGVuLFxuICAgICAgaXNEaXNhYmxlZDogaXNSZXNpemVEaXNhYmxlZCxcbiAgICAgIGlzR3JhYkFyZWFEaXNhYmxlZCxcbiAgICAgIG9uTW91c2VPdmVyQnV0dG9uQnVmZmVyLFxuICAgICAgbmF2aWdhdGlvbixcbiAgICB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IGlzQ29sbGFwc2VkIH0gPSBuYXZpZ2F0aW9uLnN0YXRlO1xuXG4gICAgLy8gdGhlIGJ1dHRvbiBzaG91bGRuJ3QgXCJmbGlwXCIgdW50aWwgdGhlIGRyYWcgaXMgY29tcGxldGVcbiAgICBsZXQgQnV0dG9uSWNvbiA9IENoZXZyb25MZWZ0O1xuICAgIGlmIChpc0NvbGxhcHNlZCkgQnV0dG9uSWNvbiA9IENoZXZyb25SaWdodDtcblxuICAgIGNvbnN0IGJ1dHRvbiA9IChcbiAgICAgIDxCdXR0b25cbiAgICAgICAgb25DbGljaz17dGhpcy5vblJlc2l6ZXJDaGV2cm9uQ2xpY2t9XG4gICAgICAgIG9uTW91c2VEb3duPXtwcmV2ZW50RGVmYXVsdH1cbiAgICAgICAgaGl0QXJlYVNpemU9e29uTW91c2VPdmVyQnV0dG9uQnVmZmVyID8gJ2xhcmdlJyA6ICdzbWFsbCd9XG4gICAgICAgIC8vIG1haW50YWluIHN0eWxlcyB3aGVuIHVzZXIgaXMgZHJhZ2dpbmdcbiAgICAgICAgaXNWaXNpYmxlPXtpc0NvbGxhcHNlZCB8fCBtb3VzZUlzRG93bn1cbiAgICAgICAgaGFzSGlnaGxpZ2h0PXttb3VzZUlzRG93biB8fCBtb3VzZUlzT3ZlckdyYWJBcmVhfVxuICAgICAgICBpbm5lclJlZj17ZXhwYW5kQ29sbGFwc2VBZmZvcmRhbmNlUmVmfVxuICAgICAgICBhcmlhLWV4cGFuZGVkPXshaXNDb2xsYXBzZWR9XG4gICAgICAgIGFyaWEtbGFiZWw9XCJUb2dnbGUgbmF2aWdhdGlvblwiXG4gICAgICA+XG4gICAgICAgIDxCdXR0b25JY29uIC8+XG4gICAgICA8L0J1dHRvbj5cbiAgICApO1xuICAgIGNvbnN0IHNoYWRvd0RpcmVjdGlvbiA9IGZseW91dElzT3BlbiA/ICd0byByaWdodCcgOiAndG8gbGVmdCc7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPE91dGVyPlxuICAgICAgICB7aXNEcmFnZ2luZyAmJiA8Qm9keURyYWdDdXJzb3IgLz59XG4gICAgICAgIDxTaGFkb3cgZGlyZWN0aW9uPXtzaGFkb3dEaXJlY3Rpb259IGlzQm9sZD17bW91c2VJc0Rvd259IC8+XG4gICAgICAgIHshaXNSZXNpemVEaXNhYmxlZCAmJiAoXG4gICAgICAgICAgPEZyYWdtZW50PlxuICAgICAgICAgICAgeyFpc0dyYWJBcmVhRGlzYWJsZWQgJiYgc2hvd0dyYWJBcmVhICYmIChcbiAgICAgICAgICAgICAgPEdyYWJBcmVhXG4gICAgICAgICAgICAgICAgaXNCb2xkPXttb3VzZUlzRG93bn1cbiAgICAgICAgICAgICAgICBzaG93SGFuZGxlPXttb3VzZUlzRG93biB8fCBtb3VzZUlzT3ZlckdyYWJBcmVhfVxuICAgICAgICAgICAgICAgIG9uTW91c2VFbnRlcj17dGhpcy5tb3VzZUVudGVyR3JhYkFyZWF9XG4gICAgICAgICAgICAgICAgb25Nb3VzZUxlYXZlPXt0aGlzLm1vdXNlTGVhdmVHcmFiQXJlYX1cbiAgICAgICAgICAgICAgICBvbk1vdXNlRG93bj17dGhpcy5oYW5kbGVSZXNpemVTdGFydH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8ZGl2IG9uTW91c2VPdmVyPXshZmx5b3V0SXNPcGVuID8gb25Nb3VzZU92ZXJCdXR0b25CdWZmZXIgOiBudWxsfT5cbiAgICAgICAgICAgICAge2NvbGxhcHNlVG9nZ2xlVG9vbHRpcENvbnRlbnQgPyAoXG4gICAgICAgICAgICAgICAgPFRvb2x0aXBcbiAgICAgICAgICAgICAgICAgIGNvbnRlbnQ9e21ha2VUb29sdGlwTm9kZShcbiAgICAgICAgICAgICAgICAgICAgY29sbGFwc2VUb2dnbGVUb29sdGlwQ29udGVudChpc0NvbGxhcHNlZCksXG4gICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgZGVsYXk9ezYwMH1cbiAgICAgICAgICAgICAgICAgIGhpZGVUb29sdGlwT25DbGlja1xuICAgICAgICAgICAgICAgICAgcG9zaXRpb249XCJyaWdodFwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge2J1dHRvbn1cbiAgICAgICAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgYnV0dG9uXG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L0ZyYWdtZW50PlxuICAgICAgICApfVxuICAgICAgPC9PdXRlcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCB7IFJlc2l6ZUNvbnRyb2wgYXMgUmVzaXplQ29udHJvbEJhc2UgfTtcblxuZXhwb3J0IGRlZmF1bHQgd2l0aEFuYWx5dGljc0V2ZW50cygpKFJlc2l6ZUNvbnRyb2wpO1xuIl19 */\"\n};\n\nfunction makeTooltipNode(_ref4) {\n var text = _ref4.text,\n char = _ref4.char;\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_11__[\"jsx\"])(\"div\", {\n css: _ref5\n }, Object(_emotion_core__WEBPACK_IMPORTED_MODULE_11__[\"jsx\"])(\"span\", null, text), Object(_emotion_core__WEBPACK_IMPORTED_MODULE_11__[\"jsx\"])(\"div\", {\n css:\n /*#__PURE__*/\n Object(_emotion_css__WEBPACK_IMPORTED_MODULE_10__[\"default\"])({\n backgroundColor: _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_17__[\"N400\"],\n borderRadius: 2,\n lineHeight: 1.2,\n marginLeft: 4,\n padding: '1px 8px'\n }, false ? undefined : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL0xheW91dE1hbmFnZXIvUmVzaXplQ29udHJvbC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFxTFEiLCJmaWxlIjoiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvcHJlc2VudGF0aW9uYWwvTGF5b3V0TWFuYWdlci9SZXNpemVDb250cm9sLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IEZyYWdtZW50LCBQdXJlQ29tcG9uZW50IH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgeyBHbG9iYWwgfSBmcm9tICdAZW1vdGlvbi9jb3JlJztcbmltcG9ydCByYWYgZnJvbSAncmFmLXNjaGQnO1xuXG5pbXBvcnQgeyB3aXRoQW5hbHl0aWNzRXZlbnRzIH0gZnJvbSAnQGF0bGFza2l0L2FuYWx5dGljcy1uZXh0JztcbmltcG9ydCBDaGV2cm9uTGVmdCBmcm9tICdAYXRsYXNraXQvaWNvbi9nbHlwaC9jaGV2cm9uLWxlZnQnO1xuaW1wb3J0IENoZXZyb25SaWdodCBmcm9tICdAYXRsYXNraXQvaWNvbi9nbHlwaC9jaGV2cm9uLXJpZ2h0JztcbmltcG9ydCAqIGFzIGNvbG9ycyBmcm9tICdAYXRsYXNraXQvdGhlbWUvY29sb3JzJztcbmltcG9ydCBUb29sdGlwIGZyb20gJ0BhdGxhc2tpdC90b29sdGlwJztcblxuaW1wb3J0IHsgbmF2aWdhdGlvbkV4cGFuZGVkQ29sbGFwc2VkIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2FuYWx5dGljcyc7XG5pbXBvcnQge1xuICBDT05URU5UX05BVl9XSURUSCxcbiAgQ09OVEVOVF9OQVZfV0lEVEhfQ09MTEFQU0VELFxuICBHTE9CQUxfTkFWX0NPTExBUFNFX1RIUkVTSE9MRCxcbiAgR0xPQkFMX05BVl9XSURUSCxcbn0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBTaGFkb3cgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vcHJpbWl0aXZlcyc7XG5cbmNvbnN0IEhBTkRMRV9PRkZTRVQgPSA0O1xuY29uc3QgSU5ORVJfV0lEVEggPSAyMDtcbmNvbnN0IE9VVEVSX1dJRFRIID0gSU5ORVJfV0lEVEggKyBIQU5ETEVfT0ZGU0VUO1xuY29uc3QgSEFORExFX1dJRFRIID0gMjtcbmNvbnN0IHNob3VsZFJlc2V0R3JhYkFyZWEgPSB3aWR0aCA9PiB7XG4gIHJldHVybiB3aWR0aCA+PSBHTE9CQUxfTkFWX0NPTExBUFNFX1RIUkVTSE9MRCAmJiB3aWR0aCA8IENPTlRFTlRfTkFWX1dJRFRIO1xufTtcbmNvbnN0IHByZXZlbnREZWZhdWx0ID0gZXZlbnQgPT4gZXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuZXhwb3J0IGNvbnN0IEJvZHlEcmFnQ3Vyc29yID0gKCkgPT4gKFxuICA8R2xvYmFsXG4gICAgc3R5bGVzPXt7XG4gICAgICBib2R5OiB7XG4gICAgICAgIGN1cnNvcjogJ2V3LXJlc2l6ZScsXG4gICAgICB9LFxuICAgIH19XG4gIC8+XG4pO1xuXG5jb25zdCBPdXRlciA9IHByb3BzID0+IChcbiAgPGRpdlxuICAgIGNzcz17e1xuICAgICAgYm90dG9tOiAwLFxuICAgICAgbGVmdDogJzEwMCUnLFxuICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICB0b3A6IDAsXG4gICAgICB0cmFuc2Zvcm06ICd0cmFuc2xhdGVaKDApJyxcbiAgICAgIHdpZHRoOiBPVVRFUl9XSURUSCxcbiAgICAgIHpJbmRleDogMywgLy8gaGlnaGVyIHRoYW4gdGhlIHNjcm9sbCBoaW50IGxpbmVzXG4gICAgfX1cbiAgICB7Li4ucHJvcHN9XG4gIC8+XG4pO1xuXG5leHBvcnQgY29uc3QgR3JhYkFyZWEgPSAoeyBzaG93SGFuZGxlLCBpc0JvbGQsIC4uLnByb3BzIH0pID0+IChcbiAgPGRpdlxuICAgIGNzcz17e1xuICAgICAgY3Vyc29yOiAnZXctcmVzaXplJyxcbiAgICAgIGhlaWdodDogJzEwMCUnLFxuICAgICAgbGVmdDogLUhBTkRMRV9PRkZTRVQsXG4gICAgICBwb3NpdGlvbjogJ3JlbGF0aXZlJyxcbiAgICAgIHdpZHRoOiBPVVRFUl9XSURUSCxcbiAgICB9fVxuICAgIHsuLi5wcm9wc31cbiAgPlxuICAgIDxkaXZcbiAgICAgIGNzcz17e1xuICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IGlzQm9sZCA/IGNvbG9ycy5CMjAwIDogY29sb3JzLkIxMDAsXG4gICAgICAgIG9wYWNpdHk6IHNob3dIYW5kbGUgPyAxIDogMCxcbiAgICAgICAgaGVpZ2h0OiAnMTAwJScsXG4gICAgICAgIGxlZnQ6IEhBTkRMRV9PRkZTRVQgLSBIQU5ETEVfV0lEVEggLyAyLCAvLyB0aGUgaGFuZGxlIHNob3VsZCBcInN0cmFkZGxlXCIgdGhlIGRpdmlkaW5nIGxpbmVcbiAgICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICAgIHRyYW5zaXRpb246ICdvcGFjaXR5IDIwMG1zJyxcbiAgICAgICAgd2lkdGg6IEhBTkRMRV9XSURUSCxcbiAgICAgIH19XG4gICAgLz5cbiAgPC9kaXY+XG4pO1xuY29uc3QgbGFyZ2VIaXRBcmVhID0ge1xuICBsZWZ0OiAtOCxcbiAgcmlnaHQ6IC0xMixcbiAgYm90dG9tOiAtOCxcbiAgdG9wOiAtOCxcbn07XG5jb25zdCBzbWFsbEhpdEFyZWEgPSB7XG4gIGxlZnQ6IC00LFxuICByaWdodDogLTQsXG4gIGJvdHRvbTogLTQsXG4gIHRvcDogLTQsXG59O1xuXG5jb25zdCBCdXR0b24gPSAoe1xuICBjaGlsZHJlbixcbiAgaGFzSGlnaGxpZ2h0LFxuICBpbm5lclJlZixcbiAgaXNWaXNpYmxlLFxuICBoaXRBcmVhU2l6ZSxcbiAgLi4ucHJvcHNcbn0pID0+IChcbiAgPGJ1dHRvblxuICAgIGNsYXNzTmFtZT1cImFrLW5hdmlnYXRpb24tcmVzaXplLWJ1dHRvblwiXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgcmVmPXtpbm5lclJlZn1cbiAgICBjc3M9e3tcbiAgICAgIGJhY2tncm91bmQ6IDAsXG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6ICd3aGl0ZScsXG4gICAgICBib3JkZXI6IDAsXG4gICAgICBib3JkZXJSYWRpdXM6ICc1MCUnLFxuICAgICAgYm94U2hhZG93OiBgMCAwIDAgMXB4ICR7Y29sb3JzLk4zMEF9LCAwIDJweCA0cHggMXB4ICR7Y29sb3JzLk4zMEF9YCxcbiAgICAgIGNvbG9yOiBoYXNIaWdobGlnaHQgPyBjb2xvcnMuQjEwMCA6IGNvbG9ycy5OMjAwLFxuICAgICAgY3Vyc29yOiAncG9pbnRlcicsXG4gICAgICBoZWlnaHQ6IDI0LFxuICAgICAgb3BhY2l0eTogaXNWaXNpYmxlID8gMSA6IDAsXG4gICAgICBvdXRsaW5lOiAwLFxuICAgICAgcGFkZGluZzogMCxcbiAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgICAgdG9wOiAzMixcbiAgICAgIHRyYW5zaXRpb246IGBcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvciAxMDBtcyBsaW5lYXIsXG4gICAgICAgIGNvbG9yIDEwMG1zIGxpbmVhcixcbiAgICAgICAgb3BhY2l0eSAzMDBtcyBjdWJpYy1iZXppZXIoMC4yLCAwLCAwLCAxKSxcbiAgICAgICAgdHJhbnNmb3JtIDMwMG1zIGN1YmljLWJlemllcigwLjIsIDAsIDAsIDEpXG4gICAgICBgLFxuICAgICAgdHJhbnNmb3JtOiBgdHJhbnNsYXRlKC01MCUpYCxcbiAgICAgIHdpZHRoOiAyNCxcblxuICAgICAgJzpob3Zlcic6IHtcbiAgICAgICAgYmFja2dyb3VuZENvbG9yOiBjb2xvcnMuQjEwMCxcbiAgICAgICAgY29sb3I6ICd3aGl0ZScsXG4gICAgICB9LFxuICAgICAgJzphY3RpdmUnOiB7XG4gICAgICAgIGJhY2tncm91bmRDb2xvcjogY29sb3JzLkIyMDAsXG4gICAgICAgIGNvbG9yOiAnd2hpdGUnLFxuICAgICAgfSxcbiAgICAgICc6Zm9jdXMnOiB7XG4gICAgICAgIG9wYWNpdHk6IDEsXG4gICAgICAgIGJhY2tncm91bmRDb2xvcjogY29sb3JzLkIyMDAsXG4gICAgICAgIGNvbG9yOiAnd2hpdGUnLFxuICAgICAgfSxcbiAgICB9fVxuICAgIHsuLi5wcm9wc31cbiAgPlxuICAgIDxkaXZcbiAgICAgIC8vIGluY3JlYXNlIGhpdC1hcmVhXG4gICAgICBjc3M9e3tcbiAgICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICAgIC4uLihoaXRBcmVhU2l6ZSA9PT0gJ3NtYWxsJyA/IHNtYWxsSGl0QXJlYSA6IGxhcmdlSGl0QXJlYSksXG4gICAgICB9fVxuICAgIC8+XG4gICAge2NoaWxkcmVufVxuICA8L2J1dHRvbj5cbik7XG5cbi8vIHRpbmtlciB3aXRoIHRoZSBET00gZGlyZWN0bHkgYnkgc2V0dGluZyBzdHlsZSBwcm9wZXJ0aWVzLCB1cGRhdGVzIHRoZSBncmFiIGJhciBwb3NpdGlvbiBieSBjaGFuZ2luZyBwYWRkaW5nLWxlZnQgYW5kIHdpZHRoLlxuZnVuY3Rpb24gdXBkYXRlUmVzaXplQXJlYVBvc2l0aW9uKGVsZW1lbnRzLCB3aWR0aCkge1xuICBlbGVtZW50cy5mb3JFYWNoKCh7IHByb3BlcnR5LCByZWYgfSkgPT4ge1xuICAgIGNvbnN0IG5ld1ZhbHVlID0gYCR7d2lkdGh9cHhgO1xuICAgIGNvbnN0IG9sZFZhbHVlID0gcmVmLnN0eWxlLmdldFByb3BlcnR5VmFsdWUocHJvcGVydHkpO1xuXG4gICAgLy8gYXZvaWQgdGhyYXNoaW5nXG4gICAgaWYgKG9sZFZhbHVlID09PSBuZXdWYWx1ZSkgcmV0dXJuO1xuXG4gICAgLy8gZGlyZWN0IGF0dHJpYnV0ZSBtYW5pcHVsYXRpb25cbiAgICByZWYuc3R5bGUuc2V0UHJvcGVydHkocHJvcGVydHksIG5ld1ZhbHVlKTtcbiAgfSk7XG59XG5cbi8vIGhlbHBlciBmb3IgdG9vbHRpcCBjb250ZW50IGtleWJvYXJkIHNob3J0Y3V0IGhpZ2hsaWdodFxuZnVuY3Rpb24gbWFrZVRvb2x0aXBOb2RlKHsgdGV4dCwgY2hhciB9KSB7XG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgY3NzPXt7XG4gICAgICAgIGFsaWduSXRlbXM6ICdiYXNlbGluZScsXG4gICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgbGluZUhlaWdodDogMS4zLFxuICAgICAgICBwYWRkaW5nQm90dG9tOiAxLFxuICAgICAgICBwYWRkaW5nVG9wOiAxLFxuICAgICAgfX1cbiAgICA+XG4gICAgICA8c3Bhbj57dGV4dH08L3NwYW4+XG4gICAgICA8ZGl2XG4gICAgICAgIGNzcz17e1xuICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogY29sb3JzLk40MDAsXG4gICAgICAgICAgYm9yZGVyUmFkaXVzOiAyLFxuICAgICAgICAgIGxpbmVIZWlnaHQ6IDEuMixcbiAgICAgICAgICBtYXJnaW5MZWZ0OiA0LFxuICAgICAgICAgIHBhZGRpbmc6ICcxcHggOHB4JyxcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAge2NoYXJ9XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn1cblxuLyogTk9URTogZXhwZXJpbWVudGFsIHByb3BzIHVzZSBhbiB1bmRlcnNjb3JlICovXG5jbGFzcyBSZXNpemVDb250cm9sIGV4dGVuZHMgUHVyZUNvbXBvbmVudCB7XG4gIGludmFsaWREcmFnQXR0ZW1wdGVkID0gZmFsc2U7XG5cbiAgbGFzdFdpZHRoO1xuXG4gIHdyYXBwZXI7XG5cbiAgc3RhdGUgPSB7XG4gICAgZGVsdGE6IDAsXG4gICAgZGlkRHJhZ09wZW46IGZhbHNlLFxuICAgIGlzRHJhZ2dpbmc6IGZhbHNlLFxuICAgIGluaXRpYWxXaWR0aDogMCxcbiAgICBpbml0aWFsWDogMCxcbiAgICBtb3VzZUlzRG93bjogZmFsc2UsXG4gICAgbW91c2VJc092ZXJHcmFiQXJlYTogZmFsc2UsXG4gICAgc2hvd0dyYWJBcmVhOiB0cnVlLFxuICAgIHdpZHRoOiB0aGlzLnByb3BzLm5hdmlnYXRpb24uc3RhdGUucHJvZHVjdE5hdldpZHRoLFxuICB9O1xuXG4gIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XG4gICAgaXNHcmFiQXJlYURpc2FibGVkOiBmYWxzZSxcbiAgfTtcblxuICBzdGF0aWMgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzKHByb3BzLCBzdGF0ZSkge1xuICAgIGNvbnN0IHtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBjYW1lbGNhc2VcbiAgICAgIGV4cGVyaW1lbnRhbF9mbHlvdXRPbkhvdmVyOiBFWFBFUklNRU5UQUxfRkxZT1VUX09OX0hPVkVSLFxuICAgICAgZmx5b3V0SXNPcGVuLFxuICAgICAgbmF2aWdhdGlvbixcbiAgICB9ID0gcHJvcHM7XG4gICAgY29uc3QgeyBpc0NvbGxhcHNlZCB9ID0gbmF2aWdhdGlvbi5zdGF0ZTtcblxuICAgIC8vIHJlc29sdmUgXCJob3ZlciBsb2NraW5nXCIgaXNzdWUgd2l0aCByZXNpemUgZ3JhYiBhcmVhXG4gICAgaWYgKEVYUEVSSU1FTlRBTF9GTFlPVVRfT05fSE9WRVIpIHtcbiAgICAgIGNvbnN0IHNob3dHcmFiQXJlYSA9ICFpc0NvbGxhcHNlZCAmJiAhZmx5b3V0SXNPcGVuO1xuICAgICAgY29uc3QgbW91c2VJc092ZXJHcmFiQXJlYSA9IHNob3dHcmFiQXJlYVxuICAgICAgICA/IHN0YXRlLm1vdXNlSXNPdmVyR3JhYkFyZWFcbiAgICAgICAgOiBmYWxzZTtcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgbW91c2VJc092ZXJHcmFiQXJlYSxcbiAgICAgICAgc2hvd0dyYWJBcmVhLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIG9uUmVzaXplckNoZXZyb25DbGljayA9ICgpID0+IHtcbiAgICBjb25zdCB0cmlnZ2VyID0gdGhpcy5wcm9wcy5mbHlvdXRJc09wZW4gPyAnY2hldnJvbkhvdmVyJyA6ICdjaGV2cm9uJztcbiAgICB0aGlzLnRvZ2dsZUNvbGxhcHNlKHRyaWdnZXIpO1xuICB9O1xuXG4gIG1vdXNlRW50ZXJHcmFiQXJlYSA9ICgpID0+IHtcbiAgICB0aGlzLnNldFN0YXRlKHsgbW91c2VJc092ZXJHcmFiQXJlYTogdHJ1ZSB9KTtcbiAgfTtcblxuICBtb3VzZUxlYXZlR3JhYkFyZWEgPSAoKSA9PiB7XG4gICAgdGhpcy5zZXRTdGF0ZSh7IG1vdXNlSXNPdmVyR3JhYkFyZWE6IGZhbHNlIH0pO1xuICB9O1xuXG4gIHRvZ2dsZUNvbGxhcHNlID0gdHJpZ2dlciA9PiB7XG4gICAgY29uc3QgeyBuYXZpZ2F0aW9uLCBjcmVhdGVBbmFseXRpY3NFdmVudCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBuZXdDb2xsYXBzZWRTdGF0ZSA9ICFuYXZpZ2F0aW9uLnN0YXRlLmlzQ29sbGFwc2VkO1xuICAgIG5hdmlnYXRpb24udG9nZ2xlQ29sbGFwc2UoKTtcbiAgICBuYXZpZ2F0aW9uRXhwYW5kZWRDb2xsYXBzZWQoY3JlYXRlQW5hbHl0aWNzRXZlbnQsIHtcbiAgICAgIHRyaWdnZXIsXG4gICAgICBpc0NvbGxhcHNlZDogbmV3Q29sbGFwc2VkU3RhdGUsXG4gICAgfSk7XG4gIH07XG5cbiAgaGFuZGxlUmVzaXplU3RhcnQgPSBldmVudCA9PiB7XG4gICAgY29uc3QgaW5pdGlhbFggPSBldmVudC5wYWdlWDtcblxuICAgIHRoaXMuc2V0U3RhdGUoeyBpbml0aWFsWCwgbW91c2VJc0Rvd246IHRydWUgfSk7XG5cbiAgICAvLyBhdHRhY2ggaGFuZGxlcnMgKGhhbmRsZVJlc2l6ZVN0YXJ0IGlzIGEgYm91bmQgdG8gb25Nb3VzZURvd24pXG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIHRoaXMuaGFuZGxlUmVzaXplKTtcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbW91c2V1cCcsIHRoaXMuaGFuZGxlUmVzaXplRW5kKTtcbiAgfTtcblxuICBpbml0aWFsaXplRHJhZyA9IGV2ZW50ID0+IHtcbiAgICBjb25zdCB7IG5hdmlnYXRpb24gfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgZGVsdGEgPSBldmVudC5wYWdlWCAtIHRoaXMuc3RhdGUuaW5pdGlhbFg7XG4gICAgY29uc3QgeyBpc0NvbGxhcHNlZCB9ID0gbmF2aWdhdGlvbi5zdGF0ZTtcblxuICAgIC8vIG9ubHkgaW5pdGlhbGl6ZSB3aGVuIGRyYWcgaW50ZW50aW9uIGlzIFwiZXhwYW5kXCJcbiAgICBpZiAoaXNDb2xsYXBzZWQgJiYgZGVsdGEgPD0gMCkge1xuICAgICAgdGhpcy5pbnZhbGlkRHJhZ0F0dGVtcHRlZCA9IHRydWU7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgbGV0IGluaXRpYWxXaWR0aCA9IG5hdmlnYXRpb24uc3RhdGUucHJvZHVjdE5hdldpZHRoO1xuICAgIGxldCBkaWREcmFnT3BlbiA9IGZhbHNlO1xuXG4gICAgLy8gTk9URVxuICAgIC8vIGlmIHRoZSBwcm9kdWN0IG5hdiBpcyBjb2xsYXBzZWQgYW5kIHRoZSBjb25zdW1lciBzdGFydHMgZHJhZ2dpbmcgaXQgb3BlblxuICAgIC8vIHdlIG11c3QgZXhwYW5kIGl0IGFuZCBkcmFnIHNob3VsZCBzdGFydCBmcm9tIDAuXG4gICAgaWYgKGlzQ29sbGFwc2VkKSB7XG4gICAgICBpbml0aWFsV2lkdGggPSBDT05URU5UX05BVl9XSURUSF9DT0xMQVBTRUQ7XG4gICAgICBkaWREcmFnT3BlbiA9IHRydWU7XG4gICAgICBuYXZpZ2F0aW9uLm1hbnVhbFJlc2l6ZVN0YXJ0KHtcbiAgICAgICAgcHJvZHVjdE5hdldpZHRoOiBDT05URU5UX05BVl9XSURUSF9DT0xMQVBTRUQsXG4gICAgICAgIGlzQ29sbGFwc2VkOiBmYWxzZSxcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBuYXZpZ2F0aW9uLm1hbnVhbFJlc2l6ZVN0YXJ0KG5hdmlnYXRpb24uc3RhdGUpO1xuICAgIH1cblxuICAgIHRoaXMuc2V0U3RhdGUoeyBkaWREcmFnT3BlbiwgaW5pdGlhbFdpZHRoLCBpc0RyYWdnaW5nOiB0cnVlIH0pO1xuICB9O1xuXG4gIGhhbmRsZVJlc2l6ZSA9IHJhZihldmVudCA9PiB7XG4gICAgY29uc3QgeyBtdXRhdGlvblJlZnMgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyBpbml0aWFsWCwgaW5pdGlhbFdpZHRoLCBpc0RyYWdnaW5nLCBtb3VzZUlzRG93biB9ID0gdGhpcy5zdGF0ZTtcblxuICAgIC8vIG9uIG9jY2FzaW9uIGEgbW91c2UgbW92ZSBldmVudCBvY2N1cnMgYmVmb3JlIHRoZSBldmVudCBsaXN0ZW5lcnNcbiAgICAvLyBoYXZlIGEgY2hhbmNlIHRvIGRldGFjaFxuICAgIGlmICghbW91c2VJc0Rvd24pIHJldHVybjtcblxuICAgIC8vIGluaXRpYWxpemUgZHJhZ2dpbmdcbiAgICBpZiAoIWlzRHJhZ2dpbmcpIHtcbiAgICAgIHRoaXMuaW5pdGlhbGl6ZURyYWcoZXZlbnQpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIGFsbG93IHRoZSBwcm9kdWN0IG5hdiB0byBiZSA3NSUgb2YgdGhlIGF2YWlsYWJsZSBwYWdlIHdpZHRoXG4gICAgY29uc3QgbWF4V2lkdGggPSBNYXRoLnJvdW5kKCh3aW5kb3cuaW5uZXJXaWR0aCAvIDQpICogMyk7XG4gICAgY29uc3QgbWluV2lkdGggPSBDT05URU5UX05BVl9XSURUSF9DT0xMQVBTRUQ7XG4gICAgY29uc3QgYWRqdXN0ZWRNYXggPSBtYXhXaWR0aCAtIGluaXRpYWxXaWR0aCAtIEdMT0JBTF9OQVZfV0lEVEg7XG4gICAgY29uc3QgYWRqdXN0ZWRNaW4gPSBtaW5XaWR0aCAtIGluaXRpYWxXaWR0aDtcblxuICAgIGNvbnN0IGRlbHRhID0gTWF0aC5tYXgoXG4gICAgICBNYXRoLm1pbihldmVudC5wYWdlWCAtIGluaXRpYWxYLCBhZGp1c3RlZE1heCksXG4gICAgICBhZGp1c3RlZE1pbixcbiAgICApO1xuICAgIGNvbnN0IHdpZHRoID0gaW5pdGlhbFdpZHRoICsgZGVsdGE7XG5cbiAgICAvLyBhcHBseSB1cGRhdGVkIHN0eWxlcyB0byB0aGUgYXBwbGljYWJsZSBET00gbm9kZXNcbiAgICB1cGRhdGVSZXNpemVBcmVhUG9zaXRpb24obXV0YXRpb25SZWZzLCB3aWR0aCk7XG5cbiAgICAvLyBOT1RFOiBoaWphY2sgdGhlIG1hdWFsIHJlc2l6ZSBhbmQgZm9yY2UgY29sbGFwc2UsIGNhbmNlbHMgbW91c2UgZXZlbnRzXG4gICAgaWYgKGV2ZW50LmNsaWVudFggPCAwKSB7XG4gICAgICB0aGlzLnNldFN0YXRlKHsgd2lkdGg6IENPTlRFTlRfTkFWX1dJRFRIX0NPTExBUFNFRCB9KTtcbiAgICAgIHRoaXMuaGFuZGxlUmVzaXplRW5kKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIG1haW50YWluIGludGVybmFsIHdpZHRoLCBhcHBsaWVkIHRvIG5hdmlnYXRpb24gc3RhdGUgb24gcmVzaXplIGVuZFxuICAgICAgdGhpcy5zZXRTdGF0ZSh7IGRlbHRhLCB3aWR0aCB9KTtcbiAgICB9XG4gIH0pO1xuXG4gIGhhbmRsZVJlc2l6ZUVuZCA9ICgpID0+IHtcbiAgICBjb25zdCB7IG5hdmlnYXRpb24sIGNyZWF0ZUFuYWx5dGljc0V2ZW50IH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IHsgZGVsdGEsIGRpZERyYWdPcGVuLCBpc0RyYWdnaW5nLCB3aWR0aDogY3VycmVudFdpZHRoIH0gPSB0aGlzLnN0YXRlO1xuICAgIGNvbnN0IGV4cGFuZFRocmVzaG9sZCA9IDI0O1xuICAgIGNvbnN0IHJlc2l6ZXJDbGlja2VkID0gIWlzRHJhZ2dpbmcgJiYgIXRoaXMuaW52YWxpZERyYWdBdHRlbXB0ZWQ7XG4gICAgbGV0IHB1Ymxpc2hXaWR0aCA9IGN1cnJlbnRXaWR0aDtcbiAgICBsZXQgc2hvdWxkQ29sbGFwc2UgPSBmYWxzZTtcblxuICAgIC8vIGNoZWNrIGlmIHRoZSBpbnRlbnRpb24gd2FzIGp1c3QgYSBjbGljaywgYW5kIHRvZ2dsZVxuICAgIGlmIChyZXNpemVyQ2xpY2tlZCkge1xuICAgICAgcHVibGlzaFdpZHRoID0gTWF0aC5tYXgoQ09OVEVOVF9OQVZfV0lEVEgsIGN1cnJlbnRXaWR0aCk7XG4gICAgICB0aGlzLnRvZ2dsZUNvbGxhcHNlKCdyZXNpemVyQ2xpY2snKTtcbiAgICB9XG5cbiAgICAvLyBwcmV2ZW50IHRoZSB1c2VyIGZyb20gY3JlYXRpbmcgYW4gdW51c2FibGUgd2lkdGhcbiAgICBpZiAocHVibGlzaFdpZHRoIDwgQ09OVEVOVF9OQVZfV0lEVEgpIHtcbiAgICAgIHB1Ymxpc2hXaWR0aCA9IENPTlRFTlRfTkFWX1dJRFRIO1xuICAgICAgaWYgKGRpZERyYWdPcGVuICYmIGRlbHRhID4gZXhwYW5kVGhyZXNob2xkKSB7XG4gICAgICAgIHNob3VsZENvbGxhcHNlID0gZmFsc2U7XG4gICAgICB9IGVsc2UgaWYgKGN1cnJlbnRXaWR0aCA8IEdMT0JBTF9OQVZfQ09MTEFQU0VfVEhSRVNIT0xEKSB7XG4gICAgICAgIHNob3VsZENvbGxhcHNlID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgc2hvdWxkQ29sbGFwc2UgPSBuYXZpZ2F0aW9uLnN0YXRlLmlzQ29sbGFwc2VkO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgICFyZXNpemVyQ2xpY2tlZCAmJlxuICAgICAgKChkaWREcmFnT3BlbiAmJiAhc2hvdWxkQ29sbGFwc2UpIHx8ICghZGlkRHJhZ09wZW4gJiYgc2hvdWxkQ29sbGFwc2UpKVxuICAgICkge1xuICAgICAgbmF2aWdhdGlvbkV4cGFuZGVkQ29sbGFwc2VkKGNyZWF0ZUFuYWx5dGljc0V2ZW50LCB7XG4gICAgICAgIHRyaWdnZXI6ICdyZXNpemVyRHJhZycsXG4gICAgICAgIGlzQ29sbGFwc2VkOiBzaG91bGRDb2xsYXBzZSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIHJlc2V0IGV2ZXJ5dGhpbmdcbiAgICB0aGlzLmludmFsaWREcmFnQXR0ZW1wdGVkID0gZmFsc2U7XG4gICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICBkaWREcmFnT3BlbjogZmFsc2UsXG4gICAgICBpc0RyYWdnaW5nOiBmYWxzZSxcbiAgICAgIG1vdXNlSXNEb3duOiBmYWxzZSxcbiAgICAgIHdpZHRoOiBwdWJsaXNoV2lkdGgsXG4gICAgfSk7XG5cbiAgICAvLyBwdWJsaXNoIHRoZSBuZXcgd2lkdGgsIG9uY2UgcmVzaXppbmcgY29tcGxldGVzXG4gICAgbmF2aWdhdGlvbi5tYW51YWxSZXNpemVFbmQoe1xuICAgICAgcHJvZHVjdE5hdldpZHRoOiBwdWJsaXNoV2lkdGgsXG4gICAgICBpc0NvbGxhcHNlZDogc2hvdWxkQ29sbGFwc2UsXG4gICAgfSk7XG5cbiAgICBpZiAoc2hvdWxkUmVzZXRHcmFiQXJlYShjdXJyZW50V2lkdGgpKSB7XG4gICAgICB1cGRhdGVSZXNpemVBcmVhUG9zaXRpb24odGhpcy5wcm9wcy5tdXRhdGlvblJlZnMsIENPTlRFTlRfTkFWX1dJRFRIKTtcbiAgICB9XG5cbiAgICAvLyBjbGVhbnVwXG4gICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIHRoaXMuaGFuZGxlUmVzaXplKTtcbiAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2V1cCcsIHRoaXMuaGFuZGxlUmVzaXplRW5kKTtcbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgaXNEcmFnZ2luZyxcbiAgICAgIG1vdXNlSXNEb3duLFxuICAgICAgbW91c2VJc092ZXJHcmFiQXJlYSxcbiAgICAgIHNob3dHcmFiQXJlYSxcbiAgICB9ID0gdGhpcy5zdGF0ZTtcbiAgICBjb25zdCB7XG4gICAgICBjb2xsYXBzZVRvZ2dsZVRvb2x0aXBDb250ZW50LFxuICAgICAgZXhwYW5kQ29sbGFwc2VBZmZvcmRhbmNlUmVmLFxuICAgICAgZmx5b3V0SXNPcGVuLFxuICAgICAgaXNEaXNhYmxlZDogaXNSZXNpemVEaXNhYmxlZCxcbiAgICAgIGlzR3JhYkFyZWFEaXNhYmxlZCxcbiAgICAgIG9uTW91c2VPdmVyQnV0dG9uQnVmZmVyLFxuICAgICAgbmF2aWdhdGlvbixcbiAgICB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IGlzQ29sbGFwc2VkIH0gPSBuYXZpZ2F0aW9uLnN0YXRlO1xuXG4gICAgLy8gdGhlIGJ1dHRvbiBzaG91bGRuJ3QgXCJmbGlwXCIgdW50aWwgdGhlIGRyYWcgaXMgY29tcGxldGVcbiAgICBsZXQgQnV0dG9uSWNvbiA9IENoZXZyb25MZWZ0O1xuICAgIGlmIChpc0NvbGxhcHNlZCkgQnV0dG9uSWNvbiA9IENoZXZyb25SaWdodDtcblxuICAgIGNvbnN0IGJ1dHRvbiA9IChcbiAgICAgIDxCdXR0b25cbiAgICAgICAgb25DbGljaz17dGhpcy5vblJlc2l6ZXJDaGV2cm9uQ2xpY2t9XG4gICAgICAgIG9uTW91c2VEb3duPXtwcmV2ZW50RGVmYXVsdH1cbiAgICAgICAgaGl0QXJlYVNpemU9e29uTW91c2VPdmVyQnV0dG9uQnVmZmVyID8gJ2xhcmdlJyA6ICdzbWFsbCd9XG4gICAgICAgIC8vIG1haW50YWluIHN0eWxlcyB3aGVuIHVzZXIgaXMgZHJhZ2dpbmdcbiAgICAgICAgaXNWaXNpYmxlPXtpc0NvbGxhcHNlZCB8fCBtb3VzZUlzRG93bn1cbiAgICAgICAgaGFzSGlnaGxpZ2h0PXttb3VzZUlzRG93biB8fCBtb3VzZUlzT3ZlckdyYWJBcmVhfVxuICAgICAgICBpbm5lclJlZj17ZXhwYW5kQ29sbGFwc2VBZmZvcmRhbmNlUmVmfVxuICAgICAgICBhcmlhLWV4cGFuZGVkPXshaXNDb2xsYXBzZWR9XG4gICAgICAgIGFyaWEtbGFiZWw9XCJUb2dnbGUgbmF2aWdhdGlvblwiXG4gICAgICA+XG4gICAgICAgIDxCdXR0b25JY29uIC8+XG4gICAgICA8L0J1dHRvbj5cbiAgICApO1xuICAgIGNvbnN0IHNoYWRvd0RpcmVjdGlvbiA9IGZseW91dElzT3BlbiA/ICd0byByaWdodCcgOiAndG8gbGVmdCc7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPE91dGVyPlxuICAgICAgICB7aXNEcmFnZ2luZyAmJiA8Qm9keURyYWdDdXJzb3IgLz59XG4gICAgICAgIDxTaGFkb3cgZGlyZWN0aW9uPXtzaGFkb3dEaXJlY3Rpb259IGlzQm9sZD17bW91c2VJc0Rvd259IC8+XG4gICAgICAgIHshaXNSZXNpemVEaXNhYmxlZCAmJiAoXG4gICAgICAgICAgPEZyYWdtZW50PlxuICAgICAgICAgICAgeyFpc0dyYWJBcmVhRGlzYWJsZWQgJiYgc2hvd0dyYWJBcmVhICYmIChcbiAgICAgICAgICAgICAgPEdyYWJBcmVhXG4gICAgICAgICAgICAgICAgaXNCb2xkPXttb3VzZUlzRG93bn1cbiAgICAgICAgICAgICAgICBzaG93SGFuZGxlPXttb3VzZUlzRG93biB8fCBtb3VzZUlzT3ZlckdyYWJBcmVhfVxuICAgICAgICAgICAgICAgIG9uTW91c2VFbnRlcj17dGhpcy5tb3VzZUVudGVyR3JhYkFyZWF9XG4gICAgICAgICAgICAgICAgb25Nb3VzZUxlYXZlPXt0aGlzLm1vdXNlTGVhdmVHcmFiQXJlYX1cbiAgICAgICAgICAgICAgICBvbk1vdXNlRG93bj17dGhpcy5oYW5kbGVSZXNpemVTdGFydH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8ZGl2IG9uTW91c2VPdmVyPXshZmx5b3V0SXNPcGVuID8gb25Nb3VzZU92ZXJCdXR0b25CdWZmZXIgOiBudWxsfT5cbiAgICAgICAgICAgICAge2NvbGxhcHNlVG9nZ2xlVG9vbHRpcENvbnRlbnQgPyAoXG4gICAgICAgICAgICAgICAgPFRvb2x0aXBcbiAgICAgICAgICAgICAgICAgIGNvbnRlbnQ9e21ha2VUb29sdGlwTm9kZShcbiAgICAgICAgICAgICAgICAgICAgY29sbGFwc2VUb2dnbGVUb29sdGlwQ29udGVudChpc0NvbGxhcHNlZCksXG4gICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgZGVsYXk9ezYwMH1cbiAgICAgICAgICAgICAgICAgIGhpZGVUb29sdGlwT25DbGlja1xuICAgICAgICAgICAgICAgICAgcG9zaXRpb249XCJyaWdodFwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge2J1dHRvbn1cbiAgICAgICAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgYnV0dG9uXG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L0ZyYWdtZW50PlxuICAgICAgICApfVxuICAgICAgPC9PdXRlcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCB7IFJlc2l6ZUNvbnRyb2wgYXMgUmVzaXplQ29udHJvbEJhc2UgfTtcblxuZXhwb3J0IGRlZmF1bHQgd2l0aEFuYWx5dGljc0V2ZW50cygpKFJlc2l6ZUNvbnRyb2wpO1xuIl19 */\")\n }, char));\n}\n/* NOTE: experimental props use an underscore */\n\n\nvar ResizeControl =\n/*#__PURE__*/\nfunction (_PureComponent) {\n _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5___default()(ResizeControl, _PureComponent);\n\n function ResizeControl() {\n var _getPrototypeOf2;\n\n var _this;\n\n _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default()(this, ResizeControl);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2___default()(this, (_getPrototypeOf2 = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3___default()(ResizeControl)).call.apply(_getPrototypeOf2, [this].concat(args)));\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4___default()(_this), \"invalidDragAttempted\", false);\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4___default()(_this), \"lastWidth\", void 0);\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4___default()(_this), \"wrapper\", void 0);\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4___default()(_this), \"state\", {\n delta: 0,\n didDragOpen: false,\n isDragging: false,\n initialWidth: 0,\n initialX: 0,\n mouseIsDown: false,\n mouseIsOverGrabArea: false,\n showGrabArea: true,\n width: _this.props.navigation.state.productNavWidth\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4___default()(_this), \"onResizerChevronClick\", function () {\n var trigger = _this.props.flyoutIsOpen ? 'chevronHover' : 'chevron';\n\n _this.toggleCollapse(trigger);\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4___default()(_this), \"mouseEnterGrabArea\", function () {\n _this.setState({\n mouseIsOverGrabArea: true\n });\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4___default()(_this), \"mouseLeaveGrabArea\", function () {\n _this.setState({\n mouseIsOverGrabArea: false\n });\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4___default()(_this), \"toggleCollapse\", function (trigger) {\n var _this$props = _this.props,\n navigation = _this$props.navigation,\n createAnalyticsEvent = _this$props.createAnalyticsEvent;\n var newCollapsedState = !navigation.state.isCollapsed;\n navigation.toggleCollapse();\n Object(_common_analytics__WEBPACK_IMPORTED_MODULE_19__[\"navigationExpandedCollapsed\"])(createAnalyticsEvent, {\n trigger: trigger,\n isCollapsed: newCollapsedState\n });\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4___default()(_this), \"handleResizeStart\", function (event) {\n var initialX = event.pageX;\n\n _this.setState({\n initialX: initialX,\n mouseIsDown: true\n }); // attach handlers (handleResizeStart is a bound to onMouseDown)\n\n\n window.addEventListener('mousemove', _this.handleResize);\n window.addEventListener('mouseup', _this.handleResizeEnd);\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4___default()(_this), \"initializeDrag\", function (event) {\n var navigation = _this.props.navigation;\n var delta = event.pageX - _this.state.initialX;\n var isCollapsed = navigation.state.isCollapsed; // only initialize when drag intention is \"expand\"\n\n if (isCollapsed && delta <= 0) {\n _this.invalidDragAttempted = true;\n return;\n }\n\n var initialWidth = navigation.state.productNavWidth;\n var didDragOpen = false; // NOTE\n // if the product nav is collapsed and the consumer starts dragging it open\n // we must expand it and drag should start from 0.\n\n if (isCollapsed) {\n initialWidth = _common_constants__WEBPACK_IMPORTED_MODULE_20__[\"CONTENT_NAV_WIDTH_COLLAPSED\"];\n didDragOpen = true;\n navigation.manualResizeStart({\n productNavWidth: _common_constants__WEBPACK_IMPORTED_MODULE_20__[\"CONTENT_NAV_WIDTH_COLLAPSED\"],\n isCollapsed: false\n });\n } else {\n navigation.manualResizeStart(navigation.state);\n }\n\n _this.setState({\n didDragOpen: didDragOpen,\n initialWidth: initialWidth,\n isDragging: true\n });\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4___default()(_this), \"handleResize\", Object(raf_schd__WEBPACK_IMPORTED_MODULE_13__[\"default\"])(function (event) {\n var mutationRefs = _this.props.mutationRefs;\n var _this$state = _this.state,\n initialX = _this$state.initialX,\n initialWidth = _this$state.initialWidth,\n isDragging = _this$state.isDragging,\n mouseIsDown = _this$state.mouseIsDown; // on occasion a mouse move event occurs before the event listeners\n // have a chance to detach\n\n if (!mouseIsDown) return; // initialize dragging\n\n if (!isDragging) {\n _this.initializeDrag(event);\n\n return;\n } // allow the product nav to be 75% of the available page width\n\n\n var maxWidth = Math.round(window.innerWidth / 4 * 3);\n var minWidth = _common_constants__WEBPACK_IMPORTED_MODULE_20__[\"CONTENT_NAV_WIDTH_COLLAPSED\"];\n var adjustedMax = maxWidth - initialWidth - _common_constants__WEBPACK_IMPORTED_MODULE_20__[\"GLOBAL_NAV_WIDTH\"];\n var adjustedMin = minWidth - initialWidth;\n var delta = Math.max(Math.min(event.pageX - initialX, adjustedMax), adjustedMin);\n var width = initialWidth + delta; // apply updated styles to the applicable DOM nodes\n\n updateResizeAreaPosition(mutationRefs, width); // NOTE: hijack the maual resize and force collapse, cancels mouse events\n\n if (event.clientX < 0) {\n _this.setState({\n width: _common_constants__WEBPACK_IMPORTED_MODULE_20__[\"CONTENT_NAV_WIDTH_COLLAPSED\"]\n });\n\n _this.handleResizeEnd();\n } else {\n // maintain internal width, applied to navigation state on resize end\n _this.setState({\n delta: delta,\n width: width\n });\n }\n }));\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4___default()(_this), \"handleResizeEnd\", function () {\n var _this$props2 = _this.props,\n navigation = _this$props2.navigation,\n createAnalyticsEvent = _this$props2.createAnalyticsEvent;\n var _this$state2 = _this.state,\n delta = _this$state2.delta,\n didDragOpen = _this$state2.didDragOpen,\n isDragging = _this$state2.isDragging,\n currentWidth = _this$state2.width;\n var expandThreshold = 24;\n var resizerClicked = !isDragging && !_this.invalidDragAttempted;\n var publishWidth = currentWidth;\n var shouldCollapse = false; // check if the intention was just a click, and toggle\n\n if (resizerClicked) {\n publishWidth = Math.max(_common_constants__WEBPACK_IMPORTED_MODULE_20__[\"CONTENT_NAV_WIDTH\"], currentWidth);\n\n _this.toggleCollapse('resizerClick');\n } // prevent the user from creating an unusable width\n\n\n if (publishWidth < _common_constants__WEBPACK_IMPORTED_MODULE_20__[\"CONTENT_NAV_WIDTH\"]) {\n publishWidth = _common_constants__WEBPACK_IMPORTED_MODULE_20__[\"CONTENT_NAV_WIDTH\"];\n\n if (didDragOpen && delta > expandThreshold) {\n shouldCollapse = false;\n } else if (currentWidth < _common_constants__WEBPACK_IMPORTED_MODULE_20__[\"GLOBAL_NAV_COLLAPSE_THRESHOLD\"]) {\n shouldCollapse = true;\n }\n } else {\n shouldCollapse = navigation.state.isCollapsed;\n }\n\n if (!resizerClicked && (didDragOpen && !shouldCollapse || !didDragOpen && shouldCollapse)) {\n Object(_common_analytics__WEBPACK_IMPORTED_MODULE_19__[\"navigationExpandedCollapsed\"])(createAnalyticsEvent, {\n trigger: 'resizerDrag',\n isCollapsed: shouldCollapse\n });\n } // reset everything\n\n\n _this.invalidDragAttempted = false;\n\n _this.setState({\n didDragOpen: false,\n isDragging: false,\n mouseIsDown: false,\n width: publishWidth\n }); // publish the new width, once resizing completes\n\n\n navigation.manualResizeEnd({\n productNavWidth: publishWidth,\n isCollapsed: shouldCollapse\n });\n\n if (shouldResetGrabArea(currentWidth)) {\n updateResizeAreaPosition(_this.props.mutationRefs, _common_constants__WEBPACK_IMPORTED_MODULE_20__[\"CONTENT_NAV_WIDTH\"]);\n } // cleanup\n\n\n window.removeEventListener('mousemove', _this.handleResize);\n window.removeEventListener('mouseup', _this.handleResizeEnd);\n });\n\n return _this;\n }\n\n _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1___default()(ResizeControl, [{\n key: \"render\",\n value: function render() {\n var _this$state3 = this.state,\n isDragging = _this$state3.isDragging,\n mouseIsDown = _this$state3.mouseIsDown,\n mouseIsOverGrabArea = _this$state3.mouseIsOverGrabArea,\n showGrabArea = _this$state3.showGrabArea;\n var _this$props3 = this.props,\n collapseToggleTooltipContent = _this$props3.collapseToggleTooltipContent,\n expandCollapseAffordanceRef = _this$props3.expandCollapseAffordanceRef,\n flyoutIsOpen = _this$props3.flyoutIsOpen,\n isResizeDisabled = _this$props3.isDisabled,\n isGrabAreaDisabled = _this$props3.isGrabAreaDisabled,\n onMouseOverButtonBuffer = _this$props3.onMouseOverButtonBuffer,\n navigation = _this$props3.navigation;\n var isCollapsed = navigation.state.isCollapsed; // the button shouldn't \"flip\" until the drag is complete\n\n var ButtonIcon = _atlaskit_icon_glyph_chevron_left__WEBPACK_IMPORTED_MODULE_15___default.a;\n if (isCollapsed) ButtonIcon = _atlaskit_icon_glyph_chevron_right__WEBPACK_IMPORTED_MODULE_16___default.a;\n\n var button = Object(_emotion_core__WEBPACK_IMPORTED_MODULE_11__[\"jsx\"])(Button, {\n onClick: this.onResizerChevronClick,\n onMouseDown: preventDefault,\n hitAreaSize: onMouseOverButtonBuffer ? 'large' : 'small' // maintain styles when user is dragging\n ,\n isVisible: isCollapsed || mouseIsDown,\n hasHighlight: mouseIsDown || mouseIsOverGrabArea,\n innerRef: expandCollapseAffordanceRef,\n \"aria-expanded\": !isCollapsed,\n \"aria-label\": \"Toggle navigation\"\n }, Object(_emotion_core__WEBPACK_IMPORTED_MODULE_11__[\"jsx\"])(ButtonIcon, null));\n\n var shadowDirection = flyoutIsOpen ? 'to right' : 'to left';\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_11__[\"jsx\"])(Outer, null, isDragging && Object(_emotion_core__WEBPACK_IMPORTED_MODULE_11__[\"jsx\"])(BodyDragCursor, null), Object(_emotion_core__WEBPACK_IMPORTED_MODULE_11__[\"jsx\"])(_common_primitives__WEBPACK_IMPORTED_MODULE_21__[\"Shadow\"], {\n direction: shadowDirection,\n isBold: mouseIsDown\n }), !isResizeDisabled && Object(_emotion_core__WEBPACK_IMPORTED_MODULE_11__[\"jsx\"])(react__WEBPACK_IMPORTED_MODULE_12__[\"Fragment\"], null, !isGrabAreaDisabled && showGrabArea && Object(_emotion_core__WEBPACK_IMPORTED_MODULE_11__[\"jsx\"])(GrabArea, {\n isBold: mouseIsDown,\n showHandle: mouseIsDown || mouseIsOverGrabArea,\n onMouseEnter: this.mouseEnterGrabArea,\n onMouseLeave: this.mouseLeaveGrabArea,\n onMouseDown: this.handleResizeStart\n }), Object(_emotion_core__WEBPACK_IMPORTED_MODULE_11__[\"jsx\"])(\"div\", {\n onMouseOver: !flyoutIsOpen ? onMouseOverButtonBuffer : null\n }, collapseToggleTooltipContent ? Object(_emotion_core__WEBPACK_IMPORTED_MODULE_11__[\"jsx\"])(_atlaskit_tooltip__WEBPACK_IMPORTED_MODULE_18__[\"default\"], {\n content: makeTooltipNode(collapseToggleTooltipContent(isCollapsed)),\n delay: 600,\n hideTooltipOnClick: true,\n position: \"right\"\n }, button) : button)));\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(props, state) {\n var EXPERIMENTAL_FLYOUT_ON_HOVER = props.experimental_flyoutOnHover,\n flyoutIsOpen = props.flyoutIsOpen,\n navigation = props.navigation;\n var isCollapsed = navigation.state.isCollapsed; // resolve \"hover locking\" issue with resize grab area\n\n if (EXPERIMENTAL_FLYOUT_ON_HOVER) {\n var showGrabArea = !isCollapsed && !flyoutIsOpen;\n var mouseIsOverGrabArea = showGrabArea ? state.mouseIsOverGrabArea : false;\n return {\n mouseIsOverGrabArea: mouseIsOverGrabArea,\n showGrabArea: showGrabArea\n };\n }\n\n return null;\n }\n }]);\n\n return ResizeControl;\n}(react__WEBPACK_IMPORTED_MODULE_12__[\"PureComponent\"]);\n\n_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(ResizeControl, \"defaultProps\", {\n isGrabAreaDisabled: false\n});\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(_atlaskit_analytics_next__WEBPACK_IMPORTED_MODULE_14__[\"withAnalyticsEvents\"])()(ResizeControl));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL0xheW91dE1hbmFnZXIvUmVzaXplQ29udHJvbC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AYXRsYXNraXQvbmF2aWdhdGlvbi1uZXh0L2Rpc3QvZXNtL2NvbXBvbmVudHMvcHJlc2VudGF0aW9uYWwvTGF5b3V0TWFuYWdlci9SZXNpemVDb250cm9sLmpzPzdhYjQiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IF9jbGFzc0NhbGxDaGVjayBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9jbGFzc0NhbGxDaGVja1wiO1xuaW1wb3J0IF9jcmVhdGVDbGFzcyBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9jcmVhdGVDbGFzc1wiO1xuaW1wb3J0IF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm5cIjtcbmltcG9ydCBfZ2V0UHJvdG90eXBlT2YgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvZ2V0UHJvdG90eXBlT2ZcIjtcbmltcG9ydCBfYXNzZXJ0VGhpc0luaXRpYWxpemVkIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2Fzc2VydFRoaXNJbml0aWFsaXplZFwiO1xuaW1wb3J0IF9pbmhlcml0cyBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9pbmhlcml0c1wiO1xuaW1wb3J0IF9kZWZpbmVQcm9wZXJ0eSBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9kZWZpbmVQcm9wZXJ0eVwiO1xuaW1wb3J0IF9vYmplY3RTcHJlYWQgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvb2JqZWN0U3ByZWFkXCI7XG5pbXBvcnQgX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzXCI7XG5pbXBvcnQgX2V4dGVuZHMgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXh0ZW5kc1wiO1xuaW1wb3J0IF9jc3MgZnJvbSBcIkBlbW90aW9uL2Nzc1wiO1xuaW1wb3J0IHsganN4IGFzIF9fX0Vtb3Rpb25KU1ggfSBmcm9tIFwiQGVtb3Rpb24vY29yZVwiO1xuaW1wb3J0IFJlYWN0LCB7IEZyYWdtZW50LCBQdXJlQ29tcG9uZW50IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgR2xvYmFsIH0gZnJvbSAnQGVtb3Rpb24vY29yZSc7XG5pbXBvcnQgcmFmIGZyb20gJ3JhZi1zY2hkJztcbmltcG9ydCB7IHdpdGhBbmFseXRpY3NFdmVudHMgfSBmcm9tICdAYXRsYXNraXQvYW5hbHl0aWNzLW5leHQnO1xuaW1wb3J0IENoZXZyb25MZWZ0IGZyb20gJ0BhdGxhc2tpdC9pY29uL2dseXBoL2NoZXZyb24tbGVmdCc7XG5pbXBvcnQgQ2hldnJvblJpZ2h0IGZyb20gJ0BhdGxhc2tpdC9pY29uL2dseXBoL2NoZXZyb24tcmlnaHQnO1xuaW1wb3J0ICogYXMgY29sb3JzIGZyb20gJ0BhdGxhc2tpdC90aGVtZS9jb2xvcnMnO1xuaW1wb3J0IFRvb2x0aXAgZnJvbSAnQGF0bGFza2l0L3Rvb2x0aXAnO1xuaW1wb3J0IHsgbmF2aWdhdGlvbkV4cGFuZGVkQ29sbGFwc2VkIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2FuYWx5dGljcyc7XG5pbXBvcnQgeyBDT05URU5UX05BVl9XSURUSCwgQ09OVEVOVF9OQVZfV0lEVEhfQ09MTEFQU0VELCBHTE9CQUxfTkFWX0NPTExBUFNFX1RIUkVTSE9MRCwgR0xPQkFMX05BVl9XSURUSCB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9jb25zdGFudHMnO1xuaW1wb3J0IHsgU2hhZG93IH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL3ByaW1pdGl2ZXMnO1xudmFyIEhBTkRMRV9PRkZTRVQgPSA0O1xudmFyIElOTkVSX1dJRFRIID0gMjA7XG52YXIgT1VURVJfV0lEVEggPSBJTk5FUl9XSURUSCArIEhBTkRMRV9PRkZTRVQ7XG52YXIgSEFORExFX1dJRFRIID0gMjtcblxudmFyIHNob3VsZFJlc2V0R3JhYkFyZWEgPSBmdW5jdGlvbiBzaG91bGRSZXNldEdyYWJBcmVhKHdpZHRoKSB7XG4gIHJldHVybiB3aWR0aCA+PSBHTE9CQUxfTkFWX0NPTExBUFNFX1RIUkVTSE9MRCAmJiB3aWR0aCA8IENPTlRFTlRfTkFWX1dJRFRIO1xufTtcblxudmFyIHByZXZlbnREZWZhdWx0ID0gZnVuY3Rpb24gcHJldmVudERlZmF1bHQoZXZlbnQpIHtcbiAgcmV0dXJuIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG59O1xuXG5leHBvcnQgdmFyIEJvZHlEcmFnQ3Vyc29yID0gZnVuY3Rpb24gQm9keURyYWdDdXJzb3IoKSB7XG4gIHJldHVybiBfX19FbW90aW9uSlNYKEdsb2JhbCwge1xuICAgIHN0eWxlczoge1xuICAgICAgYm9keToge1xuICAgICAgICBjdXJzb3I6ICdldy1yZXNpemUnXG4gICAgICB9XG4gICAgfVxuICB9KTtcbn07XG5cbnZhciBPdXRlciA9IGZ1bmN0aW9uIE91dGVyKHByb3BzKSB7XG4gIHJldHVybiBfX19FbW90aW9uSlNYKFwiZGl2XCIsIF9leHRlbmRzKHtcbiAgICBjc3M6XG4gICAgLyojX19QVVJFX18qL1xuICAgIF9jc3Moe1xuICAgICAgYm90dG9tOiAwLFxuICAgICAgbGVmdDogJzEwMCUnLFxuICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICB0b3A6IDAsXG4gICAgICB0cmFuc2Zvcm06ICd0cmFuc2xhdGVaKDApJyxcbiAgICAgIHdpZHRoOiBPVVRFUl9XSURUSCxcbiAgICAgIHpJbmRleDogMyAvLyBoaWdoZXIgdGhhbiB0aGUgc2Nyb2xsIGhpbnQgbGluZXNcblxuICAgIH0sIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IFwiXCIgOiBcIi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpNHVMeTR1THk0dUx5NHVMeTR1TDNOeVl5OWpiMjF3YjI1bGJuUnpMM0J5WlhObGJuUmhkR2x2Ym1Gc0wweGhlVzkxZEUxaGJtRm5aWEl2VW1WemFYcGxRMjl1ZEhKdmJDNXFjeUpkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUY1UTBraUxDSm1hV3hsSWpvaUxpNHZMaTR2TGk0dkxpNHZMaTR2YzNKakwyTnZiWEJ2Ym1WdWRITXZjSEpsYzJWdWRHRjBhVzl1WVd3dlRHRjViM1YwVFdGdVlXZGxjaTlTWlhOcGVtVkRiMjUwY205c0xtcHpJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpYVcxd2IzSjBJRkpsWVdOMExDQjdJRVp5WVdkdFpXNTBMQ0JRZFhKbFEyOXRjRzl1Wlc1MElIMGdabkp2YlNBbmNtVmhZM1FuTzF4dVhHNXBiWEJ2Y25RZ2V5QkhiRzlpWVd3Z2ZTQm1jbTl0SUNkQVpXMXZkR2x2Ymk5amIzSmxKenRjYm1sdGNHOXlkQ0J5WVdZZ1puSnZiU0FuY21GbUxYTmphR1FuTzF4dVhHNXBiWEJ2Y25RZ2V5QjNhWFJvUVc1aGJIbDBhV056UlhabGJuUnpJSDBnWm5KdmJTQW5RR0YwYkdGemEybDBMMkZ1WVd4NWRHbGpjeTF1WlhoMEp6dGNibWx0Y0c5eWRDQkRhR1YyY205dVRHVm1kQ0JtY205dElDZEFZWFJzWVhOcmFYUXZhV052Ymk5bmJIbHdhQzlqYUdWMmNtOXVMV3hsWm5Rbk8xeHVhVzF3YjNKMElFTm9aWFp5YjI1U2FXZG9kQ0JtY205dElDZEFZWFJzWVhOcmFYUXZhV052Ymk5bmJIbHdhQzlqYUdWMmNtOXVMWEpwWjJoMEp6dGNibWx0Y0c5eWRDQXFJR0Z6SUdOdmJHOXljeUJtY205dElDZEFZWFJzWVhOcmFYUXZkR2hsYldVdlkyOXNiM0p6Snp0Y2JtbHRjRzl5ZENCVWIyOXNkR2x3SUdaeWIyMGdKMEJoZEd4aGMydHBkQzkwYjI5c2RHbHdKenRjYmx4dWFXMXdiM0owSUhzZ2JtRjJhV2RoZEdsdmJrVjRjR0Z1WkdWa1EyOXNiR0Z3YzJWa0lIMGdabkp2YlNBbkxpNHZMaTR2TGk0dlkyOXRiVzl1TDJGdVlXeDVkR2xqY3ljN1hHNXBiWEJ2Y25RZ2UxeHVJQ0JEVDA1VVJVNVVYMDVCVmw5WFNVUlVTQ3hjYmlBZ1EwOU9WRVZPVkY5T1FWWmZWMGxFVkVoZlEwOU1URUZRVTBWRUxGeHVJQ0JIVEU5Q1FVeGZUa0ZXWDBOUFRFeEJVRk5GWDFSSVVrVlRTRTlNUkN4Y2JpQWdSMHhQUWtGTVgwNUJWbDlYU1VSVVNDeGNibjBnWm5KdmJTQW5MaTR2TGk0dkxpNHZZMjl0Ylc5dUwyTnZibk4wWVc1MGN5YzdYRzVwYlhCdmNuUWdleUJUYUdGa2IzY2dmU0JtY205dElDY3VMaTh1TGk4dUxpOWpiMjF0YjI0dmNISnBiV2wwYVhabGN5YzdYRzVjYm1OdmJuTjBJRWhCVGtSTVJWOVBSa1pUUlZRZ1BTQTBPMXh1WTI5dWMzUWdTVTVPUlZKZlYwbEVWRWdnUFNBeU1EdGNibU52Ym5OMElFOVZWRVZTWDFkSlJGUklJRDBnU1U1T1JWSmZWMGxFVkVnZ0t5QklRVTVFVEVWZlQwWkdVMFZVTzF4dVkyOXVjM1FnU0VGT1JFeEZYMWRKUkZSSUlEMGdNanRjYm1OdmJuTjBJSE5vYjNWc1pGSmxjMlYwUjNKaFlrRnlaV0VnUFNCM2FXUjBhQ0E5UGlCN1hHNGdJSEpsZEhWeWJpQjNhV1IwYUNBK1BTQkhURTlDUVV4ZlRrRldYME5QVEV4QlVGTkZYMVJJVWtWVFNFOU1SQ0FtSmlCM2FXUjBhQ0E4SUVOUFRsUkZUbFJmVGtGV1gxZEpSRlJJTzF4dWZUdGNibU52Ym5OMElIQnlaWFpsYm5SRVpXWmhkV3gwSUQwZ1pYWmxiblFnUFQ0Z1pYWmxiblF1Y0hKbGRtVnVkRVJsWm1GMWJIUW9LVHRjYmx4dVpYaHdiM0owSUdOdmJuTjBJRUp2WkhsRWNtRm5RM1Z5YzI5eUlEMGdLQ2tnUFQ0Z0tGeHVJQ0E4UjJ4dlltRnNYRzRnSUNBZ2MzUjViR1Z6UFh0N1hHNGdJQ0FnSUNCaWIyUjVPaUI3WEc0Z0lDQWdJQ0FnSUdOMWNuTnZjam9nSjJWM0xYSmxjMmw2WlNjc1hHNGdJQ0FnSUNCOUxGeHVJQ0FnSUgxOVhHNGdJQzgrWEc0cE8xeHVYRzVqYjI1emRDQlBkWFJsY2lBOUlIQnliM0J6SUQwK0lDaGNiaUFnUEdScGRseHVJQ0FnSUdOemN6MTdlMXh1SUNBZ0lDQWdZbTkwZEc5dE9pQXdMRnh1SUNBZ0lDQWdiR1ZtZERvZ0p6RXdNQ1VuTEZ4dUlDQWdJQ0FnY0c5emFYUnBiMjQ2SUNkaFluTnZiSFYwWlNjc1hHNGdJQ0FnSUNCMGIzQTZJREFzWEc0Z0lDQWdJQ0IwY21GdWMyWnZjbTA2SUNkMGNtRnVjMnhoZEdWYUtEQXBKeXhjYmlBZ0lDQWdJSGRwWkhSb09pQlBWVlJGVWw5WFNVUlVTQ3hjYmlBZ0lDQWdJSHBKYm1SbGVEb2dNeXdnTHk4Z2FHbG5hR1Z5SUhSb1lXNGdkR2hsSUhOamNtOXNiQ0JvYVc1MElHeHBibVZ6WEc0Z0lDQWdmWDFjYmlBZ0lDQjdMaTR1Y0hKdmNITjlYRzRnSUM4K1hHNHBPMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdSM0poWWtGeVpXRWdQU0FvZXlCemFHOTNTR0Z1Wkd4bExDQnBjMEp2YkdRc0lDNHVMbkJ5YjNCeklIMHBJRDArSUNoY2JpQWdQR1JwZGx4dUlDQWdJR056Y3oxN2UxeHVJQ0FnSUNBZ1kzVnljMjl5T2lBblpYY3RjbVZ6YVhwbEp5eGNiaUFnSUNBZ0lHaGxhV2RvZERvZ0p6RXdNQ1VuTEZ4dUlDQWdJQ0FnYkdWbWREb2dMVWhCVGtSTVJWOVBSa1pUUlZRc1hHNGdJQ0FnSUNCd2IzTnBkR2x2YmpvZ0ozSmxiR0YwYVhabEp5eGNiaUFnSUNBZ0lIZHBaSFJvT2lCUFZWUkZVbDlYU1VSVVNDeGNiaUFnSUNCOWZWeHVJQ0FnSUhzdUxpNXdjbTl3YzMxY2JpQWdQbHh1SUNBZ0lEeGthWFpjYmlBZ0lDQWdJR056Y3oxN2UxeHVJQ0FnSUNBZ0lDQmlZV05yWjNKdmRXNWtRMjlzYjNJNklHbHpRbTlzWkNBL0lHTnZiRzl5Y3k1Q01qQXdJRG9nWTI5c2IzSnpMa0l4TURBc1hHNGdJQ0FnSUNBZ0lHOXdZV05wZEhrNklITm9iM2RJWVc1a2JHVWdQeUF4SURvZ01DeGNiaUFnSUNBZ0lDQWdhR1ZwWjJoME9pQW5NVEF3SlNjc1hHNGdJQ0FnSUNBZ0lHeGxablE2SUVoQlRrUk1SVjlQUmtaVFJWUWdMU0JJUVU1RVRFVmZWMGxFVkVnZ0x5QXlMQ0F2THlCMGFHVWdhR0Z1Wkd4bElITm9iM1ZzWkNCY0luTjBjbUZrWkd4bFhDSWdkR2hsSUdScGRtbGthVzVuSUd4cGJtVmNiaUFnSUNBZ0lDQWdjRzl6YVhScGIyNDZJQ2RoWW5OdmJIVjBaU2NzWEc0Z0lDQWdJQ0FnSUhSeVlXNXphWFJwYjI0NklDZHZjR0ZqYVhSNUlESXdNRzF6Snl4Y2JpQWdJQ0FnSUNBZ2QybGtkR2c2SUVoQlRrUk1SVjlYU1VSVVNDeGNiaUFnSUNBZ0lIMTlYRzRnSUNBZ0x6NWNiaUFnUEM5a2FYWStYRzRwTzF4dVkyOXVjM1FnYkdGeVoyVklhWFJCY21WaElEMGdlMXh1SUNCc1pXWjBPaUF0T0N4Y2JpQWdjbWxuYUhRNklDMHhNaXhjYmlBZ1ltOTBkRzl0T2lBdE9DeGNiaUFnZEc5d09pQXRPQ3hjYm4wN1hHNWpiMjV6ZENCemJXRnNiRWhwZEVGeVpXRWdQU0I3WEc0Z0lHeGxablE2SUMwMExGeHVJQ0J5YVdkb2REb2dMVFFzWEc0Z0lHSnZkSFJ2YlRvZ0xUUXNYRzRnSUhSdmNEb2dMVFFzWEc1OU8xeHVYRzVqYjI1emRDQkNkWFIwYjI0Z1BTQW9lMXh1SUNCamFHbHNaSEpsYml4Y2JpQWdhR0Z6U0dsbmFHeHBaMmgwTEZ4dUlDQnBibTVsY2xKbFppeGNiaUFnYVhOV2FYTnBZbXhsTEZ4dUlDQm9hWFJCY21WaFUybDZaU3hjYmlBZ0xpNHVjSEp2Y0hOY2JuMHBJRDArSUNoY2JpQWdQR0oxZEhSdmJseHVJQ0FnSUdOc1lYTnpUbUZ0WlQxY0ltRnJMVzVoZG1sbllYUnBiMjR0Y21WemFYcGxMV0oxZEhSdmJsd2lYRzRnSUNBZ2RIbHdaVDFjSW1KMWRIUnZibHdpWEc0Z0lDQWdjbVZtUFh0cGJtNWxjbEpsWm4xY2JpQWdJQ0JqYzNNOWUzdGNiaUFnSUNBZ0lHSmhZMnRuY205MWJtUTZJREFzWEc0Z0lDQWdJQ0JpWVdOclozSnZkVzVrUTI5c2IzSTZJQ2QzYUdsMFpTY3NYRzRnSUNBZ0lDQmliM0prWlhJNklEQXNYRzRnSUNBZ0lDQmliM0prWlhKU1lXUnBkWE02SUNjMU1DVW5MRnh1SUNBZ0lDQWdZbTk0VTJoaFpHOTNPaUJnTUNBd0lEQWdNWEI0SUNSN1kyOXNiM0p6TGs0ek1FRjlMQ0F3SURKd2VDQTBjSGdnTVhCNElDUjdZMjlzYjNKekxrNHpNRUY5WUN4Y2JpQWdJQ0FnSUdOdmJHOXlPaUJvWVhOSWFXZG9iR2xuYUhRZ1B5QmpiMnh2Y25NdVFqRXdNQ0E2SUdOdmJHOXljeTVPTWpBd0xGeHVJQ0FnSUNBZ1kzVnljMjl5T2lBbmNHOXBiblJsY2ljc1hHNGdJQ0FnSUNCb1pXbG5hSFE2SURJMExGeHVJQ0FnSUNBZ2IzQmhZMmwwZVRvZ2FYTldhWE5wWW14bElEOGdNU0E2SURBc1hHNGdJQ0FnSUNCdmRYUnNhVzVsT2lBd0xGeHVJQ0FnSUNBZ2NHRmtaR2x1WnpvZ01DeGNiaUFnSUNBZ0lIQnZjMmwwYVc5dU9pQW5ZV0p6YjJ4MWRHVW5MRnh1SUNBZ0lDQWdkRzl3T2lBek1peGNiaUFnSUNBZ0lIUnlZVzV6YVhScGIyNDZJR0JjYmlBZ0lDQWdJQ0FnWW1GamEyZHliM1Z1WkMxamIyeHZjaUF4TURCdGN5QnNhVzVsWVhJc1hHNGdJQ0FnSUNBZ0lHTnZiRzl5SURFd01HMXpJR3hwYm1WaGNpeGNiaUFnSUNBZ0lDQWdiM0JoWTJsMGVTQXpNREJ0Y3lCamRXSnBZeTFpWlhwcFpYSW9NQzR5TENBd0xDQXdMQ0F4S1N4Y2JpQWdJQ0FnSUNBZ2RISmhibk5tYjNKdElETXdNRzF6SUdOMVltbGpMV0psZW1sbGNpZ3dMaklzSURBc0lEQXNJREVwWEc0Z0lDQWdJQ0JnTEZ4dUlDQWdJQ0FnZEhKaGJuTm1iM0p0T2lCZ2RISmhibk5zWVhSbEtDMDFNQ1VwWUN4Y2JpQWdJQ0FnSUhkcFpIUm9PaUF5TkN4Y2JseHVJQ0FnSUNBZ0p6cG9iM1psY2ljNklIdGNiaUFnSUNBZ0lDQWdZbUZqYTJkeWIzVnVaRU52Ykc5eU9pQmpiMnh2Y25NdVFqRXdNQ3hjYmlBZ0lDQWdJQ0FnWTI5c2IzSTZJQ2QzYUdsMFpTY3NYRzRnSUNBZ0lDQjlMRnh1SUNBZ0lDQWdKenBoWTNScGRtVW5PaUI3WEc0Z0lDQWdJQ0FnSUdKaFkydG5jbTkxYm1SRGIyeHZjam9nWTI5c2IzSnpMa0l5TURBc1hHNGdJQ0FnSUNBZ0lHTnZiRzl5T2lBbmQyaHBkR1VuTEZ4dUlDQWdJQ0FnZlN4Y2JpQWdJQ0FnSUNjNlptOWpkWE1uT2lCN1hHNGdJQ0FnSUNBZ0lHOXdZV05wZEhrNklERXNYRzRnSUNBZ0lDQWdJR0poWTJ0bmNtOTFibVJEYjJ4dmNqb2dZMjlzYjNKekxrSXlNREFzWEc0Z0lDQWdJQ0FnSUdOdmJHOXlPaUFuZDJocGRHVW5MRnh1SUNBZ0lDQWdmU3hjYmlBZ0lDQjlmVnh1SUNBZ0lIc3VMaTV3Y205d2MzMWNiaUFnUGx4dUlDQWdJRHhrYVhaY2JpQWdJQ0FnSUM4dklHbHVZM0psWVhObElHaHBkQzFoY21WaFhHNGdJQ0FnSUNCamMzTTllM3RjYmlBZ0lDQWdJQ0FnY0c5emFYUnBiMjQ2SUNkaFluTnZiSFYwWlNjc1hHNGdJQ0FnSUNBZ0lDNHVMaWhvYVhSQmNtVmhVMmw2WlNBOVBUMGdKM050WVd4c0p5QS9JSE50WVd4c1NHbDBRWEpsWVNBNklHeGhjbWRsU0dsMFFYSmxZU2tzWEc0Z0lDQWdJQ0I5ZlZ4dUlDQWdJQzgrWEc0Z0lDQWdlMk5vYVd4a2NtVnVmVnh1SUNBOEwySjFkSFJ2Ymo1Y2JpazdYRzVjYmk4dklIUnBibXRsY2lCM2FYUm9JSFJvWlNCRVQwMGdaR2x5WldOMGJIa2dZbmtnYzJWMGRHbHVaeUJ6ZEhsc1pTQndjbTl3WlhKMGFXVnpMQ0IxY0dSaGRHVnpJSFJvWlNCbmNtRmlJR0poY2lCd2IzTnBkR2x2YmlCaWVTQmphR0Z1WjJsdVp5QndZV1JrYVc1bkxXeGxablFnWVc1a0lIZHBaSFJvTGx4dVpuVnVZM1JwYjI0Z2RYQmtZWFJsVW1WemFYcGxRWEpsWVZCdmMybDBhVzl1S0dWc1pXMWxiblJ6TENCM2FXUjBhQ2tnZTF4dUlDQmxiR1Z0Wlc1MGN5NW1iM0pGWVdOb0tDaDdJSEJ5YjNCbGNuUjVMQ0J5WldZZ2ZTa2dQVDRnZTF4dUlDQWdJR052Ym5OMElHNWxkMVpoYkhWbElEMGdZQ1I3ZDJsa2RHaDljSGhnTzF4dUlDQWdJR052Ym5OMElHOXNaRlpoYkhWbElEMGdjbVZtTG5OMGVXeGxMbWRsZEZCeWIzQmxjblI1Vm1Gc2RXVW9jSEp2Y0dWeWRIa3BPMXh1WEc0Z0lDQWdMeThnWVhadmFXUWdkR2h5WVhOb2FXNW5YRzRnSUNBZ2FXWWdLRzlzWkZaaGJIVmxJRDA5UFNCdVpYZFdZV3gxWlNrZ2NtVjBkWEp1TzF4dVhHNGdJQ0FnTHk4Z1pHbHlaV04wSUdGMGRISnBZblYwWlNCdFlXNXBjSFZzWVhScGIyNWNiaUFnSUNCeVpXWXVjM1I1YkdVdWMyVjBVSEp2Y0dWeWRIa29jSEp2Y0dWeWRIa3NJRzVsZDFaaGJIVmxLVHRjYmlBZ2ZTazdYRzU5WEc1Y2JpOHZJR2hsYkhCbGNpQm1iM0lnZEc5dmJIUnBjQ0JqYjI1MFpXNTBJR3RsZVdKdllYSmtJSE5vYjNKMFkzVjBJR2hwWjJoc2FXZG9kRnh1Wm5WdVkzUnBiMjRnYldGclpWUnZiMngwYVhCT2IyUmxLSHNnZEdWNGRDd2dZMmhoY2lCOUtTQjdYRzRnSUhKbGRIVnliaUFvWEc0Z0lDQWdQR1JwZGx4dUlDQWdJQ0FnWTNOelBYdDdYRzRnSUNBZ0lDQWdJR0ZzYVdkdVNYUmxiWE02SUNkaVlYTmxiR2x1WlNjc1hHNGdJQ0FnSUNBZ0lHUnBjM0JzWVhrNklDZG1iR1Y0Snl4Y2JpQWdJQ0FnSUNBZ2JHbHVaVWhsYVdkb2REb2dNUzR6TEZ4dUlDQWdJQ0FnSUNCd1lXUmthVzVuUW05MGRHOXRPaUF4TEZ4dUlDQWdJQ0FnSUNCd1lXUmthVzVuVkc5d09pQXhMRnh1SUNBZ0lDQWdmWDFjYmlBZ0lDQStYRzRnSUNBZ0lDQThjM0JoYmo1N2RHVjRkSDA4TDNOd1lXNCtYRzRnSUNBZ0lDQThaR2wyWEc0Z0lDQWdJQ0FnSUdOemN6MTdlMXh1SUNBZ0lDQWdJQ0FnSUdKaFkydG5jbTkxYm1SRGIyeHZjam9nWTI5c2IzSnpMazQwTURBc1hHNGdJQ0FnSUNBZ0lDQWdZbTl5WkdWeVVtRmthWFZ6T2lBeUxGeHVJQ0FnSUNBZ0lDQWdJR3hwYm1WSVpXbG5hSFE2SURFdU1peGNiaUFnSUNBZ0lDQWdJQ0J0WVhKbmFXNU1aV1owT2lBMExGeHVJQ0FnSUNBZ0lDQWdJSEJoWkdScGJtYzZJQ2N4Y0hnZ09IQjRKeXhjYmlBZ0lDQWdJQ0FnZlgxY2JpQWdJQ0FnSUQ1Y2JpQWdJQ0FnSUNBZ2UyTm9ZWEo5WEc0Z0lDQWdJQ0E4TDJScGRqNWNiaUFnSUNBOEwyUnBkajVjYmlBZ0tUdGNibjFjYmx4dUx5b2dUazlVUlRvZ1pYaHdaWEpwYldWdWRHRnNJSEJ5YjNCeklIVnpaU0JoYmlCMWJtUmxjbk5qYjNKbElDb3ZYRzVqYkdGemN5QlNaWE5wZW1WRGIyNTBjbTlzSUdWNGRHVnVaSE1nVUhWeVpVTnZiWEJ2Ym1WdWRDQjdYRzRnSUdsdWRtRnNhV1JFY21GblFYUjBaVzF3ZEdWa0lEMGdabUZzYzJVN1hHNWNiaUFnYkdGemRGZHBaSFJvTzF4dVhHNGdJSGR5WVhCd1pYSTdYRzVjYmlBZ2MzUmhkR1VnUFNCN1hHNGdJQ0FnWkdWc2RHRTZJREFzWEc0Z0lDQWdaR2xrUkhKaFowOXdaVzQ2SUdaaGJITmxMRnh1SUNBZ0lHbHpSSEpoWjJkcGJtYzZJR1poYkhObExGeHVJQ0FnSUdsdWFYUnBZV3hYYVdSMGFEb2dNQ3hjYmlBZ0lDQnBibWwwYVdGc1dEb2dNQ3hjYmlBZ0lDQnRiM1Z6WlVselJHOTNiam9nWm1Gc2MyVXNYRzRnSUNBZ2JXOTFjMlZKYzA5MlpYSkhjbUZpUVhKbFlUb2dabUZzYzJVc1hHNGdJQ0FnYzJodmQwZHlZV0pCY21WaE9pQjBjblZsTEZ4dUlDQWdJSGRwWkhSb09pQjBhR2x6TG5CeWIzQnpMbTVoZG1sbllYUnBiMjR1YzNSaGRHVXVjSEp2WkhWamRFNWhkbGRwWkhSb0xGeHVJQ0I5TzF4dVhHNGdJSE4wWVhScFl5QmtaV1poZFd4MFVISnZjSE1nUFNCN1hHNGdJQ0FnYVhOSGNtRmlRWEpsWVVScGMyRmliR1ZrT2lCbVlXeHpaU3hjYmlBZ2ZUdGNibHh1SUNCemRHRjBhV01nWjJWMFJHVnlhWFpsWkZOMFlYUmxSbkp2YlZCeWIzQnpLSEJ5YjNCekxDQnpkR0YwWlNrZ2UxeHVJQ0FnSUdOdmJuTjBJSHRjYmlBZ0lDQWdJQzh2SUdWemJHbHVkQzFrYVhOaFlteGxMVzVsZUhRdGJHbHVaU0JqWVcxbGJHTmhjMlZjYmlBZ0lDQWdJR1Y0Y0dWeWFXMWxiblJoYkY5bWJIbHZkWFJQYmtodmRtVnlPaUJGV0ZCRlVrbE5SVTVVUVV4ZlJreFpUMVZVWDA5T1gwaFBWa1ZTTEZ4dUlDQWdJQ0FnWm14NWIzVjBTWE5QY0dWdUxGeHVJQ0FnSUNBZ2JtRjJhV2RoZEdsdmJpeGNiaUFnSUNCOUlEMGdjSEp2Y0hNN1hHNGdJQ0FnWTI5dWMzUWdleUJwYzBOdmJHeGhjSE5sWkNCOUlEMGdibUYyYVdkaGRHbHZiaTV6ZEdGMFpUdGNibHh1SUNBZ0lDOHZJSEpsYzI5c2RtVWdYQ0pvYjNabGNpQnNiMk5yYVc1blhDSWdhWE56ZFdVZ2QybDBhQ0J5WlhOcGVtVWdaM0poWWlCaGNtVmhYRzRnSUNBZ2FXWWdLRVZZVUVWU1NVMUZUbFJCVEY5R1RGbFBWVlJmVDA1ZlNFOVdSVklwSUh0Y2JpQWdJQ0FnSUdOdmJuTjBJSE5vYjNkSGNtRmlRWEpsWVNBOUlDRnBjME52Ykd4aGNITmxaQ0FtSmlBaFpteDViM1YwU1hOUGNHVnVPMXh1SUNBZ0lDQWdZMjl1YzNRZ2JXOTFjMlZKYzA5MlpYSkhjbUZpUVhKbFlTQTlJSE5vYjNkSGNtRmlRWEpsWVZ4dUlDQWdJQ0FnSUNBL0lITjBZWFJsTG0xdmRYTmxTWE5QZG1WeVIzSmhZa0Z5WldGY2JpQWdJQ0FnSUNBZ09pQm1ZV3h6WlR0Y2JseHVJQ0FnSUNBZ2NtVjBkWEp1SUh0Y2JpQWdJQ0FnSUNBZ2JXOTFjMlZKYzA5MlpYSkhjbUZpUVhKbFlTeGNiaUFnSUNBZ0lDQWdjMmh2ZDBkeVlXSkJjbVZoTEZ4dUlDQWdJQ0FnZlR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdiblZzYkR0Y2JpQWdmVnh1WEc0Z0lHOXVVbVZ6YVhwbGNrTm9aWFp5YjI1RGJHbGpheUE5SUNncElEMCtJSHRjYmlBZ0lDQmpiMjV6ZENCMGNtbG5aMlZ5SUQwZ2RHaHBjeTV3Y205d2N5NW1iSGx2ZFhSSmMwOXdaVzRnUHlBblkyaGxkbkp2YmtodmRtVnlKeUE2SUNkamFHVjJjbTl1Snp0Y2JpQWdJQ0IwYUdsekxuUnZaMmRzWlVOdmJHeGhjSE5sS0hSeWFXZG5aWElwTzF4dUlDQjlPMXh1WEc0Z0lHMXZkWE5sUlc1MFpYSkhjbUZpUVhKbFlTQTlJQ2dwSUQwK0lIdGNiaUFnSUNCMGFHbHpMbk5sZEZOMFlYUmxLSHNnYlc5MWMyVkpjMDkyWlhKSGNtRmlRWEpsWVRvZ2RISjFaU0I5S1R0Y2JpQWdmVHRjYmx4dUlDQnRiM1Z6WlV4bFlYWmxSM0poWWtGeVpXRWdQU0FvS1NBOVBpQjdYRzRnSUNBZ2RHaHBjeTV6WlhSVGRHRjBaU2g3SUcxdmRYTmxTWE5QZG1WeVIzSmhZa0Z5WldFNklHWmhiSE5sSUgwcE8xeHVJQ0I5TzF4dVhHNGdJSFJ2WjJkc1pVTnZiR3hoY0hObElEMGdkSEpwWjJkbGNpQTlQaUI3WEc0Z0lDQWdZMjl1YzNRZ2V5QnVZWFpwWjJGMGFXOXVMQ0JqY21WaGRHVkJibUZzZVhScFkzTkZkbVZ1ZENCOUlEMGdkR2hwY3k1d2NtOXdjenRjYmlBZ0lDQmpiMjV6ZENCdVpYZERiMnhzWVhCelpXUlRkR0YwWlNBOUlDRnVZWFpwWjJGMGFXOXVMbk4wWVhSbExtbHpRMjlzYkdGd2MyVmtPMXh1SUNBZ0lHNWhkbWxuWVhScGIyNHVkRzluWjJ4bFEyOXNiR0Z3YzJVb0tUdGNiaUFnSUNCdVlYWnBaMkYwYVc5dVJYaHdZVzVrWldSRGIyeHNZWEJ6WldRb1kzSmxZWFJsUVc1aGJIbDBhV056UlhabGJuUXNJSHRjYmlBZ0lDQWdJSFJ5YVdkblpYSXNYRzRnSUNBZ0lDQnBjME52Ykd4aGNITmxaRG9nYm1WM1EyOXNiR0Z3YzJWa1UzUmhkR1VzWEc0Z0lDQWdmU2s3WEc0Z0lIMDdYRzVjYmlBZ2FHRnVaR3hsVW1WemFYcGxVM1JoY25RZ1BTQmxkbVZ1ZENBOVBpQjdYRzRnSUNBZ1kyOXVjM1FnYVc1cGRHbGhiRmdnUFNCbGRtVnVkQzV3WVdkbFdEdGNibHh1SUNBZ0lIUm9hWE11YzJWMFUzUmhkR1VvZXlCcGJtbDBhV0ZzV0N3Z2JXOTFjMlZKYzBSdmQyNDZJSFJ5ZFdVZ2ZTazdYRzVjYmlBZ0lDQXZMeUJoZEhSaFkyZ2dhR0Z1Wkd4bGNuTWdLR2hoYm1Sc1pWSmxjMmw2WlZOMFlYSjBJR2x6SUdFZ1ltOTFibVFnZEc4Z2IyNU5iM1Z6WlVSdmQyNHBYRzRnSUNBZ2QybHVaRzkzTG1Ga1pFVjJaVzUwVEdsemRHVnVaWElvSjIxdmRYTmxiVzkyWlNjc0lIUm9hWE11YUdGdVpHeGxVbVZ6YVhwbEtUdGNiaUFnSUNCM2FXNWtiM2N1WVdSa1JYWmxiblJNYVhOMFpXNWxjaWduYlc5MWMyVjFjQ2NzSUhSb2FYTXVhR0Z1Wkd4bFVtVnphWHBsUlc1a0tUdGNiaUFnZlR0Y2JseHVJQ0JwYm1sMGFXRnNhWHBsUkhKaFp5QTlJR1YyWlc1MElEMCtJSHRjYmlBZ0lDQmpiMjV6ZENCN0lHNWhkbWxuWVhScGIyNGdmU0E5SUhSb2FYTXVjSEp2Y0hNN1hHNGdJQ0FnWTI5dWMzUWdaR1ZzZEdFZ1BTQmxkbVZ1ZEM1d1lXZGxXQ0F0SUhSb2FYTXVjM1JoZEdVdWFXNXBkR2xoYkZnN1hHNGdJQ0FnWTI5dWMzUWdleUJwYzBOdmJHeGhjSE5sWkNCOUlEMGdibUYyYVdkaGRHbHZiaTV6ZEdGMFpUdGNibHh1SUNBZ0lDOHZJRzl1YkhrZ2FXNXBkR2xoYkdsNlpTQjNhR1Z1SUdSeVlXY2dhVzUwWlc1MGFXOXVJR2x6SUZ3aVpYaHdZVzVrWENKY2JpQWdJQ0JwWmlBb2FYTkRiMnhzWVhCelpXUWdKaVlnWkdWc2RHRWdQRDBnTUNrZ2UxeHVJQ0FnSUNBZ2RHaHBjeTVwYm5aaGJHbGtSSEpoWjBGMGRHVnRjSFJsWkNBOUlIUnlkV1U3WEc0Z0lDQWdJQ0J5WlhSMWNtNDdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2JHVjBJR2x1YVhScFlXeFhhV1IwYUNBOUlHNWhkbWxuWVhScGIyNHVjM1JoZEdVdWNISnZaSFZqZEU1aGRsZHBaSFJvTzF4dUlDQWdJR3hsZENCa2FXUkVjbUZuVDNCbGJpQTlJR1poYkhObE8xeHVYRzRnSUNBZ0x5OGdUazlVUlZ4dUlDQWdJQzh2SUdsbUlIUm9aU0J3Y205a2RXTjBJRzVoZGlCcGN5QmpiMnhzWVhCelpXUWdZVzVrSUhSb1pTQmpiMjV6ZFcxbGNpQnpkR0Z5ZEhNZ1pISmhaMmRwYm1jZ2FYUWdiM0JsYmx4dUlDQWdJQzh2SUhkbElHMTFjM1FnWlhod1lXNWtJR2wwSUdGdVpDQmtjbUZuSUhOb2IzVnNaQ0J6ZEdGeWRDQm1jbTl0SURBdVhHNGdJQ0FnYVdZZ0tHbHpRMjlzYkdGd2MyVmtLU0I3WEc0Z0lDQWdJQ0JwYm1sMGFXRnNWMmxrZEdnZ1BTQkRUMDVVUlU1VVgwNUJWbDlYU1VSVVNGOURUMHhNUVZCVFJVUTdYRzRnSUNBZ0lDQmthV1JFY21GblQzQmxiaUE5SUhSeWRXVTdYRzRnSUNBZ0lDQnVZWFpwWjJGMGFXOXVMbTFoYm5WaGJGSmxjMmw2WlZOMFlYSjBLSHRjYmlBZ0lDQWdJQ0FnY0hKdlpIVmpkRTVoZGxkcFpIUm9PaUJEVDA1VVJVNVVYMDVCVmw5WFNVUlVTRjlEVDB4TVFWQlRSVVFzWEc0Z0lDQWdJQ0FnSUdselEyOXNiR0Z3YzJWa09pQm1ZV3h6WlN4Y2JpQWdJQ0FnSUgwcE8xeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0J1WVhacFoyRjBhVzl1TG0xaGJuVmhiRkpsYzJsNlpWTjBZWEowS0c1aGRtbG5ZWFJwYjI0dWMzUmhkR1VwTzF4dUlDQWdJSDFjYmx4dUlDQWdJSFJvYVhNdWMyVjBVM1JoZEdVb2V5QmthV1JFY21GblQzQmxiaXdnYVc1cGRHbGhiRmRwWkhSb0xDQnBjMFJ5WVdkbmFXNW5PaUIwY25WbElIMHBPMXh1SUNCOU8xeHVYRzRnSUdoaGJtUnNaVkpsYzJsNlpTQTlJSEpoWmlobGRtVnVkQ0E5UGlCN1hHNGdJQ0FnWTI5dWMzUWdleUJ0ZFhSaGRHbHZibEpsWm5NZ2ZTQTlJSFJvYVhNdWNISnZjSE03WEc0Z0lDQWdZMjl1YzNRZ2V5QnBibWwwYVdGc1dDd2dhVzVwZEdsaGJGZHBaSFJvTENCcGMwUnlZV2RuYVc1bkxDQnRiM1Z6WlVselJHOTNiaUI5SUQwZ2RHaHBjeTV6ZEdGMFpUdGNibHh1SUNBZ0lDOHZJRzl1SUc5alkyRnphVzl1SUdFZ2JXOTFjMlVnYlc5MlpTQmxkbVZ1ZENCdlkyTjFjbk1nWW1WbWIzSmxJSFJvWlNCbGRtVnVkQ0JzYVhOMFpXNWxjbk5jYmlBZ0lDQXZMeUJvWVhabElHRWdZMmhoYm1ObElIUnZJR1JsZEdGamFGeHVJQ0FnSUdsbUlDZ2hiVzkxYzJWSmMwUnZkMjRwSUhKbGRIVnlianRjYmx4dUlDQWdJQzh2SUdsdWFYUnBZV3hwZW1VZ1pISmhaMmRwYm1kY2JpQWdJQ0JwWmlBb0lXbHpSSEpoWjJkcGJtY3BJSHRjYmlBZ0lDQWdJSFJvYVhNdWFXNXBkR2xoYkdsNlpVUnlZV2NvWlhabGJuUXBPMXh1SUNBZ0lDQWdjbVYwZFhKdU8xeHVJQ0FnSUgxY2JseHVJQ0FnSUM4dklHRnNiRzkzSUhSb1pTQndjbTlrZFdOMElHNWhkaUIwYnlCaVpTQTNOU1VnYjJZZ2RHaGxJR0YyWVdsc1lXSnNaU0J3WVdkbElIZHBaSFJvWEc0Z0lDQWdZMjl1YzNRZ2JXRjRWMmxrZEdnZ1BTQk5ZWFJvTG5KdmRXNWtLQ2gzYVc1a2IzY3VhVzV1WlhKWGFXUjBhQ0F2SURRcElDb2dNeWs3WEc0Z0lDQWdZMjl1YzNRZ2JXbHVWMmxrZEdnZ1BTQkRUMDVVUlU1VVgwNUJWbDlYU1VSVVNGOURUMHhNUVZCVFJVUTdYRzRnSUNBZ1kyOXVjM1FnWVdScWRYTjBaV1JOWVhnZ1BTQnRZWGhYYVdSMGFDQXRJR2x1YVhScFlXeFhhV1IwYUNBdElFZE1UMEpCVEY5T1FWWmZWMGxFVkVnN1hHNGdJQ0FnWTI5dWMzUWdZV1JxZFhOMFpXUk5hVzRnUFNCdGFXNVhhV1IwYUNBdElHbHVhWFJwWVd4WGFXUjBhRHRjYmx4dUlDQWdJR052Ym5OMElHUmxiSFJoSUQwZ1RXRjBhQzV0WVhnb1hHNGdJQ0FnSUNCTllYUm9MbTFwYmlobGRtVnVkQzV3WVdkbFdDQXRJR2x1YVhScFlXeFlMQ0JoWkdwMWMzUmxaRTFoZUNrc1hHNGdJQ0FnSUNCaFpHcDFjM1JsWkUxcGJpeGNiaUFnSUNBcE8xeHVJQ0FnSUdOdmJuTjBJSGRwWkhSb0lEMGdhVzVwZEdsaGJGZHBaSFJvSUNzZ1pHVnNkR0U3WEc1Y2JpQWdJQ0F2THlCaGNIQnNlU0IxY0dSaGRHVmtJSE4wZVd4bGN5QjBieUIwYUdVZ1lYQndiR2xqWVdKc1pTQkVUMDBnYm05a1pYTmNiaUFnSUNCMWNHUmhkR1ZTWlhOcGVtVkJjbVZoVUc5emFYUnBiMjRvYlhWMFlYUnBiMjVTWldaekxDQjNhV1IwYUNrN1hHNWNiaUFnSUNBdkx5Qk9UMVJGT2lCb2FXcGhZMnNnZEdobElHMWhkV0ZzSUhKbGMybDZaU0JoYm1RZ1ptOXlZMlVnWTI5c2JHRndjMlVzSUdOaGJtTmxiSE1nYlc5MWMyVWdaWFpsYm5SelhHNGdJQ0FnYVdZZ0tHVjJaVzUwTG1Oc2FXVnVkRmdnUENBd0tTQjdYRzRnSUNBZ0lDQjBhR2x6TG5ObGRGTjBZWFJsS0hzZ2QybGtkR2c2SUVOUFRsUkZUbFJmVGtGV1gxZEpSRlJJWDBOUFRFeEJVRk5GUkNCOUtUdGNiaUFnSUNBZ0lIUm9hWE11YUdGdVpHeGxVbVZ6YVhwbFJXNWtLQ2s3WEc0Z0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lDOHZJRzFoYVc1MFlXbHVJR2x1ZEdWeWJtRnNJSGRwWkhSb0xDQmhjSEJzYVdWa0lIUnZJRzVoZG1sbllYUnBiMjRnYzNSaGRHVWdiMjRnY21WemFYcGxJR1Z1WkZ4dUlDQWdJQ0FnZEdocGN5NXpaWFJUZEdGMFpTaDdJR1JsYkhSaExDQjNhV1IwYUNCOUtUdGNiaUFnSUNCOVhHNGdJSDBwTzF4dVhHNGdJR2hoYm1Sc1pWSmxjMmw2WlVWdVpDQTlJQ2dwSUQwK0lIdGNiaUFnSUNCamIyNXpkQ0I3SUc1aGRtbG5ZWFJwYjI0c0lHTnlaV0YwWlVGdVlXeDVkR2xqYzBWMlpXNTBJSDBnUFNCMGFHbHpMbkJ5YjNCek8xeHVJQ0FnSUdOdmJuTjBJSHNnWkdWc2RHRXNJR1JwWkVSeVlXZFBjR1Z1TENCcGMwUnlZV2RuYVc1bkxDQjNhV1IwYURvZ1kzVnljbVZ1ZEZkcFpIUm9JSDBnUFNCMGFHbHpMbk4wWVhSbE8xeHVJQ0FnSUdOdmJuTjBJR1Y0Y0dGdVpGUm9jbVZ6YUc5c1pDQTlJREkwTzF4dUlDQWdJR052Ym5OMElISmxjMmw2WlhKRGJHbGphMlZrSUQwZ0lXbHpSSEpoWjJkcGJtY2dKaVlnSVhSb2FYTXVhVzUyWVd4cFpFUnlZV2RCZEhSbGJYQjBaV1E3WEc0Z0lDQWdiR1YwSUhCMVlteHBjMmhYYVdSMGFDQTlJR04xY25KbGJuUlhhV1IwYUR0Y2JpQWdJQ0JzWlhRZ2MyaHZkV3hrUTI5c2JHRndjMlVnUFNCbVlXeHpaVHRjYmx4dUlDQWdJQzh2SUdOb1pXTnJJR2xtSUhSb1pTQnBiblJsYm5ScGIyNGdkMkZ6SUdwMWMzUWdZU0JqYkdsamF5d2dZVzVrSUhSdloyZHNaVnh1SUNBZ0lHbG1JQ2h5WlhOcGVtVnlRMnhwWTJ0bFpDa2dlMXh1SUNBZ0lDQWdjSFZpYkdsemFGZHBaSFJvSUQwZ1RXRjBhQzV0WVhnb1EwOU9WRVZPVkY5T1FWWmZWMGxFVkVnc0lHTjFjbkpsYm5SWGFXUjBhQ2s3WEc0Z0lDQWdJQ0IwYUdsekxuUnZaMmRzWlVOdmJHeGhjSE5sS0NkeVpYTnBlbVZ5UTJ4cFkyc25LVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQXZMeUJ3Y21WMlpXNTBJSFJvWlNCMWMyVnlJR1p5YjIwZ1kzSmxZWFJwYm1jZ1lXNGdkVzUxYzJGaWJHVWdkMmxrZEdoY2JpQWdJQ0JwWmlBb2NIVmliR2x6YUZkcFpIUm9JRHdnUTA5T1ZFVk9WRjlPUVZaZlYwbEVWRWdwSUh0Y2JpQWdJQ0FnSUhCMVlteHBjMmhYYVdSMGFDQTlJRU5QVGxSRlRsUmZUa0ZXWDFkSlJGUklPMXh1SUNBZ0lDQWdhV1lnS0dScFpFUnlZV2RQY0dWdUlDWW1JR1JsYkhSaElENGdaWGh3WVc1a1ZHaHlaWE5vYjJ4a0tTQjdYRzRnSUNBZ0lDQWdJSE5vYjNWc1pFTnZiR3hoY0hObElEMGdabUZzYzJVN1hHNGdJQ0FnSUNCOUlHVnNjMlVnYVdZZ0tHTjFjbkpsYm5SWGFXUjBhQ0E4SUVkTVQwSkJURjlPUVZaZlEwOU1URUZRVTBWZlZFaFNSVk5JVDB4RUtTQjdYRzRnSUNBZ0lDQWdJSE5vYjNWc1pFTnZiR3hoY0hObElEMGdkSEoxWlR0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdjMmh2ZFd4a1EyOXNiR0Z3YzJVZ1BTQnVZWFpwWjJGMGFXOXVMbk4wWVhSbExtbHpRMjlzYkdGd2MyVmtPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2hjYmlBZ0lDQWdJQ0Z5WlhOcGVtVnlRMnhwWTJ0bFpDQW1KbHh1SUNBZ0lDQWdLQ2hrYVdSRWNtRm5UM0JsYmlBbUppQWhjMmh2ZFd4a1EyOXNiR0Z3YzJVcElIeDhJQ2doWkdsa1JISmhaMDl3Wlc0Z0ppWWdjMmh2ZFd4a1EyOXNiR0Z3YzJVcEtWeHVJQ0FnSUNrZ2UxeHVJQ0FnSUNBZ2JtRjJhV2RoZEdsdmJrVjRjR0Z1WkdWa1EyOXNiR0Z3YzJWa0tHTnlaV0YwWlVGdVlXeDVkR2xqYzBWMlpXNTBMQ0I3WEc0Z0lDQWdJQ0FnSUhSeWFXZG5aWEk2SUNkeVpYTnBlbVZ5UkhKaFp5Y3NYRzRnSUNBZ0lDQWdJR2x6UTI5c2JHRndjMlZrT2lCemFHOTFiR1JEYjJ4c1lYQnpaU3hjYmlBZ0lDQWdJSDBwTzF4dUlDQWdJSDFjYmx4dUlDQWdJQzh2SUhKbGMyVjBJR1YyWlhKNWRHaHBibWRjYmlBZ0lDQjBhR2x6TG1sdWRtRnNhV1JFY21GblFYUjBaVzF3ZEdWa0lEMGdabUZzYzJVN1hHNGdJQ0FnZEdocGN5NXpaWFJUZEdGMFpTaDdYRzRnSUNBZ0lDQmthV1JFY21GblQzQmxiam9nWm1Gc2MyVXNYRzRnSUNBZ0lDQnBjMFJ5WVdkbmFXNW5PaUJtWVd4elpTeGNiaUFnSUNBZ0lHMXZkWE5sU1hORWIzZHVPaUJtWVd4elpTeGNiaUFnSUNBZ0lIZHBaSFJvT2lCd2RXSnNhWE5vVjJsa2RHZ3NYRzRnSUNBZ2ZTazdYRzVjYmlBZ0lDQXZMeUJ3ZFdKc2FYTm9JSFJvWlNCdVpYY2dkMmxrZEdnc0lHOXVZMlVnY21WemFYcHBibWNnWTI5dGNHeGxkR1Z6WEc0Z0lDQWdibUYyYVdkaGRHbHZiaTV0WVc1MVlXeFNaWE5wZW1WRmJtUW9lMXh1SUNBZ0lDQWdjSEp2WkhWamRFNWhkbGRwWkhSb09pQndkV0pzYVhOb1YybGtkR2dzWEc0Z0lDQWdJQ0JwYzBOdmJHeGhjSE5sWkRvZ2MyaHZkV3hrUTI5c2JHRndjMlVzWEc0Z0lDQWdmU2s3WEc1Y2JpQWdJQ0JwWmlBb2MyaHZkV3hrVW1WelpYUkhjbUZpUVhKbFlTaGpkWEp5Wlc1MFYybGtkR2dwS1NCN1hHNGdJQ0FnSUNCMWNHUmhkR1ZTWlhOcGVtVkJjbVZoVUc5emFYUnBiMjRvZEdocGN5NXdjbTl3Y3k1dGRYUmhkR2x2YmxKbFpuTXNJRU5QVGxSRlRsUmZUa0ZXWDFkSlJGUklLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQXZMeUJqYkdWaGJuVndYRzRnSUNBZ2QybHVaRzkzTG5KbGJXOTJaVVYyWlc1MFRHbHpkR1Z1WlhJb0oyMXZkWE5sYlc5MlpTY3NJSFJvYVhNdWFHRnVaR3hsVW1WemFYcGxLVHRjYmlBZ0lDQjNhVzVrYjNjdWNtVnRiM1psUlhabGJuUk1hWE4wWlc1bGNpZ25iVzkxYzJWMWNDY3NJSFJvYVhNdWFHRnVaR3hsVW1WemFYcGxSVzVrS1R0Y2JpQWdmVHRjYmx4dUlDQnlaVzVrWlhJb0tTQjdYRzRnSUNBZ1kyOXVjM1FnZTF4dUlDQWdJQ0FnYVhORWNtRm5aMmx1Wnl4Y2JpQWdJQ0FnSUcxdmRYTmxTWE5FYjNkdUxGeHVJQ0FnSUNBZ2JXOTFjMlZKYzA5MlpYSkhjbUZpUVhKbFlTeGNiaUFnSUNBZ0lITm9iM2RIY21GaVFYSmxZU3hjYmlBZ0lDQjlJRDBnZEdocGN5NXpkR0YwWlR0Y2JpQWdJQ0JqYjI1emRDQjdYRzRnSUNBZ0lDQmpiMnhzWVhCelpWUnZaMmRzWlZSdmIyeDBhWEJEYjI1MFpXNTBMRnh1SUNBZ0lDQWdaWGh3WVc1a1EyOXNiR0Z3YzJWQlptWnZjbVJoYm1ObFVtVm1MRnh1SUNBZ0lDQWdabXg1YjNWMFNYTlBjR1Z1TEZ4dUlDQWdJQ0FnYVhORWFYTmhZbXhsWkRvZ2FYTlNaWE5wZW1WRWFYTmhZbXhsWkN4Y2JpQWdJQ0FnSUdselIzSmhZa0Z5WldGRWFYTmhZbXhsWkN4Y2JpQWdJQ0FnSUc5dVRXOTFjMlZQZG1WeVFuVjBkRzl1UW5WbVptVnlMRnh1SUNBZ0lDQWdibUYyYVdkaGRHbHZiaXhjYmlBZ0lDQjlJRDBnZEdocGN5NXdjbTl3Y3p0Y2JpQWdJQ0JqYjI1emRDQjdJR2x6UTI5c2JHRndjMlZrSUgwZ1BTQnVZWFpwWjJGMGFXOXVMbk4wWVhSbE8xeHVYRzRnSUNBZ0x5OGdkR2hsSUdKMWRIUnZiaUJ6YUc5MWJHUnVKM1FnWENKbWJHbHdYQ0lnZFc1MGFXd2dkR2hsSUdSeVlXY2dhWE1nWTI5dGNHeGxkR1ZjYmlBZ0lDQnNaWFFnUW5WMGRHOXVTV052YmlBOUlFTm9aWFp5YjI1TVpXWjBPMXh1SUNBZ0lHbG1JQ2hwYzBOdmJHeGhjSE5sWkNrZ1FuVjBkRzl1U1dOdmJpQTlJRU5vWlhaeWIyNVNhV2RvZER0Y2JseHVJQ0FnSUdOdmJuTjBJR0oxZEhSdmJpQTlJQ2hjYmlBZ0lDQWdJRHhDZFhSMGIyNWNiaUFnSUNBZ0lDQWdiMjVEYkdsamF6MTdkR2hwY3k1dmJsSmxjMmw2WlhKRGFHVjJjbTl1UTJ4cFkydDlYRzRnSUNBZ0lDQWdJRzl1VFc5MWMyVkViM2R1UFh0d2NtVjJaVzUwUkdWbVlYVnNkSDFjYmlBZ0lDQWdJQ0FnYUdsMFFYSmxZVk5wZW1VOWUyOXVUVzkxYzJWUGRtVnlRblYwZEc5dVFuVm1abVZ5SUQ4Z0oyeGhjbWRsSnlBNklDZHpiV0ZzYkNkOVhHNGdJQ0FnSUNBZ0lDOHZJRzFoYVc1MFlXbHVJSE4wZVd4bGN5QjNhR1Z1SUhWelpYSWdhWE1nWkhKaFoyZHBibWRjYmlBZ0lDQWdJQ0FnYVhOV2FYTnBZbXhsUFh0cGMwTnZiR3hoY0hObFpDQjhmQ0J0YjNWelpVbHpSRzkzYm4xY2JpQWdJQ0FnSUNBZ2FHRnpTR2xuYUd4cFoyaDBQWHR0YjNWelpVbHpSRzkzYmlCOGZDQnRiM1Z6WlVselQzWmxja2R5WVdKQmNtVmhmVnh1SUNBZ0lDQWdJQ0JwYm01bGNsSmxaajE3Wlhod1lXNWtRMjlzYkdGd2MyVkJabVp2Y21SaGJtTmxVbVZtZlZ4dUlDQWdJQ0FnSUNCaGNtbGhMV1Y0Y0dGdVpHVmtQWHNoYVhORGIyeHNZWEJ6WldSOVhHNGdJQ0FnSUNBZ0lHRnlhV0V0YkdGaVpXdzlYQ0pVYjJkbmJHVWdibUYyYVdkaGRHbHZibHdpWEc0Z0lDQWdJQ0ErWEc0Z0lDQWdJQ0FnSUR4Q2RYUjBiMjVKWTI5dUlDOCtYRzRnSUNBZ0lDQThMMEoxZEhSdmJqNWNiaUFnSUNBcE8xeHVJQ0FnSUdOdmJuTjBJSE5vWVdSdmQwUnBjbVZqZEdsdmJpQTlJR1pzZVc5MWRFbHpUM0JsYmlBL0lDZDBieUJ5YVdkb2RDY2dPaUFuZEc4Z2JHVm1kQ2M3WEc1Y2JpQWdJQ0J5WlhSMWNtNGdLRnh1SUNBZ0lDQWdQRTkxZEdWeVBseHVJQ0FnSUNBZ0lDQjdhWE5FY21GbloybHVaeUFtSmlBOFFtOWtlVVJ5WVdkRGRYSnpiM0lnTHo1OVhHNGdJQ0FnSUNBZ0lEeFRhR0ZrYjNjZ1pHbHlaV04wYVc5dVBYdHphR0ZrYjNkRWFYSmxZM1JwYjI1OUlHbHpRbTlzWkQxN2JXOTFjMlZKYzBSdmQyNTlJQzgrWEc0Z0lDQWdJQ0FnSUhzaGFYTlNaWE5wZW1WRWFYTmhZbXhsWkNBbUppQW9YRzRnSUNBZ0lDQWdJQ0FnUEVaeVlXZHRaVzUwUGx4dUlDQWdJQ0FnSUNBZ0lDQWdleUZwYzBkeVlXSkJjbVZoUkdsellXSnNaV1FnSmlZZ2MyaHZkMGR5WVdKQmNtVmhJQ1ltSUNoY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnUEVkeVlXSkJjbVZoWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYVhOQ2IyeGtQWHR0YjNWelpVbHpSRzkzYm4xY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCemFHOTNTR0Z1Wkd4bFBYdHRiM1Z6WlVselJHOTNiaUI4ZkNCdGIzVnpaVWx6VDNabGNrZHlZV0pCY21WaGZWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHOXVUVzkxYzJWRmJuUmxjajE3ZEdocGN5NXRiM1Z6WlVWdWRHVnlSM0poWWtGeVpXRjlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdiMjVOYjNWelpVeGxZWFpsUFh0MGFHbHpMbTF2ZFhObFRHVmhkbVZIY21GaVFYSmxZWDFjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J2YmsxdmRYTmxSRzkzYmoxN2RHaHBjeTVvWVc1a2JHVlNaWE5wZW1WVGRHRnlkSDFjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdMejVjYmlBZ0lDQWdJQ0FnSUNBZ0lDbDlYRzRnSUNBZ0lDQWdJQ0FnSUNBOFpHbDJJRzl1VFc5MWMyVlBkbVZ5UFhzaFpteDViM1YwU1hOUGNHVnVJRDhnYjI1TmIzVnpaVTkyWlhKQ2RYUjBiMjVDZFdabVpYSWdPaUJ1ZFd4c2ZUNWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ2UyTnZiR3hoY0hObFZHOW5aMnhsVkc5dmJIUnBjRU52Ym5SbGJuUWdQeUFvWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnUEZSdmIyeDBhWEJjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdOdmJuUmxiblE5ZTIxaGEyVlViMjlzZEdsd1RtOWtaU2hjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1kyOXNiR0Z3YzJWVWIyZG5iR1ZVYjI5c2RHbHdRMjl1ZEdWdWRDaHBjME52Ykd4aGNITmxaQ2tzWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBcGZWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdaR1ZzWVhrOWV6WXdNSDFjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdocFpHVlViMjlzZEdsd1QyNURiR2xqYTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2NHOXphWFJwYjI0OVhDSnlhV2RvZEZ3aVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1BseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdlMkoxZEhSdmJuMWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQThMMVJ2YjJ4MGFYQStYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDa2dPaUFvWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWW5WMGRHOXVYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDbDlYRzRnSUNBZ0lDQWdJQ0FnSUNBOEwyUnBkajVjYmlBZ0lDQWdJQ0FnSUNBOEwwWnlZV2R0Wlc1MFBseHVJQ0FnSUNBZ0lDQXBmVnh1SUNBZ0lDQWdQQzlQZFhSbGNqNWNiaUFnSUNBcE8xeHVJQ0I5WEc1OVhHNWNibVY0Y0c5eWRDQjdJRkpsYzJsNlpVTnZiblJ5YjJ3Z1lYTWdVbVZ6YVhwbFEyOXVkSEp2YkVKaGMyVWdmVHRjYmx4dVpYaHdiM0owSUdSbFptRjFiSFFnZDJsMGFFRnVZV3g1ZEdsamMwVjJaVzUwY3lncEtGSmxjMmw2WlVOdmJuUnliMndwTzF4dUlsMTkgKi9cIilcbiAgfSwgcHJvcHMpKTtcbn07XG5cbmV4cG9ydCB2YXIgR3JhYkFyZWEgPSBmdW5jdGlvbiBHcmFiQXJlYShfcmVmKSB7XG4gIHZhciBzaG93SGFuZGxlID0gX3JlZi5zaG93SGFuZGxlLFxuICAgICAgaXNCb2xkID0gX3JlZi5pc0JvbGQsXG4gICAgICBwcm9wcyA9IF9vYmplY3RXaXRob3V0UHJvcGVydGllcyhfcmVmLCBbXCJzaG93SGFuZGxlXCIsIFwiaXNCb2xkXCJdKTtcblxuICByZXR1cm4gX19fRW1vdGlvbkpTWChcImRpdlwiLCBfZXh0ZW5kcyh7XG4gICAgY3NzOlxuICAgIC8qI19fUFVSRV9fKi9cbiAgICBfY3NzKHtcbiAgICAgIGN1cnNvcjogJ2V3LXJlc2l6ZScsXG4gICAgICBoZWlnaHQ6ICcxMDAlJyxcbiAgICAgIGxlZnQ6IC1IQU5ETEVfT0ZGU0VULFxuICAgICAgcG9zaXRpb246ICdyZWxhdGl2ZScsXG4gICAgICB3aWR0aDogT1VURVJfV0lEVEhcbiAgICB9LCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyBcIlwiIDogXCIvKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJaTR1THk0dUx5NHVMeTR1THk0dUwzTnlZeTlqYjIxd2IyNWxiblJ6TDNCeVpYTmxiblJoZEdsdmJtRnNMMHhoZVc5MWRFMWhibUZuWlhJdlVtVnphWHBsUTI5dWRISnZiQzVxY3lKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGM1JFa2lMQ0ptYVd4bElqb2lMaTR2TGk0dkxpNHZMaTR2TGk0dmMzSmpMMk52YlhCdmJtVnVkSE12Y0hKbGMyVnVkR0YwYVc5dVlXd3ZUR0Y1YjNWMFRXRnVZV2RsY2k5U1pYTnBlbVZEYjI1MGNtOXNMbXB6SWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaWFXMXdiM0owSUZKbFlXTjBMQ0I3SUVaeVlXZHRaVzUwTENCUWRYSmxRMjl0Y0c5dVpXNTBJSDBnWm5KdmJTQW5jbVZoWTNRbk8xeHVYRzVwYlhCdmNuUWdleUJIYkc5aVlXd2dmU0JtY205dElDZEFaVzF2ZEdsdmJpOWpiM0psSnp0Y2JtbHRjRzl5ZENCeVlXWWdabkp2YlNBbmNtRm1MWE5qYUdRbk8xeHVYRzVwYlhCdmNuUWdleUIzYVhSb1FXNWhiSGwwYVdOelJYWmxiblJ6SUgwZ1puSnZiU0FuUUdGMGJHRnphMmwwTDJGdVlXeDVkR2xqY3kxdVpYaDBKenRjYm1sdGNHOXlkQ0JEYUdWMmNtOXVUR1ZtZENCbWNtOXRJQ2RBWVhSc1lYTnJhWFF2YVdOdmJpOW5iSGx3YUM5amFHVjJjbTl1TFd4bFpuUW5PMXh1YVcxd2IzSjBJRU5vWlhaeWIyNVNhV2RvZENCbWNtOXRJQ2RBWVhSc1lYTnJhWFF2YVdOdmJpOW5iSGx3YUM5amFHVjJjbTl1TFhKcFoyaDBKenRjYm1sdGNHOXlkQ0FxSUdGeklHTnZiRzl5Y3lCbWNtOXRJQ2RBWVhSc1lYTnJhWFF2ZEdobGJXVXZZMjlzYjNKekp6dGNibWx0Y0c5eWRDQlViMjlzZEdsd0lHWnliMjBnSjBCaGRHeGhjMnRwZEM5MGIyOXNkR2x3Snp0Y2JseHVhVzF3YjNKMElIc2dibUYyYVdkaGRHbHZia1Y0Y0dGdVpHVmtRMjlzYkdGd2MyVmtJSDBnWm5KdmJTQW5MaTR2TGk0dkxpNHZZMjl0Ylc5dUwyRnVZV3g1ZEdsamN5YzdYRzVwYlhCdmNuUWdlMXh1SUNCRFQwNVVSVTVVWDA1QlZsOVhTVVJVU0N4Y2JpQWdRMDlPVkVWT1ZGOU9RVlpmVjBsRVZFaGZRMDlNVEVGUVUwVkVMRnh1SUNCSFRFOUNRVXhmVGtGV1gwTlBURXhCVUZORlgxUklVa1ZUU0U5TVJDeGNiaUFnUjB4UFFrRk1YMDVCVmw5WFNVUlVTQ3hjYm4wZ1puSnZiU0FuTGk0dkxpNHZMaTR2WTI5dGJXOXVMMk52Ym5OMFlXNTBjeWM3WEc1cGJYQnZjblFnZXlCVGFHRmtiM2NnZlNCbWNtOXRJQ2N1TGk4dUxpOHVMaTlqYjIxdGIyNHZjSEpwYldsMGFYWmxjeWM3WEc1Y2JtTnZibk4wSUVoQlRrUk1SVjlQUmtaVFJWUWdQU0EwTzF4dVkyOXVjM1FnU1U1T1JWSmZWMGxFVkVnZ1BTQXlNRHRjYm1OdmJuTjBJRTlWVkVWU1gxZEpSRlJJSUQwZ1NVNU9SVkpmVjBsRVZFZ2dLeUJJUVU1RVRFVmZUMFpHVTBWVU8xeHVZMjl1YzNRZ1NFRk9SRXhGWDFkSlJGUklJRDBnTWp0Y2JtTnZibk4wSUhOb2IzVnNaRkpsYzJWMFIzSmhZa0Z5WldFZ1BTQjNhV1IwYUNBOVBpQjdYRzRnSUhKbGRIVnliaUIzYVdSMGFDQStQU0JIVEU5Q1FVeGZUa0ZXWDBOUFRFeEJVRk5GWDFSSVVrVlRTRTlNUkNBbUppQjNhV1IwYUNBOElFTlBUbFJGVGxSZlRrRldYMWRKUkZSSU8xeHVmVHRjYm1OdmJuTjBJSEJ5WlhabGJuUkVaV1poZFd4MElEMGdaWFpsYm5RZ1BUNGdaWFpsYm5RdWNISmxkbVZ1ZEVSbFptRjFiSFFvS1R0Y2JseHVaWGh3YjNKMElHTnZibk4wSUVKdlpIbEVjbUZuUTNWeWMyOXlJRDBnS0NrZ1BUNGdLRnh1SUNBOFIyeHZZbUZzWEc0Z0lDQWdjM1I1YkdWelBYdDdYRzRnSUNBZ0lDQmliMlI1T2lCN1hHNGdJQ0FnSUNBZ0lHTjFjbk52Y2pvZ0oyVjNMWEpsYzJsNlpTY3NYRzRnSUNBZ0lDQjlMRnh1SUNBZ0lIMTlYRzRnSUM4K1hHNHBPMXh1WEc1amIyNXpkQ0JQZFhSbGNpQTlJSEJ5YjNCeklEMCtJQ2hjYmlBZ1BHUnBkbHh1SUNBZ0lHTnpjejE3ZTF4dUlDQWdJQ0FnWW05MGRHOXRPaUF3TEZ4dUlDQWdJQ0FnYkdWbWREb2dKekV3TUNVbkxGeHVJQ0FnSUNBZ2NHOXphWFJwYjI0NklDZGhZbk52YkhWMFpTY3NYRzRnSUNBZ0lDQjBiM0E2SURBc1hHNGdJQ0FnSUNCMGNtRnVjMlp2Y20wNklDZDBjbUZ1YzJ4aGRHVmFLREFwSnl4Y2JpQWdJQ0FnSUhkcFpIUm9PaUJQVlZSRlVsOVhTVVJVU0N4Y2JpQWdJQ0FnSUhwSmJtUmxlRG9nTXl3Z0x5OGdhR2xuYUdWeUlIUm9ZVzRnZEdobElITmpjbTlzYkNCb2FXNTBJR3hwYm1WelhHNGdJQ0FnZlgxY2JpQWdJQ0I3TGk0dWNISnZjSE45WEc0Z0lDOCtYRzRwTzF4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnUjNKaFlrRnlaV0VnUFNBb2V5QnphRzkzU0dGdVpHeGxMQ0JwYzBKdmJHUXNJQzR1TG5CeWIzQnpJSDBwSUQwK0lDaGNiaUFnUEdScGRseHVJQ0FnSUdOemN6MTdlMXh1SUNBZ0lDQWdZM1Z5YzI5eU9pQW5aWGN0Y21WemFYcGxKeXhjYmlBZ0lDQWdJR2hsYVdkb2REb2dKekV3TUNVbkxGeHVJQ0FnSUNBZ2JHVm1kRG9nTFVoQlRrUk1SVjlQUmtaVFJWUXNYRzRnSUNBZ0lDQndiM05wZEdsdmJqb2dKM0psYkdGMGFYWmxKeXhjYmlBZ0lDQWdJSGRwWkhSb09pQlBWVlJGVWw5WFNVUlVTQ3hjYmlBZ0lDQjlmVnh1SUNBZ0lIc3VMaTV3Y205d2MzMWNiaUFnUGx4dUlDQWdJRHhrYVhaY2JpQWdJQ0FnSUdOemN6MTdlMXh1SUNBZ0lDQWdJQ0JpWVdOclozSnZkVzVrUTI5c2IzSTZJR2x6UW05c1pDQS9JR052Ykc5eWN5NUNNakF3SURvZ1kyOXNiM0p6TGtJeE1EQXNYRzRnSUNBZ0lDQWdJRzl3WVdOcGRIazZJSE5vYjNkSVlXNWtiR1VnUHlBeElEb2dNQ3hjYmlBZ0lDQWdJQ0FnYUdWcFoyaDBPaUFuTVRBd0pTY3NYRzRnSUNBZ0lDQWdJR3hsWm5RNklFaEJUa1JNUlY5UFJrWlRSVlFnTFNCSVFVNUVURVZmVjBsRVZFZ2dMeUF5TENBdkx5QjBhR1VnYUdGdVpHeGxJSE5vYjNWc1pDQmNJbk4wY21Ga1pHeGxYQ0lnZEdobElHUnBkbWxrYVc1bklHeHBibVZjYmlBZ0lDQWdJQ0FnY0c5emFYUnBiMjQ2SUNkaFluTnZiSFYwWlNjc1hHNGdJQ0FnSUNBZ0lIUnlZVzV6YVhScGIyNDZJQ2R2Y0dGamFYUjVJREl3TUcxekp5eGNiaUFnSUNBZ0lDQWdkMmxrZEdnNklFaEJUa1JNUlY5WFNVUlVTQ3hjYmlBZ0lDQWdJSDE5WEc0Z0lDQWdMejVjYmlBZ1BDOWthWFkrWEc0cE8xeHVZMjl1YzNRZ2JHRnlaMlZJYVhSQmNtVmhJRDBnZTF4dUlDQnNaV1owT2lBdE9DeGNiaUFnY21sbmFIUTZJQzB4TWl4Y2JpQWdZbTkwZEc5dE9pQXRPQ3hjYmlBZ2RHOXdPaUF0T0N4Y2JuMDdYRzVqYjI1emRDQnpiV0ZzYkVocGRFRnlaV0VnUFNCN1hHNGdJR3hsWm5RNklDMDBMRnh1SUNCeWFXZG9kRG9nTFRRc1hHNGdJR0p2ZEhSdmJUb2dMVFFzWEc0Z0lIUnZjRG9nTFRRc1hHNTlPMXh1WEc1amIyNXpkQ0JDZFhSMGIyNGdQU0FvZTF4dUlDQmphR2xzWkhKbGJpeGNiaUFnYUdGelNHbG5hR3hwWjJoMExGeHVJQ0JwYm01bGNsSmxaaXhjYmlBZ2FYTldhWE5wWW14bExGeHVJQ0JvYVhSQmNtVmhVMmw2WlN4Y2JpQWdMaTR1Y0hKdmNITmNibjBwSUQwK0lDaGNiaUFnUEdKMWRIUnZibHh1SUNBZ0lHTnNZWE56VG1GdFpUMWNJbUZyTFc1aGRtbG5ZWFJwYjI0dGNtVnphWHBsTFdKMWRIUnZibHdpWEc0Z0lDQWdkSGx3WlQxY0ltSjFkSFJ2Ymx3aVhHNGdJQ0FnY21WbVBYdHBibTVsY2xKbFpuMWNiaUFnSUNCamMzTTllM3RjYmlBZ0lDQWdJR0poWTJ0bmNtOTFibVE2SURBc1hHNGdJQ0FnSUNCaVlXTnJaM0p2ZFc1a1EyOXNiM0k2SUNkM2FHbDBaU2NzWEc0Z0lDQWdJQ0JpYjNKa1pYSTZJREFzWEc0Z0lDQWdJQ0JpYjNKa1pYSlNZV1JwZFhNNklDYzFNQ1VuTEZ4dUlDQWdJQ0FnWW05NFUyaGhaRzkzT2lCZ01DQXdJREFnTVhCNElDUjdZMjlzYjNKekxrNHpNRUY5TENBd0lESndlQ0EwY0hnZ01YQjRJQ1I3WTI5c2IzSnpMazR6TUVGOVlDeGNiaUFnSUNBZ0lHTnZiRzl5T2lCb1lYTklhV2RvYkdsbmFIUWdQeUJqYjJ4dmNuTXVRakV3TUNBNklHTnZiRzl5Y3k1T01qQXdMRnh1SUNBZ0lDQWdZM1Z5YzI5eU9pQW5jRzlwYm5SbGNpY3NYRzRnSUNBZ0lDQm9aV2xuYUhRNklESTBMRnh1SUNBZ0lDQWdiM0JoWTJsMGVUb2dhWE5XYVhOcFlteGxJRDhnTVNBNklEQXNYRzRnSUNBZ0lDQnZkWFJzYVc1bE9pQXdMRnh1SUNBZ0lDQWdjR0ZrWkdsdVp6b2dNQ3hjYmlBZ0lDQWdJSEJ2YzJsMGFXOXVPaUFuWVdKemIyeDFkR1VuTEZ4dUlDQWdJQ0FnZEc5d09pQXpNaXhjYmlBZ0lDQWdJSFJ5WVc1emFYUnBiMjQ2SUdCY2JpQWdJQ0FnSUNBZ1ltRmphMmR5YjNWdVpDMWpiMnh2Y2lBeE1EQnRjeUJzYVc1bFlYSXNYRzRnSUNBZ0lDQWdJR052Ykc5eUlERXdNRzF6SUd4cGJtVmhjaXhjYmlBZ0lDQWdJQ0FnYjNCaFkybDBlU0F6TURCdGN5QmpkV0pwWXkxaVpYcHBaWElvTUM0eUxDQXdMQ0F3TENBeEtTeGNiaUFnSUNBZ0lDQWdkSEpoYm5ObWIzSnRJRE13TUcxeklHTjFZbWxqTFdKbGVtbGxjaWd3TGpJc0lEQXNJREFzSURFcFhHNGdJQ0FnSUNCZ0xGeHVJQ0FnSUNBZ2RISmhibk5tYjNKdE9pQmdkSEpoYm5Oc1lYUmxLQzAxTUNVcFlDeGNiaUFnSUNBZ0lIZHBaSFJvT2lBeU5DeGNibHh1SUNBZ0lDQWdKenBvYjNabGNpYzZJSHRjYmlBZ0lDQWdJQ0FnWW1GamEyZHliM1Z1WkVOdmJHOXlPaUJqYjJ4dmNuTXVRakV3TUN4Y2JpQWdJQ0FnSUNBZ1kyOXNiM0k2SUNkM2FHbDBaU2NzWEc0Z0lDQWdJQ0I5TEZ4dUlDQWdJQ0FnSnpwaFkzUnBkbVVuT2lCN1hHNGdJQ0FnSUNBZ0lHSmhZMnRuY205MWJtUkRiMnh2Y2pvZ1kyOXNiM0p6TGtJeU1EQXNYRzRnSUNBZ0lDQWdJR052Ykc5eU9pQW5kMmhwZEdVbkxGeHVJQ0FnSUNBZ2ZTeGNiaUFnSUNBZ0lDYzZabTlqZFhNbk9pQjdYRzRnSUNBZ0lDQWdJRzl3WVdOcGRIazZJREVzWEc0Z0lDQWdJQ0FnSUdKaFkydG5jbTkxYm1SRGIyeHZjam9nWTI5c2IzSnpMa0l5TURBc1hHNGdJQ0FnSUNBZ0lHTnZiRzl5T2lBbmQyaHBkR1VuTEZ4dUlDQWdJQ0FnZlN4Y2JpQWdJQ0I5ZlZ4dUlDQWdJSHN1TGk1d2NtOXdjMzFjYmlBZ1BseHVJQ0FnSUR4a2FYWmNiaUFnSUNBZ0lDOHZJR2x1WTNKbFlYTmxJR2hwZEMxaGNtVmhYRzRnSUNBZ0lDQmpjM005ZTN0Y2JpQWdJQ0FnSUNBZ2NHOXphWFJwYjI0NklDZGhZbk52YkhWMFpTY3NYRzRnSUNBZ0lDQWdJQzR1TGlob2FYUkJjbVZoVTJsNlpTQTlQVDBnSjNOdFlXeHNKeUEvSUhOdFlXeHNTR2wwUVhKbFlTQTZJR3hoY21kbFNHbDBRWEpsWVNrc1hHNGdJQ0FnSUNCOWZWeHVJQ0FnSUM4K1hHNGdJQ0FnZTJOb2FXeGtjbVZ1ZlZ4dUlDQThMMkoxZEhSdmJqNWNiaWs3WEc1Y2JpOHZJSFJwYm10bGNpQjNhWFJvSUhSb1pTQkVUMDBnWkdseVpXTjBiSGtnWW5rZ2MyVjBkR2x1WnlCemRIbHNaU0J3Y205d1pYSjBhV1Z6TENCMWNHUmhkR1Z6SUhSb1pTQm5jbUZpSUdKaGNpQndiM05wZEdsdmJpQmllU0JqYUdGdVoybHVaeUJ3WVdSa2FXNW5MV3hsWm5RZ1lXNWtJSGRwWkhSb0xseHVablZ1WTNScGIyNGdkWEJrWVhSbFVtVnphWHBsUVhKbFlWQnZjMmwwYVc5dUtHVnNaVzFsYm5SekxDQjNhV1IwYUNrZ2UxeHVJQ0JsYkdWdFpXNTBjeTVtYjNKRllXTm9LQ2g3SUhCeWIzQmxjblI1TENCeVpXWWdmU2tnUFQ0Z2UxeHVJQ0FnSUdOdmJuTjBJRzVsZDFaaGJIVmxJRDBnWUNSN2QybGtkR2g5Y0hoZ08xeHVJQ0FnSUdOdmJuTjBJRzlzWkZaaGJIVmxJRDBnY21WbUxuTjBlV3hsTG1kbGRGQnliM0JsY25SNVZtRnNkV1VvY0hKdmNHVnlkSGtwTzF4dVhHNGdJQ0FnTHk4Z1lYWnZhV1FnZEdoeVlYTm9hVzVuWEc0Z0lDQWdhV1lnS0c5c1pGWmhiSFZsSUQwOVBTQnVaWGRXWVd4MVpTa2djbVYwZFhKdU8xeHVYRzRnSUNBZ0x5OGdaR2x5WldOMElHRjBkSEpwWW5WMFpTQnRZVzVwY0hWc1lYUnBiMjVjYmlBZ0lDQnlaV1l1YzNSNWJHVXVjMlYwVUhKdmNHVnlkSGtvY0hKdmNHVnlkSGtzSUc1bGQxWmhiSFZsS1R0Y2JpQWdmU2s3WEc1OVhHNWNiaTh2SUdobGJIQmxjaUJtYjNJZ2RHOXZiSFJwY0NCamIyNTBaVzUwSUd0bGVXSnZZWEprSUhOb2IzSjBZM1YwSUdocFoyaHNhV2RvZEZ4dVpuVnVZM1JwYjI0Z2JXRnJaVlJ2YjJ4MGFYQk9iMlJsS0hzZ2RHVjRkQ3dnWTJoaGNpQjlLU0I3WEc0Z0lISmxkSFZ5YmlBb1hHNGdJQ0FnUEdScGRseHVJQ0FnSUNBZ1kzTnpQWHQ3WEc0Z0lDQWdJQ0FnSUdGc2FXZHVTWFJsYlhNNklDZGlZWE5sYkdsdVpTY3NYRzRnSUNBZ0lDQWdJR1JwYzNCc1lYazZJQ2RtYkdWNEp5eGNiaUFnSUNBZ0lDQWdiR2x1WlVobGFXZG9kRG9nTVM0ekxGeHVJQ0FnSUNBZ0lDQndZV1JrYVc1blFtOTBkRzl0T2lBeExGeHVJQ0FnSUNBZ0lDQndZV1JrYVc1blZHOXdPaUF4TEZ4dUlDQWdJQ0FnZlgxY2JpQWdJQ0ErWEc0Z0lDQWdJQ0E4YzNCaGJqNTdkR1Y0ZEgwOEwzTndZVzQrWEc0Z0lDQWdJQ0E4WkdsMlhHNGdJQ0FnSUNBZ0lHTnpjejE3ZTF4dUlDQWdJQ0FnSUNBZ0lHSmhZMnRuY205MWJtUkRiMnh2Y2pvZ1kyOXNiM0p6TGs0ME1EQXNYRzRnSUNBZ0lDQWdJQ0FnWW05eVpHVnlVbUZrYVhWek9pQXlMRnh1SUNBZ0lDQWdJQ0FnSUd4cGJtVklaV2xuYUhRNklERXVNaXhjYmlBZ0lDQWdJQ0FnSUNCdFlYSm5hVzVNWldaME9pQTBMRnh1SUNBZ0lDQWdJQ0FnSUhCaFpHUnBibWM2SUNjeGNIZ2dPSEI0Snl4Y2JpQWdJQ0FnSUNBZ2ZYMWNiaUFnSUNBZ0lENWNiaUFnSUNBZ0lDQWdlMk5vWVhKOVhHNGdJQ0FnSUNBOEwyUnBkajVjYmlBZ0lDQThMMlJwZGo1Y2JpQWdLVHRjYm4xY2JseHVMeW9nVGs5VVJUb2daWGh3WlhKcGJXVnVkR0ZzSUhCeWIzQnpJSFZ6WlNCaGJpQjFibVJsY25OamIzSmxJQ292WEc1amJHRnpjeUJTWlhOcGVtVkRiMjUwY205c0lHVjRkR1Z1WkhNZ1VIVnlaVU52YlhCdmJtVnVkQ0I3WEc0Z0lHbHVkbUZzYVdSRWNtRm5RWFIwWlcxd2RHVmtJRDBnWm1Gc2MyVTdYRzVjYmlBZ2JHRnpkRmRwWkhSb08xeHVYRzRnSUhkeVlYQndaWEk3WEc1Y2JpQWdjM1JoZEdVZ1BTQjdYRzRnSUNBZ1pHVnNkR0U2SURBc1hHNGdJQ0FnWkdsa1JISmhaMDl3Wlc0NklHWmhiSE5sTEZ4dUlDQWdJR2x6UkhKaFoyZHBibWM2SUdaaGJITmxMRnh1SUNBZ0lHbHVhWFJwWVd4WGFXUjBhRG9nTUN4Y2JpQWdJQ0JwYm1sMGFXRnNXRG9nTUN4Y2JpQWdJQ0J0YjNWelpVbHpSRzkzYmpvZ1ptRnNjMlVzWEc0Z0lDQWdiVzkxYzJWSmMwOTJaWEpIY21GaVFYSmxZVG9nWm1Gc2MyVXNYRzRnSUNBZ2MyaHZkMGR5WVdKQmNtVmhPaUIwY25WbExGeHVJQ0FnSUhkcFpIUm9PaUIwYUdsekxuQnliM0J6TG01aGRtbG5ZWFJwYjI0dWMzUmhkR1V1Y0hKdlpIVmpkRTVoZGxkcFpIUm9MRnh1SUNCOU8xeHVYRzRnSUhOMFlYUnBZeUJrWldaaGRXeDBVSEp2Y0hNZ1BTQjdYRzRnSUNBZ2FYTkhjbUZpUVhKbFlVUnBjMkZpYkdWa09pQm1ZV3h6WlN4Y2JpQWdmVHRjYmx4dUlDQnpkR0YwYVdNZ1oyVjBSR1Z5YVhabFpGTjBZWFJsUm5KdmJWQnliM0J6S0hCeWIzQnpMQ0J6ZEdGMFpTa2dlMXh1SUNBZ0lHTnZibk4wSUh0Y2JpQWdJQ0FnSUM4dklHVnpiR2x1ZEMxa2FYTmhZbXhsTFc1bGVIUXRiR2x1WlNCallXMWxiR05oYzJWY2JpQWdJQ0FnSUdWNGNHVnlhVzFsYm5SaGJGOW1iSGx2ZFhSUGJraHZkbVZ5T2lCRldGQkZVa2xOUlU1VVFVeGZSa3haVDFWVVgwOU9YMGhQVmtWU0xGeHVJQ0FnSUNBZ1pteDViM1YwU1hOUGNHVnVMRnh1SUNBZ0lDQWdibUYyYVdkaGRHbHZiaXhjYmlBZ0lDQjlJRDBnY0hKdmNITTdYRzRnSUNBZ1kyOXVjM1FnZXlCcGMwTnZiR3hoY0hObFpDQjlJRDBnYm1GMmFXZGhkR2x2Ymk1emRHRjBaVHRjYmx4dUlDQWdJQzh2SUhKbGMyOXNkbVVnWENKb2IzWmxjaUJzYjJOcmFXNW5YQ0lnYVhOemRXVWdkMmwwYUNCeVpYTnBlbVVnWjNKaFlpQmhjbVZoWEc0Z0lDQWdhV1lnS0VWWVVFVlNTVTFGVGxSQlRGOUdURmxQVlZSZlQwNWZTRTlXUlZJcElIdGNiaUFnSUNBZ0lHTnZibk4wSUhOb2IzZEhjbUZpUVhKbFlTQTlJQ0ZwYzBOdmJHeGhjSE5sWkNBbUppQWhabXg1YjNWMFNYTlBjR1Z1TzF4dUlDQWdJQ0FnWTI5dWMzUWdiVzkxYzJWSmMwOTJaWEpIY21GaVFYSmxZU0E5SUhOb2IzZEhjbUZpUVhKbFlWeHVJQ0FnSUNBZ0lDQS9JSE4wWVhSbExtMXZkWE5sU1hOUGRtVnlSM0poWWtGeVpXRmNiaUFnSUNBZ0lDQWdPaUJtWVd4elpUdGNibHh1SUNBZ0lDQWdjbVYwZFhKdUlIdGNiaUFnSUNBZ0lDQWdiVzkxYzJWSmMwOTJaWEpIY21GaVFYSmxZU3hjYmlBZ0lDQWdJQ0FnYzJodmQwZHlZV0pCY21WaExGeHVJQ0FnSUNBZ2ZUdGNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnYm5Wc2JEdGNiaUFnZlZ4dVhHNGdJRzl1VW1WemFYcGxja05vWlhaeWIyNURiR2xqYXlBOUlDZ3BJRDArSUh0Y2JpQWdJQ0JqYjI1emRDQjBjbWxuWjJWeUlEMGdkR2hwY3k1d2NtOXdjeTVtYkhsdmRYUkpjMDl3Wlc0Z1B5QW5ZMmhsZG5KdmJraHZkbVZ5SnlBNklDZGphR1YyY205dUp6dGNiaUFnSUNCMGFHbHpMblJ2WjJkc1pVTnZiR3hoY0hObEtIUnlhV2RuWlhJcE8xeHVJQ0I5TzF4dVhHNGdJRzF2ZFhObFJXNTBaWEpIY21GaVFYSmxZU0E5SUNncElEMCtJSHRjYmlBZ0lDQjBhR2x6TG5ObGRGTjBZWFJsS0hzZ2JXOTFjMlZKYzA5MlpYSkhjbUZpUVhKbFlUb2dkSEoxWlNCOUtUdGNiaUFnZlR0Y2JseHVJQ0J0YjNWelpVeGxZWFpsUjNKaFlrRnlaV0VnUFNBb0tTQTlQaUI3WEc0Z0lDQWdkR2hwY3k1elpYUlRkR0YwWlNoN0lHMXZkWE5sU1hOUGRtVnlSM0poWWtGeVpXRTZJR1poYkhObElIMHBPMXh1SUNCOU8xeHVYRzRnSUhSdloyZHNaVU52Ykd4aGNITmxJRDBnZEhKcFoyZGxjaUE5UGlCN1hHNGdJQ0FnWTI5dWMzUWdleUJ1WVhacFoyRjBhVzl1TENCamNtVmhkR1ZCYm1Gc2VYUnBZM05GZG1WdWRDQjlJRDBnZEdocGN5NXdjbTl3Y3p0Y2JpQWdJQ0JqYjI1emRDQnVaWGREYjJ4c1lYQnpaV1JUZEdGMFpTQTlJQ0Z1WVhacFoyRjBhVzl1TG5OMFlYUmxMbWx6UTI5c2JHRndjMlZrTzF4dUlDQWdJRzVoZG1sbllYUnBiMjR1ZEc5bloyeGxRMjlzYkdGd2MyVW9LVHRjYmlBZ0lDQnVZWFpwWjJGMGFXOXVSWGh3WVc1a1pXUkRiMnhzWVhCelpXUW9ZM0psWVhSbFFXNWhiSGwwYVdOelJYWmxiblFzSUh0Y2JpQWdJQ0FnSUhSeWFXZG5aWElzWEc0Z0lDQWdJQ0JwYzBOdmJHeGhjSE5sWkRvZ2JtVjNRMjlzYkdGd2MyVmtVM1JoZEdVc1hHNGdJQ0FnZlNrN1hHNGdJSDA3WEc1Y2JpQWdhR0Z1Wkd4bFVtVnphWHBsVTNSaGNuUWdQU0JsZG1WdWRDQTlQaUI3WEc0Z0lDQWdZMjl1YzNRZ2FXNXBkR2xoYkZnZ1BTQmxkbVZ1ZEM1d1lXZGxXRHRjYmx4dUlDQWdJSFJvYVhNdWMyVjBVM1JoZEdVb2V5QnBibWwwYVdGc1dDd2diVzkxYzJWSmMwUnZkMjQ2SUhSeWRXVWdmU2s3WEc1Y2JpQWdJQ0F2THlCaGRIUmhZMmdnYUdGdVpHeGxjbk1nS0doaGJtUnNaVkpsYzJsNlpWTjBZWEowSUdseklHRWdZbTkxYm1RZ2RHOGdiMjVOYjNWelpVUnZkMjRwWEc0Z0lDQWdkMmx1Wkc5M0xtRmtaRVYyWlc1MFRHbHpkR1Z1WlhJb0oyMXZkWE5sYlc5MlpTY3NJSFJvYVhNdWFHRnVaR3hsVW1WemFYcGxLVHRjYmlBZ0lDQjNhVzVrYjNjdVlXUmtSWFpsYm5STWFYTjBaVzVsY2lnbmJXOTFjMlYxY0Njc0lIUm9hWE11YUdGdVpHeGxVbVZ6YVhwbFJXNWtLVHRjYmlBZ2ZUdGNibHh1SUNCcGJtbDBhV0ZzYVhwbFJISmhaeUE5SUdWMlpXNTBJRDArSUh0Y2JpQWdJQ0JqYjI1emRDQjdJRzVoZG1sbllYUnBiMjRnZlNBOUlIUm9hWE11Y0hKdmNITTdYRzRnSUNBZ1kyOXVjM1FnWkdWc2RHRWdQU0JsZG1WdWRDNXdZV2RsV0NBdElIUm9hWE11YzNSaGRHVXVhVzVwZEdsaGJGZzdYRzRnSUNBZ1kyOXVjM1FnZXlCcGMwTnZiR3hoY0hObFpDQjlJRDBnYm1GMmFXZGhkR2x2Ymk1emRHRjBaVHRjYmx4dUlDQWdJQzh2SUc5dWJIa2dhVzVwZEdsaGJHbDZaU0IzYUdWdUlHUnlZV2NnYVc1MFpXNTBhVzl1SUdseklGd2laWGh3WVc1a1hDSmNiaUFnSUNCcFppQW9hWE5EYjJ4c1lYQnpaV1FnSmlZZ1pHVnNkR0VnUEQwZ01Da2dlMXh1SUNBZ0lDQWdkR2hwY3k1cGJuWmhiR2xrUkhKaFowRjBkR1Z0Y0hSbFpDQTlJSFJ5ZFdVN1hHNGdJQ0FnSUNCeVpYUjFjbTQ3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdiR1YwSUdsdWFYUnBZV3hYYVdSMGFDQTlJRzVoZG1sbllYUnBiMjR1YzNSaGRHVXVjSEp2WkhWamRFNWhkbGRwWkhSb08xeHVJQ0FnSUd4bGRDQmthV1JFY21GblQzQmxiaUE5SUdaaGJITmxPMXh1WEc0Z0lDQWdMeThnVGs5VVJWeHVJQ0FnSUM4dklHbG1JSFJvWlNCd2NtOWtkV04wSUc1aGRpQnBjeUJqYjJ4c1lYQnpaV1FnWVc1a0lIUm9aU0JqYjI1emRXMWxjaUJ6ZEdGeWRITWdaSEpoWjJkcGJtY2dhWFFnYjNCbGJseHVJQ0FnSUM4dklIZGxJRzExYzNRZ1pYaHdZVzVrSUdsMElHRnVaQ0JrY21GbklITm9iM1ZzWkNCemRHRnlkQ0JtY205dElEQXVYRzRnSUNBZ2FXWWdLR2x6UTI5c2JHRndjMlZrS1NCN1hHNGdJQ0FnSUNCcGJtbDBhV0ZzVjJsa2RHZ2dQU0JEVDA1VVJVNVVYMDVCVmw5WFNVUlVTRjlEVDB4TVFWQlRSVVE3WEc0Z0lDQWdJQ0JrYVdSRWNtRm5UM0JsYmlBOUlIUnlkV1U3WEc0Z0lDQWdJQ0J1WVhacFoyRjBhVzl1TG0xaGJuVmhiRkpsYzJsNlpWTjBZWEowS0h0Y2JpQWdJQ0FnSUNBZ2NISnZaSFZqZEU1aGRsZHBaSFJvT2lCRFQwNVVSVTVVWDA1QlZsOVhTVVJVU0Y5RFQweE1RVkJUUlVRc1hHNGdJQ0FnSUNBZ0lHbHpRMjlzYkdGd2MyVmtPaUJtWVd4elpTeGNiaUFnSUNBZ0lIMHBPMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNCdVlYWnBaMkYwYVc5dUxtMWhiblZoYkZKbGMybDZaVk4wWVhKMEtHNWhkbWxuWVhScGIyNHVjM1JoZEdVcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhSb2FYTXVjMlYwVTNSaGRHVW9leUJrYVdSRWNtRm5UM0JsYml3Z2FXNXBkR2xoYkZkcFpIUm9MQ0JwYzBSeVlXZG5hVzVuT2lCMGNuVmxJSDBwTzF4dUlDQjlPMXh1WEc0Z0lHaGhibVJzWlZKbGMybDZaU0E5SUhKaFppaGxkbVZ1ZENBOVBpQjdYRzRnSUNBZ1kyOXVjM1FnZXlCdGRYUmhkR2x2YmxKbFpuTWdmU0E5SUhSb2FYTXVjSEp2Y0hNN1hHNGdJQ0FnWTI5dWMzUWdleUJwYm1sMGFXRnNXQ3dnYVc1cGRHbGhiRmRwWkhSb0xDQnBjMFJ5WVdkbmFXNW5MQ0J0YjNWelpVbHpSRzkzYmlCOUlEMGdkR2hwY3k1emRHRjBaVHRjYmx4dUlDQWdJQzh2SUc5dUlHOWpZMkZ6YVc5dUlHRWdiVzkxYzJVZ2JXOTJaU0JsZG1WdWRDQnZZMk4xY25NZ1ltVm1iM0psSUhSb1pTQmxkbVZ1ZENCc2FYTjBaVzVsY25OY2JpQWdJQ0F2THlCb1lYWmxJR0VnWTJoaGJtTmxJSFJ2SUdSbGRHRmphRnh1SUNBZ0lHbG1JQ2doYlc5MWMyVkpjMFJ2ZDI0cElISmxkSFZ5Ymp0Y2JseHVJQ0FnSUM4dklHbHVhWFJwWVd4cGVtVWdaSEpoWjJkcGJtZGNiaUFnSUNCcFppQW9JV2x6UkhKaFoyZHBibWNwSUh0Y2JpQWdJQ0FnSUhSb2FYTXVhVzVwZEdsaGJHbDZaVVJ5WVdjb1pYWmxiblFwTzF4dUlDQWdJQ0FnY21WMGRYSnVPMXh1SUNBZ0lIMWNibHh1SUNBZ0lDOHZJR0ZzYkc5M0lIUm9aU0J3Y205a2RXTjBJRzVoZGlCMGJ5QmlaU0EzTlNVZ2IyWWdkR2hsSUdGMllXbHNZV0pzWlNCd1lXZGxJSGRwWkhSb1hHNGdJQ0FnWTI5dWMzUWdiV0Y0VjJsa2RHZ2dQU0JOWVhSb0xuSnZkVzVrS0NoM2FXNWtiM2N1YVc1dVpYSlhhV1IwYUNBdklEUXBJQ29nTXlrN1hHNGdJQ0FnWTI5dWMzUWdiV2x1VjJsa2RHZ2dQU0JEVDA1VVJVNVVYMDVCVmw5WFNVUlVTRjlEVDB4TVFWQlRSVVE3WEc0Z0lDQWdZMjl1YzNRZ1lXUnFkWE4wWldSTllYZ2dQU0J0WVhoWGFXUjBhQ0F0SUdsdWFYUnBZV3hYYVdSMGFDQXRJRWRNVDBKQlRGOU9RVlpmVjBsRVZFZzdYRzRnSUNBZ1kyOXVjM1FnWVdScWRYTjBaV1JOYVc0Z1BTQnRhVzVYYVdSMGFDQXRJR2x1YVhScFlXeFhhV1IwYUR0Y2JseHVJQ0FnSUdOdmJuTjBJR1JsYkhSaElEMGdUV0YwYUM1dFlYZ29YRzRnSUNBZ0lDQk5ZWFJvTG0xcGJpaGxkbVZ1ZEM1d1lXZGxXQ0F0SUdsdWFYUnBZV3hZTENCaFpHcDFjM1JsWkUxaGVDa3NYRzRnSUNBZ0lDQmhaR3AxYzNSbFpFMXBiaXhjYmlBZ0lDQXBPMXh1SUNBZ0lHTnZibk4wSUhkcFpIUm9JRDBnYVc1cGRHbGhiRmRwWkhSb0lDc2daR1ZzZEdFN1hHNWNiaUFnSUNBdkx5QmhjSEJzZVNCMWNHUmhkR1ZrSUhOMGVXeGxjeUIwYnlCMGFHVWdZWEJ3YkdsallXSnNaU0JFVDAwZ2JtOWtaWE5jYmlBZ0lDQjFjR1JoZEdWU1pYTnBlbVZCY21WaFVHOXphWFJwYjI0b2JYVjBZWFJwYjI1U1pXWnpMQ0IzYVdSMGFDazdYRzVjYmlBZ0lDQXZMeUJPVDFSRk9pQm9hV3BoWTJzZ2RHaGxJRzFoZFdGc0lISmxjMmw2WlNCaGJtUWdabTl5WTJVZ1kyOXNiR0Z3YzJVc0lHTmhibU5sYkhNZ2JXOTFjMlVnWlhabGJuUnpYRzRnSUNBZ2FXWWdLR1YyWlc1MExtTnNhV1Z1ZEZnZ1BDQXdLU0I3WEc0Z0lDQWdJQ0IwYUdsekxuTmxkRk4wWVhSbEtIc2dkMmxrZEdnNklFTlBUbFJGVGxSZlRrRldYMWRKUkZSSVgwTlBURXhCVUZORlJDQjlLVHRjYmlBZ0lDQWdJSFJvYVhNdWFHRnVaR3hsVW1WemFYcGxSVzVrS0NrN1hHNGdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJQzh2SUcxaGFXNTBZV2x1SUdsdWRHVnlibUZzSUhkcFpIUm9MQ0JoY0hCc2FXVmtJSFJ2SUc1aGRtbG5ZWFJwYjI0Z2MzUmhkR1VnYjI0Z2NtVnphWHBsSUdWdVpGeHVJQ0FnSUNBZ2RHaHBjeTV6WlhSVGRHRjBaU2g3SUdSbGJIUmhMQ0IzYVdSMGFDQjlLVHRjYmlBZ0lDQjlYRzRnSUgwcE8xeHVYRzRnSUdoaGJtUnNaVkpsYzJsNlpVVnVaQ0E5SUNncElEMCtJSHRjYmlBZ0lDQmpiMjV6ZENCN0lHNWhkbWxuWVhScGIyNHNJR055WldGMFpVRnVZV3g1ZEdsamMwVjJaVzUwSUgwZ1BTQjBhR2x6TG5CeWIzQnpPMXh1SUNBZ0lHTnZibk4wSUhzZ1pHVnNkR0VzSUdScFpFUnlZV2RQY0dWdUxDQnBjMFJ5WVdkbmFXNW5MQ0IzYVdSMGFEb2dZM1Z5Y21WdWRGZHBaSFJvSUgwZ1BTQjBhR2x6TG5OMFlYUmxPMXh1SUNBZ0lHTnZibk4wSUdWNGNHRnVaRlJvY21WemFHOXNaQ0E5SURJME8xeHVJQ0FnSUdOdmJuTjBJSEpsYzJsNlpYSkRiR2xqYTJWa0lEMGdJV2x6UkhKaFoyZHBibWNnSmlZZ0lYUm9hWE11YVc1MllXeHBaRVJ5WVdkQmRIUmxiWEIwWldRN1hHNGdJQ0FnYkdWMElIQjFZbXhwYzJoWGFXUjBhQ0E5SUdOMWNuSmxiblJYYVdSMGFEdGNiaUFnSUNCc1pYUWdjMmh2ZFd4a1EyOXNiR0Z3YzJVZ1BTQm1ZV3h6WlR0Y2JseHVJQ0FnSUM4dklHTm9aV05ySUdsbUlIUm9aU0JwYm5SbGJuUnBiMjRnZDJGeklHcDFjM1FnWVNCamJHbGpheXdnWVc1a0lIUnZaMmRzWlZ4dUlDQWdJR2xtSUNoeVpYTnBlbVZ5UTJ4cFkydGxaQ2tnZTF4dUlDQWdJQ0FnY0hWaWJHbHphRmRwWkhSb0lEMGdUV0YwYUM1dFlYZ29RMDlPVkVWT1ZGOU9RVlpmVjBsRVZFZ3NJR04xY25KbGJuUlhhV1IwYUNrN1hHNGdJQ0FnSUNCMGFHbHpMblJ2WjJkc1pVTnZiR3hoY0hObEtDZHlaWE5wZW1WeVEyeHBZMnNuS1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0F2THlCd2NtVjJaVzUwSUhSb1pTQjFjMlZ5SUdaeWIyMGdZM0psWVhScGJtY2dZVzRnZFc1MWMyRmliR1VnZDJsa2RHaGNiaUFnSUNCcFppQW9jSFZpYkdsemFGZHBaSFJvSUR3Z1EwOU9WRVZPVkY5T1FWWmZWMGxFVkVncElIdGNiaUFnSUNBZ0lIQjFZbXhwYzJoWGFXUjBhQ0E5SUVOUFRsUkZUbFJmVGtGV1gxZEpSRlJJTzF4dUlDQWdJQ0FnYVdZZ0tHUnBaRVJ5WVdkUGNHVnVJQ1ltSUdSbGJIUmhJRDRnWlhod1lXNWtWR2h5WlhOb2IyeGtLU0I3WEc0Z0lDQWdJQ0FnSUhOb2IzVnNaRU52Ykd4aGNITmxJRDBnWm1Gc2MyVTdYRzRnSUNBZ0lDQjlJR1ZzYzJVZ2FXWWdLR04xY25KbGJuUlhhV1IwYUNBOElFZE1UMEpCVEY5T1FWWmZRMDlNVEVGUVUwVmZWRWhTUlZOSVQweEVLU0I3WEc0Z0lDQWdJQ0FnSUhOb2IzVnNaRU52Ykd4aGNITmxJRDBnZEhKMVpUdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnYzJodmRXeGtRMjlzYkdGd2MyVWdQU0J1WVhacFoyRjBhVzl1TG5OMFlYUmxMbWx6UTI5c2JHRndjMlZrTzF4dUlDQWdJSDFjYmx4dUlDQWdJR2xtSUNoY2JpQWdJQ0FnSUNGeVpYTnBlbVZ5UTJ4cFkydGxaQ0FtSmx4dUlDQWdJQ0FnS0Noa2FXUkVjbUZuVDNCbGJpQW1KaUFoYzJodmRXeGtRMjlzYkdGd2MyVXBJSHg4SUNnaFpHbGtSSEpoWjA5d1pXNGdKaVlnYzJodmRXeGtRMjlzYkdGd2MyVXBLVnh1SUNBZ0lDa2dlMXh1SUNBZ0lDQWdibUYyYVdkaGRHbHZia1Y0Y0dGdVpHVmtRMjlzYkdGd2MyVmtLR055WldGMFpVRnVZV3g1ZEdsamMwVjJaVzUwTENCN1hHNGdJQ0FnSUNBZ0lIUnlhV2RuWlhJNklDZHlaWE5wZW1WeVJISmhaeWNzWEc0Z0lDQWdJQ0FnSUdselEyOXNiR0Z3YzJWa09pQnphRzkxYkdSRGIyeHNZWEJ6WlN4Y2JpQWdJQ0FnSUgwcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUM4dklISmxjMlYwSUdWMlpYSjVkR2hwYm1kY2JpQWdJQ0IwYUdsekxtbHVkbUZzYVdSRWNtRm5RWFIwWlcxd2RHVmtJRDBnWm1Gc2MyVTdYRzRnSUNBZ2RHaHBjeTV6WlhSVGRHRjBaU2g3WEc0Z0lDQWdJQ0JrYVdSRWNtRm5UM0JsYmpvZ1ptRnNjMlVzWEc0Z0lDQWdJQ0JwYzBSeVlXZG5hVzVuT2lCbVlXeHpaU3hjYmlBZ0lDQWdJRzF2ZFhObFNYTkViM2R1T2lCbVlXeHpaU3hjYmlBZ0lDQWdJSGRwWkhSb09pQndkV0pzYVhOb1YybGtkR2dzWEc0Z0lDQWdmU2s3WEc1Y2JpQWdJQ0F2THlCd2RXSnNhWE5vSUhSb1pTQnVaWGNnZDJsa2RHZ3NJRzl1WTJVZ2NtVnphWHBwYm1jZ1kyOXRjR3hsZEdWelhHNGdJQ0FnYm1GMmFXZGhkR2x2Ymk1dFlXNTFZV3hTWlhOcGVtVkZibVFvZTF4dUlDQWdJQ0FnY0hKdlpIVmpkRTVoZGxkcFpIUm9PaUJ3ZFdKc2FYTm9WMmxrZEdnc1hHNGdJQ0FnSUNCcGMwTnZiR3hoY0hObFpEb2djMmh2ZFd4a1EyOXNiR0Z3YzJVc1hHNGdJQ0FnZlNrN1hHNWNiaUFnSUNCcFppQW9jMmh2ZFd4a1VtVnpaWFJIY21GaVFYSmxZU2hqZFhKeVpXNTBWMmxrZEdncEtTQjdYRzRnSUNBZ0lDQjFjR1JoZEdWU1pYTnBlbVZCY21WaFVHOXphWFJwYjI0b2RHaHBjeTV3Y205d2N5NXRkWFJoZEdsdmJsSmxabk1zSUVOUFRsUkZUbFJmVGtGV1gxZEpSRlJJS1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0F2THlCamJHVmhiblZ3WEc0Z0lDQWdkMmx1Wkc5M0xuSmxiVzkyWlVWMlpXNTBUR2x6ZEdWdVpYSW9KMjF2ZFhObGJXOTJaU2NzSUhSb2FYTXVhR0Z1Wkd4bFVtVnphWHBsS1R0Y2JpQWdJQ0IzYVc1a2IzY3VjbVZ0YjNabFJYWmxiblJNYVhOMFpXNWxjaWduYlc5MWMyVjFjQ2NzSUhSb2FYTXVhR0Z1Wkd4bFVtVnphWHBsUlc1a0tUdGNiaUFnZlR0Y2JseHVJQ0J5Wlc1a1pYSW9LU0I3WEc0Z0lDQWdZMjl1YzNRZ2UxeHVJQ0FnSUNBZ2FYTkVjbUZuWjJsdVp5eGNiaUFnSUNBZ0lHMXZkWE5sU1hORWIzZHVMRnh1SUNBZ0lDQWdiVzkxYzJWSmMwOTJaWEpIY21GaVFYSmxZU3hjYmlBZ0lDQWdJSE5vYjNkSGNtRmlRWEpsWVN4Y2JpQWdJQ0I5SUQwZ2RHaHBjeTV6ZEdGMFpUdGNiaUFnSUNCamIyNXpkQ0I3WEc0Z0lDQWdJQ0JqYjJ4c1lYQnpaVlJ2WjJkc1pWUnZiMngwYVhCRGIyNTBaVzUwTEZ4dUlDQWdJQ0FnWlhod1lXNWtRMjlzYkdGd2MyVkJabVp2Y21SaGJtTmxVbVZtTEZ4dUlDQWdJQ0FnWm14NWIzVjBTWE5QY0dWdUxGeHVJQ0FnSUNBZ2FYTkVhWE5oWW14bFpEb2dhWE5TWlhOcGVtVkVhWE5oWW14bFpDeGNiaUFnSUNBZ0lHbHpSM0poWWtGeVpXRkVhWE5oWW14bFpDeGNiaUFnSUNBZ0lHOXVUVzkxYzJWUGRtVnlRblYwZEc5dVFuVm1abVZ5TEZ4dUlDQWdJQ0FnYm1GMmFXZGhkR2x2Yml4Y2JpQWdJQ0I5SUQwZ2RHaHBjeTV3Y205d2N6dGNiaUFnSUNCamIyNXpkQ0I3SUdselEyOXNiR0Z3YzJWa0lIMGdQU0J1WVhacFoyRjBhVzl1TG5OMFlYUmxPMXh1WEc0Z0lDQWdMeThnZEdobElHSjFkSFJ2YmlCemFHOTFiR1J1SjNRZ1hDSm1iR2x3WENJZ2RXNTBhV3dnZEdobElHUnlZV2NnYVhNZ1kyOXRjR3hsZEdWY2JpQWdJQ0JzWlhRZ1FuVjBkRzl1U1dOdmJpQTlJRU5vWlhaeWIyNU1aV1owTzF4dUlDQWdJR2xtSUNocGMwTnZiR3hoY0hObFpDa2dRblYwZEc5dVNXTnZiaUE5SUVOb1pYWnliMjVTYVdkb2REdGNibHh1SUNBZ0lHTnZibk4wSUdKMWRIUnZiaUE5SUNoY2JpQWdJQ0FnSUR4Q2RYUjBiMjVjYmlBZ0lDQWdJQ0FnYjI1RGJHbGphejE3ZEdocGN5NXZibEpsYzJsNlpYSkRhR1YyY205dVEyeHBZMnQ5WEc0Z0lDQWdJQ0FnSUc5dVRXOTFjMlZFYjNkdVBYdHdjbVYyWlc1MFJHVm1ZWFZzZEgxY2JpQWdJQ0FnSUNBZ2FHbDBRWEpsWVZOcGVtVTllMjl1VFc5MWMyVlBkbVZ5UW5WMGRHOXVRblZtWm1WeUlEOGdKMnhoY21kbEp5QTZJQ2R6YldGc2JDZDlYRzRnSUNBZ0lDQWdJQzh2SUcxaGFXNTBZV2x1SUhOMGVXeGxjeUIzYUdWdUlIVnpaWElnYVhNZ1pISmhaMmRwYm1kY2JpQWdJQ0FnSUNBZ2FYTldhWE5wWW14bFBYdHBjME52Ykd4aGNITmxaQ0I4ZkNCdGIzVnpaVWx6Ukc5M2JuMWNiaUFnSUNBZ0lDQWdhR0Z6U0dsbmFHeHBaMmgwUFh0dGIzVnpaVWx6Ukc5M2JpQjhmQ0J0YjNWelpVbHpUM1psY2tkeVlXSkJjbVZoZlZ4dUlDQWdJQ0FnSUNCcGJtNWxjbEpsWmoxN1pYaHdZVzVrUTI5c2JHRndjMlZCWm1admNtUmhibU5sVW1WbWZWeHVJQ0FnSUNBZ0lDQmhjbWxoTFdWNGNHRnVaR1ZrUFhzaGFYTkRiMnhzWVhCelpXUjlYRzRnSUNBZ0lDQWdJR0Z5YVdFdGJHRmlaV3c5WENKVWIyZG5iR1VnYm1GMmFXZGhkR2x2Ymx3aVhHNGdJQ0FnSUNBK1hHNGdJQ0FnSUNBZ0lEeENkWFIwYjI1SlkyOXVJQzgrWEc0Z0lDQWdJQ0E4TDBKMWRIUnZiajVjYmlBZ0lDQXBPMXh1SUNBZ0lHTnZibk4wSUhOb1lXUnZkMFJwY21WamRHbHZiaUE5SUdac2VXOTFkRWx6VDNCbGJpQS9JQ2QwYnlCeWFXZG9kQ2NnT2lBbmRHOGdiR1ZtZENjN1hHNWNiaUFnSUNCeVpYUjFjbTRnS0Z4dUlDQWdJQ0FnUEU5MWRHVnlQbHh1SUNBZ0lDQWdJQ0I3YVhORWNtRm5aMmx1WnlBbUppQThRbTlrZVVSeVlXZERkWEp6YjNJZ0x6NTlYRzRnSUNBZ0lDQWdJRHhUYUdGa2IzY2daR2x5WldOMGFXOXVQWHR6YUdGa2IzZEVhWEpsWTNScGIyNTlJR2x6UW05c1pEMTdiVzkxYzJWSmMwUnZkMjU5SUM4K1hHNGdJQ0FnSUNBZ0lIc2hhWE5TWlhOcGVtVkVhWE5oWW14bFpDQW1KaUFvWEc0Z0lDQWdJQ0FnSUNBZ1BFWnlZV2R0Wlc1MFBseHVJQ0FnSUNBZ0lDQWdJQ0FnZXlGcGMwZHlZV0pCY21WaFJHbHpZV0pzWldRZ0ppWWdjMmh2ZDBkeVlXSkJjbVZoSUNZbUlDaGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ1BFZHlZV0pCY21WaFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2FYTkNiMnhrUFh0dGIzVnpaVWx6Ukc5M2JuMWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnphRzkzU0dGdVpHeGxQWHR0YjNWelpVbHpSRzkzYmlCOGZDQnRiM1Z6WlVselQzWmxja2R5WVdKQmNtVmhmVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRzl1VFc5MWMyVkZiblJsY2oxN2RHaHBjeTV0YjNWelpVVnVkR1Z5UjNKaFlrRnlaV0Y5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYjI1TmIzVnpaVXhsWVhabFBYdDBhR2x6TG0xdmRYTmxUR1ZoZG1WSGNtRmlRWEpsWVgxY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCdmJrMXZkWE5sUkc5M2JqMTdkR2hwY3k1b1lXNWtiR1ZTWlhOcGVtVlRkR0Z5ZEgxY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnTHo1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ2w5WEc0Z0lDQWdJQ0FnSUNBZ0lDQThaR2wySUc5dVRXOTFjMlZQZG1WeVBYc2habXg1YjNWMFNYTlBjR1Z1SUQ4Z2IyNU5iM1Z6WlU5MlpYSkNkWFIwYjI1Q2RXWm1aWElnT2lCdWRXeHNmVDVjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdlMk52Ykd4aGNITmxWRzluWjJ4bFZHOXZiSFJwY0VOdmJuUmxiblFnUHlBb1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1BGUnZiMngwYVhCY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHTnZiblJsYm5ROWUyMWhhMlZVYjI5c2RHbHdUbTlrWlNoY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZMjlzYkdGd2MyVlViMmRuYkdWVWIyOXNkR2x3UTI5dWRHVnVkQ2hwYzBOdmJHeGhjSE5sWkNrc1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQXBmVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWkdWc1lYazllell3TUgxY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHaHBaR1ZVYjI5c2RHbHdUMjVEYkdsamExeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjRzl6YVhScGIyNDlYQ0p5YVdkb2RGd2lYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdQbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZTJKMWRIUnZibjFjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0E4TDFSdmIyeDBhWEErWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ2tnT2lBb1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1luVjBkRzl1WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ2w5WEc0Z0lDQWdJQ0FnSUNBZ0lDQThMMlJwZGo1Y2JpQWdJQ0FnSUNBZ0lDQThMMFp5WVdkdFpXNTBQbHh1SUNBZ0lDQWdJQ0FwZlZ4dUlDQWdJQ0FnUEM5UGRYUmxjajVjYmlBZ0lDQXBPMXh1SUNCOVhHNTlYRzVjYm1WNGNHOXlkQ0I3SUZKbGMybDZaVU52Ym5SeWIyd2dZWE1nVW1WemFYcGxRMjl1ZEhKdmJFSmhjMlVnZlR0Y2JseHVaWGh3YjNKMElHUmxabUYxYkhRZ2QybDBhRUZ1WVd4NWRHbGpjMFYyWlc1MGN5Z3BLRkpsYzJsNlpVTnZiblJ5YjJ3cE8xeHVJbDE5ICovXCIpXG4gIH0sIHByb3BzKSwgX19fRW1vdGlvbkpTWChcImRpdlwiLCB7XG4gICAgY3NzOlxuICAgIC8qI19fUFVSRV9fKi9cbiAgICBfY3NzKHtcbiAgICAgIGJhY2tncm91bmRDb2xvcjogaXNCb2xkID8gY29sb3JzLkIyMDAgOiBjb2xvcnMuQjEwMCxcbiAgICAgIG9wYWNpdHk6IHNob3dIYW5kbGUgPyAxIDogMCxcbiAgICAgIGhlaWdodDogJzEwMCUnLFxuICAgICAgbGVmdDogSEFORExFX09GRlNFVCAtIEhBTkRMRV9XSURUSCAvIDIsXG4gICAgICAvLyB0aGUgaGFuZGxlIHNob3VsZCBcInN0cmFkZGxlXCIgdGhlIGRpdmlkaW5nIGxpbmVcbiAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgICAgdHJhbnNpdGlvbjogJ29wYWNpdHkgMjAwbXMnLFxuICAgICAgd2lkdGg6IEhBTkRMRV9XSURUSFxuICAgIH0sIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IFwiXCIgOiBcIi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpNHVMeTR1THk0dUx5NHVMeTR1TDNOeVl5OWpiMjF3YjI1bGJuUnpMM0J5WlhObGJuUmhkR2x2Ym1Gc0wweGhlVzkxZEUxaGJtRm5aWEl2VW1WemFYcGxRMjl1ZEhKdmJDNXFjeUpkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZyUlUwaUxDSm1hV3hsSWpvaUxpNHZMaTR2TGk0dkxpNHZMaTR2YzNKakwyTnZiWEJ2Ym1WdWRITXZjSEpsYzJWdWRHRjBhVzl1WVd3dlRHRjViM1YwVFdGdVlXZGxjaTlTWlhOcGVtVkRiMjUwY205c0xtcHpJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpYVcxd2IzSjBJRkpsWVdOMExDQjdJRVp5WVdkdFpXNTBMQ0JRZFhKbFEyOXRjRzl1Wlc1MElIMGdabkp2YlNBbmNtVmhZM1FuTzF4dVhHNXBiWEJ2Y25RZ2V5QkhiRzlpWVd3Z2ZTQm1jbTl0SUNkQVpXMXZkR2x2Ymk5amIzSmxKenRjYm1sdGNHOXlkQ0J5WVdZZ1puSnZiU0FuY21GbUxYTmphR1FuTzF4dVhHNXBiWEJ2Y25RZ2V5QjNhWFJvUVc1aGJIbDBhV056UlhabGJuUnpJSDBnWm5KdmJTQW5RR0YwYkdGemEybDBMMkZ1WVd4NWRHbGpjeTF1WlhoMEp6dGNibWx0Y0c5eWRDQkRhR1YyY205dVRHVm1kQ0JtY205dElDZEFZWFJzWVhOcmFYUXZhV052Ymk5bmJIbHdhQzlqYUdWMmNtOXVMV3hsWm5Rbk8xeHVhVzF3YjNKMElFTm9aWFp5YjI1U2FXZG9kQ0JtY205dElDZEFZWFJzWVhOcmFYUXZhV052Ymk5bmJIbHdhQzlqYUdWMmNtOXVMWEpwWjJoMEp6dGNibWx0Y0c5eWRDQXFJR0Z6SUdOdmJHOXljeUJtY205dElDZEFZWFJzWVhOcmFYUXZkR2hsYldVdlkyOXNiM0p6Snp0Y2JtbHRjRzl5ZENCVWIyOXNkR2x3SUdaeWIyMGdKMEJoZEd4aGMydHBkQzkwYjI5c2RHbHdKenRjYmx4dWFXMXdiM0owSUhzZ2JtRjJhV2RoZEdsdmJrVjRjR0Z1WkdWa1EyOXNiR0Z3YzJWa0lIMGdabkp2YlNBbkxpNHZMaTR2TGk0dlkyOXRiVzl1TDJGdVlXeDVkR2xqY3ljN1hHNXBiWEJ2Y25RZ2UxeHVJQ0JEVDA1VVJVNVVYMDVCVmw5WFNVUlVTQ3hjYmlBZ1EwOU9WRVZPVkY5T1FWWmZWMGxFVkVoZlEwOU1URUZRVTBWRUxGeHVJQ0JIVEU5Q1FVeGZUa0ZXWDBOUFRFeEJVRk5GWDFSSVVrVlRTRTlNUkN4Y2JpQWdSMHhQUWtGTVgwNUJWbDlYU1VSVVNDeGNibjBnWm5KdmJTQW5MaTR2TGk0dkxpNHZZMjl0Ylc5dUwyTnZibk4wWVc1MGN5YzdYRzVwYlhCdmNuUWdleUJUYUdGa2IzY2dmU0JtY205dElDY3VMaTh1TGk4dUxpOWpiMjF0YjI0dmNISnBiV2wwYVhabGN5YzdYRzVjYm1OdmJuTjBJRWhCVGtSTVJWOVBSa1pUUlZRZ1BTQTBPMXh1WTI5dWMzUWdTVTVPUlZKZlYwbEVWRWdnUFNBeU1EdGNibU52Ym5OMElFOVZWRVZTWDFkSlJGUklJRDBnU1U1T1JWSmZWMGxFVkVnZ0t5QklRVTVFVEVWZlQwWkdVMFZVTzF4dVkyOXVjM1FnU0VGT1JFeEZYMWRKUkZSSUlEMGdNanRjYm1OdmJuTjBJSE5vYjNWc1pGSmxjMlYwUjNKaFlrRnlaV0VnUFNCM2FXUjBhQ0E5UGlCN1hHNGdJSEpsZEhWeWJpQjNhV1IwYUNBK1BTQkhURTlDUVV4ZlRrRldYME5QVEV4QlVGTkZYMVJJVWtWVFNFOU1SQ0FtSmlCM2FXUjBhQ0E4SUVOUFRsUkZUbFJmVGtGV1gxZEpSRlJJTzF4dWZUdGNibU52Ym5OMElIQnlaWFpsYm5SRVpXWmhkV3gwSUQwZ1pYWmxiblFnUFQ0Z1pYWmxiblF1Y0hKbGRtVnVkRVJsWm1GMWJIUW9LVHRjYmx4dVpYaHdiM0owSUdOdmJuTjBJRUp2WkhsRWNtRm5RM1Z5YzI5eUlEMGdLQ2tnUFQ0Z0tGeHVJQ0E4UjJ4dlltRnNYRzRnSUNBZ2MzUjViR1Z6UFh0N1hHNGdJQ0FnSUNCaWIyUjVPaUI3WEc0Z0lDQWdJQ0FnSUdOMWNuTnZjam9nSjJWM0xYSmxjMmw2WlNjc1hHNGdJQ0FnSUNCOUxGeHVJQ0FnSUgxOVhHNGdJQzgrWEc0cE8xeHVYRzVqYjI1emRDQlBkWFJsY2lBOUlIQnliM0J6SUQwK0lDaGNiaUFnUEdScGRseHVJQ0FnSUdOemN6MTdlMXh1SUNBZ0lDQWdZbTkwZEc5dE9pQXdMRnh1SUNBZ0lDQWdiR1ZtZERvZ0p6RXdNQ1VuTEZ4dUlDQWdJQ0FnY0c5emFYUnBiMjQ2SUNkaFluTnZiSFYwWlNjc1hHNGdJQ0FnSUNCMGIzQTZJREFzWEc0Z0lDQWdJQ0IwY21GdWMyWnZjbTA2SUNkMGNtRnVjMnhoZEdWYUtEQXBKeXhjYmlBZ0lDQWdJSGRwWkhSb09pQlBWVlJGVWw5WFNVUlVTQ3hjYmlBZ0lDQWdJSHBKYm1SbGVEb2dNeXdnTHk4Z2FHbG5hR1Z5SUhSb1lXNGdkR2hsSUhOamNtOXNiQ0JvYVc1MElHeHBibVZ6WEc0Z0lDQWdmWDFjYmlBZ0lDQjdMaTR1Y0hKdmNITjlYRzRnSUM4K1hHNHBPMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdSM0poWWtGeVpXRWdQU0FvZXlCemFHOTNTR0Z1Wkd4bExDQnBjMEp2YkdRc0lDNHVMbkJ5YjNCeklIMHBJRDArSUNoY2JpQWdQR1JwZGx4dUlDQWdJR056Y3oxN2UxeHVJQ0FnSUNBZ1kzVnljMjl5T2lBblpYY3RjbVZ6YVhwbEp5eGNiaUFnSUNBZ0lHaGxhV2RvZERvZ0p6RXdNQ1VuTEZ4dUlDQWdJQ0FnYkdWbWREb2dMVWhCVGtSTVJWOVBSa1pUUlZRc1hHNGdJQ0FnSUNCd2IzTnBkR2x2YmpvZ0ozSmxiR0YwYVhabEp5eGNiaUFnSUNBZ0lIZHBaSFJvT2lCUFZWUkZVbDlYU1VSVVNDeGNiaUFnSUNCOWZWeHVJQ0FnSUhzdUxpNXdjbTl3YzMxY2JpQWdQbHh1SUNBZ0lEeGthWFpjYmlBZ0lDQWdJR056Y3oxN2UxeHVJQ0FnSUNBZ0lDQmlZV05yWjNKdmRXNWtRMjlzYjNJNklHbHpRbTlzWkNBL0lHTnZiRzl5Y3k1Q01qQXdJRG9nWTI5c2IzSnpMa0l4TURBc1hHNGdJQ0FnSUNBZ0lHOXdZV05wZEhrNklITm9iM2RJWVc1a2JHVWdQeUF4SURvZ01DeGNiaUFnSUNBZ0lDQWdhR1ZwWjJoME9pQW5NVEF3SlNjc1hHNGdJQ0FnSUNBZ0lHeGxablE2SUVoQlRrUk1SVjlQUmtaVFJWUWdMU0JJUVU1RVRFVmZWMGxFVkVnZ0x5QXlMQ0F2THlCMGFHVWdhR0Z1Wkd4bElITm9iM1ZzWkNCY0luTjBjbUZrWkd4bFhDSWdkR2hsSUdScGRtbGthVzVuSUd4cGJtVmNiaUFnSUNBZ0lDQWdjRzl6YVhScGIyNDZJQ2RoWW5OdmJIVjBaU2NzWEc0Z0lDQWdJQ0FnSUhSeVlXNXphWFJwYjI0NklDZHZjR0ZqYVhSNUlESXdNRzF6Snl4Y2JpQWdJQ0FnSUNBZ2QybGtkR2c2SUVoQlRrUk1SVjlYU1VSVVNDeGNiaUFnSUNBZ0lIMTlYRzRnSUNBZ0x6NWNiaUFnUEM5a2FYWStYRzRwTzF4dVkyOXVjM1FnYkdGeVoyVklhWFJCY21WaElEMGdlMXh1SUNCc1pXWjBPaUF0T0N4Y2JpQWdjbWxuYUhRNklDMHhNaXhjYmlBZ1ltOTBkRzl0T2lBdE9DeGNiaUFnZEc5d09pQXRPQ3hjYm4wN1hHNWpiMjV6ZENCemJXRnNiRWhwZEVGeVpXRWdQU0I3WEc0Z0lHeGxablE2SUMwMExGeHVJQ0J5YVdkb2REb2dMVFFzWEc0Z0lHSnZkSFJ2YlRvZ0xUUXNYRzRnSUhSdmNEb2dMVFFzWEc1OU8xeHVYRzVqYjI1emRDQkNkWFIwYjI0Z1BTQW9lMXh1SUNCamFHbHNaSEpsYml4Y2JpQWdhR0Z6U0dsbmFHeHBaMmgwTEZ4dUlDQnBibTVsY2xKbFppeGNiaUFnYVhOV2FYTnBZbXhsTEZ4dUlDQm9hWFJCY21WaFUybDZaU3hjYmlBZ0xpNHVjSEp2Y0hOY2JuMHBJRDArSUNoY2JpQWdQR0oxZEhSdmJseHVJQ0FnSUdOc1lYTnpUbUZ0WlQxY0ltRnJMVzVoZG1sbllYUnBiMjR0Y21WemFYcGxMV0oxZEhSdmJsd2lYRzRnSUNBZ2RIbHdaVDFjSW1KMWRIUnZibHdpWEc0Z0lDQWdjbVZtUFh0cGJtNWxjbEpsWm4xY2JpQWdJQ0JqYzNNOWUzdGNiaUFnSUNBZ0lHSmhZMnRuY205MWJtUTZJREFzWEc0Z0lDQWdJQ0JpWVdOclozSnZkVzVrUTI5c2IzSTZJQ2QzYUdsMFpTY3NYRzRnSUNBZ0lDQmliM0prWlhJNklEQXNYRzRnSUNBZ0lDQmliM0prWlhKU1lXUnBkWE02SUNjMU1DVW5MRnh1SUNBZ0lDQWdZbTk0VTJoaFpHOTNPaUJnTUNBd0lEQWdNWEI0SUNSN1kyOXNiM0p6TGs0ek1FRjlMQ0F3SURKd2VDQTBjSGdnTVhCNElDUjdZMjlzYjNKekxrNHpNRUY5WUN4Y2JpQWdJQ0FnSUdOdmJHOXlPaUJvWVhOSWFXZG9iR2xuYUhRZ1B5QmpiMnh2Y25NdVFqRXdNQ0E2SUdOdmJHOXljeTVPTWpBd0xGeHVJQ0FnSUNBZ1kzVnljMjl5T2lBbmNHOXBiblJsY2ljc1hHNGdJQ0FnSUNCb1pXbG5hSFE2SURJMExGeHVJQ0FnSUNBZ2IzQmhZMmwwZVRvZ2FYTldhWE5wWW14bElEOGdNU0E2SURBc1hHNGdJQ0FnSUNCdmRYUnNhVzVsT2lBd0xGeHVJQ0FnSUNBZ2NHRmtaR2x1WnpvZ01DeGNiaUFnSUNBZ0lIQnZjMmwwYVc5dU9pQW5ZV0p6YjJ4MWRHVW5MRnh1SUNBZ0lDQWdkRzl3T2lBek1peGNiaUFnSUNBZ0lIUnlZVzV6YVhScGIyNDZJR0JjYmlBZ0lDQWdJQ0FnWW1GamEyZHliM1Z1WkMxamIyeHZjaUF4TURCdGN5QnNhVzVsWVhJc1hHNGdJQ0FnSUNBZ0lHTnZiRzl5SURFd01HMXpJR3hwYm1WaGNpeGNiaUFnSUNBZ0lDQWdiM0JoWTJsMGVTQXpNREJ0Y3lCamRXSnBZeTFpWlhwcFpYSW9NQzR5TENBd0xDQXdMQ0F4S1N4Y2JpQWdJQ0FnSUNBZ2RISmhibk5tYjNKdElETXdNRzF6SUdOMVltbGpMV0psZW1sbGNpZ3dMaklzSURBc0lEQXNJREVwWEc0Z0lDQWdJQ0JnTEZ4dUlDQWdJQ0FnZEhKaGJuTm1iM0p0T2lCZ2RISmhibk5zWVhSbEtDMDFNQ1VwWUN4Y2JpQWdJQ0FnSUhkcFpIUm9PaUF5TkN4Y2JseHVJQ0FnSUNBZ0p6cG9iM1psY2ljNklIdGNiaUFnSUNBZ0lDQWdZbUZqYTJkeWIzVnVaRU52Ykc5eU9pQmpiMnh2Y25NdVFqRXdNQ3hjYmlBZ0lDQWdJQ0FnWTI5c2IzSTZJQ2QzYUdsMFpTY3NYRzRnSUNBZ0lDQjlMRnh1SUNBZ0lDQWdKenBoWTNScGRtVW5PaUI3WEc0Z0lDQWdJQ0FnSUdKaFkydG5jbTkxYm1SRGIyeHZjam9nWTI5c2IzSnpMa0l5TURBc1hHNGdJQ0FnSUNBZ0lHTnZiRzl5T2lBbmQyaHBkR1VuTEZ4dUlDQWdJQ0FnZlN4Y2JpQWdJQ0FnSUNjNlptOWpkWE1uT2lCN1hHNGdJQ0FnSUNBZ0lHOXdZV05wZEhrNklERXNYRzRnSUNBZ0lDQWdJR0poWTJ0bmNtOTFibVJEYjJ4dmNqb2dZMjlzYjNKekxrSXlNREFzWEc0Z0lDQWdJQ0FnSUdOdmJHOXlPaUFuZDJocGRHVW5MRnh1SUNBZ0lDQWdmU3hjYmlBZ0lDQjlmVnh1SUNBZ0lIc3VMaTV3Y205d2MzMWNiaUFnUGx4dUlDQWdJRHhrYVhaY2JpQWdJQ0FnSUM4dklHbHVZM0psWVhObElHaHBkQzFoY21WaFhHNGdJQ0FnSUNCamMzTTllM3RjYmlBZ0lDQWdJQ0FnY0c5emFYUnBiMjQ2SUNkaFluTnZiSFYwWlNjc1hHNGdJQ0FnSUNBZ0lDNHVMaWhvYVhSQmNtVmhVMmw2WlNBOVBUMGdKM050WVd4c0p5QS9JSE50WVd4c1NHbDBRWEpsWVNBNklHeGhjbWRsU0dsMFFYSmxZU2tzWEc0Z0lDQWdJQ0I5ZlZ4dUlDQWdJQzgrWEc0Z0lDQWdlMk5vYVd4a2NtVnVmVnh1SUNBOEwySjFkSFJ2Ymo1Y2JpazdYRzVjYmk4dklIUnBibXRsY2lCM2FYUm9JSFJvWlNCRVQwMGdaR2x5WldOMGJIa2dZbmtnYzJWMGRHbHVaeUJ6ZEhsc1pTQndjbTl3WlhKMGFXVnpMQ0IxY0dSaGRHVnpJSFJvWlNCbmNtRmlJR0poY2lCd2IzTnBkR2x2YmlCaWVTQmphR0Z1WjJsdVp5QndZV1JrYVc1bkxXeGxablFnWVc1a0lIZHBaSFJvTGx4dVpuVnVZM1JwYjI0Z2RYQmtZWFJsVW1WemFYcGxRWEpsWVZCdmMybDBhVzl1S0dWc1pXMWxiblJ6TENCM2FXUjBhQ2tnZTF4dUlDQmxiR1Z0Wlc1MGN5NW1iM0pGWVdOb0tDaDdJSEJ5YjNCbGNuUjVMQ0J5WldZZ2ZTa2dQVDRnZTF4dUlDQWdJR052Ym5OMElHNWxkMVpoYkhWbElEMGdZQ1I3ZDJsa2RHaDljSGhnTzF4dUlDQWdJR052Ym5OMElHOXNaRlpoYkhWbElEMGdjbVZtTG5OMGVXeGxMbWRsZEZCeWIzQmxjblI1Vm1Gc2RXVW9jSEp2Y0dWeWRIa3BPMXh1WEc0Z0lDQWdMeThnWVhadmFXUWdkR2h5WVhOb2FXNW5YRzRnSUNBZ2FXWWdLRzlzWkZaaGJIVmxJRDA5UFNCdVpYZFdZV3gxWlNrZ2NtVjBkWEp1TzF4dVhHNGdJQ0FnTHk4Z1pHbHlaV04wSUdGMGRISnBZblYwWlNCdFlXNXBjSFZzWVhScGIyNWNiaUFnSUNCeVpXWXVjM1I1YkdVdWMyVjBVSEp2Y0dWeWRIa29jSEp2Y0dWeWRIa3NJRzVsZDFaaGJIVmxLVHRjYmlBZ2ZTazdYRzU5WEc1Y2JpOHZJR2hsYkhCbGNpQm1iM0lnZEc5dmJIUnBjQ0JqYjI1MFpXNTBJR3RsZVdKdllYSmtJSE5vYjNKMFkzVjBJR2hwWjJoc2FXZG9kRnh1Wm5WdVkzUnBiMjRnYldGclpWUnZiMngwYVhCT2IyUmxLSHNnZEdWNGRDd2dZMmhoY2lCOUtTQjdYRzRnSUhKbGRIVnliaUFvWEc0Z0lDQWdQR1JwZGx4dUlDQWdJQ0FnWTNOelBYdDdYRzRnSUNBZ0lDQWdJR0ZzYVdkdVNYUmxiWE02SUNkaVlYTmxiR2x1WlNjc1hHNGdJQ0FnSUNBZ0lHUnBjM0JzWVhrNklDZG1iR1Y0Snl4Y2JpQWdJQ0FnSUNBZ2JHbHVaVWhsYVdkb2REb2dNUzR6TEZ4dUlDQWdJQ0FnSUNCd1lXUmthVzVuUW05MGRHOXRPaUF4TEZ4dUlDQWdJQ0FnSUNCd1lXUmthVzVuVkc5d09pQXhMRnh1SUNBZ0lDQWdmWDFjYmlBZ0lDQStYRzRnSUNBZ0lDQThjM0JoYmo1N2RHVjRkSDA4TDNOd1lXNCtYRzRnSUNBZ0lDQThaR2wyWEc0Z0lDQWdJQ0FnSUdOemN6MTdlMXh1SUNBZ0lDQWdJQ0FnSUdKaFkydG5jbTkxYm1SRGIyeHZjam9nWTI5c2IzSnpMazQwTURBc1hHNGdJQ0FnSUNBZ0lDQWdZbTl5WkdWeVVtRmthWFZ6T2lBeUxGeHVJQ0FnSUNBZ0lDQWdJR3hwYm1WSVpXbG5hSFE2SURFdU1peGNiaUFnSUNBZ0lDQWdJQ0J0WVhKbmFXNU1aV1owT2lBMExGeHVJQ0FnSUNBZ0lDQWdJSEJoWkdScGJtYzZJQ2N4Y0hnZ09IQjRKeXhjYmlBZ0lDQWdJQ0FnZlgxY2JpQWdJQ0FnSUQ1Y2JpQWdJQ0FnSUNBZ2UyTm9ZWEo5WEc0Z0lDQWdJQ0E4TDJScGRqNWNiaUFnSUNBOEwyUnBkajVjYmlBZ0tUdGNibjFjYmx4dUx5b2dUazlVUlRvZ1pYaHdaWEpwYldWdWRHRnNJSEJ5YjNCeklIVnpaU0JoYmlCMWJtUmxjbk5qYjNKbElDb3ZYRzVqYkdGemN5QlNaWE5wZW1WRGIyNTBjbTlzSUdWNGRHVnVaSE1nVUhWeVpVTnZiWEJ2Ym1WdWRDQjdYRzRnSUdsdWRtRnNhV1JFY21GblFYUjBaVzF3ZEdWa0lEMGdabUZzYzJVN1hHNWNiaUFnYkdGemRGZHBaSFJvTzF4dVhHNGdJSGR5WVhCd1pYSTdYRzVjYmlBZ2MzUmhkR1VnUFNCN1hHNGdJQ0FnWkdWc2RHRTZJREFzWEc0Z0lDQWdaR2xrUkhKaFowOXdaVzQ2SUdaaGJITmxMRnh1SUNBZ0lHbHpSSEpoWjJkcGJtYzZJR1poYkhObExGeHVJQ0FnSUdsdWFYUnBZV3hYYVdSMGFEb2dNQ3hjYmlBZ0lDQnBibWwwYVdGc1dEb2dNQ3hjYmlBZ0lDQnRiM1Z6WlVselJHOTNiam9nWm1Gc2MyVXNYRzRnSUNBZ2JXOTFjMlZKYzA5MlpYSkhjbUZpUVhKbFlUb2dabUZzYzJVc1hHNGdJQ0FnYzJodmQwZHlZV0pCY21WaE9pQjBjblZsTEZ4dUlDQWdJSGRwWkhSb09pQjBhR2x6TG5CeWIzQnpMbTVoZG1sbllYUnBiMjR1YzNSaGRHVXVjSEp2WkhWamRFNWhkbGRwWkhSb0xGeHVJQ0I5TzF4dVhHNGdJSE4wWVhScFl5QmtaV1poZFd4MFVISnZjSE1nUFNCN1hHNGdJQ0FnYVhOSGNtRmlRWEpsWVVScGMyRmliR1ZrT2lCbVlXeHpaU3hjYmlBZ2ZUdGNibHh1SUNCemRHRjBhV01nWjJWMFJHVnlhWFpsWkZOMFlYUmxSbkp2YlZCeWIzQnpLSEJ5YjNCekxDQnpkR0YwWlNrZ2UxeHVJQ0FnSUdOdmJuTjBJSHRjYmlBZ0lDQWdJQzh2SUdWemJHbHVkQzFrYVhOaFlteGxMVzVsZUhRdGJHbHVaU0JqWVcxbGJHTmhjMlZjYmlBZ0lDQWdJR1Y0Y0dWeWFXMWxiblJoYkY5bWJIbHZkWFJQYmtodmRtVnlPaUJGV0ZCRlVrbE5SVTVVUVV4ZlJreFpUMVZVWDA5T1gwaFBWa1ZTTEZ4dUlDQWdJQ0FnWm14NWIzVjBTWE5QY0dWdUxGeHVJQ0FnSUNBZ2JtRjJhV2RoZEdsdmJpeGNiaUFnSUNCOUlEMGdjSEp2Y0hNN1hHNGdJQ0FnWTI5dWMzUWdleUJwYzBOdmJHeGhjSE5sWkNCOUlEMGdibUYyYVdkaGRHbHZiaTV6ZEdGMFpUdGNibHh1SUNBZ0lDOHZJSEpsYzI5c2RtVWdYQ0pvYjNabGNpQnNiMk5yYVc1blhDSWdhWE56ZFdVZ2QybDBhQ0J5WlhOcGVtVWdaM0poWWlCaGNtVmhYRzRnSUNBZ2FXWWdLRVZZVUVWU1NVMUZUbFJCVEY5R1RGbFBWVlJmVDA1ZlNFOVdSVklwSUh0Y2JpQWdJQ0FnSUdOdmJuTjBJSE5vYjNkSGNtRmlRWEpsWVNBOUlDRnBjME52Ykd4aGNITmxaQ0FtSmlBaFpteDViM1YwU1hOUGNHVnVPMXh1SUNBZ0lDQWdZMjl1YzNRZ2JXOTFjMlZKYzA5MlpYSkhjbUZpUVhKbFlTQTlJSE5vYjNkSGNtRmlRWEpsWVZ4dUlDQWdJQ0FnSUNBL0lITjBZWFJsTG0xdmRYTmxTWE5QZG1WeVIzSmhZa0Z5WldGY2JpQWdJQ0FnSUNBZ09pQm1ZV3h6WlR0Y2JseHVJQ0FnSUNBZ2NtVjBkWEp1SUh0Y2JpQWdJQ0FnSUNBZ2JXOTFjMlZKYzA5MlpYSkhjbUZpUVhKbFlTeGNiaUFnSUNBZ0lDQWdjMmh2ZDBkeVlXSkJjbVZoTEZ4dUlDQWdJQ0FnZlR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdiblZzYkR0Y2JpQWdmVnh1WEc0Z0lHOXVVbVZ6YVhwbGNrTm9aWFp5YjI1RGJHbGpheUE5SUNncElEMCtJSHRjYmlBZ0lDQmpiMjV6ZENCMGNtbG5aMlZ5SUQwZ2RHaHBjeTV3Y205d2N5NW1iSGx2ZFhSSmMwOXdaVzRnUHlBblkyaGxkbkp2YmtodmRtVnlKeUE2SUNkamFHVjJjbTl1Snp0Y2JpQWdJQ0IwYUdsekxuUnZaMmRzWlVOdmJHeGhjSE5sS0hSeWFXZG5aWElwTzF4dUlDQjlPMXh1WEc0Z0lHMXZkWE5sUlc1MFpYSkhjbUZpUVhKbFlTQTlJQ2dwSUQwK0lIdGNiaUFnSUNCMGFHbHpMbk5sZEZOMFlYUmxLSHNnYlc5MWMyVkpjMDkyWlhKSGNtRmlRWEpsWVRvZ2RISjFaU0I5S1R0Y2JpQWdmVHRjYmx4dUlDQnRiM1Z6WlV4bFlYWmxSM0poWWtGeVpXRWdQU0FvS1NBOVBpQjdYRzRnSUNBZ2RHaHBjeTV6WlhSVGRHRjBaU2g3SUcxdmRYTmxTWE5QZG1WeVIzSmhZa0Z5WldFNklHWmhiSE5sSUgwcE8xeHVJQ0I5TzF4dVhHNGdJSFJ2WjJkc1pVTnZiR3hoY0hObElEMGdkSEpwWjJkbGNpQTlQaUI3WEc0Z0lDQWdZMjl1YzNRZ2V5QnVZWFpwWjJGMGFXOXVMQ0JqY21WaGRHVkJibUZzZVhScFkzTkZkbVZ1ZENCOUlEMGdkR2hwY3k1d2NtOXdjenRjYmlBZ0lDQmpiMjV6ZENCdVpYZERiMnhzWVhCelpXUlRkR0YwWlNBOUlDRnVZWFpwWjJGMGFXOXVMbk4wWVhSbExtbHpRMjlzYkdGd2MyVmtPMXh1SUNBZ0lHNWhkbWxuWVhScGIyNHVkRzluWjJ4bFEyOXNiR0Z3YzJVb0tUdGNiaUFnSUNCdVlYWnBaMkYwYVc5dVJYaHdZVzVrWldSRGIyeHNZWEJ6WldRb1kzSmxZWFJsUVc1aGJIbDBhV056UlhabGJuUXNJSHRjYmlBZ0lDQWdJSFJ5YVdkblpYSXNYRzRnSUNBZ0lDQnBjME52Ykd4aGNITmxaRG9nYm1WM1EyOXNiR0Z3YzJWa1UzUmhkR1VzWEc0Z0lDQWdmU2s3WEc0Z0lIMDdYRzVjYmlBZ2FHRnVaR3hsVW1WemFYcGxVM1JoY25RZ1BTQmxkbVZ1ZENBOVBpQjdYRzRnSUNBZ1kyOXVjM1FnYVc1cGRHbGhiRmdnUFNCbGRtVnVkQzV3WVdkbFdEdGNibHh1SUNBZ0lIUm9hWE11YzJWMFUzUmhkR1VvZXlCcGJtbDBhV0ZzV0N3Z2JXOTFjMlZKYzBSdmQyNDZJSFJ5ZFdVZ2ZTazdYRzVjYmlBZ0lDQXZMeUJoZEhSaFkyZ2dhR0Z1Wkd4bGNuTWdLR2hoYm1Sc1pWSmxjMmw2WlZOMFlYSjBJR2x6SUdFZ1ltOTFibVFnZEc4Z2IyNU5iM1Z6WlVSdmQyNHBYRzRnSUNBZ2QybHVaRzkzTG1Ga1pFVjJaVzUwVEdsemRHVnVaWElvSjIxdmRYTmxiVzkyWlNjc0lIUm9hWE11YUdGdVpHeGxVbVZ6YVhwbEtUdGNiaUFnSUNCM2FXNWtiM2N1WVdSa1JYWmxiblJNYVhOMFpXNWxjaWduYlc5MWMyVjFjQ2NzSUhSb2FYTXVhR0Z1Wkd4bFVtVnphWHBsUlc1a0tUdGNiaUFnZlR0Y2JseHVJQ0JwYm1sMGFXRnNhWHBsUkhKaFp5QTlJR1YyWlc1MElEMCtJSHRjYmlBZ0lDQmpiMjV6ZENCN0lHNWhkbWxuWVhScGIyNGdmU0E5SUhSb2FYTXVjSEp2Y0hNN1hHNGdJQ0FnWTI5dWMzUWdaR1ZzZEdFZ1BTQmxkbVZ1ZEM1d1lXZGxXQ0F0SUhSb2FYTXVjM1JoZEdVdWFXNXBkR2xoYkZnN1hHNGdJQ0FnWTI5dWMzUWdleUJwYzBOdmJHeGhjSE5sWkNCOUlEMGdibUYyYVdkaGRHbHZiaTV6ZEdGMFpUdGNibHh1SUNBZ0lDOHZJRzl1YkhrZ2FXNXBkR2xoYkdsNlpTQjNhR1Z1SUdSeVlXY2dhVzUwWlc1MGFXOXVJR2x6SUZ3aVpYaHdZVzVrWENKY2JpQWdJQ0JwWmlBb2FYTkRiMnhzWVhCelpXUWdKaVlnWkdWc2RHRWdQRDBnTUNrZ2UxeHVJQ0FnSUNBZ2RHaHBjeTVwYm5aaGJHbGtSSEpoWjBGMGRHVnRjSFJsWkNBOUlIUnlkV1U3WEc0Z0lDQWdJQ0J5WlhSMWNtNDdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2JHVjBJR2x1YVhScFlXeFhhV1IwYUNBOUlHNWhkbWxuWVhScGIyNHVjM1JoZEdVdWNISnZaSFZqZEU1aGRsZHBaSFJvTzF4dUlDQWdJR3hsZENCa2FXUkVjbUZuVDNCbGJpQTlJR1poYkhObE8xeHVYRzRnSUNBZ0x5OGdUazlVUlZ4dUlDQWdJQzh2SUdsbUlIUm9aU0J3Y205a2RXTjBJRzVoZGlCcGN5QmpiMnhzWVhCelpXUWdZVzVrSUhSb1pTQmpiMjV6ZFcxbGNpQnpkR0Z5ZEhNZ1pISmhaMmRwYm1jZ2FYUWdiM0JsYmx4dUlDQWdJQzh2SUhkbElHMTFjM1FnWlhod1lXNWtJR2wwSUdGdVpDQmtjbUZuSUhOb2IzVnNaQ0J6ZEdGeWRDQm1jbTl0SURBdVhHNGdJQ0FnYVdZZ0tHbHpRMjlzYkdGd2MyVmtLU0I3WEc0Z0lDQWdJQ0JwYm1sMGFXRnNWMmxrZEdnZ1BTQkRUMDVVUlU1VVgwNUJWbDlYU1VSVVNGOURUMHhNUVZCVFJVUTdYRzRnSUNBZ0lDQmthV1JFY21GblQzQmxiaUE5SUhSeWRXVTdYRzRnSUNBZ0lDQnVZWFpwWjJGMGFXOXVMbTFoYm5WaGJGSmxjMmw2WlZOMFlYSjBLSHRjYmlBZ0lDQWdJQ0FnY0hKdlpIVmpkRTVoZGxkcFpIUm9PaUJEVDA1VVJVNVVYMDVCVmw5WFNVUlVTRjlEVDB4TVFWQlRSVVFzWEc0Z0lDQWdJQ0FnSUdselEyOXNiR0Z3YzJWa09pQm1ZV3h6WlN4Y2JpQWdJQ0FnSUgwcE8xeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0J1WVhacFoyRjBhVzl1TG0xaGJuVmhiRkpsYzJsNlpWTjBZWEowS0c1aGRtbG5ZWFJwYjI0dWMzUmhkR1VwTzF4dUlDQWdJSDFjYmx4dUlDQWdJSFJvYVhNdWMyVjBVM1JoZEdVb2V5QmthV1JFY21GblQzQmxiaXdnYVc1cGRHbGhiRmRwWkhSb0xDQnBjMFJ5WVdkbmFXNW5PaUIwY25WbElIMHBPMXh1SUNCOU8xeHVYRzRnSUdoaGJtUnNaVkpsYzJsNlpTQTlJSEpoWmlobGRtVnVkQ0E5UGlCN1hHNGdJQ0FnWTI5dWMzUWdleUJ0ZFhSaGRHbHZibEpsWm5NZ2ZTQTlJSFJvYVhNdWNISnZjSE03WEc0Z0lDQWdZMjl1YzNRZ2V5QnBibWwwYVdGc1dDd2dhVzVwZEdsaGJGZHBaSFJvTENCcGMwUnlZV2RuYVc1bkxDQnRiM1Z6WlVselJHOTNiaUI5SUQwZ2RHaHBjeTV6ZEdGMFpUdGNibHh1SUNBZ0lDOHZJRzl1SUc5alkyRnphVzl1SUdFZ2JXOTFjMlVnYlc5MlpTQmxkbVZ1ZENCdlkyTjFjbk1nWW1WbWIzSmxJSFJvWlNCbGRtVnVkQ0JzYVhOMFpXNWxjbk5jYmlBZ0lDQXZMeUJvWVhabElHRWdZMmhoYm1ObElIUnZJR1JsZEdGamFGeHVJQ0FnSUdsbUlDZ2hiVzkxYzJWSmMwUnZkMjRwSUhKbGRIVnlianRjYmx4dUlDQWdJQzh2SUdsdWFYUnBZV3hwZW1VZ1pISmhaMmRwYm1kY2JpQWdJQ0JwWmlBb0lXbHpSSEpoWjJkcGJtY3BJSHRjYmlBZ0lDQWdJSFJvYVhNdWFXNXBkR2xoYkdsNlpVUnlZV2NvWlhabGJuUXBPMXh1SUNBZ0lDQWdjbVYwZFhKdU8xeHVJQ0FnSUgxY2JseHVJQ0FnSUM4dklHRnNiRzkzSUhSb1pTQndjbTlrZFdOMElHNWhkaUIwYnlCaVpTQTNOU1VnYjJZZ2RHaGxJR0YyWVdsc1lXSnNaU0J3WVdkbElIZHBaSFJvWEc0Z0lDQWdZMjl1YzNRZ2JXRjRWMmxrZEdnZ1BTQk5ZWFJvTG5KdmRXNWtLQ2gzYVc1a2IzY3VhVzV1WlhKWGFXUjBhQ0F2SURRcElDb2dNeWs3WEc0Z0lDQWdZMjl1YzNRZ2JXbHVWMmxrZEdnZ1BTQkRUMDVVUlU1VVgwNUJWbDlYU1VSVVNGOURUMHhNUVZCVFJVUTdYRzRnSUNBZ1kyOXVjM1FnWVdScWRYTjBaV1JOWVhnZ1BTQnRZWGhYYVdSMGFDQXRJR2x1YVhScFlXeFhhV1IwYUNBdElFZE1UMEpCVEY5T1FWWmZWMGxFVkVnN1hHNGdJQ0FnWTI5dWMzUWdZV1JxZFhOMFpXUk5hVzRnUFNCdGFXNVhhV1IwYUNBdElHbHVhWFJwWVd4WGFXUjBhRHRjYmx4dUlDQWdJR052Ym5OMElHUmxiSFJoSUQwZ1RXRjBhQzV0WVhnb1hHNGdJQ0FnSUNCTllYUm9MbTFwYmlobGRtVnVkQzV3WVdkbFdDQXRJR2x1YVhScFlXeFlMQ0JoWkdwMWMzUmxaRTFoZUNrc1hHNGdJQ0FnSUNCaFpHcDFjM1JsWkUxcGJpeGNiaUFnSUNBcE8xeHVJQ0FnSUdOdmJuTjBJSGRwWkhSb0lEMGdhVzVwZEdsaGJGZHBaSFJvSUNzZ1pHVnNkR0U3WEc1Y2JpQWdJQ0F2THlCaGNIQnNlU0IxY0dSaGRHVmtJSE4wZVd4bGN5QjBieUIwYUdVZ1lYQndiR2xqWVdKc1pTQkVUMDBnYm05a1pYTmNiaUFnSUNCMWNHUmhkR1ZTWlhOcGVtVkJjbVZoVUc5emFYUnBiMjRvYlhWMFlYUnBiMjVTWldaekxDQjNhV1IwYUNrN1hHNWNiaUFnSUNBdkx5Qk9UMVJGT2lCb2FXcGhZMnNnZEdobElHMWhkV0ZzSUhKbGMybDZaU0JoYm1RZ1ptOXlZMlVnWTI5c2JHRndjMlVzSUdOaGJtTmxiSE1nYlc5MWMyVWdaWFpsYm5SelhHNGdJQ0FnYVdZZ0tHVjJaVzUwTG1Oc2FXVnVkRmdnUENBd0tTQjdYRzRnSUNBZ0lDQjBhR2x6TG5ObGRGTjBZWFJsS0hzZ2QybGtkR2c2SUVOUFRsUkZUbFJmVGtGV1gxZEpSRlJJWDBOUFRFeEJVRk5GUkNCOUtUdGNiaUFnSUNBZ0lIUm9hWE11YUdGdVpHeGxVbVZ6YVhwbFJXNWtLQ2s3WEc0Z0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lDOHZJRzFoYVc1MFlXbHVJR2x1ZEdWeWJtRnNJSGRwWkhSb0xDQmhjSEJzYVdWa0lIUnZJRzVoZG1sbllYUnBiMjRnYzNSaGRHVWdiMjRnY21WemFYcGxJR1Z1WkZ4dUlDQWdJQ0FnZEdocGN5NXpaWFJUZEdGMFpTaDdJR1JsYkhSaExDQjNhV1IwYUNCOUtUdGNiaUFnSUNCOVhHNGdJSDBwTzF4dVhHNGdJR2hoYm1Sc1pWSmxjMmw2WlVWdVpDQTlJQ2dwSUQwK0lIdGNiaUFnSUNCamIyNXpkQ0I3SUc1aGRtbG5ZWFJwYjI0c0lHTnlaV0YwWlVGdVlXeDVkR2xqYzBWMlpXNTBJSDBnUFNCMGFHbHpMbkJ5YjNCek8xeHVJQ0FnSUdOdmJuTjBJSHNnWkdWc2RHRXNJR1JwWkVSeVlXZFBjR1Z1TENCcGMwUnlZV2RuYVc1bkxDQjNhV1IwYURvZ1kzVnljbVZ1ZEZkcFpIUm9JSDBnUFNCMGFHbHpMbk4wWVhSbE8xeHVJQ0FnSUdOdmJuTjBJR1Y0Y0dGdVpGUm9jbVZ6YUc5c1pDQTlJREkwTzF4dUlDQWdJR052Ym5OMElISmxjMmw2WlhKRGJHbGphMlZrSUQwZ0lXbHpSSEpoWjJkcGJtY2dKaVlnSVhSb2FYTXVhVzUyWVd4cFpFUnlZV2RCZEhSbGJYQjBaV1E3WEc0Z0lDQWdiR1YwSUhCMVlteHBjMmhYYVdSMGFDQTlJR04xY25KbGJuUlhhV1IwYUR0Y2JpQWdJQ0JzWlhRZ2MyaHZkV3hrUTI5c2JHRndjMlVnUFNCbVlXeHpaVHRjYmx4dUlDQWdJQzh2SUdOb1pXTnJJR2xtSUhSb1pTQnBiblJsYm5ScGIyNGdkMkZ6SUdwMWMzUWdZU0JqYkdsamF5d2dZVzVrSUhSdloyZHNaVnh1SUNBZ0lHbG1JQ2h5WlhOcGVtVnlRMnhwWTJ0bFpDa2dlMXh1SUNBZ0lDQWdjSFZpYkdsemFGZHBaSFJvSUQwZ1RXRjBhQzV0WVhnb1EwOU9WRVZPVkY5T1FWWmZWMGxFVkVnc0lHTjFjbkpsYm5SWGFXUjBhQ2s3WEc0Z0lDQWdJQ0IwYUdsekxuUnZaMmRzWlVOdmJHeGhjSE5sS0NkeVpYTnBlbVZ5UTJ4cFkyc25LVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQXZMeUJ3Y21WMlpXNTBJSFJvWlNCMWMyVnlJR1p5YjIwZ1kzSmxZWFJwYm1jZ1lXNGdkVzUxYzJGaWJHVWdkMmxrZEdoY2JpQWdJQ0JwWmlBb2NIVmliR2x6YUZkcFpIUm9JRHdnUTA5T1ZFVk9WRjlPUVZaZlYwbEVWRWdwSUh0Y2JpQWdJQ0FnSUhCMVlteHBjMmhYYVdSMGFDQTlJRU5QVGxSRlRsUmZUa0ZXWDFkSlJGUklPMXh1SUNBZ0lDQWdhV1lnS0dScFpFUnlZV2RQY0dWdUlDWW1JR1JsYkhSaElENGdaWGh3WVc1a1ZHaHlaWE5vYjJ4a0tTQjdYRzRnSUNBZ0lDQWdJSE5vYjNWc1pFTnZiR3hoY0hObElEMGdabUZzYzJVN1hHNGdJQ0FnSUNCOUlHVnNjMlVnYVdZZ0tHTjFjbkpsYm5SWGFXUjBhQ0E4SUVkTVQwSkJURjlPUVZaZlEwOU1URUZRVTBWZlZFaFNSVk5JVDB4RUtTQjdYRzRnSUNBZ0lDQWdJSE5vYjNWc1pFTnZiR3hoY0hObElEMGdkSEoxWlR0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdjMmh2ZFd4a1EyOXNiR0Z3YzJVZ1BTQnVZWFpwWjJGMGFXOXVMbk4wWVhSbExtbHpRMjlzYkdGd2MyVmtPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2hjYmlBZ0lDQWdJQ0Z5WlhOcGVtVnlRMnhwWTJ0bFpDQW1KbHh1SUNBZ0lDQWdLQ2hrYVdSRWNtRm5UM0JsYmlBbUppQWhjMmh2ZFd4a1EyOXNiR0Z3YzJVcElIeDhJQ2doWkdsa1JISmhaMDl3Wlc0Z0ppWWdjMmh2ZFd4a1EyOXNiR0Z3YzJVcEtWeHVJQ0FnSUNrZ2UxeHVJQ0FnSUNBZ2JtRjJhV2RoZEdsdmJrVjRjR0Z1WkdWa1EyOXNiR0Z3YzJWa0tHTnlaV0YwWlVGdVlXeDVkR2xqYzBWMlpXNTBMQ0I3WEc0Z0lDQWdJQ0FnSUhSeWFXZG5aWEk2SUNkeVpYTnBlbVZ5UkhKaFp5Y3NYRzRnSUNBZ0lDQWdJR2x6UTI5c2JHRndjMlZrT2lCemFHOTFiR1JEYjJ4c1lYQnpaU3hjYmlBZ0lDQWdJSDBwTzF4dUlDQWdJSDFjYmx4dUlDQWdJQzh2SUhKbGMyVjBJR1YyWlhKNWRHaHBibWRjYmlBZ0lDQjBhR2x6TG1sdWRtRnNhV1JFY21GblFYUjBaVzF3ZEdWa0lEMGdabUZzYzJVN1hHNGdJQ0FnZEdocGN5NXpaWFJUZEdGMFpTaDdYRzRnSUNBZ0lDQmthV1JFY21GblQzQmxiam9nWm1Gc2MyVXNYRzRnSUNBZ0lDQnBjMFJ5WVdkbmFXNW5PaUJtWVd4elpTeGNiaUFnSUNBZ0lHMXZkWE5sU1hORWIzZHVPaUJtWVd4elpTeGNiaUFnSUNBZ0lIZHBaSFJvT2lCd2RXSnNhWE5vVjJsa2RHZ3NYRzRnSUNBZ2ZTazdYRzVjYmlBZ0lDQXZMeUJ3ZFdKc2FYTm9JSFJvWlNCdVpYY2dkMmxrZEdnc0lHOXVZMlVnY21WemFYcHBibWNnWTI5dGNHeGxkR1Z6WEc0Z0lDQWdibUYyYVdkaGRHbHZiaTV0WVc1MVlXeFNaWE5wZW1WRmJtUW9lMXh1SUNBZ0lDQWdjSEp2WkhWamRFNWhkbGRwWkhSb09pQndkV0pzYVhOb1YybGtkR2dzWEc0Z0lDQWdJQ0JwYzBOdmJHeGhjSE5sWkRvZ2MyaHZkV3hrUTI5c2JHRndjMlVzWEc0Z0lDQWdmU2s3WEc1Y2JpQWdJQ0JwWmlBb2MyaHZkV3hrVW1WelpYUkhjbUZpUVhKbFlTaGpkWEp5Wlc1MFYybGtkR2dwS1NCN1hHNGdJQ0FnSUNCMWNHUmhkR1ZTWlhOcGVtVkJjbVZoVUc5emFYUnBiMjRvZEdocGN5NXdjbTl3Y3k1dGRYUmhkR2x2YmxKbFpuTXNJRU5QVGxSRlRsUmZUa0ZXWDFkSlJGUklLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQXZMeUJqYkdWaGJuVndYRzRnSUNBZ2QybHVaRzkzTG5KbGJXOTJaVVYyWlc1MFRHbHpkR1Z1WlhJb0oyMXZkWE5sYlc5MlpTY3NJSFJvYVhNdWFHRnVaR3hsVW1WemFYcGxLVHRjYmlBZ0lDQjNhVzVrYjNjdWNtVnRiM1psUlhabGJuUk1hWE4wWlc1bGNpZ25iVzkxYzJWMWNDY3NJSFJvYVhNdWFHRnVaR3hsVW1WemFYcGxSVzVrS1R0Y2JpQWdmVHRjYmx4dUlDQnlaVzVrWlhJb0tTQjdYRzRnSUNBZ1kyOXVjM1FnZTF4dUlDQWdJQ0FnYVhORWNtRm5aMmx1Wnl4Y2JpQWdJQ0FnSUcxdmRYTmxTWE5FYjNkdUxGeHVJQ0FnSUNBZ2JXOTFjMlZKYzA5MlpYSkhjbUZpUVhKbFlTeGNiaUFnSUNBZ0lITm9iM2RIY21GaVFYSmxZU3hjYmlBZ0lDQjlJRDBnZEdocGN5NXpkR0YwWlR0Y2JpQWdJQ0JqYjI1emRDQjdYRzRnSUNBZ0lDQmpiMnhzWVhCelpWUnZaMmRzWlZSdmIyeDBhWEJEYjI1MFpXNTBMRnh1SUNBZ0lDQWdaWGh3WVc1a1EyOXNiR0Z3YzJWQlptWnZjbVJoYm1ObFVtVm1MRnh1SUNBZ0lDQWdabXg1YjNWMFNYTlBjR1Z1TEZ4dUlDQWdJQ0FnYVhORWFYTmhZbXhsWkRvZ2FYTlNaWE5wZW1WRWFYTmhZbXhsWkN4Y2JpQWdJQ0FnSUdselIzSmhZa0Z5WldGRWFYTmhZbXhsWkN4Y2JpQWdJQ0FnSUc5dVRXOTFjMlZQZG1WeVFuVjBkRzl1UW5WbVptVnlMRnh1SUNBZ0lDQWdibUYyYVdkaGRHbHZiaXhjYmlBZ0lDQjlJRDBnZEdocGN5NXdjbTl3Y3p0Y2JpQWdJQ0JqYjI1emRDQjdJR2x6UTI5c2JHRndjMlZrSUgwZ1BTQnVZWFpwWjJGMGFXOXVMbk4wWVhSbE8xeHVYRzRnSUNBZ0x5OGdkR2hsSUdKMWRIUnZiaUJ6YUc5MWJHUnVKM1FnWENKbWJHbHdYQ0lnZFc1MGFXd2dkR2hsSUdSeVlXY2dhWE1nWTI5dGNHeGxkR1ZjYmlBZ0lDQnNaWFFnUW5WMGRHOXVTV052YmlBOUlFTm9aWFp5YjI1TVpXWjBPMXh1SUNBZ0lHbG1JQ2hwYzBOdmJHeGhjSE5sWkNrZ1FuVjBkRzl1U1dOdmJpQTlJRU5vWlhaeWIyNVNhV2RvZER0Y2JseHVJQ0FnSUdOdmJuTjBJR0oxZEhSdmJpQTlJQ2hjYmlBZ0lDQWdJRHhDZFhSMGIyNWNiaUFnSUNBZ0lDQWdiMjVEYkdsamF6MTdkR2hwY3k1dmJsSmxjMmw2WlhKRGFHVjJjbTl1UTJ4cFkydDlYRzRnSUNBZ0lDQWdJRzl1VFc5MWMyVkViM2R1UFh0d2NtVjJaVzUwUkdWbVlYVnNkSDFjYmlBZ0lDQWdJQ0FnYUdsMFFYSmxZVk5wZW1VOWUyOXVUVzkxYzJWUGRtVnlRblYwZEc5dVFuVm1abVZ5SUQ4Z0oyeGhjbWRsSnlBNklDZHpiV0ZzYkNkOVhHNGdJQ0FnSUNBZ0lDOHZJRzFoYVc1MFlXbHVJSE4wZVd4bGN5QjNhR1Z1SUhWelpYSWdhWE1nWkhKaFoyZHBibWRjYmlBZ0lDQWdJQ0FnYVhOV2FYTnBZbXhsUFh0cGMwTnZiR3hoY0hObFpDQjhmQ0J0YjNWelpVbHpSRzkzYm4xY2JpQWdJQ0FnSUNBZ2FHRnpTR2xuYUd4cFoyaDBQWHR0YjNWelpVbHpSRzkzYmlCOGZDQnRiM1Z6WlVselQzWmxja2R5WVdKQmNtVmhmVnh1SUNBZ0lDQWdJQ0JwYm01bGNsSmxaajE3Wlhod1lXNWtRMjlzYkdGd2MyVkJabVp2Y21SaGJtTmxVbVZtZlZ4dUlDQWdJQ0FnSUNCaGNtbGhMV1Y0Y0dGdVpHVmtQWHNoYVhORGIyeHNZWEJ6WldSOVhHNGdJQ0FnSUNBZ0lHRnlhV0V0YkdGaVpXdzlYQ0pVYjJkbmJHVWdibUYyYVdkaGRHbHZibHdpWEc0Z0lDQWdJQ0ErWEc0Z0lDQWdJQ0FnSUR4Q2RYUjBiMjVKWTI5dUlDOCtYRzRnSUNBZ0lDQThMMEoxZEhSdmJqNWNiaUFnSUNBcE8xeHVJQ0FnSUdOdmJuTjBJSE5vWVdSdmQwUnBjbVZqZEdsdmJpQTlJR1pzZVc5MWRFbHpUM0JsYmlBL0lDZDBieUJ5YVdkb2RDY2dPaUFuZEc4Z2JHVm1kQ2M3WEc1Y2JpQWdJQ0J5WlhSMWNtNGdLRnh1SUNBZ0lDQWdQRTkxZEdWeVBseHVJQ0FnSUNBZ0lDQjdhWE5FY21GbloybHVaeUFtSmlBOFFtOWtlVVJ5WVdkRGRYSnpiM0lnTHo1OVhHNGdJQ0FnSUNBZ0lEeFRhR0ZrYjNjZ1pHbHlaV04wYVc5dVBYdHphR0ZrYjNkRWFYSmxZM1JwYjI1OUlHbHpRbTlzWkQxN2JXOTFjMlZKYzBSdmQyNTlJQzgrWEc0Z0lDQWdJQ0FnSUhzaGFYTlNaWE5wZW1WRWFYTmhZbXhsWkNBbUppQW9YRzRnSUNBZ0lDQWdJQ0FnUEVaeVlXZHRaVzUwUGx4dUlDQWdJQ0FnSUNBZ0lDQWdleUZwYzBkeVlXSkJjbVZoUkdsellXSnNaV1FnSmlZZ2MyaHZkMGR5WVdKQmNtVmhJQ1ltSUNoY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnUEVkeVlXSkJjbVZoWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYVhOQ2IyeGtQWHR0YjNWelpVbHpSRzkzYm4xY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCemFHOTNTR0Z1Wkd4bFBYdHRiM1Z6WlVselJHOTNiaUI4ZkNCdGIzVnpaVWx6VDNabGNrZHlZV0pCY21WaGZWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHOXVUVzkxYzJWRmJuUmxjajE3ZEdocGN5NXRiM1Z6WlVWdWRHVnlSM0poWWtGeVpXRjlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdiMjVOYjNWelpVeGxZWFpsUFh0MGFHbHpMbTF2ZFhObFRHVmhkbVZIY21GaVFYSmxZWDFjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J2YmsxdmRYTmxSRzkzYmoxN2RHaHBjeTVvWVc1a2JHVlNaWE5wZW1WVGRHRnlkSDFjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdMejVjYmlBZ0lDQWdJQ0FnSUNBZ0lDbDlYRzRnSUNBZ0lDQWdJQ0FnSUNBOFpHbDJJRzl1VFc5MWMyVlBkbVZ5UFhzaFpteDViM1YwU1hOUGNHVnVJRDhnYjI1TmIzVnpaVTkyWlhKQ2RYUjBiMjVDZFdabVpYSWdPaUJ1ZFd4c2ZUNWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ2UyTnZiR3hoY0hObFZHOW5aMnhsVkc5dmJIUnBjRU52Ym5SbGJuUWdQeUFvWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnUEZSdmIyeDBhWEJjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdOdmJuUmxiblE5ZTIxaGEyVlViMjlzZEdsd1RtOWtaU2hjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1kyOXNiR0Z3YzJWVWIyZG5iR1ZVYjI5c2RHbHdRMjl1ZEdWdWRDaHBjME52Ykd4aGNITmxaQ2tzWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBcGZWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdaR1ZzWVhrOWV6WXdNSDFjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdocFpHVlViMjlzZEdsd1QyNURiR2xqYTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2NHOXphWFJwYjI0OVhDSnlhV2RvZEZ3aVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1BseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdlMkoxZEhSdmJuMWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQThMMVJ2YjJ4MGFYQStYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDa2dPaUFvWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWW5WMGRHOXVYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDbDlYRzRnSUNBZ0lDQWdJQ0FnSUNBOEwyUnBkajVjYmlBZ0lDQWdJQ0FnSUNBOEwwWnlZV2R0Wlc1MFBseHVJQ0FnSUNBZ0lDQXBmVnh1SUNBZ0lDQWdQQzlQZFhSbGNqNWNiaUFnSUNBcE8xeHVJQ0I5WEc1OVhHNWNibVY0Y0c5eWRDQjdJRkpsYzJsNlpVTnZiblJ5YjJ3Z1lYTWdVbVZ6YVhwbFEyOXVkSEp2YkVKaGMyVWdmVHRjYmx4dVpYaHdiM0owSUdSbFptRjFiSFFnZDJsMGFFRnVZV3g1ZEdsamMwVjJaVzUwY3lncEtGSmxjMmw2WlVOdmJuUnliMndwTzF4dUlsMTkgKi9cIilcbiAgfSkpO1xufTtcbnZhciBsYXJnZUhpdEFyZWEgPSB7XG4gIGxlZnQ6IC04LFxuICByaWdodDogLTEyLFxuICBib3R0b206IC04LFxuICB0b3A6IC04XG59O1xudmFyIHNtYWxsSGl0QXJlYSA9IHtcbiAgbGVmdDogLTQsXG4gIHJpZ2h0OiAtNCxcbiAgYm90dG9tOiAtNCxcbiAgdG9wOiAtNFxufTtcblxudmFyIEJ1dHRvbiA9IGZ1bmN0aW9uIEJ1dHRvbihfcmVmMikge1xuICB2YXIgY2hpbGRyZW4gPSBfcmVmMi5jaGlsZHJlbixcbiAgICAgIGhhc0hpZ2hsaWdodCA9IF9yZWYyLmhhc0hpZ2hsaWdodCxcbiAgICAgIGlubmVyUmVmID0gX3JlZjIuaW5uZXJSZWYsXG4gICAgICBpc1Zpc2libGUgPSBfcmVmMi5pc1Zpc2libGUsXG4gICAgICBoaXRBcmVhU2l6ZSA9IF9yZWYyLmhpdEFyZWFTaXplLFxuICAgICAgcHJvcHMgPSBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMoX3JlZjIsIFtcImNoaWxkcmVuXCIsIFwiaGFzSGlnaGxpZ2h0XCIsIFwiaW5uZXJSZWZcIiwgXCJpc1Zpc2libGVcIiwgXCJoaXRBcmVhU2l6ZVwiXSk7XG5cbiAgcmV0dXJuIF9fX0Vtb3Rpb25KU1goXCJidXR0b25cIiwgX2V4dGVuZHMoe1xuICAgIGNsYXNzTmFtZTogXCJhay1uYXZpZ2F0aW9uLXJlc2l6ZS1idXR0b25cIixcbiAgICB0eXBlOiBcImJ1dHRvblwiLFxuICAgIHJlZjogaW5uZXJSZWYsXG4gICAgY3NzOlxuICAgIC8qI19fUFVSRV9fKi9cbiAgICBfY3NzKHtcbiAgICAgIGJhY2tncm91bmQ6IDAsXG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6ICd3aGl0ZScsXG4gICAgICBib3JkZXI6IDAsXG4gICAgICBib3JkZXJSYWRpdXM6ICc1MCUnLFxuICAgICAgYm94U2hhZG93OiBcIjAgMCAwIDFweCBcIi5jb25jYXQoY29sb3JzLk4zMEEsIFwiLCAwIDJweCA0cHggMXB4IFwiKS5jb25jYXQoY29sb3JzLk4zMEEpLFxuICAgICAgY29sb3I6IGhhc0hpZ2hsaWdodCA/IGNvbG9ycy5CMTAwIDogY29sb3JzLk4yMDAsXG4gICAgICBjdXJzb3I6ICdwb2ludGVyJyxcbiAgICAgIGhlaWdodDogMjQsXG4gICAgICBvcGFjaXR5OiBpc1Zpc2libGUgPyAxIDogMCxcbiAgICAgIG91dGxpbmU6IDAsXG4gICAgICBwYWRkaW5nOiAwLFxuICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICB0b3A6IDMyLFxuICAgICAgdHJhbnNpdGlvbjogXCJcXG4gICAgICAgIGJhY2tncm91bmQtY29sb3IgMTAwbXMgbGluZWFyLFxcbiAgICAgICAgY29sb3IgMTAwbXMgbGluZWFyLFxcbiAgICAgICAgb3BhY2l0eSAzMDBtcyBjdWJpYy1iZXppZXIoMC4yLCAwLCAwLCAxKSxcXG4gICAgICAgIHRyYW5zZm9ybSAzMDBtcyBjdWJpYy1iZXppZXIoMC4yLCAwLCAwLCAxKVxcbiAgICAgIFwiLFxuICAgICAgdHJhbnNmb3JtOiBcInRyYW5zbGF0ZSgtNTAlKVwiLFxuICAgICAgd2lkdGg6IDI0LFxuICAgICAgJzpob3Zlcic6IHtcbiAgICAgICAgYmFja2dyb3VuZENvbG9yOiBjb2xvcnMuQjEwMCxcbiAgICAgICAgY29sb3I6ICd3aGl0ZSdcbiAgICAgIH0sXG4gICAgICAnOmFjdGl2ZSc6IHtcbiAgICAgICAgYmFja2dyb3VuZENvbG9yOiBjb2xvcnMuQjIwMCxcbiAgICAgICAgY29sb3I6ICd3aGl0ZSdcbiAgICAgIH0sXG4gICAgICAnOmZvY3VzJzoge1xuICAgICAgICBvcGFjaXR5OiAxLFxuICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IGNvbG9ycy5CMjAwLFxuICAgICAgICBjb2xvcjogJ3doaXRlJ1xuICAgICAgfVxuICAgIH0sIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IFwiXCIgOiBcIi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpNHVMeTR1THk0dUx5NHVMeTR1TDNOeVl5OWpiMjF3YjI1bGJuUnpMM0J5WlhObGJuUmhkR2x2Ym1Gc0wweGhlVzkxZEUxaGJtRm5aWEl2VW1WemFYcGxRMjl1ZEhKdmJDNXFjeUpkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUYxUjBraUxDSm1hV3hsSWpvaUxpNHZMaTR2TGk0dkxpNHZMaTR2YzNKakwyTnZiWEJ2Ym1WdWRITXZjSEpsYzJWdWRHRjBhVzl1WVd3dlRHRjViM1YwVFdGdVlXZGxjaTlTWlhOcGVtVkRiMjUwY205c0xtcHpJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpYVcxd2IzSjBJRkpsWVdOMExDQjdJRVp5WVdkdFpXNTBMQ0JRZFhKbFEyOXRjRzl1Wlc1MElIMGdabkp2YlNBbmNtVmhZM1FuTzF4dVhHNXBiWEJ2Y25RZ2V5QkhiRzlpWVd3Z2ZTQm1jbTl0SUNkQVpXMXZkR2x2Ymk5amIzSmxKenRjYm1sdGNHOXlkQ0J5WVdZZ1puSnZiU0FuY21GbUxYTmphR1FuTzF4dVhHNXBiWEJ2Y25RZ2V5QjNhWFJvUVc1aGJIbDBhV056UlhabGJuUnpJSDBnWm5KdmJTQW5RR0YwYkdGemEybDBMMkZ1WVd4NWRHbGpjeTF1WlhoMEp6dGNibWx0Y0c5eWRDQkRhR1YyY205dVRHVm1kQ0JtY205dElDZEFZWFJzWVhOcmFYUXZhV052Ymk5bmJIbHdhQzlqYUdWMmNtOXVMV3hsWm5Rbk8xeHVhVzF3YjNKMElFTm9aWFp5YjI1U2FXZG9kQ0JtY205dElDZEFZWFJzWVhOcmFYUXZhV052Ymk5bmJIbHdhQzlqYUdWMmNtOXVMWEpwWjJoMEp6dGNibWx0Y0c5eWRDQXFJR0Z6SUdOdmJHOXljeUJtY205dElDZEFZWFJzWVhOcmFYUXZkR2hsYldVdlkyOXNiM0p6Snp0Y2JtbHRjRzl5ZENCVWIyOXNkR2x3SUdaeWIyMGdKMEJoZEd4aGMydHBkQzkwYjI5c2RHbHdKenRjYmx4dWFXMXdiM0owSUhzZ2JtRjJhV2RoZEdsdmJrVjRjR0Z1WkdWa1EyOXNiR0Z3YzJWa0lIMGdabkp2YlNBbkxpNHZMaTR2TGk0dlkyOXRiVzl1TDJGdVlXeDVkR2xqY3ljN1hHNXBiWEJ2Y25RZ2UxeHVJQ0JEVDA1VVJVNVVYMDVCVmw5WFNVUlVTQ3hjYmlBZ1EwOU9WRVZPVkY5T1FWWmZWMGxFVkVoZlEwOU1URUZRVTBWRUxGeHVJQ0JIVEU5Q1FVeGZUa0ZXWDBOUFRFeEJVRk5GWDFSSVVrVlRTRTlNUkN4Y2JpQWdSMHhQUWtGTVgwNUJWbDlYU1VSVVNDeGNibjBnWm5KdmJTQW5MaTR2TGk0dkxpNHZZMjl0Ylc5dUwyTnZibk4wWVc1MGN5YzdYRzVwYlhCdmNuUWdleUJUYUdGa2IzY2dmU0JtY205dElDY3VMaTh1TGk4dUxpOWpiMjF0YjI0dmNISnBiV2wwYVhabGN5YzdYRzVjYm1OdmJuTjBJRWhCVGtSTVJWOVBSa1pUUlZRZ1BTQTBPMXh1WTI5dWMzUWdTVTVPUlZKZlYwbEVWRWdnUFNBeU1EdGNibU52Ym5OMElFOVZWRVZTWDFkSlJGUklJRDBnU1U1T1JWSmZWMGxFVkVnZ0t5QklRVTVFVEVWZlQwWkdVMFZVTzF4dVkyOXVjM1FnU0VGT1JFeEZYMWRKUkZSSUlEMGdNanRjYm1OdmJuTjBJSE5vYjNWc1pGSmxjMlYwUjNKaFlrRnlaV0VnUFNCM2FXUjBhQ0E5UGlCN1hHNGdJSEpsZEhWeWJpQjNhV1IwYUNBK1BTQkhURTlDUVV4ZlRrRldYME5QVEV4QlVGTkZYMVJJVWtWVFNFOU1SQ0FtSmlCM2FXUjBhQ0E4SUVOUFRsUkZUbFJmVGtGV1gxZEpSRlJJTzF4dWZUdGNibU52Ym5OMElIQnlaWFpsYm5SRVpXWmhkV3gwSUQwZ1pYWmxiblFnUFQ0Z1pYWmxiblF1Y0hKbGRtVnVkRVJsWm1GMWJIUW9LVHRjYmx4dVpYaHdiM0owSUdOdmJuTjBJRUp2WkhsRWNtRm5RM1Z5YzI5eUlEMGdLQ2tnUFQ0Z0tGeHVJQ0E4UjJ4dlltRnNYRzRnSUNBZ2MzUjViR1Z6UFh0N1hHNGdJQ0FnSUNCaWIyUjVPaUI3WEc0Z0lDQWdJQ0FnSUdOMWNuTnZjam9nSjJWM0xYSmxjMmw2WlNjc1hHNGdJQ0FnSUNCOUxGeHVJQ0FnSUgxOVhHNGdJQzgrWEc0cE8xeHVYRzVqYjI1emRDQlBkWFJsY2lBOUlIQnliM0J6SUQwK0lDaGNiaUFnUEdScGRseHVJQ0FnSUdOemN6MTdlMXh1SUNBZ0lDQWdZbTkwZEc5dE9pQXdMRnh1SUNBZ0lDQWdiR1ZtZERvZ0p6RXdNQ1VuTEZ4dUlDQWdJQ0FnY0c5emFYUnBiMjQ2SUNkaFluTnZiSFYwWlNjc1hHNGdJQ0FnSUNCMGIzQTZJREFzWEc0Z0lDQWdJQ0IwY21GdWMyWnZjbTA2SUNkMGNtRnVjMnhoZEdWYUtEQXBKeXhjYmlBZ0lDQWdJSGRwWkhSb09pQlBWVlJGVWw5WFNVUlVTQ3hjYmlBZ0lDQWdJSHBKYm1SbGVEb2dNeXdnTHk4Z2FHbG5hR1Z5SUhSb1lXNGdkR2hsSUhOamNtOXNiQ0JvYVc1MElHeHBibVZ6WEc0Z0lDQWdmWDFjYmlBZ0lDQjdMaTR1Y0hKdmNITjlYRzRnSUM4K1hHNHBPMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdSM0poWWtGeVpXRWdQU0FvZXlCemFHOTNTR0Z1Wkd4bExDQnBjMEp2YkdRc0lDNHVMbkJ5YjNCeklIMHBJRDArSUNoY2JpQWdQR1JwZGx4dUlDQWdJR056Y3oxN2UxeHVJQ0FnSUNBZ1kzVnljMjl5T2lBblpYY3RjbVZ6YVhwbEp5eGNiaUFnSUNBZ0lHaGxhV2RvZERvZ0p6RXdNQ1VuTEZ4dUlDQWdJQ0FnYkdWbWREb2dMVWhCVGtSTVJWOVBSa1pUUlZRc1hHNGdJQ0FnSUNCd2IzTnBkR2x2YmpvZ0ozSmxiR0YwYVhabEp5eGNiaUFnSUNBZ0lIZHBaSFJvT2lCUFZWUkZVbDlYU1VSVVNDeGNiaUFnSUNCOWZWeHVJQ0FnSUhzdUxpNXdjbTl3YzMxY2JpQWdQbHh1SUNBZ0lEeGthWFpjYmlBZ0lDQWdJR056Y3oxN2UxeHVJQ0FnSUNBZ0lDQmlZV05yWjNKdmRXNWtRMjlzYjNJNklHbHpRbTlzWkNBL0lHTnZiRzl5Y3k1Q01qQXdJRG9nWTI5c2IzSnpMa0l4TURBc1hHNGdJQ0FnSUNBZ0lHOXdZV05wZEhrNklITm9iM2RJWVc1a2JHVWdQeUF4SURvZ01DeGNiaUFnSUNBZ0lDQWdhR1ZwWjJoME9pQW5NVEF3SlNjc1hHNGdJQ0FnSUNBZ0lHeGxablE2SUVoQlRrUk1SVjlQUmtaVFJWUWdMU0JJUVU1RVRFVmZWMGxFVkVnZ0x5QXlMQ0F2THlCMGFHVWdhR0Z1Wkd4bElITm9iM1ZzWkNCY0luTjBjbUZrWkd4bFhDSWdkR2hsSUdScGRtbGthVzVuSUd4cGJtVmNiaUFnSUNBZ0lDQWdjRzl6YVhScGIyNDZJQ2RoWW5OdmJIVjBaU2NzWEc0Z0lDQWdJQ0FnSUhSeVlXNXphWFJwYjI0NklDZHZjR0ZqYVhSNUlESXdNRzF6Snl4Y2JpQWdJQ0FnSUNBZ2QybGtkR2c2SUVoQlRrUk1SVjlYU1VSVVNDeGNiaUFnSUNBZ0lIMTlYRzRnSUNBZ0x6NWNiaUFnUEM5a2FYWStYRzRwTzF4dVkyOXVjM1FnYkdGeVoyVklhWFJCY21WaElEMGdlMXh1SUNCc1pXWjBPaUF0T0N4Y2JpQWdjbWxuYUhRNklDMHhNaXhjYmlBZ1ltOTBkRzl0T2lBdE9DeGNiaUFnZEc5d09pQXRPQ3hjYm4wN1hHNWpiMjV6ZENCemJXRnNiRWhwZEVGeVpXRWdQU0I3WEc0Z0lHeGxablE2SUMwMExGeHVJQ0J5YVdkb2REb2dMVFFzWEc0Z0lHSnZkSFJ2YlRvZ0xUUXNYRzRnSUhSdmNEb2dMVFFzWEc1OU8xeHVYRzVqYjI1emRDQkNkWFIwYjI0Z1BTQW9lMXh1SUNCamFHbHNaSEpsYml4Y2JpQWdhR0Z6U0dsbmFHeHBaMmgwTEZ4dUlDQnBibTVsY2xKbFppeGNiaUFnYVhOV2FYTnBZbXhsTEZ4dUlDQm9hWFJCY21WaFUybDZaU3hjYmlBZ0xpNHVjSEp2Y0hOY2JuMHBJRDArSUNoY2JpQWdQR0oxZEhSdmJseHVJQ0FnSUdOc1lYTnpUbUZ0WlQxY0ltRnJMVzVoZG1sbllYUnBiMjR0Y21WemFYcGxMV0oxZEhSdmJsd2lYRzRnSUNBZ2RIbHdaVDFjSW1KMWRIUnZibHdpWEc0Z0lDQWdjbVZtUFh0cGJtNWxjbEpsWm4xY2JpQWdJQ0JqYzNNOWUzdGNiaUFnSUNBZ0lHSmhZMnRuY205MWJtUTZJREFzWEc0Z0lDQWdJQ0JpWVdOclozSnZkVzVrUTI5c2IzSTZJQ2QzYUdsMFpTY3NYRzRnSUNBZ0lDQmliM0prWlhJNklEQXNYRzRnSUNBZ0lDQmliM0prWlhKU1lXUnBkWE02SUNjMU1DVW5MRnh1SUNBZ0lDQWdZbTk0VTJoaFpHOTNPaUJnTUNBd0lEQWdNWEI0SUNSN1kyOXNiM0p6TGs0ek1FRjlMQ0F3SURKd2VDQTBjSGdnTVhCNElDUjdZMjlzYjNKekxrNHpNRUY5WUN4Y2JpQWdJQ0FnSUdOdmJHOXlPaUJvWVhOSWFXZG9iR2xuYUhRZ1B5QmpiMnh2Y25NdVFqRXdNQ0E2SUdOdmJHOXljeTVPTWpBd0xGeHVJQ0FnSUNBZ1kzVnljMjl5T2lBbmNHOXBiblJsY2ljc1hHNGdJQ0FnSUNCb1pXbG5hSFE2SURJMExGeHVJQ0FnSUNBZ2IzQmhZMmwwZVRvZ2FYTldhWE5wWW14bElEOGdNU0E2SURBc1hHNGdJQ0FnSUNCdmRYUnNhVzVsT2lBd0xGeHVJQ0FnSUNBZ2NHRmtaR2x1WnpvZ01DeGNiaUFnSUNBZ0lIQnZjMmwwYVc5dU9pQW5ZV0p6YjJ4MWRHVW5MRnh1SUNBZ0lDQWdkRzl3T2lBek1peGNiaUFnSUNBZ0lIUnlZVzV6YVhScGIyNDZJR0JjYmlBZ0lDQWdJQ0FnWW1GamEyZHliM1Z1WkMxamIyeHZjaUF4TURCdGN5QnNhVzVsWVhJc1hHNGdJQ0FnSUNBZ0lHTnZiRzl5SURFd01HMXpJR3hwYm1WaGNpeGNiaUFnSUNBZ0lDQWdiM0JoWTJsMGVTQXpNREJ0Y3lCamRXSnBZeTFpWlhwcFpYSW9NQzR5TENBd0xDQXdMQ0F4S1N4Y2JpQWdJQ0FnSUNBZ2RISmhibk5tYjNKdElETXdNRzF6SUdOMVltbGpMV0psZW1sbGNpZ3dMaklzSURBc0lEQXNJREVwWEc0Z0lDQWdJQ0JnTEZ4dUlDQWdJQ0FnZEhKaGJuTm1iM0p0T2lCZ2RISmhibk5zWVhSbEtDMDFNQ1VwWUN4Y2JpQWdJQ0FnSUhkcFpIUm9PaUF5TkN4Y2JseHVJQ0FnSUNBZ0p6cG9iM1psY2ljNklIdGNiaUFnSUNBZ0lDQWdZbUZqYTJkeWIzVnVaRU52Ykc5eU9pQmpiMnh2Y25NdVFqRXdNQ3hjYmlBZ0lDQWdJQ0FnWTI5c2IzSTZJQ2QzYUdsMFpTY3NYRzRnSUNBZ0lDQjlMRnh1SUNBZ0lDQWdKenBoWTNScGRtVW5PaUI3WEc0Z0lDQWdJQ0FnSUdKaFkydG5jbTkxYm1SRGIyeHZjam9nWTI5c2IzSnpMa0l5TURBc1hHNGdJQ0FnSUNBZ0lHTnZiRzl5T2lBbmQyaHBkR1VuTEZ4dUlDQWdJQ0FnZlN4Y2JpQWdJQ0FnSUNjNlptOWpkWE1uT2lCN1hHNGdJQ0FnSUNBZ0lHOXdZV05wZEhrNklERXNYRzRnSUNBZ0lDQWdJR0poWTJ0bmNtOTFibVJEYjJ4dmNqb2dZMjlzYjNKekxrSXlNREFzWEc0Z0lDQWdJQ0FnSUdOdmJHOXlPaUFuZDJocGRHVW5MRnh1SUNBZ0lDQWdmU3hjYmlBZ0lDQjlmVnh1SUNBZ0lIc3VMaTV3Y205d2MzMWNiaUFnUGx4dUlDQWdJRHhrYVhaY2JpQWdJQ0FnSUM4dklHbHVZM0psWVhObElHaHBkQzFoY21WaFhHNGdJQ0FnSUNCamMzTTllM3RjYmlBZ0lDQWdJQ0FnY0c5emFYUnBiMjQ2SUNkaFluTnZiSFYwWlNjc1hHNGdJQ0FnSUNBZ0lDNHVMaWhvYVhSQmNtVmhVMmw2WlNBOVBUMGdKM050WVd4c0p5QS9JSE50WVd4c1NHbDBRWEpsWVNBNklHeGhjbWRsU0dsMFFYSmxZU2tzWEc0Z0lDQWdJQ0I5ZlZ4dUlDQWdJQzgrWEc0Z0lDQWdlMk5vYVd4a2NtVnVmVnh1SUNBOEwySjFkSFJ2Ymo1Y2JpazdYRzVjYmk4dklIUnBibXRsY2lCM2FYUm9JSFJvWlNCRVQwMGdaR2x5WldOMGJIa2dZbmtnYzJWMGRHbHVaeUJ6ZEhsc1pTQndjbTl3WlhKMGFXVnpMQ0IxY0dSaGRHVnpJSFJvWlNCbmNtRmlJR0poY2lCd2IzTnBkR2x2YmlCaWVTQmphR0Z1WjJsdVp5QndZV1JrYVc1bkxXeGxablFnWVc1a0lIZHBaSFJvTGx4dVpuVnVZM1JwYjI0Z2RYQmtZWFJsVW1WemFYcGxRWEpsWVZCdmMybDBhVzl1S0dWc1pXMWxiblJ6TENCM2FXUjBhQ2tnZTF4dUlDQmxiR1Z0Wlc1MGN5NW1iM0pGWVdOb0tDaDdJSEJ5YjNCbGNuUjVMQ0J5WldZZ2ZTa2dQVDRnZTF4dUlDQWdJR052Ym5OMElHNWxkMVpoYkhWbElEMGdZQ1I3ZDJsa2RHaDljSGhnTzF4dUlDQWdJR052Ym5OMElHOXNaRlpoYkhWbElEMGdjbVZtTG5OMGVXeGxMbWRsZEZCeWIzQmxjblI1Vm1Gc2RXVW9jSEp2Y0dWeWRIa3BPMXh1WEc0Z0lDQWdMeThnWVhadmFXUWdkR2h5WVhOb2FXNW5YRzRnSUNBZ2FXWWdLRzlzWkZaaGJIVmxJRDA5UFNCdVpYZFdZV3gxWlNrZ2NtVjBkWEp1TzF4dVhHNGdJQ0FnTHk4Z1pHbHlaV04wSUdGMGRISnBZblYwWlNCdFlXNXBjSFZzWVhScGIyNWNiaUFnSUNCeVpXWXVjM1I1YkdVdWMyVjBVSEp2Y0dWeWRIa29jSEp2Y0dWeWRIa3NJRzVsZDFaaGJIVmxLVHRjYmlBZ2ZTazdYRzU5WEc1Y2JpOHZJR2hsYkhCbGNpQm1iM0lnZEc5dmJIUnBjQ0JqYjI1MFpXNTBJR3RsZVdKdllYSmtJSE5vYjNKMFkzVjBJR2hwWjJoc2FXZG9kRnh1Wm5WdVkzUnBiMjRnYldGclpWUnZiMngwYVhCT2IyUmxLSHNnZEdWNGRDd2dZMmhoY2lCOUtTQjdYRzRnSUhKbGRIVnliaUFvWEc0Z0lDQWdQR1JwZGx4dUlDQWdJQ0FnWTNOelBYdDdYRzRnSUNBZ0lDQWdJR0ZzYVdkdVNYUmxiWE02SUNkaVlYTmxiR2x1WlNjc1hHNGdJQ0FnSUNBZ0lHUnBjM0JzWVhrNklDZG1iR1Y0Snl4Y2JpQWdJQ0FnSUNBZ2JHbHVaVWhsYVdkb2REb2dNUzR6TEZ4dUlDQWdJQ0FnSUNCd1lXUmthVzVuUW05MGRHOXRPaUF4TEZ4dUlDQWdJQ0FnSUNCd1lXUmthVzVuVkc5d09pQXhMRnh1SUNBZ0lDQWdmWDFjYmlBZ0lDQStYRzRnSUNBZ0lDQThjM0JoYmo1N2RHVjRkSDA4TDNOd1lXNCtYRzRnSUNBZ0lDQThaR2wyWEc0Z0lDQWdJQ0FnSUdOemN6MTdlMXh1SUNBZ0lDQWdJQ0FnSUdKaFkydG5jbTkxYm1SRGIyeHZjam9nWTI5c2IzSnpMazQwTURBc1hHNGdJQ0FnSUNBZ0lDQWdZbTl5WkdWeVVtRmthWFZ6T2lBeUxGeHVJQ0FnSUNBZ0lDQWdJR3hwYm1WSVpXbG5hSFE2SURFdU1peGNiaUFnSUNBZ0lDQWdJQ0J0WVhKbmFXNU1aV1owT2lBMExGeHVJQ0FnSUNBZ0lDQWdJSEJoWkdScGJtYzZJQ2N4Y0hnZ09IQjRKeXhjYmlBZ0lDQWdJQ0FnZlgxY2JpQWdJQ0FnSUQ1Y2JpQWdJQ0FnSUNBZ2UyTm9ZWEo5WEc0Z0lDQWdJQ0E4TDJScGRqNWNiaUFnSUNBOEwyUnBkajVjYmlBZ0tUdGNibjFjYmx4dUx5b2dUazlVUlRvZ1pYaHdaWEpwYldWdWRHRnNJSEJ5YjNCeklIVnpaU0JoYmlCMWJtUmxjbk5qYjNKbElDb3ZYRzVqYkdGemN5QlNaWE5wZW1WRGIyNTBjbTlzSUdWNGRHVnVaSE1nVUhWeVpVTnZiWEJ2Ym1WdWRDQjdYRzRnSUdsdWRtRnNhV1JFY21GblFYUjBaVzF3ZEdWa0lEMGdabUZzYzJVN1hHNWNiaUFnYkdGemRGZHBaSFJvTzF4dVhHNGdJSGR5WVhCd1pYSTdYRzVjYmlBZ2MzUmhkR1VnUFNCN1hHNGdJQ0FnWkdWc2RHRTZJREFzWEc0Z0lDQWdaR2xrUkhKaFowOXdaVzQ2SUdaaGJITmxMRnh1SUNBZ0lHbHpSSEpoWjJkcGJtYzZJR1poYkhObExGeHVJQ0FnSUdsdWFYUnBZV3hYYVdSMGFEb2dNQ3hjYmlBZ0lDQnBibWwwYVdGc1dEb2dNQ3hjYmlBZ0lDQnRiM1Z6WlVselJHOTNiam9nWm1Gc2MyVXNYRzRnSUNBZ2JXOTFjMlZKYzA5MlpYSkhjbUZpUVhKbFlUb2dabUZzYzJVc1hHNGdJQ0FnYzJodmQwZHlZV0pCY21WaE9pQjBjblZsTEZ4dUlDQWdJSGRwWkhSb09pQjBhR2x6TG5CeWIzQnpMbTVoZG1sbllYUnBiMjR1YzNSaGRHVXVjSEp2WkhWamRFNWhkbGRwWkhSb0xGeHVJQ0I5TzF4dVhHNGdJSE4wWVhScFl5QmtaV1poZFd4MFVISnZjSE1nUFNCN1hHNGdJQ0FnYVhOSGNtRmlRWEpsWVVScGMyRmliR1ZrT2lCbVlXeHpaU3hjYmlBZ2ZUdGNibHh1SUNCemRHRjBhV01nWjJWMFJHVnlhWFpsWkZOMFlYUmxSbkp2YlZCeWIzQnpLSEJ5YjNCekxDQnpkR0YwWlNrZ2UxeHVJQ0FnSUdOdmJuTjBJSHRjYmlBZ0lDQWdJQzh2SUdWemJHbHVkQzFrYVhOaFlteGxMVzVsZUhRdGJHbHVaU0JqWVcxbGJHTmhjMlZjYmlBZ0lDQWdJR1Y0Y0dWeWFXMWxiblJoYkY5bWJIbHZkWFJQYmtodmRtVnlPaUJGV0ZCRlVrbE5SVTVVUVV4ZlJreFpUMVZVWDA5T1gwaFBWa1ZTTEZ4dUlDQWdJQ0FnWm14NWIzVjBTWE5QY0dWdUxGeHVJQ0FnSUNBZ2JtRjJhV2RoZEdsdmJpeGNiaUFnSUNCOUlEMGdjSEp2Y0hNN1hHNGdJQ0FnWTI5dWMzUWdleUJwYzBOdmJHeGhjSE5sWkNCOUlEMGdibUYyYVdkaGRHbHZiaTV6ZEdGMFpUdGNibHh1SUNBZ0lDOHZJSEpsYzI5c2RtVWdYQ0pvYjNabGNpQnNiMk5yYVc1blhDSWdhWE56ZFdVZ2QybDBhQ0J5WlhOcGVtVWdaM0poWWlCaGNtVmhYRzRnSUNBZ2FXWWdLRVZZVUVWU1NVMUZUbFJCVEY5R1RGbFBWVlJmVDA1ZlNFOVdSVklwSUh0Y2JpQWdJQ0FnSUdOdmJuTjBJSE5vYjNkSGNtRmlRWEpsWVNBOUlDRnBjME52Ykd4aGNITmxaQ0FtSmlBaFpteDViM1YwU1hOUGNHVnVPMXh1SUNBZ0lDQWdZMjl1YzNRZ2JXOTFjMlZKYzA5MlpYSkhjbUZpUVhKbFlTQTlJSE5vYjNkSGNtRmlRWEpsWVZ4dUlDQWdJQ0FnSUNBL0lITjBZWFJsTG0xdmRYTmxTWE5QZG1WeVIzSmhZa0Z5WldGY2JpQWdJQ0FnSUNBZ09pQm1ZV3h6WlR0Y2JseHVJQ0FnSUNBZ2NtVjBkWEp1SUh0Y2JpQWdJQ0FnSUNBZ2JXOTFjMlZKYzA5MlpYSkhjbUZpUVhKbFlTeGNiaUFnSUNBZ0lDQWdjMmh2ZDBkeVlXSkJjbVZoTEZ4dUlDQWdJQ0FnZlR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdiblZzYkR0Y2JpQWdmVnh1WEc0Z0lHOXVVbVZ6YVhwbGNrTm9aWFp5YjI1RGJHbGpheUE5SUNncElEMCtJSHRjYmlBZ0lDQmpiMjV6ZENCMGNtbG5aMlZ5SUQwZ2RHaHBjeTV3Y205d2N5NW1iSGx2ZFhSSmMwOXdaVzRnUHlBblkyaGxkbkp2YmtodmRtVnlKeUE2SUNkamFHVjJjbTl1Snp0Y2JpQWdJQ0IwYUdsekxuUnZaMmRzWlVOdmJHeGhjSE5sS0hSeWFXZG5aWElwTzF4dUlDQjlPMXh1WEc0Z0lHMXZkWE5sUlc1MFpYSkhjbUZpUVhKbFlTQTlJQ2dwSUQwK0lIdGNiaUFnSUNCMGFHbHpMbk5sZEZOMFlYUmxLSHNnYlc5MWMyVkpjMDkyWlhKSGNtRmlRWEpsWVRvZ2RISjFaU0I5S1R0Y2JpQWdmVHRjYmx4dUlDQnRiM1Z6WlV4bFlYWmxSM0poWWtGeVpXRWdQU0FvS1NBOVBpQjdYRzRnSUNBZ2RHaHBjeTV6WlhSVGRHRjBaU2g3SUcxdmRYTmxTWE5QZG1WeVIzSmhZa0Z5WldFNklHWmhiSE5sSUgwcE8xeHVJQ0I5TzF4dVhHNGdJSFJ2WjJkc1pVTnZiR3hoY0hObElEMGdkSEpwWjJkbGNpQTlQaUI3WEc0Z0lDQWdZMjl1YzNRZ2V5QnVZWFpwWjJGMGFXOXVMQ0JqY21WaGRHVkJibUZzZVhScFkzTkZkbVZ1ZENCOUlEMGdkR2hwY3k1d2NtOXdjenRjYmlBZ0lDQmpiMjV6ZENCdVpYZERiMnhzWVhCelpXUlRkR0YwWlNBOUlDRnVZWFpwWjJGMGFXOXVMbk4wWVhSbExtbHpRMjlzYkdGd2MyVmtPMXh1SUNBZ0lHNWhkbWxuWVhScGIyNHVkRzluWjJ4bFEyOXNiR0Z3YzJVb0tUdGNiaUFnSUNCdVlYWnBaMkYwYVc5dVJYaHdZVzVrWldSRGIyeHNZWEJ6WldRb1kzSmxZWFJsUVc1aGJIbDBhV056UlhabGJuUXNJSHRjYmlBZ0lDQWdJSFJ5YVdkblpYSXNYRzRnSUNBZ0lDQnBjME52Ykd4aGNITmxaRG9nYm1WM1EyOXNiR0Z3YzJWa1UzUmhkR1VzWEc0Z0lDQWdmU2s3WEc0Z0lIMDdYRzVjYmlBZ2FHRnVaR3hsVW1WemFYcGxVM1JoY25RZ1BTQmxkbVZ1ZENBOVBpQjdYRzRnSUNBZ1kyOXVjM1FnYVc1cGRHbGhiRmdnUFNCbGRtVnVkQzV3WVdkbFdEdGNibHh1SUNBZ0lIUm9hWE11YzJWMFUzUmhkR1VvZXlCcGJtbDBhV0ZzV0N3Z2JXOTFjMlZKYzBSdmQyNDZJSFJ5ZFdVZ2ZTazdYRzVjYmlBZ0lDQXZMeUJoZEhSaFkyZ2dhR0Z1Wkd4bGNuTWdLR2hoYm1Sc1pWSmxjMmw2WlZOMFlYSjBJR2x6SUdFZ1ltOTFibVFnZEc4Z2IyNU5iM1Z6WlVSdmQyNHBYRzRnSUNBZ2QybHVaRzkzTG1Ga1pFVjJaVzUwVEdsemRHVnVaWElvSjIxdmRYTmxiVzkyWlNjc0lIUm9hWE11YUdGdVpHeGxVbVZ6YVhwbEtUdGNiaUFnSUNCM2FXNWtiM2N1WVdSa1JYWmxiblJNYVhOMFpXNWxjaWduYlc5MWMyVjFjQ2NzSUhSb2FYTXVhR0Z1Wkd4bFVtVnphWHBsUlc1a0tUdGNiaUFnZlR0Y2JseHVJQ0JwYm1sMGFXRnNhWHBsUkhKaFp5QTlJR1YyWlc1MElEMCtJSHRjYmlBZ0lDQmpiMjV6ZENCN0lHNWhkbWxuWVhScGIyNGdmU0E5SUhSb2FYTXVjSEp2Y0hNN1hHNGdJQ0FnWTI5dWMzUWdaR1ZzZEdFZ1BTQmxkbVZ1ZEM1d1lXZGxXQ0F0SUhSb2FYTXVjM1JoZEdVdWFXNXBkR2xoYkZnN1hHNGdJQ0FnWTI5dWMzUWdleUJwYzBOdmJHeGhjSE5sWkNCOUlEMGdibUYyYVdkaGRHbHZiaTV6ZEdGMFpUdGNibHh1SUNBZ0lDOHZJRzl1YkhrZ2FXNXBkR2xoYkdsNlpTQjNhR1Z1SUdSeVlXY2dhVzUwWlc1MGFXOXVJR2x6SUZ3aVpYaHdZVzVrWENKY2JpQWdJQ0JwWmlBb2FYTkRiMnhzWVhCelpXUWdKaVlnWkdWc2RHRWdQRDBnTUNrZ2UxeHVJQ0FnSUNBZ2RHaHBjeTVwYm5aaGJHbGtSSEpoWjBGMGRHVnRjSFJsWkNBOUlIUnlkV1U3WEc0Z0lDQWdJQ0J5WlhSMWNtNDdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2JHVjBJR2x1YVhScFlXeFhhV1IwYUNBOUlHNWhkbWxuWVhScGIyNHVjM1JoZEdVdWNISnZaSFZqZEU1aGRsZHBaSFJvTzF4dUlDQWdJR3hsZENCa2FXUkVjbUZuVDNCbGJpQTlJR1poYkhObE8xeHVYRzRnSUNBZ0x5OGdUazlVUlZ4dUlDQWdJQzh2SUdsbUlIUm9aU0J3Y205a2RXTjBJRzVoZGlCcGN5QmpiMnhzWVhCelpXUWdZVzVrSUhSb1pTQmpiMjV6ZFcxbGNpQnpkR0Z5ZEhNZ1pISmhaMmRwYm1jZ2FYUWdiM0JsYmx4dUlDQWdJQzh2SUhkbElHMTFjM1FnWlhod1lXNWtJR2wwSUdGdVpDQmtjbUZuSUhOb2IzVnNaQ0J6ZEdGeWRDQm1jbTl0SURBdVhHNGdJQ0FnYVdZZ0tHbHpRMjlzYkdGd2MyVmtLU0I3WEc0Z0lDQWdJQ0JwYm1sMGFXRnNWMmxrZEdnZ1BTQkRUMDVVUlU1VVgwNUJWbDlYU1VSVVNGOURUMHhNUVZCVFJVUTdYRzRnSUNBZ0lDQmthV1JFY21GblQzQmxiaUE5SUhSeWRXVTdYRzRnSUNBZ0lDQnVZWFpwWjJGMGFXOXVMbTFoYm5WaGJGSmxjMmw2WlZOMFlYSjBLSHRjYmlBZ0lDQWdJQ0FnY0hKdlpIVmpkRTVoZGxkcFpIUm9PaUJEVDA1VVJVNVVYMDVCVmw5WFNVUlVTRjlEVDB4TVFWQlRSVVFzWEc0Z0lDQWdJQ0FnSUdselEyOXNiR0Z3YzJWa09pQm1ZV3h6WlN4Y2JpQWdJQ0FnSUgwcE8xeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0J1WVhacFoyRjBhVzl1TG0xaGJuVmhiRkpsYzJsNlpWTjBZWEowS0c1aGRtbG5ZWFJwYjI0dWMzUmhkR1VwTzF4dUlDQWdJSDFjYmx4dUlDQWdJSFJvYVhNdWMyVjBVM1JoZEdVb2V5QmthV1JFY21GblQzQmxiaXdnYVc1cGRHbGhiRmRwWkhSb0xDQnBjMFJ5WVdkbmFXNW5PaUIwY25WbElIMHBPMXh1SUNCOU8xeHVYRzRnSUdoaGJtUnNaVkpsYzJsNlpTQTlJSEpoWmlobGRtVnVkQ0E5UGlCN1hHNGdJQ0FnWTI5dWMzUWdleUJ0ZFhSaGRHbHZibEpsWm5NZ2ZTQTlJSFJvYVhNdWNISnZjSE03WEc0Z0lDQWdZMjl1YzNRZ2V5QnBibWwwYVdGc1dDd2dhVzVwZEdsaGJGZHBaSFJvTENCcGMwUnlZV2RuYVc1bkxDQnRiM1Z6WlVselJHOTNiaUI5SUQwZ2RHaHBjeTV6ZEdGMFpUdGNibHh1SUNBZ0lDOHZJRzl1SUc5alkyRnphVzl1SUdFZ2JXOTFjMlVnYlc5MlpTQmxkbVZ1ZENCdlkyTjFjbk1nWW1WbWIzSmxJSFJvWlNCbGRtVnVkQ0JzYVhOMFpXNWxjbk5jYmlBZ0lDQXZMeUJvWVhabElHRWdZMmhoYm1ObElIUnZJR1JsZEdGamFGeHVJQ0FnSUdsbUlDZ2hiVzkxYzJWSmMwUnZkMjRwSUhKbGRIVnlianRjYmx4dUlDQWdJQzh2SUdsdWFYUnBZV3hwZW1VZ1pISmhaMmRwYm1kY2JpQWdJQ0JwWmlBb0lXbHpSSEpoWjJkcGJtY3BJSHRjYmlBZ0lDQWdJSFJvYVhNdWFXNXBkR2xoYkdsNlpVUnlZV2NvWlhabGJuUXBPMXh1SUNBZ0lDQWdjbVYwZFhKdU8xeHVJQ0FnSUgxY2JseHVJQ0FnSUM4dklHRnNiRzkzSUhSb1pTQndjbTlrZFdOMElHNWhkaUIwYnlCaVpTQTNOU1VnYjJZZ2RHaGxJR0YyWVdsc1lXSnNaU0J3WVdkbElIZHBaSFJvWEc0Z0lDQWdZMjl1YzNRZ2JXRjRWMmxrZEdnZ1BTQk5ZWFJvTG5KdmRXNWtLQ2gzYVc1a2IzY3VhVzV1WlhKWGFXUjBhQ0F2SURRcElDb2dNeWs3WEc0Z0lDQWdZMjl1YzNRZ2JXbHVWMmxrZEdnZ1BTQkRUMDVVUlU1VVgwNUJWbDlYU1VSVVNGOURUMHhNUVZCVFJVUTdYRzRnSUNBZ1kyOXVjM1FnWVdScWRYTjBaV1JOWVhnZ1BTQnRZWGhYYVdSMGFDQXRJR2x1YVhScFlXeFhhV1IwYUNBdElFZE1UMEpCVEY5T1FWWmZWMGxFVkVnN1hHNGdJQ0FnWTI5dWMzUWdZV1JxZFhOMFpXUk5hVzRnUFNCdGFXNVhhV1IwYUNBdElHbHVhWFJwWVd4WGFXUjBhRHRjYmx4dUlDQWdJR052Ym5OMElHUmxiSFJoSUQwZ1RXRjBhQzV0WVhnb1hHNGdJQ0FnSUNCTllYUm9MbTFwYmlobGRtVnVkQzV3WVdkbFdDQXRJR2x1YVhScFlXeFlMQ0JoWkdwMWMzUmxaRTFoZUNrc1hHNGdJQ0FnSUNCaFpHcDFjM1JsWkUxcGJpeGNiaUFnSUNBcE8xeHVJQ0FnSUdOdmJuTjBJSGRwWkhSb0lEMGdhVzVwZEdsaGJGZHBaSFJvSUNzZ1pHVnNkR0U3WEc1Y2JpQWdJQ0F2THlCaGNIQnNlU0IxY0dSaGRHVmtJSE4wZVd4bGN5QjBieUIwYUdVZ1lYQndiR2xqWVdKc1pTQkVUMDBnYm05a1pYTmNiaUFnSUNCMWNHUmhkR1ZTWlhOcGVtVkJjbVZoVUc5emFYUnBiMjRvYlhWMFlYUnBiMjVTWldaekxDQjNhV1IwYUNrN1hHNWNiaUFnSUNBdkx5Qk9UMVJGT2lCb2FXcGhZMnNnZEdobElHMWhkV0ZzSUhKbGMybDZaU0JoYm1RZ1ptOXlZMlVnWTI5c2JHRndjMlVzSUdOaGJtTmxiSE1nYlc5MWMyVWdaWFpsYm5SelhHNGdJQ0FnYVdZZ0tHVjJaVzUwTG1Oc2FXVnVkRmdnUENBd0tTQjdYRzRnSUNBZ0lDQjBhR2x6TG5ObGRGTjBZWFJsS0hzZ2QybGtkR2c2SUVOUFRsUkZUbFJmVGtGV1gxZEpSRlJJWDBOUFRFeEJVRk5GUkNCOUtUdGNiaUFnSUNBZ0lIUm9hWE11YUdGdVpHeGxVbVZ6YVhwbFJXNWtLQ2s3WEc0Z0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lDOHZJRzFoYVc1MFlXbHVJR2x1ZEdWeWJtRnNJSGRwWkhSb0xDQmhjSEJzYVdWa0lIUnZJRzVoZG1sbllYUnBiMjRnYzNSaGRHVWdiMjRnY21WemFYcGxJR1Z1WkZ4dUlDQWdJQ0FnZEdocGN5NXpaWFJUZEdGMFpTaDdJR1JsYkhSaExDQjNhV1IwYUNCOUtUdGNiaUFnSUNCOVhHNGdJSDBwTzF4dVhHNGdJR2hoYm1Sc1pWSmxjMmw2WlVWdVpDQTlJQ2dwSUQwK0lIdGNiaUFnSUNCamIyNXpkQ0I3SUc1aGRtbG5ZWFJwYjI0c0lHTnlaV0YwWlVGdVlXeDVkR2xqYzBWMlpXNTBJSDBnUFNCMGFHbHpMbkJ5YjNCek8xeHVJQ0FnSUdOdmJuTjBJSHNnWkdWc2RHRXNJR1JwWkVSeVlXZFBjR1Z1TENCcGMwUnlZV2RuYVc1bkxDQjNhV1IwYURvZ1kzVnljbVZ1ZEZkcFpIUm9JSDBnUFNCMGFHbHpMbk4wWVhSbE8xeHVJQ0FnSUdOdmJuTjBJR1Y0Y0dGdVpGUm9jbVZ6YUc5c1pDQTlJREkwTzF4dUlDQWdJR052Ym5OMElISmxjMmw2WlhKRGJHbGphMlZrSUQwZ0lXbHpSSEpoWjJkcGJtY2dKaVlnSVhSb2FYTXVhVzUyWVd4cFpFUnlZV2RCZEhSbGJYQjBaV1E3WEc0Z0lDQWdiR1YwSUhCMVlteHBjMmhYYVdSMGFDQTlJR04xY25KbGJuUlhhV1IwYUR0Y2JpQWdJQ0JzWlhRZ2MyaHZkV3hrUTI5c2JHRndjMlVnUFNCbVlXeHpaVHRjYmx4dUlDQWdJQzh2SUdOb1pXTnJJR2xtSUhSb1pTQnBiblJsYm5ScGIyNGdkMkZ6SUdwMWMzUWdZU0JqYkdsamF5d2dZVzVrSUhSdloyZHNaVnh1SUNBZ0lHbG1JQ2h5WlhOcGVtVnlRMnhwWTJ0bFpDa2dlMXh1SUNBZ0lDQWdjSFZpYkdsemFGZHBaSFJvSUQwZ1RXRjBhQzV0WVhnb1EwOU9WRVZPVkY5T1FWWmZWMGxFVkVnc0lHTjFjbkpsYm5SWGFXUjBhQ2s3WEc0Z0lDQWdJQ0IwYUdsekxuUnZaMmRzWlVOdmJHeGhjSE5sS0NkeVpYTnBlbVZ5UTJ4cFkyc25LVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQXZMeUJ3Y21WMlpXNTBJSFJvWlNCMWMyVnlJR1p5YjIwZ1kzSmxZWFJwYm1jZ1lXNGdkVzUxYzJGaWJHVWdkMmxrZEdoY2JpQWdJQ0JwWmlBb2NIVmliR2x6YUZkcFpIUm9JRHdnUTA5T1ZFVk9WRjlPUVZaZlYwbEVWRWdwSUh0Y2JpQWdJQ0FnSUhCMVlteHBjMmhYYVdSMGFDQTlJRU5QVGxSRlRsUmZUa0ZXWDFkSlJGUklPMXh1SUNBZ0lDQWdhV1lnS0dScFpFUnlZV2RQY0dWdUlDWW1JR1JsYkhSaElENGdaWGh3WVc1a1ZHaHlaWE5vYjJ4a0tTQjdYRzRnSUNBZ0lDQWdJSE5vYjNWc1pFTnZiR3hoY0hObElEMGdabUZzYzJVN1hHNGdJQ0FnSUNCOUlHVnNjMlVnYVdZZ0tHTjFjbkpsYm5SWGFXUjBhQ0E4SUVkTVQwSkJURjlPUVZaZlEwOU1URUZRVTBWZlZFaFNSVk5JVDB4RUtTQjdYRzRnSUNBZ0lDQWdJSE5vYjNWc1pFTnZiR3hoY0hObElEMGdkSEoxWlR0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdjMmh2ZFd4a1EyOXNiR0Z3YzJVZ1BTQnVZWFpwWjJGMGFXOXVMbk4wWVhSbExtbHpRMjlzYkdGd2MyVmtPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2hjYmlBZ0lDQWdJQ0Z5WlhOcGVtVnlRMnhwWTJ0bFpDQW1KbHh1SUNBZ0lDQWdLQ2hrYVdSRWNtRm5UM0JsYmlBbUppQWhjMmh2ZFd4a1EyOXNiR0Z3YzJVcElIeDhJQ2doWkdsa1JISmhaMDl3Wlc0Z0ppWWdjMmh2ZFd4a1EyOXNiR0Z3YzJVcEtWeHVJQ0FnSUNrZ2UxeHVJQ0FnSUNBZ2JtRjJhV2RoZEdsdmJrVjRjR0Z1WkdWa1EyOXNiR0Z3YzJWa0tHTnlaV0YwWlVGdVlXeDVkR2xqYzBWMlpXNTBMQ0I3WEc0Z0lDQWdJQ0FnSUhSeWFXZG5aWEk2SUNkeVpYTnBlbVZ5UkhKaFp5Y3NYRzRnSUNBZ0lDQWdJR2x6UTI5c2JHRndjMlZrT2lCemFHOTFiR1JEYjJ4c1lYQnpaU3hjYmlBZ0lDQWdJSDBwTzF4dUlDQWdJSDFjYmx4dUlDQWdJQzh2SUhKbGMyVjBJR1YyWlhKNWRHaHBibWRjYmlBZ0lDQjBhR2x6TG1sdWRtRnNhV1JFY21GblFYUjBaVzF3ZEdWa0lEMGdabUZzYzJVN1hHNGdJQ0FnZEdocGN5NXpaWFJUZEdGMFpTaDdYRzRnSUNBZ0lDQmthV1JFY21GblQzQmxiam9nWm1Gc2MyVXNYRzRnSUNBZ0lDQnBjMFJ5WVdkbmFXNW5PaUJtWVd4elpTeGNiaUFnSUNBZ0lHMXZkWE5sU1hORWIzZHVPaUJtWVd4elpTeGNiaUFnSUNBZ0lIZHBaSFJvT2lCd2RXSnNhWE5vVjJsa2RHZ3NYRzRnSUNBZ2ZTazdYRzVjYmlBZ0lDQXZMeUJ3ZFdKc2FYTm9JSFJvWlNCdVpYY2dkMmxrZEdnc0lHOXVZMlVnY21WemFYcHBibWNnWTI5dGNHeGxkR1Z6WEc0Z0lDQWdibUYyYVdkaGRHbHZiaTV0WVc1MVlXeFNaWE5wZW1WRmJtUW9lMXh1SUNBZ0lDQWdjSEp2WkhWamRFNWhkbGRwWkhSb09pQndkV0pzYVhOb1YybGtkR2dzWEc0Z0lDQWdJQ0JwYzBOdmJHeGhjSE5sWkRvZ2MyaHZkV3hrUTI5c2JHRndjMlVzWEc0Z0lDQWdmU2s3WEc1Y2JpQWdJQ0JwWmlBb2MyaHZkV3hrVW1WelpYUkhjbUZpUVhKbFlTaGpkWEp5Wlc1MFYybGtkR2dwS1NCN1hHNGdJQ0FnSUNCMWNHUmhkR1ZTWlhOcGVtVkJjbVZoVUc5emFYUnBiMjRvZEdocGN5NXdjbTl3Y3k1dGRYUmhkR2x2YmxKbFpuTXNJRU5QVGxSRlRsUmZUa0ZXWDFkSlJGUklLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQXZMeUJqYkdWaGJuVndYRzRnSUNBZ2QybHVaRzkzTG5KbGJXOTJaVVYyWlc1MFRHbHpkR1Z1WlhJb0oyMXZkWE5sYlc5MlpTY3NJSFJvYVhNdWFHRnVaR3hsVW1WemFYcGxLVHRjYmlBZ0lDQjNhVzVrYjNjdWNtVnRiM1psUlhabGJuUk1hWE4wWlc1bGNpZ25iVzkxYzJWMWNDY3NJSFJvYVhNdWFHRnVaR3hsVW1WemFYcGxSVzVrS1R0Y2JpQWdmVHRjYmx4dUlDQnlaVzVrWlhJb0tTQjdYRzRnSUNBZ1kyOXVjM1FnZTF4dUlDQWdJQ0FnYVhORWNtRm5aMmx1Wnl4Y2JpQWdJQ0FnSUcxdmRYTmxTWE5FYjNkdUxGeHVJQ0FnSUNBZ2JXOTFjMlZKYzA5MlpYSkhjbUZpUVhKbFlTeGNiaUFnSUNBZ0lITm9iM2RIY21GaVFYSmxZU3hjYmlBZ0lDQjlJRDBnZEdocGN5NXpkR0YwWlR0Y2JpQWdJQ0JqYjI1emRDQjdYRzRnSUNBZ0lDQmpiMnhzWVhCelpWUnZaMmRzWlZSdmIyeDBhWEJEYjI1MFpXNTBMRnh1SUNBZ0lDQWdaWGh3WVc1a1EyOXNiR0Z3YzJWQlptWnZjbVJoYm1ObFVtVm1MRnh1SUNBZ0lDQWdabXg1YjNWMFNYTlBjR1Z1TEZ4dUlDQWdJQ0FnYVhORWFYTmhZbXhsWkRvZ2FYTlNaWE5wZW1WRWFYTmhZbXhsWkN4Y2JpQWdJQ0FnSUdselIzSmhZa0Z5WldGRWFYTmhZbXhsWkN4Y2JpQWdJQ0FnSUc5dVRXOTFjMlZQZG1WeVFuVjBkRzl1UW5WbVptVnlMRnh1SUNBZ0lDQWdibUYyYVdkaGRHbHZiaXhjYmlBZ0lDQjlJRDBnZEdocGN5NXdjbTl3Y3p0Y2JpQWdJQ0JqYjI1emRDQjdJR2x6UTI5c2JHRndjMlZrSUgwZ1BTQnVZWFpwWjJGMGFXOXVMbk4wWVhSbE8xeHVYRzRnSUNBZ0x5OGdkR2hsSUdKMWRIUnZiaUJ6YUc5MWJHUnVKM1FnWENKbWJHbHdYQ0lnZFc1MGFXd2dkR2hsSUdSeVlXY2dhWE1nWTI5dGNHeGxkR1ZjYmlBZ0lDQnNaWFFnUW5WMGRHOXVTV052YmlBOUlFTm9aWFp5YjI1TVpXWjBPMXh1SUNBZ0lHbG1JQ2hwYzBOdmJHeGhjSE5sWkNrZ1FuVjBkRzl1U1dOdmJpQTlJRU5vWlhaeWIyNVNhV2RvZER0Y2JseHVJQ0FnSUdOdmJuTjBJR0oxZEhSdmJpQTlJQ2hjYmlBZ0lDQWdJRHhDZFhSMGIyNWNiaUFnSUNBZ0lDQWdiMjVEYkdsamF6MTdkR2hwY3k1dmJsSmxjMmw2WlhKRGFHVjJjbTl1UTJ4cFkydDlYRzRnSUNBZ0lDQWdJRzl1VFc5MWMyVkViM2R1UFh0d2NtVjJaVzUwUkdWbVlYVnNkSDFjYmlBZ0lDQWdJQ0FnYUdsMFFYSmxZVk5wZW1VOWUyOXVUVzkxYzJWUGRtVnlRblYwZEc5dVFuVm1abVZ5SUQ4Z0oyeGhjbWRsSnlBNklDZHpiV0ZzYkNkOVhHNGdJQ0FnSUNBZ0lDOHZJRzFoYVc1MFlXbHVJSE4wZVd4bGN5QjNhR1Z1SUhWelpYSWdhWE1nWkhKaFoyZHBibWRjYmlBZ0lDQWdJQ0FnYVhOV2FYTnBZbXhsUFh0cGMwTnZiR3hoY0hObFpDQjhmQ0J0YjNWelpVbHpSRzkzYm4xY2JpQWdJQ0FnSUNBZ2FHRnpTR2xuYUd4cFoyaDBQWHR0YjNWelpVbHpSRzkzYmlCOGZDQnRiM1Z6WlVselQzWmxja2R5WVdKQmNtVmhmVnh1SUNBZ0lDQWdJQ0JwYm01bGNsSmxaajE3Wlhod1lXNWtRMjlzYkdGd2MyVkJabVp2Y21SaGJtTmxVbVZtZlZ4dUlDQWdJQ0FnSUNCaGNtbGhMV1Y0Y0dGdVpHVmtQWHNoYVhORGIyeHNZWEJ6WldSOVhHNGdJQ0FnSUNBZ0lHRnlhV0V0YkdGaVpXdzlYQ0pVYjJkbmJHVWdibUYyYVdkaGRHbHZibHdpWEc0Z0lDQWdJQ0ErWEc0Z0lDQWdJQ0FnSUR4Q2RYUjBiMjVKWTI5dUlDOCtYRzRnSUNBZ0lDQThMMEoxZEhSdmJqNWNiaUFnSUNBcE8xeHVJQ0FnSUdOdmJuTjBJSE5vWVdSdmQwUnBjbVZqZEdsdmJpQTlJR1pzZVc5MWRFbHpUM0JsYmlBL0lDZDBieUJ5YVdkb2RDY2dPaUFuZEc4Z2JHVm1kQ2M3WEc1Y2JpQWdJQ0J5WlhSMWNtNGdLRnh1SUNBZ0lDQWdQRTkxZEdWeVBseHVJQ0FnSUNBZ0lDQjdhWE5FY21GbloybHVaeUFtSmlBOFFtOWtlVVJ5WVdkRGRYSnpiM0lnTHo1OVhHNGdJQ0FnSUNBZ0lEeFRhR0ZrYjNjZ1pHbHlaV04wYVc5dVBYdHphR0ZrYjNkRWFYSmxZM1JwYjI1OUlHbHpRbTlzWkQxN2JXOTFjMlZKYzBSdmQyNTlJQzgrWEc0Z0lDQWdJQ0FnSUhzaGFYTlNaWE5wZW1WRWFYTmhZbXhsWkNBbUppQW9YRzRnSUNBZ0lDQWdJQ0FnUEVaeVlXZHRaVzUwUGx4dUlDQWdJQ0FnSUNBZ0lDQWdleUZwYzBkeVlXSkJjbVZoUkdsellXSnNaV1FnSmlZZ2MyaHZkMGR5WVdKQmNtVmhJQ1ltSUNoY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnUEVkeVlXSkJjbVZoWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYVhOQ2IyeGtQWHR0YjNWelpVbHpSRzkzYm4xY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCemFHOTNTR0Z1Wkd4bFBYdHRiM1Z6WlVselJHOTNiaUI4ZkNCdGIzVnpaVWx6VDNabGNrZHlZV0pCY21WaGZWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHOXVUVzkxYzJWRmJuUmxjajE3ZEdocGN5NXRiM1Z6WlVWdWRHVnlSM0poWWtGeVpXRjlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdiMjVOYjNWelpVeGxZWFpsUFh0MGFHbHpMbTF2ZFhObFRHVmhkbVZIY21GaVFYSmxZWDFjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J2YmsxdmRYTmxSRzkzYmoxN2RHaHBjeTVvWVc1a2JHVlNaWE5wZW1WVGRHRnlkSDFjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdMejVjYmlBZ0lDQWdJQ0FnSUNBZ0lDbDlYRzRnSUNBZ0lDQWdJQ0FnSUNBOFpHbDJJRzl1VFc5MWMyVlBkbVZ5UFhzaFpteDViM1YwU1hOUGNHVnVJRDhnYjI1TmIzVnpaVTkyWlhKQ2RYUjBiMjVDZFdabVpYSWdPaUJ1ZFd4c2ZUNWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ2UyTnZiR3hoY0hObFZHOW5aMnhsVkc5dmJIUnBjRU52Ym5SbGJuUWdQeUFvWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnUEZSdmIyeDBhWEJjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdOdmJuUmxiblE5ZTIxaGEyVlViMjlzZEdsd1RtOWtaU2hjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1kyOXNiR0Z3YzJWVWIyZG5iR1ZVYjI5c2RHbHdRMjl1ZEdWdWRDaHBjME52Ykd4aGNITmxaQ2tzWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBcGZWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdaR1ZzWVhrOWV6WXdNSDFjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdocFpHVlViMjlzZEdsd1QyNURiR2xqYTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2NHOXphWFJwYjI0OVhDSnlhV2RvZEZ3aVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1BseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdlMkoxZEhSdmJuMWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQThMMVJ2YjJ4MGFYQStYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDa2dPaUFvWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWW5WMGRHOXVYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDbDlYRzRnSUNBZ0lDQWdJQ0FnSUNBOEwyUnBkajVjYmlBZ0lDQWdJQ0FnSUNBOEwwWnlZV2R0Wlc1MFBseHVJQ0FnSUNBZ0lDQXBmVnh1SUNBZ0lDQWdQQzlQZFhSbGNqNWNiaUFnSUNBcE8xeHVJQ0I5WEc1OVhHNWNibVY0Y0c5eWRDQjdJRkpsYzJsNlpVTnZiblJ5YjJ3Z1lYTWdVbVZ6YVhwbFEyOXVkSEp2YkVKaGMyVWdmVHRjYmx4dVpYaHdiM0owSUdSbFptRjFiSFFnZDJsMGFFRnVZV3g1ZEdsamMwVjJaVzUwY3lncEtGSmxjMmw2WlVOdmJuUnliMndwTzF4dUlsMTkgKi9cIilcbiAgfSwgcHJvcHMpLCBfX19FbW90aW9uSlNYKFwiZGl2XCIsIHtcbiAgICAvLyBpbmNyZWFzZSBoaXQtYXJlYVxuICAgIGNzczpcbiAgICAvKiNfX1BVUkVfXyovXG4gICAgX2Nzcyhfb2JqZWN0U3ByZWFkKHtcbiAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnXG4gICAgfSwgaGl0QXJlYVNpemUgPT09ICdzbWFsbCcgPyBzbWFsbEhpdEFyZWEgOiBsYXJnZUhpdEFyZWEpLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyBcIlwiIDogXCIvKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJaTR1THk0dUx5NHVMeTR1THk0dUwzTnlZeTlqYjIxd2IyNWxiblJ6TDNCeVpYTmxiblJoZEdsdmJtRnNMMHhoZVc5MWRFMWhibUZuWlhJdlVtVnphWHBsUTI5dWRISnZiQzVxY3lKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGblNrMGlMQ0ptYVd4bElqb2lMaTR2TGk0dkxpNHZMaTR2TGk0dmMzSmpMMk52YlhCdmJtVnVkSE12Y0hKbGMyVnVkR0YwYVc5dVlXd3ZUR0Y1YjNWMFRXRnVZV2RsY2k5U1pYTnBlbVZEYjI1MGNtOXNMbXB6SWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaWFXMXdiM0owSUZKbFlXTjBMQ0I3SUVaeVlXZHRaVzUwTENCUWRYSmxRMjl0Y0c5dVpXNTBJSDBnWm5KdmJTQW5jbVZoWTNRbk8xeHVYRzVwYlhCdmNuUWdleUJIYkc5aVlXd2dmU0JtY205dElDZEFaVzF2ZEdsdmJpOWpiM0psSnp0Y2JtbHRjRzl5ZENCeVlXWWdabkp2YlNBbmNtRm1MWE5qYUdRbk8xeHVYRzVwYlhCdmNuUWdleUIzYVhSb1FXNWhiSGwwYVdOelJYWmxiblJ6SUgwZ1puSnZiU0FuUUdGMGJHRnphMmwwTDJGdVlXeDVkR2xqY3kxdVpYaDBKenRjYm1sdGNHOXlkQ0JEYUdWMmNtOXVUR1ZtZENCbWNtOXRJQ2RBWVhSc1lYTnJhWFF2YVdOdmJpOW5iSGx3YUM5amFHVjJjbTl1TFd4bFpuUW5PMXh1YVcxd2IzSjBJRU5vWlhaeWIyNVNhV2RvZENCbWNtOXRJQ2RBWVhSc1lYTnJhWFF2YVdOdmJpOW5iSGx3YUM5amFHVjJjbTl1TFhKcFoyaDBKenRjYm1sdGNHOXlkQ0FxSUdGeklHTnZiRzl5Y3lCbWNtOXRJQ2RBWVhSc1lYTnJhWFF2ZEdobGJXVXZZMjlzYjNKekp6dGNibWx0Y0c5eWRDQlViMjlzZEdsd0lHWnliMjBnSjBCaGRHeGhjMnRwZEM5MGIyOXNkR2x3Snp0Y2JseHVhVzF3YjNKMElIc2dibUYyYVdkaGRHbHZia1Y0Y0dGdVpHVmtRMjlzYkdGd2MyVmtJSDBnWm5KdmJTQW5MaTR2TGk0dkxpNHZZMjl0Ylc5dUwyRnVZV3g1ZEdsamN5YzdYRzVwYlhCdmNuUWdlMXh1SUNCRFQwNVVSVTVVWDA1QlZsOVhTVVJVU0N4Y2JpQWdRMDlPVkVWT1ZGOU9RVlpmVjBsRVZFaGZRMDlNVEVGUVUwVkVMRnh1SUNCSFRFOUNRVXhmVGtGV1gwTlBURXhCVUZORlgxUklVa1ZUU0U5TVJDeGNiaUFnUjB4UFFrRk1YMDVCVmw5WFNVUlVTQ3hjYm4wZ1puSnZiU0FuTGk0dkxpNHZMaTR2WTI5dGJXOXVMMk52Ym5OMFlXNTBjeWM3WEc1cGJYQnZjblFnZXlCVGFHRmtiM2NnZlNCbWNtOXRJQ2N1TGk4dUxpOHVMaTlqYjIxdGIyNHZjSEpwYldsMGFYWmxjeWM3WEc1Y2JtTnZibk4wSUVoQlRrUk1SVjlQUmtaVFJWUWdQU0EwTzF4dVkyOXVjM1FnU1U1T1JWSmZWMGxFVkVnZ1BTQXlNRHRjYm1OdmJuTjBJRTlWVkVWU1gxZEpSRlJJSUQwZ1NVNU9SVkpmVjBsRVZFZ2dLeUJJUVU1RVRFVmZUMFpHVTBWVU8xeHVZMjl1YzNRZ1NFRk9SRXhGWDFkSlJGUklJRDBnTWp0Y2JtTnZibk4wSUhOb2IzVnNaRkpsYzJWMFIzSmhZa0Z5WldFZ1BTQjNhV1IwYUNBOVBpQjdYRzRnSUhKbGRIVnliaUIzYVdSMGFDQStQU0JIVEU5Q1FVeGZUa0ZXWDBOUFRFeEJVRk5GWDFSSVVrVlRTRTlNUkNBbUppQjNhV1IwYUNBOElFTlBUbFJGVGxSZlRrRldYMWRKUkZSSU8xeHVmVHRjYm1OdmJuTjBJSEJ5WlhabGJuUkVaV1poZFd4MElEMGdaWFpsYm5RZ1BUNGdaWFpsYm5RdWNISmxkbVZ1ZEVSbFptRjFiSFFvS1R0Y2JseHVaWGh3YjNKMElHTnZibk4wSUVKdlpIbEVjbUZuUTNWeWMyOXlJRDBnS0NrZ1BUNGdLRnh1SUNBOFIyeHZZbUZzWEc0Z0lDQWdjM1I1YkdWelBYdDdYRzRnSUNBZ0lDQmliMlI1T2lCN1hHNGdJQ0FnSUNBZ0lHTjFjbk52Y2pvZ0oyVjNMWEpsYzJsNlpTY3NYRzRnSUNBZ0lDQjlMRnh1SUNBZ0lIMTlYRzRnSUM4K1hHNHBPMXh1WEc1amIyNXpkQ0JQZFhSbGNpQTlJSEJ5YjNCeklEMCtJQ2hjYmlBZ1BHUnBkbHh1SUNBZ0lHTnpjejE3ZTF4dUlDQWdJQ0FnWW05MGRHOXRPaUF3TEZ4dUlDQWdJQ0FnYkdWbWREb2dKekV3TUNVbkxGeHVJQ0FnSUNBZ2NHOXphWFJwYjI0NklDZGhZbk52YkhWMFpTY3NYRzRnSUNBZ0lDQjBiM0E2SURBc1hHNGdJQ0FnSUNCMGNtRnVjMlp2Y20wNklDZDBjbUZ1YzJ4aGRHVmFLREFwSnl4Y2JpQWdJQ0FnSUhkcFpIUm9PaUJQVlZSRlVsOVhTVVJVU0N4Y2JpQWdJQ0FnSUhwSmJtUmxlRG9nTXl3Z0x5OGdhR2xuYUdWeUlIUm9ZVzRnZEdobElITmpjbTlzYkNCb2FXNTBJR3hwYm1WelhHNGdJQ0FnZlgxY2JpQWdJQ0I3TGk0dWNISnZjSE45WEc0Z0lDOCtYRzRwTzF4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnUjNKaFlrRnlaV0VnUFNBb2V5QnphRzkzU0dGdVpHeGxMQ0JwYzBKdmJHUXNJQzR1TG5CeWIzQnpJSDBwSUQwK0lDaGNiaUFnUEdScGRseHVJQ0FnSUdOemN6MTdlMXh1SUNBZ0lDQWdZM1Z5YzI5eU9pQW5aWGN0Y21WemFYcGxKeXhjYmlBZ0lDQWdJR2hsYVdkb2REb2dKekV3TUNVbkxGeHVJQ0FnSUNBZ2JHVm1kRG9nTFVoQlRrUk1SVjlQUmtaVFJWUXNYRzRnSUNBZ0lDQndiM05wZEdsdmJqb2dKM0psYkdGMGFYWmxKeXhjYmlBZ0lDQWdJSGRwWkhSb09pQlBWVlJGVWw5WFNVUlVTQ3hjYmlBZ0lDQjlmVnh1SUNBZ0lIc3VMaTV3Y205d2MzMWNiaUFnUGx4dUlDQWdJRHhrYVhaY2JpQWdJQ0FnSUdOemN6MTdlMXh1SUNBZ0lDQWdJQ0JpWVdOclozSnZkVzVrUTI5c2IzSTZJR2x6UW05c1pDQS9JR052Ykc5eWN5NUNNakF3SURvZ1kyOXNiM0p6TGtJeE1EQXNYRzRnSUNBZ0lDQWdJRzl3WVdOcGRIazZJSE5vYjNkSVlXNWtiR1VnUHlBeElEb2dNQ3hjYmlBZ0lDQWdJQ0FnYUdWcFoyaDBPaUFuTVRBd0pTY3NYRzRnSUNBZ0lDQWdJR3hsWm5RNklFaEJUa1JNUlY5UFJrWlRSVlFnTFNCSVFVNUVURVZmVjBsRVZFZ2dMeUF5TENBdkx5QjBhR1VnYUdGdVpHeGxJSE5vYjNWc1pDQmNJbk4wY21Ga1pHeGxYQ0lnZEdobElHUnBkbWxrYVc1bklHeHBibVZjYmlBZ0lDQWdJQ0FnY0c5emFYUnBiMjQ2SUNkaFluTnZiSFYwWlNjc1hHNGdJQ0FnSUNBZ0lIUnlZVzV6YVhScGIyNDZJQ2R2Y0dGamFYUjVJREl3TUcxekp5eGNiaUFnSUNBZ0lDQWdkMmxrZEdnNklFaEJUa1JNUlY5WFNVUlVTQ3hjYmlBZ0lDQWdJSDE5WEc0Z0lDQWdMejVjYmlBZ1BDOWthWFkrWEc0cE8xeHVZMjl1YzNRZ2JHRnlaMlZJYVhSQmNtVmhJRDBnZTF4dUlDQnNaV1owT2lBdE9DeGNiaUFnY21sbmFIUTZJQzB4TWl4Y2JpQWdZbTkwZEc5dE9pQXRPQ3hjYmlBZ2RHOXdPaUF0T0N4Y2JuMDdYRzVqYjI1emRDQnpiV0ZzYkVocGRFRnlaV0VnUFNCN1hHNGdJR3hsWm5RNklDMDBMRnh1SUNCeWFXZG9kRG9nTFRRc1hHNGdJR0p2ZEhSdmJUb2dMVFFzWEc0Z0lIUnZjRG9nTFRRc1hHNTlPMXh1WEc1amIyNXpkQ0JDZFhSMGIyNGdQU0FvZTF4dUlDQmphR2xzWkhKbGJpeGNiaUFnYUdGelNHbG5hR3hwWjJoMExGeHVJQ0JwYm01bGNsSmxaaXhjYmlBZ2FYTldhWE5wWW14bExGeHVJQ0JvYVhSQmNtVmhVMmw2WlN4Y2JpQWdMaTR1Y0hKdmNITmNibjBwSUQwK0lDaGNiaUFnUEdKMWRIUnZibHh1SUNBZ0lHTnNZWE56VG1GdFpUMWNJbUZyTFc1aGRtbG5ZWFJwYjI0dGNtVnphWHBsTFdKMWRIUnZibHdpWEc0Z0lDQWdkSGx3WlQxY0ltSjFkSFJ2Ymx3aVhHNGdJQ0FnY21WbVBYdHBibTVsY2xKbFpuMWNiaUFnSUNCamMzTTllM3RjYmlBZ0lDQWdJR0poWTJ0bmNtOTFibVE2SURBc1hHNGdJQ0FnSUNCaVlXTnJaM0p2ZFc1a1EyOXNiM0k2SUNkM2FHbDBaU2NzWEc0Z0lDQWdJQ0JpYjNKa1pYSTZJREFzWEc0Z0lDQWdJQ0JpYjNKa1pYSlNZV1JwZFhNNklDYzFNQ1VuTEZ4dUlDQWdJQ0FnWW05NFUyaGhaRzkzT2lCZ01DQXdJREFnTVhCNElDUjdZMjlzYjNKekxrNHpNRUY5TENBd0lESndlQ0EwY0hnZ01YQjRJQ1I3WTI5c2IzSnpMazR6TUVGOVlDeGNiaUFnSUNBZ0lHTnZiRzl5T2lCb1lYTklhV2RvYkdsbmFIUWdQeUJqYjJ4dmNuTXVRakV3TUNBNklHTnZiRzl5Y3k1T01qQXdMRnh1SUNBZ0lDQWdZM1Z5YzI5eU9pQW5jRzlwYm5SbGNpY3NYRzRnSUNBZ0lDQm9aV2xuYUhRNklESTBMRnh1SUNBZ0lDQWdiM0JoWTJsMGVUb2dhWE5XYVhOcFlteGxJRDhnTVNBNklEQXNYRzRnSUNBZ0lDQnZkWFJzYVc1bE9pQXdMRnh1SUNBZ0lDQWdjR0ZrWkdsdVp6b2dNQ3hjYmlBZ0lDQWdJSEJ2YzJsMGFXOXVPaUFuWVdKemIyeDFkR1VuTEZ4dUlDQWdJQ0FnZEc5d09pQXpNaXhjYmlBZ0lDQWdJSFJ5WVc1emFYUnBiMjQ2SUdCY2JpQWdJQ0FnSUNBZ1ltRmphMmR5YjNWdVpDMWpiMnh2Y2lBeE1EQnRjeUJzYVc1bFlYSXNYRzRnSUNBZ0lDQWdJR052Ykc5eUlERXdNRzF6SUd4cGJtVmhjaXhjYmlBZ0lDQWdJQ0FnYjNCaFkybDBlU0F6TURCdGN5QmpkV0pwWXkxaVpYcHBaWElvTUM0eUxDQXdMQ0F3TENBeEtTeGNiaUFnSUNBZ0lDQWdkSEpoYm5ObWIzSnRJRE13TUcxeklHTjFZbWxqTFdKbGVtbGxjaWd3TGpJc0lEQXNJREFzSURFcFhHNGdJQ0FnSUNCZ0xGeHVJQ0FnSUNBZ2RISmhibk5tYjNKdE9pQmdkSEpoYm5Oc1lYUmxLQzAxTUNVcFlDeGNiaUFnSUNBZ0lIZHBaSFJvT2lBeU5DeGNibHh1SUNBZ0lDQWdKenBvYjNabGNpYzZJSHRjYmlBZ0lDQWdJQ0FnWW1GamEyZHliM1Z1WkVOdmJHOXlPaUJqYjJ4dmNuTXVRakV3TUN4Y2JpQWdJQ0FnSUNBZ1kyOXNiM0k2SUNkM2FHbDBaU2NzWEc0Z0lDQWdJQ0I5TEZ4dUlDQWdJQ0FnSnpwaFkzUnBkbVVuT2lCN1hHNGdJQ0FnSUNBZ0lHSmhZMnRuY205MWJtUkRiMnh2Y2pvZ1kyOXNiM0p6TGtJeU1EQXNYRzRnSUNBZ0lDQWdJR052Ykc5eU9pQW5kMmhwZEdVbkxGeHVJQ0FnSUNBZ2ZTeGNiaUFnSUNBZ0lDYzZabTlqZFhNbk9pQjdYRzRnSUNBZ0lDQWdJRzl3WVdOcGRIazZJREVzWEc0Z0lDQWdJQ0FnSUdKaFkydG5jbTkxYm1SRGIyeHZjam9nWTI5c2IzSnpMa0l5TURBc1hHNGdJQ0FnSUNBZ0lHTnZiRzl5T2lBbmQyaHBkR1VuTEZ4dUlDQWdJQ0FnZlN4Y2JpQWdJQ0I5ZlZ4dUlDQWdJSHN1TGk1d2NtOXdjMzFjYmlBZ1BseHVJQ0FnSUR4a2FYWmNiaUFnSUNBZ0lDOHZJR2x1WTNKbFlYTmxJR2hwZEMxaGNtVmhYRzRnSUNBZ0lDQmpjM005ZTN0Y2JpQWdJQ0FnSUNBZ2NHOXphWFJwYjI0NklDZGhZbk52YkhWMFpTY3NYRzRnSUNBZ0lDQWdJQzR1TGlob2FYUkJjbVZoVTJsNlpTQTlQVDBnSjNOdFlXeHNKeUEvSUhOdFlXeHNTR2wwUVhKbFlTQTZJR3hoY21kbFNHbDBRWEpsWVNrc1hHNGdJQ0FnSUNCOWZWeHVJQ0FnSUM4K1hHNGdJQ0FnZTJOb2FXeGtjbVZ1ZlZ4dUlDQThMMkoxZEhSdmJqNWNiaWs3WEc1Y2JpOHZJSFJwYm10bGNpQjNhWFJvSUhSb1pTQkVUMDBnWkdseVpXTjBiSGtnWW5rZ2MyVjBkR2x1WnlCemRIbHNaU0J3Y205d1pYSjBhV1Z6TENCMWNHUmhkR1Z6SUhSb1pTQm5jbUZpSUdKaGNpQndiM05wZEdsdmJpQmllU0JqYUdGdVoybHVaeUJ3WVdSa2FXNW5MV3hsWm5RZ1lXNWtJSGRwWkhSb0xseHVablZ1WTNScGIyNGdkWEJrWVhSbFVtVnphWHBsUVhKbFlWQnZjMmwwYVc5dUtHVnNaVzFsYm5SekxDQjNhV1IwYUNrZ2UxeHVJQ0JsYkdWdFpXNTBjeTVtYjNKRllXTm9LQ2g3SUhCeWIzQmxjblI1TENCeVpXWWdmU2tnUFQ0Z2UxeHVJQ0FnSUdOdmJuTjBJRzVsZDFaaGJIVmxJRDBnWUNSN2QybGtkR2g5Y0hoZ08xeHVJQ0FnSUdOdmJuTjBJRzlzWkZaaGJIVmxJRDBnY21WbUxuTjBlV3hsTG1kbGRGQnliM0JsY25SNVZtRnNkV1VvY0hKdmNHVnlkSGtwTzF4dVhHNGdJQ0FnTHk4Z1lYWnZhV1FnZEdoeVlYTm9hVzVuWEc0Z0lDQWdhV1lnS0c5c1pGWmhiSFZsSUQwOVBTQnVaWGRXWVd4MVpTa2djbVYwZFhKdU8xeHVYRzRnSUNBZ0x5OGdaR2x5WldOMElHRjBkSEpwWW5WMFpTQnRZVzVwY0hWc1lYUnBiMjVjYmlBZ0lDQnlaV1l1YzNSNWJHVXVjMlYwVUhKdmNHVnlkSGtvY0hKdmNHVnlkSGtzSUc1bGQxWmhiSFZsS1R0Y2JpQWdmU2s3WEc1OVhHNWNiaTh2SUdobGJIQmxjaUJtYjNJZ2RHOXZiSFJwY0NCamIyNTBaVzUwSUd0bGVXSnZZWEprSUhOb2IzSjBZM1YwSUdocFoyaHNhV2RvZEZ4dVpuVnVZM1JwYjI0Z2JXRnJaVlJ2YjJ4MGFYQk9iMlJsS0hzZ2RHVjRkQ3dnWTJoaGNpQjlLU0I3WEc0Z0lISmxkSFZ5YmlBb1hHNGdJQ0FnUEdScGRseHVJQ0FnSUNBZ1kzTnpQWHQ3WEc0Z0lDQWdJQ0FnSUdGc2FXZHVTWFJsYlhNNklDZGlZWE5sYkdsdVpTY3NYRzRnSUNBZ0lDQWdJR1JwYzNCc1lYazZJQ2RtYkdWNEp5eGNiaUFnSUNBZ0lDQWdiR2x1WlVobGFXZG9kRG9nTVM0ekxGeHVJQ0FnSUNBZ0lDQndZV1JrYVc1blFtOTBkRzl0T2lBeExGeHVJQ0FnSUNBZ0lDQndZV1JrYVc1blZHOXdPaUF4TEZ4dUlDQWdJQ0FnZlgxY2JpQWdJQ0ErWEc0Z0lDQWdJQ0E4YzNCaGJqNTdkR1Y0ZEgwOEwzTndZVzQrWEc0Z0lDQWdJQ0E4WkdsMlhHNGdJQ0FnSUNBZ0lHTnpjejE3ZTF4dUlDQWdJQ0FnSUNBZ0lHSmhZMnRuY205MWJtUkRiMnh2Y2pvZ1kyOXNiM0p6TGs0ME1EQXNYRzRnSUNBZ0lDQWdJQ0FnWW05eVpHVnlVbUZrYVhWek9pQXlMRnh1SUNBZ0lDQWdJQ0FnSUd4cGJtVklaV2xuYUhRNklERXVNaXhjYmlBZ0lDQWdJQ0FnSUNCdFlYSm5hVzVNWldaME9pQTBMRnh1SUNBZ0lDQWdJQ0FnSUhCaFpHUnBibWM2SUNjeGNIZ2dPSEI0Snl4Y2JpQWdJQ0FnSUNBZ2ZYMWNiaUFnSUNBZ0lENWNiaUFnSUNBZ0lDQWdlMk5vWVhKOVhHNGdJQ0FnSUNBOEwyUnBkajVjYmlBZ0lDQThMMlJwZGo1Y2JpQWdLVHRjYm4xY2JseHVMeW9nVGs5VVJUb2daWGh3WlhKcGJXVnVkR0ZzSUhCeWIzQnpJSFZ6WlNCaGJpQjFibVJsY25OamIzSmxJQ292WEc1amJHRnpjeUJTWlhOcGVtVkRiMjUwY205c0lHVjRkR1Z1WkhNZ1VIVnlaVU52YlhCdmJtVnVkQ0I3WEc0Z0lHbHVkbUZzYVdSRWNtRm5RWFIwWlcxd2RHVmtJRDBnWm1Gc2MyVTdYRzVjYmlBZ2JHRnpkRmRwWkhSb08xeHVYRzRnSUhkeVlYQndaWEk3WEc1Y2JpQWdjM1JoZEdVZ1BTQjdYRzRnSUNBZ1pHVnNkR0U2SURBc1hHNGdJQ0FnWkdsa1JISmhaMDl3Wlc0NklHWmhiSE5sTEZ4dUlDQWdJR2x6UkhKaFoyZHBibWM2SUdaaGJITmxMRnh1SUNBZ0lHbHVhWFJwWVd4WGFXUjBhRG9nTUN4Y2JpQWdJQ0JwYm1sMGFXRnNXRG9nTUN4Y2JpQWdJQ0J0YjNWelpVbHpSRzkzYmpvZ1ptRnNjMlVzWEc0Z0lDQWdiVzkxYzJWSmMwOTJaWEpIY21GaVFYSmxZVG9nWm1Gc2MyVXNYRzRnSUNBZ2MyaHZkMGR5WVdKQmNtVmhPaUIwY25WbExGeHVJQ0FnSUhkcFpIUm9PaUIwYUdsekxuQnliM0J6TG01aGRtbG5ZWFJwYjI0dWMzUmhkR1V1Y0hKdlpIVmpkRTVoZGxkcFpIUm9MRnh1SUNCOU8xeHVYRzRnSUhOMFlYUnBZeUJrWldaaGRXeDBVSEp2Y0hNZ1BTQjdYRzRnSUNBZ2FYTkhjbUZpUVhKbFlVUnBjMkZpYkdWa09pQm1ZV3h6WlN4Y2JpQWdmVHRjYmx4dUlDQnpkR0YwYVdNZ1oyVjBSR1Z5YVhabFpGTjBZWFJsUm5KdmJWQnliM0J6S0hCeWIzQnpMQ0J6ZEdGMFpTa2dlMXh1SUNBZ0lHTnZibk4wSUh0Y2JpQWdJQ0FnSUM4dklHVnpiR2x1ZEMxa2FYTmhZbXhsTFc1bGVIUXRiR2x1WlNCallXMWxiR05oYzJWY2JpQWdJQ0FnSUdWNGNHVnlhVzFsYm5SaGJGOW1iSGx2ZFhSUGJraHZkbVZ5T2lCRldGQkZVa2xOUlU1VVFVeGZSa3haVDFWVVgwOU9YMGhQVmtWU0xGeHVJQ0FnSUNBZ1pteDViM1YwU1hOUGNHVnVMRnh1SUNBZ0lDQWdibUYyYVdkaGRHbHZiaXhjYmlBZ0lDQjlJRDBnY0hKdmNITTdYRzRnSUNBZ1kyOXVjM1FnZXlCcGMwTnZiR3hoY0hObFpDQjlJRDBnYm1GMmFXZGhkR2x2Ymk1emRHRjBaVHRjYmx4dUlDQWdJQzh2SUhKbGMyOXNkbVVnWENKb2IzWmxjaUJzYjJOcmFXNW5YQ0lnYVhOemRXVWdkMmwwYUNCeVpYTnBlbVVnWjNKaFlpQmhjbVZoWEc0Z0lDQWdhV1lnS0VWWVVFVlNTVTFGVGxSQlRGOUdURmxQVlZSZlQwNWZTRTlXUlZJcElIdGNiaUFnSUNBZ0lHTnZibk4wSUhOb2IzZEhjbUZpUVhKbFlTQTlJQ0ZwYzBOdmJHeGhjSE5sWkNBbUppQWhabXg1YjNWMFNYTlBjR1Z1TzF4dUlDQWdJQ0FnWTI5dWMzUWdiVzkxYzJWSmMwOTJaWEpIY21GaVFYSmxZU0E5SUhOb2IzZEhjbUZpUVhKbFlWeHVJQ0FnSUNBZ0lDQS9JSE4wWVhSbExtMXZkWE5sU1hOUGRtVnlSM0poWWtGeVpXRmNiaUFnSUNBZ0lDQWdPaUJtWVd4elpUdGNibHh1SUNBZ0lDQWdjbVYwZFhKdUlIdGNiaUFnSUNBZ0lDQWdiVzkxYzJWSmMwOTJaWEpIY21GaVFYSmxZU3hjYmlBZ0lDQWdJQ0FnYzJodmQwZHlZV0pCY21WaExGeHVJQ0FnSUNBZ2ZUdGNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnYm5Wc2JEdGNiaUFnZlZ4dVhHNGdJRzl1VW1WemFYcGxja05vWlhaeWIyNURiR2xqYXlBOUlDZ3BJRDArSUh0Y2JpQWdJQ0JqYjI1emRDQjBjbWxuWjJWeUlEMGdkR2hwY3k1d2NtOXdjeTVtYkhsdmRYUkpjMDl3Wlc0Z1B5QW5ZMmhsZG5KdmJraHZkbVZ5SnlBNklDZGphR1YyY205dUp6dGNiaUFnSUNCMGFHbHpMblJ2WjJkc1pVTnZiR3hoY0hObEtIUnlhV2RuWlhJcE8xeHVJQ0I5TzF4dVhHNGdJRzF2ZFhObFJXNTBaWEpIY21GaVFYSmxZU0E5SUNncElEMCtJSHRjYmlBZ0lDQjBhR2x6TG5ObGRGTjBZWFJsS0hzZ2JXOTFjMlZKYzA5MlpYSkhjbUZpUVhKbFlUb2dkSEoxWlNCOUtUdGNiaUFnZlR0Y2JseHVJQ0J0YjNWelpVeGxZWFpsUjNKaFlrRnlaV0VnUFNBb0tTQTlQaUI3WEc0Z0lDQWdkR2hwY3k1elpYUlRkR0YwWlNoN0lHMXZkWE5sU1hOUGRtVnlSM0poWWtGeVpXRTZJR1poYkhObElIMHBPMXh1SUNCOU8xeHVYRzRnSUhSdloyZHNaVU52Ykd4aGNITmxJRDBnZEhKcFoyZGxjaUE5UGlCN1hHNGdJQ0FnWTI5dWMzUWdleUJ1WVhacFoyRjBhVzl1TENCamNtVmhkR1ZCYm1Gc2VYUnBZM05GZG1WdWRDQjlJRDBnZEdocGN5NXdjbTl3Y3p0Y2JpQWdJQ0JqYjI1emRDQnVaWGREYjJ4c1lYQnpaV1JUZEdGMFpTQTlJQ0Z1WVhacFoyRjBhVzl1TG5OMFlYUmxMbWx6UTI5c2JHRndjMlZrTzF4dUlDQWdJRzVoZG1sbllYUnBiMjR1ZEc5bloyeGxRMjlzYkdGd2MyVW9LVHRjYmlBZ0lDQnVZWFpwWjJGMGFXOXVSWGh3WVc1a1pXUkRiMnhzWVhCelpXUW9ZM0psWVhSbFFXNWhiSGwwYVdOelJYWmxiblFzSUh0Y2JpQWdJQ0FnSUhSeWFXZG5aWElzWEc0Z0lDQWdJQ0JwYzBOdmJHeGhjSE5sWkRvZ2JtVjNRMjlzYkdGd2MyVmtVM1JoZEdVc1hHNGdJQ0FnZlNrN1hHNGdJSDA3WEc1Y2JpQWdhR0Z1Wkd4bFVtVnphWHBsVTNSaGNuUWdQU0JsZG1WdWRDQTlQaUI3WEc0Z0lDQWdZMjl1YzNRZ2FXNXBkR2xoYkZnZ1BTQmxkbVZ1ZEM1d1lXZGxXRHRjYmx4dUlDQWdJSFJvYVhNdWMyVjBVM1JoZEdVb2V5QnBibWwwYVdGc1dDd2diVzkxYzJWSmMwUnZkMjQ2SUhSeWRXVWdmU2s3WEc1Y2JpQWdJQ0F2THlCaGRIUmhZMmdnYUdGdVpHeGxjbk1nS0doaGJtUnNaVkpsYzJsNlpWTjBZWEowSUdseklHRWdZbTkxYm1RZ2RHOGdiMjVOYjNWelpVUnZkMjRwWEc0Z0lDQWdkMmx1Wkc5M0xtRmtaRVYyWlc1MFRHbHpkR1Z1WlhJb0oyMXZkWE5sYlc5MlpTY3NJSFJvYVhNdWFHRnVaR3hsVW1WemFYcGxLVHRjYmlBZ0lDQjNhVzVrYjNjdVlXUmtSWFpsYm5STWFYTjBaVzVsY2lnbmJXOTFjMlYxY0Njc0lIUm9hWE11YUdGdVpHeGxVbVZ6YVhwbFJXNWtLVHRjYmlBZ2ZUdGNibHh1SUNCcGJtbDBhV0ZzYVhwbFJISmhaeUE5SUdWMlpXNTBJRDArSUh0Y2JpQWdJQ0JqYjI1emRDQjdJRzVoZG1sbllYUnBiMjRnZlNBOUlIUm9hWE11Y0hKdmNITTdYRzRnSUNBZ1kyOXVjM1FnWkdWc2RHRWdQU0JsZG1WdWRDNXdZV2RsV0NBdElIUm9hWE11YzNSaGRHVXVhVzVwZEdsaGJGZzdYRzRnSUNBZ1kyOXVjM1FnZXlCcGMwTnZiR3hoY0hObFpDQjlJRDBnYm1GMmFXZGhkR2x2Ymk1emRHRjBaVHRjYmx4dUlDQWdJQzh2SUc5dWJIa2dhVzVwZEdsaGJHbDZaU0IzYUdWdUlHUnlZV2NnYVc1MFpXNTBhVzl1SUdseklGd2laWGh3WVc1a1hDSmNiaUFnSUNCcFppQW9hWE5EYjJ4c1lYQnpaV1FnSmlZZ1pHVnNkR0VnUEQwZ01Da2dlMXh1SUNBZ0lDQWdkR2hwY3k1cGJuWmhiR2xrUkhKaFowRjBkR1Z0Y0hSbFpDQTlJSFJ5ZFdVN1hHNGdJQ0FnSUNCeVpYUjFjbTQ3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdiR1YwSUdsdWFYUnBZV3hYYVdSMGFDQTlJRzVoZG1sbllYUnBiMjR1YzNSaGRHVXVjSEp2WkhWamRFNWhkbGRwWkhSb08xeHVJQ0FnSUd4bGRDQmthV1JFY21GblQzQmxiaUE5SUdaaGJITmxPMXh1WEc0Z0lDQWdMeThnVGs5VVJWeHVJQ0FnSUM4dklHbG1JSFJvWlNCd2NtOWtkV04wSUc1aGRpQnBjeUJqYjJ4c1lYQnpaV1FnWVc1a0lIUm9aU0JqYjI1emRXMWxjaUJ6ZEdGeWRITWdaSEpoWjJkcGJtY2dhWFFnYjNCbGJseHVJQ0FnSUM4dklIZGxJRzExYzNRZ1pYaHdZVzVrSUdsMElHRnVaQ0JrY21GbklITm9iM1ZzWkNCemRHRnlkQ0JtY205dElEQXVYRzRnSUNBZ2FXWWdLR2x6UTI5c2JHRndjMlZrS1NCN1hHNGdJQ0FnSUNCcGJtbDBhV0ZzVjJsa2RHZ2dQU0JEVDA1VVJVNVVYMDVCVmw5WFNVUlVTRjlEVDB4TVFWQlRSVVE3WEc0Z0lDQWdJQ0JrYVdSRWNtRm5UM0JsYmlBOUlIUnlkV1U3WEc0Z0lDQWdJQ0J1WVhacFoyRjBhVzl1TG0xaGJuVmhiRkpsYzJsNlpWTjBZWEowS0h0Y2JpQWdJQ0FnSUNBZ2NISnZaSFZqZEU1aGRsZHBaSFJvT2lCRFQwNVVSVTVVWDA1QlZsOVhTVVJVU0Y5RFQweE1RVkJUUlVRc1hHNGdJQ0FnSUNBZ0lHbHpRMjlzYkdGd2MyVmtPaUJtWVd4elpTeGNiaUFnSUNBZ0lIMHBPMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNCdVlYWnBaMkYwYVc5dUxtMWhiblZoYkZKbGMybDZaVk4wWVhKMEtHNWhkbWxuWVhScGIyNHVjM1JoZEdVcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhSb2FYTXVjMlYwVTNSaGRHVW9leUJrYVdSRWNtRm5UM0JsYml3Z2FXNXBkR2xoYkZkcFpIUm9MQ0JwYzBSeVlXZG5hVzVuT2lCMGNuVmxJSDBwTzF4dUlDQjlPMXh1WEc0Z0lHaGhibVJzWlZKbGMybDZaU0E5SUhKaFppaGxkbVZ1ZENBOVBpQjdYRzRnSUNBZ1kyOXVjM1FnZXlCdGRYUmhkR2x2YmxKbFpuTWdmU0E5SUhSb2FYTXVjSEp2Y0hNN1hHNGdJQ0FnWTI5dWMzUWdleUJwYm1sMGFXRnNXQ3dnYVc1cGRHbGhiRmRwWkhSb0xDQnBjMFJ5WVdkbmFXNW5MQ0J0YjNWelpVbHpSRzkzYmlCOUlEMGdkR2hwY3k1emRHRjBaVHRjYmx4dUlDQWdJQzh2SUc5dUlHOWpZMkZ6YVc5dUlHRWdiVzkxYzJVZ2JXOTJaU0JsZG1WdWRDQnZZMk4xY25NZ1ltVm1iM0psSUhSb1pTQmxkbVZ1ZENCc2FYTjBaVzVsY25OY2JpQWdJQ0F2THlCb1lYWmxJR0VnWTJoaGJtTmxJSFJ2SUdSbGRHRmphRnh1SUNBZ0lHbG1JQ2doYlc5MWMyVkpjMFJ2ZDI0cElISmxkSFZ5Ymp0Y2JseHVJQ0FnSUM4dklHbHVhWFJwWVd4cGVtVWdaSEpoWjJkcGJtZGNiaUFnSUNCcFppQW9JV2x6UkhKaFoyZHBibWNwSUh0Y2JpQWdJQ0FnSUhSb2FYTXVhVzVwZEdsaGJHbDZaVVJ5WVdjb1pYWmxiblFwTzF4dUlDQWdJQ0FnY21WMGRYSnVPMXh1SUNBZ0lIMWNibHh1SUNBZ0lDOHZJR0ZzYkc5M0lIUm9aU0J3Y205a2RXTjBJRzVoZGlCMGJ5QmlaU0EzTlNVZ2IyWWdkR2hsSUdGMllXbHNZV0pzWlNCd1lXZGxJSGRwWkhSb1hHNGdJQ0FnWTI5dWMzUWdiV0Y0VjJsa2RHZ2dQU0JOWVhSb0xuSnZkVzVrS0NoM2FXNWtiM2N1YVc1dVpYSlhhV1IwYUNBdklEUXBJQ29nTXlrN1hHNGdJQ0FnWTI5dWMzUWdiV2x1VjJsa2RHZ2dQU0JEVDA1VVJVNVVYMDVCVmw5WFNVUlVTRjlEVDB4TVFWQlRSVVE3WEc0Z0lDQWdZMjl1YzNRZ1lXUnFkWE4wWldSTllYZ2dQU0J0WVhoWGFXUjBhQ0F0SUdsdWFYUnBZV3hYYVdSMGFDQXRJRWRNVDBKQlRGOU9RVlpmVjBsRVZFZzdYRzRnSUNBZ1kyOXVjM1FnWVdScWRYTjBaV1JOYVc0Z1BTQnRhVzVYYVdSMGFDQXRJR2x1YVhScFlXeFhhV1IwYUR0Y2JseHVJQ0FnSUdOdmJuTjBJR1JsYkhSaElEMGdUV0YwYUM1dFlYZ29YRzRnSUNBZ0lDQk5ZWFJvTG0xcGJpaGxkbVZ1ZEM1d1lXZGxXQ0F0SUdsdWFYUnBZV3hZTENCaFpHcDFjM1JsWkUxaGVDa3NYRzRnSUNBZ0lDQmhaR3AxYzNSbFpFMXBiaXhjYmlBZ0lDQXBPMXh1SUNBZ0lHTnZibk4wSUhkcFpIUm9JRDBnYVc1cGRHbGhiRmRwWkhSb0lDc2daR1ZzZEdFN1hHNWNiaUFnSUNBdkx5QmhjSEJzZVNCMWNHUmhkR1ZrSUhOMGVXeGxjeUIwYnlCMGFHVWdZWEJ3YkdsallXSnNaU0JFVDAwZ2JtOWtaWE5jYmlBZ0lDQjFjR1JoZEdWU1pYTnBlbVZCY21WaFVHOXphWFJwYjI0b2JYVjBZWFJwYjI1U1pXWnpMQ0IzYVdSMGFDazdYRzVjYmlBZ0lDQXZMeUJPVDFSRk9pQm9hV3BoWTJzZ2RHaGxJRzFoZFdGc0lISmxjMmw2WlNCaGJtUWdabTl5WTJVZ1kyOXNiR0Z3YzJVc0lHTmhibU5sYkhNZ2JXOTFjMlVnWlhabGJuUnpYRzRnSUNBZ2FXWWdLR1YyWlc1MExtTnNhV1Z1ZEZnZ1BDQXdLU0I3WEc0Z0lDQWdJQ0IwYUdsekxuTmxkRk4wWVhSbEtIc2dkMmxrZEdnNklFTlBUbFJGVGxSZlRrRldYMWRKUkZSSVgwTlBURXhCVUZORlJDQjlLVHRjYmlBZ0lDQWdJSFJvYVhNdWFHRnVaR3hsVW1WemFYcGxSVzVrS0NrN1hHNGdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJQzh2SUcxaGFXNTBZV2x1SUdsdWRHVnlibUZzSUhkcFpIUm9MQ0JoY0hCc2FXVmtJSFJ2SUc1aGRtbG5ZWFJwYjI0Z2MzUmhkR1VnYjI0Z2NtVnphWHBsSUdWdVpGeHVJQ0FnSUNBZ2RHaHBjeTV6WlhSVGRHRjBaU2g3SUdSbGJIUmhMQ0IzYVdSMGFDQjlLVHRjYmlBZ0lDQjlYRzRnSUgwcE8xeHVYRzRnSUdoaGJtUnNaVkpsYzJsNlpVVnVaQ0E5SUNncElEMCtJSHRjYmlBZ0lDQmpiMjV6ZENCN0lHNWhkbWxuWVhScGIyNHNJR055WldGMFpVRnVZV3g1ZEdsamMwVjJaVzUwSUgwZ1BTQjBhR2x6TG5CeWIzQnpPMXh1SUNBZ0lHTnZibk4wSUhzZ1pHVnNkR0VzSUdScFpFUnlZV2RQY0dWdUxDQnBjMFJ5WVdkbmFXNW5MQ0IzYVdSMGFEb2dZM1Z5Y21WdWRGZHBaSFJvSUgwZ1BTQjBhR2x6TG5OMFlYUmxPMXh1SUNBZ0lHTnZibk4wSUdWNGNHRnVaRlJvY21WemFHOXNaQ0E5SURJME8xeHVJQ0FnSUdOdmJuTjBJSEpsYzJsNlpYSkRiR2xqYTJWa0lEMGdJV2x6UkhKaFoyZHBibWNnSmlZZ0lYUm9hWE11YVc1MllXeHBaRVJ5WVdkQmRIUmxiWEIwWldRN1hHNGdJQ0FnYkdWMElIQjFZbXhwYzJoWGFXUjBhQ0E5SUdOMWNuSmxiblJYYVdSMGFEdGNiaUFnSUNCc1pYUWdjMmh2ZFd4a1EyOXNiR0Z3YzJVZ1BTQm1ZV3h6WlR0Y2JseHVJQ0FnSUM4dklHTm9aV05ySUdsbUlIUm9aU0JwYm5SbGJuUnBiMjRnZDJGeklHcDFjM1FnWVNCamJHbGpheXdnWVc1a0lIUnZaMmRzWlZ4dUlDQWdJR2xtSUNoeVpYTnBlbVZ5UTJ4cFkydGxaQ2tnZTF4dUlDQWdJQ0FnY0hWaWJHbHphRmRwWkhSb0lEMGdUV0YwYUM1dFlYZ29RMDlPVkVWT1ZGOU9RVlpmVjBsRVZFZ3NJR04xY25KbGJuUlhhV1IwYUNrN1hHNGdJQ0FnSUNCMGFHbHpMblJ2WjJkc1pVTnZiR3hoY0hObEtDZHlaWE5wZW1WeVEyeHBZMnNuS1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0F2THlCd2NtVjJaVzUwSUhSb1pTQjFjMlZ5SUdaeWIyMGdZM0psWVhScGJtY2dZVzRnZFc1MWMyRmliR1VnZDJsa2RHaGNiaUFnSUNCcFppQW9jSFZpYkdsemFGZHBaSFJvSUR3Z1EwOU9WRVZPVkY5T1FWWmZWMGxFVkVncElIdGNiaUFnSUNBZ0lIQjFZbXhwYzJoWGFXUjBhQ0E5SUVOUFRsUkZUbFJmVGtGV1gxZEpSRlJJTzF4dUlDQWdJQ0FnYVdZZ0tHUnBaRVJ5WVdkUGNHVnVJQ1ltSUdSbGJIUmhJRDRnWlhod1lXNWtWR2h5WlhOb2IyeGtLU0I3WEc0Z0lDQWdJQ0FnSUhOb2IzVnNaRU52Ykd4aGNITmxJRDBnWm1Gc2MyVTdYRzRnSUNBZ0lDQjlJR1ZzYzJVZ2FXWWdLR04xY25KbGJuUlhhV1IwYUNBOElFZE1UMEpCVEY5T1FWWmZRMDlNVEVGUVUwVmZWRWhTUlZOSVQweEVLU0I3WEc0Z0lDQWdJQ0FnSUhOb2IzVnNaRU52Ykd4aGNITmxJRDBnZEhKMVpUdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnYzJodmRXeGtRMjlzYkdGd2MyVWdQU0J1WVhacFoyRjBhVzl1TG5OMFlYUmxMbWx6UTI5c2JHRndjMlZrTzF4dUlDQWdJSDFjYmx4dUlDQWdJR2xtSUNoY2JpQWdJQ0FnSUNGeVpYTnBlbVZ5UTJ4cFkydGxaQ0FtSmx4dUlDQWdJQ0FnS0Noa2FXUkVjbUZuVDNCbGJpQW1KaUFoYzJodmRXeGtRMjlzYkdGd2MyVXBJSHg4SUNnaFpHbGtSSEpoWjA5d1pXNGdKaVlnYzJodmRXeGtRMjlzYkdGd2MyVXBLVnh1SUNBZ0lDa2dlMXh1SUNBZ0lDQWdibUYyYVdkaGRHbHZia1Y0Y0dGdVpHVmtRMjlzYkdGd2MyVmtLR055WldGMFpVRnVZV3g1ZEdsamMwVjJaVzUwTENCN1hHNGdJQ0FnSUNBZ0lIUnlhV2RuWlhJNklDZHlaWE5wZW1WeVJISmhaeWNzWEc0Z0lDQWdJQ0FnSUdselEyOXNiR0Z3YzJWa09pQnphRzkxYkdSRGIyeHNZWEJ6WlN4Y2JpQWdJQ0FnSUgwcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUM4dklISmxjMlYwSUdWMlpYSjVkR2hwYm1kY2JpQWdJQ0IwYUdsekxtbHVkbUZzYVdSRWNtRm5RWFIwWlcxd2RHVmtJRDBnWm1Gc2MyVTdYRzRnSUNBZ2RHaHBjeTV6WlhSVGRHRjBaU2g3WEc0Z0lDQWdJQ0JrYVdSRWNtRm5UM0JsYmpvZ1ptRnNjMlVzWEc0Z0lDQWdJQ0JwYzBSeVlXZG5hVzVuT2lCbVlXeHpaU3hjYmlBZ0lDQWdJRzF2ZFhObFNYTkViM2R1T2lCbVlXeHpaU3hjYmlBZ0lDQWdJSGRwWkhSb09pQndkV0pzYVhOb1YybGtkR2dzWEc0Z0lDQWdmU2s3WEc1Y2JpQWdJQ0F2THlCd2RXSnNhWE5vSUhSb1pTQnVaWGNnZDJsa2RHZ3NJRzl1WTJVZ2NtVnphWHBwYm1jZ1kyOXRjR3hsZEdWelhHNGdJQ0FnYm1GMmFXZGhkR2x2Ymk1dFlXNTFZV3hTWlhOcGVtVkZibVFvZTF4dUlDQWdJQ0FnY0hKdlpIVmpkRTVoZGxkcFpIUm9PaUJ3ZFdKc2FYTm9WMmxrZEdnc1hHNGdJQ0FnSUNCcGMwTnZiR3hoY0hObFpEb2djMmh2ZFd4a1EyOXNiR0Z3YzJVc1hHNGdJQ0FnZlNrN1hHNWNiaUFnSUNCcFppQW9jMmh2ZFd4a1VtVnpaWFJIY21GaVFYSmxZU2hqZFhKeVpXNTBWMmxrZEdncEtTQjdYRzRnSUNBZ0lDQjFjR1JoZEdWU1pYTnBlbVZCY21WaFVHOXphWFJwYjI0b2RHaHBjeTV3Y205d2N5NXRkWFJoZEdsdmJsSmxabk1zSUVOUFRsUkZUbFJmVGtGV1gxZEpSRlJJS1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0F2THlCamJHVmhiblZ3WEc0Z0lDQWdkMmx1Wkc5M0xuSmxiVzkyWlVWMlpXNTBUR2x6ZEdWdVpYSW9KMjF2ZFhObGJXOTJaU2NzSUhSb2FYTXVhR0Z1Wkd4bFVtVnphWHBsS1R0Y2JpQWdJQ0IzYVc1a2IzY3VjbVZ0YjNabFJYWmxiblJNYVhOMFpXNWxjaWduYlc5MWMyVjFjQ2NzSUhSb2FYTXVhR0Z1Wkd4bFVtVnphWHBsUlc1a0tUdGNiaUFnZlR0Y2JseHVJQ0J5Wlc1a1pYSW9LU0I3WEc0Z0lDQWdZMjl1YzNRZ2UxeHVJQ0FnSUNBZ2FYTkVjbUZuWjJsdVp5eGNiaUFnSUNBZ0lHMXZkWE5sU1hORWIzZHVMRnh1SUNBZ0lDQWdiVzkxYzJWSmMwOTJaWEpIY21GaVFYSmxZU3hjYmlBZ0lDQWdJSE5vYjNkSGNtRmlRWEpsWVN4Y2JpQWdJQ0I5SUQwZ2RHaHBjeTV6ZEdGMFpUdGNiaUFnSUNCamIyNXpkQ0I3WEc0Z0lDQWdJQ0JqYjJ4c1lYQnpaVlJ2WjJkc1pWUnZiMngwYVhCRGIyNTBaVzUwTEZ4dUlDQWdJQ0FnWlhod1lXNWtRMjlzYkdGd2MyVkJabVp2Y21SaGJtTmxVbVZtTEZ4dUlDQWdJQ0FnWm14NWIzVjBTWE5QY0dWdUxGeHVJQ0FnSUNBZ2FYTkVhWE5oWW14bFpEb2dhWE5TWlhOcGVtVkVhWE5oWW14bFpDeGNiaUFnSUNBZ0lHbHpSM0poWWtGeVpXRkVhWE5oWW14bFpDeGNiaUFnSUNBZ0lHOXVUVzkxYzJWUGRtVnlRblYwZEc5dVFuVm1abVZ5TEZ4dUlDQWdJQ0FnYm1GMmFXZGhkR2x2Yml4Y2JpQWdJQ0I5SUQwZ2RHaHBjeTV3Y205d2N6dGNiaUFnSUNCamIyNXpkQ0I3SUdselEyOXNiR0Z3YzJWa0lIMGdQU0J1WVhacFoyRjBhVzl1TG5OMFlYUmxPMXh1WEc0Z0lDQWdMeThnZEdobElHSjFkSFJ2YmlCemFHOTFiR1J1SjNRZ1hDSm1iR2x3WENJZ2RXNTBhV3dnZEdobElHUnlZV2NnYVhNZ1kyOXRjR3hsZEdWY2JpQWdJQ0JzWlhRZ1FuVjBkRzl1U1dOdmJpQTlJRU5vWlhaeWIyNU1aV1owTzF4dUlDQWdJR2xtSUNocGMwTnZiR3hoY0hObFpDa2dRblYwZEc5dVNXTnZiaUE5SUVOb1pYWnliMjVTYVdkb2REdGNibHh1SUNBZ0lHTnZibk4wSUdKMWRIUnZiaUE5SUNoY2JpQWdJQ0FnSUR4Q2RYUjBiMjVjYmlBZ0lDQWdJQ0FnYjI1RGJHbGphejE3ZEdocGN5NXZibEpsYzJsNlpYSkRhR1YyY205dVEyeHBZMnQ5WEc0Z0lDQWdJQ0FnSUc5dVRXOTFjMlZFYjNkdVBYdHdjbVYyWlc1MFJHVm1ZWFZzZEgxY2JpQWdJQ0FnSUNBZ2FHbDBRWEpsWVZOcGVtVTllMjl1VFc5MWMyVlBkbVZ5UW5WMGRHOXVRblZtWm1WeUlEOGdKMnhoY21kbEp5QTZJQ2R6YldGc2JDZDlYRzRnSUNBZ0lDQWdJQzh2SUcxaGFXNTBZV2x1SUhOMGVXeGxjeUIzYUdWdUlIVnpaWElnYVhNZ1pISmhaMmRwYm1kY2JpQWdJQ0FnSUNBZ2FYTldhWE5wWW14bFBYdHBjME52Ykd4aGNITmxaQ0I4ZkNCdGIzVnpaVWx6Ukc5M2JuMWNiaUFnSUNBZ0lDQWdhR0Z6U0dsbmFHeHBaMmgwUFh0dGIzVnpaVWx6Ukc5M2JpQjhmQ0J0YjNWelpVbHpUM1psY2tkeVlXSkJjbVZoZlZ4dUlDQWdJQ0FnSUNCcGJtNWxjbEpsWmoxN1pYaHdZVzVrUTI5c2JHRndjMlZCWm1admNtUmhibU5sVW1WbWZWeHVJQ0FnSUNBZ0lDQmhjbWxoTFdWNGNHRnVaR1ZrUFhzaGFYTkRiMnhzWVhCelpXUjlYRzRnSUNBZ0lDQWdJR0Z5YVdFdGJHRmlaV3c5WENKVWIyZG5iR1VnYm1GMmFXZGhkR2x2Ymx3aVhHNGdJQ0FnSUNBK1hHNGdJQ0FnSUNBZ0lEeENkWFIwYjI1SlkyOXVJQzgrWEc0Z0lDQWdJQ0E4TDBKMWRIUnZiajVjYmlBZ0lDQXBPMXh1SUNBZ0lHTnZibk4wSUhOb1lXUnZkMFJwY21WamRHbHZiaUE5SUdac2VXOTFkRWx6VDNCbGJpQS9JQ2QwYnlCeWFXZG9kQ2NnT2lBbmRHOGdiR1ZtZENjN1hHNWNiaUFnSUNCeVpYUjFjbTRnS0Z4dUlDQWdJQ0FnUEU5MWRHVnlQbHh1SUNBZ0lDQWdJQ0I3YVhORWNtRm5aMmx1WnlBbUppQThRbTlrZVVSeVlXZERkWEp6YjNJZ0x6NTlYRzRnSUNBZ0lDQWdJRHhUYUdGa2IzY2daR2x5WldOMGFXOXVQWHR6YUdGa2IzZEVhWEpsWTNScGIyNTlJR2x6UW05c1pEMTdiVzkxYzJWSmMwUnZkMjU5SUM4K1hHNGdJQ0FnSUNBZ0lIc2hhWE5TWlhOcGVtVkVhWE5oWW14bFpDQW1KaUFvWEc0Z0lDQWdJQ0FnSUNBZ1BFWnlZV2R0Wlc1MFBseHVJQ0FnSUNBZ0lDQWdJQ0FnZXlGcGMwZHlZV0pCY21WaFJHbHpZV0pzWldRZ0ppWWdjMmh2ZDBkeVlXSkJjbVZoSUNZbUlDaGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ1BFZHlZV0pCY21WaFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2FYTkNiMnhrUFh0dGIzVnpaVWx6Ukc5M2JuMWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnphRzkzU0dGdVpHeGxQWHR0YjNWelpVbHpSRzkzYmlCOGZDQnRiM1Z6WlVselQzWmxja2R5WVdKQmNtVmhmVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRzl1VFc5MWMyVkZiblJsY2oxN2RHaHBjeTV0YjNWelpVVnVkR1Z5UjNKaFlrRnlaV0Y5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYjI1TmIzVnpaVXhsWVhabFBYdDBhR2x6TG0xdmRYTmxUR1ZoZG1WSGNtRmlRWEpsWVgxY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCdmJrMXZkWE5sUkc5M2JqMTdkR2hwY3k1b1lXNWtiR1ZTWlhOcGVtVlRkR0Z5ZEgxY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnTHo1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ2w5WEc0Z0lDQWdJQ0FnSUNBZ0lDQThaR2wySUc5dVRXOTFjMlZQZG1WeVBYc2habXg1YjNWMFNYTlBjR1Z1SUQ4Z2IyNU5iM1Z6WlU5MlpYSkNkWFIwYjI1Q2RXWm1aWElnT2lCdWRXeHNmVDVjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdlMk52Ykd4aGNITmxWRzluWjJ4bFZHOXZiSFJwY0VOdmJuUmxiblFnUHlBb1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1BGUnZiMngwYVhCY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHTnZiblJsYm5ROWUyMWhhMlZVYjI5c2RHbHdUbTlrWlNoY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZMjlzYkdGd2MyVlViMmRuYkdWVWIyOXNkR2x3UTI5dWRHVnVkQ2hwYzBOdmJHeGhjSE5sWkNrc1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQXBmVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWkdWc1lYazllell3TUgxY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHaHBaR1ZVYjI5c2RHbHdUMjVEYkdsamExeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjRzl6YVhScGIyNDlYQ0p5YVdkb2RGd2lYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdQbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZTJKMWRIUnZibjFjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0E4TDFSdmIyeDBhWEErWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ2tnT2lBb1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1luVjBkRzl1WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ2w5WEc0Z0lDQWdJQ0FnSUNBZ0lDQThMMlJwZGo1Y2JpQWdJQ0FnSUNBZ0lDQThMMFp5WVdkdFpXNTBQbHh1SUNBZ0lDQWdJQ0FwZlZ4dUlDQWdJQ0FnUEM5UGRYUmxjajVjYmlBZ0lDQXBPMXh1SUNCOVhHNTlYRzVjYm1WNGNHOXlkQ0I3SUZKbGMybDZaVU52Ym5SeWIyd2dZWE1nVW1WemFYcGxRMjl1ZEhKdmJFSmhjMlVnZlR0Y2JseHVaWGh3YjNKMElHUmxabUYxYkhRZ2QybDBhRUZ1WVd4NWRHbGpjMFYyWlc1MGN5Z3BLRkpsYzJsNlpVTnZiblJ5YjJ3cE8xeHVJbDE5ICovXCIpXG4gIH0pLCBjaGlsZHJlbik7XG59OyAvLyB0aW5rZXIgd2l0aCB0aGUgRE9NIGRpcmVjdGx5IGJ5IHNldHRpbmcgc3R5bGUgcHJvcGVydGllcywgdXBkYXRlcyB0aGUgZ3JhYiBiYXIgcG9zaXRpb24gYnkgY2hhbmdpbmcgcGFkZGluZy1sZWZ0IGFuZCB3aWR0aC5cblxuXG5mdW5jdGlvbiB1cGRhdGVSZXNpemVBcmVhUG9zaXRpb24oZWxlbWVudHMsIHdpZHRoKSB7XG4gIGVsZW1lbnRzLmZvckVhY2goZnVuY3Rpb24gKF9yZWYzKSB7XG4gICAgdmFyIHByb3BlcnR5ID0gX3JlZjMucHJvcGVydHksXG4gICAgICAgIHJlZiA9IF9yZWYzLnJlZjtcbiAgICB2YXIgbmV3VmFsdWUgPSBcIlwiLmNvbmNhdCh3aWR0aCwgXCJweFwiKTtcbiAgICB2YXIgb2xkVmFsdWUgPSByZWYuc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZShwcm9wZXJ0eSk7IC8vIGF2b2lkIHRocmFzaGluZ1xuXG4gICAgaWYgKG9sZFZhbHVlID09PSBuZXdWYWx1ZSkgcmV0dXJuOyAvLyBkaXJlY3QgYXR0cmlidXRlIG1hbmlwdWxhdGlvblxuXG4gICAgcmVmLnN0eWxlLnNldFByb3BlcnR5KHByb3BlcnR5LCBuZXdWYWx1ZSk7XG4gIH0pO1xufSAvLyBoZWxwZXIgZm9yIHRvb2x0aXAgY29udGVudCBrZXlib2FyZCBzaG9ydGN1dCBoaWdobGlnaHRcblxuXG52YXIgX3JlZjUgPSBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7XG4gIG5hbWU6IFwiamVlZGtpXCIsXG4gIHN0eWxlczogXCJhbGlnbi1pdGVtczpiYXNlbGluZTtkaXNwbGF5OmZsZXg7bGluZS1oZWlnaHQ6MS4zO3BhZGRpbmctYm90dG9tOjFweDtwYWRkaW5nLXRvcDoxcHg7XCJcbn0gOiB7XG4gIG5hbWU6IFwiamVlZGtpXCIsXG4gIHN0eWxlczogXCJhbGlnbi1pdGVtczpiYXNlbGluZTtkaXNwbGF5OmZsZXg7bGluZS1oZWlnaHQ6MS4zO3BhZGRpbmctYm90dG9tOjFweDtwYWRkaW5nLXRvcDoxcHg7XCIsXG4gIG1hcDogXCIvKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJaTR1THk0dUx5NHVMeTR1THk0dUwzTnlZeTlqYjIxd2IyNWxiblJ6TDNCeVpYTmxiblJoZEdsdmJtRnNMMHhoZVc5MWRFMWhibUZuWlhJdlVtVnphWHBsUTI5dWRISnZiQzVxY3lKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVFeVMwMGlMQ0ptYVd4bElqb2lMaTR2TGk0dkxpNHZMaTR2TGk0dmMzSmpMMk52YlhCdmJtVnVkSE12Y0hKbGMyVnVkR0YwYVc5dVlXd3ZUR0Y1YjNWMFRXRnVZV2RsY2k5U1pYTnBlbVZEYjI1MGNtOXNMbXB6SWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaWFXMXdiM0owSUZKbFlXTjBMQ0I3SUVaeVlXZHRaVzUwTENCUWRYSmxRMjl0Y0c5dVpXNTBJSDBnWm5KdmJTQW5jbVZoWTNRbk8xeHVYRzVwYlhCdmNuUWdleUJIYkc5aVlXd2dmU0JtY205dElDZEFaVzF2ZEdsdmJpOWpiM0psSnp0Y2JtbHRjRzl5ZENCeVlXWWdabkp2YlNBbmNtRm1MWE5qYUdRbk8xeHVYRzVwYlhCdmNuUWdleUIzYVhSb1FXNWhiSGwwYVdOelJYWmxiblJ6SUgwZ1puSnZiU0FuUUdGMGJHRnphMmwwTDJGdVlXeDVkR2xqY3kxdVpYaDBKenRjYm1sdGNHOXlkQ0JEYUdWMmNtOXVUR1ZtZENCbWNtOXRJQ2RBWVhSc1lYTnJhWFF2YVdOdmJpOW5iSGx3YUM5amFHVjJjbTl1TFd4bFpuUW5PMXh1YVcxd2IzSjBJRU5vWlhaeWIyNVNhV2RvZENCbWNtOXRJQ2RBWVhSc1lYTnJhWFF2YVdOdmJpOW5iSGx3YUM5amFHVjJjbTl1TFhKcFoyaDBKenRjYm1sdGNHOXlkQ0FxSUdGeklHTnZiRzl5Y3lCbWNtOXRJQ2RBWVhSc1lYTnJhWFF2ZEdobGJXVXZZMjlzYjNKekp6dGNibWx0Y0c5eWRDQlViMjlzZEdsd0lHWnliMjBnSjBCaGRHeGhjMnRwZEM5MGIyOXNkR2x3Snp0Y2JseHVhVzF3YjNKMElIc2dibUYyYVdkaGRHbHZia1Y0Y0dGdVpHVmtRMjlzYkdGd2MyVmtJSDBnWm5KdmJTQW5MaTR2TGk0dkxpNHZZMjl0Ylc5dUwyRnVZV3g1ZEdsamN5YzdYRzVwYlhCdmNuUWdlMXh1SUNCRFQwNVVSVTVVWDA1QlZsOVhTVVJVU0N4Y2JpQWdRMDlPVkVWT1ZGOU9RVlpmVjBsRVZFaGZRMDlNVEVGUVUwVkVMRnh1SUNCSFRFOUNRVXhmVGtGV1gwTlBURXhCVUZORlgxUklVa1ZUU0U5TVJDeGNiaUFnUjB4UFFrRk1YMDVCVmw5WFNVUlVTQ3hjYm4wZ1puSnZiU0FuTGk0dkxpNHZMaTR2WTI5dGJXOXVMMk52Ym5OMFlXNTBjeWM3WEc1cGJYQnZjblFnZXlCVGFHRmtiM2NnZlNCbWNtOXRJQ2N1TGk4dUxpOHVMaTlqYjIxdGIyNHZjSEpwYldsMGFYWmxjeWM3WEc1Y2JtTnZibk4wSUVoQlRrUk1SVjlQUmtaVFJWUWdQU0EwTzF4dVkyOXVjM1FnU1U1T1JWSmZWMGxFVkVnZ1BTQXlNRHRjYm1OdmJuTjBJRTlWVkVWU1gxZEpSRlJJSUQwZ1NVNU9SVkpmVjBsRVZFZ2dLeUJJUVU1RVRFVmZUMFpHVTBWVU8xeHVZMjl1YzNRZ1NFRk9SRXhGWDFkSlJGUklJRDBnTWp0Y2JtTnZibk4wSUhOb2IzVnNaRkpsYzJWMFIzSmhZa0Z5WldFZ1BTQjNhV1IwYUNBOVBpQjdYRzRnSUhKbGRIVnliaUIzYVdSMGFDQStQU0JIVEU5Q1FVeGZUa0ZXWDBOUFRFeEJVRk5GWDFSSVVrVlRTRTlNUkNBbUppQjNhV1IwYUNBOElFTlBUbFJGVGxSZlRrRldYMWRKUkZSSU8xeHVmVHRjYm1OdmJuTjBJSEJ5WlhabGJuUkVaV1poZFd4MElEMGdaWFpsYm5RZ1BUNGdaWFpsYm5RdWNISmxkbVZ1ZEVSbFptRjFiSFFvS1R0Y2JseHVaWGh3YjNKMElHTnZibk4wSUVKdlpIbEVjbUZuUTNWeWMyOXlJRDBnS0NrZ1BUNGdLRnh1SUNBOFIyeHZZbUZzWEc0Z0lDQWdjM1I1YkdWelBYdDdYRzRnSUNBZ0lDQmliMlI1T2lCN1hHNGdJQ0FnSUNBZ0lHTjFjbk52Y2pvZ0oyVjNMWEpsYzJsNlpTY3NYRzRnSUNBZ0lDQjlMRnh1SUNBZ0lIMTlYRzRnSUM4K1hHNHBPMXh1WEc1amIyNXpkQ0JQZFhSbGNpQTlJSEJ5YjNCeklEMCtJQ2hjYmlBZ1BHUnBkbHh1SUNBZ0lHTnpjejE3ZTF4dUlDQWdJQ0FnWW05MGRHOXRPaUF3TEZ4dUlDQWdJQ0FnYkdWbWREb2dKekV3TUNVbkxGeHVJQ0FnSUNBZ2NHOXphWFJwYjI0NklDZGhZbk52YkhWMFpTY3NYRzRnSUNBZ0lDQjBiM0E2SURBc1hHNGdJQ0FnSUNCMGNtRnVjMlp2Y20wNklDZDBjbUZ1YzJ4aGRHVmFLREFwSnl4Y2JpQWdJQ0FnSUhkcFpIUm9PaUJQVlZSRlVsOVhTVVJVU0N4Y2JpQWdJQ0FnSUhwSmJtUmxlRG9nTXl3Z0x5OGdhR2xuYUdWeUlIUm9ZVzRnZEdobElITmpjbTlzYkNCb2FXNTBJR3hwYm1WelhHNGdJQ0FnZlgxY2JpQWdJQ0I3TGk0dWNISnZjSE45WEc0Z0lDOCtYRzRwTzF4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnUjNKaFlrRnlaV0VnUFNBb2V5QnphRzkzU0dGdVpHeGxMQ0JwYzBKdmJHUXNJQzR1TG5CeWIzQnpJSDBwSUQwK0lDaGNiaUFnUEdScGRseHVJQ0FnSUdOemN6MTdlMXh1SUNBZ0lDQWdZM1Z5YzI5eU9pQW5aWGN0Y21WemFYcGxKeXhjYmlBZ0lDQWdJR2hsYVdkb2REb2dKekV3TUNVbkxGeHVJQ0FnSUNBZ2JHVm1kRG9nTFVoQlRrUk1SVjlQUmtaVFJWUXNYRzRnSUNBZ0lDQndiM05wZEdsdmJqb2dKM0psYkdGMGFYWmxKeXhjYmlBZ0lDQWdJSGRwWkhSb09pQlBWVlJGVWw5WFNVUlVTQ3hjYmlBZ0lDQjlmVnh1SUNBZ0lIc3VMaTV3Y205d2MzMWNiaUFnUGx4dUlDQWdJRHhrYVhaY2JpQWdJQ0FnSUdOemN6MTdlMXh1SUNBZ0lDQWdJQ0JpWVdOclozSnZkVzVrUTI5c2IzSTZJR2x6UW05c1pDQS9JR052Ykc5eWN5NUNNakF3SURvZ1kyOXNiM0p6TGtJeE1EQXNYRzRnSUNBZ0lDQWdJRzl3WVdOcGRIazZJSE5vYjNkSVlXNWtiR1VnUHlBeElEb2dNQ3hjYmlBZ0lDQWdJQ0FnYUdWcFoyaDBPaUFuTVRBd0pTY3NYRzRnSUNBZ0lDQWdJR3hsWm5RNklFaEJUa1JNUlY5UFJrWlRSVlFnTFNCSVFVNUVURVZmVjBsRVZFZ2dMeUF5TENBdkx5QjBhR1VnYUdGdVpHeGxJSE5vYjNWc1pDQmNJbk4wY21Ga1pHeGxYQ0lnZEdobElHUnBkbWxrYVc1bklHeHBibVZjYmlBZ0lDQWdJQ0FnY0c5emFYUnBiMjQ2SUNkaFluTnZiSFYwWlNjc1hHNGdJQ0FnSUNBZ0lIUnlZVzV6YVhScGIyNDZJQ2R2Y0dGamFYUjVJREl3TUcxekp5eGNiaUFnSUNBZ0lDQWdkMmxrZEdnNklFaEJUa1JNUlY5WFNVUlVTQ3hjYmlBZ0lDQWdJSDE5WEc0Z0lDQWdMejVjYmlBZ1BDOWthWFkrWEc0cE8xeHVZMjl1YzNRZ2JHRnlaMlZJYVhSQmNtVmhJRDBnZTF4dUlDQnNaV1owT2lBdE9DeGNiaUFnY21sbmFIUTZJQzB4TWl4Y2JpQWdZbTkwZEc5dE9pQXRPQ3hjYmlBZ2RHOXdPaUF0T0N4Y2JuMDdYRzVqYjI1emRDQnpiV0ZzYkVocGRFRnlaV0VnUFNCN1hHNGdJR3hsWm5RNklDMDBMRnh1SUNCeWFXZG9kRG9nTFRRc1hHNGdJR0p2ZEhSdmJUb2dMVFFzWEc0Z0lIUnZjRG9nTFRRc1hHNTlPMXh1WEc1amIyNXpkQ0JDZFhSMGIyNGdQU0FvZTF4dUlDQmphR2xzWkhKbGJpeGNiaUFnYUdGelNHbG5hR3hwWjJoMExGeHVJQ0JwYm01bGNsSmxaaXhjYmlBZ2FYTldhWE5wWW14bExGeHVJQ0JvYVhSQmNtVmhVMmw2WlN4Y2JpQWdMaTR1Y0hKdmNITmNibjBwSUQwK0lDaGNiaUFnUEdKMWRIUnZibHh1SUNBZ0lHTnNZWE56VG1GdFpUMWNJbUZyTFc1aGRtbG5ZWFJwYjI0dGNtVnphWHBsTFdKMWRIUnZibHdpWEc0Z0lDQWdkSGx3WlQxY0ltSjFkSFJ2Ymx3aVhHNGdJQ0FnY21WbVBYdHBibTVsY2xKbFpuMWNiaUFnSUNCamMzTTllM3RjYmlBZ0lDQWdJR0poWTJ0bmNtOTFibVE2SURBc1hHNGdJQ0FnSUNCaVlXTnJaM0p2ZFc1a1EyOXNiM0k2SUNkM2FHbDBaU2NzWEc0Z0lDQWdJQ0JpYjNKa1pYSTZJREFzWEc0Z0lDQWdJQ0JpYjNKa1pYSlNZV1JwZFhNNklDYzFNQ1VuTEZ4dUlDQWdJQ0FnWW05NFUyaGhaRzkzT2lCZ01DQXdJREFnTVhCNElDUjdZMjlzYjNKekxrNHpNRUY5TENBd0lESndlQ0EwY0hnZ01YQjRJQ1I3WTI5c2IzSnpMazR6TUVGOVlDeGNiaUFnSUNBZ0lHTnZiRzl5T2lCb1lYTklhV2RvYkdsbmFIUWdQeUJqYjJ4dmNuTXVRakV3TUNBNklHTnZiRzl5Y3k1T01qQXdMRnh1SUNBZ0lDQWdZM1Z5YzI5eU9pQW5jRzlwYm5SbGNpY3NYRzRnSUNBZ0lDQm9aV2xuYUhRNklESTBMRnh1SUNBZ0lDQWdiM0JoWTJsMGVUb2dhWE5XYVhOcFlteGxJRDhnTVNBNklEQXNYRzRnSUNBZ0lDQnZkWFJzYVc1bE9pQXdMRnh1SUNBZ0lDQWdjR0ZrWkdsdVp6b2dNQ3hjYmlBZ0lDQWdJSEJ2YzJsMGFXOXVPaUFuWVdKemIyeDFkR1VuTEZ4dUlDQWdJQ0FnZEc5d09pQXpNaXhjYmlBZ0lDQWdJSFJ5WVc1emFYUnBiMjQ2SUdCY2JpQWdJQ0FnSUNBZ1ltRmphMmR5YjNWdVpDMWpiMnh2Y2lBeE1EQnRjeUJzYVc1bFlYSXNYRzRnSUNBZ0lDQWdJR052Ykc5eUlERXdNRzF6SUd4cGJtVmhjaXhjYmlBZ0lDQWdJQ0FnYjNCaFkybDBlU0F6TURCdGN5QmpkV0pwWXkxaVpYcHBaWElvTUM0eUxDQXdMQ0F3TENBeEtTeGNiaUFnSUNBZ0lDQWdkSEpoYm5ObWIzSnRJRE13TUcxeklHTjFZbWxqTFdKbGVtbGxjaWd3TGpJc0lEQXNJREFzSURFcFhHNGdJQ0FnSUNCZ0xGeHVJQ0FnSUNBZ2RISmhibk5tYjNKdE9pQmdkSEpoYm5Oc1lYUmxLQzAxTUNVcFlDeGNiaUFnSUNBZ0lIZHBaSFJvT2lBeU5DeGNibHh1SUNBZ0lDQWdKenBvYjNabGNpYzZJSHRjYmlBZ0lDQWdJQ0FnWW1GamEyZHliM1Z1WkVOdmJHOXlPaUJqYjJ4dmNuTXVRakV3TUN4Y2JpQWdJQ0FnSUNBZ1kyOXNiM0k2SUNkM2FHbDBaU2NzWEc0Z0lDQWdJQ0I5TEZ4dUlDQWdJQ0FnSnpwaFkzUnBkbVVuT2lCN1hHNGdJQ0FnSUNBZ0lHSmhZMnRuY205MWJtUkRiMnh2Y2pvZ1kyOXNiM0p6TGtJeU1EQXNYRzRnSUNBZ0lDQWdJR052Ykc5eU9pQW5kMmhwZEdVbkxGeHVJQ0FnSUNBZ2ZTeGNiaUFnSUNBZ0lDYzZabTlqZFhNbk9pQjdYRzRnSUNBZ0lDQWdJRzl3WVdOcGRIazZJREVzWEc0Z0lDQWdJQ0FnSUdKaFkydG5jbTkxYm1SRGIyeHZjam9nWTI5c2IzSnpMa0l5TURBc1hHNGdJQ0FnSUNBZ0lHTnZiRzl5T2lBbmQyaHBkR1VuTEZ4dUlDQWdJQ0FnZlN4Y2JpQWdJQ0I5ZlZ4dUlDQWdJSHN1TGk1d2NtOXdjMzFjYmlBZ1BseHVJQ0FnSUR4a2FYWmNiaUFnSUNBZ0lDOHZJR2x1WTNKbFlYTmxJR2hwZEMxaGNtVmhYRzRnSUNBZ0lDQmpjM005ZTN0Y2JpQWdJQ0FnSUNBZ2NHOXphWFJwYjI0NklDZGhZbk52YkhWMFpTY3NYRzRnSUNBZ0lDQWdJQzR1TGlob2FYUkJjbVZoVTJsNlpTQTlQVDBnSjNOdFlXeHNKeUEvSUhOdFlXeHNTR2wwUVhKbFlTQTZJR3hoY21kbFNHbDBRWEpsWVNrc1hHNGdJQ0FnSUNCOWZWeHVJQ0FnSUM4K1hHNGdJQ0FnZTJOb2FXeGtjbVZ1ZlZ4dUlDQThMMkoxZEhSdmJqNWNiaWs3WEc1Y2JpOHZJSFJwYm10bGNpQjNhWFJvSUhSb1pTQkVUMDBnWkdseVpXTjBiSGtnWW5rZ2MyVjBkR2x1WnlCemRIbHNaU0J3Y205d1pYSjBhV1Z6TENCMWNHUmhkR1Z6SUhSb1pTQm5jbUZpSUdKaGNpQndiM05wZEdsdmJpQmllU0JqYUdGdVoybHVaeUJ3WVdSa2FXNW5MV3hsWm5RZ1lXNWtJSGRwWkhSb0xseHVablZ1WTNScGIyNGdkWEJrWVhSbFVtVnphWHBsUVhKbFlWQnZjMmwwYVc5dUtHVnNaVzFsYm5SekxDQjNhV1IwYUNrZ2UxeHVJQ0JsYkdWdFpXNTBjeTVtYjNKRllXTm9LQ2g3SUhCeWIzQmxjblI1TENCeVpXWWdmU2tnUFQ0Z2UxeHVJQ0FnSUdOdmJuTjBJRzVsZDFaaGJIVmxJRDBnWUNSN2QybGtkR2g5Y0hoZ08xeHVJQ0FnSUdOdmJuTjBJRzlzWkZaaGJIVmxJRDBnY21WbUxuTjBlV3hsTG1kbGRGQnliM0JsY25SNVZtRnNkV1VvY0hKdmNHVnlkSGtwTzF4dVhHNGdJQ0FnTHk4Z1lYWnZhV1FnZEdoeVlYTm9hVzVuWEc0Z0lDQWdhV1lnS0c5c1pGWmhiSFZsSUQwOVBTQnVaWGRXWVd4MVpTa2djbVYwZFhKdU8xeHVYRzRnSUNBZ0x5OGdaR2x5WldOMElHRjBkSEpwWW5WMFpTQnRZVzVwY0hWc1lYUnBiMjVjYmlBZ0lDQnlaV1l1YzNSNWJHVXVjMlYwVUhKdmNHVnlkSGtvY0hKdmNHVnlkSGtzSUc1bGQxWmhiSFZsS1R0Y2JpQWdmU2s3WEc1OVhHNWNiaTh2SUdobGJIQmxjaUJtYjNJZ2RHOXZiSFJwY0NCamIyNTBaVzUwSUd0bGVXSnZZWEprSUhOb2IzSjBZM1YwSUdocFoyaHNhV2RvZEZ4dVpuVnVZM1JwYjI0Z2JXRnJaVlJ2YjJ4MGFYQk9iMlJsS0hzZ2RHVjRkQ3dnWTJoaGNpQjlLU0I3WEc0Z0lISmxkSFZ5YmlBb1hHNGdJQ0FnUEdScGRseHVJQ0FnSUNBZ1kzTnpQWHQ3WEc0Z0lDQWdJQ0FnSUdGc2FXZHVTWFJsYlhNNklDZGlZWE5sYkdsdVpTY3NYRzRnSUNBZ0lDQWdJR1JwYzNCc1lYazZJQ2RtYkdWNEp5eGNiaUFnSUNBZ0lDQWdiR2x1WlVobGFXZG9kRG9nTVM0ekxGeHVJQ0FnSUNBZ0lDQndZV1JrYVc1blFtOTBkRzl0T2lBeExGeHVJQ0FnSUNBZ0lDQndZV1JrYVc1blZHOXdPaUF4TEZ4dUlDQWdJQ0FnZlgxY2JpQWdJQ0ErWEc0Z0lDQWdJQ0E4YzNCaGJqNTdkR1Y0ZEgwOEwzTndZVzQrWEc0Z0lDQWdJQ0E4WkdsMlhHNGdJQ0FnSUNBZ0lHTnpjejE3ZTF4dUlDQWdJQ0FnSUNBZ0lHSmhZMnRuY205MWJtUkRiMnh2Y2pvZ1kyOXNiM0p6TGs0ME1EQXNYRzRnSUNBZ0lDQWdJQ0FnWW05eVpHVnlVbUZrYVhWek9pQXlMRnh1SUNBZ0lDQWdJQ0FnSUd4cGJtVklaV2xuYUhRNklERXVNaXhjYmlBZ0lDQWdJQ0FnSUNCdFlYSm5hVzVNWldaME9pQTBMRnh1SUNBZ0lDQWdJQ0FnSUhCaFpHUnBibWM2SUNjeGNIZ2dPSEI0Snl4Y2JpQWdJQ0FnSUNBZ2ZYMWNiaUFnSUNBZ0lENWNiaUFnSUNBZ0lDQWdlMk5vWVhKOVhHNGdJQ0FnSUNBOEwyUnBkajVjYmlBZ0lDQThMMlJwZGo1Y2JpQWdLVHRjYm4xY2JseHVMeW9nVGs5VVJUb2daWGh3WlhKcGJXVnVkR0ZzSUhCeWIzQnpJSFZ6WlNCaGJpQjFibVJsY25OamIzSmxJQ292WEc1amJHRnpjeUJTWlhOcGVtVkRiMjUwY205c0lHVjRkR1Z1WkhNZ1VIVnlaVU52YlhCdmJtVnVkQ0I3WEc0Z0lHbHVkbUZzYVdSRWNtRm5RWFIwWlcxd2RHVmtJRDBnWm1Gc2MyVTdYRzVjYmlBZ2JHRnpkRmRwWkhSb08xeHVYRzRnSUhkeVlYQndaWEk3WEc1Y2JpQWdjM1JoZEdVZ1BTQjdYRzRnSUNBZ1pHVnNkR0U2SURBc1hHNGdJQ0FnWkdsa1JISmhaMDl3Wlc0NklHWmhiSE5sTEZ4dUlDQWdJR2x6UkhKaFoyZHBibWM2SUdaaGJITmxMRnh1SUNBZ0lHbHVhWFJwWVd4WGFXUjBhRG9nTUN4Y2JpQWdJQ0JwYm1sMGFXRnNXRG9nTUN4Y2JpQWdJQ0J0YjNWelpVbHpSRzkzYmpvZ1ptRnNjMlVzWEc0Z0lDQWdiVzkxYzJWSmMwOTJaWEpIY21GaVFYSmxZVG9nWm1Gc2MyVXNYRzRnSUNBZ2MyaHZkMGR5WVdKQmNtVmhPaUIwY25WbExGeHVJQ0FnSUhkcFpIUm9PaUIwYUdsekxuQnliM0J6TG01aGRtbG5ZWFJwYjI0dWMzUmhkR1V1Y0hKdlpIVmpkRTVoZGxkcFpIUm9MRnh1SUNCOU8xeHVYRzRnSUhOMFlYUnBZeUJrWldaaGRXeDBVSEp2Y0hNZ1BTQjdYRzRnSUNBZ2FYTkhjbUZpUVhKbFlVUnBjMkZpYkdWa09pQm1ZV3h6WlN4Y2JpQWdmVHRjYmx4dUlDQnpkR0YwYVdNZ1oyVjBSR1Z5YVhabFpGTjBZWFJsUm5KdmJWQnliM0J6S0hCeWIzQnpMQ0J6ZEdGMFpTa2dlMXh1SUNBZ0lHTnZibk4wSUh0Y2JpQWdJQ0FnSUM4dklHVnpiR2x1ZEMxa2FYTmhZbXhsTFc1bGVIUXRiR2x1WlNCallXMWxiR05oYzJWY2JpQWdJQ0FnSUdWNGNHVnlhVzFsYm5SaGJGOW1iSGx2ZFhSUGJraHZkbVZ5T2lCRldGQkZVa2xOUlU1VVFVeGZSa3haVDFWVVgwOU9YMGhQVmtWU0xGeHVJQ0FnSUNBZ1pteDViM1YwU1hOUGNHVnVMRnh1SUNBZ0lDQWdibUYyYVdkaGRHbHZiaXhjYmlBZ0lDQjlJRDBnY0hKdmNITTdYRzRnSUNBZ1kyOXVjM1FnZXlCcGMwTnZiR3hoY0hObFpDQjlJRDBnYm1GMmFXZGhkR2x2Ymk1emRHRjBaVHRjYmx4dUlDQWdJQzh2SUhKbGMyOXNkbVVnWENKb2IzWmxjaUJzYjJOcmFXNW5YQ0lnYVhOemRXVWdkMmwwYUNCeVpYTnBlbVVnWjNKaFlpQmhjbVZoWEc0Z0lDQWdhV1lnS0VWWVVFVlNTVTFGVGxSQlRGOUdURmxQVlZSZlQwNWZTRTlXUlZJcElIdGNiaUFnSUNBZ0lHTnZibk4wSUhOb2IzZEhjbUZpUVhKbFlTQTlJQ0ZwYzBOdmJHeGhjSE5sWkNBbUppQWhabXg1YjNWMFNYTlBjR1Z1TzF4dUlDQWdJQ0FnWTI5dWMzUWdiVzkxYzJWSmMwOTJaWEpIY21GaVFYSmxZU0E5SUhOb2IzZEhjbUZpUVhKbFlWeHVJQ0FnSUNBZ0lDQS9JSE4wWVhSbExtMXZkWE5sU1hOUGRtVnlSM0poWWtGeVpXRmNiaUFnSUNBZ0lDQWdPaUJtWVd4elpUdGNibHh1SUNBZ0lDQWdjbVYwZFhKdUlIdGNiaUFnSUNBZ0lDQWdiVzkxYzJWSmMwOTJaWEpIY21GaVFYSmxZU3hjYmlBZ0lDQWdJQ0FnYzJodmQwZHlZV0pCY21WaExGeHVJQ0FnSUNBZ2ZUdGNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnYm5Wc2JEdGNiaUFnZlZ4dVhHNGdJRzl1VW1WemFYcGxja05vWlhaeWIyNURiR2xqYXlBOUlDZ3BJRDArSUh0Y2JpQWdJQ0JqYjI1emRDQjBjbWxuWjJWeUlEMGdkR2hwY3k1d2NtOXdjeTVtYkhsdmRYUkpjMDl3Wlc0Z1B5QW5ZMmhsZG5KdmJraHZkbVZ5SnlBNklDZGphR1YyY205dUp6dGNiaUFnSUNCMGFHbHpMblJ2WjJkc1pVTnZiR3hoY0hObEtIUnlhV2RuWlhJcE8xeHVJQ0I5TzF4dVhHNGdJRzF2ZFhObFJXNTBaWEpIY21GaVFYSmxZU0E5SUNncElEMCtJSHRjYmlBZ0lDQjBhR2x6TG5ObGRGTjBZWFJsS0hzZ2JXOTFjMlZKYzA5MlpYSkhjbUZpUVhKbFlUb2dkSEoxWlNCOUtUdGNiaUFnZlR0Y2JseHVJQ0J0YjNWelpVeGxZWFpsUjNKaFlrRnlaV0VnUFNBb0tTQTlQaUI3WEc0Z0lDQWdkR2hwY3k1elpYUlRkR0YwWlNoN0lHMXZkWE5sU1hOUGRtVnlSM0poWWtGeVpXRTZJR1poYkhObElIMHBPMXh1SUNCOU8xeHVYRzRnSUhSdloyZHNaVU52Ykd4aGNITmxJRDBnZEhKcFoyZGxjaUE5UGlCN1hHNGdJQ0FnWTI5dWMzUWdleUJ1WVhacFoyRjBhVzl1TENCamNtVmhkR1ZCYm1Gc2VYUnBZM05GZG1WdWRDQjlJRDBnZEdocGN5NXdjbTl3Y3p0Y2JpQWdJQ0JqYjI1emRDQnVaWGREYjJ4c1lYQnpaV1JUZEdGMFpTQTlJQ0Z1WVhacFoyRjBhVzl1TG5OMFlYUmxMbWx6UTI5c2JHRndjMlZrTzF4dUlDQWdJRzVoZG1sbllYUnBiMjR1ZEc5bloyeGxRMjlzYkdGd2MyVW9LVHRjYmlBZ0lDQnVZWFpwWjJGMGFXOXVSWGh3WVc1a1pXUkRiMnhzWVhCelpXUW9ZM0psWVhSbFFXNWhiSGwwYVdOelJYWmxiblFzSUh0Y2JpQWdJQ0FnSUhSeWFXZG5aWElzWEc0Z0lDQWdJQ0JwYzBOdmJHeGhjSE5sWkRvZ2JtVjNRMjlzYkdGd2MyVmtVM1JoZEdVc1hHNGdJQ0FnZlNrN1hHNGdJSDA3WEc1Y2JpQWdhR0Z1Wkd4bFVtVnphWHBsVTNSaGNuUWdQU0JsZG1WdWRDQTlQaUI3WEc0Z0lDQWdZMjl1YzNRZ2FXNXBkR2xoYkZnZ1BTQmxkbVZ1ZEM1d1lXZGxXRHRjYmx4dUlDQWdJSFJvYVhNdWMyVjBVM1JoZEdVb2V5QnBibWwwYVdGc1dDd2diVzkxYzJWSmMwUnZkMjQ2SUhSeWRXVWdmU2s3WEc1Y2JpQWdJQ0F2THlCaGRIUmhZMmdnYUdGdVpHeGxjbk1nS0doaGJtUnNaVkpsYzJsNlpWTjBZWEowSUdseklHRWdZbTkxYm1RZ2RHOGdiMjVOYjNWelpVUnZkMjRwWEc0Z0lDQWdkMmx1Wkc5M0xtRmtaRVYyWlc1MFRHbHpkR1Z1WlhJb0oyMXZkWE5sYlc5MlpTY3NJSFJvYVhNdWFHRnVaR3hsVW1WemFYcGxLVHRjYmlBZ0lDQjNhVzVrYjNjdVlXUmtSWFpsYm5STWFYTjBaVzVsY2lnbmJXOTFjMlYxY0Njc0lIUm9hWE11YUdGdVpHeGxVbVZ6YVhwbFJXNWtLVHRjYmlBZ2ZUdGNibHh1SUNCcGJtbDBhV0ZzYVhwbFJISmhaeUE5SUdWMlpXNTBJRDArSUh0Y2JpQWdJQ0JqYjI1emRDQjdJRzVoZG1sbllYUnBiMjRnZlNBOUlIUm9hWE11Y0hKdmNITTdYRzRnSUNBZ1kyOXVjM1FnWkdWc2RHRWdQU0JsZG1WdWRDNXdZV2RsV0NBdElIUm9hWE11YzNSaGRHVXVhVzVwZEdsaGJGZzdYRzRnSUNBZ1kyOXVjM1FnZXlCcGMwTnZiR3hoY0hObFpDQjlJRDBnYm1GMmFXZGhkR2x2Ymk1emRHRjBaVHRjYmx4dUlDQWdJQzh2SUc5dWJIa2dhVzVwZEdsaGJHbDZaU0IzYUdWdUlHUnlZV2NnYVc1MFpXNTBhVzl1SUdseklGd2laWGh3WVc1a1hDSmNiaUFnSUNCcFppQW9hWE5EYjJ4c1lYQnpaV1FnSmlZZ1pHVnNkR0VnUEQwZ01Da2dlMXh1SUNBZ0lDQWdkR2hwY3k1cGJuWmhiR2xrUkhKaFowRjBkR1Z0Y0hSbFpDQTlJSFJ5ZFdVN1hHNGdJQ0FnSUNCeVpYUjFjbTQ3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdiR1YwSUdsdWFYUnBZV3hYYVdSMGFDQTlJRzVoZG1sbllYUnBiMjR1YzNSaGRHVXVjSEp2WkhWamRFNWhkbGRwWkhSb08xeHVJQ0FnSUd4bGRDQmthV1JFY21GblQzQmxiaUE5SUdaaGJITmxPMXh1WEc0Z0lDQWdMeThnVGs5VVJWeHVJQ0FnSUM4dklHbG1JSFJvWlNCd2NtOWtkV04wSUc1aGRpQnBjeUJqYjJ4c1lYQnpaV1FnWVc1a0lIUm9aU0JqYjI1emRXMWxjaUJ6ZEdGeWRITWdaSEpoWjJkcGJtY2dhWFFnYjNCbGJseHVJQ0FnSUM4dklIZGxJRzExYzNRZ1pYaHdZVzVrSUdsMElHRnVaQ0JrY21GbklITm9iM1ZzWkNCemRHRnlkQ0JtY205dElEQXVYRzRnSUNBZ2FXWWdLR2x6UTI5c2JHRndjMlZrS1NCN1hHNGdJQ0FnSUNCcGJtbDBhV0ZzVjJsa2RHZ2dQU0JEVDA1VVJVNVVYMDVCVmw5WFNVUlVTRjlEVDB4TVFWQlRSVVE3WEc0Z0lDQWdJQ0JrYVdSRWNtRm5UM0JsYmlBOUlIUnlkV1U3WEc0Z0lDQWdJQ0J1WVhacFoyRjBhVzl1TG0xaGJuVmhiRkpsYzJsNlpWTjBZWEowS0h0Y2JpQWdJQ0FnSUNBZ2NISnZaSFZqZEU1aGRsZHBaSFJvT2lCRFQwNVVSVTVVWDA1QlZsOVhTVVJVU0Y5RFQweE1RVkJUUlVRc1hHNGdJQ0FnSUNBZ0lHbHpRMjlzYkdGd2MyVmtPaUJtWVd4elpTeGNiaUFnSUNBZ0lIMHBPMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNCdVlYWnBaMkYwYVc5dUxtMWhiblZoYkZKbGMybDZaVk4wWVhKMEtHNWhkbWxuWVhScGIyNHVjM1JoZEdVcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhSb2FYTXVjMlYwVTNSaGRHVW9leUJrYVdSRWNtRm5UM0JsYml3Z2FXNXBkR2xoYkZkcFpIUm9MQ0JwYzBSeVlXZG5hVzVuT2lCMGNuVmxJSDBwTzF4dUlDQjlPMXh1WEc0Z0lHaGhibVJzWlZKbGMybDZaU0E5SUhKaFppaGxkbVZ1ZENBOVBpQjdYRzRnSUNBZ1kyOXVjM1FnZXlCdGRYUmhkR2x2YmxKbFpuTWdmU0E5SUhSb2FYTXVjSEp2Y0hNN1hHNGdJQ0FnWTI5dWMzUWdleUJwYm1sMGFXRnNXQ3dnYVc1cGRHbGhiRmRwWkhSb0xDQnBjMFJ5WVdkbmFXNW5MQ0J0YjNWelpVbHpSRzkzYmlCOUlEMGdkR2hwY3k1emRHRjBaVHRjYmx4dUlDQWdJQzh2SUc5dUlHOWpZMkZ6YVc5dUlHRWdiVzkxYzJVZ2JXOTJaU0JsZG1WdWRDQnZZMk4xY25NZ1ltVm1iM0psSUhSb1pTQmxkbVZ1ZENCc2FYTjBaVzVsY25OY2JpQWdJQ0F2THlCb1lYWmxJR0VnWTJoaGJtTmxJSFJ2SUdSbGRHRmphRnh1SUNBZ0lHbG1JQ2doYlc5MWMyVkpjMFJ2ZDI0cElISmxkSFZ5Ymp0Y2JseHVJQ0FnSUM4dklHbHVhWFJwWVd4cGVtVWdaSEpoWjJkcGJtZGNiaUFnSUNCcFppQW9JV2x6UkhKaFoyZHBibWNwSUh0Y2JpQWdJQ0FnSUhSb2FYTXVhVzVwZEdsaGJHbDZaVVJ5WVdjb1pYWmxiblFwTzF4dUlDQWdJQ0FnY21WMGRYSnVPMXh1SUNBZ0lIMWNibHh1SUNBZ0lDOHZJR0ZzYkc5M0lIUm9aU0J3Y205a2RXTjBJRzVoZGlCMGJ5QmlaU0EzTlNVZ2IyWWdkR2hsSUdGMllXbHNZV0pzWlNCd1lXZGxJSGRwWkhSb1hHNGdJQ0FnWTI5dWMzUWdiV0Y0VjJsa2RHZ2dQU0JOWVhSb0xuSnZkVzVrS0NoM2FXNWtiM2N1YVc1dVpYSlhhV1IwYUNBdklEUXBJQ29nTXlrN1hHNGdJQ0FnWTI5dWMzUWdiV2x1VjJsa2RHZ2dQU0JEVDA1VVJVNVVYMDVCVmw5WFNVUlVTRjlEVDB4TVFWQlRSVVE3WEc0Z0lDQWdZMjl1YzNRZ1lXUnFkWE4wWldSTllYZ2dQU0J0WVhoWGFXUjBhQ0F0SUdsdWFYUnBZV3hYYVdSMGFDQXRJRWRNVDBKQlRGOU9RVlpmVjBsRVZFZzdYRzRnSUNBZ1kyOXVjM1FnWVdScWRYTjBaV1JOYVc0Z1BTQnRhVzVYYVdSMGFDQXRJR2x1YVhScFlXeFhhV1IwYUR0Y2JseHVJQ0FnSUdOdmJuTjBJR1JsYkhSaElEMGdUV0YwYUM1dFlYZ29YRzRnSUNBZ0lDQk5ZWFJvTG0xcGJpaGxkbVZ1ZEM1d1lXZGxXQ0F0SUdsdWFYUnBZV3hZTENCaFpHcDFjM1JsWkUxaGVDa3NYRzRnSUNBZ0lDQmhaR3AxYzNSbFpFMXBiaXhjYmlBZ0lDQXBPMXh1SUNBZ0lHTnZibk4wSUhkcFpIUm9JRDBnYVc1cGRHbGhiRmRwWkhSb0lDc2daR1ZzZEdFN1hHNWNiaUFnSUNBdkx5QmhjSEJzZVNCMWNHUmhkR1ZrSUhOMGVXeGxjeUIwYnlCMGFHVWdZWEJ3YkdsallXSnNaU0JFVDAwZ2JtOWtaWE5jYmlBZ0lDQjFjR1JoZEdWU1pYTnBlbVZCY21WaFVHOXphWFJwYjI0b2JYVjBZWFJwYjI1U1pXWnpMQ0IzYVdSMGFDazdYRzVjYmlBZ0lDQXZMeUJPVDFSRk9pQm9hV3BoWTJzZ2RHaGxJRzFoZFdGc0lISmxjMmw2WlNCaGJtUWdabTl5WTJVZ1kyOXNiR0Z3YzJVc0lHTmhibU5sYkhNZ2JXOTFjMlVnWlhabGJuUnpYRzRnSUNBZ2FXWWdLR1YyWlc1MExtTnNhV1Z1ZEZnZ1BDQXdLU0I3WEc0Z0lDQWdJQ0IwYUdsekxuTmxkRk4wWVhSbEtIc2dkMmxrZEdnNklFTlBUbFJGVGxSZlRrRldYMWRKUkZSSVgwTlBURXhCVUZORlJDQjlLVHRjYmlBZ0lDQWdJSFJvYVhNdWFHRnVaR3hsVW1WemFYcGxSVzVrS0NrN1hHNGdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJQzh2SUcxaGFXNTBZV2x1SUdsdWRHVnlibUZzSUhkcFpIUm9MQ0JoY0hCc2FXVmtJSFJ2SUc1aGRtbG5ZWFJwYjI0Z2MzUmhkR1VnYjI0Z2NtVnphWHBsSUdWdVpGeHVJQ0FnSUNBZ2RHaHBjeTV6WlhSVGRHRjBaU2g3SUdSbGJIUmhMQ0IzYVdSMGFDQjlLVHRjYmlBZ0lDQjlYRzRnSUgwcE8xeHVYRzRnSUdoaGJtUnNaVkpsYzJsNlpVVnVaQ0E5SUNncElEMCtJSHRjYmlBZ0lDQmpiMjV6ZENCN0lHNWhkbWxuWVhScGIyNHNJR055WldGMFpVRnVZV3g1ZEdsamMwVjJaVzUwSUgwZ1BTQjBhR2x6TG5CeWIzQnpPMXh1SUNBZ0lHTnZibk4wSUhzZ1pHVnNkR0VzSUdScFpFUnlZV2RQY0dWdUxDQnBjMFJ5WVdkbmFXNW5MQ0IzYVdSMGFEb2dZM1Z5Y21WdWRGZHBaSFJvSUgwZ1BTQjBhR2x6TG5OMFlYUmxPMXh1SUNBZ0lHTnZibk4wSUdWNGNHRnVaRlJvY21WemFHOXNaQ0E5SURJME8xeHVJQ0FnSUdOdmJuTjBJSEpsYzJsNlpYSkRiR2xqYTJWa0lEMGdJV2x6UkhKaFoyZHBibWNnSmlZZ0lYUm9hWE11YVc1MllXeHBaRVJ5WVdkQmRIUmxiWEIwWldRN1hHNGdJQ0FnYkdWMElIQjFZbXhwYzJoWGFXUjBhQ0E5SUdOMWNuSmxiblJYYVdSMGFEdGNiaUFnSUNCc1pYUWdjMmh2ZFd4a1EyOXNiR0Z3YzJVZ1BTQm1ZV3h6WlR0Y2JseHVJQ0FnSUM4dklHTm9aV05ySUdsbUlIUm9aU0JwYm5SbGJuUnBiMjRnZDJGeklHcDFjM1FnWVNCamJHbGpheXdnWVc1a0lIUnZaMmRzWlZ4dUlDQWdJR2xtSUNoeVpYTnBlbVZ5UTJ4cFkydGxaQ2tnZTF4dUlDQWdJQ0FnY0hWaWJHbHphRmRwWkhSb0lEMGdUV0YwYUM1dFlYZ29RMDlPVkVWT1ZGOU9RVlpmVjBsRVZFZ3NJR04xY25KbGJuUlhhV1IwYUNrN1hHNGdJQ0FnSUNCMGFHbHpMblJ2WjJkc1pVTnZiR3hoY0hObEtDZHlaWE5wZW1WeVEyeHBZMnNuS1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0F2THlCd2NtVjJaVzUwSUhSb1pTQjFjMlZ5SUdaeWIyMGdZM0psWVhScGJtY2dZVzRnZFc1MWMyRmliR1VnZDJsa2RHaGNiaUFnSUNCcFppQW9jSFZpYkdsemFGZHBaSFJvSUR3Z1EwOU9WRVZPVkY5T1FWWmZWMGxFVkVncElIdGNiaUFnSUNBZ0lIQjFZbXhwYzJoWGFXUjBhQ0E5SUVOUFRsUkZUbFJmVGtGV1gxZEpSRlJJTzF4dUlDQWdJQ0FnYVdZZ0tHUnBaRVJ5WVdkUGNHVnVJQ1ltSUdSbGJIUmhJRDRnWlhod1lXNWtWR2h5WlhOb2IyeGtLU0I3WEc0Z0lDQWdJQ0FnSUhOb2IzVnNaRU52Ykd4aGNITmxJRDBnWm1Gc2MyVTdYRzRnSUNBZ0lDQjlJR1ZzYzJVZ2FXWWdLR04xY25KbGJuUlhhV1IwYUNBOElFZE1UMEpCVEY5T1FWWmZRMDlNVEVGUVUwVmZWRWhTUlZOSVQweEVLU0I3WEc0Z0lDQWdJQ0FnSUhOb2IzVnNaRU52Ykd4aGNITmxJRDBnZEhKMVpUdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnYzJodmRXeGtRMjlzYkdGd2MyVWdQU0J1WVhacFoyRjBhVzl1TG5OMFlYUmxMbWx6UTI5c2JHRndjMlZrTzF4dUlDQWdJSDFjYmx4dUlDQWdJR2xtSUNoY2JpQWdJQ0FnSUNGeVpYTnBlbVZ5UTJ4cFkydGxaQ0FtSmx4dUlDQWdJQ0FnS0Noa2FXUkVjbUZuVDNCbGJpQW1KaUFoYzJodmRXeGtRMjlzYkdGd2MyVXBJSHg4SUNnaFpHbGtSSEpoWjA5d1pXNGdKaVlnYzJodmRXeGtRMjlzYkdGd2MyVXBLVnh1SUNBZ0lDa2dlMXh1SUNBZ0lDQWdibUYyYVdkaGRHbHZia1Y0Y0dGdVpHVmtRMjlzYkdGd2MyVmtLR055WldGMFpVRnVZV3g1ZEdsamMwVjJaVzUwTENCN1hHNGdJQ0FnSUNBZ0lIUnlhV2RuWlhJNklDZHlaWE5wZW1WeVJISmhaeWNzWEc0Z0lDQWdJQ0FnSUdselEyOXNiR0Z3YzJWa09pQnphRzkxYkdSRGIyeHNZWEJ6WlN4Y2JpQWdJQ0FnSUgwcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUM4dklISmxjMlYwSUdWMlpYSjVkR2hwYm1kY2JpQWdJQ0IwYUdsekxtbHVkbUZzYVdSRWNtRm5RWFIwWlcxd2RHVmtJRDBnWm1Gc2MyVTdYRzRnSUNBZ2RHaHBjeTV6WlhSVGRHRjBaU2g3WEc0Z0lDQWdJQ0JrYVdSRWNtRm5UM0JsYmpvZ1ptRnNjMlVzWEc0Z0lDQWdJQ0JwYzBSeVlXZG5hVzVuT2lCbVlXeHpaU3hjYmlBZ0lDQWdJRzF2ZFhObFNYTkViM2R1T2lCbVlXeHpaU3hjYmlBZ0lDQWdJSGRwWkhSb09pQndkV0pzYVhOb1YybGtkR2dzWEc0Z0lDQWdmU2s3WEc1Y2JpQWdJQ0F2THlCd2RXSnNhWE5vSUhSb1pTQnVaWGNnZDJsa2RHZ3NJRzl1WTJVZ2NtVnphWHBwYm1jZ1kyOXRjR3hsZEdWelhHNGdJQ0FnYm1GMmFXZGhkR2x2Ymk1dFlXNTFZV3hTWlhOcGVtVkZibVFvZTF4dUlDQWdJQ0FnY0hKdlpIVmpkRTVoZGxkcFpIUm9PaUJ3ZFdKc2FYTm9WMmxrZEdnc1hHNGdJQ0FnSUNCcGMwTnZiR3hoY0hObFpEb2djMmh2ZFd4a1EyOXNiR0Z3YzJVc1hHNGdJQ0FnZlNrN1hHNWNiaUFnSUNCcFppQW9jMmh2ZFd4a1VtVnpaWFJIY21GaVFYSmxZU2hqZFhKeVpXNTBWMmxrZEdncEtTQjdYRzRnSUNBZ0lDQjFjR1JoZEdWU1pYTnBlbVZCY21WaFVHOXphWFJwYjI0b2RHaHBjeTV3Y205d2N5NXRkWFJoZEdsdmJsSmxabk1zSUVOUFRsUkZUbFJmVGtGV1gxZEpSRlJJS1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0F2THlCamJHVmhiblZ3WEc0Z0lDQWdkMmx1Wkc5M0xuSmxiVzkyWlVWMlpXNTBUR2x6ZEdWdVpYSW9KMjF2ZFhObGJXOTJaU2NzSUhSb2FYTXVhR0Z1Wkd4bFVtVnphWHBsS1R0Y2JpQWdJQ0IzYVc1a2IzY3VjbVZ0YjNabFJYWmxiblJNYVhOMFpXNWxjaWduYlc5MWMyVjFjQ2NzSUhSb2FYTXVhR0Z1Wkd4bFVtVnphWHBsUlc1a0tUdGNiaUFnZlR0Y2JseHVJQ0J5Wlc1a1pYSW9LU0I3WEc0Z0lDQWdZMjl1YzNRZ2UxeHVJQ0FnSUNBZ2FYTkVjbUZuWjJsdVp5eGNiaUFnSUNBZ0lHMXZkWE5sU1hORWIzZHVMRnh1SUNBZ0lDQWdiVzkxYzJWSmMwOTJaWEpIY21GaVFYSmxZU3hjYmlBZ0lDQWdJSE5vYjNkSGNtRmlRWEpsWVN4Y2JpQWdJQ0I5SUQwZ2RHaHBjeTV6ZEdGMFpUdGNiaUFnSUNCamIyNXpkQ0I3WEc0Z0lDQWdJQ0JqYjJ4c1lYQnpaVlJ2WjJkc1pWUnZiMngwYVhCRGIyNTBaVzUwTEZ4dUlDQWdJQ0FnWlhod1lXNWtRMjlzYkdGd2MyVkJabVp2Y21SaGJtTmxVbVZtTEZ4dUlDQWdJQ0FnWm14NWIzVjBTWE5QY0dWdUxGeHVJQ0FnSUNBZ2FYTkVhWE5oWW14bFpEb2dhWE5TWlhOcGVtVkVhWE5oWW14bFpDeGNiaUFnSUNBZ0lHbHpSM0poWWtGeVpXRkVhWE5oWW14bFpDeGNiaUFnSUNBZ0lHOXVUVzkxYzJWUGRtVnlRblYwZEc5dVFuVm1abVZ5TEZ4dUlDQWdJQ0FnYm1GMmFXZGhkR2x2Yml4Y2JpQWdJQ0I5SUQwZ2RHaHBjeTV3Y205d2N6dGNiaUFnSUNCamIyNXpkQ0I3SUdselEyOXNiR0Z3YzJWa0lIMGdQU0J1WVhacFoyRjBhVzl1TG5OMFlYUmxPMXh1WEc0Z0lDQWdMeThnZEdobElHSjFkSFJ2YmlCemFHOTFiR1J1SjNRZ1hDSm1iR2x3WENJZ2RXNTBhV3dnZEdobElHUnlZV2NnYVhNZ1kyOXRjR3hsZEdWY2JpQWdJQ0JzWlhRZ1FuVjBkRzl1U1dOdmJpQTlJRU5vWlhaeWIyNU1aV1owTzF4dUlDQWdJR2xtSUNocGMwTnZiR3hoY0hObFpDa2dRblYwZEc5dVNXTnZiaUE5SUVOb1pYWnliMjVTYVdkb2REdGNibHh1SUNBZ0lHTnZibk4wSUdKMWRIUnZiaUE5SUNoY2JpQWdJQ0FnSUR4Q2RYUjBiMjVjYmlBZ0lDQWdJQ0FnYjI1RGJHbGphejE3ZEdocGN5NXZibEpsYzJsNlpYSkRhR1YyY205dVEyeHBZMnQ5WEc0Z0lDQWdJQ0FnSUc5dVRXOTFjMlZFYjNkdVBYdHdjbVYyWlc1MFJHVm1ZWFZzZEgxY2JpQWdJQ0FnSUNBZ2FHbDBRWEpsWVZOcGVtVTllMjl1VFc5MWMyVlBkbVZ5UW5WMGRHOXVRblZtWm1WeUlEOGdKMnhoY21kbEp5QTZJQ2R6YldGc2JDZDlYRzRnSUNBZ0lDQWdJQzh2SUcxaGFXNTBZV2x1SUhOMGVXeGxjeUIzYUdWdUlIVnpaWElnYVhNZ1pISmhaMmRwYm1kY2JpQWdJQ0FnSUNBZ2FYTldhWE5wWW14bFBYdHBjME52Ykd4aGNITmxaQ0I4ZkNCdGIzVnpaVWx6Ukc5M2JuMWNiaUFnSUNBZ0lDQWdhR0Z6U0dsbmFHeHBaMmgwUFh0dGIzVnpaVWx6Ukc5M2JpQjhmQ0J0YjNWelpVbHpUM1psY2tkeVlXSkJjbVZoZlZ4dUlDQWdJQ0FnSUNCcGJtNWxjbEpsWmoxN1pYaHdZVzVrUTI5c2JHRndjMlZCWm1admNtUmhibU5sVW1WbWZWeHVJQ0FnSUNBZ0lDQmhjbWxoTFdWNGNHRnVaR1ZrUFhzaGFYTkRiMnhzWVhCelpXUjlYRzRnSUNBZ0lDQWdJR0Z5YVdFdGJHRmlaV3c5WENKVWIyZG5iR1VnYm1GMmFXZGhkR2x2Ymx3aVhHNGdJQ0FnSUNBK1hHNGdJQ0FnSUNBZ0lEeENkWFIwYjI1SlkyOXVJQzgrWEc0Z0lDQWdJQ0E4TDBKMWRIUnZiajVjYmlBZ0lDQXBPMXh1SUNBZ0lHTnZibk4wSUhOb1lXUnZkMFJwY21WamRHbHZiaUE5SUdac2VXOTFkRWx6VDNCbGJpQS9JQ2QwYnlCeWFXZG9kQ2NnT2lBbmRHOGdiR1ZtZENjN1hHNWNiaUFnSUNCeVpYUjFjbTRnS0Z4dUlDQWdJQ0FnUEU5MWRHVnlQbHh1SUNBZ0lDQWdJQ0I3YVhORWNtRm5aMmx1WnlBbUppQThRbTlrZVVSeVlXZERkWEp6YjNJZ0x6NTlYRzRnSUNBZ0lDQWdJRHhUYUdGa2IzY2daR2x5WldOMGFXOXVQWHR6YUdGa2IzZEVhWEpsWTNScGIyNTlJR2x6UW05c1pEMTdiVzkxYzJWSmMwUnZkMjU5SUM4K1hHNGdJQ0FnSUNBZ0lIc2hhWE5TWlhOcGVtVkVhWE5oWW14bFpDQW1KaUFvWEc0Z0lDQWdJQ0FnSUNBZ1BFWnlZV2R0Wlc1MFBseHVJQ0FnSUNBZ0lDQWdJQ0FnZXlGcGMwZHlZV0pCY21WaFJHbHpZV0pzWldRZ0ppWWdjMmh2ZDBkeVlXSkJjbVZoSUNZbUlDaGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ1BFZHlZV0pCY21WaFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2FYTkNiMnhrUFh0dGIzVnpaVWx6Ukc5M2JuMWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnphRzkzU0dGdVpHeGxQWHR0YjNWelpVbHpSRzkzYmlCOGZDQnRiM1Z6WlVselQzWmxja2R5WVdKQmNtVmhmVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRzl1VFc5MWMyVkZiblJsY2oxN2RHaHBjeTV0YjNWelpVVnVkR1Z5UjNKaFlrRnlaV0Y5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYjI1TmIzVnpaVXhsWVhabFBYdDBhR2x6TG0xdmRYTmxUR1ZoZG1WSGNtRmlRWEpsWVgxY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCdmJrMXZkWE5sUkc5M2JqMTdkR2hwY3k1b1lXNWtiR1ZTWlhOcGVtVlRkR0Z5ZEgxY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnTHo1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ2w5WEc0Z0lDQWdJQ0FnSUNBZ0lDQThaR2wySUc5dVRXOTFjMlZQZG1WeVBYc2habXg1YjNWMFNYTlBjR1Z1SUQ4Z2IyNU5iM1Z6WlU5MlpYSkNkWFIwYjI1Q2RXWm1aWElnT2lCdWRXeHNmVDVjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdlMk52Ykd4aGNITmxWRzluWjJ4bFZHOXZiSFJwY0VOdmJuUmxiblFnUHlBb1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1BGUnZiMngwYVhCY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHTnZiblJsYm5ROWUyMWhhMlZVYjI5c2RHbHdUbTlrWlNoY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZMjlzYkdGd2MyVlViMmRuYkdWVWIyOXNkR2x3UTI5dWRHVnVkQ2hwYzBOdmJHeGhjSE5sWkNrc1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQXBmVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWkdWc1lYazllell3TUgxY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHaHBaR1ZVYjI5c2RHbHdUMjVEYkdsamExeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjRzl6YVhScGIyNDlYQ0p5YVdkb2RGd2lYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdQbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZTJKMWRIUnZibjFjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0E4TDFSdmIyeDBhWEErWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ2tnT2lBb1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1luVjBkRzl1WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ2w5WEc0Z0lDQWdJQ0FnSUNBZ0lDQThMMlJwZGo1Y2JpQWdJQ0FnSUNBZ0lDQThMMFp5WVdkdFpXNTBQbHh1SUNBZ0lDQWdJQ0FwZlZ4dUlDQWdJQ0FnUEM5UGRYUmxjajVjYmlBZ0lDQXBPMXh1SUNCOVhHNTlYRzVjYm1WNGNHOXlkQ0I3SUZKbGMybDZaVU52Ym5SeWIyd2dZWE1nVW1WemFYcGxRMjl1ZEhKdmJFSmhjMlVnZlR0Y2JseHVaWGh3YjNKMElHUmxabUYxYkhRZ2QybDBhRUZ1WVd4NWRHbGpjMFYyWlc1MGN5Z3BLRkpsYzJsNlpVTnZiblJ5YjJ3cE8xeHVJbDE5ICovXCJcbn07XG5cbmZ1bmN0aW9uIG1ha2VUb29sdGlwTm9kZShfcmVmNCkge1xuICB2YXIgdGV4dCA9IF9yZWY0LnRleHQsXG4gICAgICBjaGFyID0gX3JlZjQuY2hhcjtcbiAgcmV0dXJuIF9fX0Vtb3Rpb25KU1goXCJkaXZcIiwge1xuICAgIGNzczogX3JlZjVcbiAgfSwgX19fRW1vdGlvbkpTWChcInNwYW5cIiwgbnVsbCwgdGV4dCksIF9fX0Vtb3Rpb25KU1goXCJkaXZcIiwge1xuICAgIGNzczpcbiAgICAvKiNfX1BVUkVfXyovXG4gICAgX2Nzcyh7XG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6IGNvbG9ycy5ONDAwLFxuICAgICAgYm9yZGVyUmFkaXVzOiAyLFxuICAgICAgbGluZUhlaWdodDogMS4yLFxuICAgICAgbWFyZ2luTGVmdDogNCxcbiAgICAgIHBhZGRpbmc6ICcxcHggOHB4J1xuICAgIH0sIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IFwiXCIgOiBcIi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpNHVMeTR1THk0dUx5NHVMeTR1TDNOeVl5OWpiMjF3YjI1bGJuUnpMM0J5WlhObGJuUmhkR2x2Ym1Gc0wweGhlVzkxZEUxaGJtRm5aWEl2VW1WemFYcGxRMjl1ZEhKdmJDNXFjeUpkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZ4VEZFaUxDSm1hV3hsSWpvaUxpNHZMaTR2TGk0dkxpNHZMaTR2YzNKakwyTnZiWEJ2Ym1WdWRITXZjSEpsYzJWdWRHRjBhVzl1WVd3dlRHRjViM1YwVFdGdVlXZGxjaTlTWlhOcGVtVkRiMjUwY205c0xtcHpJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpYVcxd2IzSjBJRkpsWVdOMExDQjdJRVp5WVdkdFpXNTBMQ0JRZFhKbFEyOXRjRzl1Wlc1MElIMGdabkp2YlNBbmNtVmhZM1FuTzF4dVhHNXBiWEJ2Y25RZ2V5QkhiRzlpWVd3Z2ZTQm1jbTl0SUNkQVpXMXZkR2x2Ymk5amIzSmxKenRjYm1sdGNHOXlkQ0J5WVdZZ1puSnZiU0FuY21GbUxYTmphR1FuTzF4dVhHNXBiWEJ2Y25RZ2V5QjNhWFJvUVc1aGJIbDBhV056UlhabGJuUnpJSDBnWm5KdmJTQW5RR0YwYkdGemEybDBMMkZ1WVd4NWRHbGpjeTF1WlhoMEp6dGNibWx0Y0c5eWRDQkRhR1YyY205dVRHVm1kQ0JtY205dElDZEFZWFJzWVhOcmFYUXZhV052Ymk5bmJIbHdhQzlqYUdWMmNtOXVMV3hsWm5Rbk8xeHVhVzF3YjNKMElFTm9aWFp5YjI1U2FXZG9kQ0JtY205dElDZEFZWFJzWVhOcmFYUXZhV052Ymk5bmJIbHdhQzlqYUdWMmNtOXVMWEpwWjJoMEp6dGNibWx0Y0c5eWRDQXFJR0Z6SUdOdmJHOXljeUJtY205dElDZEFZWFJzWVhOcmFYUXZkR2hsYldVdlkyOXNiM0p6Snp0Y2JtbHRjRzl5ZENCVWIyOXNkR2x3SUdaeWIyMGdKMEJoZEd4aGMydHBkQzkwYjI5c2RHbHdKenRjYmx4dWFXMXdiM0owSUhzZ2JtRjJhV2RoZEdsdmJrVjRjR0Z1WkdWa1EyOXNiR0Z3YzJWa0lIMGdabkp2YlNBbkxpNHZMaTR2TGk0dlkyOXRiVzl1TDJGdVlXeDVkR2xqY3ljN1hHNXBiWEJ2Y25RZ2UxeHVJQ0JEVDA1VVJVNVVYMDVCVmw5WFNVUlVTQ3hjYmlBZ1EwOU9WRVZPVkY5T1FWWmZWMGxFVkVoZlEwOU1URUZRVTBWRUxGeHVJQ0JIVEU5Q1FVeGZUa0ZXWDBOUFRFeEJVRk5GWDFSSVVrVlRTRTlNUkN4Y2JpQWdSMHhQUWtGTVgwNUJWbDlYU1VSVVNDeGNibjBnWm5KdmJTQW5MaTR2TGk0dkxpNHZZMjl0Ylc5dUwyTnZibk4wWVc1MGN5YzdYRzVwYlhCdmNuUWdleUJUYUdGa2IzY2dmU0JtY205dElDY3VMaTh1TGk4dUxpOWpiMjF0YjI0dmNISnBiV2wwYVhabGN5YzdYRzVjYm1OdmJuTjBJRWhCVGtSTVJWOVBSa1pUUlZRZ1BTQTBPMXh1WTI5dWMzUWdTVTVPUlZKZlYwbEVWRWdnUFNBeU1EdGNibU52Ym5OMElFOVZWRVZTWDFkSlJGUklJRDBnU1U1T1JWSmZWMGxFVkVnZ0t5QklRVTVFVEVWZlQwWkdVMFZVTzF4dVkyOXVjM1FnU0VGT1JFeEZYMWRKUkZSSUlEMGdNanRjYm1OdmJuTjBJSE5vYjNWc1pGSmxjMlYwUjNKaFlrRnlaV0VnUFNCM2FXUjBhQ0E5UGlCN1hHNGdJSEpsZEhWeWJpQjNhV1IwYUNBK1BTQkhURTlDUVV4ZlRrRldYME5QVEV4QlVGTkZYMVJJVWtWVFNFOU1SQ0FtSmlCM2FXUjBhQ0E4SUVOUFRsUkZUbFJmVGtGV1gxZEpSRlJJTzF4dWZUdGNibU52Ym5OMElIQnlaWFpsYm5SRVpXWmhkV3gwSUQwZ1pYWmxiblFnUFQ0Z1pYWmxiblF1Y0hKbGRtVnVkRVJsWm1GMWJIUW9LVHRjYmx4dVpYaHdiM0owSUdOdmJuTjBJRUp2WkhsRWNtRm5RM1Z5YzI5eUlEMGdLQ2tnUFQ0Z0tGeHVJQ0E4UjJ4dlltRnNYRzRnSUNBZ2MzUjViR1Z6UFh0N1hHNGdJQ0FnSUNCaWIyUjVPaUI3WEc0Z0lDQWdJQ0FnSUdOMWNuTnZjam9nSjJWM0xYSmxjMmw2WlNjc1hHNGdJQ0FnSUNCOUxGeHVJQ0FnSUgxOVhHNGdJQzgrWEc0cE8xeHVYRzVqYjI1emRDQlBkWFJsY2lBOUlIQnliM0J6SUQwK0lDaGNiaUFnUEdScGRseHVJQ0FnSUdOemN6MTdlMXh1SUNBZ0lDQWdZbTkwZEc5dE9pQXdMRnh1SUNBZ0lDQWdiR1ZtZERvZ0p6RXdNQ1VuTEZ4dUlDQWdJQ0FnY0c5emFYUnBiMjQ2SUNkaFluTnZiSFYwWlNjc1hHNGdJQ0FnSUNCMGIzQTZJREFzWEc0Z0lDQWdJQ0IwY21GdWMyWnZjbTA2SUNkMGNtRnVjMnhoZEdWYUtEQXBKeXhjYmlBZ0lDQWdJSGRwWkhSb09pQlBWVlJGVWw5WFNVUlVTQ3hjYmlBZ0lDQWdJSHBKYm1SbGVEb2dNeXdnTHk4Z2FHbG5hR1Z5SUhSb1lXNGdkR2hsSUhOamNtOXNiQ0JvYVc1MElHeHBibVZ6WEc0Z0lDQWdmWDFjYmlBZ0lDQjdMaTR1Y0hKdmNITjlYRzRnSUM4K1hHNHBPMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdSM0poWWtGeVpXRWdQU0FvZXlCemFHOTNTR0Z1Wkd4bExDQnBjMEp2YkdRc0lDNHVMbkJ5YjNCeklIMHBJRDArSUNoY2JpQWdQR1JwZGx4dUlDQWdJR056Y3oxN2UxeHVJQ0FnSUNBZ1kzVnljMjl5T2lBblpYY3RjbVZ6YVhwbEp5eGNiaUFnSUNBZ0lHaGxhV2RvZERvZ0p6RXdNQ1VuTEZ4dUlDQWdJQ0FnYkdWbWREb2dMVWhCVGtSTVJWOVBSa1pUUlZRc1hHNGdJQ0FnSUNCd2IzTnBkR2x2YmpvZ0ozSmxiR0YwYVhabEp5eGNiaUFnSUNBZ0lIZHBaSFJvT2lCUFZWUkZVbDlYU1VSVVNDeGNiaUFnSUNCOWZWeHVJQ0FnSUhzdUxpNXdjbTl3YzMxY2JpQWdQbHh1SUNBZ0lEeGthWFpjYmlBZ0lDQWdJR056Y3oxN2UxeHVJQ0FnSUNBZ0lDQmlZV05yWjNKdmRXNWtRMjlzYjNJNklHbHpRbTlzWkNBL0lHTnZiRzl5Y3k1Q01qQXdJRG9nWTI5c2IzSnpMa0l4TURBc1hHNGdJQ0FnSUNBZ0lHOXdZV05wZEhrNklITm9iM2RJWVc1a2JHVWdQeUF4SURvZ01DeGNiaUFnSUNBZ0lDQWdhR1ZwWjJoME9pQW5NVEF3SlNjc1hHNGdJQ0FnSUNBZ0lHeGxablE2SUVoQlRrUk1SVjlQUmtaVFJWUWdMU0JJUVU1RVRFVmZWMGxFVkVnZ0x5QXlMQ0F2THlCMGFHVWdhR0Z1Wkd4bElITm9iM1ZzWkNCY0luTjBjbUZrWkd4bFhDSWdkR2hsSUdScGRtbGthVzVuSUd4cGJtVmNiaUFnSUNBZ0lDQWdjRzl6YVhScGIyNDZJQ2RoWW5OdmJIVjBaU2NzWEc0Z0lDQWdJQ0FnSUhSeVlXNXphWFJwYjI0NklDZHZjR0ZqYVhSNUlESXdNRzF6Snl4Y2JpQWdJQ0FnSUNBZ2QybGtkR2c2SUVoQlRrUk1SVjlYU1VSVVNDeGNiaUFnSUNBZ0lIMTlYRzRnSUNBZ0x6NWNiaUFnUEM5a2FYWStYRzRwTzF4dVkyOXVjM1FnYkdGeVoyVklhWFJCY21WaElEMGdlMXh1SUNCc1pXWjBPaUF0T0N4Y2JpQWdjbWxuYUhRNklDMHhNaXhjYmlBZ1ltOTBkRzl0T2lBdE9DeGNiaUFnZEc5d09pQXRPQ3hjYm4wN1hHNWpiMjV6ZENCemJXRnNiRWhwZEVGeVpXRWdQU0I3WEc0Z0lHeGxablE2SUMwMExGeHVJQ0J5YVdkb2REb2dMVFFzWEc0Z0lHSnZkSFJ2YlRvZ0xUUXNYRzRnSUhSdmNEb2dMVFFzWEc1OU8xeHVYRzVqYjI1emRDQkNkWFIwYjI0Z1BTQW9lMXh1SUNCamFHbHNaSEpsYml4Y2JpQWdhR0Z6U0dsbmFHeHBaMmgwTEZ4dUlDQnBibTVsY2xKbFppeGNiaUFnYVhOV2FYTnBZbXhsTEZ4dUlDQm9hWFJCY21WaFUybDZaU3hjYmlBZ0xpNHVjSEp2Y0hOY2JuMHBJRDArSUNoY2JpQWdQR0oxZEhSdmJseHVJQ0FnSUdOc1lYTnpUbUZ0WlQxY0ltRnJMVzVoZG1sbllYUnBiMjR0Y21WemFYcGxMV0oxZEhSdmJsd2lYRzRnSUNBZ2RIbHdaVDFjSW1KMWRIUnZibHdpWEc0Z0lDQWdjbVZtUFh0cGJtNWxjbEpsWm4xY2JpQWdJQ0JqYzNNOWUzdGNiaUFnSUNBZ0lHSmhZMnRuY205MWJtUTZJREFzWEc0Z0lDQWdJQ0JpWVdOclozSnZkVzVrUTI5c2IzSTZJQ2QzYUdsMFpTY3NYRzRnSUNBZ0lDQmliM0prWlhJNklEQXNYRzRnSUNBZ0lDQmliM0prWlhKU1lXUnBkWE02SUNjMU1DVW5MRnh1SUNBZ0lDQWdZbTk0VTJoaFpHOTNPaUJnTUNBd0lEQWdNWEI0SUNSN1kyOXNiM0p6TGs0ek1FRjlMQ0F3SURKd2VDQTBjSGdnTVhCNElDUjdZMjlzYjNKekxrNHpNRUY5WUN4Y2JpQWdJQ0FnSUdOdmJHOXlPaUJvWVhOSWFXZG9iR2xuYUhRZ1B5QmpiMnh2Y25NdVFqRXdNQ0E2SUdOdmJHOXljeTVPTWpBd0xGeHVJQ0FnSUNBZ1kzVnljMjl5T2lBbmNHOXBiblJsY2ljc1hHNGdJQ0FnSUNCb1pXbG5hSFE2SURJMExGeHVJQ0FnSUNBZ2IzQmhZMmwwZVRvZ2FYTldhWE5wWW14bElEOGdNU0E2SURBc1hHNGdJQ0FnSUNCdmRYUnNhVzVsT2lBd0xGeHVJQ0FnSUNBZ2NHRmtaR2x1WnpvZ01DeGNiaUFnSUNBZ0lIQnZjMmwwYVc5dU9pQW5ZV0p6YjJ4MWRHVW5MRnh1SUNBZ0lDQWdkRzl3T2lBek1peGNiaUFnSUNBZ0lIUnlZVzV6YVhScGIyNDZJR0JjYmlBZ0lDQWdJQ0FnWW1GamEyZHliM1Z1WkMxamIyeHZjaUF4TURCdGN5QnNhVzVsWVhJc1hHNGdJQ0FnSUNBZ0lHTnZiRzl5SURFd01HMXpJR3hwYm1WaGNpeGNiaUFnSUNBZ0lDQWdiM0JoWTJsMGVTQXpNREJ0Y3lCamRXSnBZeTFpWlhwcFpYSW9NQzR5TENBd0xDQXdMQ0F4S1N4Y2JpQWdJQ0FnSUNBZ2RISmhibk5tYjNKdElETXdNRzF6SUdOMVltbGpMV0psZW1sbGNpZ3dMaklzSURBc0lEQXNJREVwWEc0Z0lDQWdJQ0JnTEZ4dUlDQWdJQ0FnZEhKaGJuTm1iM0p0T2lCZ2RISmhibk5zWVhSbEtDMDFNQ1VwWUN4Y2JpQWdJQ0FnSUhkcFpIUm9PaUF5TkN4Y2JseHVJQ0FnSUNBZ0p6cG9iM1psY2ljNklIdGNiaUFnSUNBZ0lDQWdZbUZqYTJkeWIzVnVaRU52Ykc5eU9pQmpiMnh2Y25NdVFqRXdNQ3hjYmlBZ0lDQWdJQ0FnWTI5c2IzSTZJQ2QzYUdsMFpTY3NYRzRnSUNBZ0lDQjlMRnh1SUNBZ0lDQWdKenBoWTNScGRtVW5PaUI3WEc0Z0lDQWdJQ0FnSUdKaFkydG5jbTkxYm1SRGIyeHZjam9nWTI5c2IzSnpMa0l5TURBc1hHNGdJQ0FnSUNBZ0lHTnZiRzl5T2lBbmQyaHBkR1VuTEZ4dUlDQWdJQ0FnZlN4Y2JpQWdJQ0FnSUNjNlptOWpkWE1uT2lCN1hHNGdJQ0FnSUNBZ0lHOXdZV05wZEhrNklERXNYRzRnSUNBZ0lDQWdJR0poWTJ0bmNtOTFibVJEYjJ4dmNqb2dZMjlzYjNKekxrSXlNREFzWEc0Z0lDQWdJQ0FnSUdOdmJHOXlPaUFuZDJocGRHVW5MRnh1SUNBZ0lDQWdmU3hjYmlBZ0lDQjlmVnh1SUNBZ0lIc3VMaTV3Y205d2MzMWNiaUFnUGx4dUlDQWdJRHhrYVhaY2JpQWdJQ0FnSUM4dklHbHVZM0psWVhObElHaHBkQzFoY21WaFhHNGdJQ0FnSUNCamMzTTllM3RjYmlBZ0lDQWdJQ0FnY0c5emFYUnBiMjQ2SUNkaFluTnZiSFYwWlNjc1hHNGdJQ0FnSUNBZ0lDNHVMaWhvYVhSQmNtVmhVMmw2WlNBOVBUMGdKM050WVd4c0p5QS9JSE50WVd4c1NHbDBRWEpsWVNBNklHeGhjbWRsU0dsMFFYSmxZU2tzWEc0Z0lDQWdJQ0I5ZlZ4dUlDQWdJQzgrWEc0Z0lDQWdlMk5vYVd4a2NtVnVmVnh1SUNBOEwySjFkSFJ2Ymo1Y2JpazdYRzVjYmk4dklIUnBibXRsY2lCM2FYUm9JSFJvWlNCRVQwMGdaR2x5WldOMGJIa2dZbmtnYzJWMGRHbHVaeUJ6ZEhsc1pTQndjbTl3WlhKMGFXVnpMQ0IxY0dSaGRHVnpJSFJvWlNCbmNtRmlJR0poY2lCd2IzTnBkR2x2YmlCaWVTQmphR0Z1WjJsdVp5QndZV1JrYVc1bkxXeGxablFnWVc1a0lIZHBaSFJvTGx4dVpuVnVZM1JwYjI0Z2RYQmtZWFJsVW1WemFYcGxRWEpsWVZCdmMybDBhVzl1S0dWc1pXMWxiblJ6TENCM2FXUjBhQ2tnZTF4dUlDQmxiR1Z0Wlc1MGN5NW1iM0pGWVdOb0tDaDdJSEJ5YjNCbGNuUjVMQ0J5WldZZ2ZTa2dQVDRnZTF4dUlDQWdJR052Ym5OMElHNWxkMVpoYkhWbElEMGdZQ1I3ZDJsa2RHaDljSGhnTzF4dUlDQWdJR052Ym5OMElHOXNaRlpoYkhWbElEMGdjbVZtTG5OMGVXeGxMbWRsZEZCeWIzQmxjblI1Vm1Gc2RXVW9jSEp2Y0dWeWRIa3BPMXh1WEc0Z0lDQWdMeThnWVhadmFXUWdkR2h5WVhOb2FXNW5YRzRnSUNBZ2FXWWdLRzlzWkZaaGJIVmxJRDA5UFNCdVpYZFdZV3gxWlNrZ2NtVjBkWEp1TzF4dVhHNGdJQ0FnTHk4Z1pHbHlaV04wSUdGMGRISnBZblYwWlNCdFlXNXBjSFZzWVhScGIyNWNiaUFnSUNCeVpXWXVjM1I1YkdVdWMyVjBVSEp2Y0dWeWRIa29jSEp2Y0dWeWRIa3NJRzVsZDFaaGJIVmxLVHRjYmlBZ2ZTazdYRzU5WEc1Y2JpOHZJR2hsYkhCbGNpQm1iM0lnZEc5dmJIUnBjQ0JqYjI1MFpXNTBJR3RsZVdKdllYSmtJSE5vYjNKMFkzVjBJR2hwWjJoc2FXZG9kRnh1Wm5WdVkzUnBiMjRnYldGclpWUnZiMngwYVhCT2IyUmxLSHNnZEdWNGRDd2dZMmhoY2lCOUtTQjdYRzRnSUhKbGRIVnliaUFvWEc0Z0lDQWdQR1JwZGx4dUlDQWdJQ0FnWTNOelBYdDdYRzRnSUNBZ0lDQWdJR0ZzYVdkdVNYUmxiWE02SUNkaVlYTmxiR2x1WlNjc1hHNGdJQ0FnSUNBZ0lHUnBjM0JzWVhrNklDZG1iR1Y0Snl4Y2JpQWdJQ0FnSUNBZ2JHbHVaVWhsYVdkb2REb2dNUzR6TEZ4dUlDQWdJQ0FnSUNCd1lXUmthVzVuUW05MGRHOXRPaUF4TEZ4dUlDQWdJQ0FnSUNCd1lXUmthVzVuVkc5d09pQXhMRnh1SUNBZ0lDQWdmWDFjYmlBZ0lDQStYRzRnSUNBZ0lDQThjM0JoYmo1N2RHVjRkSDA4TDNOd1lXNCtYRzRnSUNBZ0lDQThaR2wyWEc0Z0lDQWdJQ0FnSUdOemN6MTdlMXh1SUNBZ0lDQWdJQ0FnSUdKaFkydG5jbTkxYm1SRGIyeHZjam9nWTI5c2IzSnpMazQwTURBc1hHNGdJQ0FnSUNBZ0lDQWdZbTl5WkdWeVVtRmthWFZ6T2lBeUxGeHVJQ0FnSUNBZ0lDQWdJR3hwYm1WSVpXbG5hSFE2SURFdU1peGNiaUFnSUNBZ0lDQWdJQ0J0WVhKbmFXNU1aV1owT2lBMExGeHVJQ0FnSUNBZ0lDQWdJSEJoWkdScGJtYzZJQ2N4Y0hnZ09IQjRKeXhjYmlBZ0lDQWdJQ0FnZlgxY2JpQWdJQ0FnSUQ1Y2JpQWdJQ0FnSUNBZ2UyTm9ZWEo5WEc0Z0lDQWdJQ0E4TDJScGRqNWNiaUFnSUNBOEwyUnBkajVjYmlBZ0tUdGNibjFjYmx4dUx5b2dUazlVUlRvZ1pYaHdaWEpwYldWdWRHRnNJSEJ5YjNCeklIVnpaU0JoYmlCMWJtUmxjbk5qYjNKbElDb3ZYRzVqYkdGemN5QlNaWE5wZW1WRGIyNTBjbTlzSUdWNGRHVnVaSE1nVUhWeVpVTnZiWEJ2Ym1WdWRDQjdYRzRnSUdsdWRtRnNhV1JFY21GblFYUjBaVzF3ZEdWa0lEMGdabUZzYzJVN1hHNWNiaUFnYkdGemRGZHBaSFJvTzF4dVhHNGdJSGR5WVhCd1pYSTdYRzVjYmlBZ2MzUmhkR1VnUFNCN1hHNGdJQ0FnWkdWc2RHRTZJREFzWEc0Z0lDQWdaR2xrUkhKaFowOXdaVzQ2SUdaaGJITmxMRnh1SUNBZ0lHbHpSSEpoWjJkcGJtYzZJR1poYkhObExGeHVJQ0FnSUdsdWFYUnBZV3hYYVdSMGFEb2dNQ3hjYmlBZ0lDQnBibWwwYVdGc1dEb2dNQ3hjYmlBZ0lDQnRiM1Z6WlVselJHOTNiam9nWm1Gc2MyVXNYRzRnSUNBZ2JXOTFjMlZKYzA5MlpYSkhjbUZpUVhKbFlUb2dabUZzYzJVc1hHNGdJQ0FnYzJodmQwZHlZV0pCY21WaE9pQjBjblZsTEZ4dUlDQWdJSGRwWkhSb09pQjBhR2x6TG5CeWIzQnpMbTVoZG1sbllYUnBiMjR1YzNSaGRHVXVjSEp2WkhWamRFNWhkbGRwWkhSb0xGeHVJQ0I5TzF4dVhHNGdJSE4wWVhScFl5QmtaV1poZFd4MFVISnZjSE1nUFNCN1hHNGdJQ0FnYVhOSGNtRmlRWEpsWVVScGMyRmliR1ZrT2lCbVlXeHpaU3hjYmlBZ2ZUdGNibHh1SUNCemRHRjBhV01nWjJWMFJHVnlhWFpsWkZOMFlYUmxSbkp2YlZCeWIzQnpLSEJ5YjNCekxDQnpkR0YwWlNrZ2UxeHVJQ0FnSUdOdmJuTjBJSHRjYmlBZ0lDQWdJQzh2SUdWemJHbHVkQzFrYVhOaFlteGxMVzVsZUhRdGJHbHVaU0JqWVcxbGJHTmhjMlZjYmlBZ0lDQWdJR1Y0Y0dWeWFXMWxiblJoYkY5bWJIbHZkWFJQYmtodmRtVnlPaUJGV0ZCRlVrbE5SVTVVUVV4ZlJreFpUMVZVWDA5T1gwaFBWa1ZTTEZ4dUlDQWdJQ0FnWm14NWIzVjBTWE5QY0dWdUxGeHVJQ0FnSUNBZ2JtRjJhV2RoZEdsdmJpeGNiaUFnSUNCOUlEMGdjSEp2Y0hNN1hHNGdJQ0FnWTI5dWMzUWdleUJwYzBOdmJHeGhjSE5sWkNCOUlEMGdibUYyYVdkaGRHbHZiaTV6ZEdGMFpUdGNibHh1SUNBZ0lDOHZJSEpsYzI5c2RtVWdYQ0pvYjNabGNpQnNiMk5yYVc1blhDSWdhWE56ZFdVZ2QybDBhQ0J5WlhOcGVtVWdaM0poWWlCaGNtVmhYRzRnSUNBZ2FXWWdLRVZZVUVWU1NVMUZUbFJCVEY5R1RGbFBWVlJmVDA1ZlNFOVdSVklwSUh0Y2JpQWdJQ0FnSUdOdmJuTjBJSE5vYjNkSGNtRmlRWEpsWVNBOUlDRnBjME52Ykd4aGNITmxaQ0FtSmlBaFpteDViM1YwU1hOUGNHVnVPMXh1SUNBZ0lDQWdZMjl1YzNRZ2JXOTFjMlZKYzA5MlpYSkhjbUZpUVhKbFlTQTlJSE5vYjNkSGNtRmlRWEpsWVZ4dUlDQWdJQ0FnSUNBL0lITjBZWFJsTG0xdmRYTmxTWE5QZG1WeVIzSmhZa0Z5WldGY2JpQWdJQ0FnSUNBZ09pQm1ZV3h6WlR0Y2JseHVJQ0FnSUNBZ2NtVjBkWEp1SUh0Y2JpQWdJQ0FnSUNBZ2JXOTFjMlZKYzA5MlpYSkhjbUZpUVhKbFlTeGNiaUFnSUNBZ0lDQWdjMmh2ZDBkeVlXSkJjbVZoTEZ4dUlDQWdJQ0FnZlR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdiblZzYkR0Y2JpQWdmVnh1WEc0Z0lHOXVVbVZ6YVhwbGNrTm9aWFp5YjI1RGJHbGpheUE5SUNncElEMCtJSHRjYmlBZ0lDQmpiMjV6ZENCMGNtbG5aMlZ5SUQwZ2RHaHBjeTV3Y205d2N5NW1iSGx2ZFhSSmMwOXdaVzRnUHlBblkyaGxkbkp2YmtodmRtVnlKeUE2SUNkamFHVjJjbTl1Snp0Y2JpQWdJQ0IwYUdsekxuUnZaMmRzWlVOdmJHeGhjSE5sS0hSeWFXZG5aWElwTzF4dUlDQjlPMXh1WEc0Z0lHMXZkWE5sUlc1MFpYSkhjbUZpUVhKbFlTQTlJQ2dwSUQwK0lIdGNiaUFnSUNCMGFHbHpMbk5sZEZOMFlYUmxLSHNnYlc5MWMyVkpjMDkyWlhKSGNtRmlRWEpsWVRvZ2RISjFaU0I5S1R0Y2JpQWdmVHRjYmx4dUlDQnRiM1Z6WlV4bFlYWmxSM0poWWtGeVpXRWdQU0FvS1NBOVBpQjdYRzRnSUNBZ2RHaHBjeTV6WlhSVGRHRjBaU2g3SUcxdmRYTmxTWE5QZG1WeVIzSmhZa0Z5WldFNklHWmhiSE5sSUgwcE8xeHVJQ0I5TzF4dVhHNGdJSFJ2WjJkc1pVTnZiR3hoY0hObElEMGdkSEpwWjJkbGNpQTlQaUI3WEc0Z0lDQWdZMjl1YzNRZ2V5QnVZWFpwWjJGMGFXOXVMQ0JqY21WaGRHVkJibUZzZVhScFkzTkZkbVZ1ZENCOUlEMGdkR2hwY3k1d2NtOXdjenRjYmlBZ0lDQmpiMjV6ZENCdVpYZERiMnhzWVhCelpXUlRkR0YwWlNBOUlDRnVZWFpwWjJGMGFXOXVMbk4wWVhSbExtbHpRMjlzYkdGd2MyVmtPMXh1SUNBZ0lHNWhkbWxuWVhScGIyNHVkRzluWjJ4bFEyOXNiR0Z3YzJVb0tUdGNiaUFnSUNCdVlYWnBaMkYwYVc5dVJYaHdZVzVrWldSRGIyeHNZWEJ6WldRb1kzSmxZWFJsUVc1aGJIbDBhV056UlhabGJuUXNJSHRjYmlBZ0lDQWdJSFJ5YVdkblpYSXNYRzRnSUNBZ0lDQnBjME52Ykd4aGNITmxaRG9nYm1WM1EyOXNiR0Z3YzJWa1UzUmhkR1VzWEc0Z0lDQWdmU2s3WEc0Z0lIMDdYRzVjYmlBZ2FHRnVaR3hsVW1WemFYcGxVM1JoY25RZ1BTQmxkbVZ1ZENBOVBpQjdYRzRnSUNBZ1kyOXVjM1FnYVc1cGRHbGhiRmdnUFNCbGRtVnVkQzV3WVdkbFdEdGNibHh1SUNBZ0lIUm9hWE11YzJWMFUzUmhkR1VvZXlCcGJtbDBhV0ZzV0N3Z2JXOTFjMlZKYzBSdmQyNDZJSFJ5ZFdVZ2ZTazdYRzVjYmlBZ0lDQXZMeUJoZEhSaFkyZ2dhR0Z1Wkd4bGNuTWdLR2hoYm1Sc1pWSmxjMmw2WlZOMFlYSjBJR2x6SUdFZ1ltOTFibVFnZEc4Z2IyNU5iM1Z6WlVSdmQyNHBYRzRnSUNBZ2QybHVaRzkzTG1Ga1pFVjJaVzUwVEdsemRHVnVaWElvSjIxdmRYTmxiVzkyWlNjc0lIUm9hWE11YUdGdVpHeGxVbVZ6YVhwbEtUdGNiaUFnSUNCM2FXNWtiM2N1WVdSa1JYWmxiblJNYVhOMFpXNWxjaWduYlc5MWMyVjFjQ2NzSUhSb2FYTXVhR0Z1Wkd4bFVtVnphWHBsUlc1a0tUdGNiaUFnZlR0Y2JseHVJQ0JwYm1sMGFXRnNhWHBsUkhKaFp5QTlJR1YyWlc1MElEMCtJSHRjYmlBZ0lDQmpiMjV6ZENCN0lHNWhkbWxuWVhScGIyNGdmU0E5SUhSb2FYTXVjSEp2Y0hNN1hHNGdJQ0FnWTI5dWMzUWdaR1ZzZEdFZ1BTQmxkbVZ1ZEM1d1lXZGxXQ0F0SUhSb2FYTXVjM1JoZEdVdWFXNXBkR2xoYkZnN1hHNGdJQ0FnWTI5dWMzUWdleUJwYzBOdmJHeGhjSE5sWkNCOUlEMGdibUYyYVdkaGRHbHZiaTV6ZEdGMFpUdGNibHh1SUNBZ0lDOHZJRzl1YkhrZ2FXNXBkR2xoYkdsNlpTQjNhR1Z1SUdSeVlXY2dhVzUwWlc1MGFXOXVJR2x6SUZ3aVpYaHdZVzVrWENKY2JpQWdJQ0JwWmlBb2FYTkRiMnhzWVhCelpXUWdKaVlnWkdWc2RHRWdQRDBnTUNrZ2UxeHVJQ0FnSUNBZ2RHaHBjeTVwYm5aaGJHbGtSSEpoWjBGMGRHVnRjSFJsWkNBOUlIUnlkV1U3WEc0Z0lDQWdJQ0J5WlhSMWNtNDdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2JHVjBJR2x1YVhScFlXeFhhV1IwYUNBOUlHNWhkbWxuWVhScGIyNHVjM1JoZEdVdWNISnZaSFZqZEU1aGRsZHBaSFJvTzF4dUlDQWdJR3hsZENCa2FXUkVjbUZuVDNCbGJpQTlJR1poYkhObE8xeHVYRzRnSUNBZ0x5OGdUazlVUlZ4dUlDQWdJQzh2SUdsbUlIUm9aU0J3Y205a2RXTjBJRzVoZGlCcGN5QmpiMnhzWVhCelpXUWdZVzVrSUhSb1pTQmpiMjV6ZFcxbGNpQnpkR0Z5ZEhNZ1pISmhaMmRwYm1jZ2FYUWdiM0JsYmx4dUlDQWdJQzh2SUhkbElHMTFjM1FnWlhod1lXNWtJR2wwSUdGdVpDQmtjbUZuSUhOb2IzVnNaQ0J6ZEdGeWRDQm1jbTl0SURBdVhHNGdJQ0FnYVdZZ0tHbHpRMjlzYkdGd2MyVmtLU0I3WEc0Z0lDQWdJQ0JwYm1sMGFXRnNWMmxrZEdnZ1BTQkRUMDVVUlU1VVgwNUJWbDlYU1VSVVNGOURUMHhNUVZCVFJVUTdYRzRnSUNBZ0lDQmthV1JFY21GblQzQmxiaUE5SUhSeWRXVTdYRzRnSUNBZ0lDQnVZWFpwWjJGMGFXOXVMbTFoYm5WaGJGSmxjMmw2WlZOMFlYSjBLSHRjYmlBZ0lDQWdJQ0FnY0hKdlpIVmpkRTVoZGxkcFpIUm9PaUJEVDA1VVJVNVVYMDVCVmw5WFNVUlVTRjlEVDB4TVFWQlRSVVFzWEc0Z0lDQWdJQ0FnSUdselEyOXNiR0Z3YzJWa09pQm1ZV3h6WlN4Y2JpQWdJQ0FnSUgwcE8xeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0J1WVhacFoyRjBhVzl1TG0xaGJuVmhiRkpsYzJsNlpWTjBZWEowS0c1aGRtbG5ZWFJwYjI0dWMzUmhkR1VwTzF4dUlDQWdJSDFjYmx4dUlDQWdJSFJvYVhNdWMyVjBVM1JoZEdVb2V5QmthV1JFY21GblQzQmxiaXdnYVc1cGRHbGhiRmRwWkhSb0xDQnBjMFJ5WVdkbmFXNW5PaUIwY25WbElIMHBPMXh1SUNCOU8xeHVYRzRnSUdoaGJtUnNaVkpsYzJsNlpTQTlJSEpoWmlobGRtVnVkQ0E5UGlCN1hHNGdJQ0FnWTI5dWMzUWdleUJ0ZFhSaGRHbHZibEpsWm5NZ2ZTQTlJSFJvYVhNdWNISnZjSE03WEc0Z0lDQWdZMjl1YzNRZ2V5QnBibWwwYVdGc1dDd2dhVzVwZEdsaGJGZHBaSFJvTENCcGMwUnlZV2RuYVc1bkxDQnRiM1Z6WlVselJHOTNiaUI5SUQwZ2RHaHBjeTV6ZEdGMFpUdGNibHh1SUNBZ0lDOHZJRzl1SUc5alkyRnphVzl1SUdFZ2JXOTFjMlVnYlc5MlpTQmxkbVZ1ZENCdlkyTjFjbk1nWW1WbWIzSmxJSFJvWlNCbGRtVnVkQ0JzYVhOMFpXNWxjbk5jYmlBZ0lDQXZMeUJvWVhabElHRWdZMmhoYm1ObElIUnZJR1JsZEdGamFGeHVJQ0FnSUdsbUlDZ2hiVzkxYzJWSmMwUnZkMjRwSUhKbGRIVnlianRjYmx4dUlDQWdJQzh2SUdsdWFYUnBZV3hwZW1VZ1pISmhaMmRwYm1kY2JpQWdJQ0JwWmlBb0lXbHpSSEpoWjJkcGJtY3BJSHRjYmlBZ0lDQWdJSFJvYVhNdWFXNXBkR2xoYkdsNlpVUnlZV2NvWlhabGJuUXBPMXh1SUNBZ0lDQWdjbVYwZFhKdU8xeHVJQ0FnSUgxY2JseHVJQ0FnSUM4dklHRnNiRzkzSUhSb1pTQndjbTlrZFdOMElHNWhkaUIwYnlCaVpTQTNOU1VnYjJZZ2RHaGxJR0YyWVdsc1lXSnNaU0J3WVdkbElIZHBaSFJvWEc0Z0lDQWdZMjl1YzNRZ2JXRjRWMmxrZEdnZ1BTQk5ZWFJvTG5KdmRXNWtLQ2gzYVc1a2IzY3VhVzV1WlhKWGFXUjBhQ0F2SURRcElDb2dNeWs3WEc0Z0lDQWdZMjl1YzNRZ2JXbHVWMmxrZEdnZ1BTQkRUMDVVUlU1VVgwNUJWbDlYU1VSVVNGOURUMHhNUVZCVFJVUTdYRzRnSUNBZ1kyOXVjM1FnWVdScWRYTjBaV1JOWVhnZ1BTQnRZWGhYYVdSMGFDQXRJR2x1YVhScFlXeFhhV1IwYUNBdElFZE1UMEpCVEY5T1FWWmZWMGxFVkVnN1hHNGdJQ0FnWTI5dWMzUWdZV1JxZFhOMFpXUk5hVzRnUFNCdGFXNVhhV1IwYUNBdElHbHVhWFJwWVd4WGFXUjBhRHRjYmx4dUlDQWdJR052Ym5OMElHUmxiSFJoSUQwZ1RXRjBhQzV0WVhnb1hHNGdJQ0FnSUNCTllYUm9MbTFwYmlobGRtVnVkQzV3WVdkbFdDQXRJR2x1YVhScFlXeFlMQ0JoWkdwMWMzUmxaRTFoZUNrc1hHNGdJQ0FnSUNCaFpHcDFjM1JsWkUxcGJpeGNiaUFnSUNBcE8xeHVJQ0FnSUdOdmJuTjBJSGRwWkhSb0lEMGdhVzVwZEdsaGJGZHBaSFJvSUNzZ1pHVnNkR0U3WEc1Y2JpQWdJQ0F2THlCaGNIQnNlU0IxY0dSaGRHVmtJSE4wZVd4bGN5QjBieUIwYUdVZ1lYQndiR2xqWVdKc1pTQkVUMDBnYm05a1pYTmNiaUFnSUNCMWNHUmhkR1ZTWlhOcGVtVkJjbVZoVUc5emFYUnBiMjRvYlhWMFlYUnBiMjVTWldaekxDQjNhV1IwYUNrN1hHNWNiaUFnSUNBdkx5Qk9UMVJGT2lCb2FXcGhZMnNnZEdobElHMWhkV0ZzSUhKbGMybDZaU0JoYm1RZ1ptOXlZMlVnWTI5c2JHRndjMlVzSUdOaGJtTmxiSE1nYlc5MWMyVWdaWFpsYm5SelhHNGdJQ0FnYVdZZ0tHVjJaVzUwTG1Oc2FXVnVkRmdnUENBd0tTQjdYRzRnSUNBZ0lDQjBhR2x6TG5ObGRGTjBZWFJsS0hzZ2QybGtkR2c2SUVOUFRsUkZUbFJmVGtGV1gxZEpSRlJJWDBOUFRFeEJVRk5GUkNCOUtUdGNiaUFnSUNBZ0lIUm9hWE11YUdGdVpHeGxVbVZ6YVhwbFJXNWtLQ2s3WEc0Z0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lDOHZJRzFoYVc1MFlXbHVJR2x1ZEdWeWJtRnNJSGRwWkhSb0xDQmhjSEJzYVdWa0lIUnZJRzVoZG1sbllYUnBiMjRnYzNSaGRHVWdiMjRnY21WemFYcGxJR1Z1WkZ4dUlDQWdJQ0FnZEdocGN5NXpaWFJUZEdGMFpTaDdJR1JsYkhSaExDQjNhV1IwYUNCOUtUdGNiaUFnSUNCOVhHNGdJSDBwTzF4dVhHNGdJR2hoYm1Sc1pWSmxjMmw2WlVWdVpDQTlJQ2dwSUQwK0lIdGNiaUFnSUNCamIyNXpkQ0I3SUc1aGRtbG5ZWFJwYjI0c0lHTnlaV0YwWlVGdVlXeDVkR2xqYzBWMlpXNTBJSDBnUFNCMGFHbHpMbkJ5YjNCek8xeHVJQ0FnSUdOdmJuTjBJSHNnWkdWc2RHRXNJR1JwWkVSeVlXZFBjR1Z1TENCcGMwUnlZV2RuYVc1bkxDQjNhV1IwYURvZ1kzVnljbVZ1ZEZkcFpIUm9JSDBnUFNCMGFHbHpMbk4wWVhSbE8xeHVJQ0FnSUdOdmJuTjBJR1Y0Y0dGdVpGUm9jbVZ6YUc5c1pDQTlJREkwTzF4dUlDQWdJR052Ym5OMElISmxjMmw2WlhKRGJHbGphMlZrSUQwZ0lXbHpSSEpoWjJkcGJtY2dKaVlnSVhSb2FYTXVhVzUyWVd4cFpFUnlZV2RCZEhSbGJYQjBaV1E3WEc0Z0lDQWdiR1YwSUhCMVlteHBjMmhYYVdSMGFDQTlJR04xY25KbGJuUlhhV1IwYUR0Y2JpQWdJQ0JzWlhRZ2MyaHZkV3hrUTI5c2JHRndjMlVnUFNCbVlXeHpaVHRjYmx4dUlDQWdJQzh2SUdOb1pXTnJJR2xtSUhSb1pTQnBiblJsYm5ScGIyNGdkMkZ6SUdwMWMzUWdZU0JqYkdsamF5d2dZVzVrSUhSdloyZHNaVnh1SUNBZ0lHbG1JQ2h5WlhOcGVtVnlRMnhwWTJ0bFpDa2dlMXh1SUNBZ0lDQWdjSFZpYkdsemFGZHBaSFJvSUQwZ1RXRjBhQzV0WVhnb1EwOU9WRVZPVkY5T1FWWmZWMGxFVkVnc0lHTjFjbkpsYm5SWGFXUjBhQ2s3WEc0Z0lDQWdJQ0IwYUdsekxuUnZaMmRzWlVOdmJHeGhjSE5sS0NkeVpYTnBlbVZ5UTJ4cFkyc25LVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQXZMeUJ3Y21WMlpXNTBJSFJvWlNCMWMyVnlJR1p5YjIwZ1kzSmxZWFJwYm1jZ1lXNGdkVzUxYzJGaWJHVWdkMmxrZEdoY2JpQWdJQ0JwWmlBb2NIVmliR2x6YUZkcFpIUm9JRHdnUTA5T1ZFVk9WRjlPUVZaZlYwbEVWRWdwSUh0Y2JpQWdJQ0FnSUhCMVlteHBjMmhYYVdSMGFDQTlJRU5QVGxSRlRsUmZUa0ZXWDFkSlJGUklPMXh1SUNBZ0lDQWdhV1lnS0dScFpFUnlZV2RQY0dWdUlDWW1JR1JsYkhSaElENGdaWGh3WVc1a1ZHaHlaWE5vYjJ4a0tTQjdYRzRnSUNBZ0lDQWdJSE5vYjNWc1pFTnZiR3hoY0hObElEMGdabUZzYzJVN1hHNGdJQ0FnSUNCOUlHVnNjMlVnYVdZZ0tHTjFjbkpsYm5SWGFXUjBhQ0E4SUVkTVQwSkJURjlPUVZaZlEwOU1URUZRVTBWZlZFaFNSVk5JVDB4RUtTQjdYRzRnSUNBZ0lDQWdJSE5vYjNWc1pFTnZiR3hoY0hObElEMGdkSEoxWlR0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdjMmh2ZFd4a1EyOXNiR0Z3YzJVZ1BTQnVZWFpwWjJGMGFXOXVMbk4wWVhSbExtbHpRMjlzYkdGd2MyVmtPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2hjYmlBZ0lDQWdJQ0Z5WlhOcGVtVnlRMnhwWTJ0bFpDQW1KbHh1SUNBZ0lDQWdLQ2hrYVdSRWNtRm5UM0JsYmlBbUppQWhjMmh2ZFd4a1EyOXNiR0Z3YzJVcElIeDhJQ2doWkdsa1JISmhaMDl3Wlc0Z0ppWWdjMmh2ZFd4a1EyOXNiR0Z3YzJVcEtWeHVJQ0FnSUNrZ2UxeHVJQ0FnSUNBZ2JtRjJhV2RoZEdsdmJrVjRjR0Z1WkdWa1EyOXNiR0Z3YzJWa0tHTnlaV0YwWlVGdVlXeDVkR2xqYzBWMlpXNTBMQ0I3WEc0Z0lDQWdJQ0FnSUhSeWFXZG5aWEk2SUNkeVpYTnBlbVZ5UkhKaFp5Y3NYRzRnSUNBZ0lDQWdJR2x6UTI5c2JHRndjMlZrT2lCemFHOTFiR1JEYjJ4c1lYQnpaU3hjYmlBZ0lDQWdJSDBwTzF4dUlDQWdJSDFjYmx4dUlDQWdJQzh2SUhKbGMyVjBJR1YyWlhKNWRHaHBibWRjYmlBZ0lDQjBhR2x6TG1sdWRtRnNhV1JFY21GblFYUjBaVzF3ZEdWa0lEMGdabUZzYzJVN1hHNGdJQ0FnZEdocGN5NXpaWFJUZEdGMFpTaDdYRzRnSUNBZ0lDQmthV1JFY21GblQzQmxiam9nWm1Gc2MyVXNYRzRnSUNBZ0lDQnBjMFJ5WVdkbmFXNW5PaUJtWVd4elpTeGNiaUFnSUNBZ0lHMXZkWE5sU1hORWIzZHVPaUJtWVd4elpTeGNiaUFnSUNBZ0lIZHBaSFJvT2lCd2RXSnNhWE5vVjJsa2RHZ3NYRzRnSUNBZ2ZTazdYRzVjYmlBZ0lDQXZMeUJ3ZFdKc2FYTm9JSFJvWlNCdVpYY2dkMmxrZEdnc0lHOXVZMlVnY21WemFYcHBibWNnWTI5dGNHeGxkR1Z6WEc0Z0lDQWdibUYyYVdkaGRHbHZiaTV0WVc1MVlXeFNaWE5wZW1WRmJtUW9lMXh1SUNBZ0lDQWdjSEp2WkhWamRFNWhkbGRwWkhSb09pQndkV0pzYVhOb1YybGtkR2dzWEc0Z0lDQWdJQ0JwYzBOdmJHeGhjSE5sWkRvZ2MyaHZkV3hrUTI5c2JHRndjMlVzWEc0Z0lDQWdmU2s3WEc1Y2JpQWdJQ0JwWmlBb2MyaHZkV3hrVW1WelpYUkhjbUZpUVhKbFlTaGpkWEp5Wlc1MFYybGtkR2dwS1NCN1hHNGdJQ0FnSUNCMWNHUmhkR1ZTWlhOcGVtVkJjbVZoVUc5emFYUnBiMjRvZEdocGN5NXdjbTl3Y3k1dGRYUmhkR2x2YmxKbFpuTXNJRU5QVGxSRlRsUmZUa0ZXWDFkSlJGUklLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQXZMeUJqYkdWaGJuVndYRzRnSUNBZ2QybHVaRzkzTG5KbGJXOTJaVVYyWlc1MFRHbHpkR1Z1WlhJb0oyMXZkWE5sYlc5MlpTY3NJSFJvYVhNdWFHRnVaR3hsVW1WemFYcGxLVHRjYmlBZ0lDQjNhVzVrYjNjdWNtVnRiM1psUlhabGJuUk1hWE4wWlc1bGNpZ25iVzkxYzJWMWNDY3NJSFJvYVhNdWFHRnVaR3hsVW1WemFYcGxSVzVrS1R0Y2JpQWdmVHRjYmx4dUlDQnlaVzVrWlhJb0tTQjdYRzRnSUNBZ1kyOXVjM1FnZTF4dUlDQWdJQ0FnYVhORWNtRm5aMmx1Wnl4Y2JpQWdJQ0FnSUcxdmRYTmxTWE5FYjNkdUxGeHVJQ0FnSUNBZ2JXOTFjMlZKYzA5MlpYSkhjbUZpUVhKbFlTeGNiaUFnSUNBZ0lITm9iM2RIY21GaVFYSmxZU3hjYmlBZ0lDQjlJRDBnZEdocGN5NXpkR0YwWlR0Y2JpQWdJQ0JqYjI1emRDQjdYRzRnSUNBZ0lDQmpiMnhzWVhCelpWUnZaMmRzWlZSdmIyeDBhWEJEYjI1MFpXNTBMRnh1SUNBZ0lDQWdaWGh3WVc1a1EyOXNiR0Z3YzJWQlptWnZjbVJoYm1ObFVtVm1MRnh1SUNBZ0lDQWdabXg1YjNWMFNYTlBjR1Z1TEZ4dUlDQWdJQ0FnYVhORWFYTmhZbXhsWkRvZ2FYTlNaWE5wZW1WRWFYTmhZbXhsWkN4Y2JpQWdJQ0FnSUdselIzSmhZa0Z5WldGRWFYTmhZbXhsWkN4Y2JpQWdJQ0FnSUc5dVRXOTFjMlZQZG1WeVFuVjBkRzl1UW5WbVptVnlMRnh1SUNBZ0lDQWdibUYyYVdkaGRHbHZiaXhjYmlBZ0lDQjlJRDBnZEdocGN5NXdjbTl3Y3p0Y2JpQWdJQ0JqYjI1emRDQjdJR2x6UTI5c2JHRndjMlZrSUgwZ1BTQnVZWFpwWjJGMGFXOXVMbk4wWVhSbE8xeHVYRzRnSUNBZ0x5OGdkR2hsSUdKMWRIUnZiaUJ6YUc5MWJHUnVKM1FnWENKbWJHbHdYQ0lnZFc1MGFXd2dkR2hsSUdSeVlXY2dhWE1nWTI5dGNHeGxkR1ZjYmlBZ0lDQnNaWFFnUW5WMGRHOXVTV052YmlBOUlFTm9aWFp5YjI1TVpXWjBPMXh1SUNBZ0lHbG1JQ2hwYzBOdmJHeGhjSE5sWkNrZ1FuVjBkRzl1U1dOdmJpQTlJRU5vWlhaeWIyNVNhV2RvZER0Y2JseHVJQ0FnSUdOdmJuTjBJR0oxZEhSdmJpQTlJQ2hjYmlBZ0lDQWdJRHhDZFhSMGIyNWNiaUFnSUNBZ0lDQWdiMjVEYkdsamF6MTdkR2hwY3k1dmJsSmxjMmw2WlhKRGFHVjJjbTl1UTJ4cFkydDlYRzRnSUNBZ0lDQWdJRzl1VFc5MWMyVkViM2R1UFh0d2NtVjJaVzUwUkdWbVlYVnNkSDFjYmlBZ0lDQWdJQ0FnYUdsMFFYSmxZVk5wZW1VOWUyOXVUVzkxYzJWUGRtVnlRblYwZEc5dVFuVm1abVZ5SUQ4Z0oyeGhjbWRsSnlBNklDZHpiV0ZzYkNkOVhHNGdJQ0FnSUNBZ0lDOHZJRzFoYVc1MFlXbHVJSE4wZVd4bGN5QjNhR1Z1SUhWelpYSWdhWE1nWkhKaFoyZHBibWRjYmlBZ0lDQWdJQ0FnYVhOV2FYTnBZbXhsUFh0cGMwTnZiR3hoY0hObFpDQjhmQ0J0YjNWelpVbHpSRzkzYm4xY2JpQWdJQ0FnSUNBZ2FHRnpTR2xuYUd4cFoyaDBQWHR0YjNWelpVbHpSRzkzYmlCOGZDQnRiM1Z6WlVselQzWmxja2R5WVdKQmNtVmhmVnh1SUNBZ0lDQWdJQ0JwYm01bGNsSmxaajE3Wlhod1lXNWtRMjlzYkdGd2MyVkJabVp2Y21SaGJtTmxVbVZtZlZ4dUlDQWdJQ0FnSUNCaGNtbGhMV1Y0Y0dGdVpHVmtQWHNoYVhORGIyeHNZWEJ6WldSOVhHNGdJQ0FnSUNBZ0lHRnlhV0V0YkdGaVpXdzlYQ0pVYjJkbmJHVWdibUYyYVdkaGRHbHZibHdpWEc0Z0lDQWdJQ0ErWEc0Z0lDQWdJQ0FnSUR4Q2RYUjBiMjVKWTI5dUlDOCtYRzRnSUNBZ0lDQThMMEoxZEhSdmJqNWNiaUFnSUNBcE8xeHVJQ0FnSUdOdmJuTjBJSE5vWVdSdmQwUnBjbVZqZEdsdmJpQTlJR1pzZVc5MWRFbHpUM0JsYmlBL0lDZDBieUJ5YVdkb2RDY2dPaUFuZEc4Z2JHVm1kQ2M3WEc1Y2JpQWdJQ0J5WlhSMWNtNGdLRnh1SUNBZ0lDQWdQRTkxZEdWeVBseHVJQ0FnSUNBZ0lDQjdhWE5FY21GbloybHVaeUFtSmlBOFFtOWtlVVJ5WVdkRGRYSnpiM0lnTHo1OVhHNGdJQ0FnSUNBZ0lEeFRhR0ZrYjNjZ1pHbHlaV04wYVc5dVBYdHphR0ZrYjNkRWFYSmxZM1JwYjI1OUlHbHpRbTlzWkQxN2JXOTFjMlZKYzBSdmQyNTlJQzgrWEc0Z0lDQWdJQ0FnSUhzaGFYTlNaWE5wZW1WRWFYTmhZbXhsWkNBbUppQW9YRzRnSUNBZ0lDQWdJQ0FnUEVaeVlXZHRaVzUwUGx4dUlDQWdJQ0FnSUNBZ0lDQWdleUZwYzBkeVlXSkJjbVZoUkdsellXSnNaV1FnSmlZZ2MyaHZkMGR5WVdKQmNtVmhJQ1ltSUNoY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnUEVkeVlXSkJjbVZoWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYVhOQ2IyeGtQWHR0YjNWelpVbHpSRzkzYm4xY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCemFHOTNTR0Z1Wkd4bFBYdHRiM1Z6WlVselJHOTNiaUI4ZkNCdGIzVnpaVWx6VDNabGNrZHlZV0pCY21WaGZWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHOXVUVzkxYzJWRmJuUmxjajE3ZEdocGN5NXRiM1Z6WlVWdWRHVnlSM0poWWtGeVpXRjlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdiMjVOYjNWelpVeGxZWFpsUFh0MGFHbHpMbTF2ZFhObFRHVmhkbVZIY21GaVFYSmxZWDFjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J2YmsxdmRYTmxSRzkzYmoxN2RHaHBjeTVvWVc1a2JHVlNaWE5wZW1WVGRHRnlkSDFjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdMejVjYmlBZ0lDQWdJQ0FnSUNBZ0lDbDlYRzRnSUNBZ0lDQWdJQ0FnSUNBOFpHbDJJRzl1VFc5MWMyVlBkbVZ5UFhzaFpteDViM1YwU1hOUGNHVnVJRDhnYjI1TmIzVnpaVTkyWlhKQ2RYUjBiMjVDZFdabVpYSWdPaUJ1ZFd4c2ZUNWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ2UyTnZiR3hoY0hObFZHOW5aMnhsVkc5dmJIUnBjRU52Ym5SbGJuUWdQeUFvWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnUEZSdmIyeDBhWEJjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdOdmJuUmxiblE5ZTIxaGEyVlViMjlzZEdsd1RtOWtaU2hjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1kyOXNiR0Z3YzJWVWIyZG5iR1ZVYjI5c2RHbHdRMjl1ZEdWdWRDaHBjME52Ykd4aGNITmxaQ2tzWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBcGZWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdaR1ZzWVhrOWV6WXdNSDFjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdocFpHVlViMjlzZEdsd1QyNURiR2xqYTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2NHOXphWFJwYjI0OVhDSnlhV2RvZEZ3aVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1BseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdlMkoxZEhSdmJuMWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQThMMVJ2YjJ4MGFYQStYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDa2dPaUFvWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWW5WMGRHOXVYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDbDlYRzRnSUNBZ0lDQWdJQ0FnSUNBOEwyUnBkajVjYmlBZ0lDQWdJQ0FnSUNBOEwwWnlZV2R0Wlc1MFBseHVJQ0FnSUNBZ0lDQXBmVnh1SUNBZ0lDQWdQQzlQZFhSbGNqNWNiaUFnSUNBcE8xeHVJQ0I5WEc1OVhHNWNibVY0Y0c5eWRDQjdJRkpsYzJsNlpVTnZiblJ5YjJ3Z1lYTWdVbVZ6YVhwbFEyOXVkSEp2YkVKaGMyVWdmVHRjYmx4dVpYaHdiM0owSUdSbFptRjFiSFFnZDJsMGFFRnVZV3g1ZEdsamMwVjJaVzUwY3lncEtGSmxjMmw2WlVOdmJuUnliMndwTzF4dUlsMTkgKi9cIilcbiAgfSwgY2hhcikpO1xufVxuLyogTk9URTogZXhwZXJpbWVudGFsIHByb3BzIHVzZSBhbiB1bmRlcnNjb3JlICovXG5cblxudmFyIFJlc2l6ZUNvbnRyb2wgPVxuLyojX19QVVJFX18qL1xuZnVuY3Rpb24gKF9QdXJlQ29tcG9uZW50KSB7XG4gIF9pbmhlcml0cyhSZXNpemVDb250cm9sLCBfUHVyZUNvbXBvbmVudCk7XG5cbiAgZnVuY3Rpb24gUmVzaXplQ29udHJvbCgpIHtcbiAgICB2YXIgX2dldFByb3RvdHlwZU9mMjtcblxuICAgIHZhciBfdGhpcztcblxuICAgIF9jbGFzc0NhbGxDaGVjayh0aGlzLCBSZXNpemVDb250cm9sKTtcblxuICAgIGZvciAodmFyIF9sZW4gPSBhcmd1bWVudHMubGVuZ3RoLCBhcmdzID0gbmV3IEFycmF5KF9sZW4pLCBfa2V5ID0gMDsgX2tleSA8IF9sZW47IF9rZXkrKykge1xuICAgICAgYXJnc1tfa2V5XSA9IGFyZ3VtZW50c1tfa2V5XTtcbiAgICB9XG5cbiAgICBfdGhpcyA9IF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHRoaXMsIChfZ2V0UHJvdG90eXBlT2YyID0gX2dldFByb3RvdHlwZU9mKFJlc2l6ZUNvbnRyb2wpKS5jYWxsLmFwcGx5KF9nZXRQcm90b3R5cGVPZjIsIFt0aGlzXS5jb25jYXQoYXJncykpKTtcblxuICAgIF9kZWZpbmVQcm9wZXJ0eShfYXNzZXJ0VGhpc0luaXRpYWxpemVkKF90aGlzKSwgXCJpbnZhbGlkRHJhZ0F0dGVtcHRlZFwiLCBmYWxzZSk7XG5cbiAgICBfZGVmaW5lUHJvcGVydHkoX2Fzc2VydFRoaXNJbml0aWFsaXplZChfdGhpcyksIFwibGFzdFdpZHRoXCIsIHZvaWQgMCk7XG5cbiAgICBfZGVmaW5lUHJvcGVydHkoX2Fzc2VydFRoaXNJbml0aWFsaXplZChfdGhpcyksIFwid3JhcHBlclwiLCB2b2lkIDApO1xuXG4gICAgX2RlZmluZVByb3BlcnR5KF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoX3RoaXMpLCBcInN0YXRlXCIsIHtcbiAgICAgIGRlbHRhOiAwLFxuICAgICAgZGlkRHJhZ09wZW46IGZhbHNlLFxuICAgICAgaXNEcmFnZ2luZzogZmFsc2UsXG4gICAgICBpbml0aWFsV2lkdGg6IDAsXG4gICAgICBpbml0aWFsWDogMCxcbiAgICAgIG1vdXNlSXNEb3duOiBmYWxzZSxcbiAgICAgIG1vdXNlSXNPdmVyR3JhYkFyZWE6IGZhbHNlLFxuICAgICAgc2hvd0dyYWJBcmVhOiB0cnVlLFxuICAgICAgd2lkdGg6IF90aGlzLnByb3BzLm5hdmlnYXRpb24uc3RhdGUucHJvZHVjdE5hdldpZHRoXG4gICAgfSk7XG5cbiAgICBfZGVmaW5lUHJvcGVydHkoX2Fzc2VydFRoaXNJbml0aWFsaXplZChfdGhpcyksIFwib25SZXNpemVyQ2hldnJvbkNsaWNrXCIsIGZ1bmN0aW9uICgpIHtcbiAgICAgIHZhciB0cmlnZ2VyID0gX3RoaXMucHJvcHMuZmx5b3V0SXNPcGVuID8gJ2NoZXZyb25Ib3ZlcicgOiAnY2hldnJvbic7XG5cbiAgICAgIF90aGlzLnRvZ2dsZUNvbGxhcHNlKHRyaWdnZXIpO1xuICAgIH0pO1xuXG4gICAgX2RlZmluZVByb3BlcnR5KF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoX3RoaXMpLCBcIm1vdXNlRW50ZXJHcmFiQXJlYVwiLCBmdW5jdGlvbiAoKSB7XG4gICAgICBfdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgIG1vdXNlSXNPdmVyR3JhYkFyZWE6IHRydWVcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgX2RlZmluZVByb3BlcnR5KF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoX3RoaXMpLCBcIm1vdXNlTGVhdmVHcmFiQXJlYVwiLCBmdW5jdGlvbiAoKSB7XG4gICAgICBfdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgIG1vdXNlSXNPdmVyR3JhYkFyZWE6IGZhbHNlXG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIF9kZWZpbmVQcm9wZXJ0eShfYXNzZXJ0VGhpc0luaXRpYWxpemVkKF90aGlzKSwgXCJ0b2dnbGVDb2xsYXBzZVwiLCBmdW5jdGlvbiAodHJpZ2dlcikge1xuICAgICAgdmFyIF90aGlzJHByb3BzID0gX3RoaXMucHJvcHMsXG4gICAgICAgICAgbmF2aWdhdGlvbiA9IF90aGlzJHByb3BzLm5hdmlnYXRpb24sXG4gICAgICAgICAgY3JlYXRlQW5hbHl0aWNzRXZlbnQgPSBfdGhpcyRwcm9wcy5jcmVhdGVBbmFseXRpY3NFdmVudDtcbiAgICAgIHZhciBuZXdDb2xsYXBzZWRTdGF0ZSA9ICFuYXZpZ2F0aW9uLnN0YXRlLmlzQ29sbGFwc2VkO1xuICAgICAgbmF2aWdhdGlvbi50b2dnbGVDb2xsYXBzZSgpO1xuICAgICAgbmF2aWdhdGlvbkV4cGFuZGVkQ29sbGFwc2VkKGNyZWF0ZUFuYWx5dGljc0V2ZW50LCB7XG4gICAgICAgIHRyaWdnZXI6IHRyaWdnZXIsXG4gICAgICAgIGlzQ29sbGFwc2VkOiBuZXdDb2xsYXBzZWRTdGF0ZVxuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBfZGVmaW5lUHJvcGVydHkoX2Fzc2VydFRoaXNJbml0aWFsaXplZChfdGhpcyksIFwiaGFuZGxlUmVzaXplU3RhcnRcIiwgZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICB2YXIgaW5pdGlhbFggPSBldmVudC5wYWdlWDtcblxuICAgICAgX3RoaXMuc2V0U3RhdGUoe1xuICAgICAgICBpbml0aWFsWDogaW5pdGlhbFgsXG4gICAgICAgIG1vdXNlSXNEb3duOiB0cnVlXG4gICAgICB9KTsgLy8gYXR0YWNoIGhhbmRsZXJzIChoYW5kbGVSZXNpemVTdGFydCBpcyBhIGJvdW5kIHRvIG9uTW91c2VEb3duKVxuXG5cbiAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdtb3VzZW1vdmUnLCBfdGhpcy5oYW5kbGVSZXNpemUpO1xuICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNldXAnLCBfdGhpcy5oYW5kbGVSZXNpemVFbmQpO1xuICAgIH0pO1xuXG4gICAgX2RlZmluZVByb3BlcnR5KF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoX3RoaXMpLCBcImluaXRpYWxpemVEcmFnXCIsIGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgdmFyIG5hdmlnYXRpb24gPSBfdGhpcy5wcm9wcy5uYXZpZ2F0aW9uO1xuICAgICAgdmFyIGRlbHRhID0gZXZlbnQucGFnZVggLSBfdGhpcy5zdGF0ZS5pbml0aWFsWDtcbiAgICAgIHZhciBpc0NvbGxhcHNlZCA9IG5hdmlnYXRpb24uc3RhdGUuaXNDb2xsYXBzZWQ7IC8vIG9ubHkgaW5pdGlhbGl6ZSB3aGVuIGRyYWcgaW50ZW50aW9uIGlzIFwiZXhwYW5kXCJcblxuICAgICAgaWYgKGlzQ29sbGFwc2VkICYmIGRlbHRhIDw9IDApIHtcbiAgICAgICAgX3RoaXMuaW52YWxpZERyYWdBdHRlbXB0ZWQgPSB0cnVlO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHZhciBpbml0aWFsV2lkdGggPSBuYXZpZ2F0aW9uLnN0YXRlLnByb2R1Y3ROYXZXaWR0aDtcbiAgICAgIHZhciBkaWREcmFnT3BlbiA9IGZhbHNlOyAvLyBOT1RFXG4gICAgICAvLyBpZiB0aGUgcHJvZHVjdCBuYXYgaXMgY29sbGFwc2VkIGFuZCB0aGUgY29uc3VtZXIgc3RhcnRzIGRyYWdnaW5nIGl0IG9wZW5cbiAgICAgIC8vIHdlIG11c3QgZXhwYW5kIGl0IGFuZCBkcmFnIHNob3VsZCBzdGFydCBmcm9tIDAuXG5cbiAgICAgIGlmIChpc0NvbGxhcHNlZCkge1xuICAgICAgICBpbml0aWFsV2lkdGggPSBDT05URU5UX05BVl9XSURUSF9DT0xMQVBTRUQ7XG4gICAgICAgIGRpZERyYWdPcGVuID0gdHJ1ZTtcbiAgICAgICAgbmF2aWdhdGlvbi5tYW51YWxSZXNpemVTdGFydCh7XG4gICAgICAgICAgcHJvZHVjdE5hdldpZHRoOiBDT05URU5UX05BVl9XSURUSF9DT0xMQVBTRUQsXG4gICAgICAgICAgaXNDb2xsYXBzZWQ6IGZhbHNlXG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbmF2aWdhdGlvbi5tYW51YWxSZXNpemVTdGFydChuYXZpZ2F0aW9uLnN0YXRlKTtcbiAgICAgIH1cblxuICAgICAgX3RoaXMuc2V0U3RhdGUoe1xuICAgICAgICBkaWREcmFnT3BlbjogZGlkRHJhZ09wZW4sXG4gICAgICAgIGluaXRpYWxXaWR0aDogaW5pdGlhbFdpZHRoLFxuICAgICAgICBpc0RyYWdnaW5nOiB0cnVlXG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIF9kZWZpbmVQcm9wZXJ0eShfYXNzZXJ0VGhpc0luaXRpYWxpemVkKF90aGlzKSwgXCJoYW5kbGVSZXNpemVcIiwgcmFmKGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgdmFyIG11dGF0aW9uUmVmcyA9IF90aGlzLnByb3BzLm11dGF0aW9uUmVmcztcbiAgICAgIHZhciBfdGhpcyRzdGF0ZSA9IF90aGlzLnN0YXRlLFxuICAgICAgICAgIGluaXRpYWxYID0gX3RoaXMkc3RhdGUuaW5pdGlhbFgsXG4gICAgICAgICAgaW5pdGlhbFdpZHRoID0gX3RoaXMkc3RhdGUuaW5pdGlhbFdpZHRoLFxuICAgICAgICAgIGlzRHJhZ2dpbmcgPSBfdGhpcyRzdGF0ZS5pc0RyYWdnaW5nLFxuICAgICAgICAgIG1vdXNlSXNEb3duID0gX3RoaXMkc3RhdGUubW91c2VJc0Rvd247IC8vIG9uIG9jY2FzaW9uIGEgbW91c2UgbW92ZSBldmVudCBvY2N1cnMgYmVmb3JlIHRoZSBldmVudCBsaXN0ZW5lcnNcbiAgICAgIC8vIGhhdmUgYSBjaGFuY2UgdG8gZGV0YWNoXG5cbiAgICAgIGlmICghbW91c2VJc0Rvd24pIHJldHVybjsgLy8gaW5pdGlhbGl6ZSBkcmFnZ2luZ1xuXG4gICAgICBpZiAoIWlzRHJhZ2dpbmcpIHtcbiAgICAgICAgX3RoaXMuaW5pdGlhbGl6ZURyYWcoZXZlbnQpO1xuXG4gICAgICAgIHJldHVybjtcbiAgICAgIH0gLy8gYWxsb3cgdGhlIHByb2R1Y3QgbmF2IHRvIGJlIDc1JSBvZiB0aGUgYXZhaWxhYmxlIHBhZ2Ugd2lkdGhcblxuXG4gICAgICB2YXIgbWF4V2lkdGggPSBNYXRoLnJvdW5kKHdpbmRvdy5pbm5lcldpZHRoIC8gNCAqIDMpO1xuICAgICAgdmFyIG1pbldpZHRoID0gQ09OVEVOVF9OQVZfV0lEVEhfQ09MTEFQU0VEO1xuICAgICAgdmFyIGFkanVzdGVkTWF4ID0gbWF4V2lkdGggLSBpbml0aWFsV2lkdGggLSBHTE9CQUxfTkFWX1dJRFRIO1xuICAgICAgdmFyIGFkanVzdGVkTWluID0gbWluV2lkdGggLSBpbml0aWFsV2lkdGg7XG4gICAgICB2YXIgZGVsdGEgPSBNYXRoLm1heChNYXRoLm1pbihldmVudC5wYWdlWCAtIGluaXRpYWxYLCBhZGp1c3RlZE1heCksIGFkanVzdGVkTWluKTtcbiAgICAgIHZhciB3aWR0aCA9IGluaXRpYWxXaWR0aCArIGRlbHRhOyAvLyBhcHBseSB1cGRhdGVkIHN0eWxlcyB0byB0aGUgYXBwbGljYWJsZSBET00gbm9kZXNcblxuICAgICAgdXBkYXRlUmVzaXplQXJlYVBvc2l0aW9uKG11dGF0aW9uUmVmcywgd2lkdGgpOyAvLyBOT1RFOiBoaWphY2sgdGhlIG1hdWFsIHJlc2l6ZSBhbmQgZm9yY2UgY29sbGFwc2UsIGNhbmNlbHMgbW91c2UgZXZlbnRzXG5cbiAgICAgIGlmIChldmVudC5jbGllbnRYIDwgMCkge1xuICAgICAgICBfdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgICAgd2lkdGg6IENPTlRFTlRfTkFWX1dJRFRIX0NPTExBUFNFRFxuICAgICAgICB9KTtcblxuICAgICAgICBfdGhpcy5oYW5kbGVSZXNpemVFbmQoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIG1haW50YWluIGludGVybmFsIHdpZHRoLCBhcHBsaWVkIHRvIG5hdmlnYXRpb24gc3RhdGUgb24gcmVzaXplIGVuZFxuICAgICAgICBfdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgICAgZGVsdGE6IGRlbHRhLFxuICAgICAgICAgIHdpZHRoOiB3aWR0aFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KSk7XG5cbiAgICBfZGVmaW5lUHJvcGVydHkoX2Fzc2VydFRoaXNJbml0aWFsaXplZChfdGhpcyksIFwiaGFuZGxlUmVzaXplRW5kXCIsIGZ1bmN0aW9uICgpIHtcbiAgICAgIHZhciBfdGhpcyRwcm9wczIgPSBfdGhpcy5wcm9wcyxcbiAgICAgICAgICBuYXZpZ2F0aW9uID0gX3RoaXMkcHJvcHMyLm5hdmlnYXRpb24sXG4gICAgICAgICAgY3JlYXRlQW5hbHl0aWNzRXZlbnQgPSBfdGhpcyRwcm9wczIuY3JlYXRlQW5hbHl0aWNzRXZlbnQ7XG4gICAgICB2YXIgX3RoaXMkc3RhdGUyID0gX3RoaXMuc3RhdGUsXG4gICAgICAgICAgZGVsdGEgPSBfdGhpcyRzdGF0ZTIuZGVsdGEsXG4gICAgICAgICAgZGlkRHJhZ09wZW4gPSBfdGhpcyRzdGF0ZTIuZGlkRHJhZ09wZW4sXG4gICAgICAgICAgaXNEcmFnZ2luZyA9IF90aGlzJHN0YXRlMi5pc0RyYWdnaW5nLFxuICAgICAgICAgIGN1cnJlbnRXaWR0aCA9IF90aGlzJHN0YXRlMi53aWR0aDtcbiAgICAgIHZhciBleHBhbmRUaHJlc2hvbGQgPSAyNDtcbiAgICAgIHZhciByZXNpemVyQ2xpY2tlZCA9ICFpc0RyYWdnaW5nICYmICFfdGhpcy5pbnZhbGlkRHJhZ0F0dGVtcHRlZDtcbiAgICAgIHZhciBwdWJsaXNoV2lkdGggPSBjdXJyZW50V2lkdGg7XG4gICAgICB2YXIgc2hvdWxkQ29sbGFwc2UgPSBmYWxzZTsgLy8gY2hlY2sgaWYgdGhlIGludGVudGlvbiB3YXMganVzdCBhIGNsaWNrLCBhbmQgdG9nZ2xlXG5cbiAgICAgIGlmIChyZXNpemVyQ2xpY2tlZCkge1xuICAgICAgICBwdWJsaXNoV2lkdGggPSBNYXRoLm1heChDT05URU5UX05BVl9XSURUSCwgY3VycmVudFdpZHRoKTtcblxuICAgICAgICBfdGhpcy50b2dnbGVDb2xsYXBzZSgncmVzaXplckNsaWNrJyk7XG4gICAgICB9IC8vIHByZXZlbnQgdGhlIHVzZXIgZnJvbSBjcmVhdGluZyBhbiB1bnVzYWJsZSB3aWR0aFxuXG5cbiAgICAgIGlmIChwdWJsaXNoV2lkdGggPCBDT05URU5UX05BVl9XSURUSCkge1xuICAgICAgICBwdWJsaXNoV2lkdGggPSBDT05URU5UX05BVl9XSURUSDtcblxuICAgICAgICBpZiAoZGlkRHJhZ09wZW4gJiYgZGVsdGEgPiBleHBhbmRUaHJlc2hvbGQpIHtcbiAgICAgICAgICBzaG91bGRDb2xsYXBzZSA9IGZhbHNlO1xuICAgICAgICB9IGVsc2UgaWYgKGN1cnJlbnRXaWR0aCA8IEdMT0JBTF9OQVZfQ09MTEFQU0VfVEhSRVNIT0xEKSB7XG4gICAgICAgICAgc2hvdWxkQ29sbGFwc2UgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzaG91bGRDb2xsYXBzZSA9IG5hdmlnYXRpb24uc3RhdGUuaXNDb2xsYXBzZWQ7XG4gICAgICB9XG5cbiAgICAgIGlmICghcmVzaXplckNsaWNrZWQgJiYgKGRpZERyYWdPcGVuICYmICFzaG91bGRDb2xsYXBzZSB8fCAhZGlkRHJhZ09wZW4gJiYgc2hvdWxkQ29sbGFwc2UpKSB7XG4gICAgICAgIG5hdmlnYXRpb25FeHBhbmRlZENvbGxhcHNlZChjcmVhdGVBbmFseXRpY3NFdmVudCwge1xuICAgICAgICAgIHRyaWdnZXI6ICdyZXNpemVyRHJhZycsXG4gICAgICAgICAgaXNDb2xsYXBzZWQ6IHNob3VsZENvbGxhcHNlXG4gICAgICAgIH0pO1xuICAgICAgfSAvLyByZXNldCBldmVyeXRoaW5nXG5cblxuICAgICAgX3RoaXMuaW52YWxpZERyYWdBdHRlbXB0ZWQgPSBmYWxzZTtcblxuICAgICAgX3RoaXMuc2V0U3RhdGUoe1xuICAgICAgICBkaWREcmFnT3BlbjogZmFsc2UsXG4gICAgICAgIGlzRHJhZ2dpbmc6IGZhbHNlLFxuICAgICAgICBtb3VzZUlzRG93bjogZmFsc2UsXG4gICAgICAgIHdpZHRoOiBwdWJsaXNoV2lkdGhcbiAgICAgIH0pOyAvLyBwdWJsaXNoIHRoZSBuZXcgd2lkdGgsIG9uY2UgcmVzaXppbmcgY29tcGxldGVzXG5cblxuICAgICAgbmF2aWdhdGlvbi5tYW51YWxSZXNpemVFbmQoe1xuICAgICAgICBwcm9kdWN0TmF2V2lkdGg6IHB1Ymxpc2hXaWR0aCxcbiAgICAgICAgaXNDb2xsYXBzZWQ6IHNob3VsZENvbGxhcHNlXG4gICAgICB9KTtcblxuICAgICAgaWYgKHNob3VsZFJlc2V0R3JhYkFyZWEoY3VycmVudFdpZHRoKSkge1xuICAgICAgICB1cGRhdGVSZXNpemVBcmVhUG9zaXRpb24oX3RoaXMucHJvcHMubXV0YXRpb25SZWZzLCBDT05URU5UX05BVl9XSURUSCk7XG4gICAgICB9IC8vIGNsZWFudXBcblxuXG4gICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2Vtb3ZlJywgX3RoaXMuaGFuZGxlUmVzaXplKTtcbiAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZXVwJywgX3RoaXMuaGFuZGxlUmVzaXplRW5kKTtcbiAgICB9KTtcblxuICAgIHJldHVybiBfdGhpcztcbiAgfVxuXG4gIF9jcmVhdGVDbGFzcyhSZXNpemVDb250cm9sLCBbe1xuICAgIGtleTogXCJyZW5kZXJcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gcmVuZGVyKCkge1xuICAgICAgdmFyIF90aGlzJHN0YXRlMyA9IHRoaXMuc3RhdGUsXG4gICAgICAgICAgaXNEcmFnZ2luZyA9IF90aGlzJHN0YXRlMy5pc0RyYWdnaW5nLFxuICAgICAgICAgIG1vdXNlSXNEb3duID0gX3RoaXMkc3RhdGUzLm1vdXNlSXNEb3duLFxuICAgICAgICAgIG1vdXNlSXNPdmVyR3JhYkFyZWEgPSBfdGhpcyRzdGF0ZTMubW91c2VJc092ZXJHcmFiQXJlYSxcbiAgICAgICAgICBzaG93R3JhYkFyZWEgPSBfdGhpcyRzdGF0ZTMuc2hvd0dyYWJBcmVhO1xuICAgICAgdmFyIF90aGlzJHByb3BzMyA9IHRoaXMucHJvcHMsXG4gICAgICAgICAgY29sbGFwc2VUb2dnbGVUb29sdGlwQ29udGVudCA9IF90aGlzJHByb3BzMy5jb2xsYXBzZVRvZ2dsZVRvb2x0aXBDb250ZW50LFxuICAgICAgICAgIGV4cGFuZENvbGxhcHNlQWZmb3JkYW5jZVJlZiA9IF90aGlzJHByb3BzMy5leHBhbmRDb2xsYXBzZUFmZm9yZGFuY2VSZWYsXG4gICAgICAgICAgZmx5b3V0SXNPcGVuID0gX3RoaXMkcHJvcHMzLmZseW91dElzT3BlbixcbiAgICAgICAgICBpc1Jlc2l6ZURpc2FibGVkID0gX3RoaXMkcHJvcHMzLmlzRGlzYWJsZWQsXG4gICAgICAgICAgaXNHcmFiQXJlYURpc2FibGVkID0gX3RoaXMkcHJvcHMzLmlzR3JhYkFyZWFEaXNhYmxlZCxcbiAgICAgICAgICBvbk1vdXNlT3ZlckJ1dHRvbkJ1ZmZlciA9IF90aGlzJHByb3BzMy5vbk1vdXNlT3ZlckJ1dHRvbkJ1ZmZlcixcbiAgICAgICAgICBuYXZpZ2F0aW9uID0gX3RoaXMkcHJvcHMzLm5hdmlnYXRpb247XG4gICAgICB2YXIgaXNDb2xsYXBzZWQgPSBuYXZpZ2F0aW9uLnN0YXRlLmlzQ29sbGFwc2VkOyAvLyB0aGUgYnV0dG9uIHNob3VsZG4ndCBcImZsaXBcIiB1bnRpbCB0aGUgZHJhZyBpcyBjb21wbGV0ZVxuXG4gICAgICB2YXIgQnV0dG9uSWNvbiA9IENoZXZyb25MZWZ0O1xuICAgICAgaWYgKGlzQ29sbGFwc2VkKSBCdXR0b25JY29uID0gQ2hldnJvblJpZ2h0O1xuXG4gICAgICB2YXIgYnV0dG9uID0gX19fRW1vdGlvbkpTWChCdXR0b24sIHtcbiAgICAgICAgb25DbGljazogdGhpcy5vblJlc2l6ZXJDaGV2cm9uQ2xpY2ssXG4gICAgICAgIG9uTW91c2VEb3duOiBwcmV2ZW50RGVmYXVsdCxcbiAgICAgICAgaGl0QXJlYVNpemU6IG9uTW91c2VPdmVyQnV0dG9uQnVmZmVyID8gJ2xhcmdlJyA6ICdzbWFsbCcgLy8gbWFpbnRhaW4gc3R5bGVzIHdoZW4gdXNlciBpcyBkcmFnZ2luZ1xuICAgICAgICAsXG4gICAgICAgIGlzVmlzaWJsZTogaXNDb2xsYXBzZWQgfHwgbW91c2VJc0Rvd24sXG4gICAgICAgIGhhc0hpZ2hsaWdodDogbW91c2VJc0Rvd24gfHwgbW91c2VJc092ZXJHcmFiQXJlYSxcbiAgICAgICAgaW5uZXJSZWY6IGV4cGFuZENvbGxhcHNlQWZmb3JkYW5jZVJlZixcbiAgICAgICAgXCJhcmlhLWV4cGFuZGVkXCI6ICFpc0NvbGxhcHNlZCxcbiAgICAgICAgXCJhcmlhLWxhYmVsXCI6IFwiVG9nZ2xlIG5hdmlnYXRpb25cIlxuICAgICAgfSwgX19fRW1vdGlvbkpTWChCdXR0b25JY29uLCBudWxsKSk7XG5cbiAgICAgIHZhciBzaGFkb3dEaXJlY3Rpb24gPSBmbHlvdXRJc09wZW4gPyAndG8gcmlnaHQnIDogJ3RvIGxlZnQnO1xuICAgICAgcmV0dXJuIF9fX0Vtb3Rpb25KU1goT3V0ZXIsIG51bGwsIGlzRHJhZ2dpbmcgJiYgX19fRW1vdGlvbkpTWChCb2R5RHJhZ0N1cnNvciwgbnVsbCksIF9fX0Vtb3Rpb25KU1goU2hhZG93LCB7XG4gICAgICAgIGRpcmVjdGlvbjogc2hhZG93RGlyZWN0aW9uLFxuICAgICAgICBpc0JvbGQ6IG1vdXNlSXNEb3duXG4gICAgICB9KSwgIWlzUmVzaXplRGlzYWJsZWQgJiYgX19fRW1vdGlvbkpTWChGcmFnbWVudCwgbnVsbCwgIWlzR3JhYkFyZWFEaXNhYmxlZCAmJiBzaG93R3JhYkFyZWEgJiYgX19fRW1vdGlvbkpTWChHcmFiQXJlYSwge1xuICAgICAgICBpc0JvbGQ6IG1vdXNlSXNEb3duLFxuICAgICAgICBzaG93SGFuZGxlOiBtb3VzZUlzRG93biB8fCBtb3VzZUlzT3ZlckdyYWJBcmVhLFxuICAgICAgICBvbk1vdXNlRW50ZXI6IHRoaXMubW91c2VFbnRlckdyYWJBcmVhLFxuICAgICAgICBvbk1vdXNlTGVhdmU6IHRoaXMubW91c2VMZWF2ZUdyYWJBcmVhLFxuICAgICAgICBvbk1vdXNlRG93bjogdGhpcy5oYW5kbGVSZXNpemVTdGFydFxuICAgICAgfSksIF9fX0Vtb3Rpb25KU1goXCJkaXZcIiwge1xuICAgICAgICBvbk1vdXNlT3ZlcjogIWZseW91dElzT3BlbiA/IG9uTW91c2VPdmVyQnV0dG9uQnVmZmVyIDogbnVsbFxuICAgICAgfSwgY29sbGFwc2VUb2dnbGVUb29sdGlwQ29udGVudCA/IF9fX0Vtb3Rpb25KU1goVG9vbHRpcCwge1xuICAgICAgICBjb250ZW50OiBtYWtlVG9vbHRpcE5vZGUoY29sbGFwc2VUb2dnbGVUb29sdGlwQ29udGVudChpc0NvbGxhcHNlZCkpLFxuICAgICAgICBkZWxheTogNjAwLFxuICAgICAgICBoaWRlVG9vbHRpcE9uQ2xpY2s6IHRydWUsXG4gICAgICAgIHBvc2l0aW9uOiBcInJpZ2h0XCJcbiAgICAgIH0sIGJ1dHRvbikgOiBidXR0b24pKSk7XG4gICAgfVxuICB9XSwgW3tcbiAgICBrZXk6IFwiZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyhwcm9wcywgc3RhdGUpIHtcbiAgICAgIHZhciBFWFBFUklNRU5UQUxfRkxZT1VUX09OX0hPVkVSID0gcHJvcHMuZXhwZXJpbWVudGFsX2ZseW91dE9uSG92ZXIsXG4gICAgICAgICAgZmx5b3V0SXNPcGVuID0gcHJvcHMuZmx5b3V0SXNPcGVuLFxuICAgICAgICAgIG5hdmlnYXRpb24gPSBwcm9wcy5uYXZpZ2F0aW9uO1xuICAgICAgdmFyIGlzQ29sbGFwc2VkID0gbmF2aWdhdGlvbi5zdGF0ZS5pc0NvbGxhcHNlZDsgLy8gcmVzb2x2ZSBcImhvdmVyIGxvY2tpbmdcIiBpc3N1ZSB3aXRoIHJlc2l6ZSBncmFiIGFyZWFcblxuICAgICAgaWYgKEVYUEVSSU1FTlRBTF9GTFlPVVRfT05fSE9WRVIpIHtcbiAgICAgICAgdmFyIHNob3dHcmFiQXJlYSA9ICFpc0NvbGxhcHNlZCAmJiAhZmx5b3V0SXNPcGVuO1xuICAgICAgICB2YXIgbW91c2VJc092ZXJHcmFiQXJlYSA9IHNob3dHcmFiQXJlYSA/IHN0YXRlLm1vdXNlSXNPdmVyR3JhYkFyZWEgOiBmYWxzZTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBtb3VzZUlzT3ZlckdyYWJBcmVhOiBtb3VzZUlzT3ZlckdyYWJBcmVhLFxuICAgICAgICAgIHNob3dHcmFiQXJlYTogc2hvd0dyYWJBcmVhXG4gICAgICAgIH07XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfV0pO1xuXG4gIHJldHVybiBSZXNpemVDb250cm9sO1xufShQdXJlQ29tcG9uZW50KTtcblxuX2RlZmluZVByb3BlcnR5KFJlc2l6ZUNvbnRyb2wsIFwiZGVmYXVsdFByb3BzXCIsIHtcbiAgaXNHcmFiQXJlYURpc2FibGVkOiBmYWxzZVxufSk7XG5cbmV4cG9ydCB7IFJlc2l6ZUNvbnRyb2wgYXMgUmVzaXplQ29udHJvbEJhc2UgfTtcbmV4cG9ydCBkZWZhdWx0IHdpdGhBbmFseXRpY3NFdmVudHMoKShSZXNpemVDb250cm9sKTsiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw4QkFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/LayoutManager/ResizeControl.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/LayoutManager/index.js": /*!**********************************************************************************************************!*\ !*** ./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/LayoutManager/index.js ***! \**********************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return ConnectedLayoutManager; });\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ \"./node_modules/@babel/runtime/helpers/classCallCheck.js\");\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\");\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ \"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ \"./node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ \"./node_modules/@babel/runtime/helpers/inherits.js\");\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ \"./node_modules/@babel/runtime/helpers/defineProperty.js\");\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _emotion_core__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @emotion/core */ \"./node_modules/@emotion/core/dist/core.browser.esm.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _ui_controller__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../../ui-controller */ \"./node_modules/@atlaskit/navigation-next/dist/esm/ui-controller.js\");\n/* harmony import */ var _LayoutManager__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./LayoutManager */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/LayoutManager/LayoutManager.js\");\n\n\n\n\n\n\n\n\n\n\n\nfunction defaultTooltipContent(isCollapsed) {\n return isCollapsed ? {\n text: 'Expand',\n char: '['\n } : {\n text: 'Collapse',\n char: '['\n };\n}\n\nvar LayoutManagerWithNavigationUIController = Object(_ui_controller__WEBPACK_IMPORTED_MODULE_8__[\"withNavigationUIController\"])(_LayoutManager__WEBPACK_IMPORTED_MODULE_9__[\"default\"]);\n\nvar ConnectedLayoutManager =\n/*#__PURE__*/\nfunction (_Component) {\n _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4___default()(ConnectedLayoutManager, _Component);\n\n function ConnectedLayoutManager() {\n _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default()(this, ConnectedLayoutManager);\n\n return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2___default()(this, _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3___default()(ConnectedLayoutManager).apply(this, arguments));\n }\n\n _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1___default()(ConnectedLayoutManager, [{\n key: \"render\",\n value: function render() {\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_6__[\"jsx\"])(LayoutManagerWithNavigationUIController, this.props);\n }\n }]);\n\n return ConnectedLayoutManager;\n}(react__WEBPACK_IMPORTED_MODULE_7__[\"Component\"]);\n\n_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_5___default()(ConnectedLayoutManager, \"defaultProps\", {\n collapseToggleTooltipContent: defaultTooltipContent,\n experimental_alternateFlyoutBehaviour: false,\n experimental_flyoutOnHover: false,\n experimental_fullWidthFlyout: false,\n experimental_hideNavVisuallyOnCollapse: false,\n experimental_horizontalGlobalNav: false,\n topOffset: 0\n});\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL0xheW91dE1hbmFnZXIvaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL0xheW91dE1hbmFnZXIvaW5kZXguanM/YWQ3ZiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgX2NsYXNzQ2FsbENoZWNrIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2NsYXNzQ2FsbENoZWNrXCI7XG5pbXBvcnQgX2NyZWF0ZUNsYXNzIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2NyZWF0ZUNsYXNzXCI7XG5pbXBvcnQgX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4gZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvcG9zc2libGVDb25zdHJ1Y3RvclJldHVyblwiO1xuaW1wb3J0IF9nZXRQcm90b3R5cGVPZiBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9nZXRQcm90b3R5cGVPZlwiO1xuaW1wb3J0IF9pbmhlcml0cyBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9pbmhlcml0c1wiO1xuaW1wb3J0IF9kZWZpbmVQcm9wZXJ0eSBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9kZWZpbmVQcm9wZXJ0eVwiO1xuaW1wb3J0IHsganN4IGFzIF9fX0Vtb3Rpb25KU1ggfSBmcm9tIFwiQGVtb3Rpb24vY29yZVwiO1xuaW1wb3J0IFJlYWN0LCB7IENvbXBvbmVudCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHdpdGhOYXZpZ2F0aW9uVUlDb250cm9sbGVyIH0gZnJvbSAnLi4vLi4vLi4vdWktY29udHJvbGxlcic7XG5pbXBvcnQgTGF5b3V0TWFuYWdlciBmcm9tICcuL0xheW91dE1hbmFnZXInO1xuXG5mdW5jdGlvbiBkZWZhdWx0VG9vbHRpcENvbnRlbnQoaXNDb2xsYXBzZWQpIHtcbiAgcmV0dXJuIGlzQ29sbGFwc2VkID8ge1xuICAgIHRleHQ6ICdFeHBhbmQnLFxuICAgIGNoYXI6ICdbJ1xuICB9IDoge1xuICAgIHRleHQ6ICdDb2xsYXBzZScsXG4gICAgY2hhcjogJ1snXG4gIH07XG59XG5cbnZhciBMYXlvdXRNYW5hZ2VyV2l0aE5hdmlnYXRpb25VSUNvbnRyb2xsZXIgPSB3aXRoTmF2aWdhdGlvblVJQ29udHJvbGxlcihMYXlvdXRNYW5hZ2VyKTtcblxudmFyIENvbm5lY3RlZExheW91dE1hbmFnZXIgPVxuLyojX19QVVJFX18qL1xuZnVuY3Rpb24gKF9Db21wb25lbnQpIHtcbiAgX2luaGVyaXRzKENvbm5lY3RlZExheW91dE1hbmFnZXIsIF9Db21wb25lbnQpO1xuXG4gIGZ1bmN0aW9uIENvbm5lY3RlZExheW91dE1hbmFnZXIoKSB7XG4gICAgX2NsYXNzQ2FsbENoZWNrKHRoaXMsIENvbm5lY3RlZExheW91dE1hbmFnZXIpO1xuXG4gICAgcmV0dXJuIF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHRoaXMsIF9nZXRQcm90b3R5cGVPZihDb25uZWN0ZWRMYXlvdXRNYW5hZ2VyKS5hcHBseSh0aGlzLCBhcmd1bWVudHMpKTtcbiAgfVxuXG4gIF9jcmVhdGVDbGFzcyhDb25uZWN0ZWRMYXlvdXRNYW5hZ2VyLCBbe1xuICAgIGtleTogXCJyZW5kZXJcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gcmVuZGVyKCkge1xuICAgICAgcmV0dXJuIF9fX0Vtb3Rpb25KU1goTGF5b3V0TWFuYWdlcldpdGhOYXZpZ2F0aW9uVUlDb250cm9sbGVyLCB0aGlzLnByb3BzKTtcbiAgICB9XG4gIH1dKTtcblxuICByZXR1cm4gQ29ubmVjdGVkTGF5b3V0TWFuYWdlcjtcbn0oQ29tcG9uZW50KTtcblxuX2RlZmluZVByb3BlcnR5KENvbm5lY3RlZExheW91dE1hbmFnZXIsIFwiZGVmYXVsdFByb3BzXCIsIHtcbiAgY29sbGFwc2VUb2dnbGVUb29sdGlwQ29udGVudDogZGVmYXVsdFRvb2x0aXBDb250ZW50LFxuICBleHBlcmltZW50YWxfYWx0ZXJuYXRlRmx5b3V0QmVoYXZpb3VyOiBmYWxzZSxcbiAgZXhwZXJpbWVudGFsX2ZseW91dE9uSG92ZXI6IGZhbHNlLFxuICBleHBlcmltZW50YWxfZnVsbFdpZHRoRmx5b3V0OiBmYWxzZSxcbiAgZXhwZXJpbWVudGFsX2hpZGVOYXZWaXN1YWxseU9uQ29sbGFwc2U6IGZhbHNlLFxuICBleHBlcmltZW50YWxfaG9yaXpvbnRhbEdsb2JhbE5hdjogZmFsc2UsXG4gIHRvcE9mZnNldDogMFxufSk7XG5cbmV4cG9ydCB7IENvbm5lY3RlZExheW91dE1hbmFnZXIgYXMgZGVmYXVsdCB9OyJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/LayoutManager/index.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/LayoutManager/nav-components.js": /*!*******************************************************************************************************************!*\ !*** ./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/LayoutManager/nav-components.js ***! \*******************************************************************************************************************/ /*! exports provided: ComposedContainerNavigation, ComposedGlobalNavigation */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ComposedContainerNavigation\", function() { return ComposedContainerNavigation; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ComposedGlobalNavigation\", function() { return ComposedGlobalNavigation; });\n/* harmony import */ var _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/objectSpread */ \"./node_modules/@babel/runtime/helpers/objectSpread.js\");\n/* harmony import */ var _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _emotion_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @emotion/css */ \"./node_modules/@emotion/css/dist/css.browser.esm.js\");\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ \"./node_modules/@babel/runtime/helpers/classCallCheck.js\");\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\");\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ \"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ \"./node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ \"./node_modules/@babel/runtime/helpers/inherits.js\");\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _emotion_core__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @emotion/core */ \"./node_modules/@emotion/core/dist/core.browser.esm.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony import */ var react_fast_compare__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! react-fast-compare */ \"./node_modules/react-fast-compare/index.js\");\n/* harmony import */ var react_fast_compare__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(react_fast_compare__WEBPACK_IMPORTED_MODULE_10__);\n/* harmony import */ var _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @atlaskit/theme/colors */ \"./node_modules/@atlaskit/theme/dist/esm/colors.js\");\n/* harmony import */ var _common_constants__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../../common/constants */ \"./node_modules/@atlaskit/navigation-next/dist/esm/common/constants.js\");\n/* harmony import */ var _common_primitives__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../../common/primitives */ \"./node_modules/@atlaskit/navigation-next/dist/esm/common/primitives.js\");\n/* harmony import */ var _theme__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../../../theme */ \"./node_modules/@atlaskit/navigation-next/dist/esm/theme/index.js\");\n/* harmony import */ var _ContentNavigation__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../ContentNavigation */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/ContentNavigation/index.js\");\n/* harmony import */ var _ContentNavigation_primitives__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../ContentNavigation/primitives */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/ContentNavigation/primitives.js\");\n/* harmony import */ var _ResizeTransition__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../ResizeTransition */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/ResizeTransition/index.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar ComposedContainerNavigation =\n/*#__PURE__*/\nfunction (_Component) {\n _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_7___default()(ComposedContainerNavigation, _Component);\n\n function ComposedContainerNavigation() {\n _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_3___default()(this, ComposedContainerNavigation);\n\n return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_5___default()(this, _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_6___default()(ComposedContainerNavigation).apply(this, arguments));\n }\n\n _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_4___default()(ComposedContainerNavigation, [{\n key: \"shouldComponentUpdate\",\n value: function shouldComponentUpdate(nextProps) {\n var props = this.props;\n return !react_fast_compare__WEBPACK_IMPORTED_MODULE_10___default()(props, nextProps);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n containerNavigation = _this$props.containerNavigation,\n datasets = _this$props.datasets,\n EXPERIMENTAL_FLYOUT_ON_HOVER = _this$props.experimental_flyoutOnHover,\n EXPERIMENTAL_HIDE_NAV_VISUALLY_ON_COLLAPSE = _this$props.experimental_hideNavVisuallyOnCollapse,\n productNavigation = _this$props.productNavigation,\n transitionState = _this$props.transitionState,\n transitionStyle = _this$props.transitionStyle,\n isCollapsed = _this$props.isCollapsed,\n isResizing = _this$props.isResizing,\n getNavRef = _this$props.getNavRef,\n expand = _this$props.expand,\n view = _this$props.view;\n var isVisible = transitionState !== 'exited';\n var shouldDisableInteraction = isResizing || Object(_ResizeTransition__WEBPACK_IMPORTED_MODULE_17__[\"isTransitioning\"])(transitionState);\n var dataset = datasets ? datasets.contextualNavigation : {};\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_8__[\"jsx\"])(_ContentNavigation_primitives__WEBPACK_IMPORTED_MODULE_16__[\"ContentNavigationWrapper\"], _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_1___default()({\n key: \"product-nav-wrapper\",\n innerRef: getNavRef,\n disableInteraction: shouldDisableInteraction,\n style: transitionStyle\n }, dataset), Object(_emotion_core__WEBPACK_IMPORTED_MODULE_8__[\"jsx\"])(_ContentNavigation__WEBPACK_IMPORTED_MODULE_15__[\"default\"], {\n container: containerNavigation,\n isVisible: isVisible,\n key: \"product-nav\",\n product: productNavigation,\n experimental_hideNavVisuallyOnCollapse: EXPERIMENTAL_HIDE_NAV_VISUALLY_ON_COLLAPSE,\n view: view\n }), isCollapsed && !EXPERIMENTAL_FLYOUT_ON_HOVER ?\n /* eslint-disable jsx-a11y/click-events-have-key-events */\n Object(_emotion_core__WEBPACK_IMPORTED_MODULE_8__[\"jsx\"])(\"div\", {\n \"aria-label\": \"Click to expand the navigation\",\n role: \"button\",\n onClick: expand,\n css:\n /*#__PURE__*/\n Object(_emotion_css__WEBPACK_IMPORTED_MODULE_2__[\"default\"])({\n cursor: 'pointer',\n height: '100%',\n outline: 0,\n position: 'absolute',\n transition: 'background-color 100ms',\n width: _common_constants__WEBPACK_IMPORTED_MODULE_12__[\"CONTENT_NAV_WIDTH_COLLAPSED\"],\n ':hover': {\n backgroundColor: containerNavigation ? _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_11__[\"N30\"] : 'rgba(255, 255, 255, 0.08)'\n },\n ':active': {\n backgroundColor: _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_11__[\"N40A\"]\n }\n }, false ? undefined : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL0xheW91dE1hbmFnZXIvbmF2LWNvbXBvbmVudHMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBc0VZIiwiZmlsZSI6Ii4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL0xheW91dE1hbmFnZXIvbmF2LWNvbXBvbmVudHMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgQ29tcG9uZW50LCBGcmFnbWVudCB9IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IGRlZXBFcXVhbCBmcm9tICdyZWFjdC1mYXN0LWNvbXBhcmUnO1xuXG5pbXBvcnQgeyBOMzAsIE40MEEgfSBmcm9tICdAYXRsYXNraXQvdGhlbWUvY29sb3JzJztcblxuaW1wb3J0IHtcbiAgQ09OVEVOVF9OQVZfV0lEVEhfQ09MTEFQU0VELFxuICBHTE9CQUxfTkFWX1dJRFRILFxufSBmcm9tICcuLi8uLi8uLi9jb21tb24vY29uc3RhbnRzJztcbmltcG9ydCB7IFNoYWRvdyB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9wcmltaXRpdmVzJztcbmltcG9ydCB7IGxpZ2h0LCBUaGVtZVByb3ZpZGVyIH0gZnJvbSAnLi4vLi4vLi4vdGhlbWUnO1xuaW1wb3J0IENvbnRlbnROYXZpZ2F0aW9uIGZyb20gJy4uL0NvbnRlbnROYXZpZ2F0aW9uJztcbmltcG9ydCB7IENvbnRlbnROYXZpZ2F0aW9uV3JhcHBlciB9IGZyb20gJy4uL0NvbnRlbnROYXZpZ2F0aW9uL3ByaW1pdGl2ZXMnO1xuaW1wb3J0IHsgaXNUcmFuc2l0aW9uaW5nIH0gZnJvbSAnLi4vUmVzaXplVHJhbnNpdGlvbic7XG5cbmV4cG9ydCBjbGFzcyBDb21wb3NlZENvbnRhaW5lck5hdmlnYXRpb24gZXh0ZW5kcyBDb21wb25lbnQge1xuICBzaG91bGRDb21wb25lbnRVcGRhdGUobmV4dFByb3BzKSB7XG4gICAgY29uc3QgeyBwcm9wcyB9ID0gdGhpcztcbiAgICByZXR1cm4gIWRlZXBFcXVhbChwcm9wcywgbmV4dFByb3BzKTtcbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICBjb250YWluZXJOYXZpZ2F0aW9uLFxuICAgICAgZGF0YXNldHMsXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgY2FtZWxjYXNlXG4gICAgICBleHBlcmltZW50YWxfZmx5b3V0T25Ib3ZlcjogRVhQRVJJTUVOVEFMX0ZMWU9VVF9PTl9IT1ZFUixcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBjYW1lbGNhc2VcbiAgICAgIGV4cGVyaW1lbnRhbF9oaWRlTmF2VmlzdWFsbHlPbkNvbGxhcHNlOiBFWFBFUklNRU5UQUxfSElERV9OQVZfVklTVUFMTFlfT05fQ09MTEFQU0UsXG4gICAgICBwcm9kdWN0TmF2aWdhdGlvbixcbiAgICAgIHRyYW5zaXRpb25TdGF0ZSxcbiAgICAgIHRyYW5zaXRpb25TdHlsZSxcbiAgICAgIGlzQ29sbGFwc2VkLFxuICAgICAgaXNSZXNpemluZyxcbiAgICAgIGdldE5hdlJlZixcbiAgICAgIGV4cGFuZCxcbiAgICAgIHZpZXcsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBpc1Zpc2libGUgPSB0cmFuc2l0aW9uU3RhdGUgIT09ICdleGl0ZWQnO1xuICAgIGNvbnN0IHNob3VsZERpc2FibGVJbnRlcmFjdGlvbiA9XG4gICAgICBpc1Jlc2l6aW5nIHx8IGlzVHJhbnNpdGlvbmluZyh0cmFuc2l0aW9uU3RhdGUpO1xuXG4gICAgY29uc3QgZGF0YXNldCA9IGRhdGFzZXRzID8gZGF0YXNldHMuY29udGV4dHVhbE5hdmlnYXRpb24gOiB7fTtcblxuICAgIHJldHVybiAoXG4gICAgICA8Q29udGVudE5hdmlnYXRpb25XcmFwcGVyXG4gICAgICAgIGtleT1cInByb2R1Y3QtbmF2LXdyYXBwZXJcIlxuICAgICAgICBpbm5lclJlZj17Z2V0TmF2UmVmfVxuICAgICAgICBkaXNhYmxlSW50ZXJhY3Rpb249e3Nob3VsZERpc2FibGVJbnRlcmFjdGlvbn1cbiAgICAgICAgc3R5bGU9e3RyYW5zaXRpb25TdHlsZX1cbiAgICAgICAgey4uLmRhdGFzZXR9XG4gICAgICA+XG4gICAgICAgIDxDb250ZW50TmF2aWdhdGlvblxuICAgICAgICAgIGNvbnRhaW5lcj17Y29udGFpbmVyTmF2aWdhdGlvbn1cbiAgICAgICAgICBpc1Zpc2libGU9e2lzVmlzaWJsZX1cbiAgICAgICAgICBrZXk9XCJwcm9kdWN0LW5hdlwiXG4gICAgICAgICAgcHJvZHVjdD17cHJvZHVjdE5hdmlnYXRpb259XG4gICAgICAgICAgZXhwZXJpbWVudGFsX2hpZGVOYXZWaXN1YWxseU9uQ29sbGFwc2U9e1xuICAgICAgICAgICAgRVhQRVJJTUVOVEFMX0hJREVfTkFWX1ZJU1VBTExZX09OX0NPTExBUFNFXG4gICAgICAgICAgfVxuICAgICAgICAgIHZpZXc9e3ZpZXd9XG4gICAgICAgIC8+XG4gICAgICAgIHtpc0NvbGxhcHNlZCAmJiAhRVhQRVJJTUVOVEFMX0ZMWU9VVF9PTl9IT1ZFUiA/IChcbiAgICAgICAgICAvKiBlc2xpbnQtZGlzYWJsZSBqc3gtYTExeS9jbGljay1ldmVudHMtaGF2ZS1rZXktZXZlbnRzICovXG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgYXJpYS1sYWJlbD1cIkNsaWNrIHRvIGV4cGFuZCB0aGUgbmF2aWdhdGlvblwiXG4gICAgICAgICAgICByb2xlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e2V4cGFuZH1cbiAgICAgICAgICAgIGNzcz17e1xuICAgICAgICAgICAgICBjdXJzb3I6ICdwb2ludGVyJyxcbiAgICAgICAgICAgICAgaGVpZ2h0OiAnMTAwJScsXG4gICAgICAgICAgICAgIG91dGxpbmU6IDAsXG4gICAgICAgICAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgICAgICAgICAgICB0cmFuc2l0aW9uOiAnYmFja2dyb3VuZC1jb2xvciAxMDBtcycsXG4gICAgICAgICAgICAgIHdpZHRoOiBDT05URU5UX05BVl9XSURUSF9DT0xMQVBTRUQsXG5cbiAgICAgICAgICAgICAgJzpob3Zlcic6IHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IGNvbnRhaW5lck5hdmlnYXRpb25cbiAgICAgICAgICAgICAgICAgID8gTjMwXG4gICAgICAgICAgICAgICAgICA6ICdyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpJyxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgJzphY3RpdmUnOiB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBONDBBLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIHRhYkluZGV4PXstMX1cbiAgICAgICAgICAvPlxuICAgICAgICApIDogLyogZXNsaW50LWVuYWJsZSAqL1xuICAgICAgICBudWxsfVxuICAgICAgPC9Db250ZW50TmF2aWdhdGlvbldyYXBwZXI+XG4gICAgKTtcbiAgfVxufVxuXG4vLyBTaGFsbG93IGNvbXBhcmlzaW9uIG9mIHByb3BzIGlzIHN1ZmZpY2VpbnQgaW4gdGhpcyBjYXNlXG5leHBvcnQgY2xhc3MgQ29tcG9zZWRHbG9iYWxOYXZpZ2F0aW9uIGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHtcbiAgICAgIGNvbnRhaW5lck5hdmlnYXRpb24sXG4gICAgICBkYXRhc2V0cyxcbiAgICAgIGdsb2JhbE5hdmlnYXRpb246IEdsb2JhbE5hdmlnYXRpb24sXG4gICAgICB0b3BPZmZzZXQsXG4gICAgICBzaG91bGRIaWRlR2xvYmFsTmF2U2hhZG93LFxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGNhbWVsY2FzZVxuICAgICAgZXhwZXJpbWVudGFsX2FsdGVybmF0ZUZseW91dEJlaGF2aW91cjogRVhQRVJJTUVOVEFMX0FMVEVSTkFURV9GTFlPVVRfQkVIQVZJT1VSLFxuICAgICAgY2xvc2VGbHlvdXQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBkYXRhc2V0ID0gZGF0YXNldHMgPyBkYXRhc2V0cy5nbG9iYWxOYXZpZ2F0aW9uIDoge307XG5cbiAgICByZXR1cm4gKFxuICAgICAgPGRpdlxuICAgICAgICB7Li4uZGF0YXNldH1cbiAgICAgICAgb25Nb3VzZU92ZXI9e1xuICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bmRlZlxuICAgICAgICAgIEVYUEVSSU1FTlRBTF9BTFRFUk5BVEVfRkxZT1VUX0JFSEFWSU9VUiA/IGNsb3NlRmx5b3V0IDogbnVsbFxuICAgICAgICB9XG4gICAgICA+XG4gICAgICAgIDxUaGVtZVByb3ZpZGVyXG4gICAgICAgICAgdGhlbWU9e3RoZW1lID0+ICh7XG4gICAgICAgICAgICB0b3BPZmZzZXQsXG4gICAgICAgICAgICBtb2RlOiBsaWdodCwgLy8gSWYgbm8gdGhlbWUgYWxyZWFkeSBleGlzdHMgZGVmYXVsdCB0byBsaWdodCBtb2RlXG4gICAgICAgICAgICAuLi50aGVtZSxcbiAgICAgICAgICB9KX1cbiAgICAgICAgPlxuICAgICAgICAgIDxGcmFnbWVudD5cbiAgICAgICAgICAgIHshc2hvdWxkSGlkZUdsb2JhbE5hdlNoYWRvdyAmJiAoXG4gICAgICAgICAgICAgIDxTaGFkb3dcbiAgICAgICAgICAgICAgICBpc0JvbGQ9eyEhY29udGFpbmVyTmF2aWdhdGlvbn1cbiAgICAgICAgICAgICAgICBpc092ZXJEYXJrQmdcbiAgICAgICAgICAgICAgICBzdHlsZT17eyBtYXJnaW5MZWZ0OiBHTE9CQUxfTkFWX1dJRFRIIH19XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApfVxuICAgICAgICAgICAgey8qIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC9qc3gtbm8tdW5kZWYgKi99XG4gICAgICAgICAgICA8R2xvYmFsTmF2aWdhdGlvbiAvPlxuICAgICAgICAgIDwvRnJhZ21lbnQ+XG4gICAgICAgIDwvVGhlbWVQcm92aWRlcj5cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cbn1cbiJdfQ== */\"),\n tabIndex: -1\n }) :\n /* eslint-enable */\n null);\n }\n }]);\n\n return ComposedContainerNavigation;\n}(react__WEBPACK_IMPORTED_MODULE_9__[\"Component\"]); // Shallow comparision of props is sufficeint in this case\n\nvar ComposedGlobalNavigation =\n/*#__PURE__*/\nfunction (_Component2) {\n _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_7___default()(ComposedGlobalNavigation, _Component2);\n\n function ComposedGlobalNavigation() {\n _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_3___default()(this, ComposedGlobalNavigation);\n\n return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_5___default()(this, _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_6___default()(ComposedGlobalNavigation).apply(this, arguments));\n }\n\n _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_4___default()(ComposedGlobalNavigation, [{\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n containerNavigation = _this$props2.containerNavigation,\n datasets = _this$props2.datasets,\n GlobalNavigation = _this$props2.globalNavigation,\n topOffset = _this$props2.topOffset,\n shouldHideGlobalNavShadow = _this$props2.shouldHideGlobalNavShadow,\n EXPERIMENTAL_ALTERNATE_FLYOUT_BEHAVIOUR = _this$props2.experimental_alternateFlyoutBehaviour,\n closeFlyout = _this$props2.closeFlyout;\n var dataset = datasets ? datasets.globalNavigation : {};\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_8__[\"jsx\"])(\"div\", _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_1___default()({}, dataset, {\n onMouseOver: // eslint-disable-next-line no-undef\n EXPERIMENTAL_ALTERNATE_FLYOUT_BEHAVIOUR ? closeFlyout : null\n }), Object(_emotion_core__WEBPACK_IMPORTED_MODULE_8__[\"jsx\"])(_theme__WEBPACK_IMPORTED_MODULE_14__[\"ThemeProvider\"], {\n theme: function theme(_theme) {\n return _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0___default()({\n topOffset: topOffset,\n mode: _theme__WEBPACK_IMPORTED_MODULE_14__[\"light\"]\n }, _theme);\n }\n }, Object(_emotion_core__WEBPACK_IMPORTED_MODULE_8__[\"jsx\"])(react__WEBPACK_IMPORTED_MODULE_9__[\"Fragment\"], null, !shouldHideGlobalNavShadow && Object(_emotion_core__WEBPACK_IMPORTED_MODULE_8__[\"jsx\"])(_common_primitives__WEBPACK_IMPORTED_MODULE_13__[\"Shadow\"], {\n isBold: !!containerNavigation,\n isOverDarkBg: true,\n style: {\n marginLeft: _common_constants__WEBPACK_IMPORTED_MODULE_12__[\"GLOBAL_NAV_WIDTH\"]\n }\n }), Object(_emotion_core__WEBPACK_IMPORTED_MODULE_8__[\"jsx\"])(GlobalNavigation, null))));\n }\n }]);\n\n return ComposedGlobalNavigation;\n}(react__WEBPACK_IMPORTED_MODULE_9__[\"Component\"]);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL0xheW91dE1hbmFnZXIvbmF2LWNvbXBvbmVudHMuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL0xheW91dE1hbmFnZXIvbmF2LWNvbXBvbmVudHMuanM/ZTY4NCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgX29iamVjdFNwcmVhZCBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9vYmplY3RTcHJlYWRcIjtcbmltcG9ydCBfZXh0ZW5kcyBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9leHRlbmRzXCI7XG5pbXBvcnQgX2NzcyBmcm9tIFwiQGVtb3Rpb24vY3NzXCI7XG5pbXBvcnQgX2NsYXNzQ2FsbENoZWNrIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2NsYXNzQ2FsbENoZWNrXCI7XG5pbXBvcnQgX2NyZWF0ZUNsYXNzIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2NyZWF0ZUNsYXNzXCI7XG5pbXBvcnQgX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4gZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvcG9zc2libGVDb25zdHJ1Y3RvclJldHVyblwiO1xuaW1wb3J0IF9nZXRQcm90b3R5cGVPZiBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9nZXRQcm90b3R5cGVPZlwiO1xuaW1wb3J0IF9pbmhlcml0cyBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9pbmhlcml0c1wiO1xuaW1wb3J0IHsganN4IGFzIF9fX0Vtb3Rpb25KU1ggfSBmcm9tIFwiQGVtb3Rpb24vY29yZVwiO1xuaW1wb3J0IFJlYWN0LCB7IENvbXBvbmVudCwgRnJhZ21lbnQgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgZGVlcEVxdWFsIGZyb20gJ3JlYWN0LWZhc3QtY29tcGFyZSc7XG5pbXBvcnQgeyBOMzAsIE40MEEgfSBmcm9tICdAYXRsYXNraXQvdGhlbWUvY29sb3JzJztcbmltcG9ydCB7IENPTlRFTlRfTkFWX1dJRFRIX0NPTExBUFNFRCwgR0xPQkFMX05BVl9XSURUSCB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9jb25zdGFudHMnO1xuaW1wb3J0IHsgU2hhZG93IH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL3ByaW1pdGl2ZXMnO1xuaW1wb3J0IHsgbGlnaHQsIFRoZW1lUHJvdmlkZXIgfSBmcm9tICcuLi8uLi8uLi90aGVtZSc7XG5pbXBvcnQgQ29udGVudE5hdmlnYXRpb24gZnJvbSAnLi4vQ29udGVudE5hdmlnYXRpb24nO1xuaW1wb3J0IHsgQ29udGVudE5hdmlnYXRpb25XcmFwcGVyIH0gZnJvbSAnLi4vQ29udGVudE5hdmlnYXRpb24vcHJpbWl0aXZlcyc7XG5pbXBvcnQgeyBpc1RyYW5zaXRpb25pbmcgfSBmcm9tICcuLi9SZXNpemVUcmFuc2l0aW9uJztcbmV4cG9ydCB2YXIgQ29tcG9zZWRDb250YWluZXJOYXZpZ2F0aW9uID1cbi8qI19fUFVSRV9fKi9cbmZ1bmN0aW9uIChfQ29tcG9uZW50KSB7XG4gIF9pbmhlcml0cyhDb21wb3NlZENvbnRhaW5lck5hdmlnYXRpb24sIF9Db21wb25lbnQpO1xuXG4gIGZ1bmN0aW9uIENvbXBvc2VkQ29udGFpbmVyTmF2aWdhdGlvbigpIHtcbiAgICBfY2xhc3NDYWxsQ2hlY2sodGhpcywgQ29tcG9zZWRDb250YWluZXJOYXZpZ2F0aW9uKTtcblxuICAgIHJldHVybiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybih0aGlzLCBfZ2V0UHJvdG90eXBlT2YoQ29tcG9zZWRDb250YWluZXJOYXZpZ2F0aW9uKS5hcHBseSh0aGlzLCBhcmd1bWVudHMpKTtcbiAgfVxuXG4gIF9jcmVhdGVDbGFzcyhDb21wb3NlZENvbnRhaW5lck5hdmlnYXRpb24sIFt7XG4gICAga2V5OiBcInNob3VsZENvbXBvbmVudFVwZGF0ZVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBzaG91bGRDb21wb25lbnRVcGRhdGUobmV4dFByb3BzKSB7XG4gICAgICB2YXIgcHJvcHMgPSB0aGlzLnByb3BzO1xuICAgICAgcmV0dXJuICFkZWVwRXF1YWwocHJvcHMsIG5leHRQcm9wcyk7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcInJlbmRlclwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiByZW5kZXIoKSB7XG4gICAgICB2YXIgX3RoaXMkcHJvcHMgPSB0aGlzLnByb3BzLFxuICAgICAgICAgIGNvbnRhaW5lck5hdmlnYXRpb24gPSBfdGhpcyRwcm9wcy5jb250YWluZXJOYXZpZ2F0aW9uLFxuICAgICAgICAgIGRhdGFzZXRzID0gX3RoaXMkcHJvcHMuZGF0YXNldHMsXG4gICAgICAgICAgRVhQRVJJTUVOVEFMX0ZMWU9VVF9PTl9IT1ZFUiA9IF90aGlzJHByb3BzLmV4cGVyaW1lbnRhbF9mbHlvdXRPbkhvdmVyLFxuICAgICAgICAgIEVYUEVSSU1FTlRBTF9ISURFX05BVl9WSVNVQUxMWV9PTl9DT0xMQVBTRSA9IF90aGlzJHByb3BzLmV4cGVyaW1lbnRhbF9oaWRlTmF2VmlzdWFsbHlPbkNvbGxhcHNlLFxuICAgICAgICAgIHByb2R1Y3ROYXZpZ2F0aW9uID0gX3RoaXMkcHJvcHMucHJvZHVjdE5hdmlnYXRpb24sXG4gICAgICAgICAgdHJhbnNpdGlvblN0YXRlID0gX3RoaXMkcHJvcHMudHJhbnNpdGlvblN0YXRlLFxuICAgICAgICAgIHRyYW5zaXRpb25TdHlsZSA9IF90aGlzJHByb3BzLnRyYW5zaXRpb25TdHlsZSxcbiAgICAgICAgICBpc0NvbGxhcHNlZCA9IF90aGlzJHByb3BzLmlzQ29sbGFwc2VkLFxuICAgICAgICAgIGlzUmVzaXppbmcgPSBfdGhpcyRwcm9wcy5pc1Jlc2l6aW5nLFxuICAgICAgICAgIGdldE5hdlJlZiA9IF90aGlzJHByb3BzLmdldE5hdlJlZixcbiAgICAgICAgICBleHBhbmQgPSBfdGhpcyRwcm9wcy5leHBhbmQsXG4gICAgICAgICAgdmlldyA9IF90aGlzJHByb3BzLnZpZXc7XG4gICAgICB2YXIgaXNWaXNpYmxlID0gdHJhbnNpdGlvblN0YXRlICE9PSAnZXhpdGVkJztcbiAgICAgIHZhciBzaG91bGREaXNhYmxlSW50ZXJhY3Rpb24gPSBpc1Jlc2l6aW5nIHx8IGlzVHJhbnNpdGlvbmluZyh0cmFuc2l0aW9uU3RhdGUpO1xuICAgICAgdmFyIGRhdGFzZXQgPSBkYXRhc2V0cyA/IGRhdGFzZXRzLmNvbnRleHR1YWxOYXZpZ2F0aW9uIDoge307XG4gICAgICByZXR1cm4gX19fRW1vdGlvbkpTWChDb250ZW50TmF2aWdhdGlvbldyYXBwZXIsIF9leHRlbmRzKHtcbiAgICAgICAga2V5OiBcInByb2R1Y3QtbmF2LXdyYXBwZXJcIixcbiAgICAgICAgaW5uZXJSZWY6IGdldE5hdlJlZixcbiAgICAgICAgZGlzYWJsZUludGVyYWN0aW9uOiBzaG91bGREaXNhYmxlSW50ZXJhY3Rpb24sXG4gICAgICAgIHN0eWxlOiB0cmFuc2l0aW9uU3R5bGVcbiAgICAgIH0sIGRhdGFzZXQpLCBfX19FbW90aW9uSlNYKENvbnRlbnROYXZpZ2F0aW9uLCB7XG4gICAgICAgIGNvbnRhaW5lcjogY29udGFpbmVyTmF2aWdhdGlvbixcbiAgICAgICAgaXNWaXNpYmxlOiBpc1Zpc2libGUsXG4gICAgICAgIGtleTogXCJwcm9kdWN0LW5hdlwiLFxuICAgICAgICBwcm9kdWN0OiBwcm9kdWN0TmF2aWdhdGlvbixcbiAgICAgICAgZXhwZXJpbWVudGFsX2hpZGVOYXZWaXN1YWxseU9uQ29sbGFwc2U6IEVYUEVSSU1FTlRBTF9ISURFX05BVl9WSVNVQUxMWV9PTl9DT0xMQVBTRSxcbiAgICAgICAgdmlldzogdmlld1xuICAgICAgfSksIGlzQ29sbGFwc2VkICYmICFFWFBFUklNRU5UQUxfRkxZT1VUX09OX0hPVkVSID9cbiAgICAgIC8qIGVzbGludC1kaXNhYmxlIGpzeC1hMTF5L2NsaWNrLWV2ZW50cy1oYXZlLWtleS1ldmVudHMgKi9cbiAgICAgIF9fX0Vtb3Rpb25KU1goXCJkaXZcIiwge1xuICAgICAgICBcImFyaWEtbGFiZWxcIjogXCJDbGljayB0byBleHBhbmQgdGhlIG5hdmlnYXRpb25cIixcbiAgICAgICAgcm9sZTogXCJidXR0b25cIixcbiAgICAgICAgb25DbGljazogZXhwYW5kLFxuICAgICAgICBjc3M6XG4gICAgICAgIC8qI19fUFVSRV9fKi9cbiAgICAgICAgX2Nzcyh7XG4gICAgICAgICAgY3Vyc29yOiAncG9pbnRlcicsXG4gICAgICAgICAgaGVpZ2h0OiAnMTAwJScsXG4gICAgICAgICAgb3V0bGluZTogMCxcbiAgICAgICAgICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgICAgICAgICB0cmFuc2l0aW9uOiAnYmFja2dyb3VuZC1jb2xvciAxMDBtcycsXG4gICAgICAgICAgd2lkdGg6IENPTlRFTlRfTkFWX1dJRFRIX0NPTExBUFNFRCxcbiAgICAgICAgICAnOmhvdmVyJzoge1xuICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBjb250YWluZXJOYXZpZ2F0aW9uID8gTjMwIDogJ3JnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOCknXG4gICAgICAgICAgfSxcbiAgICAgICAgICAnOmFjdGl2ZSc6IHtcbiAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogTjQwQVxuICAgICAgICAgIH1cbiAgICAgICAgfSwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8gXCJcIiA6IFwiLyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWk0dUx5NHVMeTR1THk0dUx5NHVMM055WXk5amIyMXdiMjVsYm5SekwzQnlaWE5sYm5SaGRHbHZibUZzTDB4aGVXOTFkRTFoYm1GblpYSXZibUYyTFdOdmJYQnZibVZ1ZEhNdWFuTWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJjMFZaSWl3aVptbHNaU0k2SWk0dUx5NHVMeTR1THk0dUx5NHVMM055WXk5amIyMXdiMjVsYm5SekwzQnlaWE5sYm5SaGRHbHZibUZzTDB4aGVXOTFkRTFoYm1GblpYSXZibUYyTFdOdmJYQnZibVZ1ZEhNdWFuTWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUpwYlhCdmNuUWdVbVZoWTNRc0lIc2dRMjl0Y0c5dVpXNTBMQ0JHY21GbmJXVnVkQ0I5SUdaeWIyMGdKM0psWVdOMEp6dGNibHh1YVcxd2IzSjBJR1JsWlhCRmNYVmhiQ0JtY205dElDZHlaV0ZqZEMxbVlYTjBMV052YlhCaGNtVW5PMXh1WEc1cGJYQnZjblFnZXlCT016QXNJRTQwTUVFZ2ZTQm1jbTl0SUNkQVlYUnNZWE5yYVhRdmRHaGxiV1V2WTI5c2IzSnpKenRjYmx4dWFXMXdiM0owSUh0Y2JpQWdRMDlPVkVWT1ZGOU9RVlpmVjBsRVZFaGZRMDlNVEVGUVUwVkVMRnh1SUNCSFRFOUNRVXhmVGtGV1gxZEpSRlJJTEZ4dWZTQm1jbTl0SUNjdUxpOHVMaTh1TGk5amIyMXRiMjR2WTI5dWMzUmhiblJ6Snp0Y2JtbHRjRzl5ZENCN0lGTm9ZV1J2ZHlCOUlHWnliMjBnSnk0dUx5NHVMeTR1TDJOdmJXMXZiaTl3Y21sdGFYUnBkbVZ6Snp0Y2JtbHRjRzl5ZENCN0lHeHBaMmgwTENCVWFHVnRaVkJ5YjNacFpHVnlJSDBnWm5KdmJTQW5MaTR2TGk0dkxpNHZkR2hsYldVbk8xeHVhVzF3YjNKMElFTnZiblJsYm5ST1lYWnBaMkYwYVc5dUlHWnliMjBnSnk0dUwwTnZiblJsYm5ST1lYWnBaMkYwYVc5dUp6dGNibWx0Y0c5eWRDQjdJRU52Ym5SbGJuUk9ZWFpwWjJGMGFXOXVWM0poY0hCbGNpQjlJR1p5YjIwZ0p5NHVMME52Ym5SbGJuUk9ZWFpwWjJGMGFXOXVMM0J5YVcxcGRHbDJaWE1uTzF4dWFXMXdiM0owSUhzZ2FYTlVjbUZ1YzJsMGFXOXVhVzVuSUgwZ1puSnZiU0FuTGk0dlVtVnphWHBsVkhKaGJuTnBkR2x2YmljN1hHNWNibVY0Y0c5eWRDQmpiR0Z6Y3lCRGIyMXdiM05sWkVOdmJuUmhhVzVsY2s1aGRtbG5ZWFJwYjI0Z1pYaDBaVzVrY3lCRGIyMXdiMjVsYm5RZ2UxeHVJQ0J6YUc5MWJHUkRiMjF3YjI1bGJuUlZjR1JoZEdVb2JtVjRkRkJ5YjNCektTQjdYRzRnSUNBZ1kyOXVjM1FnZXlCd2NtOXdjeUI5SUQwZ2RHaHBjenRjYmlBZ0lDQnlaWFIxY200Z0lXUmxaWEJGY1hWaGJDaHdjbTl3Y3l3Z2JtVjRkRkJ5YjNCektUdGNiaUFnZlZ4dVhHNGdJSEpsYm1SbGNpZ3BJSHRjYmlBZ0lDQmpiMjV6ZENCN1hHNGdJQ0FnSUNCamIyNTBZV2x1WlhKT1lYWnBaMkYwYVc5dUxGeHVJQ0FnSUNBZ1pHRjBZWE5sZEhNc1hHNGdJQ0FnSUNBdkx5QmxjMnhwYm5RdFpHbHpZV0pzWlMxdVpYaDBMV3hwYm1VZ1kyRnRaV3hqWVhObFhHNGdJQ0FnSUNCbGVIQmxjbWx0Wlc1MFlXeGZabXg1YjNWMFQyNUliM1psY2pvZ1JWaFFSVkpKVFVWT1ZFRk1YMFpNV1U5VlZGOVBUbDlJVDFaRlVpeGNiaUFnSUNBZ0lDOHZJR1Z6YkdsdWRDMWthWE5oWW14bExXNWxlSFF0YkdsdVpTQmpZVzFsYkdOaGMyVmNiaUFnSUNBZ0lHVjRjR1Z5YVcxbGJuUmhiRjlvYVdSbFRtRjJWbWx6ZFdGc2JIbFBia052Ykd4aGNITmxPaUJGV0ZCRlVrbE5SVTVVUVV4ZlNFbEVSVjlPUVZaZlZrbFRWVUZNVEZsZlQwNWZRMDlNVEVGUVUwVXNYRzRnSUNBZ0lDQndjbTlrZFdOMFRtRjJhV2RoZEdsdmJpeGNiaUFnSUNBZ0lIUnlZVzV6YVhScGIyNVRkR0YwWlN4Y2JpQWdJQ0FnSUhSeVlXNXphWFJwYjI1VGRIbHNaU3hjYmlBZ0lDQWdJR2x6UTI5c2JHRndjMlZrTEZ4dUlDQWdJQ0FnYVhOU1pYTnBlbWx1Wnl4Y2JpQWdJQ0FnSUdkbGRFNWhkbEpsWml4Y2JpQWdJQ0FnSUdWNGNHRnVaQ3hjYmlBZ0lDQWdJSFpwWlhjc1hHNGdJQ0FnZlNBOUlIUm9hWE11Y0hKdmNITTdYRzVjYmlBZ0lDQmpiMjV6ZENCcGMxWnBjMmxpYkdVZ1BTQjBjbUZ1YzJsMGFXOXVVM1JoZEdVZ0lUMDlJQ2RsZUdsMFpXUW5PMXh1SUNBZ0lHTnZibk4wSUhOb2IzVnNaRVJwYzJGaWJHVkpiblJsY21GamRHbHZiaUE5WEc0Z0lDQWdJQ0JwYzFKbGMybDZhVzVuSUh4OElHbHpWSEpoYm5OcGRHbHZibWx1WnloMGNtRnVjMmwwYVc5dVUzUmhkR1VwTzF4dVhHNGdJQ0FnWTI5dWMzUWdaR0YwWVhObGRDQTlJR1JoZEdGelpYUnpJRDhnWkdGMFlYTmxkSE11WTI5dWRHVjRkSFZoYkU1aGRtbG5ZWFJwYjI0Z09pQjdmVHRjYmx4dUlDQWdJSEpsZEhWeWJpQW9YRzRnSUNBZ0lDQThRMjl1ZEdWdWRFNWhkbWxuWVhScGIyNVhjbUZ3Y0dWeVhHNGdJQ0FnSUNBZ0lHdGxlVDFjSW5CeWIyUjFZM1F0Ym1GMkxYZHlZWEJ3WlhKY0lseHVJQ0FnSUNBZ0lDQnBibTVsY2xKbFpqMTdaMlYwVG1GMlVtVm1mVnh1SUNBZ0lDQWdJQ0JrYVhOaFlteGxTVzUwWlhKaFkzUnBiMjQ5ZTNOb2IzVnNaRVJwYzJGaWJHVkpiblJsY21GamRHbHZibjFjYmlBZ0lDQWdJQ0FnYzNSNWJHVTllM1J5WVc1emFYUnBiMjVUZEhsc1pYMWNiaUFnSUNBZ0lDQWdleTR1TG1SaGRHRnpaWFI5WEc0Z0lDQWdJQ0ErWEc0Z0lDQWdJQ0FnSUR4RGIyNTBaVzUwVG1GMmFXZGhkR2x2Ymx4dUlDQWdJQ0FnSUNBZ0lHTnZiblJoYVc1bGNqMTdZMjl1ZEdGcGJtVnlUbUYyYVdkaGRHbHZibjFjYmlBZ0lDQWdJQ0FnSUNCcGMxWnBjMmxpYkdVOWUybHpWbWx6YVdKc1pYMWNiaUFnSUNBZ0lDQWdJQ0JyWlhrOVhDSndjbTlrZFdOMExXNWhkbHdpWEc0Z0lDQWdJQ0FnSUNBZ2NISnZaSFZqZEQxN2NISnZaSFZqZEU1aGRtbG5ZWFJwYjI1OVhHNGdJQ0FnSUNBZ0lDQWdaWGh3WlhKcGJXVnVkR0ZzWDJocFpHVk9ZWFpXYVhOMVlXeHNlVTl1UTI5c2JHRndjMlU5ZTF4dUlDQWdJQ0FnSUNBZ0lDQWdSVmhRUlZKSlRVVk9WRUZNWDBoSlJFVmZUa0ZXWDFaSlUxVkJURXhaWDA5T1gwTlBURXhCVUZORlhHNGdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0FnSUhacFpYYzllM1pwWlhkOVhHNGdJQ0FnSUNBZ0lDOCtYRzRnSUNBZ0lDQWdJSHRwYzBOdmJHeGhjSE5sWkNBbUppQWhSVmhRUlZKSlRVVk9WRUZNWDBaTVdVOVZWRjlQVGw5SVQxWkZVaUEvSUNoY2JpQWdJQ0FnSUNBZ0lDQXZLaUJsYzJ4cGJuUXRaR2x6WVdKc1pTQnFjM2d0WVRFeGVTOWpiR2xqYXkxbGRtVnVkSE10YUdGMlpTMXJaWGt0WlhabGJuUnpJQ292WEc0Z0lDQWdJQ0FnSUNBZ1BHUnBkbHh1SUNBZ0lDQWdJQ0FnSUNBZ1lYSnBZUzFzWVdKbGJEMWNJa05zYVdOcklIUnZJR1Y0Y0dGdVpDQjBhR1VnYm1GMmFXZGhkR2x2Ymx3aVhHNGdJQ0FnSUNBZ0lDQWdJQ0J5YjJ4bFBWd2lZblYwZEc5dVhDSmNiaUFnSUNBZ0lDQWdJQ0FnSUc5dVEyeHBZMnM5ZTJWNGNHRnVaSDFjYmlBZ0lDQWdJQ0FnSUNBZ0lHTnpjejE3ZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0JqZFhKemIzSTZJQ2R3YjJsdWRHVnlKeXhjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdhR1ZwWjJoME9pQW5NVEF3SlNjc1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUc5MWRHeHBibVU2SURBc1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUhCdmMybDBhVzl1T2lBbllXSnpiMngxZEdVbkxGeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCMGNtRnVjMmwwYVc5dU9pQW5ZbUZqYTJkeWIzVnVaQzFqYjJ4dmNpQXhNREJ0Y3ljc1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUhkcFpIUm9PaUJEVDA1VVJVNVVYMDVCVmw5WFNVUlVTRjlEVDB4TVFWQlRSVVFzWEc1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSnpwb2IzWmxjaWM2SUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCaVlXTnJaM0p2ZFc1a1EyOXNiM0k2SUdOdmJuUmhhVzVsY2s1aGRtbG5ZWFJwYjI1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEOGdUak13WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBNklDZHlaMkpoS0RJMU5Td2dNalUxTENBeU5UVXNJREF1TURncEp5eGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ2ZTeGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0p6cGhZM1JwZG1Vbk9pQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZbUZqYTJkeWIzVnVaRU52Ykc5eU9pQk9OREJCTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0I5TEZ4dUlDQWdJQ0FnSUNBZ0lDQWdmWDFjYmlBZ0lDQWdJQ0FnSUNBZ0lIUmhZa2x1WkdWNFBYc3RNWDFjYmlBZ0lDQWdJQ0FnSUNBdlBseHVJQ0FnSUNBZ0lDQXBJRG9nTHlvZ1pYTnNhVzUwTFdWdVlXSnNaU0FxTDF4dUlDQWdJQ0FnSUNCdWRXeHNmVnh1SUNBZ0lDQWdQQzlEYjI1MFpXNTBUbUYyYVdkaGRHbHZibGR5WVhCd1pYSStYRzRnSUNBZ0tUdGNiaUFnZlZ4dWZWeHVYRzR2THlCVGFHRnNiRzkzSUdOdmJYQmhjbWx6YVc5dUlHOW1JSEJ5YjNCeklHbHpJSE4xWm1acFkyVnBiblFnYVc0Z2RHaHBjeUJqWVhObFhHNWxlSEJ2Y25RZ1kyeGhjM01nUTI5dGNHOXpaV1JIYkc5aVlXeE9ZWFpwWjJGMGFXOXVJR1Y0ZEdWdVpITWdRMjl0Y0c5dVpXNTBJSHRjYmlBZ2NtVnVaR1Z5S0NrZ2UxeHVJQ0FnSUdOdmJuTjBJSHRjYmlBZ0lDQWdJR052Ym5SaGFXNWxjazVoZG1sbllYUnBiMjRzWEc0Z0lDQWdJQ0JrWVhSaGMyVjBjeXhjYmlBZ0lDQWdJR2RzYjJKaGJFNWhkbWxuWVhScGIyNDZJRWRzYjJKaGJFNWhkbWxuWVhScGIyNHNYRzRnSUNBZ0lDQjBiM0JQWm1aelpYUXNYRzRnSUNBZ0lDQnphRzkxYkdSSWFXUmxSMnh2WW1Gc1RtRjJVMmhoWkc5M0xGeHVJQ0FnSUNBZ0x5OGdaWE5zYVc1MExXUnBjMkZpYkdVdGJtVjRkQzFzYVc1bElHTmhiV1ZzWTJGelpWeHVJQ0FnSUNBZ1pYaHdaWEpwYldWdWRHRnNYMkZzZEdWeWJtRjBaVVpzZVc5MWRFSmxhR0YyYVc5MWNqb2dSVmhRUlZKSlRVVk9WRUZNWDBGTVZFVlNUa0ZVUlY5R1RGbFBWVlJmUWtWSVFWWkpUMVZTTEZ4dUlDQWdJQ0FnWTJ4dmMyVkdiSGx2ZFhRc1hHNGdJQ0FnZlNBOUlIUm9hWE11Y0hKdmNITTdYRzVjYmlBZ0lDQmpiMjV6ZENCa1lYUmhjMlYwSUQwZ1pHRjBZWE5sZEhNZ1B5QmtZWFJoYzJWMGN5NW5iRzlpWVd4T1lYWnBaMkYwYVc5dUlEb2dlMzA3WEc1Y2JpQWdJQ0J5WlhSMWNtNGdLRnh1SUNBZ0lDQWdQR1JwZGx4dUlDQWdJQ0FnSUNCN0xpNHVaR0YwWVhObGRIMWNiaUFnSUNBZ0lDQWdiMjVOYjNWelpVOTJaWEk5ZTF4dUlDQWdJQ0FnSUNBZ0lDOHZJR1Z6YkdsdWRDMWthWE5oWW14bExXNWxlSFF0YkdsdVpTQnVieTExYm1SbFpseHVJQ0FnSUNBZ0lDQWdJRVZZVUVWU1NVMUZUbFJCVEY5QlRGUkZVazVCVkVWZlJreFpUMVZVWDBKRlNFRldTVTlWVWlBL0lHTnNiM05sUm14NWIzVjBJRG9nYm5Wc2JGeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQStYRzRnSUNBZ0lDQWdJRHhVYUdWdFpWQnliM1pwWkdWeVhHNGdJQ0FnSUNBZ0lDQWdkR2hsYldVOWUzUm9aVzFsSUQwK0lDaDdYRzRnSUNBZ0lDQWdJQ0FnSUNCMGIzQlBabVp6WlhRc1hHNGdJQ0FnSUNBZ0lDQWdJQ0J0YjJSbE9pQnNhV2RvZEN3Z0x5OGdTV1lnYm04Z2RHaGxiV1VnWVd4eVpXRmtlU0JsZUdsemRITWdaR1ZtWVhWc2RDQjBieUJzYVdkb2RDQnRiMlJsWEc0Z0lDQWdJQ0FnSUNBZ0lDQXVMaTUwYUdWdFpTeGNiaUFnSUNBZ0lDQWdJQ0I5S1gxY2JpQWdJQ0FnSUNBZ1BseHVJQ0FnSUNBZ0lDQWdJRHhHY21GbmJXVnVkRDVjYmlBZ0lDQWdJQ0FnSUNBZ0lIc2hjMmh2ZFd4a1NHbGtaVWRzYjJKaGJFNWhkbE5vWVdSdmR5QW1KaUFvWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJRHhUYUdGa2IzZGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnBjMEp2YkdROWV5RWhZMjl1ZEdGcGJtVnlUbUYyYVdkaGRHbHZibjFjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwYzA5MlpYSkVZWEpyUW1kY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCemRIbHNaVDE3ZXlCdFlYSm5hVzVNWldaME9pQkhURTlDUVV4ZlRrRldYMWRKUkZSSUlIMTlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDOCtYRzRnSUNBZ0lDQWdJQ0FnSUNBcGZWeHVJQ0FnSUNBZ0lDQWdJQ0FnZXk4cUlHVnpiR2x1ZEMxa2FYTmhZbXhsTFc1bGVIUXRiR2x1WlNCeVpXRmpkQzlxYzNndGJtOHRkVzVrWldZZ0tpOTlYRzRnSUNBZ0lDQWdJQ0FnSUNBOFIyeHZZbUZzVG1GMmFXZGhkR2x2YmlBdlBseHVJQ0FnSUNBZ0lDQWdJRHd2Um5KaFoyMWxiblErWEc0Z0lDQWdJQ0FnSUR3dlZHaGxiV1ZRY205MmFXUmxjajVjYmlBZ0lDQWdJRHd2WkdsMlBseHVJQ0FnSUNrN1hHNGdJSDFjYm4xY2JpSmRmUT09ICovXCIpLFxuICAgICAgICB0YWJJbmRleDogLTFcbiAgICAgIH0pIDpcbiAgICAgIC8qIGVzbGludC1lbmFibGUgKi9cbiAgICAgIG51bGwpO1xuICAgIH1cbiAgfV0pO1xuXG4gIHJldHVybiBDb21wb3NlZENvbnRhaW5lck5hdmlnYXRpb247XG59KENvbXBvbmVudCk7IC8vIFNoYWxsb3cgY29tcGFyaXNpb24gb2YgcHJvcHMgaXMgc3VmZmljZWludCBpbiB0aGlzIGNhc2VcblxuZXhwb3J0IHZhciBDb21wb3NlZEdsb2JhbE5hdmlnYXRpb24gPVxuLyojX19QVVJFX18qL1xuZnVuY3Rpb24gKF9Db21wb25lbnQyKSB7XG4gIF9pbmhlcml0cyhDb21wb3NlZEdsb2JhbE5hdmlnYXRpb24sIF9Db21wb25lbnQyKTtcblxuICBmdW5jdGlvbiBDb21wb3NlZEdsb2JhbE5hdmlnYXRpb24oKSB7XG4gICAgX2NsYXNzQ2FsbENoZWNrKHRoaXMsIENvbXBvc2VkR2xvYmFsTmF2aWdhdGlvbik7XG5cbiAgICByZXR1cm4gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4odGhpcywgX2dldFByb3RvdHlwZU9mKENvbXBvc2VkR2xvYmFsTmF2aWdhdGlvbikuYXBwbHkodGhpcywgYXJndW1lbnRzKSk7XG4gIH1cblxuICBfY3JlYXRlQ2xhc3MoQ29tcG9zZWRHbG9iYWxOYXZpZ2F0aW9uLCBbe1xuICAgIGtleTogXCJyZW5kZXJcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gcmVuZGVyKCkge1xuICAgICAgdmFyIF90aGlzJHByb3BzMiA9IHRoaXMucHJvcHMsXG4gICAgICAgICAgY29udGFpbmVyTmF2aWdhdGlvbiA9IF90aGlzJHByb3BzMi5jb250YWluZXJOYXZpZ2F0aW9uLFxuICAgICAgICAgIGRhdGFzZXRzID0gX3RoaXMkcHJvcHMyLmRhdGFzZXRzLFxuICAgICAgICAgIEdsb2JhbE5hdmlnYXRpb24gPSBfdGhpcyRwcm9wczIuZ2xvYmFsTmF2aWdhdGlvbixcbiAgICAgICAgICB0b3BPZmZzZXQgPSBfdGhpcyRwcm9wczIudG9wT2Zmc2V0LFxuICAgICAgICAgIHNob3VsZEhpZGVHbG9iYWxOYXZTaGFkb3cgPSBfdGhpcyRwcm9wczIuc2hvdWxkSGlkZUdsb2JhbE5hdlNoYWRvdyxcbiAgICAgICAgICBFWFBFUklNRU5UQUxfQUxURVJOQVRFX0ZMWU9VVF9CRUhBVklPVVIgPSBfdGhpcyRwcm9wczIuZXhwZXJpbWVudGFsX2FsdGVybmF0ZUZseW91dEJlaGF2aW91cixcbiAgICAgICAgICBjbG9zZUZseW91dCA9IF90aGlzJHByb3BzMi5jbG9zZUZseW91dDtcbiAgICAgIHZhciBkYXRhc2V0ID0gZGF0YXNldHMgPyBkYXRhc2V0cy5nbG9iYWxOYXZpZ2F0aW9uIDoge307XG4gICAgICByZXR1cm4gX19fRW1vdGlvbkpTWChcImRpdlwiLCBfZXh0ZW5kcyh7fSwgZGF0YXNldCwge1xuICAgICAgICBvbk1vdXNlT3ZlcjogLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVuZGVmXG4gICAgICAgIEVYUEVSSU1FTlRBTF9BTFRFUk5BVEVfRkxZT1VUX0JFSEFWSU9VUiA/IGNsb3NlRmx5b3V0IDogbnVsbFxuICAgICAgfSksIF9fX0Vtb3Rpb25KU1goVGhlbWVQcm92aWRlciwge1xuICAgICAgICB0aGVtZTogZnVuY3Rpb24gdGhlbWUoX3RoZW1lKSB7XG4gICAgICAgICAgcmV0dXJuIF9vYmplY3RTcHJlYWQoe1xuICAgICAgICAgICAgdG9wT2Zmc2V0OiB0b3BPZmZzZXQsXG4gICAgICAgICAgICBtb2RlOiBsaWdodFxuICAgICAgICAgIH0sIF90aGVtZSk7XG4gICAgICAgIH1cbiAgICAgIH0sIF9fX0Vtb3Rpb25KU1goRnJhZ21lbnQsIG51bGwsICFzaG91bGRIaWRlR2xvYmFsTmF2U2hhZG93ICYmIF9fX0Vtb3Rpb25KU1goU2hhZG93LCB7XG4gICAgICAgIGlzQm9sZDogISFjb250YWluZXJOYXZpZ2F0aW9uLFxuICAgICAgICBpc092ZXJEYXJrQmc6IHRydWUsXG4gICAgICAgIHN0eWxlOiB7XG4gICAgICAgICAgbWFyZ2luTGVmdDogR0xPQkFMX05BVl9XSURUSFxuICAgICAgICB9XG4gICAgICB9KSwgX19fRW1vdGlvbkpTWChHbG9iYWxOYXZpZ2F0aW9uLCBudWxsKSkpKTtcbiAgICB9XG4gIH1dKTtcblxuICByZXR1cm4gQ29tcG9zZWRHbG9iYWxOYXZpZ2F0aW9uO1xufShDb21wb25lbnQpOyJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/LayoutManager/nav-components.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/LayoutManager/primitives.js": /*!***************************************************************************************************************!*\ !*** ./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/LayoutManager/primitives.js ***! \***************************************************************************************************************/ /*! exports provided: LayoutContainer, HorizontalNavigationContainer, NavigationContainer */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"LayoutContainer\", function() { return LayoutContainer; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"HorizontalNavigationContainer\", function() { return HorizontalNavigationContainer; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"NavigationContainer\", function() { return NavigationContainer; });\n/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _emotion_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @emotion/css */ \"./node_modules/@emotion/css/dist/css.browser.esm.js\");\n/* harmony import */ var _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ \"./node_modules/@babel/runtime/helpers/objectWithoutProperties.js\");\n/* harmony import */ var _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _emotion_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @emotion/core */ \"./node_modules/@emotion/core/dist/core.browser.esm.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _atlaskit_theme_constants__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @atlaskit/theme/constants */ \"./node_modules/@atlaskit/theme/dist/esm/constants.js\");\n\n\n\n\n\n\nvar LayoutContainer = function LayoutContainer(_ref) {\n var _ref$topOffset = _ref.topOffset,\n topOffset = _ref$topOffset === void 0 ? 0 : _ref$topOffset,\n props = _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_2___default()(_ref, [\"topOffset\"]);\n\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_3__[\"jsx\"])(\"div\", _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({\n // Used as a CSS selector in Confluence\n // https://ecosystem.atlassian.net/browse/DS-7189\n \"data-layout-container\": true,\n css:\n /*#__PURE__*/\n Object(_emotion_css__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n display: 'flex',\n flexDirection: 'row',\n height: \"calc(100vh - \".concat(topOffset, \"px)\"),\n marginTop: \"\".concat(topOffset, \"px\")\n }, false ? undefined : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL0xheW91dE1hbmFnZXIvcHJpbWl0aXZlcy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFVTSIsImZpbGUiOiIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9wcmVzZW50YXRpb25hbC9MYXlvdXRNYW5hZ2VyL3ByaW1pdGl2ZXMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgeyBsYXllcnMgfSBmcm9tICdAYXRsYXNraXQvdGhlbWUvY29uc3RhbnRzJztcblxuZXhwb3J0IGNvbnN0IExheW91dENvbnRhaW5lciA9ICh7IHRvcE9mZnNldCA9IDAsIC4uLnByb3BzIH0pID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICAvLyBVc2VkIGFzIGEgQ1NTIHNlbGVjdG9yIGluIENvbmZsdWVuY2VcbiAgICAgIC8vIGh0dHBzOi8vZWNvc3lzdGVtLmF0bGFzc2lhbi5uZXQvYnJvd3NlL0RTLTcxODlcbiAgICAgIGRhdGEtbGF5b3V0LWNvbnRhaW5lclxuICAgICAgY3NzPXt7XG4gICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgZmxleERpcmVjdGlvbjogJ3JvdycsXG4gICAgICAgIGhlaWdodDogYGNhbGMoMTAwdmggLSAke3RvcE9mZnNldH1weClgLFxuICAgICAgICBtYXJnaW5Ub3A6IGAke3RvcE9mZnNldH1weGAsXG4gICAgICB9fVxuICAgICAgey4uLnByb3BzfVxuICAgIC8+XG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgSG9yaXpvbnRhbE5hdmlnYXRpb25Db250YWluZXIgPSAoeyBjaGlsZHJlbiwgdG9wT2Zmc2V0IH0pID0+IChcbiAgPGRpdlxuICAgIGNzcz17e1xuICAgICAgcG9zaXRpb246ICdmaXhlZCcsXG4gICAgICB0b3A6IHRvcE9mZnNldCxcbiAgICAgIGxlZnQ6IDAsXG4gICAgICByaWdodDogMCxcbiAgICAgIHpJbmRleDogbGF5ZXJzLm5hdmlnYXRpb24oKSArIDEsXG4gICAgfX1cbiAgPlxuICAgIHtjaGlsZHJlbn1cbiAgPC9kaXY+XG4pO1xuXG5leHBvcnQgY29uc3QgTmF2aWdhdGlvbkNvbnRhaW5lciA9ICh7IHRvcE9mZnNldCwgaW5uZXJSZWYsIC4uLnByb3BzIH0pID0+IChcbiAgPGRpdlxuICAgIHJlZj17aW5uZXJSZWZ9XG4gICAgY3NzPXt7XG4gICAgICBib3R0b206IDAsXG4gICAgICBsZWZ0OiAwLFxuICAgICAgcG9zaXRpb246ICdmaXhlZCcsXG4gICAgICB0b3A6IHRvcE9mZnNldCxcbiAgICAgIHpJbmRleDogbGF5ZXJzLm5hdmlnYXRpb24oKSxcbiAgICAgICcmOmhvdmVyIC5hay1uYXZpZ2F0aW9uLXJlc2l6ZS1idXR0b24nOiB7XG4gICAgICAgIG9wYWNpdHk6IDEsXG4gICAgICB9LFxuICAgIH19XG4gICAgey4uLnByb3BzfVxuICAvPlxuKTtcbiJdfQ== */\")\n }, props));\n};\nvar HorizontalNavigationContainer = function HorizontalNavigationContainer(_ref2) {\n var children = _ref2.children,\n topOffset = _ref2.topOffset;\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_3__[\"jsx\"])(\"div\", {\n css:\n /*#__PURE__*/\n Object(_emotion_css__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n position: 'fixed',\n top: topOffset,\n left: 0,\n right: 0,\n zIndex: _atlaskit_theme_constants__WEBPACK_IMPORTED_MODULE_5__[\"layers\"].navigation() + 1\n }, false ? undefined : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL0xheW91dE1hbmFnZXIvcHJpbWl0aXZlcy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF1QkkiLCJmaWxlIjoiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvcHJlc2VudGF0aW9uYWwvTGF5b3V0TWFuYWdlci9wcmltaXRpdmVzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHsgbGF5ZXJzIH0gZnJvbSAnQGF0bGFza2l0L3RoZW1lL2NvbnN0YW50cyc7XG5cbmV4cG9ydCBjb25zdCBMYXlvdXRDb250YWluZXIgPSAoeyB0b3BPZmZzZXQgPSAwLCAuLi5wcm9wcyB9KSA9PiB7XG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgLy8gVXNlZCBhcyBhIENTUyBzZWxlY3RvciBpbiBDb25mbHVlbmNlXG4gICAgICAvLyBodHRwczovL2Vjb3N5c3RlbS5hdGxhc3NpYW4ubmV0L2Jyb3dzZS9EUy03MTg5XG4gICAgICBkYXRhLWxheW91dC1jb250YWluZXJcbiAgICAgIGNzcz17e1xuICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgIGZsZXhEaXJlY3Rpb246ICdyb3cnLFxuICAgICAgICBoZWlnaHQ6IGBjYWxjKDEwMHZoIC0gJHt0b3BPZmZzZXR9cHgpYCxcbiAgICAgICAgbWFyZ2luVG9wOiBgJHt0b3BPZmZzZXR9cHhgLFxuICAgICAgfX1cbiAgICAgIHsuLi5wcm9wc31cbiAgICAvPlxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IEhvcml6b250YWxOYXZpZ2F0aW9uQ29udGFpbmVyID0gKHsgY2hpbGRyZW4sIHRvcE9mZnNldCB9KSA9PiAoXG4gIDxkaXZcbiAgICBjc3M9e3tcbiAgICAgIHBvc2l0aW9uOiAnZml4ZWQnLFxuICAgICAgdG9wOiB0b3BPZmZzZXQsXG4gICAgICBsZWZ0OiAwLFxuICAgICAgcmlnaHQ6IDAsXG4gICAgICB6SW5kZXg6IGxheWVycy5uYXZpZ2F0aW9uKCkgKyAxLFxuICAgIH19XG4gID5cbiAgICB7Y2hpbGRyZW59XG4gIDwvZGl2PlxuKTtcblxuZXhwb3J0IGNvbnN0IE5hdmlnYXRpb25Db250YWluZXIgPSAoeyB0b3BPZmZzZXQsIGlubmVyUmVmLCAuLi5wcm9wcyB9KSA9PiAoXG4gIDxkaXZcbiAgICByZWY9e2lubmVyUmVmfVxuICAgIGNzcz17e1xuICAgICAgYm90dG9tOiAwLFxuICAgICAgbGVmdDogMCxcbiAgICAgIHBvc2l0aW9uOiAnZml4ZWQnLFxuICAgICAgdG9wOiB0b3BPZmZzZXQsXG4gICAgICB6SW5kZXg6IGxheWVycy5uYXZpZ2F0aW9uKCksXG4gICAgICAnJjpob3ZlciAuYWstbmF2aWdhdGlvbi1yZXNpemUtYnV0dG9uJzoge1xuICAgICAgICBvcGFjaXR5OiAxLFxuICAgICAgfSxcbiAgICB9fVxuICAgIHsuLi5wcm9wc31cbiAgLz5cbik7XG4iXX0= */\")\n }, children);\n};\nvar NavigationContainer = function NavigationContainer(_ref3) {\n var topOffset = _ref3.topOffset,\n innerRef = _ref3.innerRef,\n props = _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_2___default()(_ref3, [\"topOffset\", \"innerRef\"]);\n\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_3__[\"jsx\"])(\"div\", _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({\n ref: innerRef,\n css:\n /*#__PURE__*/\n Object(_emotion_css__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n bottom: 0,\n left: 0,\n position: 'fixed',\n top: topOffset,\n zIndex: _atlaskit_theme_constants__WEBPACK_IMPORTED_MODULE_5__[\"layers\"].navigation(),\n '&:hover .ak-navigation-resize-button': {\n opacity: 1\n }\n }, false ? undefined : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL0xheW91dE1hbmFnZXIvcHJpbWl0aXZlcy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFzQ0kiLCJmaWxlIjoiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvcHJlc2VudGF0aW9uYWwvTGF5b3V0TWFuYWdlci9wcmltaXRpdmVzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHsgbGF5ZXJzIH0gZnJvbSAnQGF0bGFza2l0L3RoZW1lL2NvbnN0YW50cyc7XG5cbmV4cG9ydCBjb25zdCBMYXlvdXRDb250YWluZXIgPSAoeyB0b3BPZmZzZXQgPSAwLCAuLi5wcm9wcyB9KSA9PiB7XG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgLy8gVXNlZCBhcyBhIENTUyBzZWxlY3RvciBpbiBDb25mbHVlbmNlXG4gICAgICAvLyBodHRwczovL2Vjb3N5c3RlbS5hdGxhc3NpYW4ubmV0L2Jyb3dzZS9EUy03MTg5XG4gICAgICBkYXRhLWxheW91dC1jb250YWluZXJcbiAgICAgIGNzcz17e1xuICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgIGZsZXhEaXJlY3Rpb246ICdyb3cnLFxuICAgICAgICBoZWlnaHQ6IGBjYWxjKDEwMHZoIC0gJHt0b3BPZmZzZXR9cHgpYCxcbiAgICAgICAgbWFyZ2luVG9wOiBgJHt0b3BPZmZzZXR9cHhgLFxuICAgICAgfX1cbiAgICAgIHsuLi5wcm9wc31cbiAgICAvPlxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IEhvcml6b250YWxOYXZpZ2F0aW9uQ29udGFpbmVyID0gKHsgY2hpbGRyZW4sIHRvcE9mZnNldCB9KSA9PiAoXG4gIDxkaXZcbiAgICBjc3M9e3tcbiAgICAgIHBvc2l0aW9uOiAnZml4ZWQnLFxuICAgICAgdG9wOiB0b3BPZmZzZXQsXG4gICAgICBsZWZ0OiAwLFxuICAgICAgcmlnaHQ6IDAsXG4gICAgICB6SW5kZXg6IGxheWVycy5uYXZpZ2F0aW9uKCkgKyAxLFxuICAgIH19XG4gID5cbiAgICB7Y2hpbGRyZW59XG4gIDwvZGl2PlxuKTtcblxuZXhwb3J0IGNvbnN0IE5hdmlnYXRpb25Db250YWluZXIgPSAoeyB0b3BPZmZzZXQsIGlubmVyUmVmLCAuLi5wcm9wcyB9KSA9PiAoXG4gIDxkaXZcbiAgICByZWY9e2lubmVyUmVmfVxuICAgIGNzcz17e1xuICAgICAgYm90dG9tOiAwLFxuICAgICAgbGVmdDogMCxcbiAgICAgIHBvc2l0aW9uOiAnZml4ZWQnLFxuICAgICAgdG9wOiB0b3BPZmZzZXQsXG4gICAgICB6SW5kZXg6IGxheWVycy5uYXZpZ2F0aW9uKCksXG4gICAgICAnJjpob3ZlciAuYWstbmF2aWdhdGlvbi1yZXNpemUtYnV0dG9uJzoge1xuICAgICAgICBvcGFjaXR5OiAxLFxuICAgICAgfSxcbiAgICB9fVxuICAgIHsuLi5wcm9wc31cbiAgLz5cbik7XG4iXX0= */\")\n }, props));\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL0xheW91dE1hbmFnZXIvcHJpbWl0aXZlcy5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AYXRsYXNraXQvbmF2aWdhdGlvbi1uZXh0L2Rpc3QvZXNtL2NvbXBvbmVudHMvcHJlc2VudGF0aW9uYWwvTGF5b3V0TWFuYWdlci9wcmltaXRpdmVzLmpzPzdhMjMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IF9leHRlbmRzIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2V4dGVuZHNcIjtcbmltcG9ydCBfY3NzIGZyb20gXCJAZW1vdGlvbi9jc3NcIjtcbmltcG9ydCBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvb2JqZWN0V2l0aG91dFByb3BlcnRpZXNcIjtcbmltcG9ydCB7IGpzeCBhcyBfX19FbW90aW9uSlNYIH0gZnJvbSBcIkBlbW90aW9uL2NvcmVcIjtcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBsYXllcnMgfSBmcm9tICdAYXRsYXNraXQvdGhlbWUvY29uc3RhbnRzJztcbmV4cG9ydCB2YXIgTGF5b3V0Q29udGFpbmVyID0gZnVuY3Rpb24gTGF5b3V0Q29udGFpbmVyKF9yZWYpIHtcbiAgdmFyIF9yZWYkdG9wT2Zmc2V0ID0gX3JlZi50b3BPZmZzZXQsXG4gICAgICB0b3BPZmZzZXQgPSBfcmVmJHRvcE9mZnNldCA9PT0gdm9pZCAwID8gMCA6IF9yZWYkdG9wT2Zmc2V0LFxuICAgICAgcHJvcHMgPSBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMoX3JlZiwgW1widG9wT2Zmc2V0XCJdKTtcblxuICByZXR1cm4gX19fRW1vdGlvbkpTWChcImRpdlwiLCBfZXh0ZW5kcyh7XG4gICAgLy8gVXNlZCBhcyBhIENTUyBzZWxlY3RvciBpbiBDb25mbHVlbmNlXG4gICAgLy8gaHR0cHM6Ly9lY29zeXN0ZW0uYXRsYXNzaWFuLm5ldC9icm93c2UvRFMtNzE4OVxuICAgIFwiZGF0YS1sYXlvdXQtY29udGFpbmVyXCI6IHRydWUsXG4gICAgY3NzOlxuICAgIC8qI19fUFVSRV9fKi9cbiAgICBfY3NzKHtcbiAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgIGZsZXhEaXJlY3Rpb246ICdyb3cnLFxuICAgICAgaGVpZ2h0OiBcImNhbGMoMTAwdmggLSBcIi5jb25jYXQodG9wT2Zmc2V0LCBcInB4KVwiKSxcbiAgICAgIG1hcmdpblRvcDogXCJcIi5jb25jYXQodG9wT2Zmc2V0LCBcInB4XCIpXG4gICAgfSwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8gXCJcIiA6IFwiLyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWk0dUx5NHVMeTR1THk0dUx5NHVMM055WXk5amIyMXdiMjVsYm5SekwzQnlaWE5sYm5SaGRHbHZibUZzTDB4aGVXOTFkRTFoYm1GblpYSXZjSEpwYldsMGFYWmxjeTVxY3lKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGVlRTSXNJbVpwYkdVaU9pSXVMaTh1TGk4dUxpOHVMaTh1TGk5emNtTXZZMjl0Y0c5dVpXNTBjeTl3Y21WelpXNTBZWFJwYjI1aGJDOU1ZWGx2ZFhSTllXNWhaMlZ5TDNCeWFXMXBkR2wyWlhNdWFuTWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUpwYlhCdmNuUWdVbVZoWTNRZ1puSnZiU0FuY21WaFkzUW5PMXh1WEc1cGJYQnZjblFnZXlCc1lYbGxjbk1nZlNCbWNtOXRJQ2RBWVhSc1lYTnJhWFF2ZEdobGJXVXZZMjl1YzNSaGJuUnpKenRjYmx4dVpYaHdiM0owSUdOdmJuTjBJRXhoZVc5MWRFTnZiblJoYVc1bGNpQTlJQ2g3SUhSdmNFOW1abk5sZENBOUlEQXNJQzR1TG5CeWIzQnpJSDBwSUQwK0lIdGNiaUFnY21WMGRYSnVJQ2hjYmlBZ0lDQThaR2wyWEc0Z0lDQWdJQ0F2THlCVmMyVmtJR0Z6SUdFZ1ExTlRJSE5sYkdWamRHOXlJR2x1SUVOdmJtWnNkV1Z1WTJWY2JpQWdJQ0FnSUM4dklHaDBkSEJ6T2k4dlpXTnZjM2x6ZEdWdExtRjBiR0Z6YzJsaGJpNXVaWFF2WW5KdmQzTmxMMFJUTFRjeE9EbGNiaUFnSUNBZ0lHUmhkR0V0YkdGNWIzVjBMV052Ym5SaGFXNWxjbHh1SUNBZ0lDQWdZM056UFh0N1hHNGdJQ0FnSUNBZ0lHUnBjM0JzWVhrNklDZG1iR1Y0Snl4Y2JpQWdJQ0FnSUNBZ1pteGxlRVJwY21WamRHbHZiam9nSjNKdmR5Y3NYRzRnSUNBZ0lDQWdJR2hsYVdkb2REb2dZR05oYkdNb01UQXdkbWdnTFNBa2UzUnZjRTltWm5ObGRIMXdlQ2xnTEZ4dUlDQWdJQ0FnSUNCdFlYSm5hVzVVYjNBNklHQWtlM1J2Y0U5bVpuTmxkSDF3ZUdBc1hHNGdJQ0FnSUNCOWZWeHVJQ0FnSUNBZ2V5NHVMbkJ5YjNCemZWeHVJQ0FnSUM4K1hHNGdJQ2s3WEc1OU8xeHVYRzVsZUhCdmNuUWdZMjl1YzNRZ1NHOXlhWHB2Ym5SaGJFNWhkbWxuWVhScGIyNURiMjUwWVdsdVpYSWdQU0FvZXlCamFHbHNaSEpsYml3Z2RHOXdUMlptYzJWMElIMHBJRDArSUNoY2JpQWdQR1JwZGx4dUlDQWdJR056Y3oxN2UxeHVJQ0FnSUNBZ2NHOXphWFJwYjI0NklDZG1hWGhsWkNjc1hHNGdJQ0FnSUNCMGIzQTZJSFJ2Y0U5bVpuTmxkQ3hjYmlBZ0lDQWdJR3hsWm5RNklEQXNYRzRnSUNBZ0lDQnlhV2RvZERvZ01DeGNiaUFnSUNBZ0lIcEpibVJsZURvZ2JHRjVaWEp6TG01aGRtbG5ZWFJwYjI0b0tTQXJJREVzWEc0Z0lDQWdmWDFjYmlBZ1BseHVJQ0FnSUh0amFHbHNaSEpsYm4xY2JpQWdQQzlrYVhZK1hHNHBPMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdUbUYyYVdkaGRHbHZia052Ym5SaGFXNWxjaUE5SUNoN0lIUnZjRTltWm5ObGRDd2dhVzV1WlhKU1pXWXNJQzR1TG5CeWIzQnpJSDBwSUQwK0lDaGNiaUFnUEdScGRseHVJQ0FnSUhKbFpqMTdhVzV1WlhKU1pXWjlYRzRnSUNBZ1kzTnpQWHQ3WEc0Z0lDQWdJQ0JpYjNSMGIyMDZJREFzWEc0Z0lDQWdJQ0JzWldaME9pQXdMRnh1SUNBZ0lDQWdjRzl6YVhScGIyNDZJQ2RtYVhobFpDY3NYRzRnSUNBZ0lDQjBiM0E2SUhSdmNFOW1abk5sZEN4Y2JpQWdJQ0FnSUhwSmJtUmxlRG9nYkdGNVpYSnpMbTVoZG1sbllYUnBiMjRvS1N4Y2JpQWdJQ0FnSUNjbU9taHZkbVZ5SUM1aGF5MXVZWFpwWjJGMGFXOXVMWEpsYzJsNlpTMWlkWFIwYjI0bk9pQjdYRzRnSUNBZ0lDQWdJRzl3WVdOcGRIazZJREVzWEc0Z0lDQWdJQ0I5TEZ4dUlDQWdJSDE5WEc0Z0lDQWdleTR1TG5CeWIzQnpmVnh1SUNBdlBseHVLVHRjYmlKZGZRPT0gKi9cIilcbiAgfSwgcHJvcHMpKTtcbn07XG5leHBvcnQgdmFyIEhvcml6b250YWxOYXZpZ2F0aW9uQ29udGFpbmVyID0gZnVuY3Rpb24gSG9yaXpvbnRhbE5hdmlnYXRpb25Db250YWluZXIoX3JlZjIpIHtcbiAgdmFyIGNoaWxkcmVuID0gX3JlZjIuY2hpbGRyZW4sXG4gICAgICB0b3BPZmZzZXQgPSBfcmVmMi50b3BPZmZzZXQ7XG4gIHJldHVybiBfX19FbW90aW9uSlNYKFwiZGl2XCIsIHtcbiAgICBjc3M6XG4gICAgLyojX19QVVJFX18qL1xuICAgIF9jc3Moe1xuICAgICAgcG9zaXRpb246ICdmaXhlZCcsXG4gICAgICB0b3A6IHRvcE9mZnNldCxcbiAgICAgIGxlZnQ6IDAsXG4gICAgICByaWdodDogMCxcbiAgICAgIHpJbmRleDogbGF5ZXJzLm5hdmlnYXRpb24oKSArIDFcbiAgICB9LCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyBcIlwiIDogXCIvKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJaTR1THk0dUx5NHVMeTR1THk0dUwzTnlZeTlqYjIxd2IyNWxiblJ6TDNCeVpYTmxiblJoZEdsdmJtRnNMMHhoZVc5MWRFMWhibUZuWlhJdmNISnBiV2wwYVhabGN5NXFjeUpkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUYxUWtraUxDSm1hV3hsSWpvaUxpNHZMaTR2TGk0dkxpNHZMaTR2YzNKakwyTnZiWEJ2Ym1WdWRITXZjSEpsYzJWdWRHRjBhVzl1WVd3dlRHRjViM1YwVFdGdVlXZGxjaTl3Y21sdGFYUnBkbVZ6TG1weklpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lhVzF3YjNKMElGSmxZV04wSUdaeWIyMGdKM0psWVdOMEp6dGNibHh1YVcxd2IzSjBJSHNnYkdGNVpYSnpJSDBnWm5KdmJTQW5RR0YwYkdGemEybDBMM1JvWlcxbEwyTnZibk4wWVc1MGN5YzdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQk1ZWGx2ZFhSRGIyNTBZV2x1WlhJZ1BTQW9leUIwYjNCUFptWnpaWFFnUFNBd0xDQXVMaTV3Y205d2N5QjlLU0E5UGlCN1hHNGdJSEpsZEhWeWJpQW9YRzRnSUNBZ1BHUnBkbHh1SUNBZ0lDQWdMeThnVlhObFpDQmhjeUJoSUVOVFV5QnpaV3hsWTNSdmNpQnBiaUJEYjI1bWJIVmxibU5sWEc0Z0lDQWdJQ0F2THlCb2RIUndjem92TDJWamIzTjVjM1JsYlM1aGRHeGhjM05wWVc0dWJtVjBMMkp5YjNkelpTOUVVeTAzTVRnNVhHNGdJQ0FnSUNCa1lYUmhMV3hoZVc5MWRDMWpiMjUwWVdsdVpYSmNiaUFnSUNBZ0lHTnpjejE3ZTF4dUlDQWdJQ0FnSUNCa2FYTndiR0Y1T2lBblpteGxlQ2NzWEc0Z0lDQWdJQ0FnSUdac1pYaEVhWEpsWTNScGIyNDZJQ2R5YjNjbkxGeHVJQ0FnSUNBZ0lDQm9aV2xuYUhRNklHQmpZV3hqS0RFd01IWm9JQzBnSkh0MGIzQlBabVp6WlhSOWNIZ3BZQ3hjYmlBZ0lDQWdJQ0FnYldGeVoybHVWRzl3T2lCZ0pIdDBiM0JQWm1aelpYUjljSGhnTEZ4dUlDQWdJQ0FnZlgxY2JpQWdJQ0FnSUhzdUxpNXdjbTl3YzMxY2JpQWdJQ0F2UGx4dUlDQXBPMXh1ZlR0Y2JseHVaWGh3YjNKMElHTnZibk4wSUVodmNtbDZiMjUwWVd4T1lYWnBaMkYwYVc5dVEyOXVkR0ZwYm1WeUlEMGdLSHNnWTJocGJHUnlaVzRzSUhSdmNFOW1abk5sZENCOUtTQTlQaUFvWEc0Z0lEeGthWFpjYmlBZ0lDQmpjM005ZTN0Y2JpQWdJQ0FnSUhCdmMybDBhVzl1T2lBblptbDRaV1FuTEZ4dUlDQWdJQ0FnZEc5d09pQjBiM0JQWm1aelpYUXNYRzRnSUNBZ0lDQnNaV1owT2lBd0xGeHVJQ0FnSUNBZ2NtbG5hSFE2SURBc1hHNGdJQ0FnSUNCNlNXNWtaWGc2SUd4aGVXVnljeTV1WVhacFoyRjBhVzl1S0NrZ0t5QXhMRnh1SUNBZ0lIMTlYRzRnSUQ1Y2JpQWdJQ0I3WTJocGJHUnlaVzU5WEc0Z0lEd3ZaR2wyUGx4dUtUdGNibHh1Wlhod2IzSjBJR052Ym5OMElFNWhkbWxuWVhScGIyNURiMjUwWVdsdVpYSWdQU0FvZXlCMGIzQlBabVp6WlhRc0lHbHVibVZ5VW1WbUxDQXVMaTV3Y205d2N5QjlLU0E5UGlBb1hHNGdJRHhrYVhaY2JpQWdJQ0J5WldZOWUybHVibVZ5VW1WbWZWeHVJQ0FnSUdOemN6MTdlMXh1SUNBZ0lDQWdZbTkwZEc5dE9pQXdMRnh1SUNBZ0lDQWdiR1ZtZERvZ01DeGNiaUFnSUNBZ0lIQnZjMmwwYVc5dU9pQW5abWw0WldRbkxGeHVJQ0FnSUNBZ2RHOXdPaUIwYjNCUFptWnpaWFFzWEc0Z0lDQWdJQ0I2U1c1a1pYZzZJR3hoZVdWeWN5NXVZWFpwWjJGMGFXOXVLQ2tzWEc0Z0lDQWdJQ0FuSmpwb2IzWmxjaUF1WVdzdGJtRjJhV2RoZEdsdmJpMXlaWE5wZW1VdFluVjBkRzl1SnpvZ2UxeHVJQ0FnSUNBZ0lDQnZjR0ZqYVhSNU9pQXhMRnh1SUNBZ0lDQWdmU3hjYmlBZ0lDQjlmVnh1SUNBZ0lIc3VMaTV3Y205d2MzMWNiaUFnTHo1Y2JpazdYRzRpWFgwPSAqL1wiKVxuICB9LCBjaGlsZHJlbik7XG59O1xuZXhwb3J0IHZhciBOYXZpZ2F0aW9uQ29udGFpbmVyID0gZnVuY3Rpb24gTmF2aWdhdGlvbkNvbnRhaW5lcihfcmVmMykge1xuICB2YXIgdG9wT2Zmc2V0ID0gX3JlZjMudG9wT2Zmc2V0LFxuICAgICAgaW5uZXJSZWYgPSBfcmVmMy5pbm5lclJlZixcbiAgICAgIHByb3BzID0gX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzKF9yZWYzLCBbXCJ0b3BPZmZzZXRcIiwgXCJpbm5lclJlZlwiXSk7XG5cbiAgcmV0dXJuIF9fX0Vtb3Rpb25KU1goXCJkaXZcIiwgX2V4dGVuZHMoe1xuICAgIHJlZjogaW5uZXJSZWYsXG4gICAgY3NzOlxuICAgIC8qI19fUFVSRV9fKi9cbiAgICBfY3NzKHtcbiAgICAgIGJvdHRvbTogMCxcbiAgICAgIGxlZnQ6IDAsXG4gICAgICBwb3NpdGlvbjogJ2ZpeGVkJyxcbiAgICAgIHRvcDogdG9wT2Zmc2V0LFxuICAgICAgekluZGV4OiBsYXllcnMubmF2aWdhdGlvbigpLFxuICAgICAgJyY6aG92ZXIgLmFrLW5hdmlnYXRpb24tcmVzaXplLWJ1dHRvbic6IHtcbiAgICAgICAgb3BhY2l0eTogMVxuICAgICAgfVxuICAgIH0sIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IFwiXCIgOiBcIi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpNHVMeTR1THk0dUx5NHVMeTR1TDNOeVl5OWpiMjF3YjI1bGJuUnpMM0J5WlhObGJuUmhkR2x2Ym1Gc0wweGhlVzkxZEUxaGJtRm5aWEl2Y0hKcGJXbDBhWFpsY3k1cWN5SmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRnpRMGtpTENKbWFXeGxJam9pTGk0dkxpNHZMaTR2TGk0dkxpNHZjM0pqTDJOdmJYQnZibVZ1ZEhNdmNISmxjMlZ1ZEdGMGFXOXVZV3d2VEdGNWIzVjBUV0Z1WVdkbGNpOXdjbWx0YVhScGRtVnpMbXB6SWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaWFXMXdiM0owSUZKbFlXTjBJR1p5YjIwZ0ozSmxZV04wSnp0Y2JseHVhVzF3YjNKMElIc2diR0Y1WlhKeklIMGdabkp2YlNBblFHRjBiR0Z6YTJsMEwzUm9aVzFsTDJOdmJuTjBZVzUwY3ljN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCTVlYbHZkWFJEYjI1MFlXbHVaWElnUFNBb2V5QjBiM0JQWm1aelpYUWdQU0F3TENBdUxpNXdjbTl3Y3lCOUtTQTlQaUI3WEc0Z0lISmxkSFZ5YmlBb1hHNGdJQ0FnUEdScGRseHVJQ0FnSUNBZ0x5OGdWWE5sWkNCaGN5QmhJRU5UVXlCelpXeGxZM1J2Y2lCcGJpQkRiMjVtYkhWbGJtTmxYRzRnSUNBZ0lDQXZMeUJvZEhSd2N6b3ZMMlZqYjNONWMzUmxiUzVoZEd4aGMzTnBZVzR1Ym1WMEwySnliM2R6WlM5RVV5MDNNVGc1WEc0Z0lDQWdJQ0JrWVhSaExXeGhlVzkxZEMxamIyNTBZV2x1WlhKY2JpQWdJQ0FnSUdOemN6MTdlMXh1SUNBZ0lDQWdJQ0JrYVhOd2JHRjVPaUFuWm14bGVDY3NYRzRnSUNBZ0lDQWdJR1pzWlhoRWFYSmxZM1JwYjI0NklDZHliM2NuTEZ4dUlDQWdJQ0FnSUNCb1pXbG5hSFE2SUdCallXeGpLREV3TUhab0lDMGdKSHQwYjNCUFptWnpaWFI5Y0hncFlDeGNiaUFnSUNBZ0lDQWdiV0Z5WjJsdVZHOXdPaUJnSkh0MGIzQlBabVp6WlhSOWNIaGdMRnh1SUNBZ0lDQWdmWDFjYmlBZ0lDQWdJSHN1TGk1d2NtOXdjMzFjYmlBZ0lDQXZQbHh1SUNBcE8xeHVmVHRjYmx4dVpYaHdiM0owSUdOdmJuTjBJRWh2Y21sNmIyNTBZV3hPWVhacFoyRjBhVzl1UTI5dWRHRnBibVZ5SUQwZ0tIc2dZMmhwYkdSeVpXNHNJSFJ2Y0U5bVpuTmxkQ0I5S1NBOVBpQW9YRzRnSUR4a2FYWmNiaUFnSUNCamMzTTllM3RjYmlBZ0lDQWdJSEJ2YzJsMGFXOXVPaUFuWm1sNFpXUW5MRnh1SUNBZ0lDQWdkRzl3T2lCMGIzQlBabVp6WlhRc1hHNGdJQ0FnSUNCc1pXWjBPaUF3TEZ4dUlDQWdJQ0FnY21sbmFIUTZJREFzWEc0Z0lDQWdJQ0I2U1c1a1pYZzZJR3hoZVdWeWN5NXVZWFpwWjJGMGFXOXVLQ2tnS3lBeExGeHVJQ0FnSUgxOVhHNGdJRDVjYmlBZ0lDQjdZMmhwYkdSeVpXNTlYRzRnSUR3dlpHbDJQbHh1S1R0Y2JseHVaWGh3YjNKMElHTnZibk4wSUU1aGRtbG5ZWFJwYjI1RGIyNTBZV2x1WlhJZ1BTQW9leUIwYjNCUFptWnpaWFFzSUdsdWJtVnlVbVZtTENBdUxpNXdjbTl3Y3lCOUtTQTlQaUFvWEc0Z0lEeGthWFpjYmlBZ0lDQnlaV1k5ZTJsdWJtVnlVbVZtZlZ4dUlDQWdJR056Y3oxN2UxeHVJQ0FnSUNBZ1ltOTBkRzl0T2lBd0xGeHVJQ0FnSUNBZ2JHVm1kRG9nTUN4Y2JpQWdJQ0FnSUhCdmMybDBhVzl1T2lBblptbDRaV1FuTEZ4dUlDQWdJQ0FnZEc5d09pQjBiM0JQWm1aelpYUXNYRzRnSUNBZ0lDQjZTVzVrWlhnNklHeGhlV1Z5Y3k1dVlYWnBaMkYwYVc5dUtDa3NYRzRnSUNBZ0lDQW5KanBvYjNabGNpQXVZV3N0Ym1GMmFXZGhkR2x2YmkxeVpYTnBlbVV0WW5WMGRHOXVKem9nZTF4dUlDQWdJQ0FnSUNCdmNHRmphWFI1T2lBeExGeHVJQ0FnSUNBZ2ZTeGNiaUFnSUNCOWZWeHVJQ0FnSUhzdUxpNXdjbTl3YzMxY2JpQWdMejVjYmlrN1hHNGlYWDA9ICovXCIpXG4gIH0sIHByb3BzKSk7XG59OyJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/LayoutManager/primitives.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/LayoutManager/styles.js": /*!***********************************************************************************************************!*\ !*** ./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/LayoutManager/styles.js ***! \***********************************************************************************************************/ /*! exports provided: pageContainerCSS */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"pageContainerCSS\", function() { return pageContainerCSS; });\n/* harmony import */ var _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/objectSpread */ \"./node_modules/@babel/runtime/helpers/objectSpread.js\");\n/* harmony import */ var _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _common_helpers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../common/helpers */ \"./node_modules/@atlaskit/navigation-next/dist/esm/common/helpers.js\");\n\n\nvar pageContainerCSS = function pageContainerCSS(_ref) {\n var disableInteraction = _ref.disableInteraction,\n leftOffset = _ref.leftOffset,\n topOffset = _ref.topOffset;\n return _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0___default()({\n flex: '1 1 auto',\n marginLeft: leftOffset,\n marginTop: topOffset,\n width: 0\n }, Object(_common_helpers__WEBPACK_IMPORTED_MODULE_1__[\"applyDisabledProperties\"])(!!disableInteraction));\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL0xheW91dE1hbmFnZXIvc3R5bGVzLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BhdGxhc2tpdC9uYXZpZ2F0aW9uLW5leHQvZGlzdC9lc20vY29tcG9uZW50cy9wcmVzZW50YXRpb25hbC9MYXlvdXRNYW5hZ2VyL3N0eWxlcy5qcz80OWE1Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfb2JqZWN0U3ByZWFkIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL29iamVjdFNwcmVhZFwiO1xuaW1wb3J0IHsgYXBwbHlEaXNhYmxlZFByb3BlcnRpZXMgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vaGVscGVycyc7XG5leHBvcnQgdmFyIHBhZ2VDb250YWluZXJDU1MgPSBmdW5jdGlvbiBwYWdlQ29udGFpbmVyQ1NTKF9yZWYpIHtcbiAgdmFyIGRpc2FibGVJbnRlcmFjdGlvbiA9IF9yZWYuZGlzYWJsZUludGVyYWN0aW9uLFxuICAgICAgbGVmdE9mZnNldCA9IF9yZWYubGVmdE9mZnNldCxcbiAgICAgIHRvcE9mZnNldCA9IF9yZWYudG9wT2Zmc2V0O1xuICByZXR1cm4gX29iamVjdFNwcmVhZCh7XG4gICAgZmxleDogJzEgMSBhdXRvJyxcbiAgICBtYXJnaW5MZWZ0OiBsZWZ0T2Zmc2V0LFxuICAgIG1hcmdpblRvcDogdG9wT2Zmc2V0LFxuICAgIHdpZHRoOiAwXG4gIH0sIGFwcGx5RGlzYWJsZWRQcm9wZXJ0aWVzKCEhZGlzYWJsZUludGVyYWN0aW9uKSk7XG59OyJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/LayoutManager/styles.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/MenuSection/index.js": /*!********************************************************************************************************!*\ !*** ./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/MenuSection/index.js ***! \********************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return MenuSection; });\n/* harmony import */ var _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/objectSpread */ \"./node_modules/@babel/runtime/helpers/objectSpread.js\");\n/* harmony import */ var _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ \"./node_modules/@babel/runtime/helpers/classCallCheck.js\");\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\");\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ \"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ \"./node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ \"./node_modules/@babel/runtime/helpers/inherits.js\");\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ \"./node_modules/@babel/runtime/helpers/defineProperty.js\");\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _emotion_core__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @emotion/core */ \"./node_modules/@emotion/core/dist/core.browser.esm.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var _atlaskit_theme_constants__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @atlaskit/theme/constants */ \"./node_modules/@atlaskit/theme/dist/esm/constants.js\");\n/* harmony import */ var _Section__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../Section */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/Section/index.js\");\n\n\n\n\n\n\n\n\n\n\n\n\nvar gridSize = Object(_atlaskit_theme_constants__WEBPACK_IMPORTED_MODULE_9__[\"gridSize\"])();\n\nvar MenuSection =\n/*#__PURE__*/\nfunction (_Component) {\n _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5___default()(MenuSection, _Component);\n\n function MenuSection() {\n _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default()(this, MenuSection);\n\n return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3___default()(this, _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4___default()(MenuSection).apply(this, arguments));\n }\n\n _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2___default()(MenuSection, [{\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n alwaysShowScrollHint = _this$props.alwaysShowScrollHint,\n id = _this$props.id,\n children = _this$props.children,\n parentId = _this$props.parentId;\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_7__[\"jsx\"])(_Section__WEBPACK_IMPORTED_MODULE_10__[\"default\"], {\n id: id,\n parentId: parentId,\n alwaysShowScrollHint: alwaysShowScrollHint,\n shouldGrow: true\n }, function (_ref) {\n var css = _ref.css;\n\n var menuCss = _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0___default()({}, css, {\n paddingBottom: gridSize * 1.5\n });\n\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_7__[\"jsx\"])(_emotion_core__WEBPACK_IMPORTED_MODULE_7__[\"ClassNames\"], null, function (_ref2) {\n var getClassName = _ref2.css;\n return children({\n css: menuCss,\n className: getClassName(menuCss)\n });\n });\n });\n }\n }]);\n\n return MenuSection;\n}(react__WEBPACK_IMPORTED_MODULE_8__[\"Component\"]);\n\n_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(MenuSection, \"defaultProps\", {\n alwaysShowScrollHint: false\n});\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL01lbnVTZWN0aW9uL2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BhdGxhc2tpdC9uYXZpZ2F0aW9uLW5leHQvZGlzdC9lc20vY29tcG9uZW50cy9wcmVzZW50YXRpb25hbC9NZW51U2VjdGlvbi9pbmRleC5qcz9lOTA1Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfb2JqZWN0U3ByZWFkIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL29iamVjdFNwcmVhZFwiO1xuaW1wb3J0IF9jbGFzc0NhbGxDaGVjayBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9jbGFzc0NhbGxDaGVja1wiO1xuaW1wb3J0IF9jcmVhdGVDbGFzcyBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9jcmVhdGVDbGFzc1wiO1xuaW1wb3J0IF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm5cIjtcbmltcG9ydCBfZ2V0UHJvdG90eXBlT2YgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvZ2V0UHJvdG90eXBlT2ZcIjtcbmltcG9ydCBfaW5oZXJpdHMgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvaW5oZXJpdHNcIjtcbmltcG9ydCBfZGVmaW5lUHJvcGVydHkgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvZGVmaW5lUHJvcGVydHlcIjtcbmltcG9ydCB7IGpzeCBhcyBfX19FbW90aW9uSlNYIH0gZnJvbSBcIkBlbW90aW9uL2NvcmVcIjtcbmltcG9ydCBSZWFjdCwgeyBDb21wb25lbnQgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBDbGFzc05hbWVzIH0gZnJvbSAnQGVtb3Rpb24vY29yZSc7XG5pbXBvcnQgeyBncmlkU2l6ZSBhcyBncmlkU2l6ZUZuIH0gZnJvbSAnQGF0bGFza2l0L3RoZW1lL2NvbnN0YW50cyc7XG5pbXBvcnQgU2VjdGlvbiBmcm9tICcuLi9TZWN0aW9uJztcbnZhciBncmlkU2l6ZSA9IGdyaWRTaXplRm4oKTtcblxudmFyIE1lbnVTZWN0aW9uID1cbi8qI19fUFVSRV9fKi9cbmZ1bmN0aW9uIChfQ29tcG9uZW50KSB7XG4gIF9pbmhlcml0cyhNZW51U2VjdGlvbiwgX0NvbXBvbmVudCk7XG5cbiAgZnVuY3Rpb24gTWVudVNlY3Rpb24oKSB7XG4gICAgX2NsYXNzQ2FsbENoZWNrKHRoaXMsIE1lbnVTZWN0aW9uKTtcblxuICAgIHJldHVybiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybih0aGlzLCBfZ2V0UHJvdG90eXBlT2YoTWVudVNlY3Rpb24pLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykpO1xuICB9XG5cbiAgX2NyZWF0ZUNsYXNzKE1lbnVTZWN0aW9uLCBbe1xuICAgIGtleTogXCJyZW5kZXJcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gcmVuZGVyKCkge1xuICAgICAgdmFyIF90aGlzJHByb3BzID0gdGhpcy5wcm9wcyxcbiAgICAgICAgICBhbHdheXNTaG93U2Nyb2xsSGludCA9IF90aGlzJHByb3BzLmFsd2F5c1Nob3dTY3JvbGxIaW50LFxuICAgICAgICAgIGlkID0gX3RoaXMkcHJvcHMuaWQsXG4gICAgICAgICAgY2hpbGRyZW4gPSBfdGhpcyRwcm9wcy5jaGlsZHJlbixcbiAgICAgICAgICBwYXJlbnRJZCA9IF90aGlzJHByb3BzLnBhcmVudElkO1xuICAgICAgcmV0dXJuIF9fX0Vtb3Rpb25KU1goU2VjdGlvbiwge1xuICAgICAgICBpZDogaWQsXG4gICAgICAgIHBhcmVudElkOiBwYXJlbnRJZCxcbiAgICAgICAgYWx3YXlzU2hvd1Njcm9sbEhpbnQ6IGFsd2F5c1Nob3dTY3JvbGxIaW50LFxuICAgICAgICBzaG91bGRHcm93OiB0cnVlXG4gICAgICB9LCBmdW5jdGlvbiAoX3JlZikge1xuICAgICAgICB2YXIgY3NzID0gX3JlZi5jc3M7XG5cbiAgICAgICAgdmFyIG1lbnVDc3MgPSBfb2JqZWN0U3ByZWFkKHt9LCBjc3MsIHtcbiAgICAgICAgICBwYWRkaW5nQm90dG9tOiBncmlkU2l6ZSAqIDEuNVxuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gX19fRW1vdGlvbkpTWChDbGFzc05hbWVzLCBudWxsLCBmdW5jdGlvbiAoX3JlZjIpIHtcbiAgICAgICAgICB2YXIgZ2V0Q2xhc3NOYW1lID0gX3JlZjIuY3NzO1xuICAgICAgICAgIHJldHVybiBjaGlsZHJlbih7XG4gICAgICAgICAgICBjc3M6IG1lbnVDc3MsXG4gICAgICAgICAgICBjbGFzc05hbWU6IGdldENsYXNzTmFtZShtZW51Q3NzKVxuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfV0pO1xuXG4gIHJldHVybiBNZW51U2VjdGlvbjtcbn0oQ29tcG9uZW50KTtcblxuX2RlZmluZVByb3BlcnR5KE1lbnVTZWN0aW9uLCBcImRlZmF1bHRQcm9wc1wiLCB7XG4gIGFsd2F5c1Nob3dTY3JvbGxIaW50OiBmYWxzZVxufSk7XG5cbmV4cG9ydCB7IE1lbnVTZWN0aW9uIGFzIGRlZmF1bHQgfTsiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/MenuSection/index.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/ResizeTransition/index.js": /*!*************************************************************************************************************!*\ !*** ./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/ResizeTransition/index.js ***! \*************************************************************************************************************/ /*! exports provided: isTransitioning, default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isTransitioning\", function() { return isTransitioning; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return ResizeTransition; });\n/* harmony import */ var _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/objectSpread */ \"./node_modules/@babel/runtime/helpers/objectSpread.js\");\n/* harmony import */ var _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ \"./node_modules/@babel/runtime/helpers/classCallCheck.js\");\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\");\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ \"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ \"./node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @babel/runtime/helpers/assertThisInitialized */ \"./node_modules/@babel/runtime/helpers/assertThisInitialized.js\");\n/* harmony import */ var _babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ \"./node_modules/@babel/runtime/helpers/inherits.js\");\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ \"./node_modules/@babel/runtime/helpers/defineProperty.js\");\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _emotion_core__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @emotion/core */ \"./node_modules/@emotion/core/dist/core.browser.esm.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony import */ var react_transition_group_Transition__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! react-transition-group/Transition */ \"./node_modules/react-transition-group/Transition.js\");\n/* harmony import */ var react_transition_group_Transition__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(react_transition_group_Transition__WEBPACK_IMPORTED_MODULE_10__);\n\n\n\n\n\n\n\n\n\n\n\nvar DURATION = 300;\n\nfunction camelToKebab(str) {\n return str.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();\n}\n\nfunction getTransition(keys) {\n return {\n transition: keys.map(function (k) {\n return \"\".concat(camelToKebab(k), \" \").concat(DURATION, \"ms cubic-bezier(0.2, 0, 0, 1)\");\n }).join(',')\n };\n}\n\nfunction getStyle(_ref) {\n var keys = _ref.keys,\n values = _ref.values;\n var style = {};\n keys.forEach(function (k, i) {\n style[k] = values[i];\n });\n return style;\n}\n\nfunction getChanges(keys) {\n var props = keys.map(function (k) {\n return camelToKebab(k);\n });\n return {\n willChange: props.join(',')\n };\n}\n\nfunction isTransitioning(state) {\n return ['entering', 'exiting'].includes(state);\n}\n\nfunction NOOP() {}\n\nvar ResizeTransition =\n/*#__PURE__*/\nfunction (_PureComponent) {\n _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_6___default()(ResizeTransition, _PureComponent);\n\n function ResizeTransition() {\n var _getPrototypeOf2;\n\n var _this;\n\n _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default()(this, ResizeTransition);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3___default()(this, (_getPrototypeOf2 = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4___default()(ResizeTransition)).call.apply(_getPrototypeOf2, [this].concat(args)));\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_7___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_5___default()(_this), \"target\", void 0);\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_7___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_5___default()(_this), \"isMounted\", false);\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_7___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_5___default()(_this), \"getTarget\", function (ref) {\n _this.target = ref;\n var innerRef = _this.props.innerRef;\n if (innerRef) innerRef(ref);\n });\n\n return _this;\n }\n\n _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2___default()(ResizeTransition, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.isMounted = true;\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var _this$props = this.props,\n from = _this$props.from,\n onExpandStart = _this$props.onExpandStart,\n onExpandEnd = _this$props.onExpandEnd,\n onCollapseStart = _this$props.onCollapseStart,\n onCollapseEnd = _this$props.onCollapseEnd,\n properties = _this$props.properties,\n to = _this$props.to,\n userIsDragging = _this$props.userIsDragging,\n inProp = _this$props.in;\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_8__[\"jsx\"])(react_transition_group_Transition__WEBPACK_IMPORTED_MODULE_10___default.a, {\n onEntering: onExpandStart,\n onEntered: onExpandEnd,\n onExiting: onCollapseStart,\n onExited: onCollapseEnd,\n in: inProp,\n timeout: this.isMounted ? DURATION : 0\n }, function (transitionState) {\n // transitions interupt manual resize behaviour\n var cssTransition = !userIsDragging && _this2.isMounted ? getTransition(properties) : {}; // `from` and `to` styles tweened by the transition\n\n var dynamicProperties = {\n exiting: getStyle({\n keys: properties,\n values: from\n }),\n exited: getStyle({\n keys: properties,\n values: from\n }),\n entering: getStyle({\n keys: properties,\n values: to\n }),\n entered: getStyle({\n keys: properties,\n values: to\n })\n }; // let the browser know what we're up to\n\n var willChange = getChanges(properties); // put it all together\n\n var transitionStyle = _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0___default()({}, willChange, cssTransition, dynamicProperties[transitionState]);\n\n return _this2.props.children({\n transitionStyle: transitionStyle,\n // consumers must apply `transitionStyle`\n transitionState: transitionState // lets consumers react to the current state\n\n });\n });\n }\n }]);\n\n return ResizeTransition;\n}(react__WEBPACK_IMPORTED_MODULE_9__[\"PureComponent\"]);\n\n_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_7___default()(ResizeTransition, \"defaultProps\", {\n onExpandStart: NOOP,\n onExpandEnd: NOOP,\n onCollapseStart: NOOP,\n onCollapseEnd: NOOP\n});\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL1Jlc2l6ZVRyYW5zaXRpb24vaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL1Jlc2l6ZVRyYW5zaXRpb24vaW5kZXguanM/MzJhNyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgX29iamVjdFNwcmVhZCBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9vYmplY3RTcHJlYWRcIjtcbmltcG9ydCBfY2xhc3NDYWxsQ2hlY2sgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvY2xhc3NDYWxsQ2hlY2tcIjtcbmltcG9ydCBfY3JlYXRlQ2xhc3MgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvY3JlYXRlQ2xhc3NcIjtcbmltcG9ydCBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybiBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuXCI7XG5pbXBvcnQgX2dldFByb3RvdHlwZU9mIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2dldFByb3RvdHlwZU9mXCI7XG5pbXBvcnQgX2Fzc2VydFRoaXNJbml0aWFsaXplZCBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9hc3NlcnRUaGlzSW5pdGlhbGl6ZWRcIjtcbmltcG9ydCBfaW5oZXJpdHMgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvaW5oZXJpdHNcIjtcbmltcG9ydCBfZGVmaW5lUHJvcGVydHkgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvZGVmaW5lUHJvcGVydHlcIjtcbmltcG9ydCB7IGpzeCBhcyBfX19FbW90aW9uSlNYIH0gZnJvbSBcIkBlbW90aW9uL2NvcmVcIjtcbmltcG9ydCBSZWFjdCwgeyBQdXJlQ29tcG9uZW50IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IFRyYW5zaXRpb24gZnJvbSAncmVhY3QtdHJhbnNpdGlvbi1ncm91cC9UcmFuc2l0aW9uJztcbnZhciBEVVJBVElPTiA9IDMwMDtcblxuZnVuY3Rpb24gY2FtZWxUb0tlYmFiKHN0cikge1xuICByZXR1cm4gc3RyLnJlcGxhY2UoLyhbYS16XSkoW0EtWl0pL2csICckMS0kMicpLnRvTG93ZXJDYXNlKCk7XG59XG5cbmZ1bmN0aW9uIGdldFRyYW5zaXRpb24oa2V5cykge1xuICByZXR1cm4ge1xuICAgIHRyYW5zaXRpb246IGtleXMubWFwKGZ1bmN0aW9uIChrKSB7XG4gICAgICByZXR1cm4gXCJcIi5jb25jYXQoY2FtZWxUb0tlYmFiKGspLCBcIiBcIikuY29uY2F0KERVUkFUSU9OLCBcIm1zIGN1YmljLWJlemllcigwLjIsIDAsIDAsIDEpXCIpO1xuICAgIH0pLmpvaW4oJywnKVxuICB9O1xufVxuXG5mdW5jdGlvbiBnZXRTdHlsZShfcmVmKSB7XG4gIHZhciBrZXlzID0gX3JlZi5rZXlzLFxuICAgICAgdmFsdWVzID0gX3JlZi52YWx1ZXM7XG4gIHZhciBzdHlsZSA9IHt9O1xuICBrZXlzLmZvckVhY2goZnVuY3Rpb24gKGssIGkpIHtcbiAgICBzdHlsZVtrXSA9IHZhbHVlc1tpXTtcbiAgfSk7XG4gIHJldHVybiBzdHlsZTtcbn1cblxuZnVuY3Rpb24gZ2V0Q2hhbmdlcyhrZXlzKSB7XG4gIHZhciBwcm9wcyA9IGtleXMubWFwKGZ1bmN0aW9uIChrKSB7XG4gICAgcmV0dXJuIGNhbWVsVG9LZWJhYihrKTtcbiAgfSk7XG4gIHJldHVybiB7XG4gICAgd2lsbENoYW5nZTogcHJvcHMuam9pbignLCcpXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1RyYW5zaXRpb25pbmcoc3RhdGUpIHtcbiAgcmV0dXJuIFsnZW50ZXJpbmcnLCAnZXhpdGluZyddLmluY2x1ZGVzKHN0YXRlKTtcbn1cblxuZnVuY3Rpb24gTk9PUCgpIHt9XG5cbnZhciBSZXNpemVUcmFuc2l0aW9uID1cbi8qI19fUFVSRV9fKi9cbmZ1bmN0aW9uIChfUHVyZUNvbXBvbmVudCkge1xuICBfaW5oZXJpdHMoUmVzaXplVHJhbnNpdGlvbiwgX1B1cmVDb21wb25lbnQpO1xuXG4gIGZ1bmN0aW9uIFJlc2l6ZVRyYW5zaXRpb24oKSB7XG4gICAgdmFyIF9nZXRQcm90b3R5cGVPZjI7XG5cbiAgICB2YXIgX3RoaXM7XG5cbiAgICBfY2xhc3NDYWxsQ2hlY2sodGhpcywgUmVzaXplVHJhbnNpdGlvbik7XG5cbiAgICBmb3IgKHZhciBfbGVuID0gYXJndW1lbnRzLmxlbmd0aCwgYXJncyA9IG5ldyBBcnJheShfbGVuKSwgX2tleSA9IDA7IF9rZXkgPCBfbGVuOyBfa2V5KyspIHtcbiAgICAgIGFyZ3NbX2tleV0gPSBhcmd1bWVudHNbX2tleV07XG4gICAgfVxuXG4gICAgX3RoaXMgPSBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybih0aGlzLCAoX2dldFByb3RvdHlwZU9mMiA9IF9nZXRQcm90b3R5cGVPZihSZXNpemVUcmFuc2l0aW9uKSkuY2FsbC5hcHBseShfZ2V0UHJvdG90eXBlT2YyLCBbdGhpc10uY29uY2F0KGFyZ3MpKSk7XG5cbiAgICBfZGVmaW5lUHJvcGVydHkoX2Fzc2VydFRoaXNJbml0aWFsaXplZChfdGhpcyksIFwidGFyZ2V0XCIsIHZvaWQgMCk7XG5cbiAgICBfZGVmaW5lUHJvcGVydHkoX2Fzc2VydFRoaXNJbml0aWFsaXplZChfdGhpcyksIFwiaXNNb3VudGVkXCIsIGZhbHNlKTtcblxuICAgIF9kZWZpbmVQcm9wZXJ0eShfYXNzZXJ0VGhpc0luaXRpYWxpemVkKF90aGlzKSwgXCJnZXRUYXJnZXRcIiwgZnVuY3Rpb24gKHJlZikge1xuICAgICAgX3RoaXMudGFyZ2V0ID0gcmVmO1xuICAgICAgdmFyIGlubmVyUmVmID0gX3RoaXMucHJvcHMuaW5uZXJSZWY7XG4gICAgICBpZiAoaW5uZXJSZWYpIGlubmVyUmVmKHJlZik7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gX3RoaXM7XG4gIH1cblxuICBfY3JlYXRlQ2xhc3MoUmVzaXplVHJhbnNpdGlvbiwgW3tcbiAgICBrZXk6IFwiY29tcG9uZW50RGlkTW91bnRcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgICB0aGlzLmlzTW91bnRlZCA9IHRydWU7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcInJlbmRlclwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiByZW5kZXIoKSB7XG4gICAgICB2YXIgX3RoaXMyID0gdGhpcztcblxuICAgICAgdmFyIF90aGlzJHByb3BzID0gdGhpcy5wcm9wcyxcbiAgICAgICAgICBmcm9tID0gX3RoaXMkcHJvcHMuZnJvbSxcbiAgICAgICAgICBvbkV4cGFuZFN0YXJ0ID0gX3RoaXMkcHJvcHMub25FeHBhbmRTdGFydCxcbiAgICAgICAgICBvbkV4cGFuZEVuZCA9IF90aGlzJHByb3BzLm9uRXhwYW5kRW5kLFxuICAgICAgICAgIG9uQ29sbGFwc2VTdGFydCA9IF90aGlzJHByb3BzLm9uQ29sbGFwc2VTdGFydCxcbiAgICAgICAgICBvbkNvbGxhcHNlRW5kID0gX3RoaXMkcHJvcHMub25Db2xsYXBzZUVuZCxcbiAgICAgICAgICBwcm9wZXJ0aWVzID0gX3RoaXMkcHJvcHMucHJvcGVydGllcyxcbiAgICAgICAgICB0byA9IF90aGlzJHByb3BzLnRvLFxuICAgICAgICAgIHVzZXJJc0RyYWdnaW5nID0gX3RoaXMkcHJvcHMudXNlcklzRHJhZ2dpbmcsXG4gICAgICAgICAgaW5Qcm9wID0gX3RoaXMkcHJvcHMuaW47XG4gICAgICByZXR1cm4gX19fRW1vdGlvbkpTWChUcmFuc2l0aW9uLCB7XG4gICAgICAgIG9uRW50ZXJpbmc6IG9uRXhwYW5kU3RhcnQsXG4gICAgICAgIG9uRW50ZXJlZDogb25FeHBhbmRFbmQsXG4gICAgICAgIG9uRXhpdGluZzogb25Db2xsYXBzZVN0YXJ0LFxuICAgICAgICBvbkV4aXRlZDogb25Db2xsYXBzZUVuZCxcbiAgICAgICAgaW46IGluUHJvcCxcbiAgICAgICAgdGltZW91dDogdGhpcy5pc01vdW50ZWQgPyBEVVJBVElPTiA6IDBcbiAgICAgIH0sIGZ1bmN0aW9uICh0cmFuc2l0aW9uU3RhdGUpIHtcbiAgICAgICAgLy8gdHJhbnNpdGlvbnMgaW50ZXJ1cHQgbWFudWFsIHJlc2l6ZSBiZWhhdmlvdXJcbiAgICAgICAgdmFyIGNzc1RyYW5zaXRpb24gPSAhdXNlcklzRHJhZ2dpbmcgJiYgX3RoaXMyLmlzTW91bnRlZCA/IGdldFRyYW5zaXRpb24ocHJvcGVydGllcykgOiB7fTsgLy8gYGZyb21gIGFuZCBgdG9gIHN0eWxlcyB0d2VlbmVkIGJ5IHRoZSB0cmFuc2l0aW9uXG5cbiAgICAgICAgdmFyIGR5bmFtaWNQcm9wZXJ0aWVzID0ge1xuICAgICAgICAgIGV4aXRpbmc6IGdldFN0eWxlKHtcbiAgICAgICAgICAgIGtleXM6IHByb3BlcnRpZXMsXG4gICAgICAgICAgICB2YWx1ZXM6IGZyb21cbiAgICAgICAgICB9KSxcbiAgICAgICAgICBleGl0ZWQ6IGdldFN0eWxlKHtcbiAgICAgICAgICAgIGtleXM6IHByb3BlcnRpZXMsXG4gICAgICAgICAgICB2YWx1ZXM6IGZyb21cbiAgICAgICAgICB9KSxcbiAgICAgICAgICBlbnRlcmluZzogZ2V0U3R5bGUoe1xuICAgICAgICAgICAga2V5czogcHJvcGVydGllcyxcbiAgICAgICAgICAgIHZhbHVlczogdG9cbiAgICAgICAgICB9KSxcbiAgICAgICAgICBlbnRlcmVkOiBnZXRTdHlsZSh7XG4gICAgICAgICAgICBrZXlzOiBwcm9wZXJ0aWVzLFxuICAgICAgICAgICAgdmFsdWVzOiB0b1xuICAgICAgICAgIH0pXG4gICAgICAgIH07IC8vIGxldCB0aGUgYnJvd3NlciBrbm93IHdoYXQgd2UncmUgdXAgdG9cblxuICAgICAgICB2YXIgd2lsbENoYW5nZSA9IGdldENoYW5nZXMocHJvcGVydGllcyk7IC8vIHB1dCBpdCBhbGwgdG9nZXRoZXJcblxuICAgICAgICB2YXIgdHJhbnNpdGlvblN0eWxlID0gX29iamVjdFNwcmVhZCh7fSwgd2lsbENoYW5nZSwgY3NzVHJhbnNpdGlvbiwgZHluYW1pY1Byb3BlcnRpZXNbdHJhbnNpdGlvblN0YXRlXSk7XG5cbiAgICAgICAgcmV0dXJuIF90aGlzMi5wcm9wcy5jaGlsZHJlbih7XG4gICAgICAgICAgdHJhbnNpdGlvblN0eWxlOiB0cmFuc2l0aW9uU3R5bGUsXG4gICAgICAgICAgLy8gY29uc3VtZXJzIG11c3QgYXBwbHkgYHRyYW5zaXRpb25TdHlsZWBcbiAgICAgICAgICB0cmFuc2l0aW9uU3RhdGU6IHRyYW5zaXRpb25TdGF0ZSAvLyBsZXRzIGNvbnN1bWVycyByZWFjdCB0byB0aGUgY3VycmVudCBzdGF0ZVxuXG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfVxuICB9XSk7XG5cbiAgcmV0dXJuIFJlc2l6ZVRyYW5zaXRpb247XG59KFB1cmVDb21wb25lbnQpO1xuXG5fZGVmaW5lUHJvcGVydHkoUmVzaXplVHJhbnNpdGlvbiwgXCJkZWZhdWx0UHJvcHNcIiwge1xuICBvbkV4cGFuZFN0YXJ0OiBOT09QLFxuICBvbkV4cGFuZEVuZDogTk9PUCxcbiAgb25Db2xsYXBzZVN0YXJ0OiBOT09QLFxuICBvbkNvbGxhcHNlRW5kOiBOT09QXG59KTtcblxuZXhwb3J0IHsgUmVzaXplVHJhbnNpdGlvbiBhcyBkZWZhdWx0IH07Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/ResizeTransition/index.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/Section/Section.js": /*!******************************************************************************************************!*\ !*** ./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/Section/Section.js ***! \******************************************************************************************************/ /*! exports provided: StaticTransitionGroup, ScrollableTransitionGroup, ScrollableWrapper, ScrollableInner, StaticWrapper, default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"StaticTransitionGroup\", function() { return StaticTransitionGroup; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ScrollableTransitionGroup\", function() { return ScrollableTransitionGroup; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ScrollableWrapper\", function() { return ScrollableWrapper; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ScrollableInner\", function() { return ScrollableInner; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"StaticWrapper\", function() { return StaticWrapper; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return Section; });\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ \"./node_modules/@babel/runtime/helpers/classCallCheck.js\");\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\");\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ \"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ \"./node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/assertThisInitialized */ \"./node_modules/@babel/runtime/helpers/assertThisInitialized.js\");\n/* harmony import */ var _babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ \"./node_modules/@babel/runtime/helpers/inherits.js\");\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ \"./node_modules/@babel/runtime/helpers/defineProperty.js\");\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _emotion_core__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @emotion/core */ \"./node_modules/@emotion/core/dist/core.browser.esm.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony import */ var react_transition_group_Transition__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! react-transition-group/Transition */ \"./node_modules/react-transition-group/Transition.js\");\n/* harmony import */ var react_transition_group_Transition__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(react_transition_group_Transition__WEBPACK_IMPORTED_MODULE_10__);\n/* harmony import */ var react_transition_group_TransitionGroup__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! react-transition-group/TransitionGroup */ \"./node_modules/react-transition-group/TransitionGroup.js\");\n/* harmony import */ var react_transition_group_TransitionGroup__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(react_transition_group_TransitionGroup__WEBPACK_IMPORTED_MODULE_11__);\n/* harmony import */ var _atlaskit_analytics_namespaced_context__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @atlaskit/analytics-namespaced-context */ \"./node_modules/@atlaskit/analytics-namespaced-context/dist/esm/index.js\");\n/* harmony import */ var _common_constants__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../../common/constants */ \"./node_modules/@atlaskit/navigation-next/dist/esm/common/constants.js\");\n/* harmony import */ var _getAnimationStyles__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./getAnimationStyles */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/Section/getAnimationStyles.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/** The below components are exported for testing purposes only. */\n\nvar _ref = false ? undefined : {\n name: \"79elbk\",\n styles: \"position:relative;\",\n map: \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL1NlY3Rpb24vU2VjdGlvbi5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFjTyIsImZpbGUiOiIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9wcmVzZW50YXRpb25hbC9TZWN0aW9uL1NlY3Rpb24uanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgUHVyZUNvbXBvbmVudCB9IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHsgQ2xhc3NOYW1lcywgY3NzIH0gZnJvbSAnQGVtb3Rpb24vY29yZSc7XG5pbXBvcnQgVHJhbnNpdGlvbiBmcm9tICdyZWFjdC10cmFuc2l0aW9uLWdyb3VwL1RyYW5zaXRpb24nO1xuaW1wb3J0IFRyYW5zaXRpb25Hcm91cCBmcm9tICdyZWFjdC10cmFuc2l0aW9uLWdyb3VwL1RyYW5zaXRpb25Hcm91cCc7XG5cbmltcG9ydCB7IE5hdmlnYXRpb25BbmFseXRpY3NDb250ZXh0IH0gZnJvbSAnQGF0bGFza2l0L2FuYWx5dGljcy1uYW1lc3BhY2VkLWNvbnRleHQnO1xuXG5pbXBvcnQgeyB0cmFuc2l0aW9uRHVyYXRpb25NcyB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9jb25zdGFudHMnO1xuXG5pbXBvcnQgZ2V0QW5pbWF0aW9uU3R5bGVzIGZyb20gJy4vZ2V0QW5pbWF0aW9uU3R5bGVzJztcblxuLyoqIFRoZSBiZWxvdyBjb21wb25lbnRzIGFyZSBleHBvcnRlZCBmb3IgdGVzdGluZyBwdXJwb3NlcyBvbmx5LiAqL1xuZXhwb3J0IGNvbnN0IFN0YXRpY1RyYW5zaXRpb25Hcm91cCA9IHByb3BzID0+IChcbiAgPGRpdiBjc3M9e3sgcG9zaXRpb246ICdyZWxhdGl2ZScgfX0gey4uLnByb3BzfSAvPlxuKTtcbmV4cG9ydCBjb25zdCBTY3JvbGxhYmxlVHJhbnNpdGlvbkdyb3VwID0gcHJvcHMgPT4gKFxuICA8ZGl2XG4gICAgY3NzPXt7XG4gICAgICBwb3NpdGlvbjogJ3JlbGF0aXZlJyxcbiAgICAgIGZsZXg6ICcxIDEgMTAwJScsXG4gICAgICBvdmVyZmxvd1k6ICdoaWRkZW4nLFxuICAgIH19XG4gICAgey4uLnByb3BzfVxuICAvPlxuKTtcbmV4cG9ydCBjb25zdCBTY3JvbGxhYmxlV3JhcHBlciA9IHByb3BzID0+IDxkaXYgey4uLnByb3BzfSAvPjtcbmV4cG9ydCBjb25zdCBTY3JvbGxhYmxlSW5uZXIgPSBwcm9wcyA9PiA8ZGl2IHsuLi5wcm9wc30gLz47XG5leHBvcnQgY29uc3QgU3RhdGljV3JhcHBlciA9IHByb3BzID0+IDxkaXYgey4uLnByb3BzfSAvPjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgU2VjdGlvbiBleHRlbmRzIFB1cmVDb21wb25lbnQge1xuICBzdGF0ZSA9IHtcbiAgICB0cmF2ZXJzYWxEaXJlY3Rpb246IG51bGwsXG4gIH07XG5cbiAgaXNNb3VudGVkID0gZmFsc2U7XG5cbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgdGhpcy5pc01vdW50ZWQgPSB0cnVlO1xuICB9XG5cbiAgVU5TQUZFX2NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMobmV4dFByb3BzKSB7XG4gICAgaWYgKG5leHRQcm9wcy5wYXJlbnRJZCAmJiBuZXh0UHJvcHMucGFyZW50SWQgPT09IHRoaXMucHJvcHMuaWQpIHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyB0cmF2ZXJzYWxEaXJlY3Rpb246ICdkb3duJyB9KTtcbiAgICB9XG4gICAgaWYgKHRoaXMucHJvcHMucGFyZW50SWQgJiYgdGhpcy5wcm9wcy5wYXJlbnRJZCA9PT0gbmV4dFByb3BzLmlkKSB7XG4gICAgICB0aGlzLnNldFN0YXRlKHsgdHJhdmVyc2FsRGlyZWN0aW9uOiAndXAnIH0pO1xuICAgIH1cbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICBhbHdheXNTaG93U2Nyb2xsSGludCxcbiAgICAgIGlkLFxuICAgICAgY2hpbGRyZW4sXG4gICAgICBzaG91bGRHcm93LFxuICAgICAgc3R5bGVzOiBzdHlsZVJlZHVjZXIsXG4gICAgICB0aGVtZSxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IHsgbW9kZSwgY29udGV4dCB9ID0gdGhlbWU7XG4gICAgY29uc3Qgc3R5bGVzID0gc3R5bGVSZWR1Y2VyKFxuICAgICAgbW9kZS5zZWN0aW9uKHsgYWx3YXlzU2hvd1Njcm9sbEhpbnQgfSlbY29udGV4dF0sXG4gICAgKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8VHJhbnNpdGlvbkdyb3VwXG4gICAgICAgIGNvbXBvbmVudD17XG4gICAgICAgICAgc2hvdWxkR3JvdyA/IFNjcm9sbGFibGVUcmFuc2l0aW9uR3JvdXAgOiBTdGF0aWNUcmFuc2l0aW9uR3JvdXBcbiAgICAgICAgfVxuICAgICAgICBhcHBlYXJcbiAgICAgID5cbiAgICAgICAgPFRyYW5zaXRpb25cbiAgICAgICAgICBrZXk9e2lkfVxuICAgICAgICAgIHRpbWVvdXQ9e3RoaXMuaXNNb3VudGVkID8gdHJhbnNpdGlvbkR1cmF0aW9uTXMgOiAwfVxuICAgICAgICA+XG4gICAgICAgICAge3N0YXRlID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHsgdHJhdmVyc2FsRGlyZWN0aW9uIH0gPSB0aGlzLnN0YXRlO1xuICAgICAgICAgICAgY29uc3QgYW5pbWF0aW9uU3R5bGVzID0gZ2V0QW5pbWF0aW9uU3R5bGVzKHtcbiAgICAgICAgICAgICAgc3RhdGUsXG4gICAgICAgICAgICAgIHRyYXZlcnNhbERpcmVjdGlvbixcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAvLyBXZSBwcm92aWRlIGJvdGggdGhlIHN0eWxlcyBvYmplY3QgYW5kIHRoZSBjb21wdXRlZCBjbGFzc05hbWUuXG4gICAgICAgICAgICAvLyBUaGlzIGFsbG93cyBjb25zdW1lcnMgdG8gcGF0Y2ggdGhlIHN0eWxlcyBpZiB0aGV5IHdhbnQgdG8sIG9yXG4gICAgICAgICAgICAvLyBzaW1wbHkgYXBwbHkgdGhlIGNsYXNzTmFtZSBpZiB0aGV5J3JlIG5vdCB1c2luZyBhIEpTUyBwYXJzZXIgbGlrZVxuICAgICAgICAgICAgLy8gZW1vdGlvbi5cbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgIDxOYXZpZ2F0aW9uQW5hbHl0aWNzQ29udGV4dFxuICAgICAgICAgICAgICAgIGRhdGE9e3tcbiAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXM6IHsgdmlld1NlY3Rpb246IGlkIH0sXG4gICAgICAgICAgICAgICAgICBjb21wb25lbnROYW1lOiAnU2VjdGlvbicsXG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxDbGFzc05hbWVzPlxuICAgICAgICAgICAgICAgICAgeyh7IGNzczogZ2V0Q2xhc3NOYW1lIH0pID0+XG4gICAgICAgICAgICAgICAgICAgIHNob3VsZEdyb3cgPyAoXG4gICAgICAgICAgICAgICAgICAgICAgPFNjcm9sbGFibGVXcmFwcGVyXG4gICAgICAgICAgICAgICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJHtzdHlsZXMud3JhcHBlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgJHthbmltYXRpb25TdHlsZXN9XG4gICAgICAgICAgICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxTY3JvbGxhYmxlSW5uZXIgY3NzPXtzdHlsZXMuaW5uZXJ9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICB7Y2hpbGRyZW4oe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZTogZ2V0Q2xhc3NOYW1lKHN0eWxlcy5jaGlsZHJlbiksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY3NzOiBzdHlsZXMuY2hpbGRyZW4sXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9TY3JvbGxhYmxlSW5uZXI+XG4gICAgICAgICAgICAgICAgICAgICAgPC9TY3JvbGxhYmxlV3JhcHBlcj5cbiAgICAgICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgICA8U3RhdGljV3JhcHBlciBjc3M9e2FuaW1hdGlvblN0eWxlc30+XG4gICAgICAgICAgICAgICAgICAgICAgICB7Y2hpbGRyZW4oe1xuICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU6IGdldENsYXNzTmFtZShzdHlsZXMuY2hpbGRyZW4pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBjc3M6IHN0eWxlcy5jaGlsZHJlbixcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgICAgICAgIDwvU3RhdGljV3JhcHBlcj5cbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwvQ2xhc3NOYW1lcz5cbiAgICAgICAgICAgICAgPC9OYXZpZ2F0aW9uQW5hbHl0aWNzQ29udGV4dD5cbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfX1cbiAgICAgICAgPC9UcmFuc2l0aW9uPlxuICAgICAgPC9UcmFuc2l0aW9uR3JvdXA+XG4gICAgKTtcbiAgfVxufVxuIl19 */\"\n};\n\nvar StaticTransitionGroup = function StaticTransitionGroup(props) {\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_8__[\"jsx\"])(\"div\", _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_7___default()({\n css: _ref\n }, props));\n};\n\nvar _ref2 = false ? undefined : {\n name: \"424011\",\n styles: \"position:relative;flex:1 1 100%;overflow-y:hidden;\",\n map: \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL1NlY3Rpb24vU2VjdGlvbi5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFrQkkiLCJmaWxlIjoiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvcHJlc2VudGF0aW9uYWwvU2VjdGlvbi9TZWN0aW9uLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IFB1cmVDb21wb25lbnQgfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB7IENsYXNzTmFtZXMsIGNzcyB9IGZyb20gJ0BlbW90aW9uL2NvcmUnO1xuaW1wb3J0IFRyYW5zaXRpb24gZnJvbSAncmVhY3QtdHJhbnNpdGlvbi1ncm91cC9UcmFuc2l0aW9uJztcbmltcG9ydCBUcmFuc2l0aW9uR3JvdXAgZnJvbSAncmVhY3QtdHJhbnNpdGlvbi1ncm91cC9UcmFuc2l0aW9uR3JvdXAnO1xuXG5pbXBvcnQgeyBOYXZpZ2F0aW9uQW5hbHl0aWNzQ29udGV4dCB9IGZyb20gJ0BhdGxhc2tpdC9hbmFseXRpY3MtbmFtZXNwYWNlZC1jb250ZXh0JztcblxuaW1wb3J0IHsgdHJhbnNpdGlvbkR1cmF0aW9uTXMgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vY29uc3RhbnRzJztcblxuaW1wb3J0IGdldEFuaW1hdGlvblN0eWxlcyBmcm9tICcuL2dldEFuaW1hdGlvblN0eWxlcyc7XG5cbi8qKiBUaGUgYmVsb3cgY29tcG9uZW50cyBhcmUgZXhwb3J0ZWQgZm9yIHRlc3RpbmcgcHVycG9zZXMgb25seS4gKi9cbmV4cG9ydCBjb25zdCBTdGF0aWNUcmFuc2l0aW9uR3JvdXAgPSBwcm9wcyA9PiAoXG4gIDxkaXYgY3NzPXt7IHBvc2l0aW9uOiAncmVsYXRpdmUnIH19IHsuLi5wcm9wc30gLz5cbik7XG5leHBvcnQgY29uc3QgU2Nyb2xsYWJsZVRyYW5zaXRpb25Hcm91cCA9IHByb3BzID0+IChcbiAgPGRpdlxuICAgIGNzcz17e1xuICAgICAgcG9zaXRpb246ICdyZWxhdGl2ZScsXG4gICAgICBmbGV4OiAnMSAxIDEwMCUnLFxuICAgICAgb3ZlcmZsb3dZOiAnaGlkZGVuJyxcbiAgICB9fVxuICAgIHsuLi5wcm9wc31cbiAgLz5cbik7XG5leHBvcnQgY29uc3QgU2Nyb2xsYWJsZVdyYXBwZXIgPSBwcm9wcyA9PiA8ZGl2IHsuLi5wcm9wc30gLz47XG5leHBvcnQgY29uc3QgU2Nyb2xsYWJsZUlubmVyID0gcHJvcHMgPT4gPGRpdiB7Li4ucHJvcHN9IC8+O1xuZXhwb3J0IGNvbnN0IFN0YXRpY1dyYXBwZXIgPSBwcm9wcyA9PiA8ZGl2IHsuLi5wcm9wc30gLz47XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFNlY3Rpb24gZXh0ZW5kcyBQdXJlQ29tcG9uZW50IHtcbiAgc3RhdGUgPSB7XG4gICAgdHJhdmVyc2FsRGlyZWN0aW9uOiBudWxsLFxuICB9O1xuXG4gIGlzTW91bnRlZCA9IGZhbHNlO1xuXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIHRoaXMuaXNNb3VudGVkID0gdHJ1ZTtcbiAgfVxuXG4gIFVOU0FGRV9jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzKG5leHRQcm9wcykge1xuICAgIGlmIChuZXh0UHJvcHMucGFyZW50SWQgJiYgbmV4dFByb3BzLnBhcmVudElkID09PSB0aGlzLnByb3BzLmlkKSB7XG4gICAgICB0aGlzLnNldFN0YXRlKHsgdHJhdmVyc2FsRGlyZWN0aW9uOiAnZG93bicgfSk7XG4gICAgfVxuICAgIGlmICh0aGlzLnByb3BzLnBhcmVudElkICYmIHRoaXMucHJvcHMucGFyZW50SWQgPT09IG5leHRQcm9wcy5pZCkge1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7IHRyYXZlcnNhbERpcmVjdGlvbjogJ3VwJyB9KTtcbiAgICB9XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgYWx3YXlzU2hvd1Njcm9sbEhpbnQsXG4gICAgICBpZCxcbiAgICAgIGNoaWxkcmVuLFxuICAgICAgc2hvdWxkR3JvdyxcbiAgICAgIHN0eWxlczogc3R5bGVSZWR1Y2VyLFxuICAgICAgdGhlbWUsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCB7IG1vZGUsIGNvbnRleHQgfSA9IHRoZW1lO1xuICAgIGNvbnN0IHN0eWxlcyA9IHN0eWxlUmVkdWNlcihcbiAgICAgIG1vZGUuc2VjdGlvbih7IGFsd2F5c1Nob3dTY3JvbGxIaW50IH0pW2NvbnRleHRdLFxuICAgICk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFRyYW5zaXRpb25Hcm91cFxuICAgICAgICBjb21wb25lbnQ9e1xuICAgICAgICAgIHNob3VsZEdyb3cgPyBTY3JvbGxhYmxlVHJhbnNpdGlvbkdyb3VwIDogU3RhdGljVHJhbnNpdGlvbkdyb3VwXG4gICAgICAgIH1cbiAgICAgICAgYXBwZWFyXG4gICAgICA+XG4gICAgICAgIDxUcmFuc2l0aW9uXG4gICAgICAgICAga2V5PXtpZH1cbiAgICAgICAgICB0aW1lb3V0PXt0aGlzLmlzTW91bnRlZCA/IHRyYW5zaXRpb25EdXJhdGlvbk1zIDogMH1cbiAgICAgICAgPlxuICAgICAgICAgIHtzdGF0ZSA9PiB7XG4gICAgICAgICAgICBjb25zdCB7IHRyYXZlcnNhbERpcmVjdGlvbiB9ID0gdGhpcy5zdGF0ZTtcbiAgICAgICAgICAgIGNvbnN0IGFuaW1hdGlvblN0eWxlcyA9IGdldEFuaW1hdGlvblN0eWxlcyh7XG4gICAgICAgICAgICAgIHN0YXRlLFxuICAgICAgICAgICAgICB0cmF2ZXJzYWxEaXJlY3Rpb24sXG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgLy8gV2UgcHJvdmlkZSBib3RoIHRoZSBzdHlsZXMgb2JqZWN0IGFuZCB0aGUgY29tcHV0ZWQgY2xhc3NOYW1lLlxuICAgICAgICAgICAgLy8gVGhpcyBhbGxvd3MgY29uc3VtZXJzIHRvIHBhdGNoIHRoZSBzdHlsZXMgaWYgdGhleSB3YW50IHRvLCBvclxuICAgICAgICAgICAgLy8gc2ltcGx5IGFwcGx5IHRoZSBjbGFzc05hbWUgaWYgdGhleSdyZSBub3QgdXNpbmcgYSBKU1MgcGFyc2VyIGxpa2VcbiAgICAgICAgICAgIC8vIGVtb3Rpb24uXG4gICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICA8TmF2aWdhdGlvbkFuYWx5dGljc0NvbnRleHRcbiAgICAgICAgICAgICAgICBkYXRhPXt7XG4gICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVzOiB7IHZpZXdTZWN0aW9uOiBpZCB9LFxuICAgICAgICAgICAgICAgICAgY29tcG9uZW50TmFtZTogJ1NlY3Rpb24nLFxuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8Q2xhc3NOYW1lcz5cbiAgICAgICAgICAgICAgICAgIHsoeyBjc3M6IGdldENsYXNzTmFtZSB9KSA9PlxuICAgICAgICAgICAgICAgICAgICBzaG91bGRHcm93ID8gKFxuICAgICAgICAgICAgICAgICAgICAgIDxTY3JvbGxhYmxlV3JhcHBlclxuICAgICAgICAgICAgICAgICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICR7c3R5bGVzLndyYXBwZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICR7YW5pbWF0aW9uU3R5bGVzfVxuICAgICAgICAgICAgICAgICAgICAgICAgYH1cbiAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8U2Nyb2xsYWJsZUlubmVyIGNzcz17c3R5bGVzLmlubmVyfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAge2NoaWxkcmVuKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU6IGdldENsYXNzTmFtZShzdHlsZXMuY2hpbGRyZW4pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNzczogc3R5bGVzLmNoaWxkcmVuLFxuICAgICAgICAgICAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvU2Nyb2xsYWJsZUlubmVyPlxuICAgICAgICAgICAgICAgICAgICAgIDwvU2Nyb2xsYWJsZVdyYXBwZXI+XG4gICAgICAgICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgICAgICAgPFN0YXRpY1dyYXBwZXIgY3NzPXthbmltYXRpb25TdHlsZXN9PlxuICAgICAgICAgICAgICAgICAgICAgICAge2NoaWxkcmVuKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lOiBnZXRDbGFzc05hbWUoc3R5bGVzLmNoaWxkcmVuKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY3NzOiBzdHlsZXMuY2hpbGRyZW4sXG4gICAgICAgICAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICAgICAgICA8L1N0YXRpY1dyYXBwZXI+XG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8L0NsYXNzTmFtZXM+XG4gICAgICAgICAgICAgIDwvTmF2aWdhdGlvbkFuYWx5dGljc0NvbnRleHQ+XG4gICAgICAgICAgICApO1xuICAgICAgICAgIH19XG4gICAgICAgIDwvVHJhbnNpdGlvbj5cbiAgICAgIDwvVHJhbnNpdGlvbkdyb3VwPlxuICAgICk7XG4gIH1cbn1cbiJdfQ== */\"\n};\n\nvar ScrollableTransitionGroup = function ScrollableTransitionGroup(props) {\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_8__[\"jsx\"])(\"div\", _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_7___default()({\n css: _ref2\n }, props));\n};\nvar ScrollableWrapper = function ScrollableWrapper(props) {\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_8__[\"jsx\"])(\"div\", props);\n};\nvar ScrollableInner = function ScrollableInner(props) {\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_8__[\"jsx\"])(\"div\", props);\n};\nvar StaticWrapper = function StaticWrapper(props) {\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_8__[\"jsx\"])(\"div\", props);\n};\n\nvar Section =\n/*#__PURE__*/\nfunction (_PureComponent) {\n _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5___default()(Section, _PureComponent);\n\n function Section() {\n var _getPrototypeOf2;\n\n var _this;\n\n _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default()(this, Section);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2___default()(this, (_getPrototypeOf2 = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3___default()(Section)).call.apply(_getPrototypeOf2, [this].concat(args)));\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4___default()(_this), \"state\", {\n traversalDirection: null\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4___default()(_this), \"isMounted\", false);\n\n return _this;\n }\n\n _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1___default()(Section, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.isMounted = true;\n }\n }, {\n key: \"UNSAFE_componentWillReceiveProps\",\n value: function UNSAFE_componentWillReceiveProps(nextProps) {\n if (nextProps.parentId && nextProps.parentId === this.props.id) {\n this.setState({\n traversalDirection: 'down'\n });\n }\n\n if (this.props.parentId && this.props.parentId === nextProps.id) {\n this.setState({\n traversalDirection: 'up'\n });\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var _this$props = this.props,\n alwaysShowScrollHint = _this$props.alwaysShowScrollHint,\n id = _this$props.id,\n children = _this$props.children,\n shouldGrow = _this$props.shouldGrow,\n styleReducer = _this$props.styles,\n theme = _this$props.theme;\n var mode = theme.mode,\n context = theme.context;\n var styles = styleReducer(mode.section({\n alwaysShowScrollHint: alwaysShowScrollHint\n })[context]);\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_8__[\"jsx\"])(react_transition_group_TransitionGroup__WEBPACK_IMPORTED_MODULE_11___default.a, {\n component: shouldGrow ? ScrollableTransitionGroup : StaticTransitionGroup,\n appear: true\n }, Object(_emotion_core__WEBPACK_IMPORTED_MODULE_8__[\"jsx\"])(react_transition_group_Transition__WEBPACK_IMPORTED_MODULE_10___default.a, {\n key: id,\n timeout: this.isMounted ? _common_constants__WEBPACK_IMPORTED_MODULE_13__[\"transitionDurationMs\"] : 0\n }, function (state) {\n var traversalDirection = _this2.state.traversalDirection;\n var animationStyles = Object(_getAnimationStyles__WEBPACK_IMPORTED_MODULE_14__[\"default\"])({\n state: state,\n traversalDirection: traversalDirection\n }); // We provide both the styles object and the computed className.\n // This allows consumers to patch the styles if they want to, or\n // simply apply the className if they're not using a JSS parser like\n // emotion.\n\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_8__[\"jsx\"])(_atlaskit_analytics_namespaced_context__WEBPACK_IMPORTED_MODULE_12__[\"NavigationAnalyticsContext\"], {\n data: {\n attributes: {\n viewSection: id\n },\n componentName: 'Section'\n }\n }, Object(_emotion_core__WEBPACK_IMPORTED_MODULE_8__[\"jsx\"])(_emotion_core__WEBPACK_IMPORTED_MODULE_8__[\"ClassNames\"], null, function (_ref3) {\n var getClassName = _ref3.css;\n return shouldGrow ? Object(_emotion_core__WEBPACK_IMPORTED_MODULE_8__[\"jsx\"])(ScrollableWrapper, {\n css:\n /*#__PURE__*/\n Object(_emotion_core__WEBPACK_IMPORTED_MODULE_8__[\"css\"])(styles.wrapper, \" \", animationStyles, false ? undefined : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL1NlY3Rpb24vU2VjdGlvbi5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFrR2dDIiwiZmlsZSI6Ii4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL1NlY3Rpb24vU2VjdGlvbi5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyBQdXJlQ29tcG9uZW50IH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgeyBDbGFzc05hbWVzLCBjc3MgfSBmcm9tICdAZW1vdGlvbi9jb3JlJztcbmltcG9ydCBUcmFuc2l0aW9uIGZyb20gJ3JlYWN0LXRyYW5zaXRpb24tZ3JvdXAvVHJhbnNpdGlvbic7XG5pbXBvcnQgVHJhbnNpdGlvbkdyb3VwIGZyb20gJ3JlYWN0LXRyYW5zaXRpb24tZ3JvdXAvVHJhbnNpdGlvbkdyb3VwJztcblxuaW1wb3J0IHsgTmF2aWdhdGlvbkFuYWx5dGljc0NvbnRleHQgfSBmcm9tICdAYXRsYXNraXQvYW5hbHl0aWNzLW5hbWVzcGFjZWQtY29udGV4dCc7XG5cbmltcG9ydCB7IHRyYW5zaXRpb25EdXJhdGlvbk1zIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2NvbnN0YW50cyc7XG5cbmltcG9ydCBnZXRBbmltYXRpb25TdHlsZXMgZnJvbSAnLi9nZXRBbmltYXRpb25TdHlsZXMnO1xuXG4vKiogVGhlIGJlbG93IGNvbXBvbmVudHMgYXJlIGV4cG9ydGVkIGZvciB0ZXN0aW5nIHB1cnBvc2VzIG9ubHkuICovXG5leHBvcnQgY29uc3QgU3RhdGljVHJhbnNpdGlvbkdyb3VwID0gcHJvcHMgPT4gKFxuICA8ZGl2IGNzcz17eyBwb3NpdGlvbjogJ3JlbGF0aXZlJyB9fSB7Li4ucHJvcHN9IC8+XG4pO1xuZXhwb3J0IGNvbnN0IFNjcm9sbGFibGVUcmFuc2l0aW9uR3JvdXAgPSBwcm9wcyA9PiAoXG4gIDxkaXZcbiAgICBjc3M9e3tcbiAgICAgIHBvc2l0aW9uOiAncmVsYXRpdmUnLFxuICAgICAgZmxleDogJzEgMSAxMDAlJyxcbiAgICAgIG92ZXJmbG93WTogJ2hpZGRlbicsXG4gICAgfX1cbiAgICB7Li4ucHJvcHN9XG4gIC8+XG4pO1xuZXhwb3J0IGNvbnN0IFNjcm9sbGFibGVXcmFwcGVyID0gcHJvcHMgPT4gPGRpdiB7Li4ucHJvcHN9IC8+O1xuZXhwb3J0IGNvbnN0IFNjcm9sbGFibGVJbm5lciA9IHByb3BzID0+IDxkaXYgey4uLnByb3BzfSAvPjtcbmV4cG9ydCBjb25zdCBTdGF0aWNXcmFwcGVyID0gcHJvcHMgPT4gPGRpdiB7Li4ucHJvcHN9IC8+O1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBTZWN0aW9uIGV4dGVuZHMgUHVyZUNvbXBvbmVudCB7XG4gIHN0YXRlID0ge1xuICAgIHRyYXZlcnNhbERpcmVjdGlvbjogbnVsbCxcbiAgfTtcblxuICBpc01vdW50ZWQgPSBmYWxzZTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICB0aGlzLmlzTW91bnRlZCA9IHRydWU7XG4gIH1cblxuICBVTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyhuZXh0UHJvcHMpIHtcbiAgICBpZiAobmV4dFByb3BzLnBhcmVudElkICYmIG5leHRQcm9wcy5wYXJlbnRJZCA9PT0gdGhpcy5wcm9wcy5pZCkge1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7IHRyYXZlcnNhbERpcmVjdGlvbjogJ2Rvd24nIH0pO1xuICAgIH1cbiAgICBpZiAodGhpcy5wcm9wcy5wYXJlbnRJZCAmJiB0aGlzLnByb3BzLnBhcmVudElkID09PSBuZXh0UHJvcHMuaWQpIHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyB0cmF2ZXJzYWxEaXJlY3Rpb246ICd1cCcgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHtcbiAgICAgIGFsd2F5c1Nob3dTY3JvbGxIaW50LFxuICAgICAgaWQsXG4gICAgICBjaGlsZHJlbixcbiAgICAgIHNob3VsZEdyb3csXG4gICAgICBzdHlsZXM6IHN0eWxlUmVkdWNlcixcbiAgICAgIHRoZW1lLFxuICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3QgeyBtb2RlLCBjb250ZXh0IH0gPSB0aGVtZTtcbiAgICBjb25zdCBzdHlsZXMgPSBzdHlsZVJlZHVjZXIoXG4gICAgICBtb2RlLnNlY3Rpb24oeyBhbHdheXNTaG93U2Nyb2xsSGludCB9KVtjb250ZXh0XSxcbiAgICApO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxUcmFuc2l0aW9uR3JvdXBcbiAgICAgICAgY29tcG9uZW50PXtcbiAgICAgICAgICBzaG91bGRHcm93ID8gU2Nyb2xsYWJsZVRyYW5zaXRpb25Hcm91cCA6IFN0YXRpY1RyYW5zaXRpb25Hcm91cFxuICAgICAgICB9XG4gICAgICAgIGFwcGVhclxuICAgICAgPlxuICAgICAgICA8VHJhbnNpdGlvblxuICAgICAgICAgIGtleT17aWR9XG4gICAgICAgICAgdGltZW91dD17dGhpcy5pc01vdW50ZWQgPyB0cmFuc2l0aW9uRHVyYXRpb25NcyA6IDB9XG4gICAgICAgID5cbiAgICAgICAgICB7c3RhdGUgPT4ge1xuICAgICAgICAgICAgY29uc3QgeyB0cmF2ZXJzYWxEaXJlY3Rpb24gfSA9IHRoaXMuc3RhdGU7XG4gICAgICAgICAgICBjb25zdCBhbmltYXRpb25TdHlsZXMgPSBnZXRBbmltYXRpb25TdHlsZXMoe1xuICAgICAgICAgICAgICBzdGF0ZSxcbiAgICAgICAgICAgICAgdHJhdmVyc2FsRGlyZWN0aW9uLFxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIC8vIFdlIHByb3ZpZGUgYm90aCB0aGUgc3R5bGVzIG9iamVjdCBhbmQgdGhlIGNvbXB1dGVkIGNsYXNzTmFtZS5cbiAgICAgICAgICAgIC8vIFRoaXMgYWxsb3dzIGNvbnN1bWVycyB0byBwYXRjaCB0aGUgc3R5bGVzIGlmIHRoZXkgd2FudCB0bywgb3JcbiAgICAgICAgICAgIC8vIHNpbXBseSBhcHBseSB0aGUgY2xhc3NOYW1lIGlmIHRoZXkncmUgbm90IHVzaW5nIGEgSlNTIHBhcnNlciBsaWtlXG4gICAgICAgICAgICAvLyBlbW90aW9uLlxuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgPE5hdmlnYXRpb25BbmFseXRpY3NDb250ZXh0XG4gICAgICAgICAgICAgICAgZGF0YT17e1xuICAgICAgICAgICAgICAgICAgYXR0cmlidXRlczogeyB2aWV3U2VjdGlvbjogaWQgfSxcbiAgICAgICAgICAgICAgICAgIGNvbXBvbmVudE5hbWU6ICdTZWN0aW9uJyxcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPENsYXNzTmFtZXM+XG4gICAgICAgICAgICAgICAgICB7KHsgY3NzOiBnZXRDbGFzc05hbWUgfSkgPT5cbiAgICAgICAgICAgICAgICAgICAgc2hvdWxkR3JvdyA/IChcbiAgICAgICAgICAgICAgICAgICAgICA8U2Nyb2xsYWJsZVdyYXBwZXJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNzcz17Y3NzYFxuICAgICAgICAgICAgICAgICAgICAgICAgICAke3N0eWxlcy53cmFwcGVyfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAke2FuaW1hdGlvblN0eWxlc31cbiAgICAgICAgICAgICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPFNjcm9sbGFibGVJbm5lciBjc3M9e3N0eWxlcy5pbm5lcn0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHtjaGlsZHJlbih7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lOiBnZXRDbGFzc05hbWUoc3R5bGVzLmNoaWxkcmVuKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjc3M6IHN0eWxlcy5jaGlsZHJlbixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICAgICAgICAgICAgICA8L1Njcm9sbGFibGVJbm5lcj5cbiAgICAgICAgICAgICAgICAgICAgICA8L1Njcm9sbGFibGVXcmFwcGVyPlxuICAgICAgICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgICAgICAgIDxTdGF0aWNXcmFwcGVyIGNzcz17YW5pbWF0aW9uU3R5bGVzfT5cbiAgICAgICAgICAgICAgICAgICAgICAgIHtjaGlsZHJlbih7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZTogZ2V0Q2xhc3NOYW1lKHN0eWxlcy5jaGlsZHJlbiksXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNzczogc3R5bGVzLmNoaWxkcmVuLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICAgICAgICAgICAgPC9TdGF0aWNXcmFwcGVyPlxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPC9DbGFzc05hbWVzPlxuICAgICAgICAgICAgICA8L05hdmlnYXRpb25BbmFseXRpY3NDb250ZXh0PlxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9fVxuICAgICAgICA8L1RyYW5zaXRpb24+XG4gICAgICA8L1RyYW5zaXRpb25Hcm91cD5cbiAgICApO1xuICB9XG59XG4iXX0= */\")\n }, Object(_emotion_core__WEBPACK_IMPORTED_MODULE_8__[\"jsx\"])(ScrollableInner, {\n css: styles.inner\n }, children({\n className: getClassName(styles.children),\n css: styles.children\n }))) : Object(_emotion_core__WEBPACK_IMPORTED_MODULE_8__[\"jsx\"])(StaticWrapper, {\n css: animationStyles\n }, children({\n className: getClassName(styles.children),\n css: styles.children\n }));\n }));\n }));\n }\n }]);\n\n return Section;\n}(react__WEBPACK_IMPORTED_MODULE_9__[\"PureComponent\"]);\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL1NlY3Rpb24vU2VjdGlvbi5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AYXRsYXNraXQvbmF2aWdhdGlvbi1uZXh0L2Rpc3QvZXNtL2NvbXBvbmVudHMvcHJlc2VudGF0aW9uYWwvU2VjdGlvbi9TZWN0aW9uLmpzP2UyYWIiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IF9jbGFzc0NhbGxDaGVjayBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9jbGFzc0NhbGxDaGVja1wiO1xuaW1wb3J0IF9jcmVhdGVDbGFzcyBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9jcmVhdGVDbGFzc1wiO1xuaW1wb3J0IF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm5cIjtcbmltcG9ydCBfZ2V0UHJvdG90eXBlT2YgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvZ2V0UHJvdG90eXBlT2ZcIjtcbmltcG9ydCBfYXNzZXJ0VGhpc0luaXRpYWxpemVkIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2Fzc2VydFRoaXNJbml0aWFsaXplZFwiO1xuaW1wb3J0IF9pbmhlcml0cyBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9pbmhlcml0c1wiO1xuaW1wb3J0IF9kZWZpbmVQcm9wZXJ0eSBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9kZWZpbmVQcm9wZXJ0eVwiO1xuaW1wb3J0IF9leHRlbmRzIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2V4dGVuZHNcIjtcbmltcG9ydCB7IGpzeCBhcyBfX19FbW90aW9uSlNYIH0gZnJvbSBcIkBlbW90aW9uL2NvcmVcIjtcbmltcG9ydCBSZWFjdCwgeyBQdXJlQ29tcG9uZW50IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgQ2xhc3NOYW1lcywgY3NzIH0gZnJvbSAnQGVtb3Rpb24vY29yZSc7XG5pbXBvcnQgVHJhbnNpdGlvbiBmcm9tICdyZWFjdC10cmFuc2l0aW9uLWdyb3VwL1RyYW5zaXRpb24nO1xuaW1wb3J0IFRyYW5zaXRpb25Hcm91cCBmcm9tICdyZWFjdC10cmFuc2l0aW9uLWdyb3VwL1RyYW5zaXRpb25Hcm91cCc7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uQW5hbHl0aWNzQ29udGV4dCB9IGZyb20gJ0BhdGxhc2tpdC9hbmFseXRpY3MtbmFtZXNwYWNlZC1jb250ZXh0JztcbmltcG9ydCB7IHRyYW5zaXRpb25EdXJhdGlvbk1zIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2NvbnN0YW50cyc7XG5pbXBvcnQgZ2V0QW5pbWF0aW9uU3R5bGVzIGZyb20gJy4vZ2V0QW5pbWF0aW9uU3R5bGVzJztcbi8qKiBUaGUgYmVsb3cgY29tcG9uZW50cyBhcmUgZXhwb3J0ZWQgZm9yIHRlc3RpbmcgcHVycG9zZXMgb25seS4gKi9cblxudmFyIF9yZWYgPSBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7XG4gIG5hbWU6IFwiNzllbGJrXCIsXG4gIHN0eWxlczogXCJwb3NpdGlvbjpyZWxhdGl2ZTtcIlxufSA6IHtcbiAgbmFtZTogXCI3OWVsYmtcIixcbiAgc3R5bGVzOiBcInBvc2l0aW9uOnJlbGF0aXZlO1wiLFxuICBtYXA6IFwiLyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWk0dUx5NHVMeTR1THk0dUx5NHVMM055WXk5amIyMXdiMjVsYm5SekwzQnlaWE5sYm5SaGRHbHZibUZzTDFObFkzUnBiMjR2VTJWamRHbHZiaTVxY3lKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGalR5SXNJbVpwYkdVaU9pSXVMaTh1TGk4dUxpOHVMaTh1TGk5emNtTXZZMjl0Y0c5dVpXNTBjeTl3Y21WelpXNTBZWFJwYjI1aGJDOVRaV04wYVc5dUwxTmxZM1JwYjI0dWFuTWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUpwYlhCdmNuUWdVbVZoWTNRc0lIc2dVSFZ5WlVOdmJYQnZibVZ1ZENCOUlHWnliMjBnSjNKbFlXTjBKenRjYmx4dWFXMXdiM0owSUhzZ1EyeGhjM05PWVcxbGN5d2dZM056SUgwZ1puSnZiU0FuUUdWdGIzUnBiMjR2WTI5eVpTYzdYRzVwYlhCdmNuUWdWSEpoYm5OcGRHbHZiaUJtY205dElDZHlaV0ZqZEMxMGNtRnVjMmwwYVc5dUxXZHliM1Z3TDFSeVlXNXphWFJwYjI0bk8xeHVhVzF3YjNKMElGUnlZVzV6YVhScGIyNUhjbTkxY0NCbWNtOXRJQ2R5WldGamRDMTBjbUZ1YzJsMGFXOXVMV2R5YjNWd0wxUnlZVzV6YVhScGIyNUhjbTkxY0NjN1hHNWNibWx0Y0c5eWRDQjdJRTVoZG1sbllYUnBiMjVCYm1Gc2VYUnBZM05EYjI1MFpYaDBJSDBnWm5KdmJTQW5RR0YwYkdGemEybDBMMkZ1WVd4NWRHbGpjeTF1WVcxbGMzQmhZMlZrTFdOdmJuUmxlSFFuTzF4dVhHNXBiWEJ2Y25RZ2V5QjBjbUZ1YzJsMGFXOXVSSFZ5WVhScGIyNU5jeUI5SUdaeWIyMGdKeTR1THk0dUx5NHVMMk52YlcxdmJpOWpiMjV6ZEdGdWRITW5PMXh1WEc1cGJYQnZjblFnWjJWMFFXNXBiV0YwYVc5dVUzUjViR1Z6SUdaeWIyMGdKeTR2WjJWMFFXNXBiV0YwYVc5dVUzUjViR1Z6Snp0Y2JseHVMeW9xSUZSb1pTQmlaV3h2ZHlCamIyMXdiMjVsYm5SeklHRnlaU0JsZUhCdmNuUmxaQ0JtYjNJZ2RHVnpkR2x1WnlCd2RYSndiM05sY3lCdmJteDVMaUFxTDF4dVpYaHdiM0owSUdOdmJuTjBJRk4wWVhScFkxUnlZVzV6YVhScGIyNUhjbTkxY0NBOUlIQnliM0J6SUQwK0lDaGNiaUFnUEdScGRpQmpjM005ZTNzZ2NHOXphWFJwYjI0NklDZHlaV3hoZEdsMlpTY2dmWDBnZXk0dUxuQnliM0J6ZlNBdlBseHVLVHRjYm1WNGNHOXlkQ0JqYjI1emRDQlRZM0p2Ykd4aFlteGxWSEpoYm5OcGRHbHZia2R5YjNWd0lEMGdjSEp2Y0hNZ1BUNGdLRnh1SUNBOFpHbDJYRzRnSUNBZ1kzTnpQWHQ3WEc0Z0lDQWdJQ0J3YjNOcGRHbHZiam9nSjNKbGJHRjBhWFpsSnl4Y2JpQWdJQ0FnSUdac1pYZzZJQ2N4SURFZ01UQXdKU2NzWEc0Z0lDQWdJQ0J2ZG1WeVpteHZkMWs2SUNkb2FXUmtaVzRuTEZ4dUlDQWdJSDE5WEc0Z0lDQWdleTR1TG5CeWIzQnpmVnh1SUNBdlBseHVLVHRjYm1WNGNHOXlkQ0JqYjI1emRDQlRZM0p2Ykd4aFlteGxWM0poY0hCbGNpQTlJSEJ5YjNCeklEMCtJRHhrYVhZZ2V5NHVMbkJ5YjNCemZTQXZQanRjYm1WNGNHOXlkQ0JqYjI1emRDQlRZM0p2Ykd4aFlteGxTVzV1WlhJZ1BTQndjbTl3Y3lBOVBpQThaR2wySUhzdUxpNXdjbTl3YzMwZ0x6NDdYRzVsZUhCdmNuUWdZMjl1YzNRZ1UzUmhkR2xqVjNKaGNIQmxjaUE5SUhCeWIzQnpJRDArSUR4a2FYWWdleTR1TG5CeWIzQnpmU0F2UGp0Y2JseHVaWGh3YjNKMElHUmxabUYxYkhRZ1kyeGhjM01nVTJWamRHbHZiaUJsZUhSbGJtUnpJRkIxY21WRGIyMXdiMjVsYm5RZ2UxeHVJQ0J6ZEdGMFpTQTlJSHRjYmlBZ0lDQjBjbUYyWlhKellXeEVhWEpsWTNScGIyNDZJRzUxYkd3c1hHNGdJSDA3WEc1Y2JpQWdhWE5OYjNWdWRHVmtJRDBnWm1Gc2MyVTdYRzVjYmlBZ1kyOXRjRzl1Wlc1MFJHbGtUVzkxYm5Rb0tTQjdYRzRnSUNBZ2RHaHBjeTVwYzAxdmRXNTBaV1FnUFNCMGNuVmxPMXh1SUNCOVhHNWNiaUFnVlU1VFFVWkZYMk52YlhCdmJtVnVkRmRwYkd4U1pXTmxhWFpsVUhKdmNITW9ibVY0ZEZCeWIzQnpLU0I3WEc0Z0lDQWdhV1lnS0c1bGVIUlFjbTl3Y3k1d1lYSmxiblJKWkNBbUppQnVaWGgwVUhKdmNITXVjR0Z5Wlc1MFNXUWdQVDA5SUhSb2FYTXVjSEp2Y0hNdWFXUXBJSHRjYmlBZ0lDQWdJSFJvYVhNdWMyVjBVM1JoZEdVb2V5QjBjbUYyWlhKellXeEVhWEpsWTNScGIyNDZJQ2RrYjNkdUp5QjlLVHRjYmlBZ0lDQjlYRzRnSUNBZ2FXWWdLSFJvYVhNdWNISnZjSE11Y0dGeVpXNTBTV1FnSmlZZ2RHaHBjeTV3Y205d2N5NXdZWEpsYm5SSlpDQTlQVDBnYm1WNGRGQnliM0J6TG1sa0tTQjdYRzRnSUNBZ0lDQjBhR2x6TG5ObGRGTjBZWFJsS0hzZ2RISmhkbVZ5YzJGc1JHbHlaV04wYVc5dU9pQW5kWEFuSUgwcE8xeHVJQ0FnSUgxY2JpQWdmVnh1WEc0Z0lISmxibVJsY2lncElIdGNiaUFnSUNCamIyNXpkQ0I3WEc0Z0lDQWdJQ0JoYkhkaGVYTlRhRzkzVTJOeWIyeHNTR2x1ZEN4Y2JpQWdJQ0FnSUdsa0xGeHVJQ0FnSUNBZ1kyaHBiR1J5Wlc0c1hHNGdJQ0FnSUNCemFHOTFiR1JIY205M0xGeHVJQ0FnSUNBZ2MzUjViR1Z6T2lCemRIbHNaVkpsWkhWalpYSXNYRzRnSUNBZ0lDQjBhR1Z0WlN4Y2JpQWdJQ0I5SUQwZ2RHaHBjeTV3Y205d2N6dGNibHh1SUNBZ0lHTnZibk4wSUhzZ2JXOWtaU3dnWTI5dWRHVjRkQ0I5SUQwZ2RHaGxiV1U3WEc0Z0lDQWdZMjl1YzNRZ2MzUjViR1Z6SUQwZ2MzUjViR1ZTWldSMVkyVnlLRnh1SUNBZ0lDQWdiVzlrWlM1elpXTjBhVzl1S0hzZ1lXeDNZWGx6VTJodmQxTmpjbTlzYkVocGJuUWdmU2xiWTI5dWRHVjRkRjBzWEc0Z0lDQWdLVHRjYmx4dUlDQWdJSEpsZEhWeWJpQW9YRzRnSUNBZ0lDQThWSEpoYm5OcGRHbHZia2R5YjNWd1hHNGdJQ0FnSUNBZ0lHTnZiWEJ2Ym1WdWREMTdYRzRnSUNBZ0lDQWdJQ0FnYzJodmRXeGtSM0p2ZHlBL0lGTmpjbTlzYkdGaWJHVlVjbUZ1YzJsMGFXOXVSM0p2ZFhBZ09pQlRkR0YwYVdOVWNtRnVjMmwwYVc5dVIzSnZkWEJjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNCaGNIQmxZWEpjYmlBZ0lDQWdJRDVjYmlBZ0lDQWdJQ0FnUEZSeVlXNXphWFJwYjI1Y2JpQWdJQ0FnSUNBZ0lDQnJaWGs5ZTJsa2ZWeHVJQ0FnSUNBZ0lDQWdJSFJwYldWdmRYUTllM1JvYVhNdWFYTk5iM1Z1ZEdWa0lEOGdkSEpoYm5OcGRHbHZia1IxY21GMGFXOXVUWE1nT2lBd2ZWeHVJQ0FnSUNBZ0lDQStYRzRnSUNBZ0lDQWdJQ0FnZTNOMFlYUmxJRDArSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJR052Ym5OMElIc2dkSEpoZG1WeWMyRnNSR2x5WldOMGFXOXVJSDBnUFNCMGFHbHpMbk4wWVhSbE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnWTI5dWMzUWdZVzVwYldGMGFXOXVVM1I1YkdWeklEMGdaMlYwUVc1cGJXRjBhVzl1VTNSNWJHVnpLSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdjM1JoZEdVc1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUhSeVlYWmxjbk5oYkVScGNtVmpkR2x2Yml4Y2JpQWdJQ0FnSUNBZ0lDQWdJSDBwTzF4dVhHNGdJQ0FnSUNBZ0lDQWdJQ0F2THlCWFpTQndjbTkyYVdSbElHSnZkR2dnZEdobElITjBlV3hsY3lCdlltcGxZM1FnWVc1a0lIUm9aU0JqYjIxd2RYUmxaQ0JqYkdGemMwNWhiV1V1WEc0Z0lDQWdJQ0FnSUNBZ0lDQXZMeUJVYUdseklHRnNiRzkzY3lCamIyNXpkVzFsY25NZ2RHOGdjR0YwWTJnZ2RHaGxJSE4wZVd4bGN5QnBaaUIwYUdWNUlIZGhiblFnZEc4c0lHOXlYRzRnSUNBZ0lDQWdJQ0FnSUNBdkx5QnphVzF3YkhrZ1lYQndiSGtnZEdobElHTnNZWE56VG1GdFpTQnBaaUIwYUdWNUozSmxJRzV2ZENCMWMybHVaeUJoSUVwVFV5QndZWEp6WlhJZ2JHbHJaVnh1SUNBZ0lDQWdJQ0FnSUNBZ0x5OGdaVzF2ZEdsdmJpNWNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUFvWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJRHhPWVhacFoyRjBhVzl1UVc1aGJIbDBhV056UTI5dWRHVjRkRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR1JoZEdFOWUzdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR0YwZEhKcFluVjBaWE02SUhzZ2RtbGxkMU5sWTNScGIyNDZJR2xrSUgwc1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmpiMjF3YjI1bGJuUk9ZVzFsT2lBblUyVmpkR2x2Ymljc1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2ZYMWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ1BseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEeERiR0Z6YzA1aGJXVnpQbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZXloN0lHTnpjem9nWjJWMFEyeGhjM05PWVcxbElIMHBJRDArWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lITm9iM1ZzWkVkeWIzY2dQeUFvWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdQRk5qY205c2JHRmliR1ZYY21Gd2NHVnlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmpjM005ZTJOemMyQmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdKSHR6ZEhsc1pYTXVkM0poY0hCbGNuMWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdKSHRoYm1sdFlYUnBiMjVUZEhsc1pYTjlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmdmVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lENWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEeFRZM0p2Ykd4aFlteGxTVzV1WlhJZ1kzTnpQWHR6ZEhsc1pYTXVhVzV1WlhKOVBseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjdZMmhwYkdSeVpXNG9lMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdOc1lYTnpUbUZ0WlRvZ1oyVjBRMnhoYzNOT1lXMWxLSE4wZVd4bGN5NWphR2xzWkhKbGJpa3NYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWTNOek9pQnpkSGxzWlhNdVkyaHBiR1J5Wlc0c1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIMHBmVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdQQzlUWTNKdmJHeGhZbXhsU1c1dVpYSStYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1BDOVRZM0p2Ykd4aFlteGxWM0poY0hCbGNqNWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnS1NBNklDaGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBOFUzUmhkR2xqVjNKaGNIQmxjaUJqYzNNOWUyRnVhVzFoZEdsdmJsTjBlV3hsYzMwK1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCN1kyaHBiR1J5Wlc0b2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmpiR0Z6YzA1aGJXVTZJR2RsZEVOc1lYTnpUbUZ0WlNoemRIbHNaWE11WTJocGJHUnlaVzRwTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCamMzTTZJSE4wZVd4bGN5NWphR2xzWkhKbGJpeGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIMHBmVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEd3ZVM1JoZEdsalYzSmhjSEJsY2o1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdLVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUR3dlEyeGhjM05PWVcxbGN6NWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ1BDOU9ZWFpwWjJGMGFXOXVRVzVoYkhsMGFXTnpRMjl1ZEdWNGRENWNiaUFnSUNBZ0lDQWdJQ0FnSUNrN1hHNGdJQ0FnSUNBZ0lDQWdmWDFjYmlBZ0lDQWdJQ0FnUEM5VWNtRnVjMmwwYVc5dVBseHVJQ0FnSUNBZ1BDOVVjbUZ1YzJsMGFXOXVSM0p2ZFhBK1hHNGdJQ0FnS1R0Y2JpQWdmVnh1ZlZ4dUlsMTkgKi9cIlxufTtcblxuZXhwb3J0IHZhciBTdGF0aWNUcmFuc2l0aW9uR3JvdXAgPSBmdW5jdGlvbiBTdGF0aWNUcmFuc2l0aW9uR3JvdXAocHJvcHMpIHtcbiAgcmV0dXJuIF9fX0Vtb3Rpb25KU1goXCJkaXZcIiwgX2V4dGVuZHMoe1xuICAgIGNzczogX3JlZlxuICB9LCBwcm9wcykpO1xufTtcblxudmFyIF9yZWYyID0gcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8ge1xuICBuYW1lOiBcIjQyNDAxMVwiLFxuICBzdHlsZXM6IFwicG9zaXRpb246cmVsYXRpdmU7ZmxleDoxIDEgMTAwJTtvdmVyZmxvdy15OmhpZGRlbjtcIlxufSA6IHtcbiAgbmFtZTogXCI0MjQwMTFcIixcbiAgc3R5bGVzOiBcInBvc2l0aW9uOnJlbGF0aXZlO2ZsZXg6MSAxIDEwMCU7b3ZlcmZsb3cteTpoaWRkZW47XCIsXG4gIG1hcDogXCIvKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJaTR1THk0dUx5NHVMeTR1THk0dUwzTnlZeTlqYjIxd2IyNWxiblJ6TDNCeVpYTmxiblJoZEdsdmJtRnNMMU5sWTNScGIyNHZVMlZqZEdsdmJpNXFjeUpkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZyUWtraUxDSm1hV3hsSWpvaUxpNHZMaTR2TGk0dkxpNHZMaTR2YzNKakwyTnZiWEJ2Ym1WdWRITXZjSEpsYzJWdWRHRjBhVzl1WVd3dlUyVmpkR2x2Ymk5VFpXTjBhVzl1TG1weklpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lhVzF3YjNKMElGSmxZV04wTENCN0lGQjFjbVZEYjIxd2IyNWxiblFnZlNCbWNtOXRJQ2R5WldGamRDYzdYRzVjYm1sdGNHOXlkQ0I3SUVOc1lYTnpUbUZ0WlhNc0lHTnpjeUI5SUdaeWIyMGdKMEJsYlc5MGFXOXVMMk52Y21Vbk8xeHVhVzF3YjNKMElGUnlZVzV6YVhScGIyNGdabkp2YlNBbmNtVmhZM1F0ZEhKaGJuTnBkR2x2YmkxbmNtOTFjQzlVY21GdWMybDBhVzl1Snp0Y2JtbHRjRzl5ZENCVWNtRnVjMmwwYVc5dVIzSnZkWEFnWm5KdmJTQW5jbVZoWTNRdGRISmhibk5wZEdsdmJpMW5jbTkxY0M5VWNtRnVjMmwwYVc5dVIzSnZkWEFuTzF4dVhHNXBiWEJ2Y25RZ2V5Qk9ZWFpwWjJGMGFXOXVRVzVoYkhsMGFXTnpRMjl1ZEdWNGRDQjlJR1p5YjIwZ0owQmhkR3hoYzJ0cGRDOWhibUZzZVhScFkzTXRibUZ0WlhOd1lXTmxaQzFqYjI1MFpYaDBKenRjYmx4dWFXMXdiM0owSUhzZ2RISmhibk5wZEdsdmJrUjFjbUYwYVc5dVRYTWdmU0JtY205dElDY3VMaTh1TGk4dUxpOWpiMjF0YjI0dlkyOXVjM1JoYm5Sekp6dGNibHh1YVcxd2IzSjBJR2RsZEVGdWFXMWhkR2x2YmxOMGVXeGxjeUJtY205dElDY3VMMmRsZEVGdWFXMWhkR2x2YmxOMGVXeGxjeWM3WEc1Y2JpOHFLaUJVYUdVZ1ltVnNiM2NnWTI5dGNHOXVaVzUwY3lCaGNtVWdaWGh3YjNKMFpXUWdabTl5SUhSbGMzUnBibWNnY0hWeWNHOXpaWE1nYjI1c2VTNGdLaTljYm1WNGNHOXlkQ0JqYjI1emRDQlRkR0YwYVdOVWNtRnVjMmwwYVc5dVIzSnZkWEFnUFNCd2NtOXdjeUE5UGlBb1hHNGdJRHhrYVhZZ1kzTnpQWHQ3SUhCdmMybDBhVzl1T2lBbmNtVnNZWFJwZG1VbklIMTlJSHN1TGk1d2NtOXdjMzBnTHo1Y2JpazdYRzVsZUhCdmNuUWdZMjl1YzNRZ1UyTnliMnhzWVdKc1pWUnlZVzV6YVhScGIyNUhjbTkxY0NBOUlIQnliM0J6SUQwK0lDaGNiaUFnUEdScGRseHVJQ0FnSUdOemN6MTdlMXh1SUNBZ0lDQWdjRzl6YVhScGIyNDZJQ2R5Wld4aGRHbDJaU2NzWEc0Z0lDQWdJQ0JtYkdWNE9pQW5NU0F4SURFd01DVW5MRnh1SUNBZ0lDQWdiM1psY21ac2IzZFpPaUFuYUdsa1pHVnVKeXhjYmlBZ0lDQjlmVnh1SUNBZ0lIc3VMaTV3Y205d2MzMWNiaUFnTHo1Y2JpazdYRzVsZUhCdmNuUWdZMjl1YzNRZ1UyTnliMnhzWVdKc1pWZHlZWEJ3WlhJZ1BTQndjbTl3Y3lBOVBpQThaR2wySUhzdUxpNXdjbTl3YzMwZ0x6NDdYRzVsZUhCdmNuUWdZMjl1YzNRZ1UyTnliMnhzWVdKc1pVbHVibVZ5SUQwZ2NISnZjSE1nUFQ0Z1BHUnBkaUI3TGk0dWNISnZjSE45SUM4K08xeHVaWGh3YjNKMElHTnZibk4wSUZOMFlYUnBZMWR5WVhCd1pYSWdQU0J3Y205d2N5QTlQaUE4WkdsMklIc3VMaTV3Y205d2MzMGdMejQ3WEc1Y2JtVjRjRzl5ZENCa1pXWmhkV3gwSUdOc1lYTnpJRk5sWTNScGIyNGdaWGgwWlc1a2N5QlFkWEpsUTI5dGNHOXVaVzUwSUh0Y2JpQWdjM1JoZEdVZ1BTQjdYRzRnSUNBZ2RISmhkbVZ5YzJGc1JHbHlaV04wYVc5dU9pQnVkV3hzTEZ4dUlDQjlPMXh1WEc0Z0lHbHpUVzkxYm5SbFpDQTlJR1poYkhObE8xeHVYRzRnSUdOdmJYQnZibVZ1ZEVScFpFMXZkVzUwS0NrZ2UxeHVJQ0FnSUhSb2FYTXVhWE5OYjNWdWRHVmtJRDBnZEhKMVpUdGNiaUFnZlZ4dVhHNGdJRlZPVTBGR1JWOWpiMjF3YjI1bGJuUlhhV3hzVW1WalpXbDJaVkJ5YjNCektHNWxlSFJRY205d2N5a2dlMXh1SUNBZ0lHbG1JQ2h1WlhoMFVISnZjSE11Y0dGeVpXNTBTV1FnSmlZZ2JtVjRkRkJ5YjNCekxuQmhjbVZ1ZEVsa0lEMDlQU0IwYUdsekxuQnliM0J6TG1sa0tTQjdYRzRnSUNBZ0lDQjBhR2x6TG5ObGRGTjBZWFJsS0hzZ2RISmhkbVZ5YzJGc1JHbHlaV04wYVc5dU9pQW5aRzkzYmljZ2ZTazdYRzRnSUNBZ2ZWeHVJQ0FnSUdsbUlDaDBhR2x6TG5CeWIzQnpMbkJoY21WdWRFbGtJQ1ltSUhSb2FYTXVjSEp2Y0hNdWNHRnlaVzUwU1dRZ1BUMDlJRzVsZUhSUWNtOXdjeTVwWkNrZ2UxeHVJQ0FnSUNBZ2RHaHBjeTV6WlhSVGRHRjBaU2g3SUhSeVlYWmxjbk5oYkVScGNtVmpkR2x2YmpvZ0ozVndKeUI5S1R0Y2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNCeVpXNWtaWElvS1NCN1hHNGdJQ0FnWTI5dWMzUWdlMXh1SUNBZ0lDQWdZV3gzWVhselUyaHZkMU5qY205c2JFaHBiblFzWEc0Z0lDQWdJQ0JwWkN4Y2JpQWdJQ0FnSUdOb2FXeGtjbVZ1TEZ4dUlDQWdJQ0FnYzJodmRXeGtSM0p2ZHl4Y2JpQWdJQ0FnSUhOMGVXeGxjem9nYzNSNWJHVlNaV1IxWTJWeUxGeHVJQ0FnSUNBZ2RHaGxiV1VzWEc0Z0lDQWdmU0E5SUhSb2FYTXVjSEp2Y0hNN1hHNWNiaUFnSUNCamIyNXpkQ0I3SUcxdlpHVXNJR052Ym5SbGVIUWdmU0E5SUhSb1pXMWxPMXh1SUNBZ0lHTnZibk4wSUhOMGVXeGxjeUE5SUhOMGVXeGxVbVZrZFdObGNpaGNiaUFnSUNBZ0lHMXZaR1V1YzJWamRHbHZiaWg3SUdGc2QyRjVjMU5vYjNkVFkzSnZiR3hJYVc1MElIMHBXMk52Ym5SbGVIUmRMRnh1SUNBZ0lDazdYRzVjYmlBZ0lDQnlaWFIxY200Z0tGeHVJQ0FnSUNBZ1BGUnlZVzV6YVhScGIyNUhjbTkxY0Z4dUlDQWdJQ0FnSUNCamIyMXdiMjVsYm5ROWUxeHVJQ0FnSUNBZ0lDQWdJSE5vYjNWc1pFZHliM2NnUHlCVFkzSnZiR3hoWW14bFZISmhibk5wZEdsdmJrZHliM1Z3SURvZ1UzUmhkR2xqVkhKaGJuTnBkR2x2YmtkeWIzVndYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnWVhCd1pXRnlYRzRnSUNBZ0lDQStYRzRnSUNBZ0lDQWdJRHhVY21GdWMybDBhVzl1WEc0Z0lDQWdJQ0FnSUNBZ2EyVjVQWHRwWkgxY2JpQWdJQ0FnSUNBZ0lDQjBhVzFsYjNWMFBYdDBhR2x6TG1selRXOTFiblJsWkNBL0lIUnlZVzV6YVhScGIyNUVkWEpoZEdsdmJrMXpJRG9nTUgxY2JpQWdJQ0FnSUNBZ1BseHVJQ0FnSUNBZ0lDQWdJSHR6ZEdGMFpTQTlQaUI3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpiMjV6ZENCN0lIUnlZWFpsY25OaGJFUnBjbVZqZEdsdmJpQjlJRDBnZEdocGN5NXpkR0YwWlR0Y2JpQWdJQ0FnSUNBZ0lDQWdJR052Ym5OMElHRnVhVzFoZEdsdmJsTjBlV3hsY3lBOUlHZGxkRUZ1YVcxaGRHbHZibE4wZVd4bGN5aDdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lITjBZWFJsTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0IwY21GMlpYSnpZV3hFYVhKbFkzUnBiMjRzWEc0Z0lDQWdJQ0FnSUNBZ0lDQjlLVHRjYmx4dUlDQWdJQ0FnSUNBZ0lDQWdMeThnVjJVZ2NISnZkbWxrWlNCaWIzUm9JSFJvWlNCemRIbHNaWE1nYjJKcVpXTjBJR0Z1WkNCMGFHVWdZMjl0Y0hWMFpXUWdZMnhoYzNOT1lXMWxMbHh1SUNBZ0lDQWdJQ0FnSUNBZ0x5OGdWR2hwY3lCaGJHeHZkM01nWTI5dWMzVnRaWEp6SUhSdklIQmhkR05vSUhSb1pTQnpkSGxzWlhNZ2FXWWdkR2hsZVNCM1lXNTBJSFJ2TENCdmNseHVJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z2MybHRjR3g1SUdGd2NHeDVJSFJvWlNCamJHRnpjMDVoYldVZ2FXWWdkR2hsZVNkeVpTQnViM1FnZFhOcGJtY2dZU0JLVTFNZ2NHRnljMlZ5SUd4cGEyVmNiaUFnSUNBZ0lDQWdJQ0FnSUM4dklHVnRiM1JwYjI0dVhHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdLRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQThUbUYyYVdkaGRHbHZia0Z1WVd4NWRHbGpjME52Ym5SbGVIUmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmtZWFJoUFh0N1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmhkSFJ5YVdKMWRHVnpPaUI3SUhacFpYZFRaV04wYVc5dU9pQnBaQ0I5TEZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1kyOXRjRzl1Wlc1MFRtRnRaVG9nSjFObFkzUnBiMjRuTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUgxOVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUQ1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBOFEyeGhjM05PWVcxbGN6NWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSHNvZXlCamMzTTZJR2RsZEVOc1lYTnpUbUZ0WlNCOUtTQTlQbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCemFHOTFiR1JIY205M0lEOGdLRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEeFRZM0p2Ykd4aFlteGxWM0poY0hCbGNseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1kzTnpQWHRqYzNOZ1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDUjdjM1I1YkdWekxuZHlZWEJ3WlhKOVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDUjdZVzVwYldGMGFXOXVVM1I1YkdWemZWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1lIMWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBK1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBOFUyTnliMnhzWVdKc1pVbHVibVZ5SUdOemN6MTdjM1I1YkdWekxtbHVibVZ5ZlQ1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2UyTm9hV3hrY21WdUtIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JqYkdGemMwNWhiV1U2SUdkbGRFTnNZWE56VG1GdFpTaHpkSGxzWlhNdVkyaHBiR1J5Wlc0cExGeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR056Y3pvZ2MzUjViR1Z6TG1Ob2FXeGtjbVZ1TEZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCOUtYMWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEd3ZVMk55YjJ4c1lXSnNaVWx1Ym1WeVBseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUR3dlUyTnliMnhzWVdKc1pWZHlZWEJ3WlhJK1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ2tnT2lBb1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnUEZOMFlYUnBZMWR5WVhCd1pYSWdZM056UFh0aGJtbHRZWFJwYjI1VGRIbHNaWE45UGx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZTJOb2FXeGtjbVZ1S0h0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1kyeGhjM05PWVcxbE9pQm5aWFJEYkdGemMwNWhiV1VvYzNSNWJHVnpMbU5vYVd4a2NtVnVLU3hjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWTNOek9pQnpkSGxzWlhNdVkyaHBiR1J5Wlc0c1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCOUtYMWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBOEwxTjBZWFJwWTFkeVlYQndaWEkrWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDbGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0E4TDBOc1lYTnpUbUZ0WlhNK1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUR3dlRtRjJhV2RoZEdsdmJrRnVZV3g1ZEdsamMwTnZiblJsZUhRK1hHNGdJQ0FnSUNBZ0lDQWdJQ0FwTzF4dUlDQWdJQ0FnSUNBZ0lIMTlYRzRnSUNBZ0lDQWdJRHd2VkhKaGJuTnBkR2x2Ymo1Y2JpQWdJQ0FnSUR3dlZISmhibk5wZEdsdmJrZHliM1Z3UGx4dUlDQWdJQ2s3WEc0Z0lIMWNibjFjYmlKZGZRPT0gKi9cIlxufTtcblxuZXhwb3J0IHZhciBTY3JvbGxhYmxlVHJhbnNpdGlvbkdyb3VwID0gZnVuY3Rpb24gU2Nyb2xsYWJsZVRyYW5zaXRpb25Hcm91cChwcm9wcykge1xuICByZXR1cm4gX19fRW1vdGlvbkpTWChcImRpdlwiLCBfZXh0ZW5kcyh7XG4gICAgY3NzOiBfcmVmMlxuICB9LCBwcm9wcykpO1xufTtcbmV4cG9ydCB2YXIgU2Nyb2xsYWJsZVdyYXBwZXIgPSBmdW5jdGlvbiBTY3JvbGxhYmxlV3JhcHBlcihwcm9wcykge1xuICByZXR1cm4gX19fRW1vdGlvbkpTWChcImRpdlwiLCBwcm9wcyk7XG59O1xuZXhwb3J0IHZhciBTY3JvbGxhYmxlSW5uZXIgPSBmdW5jdGlvbiBTY3JvbGxhYmxlSW5uZXIocHJvcHMpIHtcbiAgcmV0dXJuIF9fX0Vtb3Rpb25KU1goXCJkaXZcIiwgcHJvcHMpO1xufTtcbmV4cG9ydCB2YXIgU3RhdGljV3JhcHBlciA9IGZ1bmN0aW9uIFN0YXRpY1dyYXBwZXIocHJvcHMpIHtcbiAgcmV0dXJuIF9fX0Vtb3Rpb25KU1goXCJkaXZcIiwgcHJvcHMpO1xufTtcblxudmFyIFNlY3Rpb24gPVxuLyojX19QVVJFX18qL1xuZnVuY3Rpb24gKF9QdXJlQ29tcG9uZW50KSB7XG4gIF9pbmhlcml0cyhTZWN0aW9uLCBfUHVyZUNvbXBvbmVudCk7XG5cbiAgZnVuY3Rpb24gU2VjdGlvbigpIHtcbiAgICB2YXIgX2dldFByb3RvdHlwZU9mMjtcblxuICAgIHZhciBfdGhpcztcblxuICAgIF9jbGFzc0NhbGxDaGVjayh0aGlzLCBTZWN0aW9uKTtcblxuICAgIGZvciAodmFyIF9sZW4gPSBhcmd1bWVudHMubGVuZ3RoLCBhcmdzID0gbmV3IEFycmF5KF9sZW4pLCBfa2V5ID0gMDsgX2tleSA8IF9sZW47IF9rZXkrKykge1xuICAgICAgYXJnc1tfa2V5XSA9IGFyZ3VtZW50c1tfa2V5XTtcbiAgICB9XG5cbiAgICBfdGhpcyA9IF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHRoaXMsIChfZ2V0UHJvdG90eXBlT2YyID0gX2dldFByb3RvdHlwZU9mKFNlY3Rpb24pKS5jYWxsLmFwcGx5KF9nZXRQcm90b3R5cGVPZjIsIFt0aGlzXS5jb25jYXQoYXJncykpKTtcblxuICAgIF9kZWZpbmVQcm9wZXJ0eShfYXNzZXJ0VGhpc0luaXRpYWxpemVkKF90aGlzKSwgXCJzdGF0ZVwiLCB7XG4gICAgICB0cmF2ZXJzYWxEaXJlY3Rpb246IG51bGxcbiAgICB9KTtcblxuICAgIF9kZWZpbmVQcm9wZXJ0eShfYXNzZXJ0VGhpc0luaXRpYWxpemVkKF90aGlzKSwgXCJpc01vdW50ZWRcIiwgZmFsc2UpO1xuXG4gICAgcmV0dXJuIF90aGlzO1xuICB9XG5cbiAgX2NyZWF0ZUNsYXNzKFNlY3Rpb24sIFt7XG4gICAga2V5OiBcImNvbXBvbmVudERpZE1vdW50XCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgICAgdGhpcy5pc01vdW50ZWQgPSB0cnVlO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJVTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wc1wiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBVTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyhuZXh0UHJvcHMpIHtcbiAgICAgIGlmIChuZXh0UHJvcHMucGFyZW50SWQgJiYgbmV4dFByb3BzLnBhcmVudElkID09PSB0aGlzLnByb3BzLmlkKSB7XG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICAgIHRyYXZlcnNhbERpcmVjdGlvbjogJ2Rvd24nXG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5wcm9wcy5wYXJlbnRJZCAmJiB0aGlzLnByb3BzLnBhcmVudElkID09PSBuZXh0UHJvcHMuaWQpIHtcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgICAgdHJhdmVyc2FsRGlyZWN0aW9uOiAndXAnXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJyZW5kZXJcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gcmVuZGVyKCkge1xuICAgICAgdmFyIF90aGlzMiA9IHRoaXM7XG5cbiAgICAgIHZhciBfdGhpcyRwcm9wcyA9IHRoaXMucHJvcHMsXG4gICAgICAgICAgYWx3YXlzU2hvd1Njcm9sbEhpbnQgPSBfdGhpcyRwcm9wcy5hbHdheXNTaG93U2Nyb2xsSGludCxcbiAgICAgICAgICBpZCA9IF90aGlzJHByb3BzLmlkLFxuICAgICAgICAgIGNoaWxkcmVuID0gX3RoaXMkcHJvcHMuY2hpbGRyZW4sXG4gICAgICAgICAgc2hvdWxkR3JvdyA9IF90aGlzJHByb3BzLnNob3VsZEdyb3csXG4gICAgICAgICAgc3R5bGVSZWR1Y2VyID0gX3RoaXMkcHJvcHMuc3R5bGVzLFxuICAgICAgICAgIHRoZW1lID0gX3RoaXMkcHJvcHMudGhlbWU7XG4gICAgICB2YXIgbW9kZSA9IHRoZW1lLm1vZGUsXG4gICAgICAgICAgY29udGV4dCA9IHRoZW1lLmNvbnRleHQ7XG4gICAgICB2YXIgc3R5bGVzID0gc3R5bGVSZWR1Y2VyKG1vZGUuc2VjdGlvbih7XG4gICAgICAgIGFsd2F5c1Nob3dTY3JvbGxIaW50OiBhbHdheXNTaG93U2Nyb2xsSGludFxuICAgICAgfSlbY29udGV4dF0pO1xuICAgICAgcmV0dXJuIF9fX0Vtb3Rpb25KU1goVHJhbnNpdGlvbkdyb3VwLCB7XG4gICAgICAgIGNvbXBvbmVudDogc2hvdWxkR3JvdyA/IFNjcm9sbGFibGVUcmFuc2l0aW9uR3JvdXAgOiBTdGF0aWNUcmFuc2l0aW9uR3JvdXAsXG4gICAgICAgIGFwcGVhcjogdHJ1ZVxuICAgICAgfSwgX19fRW1vdGlvbkpTWChUcmFuc2l0aW9uLCB7XG4gICAgICAgIGtleTogaWQsXG4gICAgICAgIHRpbWVvdXQ6IHRoaXMuaXNNb3VudGVkID8gdHJhbnNpdGlvbkR1cmF0aW9uTXMgOiAwXG4gICAgICB9LCBmdW5jdGlvbiAoc3RhdGUpIHtcbiAgICAgICAgdmFyIHRyYXZlcnNhbERpcmVjdGlvbiA9IF90aGlzMi5zdGF0ZS50cmF2ZXJzYWxEaXJlY3Rpb247XG4gICAgICAgIHZhciBhbmltYXRpb25TdHlsZXMgPSBnZXRBbmltYXRpb25TdHlsZXMoe1xuICAgICAgICAgIHN0YXRlOiBzdGF0ZSxcbiAgICAgICAgICB0cmF2ZXJzYWxEaXJlY3Rpb246IHRyYXZlcnNhbERpcmVjdGlvblxuICAgICAgICB9KTsgLy8gV2UgcHJvdmlkZSBib3RoIHRoZSBzdHlsZXMgb2JqZWN0IGFuZCB0aGUgY29tcHV0ZWQgY2xhc3NOYW1lLlxuICAgICAgICAvLyBUaGlzIGFsbG93cyBjb25zdW1lcnMgdG8gcGF0Y2ggdGhlIHN0eWxlcyBpZiB0aGV5IHdhbnQgdG8sIG9yXG4gICAgICAgIC8vIHNpbXBseSBhcHBseSB0aGUgY2xhc3NOYW1lIGlmIHRoZXkncmUgbm90IHVzaW5nIGEgSlNTIHBhcnNlciBsaWtlXG4gICAgICAgIC8vIGVtb3Rpb24uXG5cbiAgICAgICAgcmV0dXJuIF9fX0Vtb3Rpb25KU1goTmF2aWdhdGlvbkFuYWx5dGljc0NvbnRleHQsIHtcbiAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgICAgICAgIHZpZXdTZWN0aW9uOiBpZFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGNvbXBvbmVudE5hbWU6ICdTZWN0aW9uJ1xuICAgICAgICAgIH1cbiAgICAgICAgfSwgX19fRW1vdGlvbkpTWChDbGFzc05hbWVzLCBudWxsLCBmdW5jdGlvbiAoX3JlZjMpIHtcbiAgICAgICAgICB2YXIgZ2V0Q2xhc3NOYW1lID0gX3JlZjMuY3NzO1xuICAgICAgICAgIHJldHVybiBzaG91bGRHcm93ID8gX19fRW1vdGlvbkpTWChTY3JvbGxhYmxlV3JhcHBlciwge1xuICAgICAgICAgICAgY3NzOlxuICAgICAgICAgICAgLyojX19QVVJFX18qL1xuICAgICAgICAgICAgY3NzKHN0eWxlcy53cmFwcGVyLCBcIiBcIiwgYW5pbWF0aW9uU3R5bGVzLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyBcIlwiIDogXCIvKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJaTR1THk0dUx5NHVMeTR1THk0dUwzTnlZeTlqYjIxd2IyNWxiblJ6TDNCeVpYTmxiblJoZEdsdmJtRnNMMU5sWTNScGIyNHZVMlZqZEdsdmJpNXFjeUpkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZyUjJkRElpd2labWxzWlNJNklpNHVMeTR1THk0dUx5NHVMeTR1TDNOeVl5OWpiMjF3YjI1bGJuUnpMM0J5WlhObGJuUmhkR2x2Ym1Gc0wxTmxZM1JwYjI0dlUyVmpkR2x2Ymk1cWN5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJbWx0Y0c5eWRDQlNaV0ZqZEN3Z2V5QlFkWEpsUTI5dGNHOXVaVzUwSUgwZ1puSnZiU0FuY21WaFkzUW5PMXh1WEc1cGJYQnZjblFnZXlCRGJHRnpjMDVoYldWekxDQmpjM01nZlNCbWNtOXRJQ2RBWlcxdmRHbHZiaTlqYjNKbEp6dGNibWx0Y0c5eWRDQlVjbUZ1YzJsMGFXOXVJR1p5YjIwZ0ozSmxZV04wTFhSeVlXNXphWFJwYjI0dFozSnZkWEF2VkhKaGJuTnBkR2x2YmljN1hHNXBiWEJ2Y25RZ1ZISmhibk5wZEdsdmJrZHliM1Z3SUdaeWIyMGdKM0psWVdOMExYUnlZVzV6YVhScGIyNHRaM0p2ZFhBdlZISmhibk5wZEdsdmJrZHliM1Z3Snp0Y2JseHVhVzF3YjNKMElIc2dUbUYyYVdkaGRHbHZia0Z1WVd4NWRHbGpjME52Ym5SbGVIUWdmU0JtY205dElDZEFZWFJzWVhOcmFYUXZZVzVoYkhsMGFXTnpMVzVoYldWemNHRmpaV1F0WTI5dWRHVjRkQ2M3WEc1Y2JtbHRjRzl5ZENCN0lIUnlZVzV6YVhScGIyNUVkWEpoZEdsdmJrMXpJSDBnWm5KdmJTQW5MaTR2TGk0dkxpNHZZMjl0Ylc5dUwyTnZibk4wWVc1MGN5YzdYRzVjYm1sdGNHOXlkQ0JuWlhSQmJtbHRZWFJwYjI1VGRIbHNaWE1nWm5KdmJTQW5MaTluWlhSQmJtbHRZWFJwYjI1VGRIbHNaWE1uTzF4dVhHNHZLaW9nVkdobElHSmxiRzkzSUdOdmJYQnZibVZ1ZEhNZ1lYSmxJR1Y0Y0c5eWRHVmtJR1p2Y2lCMFpYTjBhVzVuSUhCMWNuQnZjMlZ6SUc5dWJIa3VJQ292WEc1bGVIQnZjblFnWTI5dWMzUWdVM1JoZEdsalZISmhibk5wZEdsdmJrZHliM1Z3SUQwZ2NISnZjSE1nUFQ0Z0tGeHVJQ0E4WkdsMklHTnpjejE3ZXlCd2IzTnBkR2x2YmpvZ0ozSmxiR0YwYVhabEp5QjlmU0I3TGk0dWNISnZjSE45SUM4K1hHNHBPMXh1Wlhod2IzSjBJR052Ym5OMElGTmpjbTlzYkdGaWJHVlVjbUZ1YzJsMGFXOXVSM0p2ZFhBZ1BTQndjbTl3Y3lBOVBpQW9YRzRnSUR4a2FYWmNiaUFnSUNCamMzTTllM3RjYmlBZ0lDQWdJSEJ2YzJsMGFXOXVPaUFuY21Wc1lYUnBkbVVuTEZ4dUlDQWdJQ0FnWm14bGVEb2dKekVnTVNBeE1EQWxKeXhjYmlBZ0lDQWdJRzkyWlhKbWJHOTNXVG9nSjJocFpHUmxiaWNzWEc0Z0lDQWdmWDFjYmlBZ0lDQjdMaTR1Y0hKdmNITjlYRzRnSUM4K1hHNHBPMXh1Wlhod2IzSjBJR052Ym5OMElGTmpjbTlzYkdGaWJHVlhjbUZ3Y0dWeUlEMGdjSEp2Y0hNZ1BUNGdQR1JwZGlCN0xpNHVjSEp2Y0hOOUlDOCtPMXh1Wlhod2IzSjBJR052Ym5OMElGTmpjbTlzYkdGaWJHVkpibTVsY2lBOUlIQnliM0J6SUQwK0lEeGthWFlnZXk0dUxuQnliM0J6ZlNBdlBqdGNibVY0Y0c5eWRDQmpiMjV6ZENCVGRHRjBhV05YY21Gd2NHVnlJRDBnY0hKdmNITWdQVDRnUEdScGRpQjdMaTR1Y0hKdmNITjlJQzgrTzF4dVhHNWxlSEJ2Y25RZ1pHVm1ZWFZzZENCamJHRnpjeUJUWldOMGFXOXVJR1Y0ZEdWdVpITWdVSFZ5WlVOdmJYQnZibVZ1ZENCN1hHNGdJSE4wWVhSbElEMGdlMXh1SUNBZ0lIUnlZWFpsY25OaGJFUnBjbVZqZEdsdmJqb2diblZzYkN4Y2JpQWdmVHRjYmx4dUlDQnBjMDF2ZFc1MFpXUWdQU0JtWVd4elpUdGNibHh1SUNCamIyMXdiMjVsYm5SRWFXUk5iM1Z1ZENncElIdGNiaUFnSUNCMGFHbHpMbWx6VFc5MWJuUmxaQ0E5SUhSeWRXVTdYRzRnSUgxY2JseHVJQ0JWVGxOQlJrVmZZMjl0Y0c5dVpXNTBWMmxzYkZKbFkyVnBkbVZRY205d2N5aHVaWGgwVUhKdmNITXBJSHRjYmlBZ0lDQnBaaUFvYm1WNGRGQnliM0J6TG5CaGNtVnVkRWxrSUNZbUlHNWxlSFJRY205d2N5NXdZWEpsYm5SSlpDQTlQVDBnZEdocGN5NXdjbTl3Y3k1cFpDa2dlMXh1SUNBZ0lDQWdkR2hwY3k1elpYUlRkR0YwWlNoN0lIUnlZWFpsY25OaGJFUnBjbVZqZEdsdmJqb2dKMlJ2ZDI0bklIMHBPMXh1SUNBZ0lIMWNiaUFnSUNCcFppQW9kR2hwY3k1d2NtOXdjeTV3WVhKbGJuUkpaQ0FtSmlCMGFHbHpMbkJ5YjNCekxuQmhjbVZ1ZEVsa0lEMDlQU0J1WlhoMFVISnZjSE11YVdRcElIdGNiaUFnSUNBZ0lIUm9hWE11YzJWMFUzUmhkR1VvZXlCMGNtRjJaWEp6WVd4RWFYSmxZM1JwYjI0NklDZDFjQ2NnZlNrN1hHNGdJQ0FnZlZ4dUlDQjlYRzVjYmlBZ2NtVnVaR1Z5S0NrZ2UxeHVJQ0FnSUdOdmJuTjBJSHRjYmlBZ0lDQWdJR0ZzZDJGNWMxTm9iM2RUWTNKdmJHeElhVzUwTEZ4dUlDQWdJQ0FnYVdRc1hHNGdJQ0FnSUNCamFHbHNaSEpsYml4Y2JpQWdJQ0FnSUhOb2IzVnNaRWR5YjNjc1hHNGdJQ0FnSUNCemRIbHNaWE02SUhOMGVXeGxVbVZrZFdObGNpeGNiaUFnSUNBZ0lIUm9aVzFsTEZ4dUlDQWdJSDBnUFNCMGFHbHpMbkJ5YjNCek8xeHVYRzRnSUNBZ1kyOXVjM1FnZXlCdGIyUmxMQ0JqYjI1MFpYaDBJSDBnUFNCMGFHVnRaVHRjYmlBZ0lDQmpiMjV6ZENCemRIbHNaWE1nUFNCemRIbHNaVkpsWkhWalpYSW9YRzRnSUNBZ0lDQnRiMlJsTG5ObFkzUnBiMjRvZXlCaGJIZGhlWE5UYUc5M1UyTnliMnhzU0dsdWRDQjlLVnRqYjI1MFpYaDBYU3hjYmlBZ0lDQXBPMXh1WEc0Z0lDQWdjbVYwZFhKdUlDaGNiaUFnSUNBZ0lEeFVjbUZ1YzJsMGFXOXVSM0p2ZFhCY2JpQWdJQ0FnSUNBZ1kyOXRjRzl1Wlc1MFBYdGNiaUFnSUNBZ0lDQWdJQ0J6YUc5MWJHUkhjbTkzSUQ4Z1UyTnliMnhzWVdKc1pWUnlZVzV6YVhScGIyNUhjbTkxY0NBNklGTjBZWFJwWTFSeVlXNXphWFJwYjI1SGNtOTFjRnh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUdGd2NHVmhjbHh1SUNBZ0lDQWdQbHh1SUNBZ0lDQWdJQ0E4VkhKaGJuTnBkR2x2Ymx4dUlDQWdJQ0FnSUNBZ0lHdGxlVDE3YVdSOVhHNGdJQ0FnSUNBZ0lDQWdkR2x0Wlc5MWREMTdkR2hwY3k1cGMwMXZkVzUwWldRZ1B5QjBjbUZ1YzJsMGFXOXVSSFZ5WVhScGIyNU5jeUE2SURCOVhHNGdJQ0FnSUNBZ0lENWNiaUFnSUNBZ0lDQWdJQ0I3YzNSaGRHVWdQVDRnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdZMjl1YzNRZ2V5QjBjbUYyWlhKellXeEVhWEpsWTNScGIyNGdmU0E5SUhSb2FYTXVjM1JoZEdVN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqYjI1emRDQmhibWx0WVhScGIyNVRkSGxzWlhNZ1BTQm5aWFJCYm1sdFlYUnBiMjVUZEhsc1pYTW9lMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQnpkR0YwWlN4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnZEhKaGRtVnljMkZzUkdseVpXTjBhVzl1TEZ4dUlDQWdJQ0FnSUNBZ0lDQWdmU2s3WEc1Y2JpQWdJQ0FnSUNBZ0lDQWdJQzh2SUZkbElIQnliM1pwWkdVZ1ltOTBhQ0IwYUdVZ2MzUjViR1Z6SUc5aWFtVmpkQ0JoYm1RZ2RHaGxJR052YlhCMWRHVmtJR05zWVhOelRtRnRaUzVjYmlBZ0lDQWdJQ0FnSUNBZ0lDOHZJRlJvYVhNZ1lXeHNiM2R6SUdOdmJuTjFiV1Z5Y3lCMGJ5QndZWFJqYUNCMGFHVWdjM1I1YkdWeklHbG1JSFJvWlhrZ2QyRnVkQ0IwYnl3Z2IzSmNiaUFnSUNBZ0lDQWdJQ0FnSUM4dklITnBiWEJzZVNCaGNIQnNlU0IwYUdVZ1kyeGhjM05PWVcxbElHbG1JSFJvWlhrbmNtVWdibTkwSUhWemFXNW5JR0VnU2xOVElIQmhjbk5sY2lCc2FXdGxYRzRnSUNBZ0lDQWdJQ0FnSUNBdkx5QmxiVzkwYVc5dUxseHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJQ2hjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdQRTVoZG1sbllYUnBiMjVCYm1Gc2VYUnBZM05EYjI1MFpYaDBYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdaR0YwWVQxN2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZWFIwY21saWRYUmxjem9nZXlCMmFXVjNVMlZqZEdsdmJqb2dhV1FnZlN4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHTnZiWEJ2Ym1WdWRFNWhiV1U2SUNkVFpXTjBhVzl1Snl4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCOWZWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBK1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1BFTnNZWE56VG1GdFpYTStYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0I3S0hzZ1kzTnpPaUJuWlhSRGJHRnpjMDVoYldVZ2ZTa2dQVDVjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2MyaHZkV3hrUjNKdmR5QS9JQ2hjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQThVMk55YjJ4c1lXSnNaVmR5WVhCd1pYSmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHTnpjejE3WTNOellGeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWtlM04wZVd4bGN5NTNjbUZ3Y0dWeWZWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWtlMkZ1YVcxaGRHbHZibE4wZVd4bGMzMWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHQjlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1BseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1BGTmpjbTlzYkdGaWJHVkpibTVsY2lCamMzTTllM04wZVd4bGN5NXBibTVsY24wK1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIdGphR2xzWkhKbGJpaDdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWTJ4aGMzTk9ZVzFsT2lCblpYUkRiR0Z6YzA1aGJXVW9jM1I1YkdWekxtTm9hV3hrY21WdUtTeGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JqYzNNNklITjBlV3hsY3k1amFHbHNaSEpsYml4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2ZTbDlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQThMMU5qY205c2JHRmliR1ZKYm01bGNqNWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBOEwxTmpjbTlzYkdGaWJHVlhjbUZ3Y0dWeVBseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FwSURvZ0tGeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUR4VGRHRjBhV05YY21Gd2NHVnlJR056Y3oxN1lXNXBiV0YwYVc5dVUzUjViR1Z6ZlQ1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUh0amFHbHNaSEpsYmloN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHTnNZWE56VG1GdFpUb2daMlYwUTJ4aGMzTk9ZVzFsS0hOMGVXeGxjeTVqYUdsc1pISmxiaWtzWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdOemN6b2djM1I1YkdWekxtTm9hV3hrY21WdUxGeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2ZTbDlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1BDOVRkR0YwYVdOWGNtRndjR1Z5UGx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQXBYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnUEM5RGJHRnpjMDVoYldWelBseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBOEwwNWhkbWxuWVhScGIyNUJibUZzZVhScFkzTkRiMjUwWlhoMFBseHVJQ0FnSUNBZ0lDQWdJQ0FnS1R0Y2JpQWdJQ0FnSUNBZ0lDQjlmVnh1SUNBZ0lDQWdJQ0E4TDFSeVlXNXphWFJwYjI0K1hHNGdJQ0FnSUNBOEwxUnlZVzV6YVhScGIyNUhjbTkxY0Q1Y2JpQWdJQ0FwTzF4dUlDQjlYRzU5WEc0aVhYMD0gKi9cIilcbiAgICAgICAgICB9LCBfX19FbW90aW9uSlNYKFNjcm9sbGFibGVJbm5lciwge1xuICAgICAgICAgICAgY3NzOiBzdHlsZXMuaW5uZXJcbiAgICAgICAgICB9LCBjaGlsZHJlbih7XG4gICAgICAgICAgICBjbGFzc05hbWU6IGdldENsYXNzTmFtZShzdHlsZXMuY2hpbGRyZW4pLFxuICAgICAgICAgICAgY3NzOiBzdHlsZXMuY2hpbGRyZW5cbiAgICAgICAgICB9KSkpIDogX19fRW1vdGlvbkpTWChTdGF0aWNXcmFwcGVyLCB7XG4gICAgICAgICAgICBjc3M6IGFuaW1hdGlvblN0eWxlc1xuICAgICAgICAgIH0sIGNoaWxkcmVuKHtcbiAgICAgICAgICAgIGNsYXNzTmFtZTogZ2V0Q2xhc3NOYW1lKHN0eWxlcy5jaGlsZHJlbiksXG4gICAgICAgICAgICBjc3M6IHN0eWxlcy5jaGlsZHJlblxuICAgICAgICAgIH0pKTtcbiAgICAgICAgfSkpO1xuICAgICAgfSkpO1xuICAgIH1cbiAgfV0pO1xuXG4gIHJldHVybiBTZWN0aW9uO1xufShQdXJlQ29tcG9uZW50KTtcblxuZXhwb3J0IHsgU2VjdGlvbiBhcyBkZWZhdWx0IH07Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2QkFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw4QkFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/Section/Section.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/Section/getAnimationStyles.js": /*!*****************************************************************************************************************!*\ !*** ./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/Section/getAnimationStyles.js ***! \*****************************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _emotion_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @emotion/core */ \"./node_modules/@emotion/core/dist/core.browser.esm.js\");\n/* harmony import */ var _common_constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../common/constants */ \"./node_modules/@atlaskit/navigation-next/dist/esm/common/constants.js\");\n\n\nvar enterAnimationDown = Object(_emotion_core__WEBPACK_IMPORTED_MODULE_0__[\"keyframes\"])([\"\\n from { transform: translateX(100%); }\\n to { transform: translateX(0%); }\\n\"]);\nvar enterAnimationUp = Object(_emotion_core__WEBPACK_IMPORTED_MODULE_0__[\"keyframes\"])([\"\\n from { transform: translateX(-100%); }\\n to { transform: translateX(0%); }\\n\"]);\nvar exitAnimationDown = Object(_emotion_core__WEBPACK_IMPORTED_MODULE_0__[\"keyframes\"])([\"\\n from { transform: translateX(0); }\\n to { transform: translateX(-100%); }\\n\"]);\nvar exitAnimationUp = Object(_emotion_core__WEBPACK_IMPORTED_MODULE_0__[\"keyframes\"])([\"\\n from { transform: translateX(0); }\\n to { transform: translateX(100%); }\\n\"]);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function (_ref) {\n var state = _ref.state,\n traversalDirection = _ref.traversalDirection;\n\n if (!['entering', 'exiting'].includes(state) || !traversalDirection) {\n return {};\n }\n\n if (state === 'exiting') {\n var animationName = traversalDirection === 'down' ? exitAnimationDown : exitAnimationUp;\n return (\n /*#__PURE__*/\n Object(_emotion_core__WEBPACK_IMPORTED_MODULE_0__[\"css\"])({\n animationDuration: _common_constants__WEBPACK_IMPORTED_MODULE_1__[\"transitionDuration\"],\n animationFillMode: 'forwards',\n animationTimingFunction: _common_constants__WEBPACK_IMPORTED_MODULE_1__[\"transitionTimingFunction\"]\n }, \" animation-name:\", animationName, \";\" + ( false ? undefined : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL1NlY3Rpb24vZ2V0QW5pbWF0aW9uU3R5bGVzLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW1DYyIsImZpbGUiOiIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9wcmVzZW50YXRpb25hbC9TZWN0aW9uL2dldEFuaW1hdGlvblN0eWxlcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcywga2V5ZnJhbWVzIH0gZnJvbSAnQGVtb3Rpb24vY29yZSc7XG5cbmltcG9ydCB7XG4gIHRyYW5zaXRpb25EdXJhdGlvbixcbiAgdHJhbnNpdGlvblRpbWluZ0Z1bmN0aW9uLFxufSBmcm9tICcuLi8uLi8uLi9jb21tb24vY29uc3RhbnRzJztcblxuY29uc3QgZW50ZXJBbmltYXRpb25Eb3duID0ga2V5ZnJhbWVzYFxuICBmcm9tIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpOyB9XG4gIHRvIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTsgfVxuYDtcblxuY29uc3QgZW50ZXJBbmltYXRpb25VcCA9IGtleWZyYW1lc2BcbiAgZnJvbSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7IH1cbiAgdG8geyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpOyB9XG5gO1xuXG5jb25zdCBleGl0QW5pbWF0aW9uRG93biA9IGtleWZyYW1lc2BcbiAgZnJvbSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuICB0byB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7IH1cbmA7XG5cbmNvbnN0IGV4aXRBbmltYXRpb25VcCA9IGtleWZyYW1lc2BcbiAgZnJvbSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuICB0byB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTsgfVxuYDtcblxuZXhwb3J0IGRlZmF1bHQgKHsgc3RhdGUsIHRyYXZlcnNhbERpcmVjdGlvbiB9KSA9PiB7XG4gIGlmICghWydlbnRlcmluZycsICdleGl0aW5nJ10uaW5jbHVkZXMoc3RhdGUpIHx8ICF0cmF2ZXJzYWxEaXJlY3Rpb24pIHtcbiAgICByZXR1cm4ge307XG4gIH1cblxuICBpZiAoc3RhdGUgPT09ICdleGl0aW5nJykge1xuICAgIGNvbnN0IGFuaW1hdGlvbk5hbWUgPVxuICAgICAgdHJhdmVyc2FsRGlyZWN0aW9uID09PSAnZG93bicgPyBleGl0QW5pbWF0aW9uRG93biA6IGV4aXRBbmltYXRpb25VcDtcbiAgICByZXR1cm4gY3NzYFxuICAgICR7e1xuICAgICAgYW5pbWF0aW9uRHVyYXRpb246IHRyYW5zaXRpb25EdXJhdGlvbixcbiAgICAgIGFuaW1hdGlvbkZpbGxNb2RlOiAnZm9yd2FyZHMnLFxuICAgICAgYW5pbWF0aW9uVGltaW5nRnVuY3Rpb246IHRyYW5zaXRpb25UaW1pbmdGdW5jdGlvbixcbiAgICB9fVxuICAgICAgYW5pbWF0aW9uLW5hbWU6ICR7YW5pbWF0aW9uTmFtZX07XG4gICAgYDtcbiAgfVxuXG4gIGlmIChzdGF0ZSA9PT0gJ2VudGVyaW5nJykge1xuICAgIGNvbnN0IGFuaW1hdGlvbk5hbWUgPVxuICAgICAgdHJhdmVyc2FsRGlyZWN0aW9uID09PSAnZG93bicgPyBlbnRlckFuaW1hdGlvbkRvd24gOiBlbnRlckFuaW1hdGlvblVwO1xuICAgIHJldHVybiBjc3NgXG4gICAgJHt7XG4gICAgICBhbmltYXRpb25EdXJhdGlvbjogdHJhbnNpdGlvbkR1cmF0aW9uLFxuICAgICAgYW5pbWF0aW9uRmlsbE1vZGU6ICdmb3J3YXJkcycsXG4gICAgICBhbmltYXRpb25UaW1pbmdGdW5jdGlvbjogdHJhbnNpdGlvblRpbWluZ0Z1bmN0aW9uLFxuICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICB3aWR0aDogJzEwMCUnLFxuICAgICAgekluZGV4OiAxLFxuICAgIH19XG4gICAgICBhbmltYXRpb24tbmFtZTogJHthbmltYXRpb25OYW1lfTtcbiAgICBgO1xuICB9XG5cbiAgcmV0dXJuIHt9O1xufTtcbiJdfQ== */\"))\n );\n }\n\n if (state === 'entering') {\n var _animationName = traversalDirection === 'down' ? enterAnimationDown : enterAnimationUp;\n\n return (\n /*#__PURE__*/\n Object(_emotion_core__WEBPACK_IMPORTED_MODULE_0__[\"css\"])({\n animationDuration: _common_constants__WEBPACK_IMPORTED_MODULE_1__[\"transitionDuration\"],\n animationFillMode: 'forwards',\n animationTimingFunction: _common_constants__WEBPACK_IMPORTED_MODULE_1__[\"transitionTimingFunction\"],\n position: 'absolute',\n width: '100%',\n zIndex: 1\n }, \" animation-name:\", _animationName, \";\" + ( false ? undefined : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL1NlY3Rpb24vZ2V0QW5pbWF0aW9uU3R5bGVzLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWdEYyIsImZpbGUiOiIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9wcmVzZW50YXRpb25hbC9TZWN0aW9uL2dldEFuaW1hdGlvblN0eWxlcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcywga2V5ZnJhbWVzIH0gZnJvbSAnQGVtb3Rpb24vY29yZSc7XG5cbmltcG9ydCB7XG4gIHRyYW5zaXRpb25EdXJhdGlvbixcbiAgdHJhbnNpdGlvblRpbWluZ0Z1bmN0aW9uLFxufSBmcm9tICcuLi8uLi8uLi9jb21tb24vY29uc3RhbnRzJztcblxuY29uc3QgZW50ZXJBbmltYXRpb25Eb3duID0ga2V5ZnJhbWVzYFxuICBmcm9tIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpOyB9XG4gIHRvIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTsgfVxuYDtcblxuY29uc3QgZW50ZXJBbmltYXRpb25VcCA9IGtleWZyYW1lc2BcbiAgZnJvbSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7IH1cbiAgdG8geyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpOyB9XG5gO1xuXG5jb25zdCBleGl0QW5pbWF0aW9uRG93biA9IGtleWZyYW1lc2BcbiAgZnJvbSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuICB0byB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7IH1cbmA7XG5cbmNvbnN0IGV4aXRBbmltYXRpb25VcCA9IGtleWZyYW1lc2BcbiAgZnJvbSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuICB0byB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTsgfVxuYDtcblxuZXhwb3J0IGRlZmF1bHQgKHsgc3RhdGUsIHRyYXZlcnNhbERpcmVjdGlvbiB9KSA9PiB7XG4gIGlmICghWydlbnRlcmluZycsICdleGl0aW5nJ10uaW5jbHVkZXMoc3RhdGUpIHx8ICF0cmF2ZXJzYWxEaXJlY3Rpb24pIHtcbiAgICByZXR1cm4ge307XG4gIH1cblxuICBpZiAoc3RhdGUgPT09ICdleGl0aW5nJykge1xuICAgIGNvbnN0IGFuaW1hdGlvbk5hbWUgPVxuICAgICAgdHJhdmVyc2FsRGlyZWN0aW9uID09PSAnZG93bicgPyBleGl0QW5pbWF0aW9uRG93biA6IGV4aXRBbmltYXRpb25VcDtcbiAgICByZXR1cm4gY3NzYFxuICAgICR7e1xuICAgICAgYW5pbWF0aW9uRHVyYXRpb246IHRyYW5zaXRpb25EdXJhdGlvbixcbiAgICAgIGFuaW1hdGlvbkZpbGxNb2RlOiAnZm9yd2FyZHMnLFxuICAgICAgYW5pbWF0aW9uVGltaW5nRnVuY3Rpb246IHRyYW5zaXRpb25UaW1pbmdGdW5jdGlvbixcbiAgICB9fVxuICAgICAgYW5pbWF0aW9uLW5hbWU6ICR7YW5pbWF0aW9uTmFtZX07XG4gICAgYDtcbiAgfVxuXG4gIGlmIChzdGF0ZSA9PT0gJ2VudGVyaW5nJykge1xuICAgIGNvbnN0IGFuaW1hdGlvbk5hbWUgPVxuICAgICAgdHJhdmVyc2FsRGlyZWN0aW9uID09PSAnZG93bicgPyBlbnRlckFuaW1hdGlvbkRvd24gOiBlbnRlckFuaW1hdGlvblVwO1xuICAgIHJldHVybiBjc3NgXG4gICAgJHt7XG4gICAgICBhbmltYXRpb25EdXJhdGlvbjogdHJhbnNpdGlvbkR1cmF0aW9uLFxuICAgICAgYW5pbWF0aW9uRmlsbE1vZGU6ICdmb3J3YXJkcycsXG4gICAgICBhbmltYXRpb25UaW1pbmdGdW5jdGlvbjogdHJhbnNpdGlvblRpbWluZ0Z1bmN0aW9uLFxuICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICB3aWR0aDogJzEwMCUnLFxuICAgICAgekluZGV4OiAxLFxuICAgIH19XG4gICAgICBhbmltYXRpb24tbmFtZTogJHthbmltYXRpb25OYW1lfTtcbiAgICBgO1xuICB9XG5cbiAgcmV0dXJuIHt9O1xufTtcbiJdfQ== */\"))\n );\n }\n\n return {};\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL1NlY3Rpb24vZ2V0QW5pbWF0aW9uU3R5bGVzLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BhdGxhc2tpdC9uYXZpZ2F0aW9uLW5leHQvZGlzdC9lc20vY29tcG9uZW50cy9wcmVzZW50YXRpb25hbC9TZWN0aW9uL2dldEFuaW1hdGlvblN0eWxlcy5qcz84ZDQ5Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcywga2V5ZnJhbWVzIH0gZnJvbSAnQGVtb3Rpb24vY29yZSc7XG5pbXBvcnQgeyB0cmFuc2l0aW9uRHVyYXRpb24sIHRyYW5zaXRpb25UaW1pbmdGdW5jdGlvbiB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9jb25zdGFudHMnO1xudmFyIGVudGVyQW5pbWF0aW9uRG93biA9IGtleWZyYW1lcyhbXCJcXG4gIGZyb20geyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7IH1cXG4gIHRvIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTsgfVxcblwiXSk7XG52YXIgZW50ZXJBbmltYXRpb25VcCA9IGtleWZyYW1lcyhbXCJcXG4gIGZyb20geyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpOyB9XFxuICB0byB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7IH1cXG5cIl0pO1xudmFyIGV4aXRBbmltYXRpb25Eb3duID0ga2V5ZnJhbWVzKFtcIlxcbiAgZnJvbSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxcbiAgdG8geyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpOyB9XFxuXCJdKTtcbnZhciBleGl0QW5pbWF0aW9uVXAgPSBrZXlmcmFtZXMoW1wiXFxuICBmcm9tIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XFxuICB0byB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTsgfVxcblwiXSk7XG5leHBvcnQgZGVmYXVsdCAoZnVuY3Rpb24gKF9yZWYpIHtcbiAgdmFyIHN0YXRlID0gX3JlZi5zdGF0ZSxcbiAgICAgIHRyYXZlcnNhbERpcmVjdGlvbiA9IF9yZWYudHJhdmVyc2FsRGlyZWN0aW9uO1xuXG4gIGlmICghWydlbnRlcmluZycsICdleGl0aW5nJ10uaW5jbHVkZXMoc3RhdGUpIHx8ICF0cmF2ZXJzYWxEaXJlY3Rpb24pIHtcbiAgICByZXR1cm4ge307XG4gIH1cblxuICBpZiAoc3RhdGUgPT09ICdleGl0aW5nJykge1xuICAgIHZhciBhbmltYXRpb25OYW1lID0gdHJhdmVyc2FsRGlyZWN0aW9uID09PSAnZG93bicgPyBleGl0QW5pbWF0aW9uRG93biA6IGV4aXRBbmltYXRpb25VcDtcbiAgICByZXR1cm4gKFxuICAgICAgLyojX19QVVJFX18qL1xuICAgICAgY3NzKHtcbiAgICAgICAgYW5pbWF0aW9uRHVyYXRpb246IHRyYW5zaXRpb25EdXJhdGlvbixcbiAgICAgICAgYW5pbWF0aW9uRmlsbE1vZGU6ICdmb3J3YXJkcycsXG4gICAgICAgIGFuaW1hdGlvblRpbWluZ0Z1bmN0aW9uOiB0cmFuc2l0aW9uVGltaW5nRnVuY3Rpb25cbiAgICAgIH0sIFwiIGFuaW1hdGlvbi1uYW1lOlwiLCBhbmltYXRpb25OYW1lLCBcIjtcIiArIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyBcIlwiIDogXCIvKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJaTR1THk0dUx5NHVMeTR1THk0dUwzTnlZeTlqYjIxd2IyNWxiblJ6TDNCeVpYTmxiblJoZEdsdmJtRnNMMU5sWTNScGIyNHZaMlYwUVc1cGJXRjBhVzl1VTNSNWJHVnpMbXB6SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVcxRFl5SXNJbVpwYkdVaU9pSXVMaTh1TGk4dUxpOHVMaTh1TGk5emNtTXZZMjl0Y0c5dVpXNTBjeTl3Y21WelpXNTBZWFJwYjI1aGJDOVRaV04wYVc5dUwyZGxkRUZ1YVcxaGRHbHZibE4wZVd4bGN5NXFjeUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSW1sdGNHOXlkQ0I3SUdOemN5d2dhMlY1Wm5KaGJXVnpJSDBnWm5KdmJTQW5RR1Z0YjNScGIyNHZZMjl5WlNjN1hHNWNibWx0Y0c5eWRDQjdYRzRnSUhSeVlXNXphWFJwYjI1RWRYSmhkR2x2Yml4Y2JpQWdkSEpoYm5OcGRHbHZibFJwYldsdVowWjFibU4wYVc5dUxGeHVmU0JtY205dElDY3VMaTh1TGk4dUxpOWpiMjF0YjI0dlkyOXVjM1JoYm5Sekp6dGNibHh1WTI5dWMzUWdaVzUwWlhKQmJtbHRZWFJwYjI1RWIzZHVJRDBnYTJWNVpuSmhiV1Z6WUZ4dUlDQm1jbTl0SUhzZ2RISmhibk5tYjNKdE9pQjBjbUZ1YzJ4aGRHVllLREV3TUNVcE95QjlYRzRnSUhSdklIc2dkSEpoYm5ObWIzSnRPaUIwY21GdWMyeGhkR1ZZS0RBbEtUc2dmVnh1WUR0Y2JseHVZMjl1YzNRZ1pXNTBaWEpCYm1sdFlYUnBiMjVWY0NBOUlHdGxlV1p5WVcxbGMyQmNiaUFnWm5KdmJTQjdJSFJ5WVc1elptOXliVG9nZEhKaGJuTnNZWFJsV0NndE1UQXdKU2s3SUgxY2JpQWdkRzhnZXlCMGNtRnVjMlp2Y20wNklIUnlZVzV6YkdGMFpWZ29NQ1VwT3lCOVhHNWdPMXh1WEc1amIyNXpkQ0JsZUdsMFFXNXBiV0YwYVc5dVJHOTNiaUE5SUd0bGVXWnlZVzFsYzJCY2JpQWdabkp2YlNCN0lIUnlZVzV6Wm05eWJUb2dkSEpoYm5Oc1lYUmxXQ2d3S1RzZ2ZWeHVJQ0IwYnlCN0lIUnlZVzV6Wm05eWJUb2dkSEpoYm5Oc1lYUmxXQ2d0TVRBd0pTazdJSDFjYm1BN1hHNWNibU52Ym5OMElHVjRhWFJCYm1sdFlYUnBiMjVWY0NBOUlHdGxlV1p5WVcxbGMyQmNiaUFnWm5KdmJTQjdJSFJ5WVc1elptOXliVG9nZEhKaGJuTnNZWFJsV0Nnd0tUc2dmVnh1SUNCMGJ5QjdJSFJ5WVc1elptOXliVG9nZEhKaGJuTnNZWFJsV0NneE1EQWxLVHNnZlZ4dVlEdGNibHh1Wlhod2IzSjBJR1JsWm1GMWJIUWdLSHNnYzNSaGRHVXNJSFJ5WVhabGNuTmhiRVJwY21WamRHbHZiaUI5S1NBOVBpQjdYRzRnSUdsbUlDZ2hXeWRsYm5SbGNtbHVaeWNzSUNkbGVHbDBhVzVuSjEwdWFXNWpiSFZrWlhNb2MzUmhkR1VwSUh4OElDRjBjbUYyWlhKellXeEVhWEpsWTNScGIyNHBJSHRjYmlBZ0lDQnlaWFIxY200Z2UzMDdYRzRnSUgxY2JseHVJQ0JwWmlBb2MzUmhkR1VnUFQwOUlDZGxlR2wwYVc1bkp5a2dlMXh1SUNBZ0lHTnZibk4wSUdGdWFXMWhkR2x2Yms1aGJXVWdQVnh1SUNBZ0lDQWdkSEpoZG1WeWMyRnNSR2x5WldOMGFXOXVJRDA5UFNBblpHOTNiaWNnUHlCbGVHbDBRVzVwYldGMGFXOXVSRzkzYmlBNklHVjRhWFJCYm1sdFlYUnBiMjVWY0R0Y2JpQWdJQ0J5WlhSMWNtNGdZM056WUZ4dUlDQWdJQ1I3ZTF4dUlDQWdJQ0FnWVc1cGJXRjBhVzl1UkhWeVlYUnBiMjQ2SUhSeVlXNXphWFJwYjI1RWRYSmhkR2x2Yml4Y2JpQWdJQ0FnSUdGdWFXMWhkR2x2YmtacGJHeE5iMlJsT2lBblptOXlkMkZ5WkhNbkxGeHVJQ0FnSUNBZ1lXNXBiV0YwYVc5dVZHbHRhVzVuUm5WdVkzUnBiMjQ2SUhSeVlXNXphWFJwYjI1VWFXMXBibWRHZFc1amRHbHZiaXhjYmlBZ0lDQjlmVnh1SUNBZ0lDQWdZVzVwYldGMGFXOXVMVzVoYldVNklDUjdZVzVwYldGMGFXOXVUbUZ0WlgwN1hHNGdJQ0FnWUR0Y2JpQWdmVnh1WEc0Z0lHbG1JQ2h6ZEdGMFpTQTlQVDBnSjJWdWRHVnlhVzVuSnlrZ2UxeHVJQ0FnSUdOdmJuTjBJR0Z1YVcxaGRHbHZiazVoYldVZ1BWeHVJQ0FnSUNBZ2RISmhkbVZ5YzJGc1JHbHlaV04wYVc5dUlEMDlQU0FuWkc5M2JpY2dQeUJsYm5SbGNrRnVhVzFoZEdsdmJrUnZkMjRnT2lCbGJuUmxja0Z1YVcxaGRHbHZibFZ3TzF4dUlDQWdJSEpsZEhWeWJpQmpjM05nWEc0Z0lDQWdKSHQ3WEc0Z0lDQWdJQ0JoYm1sdFlYUnBiMjVFZFhKaGRHbHZiam9nZEhKaGJuTnBkR2x2YmtSMWNtRjBhVzl1TEZ4dUlDQWdJQ0FnWVc1cGJXRjBhVzl1Um1sc2JFMXZaR1U2SUNkbWIzSjNZWEprY3ljc1hHNGdJQ0FnSUNCaGJtbHRZWFJwYjI1VWFXMXBibWRHZFc1amRHbHZiam9nZEhKaGJuTnBkR2x2YmxScGJXbHVaMFoxYm1OMGFXOXVMRnh1SUNBZ0lDQWdjRzl6YVhScGIyNDZJQ2RoWW5OdmJIVjBaU2NzWEc0Z0lDQWdJQ0IzYVdSMGFEb2dKekV3TUNVbkxGeHVJQ0FnSUNBZ2VrbHVaR1Y0T2lBeExGeHVJQ0FnSUgxOVhHNGdJQ0FnSUNCaGJtbHRZWFJwYjI0dGJtRnRaVG9nSkh0aGJtbHRZWFJwYjI1T1lXMWxmVHRjYmlBZ0lDQmdPMXh1SUNCOVhHNWNiaUFnY21WMGRYSnVJSHQ5TzF4dWZUdGNiaUpkZlE9PSAqL1wiKSlcbiAgICApO1xuICB9XG5cbiAgaWYgKHN0YXRlID09PSAnZW50ZXJpbmcnKSB7XG4gICAgdmFyIF9hbmltYXRpb25OYW1lID0gdHJhdmVyc2FsRGlyZWN0aW9uID09PSAnZG93bicgPyBlbnRlckFuaW1hdGlvbkRvd24gOiBlbnRlckFuaW1hdGlvblVwO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIC8qI19fUFVSRV9fKi9cbiAgICAgIGNzcyh7XG4gICAgICAgIGFuaW1hdGlvbkR1cmF0aW9uOiB0cmFuc2l0aW9uRHVyYXRpb24sXG4gICAgICAgIGFuaW1hdGlvbkZpbGxNb2RlOiAnZm9yd2FyZHMnLFxuICAgICAgICBhbmltYXRpb25UaW1pbmdGdW5jdGlvbjogdHJhbnNpdGlvblRpbWluZ0Z1bmN0aW9uLFxuICAgICAgICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgICAgICAgd2lkdGg6ICcxMDAlJyxcbiAgICAgICAgekluZGV4OiAxXG4gICAgICB9LCBcIiBhbmltYXRpb24tbmFtZTpcIiwgX2FuaW1hdGlvbk5hbWUsIFwiO1wiICsgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IFwiXCIgOiBcIi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpNHVMeTR1THk0dUx5NHVMeTR1TDNOeVl5OWpiMjF3YjI1bGJuUnpMM0J5WlhObGJuUmhkR2x2Ym1Gc0wxTmxZM1JwYjI0dloyVjBRVzVwYldGMGFXOXVVM1I1YkdWekxtcHpJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRV2RFWXlJc0ltWnBiR1VpT2lJdUxpOHVMaTh1TGk4dUxpOHVMaTl6Y21NdlkyOXRjRzl1Wlc1MGN5OXdjbVZ6Wlc1MFlYUnBiMjVoYkM5VFpXTjBhVzl1TDJkbGRFRnVhVzFoZEdsdmJsTjBlV3hsY3k1cWN5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJbWx0Y0c5eWRDQjdJR056Y3l3Z2EyVjVabkpoYldWeklIMGdabkp2YlNBblFHVnRiM1JwYjI0dlkyOXlaU2M3WEc1Y2JtbHRjRzl5ZENCN1hHNGdJSFJ5WVc1emFYUnBiMjVFZFhKaGRHbHZiaXhjYmlBZ2RISmhibk5wZEdsdmJsUnBiV2x1WjBaMWJtTjBhVzl1TEZ4dWZTQm1jbTl0SUNjdUxpOHVMaTh1TGk5amIyMXRiMjR2WTI5dWMzUmhiblJ6Snp0Y2JseHVZMjl1YzNRZ1pXNTBaWEpCYm1sdFlYUnBiMjVFYjNkdUlEMGdhMlY1Wm5KaGJXVnpZRnh1SUNCbWNtOXRJSHNnZEhKaGJuTm1iM0p0T2lCMGNtRnVjMnhoZEdWWUtERXdNQ1VwT3lCOVhHNGdJSFJ2SUhzZ2RISmhibk5tYjNKdE9pQjBjbUZ1YzJ4aGRHVllLREFsS1RzZ2ZWeHVZRHRjYmx4dVkyOXVjM1FnWlc1MFpYSkJibWx0WVhScGIyNVZjQ0E5SUd0bGVXWnlZVzFsYzJCY2JpQWdabkp2YlNCN0lIUnlZVzV6Wm05eWJUb2dkSEpoYm5Oc1lYUmxXQ2d0TVRBd0pTazdJSDFjYmlBZ2RHOGdleUIwY21GdWMyWnZjbTA2SUhSeVlXNXpiR0YwWlZnb01DVXBPeUI5WEc1Z08xeHVYRzVqYjI1emRDQmxlR2wwUVc1cGJXRjBhVzl1Ukc5M2JpQTlJR3RsZVdaeVlXMWxjMkJjYmlBZ1puSnZiU0I3SUhSeVlXNXpabTl5YlRvZ2RISmhibk5zWVhSbFdDZ3dLVHNnZlZ4dUlDQjBieUI3SUhSeVlXNXpabTl5YlRvZ2RISmhibk5zWVhSbFdDZ3RNVEF3SlNrN0lIMWNibUE3WEc1Y2JtTnZibk4wSUdWNGFYUkJibWx0WVhScGIyNVZjQ0E5SUd0bGVXWnlZVzFsYzJCY2JpQWdabkp2YlNCN0lIUnlZVzV6Wm05eWJUb2dkSEpoYm5Oc1lYUmxXQ2d3S1RzZ2ZWeHVJQ0IwYnlCN0lIUnlZVzV6Wm05eWJUb2dkSEpoYm5Oc1lYUmxXQ2d4TURBbEtUc2dmVnh1WUR0Y2JseHVaWGh3YjNKMElHUmxabUYxYkhRZ0tIc2djM1JoZEdVc0lIUnlZWFpsY25OaGJFUnBjbVZqZEdsdmJpQjlLU0E5UGlCN1hHNGdJR2xtSUNnaFd5ZGxiblJsY21sdVp5Y3NJQ2RsZUdsMGFXNW5KMTB1YVc1amJIVmtaWE1vYzNSaGRHVXBJSHg4SUNGMGNtRjJaWEp6WVd4RWFYSmxZM1JwYjI0cElIdGNiaUFnSUNCeVpYUjFjbTRnZTMwN1hHNGdJSDFjYmx4dUlDQnBaaUFvYzNSaGRHVWdQVDA5SUNkbGVHbDBhVzVuSnlrZ2UxeHVJQ0FnSUdOdmJuTjBJR0Z1YVcxaGRHbHZiazVoYldVZ1BWeHVJQ0FnSUNBZ2RISmhkbVZ5YzJGc1JHbHlaV04wYVc5dUlEMDlQU0FuWkc5M2JpY2dQeUJsZUdsMFFXNXBiV0YwYVc5dVJHOTNiaUE2SUdWNGFYUkJibWx0WVhScGIyNVZjRHRjYmlBZ0lDQnlaWFIxY200Z1kzTnpZRnh1SUNBZ0lDUjdlMXh1SUNBZ0lDQWdZVzVwYldGMGFXOXVSSFZ5WVhScGIyNDZJSFJ5WVc1emFYUnBiMjVFZFhKaGRHbHZiaXhjYmlBZ0lDQWdJR0Z1YVcxaGRHbHZia1pwYkd4TmIyUmxPaUFuWm05eWQyRnlaSE1uTEZ4dUlDQWdJQ0FnWVc1cGJXRjBhVzl1VkdsdGFXNW5SblZ1WTNScGIyNDZJSFJ5WVc1emFYUnBiMjVVYVcxcGJtZEdkVzVqZEdsdmJpeGNiaUFnSUNCOWZWeHVJQ0FnSUNBZ1lXNXBiV0YwYVc5dUxXNWhiV1U2SUNSN1lXNXBiV0YwYVc5dVRtRnRaWDA3WEc0Z0lDQWdZRHRjYmlBZ2ZWeHVYRzRnSUdsbUlDaHpkR0YwWlNBOVBUMGdKMlZ1ZEdWeWFXNW5KeWtnZTF4dUlDQWdJR052Ym5OMElHRnVhVzFoZEdsdmJrNWhiV1VnUFZ4dUlDQWdJQ0FnZEhKaGRtVnljMkZzUkdseVpXTjBhVzl1SUQwOVBTQW5aRzkzYmljZ1B5QmxiblJsY2tGdWFXMWhkR2x2YmtSdmQyNGdPaUJsYm5SbGNrRnVhVzFoZEdsdmJsVndPMXh1SUNBZ0lISmxkSFZ5YmlCamMzTmdYRzRnSUNBZ0pIdDdYRzRnSUNBZ0lDQmhibWx0WVhScGIyNUVkWEpoZEdsdmJqb2dkSEpoYm5OcGRHbHZia1IxY21GMGFXOXVMRnh1SUNBZ0lDQWdZVzVwYldGMGFXOXVSbWxzYkUxdlpHVTZJQ2RtYjNKM1lYSmtjeWNzWEc0Z0lDQWdJQ0JoYm1sdFlYUnBiMjVVYVcxcGJtZEdkVzVqZEdsdmJqb2dkSEpoYm5OcGRHbHZibFJwYldsdVowWjFibU4wYVc5dUxGeHVJQ0FnSUNBZ2NHOXphWFJwYjI0NklDZGhZbk52YkhWMFpTY3NYRzRnSUNBZ0lDQjNhV1IwYURvZ0p6RXdNQ1VuTEZ4dUlDQWdJQ0FnZWtsdVpHVjRPaUF4TEZ4dUlDQWdJSDE5WEc0Z0lDQWdJQ0JoYm1sdFlYUnBiMjR0Ym1GdFpUb2dKSHRoYm1sdFlYUnBiMjVPWVcxbGZUdGNiaUFnSUNCZ08xeHVJQ0I5WEc1Y2JpQWdjbVYwZFhKdUlIdDlPMXh1ZlR0Y2JpSmRmUT09ICovXCIpKVxuICAgICk7XG4gIH1cblxuICByZXR1cm4ge307XG59KTsiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/Section/getAnimationStyles.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/Section/index.js": /*!****************************************************************************************************!*\ !*** ./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/Section/index.js ***! \****************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return Section; });\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ \"./node_modules/@babel/runtime/helpers/classCallCheck.js\");\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\");\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ \"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ \"./node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ \"./node_modules/@babel/runtime/helpers/inherits.js\");\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ \"./node_modules/@babel/runtime/helpers/defineProperty.js\");\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _emotion_core__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @emotion/core */ \"./node_modules/@emotion/core/dist/core.browser.esm.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _theme__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../../theme */ \"./node_modules/@atlaskit/navigation-next/dist/esm/theme/index.js\");\n/* harmony import */ var _Section__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./Section */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/Section/Section.js\");\n\n\n\n\n\n\n\n\n\n\nvar SectionWithTheme = Object(_theme__WEBPACK_IMPORTED_MODULE_8__[\"withContentTheme\"])(_Section__WEBPACK_IMPORTED_MODULE_9__[\"default\"]);\n\nvar Section =\n/*#__PURE__*/\nfunction (_Component) {\n _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4___default()(Section, _Component);\n\n function Section() {\n _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default()(this, Section);\n\n return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2___default()(this, _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3___default()(Section).apply(this, arguments));\n }\n\n _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1___default()(Section, [{\n key: \"render\",\n value: function render() {\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_6__[\"jsx\"])(SectionWithTheme, this.props);\n }\n }]);\n\n return Section;\n}(react__WEBPACK_IMPORTED_MODULE_7__[\"Component\"]);\n\n_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_5___default()(Section, \"defaultProps\", {\n alwaysShowScrollHint: false,\n shouldGrow: false,\n styles: _theme__WEBPACK_IMPORTED_MODULE_8__[\"styleReducerNoOp\"]\n});\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL1NlY3Rpb24vaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL1NlY3Rpb24vaW5kZXguanM/Y2FiOSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgX2NsYXNzQ2FsbENoZWNrIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2NsYXNzQ2FsbENoZWNrXCI7XG5pbXBvcnQgX2NyZWF0ZUNsYXNzIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2NyZWF0ZUNsYXNzXCI7XG5pbXBvcnQgX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4gZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvcG9zc2libGVDb25zdHJ1Y3RvclJldHVyblwiO1xuaW1wb3J0IF9nZXRQcm90b3R5cGVPZiBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9nZXRQcm90b3R5cGVPZlwiO1xuaW1wb3J0IF9pbmhlcml0cyBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9pbmhlcml0c1wiO1xuaW1wb3J0IF9kZWZpbmVQcm9wZXJ0eSBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9kZWZpbmVQcm9wZXJ0eVwiO1xuaW1wb3J0IHsganN4IGFzIF9fX0Vtb3Rpb25KU1ggfSBmcm9tIFwiQGVtb3Rpb24vY29yZVwiO1xuaW1wb3J0IFJlYWN0LCB7IENvbXBvbmVudCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHN0eWxlUmVkdWNlck5vT3AsIHdpdGhDb250ZW50VGhlbWUgfSBmcm9tICcuLi8uLi8uLi90aGVtZSc7XG5pbXBvcnQgU2VjdGlvbkJhc2UgZnJvbSAnLi9TZWN0aW9uJztcbnZhciBTZWN0aW9uV2l0aFRoZW1lID0gd2l0aENvbnRlbnRUaGVtZShTZWN0aW9uQmFzZSk7XG5cbnZhciBTZWN0aW9uID1cbi8qI19fUFVSRV9fKi9cbmZ1bmN0aW9uIChfQ29tcG9uZW50KSB7XG4gIF9pbmhlcml0cyhTZWN0aW9uLCBfQ29tcG9uZW50KTtcblxuICBmdW5jdGlvbiBTZWN0aW9uKCkge1xuICAgIF9jbGFzc0NhbGxDaGVjayh0aGlzLCBTZWN0aW9uKTtcblxuICAgIHJldHVybiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybih0aGlzLCBfZ2V0UHJvdG90eXBlT2YoU2VjdGlvbikuYXBwbHkodGhpcywgYXJndW1lbnRzKSk7XG4gIH1cblxuICBfY3JlYXRlQ2xhc3MoU2VjdGlvbiwgW3tcbiAgICBrZXk6IFwicmVuZGVyXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIHJlbmRlcigpIHtcbiAgICAgIHJldHVybiBfX19FbW90aW9uSlNYKFNlY3Rpb25XaXRoVGhlbWUsIHRoaXMucHJvcHMpO1xuICAgIH1cbiAgfV0pO1xuXG4gIHJldHVybiBTZWN0aW9uO1xufShDb21wb25lbnQpO1xuXG5fZGVmaW5lUHJvcGVydHkoU2VjdGlvbiwgXCJkZWZhdWx0UHJvcHNcIiwge1xuICBhbHdheXNTaG93U2Nyb2xsSGludDogZmFsc2UsXG4gIHNob3VsZEdyb3c6IGZhbHNlLFxuICBzdHlsZXM6IHN0eWxlUmVkdWNlck5vT3Bcbn0pO1xuXG5leHBvcnQgeyBTZWN0aW9uIGFzIGRlZmF1bHQgfTsiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/Section/index.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/Section/styles.js": /*!*****************************************************************************************************!*\ !*** ./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/Section/styles.js ***! \*****************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/objectSpread */ \"./node_modules/@babel/runtime/helpers/objectSpread.js\");\n/* harmony import */ var _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @atlaskit/theme/colors */ \"./node_modules/@atlaskit/theme/dist/esm/colors.js\");\n/* harmony import */ var _atlaskit_theme_constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @atlaskit/theme/constants */ \"./node_modules/@atlaskit/theme/dist/esm/constants.js\");\n\n\n\nvar gridSize = Object(_atlaskit_theme_constants__WEBPACK_IMPORTED_MODULE_2__[\"gridSize\"])();\nvar scrollHintHeight = 2;\nvar scrollHintSpacing = gridSize * 2;\nvar isGecko = typeof window !== 'undefined' && window.navigator.userAgent.indexOf('Gecko') >= 0;\nvar isWebkit = typeof window !== 'undefined' && window.navigator.userAgent.indexOf('AppleWebKit') >= 0;\nvar scrollBarSize = isGecko || isWebkit ? 0 : 30;\n\nvar getBaseStyles = function getBaseStyles(_ref) {\n var alwaysShowScrollHint = _ref.alwaysShowScrollHint;\n return {\n wrapper: {\n height: '100%',\n overflow: 'hidden',\n position: 'relative',\n width: '100%',\n '&::before': {\n borderRadius: 1,\n content: \"''\",\n display: 'block',\n flex: 0,\n height: \"\".concat(scrollHintHeight, \"px\"),\n left: \"\".concat(scrollHintSpacing, \"px\"),\n position: 'absolute',\n right: \"\".concat(scrollHintSpacing + scrollBarSize, \"px\"),\n top: 0,\n zIndex: 1\n },\n '&::after': {\n borderRadius: 1,\n content: \"''\",\n display: 'block',\n flex: 0,\n height: \"\".concat(scrollHintHeight, \"px\"),\n left: \"\".concat(scrollHintSpacing, \"px\"),\n position: 'absolute',\n right: \"\".concat(scrollHintSpacing + scrollBarSize, \"px\"),\n bottom: 0,\n zIndex: 1\n }\n },\n inner: {\n display: 'flex',\n flexDirection: 'column',\n flexBasis: '100%',\n height: '100%',\n justifyContent: 'flex-start',\n overflowY: 'auto',\n position: 'relative',\n '&::before': {\n borderRadius: 1,\n content: \"''\",\n display: alwaysShowScrollHint ? 'none' : 'block',\n flexShrink: 0,\n height: \"\".concat(scrollHintHeight, \"px\"),\n marginLeft: \"\".concat(scrollHintSpacing, \"px\"),\n position: 'relative',\n zIndex: 2\n },\n '&::after': {\n borderRadius: 1,\n content: \"''\",\n display: 'block',\n flexShrink: 0,\n height: \"\".concat(scrollHintHeight, \"px\"),\n marginLeft: \"\".concat(scrollHintSpacing, \"px\"),\n marginTop: 'auto',\n position: 'relative',\n zIndex: 2\n }\n },\n // These styles are passed to the children function for the consumer to\n // apply\n children: {\n boxSizing: 'border-box',\n paddingLeft: \"\".concat(gridSize * 2, \"px\"),\n paddingRight: \"\".concat(gridSize * 2, \"px\")\n }\n };\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function (_ref2) {\n var product = _ref2.product;\n return function (props) {\n var baseStyles = getBaseStyles(props);\n return {\n container: _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0___default()({}, baseStyles, {\n wrapper: _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0___default()({}, baseStyles.wrapper, {\n '&::before': _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0___default()({}, baseStyles.wrapper['&::before'], {\n backgroundColor: _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_1__[\"N30A\"]\n }),\n '&::after': _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0___default()({}, baseStyles.wrapper['&::after'], {\n backgroundColor: _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_1__[\"N30A\"]\n })\n }),\n inner: _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0___default()({}, baseStyles.inner, {\n '&::before': _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0___default()({}, baseStyles.inner['&::before'], {\n backgroundColor: _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_1__[\"N20\"]\n }),\n '&::after': _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0___default()({}, baseStyles.inner['&::after'], {\n backgroundColor: _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_1__[\"N20\"]\n })\n })\n }),\n product: _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0___default()({}, baseStyles, {\n wrapper: _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0___default()({}, baseStyles.wrapper, {\n '&::before': _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0___default()({}, baseStyles.wrapper['&::before'], {\n backgroundColor: product.background.static\n }),\n '&::after': _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0___default()({}, baseStyles.wrapper['&::after'], {\n backgroundColor: product.background.static\n })\n }),\n inner: _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0___default()({}, baseStyles.inner, {\n '&::before': _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0___default()({}, baseStyles.inner['&::before'], {\n backgroundColor: product.background.default\n }),\n '&::after': _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0___default()({}, baseStyles.inner['&::after'], {\n backgroundColor: product.background.default\n })\n })\n })\n };\n };\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL1NlY3Rpb24vc3R5bGVzLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BhdGxhc2tpdC9uYXZpZ2F0aW9uLW5leHQvZGlzdC9lc20vY29tcG9uZW50cy9wcmVzZW50YXRpb25hbC9TZWN0aW9uL3N0eWxlcy5qcz82NDM1Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfb2JqZWN0U3ByZWFkIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL29iamVjdFNwcmVhZFwiO1xuaW1wb3J0IHsgTjIwLCBOMzBBIH0gZnJvbSAnQGF0bGFza2l0L3RoZW1lL2NvbG9ycyc7XG5pbXBvcnQgeyBncmlkU2l6ZSBhcyBncmlkU2l6ZUZuIH0gZnJvbSAnQGF0bGFza2l0L3RoZW1lL2NvbnN0YW50cyc7XG52YXIgZ3JpZFNpemUgPSBncmlkU2l6ZUZuKCk7XG52YXIgc2Nyb2xsSGludEhlaWdodCA9IDI7XG52YXIgc2Nyb2xsSGludFNwYWNpbmcgPSBncmlkU2l6ZSAqIDI7XG52YXIgaXNHZWNrbyA9IHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnICYmIHdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50LmluZGV4T2YoJ0dlY2tvJykgPj0gMDtcbnZhciBpc1dlYmtpdCA9IHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnICYmIHdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50LmluZGV4T2YoJ0FwcGxlV2ViS2l0JykgPj0gMDtcbnZhciBzY3JvbGxCYXJTaXplID0gaXNHZWNrbyB8fCBpc1dlYmtpdCA/IDAgOiAzMDtcblxudmFyIGdldEJhc2VTdHlsZXMgPSBmdW5jdGlvbiBnZXRCYXNlU3R5bGVzKF9yZWYpIHtcbiAgdmFyIGFsd2F5c1Nob3dTY3JvbGxIaW50ID0gX3JlZi5hbHdheXNTaG93U2Nyb2xsSGludDtcbiAgcmV0dXJuIHtcbiAgICB3cmFwcGVyOiB7XG4gICAgICBoZWlnaHQ6ICcxMDAlJyxcbiAgICAgIG92ZXJmbG93OiAnaGlkZGVuJyxcbiAgICAgIHBvc2l0aW9uOiAncmVsYXRpdmUnLFxuICAgICAgd2lkdGg6ICcxMDAlJyxcbiAgICAgICcmOjpiZWZvcmUnOiB7XG4gICAgICAgIGJvcmRlclJhZGl1czogMSxcbiAgICAgICAgY29udGVudDogXCInJ1wiLFxuICAgICAgICBkaXNwbGF5OiAnYmxvY2snLFxuICAgICAgICBmbGV4OiAwLFxuICAgICAgICBoZWlnaHQ6IFwiXCIuY29uY2F0KHNjcm9sbEhpbnRIZWlnaHQsIFwicHhcIiksXG4gICAgICAgIGxlZnQ6IFwiXCIuY29uY2F0KHNjcm9sbEhpbnRTcGFjaW5nLCBcInB4XCIpLFxuICAgICAgICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgICAgICAgcmlnaHQ6IFwiXCIuY29uY2F0KHNjcm9sbEhpbnRTcGFjaW5nICsgc2Nyb2xsQmFyU2l6ZSwgXCJweFwiKSxcbiAgICAgICAgdG9wOiAwLFxuICAgICAgICB6SW5kZXg6IDFcbiAgICAgIH0sXG4gICAgICAnJjo6YWZ0ZXInOiB7XG4gICAgICAgIGJvcmRlclJhZGl1czogMSxcbiAgICAgICAgY29udGVudDogXCInJ1wiLFxuICAgICAgICBkaXNwbGF5OiAnYmxvY2snLFxuICAgICAgICBmbGV4OiAwLFxuICAgICAgICBoZWlnaHQ6IFwiXCIuY29uY2F0KHNjcm9sbEhpbnRIZWlnaHQsIFwicHhcIiksXG4gICAgICAgIGxlZnQ6IFwiXCIuY29uY2F0KHNjcm9sbEhpbnRTcGFjaW5nLCBcInB4XCIpLFxuICAgICAgICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgICAgICAgcmlnaHQ6IFwiXCIuY29uY2F0KHNjcm9sbEhpbnRTcGFjaW5nICsgc2Nyb2xsQmFyU2l6ZSwgXCJweFwiKSxcbiAgICAgICAgYm90dG9tOiAwLFxuICAgICAgICB6SW5kZXg6IDFcbiAgICAgIH1cbiAgICB9LFxuICAgIGlubmVyOiB7XG4gICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJyxcbiAgICAgIGZsZXhCYXNpczogJzEwMCUnLFxuICAgICAgaGVpZ2h0OiAnMTAwJScsXG4gICAgICBqdXN0aWZ5Q29udGVudDogJ2ZsZXgtc3RhcnQnLFxuICAgICAgb3ZlcmZsb3dZOiAnYXV0bycsXG4gICAgICBwb3NpdGlvbjogJ3JlbGF0aXZlJyxcbiAgICAgICcmOjpiZWZvcmUnOiB7XG4gICAgICAgIGJvcmRlclJhZGl1czogMSxcbiAgICAgICAgY29udGVudDogXCInJ1wiLFxuICAgICAgICBkaXNwbGF5OiBhbHdheXNTaG93U2Nyb2xsSGludCA/ICdub25lJyA6ICdibG9jaycsXG4gICAgICAgIGZsZXhTaHJpbms6IDAsXG4gICAgICAgIGhlaWdodDogXCJcIi5jb25jYXQoc2Nyb2xsSGludEhlaWdodCwgXCJweFwiKSxcbiAgICAgICAgbWFyZ2luTGVmdDogXCJcIi5jb25jYXQoc2Nyb2xsSGludFNwYWNpbmcsIFwicHhcIiksXG4gICAgICAgIHBvc2l0aW9uOiAncmVsYXRpdmUnLFxuICAgICAgICB6SW5kZXg6IDJcbiAgICAgIH0sXG4gICAgICAnJjo6YWZ0ZXInOiB7XG4gICAgICAgIGJvcmRlclJhZGl1czogMSxcbiAgICAgICAgY29udGVudDogXCInJ1wiLFxuICAgICAgICBkaXNwbGF5OiAnYmxvY2snLFxuICAgICAgICBmbGV4U2hyaW5rOiAwLFxuICAgICAgICBoZWlnaHQ6IFwiXCIuY29uY2F0KHNjcm9sbEhpbnRIZWlnaHQsIFwicHhcIiksXG4gICAgICAgIG1hcmdpbkxlZnQ6IFwiXCIuY29uY2F0KHNjcm9sbEhpbnRTcGFjaW5nLCBcInB4XCIpLFxuICAgICAgICBtYXJnaW5Ub3A6ICdhdXRvJyxcbiAgICAgICAgcG9zaXRpb246ICdyZWxhdGl2ZScsXG4gICAgICAgIHpJbmRleDogMlxuICAgICAgfVxuICAgIH0sXG4gICAgLy8gVGhlc2Ugc3R5bGVzIGFyZSBwYXNzZWQgdG8gdGhlIGNoaWxkcmVuIGZ1bmN0aW9uIGZvciB0aGUgY29uc3VtZXIgdG9cbiAgICAvLyBhcHBseVxuICAgIGNoaWxkcmVuOiB7XG4gICAgICBib3hTaXppbmc6ICdib3JkZXItYm94JyxcbiAgICAgIHBhZGRpbmdMZWZ0OiBcIlwiLmNvbmNhdChncmlkU2l6ZSAqIDIsIFwicHhcIiksXG4gICAgICBwYWRkaW5nUmlnaHQ6IFwiXCIuY29uY2F0KGdyaWRTaXplICogMiwgXCJweFwiKVxuICAgIH1cbiAgfTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IChmdW5jdGlvbiAoX3JlZjIpIHtcbiAgdmFyIHByb2R1Y3QgPSBfcmVmMi5wcm9kdWN0O1xuICByZXR1cm4gZnVuY3Rpb24gKHByb3BzKSB7XG4gICAgdmFyIGJhc2VTdHlsZXMgPSBnZXRCYXNlU3R5bGVzKHByb3BzKTtcbiAgICByZXR1cm4ge1xuICAgICAgY29udGFpbmVyOiBfb2JqZWN0U3ByZWFkKHt9LCBiYXNlU3R5bGVzLCB7XG4gICAgICAgIHdyYXBwZXI6IF9vYmplY3RTcHJlYWQoe30sIGJhc2VTdHlsZXMud3JhcHBlciwge1xuICAgICAgICAgICcmOjpiZWZvcmUnOiBfb2JqZWN0U3ByZWFkKHt9LCBiYXNlU3R5bGVzLndyYXBwZXJbJyY6OmJlZm9yZSddLCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IE4zMEFcbiAgICAgICAgICB9KSxcbiAgICAgICAgICAnJjo6YWZ0ZXInOiBfb2JqZWN0U3ByZWFkKHt9LCBiYXNlU3R5bGVzLndyYXBwZXJbJyY6OmFmdGVyJ10sIHtcbiAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogTjMwQVxuICAgICAgICAgIH0pXG4gICAgICAgIH0pLFxuICAgICAgICBpbm5lcjogX29iamVjdFNwcmVhZCh7fSwgYmFzZVN0eWxlcy5pbm5lciwge1xuICAgICAgICAgICcmOjpiZWZvcmUnOiBfb2JqZWN0U3ByZWFkKHt9LCBiYXNlU3R5bGVzLmlubmVyWycmOjpiZWZvcmUnXSwge1xuICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBOMjBcbiAgICAgICAgICB9KSxcbiAgICAgICAgICAnJjo6YWZ0ZXInOiBfb2JqZWN0U3ByZWFkKHt9LCBiYXNlU3R5bGVzLmlubmVyWycmOjphZnRlciddLCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IE4yMFxuICAgICAgICAgIH0pXG4gICAgICAgIH0pXG4gICAgICB9KSxcbiAgICAgIHByb2R1Y3Q6IF9vYmplY3RTcHJlYWQoe30sIGJhc2VTdHlsZXMsIHtcbiAgICAgICAgd3JhcHBlcjogX29iamVjdFNwcmVhZCh7fSwgYmFzZVN0eWxlcy53cmFwcGVyLCB7XG4gICAgICAgICAgJyY6OmJlZm9yZSc6IF9vYmplY3RTcHJlYWQoe30sIGJhc2VTdHlsZXMud3JhcHBlclsnJjo6YmVmb3JlJ10sIHtcbiAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogcHJvZHVjdC5iYWNrZ3JvdW5kLnN0YXRpY1xuICAgICAgICAgIH0pLFxuICAgICAgICAgICcmOjphZnRlcic6IF9vYmplY3RTcHJlYWQoe30sIGJhc2VTdHlsZXMud3JhcHBlclsnJjo6YWZ0ZXInXSwge1xuICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBwcm9kdWN0LmJhY2tncm91bmQuc3RhdGljXG4gICAgICAgICAgfSlcbiAgICAgICAgfSksXG4gICAgICAgIGlubmVyOiBfb2JqZWN0U3ByZWFkKHt9LCBiYXNlU3R5bGVzLmlubmVyLCB7XG4gICAgICAgICAgJyY6OmJlZm9yZSc6IF9vYmplY3RTcHJlYWQoe30sIGJhc2VTdHlsZXMuaW5uZXJbJyY6OmJlZm9yZSddLCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IHByb2R1Y3QuYmFja2dyb3VuZC5kZWZhdWx0XG4gICAgICAgICAgfSksXG4gICAgICAgICAgJyY6OmFmdGVyJzogX29iamVjdFNwcmVhZCh7fSwgYmFzZVN0eWxlcy5pbm5lclsnJjo6YWZ0ZXInXSwge1xuICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBwcm9kdWN0LmJhY2tncm91bmQuZGVmYXVsdFxuICAgICAgICAgIH0pXG4gICAgICAgIH0pXG4gICAgICB9KVxuICAgIH07XG4gIH07XG59KTsiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/Section/styles.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/SectionHeading/index.js": /*!***********************************************************************************************************!*\ !*** ./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/SectionHeading/index.js ***! \***********************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return SectionHeading; });\n/* harmony import */ var _emotion_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @emotion/css */ \"./node_modules/@emotion/css/dist/css.browser.esm.js\");\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ \"./node_modules/@babel/runtime/helpers/classCallCheck.js\");\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\");\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ \"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ \"./node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ \"./node_modules/@babel/runtime/helpers/inherits.js\");\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _emotion_core__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @emotion/core */ \"./node_modules/@emotion/core/dist/core.browser.esm.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _atlaskit_theme_constants__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @atlaskit/theme/constants */ \"./node_modules/@atlaskit/theme/dist/esm/constants.js\");\n\n\n\n\n\n\n\n\n\nvar gridSize = Object(_atlaskit_theme_constants__WEBPACK_IMPORTED_MODULE_8__[\"gridSize\"])();\n\nvar SectionHeading =\n/*#__PURE__*/\nfunction (_Component) {\n _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5___default()(SectionHeading, _Component);\n\n function SectionHeading() {\n _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default()(this, SectionHeading);\n\n return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3___default()(this, _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4___default()(SectionHeading).apply(this, arguments));\n }\n\n _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2___default()(SectionHeading, [{\n key: \"render\",\n value: function render() {\n var children = this.props.children;\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_6__[\"jsx\"])(\"div\", {\n css:\n /*#__PURE__*/\n Object(_emotion_css__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n alignItems: 'center',\n color: 'inherit',\n display: 'flex',\n flexShrink: 0,\n fontSize: 'inherit',\n fontWeight: 600,\n height: gridSize * 5.5,\n paddingLeft: gridSize * 1.5,\n paddingRight: gridSize * 1.5,\n marginTop: gridSize\n }, false ? undefined : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL1NlY3Rpb25IZWFkaW5nL2luZGV4LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVdRIiwiZmlsZSI6Ii4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL1NlY3Rpb25IZWFkaW5nL2luZGV4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IENvbXBvbmVudCB9IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHsgZ3JpZFNpemUgYXMgZ3JpZFNpemVGbiB9IGZyb20gJ0BhdGxhc2tpdC90aGVtZS9jb25zdGFudHMnO1xuXG5jb25zdCBncmlkU2l6ZSA9IGdyaWRTaXplRm4oKTtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgU2VjdGlvbkhlYWRpbmcgZXh0ZW5kcyBDb21wb25lbnQge1xuICByZW5kZXIoKSB7XG4gICAgY29uc3QgeyBjaGlsZHJlbiB9ID0gdGhpcy5wcm9wcztcbiAgICByZXR1cm4gKFxuICAgICAgPGRpdlxuICAgICAgICBjc3M9e3tcbiAgICAgICAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgICAgICAgICBjb2xvcjogJ2luaGVyaXQnLFxuICAgICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgICBmbGV4U2hyaW5rOiAwLFxuICAgICAgICAgIGZvbnRTaXplOiAnaW5oZXJpdCcsXG4gICAgICAgICAgZm9udFdlaWdodDogNjAwLFxuICAgICAgICAgIGhlaWdodDogZ3JpZFNpemUgKiA1LjUsXG4gICAgICAgICAgcGFkZGluZ0xlZnQ6IGdyaWRTaXplICogMS41LFxuICAgICAgICAgIHBhZGRpbmdSaWdodDogZ3JpZFNpemUgKiAxLjUsXG4gICAgICAgICAgbWFyZ2luVG9wOiBncmlkU2l6ZSxcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAge2NoaWxkcmVufVxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfVxufVxuIl19 */\")\n }, children);\n }\n }]);\n\n return SectionHeading;\n}(react__WEBPACK_IMPORTED_MODULE_7__[\"Component\"]);\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL1NlY3Rpb25IZWFkaW5nL2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BhdGxhc2tpdC9uYXZpZ2F0aW9uLW5leHQvZGlzdC9lc20vY29tcG9uZW50cy9wcmVzZW50YXRpb25hbC9TZWN0aW9uSGVhZGluZy9pbmRleC5qcz81NWQxIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfY3NzIGZyb20gXCJAZW1vdGlvbi9jc3NcIjtcbmltcG9ydCBfY2xhc3NDYWxsQ2hlY2sgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvY2xhc3NDYWxsQ2hlY2tcIjtcbmltcG9ydCBfY3JlYXRlQ2xhc3MgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvY3JlYXRlQ2xhc3NcIjtcbmltcG9ydCBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybiBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuXCI7XG5pbXBvcnQgX2dldFByb3RvdHlwZU9mIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2dldFByb3RvdHlwZU9mXCI7XG5pbXBvcnQgX2luaGVyaXRzIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2luaGVyaXRzXCI7XG5pbXBvcnQgeyBqc3ggYXMgX19fRW1vdGlvbkpTWCB9IGZyb20gXCJAZW1vdGlvbi9jb3JlXCI7XG5pbXBvcnQgUmVhY3QsIHsgQ29tcG9uZW50IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgZ3JpZFNpemUgYXMgZ3JpZFNpemVGbiB9IGZyb20gJ0BhdGxhc2tpdC90aGVtZS9jb25zdGFudHMnO1xudmFyIGdyaWRTaXplID0gZ3JpZFNpemVGbigpO1xuXG52YXIgU2VjdGlvbkhlYWRpbmcgPVxuLyojX19QVVJFX18qL1xuZnVuY3Rpb24gKF9Db21wb25lbnQpIHtcbiAgX2luaGVyaXRzKFNlY3Rpb25IZWFkaW5nLCBfQ29tcG9uZW50KTtcblxuICBmdW5jdGlvbiBTZWN0aW9uSGVhZGluZygpIHtcbiAgICBfY2xhc3NDYWxsQ2hlY2sodGhpcywgU2VjdGlvbkhlYWRpbmcpO1xuXG4gICAgcmV0dXJuIF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHRoaXMsIF9nZXRQcm90b3R5cGVPZihTZWN0aW9uSGVhZGluZykuYXBwbHkodGhpcywgYXJndW1lbnRzKSk7XG4gIH1cblxuICBfY3JlYXRlQ2xhc3MoU2VjdGlvbkhlYWRpbmcsIFt7XG4gICAga2V5OiBcInJlbmRlclwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiByZW5kZXIoKSB7XG4gICAgICB2YXIgY2hpbGRyZW4gPSB0aGlzLnByb3BzLmNoaWxkcmVuO1xuICAgICAgcmV0dXJuIF9fX0Vtb3Rpb25KU1goXCJkaXZcIiwge1xuICAgICAgICBjc3M6XG4gICAgICAgIC8qI19fUFVSRV9fKi9cbiAgICAgICAgX2Nzcyh7XG4gICAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgICAgICAgY29sb3I6ICdpbmhlcml0JyxcbiAgICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgICAgZmxleFNocmluazogMCxcbiAgICAgICAgICBmb250U2l6ZTogJ2luaGVyaXQnLFxuICAgICAgICAgIGZvbnRXZWlnaHQ6IDYwMCxcbiAgICAgICAgICBoZWlnaHQ6IGdyaWRTaXplICogNS41LFxuICAgICAgICAgIHBhZGRpbmdMZWZ0OiBncmlkU2l6ZSAqIDEuNSxcbiAgICAgICAgICBwYWRkaW5nUmlnaHQ6IGdyaWRTaXplICogMS41LFxuICAgICAgICAgIG1hcmdpblRvcDogZ3JpZFNpemVcbiAgICAgICAgfSwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8gXCJcIiA6IFwiLyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWk0dUx5NHVMeTR1THk0dUx5NHVMM055WXk5amIyMXdiMjVsYm5SekwzQnlaWE5sYm5SaGRHbHZibUZzTDFObFkzUnBiMjVJWldGa2FXNW5MMmx1WkdWNExtcHpJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVmRSSWl3aVptbHNaU0k2SWk0dUx5NHVMeTR1THk0dUx5NHVMM055WXk5amIyMXdiMjVsYm5SekwzQnlaWE5sYm5SaGRHbHZibUZzTDFObFkzUnBiMjVJWldGa2FXNW5MMmx1WkdWNExtcHpJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpYVcxd2IzSjBJRkpsWVdOMExDQjdJRU52YlhCdmJtVnVkQ0I5SUdaeWIyMGdKM0psWVdOMEp6dGNibHh1YVcxd2IzSjBJSHNnWjNKcFpGTnBlbVVnWVhNZ1ozSnBaRk5wZW1WR2JpQjlJR1p5YjIwZ0owQmhkR3hoYzJ0cGRDOTBhR1Z0WlM5amIyNXpkR0Z1ZEhNbk8xeHVYRzVqYjI1emRDQm5jbWxrVTJsNlpTQTlJR2R5YVdSVGFYcGxSbTRvS1R0Y2JseHVaWGh3YjNKMElHUmxabUYxYkhRZ1kyeGhjM01nVTJWamRHbHZia2hsWVdScGJtY2daWGgwWlc1a2N5QkRiMjF3YjI1bGJuUWdlMXh1SUNCeVpXNWtaWElvS1NCN1hHNGdJQ0FnWTI5dWMzUWdleUJqYUdsc1pISmxiaUI5SUQwZ2RHaHBjeTV3Y205d2N6dGNiaUFnSUNCeVpYUjFjbTRnS0Z4dUlDQWdJQ0FnUEdScGRseHVJQ0FnSUNBZ0lDQmpjM005ZTN0Y2JpQWdJQ0FnSUNBZ0lDQmhiR2xuYmtsMFpXMXpPaUFuWTJWdWRHVnlKeXhjYmlBZ0lDQWdJQ0FnSUNCamIyeHZjam9nSjJsdWFHVnlhWFFuTEZ4dUlDQWdJQ0FnSUNBZ0lHUnBjM0JzWVhrNklDZG1iR1Y0Snl4Y2JpQWdJQ0FnSUNBZ0lDQm1iR1Y0VTJoeWFXNXJPaUF3TEZ4dUlDQWdJQ0FnSUNBZ0lHWnZiblJUYVhwbE9pQW5hVzVvWlhKcGRDY3NYRzRnSUNBZ0lDQWdJQ0FnWm05dWRGZGxhV2RvZERvZ05qQXdMRnh1SUNBZ0lDQWdJQ0FnSUdobGFXZG9kRG9nWjNKcFpGTnBlbVVnS2lBMUxqVXNYRzRnSUNBZ0lDQWdJQ0FnY0dGa1pHbHVaMHhsWm5RNklHZHlhV1JUYVhwbElDb2dNUzQxTEZ4dUlDQWdJQ0FnSUNBZ0lIQmhaR1JwYm1kU2FXZG9kRG9nWjNKcFpGTnBlbVVnS2lBeExqVXNYRzRnSUNBZ0lDQWdJQ0FnYldGeVoybHVWRzl3T2lCbmNtbGtVMmw2WlN4Y2JpQWdJQ0FnSUNBZ2ZYMWNiaUFnSUNBZ0lENWNiaUFnSUNBZ0lDQWdlMk5vYVd4a2NtVnVmVnh1SUNBZ0lDQWdQQzlrYVhZK1hHNGdJQ0FnS1R0Y2JpQWdmVnh1ZlZ4dUlsMTkgKi9cIilcbiAgICAgIH0sIGNoaWxkcmVuKTtcbiAgICB9XG4gIH1dKTtcblxuICByZXR1cm4gU2VjdGlvbkhlYWRpbmc7XG59KENvbXBvbmVudCk7XG5cbmV4cG9ydCB7IFNlY3Rpb25IZWFkaW5nIGFzIGRlZmF1bHQgfTsiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/SectionHeading/index.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/Separator/index.js": /*!******************************************************************************************************!*\ !*** ./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/Separator/index.js ***! \******************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return Separator; });\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ \"./node_modules/@babel/runtime/helpers/classCallCheck.js\");\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\");\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ \"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ \"./node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ \"./node_modules/@babel/runtime/helpers/inherits.js\");\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _emotion_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @emotion/core */ \"./node_modules/@emotion/core/dist/core.browser.esm.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _theme__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../theme */ \"./node_modules/@atlaskit/navigation-next/dist/esm/theme/index.js\");\n\n\n\n\n\n\n\n\nvar SeparatorWithTheme = Object(_theme__WEBPACK_IMPORTED_MODULE_7__[\"withContentTheme\"])(function (_ref) {\n var theme = _ref.theme;\n var mode = theme.mode,\n context = theme.context;\n var styles = mode.separator()[context];\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_5__[\"jsx\"])(\"div\", {\n css: styles\n });\n});\n\nvar Separator =\n/*#__PURE__*/\nfunction (_Component) {\n _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4___default()(Separator, _Component);\n\n function Separator() {\n _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default()(this, Separator);\n\n return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2___default()(this, _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3___default()(Separator).apply(this, arguments));\n }\n\n _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1___default()(Separator, [{\n key: \"render\",\n value: function render() {\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_5__[\"jsx\"])(SeparatorWithTheme, null);\n }\n }]);\n\n return Separator;\n}(react__WEBPACK_IMPORTED_MODULE_6__[\"Component\"]);\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL1NlcGFyYXRvci9pbmRleC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AYXRsYXNraXQvbmF2aWdhdGlvbi1uZXh0L2Rpc3QvZXNtL2NvbXBvbmVudHMvcHJlc2VudGF0aW9uYWwvU2VwYXJhdG9yL2luZGV4LmpzPzc0ZjgiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IF9jbGFzc0NhbGxDaGVjayBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9jbGFzc0NhbGxDaGVja1wiO1xuaW1wb3J0IF9jcmVhdGVDbGFzcyBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9jcmVhdGVDbGFzc1wiO1xuaW1wb3J0IF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm5cIjtcbmltcG9ydCBfZ2V0UHJvdG90eXBlT2YgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvZ2V0UHJvdG90eXBlT2ZcIjtcbmltcG9ydCBfaW5oZXJpdHMgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvaW5oZXJpdHNcIjtcbmltcG9ydCB7IGpzeCBhcyBfX19FbW90aW9uSlNYIH0gZnJvbSBcIkBlbW90aW9uL2NvcmVcIjtcbmltcG9ydCBSZWFjdCwgeyBDb21wb25lbnQgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyB3aXRoQ29udGVudFRoZW1lIH0gZnJvbSAnLi4vLi4vLi4vdGhlbWUnO1xudmFyIFNlcGFyYXRvcldpdGhUaGVtZSA9IHdpdGhDb250ZW50VGhlbWUoZnVuY3Rpb24gKF9yZWYpIHtcbiAgdmFyIHRoZW1lID0gX3JlZi50aGVtZTtcbiAgdmFyIG1vZGUgPSB0aGVtZS5tb2RlLFxuICAgICAgY29udGV4dCA9IHRoZW1lLmNvbnRleHQ7XG4gIHZhciBzdHlsZXMgPSBtb2RlLnNlcGFyYXRvcigpW2NvbnRleHRdO1xuICByZXR1cm4gX19fRW1vdGlvbkpTWChcImRpdlwiLCB7XG4gICAgY3NzOiBzdHlsZXNcbiAgfSk7XG59KTtcblxudmFyIFNlcGFyYXRvciA9XG4vKiNfX1BVUkVfXyovXG5mdW5jdGlvbiAoX0NvbXBvbmVudCkge1xuICBfaW5oZXJpdHMoU2VwYXJhdG9yLCBfQ29tcG9uZW50KTtcblxuICBmdW5jdGlvbiBTZXBhcmF0b3IoKSB7XG4gICAgX2NsYXNzQ2FsbENoZWNrKHRoaXMsIFNlcGFyYXRvcik7XG5cbiAgICByZXR1cm4gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4odGhpcywgX2dldFByb3RvdHlwZU9mKFNlcGFyYXRvcikuYXBwbHkodGhpcywgYXJndW1lbnRzKSk7XG4gIH1cblxuICBfY3JlYXRlQ2xhc3MoU2VwYXJhdG9yLCBbe1xuICAgIGtleTogXCJyZW5kZXJcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gcmVuZGVyKCkge1xuICAgICAgcmV0dXJuIF9fX0Vtb3Rpb25KU1goU2VwYXJhdG9yV2l0aFRoZW1lLCBudWxsKTtcbiAgICB9XG4gIH1dKTtcblxuICByZXR1cm4gU2VwYXJhdG9yO1xufShDb21wb25lbnQpO1xuXG5leHBvcnQgeyBTZXBhcmF0b3IgYXMgZGVmYXVsdCB9OyJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/Separator/index.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/Separator/styles.js": /*!*******************************************************************************************************!*\ !*** ./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/Separator/styles.js ***! \*******************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/objectSpread */ \"./node_modules/@babel/runtime/helpers/objectSpread.js\");\n/* harmony import */ var _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @atlaskit/theme/colors */ \"./node_modules/@atlaskit/theme/dist/esm/colors.js\");\n/* harmony import */ var _atlaskit_theme_constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @atlaskit/theme/constants */ \"./node_modules/@atlaskit/theme/dist/esm/constants.js\");\n\n\n\nvar dividerLineHeight = 2;\nvar dividerTotalHeight = Object(_atlaskit_theme_constants__WEBPACK_IMPORTED_MODULE_2__[\"gridSize\"])() * 5;\nvar baseStyles = {\n borderRadius: '1px',\n flexShrink: 0,\n height: \"\".concat(dividerLineHeight, \"px\"),\n margin: \"\".concat((dividerTotalHeight - dividerLineHeight) / 2, \"px 0\")\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (function (_ref) {\n var product = _ref.product;\n return function () {\n return {\n container: _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0___default()({}, baseStyles, {\n backgroundColor: _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_1__[\"N30A\"]\n }),\n product: _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0___default()({}, baseStyles, {\n backgroundColor: product.background.static\n })\n };\n };\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL1NlcGFyYXRvci9zdHlsZXMuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL1NlcGFyYXRvci9zdHlsZXMuanM/OTVmNSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgX29iamVjdFNwcmVhZCBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9vYmplY3RTcHJlYWRcIjtcbmltcG9ydCB7IE4zMEEgfSBmcm9tICdAYXRsYXNraXQvdGhlbWUvY29sb3JzJztcbmltcG9ydCB7IGdyaWRTaXplIH0gZnJvbSAnQGF0bGFza2l0L3RoZW1lL2NvbnN0YW50cyc7XG52YXIgZGl2aWRlckxpbmVIZWlnaHQgPSAyO1xudmFyIGRpdmlkZXJUb3RhbEhlaWdodCA9IGdyaWRTaXplKCkgKiA1O1xudmFyIGJhc2VTdHlsZXMgPSB7XG4gIGJvcmRlclJhZGl1czogJzFweCcsXG4gIGZsZXhTaHJpbms6IDAsXG4gIGhlaWdodDogXCJcIi5jb25jYXQoZGl2aWRlckxpbmVIZWlnaHQsIFwicHhcIiksXG4gIG1hcmdpbjogXCJcIi5jb25jYXQoKGRpdmlkZXJUb3RhbEhlaWdodCAtIGRpdmlkZXJMaW5lSGVpZ2h0KSAvIDIsIFwicHggMFwiKVxufTtcbmV4cG9ydCBkZWZhdWx0IChmdW5jdGlvbiAoX3JlZikge1xuICB2YXIgcHJvZHVjdCA9IF9yZWYucHJvZHVjdDtcbiAgcmV0dXJuIGZ1bmN0aW9uICgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgY29udGFpbmVyOiBfb2JqZWN0U3ByZWFkKHt9LCBiYXNlU3R5bGVzLCB7XG4gICAgICAgIGJhY2tncm91bmRDb2xvcjogTjMwQVxuICAgICAgfSksXG4gICAgICBwcm9kdWN0OiBfb2JqZWN0U3ByZWFkKHt9LCBiYXNlU3R5bGVzLCB7XG4gICAgICAgIGJhY2tncm91bmRDb2xvcjogcHJvZHVjdC5iYWNrZ3JvdW5kLnN0YXRpY1xuICAgICAgfSlcbiAgICB9O1xuICB9O1xufSk7Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/Separator/styles.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/SkeletonContainerHeader/index.js": /*!********************************************************************************************************************!*\ !*** ./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/SkeletonContainerHeader/index.js ***! \********************************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return SkeletonContainerHeader; });\n/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ \"./node_modules/@babel/runtime/helpers/objectWithoutProperties.js\");\n/* harmony import */ var _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ \"./node_modules/@babel/runtime/helpers/classCallCheck.js\");\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\");\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ \"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ \"./node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ \"./node_modules/@babel/runtime/helpers/inherits.js\");\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ \"./node_modules/@babel/runtime/helpers/defineProperty.js\");\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @babel/runtime/helpers/objectSpread */ \"./node_modules/@babel/runtime/helpers/objectSpread.js\");\n/* harmony import */ var _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var _emotion_core__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @emotion/core */ \"./node_modules/@emotion/core/dist/core.browser.esm.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_10__);\n/* harmony import */ var _atlaskit_theme_constants__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @atlaskit/theme/constants */ \"./node_modules/@atlaskit/theme/dist/esm/constants.js\");\n/* harmony import */ var _theme__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../../theme */ \"./node_modules/@atlaskit/navigation-next/dist/esm/theme/index.js\");\n/* harmony import */ var _SkeletonItem__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../SkeletonItem */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/SkeletonItem/index.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar gridSize = Object(_atlaskit_theme_constants__WEBPACK_IMPORTED_MODULE_11__[\"gridSize\"])();\n\nvar modifyStyles = function modifyStyles(defaultStyles) {\n return _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_8___default()({}, defaultStyles, {\n wrapper: _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_8___default()({}, defaultStyles.wrapper, {\n height: \"\".concat(gridSize * 6, \"px\"),\n paddingLeft: gridSize / 2,\n paddingRight: gridSize / 2\n }),\n before: _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_8___default()({}, defaultStyles.before, {\n borderRadius: 3,\n height: gridSize * 5,\n marginRight: gridSize,\n width: gridSize * 5\n })\n });\n};\n\nvar SkeletonContainerHeader =\n/*#__PURE__*/\nfunction (_PureComponent) {\n _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_6___default()(SkeletonContainerHeader, _PureComponent);\n\n function SkeletonContainerHeader() {\n _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2___default()(this, SkeletonContainerHeader);\n\n return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4___default()(this, _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5___default()(SkeletonContainerHeader).apply(this, arguments));\n }\n\n _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3___default()(SkeletonContainerHeader, [{\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n styleReducer = _this$props.styles,\n props = _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1___default()(_this$props, [\"styles\"]); // We modify the SkeletonItem styles ourselves, then allow the consumer to\n // modify these if they want to.\n\n\n var patchedStyles = function patchedStyles(defaultStyles) {\n return styleReducer(modifyStyles(defaultStyles));\n };\n\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_9__[\"jsx\"])(_SkeletonItem__WEBPACK_IMPORTED_MODULE_13__[\"default\"], _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({}, props, {\n styles: patchedStyles\n }));\n }\n }]);\n\n return SkeletonContainerHeader;\n}(react__WEBPACK_IMPORTED_MODULE_10__[\"PureComponent\"]);\n\n_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_7___default()(SkeletonContainerHeader, \"defaultProps\", {\n hasBefore: false,\n styles: _theme__WEBPACK_IMPORTED_MODULE_12__[\"styleReducerNoOp\"]\n});\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL1NrZWxldG9uQ29udGFpbmVySGVhZGVyL2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BhdGxhc2tpdC9uYXZpZ2F0aW9uLW5leHQvZGlzdC9lc20vY29tcG9uZW50cy9wcmVzZW50YXRpb25hbC9Ta2VsZXRvbkNvbnRhaW5lckhlYWRlci9pbmRleC5qcz8yODRiIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfZXh0ZW5kcyBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9leHRlbmRzXCI7XG5pbXBvcnQgX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzXCI7XG5pbXBvcnQgX2NsYXNzQ2FsbENoZWNrIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2NsYXNzQ2FsbENoZWNrXCI7XG5pbXBvcnQgX2NyZWF0ZUNsYXNzIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2NyZWF0ZUNsYXNzXCI7XG5pbXBvcnQgX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4gZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvcG9zc2libGVDb25zdHJ1Y3RvclJldHVyblwiO1xuaW1wb3J0IF9nZXRQcm90b3R5cGVPZiBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9nZXRQcm90b3R5cGVPZlwiO1xuaW1wb3J0IF9pbmhlcml0cyBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9pbmhlcml0c1wiO1xuaW1wb3J0IF9kZWZpbmVQcm9wZXJ0eSBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9kZWZpbmVQcm9wZXJ0eVwiO1xuaW1wb3J0IF9vYmplY3RTcHJlYWQgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvb2JqZWN0U3ByZWFkXCI7XG5pbXBvcnQgeyBqc3ggYXMgX19fRW1vdGlvbkpTWCB9IGZyb20gXCJAZW1vdGlvbi9jb3JlXCI7XG5pbXBvcnQgUmVhY3QsIHsgUHVyZUNvbXBvbmVudCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGdyaWRTaXplIGFzIGdyaWRTaXplRm4gfSBmcm9tICdAYXRsYXNraXQvdGhlbWUvY29uc3RhbnRzJztcbmltcG9ydCB7IHN0eWxlUmVkdWNlck5vT3AgfSBmcm9tICcuLi8uLi8uLi90aGVtZSc7XG5pbXBvcnQgU2tlbGV0b25JdGVtIGZyb20gJy4uL1NrZWxldG9uSXRlbSc7XG52YXIgZ3JpZFNpemUgPSBncmlkU2l6ZUZuKCk7XG5cbnZhciBtb2RpZnlTdHlsZXMgPSBmdW5jdGlvbiBtb2RpZnlTdHlsZXMoZGVmYXVsdFN0eWxlcykge1xuICByZXR1cm4gX29iamVjdFNwcmVhZCh7fSwgZGVmYXVsdFN0eWxlcywge1xuICAgIHdyYXBwZXI6IF9vYmplY3RTcHJlYWQoe30sIGRlZmF1bHRTdHlsZXMud3JhcHBlciwge1xuICAgICAgaGVpZ2h0OiBcIlwiLmNvbmNhdChncmlkU2l6ZSAqIDYsIFwicHhcIiksXG4gICAgICBwYWRkaW5nTGVmdDogZ3JpZFNpemUgLyAyLFxuICAgICAgcGFkZGluZ1JpZ2h0OiBncmlkU2l6ZSAvIDJcbiAgICB9KSxcbiAgICBiZWZvcmU6IF9vYmplY3RTcHJlYWQoe30sIGRlZmF1bHRTdHlsZXMuYmVmb3JlLCB7XG4gICAgICBib3JkZXJSYWRpdXM6IDMsXG4gICAgICBoZWlnaHQ6IGdyaWRTaXplICogNSxcbiAgICAgIG1hcmdpblJpZ2h0OiBncmlkU2l6ZSxcbiAgICAgIHdpZHRoOiBncmlkU2l6ZSAqIDVcbiAgICB9KVxuICB9KTtcbn07XG5cbnZhciBTa2VsZXRvbkNvbnRhaW5lckhlYWRlciA9XG4vKiNfX1BVUkVfXyovXG5mdW5jdGlvbiAoX1B1cmVDb21wb25lbnQpIHtcbiAgX2luaGVyaXRzKFNrZWxldG9uQ29udGFpbmVySGVhZGVyLCBfUHVyZUNvbXBvbmVudCk7XG5cbiAgZnVuY3Rpb24gU2tlbGV0b25Db250YWluZXJIZWFkZXIoKSB7XG4gICAgX2NsYXNzQ2FsbENoZWNrKHRoaXMsIFNrZWxldG9uQ29udGFpbmVySGVhZGVyKTtcblxuICAgIHJldHVybiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybih0aGlzLCBfZ2V0UHJvdG90eXBlT2YoU2tlbGV0b25Db250YWluZXJIZWFkZXIpLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykpO1xuICB9XG5cbiAgX2NyZWF0ZUNsYXNzKFNrZWxldG9uQ29udGFpbmVySGVhZGVyLCBbe1xuICAgIGtleTogXCJyZW5kZXJcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gcmVuZGVyKCkge1xuICAgICAgdmFyIF90aGlzJHByb3BzID0gdGhpcy5wcm9wcyxcbiAgICAgICAgICBzdHlsZVJlZHVjZXIgPSBfdGhpcyRwcm9wcy5zdHlsZXMsXG4gICAgICAgICAgcHJvcHMgPSBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMoX3RoaXMkcHJvcHMsIFtcInN0eWxlc1wiXSk7IC8vIFdlIG1vZGlmeSB0aGUgU2tlbGV0b25JdGVtIHN0eWxlcyBvdXJzZWx2ZXMsIHRoZW4gYWxsb3cgdGhlIGNvbnN1bWVyIHRvXG4gICAgICAvLyBtb2RpZnkgdGhlc2UgaWYgdGhleSB3YW50IHRvLlxuXG5cbiAgICAgIHZhciBwYXRjaGVkU3R5bGVzID0gZnVuY3Rpb24gcGF0Y2hlZFN0eWxlcyhkZWZhdWx0U3R5bGVzKSB7XG4gICAgICAgIHJldHVybiBzdHlsZVJlZHVjZXIobW9kaWZ5U3R5bGVzKGRlZmF1bHRTdHlsZXMpKTtcbiAgICAgIH07XG5cbiAgICAgIHJldHVybiBfX19FbW90aW9uSlNYKFNrZWxldG9uSXRlbSwgX2V4dGVuZHMoe30sIHByb3BzLCB7XG4gICAgICAgIHN0eWxlczogcGF0Y2hlZFN0eWxlc1xuICAgICAgfSkpO1xuICAgIH1cbiAgfV0pO1xuXG4gIHJldHVybiBTa2VsZXRvbkNvbnRhaW5lckhlYWRlcjtcbn0oUHVyZUNvbXBvbmVudCk7XG5cbl9kZWZpbmVQcm9wZXJ0eShTa2VsZXRvbkNvbnRhaW5lckhlYWRlciwgXCJkZWZhdWx0UHJvcHNcIiwge1xuICBoYXNCZWZvcmU6IGZhbHNlLFxuICBzdHlsZXM6IHN0eWxlUmVkdWNlck5vT3Bcbn0pO1xuXG5leHBvcnQgeyBTa2VsZXRvbkNvbnRhaW5lckhlYWRlciBhcyBkZWZhdWx0IH07Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/SkeletonContainerHeader/index.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/SkeletonContainerView/index.js": /*!******************************************************************************************************************!*\ !*** ./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/SkeletonContainerView/index.js ***! \******************************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return SkeletonContainerView; });\n/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ \"./node_modules/@babel/runtime/helpers/objectWithoutProperties.js\");\n/* harmony import */ var _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ \"./node_modules/@babel/runtime/helpers/classCallCheck.js\");\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\");\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ \"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ \"./node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ \"./node_modules/@babel/runtime/helpers/inherits.js\");\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ \"./node_modules/@babel/runtime/helpers/defineProperty.js\");\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _emotion_core__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @emotion/core */ \"./node_modules/@emotion/core/dist/core.browser.esm.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony import */ var _ContentNavigation_primitives__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../ContentNavigation/primitives */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/ContentNavigation/primitives.js\");\n/* harmony import */ var _Section__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../Section */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/Section/index.js\");\n/* harmony import */ var _SkeletonContainerHeader__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../SkeletonContainerHeader */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/SkeletonContainerHeader/index.js\");\n/* harmony import */ var _SkeletonItem__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../SkeletonItem */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/SkeletonItem/index.js\");\n/* harmony import */ var _primitives__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./primitives */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/SkeletonContainerView/primitives.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar SkeletonContainerView =\n/*#__PURE__*/\nfunction (_Component) {\n _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_6___default()(SkeletonContainerView, _Component);\n\n function SkeletonContainerView() {\n _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2___default()(this, SkeletonContainerView);\n\n return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4___default()(this, _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5___default()(SkeletonContainerView).apply(this, arguments));\n }\n\n _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3___default()(SkeletonContainerView, [{\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n dataset = _this$props.dataset,\n type = _this$props.type,\n props = _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1___default()(_this$props, [\"dataset\", \"type\"]);\n\n if (!type) {\n return null;\n }\n\n var Theme = type === 'product' ? _ContentNavigation_primitives__WEBPACK_IMPORTED_MODULE_10__[\"ProductNavigationTheme\"] : _ContentNavigation_primitives__WEBPACK_IMPORTED_MODULE_10__[\"ContainerNavigationTheme\"];\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_8__[\"jsx\"])(Theme, null, Object(_emotion_core__WEBPACK_IMPORTED_MODULE_8__[\"jsx\"])(_primitives__WEBPACK_IMPORTED_MODULE_14__[\"Container\"], _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({}, dataset, props), Object(_emotion_core__WEBPACK_IMPORTED_MODULE_8__[\"jsx\"])(_Section__WEBPACK_IMPORTED_MODULE_11__[\"default\"], null, function (_ref) {\n var css = _ref.css;\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_8__[\"jsx\"])(_primitives__WEBPACK_IMPORTED_MODULE_14__[\"HeaderContainer\"], {\n styles: css\n }, Object(_emotion_core__WEBPACK_IMPORTED_MODULE_8__[\"jsx\"])(_SkeletonContainerHeader__WEBPACK_IMPORTED_MODULE_12__[\"default\"], {\n hasBefore: true\n }));\n }), Object(_emotion_core__WEBPACK_IMPORTED_MODULE_8__[\"jsx\"])(_Section__WEBPACK_IMPORTED_MODULE_11__[\"default\"], null, function (_ref2) {\n var className = _ref2.className;\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_8__[\"jsx\"])(\"div\", {\n className: className\n }, Object(_emotion_core__WEBPACK_IMPORTED_MODULE_8__[\"jsx\"])(_SkeletonItem__WEBPACK_IMPORTED_MODULE_13__[\"default\"], {\n hasBefore: true\n }), Object(_emotion_core__WEBPACK_IMPORTED_MODULE_8__[\"jsx\"])(_SkeletonItem__WEBPACK_IMPORTED_MODULE_13__[\"default\"], {\n hasBefore: true\n }), Object(_emotion_core__WEBPACK_IMPORTED_MODULE_8__[\"jsx\"])(_SkeletonItem__WEBPACK_IMPORTED_MODULE_13__[\"default\"], {\n hasBefore: true\n }), Object(_emotion_core__WEBPACK_IMPORTED_MODULE_8__[\"jsx\"])(_SkeletonItem__WEBPACK_IMPORTED_MODULE_13__[\"default\"], {\n hasBefore: true\n }), Object(_emotion_core__WEBPACK_IMPORTED_MODULE_8__[\"jsx\"])(_SkeletonItem__WEBPACK_IMPORTED_MODULE_13__[\"default\"], {\n hasBefore: true\n }));\n })));\n }\n }]);\n\n return SkeletonContainerView;\n}(react__WEBPACK_IMPORTED_MODULE_9__[\"Component\"]);\n\n_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_7___default()(SkeletonContainerView, \"defaultProps\", {\n dataset: {\n 'data-testid': 'ContextualNavigationSkeleton'\n }\n});\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL1NrZWxldG9uQ29udGFpbmVyVmlldy9pbmRleC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AYXRsYXNraXQvbmF2aWdhdGlvbi1uZXh0L2Rpc3QvZXNtL2NvbXBvbmVudHMvcHJlc2VudGF0aW9uYWwvU2tlbGV0b25Db250YWluZXJWaWV3L2luZGV4LmpzPzBlZDQiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IF9leHRlbmRzIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2V4dGVuZHNcIjtcbmltcG9ydCBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvb2JqZWN0V2l0aG91dFByb3BlcnRpZXNcIjtcbmltcG9ydCBfY2xhc3NDYWxsQ2hlY2sgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvY2xhc3NDYWxsQ2hlY2tcIjtcbmltcG9ydCBfY3JlYXRlQ2xhc3MgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvY3JlYXRlQ2xhc3NcIjtcbmltcG9ydCBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybiBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuXCI7XG5pbXBvcnQgX2dldFByb3RvdHlwZU9mIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2dldFByb3RvdHlwZU9mXCI7XG5pbXBvcnQgX2luaGVyaXRzIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2luaGVyaXRzXCI7XG5pbXBvcnQgX2RlZmluZVByb3BlcnR5IGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2RlZmluZVByb3BlcnR5XCI7XG5pbXBvcnQgeyBqc3ggYXMgX19fRW1vdGlvbkpTWCB9IGZyb20gXCJAZW1vdGlvbi9jb3JlXCI7XG5pbXBvcnQgUmVhY3QsIHsgQ29tcG9uZW50IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgQ29udGFpbmVyTmF2aWdhdGlvblRoZW1lLCBQcm9kdWN0TmF2aWdhdGlvblRoZW1lIH0gZnJvbSAnLi4vQ29udGVudE5hdmlnYXRpb24vcHJpbWl0aXZlcyc7XG5pbXBvcnQgU2VjdGlvbiBmcm9tICcuLi9TZWN0aW9uJztcbmltcG9ydCBTa2VsZXRvbkNvbnRhaW5lckhlYWRlciBmcm9tICcuLi9Ta2VsZXRvbkNvbnRhaW5lckhlYWRlcic7XG5pbXBvcnQgU2tlbGV0b25JdGVtIGZyb20gJy4uL1NrZWxldG9uSXRlbSc7XG5pbXBvcnQgeyBDb250YWluZXIsIEhlYWRlckNvbnRhaW5lciB9IGZyb20gJy4vcHJpbWl0aXZlcyc7XG5cbnZhciBTa2VsZXRvbkNvbnRhaW5lclZpZXcgPVxuLyojX19QVVJFX18qL1xuZnVuY3Rpb24gKF9Db21wb25lbnQpIHtcbiAgX2luaGVyaXRzKFNrZWxldG9uQ29udGFpbmVyVmlldywgX0NvbXBvbmVudCk7XG5cbiAgZnVuY3Rpb24gU2tlbGV0b25Db250YWluZXJWaWV3KCkge1xuICAgIF9jbGFzc0NhbGxDaGVjayh0aGlzLCBTa2VsZXRvbkNvbnRhaW5lclZpZXcpO1xuXG4gICAgcmV0dXJuIF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHRoaXMsIF9nZXRQcm90b3R5cGVPZihTa2VsZXRvbkNvbnRhaW5lclZpZXcpLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykpO1xuICB9XG5cbiAgX2NyZWF0ZUNsYXNzKFNrZWxldG9uQ29udGFpbmVyVmlldywgW3tcbiAgICBrZXk6IFwicmVuZGVyXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIHJlbmRlcigpIHtcbiAgICAgIHZhciBfdGhpcyRwcm9wcyA9IHRoaXMucHJvcHMsXG4gICAgICAgICAgZGF0YXNldCA9IF90aGlzJHByb3BzLmRhdGFzZXQsXG4gICAgICAgICAgdHlwZSA9IF90aGlzJHByb3BzLnR5cGUsXG4gICAgICAgICAgcHJvcHMgPSBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMoX3RoaXMkcHJvcHMsIFtcImRhdGFzZXRcIiwgXCJ0eXBlXCJdKTtcblxuICAgICAgaWYgKCF0eXBlKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuXG4gICAgICB2YXIgVGhlbWUgPSB0eXBlID09PSAncHJvZHVjdCcgPyBQcm9kdWN0TmF2aWdhdGlvblRoZW1lIDogQ29udGFpbmVyTmF2aWdhdGlvblRoZW1lO1xuICAgICAgcmV0dXJuIF9fX0Vtb3Rpb25KU1goVGhlbWUsIG51bGwsIF9fX0Vtb3Rpb25KU1goQ29udGFpbmVyLCBfZXh0ZW5kcyh7fSwgZGF0YXNldCwgcHJvcHMpLCBfX19FbW90aW9uSlNYKFNlY3Rpb24sIG51bGwsIGZ1bmN0aW9uIChfcmVmKSB7XG4gICAgICAgIHZhciBjc3MgPSBfcmVmLmNzcztcbiAgICAgICAgcmV0dXJuIF9fX0Vtb3Rpb25KU1goSGVhZGVyQ29udGFpbmVyLCB7XG4gICAgICAgICAgc3R5bGVzOiBjc3NcbiAgICAgICAgfSwgX19fRW1vdGlvbkpTWChTa2VsZXRvbkNvbnRhaW5lckhlYWRlciwge1xuICAgICAgICAgIGhhc0JlZm9yZTogdHJ1ZVxuICAgICAgICB9KSk7XG4gICAgICB9KSwgX19fRW1vdGlvbkpTWChTZWN0aW9uLCBudWxsLCBmdW5jdGlvbiAoX3JlZjIpIHtcbiAgICAgICAgdmFyIGNsYXNzTmFtZSA9IF9yZWYyLmNsYXNzTmFtZTtcbiAgICAgICAgcmV0dXJuIF9fX0Vtb3Rpb25KU1goXCJkaXZcIiwge1xuICAgICAgICAgIGNsYXNzTmFtZTogY2xhc3NOYW1lXG4gICAgICAgIH0sIF9fX0Vtb3Rpb25KU1goU2tlbGV0b25JdGVtLCB7XG4gICAgICAgICAgaGFzQmVmb3JlOiB0cnVlXG4gICAgICAgIH0pLCBfX19FbW90aW9uSlNYKFNrZWxldG9uSXRlbSwge1xuICAgICAgICAgIGhhc0JlZm9yZTogdHJ1ZVxuICAgICAgICB9KSwgX19fRW1vdGlvbkpTWChTa2VsZXRvbkl0ZW0sIHtcbiAgICAgICAgICBoYXNCZWZvcmU6IHRydWVcbiAgICAgICAgfSksIF9fX0Vtb3Rpb25KU1goU2tlbGV0b25JdGVtLCB7XG4gICAgICAgICAgaGFzQmVmb3JlOiB0cnVlXG4gICAgICAgIH0pLCBfX19FbW90aW9uSlNYKFNrZWxldG9uSXRlbSwge1xuICAgICAgICAgIGhhc0JlZm9yZTogdHJ1ZVxuICAgICAgICB9KSk7XG4gICAgICB9KSkpO1xuICAgIH1cbiAgfV0pO1xuXG4gIHJldHVybiBTa2VsZXRvbkNvbnRhaW5lclZpZXc7XG59KENvbXBvbmVudCk7XG5cbl9kZWZpbmVQcm9wZXJ0eShTa2VsZXRvbkNvbnRhaW5lclZpZXcsIFwiZGVmYXVsdFByb3BzXCIsIHtcbiAgZGF0YXNldDoge1xuICAgICdkYXRhLXRlc3RpZCc6ICdDb250ZXh0dWFsTmF2aWdhdGlvblNrZWxldG9uJ1xuICB9XG59KTtcblxuZXhwb3J0IHsgU2tlbGV0b25Db250YWluZXJWaWV3IGFzIGRlZmF1bHQgfTsiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/SkeletonContainerView/index.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/SkeletonContainerView/primitives.js": /*!***********************************************************************************************************************!*\ !*** ./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/SkeletonContainerView/primitives.js ***! \***********************************************************************************************************************/ /*! exports provided: Container, HeaderContainer */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Container\", function() { return Container; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"HeaderContainer\", function() { return HeaderContainer; });\n/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/objectSpread */ \"./node_modules/@babel/runtime/helpers/objectSpread.js\");\n/* harmony import */ var _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _emotion_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @emotion/css */ \"./node_modules/@emotion/css/dist/css.browser.esm.js\");\n/* harmony import */ var _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ \"./node_modules/@babel/runtime/helpers/objectWithoutProperties.js\");\n/* harmony import */ var _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _emotion_core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @emotion/core */ \"./node_modules/@emotion/core/dist/core.browser.esm.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _atlaskit_theme_constants__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @atlaskit/theme/constants */ \"./node_modules/@atlaskit/theme/dist/esm/constants.js\");\n\n\n\n\n\n\n\nvar gridSize = Object(_atlaskit_theme_constants__WEBPACK_IMPORTED_MODULE_6__[\"gridSize\"])();\nvar Container = function Container(props) {\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_4__[\"jsx\"])(\"div\", props);\n};\nvar HeaderContainer = function HeaderContainer(props) {\n var styles = props.styles,\n rest = _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_3___default()(props, [\"styles\"]);\n\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_4__[\"jsx\"])(\"div\", _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({\n css:\n /*#__PURE__*/\n Object(_emotion_css__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_1___default()({}, styles, {\n paddingTop: gridSize * 2.5,\n paddingBottom: gridSize * 2.5\n }), false ? undefined : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL1NrZWxldG9uQ29udGFpbmVyVmlldy9wcmltaXRpdmVzLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVlNIiwiZmlsZSI6Ii4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL1NrZWxldG9uQ29udGFpbmVyVmlldy9wcmltaXRpdmVzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHsgZ3JpZFNpemUgYXMgZ3JpZFNpemVGbiB9IGZyb20gJ0BhdGxhc2tpdC90aGVtZS9jb25zdGFudHMnO1xuXG5jb25zdCBncmlkU2l6ZSA9IGdyaWRTaXplRm4oKTtcblxuZXhwb3J0IGNvbnN0IENvbnRhaW5lciA9IHByb3BzID0+IDxkaXYgey4uLnByb3BzfSAvPjtcblxuZXhwb3J0IGNvbnN0IEhlYWRlckNvbnRhaW5lciA9IHByb3BzID0+IHtcbiAgY29uc3QgeyBzdHlsZXMsIC4uLnJlc3QgfSA9IHByb3BzO1xuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIGNzcz17e1xuICAgICAgICAuLi5zdHlsZXMsXG4gICAgICAgIHBhZGRpbmdUb3A6IGdyaWRTaXplICogMi41LFxuICAgICAgICBwYWRkaW5nQm90dG9tOiBncmlkU2l6ZSAqIDIuNSxcbiAgICAgIH19XG4gICAgICB7Li4ucmVzdH1cbiAgICAvPlxuICApO1xufTtcbiJdfQ== */\")\n }, rest));\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL1NrZWxldG9uQ29udGFpbmVyVmlldy9wcmltaXRpdmVzLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BhdGxhc2tpdC9uYXZpZ2F0aW9uLW5leHQvZGlzdC9lc20vY29tcG9uZW50cy9wcmVzZW50YXRpb25hbC9Ta2VsZXRvbkNvbnRhaW5lclZpZXcvcHJpbWl0aXZlcy5qcz9jYmZiIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfZXh0ZW5kcyBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9leHRlbmRzXCI7XG5pbXBvcnQgX29iamVjdFNwcmVhZCBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9vYmplY3RTcHJlYWRcIjtcbmltcG9ydCBfY3NzIGZyb20gXCJAZW1vdGlvbi9jc3NcIjtcbmltcG9ydCBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvb2JqZWN0V2l0aG91dFByb3BlcnRpZXNcIjtcbmltcG9ydCB7IGpzeCBhcyBfX19FbW90aW9uSlNYIH0gZnJvbSBcIkBlbW90aW9uL2NvcmVcIjtcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBncmlkU2l6ZSBhcyBncmlkU2l6ZUZuIH0gZnJvbSAnQGF0bGFza2l0L3RoZW1lL2NvbnN0YW50cyc7XG52YXIgZ3JpZFNpemUgPSBncmlkU2l6ZUZuKCk7XG5leHBvcnQgdmFyIENvbnRhaW5lciA9IGZ1bmN0aW9uIENvbnRhaW5lcihwcm9wcykge1xuICByZXR1cm4gX19fRW1vdGlvbkpTWChcImRpdlwiLCBwcm9wcyk7XG59O1xuZXhwb3J0IHZhciBIZWFkZXJDb250YWluZXIgPSBmdW5jdGlvbiBIZWFkZXJDb250YWluZXIocHJvcHMpIHtcbiAgdmFyIHN0eWxlcyA9IHByb3BzLnN0eWxlcyxcbiAgICAgIHJlc3QgPSBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMocHJvcHMsIFtcInN0eWxlc1wiXSk7XG5cbiAgcmV0dXJuIF9fX0Vtb3Rpb25KU1goXCJkaXZcIiwgX2V4dGVuZHMoe1xuICAgIGNzczpcbiAgICAvKiNfX1BVUkVfXyovXG4gICAgX2Nzcyhfb2JqZWN0U3ByZWFkKHt9LCBzdHlsZXMsIHtcbiAgICAgIHBhZGRpbmdUb3A6IGdyaWRTaXplICogMi41LFxuICAgICAgcGFkZGluZ0JvdHRvbTogZ3JpZFNpemUgKiAyLjVcbiAgICB9KSwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8gXCJcIiA6IFwiLyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWk0dUx5NHVMeTR1THk0dUx5NHVMM055WXk5amIyMXdiMjVsYm5SekwzQnlaWE5sYm5SaGRHbHZibUZzTDFOclpXeGxkRzl1UTI5dWRHRnBibVZ5Vm1sbGR5OXdjbWx0YVhScGRtVnpMbXB6SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVZsTklpd2labWxzWlNJNklpNHVMeTR1THk0dUx5NHVMeTR1TDNOeVl5OWpiMjF3YjI1bGJuUnpMM0J5WlhObGJuUmhkR2x2Ym1Gc0wxTnJaV3hsZEc5dVEyOXVkR0ZwYm1WeVZtbGxkeTl3Y21sdGFYUnBkbVZ6TG1weklpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lhVzF3YjNKMElGSmxZV04wSUdaeWIyMGdKM0psWVdOMEp6dGNibHh1YVcxd2IzSjBJSHNnWjNKcFpGTnBlbVVnWVhNZ1ozSnBaRk5wZW1WR2JpQjlJR1p5YjIwZ0owQmhkR3hoYzJ0cGRDOTBhR1Z0WlM5amIyNXpkR0Z1ZEhNbk8xeHVYRzVqYjI1emRDQm5jbWxrVTJsNlpTQTlJR2R5YVdSVGFYcGxSbTRvS1R0Y2JseHVaWGh3YjNKMElHTnZibk4wSUVOdmJuUmhhVzVsY2lBOUlIQnliM0J6SUQwK0lEeGthWFlnZXk0dUxuQnliM0J6ZlNBdlBqdGNibHh1Wlhod2IzSjBJR052Ym5OMElFaGxZV1JsY2tOdmJuUmhhVzVsY2lBOUlIQnliM0J6SUQwK0lIdGNiaUFnWTI5dWMzUWdleUJ6ZEhsc1pYTXNJQzR1TG5KbGMzUWdmU0E5SUhCeWIzQnpPMXh1SUNCeVpYUjFjbTRnS0Z4dUlDQWdJRHhrYVhaY2JpQWdJQ0FnSUdOemN6MTdlMXh1SUNBZ0lDQWdJQ0F1TGk1emRIbHNaWE1zWEc0Z0lDQWdJQ0FnSUhCaFpHUnBibWRVYjNBNklHZHlhV1JUYVhwbElDb2dNaTQxTEZ4dUlDQWdJQ0FnSUNCd1lXUmthVzVuUW05MGRHOXRPaUJuY21sa1UybDZaU0FxSURJdU5TeGNiaUFnSUNBZ0lIMTlYRzRnSUNBZ0lDQjdMaTR1Y21WemRIMWNiaUFnSUNBdlBseHVJQ0FwTzF4dWZUdGNiaUpkZlE9PSAqL1wiKVxuICB9LCByZXN0KSk7XG59OyJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/SkeletonContainerView/primitives.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/SkeletonItem/index.js": /*!*********************************************************************************************************!*\ !*** ./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/SkeletonItem/index.js ***! \*********************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _emotion_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @emotion/css */ \"./node_modules/@emotion/css/dist/css.browser.esm.js\");\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ \"./node_modules/@babel/runtime/helpers/classCallCheck.js\");\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\");\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ \"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ \"./node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ \"./node_modules/@babel/runtime/helpers/inherits.js\");\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ \"./node_modules/@babel/runtime/helpers/defineProperty.js\");\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _emotion_core__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @emotion/core */ \"./node_modules/@emotion/core/dist/core.browser.esm.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var _theme__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../../theme */ \"./node_modules/@atlaskit/navigation-next/dist/esm/theme/index.js\");\n\n\n\n\n\n\n\n\n\n\n\nvar SkeletonItem =\n/*#__PURE__*/\nfunction (_PureComponent) {\n _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5___default()(SkeletonItem, _PureComponent);\n\n function SkeletonItem() {\n _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default()(this, SkeletonItem);\n\n return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3___default()(this, _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4___default()(SkeletonItem).apply(this, arguments));\n }\n\n _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2___default()(SkeletonItem, [{\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n hasBefore = _this$props.hasBefore,\n styleReducer = _this$props.styles,\n theme = _this$props.theme;\n var mode = theme.mode,\n context = theme.context;\n var defaultStyles = mode.skeletonItem()[context];\n var styles = styleReducer(defaultStyles);\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_7__[\"jsx\"])(\"div\", {\n css:\n /*#__PURE__*/\n Object(_emotion_css__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n '&&': styles.wrapper\n }, false ? undefined : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL1NrZWxldG9uSXRlbS9pbmRleC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFrQlciLCJmaWxlIjoiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvcHJlc2VudGF0aW9uYWwvU2tlbGV0b25JdGVtL2luZGV4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IFB1cmVDb21wb25lbnQgfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB7IHN0eWxlUmVkdWNlck5vT3AsIHdpdGhDb250ZW50VGhlbWUgfSBmcm9tICcuLi8uLi8uLi90aGVtZSc7XG5cbmNsYXNzIFNrZWxldG9uSXRlbSBleHRlbmRzIFB1cmVDb21wb25lbnQge1xuICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xuICAgIGhhc0JlZm9yZTogZmFsc2UsXG4gICAgc3R5bGVzOiBzdHlsZVJlZHVjZXJOb09wLFxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7IGhhc0JlZm9yZSwgc3R5bGVzOiBzdHlsZVJlZHVjZXIsIHRoZW1lIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3QgeyBtb2RlLCBjb250ZXh0IH0gPSB0aGVtZTtcbiAgICBjb25zdCBkZWZhdWx0U3R5bGVzID0gbW9kZS5za2VsZXRvbkl0ZW0oKVtjb250ZXh0XTtcbiAgICBjb25zdCBzdHlsZXMgPSBzdHlsZVJlZHVjZXIoZGVmYXVsdFN0eWxlcyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjc3M9e3sgJyYmJzogc3R5bGVzLndyYXBwZXIgfX0+XG4gICAgICAgIHtoYXNCZWZvcmUgJiYgPGRpdiBjc3M9e3N0eWxlcy5iZWZvcmV9IC8+fVxuICAgICAgICA8ZGl2IGNzcz17c3R5bGVzLmNvbnRlbnR9IC8+XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHdpdGhDb250ZW50VGhlbWUoU2tlbGV0b25JdGVtKTtcbiJdfQ== */\")\n }, hasBefore && Object(_emotion_core__WEBPACK_IMPORTED_MODULE_7__[\"jsx\"])(\"div\", {\n css: styles.before\n }), Object(_emotion_core__WEBPACK_IMPORTED_MODULE_7__[\"jsx\"])(\"div\", {\n css: styles.content\n }));\n }\n }]);\n\n return SkeletonItem;\n}(react__WEBPACK_IMPORTED_MODULE_8__[\"PureComponent\"]);\n\n_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(SkeletonItem, \"defaultProps\", {\n hasBefore: false,\n styles: _theme__WEBPACK_IMPORTED_MODULE_9__[\"styleReducerNoOp\"]\n});\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(_theme__WEBPACK_IMPORTED_MODULE_9__[\"withContentTheme\"])(SkeletonItem));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL1NrZWxldG9uSXRlbS9pbmRleC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AYXRsYXNraXQvbmF2aWdhdGlvbi1uZXh0L2Rpc3QvZXNtL2NvbXBvbmVudHMvcHJlc2VudGF0aW9uYWwvU2tlbGV0b25JdGVtL2luZGV4LmpzPzY0YTciXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IF9jc3MgZnJvbSBcIkBlbW90aW9uL2Nzc1wiO1xuaW1wb3J0IF9jbGFzc0NhbGxDaGVjayBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9jbGFzc0NhbGxDaGVja1wiO1xuaW1wb3J0IF9jcmVhdGVDbGFzcyBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9jcmVhdGVDbGFzc1wiO1xuaW1wb3J0IF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm5cIjtcbmltcG9ydCBfZ2V0UHJvdG90eXBlT2YgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvZ2V0UHJvdG90eXBlT2ZcIjtcbmltcG9ydCBfaW5oZXJpdHMgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvaW5oZXJpdHNcIjtcbmltcG9ydCBfZGVmaW5lUHJvcGVydHkgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvZGVmaW5lUHJvcGVydHlcIjtcbmltcG9ydCB7IGpzeCBhcyBfX19FbW90aW9uSlNYIH0gZnJvbSBcIkBlbW90aW9uL2NvcmVcIjtcbmltcG9ydCBSZWFjdCwgeyBQdXJlQ29tcG9uZW50IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgc3R5bGVSZWR1Y2VyTm9PcCwgd2l0aENvbnRlbnRUaGVtZSB9IGZyb20gJy4uLy4uLy4uL3RoZW1lJztcblxudmFyIFNrZWxldG9uSXRlbSA9XG4vKiNfX1BVUkVfXyovXG5mdW5jdGlvbiAoX1B1cmVDb21wb25lbnQpIHtcbiAgX2luaGVyaXRzKFNrZWxldG9uSXRlbSwgX1B1cmVDb21wb25lbnQpO1xuXG4gIGZ1bmN0aW9uIFNrZWxldG9uSXRlbSgpIHtcbiAgICBfY2xhc3NDYWxsQ2hlY2sodGhpcywgU2tlbGV0b25JdGVtKTtcblxuICAgIHJldHVybiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybih0aGlzLCBfZ2V0UHJvdG90eXBlT2YoU2tlbGV0b25JdGVtKS5hcHBseSh0aGlzLCBhcmd1bWVudHMpKTtcbiAgfVxuXG4gIF9jcmVhdGVDbGFzcyhTa2VsZXRvbkl0ZW0sIFt7XG4gICAga2V5OiBcInJlbmRlclwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiByZW5kZXIoKSB7XG4gICAgICB2YXIgX3RoaXMkcHJvcHMgPSB0aGlzLnByb3BzLFxuICAgICAgICAgIGhhc0JlZm9yZSA9IF90aGlzJHByb3BzLmhhc0JlZm9yZSxcbiAgICAgICAgICBzdHlsZVJlZHVjZXIgPSBfdGhpcyRwcm9wcy5zdHlsZXMsXG4gICAgICAgICAgdGhlbWUgPSBfdGhpcyRwcm9wcy50aGVtZTtcbiAgICAgIHZhciBtb2RlID0gdGhlbWUubW9kZSxcbiAgICAgICAgICBjb250ZXh0ID0gdGhlbWUuY29udGV4dDtcbiAgICAgIHZhciBkZWZhdWx0U3R5bGVzID0gbW9kZS5za2VsZXRvbkl0ZW0oKVtjb250ZXh0XTtcbiAgICAgIHZhciBzdHlsZXMgPSBzdHlsZVJlZHVjZXIoZGVmYXVsdFN0eWxlcyk7XG4gICAgICByZXR1cm4gX19fRW1vdGlvbkpTWChcImRpdlwiLCB7XG4gICAgICAgIGNzczpcbiAgICAgICAgLyojX19QVVJFX18qL1xuICAgICAgICBfY3NzKHtcbiAgICAgICAgICAnJiYnOiBzdHlsZXMud3JhcHBlclxuICAgICAgICB9LCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyBcIlwiIDogXCIvKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJaTR1THk0dUx5NHVMeTR1THk0dUwzTnlZeTlqYjIxd2IyNWxiblJ6TDNCeVpYTmxiblJoZEdsdmJtRnNMMU5yWld4bGRHOXVTWFJsYlM5cGJtUmxlQzVxY3lKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGclFsY2lMQ0ptYVd4bElqb2lMaTR2TGk0dkxpNHZMaTR2TGk0dmMzSmpMMk52YlhCdmJtVnVkSE12Y0hKbGMyVnVkR0YwYVc5dVlXd3ZVMnRsYkdWMGIyNUpkR1Z0TDJsdVpHVjRMbXB6SWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaWFXMXdiM0owSUZKbFlXTjBMQ0I3SUZCMWNtVkRiMjF3YjI1bGJuUWdmU0JtY205dElDZHlaV0ZqZENjN1hHNWNibWx0Y0c5eWRDQjdJSE4wZVd4bFVtVmtkV05sY2s1dlQzQXNJSGRwZEdoRGIyNTBaVzUwVkdobGJXVWdmU0JtY205dElDY3VMaTh1TGk4dUxpOTBhR1Z0WlNjN1hHNWNibU5zWVhOeklGTnJaV3hsZEc5dVNYUmxiU0JsZUhSbGJtUnpJRkIxY21WRGIyMXdiMjVsYm5RZ2UxeHVJQ0J6ZEdGMGFXTWdaR1ZtWVhWc2RGQnliM0J6SUQwZ2UxeHVJQ0FnSUdoaGMwSmxabTl5WlRvZ1ptRnNjMlVzWEc0Z0lDQWdjM1I1YkdWek9pQnpkSGxzWlZKbFpIVmpaWEpPYjA5d0xGeHVJQ0I5TzF4dVhHNGdJSEpsYm1SbGNpZ3BJSHRjYmlBZ0lDQmpiMjV6ZENCN0lHaGhjMEpsWm05eVpTd2djM1I1YkdWek9pQnpkSGxzWlZKbFpIVmpaWElzSUhSb1pXMWxJSDBnUFNCMGFHbHpMbkJ5YjNCek8xeHVYRzRnSUNBZ1kyOXVjM1FnZXlCdGIyUmxMQ0JqYjI1MFpYaDBJSDBnUFNCMGFHVnRaVHRjYmlBZ0lDQmpiMjV6ZENCa1pXWmhkV3gwVTNSNWJHVnpJRDBnYlc5a1pTNXphMlZzWlhSdmJrbDBaVzBvS1Z0amIyNTBaWGgwWFR0Y2JpQWdJQ0JqYjI1emRDQnpkSGxzWlhNZ1BTQnpkSGxzWlZKbFpIVmpaWElvWkdWbVlYVnNkRk4wZVd4bGN5azdYRzVjYmlBZ0lDQnlaWFIxY200Z0tGeHVJQ0FnSUNBZ1BHUnBkaUJqYzNNOWUzc2dKeVltSnpvZ2MzUjViR1Z6TG5keVlYQndaWElnZlgwK1hHNGdJQ0FnSUNBZ0lIdG9ZWE5DWldadmNtVWdKaVlnUEdScGRpQmpjM005ZTNOMGVXeGxjeTVpWldadmNtVjlJQzgrZlZ4dUlDQWdJQ0FnSUNBOFpHbDJJR056Y3oxN2MzUjViR1Z6TG1OdmJuUmxiblI5SUM4K1hHNGdJQ0FnSUNBOEwyUnBkajVjYmlBZ0lDQXBPMXh1SUNCOVhHNTlYRzVjYm1WNGNHOXlkQ0JrWldaaGRXeDBJSGRwZEdoRGIyNTBaVzUwVkdobGJXVW9VMnRsYkdWMGIyNUpkR1Z0S1R0Y2JpSmRmUT09ICovXCIpXG4gICAgICB9LCBoYXNCZWZvcmUgJiYgX19fRW1vdGlvbkpTWChcImRpdlwiLCB7XG4gICAgICAgIGNzczogc3R5bGVzLmJlZm9yZVxuICAgICAgfSksIF9fX0Vtb3Rpb25KU1goXCJkaXZcIiwge1xuICAgICAgICBjc3M6IHN0eWxlcy5jb250ZW50XG4gICAgICB9KSk7XG4gICAgfVxuICB9XSk7XG5cbiAgcmV0dXJuIFNrZWxldG9uSXRlbTtcbn0oUHVyZUNvbXBvbmVudCk7XG5cbl9kZWZpbmVQcm9wZXJ0eShTa2VsZXRvbkl0ZW0sIFwiZGVmYXVsdFByb3BzXCIsIHtcbiAgaGFzQmVmb3JlOiBmYWxzZSxcbiAgc3R5bGVzOiBzdHlsZVJlZHVjZXJOb09wXG59KTtcblxuZXhwb3J0IGRlZmF1bHQgd2l0aENvbnRlbnRUaGVtZShTa2VsZXRvbkl0ZW0pOyJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/SkeletonItem/index.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/SkeletonItem/styles.js": /*!**********************************************************************************************************!*\ !*** ./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/SkeletonItem/styles.js ***! \**********************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/objectSpread */ \"./node_modules/@babel/runtime/helpers/objectSpread.js\");\n/* harmony import */ var _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @atlaskit/theme/colors */ \"./node_modules/@atlaskit/theme/dist/esm/colors.js\");\n/* harmony import */ var _atlaskit_theme_constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @atlaskit/theme/constants */ \"./node_modules/@atlaskit/theme/dist/esm/constants.js\");\n\n\n\nvar gridSize = Object(_atlaskit_theme_constants__WEBPACK_IMPORTED_MODULE_2__[\"gridSize\"])(); // These are the styles which are consistent regardless of theme\n\nvar baseStyles = {\n wrapper: {\n alignItems: 'center',\n display: 'flex',\n height: \"\".concat(gridSize * 5, \"px\"),\n paddingLeft: \"\".concat(gridSize * 1.5, \"px\"),\n paddingRight: \"\".concat(gridSize * 1.5, \"px\"),\n opacity: 0.5\n },\n before: {\n backgroundColor: 'red',\n borderRadius: '50%',\n flexShrink: 0,\n height: \"\".concat(gridSize * 3, \"px\"),\n marginRight: \"\".concat(gridSize * 2, \"px\"),\n width: \"\".concat(gridSize * 3, \"px\")\n },\n content: {\n borderRadius: \"\".concat(gridSize / 2, \"px\"),\n flexGrow: 1,\n height: \"\".concat(gridSize * 2.5, \"px\")\n }\n}; // Light theme\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function (_ref) {\n var product = _ref.product;\n return function () {\n return {\n container: {\n wrapper: baseStyles.wrapper,\n before: _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0___default()({}, baseStyles.before, {\n backgroundColor: _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_1__[\"N40\"]\n }),\n content: _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0___default()({}, baseStyles.content, {\n backgroundColor: _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_1__[\"N40\"]\n })\n },\n product: {\n wrapper: baseStyles.wrapper,\n before: _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0___default()({}, baseStyles.before, {\n backgroundColor: product.background.static\n }),\n content: _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0___default()({}, baseStyles.content, {\n backgroundColor: product.background.static\n })\n }\n };\n };\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL1NrZWxldG9uSXRlbS9zdHlsZXMuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL1NrZWxldG9uSXRlbS9zdHlsZXMuanM/ZGE0YyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgX29iamVjdFNwcmVhZCBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9vYmplY3RTcHJlYWRcIjtcbmltcG9ydCB7IE40MCB9IGZyb20gJ0BhdGxhc2tpdC90aGVtZS9jb2xvcnMnO1xuaW1wb3J0IHsgZ3JpZFNpemUgYXMgZ3JpZFNpemVGbiB9IGZyb20gJ0BhdGxhc2tpdC90aGVtZS9jb25zdGFudHMnO1xudmFyIGdyaWRTaXplID0gZ3JpZFNpemVGbigpOyAvLyBUaGVzZSBhcmUgdGhlIHN0eWxlcyB3aGljaCBhcmUgY29uc2lzdGVudCByZWdhcmRsZXNzIG9mIHRoZW1lXG5cbnZhciBiYXNlU3R5bGVzID0ge1xuICB3cmFwcGVyOiB7XG4gICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgIGhlaWdodDogXCJcIi5jb25jYXQoZ3JpZFNpemUgKiA1LCBcInB4XCIpLFxuICAgIHBhZGRpbmdMZWZ0OiBcIlwiLmNvbmNhdChncmlkU2l6ZSAqIDEuNSwgXCJweFwiKSxcbiAgICBwYWRkaW5nUmlnaHQ6IFwiXCIuY29uY2F0KGdyaWRTaXplICogMS41LCBcInB4XCIpLFxuICAgIG9wYWNpdHk6IDAuNVxuICB9LFxuICBiZWZvcmU6IHtcbiAgICBiYWNrZ3JvdW5kQ29sb3I6ICdyZWQnLFxuICAgIGJvcmRlclJhZGl1czogJzUwJScsXG4gICAgZmxleFNocmluazogMCxcbiAgICBoZWlnaHQ6IFwiXCIuY29uY2F0KGdyaWRTaXplICogMywgXCJweFwiKSxcbiAgICBtYXJnaW5SaWdodDogXCJcIi5jb25jYXQoZ3JpZFNpemUgKiAyLCBcInB4XCIpLFxuICAgIHdpZHRoOiBcIlwiLmNvbmNhdChncmlkU2l6ZSAqIDMsIFwicHhcIilcbiAgfSxcbiAgY29udGVudDoge1xuICAgIGJvcmRlclJhZGl1czogXCJcIi5jb25jYXQoZ3JpZFNpemUgLyAyLCBcInB4XCIpLFxuICAgIGZsZXhHcm93OiAxLFxuICAgIGhlaWdodDogXCJcIi5jb25jYXQoZ3JpZFNpemUgKiAyLjUsIFwicHhcIilcbiAgfVxufTsgLy8gTGlnaHQgdGhlbWVcblxuZXhwb3J0IGRlZmF1bHQgKGZ1bmN0aW9uIChfcmVmKSB7XG4gIHZhciBwcm9kdWN0ID0gX3JlZi5wcm9kdWN0O1xuICByZXR1cm4gZnVuY3Rpb24gKCkge1xuICAgIHJldHVybiB7XG4gICAgICBjb250YWluZXI6IHtcbiAgICAgICAgd3JhcHBlcjogYmFzZVN0eWxlcy53cmFwcGVyLFxuICAgICAgICBiZWZvcmU6IF9vYmplY3RTcHJlYWQoe30sIGJhc2VTdHlsZXMuYmVmb3JlLCB7XG4gICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBONDBcbiAgICAgICAgfSksXG4gICAgICAgIGNvbnRlbnQ6IF9vYmplY3RTcHJlYWQoe30sIGJhc2VTdHlsZXMuY29udGVudCwge1xuICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogTjQwXG4gICAgICAgIH0pXG4gICAgICB9LFxuICAgICAgcHJvZHVjdDoge1xuICAgICAgICB3cmFwcGVyOiBiYXNlU3R5bGVzLndyYXBwZXIsXG4gICAgICAgIGJlZm9yZTogX29iamVjdFNwcmVhZCh7fSwgYmFzZVN0eWxlcy5iZWZvcmUsIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IHByb2R1Y3QuYmFja2dyb3VuZC5zdGF0aWNcbiAgICAgICAgfSksXG4gICAgICAgIGNvbnRlbnQ6IF9vYmplY3RTcHJlYWQoe30sIGJhc2VTdHlsZXMuY29udGVudCwge1xuICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogcHJvZHVjdC5iYWNrZ3JvdW5kLnN0YXRpY1xuICAgICAgICB9KVxuICAgICAgfVxuICAgIH07XG4gIH07XG59KTsiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/SkeletonItem/styles.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/Switcher/Option.js": /*!******************************************************************************************************!*\ !*** ./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/Switcher/Option.js ***! \******************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return Option; });\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ \"./node_modules/@babel/runtime/helpers/classCallCheck.js\");\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\");\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ \"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ \"./node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ \"./node_modules/@babel/runtime/helpers/inherits.js\");\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ \"./node_modules/@babel/runtime/helpers/defineProperty.js\");\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ \"./node_modules/@babel/runtime/helpers/objectWithoutProperties.js\");\n/* harmony import */ var _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _emotion_css__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @emotion/css */ \"./node_modules/@emotion/css/dist/css.browser.esm.js\");\n/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var _emotion_core__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @emotion/core */ \"./node_modules/@emotion/core/dist/core.browser.esm.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_10__);\n/* harmony import */ var _atlaskit_avatar__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @atlaskit/avatar */ \"./node_modules/@atlaskit/avatar/dist/esm/index.js\");\n/* harmony import */ var _atlaskit_select__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @atlaskit/select */ \"./node_modules/@atlaskit/select/dist/esm/index.js\");\n/* harmony import */ var _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @atlaskit/theme/colors */ \"./node_modules/@atlaskit/theme/dist/esm/colors.js\");\n/* harmony import */ var _atlaskit_theme_constants__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! @atlaskit/theme/constants */ \"./node_modules/@atlaskit/theme/dist/esm/constants.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar gridSize = Object(_atlaskit_theme_constants__WEBPACK_IMPORTED_MODULE_14__[\"gridSize\"])();\n\nvar _ref = false ? undefined : {\n name: \"oeeumh\",\n styles: \"display:flex;flex-direction:column;flex-grow:1;overflow-x:hidden;\",\n map: \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL1N3aXRjaGVyL09wdGlvbi5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFXSSIsImZpbGUiOiIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9wcmVzZW50YXRpb25hbC9Td2l0Y2hlci9PcHRpb24uanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgUHVyZUNvbXBvbmVudCB9IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IEF2YXRhciBmcm9tICdAYXRsYXNraXQvYXZhdGFyJztcbmltcG9ydCB7IGNvbXBvbmVudHMgfSBmcm9tICdAYXRsYXNraXQvc2VsZWN0JztcbmltcG9ydCB7IE4yMDAgfSBmcm9tICdAYXRsYXNraXQvdGhlbWUvY29sb3JzJztcbmltcG9ydCB7IGZvbnRTaXplLCBncmlkU2l6ZSBhcyBncmlkU2l6ZUZuIH0gZnJvbSAnQGF0bGFza2l0L3RoZW1lL2NvbnN0YW50cyc7XG5cbmNvbnN0IGdyaWRTaXplID0gZ3JpZFNpemVGbigpO1xuXG5jb25zdCBDb250ZW50V3JhcHBlciA9IHByb3BzID0+IChcbiAgPGRpdlxuICAgIGNzcz17e1xuICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsXG4gICAgICBmbGV4R3JvdzogMSxcbiAgICAgIG92ZXJmbG93WDogJ2hpZGRlbicsXG4gICAgfX1cbiAgICB7Li4ucHJvcHN9XG4gIC8+XG4pO1xuY29uc3QgVGV4dFdyYXBwZXIgPSBwcm9wcyA9PiAoXG4gIDxkaXZcbiAgICBjc3M9e3tcbiAgICAgIGZsZXg6ICcxIDEgYXV0bycsXG4gICAgICBvdmVyZmxvdzogJ2hpZGRlbicsXG4gICAgICB0ZXh0T3ZlcmZsb3c6ICdlbGxpcHNpcycsXG4gICAgICB3aGl0ZVNwYWNlOiAnbm93cmFwJyxcbiAgICAgIGxpbmVIZWlnaHQ6IDE2IC8gZm9udFNpemUoKSxcbiAgICB9fVxuICAgIHsuLi5wcm9wc31cbiAgLz5cbik7XG5jb25zdCBTdWJUZXh0V3JhcHBlciA9IHByb3BzID0+IChcbiAgPGRpdlxuICAgIGNzcz17e1xuICAgICAgY29sb3I6IE4yMDAsXG4gICAgICBmbGV4OiAnMSAxIGF1dG8nLFxuICAgICAgZm9udFNpemU6IDEyLFxuICAgICAgbGluZUhlaWdodDogMTQgLyAxMixcbiAgICAgIG92ZXJmbG93OiAnaGlkZGVuJyxcbiAgICAgIHRleHRPdmVyZmxvdzogJ2VsbGlwc2lzJyxcbiAgICAgIHdoaXRlU3BhY2U6ICdub3dyYXAnLFxuICAgIH19XG4gICAgey4uLnByb3BzfVxuICAvPlxuKTtcbmNvbnN0IEVsZW1lbnRXcmFwcGVyID0gKHsgaXMsIC4uLnByb3BzIH0pID0+IHtcbiAgY29uc3QgZGlyZWN0aW9uID0geyBiZWZvcmU6ICdtYXJnaW5SaWdodCcsIGFmdGVyOiAnbWFyZ2luTGVmdCcgfTtcbiAgY29uc3QgbWFyZ2luID0gZGlyZWN0aW9uW2lzXTtcblxuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIGNzcz17e1xuICAgICAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICBmbGV4U2hyaW5rOiAwLFxuICAgICAgICBbbWFyZ2luXTogZ3JpZFNpemUsXG4gICAgICB9fVxuICAgICAgey4uLnByb3BzfVxuICAgIC8+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBPcHRpb24gZXh0ZW5kcyBQdXJlQ29tcG9uZW50IHtcbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHtcbiAgICAgIGlubmVyUHJvcHMsXG4gICAgICBpbm5lclJlZixcbiAgICAgIGRhdGE6IHsgYXZhdGFyLCBzdWJUZXh0LCB0ZXh0IH0sXG4gICAgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgcmVmPXtpbm5lclJlZn0gey4uLmlubmVyUHJvcHN9PlxuICAgICAgICA8Y29tcG9uZW50cy5PcHRpb24gey4uLnRoaXMucHJvcHN9PlxuICAgICAgICAgIHshIWF2YXRhciAmJiAoXG4gICAgICAgICAgICA8RWxlbWVudFdyYXBwZXIgaXM9XCJiZWZvcmVcIj5cbiAgICAgICAgICAgICAgPEF2YXRhclxuICAgICAgICAgICAgICAgIGJvcmRlckNvbG9yPVwidHJhbnNwYXJlbnRcIlxuICAgICAgICAgICAgICAgIHNyYz17YXZhdGFyfVxuICAgICAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJzcXVhcmVcIlxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9FbGVtZW50V3JhcHBlcj5cbiAgICAgICAgICApfVxuICAgICAgICAgIDxDb250ZW50V3JhcHBlcj5cbiAgICAgICAgICAgIDxUZXh0V3JhcHBlcj57dGV4dH08L1RleHRXcmFwcGVyPlxuICAgICAgICAgICAgeyEhc3ViVGV4dCAmJiA8U3ViVGV4dFdyYXBwZXI+e3N1YlRleHR9PC9TdWJUZXh0V3JhcHBlcj59XG4gICAgICAgICAgPC9Db250ZW50V3JhcHBlcj5cbiAgICAgICAgPC9jb21wb25lbnRzLk9wdGlvbj5cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cbn1cbiJdfQ== */\"\n};\n\nvar ContentWrapper = function ContentWrapper(props) {\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_9__[\"jsx\"])(\"div\", _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_8___default()({\n css: _ref\n }, props));\n};\n\nvar TextWrapper = function TextWrapper(props) {\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_9__[\"jsx\"])(\"div\", _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_8___default()({\n css:\n /*#__PURE__*/\n Object(_emotion_css__WEBPACK_IMPORTED_MODULE_7__[\"default\"])({\n flex: '1 1 auto',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n lineHeight: 16 / Object(_atlaskit_theme_constants__WEBPACK_IMPORTED_MODULE_14__[\"fontSize\"])()\n }, false ? undefined : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL1N3aXRjaGVyL09wdGlvbi5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFzQkkiLCJmaWxlIjoiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvcHJlc2VudGF0aW9uYWwvU3dpdGNoZXIvT3B0aW9uLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IFB1cmVDb21wb25lbnQgfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCBBdmF0YXIgZnJvbSAnQGF0bGFza2l0L2F2YXRhcic7XG5pbXBvcnQgeyBjb21wb25lbnRzIH0gZnJvbSAnQGF0bGFza2l0L3NlbGVjdCc7XG5pbXBvcnQgeyBOMjAwIH0gZnJvbSAnQGF0bGFza2l0L3RoZW1lL2NvbG9ycyc7XG5pbXBvcnQgeyBmb250U2l6ZSwgZ3JpZFNpemUgYXMgZ3JpZFNpemVGbiB9IGZyb20gJ0BhdGxhc2tpdC90aGVtZS9jb25zdGFudHMnO1xuXG5jb25zdCBncmlkU2l6ZSA9IGdyaWRTaXplRm4oKTtcblxuY29uc3QgQ29udGVudFdyYXBwZXIgPSBwcm9wcyA9PiAoXG4gIDxkaXZcbiAgICBjc3M9e3tcbiAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLFxuICAgICAgZmxleEdyb3c6IDEsXG4gICAgICBvdmVyZmxvd1g6ICdoaWRkZW4nLFxuICAgIH19XG4gICAgey4uLnByb3BzfVxuICAvPlxuKTtcbmNvbnN0IFRleHRXcmFwcGVyID0gcHJvcHMgPT4gKFxuICA8ZGl2XG4gICAgY3NzPXt7XG4gICAgICBmbGV4OiAnMSAxIGF1dG8nLFxuICAgICAgb3ZlcmZsb3c6ICdoaWRkZW4nLFxuICAgICAgdGV4dE92ZXJmbG93OiAnZWxsaXBzaXMnLFxuICAgICAgd2hpdGVTcGFjZTogJ25vd3JhcCcsXG4gICAgICBsaW5lSGVpZ2h0OiAxNiAvIGZvbnRTaXplKCksXG4gICAgfX1cbiAgICB7Li4ucHJvcHN9XG4gIC8+XG4pO1xuY29uc3QgU3ViVGV4dFdyYXBwZXIgPSBwcm9wcyA9PiAoXG4gIDxkaXZcbiAgICBjc3M9e3tcbiAgICAgIGNvbG9yOiBOMjAwLFxuICAgICAgZmxleDogJzEgMSBhdXRvJyxcbiAgICAgIGZvbnRTaXplOiAxMixcbiAgICAgIGxpbmVIZWlnaHQ6IDE0IC8gMTIsXG4gICAgICBvdmVyZmxvdzogJ2hpZGRlbicsXG4gICAgICB0ZXh0T3ZlcmZsb3c6ICdlbGxpcHNpcycsXG4gICAgICB3aGl0ZVNwYWNlOiAnbm93cmFwJyxcbiAgICB9fVxuICAgIHsuLi5wcm9wc31cbiAgLz5cbik7XG5jb25zdCBFbGVtZW50V3JhcHBlciA9ICh7IGlzLCAuLi5wcm9wcyB9KSA9PiB7XG4gIGNvbnN0IGRpcmVjdGlvbiA9IHsgYmVmb3JlOiAnbWFyZ2luUmlnaHQnLCBhZnRlcjogJ21hcmdpbkxlZnQnIH07XG4gIGNvbnN0IG1hcmdpbiA9IGRpcmVjdGlvbltpc107XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjc3M9e3tcbiAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgZmxleFNocmluazogMCxcbiAgICAgICAgW21hcmdpbl06IGdyaWRTaXplLFxuICAgICAgfX1cbiAgICAgIHsuLi5wcm9wc31cbiAgICAvPlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgT3B0aW9uIGV4dGVuZHMgUHVyZUNvbXBvbmVudCB7XG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICBpbm5lclByb3BzLFxuICAgICAgaW5uZXJSZWYsXG4gICAgICBkYXRhOiB7IGF2YXRhciwgc3ViVGV4dCwgdGV4dCB9LFxuICAgIH0gPSB0aGlzLnByb3BzO1xuICAgIHJldHVybiAoXG4gICAgICA8ZGl2IHJlZj17aW5uZXJSZWZ9IHsuLi5pbm5lclByb3BzfT5cbiAgICAgICAgPGNvbXBvbmVudHMuT3B0aW9uIHsuLi50aGlzLnByb3BzfT5cbiAgICAgICAgICB7ISFhdmF0YXIgJiYgKFxuICAgICAgICAgICAgPEVsZW1lbnRXcmFwcGVyIGlzPVwiYmVmb3JlXCI+XG4gICAgICAgICAgICAgIDxBdmF0YXJcbiAgICAgICAgICAgICAgICBib3JkZXJDb2xvcj1cInRyYW5zcGFyZW50XCJcbiAgICAgICAgICAgICAgICBzcmM9e2F2YXRhcn1cbiAgICAgICAgICAgICAgICBhcHBlYXJhbmNlPVwic3F1YXJlXCJcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvRWxlbWVudFdyYXBwZXI+XG4gICAgICAgICAgKX1cbiAgICAgICAgICA8Q29udGVudFdyYXBwZXI+XG4gICAgICAgICAgICA8VGV4dFdyYXBwZXI+e3RleHR9PC9UZXh0V3JhcHBlcj5cbiAgICAgICAgICAgIHshIXN1YlRleHQgJiYgPFN1YlRleHRXcmFwcGVyPntzdWJUZXh0fTwvU3ViVGV4dFdyYXBwZXI+fVxuICAgICAgICAgIDwvQ29udGVudFdyYXBwZXI+XG4gICAgICAgIDwvY29tcG9uZW50cy5PcHRpb24+XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9XG59XG4iXX0= */\")\n }, props));\n};\n\nvar SubTextWrapper = function SubTextWrapper(props) {\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_9__[\"jsx\"])(\"div\", _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_8___default()({\n css:\n /*#__PURE__*/\n Object(_emotion_css__WEBPACK_IMPORTED_MODULE_7__[\"default\"])({\n color: _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_13__[\"N200\"],\n flex: '1 1 auto',\n fontSize: 12,\n lineHeight: 14 / 12,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap'\n }, false ? undefined : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL1N3aXRjaGVyL09wdGlvbi5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFrQ0kiLCJmaWxlIjoiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvcHJlc2VudGF0aW9uYWwvU3dpdGNoZXIvT3B0aW9uLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IFB1cmVDb21wb25lbnQgfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCBBdmF0YXIgZnJvbSAnQGF0bGFza2l0L2F2YXRhcic7XG5pbXBvcnQgeyBjb21wb25lbnRzIH0gZnJvbSAnQGF0bGFza2l0L3NlbGVjdCc7XG5pbXBvcnQgeyBOMjAwIH0gZnJvbSAnQGF0bGFza2l0L3RoZW1lL2NvbG9ycyc7XG5pbXBvcnQgeyBmb250U2l6ZSwgZ3JpZFNpemUgYXMgZ3JpZFNpemVGbiB9IGZyb20gJ0BhdGxhc2tpdC90aGVtZS9jb25zdGFudHMnO1xuXG5jb25zdCBncmlkU2l6ZSA9IGdyaWRTaXplRm4oKTtcblxuY29uc3QgQ29udGVudFdyYXBwZXIgPSBwcm9wcyA9PiAoXG4gIDxkaXZcbiAgICBjc3M9e3tcbiAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLFxuICAgICAgZmxleEdyb3c6IDEsXG4gICAgICBvdmVyZmxvd1g6ICdoaWRkZW4nLFxuICAgIH19XG4gICAgey4uLnByb3BzfVxuICAvPlxuKTtcbmNvbnN0IFRleHRXcmFwcGVyID0gcHJvcHMgPT4gKFxuICA8ZGl2XG4gICAgY3NzPXt7XG4gICAgICBmbGV4OiAnMSAxIGF1dG8nLFxuICAgICAgb3ZlcmZsb3c6ICdoaWRkZW4nLFxuICAgICAgdGV4dE92ZXJmbG93OiAnZWxsaXBzaXMnLFxuICAgICAgd2hpdGVTcGFjZTogJ25vd3JhcCcsXG4gICAgICBsaW5lSGVpZ2h0OiAxNiAvIGZvbnRTaXplKCksXG4gICAgfX1cbiAgICB7Li4ucHJvcHN9XG4gIC8+XG4pO1xuY29uc3QgU3ViVGV4dFdyYXBwZXIgPSBwcm9wcyA9PiAoXG4gIDxkaXZcbiAgICBjc3M9e3tcbiAgICAgIGNvbG9yOiBOMjAwLFxuICAgICAgZmxleDogJzEgMSBhdXRvJyxcbiAgICAgIGZvbnRTaXplOiAxMixcbiAgICAgIGxpbmVIZWlnaHQ6IDE0IC8gMTIsXG4gICAgICBvdmVyZmxvdzogJ2hpZGRlbicsXG4gICAgICB0ZXh0T3ZlcmZsb3c6ICdlbGxpcHNpcycsXG4gICAgICB3aGl0ZVNwYWNlOiAnbm93cmFwJyxcbiAgICB9fVxuICAgIHsuLi5wcm9wc31cbiAgLz5cbik7XG5jb25zdCBFbGVtZW50V3JhcHBlciA9ICh7IGlzLCAuLi5wcm9wcyB9KSA9PiB7XG4gIGNvbnN0IGRpcmVjdGlvbiA9IHsgYmVmb3JlOiAnbWFyZ2luUmlnaHQnLCBhZnRlcjogJ21hcmdpbkxlZnQnIH07XG4gIGNvbnN0IG1hcmdpbiA9IGRpcmVjdGlvbltpc107XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjc3M9e3tcbiAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgZmxleFNocmluazogMCxcbiAgICAgICAgW21hcmdpbl06IGdyaWRTaXplLFxuICAgICAgfX1cbiAgICAgIHsuLi5wcm9wc31cbiAgICAvPlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgT3B0aW9uIGV4dGVuZHMgUHVyZUNvbXBvbmVudCB7XG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICBpbm5lclByb3BzLFxuICAgICAgaW5uZXJSZWYsXG4gICAgICBkYXRhOiB7IGF2YXRhciwgc3ViVGV4dCwgdGV4dCB9LFxuICAgIH0gPSB0aGlzLnByb3BzO1xuICAgIHJldHVybiAoXG4gICAgICA8ZGl2IHJlZj17aW5uZXJSZWZ9IHsuLi5pbm5lclByb3BzfT5cbiAgICAgICAgPGNvbXBvbmVudHMuT3B0aW9uIHsuLi50aGlzLnByb3BzfT5cbiAgICAgICAgICB7ISFhdmF0YXIgJiYgKFxuICAgICAgICAgICAgPEVsZW1lbnRXcmFwcGVyIGlzPVwiYmVmb3JlXCI+XG4gICAgICAgICAgICAgIDxBdmF0YXJcbiAgICAgICAgICAgICAgICBib3JkZXJDb2xvcj1cInRyYW5zcGFyZW50XCJcbiAgICAgICAgICAgICAgICBzcmM9e2F2YXRhcn1cbiAgICAgICAgICAgICAgICBhcHBlYXJhbmNlPVwic3F1YXJlXCJcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvRWxlbWVudFdyYXBwZXI+XG4gICAgICAgICAgKX1cbiAgICAgICAgICA8Q29udGVudFdyYXBwZXI+XG4gICAgICAgICAgICA8VGV4dFdyYXBwZXI+e3RleHR9PC9UZXh0V3JhcHBlcj5cbiAgICAgICAgICAgIHshIXN1YlRleHQgJiYgPFN1YlRleHRXcmFwcGVyPntzdWJUZXh0fTwvU3ViVGV4dFdyYXBwZXI+fVxuICAgICAgICAgIDwvQ29udGVudFdyYXBwZXI+XG4gICAgICAgIDwvY29tcG9uZW50cy5PcHRpb24+XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9XG59XG4iXX0= */\")\n }, props));\n};\n\nvar ElementWrapper = function ElementWrapper(_ref2) {\n var is = _ref2.is,\n props = _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_6___default()(_ref2, [\"is\"]);\n\n var direction = {\n before: 'marginRight',\n after: 'marginLeft'\n };\n var margin = direction[is];\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_9__[\"jsx\"])(\"div\", _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_8___default()({\n css:\n /*#__PURE__*/\n Object(_emotion_css__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_5___default()({\n alignItems: 'center',\n display: 'flex',\n flexShrink: 0\n }, margin, gridSize), false ? undefined : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL1N3aXRjaGVyL09wdGlvbi5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFvRE0iLCJmaWxlIjoiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvcHJlc2VudGF0aW9uYWwvU3dpdGNoZXIvT3B0aW9uLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IFB1cmVDb21wb25lbnQgfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCBBdmF0YXIgZnJvbSAnQGF0bGFza2l0L2F2YXRhcic7XG5pbXBvcnQgeyBjb21wb25lbnRzIH0gZnJvbSAnQGF0bGFza2l0L3NlbGVjdCc7XG5pbXBvcnQgeyBOMjAwIH0gZnJvbSAnQGF0bGFza2l0L3RoZW1lL2NvbG9ycyc7XG5pbXBvcnQgeyBmb250U2l6ZSwgZ3JpZFNpemUgYXMgZ3JpZFNpemVGbiB9IGZyb20gJ0BhdGxhc2tpdC90aGVtZS9jb25zdGFudHMnO1xuXG5jb25zdCBncmlkU2l6ZSA9IGdyaWRTaXplRm4oKTtcblxuY29uc3QgQ29udGVudFdyYXBwZXIgPSBwcm9wcyA9PiAoXG4gIDxkaXZcbiAgICBjc3M9e3tcbiAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLFxuICAgICAgZmxleEdyb3c6IDEsXG4gICAgICBvdmVyZmxvd1g6ICdoaWRkZW4nLFxuICAgIH19XG4gICAgey4uLnByb3BzfVxuICAvPlxuKTtcbmNvbnN0IFRleHRXcmFwcGVyID0gcHJvcHMgPT4gKFxuICA8ZGl2XG4gICAgY3NzPXt7XG4gICAgICBmbGV4OiAnMSAxIGF1dG8nLFxuICAgICAgb3ZlcmZsb3c6ICdoaWRkZW4nLFxuICAgICAgdGV4dE92ZXJmbG93OiAnZWxsaXBzaXMnLFxuICAgICAgd2hpdGVTcGFjZTogJ25vd3JhcCcsXG4gICAgICBsaW5lSGVpZ2h0OiAxNiAvIGZvbnRTaXplKCksXG4gICAgfX1cbiAgICB7Li4ucHJvcHN9XG4gIC8+XG4pO1xuY29uc3QgU3ViVGV4dFdyYXBwZXIgPSBwcm9wcyA9PiAoXG4gIDxkaXZcbiAgICBjc3M9e3tcbiAgICAgIGNvbG9yOiBOMjAwLFxuICAgICAgZmxleDogJzEgMSBhdXRvJyxcbiAgICAgIGZvbnRTaXplOiAxMixcbiAgICAgIGxpbmVIZWlnaHQ6IDE0IC8gMTIsXG4gICAgICBvdmVyZmxvdzogJ2hpZGRlbicsXG4gICAgICB0ZXh0T3ZlcmZsb3c6ICdlbGxpcHNpcycsXG4gICAgICB3aGl0ZVNwYWNlOiAnbm93cmFwJyxcbiAgICB9fVxuICAgIHsuLi5wcm9wc31cbiAgLz5cbik7XG5jb25zdCBFbGVtZW50V3JhcHBlciA9ICh7IGlzLCAuLi5wcm9wcyB9KSA9PiB7XG4gIGNvbnN0IGRpcmVjdGlvbiA9IHsgYmVmb3JlOiAnbWFyZ2luUmlnaHQnLCBhZnRlcjogJ21hcmdpbkxlZnQnIH07XG4gIGNvbnN0IG1hcmdpbiA9IGRpcmVjdGlvbltpc107XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjc3M9e3tcbiAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgZmxleFNocmluazogMCxcbiAgICAgICAgW21hcmdpbl06IGdyaWRTaXplLFxuICAgICAgfX1cbiAgICAgIHsuLi5wcm9wc31cbiAgICAvPlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgT3B0aW9uIGV4dGVuZHMgUHVyZUNvbXBvbmVudCB7XG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICBpbm5lclByb3BzLFxuICAgICAgaW5uZXJSZWYsXG4gICAgICBkYXRhOiB7IGF2YXRhciwgc3ViVGV4dCwgdGV4dCB9LFxuICAgIH0gPSB0aGlzLnByb3BzO1xuICAgIHJldHVybiAoXG4gICAgICA8ZGl2IHJlZj17aW5uZXJSZWZ9IHsuLi5pbm5lclByb3BzfT5cbiAgICAgICAgPGNvbXBvbmVudHMuT3B0aW9uIHsuLi50aGlzLnByb3BzfT5cbiAgICAgICAgICB7ISFhdmF0YXIgJiYgKFxuICAgICAgICAgICAgPEVsZW1lbnRXcmFwcGVyIGlzPVwiYmVmb3JlXCI+XG4gICAgICAgICAgICAgIDxBdmF0YXJcbiAgICAgICAgICAgICAgICBib3JkZXJDb2xvcj1cInRyYW5zcGFyZW50XCJcbiAgICAgICAgICAgICAgICBzcmM9e2F2YXRhcn1cbiAgICAgICAgICAgICAgICBhcHBlYXJhbmNlPVwic3F1YXJlXCJcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvRWxlbWVudFdyYXBwZXI+XG4gICAgICAgICAgKX1cbiAgICAgICAgICA8Q29udGVudFdyYXBwZXI+XG4gICAgICAgICAgICA8VGV4dFdyYXBwZXI+e3RleHR9PC9UZXh0V3JhcHBlcj5cbiAgICAgICAgICAgIHshIXN1YlRleHQgJiYgPFN1YlRleHRXcmFwcGVyPntzdWJUZXh0fTwvU3ViVGV4dFdyYXBwZXI+fVxuICAgICAgICAgIDwvQ29udGVudFdyYXBwZXI+XG4gICAgICAgIDwvY29tcG9uZW50cy5PcHRpb24+XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9XG59XG4iXX0= */\")\n }, props));\n};\n\nvar Option =\n/*#__PURE__*/\nfunction (_PureComponent) {\n _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4___default()(Option, _PureComponent);\n\n function Option() {\n _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default()(this, Option);\n\n return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2___default()(this, _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3___default()(Option).apply(this, arguments));\n }\n\n _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1___default()(Option, [{\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n innerProps = _this$props.innerProps,\n innerRef = _this$props.innerRef,\n _this$props$data = _this$props.data,\n avatar = _this$props$data.avatar,\n subText = _this$props$data.subText,\n text = _this$props$data.text;\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_9__[\"jsx\"])(\"div\", _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_8___default()({\n ref: innerRef\n }, innerProps), Object(_emotion_core__WEBPACK_IMPORTED_MODULE_9__[\"jsx\"])(_atlaskit_select__WEBPACK_IMPORTED_MODULE_12__[\"components\"].Option, this.props, !!avatar && Object(_emotion_core__WEBPACK_IMPORTED_MODULE_9__[\"jsx\"])(ElementWrapper, {\n is: \"before\"\n }, Object(_emotion_core__WEBPACK_IMPORTED_MODULE_9__[\"jsx\"])(_atlaskit_avatar__WEBPACK_IMPORTED_MODULE_11__[\"default\"], {\n borderColor: \"transparent\",\n src: avatar,\n appearance: \"square\"\n })), Object(_emotion_core__WEBPACK_IMPORTED_MODULE_9__[\"jsx\"])(ContentWrapper, null, Object(_emotion_core__WEBPACK_IMPORTED_MODULE_9__[\"jsx\"])(TextWrapper, null, text), !!subText && Object(_emotion_core__WEBPACK_IMPORTED_MODULE_9__[\"jsx\"])(SubTextWrapper, null, subText))));\n }\n }]);\n\n return Option;\n}(react__WEBPACK_IMPORTED_MODULE_10__[\"PureComponent\"]);\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL1N3aXRjaGVyL09wdGlvbi5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AYXRsYXNraXQvbmF2aWdhdGlvbi1uZXh0L2Rpc3QvZXNtL2NvbXBvbmVudHMvcHJlc2VudGF0aW9uYWwvU3dpdGNoZXIvT3B0aW9uLmpzP2RhNDciXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IF9jbGFzc0NhbGxDaGVjayBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9jbGFzc0NhbGxDaGVja1wiO1xuaW1wb3J0IF9jcmVhdGVDbGFzcyBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9jcmVhdGVDbGFzc1wiO1xuaW1wb3J0IF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm5cIjtcbmltcG9ydCBfZ2V0UHJvdG90eXBlT2YgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvZ2V0UHJvdG90eXBlT2ZcIjtcbmltcG9ydCBfaW5oZXJpdHMgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvaW5oZXJpdHNcIjtcbmltcG9ydCBfZGVmaW5lUHJvcGVydHkgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvZGVmaW5lUHJvcGVydHlcIjtcbmltcG9ydCBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvb2JqZWN0V2l0aG91dFByb3BlcnRpZXNcIjtcbmltcG9ydCBfY3NzIGZyb20gXCJAZW1vdGlvbi9jc3NcIjtcbmltcG9ydCBfZXh0ZW5kcyBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9leHRlbmRzXCI7XG5pbXBvcnQgeyBqc3ggYXMgX19fRW1vdGlvbkpTWCB9IGZyb20gXCJAZW1vdGlvbi9jb3JlXCI7XG5pbXBvcnQgUmVhY3QsIHsgUHVyZUNvbXBvbmVudCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBBdmF0YXIgZnJvbSAnQGF0bGFza2l0L2F2YXRhcic7XG5pbXBvcnQgeyBjb21wb25lbnRzIH0gZnJvbSAnQGF0bGFza2l0L3NlbGVjdCc7XG5pbXBvcnQgeyBOMjAwIH0gZnJvbSAnQGF0bGFza2l0L3RoZW1lL2NvbG9ycyc7XG5pbXBvcnQgeyBmb250U2l6ZSwgZ3JpZFNpemUgYXMgZ3JpZFNpemVGbiB9IGZyb20gJ0BhdGxhc2tpdC90aGVtZS9jb25zdGFudHMnO1xudmFyIGdyaWRTaXplID0gZ3JpZFNpemVGbigpO1xuXG52YXIgX3JlZiA9IHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHtcbiAgbmFtZTogXCJvZWV1bWhcIixcbiAgc3R5bGVzOiBcImRpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleC1ncm93OjE7b3ZlcmZsb3cteDpoaWRkZW47XCJcbn0gOiB7XG4gIG5hbWU6IFwib2VldW1oXCIsXG4gIHN0eWxlczogXCJkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXgtZ3JvdzoxO292ZXJmbG93LXg6aGlkZGVuO1wiLFxuICBtYXA6IFwiLyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWk0dUx5NHVMeTR1THk0dUx5NHVMM055WXk5amIyMXdiMjVsYm5SekwzQnlaWE5sYm5SaGRHbHZibUZzTDFOM2FYUmphR1Z5TDA5d2RHbHZiaTVxY3lKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGWFNTSXNJbVpwYkdVaU9pSXVMaTh1TGk4dUxpOHVMaTh1TGk5emNtTXZZMjl0Y0c5dVpXNTBjeTl3Y21WelpXNTBZWFJwYjI1aGJDOVRkMmwwWTJobGNpOVBjSFJwYjI0dWFuTWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUpwYlhCdmNuUWdVbVZoWTNRc0lIc2dVSFZ5WlVOdmJYQnZibVZ1ZENCOUlHWnliMjBnSjNKbFlXTjBKenRjYmx4dWFXMXdiM0owSUVGMllYUmhjaUJtY205dElDZEFZWFJzWVhOcmFYUXZZWFpoZEdGeUp6dGNibWx0Y0c5eWRDQjdJR052YlhCdmJtVnVkSE1nZlNCbWNtOXRJQ2RBWVhSc1lYTnJhWFF2YzJWc1pXTjBKenRjYm1sdGNHOXlkQ0I3SUU0eU1EQWdmU0JtY205dElDZEFZWFJzWVhOcmFYUXZkR2hsYldVdlkyOXNiM0p6Snp0Y2JtbHRjRzl5ZENCN0lHWnZiblJUYVhwbExDQm5jbWxrVTJsNlpTQmhjeUJuY21sa1UybDZaVVp1SUgwZ1puSnZiU0FuUUdGMGJHRnphMmwwTDNSb1pXMWxMMk52Ym5OMFlXNTBjeWM3WEc1Y2JtTnZibk4wSUdkeWFXUlRhWHBsSUQwZ1ozSnBaRk5wZW1WR2JpZ3BPMXh1WEc1amIyNXpkQ0JEYjI1MFpXNTBWM0poY0hCbGNpQTlJSEJ5YjNCeklEMCtJQ2hjYmlBZ1BHUnBkbHh1SUNBZ0lHTnpjejE3ZTF4dUlDQWdJQ0FnWkdsemNHeGhlVG9nSjJac1pYZ25MRnh1SUNBZ0lDQWdabXhsZUVScGNtVmpkR2x2YmpvZ0oyTnZiSFZ0Ymljc1hHNGdJQ0FnSUNCbWJHVjRSM0p2ZHpvZ01TeGNiaUFnSUNBZ0lHOTJaWEptYkc5M1dEb2dKMmhwWkdSbGJpY3NYRzRnSUNBZ2ZYMWNiaUFnSUNCN0xpNHVjSEp2Y0hOOVhHNGdJQzgrWEc0cE8xeHVZMjl1YzNRZ1ZHVjRkRmR5WVhCd1pYSWdQU0J3Y205d2N5QTlQaUFvWEc0Z0lEeGthWFpjYmlBZ0lDQmpjM005ZTN0Y2JpQWdJQ0FnSUdac1pYZzZJQ2N4SURFZ1lYVjBieWNzWEc0Z0lDQWdJQ0J2ZG1WeVpteHZkem9nSjJocFpHUmxiaWNzWEc0Z0lDQWdJQ0IwWlhoMFQzWmxjbVpzYjNjNklDZGxiR3hwY0hOcGN5Y3NYRzRnSUNBZ0lDQjNhR2wwWlZOd1lXTmxPaUFuYm05M2NtRndKeXhjYmlBZ0lDQWdJR3hwYm1WSVpXbG5hSFE2SURFMklDOGdabTl1ZEZOcGVtVW9LU3hjYmlBZ0lDQjlmVnh1SUNBZ0lIc3VMaTV3Y205d2MzMWNiaUFnTHo1Y2JpazdYRzVqYjI1emRDQlRkV0pVWlhoMFYzSmhjSEJsY2lBOUlIQnliM0J6SUQwK0lDaGNiaUFnUEdScGRseHVJQ0FnSUdOemN6MTdlMXh1SUNBZ0lDQWdZMjlzYjNJNklFNHlNREFzWEc0Z0lDQWdJQ0JtYkdWNE9pQW5NU0F4SUdGMWRHOG5MRnh1SUNBZ0lDQWdabTl1ZEZOcGVtVTZJREV5TEZ4dUlDQWdJQ0FnYkdsdVpVaGxhV2RvZERvZ01UUWdMeUF4TWl4Y2JpQWdJQ0FnSUc5MlpYSm1iRzkzT2lBbmFHbGtaR1Z1Snl4Y2JpQWdJQ0FnSUhSbGVIUlBkbVZ5Wm14dmR6b2dKMlZzYkdsd2MybHpKeXhjYmlBZ0lDQWdJSGRvYVhSbFUzQmhZMlU2SUNkdWIzZHlZWEFuTEZ4dUlDQWdJSDE5WEc0Z0lDQWdleTR1TG5CeWIzQnpmVnh1SUNBdlBseHVLVHRjYm1OdmJuTjBJRVZzWlcxbGJuUlhjbUZ3Y0dWeUlEMGdLSHNnYVhNc0lDNHVMbkJ5YjNCeklIMHBJRDArSUh0Y2JpQWdZMjl1YzNRZ1pHbHlaV04wYVc5dUlEMGdleUJpWldadmNtVTZJQ2R0WVhKbmFXNVNhV2RvZENjc0lHRm1kR1Z5T2lBbmJXRnlaMmx1VEdWbWRDY2dmVHRjYmlBZ1kyOXVjM1FnYldGeVoybHVJRDBnWkdseVpXTjBhVzl1VzJselhUdGNibHh1SUNCeVpYUjFjbTRnS0Z4dUlDQWdJRHhrYVhaY2JpQWdJQ0FnSUdOemN6MTdlMXh1SUNBZ0lDQWdJQ0JoYkdsbmJrbDBaVzF6T2lBblkyVnVkR1Z5Snl4Y2JpQWdJQ0FnSUNBZ1pHbHpjR3hoZVRvZ0oyWnNaWGduTEZ4dUlDQWdJQ0FnSUNCbWJHVjRVMmh5YVc1ck9pQXdMRnh1SUNBZ0lDQWdJQ0JiYldGeVoybHVYVG9nWjNKcFpGTnBlbVVzWEc0Z0lDQWdJQ0I5ZlZ4dUlDQWdJQ0FnZXk0dUxuQnliM0J6ZlZ4dUlDQWdJQzgrWEc0Z0lDazdYRzU5TzF4dVhHNWxlSEJ2Y25RZ1pHVm1ZWFZzZENCamJHRnpjeUJQY0hScGIyNGdaWGgwWlc1a2N5QlFkWEpsUTI5dGNHOXVaVzUwSUh0Y2JpQWdjbVZ1WkdWeUtDa2dlMXh1SUNBZ0lHTnZibk4wSUh0Y2JpQWdJQ0FnSUdsdWJtVnlVSEp2Y0hNc1hHNGdJQ0FnSUNCcGJtNWxjbEpsWml4Y2JpQWdJQ0FnSUdSaGRHRTZJSHNnWVhaaGRHRnlMQ0J6ZFdKVVpYaDBMQ0IwWlhoMElIMHNYRzRnSUNBZ2ZTQTlJSFJvYVhNdWNISnZjSE03WEc0Z0lDQWdjbVYwZFhKdUlDaGNiaUFnSUNBZ0lEeGthWFlnY21WbVBYdHBibTVsY2xKbFpuMGdleTR1TG1sdWJtVnlVSEp2Y0hOOVBseHVJQ0FnSUNBZ0lDQThZMjl0Y0c5dVpXNTBjeTVQY0hScGIyNGdleTR1TG5Sb2FYTXVjSEp2Y0hOOVBseHVJQ0FnSUNBZ0lDQWdJSHNoSVdGMllYUmhjaUFtSmlBb1hHNGdJQ0FnSUNBZ0lDQWdJQ0E4Uld4bGJXVnVkRmR5WVhCd1pYSWdhWE05WENKaVpXWnZjbVZjSWo1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnUEVGMllYUmhjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR0p2Y21SbGNrTnZiRzl5UFZ3aWRISmhibk53WVhKbGJuUmNJbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSE55WXoxN1lYWmhkR0Z5ZlZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdGd2NHVmhjbUZ1WTJVOVhDSnpjWFZoY21WY0lseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBdlBseHVJQ0FnSUNBZ0lDQWdJQ0FnUEM5RmJHVnRaVzUwVjNKaGNIQmxjajVjYmlBZ0lDQWdJQ0FnSUNBcGZWeHVJQ0FnSUNBZ0lDQWdJRHhEYjI1MFpXNTBWM0poY0hCbGNqNWNiaUFnSUNBZ0lDQWdJQ0FnSUR4VVpYaDBWM0poY0hCbGNqNTdkR1Y0ZEgwOEwxUmxlSFJYY21Gd2NHVnlQbHh1SUNBZ0lDQWdJQ0FnSUNBZ2V5RWhjM1ZpVkdWNGRDQW1KaUE4VTNWaVZHVjRkRmR5WVhCd1pYSStlM04xWWxSbGVIUjlQQzlUZFdKVVpYaDBWM0poY0hCbGNqNTlYRzRnSUNBZ0lDQWdJQ0FnUEM5RGIyNTBaVzUwVjNKaGNIQmxjajVjYmlBZ0lDQWdJQ0FnUEM5amIyMXdiMjVsYm5SekxrOXdkR2x2Ymo1Y2JpQWdJQ0FnSUR3dlpHbDJQbHh1SUNBZ0lDazdYRzRnSUgxY2JuMWNiaUpkZlE9PSAqL1wiXG59O1xuXG52YXIgQ29udGVudFdyYXBwZXIgPSBmdW5jdGlvbiBDb250ZW50V3JhcHBlcihwcm9wcykge1xuICByZXR1cm4gX19fRW1vdGlvbkpTWChcImRpdlwiLCBfZXh0ZW5kcyh7XG4gICAgY3NzOiBfcmVmXG4gIH0sIHByb3BzKSk7XG59O1xuXG52YXIgVGV4dFdyYXBwZXIgPSBmdW5jdGlvbiBUZXh0V3JhcHBlcihwcm9wcykge1xuICByZXR1cm4gX19fRW1vdGlvbkpTWChcImRpdlwiLCBfZXh0ZW5kcyh7XG4gICAgY3NzOlxuICAgIC8qI19fUFVSRV9fKi9cbiAgICBfY3NzKHtcbiAgICAgIGZsZXg6ICcxIDEgYXV0bycsXG4gICAgICBvdmVyZmxvdzogJ2hpZGRlbicsXG4gICAgICB0ZXh0T3ZlcmZsb3c6ICdlbGxpcHNpcycsXG4gICAgICB3aGl0ZVNwYWNlOiAnbm93cmFwJyxcbiAgICAgIGxpbmVIZWlnaHQ6IDE2IC8gZm9udFNpemUoKVxuICAgIH0sIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IFwiXCIgOiBcIi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpNHVMeTR1THk0dUx5NHVMeTR1TDNOeVl5OWpiMjF3YjI1bGJuUnpMM0J5WlhObGJuUmhkR2x2Ym1Gc0wxTjNhWFJqYUdWeUwwOXdkR2x2Ymk1cWN5SmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRnpRa2tpTENKbWFXeGxJam9pTGk0dkxpNHZMaTR2TGk0dkxpNHZjM0pqTDJOdmJYQnZibVZ1ZEhNdmNISmxjMlZ1ZEdGMGFXOXVZV3d2VTNkcGRHTm9aWEl2VDNCMGFXOXVMbXB6SWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaWFXMXdiM0owSUZKbFlXTjBMQ0I3SUZCMWNtVkRiMjF3YjI1bGJuUWdmU0JtY205dElDZHlaV0ZqZENjN1hHNWNibWx0Y0c5eWRDQkJkbUYwWVhJZ1puSnZiU0FuUUdGMGJHRnphMmwwTDJGMllYUmhjaWM3WEc1cGJYQnZjblFnZXlCamIyMXdiMjVsYm5SeklIMGdabkp2YlNBblFHRjBiR0Z6YTJsMEwzTmxiR1ZqZENjN1hHNXBiWEJ2Y25RZ2V5Qk9NakF3SUgwZ1puSnZiU0FuUUdGMGJHRnphMmwwTDNSb1pXMWxMMk52Ykc5eWN5YzdYRzVwYlhCdmNuUWdleUJtYjI1MFUybDZaU3dnWjNKcFpGTnBlbVVnWVhNZ1ozSnBaRk5wZW1WR2JpQjlJR1p5YjIwZ0owQmhkR3hoYzJ0cGRDOTBhR1Z0WlM5amIyNXpkR0Z1ZEhNbk8xeHVYRzVqYjI1emRDQm5jbWxrVTJsNlpTQTlJR2R5YVdSVGFYcGxSbTRvS1R0Y2JseHVZMjl1YzNRZ1EyOXVkR1Z1ZEZkeVlYQndaWElnUFNCd2NtOXdjeUE5UGlBb1hHNGdJRHhrYVhaY2JpQWdJQ0JqYzNNOWUzdGNiaUFnSUNBZ0lHUnBjM0JzWVhrNklDZG1iR1Y0Snl4Y2JpQWdJQ0FnSUdac1pYaEVhWEpsWTNScGIyNDZJQ2RqYjJ4MWJXNG5MRnh1SUNBZ0lDQWdabXhsZUVkeWIzYzZJREVzWEc0Z0lDQWdJQ0J2ZG1WeVpteHZkMWc2SUNkb2FXUmtaVzRuTEZ4dUlDQWdJSDE5WEc0Z0lDQWdleTR1TG5CeWIzQnpmVnh1SUNBdlBseHVLVHRjYm1OdmJuTjBJRlJsZUhSWGNtRndjR1Z5SUQwZ2NISnZjSE1nUFQ0Z0tGeHVJQ0E4WkdsMlhHNGdJQ0FnWTNOelBYdDdYRzRnSUNBZ0lDQm1iR1Y0T2lBbk1TQXhJR0YxZEc4bkxGeHVJQ0FnSUNBZ2IzWmxjbVpzYjNjNklDZG9hV1JrWlc0bkxGeHVJQ0FnSUNBZ2RHVjRkRTkyWlhKbWJHOTNPaUFuWld4c2FYQnphWE1uTEZ4dUlDQWdJQ0FnZDJocGRHVlRjR0ZqWlRvZ0oyNXZkM0poY0Njc1hHNGdJQ0FnSUNCc2FXNWxTR1ZwWjJoME9pQXhOaUF2SUdadmJuUlRhWHBsS0Nrc1hHNGdJQ0FnZlgxY2JpQWdJQ0I3TGk0dWNISnZjSE45WEc0Z0lDOCtYRzRwTzF4dVkyOXVjM1FnVTNWaVZHVjRkRmR5WVhCd1pYSWdQU0J3Y205d2N5QTlQaUFvWEc0Z0lEeGthWFpjYmlBZ0lDQmpjM005ZTN0Y2JpQWdJQ0FnSUdOdmJHOXlPaUJPTWpBd0xGeHVJQ0FnSUNBZ1pteGxlRG9nSnpFZ01TQmhkWFJ2Snl4Y2JpQWdJQ0FnSUdadmJuUlRhWHBsT2lBeE1peGNiaUFnSUNBZ0lHeHBibVZJWldsbmFIUTZJREUwSUM4Z01USXNYRzRnSUNBZ0lDQnZkbVZ5Wm14dmR6b2dKMmhwWkdSbGJpY3NYRzRnSUNBZ0lDQjBaWGgwVDNabGNtWnNiM2M2SUNkbGJHeHBjSE5wY3ljc1hHNGdJQ0FnSUNCM2FHbDBaVk53WVdObE9pQW5ibTkzY21Gd0p5eGNiaUFnSUNCOWZWeHVJQ0FnSUhzdUxpNXdjbTl3YzMxY2JpQWdMejVjYmlrN1hHNWpiMjV6ZENCRmJHVnRaVzUwVjNKaGNIQmxjaUE5SUNoN0lHbHpMQ0F1TGk1d2NtOXdjeUI5S1NBOVBpQjdYRzRnSUdOdmJuTjBJR1JwY21WamRHbHZiaUE5SUhzZ1ltVm1iM0psT2lBbmJXRnlaMmx1VW1sbmFIUW5MQ0JoWm5SbGNqb2dKMjFoY21kcGJreGxablFuSUgwN1hHNGdJR052Ym5OMElHMWhjbWRwYmlBOUlHUnBjbVZqZEdsdmJsdHBjMTA3WEc1Y2JpQWdjbVYwZFhKdUlDaGNiaUFnSUNBOFpHbDJYRzRnSUNBZ0lDQmpjM005ZTN0Y2JpQWdJQ0FnSUNBZ1lXeHBaMjVKZEdWdGN6b2dKMk5sYm5SbGNpY3NYRzRnSUNBZ0lDQWdJR1JwYzNCc1lYazZJQ2RtYkdWNEp5eGNiaUFnSUNBZ0lDQWdabXhsZUZOb2NtbHVhem9nTUN4Y2JpQWdJQ0FnSUNBZ1cyMWhjbWRwYmwwNklHZHlhV1JUYVhwbExGeHVJQ0FnSUNBZ2ZYMWNiaUFnSUNBZ0lIc3VMaTV3Y205d2MzMWNiaUFnSUNBdlBseHVJQ0FwTzF4dWZUdGNibHh1Wlhod2IzSjBJR1JsWm1GMWJIUWdZMnhoYzNNZ1QzQjBhVzl1SUdWNGRHVnVaSE1nVUhWeVpVTnZiWEJ2Ym1WdWRDQjdYRzRnSUhKbGJtUmxjaWdwSUh0Y2JpQWdJQ0JqYjI1emRDQjdYRzRnSUNBZ0lDQnBibTVsY2xCeWIzQnpMRnh1SUNBZ0lDQWdhVzV1WlhKU1pXWXNYRzRnSUNBZ0lDQmtZWFJoT2lCN0lHRjJZWFJoY2l3Z2MzVmlWR1Y0ZEN3Z2RHVjRkQ0I5TEZ4dUlDQWdJSDBnUFNCMGFHbHpMbkJ5YjNCek8xeHVJQ0FnSUhKbGRIVnliaUFvWEc0Z0lDQWdJQ0E4WkdsMklISmxaajE3YVc1dVpYSlNaV1o5SUhzdUxpNXBibTVsY2xCeWIzQnpmVDVjYmlBZ0lDQWdJQ0FnUEdOdmJYQnZibVZ1ZEhNdVQzQjBhVzl1SUhzdUxpNTBhR2x6TG5CeWIzQnpmVDVjYmlBZ0lDQWdJQ0FnSUNCN0lTRmhkbUYwWVhJZ0ppWWdLRnh1SUNBZ0lDQWdJQ0FnSUNBZ1BFVnNaVzFsYm5SWGNtRndjR1Z5SUdselBWd2lZbVZtYjNKbFhDSStYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lEeEJkbUYwWVhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCaWIzSmtaWEpEYjJ4dmNqMWNJblJ5WVc1emNHRnlaVzUwWENKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCemNtTTllMkYyWVhSaGNuMWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmhjSEJsWVhKaGJtTmxQVndpYzNGMVlYSmxYQ0pjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdMejVjYmlBZ0lDQWdJQ0FnSUNBZ0lEd3ZSV3hsYldWdWRGZHlZWEJ3WlhJK1hHNGdJQ0FnSUNBZ0lDQWdLWDFjYmlBZ0lDQWdJQ0FnSUNBOFEyOXVkR1Z1ZEZkeVlYQndaWEkrWEc0Z0lDQWdJQ0FnSUNBZ0lDQThWR1Y0ZEZkeVlYQndaWEkrZTNSbGVIUjlQQzlVWlhoMFYzSmhjSEJsY2o1Y2JpQWdJQ0FnSUNBZ0lDQWdJSHNoSVhOMVlsUmxlSFFnSmlZZ1BGTjFZbFJsZUhSWGNtRndjR1Z5UG50emRXSlVaWGgwZlR3dlUzVmlWR1Y0ZEZkeVlYQndaWEkrZlZ4dUlDQWdJQ0FnSUNBZ0lEd3ZRMjl1ZEdWdWRGZHlZWEJ3WlhJK1hHNGdJQ0FnSUNBZ0lEd3ZZMjl0Y0c5dVpXNTBjeTVQY0hScGIyNCtYRzRnSUNBZ0lDQThMMlJwZGo1Y2JpQWdJQ0FwTzF4dUlDQjlYRzU5WEc0aVhYMD0gKi9cIilcbiAgfSwgcHJvcHMpKTtcbn07XG5cbnZhciBTdWJUZXh0V3JhcHBlciA9IGZ1bmN0aW9uIFN1YlRleHRXcmFwcGVyKHByb3BzKSB7XG4gIHJldHVybiBfX19FbW90aW9uSlNYKFwiZGl2XCIsIF9leHRlbmRzKHtcbiAgICBjc3M6XG4gICAgLyojX19QVVJFX18qL1xuICAgIF9jc3Moe1xuICAgICAgY29sb3I6IE4yMDAsXG4gICAgICBmbGV4OiAnMSAxIGF1dG8nLFxuICAgICAgZm9udFNpemU6IDEyLFxuICAgICAgbGluZUhlaWdodDogMTQgLyAxMixcbiAgICAgIG92ZXJmbG93OiAnaGlkZGVuJyxcbiAgICAgIHRleHRPdmVyZmxvdzogJ2VsbGlwc2lzJyxcbiAgICAgIHdoaXRlU3BhY2U6ICdub3dyYXAnXG4gICAgfSwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8gXCJcIiA6IFwiLyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWk0dUx5NHVMeTR1THk0dUx5NHVMM055WXk5amIyMXdiMjVsYm5SekwzQnlaWE5sYm5SaGRHbHZibUZzTDFOM2FYUmphR1Z5TDA5d2RHbHZiaTVxY3lKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGclEwa2lMQ0ptYVd4bElqb2lMaTR2TGk0dkxpNHZMaTR2TGk0dmMzSmpMMk52YlhCdmJtVnVkSE12Y0hKbGMyVnVkR0YwYVc5dVlXd3ZVM2RwZEdOb1pYSXZUM0IwYVc5dUxtcHpJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpYVcxd2IzSjBJRkpsWVdOMExDQjdJRkIxY21WRGIyMXdiMjVsYm5RZ2ZTQm1jbTl0SUNkeVpXRmpkQ2M3WEc1Y2JtbHRjRzl5ZENCQmRtRjBZWElnWm5KdmJTQW5RR0YwYkdGemEybDBMMkYyWVhSaGNpYzdYRzVwYlhCdmNuUWdleUJqYjIxd2IyNWxiblJ6SUgwZ1puSnZiU0FuUUdGMGJHRnphMmwwTDNObGJHVmpkQ2M3WEc1cGJYQnZjblFnZXlCT01qQXdJSDBnWm5KdmJTQW5RR0YwYkdGemEybDBMM1JvWlcxbEwyTnZiRzl5Y3ljN1hHNXBiWEJ2Y25RZ2V5Qm1iMjUwVTJsNlpTd2daM0pwWkZOcGVtVWdZWE1nWjNKcFpGTnBlbVZHYmlCOUlHWnliMjBnSjBCaGRHeGhjMnRwZEM5MGFHVnRaUzlqYjI1emRHRnVkSE1uTzF4dVhHNWpiMjV6ZENCbmNtbGtVMmw2WlNBOUlHZHlhV1JUYVhwbFJtNG9LVHRjYmx4dVkyOXVjM1FnUTI5dWRHVnVkRmR5WVhCd1pYSWdQU0J3Y205d2N5QTlQaUFvWEc0Z0lEeGthWFpjYmlBZ0lDQmpjM005ZTN0Y2JpQWdJQ0FnSUdScGMzQnNZWGs2SUNkbWJHVjRKeXhjYmlBZ0lDQWdJR1pzWlhoRWFYSmxZM1JwYjI0NklDZGpiMngxYlc0bkxGeHVJQ0FnSUNBZ1pteGxlRWR5YjNjNklERXNYRzRnSUNBZ0lDQnZkbVZ5Wm14dmQxZzZJQ2RvYVdSa1pXNG5MRnh1SUNBZ0lIMTlYRzRnSUNBZ2V5NHVMbkJ5YjNCemZWeHVJQ0F2UGx4dUtUdGNibU52Ym5OMElGUmxlSFJYY21Gd2NHVnlJRDBnY0hKdmNITWdQVDRnS0Z4dUlDQThaR2wyWEc0Z0lDQWdZM056UFh0N1hHNGdJQ0FnSUNCbWJHVjRPaUFuTVNBeElHRjFkRzhuTEZ4dUlDQWdJQ0FnYjNabGNtWnNiM2M2SUNkb2FXUmtaVzRuTEZ4dUlDQWdJQ0FnZEdWNGRFOTJaWEptYkc5M09pQW5aV3hzYVhCemFYTW5MRnh1SUNBZ0lDQWdkMmhwZEdWVGNHRmpaVG9nSjI1dmQzSmhjQ2NzWEc0Z0lDQWdJQ0JzYVc1bFNHVnBaMmgwT2lBeE5pQXZJR1p2Ym5SVGFYcGxLQ2tzWEc0Z0lDQWdmWDFjYmlBZ0lDQjdMaTR1Y0hKdmNITjlYRzRnSUM4K1hHNHBPMXh1WTI5dWMzUWdVM1ZpVkdWNGRGZHlZWEJ3WlhJZ1BTQndjbTl3Y3lBOVBpQW9YRzRnSUR4a2FYWmNiaUFnSUNCamMzTTllM3RjYmlBZ0lDQWdJR052Ykc5eU9pQk9NakF3TEZ4dUlDQWdJQ0FnWm14bGVEb2dKekVnTVNCaGRYUnZKeXhjYmlBZ0lDQWdJR1p2Ym5SVGFYcGxPaUF4TWl4Y2JpQWdJQ0FnSUd4cGJtVklaV2xuYUhRNklERTBJQzhnTVRJc1hHNGdJQ0FnSUNCdmRtVnlabXh2ZHpvZ0oyaHBaR1JsYmljc1hHNGdJQ0FnSUNCMFpYaDBUM1psY21ac2IzYzZJQ2RsYkd4cGNITnBjeWNzWEc0Z0lDQWdJQ0IzYUdsMFpWTndZV05sT2lBbmJtOTNjbUZ3Snl4Y2JpQWdJQ0I5ZlZ4dUlDQWdJSHN1TGk1d2NtOXdjMzFjYmlBZ0x6NWNiaWs3WEc1amIyNXpkQ0JGYkdWdFpXNTBWM0poY0hCbGNpQTlJQ2g3SUdsekxDQXVMaTV3Y205d2N5QjlLU0E5UGlCN1hHNGdJR052Ym5OMElHUnBjbVZqZEdsdmJpQTlJSHNnWW1WbWIzSmxPaUFuYldGeVoybHVVbWxuYUhRbkxDQmhablJsY2pvZ0oyMWhjbWRwYmt4bFpuUW5JSDA3WEc0Z0lHTnZibk4wSUcxaGNtZHBiaUE5SUdScGNtVmpkR2x2Ymx0cGMxMDdYRzVjYmlBZ2NtVjBkWEp1SUNoY2JpQWdJQ0E4WkdsMlhHNGdJQ0FnSUNCamMzTTllM3RjYmlBZ0lDQWdJQ0FnWVd4cFoyNUpkR1Z0Y3pvZ0oyTmxiblJsY2ljc1hHNGdJQ0FnSUNBZ0lHUnBjM0JzWVhrNklDZG1iR1Y0Snl4Y2JpQWdJQ0FnSUNBZ1pteGxlRk5vY21sdWF6b2dNQ3hjYmlBZ0lDQWdJQ0FnVzIxaGNtZHBibDA2SUdkeWFXUlRhWHBsTEZ4dUlDQWdJQ0FnZlgxY2JpQWdJQ0FnSUhzdUxpNXdjbTl3YzMxY2JpQWdJQ0F2UGx4dUlDQXBPMXh1ZlR0Y2JseHVaWGh3YjNKMElHUmxabUYxYkhRZ1kyeGhjM01nVDNCMGFXOXVJR1Y0ZEdWdVpITWdVSFZ5WlVOdmJYQnZibVZ1ZENCN1hHNGdJSEpsYm1SbGNpZ3BJSHRjYmlBZ0lDQmpiMjV6ZENCN1hHNGdJQ0FnSUNCcGJtNWxjbEJ5YjNCekxGeHVJQ0FnSUNBZ2FXNXVaWEpTWldZc1hHNGdJQ0FnSUNCa1lYUmhPaUI3SUdGMllYUmhjaXdnYzNWaVZHVjRkQ3dnZEdWNGRDQjlMRnh1SUNBZ0lIMGdQU0IwYUdsekxuQnliM0J6TzF4dUlDQWdJSEpsZEhWeWJpQW9YRzRnSUNBZ0lDQThaR2wySUhKbFpqMTdhVzV1WlhKU1pXWjlJSHN1TGk1cGJtNWxjbEJ5YjNCemZUNWNiaUFnSUNBZ0lDQWdQR052YlhCdmJtVnVkSE11VDNCMGFXOXVJSHN1TGk1MGFHbHpMbkJ5YjNCemZUNWNiaUFnSUNBZ0lDQWdJQ0I3SVNGaGRtRjBZWElnSmlZZ0tGeHVJQ0FnSUNBZ0lDQWdJQ0FnUEVWc1pXMWxiblJYY21Gd2NHVnlJR2x6UFZ3aVltVm1iM0psWENJK1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUR4QmRtRjBZWEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JpYjNKa1pYSkRiMnh2Y2oxY0luUnlZVzV6Y0dGeVpXNTBYQ0pjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J6Y21NOWUyRjJZWFJoY24xY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCaGNIQmxZWEpoYm1ObFBWd2ljM0YxWVhKbFhDSmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0x6NWNiaUFnSUNBZ0lDQWdJQ0FnSUR3dlJXeGxiV1Z1ZEZkeVlYQndaWEkrWEc0Z0lDQWdJQ0FnSUNBZ0tYMWNiaUFnSUNBZ0lDQWdJQ0E4UTI5dWRHVnVkRmR5WVhCd1pYSStYRzRnSUNBZ0lDQWdJQ0FnSUNBOFZHVjRkRmR5WVhCd1pYSStlM1JsZUhSOVBDOVVaWGgwVjNKaGNIQmxjajVjYmlBZ0lDQWdJQ0FnSUNBZ0lIc2hJWE4xWWxSbGVIUWdKaVlnUEZOMVlsUmxlSFJYY21Gd2NHVnlQbnR6ZFdKVVpYaDBmVHd2VTNWaVZHVjRkRmR5WVhCd1pYSStmVnh1SUNBZ0lDQWdJQ0FnSUR3dlEyOXVkR1Z1ZEZkeVlYQndaWEkrWEc0Z0lDQWdJQ0FnSUR3dlkyOXRjRzl1Wlc1MGN5NVBjSFJwYjI0K1hHNGdJQ0FnSUNBOEwyUnBkajVjYmlBZ0lDQXBPMXh1SUNCOVhHNTlYRzRpWFgwPSAqL1wiKVxuICB9LCBwcm9wcykpO1xufTtcblxudmFyIEVsZW1lbnRXcmFwcGVyID0gZnVuY3Rpb24gRWxlbWVudFdyYXBwZXIoX3JlZjIpIHtcbiAgdmFyIGlzID0gX3JlZjIuaXMsXG4gICAgICBwcm9wcyA9IF9vYmplY3RXaXRob3V0UHJvcGVydGllcyhfcmVmMiwgW1wiaXNcIl0pO1xuXG4gIHZhciBkaXJlY3Rpb24gPSB7XG4gICAgYmVmb3JlOiAnbWFyZ2luUmlnaHQnLFxuICAgIGFmdGVyOiAnbWFyZ2luTGVmdCdcbiAgfTtcbiAgdmFyIG1hcmdpbiA9IGRpcmVjdGlvbltpc107XG4gIHJldHVybiBfX19FbW90aW9uSlNYKFwiZGl2XCIsIF9leHRlbmRzKHtcbiAgICBjc3M6XG4gICAgLyojX19QVVJFX18qL1xuICAgIF9jc3MoX2RlZmluZVByb3BlcnR5KHtcbiAgICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgZmxleFNocmluazogMFxuICAgIH0sIG1hcmdpbiwgZ3JpZFNpemUpLCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyBcIlwiIDogXCIvKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJaTR1THk0dUx5NHVMeTR1THk0dUwzTnlZeTlqYjIxd2IyNWxiblJ6TDNCeVpYTmxiblJoZEdsdmJtRnNMMU4zYVhSamFHVnlMMDl3ZEdsdmJpNXFjeUpkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZ2UkUwaUxDSm1hV3hsSWpvaUxpNHZMaTR2TGk0dkxpNHZMaTR2YzNKakwyTnZiWEJ2Ym1WdWRITXZjSEpsYzJWdWRHRjBhVzl1WVd3dlUzZHBkR05vWlhJdlQzQjBhVzl1TG1weklpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lhVzF3YjNKMElGSmxZV04wTENCN0lGQjFjbVZEYjIxd2IyNWxiblFnZlNCbWNtOXRJQ2R5WldGamRDYzdYRzVjYm1sdGNHOXlkQ0JCZG1GMFlYSWdabkp2YlNBblFHRjBiR0Z6YTJsMEwyRjJZWFJoY2ljN1hHNXBiWEJ2Y25RZ2V5QmpiMjF3YjI1bGJuUnpJSDBnWm5KdmJTQW5RR0YwYkdGemEybDBMM05sYkdWamRDYzdYRzVwYlhCdmNuUWdleUJPTWpBd0lIMGdabkp2YlNBblFHRjBiR0Z6YTJsMEwzUm9aVzFsTDJOdmJHOXljeWM3WEc1cGJYQnZjblFnZXlCbWIyNTBVMmw2WlN3Z1ozSnBaRk5wZW1VZ1lYTWdaM0pwWkZOcGVtVkdiaUI5SUdaeWIyMGdKMEJoZEd4aGMydHBkQzkwYUdWdFpTOWpiMjV6ZEdGdWRITW5PMXh1WEc1amIyNXpkQ0JuY21sa1UybDZaU0E5SUdkeWFXUlRhWHBsUm00b0tUdGNibHh1WTI5dWMzUWdRMjl1ZEdWdWRGZHlZWEJ3WlhJZ1BTQndjbTl3Y3lBOVBpQW9YRzRnSUR4a2FYWmNiaUFnSUNCamMzTTllM3RjYmlBZ0lDQWdJR1JwYzNCc1lYazZJQ2RtYkdWNEp5eGNiaUFnSUNBZ0lHWnNaWGhFYVhKbFkzUnBiMjQ2SUNkamIyeDFiVzRuTEZ4dUlDQWdJQ0FnWm14bGVFZHliM2M2SURFc1hHNGdJQ0FnSUNCdmRtVnlabXh2ZDFnNklDZG9hV1JrWlc0bkxGeHVJQ0FnSUgxOVhHNGdJQ0FnZXk0dUxuQnliM0J6ZlZ4dUlDQXZQbHh1S1R0Y2JtTnZibk4wSUZSbGVIUlhjbUZ3Y0dWeUlEMGdjSEp2Y0hNZ1BUNGdLRnh1SUNBOFpHbDJYRzRnSUNBZ1kzTnpQWHQ3WEc0Z0lDQWdJQ0JtYkdWNE9pQW5NU0F4SUdGMWRHOG5MRnh1SUNBZ0lDQWdiM1psY21ac2IzYzZJQ2RvYVdSa1pXNG5MRnh1SUNBZ0lDQWdkR1Y0ZEU5MlpYSm1iRzkzT2lBblpXeHNhWEJ6YVhNbkxGeHVJQ0FnSUNBZ2QyaHBkR1ZUY0dGalpUb2dKMjV2ZDNKaGNDY3NYRzRnSUNBZ0lDQnNhVzVsU0dWcFoyaDBPaUF4TmlBdklHWnZiblJUYVhwbEtDa3NYRzRnSUNBZ2ZYMWNiaUFnSUNCN0xpNHVjSEp2Y0hOOVhHNGdJQzgrWEc0cE8xeHVZMjl1YzNRZ1UzVmlWR1Y0ZEZkeVlYQndaWElnUFNCd2NtOXdjeUE5UGlBb1hHNGdJRHhrYVhaY2JpQWdJQ0JqYzNNOWUzdGNiaUFnSUNBZ0lHTnZiRzl5T2lCT01qQXdMRnh1SUNBZ0lDQWdabXhsZURvZ0p6RWdNU0JoZFhSdkp5eGNiaUFnSUNBZ0lHWnZiblJUYVhwbE9pQXhNaXhjYmlBZ0lDQWdJR3hwYm1WSVpXbG5hSFE2SURFMElDOGdNVElzWEc0Z0lDQWdJQ0J2ZG1WeVpteHZkem9nSjJocFpHUmxiaWNzWEc0Z0lDQWdJQ0IwWlhoMFQzWmxjbVpzYjNjNklDZGxiR3hwY0hOcGN5Y3NYRzRnSUNBZ0lDQjNhR2wwWlZOd1lXTmxPaUFuYm05M2NtRndKeXhjYmlBZ0lDQjlmVnh1SUNBZ0lIc3VMaTV3Y205d2MzMWNiaUFnTHo1Y2JpazdYRzVqYjI1emRDQkZiR1Z0Wlc1MFYzSmhjSEJsY2lBOUlDaDdJR2x6TENBdUxpNXdjbTl3Y3lCOUtTQTlQaUI3WEc0Z0lHTnZibk4wSUdScGNtVmpkR2x2YmlBOUlIc2dZbVZtYjNKbE9pQW5iV0Z5WjJsdVVtbG5hSFFuTENCaFpuUmxjam9nSjIxaGNtZHBia3hsWm5RbklIMDdYRzRnSUdOdmJuTjBJRzFoY21kcGJpQTlJR1JwY21WamRHbHZibHRwYzEwN1hHNWNiaUFnY21WMGRYSnVJQ2hjYmlBZ0lDQThaR2wyWEc0Z0lDQWdJQ0JqYzNNOWUzdGNiaUFnSUNBZ0lDQWdZV3hwWjI1SmRHVnRjem9nSjJObGJuUmxjaWNzWEc0Z0lDQWdJQ0FnSUdScGMzQnNZWGs2SUNkbWJHVjRKeXhjYmlBZ0lDQWdJQ0FnWm14bGVGTm9jbWx1YXpvZ01DeGNiaUFnSUNBZ0lDQWdXMjFoY21kcGJsMDZJR2R5YVdSVGFYcGxMRnh1SUNBZ0lDQWdmWDFjYmlBZ0lDQWdJSHN1TGk1d2NtOXdjMzFjYmlBZ0lDQXZQbHh1SUNBcE8xeHVmVHRjYmx4dVpYaHdiM0owSUdSbFptRjFiSFFnWTJ4aGMzTWdUM0IwYVc5dUlHVjRkR1Z1WkhNZ1VIVnlaVU52YlhCdmJtVnVkQ0I3WEc0Z0lISmxibVJsY2lncElIdGNiaUFnSUNCamIyNXpkQ0I3WEc0Z0lDQWdJQ0JwYm01bGNsQnliM0J6TEZ4dUlDQWdJQ0FnYVc1dVpYSlNaV1lzWEc0Z0lDQWdJQ0JrWVhSaE9pQjdJR0YyWVhSaGNpd2djM1ZpVkdWNGRDd2dkR1Y0ZENCOUxGeHVJQ0FnSUgwZ1BTQjBhR2x6TG5CeWIzQnpPMXh1SUNBZ0lISmxkSFZ5YmlBb1hHNGdJQ0FnSUNBOFpHbDJJSEpsWmoxN2FXNXVaWEpTWldaOUlIc3VMaTVwYm01bGNsQnliM0J6ZlQ1Y2JpQWdJQ0FnSUNBZ1BHTnZiWEJ2Ym1WdWRITXVUM0IwYVc5dUlIc3VMaTUwYUdsekxuQnliM0J6ZlQ1Y2JpQWdJQ0FnSUNBZ0lDQjdJU0ZoZG1GMFlYSWdKaVlnS0Z4dUlDQWdJQ0FnSUNBZ0lDQWdQRVZzWlcxbGJuUlhjbUZ3Y0dWeUlHbHpQVndpWW1WbWIzSmxYQ0krWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJRHhCZG1GMFlYSmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmliM0prWlhKRGIyeHZjajFjSW5SeVlXNXpjR0Z5Wlc1MFhDSmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnpjbU05ZTJGMllYUmhjbjFjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JoY0hCbFlYSmhibU5sUFZ3aWMzRjFZWEpsWENKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnTHo1Y2JpQWdJQ0FnSUNBZ0lDQWdJRHd2Uld4bGJXVnVkRmR5WVhCd1pYSStYRzRnSUNBZ0lDQWdJQ0FnS1gxY2JpQWdJQ0FnSUNBZ0lDQThRMjl1ZEdWdWRGZHlZWEJ3WlhJK1hHNGdJQ0FnSUNBZ0lDQWdJQ0E4VkdWNGRGZHlZWEJ3WlhJK2UzUmxlSFI5UEM5VVpYaDBWM0poY0hCbGNqNWNiaUFnSUNBZ0lDQWdJQ0FnSUhzaElYTjFZbFJsZUhRZ0ppWWdQRk4xWWxSbGVIUlhjbUZ3Y0dWeVBudHpkV0pVWlhoMGZUd3ZVM1ZpVkdWNGRGZHlZWEJ3WlhJK2ZWeHVJQ0FnSUNBZ0lDQWdJRHd2UTI5dWRHVnVkRmR5WVhCd1pYSStYRzRnSUNBZ0lDQWdJRHd2WTI5dGNHOXVaVzUwY3k1UGNIUnBiMjQrWEc0Z0lDQWdJQ0E4TDJScGRqNWNiaUFnSUNBcE8xeHVJQ0I5WEc1OVhHNGlYWDA9ICovXCIpXG4gIH0sIHByb3BzKSk7XG59O1xuXG52YXIgT3B0aW9uID1cbi8qI19fUFVSRV9fKi9cbmZ1bmN0aW9uIChfUHVyZUNvbXBvbmVudCkge1xuICBfaW5oZXJpdHMoT3B0aW9uLCBfUHVyZUNvbXBvbmVudCk7XG5cbiAgZnVuY3Rpb24gT3B0aW9uKCkge1xuICAgIF9jbGFzc0NhbGxDaGVjayh0aGlzLCBPcHRpb24pO1xuXG4gICAgcmV0dXJuIF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHRoaXMsIF9nZXRQcm90b3R5cGVPZihPcHRpb24pLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykpO1xuICB9XG5cbiAgX2NyZWF0ZUNsYXNzKE9wdGlvbiwgW3tcbiAgICBrZXk6IFwicmVuZGVyXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIHJlbmRlcigpIHtcbiAgICAgIHZhciBfdGhpcyRwcm9wcyA9IHRoaXMucHJvcHMsXG4gICAgICAgICAgaW5uZXJQcm9wcyA9IF90aGlzJHByb3BzLmlubmVyUHJvcHMsXG4gICAgICAgICAgaW5uZXJSZWYgPSBfdGhpcyRwcm9wcy5pbm5lclJlZixcbiAgICAgICAgICBfdGhpcyRwcm9wcyRkYXRhID0gX3RoaXMkcHJvcHMuZGF0YSxcbiAgICAgICAgICBhdmF0YXIgPSBfdGhpcyRwcm9wcyRkYXRhLmF2YXRhcixcbiAgICAgICAgICBzdWJUZXh0ID0gX3RoaXMkcHJvcHMkZGF0YS5zdWJUZXh0LFxuICAgICAgICAgIHRleHQgPSBfdGhpcyRwcm9wcyRkYXRhLnRleHQ7XG4gICAgICByZXR1cm4gX19fRW1vdGlvbkpTWChcImRpdlwiLCBfZXh0ZW5kcyh7XG4gICAgICAgIHJlZjogaW5uZXJSZWZcbiAgICAgIH0sIGlubmVyUHJvcHMpLCBfX19FbW90aW9uSlNYKGNvbXBvbmVudHMuT3B0aW9uLCB0aGlzLnByb3BzLCAhIWF2YXRhciAmJiBfX19FbW90aW9uSlNYKEVsZW1lbnRXcmFwcGVyLCB7XG4gICAgICAgIGlzOiBcImJlZm9yZVwiXG4gICAgICB9LCBfX19FbW90aW9uSlNYKEF2YXRhciwge1xuICAgICAgICBib3JkZXJDb2xvcjogXCJ0cmFuc3BhcmVudFwiLFxuICAgICAgICBzcmM6IGF2YXRhcixcbiAgICAgICAgYXBwZWFyYW5jZTogXCJzcXVhcmVcIlxuICAgICAgfSkpLCBfX19FbW90aW9uSlNYKENvbnRlbnRXcmFwcGVyLCBudWxsLCBfX19FbW90aW9uSlNYKFRleHRXcmFwcGVyLCBudWxsLCB0ZXh0KSwgISFzdWJUZXh0ICYmIF9fX0Vtb3Rpb25KU1goU3ViVGV4dFdyYXBwZXIsIG51bGwsIHN1YlRleHQpKSkpO1xuICAgIH1cbiAgfV0pO1xuXG4gIHJldHVybiBPcHRpb247XG59KFB1cmVDb21wb25lbnQpO1xuXG5leHBvcnQgeyBPcHRpb24gYXMgZGVmYXVsdCB9OyJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2QkFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/Switcher/Option.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/Switcher/index.js": /*!*****************************************************************************************************!*\ !*** ./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/Switcher/index.js ***! \*****************************************************************************************************/ /*! exports provided: createStyles, filterOption, isOptionSelected, getOptionValue, Control, Footer, BaseSwitcher, default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createStyles\", function() { return createStyles; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"filterOption\", function() { return filterOption; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isOptionSelected\", function() { return isOptionSelected; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getOptionValue\", function() { return getOptionValue; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Control\", function() { return Control; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Footer\", function() { return Footer; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"BaseSwitcher\", function() { return Switcher; });\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ \"./node_modules/@babel/runtime/helpers/classCallCheck.js\");\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\");\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ \"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ \"./node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/assertThisInitialized */ \"./node_modules/@babel/runtime/helpers/assertThisInitialized.js\");\n/* harmony import */ var _babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ \"./node_modules/@babel/runtime/helpers/inherits.js\");\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ \"./node_modules/@babel/runtime/helpers/defineProperty.js\");\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _emotion_css__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @emotion/css */ \"./node_modules/@emotion/css/dist/css.browser.esm.js\");\n/* harmony import */ var _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ \"./node_modules/@babel/runtime/helpers/objectWithoutProperties.js\");\n/* harmony import */ var _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony import */ var _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @babel/runtime/helpers/objectSpread */ \"./node_modules/@babel/runtime/helpers/objectSpread.js\");\n/* harmony import */ var _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_10__);\n/* harmony import */ var _emotion_core__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @emotion/core */ \"./node_modules/@emotion/core/dist/core.browser.esm.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_12__);\n/* harmony import */ var react_node_resolver__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! react-node-resolver */ \"./node_modules/react-node-resolver/lib/index.js\");\n/* harmony import */ var react_node_resolver__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(react_node_resolver__WEBPACK_IMPORTED_MODULE_13__);\n/* harmony import */ var shallow_equal_objects__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! shallow-equal/objects */ \"./node_modules/shallow-equal/objects/index.js\");\n/* harmony import */ var shallow_equal_objects__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(shallow_equal_objects__WEBPACK_IMPORTED_MODULE_14__);\n/* harmony import */ var _atlaskit_icon_glyph_add__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! @atlaskit/icon/glyph/add */ \"./node_modules/@atlaskit/icon/glyph/add.js\");\n/* harmony import */ var _atlaskit_icon_glyph_add__WEBPACK_IMPORTED_MODULE_15___default = /*#__PURE__*/__webpack_require__.n(_atlaskit_icon_glyph_add__WEBPACK_IMPORTED_MODULE_15__);\n/* harmony import */ var _atlaskit_select__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! @atlaskit/select */ \"./node_modules/@atlaskit/select/dist/esm/index.js\");\n/* harmony import */ var _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! @atlaskit/theme/colors */ \"./node_modules/@atlaskit/theme/dist/esm/colors.js\");\n/* harmony import */ var _atlaskit_theme_constants__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! @atlaskit/theme/constants */ \"./node_modules/@atlaskit/theme/dist/esm/constants.js\");\n/* harmony import */ var _common_constants__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../../../common/constants */ \"./node_modules/@atlaskit/navigation-next/dist/esm/common/constants.js\");\n/* harmony import */ var _ui_controller__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ../../../ui-controller */ \"./node_modules/@atlaskit/navigation-next/dist/esm/ui-controller.js\");\n/* harmony import */ var _Option__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./Option */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/Switcher/Option.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar gridSize = Object(_atlaskit_theme_constants__WEBPACK_IMPORTED_MODULE_18__[\"gridSize\"])();\nvar defaultStyles = {\n option: function option(provided, _ref) {\n var isActive = _ref.isActive,\n isFocused = _ref.isFocused;\n return _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_10___default()({}, provided, {\n alignItems: 'center',\n border: 'none',\n backgroundColor: isFocused ? _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_17__[\"N30\"] : 'transparent',\n boxSizing: 'border-box',\n color: 'inherit',\n cursor: 'default',\n display: 'flex',\n flexShrink: 0,\n fontSize: 'inherit',\n height: gridSize * 6,\n outline: 'none',\n paddingRight: gridSize,\n paddingLeft: gridSize,\n textAlign: 'left',\n textDecoration: 'none',\n width: '100%'\n }, isActive && {\n backgroundColor: _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_17__[\"B50\"]\n });\n }\n}; // ==============================\n// Custom Functions\n// ==============================\n\nvar createStyles = function createStyles() {\n var styles = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return Object(_atlaskit_select__WEBPACK_IMPORTED_MODULE_16__[\"mergeStyles\"])(defaultStyles, styles);\n};\nvar filterOption = function filterOption(_ref2, input) {\n var data = _ref2.data;\n return data.text.toLowerCase().includes(input.toLowerCase());\n};\nvar isOptionSelected = function isOptionSelected(option, selected) {\n if (!selected || !selected.length) return false;\n return option.id === selected[0].id;\n};\nvar getOptionValue = function getOptionValue(option) {\n return option.id;\n}; // ==============================\n// Custom Components\n// ==============================\n\nvar Control = function Control(_ref3) {\n var _ref3$innerProps = _ref3.innerProps,\n innerRef = _ref3$innerProps.innerRef,\n innerProps = _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_9___default()(_ref3$innerProps, [\"innerRef\"]),\n props = _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_9___default()(_ref3, [\"innerProps\"]);\n\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_11__[\"jsx\"])(\"div\", {\n ref: innerRef,\n css:\n /*#__PURE__*/\n Object(_emotion_css__WEBPACK_IMPORTED_MODULE_8__[\"default\"])({\n boxShadow: \"0 2px 0 \".concat(_atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_17__[\"N40A\"]),\n padding: gridSize,\n position: 'relative'\n }, false ? undefined : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL1N3aXRjaGVyL2luZGV4LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW9FSSIsImZpbGUiOiIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9wcmVzZW50YXRpb25hbC9Td2l0Y2hlci9pbmRleC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyBjbG9uZUVsZW1lbnQsIFB1cmVDb21wb25lbnQgfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCBOb2RlUmVzb2x2ZXIgZnJvbSAncmVhY3Qtbm9kZS1yZXNvbHZlcic7XG5pbXBvcnQgc2hhbGxvd0VxdWFsT2JqZWN0cyBmcm9tICdzaGFsbG93LWVxdWFsL29iamVjdHMnO1xuXG5pbXBvcnQgQWRkSWNvbiBmcm9tICdAYXRsYXNraXQvaWNvbi9nbHlwaC9hZGQnO1xuaW1wb3J0IHsgY29tcG9uZW50cywgbWVyZ2VTdHlsZXMsIFBvcHVwU2VsZWN0IH0gZnJvbSAnQGF0bGFza2l0L3NlbGVjdCc7XG5pbXBvcnQgeyBCMzAwLCBCNTAsIE4yMDAsIE4zMCwgTjQwQSB9IGZyb20gJ0BhdGxhc2tpdC90aGVtZS9jb2xvcnMnO1xuaW1wb3J0IHsgZ3JpZFNpemUgYXMgZ3JpZFNpemVGbiB9IGZyb20gJ0BhdGxhc2tpdC90aGVtZS9jb25zdGFudHMnO1xuXG5pbXBvcnQgeyBDT05URU5UX05BVl9XSURUSCB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9jb25zdGFudHMnO1xuaW1wb3J0IHsgVUlDb250cm9sbGVyU3Vic2NyaWJlciB9IGZyb20gJy4uLy4uLy4uL3VpLWNvbnRyb2xsZXInO1xuXG5pbXBvcnQgT3B0aW9uIGZyb20gJy4vT3B0aW9uJztcblxuY29uc3QgZ3JpZFNpemUgPSBncmlkU2l6ZUZuKCk7XG5cbmNvbnN0IGRlZmF1bHRTdHlsZXMgPSB7XG4gIG9wdGlvbjogKHByb3ZpZGVkLCB7IGlzQWN0aXZlLCBpc0ZvY3VzZWQgfSkgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5wcm92aWRlZCxcbiAgICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgICAgYm9yZGVyOiAnbm9uZScsXG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6IGlzRm9jdXNlZCA/IE4zMCA6ICd0cmFuc3BhcmVudCcsXG4gICAgICBib3hTaXppbmc6ICdib3JkZXItYm94JyxcbiAgICAgIGNvbG9yOiAnaW5oZXJpdCcsXG4gICAgICBjdXJzb3I6ICdkZWZhdWx0JyxcbiAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgIGZsZXhTaHJpbms6IDAsXG4gICAgICBmb250U2l6ZTogJ2luaGVyaXQnLFxuICAgICAgaGVpZ2h0OiBncmlkU2l6ZSAqIDYsXG4gICAgICBvdXRsaW5lOiAnbm9uZScsXG4gICAgICBwYWRkaW5nUmlnaHQ6IGdyaWRTaXplLFxuICAgICAgcGFkZGluZ0xlZnQ6IGdyaWRTaXplLFxuICAgICAgdGV4dEFsaWduOiAnbGVmdCcsXG4gICAgICB0ZXh0RGVjb3JhdGlvbjogJ25vbmUnLFxuICAgICAgd2lkdGg6ICcxMDAlJyxcbiAgICAgIC4uLihpc0FjdGl2ZSAmJiB7IGJhY2tncm91bmRDb2xvcjogQjUwIH0pLFxuICAgIH07XG4gIH0sXG59O1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEN1c3RvbSBGdW5jdGlvbnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5leHBvcnQgY29uc3QgY3JlYXRlU3R5bGVzID0gKHN0eWxlcyA9IHt9KSA9PiBtZXJnZVN0eWxlcyhkZWZhdWx0U3R5bGVzLCBzdHlsZXMpO1xuXG5leHBvcnQgY29uc3QgZmlsdGVyT3B0aW9uID0gKHsgZGF0YSB9LCBpbnB1dCkgPT5cbiAgZGF0YS50ZXh0LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoaW5wdXQudG9Mb3dlckNhc2UoKSk7XG5cbmV4cG9ydCBjb25zdCBpc09wdGlvblNlbGVjdGVkID0gKG9wdGlvbiwgc2VsZWN0ZWQpID0+IHtcbiAgaWYgKCFzZWxlY3RlZCB8fCAhc2VsZWN0ZWQubGVuZ3RoKSByZXR1cm4gZmFsc2U7XG4gIHJldHVybiBvcHRpb24uaWQgPT09IHNlbGVjdGVkWzBdLmlkO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldE9wdGlvblZhbHVlID0gb3B0aW9uID0+IG9wdGlvbi5pZDtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBDdXN0b20gQ29tcG9uZW50c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmV4cG9ydCBjb25zdCBDb250cm9sID0gKHtcbiAgaW5uZXJQcm9wczogeyBpbm5lclJlZiwgLi4uaW5uZXJQcm9wcyB9LFxuICAuLi5wcm9wc1xufSkgPT4gKFxuICA8ZGl2XG4gICAgcmVmPXtpbm5lclJlZn1cbiAgICBjc3M9e3tcbiAgICAgIGJveFNoYWRvdzogYDAgMnB4IDAgJHtONDBBfWAsXG4gICAgICBwYWRkaW5nOiBncmlkU2l6ZSxcbiAgICAgIHBvc2l0aW9uOiAncmVsYXRpdmUnLFxuICAgIH19XG4gID5cbiAgICA8Y29tcG9uZW50cy5Db250cm9sIHsuLi5wcm9wc30gaW5uZXJQcm9wcz17aW5uZXJQcm9wc30gLz5cbiAgPC9kaXY+XG4pO1xuZXhwb3J0IGNvbnN0IEZvb3RlciA9ICh7IHRleHQsIG9uQ2xpY2sgfSkgPT4gKFxuICA8YnV0dG9uXG4gICAgY3NzPXt7XG4gICAgICBiYWNrZ3JvdW5kOiAwLFxuICAgICAgYm9yZGVyOiAwLFxuICAgICAgYm94U2hhZG93OiBgMCAtMnB4IDAgJHtONDBBfWAsXG4gICAgICBib3hTaXppbmc6ICdib3JkZXItYm94JyxcbiAgICAgIGNvbG9yOiBOMjAwLFxuICAgICAgY3Vyc29yOiAncG9pbnRlcicsXG4gICAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgIGZvbnRTaXplOiAnaW5oZXJpdCcsXG4gICAgICBwYWRkaW5nOiBgJHtncmlkU2l6ZSAqIDEuNX1weCAke2dyaWRTaXplfXB4YCxcbiAgICAgIHBvc2l0aW9uOiAncmVsYXRpdmUnLFxuICAgICAgdGV4dEFsaWduOiAnbGVmdCcsXG4gICAgICB3aWR0aDogJzEwMCUnLFxuXG4gICAgICAnOmhvdmVyLCA6Zm9jdXMnOiB7XG4gICAgICAgIGNvbG9yOiBCMzAwLFxuICAgICAgICBvdXRsaW5lOiAwLFxuICAgICAgICB0ZXh0RGVjb3JhdGlvbjogJ3VuZGVybGluZScsXG4gICAgICB9LFxuICAgIH19XG4gICAgb25DbGljaz17b25DbGlja31cbiAgPlxuICAgIDxBZGRJY29uIGxhYmVsPVwiQWRkIGljb25cIiBzaXplPVwic21hbGxcIiAvPlxuICAgIDxzcGFuIGNzcz17eyBtYXJnaW5MZWZ0OiBncmlkU2l6ZSB9fT57dGV4dH08L3NwYW4+XG4gIDwvYnV0dG9uPlxuKTtcblxuY29uc3QgZGVmYXVsdENvbXBvbmVudHMgPSB7IENvbnRyb2wsIE9wdGlvbiB9O1xuY29uc3QgaXNFbXB0eSA9IG9iaiA9PiBPYmplY3Qua2V5cyhvYmopLmxlbmd0aCA9PT0gMDtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBDbGFzc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmNsYXNzIFN3aXRjaGVyIGV4dGVuZHMgUHVyZUNvbXBvbmVudCB7XG4gIHN0YXRlID0ge1xuICAgIG1lcmdlZENvbXBvbmVudHM6IGRlZmF1bHRDb21wb25lbnRzLFxuICB9O1xuXG4gIHNlbGVjdFJlZiA9IFJlYWN0LmNyZWF0ZVJlZigpO1xuXG4gIHRhcmdldFJlZjtcblxuICB0YXJnZXRXaWR0aCA9IDA7XG5cbiAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICBjbG9zZU1lbnVPbkNyZWF0ZTogdHJ1ZSxcbiAgICBjb21wb25lbnRzOiB7fSxcbiAgICBuYXZXaWR0aDogQ09OVEVOVF9OQVZfV0lEVEgsXG4gICAgaXNOYXZSZXNpemluZzogZmFsc2UsXG4gIH07XG5cbiAgc3RhdGljIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyhwcm9wcywgc3RhdGUpIHtcbiAgICBjb25zdCBuZXdTdGF0ZSA9IHt9O1xuXG4gICAgLy8gTWVyZ2UgY29uc3VtZXIgYW5kIGRlZmF1bHQgY29tcG9uZW50c1xuICAgIGNvbnN0IG1lcmdlZENvbXBvbmVudHMgPSB7IC4uLmRlZmF1bHRDb21wb25lbnRzLCAuLi5wcm9wcy5jb21wb25lbnRzIH07XG4gICAgaWYgKCFzaGFsbG93RXF1YWxPYmplY3RzKG1lcmdlZENvbXBvbmVudHMsIHN0YXRlLm1lcmdlZENvbXBvbmVudHMpKSB7XG4gICAgICBuZXdTdGF0ZS5tZXJnZWRDb21wb25lbnRzID0gbWVyZ2VkQ29tcG9uZW50cztcbiAgICB9XG5cbiAgICBpZiAoIWlzRW1wdHkobmV3U3RhdGUpKSByZXR1cm4gbmV3U3RhdGU7XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGNvbXBvbmVudERpZFVwZGF0ZSh7IGlzTmF2UmVzaXppbmcgfSkge1xuICAgIGlmIChcbiAgICAgIGlzTmF2UmVzaXppbmcgJiZcbiAgICAgIHRoaXMuc2VsZWN0UmVmLmN1cnJlbnQgJiZcbiAgICAgIHRoaXMuc2VsZWN0UmVmLmN1cnJlbnQuc3RhdGUuaXNPcGVuXG4gICAgKSB7XG4gICAgICB0aGlzLnNlbGVjdFJlZi5jdXJyZW50LmNsb3NlKCk7XG4gICAgfVxuICB9XG5cbiAgcmVzb2x2ZVRhcmdldFJlZiA9IHBvcHVwUmVmID0+IHJlZiA9PiB7XG4gICAgLy8gYXZvaWQgdGhyYXNoaW5nIGZuIGNhbGxzXG4gICAgaWYgKCF0aGlzLnRhcmdldFJlZiAmJiBwb3B1cFJlZiAmJiByZWYpIHtcbiAgICAgIHRoaXMudGFyZ2V0UmVmID0gcmVmO1xuICAgICAgcG9wdXBSZWYocmVmKTtcbiAgICB9XG4gIH07XG5cbiAgZ2V0Rm9vdGVyID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY2xvc2VNZW51T25DcmVhdGUsIGNyZWF0ZSwgZm9vdGVyIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKGZvb3RlcikgcmV0dXJuIGZvb3RlcjtcbiAgICBpZiAoIWNyZWF0ZSkgcmV0dXJuIG51bGw7XG5cbiAgICBsZXQgeyBvbkNsaWNrIH0gPSBjcmVhdGU7XG4gICAgaWYgKGNsb3NlTWVudU9uQ3JlYXRlKSB7XG4gICAgICBvbkNsaWNrID0gZSA9PiB7XG4gICAgICAgIGlmICh0aGlzLnNlbGVjdFJlZi5jdXJyZW50KSB7XG4gICAgICAgICAgdGhpcy5zZWxlY3RSZWYuY3VycmVudC5jbG9zZSgpO1xuICAgICAgICB9XG4gICAgICAgIGNyZWF0ZS5vbkNsaWNrKGUpO1xuICAgICAgfTtcbiAgICB9XG5cbiAgICByZXR1cm4gPEZvb3RlciB0ZXh0PXtjcmVhdGUudGV4dH0gb25DbGljaz17b25DbGlja30gLz47XG4gIH07XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHsgY3JlYXRlLCBvcHRpb25zLCB0YXJnZXQsIC4uLnByb3BzIH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IHsgbWVyZ2VkQ29tcG9uZW50cyB9ID0gdGhpcy5zdGF0ZTtcbiAgICBjb25zdCB0YXJnZXRXaWR0aCA9IHRoaXMucHJvcHMubmF2V2lkdGggLSBncmlkU2l6ZSAqIDI7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFBvcHVwU2VsZWN0XG4gICAgICAgIHJlZj17dGhpcy5zZWxlY3RSZWZ9XG4gICAgICAgIGZpbHRlck9wdGlvbj17ZmlsdGVyT3B0aW9ufVxuICAgICAgICBpc09wdGlvblNlbGVjdGVkPXtpc09wdGlvblNlbGVjdGVkfVxuICAgICAgICBmb290ZXI9e3RoaXMuZ2V0Rm9vdGVyKCl9XG4gICAgICAgIGdldE9wdGlvblZhbHVlPXtnZXRPcHRpb25WYWx1ZX1cbiAgICAgICAgb3B0aW9ucz17b3B0aW9uc31cbiAgICAgICAgbWF4TWVudVdpZHRoPXt0YXJnZXRXaWR0aH1cbiAgICAgICAgbWluTWVudVdpZHRoPXt0YXJnZXRXaWR0aH1cbiAgICAgICAgdGFyZ2V0PXsoeyByZWYsIGlzT3BlbiB9KSA9PiAoXG4gICAgICAgICAgPE5vZGVSZXNvbHZlciBpbm5lclJlZj17dGhpcy5yZXNvbHZlVGFyZ2V0UmVmKHJlZil9PlxuICAgICAgICAgICAge2Nsb25lRWxlbWVudCh0YXJnZXQsIHsgaXNTZWxlY3RlZDogaXNPcGVuIH0pfVxuICAgICAgICAgIDwvTm9kZVJlc29sdmVyPlxuICAgICAgICApfVxuICAgICAgICB7Li4ucHJvcHN9XG4gICAgICAgIHN0eWxlcz17Y3JlYXRlU3R5bGVzKHRoaXMucHJvcHMuc3R5bGVzKX1cbiAgICAgICAgY29tcG9uZW50cz17bWVyZ2VkQ29tcG9uZW50c31cbiAgICAgIC8+XG4gICAgKTtcbiAgfVxufVxuXG5leHBvcnQgeyBTd2l0Y2hlciBhcyBCYXNlU3dpdGNoZXIgfTtcblxuZXhwb3J0IGRlZmF1bHQgcHJvcHMgPT4gKFxuICA8VUlDb250cm9sbGVyU3Vic2NyaWJlcj5cbiAgICB7KHsgc3RhdGUgfSkgPT4gKFxuICAgICAgPFN3aXRjaGVyXG4gICAgICAgIG5hdldpZHRoPXtzdGF0ZS5wcm9kdWN0TmF2V2lkdGh9XG4gICAgICAgIGlzTmF2UmVzaXppbmc9e3N0YXRlLmlzUmVzaXppbmd9XG4gICAgICAgIHsuLi5wcm9wc31cbiAgICAgIC8+XG4gICAgKX1cbiAgPC9VSUNvbnRyb2xsZXJTdWJzY3JpYmVyPlxuKTtcbiJdfQ== */\")\n }, Object(_emotion_core__WEBPACK_IMPORTED_MODULE_11__[\"jsx\"])(_atlaskit_select__WEBPACK_IMPORTED_MODULE_16__[\"components\"].Control, _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_7___default()({}, props, {\n innerProps: innerProps\n })));\n};\nvar Footer = function Footer(_ref4) {\n var text = _ref4.text,\n onClick = _ref4.onClick;\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_11__[\"jsx\"])(\"button\", {\n css:\n /*#__PURE__*/\n Object(_emotion_css__WEBPACK_IMPORTED_MODULE_8__[\"default\"])({\n background: 0,\n border: 0,\n boxShadow: \"0 -2px 0 \".concat(_atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_17__[\"N40A\"]),\n boxSizing: 'border-box',\n color: _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_17__[\"N200\"],\n cursor: 'pointer',\n alignItems: 'center',\n display: 'flex',\n fontSize: 'inherit',\n padding: \"\".concat(gridSize * 1.5, \"px \").concat(gridSize, \"px\"),\n position: 'relative',\n textAlign: 'left',\n width: '100%',\n ':hover, :focus': {\n color: _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_17__[\"B300\"],\n outline: 0,\n textDecoration: 'underline'\n }\n }, false ? undefined : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL1N3aXRjaGVyL2luZGV4LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQStFSSIsImZpbGUiOiIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9wcmVzZW50YXRpb25hbC9Td2l0Y2hlci9pbmRleC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyBjbG9uZUVsZW1lbnQsIFB1cmVDb21wb25lbnQgfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCBOb2RlUmVzb2x2ZXIgZnJvbSAncmVhY3Qtbm9kZS1yZXNvbHZlcic7XG5pbXBvcnQgc2hhbGxvd0VxdWFsT2JqZWN0cyBmcm9tICdzaGFsbG93LWVxdWFsL29iamVjdHMnO1xuXG5pbXBvcnQgQWRkSWNvbiBmcm9tICdAYXRsYXNraXQvaWNvbi9nbHlwaC9hZGQnO1xuaW1wb3J0IHsgY29tcG9uZW50cywgbWVyZ2VTdHlsZXMsIFBvcHVwU2VsZWN0IH0gZnJvbSAnQGF0bGFza2l0L3NlbGVjdCc7XG5pbXBvcnQgeyBCMzAwLCBCNTAsIE4yMDAsIE4zMCwgTjQwQSB9IGZyb20gJ0BhdGxhc2tpdC90aGVtZS9jb2xvcnMnO1xuaW1wb3J0IHsgZ3JpZFNpemUgYXMgZ3JpZFNpemVGbiB9IGZyb20gJ0BhdGxhc2tpdC90aGVtZS9jb25zdGFudHMnO1xuXG5pbXBvcnQgeyBDT05URU5UX05BVl9XSURUSCB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9jb25zdGFudHMnO1xuaW1wb3J0IHsgVUlDb250cm9sbGVyU3Vic2NyaWJlciB9IGZyb20gJy4uLy4uLy4uL3VpLWNvbnRyb2xsZXInO1xuXG5pbXBvcnQgT3B0aW9uIGZyb20gJy4vT3B0aW9uJztcblxuY29uc3QgZ3JpZFNpemUgPSBncmlkU2l6ZUZuKCk7XG5cbmNvbnN0IGRlZmF1bHRTdHlsZXMgPSB7XG4gIG9wdGlvbjogKHByb3ZpZGVkLCB7IGlzQWN0aXZlLCBpc0ZvY3VzZWQgfSkgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5wcm92aWRlZCxcbiAgICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgICAgYm9yZGVyOiAnbm9uZScsXG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6IGlzRm9jdXNlZCA/IE4zMCA6ICd0cmFuc3BhcmVudCcsXG4gICAgICBib3hTaXppbmc6ICdib3JkZXItYm94JyxcbiAgICAgIGNvbG9yOiAnaW5oZXJpdCcsXG4gICAgICBjdXJzb3I6ICdkZWZhdWx0JyxcbiAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgIGZsZXhTaHJpbms6IDAsXG4gICAgICBmb250U2l6ZTogJ2luaGVyaXQnLFxuICAgICAgaGVpZ2h0OiBncmlkU2l6ZSAqIDYsXG4gICAgICBvdXRsaW5lOiAnbm9uZScsXG4gICAgICBwYWRkaW5nUmlnaHQ6IGdyaWRTaXplLFxuICAgICAgcGFkZGluZ0xlZnQ6IGdyaWRTaXplLFxuICAgICAgdGV4dEFsaWduOiAnbGVmdCcsXG4gICAgICB0ZXh0RGVjb3JhdGlvbjogJ25vbmUnLFxuICAgICAgd2lkdGg6ICcxMDAlJyxcbiAgICAgIC4uLihpc0FjdGl2ZSAmJiB7IGJhY2tncm91bmRDb2xvcjogQjUwIH0pLFxuICAgIH07XG4gIH0sXG59O1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEN1c3RvbSBGdW5jdGlvbnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5leHBvcnQgY29uc3QgY3JlYXRlU3R5bGVzID0gKHN0eWxlcyA9IHt9KSA9PiBtZXJnZVN0eWxlcyhkZWZhdWx0U3R5bGVzLCBzdHlsZXMpO1xuXG5leHBvcnQgY29uc3QgZmlsdGVyT3B0aW9uID0gKHsgZGF0YSB9LCBpbnB1dCkgPT5cbiAgZGF0YS50ZXh0LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoaW5wdXQudG9Mb3dlckNhc2UoKSk7XG5cbmV4cG9ydCBjb25zdCBpc09wdGlvblNlbGVjdGVkID0gKG9wdGlvbiwgc2VsZWN0ZWQpID0+IHtcbiAgaWYgKCFzZWxlY3RlZCB8fCAhc2VsZWN0ZWQubGVuZ3RoKSByZXR1cm4gZmFsc2U7XG4gIHJldHVybiBvcHRpb24uaWQgPT09IHNlbGVjdGVkWzBdLmlkO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldE9wdGlvblZhbHVlID0gb3B0aW9uID0+IG9wdGlvbi5pZDtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBDdXN0b20gQ29tcG9uZW50c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmV4cG9ydCBjb25zdCBDb250cm9sID0gKHtcbiAgaW5uZXJQcm9wczogeyBpbm5lclJlZiwgLi4uaW5uZXJQcm9wcyB9LFxuICAuLi5wcm9wc1xufSkgPT4gKFxuICA8ZGl2XG4gICAgcmVmPXtpbm5lclJlZn1cbiAgICBjc3M9e3tcbiAgICAgIGJveFNoYWRvdzogYDAgMnB4IDAgJHtONDBBfWAsXG4gICAgICBwYWRkaW5nOiBncmlkU2l6ZSxcbiAgICAgIHBvc2l0aW9uOiAncmVsYXRpdmUnLFxuICAgIH19XG4gID5cbiAgICA8Y29tcG9uZW50cy5Db250cm9sIHsuLi5wcm9wc30gaW5uZXJQcm9wcz17aW5uZXJQcm9wc30gLz5cbiAgPC9kaXY+XG4pO1xuZXhwb3J0IGNvbnN0IEZvb3RlciA9ICh7IHRleHQsIG9uQ2xpY2sgfSkgPT4gKFxuICA8YnV0dG9uXG4gICAgY3NzPXt7XG4gICAgICBiYWNrZ3JvdW5kOiAwLFxuICAgICAgYm9yZGVyOiAwLFxuICAgICAgYm94U2hhZG93OiBgMCAtMnB4IDAgJHtONDBBfWAsXG4gICAgICBib3hTaXppbmc6ICdib3JkZXItYm94JyxcbiAgICAgIGNvbG9yOiBOMjAwLFxuICAgICAgY3Vyc29yOiAncG9pbnRlcicsXG4gICAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgIGZvbnRTaXplOiAnaW5oZXJpdCcsXG4gICAgICBwYWRkaW5nOiBgJHtncmlkU2l6ZSAqIDEuNX1weCAke2dyaWRTaXplfXB4YCxcbiAgICAgIHBvc2l0aW9uOiAncmVsYXRpdmUnLFxuICAgICAgdGV4dEFsaWduOiAnbGVmdCcsXG4gICAgICB3aWR0aDogJzEwMCUnLFxuXG4gICAgICAnOmhvdmVyLCA6Zm9jdXMnOiB7XG4gICAgICAgIGNvbG9yOiBCMzAwLFxuICAgICAgICBvdXRsaW5lOiAwLFxuICAgICAgICB0ZXh0RGVjb3JhdGlvbjogJ3VuZGVybGluZScsXG4gICAgICB9LFxuICAgIH19XG4gICAgb25DbGljaz17b25DbGlja31cbiAgPlxuICAgIDxBZGRJY29uIGxhYmVsPVwiQWRkIGljb25cIiBzaXplPVwic21hbGxcIiAvPlxuICAgIDxzcGFuIGNzcz17eyBtYXJnaW5MZWZ0OiBncmlkU2l6ZSB9fT57dGV4dH08L3NwYW4+XG4gIDwvYnV0dG9uPlxuKTtcblxuY29uc3QgZGVmYXVsdENvbXBvbmVudHMgPSB7IENvbnRyb2wsIE9wdGlvbiB9O1xuY29uc3QgaXNFbXB0eSA9IG9iaiA9PiBPYmplY3Qua2V5cyhvYmopLmxlbmd0aCA9PT0gMDtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBDbGFzc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmNsYXNzIFN3aXRjaGVyIGV4dGVuZHMgUHVyZUNvbXBvbmVudCB7XG4gIHN0YXRlID0ge1xuICAgIG1lcmdlZENvbXBvbmVudHM6IGRlZmF1bHRDb21wb25lbnRzLFxuICB9O1xuXG4gIHNlbGVjdFJlZiA9IFJlYWN0LmNyZWF0ZVJlZigpO1xuXG4gIHRhcmdldFJlZjtcblxuICB0YXJnZXRXaWR0aCA9IDA7XG5cbiAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICBjbG9zZU1lbnVPbkNyZWF0ZTogdHJ1ZSxcbiAgICBjb21wb25lbnRzOiB7fSxcbiAgICBuYXZXaWR0aDogQ09OVEVOVF9OQVZfV0lEVEgsXG4gICAgaXNOYXZSZXNpemluZzogZmFsc2UsXG4gIH07XG5cbiAgc3RhdGljIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyhwcm9wcywgc3RhdGUpIHtcbiAgICBjb25zdCBuZXdTdGF0ZSA9IHt9O1xuXG4gICAgLy8gTWVyZ2UgY29uc3VtZXIgYW5kIGRlZmF1bHQgY29tcG9uZW50c1xuICAgIGNvbnN0IG1lcmdlZENvbXBvbmVudHMgPSB7IC4uLmRlZmF1bHRDb21wb25lbnRzLCAuLi5wcm9wcy5jb21wb25lbnRzIH07XG4gICAgaWYgKCFzaGFsbG93RXF1YWxPYmplY3RzKG1lcmdlZENvbXBvbmVudHMsIHN0YXRlLm1lcmdlZENvbXBvbmVudHMpKSB7XG4gICAgICBuZXdTdGF0ZS5tZXJnZWRDb21wb25lbnRzID0gbWVyZ2VkQ29tcG9uZW50cztcbiAgICB9XG5cbiAgICBpZiAoIWlzRW1wdHkobmV3U3RhdGUpKSByZXR1cm4gbmV3U3RhdGU7XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGNvbXBvbmVudERpZFVwZGF0ZSh7IGlzTmF2UmVzaXppbmcgfSkge1xuICAgIGlmIChcbiAgICAgIGlzTmF2UmVzaXppbmcgJiZcbiAgICAgIHRoaXMuc2VsZWN0UmVmLmN1cnJlbnQgJiZcbiAgICAgIHRoaXMuc2VsZWN0UmVmLmN1cnJlbnQuc3RhdGUuaXNPcGVuXG4gICAgKSB7XG4gICAgICB0aGlzLnNlbGVjdFJlZi5jdXJyZW50LmNsb3NlKCk7XG4gICAgfVxuICB9XG5cbiAgcmVzb2x2ZVRhcmdldFJlZiA9IHBvcHVwUmVmID0+IHJlZiA9PiB7XG4gICAgLy8gYXZvaWQgdGhyYXNoaW5nIGZuIGNhbGxzXG4gICAgaWYgKCF0aGlzLnRhcmdldFJlZiAmJiBwb3B1cFJlZiAmJiByZWYpIHtcbiAgICAgIHRoaXMudGFyZ2V0UmVmID0gcmVmO1xuICAgICAgcG9wdXBSZWYocmVmKTtcbiAgICB9XG4gIH07XG5cbiAgZ2V0Rm9vdGVyID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY2xvc2VNZW51T25DcmVhdGUsIGNyZWF0ZSwgZm9vdGVyIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKGZvb3RlcikgcmV0dXJuIGZvb3RlcjtcbiAgICBpZiAoIWNyZWF0ZSkgcmV0dXJuIG51bGw7XG5cbiAgICBsZXQgeyBvbkNsaWNrIH0gPSBjcmVhdGU7XG4gICAgaWYgKGNsb3NlTWVudU9uQ3JlYXRlKSB7XG4gICAgICBvbkNsaWNrID0gZSA9PiB7XG4gICAgICAgIGlmICh0aGlzLnNlbGVjdFJlZi5jdXJyZW50KSB7XG4gICAgICAgICAgdGhpcy5zZWxlY3RSZWYuY3VycmVudC5jbG9zZSgpO1xuICAgICAgICB9XG4gICAgICAgIGNyZWF0ZS5vbkNsaWNrKGUpO1xuICAgICAgfTtcbiAgICB9XG5cbiAgICByZXR1cm4gPEZvb3RlciB0ZXh0PXtjcmVhdGUudGV4dH0gb25DbGljaz17b25DbGlja30gLz47XG4gIH07XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHsgY3JlYXRlLCBvcHRpb25zLCB0YXJnZXQsIC4uLnByb3BzIH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IHsgbWVyZ2VkQ29tcG9uZW50cyB9ID0gdGhpcy5zdGF0ZTtcbiAgICBjb25zdCB0YXJnZXRXaWR0aCA9IHRoaXMucHJvcHMubmF2V2lkdGggLSBncmlkU2l6ZSAqIDI7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFBvcHVwU2VsZWN0XG4gICAgICAgIHJlZj17dGhpcy5zZWxlY3RSZWZ9XG4gICAgICAgIGZpbHRlck9wdGlvbj17ZmlsdGVyT3B0aW9ufVxuICAgICAgICBpc09wdGlvblNlbGVjdGVkPXtpc09wdGlvblNlbGVjdGVkfVxuICAgICAgICBmb290ZXI9e3RoaXMuZ2V0Rm9vdGVyKCl9XG4gICAgICAgIGdldE9wdGlvblZhbHVlPXtnZXRPcHRpb25WYWx1ZX1cbiAgICAgICAgb3B0aW9ucz17b3B0aW9uc31cbiAgICAgICAgbWF4TWVudVdpZHRoPXt0YXJnZXRXaWR0aH1cbiAgICAgICAgbWluTWVudVdpZHRoPXt0YXJnZXRXaWR0aH1cbiAgICAgICAgdGFyZ2V0PXsoeyByZWYsIGlzT3BlbiB9KSA9PiAoXG4gICAgICAgICAgPE5vZGVSZXNvbHZlciBpbm5lclJlZj17dGhpcy5yZXNvbHZlVGFyZ2V0UmVmKHJlZil9PlxuICAgICAgICAgICAge2Nsb25lRWxlbWVudCh0YXJnZXQsIHsgaXNTZWxlY3RlZDogaXNPcGVuIH0pfVxuICAgICAgICAgIDwvTm9kZVJlc29sdmVyPlxuICAgICAgICApfVxuICAgICAgICB7Li4ucHJvcHN9XG4gICAgICAgIHN0eWxlcz17Y3JlYXRlU3R5bGVzKHRoaXMucHJvcHMuc3R5bGVzKX1cbiAgICAgICAgY29tcG9uZW50cz17bWVyZ2VkQ29tcG9uZW50c31cbiAgICAgIC8+XG4gICAgKTtcbiAgfVxufVxuXG5leHBvcnQgeyBTd2l0Y2hlciBhcyBCYXNlU3dpdGNoZXIgfTtcblxuZXhwb3J0IGRlZmF1bHQgcHJvcHMgPT4gKFxuICA8VUlDb250cm9sbGVyU3Vic2NyaWJlcj5cbiAgICB7KHsgc3RhdGUgfSkgPT4gKFxuICAgICAgPFN3aXRjaGVyXG4gICAgICAgIG5hdldpZHRoPXtzdGF0ZS5wcm9kdWN0TmF2V2lkdGh9XG4gICAgICAgIGlzTmF2UmVzaXppbmc9e3N0YXRlLmlzUmVzaXppbmd9XG4gICAgICAgIHsuLi5wcm9wc31cbiAgICAgIC8+XG4gICAgKX1cbiAgPC9VSUNvbnRyb2xsZXJTdWJzY3JpYmVyPlxuKTtcbiJdfQ== */\"),\n onClick: onClick\n }, Object(_emotion_core__WEBPACK_IMPORTED_MODULE_11__[\"jsx\"])(_atlaskit_icon_glyph_add__WEBPACK_IMPORTED_MODULE_15___default.a, {\n label: \"Add icon\",\n size: \"small\"\n }), Object(_emotion_core__WEBPACK_IMPORTED_MODULE_11__[\"jsx\"])(\"span\", {\n css:\n /*#__PURE__*/\n Object(_emotion_css__WEBPACK_IMPORTED_MODULE_8__[\"default\"])({\n marginLeft: gridSize\n }, false ? undefined : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL1N3aXRjaGVyL2luZGV4LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXVHVSIsImZpbGUiOiIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9wcmVzZW50YXRpb25hbC9Td2l0Y2hlci9pbmRleC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyBjbG9uZUVsZW1lbnQsIFB1cmVDb21wb25lbnQgfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCBOb2RlUmVzb2x2ZXIgZnJvbSAncmVhY3Qtbm9kZS1yZXNvbHZlcic7XG5pbXBvcnQgc2hhbGxvd0VxdWFsT2JqZWN0cyBmcm9tICdzaGFsbG93LWVxdWFsL29iamVjdHMnO1xuXG5pbXBvcnQgQWRkSWNvbiBmcm9tICdAYXRsYXNraXQvaWNvbi9nbHlwaC9hZGQnO1xuaW1wb3J0IHsgY29tcG9uZW50cywgbWVyZ2VTdHlsZXMsIFBvcHVwU2VsZWN0IH0gZnJvbSAnQGF0bGFza2l0L3NlbGVjdCc7XG5pbXBvcnQgeyBCMzAwLCBCNTAsIE4yMDAsIE4zMCwgTjQwQSB9IGZyb20gJ0BhdGxhc2tpdC90aGVtZS9jb2xvcnMnO1xuaW1wb3J0IHsgZ3JpZFNpemUgYXMgZ3JpZFNpemVGbiB9IGZyb20gJ0BhdGxhc2tpdC90aGVtZS9jb25zdGFudHMnO1xuXG5pbXBvcnQgeyBDT05URU5UX05BVl9XSURUSCB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9jb25zdGFudHMnO1xuaW1wb3J0IHsgVUlDb250cm9sbGVyU3Vic2NyaWJlciB9IGZyb20gJy4uLy4uLy4uL3VpLWNvbnRyb2xsZXInO1xuXG5pbXBvcnQgT3B0aW9uIGZyb20gJy4vT3B0aW9uJztcblxuY29uc3QgZ3JpZFNpemUgPSBncmlkU2l6ZUZuKCk7XG5cbmNvbnN0IGRlZmF1bHRTdHlsZXMgPSB7XG4gIG9wdGlvbjogKHByb3ZpZGVkLCB7IGlzQWN0aXZlLCBpc0ZvY3VzZWQgfSkgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5wcm92aWRlZCxcbiAgICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgICAgYm9yZGVyOiAnbm9uZScsXG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6IGlzRm9jdXNlZCA/IE4zMCA6ICd0cmFuc3BhcmVudCcsXG4gICAgICBib3hTaXppbmc6ICdib3JkZXItYm94JyxcbiAgICAgIGNvbG9yOiAnaW5oZXJpdCcsXG4gICAgICBjdXJzb3I6ICdkZWZhdWx0JyxcbiAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgIGZsZXhTaHJpbms6IDAsXG4gICAgICBmb250U2l6ZTogJ2luaGVyaXQnLFxuICAgICAgaGVpZ2h0OiBncmlkU2l6ZSAqIDYsXG4gICAgICBvdXRsaW5lOiAnbm9uZScsXG4gICAgICBwYWRkaW5nUmlnaHQ6IGdyaWRTaXplLFxuICAgICAgcGFkZGluZ0xlZnQ6IGdyaWRTaXplLFxuICAgICAgdGV4dEFsaWduOiAnbGVmdCcsXG4gICAgICB0ZXh0RGVjb3JhdGlvbjogJ25vbmUnLFxuICAgICAgd2lkdGg6ICcxMDAlJyxcbiAgICAgIC4uLihpc0FjdGl2ZSAmJiB7IGJhY2tncm91bmRDb2xvcjogQjUwIH0pLFxuICAgIH07XG4gIH0sXG59O1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEN1c3RvbSBGdW5jdGlvbnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5leHBvcnQgY29uc3QgY3JlYXRlU3R5bGVzID0gKHN0eWxlcyA9IHt9KSA9PiBtZXJnZVN0eWxlcyhkZWZhdWx0U3R5bGVzLCBzdHlsZXMpO1xuXG5leHBvcnQgY29uc3QgZmlsdGVyT3B0aW9uID0gKHsgZGF0YSB9LCBpbnB1dCkgPT5cbiAgZGF0YS50ZXh0LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoaW5wdXQudG9Mb3dlckNhc2UoKSk7XG5cbmV4cG9ydCBjb25zdCBpc09wdGlvblNlbGVjdGVkID0gKG9wdGlvbiwgc2VsZWN0ZWQpID0+IHtcbiAgaWYgKCFzZWxlY3RlZCB8fCAhc2VsZWN0ZWQubGVuZ3RoKSByZXR1cm4gZmFsc2U7XG4gIHJldHVybiBvcHRpb24uaWQgPT09IHNlbGVjdGVkWzBdLmlkO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldE9wdGlvblZhbHVlID0gb3B0aW9uID0+IG9wdGlvbi5pZDtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBDdXN0b20gQ29tcG9uZW50c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmV4cG9ydCBjb25zdCBDb250cm9sID0gKHtcbiAgaW5uZXJQcm9wczogeyBpbm5lclJlZiwgLi4uaW5uZXJQcm9wcyB9LFxuICAuLi5wcm9wc1xufSkgPT4gKFxuICA8ZGl2XG4gICAgcmVmPXtpbm5lclJlZn1cbiAgICBjc3M9e3tcbiAgICAgIGJveFNoYWRvdzogYDAgMnB4IDAgJHtONDBBfWAsXG4gICAgICBwYWRkaW5nOiBncmlkU2l6ZSxcbiAgICAgIHBvc2l0aW9uOiAncmVsYXRpdmUnLFxuICAgIH19XG4gID5cbiAgICA8Y29tcG9uZW50cy5Db250cm9sIHsuLi5wcm9wc30gaW5uZXJQcm9wcz17aW5uZXJQcm9wc30gLz5cbiAgPC9kaXY+XG4pO1xuZXhwb3J0IGNvbnN0IEZvb3RlciA9ICh7IHRleHQsIG9uQ2xpY2sgfSkgPT4gKFxuICA8YnV0dG9uXG4gICAgY3NzPXt7XG4gICAgICBiYWNrZ3JvdW5kOiAwLFxuICAgICAgYm9yZGVyOiAwLFxuICAgICAgYm94U2hhZG93OiBgMCAtMnB4IDAgJHtONDBBfWAsXG4gICAgICBib3hTaXppbmc6ICdib3JkZXItYm94JyxcbiAgICAgIGNvbG9yOiBOMjAwLFxuICAgICAgY3Vyc29yOiAncG9pbnRlcicsXG4gICAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgIGZvbnRTaXplOiAnaW5oZXJpdCcsXG4gICAgICBwYWRkaW5nOiBgJHtncmlkU2l6ZSAqIDEuNX1weCAke2dyaWRTaXplfXB4YCxcbiAgICAgIHBvc2l0aW9uOiAncmVsYXRpdmUnLFxuICAgICAgdGV4dEFsaWduOiAnbGVmdCcsXG4gICAgICB3aWR0aDogJzEwMCUnLFxuXG4gICAgICAnOmhvdmVyLCA6Zm9jdXMnOiB7XG4gICAgICAgIGNvbG9yOiBCMzAwLFxuICAgICAgICBvdXRsaW5lOiAwLFxuICAgICAgICB0ZXh0RGVjb3JhdGlvbjogJ3VuZGVybGluZScsXG4gICAgICB9LFxuICAgIH19XG4gICAgb25DbGljaz17b25DbGlja31cbiAgPlxuICAgIDxBZGRJY29uIGxhYmVsPVwiQWRkIGljb25cIiBzaXplPVwic21hbGxcIiAvPlxuICAgIDxzcGFuIGNzcz17eyBtYXJnaW5MZWZ0OiBncmlkU2l6ZSB9fT57dGV4dH08L3NwYW4+XG4gIDwvYnV0dG9uPlxuKTtcblxuY29uc3QgZGVmYXVsdENvbXBvbmVudHMgPSB7IENvbnRyb2wsIE9wdGlvbiB9O1xuY29uc3QgaXNFbXB0eSA9IG9iaiA9PiBPYmplY3Qua2V5cyhvYmopLmxlbmd0aCA9PT0gMDtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBDbGFzc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmNsYXNzIFN3aXRjaGVyIGV4dGVuZHMgUHVyZUNvbXBvbmVudCB7XG4gIHN0YXRlID0ge1xuICAgIG1lcmdlZENvbXBvbmVudHM6IGRlZmF1bHRDb21wb25lbnRzLFxuICB9O1xuXG4gIHNlbGVjdFJlZiA9IFJlYWN0LmNyZWF0ZVJlZigpO1xuXG4gIHRhcmdldFJlZjtcblxuICB0YXJnZXRXaWR0aCA9IDA7XG5cbiAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICBjbG9zZU1lbnVPbkNyZWF0ZTogdHJ1ZSxcbiAgICBjb21wb25lbnRzOiB7fSxcbiAgICBuYXZXaWR0aDogQ09OVEVOVF9OQVZfV0lEVEgsXG4gICAgaXNOYXZSZXNpemluZzogZmFsc2UsXG4gIH07XG5cbiAgc3RhdGljIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyhwcm9wcywgc3RhdGUpIHtcbiAgICBjb25zdCBuZXdTdGF0ZSA9IHt9O1xuXG4gICAgLy8gTWVyZ2UgY29uc3VtZXIgYW5kIGRlZmF1bHQgY29tcG9uZW50c1xuICAgIGNvbnN0IG1lcmdlZENvbXBvbmVudHMgPSB7IC4uLmRlZmF1bHRDb21wb25lbnRzLCAuLi5wcm9wcy5jb21wb25lbnRzIH07XG4gICAgaWYgKCFzaGFsbG93RXF1YWxPYmplY3RzKG1lcmdlZENvbXBvbmVudHMsIHN0YXRlLm1lcmdlZENvbXBvbmVudHMpKSB7XG4gICAgICBuZXdTdGF0ZS5tZXJnZWRDb21wb25lbnRzID0gbWVyZ2VkQ29tcG9uZW50cztcbiAgICB9XG5cbiAgICBpZiAoIWlzRW1wdHkobmV3U3RhdGUpKSByZXR1cm4gbmV3U3RhdGU7XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGNvbXBvbmVudERpZFVwZGF0ZSh7IGlzTmF2UmVzaXppbmcgfSkge1xuICAgIGlmIChcbiAgICAgIGlzTmF2UmVzaXppbmcgJiZcbiAgICAgIHRoaXMuc2VsZWN0UmVmLmN1cnJlbnQgJiZcbiAgICAgIHRoaXMuc2VsZWN0UmVmLmN1cnJlbnQuc3RhdGUuaXNPcGVuXG4gICAgKSB7XG4gICAgICB0aGlzLnNlbGVjdFJlZi5jdXJyZW50LmNsb3NlKCk7XG4gICAgfVxuICB9XG5cbiAgcmVzb2x2ZVRhcmdldFJlZiA9IHBvcHVwUmVmID0+IHJlZiA9PiB7XG4gICAgLy8gYXZvaWQgdGhyYXNoaW5nIGZuIGNhbGxzXG4gICAgaWYgKCF0aGlzLnRhcmdldFJlZiAmJiBwb3B1cFJlZiAmJiByZWYpIHtcbiAgICAgIHRoaXMudGFyZ2V0UmVmID0gcmVmO1xuICAgICAgcG9wdXBSZWYocmVmKTtcbiAgICB9XG4gIH07XG5cbiAgZ2V0Rm9vdGVyID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY2xvc2VNZW51T25DcmVhdGUsIGNyZWF0ZSwgZm9vdGVyIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKGZvb3RlcikgcmV0dXJuIGZvb3RlcjtcbiAgICBpZiAoIWNyZWF0ZSkgcmV0dXJuIG51bGw7XG5cbiAgICBsZXQgeyBvbkNsaWNrIH0gPSBjcmVhdGU7XG4gICAgaWYgKGNsb3NlTWVudU9uQ3JlYXRlKSB7XG4gICAgICBvbkNsaWNrID0gZSA9PiB7XG4gICAgICAgIGlmICh0aGlzLnNlbGVjdFJlZi5jdXJyZW50KSB7XG4gICAgICAgICAgdGhpcy5zZWxlY3RSZWYuY3VycmVudC5jbG9zZSgpO1xuICAgICAgICB9XG4gICAgICAgIGNyZWF0ZS5vbkNsaWNrKGUpO1xuICAgICAgfTtcbiAgICB9XG5cbiAgICByZXR1cm4gPEZvb3RlciB0ZXh0PXtjcmVhdGUudGV4dH0gb25DbGljaz17b25DbGlja30gLz47XG4gIH07XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHsgY3JlYXRlLCBvcHRpb25zLCB0YXJnZXQsIC4uLnByb3BzIH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IHsgbWVyZ2VkQ29tcG9uZW50cyB9ID0gdGhpcy5zdGF0ZTtcbiAgICBjb25zdCB0YXJnZXRXaWR0aCA9IHRoaXMucHJvcHMubmF2V2lkdGggLSBncmlkU2l6ZSAqIDI7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFBvcHVwU2VsZWN0XG4gICAgICAgIHJlZj17dGhpcy5zZWxlY3RSZWZ9XG4gICAgICAgIGZpbHRlck9wdGlvbj17ZmlsdGVyT3B0aW9ufVxuICAgICAgICBpc09wdGlvblNlbGVjdGVkPXtpc09wdGlvblNlbGVjdGVkfVxuICAgICAgICBmb290ZXI9e3RoaXMuZ2V0Rm9vdGVyKCl9XG4gICAgICAgIGdldE9wdGlvblZhbHVlPXtnZXRPcHRpb25WYWx1ZX1cbiAgICAgICAgb3B0aW9ucz17b3B0aW9uc31cbiAgICAgICAgbWF4TWVudVdpZHRoPXt0YXJnZXRXaWR0aH1cbiAgICAgICAgbWluTWVudVdpZHRoPXt0YXJnZXRXaWR0aH1cbiAgICAgICAgdGFyZ2V0PXsoeyByZWYsIGlzT3BlbiB9KSA9PiAoXG4gICAgICAgICAgPE5vZGVSZXNvbHZlciBpbm5lclJlZj17dGhpcy5yZXNvbHZlVGFyZ2V0UmVmKHJlZil9PlxuICAgICAgICAgICAge2Nsb25lRWxlbWVudCh0YXJnZXQsIHsgaXNTZWxlY3RlZDogaXNPcGVuIH0pfVxuICAgICAgICAgIDwvTm9kZVJlc29sdmVyPlxuICAgICAgICApfVxuICAgICAgICB7Li4ucHJvcHN9XG4gICAgICAgIHN0eWxlcz17Y3JlYXRlU3R5bGVzKHRoaXMucHJvcHMuc3R5bGVzKX1cbiAgICAgICAgY29tcG9uZW50cz17bWVyZ2VkQ29tcG9uZW50c31cbiAgICAgIC8+XG4gICAgKTtcbiAgfVxufVxuXG5leHBvcnQgeyBTd2l0Y2hlciBhcyBCYXNlU3dpdGNoZXIgfTtcblxuZXhwb3J0IGRlZmF1bHQgcHJvcHMgPT4gKFxuICA8VUlDb250cm9sbGVyU3Vic2NyaWJlcj5cbiAgICB7KHsgc3RhdGUgfSkgPT4gKFxuICAgICAgPFN3aXRjaGVyXG4gICAgICAgIG5hdldpZHRoPXtzdGF0ZS5wcm9kdWN0TmF2V2lkdGh9XG4gICAgICAgIGlzTmF2UmVzaXppbmc9e3N0YXRlLmlzUmVzaXppbmd9XG4gICAgICAgIHsuLi5wcm9wc31cbiAgICAgIC8+XG4gICAgKX1cbiAgPC9VSUNvbnRyb2xsZXJTdWJzY3JpYmVyPlxuKTtcbiJdfQ== */\")\n }, text));\n};\nvar defaultComponents = {\n Control: Control,\n Option: _Option__WEBPACK_IMPORTED_MODULE_21__[\"default\"]\n};\n\nvar isEmpty = function isEmpty(obj) {\n return Object.keys(obj).length === 0;\n}; // ==============================\n// Class\n// ==============================\n\n\nvar Switcher =\n/*#__PURE__*/\nfunction (_PureComponent) {\n _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5___default()(Switcher, _PureComponent);\n\n function Switcher() {\n var _getPrototypeOf2;\n\n var _this;\n\n _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default()(this, Switcher);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2___default()(this, (_getPrototypeOf2 = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3___default()(Switcher)).call.apply(_getPrototypeOf2, [this].concat(args)));\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4___default()(_this), \"state\", {\n mergedComponents: defaultComponents\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4___default()(_this), \"selectRef\", react__WEBPACK_IMPORTED_MODULE_12___default.a.createRef());\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4___default()(_this), \"targetRef\", void 0);\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4___default()(_this), \"targetWidth\", 0);\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4___default()(_this), \"resolveTargetRef\", function (popupRef) {\n return function (ref) {\n // avoid thrashing fn calls\n if (!_this.targetRef && popupRef && ref) {\n _this.targetRef = ref;\n popupRef(ref);\n }\n };\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4___default()(_this), \"getFooter\", function () {\n var _this$props = _this.props,\n closeMenuOnCreate = _this$props.closeMenuOnCreate,\n create = _this$props.create,\n footer = _this$props.footer;\n if (footer) return footer;\n if (!create) return null;\n var onClick = create.onClick;\n\n if (closeMenuOnCreate) {\n onClick = function onClick(e) {\n if (_this.selectRef.current) {\n _this.selectRef.current.close();\n }\n\n create.onClick(e);\n };\n }\n\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_11__[\"jsx\"])(Footer, {\n text: create.text,\n onClick: onClick\n });\n });\n\n return _this;\n }\n\n _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1___default()(Switcher, [{\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(_ref5) {\n var isNavResizing = _ref5.isNavResizing;\n\n if (isNavResizing && this.selectRef.current && this.selectRef.current.state.isOpen) {\n this.selectRef.current.close();\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var _this$props2 = this.props,\n create = _this$props2.create,\n options = _this$props2.options,\n _target = _this$props2.target,\n props = _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_9___default()(_this$props2, [\"create\", \"options\", \"target\"]);\n\n var mergedComponents = this.state.mergedComponents;\n var targetWidth = this.props.navWidth - gridSize * 2;\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_11__[\"jsx\"])(_atlaskit_select__WEBPACK_IMPORTED_MODULE_16__[\"PopupSelect\"], _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_7___default()({\n ref: this.selectRef,\n filterOption: filterOption,\n isOptionSelected: isOptionSelected,\n footer: this.getFooter(),\n getOptionValue: getOptionValue,\n options: options,\n maxMenuWidth: targetWidth,\n minMenuWidth: targetWidth,\n target: function target(_ref6) {\n var ref = _ref6.ref,\n isOpen = _ref6.isOpen;\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_11__[\"jsx\"])(react_node_resolver__WEBPACK_IMPORTED_MODULE_13___default.a, {\n innerRef: _this2.resolveTargetRef(ref)\n }, Object(react__WEBPACK_IMPORTED_MODULE_12__[\"cloneElement\"])(_target, {\n isSelected: isOpen\n }));\n }\n }, props, {\n styles: createStyles(this.props.styles),\n components: mergedComponents\n }));\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(props, state) {\n var newState = {}; // Merge consumer and default components\n\n var mergedComponents = _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_10___default()({}, defaultComponents, props.components);\n\n if (!shallow_equal_objects__WEBPACK_IMPORTED_MODULE_14___default()(mergedComponents, state.mergedComponents)) {\n newState.mergedComponents = mergedComponents;\n }\n\n if (!isEmpty(newState)) return newState;\n return null;\n }\n }]);\n\n return Switcher;\n}(react__WEBPACK_IMPORTED_MODULE_12__[\"PureComponent\"]);\n\n_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(Switcher, \"defaultProps\", {\n closeMenuOnCreate: true,\n components: {},\n navWidth: _common_constants__WEBPACK_IMPORTED_MODULE_19__[\"CONTENT_NAV_WIDTH\"],\n isNavResizing: false\n});\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function (props) {\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_11__[\"jsx\"])(_ui_controller__WEBPACK_IMPORTED_MODULE_20__[\"UIControllerSubscriber\"], null, function (_ref7) {\n var state = _ref7.state;\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_11__[\"jsx\"])(Switcher, _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_7___default()({\n navWidth: state.productNavWidth,\n isNavResizing: state.isResizing\n }, props));\n });\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL1N3aXRjaGVyL2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BhdGxhc2tpdC9uYXZpZ2F0aW9uLW5leHQvZGlzdC9lc20vY29tcG9uZW50cy9wcmVzZW50YXRpb25hbC9Td2l0Y2hlci9pbmRleC5qcz8zNmJlIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfY2xhc3NDYWxsQ2hlY2sgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvY2xhc3NDYWxsQ2hlY2tcIjtcbmltcG9ydCBfY3JlYXRlQ2xhc3MgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvY3JlYXRlQ2xhc3NcIjtcbmltcG9ydCBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybiBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuXCI7XG5pbXBvcnQgX2dldFByb3RvdHlwZU9mIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2dldFByb3RvdHlwZU9mXCI7XG5pbXBvcnQgX2Fzc2VydFRoaXNJbml0aWFsaXplZCBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9hc3NlcnRUaGlzSW5pdGlhbGl6ZWRcIjtcbmltcG9ydCBfaW5oZXJpdHMgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvaW5oZXJpdHNcIjtcbmltcG9ydCBfZGVmaW5lUHJvcGVydHkgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvZGVmaW5lUHJvcGVydHlcIjtcbmltcG9ydCBfZXh0ZW5kcyBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9leHRlbmRzXCI7XG5pbXBvcnQgX2NzcyBmcm9tIFwiQGVtb3Rpb24vY3NzXCI7XG5pbXBvcnQgX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzXCI7XG5pbXBvcnQgX29iamVjdFNwcmVhZCBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9vYmplY3RTcHJlYWRcIjtcbmltcG9ydCB7IGpzeCBhcyBfX19FbW90aW9uSlNYIH0gZnJvbSBcIkBlbW90aW9uL2NvcmVcIjtcbmltcG9ydCBSZWFjdCwgeyBjbG9uZUVsZW1lbnQsIFB1cmVDb21wb25lbnQgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgTm9kZVJlc29sdmVyIGZyb20gJ3JlYWN0LW5vZGUtcmVzb2x2ZXInO1xuaW1wb3J0IHNoYWxsb3dFcXVhbE9iamVjdHMgZnJvbSAnc2hhbGxvdy1lcXVhbC9vYmplY3RzJztcbmltcG9ydCBBZGRJY29uIGZyb20gJ0BhdGxhc2tpdC9pY29uL2dseXBoL2FkZCc7XG5pbXBvcnQgeyBjb21wb25lbnRzLCBtZXJnZVN0eWxlcywgUG9wdXBTZWxlY3QgfSBmcm9tICdAYXRsYXNraXQvc2VsZWN0JztcbmltcG9ydCB7IEIzMDAsIEI1MCwgTjIwMCwgTjMwLCBONDBBIH0gZnJvbSAnQGF0bGFza2l0L3RoZW1lL2NvbG9ycyc7XG5pbXBvcnQgeyBncmlkU2l6ZSBhcyBncmlkU2l6ZUZuIH0gZnJvbSAnQGF0bGFza2l0L3RoZW1lL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBDT05URU5UX05BVl9XSURUSCB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9jb25zdGFudHMnO1xuaW1wb3J0IHsgVUlDb250cm9sbGVyU3Vic2NyaWJlciB9IGZyb20gJy4uLy4uLy4uL3VpLWNvbnRyb2xsZXInO1xuaW1wb3J0IE9wdGlvbiBmcm9tICcuL09wdGlvbic7XG52YXIgZ3JpZFNpemUgPSBncmlkU2l6ZUZuKCk7XG52YXIgZGVmYXVsdFN0eWxlcyA9IHtcbiAgb3B0aW9uOiBmdW5jdGlvbiBvcHRpb24ocHJvdmlkZWQsIF9yZWYpIHtcbiAgICB2YXIgaXNBY3RpdmUgPSBfcmVmLmlzQWN0aXZlLFxuICAgICAgICBpc0ZvY3VzZWQgPSBfcmVmLmlzRm9jdXNlZDtcbiAgICByZXR1cm4gX29iamVjdFNwcmVhZCh7fSwgcHJvdmlkZWQsIHtcbiAgICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgICAgYm9yZGVyOiAnbm9uZScsXG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6IGlzRm9jdXNlZCA/IE4zMCA6ICd0cmFuc3BhcmVudCcsXG4gICAgICBib3hTaXppbmc6ICdib3JkZXItYm94JyxcbiAgICAgIGNvbG9yOiAnaW5oZXJpdCcsXG4gICAgICBjdXJzb3I6ICdkZWZhdWx0JyxcbiAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgIGZsZXhTaHJpbms6IDAsXG4gICAgICBmb250U2l6ZTogJ2luaGVyaXQnLFxuICAgICAgaGVpZ2h0OiBncmlkU2l6ZSAqIDYsXG4gICAgICBvdXRsaW5lOiAnbm9uZScsXG4gICAgICBwYWRkaW5nUmlnaHQ6IGdyaWRTaXplLFxuICAgICAgcGFkZGluZ0xlZnQ6IGdyaWRTaXplLFxuICAgICAgdGV4dEFsaWduOiAnbGVmdCcsXG4gICAgICB0ZXh0RGVjb3JhdGlvbjogJ25vbmUnLFxuICAgICAgd2lkdGg6ICcxMDAlJ1xuICAgIH0sIGlzQWN0aXZlICYmIHtcbiAgICAgIGJhY2tncm91bmRDb2xvcjogQjUwXG4gICAgfSk7XG4gIH1cbn07IC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQ3VzdG9tIEZ1bmN0aW9uc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmV4cG9ydCB2YXIgY3JlYXRlU3R5bGVzID0gZnVuY3Rpb24gY3JlYXRlU3R5bGVzKCkge1xuICB2YXIgc3R5bGVzID0gYXJndW1lbnRzLmxlbmd0aCA+IDAgJiYgYXJndW1lbnRzWzBdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMF0gOiB7fTtcbiAgcmV0dXJuIG1lcmdlU3R5bGVzKGRlZmF1bHRTdHlsZXMsIHN0eWxlcyk7XG59O1xuZXhwb3J0IHZhciBmaWx0ZXJPcHRpb24gPSBmdW5jdGlvbiBmaWx0ZXJPcHRpb24oX3JlZjIsIGlucHV0KSB7XG4gIHZhciBkYXRhID0gX3JlZjIuZGF0YTtcbiAgcmV0dXJuIGRhdGEudGV4dC50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGlucHV0LnRvTG93ZXJDYXNlKCkpO1xufTtcbmV4cG9ydCB2YXIgaXNPcHRpb25TZWxlY3RlZCA9IGZ1bmN0aW9uIGlzT3B0aW9uU2VsZWN0ZWQob3B0aW9uLCBzZWxlY3RlZCkge1xuICBpZiAoIXNlbGVjdGVkIHx8ICFzZWxlY3RlZC5sZW5ndGgpIHJldHVybiBmYWxzZTtcbiAgcmV0dXJuIG9wdGlvbi5pZCA9PT0gc2VsZWN0ZWRbMF0uaWQ7XG59O1xuZXhwb3J0IHZhciBnZXRPcHRpb25WYWx1ZSA9IGZ1bmN0aW9uIGdldE9wdGlvblZhbHVlKG9wdGlvbikge1xuICByZXR1cm4gb3B0aW9uLmlkO1xufTsgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBDdXN0b20gQ29tcG9uZW50c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmV4cG9ydCB2YXIgQ29udHJvbCA9IGZ1bmN0aW9uIENvbnRyb2woX3JlZjMpIHtcbiAgdmFyIF9yZWYzJGlubmVyUHJvcHMgPSBfcmVmMy5pbm5lclByb3BzLFxuICAgICAgaW5uZXJSZWYgPSBfcmVmMyRpbm5lclByb3BzLmlubmVyUmVmLFxuICAgICAgaW5uZXJQcm9wcyA9IF9vYmplY3RXaXRob3V0UHJvcGVydGllcyhfcmVmMyRpbm5lclByb3BzLCBbXCJpbm5lclJlZlwiXSksXG4gICAgICBwcm9wcyA9IF9vYmplY3RXaXRob3V0UHJvcGVydGllcyhfcmVmMywgW1wiaW5uZXJQcm9wc1wiXSk7XG5cbiAgcmV0dXJuIF9fX0Vtb3Rpb25KU1goXCJkaXZcIiwge1xuICAgIHJlZjogaW5uZXJSZWYsXG4gICAgY3NzOlxuICAgIC8qI19fUFVSRV9fKi9cbiAgICBfY3NzKHtcbiAgICAgIGJveFNoYWRvdzogXCIwIDJweCAwIFwiLmNvbmNhdChONDBBKSxcbiAgICAgIHBhZGRpbmc6IGdyaWRTaXplLFxuICAgICAgcG9zaXRpb246ICdyZWxhdGl2ZSdcbiAgICB9LCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyBcIlwiIDogXCIvKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJaTR1THk0dUx5NHVMeTR1THk0dUwzTnlZeTlqYjIxd2IyNWxiblJ6TDNCeVpYTmxiblJoZEdsdmJtRnNMMU4zYVhSamFHVnlMMmx1WkdWNExtcHpJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVzlGU1NJc0ltWnBiR1VpT2lJdUxpOHVMaTh1TGk4dUxpOHVMaTl6Y21NdlkyOXRjRzl1Wlc1MGN5OXdjbVZ6Wlc1MFlYUnBiMjVoYkM5VGQybDBZMmhsY2k5cGJtUmxlQzVxY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkltbHRjRzl5ZENCU1pXRmpkQ3dnZXlCamJHOXVaVVZzWlcxbGJuUXNJRkIxY21WRGIyMXdiMjVsYm5RZ2ZTQm1jbTl0SUNkeVpXRmpkQ2M3WEc1Y2JtbHRjRzl5ZENCT2IyUmxVbVZ6YjJ4MlpYSWdabkp2YlNBbmNtVmhZM1F0Ym05a1pTMXlaWE52YkhabGNpYzdYRzVwYlhCdmNuUWdjMmhoYkd4dmQwVnhkV0ZzVDJKcVpXTjBjeUJtY205dElDZHphR0ZzYkc5M0xXVnhkV0ZzTDI5aWFtVmpkSE1uTzF4dVhHNXBiWEJ2Y25RZ1FXUmtTV052YmlCbWNtOXRJQ2RBWVhSc1lYTnJhWFF2YVdOdmJpOW5iSGx3YUM5aFpHUW5PMXh1YVcxd2IzSjBJSHNnWTI5dGNHOXVaVzUwY3l3Z2JXVnlaMlZUZEhsc1pYTXNJRkJ2Y0hWd1UyVnNaV04wSUgwZ1puSnZiU0FuUUdGMGJHRnphMmwwTDNObGJHVmpkQ2M3WEc1cGJYQnZjblFnZXlCQ016QXdMQ0JDTlRBc0lFNHlNREFzSUU0ek1Dd2dUalF3UVNCOUlHWnliMjBnSjBCaGRHeGhjMnRwZEM5MGFHVnRaUzlqYjJ4dmNuTW5PMXh1YVcxd2IzSjBJSHNnWjNKcFpGTnBlbVVnWVhNZ1ozSnBaRk5wZW1WR2JpQjlJR1p5YjIwZ0owQmhkR3hoYzJ0cGRDOTBhR1Z0WlM5amIyNXpkR0Z1ZEhNbk8xeHVYRzVwYlhCdmNuUWdleUJEVDA1VVJVNVVYMDVCVmw5WFNVUlVTQ0I5SUdaeWIyMGdKeTR1THk0dUx5NHVMMk52YlcxdmJpOWpiMjV6ZEdGdWRITW5PMXh1YVcxd2IzSjBJSHNnVlVsRGIyNTBjbTlzYkdWeVUzVmljMk55YVdKbGNpQjlJR1p5YjIwZ0p5NHVMeTR1THk0dUwzVnBMV052Ym5SeWIyeHNaWEluTzF4dVhHNXBiWEJ2Y25RZ1QzQjBhVzl1SUdaeWIyMGdKeTR2VDNCMGFXOXVKenRjYmx4dVkyOXVjM1FnWjNKcFpGTnBlbVVnUFNCbmNtbGtVMmw2WlVadUtDazdYRzVjYm1OdmJuTjBJR1JsWm1GMWJIUlRkSGxzWlhNZ1BTQjdYRzRnSUc5d2RHbHZiam9nS0hCeWIzWnBaR1ZrTENCN0lHbHpRV04wYVhabExDQnBjMFp2WTNWelpXUWdmU2tnUFQ0Z2UxeHVJQ0FnSUhKbGRIVnliaUI3WEc0Z0lDQWdJQ0F1TGk1d2NtOTJhV1JsWkN4Y2JpQWdJQ0FnSUdGc2FXZHVTWFJsYlhNNklDZGpaVzUwWlhJbkxGeHVJQ0FnSUNBZ1ltOXlaR1Z5T2lBbmJtOXVaU2NzWEc0Z0lDQWdJQ0JpWVdOclozSnZkVzVrUTI5c2IzSTZJR2x6Um05amRYTmxaQ0EvSUU0ek1DQTZJQ2QwY21GdWMzQmhjbVZ1ZENjc1hHNGdJQ0FnSUNCaWIzaFRhWHBwYm1jNklDZGliM0prWlhJdFltOTRKeXhjYmlBZ0lDQWdJR052Ykc5eU9pQW5hVzVvWlhKcGRDY3NYRzRnSUNBZ0lDQmpkWEp6YjNJNklDZGtaV1poZFd4MEp5eGNiaUFnSUNBZ0lHUnBjM0JzWVhrNklDZG1iR1Y0Snl4Y2JpQWdJQ0FnSUdac1pYaFRhSEpwYm1zNklEQXNYRzRnSUNBZ0lDQm1iMjUwVTJsNlpUb2dKMmx1YUdWeWFYUW5MRnh1SUNBZ0lDQWdhR1ZwWjJoME9pQm5jbWxrVTJsNlpTQXFJRFlzWEc0Z0lDQWdJQ0J2ZFhSc2FXNWxPaUFuYm05dVpTY3NYRzRnSUNBZ0lDQndZV1JrYVc1blVtbG5hSFE2SUdkeWFXUlRhWHBsTEZ4dUlDQWdJQ0FnY0dGa1pHbHVaMHhsWm5RNklHZHlhV1JUYVhwbExGeHVJQ0FnSUNBZ2RHVjRkRUZzYVdkdU9pQW5iR1ZtZENjc1hHNGdJQ0FnSUNCMFpYaDBSR1ZqYjNKaGRHbHZiam9nSjI1dmJtVW5MRnh1SUNBZ0lDQWdkMmxrZEdnNklDY3hNREFsSnl4Y2JpQWdJQ0FnSUM0dUxpaHBjMEZqZEdsMlpTQW1KaUI3SUdKaFkydG5jbTkxYm1SRGIyeHZjam9nUWpVd0lIMHBMRnh1SUNBZ0lIMDdYRzRnSUgwc1hHNTlPMXh1WEc0dkx5QTlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDFjYmk4dklFTjFjM1J2YlNCR2RXNWpkR2x2Ym5OY2JpOHZJRDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFZ4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnWTNKbFlYUmxVM1I1YkdWeklEMGdLSE4wZVd4bGN5QTlJSHQ5S1NBOVBpQnRaWEpuWlZOMGVXeGxjeWhrWldaaGRXeDBVM1I1YkdWekxDQnpkSGxzWlhNcE8xeHVYRzVsZUhCdmNuUWdZMjl1YzNRZ1ptbHNkR1Z5VDNCMGFXOXVJRDBnS0hzZ1pHRjBZU0I5TENCcGJuQjFkQ2tnUFQ1Y2JpQWdaR0YwWVM1MFpYaDBMblJ2VEc5M1pYSkRZWE5sS0NrdWFXNWpiSFZrWlhNb2FXNXdkWFF1ZEc5TWIzZGxja05oYzJVb0tTazdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQnBjMDl3ZEdsdmJsTmxiR1ZqZEdWa0lEMGdLRzl3ZEdsdmJpd2djMlZzWldOMFpXUXBJRDArSUh0Y2JpQWdhV1lnS0NGelpXeGxZM1JsWkNCOGZDQWhjMlZzWldOMFpXUXViR1Z1WjNSb0tTQnlaWFIxY200Z1ptRnNjMlU3WEc0Z0lISmxkSFZ5YmlCdmNIUnBiMjR1YVdRZ1BUMDlJSE5sYkdWamRHVmtXekJkTG1sa08xeHVmVHRjYmx4dVpYaHdiM0owSUdOdmJuTjBJR2RsZEU5d2RHbHZibFpoYkhWbElEMGdiM0IwYVc5dUlEMCtJRzl3ZEdsdmJpNXBaRHRjYmx4dUx5OGdQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5WEc0dkx5QkRkWE4wYjIwZ1EyOXRjRzl1Wlc1MGMxeHVMeThnUFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVhHNWNibVY0Y0c5eWRDQmpiMjV6ZENCRGIyNTBjbTlzSUQwZ0tIdGNiaUFnYVc1dVpYSlFjbTl3Y3pvZ2V5QnBibTVsY2xKbFppd2dMaTR1YVc1dVpYSlFjbTl3Y3lCOUxGeHVJQ0F1TGk1d2NtOXdjMXh1ZlNrZ1BUNGdLRnh1SUNBOFpHbDJYRzRnSUNBZ2NtVm1QWHRwYm01bGNsSmxabjFjYmlBZ0lDQmpjM005ZTN0Y2JpQWdJQ0FnSUdKdmVGTm9ZV1J2ZHpvZ1lEQWdNbkI0SURBZ0pIdE9OREJCZldBc1hHNGdJQ0FnSUNCd1lXUmthVzVuT2lCbmNtbGtVMmw2WlN4Y2JpQWdJQ0FnSUhCdmMybDBhVzl1T2lBbmNtVnNZWFJwZG1VbkxGeHVJQ0FnSUgxOVhHNGdJRDVjYmlBZ0lDQThZMjl0Y0c5dVpXNTBjeTVEYjI1MGNtOXNJSHN1TGk1d2NtOXdjMzBnYVc1dVpYSlFjbTl3Y3oxN2FXNXVaWEpRY205d2MzMGdMejVjYmlBZ1BDOWthWFkrWEc0cE8xeHVaWGh3YjNKMElHTnZibk4wSUVadmIzUmxjaUE5SUNoN0lIUmxlSFFzSUc5dVEyeHBZMnNnZlNrZ1BUNGdLRnh1SUNBOFluVjBkRzl1WEc0Z0lDQWdZM056UFh0N1hHNGdJQ0FnSUNCaVlXTnJaM0p2ZFc1a09pQXdMRnh1SUNBZ0lDQWdZbTl5WkdWeU9pQXdMRnh1SUNBZ0lDQWdZbTk0VTJoaFpHOTNPaUJnTUNBdE1uQjRJREFnSkh0T05EQkJmV0FzWEc0Z0lDQWdJQ0JpYjNoVGFYcHBibWM2SUNkaWIzSmtaWEl0WW05NEp5eGNiaUFnSUNBZ0lHTnZiRzl5T2lCT01qQXdMRnh1SUNBZ0lDQWdZM1Z5YzI5eU9pQW5jRzlwYm5SbGNpY3NYRzRnSUNBZ0lDQmhiR2xuYmtsMFpXMXpPaUFuWTJWdWRHVnlKeXhjYmlBZ0lDQWdJR1JwYzNCc1lYazZJQ2RtYkdWNEp5eGNiaUFnSUNBZ0lHWnZiblJUYVhwbE9pQW5hVzVvWlhKcGRDY3NYRzRnSUNBZ0lDQndZV1JrYVc1bk9pQmdKSHRuY21sa1UybDZaU0FxSURFdU5YMXdlQ0FrZTJkeWFXUlRhWHBsZlhCNFlDeGNiaUFnSUNBZ0lIQnZjMmwwYVc5dU9pQW5jbVZzWVhScGRtVW5MRnh1SUNBZ0lDQWdkR1Y0ZEVGc2FXZHVPaUFuYkdWbWRDY3NYRzRnSUNBZ0lDQjNhV1IwYURvZ0p6RXdNQ1VuTEZ4dVhHNGdJQ0FnSUNBbk9taHZkbVZ5TENBNlptOWpkWE1uT2lCN1hHNGdJQ0FnSUNBZ0lHTnZiRzl5T2lCQ016QXdMRnh1SUNBZ0lDQWdJQ0J2ZFhSc2FXNWxPaUF3TEZ4dUlDQWdJQ0FnSUNCMFpYaDBSR1ZqYjNKaGRHbHZiam9nSjNWdVpHVnliR2x1WlNjc1hHNGdJQ0FnSUNCOUxGeHVJQ0FnSUgxOVhHNGdJQ0FnYjI1RGJHbGphejE3YjI1RGJHbGphMzFjYmlBZ1BseHVJQ0FnSUR4QlpHUkpZMjl1SUd4aFltVnNQVndpUVdSa0lHbGpiMjVjSWlCemFYcGxQVndpYzIxaGJHeGNJaUF2UGx4dUlDQWdJRHh6Y0dGdUlHTnpjejE3ZXlCdFlYSm5hVzVNWldaME9pQm5jbWxrVTJsNlpTQjlmVDU3ZEdWNGRIMDhMM053WVc0K1hHNGdJRHd2WW5WMGRHOXVQbHh1S1R0Y2JseHVZMjl1YzNRZ1pHVm1ZWFZzZEVOdmJYQnZibVZ1ZEhNZ1BTQjdJRU52Ym5SeWIyd3NJRTl3ZEdsdmJpQjlPMXh1WTI5dWMzUWdhWE5GYlhCMGVTQTlJRzlpYWlBOVBpQlBZbXBsWTNRdWEyVjVjeWh2WW1vcExteGxibWQwYUNBOVBUMGdNRHRjYmx4dUx5OGdQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5WEc0dkx5QkRiR0Z6YzF4dUx5OGdQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5WEc1Y2JtTnNZWE56SUZOM2FYUmphR1Z5SUdWNGRHVnVaSE1nVUhWeVpVTnZiWEJ2Ym1WdWRDQjdYRzRnSUhOMFlYUmxJRDBnZTF4dUlDQWdJRzFsY21kbFpFTnZiWEJ2Ym1WdWRITTZJR1JsWm1GMWJIUkRiMjF3YjI1bGJuUnpMRnh1SUNCOU8xeHVYRzRnSUhObGJHVmpkRkpsWmlBOUlGSmxZV04wTG1OeVpXRjBaVkpsWmlncE8xeHVYRzRnSUhSaGNtZGxkRkpsWmp0Y2JseHVJQ0IwWVhKblpYUlhhV1IwYUNBOUlEQTdYRzVjYmlBZ2MzUmhkR2xqSUdSbFptRjFiSFJRY205d2N5QTlJSHRjYmlBZ0lDQmpiRzl6WlUxbGJuVlBia055WldGMFpUb2dkSEoxWlN4Y2JpQWdJQ0JqYjIxd2IyNWxiblJ6T2lCN2ZTeGNiaUFnSUNCdVlYWlhhV1IwYURvZ1EwOU9WRVZPVkY5T1FWWmZWMGxFVkVnc1hHNGdJQ0FnYVhOT1lYWlNaWE5wZW1sdVp6b2dabUZzYzJVc1hHNGdJSDA3WEc1Y2JpQWdjM1JoZEdsaklHZGxkRVJsY21sMlpXUlRkR0YwWlVaeWIyMVFjbTl3Y3lod2NtOXdjeXdnYzNSaGRHVXBJSHRjYmlBZ0lDQmpiMjV6ZENCdVpYZFRkR0YwWlNBOUlIdDlPMXh1WEc0Z0lDQWdMeThnVFdWeVoyVWdZMjl1YzNWdFpYSWdZVzVrSUdSbFptRjFiSFFnWTI5dGNHOXVaVzUwYzF4dUlDQWdJR052Ym5OMElHMWxjbWRsWkVOdmJYQnZibVZ1ZEhNZ1BTQjdJQzR1TG1SbFptRjFiSFJEYjIxd2IyNWxiblJ6TENBdUxpNXdjbTl3Y3k1amIyMXdiMjVsYm5SeklIMDdYRzRnSUNBZ2FXWWdLQ0Z6YUdGc2JHOTNSWEYxWVd4UFltcGxZM1J6S0cxbGNtZGxaRU52YlhCdmJtVnVkSE1zSUhOMFlYUmxMbTFsY21kbFpFTnZiWEJ2Ym1WdWRITXBLU0I3WEc0Z0lDQWdJQ0J1WlhkVGRHRjBaUzV0WlhKblpXUkRiMjF3YjI1bGJuUnpJRDBnYldWeVoyVmtRMjl0Y0c5dVpXNTBjenRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnBaaUFvSVdselJXMXdkSGtvYm1WM1UzUmhkR1VwS1NCeVpYUjFjbTRnYm1WM1UzUmhkR1U3WEc1Y2JpQWdJQ0J5WlhSMWNtNGdiblZzYkR0Y2JpQWdmVnh1WEc0Z0lHTnZiWEJ2Ym1WdWRFUnBaRlZ3WkdGMFpTaDdJR2x6VG1GMlVtVnphWHBwYm1jZ2ZTa2dlMXh1SUNBZ0lHbG1JQ2hjYmlBZ0lDQWdJR2x6VG1GMlVtVnphWHBwYm1jZ0ppWmNiaUFnSUNBZ0lIUm9hWE11YzJWc1pXTjBVbVZtTG1OMWNuSmxiblFnSmlaY2JpQWdJQ0FnSUhSb2FYTXVjMlZzWldOMFVtVm1MbU4xY25KbGJuUXVjM1JoZEdVdWFYTlBjR1Z1WEc0Z0lDQWdLU0I3WEc0Z0lDQWdJQ0IwYUdsekxuTmxiR1ZqZEZKbFppNWpkWEp5Wlc1MExtTnNiM05sS0NrN1hHNGdJQ0FnZlZ4dUlDQjlYRzVjYmlBZ2NtVnpiMngyWlZSaGNtZGxkRkpsWmlBOUlIQnZjSFZ3VW1WbUlEMCtJSEpsWmlBOVBpQjdYRzRnSUNBZ0x5OGdZWFp2YVdRZ2RHaHlZWE5vYVc1bklHWnVJR05oYkd4elhHNGdJQ0FnYVdZZ0tDRjBhR2x6TG5SaGNtZGxkRkpsWmlBbUppQndiM0IxY0ZKbFppQW1KaUJ5WldZcElIdGNiaUFnSUNBZ0lIUm9hWE11ZEdGeVoyVjBVbVZtSUQwZ2NtVm1PMXh1SUNBZ0lDQWdjRzl3ZFhCU1pXWW9jbVZtS1R0Y2JpQWdJQ0I5WEc0Z0lIMDdYRzVjYmlBZ1oyVjBSbTl2ZEdWeUlEMGdLQ2tnUFQ0Z2UxeHVJQ0FnSUdOdmJuTjBJSHNnWTJ4dmMyVk5aVzUxVDI1RGNtVmhkR1VzSUdOeVpXRjBaU3dnWm05dmRHVnlJSDBnUFNCMGFHbHpMbkJ5YjNCek8xeHVYRzRnSUNBZ2FXWWdLR1p2YjNSbGNpa2djbVYwZFhKdUlHWnZiM1JsY2p0Y2JpQWdJQ0JwWmlBb0lXTnlaV0YwWlNrZ2NtVjBkWEp1SUc1MWJHdzdYRzVjYmlBZ0lDQnNaWFFnZXlCdmJrTnNhV05ySUgwZ1BTQmpjbVZoZEdVN1hHNGdJQ0FnYVdZZ0tHTnNiM05sVFdWdWRVOXVRM0psWVhSbEtTQjdYRzRnSUNBZ0lDQnZia05zYVdOcklEMGdaU0E5UGlCN1hHNGdJQ0FnSUNBZ0lHbG1JQ2gwYUdsekxuTmxiR1ZqZEZKbFppNWpkWEp5Wlc1MEtTQjdYRzRnSUNBZ0lDQWdJQ0FnZEdocGN5NXpaV3hsWTNSU1pXWXVZM1Z5Y21WdWRDNWpiRzl6WlNncE8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJR055WldGMFpTNXZia05zYVdOcktHVXBPMXh1SUNBZ0lDQWdmVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnlaWFIxY200Z1BFWnZiM1JsY2lCMFpYaDBQWHRqY21WaGRHVXVkR1Y0ZEgwZ2IyNURiR2xqYXoxN2IyNURiR2xqYTMwZ0x6NDdYRzRnSUgwN1hHNWNiaUFnY21WdVpHVnlLQ2tnZTF4dUlDQWdJR052Ym5OMElIc2dZM0psWVhSbExDQnZjSFJwYjI1ekxDQjBZWEpuWlhRc0lDNHVMbkJ5YjNCeklIMGdQU0IwYUdsekxuQnliM0J6TzF4dUlDQWdJR052Ym5OMElIc2diV1Z5WjJWa1EyOXRjRzl1Wlc1MGN5QjlJRDBnZEdocGN5NXpkR0YwWlR0Y2JpQWdJQ0JqYjI1emRDQjBZWEpuWlhSWGFXUjBhQ0E5SUhSb2FYTXVjSEp2Y0hNdWJtRjJWMmxrZEdnZ0xTQm5jbWxrVTJsNlpTQXFJREk3WEc1Y2JpQWdJQ0J5WlhSMWNtNGdLRnh1SUNBZ0lDQWdQRkJ2Y0hWd1UyVnNaV04wWEc0Z0lDQWdJQ0FnSUhKbFpqMTdkR2hwY3k1elpXeGxZM1JTWldaOVhHNGdJQ0FnSUNBZ0lHWnBiSFJsY2s5d2RHbHZiajE3Wm1sc2RHVnlUM0IwYVc5dWZWeHVJQ0FnSUNBZ0lDQnBjMDl3ZEdsdmJsTmxiR1ZqZEdWa1BYdHBjMDl3ZEdsdmJsTmxiR1ZqZEdWa2ZWeHVJQ0FnSUNBZ0lDQm1iMjkwWlhJOWUzUm9hWE11WjJWMFJtOXZkR1Z5S0NsOVhHNGdJQ0FnSUNBZ0lHZGxkRTl3ZEdsdmJsWmhiSFZsUFh0blpYUlBjSFJwYjI1V1lXeDFaWDFjYmlBZ0lDQWdJQ0FnYjNCMGFXOXVjejE3YjNCMGFXOXVjMzFjYmlBZ0lDQWdJQ0FnYldGNFRXVnVkVmRwWkhSb1BYdDBZWEpuWlhSWGFXUjBhSDFjYmlBZ0lDQWdJQ0FnYldsdVRXVnVkVmRwWkhSb1BYdDBZWEpuWlhSWGFXUjBhSDFjYmlBZ0lDQWdJQ0FnZEdGeVoyVjBQWHNvZXlCeVpXWXNJR2x6VDNCbGJpQjlLU0E5UGlBb1hHNGdJQ0FnSUNBZ0lDQWdQRTV2WkdWU1pYTnZiSFpsY2lCcGJtNWxjbEpsWmoxN2RHaHBjeTV5WlhOdmJIWmxWR0Z5WjJWMFVtVm1LSEpsWmlsOVBseHVJQ0FnSUNBZ0lDQWdJQ0FnZTJOc2IyNWxSV3hsYldWdWRDaDBZWEpuWlhRc0lIc2dhWE5UWld4bFkzUmxaRG9nYVhOUGNHVnVJSDBwZlZ4dUlDQWdJQ0FnSUNBZ0lEd3ZUbTlrWlZKbGMyOXNkbVZ5UGx4dUlDQWdJQ0FnSUNBcGZWeHVJQ0FnSUNBZ0lDQjdMaTR1Y0hKdmNITjlYRzRnSUNBZ0lDQWdJSE4wZVd4bGN6MTdZM0psWVhSbFUzUjViR1Z6S0hSb2FYTXVjSEp2Y0hNdWMzUjViR1Z6S1gxY2JpQWdJQ0FnSUNBZ1kyOXRjRzl1Wlc1MGN6MTdiV1Z5WjJWa1EyOXRjRzl1Wlc1MGMzMWNiaUFnSUNBZ0lDOCtYRzRnSUNBZ0tUdGNiaUFnZlZ4dWZWeHVYRzVsZUhCdmNuUWdleUJUZDJsMFkyaGxjaUJoY3lCQ1lYTmxVM2RwZEdOb1pYSWdmVHRjYmx4dVpYaHdiM0owSUdSbFptRjFiSFFnY0hKdmNITWdQVDRnS0Z4dUlDQThWVWxEYjI1MGNtOXNiR1Z5VTNWaWMyTnlhV0psY2o1Y2JpQWdJQ0I3S0hzZ2MzUmhkR1VnZlNrZ1BUNGdLRnh1SUNBZ0lDQWdQRk4zYVhSamFHVnlYRzRnSUNBZ0lDQWdJRzVoZGxkcFpIUm9QWHR6ZEdGMFpTNXdjbTlrZFdOMFRtRjJWMmxrZEdoOVhHNGdJQ0FnSUNBZ0lHbHpUbUYyVW1WemFYcHBibWM5ZTNOMFlYUmxMbWx6VW1WemFYcHBibWQ5WEc0Z0lDQWdJQ0FnSUhzdUxpNXdjbTl3YzMxY2JpQWdJQ0FnSUM4K1hHNGdJQ0FnS1gxY2JpQWdQQzlWU1VOdmJuUnliMnhzWlhKVGRXSnpZM0pwWW1WeVBseHVLVHRjYmlKZGZRPT0gKi9cIilcbiAgfSwgX19fRW1vdGlvbkpTWChjb21wb25lbnRzLkNvbnRyb2wsIF9leHRlbmRzKHt9LCBwcm9wcywge1xuICAgIGlubmVyUHJvcHM6IGlubmVyUHJvcHNcbiAgfSkpKTtcbn07XG5leHBvcnQgdmFyIEZvb3RlciA9IGZ1bmN0aW9uIEZvb3RlcihfcmVmNCkge1xuICB2YXIgdGV4dCA9IF9yZWY0LnRleHQsXG4gICAgICBvbkNsaWNrID0gX3JlZjQub25DbGljaztcbiAgcmV0dXJuIF9fX0Vtb3Rpb25KU1goXCJidXR0b25cIiwge1xuICAgIGNzczpcbiAgICAvKiNfX1BVUkVfXyovXG4gICAgX2Nzcyh7XG4gICAgICBiYWNrZ3JvdW5kOiAwLFxuICAgICAgYm9yZGVyOiAwLFxuICAgICAgYm94U2hhZG93OiBcIjAgLTJweCAwIFwiLmNvbmNhdChONDBBKSxcbiAgICAgIGJveFNpemluZzogJ2JvcmRlci1ib3gnLFxuICAgICAgY29sb3I6IE4yMDAsXG4gICAgICBjdXJzb3I6ICdwb2ludGVyJyxcbiAgICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgZm9udFNpemU6ICdpbmhlcml0JyxcbiAgICAgIHBhZGRpbmc6IFwiXCIuY29uY2F0KGdyaWRTaXplICogMS41LCBcInB4IFwiKS5jb25jYXQoZ3JpZFNpemUsIFwicHhcIiksXG4gICAgICBwb3NpdGlvbjogJ3JlbGF0aXZlJyxcbiAgICAgIHRleHRBbGlnbjogJ2xlZnQnLFxuICAgICAgd2lkdGg6ICcxMDAlJyxcbiAgICAgICc6aG92ZXIsIDpmb2N1cyc6IHtcbiAgICAgICAgY29sb3I6IEIzMDAsXG4gICAgICAgIG91dGxpbmU6IDAsXG4gICAgICAgIHRleHREZWNvcmF0aW9uOiAndW5kZXJsaW5lJ1xuICAgICAgfVxuICAgIH0sIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IFwiXCIgOiBcIi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpNHVMeTR1THk0dUx5NHVMeTR1TDNOeVl5OWpiMjF3YjI1bGJuUnpMM0J5WlhObGJuUmhkR2x2Ym1Gc0wxTjNhWFJqYUdWeUwybHVaR1Y0TG1weklsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFTdEZTU0lzSW1acGJHVWlPaUl1TGk4dUxpOHVMaTh1TGk4dUxpOXpjbU12WTI5dGNHOXVaVzUwY3k5d2NtVnpaVzUwWVhScGIyNWhiQzlUZDJsMFkyaGxjaTlwYm1SbGVDNXFjeUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSW1sdGNHOXlkQ0JTWldGamRDd2dleUJqYkc5dVpVVnNaVzFsYm5Rc0lGQjFjbVZEYjIxd2IyNWxiblFnZlNCbWNtOXRJQ2R5WldGamRDYzdYRzVjYm1sdGNHOXlkQ0JPYjJSbFVtVnpiMngyWlhJZ1puSnZiU0FuY21WaFkzUXRibTlrWlMxeVpYTnZiSFpsY2ljN1hHNXBiWEJ2Y25RZ2MyaGhiR3h2ZDBWeGRXRnNUMkpxWldOMGN5Qm1jbTl0SUNkemFHRnNiRzkzTFdWeGRXRnNMMjlpYW1WamRITW5PMXh1WEc1cGJYQnZjblFnUVdSa1NXTnZiaUJtY205dElDZEFZWFJzWVhOcmFYUXZhV052Ymk5bmJIbHdhQzloWkdRbk8xeHVhVzF3YjNKMElIc2dZMjl0Y0c5dVpXNTBjeXdnYldWeVoyVlRkSGxzWlhNc0lGQnZjSFZ3VTJWc1pXTjBJSDBnWm5KdmJTQW5RR0YwYkdGemEybDBMM05sYkdWamRDYzdYRzVwYlhCdmNuUWdleUJDTXpBd0xDQkNOVEFzSUU0eU1EQXNJRTR6TUN3Z1RqUXdRU0I5SUdaeWIyMGdKMEJoZEd4aGMydHBkQzkwYUdWdFpTOWpiMnh2Y25Nbk8xeHVhVzF3YjNKMElIc2daM0pwWkZOcGVtVWdZWE1nWjNKcFpGTnBlbVZHYmlCOUlHWnliMjBnSjBCaGRHeGhjMnRwZEM5MGFHVnRaUzlqYjI1emRHRnVkSE1uTzF4dVhHNXBiWEJ2Y25RZ2V5QkRUMDVVUlU1VVgwNUJWbDlYU1VSVVNDQjlJR1p5YjIwZ0p5NHVMeTR1THk0dUwyTnZiVzF2Ymk5amIyNXpkR0Z1ZEhNbk8xeHVhVzF3YjNKMElIc2dWVWxEYjI1MGNtOXNiR1Z5VTNWaWMyTnlhV0psY2lCOUlHWnliMjBnSnk0dUx5NHVMeTR1TDNWcExXTnZiblJ5YjJ4c1pYSW5PMXh1WEc1cGJYQnZjblFnVDNCMGFXOXVJR1p5YjIwZ0p5NHZUM0IwYVc5dUp6dGNibHh1WTI5dWMzUWdaM0pwWkZOcGVtVWdQU0JuY21sa1UybDZaVVp1S0NrN1hHNWNibU52Ym5OMElHUmxabUYxYkhSVGRIbHNaWE1nUFNCN1hHNGdJRzl3ZEdsdmJqb2dLSEJ5YjNacFpHVmtMQ0I3SUdselFXTjBhWFpsTENCcGMwWnZZM1Z6WldRZ2ZTa2dQVDRnZTF4dUlDQWdJSEpsZEhWeWJpQjdYRzRnSUNBZ0lDQXVMaTV3Y205MmFXUmxaQ3hjYmlBZ0lDQWdJR0ZzYVdkdVNYUmxiWE02SUNkalpXNTBaWEluTEZ4dUlDQWdJQ0FnWW05eVpHVnlPaUFuYm05dVpTY3NYRzRnSUNBZ0lDQmlZV05yWjNKdmRXNWtRMjlzYjNJNklHbHpSbTlqZFhObFpDQS9JRTR6TUNBNklDZDBjbUZ1YzNCaGNtVnVkQ2NzWEc0Z0lDQWdJQ0JpYjNoVGFYcHBibWM2SUNkaWIzSmtaWEl0WW05NEp5eGNiaUFnSUNBZ0lHTnZiRzl5T2lBbmFXNW9aWEpwZENjc1hHNGdJQ0FnSUNCamRYSnpiM0k2SUNka1pXWmhkV3gwSnl4Y2JpQWdJQ0FnSUdScGMzQnNZWGs2SUNkbWJHVjRKeXhjYmlBZ0lDQWdJR1pzWlhoVGFISnBibXM2SURBc1hHNGdJQ0FnSUNCbWIyNTBVMmw2WlRvZ0oybHVhR1Z5YVhRbkxGeHVJQ0FnSUNBZ2FHVnBaMmgwT2lCbmNtbGtVMmw2WlNBcUlEWXNYRzRnSUNBZ0lDQnZkWFJzYVc1bE9pQW5ibTl1WlNjc1hHNGdJQ0FnSUNCd1lXUmthVzVuVW1sbmFIUTZJR2R5YVdSVGFYcGxMRnh1SUNBZ0lDQWdjR0ZrWkdsdVoweGxablE2SUdkeWFXUlRhWHBsTEZ4dUlDQWdJQ0FnZEdWNGRFRnNhV2R1T2lBbmJHVm1kQ2NzWEc0Z0lDQWdJQ0IwWlhoMFJHVmpiM0poZEdsdmJqb2dKMjV2Ym1VbkxGeHVJQ0FnSUNBZ2QybGtkR2c2SUNjeE1EQWxKeXhjYmlBZ0lDQWdJQzR1TGlocGMwRmpkR2wyWlNBbUppQjdJR0poWTJ0bmNtOTFibVJEYjJ4dmNqb2dRalV3SUgwcExGeHVJQ0FnSUgwN1hHNGdJSDBzWEc1OU8xeHVYRzR2THlBOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMWNiaTh2SUVOMWMzUnZiU0JHZFc1amRHbHZibk5jYmk4dklEMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVnh1WEc1bGVIQnZjblFnWTI5dWMzUWdZM0psWVhSbFUzUjViR1Z6SUQwZ0tITjBlV3hsY3lBOUlIdDlLU0E5UGlCdFpYSm5aVk4wZVd4bGN5aGtaV1poZFd4MFUzUjViR1Z6TENCemRIbHNaWE1wTzF4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnWm1sc2RHVnlUM0IwYVc5dUlEMGdLSHNnWkdGMFlTQjlMQ0JwYm5CMWRDa2dQVDVjYmlBZ1pHRjBZUzUwWlhoMExuUnZURzkzWlhKRFlYTmxLQ2t1YVc1amJIVmtaWE1vYVc1d2RYUXVkRzlNYjNkbGNrTmhjMlVvS1NrN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCcGMwOXdkR2x2YmxObGJHVmpkR1ZrSUQwZ0tHOXdkR2x2Yml3Z2MyVnNaV04wWldRcElEMCtJSHRjYmlBZ2FXWWdLQ0Z6Wld4bFkzUmxaQ0I4ZkNBaGMyVnNaV04wWldRdWJHVnVaM1JvS1NCeVpYUjFjbTRnWm1Gc2MyVTdYRzRnSUhKbGRIVnliaUJ2Y0hScGIyNHVhV1FnUFQwOUlITmxiR1ZqZEdWa1d6QmRMbWxrTzF4dWZUdGNibHh1Wlhod2IzSjBJR052Ym5OMElHZGxkRTl3ZEdsdmJsWmhiSFZsSUQwZ2IzQjBhVzl1SUQwK0lHOXdkR2x2Ymk1cFpEdGNibHh1THk4Z1BUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlYRzR2THlCRGRYTjBiMjBnUTI5dGNHOXVaVzUwYzF4dUx5OGdQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JEYjI1MGNtOXNJRDBnS0h0Y2JpQWdhVzV1WlhKUWNtOXdjem9nZXlCcGJtNWxjbEpsWml3Z0xpNHVhVzV1WlhKUWNtOXdjeUI5TEZ4dUlDQXVMaTV3Y205d2MxeHVmU2tnUFQ0Z0tGeHVJQ0E4WkdsMlhHNGdJQ0FnY21WbVBYdHBibTVsY2xKbFpuMWNiaUFnSUNCamMzTTllM3RjYmlBZ0lDQWdJR0p2ZUZOb1lXUnZkem9nWURBZ01uQjRJREFnSkh0T05EQkJmV0FzWEc0Z0lDQWdJQ0J3WVdSa2FXNW5PaUJuY21sa1UybDZaU3hjYmlBZ0lDQWdJSEJ2YzJsMGFXOXVPaUFuY21Wc1lYUnBkbVVuTEZ4dUlDQWdJSDE5WEc0Z0lENWNiaUFnSUNBOFkyOXRjRzl1Wlc1MGN5NURiMjUwY205c0lIc3VMaTV3Y205d2MzMGdhVzV1WlhKUWNtOXdjejE3YVc1dVpYSlFjbTl3YzMwZ0x6NWNiaUFnUEM5a2FYWStYRzRwTzF4dVpYaHdiM0owSUdOdmJuTjBJRVp2YjNSbGNpQTlJQ2g3SUhSbGVIUXNJRzl1UTJ4cFkyc2dmU2tnUFQ0Z0tGeHVJQ0E4WW5WMGRHOXVYRzRnSUNBZ1kzTnpQWHQ3WEc0Z0lDQWdJQ0JpWVdOclozSnZkVzVrT2lBd0xGeHVJQ0FnSUNBZ1ltOXlaR1Z5T2lBd0xGeHVJQ0FnSUNBZ1ltOTRVMmhoWkc5M09pQmdNQ0F0TW5CNElEQWdKSHRPTkRCQmZXQXNYRzRnSUNBZ0lDQmliM2hUYVhwcGJtYzZJQ2RpYjNKa1pYSXRZbTk0Snl4Y2JpQWdJQ0FnSUdOdmJHOXlPaUJPTWpBd0xGeHVJQ0FnSUNBZ1kzVnljMjl5T2lBbmNHOXBiblJsY2ljc1hHNGdJQ0FnSUNCaGJHbG5ia2wwWlcxek9pQW5ZMlZ1ZEdWeUp5eGNiaUFnSUNBZ0lHUnBjM0JzWVhrNklDZG1iR1Y0Snl4Y2JpQWdJQ0FnSUdadmJuUlRhWHBsT2lBbmFXNW9aWEpwZENjc1hHNGdJQ0FnSUNCd1lXUmthVzVuT2lCZ0pIdG5jbWxrVTJsNlpTQXFJREV1Tlgxd2VDQWtlMmR5YVdSVGFYcGxmWEI0WUN4Y2JpQWdJQ0FnSUhCdmMybDBhVzl1T2lBbmNtVnNZWFJwZG1VbkxGeHVJQ0FnSUNBZ2RHVjRkRUZzYVdkdU9pQW5iR1ZtZENjc1hHNGdJQ0FnSUNCM2FXUjBhRG9nSnpFd01DVW5MRnh1WEc0Z0lDQWdJQ0FuT21odmRtVnlMQ0E2Wm05amRYTW5PaUI3WEc0Z0lDQWdJQ0FnSUdOdmJHOXlPaUJDTXpBd0xGeHVJQ0FnSUNBZ0lDQnZkWFJzYVc1bE9pQXdMRnh1SUNBZ0lDQWdJQ0IwWlhoMFJHVmpiM0poZEdsdmJqb2dKM1Z1WkdWeWJHbHVaU2NzWEc0Z0lDQWdJQ0I5TEZ4dUlDQWdJSDE5WEc0Z0lDQWdiMjVEYkdsamF6MTdiMjVEYkdsamEzMWNiaUFnUGx4dUlDQWdJRHhCWkdSSlkyOXVJR3hoWW1Wc1BWd2lRV1JrSUdsamIyNWNJaUJ6YVhwbFBWd2ljMjFoYkd4Y0lpQXZQbHh1SUNBZ0lEeHpjR0Z1SUdOemN6MTdleUJ0WVhKbmFXNU1aV1owT2lCbmNtbGtVMmw2WlNCOWZUNTdkR1Y0ZEgwOEwzTndZVzQrWEc0Z0lEd3ZZblYwZEc5dVBseHVLVHRjYmx4dVkyOXVjM1FnWkdWbVlYVnNkRU52YlhCdmJtVnVkSE1nUFNCN0lFTnZiblJ5YjJ3c0lFOXdkR2x2YmlCOU8xeHVZMjl1YzNRZ2FYTkZiWEIwZVNBOUlHOWlhaUE5UGlCUFltcGxZM1F1YTJWNWN5aHZZbW9wTG14bGJtZDBhQ0E5UFQwZ01EdGNibHh1THk4Z1BUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlYRzR2THlCRGJHRnpjMXh1THk4Z1BUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlYRzVjYm1Oc1lYTnpJRk4zYVhSamFHVnlJR1Y0ZEdWdVpITWdVSFZ5WlVOdmJYQnZibVZ1ZENCN1hHNGdJSE4wWVhSbElEMGdlMXh1SUNBZ0lHMWxjbWRsWkVOdmJYQnZibVZ1ZEhNNklHUmxabUYxYkhSRGIyMXdiMjVsYm5SekxGeHVJQ0I5TzF4dVhHNGdJSE5sYkdWamRGSmxaaUE5SUZKbFlXTjBMbU55WldGMFpWSmxaaWdwTzF4dVhHNGdJSFJoY21kbGRGSmxaanRjYmx4dUlDQjBZWEpuWlhSWGFXUjBhQ0E5SURBN1hHNWNiaUFnYzNSaGRHbGpJR1JsWm1GMWJIUlFjbTl3Y3lBOUlIdGNiaUFnSUNCamJHOXpaVTFsYm5WUGJrTnlaV0YwWlRvZ2RISjFaU3hjYmlBZ0lDQmpiMjF3YjI1bGJuUnpPaUI3ZlN4Y2JpQWdJQ0J1WVhaWGFXUjBhRG9nUTA5T1ZFVk9WRjlPUVZaZlYwbEVWRWdzWEc0Z0lDQWdhWE5PWVhaU1pYTnBlbWx1WnpvZ1ptRnNjMlVzWEc0Z0lIMDdYRzVjYmlBZ2MzUmhkR2xqSUdkbGRFUmxjbWwyWldSVGRHRjBaVVp5YjIxUWNtOXdjeWh3Y205d2N5d2djM1JoZEdVcElIdGNiaUFnSUNCamIyNXpkQ0J1WlhkVGRHRjBaU0E5SUh0OU8xeHVYRzRnSUNBZ0x5OGdUV1Z5WjJVZ1kyOXVjM1Z0WlhJZ1lXNWtJR1JsWm1GMWJIUWdZMjl0Y0c5dVpXNTBjMXh1SUNBZ0lHTnZibk4wSUcxbGNtZGxaRU52YlhCdmJtVnVkSE1nUFNCN0lDNHVMbVJsWm1GMWJIUkRiMjF3YjI1bGJuUnpMQ0F1TGk1d2NtOXdjeTVqYjIxd2IyNWxiblJ6SUgwN1hHNGdJQ0FnYVdZZ0tDRnphR0ZzYkc5M1JYRjFZV3hQWW1wbFkzUnpLRzFsY21kbFpFTnZiWEJ2Ym1WdWRITXNJSE4wWVhSbExtMWxjbWRsWkVOdmJYQnZibVZ1ZEhNcEtTQjdYRzRnSUNBZ0lDQnVaWGRUZEdGMFpTNXRaWEpuWldSRGIyMXdiMjVsYm5SeklEMGdiV1Z5WjJWa1EyOXRjRzl1Wlc1MGN6dGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9JV2x6Ulcxd2RIa29ibVYzVTNSaGRHVXBLU0J5WlhSMWNtNGdibVYzVTNSaGRHVTdYRzVjYmlBZ0lDQnlaWFIxY200Z2JuVnNiRHRjYmlBZ2ZWeHVYRzRnSUdOdmJYQnZibVZ1ZEVScFpGVndaR0YwWlNoN0lHbHpUbUYyVW1WemFYcHBibWNnZlNrZ2UxeHVJQ0FnSUdsbUlDaGNiaUFnSUNBZ0lHbHpUbUYyVW1WemFYcHBibWNnSmlaY2JpQWdJQ0FnSUhSb2FYTXVjMlZzWldOMFVtVm1MbU4xY25KbGJuUWdKaVpjYmlBZ0lDQWdJSFJvYVhNdWMyVnNaV04wVW1WbUxtTjFjbkpsYm5RdWMzUmhkR1V1YVhOUGNHVnVYRzRnSUNBZ0tTQjdYRzRnSUNBZ0lDQjBhR2x6TG5ObGJHVmpkRkpsWmk1amRYSnlaVzUwTG1Oc2IzTmxLQ2s3WEc0Z0lDQWdmVnh1SUNCOVhHNWNiaUFnY21WemIyeDJaVlJoY21kbGRGSmxaaUE5SUhCdmNIVndVbVZtSUQwK0lISmxaaUE5UGlCN1hHNGdJQ0FnTHk4Z1lYWnZhV1FnZEdoeVlYTm9hVzVuSUdadUlHTmhiR3h6WEc0Z0lDQWdhV1lnS0NGMGFHbHpMblJoY21kbGRGSmxaaUFtSmlCd2IzQjFjRkpsWmlBbUppQnlaV1lwSUh0Y2JpQWdJQ0FnSUhSb2FYTXVkR0Z5WjJWMFVtVm1JRDBnY21WbU8xeHVJQ0FnSUNBZ2NHOXdkWEJTWldZb2NtVm1LVHRjYmlBZ0lDQjlYRzRnSUgwN1hHNWNiaUFnWjJWMFJtOXZkR1Z5SUQwZ0tDa2dQVDRnZTF4dUlDQWdJR052Ym5OMElIc2dZMnh2YzJWTlpXNTFUMjVEY21WaGRHVXNJR055WldGMFpTd2dabTl2ZEdWeUlIMGdQU0IwYUdsekxuQnliM0J6TzF4dVhHNGdJQ0FnYVdZZ0tHWnZiM1JsY2lrZ2NtVjBkWEp1SUdadmIzUmxjanRjYmlBZ0lDQnBaaUFvSVdOeVpXRjBaU2tnY21WMGRYSnVJRzUxYkd3N1hHNWNiaUFnSUNCc1pYUWdleUJ2YmtOc2FXTnJJSDBnUFNCamNtVmhkR1U3WEc0Z0lDQWdhV1lnS0dOc2IzTmxUV1Z1ZFU5dVEzSmxZWFJsS1NCN1hHNGdJQ0FnSUNCdmJrTnNhV05ySUQwZ1pTQTlQaUI3WEc0Z0lDQWdJQ0FnSUdsbUlDaDBhR2x6TG5ObGJHVmpkRkpsWmk1amRYSnlaVzUwS1NCN1hHNGdJQ0FnSUNBZ0lDQWdkR2hwY3k1elpXeGxZM1JTWldZdVkzVnljbVZ1ZEM1amJHOXpaU2dwTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lHTnlaV0YwWlM1dmJrTnNhV05yS0dVcE8xeHVJQ0FnSUNBZ2ZUdGNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnUEVadmIzUmxjaUIwWlhoMFBYdGpjbVZoZEdVdWRHVjRkSDBnYjI1RGJHbGphejE3YjI1RGJHbGphMzBnTHo0N1hHNGdJSDA3WEc1Y2JpQWdjbVZ1WkdWeUtDa2dlMXh1SUNBZ0lHTnZibk4wSUhzZ1kzSmxZWFJsTENCdmNIUnBiMjV6TENCMFlYSm5aWFFzSUM0dUxuQnliM0J6SUgwZ1BTQjBhR2x6TG5CeWIzQnpPMXh1SUNBZ0lHTnZibk4wSUhzZ2JXVnlaMlZrUTI5dGNHOXVaVzUwY3lCOUlEMGdkR2hwY3k1emRHRjBaVHRjYmlBZ0lDQmpiMjV6ZENCMFlYSm5aWFJYYVdSMGFDQTlJSFJvYVhNdWNISnZjSE11Ym1GMlYybGtkR2dnTFNCbmNtbGtVMmw2WlNBcUlESTdYRzVjYmlBZ0lDQnlaWFIxY200Z0tGeHVJQ0FnSUNBZ1BGQnZjSFZ3VTJWc1pXTjBYRzRnSUNBZ0lDQWdJSEpsWmoxN2RHaHBjeTV6Wld4bFkzUlNaV1o5WEc0Z0lDQWdJQ0FnSUdacGJIUmxjazl3ZEdsdmJqMTdabWxzZEdWeVQzQjBhVzl1ZlZ4dUlDQWdJQ0FnSUNCcGMwOXdkR2x2YmxObGJHVmpkR1ZrUFh0cGMwOXdkR2x2YmxObGJHVmpkR1ZrZlZ4dUlDQWdJQ0FnSUNCbWIyOTBaWEk5ZTNSb2FYTXVaMlYwUm05dmRHVnlLQ2w5WEc0Z0lDQWdJQ0FnSUdkbGRFOXdkR2x2YmxaaGJIVmxQWHRuWlhSUGNIUnBiMjVXWVd4MVpYMWNiaUFnSUNBZ0lDQWdiM0IwYVc5dWN6MTdiM0IwYVc5dWMzMWNiaUFnSUNBZ0lDQWdiV0Y0VFdWdWRWZHBaSFJvUFh0MFlYSm5aWFJYYVdSMGFIMWNiaUFnSUNBZ0lDQWdiV2x1VFdWdWRWZHBaSFJvUFh0MFlYSm5aWFJYYVdSMGFIMWNiaUFnSUNBZ0lDQWdkR0Z5WjJWMFBYc29leUJ5WldZc0lHbHpUM0JsYmlCOUtTQTlQaUFvWEc0Z0lDQWdJQ0FnSUNBZ1BFNXZaR1ZTWlhOdmJIWmxjaUJwYm01bGNsSmxaajE3ZEdocGN5NXlaWE52YkhabFZHRnlaMlYwVW1WbUtISmxaaWw5UGx4dUlDQWdJQ0FnSUNBZ0lDQWdlMk5zYjI1bFJXeGxiV1Z1ZENoMFlYSm5aWFFzSUhzZ2FYTlRaV3hsWTNSbFpEb2dhWE5QY0dWdUlIMHBmVnh1SUNBZ0lDQWdJQ0FnSUR3dlRtOWtaVkpsYzI5c2RtVnlQbHh1SUNBZ0lDQWdJQ0FwZlZ4dUlDQWdJQ0FnSUNCN0xpNHVjSEp2Y0hOOVhHNGdJQ0FnSUNBZ0lITjBlV3hsY3oxN1kzSmxZWFJsVTNSNWJHVnpLSFJvYVhNdWNISnZjSE11YzNSNWJHVnpLWDFjYmlBZ0lDQWdJQ0FnWTI5dGNHOXVaVzUwY3oxN2JXVnlaMlZrUTI5dGNHOXVaVzUwYzMxY2JpQWdJQ0FnSUM4K1hHNGdJQ0FnS1R0Y2JpQWdmVnh1ZlZ4dVhHNWxlSEJ2Y25RZ2V5QlRkMmwwWTJobGNpQmhjeUJDWVhObFUzZHBkR05vWlhJZ2ZUdGNibHh1Wlhod2IzSjBJR1JsWm1GMWJIUWdjSEp2Y0hNZ1BUNGdLRnh1SUNBOFZVbERiMjUwY205c2JHVnlVM1ZpYzJOeWFXSmxjajVjYmlBZ0lDQjdLSHNnYzNSaGRHVWdmU2tnUFQ0Z0tGeHVJQ0FnSUNBZ1BGTjNhWFJqYUdWeVhHNGdJQ0FnSUNBZ0lHNWhkbGRwWkhSb1BYdHpkR0YwWlM1d2NtOWtkV04wVG1GMlYybGtkR2g5WEc0Z0lDQWdJQ0FnSUdselRtRjJVbVZ6YVhwcGJtYzllM04wWVhSbExtbHpVbVZ6YVhwcGJtZDlYRzRnSUNBZ0lDQWdJSHN1TGk1d2NtOXdjMzFjYmlBZ0lDQWdJQzgrWEc0Z0lDQWdLWDFjYmlBZ1BDOVZTVU52Ym5SeWIyeHNaWEpUZFdKelkzSnBZbVZ5UGx4dUtUdGNiaUpkZlE9PSAqL1wiKSxcbiAgICBvbkNsaWNrOiBvbkNsaWNrXG4gIH0sIF9fX0Vtb3Rpb25KU1goQWRkSWNvbiwge1xuICAgIGxhYmVsOiBcIkFkZCBpY29uXCIsXG4gICAgc2l6ZTogXCJzbWFsbFwiXG4gIH0pLCBfX19FbW90aW9uSlNYKFwic3BhblwiLCB7XG4gICAgY3NzOlxuICAgIC8qI19fUFVSRV9fKi9cbiAgICBfY3NzKHtcbiAgICAgIG1hcmdpbkxlZnQ6IGdyaWRTaXplXG4gICAgfSwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8gXCJcIiA6IFwiLyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWk0dUx5NHVMeTR1THk0dUx5NHVMM055WXk5amIyMXdiMjVsYm5SekwzQnlaWE5sYm5SaGRHbHZibUZzTDFOM2FYUmphR1Z5TDJsdVpHVjRMbXB6SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVhWSFZTSXNJbVpwYkdVaU9pSXVMaTh1TGk4dUxpOHVMaTh1TGk5emNtTXZZMjl0Y0c5dVpXNTBjeTl3Y21WelpXNTBZWFJwYjI1aGJDOVRkMmwwWTJobGNpOXBibVJsZUM1cWN5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJbWx0Y0c5eWRDQlNaV0ZqZEN3Z2V5QmpiRzl1WlVWc1pXMWxiblFzSUZCMWNtVkRiMjF3YjI1bGJuUWdmU0JtY205dElDZHlaV0ZqZENjN1hHNWNibWx0Y0c5eWRDQk9iMlJsVW1WemIyeDJaWElnWm5KdmJTQW5jbVZoWTNRdGJtOWtaUzF5WlhOdmJIWmxjaWM3WEc1cGJYQnZjblFnYzJoaGJHeHZkMFZ4ZFdGc1QySnFaV04wY3lCbWNtOXRJQ2R6YUdGc2JHOTNMV1Z4ZFdGc0wyOWlhbVZqZEhNbk8xeHVYRzVwYlhCdmNuUWdRV1JrU1dOdmJpQm1jbTl0SUNkQVlYUnNZWE5yYVhRdmFXTnZiaTluYkhsd2FDOWhaR1FuTzF4dWFXMXdiM0owSUhzZ1kyOXRjRzl1Wlc1MGN5d2diV1Z5WjJWVGRIbHNaWE1zSUZCdmNIVndVMlZzWldOMElIMGdabkp2YlNBblFHRjBiR0Z6YTJsMEwzTmxiR1ZqZENjN1hHNXBiWEJ2Y25RZ2V5QkNNekF3TENCQ05UQXNJRTR5TURBc0lFNHpNQ3dnVGpRd1FTQjlJR1p5YjIwZ0owQmhkR3hoYzJ0cGRDOTBhR1Z0WlM5amIyeHZjbk1uTzF4dWFXMXdiM0owSUhzZ1ozSnBaRk5wZW1VZ1lYTWdaM0pwWkZOcGVtVkdiaUI5SUdaeWIyMGdKMEJoZEd4aGMydHBkQzkwYUdWdFpTOWpiMjV6ZEdGdWRITW5PMXh1WEc1cGJYQnZjblFnZXlCRFQwNVVSVTVVWDA1QlZsOVhTVVJVU0NCOUlHWnliMjBnSnk0dUx5NHVMeTR1TDJOdmJXMXZiaTlqYjI1emRHRnVkSE1uTzF4dWFXMXdiM0owSUhzZ1ZVbERiMjUwY205c2JHVnlVM1ZpYzJOeWFXSmxjaUI5SUdaeWIyMGdKeTR1THk0dUx5NHVMM1ZwTFdOdmJuUnliMnhzWlhJbk8xeHVYRzVwYlhCdmNuUWdUM0IwYVc5dUlHWnliMjBnSnk0dlQzQjBhVzl1Snp0Y2JseHVZMjl1YzNRZ1ozSnBaRk5wZW1VZ1BTQm5jbWxrVTJsNlpVWnVLQ2s3WEc1Y2JtTnZibk4wSUdSbFptRjFiSFJUZEhsc1pYTWdQU0I3WEc0Z0lHOXdkR2x2YmpvZ0tIQnliM1pwWkdWa0xDQjdJR2x6UVdOMGFYWmxMQ0JwYzBadlkzVnpaV1FnZlNrZ1BUNGdlMXh1SUNBZ0lISmxkSFZ5YmlCN1hHNGdJQ0FnSUNBdUxpNXdjbTkyYVdSbFpDeGNiaUFnSUNBZ0lHRnNhV2R1U1hSbGJYTTZJQ2RqWlc1MFpYSW5MRnh1SUNBZ0lDQWdZbTl5WkdWeU9pQW5ibTl1WlNjc1hHNGdJQ0FnSUNCaVlXTnJaM0p2ZFc1a1EyOXNiM0k2SUdselJtOWpkWE5sWkNBL0lFNHpNQ0E2SUNkMGNtRnVjM0JoY21WdWRDY3NYRzRnSUNBZ0lDQmliM2hUYVhwcGJtYzZJQ2RpYjNKa1pYSXRZbTk0Snl4Y2JpQWdJQ0FnSUdOdmJHOXlPaUFuYVc1b1pYSnBkQ2NzWEc0Z0lDQWdJQ0JqZFhKemIzSTZJQ2RrWldaaGRXeDBKeXhjYmlBZ0lDQWdJR1JwYzNCc1lYazZJQ2RtYkdWNEp5eGNiaUFnSUNBZ0lHWnNaWGhUYUhKcGJtczZJREFzWEc0Z0lDQWdJQ0JtYjI1MFUybDZaVG9nSjJsdWFHVnlhWFFuTEZ4dUlDQWdJQ0FnYUdWcFoyaDBPaUJuY21sa1UybDZaU0FxSURZc1hHNGdJQ0FnSUNCdmRYUnNhVzVsT2lBbmJtOXVaU2NzWEc0Z0lDQWdJQ0J3WVdSa2FXNW5VbWxuYUhRNklHZHlhV1JUYVhwbExGeHVJQ0FnSUNBZ2NHRmtaR2x1WjB4bFpuUTZJR2R5YVdSVGFYcGxMRnh1SUNBZ0lDQWdkR1Y0ZEVGc2FXZHVPaUFuYkdWbWRDY3NYRzRnSUNBZ0lDQjBaWGgwUkdWamIzSmhkR2x2YmpvZ0oyNXZibVVuTEZ4dUlDQWdJQ0FnZDJsa2RHZzZJQ2N4TURBbEp5eGNiaUFnSUNBZ0lDNHVMaWhwYzBGamRHbDJaU0FtSmlCN0lHSmhZMnRuY205MWJtUkRiMnh2Y2pvZ1FqVXdJSDBwTEZ4dUlDQWdJSDA3WEc0Z0lIMHNYRzU5TzF4dVhHNHZMeUE5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQxY2JpOHZJRU4xYzNSdmJTQkdkVzVqZEdsdmJuTmNiaTh2SUQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBWeHVYRzVsZUhCdmNuUWdZMjl1YzNRZ1kzSmxZWFJsVTNSNWJHVnpJRDBnS0hOMGVXeGxjeUE5SUh0OUtTQTlQaUJ0WlhKblpWTjBlV3hsY3loa1pXWmhkV3gwVTNSNWJHVnpMQ0J6ZEhsc1pYTXBPMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdabWxzZEdWeVQzQjBhVzl1SUQwZ0tIc2daR0YwWVNCOUxDQnBibkIxZENrZ1BUNWNiaUFnWkdGMFlTNTBaWGgwTG5SdlRHOTNaWEpEWVhObEtDa3VhVzVqYkhWa1pYTW9hVzV3ZFhRdWRHOU1iM2RsY2tOaGMyVW9LU2s3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JwYzA5d2RHbHZibE5sYkdWamRHVmtJRDBnS0c5d2RHbHZiaXdnYzJWc1pXTjBaV1FwSUQwK0lIdGNiaUFnYVdZZ0tDRnpaV3hsWTNSbFpDQjhmQ0FoYzJWc1pXTjBaV1F1YkdWdVozUm9LU0J5WlhSMWNtNGdabUZzYzJVN1hHNGdJSEpsZEhWeWJpQnZjSFJwYjI0dWFXUWdQVDA5SUhObGJHVmpkR1ZrV3pCZExtbGtPMXh1ZlR0Y2JseHVaWGh3YjNKMElHTnZibk4wSUdkbGRFOXdkR2x2YmxaaGJIVmxJRDBnYjNCMGFXOXVJRDArSUc5d2RHbHZiaTVwWkR0Y2JseHVMeThnUFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVhHNHZMeUJEZFhOMGIyMGdRMjl0Y0c5dVpXNTBjMXh1THk4Z1BUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQkRiMjUwY205c0lEMGdLSHRjYmlBZ2FXNXVaWEpRY205d2N6b2dleUJwYm01bGNsSmxaaXdnTGk0dWFXNXVaWEpRY205d2N5QjlMRnh1SUNBdUxpNXdjbTl3YzF4dWZTa2dQVDRnS0Z4dUlDQThaR2wyWEc0Z0lDQWdjbVZtUFh0cGJtNWxjbEpsWm4xY2JpQWdJQ0JqYzNNOWUzdGNiaUFnSUNBZ0lHSnZlRk5vWVdSdmR6b2dZREFnTW5CNElEQWdKSHRPTkRCQmZXQXNYRzRnSUNBZ0lDQndZV1JrYVc1bk9pQm5jbWxrVTJsNlpTeGNiaUFnSUNBZ0lIQnZjMmwwYVc5dU9pQW5jbVZzWVhScGRtVW5MRnh1SUNBZ0lIMTlYRzRnSUQ1Y2JpQWdJQ0E4WTI5dGNHOXVaVzUwY3k1RGIyNTBjbTlzSUhzdUxpNXdjbTl3YzMwZ2FXNXVaWEpRY205d2N6MTdhVzV1WlhKUWNtOXdjMzBnTHo1Y2JpQWdQQzlrYVhZK1hHNHBPMXh1Wlhod2IzSjBJR052Ym5OMElFWnZiM1JsY2lBOUlDaDdJSFJsZUhRc0lHOXVRMnhwWTJzZ2ZTa2dQVDRnS0Z4dUlDQThZblYwZEc5dVhHNGdJQ0FnWTNOelBYdDdYRzRnSUNBZ0lDQmlZV05yWjNKdmRXNWtPaUF3TEZ4dUlDQWdJQ0FnWW05eVpHVnlPaUF3TEZ4dUlDQWdJQ0FnWW05NFUyaGhaRzkzT2lCZ01DQXRNbkI0SURBZ0pIdE9OREJCZldBc1hHNGdJQ0FnSUNCaWIzaFRhWHBwYm1jNklDZGliM0prWlhJdFltOTRKeXhjYmlBZ0lDQWdJR052Ykc5eU9pQk9NakF3TEZ4dUlDQWdJQ0FnWTNWeWMyOXlPaUFuY0c5cGJuUmxjaWNzWEc0Z0lDQWdJQ0JoYkdsbmJrbDBaVzF6T2lBblkyVnVkR1Z5Snl4Y2JpQWdJQ0FnSUdScGMzQnNZWGs2SUNkbWJHVjRKeXhjYmlBZ0lDQWdJR1p2Ym5SVGFYcGxPaUFuYVc1b1pYSnBkQ2NzWEc0Z0lDQWdJQ0J3WVdSa2FXNW5PaUJnSkh0bmNtbGtVMmw2WlNBcUlERXVOWDF3ZUNBa2UyZHlhV1JUYVhwbGZYQjRZQ3hjYmlBZ0lDQWdJSEJ2YzJsMGFXOXVPaUFuY21Wc1lYUnBkbVVuTEZ4dUlDQWdJQ0FnZEdWNGRFRnNhV2R1T2lBbmJHVm1kQ2NzWEc0Z0lDQWdJQ0IzYVdSMGFEb2dKekV3TUNVbkxGeHVYRzRnSUNBZ0lDQW5PbWh2ZG1WeUxDQTZabTlqZFhNbk9pQjdYRzRnSUNBZ0lDQWdJR052Ykc5eU9pQkNNekF3TEZ4dUlDQWdJQ0FnSUNCdmRYUnNhVzVsT2lBd0xGeHVJQ0FnSUNBZ0lDQjBaWGgwUkdWamIzSmhkR2x2YmpvZ0ozVnVaR1Z5YkdsdVpTY3NYRzRnSUNBZ0lDQjlMRnh1SUNBZ0lIMTlYRzRnSUNBZ2IyNURiR2xqYXoxN2IyNURiR2xqYTMxY2JpQWdQbHh1SUNBZ0lEeEJaR1JKWTI5dUlHeGhZbVZzUFZ3aVFXUmtJR2xqYjI1Y0lpQnphWHBsUFZ3aWMyMWhiR3hjSWlBdlBseHVJQ0FnSUR4emNHRnVJR056Y3oxN2V5QnRZWEpuYVc1TVpXWjBPaUJuY21sa1UybDZaU0I5ZlQ1N2RHVjRkSDA4TDNOd1lXNCtYRzRnSUR3dlluVjBkRzl1UGx4dUtUdGNibHh1WTI5dWMzUWdaR1ZtWVhWc2RFTnZiWEJ2Ym1WdWRITWdQU0I3SUVOdmJuUnliMndzSUU5d2RHbHZiaUI5TzF4dVkyOXVjM1FnYVhORmJYQjBlU0E5SUc5aWFpQTlQaUJQWW1wbFkzUXVhMlY1Y3lodlltb3BMbXhsYm1kMGFDQTlQVDBnTUR0Y2JseHVMeThnUFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVhHNHZMeUJEYkdGemMxeHVMeThnUFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVhHNWNibU5zWVhOeklGTjNhWFJqYUdWeUlHVjRkR1Z1WkhNZ1VIVnlaVU52YlhCdmJtVnVkQ0I3WEc0Z0lITjBZWFJsSUQwZ2UxeHVJQ0FnSUcxbGNtZGxaRU52YlhCdmJtVnVkSE02SUdSbFptRjFiSFJEYjIxd2IyNWxiblJ6TEZ4dUlDQjlPMXh1WEc0Z0lITmxiR1ZqZEZKbFppQTlJRkpsWVdOMExtTnlaV0YwWlZKbFppZ3BPMXh1WEc0Z0lIUmhjbWRsZEZKbFpqdGNibHh1SUNCMFlYSm5aWFJYYVdSMGFDQTlJREE3WEc1Y2JpQWdjM1JoZEdsaklHUmxabUYxYkhSUWNtOXdjeUE5SUh0Y2JpQWdJQ0JqYkc5elpVMWxiblZQYmtOeVpXRjBaVG9nZEhKMVpTeGNiaUFnSUNCamIyMXdiMjVsYm5Sek9pQjdmU3hjYmlBZ0lDQnVZWFpYYVdSMGFEb2dRMDlPVkVWT1ZGOU9RVlpmVjBsRVZFZ3NYRzRnSUNBZ2FYTk9ZWFpTWlhOcGVtbHVaem9nWm1Gc2MyVXNYRzRnSUgwN1hHNWNiaUFnYzNSaGRHbGpJR2RsZEVSbGNtbDJaV1JUZEdGMFpVWnliMjFRY205d2N5aHdjbTl3Y3l3Z2MzUmhkR1VwSUh0Y2JpQWdJQ0JqYjI1emRDQnVaWGRUZEdGMFpTQTlJSHQ5TzF4dVhHNGdJQ0FnTHk4Z1RXVnlaMlVnWTI5dWMzVnRaWElnWVc1a0lHUmxabUYxYkhRZ1kyOXRjRzl1Wlc1MGMxeHVJQ0FnSUdOdmJuTjBJRzFsY21kbFpFTnZiWEJ2Ym1WdWRITWdQU0I3SUM0dUxtUmxabUYxYkhSRGIyMXdiMjVsYm5SekxDQXVMaTV3Y205d2N5NWpiMjF3YjI1bGJuUnpJSDA3WEc0Z0lDQWdhV1lnS0NGemFHRnNiRzkzUlhGMVlXeFBZbXBsWTNSektHMWxjbWRsWkVOdmJYQnZibVZ1ZEhNc0lITjBZWFJsTG0xbGNtZGxaRU52YlhCdmJtVnVkSE1wS1NCN1hHNGdJQ0FnSUNCdVpYZFRkR0YwWlM1dFpYSm5aV1JEYjIxd2IyNWxiblJ6SUQwZ2JXVnlaMlZrUTI5dGNHOXVaVzUwY3p0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb0lXbHpSVzF3ZEhrb2JtVjNVM1JoZEdVcEtTQnlaWFIxY200Z2JtVjNVM1JoZEdVN1hHNWNiaUFnSUNCeVpYUjFjbTRnYm5Wc2JEdGNiaUFnZlZ4dVhHNGdJR052YlhCdmJtVnVkRVJwWkZWd1pHRjBaU2g3SUdselRtRjJVbVZ6YVhwcGJtY2dmU2tnZTF4dUlDQWdJR2xtSUNoY2JpQWdJQ0FnSUdselRtRjJVbVZ6YVhwcGJtY2dKaVpjYmlBZ0lDQWdJSFJvYVhNdWMyVnNaV04wVW1WbUxtTjFjbkpsYm5RZ0ppWmNiaUFnSUNBZ0lIUm9hWE11YzJWc1pXTjBVbVZtTG1OMWNuSmxiblF1YzNSaGRHVXVhWE5QY0dWdVhHNGdJQ0FnS1NCN1hHNGdJQ0FnSUNCMGFHbHpMbk5sYkdWamRGSmxaaTVqZFhKeVpXNTBMbU5zYjNObEtDazdYRzRnSUNBZ2ZWeHVJQ0I5WEc1Y2JpQWdjbVZ6YjJ4MlpWUmhjbWRsZEZKbFppQTlJSEJ2Y0hWd1VtVm1JRDArSUhKbFppQTlQaUI3WEc0Z0lDQWdMeThnWVhadmFXUWdkR2h5WVhOb2FXNW5JR1p1SUdOaGJHeHpYRzRnSUNBZ2FXWWdLQ0YwYUdsekxuUmhjbWRsZEZKbFppQW1KaUJ3YjNCMWNGSmxaaUFtSmlCeVpXWXBJSHRjYmlBZ0lDQWdJSFJvYVhNdWRHRnlaMlYwVW1WbUlEMGdjbVZtTzF4dUlDQWdJQ0FnY0c5d2RYQlNaV1lvY21WbUtUdGNiaUFnSUNCOVhHNGdJSDA3WEc1Y2JpQWdaMlYwUm05dmRHVnlJRDBnS0NrZ1BUNGdlMXh1SUNBZ0lHTnZibk4wSUhzZ1kyeHZjMlZOWlc1MVQyNURjbVZoZEdVc0lHTnlaV0YwWlN3Z1ptOXZkR1Z5SUgwZ1BTQjBhR2x6TG5CeWIzQnpPMXh1WEc0Z0lDQWdhV1lnS0dadmIzUmxjaWtnY21WMGRYSnVJR1p2YjNSbGNqdGNiaUFnSUNCcFppQW9JV055WldGMFpTa2djbVYwZFhKdUlHNTFiR3c3WEc1Y2JpQWdJQ0JzWlhRZ2V5QnZia05zYVdOcklIMGdQU0JqY21WaGRHVTdYRzRnSUNBZ2FXWWdLR05zYjNObFRXVnVkVTl1UTNKbFlYUmxLU0I3WEc0Z0lDQWdJQ0J2YmtOc2FXTnJJRDBnWlNBOVBpQjdYRzRnSUNBZ0lDQWdJR2xtSUNoMGFHbHpMbk5sYkdWamRGSmxaaTVqZFhKeVpXNTBLU0I3WEc0Z0lDQWdJQ0FnSUNBZ2RHaHBjeTV6Wld4bFkzUlNaV1l1WTNWeWNtVnVkQzVqYkc5elpTZ3BPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUdOeVpXRjBaUzV2YmtOc2FXTnJLR1VwTzF4dUlDQWdJQ0FnZlR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdQRVp2YjNSbGNpQjBaWGgwUFh0amNtVmhkR1V1ZEdWNGRIMGdiMjVEYkdsamF6MTdiMjVEYkdsamEzMGdMejQ3WEc0Z0lIMDdYRzVjYmlBZ2NtVnVaR1Z5S0NrZ2UxeHVJQ0FnSUdOdmJuTjBJSHNnWTNKbFlYUmxMQ0J2Y0hScGIyNXpMQ0IwWVhKblpYUXNJQzR1TG5CeWIzQnpJSDBnUFNCMGFHbHpMbkJ5YjNCek8xeHVJQ0FnSUdOdmJuTjBJSHNnYldWeVoyVmtRMjl0Y0c5dVpXNTBjeUI5SUQwZ2RHaHBjeTV6ZEdGMFpUdGNiaUFnSUNCamIyNXpkQ0IwWVhKblpYUlhhV1IwYUNBOUlIUm9hWE11Y0hKdmNITXVibUYyVjJsa2RHZ2dMU0JuY21sa1UybDZaU0FxSURJN1hHNWNiaUFnSUNCeVpYUjFjbTRnS0Z4dUlDQWdJQ0FnUEZCdmNIVndVMlZzWldOMFhHNGdJQ0FnSUNBZ0lISmxaajE3ZEdocGN5NXpaV3hsWTNSU1pXWjlYRzRnSUNBZ0lDQWdJR1pwYkhSbGNrOXdkR2x2YmoxN1ptbHNkR1Z5VDNCMGFXOXVmVnh1SUNBZ0lDQWdJQ0JwYzA5d2RHbHZibE5sYkdWamRHVmtQWHRwYzA5d2RHbHZibE5sYkdWamRHVmtmVnh1SUNBZ0lDQWdJQ0JtYjI5MFpYSTllM1JvYVhNdVoyVjBSbTl2ZEdWeUtDbDlYRzRnSUNBZ0lDQWdJR2RsZEU5d2RHbHZibFpoYkhWbFBYdG5aWFJQY0hScGIyNVdZV3gxWlgxY2JpQWdJQ0FnSUNBZ2IzQjBhVzl1Y3oxN2IzQjBhVzl1YzMxY2JpQWdJQ0FnSUNBZ2JXRjRUV1Z1ZFZkcFpIUm9QWHQwWVhKblpYUlhhV1IwYUgxY2JpQWdJQ0FnSUNBZ2JXbHVUV1Z1ZFZkcFpIUm9QWHQwWVhKblpYUlhhV1IwYUgxY2JpQWdJQ0FnSUNBZ2RHRnlaMlYwUFhzb2V5QnlaV1lzSUdselQzQmxiaUI5S1NBOVBpQW9YRzRnSUNBZ0lDQWdJQ0FnUEU1dlpHVlNaWE52YkhabGNpQnBibTVsY2xKbFpqMTdkR2hwY3k1eVpYTnZiSFpsVkdGeVoyVjBVbVZtS0hKbFppbDlQbHh1SUNBZ0lDQWdJQ0FnSUNBZ2UyTnNiMjVsUld4bGJXVnVkQ2gwWVhKblpYUXNJSHNnYVhOVFpXeGxZM1JsWkRvZ2FYTlBjR1Z1SUgwcGZWeHVJQ0FnSUNBZ0lDQWdJRHd2VG05a1pWSmxjMjlzZG1WeVBseHVJQ0FnSUNBZ0lDQXBmVnh1SUNBZ0lDQWdJQ0I3TGk0dWNISnZjSE45WEc0Z0lDQWdJQ0FnSUhOMGVXeGxjejE3WTNKbFlYUmxVM1I1YkdWektIUm9hWE11Y0hKdmNITXVjM1I1YkdWektYMWNiaUFnSUNBZ0lDQWdZMjl0Y0c5dVpXNTBjejE3YldWeVoyVmtRMjl0Y0c5dVpXNTBjMzFjYmlBZ0lDQWdJQzgrWEc0Z0lDQWdLVHRjYmlBZ2ZWeHVmVnh1WEc1bGVIQnZjblFnZXlCVGQybDBZMmhsY2lCaGN5QkNZWE5sVTNkcGRHTm9aWElnZlR0Y2JseHVaWGh3YjNKMElHUmxabUYxYkhRZ2NISnZjSE1nUFQ0Z0tGeHVJQ0E4VlVsRGIyNTBjbTlzYkdWeVUzVmljMk55YVdKbGNqNWNiaUFnSUNCN0tIc2djM1JoZEdVZ2ZTa2dQVDRnS0Z4dUlDQWdJQ0FnUEZOM2FYUmphR1Z5WEc0Z0lDQWdJQ0FnSUc1aGRsZHBaSFJvUFh0emRHRjBaUzV3Y205a2RXTjBUbUYyVjJsa2RHaDlYRzRnSUNBZ0lDQWdJR2x6VG1GMlVtVnphWHBwYm1jOWUzTjBZWFJsTG1selVtVnphWHBwYm1kOVhHNGdJQ0FnSUNBZ0lIc3VMaTV3Y205d2MzMWNiaUFnSUNBZ0lDOCtYRzRnSUNBZ0tYMWNiaUFnUEM5VlNVTnZiblJ5YjJ4c1pYSlRkV0p6WTNKcFltVnlQbHh1S1R0Y2JpSmRmUT09ICovXCIpXG4gIH0sIHRleHQpKTtcbn07XG52YXIgZGVmYXVsdENvbXBvbmVudHMgPSB7XG4gIENvbnRyb2w6IENvbnRyb2wsXG4gIE9wdGlvbjogT3B0aW9uXG59O1xuXG52YXIgaXNFbXB0eSA9IGZ1bmN0aW9uIGlzRW1wdHkob2JqKSB7XG4gIHJldHVybiBPYmplY3Qua2V5cyhvYmopLmxlbmd0aCA9PT0gMDtcbn07IC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQ2xhc3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbnZhciBTd2l0Y2hlciA9XG4vKiNfX1BVUkVfXyovXG5mdW5jdGlvbiAoX1B1cmVDb21wb25lbnQpIHtcbiAgX2luaGVyaXRzKFN3aXRjaGVyLCBfUHVyZUNvbXBvbmVudCk7XG5cbiAgZnVuY3Rpb24gU3dpdGNoZXIoKSB7XG4gICAgdmFyIF9nZXRQcm90b3R5cGVPZjI7XG5cbiAgICB2YXIgX3RoaXM7XG5cbiAgICBfY2xhc3NDYWxsQ2hlY2sodGhpcywgU3dpdGNoZXIpO1xuXG4gICAgZm9yICh2YXIgX2xlbiA9IGFyZ3VtZW50cy5sZW5ndGgsIGFyZ3MgPSBuZXcgQXJyYXkoX2xlbiksIF9rZXkgPSAwOyBfa2V5IDwgX2xlbjsgX2tleSsrKSB7XG4gICAgICBhcmdzW19rZXldID0gYXJndW1lbnRzW19rZXldO1xuICAgIH1cblxuICAgIF90aGlzID0gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4odGhpcywgKF9nZXRQcm90b3R5cGVPZjIgPSBfZ2V0UHJvdG90eXBlT2YoU3dpdGNoZXIpKS5jYWxsLmFwcGx5KF9nZXRQcm90b3R5cGVPZjIsIFt0aGlzXS5jb25jYXQoYXJncykpKTtcblxuICAgIF9kZWZpbmVQcm9wZXJ0eShfYXNzZXJ0VGhpc0luaXRpYWxpemVkKF90aGlzKSwgXCJzdGF0ZVwiLCB7XG4gICAgICBtZXJnZWRDb21wb25lbnRzOiBkZWZhdWx0Q29tcG9uZW50c1xuICAgIH0pO1xuXG4gICAgX2RlZmluZVByb3BlcnR5KF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoX3RoaXMpLCBcInNlbGVjdFJlZlwiLCBSZWFjdC5jcmVhdGVSZWYoKSk7XG5cbiAgICBfZGVmaW5lUHJvcGVydHkoX2Fzc2VydFRoaXNJbml0aWFsaXplZChfdGhpcyksIFwidGFyZ2V0UmVmXCIsIHZvaWQgMCk7XG5cbiAgICBfZGVmaW5lUHJvcGVydHkoX2Fzc2VydFRoaXNJbml0aWFsaXplZChfdGhpcyksIFwidGFyZ2V0V2lkdGhcIiwgMCk7XG5cbiAgICBfZGVmaW5lUHJvcGVydHkoX2Fzc2VydFRoaXNJbml0aWFsaXplZChfdGhpcyksIFwicmVzb2x2ZVRhcmdldFJlZlwiLCBmdW5jdGlvbiAocG9wdXBSZWYpIHtcbiAgICAgIHJldHVybiBmdW5jdGlvbiAocmVmKSB7XG4gICAgICAgIC8vIGF2b2lkIHRocmFzaGluZyBmbiBjYWxsc1xuICAgICAgICBpZiAoIV90aGlzLnRhcmdldFJlZiAmJiBwb3B1cFJlZiAmJiByZWYpIHtcbiAgICAgICAgICBfdGhpcy50YXJnZXRSZWYgPSByZWY7XG4gICAgICAgICAgcG9wdXBSZWYocmVmKTtcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICB9KTtcblxuICAgIF9kZWZpbmVQcm9wZXJ0eShfYXNzZXJ0VGhpc0luaXRpYWxpemVkKF90aGlzKSwgXCJnZXRGb290ZXJcIiwgZnVuY3Rpb24gKCkge1xuICAgICAgdmFyIF90aGlzJHByb3BzID0gX3RoaXMucHJvcHMsXG4gICAgICAgICAgY2xvc2VNZW51T25DcmVhdGUgPSBfdGhpcyRwcm9wcy5jbG9zZU1lbnVPbkNyZWF0ZSxcbiAgICAgICAgICBjcmVhdGUgPSBfdGhpcyRwcm9wcy5jcmVhdGUsXG4gICAgICAgICAgZm9vdGVyID0gX3RoaXMkcHJvcHMuZm9vdGVyO1xuICAgICAgaWYgKGZvb3RlcikgcmV0dXJuIGZvb3RlcjtcbiAgICAgIGlmICghY3JlYXRlKSByZXR1cm4gbnVsbDtcbiAgICAgIHZhciBvbkNsaWNrID0gY3JlYXRlLm9uQ2xpY2s7XG5cbiAgICAgIGlmIChjbG9zZU1lbnVPbkNyZWF0ZSkge1xuICAgICAgICBvbkNsaWNrID0gZnVuY3Rpb24gb25DbGljayhlKSB7XG4gICAgICAgICAgaWYgKF90aGlzLnNlbGVjdFJlZi5jdXJyZW50KSB7XG4gICAgICAgICAgICBfdGhpcy5zZWxlY3RSZWYuY3VycmVudC5jbG9zZSgpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNyZWF0ZS5vbkNsaWNrKGUpO1xuICAgICAgICB9O1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gX19fRW1vdGlvbkpTWChGb290ZXIsIHtcbiAgICAgICAgdGV4dDogY3JlYXRlLnRleHQsXG4gICAgICAgIG9uQ2xpY2s6IG9uQ2xpY2tcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIF90aGlzO1xuICB9XG5cbiAgX2NyZWF0ZUNsYXNzKFN3aXRjaGVyLCBbe1xuICAgIGtleTogXCJjb21wb25lbnREaWRVcGRhdGVcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gY29tcG9uZW50RGlkVXBkYXRlKF9yZWY1KSB7XG4gICAgICB2YXIgaXNOYXZSZXNpemluZyA9IF9yZWY1LmlzTmF2UmVzaXppbmc7XG5cbiAgICAgIGlmIChpc05hdlJlc2l6aW5nICYmIHRoaXMuc2VsZWN0UmVmLmN1cnJlbnQgJiYgdGhpcy5zZWxlY3RSZWYuY3VycmVudC5zdGF0ZS5pc09wZW4pIHtcbiAgICAgICAgdGhpcy5zZWxlY3RSZWYuY3VycmVudC5jbG9zZSgpO1xuICAgICAgfVxuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJyZW5kZXJcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gcmVuZGVyKCkge1xuICAgICAgdmFyIF90aGlzMiA9IHRoaXM7XG5cbiAgICAgIHZhciBfdGhpcyRwcm9wczIgPSB0aGlzLnByb3BzLFxuICAgICAgICAgIGNyZWF0ZSA9IF90aGlzJHByb3BzMi5jcmVhdGUsXG4gICAgICAgICAgb3B0aW9ucyA9IF90aGlzJHByb3BzMi5vcHRpb25zLFxuICAgICAgICAgIF90YXJnZXQgPSBfdGhpcyRwcm9wczIudGFyZ2V0LFxuICAgICAgICAgIHByb3BzID0gX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzKF90aGlzJHByb3BzMiwgW1wiY3JlYXRlXCIsIFwib3B0aW9uc1wiLCBcInRhcmdldFwiXSk7XG5cbiAgICAgIHZhciBtZXJnZWRDb21wb25lbnRzID0gdGhpcy5zdGF0ZS5tZXJnZWRDb21wb25lbnRzO1xuICAgICAgdmFyIHRhcmdldFdpZHRoID0gdGhpcy5wcm9wcy5uYXZXaWR0aCAtIGdyaWRTaXplICogMjtcbiAgICAgIHJldHVybiBfX19FbW90aW9uSlNYKFBvcHVwU2VsZWN0LCBfZXh0ZW5kcyh7XG4gICAgICAgIHJlZjogdGhpcy5zZWxlY3RSZWYsXG4gICAgICAgIGZpbHRlck9wdGlvbjogZmlsdGVyT3B0aW9uLFxuICAgICAgICBpc09wdGlvblNlbGVjdGVkOiBpc09wdGlvblNlbGVjdGVkLFxuICAgICAgICBmb290ZXI6IHRoaXMuZ2V0Rm9vdGVyKCksXG4gICAgICAgIGdldE9wdGlvblZhbHVlOiBnZXRPcHRpb25WYWx1ZSxcbiAgICAgICAgb3B0aW9uczogb3B0aW9ucyxcbiAgICAgICAgbWF4TWVudVdpZHRoOiB0YXJnZXRXaWR0aCxcbiAgICAgICAgbWluTWVudVdpZHRoOiB0YXJnZXRXaWR0aCxcbiAgICAgICAgdGFyZ2V0OiBmdW5jdGlvbiB0YXJnZXQoX3JlZjYpIHtcbiAgICAgICAgICB2YXIgcmVmID0gX3JlZjYucmVmLFxuICAgICAgICAgICAgICBpc09wZW4gPSBfcmVmNi5pc09wZW47XG4gICAgICAgICAgcmV0dXJuIF9fX0Vtb3Rpb25KU1goTm9kZVJlc29sdmVyLCB7XG4gICAgICAgICAgICBpbm5lclJlZjogX3RoaXMyLnJlc29sdmVUYXJnZXRSZWYocmVmKVxuICAgICAgICAgIH0sIGNsb25lRWxlbWVudChfdGFyZ2V0LCB7XG4gICAgICAgICAgICBpc1NlbGVjdGVkOiBpc09wZW5cbiAgICAgICAgICB9KSk7XG4gICAgICAgIH1cbiAgICAgIH0sIHByb3BzLCB7XG4gICAgICAgIHN0eWxlczogY3JlYXRlU3R5bGVzKHRoaXMucHJvcHMuc3R5bGVzKSxcbiAgICAgICAgY29tcG9uZW50czogbWVyZ2VkQ29tcG9uZW50c1xuICAgICAgfSkpO1xuICAgIH1cbiAgfV0sIFt7XG4gICAga2V5OiBcImdldERlcml2ZWRTdGF0ZUZyb21Qcm9wc1wiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMocHJvcHMsIHN0YXRlKSB7XG4gICAgICB2YXIgbmV3U3RhdGUgPSB7fTsgLy8gTWVyZ2UgY29uc3VtZXIgYW5kIGRlZmF1bHQgY29tcG9uZW50c1xuXG4gICAgICB2YXIgbWVyZ2VkQ29tcG9uZW50cyA9IF9vYmplY3RTcHJlYWQoe30sIGRlZmF1bHRDb21wb25lbnRzLCBwcm9wcy5jb21wb25lbnRzKTtcblxuICAgICAgaWYgKCFzaGFsbG93RXF1YWxPYmplY3RzKG1lcmdlZENvbXBvbmVudHMsIHN0YXRlLm1lcmdlZENvbXBvbmVudHMpKSB7XG4gICAgICAgIG5ld1N0YXRlLm1lcmdlZENvbXBvbmVudHMgPSBtZXJnZWRDb21wb25lbnRzO1xuICAgICAgfVxuXG4gICAgICBpZiAoIWlzRW1wdHkobmV3U3RhdGUpKSByZXR1cm4gbmV3U3RhdGU7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1dKTtcblxuICByZXR1cm4gU3dpdGNoZXI7XG59KFB1cmVDb21wb25lbnQpO1xuXG5fZGVmaW5lUHJvcGVydHkoU3dpdGNoZXIsIFwiZGVmYXVsdFByb3BzXCIsIHtcbiAgY2xvc2VNZW51T25DcmVhdGU6IHRydWUsXG4gIGNvbXBvbmVudHM6IHt9LFxuICBuYXZXaWR0aDogQ09OVEVOVF9OQVZfV0lEVEgsXG4gIGlzTmF2UmVzaXppbmc6IGZhbHNlXG59KTtcblxuZXhwb3J0IHsgU3dpdGNoZXIgYXMgQmFzZVN3aXRjaGVyIH07XG5leHBvcnQgZGVmYXVsdCAoZnVuY3Rpb24gKHByb3BzKSB7XG4gIHJldHVybiBfX19FbW90aW9uSlNYKFVJQ29udHJvbGxlclN1YnNjcmliZXIsIG51bGwsIGZ1bmN0aW9uIChfcmVmNykge1xuICAgIHZhciBzdGF0ZSA9IF9yZWY3LnN0YXRlO1xuICAgIHJldHVybiBfX19FbW90aW9uSlNYKFN3aXRjaGVyLCBfZXh0ZW5kcyh7XG4gICAgICBuYXZXaWR0aDogc3RhdGUucHJvZHVjdE5hdldpZHRoLFxuICAgICAgaXNOYXZSZXNpemluZzogc3RhdGUuaXNSZXNpemluZ1xuICAgIH0sIHByb3BzKSk7XG4gIH0pO1xufSk7Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/Switcher/index.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/Wordmark/index.js": /*!*****************************************************************************************************!*\ !*** ./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/Wordmark/index.js ***! \*****************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return Wordmark; });\n/* harmony import */ var _emotion_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @emotion/css */ \"./node_modules/@emotion/css/dist/css.browser.esm.js\");\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ \"./node_modules/@babel/runtime/helpers/classCallCheck.js\");\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\");\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ \"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ \"./node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ \"./node_modules/@babel/runtime/helpers/inherits.js\");\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _emotion_core__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @emotion/core */ \"./node_modules/@emotion/core/dist/core.browser.esm.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _atlaskit_theme_constants__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @atlaskit/theme/constants */ \"./node_modules/@atlaskit/theme/dist/esm/constants.js\");\n\n\n\n\n\n\n\n\n\nvar gridSize = Object(_atlaskit_theme_constants__WEBPACK_IMPORTED_MODULE_8__[\"gridSize\"])();\n\nvar Wordmark =\n/*#__PURE__*/\nfunction (_Component) {\n _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5___default()(Wordmark, _Component);\n\n function Wordmark() {\n _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default()(this, Wordmark);\n\n return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3___default()(this, _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4___default()(Wordmark).apply(this, arguments));\n }\n\n _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2___default()(Wordmark, [{\n key: \"render\",\n value: function render() {\n var WordmarkLogo = this.props.wordmark;\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_6__[\"jsx\"])(\"div\", {\n css:\n /*#__PURE__*/\n Object(_emotion_css__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n lineHeight: 0,\n // -2px here to account for the extra space at the top of a MenuSection\n // for the scroll hint.\n paddingBottom: gridSize * 3.5 - 2,\n paddingLeft: gridSize * 2,\n paddingTop: gridSize\n }, false ? undefined : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL1dvcmRtYXJrL2luZGV4LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVdRIiwiZmlsZSI6Ii4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL1dvcmRtYXJrL2luZGV4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IENvbXBvbmVudCB9IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHsgZ3JpZFNpemUgYXMgZ3JpZFNpemVGbiB9IGZyb20gJ0BhdGxhc2tpdC90aGVtZS9jb25zdGFudHMnO1xuXG5jb25zdCBncmlkU2l6ZSA9IGdyaWRTaXplRm4oKTtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgV29yZG1hcmsgZXh0ZW5kcyBDb21wb25lbnQge1xuICByZW5kZXIoKSB7XG4gICAgY29uc3QgeyB3b3JkbWFyazogV29yZG1hcmtMb2dvIH0gPSB0aGlzLnByb3BzO1xuICAgIHJldHVybiAoXG4gICAgICA8ZGl2XG4gICAgICAgIGNzcz17e1xuICAgICAgICAgIGxpbmVIZWlnaHQ6IDAsXG4gICAgICAgICAgLy8gLTJweCBoZXJlIHRvIGFjY291bnQgZm9yIHRoZSBleHRyYSBzcGFjZSBhdCB0aGUgdG9wIG9mIGEgTWVudVNlY3Rpb25cbiAgICAgICAgICAvLyBmb3IgdGhlIHNjcm9sbCBoaW50LlxuICAgICAgICAgIHBhZGRpbmdCb3R0b206IGdyaWRTaXplICogMy41IC0gMixcbiAgICAgICAgICBwYWRkaW5nTGVmdDogZ3JpZFNpemUgKiAyLFxuICAgICAgICAgIHBhZGRpbmdUb3A6IGdyaWRTaXplLFxuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICA8V29yZG1hcmtMb2dvIC8+XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9XG59XG4iXX0= */\")\n }, Object(_emotion_core__WEBPACK_IMPORTED_MODULE_6__[\"jsx\"])(WordmarkLogo, null));\n }\n }]);\n\n return Wordmark;\n}(react__WEBPACK_IMPORTED_MODULE_7__[\"Component\"]);\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL1dvcmRtYXJrL2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BhdGxhc2tpdC9uYXZpZ2F0aW9uLW5leHQvZGlzdC9lc20vY29tcG9uZW50cy9wcmVzZW50YXRpb25hbC9Xb3JkbWFyay9pbmRleC5qcz8yOWUxIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfY3NzIGZyb20gXCJAZW1vdGlvbi9jc3NcIjtcbmltcG9ydCBfY2xhc3NDYWxsQ2hlY2sgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvY2xhc3NDYWxsQ2hlY2tcIjtcbmltcG9ydCBfY3JlYXRlQ2xhc3MgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvY3JlYXRlQ2xhc3NcIjtcbmltcG9ydCBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybiBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuXCI7XG5pbXBvcnQgX2dldFByb3RvdHlwZU9mIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2dldFByb3RvdHlwZU9mXCI7XG5pbXBvcnQgX2luaGVyaXRzIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2luaGVyaXRzXCI7XG5pbXBvcnQgeyBqc3ggYXMgX19fRW1vdGlvbkpTWCB9IGZyb20gXCJAZW1vdGlvbi9jb3JlXCI7XG5pbXBvcnQgUmVhY3QsIHsgQ29tcG9uZW50IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgZ3JpZFNpemUgYXMgZ3JpZFNpemVGbiB9IGZyb20gJ0BhdGxhc2tpdC90aGVtZS9jb25zdGFudHMnO1xudmFyIGdyaWRTaXplID0gZ3JpZFNpemVGbigpO1xuXG52YXIgV29yZG1hcmsgPVxuLyojX19QVVJFX18qL1xuZnVuY3Rpb24gKF9Db21wb25lbnQpIHtcbiAgX2luaGVyaXRzKFdvcmRtYXJrLCBfQ29tcG9uZW50KTtcblxuICBmdW5jdGlvbiBXb3JkbWFyaygpIHtcbiAgICBfY2xhc3NDYWxsQ2hlY2sodGhpcywgV29yZG1hcmspO1xuXG4gICAgcmV0dXJuIF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHRoaXMsIF9nZXRQcm90b3R5cGVPZihXb3JkbWFyaykuYXBwbHkodGhpcywgYXJndW1lbnRzKSk7XG4gIH1cblxuICBfY3JlYXRlQ2xhc3MoV29yZG1hcmssIFt7XG4gICAga2V5OiBcInJlbmRlclwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiByZW5kZXIoKSB7XG4gICAgICB2YXIgV29yZG1hcmtMb2dvID0gdGhpcy5wcm9wcy53b3JkbWFyaztcbiAgICAgIHJldHVybiBfX19FbW90aW9uSlNYKFwiZGl2XCIsIHtcbiAgICAgICAgY3NzOlxuICAgICAgICAvKiNfX1BVUkVfXyovXG4gICAgICAgIF9jc3Moe1xuICAgICAgICAgIGxpbmVIZWlnaHQ6IDAsXG4gICAgICAgICAgLy8gLTJweCBoZXJlIHRvIGFjY291bnQgZm9yIHRoZSBleHRyYSBzcGFjZSBhdCB0aGUgdG9wIG9mIGEgTWVudVNlY3Rpb25cbiAgICAgICAgICAvLyBmb3IgdGhlIHNjcm9sbCBoaW50LlxuICAgICAgICAgIHBhZGRpbmdCb3R0b206IGdyaWRTaXplICogMy41IC0gMixcbiAgICAgICAgICBwYWRkaW5nTGVmdDogZ3JpZFNpemUgKiAyLFxuICAgICAgICAgIHBhZGRpbmdUb3A6IGdyaWRTaXplXG4gICAgICAgIH0sIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IFwiXCIgOiBcIi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpNHVMeTR1THk0dUx5NHVMeTR1TDNOeVl5OWpiMjF3YjI1bGJuUnpMM0J5WlhObGJuUmhkR2x2Ym1Gc0wxZHZjbVJ0WVhKckwybHVaR1Y0TG1weklsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFWZFJJaXdpWm1sc1pTSTZJaTR1THk0dUx5NHVMeTR1THk0dUwzTnlZeTlqYjIxd2IyNWxiblJ6TDNCeVpYTmxiblJoZEdsdmJtRnNMMWR2Y21SdFlYSnJMMmx1WkdWNExtcHpJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpYVcxd2IzSjBJRkpsWVdOMExDQjdJRU52YlhCdmJtVnVkQ0I5SUdaeWIyMGdKM0psWVdOMEp6dGNibHh1YVcxd2IzSjBJSHNnWjNKcFpGTnBlbVVnWVhNZ1ozSnBaRk5wZW1WR2JpQjlJR1p5YjIwZ0owQmhkR3hoYzJ0cGRDOTBhR1Z0WlM5amIyNXpkR0Z1ZEhNbk8xeHVYRzVqYjI1emRDQm5jbWxrVTJsNlpTQTlJR2R5YVdSVGFYcGxSbTRvS1R0Y2JseHVaWGh3YjNKMElHUmxabUYxYkhRZ1kyeGhjM01nVjI5eVpHMWhjbXNnWlhoMFpXNWtjeUJEYjIxd2IyNWxiblFnZTF4dUlDQnlaVzVrWlhJb0tTQjdYRzRnSUNBZ1kyOXVjM1FnZXlCM2IzSmtiV0Z5YXpvZ1YyOXlaRzFoY210TWIyZHZJSDBnUFNCMGFHbHpMbkJ5YjNCek8xeHVJQ0FnSUhKbGRIVnliaUFvWEc0Z0lDQWdJQ0E4WkdsMlhHNGdJQ0FnSUNBZ0lHTnpjejE3ZTF4dUlDQWdJQ0FnSUNBZ0lHeHBibVZJWldsbmFIUTZJREFzWEc0Z0lDQWdJQ0FnSUNBZ0x5OGdMVEp3ZUNCb1pYSmxJSFJ2SUdGalkyOTFiblFnWm05eUlIUm9aU0JsZUhSeVlTQnpjR0ZqWlNCaGRDQjBhR1VnZEc5d0lHOW1JR0VnVFdWdWRWTmxZM1JwYjI1Y2JpQWdJQ0FnSUNBZ0lDQXZMeUJtYjNJZ2RHaGxJSE5qY205c2JDQm9hVzUwTGx4dUlDQWdJQ0FnSUNBZ0lIQmhaR1JwYm1kQ2IzUjBiMjA2SUdkeWFXUlRhWHBsSUNvZ015NDFJQzBnTWl4Y2JpQWdJQ0FnSUNBZ0lDQndZV1JrYVc1blRHVm1kRG9nWjNKcFpGTnBlbVVnS2lBeUxGeHVJQ0FnSUNBZ0lDQWdJSEJoWkdScGJtZFViM0E2SUdkeWFXUlRhWHBsTEZ4dUlDQWdJQ0FnSUNCOWZWeHVJQ0FnSUNBZ1BseHVJQ0FnSUNBZ0lDQThWMjl5WkcxaGNtdE1iMmR2SUM4K1hHNGdJQ0FnSUNBOEwyUnBkajVjYmlBZ0lDQXBPMXh1SUNCOVhHNTlYRzRpWFgwPSAqL1wiKVxuICAgICAgfSwgX19fRW1vdGlvbkpTWChXb3JkbWFya0xvZ28sIG51bGwpKTtcbiAgICB9XG4gIH1dKTtcblxuICByZXR1cm4gV29yZG1hcms7XG59KENvbXBvbmVudCk7XG5cbmV4cG9ydCB7IFdvcmRtYXJrIGFzIGRlZmF1bHQgfTsiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/Wordmark/index.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/navigation-next/dist/esm/index.js": /*!******************************************************************!*\ !*** ./node_modules/@atlaskit/navigation-next/dist/esm/index.js ***! \******************************************************************/ /*! exports provided: ContainerHeader, GlobalItem, GlobalItemPrimitive, GlobalNav, GlobalNavigationSkeleton, Group, GroupHeading, HeaderSection, Item, ItemPrimitive, ItemAvatar, LayoutManager, MenuSection, Section, SectionHeading, Separator, SkeletonContainerHeader, SkeletonItem, SkeletonContainerView, Switcher, Wordmark, BackItem, ConnectedItem, GoToItem, LayoutManagerWithViewController, AsyncLayoutManagerWithViewController, SortableGroup, SortableItem, SortableContext, NavigationProvider, UIController, UIControllerSubscriber, withNavigationUIController, ViewController, ViewControllerSubscriber, withNavigationViewController, viewReducerUtils, ItemsRenderer, TypedItemsRenderer, dark, light, settings, modeGenerator, ThemeProvider */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _components_presentational_ContainerHeader__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./components/presentational/ContainerHeader */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/ContainerHeader/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ContainerHeader\", function() { return _components_presentational_ContainerHeader__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n/* harmony import */ var _components_presentational_GlobalItem__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./components/presentational/GlobalItem */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/GlobalItem/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"GlobalItem\", function() { return _components_presentational_GlobalItem__WEBPACK_IMPORTED_MODULE_1__[\"default\"]; });\n\n/* harmony import */ var _components_presentational_GlobalItem_primitives__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./components/presentational/GlobalItem/primitives */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/GlobalItem/primitives.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"GlobalItemPrimitive\", function() { return _components_presentational_GlobalItem_primitives__WEBPACK_IMPORTED_MODULE_2__[\"default\"]; });\n\n/* harmony import */ var _components_presentational_GlobalNav__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./components/presentational/GlobalNav */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/GlobalNav/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"GlobalNav\", function() { return _components_presentational_GlobalNav__WEBPACK_IMPORTED_MODULE_3__[\"default\"]; });\n\n/* harmony import */ var _components_presentational_GlobalNavigationSkeleton__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./components/presentational/GlobalNavigationSkeleton */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/GlobalNavigationSkeleton/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"GlobalNavigationSkeleton\", function() { return _components_presentational_GlobalNavigationSkeleton__WEBPACK_IMPORTED_MODULE_4__[\"default\"]; });\n\n/* harmony import */ var _components_presentational_Group__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./components/presentational/Group */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/Group/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Group\", function() { return _components_presentational_Group__WEBPACK_IMPORTED_MODULE_5__[\"default\"]; });\n\n/* harmony import */ var _components_presentational_GroupHeading__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./components/presentational/GroupHeading */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/GroupHeading/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"GroupHeading\", function() { return _components_presentational_GroupHeading__WEBPACK_IMPORTED_MODULE_6__[\"default\"]; });\n\n/* harmony import */ var _components_presentational_HeaderSection__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./components/presentational/HeaderSection */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/HeaderSection/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"HeaderSection\", function() { return _components_presentational_HeaderSection__WEBPACK_IMPORTED_MODULE_7__[\"default\"]; });\n\n/* harmony import */ var _components_presentational_Item__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./components/presentational/Item */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/Item/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Item\", function() { return _components_presentational_Item__WEBPACK_IMPORTED_MODULE_8__[\"default\"]; });\n\n/* harmony import */ var _components_presentational_Item_primitives__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./components/presentational/Item/primitives */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/Item/primitives.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ItemPrimitive\", function() { return _components_presentational_Item_primitives__WEBPACK_IMPORTED_MODULE_9__[\"default\"]; });\n\n/* harmony import */ var _components_presentational_ItemAvatar__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./components/presentational/ItemAvatar */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/ItemAvatar/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ItemAvatar\", function() { return _components_presentational_ItemAvatar__WEBPACK_IMPORTED_MODULE_10__[\"default\"]; });\n\n/* harmony import */ var _components_presentational_LayoutManager__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./components/presentational/LayoutManager */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/LayoutManager/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"LayoutManager\", function() { return _components_presentational_LayoutManager__WEBPACK_IMPORTED_MODULE_11__[\"default\"]; });\n\n/* harmony import */ var _components_presentational_MenuSection__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./components/presentational/MenuSection */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/MenuSection/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MenuSection\", function() { return _components_presentational_MenuSection__WEBPACK_IMPORTED_MODULE_12__[\"default\"]; });\n\n/* harmony import */ var _components_presentational_Section__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./components/presentational/Section */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/Section/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Section\", function() { return _components_presentational_Section__WEBPACK_IMPORTED_MODULE_13__[\"default\"]; });\n\n/* harmony import */ var _components_presentational_SectionHeading__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./components/presentational/SectionHeading */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/SectionHeading/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SectionHeading\", function() { return _components_presentational_SectionHeading__WEBPACK_IMPORTED_MODULE_14__[\"default\"]; });\n\n/* harmony import */ var _components_presentational_Separator__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./components/presentational/Separator */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/Separator/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Separator\", function() { return _components_presentational_Separator__WEBPACK_IMPORTED_MODULE_15__[\"default\"]; });\n\n/* harmony import */ var _components_presentational_SkeletonContainerHeader__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./components/presentational/SkeletonContainerHeader */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/SkeletonContainerHeader/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SkeletonContainerHeader\", function() { return _components_presentational_SkeletonContainerHeader__WEBPACK_IMPORTED_MODULE_16__[\"default\"]; });\n\n/* harmony import */ var _components_presentational_SkeletonItem__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./components/presentational/SkeletonItem */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/SkeletonItem/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SkeletonItem\", function() { return _components_presentational_SkeletonItem__WEBPACK_IMPORTED_MODULE_17__[\"default\"]; });\n\n/* harmony import */ var _components_presentational_SkeletonContainerView__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./components/presentational/SkeletonContainerView */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/SkeletonContainerView/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SkeletonContainerView\", function() { return _components_presentational_SkeletonContainerView__WEBPACK_IMPORTED_MODULE_18__[\"default\"]; });\n\n/* harmony import */ var _components_presentational_Switcher__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./components/presentational/Switcher */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/Switcher/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Switcher\", function() { return _components_presentational_Switcher__WEBPACK_IMPORTED_MODULE_19__[\"default\"]; });\n\n/* harmony import */ var _components_presentational_Wordmark__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./components/presentational/Wordmark */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/Wordmark/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Wordmark\", function() { return _components_presentational_Wordmark__WEBPACK_IMPORTED_MODULE_20__[\"default\"]; });\n\n/* harmony import */ var _components_connected_BackItem__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./components/connected/BackItem */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/connected/BackItem/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"BackItem\", function() { return _components_connected_BackItem__WEBPACK_IMPORTED_MODULE_21__[\"default\"]; });\n\n/* harmony import */ var _components_connected_ConnectedItem__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./components/connected/ConnectedItem */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/connected/ConnectedItem/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ConnectedItem\", function() { return _components_connected_ConnectedItem__WEBPACK_IMPORTED_MODULE_22__[\"default\"]; });\n\n/* harmony import */ var _components_connected_GoToItem__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./components/connected/GoToItem */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/connected/GoToItem/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"GoToItem\", function() { return _components_connected_GoToItem__WEBPACK_IMPORTED_MODULE_23__[\"default\"]; });\n\n/* harmony import */ var _components_connected_LayoutManagerWithViewController__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./components/connected/LayoutManagerWithViewController */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/connected/LayoutManagerWithViewController/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"LayoutManagerWithViewController\", function() { return _components_connected_LayoutManagerWithViewController__WEBPACK_IMPORTED_MODULE_24__[\"default\"]; });\n\n/* harmony import */ var _components_connected_AsyncLayoutManagerWithViewController__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./components/connected/AsyncLayoutManagerWithViewController */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/connected/AsyncLayoutManagerWithViewController/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AsyncLayoutManagerWithViewController\", function() { return _components_connected_AsyncLayoutManagerWithViewController__WEBPACK_IMPORTED_MODULE_25__[\"default\"]; });\n\n/* harmony import */ var _components_connected_SortableGroup__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./components/connected/SortableGroup */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/connected/SortableGroup/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SortableGroup\", function() { return _components_connected_SortableGroup__WEBPACK_IMPORTED_MODULE_26__[\"default\"]; });\n\n/* harmony import */ var _components_connected_SortableItem__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./components/connected/SortableItem */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/connected/SortableItem/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SortableItem\", function() { return _components_connected_SortableItem__WEBPACK_IMPORTED_MODULE_27__[\"default\"]; });\n\n/* harmony import */ var _components_connected_SortableContext__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./components/connected/SortableContext */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/connected/SortableContext/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SortableContext\", function() { return _components_connected_SortableContext__WEBPACK_IMPORTED_MODULE_28__[\"default\"]; });\n\n/* harmony import */ var _provider__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ./provider */ \"./node_modules/@atlaskit/navigation-next/dist/esm/provider/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"NavigationProvider\", function() { return _provider__WEBPACK_IMPORTED_MODULE_29__[\"NavigationProvider\"]; });\n\n/* harmony import */ var _ui_controller__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ./ui-controller */ \"./node_modules/@atlaskit/navigation-next/dist/esm/ui-controller.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"UIController\", function() { return _ui_controller__WEBPACK_IMPORTED_MODULE_30__[\"UIController\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"UIControllerSubscriber\", function() { return _ui_controller__WEBPACK_IMPORTED_MODULE_30__[\"UIControllerSubscriber\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"withNavigationUIController\", function() { return _ui_controller__WEBPACK_IMPORTED_MODULE_30__[\"withNavigationUIController\"]; });\n\n/* harmony import */ var _view_controller__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ./view-controller */ \"./node_modules/@atlaskit/navigation-next/dist/esm/view-controller.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ViewController\", function() { return _view_controller__WEBPACK_IMPORTED_MODULE_31__[\"ViewController\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ViewControllerSubscriber\", function() { return _view_controller__WEBPACK_IMPORTED_MODULE_31__[\"ViewControllerSubscriber\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"withNavigationViewController\", function() { return _view_controller__WEBPACK_IMPORTED_MODULE_31__[\"withNavigationViewController\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"viewReducerUtils\", function() { return _view_controller__WEBPACK_IMPORTED_MODULE_31__[\"viewReducerUtils\"]; });\n\n/* harmony import */ var _renderer__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ./renderer */ \"./node_modules/@atlaskit/navigation-next/dist/esm/renderer/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ItemsRenderer\", function() { return _renderer__WEBPACK_IMPORTED_MODULE_32__[\"default\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"TypedItemsRenderer\", function() { return _renderer__WEBPACK_IMPORTED_MODULE_32__[\"TypedItemsRenderer\"]; });\n\n/* harmony import */ var _theme__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ./theme */ \"./node_modules/@atlaskit/navigation-next/dist/esm/theme/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"dark\", function() { return _theme__WEBPACK_IMPORTED_MODULE_33__[\"dark\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"light\", function() { return _theme__WEBPACK_IMPORTED_MODULE_33__[\"light\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"settings\", function() { return _theme__WEBPACK_IMPORTED_MODULE_33__[\"settings\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"modeGenerator\", function() { return _theme__WEBPACK_IMPORTED_MODULE_33__[\"modeGenerator\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ThemeProvider\", function() { return _theme__WEBPACK_IMPORTED_MODULE_33__[\"ThemeProvider\"]; });\n\n/** Presentational Components */\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/** Connected components */\n\n\n\n\n\n\n\n\n\n/** State */\n\n\n\n\n/** Renderer */\n\n\n/** Theme */\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS9pbmRleC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AYXRsYXNraXQvbmF2aWdhdGlvbi1uZXh0L2Rpc3QvZXNtL2luZGV4LmpzPzhhNGEiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIFByZXNlbnRhdGlvbmFsIENvbXBvbmVudHMgKi9cbmV4cG9ydCB7IGRlZmF1bHQgYXMgQ29udGFpbmVySGVhZGVyIH0gZnJvbSAnLi9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL0NvbnRhaW5lckhlYWRlcic7XG5leHBvcnQgeyBkZWZhdWx0IGFzIEdsb2JhbEl0ZW0gfSBmcm9tICcuL2NvbXBvbmVudHMvcHJlc2VudGF0aW9uYWwvR2xvYmFsSXRlbSc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIEdsb2JhbEl0ZW1QcmltaXRpdmUgfSBmcm9tICcuL2NvbXBvbmVudHMvcHJlc2VudGF0aW9uYWwvR2xvYmFsSXRlbS9wcmltaXRpdmVzJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgR2xvYmFsTmF2IH0gZnJvbSAnLi9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL0dsb2JhbE5hdic7XG5leHBvcnQgeyBkZWZhdWx0IGFzIEdsb2JhbE5hdmlnYXRpb25Ta2VsZXRvbiB9IGZyb20gJy4vY29tcG9uZW50cy9wcmVzZW50YXRpb25hbC9HbG9iYWxOYXZpZ2F0aW9uU2tlbGV0b24nO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBHcm91cCB9IGZyb20gJy4vY29tcG9uZW50cy9wcmVzZW50YXRpb25hbC9Hcm91cCc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIEdyb3VwSGVhZGluZyB9IGZyb20gJy4vY29tcG9uZW50cy9wcmVzZW50YXRpb25hbC9Hcm91cEhlYWRpbmcnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBIZWFkZXJTZWN0aW9uIH0gZnJvbSAnLi9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL0hlYWRlclNlY3Rpb24nO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBJdGVtIH0gZnJvbSAnLi9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL0l0ZW0nO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBJdGVtUHJpbWl0aXZlIH0gZnJvbSAnLi9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL0l0ZW0vcHJpbWl0aXZlcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIEl0ZW1BdmF0YXIgfSBmcm9tICcuL2NvbXBvbmVudHMvcHJlc2VudGF0aW9uYWwvSXRlbUF2YXRhcic7XG5leHBvcnQgeyBkZWZhdWx0IGFzIExheW91dE1hbmFnZXIgfSBmcm9tICcuL2NvbXBvbmVudHMvcHJlc2VudGF0aW9uYWwvTGF5b3V0TWFuYWdlcic7XG5leHBvcnQgeyBkZWZhdWx0IGFzIE1lbnVTZWN0aW9uIH0gZnJvbSAnLi9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL01lbnVTZWN0aW9uJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgU2VjdGlvbiB9IGZyb20gJy4vY29tcG9uZW50cy9wcmVzZW50YXRpb25hbC9TZWN0aW9uJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgU2VjdGlvbkhlYWRpbmcgfSBmcm9tICcuL2NvbXBvbmVudHMvcHJlc2VudGF0aW9uYWwvU2VjdGlvbkhlYWRpbmcnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBTZXBhcmF0b3IgfSBmcm9tICcuL2NvbXBvbmVudHMvcHJlc2VudGF0aW9uYWwvU2VwYXJhdG9yJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgU2tlbGV0b25Db250YWluZXJIZWFkZXIgfSBmcm9tICcuL2NvbXBvbmVudHMvcHJlc2VudGF0aW9uYWwvU2tlbGV0b25Db250YWluZXJIZWFkZXInO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBTa2VsZXRvbkl0ZW0gfSBmcm9tICcuL2NvbXBvbmVudHMvcHJlc2VudGF0aW9uYWwvU2tlbGV0b25JdGVtJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgU2tlbGV0b25Db250YWluZXJWaWV3IH0gZnJvbSAnLi9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL1NrZWxldG9uQ29udGFpbmVyVmlldyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIFN3aXRjaGVyIH0gZnJvbSAnLi9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL1N3aXRjaGVyJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgV29yZG1hcmsgfSBmcm9tICcuL2NvbXBvbmVudHMvcHJlc2VudGF0aW9uYWwvV29yZG1hcmsnO1xuLyoqIENvbm5lY3RlZCBjb21wb25lbnRzICovXG5cbmV4cG9ydCB7IGRlZmF1bHQgYXMgQmFja0l0ZW0gfSBmcm9tICcuL2NvbXBvbmVudHMvY29ubmVjdGVkL0JhY2tJdGVtJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgQ29ubmVjdGVkSXRlbSB9IGZyb20gJy4vY29tcG9uZW50cy9jb25uZWN0ZWQvQ29ubmVjdGVkSXRlbSc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIEdvVG9JdGVtIH0gZnJvbSAnLi9jb21wb25lbnRzL2Nvbm5lY3RlZC9Hb1RvSXRlbSc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIExheW91dE1hbmFnZXJXaXRoVmlld0NvbnRyb2xsZXIgfSBmcm9tICcuL2NvbXBvbmVudHMvY29ubmVjdGVkL0xheW91dE1hbmFnZXJXaXRoVmlld0NvbnRyb2xsZXInO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBBc3luY0xheW91dE1hbmFnZXJXaXRoVmlld0NvbnRyb2xsZXIgfSBmcm9tICcuL2NvbXBvbmVudHMvY29ubmVjdGVkL0FzeW5jTGF5b3V0TWFuYWdlcldpdGhWaWV3Q29udHJvbGxlcic7XG5leHBvcnQgeyBkZWZhdWx0IGFzIFNvcnRhYmxlR3JvdXAgfSBmcm9tICcuL2NvbXBvbmVudHMvY29ubmVjdGVkL1NvcnRhYmxlR3JvdXAnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBTb3J0YWJsZUl0ZW0gfSBmcm9tICcuL2NvbXBvbmVudHMvY29ubmVjdGVkL1NvcnRhYmxlSXRlbSc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIFNvcnRhYmxlQ29udGV4dCB9IGZyb20gJy4vY29tcG9uZW50cy9jb25uZWN0ZWQvU29ydGFibGVDb250ZXh0Jztcbi8qKiBTdGF0ZSAqL1xuXG5leHBvcnQgeyBOYXZpZ2F0aW9uUHJvdmlkZXIgfSBmcm9tICcuL3Byb3ZpZGVyJztcbmV4cG9ydCB7IFVJQ29udHJvbGxlciwgVUlDb250cm9sbGVyU3Vic2NyaWJlciwgd2l0aE5hdmlnYXRpb25VSUNvbnRyb2xsZXIgfSBmcm9tICcuL3VpLWNvbnRyb2xsZXInO1xuZXhwb3J0IHsgVmlld0NvbnRyb2xsZXIsIFZpZXdDb250cm9sbGVyU3Vic2NyaWJlciwgd2l0aE5hdmlnYXRpb25WaWV3Q29udHJvbGxlciwgdmlld1JlZHVjZXJVdGlscyB9IGZyb20gJy4vdmlldy1jb250cm9sbGVyJztcbi8qKiBSZW5kZXJlciAqL1xuXG5leHBvcnQgeyBkZWZhdWx0IGFzIEl0ZW1zUmVuZGVyZXIsIFR5cGVkSXRlbXNSZW5kZXJlciB9IGZyb20gJy4vcmVuZGVyZXInO1xuLyoqIFRoZW1lICovXG5cbmV4cG9ydCB7IGRhcmssIGxpZ2h0LCBzZXR0aW5ncywgbW9kZUdlbmVyYXRvciwgVGhlbWVQcm92aWRlciB9IGZyb20gJy4vdGhlbWUnOyJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/navigation-next/dist/esm/index.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/navigation-next/dist/esm/provider/NavigationProvider.js": /*!****************************************************************************************!*\ !*** ./node_modules/@atlaskit/navigation-next/dist/esm/provider/NavigationProvider.js ***! \****************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return NavigationProvider; });\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ \"./node_modules/@babel/runtime/helpers/classCallCheck.js\");\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\");\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ \"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ \"./node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/assertThisInitialized */ \"./node_modules/@babel/runtime/helpers/assertThisInitialized.js\");\n/* harmony import */ var _babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ \"./node_modules/@babel/runtime/helpers/inherits.js\");\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ \"./node_modules/@babel/runtime/helpers/defineProperty.js\");\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _emotion_core__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @emotion/core */ \"./node_modules/@emotion/core/dist/core.browser.esm.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var unstated__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! unstated */ \"./node_modules/@atlaskit/navigation-next/node_modules/unstated/lib/unstated.es.js\");\n/* harmony import */ var _common_constants__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../common/constants */ \"./node_modules/@atlaskit/navigation-next/dist/esm/common/constants.js\");\n/* harmony import */ var _ui_controller__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../ui-controller */ \"./node_modules/@atlaskit/navigation-next/dist/esm/ui-controller.js\");\n/* harmony import */ var _view_controller__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../view-controller */ \"./node_modules/@atlaskit/navigation-next/dist/esm/view-controller.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar LS_KEY = 'ATLASKIT_NAVIGATION_UI_STATE';\nvar DEFAULT_UI_STATE = {\n isCollapsed: false,\n productNavWidth: _common_constants__WEBPACK_IMPORTED_MODULE_10__[\"CONTENT_NAV_WIDTH\"],\n isResizeDisabled: false\n};\n\nfunction defaultGetCache() {\n if (typeof localStorage !== 'undefined') {\n var stored = localStorage.getItem(LS_KEY);\n return stored ? JSON.parse(stored) : DEFAULT_UI_STATE;\n }\n\n return DEFAULT_UI_STATE;\n}\n\nfunction defaultSetCache(state) {\n if (typeof localStorage !== 'undefined') {\n localStorage.setItem(LS_KEY, JSON.stringify(state));\n }\n}\n\nvar NavigationProvider =\n/*#__PURE__*/\nfunction (_Component) {\n _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5___default()(NavigationProvider, _Component);\n\n function NavigationProvider(props) {\n var _this;\n\n _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default()(this, NavigationProvider);\n\n _this = _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2___default()(this, _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3___default()(NavigationProvider).call(this, props));\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4___default()(_this), \"uiState\", void 0);\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4___default()(_this), \"viewController\", void 0);\n\n var cache = props.cache,\n initialUIController = props.initialUIController,\n isDebugEnabled = props.isDebugEnabled;\n _this.uiState = new _ui_controller__WEBPACK_IMPORTED_MODULE_11__[\"UIController\"](initialUIController, cache);\n _this.viewController = new _view_controller__WEBPACK_IMPORTED_MODULE_12__[\"ViewController\"]({\n isDebugEnabled: isDebugEnabled\n });\n return _this;\n }\n\n _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1___default()(NavigationProvider, [{\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n var viewController = this.viewController;\n var isDebugEnabled = this.props.isDebugEnabled;\n\n if (isDebugEnabled !== prevProps.isDebugEnabled) {\n viewController.setIsDebugEnabled(!!isDebugEnabled);\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var children = this.props.children;\n var uiState = this.uiState,\n viewController = this.viewController;\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_7__[\"jsx\"])(unstated__WEBPACK_IMPORTED_MODULE_9__[\"Provider\"], {\n inject: [uiState, viewController]\n }, children);\n }\n }]);\n\n return NavigationProvider;\n}(react__WEBPACK_IMPORTED_MODULE_8__[\"Component\"]);\n\n_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(NavigationProvider, \"defaultProps\", {\n cache: {\n get: defaultGetCache,\n set: defaultSetCache\n },\n isDebugEnabled: false\n});\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS9wcm92aWRlci9OYXZpZ2F0aW9uUHJvdmlkZXIuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS9wcm92aWRlci9OYXZpZ2F0aW9uUHJvdmlkZXIuanM/NTVhZCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgX2NsYXNzQ2FsbENoZWNrIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2NsYXNzQ2FsbENoZWNrXCI7XG5pbXBvcnQgX2NyZWF0ZUNsYXNzIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2NyZWF0ZUNsYXNzXCI7XG5pbXBvcnQgX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4gZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvcG9zc2libGVDb25zdHJ1Y3RvclJldHVyblwiO1xuaW1wb3J0IF9nZXRQcm90b3R5cGVPZiBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9nZXRQcm90b3R5cGVPZlwiO1xuaW1wb3J0IF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvYXNzZXJ0VGhpc0luaXRpYWxpemVkXCI7XG5pbXBvcnQgX2luaGVyaXRzIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2luaGVyaXRzXCI7XG5pbXBvcnQgX2RlZmluZVByb3BlcnR5IGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2RlZmluZVByb3BlcnR5XCI7XG5pbXBvcnQgeyBqc3ggYXMgX19fRW1vdGlvbkpTWCB9IGZyb20gXCJAZW1vdGlvbi9jb3JlXCI7XG5pbXBvcnQgUmVhY3QsIHsgQ29tcG9uZW50IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgUHJvdmlkZXIgfSBmcm9tICd1bnN0YXRlZCc7XG5pbXBvcnQgeyBDT05URU5UX05BVl9XSURUSCB9IGZyb20gJy4uL2NvbW1vbi9jb25zdGFudHMnO1xuaW1wb3J0IHsgVUlDb250cm9sbGVyIH0gZnJvbSAnLi4vdWktY29udHJvbGxlcic7XG5pbXBvcnQgeyBWaWV3Q29udHJvbGxlciB9IGZyb20gJy4uL3ZpZXctY29udHJvbGxlcic7XG52YXIgTFNfS0VZID0gJ0FUTEFTS0lUX05BVklHQVRJT05fVUlfU1RBVEUnO1xudmFyIERFRkFVTFRfVUlfU1RBVEUgPSB7XG4gIGlzQ29sbGFwc2VkOiBmYWxzZSxcbiAgcHJvZHVjdE5hdldpZHRoOiBDT05URU5UX05BVl9XSURUSCxcbiAgaXNSZXNpemVEaXNhYmxlZDogZmFsc2Vcbn07XG5cbmZ1bmN0aW9uIGRlZmF1bHRHZXRDYWNoZSgpIHtcbiAgaWYgKHR5cGVvZiBsb2NhbFN0b3JhZ2UgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgdmFyIHN0b3JlZCA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKExTX0tFWSk7XG4gICAgcmV0dXJuIHN0b3JlZCA/IEpTT04ucGFyc2Uoc3RvcmVkKSA6IERFRkFVTFRfVUlfU1RBVEU7XG4gIH1cblxuICByZXR1cm4gREVGQVVMVF9VSV9TVEFURTtcbn1cblxuZnVuY3Rpb24gZGVmYXVsdFNldENhY2hlKHN0YXRlKSB7XG4gIGlmICh0eXBlb2YgbG9jYWxTdG9yYWdlICE9PSAndW5kZWZpbmVkJykge1xuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKExTX0tFWSwgSlNPTi5zdHJpbmdpZnkoc3RhdGUpKTtcbiAgfVxufVxuXG52YXIgTmF2aWdhdGlvblByb3ZpZGVyID1cbi8qI19fUFVSRV9fKi9cbmZ1bmN0aW9uIChfQ29tcG9uZW50KSB7XG4gIF9pbmhlcml0cyhOYXZpZ2F0aW9uUHJvdmlkZXIsIF9Db21wb25lbnQpO1xuXG4gIGZ1bmN0aW9uIE5hdmlnYXRpb25Qcm92aWRlcihwcm9wcykge1xuICAgIHZhciBfdGhpcztcblxuICAgIF9jbGFzc0NhbGxDaGVjayh0aGlzLCBOYXZpZ2F0aW9uUHJvdmlkZXIpO1xuXG4gICAgX3RoaXMgPSBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybih0aGlzLCBfZ2V0UHJvdG90eXBlT2YoTmF2aWdhdGlvblByb3ZpZGVyKS5jYWxsKHRoaXMsIHByb3BzKSk7XG5cbiAgICBfZGVmaW5lUHJvcGVydHkoX2Fzc2VydFRoaXNJbml0aWFsaXplZChfdGhpcyksIFwidWlTdGF0ZVwiLCB2b2lkIDApO1xuXG4gICAgX2RlZmluZVByb3BlcnR5KF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoX3RoaXMpLCBcInZpZXdDb250cm9sbGVyXCIsIHZvaWQgMCk7XG5cbiAgICB2YXIgY2FjaGUgPSBwcm9wcy5jYWNoZSxcbiAgICAgICAgaW5pdGlhbFVJQ29udHJvbGxlciA9IHByb3BzLmluaXRpYWxVSUNvbnRyb2xsZXIsXG4gICAgICAgIGlzRGVidWdFbmFibGVkID0gcHJvcHMuaXNEZWJ1Z0VuYWJsZWQ7XG4gICAgX3RoaXMudWlTdGF0ZSA9IG5ldyBVSUNvbnRyb2xsZXIoaW5pdGlhbFVJQ29udHJvbGxlciwgY2FjaGUpO1xuICAgIF90aGlzLnZpZXdDb250cm9sbGVyID0gbmV3IFZpZXdDb250cm9sbGVyKHtcbiAgICAgIGlzRGVidWdFbmFibGVkOiBpc0RlYnVnRW5hYmxlZFxuICAgIH0pO1xuICAgIHJldHVybiBfdGhpcztcbiAgfVxuXG4gIF9jcmVhdGVDbGFzcyhOYXZpZ2F0aW9uUHJvdmlkZXIsIFt7XG4gICAga2V5OiBcImNvbXBvbmVudERpZFVwZGF0ZVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgICB2YXIgdmlld0NvbnRyb2xsZXIgPSB0aGlzLnZpZXdDb250cm9sbGVyO1xuICAgICAgdmFyIGlzRGVidWdFbmFibGVkID0gdGhpcy5wcm9wcy5pc0RlYnVnRW5hYmxlZDtcblxuICAgICAgaWYgKGlzRGVidWdFbmFibGVkICE9PSBwcmV2UHJvcHMuaXNEZWJ1Z0VuYWJsZWQpIHtcbiAgICAgICAgdmlld0NvbnRyb2xsZXIuc2V0SXNEZWJ1Z0VuYWJsZWQoISFpc0RlYnVnRW5hYmxlZCk7XG4gICAgICB9XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcInJlbmRlclwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiByZW5kZXIoKSB7XG4gICAgICB2YXIgY2hpbGRyZW4gPSB0aGlzLnByb3BzLmNoaWxkcmVuO1xuICAgICAgdmFyIHVpU3RhdGUgPSB0aGlzLnVpU3RhdGUsXG4gICAgICAgICAgdmlld0NvbnRyb2xsZXIgPSB0aGlzLnZpZXdDb250cm9sbGVyO1xuICAgICAgcmV0dXJuIF9fX0Vtb3Rpb25KU1goUHJvdmlkZXIsIHtcbiAgICAgICAgaW5qZWN0OiBbdWlTdGF0ZSwgdmlld0NvbnRyb2xsZXJdXG4gICAgICB9LCBjaGlsZHJlbik7XG4gICAgfVxuICB9XSk7XG5cbiAgcmV0dXJuIE5hdmlnYXRpb25Qcm92aWRlcjtcbn0oQ29tcG9uZW50KTtcblxuX2RlZmluZVByb3BlcnR5KE5hdmlnYXRpb25Qcm92aWRlciwgXCJkZWZhdWx0UHJvcHNcIiwge1xuICBjYWNoZToge1xuICAgIGdldDogZGVmYXVsdEdldENhY2hlLFxuICAgIHNldDogZGVmYXVsdFNldENhY2hlXG4gIH0sXG4gIGlzRGVidWdFbmFibGVkOiBmYWxzZVxufSk7XG5cbmV4cG9ydCB7IE5hdmlnYXRpb25Qcm92aWRlciBhcyBkZWZhdWx0IH07Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/navigation-next/dist/esm/provider/NavigationProvider.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/navigation-next/dist/esm/provider/index.js": /*!***************************************************************************!*\ !*** ./node_modules/@atlaskit/navigation-next/dist/esm/provider/index.js ***! \***************************************************************************/ /*! exports provided: NavigationProvider */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _NavigationProvider__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./NavigationProvider */ \"./node_modules/@atlaskit/navigation-next/dist/esm/provider/NavigationProvider.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"NavigationProvider\", function() { return _NavigationProvider__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS9wcm92aWRlci9pbmRleC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AYXRsYXNraXQvbmF2aWdhdGlvbi1uZXh0L2Rpc3QvZXNtL3Byb3ZpZGVyL2luZGV4LmpzPzc3ZjciXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgZGVmYXVsdCBhcyBOYXZpZ2F0aW9uUHJvdmlkZXIgfSBmcm9tICcuL05hdmlnYXRpb25Qcm92aWRlcic7Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/navigation-next/dist/esm/provider/index.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/navigation-next/dist/esm/renderer/components.js": /*!********************************************************************************!*\ !*** ./node_modules/@atlaskit/navigation-next/dist/esm/renderer/components.js ***! \********************************************************************************/ /*! exports provided: LazySortableGroupComponent, LazySortableItem, components, default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"LazySortableGroupComponent\", function() { return LazySortableGroupComponent; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"LazySortableItem\", function() { return LazySortableItem; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"components\", function() { return components; });\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ \"./node_modules/@babel/runtime/helpers/classCallCheck.js\");\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\");\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ \"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ \"./node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/assertThisInitialized */ \"./node_modules/@babel/runtime/helpers/assertThisInitialized.js\");\n/* harmony import */ var _babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ \"./node_modules/@babel/runtime/helpers/inherits.js\");\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ \"./node_modules/@babel/runtime/helpers/defineProperty.js\");\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @babel/runtime/helpers/objectSpread */ \"./node_modules/@babel/runtime/helpers/objectSpread.js\");\n/* harmony import */ var _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var _emotion_css__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @emotion/css */ \"./node_modules/@emotion/css/dist/css.browser.esm.js\");\n/* harmony import */ var _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ \"./node_modules/@babel/runtime/helpers/objectWithoutProperties.js\");\n/* harmony import */ var _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_10__);\n/* harmony import */ var _emotion_core__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @emotion/core */ \"./node_modules/@emotion/core/dist/core.browser.esm.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_12__);\n/* harmony import */ var react_loadable__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! react-loadable */ \"./node_modules/react-loadable/lib/index.js\");\n/* harmony import */ var react_loadable__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(react_loadable__WEBPACK_IMPORTED_MODULE_13__);\n/* harmony import */ var _atlaskit_theme_constants__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! @atlaskit/theme/constants */ \"./node_modules/@atlaskit/theme/dist/esm/constants.js\");\n/* harmony import */ var _common_analytics__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../common/analytics */ \"./node_modules/@atlaskit/navigation-next/dist/esm/common/analytics.js\");\n/* harmony import */ var _components_common_RenderBlocker__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../components/common/RenderBlocker */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/common/RenderBlocker.js\");\n/* harmony import */ var _components_connected_BackItem__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../components/connected/BackItem */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/connected/BackItem/index.js\");\n/* harmony import */ var _components_connected_ConnectedItem__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../components/connected/ConnectedItem */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/connected/ConnectedItem/index.js\");\n/* harmony import */ var _components_connected_GoToItem__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../components/connected/GoToItem */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/connected/GoToItem/index.js\");\n/* harmony import */ var _components_presentational_ContainerHeader__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ../components/presentational/ContainerHeader */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/ContainerHeader/index.js\");\n/* harmony import */ var _components_presentational_Group__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ../components/presentational/Group */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/Group/index.js\");\n/* harmony import */ var _components_presentational_GroupHeading__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ../components/presentational/GroupHeading */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/GroupHeading/index.js\");\n/* harmony import */ var _components_presentational_HeaderSection__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ../components/presentational/HeaderSection */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/HeaderSection/index.js\");\n/* harmony import */ var _components_presentational_MenuSection__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ../components/presentational/MenuSection */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/MenuSection/index.js\");\n/* harmony import */ var _components_presentational_Section__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ../components/presentational/Section */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/Section/index.js\");\n/* harmony import */ var _components_presentational_SectionHeading__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ../components/presentational/SectionHeading */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/SectionHeading/index.js\");\n/* harmony import */ var _components_presentational_Separator__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ../components/presentational/Separator */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/Separator/index.js\");\n/* harmony import */ var _components_presentational_Wordmark__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ../components/presentational/Wordmark */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/Wordmark/index.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar gridSize = Object(_atlaskit_theme_constants__WEBPACK_IMPORTED_MODULE_14__[\"gridSize\"])();\n\nvar loadSwitcher = function loadSwitcher() {\n return Promise.resolve(/*! import() */).then(__webpack_require__.bind(null, /*! ../components/presentational/Switcher */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/Switcher/index.js\"));\n};\n\nvar LazySwitcher = react_loadable__WEBPACK_IMPORTED_MODULE_13___default()({\n loader: loadSwitcher,\n loading: function loading() {\n return null;\n }\n});\n\nvar loadSortableContextComponent = function loadSortableContextComponent() {\n return Promise.resolve(/*! import() */).then(__webpack_require__.bind(null, /*! ../components/connected/SortableContext */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/connected/SortableContext/index.js\"));\n};\n\nvar LazySortableContextComponent = react_loadable__WEBPACK_IMPORTED_MODULE_13___default()({\n loader: loadSortableContextComponent,\n loading: function loading() {\n return null;\n }\n});\n\nvar loadSortableGroupComponent = function loadSortableGroupComponent() {\n return Promise.resolve(/*! import() */).then(__webpack_require__.bind(null, /*! ../components/connected/SortableGroup */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/connected/SortableGroup/index.js\"));\n};\n\nvar LazySortableGroupComponent = react_loadable__WEBPACK_IMPORTED_MODULE_13___default()({\n loader: loadSortableGroupComponent,\n loading: function loading() {\n return null;\n }\n});\n\nvar loadSortableItem = function loadSortableItem() {\n return Promise.resolve(/*! import() */).then(__webpack_require__.bind(null, /*! ../components/connected/SortableItem */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/connected/SortableItem/index.js\"));\n};\n\nvar LazySortableItem = react_loadable__WEBPACK_IMPORTED_MODULE_13___default()({\n loader: loadSortableItem,\n loading: function loading() {\n return null;\n }\n});\n/**\n * ITEMS\n */\n// Title\n\nvar GroupHeading = function GroupHeading(_ref) {\n var text = _ref.text,\n props = _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_10___default()(_ref, [\"text\"]);\n\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_11__[\"jsx\"])(_components_presentational_GroupHeading__WEBPACK_IMPORTED_MODULE_22__[\"default\"], props, text);\n}; // SectionHeading\n\n\nvar SectionHeading = function SectionHeading(_ref2) {\n var text = _ref2.text,\n props = _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_10___default()(_ref2, [\"text\"]);\n\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_11__[\"jsx\"])(_components_presentational_SectionHeading__WEBPACK_IMPORTED_MODULE_26__[\"default\"], props, text);\n}; // ContainerHeader\n\n\nvar ContainerHeader = function ContainerHeader(props) {\n return (// -2px here to account for the extra space at the top of a MenuSection for\n // the scroll hint.\n Object(_emotion_core__WEBPACK_IMPORTED_MODULE_11__[\"jsx\"])(\"div\", {\n css:\n /*#__PURE__*/\n Object(_emotion_css__WEBPACK_IMPORTED_MODULE_9__[\"default\"])({\n paddingBottom: gridSize * 2.5 - 2\n }, false ? undefined : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9yZW5kZXJlci9jb21wb25lbnRzLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTJFTyIsImZpbGUiOiIuLi8uLi8uLi9zcmMvcmVuZGVyZXIvY29tcG9uZW50cy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyBQdXJlQ29tcG9uZW50IH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgTG9hZGFibGUgZnJvbSAncmVhY3QtbG9hZGFibGUnO1xuXG5pbXBvcnQgeyBncmlkU2l6ZSBhcyBncmlkU2l6ZUZuIH0gZnJvbSAnQGF0bGFza2l0L3RoZW1lL2NvbnN0YW50cyc7XG5cbmltcG9ydCB7IG5hdmlnYXRpb25JdGVtQ2xpY2tlZCB9IGZyb20gJy4uL2NvbW1vbi9hbmFseXRpY3MnO1xuaW1wb3J0IFJlbmRlckJsb2NrZXIgZnJvbSAnLi4vY29tcG9uZW50cy9jb21tb24vUmVuZGVyQmxvY2tlcic7XG5pbXBvcnQgQmFja0l0ZW0gZnJvbSAnLi4vY29tcG9uZW50cy9jb25uZWN0ZWQvQmFja0l0ZW0nO1xuaW1wb3J0IENvbm5lY3RlZEl0ZW0gZnJvbSAnLi4vY29tcG9uZW50cy9jb25uZWN0ZWQvQ29ubmVjdGVkSXRlbSc7XG5pbXBvcnQgR29Ub0l0ZW0gZnJvbSAnLi4vY29tcG9uZW50cy9jb25uZWN0ZWQvR29Ub0l0ZW0nO1xuaW1wb3J0IENvbnRhaW5lckhlYWRlckNvbXBvbmVudCBmcm9tICcuLi9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL0NvbnRhaW5lckhlYWRlcic7XG5pbXBvcnQgR3JvdXBDb21wb25lbnQgZnJvbSAnLi4vY29tcG9uZW50cy9wcmVzZW50YXRpb25hbC9Hcm91cCc7XG5pbXBvcnQgR3JvdXBIZWFkaW5nQ29tcG9uZW50IGZyb20gJy4uL2NvbXBvbmVudHMvcHJlc2VudGF0aW9uYWwvR3JvdXBIZWFkaW5nJztcbmltcG9ydCBIZWFkZXJTZWN0aW9uQ29tcG9uZW50IGZyb20gJy4uL2NvbXBvbmVudHMvcHJlc2VudGF0aW9uYWwvSGVhZGVyU2VjdGlvbic7XG5pbXBvcnQgTWVudVNlY3Rpb25Db21wb25lbnQgZnJvbSAnLi4vY29tcG9uZW50cy9wcmVzZW50YXRpb25hbC9NZW51U2VjdGlvbic7XG5pbXBvcnQgU2VjdGlvbkNvbXBvbmVudCBmcm9tICcuLi9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL1NlY3Rpb24nO1xuaW1wb3J0IFNlY3Rpb25IZWFkaW5nQ29tcG9uZW50IGZyb20gJy4uL2NvbXBvbmVudHMvcHJlc2VudGF0aW9uYWwvU2VjdGlvbkhlYWRpbmcnO1xuaW1wb3J0IFNlcGFyYXRvciBmcm9tICcuLi9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL1NlcGFyYXRvcic7XG5pbXBvcnQgV29yZG1hcmsgZnJvbSAnLi4vY29tcG9uZW50cy9wcmVzZW50YXRpb25hbC9Xb3JkbWFyayc7XG5cbmNvbnN0IGdyaWRTaXplID0gZ3JpZFNpemVGbigpO1xuY29uc3QgbG9hZFN3aXRjaGVyID0gKCkgPT5cbiAgaW1wb3J0KFxuICAgIC8qIHdlYnBhY2tDaHVua05hbWU6IFwiQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9hc3luYy1jaHVuay9zd2l0Y2hlclwiICovICcuLi9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL1N3aXRjaGVyJ1xuICApO1xuY29uc3QgTGF6eVN3aXRjaGVyID0gTG9hZGFibGUoe1xuICBsb2FkZXI6IGxvYWRTd2l0Y2hlcixcbiAgbG9hZGluZzogKCkgPT4gbnVsbCxcbn0pO1xuXG5jb25zdCBsb2FkU29ydGFibGVDb250ZXh0Q29tcG9uZW50ID0gKCkgPT5cbiAgaW1wb3J0KFxuICAgIC8qIHdlYnBhY2tDaHVua05hbWU6IFwiQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9hc3luYy1jaHVuay9zb3J0YWJsZS1jb250ZXh0LWNvbXBvbmVudFwiICovICcuLi9jb21wb25lbnRzL2Nvbm5lY3RlZC9Tb3J0YWJsZUNvbnRleHQnXG4gICk7XG5jb25zdCBMYXp5U29ydGFibGVDb250ZXh0Q29tcG9uZW50ID0gTG9hZGFibGUoe1xuICBsb2FkZXI6IGxvYWRTb3J0YWJsZUNvbnRleHRDb21wb25lbnQsXG4gIGxvYWRpbmc6ICgpID0+IG51bGwsXG59KTtcblxuY29uc3QgbG9hZFNvcnRhYmxlR3JvdXBDb21wb25lbnQgPSAoKSA9PlxuICBpbXBvcnQoXG4gICAgLyogd2VicGFja0NodW5rTmFtZTogXCJAYXRsYXNraXQvbmF2aWdhdGlvbi1uZXh0L2FzeW5jLWNodW5rL3NvcnRhYmxlLWdyb3VwLWNvbXBvbmVudFwiICovICcuLi9jb21wb25lbnRzL2Nvbm5lY3RlZC9Tb3J0YWJsZUdyb3VwJ1xuICApO1xuZXhwb3J0IGNvbnN0IExhenlTb3J0YWJsZUdyb3VwQ29tcG9uZW50ID0gTG9hZGFibGUoe1xuICBsb2FkZXI6IGxvYWRTb3J0YWJsZUdyb3VwQ29tcG9uZW50LFxuICBsb2FkaW5nOiAoKSA9PiBudWxsLFxufSk7XG5cbmNvbnN0IGxvYWRTb3J0YWJsZUl0ZW0gPSAoKSA9PlxuICBpbXBvcnQoXG4gICAgLyogd2VicGFja0NodW5rTmFtZTogXCJAYXRsYXNraXQvbmF2aWdhdGlvbi1uZXh0L2FzeW5jLWNodW5rL3NvcnRhYmxlLWl0ZW1cIiAqLyAnLi4vY29tcG9uZW50cy9jb25uZWN0ZWQvU29ydGFibGVJdGVtJ1xuICApO1xuZXhwb3J0IGNvbnN0IExhenlTb3J0YWJsZUl0ZW0gPSBMb2FkYWJsZSh7XG4gIGxvYWRlcjogbG9hZFNvcnRhYmxlSXRlbSxcbiAgbG9hZGluZzogKCkgPT4gbnVsbCxcbn0pO1xuLyoqXG4gKiBJVEVNU1xuICovXG5cbi8vIFRpdGxlXG5jb25zdCBHcm91cEhlYWRpbmcgPSAoeyB0ZXh0LCAuLi5wcm9wcyB9KSA9PiAoXG4gIDxHcm91cEhlYWRpbmdDb21wb25lbnQgey4uLnByb3BzfT57dGV4dH08L0dyb3VwSGVhZGluZ0NvbXBvbmVudD5cbik7XG5cbi8vIFNlY3Rpb25IZWFkaW5nXG5jb25zdCBTZWN0aW9uSGVhZGluZyA9ICh7IHRleHQsIC4uLnByb3BzIH0pID0+IChcbiAgPFNlY3Rpb25IZWFkaW5nQ29tcG9uZW50IHsuLi5wcm9wc30+e3RleHR9PC9TZWN0aW9uSGVhZGluZ0NvbXBvbmVudD5cbik7XG5cbi8vIENvbnRhaW5lckhlYWRlclxuY29uc3QgQ29udGFpbmVySGVhZGVyID0gcHJvcHMgPT4gKFxuICAvLyAtMnB4IGhlcmUgdG8gYWNjb3VudCBmb3IgdGhlIGV4dHJhIHNwYWNlIGF0IHRoZSB0b3Agb2YgYSBNZW51U2VjdGlvbiBmb3JcbiAgLy8gdGhlIHNjcm9sbCBoaW50LlxuICA8ZGl2IGNzcz17eyBwYWRkaW5nQm90dG9tOiBncmlkU2l6ZSAqIDIuNSAtIDIgfX0+XG4gICAgPENvbnRhaW5lckhlYWRlckNvbXBvbmVudCB7Li4ucHJvcHN9IC8+XG4gIDwvZGl2PlxuKTtcblxuY29uc3QgRGVidWcgPSBwcm9wcyA9PiAoXG4gIDxwcmVcbiAgICBjc3M9e3tcbiAgICAgIGJhY2tncm91bmRDb2xvcjogJ3JnYmEoMCwgMCwgMCwgMC4xKScsXG4gICAgICBmb250U2l6ZTogJzEwcHgnLFxuICAgICAgb3ZlcmZsb3dYOiAnYXV0bycsXG4gICAgICBwYWRkaW5nOiBgJHtncmlkU2l6ZSAvIDJ9cHhgLFxuICAgIH19XG4gID5cbiAgICB7SlNPTi5zdHJpbmdpZnkocHJvcHMsIG51bGwsIDIpfVxuICA8L3ByZT5cbik7XG5cbi8qKlxuICogR1JPVVBTXG4gKi9cblxuLy8gR3JvdXBcbmNvbnN0IEdyb3VwID0gKHsgY3VzdG9tQ29tcG9uZW50cywgaGFzU2VwYXJhdG9yLCBoZWFkaW5nLCBpdGVtcywgaWQgfSkgPT5cbiAgaXRlbXMubGVuZ3RoID8gKFxuICAgIDxHcm91cENvbXBvbmVudCBoZWFkaW5nPXtoZWFkaW5nfSBoYXNTZXBhcmF0b3I9e2hhc1NlcGFyYXRvcn0gaWQ9e2lkfT5cbiAgICAgIDxUeXBlZEl0ZW1zUmVuZGVyZXIgaXRlbXM9e2l0ZW1zfSBjdXN0b21Db21wb25lbnRzPXtjdXN0b21Db21wb25lbnRzfSAvPlxuICAgIDwvR3JvdXBDb21wb25lbnQ+XG4gICkgOiBudWxsO1xuXG5jb25zdCBTb3J0YWJsZUdyb3VwID0gKHtcbiAgY3VzdG9tQ29tcG9uZW50cyxcbiAgaGFzU2VwYXJhdG9yLFxuICBoZWFkaW5nLFxuICBpdGVtcyxcbiAgaWQsXG59KSA9PlxuICBpdGVtcyAmJiBpdGVtcy5sZW5ndGggPyAoXG4gICAgPExhenlTb3J0YWJsZUdyb3VwQ29tcG9uZW50XG4gICAgICBoZWFkaW5nPXtoZWFkaW5nfVxuICAgICAgaGFzU2VwYXJhdG9yPXtoYXNTZXBhcmF0b3J9XG4gICAgICBpZD17aWR9XG4gICAgPlxuICAgICAgPFJlbmRlckJsb2NrZXIgaXRlbXM9e2l0ZW1zfSBjdXN0b21Db21wb25lbnRzPXtjdXN0b21Db21wb25lbnRzfT5cbiAgICAgICAgPFR5cGVkSXRlbXNSZW5kZXJlciBpdGVtcz17aXRlbXN9IGN1c3RvbUNvbXBvbmVudHM9e2N1c3RvbUNvbXBvbmVudHN9IC8+XG4gICAgICA8L1JlbmRlckJsb2NrZXI+XG4gICAgPC9MYXp5U29ydGFibGVHcm91cENvbXBvbmVudD5cbiAgKSA6IG51bGw7XG5cbi8vIFNlY3Rpb25cbmNvbnN0IFNlY3Rpb24gPSAoe1xuICBhbHdheXNTaG93U2Nyb2xsSGludCA9IGZhbHNlLFxuICBjdXN0b21Db21wb25lbnRzLFxuICBpZCxcbiAgaXRlbXMsXG4gIG5lc3RlZEdyb3VwS2V5LFxuICBwYXJlbnRJZCxcbiAgc2hvdWxkR3Jvdyxcbn0pID0+XG4gIGl0ZW1zLmxlbmd0aCA/IChcbiAgICA8U2VjdGlvbkNvbXBvbmVudFxuICAgICAgYWx3YXlzU2hvd1Njcm9sbEhpbnQ9e2Fsd2F5c1Nob3dTY3JvbGxIaW50fVxuICAgICAgaWQ9e2lkfVxuICAgICAga2V5PXtuZXN0ZWRHcm91cEtleX1cbiAgICAgIHBhcmVudElkPXtwYXJlbnRJZH1cbiAgICAgIHNob3VsZEdyb3c9e3Nob3VsZEdyb3d9XG4gICAgPlxuICAgICAgeyh7IGNsYXNzTmFtZSB9KSA9PiAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbGFzc05hbWV9PlxuICAgICAgICAgIDxUeXBlZEl0ZW1zUmVuZGVyZXJcbiAgICAgICAgICAgIGl0ZW1zPXtpdGVtc31cbiAgICAgICAgICAgIGN1c3RvbUNvbXBvbmVudHM9e2N1c3RvbUNvbXBvbmVudHN9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICApfVxuICAgIDwvU2VjdGlvbkNvbXBvbmVudD5cbiAgKSA6IG51bGw7XG5cbmNvbnN0IEhlYWRlclNlY3Rpb24gPSAoeyBjdXN0b21Db21wb25lbnRzLCBpZCwgaXRlbXMsIG5lc3RlZEdyb3VwS2V5IH0pID0+XG4gIGl0ZW1zLmxlbmd0aCA/IChcbiAgICA8SGVhZGVyU2VjdGlvbkNvbXBvbmVudCBpZD17aWR9IGtleT17bmVzdGVkR3JvdXBLZXl9PlxuICAgICAgeyh7IGNsYXNzTmFtZSB9KSA9PiAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbGFzc05hbWV9PlxuICAgICAgICAgIDxUeXBlZEl0ZW1zUmVuZGVyZXJcbiAgICAgICAgICAgIGl0ZW1zPXtpdGVtc31cbiAgICAgICAgICAgIGN1c3RvbUNvbXBvbmVudHM9e2N1c3RvbUNvbXBvbmVudHN9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICApfVxuICAgIDwvSGVhZGVyU2VjdGlvbkNvbXBvbmVudD5cbiAgKSA6IG51bGw7XG5cbmNvbnN0IE1lbnVTZWN0aW9uID0gKHtcbiAgYWx3YXlzU2hvd1Njcm9sbEhpbnQsXG4gIGN1c3RvbUNvbXBvbmVudHMsXG4gIGlkLFxuICBpdGVtcyxcbiAgbmVzdGVkR3JvdXBLZXksXG4gIHBhcmVudElkLFxufSkgPT4gKFxuICA8TWVudVNlY3Rpb25Db21wb25lbnRcbiAgICBhbHdheXNTaG93U2Nyb2xsSGludD17YWx3YXlzU2hvd1Njcm9sbEhpbnR9XG4gICAgaWQ9e2lkfVxuICAgIGtleT17bmVzdGVkR3JvdXBLZXl9XG4gICAgcGFyZW50SWQ9e3BhcmVudElkfVxuICA+XG4gICAgeyh7IGNsYXNzTmFtZSB9KSA9PiAoXG4gICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3NOYW1lfT5cbiAgICAgICAgPFR5cGVkSXRlbXNSZW5kZXJlciBpdGVtcz17aXRlbXN9IGN1c3RvbUNvbXBvbmVudHM9e2N1c3RvbUNvbXBvbmVudHN9IC8+XG4gICAgICA8L2Rpdj5cbiAgICApfVxuICA8L01lbnVTZWN0aW9uQ29tcG9uZW50PlxuKTtcblxuY29uc3QgU29ydGFibGVDb250ZXh0ID0gKHtcbiAgY3VzdG9tQ29tcG9uZW50cyxcbiAgaWQsXG4gIGl0ZW1zLFxuICBvbkRyYWdTdGFydCxcbiAgb25EcmFnVXBkYXRlLFxuICBvbkRyYWdFbmQsXG59KSA9PlxuICBpdGVtcyAmJiBpdGVtcy5sZW5ndGggPyAoXG4gICAgPExhenlTb3J0YWJsZUNvbnRleHRDb21wb25lbnRcbiAgICAgIGlkPXtpZH1cbiAgICAgIG9uRHJhZ1N0YXJ0PXtvbkRyYWdTdGFydH1cbiAgICAgIG9uRHJhZ1VwZGF0ZT17b25EcmFnVXBkYXRlfVxuICAgICAgb25EcmFnRW5kPXtvbkRyYWdFbmR9XG4gICAgPlxuICAgICAgPFR5cGVkSXRlbXNSZW5kZXJlciBpdGVtcz17aXRlbXN9IGN1c3RvbUNvbXBvbmVudHM9e2N1c3RvbUNvbXBvbmVudHN9IC8+XG4gICAgPC9MYXp5U29ydGFibGVDb250ZXh0Q29tcG9uZW50PlxuICApIDogbnVsbDtcblxuY29uc3QgaXRlbUNvbXBvbmVudHMgPSB7XG4gIEJhY2tJdGVtLFxuICBDb250YWluZXJIZWFkZXIsXG4gIERlYnVnLFxuICBHb1RvSXRlbSxcbiAgR3JvdXBIZWFkaW5nLFxuICBJdGVtOiBDb25uZWN0ZWRJdGVtLFxuICBTb3J0YWJsZUl0ZW06IExhenlTb3J0YWJsZUl0ZW0sXG4gIFNlY3Rpb25IZWFkaW5nLFxuICBTZXBhcmF0b3IsXG4gIFN3aXRjaGVyOiBMYXp5U3dpdGNoZXIsXG4gIFdvcmRtYXJrLFxufTtcblxuY29uc3QgcmVuZGVySXRlbUNvbXBvbmVudCA9IChwcm9wcywga2V5LCBpbmRleCkgPT4ge1xuICBsZXQgZWxlbWVudCA9IG51bGw7XG4gIC8vIFdlIG5lZWQgYW4gZXhwbGljaXQgY29uZGl0aW9uYWwgYWdhaW5zdCBlYWNoIHR5cGUgZm9yIGZsb3cgdHlwZSByZWZpbmVtZW50IHRvIHdvcmtcbiAgaWYgKHByb3BzLnR5cGUgPT09ICdCYWNrSXRlbScpIHtcbiAgICBjb25zdCB7IHR5cGUsIC4uLmNvbXBQcm9wcyB9ID0gcHJvcHM7XG4gICAgZWxlbWVudCA9IDxCYWNrSXRlbSBrZXk9e2tleX0gey4uLmNvbXBQcm9wc30gaW5kZXg9e2luZGV4fSAvPjtcbiAgfSBlbHNlIGlmIChwcm9wcy50eXBlID09PSAnQ29udGFpbmVySGVhZGVyJykge1xuICAgIGNvbnN0IHsgdHlwZSwgLi4uY29tcFByb3BzIH0gPSBwcm9wcztcbiAgICBlbGVtZW50ID0gPENvbnRhaW5lckhlYWRlciBrZXk9e2tleX0gey4uLmNvbXBQcm9wc30gLz47XG4gIH0gZWxzZSBpZiAocHJvcHMudHlwZSA9PT0gJ0RlYnVnJykge1xuICAgIGNvbnN0IHsgdHlwZSwgLi4uY29tcFByb3BzIH0gPSBwcm9wcztcbiAgICBlbGVtZW50ID0gPERlYnVnIGtleT17a2V5fSB7Li4uY29tcFByb3BzfSAvPjtcbiAgfSBlbHNlIGlmIChwcm9wcy50eXBlID09PSAnR29Ub0l0ZW0nKSB7XG4gICAgY29uc3QgeyB0eXBlLCAuLi5jb21wUHJvcHMgfSA9IHByb3BzO1xuICAgIGVsZW1lbnQgPSA8R29Ub0l0ZW0ga2V5PXtrZXl9IHsuLi5jb21wUHJvcHN9IGluZGV4PXtpbmRleH0gLz47XG4gIH0gZWxzZSBpZiAocHJvcHMudHlwZSA9PT0gJ0l0ZW0nKSB7XG4gICAgY29uc3QgeyB0eXBlLCAuLi5jb21wUHJvcHMgfSA9IHByb3BzO1xuICAgIGVsZW1lbnQgPSA8Q29ubmVjdGVkSXRlbSBrZXk9e2tleX0gey4uLmNvbXBQcm9wc30gaW5kZXg9e2luZGV4fSAvPjtcbiAgfSBlbHNlIGlmIChwcm9wcy50eXBlID09PSAnU29ydGFibGVJdGVtJykge1xuICAgIGNvbnN0IHsgdHlwZSwgLi4uY29tcFByb3BzIH0gPSBwcm9wcztcbiAgICBlbGVtZW50ID0gPExhenlTb3J0YWJsZUl0ZW0ga2V5PXtrZXl9IHsuLi5jb21wUHJvcHN9IGluZGV4PXtpbmRleH0gLz47XG4gIH0gZWxzZSBpZiAocHJvcHMudHlwZSA9PT0gJ1NlY3Rpb25IZWFkaW5nJykge1xuICAgIGNvbnN0IHsgdHlwZSwgaWQsIC4uLmNvbXBQcm9wcyB9ID0gcHJvcHM7XG4gICAgZWxlbWVudCA9IDxTZWN0aW9uSGVhZGluZyBrZXk9e2tleX0gey4uLmNvbXBQcm9wc30gLz47XG4gIH0gZWxzZSBpZiAocHJvcHMudHlwZSA9PT0gJ1NlcGFyYXRvcicpIHtcbiAgICBjb25zdCB7IHR5cGUsIGlkLCAuLi5jb21wUHJvcHMgfSA9IHByb3BzO1xuICAgIGVsZW1lbnQgPSA8U2VwYXJhdG9yIGtleT17a2V5fSB7Li4uY29tcFByb3BzfSAvPjtcbiAgfSBlbHNlIGlmIChwcm9wcy50eXBlID09PSAnU3dpdGNoZXInKSB7XG4gICAgY29uc3QgeyB0eXBlLCAuLi5jb21wUHJvcHMgfSA9IHByb3BzO1xuICAgIGVsZW1lbnQgPSA8TGF6eVN3aXRjaGVyIGtleT17a2V5fSB7Li4uY29tcFByb3BzfSAvPjtcbiAgfSBlbHNlIGlmIChwcm9wcy50eXBlID09PSAnV29yZG1hcmsnKSB7XG4gICAgY29uc3QgeyB0eXBlLCBpZCwgLi4uY29tcFByb3BzIH0gPSBwcm9wcztcbiAgICBlbGVtZW50ID0gPFdvcmRtYXJrIGtleT17a2V5fSB7Li4uY29tcFByb3BzfSAvPjtcbiAgfVxuXG4gIHJldHVybiBlbGVtZW50O1xufTtcblxuY29uc3QgZ3JvdXBDb21wb25lbnRzID0ge1xuICBHcm91cCxcbiAgSGVhZGVyU2VjdGlvbixcbiAgTWVudVNlY3Rpb24sXG4gIFNlY3Rpb24sXG4gIFNvcnRhYmxlQ29udGV4dCxcbiAgU29ydGFibGVHcm91cCxcbn07XG5cbmNvbnN0IHJlbmRlckdyb3VwQ29tcG9uZW50ID0gKHByb3BzLCBrZXksIGN1c3RvbUNvbXBvbmVudHMpID0+IHtcbiAgbGV0IGVsZW1lbnQgPSBudWxsO1xuICAvLyBXZSBuZWVkIGFuIGV4cGxpY2l0IGNvbmRpdGlvbmFsIGFnYWluc3QgZWFjaCB0eXBlIGZvciBmbG93IHR5cGUgcmVmaW5lbWVudCB0byB3b3JrXG4gIGlmIChwcm9wcy50eXBlID09PSAnR3JvdXAnKSB7XG4gICAgY29uc3QgeyB0eXBlLCAuLi5jb21wUHJvcHMgfSA9IHByb3BzO1xuICAgIGVsZW1lbnQgPSAoXG4gICAgICA8R3JvdXAga2V5PXtrZXl9IHsuLi5jb21wUHJvcHN9IGN1c3RvbUNvbXBvbmVudHM9e2N1c3RvbUNvbXBvbmVudHN9IC8+XG4gICAgKTtcbiAgfSBlbHNlIGlmIChwcm9wcy50eXBlID09PSAnSGVhZGVyU2VjdGlvbicpIHtcbiAgICBjb25zdCB7IHR5cGUsIC4uLmNvbXBQcm9wcyB9ID0gcHJvcHM7XG4gICAgZWxlbWVudCA9IChcbiAgICAgIDxIZWFkZXJTZWN0aW9uXG4gICAgICAgIGtleT17a2V5fVxuICAgICAgICB7Li4uY29tcFByb3BzfVxuICAgICAgICBjdXN0b21Db21wb25lbnRzPXtjdXN0b21Db21wb25lbnRzfVxuICAgICAgLz5cbiAgICApO1xuICB9IGVsc2UgaWYgKHByb3BzLnR5cGUgPT09ICdNZW51U2VjdGlvbicpIHtcbiAgICBjb25zdCB7IHR5cGUsIC4uLmNvbXBQcm9wcyB9ID0gcHJvcHM7XG4gICAgZWxlbWVudCA9IChcbiAgICAgIDxNZW51U2VjdGlvblxuICAgICAgICBrZXk9e2tleX1cbiAgICAgICAgey4uLmNvbXBQcm9wc31cbiAgICAgICAgY3VzdG9tQ29tcG9uZW50cz17Y3VzdG9tQ29tcG9uZW50c31cbiAgICAgIC8+XG4gICAgKTtcbiAgfSBlbHNlIGlmIChwcm9wcy50eXBlID09PSAnU2VjdGlvbicpIHtcbiAgICBjb25zdCB7IHR5cGUsIC4uLmNvbXBQcm9wcyB9ID0gcHJvcHM7XG4gICAgZWxlbWVudCA9IChcbiAgICAgIDxTZWN0aW9uIGtleT17a2V5fSB7Li4uY29tcFByb3BzfSBjdXN0b21Db21wb25lbnRzPXtjdXN0b21Db21wb25lbnRzfSAvPlxuICAgICk7XG4gIH0gZWxzZSBpZiAocHJvcHMudHlwZSA9PT0gJ1NvcnRhYmxlQ29udGV4dCcpIHtcbiAgICBjb25zdCB7IHR5cGUsIC4uLmNvbXBQcm9wcyB9ID0gcHJvcHM7XG4gICAgZWxlbWVudCA9IChcbiAgICAgIDxTb3J0YWJsZUNvbnRleHRcbiAgICAgICAga2V5PXtrZXl9XG4gICAgICAgIHsuLi5jb21wUHJvcHN9XG4gICAgICAgIGN1c3RvbUNvbXBvbmVudHM9e2N1c3RvbUNvbXBvbmVudHN9XG4gICAgICAvPlxuICAgICk7XG4gIH0gZWxzZSBpZiAocHJvcHMudHlwZSA9PT0gJ1NvcnRhYmxlR3JvdXAnKSB7XG4gICAgY29uc3QgeyB0eXBlLCAuLi5jb21wUHJvcHMgfSA9IHByb3BzO1xuICAgIGVsZW1lbnQgPSAoXG4gICAgICA8U29ydGFibGVHcm91cFxuICAgICAgICBrZXk9e2tleX1cbiAgICAgICAgey4uLmNvbXBQcm9wc31cbiAgICAgICAgY3VzdG9tQ29tcG9uZW50cz17Y3VzdG9tQ29tcG9uZW50c31cbiAgICAgIC8+XG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiBlbGVtZW50O1xufTtcblxuLy8gRXhwb3J0ZWQgZm9yIHRlc3RpbmcgcHVycG9zZXMgb25seS5cbmV4cG9ydCBjb25zdCBjb21wb25lbnRzID0geyAuLi5pdGVtQ29tcG9uZW50cywgLi4uZ3JvdXBDb21wb25lbnRzIH07XG5cbi8qKlxuICogUkVOREVSRVJcbiAqL1xuY2xhc3MgVHlwZWRJdGVtc1JlbmRlcmVyIGV4dGVuZHMgUHVyZUNvbXBvbmVudCB7XG4gIGN1c3RvbUNvbXBvbmVudHNXaXRoQW5hbHl0aWNzID0gbmV3IE1hcCgpO1xuXG4gIGdldEN1c3RvbUNvbXBvbmVudCA9IGNvbXBvbmVudCA9PiB7XG4gICAgLy8gY2FjaGUgY3VzdG9tIGNvbXBvbmVudHMgd3JhcHBlZCB3aXRoIGFuYWx5dGljc1xuICAgIC8vIHRvIHByZXZlbnQgcmUtbW91bnRpbmcgb2YgY29tcG9uZW50IG9uIHJlLXJlbmRlclxuICAgIGNvbnN0IHsgY3VzdG9tQ29tcG9uZW50cyA9IHt9IH0gPSB0aGlzLnByb3BzO1xuICAgIGxldCBjYWNoZWRDb21wb25lbnQgPSB0aGlzLmN1c3RvbUNvbXBvbmVudHNXaXRoQW5hbHl0aWNzLmdldChjb21wb25lbnQpO1xuICAgIGlmICghY2FjaGVkQ29tcG9uZW50KSB7XG4gICAgICBjYWNoZWRDb21wb25lbnQgPVxuICAgICAgICB0eXBlb2YgY29tcG9uZW50ID09PSAnc3RyaW5nJ1xuICAgICAgICAgID8gbmF2aWdhdGlvbkl0ZW1DbGlja2VkKGN1c3RvbUNvbXBvbmVudHNbY29tcG9uZW50XSwgY29tcG9uZW50KVxuICAgICAgICAgIDogbmF2aWdhdGlvbkl0ZW1DbGlja2VkKFxuICAgICAgICAgICAgICBjb21wb25lbnQsXG4gICAgICAgICAgICAgIGNvbXBvbmVudC5kaXNwbGF5TmFtZSB8fCAnaW5saW5lQ3VzdG9tQ29tcG9uZW50JyxcbiAgICAgICAgICAgICk7XG4gICAgICB0aGlzLmN1c3RvbUNvbXBvbmVudHNXaXRoQW5hbHl0aWNzLnNldChjb21wb25lbnQsIGNhY2hlZENvbXBvbmVudCk7XG4gICAgfVxuICAgIHJldHVybiBjYWNoZWRDb21wb25lbnQ7XG4gIH07XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHsgY3VzdG9tQ29tcG9uZW50cyA9IHt9LCBpdGVtcyB9ID0gdGhpcy5wcm9wcztcblxuICAgIC8vIFdlIGNhbm5vdCBkZXN0cnVjdHVyZSBwcm9wcy50eXBlIG90aGVyd2lzZSBmbG93IHR5cGUgcmVmaW5tZW50IGRvZXMgbm90IHdvcmtcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svZmxvdy9pc3N1ZXMvNTI1OVxuICAgIHJldHVybiBpdGVtcy5tYXAoKHByb3BzLCBpbmRleCkgPT4ge1xuICAgICAgY29uc3Qga2V5ID1cbiAgICAgICAgdHlwZW9mIHByb3BzLm5lc3RlZEdyb3VwS2V5ID09PSAnc3RyaW5nJ1xuICAgICAgICAgID8gcHJvcHMubmVzdGVkR3JvdXBLZXlcbiAgICAgICAgICA6IHByb3BzLmlkO1xuXG4gICAgICBpZiAocHJvcHMudHlwZSA9PT0gJ0lubGluZUNvbXBvbmVudCcpIHtcbiAgICAgICAgY29uc3QgeyB0eXBlLCBjb21wb25lbnQsIC4uLmNvbXBvbmVudFByb3BzIH0gPSBwcm9wcztcbiAgICAgICAgLy8gSWYgdGhleSd2ZSBwcm92aWRlZCBhIGNvbXBvbmVudCBhcyB0aGUgdHlwZVxuICAgICAgICBjb25zdCBDdXN0b21Db21wb25lbnQgPSB0aGlzLmdldEN1c3RvbUNvbXBvbmVudChwcm9wcy5jb21wb25lbnQpO1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxDdXN0b21Db21wb25lbnRcbiAgICAgICAgICAgIGtleT17a2V5fVxuICAgICAgICAgICAgey4uLmNvbXBvbmVudFByb3BzfVxuICAgICAgICAgICAgaW5kZXg9e2luZGV4fVxuICAgICAgICAgICAgLy8gV2UgcGFzcyBvdXIgaW4tYnVpbHQgY29tcG9uZW50cyB0aHJvdWdoIHRvIGN1c3RvbSBjb21wb25lbnRzIHNvXG4gICAgICAgICAgICAvLyB0aGV5IGNhbiB3cmFwL3JlbmRlciB0aGVtIGlmIHRoZXkgd2FudCB0by5cbiAgICAgICAgICAgIGNvbXBvbmVudHM9e2NvbXBvbmVudHN9XG4gICAgICAgICAgICBjdXN0b21Db21wb25lbnRzPXtjdXN0b21Db21wb25lbnRzfVxuICAgICAgICAgIC8+XG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICBpZiAoT2JqZWN0LmtleXMoZ3JvdXBDb21wb25lbnRzKS5pbmNsdWRlcyhwcm9wcy50eXBlKSkge1xuICAgICAgICAvLyBJZiB0aGV5J3ZlIHByb3ZpZGVkIGEgdHlwZSB3aGljaCBtYXRjaGVzIG9uZSBvZiBvdXIgaW4tYnVpbHQgZ3JvdXBcbiAgICAgICAgLy8gY29tcG9uZW50c1xuICAgICAgICByZXR1cm4gcmVuZGVyR3JvdXBDb21wb25lbnQocHJvcHMsIGtleSwgY3VzdG9tQ29tcG9uZW50cyk7XG4gICAgICAgIC8vIElmIHRoZXkndmUgcHJvdmlkZWQgYSB0eXBlIHdoaWNoIG1hdGNoZXMgb25lIG9mIG91ciBpbi1idWlsdCBpdGVtXG4gICAgICAgIC8vIGNvbXBvbmVudHMuXG4gICAgICB9XG4gICAgICBpZiAoT2JqZWN0LmtleXMoaXRlbUNvbXBvbmVudHMpLmluY2x1ZGVzKHByb3BzLnR5cGUpKSB7XG4gICAgICAgIHJldHVybiByZW5kZXJJdGVtQ29tcG9uZW50KHByb3BzLCBrZXksIGluZGV4KTtcbiAgICAgIH1cbiAgICAgIGlmIChPYmplY3Qua2V5cyhjdXN0b21Db21wb25lbnRzKS5pbmNsdWRlcyhwcm9wcy50eXBlKSkge1xuICAgICAgICBjb25zdCB7IHR5cGUsIC4uLmNvbXBvbmVudFByb3BzIH0gPSBwcm9wcztcbiAgICAgICAgLy8gSWYgdGhleSd2ZSBwcm92aWRlZCBhIHR5cGUgd2hpY2ggbWF0Y2hlcyBvbmUgb2YgdGhlaXIgZGVmaW5lZCBjdXN0b21cbiAgICAgICAgLy8gY29tcG9uZW50cy5cbiAgICAgICAgY29uc3QgQ3VzdG9tQ29tcG9uZW50ID0gdGhpcy5nZXRDdXN0b21Db21wb25lbnQodHlwZSk7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgPEN1c3RvbUNvbXBvbmVudFxuICAgICAgICAgICAga2V5PXtrZXl9XG4gICAgICAgICAgICB7Li4uY29tcG9uZW50UHJvcHN9XG4gICAgICAgICAgICBpbmRleD17aW5kZXh9XG4gICAgICAgICAgICAvLyBXZSBwYXNzIG91ciBpbi1idWlsdCBjb21wb25lbnRzIHRocm91Z2ggdG8gY3VzdG9tIGNvbXBvbmVudHMgc29cbiAgICAgICAgICAgIC8vIHRoZXkgY2FuIHdyYXAvcmVuZGVyIHRoZW0gaWYgdGhleSB3YW50IHRvLlxuICAgICAgICAgICAgY29tcG9uZW50cz17Y29tcG9uZW50c31cbiAgICAgICAgICAgIGN1c3RvbUNvbXBvbmVudHM9e2N1c3RvbUNvbXBvbmVudHN9XG4gICAgICAgICAgLz5cbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIDxEZWJ1ZyBrZXk9e2tleX0gdHlwZT17cHJvcHMudHlwZX0gey4uLnByb3BzfSAvPjtcbiAgICB9KTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBUeXBlZEl0ZW1zUmVuZGVyZXI7XG4iXX0= */\")\n }, Object(_emotion_core__WEBPACK_IMPORTED_MODULE_11__[\"jsx\"])(_components_presentational_ContainerHeader__WEBPACK_IMPORTED_MODULE_20__[\"default\"], props))\n );\n};\n\nvar Debug = function Debug(props) {\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_11__[\"jsx\"])(\"pre\", {\n css:\n /*#__PURE__*/\n Object(_emotion_css__WEBPACK_IMPORTED_MODULE_9__[\"default\"])({\n backgroundColor: 'rgba(0, 0, 0, 0.1)',\n fontSize: '10px',\n overflowX: 'auto',\n padding: \"\".concat(gridSize / 2, \"px\")\n }, false ? undefined : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9yZW5kZXJlci9jb21wb25lbnRzLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWtGSSIsImZpbGUiOiIuLi8uLi8uLi9zcmMvcmVuZGVyZXIvY29tcG9uZW50cy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyBQdXJlQ29tcG9uZW50IH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgTG9hZGFibGUgZnJvbSAncmVhY3QtbG9hZGFibGUnO1xuXG5pbXBvcnQgeyBncmlkU2l6ZSBhcyBncmlkU2l6ZUZuIH0gZnJvbSAnQGF0bGFza2l0L3RoZW1lL2NvbnN0YW50cyc7XG5cbmltcG9ydCB7IG5hdmlnYXRpb25JdGVtQ2xpY2tlZCB9IGZyb20gJy4uL2NvbW1vbi9hbmFseXRpY3MnO1xuaW1wb3J0IFJlbmRlckJsb2NrZXIgZnJvbSAnLi4vY29tcG9uZW50cy9jb21tb24vUmVuZGVyQmxvY2tlcic7XG5pbXBvcnQgQmFja0l0ZW0gZnJvbSAnLi4vY29tcG9uZW50cy9jb25uZWN0ZWQvQmFja0l0ZW0nO1xuaW1wb3J0IENvbm5lY3RlZEl0ZW0gZnJvbSAnLi4vY29tcG9uZW50cy9jb25uZWN0ZWQvQ29ubmVjdGVkSXRlbSc7XG5pbXBvcnQgR29Ub0l0ZW0gZnJvbSAnLi4vY29tcG9uZW50cy9jb25uZWN0ZWQvR29Ub0l0ZW0nO1xuaW1wb3J0IENvbnRhaW5lckhlYWRlckNvbXBvbmVudCBmcm9tICcuLi9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL0NvbnRhaW5lckhlYWRlcic7XG5pbXBvcnQgR3JvdXBDb21wb25lbnQgZnJvbSAnLi4vY29tcG9uZW50cy9wcmVzZW50YXRpb25hbC9Hcm91cCc7XG5pbXBvcnQgR3JvdXBIZWFkaW5nQ29tcG9uZW50IGZyb20gJy4uL2NvbXBvbmVudHMvcHJlc2VudGF0aW9uYWwvR3JvdXBIZWFkaW5nJztcbmltcG9ydCBIZWFkZXJTZWN0aW9uQ29tcG9uZW50IGZyb20gJy4uL2NvbXBvbmVudHMvcHJlc2VudGF0aW9uYWwvSGVhZGVyU2VjdGlvbic7XG5pbXBvcnQgTWVudVNlY3Rpb25Db21wb25lbnQgZnJvbSAnLi4vY29tcG9uZW50cy9wcmVzZW50YXRpb25hbC9NZW51U2VjdGlvbic7XG5pbXBvcnQgU2VjdGlvbkNvbXBvbmVudCBmcm9tICcuLi9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL1NlY3Rpb24nO1xuaW1wb3J0IFNlY3Rpb25IZWFkaW5nQ29tcG9uZW50IGZyb20gJy4uL2NvbXBvbmVudHMvcHJlc2VudGF0aW9uYWwvU2VjdGlvbkhlYWRpbmcnO1xuaW1wb3J0IFNlcGFyYXRvciBmcm9tICcuLi9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL1NlcGFyYXRvcic7XG5pbXBvcnQgV29yZG1hcmsgZnJvbSAnLi4vY29tcG9uZW50cy9wcmVzZW50YXRpb25hbC9Xb3JkbWFyayc7XG5cbmNvbnN0IGdyaWRTaXplID0gZ3JpZFNpemVGbigpO1xuY29uc3QgbG9hZFN3aXRjaGVyID0gKCkgPT5cbiAgaW1wb3J0KFxuICAgIC8qIHdlYnBhY2tDaHVua05hbWU6IFwiQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9hc3luYy1jaHVuay9zd2l0Y2hlclwiICovICcuLi9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL1N3aXRjaGVyJ1xuICApO1xuY29uc3QgTGF6eVN3aXRjaGVyID0gTG9hZGFibGUoe1xuICBsb2FkZXI6IGxvYWRTd2l0Y2hlcixcbiAgbG9hZGluZzogKCkgPT4gbnVsbCxcbn0pO1xuXG5jb25zdCBsb2FkU29ydGFibGVDb250ZXh0Q29tcG9uZW50ID0gKCkgPT5cbiAgaW1wb3J0KFxuICAgIC8qIHdlYnBhY2tDaHVua05hbWU6IFwiQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9hc3luYy1jaHVuay9zb3J0YWJsZS1jb250ZXh0LWNvbXBvbmVudFwiICovICcuLi9jb21wb25lbnRzL2Nvbm5lY3RlZC9Tb3J0YWJsZUNvbnRleHQnXG4gICk7XG5jb25zdCBMYXp5U29ydGFibGVDb250ZXh0Q29tcG9uZW50ID0gTG9hZGFibGUoe1xuICBsb2FkZXI6IGxvYWRTb3J0YWJsZUNvbnRleHRDb21wb25lbnQsXG4gIGxvYWRpbmc6ICgpID0+IG51bGwsXG59KTtcblxuY29uc3QgbG9hZFNvcnRhYmxlR3JvdXBDb21wb25lbnQgPSAoKSA9PlxuICBpbXBvcnQoXG4gICAgLyogd2VicGFja0NodW5rTmFtZTogXCJAYXRsYXNraXQvbmF2aWdhdGlvbi1uZXh0L2FzeW5jLWNodW5rL3NvcnRhYmxlLWdyb3VwLWNvbXBvbmVudFwiICovICcuLi9jb21wb25lbnRzL2Nvbm5lY3RlZC9Tb3J0YWJsZUdyb3VwJ1xuICApO1xuZXhwb3J0IGNvbnN0IExhenlTb3J0YWJsZUdyb3VwQ29tcG9uZW50ID0gTG9hZGFibGUoe1xuICBsb2FkZXI6IGxvYWRTb3J0YWJsZUdyb3VwQ29tcG9uZW50LFxuICBsb2FkaW5nOiAoKSA9PiBudWxsLFxufSk7XG5cbmNvbnN0IGxvYWRTb3J0YWJsZUl0ZW0gPSAoKSA9PlxuICBpbXBvcnQoXG4gICAgLyogd2VicGFja0NodW5rTmFtZTogXCJAYXRsYXNraXQvbmF2aWdhdGlvbi1uZXh0L2FzeW5jLWNodW5rL3NvcnRhYmxlLWl0ZW1cIiAqLyAnLi4vY29tcG9uZW50cy9jb25uZWN0ZWQvU29ydGFibGVJdGVtJ1xuICApO1xuZXhwb3J0IGNvbnN0IExhenlTb3J0YWJsZUl0ZW0gPSBMb2FkYWJsZSh7XG4gIGxvYWRlcjogbG9hZFNvcnRhYmxlSXRlbSxcbiAgbG9hZGluZzogKCkgPT4gbnVsbCxcbn0pO1xuLyoqXG4gKiBJVEVNU1xuICovXG5cbi8vIFRpdGxlXG5jb25zdCBHcm91cEhlYWRpbmcgPSAoeyB0ZXh0LCAuLi5wcm9wcyB9KSA9PiAoXG4gIDxHcm91cEhlYWRpbmdDb21wb25lbnQgey4uLnByb3BzfT57dGV4dH08L0dyb3VwSGVhZGluZ0NvbXBvbmVudD5cbik7XG5cbi8vIFNlY3Rpb25IZWFkaW5nXG5jb25zdCBTZWN0aW9uSGVhZGluZyA9ICh7IHRleHQsIC4uLnByb3BzIH0pID0+IChcbiAgPFNlY3Rpb25IZWFkaW5nQ29tcG9uZW50IHsuLi5wcm9wc30+e3RleHR9PC9TZWN0aW9uSGVhZGluZ0NvbXBvbmVudD5cbik7XG5cbi8vIENvbnRhaW5lckhlYWRlclxuY29uc3QgQ29udGFpbmVySGVhZGVyID0gcHJvcHMgPT4gKFxuICAvLyAtMnB4IGhlcmUgdG8gYWNjb3VudCBmb3IgdGhlIGV4dHJhIHNwYWNlIGF0IHRoZSB0b3Agb2YgYSBNZW51U2VjdGlvbiBmb3JcbiAgLy8gdGhlIHNjcm9sbCBoaW50LlxuICA8ZGl2IGNzcz17eyBwYWRkaW5nQm90dG9tOiBncmlkU2l6ZSAqIDIuNSAtIDIgfX0+XG4gICAgPENvbnRhaW5lckhlYWRlckNvbXBvbmVudCB7Li4ucHJvcHN9IC8+XG4gIDwvZGl2PlxuKTtcblxuY29uc3QgRGVidWcgPSBwcm9wcyA9PiAoXG4gIDxwcmVcbiAgICBjc3M9e3tcbiAgICAgIGJhY2tncm91bmRDb2xvcjogJ3JnYmEoMCwgMCwgMCwgMC4xKScsXG4gICAgICBmb250U2l6ZTogJzEwcHgnLFxuICAgICAgb3ZlcmZsb3dYOiAnYXV0bycsXG4gICAgICBwYWRkaW5nOiBgJHtncmlkU2l6ZSAvIDJ9cHhgLFxuICAgIH19XG4gID5cbiAgICB7SlNPTi5zdHJpbmdpZnkocHJvcHMsIG51bGwsIDIpfVxuICA8L3ByZT5cbik7XG5cbi8qKlxuICogR1JPVVBTXG4gKi9cblxuLy8gR3JvdXBcbmNvbnN0IEdyb3VwID0gKHsgY3VzdG9tQ29tcG9uZW50cywgaGFzU2VwYXJhdG9yLCBoZWFkaW5nLCBpdGVtcywgaWQgfSkgPT5cbiAgaXRlbXMubGVuZ3RoID8gKFxuICAgIDxHcm91cENvbXBvbmVudCBoZWFkaW5nPXtoZWFkaW5nfSBoYXNTZXBhcmF0b3I9e2hhc1NlcGFyYXRvcn0gaWQ9e2lkfT5cbiAgICAgIDxUeXBlZEl0ZW1zUmVuZGVyZXIgaXRlbXM9e2l0ZW1zfSBjdXN0b21Db21wb25lbnRzPXtjdXN0b21Db21wb25lbnRzfSAvPlxuICAgIDwvR3JvdXBDb21wb25lbnQ+XG4gICkgOiBudWxsO1xuXG5jb25zdCBTb3J0YWJsZUdyb3VwID0gKHtcbiAgY3VzdG9tQ29tcG9uZW50cyxcbiAgaGFzU2VwYXJhdG9yLFxuICBoZWFkaW5nLFxuICBpdGVtcyxcbiAgaWQsXG59KSA9PlxuICBpdGVtcyAmJiBpdGVtcy5sZW5ndGggPyAoXG4gICAgPExhenlTb3J0YWJsZUdyb3VwQ29tcG9uZW50XG4gICAgICBoZWFkaW5nPXtoZWFkaW5nfVxuICAgICAgaGFzU2VwYXJhdG9yPXtoYXNTZXBhcmF0b3J9XG4gICAgICBpZD17aWR9XG4gICAgPlxuICAgICAgPFJlbmRlckJsb2NrZXIgaXRlbXM9e2l0ZW1zfSBjdXN0b21Db21wb25lbnRzPXtjdXN0b21Db21wb25lbnRzfT5cbiAgICAgICAgPFR5cGVkSXRlbXNSZW5kZXJlciBpdGVtcz17aXRlbXN9IGN1c3RvbUNvbXBvbmVudHM9e2N1c3RvbUNvbXBvbmVudHN9IC8+XG4gICAgICA8L1JlbmRlckJsb2NrZXI+XG4gICAgPC9MYXp5U29ydGFibGVHcm91cENvbXBvbmVudD5cbiAgKSA6IG51bGw7XG5cbi8vIFNlY3Rpb25cbmNvbnN0IFNlY3Rpb24gPSAoe1xuICBhbHdheXNTaG93U2Nyb2xsSGludCA9IGZhbHNlLFxuICBjdXN0b21Db21wb25lbnRzLFxuICBpZCxcbiAgaXRlbXMsXG4gIG5lc3RlZEdyb3VwS2V5LFxuICBwYXJlbnRJZCxcbiAgc2hvdWxkR3Jvdyxcbn0pID0+XG4gIGl0ZW1zLmxlbmd0aCA/IChcbiAgICA8U2VjdGlvbkNvbXBvbmVudFxuICAgICAgYWx3YXlzU2hvd1Njcm9sbEhpbnQ9e2Fsd2F5c1Nob3dTY3JvbGxIaW50fVxuICAgICAgaWQ9e2lkfVxuICAgICAga2V5PXtuZXN0ZWRHcm91cEtleX1cbiAgICAgIHBhcmVudElkPXtwYXJlbnRJZH1cbiAgICAgIHNob3VsZEdyb3c9e3Nob3VsZEdyb3d9XG4gICAgPlxuICAgICAgeyh7IGNsYXNzTmFtZSB9KSA9PiAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbGFzc05hbWV9PlxuICAgICAgICAgIDxUeXBlZEl0ZW1zUmVuZGVyZXJcbiAgICAgICAgICAgIGl0ZW1zPXtpdGVtc31cbiAgICAgICAgICAgIGN1c3RvbUNvbXBvbmVudHM9e2N1c3RvbUNvbXBvbmVudHN9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICApfVxuICAgIDwvU2VjdGlvbkNvbXBvbmVudD5cbiAgKSA6IG51bGw7XG5cbmNvbnN0IEhlYWRlclNlY3Rpb24gPSAoeyBjdXN0b21Db21wb25lbnRzLCBpZCwgaXRlbXMsIG5lc3RlZEdyb3VwS2V5IH0pID0+XG4gIGl0ZW1zLmxlbmd0aCA/IChcbiAgICA8SGVhZGVyU2VjdGlvbkNvbXBvbmVudCBpZD17aWR9IGtleT17bmVzdGVkR3JvdXBLZXl9PlxuICAgICAgeyh7IGNsYXNzTmFtZSB9KSA9PiAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbGFzc05hbWV9PlxuICAgICAgICAgIDxUeXBlZEl0ZW1zUmVuZGVyZXJcbiAgICAgICAgICAgIGl0ZW1zPXtpdGVtc31cbiAgICAgICAgICAgIGN1c3RvbUNvbXBvbmVudHM9e2N1c3RvbUNvbXBvbmVudHN9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICApfVxuICAgIDwvSGVhZGVyU2VjdGlvbkNvbXBvbmVudD5cbiAgKSA6IG51bGw7XG5cbmNvbnN0IE1lbnVTZWN0aW9uID0gKHtcbiAgYWx3YXlzU2hvd1Njcm9sbEhpbnQsXG4gIGN1c3RvbUNvbXBvbmVudHMsXG4gIGlkLFxuICBpdGVtcyxcbiAgbmVzdGVkR3JvdXBLZXksXG4gIHBhcmVudElkLFxufSkgPT4gKFxuICA8TWVudVNlY3Rpb25Db21wb25lbnRcbiAgICBhbHdheXNTaG93U2Nyb2xsSGludD17YWx3YXlzU2hvd1Njcm9sbEhpbnR9XG4gICAgaWQ9e2lkfVxuICAgIGtleT17bmVzdGVkR3JvdXBLZXl9XG4gICAgcGFyZW50SWQ9e3BhcmVudElkfVxuICA+XG4gICAgeyh7IGNsYXNzTmFtZSB9KSA9PiAoXG4gICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3NOYW1lfT5cbiAgICAgICAgPFR5cGVkSXRlbXNSZW5kZXJlciBpdGVtcz17aXRlbXN9IGN1c3RvbUNvbXBvbmVudHM9e2N1c3RvbUNvbXBvbmVudHN9IC8+XG4gICAgICA8L2Rpdj5cbiAgICApfVxuICA8L01lbnVTZWN0aW9uQ29tcG9uZW50PlxuKTtcblxuY29uc3QgU29ydGFibGVDb250ZXh0ID0gKHtcbiAgY3VzdG9tQ29tcG9uZW50cyxcbiAgaWQsXG4gIGl0ZW1zLFxuICBvbkRyYWdTdGFydCxcbiAgb25EcmFnVXBkYXRlLFxuICBvbkRyYWdFbmQsXG59KSA9PlxuICBpdGVtcyAmJiBpdGVtcy5sZW5ndGggPyAoXG4gICAgPExhenlTb3J0YWJsZUNvbnRleHRDb21wb25lbnRcbiAgICAgIGlkPXtpZH1cbiAgICAgIG9uRHJhZ1N0YXJ0PXtvbkRyYWdTdGFydH1cbiAgICAgIG9uRHJhZ1VwZGF0ZT17b25EcmFnVXBkYXRlfVxuICAgICAgb25EcmFnRW5kPXtvbkRyYWdFbmR9XG4gICAgPlxuICAgICAgPFR5cGVkSXRlbXNSZW5kZXJlciBpdGVtcz17aXRlbXN9IGN1c3RvbUNvbXBvbmVudHM9e2N1c3RvbUNvbXBvbmVudHN9IC8+XG4gICAgPC9MYXp5U29ydGFibGVDb250ZXh0Q29tcG9uZW50PlxuICApIDogbnVsbDtcblxuY29uc3QgaXRlbUNvbXBvbmVudHMgPSB7XG4gIEJhY2tJdGVtLFxuICBDb250YWluZXJIZWFkZXIsXG4gIERlYnVnLFxuICBHb1RvSXRlbSxcbiAgR3JvdXBIZWFkaW5nLFxuICBJdGVtOiBDb25uZWN0ZWRJdGVtLFxuICBTb3J0YWJsZUl0ZW06IExhenlTb3J0YWJsZUl0ZW0sXG4gIFNlY3Rpb25IZWFkaW5nLFxuICBTZXBhcmF0b3IsXG4gIFN3aXRjaGVyOiBMYXp5U3dpdGNoZXIsXG4gIFdvcmRtYXJrLFxufTtcblxuY29uc3QgcmVuZGVySXRlbUNvbXBvbmVudCA9IChwcm9wcywga2V5LCBpbmRleCkgPT4ge1xuICBsZXQgZWxlbWVudCA9IG51bGw7XG4gIC8vIFdlIG5lZWQgYW4gZXhwbGljaXQgY29uZGl0aW9uYWwgYWdhaW5zdCBlYWNoIHR5cGUgZm9yIGZsb3cgdHlwZSByZWZpbmVtZW50IHRvIHdvcmtcbiAgaWYgKHByb3BzLnR5cGUgPT09ICdCYWNrSXRlbScpIHtcbiAgICBjb25zdCB7IHR5cGUsIC4uLmNvbXBQcm9wcyB9ID0gcHJvcHM7XG4gICAgZWxlbWVudCA9IDxCYWNrSXRlbSBrZXk9e2tleX0gey4uLmNvbXBQcm9wc30gaW5kZXg9e2luZGV4fSAvPjtcbiAgfSBlbHNlIGlmIChwcm9wcy50eXBlID09PSAnQ29udGFpbmVySGVhZGVyJykge1xuICAgIGNvbnN0IHsgdHlwZSwgLi4uY29tcFByb3BzIH0gPSBwcm9wcztcbiAgICBlbGVtZW50ID0gPENvbnRhaW5lckhlYWRlciBrZXk9e2tleX0gey4uLmNvbXBQcm9wc30gLz47XG4gIH0gZWxzZSBpZiAocHJvcHMudHlwZSA9PT0gJ0RlYnVnJykge1xuICAgIGNvbnN0IHsgdHlwZSwgLi4uY29tcFByb3BzIH0gPSBwcm9wcztcbiAgICBlbGVtZW50ID0gPERlYnVnIGtleT17a2V5fSB7Li4uY29tcFByb3BzfSAvPjtcbiAgfSBlbHNlIGlmIChwcm9wcy50eXBlID09PSAnR29Ub0l0ZW0nKSB7XG4gICAgY29uc3QgeyB0eXBlLCAuLi5jb21wUHJvcHMgfSA9IHByb3BzO1xuICAgIGVsZW1lbnQgPSA8R29Ub0l0ZW0ga2V5PXtrZXl9IHsuLi5jb21wUHJvcHN9IGluZGV4PXtpbmRleH0gLz47XG4gIH0gZWxzZSBpZiAocHJvcHMudHlwZSA9PT0gJ0l0ZW0nKSB7XG4gICAgY29uc3QgeyB0eXBlLCAuLi5jb21wUHJvcHMgfSA9IHByb3BzO1xuICAgIGVsZW1lbnQgPSA8Q29ubmVjdGVkSXRlbSBrZXk9e2tleX0gey4uLmNvbXBQcm9wc30gaW5kZXg9e2luZGV4fSAvPjtcbiAgfSBlbHNlIGlmIChwcm9wcy50eXBlID09PSAnU29ydGFibGVJdGVtJykge1xuICAgIGNvbnN0IHsgdHlwZSwgLi4uY29tcFByb3BzIH0gPSBwcm9wcztcbiAgICBlbGVtZW50ID0gPExhenlTb3J0YWJsZUl0ZW0ga2V5PXtrZXl9IHsuLi5jb21wUHJvcHN9IGluZGV4PXtpbmRleH0gLz47XG4gIH0gZWxzZSBpZiAocHJvcHMudHlwZSA9PT0gJ1NlY3Rpb25IZWFkaW5nJykge1xuICAgIGNvbnN0IHsgdHlwZSwgaWQsIC4uLmNvbXBQcm9wcyB9ID0gcHJvcHM7XG4gICAgZWxlbWVudCA9IDxTZWN0aW9uSGVhZGluZyBrZXk9e2tleX0gey4uLmNvbXBQcm9wc30gLz47XG4gIH0gZWxzZSBpZiAocHJvcHMudHlwZSA9PT0gJ1NlcGFyYXRvcicpIHtcbiAgICBjb25zdCB7IHR5cGUsIGlkLCAuLi5jb21wUHJvcHMgfSA9IHByb3BzO1xuICAgIGVsZW1lbnQgPSA8U2VwYXJhdG9yIGtleT17a2V5fSB7Li4uY29tcFByb3BzfSAvPjtcbiAgfSBlbHNlIGlmIChwcm9wcy50eXBlID09PSAnU3dpdGNoZXInKSB7XG4gICAgY29uc3QgeyB0eXBlLCAuLi5jb21wUHJvcHMgfSA9IHByb3BzO1xuICAgIGVsZW1lbnQgPSA8TGF6eVN3aXRjaGVyIGtleT17a2V5fSB7Li4uY29tcFByb3BzfSAvPjtcbiAgfSBlbHNlIGlmIChwcm9wcy50eXBlID09PSAnV29yZG1hcmsnKSB7XG4gICAgY29uc3QgeyB0eXBlLCBpZCwgLi4uY29tcFByb3BzIH0gPSBwcm9wcztcbiAgICBlbGVtZW50ID0gPFdvcmRtYXJrIGtleT17a2V5fSB7Li4uY29tcFByb3BzfSAvPjtcbiAgfVxuXG4gIHJldHVybiBlbGVtZW50O1xufTtcblxuY29uc3QgZ3JvdXBDb21wb25lbnRzID0ge1xuICBHcm91cCxcbiAgSGVhZGVyU2VjdGlvbixcbiAgTWVudVNlY3Rpb24sXG4gIFNlY3Rpb24sXG4gIFNvcnRhYmxlQ29udGV4dCxcbiAgU29ydGFibGVHcm91cCxcbn07XG5cbmNvbnN0IHJlbmRlckdyb3VwQ29tcG9uZW50ID0gKHByb3BzLCBrZXksIGN1c3RvbUNvbXBvbmVudHMpID0+IHtcbiAgbGV0IGVsZW1lbnQgPSBudWxsO1xuICAvLyBXZSBuZWVkIGFuIGV4cGxpY2l0IGNvbmRpdGlvbmFsIGFnYWluc3QgZWFjaCB0eXBlIGZvciBmbG93IHR5cGUgcmVmaW5lbWVudCB0byB3b3JrXG4gIGlmIChwcm9wcy50eXBlID09PSAnR3JvdXAnKSB7XG4gICAgY29uc3QgeyB0eXBlLCAuLi5jb21wUHJvcHMgfSA9IHByb3BzO1xuICAgIGVsZW1lbnQgPSAoXG4gICAgICA8R3JvdXAga2V5PXtrZXl9IHsuLi5jb21wUHJvcHN9IGN1c3RvbUNvbXBvbmVudHM9e2N1c3RvbUNvbXBvbmVudHN9IC8+XG4gICAgKTtcbiAgfSBlbHNlIGlmIChwcm9wcy50eXBlID09PSAnSGVhZGVyU2VjdGlvbicpIHtcbiAgICBjb25zdCB7IHR5cGUsIC4uLmNvbXBQcm9wcyB9ID0gcHJvcHM7XG4gICAgZWxlbWVudCA9IChcbiAgICAgIDxIZWFkZXJTZWN0aW9uXG4gICAgICAgIGtleT17a2V5fVxuICAgICAgICB7Li4uY29tcFByb3BzfVxuICAgICAgICBjdXN0b21Db21wb25lbnRzPXtjdXN0b21Db21wb25lbnRzfVxuICAgICAgLz5cbiAgICApO1xuICB9IGVsc2UgaWYgKHByb3BzLnR5cGUgPT09ICdNZW51U2VjdGlvbicpIHtcbiAgICBjb25zdCB7IHR5cGUsIC4uLmNvbXBQcm9wcyB9ID0gcHJvcHM7XG4gICAgZWxlbWVudCA9IChcbiAgICAgIDxNZW51U2VjdGlvblxuICAgICAgICBrZXk9e2tleX1cbiAgICAgICAgey4uLmNvbXBQcm9wc31cbiAgICAgICAgY3VzdG9tQ29tcG9uZW50cz17Y3VzdG9tQ29tcG9uZW50c31cbiAgICAgIC8+XG4gICAgKTtcbiAgfSBlbHNlIGlmIChwcm9wcy50eXBlID09PSAnU2VjdGlvbicpIHtcbiAgICBjb25zdCB7IHR5cGUsIC4uLmNvbXBQcm9wcyB9ID0gcHJvcHM7XG4gICAgZWxlbWVudCA9IChcbiAgICAgIDxTZWN0aW9uIGtleT17a2V5fSB7Li4uY29tcFByb3BzfSBjdXN0b21Db21wb25lbnRzPXtjdXN0b21Db21wb25lbnRzfSAvPlxuICAgICk7XG4gIH0gZWxzZSBpZiAocHJvcHMudHlwZSA9PT0gJ1NvcnRhYmxlQ29udGV4dCcpIHtcbiAgICBjb25zdCB7IHR5cGUsIC4uLmNvbXBQcm9wcyB9ID0gcHJvcHM7XG4gICAgZWxlbWVudCA9IChcbiAgICAgIDxTb3J0YWJsZUNvbnRleHRcbiAgICAgICAga2V5PXtrZXl9XG4gICAgICAgIHsuLi5jb21wUHJvcHN9XG4gICAgICAgIGN1c3RvbUNvbXBvbmVudHM9e2N1c3RvbUNvbXBvbmVudHN9XG4gICAgICAvPlxuICAgICk7XG4gIH0gZWxzZSBpZiAocHJvcHMudHlwZSA9PT0gJ1NvcnRhYmxlR3JvdXAnKSB7XG4gICAgY29uc3QgeyB0eXBlLCAuLi5jb21wUHJvcHMgfSA9IHByb3BzO1xuICAgIGVsZW1lbnQgPSAoXG4gICAgICA8U29ydGFibGVHcm91cFxuICAgICAgICBrZXk9e2tleX1cbiAgICAgICAgey4uLmNvbXBQcm9wc31cbiAgICAgICAgY3VzdG9tQ29tcG9uZW50cz17Y3VzdG9tQ29tcG9uZW50c31cbiAgICAgIC8+XG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiBlbGVtZW50O1xufTtcblxuLy8gRXhwb3J0ZWQgZm9yIHRlc3RpbmcgcHVycG9zZXMgb25seS5cbmV4cG9ydCBjb25zdCBjb21wb25lbnRzID0geyAuLi5pdGVtQ29tcG9uZW50cywgLi4uZ3JvdXBDb21wb25lbnRzIH07XG5cbi8qKlxuICogUkVOREVSRVJcbiAqL1xuY2xhc3MgVHlwZWRJdGVtc1JlbmRlcmVyIGV4dGVuZHMgUHVyZUNvbXBvbmVudCB7XG4gIGN1c3RvbUNvbXBvbmVudHNXaXRoQW5hbHl0aWNzID0gbmV3IE1hcCgpO1xuXG4gIGdldEN1c3RvbUNvbXBvbmVudCA9IGNvbXBvbmVudCA9PiB7XG4gICAgLy8gY2FjaGUgY3VzdG9tIGNvbXBvbmVudHMgd3JhcHBlZCB3aXRoIGFuYWx5dGljc1xuICAgIC8vIHRvIHByZXZlbnQgcmUtbW91bnRpbmcgb2YgY29tcG9uZW50IG9uIHJlLXJlbmRlclxuICAgIGNvbnN0IHsgY3VzdG9tQ29tcG9uZW50cyA9IHt9IH0gPSB0aGlzLnByb3BzO1xuICAgIGxldCBjYWNoZWRDb21wb25lbnQgPSB0aGlzLmN1c3RvbUNvbXBvbmVudHNXaXRoQW5hbHl0aWNzLmdldChjb21wb25lbnQpO1xuICAgIGlmICghY2FjaGVkQ29tcG9uZW50KSB7XG4gICAgICBjYWNoZWRDb21wb25lbnQgPVxuICAgICAgICB0eXBlb2YgY29tcG9uZW50ID09PSAnc3RyaW5nJ1xuICAgICAgICAgID8gbmF2aWdhdGlvbkl0ZW1DbGlja2VkKGN1c3RvbUNvbXBvbmVudHNbY29tcG9uZW50XSwgY29tcG9uZW50KVxuICAgICAgICAgIDogbmF2aWdhdGlvbkl0ZW1DbGlja2VkKFxuICAgICAgICAgICAgICBjb21wb25lbnQsXG4gICAgICAgICAgICAgIGNvbXBvbmVudC5kaXNwbGF5TmFtZSB8fCAnaW5saW5lQ3VzdG9tQ29tcG9uZW50JyxcbiAgICAgICAgICAgICk7XG4gICAgICB0aGlzLmN1c3RvbUNvbXBvbmVudHNXaXRoQW5hbHl0aWNzLnNldChjb21wb25lbnQsIGNhY2hlZENvbXBvbmVudCk7XG4gICAgfVxuICAgIHJldHVybiBjYWNoZWRDb21wb25lbnQ7XG4gIH07XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHsgY3VzdG9tQ29tcG9uZW50cyA9IHt9LCBpdGVtcyB9ID0gdGhpcy5wcm9wcztcblxuICAgIC8vIFdlIGNhbm5vdCBkZXN0cnVjdHVyZSBwcm9wcy50eXBlIG90aGVyd2lzZSBmbG93IHR5cGUgcmVmaW5tZW50IGRvZXMgbm90IHdvcmtcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svZmxvdy9pc3N1ZXMvNTI1OVxuICAgIHJldHVybiBpdGVtcy5tYXAoKHByb3BzLCBpbmRleCkgPT4ge1xuICAgICAgY29uc3Qga2V5ID1cbiAgICAgICAgdHlwZW9mIHByb3BzLm5lc3RlZEdyb3VwS2V5ID09PSAnc3RyaW5nJ1xuICAgICAgICAgID8gcHJvcHMubmVzdGVkR3JvdXBLZXlcbiAgICAgICAgICA6IHByb3BzLmlkO1xuXG4gICAgICBpZiAocHJvcHMudHlwZSA9PT0gJ0lubGluZUNvbXBvbmVudCcpIHtcbiAgICAgICAgY29uc3QgeyB0eXBlLCBjb21wb25lbnQsIC4uLmNvbXBvbmVudFByb3BzIH0gPSBwcm9wcztcbiAgICAgICAgLy8gSWYgdGhleSd2ZSBwcm92aWRlZCBhIGNvbXBvbmVudCBhcyB0aGUgdHlwZVxuICAgICAgICBjb25zdCBDdXN0b21Db21wb25lbnQgPSB0aGlzLmdldEN1c3RvbUNvbXBvbmVudChwcm9wcy5jb21wb25lbnQpO1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxDdXN0b21Db21wb25lbnRcbiAgICAgICAgICAgIGtleT17a2V5fVxuICAgICAgICAgICAgey4uLmNvbXBvbmVudFByb3BzfVxuICAgICAgICAgICAgaW5kZXg9e2luZGV4fVxuICAgICAgICAgICAgLy8gV2UgcGFzcyBvdXIgaW4tYnVpbHQgY29tcG9uZW50cyB0aHJvdWdoIHRvIGN1c3RvbSBjb21wb25lbnRzIHNvXG4gICAgICAgICAgICAvLyB0aGV5IGNhbiB3cmFwL3JlbmRlciB0aGVtIGlmIHRoZXkgd2FudCB0by5cbiAgICAgICAgICAgIGNvbXBvbmVudHM9e2NvbXBvbmVudHN9XG4gICAgICAgICAgICBjdXN0b21Db21wb25lbnRzPXtjdXN0b21Db21wb25lbnRzfVxuICAgICAgICAgIC8+XG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICBpZiAoT2JqZWN0LmtleXMoZ3JvdXBDb21wb25lbnRzKS5pbmNsdWRlcyhwcm9wcy50eXBlKSkge1xuICAgICAgICAvLyBJZiB0aGV5J3ZlIHByb3ZpZGVkIGEgdHlwZSB3aGljaCBtYXRjaGVzIG9uZSBvZiBvdXIgaW4tYnVpbHQgZ3JvdXBcbiAgICAgICAgLy8gY29tcG9uZW50c1xuICAgICAgICByZXR1cm4gcmVuZGVyR3JvdXBDb21wb25lbnQocHJvcHMsIGtleSwgY3VzdG9tQ29tcG9uZW50cyk7XG4gICAgICAgIC8vIElmIHRoZXkndmUgcHJvdmlkZWQgYSB0eXBlIHdoaWNoIG1hdGNoZXMgb25lIG9mIG91ciBpbi1idWlsdCBpdGVtXG4gICAgICAgIC8vIGNvbXBvbmVudHMuXG4gICAgICB9XG4gICAgICBpZiAoT2JqZWN0LmtleXMoaXRlbUNvbXBvbmVudHMpLmluY2x1ZGVzKHByb3BzLnR5cGUpKSB7XG4gICAgICAgIHJldHVybiByZW5kZXJJdGVtQ29tcG9uZW50KHByb3BzLCBrZXksIGluZGV4KTtcbiAgICAgIH1cbiAgICAgIGlmIChPYmplY3Qua2V5cyhjdXN0b21Db21wb25lbnRzKS5pbmNsdWRlcyhwcm9wcy50eXBlKSkge1xuICAgICAgICBjb25zdCB7IHR5cGUsIC4uLmNvbXBvbmVudFByb3BzIH0gPSBwcm9wcztcbiAgICAgICAgLy8gSWYgdGhleSd2ZSBwcm92aWRlZCBhIHR5cGUgd2hpY2ggbWF0Y2hlcyBvbmUgb2YgdGhlaXIgZGVmaW5lZCBjdXN0b21cbiAgICAgICAgLy8gY29tcG9uZW50cy5cbiAgICAgICAgY29uc3QgQ3VzdG9tQ29tcG9uZW50ID0gdGhpcy5nZXRDdXN0b21Db21wb25lbnQodHlwZSk7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgPEN1c3RvbUNvbXBvbmVudFxuICAgICAgICAgICAga2V5PXtrZXl9XG4gICAgICAgICAgICB7Li4uY29tcG9uZW50UHJvcHN9XG4gICAgICAgICAgICBpbmRleD17aW5kZXh9XG4gICAgICAgICAgICAvLyBXZSBwYXNzIG91ciBpbi1idWlsdCBjb21wb25lbnRzIHRocm91Z2ggdG8gY3VzdG9tIGNvbXBvbmVudHMgc29cbiAgICAgICAgICAgIC8vIHRoZXkgY2FuIHdyYXAvcmVuZGVyIHRoZW0gaWYgdGhleSB3YW50IHRvLlxuICAgICAgICAgICAgY29tcG9uZW50cz17Y29tcG9uZW50c31cbiAgICAgICAgICAgIGN1c3RvbUNvbXBvbmVudHM9e2N1c3RvbUNvbXBvbmVudHN9XG4gICAgICAgICAgLz5cbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIDxEZWJ1ZyBrZXk9e2tleX0gdHlwZT17cHJvcHMudHlwZX0gey4uLnByb3BzfSAvPjtcbiAgICB9KTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBUeXBlZEl0ZW1zUmVuZGVyZXI7XG4iXX0= */\")\n }, JSON.stringify(props, null, 2));\n};\n/**\n * GROUPS\n */\n// Group\n\n\nvar Group = function Group(_ref3) {\n var customComponents = _ref3.customComponents,\n hasSeparator = _ref3.hasSeparator,\n heading = _ref3.heading,\n items = _ref3.items,\n id = _ref3.id;\n return items.length ? Object(_emotion_core__WEBPACK_IMPORTED_MODULE_11__[\"jsx\"])(_components_presentational_Group__WEBPACK_IMPORTED_MODULE_21__[\"default\"], {\n heading: heading,\n hasSeparator: hasSeparator,\n id: id\n }, Object(_emotion_core__WEBPACK_IMPORTED_MODULE_11__[\"jsx\"])(TypedItemsRenderer, {\n items: items,\n customComponents: customComponents\n })) : null;\n};\n\nvar SortableGroup = function SortableGroup(_ref4) {\n var customComponents = _ref4.customComponents,\n hasSeparator = _ref4.hasSeparator,\n heading = _ref4.heading,\n items = _ref4.items,\n id = _ref4.id;\n return items && items.length ? Object(_emotion_core__WEBPACK_IMPORTED_MODULE_11__[\"jsx\"])(LazySortableGroupComponent, {\n heading: heading,\n hasSeparator: hasSeparator,\n id: id\n }, Object(_emotion_core__WEBPACK_IMPORTED_MODULE_11__[\"jsx\"])(_components_common_RenderBlocker__WEBPACK_IMPORTED_MODULE_16__[\"default\"], {\n items: items,\n customComponents: customComponents\n }, Object(_emotion_core__WEBPACK_IMPORTED_MODULE_11__[\"jsx\"])(TypedItemsRenderer, {\n items: items,\n customComponents: customComponents\n }))) : null;\n}; // Section\n\n\nvar Section = function Section(_ref5) {\n var _ref5$alwaysShowScrol = _ref5.alwaysShowScrollHint,\n alwaysShowScrollHint = _ref5$alwaysShowScrol === void 0 ? false : _ref5$alwaysShowScrol,\n customComponents = _ref5.customComponents,\n id = _ref5.id,\n items = _ref5.items,\n nestedGroupKey = _ref5.nestedGroupKey,\n parentId = _ref5.parentId,\n shouldGrow = _ref5.shouldGrow;\n return items.length ? Object(_emotion_core__WEBPACK_IMPORTED_MODULE_11__[\"jsx\"])(_components_presentational_Section__WEBPACK_IMPORTED_MODULE_25__[\"default\"], {\n alwaysShowScrollHint: alwaysShowScrollHint,\n id: id,\n key: nestedGroupKey,\n parentId: parentId,\n shouldGrow: shouldGrow\n }, function (_ref6) {\n var className = _ref6.className;\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_11__[\"jsx\"])(\"div\", {\n className: className\n }, Object(_emotion_core__WEBPACK_IMPORTED_MODULE_11__[\"jsx\"])(TypedItemsRenderer, {\n items: items,\n customComponents: customComponents\n }));\n }) : null;\n};\n\nvar HeaderSection = function HeaderSection(_ref7) {\n var customComponents = _ref7.customComponents,\n id = _ref7.id,\n items = _ref7.items,\n nestedGroupKey = _ref7.nestedGroupKey;\n return items.length ? Object(_emotion_core__WEBPACK_IMPORTED_MODULE_11__[\"jsx\"])(_components_presentational_HeaderSection__WEBPACK_IMPORTED_MODULE_23__[\"default\"], {\n id: id,\n key: nestedGroupKey\n }, function (_ref8) {\n var className = _ref8.className;\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_11__[\"jsx\"])(\"div\", {\n className: className\n }, Object(_emotion_core__WEBPACK_IMPORTED_MODULE_11__[\"jsx\"])(TypedItemsRenderer, {\n items: items,\n customComponents: customComponents\n }));\n }) : null;\n};\n\nvar MenuSection = function MenuSection(_ref9) {\n var alwaysShowScrollHint = _ref9.alwaysShowScrollHint,\n customComponents = _ref9.customComponents,\n id = _ref9.id,\n items = _ref9.items,\n nestedGroupKey = _ref9.nestedGroupKey,\n parentId = _ref9.parentId;\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_11__[\"jsx\"])(_components_presentational_MenuSection__WEBPACK_IMPORTED_MODULE_24__[\"default\"], {\n alwaysShowScrollHint: alwaysShowScrollHint,\n id: id,\n key: nestedGroupKey,\n parentId: parentId\n }, function (_ref10) {\n var className = _ref10.className;\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_11__[\"jsx\"])(\"div\", {\n className: className\n }, Object(_emotion_core__WEBPACK_IMPORTED_MODULE_11__[\"jsx\"])(TypedItemsRenderer, {\n items: items,\n customComponents: customComponents\n }));\n });\n};\n\nvar SortableContext = function SortableContext(_ref11) {\n var customComponents = _ref11.customComponents,\n id = _ref11.id,\n items = _ref11.items,\n onDragStart = _ref11.onDragStart,\n onDragUpdate = _ref11.onDragUpdate,\n onDragEnd = _ref11.onDragEnd;\n return items && items.length ? Object(_emotion_core__WEBPACK_IMPORTED_MODULE_11__[\"jsx\"])(LazySortableContextComponent, {\n id: id,\n onDragStart: onDragStart,\n onDragUpdate: onDragUpdate,\n onDragEnd: onDragEnd\n }, Object(_emotion_core__WEBPACK_IMPORTED_MODULE_11__[\"jsx\"])(TypedItemsRenderer, {\n items: items,\n customComponents: customComponents\n })) : null;\n};\n\nvar itemComponents = {\n BackItem: _components_connected_BackItem__WEBPACK_IMPORTED_MODULE_17__[\"default\"],\n ContainerHeader: ContainerHeader,\n Debug: Debug,\n GoToItem: _components_connected_GoToItem__WEBPACK_IMPORTED_MODULE_19__[\"default\"],\n GroupHeading: GroupHeading,\n Item: _components_connected_ConnectedItem__WEBPACK_IMPORTED_MODULE_18__[\"default\"],\n SortableItem: LazySortableItem,\n SectionHeading: SectionHeading,\n Separator: _components_presentational_Separator__WEBPACK_IMPORTED_MODULE_27__[\"default\"],\n Switcher: LazySwitcher,\n Wordmark: _components_presentational_Wordmark__WEBPACK_IMPORTED_MODULE_28__[\"default\"]\n};\n\nvar renderItemComponent = function renderItemComponent(props, key, index) {\n var element = null; // We need an explicit conditional against each type for flow type refinement to work\n\n if (props.type === 'BackItem') {\n var type = props.type,\n compProps = _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_10___default()(props, [\"type\"]);\n\n element = Object(_emotion_core__WEBPACK_IMPORTED_MODULE_11__[\"jsx\"])(_components_connected_BackItem__WEBPACK_IMPORTED_MODULE_17__[\"default\"], _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_8___default()({\n key: key\n }, compProps, {\n index: index\n }));\n } else if (props.type === 'ContainerHeader') {\n var _type = props.type,\n _compProps = _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_10___default()(props, [\"type\"]);\n\n element = Object(_emotion_core__WEBPACK_IMPORTED_MODULE_11__[\"jsx\"])(ContainerHeader, _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_8___default()({\n key: key\n }, _compProps));\n } else if (props.type === 'Debug') {\n var _type2 = props.type,\n _compProps2 = _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_10___default()(props, [\"type\"]);\n\n element = Object(_emotion_core__WEBPACK_IMPORTED_MODULE_11__[\"jsx\"])(Debug, _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_8___default()({\n key: key\n }, _compProps2));\n } else if (props.type === 'GoToItem') {\n var _type3 = props.type,\n _compProps3 = _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_10___default()(props, [\"type\"]);\n\n element = Object(_emotion_core__WEBPACK_IMPORTED_MODULE_11__[\"jsx\"])(_components_connected_GoToItem__WEBPACK_IMPORTED_MODULE_19__[\"default\"], _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_8___default()({\n key: key\n }, _compProps3, {\n index: index\n }));\n } else if (props.type === 'Item') {\n var _type4 = props.type,\n _compProps4 = _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_10___default()(props, [\"type\"]);\n\n element = Object(_emotion_core__WEBPACK_IMPORTED_MODULE_11__[\"jsx\"])(_components_connected_ConnectedItem__WEBPACK_IMPORTED_MODULE_18__[\"default\"], _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_8___default()({\n key: key\n }, _compProps4, {\n index: index\n }));\n } else if (props.type === 'SortableItem') {\n var _type5 = props.type,\n _compProps5 = _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_10___default()(props, [\"type\"]);\n\n element = Object(_emotion_core__WEBPACK_IMPORTED_MODULE_11__[\"jsx\"])(LazySortableItem, _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_8___default()({\n key: key\n }, _compProps5, {\n index: index\n }));\n } else if (props.type === 'SectionHeading') {\n var _type6 = props.type,\n id = props.id,\n _compProps6 = _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_10___default()(props, [\"type\", \"id\"]);\n\n element = Object(_emotion_core__WEBPACK_IMPORTED_MODULE_11__[\"jsx\"])(SectionHeading, _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_8___default()({\n key: key\n }, _compProps6));\n } else if (props.type === 'Separator') {\n var _type7 = props.type,\n _id = props.id,\n _compProps7 = _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_10___default()(props, [\"type\", \"id\"]);\n\n element = Object(_emotion_core__WEBPACK_IMPORTED_MODULE_11__[\"jsx\"])(_components_presentational_Separator__WEBPACK_IMPORTED_MODULE_27__[\"default\"], _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_8___default()({\n key: key\n }, _compProps7));\n } else if (props.type === 'Switcher') {\n var _type8 = props.type,\n _compProps8 = _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_10___default()(props, [\"type\"]);\n\n element = Object(_emotion_core__WEBPACK_IMPORTED_MODULE_11__[\"jsx\"])(LazySwitcher, _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_8___default()({\n key: key\n }, _compProps8));\n } else if (props.type === 'Wordmark') {\n var _type9 = props.type,\n _id2 = props.id,\n _compProps9 = _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_10___default()(props, [\"type\", \"id\"]);\n\n element = Object(_emotion_core__WEBPACK_IMPORTED_MODULE_11__[\"jsx\"])(_components_presentational_Wordmark__WEBPACK_IMPORTED_MODULE_28__[\"default\"], _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_8___default()({\n key: key\n }, _compProps9));\n }\n\n return element;\n};\n\nvar groupComponents = {\n Group: Group,\n HeaderSection: HeaderSection,\n MenuSection: MenuSection,\n Section: Section,\n SortableContext: SortableContext,\n SortableGroup: SortableGroup\n};\n\nvar renderGroupComponent = function renderGroupComponent(props, key, customComponents) {\n var element = null; // We need an explicit conditional against each type for flow type refinement to work\n\n if (props.type === 'Group') {\n var type = props.type,\n compProps = _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_10___default()(props, [\"type\"]);\n\n element = Object(_emotion_core__WEBPACK_IMPORTED_MODULE_11__[\"jsx\"])(Group, _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_8___default()({\n key: key\n }, compProps, {\n customComponents: customComponents\n }));\n } else if (props.type === 'HeaderSection') {\n var _type10 = props.type,\n _compProps10 = _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_10___default()(props, [\"type\"]);\n\n element = Object(_emotion_core__WEBPACK_IMPORTED_MODULE_11__[\"jsx\"])(HeaderSection, _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_8___default()({\n key: key\n }, _compProps10, {\n customComponents: customComponents\n }));\n } else if (props.type === 'MenuSection') {\n var _type11 = props.type,\n _compProps11 = _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_10___default()(props, [\"type\"]);\n\n element = Object(_emotion_core__WEBPACK_IMPORTED_MODULE_11__[\"jsx\"])(MenuSection, _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_8___default()({\n key: key\n }, _compProps11, {\n customComponents: customComponents\n }));\n } else if (props.type === 'Section') {\n var _type12 = props.type,\n _compProps12 = _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_10___default()(props, [\"type\"]);\n\n element = Object(_emotion_core__WEBPACK_IMPORTED_MODULE_11__[\"jsx\"])(Section, _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_8___default()({\n key: key\n }, _compProps12, {\n customComponents: customComponents\n }));\n } else if (props.type === 'SortableContext') {\n var _type13 = props.type,\n _compProps13 = _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_10___default()(props, [\"type\"]);\n\n element = Object(_emotion_core__WEBPACK_IMPORTED_MODULE_11__[\"jsx\"])(SortableContext, _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_8___default()({\n key: key\n }, _compProps13, {\n customComponents: customComponents\n }));\n } else if (props.type === 'SortableGroup') {\n var _type14 = props.type,\n _compProps14 = _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_10___default()(props, [\"type\"]);\n\n element = Object(_emotion_core__WEBPACK_IMPORTED_MODULE_11__[\"jsx\"])(SortableGroup, _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_8___default()({\n key: key\n }, _compProps14, {\n customComponents: customComponents\n }));\n }\n\n return element;\n}; // Exported for testing purposes only.\n\n\nvar components = _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_7___default()({}, itemComponents, groupComponents);\n/**\n * RENDERER\n */\n\nvar TypedItemsRenderer =\n/*#__PURE__*/\nfunction (_PureComponent) {\n _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5___default()(TypedItemsRenderer, _PureComponent);\n\n function TypedItemsRenderer() {\n var _getPrototypeOf2;\n\n var _this;\n\n _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default()(this, TypedItemsRenderer);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2___default()(this, (_getPrototypeOf2 = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3___default()(TypedItemsRenderer)).call.apply(_getPrototypeOf2, [this].concat(args)));\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4___default()(_this), \"customComponentsWithAnalytics\", new Map());\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4___default()(_this), \"getCustomComponent\", function (component) {\n // cache custom components wrapped with analytics\n // to prevent re-mounting of component on re-render\n var _this$props$customCom = _this.props.customComponents,\n customComponents = _this$props$customCom === void 0 ? {} : _this$props$customCom;\n\n var cachedComponent = _this.customComponentsWithAnalytics.get(component);\n\n if (!cachedComponent) {\n cachedComponent = typeof component === 'string' ? Object(_common_analytics__WEBPACK_IMPORTED_MODULE_15__[\"navigationItemClicked\"])(customComponents[component], component) : Object(_common_analytics__WEBPACK_IMPORTED_MODULE_15__[\"navigationItemClicked\"])(component, component.displayName || 'inlineCustomComponent');\n\n _this.customComponentsWithAnalytics.set(component, cachedComponent);\n }\n\n return cachedComponent;\n });\n\n return _this;\n }\n\n _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1___default()(TypedItemsRenderer, [{\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var _this$props = this.props,\n _this$props$customCom2 = _this$props.customComponents,\n customComponents = _this$props$customCom2 === void 0 ? {} : _this$props$customCom2,\n items = _this$props.items; // We cannot destructure props.type otherwise flow type refinment does not work\n // https://github.com/facebook/flow/issues/5259\n\n return items.map(function (props, index) {\n var key = typeof props.nestedGroupKey === 'string' ? props.nestedGroupKey : props.id;\n\n if (props.type === 'InlineComponent') {\n var type = props.type,\n component = props.component,\n componentProps = _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_10___default()(props, [\"type\", \"component\"]); // If they've provided a component as the type\n\n\n var CustomComponent = _this2.getCustomComponent(props.component);\n\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_11__[\"jsx\"])(CustomComponent, _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_8___default()({\n key: key\n }, componentProps, {\n index: index // We pass our in-built components through to custom components so\n // they can wrap/render them if they want to.\n ,\n components: components,\n customComponents: customComponents\n }));\n }\n\n if (Object.keys(groupComponents).includes(props.type)) {\n // If they've provided a type which matches one of our in-built group\n // components\n return renderGroupComponent(props, key, customComponents); // If they've provided a type which matches one of our in-built item\n // components.\n }\n\n if (Object.keys(itemComponents).includes(props.type)) {\n return renderItemComponent(props, key, index);\n }\n\n if (Object.keys(customComponents).includes(props.type)) {\n var _type15 = props.type,\n _componentProps = _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_10___default()(props, [\"type\"]); // If they've provided a type which matches one of their defined custom\n // components.\n\n\n var _CustomComponent = _this2.getCustomComponent(_type15);\n\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_11__[\"jsx\"])(_CustomComponent, _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_8___default()({\n key: key\n }, _componentProps, {\n index: index // We pass our in-built components through to custom components so\n // they can wrap/render them if they want to.\n ,\n components: components,\n customComponents: customComponents\n }));\n }\n\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_11__[\"jsx\"])(Debug, _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_8___default()({\n key: key,\n type: props.type\n }, props));\n });\n }\n }]);\n\n return TypedItemsRenderer;\n}(react__WEBPACK_IMPORTED_MODULE_12__[\"PureComponent\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (TypedItemsRenderer);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS9yZW5kZXJlci9jb21wb25lbnRzLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BhdGxhc2tpdC9uYXZpZ2F0aW9uLW5leHQvZGlzdC9lc20vcmVuZGVyZXIvY29tcG9uZW50cy5qcz8zZDNmIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfY2xhc3NDYWxsQ2hlY2sgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvY2xhc3NDYWxsQ2hlY2tcIjtcbmltcG9ydCBfY3JlYXRlQ2xhc3MgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvY3JlYXRlQ2xhc3NcIjtcbmltcG9ydCBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybiBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuXCI7XG5pbXBvcnQgX2dldFByb3RvdHlwZU9mIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2dldFByb3RvdHlwZU9mXCI7XG5pbXBvcnQgX2Fzc2VydFRoaXNJbml0aWFsaXplZCBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9hc3NlcnRUaGlzSW5pdGlhbGl6ZWRcIjtcbmltcG9ydCBfaW5oZXJpdHMgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvaW5oZXJpdHNcIjtcbmltcG9ydCBfZGVmaW5lUHJvcGVydHkgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvZGVmaW5lUHJvcGVydHlcIjtcbmltcG9ydCBfb2JqZWN0U3ByZWFkIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL29iamVjdFNwcmVhZFwiO1xuaW1wb3J0IF9leHRlbmRzIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2V4dGVuZHNcIjtcbmltcG9ydCBfY3NzIGZyb20gXCJAZW1vdGlvbi9jc3NcIjtcbmltcG9ydCBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvb2JqZWN0V2l0aG91dFByb3BlcnRpZXNcIjtcbmltcG9ydCB7IGpzeCBhcyBfX19FbW90aW9uSlNYIH0gZnJvbSBcIkBlbW90aW9uL2NvcmVcIjtcbmltcG9ydCBSZWFjdCwgeyBQdXJlQ29tcG9uZW50IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IExvYWRhYmxlIGZyb20gJ3JlYWN0LWxvYWRhYmxlJztcbmltcG9ydCB7IGdyaWRTaXplIGFzIGdyaWRTaXplRm4gfSBmcm9tICdAYXRsYXNraXQvdGhlbWUvY29uc3RhbnRzJztcbmltcG9ydCB7IG5hdmlnYXRpb25JdGVtQ2xpY2tlZCB9IGZyb20gJy4uL2NvbW1vbi9hbmFseXRpY3MnO1xuaW1wb3J0IFJlbmRlckJsb2NrZXIgZnJvbSAnLi4vY29tcG9uZW50cy9jb21tb24vUmVuZGVyQmxvY2tlcic7XG5pbXBvcnQgQmFja0l0ZW0gZnJvbSAnLi4vY29tcG9uZW50cy9jb25uZWN0ZWQvQmFja0l0ZW0nO1xuaW1wb3J0IENvbm5lY3RlZEl0ZW0gZnJvbSAnLi4vY29tcG9uZW50cy9jb25uZWN0ZWQvQ29ubmVjdGVkSXRlbSc7XG5pbXBvcnQgR29Ub0l0ZW0gZnJvbSAnLi4vY29tcG9uZW50cy9jb25uZWN0ZWQvR29Ub0l0ZW0nO1xuaW1wb3J0IENvbnRhaW5lckhlYWRlckNvbXBvbmVudCBmcm9tICcuLi9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL0NvbnRhaW5lckhlYWRlcic7XG5pbXBvcnQgR3JvdXBDb21wb25lbnQgZnJvbSAnLi4vY29tcG9uZW50cy9wcmVzZW50YXRpb25hbC9Hcm91cCc7XG5pbXBvcnQgR3JvdXBIZWFkaW5nQ29tcG9uZW50IGZyb20gJy4uL2NvbXBvbmVudHMvcHJlc2VudGF0aW9uYWwvR3JvdXBIZWFkaW5nJztcbmltcG9ydCBIZWFkZXJTZWN0aW9uQ29tcG9uZW50IGZyb20gJy4uL2NvbXBvbmVudHMvcHJlc2VudGF0aW9uYWwvSGVhZGVyU2VjdGlvbic7XG5pbXBvcnQgTWVudVNlY3Rpb25Db21wb25lbnQgZnJvbSAnLi4vY29tcG9uZW50cy9wcmVzZW50YXRpb25hbC9NZW51U2VjdGlvbic7XG5pbXBvcnQgU2VjdGlvbkNvbXBvbmVudCBmcm9tICcuLi9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL1NlY3Rpb24nO1xuaW1wb3J0IFNlY3Rpb25IZWFkaW5nQ29tcG9uZW50IGZyb20gJy4uL2NvbXBvbmVudHMvcHJlc2VudGF0aW9uYWwvU2VjdGlvbkhlYWRpbmcnO1xuaW1wb3J0IFNlcGFyYXRvciBmcm9tICcuLi9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL1NlcGFyYXRvcic7XG5pbXBvcnQgV29yZG1hcmsgZnJvbSAnLi4vY29tcG9uZW50cy9wcmVzZW50YXRpb25hbC9Xb3JkbWFyayc7XG52YXIgZ3JpZFNpemUgPSBncmlkU2l6ZUZuKCk7XG5cbnZhciBsb2FkU3dpdGNoZXIgPSBmdW5jdGlvbiBsb2FkU3dpdGNoZXIoKSB7XG4gIHJldHVybiBpbXBvcnQoXG4gIC8qIHdlYnBhY2tDaHVua05hbWU6IFwiQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9hc3luYy1jaHVuay9zd2l0Y2hlclwiICovXG4gICcuLi9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL1N3aXRjaGVyJyk7XG59O1xuXG52YXIgTGF6eVN3aXRjaGVyID0gTG9hZGFibGUoe1xuICBsb2FkZXI6IGxvYWRTd2l0Y2hlcixcbiAgbG9hZGluZzogZnVuY3Rpb24gbG9hZGluZygpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufSk7XG5cbnZhciBsb2FkU29ydGFibGVDb250ZXh0Q29tcG9uZW50ID0gZnVuY3Rpb24gbG9hZFNvcnRhYmxlQ29udGV4dENvbXBvbmVudCgpIHtcbiAgcmV0dXJuIGltcG9ydChcbiAgLyogd2VicGFja0NodW5rTmFtZTogXCJAYXRsYXNraXQvbmF2aWdhdGlvbi1uZXh0L2FzeW5jLWNodW5rL3NvcnRhYmxlLWNvbnRleHQtY29tcG9uZW50XCIgKi9cbiAgJy4uL2NvbXBvbmVudHMvY29ubmVjdGVkL1NvcnRhYmxlQ29udGV4dCcpO1xufTtcblxudmFyIExhenlTb3J0YWJsZUNvbnRleHRDb21wb25lbnQgPSBMb2FkYWJsZSh7XG4gIGxvYWRlcjogbG9hZFNvcnRhYmxlQ29udGV4dENvbXBvbmVudCxcbiAgbG9hZGluZzogZnVuY3Rpb24gbG9hZGluZygpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufSk7XG5cbnZhciBsb2FkU29ydGFibGVHcm91cENvbXBvbmVudCA9IGZ1bmN0aW9uIGxvYWRTb3J0YWJsZUdyb3VwQ29tcG9uZW50KCkge1xuICByZXR1cm4gaW1wb3J0KFxuICAvKiB3ZWJwYWNrQ2h1bmtOYW1lOiBcIkBhdGxhc2tpdC9uYXZpZ2F0aW9uLW5leHQvYXN5bmMtY2h1bmsvc29ydGFibGUtZ3JvdXAtY29tcG9uZW50XCIgKi9cbiAgJy4uL2NvbXBvbmVudHMvY29ubmVjdGVkL1NvcnRhYmxlR3JvdXAnKTtcbn07XG5cbmV4cG9ydCB2YXIgTGF6eVNvcnRhYmxlR3JvdXBDb21wb25lbnQgPSBMb2FkYWJsZSh7XG4gIGxvYWRlcjogbG9hZFNvcnRhYmxlR3JvdXBDb21wb25lbnQsXG4gIGxvYWRpbmc6IGZ1bmN0aW9uIGxvYWRpbmcoKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbn0pO1xuXG52YXIgbG9hZFNvcnRhYmxlSXRlbSA9IGZ1bmN0aW9uIGxvYWRTb3J0YWJsZUl0ZW0oKSB7XG4gIHJldHVybiBpbXBvcnQoXG4gIC8qIHdlYnBhY2tDaHVua05hbWU6IFwiQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9hc3luYy1jaHVuay9zb3J0YWJsZS1pdGVtXCIgKi9cbiAgJy4uL2NvbXBvbmVudHMvY29ubmVjdGVkL1NvcnRhYmxlSXRlbScpO1xufTtcblxuZXhwb3J0IHZhciBMYXp5U29ydGFibGVJdGVtID0gTG9hZGFibGUoe1xuICBsb2FkZXI6IGxvYWRTb3J0YWJsZUl0ZW0sXG4gIGxvYWRpbmc6IGZ1bmN0aW9uIGxvYWRpbmcoKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbn0pO1xuLyoqXG4gKiBJVEVNU1xuICovXG4vLyBUaXRsZVxuXG52YXIgR3JvdXBIZWFkaW5nID0gZnVuY3Rpb24gR3JvdXBIZWFkaW5nKF9yZWYpIHtcbiAgdmFyIHRleHQgPSBfcmVmLnRleHQsXG4gICAgICBwcm9wcyA9IF9vYmplY3RXaXRob3V0UHJvcGVydGllcyhfcmVmLCBbXCJ0ZXh0XCJdKTtcblxuICByZXR1cm4gX19fRW1vdGlvbkpTWChHcm91cEhlYWRpbmdDb21wb25lbnQsIHByb3BzLCB0ZXh0KTtcbn07IC8vIFNlY3Rpb25IZWFkaW5nXG5cblxudmFyIFNlY3Rpb25IZWFkaW5nID0gZnVuY3Rpb24gU2VjdGlvbkhlYWRpbmcoX3JlZjIpIHtcbiAgdmFyIHRleHQgPSBfcmVmMi50ZXh0LFxuICAgICAgcHJvcHMgPSBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMoX3JlZjIsIFtcInRleHRcIl0pO1xuXG4gIHJldHVybiBfX19FbW90aW9uSlNYKFNlY3Rpb25IZWFkaW5nQ29tcG9uZW50LCBwcm9wcywgdGV4dCk7XG59OyAvLyBDb250YWluZXJIZWFkZXJcblxuXG52YXIgQ29udGFpbmVySGVhZGVyID0gZnVuY3Rpb24gQ29udGFpbmVySGVhZGVyKHByb3BzKSB7XG4gIHJldHVybiAoLy8gLTJweCBoZXJlIHRvIGFjY291bnQgZm9yIHRoZSBleHRyYSBzcGFjZSBhdCB0aGUgdG9wIG9mIGEgTWVudVNlY3Rpb24gZm9yXG4gICAgLy8gdGhlIHNjcm9sbCBoaW50LlxuICAgIF9fX0Vtb3Rpb25KU1goXCJkaXZcIiwge1xuICAgICAgY3NzOlxuICAgICAgLyojX19QVVJFX18qL1xuICAgICAgX2Nzcyh7XG4gICAgICAgIHBhZGRpbmdCb3R0b206IGdyaWRTaXplICogMi41IC0gMlxuICAgICAgfSwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8gXCJcIiA6IFwiLyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWk0dUx5NHVMeTR1TDNOeVl5OXlaVzVrWlhKbGNpOWpiMjF3YjI1bGJuUnpMbXB6SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVRKRlR5SXNJbVpwYkdVaU9pSXVMaTh1TGk4dUxpOXpjbU12Y21WdVpHVnlaWEl2WTI5dGNHOXVaVzUwY3k1cWN5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJbWx0Y0c5eWRDQlNaV0ZqZEN3Z2V5QlFkWEpsUTI5dGNHOXVaVzUwSUgwZ1puSnZiU0FuY21WaFkzUW5PMXh1WEc1cGJYQnZjblFnVEc5aFpHRmliR1VnWm5KdmJTQW5jbVZoWTNRdGJHOWhaR0ZpYkdVbk8xeHVYRzVwYlhCdmNuUWdleUJuY21sa1UybDZaU0JoY3lCbmNtbGtVMmw2WlVadUlIMGdabkp2YlNBblFHRjBiR0Z6YTJsMEwzUm9aVzFsTDJOdmJuTjBZVzUwY3ljN1hHNWNibWx0Y0c5eWRDQjdJRzVoZG1sbllYUnBiMjVKZEdWdFEyeHBZMnRsWkNCOUlHWnliMjBnSnk0dUwyTnZiVzF2Ymk5aGJtRnNlWFJwWTNNbk8xeHVhVzF3YjNKMElGSmxibVJsY2tKc2IyTnJaWElnWm5KdmJTQW5MaTR2WTI5dGNHOXVaVzUwY3k5amIyMXRiMjR2VW1WdVpHVnlRbXh2WTJ0bGNpYzdYRzVwYlhCdmNuUWdRbUZqYTBsMFpXMGdabkp2YlNBbkxpNHZZMjl0Y0c5dVpXNTBjeTlqYjI1dVpXTjBaV1F2UW1GamEwbDBaVzBuTzF4dWFXMXdiM0owSUVOdmJtNWxZM1JsWkVsMFpXMGdabkp2YlNBbkxpNHZZMjl0Y0c5dVpXNTBjeTlqYjI1dVpXTjBaV1F2UTI5dWJtVmpkR1ZrU1hSbGJTYzdYRzVwYlhCdmNuUWdSMjlVYjBsMFpXMGdabkp2YlNBbkxpNHZZMjl0Y0c5dVpXNTBjeTlqYjI1dVpXTjBaV1F2UjI5VWIwbDBaVzBuTzF4dWFXMXdiM0owSUVOdmJuUmhhVzVsY2tobFlXUmxja052YlhCdmJtVnVkQ0JtY205dElDY3VMaTlqYjIxd2IyNWxiblJ6TDNCeVpYTmxiblJoZEdsdmJtRnNMME52Ym5SaGFXNWxja2hsWVdSbGNpYzdYRzVwYlhCdmNuUWdSM0p2ZFhCRGIyMXdiMjVsYm5RZ1puSnZiU0FuTGk0dlkyOXRjRzl1Wlc1MGN5OXdjbVZ6Wlc1MFlYUnBiMjVoYkM5SGNtOTFjQ2M3WEc1cGJYQnZjblFnUjNKdmRYQklaV0ZrYVc1blEyOXRjRzl1Wlc1MElHWnliMjBnSnk0dUwyTnZiWEJ2Ym1WdWRITXZjSEpsYzJWdWRHRjBhVzl1WVd3dlIzSnZkWEJJWldGa2FXNW5KenRjYm1sdGNHOXlkQ0JJWldGa1pYSlRaV04wYVc5dVEyOXRjRzl1Wlc1MElHWnliMjBnSnk0dUwyTnZiWEJ2Ym1WdWRITXZjSEpsYzJWdWRHRjBhVzl1WVd3dlNHVmhaR1Z5VTJWamRHbHZiaWM3WEc1cGJYQnZjblFnVFdWdWRWTmxZM1JwYjI1RGIyMXdiMjVsYm5RZ1puSnZiU0FuTGk0dlkyOXRjRzl1Wlc1MGN5OXdjbVZ6Wlc1MFlYUnBiMjVoYkM5TlpXNTFVMlZqZEdsdmJpYzdYRzVwYlhCdmNuUWdVMlZqZEdsdmJrTnZiWEJ2Ym1WdWRDQm1jbTl0SUNjdUxpOWpiMjF3YjI1bGJuUnpMM0J5WlhObGJuUmhkR2x2Ym1Gc0wxTmxZM1JwYjI0bk8xeHVhVzF3YjNKMElGTmxZM1JwYjI1SVpXRmthVzVuUTI5dGNHOXVaVzUwSUdaeWIyMGdKeTR1TDJOdmJYQnZibVZ1ZEhNdmNISmxjMlZ1ZEdGMGFXOXVZV3d2VTJWamRHbHZia2hsWVdScGJtY25PMXh1YVcxd2IzSjBJRk5sY0dGeVlYUnZjaUJtY205dElDY3VMaTlqYjIxd2IyNWxiblJ6TDNCeVpYTmxiblJoZEdsdmJtRnNMMU5sY0dGeVlYUnZjaWM3WEc1cGJYQnZjblFnVjI5eVpHMWhjbXNnWm5KdmJTQW5MaTR2WTI5dGNHOXVaVzUwY3k5d2NtVnpaVzUwWVhScGIyNWhiQzlYYjNKa2JXRnlheWM3WEc1Y2JtTnZibk4wSUdkeWFXUlRhWHBsSUQwZ1ozSnBaRk5wZW1WR2JpZ3BPMXh1WTI5dWMzUWdiRzloWkZOM2FYUmphR1Z5SUQwZ0tDa2dQVDVjYmlBZ2FXMXdiM0owS0Z4dUlDQWdJQzhxSUhkbFluQmhZMnREYUhWdWEwNWhiV1U2SUZ3aVFHRjBiR0Z6YTJsMEwyNWhkbWxuWVhScGIyNHRibVY0ZEM5aGMzbHVZeTFqYUhWdWF5OXpkMmwwWTJobGNsd2lJQ292SUNjdUxpOWpiMjF3YjI1bGJuUnpMM0J5WlhObGJuUmhkR2x2Ym1Gc0wxTjNhWFJqYUdWeUoxeHVJQ0FwTzF4dVkyOXVjM1FnVEdGNmVWTjNhWFJqYUdWeUlEMGdURzloWkdGaWJHVW9lMXh1SUNCc2IyRmtaWEk2SUd4dllXUlRkMmwwWTJobGNpeGNiaUFnYkc5aFpHbHVaem9nS0NrZ1BUNGdiblZzYkN4Y2JuMHBPMXh1WEc1amIyNXpkQ0JzYjJGa1UyOXlkR0ZpYkdWRGIyNTBaWGgwUTI5dGNHOXVaVzUwSUQwZ0tDa2dQVDVjYmlBZ2FXMXdiM0owS0Z4dUlDQWdJQzhxSUhkbFluQmhZMnREYUhWdWEwNWhiV1U2SUZ3aVFHRjBiR0Z6YTJsMEwyNWhkbWxuWVhScGIyNHRibVY0ZEM5aGMzbHVZeTFqYUhWdWF5OXpiM0owWVdKc1pTMWpiMjUwWlhoMExXTnZiWEJ2Ym1WdWRGd2lJQ292SUNjdUxpOWpiMjF3YjI1bGJuUnpMMk52Ym01bFkzUmxaQzlUYjNKMFlXSnNaVU52Ym5SbGVIUW5YRzRnSUNrN1hHNWpiMjV6ZENCTVlYcDVVMjl5ZEdGaWJHVkRiMjUwWlhoMFEyOXRjRzl1Wlc1MElEMGdURzloWkdGaWJHVW9lMXh1SUNCc2IyRmtaWEk2SUd4dllXUlRiM0owWVdKc1pVTnZiblJsZUhSRGIyMXdiMjVsYm5Rc1hHNGdJR3h2WVdScGJtYzZJQ2dwSUQwK0lHNTFiR3dzWEc1OUtUdGNibHh1WTI5dWMzUWdiRzloWkZOdmNuUmhZbXhsUjNKdmRYQkRiMjF3YjI1bGJuUWdQU0FvS1NBOVBseHVJQ0JwYlhCdmNuUW9YRzRnSUNBZ0x5b2dkMlZpY0dGamEwTm9kVzVyVG1GdFpUb2dYQ0pBWVhSc1lYTnJhWFF2Ym1GMmFXZGhkR2x2YmkxdVpYaDBMMkZ6ZVc1akxXTm9kVzVyTDNOdmNuUmhZbXhsTFdkeWIzVndMV052YlhCdmJtVnVkRndpSUNvdklDY3VMaTlqYjIxd2IyNWxiblJ6TDJOdmJtNWxZM1JsWkM5VGIzSjBZV0pzWlVkeWIzVndKMXh1SUNBcE8xeHVaWGh3YjNKMElHTnZibk4wSUV4aGVubFRiM0owWVdKc1pVZHliM1Z3UTI5dGNHOXVaVzUwSUQwZ1RHOWhaR0ZpYkdVb2UxeHVJQ0JzYjJGa1pYSTZJR3h2WVdSVGIzSjBZV0pzWlVkeWIzVndRMjl0Y0c5dVpXNTBMRnh1SUNCc2IyRmthVzVuT2lBb0tTQTlQaUJ1ZFd4c0xGeHVmU2s3WEc1Y2JtTnZibk4wSUd4dllXUlRiM0owWVdKc1pVbDBaVzBnUFNBb0tTQTlQbHh1SUNCcGJYQnZjblFvWEc0Z0lDQWdMeW9nZDJWaWNHRmphME5vZFc1clRtRnRaVG9nWENKQVlYUnNZWE5yYVhRdmJtRjJhV2RoZEdsdmJpMXVaWGgwTDJGemVXNWpMV05vZFc1ckwzTnZjblJoWW14bExXbDBaVzFjSWlBcUx5QW5MaTR2WTI5dGNHOXVaVzUwY3k5amIyNXVaV04wWldRdlUyOXlkR0ZpYkdWSmRHVnRKMXh1SUNBcE8xeHVaWGh3YjNKMElHTnZibk4wSUV4aGVubFRiM0owWVdKc1pVbDBaVzBnUFNCTWIyRmtZV0pzWlNoN1hHNGdJR3h2WVdSbGNqb2diRzloWkZOdmNuUmhZbXhsU1hSbGJTeGNiaUFnYkc5aFpHbHVaem9nS0NrZ1BUNGdiblZzYkN4Y2JuMHBPMXh1THlvcVhHNGdLaUJKVkVWTlUxeHVJQ292WEc1Y2JpOHZJRlJwZEd4bFhHNWpiMjV6ZENCSGNtOTFjRWhsWVdScGJtY2dQU0FvZXlCMFpYaDBMQ0F1TGk1d2NtOXdjeUI5S1NBOVBpQW9YRzRnSUR4SGNtOTFjRWhsWVdScGJtZERiMjF3YjI1bGJuUWdleTR1TG5CeWIzQnpmVDU3ZEdWNGRIMDhMMGR5YjNWd1NHVmhaR2x1WjBOdmJYQnZibVZ1ZEQ1Y2JpazdYRzVjYmk4dklGTmxZM1JwYjI1SVpXRmthVzVuWEc1amIyNXpkQ0JUWldOMGFXOXVTR1ZoWkdsdVp5QTlJQ2g3SUhSbGVIUXNJQzR1TG5CeWIzQnpJSDBwSUQwK0lDaGNiaUFnUEZObFkzUnBiMjVJWldGa2FXNW5RMjl0Y0c5dVpXNTBJSHN1TGk1d2NtOXdjMzArZTNSbGVIUjlQQzlUWldOMGFXOXVTR1ZoWkdsdVowTnZiWEJ2Ym1WdWRENWNiaWs3WEc1Y2JpOHZJRU52Ym5SaGFXNWxja2hsWVdSbGNseHVZMjl1YzNRZ1EyOXVkR0ZwYm1WeVNHVmhaR1Z5SUQwZ2NISnZjSE1nUFQ0Z0tGeHVJQ0F2THlBdE1uQjRJR2hsY21VZ2RHOGdZV05qYjNWdWRDQm1iM0lnZEdobElHVjRkSEpoSUhOd1lXTmxJR0YwSUhSb1pTQjBiM0FnYjJZZ1lTQk5aVzUxVTJWamRHbHZiaUJtYjNKY2JpQWdMeThnZEdobElITmpjbTlzYkNCb2FXNTBMbHh1SUNBOFpHbDJJR056Y3oxN2V5QndZV1JrYVc1blFtOTBkRzl0T2lCbmNtbGtVMmw2WlNBcUlESXVOU0F0SURJZ2ZYMCtYRzRnSUNBZ1BFTnZiblJoYVc1bGNraGxZV1JsY2tOdmJYQnZibVZ1ZENCN0xpNHVjSEp2Y0hOOUlDOCtYRzRnSUR3dlpHbDJQbHh1S1R0Y2JseHVZMjl1YzNRZ1JHVmlkV2NnUFNCd2NtOXdjeUE5UGlBb1hHNGdJRHh3Y21WY2JpQWdJQ0JqYzNNOWUzdGNiaUFnSUNBZ0lHSmhZMnRuY205MWJtUkRiMnh2Y2pvZ0ozSm5ZbUVvTUN3Z01Dd2dNQ3dnTUM0eEtTY3NYRzRnSUNBZ0lDQm1iMjUwVTJsNlpUb2dKekV3Y0hnbkxGeHVJQ0FnSUNBZ2IzWmxjbVpzYjNkWU9pQW5ZWFYwYnljc1hHNGdJQ0FnSUNCd1lXUmthVzVuT2lCZ0pIdG5jbWxrVTJsNlpTQXZJREo5Y0hoZ0xGeHVJQ0FnSUgxOVhHNGdJRDVjYmlBZ0lDQjdTbE5QVGk1emRISnBibWRwWm5rb2NISnZjSE1zSUc1MWJHd3NJRElwZlZ4dUlDQThMM0J5WlQ1Y2JpazdYRzVjYmk4cUtseHVJQ29nUjFKUFZWQlRYRzRnS2k5Y2JseHVMeThnUjNKdmRYQmNibU52Ym5OMElFZHliM1Z3SUQwZ0tIc2dZM1Z6ZEc5dFEyOXRjRzl1Wlc1MGN5d2dhR0Z6VTJWd1lYSmhkRzl5TENCb1pXRmthVzVuTENCcGRHVnRjeXdnYVdRZ2ZTa2dQVDVjYmlBZ2FYUmxiWE11YkdWdVozUm9JRDhnS0Z4dUlDQWdJRHhIY205MWNFTnZiWEJ2Ym1WdWRDQm9aV0ZrYVc1blBYdG9aV0ZrYVc1bmZTQm9ZWE5UWlhCaGNtRjBiM0k5ZTJoaGMxTmxjR0Z5WVhSdmNuMGdhV1E5ZTJsa2ZUNWNiaUFnSUNBZ0lEeFVlWEJsWkVsMFpXMXpVbVZ1WkdWeVpYSWdhWFJsYlhNOWUybDBaVzF6ZlNCamRYTjBiMjFEYjIxd2IyNWxiblJ6UFh0amRYTjBiMjFEYjIxd2IyNWxiblJ6ZlNBdlBseHVJQ0FnSUR3dlIzSnZkWEJEYjIxd2IyNWxiblErWEc0Z0lDa2dPaUJ1ZFd4c08xeHVYRzVqYjI1emRDQlRiM0owWVdKc1pVZHliM1Z3SUQwZ0tIdGNiaUFnWTNWemRHOXRRMjl0Y0c5dVpXNTBjeXhjYmlBZ2FHRnpVMlZ3WVhKaGRHOXlMRnh1SUNCb1pXRmthVzVuTEZ4dUlDQnBkR1Z0Y3l4Y2JpQWdhV1FzWEc1OUtTQTlQbHh1SUNCcGRHVnRjeUFtSmlCcGRHVnRjeTVzWlc1bmRHZ2dQeUFvWEc0Z0lDQWdQRXhoZW5sVGIzSjBZV0pzWlVkeWIzVndRMjl0Y0c5dVpXNTBYRzRnSUNBZ0lDQm9aV0ZrYVc1blBYdG9aV0ZrYVc1bmZWeHVJQ0FnSUNBZ2FHRnpVMlZ3WVhKaGRHOXlQWHRvWVhOVFpYQmhjbUYwYjNKOVhHNGdJQ0FnSUNCcFpEMTdhV1I5WEc0Z0lDQWdQbHh1SUNBZ0lDQWdQRkpsYm1SbGNrSnNiMk5yWlhJZ2FYUmxiWE05ZTJsMFpXMXpmU0JqZFhOMGIyMURiMjF3YjI1bGJuUnpQWHRqZFhOMGIyMURiMjF3YjI1bGJuUnpmVDVjYmlBZ0lDQWdJQ0FnUEZSNWNHVmtTWFJsYlhOU1pXNWtaWEpsY2lCcGRHVnRjejE3YVhSbGJYTjlJR04xYzNSdmJVTnZiWEJ2Ym1WdWRITTllMk4xYzNSdmJVTnZiWEJ2Ym1WdWRITjlJQzgrWEc0Z0lDQWdJQ0E4TDFKbGJtUmxja0pzYjJOclpYSStYRzRnSUNBZ1BDOU1ZWHA1VTI5eWRHRmliR1ZIY205MWNFTnZiWEJ2Ym1WdWRENWNiaUFnS1NBNklHNTFiR3c3WEc1Y2JpOHZJRk5sWTNScGIyNWNibU52Ym5OMElGTmxZM1JwYjI0Z1BTQW9lMXh1SUNCaGJIZGhlWE5UYUc5M1UyTnliMnhzU0dsdWRDQTlJR1poYkhObExGeHVJQ0JqZFhOMGIyMURiMjF3YjI1bGJuUnpMRnh1SUNCcFpDeGNiaUFnYVhSbGJYTXNYRzRnSUc1bGMzUmxaRWR5YjNWd1MyVjVMRnh1SUNCd1lYSmxiblJKWkN4Y2JpQWdjMmh2ZFd4a1IzSnZkeXhjYm4wcElEMCtYRzRnSUdsMFpXMXpMbXhsYm1kMGFDQS9JQ2hjYmlBZ0lDQThVMlZqZEdsdmJrTnZiWEJ2Ym1WdWRGeHVJQ0FnSUNBZ1lXeDNZWGx6VTJodmQxTmpjbTlzYkVocGJuUTllMkZzZDJGNWMxTm9iM2RUWTNKdmJHeElhVzUwZlZ4dUlDQWdJQ0FnYVdROWUybGtmVnh1SUNBZ0lDQWdhMlY1UFh0dVpYTjBaV1JIY205MWNFdGxlWDFjYmlBZ0lDQWdJSEJoY21WdWRFbGtQWHR3WVhKbGJuUkpaSDFjYmlBZ0lDQWdJSE5vYjNWc1pFZHliM2M5ZTNOb2IzVnNaRWR5YjNkOVhHNGdJQ0FnUGx4dUlDQWdJQ0FnZXloN0lHTnNZWE56VG1GdFpTQjlLU0E5UGlBb1hHNGdJQ0FnSUNBZ0lEeGthWFlnWTJ4aGMzTk9ZVzFsUFh0amJHRnpjMDVoYldWOVBseHVJQ0FnSUNBZ0lDQWdJRHhVZVhCbFpFbDBaVzF6VW1WdVpHVnlaWEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHbDBaVzF6UFh0cGRHVnRjMzFjYmlBZ0lDQWdJQ0FnSUNBZ0lHTjFjM1J2YlVOdmJYQnZibVZ1ZEhNOWUyTjFjM1J2YlVOdmJYQnZibVZ1ZEhOOVhHNGdJQ0FnSUNBZ0lDQWdMejVjYmlBZ0lDQWdJQ0FnUEM5a2FYWStYRzRnSUNBZ0lDQXBmVnh1SUNBZ0lEd3ZVMlZqZEdsdmJrTnZiWEJ2Ym1WdWRENWNiaUFnS1NBNklHNTFiR3c3WEc1Y2JtTnZibk4wSUVobFlXUmxjbE5sWTNScGIyNGdQU0FvZXlCamRYTjBiMjFEYjIxd2IyNWxiblJ6TENCcFpDd2dhWFJsYlhNc0lHNWxjM1JsWkVkeWIzVndTMlY1SUgwcElEMCtYRzRnSUdsMFpXMXpMbXhsYm1kMGFDQS9JQ2hjYmlBZ0lDQThTR1ZoWkdWeVUyVmpkR2x2YmtOdmJYQnZibVZ1ZENCcFpEMTdhV1I5SUd0bGVUMTdibVZ6ZEdWa1IzSnZkWEJMWlhsOVBseHVJQ0FnSUNBZ2V5aDdJR05zWVhOelRtRnRaU0I5S1NBOVBpQW9YRzRnSUNBZ0lDQWdJRHhrYVhZZ1kyeGhjM05PWVcxbFBYdGpiR0Z6YzA1aGJXVjlQbHh1SUNBZ0lDQWdJQ0FnSUR4VWVYQmxaRWwwWlcxelVtVnVaR1Z5WlhKY2JpQWdJQ0FnSUNBZ0lDQWdJR2wwWlcxelBYdHBkR1Z0YzMxY2JpQWdJQ0FnSUNBZ0lDQWdJR04xYzNSdmJVTnZiWEJ2Ym1WdWRITTllMk4xYzNSdmJVTnZiWEJ2Ym1WdWRITjlYRzRnSUNBZ0lDQWdJQ0FnTHo1Y2JpQWdJQ0FnSUNBZ1BDOWthWFkrWEc0Z0lDQWdJQ0FwZlZ4dUlDQWdJRHd2U0dWaFpHVnlVMlZqZEdsdmJrTnZiWEJ2Ym1WdWRENWNiaUFnS1NBNklHNTFiR3c3WEc1Y2JtTnZibk4wSUUxbGJuVlRaV04wYVc5dUlEMGdLSHRjYmlBZ1lXeDNZWGx6VTJodmQxTmpjbTlzYkVocGJuUXNYRzRnSUdOMWMzUnZiVU52YlhCdmJtVnVkSE1zWEc0Z0lHbGtMRnh1SUNCcGRHVnRjeXhjYmlBZ2JtVnpkR1ZrUjNKdmRYQkxaWGtzWEc0Z0lIQmhjbVZ1ZEVsa0xGeHVmU2tnUFQ0Z0tGeHVJQ0E4VFdWdWRWTmxZM1JwYjI1RGIyMXdiMjVsYm5SY2JpQWdJQ0JoYkhkaGVYTlRhRzkzVTJOeWIyeHNTR2x1ZEQxN1lXeDNZWGx6VTJodmQxTmpjbTlzYkVocGJuUjlYRzRnSUNBZ2FXUTllMmxrZlZ4dUlDQWdJR3RsZVQxN2JtVnpkR1ZrUjNKdmRYQkxaWGw5WEc0Z0lDQWdjR0Z5Wlc1MFNXUTllM0JoY21WdWRFbGtmVnh1SUNBK1hHNGdJQ0FnZXloN0lHTnNZWE56VG1GdFpTQjlLU0E5UGlBb1hHNGdJQ0FnSUNBOFpHbDJJR05zWVhOelRtRnRaVDE3WTJ4aGMzTk9ZVzFsZlQ1Y2JpQWdJQ0FnSUNBZ1BGUjVjR1ZrU1hSbGJYTlNaVzVrWlhKbGNpQnBkR1Z0Y3oxN2FYUmxiWE45SUdOMWMzUnZiVU52YlhCdmJtVnVkSE05ZTJOMWMzUnZiVU52YlhCdmJtVnVkSE45SUM4K1hHNGdJQ0FnSUNBOEwyUnBkajVjYmlBZ0lDQXBmVnh1SUNBOEwwMWxiblZUWldOMGFXOXVRMjl0Y0c5dVpXNTBQbHh1S1R0Y2JseHVZMjl1YzNRZ1UyOXlkR0ZpYkdWRGIyNTBaWGgwSUQwZ0tIdGNiaUFnWTNWemRHOXRRMjl0Y0c5dVpXNTBjeXhjYmlBZ2FXUXNYRzRnSUdsMFpXMXpMRnh1SUNCdmJrUnlZV2RUZEdGeWRDeGNiaUFnYjI1RWNtRm5WWEJrWVhSbExGeHVJQ0J2YmtSeVlXZEZibVFzWEc1OUtTQTlQbHh1SUNCcGRHVnRjeUFtSmlCcGRHVnRjeTVzWlc1bmRHZ2dQeUFvWEc0Z0lDQWdQRXhoZW5sVGIzSjBZV0pzWlVOdmJuUmxlSFJEYjIxd2IyNWxiblJjYmlBZ0lDQWdJR2xrUFh0cFpIMWNiaUFnSUNBZ0lHOXVSSEpoWjFOMFlYSjBQWHR2YmtSeVlXZFRkR0Z5ZEgxY2JpQWdJQ0FnSUc5dVJISmhaMVZ3WkdGMFpUMTdiMjVFY21GblZYQmtZWFJsZlZ4dUlDQWdJQ0FnYjI1RWNtRm5SVzVrUFh0dmJrUnlZV2RGYm1SOVhHNGdJQ0FnUGx4dUlDQWdJQ0FnUEZSNWNHVmtTWFJsYlhOU1pXNWtaWEpsY2lCcGRHVnRjejE3YVhSbGJYTjlJR04xYzNSdmJVTnZiWEJ2Ym1WdWRITTllMk4xYzNSdmJVTnZiWEJ2Ym1WdWRITjlJQzgrWEc0Z0lDQWdQQzlNWVhwNVUyOXlkR0ZpYkdWRGIyNTBaWGgwUTI5dGNHOXVaVzUwUGx4dUlDQXBJRG9nYm5Wc2JEdGNibHh1WTI5dWMzUWdhWFJsYlVOdmJYQnZibVZ1ZEhNZ1BTQjdYRzRnSUVKaFkydEpkR1Z0TEZ4dUlDQkRiMjUwWVdsdVpYSklaV0ZrWlhJc1hHNGdJRVJsWW5WbkxGeHVJQ0JIYjFSdlNYUmxiU3hjYmlBZ1IzSnZkWEJJWldGa2FXNW5MRnh1SUNCSmRHVnRPaUJEYjI1dVpXTjBaV1JKZEdWdExGeHVJQ0JUYjNKMFlXSnNaVWwwWlcwNklFeGhlbmxUYjNKMFlXSnNaVWwwWlcwc1hHNGdJRk5sWTNScGIyNUlaV0ZrYVc1bkxGeHVJQ0JUWlhCaGNtRjBiM0lzWEc0Z0lGTjNhWFJqYUdWeU9pQk1ZWHA1VTNkcGRHTm9aWElzWEc0Z0lGZHZjbVJ0WVhKckxGeHVmVHRjYmx4dVkyOXVjM1FnY21WdVpHVnlTWFJsYlVOdmJYQnZibVZ1ZENBOUlDaHdjbTl3Y3l3Z2EyVjVMQ0JwYm1SbGVDa2dQVDRnZTF4dUlDQnNaWFFnWld4bGJXVnVkQ0E5SUc1MWJHdzdYRzRnSUM4dklGZGxJRzVsWldRZ1lXNGdaWGh3YkdsamFYUWdZMjl1WkdsMGFXOXVZV3dnWVdkaGFXNXpkQ0JsWVdOb0lIUjVjR1VnWm05eUlHWnNiM2NnZEhsd1pTQnlaV1pwYm1WdFpXNTBJSFJ2SUhkdmNtdGNiaUFnYVdZZ0tIQnliM0J6TG5SNWNHVWdQVDA5SUNkQ1lXTnJTWFJsYlNjcElIdGNiaUFnSUNCamIyNXpkQ0I3SUhSNWNHVXNJQzR1TG1OdmJYQlFjbTl3Y3lCOUlEMGdjSEp2Y0hNN1hHNGdJQ0FnWld4bGJXVnVkQ0E5SUR4Q1lXTnJTWFJsYlNCclpYazllMnRsZVgwZ2V5NHVMbU52YlhCUWNtOXdjMzBnYVc1a1pYZzllMmx1WkdWNGZTQXZQanRjYmlBZ2ZTQmxiSE5sSUdsbUlDaHdjbTl3Y3k1MGVYQmxJRDA5UFNBblEyOXVkR0ZwYm1WeVNHVmhaR1Z5SnlrZ2UxeHVJQ0FnSUdOdmJuTjBJSHNnZEhsd1pTd2dMaTR1WTI5dGNGQnliM0J6SUgwZ1BTQndjbTl3Y3p0Y2JpQWdJQ0JsYkdWdFpXNTBJRDBnUEVOdmJuUmhhVzVsY2tobFlXUmxjaUJyWlhrOWUydGxlWDBnZXk0dUxtTnZiWEJRY205d2MzMGdMejQ3WEc0Z0lIMGdaV3h6WlNCcFppQW9jSEp2Y0hNdWRIbHdaU0E5UFQwZ0owUmxZblZuSnlrZ2UxeHVJQ0FnSUdOdmJuTjBJSHNnZEhsd1pTd2dMaTR1WTI5dGNGQnliM0J6SUgwZ1BTQndjbTl3Y3p0Y2JpQWdJQ0JsYkdWdFpXNTBJRDBnUEVSbFluVm5JR3RsZVQxN2EyVjVmU0I3TGk0dVkyOXRjRkJ5YjNCemZTQXZQanRjYmlBZ2ZTQmxiSE5sSUdsbUlDaHdjbTl3Y3k1MGVYQmxJRDA5UFNBblIyOVViMGwwWlcwbktTQjdYRzRnSUNBZ1kyOXVjM1FnZXlCMGVYQmxMQ0F1TGk1amIyMXdVSEp2Y0hNZ2ZTQTlJSEJ5YjNCek8xeHVJQ0FnSUdWc1pXMWxiblFnUFNBOFIyOVViMGwwWlcwZ2EyVjVQWHRyWlhsOUlIc3VMaTVqYjIxd1VISnZjSE45SUdsdVpHVjRQWHRwYm1SbGVIMGdMejQ3WEc0Z0lIMGdaV3h6WlNCcFppQW9jSEp2Y0hNdWRIbHdaU0E5UFQwZ0owbDBaVzBuS1NCN1hHNGdJQ0FnWTI5dWMzUWdleUIwZVhCbExDQXVMaTVqYjIxd1VISnZjSE1nZlNBOUlIQnliM0J6TzF4dUlDQWdJR1ZzWlcxbGJuUWdQU0E4UTI5dWJtVmpkR1ZrU1hSbGJTQnJaWGs5ZTJ0bGVYMGdleTR1TG1OdmJYQlFjbTl3YzMwZ2FXNWtaWGc5ZTJsdVpHVjRmU0F2UGp0Y2JpQWdmU0JsYkhObElHbG1JQ2h3Y205d2N5NTBlWEJsSUQwOVBTQW5VMjl5ZEdGaWJHVkpkR1Z0SnlrZ2UxeHVJQ0FnSUdOdmJuTjBJSHNnZEhsd1pTd2dMaTR1WTI5dGNGQnliM0J6SUgwZ1BTQndjbTl3Y3p0Y2JpQWdJQ0JsYkdWdFpXNTBJRDBnUEV4aGVubFRiM0owWVdKc1pVbDBaVzBnYTJWNVBYdHJaWGw5SUhzdUxpNWpiMjF3VUhKdmNITjlJR2x1WkdWNFBYdHBibVJsZUgwZ0x6NDdYRzRnSUgwZ1pXeHpaU0JwWmlBb2NISnZjSE11ZEhsd1pTQTlQVDBnSjFObFkzUnBiMjVJWldGa2FXNW5KeWtnZTF4dUlDQWdJR052Ym5OMElIc2dkSGx3WlN3Z2FXUXNJQzR1TG1OdmJYQlFjbTl3Y3lCOUlEMGdjSEp2Y0hNN1hHNGdJQ0FnWld4bGJXVnVkQ0E5SUR4VFpXTjBhVzl1U0dWaFpHbHVaeUJyWlhrOWUydGxlWDBnZXk0dUxtTnZiWEJRY205d2MzMGdMejQ3WEc0Z0lIMGdaV3h6WlNCcFppQW9jSEp2Y0hNdWRIbHdaU0E5UFQwZ0oxTmxjR0Z5WVhSdmNpY3BJSHRjYmlBZ0lDQmpiMjV6ZENCN0lIUjVjR1VzSUdsa0xDQXVMaTVqYjIxd1VISnZjSE1nZlNBOUlIQnliM0J6TzF4dUlDQWdJR1ZzWlcxbGJuUWdQU0E4VTJWd1lYSmhkRzl5SUd0bGVUMTdhMlY1ZlNCN0xpNHVZMjl0Y0ZCeWIzQnpmU0F2UGp0Y2JpQWdmU0JsYkhObElHbG1JQ2h3Y205d2N5NTBlWEJsSUQwOVBTQW5VM2RwZEdOb1pYSW5LU0I3WEc0Z0lDQWdZMjl1YzNRZ2V5QjBlWEJsTENBdUxpNWpiMjF3VUhKdmNITWdmU0E5SUhCeWIzQnpPMXh1SUNBZ0lHVnNaVzFsYm5RZ1BTQThUR0Y2ZVZOM2FYUmphR1Z5SUd0bGVUMTdhMlY1ZlNCN0xpNHVZMjl0Y0ZCeWIzQnpmU0F2UGp0Y2JpQWdmU0JsYkhObElHbG1JQ2h3Y205d2N5NTBlWEJsSUQwOVBTQW5WMjl5WkcxaGNtc25LU0I3WEc0Z0lDQWdZMjl1YzNRZ2V5QjBlWEJsTENCcFpDd2dMaTR1WTI5dGNGQnliM0J6SUgwZ1BTQndjbTl3Y3p0Y2JpQWdJQ0JsYkdWdFpXNTBJRDBnUEZkdmNtUnRZWEpySUd0bGVUMTdhMlY1ZlNCN0xpNHVZMjl0Y0ZCeWIzQnpmU0F2UGp0Y2JpQWdmVnh1WEc0Z0lISmxkSFZ5YmlCbGJHVnRaVzUwTzF4dWZUdGNibHh1WTI5dWMzUWdaM0p2ZFhCRGIyMXdiMjVsYm5SeklEMGdlMXh1SUNCSGNtOTFjQ3hjYmlBZ1NHVmhaR1Z5VTJWamRHbHZiaXhjYmlBZ1RXVnVkVk5sWTNScGIyNHNYRzRnSUZObFkzUnBiMjRzWEc0Z0lGTnZjblJoWW14bFEyOXVkR1Y0ZEN4Y2JpQWdVMjl5ZEdGaWJHVkhjbTkxY0N4Y2JuMDdYRzVjYm1OdmJuTjBJSEpsYm1SbGNrZHliM1Z3UTI5dGNHOXVaVzUwSUQwZ0tIQnliM0J6TENCclpYa3NJR04xYzNSdmJVTnZiWEJ2Ym1WdWRITXBJRDArSUh0Y2JpQWdiR1YwSUdWc1pXMWxiblFnUFNCdWRXeHNPMXh1SUNBdkx5QlhaU0J1WldWa0lHRnVJR1Y0Y0d4cFkybDBJR052Ym1ScGRHbHZibUZzSUdGbllXbHVjM1FnWldGamFDQjBlWEJsSUdadmNpQm1iRzkzSUhSNWNHVWdjbVZtYVc1bGJXVnVkQ0IwYnlCM2IzSnJYRzRnSUdsbUlDaHdjbTl3Y3k1MGVYQmxJRDA5UFNBblIzSnZkWEFuS1NCN1hHNGdJQ0FnWTI5dWMzUWdleUIwZVhCbExDQXVMaTVqYjIxd1VISnZjSE1nZlNBOUlIQnliM0J6TzF4dUlDQWdJR1ZzWlcxbGJuUWdQU0FvWEc0Z0lDQWdJQ0E4UjNKdmRYQWdhMlY1UFh0clpYbDlJSHN1TGk1amIyMXdVSEp2Y0hOOUlHTjFjM1J2YlVOdmJYQnZibVZ1ZEhNOWUyTjFjM1J2YlVOdmJYQnZibVZ1ZEhOOUlDOCtYRzRnSUNBZ0tUdGNiaUFnZlNCbGJITmxJR2xtSUNod2NtOXdjeTUwZVhCbElEMDlQU0FuU0dWaFpHVnlVMlZqZEdsdmJpY3BJSHRjYmlBZ0lDQmpiMjV6ZENCN0lIUjVjR1VzSUM0dUxtTnZiWEJRY205d2N5QjlJRDBnY0hKdmNITTdYRzRnSUNBZ1pXeGxiV1Z1ZENBOUlDaGNiaUFnSUNBZ0lEeElaV0ZrWlhKVFpXTjBhVzl1WEc0Z0lDQWdJQ0FnSUd0bGVUMTdhMlY1ZlZ4dUlDQWdJQ0FnSUNCN0xpNHVZMjl0Y0ZCeWIzQnpmVnh1SUNBZ0lDQWdJQ0JqZFhOMGIyMURiMjF3YjI1bGJuUnpQWHRqZFhOMGIyMURiMjF3YjI1bGJuUnpmVnh1SUNBZ0lDQWdMejVjYmlBZ0lDQXBPMXh1SUNCOUlHVnNjMlVnYVdZZ0tIQnliM0J6TG5SNWNHVWdQVDA5SUNkTlpXNTFVMlZqZEdsdmJpY3BJSHRjYmlBZ0lDQmpiMjV6ZENCN0lIUjVjR1VzSUM0dUxtTnZiWEJRY205d2N5QjlJRDBnY0hKdmNITTdYRzRnSUNBZ1pXeGxiV1Z1ZENBOUlDaGNiaUFnSUNBZ0lEeE5aVzUxVTJWamRHbHZibHh1SUNBZ0lDQWdJQ0JyWlhrOWUydGxlWDFjYmlBZ0lDQWdJQ0FnZXk0dUxtTnZiWEJRY205d2MzMWNiaUFnSUNBZ0lDQWdZM1Z6ZEc5dFEyOXRjRzl1Wlc1MGN6MTdZM1Z6ZEc5dFEyOXRjRzl1Wlc1MGMzMWNiaUFnSUNBZ0lDOCtYRzRnSUNBZ0tUdGNiaUFnZlNCbGJITmxJR2xtSUNod2NtOXdjeTUwZVhCbElEMDlQU0FuVTJWamRHbHZiaWNwSUh0Y2JpQWdJQ0JqYjI1emRDQjdJSFI1Y0dVc0lDNHVMbU52YlhCUWNtOXdjeUI5SUQwZ2NISnZjSE03WEc0Z0lDQWdaV3hsYldWdWRDQTlJQ2hjYmlBZ0lDQWdJRHhUWldOMGFXOXVJR3RsZVQxN2EyVjVmU0I3TGk0dVkyOXRjRkJ5YjNCemZTQmpkWE4wYjIxRGIyMXdiMjVsYm5SelBYdGpkWE4wYjIxRGIyMXdiMjVsYm5SemZTQXZQbHh1SUNBZ0lDazdYRzRnSUgwZ1pXeHpaU0JwWmlBb2NISnZjSE11ZEhsd1pTQTlQVDBnSjFOdmNuUmhZbXhsUTI5dWRHVjRkQ2NwSUh0Y2JpQWdJQ0JqYjI1emRDQjdJSFI1Y0dVc0lDNHVMbU52YlhCUWNtOXdjeUI5SUQwZ2NISnZjSE03WEc0Z0lDQWdaV3hsYldWdWRDQTlJQ2hjYmlBZ0lDQWdJRHhUYjNKMFlXSnNaVU52Ym5SbGVIUmNiaUFnSUNBZ0lDQWdhMlY1UFh0clpYbDlYRzRnSUNBZ0lDQWdJSHN1TGk1amIyMXdVSEp2Y0hOOVhHNGdJQ0FnSUNBZ0lHTjFjM1J2YlVOdmJYQnZibVZ1ZEhNOWUyTjFjM1J2YlVOdmJYQnZibVZ1ZEhOOVhHNGdJQ0FnSUNBdlBseHVJQ0FnSUNrN1hHNGdJSDBnWld4elpTQnBaaUFvY0hKdmNITXVkSGx3WlNBOVBUMGdKMU52Y25SaFlteGxSM0p2ZFhBbktTQjdYRzRnSUNBZ1kyOXVjM1FnZXlCMGVYQmxMQ0F1TGk1amIyMXdVSEp2Y0hNZ2ZTQTlJSEJ5YjNCek8xeHVJQ0FnSUdWc1pXMWxiblFnUFNBb1hHNGdJQ0FnSUNBOFUyOXlkR0ZpYkdWSGNtOTFjRnh1SUNBZ0lDQWdJQ0JyWlhrOWUydGxlWDFjYmlBZ0lDQWdJQ0FnZXk0dUxtTnZiWEJRY205d2MzMWNiaUFnSUNBZ0lDQWdZM1Z6ZEc5dFEyOXRjRzl1Wlc1MGN6MTdZM1Z6ZEc5dFEyOXRjRzl1Wlc1MGMzMWNiaUFnSUNBZ0lDOCtYRzRnSUNBZ0tUdGNiaUFnZlZ4dVhHNGdJSEpsZEhWeWJpQmxiR1Z0Wlc1ME8xeHVmVHRjYmx4dUx5OGdSWGh3YjNKMFpXUWdabTl5SUhSbGMzUnBibWNnY0hWeWNHOXpaWE1nYjI1c2VTNWNibVY0Y0c5eWRDQmpiMjV6ZENCamIyMXdiMjVsYm5SeklEMGdleUF1TGk1cGRHVnRRMjl0Y0c5dVpXNTBjeXdnTGk0dVozSnZkWEJEYjIxd2IyNWxiblJ6SUgwN1hHNWNiaThxS2x4dUlDb2dVa1ZPUkVWU1JWSmNiaUFxTDF4dVkyeGhjM01nVkhsd1pXUkpkR1Z0YzFKbGJtUmxjbVZ5SUdWNGRHVnVaSE1nVUhWeVpVTnZiWEJ2Ym1WdWRDQjdYRzRnSUdOMWMzUnZiVU52YlhCdmJtVnVkSE5YYVhSb1FXNWhiSGwwYVdOeklEMGdibVYzSUUxaGNDZ3BPMXh1WEc0Z0lHZGxkRU4xYzNSdmJVTnZiWEJ2Ym1WdWRDQTlJR052YlhCdmJtVnVkQ0E5UGlCN1hHNGdJQ0FnTHk4Z1kyRmphR1VnWTNWemRHOXRJR052YlhCdmJtVnVkSE1nZDNKaGNIQmxaQ0IzYVhSb0lHRnVZV3g1ZEdsamMxeHVJQ0FnSUM4dklIUnZJSEJ5WlhabGJuUWdjbVV0Ylc5MWJuUnBibWNnYjJZZ1kyOXRjRzl1Wlc1MElHOXVJSEpsTFhKbGJtUmxjbHh1SUNBZ0lHTnZibk4wSUhzZ1kzVnpkRzl0UTI5dGNHOXVaVzUwY3lBOUlIdDlJSDBnUFNCMGFHbHpMbkJ5YjNCek8xeHVJQ0FnSUd4bGRDQmpZV05vWldSRGIyMXdiMjVsYm5RZ1BTQjBhR2x6TG1OMWMzUnZiVU52YlhCdmJtVnVkSE5YYVhSb1FXNWhiSGwwYVdOekxtZGxkQ2hqYjIxd2IyNWxiblFwTzF4dUlDQWdJR2xtSUNnaFkyRmphR1ZrUTI5dGNHOXVaVzUwS1NCN1hHNGdJQ0FnSUNCallXTm9aV1JEYjIxd2IyNWxiblFnUFZ4dUlDQWdJQ0FnSUNCMGVYQmxiMllnWTI5dGNHOXVaVzUwSUQwOVBTQW5jM1J5YVc1bkoxeHVJQ0FnSUNBZ0lDQWdJRDhnYm1GMmFXZGhkR2x2YmtsMFpXMURiR2xqYTJWa0tHTjFjM1J2YlVOdmJYQnZibVZ1ZEhOYlkyOXRjRzl1Wlc1MFhTd2dZMjl0Y0c5dVpXNTBLVnh1SUNBZ0lDQWdJQ0FnSURvZ2JtRjJhV2RoZEdsdmJrbDBaVzFEYkdsamEyVmtLRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQmpiMjF3YjI1bGJuUXNYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lHTnZiWEJ2Ym1WdWRDNWthWE53YkdGNVRtRnRaU0I4ZkNBbmFXNXNhVzVsUTNWemRHOXRRMjl0Y0c5dVpXNTBKeXhjYmlBZ0lDQWdJQ0FnSUNBZ0lDazdYRzRnSUNBZ0lDQjBhR2x6TG1OMWMzUnZiVU52YlhCdmJtVnVkSE5YYVhSb1FXNWhiSGwwYVdOekxuTmxkQ2hqYjIxd2IyNWxiblFzSUdOaFkyaGxaRU52YlhCdmJtVnVkQ2s3WEc0Z0lDQWdmVnh1SUNBZ0lISmxkSFZ5YmlCallXTm9aV1JEYjIxd2IyNWxiblE3WEc0Z0lIMDdYRzVjYmlBZ2NtVnVaR1Z5S0NrZ2UxeHVJQ0FnSUdOdmJuTjBJSHNnWTNWemRHOXRRMjl0Y0c5dVpXNTBjeUE5SUh0OUxDQnBkR1Z0Y3lCOUlEMGdkR2hwY3k1d2NtOXdjenRjYmx4dUlDQWdJQzh2SUZkbElHTmhibTV2ZENCa1pYTjBjblZqZEhWeVpTQndjbTl3Y3k1MGVYQmxJRzkwYUdWeWQybHpaU0JtYkc5M0lIUjVjR1VnY21WbWFXNXRaVzUwSUdSdlpYTWdibTkwSUhkdmNtdGNiaUFnSUNBdkx5Qm9kSFJ3Y3pvdkwyZHBkR2gxWWk1amIyMHZabUZqWldKdmIyc3ZabXh2ZHk5cGMzTjFaWE12TlRJMU9WeHVJQ0FnSUhKbGRIVnliaUJwZEdWdGN5NXRZWEFvS0hCeWIzQnpMQ0JwYm1SbGVDa2dQVDRnZTF4dUlDQWdJQ0FnWTI5dWMzUWdhMlY1SUQxY2JpQWdJQ0FnSUNBZ2RIbHdaVzltSUhCeWIzQnpMbTVsYzNSbFpFZHliM1Z3UzJWNUlEMDlQU0FuYzNSeWFXNW5KMXh1SUNBZ0lDQWdJQ0FnSUQ4Z2NISnZjSE11Ym1WemRHVmtSM0p2ZFhCTFpYbGNiaUFnSUNBZ0lDQWdJQ0E2SUhCeWIzQnpMbWxrTzF4dVhHNGdJQ0FnSUNCcFppQW9jSEp2Y0hNdWRIbHdaU0E5UFQwZ0owbHViR2x1WlVOdmJYQnZibVZ1ZENjcElIdGNiaUFnSUNBZ0lDQWdZMjl1YzNRZ2V5QjBlWEJsTENCamIyMXdiMjVsYm5Rc0lDNHVMbU52YlhCdmJtVnVkRkJ5YjNCeklIMGdQU0J3Y205d2N6dGNiaUFnSUNBZ0lDQWdMeThnU1dZZ2RHaGxlU2QyWlNCd2NtOTJhV1JsWkNCaElHTnZiWEJ2Ym1WdWRDQmhjeUIwYUdVZ2RIbHdaVnh1SUNBZ0lDQWdJQ0JqYjI1emRDQkRkWE4wYjIxRGIyMXdiMjVsYm5RZ1BTQjBhR2x6TG1kbGRFTjFjM1J2YlVOdmJYQnZibVZ1ZENod2NtOXdjeTVqYjIxd2IyNWxiblFwTzF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnS0Z4dUlDQWdJQ0FnSUNBZ0lEeERkWE4wYjIxRGIyMXdiMjVsYm5SY2JpQWdJQ0FnSUNBZ0lDQWdJR3RsZVQxN2EyVjVmVnh1SUNBZ0lDQWdJQ0FnSUNBZ2V5NHVMbU52YlhCdmJtVnVkRkJ5YjNCemZWeHVJQ0FnSUNBZ0lDQWdJQ0FnYVc1a1pYZzllMmx1WkdWNGZWeHVJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z1YyVWdjR0Z6Y3lCdmRYSWdhVzR0WW5WcGJIUWdZMjl0Y0c5dVpXNTBjeUIwYUhKdmRXZG9JSFJ2SUdOMWMzUnZiU0JqYjIxd2IyNWxiblJ6SUhOdlhHNGdJQ0FnSUNBZ0lDQWdJQ0F2THlCMGFHVjVJR05oYmlCM2NtRndMM0psYm1SbGNpQjBhR1Z0SUdsbUlIUm9aWGtnZDJGdWRDQjBieTVjYmlBZ0lDQWdJQ0FnSUNBZ0lHTnZiWEJ2Ym1WdWRITTllMk52YlhCdmJtVnVkSE45WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpkWE4wYjIxRGIyMXdiMjVsYm5SelBYdGpkWE4wYjIxRGIyMXdiMjVsYm5SemZWeHVJQ0FnSUNBZ0lDQWdJQzgrWEc0Z0lDQWdJQ0FnSUNrN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnSUNCcFppQW9UMkpxWldOMExtdGxlWE1vWjNKdmRYQkRiMjF3YjI1bGJuUnpLUzVwYm1Oc2RXUmxjeWh3Y205d2N5NTBlWEJsS1NrZ2UxeHVJQ0FnSUNBZ0lDQXZMeUJKWmlCMGFHVjVKM1psSUhCeWIzWnBaR1ZrSUdFZ2RIbHdaU0IzYUdsamFDQnRZWFJqYUdWeklHOXVaU0J2WmlCdmRYSWdhVzR0WW5WcGJIUWdaM0p2ZFhCY2JpQWdJQ0FnSUNBZ0x5OGdZMjl0Y0c5dVpXNTBjMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdjbVZ1WkdWeVIzSnZkWEJEYjIxd2IyNWxiblFvY0hKdmNITXNJR3RsZVN3Z1kzVnpkRzl0UTI5dGNHOXVaVzUwY3lrN1hHNGdJQ0FnSUNBZ0lDOHZJRWxtSUhSb1pYa25kbVVnY0hKdmRtbGtaV1FnWVNCMGVYQmxJSGRvYVdOb0lHMWhkR05vWlhNZ2IyNWxJRzltSUc5MWNpQnBiaTFpZFdsc2RDQnBkR1Z0WEc0Z0lDQWdJQ0FnSUM4dklHTnZiWEJ2Ym1WdWRITXVYRzRnSUNBZ0lDQjlYRzRnSUNBZ0lDQnBaaUFvVDJKcVpXTjBMbXRsZVhNb2FYUmxiVU52YlhCdmJtVnVkSE1wTG1sdVkyeDFaR1Z6S0hCeWIzQnpMblI1Y0dVcEtTQjdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQnlaVzVrWlhKSmRHVnRRMjl0Y0c5dVpXNTBLSEJ5YjNCekxDQnJaWGtzSUdsdVpHVjRLVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQWdJR2xtSUNoUFltcGxZM1F1YTJWNWN5aGpkWE4wYjIxRGIyMXdiMjVsYm5SektTNXBibU5zZFdSbGN5aHdjbTl3Y3k1MGVYQmxLU2tnZTF4dUlDQWdJQ0FnSUNCamIyNXpkQ0I3SUhSNWNHVXNJQzR1TG1OdmJYQnZibVZ1ZEZCeWIzQnpJSDBnUFNCd2NtOXdjenRjYmlBZ0lDQWdJQ0FnTHk4Z1NXWWdkR2hsZVNkMlpTQndjbTkyYVdSbFpDQmhJSFI1Y0dVZ2QyaHBZMmdnYldGMFkyaGxjeUJ2Ym1VZ2IyWWdkR2hsYVhJZ1pHVm1hVzVsWkNCamRYTjBiMjFjYmlBZ0lDQWdJQ0FnTHk4Z1kyOXRjRzl1Wlc1MGN5NWNiaUFnSUNBZ0lDQWdZMjl1YzNRZ1EzVnpkRzl0UTI5dGNHOXVaVzUwSUQwZ2RHaHBjeTVuWlhSRGRYTjBiMjFEYjIxd2IyNWxiblFvZEhsd1pTazdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQW9YRzRnSUNBZ0lDQWdJQ0FnUEVOMWMzUnZiVU52YlhCdmJtVnVkRnh1SUNBZ0lDQWdJQ0FnSUNBZ2EyVjVQWHRyWlhsOVhHNGdJQ0FnSUNBZ0lDQWdJQ0I3TGk0dVkyOXRjRzl1Wlc1MFVISnZjSE45WEc0Z0lDQWdJQ0FnSUNBZ0lDQnBibVJsZUQxN2FXNWtaWGg5WEc0Z0lDQWdJQ0FnSUNBZ0lDQXZMeUJYWlNCd1lYTnpJRzkxY2lCcGJpMWlkV2xzZENCamIyMXdiMjVsYm5SeklIUm9jbTkxWjJnZ2RHOGdZM1Z6ZEc5dElHTnZiWEJ2Ym1WdWRITWdjMjljYmlBZ0lDQWdJQ0FnSUNBZ0lDOHZJSFJvWlhrZ1kyRnVJSGR5WVhBdmNtVnVaR1Z5SUhSb1pXMGdhV1lnZEdobGVTQjNZVzUwSUhSdkxseHVJQ0FnSUNBZ0lDQWdJQ0FnWTI5dGNHOXVaVzUwY3oxN1kyOXRjRzl1Wlc1MGMzMWNiaUFnSUNBZ0lDQWdJQ0FnSUdOMWMzUnZiVU52YlhCdmJtVnVkSE05ZTJOMWMzUnZiVU52YlhCdmJtVnVkSE45WEc0Z0lDQWdJQ0FnSUNBZ0x6NWNiaUFnSUNBZ0lDQWdLVHRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnY21WMGRYSnVJRHhFWldKMVp5QnJaWGs5ZTJ0bGVYMGdkSGx3WlQxN2NISnZjSE11ZEhsd1pYMGdleTR1TG5CeWIzQnpmU0F2UGp0Y2JpQWdJQ0I5S1R0Y2JpQWdmVnh1ZlZ4dVhHNWxlSEJ2Y25RZ1pHVm1ZWFZzZENCVWVYQmxaRWwwWlcxelVtVnVaR1Z5WlhJN1hHNGlYWDA9ICovXCIpXG4gICAgfSwgX19fRW1vdGlvbkpTWChDb250YWluZXJIZWFkZXJDb21wb25lbnQsIHByb3BzKSlcbiAgKTtcbn07XG5cbnZhciBEZWJ1ZyA9IGZ1bmN0aW9uIERlYnVnKHByb3BzKSB7XG4gIHJldHVybiBfX19FbW90aW9uSlNYKFwicHJlXCIsIHtcbiAgICBjc3M6XG4gICAgLyojX19QVVJFX18qL1xuICAgIF9jc3Moe1xuICAgICAgYmFja2dyb3VuZENvbG9yOiAncmdiYSgwLCAwLCAwLCAwLjEpJyxcbiAgICAgIGZvbnRTaXplOiAnMTBweCcsXG4gICAgICBvdmVyZmxvd1g6ICdhdXRvJyxcbiAgICAgIHBhZGRpbmc6IFwiXCIuY29uY2F0KGdyaWRTaXplIC8gMiwgXCJweFwiKVxuICAgIH0sIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IFwiXCIgOiBcIi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpNHVMeTR1THk0dUwzTnlZeTl5Wlc1a1pYSmxjaTlqYjIxd2IyNWxiblJ6TG1weklsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFXdEdTU0lzSW1acGJHVWlPaUl1TGk4dUxpOHVMaTl6Y21NdmNtVnVaR1Z5WlhJdlkyOXRjRzl1Wlc1MGN5NXFjeUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSW1sdGNHOXlkQ0JTWldGamRDd2dleUJRZFhKbFEyOXRjRzl1Wlc1MElIMGdabkp2YlNBbmNtVmhZM1FuTzF4dVhHNXBiWEJ2Y25RZ1RHOWhaR0ZpYkdVZ1puSnZiU0FuY21WaFkzUXRiRzloWkdGaWJHVW5PMXh1WEc1cGJYQnZjblFnZXlCbmNtbGtVMmw2WlNCaGN5Qm5jbWxrVTJsNlpVWnVJSDBnWm5KdmJTQW5RR0YwYkdGemEybDBMM1JvWlcxbEwyTnZibk4wWVc1MGN5YzdYRzVjYm1sdGNHOXlkQ0I3SUc1aGRtbG5ZWFJwYjI1SmRHVnRRMnhwWTJ0bFpDQjlJR1p5YjIwZ0p5NHVMMk52YlcxdmJpOWhibUZzZVhScFkzTW5PMXh1YVcxd2IzSjBJRkpsYm1SbGNrSnNiMk5yWlhJZ1puSnZiU0FuTGk0dlkyOXRjRzl1Wlc1MGN5OWpiMjF0YjI0dlVtVnVaR1Z5UW14dlkydGxjaWM3WEc1cGJYQnZjblFnUW1GamEwbDBaVzBnWm5KdmJTQW5MaTR2WTI5dGNHOXVaVzUwY3k5amIyNXVaV04wWldRdlFtRmphMGwwWlcwbk8xeHVhVzF3YjNKMElFTnZibTVsWTNSbFpFbDBaVzBnWm5KdmJTQW5MaTR2WTI5dGNHOXVaVzUwY3k5amIyNXVaV04wWldRdlEyOXVibVZqZEdWa1NYUmxiU2M3WEc1cGJYQnZjblFnUjI5VWIwbDBaVzBnWm5KdmJTQW5MaTR2WTI5dGNHOXVaVzUwY3k5amIyNXVaV04wWldRdlIyOVViMGwwWlcwbk8xeHVhVzF3YjNKMElFTnZiblJoYVc1bGNraGxZV1JsY2tOdmJYQnZibVZ1ZENCbWNtOXRJQ2N1TGk5amIyMXdiMjVsYm5SekwzQnlaWE5sYm5SaGRHbHZibUZzTDBOdmJuUmhhVzVsY2tobFlXUmxjaWM3WEc1cGJYQnZjblFnUjNKdmRYQkRiMjF3YjI1bGJuUWdabkp2YlNBbkxpNHZZMjl0Y0c5dVpXNTBjeTl3Y21WelpXNTBZWFJwYjI1aGJDOUhjbTkxY0NjN1hHNXBiWEJ2Y25RZ1IzSnZkWEJJWldGa2FXNW5RMjl0Y0c5dVpXNTBJR1p5YjIwZ0p5NHVMMk52YlhCdmJtVnVkSE12Y0hKbGMyVnVkR0YwYVc5dVlXd3ZSM0p2ZFhCSVpXRmthVzVuSnp0Y2JtbHRjRzl5ZENCSVpXRmtaWEpUWldOMGFXOXVRMjl0Y0c5dVpXNTBJR1p5YjIwZ0p5NHVMMk52YlhCdmJtVnVkSE12Y0hKbGMyVnVkR0YwYVc5dVlXd3ZTR1ZoWkdWeVUyVmpkR2x2YmljN1hHNXBiWEJ2Y25RZ1RXVnVkVk5sWTNScGIyNURiMjF3YjI1bGJuUWdabkp2YlNBbkxpNHZZMjl0Y0c5dVpXNTBjeTl3Y21WelpXNTBZWFJwYjI1aGJDOU5aVzUxVTJWamRHbHZiaWM3WEc1cGJYQnZjblFnVTJWamRHbHZia052YlhCdmJtVnVkQ0JtY205dElDY3VMaTlqYjIxd2IyNWxiblJ6TDNCeVpYTmxiblJoZEdsdmJtRnNMMU5sWTNScGIyNG5PMXh1YVcxd2IzSjBJRk5sWTNScGIyNUlaV0ZrYVc1blEyOXRjRzl1Wlc1MElHWnliMjBnSnk0dUwyTnZiWEJ2Ym1WdWRITXZjSEpsYzJWdWRHRjBhVzl1WVd3dlUyVmpkR2x2YmtobFlXUnBibWNuTzF4dWFXMXdiM0owSUZObGNHRnlZWFJ2Y2lCbWNtOXRJQ2N1TGk5amIyMXdiMjVsYm5SekwzQnlaWE5sYm5SaGRHbHZibUZzTDFObGNHRnlZWFJ2Y2ljN1hHNXBiWEJ2Y25RZ1YyOXlaRzFoY21zZ1puSnZiU0FuTGk0dlkyOXRjRzl1Wlc1MGN5OXdjbVZ6Wlc1MFlYUnBiMjVoYkM5WGIzSmtiV0Z5YXljN1hHNWNibU52Ym5OMElHZHlhV1JUYVhwbElEMGdaM0pwWkZOcGVtVkdiaWdwTzF4dVkyOXVjM1FnYkc5aFpGTjNhWFJqYUdWeUlEMGdLQ2tnUFQ1Y2JpQWdhVzF3YjNKMEtGeHVJQ0FnSUM4cUlIZGxZbkJoWTJ0RGFIVnVhMDVoYldVNklGd2lRR0YwYkdGemEybDBMMjVoZG1sbllYUnBiMjR0Ym1WNGRDOWhjM2x1WXkxamFIVnVheTl6ZDJsMFkyaGxjbHdpSUNvdklDY3VMaTlqYjIxd2IyNWxiblJ6TDNCeVpYTmxiblJoZEdsdmJtRnNMMU4zYVhSamFHVnlKMXh1SUNBcE8xeHVZMjl1YzNRZ1RHRjZlVk4zYVhSamFHVnlJRDBnVEc5aFpHRmliR1VvZTF4dUlDQnNiMkZrWlhJNklHeHZZV1JUZDJsMFkyaGxjaXhjYmlBZ2JHOWhaR2x1WnpvZ0tDa2dQVDRnYm5Wc2JDeGNibjBwTzF4dVhHNWpiMjV6ZENCc2IyRmtVMjl5ZEdGaWJHVkRiMjUwWlhoMFEyOXRjRzl1Wlc1MElEMGdLQ2tnUFQ1Y2JpQWdhVzF3YjNKMEtGeHVJQ0FnSUM4cUlIZGxZbkJoWTJ0RGFIVnVhMDVoYldVNklGd2lRR0YwYkdGemEybDBMMjVoZG1sbllYUnBiMjR0Ym1WNGRDOWhjM2x1WXkxamFIVnVheTl6YjNKMFlXSnNaUzFqYjI1MFpYaDBMV052YlhCdmJtVnVkRndpSUNvdklDY3VMaTlqYjIxd2IyNWxiblJ6TDJOdmJtNWxZM1JsWkM5VGIzSjBZV0pzWlVOdmJuUmxlSFFuWEc0Z0lDazdYRzVqYjI1emRDQk1ZWHA1VTI5eWRHRmliR1ZEYjI1MFpYaDBRMjl0Y0c5dVpXNTBJRDBnVEc5aFpHRmliR1VvZTF4dUlDQnNiMkZrWlhJNklHeHZZV1JUYjNKMFlXSnNaVU52Ym5SbGVIUkRiMjF3YjI1bGJuUXNYRzRnSUd4dllXUnBibWM2SUNncElEMCtJRzUxYkd3c1hHNTlLVHRjYmx4dVkyOXVjM1FnYkc5aFpGTnZjblJoWW14bFIzSnZkWEJEYjIxd2IyNWxiblFnUFNBb0tTQTlQbHh1SUNCcGJYQnZjblFvWEc0Z0lDQWdMeW9nZDJWaWNHRmphME5vZFc1clRtRnRaVG9nWENKQVlYUnNZWE5yYVhRdmJtRjJhV2RoZEdsdmJpMXVaWGgwTDJGemVXNWpMV05vZFc1ckwzTnZjblJoWW14bExXZHliM1Z3TFdOdmJYQnZibVZ1ZEZ3aUlDb3ZJQ2N1TGk5amIyMXdiMjVsYm5SekwyTnZibTVsWTNSbFpDOVRiM0owWVdKc1pVZHliM1Z3SjF4dUlDQXBPMXh1Wlhod2IzSjBJR052Ym5OMElFeGhlbmxUYjNKMFlXSnNaVWR5YjNWd1EyOXRjRzl1Wlc1MElEMGdURzloWkdGaWJHVW9lMXh1SUNCc2IyRmtaWEk2SUd4dllXUlRiM0owWVdKc1pVZHliM1Z3UTI5dGNHOXVaVzUwTEZ4dUlDQnNiMkZrYVc1bk9pQW9LU0E5UGlCdWRXeHNMRnh1ZlNrN1hHNWNibU52Ym5OMElHeHZZV1JUYjNKMFlXSnNaVWwwWlcwZ1BTQW9LU0E5UGx4dUlDQnBiWEJ2Y25Rb1hHNGdJQ0FnTHlvZ2QyVmljR0ZqYTBOb2RXNXJUbUZ0WlRvZ1hDSkFZWFJzWVhOcmFYUXZibUYyYVdkaGRHbHZiaTF1WlhoMEwyRnplVzVqTFdOb2RXNXJMM052Y25SaFlteGxMV2wwWlcxY0lpQXFMeUFuTGk0dlkyOXRjRzl1Wlc1MGN5OWpiMjV1WldOMFpXUXZVMjl5ZEdGaWJHVkpkR1Z0SjF4dUlDQXBPMXh1Wlhod2IzSjBJR052Ym5OMElFeGhlbmxUYjNKMFlXSnNaVWwwWlcwZ1BTQk1iMkZrWVdKc1pTaDdYRzRnSUd4dllXUmxjam9nYkc5aFpGTnZjblJoWW14bFNYUmxiU3hjYmlBZ2JHOWhaR2x1WnpvZ0tDa2dQVDRnYm5Wc2JDeGNibjBwTzF4dUx5b3FYRzRnS2lCSlZFVk5VMXh1SUNvdlhHNWNiaTh2SUZScGRHeGxYRzVqYjI1emRDQkhjbTkxY0VobFlXUnBibWNnUFNBb2V5QjBaWGgwTENBdUxpNXdjbTl3Y3lCOUtTQTlQaUFvWEc0Z0lEeEhjbTkxY0VobFlXUnBibWREYjIxd2IyNWxiblFnZXk0dUxuQnliM0J6ZlQ1N2RHVjRkSDA4TDBkeWIzVndTR1ZoWkdsdVowTnZiWEJ2Ym1WdWRENWNiaWs3WEc1Y2JpOHZJRk5sWTNScGIyNUlaV0ZrYVc1blhHNWpiMjV6ZENCVFpXTjBhVzl1U0dWaFpHbHVaeUE5SUNoN0lIUmxlSFFzSUM0dUxuQnliM0J6SUgwcElEMCtJQ2hjYmlBZ1BGTmxZM1JwYjI1SVpXRmthVzVuUTI5dGNHOXVaVzUwSUhzdUxpNXdjbTl3YzMwK2UzUmxlSFI5UEM5VFpXTjBhVzl1U0dWaFpHbHVaME52YlhCdmJtVnVkRDVjYmlrN1hHNWNiaTh2SUVOdmJuUmhhVzVsY2tobFlXUmxjbHh1WTI5dWMzUWdRMjl1ZEdGcGJtVnlTR1ZoWkdWeUlEMGdjSEp2Y0hNZ1BUNGdLRnh1SUNBdkx5QXRNbkI0SUdobGNtVWdkRzhnWVdOamIzVnVkQ0JtYjNJZ2RHaGxJR1Y0ZEhKaElITndZV05sSUdGMElIUm9aU0IwYjNBZ2IyWWdZU0JOWlc1MVUyVmpkR2x2YmlCbWIzSmNiaUFnTHk4Z2RHaGxJSE5qY205c2JDQm9hVzUwTGx4dUlDQThaR2wySUdOemN6MTdleUJ3WVdSa2FXNW5RbTkwZEc5dE9pQm5jbWxrVTJsNlpTQXFJREl1TlNBdElESWdmWDArWEc0Z0lDQWdQRU52Ym5SaGFXNWxja2hsWVdSbGNrTnZiWEJ2Ym1WdWRDQjdMaTR1Y0hKdmNITjlJQzgrWEc0Z0lEd3ZaR2wyUGx4dUtUdGNibHh1WTI5dWMzUWdSR1ZpZFdjZ1BTQndjbTl3Y3lBOVBpQW9YRzRnSUR4d2NtVmNiaUFnSUNCamMzTTllM3RjYmlBZ0lDQWdJR0poWTJ0bmNtOTFibVJEYjJ4dmNqb2dKM0puWW1Fb01Dd2dNQ3dnTUN3Z01DNHhLU2NzWEc0Z0lDQWdJQ0JtYjI1MFUybDZaVG9nSnpFd2NIZ25MRnh1SUNBZ0lDQWdiM1psY21ac2IzZFlPaUFuWVhWMGJ5Y3NYRzRnSUNBZ0lDQndZV1JrYVc1bk9pQmdKSHRuY21sa1UybDZaU0F2SURKOWNIaGdMRnh1SUNBZ0lIMTlYRzRnSUQ1Y2JpQWdJQ0I3U2xOUFRpNXpkSEpwYm1kcFpua29jSEp2Y0hNc0lHNTFiR3dzSURJcGZWeHVJQ0E4TDNCeVpUNWNiaWs3WEc1Y2JpOHFLbHh1SUNvZ1IxSlBWVkJUWEc0Z0tpOWNibHh1THk4Z1IzSnZkWEJjYm1OdmJuTjBJRWR5YjNWd0lEMGdLSHNnWTNWemRHOXRRMjl0Y0c5dVpXNTBjeXdnYUdGelUyVndZWEpoZEc5eUxDQm9aV0ZrYVc1bkxDQnBkR1Z0Y3l3Z2FXUWdmU2tnUFQ1Y2JpQWdhWFJsYlhNdWJHVnVaM1JvSUQ4Z0tGeHVJQ0FnSUR4SGNtOTFjRU52YlhCdmJtVnVkQ0JvWldGa2FXNW5QWHRvWldGa2FXNW5mU0JvWVhOVFpYQmhjbUYwYjNJOWUyaGhjMU5sY0dGeVlYUnZjbjBnYVdROWUybGtmVDVjYmlBZ0lDQWdJRHhVZVhCbFpFbDBaVzF6VW1WdVpHVnlaWElnYVhSbGJYTTllMmwwWlcxemZTQmpkWE4wYjIxRGIyMXdiMjVsYm5SelBYdGpkWE4wYjIxRGIyMXdiMjVsYm5SemZTQXZQbHh1SUNBZ0lEd3ZSM0p2ZFhCRGIyMXdiMjVsYm5RK1hHNGdJQ2tnT2lCdWRXeHNPMXh1WEc1amIyNXpkQ0JUYjNKMFlXSnNaVWR5YjNWd0lEMGdLSHRjYmlBZ1kzVnpkRzl0UTI5dGNHOXVaVzUwY3l4Y2JpQWdhR0Z6VTJWd1lYSmhkRzl5TEZ4dUlDQm9aV0ZrYVc1bkxGeHVJQ0JwZEdWdGN5eGNiaUFnYVdRc1hHNTlLU0E5UGx4dUlDQnBkR1Z0Y3lBbUppQnBkR1Z0Y3k1c1pXNW5kR2dnUHlBb1hHNGdJQ0FnUEV4aGVubFRiM0owWVdKc1pVZHliM1Z3UTI5dGNHOXVaVzUwWEc0Z0lDQWdJQ0JvWldGa2FXNW5QWHRvWldGa2FXNW5mVnh1SUNBZ0lDQWdhR0Z6VTJWd1lYSmhkRzl5UFh0b1lYTlRaWEJoY21GMGIzSjlYRzRnSUNBZ0lDQnBaRDE3YVdSOVhHNGdJQ0FnUGx4dUlDQWdJQ0FnUEZKbGJtUmxja0pzYjJOclpYSWdhWFJsYlhNOWUybDBaVzF6ZlNCamRYTjBiMjFEYjIxd2IyNWxiblJ6UFh0amRYTjBiMjFEYjIxd2IyNWxiblJ6ZlQ1Y2JpQWdJQ0FnSUNBZ1BGUjVjR1ZrU1hSbGJYTlNaVzVrWlhKbGNpQnBkR1Z0Y3oxN2FYUmxiWE45SUdOMWMzUnZiVU52YlhCdmJtVnVkSE05ZTJOMWMzUnZiVU52YlhCdmJtVnVkSE45SUM4K1hHNGdJQ0FnSUNBOEwxSmxibVJsY2tKc2IyTnJaWEkrWEc0Z0lDQWdQQzlNWVhwNVUyOXlkR0ZpYkdWSGNtOTFjRU52YlhCdmJtVnVkRDVjYmlBZ0tTQTZJRzUxYkd3N1hHNWNiaTh2SUZObFkzUnBiMjVjYm1OdmJuTjBJRk5sWTNScGIyNGdQU0FvZTF4dUlDQmhiSGRoZVhOVGFHOTNVMk55YjJ4c1NHbHVkQ0E5SUdaaGJITmxMRnh1SUNCamRYTjBiMjFEYjIxd2IyNWxiblJ6TEZ4dUlDQnBaQ3hjYmlBZ2FYUmxiWE1zWEc0Z0lHNWxjM1JsWkVkeWIzVndTMlY1TEZ4dUlDQndZWEpsYm5SSlpDeGNiaUFnYzJodmRXeGtSM0p2ZHl4Y2JuMHBJRDArWEc0Z0lHbDBaVzF6TG14bGJtZDBhQ0EvSUNoY2JpQWdJQ0E4VTJWamRHbHZia052YlhCdmJtVnVkRnh1SUNBZ0lDQWdZV3gzWVhselUyaHZkMU5qY205c2JFaHBiblE5ZTJGc2QyRjVjMU5vYjNkVFkzSnZiR3hJYVc1MGZWeHVJQ0FnSUNBZ2FXUTllMmxrZlZ4dUlDQWdJQ0FnYTJWNVBYdHVaWE4wWldSSGNtOTFjRXRsZVgxY2JpQWdJQ0FnSUhCaGNtVnVkRWxrUFh0d1lYSmxiblJKWkgxY2JpQWdJQ0FnSUhOb2IzVnNaRWR5YjNjOWUzTm9iM1ZzWkVkeWIzZDlYRzRnSUNBZ1BseHVJQ0FnSUNBZ2V5aDdJR05zWVhOelRtRnRaU0I5S1NBOVBpQW9YRzRnSUNBZ0lDQWdJRHhrYVhZZ1kyeGhjM05PWVcxbFBYdGpiR0Z6YzA1aGJXVjlQbHh1SUNBZ0lDQWdJQ0FnSUR4VWVYQmxaRWwwWlcxelVtVnVaR1Z5WlhKY2JpQWdJQ0FnSUNBZ0lDQWdJR2wwWlcxelBYdHBkR1Z0YzMxY2JpQWdJQ0FnSUNBZ0lDQWdJR04xYzNSdmJVTnZiWEJ2Ym1WdWRITTllMk4xYzNSdmJVTnZiWEJ2Ym1WdWRITjlYRzRnSUNBZ0lDQWdJQ0FnTHo1Y2JpQWdJQ0FnSUNBZ1BDOWthWFkrWEc0Z0lDQWdJQ0FwZlZ4dUlDQWdJRHd2VTJWamRHbHZia052YlhCdmJtVnVkRDVjYmlBZ0tTQTZJRzUxYkd3N1hHNWNibU52Ym5OMElFaGxZV1JsY2xObFkzUnBiMjRnUFNBb2V5QmpkWE4wYjIxRGIyMXdiMjVsYm5SekxDQnBaQ3dnYVhSbGJYTXNJRzVsYzNSbFpFZHliM1Z3UzJWNUlIMHBJRDArWEc0Z0lHbDBaVzF6TG14bGJtZDBhQ0EvSUNoY2JpQWdJQ0E4U0dWaFpHVnlVMlZqZEdsdmJrTnZiWEJ2Ym1WdWRDQnBaRDE3YVdSOUlHdGxlVDE3Ym1WemRHVmtSM0p2ZFhCTFpYbDlQbHh1SUNBZ0lDQWdleWg3SUdOc1lYTnpUbUZ0WlNCOUtTQTlQaUFvWEc0Z0lDQWdJQ0FnSUR4a2FYWWdZMnhoYzNOT1lXMWxQWHRqYkdGemMwNWhiV1Y5UGx4dUlDQWdJQ0FnSUNBZ0lEeFVlWEJsWkVsMFpXMXpVbVZ1WkdWeVpYSmNiaUFnSUNBZ0lDQWdJQ0FnSUdsMFpXMXpQWHRwZEdWdGMzMWNiaUFnSUNBZ0lDQWdJQ0FnSUdOMWMzUnZiVU52YlhCdmJtVnVkSE05ZTJOMWMzUnZiVU52YlhCdmJtVnVkSE45WEc0Z0lDQWdJQ0FnSUNBZ0x6NWNiaUFnSUNBZ0lDQWdQQzlrYVhZK1hHNGdJQ0FnSUNBcGZWeHVJQ0FnSUR3dlNHVmhaR1Z5VTJWamRHbHZia052YlhCdmJtVnVkRDVjYmlBZ0tTQTZJRzUxYkd3N1hHNWNibU52Ym5OMElFMWxiblZUWldOMGFXOXVJRDBnS0h0Y2JpQWdZV3gzWVhselUyaHZkMU5qY205c2JFaHBiblFzWEc0Z0lHTjFjM1J2YlVOdmJYQnZibVZ1ZEhNc1hHNGdJR2xrTEZ4dUlDQnBkR1Z0Y3l4Y2JpQWdibVZ6ZEdWa1IzSnZkWEJMWlhrc1hHNGdJSEJoY21WdWRFbGtMRnh1ZlNrZ1BUNGdLRnh1SUNBOFRXVnVkVk5sWTNScGIyNURiMjF3YjI1bGJuUmNiaUFnSUNCaGJIZGhlWE5UYUc5M1UyTnliMnhzU0dsdWREMTdZV3gzWVhselUyaHZkMU5qY205c2JFaHBiblI5WEc0Z0lDQWdhV1E5ZTJsa2ZWeHVJQ0FnSUd0bGVUMTdibVZ6ZEdWa1IzSnZkWEJMWlhsOVhHNGdJQ0FnY0dGeVpXNTBTV1E5ZTNCaGNtVnVkRWxrZlZ4dUlDQStYRzRnSUNBZ2V5aDdJR05zWVhOelRtRnRaU0I5S1NBOVBpQW9YRzRnSUNBZ0lDQThaR2wySUdOc1lYTnpUbUZ0WlQxN1kyeGhjM05PWVcxbGZUNWNiaUFnSUNBZ0lDQWdQRlI1Y0dWa1NYUmxiWE5TWlc1a1pYSmxjaUJwZEdWdGN6MTdhWFJsYlhOOUlHTjFjM1J2YlVOdmJYQnZibVZ1ZEhNOWUyTjFjM1J2YlVOdmJYQnZibVZ1ZEhOOUlDOCtYRzRnSUNBZ0lDQThMMlJwZGo1Y2JpQWdJQ0FwZlZ4dUlDQThMMDFsYm5WVFpXTjBhVzl1UTI5dGNHOXVaVzUwUGx4dUtUdGNibHh1WTI5dWMzUWdVMjl5ZEdGaWJHVkRiMjUwWlhoMElEMGdLSHRjYmlBZ1kzVnpkRzl0UTI5dGNHOXVaVzUwY3l4Y2JpQWdhV1FzWEc0Z0lHbDBaVzF6TEZ4dUlDQnZia1J5WVdkVGRHRnlkQ3hjYmlBZ2IyNUVjbUZuVlhCa1lYUmxMRnh1SUNCdmJrUnlZV2RGYm1Rc1hHNTlLU0E5UGx4dUlDQnBkR1Z0Y3lBbUppQnBkR1Z0Y3k1c1pXNW5kR2dnUHlBb1hHNGdJQ0FnUEV4aGVubFRiM0owWVdKc1pVTnZiblJsZUhSRGIyMXdiMjVsYm5SY2JpQWdJQ0FnSUdsa1BYdHBaSDFjYmlBZ0lDQWdJRzl1UkhKaFoxTjBZWEowUFh0dmJrUnlZV2RUZEdGeWRIMWNiaUFnSUNBZ0lHOXVSSEpoWjFWd1pHRjBaVDE3YjI1RWNtRm5WWEJrWVhSbGZWeHVJQ0FnSUNBZ2IyNUVjbUZuUlc1a1BYdHZia1J5WVdkRmJtUjlYRzRnSUNBZ1BseHVJQ0FnSUNBZ1BGUjVjR1ZrU1hSbGJYTlNaVzVrWlhKbGNpQnBkR1Z0Y3oxN2FYUmxiWE45SUdOMWMzUnZiVU52YlhCdmJtVnVkSE05ZTJOMWMzUnZiVU52YlhCdmJtVnVkSE45SUM4K1hHNGdJQ0FnUEM5TVlYcDVVMjl5ZEdGaWJHVkRiMjUwWlhoMFEyOXRjRzl1Wlc1MFBseHVJQ0FwSURvZ2JuVnNiRHRjYmx4dVkyOXVjM1FnYVhSbGJVTnZiWEJ2Ym1WdWRITWdQU0I3WEc0Z0lFSmhZMnRKZEdWdExGeHVJQ0JEYjI1MFlXbHVaWEpJWldGa1pYSXNYRzRnSUVSbFluVm5MRnh1SUNCSGIxUnZTWFJsYlN4Y2JpQWdSM0p2ZFhCSVpXRmthVzVuTEZ4dUlDQkpkR1Z0T2lCRGIyNXVaV04wWldSSmRHVnRMRnh1SUNCVGIzSjBZV0pzWlVsMFpXMDZJRXhoZW5sVGIzSjBZV0pzWlVsMFpXMHNYRzRnSUZObFkzUnBiMjVJWldGa2FXNW5MRnh1SUNCVFpYQmhjbUYwYjNJc1hHNGdJRk4zYVhSamFHVnlPaUJNWVhwNVUzZHBkR05vWlhJc1hHNGdJRmR2Y21SdFlYSnJMRnh1ZlR0Y2JseHVZMjl1YzNRZ2NtVnVaR1Z5U1hSbGJVTnZiWEJ2Ym1WdWRDQTlJQ2h3Y205d2N5d2dhMlY1TENCcGJtUmxlQ2tnUFQ0Z2UxeHVJQ0JzWlhRZ1pXeGxiV1Z1ZENBOUlHNTFiR3c3WEc0Z0lDOHZJRmRsSUc1bFpXUWdZVzRnWlhod2JHbGphWFFnWTI5dVpHbDBhVzl1WVd3Z1lXZGhhVzV6ZENCbFlXTm9JSFI1Y0dVZ1ptOXlJR1pzYjNjZ2RIbHdaU0J5WldacGJtVnRaVzUwSUhSdklIZHZjbXRjYmlBZ2FXWWdLSEJ5YjNCekxuUjVjR1VnUFQwOUlDZENZV05yU1hSbGJTY3BJSHRjYmlBZ0lDQmpiMjV6ZENCN0lIUjVjR1VzSUM0dUxtTnZiWEJRY205d2N5QjlJRDBnY0hKdmNITTdYRzRnSUNBZ1pXeGxiV1Z1ZENBOUlEeENZV05yU1hSbGJTQnJaWGs5ZTJ0bGVYMGdleTR1TG1OdmJYQlFjbTl3YzMwZ2FXNWtaWGc5ZTJsdVpHVjRmU0F2UGp0Y2JpQWdmU0JsYkhObElHbG1JQ2h3Y205d2N5NTBlWEJsSUQwOVBTQW5RMjl1ZEdGcGJtVnlTR1ZoWkdWeUp5a2dlMXh1SUNBZ0lHTnZibk4wSUhzZ2RIbHdaU3dnTGk0dVkyOXRjRkJ5YjNCeklIMGdQU0J3Y205d2N6dGNiaUFnSUNCbGJHVnRaVzUwSUQwZ1BFTnZiblJoYVc1bGNraGxZV1JsY2lCclpYazllMnRsZVgwZ2V5NHVMbU52YlhCUWNtOXdjMzBnTHo0N1hHNGdJSDBnWld4elpTQnBaaUFvY0hKdmNITXVkSGx3WlNBOVBUMGdKMFJsWW5Wbkp5a2dlMXh1SUNBZ0lHTnZibk4wSUhzZ2RIbHdaU3dnTGk0dVkyOXRjRkJ5YjNCeklIMGdQU0J3Y205d2N6dGNiaUFnSUNCbGJHVnRaVzUwSUQwZ1BFUmxZblZuSUd0bGVUMTdhMlY1ZlNCN0xpNHVZMjl0Y0ZCeWIzQnpmU0F2UGp0Y2JpQWdmU0JsYkhObElHbG1JQ2h3Y205d2N5NTBlWEJsSUQwOVBTQW5SMjlVYjBsMFpXMG5LU0I3WEc0Z0lDQWdZMjl1YzNRZ2V5QjBlWEJsTENBdUxpNWpiMjF3VUhKdmNITWdmU0E5SUhCeWIzQnpPMXh1SUNBZ0lHVnNaVzFsYm5RZ1BTQThSMjlVYjBsMFpXMGdhMlY1UFh0clpYbDlJSHN1TGk1amIyMXdVSEp2Y0hOOUlHbHVaR1Y0UFh0cGJtUmxlSDBnTHo0N1hHNGdJSDBnWld4elpTQnBaaUFvY0hKdmNITXVkSGx3WlNBOVBUMGdKMGwwWlcwbktTQjdYRzRnSUNBZ1kyOXVjM1FnZXlCMGVYQmxMQ0F1TGk1amIyMXdVSEp2Y0hNZ2ZTQTlJSEJ5YjNCek8xeHVJQ0FnSUdWc1pXMWxiblFnUFNBOFEyOXVibVZqZEdWa1NYUmxiU0JyWlhrOWUydGxlWDBnZXk0dUxtTnZiWEJRY205d2MzMGdhVzVrWlhnOWUybHVaR1Y0ZlNBdlBqdGNiaUFnZlNCbGJITmxJR2xtSUNod2NtOXdjeTUwZVhCbElEMDlQU0FuVTI5eWRHRmliR1ZKZEdWdEp5a2dlMXh1SUNBZ0lHTnZibk4wSUhzZ2RIbHdaU3dnTGk0dVkyOXRjRkJ5YjNCeklIMGdQU0J3Y205d2N6dGNiaUFnSUNCbGJHVnRaVzUwSUQwZ1BFeGhlbmxUYjNKMFlXSnNaVWwwWlcwZ2EyVjVQWHRyWlhsOUlIc3VMaTVqYjIxd1VISnZjSE45SUdsdVpHVjRQWHRwYm1SbGVIMGdMejQ3WEc0Z0lIMGdaV3h6WlNCcFppQW9jSEp2Y0hNdWRIbHdaU0E5UFQwZ0oxTmxZM1JwYjI1SVpXRmthVzVuSnlrZ2UxeHVJQ0FnSUdOdmJuTjBJSHNnZEhsd1pTd2dhV1FzSUM0dUxtTnZiWEJRY205d2N5QjlJRDBnY0hKdmNITTdYRzRnSUNBZ1pXeGxiV1Z1ZENBOUlEeFRaV04wYVc5dVNHVmhaR2x1WnlCclpYazllMnRsZVgwZ2V5NHVMbU52YlhCUWNtOXdjMzBnTHo0N1hHNGdJSDBnWld4elpTQnBaaUFvY0hKdmNITXVkSGx3WlNBOVBUMGdKMU5sY0dGeVlYUnZjaWNwSUh0Y2JpQWdJQ0JqYjI1emRDQjdJSFI1Y0dVc0lHbGtMQ0F1TGk1amIyMXdVSEp2Y0hNZ2ZTQTlJSEJ5YjNCek8xeHVJQ0FnSUdWc1pXMWxiblFnUFNBOFUyVndZWEpoZEc5eUlHdGxlVDE3YTJWNWZTQjdMaTR1WTI5dGNGQnliM0J6ZlNBdlBqdGNiaUFnZlNCbGJITmxJR2xtSUNod2NtOXdjeTUwZVhCbElEMDlQU0FuVTNkcGRHTm9aWEluS1NCN1hHNGdJQ0FnWTI5dWMzUWdleUIwZVhCbExDQXVMaTVqYjIxd1VISnZjSE1nZlNBOUlIQnliM0J6TzF4dUlDQWdJR1ZzWlcxbGJuUWdQU0E4VEdGNmVWTjNhWFJqYUdWeUlHdGxlVDE3YTJWNWZTQjdMaTR1WTI5dGNGQnliM0J6ZlNBdlBqdGNiaUFnZlNCbGJITmxJR2xtSUNod2NtOXdjeTUwZVhCbElEMDlQU0FuVjI5eVpHMWhjbXNuS1NCN1hHNGdJQ0FnWTI5dWMzUWdleUIwZVhCbExDQnBaQ3dnTGk0dVkyOXRjRkJ5YjNCeklIMGdQU0J3Y205d2N6dGNiaUFnSUNCbGJHVnRaVzUwSUQwZ1BGZHZjbVJ0WVhKcklHdGxlVDE3YTJWNWZTQjdMaTR1WTI5dGNGQnliM0J6ZlNBdlBqdGNiaUFnZlZ4dVhHNGdJSEpsZEhWeWJpQmxiR1Z0Wlc1ME8xeHVmVHRjYmx4dVkyOXVjM1FnWjNKdmRYQkRiMjF3YjI1bGJuUnpJRDBnZTF4dUlDQkhjbTkxY0N4Y2JpQWdTR1ZoWkdWeVUyVmpkR2x2Yml4Y2JpQWdUV1Z1ZFZObFkzUnBiMjRzWEc0Z0lGTmxZM1JwYjI0c1hHNGdJRk52Y25SaFlteGxRMjl1ZEdWNGRDeGNiaUFnVTI5eWRHRmliR1ZIY205MWNDeGNibjA3WEc1Y2JtTnZibk4wSUhKbGJtUmxja2R5YjNWd1EyOXRjRzl1Wlc1MElEMGdLSEJ5YjNCekxDQnJaWGtzSUdOMWMzUnZiVU52YlhCdmJtVnVkSE1wSUQwK0lIdGNiaUFnYkdWMElHVnNaVzFsYm5RZ1BTQnVkV3hzTzF4dUlDQXZMeUJYWlNCdVpXVmtJR0Z1SUdWNGNHeHBZMmwwSUdOdmJtUnBkR2x2Ym1Gc0lHRm5ZV2x1YzNRZ1pXRmphQ0IwZVhCbElHWnZjaUJtYkc5M0lIUjVjR1VnY21WbWFXNWxiV1Z1ZENCMGJ5QjNiM0pyWEc0Z0lHbG1JQ2h3Y205d2N5NTBlWEJsSUQwOVBTQW5SM0p2ZFhBbktTQjdYRzRnSUNBZ1kyOXVjM1FnZXlCMGVYQmxMQ0F1TGk1amIyMXdVSEp2Y0hNZ2ZTQTlJSEJ5YjNCek8xeHVJQ0FnSUdWc1pXMWxiblFnUFNBb1hHNGdJQ0FnSUNBOFIzSnZkWEFnYTJWNVBYdHJaWGw5SUhzdUxpNWpiMjF3VUhKdmNITjlJR04xYzNSdmJVTnZiWEJ2Ym1WdWRITTllMk4xYzNSdmJVTnZiWEJ2Ym1WdWRITjlJQzgrWEc0Z0lDQWdLVHRjYmlBZ2ZTQmxiSE5sSUdsbUlDaHdjbTl3Y3k1MGVYQmxJRDA5UFNBblNHVmhaR1Z5VTJWamRHbHZiaWNwSUh0Y2JpQWdJQ0JqYjI1emRDQjdJSFI1Y0dVc0lDNHVMbU52YlhCUWNtOXdjeUI5SUQwZ2NISnZjSE03WEc0Z0lDQWdaV3hsYldWdWRDQTlJQ2hjYmlBZ0lDQWdJRHhJWldGa1pYSlRaV04wYVc5dVhHNGdJQ0FnSUNBZ0lHdGxlVDE3YTJWNWZWeHVJQ0FnSUNBZ0lDQjdMaTR1WTI5dGNGQnliM0J6ZlZ4dUlDQWdJQ0FnSUNCamRYTjBiMjFEYjIxd2IyNWxiblJ6UFh0amRYTjBiMjFEYjIxd2IyNWxiblJ6ZlZ4dUlDQWdJQ0FnTHo1Y2JpQWdJQ0FwTzF4dUlDQjlJR1ZzYzJVZ2FXWWdLSEJ5YjNCekxuUjVjR1VnUFQwOUlDZE5aVzUxVTJWamRHbHZiaWNwSUh0Y2JpQWdJQ0JqYjI1emRDQjdJSFI1Y0dVc0lDNHVMbU52YlhCUWNtOXdjeUI5SUQwZ2NISnZjSE03WEc0Z0lDQWdaV3hsYldWdWRDQTlJQ2hjYmlBZ0lDQWdJRHhOWlc1MVUyVmpkR2x2Ymx4dUlDQWdJQ0FnSUNCclpYazllMnRsZVgxY2JpQWdJQ0FnSUNBZ2V5NHVMbU52YlhCUWNtOXdjMzFjYmlBZ0lDQWdJQ0FnWTNWemRHOXRRMjl0Y0c5dVpXNTBjejE3WTNWemRHOXRRMjl0Y0c5dVpXNTBjMzFjYmlBZ0lDQWdJQzgrWEc0Z0lDQWdLVHRjYmlBZ2ZTQmxiSE5sSUdsbUlDaHdjbTl3Y3k1MGVYQmxJRDA5UFNBblUyVmpkR2x2YmljcElIdGNiaUFnSUNCamIyNXpkQ0I3SUhSNWNHVXNJQzR1TG1OdmJYQlFjbTl3Y3lCOUlEMGdjSEp2Y0hNN1hHNGdJQ0FnWld4bGJXVnVkQ0E5SUNoY2JpQWdJQ0FnSUR4VFpXTjBhVzl1SUd0bGVUMTdhMlY1ZlNCN0xpNHVZMjl0Y0ZCeWIzQnpmU0JqZFhOMGIyMURiMjF3YjI1bGJuUnpQWHRqZFhOMGIyMURiMjF3YjI1bGJuUnpmU0F2UGx4dUlDQWdJQ2s3WEc0Z0lIMGdaV3h6WlNCcFppQW9jSEp2Y0hNdWRIbHdaU0E5UFQwZ0oxTnZjblJoWW14bFEyOXVkR1Y0ZENjcElIdGNiaUFnSUNCamIyNXpkQ0I3SUhSNWNHVXNJQzR1TG1OdmJYQlFjbTl3Y3lCOUlEMGdjSEp2Y0hNN1hHNGdJQ0FnWld4bGJXVnVkQ0E5SUNoY2JpQWdJQ0FnSUR4VGIzSjBZV0pzWlVOdmJuUmxlSFJjYmlBZ0lDQWdJQ0FnYTJWNVBYdHJaWGw5WEc0Z0lDQWdJQ0FnSUhzdUxpNWpiMjF3VUhKdmNITjlYRzRnSUNBZ0lDQWdJR04xYzNSdmJVTnZiWEJ2Ym1WdWRITTllMk4xYzNSdmJVTnZiWEJ2Ym1WdWRITjlYRzRnSUNBZ0lDQXZQbHh1SUNBZ0lDazdYRzRnSUgwZ1pXeHpaU0JwWmlBb2NISnZjSE11ZEhsd1pTQTlQVDBnSjFOdmNuUmhZbXhsUjNKdmRYQW5LU0I3WEc0Z0lDQWdZMjl1YzNRZ2V5QjBlWEJsTENBdUxpNWpiMjF3VUhKdmNITWdmU0E5SUhCeWIzQnpPMXh1SUNBZ0lHVnNaVzFsYm5RZ1BTQW9YRzRnSUNBZ0lDQThVMjl5ZEdGaWJHVkhjbTkxY0Z4dUlDQWdJQ0FnSUNCclpYazllMnRsZVgxY2JpQWdJQ0FnSUNBZ2V5NHVMbU52YlhCUWNtOXdjMzFjYmlBZ0lDQWdJQ0FnWTNWemRHOXRRMjl0Y0c5dVpXNTBjejE3WTNWemRHOXRRMjl0Y0c5dVpXNTBjMzFjYmlBZ0lDQWdJQzgrWEc0Z0lDQWdLVHRjYmlBZ2ZWeHVYRzRnSUhKbGRIVnliaUJsYkdWdFpXNTBPMXh1ZlR0Y2JseHVMeThnUlhod2IzSjBaV1FnWm05eUlIUmxjM1JwYm1jZ2NIVnljRzl6WlhNZ2IyNXNlUzVjYm1WNGNHOXlkQ0JqYjI1emRDQmpiMjF3YjI1bGJuUnpJRDBnZXlBdUxpNXBkR1Z0UTI5dGNHOXVaVzUwY3l3Z0xpNHVaM0p2ZFhCRGIyMXdiMjVsYm5SeklIMDdYRzVjYmk4cUtseHVJQ29nVWtWT1JFVlNSVkpjYmlBcUwxeHVZMnhoYzNNZ1ZIbHdaV1JKZEdWdGMxSmxibVJsY21WeUlHVjRkR1Z1WkhNZ1VIVnlaVU52YlhCdmJtVnVkQ0I3WEc0Z0lHTjFjM1J2YlVOdmJYQnZibVZ1ZEhOWGFYUm9RVzVoYkhsMGFXTnpJRDBnYm1WM0lFMWhjQ2dwTzF4dVhHNGdJR2RsZEVOMWMzUnZiVU52YlhCdmJtVnVkQ0E5SUdOdmJYQnZibVZ1ZENBOVBpQjdYRzRnSUNBZ0x5OGdZMkZqYUdVZ1kzVnpkRzl0SUdOdmJYQnZibVZ1ZEhNZ2QzSmhjSEJsWkNCM2FYUm9JR0Z1WVd4NWRHbGpjMXh1SUNBZ0lDOHZJSFJ2SUhCeVpYWmxiblFnY21VdGJXOTFiblJwYm1jZ2IyWWdZMjl0Y0c5dVpXNTBJRzl1SUhKbExYSmxibVJsY2x4dUlDQWdJR052Ym5OMElIc2dZM1Z6ZEc5dFEyOXRjRzl1Wlc1MGN5QTlJSHQ5SUgwZ1BTQjBhR2x6TG5CeWIzQnpPMXh1SUNBZ0lHeGxkQ0JqWVdOb1pXUkRiMjF3YjI1bGJuUWdQU0IwYUdsekxtTjFjM1J2YlVOdmJYQnZibVZ1ZEhOWGFYUm9RVzVoYkhsMGFXTnpMbWRsZENoamIyMXdiMjVsYm5RcE8xeHVJQ0FnSUdsbUlDZ2hZMkZqYUdWa1EyOXRjRzl1Wlc1MEtTQjdYRzRnSUNBZ0lDQmpZV05vWldSRGIyMXdiMjVsYm5RZ1BWeHVJQ0FnSUNBZ0lDQjBlWEJsYjJZZ1kyOXRjRzl1Wlc1MElEMDlQU0FuYzNSeWFXNW5KMXh1SUNBZ0lDQWdJQ0FnSUQ4Z2JtRjJhV2RoZEdsdmJrbDBaVzFEYkdsamEyVmtLR04xYzNSdmJVTnZiWEJ2Ym1WdWRITmJZMjl0Y0c5dVpXNTBYU3dnWTI5dGNHOXVaVzUwS1Z4dUlDQWdJQ0FnSUNBZ0lEb2dibUYyYVdkaGRHbHZia2wwWlcxRGJHbGphMlZrS0Z4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0JqYjIxd2IyNWxiblFzWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJR052YlhCdmJtVnVkQzVrYVhOd2JHRjVUbUZ0WlNCOGZDQW5hVzVzYVc1bFEzVnpkRzl0UTI5dGNHOXVaVzUwSnl4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ2s3WEc0Z0lDQWdJQ0IwYUdsekxtTjFjM1J2YlVOdmJYQnZibVZ1ZEhOWGFYUm9RVzVoYkhsMGFXTnpMbk5sZENoamIyMXdiMjVsYm5Rc0lHTmhZMmhsWkVOdmJYQnZibVZ1ZENrN1hHNGdJQ0FnZlZ4dUlDQWdJSEpsZEhWeWJpQmpZV05vWldSRGIyMXdiMjVsYm5RN1hHNGdJSDA3WEc1Y2JpQWdjbVZ1WkdWeUtDa2dlMXh1SUNBZ0lHTnZibk4wSUhzZ1kzVnpkRzl0UTI5dGNHOXVaVzUwY3lBOUlIdDlMQ0JwZEdWdGN5QjlJRDBnZEdocGN5NXdjbTl3Y3p0Y2JseHVJQ0FnSUM4dklGZGxJR05oYm01dmRDQmtaWE4wY25WamRIVnlaU0J3Y205d2N5NTBlWEJsSUc5MGFHVnlkMmx6WlNCbWJHOTNJSFI1Y0dVZ2NtVm1hVzV0Wlc1MElHUnZaWE1nYm05MElIZHZjbXRjYmlBZ0lDQXZMeUJvZEhSd2N6b3ZMMmRwZEdoMVlpNWpiMjB2Wm1GalpXSnZiMnN2Wm14dmR5OXBjM04xWlhNdk5USTFPVnh1SUNBZ0lISmxkSFZ5YmlCcGRHVnRjeTV0WVhBb0tIQnliM0J6TENCcGJtUmxlQ2tnUFQ0Z2UxeHVJQ0FnSUNBZ1kyOXVjM1FnYTJWNUlEMWNiaUFnSUNBZ0lDQWdkSGx3Wlc5bUlIQnliM0J6TG01bGMzUmxaRWR5YjNWd1MyVjVJRDA5UFNBbmMzUnlhVzVuSjF4dUlDQWdJQ0FnSUNBZ0lEOGdjSEp2Y0hNdWJtVnpkR1ZrUjNKdmRYQkxaWGxjYmlBZ0lDQWdJQ0FnSUNBNklIQnliM0J6TG1sa08xeHVYRzRnSUNBZ0lDQnBaaUFvY0hKdmNITXVkSGx3WlNBOVBUMGdKMGx1YkdsdVpVTnZiWEJ2Ym1WdWRDY3BJSHRjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdleUIwZVhCbExDQmpiMjF3YjI1bGJuUXNJQzR1TG1OdmJYQnZibVZ1ZEZCeWIzQnpJSDBnUFNCd2NtOXdjenRjYmlBZ0lDQWdJQ0FnTHk4Z1NXWWdkR2hsZVNkMlpTQndjbTkyYVdSbFpDQmhJR052YlhCdmJtVnVkQ0JoY3lCMGFHVWdkSGx3WlZ4dUlDQWdJQ0FnSUNCamIyNXpkQ0JEZFhOMGIyMURiMjF3YjI1bGJuUWdQU0IwYUdsekxtZGxkRU4xYzNSdmJVTnZiWEJ2Ym1WdWRDaHdjbTl3Y3k1amIyMXdiMjVsYm5RcE8xeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z0tGeHVJQ0FnSUNBZ0lDQWdJRHhEZFhOMGIyMURiMjF3YjI1bGJuUmNiaUFnSUNBZ0lDQWdJQ0FnSUd0bGVUMTdhMlY1ZlZ4dUlDQWdJQ0FnSUNBZ0lDQWdleTR1TG1OdmJYQnZibVZ1ZEZCeWIzQnpmVnh1SUNBZ0lDQWdJQ0FnSUNBZ2FXNWtaWGc5ZTJsdVpHVjRmVnh1SUNBZ0lDQWdJQ0FnSUNBZ0x5OGdWMlVnY0dGemN5QnZkWElnYVc0dFluVnBiSFFnWTI5dGNHOXVaVzUwY3lCMGFISnZkV2RvSUhSdklHTjFjM1J2YlNCamIyMXdiMjVsYm5SeklITnZYRzRnSUNBZ0lDQWdJQ0FnSUNBdkx5QjBhR1Y1SUdOaGJpQjNjbUZ3TDNKbGJtUmxjaUIwYUdWdElHbG1JSFJvWlhrZ2QyRnVkQ0IwYnk1Y2JpQWdJQ0FnSUNBZ0lDQWdJR052YlhCdmJtVnVkSE05ZTJOdmJYQnZibVZ1ZEhOOVhHNGdJQ0FnSUNBZ0lDQWdJQ0JqZFhOMGIyMURiMjF3YjI1bGJuUnpQWHRqZFhOMGIyMURiMjF3YjI1bGJuUnpmVnh1SUNBZ0lDQWdJQ0FnSUM4K1hHNGdJQ0FnSUNBZ0lDazdYRzRnSUNBZ0lDQjlYRzRnSUNBZ0lDQnBaaUFvVDJKcVpXTjBMbXRsZVhNb1ozSnZkWEJEYjIxd2IyNWxiblJ6S1M1cGJtTnNkV1JsY3lod2NtOXdjeTUwZVhCbEtTa2dlMXh1SUNBZ0lDQWdJQ0F2THlCSlppQjBhR1Y1SjNabElIQnliM1pwWkdWa0lHRWdkSGx3WlNCM2FHbGphQ0J0WVhSamFHVnpJRzl1WlNCdlppQnZkWElnYVc0dFluVnBiSFFnWjNKdmRYQmNiaUFnSUNBZ0lDQWdMeThnWTI5dGNHOXVaVzUwYzF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnY21WdVpHVnlSM0p2ZFhCRGIyMXdiMjVsYm5Rb2NISnZjSE1zSUd0bGVTd2dZM1Z6ZEc5dFEyOXRjRzl1Wlc1MGN5azdYRzRnSUNBZ0lDQWdJQzh2SUVsbUlIUm9aWGtuZG1VZ2NISnZkbWxrWldRZ1lTQjBlWEJsSUhkb2FXTm9JRzFoZEdOb1pYTWdiMjVsSUc5bUlHOTFjaUJwYmkxaWRXbHNkQ0JwZEdWdFhHNGdJQ0FnSUNBZ0lDOHZJR052YlhCdmJtVnVkSE11WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdJQ0JwWmlBb1QySnFaV04wTG10bGVYTW9hWFJsYlVOdmJYQnZibVZ1ZEhNcExtbHVZMngxWkdWektIQnliM0J6TG5SNWNHVXBLU0I3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJ5Wlc1a1pYSkpkR1Z0UTI5dGNHOXVaVzUwS0hCeWIzQnpMQ0JyWlhrc0lHbHVaR1Y0S1R0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0FnSUdsbUlDaFBZbXBsWTNRdWEyVjVjeWhqZFhOMGIyMURiMjF3YjI1bGJuUnpLUzVwYm1Oc2RXUmxjeWh3Y205d2N5NTBlWEJsS1NrZ2UxeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCN0lIUjVjR1VzSUM0dUxtTnZiWEJ2Ym1WdWRGQnliM0J6SUgwZ1BTQndjbTl3Y3p0Y2JpQWdJQ0FnSUNBZ0x5OGdTV1lnZEdobGVTZDJaU0J3Y205MmFXUmxaQ0JoSUhSNWNHVWdkMmhwWTJnZ2JXRjBZMmhsY3lCdmJtVWdiMllnZEdobGFYSWdaR1ZtYVc1bFpDQmpkWE4wYjIxY2JpQWdJQ0FnSUNBZ0x5OGdZMjl0Y0c5dVpXNTBjeTVjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdRM1Z6ZEc5dFEyOXRjRzl1Wlc1MElEMGdkR2hwY3k1blpYUkRkWE4wYjIxRGIyMXdiMjVsYm5Rb2RIbHdaU2s3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUFvWEc0Z0lDQWdJQ0FnSUNBZ1BFTjFjM1J2YlVOdmJYQnZibVZ1ZEZ4dUlDQWdJQ0FnSUNBZ0lDQWdhMlY1UFh0clpYbDlYRzRnSUNBZ0lDQWdJQ0FnSUNCN0xpNHVZMjl0Y0c5dVpXNTBVSEp2Y0hOOVhHNGdJQ0FnSUNBZ0lDQWdJQ0JwYm1SbGVEMTdhVzVrWlhoOVhHNGdJQ0FnSUNBZ0lDQWdJQ0F2THlCWFpTQndZWE56SUc5MWNpQnBiaTFpZFdsc2RDQmpiMjF3YjI1bGJuUnpJSFJvY205MVoyZ2dkRzhnWTNWemRHOXRJR052YlhCdmJtVnVkSE1nYzI5Y2JpQWdJQ0FnSUNBZ0lDQWdJQzh2SUhSb1pYa2dZMkZ1SUhkeVlYQXZjbVZ1WkdWeUlIUm9aVzBnYVdZZ2RHaGxlU0IzWVc1MElIUnZMbHh1SUNBZ0lDQWdJQ0FnSUNBZ1kyOXRjRzl1Wlc1MGN6MTdZMjl0Y0c5dVpXNTBjMzFjYmlBZ0lDQWdJQ0FnSUNBZ0lHTjFjM1J2YlVOdmJYQnZibVZ1ZEhNOWUyTjFjM1J2YlVOdmJYQnZibVZ1ZEhOOVhHNGdJQ0FnSUNBZ0lDQWdMejVjYmlBZ0lDQWdJQ0FnS1R0Y2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ2NtVjBkWEp1SUR4RVpXSjFaeUJyWlhrOWUydGxlWDBnZEhsd1pUMTdjSEp2Y0hNdWRIbHdaWDBnZXk0dUxuQnliM0J6ZlNBdlBqdGNiaUFnSUNCOUtUdGNiaUFnZlZ4dWZWeHVYRzVsZUhCdmNuUWdaR1ZtWVhWc2RDQlVlWEJsWkVsMFpXMXpVbVZ1WkdWeVpYSTdYRzRpWFgwPSAqL1wiKVxuICB9LCBKU09OLnN0cmluZ2lmeShwcm9wcywgbnVsbCwgMikpO1xufTtcbi8qKlxuICogR1JPVVBTXG4gKi9cbi8vIEdyb3VwXG5cblxudmFyIEdyb3VwID0gZnVuY3Rpb24gR3JvdXAoX3JlZjMpIHtcbiAgdmFyIGN1c3RvbUNvbXBvbmVudHMgPSBfcmVmMy5jdXN0b21Db21wb25lbnRzLFxuICAgICAgaGFzU2VwYXJhdG9yID0gX3JlZjMuaGFzU2VwYXJhdG9yLFxuICAgICAgaGVhZGluZyA9IF9yZWYzLmhlYWRpbmcsXG4gICAgICBpdGVtcyA9IF9yZWYzLml0ZW1zLFxuICAgICAgaWQgPSBfcmVmMy5pZDtcbiAgcmV0dXJuIGl0ZW1zLmxlbmd0aCA/IF9fX0Vtb3Rpb25KU1goR3JvdXBDb21wb25lbnQsIHtcbiAgICBoZWFkaW5nOiBoZWFkaW5nLFxuICAgIGhhc1NlcGFyYXRvcjogaGFzU2VwYXJhdG9yLFxuICAgIGlkOiBpZFxuICB9LCBfX19FbW90aW9uSlNYKFR5cGVkSXRlbXNSZW5kZXJlciwge1xuICAgIGl0ZW1zOiBpdGVtcyxcbiAgICBjdXN0b21Db21wb25lbnRzOiBjdXN0b21Db21wb25lbnRzXG4gIH0pKSA6IG51bGw7XG59O1xuXG52YXIgU29ydGFibGVHcm91cCA9IGZ1bmN0aW9uIFNvcnRhYmxlR3JvdXAoX3JlZjQpIHtcbiAgdmFyIGN1c3RvbUNvbXBvbmVudHMgPSBfcmVmNC5jdXN0b21Db21wb25lbnRzLFxuICAgICAgaGFzU2VwYXJhdG9yID0gX3JlZjQuaGFzU2VwYXJhdG9yLFxuICAgICAgaGVhZGluZyA9IF9yZWY0LmhlYWRpbmcsXG4gICAgICBpdGVtcyA9IF9yZWY0Lml0ZW1zLFxuICAgICAgaWQgPSBfcmVmNC5pZDtcbiAgcmV0dXJuIGl0ZW1zICYmIGl0ZW1zLmxlbmd0aCA/IF9fX0Vtb3Rpb25KU1goTGF6eVNvcnRhYmxlR3JvdXBDb21wb25lbnQsIHtcbiAgICBoZWFkaW5nOiBoZWFkaW5nLFxuICAgIGhhc1NlcGFyYXRvcjogaGFzU2VwYXJhdG9yLFxuICAgIGlkOiBpZFxuICB9LCBfX19FbW90aW9uSlNYKFJlbmRlckJsb2NrZXIsIHtcbiAgICBpdGVtczogaXRlbXMsXG4gICAgY3VzdG9tQ29tcG9uZW50czogY3VzdG9tQ29tcG9uZW50c1xuICB9LCBfX19FbW90aW9uSlNYKFR5cGVkSXRlbXNSZW5kZXJlciwge1xuICAgIGl0ZW1zOiBpdGVtcyxcbiAgICBjdXN0b21Db21wb25lbnRzOiBjdXN0b21Db21wb25lbnRzXG4gIH0pKSkgOiBudWxsO1xufTsgLy8gU2VjdGlvblxuXG5cbnZhciBTZWN0aW9uID0gZnVuY3Rpb24gU2VjdGlvbihfcmVmNSkge1xuICB2YXIgX3JlZjUkYWx3YXlzU2hvd1Njcm9sID0gX3JlZjUuYWx3YXlzU2hvd1Njcm9sbEhpbnQsXG4gICAgICBhbHdheXNTaG93U2Nyb2xsSGludCA9IF9yZWY1JGFsd2F5c1Nob3dTY3JvbCA9PT0gdm9pZCAwID8gZmFsc2UgOiBfcmVmNSRhbHdheXNTaG93U2Nyb2wsXG4gICAgICBjdXN0b21Db21wb25lbnRzID0gX3JlZjUuY3VzdG9tQ29tcG9uZW50cyxcbiAgICAgIGlkID0gX3JlZjUuaWQsXG4gICAgICBpdGVtcyA9IF9yZWY1Lml0ZW1zLFxuICAgICAgbmVzdGVkR3JvdXBLZXkgPSBfcmVmNS5uZXN0ZWRHcm91cEtleSxcbiAgICAgIHBhcmVudElkID0gX3JlZjUucGFyZW50SWQsXG4gICAgICBzaG91bGRHcm93ID0gX3JlZjUuc2hvdWxkR3JvdztcbiAgcmV0dXJuIGl0ZW1zLmxlbmd0aCA/IF9fX0Vtb3Rpb25KU1goU2VjdGlvbkNvbXBvbmVudCwge1xuICAgIGFsd2F5c1Nob3dTY3JvbGxIaW50OiBhbHdheXNTaG93U2Nyb2xsSGludCxcbiAgICBpZDogaWQsXG4gICAga2V5OiBuZXN0ZWRHcm91cEtleSxcbiAgICBwYXJlbnRJZDogcGFyZW50SWQsXG4gICAgc2hvdWxkR3Jvdzogc2hvdWxkR3Jvd1xuICB9LCBmdW5jdGlvbiAoX3JlZjYpIHtcbiAgICB2YXIgY2xhc3NOYW1lID0gX3JlZjYuY2xhc3NOYW1lO1xuICAgIHJldHVybiBfX19FbW90aW9uSlNYKFwiZGl2XCIsIHtcbiAgICAgIGNsYXNzTmFtZTogY2xhc3NOYW1lXG4gICAgfSwgX19fRW1vdGlvbkpTWChUeXBlZEl0ZW1zUmVuZGVyZXIsIHtcbiAgICAgIGl0ZW1zOiBpdGVtcyxcbiAgICAgIGN1c3RvbUNvbXBvbmVudHM6IGN1c3RvbUNvbXBvbmVudHNcbiAgICB9KSk7XG4gIH0pIDogbnVsbDtcbn07XG5cbnZhciBIZWFkZXJTZWN0aW9uID0gZnVuY3Rpb24gSGVhZGVyU2VjdGlvbihfcmVmNykge1xuICB2YXIgY3VzdG9tQ29tcG9uZW50cyA9IF9yZWY3LmN1c3RvbUNvbXBvbmVudHMsXG4gICAgICBpZCA9IF9yZWY3LmlkLFxuICAgICAgaXRlbXMgPSBfcmVmNy5pdGVtcyxcbiAgICAgIG5lc3RlZEdyb3VwS2V5ID0gX3JlZjcubmVzdGVkR3JvdXBLZXk7XG4gIHJldHVybiBpdGVtcy5sZW5ndGggPyBfX19FbW90aW9uSlNYKEhlYWRlclNlY3Rpb25Db21wb25lbnQsIHtcbiAgICBpZDogaWQsXG4gICAga2V5OiBuZXN0ZWRHcm91cEtleVxuICB9LCBmdW5jdGlvbiAoX3JlZjgpIHtcbiAgICB2YXIgY2xhc3NOYW1lID0gX3JlZjguY2xhc3NOYW1lO1xuICAgIHJldHVybiBfX19FbW90aW9uSlNYKFwiZGl2XCIsIHtcbiAgICAgIGNsYXNzTmFtZTogY2xhc3NOYW1lXG4gICAgfSwgX19fRW1vdGlvbkpTWChUeXBlZEl0ZW1zUmVuZGVyZXIsIHtcbiAgICAgIGl0ZW1zOiBpdGVtcyxcbiAgICAgIGN1c3RvbUNvbXBvbmVudHM6IGN1c3RvbUNvbXBvbmVudHNcbiAgICB9KSk7XG4gIH0pIDogbnVsbDtcbn07XG5cbnZhciBNZW51U2VjdGlvbiA9IGZ1bmN0aW9uIE1lbnVTZWN0aW9uKF9yZWY5KSB7XG4gIHZhciBhbHdheXNTaG93U2Nyb2xsSGludCA9IF9yZWY5LmFsd2F5c1Nob3dTY3JvbGxIaW50LFxuICAgICAgY3VzdG9tQ29tcG9uZW50cyA9IF9yZWY5LmN1c3RvbUNvbXBvbmVudHMsXG4gICAgICBpZCA9IF9yZWY5LmlkLFxuICAgICAgaXRlbXMgPSBfcmVmOS5pdGVtcyxcbiAgICAgIG5lc3RlZEdyb3VwS2V5ID0gX3JlZjkubmVzdGVkR3JvdXBLZXksXG4gICAgICBwYXJlbnRJZCA9IF9yZWY5LnBhcmVudElkO1xuICByZXR1cm4gX19fRW1vdGlvbkpTWChNZW51U2VjdGlvbkNvbXBvbmVudCwge1xuICAgIGFsd2F5c1Nob3dTY3JvbGxIaW50OiBhbHdheXNTaG93U2Nyb2xsSGludCxcbiAgICBpZDogaWQsXG4gICAga2V5OiBuZXN0ZWRHcm91cEtleSxcbiAgICBwYXJlbnRJZDogcGFyZW50SWRcbiAgfSwgZnVuY3Rpb24gKF9yZWYxMCkge1xuICAgIHZhciBjbGFzc05hbWUgPSBfcmVmMTAuY2xhc3NOYW1lO1xuICAgIHJldHVybiBfX19FbW90aW9uSlNYKFwiZGl2XCIsIHtcbiAgICAgIGNsYXNzTmFtZTogY2xhc3NOYW1lXG4gICAgfSwgX19fRW1vdGlvbkpTWChUeXBlZEl0ZW1zUmVuZGVyZXIsIHtcbiAgICAgIGl0ZW1zOiBpdGVtcyxcbiAgICAgIGN1c3RvbUNvbXBvbmVudHM6IGN1c3RvbUNvbXBvbmVudHNcbiAgICB9KSk7XG4gIH0pO1xufTtcblxudmFyIFNvcnRhYmxlQ29udGV4dCA9IGZ1bmN0aW9uIFNvcnRhYmxlQ29udGV4dChfcmVmMTEpIHtcbiAgdmFyIGN1c3RvbUNvbXBvbmVudHMgPSBfcmVmMTEuY3VzdG9tQ29tcG9uZW50cyxcbiAgICAgIGlkID0gX3JlZjExLmlkLFxuICAgICAgaXRlbXMgPSBfcmVmMTEuaXRlbXMsXG4gICAgICBvbkRyYWdTdGFydCA9IF9yZWYxMS5vbkRyYWdTdGFydCxcbiAgICAgIG9uRHJhZ1VwZGF0ZSA9IF9yZWYxMS5vbkRyYWdVcGRhdGUsXG4gICAgICBvbkRyYWdFbmQgPSBfcmVmMTEub25EcmFnRW5kO1xuICByZXR1cm4gaXRlbXMgJiYgaXRlbXMubGVuZ3RoID8gX19fRW1vdGlvbkpTWChMYXp5U29ydGFibGVDb250ZXh0Q29tcG9uZW50LCB7XG4gICAgaWQ6IGlkLFxuICAgIG9uRHJhZ1N0YXJ0OiBvbkRyYWdTdGFydCxcbiAgICBvbkRyYWdVcGRhdGU6IG9uRHJhZ1VwZGF0ZSxcbiAgICBvbkRyYWdFbmQ6IG9uRHJhZ0VuZFxuICB9LCBfX19FbW90aW9uSlNYKFR5cGVkSXRlbXNSZW5kZXJlciwge1xuICAgIGl0ZW1zOiBpdGVtcyxcbiAgICBjdXN0b21Db21wb25lbnRzOiBjdXN0b21Db21wb25lbnRzXG4gIH0pKSA6IG51bGw7XG59O1xuXG52YXIgaXRlbUNvbXBvbmVudHMgPSB7XG4gIEJhY2tJdGVtOiBCYWNrSXRlbSxcbiAgQ29udGFpbmVySGVhZGVyOiBDb250YWluZXJIZWFkZXIsXG4gIERlYnVnOiBEZWJ1ZyxcbiAgR29Ub0l0ZW06IEdvVG9JdGVtLFxuICBHcm91cEhlYWRpbmc6IEdyb3VwSGVhZGluZyxcbiAgSXRlbTogQ29ubmVjdGVkSXRlbSxcbiAgU29ydGFibGVJdGVtOiBMYXp5U29ydGFibGVJdGVtLFxuICBTZWN0aW9uSGVhZGluZzogU2VjdGlvbkhlYWRpbmcsXG4gIFNlcGFyYXRvcjogU2VwYXJhdG9yLFxuICBTd2l0Y2hlcjogTGF6eVN3aXRjaGVyLFxuICBXb3JkbWFyazogV29yZG1hcmtcbn07XG5cbnZhciByZW5kZXJJdGVtQ29tcG9uZW50ID0gZnVuY3Rpb24gcmVuZGVySXRlbUNvbXBvbmVudChwcm9wcywga2V5LCBpbmRleCkge1xuICB2YXIgZWxlbWVudCA9IG51bGw7IC8vIFdlIG5lZWQgYW4gZXhwbGljaXQgY29uZGl0aW9uYWwgYWdhaW5zdCBlYWNoIHR5cGUgZm9yIGZsb3cgdHlwZSByZWZpbmVtZW50IHRvIHdvcmtcblxuICBpZiAocHJvcHMudHlwZSA9PT0gJ0JhY2tJdGVtJykge1xuICAgIHZhciB0eXBlID0gcHJvcHMudHlwZSxcbiAgICAgICAgY29tcFByb3BzID0gX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzKHByb3BzLCBbXCJ0eXBlXCJdKTtcblxuICAgIGVsZW1lbnQgPSBfX19FbW90aW9uSlNYKEJhY2tJdGVtLCBfZXh0ZW5kcyh7XG4gICAgICBrZXk6IGtleVxuICAgIH0sIGNvbXBQcm9wcywge1xuICAgICAgaW5kZXg6IGluZGV4XG4gICAgfSkpO1xuICB9IGVsc2UgaWYgKHByb3BzLnR5cGUgPT09ICdDb250YWluZXJIZWFkZXInKSB7XG4gICAgdmFyIF90eXBlID0gcHJvcHMudHlwZSxcbiAgICAgICAgX2NvbXBQcm9wcyA9IF9vYmplY3RXaXRob3V0UHJvcGVydGllcyhwcm9wcywgW1widHlwZVwiXSk7XG5cbiAgICBlbGVtZW50ID0gX19fRW1vdGlvbkpTWChDb250YWluZXJIZWFkZXIsIF9leHRlbmRzKHtcbiAgICAgIGtleToga2V5XG4gICAgfSwgX2NvbXBQcm9wcykpO1xuICB9IGVsc2UgaWYgKHByb3BzLnR5cGUgPT09ICdEZWJ1ZycpIHtcbiAgICB2YXIgX3R5cGUyID0gcHJvcHMudHlwZSxcbiAgICAgICAgX2NvbXBQcm9wczIgPSBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMocHJvcHMsIFtcInR5cGVcIl0pO1xuXG4gICAgZWxlbWVudCA9IF9fX0Vtb3Rpb25KU1goRGVidWcsIF9leHRlbmRzKHtcbiAgICAgIGtleToga2V5XG4gICAgfSwgX2NvbXBQcm9wczIpKTtcbiAgfSBlbHNlIGlmIChwcm9wcy50eXBlID09PSAnR29Ub0l0ZW0nKSB7XG4gICAgdmFyIF90eXBlMyA9IHByb3BzLnR5cGUsXG4gICAgICAgIF9jb21wUHJvcHMzID0gX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzKHByb3BzLCBbXCJ0eXBlXCJdKTtcblxuICAgIGVsZW1lbnQgPSBfX19FbW90aW9uSlNYKEdvVG9JdGVtLCBfZXh0ZW5kcyh7XG4gICAgICBrZXk6IGtleVxuICAgIH0sIF9jb21wUHJvcHMzLCB7XG4gICAgICBpbmRleDogaW5kZXhcbiAgICB9KSk7XG4gIH0gZWxzZSBpZiAocHJvcHMudHlwZSA9PT0gJ0l0ZW0nKSB7XG4gICAgdmFyIF90eXBlNCA9IHByb3BzLnR5cGUsXG4gICAgICAgIF9jb21wUHJvcHM0ID0gX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzKHByb3BzLCBbXCJ0eXBlXCJdKTtcblxuICAgIGVsZW1lbnQgPSBfX19FbW90aW9uSlNYKENvbm5lY3RlZEl0ZW0sIF9leHRlbmRzKHtcbiAgICAgIGtleToga2V5XG4gICAgfSwgX2NvbXBQcm9wczQsIHtcbiAgICAgIGluZGV4OiBpbmRleFxuICAgIH0pKTtcbiAgfSBlbHNlIGlmIChwcm9wcy50eXBlID09PSAnU29ydGFibGVJdGVtJykge1xuICAgIHZhciBfdHlwZTUgPSBwcm9wcy50eXBlLFxuICAgICAgICBfY29tcFByb3BzNSA9IF9vYmplY3RXaXRob3V0UHJvcGVydGllcyhwcm9wcywgW1widHlwZVwiXSk7XG5cbiAgICBlbGVtZW50ID0gX19fRW1vdGlvbkpTWChMYXp5U29ydGFibGVJdGVtLCBfZXh0ZW5kcyh7XG4gICAgICBrZXk6IGtleVxuICAgIH0sIF9jb21wUHJvcHM1LCB7XG4gICAgICBpbmRleDogaW5kZXhcbiAgICB9KSk7XG4gIH0gZWxzZSBpZiAocHJvcHMudHlwZSA9PT0gJ1NlY3Rpb25IZWFkaW5nJykge1xuICAgIHZhciBfdHlwZTYgPSBwcm9wcy50eXBlLFxuICAgICAgICBpZCA9IHByb3BzLmlkLFxuICAgICAgICBfY29tcFByb3BzNiA9IF9vYmplY3RXaXRob3V0UHJvcGVydGllcyhwcm9wcywgW1widHlwZVwiLCBcImlkXCJdKTtcblxuICAgIGVsZW1lbnQgPSBfX19FbW90aW9uSlNYKFNlY3Rpb25IZWFkaW5nLCBfZXh0ZW5kcyh7XG4gICAgICBrZXk6IGtleVxuICAgIH0sIF9jb21wUHJvcHM2KSk7XG4gIH0gZWxzZSBpZiAocHJvcHMudHlwZSA9PT0gJ1NlcGFyYXRvcicpIHtcbiAgICB2YXIgX3R5cGU3ID0gcHJvcHMudHlwZSxcbiAgICAgICAgX2lkID0gcHJvcHMuaWQsXG4gICAgICAgIF9jb21wUHJvcHM3ID0gX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzKHByb3BzLCBbXCJ0eXBlXCIsIFwiaWRcIl0pO1xuXG4gICAgZWxlbWVudCA9IF9fX0Vtb3Rpb25KU1goU2VwYXJhdG9yLCBfZXh0ZW5kcyh7XG4gICAgICBrZXk6IGtleVxuICAgIH0sIF9jb21wUHJvcHM3KSk7XG4gIH0gZWxzZSBpZiAocHJvcHMudHlwZSA9PT0gJ1N3aXRjaGVyJykge1xuICAgIHZhciBfdHlwZTggPSBwcm9wcy50eXBlLFxuICAgICAgICBfY29tcFByb3BzOCA9IF9vYmplY3RXaXRob3V0UHJvcGVydGllcyhwcm9wcywgW1widHlwZVwiXSk7XG5cbiAgICBlbGVtZW50ID0gX19fRW1vdGlvbkpTWChMYXp5U3dpdGNoZXIsIF9leHRlbmRzKHtcbiAgICAgIGtleToga2V5XG4gICAgfSwgX2NvbXBQcm9wczgpKTtcbiAgfSBlbHNlIGlmIChwcm9wcy50eXBlID09PSAnV29yZG1hcmsnKSB7XG4gICAgdmFyIF90eXBlOSA9IHByb3BzLnR5cGUsXG4gICAgICAgIF9pZDIgPSBwcm9wcy5pZCxcbiAgICAgICAgX2NvbXBQcm9wczkgPSBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMocHJvcHMsIFtcInR5cGVcIiwgXCJpZFwiXSk7XG5cbiAgICBlbGVtZW50ID0gX19fRW1vdGlvbkpTWChXb3JkbWFyaywgX2V4dGVuZHMoe1xuICAgICAga2V5OiBrZXlcbiAgICB9LCBfY29tcFByb3BzOSkpO1xuICB9XG5cbiAgcmV0dXJuIGVsZW1lbnQ7XG59O1xuXG52YXIgZ3JvdXBDb21wb25lbnRzID0ge1xuICBHcm91cDogR3JvdXAsXG4gIEhlYWRlclNlY3Rpb246IEhlYWRlclNlY3Rpb24sXG4gIE1lbnVTZWN0aW9uOiBNZW51U2VjdGlvbixcbiAgU2VjdGlvbjogU2VjdGlvbixcbiAgU29ydGFibGVDb250ZXh0OiBTb3J0YWJsZUNvbnRleHQsXG4gIFNvcnRhYmxlR3JvdXA6IFNvcnRhYmxlR3JvdXBcbn07XG5cbnZhciByZW5kZXJHcm91cENvbXBvbmVudCA9IGZ1bmN0aW9uIHJlbmRlckdyb3VwQ29tcG9uZW50KHByb3BzLCBrZXksIGN1c3RvbUNvbXBvbmVudHMpIHtcbiAgdmFyIGVsZW1lbnQgPSBudWxsOyAvLyBXZSBuZWVkIGFuIGV4cGxpY2l0IGNvbmRpdGlvbmFsIGFnYWluc3QgZWFjaCB0eXBlIGZvciBmbG93IHR5cGUgcmVmaW5lbWVudCB0byB3b3JrXG5cbiAgaWYgKHByb3BzLnR5cGUgPT09ICdHcm91cCcpIHtcbiAgICB2YXIgdHlwZSA9IHByb3BzLnR5cGUsXG4gICAgICAgIGNvbXBQcm9wcyA9IF9vYmplY3RXaXRob3V0UHJvcGVydGllcyhwcm9wcywgW1widHlwZVwiXSk7XG5cbiAgICBlbGVtZW50ID0gX19fRW1vdGlvbkpTWChHcm91cCwgX2V4dGVuZHMoe1xuICAgICAga2V5OiBrZXlcbiAgICB9LCBjb21wUHJvcHMsIHtcbiAgICAgIGN1c3RvbUNvbXBvbmVudHM6IGN1c3RvbUNvbXBvbmVudHNcbiAgICB9KSk7XG4gIH0gZWxzZSBpZiAocHJvcHMudHlwZSA9PT0gJ0hlYWRlclNlY3Rpb24nKSB7XG4gICAgdmFyIF90eXBlMTAgPSBwcm9wcy50eXBlLFxuICAgICAgICBfY29tcFByb3BzMTAgPSBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMocHJvcHMsIFtcInR5cGVcIl0pO1xuXG4gICAgZWxlbWVudCA9IF9fX0Vtb3Rpb25KU1goSGVhZGVyU2VjdGlvbiwgX2V4dGVuZHMoe1xuICAgICAga2V5OiBrZXlcbiAgICB9LCBfY29tcFByb3BzMTAsIHtcbiAgICAgIGN1c3RvbUNvbXBvbmVudHM6IGN1c3RvbUNvbXBvbmVudHNcbiAgICB9KSk7XG4gIH0gZWxzZSBpZiAocHJvcHMudHlwZSA9PT0gJ01lbnVTZWN0aW9uJykge1xuICAgIHZhciBfdHlwZTExID0gcHJvcHMudHlwZSxcbiAgICAgICAgX2NvbXBQcm9wczExID0gX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzKHByb3BzLCBbXCJ0eXBlXCJdKTtcblxuICAgIGVsZW1lbnQgPSBfX19FbW90aW9uSlNYKE1lbnVTZWN0aW9uLCBfZXh0ZW5kcyh7XG4gICAgICBrZXk6IGtleVxuICAgIH0sIF9jb21wUHJvcHMxMSwge1xuICAgICAgY3VzdG9tQ29tcG9uZW50czogY3VzdG9tQ29tcG9uZW50c1xuICAgIH0pKTtcbiAgfSBlbHNlIGlmIChwcm9wcy50eXBlID09PSAnU2VjdGlvbicpIHtcbiAgICB2YXIgX3R5cGUxMiA9IHByb3BzLnR5cGUsXG4gICAgICAgIF9jb21wUHJvcHMxMiA9IF9vYmplY3RXaXRob3V0UHJvcGVydGllcyhwcm9wcywgW1widHlwZVwiXSk7XG5cbiAgICBlbGVtZW50ID0gX19fRW1vdGlvbkpTWChTZWN0aW9uLCBfZXh0ZW5kcyh7XG4gICAgICBrZXk6IGtleVxuICAgIH0sIF9jb21wUHJvcHMxMiwge1xuICAgICAgY3VzdG9tQ29tcG9uZW50czogY3VzdG9tQ29tcG9uZW50c1xuICAgIH0pKTtcbiAgfSBlbHNlIGlmIChwcm9wcy50eXBlID09PSAnU29ydGFibGVDb250ZXh0Jykge1xuICAgIHZhciBfdHlwZTEzID0gcHJvcHMudHlwZSxcbiAgICAgICAgX2NvbXBQcm9wczEzID0gX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzKHByb3BzLCBbXCJ0eXBlXCJdKTtcblxuICAgIGVsZW1lbnQgPSBfX19FbW90aW9uSlNYKFNvcnRhYmxlQ29udGV4dCwgX2V4dGVuZHMoe1xuICAgICAga2V5OiBrZXlcbiAgICB9LCBfY29tcFByb3BzMTMsIHtcbiAgICAgIGN1c3RvbUNvbXBvbmVudHM6IGN1c3RvbUNvbXBvbmVudHNcbiAgICB9KSk7XG4gIH0gZWxzZSBpZiAocHJvcHMudHlwZSA9PT0gJ1NvcnRhYmxlR3JvdXAnKSB7XG4gICAgdmFyIF90eXBlMTQgPSBwcm9wcy50eXBlLFxuICAgICAgICBfY29tcFByb3BzMTQgPSBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMocHJvcHMsIFtcInR5cGVcIl0pO1xuXG4gICAgZWxlbWVudCA9IF9fX0Vtb3Rpb25KU1goU29ydGFibGVHcm91cCwgX2V4dGVuZHMoe1xuICAgICAga2V5OiBrZXlcbiAgICB9LCBfY29tcFByb3BzMTQsIHtcbiAgICAgIGN1c3RvbUNvbXBvbmVudHM6IGN1c3RvbUNvbXBvbmVudHNcbiAgICB9KSk7XG4gIH1cblxuICByZXR1cm4gZWxlbWVudDtcbn07IC8vIEV4cG9ydGVkIGZvciB0ZXN0aW5nIHB1cnBvc2VzIG9ubHkuXG5cblxuZXhwb3J0IHZhciBjb21wb25lbnRzID0gX29iamVjdFNwcmVhZCh7fSwgaXRlbUNvbXBvbmVudHMsIGdyb3VwQ29tcG9uZW50cyk7XG4vKipcbiAqIFJFTkRFUkVSXG4gKi9cblxudmFyIFR5cGVkSXRlbXNSZW5kZXJlciA9XG4vKiNfX1BVUkVfXyovXG5mdW5jdGlvbiAoX1B1cmVDb21wb25lbnQpIHtcbiAgX2luaGVyaXRzKFR5cGVkSXRlbXNSZW5kZXJlciwgX1B1cmVDb21wb25lbnQpO1xuXG4gIGZ1bmN0aW9uIFR5cGVkSXRlbXNSZW5kZXJlcigpIHtcbiAgICB2YXIgX2dldFByb3RvdHlwZU9mMjtcblxuICAgIHZhciBfdGhpcztcblxuICAgIF9jbGFzc0NhbGxDaGVjayh0aGlzLCBUeXBlZEl0ZW1zUmVuZGVyZXIpO1xuXG4gICAgZm9yICh2YXIgX2xlbiA9IGFyZ3VtZW50cy5sZW5ndGgsIGFyZ3MgPSBuZXcgQXJyYXkoX2xlbiksIF9rZXkgPSAwOyBfa2V5IDwgX2xlbjsgX2tleSsrKSB7XG4gICAgICBhcmdzW19rZXldID0gYXJndW1lbnRzW19rZXldO1xuICAgIH1cblxuICAgIF90aGlzID0gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4odGhpcywgKF9nZXRQcm90b3R5cGVPZjIgPSBfZ2V0UHJvdG90eXBlT2YoVHlwZWRJdGVtc1JlbmRlcmVyKSkuY2FsbC5hcHBseShfZ2V0UHJvdG90eXBlT2YyLCBbdGhpc10uY29uY2F0KGFyZ3MpKSk7XG5cbiAgICBfZGVmaW5lUHJvcGVydHkoX2Fzc2VydFRoaXNJbml0aWFsaXplZChfdGhpcyksIFwiY3VzdG9tQ29tcG9uZW50c1dpdGhBbmFseXRpY3NcIiwgbmV3IE1hcCgpKTtcblxuICAgIF9kZWZpbmVQcm9wZXJ0eShfYXNzZXJ0VGhpc0luaXRpYWxpemVkKF90aGlzKSwgXCJnZXRDdXN0b21Db21wb25lbnRcIiwgZnVuY3Rpb24gKGNvbXBvbmVudCkge1xuICAgICAgLy8gY2FjaGUgY3VzdG9tIGNvbXBvbmVudHMgd3JhcHBlZCB3aXRoIGFuYWx5dGljc1xuICAgICAgLy8gdG8gcHJldmVudCByZS1tb3VudGluZyBvZiBjb21wb25lbnQgb24gcmUtcmVuZGVyXG4gICAgICB2YXIgX3RoaXMkcHJvcHMkY3VzdG9tQ29tID0gX3RoaXMucHJvcHMuY3VzdG9tQ29tcG9uZW50cyxcbiAgICAgICAgICBjdXN0b21Db21wb25lbnRzID0gX3RoaXMkcHJvcHMkY3VzdG9tQ29tID09PSB2b2lkIDAgPyB7fSA6IF90aGlzJHByb3BzJGN1c3RvbUNvbTtcblxuICAgICAgdmFyIGNhY2hlZENvbXBvbmVudCA9IF90aGlzLmN1c3RvbUNvbXBvbmVudHNXaXRoQW5hbHl0aWNzLmdldChjb21wb25lbnQpO1xuXG4gICAgICBpZiAoIWNhY2hlZENvbXBvbmVudCkge1xuICAgICAgICBjYWNoZWRDb21wb25lbnQgPSB0eXBlb2YgY29tcG9uZW50ID09PSAnc3RyaW5nJyA/IG5hdmlnYXRpb25JdGVtQ2xpY2tlZChjdXN0b21Db21wb25lbnRzW2NvbXBvbmVudF0sIGNvbXBvbmVudCkgOiBuYXZpZ2F0aW9uSXRlbUNsaWNrZWQoY29tcG9uZW50LCBjb21wb25lbnQuZGlzcGxheU5hbWUgfHwgJ2lubGluZUN1c3RvbUNvbXBvbmVudCcpO1xuXG4gICAgICAgIF90aGlzLmN1c3RvbUNvbXBvbmVudHNXaXRoQW5hbHl0aWNzLnNldChjb21wb25lbnQsIGNhY2hlZENvbXBvbmVudCk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBjYWNoZWRDb21wb25lbnQ7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gX3RoaXM7XG4gIH1cblxuICBfY3JlYXRlQ2xhc3MoVHlwZWRJdGVtc1JlbmRlcmVyLCBbe1xuICAgIGtleTogXCJyZW5kZXJcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gcmVuZGVyKCkge1xuICAgICAgdmFyIF90aGlzMiA9IHRoaXM7XG5cbiAgICAgIHZhciBfdGhpcyRwcm9wcyA9IHRoaXMucHJvcHMsXG4gICAgICAgICAgX3RoaXMkcHJvcHMkY3VzdG9tQ29tMiA9IF90aGlzJHByb3BzLmN1c3RvbUNvbXBvbmVudHMsXG4gICAgICAgICAgY3VzdG9tQ29tcG9uZW50cyA9IF90aGlzJHByb3BzJGN1c3RvbUNvbTIgPT09IHZvaWQgMCA/IHt9IDogX3RoaXMkcHJvcHMkY3VzdG9tQ29tMixcbiAgICAgICAgICBpdGVtcyA9IF90aGlzJHByb3BzLml0ZW1zOyAvLyBXZSBjYW5ub3QgZGVzdHJ1Y3R1cmUgcHJvcHMudHlwZSBvdGhlcndpc2UgZmxvdyB0eXBlIHJlZmlubWVudCBkb2VzIG5vdCB3b3JrXG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svZmxvdy9pc3N1ZXMvNTI1OVxuXG4gICAgICByZXR1cm4gaXRlbXMubWFwKGZ1bmN0aW9uIChwcm9wcywgaW5kZXgpIHtcbiAgICAgICAgdmFyIGtleSA9IHR5cGVvZiBwcm9wcy5uZXN0ZWRHcm91cEtleSA9PT0gJ3N0cmluZycgPyBwcm9wcy5uZXN0ZWRHcm91cEtleSA6IHByb3BzLmlkO1xuXG4gICAgICAgIGlmIChwcm9wcy50eXBlID09PSAnSW5saW5lQ29tcG9uZW50Jykge1xuICAgICAgICAgIHZhciB0eXBlID0gcHJvcHMudHlwZSxcbiAgICAgICAgICAgICAgY29tcG9uZW50ID0gcHJvcHMuY29tcG9uZW50LFxuICAgICAgICAgICAgICBjb21wb25lbnRQcm9wcyA9IF9vYmplY3RXaXRob3V0UHJvcGVydGllcyhwcm9wcywgW1widHlwZVwiLCBcImNvbXBvbmVudFwiXSk7IC8vIElmIHRoZXkndmUgcHJvdmlkZWQgYSBjb21wb25lbnQgYXMgdGhlIHR5cGVcblxuXG4gICAgICAgICAgdmFyIEN1c3RvbUNvbXBvbmVudCA9IF90aGlzMi5nZXRDdXN0b21Db21wb25lbnQocHJvcHMuY29tcG9uZW50KTtcblxuICAgICAgICAgIHJldHVybiBfX19FbW90aW9uSlNYKEN1c3RvbUNvbXBvbmVudCwgX2V4dGVuZHMoe1xuICAgICAgICAgICAga2V5OiBrZXlcbiAgICAgICAgICB9LCBjb21wb25lbnRQcm9wcywge1xuICAgICAgICAgICAgaW5kZXg6IGluZGV4IC8vIFdlIHBhc3Mgb3VyIGluLWJ1aWx0IGNvbXBvbmVudHMgdGhyb3VnaCB0byBjdXN0b20gY29tcG9uZW50cyBzb1xuICAgICAgICAgICAgLy8gdGhleSBjYW4gd3JhcC9yZW5kZXIgdGhlbSBpZiB0aGV5IHdhbnQgdG8uXG4gICAgICAgICAgICAsXG4gICAgICAgICAgICBjb21wb25lbnRzOiBjb21wb25lbnRzLFxuICAgICAgICAgICAgY3VzdG9tQ29tcG9uZW50czogY3VzdG9tQ29tcG9uZW50c1xuICAgICAgICAgIH0pKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChPYmplY3Qua2V5cyhncm91cENvbXBvbmVudHMpLmluY2x1ZGVzKHByb3BzLnR5cGUpKSB7XG4gICAgICAgICAgLy8gSWYgdGhleSd2ZSBwcm92aWRlZCBhIHR5cGUgd2hpY2ggbWF0Y2hlcyBvbmUgb2Ygb3VyIGluLWJ1aWx0IGdyb3VwXG4gICAgICAgICAgLy8gY29tcG9uZW50c1xuICAgICAgICAgIHJldHVybiByZW5kZXJHcm91cENvbXBvbmVudChwcm9wcywga2V5LCBjdXN0b21Db21wb25lbnRzKTsgLy8gSWYgdGhleSd2ZSBwcm92aWRlZCBhIHR5cGUgd2hpY2ggbWF0Y2hlcyBvbmUgb2Ygb3VyIGluLWJ1aWx0IGl0ZW1cbiAgICAgICAgICAvLyBjb21wb25lbnRzLlxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKE9iamVjdC5rZXlzKGl0ZW1Db21wb25lbnRzKS5pbmNsdWRlcyhwcm9wcy50eXBlKSkge1xuICAgICAgICAgIHJldHVybiByZW5kZXJJdGVtQ29tcG9uZW50KHByb3BzLCBrZXksIGluZGV4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChPYmplY3Qua2V5cyhjdXN0b21Db21wb25lbnRzKS5pbmNsdWRlcyhwcm9wcy50eXBlKSkge1xuICAgICAgICAgIHZhciBfdHlwZTE1ID0gcHJvcHMudHlwZSxcbiAgICAgICAgICAgICAgX2NvbXBvbmVudFByb3BzID0gX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzKHByb3BzLCBbXCJ0eXBlXCJdKTsgLy8gSWYgdGhleSd2ZSBwcm92aWRlZCBhIHR5cGUgd2hpY2ggbWF0Y2hlcyBvbmUgb2YgdGhlaXIgZGVmaW5lZCBjdXN0b21cbiAgICAgICAgICAvLyBjb21wb25lbnRzLlxuXG5cbiAgICAgICAgICB2YXIgX0N1c3RvbUNvbXBvbmVudCA9IF90aGlzMi5nZXRDdXN0b21Db21wb25lbnQoX3R5cGUxNSk7XG5cbiAgICAgICAgICByZXR1cm4gX19fRW1vdGlvbkpTWChfQ3VzdG9tQ29tcG9uZW50LCBfZXh0ZW5kcyh7XG4gICAgICAgICAgICBrZXk6IGtleVxuICAgICAgICAgIH0sIF9jb21wb25lbnRQcm9wcywge1xuICAgICAgICAgICAgaW5kZXg6IGluZGV4IC8vIFdlIHBhc3Mgb3VyIGluLWJ1aWx0IGNvbXBvbmVudHMgdGhyb3VnaCB0byBjdXN0b20gY29tcG9uZW50cyBzb1xuICAgICAgICAgICAgLy8gdGhleSBjYW4gd3JhcC9yZW5kZXIgdGhlbSBpZiB0aGV5IHdhbnQgdG8uXG4gICAgICAgICAgICAsXG4gICAgICAgICAgICBjb21wb25lbnRzOiBjb21wb25lbnRzLFxuICAgICAgICAgICAgY3VzdG9tQ29tcG9uZW50czogY3VzdG9tQ29tcG9uZW50c1xuICAgICAgICAgIH0pKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBfX19FbW90aW9uSlNYKERlYnVnLCBfZXh0ZW5kcyh7XG4gICAgICAgICAga2V5OiBrZXksXG4gICAgICAgICAgdHlwZTogcHJvcHMudHlwZVxuICAgICAgICB9LCBwcm9wcykpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XSk7XG5cbiAgcmV0dXJuIFR5cGVkSXRlbXNSZW5kZXJlcjtcbn0oUHVyZUNvbXBvbmVudCk7XG5cbmV4cG9ydCBkZWZhdWx0IFR5cGVkSXRlbXNSZW5kZXJlcjsiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0TkFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ09BRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDROQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwwTkFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/navigation-next/dist/esm/renderer/components.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/navigation-next/dist/esm/renderer/index.js": /*!***************************************************************************!*\ !*** ./node_modules/@atlaskit/navigation-next/dist/esm/renderer/index.js ***! \***************************************************************************/ /*! exports provided: TypedItemsRenderer, default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return ItemsRenderer; });\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ \"./node_modules/@babel/runtime/helpers/classCallCheck.js\");\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ \"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ \"./node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ \"./node_modules/@babel/runtime/helpers/inherits.js\");\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _components__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./components */ \"./node_modules/@atlaskit/navigation-next/dist/esm/renderer/components.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"TypedItemsRenderer\", function() { return _components__WEBPACK_IMPORTED_MODULE_4__[\"default\"]; });\n\n\n\n\n\n\n // Use TypedItemsRenderer with its default value of empty\n\nvar ItemsRenderer =\n/*#__PURE__*/\nfunction (_TypedItemsRenderer) {\n _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_3___default()(ItemsRenderer, _TypedItemsRenderer);\n\n function ItemsRenderer() {\n _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default()(this, ItemsRenderer);\n\n return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_1___default()(this, _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_2___default()(ItemsRenderer).apply(this, arguments));\n }\n\n return ItemsRenderer;\n}(_components__WEBPACK_IMPORTED_MODULE_4__[\"default\"]);\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS9yZW5kZXJlci9pbmRleC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AYXRsYXNraXQvbmF2aWdhdGlvbi1uZXh0L2Rpc3QvZXNtL3JlbmRlcmVyL2luZGV4LmpzPzhiYTYiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IF9jbGFzc0NhbGxDaGVjayBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9jbGFzc0NhbGxDaGVja1wiO1xuaW1wb3J0IF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm5cIjtcbmltcG9ydCBfZ2V0UHJvdG90eXBlT2YgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvZ2V0UHJvdG90eXBlT2ZcIjtcbmltcG9ydCBfaW5oZXJpdHMgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvaW5oZXJpdHNcIjtcbmltcG9ydCBUeXBlZEl0ZW1zUmVuZGVyZXIgZnJvbSAnLi9jb21wb25lbnRzJztcbmV4cG9ydCB7IFR5cGVkSXRlbXNSZW5kZXJlciB9OyAvLyBVc2UgVHlwZWRJdGVtc1JlbmRlcmVyIHdpdGggaXRzIGRlZmF1bHQgdmFsdWUgb2YgZW1wdHlcblxudmFyIEl0ZW1zUmVuZGVyZXIgPVxuLyojX19QVVJFX18qL1xuZnVuY3Rpb24gKF9UeXBlZEl0ZW1zUmVuZGVyZXIpIHtcbiAgX2luaGVyaXRzKEl0ZW1zUmVuZGVyZXIsIF9UeXBlZEl0ZW1zUmVuZGVyZXIpO1xuXG4gIGZ1bmN0aW9uIEl0ZW1zUmVuZGVyZXIoKSB7XG4gICAgX2NsYXNzQ2FsbENoZWNrKHRoaXMsIEl0ZW1zUmVuZGVyZXIpO1xuXG4gICAgcmV0dXJuIF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHRoaXMsIF9nZXRQcm90b3R5cGVPZihJdGVtc1JlbmRlcmVyKS5hcHBseSh0aGlzLCBhcmd1bWVudHMpKTtcbiAgfVxuXG4gIHJldHVybiBJdGVtc1JlbmRlcmVyO1xufShUeXBlZEl0ZW1zUmVuZGVyZXIpO1xuXG5leHBvcnQgeyBJdGVtc1JlbmRlcmVyIGFzIGRlZmF1bHQgfTsiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/navigation-next/dist/esm/renderer/index.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/navigation-next/dist/esm/theme/index.js": /*!************************************************************************!*\ !*** ./node_modules/@atlaskit/navigation-next/dist/esm/theme/index.js ***! \************************************************************************/ /*! exports provided: dark, light, settings, modeGenerator, styleReducerNoOp, withTheme, withContentTheme, withGlobalTheme, ThemeProvider */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _modes__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./modes */ \"./node_modules/@atlaskit/navigation-next/dist/esm/theme/modes.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"dark\", function() { return _modes__WEBPACK_IMPORTED_MODULE_0__[\"dark\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"light\", function() { return _modes__WEBPACK_IMPORTED_MODULE_0__[\"light\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"settings\", function() { return _modes__WEBPACK_IMPORTED_MODULE_0__[\"settings\"]; });\n\n/* harmony import */ var _modeGenerator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./modeGenerator */ \"./node_modules/@atlaskit/navigation-next/dist/esm/theme/modeGenerator.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"modeGenerator\", function() { return _modeGenerator__WEBPACK_IMPORTED_MODULE_1__[\"default\"]; });\n\n/* harmony import */ var _styleReducerNoOp__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./styleReducerNoOp */ \"./node_modules/@atlaskit/navigation-next/dist/esm/theme/styleReducerNoOp.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"styleReducerNoOp\", function() { return _styleReducerNoOp__WEBPACK_IMPORTED_MODULE_2__[\"default\"]; });\n\n/* harmony import */ var _withTheme__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./withTheme */ \"./node_modules/@atlaskit/navigation-next/dist/esm/theme/withTheme.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"withTheme\", function() { return _withTheme__WEBPACK_IMPORTED_MODULE_3__[\"default\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"withContentTheme\", function() { return _withTheme__WEBPACK_IMPORTED_MODULE_3__[\"withContentTheme\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"withGlobalTheme\", function() { return _withTheme__WEBPACK_IMPORTED_MODULE_3__[\"withGlobalTheme\"]; });\n\n/* harmony import */ var emotion_theming__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! emotion-theming */ \"./node_modules/emotion-theming/dist/emotion-theming.browser.esm.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ThemeProvider\", function() { return emotion_theming__WEBPACK_IMPORTED_MODULE_4__[\"ThemeProvider\"]; });\n\n// In-built theme modes\n // Theme mode generator\n\n // Helper/util functions\n\n // withTheme\n\n // Theme context provider\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS90aGVtZS9pbmRleC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AYXRsYXNraXQvbmF2aWdhdGlvbi1uZXh0L2Rpc3QvZXNtL3RoZW1lL2luZGV4LmpzP2RmNmYiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gSW4tYnVpbHQgdGhlbWUgbW9kZXNcbmV4cG9ydCB7IGRhcmssIGxpZ2h0LCBzZXR0aW5ncyB9IGZyb20gJy4vbW9kZXMnOyAvLyBUaGVtZSBtb2RlIGdlbmVyYXRvclxuXG5leHBvcnQgeyBkZWZhdWx0IGFzIG1vZGVHZW5lcmF0b3IgfSBmcm9tICcuL21vZGVHZW5lcmF0b3InOyAvLyBIZWxwZXIvdXRpbCBmdW5jdGlvbnNcblxuZXhwb3J0IHsgZGVmYXVsdCBhcyBzdHlsZVJlZHVjZXJOb09wIH0gZnJvbSAnLi9zdHlsZVJlZHVjZXJOb09wJzsgLy8gd2l0aFRoZW1lXG5cbmV4cG9ydCB7IGRlZmF1bHQgYXMgd2l0aFRoZW1lLCB3aXRoQ29udGVudFRoZW1lLCB3aXRoR2xvYmFsVGhlbWUgfSBmcm9tICcuL3dpdGhUaGVtZSc7IC8vIFRoZW1lIGNvbnRleHQgcHJvdmlkZXJcblxuZXhwb3J0IHsgVGhlbWVQcm92aWRlciB9IGZyb20gJ2Vtb3Rpb24tdGhlbWluZyc7Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/navigation-next/dist/esm/theme/index.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/navigation-next/dist/esm/theme/modeGenerator.js": /*!********************************************************************************!*\ !*** ./node_modules/@atlaskit/navigation-next/dist/esm/theme/modeGenerator.js ***! \********************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/objectSpread */ \"./node_modules/@babel/runtime/helpers/objectSpread.js\");\n/* harmony import */ var _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var chromatism__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! chromatism */ \"./node_modules/chromatism/dist/chromatism.esm.js\");\n/* harmony import */ var _components_presentational_ContentNavigation_styles__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../components/presentational/ContentNavigation/styles */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/ContentNavigation/styles.js\");\n/* harmony import */ var _components_presentational_GlobalItem_styles__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../components/presentational/GlobalItem/styles */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/GlobalItem/styles.js\");\n/* harmony import */ var _components_presentational_GlobalNav_styles__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../components/presentational/GlobalNav/styles */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/GlobalNav/styles.js\");\n/* harmony import */ var _components_presentational_GroupHeading_styles__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../components/presentational/GroupHeading/styles */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/GroupHeading/styles.js\");\n/* harmony import */ var _components_presentational_Item_styles__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../components/presentational/Item/styles */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/Item/styles.js\");\n/* harmony import */ var _components_presentational_Section_styles__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../components/presentational/Section/styles */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/Section/styles.js\");\n/* harmony import */ var _components_presentational_Separator_styles__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../components/presentational/Separator/styles */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/Separator/styles.js\");\n/* harmony import */ var _components_presentational_SkeletonItem_styles__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../components/presentational/SkeletonItem/styles */ \"./node_modules/@atlaskit/navigation-next/dist/esm/components/presentational/SkeletonItem/styles.js\");\n\n// TODO: @atlassian/navigation package is the only other package that uses chromatism (currently).\n// We should update to chromatism@3.0.0 once @atlassian/navigation package is deprecated.\n\n\n\n\n\n\n\n\n\nvar colorMatrix = [{\n // Dark\n when: function when(_ref) {\n var l = _ref.l;\n return l <= 20;\n },\n hint: {\n s: 0,\n l: 16\n },\n interact: {\n s: -4,\n l: 8\n },\n static: {\n s: -8,\n l: 12\n }\n}, {\n // bright and saturated\n when: function when(_ref2) {\n var s = _ref2.s,\n l = _ref2.l;\n return s > 65 && l > 30;\n },\n hint: {\n s: -16,\n l: 12\n },\n interact: {\n s: -16,\n l: 8\n },\n static: {\n s: 0,\n l: -8\n }\n}, {\n // bright and dull\n when: function when(_ref3) {\n var s = _ref3.s,\n l = _ref3.l;\n return s <= 20 && l > 90;\n },\n hint: {\n s: 0,\n l: -2\n },\n interact: {\n s: 0,\n l: -4\n },\n static: {\n s: 0,\n l: -6\n }\n}, {\n // pastel\n when: function when(_ref4) {\n var s = _ref4.s,\n l = _ref4.l;\n return s > 20 && s < 50 && l > 50;\n },\n hint: {\n s: 24,\n l: 2\n },\n interact: {\n s: 8,\n l: -4\n },\n static: {\n s: 8,\n l: -12\n }\n}, {\n // dull\n when: function when(_ref5) {\n var s = _ref5.s,\n l = _ref5.l;\n return s <= 20 && l <= 90;\n },\n hint: {\n s: 0,\n l: 4\n },\n interact: {\n s: 0,\n l: -4\n },\n static: {\n s: 0,\n l: -8\n }\n}];\n\nvar getStatesBackground = function getStatesBackground(parts, modifier) {\n return ['hint', 'interact', 'static'].reduce(function (acc, k) {\n acc[k] = chromatism__WEBPACK_IMPORTED_MODULE_1__[\"default\"].convert(_babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0___default()({}, parts, {\n s: parts.s + modifier[k].s,\n l: parts.l + modifier[k].l\n })).hex;\n return acc;\n }, {});\n};\n\nvar getContextColors = function getContextColors(_ref6) {\n var background = _ref6.background,\n text = _ref6.text;\n var bgParts = chromatism__WEBPACK_IMPORTED_MODULE_1__[\"default\"].convert(background).hsl;\n var vs = bgParts.l < 30 && bgParts.s < 50 ? -1 : 1;\n var textSubtle = chromatism__WEBPACK_IMPORTED_MODULE_1__[\"default\"].brightness(1 + vs * 6, chromatism__WEBPACK_IMPORTED_MODULE_1__[\"default\"].fade(4, background, text).hex[2]).hex;\n var colorMod = colorMatrix.find(function (cm) {\n return cm.when(bgParts);\n }) || {\n hint: {\n s: 0,\n l: 8\n },\n interact: {\n s: 0,\n l: 4\n },\n static: {\n s: 8,\n l: -6\n }\n };\n return {\n background: _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0___default()({\n default: background\n }, getStatesBackground(bgParts, colorMod)),\n text: {\n default: text,\n subtle: textSubtle\n }\n };\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function (_ref7) {\n var product = _ref7.product;\n var modeColors = {\n product: getContextColors(product)\n };\n return {\n globalItem: Object(_components_presentational_GlobalItem_styles__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(modeColors),\n globalNav: Object(_components_presentational_GlobalNav_styles__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(modeColors),\n contentNav: Object(_components_presentational_ContentNavigation_styles__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(modeColors),\n heading: Object(_components_presentational_GroupHeading_styles__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(modeColors),\n item: Object(_components_presentational_Item_styles__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(modeColors),\n section: Object(_components_presentational_Section_styles__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(modeColors),\n separator: Object(_components_presentational_Separator_styles__WEBPACK_IMPORTED_MODULE_8__[\"default\"])(modeColors),\n skeletonItem: Object(_components_presentational_SkeletonItem_styles__WEBPACK_IMPORTED_MODULE_9__[\"default\"])(modeColors)\n };\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS90aGVtZS9tb2RlR2VuZXJhdG9yLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BhdGxhc2tpdC9uYXZpZ2F0aW9uLW5leHQvZGlzdC9lc20vdGhlbWUvbW9kZUdlbmVyYXRvci5qcz8yNTYwIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfb2JqZWN0U3ByZWFkIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL29iamVjdFNwcmVhZFwiO1xuLy8gVE9ETzogQGF0bGFzc2lhbi9uYXZpZ2F0aW9uIHBhY2thZ2UgaXMgdGhlIG9ubHkgb3RoZXIgcGFja2FnZSB0aGF0IHVzZXMgY2hyb21hdGlzbSAoY3VycmVudGx5KS5cbi8vIFdlIHNob3VsZCB1cGRhdGUgdG8gY2hyb21hdGlzbUAzLjAuMCBvbmNlIEBhdGxhc3NpYW4vbmF2aWdhdGlvbiBwYWNrYWdlIGlzIGRlcHJlY2F0ZWQuXG5pbXBvcnQgY2hyb21hdGlzbSBmcm9tICdjaHJvbWF0aXNtJztcbmltcG9ydCBjb250ZW50TmF2U3R5bGVzIGZyb20gJy4uL2NvbXBvbmVudHMvcHJlc2VudGF0aW9uYWwvQ29udGVudE5hdmlnYXRpb24vc3R5bGVzJztcbmltcG9ydCBnbG9iYWxJdGVtU3R5bGVzIGZyb20gJy4uL2NvbXBvbmVudHMvcHJlc2VudGF0aW9uYWwvR2xvYmFsSXRlbS9zdHlsZXMnO1xuaW1wb3J0IGdsb2JhbE5hdlN0eWxlcyBmcm9tICcuLi9jb21wb25lbnRzL3ByZXNlbnRhdGlvbmFsL0dsb2JhbE5hdi9zdHlsZXMnO1xuaW1wb3J0IGhlYWRpbmdTdHlsZXMgZnJvbSAnLi4vY29tcG9uZW50cy9wcmVzZW50YXRpb25hbC9Hcm91cEhlYWRpbmcvc3R5bGVzJztcbmltcG9ydCBpdGVtU3R5bGVzIGZyb20gJy4uL2NvbXBvbmVudHMvcHJlc2VudGF0aW9uYWwvSXRlbS9zdHlsZXMnO1xuaW1wb3J0IHNlY3Rpb25TdHlsZXMgZnJvbSAnLi4vY29tcG9uZW50cy9wcmVzZW50YXRpb25hbC9TZWN0aW9uL3N0eWxlcyc7XG5pbXBvcnQgc2VwYXJhdG9yU3R5bGVzIGZyb20gJy4uL2NvbXBvbmVudHMvcHJlc2VudGF0aW9uYWwvU2VwYXJhdG9yL3N0eWxlcyc7XG5pbXBvcnQgc2tlbGV0b25JdGVtU3R5bGVzIGZyb20gJy4uL2NvbXBvbmVudHMvcHJlc2VudGF0aW9uYWwvU2tlbGV0b25JdGVtL3N0eWxlcyc7XG52YXIgY29sb3JNYXRyaXggPSBbe1xuICAvLyBEYXJrXG4gIHdoZW46IGZ1bmN0aW9uIHdoZW4oX3JlZikge1xuICAgIHZhciBsID0gX3JlZi5sO1xuICAgIHJldHVybiBsIDw9IDIwO1xuICB9LFxuICBoaW50OiB7XG4gICAgczogMCxcbiAgICBsOiAxNlxuICB9LFxuICBpbnRlcmFjdDoge1xuICAgIHM6IC00LFxuICAgIGw6IDhcbiAgfSxcbiAgc3RhdGljOiB7XG4gICAgczogLTgsXG4gICAgbDogMTJcbiAgfVxufSwge1xuICAvLyBicmlnaHQgYW5kIHNhdHVyYXRlZFxuICB3aGVuOiBmdW5jdGlvbiB3aGVuKF9yZWYyKSB7XG4gICAgdmFyIHMgPSBfcmVmMi5zLFxuICAgICAgICBsID0gX3JlZjIubDtcbiAgICByZXR1cm4gcyA+IDY1ICYmIGwgPiAzMDtcbiAgfSxcbiAgaGludDoge1xuICAgIHM6IC0xNixcbiAgICBsOiAxMlxuICB9LFxuICBpbnRlcmFjdDoge1xuICAgIHM6IC0xNixcbiAgICBsOiA4XG4gIH0sXG4gIHN0YXRpYzoge1xuICAgIHM6IDAsXG4gICAgbDogLThcbiAgfVxufSwge1xuICAvLyBicmlnaHQgYW5kIGR1bGxcbiAgd2hlbjogZnVuY3Rpb24gd2hlbihfcmVmMykge1xuICAgIHZhciBzID0gX3JlZjMucyxcbiAgICAgICAgbCA9IF9yZWYzLmw7XG4gICAgcmV0dXJuIHMgPD0gMjAgJiYgbCA+IDkwO1xuICB9LFxuICBoaW50OiB7XG4gICAgczogMCxcbiAgICBsOiAtMlxuICB9LFxuICBpbnRlcmFjdDoge1xuICAgIHM6IDAsXG4gICAgbDogLTRcbiAgfSxcbiAgc3RhdGljOiB7XG4gICAgczogMCxcbiAgICBsOiAtNlxuICB9XG59LCB7XG4gIC8vIHBhc3RlbFxuICB3aGVuOiBmdW5jdGlvbiB3aGVuKF9yZWY0KSB7XG4gICAgdmFyIHMgPSBfcmVmNC5zLFxuICAgICAgICBsID0gX3JlZjQubDtcbiAgICByZXR1cm4gcyA+IDIwICYmIHMgPCA1MCAmJiBsID4gNTA7XG4gIH0sXG4gIGhpbnQ6IHtcbiAgICBzOiAyNCxcbiAgICBsOiAyXG4gIH0sXG4gIGludGVyYWN0OiB7XG4gICAgczogOCxcbiAgICBsOiAtNFxuICB9LFxuICBzdGF0aWM6IHtcbiAgICBzOiA4LFxuICAgIGw6IC0xMlxuICB9XG59LCB7XG4gIC8vIGR1bGxcbiAgd2hlbjogZnVuY3Rpb24gd2hlbihfcmVmNSkge1xuICAgIHZhciBzID0gX3JlZjUucyxcbiAgICAgICAgbCA9IF9yZWY1Lmw7XG4gICAgcmV0dXJuIHMgPD0gMjAgJiYgbCA8PSA5MDtcbiAgfSxcbiAgaGludDoge1xuICAgIHM6IDAsXG4gICAgbDogNFxuICB9LFxuICBpbnRlcmFjdDoge1xuICAgIHM6IDAsXG4gICAgbDogLTRcbiAgfSxcbiAgc3RhdGljOiB7XG4gICAgczogMCxcbiAgICBsOiAtOFxuICB9XG59XTtcblxudmFyIGdldFN0YXRlc0JhY2tncm91bmQgPSBmdW5jdGlvbiBnZXRTdGF0ZXNCYWNrZ3JvdW5kKHBhcnRzLCBtb2RpZmllcikge1xuICByZXR1cm4gWydoaW50JywgJ2ludGVyYWN0JywgJ3N0YXRpYyddLnJlZHVjZShmdW5jdGlvbiAoYWNjLCBrKSB7XG4gICAgYWNjW2tdID0gY2hyb21hdGlzbS5jb252ZXJ0KF9vYmplY3RTcHJlYWQoe30sIHBhcnRzLCB7XG4gICAgICBzOiBwYXJ0cy5zICsgbW9kaWZpZXJba10ucyxcbiAgICAgIGw6IHBhcnRzLmwgKyBtb2RpZmllcltrXS5sXG4gICAgfSkpLmhleDtcbiAgICByZXR1cm4gYWNjO1xuICB9LCB7fSk7XG59O1xuXG52YXIgZ2V0Q29udGV4dENvbG9ycyA9IGZ1bmN0aW9uIGdldENvbnRleHRDb2xvcnMoX3JlZjYpIHtcbiAgdmFyIGJhY2tncm91bmQgPSBfcmVmNi5iYWNrZ3JvdW5kLFxuICAgICAgdGV4dCA9IF9yZWY2LnRleHQ7XG4gIHZhciBiZ1BhcnRzID0gY2hyb21hdGlzbS5jb252ZXJ0KGJhY2tncm91bmQpLmhzbDtcbiAgdmFyIHZzID0gYmdQYXJ0cy5sIDwgMzAgJiYgYmdQYXJ0cy5zIDwgNTAgPyAtMSA6IDE7XG4gIHZhciB0ZXh0U3VidGxlID0gY2hyb21hdGlzbS5icmlnaHRuZXNzKDEgKyB2cyAqIDYsIGNocm9tYXRpc20uZmFkZSg0LCBiYWNrZ3JvdW5kLCB0ZXh0KS5oZXhbMl0pLmhleDtcbiAgdmFyIGNvbG9yTW9kID0gY29sb3JNYXRyaXguZmluZChmdW5jdGlvbiAoY20pIHtcbiAgICByZXR1cm4gY20ud2hlbihiZ1BhcnRzKTtcbiAgfSkgfHwge1xuICAgIGhpbnQ6IHtcbiAgICAgIHM6IDAsXG4gICAgICBsOiA4XG4gICAgfSxcbiAgICBpbnRlcmFjdDoge1xuICAgICAgczogMCxcbiAgICAgIGw6IDRcbiAgICB9LFxuICAgIHN0YXRpYzoge1xuICAgICAgczogOCxcbiAgICAgIGw6IC02XG4gICAgfVxuICB9O1xuICByZXR1cm4ge1xuICAgIGJhY2tncm91bmQ6IF9vYmplY3RTcHJlYWQoe1xuICAgICAgZGVmYXVsdDogYmFja2dyb3VuZFxuICAgIH0sIGdldFN0YXRlc0JhY2tncm91bmQoYmdQYXJ0cywgY29sb3JNb2QpKSxcbiAgICB0ZXh0OiB7XG4gICAgICBkZWZhdWx0OiB0ZXh0LFxuICAgICAgc3VidGxlOiB0ZXh0U3VidGxlXG4gICAgfVxuICB9O1xufTtcblxuZXhwb3J0IGRlZmF1bHQgKGZ1bmN0aW9uIChfcmVmNykge1xuICB2YXIgcHJvZHVjdCA9IF9yZWY3LnByb2R1Y3Q7XG4gIHZhciBtb2RlQ29sb3JzID0ge1xuICAgIHByb2R1Y3Q6IGdldENvbnRleHRDb2xvcnMocHJvZHVjdClcbiAgfTtcbiAgcmV0dXJuIHtcbiAgICBnbG9iYWxJdGVtOiBnbG9iYWxJdGVtU3R5bGVzKG1vZGVDb2xvcnMpLFxuICAgIGdsb2JhbE5hdjogZ2xvYmFsTmF2U3R5bGVzKG1vZGVDb2xvcnMpLFxuICAgIGNvbnRlbnROYXY6IGNvbnRlbnROYXZTdHlsZXMobW9kZUNvbG9ycyksXG4gICAgaGVhZGluZzogaGVhZGluZ1N0eWxlcyhtb2RlQ29sb3JzKSxcbiAgICBpdGVtOiBpdGVtU3R5bGVzKG1vZGVDb2xvcnMpLFxuICAgIHNlY3Rpb246IHNlY3Rpb25TdHlsZXMobW9kZUNvbG9ycyksXG4gICAgc2VwYXJhdG9yOiBzZXBhcmF0b3JTdHlsZXMobW9kZUNvbG9ycyksXG4gICAgc2tlbGV0b25JdGVtOiBza2VsZXRvbkl0ZW1TdHlsZXMobW9kZUNvbG9ycylcbiAgfTtcbn0pOyJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/navigation-next/dist/esm/theme/modeGenerator.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/navigation-next/dist/esm/theme/modes.js": /*!************************************************************************!*\ !*** ./node_modules/@atlaskit/navigation-next/dist/esm/theme/modes.js ***! \************************************************************************/ /*! exports provided: light, dark, settings */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"light\", function() { return light; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"dark\", function() { return dark; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"settings\", function() { return settings; });\n/* harmony import */ var _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @atlaskit/theme/colors */ \"./node_modules/@atlaskit/theme/dist/esm/colors.js\");\n/* harmony import */ var _modeGenerator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./modeGenerator */ \"./node_modules/@atlaskit/navigation-next/dist/esm/theme/modeGenerator.js\");\n\n\nvar light = Object(_modeGenerator__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n product: {\n text: _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_0__[\"N0\"],\n background: _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_0__[\"B500\"]\n }\n});\nvar dark = Object(_modeGenerator__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n product: {\n text: _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_0__[\"DN500\"],\n background: _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_0__[\"DN10\"]\n }\n});\nvar settings = Object(_modeGenerator__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n product: {\n text: _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_0__[\"N0\"],\n background: _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_0__[\"N800\"]\n }\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS90aGVtZS9tb2Rlcy5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AYXRsYXNraXQvbmF2aWdhdGlvbi1uZXh0L2Rpc3QvZXNtL3RoZW1lL21vZGVzLmpzP2JjOTUiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQjUwMCwgRE4xMCwgRE41MDAsIE4wLCBOODAwIH0gZnJvbSAnQGF0bGFza2l0L3RoZW1lL2NvbG9ycyc7XG5pbXBvcnQgbW9kZUdlbmVyYXRvciBmcm9tICcuL21vZGVHZW5lcmF0b3InO1xuZXhwb3J0IHZhciBsaWdodCA9IG1vZGVHZW5lcmF0b3Ioe1xuICBwcm9kdWN0OiB7XG4gICAgdGV4dDogTjAsXG4gICAgYmFja2dyb3VuZDogQjUwMFxuICB9XG59KTtcbmV4cG9ydCB2YXIgZGFyayA9IG1vZGVHZW5lcmF0b3Ioe1xuICBwcm9kdWN0OiB7XG4gICAgdGV4dDogRE41MDAsXG4gICAgYmFja2dyb3VuZDogRE4xMFxuICB9XG59KTtcbmV4cG9ydCB2YXIgc2V0dGluZ3MgPSBtb2RlR2VuZXJhdG9yKHtcbiAgcHJvZHVjdDoge1xuICAgIHRleHQ6IE4wLFxuICAgIGJhY2tncm91bmQ6IE44MDBcbiAgfVxufSk7Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/navigation-next/dist/esm/theme/modes.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/navigation-next/dist/esm/theme/styleReducerNoOp.js": /*!***********************************************************************************!*\ !*** ./node_modules/@atlaskit/navigation-next/dist/esm/theme/styleReducerNoOp.js ***! \***********************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\nvar styleReducerNoOp = function styleReducerNoOp(styles) {\n return styles;\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (styleReducerNoOp);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS90aGVtZS9zdHlsZVJlZHVjZXJOb09wLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BhdGxhc2tpdC9uYXZpZ2F0aW9uLW5leHQvZGlzdC9lc20vdGhlbWUvc3R5bGVSZWR1Y2VyTm9PcC5qcz9hMzJkIl0sInNvdXJjZXNDb250ZW50IjpbInZhciBzdHlsZVJlZHVjZXJOb09wID0gZnVuY3Rpb24gc3R5bGVSZWR1Y2VyTm9PcChzdHlsZXMpIHtcbiAgcmV0dXJuIHN0eWxlcztcbn07XG5cbmV4cG9ydCBkZWZhdWx0IHN0eWxlUmVkdWNlck5vT3A7Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/navigation-next/dist/esm/theme/styleReducerNoOp.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/navigation-next/dist/esm/theme/withTheme.js": /*!****************************************************************************!*\ !*** ./node_modules/@atlaskit/navigation-next/dist/esm/theme/withTheme.js ***! \****************************************************************************/ /*! exports provided: withContentTheme, withGlobalTheme, default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"withContentTheme\", function() { return withContentTheme; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"withGlobalTheme\", function() { return withGlobalTheme; });\n/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ \"./node_modules/@babel/runtime/helpers/objectWithoutProperties.js\");\n/* harmony import */ var _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _emotion_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @emotion/core */ \"./node_modules/@emotion/core/dist/core.browser.esm.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var emotion_theming__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! emotion-theming */ \"./node_modules/emotion-theming/dist/emotion-theming.browser.esm.js\");\n/* harmony import */ var _modes__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./modes */ \"./node_modules/@atlaskit/navigation-next/dist/esm/theme/modes.js\");\n\n\n\n\n\n\n\nvar withTheme = function withTheme(defaultTheme) {\n return function (WrappedComponent) {\n var WithTheme = Object(emotion_theming__WEBPACK_IMPORTED_MODULE_4__[\"withTheme\"])(function (props) {\n var ctxTheme = props.theme,\n rest = _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1___default()(props, [\"theme\"]);\n\n var theme = Object.keys(ctxTheme).length > 0 ? ctxTheme : defaultTheme;\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_2__[\"jsx\"])(WrappedComponent, _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({\n theme: theme\n }, rest));\n });\n WithTheme.displayName = \"WithTheme(\".concat(WrappedComponent.displayName || WrappedComponent.name || 'Component', \")\");\n return WithTheme;\n };\n};\n\nvar defaultContentTheme = {\n mode: _modes__WEBPACK_IMPORTED_MODULE_5__[\"light\"],\n context: 'container'\n};\nvar defaultGlobalTheme = {\n mode: _modes__WEBPACK_IMPORTED_MODULE_5__[\"light\"]\n};\nvar withContentTheme = function withContentTheme(WrappedComponent) {\n return withTheme(defaultContentTheme)(WrappedComponent);\n};\nvar withGlobalTheme = function withGlobalTheme(WrappedComponent) {\n return withTheme(defaultGlobalTheme)(WrappedComponent);\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (withTheme);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS90aGVtZS93aXRoVGhlbWUuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS90aGVtZS93aXRoVGhlbWUuanM/YzEwYyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgX2V4dGVuZHMgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXh0ZW5kc1wiO1xuaW1wb3J0IF9vYmplY3RXaXRob3V0UHJvcGVydGllcyBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9vYmplY3RXaXRob3V0UHJvcGVydGllc1wiO1xuaW1wb3J0IHsganN4IGFzIF9fX0Vtb3Rpb25KU1ggfSBmcm9tIFwiQGVtb3Rpb24vY29yZVwiO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHdpdGhUaGVtZSBhcyBXaXRoRW1vdGlvblRoZW1lIH0gZnJvbSAnZW1vdGlvbi10aGVtaW5nJztcbmltcG9ydCB7IGxpZ2h0IH0gZnJvbSAnLi9tb2Rlcyc7XG5cbnZhciB3aXRoVGhlbWUgPSBmdW5jdGlvbiB3aXRoVGhlbWUoZGVmYXVsdFRoZW1lKSB7XG4gIHJldHVybiBmdW5jdGlvbiAoV3JhcHBlZENvbXBvbmVudCkge1xuICAgIHZhciBXaXRoVGhlbWUgPSBXaXRoRW1vdGlvblRoZW1lKGZ1bmN0aW9uIChwcm9wcykge1xuICAgICAgdmFyIGN0eFRoZW1lID0gcHJvcHMudGhlbWUsXG4gICAgICAgICAgcmVzdCA9IF9vYmplY3RXaXRob3V0UHJvcGVydGllcyhwcm9wcywgW1widGhlbWVcIl0pO1xuXG4gICAgICB2YXIgdGhlbWUgPSBPYmplY3Qua2V5cyhjdHhUaGVtZSkubGVuZ3RoID4gMCA/IGN0eFRoZW1lIDogZGVmYXVsdFRoZW1lO1xuICAgICAgcmV0dXJuIF9fX0Vtb3Rpb25KU1goV3JhcHBlZENvbXBvbmVudCwgX2V4dGVuZHMoe1xuICAgICAgICB0aGVtZTogdGhlbWVcbiAgICAgIH0sIHJlc3QpKTtcbiAgICB9KTtcbiAgICBXaXRoVGhlbWUuZGlzcGxheU5hbWUgPSBcIldpdGhUaGVtZShcIi5jb25jYXQoV3JhcHBlZENvbXBvbmVudC5kaXNwbGF5TmFtZSB8fCBXcmFwcGVkQ29tcG9uZW50Lm5hbWUgfHwgJ0NvbXBvbmVudCcsIFwiKVwiKTtcbiAgICByZXR1cm4gV2l0aFRoZW1lO1xuICB9O1xufTtcblxudmFyIGRlZmF1bHRDb250ZW50VGhlbWUgPSB7XG4gIG1vZGU6IGxpZ2h0LFxuICBjb250ZXh0OiAnY29udGFpbmVyJ1xufTtcbnZhciBkZWZhdWx0R2xvYmFsVGhlbWUgPSB7XG4gIG1vZGU6IGxpZ2h0XG59O1xuZXhwb3J0IHZhciB3aXRoQ29udGVudFRoZW1lID0gZnVuY3Rpb24gd2l0aENvbnRlbnRUaGVtZShXcmFwcGVkQ29tcG9uZW50KSB7XG4gIHJldHVybiB3aXRoVGhlbWUoZGVmYXVsdENvbnRlbnRUaGVtZSkoV3JhcHBlZENvbXBvbmVudCk7XG59O1xuZXhwb3J0IHZhciB3aXRoR2xvYmFsVGhlbWUgPSBmdW5jdGlvbiB3aXRoR2xvYmFsVGhlbWUoV3JhcHBlZENvbXBvbmVudCkge1xuICByZXR1cm4gd2l0aFRoZW1lKGRlZmF1bHRHbG9iYWxUaGVtZSkoV3JhcHBlZENvbXBvbmVudCk7XG59O1xuZXhwb3J0IGRlZmF1bHQgd2l0aFRoZW1lOyJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/navigation-next/dist/esm/theme/withTheme.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/navigation-next/dist/esm/ui-controller.js": /*!**************************************************************************!*\ !*** ./node_modules/@atlaskit/navigation-next/dist/esm/ui-controller.js ***! \**************************************************************************/ /*! exports provided: UIController, UIControllerSubscriber, withNavigationUIController */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _ui_controller_UIController__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ui-controller/UIController */ \"./node_modules/@atlaskit/navigation-next/dist/esm/ui-controller/UIController.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"UIController\", function() { return _ui_controller_UIController__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n/* harmony import */ var _ui_controller_UIControllerSubscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ui-controller/UIControllerSubscriber */ \"./node_modules/@atlaskit/navigation-next/dist/esm/ui-controller/UIControllerSubscriber.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"UIControllerSubscriber\", function() { return _ui_controller_UIControllerSubscriber__WEBPACK_IMPORTED_MODULE_1__[\"default\"]; });\n\n/* harmony import */ var _ui_controller_withNavigationUIController__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ui-controller/withNavigationUIController */ \"./node_modules/@atlaskit/navigation-next/dist/esm/ui-controller/withNavigationUIController.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"withNavigationUIController\", function() { return _ui_controller_withNavigationUIController__WEBPACK_IMPORTED_MODULE_2__[\"default\"]; });\n\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS91aS1jb250cm9sbGVyLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BhdGxhc2tpdC9uYXZpZ2F0aW9uLW5leHQvZGlzdC9lc20vdWktY29udHJvbGxlci5qcz9hMDQ3Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IGRlZmF1bHQgYXMgVUlDb250cm9sbGVyIH0gZnJvbSAnLi91aS1jb250cm9sbGVyL1VJQ29udHJvbGxlcic7XG5leHBvcnQgeyBkZWZhdWx0IGFzIFVJQ29udHJvbGxlclN1YnNjcmliZXIgfSBmcm9tICcuL3VpLWNvbnRyb2xsZXIvVUlDb250cm9sbGVyU3Vic2NyaWJlcic7XG5leHBvcnQgeyBkZWZhdWx0IGFzIHdpdGhOYXZpZ2F0aW9uVUlDb250cm9sbGVyIH0gZnJvbSAnLi91aS1jb250cm9sbGVyL3dpdGhOYXZpZ2F0aW9uVUlDb250cm9sbGVyJzsiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/navigation-next/dist/esm/ui-controller.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/navigation-next/dist/esm/ui-controller/UIController.js": /*!***************************************************************************************!*\ !*** ./node_modules/@atlaskit/navigation-next/dist/esm/ui-controller/UIController.js ***! \***************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return UIController; });\n/* harmony import */ var _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/objectSpread */ \"./node_modules/@babel/runtime/helpers/objectSpread.js\");\n/* harmony import */ var _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ \"./node_modules/@babel/runtime/helpers/classCallCheck.js\");\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ \"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ \"./node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/assertThisInitialized */ \"./node_modules/@babel/runtime/helpers/assertThisInitialized.js\");\n/* harmony import */ var _babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ \"./node_modules/@babel/runtime/helpers/inherits.js\");\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ \"./node_modules/@babel/runtime/helpers/defineProperty.js\");\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var unstated__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! unstated */ \"./node_modules/@atlaskit/navigation-next/node_modules/unstated/lib/unstated.es.js\");\n/* harmony import */ var _common_constants__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../common/constants */ \"./node_modules/@atlaskit/navigation-next/dist/esm/common/constants.js\");\n\n\n\n\n\n\n\n\n\nvar defaultState = {\n isResizing: false,\n isResizeDisabled: false,\n isCollapsed: false,\n productNavWidth: _common_constants__WEBPACK_IMPORTED_MODULE_8__[\"CONTENT_NAV_WIDTH\"]\n};\n\nvar UIController =\n/*#__PURE__*/\nfunction (_Container) {\n _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5___default()(UIController, _Container);\n\n function UIController(initialState, cache) {\n var _this;\n\n _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default()(this, UIController);\n\n _this = _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2___default()(this, _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3___default()(UIController).call(this));\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4___default()(_this), \"getCache\", void 0);\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4___default()(_this), \"setCache\", void 0);\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4___default()(_this), \"isCollapsedStore\", void 0);\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4___default()(_this), \"storeState\", function (state) {\n _this.setState(state);\n\n var _this$state = _this.state,\n isCollapsed = _this$state.isCollapsed,\n productNavWidth = _this$state.productNavWidth;\n\n if (_this.setCache) {\n _this.setCache({\n isCollapsed: isCollapsed,\n productNavWidth: productNavWidth\n });\n }\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4___default()(_this), \"collapse\", function () {\n if (_this.state.isResizeDisabled) {\n return;\n }\n\n _this.storeState({\n isCollapsed: true\n });\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4___default()(_this), \"expand\", function () {\n if (_this.state.isResizeDisabled) {\n return;\n }\n\n _this.storeState({\n isCollapsed: false\n });\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4___default()(_this), \"toggleCollapse\", function () {\n var toggle = _this.state.isCollapsed ? _this.expand : _this.collapse;\n toggle();\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4___default()(_this), \"manualResizeStart\", function (_ref) {\n var productNavWidth = _ref.productNavWidth,\n isCollapsed = _ref.isCollapsed;\n\n if (_this.state.isResizeDisabled) {\n return;\n }\n\n _this.storeState({\n isResizing: true,\n productNavWidth: productNavWidth,\n isCollapsed: isCollapsed\n });\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4___default()(_this), \"manualResizeEnd\", function (_ref2) {\n var productNavWidth = _ref2.productNavWidth,\n isCollapsed = _ref2.isCollapsed;\n\n if (_this.state.isResizeDisabled) {\n return;\n }\n\n _this.storeState({\n isResizing: false,\n productNavWidth: productNavWidth,\n isCollapsed: isCollapsed\n });\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4___default()(_this), \"enableResize\", function () {\n var isCollapsed = typeof _this.isCollapsedStore === 'boolean' ? _this.isCollapsedStore : _this.state.isCollapsed; // This is a page-level setting not a user preference so we don't cache\n // this.\n\n _this.setState({\n isCollapsed: isCollapsed,\n isResizeDisabled: false\n });\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4___default()(_this), \"disableResize\", function () {\n // Remember this so that we can reset it if resizing is enabled again.\n _this.isCollapsedStore = _this.state.isCollapsed; // This is a page-level setting not a user preference so we don't cache\n // this.\n\n _this.setState({\n isCollapsed: false,\n isResizeDisabled: true\n });\n });\n\n var cachedState = {};\n\n if (cache) {\n var get = cache.get,\n set = cache.set;\n var retrievedCache = get();\n\n if (retrievedCache) {\n var isCollapsed = retrievedCache.isCollapsed,\n productNavWidth = retrievedCache.productNavWidth;\n cachedState = {\n isCollapsed: isCollapsed,\n productNavWidth: productNavWidth\n };\n }\n\n _this.getCache = get;\n _this.setCache = set;\n }\n\n var _state = _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0___default()({}, defaultState, cachedState, initialState);\n\n var _isCollapsed = _state.isCollapsed; // isResizeDisabled takes precedence over isCollapsed\n\n if (initialState && initialState.isResizeDisabled) {\n // Remember this so that we can reset it if resizing is enabled again.\n _this.isCollapsedStore = _isCollapsed;\n _isCollapsed = false;\n }\n\n _this.state = _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0___default()({}, _state, {\n isCollapsed: _isCollapsed\n });\n return _this;\n }\n\n return UIController;\n}(unstated__WEBPACK_IMPORTED_MODULE_7__[\"Container\"]);\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS91aS1jb250cm9sbGVyL1VJQ29udHJvbGxlci5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AYXRsYXNraXQvbmF2aWdhdGlvbi1uZXh0L2Rpc3QvZXNtL3VpLWNvbnRyb2xsZXIvVUlDb250cm9sbGVyLmpzP2M2YzUiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IF9vYmplY3RTcHJlYWQgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvb2JqZWN0U3ByZWFkXCI7XG5pbXBvcnQgX2NsYXNzQ2FsbENoZWNrIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2NsYXNzQ2FsbENoZWNrXCI7XG5pbXBvcnQgX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4gZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvcG9zc2libGVDb25zdHJ1Y3RvclJldHVyblwiO1xuaW1wb3J0IF9nZXRQcm90b3R5cGVPZiBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9nZXRQcm90b3R5cGVPZlwiO1xuaW1wb3J0IF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvYXNzZXJ0VGhpc0luaXRpYWxpemVkXCI7XG5pbXBvcnQgX2luaGVyaXRzIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2luaGVyaXRzXCI7XG5pbXBvcnQgX2RlZmluZVByb3BlcnR5IGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2RlZmluZVByb3BlcnR5XCI7XG5pbXBvcnQgeyBDb250YWluZXIgfSBmcm9tICd1bnN0YXRlZCc7XG5pbXBvcnQgeyBDT05URU5UX05BVl9XSURUSCB9IGZyb20gJy4uL2NvbW1vbi9jb25zdGFudHMnO1xudmFyIGRlZmF1bHRTdGF0ZSA9IHtcbiAgaXNSZXNpemluZzogZmFsc2UsXG4gIGlzUmVzaXplRGlzYWJsZWQ6IGZhbHNlLFxuICBpc0NvbGxhcHNlZDogZmFsc2UsXG4gIHByb2R1Y3ROYXZXaWR0aDogQ09OVEVOVF9OQVZfV0lEVEhcbn07XG5cbnZhciBVSUNvbnRyb2xsZXIgPVxuLyojX19QVVJFX18qL1xuZnVuY3Rpb24gKF9Db250YWluZXIpIHtcbiAgX2luaGVyaXRzKFVJQ29udHJvbGxlciwgX0NvbnRhaW5lcik7XG5cbiAgZnVuY3Rpb24gVUlDb250cm9sbGVyKGluaXRpYWxTdGF0ZSwgY2FjaGUpIHtcbiAgICB2YXIgX3RoaXM7XG5cbiAgICBfY2xhc3NDYWxsQ2hlY2sodGhpcywgVUlDb250cm9sbGVyKTtcblxuICAgIF90aGlzID0gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4odGhpcywgX2dldFByb3RvdHlwZU9mKFVJQ29udHJvbGxlcikuY2FsbCh0aGlzKSk7XG5cbiAgICBfZGVmaW5lUHJvcGVydHkoX2Fzc2VydFRoaXNJbml0aWFsaXplZChfdGhpcyksIFwiZ2V0Q2FjaGVcIiwgdm9pZCAwKTtcblxuICAgIF9kZWZpbmVQcm9wZXJ0eShfYXNzZXJ0VGhpc0luaXRpYWxpemVkKF90aGlzKSwgXCJzZXRDYWNoZVwiLCB2b2lkIDApO1xuXG4gICAgX2RlZmluZVByb3BlcnR5KF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoX3RoaXMpLCBcImlzQ29sbGFwc2VkU3RvcmVcIiwgdm9pZCAwKTtcblxuICAgIF9kZWZpbmVQcm9wZXJ0eShfYXNzZXJ0VGhpc0luaXRpYWxpemVkKF90aGlzKSwgXCJzdG9yZVN0YXRlXCIsIGZ1bmN0aW9uIChzdGF0ZSkge1xuICAgICAgX3RoaXMuc2V0U3RhdGUoc3RhdGUpO1xuXG4gICAgICB2YXIgX3RoaXMkc3RhdGUgPSBfdGhpcy5zdGF0ZSxcbiAgICAgICAgICBpc0NvbGxhcHNlZCA9IF90aGlzJHN0YXRlLmlzQ29sbGFwc2VkLFxuICAgICAgICAgIHByb2R1Y3ROYXZXaWR0aCA9IF90aGlzJHN0YXRlLnByb2R1Y3ROYXZXaWR0aDtcblxuICAgICAgaWYgKF90aGlzLnNldENhY2hlKSB7XG4gICAgICAgIF90aGlzLnNldENhY2hlKHtcbiAgICAgICAgICBpc0NvbGxhcHNlZDogaXNDb2xsYXBzZWQsXG4gICAgICAgICAgcHJvZHVjdE5hdldpZHRoOiBwcm9kdWN0TmF2V2lkdGhcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBfZGVmaW5lUHJvcGVydHkoX2Fzc2VydFRoaXNJbml0aWFsaXplZChfdGhpcyksIFwiY29sbGFwc2VcIiwgZnVuY3Rpb24gKCkge1xuICAgICAgaWYgKF90aGlzLnN0YXRlLmlzUmVzaXplRGlzYWJsZWQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBfdGhpcy5zdG9yZVN0YXRlKHtcbiAgICAgICAgaXNDb2xsYXBzZWQ6IHRydWVcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgX2RlZmluZVByb3BlcnR5KF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoX3RoaXMpLCBcImV4cGFuZFwiLCBmdW5jdGlvbiAoKSB7XG4gICAgICBpZiAoX3RoaXMuc3RhdGUuaXNSZXNpemVEaXNhYmxlZCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIF90aGlzLnN0b3JlU3RhdGUoe1xuICAgICAgICBpc0NvbGxhcHNlZDogZmFsc2VcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgX2RlZmluZVByb3BlcnR5KF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoX3RoaXMpLCBcInRvZ2dsZUNvbGxhcHNlXCIsIGZ1bmN0aW9uICgpIHtcbiAgICAgIHZhciB0b2dnbGUgPSBfdGhpcy5zdGF0ZS5pc0NvbGxhcHNlZCA/IF90aGlzLmV4cGFuZCA6IF90aGlzLmNvbGxhcHNlO1xuICAgICAgdG9nZ2xlKCk7XG4gICAgfSk7XG5cbiAgICBfZGVmaW5lUHJvcGVydHkoX2Fzc2VydFRoaXNJbml0aWFsaXplZChfdGhpcyksIFwibWFudWFsUmVzaXplU3RhcnRcIiwgZnVuY3Rpb24gKF9yZWYpIHtcbiAgICAgIHZhciBwcm9kdWN0TmF2V2lkdGggPSBfcmVmLnByb2R1Y3ROYXZXaWR0aCxcbiAgICAgICAgICBpc0NvbGxhcHNlZCA9IF9yZWYuaXNDb2xsYXBzZWQ7XG5cbiAgICAgIGlmIChfdGhpcy5zdGF0ZS5pc1Jlc2l6ZURpc2FibGVkKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgX3RoaXMuc3RvcmVTdGF0ZSh7XG4gICAgICAgIGlzUmVzaXppbmc6IHRydWUsXG4gICAgICAgIHByb2R1Y3ROYXZXaWR0aDogcHJvZHVjdE5hdldpZHRoLFxuICAgICAgICBpc0NvbGxhcHNlZDogaXNDb2xsYXBzZWRcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgX2RlZmluZVByb3BlcnR5KF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoX3RoaXMpLCBcIm1hbnVhbFJlc2l6ZUVuZFwiLCBmdW5jdGlvbiAoX3JlZjIpIHtcbiAgICAgIHZhciBwcm9kdWN0TmF2V2lkdGggPSBfcmVmMi5wcm9kdWN0TmF2V2lkdGgsXG4gICAgICAgICAgaXNDb2xsYXBzZWQgPSBfcmVmMi5pc0NvbGxhcHNlZDtcblxuICAgICAgaWYgKF90aGlzLnN0YXRlLmlzUmVzaXplRGlzYWJsZWQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBfdGhpcy5zdG9yZVN0YXRlKHtcbiAgICAgICAgaXNSZXNpemluZzogZmFsc2UsXG4gICAgICAgIHByb2R1Y3ROYXZXaWR0aDogcHJvZHVjdE5hdldpZHRoLFxuICAgICAgICBpc0NvbGxhcHNlZDogaXNDb2xsYXBzZWRcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgX2RlZmluZVByb3BlcnR5KF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoX3RoaXMpLCBcImVuYWJsZVJlc2l6ZVwiLCBmdW5jdGlvbiAoKSB7XG4gICAgICB2YXIgaXNDb2xsYXBzZWQgPSB0eXBlb2YgX3RoaXMuaXNDb2xsYXBzZWRTdG9yZSA9PT0gJ2Jvb2xlYW4nID8gX3RoaXMuaXNDb2xsYXBzZWRTdG9yZSA6IF90aGlzLnN0YXRlLmlzQ29sbGFwc2VkOyAvLyBUaGlzIGlzIGEgcGFnZS1sZXZlbCBzZXR0aW5nIG5vdCBhIHVzZXIgcHJlZmVyZW5jZSBzbyB3ZSBkb24ndCBjYWNoZVxuICAgICAgLy8gdGhpcy5cblxuICAgICAgX3RoaXMuc2V0U3RhdGUoe1xuICAgICAgICBpc0NvbGxhcHNlZDogaXNDb2xsYXBzZWQsXG4gICAgICAgIGlzUmVzaXplRGlzYWJsZWQ6IGZhbHNlXG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIF9kZWZpbmVQcm9wZXJ0eShfYXNzZXJ0VGhpc0luaXRpYWxpemVkKF90aGlzKSwgXCJkaXNhYmxlUmVzaXplXCIsIGZ1bmN0aW9uICgpIHtcbiAgICAgIC8vIFJlbWVtYmVyIHRoaXMgc28gdGhhdCB3ZSBjYW4gcmVzZXQgaXQgaWYgcmVzaXppbmcgaXMgZW5hYmxlZCBhZ2Fpbi5cbiAgICAgIF90aGlzLmlzQ29sbGFwc2VkU3RvcmUgPSBfdGhpcy5zdGF0ZS5pc0NvbGxhcHNlZDsgLy8gVGhpcyBpcyBhIHBhZ2UtbGV2ZWwgc2V0dGluZyBub3QgYSB1c2VyIHByZWZlcmVuY2Ugc28gd2UgZG9uJ3QgY2FjaGVcbiAgICAgIC8vIHRoaXMuXG5cbiAgICAgIF90aGlzLnNldFN0YXRlKHtcbiAgICAgICAgaXNDb2xsYXBzZWQ6IGZhbHNlLFxuICAgICAgICBpc1Jlc2l6ZURpc2FibGVkOiB0cnVlXG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIHZhciBjYWNoZWRTdGF0ZSA9IHt9O1xuXG4gICAgaWYgKGNhY2hlKSB7XG4gICAgICB2YXIgZ2V0ID0gY2FjaGUuZ2V0LFxuICAgICAgICAgIHNldCA9IGNhY2hlLnNldDtcbiAgICAgIHZhciByZXRyaWV2ZWRDYWNoZSA9IGdldCgpO1xuXG4gICAgICBpZiAocmV0cmlldmVkQ2FjaGUpIHtcbiAgICAgICAgdmFyIGlzQ29sbGFwc2VkID0gcmV0cmlldmVkQ2FjaGUuaXNDb2xsYXBzZWQsXG4gICAgICAgICAgICBwcm9kdWN0TmF2V2lkdGggPSByZXRyaWV2ZWRDYWNoZS5wcm9kdWN0TmF2V2lkdGg7XG4gICAgICAgIGNhY2hlZFN0YXRlID0ge1xuICAgICAgICAgIGlzQ29sbGFwc2VkOiBpc0NvbGxhcHNlZCxcbiAgICAgICAgICBwcm9kdWN0TmF2V2lkdGg6IHByb2R1Y3ROYXZXaWR0aFxuICAgICAgICB9O1xuICAgICAgfVxuXG4gICAgICBfdGhpcy5nZXRDYWNoZSA9IGdldDtcbiAgICAgIF90aGlzLnNldENhY2hlID0gc2V0O1xuICAgIH1cblxuICAgIHZhciBfc3RhdGUgPSBfb2JqZWN0U3ByZWFkKHt9LCBkZWZhdWx0U3RhdGUsIGNhY2hlZFN0YXRlLCBpbml0aWFsU3RhdGUpO1xuXG4gICAgdmFyIF9pc0NvbGxhcHNlZCA9IF9zdGF0ZS5pc0NvbGxhcHNlZDsgLy8gaXNSZXNpemVEaXNhYmxlZCB0YWtlcyBwcmVjZWRlbmNlIG92ZXIgaXNDb2xsYXBzZWRcblxuICAgIGlmIChpbml0aWFsU3RhdGUgJiYgaW5pdGlhbFN0YXRlLmlzUmVzaXplRGlzYWJsZWQpIHtcbiAgICAgIC8vIFJlbWVtYmVyIHRoaXMgc28gdGhhdCB3ZSBjYW4gcmVzZXQgaXQgaWYgcmVzaXppbmcgaXMgZW5hYmxlZCBhZ2Fpbi5cbiAgICAgIF90aGlzLmlzQ29sbGFwc2VkU3RvcmUgPSBfaXNDb2xsYXBzZWQ7XG4gICAgICBfaXNDb2xsYXBzZWQgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBfdGhpcy5zdGF0ZSA9IF9vYmplY3RTcHJlYWQoe30sIF9zdGF0ZSwge1xuICAgICAgaXNDb2xsYXBzZWQ6IF9pc0NvbGxhcHNlZFxuICAgIH0pO1xuICAgIHJldHVybiBfdGhpcztcbiAgfVxuXG4gIHJldHVybiBVSUNvbnRyb2xsZXI7XG59KENvbnRhaW5lcik7XG5cbmV4cG9ydCB7IFVJQ29udHJvbGxlciBhcyBkZWZhdWx0IH07Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/navigation-next/dist/esm/ui-controller/UIController.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/navigation-next/dist/esm/ui-controller/UIControllerSubscriber.js": /*!*************************************************************************************************!*\ !*** ./node_modules/@atlaskit/navigation-next/dist/esm/ui-controller/UIControllerSubscriber.js ***! \*************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _emotion_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @emotion/core */ \"./node_modules/@emotion/core/dist/core.browser.esm.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var unstated__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! unstated */ \"./node_modules/@atlaskit/navigation-next/node_modules/unstated/lib/unstated.es.js\");\n/* harmony import */ var _UIController__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./UIController */ \"./node_modules/@atlaskit/navigation-next/dist/esm/ui-controller/UIController.js\");\n\n\n\n\nvar to = [_UIController__WEBPACK_IMPORTED_MODULE_3__[\"default\"]];\n\nvar UIControllerSubscriber = function UIControllerSubscriber(_ref) {\n var children = _ref.children;\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_0__[\"jsx\"])(unstated__WEBPACK_IMPORTED_MODULE_2__[\"Subscribe\"], {\n to: to\n }, children);\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (UIControllerSubscriber);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS91aS1jb250cm9sbGVyL1VJQ29udHJvbGxlclN1YnNjcmliZXIuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS91aS1jb250cm9sbGVyL1VJQ29udHJvbGxlclN1YnNjcmliZXIuanM/ZDQ1YiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBqc3ggYXMgX19fRW1vdGlvbkpTWCB9IGZyb20gXCJAZW1vdGlvbi9jb3JlXCI7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgU3Vic2NyaWJlIH0gZnJvbSAndW5zdGF0ZWQnO1xuaW1wb3J0IFVJQ29udHJvbGxlciBmcm9tICcuL1VJQ29udHJvbGxlcic7XG52YXIgdG8gPSBbVUlDb250cm9sbGVyXTtcblxudmFyIFVJQ29udHJvbGxlclN1YnNjcmliZXIgPSBmdW5jdGlvbiBVSUNvbnRyb2xsZXJTdWJzY3JpYmVyKF9yZWYpIHtcbiAgdmFyIGNoaWxkcmVuID0gX3JlZi5jaGlsZHJlbjtcbiAgcmV0dXJuIF9fX0Vtb3Rpb25KU1goU3Vic2NyaWJlLCB7XG4gICAgdG86IHRvXG4gIH0sIGNoaWxkcmVuKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IFVJQ29udHJvbGxlclN1YnNjcmliZXI7Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/navigation-next/dist/esm/ui-controller/UIControllerSubscriber.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/navigation-next/dist/esm/ui-controller/withNavigationUIController.js": /*!*****************************************************************************************************!*\ !*** ./node_modules/@atlaskit/navigation-next/dist/esm/ui-controller/withNavigationUIController.js ***! \*****************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _emotion_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @emotion/core */ \"./node_modules/@emotion/core/dist/core.browser.esm.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _UIControllerSubscriber__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./UIControllerSubscriber */ \"./node_modules/@atlaskit/navigation-next/dist/esm/ui-controller/UIControllerSubscriber.js\");\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function (WrappedComponent) {\n var withNavigationUIController = function withNavigationUIController(props) {\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_1__[\"jsx\"])(_UIControllerSubscriber__WEBPACK_IMPORTED_MODULE_3__[\"default\"], null, function (navigationUIController) {\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_1__[\"jsx\"])(WrappedComponent, _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({\n navigationUIController: navigationUIController\n }, props));\n });\n };\n\n withNavigationUIController.displayName = \"WithNavigationUIController(\".concat(WrappedComponent.displayName || WrappedComponent.name, \")\");\n return withNavigationUIController;\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS91aS1jb250cm9sbGVyL3dpdGhOYXZpZ2F0aW9uVUlDb250cm9sbGVyLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BhdGxhc2tpdC9uYXZpZ2F0aW9uLW5leHQvZGlzdC9lc20vdWktY29udHJvbGxlci93aXRoTmF2aWdhdGlvblVJQ29udHJvbGxlci5qcz8yZmI0Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfZXh0ZW5kcyBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9leHRlbmRzXCI7XG5pbXBvcnQgeyBqc3ggYXMgX19fRW1vdGlvbkpTWCB9IGZyb20gXCJAZW1vdGlvbi9jb3JlXCI7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFVJQ29udHJvbGxlclN1YnNjcmliZXIgZnJvbSAnLi9VSUNvbnRyb2xsZXJTdWJzY3JpYmVyJztcbmV4cG9ydCBkZWZhdWx0IChmdW5jdGlvbiAoV3JhcHBlZENvbXBvbmVudCkge1xuICB2YXIgd2l0aE5hdmlnYXRpb25VSUNvbnRyb2xsZXIgPSBmdW5jdGlvbiB3aXRoTmF2aWdhdGlvblVJQ29udHJvbGxlcihwcm9wcykge1xuICAgIHJldHVybiBfX19FbW90aW9uSlNYKFVJQ29udHJvbGxlclN1YnNjcmliZXIsIG51bGwsIGZ1bmN0aW9uIChuYXZpZ2F0aW9uVUlDb250cm9sbGVyKSB7XG4gICAgICByZXR1cm4gX19fRW1vdGlvbkpTWChXcmFwcGVkQ29tcG9uZW50LCBfZXh0ZW5kcyh7XG4gICAgICAgIG5hdmlnYXRpb25VSUNvbnRyb2xsZXI6IG5hdmlnYXRpb25VSUNvbnRyb2xsZXJcbiAgICAgIH0sIHByb3BzKSk7XG4gICAgfSk7XG4gIH07XG5cbiAgd2l0aE5hdmlnYXRpb25VSUNvbnRyb2xsZXIuZGlzcGxheU5hbWUgPSBcIldpdGhOYXZpZ2F0aW9uVUlDb250cm9sbGVyKFwiLmNvbmNhdChXcmFwcGVkQ29tcG9uZW50LmRpc3BsYXlOYW1lIHx8IFdyYXBwZWRDb21wb25lbnQubmFtZSwgXCIpXCIpO1xuICByZXR1cm4gd2l0aE5hdmlnYXRpb25VSUNvbnRyb2xsZXI7XG59KTsiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/navigation-next/dist/esm/ui-controller/withNavigationUIController.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/navigation-next/dist/esm/version.json": /*!**********************************************************************!*\ !*** ./node_modules/@atlaskit/navigation-next/dist/esm/version.json ***! \**********************************************************************/ /*! exports provided: name, version, sideEffects, default */ /***/ (function(module) { eval("module.exports = JSON.parse(\"{\\\"name\\\":\\\"@atlaskit/navigation-next\\\",\\\"version\\\":\\\"8.0.5\\\",\\\"sideEffects\\\":false}\");//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS92ZXJzaW9uLmpzb24uanMiLCJzb3VyY2VzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/navigation-next/dist/esm/version.json\n"); /***/ }), /***/ "./node_modules/@atlaskit/navigation-next/dist/esm/view-controller.js": /*!****************************************************************************!*\ !*** ./node_modules/@atlaskit/navigation-next/dist/esm/view-controller.js ***! \****************************************************************************/ /*! exports provided: ViewController, ViewControllerSubscriber, withNavigationViewController, viewReducerUtils */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _view_controller_ViewController__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./view-controller/ViewController */ \"./node_modules/@atlaskit/navigation-next/dist/esm/view-controller/ViewController.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ViewController\", function() { return _view_controller_ViewController__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n/* harmony import */ var _view_controller_ViewControllerSubscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./view-controller/ViewControllerSubscriber */ \"./node_modules/@atlaskit/navigation-next/dist/esm/view-controller/ViewControllerSubscriber.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ViewControllerSubscriber\", function() { return _view_controller_ViewControllerSubscriber__WEBPACK_IMPORTED_MODULE_1__[\"default\"]; });\n\n/* harmony import */ var _view_controller_withNavigationViewController__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./view-controller/withNavigationViewController */ \"./node_modules/@atlaskit/navigation-next/dist/esm/view-controller/withNavigationViewController.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"withNavigationViewController\", function() { return _view_controller_withNavigationViewController__WEBPACK_IMPORTED_MODULE_2__[\"default\"]; });\n\n/* harmony import */ var _view_controller_reducer_utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./view-controller/reducer-utils */ \"./node_modules/@atlaskit/navigation-next/dist/esm/view-controller/reducer-utils.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"viewReducerUtils\", function() { return _view_controller_reducer_utils__WEBPACK_IMPORTED_MODULE_3__[\"default\"]; });\n\n// All entrypoints will be replaced with start with `./dist/esm/` instead of `..` folder since they're connected to the bundle\n\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS92aWV3LWNvbnRyb2xsZXIuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS92aWV3LWNvbnRyb2xsZXIuanM/YmU1ZSJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBbGwgZW50cnlwb2ludHMgd2lsbCBiZSByZXBsYWNlZCB3aXRoIHN0YXJ0IHdpdGggYC4vZGlzdC9lc20vYCBpbnN0ZWFkIG9mIGAuLmAgZm9sZGVyIHNpbmNlIHRoZXkncmUgY29ubmVjdGVkIHRvIHRoZSBidW5kbGVcbmV4cG9ydCB7IGRlZmF1bHQgYXMgVmlld0NvbnRyb2xsZXIgfSBmcm9tICcuL3ZpZXctY29udHJvbGxlci9WaWV3Q29udHJvbGxlcic7XG5leHBvcnQgeyBkZWZhdWx0IGFzIFZpZXdDb250cm9sbGVyU3Vic2NyaWJlciB9IGZyb20gJy4vdmlldy1jb250cm9sbGVyL1ZpZXdDb250cm9sbGVyU3Vic2NyaWJlcic7XG5leHBvcnQgeyBkZWZhdWx0IGFzIHdpdGhOYXZpZ2F0aW9uVmlld0NvbnRyb2xsZXIgfSBmcm9tICcuL3ZpZXctY29udHJvbGxlci93aXRoTmF2aWdhdGlvblZpZXdDb250cm9sbGVyJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgdmlld1JlZHVjZXJVdGlscyB9IGZyb20gJy4vdmlldy1jb250cm9sbGVyL3JlZHVjZXItdXRpbHMnOyJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/navigation-next/dist/esm/view-controller.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/navigation-next/dist/esm/view-controller/ViewController.js": /*!*******************************************************************************************!*\ !*** ./node_modules/@atlaskit/navigation-next/dist/esm/view-controller/ViewController.js ***! \*******************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return ViewController; });\n/* harmony import */ var _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/objectSpread */ \"./node_modules/@babel/runtime/helpers/objectSpread.js\");\n/* harmony import */ var _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ \"./node_modules/@babel/runtime/helpers/toConsumableArray.js\");\n/* harmony import */ var _babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ \"./node_modules/@babel/runtime/helpers/classCallCheck.js\");\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ \"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ \"./node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @babel/runtime/helpers/assertThisInitialized */ \"./node_modules/@babel/runtime/helpers/assertThisInitialized.js\");\n/* harmony import */ var _babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ \"./node_modules/@babel/runtime/helpers/inherits.js\");\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ \"./node_modules/@babel/runtime/helpers/defineProperty.js\");\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var unstated__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! unstated */ \"./node_modules/@atlaskit/navigation-next/node_modules/unstated/lib/unstated.es.js\");\n\n\n\n\n\n\n\n\n\nvar defaultProps = {\n isDebugEnabled: false\n};\n\nvar ViewController =\n/*#__PURE__*/\nfunction (_Container) {\n _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_6___default()(ViewController, _Container);\n\n function ViewController() {\n var _this;\n\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : defaultProps,\n _isDebugEnabled = _ref.isDebugEnabled;\n\n _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2___default()(this, ViewController);\n\n _this = _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3___default()(this, _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4___default()(ViewController).call(this));\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_7___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_5___default()(_this), \"state\", {\n activeView: null,\n incomingView: null\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_7___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_5___default()(_this), \"reducers\", {});\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_7___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_5___default()(_this), \"views\", {});\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_7___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_5___default()(_this), \"isDebugEnabled\", false);\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_7___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_5___default()(_this), \"_updateViewController\", function (view, initialData) {\n var id = view.id,\n type = view.type,\n getAnalyticsAttributes = view.getAnalyticsAttributes;\n var reducers = _this.reducers[id] || [];\n var data = reducers.reduce(function (d, reducer) {\n return reducer(d);\n }, initialData);\n var analyticsAttributes = getAnalyticsAttributes ? getAnalyticsAttributes(data) : undefined;\n\n _this.setState({\n activeView: {\n id: id,\n type: type,\n data: data,\n analyticsAttributes: analyticsAttributes\n },\n incomingView: null\n });\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_7___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_5___default()(_this), \"addReducer\", function (viewId, reducer) {\n var reducersForView = [].concat(_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_1___default()(_this.reducers[viewId] || []), [reducer]);\n _this.reducers = _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0___default()({}, _this.reducers, _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_7___default()({}, viewId, reducersForView)); // If we're adding a reducer to the active view we'll want to force an\n // update so that the reducer gets applied.\n\n _this.updateActiveView(viewId);\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_7___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_5___default()(_this), \"removeReducer\", function (viewId, reducer) {\n var reducersForView = _this.reducers[viewId];\n\n if (!reducersForView) {\n return;\n }\n\n var newReducers = reducersForView.filter(function (r) {\n return r !== reducer;\n });\n _this.reducers = _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0___default()({}, _this.reducers, _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_7___default()({}, viewId, newReducers)); // If we're removing a reducer from the active view we'll want to force an\n // update so that the data gets re-evaluated.\n\n _this.updateActiveView(viewId);\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_7___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_5___default()(_this), \"addView\", function (view) {\n var id = view.id;\n _this.views = _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0___default()({}, _this.views, _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_7___default()({}, id, view)); // We need to call setView again for the following cases:\n // 1. The added view matches the active view (if it returns a Promise we\n // want to temporarily enter a loading state while it resolves).\n // 2. The added view matches the expected incoming view and we want to\n // resolve it.\n\n var _this$state = _this.state,\n activeView = _this$state.activeView,\n incomingView = _this$state.incomingView;\n\n if (activeView && id === activeView.id || incomingView && id === incomingView.id) {\n _this.setView(id);\n }\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_7___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_5___default()(_this), \"removeView\", function (viewId) {\n delete _this.views[viewId];\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_7___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_5___default()(_this), \"setView\", function (viewId) {\n var view = _this.views[viewId]; // The view has been added\n\n if (view) {\n var id = view.id,\n type = view.type,\n getItems = view.getItems;\n var returnedItems = getItems(); // This view returned a Promise\n\n if (returnedItems instanceof Promise) {\n // Enter a temporary loading state\n _this.setState({\n incomingView: {\n id: id,\n type: type\n }\n }); // Wait for the Promise to resolve\n\n\n returnedItems.then(function (data) {\n _this._updateViewController(view, data);\n });\n return;\n } // The view returned data\n\n\n _this._updateViewController(view, returnedItems);\n\n return;\n } // The view has not been added yet. We enter an indefinite loading state\n // until the view is added or another view is set.\n\n\n _this.setState({\n incomingView: {\n id: viewId,\n type: null\n }\n });\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_7___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_5___default()(_this), \"updateActiveView\", function (maybeViewId) {\n var activeView = _this.state.activeView;\n\n if (!activeView) {\n return;\n }\n\n if (maybeViewId && maybeViewId === activeView.id) {\n _this.setView(maybeViewId);\n\n return;\n }\n\n if (!maybeViewId) {\n _this.setView(activeView.id);\n }\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_7___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_5___default()(_this), \"setIsDebugEnabled\", function (isDebugEnabled) {\n _this.isDebugEnabled = isDebugEnabled;\n });\n\n if (typeof _isDebugEnabled !== 'undefined') {\n _this.isDebugEnabled = _isDebugEnabled;\n }\n\n return _this;\n }\n /**\n * Helper function for reducing a view's data and updating the state.\n */\n\n\n return ViewController;\n}(unstated__WEBPACK_IMPORTED_MODULE_8__[\"Container\"]);\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS92aWV3LWNvbnRyb2xsZXIvVmlld0NvbnRyb2xsZXIuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS92aWV3LWNvbnRyb2xsZXIvVmlld0NvbnRyb2xsZXIuanM/NGMxZSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgX29iamVjdFNwcmVhZCBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9vYmplY3RTcHJlYWRcIjtcbmltcG9ydCBfdG9Db25zdW1hYmxlQXJyYXkgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvdG9Db25zdW1hYmxlQXJyYXlcIjtcbmltcG9ydCBfY2xhc3NDYWxsQ2hlY2sgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvY2xhc3NDYWxsQ2hlY2tcIjtcbmltcG9ydCBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybiBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuXCI7XG5pbXBvcnQgX2dldFByb3RvdHlwZU9mIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2dldFByb3RvdHlwZU9mXCI7XG5pbXBvcnQgX2Fzc2VydFRoaXNJbml0aWFsaXplZCBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9hc3NlcnRUaGlzSW5pdGlhbGl6ZWRcIjtcbmltcG9ydCBfaW5oZXJpdHMgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvaW5oZXJpdHNcIjtcbmltcG9ydCBfZGVmaW5lUHJvcGVydHkgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvZGVmaW5lUHJvcGVydHlcIjtcbmltcG9ydCB7IENvbnRhaW5lciB9IGZyb20gJ3Vuc3RhdGVkJztcbnZhciBkZWZhdWx0UHJvcHMgPSB7XG4gIGlzRGVidWdFbmFibGVkOiBmYWxzZVxufTtcblxudmFyIFZpZXdDb250cm9sbGVyID1cbi8qI19fUFVSRV9fKi9cbmZ1bmN0aW9uIChfQ29udGFpbmVyKSB7XG4gIF9pbmhlcml0cyhWaWV3Q29udHJvbGxlciwgX0NvbnRhaW5lcik7XG5cbiAgZnVuY3Rpb24gVmlld0NvbnRyb2xsZXIoKSB7XG4gICAgdmFyIF90aGlzO1xuXG4gICAgdmFyIF9yZWYgPSBhcmd1bWVudHMubGVuZ3RoID4gMCAmJiBhcmd1bWVudHNbMF0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1swXSA6IGRlZmF1bHRQcm9wcyxcbiAgICAgICAgX2lzRGVidWdFbmFibGVkID0gX3JlZi5pc0RlYnVnRW5hYmxlZDtcblxuICAgIF9jbGFzc0NhbGxDaGVjayh0aGlzLCBWaWV3Q29udHJvbGxlcik7XG5cbiAgICBfdGhpcyA9IF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHRoaXMsIF9nZXRQcm90b3R5cGVPZihWaWV3Q29udHJvbGxlcikuY2FsbCh0aGlzKSk7XG5cbiAgICBfZGVmaW5lUHJvcGVydHkoX2Fzc2VydFRoaXNJbml0aWFsaXplZChfdGhpcyksIFwic3RhdGVcIiwge1xuICAgICAgYWN0aXZlVmlldzogbnVsbCxcbiAgICAgIGluY29taW5nVmlldzogbnVsbFxuICAgIH0pO1xuXG4gICAgX2RlZmluZVByb3BlcnR5KF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoX3RoaXMpLCBcInJlZHVjZXJzXCIsIHt9KTtcblxuICAgIF9kZWZpbmVQcm9wZXJ0eShfYXNzZXJ0VGhpc0luaXRpYWxpemVkKF90aGlzKSwgXCJ2aWV3c1wiLCB7fSk7XG5cbiAgICBfZGVmaW5lUHJvcGVydHkoX2Fzc2VydFRoaXNJbml0aWFsaXplZChfdGhpcyksIFwiaXNEZWJ1Z0VuYWJsZWRcIiwgZmFsc2UpO1xuXG4gICAgX2RlZmluZVByb3BlcnR5KF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoX3RoaXMpLCBcIl91cGRhdGVWaWV3Q29udHJvbGxlclwiLCBmdW5jdGlvbiAodmlldywgaW5pdGlhbERhdGEpIHtcbiAgICAgIHZhciBpZCA9IHZpZXcuaWQsXG4gICAgICAgICAgdHlwZSA9IHZpZXcudHlwZSxcbiAgICAgICAgICBnZXRBbmFseXRpY3NBdHRyaWJ1dGVzID0gdmlldy5nZXRBbmFseXRpY3NBdHRyaWJ1dGVzO1xuICAgICAgdmFyIHJlZHVjZXJzID0gX3RoaXMucmVkdWNlcnNbaWRdIHx8IFtdO1xuICAgICAgdmFyIGRhdGEgPSByZWR1Y2Vycy5yZWR1Y2UoZnVuY3Rpb24gKGQsIHJlZHVjZXIpIHtcbiAgICAgICAgcmV0dXJuIHJlZHVjZXIoZCk7XG4gICAgICB9LCBpbml0aWFsRGF0YSk7XG4gICAgICB2YXIgYW5hbHl0aWNzQXR0cmlidXRlcyA9IGdldEFuYWx5dGljc0F0dHJpYnV0ZXMgPyBnZXRBbmFseXRpY3NBdHRyaWJ1dGVzKGRhdGEpIDogdW5kZWZpbmVkO1xuXG4gICAgICBfdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgIGFjdGl2ZVZpZXc6IHtcbiAgICAgICAgICBpZDogaWQsXG4gICAgICAgICAgdHlwZTogdHlwZSxcbiAgICAgICAgICBkYXRhOiBkYXRhLFxuICAgICAgICAgIGFuYWx5dGljc0F0dHJpYnV0ZXM6IGFuYWx5dGljc0F0dHJpYnV0ZXNcbiAgICAgICAgfSxcbiAgICAgICAgaW5jb21pbmdWaWV3OiBudWxsXG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIF9kZWZpbmVQcm9wZXJ0eShfYXNzZXJ0VGhpc0luaXRpYWxpemVkKF90aGlzKSwgXCJhZGRSZWR1Y2VyXCIsIGZ1bmN0aW9uICh2aWV3SWQsIHJlZHVjZXIpIHtcbiAgICAgIHZhciByZWR1Y2Vyc0ZvclZpZXcgPSBbXS5jb25jYXQoX3RvQ29uc3VtYWJsZUFycmF5KF90aGlzLnJlZHVjZXJzW3ZpZXdJZF0gfHwgW10pLCBbcmVkdWNlcl0pO1xuICAgICAgX3RoaXMucmVkdWNlcnMgPSBfb2JqZWN0U3ByZWFkKHt9LCBfdGhpcy5yZWR1Y2VycywgX2RlZmluZVByb3BlcnR5KHt9LCB2aWV3SWQsIHJlZHVjZXJzRm9yVmlldykpOyAvLyBJZiB3ZSdyZSBhZGRpbmcgYSByZWR1Y2VyIHRvIHRoZSBhY3RpdmUgdmlldyB3ZSdsbCB3YW50IHRvIGZvcmNlIGFuXG4gICAgICAvLyB1cGRhdGUgc28gdGhhdCB0aGUgcmVkdWNlciBnZXRzIGFwcGxpZWQuXG5cbiAgICAgIF90aGlzLnVwZGF0ZUFjdGl2ZVZpZXcodmlld0lkKTtcbiAgICB9KTtcblxuICAgIF9kZWZpbmVQcm9wZXJ0eShfYXNzZXJ0VGhpc0luaXRpYWxpemVkKF90aGlzKSwgXCJyZW1vdmVSZWR1Y2VyXCIsIGZ1bmN0aW9uICh2aWV3SWQsIHJlZHVjZXIpIHtcbiAgICAgIHZhciByZWR1Y2Vyc0ZvclZpZXcgPSBfdGhpcy5yZWR1Y2Vyc1t2aWV3SWRdO1xuXG4gICAgICBpZiAoIXJlZHVjZXJzRm9yVmlldykge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHZhciBuZXdSZWR1Y2VycyA9IHJlZHVjZXJzRm9yVmlldy5maWx0ZXIoZnVuY3Rpb24gKHIpIHtcbiAgICAgICAgcmV0dXJuIHIgIT09IHJlZHVjZXI7XG4gICAgICB9KTtcbiAgICAgIF90aGlzLnJlZHVjZXJzID0gX29iamVjdFNwcmVhZCh7fSwgX3RoaXMucmVkdWNlcnMsIF9kZWZpbmVQcm9wZXJ0eSh7fSwgdmlld0lkLCBuZXdSZWR1Y2VycykpOyAvLyBJZiB3ZSdyZSByZW1vdmluZyBhIHJlZHVjZXIgZnJvbSB0aGUgYWN0aXZlIHZpZXcgd2UnbGwgd2FudCB0byBmb3JjZSBhblxuICAgICAgLy8gdXBkYXRlIHNvIHRoYXQgdGhlIGRhdGEgZ2V0cyByZS1ldmFsdWF0ZWQuXG5cbiAgICAgIF90aGlzLnVwZGF0ZUFjdGl2ZVZpZXcodmlld0lkKTtcbiAgICB9KTtcblxuICAgIF9kZWZpbmVQcm9wZXJ0eShfYXNzZXJ0VGhpc0luaXRpYWxpemVkKF90aGlzKSwgXCJhZGRWaWV3XCIsIGZ1bmN0aW9uICh2aWV3KSB7XG4gICAgICB2YXIgaWQgPSB2aWV3LmlkO1xuICAgICAgX3RoaXMudmlld3MgPSBfb2JqZWN0U3ByZWFkKHt9LCBfdGhpcy52aWV3cywgX2RlZmluZVByb3BlcnR5KHt9LCBpZCwgdmlldykpOyAvLyBXZSBuZWVkIHRvIGNhbGwgc2V0VmlldyBhZ2FpbiBmb3IgdGhlIGZvbGxvd2luZyBjYXNlczpcbiAgICAgIC8vIDEuIFRoZSBhZGRlZCB2aWV3IG1hdGNoZXMgdGhlIGFjdGl2ZSB2aWV3IChpZiBpdCByZXR1cm5zIGEgUHJvbWlzZSB3ZVxuICAgICAgLy8gICAgd2FudCB0byB0ZW1wb3JhcmlseSBlbnRlciBhIGxvYWRpbmcgc3RhdGUgd2hpbGUgaXQgcmVzb2x2ZXMpLlxuICAgICAgLy8gMi4gVGhlIGFkZGVkIHZpZXcgbWF0Y2hlcyB0aGUgZXhwZWN0ZWQgaW5jb21pbmcgdmlldyBhbmQgd2Ugd2FudCB0b1xuICAgICAgLy8gICAgcmVzb2x2ZSBpdC5cblxuICAgICAgdmFyIF90aGlzJHN0YXRlID0gX3RoaXMuc3RhdGUsXG4gICAgICAgICAgYWN0aXZlVmlldyA9IF90aGlzJHN0YXRlLmFjdGl2ZVZpZXcsXG4gICAgICAgICAgaW5jb21pbmdWaWV3ID0gX3RoaXMkc3RhdGUuaW5jb21pbmdWaWV3O1xuXG4gICAgICBpZiAoYWN0aXZlVmlldyAmJiBpZCA9PT0gYWN0aXZlVmlldy5pZCB8fCBpbmNvbWluZ1ZpZXcgJiYgaWQgPT09IGluY29taW5nVmlldy5pZCkge1xuICAgICAgICBfdGhpcy5zZXRWaWV3KGlkKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIF9kZWZpbmVQcm9wZXJ0eShfYXNzZXJ0VGhpc0luaXRpYWxpemVkKF90aGlzKSwgXCJyZW1vdmVWaWV3XCIsIGZ1bmN0aW9uICh2aWV3SWQpIHtcbiAgICAgIGRlbGV0ZSBfdGhpcy52aWV3c1t2aWV3SWRdO1xuICAgIH0pO1xuXG4gICAgX2RlZmluZVByb3BlcnR5KF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoX3RoaXMpLCBcInNldFZpZXdcIiwgZnVuY3Rpb24gKHZpZXdJZCkge1xuICAgICAgdmFyIHZpZXcgPSBfdGhpcy52aWV3c1t2aWV3SWRdOyAvLyBUaGUgdmlldyBoYXMgYmVlbiBhZGRlZFxuXG4gICAgICBpZiAodmlldykge1xuICAgICAgICB2YXIgaWQgPSB2aWV3LmlkLFxuICAgICAgICAgICAgdHlwZSA9IHZpZXcudHlwZSxcbiAgICAgICAgICAgIGdldEl0ZW1zID0gdmlldy5nZXRJdGVtcztcbiAgICAgICAgdmFyIHJldHVybmVkSXRlbXMgPSBnZXRJdGVtcygpOyAvLyBUaGlzIHZpZXcgcmV0dXJuZWQgYSBQcm9taXNlXG5cbiAgICAgICAgaWYgKHJldHVybmVkSXRlbXMgaW5zdGFuY2VvZiBQcm9taXNlKSB7XG4gICAgICAgICAgLy8gRW50ZXIgYSB0ZW1wb3JhcnkgbG9hZGluZyBzdGF0ZVxuICAgICAgICAgIF90aGlzLnNldFN0YXRlKHtcbiAgICAgICAgICAgIGluY29taW5nVmlldzoge1xuICAgICAgICAgICAgICBpZDogaWQsXG4gICAgICAgICAgICAgIHR5cGU6IHR5cGVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTsgLy8gV2FpdCBmb3IgdGhlIFByb21pc2UgdG8gcmVzb2x2ZVxuXG5cbiAgICAgICAgICByZXR1cm5lZEl0ZW1zLnRoZW4oZnVuY3Rpb24gKGRhdGEpIHtcbiAgICAgICAgICAgIF90aGlzLl91cGRhdGVWaWV3Q29udHJvbGxlcih2aWV3LCBkYXRhKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH0gLy8gVGhlIHZpZXcgcmV0dXJuZWQgZGF0YVxuXG5cbiAgICAgICAgX3RoaXMuX3VwZGF0ZVZpZXdDb250cm9sbGVyKHZpZXcsIHJldHVybmVkSXRlbXMpO1xuXG4gICAgICAgIHJldHVybjtcbiAgICAgIH0gLy8gVGhlIHZpZXcgaGFzIG5vdCBiZWVuIGFkZGVkIHlldC4gV2UgZW50ZXIgYW4gaW5kZWZpbml0ZSBsb2FkaW5nIHN0YXRlXG4gICAgICAvLyB1bnRpbCB0aGUgdmlldyBpcyBhZGRlZCBvciBhbm90aGVyIHZpZXcgaXMgc2V0LlxuXG5cbiAgICAgIF90aGlzLnNldFN0YXRlKHtcbiAgICAgICAgaW5jb21pbmdWaWV3OiB7XG4gICAgICAgICAgaWQ6IHZpZXdJZCxcbiAgICAgICAgICB0eXBlOiBudWxsXG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgX2RlZmluZVByb3BlcnR5KF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoX3RoaXMpLCBcInVwZGF0ZUFjdGl2ZVZpZXdcIiwgZnVuY3Rpb24gKG1heWJlVmlld0lkKSB7XG4gICAgICB2YXIgYWN0aXZlVmlldyA9IF90aGlzLnN0YXRlLmFjdGl2ZVZpZXc7XG5cbiAgICAgIGlmICghYWN0aXZlVmlldykge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmIChtYXliZVZpZXdJZCAmJiBtYXliZVZpZXdJZCA9PT0gYWN0aXZlVmlldy5pZCkge1xuICAgICAgICBfdGhpcy5zZXRWaWV3KG1heWJlVmlld0lkKTtcblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmICghbWF5YmVWaWV3SWQpIHtcbiAgICAgICAgX3RoaXMuc2V0VmlldyhhY3RpdmVWaWV3LmlkKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIF9kZWZpbmVQcm9wZXJ0eShfYXNzZXJ0VGhpc0luaXRpYWxpemVkKF90aGlzKSwgXCJzZXRJc0RlYnVnRW5hYmxlZFwiLCBmdW5jdGlvbiAoaXNEZWJ1Z0VuYWJsZWQpIHtcbiAgICAgIF90aGlzLmlzRGVidWdFbmFibGVkID0gaXNEZWJ1Z0VuYWJsZWQ7XG4gICAgfSk7XG5cbiAgICBpZiAodHlwZW9mIF9pc0RlYnVnRW5hYmxlZCAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIF90aGlzLmlzRGVidWdFbmFibGVkID0gX2lzRGVidWdFbmFibGVkO1xuICAgIH1cblxuICAgIHJldHVybiBfdGhpcztcbiAgfVxuICAvKipcbiAgICogSGVscGVyIGZ1bmN0aW9uIGZvciByZWR1Y2luZyBhIHZpZXcncyBkYXRhIGFuZCB1cGRhdGluZyB0aGUgc3RhdGUuXG4gICAqL1xuXG5cbiAgcmV0dXJuIFZpZXdDb250cm9sbGVyO1xufShDb250YWluZXIpO1xuXG5leHBvcnQgeyBWaWV3Q29udHJvbGxlciBhcyBkZWZhdWx0IH07Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/navigation-next/dist/esm/view-controller/ViewController.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/navigation-next/dist/esm/view-controller/ViewControllerSubscriber.js": /*!*****************************************************************************************************!*\ !*** ./node_modules/@atlaskit/navigation-next/dist/esm/view-controller/ViewControllerSubscriber.js ***! \*****************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _emotion_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @emotion/core */ \"./node_modules/@emotion/core/dist/core.browser.esm.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var unstated__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! unstated */ \"./node_modules/@atlaskit/navigation-next/node_modules/unstated/lib/unstated.es.js\");\n/* harmony import */ var _ViewController__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./ViewController */ \"./node_modules/@atlaskit/navigation-next/dist/esm/view-controller/ViewController.js\");\n\n\n\n\n\nvar to = [_ViewController__WEBPACK_IMPORTED_MODULE_4__[\"default\"]];\n\nvar ViewControllerSubscriber = function ViewControllerSubscriber(props) {\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_1__[\"jsx\"])(unstated__WEBPACK_IMPORTED_MODULE_3__[\"Subscribe\"], _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({\n to: to\n }, props));\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (ViewControllerSubscriber);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS92aWV3LWNvbnRyb2xsZXIvVmlld0NvbnRyb2xsZXJTdWJzY3JpYmVyLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BhdGxhc2tpdC9uYXZpZ2F0aW9uLW5leHQvZGlzdC9lc20vdmlldy1jb250cm9sbGVyL1ZpZXdDb250cm9sbGVyU3Vic2NyaWJlci5qcz81ZDkwIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfZXh0ZW5kcyBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9leHRlbmRzXCI7XG5pbXBvcnQgeyBqc3ggYXMgX19fRW1vdGlvbkpTWCB9IGZyb20gXCJAZW1vdGlvbi9jb3JlXCI7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgU3Vic2NyaWJlIH0gZnJvbSAndW5zdGF0ZWQnO1xuaW1wb3J0IFZpZXdDb250cm9sbGVyIGZyb20gJy4vVmlld0NvbnRyb2xsZXInO1xudmFyIHRvID0gW1ZpZXdDb250cm9sbGVyXTtcblxudmFyIFZpZXdDb250cm9sbGVyU3Vic2NyaWJlciA9IGZ1bmN0aW9uIFZpZXdDb250cm9sbGVyU3Vic2NyaWJlcihwcm9wcykge1xuICByZXR1cm4gX19fRW1vdGlvbkpTWChTdWJzY3JpYmUsIF9leHRlbmRzKHtcbiAgICB0bzogdG9cbiAgfSwgcHJvcHMpKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IFZpZXdDb250cm9sbGVyU3Vic2NyaWJlcjsiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/navigation-next/dist/esm/view-controller/ViewControllerSubscriber.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/navigation-next/dist/esm/view-controller/reducer-utils.js": /*!******************************************************************************************!*\ !*** ./node_modules/@atlaskit/navigation-next/dist/esm/view-controller/reducer-utils.js ***! \******************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/typeof */ \"./node_modules/@babel/runtime/helpers/typeof.js\");\n/* harmony import */ var _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ \"./node_modules/@babel/runtime/helpers/toConsumableArray.js\");\n/* harmony import */ var _babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/objectSpread */ \"./node_modules/@babel/runtime/helpers/objectSpread.js\");\n/* harmony import */ var _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_2__);\n\n\n\n\n/**\n * View traversal function\n */\n// Recursively map over all the items in a view, and if an item satisfies a\n// given selector, apply a modifier to it.\nvar walkView = function walkView(selector) {\n return function (modifier) {\n return function (view) {\n var walk = walkView(selector)(modifier);\n var newView = [];\n view.forEach(function (viewItem) {\n var item = _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_2___default()({}, viewItem);\n\n if (item.items && item.items.length) {\n item = _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_2___default()({}, item, {\n items: walk(item.items)\n });\n }\n\n if (selector(item)) {\n item = modifier(item);\n }\n\n if (Array.isArray(item)) {\n newView = [].concat(_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_1___default()(newView), _babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_1___default()(item));\n } else if (item && _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0___default()(item) === 'object') {\n newView = [].concat(_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_1___default()(newView), [item]);\n }\n });\n return newView;\n };\n };\n};\n/**\n * Pre-configured selectors\n */\n// Modify the item in a view with the given id.\n\n\nvar findId = function findId(itemId) {\n return walkView(function (_ref) {\n var id = _ref.id;\n return itemId === id;\n });\n}; // Modify items in a view with an id that matches the given regular expression.\n\n\nvar matchId = function matchId(regexp) {\n return walkView(function (_ref2) {\n var id = _ref2.id;\n return regexp.test(id);\n });\n}; // Modify the item in a view with the given legacyId.\n\n\nvar findLegacyId = function findLegacyId(itemId) {\n return walkView(function (_ref3) {\n var legacyId = _ref3.legacyId;\n return itemId === legacyId;\n });\n}; // Modify items in a view with a legacyId that matches the given regular\n// expression.\n\n\nvar matchLegacyId = function matchLegacyId(regexp) {\n return walkView(function (_ref4) {\n var legacyId = _ref4.legacyId;\n return !!legacyId && regexp.test(legacyId);\n });\n};\n/**\n * Common modifiers\n */\n// Removes the selected item from the view.\n\n\nvar removeItem = function removeItem() {\n return null;\n}; // Inserts an array of items before the selected item.\n\n\nvar insertBefore = function insertBefore(inserted) {\n return function (item) {\n return [].concat(_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_1___default()(inserted), [item]);\n };\n}; // Inserts an array of items after the selected item.\n\n\nvar insertAfter = function insertAfter(inserted) {\n return function (item) {\n return [item].concat(_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_1___default()(inserted));\n };\n}; // Adds items to the end of the selected item's `items` array.\n\n\nvar appendChildren = function appendChildren(appended) {\n return function (item) {\n return _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_2___default()({}, item, {\n items: [].concat(_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_1___default()(item.items || []), _babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_1___default()(appended))\n });\n };\n}; // Adds items to the start of the selected item's `items` array.\n\n\nvar prependChildren = function prependChildren(prepended) {\n return function (item) {\n return _babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_2___default()({}, item, {\n items: [].concat(_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_1___default()(prepended), _babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_1___default()(item.items || []))\n });\n };\n};\n/**\n * Transformers\n */\n// Flatten navigation items\n\n\nvar flattenItems = function flattenItems(items) {\n var itemProps = [];\n walkView(function () {\n return true;\n })(function (item) {\n itemProps.push(item);\n return item;\n })(items);\n return itemProps;\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n appendChildren: appendChildren,\n findId: findId,\n findLegacyId: findLegacyId,\n flattenItems: flattenItems,\n insertAfter: insertAfter,\n insertBefore: insertBefore,\n matchId: matchId,\n matchLegacyId: matchLegacyId,\n prependChildren: prependChildren,\n removeItem: removeItem,\n walkView: walkView\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS92aWV3LWNvbnRyb2xsZXIvcmVkdWNlci11dGlscy5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AYXRsYXNraXQvbmF2aWdhdGlvbi1uZXh0L2Rpc3QvZXNtL3ZpZXctY29udHJvbGxlci9yZWR1Y2VyLXV0aWxzLmpzP2QwNWQiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IF90eXBlb2YgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvdHlwZW9mXCI7XG5pbXBvcnQgX3RvQ29uc3VtYWJsZUFycmF5IGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL3RvQ29uc3VtYWJsZUFycmF5XCI7XG5pbXBvcnQgX29iamVjdFNwcmVhZCBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9vYmplY3RTcHJlYWRcIjtcblxuLyoqXG4gKiBWaWV3IHRyYXZlcnNhbCBmdW5jdGlvblxuICovXG4vLyBSZWN1cnNpdmVseSBtYXAgb3ZlciBhbGwgdGhlIGl0ZW1zIGluIGEgdmlldywgYW5kIGlmIGFuIGl0ZW0gc2F0aXNmaWVzIGFcbi8vIGdpdmVuIHNlbGVjdG9yLCBhcHBseSBhIG1vZGlmaWVyIHRvIGl0LlxudmFyIHdhbGtWaWV3ID0gZnVuY3Rpb24gd2Fsa1ZpZXcoc2VsZWN0b3IpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIChtb2RpZmllcikge1xuICAgIHJldHVybiBmdW5jdGlvbiAodmlldykge1xuICAgICAgdmFyIHdhbGsgPSB3YWxrVmlldyhzZWxlY3RvcikobW9kaWZpZXIpO1xuICAgICAgdmFyIG5ld1ZpZXcgPSBbXTtcbiAgICAgIHZpZXcuZm9yRWFjaChmdW5jdGlvbiAodmlld0l0ZW0pIHtcbiAgICAgICAgdmFyIGl0ZW0gPSBfb2JqZWN0U3ByZWFkKHt9LCB2aWV3SXRlbSk7XG5cbiAgICAgICAgaWYgKGl0ZW0uaXRlbXMgJiYgaXRlbS5pdGVtcy5sZW5ndGgpIHtcbiAgICAgICAgICBpdGVtID0gX29iamVjdFNwcmVhZCh7fSwgaXRlbSwge1xuICAgICAgICAgICAgaXRlbXM6IHdhbGsoaXRlbS5pdGVtcylcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChzZWxlY3RvcihpdGVtKSkge1xuICAgICAgICAgIGl0ZW0gPSBtb2RpZmllcihpdGVtKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGl0ZW0pKSB7XG4gICAgICAgICAgbmV3VmlldyA9IFtdLmNvbmNhdChfdG9Db25zdW1hYmxlQXJyYXkobmV3VmlldyksIF90b0NvbnN1bWFibGVBcnJheShpdGVtKSk7XG4gICAgICAgIH0gZWxzZSBpZiAoaXRlbSAmJiBfdHlwZW9mKGl0ZW0pID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgIG5ld1ZpZXcgPSBbXS5jb25jYXQoX3RvQ29uc3VtYWJsZUFycmF5KG5ld1ZpZXcpLCBbaXRlbV0pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIHJldHVybiBuZXdWaWV3O1xuICAgIH07XG4gIH07XG59O1xuLyoqXG4gKiBQcmUtY29uZmlndXJlZCBzZWxlY3RvcnNcbiAqL1xuLy8gTW9kaWZ5IHRoZSBpdGVtIGluIGEgdmlldyB3aXRoIHRoZSBnaXZlbiBpZC5cblxuXG52YXIgZmluZElkID0gZnVuY3Rpb24gZmluZElkKGl0ZW1JZCkge1xuICByZXR1cm4gd2Fsa1ZpZXcoZnVuY3Rpb24gKF9yZWYpIHtcbiAgICB2YXIgaWQgPSBfcmVmLmlkO1xuICAgIHJldHVybiBpdGVtSWQgPT09IGlkO1xuICB9KTtcbn07IC8vIE1vZGlmeSBpdGVtcyBpbiBhIHZpZXcgd2l0aCBhbiBpZCB0aGF0IG1hdGNoZXMgdGhlIGdpdmVuIHJlZ3VsYXIgZXhwcmVzc2lvbi5cblxuXG52YXIgbWF0Y2hJZCA9IGZ1bmN0aW9uIG1hdGNoSWQocmVnZXhwKSB7XG4gIHJldHVybiB3YWxrVmlldyhmdW5jdGlvbiAoX3JlZjIpIHtcbiAgICB2YXIgaWQgPSBfcmVmMi5pZDtcbiAgICByZXR1cm4gcmVnZXhwLnRlc3QoaWQpO1xuICB9KTtcbn07IC8vIE1vZGlmeSB0aGUgaXRlbSBpbiBhIHZpZXcgd2l0aCB0aGUgZ2l2ZW4gbGVnYWN5SWQuXG5cblxudmFyIGZpbmRMZWdhY3lJZCA9IGZ1bmN0aW9uIGZpbmRMZWdhY3lJZChpdGVtSWQpIHtcbiAgcmV0dXJuIHdhbGtWaWV3KGZ1bmN0aW9uIChfcmVmMykge1xuICAgIHZhciBsZWdhY3lJZCA9IF9yZWYzLmxlZ2FjeUlkO1xuICAgIHJldHVybiBpdGVtSWQgPT09IGxlZ2FjeUlkO1xuICB9KTtcbn07IC8vIE1vZGlmeSBpdGVtcyBpbiBhIHZpZXcgd2l0aCBhIGxlZ2FjeUlkIHRoYXQgbWF0Y2hlcyB0aGUgZ2l2ZW4gcmVndWxhclxuLy8gZXhwcmVzc2lvbi5cblxuXG52YXIgbWF0Y2hMZWdhY3lJZCA9IGZ1bmN0aW9uIG1hdGNoTGVnYWN5SWQocmVnZXhwKSB7XG4gIHJldHVybiB3YWxrVmlldyhmdW5jdGlvbiAoX3JlZjQpIHtcbiAgICB2YXIgbGVnYWN5SWQgPSBfcmVmNC5sZWdhY3lJZDtcbiAgICByZXR1cm4gISFsZWdhY3lJZCAmJiByZWdleHAudGVzdChsZWdhY3lJZCk7XG4gIH0pO1xufTtcbi8qKlxuICogQ29tbW9uIG1vZGlmaWVyc1xuICovXG4vLyBSZW1vdmVzIHRoZSBzZWxlY3RlZCBpdGVtIGZyb20gdGhlIHZpZXcuXG5cblxudmFyIHJlbW92ZUl0ZW0gPSBmdW5jdGlvbiByZW1vdmVJdGVtKCkge1xuICByZXR1cm4gbnVsbDtcbn07IC8vIEluc2VydHMgYW4gYXJyYXkgb2YgaXRlbXMgYmVmb3JlIHRoZSBzZWxlY3RlZCBpdGVtLlxuXG5cbnZhciBpbnNlcnRCZWZvcmUgPSBmdW5jdGlvbiBpbnNlcnRCZWZvcmUoaW5zZXJ0ZWQpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIChpdGVtKSB7XG4gICAgcmV0dXJuIFtdLmNvbmNhdChfdG9Db25zdW1hYmxlQXJyYXkoaW5zZXJ0ZWQpLCBbaXRlbV0pO1xuICB9O1xufTsgLy8gSW5zZXJ0cyBhbiBhcnJheSBvZiBpdGVtcyBhZnRlciB0aGUgc2VsZWN0ZWQgaXRlbS5cblxuXG52YXIgaW5zZXJ0QWZ0ZXIgPSBmdW5jdGlvbiBpbnNlcnRBZnRlcihpbnNlcnRlZCkge1xuICByZXR1cm4gZnVuY3Rpb24gKGl0ZW0pIHtcbiAgICByZXR1cm4gW2l0ZW1dLmNvbmNhdChfdG9Db25zdW1hYmxlQXJyYXkoaW5zZXJ0ZWQpKTtcbiAgfTtcbn07IC8vIEFkZHMgaXRlbXMgdG8gdGhlIGVuZCBvZiB0aGUgc2VsZWN0ZWQgaXRlbSdzIGBpdGVtc2AgYXJyYXkuXG5cblxudmFyIGFwcGVuZENoaWxkcmVuID0gZnVuY3Rpb24gYXBwZW5kQ2hpbGRyZW4oYXBwZW5kZWQpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIChpdGVtKSB7XG4gICAgcmV0dXJuIF9vYmplY3RTcHJlYWQoe30sIGl0ZW0sIHtcbiAgICAgIGl0ZW1zOiBbXS5jb25jYXQoX3RvQ29uc3VtYWJsZUFycmF5KGl0ZW0uaXRlbXMgfHwgW10pLCBfdG9Db25zdW1hYmxlQXJyYXkoYXBwZW5kZWQpKVxuICAgIH0pO1xuICB9O1xufTsgLy8gQWRkcyBpdGVtcyB0byB0aGUgc3RhcnQgb2YgdGhlIHNlbGVjdGVkIGl0ZW0ncyBgaXRlbXNgIGFycmF5LlxuXG5cbnZhciBwcmVwZW5kQ2hpbGRyZW4gPSBmdW5jdGlvbiBwcmVwZW5kQ2hpbGRyZW4ocHJlcGVuZGVkKSB7XG4gIHJldHVybiBmdW5jdGlvbiAoaXRlbSkge1xuICAgIHJldHVybiBfb2JqZWN0U3ByZWFkKHt9LCBpdGVtLCB7XG4gICAgICBpdGVtczogW10uY29uY2F0KF90b0NvbnN1bWFibGVBcnJheShwcmVwZW5kZWQpLCBfdG9Db25zdW1hYmxlQXJyYXkoaXRlbS5pdGVtcyB8fCBbXSkpXG4gICAgfSk7XG4gIH07XG59O1xuLyoqXG4gKiBUcmFuc2Zvcm1lcnNcbiAqL1xuLy8gRmxhdHRlbiBuYXZpZ2F0aW9uIGl0ZW1zXG5cblxudmFyIGZsYXR0ZW5JdGVtcyA9IGZ1bmN0aW9uIGZsYXR0ZW5JdGVtcyhpdGVtcykge1xuICB2YXIgaXRlbVByb3BzID0gW107XG4gIHdhbGtWaWV3KGZ1bmN0aW9uICgpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfSkoZnVuY3Rpb24gKGl0ZW0pIHtcbiAgICBpdGVtUHJvcHMucHVzaChpdGVtKTtcbiAgICByZXR1cm4gaXRlbTtcbiAgfSkoaXRlbXMpO1xuICByZXR1cm4gaXRlbVByb3BzO1xufTtcblxuZXhwb3J0IGRlZmF1bHQge1xuICBhcHBlbmRDaGlsZHJlbjogYXBwZW5kQ2hpbGRyZW4sXG4gIGZpbmRJZDogZmluZElkLFxuICBmaW5kTGVnYWN5SWQ6IGZpbmRMZWdhY3lJZCxcbiAgZmxhdHRlbkl0ZW1zOiBmbGF0dGVuSXRlbXMsXG4gIGluc2VydEFmdGVyOiBpbnNlcnRBZnRlcixcbiAgaW5zZXJ0QmVmb3JlOiBpbnNlcnRCZWZvcmUsXG4gIG1hdGNoSWQ6IG1hdGNoSWQsXG4gIG1hdGNoTGVnYWN5SWQ6IG1hdGNoTGVnYWN5SWQsXG4gIHByZXBlbmRDaGlsZHJlbjogcHJlcGVuZENoaWxkcmVuLFxuICByZW1vdmVJdGVtOiByZW1vdmVJdGVtLFxuICB3YWxrVmlldzogd2Fsa1ZpZXdcbn07Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/navigation-next/dist/esm/view-controller/reducer-utils.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/navigation-next/dist/esm/view-controller/withNavigationViewController.js": /*!*********************************************************************************************************!*\ !*** ./node_modules/@atlaskit/navigation-next/dist/esm/view-controller/withNavigationViewController.js ***! \*********************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _emotion_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @emotion/core */ \"./node_modules/@emotion/core/dist/core.browser.esm.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _ViewControllerSubscriber__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./ViewControllerSubscriber */ \"./node_modules/@atlaskit/navigation-next/dist/esm/view-controller/ViewControllerSubscriber.js\");\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function (WrappedComponent) {\n var WithNavigationViewController = function WithNavigationViewController(props) {\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_1__[\"jsx\"])(_ViewControllerSubscriber__WEBPACK_IMPORTED_MODULE_3__[\"default\"], null, function (navigationViewController) {\n return Object(_emotion_core__WEBPACK_IMPORTED_MODULE_1__[\"jsx\"])(WrappedComponent, _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({\n navigationViewController: navigationViewController\n }, props));\n });\n };\n\n WithNavigationViewController.displayName = \"WithNavigationViewController(\".concat(WrappedComponent.displayName || WrappedComponent.name, \")\");\n return WithNavigationViewController;\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9kaXN0L2VzbS92aWV3LWNvbnRyb2xsZXIvd2l0aE5hdmlnYXRpb25WaWV3Q29udHJvbGxlci5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AYXRsYXNraXQvbmF2aWdhdGlvbi1uZXh0L2Rpc3QvZXNtL3ZpZXctY29udHJvbGxlci93aXRoTmF2aWdhdGlvblZpZXdDb250cm9sbGVyLmpzPzE1NDciXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IF9leHRlbmRzIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2V4dGVuZHNcIjtcbmltcG9ydCB7IGpzeCBhcyBfX19FbW90aW9uSlNYIH0gZnJvbSBcIkBlbW90aW9uL2NvcmVcIjtcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgVmlld0NvbnRyb2xsZXJTdWJzY3JpYmVyIGZyb20gJy4vVmlld0NvbnRyb2xsZXJTdWJzY3JpYmVyJztcbmV4cG9ydCBkZWZhdWx0IChmdW5jdGlvbiAoV3JhcHBlZENvbXBvbmVudCkge1xuICB2YXIgV2l0aE5hdmlnYXRpb25WaWV3Q29udHJvbGxlciA9IGZ1bmN0aW9uIFdpdGhOYXZpZ2F0aW9uVmlld0NvbnRyb2xsZXIocHJvcHMpIHtcbiAgICByZXR1cm4gX19fRW1vdGlvbkpTWChWaWV3Q29udHJvbGxlclN1YnNjcmliZXIsIG51bGwsIGZ1bmN0aW9uIChuYXZpZ2F0aW9uVmlld0NvbnRyb2xsZXIpIHtcbiAgICAgIHJldHVybiBfX19FbW90aW9uSlNYKFdyYXBwZWRDb21wb25lbnQsIF9leHRlbmRzKHtcbiAgICAgICAgbmF2aWdhdGlvblZpZXdDb250cm9sbGVyOiBuYXZpZ2F0aW9uVmlld0NvbnRyb2xsZXJcbiAgICAgIH0sIHByb3BzKSk7XG4gICAgfSk7XG4gIH07XG5cbiAgV2l0aE5hdmlnYXRpb25WaWV3Q29udHJvbGxlci5kaXNwbGF5TmFtZSA9IFwiV2l0aE5hdmlnYXRpb25WaWV3Q29udHJvbGxlcihcIi5jb25jYXQoV3JhcHBlZENvbXBvbmVudC5kaXNwbGF5TmFtZSB8fCBXcmFwcGVkQ29tcG9uZW50Lm5hbWUsIFwiKVwiKTtcbiAgcmV0dXJuIFdpdGhOYXZpZ2F0aW9uVmlld0NvbnRyb2xsZXI7XG59KTsiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/navigation-next/dist/esm/view-controller/withNavigationViewController.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/navigation-next/node_modules/unstated/lib/unstated.es.js": /*!*****************************************************************************************!*\ !*** ./node_modules/@atlaskit/navigation-next/node_modules/unstated/lib/unstated.es.js ***! \*****************************************************************************************/ /*! exports provided: Container, Subscribe, Provider */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Container\", function() { return Container; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Subscribe\", function() { return Subscribe; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Provider\", function() { return Provider; });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var create_react_context__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! create-react-context */ \"./node_modules/create-react-context/lib/index.js\");\n/* harmony import */ var create_react_context__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(create_react_context__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_2__);\n\n\n\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar StateContext = create_react_context__WEBPACK_IMPORTED_MODULE_1___default()(null);\n\nvar Container = function () {\n function Container() {\n _classCallCheck(this, Container);\n\n this._listeners = [];\n }\n\n Container.prototype.setState = function setState(state) {\n this.state = Object.assign({}, this.state, state);\n this._listeners.forEach(function (fn) {\n return fn();\n });\n };\n\n Container.prototype.subscribe = function subscribe(fn) {\n this._listeners.push(fn);\n };\n\n Container.prototype.unsubscribe = function unsubscribe(fn) {\n this._listeners = this._listeners.filter(function (f) {\n return f !== fn;\n });\n };\n\n return Container;\n}();\n\nvar DUMMY_STATE = {};\n\nvar Subscribe = function (_React$Component) {\n _inherits(Subscribe, _React$Component);\n\n function Subscribe() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, Subscribe);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.state = {}, _this.instances = [], _this.onUpdate = function () {\n _this.setState(DUMMY_STATE);\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n Subscribe.prototype.componentWillUnmount = function componentWillUnmount() {\n this._unsubscribe();\n };\n\n Subscribe.prototype._unsubscribe = function _unsubscribe() {\n var _this2 = this;\n\n this.instances.forEach(function (container) {\n container.unsubscribe(_this2.onUpdate);\n });\n };\n\n Subscribe.prototype._createInstances = function _createInstances(map, containers) {\n var _this3 = this;\n\n this._unsubscribe();\n\n if (map === null) {\n throw new Error('You must wrap your components with a ');\n }\n\n var safeMap = map;\n var instances = containers.map(function (ContainerItem) {\n var instance = void 0;\n\n if ((typeof ContainerItem === 'undefined' ? 'undefined' : _typeof(ContainerItem)) === 'object' && ContainerItem instanceof Container) {\n instance = ContainerItem;\n } else {\n instance = safeMap.get(ContainerItem);\n\n if (!instance) {\n instance = new ContainerItem();\n safeMap.set(ContainerItem, instance);\n }\n }\n\n instance.unsubscribe(_this3.onUpdate);\n instance.subscribe(_this3.onUpdate);\n\n return instance;\n });\n\n this.instances = instances;\n return instances;\n };\n\n Subscribe.prototype.render = function render() {\n var _this4 = this;\n\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\n StateContext.Consumer,\n null,\n function (map) {\n return _this4.props.children.apply(null, _this4._createInstances(map, _this4.props.to));\n }\n );\n };\n\n return Subscribe;\n}(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component);\n\nSubscribe.propTypes = {\n to: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.array.isRequired,\n children: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.func.isRequired\n};\n\n\nfunction Provider(props) {\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\n StateContext.Consumer,\n null,\n function (parentMap) {\n var childMap = new Map(parentMap);\n\n if (props.inject) {\n props.inject.forEach(function (instance) {\n childMap.set(instance.constructor, instance);\n });\n }\n\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\n StateContext.Provider,\n { value: childMap },\n props.children\n );\n }\n );\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dC9ub2RlX21vZHVsZXMvdW5zdGF0ZWQvbGliL3Vuc3RhdGVkLmVzLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BhdGxhc2tpdC9uYXZpZ2F0aW9uLW5leHQvbm9kZV9tb2R1bGVzL3Vuc3RhdGVkL2xpYi91bnN0YXRlZC5lcy5qcz80MmYyIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgY3JlYXRlUmVhY3RDb250ZXh0IGZyb20gJ2NyZWF0ZS1yZWFjdC1jb250ZXh0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5cbnZhciBfdHlwZW9mID0gdHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIHR5cGVvZiBTeW1ib2wuaXRlcmF0b3IgPT09IFwic3ltYm9sXCIgPyBmdW5jdGlvbiAob2JqKSB7IHJldHVybiB0eXBlb2Ygb2JqOyB9IDogZnVuY3Rpb24gKG9iaikgeyByZXR1cm4gb2JqICYmIHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiBvYmouY29uc3RydWN0b3IgPT09IFN5bWJvbCAmJiBvYmogIT09IFN5bWJvbC5wcm90b3R5cGUgPyBcInN5bWJvbFwiIDogdHlwZW9mIG9iajsgfTtcblxuZnVuY3Rpb24gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4oc2VsZiwgY2FsbCkgeyBpZiAoIXNlbGYpIHsgdGhyb3cgbmV3IFJlZmVyZW5jZUVycm9yKFwidGhpcyBoYXNuJ3QgYmVlbiBpbml0aWFsaXNlZCAtIHN1cGVyKCkgaGFzbid0IGJlZW4gY2FsbGVkXCIpOyB9IHJldHVybiBjYWxsICYmICh0eXBlb2YgY2FsbCA9PT0gXCJvYmplY3RcIiB8fCB0eXBlb2YgY2FsbCA9PT0gXCJmdW5jdGlvblwiKSA/IGNhbGwgOiBzZWxmOyB9XG5cbmZ1bmN0aW9uIF9pbmhlcml0cyhzdWJDbGFzcywgc3VwZXJDbGFzcykgeyBpZiAodHlwZW9mIHN1cGVyQ2xhc3MgIT09IFwiZnVuY3Rpb25cIiAmJiBzdXBlckNsYXNzICE9PSBudWxsKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJTdXBlciBleHByZXNzaW9uIG11c3QgZWl0aGVyIGJlIG51bGwgb3IgYSBmdW5jdGlvbiwgbm90IFwiICsgdHlwZW9mIHN1cGVyQ2xhc3MpOyB9IHN1YkNsYXNzLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoc3VwZXJDbGFzcyAmJiBzdXBlckNsYXNzLnByb3RvdHlwZSwgeyBjb25zdHJ1Y3RvcjogeyB2YWx1ZTogc3ViQ2xhc3MsIGVudW1lcmFibGU6IGZhbHNlLCB3cml0YWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlIH0gfSk7IGlmIChzdXBlckNsYXNzKSBPYmplY3Quc2V0UHJvdG90eXBlT2YgPyBPYmplY3Quc2V0UHJvdG90eXBlT2Yoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpIDogc3ViQ2xhc3MuX19wcm90b19fID0gc3VwZXJDbGFzczsgfVxuXG5mdW5jdGlvbiBfY2xhc3NDYWxsQ2hlY2soaW5zdGFuY2UsIENvbnN0cnVjdG9yKSB7IGlmICghKGluc3RhbmNlIGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIik7IH0gfVxuXG52YXIgU3RhdGVDb250ZXh0ID0gY3JlYXRlUmVhY3RDb250ZXh0KG51bGwpO1xuXG52YXIgQ29udGFpbmVyID0gZnVuY3Rpb24gKCkge1xuICBmdW5jdGlvbiBDb250YWluZXIoKSB7XG4gICAgX2NsYXNzQ2FsbENoZWNrKHRoaXMsIENvbnRhaW5lcik7XG5cbiAgICB0aGlzLl9saXN0ZW5lcnMgPSBbXTtcbiAgfVxuXG4gIENvbnRhaW5lci5wcm90b3R5cGUuc2V0U3RhdGUgPSBmdW5jdGlvbiBzZXRTdGF0ZShzdGF0ZSkge1xuICAgIHRoaXMuc3RhdGUgPSBPYmplY3QuYXNzaWduKHt9LCB0aGlzLnN0YXRlLCBzdGF0ZSk7XG4gICAgdGhpcy5fbGlzdGVuZXJzLmZvckVhY2goZnVuY3Rpb24gKGZuKSB7XG4gICAgICByZXR1cm4gZm4oKTtcbiAgICB9KTtcbiAgfTtcblxuICBDb250YWluZXIucHJvdG90eXBlLnN1YnNjcmliZSA9IGZ1bmN0aW9uIHN1YnNjcmliZShmbikge1xuICAgIHRoaXMuX2xpc3RlbmVycy5wdXNoKGZuKTtcbiAgfTtcblxuICBDb250YWluZXIucHJvdG90eXBlLnVuc3Vic2NyaWJlID0gZnVuY3Rpb24gdW5zdWJzY3JpYmUoZm4pIHtcbiAgICB0aGlzLl9saXN0ZW5lcnMgPSB0aGlzLl9saXN0ZW5lcnMuZmlsdGVyKGZ1bmN0aW9uIChmKSB7XG4gICAgICByZXR1cm4gZiAhPT0gZm47XG4gICAgfSk7XG4gIH07XG5cbiAgcmV0dXJuIENvbnRhaW5lcjtcbn0oKTtcblxudmFyIERVTU1ZX1NUQVRFID0ge307XG5cbnZhciBTdWJzY3JpYmUgPSBmdW5jdGlvbiAoX1JlYWN0JENvbXBvbmVudCkge1xuICBfaW5oZXJpdHMoU3Vic2NyaWJlLCBfUmVhY3QkQ29tcG9uZW50KTtcblxuICBmdW5jdGlvbiBTdWJzY3JpYmUoKSB7XG4gICAgdmFyIF90ZW1wLCBfdGhpcywgX3JldDtcblxuICAgIF9jbGFzc0NhbGxDaGVjayh0aGlzLCBTdWJzY3JpYmUpO1xuXG4gICAgZm9yICh2YXIgX2xlbiA9IGFyZ3VtZW50cy5sZW5ndGgsIGFyZ3MgPSBBcnJheShfbGVuKSwgX2tleSA9IDA7IF9rZXkgPCBfbGVuOyBfa2V5KyspIHtcbiAgICAgIGFyZ3NbX2tleV0gPSBhcmd1bWVudHNbX2tleV07XG4gICAgfVxuXG4gICAgcmV0dXJuIF9yZXQgPSAoX3RlbXAgPSAoX3RoaXMgPSBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybih0aGlzLCBfUmVhY3QkQ29tcG9uZW50LmNhbGwuYXBwbHkoX1JlYWN0JENvbXBvbmVudCwgW3RoaXNdLmNvbmNhdChhcmdzKSkpLCBfdGhpcyksIF90aGlzLnN0YXRlID0ge30sIF90aGlzLmluc3RhbmNlcyA9IFtdLCBfdGhpcy5vblVwZGF0ZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIF90aGlzLnNldFN0YXRlKERVTU1ZX1NUQVRFKTtcbiAgICB9LCBfdGVtcCksIF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKF90aGlzLCBfcmV0KTtcbiAgfVxuXG4gIFN1YnNjcmliZS5wcm90b3R5cGUuY29tcG9uZW50V2lsbFVubW91bnQgPSBmdW5jdGlvbiBjb21wb25lbnRXaWxsVW5tb3VudCgpIHtcbiAgICB0aGlzLl91bnN1YnNjcmliZSgpO1xuICB9O1xuXG4gIFN1YnNjcmliZS5wcm90b3R5cGUuX3Vuc3Vic2NyaWJlID0gZnVuY3Rpb24gX3Vuc3Vic2NyaWJlKCkge1xuICAgIHZhciBfdGhpczIgPSB0aGlzO1xuXG4gICAgdGhpcy5pbnN0YW5jZXMuZm9yRWFjaChmdW5jdGlvbiAoY29udGFpbmVyKSB7XG4gICAgICBjb250YWluZXIudW5zdWJzY3JpYmUoX3RoaXMyLm9uVXBkYXRlKTtcbiAgICB9KTtcbiAgfTtcblxuICBTdWJzY3JpYmUucHJvdG90eXBlLl9jcmVhdGVJbnN0YW5jZXMgPSBmdW5jdGlvbiBfY3JlYXRlSW5zdGFuY2VzKG1hcCwgY29udGFpbmVycykge1xuICAgIHZhciBfdGhpczMgPSB0aGlzO1xuXG4gICAgdGhpcy5fdW5zdWJzY3JpYmUoKTtcblxuICAgIGlmIChtYXAgPT09IG51bGwpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignWW91IG11c3Qgd3JhcCB5b3VyIDxTdWJzY3JpYmU+IGNvbXBvbmVudHMgd2l0aCBhIDxQcm92aWRlcj4nKTtcbiAgICB9XG5cbiAgICB2YXIgc2FmZU1hcCA9IG1hcDtcbiAgICB2YXIgaW5zdGFuY2VzID0gY29udGFpbmVycy5tYXAoZnVuY3Rpb24gKENvbnRhaW5lckl0ZW0pIHtcbiAgICAgIHZhciBpbnN0YW5jZSA9IHZvaWQgMDtcblxuICAgICAgaWYgKCh0eXBlb2YgQ29udGFpbmVySXRlbSA9PT0gJ3VuZGVmaW5lZCcgPyAndW5kZWZpbmVkJyA6IF90eXBlb2YoQ29udGFpbmVySXRlbSkpID09PSAnb2JqZWN0JyAmJiBDb250YWluZXJJdGVtIGluc3RhbmNlb2YgQ29udGFpbmVyKSB7XG4gICAgICAgIGluc3RhbmNlID0gQ29udGFpbmVySXRlbTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGluc3RhbmNlID0gc2FmZU1hcC5nZXQoQ29udGFpbmVySXRlbSk7XG5cbiAgICAgICAgaWYgKCFpbnN0YW5jZSkge1xuICAgICAgICAgIGluc3RhbmNlID0gbmV3IENvbnRhaW5lckl0ZW0oKTtcbiAgICAgICAgICBzYWZlTWFwLnNldChDb250YWluZXJJdGVtLCBpbnN0YW5jZSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaW5zdGFuY2UudW5zdWJzY3JpYmUoX3RoaXMzLm9uVXBkYXRlKTtcbiAgICAgIGluc3RhbmNlLnN1YnNjcmliZShfdGhpczMub25VcGRhdGUpO1xuXG4gICAgICByZXR1cm4gaW5zdGFuY2U7XG4gICAgfSk7XG5cbiAgICB0aGlzLmluc3RhbmNlcyA9IGluc3RhbmNlcztcbiAgICByZXR1cm4gaW5zdGFuY2VzO1xuICB9O1xuXG4gIFN1YnNjcmliZS5wcm90b3R5cGUucmVuZGVyID0gZnVuY3Rpb24gcmVuZGVyKCkge1xuICAgIHZhciBfdGhpczQgPSB0aGlzO1xuXG4gICAgcmV0dXJuIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXG4gICAgICBTdGF0ZUNvbnRleHQuQ29uc3VtZXIsXG4gICAgICBudWxsLFxuICAgICAgZnVuY3Rpb24gKG1hcCkge1xuICAgICAgICByZXR1cm4gX3RoaXM0LnByb3BzLmNoaWxkcmVuLmFwcGx5KG51bGwsIF90aGlzNC5fY3JlYXRlSW5zdGFuY2VzKG1hcCwgX3RoaXM0LnByb3BzLnRvKSk7XG4gICAgICB9XG4gICAgKTtcbiAgfTtcblxuICByZXR1cm4gU3Vic2NyaWJlO1xufShSZWFjdC5Db21wb25lbnQpO1xuXG5TdWJzY3JpYmUucHJvcFR5cGVzID0ge1xuICB0bzogUHJvcFR5cGVzLmFycmF5LmlzUmVxdWlyZWQsXG4gIGNoaWxkcmVuOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkXG59O1xuXG5cbmZ1bmN0aW9uIFByb3ZpZGVyKHByb3BzKSB7XG4gIHJldHVybiBSZWFjdC5jcmVhdGVFbGVtZW50KFxuICAgIFN0YXRlQ29udGV4dC5Db25zdW1lcixcbiAgICBudWxsLFxuICAgIGZ1bmN0aW9uIChwYXJlbnRNYXApIHtcbiAgICAgIHZhciBjaGlsZE1hcCA9IG5ldyBNYXAocGFyZW50TWFwKTtcblxuICAgICAgaWYgKHByb3BzLmluamVjdCkge1xuICAgICAgICBwcm9wcy5pbmplY3QuZm9yRWFjaChmdW5jdGlvbiAoaW5zdGFuY2UpIHtcbiAgICAgICAgICBjaGlsZE1hcC5zZXQoaW5zdGFuY2UuY29uc3RydWN0b3IsIGluc3RhbmNlKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBSZWFjdC5jcmVhdGVFbGVtZW50KFxuICAgICAgICBTdGF0ZUNvbnRleHQuUHJvdmlkZXIsXG4gICAgICAgIHsgdmFsdWU6IGNoaWxkTWFwIH0sXG4gICAgICAgIHByb3BzLmNoaWxkcmVuXG4gICAgICApO1xuICAgIH1cbiAgKTtcbn1cblxuZXhwb3J0IHsgQ29udGFpbmVyLCBTdWJzY3JpYmUsIFByb3ZpZGVyIH07XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/navigation-next/node_modules/unstated/lib/unstated.es.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/popper/dist/esm/Popper.js": /*!**********************************************************!*\ !*** ./node_modules/@atlaskit/popper/dist/esm/Popper.js ***! \**********************************************************/ /*! exports provided: Manager, Reference, Popper */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Popper\", function() { return Popper; });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/@atlaskit/popper/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var memoize_one__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! memoize-one */ \"./node_modules/memoize-one/dist/memoize-one.esm.js\");\n/* harmony import */ var react_popper__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react-popper */ \"./node_modules/react-popper/lib/esm/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Manager\", function() { return react_popper__WEBPACK_IMPORTED_MODULE_3__[\"Manager\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Reference\", function() { return react_popper__WEBPACK_IMPORTED_MODULE_3__[\"Reference\"]; });\n\n\n\n\n\n\nvar FlipBehavior = {\n auto: [],\n top: ['top', 'bottom', 'top'],\n right: ['right', 'left', 'right'],\n bottom: ['bottom', 'top', 'bottom'],\n left: ['left', 'right', 'left'],\n};\nvar getFlipBehavior = function (side) { return FlipBehavior[side]; };\nvar Popper = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(Popper, _super);\n function Popper() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.getModifiers = Object(memoize_one__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(function (placement) {\n var flipBehavior = getFlipBehavior(placement.split('-')[0]);\n var modifiers = {\n flip: {\n enabled: true,\n behavior: flipBehavior,\n boundariesElement: 'viewport',\n },\n hide: {\n enabled: true,\n },\n offset: {\n enabled: true,\n offset: _this.props.offset,\n },\n preventOverflow: {\n enabled: true,\n escapeWithReference: false,\n boundariesElement: 'window',\n },\n };\n if (_this.props.modifiers) {\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, modifiers), _this.props.modifiers);\n }\n return modifiers;\n });\n return _this;\n }\n Popper.prototype.render = function () {\n var _a = this.props, placement = _a.placement, children = _a.children, referenceElement = _a.referenceElement;\n var modifiers = this.getModifiers(this.props.placement);\n return (react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(react_popper__WEBPACK_IMPORTED_MODULE_3__[\"Popper\"], Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({ positionFixed: true, modifiers: modifiers, placement: placement }, (referenceElement ? { referenceElement: referenceElement } : {})), children));\n };\n Popper.defaultProps = {\n children: function () { return null; },\n offset: '0, 8px',\n placement: 'bottom-start',\n };\n return Popper;\n}(react__WEBPACK_IMPORTED_MODULE_1___default.a.Component));\n\n//# sourceMappingURL=Popper.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L3BvcHBlci9kaXN0L2VzbS9Qb3BwZXIuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L3BvcHBlci9kaXN0L2VzbS9Qb3BwZXIuanM/YWFlOCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBfX2Fzc2lnbiwgX19leHRlbmRzIH0gZnJvbSBcInRzbGliXCI7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IG1lbW9pemVPbmUgZnJvbSAnbWVtb2l6ZS1vbmUnO1xuaW1wb3J0IHsgUG9wcGVyIGFzIFJlYWN0UG9wcGVyLCB9IGZyb20gJ3JlYWN0LXBvcHBlcic7XG5leHBvcnQgeyBNYW5hZ2VyLCBSZWZlcmVuY2UgfSBmcm9tICdyZWFjdC1wb3BwZXInO1xudmFyIEZsaXBCZWhhdmlvciA9IHtcbiAgICBhdXRvOiBbXSxcbiAgICB0b3A6IFsndG9wJywgJ2JvdHRvbScsICd0b3AnXSxcbiAgICByaWdodDogWydyaWdodCcsICdsZWZ0JywgJ3JpZ2h0J10sXG4gICAgYm90dG9tOiBbJ2JvdHRvbScsICd0b3AnLCAnYm90dG9tJ10sXG4gICAgbGVmdDogWydsZWZ0JywgJ3JpZ2h0JywgJ2xlZnQnXSxcbn07XG52YXIgZ2V0RmxpcEJlaGF2aW9yID0gZnVuY3Rpb24gKHNpZGUpIHsgcmV0dXJuIEZsaXBCZWhhdmlvcltzaWRlXTsgfTtcbnZhciBQb3BwZXIgPSAvKiogQGNsYXNzICovIChmdW5jdGlvbiAoX3N1cGVyKSB7XG4gICAgX19leHRlbmRzKFBvcHBlciwgX3N1cGVyKTtcbiAgICBmdW5jdGlvbiBQb3BwZXIoKSB7XG4gICAgICAgIHZhciBfdGhpcyA9IF9zdXBlciAhPT0gbnVsbCAmJiBfc3VwZXIuYXBwbHkodGhpcywgYXJndW1lbnRzKSB8fCB0aGlzO1xuICAgICAgICBfdGhpcy5nZXRNb2RpZmllcnMgPSBtZW1vaXplT25lKGZ1bmN0aW9uIChwbGFjZW1lbnQpIHtcbiAgICAgICAgICAgIHZhciBmbGlwQmVoYXZpb3IgPSBnZXRGbGlwQmVoYXZpb3IocGxhY2VtZW50LnNwbGl0KCctJylbMF0pO1xuICAgICAgICAgICAgdmFyIG1vZGlmaWVycyA9IHtcbiAgICAgICAgICAgICAgICBmbGlwOiB7XG4gICAgICAgICAgICAgICAgICAgIGVuYWJsZWQ6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIGJlaGF2aW9yOiBmbGlwQmVoYXZpb3IsXG4gICAgICAgICAgICAgICAgICAgIGJvdW5kYXJpZXNFbGVtZW50OiAndmlld3BvcnQnLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgaGlkZToge1xuICAgICAgICAgICAgICAgICAgICBlbmFibGVkOiB0cnVlLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgb2Zmc2V0OiB7XG4gICAgICAgICAgICAgICAgICAgIGVuYWJsZWQ6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIG9mZnNldDogX3RoaXMucHJvcHMub2Zmc2V0LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgcHJldmVudE92ZXJmbG93OiB7XG4gICAgICAgICAgICAgICAgICAgIGVuYWJsZWQ6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIGVzY2FwZVdpdGhSZWZlcmVuY2U6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICBib3VuZGFyaWVzRWxlbWVudDogJ3dpbmRvdycsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBpZiAoX3RoaXMucHJvcHMubW9kaWZpZXJzKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIF9fYXNzaWduKF9fYXNzaWduKHt9LCBtb2RpZmllcnMpLCBfdGhpcy5wcm9wcy5tb2RpZmllcnMpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIG1vZGlmaWVycztcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBfdGhpcztcbiAgICB9XG4gICAgUG9wcGVyLnByb3RvdHlwZS5yZW5kZXIgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBfYSA9IHRoaXMucHJvcHMsIHBsYWNlbWVudCA9IF9hLnBsYWNlbWVudCwgY2hpbGRyZW4gPSBfYS5jaGlsZHJlbiwgcmVmZXJlbmNlRWxlbWVudCA9IF9hLnJlZmVyZW5jZUVsZW1lbnQ7XG4gICAgICAgIHZhciBtb2RpZmllcnMgPSB0aGlzLmdldE1vZGlmaWVycyh0aGlzLnByb3BzLnBsYWNlbWVudCk7XG4gICAgICAgIHJldHVybiAoUmVhY3QuY3JlYXRlRWxlbWVudChSZWFjdFBvcHBlciwgX19hc3NpZ24oeyBwb3NpdGlvbkZpeGVkOiB0cnVlLCBtb2RpZmllcnM6IG1vZGlmaWVycywgcGxhY2VtZW50OiBwbGFjZW1lbnQgfSwgKHJlZmVyZW5jZUVsZW1lbnQgPyB7IHJlZmVyZW5jZUVsZW1lbnQ6IHJlZmVyZW5jZUVsZW1lbnQgfSA6IHt9KSksIGNoaWxkcmVuKSk7XG4gICAgfTtcbiAgICBQb3BwZXIuZGVmYXVsdFByb3BzID0ge1xuICAgICAgICBjaGlsZHJlbjogZnVuY3Rpb24gKCkgeyByZXR1cm4gbnVsbDsgfSxcbiAgICAgICAgb2Zmc2V0OiAnMCwgOHB4JyxcbiAgICAgICAgcGxhY2VtZW50OiAnYm90dG9tLXN0YXJ0JyxcbiAgICB9O1xuICAgIHJldHVybiBQb3BwZXI7XG59KFJlYWN0LkNvbXBvbmVudCkpO1xuZXhwb3J0IHsgUG9wcGVyIH07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1Qb3BwZXIuanMubWFwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/popper/dist/esm/Popper.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/popper/dist/esm/index.js": /*!*********************************************************!*\ !*** ./node_modules/@atlaskit/popper/dist/esm/index.js ***! \*********************************************************/ /*! exports provided: Manager, Reference, Popper */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Popper__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Popper */ \"./node_modules/@atlaskit/popper/dist/esm/Popper.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Manager\", function() { return _Popper__WEBPACK_IMPORTED_MODULE_0__[\"Manager\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Reference\", function() { return _Popper__WEBPACK_IMPORTED_MODULE_0__[\"Reference\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Popper\", function() { return _Popper__WEBPACK_IMPORTED_MODULE_0__[\"Popper\"]; });\n\n\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L3BvcHBlci9kaXN0L2VzbS9pbmRleC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AYXRsYXNraXQvcG9wcGVyL2Rpc3QvZXNtL2luZGV4LmpzP2FmNjQiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgTWFuYWdlciwgUmVmZXJlbmNlLCBQb3BwZXIgfSBmcm9tICcuL1BvcHBlcic7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/popper/dist/esm/index.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/popper/node_modules/tslib/tslib.es6.js": /*!***********************************************************************!*\ !*** ./node_modules/@atlaskit/popper/node_modules/tslib/tslib.es6.js ***! \***********************************************************************/ /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault, __classPrivateFieldGet, __classPrivateFieldSet */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__extends\", function() { return __extends; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__assign\", function() { return __assign; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__rest\", function() { return __rest; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__decorate\", function() { return __decorate; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__param\", function() { return __param; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__metadata\", function() { return __metadata; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__awaiter\", function() { return __awaiter; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__generator\", function() { return __generator; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__exportStar\", function() { return __exportStar; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__values\", function() { return __values; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__read\", function() { return __read; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__spread\", function() { return __spread; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__spreadArrays\", function() { return __spreadArrays; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__await\", function() { return __await; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__asyncGenerator\", function() { return __asyncGenerator; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__asyncDelegator\", function() { return __asyncDelegator; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__asyncValues\", function() { return __asyncValues; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__makeTemplateObject\", function() { return __makeTemplateObject; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__importStar\", function() { return __importStar; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__importDefault\", function() { return __importDefault; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__classPrivateFieldGet\", function() { return __classPrivateFieldGet; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__classPrivateFieldSet\", function() { return __classPrivateFieldSet; });\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nfunction __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nvar __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nfunction __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nfunction __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nfunction __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nfunction __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nfunction __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nfunction __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nfunction __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nfunction __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nfunction __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nfunction __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nfunction __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nfunction __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nfunction __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nfunction __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nfunction __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nfunction __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nfunction __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nfunction __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nfunction __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nfunction __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L3BvcHBlci9ub2RlX21vZHVsZXMvdHNsaWIvdHNsaWIuZXM2LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BhdGxhc2tpdC9wb3BwZXIvbm9kZV9tb2R1bGVzL3RzbGliL3RzbGliLmVzNi5qcz9mMjdjIl0sInNvdXJjZXNDb250ZW50IjpbIi8qISAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5Db3B5cmlnaHQgKGMpIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTsgeW91IG1heSBub3QgdXNlXHJcbnRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlXHJcbkxpY2Vuc2UgYXQgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXHJcblxyXG5USElTIENPREUgSVMgUFJPVklERUQgT04gQU4gKkFTIElTKiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZXHJcbktJTkQsIEVJVEhFUiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBXSVRIT1VUIExJTUlUQVRJT04gQU5ZIElNUExJRURcclxuV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIFRJVExFLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSxcclxuTUVSQ0hBTlRBQkxJVFkgT1IgTk9OLUlORlJJTkdFTUVOVC5cclxuXHJcblNlZSB0aGUgQXBhY2hlIFZlcnNpb24gMi4wIExpY2Vuc2UgZm9yIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9uc1xyXG5hbmQgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXHJcbi8qIGdsb2JhbCBSZWZsZWN0LCBQcm9taXNlICovXHJcblxyXG52YXIgZXh0ZW5kU3RhdGljcyA9IGZ1bmN0aW9uKGQsIGIpIHtcclxuICAgIGV4dGVuZFN0YXRpY3MgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgfHxcclxuICAgICAgICAoeyBfX3Byb3RvX186IFtdIH0gaW5zdGFuY2VvZiBBcnJheSAmJiBmdW5jdGlvbiAoZCwgYikgeyBkLl9fcHJvdG9fXyA9IGI7IH0pIHx8XHJcbiAgICAgICAgZnVuY3Rpb24gKGQsIGIpIHsgZm9yICh2YXIgcCBpbiBiKSBpZiAoYi5oYXNPd25Qcm9wZXJ0eShwKSkgZFtwXSA9IGJbcF07IH07XHJcbiAgICByZXR1cm4gZXh0ZW5kU3RhdGljcyhkLCBiKTtcclxufTtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2V4dGVuZHMoZCwgYikge1xyXG4gICAgZXh0ZW5kU3RhdGljcyhkLCBiKTtcclxuICAgIGZ1bmN0aW9uIF9fKCkgeyB0aGlzLmNvbnN0cnVjdG9yID0gZDsgfVxyXG4gICAgZC5wcm90b3R5cGUgPSBiID09PSBudWxsID8gT2JqZWN0LmNyZWF0ZShiKSA6IChfXy5wcm90b3R5cGUgPSBiLnByb3RvdHlwZSwgbmV3IF9fKCkpO1xyXG59XHJcblxyXG5leHBvcnQgdmFyIF9fYXNzaWduID0gZnVuY3Rpb24oKSB7XHJcbiAgICBfX2Fzc2lnbiA9IE9iamVjdC5hc3NpZ24gfHwgZnVuY3Rpb24gX19hc3NpZ24odCkge1xyXG4gICAgICAgIGZvciAodmFyIHMsIGkgPSAxLCBuID0gYXJndW1lbnRzLmxlbmd0aDsgaSA8IG47IGkrKykge1xyXG4gICAgICAgICAgICBzID0gYXJndW1lbnRzW2ldO1xyXG4gICAgICAgICAgICBmb3IgKHZhciBwIGluIHMpIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocywgcCkpIHRbcF0gPSBzW3BdO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdDtcclxuICAgIH1cclxuICAgIHJldHVybiBfX2Fzc2lnbi5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19yZXN0KHMsIGUpIHtcclxuICAgIHZhciB0ID0ge307XHJcbiAgICBmb3IgKHZhciBwIGluIHMpIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocywgcCkgJiYgZS5pbmRleE9mKHApIDwgMClcclxuICAgICAgICB0W3BdID0gc1twXTtcclxuICAgIGlmIChzICE9IG51bGwgJiYgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMgPT09IFwiZnVuY3Rpb25cIilcclxuICAgICAgICBmb3IgKHZhciBpID0gMCwgcCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMocyk7IGkgPCBwLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGlmIChlLmluZGV4T2YocFtpXSkgPCAwICYmIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChzLCBwW2ldKSlcclxuICAgICAgICAgICAgICAgIHRbcFtpXV0gPSBzW3BbaV1dO1xyXG4gICAgICAgIH1cclxuICAgIHJldHVybiB0O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19kZWNvcmF0ZShkZWNvcmF0b3JzLCB0YXJnZXQsIGtleSwgZGVzYykge1xyXG4gICAgdmFyIGMgPSBhcmd1bWVudHMubGVuZ3RoLCByID0gYyA8IDMgPyB0YXJnZXQgOiBkZXNjID09PSBudWxsID8gZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodGFyZ2V0LCBrZXkpIDogZGVzYywgZDtcclxuICAgIGlmICh0eXBlb2YgUmVmbGVjdCA9PT0gXCJvYmplY3RcIiAmJiB0eXBlb2YgUmVmbGVjdC5kZWNvcmF0ZSA9PT0gXCJmdW5jdGlvblwiKSByID0gUmVmbGVjdC5kZWNvcmF0ZShkZWNvcmF0b3JzLCB0YXJnZXQsIGtleSwgZGVzYyk7XHJcbiAgICBlbHNlIGZvciAodmFyIGkgPSBkZWNvcmF0b3JzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSBpZiAoZCA9IGRlY29yYXRvcnNbaV0pIHIgPSAoYyA8IDMgPyBkKHIpIDogYyA+IDMgPyBkKHRhcmdldCwga2V5LCByKSA6IGQodGFyZ2V0LCBrZXkpKSB8fCByO1xyXG4gICAgcmV0dXJuIGMgPiAzICYmIHIgJiYgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCByKSwgcjtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fcGFyYW0ocGFyYW1JbmRleCwgZGVjb3JhdG9yKSB7XHJcbiAgICByZXR1cm4gZnVuY3Rpb24gKHRhcmdldCwga2V5KSB7IGRlY29yYXRvcih0YXJnZXQsIGtleSwgcGFyYW1JbmRleCk7IH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fbWV0YWRhdGEobWV0YWRhdGFLZXksIG1ldGFkYXRhVmFsdWUpIHtcclxuICAgIGlmICh0eXBlb2YgUmVmbGVjdCA9PT0gXCJvYmplY3RcIiAmJiB0eXBlb2YgUmVmbGVjdC5tZXRhZGF0YSA9PT0gXCJmdW5jdGlvblwiKSByZXR1cm4gUmVmbGVjdC5tZXRhZGF0YShtZXRhZGF0YUtleSwgbWV0YWRhdGFWYWx1ZSk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2F3YWl0ZXIodGhpc0FyZywgX2FyZ3VtZW50cywgUCwgZ2VuZXJhdG9yKSB7XHJcbiAgICBmdW5jdGlvbiBhZG9wdCh2YWx1ZSkgeyByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBQID8gdmFsdWUgOiBuZXcgUChmdW5jdGlvbiAocmVzb2x2ZSkgeyByZXNvbHZlKHZhbHVlKTsgfSk7IH1cclxuICAgIHJldHVybiBuZXcgKFAgfHwgKFAgPSBQcm9taXNlKSkoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xyXG4gICAgICAgIGZ1bmN0aW9uIGZ1bGZpbGxlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvci5uZXh0KHZhbHVlKSk7IH0gY2F0Y2ggKGUpIHsgcmVqZWN0KGUpOyB9IH1cclxuICAgICAgICBmdW5jdGlvbiByZWplY3RlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvcltcInRocm93XCJdKHZhbHVlKSk7IH0gY2F0Y2ggKGUpIHsgcmVqZWN0KGUpOyB9IH1cclxuICAgICAgICBmdW5jdGlvbiBzdGVwKHJlc3VsdCkgeyByZXN1bHQuZG9uZSA/IHJlc29sdmUocmVzdWx0LnZhbHVlKSA6IGFkb3B0KHJlc3VsdC52YWx1ZSkudGhlbihmdWxmaWxsZWQsIHJlamVjdGVkKTsgfVxyXG4gICAgICAgIHN0ZXAoKGdlbmVyYXRvciA9IGdlbmVyYXRvci5hcHBseSh0aGlzQXJnLCBfYXJndW1lbnRzIHx8IFtdKSkubmV4dCgpKTtcclxuICAgIH0pO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19nZW5lcmF0b3IodGhpc0FyZywgYm9keSkge1xyXG4gICAgdmFyIF8gPSB7IGxhYmVsOiAwLCBzZW50OiBmdW5jdGlvbigpIHsgaWYgKHRbMF0gJiAxKSB0aHJvdyB0WzFdOyByZXR1cm4gdFsxXTsgfSwgdHJ5czogW10sIG9wczogW10gfSwgZiwgeSwgdCwgZztcclxuICAgIHJldHVybiBnID0geyBuZXh0OiB2ZXJiKDApLCBcInRocm93XCI6IHZlcmIoMSksIFwicmV0dXJuXCI6IHZlcmIoMikgfSwgdHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIChnW1N5bWJvbC5pdGVyYXRvcl0gPSBmdW5jdGlvbigpIHsgcmV0dXJuIHRoaXM7IH0pLCBnO1xyXG4gICAgZnVuY3Rpb24gdmVyYihuKSB7IHJldHVybiBmdW5jdGlvbiAodikgeyByZXR1cm4gc3RlcChbbiwgdl0pOyB9OyB9XHJcbiAgICBmdW5jdGlvbiBzdGVwKG9wKSB7XHJcbiAgICAgICAgaWYgKGYpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJHZW5lcmF0b3IgaXMgYWxyZWFkeSBleGVjdXRpbmcuXCIpO1xyXG4gICAgICAgIHdoaWxlIChfKSB0cnkge1xyXG4gICAgICAgICAgICBpZiAoZiA9IDEsIHkgJiYgKHQgPSBvcFswXSAmIDIgPyB5W1wicmV0dXJuXCJdIDogb3BbMF0gPyB5W1widGhyb3dcIl0gfHwgKCh0ID0geVtcInJldHVyblwiXSkgJiYgdC5jYWxsKHkpLCAwKSA6IHkubmV4dCkgJiYgISh0ID0gdC5jYWxsKHksIG9wWzFdKSkuZG9uZSkgcmV0dXJuIHQ7XHJcbiAgICAgICAgICAgIGlmICh5ID0gMCwgdCkgb3AgPSBbb3BbMF0gJiAyLCB0LnZhbHVlXTtcclxuICAgICAgICAgICAgc3dpdGNoIChvcFswXSkge1xyXG4gICAgICAgICAgICAgICAgY2FzZSAwOiBjYXNlIDE6IHQgPSBvcDsgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICBjYXNlIDQ6IF8ubGFiZWwrKzsgcmV0dXJuIHsgdmFsdWU6IG9wWzFdLCBkb25lOiBmYWxzZSB9O1xyXG4gICAgICAgICAgICAgICAgY2FzZSA1OiBfLmxhYmVsKys7IHkgPSBvcFsxXTsgb3AgPSBbMF07IGNvbnRpbnVlO1xyXG4gICAgICAgICAgICAgICAgY2FzZSA3OiBvcCA9IF8ub3BzLnBvcCgpOyBfLnRyeXMucG9wKCk7IGNvbnRpbnVlO1xyXG4gICAgICAgICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgICAgICAgICBpZiAoISh0ID0gXy50cnlzLCB0ID0gdC5sZW5ndGggPiAwICYmIHRbdC5sZW5ndGggLSAxXSkgJiYgKG9wWzBdID09PSA2IHx8IG9wWzBdID09PSAyKSkgeyBfID0gMDsgY29udGludWU7IH1cclxuICAgICAgICAgICAgICAgICAgICBpZiAob3BbMF0gPT09IDMgJiYgKCF0IHx8IChvcFsxXSA+IHRbMF0gJiYgb3BbMV0gPCB0WzNdKSkpIHsgXy5sYWJlbCA9IG9wWzFdOyBicmVhazsgfVxyXG4gICAgICAgICAgICAgICAgICAgIGlmIChvcFswXSA9PT0gNiAmJiBfLmxhYmVsIDwgdFsxXSkgeyBfLmxhYmVsID0gdFsxXTsgdCA9IG9wOyBicmVhazsgfVxyXG4gICAgICAgICAgICAgICAgICAgIGlmICh0ICYmIF8ubGFiZWwgPCB0WzJdKSB7IF8ubGFiZWwgPSB0WzJdOyBfLm9wcy5wdXNoKG9wKTsgYnJlYWs7IH1cclxuICAgICAgICAgICAgICAgICAgICBpZiAodFsyXSkgXy5vcHMucG9wKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgXy50cnlzLnBvcCgpOyBjb250aW51ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBvcCA9IGJvZHkuY2FsbCh0aGlzQXJnLCBfKTtcclxuICAgICAgICB9IGNhdGNoIChlKSB7IG9wID0gWzYsIGVdOyB5ID0gMDsgfSBmaW5hbGx5IHsgZiA9IHQgPSAwOyB9XHJcbiAgICAgICAgaWYgKG9wWzBdICYgNSkgdGhyb3cgb3BbMV07IHJldHVybiB7IHZhbHVlOiBvcFswXSA/IG9wWzFdIDogdm9pZCAwLCBkb25lOiB0cnVlIH07XHJcbiAgICB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2V4cG9ydFN0YXIobSwgZXhwb3J0cykge1xyXG4gICAgZm9yICh2YXIgcCBpbiBtKSBpZiAoIWV4cG9ydHMuaGFzT3duUHJvcGVydHkocCkpIGV4cG9ydHNbcF0gPSBtW3BdO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX192YWx1ZXMobykge1xyXG4gICAgdmFyIHMgPSB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgU3ltYm9sLml0ZXJhdG9yLCBtID0gcyAmJiBvW3NdLCBpID0gMDtcclxuICAgIGlmIChtKSByZXR1cm4gbS5jYWxsKG8pO1xyXG4gICAgaWYgKG8gJiYgdHlwZW9mIG8ubGVuZ3RoID09PSBcIm51bWJlclwiKSByZXR1cm4ge1xyXG4gICAgICAgIG5leHQ6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgaWYgKG8gJiYgaSA+PSBvLmxlbmd0aCkgbyA9IHZvaWQgMDtcclxuICAgICAgICAgICAgcmV0dXJuIHsgdmFsdWU6IG8gJiYgb1tpKytdLCBkb25lOiAhbyB9O1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKHMgPyBcIk9iamVjdCBpcyBub3QgaXRlcmFibGUuXCIgOiBcIlN5bWJvbC5pdGVyYXRvciBpcyBub3QgZGVmaW5lZC5cIik7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3JlYWQobywgbikge1xyXG4gICAgdmFyIG0gPSB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgb1tTeW1ib2wuaXRlcmF0b3JdO1xyXG4gICAgaWYgKCFtKSByZXR1cm4gbztcclxuICAgIHZhciBpID0gbS5jYWxsKG8pLCByLCBhciA9IFtdLCBlO1xyXG4gICAgdHJ5IHtcclxuICAgICAgICB3aGlsZSAoKG4gPT09IHZvaWQgMCB8fCBuLS0gPiAwKSAmJiAhKHIgPSBpLm5leHQoKSkuZG9uZSkgYXIucHVzaChyLnZhbHVlKTtcclxuICAgIH1cclxuICAgIGNhdGNoIChlcnJvcikgeyBlID0geyBlcnJvcjogZXJyb3IgfTsgfVxyXG4gICAgZmluYWxseSB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgaWYgKHIgJiYgIXIuZG9uZSAmJiAobSA9IGlbXCJyZXR1cm5cIl0pKSBtLmNhbGwoaSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZpbmFsbHkgeyBpZiAoZSkgdGhyb3cgZS5lcnJvcjsgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGFyO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19zcHJlYWQoKSB7XHJcbiAgICBmb3IgKHZhciBhciA9IFtdLCBpID0gMDsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKylcclxuICAgICAgICBhciA9IGFyLmNvbmNhdChfX3JlYWQoYXJndW1lbnRzW2ldKSk7XHJcbiAgICByZXR1cm4gYXI7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3NwcmVhZEFycmF5cygpIHtcclxuICAgIGZvciAodmFyIHMgPSAwLCBpID0gMCwgaWwgPSBhcmd1bWVudHMubGVuZ3RoOyBpIDwgaWw7IGkrKykgcyArPSBhcmd1bWVudHNbaV0ubGVuZ3RoO1xyXG4gICAgZm9yICh2YXIgciA9IEFycmF5KHMpLCBrID0gMCwgaSA9IDA7IGkgPCBpbDsgaSsrKVxyXG4gICAgICAgIGZvciAodmFyIGEgPSBhcmd1bWVudHNbaV0sIGogPSAwLCBqbCA9IGEubGVuZ3RoOyBqIDwgamw7IGorKywgaysrKVxyXG4gICAgICAgICAgICByW2tdID0gYVtqXTtcclxuICAgIHJldHVybiByO1xyXG59O1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fYXdhaXQodikge1xyXG4gICAgcmV0dXJuIHRoaXMgaW5zdGFuY2VvZiBfX2F3YWl0ID8gKHRoaXMudiA9IHYsIHRoaXMpIDogbmV3IF9fYXdhaXQodik7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2FzeW5jR2VuZXJhdG9yKHRoaXNBcmcsIF9hcmd1bWVudHMsIGdlbmVyYXRvcikge1xyXG4gICAgaWYgKCFTeW1ib2wuYXN5bmNJdGVyYXRvcikgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlN5bWJvbC5hc3luY0l0ZXJhdG9yIGlzIG5vdCBkZWZpbmVkLlwiKTtcclxuICAgIHZhciBnID0gZ2VuZXJhdG9yLmFwcGx5KHRoaXNBcmcsIF9hcmd1bWVudHMgfHwgW10pLCBpLCBxID0gW107XHJcbiAgICByZXR1cm4gaSA9IHt9LCB2ZXJiKFwibmV4dFwiKSwgdmVyYihcInRocm93XCIpLCB2ZXJiKFwicmV0dXJuXCIpLCBpW1N5bWJvbC5hc3luY0l0ZXJhdG9yXSA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRoaXM7IH0sIGk7XHJcbiAgICBmdW5jdGlvbiB2ZXJiKG4pIHsgaWYgKGdbbl0pIGlbbl0gPSBmdW5jdGlvbiAodikgeyByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24gKGEsIGIpIHsgcS5wdXNoKFtuLCB2LCBhLCBiXSkgPiAxIHx8IHJlc3VtZShuLCB2KTsgfSk7IH07IH1cclxuICAgIGZ1bmN0aW9uIHJlc3VtZShuLCB2KSB7IHRyeSB7IHN0ZXAoZ1tuXSh2KSk7IH0gY2F0Y2ggKGUpIHsgc2V0dGxlKHFbMF1bM10sIGUpOyB9IH1cclxuICAgIGZ1bmN0aW9uIHN0ZXAocikgeyByLnZhbHVlIGluc3RhbmNlb2YgX19hd2FpdCA/IFByb21pc2UucmVzb2x2ZShyLnZhbHVlLnYpLnRoZW4oZnVsZmlsbCwgcmVqZWN0KSA6IHNldHRsZShxWzBdWzJdLCByKTsgfVxyXG4gICAgZnVuY3Rpb24gZnVsZmlsbCh2YWx1ZSkgeyByZXN1bWUoXCJuZXh0XCIsIHZhbHVlKTsgfVxyXG4gICAgZnVuY3Rpb24gcmVqZWN0KHZhbHVlKSB7IHJlc3VtZShcInRocm93XCIsIHZhbHVlKTsgfVxyXG4gICAgZnVuY3Rpb24gc2V0dGxlKGYsIHYpIHsgaWYgKGYodiksIHEuc2hpZnQoKSwgcS5sZW5ndGgpIHJlc3VtZShxWzBdWzBdLCBxWzBdWzFdKTsgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19hc3luY0RlbGVnYXRvcihvKSB7XHJcbiAgICB2YXIgaSwgcDtcclxuICAgIHJldHVybiBpID0ge30sIHZlcmIoXCJuZXh0XCIpLCB2ZXJiKFwidGhyb3dcIiwgZnVuY3Rpb24gKGUpIHsgdGhyb3cgZTsgfSksIHZlcmIoXCJyZXR1cm5cIiksIGlbU3ltYm9sLml0ZXJhdG9yXSA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRoaXM7IH0sIGk7XHJcbiAgICBmdW5jdGlvbiB2ZXJiKG4sIGYpIHsgaVtuXSA9IG9bbl0gPyBmdW5jdGlvbiAodikgeyByZXR1cm4gKHAgPSAhcCkgPyB7IHZhbHVlOiBfX2F3YWl0KG9bbl0odikpLCBkb25lOiBuID09PSBcInJldHVyblwiIH0gOiBmID8gZih2KSA6IHY7IH0gOiBmOyB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2FzeW5jVmFsdWVzKG8pIHtcclxuICAgIGlmICghU3ltYm9sLmFzeW5jSXRlcmF0b3IpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJTeW1ib2wuYXN5bmNJdGVyYXRvciBpcyBub3QgZGVmaW5lZC5cIik7XHJcbiAgICB2YXIgbSA9IG9bU3ltYm9sLmFzeW5jSXRlcmF0b3JdLCBpO1xyXG4gICAgcmV0dXJuIG0gPyBtLmNhbGwobykgOiAobyA9IHR5cGVvZiBfX3ZhbHVlcyA9PT0gXCJmdW5jdGlvblwiID8gX192YWx1ZXMobykgOiBvW1N5bWJvbC5pdGVyYXRvcl0oKSwgaSA9IHt9LCB2ZXJiKFwibmV4dFwiKSwgdmVyYihcInRocm93XCIpLCB2ZXJiKFwicmV0dXJuXCIpLCBpW1N5bWJvbC5hc3luY0l0ZXJhdG9yXSA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRoaXM7IH0sIGkpO1xyXG4gICAgZnVuY3Rpb24gdmVyYihuKSB7IGlbbl0gPSBvW25dICYmIGZ1bmN0aW9uICh2KSB7IHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7IHYgPSBvW25dKHYpLCBzZXR0bGUocmVzb2x2ZSwgcmVqZWN0LCB2LmRvbmUsIHYudmFsdWUpOyB9KTsgfTsgfVxyXG4gICAgZnVuY3Rpb24gc2V0dGxlKHJlc29sdmUsIHJlamVjdCwgZCwgdikgeyBQcm9taXNlLnJlc29sdmUodikudGhlbihmdW5jdGlvbih2KSB7IHJlc29sdmUoeyB2YWx1ZTogdiwgZG9uZTogZCB9KTsgfSwgcmVqZWN0KTsgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19tYWtlVGVtcGxhdGVPYmplY3QoY29va2VkLCByYXcpIHtcclxuICAgIGlmIChPYmplY3QuZGVmaW5lUHJvcGVydHkpIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNvb2tlZCwgXCJyYXdcIiwgeyB2YWx1ZTogcmF3IH0pOyB9IGVsc2UgeyBjb29rZWQucmF3ID0gcmF3OyB9XHJcbiAgICByZXR1cm4gY29va2VkO1xyXG59O1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9faW1wb3J0U3Rhcihtb2QpIHtcclxuICAgIGlmIChtb2QgJiYgbW9kLl9fZXNNb2R1bGUpIHJldHVybiBtb2Q7XHJcbiAgICB2YXIgcmVzdWx0ID0ge307XHJcbiAgICBpZiAobW9kICE9IG51bGwpIGZvciAodmFyIGsgaW4gbW9kKSBpZiAoT2JqZWN0Lmhhc093blByb3BlcnR5LmNhbGwobW9kLCBrKSkgcmVzdWx0W2tdID0gbW9kW2tdO1xyXG4gICAgcmVzdWx0LmRlZmF1bHQgPSBtb2Q7XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19pbXBvcnREZWZhdWx0KG1vZCkge1xyXG4gICAgcmV0dXJuIChtb2QgJiYgbW9kLl9fZXNNb2R1bGUpID8gbW9kIDogeyBkZWZhdWx0OiBtb2QgfTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fY2xhc3NQcml2YXRlRmllbGRHZXQocmVjZWl2ZXIsIHByaXZhdGVNYXApIHtcclxuICAgIGlmICghcHJpdmF0ZU1hcC5oYXMocmVjZWl2ZXIpKSB7XHJcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcImF0dGVtcHRlZCB0byBnZXQgcHJpdmF0ZSBmaWVsZCBvbiBub24taW5zdGFuY2VcIik7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcHJpdmF0ZU1hcC5nZXQocmVjZWl2ZXIpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19jbGFzc1ByaXZhdGVGaWVsZFNldChyZWNlaXZlciwgcHJpdmF0ZU1hcCwgdmFsdWUpIHtcclxuICAgIGlmICghcHJpdmF0ZU1hcC5oYXMocmVjZWl2ZXIpKSB7XHJcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcImF0dGVtcHRlZCB0byBzZXQgcHJpdmF0ZSBmaWVsZCBvbiBub24taW5zdGFuY2VcIik7XHJcbiAgICB9XHJcbiAgICBwcml2YXRlTWFwLnNldChyZWNlaXZlciwgdmFsdWUpO1xyXG4gICAgcmV0dXJuIHZhbHVlO1xyXG59XHJcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/popper/node_modules/tslib/tslib.es6.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/portal/dist/esm/components/Portal.js": /*!*********************************************************************!*\ !*** ./node_modules/@atlaskit/portal/dist/esm/components/Portal.js ***! \*********************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/@atlaskit/portal/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-dom */ \"./node_modules/react-dom/index.js\");\n/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react_dom__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var tiny_invariant__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! tiny-invariant */ \"./node_modules/tiny-invariant/dist/tiny-invariant.esm.js\");\n/* harmony import */ var exenv__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! exenv */ \"./node_modules/exenv/index.js\");\n/* harmony import */ var exenv__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(exenv__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _atlaskit_theme__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @atlaskit/theme */ \"./node_modules/@atlaskit/theme/dist/esm/index.js\");\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../constants */ \"./node_modules/@atlaskit/portal/dist/esm/constants.js\");\n\n\n\n\n\n\n\nvar createContainer = function (zIndex) {\n var container = document.createElement('div');\n container.setAttribute('class', 'atlaskit-portal');\n container.setAttribute('style', \"z-index: \" + zIndex + \";\");\n return container;\n};\nvar getBody = function () {\n Object(tiny_invariant__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(document && document.body, 'cannot find document.body');\n return document.body;\n};\n/**\n * Reverses the name: zIndex object so we can quickly access it using the zIndex value as the key.\n */\nvar zIndexToName = Object.keys(_atlaskit_theme__WEBPACK_IMPORTED_MODULE_5__[\"layers\"]).reduce(function (acc, name) {\n var layerName = name;\n var value = _atlaskit_theme__WEBPACK_IMPORTED_MODULE_5__[\"layers\"][layerName]();\n acc[value] = layerName;\n return acc;\n}, {});\nvar getLayerName = function (zIndex) {\n return Object.prototype.hasOwnProperty.call(zIndexToName, zIndex)\n ? zIndexToName[zIndex]\n : null;\n};\nvar getEvent = function (eventName, zIndex) {\n var detail = {\n layer: getLayerName(Number(zIndex)),\n zIndex: zIndex,\n };\n // In ie11 the CustomEvent object exists, but it cannot be used as a constructor\n if (typeof CustomEvent === 'function') {\n return new CustomEvent(eventName, {\n detail: detail,\n });\n }\n // CustomEvent constructor API not supported (ie11)\n // Using `new Event` or `new CustomEvent` does not work in ie11\n var event = document.createEvent('CustomEvent');\n var params = {\n bubbles: true,\n cancellable: true,\n detail: detail,\n };\n event.initCustomEvent(eventName, params.bubbles, params.cancellable, params.detail);\n return event;\n};\nvar firePortalEvent = function (eventName, zIndex) {\n var event = getEvent(eventName, zIndex);\n window.dispatchEvent(event);\n};\nvar getPortalParent = function () {\n var parentElement = document.querySelector('body > .atlaskit-portal-container');\n if (!parentElement) {\n var parent_1 = document.createElement('div');\n parent_1.setAttribute('class', 'atlaskit-portal-container');\n parent_1.setAttribute('style', \"display: flex;\");\n getBody().appendChild(parent_1);\n return parent_1;\n }\n return parentElement;\n};\n// This is a generic component does two things:\n// 1. Portals it's children using React.createPortal\n// 2. Creates the DOM node container for the portal based on props\n// 3. Ensures DOM the container creates it's own stacking context\nvar Portal = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(Portal, _super);\n function Portal() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.state = {\n container: exenv__WEBPACK_IMPORTED_MODULE_4__[\"canUseDOM\"] ? createContainer(_this.props.zIndex) : undefined,\n portalIsMounted: false,\n };\n return _this;\n }\n Portal.prototype.componentDidUpdate = function (prevProps, prevState) {\n var container = this.state.container;\n var zIndex = this.props.zIndex;\n if (container && prevProps.zIndex !== zIndex) {\n var newContainer = createContainer(zIndex);\n getPortalParent().replaceChild(container, newContainer);\n // eslint-disable-next-line react/no-did-update-set-state\n this.setState({ container: newContainer });\n }\n else if (!prevState.container && container) {\n // SSR path\n getPortalParent().appendChild(container);\n }\n };\n Portal.prototype.componentDidMount = function () {\n var container = this.state.container;\n var zIndex = this.props.zIndex;\n if (container) {\n getPortalParent().appendChild(container);\n }\n else {\n // SSR path\n var newContainer = createContainer(zIndex);\n // eslint-disable-next-line react/no-did-mount-set-state\n this.setState({ container: newContainer });\n }\n // eslint-disable-next-line react/no-did-mount-set-state\n this.setState({\n portalIsMounted: true,\n });\n firePortalEvent(_constants__WEBPACK_IMPORTED_MODULE_6__[\"PORTAL_MOUNT_EVENT\"], Number(zIndex));\n };\n Portal.prototype.componentWillUnmount = function () {\n var container = this.state.container;\n var zIndex = this.props.zIndex;\n if (container) {\n getPortalParent().removeChild(container);\n // clean up parent element if there are no more portals\n var portals = !!document.querySelector('body > .atlaskit-portal-container > .atlaskit-portal');\n if (!portals) {\n getBody().removeChild(getPortalParent());\n }\n }\n firePortalEvent(_constants__WEBPACK_IMPORTED_MODULE_6__[\"PORTAL_UNMOUNT_EVENT\"], Number(zIndex));\n };\n Portal.prototype.render = function () {\n var _a = this.state, container = _a.container, portalIsMounted = _a.portalIsMounted;\n return container && portalIsMounted\n ? react_dom__WEBPACK_IMPORTED_MODULE_2___default.a.createPortal(this.props.children, container)\n : null;\n };\n Portal.defaultProps = {\n zIndex: 0,\n };\n return Portal;\n}(react__WEBPACK_IMPORTED_MODULE_1___default.a.Component));\n/* harmony default export */ __webpack_exports__[\"default\"] = (Portal);\n//# sourceMappingURL=Portal.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L3BvcnRhbC9kaXN0L2VzbS9jb21wb25lbnRzL1BvcnRhbC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AYXRsYXNraXQvcG9ydGFsL2Rpc3QvZXNtL2NvbXBvbmVudHMvUG9ydGFsLmpzP2Q1ZGEiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgX19leHRlbmRzIH0gZnJvbSBcInRzbGliXCI7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFJlYWN0RE9NIGZyb20gJ3JlYWN0LWRvbSc7XG5pbXBvcnQgaW52YXJpYW50IGZyb20gJ3RpbnktaW52YXJpYW50JztcbmltcG9ydCB7IGNhblVzZURPTSB9IGZyb20gJ2V4ZW52JztcbmltcG9ydCB7IGxheWVycyB9IGZyb20gJ0BhdGxhc2tpdC90aGVtZSc7XG5pbXBvcnQgeyBQT1JUQUxfTU9VTlRfRVZFTlQsIFBPUlRBTF9VTk1PVU5UX0VWRU5UIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbnZhciBjcmVhdGVDb250YWluZXIgPSBmdW5jdGlvbiAoekluZGV4KSB7XG4gICAgdmFyIGNvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgIGNvbnRhaW5lci5zZXRBdHRyaWJ1dGUoJ2NsYXNzJywgJ2F0bGFza2l0LXBvcnRhbCcpO1xuICAgIGNvbnRhaW5lci5zZXRBdHRyaWJ1dGUoJ3N0eWxlJywgXCJ6LWluZGV4OiBcIiArIHpJbmRleCArIFwiO1wiKTtcbiAgICByZXR1cm4gY29udGFpbmVyO1xufTtcbnZhciBnZXRCb2R5ID0gZnVuY3Rpb24gKCkge1xuICAgIGludmFyaWFudChkb2N1bWVudCAmJiBkb2N1bWVudC5ib2R5LCAnY2Fubm90IGZpbmQgZG9jdW1lbnQuYm9keScpO1xuICAgIHJldHVybiBkb2N1bWVudC5ib2R5O1xufTtcbi8qKlxuICogUmV2ZXJzZXMgdGhlIG5hbWU6IHpJbmRleCBvYmplY3Qgc28gd2UgY2FuIHF1aWNrbHkgYWNjZXNzIGl0IHVzaW5nIHRoZSB6SW5kZXggdmFsdWUgYXMgdGhlIGtleS5cbiAqL1xudmFyIHpJbmRleFRvTmFtZSA9IE9iamVjdC5rZXlzKGxheWVycykucmVkdWNlKGZ1bmN0aW9uIChhY2MsIG5hbWUpIHtcbiAgICB2YXIgbGF5ZXJOYW1lID0gbmFtZTtcbiAgICB2YXIgdmFsdWUgPSBsYXllcnNbbGF5ZXJOYW1lXSgpO1xuICAgIGFjY1t2YWx1ZV0gPSBsYXllck5hbWU7XG4gICAgcmV0dXJuIGFjYztcbn0sIHt9KTtcbnZhciBnZXRMYXllck5hbWUgPSBmdW5jdGlvbiAoekluZGV4KSB7XG4gICAgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh6SW5kZXhUb05hbWUsIHpJbmRleClcbiAgICAgICAgPyB6SW5kZXhUb05hbWVbekluZGV4XVxuICAgICAgICA6IG51bGw7XG59O1xudmFyIGdldEV2ZW50ID0gZnVuY3Rpb24gKGV2ZW50TmFtZSwgekluZGV4KSB7XG4gICAgdmFyIGRldGFpbCA9IHtcbiAgICAgICAgbGF5ZXI6IGdldExheWVyTmFtZShOdW1iZXIoekluZGV4KSksXG4gICAgICAgIHpJbmRleDogekluZGV4LFxuICAgIH07XG4gICAgLy8gSW4gaWUxMSB0aGUgQ3VzdG9tRXZlbnQgb2JqZWN0IGV4aXN0cywgYnV0IGl0IGNhbm5vdCBiZSB1c2VkIGFzIGEgY29uc3RydWN0b3JcbiAgICBpZiAodHlwZW9mIEN1c3RvbUV2ZW50ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHJldHVybiBuZXcgQ3VzdG9tRXZlbnQoZXZlbnROYW1lLCB7XG4gICAgICAgICAgICBkZXRhaWw6IGRldGFpbCxcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIC8vIEN1c3RvbUV2ZW50IGNvbnN0cnVjdG9yIEFQSSBub3Qgc3VwcG9ydGVkIChpZTExKVxuICAgIC8vIFVzaW5nIGBuZXcgRXZlbnRgIG9yIGBuZXcgQ3VzdG9tRXZlbnRgIGRvZXMgbm90IHdvcmsgaW4gaWUxMVxuICAgIHZhciBldmVudCA9IGRvY3VtZW50LmNyZWF0ZUV2ZW50KCdDdXN0b21FdmVudCcpO1xuICAgIHZhciBwYXJhbXMgPSB7XG4gICAgICAgIGJ1YmJsZXM6IHRydWUsXG4gICAgICAgIGNhbmNlbGxhYmxlOiB0cnVlLFxuICAgICAgICBkZXRhaWw6IGRldGFpbCxcbiAgICB9O1xuICAgIGV2ZW50LmluaXRDdXN0b21FdmVudChldmVudE5hbWUsIHBhcmFtcy5idWJibGVzLCBwYXJhbXMuY2FuY2VsbGFibGUsIHBhcmFtcy5kZXRhaWwpO1xuICAgIHJldHVybiBldmVudDtcbn07XG52YXIgZmlyZVBvcnRhbEV2ZW50ID0gZnVuY3Rpb24gKGV2ZW50TmFtZSwgekluZGV4KSB7XG4gICAgdmFyIGV2ZW50ID0gZ2V0RXZlbnQoZXZlbnROYW1lLCB6SW5kZXgpO1xuICAgIHdpbmRvdy5kaXNwYXRjaEV2ZW50KGV2ZW50KTtcbn07XG52YXIgZ2V0UG9ydGFsUGFyZW50ID0gZnVuY3Rpb24gKCkge1xuICAgIHZhciBwYXJlbnRFbGVtZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignYm9keSA+IC5hdGxhc2tpdC1wb3J0YWwtY29udGFpbmVyJyk7XG4gICAgaWYgKCFwYXJlbnRFbGVtZW50KSB7XG4gICAgICAgIHZhciBwYXJlbnRfMSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgICBwYXJlbnRfMS5zZXRBdHRyaWJ1dGUoJ2NsYXNzJywgJ2F0bGFza2l0LXBvcnRhbC1jb250YWluZXInKTtcbiAgICAgICAgcGFyZW50XzEuc2V0QXR0cmlidXRlKCdzdHlsZScsIFwiZGlzcGxheTogZmxleDtcIik7XG4gICAgICAgIGdldEJvZHkoKS5hcHBlbmRDaGlsZChwYXJlbnRfMSk7XG4gICAgICAgIHJldHVybiBwYXJlbnRfMTtcbiAgICB9XG4gICAgcmV0dXJuIHBhcmVudEVsZW1lbnQ7XG59O1xuLy8gVGhpcyBpcyBhIGdlbmVyaWMgY29tcG9uZW50IGRvZXMgdHdvIHRoaW5nczpcbi8vIDEuIFBvcnRhbHMgaXQncyBjaGlsZHJlbiB1c2luZyBSZWFjdC5jcmVhdGVQb3J0YWxcbi8vIDIuIENyZWF0ZXMgdGhlIERPTSBub2RlIGNvbnRhaW5lciBmb3IgdGhlIHBvcnRhbCBiYXNlZCBvbiBwcm9wc1xuLy8gMy4gRW5zdXJlcyBET00gdGhlIGNvbnRhaW5lciBjcmVhdGVzIGl0J3Mgb3duIHN0YWNraW5nIGNvbnRleHRcbnZhciBQb3J0YWwgPSAvKiogQGNsYXNzICovIChmdW5jdGlvbiAoX3N1cGVyKSB7XG4gICAgX19leHRlbmRzKFBvcnRhbCwgX3N1cGVyKTtcbiAgICBmdW5jdGlvbiBQb3J0YWwoKSB7XG4gICAgICAgIHZhciBfdGhpcyA9IF9zdXBlciAhPT0gbnVsbCAmJiBfc3VwZXIuYXBwbHkodGhpcywgYXJndW1lbnRzKSB8fCB0aGlzO1xuICAgICAgICBfdGhpcy5zdGF0ZSA9IHtcbiAgICAgICAgICAgIGNvbnRhaW5lcjogY2FuVXNlRE9NID8gY3JlYXRlQ29udGFpbmVyKF90aGlzLnByb3BzLnpJbmRleCkgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICBwb3J0YWxJc01vdW50ZWQ6IGZhbHNlLFxuICAgICAgICB9O1xuICAgICAgICByZXR1cm4gX3RoaXM7XG4gICAgfVxuICAgIFBvcnRhbC5wcm90b3R5cGUuY29tcG9uZW50RGlkVXBkYXRlID0gZnVuY3Rpb24gKHByZXZQcm9wcywgcHJldlN0YXRlKSB7XG4gICAgICAgIHZhciBjb250YWluZXIgPSB0aGlzLnN0YXRlLmNvbnRhaW5lcjtcbiAgICAgICAgdmFyIHpJbmRleCA9IHRoaXMucHJvcHMuekluZGV4O1xuICAgICAgICBpZiAoY29udGFpbmVyICYmIHByZXZQcm9wcy56SW5kZXggIT09IHpJbmRleCkge1xuICAgICAgICAgICAgdmFyIG5ld0NvbnRhaW5lciA9IGNyZWF0ZUNvbnRhaW5lcih6SW5kZXgpO1xuICAgICAgICAgICAgZ2V0UG9ydGFsUGFyZW50KCkucmVwbGFjZUNoaWxkKGNvbnRhaW5lciwgbmV3Q29udGFpbmVyKTtcbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC9uby1kaWQtdXBkYXRlLXNldC1zdGF0ZVxuICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IGNvbnRhaW5lcjogbmV3Q29udGFpbmVyIH0pO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKCFwcmV2U3RhdGUuY29udGFpbmVyICYmIGNvbnRhaW5lcikge1xuICAgICAgICAgICAgLy8gU1NSIHBhdGhcbiAgICAgICAgICAgIGdldFBvcnRhbFBhcmVudCgpLmFwcGVuZENoaWxkKGNvbnRhaW5lcik7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIFBvcnRhbC5wcm90b3R5cGUuY29tcG9uZW50RGlkTW91bnQgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBjb250YWluZXIgPSB0aGlzLnN0YXRlLmNvbnRhaW5lcjtcbiAgICAgICAgdmFyIHpJbmRleCA9IHRoaXMucHJvcHMuekluZGV4O1xuICAgICAgICBpZiAoY29udGFpbmVyKSB7XG4gICAgICAgICAgICBnZXRQb3J0YWxQYXJlbnQoKS5hcHBlbmRDaGlsZChjb250YWluZXIpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgLy8gU1NSIHBhdGhcbiAgICAgICAgICAgIHZhciBuZXdDb250YWluZXIgPSBjcmVhdGVDb250YWluZXIoekluZGV4KTtcbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC9uby1kaWQtbW91bnQtc2V0LXN0YXRlXG4gICAgICAgICAgICB0aGlzLnNldFN0YXRlKHsgY29udGFpbmVyOiBuZXdDb250YWluZXIgfSk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0L25vLWRpZC1tb3VudC1zZXQtc3RhdGVcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgICAgICBwb3J0YWxJc01vdW50ZWQ6IHRydWUsXG4gICAgICAgIH0pO1xuICAgICAgICBmaXJlUG9ydGFsRXZlbnQoUE9SVEFMX01PVU5UX0VWRU5ULCBOdW1iZXIoekluZGV4KSk7XG4gICAgfTtcbiAgICBQb3J0YWwucHJvdG90eXBlLmNvbXBvbmVudFdpbGxVbm1vdW50ID0gZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgY29udGFpbmVyID0gdGhpcy5zdGF0ZS5jb250YWluZXI7XG4gICAgICAgIHZhciB6SW5kZXggPSB0aGlzLnByb3BzLnpJbmRleDtcbiAgICAgICAgaWYgKGNvbnRhaW5lcikge1xuICAgICAgICAgICAgZ2V0UG9ydGFsUGFyZW50KCkucmVtb3ZlQ2hpbGQoY29udGFpbmVyKTtcbiAgICAgICAgICAgIC8vIGNsZWFuIHVwIHBhcmVudCBlbGVtZW50IGlmIHRoZXJlIGFyZSBubyBtb3JlIHBvcnRhbHNcbiAgICAgICAgICAgIHZhciBwb3J0YWxzID0gISFkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdib2R5ID4gLmF0bGFza2l0LXBvcnRhbC1jb250YWluZXIgPiAuYXRsYXNraXQtcG9ydGFsJyk7XG4gICAgICAgICAgICBpZiAoIXBvcnRhbHMpIHtcbiAgICAgICAgICAgICAgICBnZXRCb2R5KCkucmVtb3ZlQ2hpbGQoZ2V0UG9ydGFsUGFyZW50KCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGZpcmVQb3J0YWxFdmVudChQT1JUQUxfVU5NT1VOVF9FVkVOVCwgTnVtYmVyKHpJbmRleCkpO1xuICAgIH07XG4gICAgUG9ydGFsLnByb3RvdHlwZS5yZW5kZXIgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBfYSA9IHRoaXMuc3RhdGUsIGNvbnRhaW5lciA9IF9hLmNvbnRhaW5lciwgcG9ydGFsSXNNb3VudGVkID0gX2EucG9ydGFsSXNNb3VudGVkO1xuICAgICAgICByZXR1cm4gY29udGFpbmVyICYmIHBvcnRhbElzTW91bnRlZFxuICAgICAgICAgICAgPyBSZWFjdERPTS5jcmVhdGVQb3J0YWwodGhpcy5wcm9wcy5jaGlsZHJlbiwgY29udGFpbmVyKVxuICAgICAgICAgICAgOiBudWxsO1xuICAgIH07XG4gICAgUG9ydGFsLmRlZmF1bHRQcm9wcyA9IHtcbiAgICAgICAgekluZGV4OiAwLFxuICAgIH07XG4gICAgcmV0dXJuIFBvcnRhbDtcbn0oUmVhY3QuQ29tcG9uZW50KSk7XG5leHBvcnQgZGVmYXVsdCBQb3J0YWw7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1Qb3J0YWwuanMubWFwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/portal/dist/esm/components/Portal.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/portal/dist/esm/constants.js": /*!*************************************************************!*\ !*** ./node_modules/@atlaskit/portal/dist/esm/constants.js ***! \*************************************************************/ /*! exports provided: PORTAL_MOUNT_EVENT, PORTAL_UNMOUNT_EVENT */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"PORTAL_MOUNT_EVENT\", function() { return PORTAL_MOUNT_EVENT; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"PORTAL_UNMOUNT_EVENT\", function() { return PORTAL_UNMOUNT_EVENT; });\nvar PORTAL_MOUNT_EVENT = 'akPortalMount';\nvar PORTAL_UNMOUNT_EVENT = 'akPortalUnmount';\n//# sourceMappingURL=constants.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L3BvcnRhbC9kaXN0L2VzbS9jb25zdGFudHMuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L3BvcnRhbC9kaXN0L2VzbS9jb25zdGFudHMuanM/Zjc1MSJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdmFyIFBPUlRBTF9NT1VOVF9FVkVOVCA9ICdha1BvcnRhbE1vdW50JztcbmV4cG9ydCB2YXIgUE9SVEFMX1VOTU9VTlRfRVZFTlQgPSAnYWtQb3J0YWxVbm1vdW50Jztcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWNvbnN0YW50cy5qcy5tYXAiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/portal/dist/esm/constants.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/portal/dist/esm/index.js": /*!*********************************************************!*\ !*** ./node_modules/@atlaskit/portal/dist/esm/index.js ***! \*********************************************************/ /*! exports provided: default, PORTAL_MOUNT_EVENT, PORTAL_UNMOUNT_EVENT */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _components_Portal__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./components/Portal */ \"./node_modules/@atlaskit/portal/dist/esm/components/Portal.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _components_Portal__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constants */ \"./node_modules/@atlaskit/portal/dist/esm/constants.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PORTAL_MOUNT_EVENT\", function() { return _constants__WEBPACK_IMPORTED_MODULE_1__[\"PORTAL_MOUNT_EVENT\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PORTAL_UNMOUNT_EVENT\", function() { return _constants__WEBPACK_IMPORTED_MODULE_1__[\"PORTAL_UNMOUNT_EVENT\"]; });\n\n\n\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L3BvcnRhbC9kaXN0L2VzbS9pbmRleC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AYXRsYXNraXQvcG9ydGFsL2Rpc3QvZXNtL2luZGV4LmpzPzViYmMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgZGVmYXVsdCB9IGZyb20gJy4vY29tcG9uZW50cy9Qb3J0YWwnO1xuZXhwb3J0ICogZnJvbSAnLi9jb25zdGFudHMnO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/portal/dist/esm/index.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/portal/node_modules/tslib/tslib.es6.js": /*!***********************************************************************!*\ !*** ./node_modules/@atlaskit/portal/node_modules/tslib/tslib.es6.js ***! \***********************************************************************/ /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault, __classPrivateFieldGet, __classPrivateFieldSet */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__extends\", function() { return __extends; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__assign\", function() { return __assign; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__rest\", function() { return __rest; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__decorate\", function() { return __decorate; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__param\", function() { return __param; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__metadata\", function() { return __metadata; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__awaiter\", function() { return __awaiter; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__generator\", function() { return __generator; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__exportStar\", function() { return __exportStar; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__values\", function() { return __values; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__read\", function() { return __read; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__spread\", function() { return __spread; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__spreadArrays\", function() { return __spreadArrays; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__await\", function() { return __await; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__asyncGenerator\", function() { return __asyncGenerator; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__asyncDelegator\", function() { return __asyncDelegator; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__asyncValues\", function() { return __asyncValues; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__makeTemplateObject\", function() { return __makeTemplateObject; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__importStar\", function() { return __importStar; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__importDefault\", function() { return __importDefault; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__classPrivateFieldGet\", function() { return __classPrivateFieldGet; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__classPrivateFieldSet\", function() { return __classPrivateFieldSet; });\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nfunction __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nvar __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nfunction __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nfunction __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nfunction __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nfunction __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nfunction __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nfunction __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nfunction __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nfunction __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nfunction __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nfunction __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nfunction __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nfunction __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nfunction __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nfunction __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nfunction __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nfunction __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nfunction __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nfunction __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nfunction __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nfunction __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L3BvcnRhbC9ub2RlX21vZHVsZXMvdHNsaWIvdHNsaWIuZXM2LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BhdGxhc2tpdC9wb3J0YWwvbm9kZV9tb2R1bGVzL3RzbGliL3RzbGliLmVzNi5qcz8xZGUyIl0sInNvdXJjZXNDb250ZW50IjpbIi8qISAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5Db3B5cmlnaHQgKGMpIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTsgeW91IG1heSBub3QgdXNlXHJcbnRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlXHJcbkxpY2Vuc2UgYXQgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXHJcblxyXG5USElTIENPREUgSVMgUFJPVklERUQgT04gQU4gKkFTIElTKiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZXHJcbktJTkQsIEVJVEhFUiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBXSVRIT1VUIExJTUlUQVRJT04gQU5ZIElNUExJRURcclxuV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIFRJVExFLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSxcclxuTUVSQ0hBTlRBQkxJVFkgT1IgTk9OLUlORlJJTkdFTUVOVC5cclxuXHJcblNlZSB0aGUgQXBhY2hlIFZlcnNpb24gMi4wIExpY2Vuc2UgZm9yIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9uc1xyXG5hbmQgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXHJcbi8qIGdsb2JhbCBSZWZsZWN0LCBQcm9taXNlICovXHJcblxyXG52YXIgZXh0ZW5kU3RhdGljcyA9IGZ1bmN0aW9uKGQsIGIpIHtcclxuICAgIGV4dGVuZFN0YXRpY3MgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgfHxcclxuICAgICAgICAoeyBfX3Byb3RvX186IFtdIH0gaW5zdGFuY2VvZiBBcnJheSAmJiBmdW5jdGlvbiAoZCwgYikgeyBkLl9fcHJvdG9fXyA9IGI7IH0pIHx8XHJcbiAgICAgICAgZnVuY3Rpb24gKGQsIGIpIHsgZm9yICh2YXIgcCBpbiBiKSBpZiAoYi5oYXNPd25Qcm9wZXJ0eShwKSkgZFtwXSA9IGJbcF07IH07XHJcbiAgICByZXR1cm4gZXh0ZW5kU3RhdGljcyhkLCBiKTtcclxufTtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2V4dGVuZHMoZCwgYikge1xyXG4gICAgZXh0ZW5kU3RhdGljcyhkLCBiKTtcclxuICAgIGZ1bmN0aW9uIF9fKCkgeyB0aGlzLmNvbnN0cnVjdG9yID0gZDsgfVxyXG4gICAgZC5wcm90b3R5cGUgPSBiID09PSBudWxsID8gT2JqZWN0LmNyZWF0ZShiKSA6IChfXy5wcm90b3R5cGUgPSBiLnByb3RvdHlwZSwgbmV3IF9fKCkpO1xyXG59XHJcblxyXG5leHBvcnQgdmFyIF9fYXNzaWduID0gZnVuY3Rpb24oKSB7XHJcbiAgICBfX2Fzc2lnbiA9IE9iamVjdC5hc3NpZ24gfHwgZnVuY3Rpb24gX19hc3NpZ24odCkge1xyXG4gICAgICAgIGZvciAodmFyIHMsIGkgPSAxLCBuID0gYXJndW1lbnRzLmxlbmd0aDsgaSA8IG47IGkrKykge1xyXG4gICAgICAgICAgICBzID0gYXJndW1lbnRzW2ldO1xyXG4gICAgICAgICAgICBmb3IgKHZhciBwIGluIHMpIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocywgcCkpIHRbcF0gPSBzW3BdO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdDtcclxuICAgIH1cclxuICAgIHJldHVybiBfX2Fzc2lnbi5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19yZXN0KHMsIGUpIHtcclxuICAgIHZhciB0ID0ge307XHJcbiAgICBmb3IgKHZhciBwIGluIHMpIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocywgcCkgJiYgZS5pbmRleE9mKHApIDwgMClcclxuICAgICAgICB0W3BdID0gc1twXTtcclxuICAgIGlmIChzICE9IG51bGwgJiYgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMgPT09IFwiZnVuY3Rpb25cIilcclxuICAgICAgICBmb3IgKHZhciBpID0gMCwgcCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMocyk7IGkgPCBwLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGlmIChlLmluZGV4T2YocFtpXSkgPCAwICYmIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChzLCBwW2ldKSlcclxuICAgICAgICAgICAgICAgIHRbcFtpXV0gPSBzW3BbaV1dO1xyXG4gICAgICAgIH1cclxuICAgIHJldHVybiB0O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19kZWNvcmF0ZShkZWNvcmF0b3JzLCB0YXJnZXQsIGtleSwgZGVzYykge1xyXG4gICAgdmFyIGMgPSBhcmd1bWVudHMubGVuZ3RoLCByID0gYyA8IDMgPyB0YXJnZXQgOiBkZXNjID09PSBudWxsID8gZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodGFyZ2V0LCBrZXkpIDogZGVzYywgZDtcclxuICAgIGlmICh0eXBlb2YgUmVmbGVjdCA9PT0gXCJvYmplY3RcIiAmJiB0eXBlb2YgUmVmbGVjdC5kZWNvcmF0ZSA9PT0gXCJmdW5jdGlvblwiKSByID0gUmVmbGVjdC5kZWNvcmF0ZShkZWNvcmF0b3JzLCB0YXJnZXQsIGtleSwgZGVzYyk7XHJcbiAgICBlbHNlIGZvciAodmFyIGkgPSBkZWNvcmF0b3JzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSBpZiAoZCA9IGRlY29yYXRvcnNbaV0pIHIgPSAoYyA8IDMgPyBkKHIpIDogYyA+IDMgPyBkKHRhcmdldCwga2V5LCByKSA6IGQodGFyZ2V0LCBrZXkpKSB8fCByO1xyXG4gICAgcmV0dXJuIGMgPiAzICYmIHIgJiYgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCByKSwgcjtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fcGFyYW0ocGFyYW1JbmRleCwgZGVjb3JhdG9yKSB7XHJcbiAgICByZXR1cm4gZnVuY3Rpb24gKHRhcmdldCwga2V5KSB7IGRlY29yYXRvcih0YXJnZXQsIGtleSwgcGFyYW1JbmRleCk7IH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fbWV0YWRhdGEobWV0YWRhdGFLZXksIG1ldGFkYXRhVmFsdWUpIHtcclxuICAgIGlmICh0eXBlb2YgUmVmbGVjdCA9PT0gXCJvYmplY3RcIiAmJiB0eXBlb2YgUmVmbGVjdC5tZXRhZGF0YSA9PT0gXCJmdW5jdGlvblwiKSByZXR1cm4gUmVmbGVjdC5tZXRhZGF0YShtZXRhZGF0YUtleSwgbWV0YWRhdGFWYWx1ZSk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2F3YWl0ZXIodGhpc0FyZywgX2FyZ3VtZW50cywgUCwgZ2VuZXJhdG9yKSB7XHJcbiAgICBmdW5jdGlvbiBhZG9wdCh2YWx1ZSkgeyByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBQID8gdmFsdWUgOiBuZXcgUChmdW5jdGlvbiAocmVzb2x2ZSkgeyByZXNvbHZlKHZhbHVlKTsgfSk7IH1cclxuICAgIHJldHVybiBuZXcgKFAgfHwgKFAgPSBQcm9taXNlKSkoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xyXG4gICAgICAgIGZ1bmN0aW9uIGZ1bGZpbGxlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvci5uZXh0KHZhbHVlKSk7IH0gY2F0Y2ggKGUpIHsgcmVqZWN0KGUpOyB9IH1cclxuICAgICAgICBmdW5jdGlvbiByZWplY3RlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvcltcInRocm93XCJdKHZhbHVlKSk7IH0gY2F0Y2ggKGUpIHsgcmVqZWN0KGUpOyB9IH1cclxuICAgICAgICBmdW5jdGlvbiBzdGVwKHJlc3VsdCkgeyByZXN1bHQuZG9uZSA/IHJlc29sdmUocmVzdWx0LnZhbHVlKSA6IGFkb3B0KHJlc3VsdC52YWx1ZSkudGhlbihmdWxmaWxsZWQsIHJlamVjdGVkKTsgfVxyXG4gICAgICAgIHN0ZXAoKGdlbmVyYXRvciA9IGdlbmVyYXRvci5hcHBseSh0aGlzQXJnLCBfYXJndW1lbnRzIHx8IFtdKSkubmV4dCgpKTtcclxuICAgIH0pO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19nZW5lcmF0b3IodGhpc0FyZywgYm9keSkge1xyXG4gICAgdmFyIF8gPSB7IGxhYmVsOiAwLCBzZW50OiBmdW5jdGlvbigpIHsgaWYgKHRbMF0gJiAxKSB0aHJvdyB0WzFdOyByZXR1cm4gdFsxXTsgfSwgdHJ5czogW10sIG9wczogW10gfSwgZiwgeSwgdCwgZztcclxuICAgIHJldHVybiBnID0geyBuZXh0OiB2ZXJiKDApLCBcInRocm93XCI6IHZlcmIoMSksIFwicmV0dXJuXCI6IHZlcmIoMikgfSwgdHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIChnW1N5bWJvbC5pdGVyYXRvcl0gPSBmdW5jdGlvbigpIHsgcmV0dXJuIHRoaXM7IH0pLCBnO1xyXG4gICAgZnVuY3Rpb24gdmVyYihuKSB7IHJldHVybiBmdW5jdGlvbiAodikgeyByZXR1cm4gc3RlcChbbiwgdl0pOyB9OyB9XHJcbiAgICBmdW5jdGlvbiBzdGVwKG9wKSB7XHJcbiAgICAgICAgaWYgKGYpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJHZW5lcmF0b3IgaXMgYWxyZWFkeSBleGVjdXRpbmcuXCIpO1xyXG4gICAgICAgIHdoaWxlIChfKSB0cnkge1xyXG4gICAgICAgICAgICBpZiAoZiA9IDEsIHkgJiYgKHQgPSBvcFswXSAmIDIgPyB5W1wicmV0dXJuXCJdIDogb3BbMF0gPyB5W1widGhyb3dcIl0gfHwgKCh0ID0geVtcInJldHVyblwiXSkgJiYgdC5jYWxsKHkpLCAwKSA6IHkubmV4dCkgJiYgISh0ID0gdC5jYWxsKHksIG9wWzFdKSkuZG9uZSkgcmV0dXJuIHQ7XHJcbiAgICAgICAgICAgIGlmICh5ID0gMCwgdCkgb3AgPSBbb3BbMF0gJiAyLCB0LnZhbHVlXTtcclxuICAgICAgICAgICAgc3dpdGNoIChvcFswXSkge1xyXG4gICAgICAgICAgICAgICAgY2FzZSAwOiBjYXNlIDE6IHQgPSBvcDsgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICBjYXNlIDQ6IF8ubGFiZWwrKzsgcmV0dXJuIHsgdmFsdWU6IG9wWzFdLCBkb25lOiBmYWxzZSB9O1xyXG4gICAgICAgICAgICAgICAgY2FzZSA1OiBfLmxhYmVsKys7IHkgPSBvcFsxXTsgb3AgPSBbMF07IGNvbnRpbnVlO1xyXG4gICAgICAgICAgICAgICAgY2FzZSA3OiBvcCA9IF8ub3BzLnBvcCgpOyBfLnRyeXMucG9wKCk7IGNvbnRpbnVlO1xyXG4gICAgICAgICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgICAgICAgICBpZiAoISh0ID0gXy50cnlzLCB0ID0gdC5sZW5ndGggPiAwICYmIHRbdC5sZW5ndGggLSAxXSkgJiYgKG9wWzBdID09PSA2IHx8IG9wWzBdID09PSAyKSkgeyBfID0gMDsgY29udGludWU7IH1cclxuICAgICAgICAgICAgICAgICAgICBpZiAob3BbMF0gPT09IDMgJiYgKCF0IHx8IChvcFsxXSA+IHRbMF0gJiYgb3BbMV0gPCB0WzNdKSkpIHsgXy5sYWJlbCA9IG9wWzFdOyBicmVhazsgfVxyXG4gICAgICAgICAgICAgICAgICAgIGlmIChvcFswXSA9PT0gNiAmJiBfLmxhYmVsIDwgdFsxXSkgeyBfLmxhYmVsID0gdFsxXTsgdCA9IG9wOyBicmVhazsgfVxyXG4gICAgICAgICAgICAgICAgICAgIGlmICh0ICYmIF8ubGFiZWwgPCB0WzJdKSB7IF8ubGFiZWwgPSB0WzJdOyBfLm9wcy5wdXNoKG9wKTsgYnJlYWs7IH1cclxuICAgICAgICAgICAgICAgICAgICBpZiAodFsyXSkgXy5vcHMucG9wKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgXy50cnlzLnBvcCgpOyBjb250aW51ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBvcCA9IGJvZHkuY2FsbCh0aGlzQXJnLCBfKTtcclxuICAgICAgICB9IGNhdGNoIChlKSB7IG9wID0gWzYsIGVdOyB5ID0gMDsgfSBmaW5hbGx5IHsgZiA9IHQgPSAwOyB9XHJcbiAgICAgICAgaWYgKG9wWzBdICYgNSkgdGhyb3cgb3BbMV07IHJldHVybiB7IHZhbHVlOiBvcFswXSA/IG9wWzFdIDogdm9pZCAwLCBkb25lOiB0cnVlIH07XHJcbiAgICB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2V4cG9ydFN0YXIobSwgZXhwb3J0cykge1xyXG4gICAgZm9yICh2YXIgcCBpbiBtKSBpZiAoIWV4cG9ydHMuaGFzT3duUHJvcGVydHkocCkpIGV4cG9ydHNbcF0gPSBtW3BdO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX192YWx1ZXMobykge1xyXG4gICAgdmFyIHMgPSB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgU3ltYm9sLml0ZXJhdG9yLCBtID0gcyAmJiBvW3NdLCBpID0gMDtcclxuICAgIGlmIChtKSByZXR1cm4gbS5jYWxsKG8pO1xyXG4gICAgaWYgKG8gJiYgdHlwZW9mIG8ubGVuZ3RoID09PSBcIm51bWJlclwiKSByZXR1cm4ge1xyXG4gICAgICAgIG5leHQ6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgaWYgKG8gJiYgaSA+PSBvLmxlbmd0aCkgbyA9IHZvaWQgMDtcclxuICAgICAgICAgICAgcmV0dXJuIHsgdmFsdWU6IG8gJiYgb1tpKytdLCBkb25lOiAhbyB9O1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKHMgPyBcIk9iamVjdCBpcyBub3QgaXRlcmFibGUuXCIgOiBcIlN5bWJvbC5pdGVyYXRvciBpcyBub3QgZGVmaW5lZC5cIik7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3JlYWQobywgbikge1xyXG4gICAgdmFyIG0gPSB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgb1tTeW1ib2wuaXRlcmF0b3JdO1xyXG4gICAgaWYgKCFtKSByZXR1cm4gbztcclxuICAgIHZhciBpID0gbS5jYWxsKG8pLCByLCBhciA9IFtdLCBlO1xyXG4gICAgdHJ5IHtcclxuICAgICAgICB3aGlsZSAoKG4gPT09IHZvaWQgMCB8fCBuLS0gPiAwKSAmJiAhKHIgPSBpLm5leHQoKSkuZG9uZSkgYXIucHVzaChyLnZhbHVlKTtcclxuICAgIH1cclxuICAgIGNhdGNoIChlcnJvcikgeyBlID0geyBlcnJvcjogZXJyb3IgfTsgfVxyXG4gICAgZmluYWxseSB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgaWYgKHIgJiYgIXIuZG9uZSAmJiAobSA9IGlbXCJyZXR1cm5cIl0pKSBtLmNhbGwoaSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZpbmFsbHkgeyBpZiAoZSkgdGhyb3cgZS5lcnJvcjsgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGFyO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19zcHJlYWQoKSB7XHJcbiAgICBmb3IgKHZhciBhciA9IFtdLCBpID0gMDsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKylcclxuICAgICAgICBhciA9IGFyLmNvbmNhdChfX3JlYWQoYXJndW1lbnRzW2ldKSk7XHJcbiAgICByZXR1cm4gYXI7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3NwcmVhZEFycmF5cygpIHtcclxuICAgIGZvciAodmFyIHMgPSAwLCBpID0gMCwgaWwgPSBhcmd1bWVudHMubGVuZ3RoOyBpIDwgaWw7IGkrKykgcyArPSBhcmd1bWVudHNbaV0ubGVuZ3RoO1xyXG4gICAgZm9yICh2YXIgciA9IEFycmF5KHMpLCBrID0gMCwgaSA9IDA7IGkgPCBpbDsgaSsrKVxyXG4gICAgICAgIGZvciAodmFyIGEgPSBhcmd1bWVudHNbaV0sIGogPSAwLCBqbCA9IGEubGVuZ3RoOyBqIDwgamw7IGorKywgaysrKVxyXG4gICAgICAgICAgICByW2tdID0gYVtqXTtcclxuICAgIHJldHVybiByO1xyXG59O1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fYXdhaXQodikge1xyXG4gICAgcmV0dXJuIHRoaXMgaW5zdGFuY2VvZiBfX2F3YWl0ID8gKHRoaXMudiA9IHYsIHRoaXMpIDogbmV3IF9fYXdhaXQodik7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2FzeW5jR2VuZXJhdG9yKHRoaXNBcmcsIF9hcmd1bWVudHMsIGdlbmVyYXRvcikge1xyXG4gICAgaWYgKCFTeW1ib2wuYXN5bmNJdGVyYXRvcikgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlN5bWJvbC5hc3luY0l0ZXJhdG9yIGlzIG5vdCBkZWZpbmVkLlwiKTtcclxuICAgIHZhciBnID0gZ2VuZXJhdG9yLmFwcGx5KHRoaXNBcmcsIF9hcmd1bWVudHMgfHwgW10pLCBpLCBxID0gW107XHJcbiAgICByZXR1cm4gaSA9IHt9LCB2ZXJiKFwibmV4dFwiKSwgdmVyYihcInRocm93XCIpLCB2ZXJiKFwicmV0dXJuXCIpLCBpW1N5bWJvbC5hc3luY0l0ZXJhdG9yXSA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRoaXM7IH0sIGk7XHJcbiAgICBmdW5jdGlvbiB2ZXJiKG4pIHsgaWYgKGdbbl0pIGlbbl0gPSBmdW5jdGlvbiAodikgeyByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24gKGEsIGIpIHsgcS5wdXNoKFtuLCB2LCBhLCBiXSkgPiAxIHx8IHJlc3VtZShuLCB2KTsgfSk7IH07IH1cclxuICAgIGZ1bmN0aW9uIHJlc3VtZShuLCB2KSB7IHRyeSB7IHN0ZXAoZ1tuXSh2KSk7IH0gY2F0Y2ggKGUpIHsgc2V0dGxlKHFbMF1bM10sIGUpOyB9IH1cclxuICAgIGZ1bmN0aW9uIHN0ZXAocikgeyByLnZhbHVlIGluc3RhbmNlb2YgX19hd2FpdCA/IFByb21pc2UucmVzb2x2ZShyLnZhbHVlLnYpLnRoZW4oZnVsZmlsbCwgcmVqZWN0KSA6IHNldHRsZShxWzBdWzJdLCByKTsgfVxyXG4gICAgZnVuY3Rpb24gZnVsZmlsbCh2YWx1ZSkgeyByZXN1bWUoXCJuZXh0XCIsIHZhbHVlKTsgfVxyXG4gICAgZnVuY3Rpb24gcmVqZWN0KHZhbHVlKSB7IHJlc3VtZShcInRocm93XCIsIHZhbHVlKTsgfVxyXG4gICAgZnVuY3Rpb24gc2V0dGxlKGYsIHYpIHsgaWYgKGYodiksIHEuc2hpZnQoKSwgcS5sZW5ndGgpIHJlc3VtZShxWzBdWzBdLCBxWzBdWzFdKTsgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19hc3luY0RlbGVnYXRvcihvKSB7XHJcbiAgICB2YXIgaSwgcDtcclxuICAgIHJldHVybiBpID0ge30sIHZlcmIoXCJuZXh0XCIpLCB2ZXJiKFwidGhyb3dcIiwgZnVuY3Rpb24gKGUpIHsgdGhyb3cgZTsgfSksIHZlcmIoXCJyZXR1cm5cIiksIGlbU3ltYm9sLml0ZXJhdG9yXSA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRoaXM7IH0sIGk7XHJcbiAgICBmdW5jdGlvbiB2ZXJiKG4sIGYpIHsgaVtuXSA9IG9bbl0gPyBmdW5jdGlvbiAodikgeyByZXR1cm4gKHAgPSAhcCkgPyB7IHZhbHVlOiBfX2F3YWl0KG9bbl0odikpLCBkb25lOiBuID09PSBcInJldHVyblwiIH0gOiBmID8gZih2KSA6IHY7IH0gOiBmOyB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2FzeW5jVmFsdWVzKG8pIHtcclxuICAgIGlmICghU3ltYm9sLmFzeW5jSXRlcmF0b3IpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJTeW1ib2wuYXN5bmNJdGVyYXRvciBpcyBub3QgZGVmaW5lZC5cIik7XHJcbiAgICB2YXIgbSA9IG9bU3ltYm9sLmFzeW5jSXRlcmF0b3JdLCBpO1xyXG4gICAgcmV0dXJuIG0gPyBtLmNhbGwobykgOiAobyA9IHR5cGVvZiBfX3ZhbHVlcyA9PT0gXCJmdW5jdGlvblwiID8gX192YWx1ZXMobykgOiBvW1N5bWJvbC5pdGVyYXRvcl0oKSwgaSA9IHt9LCB2ZXJiKFwibmV4dFwiKSwgdmVyYihcInRocm93XCIpLCB2ZXJiKFwicmV0dXJuXCIpLCBpW1N5bWJvbC5hc3luY0l0ZXJhdG9yXSA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRoaXM7IH0sIGkpO1xyXG4gICAgZnVuY3Rpb24gdmVyYihuKSB7IGlbbl0gPSBvW25dICYmIGZ1bmN0aW9uICh2KSB7IHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7IHYgPSBvW25dKHYpLCBzZXR0bGUocmVzb2x2ZSwgcmVqZWN0LCB2LmRvbmUsIHYudmFsdWUpOyB9KTsgfTsgfVxyXG4gICAgZnVuY3Rpb24gc2V0dGxlKHJlc29sdmUsIHJlamVjdCwgZCwgdikgeyBQcm9taXNlLnJlc29sdmUodikudGhlbihmdW5jdGlvbih2KSB7IHJlc29sdmUoeyB2YWx1ZTogdiwgZG9uZTogZCB9KTsgfSwgcmVqZWN0KTsgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19tYWtlVGVtcGxhdGVPYmplY3QoY29va2VkLCByYXcpIHtcclxuICAgIGlmIChPYmplY3QuZGVmaW5lUHJvcGVydHkpIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNvb2tlZCwgXCJyYXdcIiwgeyB2YWx1ZTogcmF3IH0pOyB9IGVsc2UgeyBjb29rZWQucmF3ID0gcmF3OyB9XHJcbiAgICByZXR1cm4gY29va2VkO1xyXG59O1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9faW1wb3J0U3Rhcihtb2QpIHtcclxuICAgIGlmIChtb2QgJiYgbW9kLl9fZXNNb2R1bGUpIHJldHVybiBtb2Q7XHJcbiAgICB2YXIgcmVzdWx0ID0ge307XHJcbiAgICBpZiAobW9kICE9IG51bGwpIGZvciAodmFyIGsgaW4gbW9kKSBpZiAoT2JqZWN0Lmhhc093blByb3BlcnR5LmNhbGwobW9kLCBrKSkgcmVzdWx0W2tdID0gbW9kW2tdO1xyXG4gICAgcmVzdWx0LmRlZmF1bHQgPSBtb2Q7XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19pbXBvcnREZWZhdWx0KG1vZCkge1xyXG4gICAgcmV0dXJuIChtb2QgJiYgbW9kLl9fZXNNb2R1bGUpID8gbW9kIDogeyBkZWZhdWx0OiBtb2QgfTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fY2xhc3NQcml2YXRlRmllbGRHZXQocmVjZWl2ZXIsIHByaXZhdGVNYXApIHtcclxuICAgIGlmICghcHJpdmF0ZU1hcC5oYXMocmVjZWl2ZXIpKSB7XHJcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcImF0dGVtcHRlZCB0byBnZXQgcHJpdmF0ZSBmaWVsZCBvbiBub24taW5zdGFuY2VcIik7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcHJpdmF0ZU1hcC5nZXQocmVjZWl2ZXIpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19jbGFzc1ByaXZhdGVGaWVsZFNldChyZWNlaXZlciwgcHJpdmF0ZU1hcCwgdmFsdWUpIHtcclxuICAgIGlmICghcHJpdmF0ZU1hcC5oYXMocmVjZWl2ZXIpKSB7XHJcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcImF0dGVtcHRlZCB0byBzZXQgcHJpdmF0ZSBmaWVsZCBvbiBub24taW5zdGFuY2VcIik7XHJcbiAgICB9XHJcbiAgICBwcml2YXRlTWFwLnNldChyZWNlaXZlciwgdmFsdWUpO1xyXG4gICAgcmV0dXJuIHZhbHVlO1xyXG59XHJcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/portal/node_modules/tslib/tslib.es6.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/select/dist/esm/AsyncCreatableSelect.js": /*!************************************************************************!*\ !*** ./node_modules/@atlaskit/select/dist/esm/AsyncCreatableSelect.js ***! \************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_select_async_creatable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-select/async-creatable */ \"./node_modules/react-select/async-creatable/dist/react-select.browser.esm.js\");\n/* harmony import */ var _createSelect__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./createSelect */ \"./node_modules/@atlaskit/select/dist/esm/createSelect.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(_createSelect__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(react_select_async_creatable__WEBPACK_IMPORTED_MODULE_0__[\"default\"]));\n//# sourceMappingURL=AsyncCreatableSelect.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L3NlbGVjdC9kaXN0L2VzbS9Bc3luY0NyZWF0YWJsZVNlbGVjdC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AYXRsYXNraXQvc2VsZWN0L2Rpc3QvZXNtL0FzeW5jQ3JlYXRhYmxlU2VsZWN0LmpzPzEyMjYiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEFzeW5jQ3JlYXRhYmxlU2VsZWN0IGZyb20gJ3JlYWN0LXNlbGVjdC9hc3luYy1jcmVhdGFibGUnO1xuaW1wb3J0IGNyZWF0ZVNlbGVjdCBmcm9tICcuL2NyZWF0ZVNlbGVjdCc7XG5leHBvcnQgZGVmYXVsdCBjcmVhdGVTZWxlY3QoQXN5bmNDcmVhdGFibGVTZWxlY3QpO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9QXN5bmNDcmVhdGFibGVTZWxlY3QuanMubWFwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/select/dist/esm/AsyncCreatableSelect.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/select/dist/esm/AsyncSelect.js": /*!***************************************************************!*\ !*** ./node_modules/@atlaskit/select/dist/esm/AsyncSelect.js ***! \***************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_select_async__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-select/async */ \"./node_modules/react-select/async/dist/react-select.browser.esm.js\");\n/* harmony import */ var _createSelect__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./createSelect */ \"./node_modules/@atlaskit/select/dist/esm/createSelect.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(_createSelect__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(react_select_async__WEBPACK_IMPORTED_MODULE_0__[\"default\"]));\n//# sourceMappingURL=AsyncSelect.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L3NlbGVjdC9kaXN0L2VzbS9Bc3luY1NlbGVjdC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AYXRsYXNraXQvc2VsZWN0L2Rpc3QvZXNtL0FzeW5jU2VsZWN0LmpzP2U4OGYiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEFzeW5jU2VsZWN0IGZyb20gJ3JlYWN0LXNlbGVjdC9hc3luYyc7XG5pbXBvcnQgY3JlYXRlU2VsZWN0IGZyb20gJy4vY3JlYXRlU2VsZWN0JztcbmV4cG9ydCBkZWZhdWx0IGNyZWF0ZVNlbGVjdChBc3luY1NlbGVjdCk7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1Bc3luY1NlbGVjdC5qcy5tYXAiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/select/dist/esm/AsyncSelect.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/select/dist/esm/CheckboxSelect.js": /*!******************************************************************!*\ !*** ./node_modules/@atlaskit/select/dist/esm/CheckboxSelect.js ***! \******************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/@atlaskit/select/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _Select__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Select */ \"./node_modules/@atlaskit/select/dist/esm/Select.js\");\n/* harmony import */ var _components_input_options__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./components/input-options */ \"./node_modules/@atlaskit/select/dist/esm/components/input-options.js\");\n\n\n\n\nvar CheckboxSelect = function (_a) {\n var components = _a.components, props = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__rest\"])(_a, [\"components\"]);\n var temp = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, components), { Option: _components_input_options__WEBPACK_IMPORTED_MODULE_3__[\"CheckboxOption\"] });\n return (react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_Select__WEBPACK_IMPORTED_MODULE_2__[\"default\"], Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({ closeMenuOnSelect: false, hideSelectedOptions: false, isMulti: true, components: temp }, props)));\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (CheckboxSelect);\n//# sourceMappingURL=CheckboxSelect.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L3NlbGVjdC9kaXN0L2VzbS9DaGVja2JveFNlbGVjdC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AYXRsYXNraXQvc2VsZWN0L2Rpc3QvZXNtL0NoZWNrYm94U2VsZWN0LmpzPzRjMTciXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgX19hc3NpZ24sIF9fcmVzdCB9IGZyb20gXCJ0c2xpYlwiO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBTZWxlY3QgZnJvbSAnLi9TZWxlY3QnO1xuaW1wb3J0IHsgQ2hlY2tib3hPcHRpb24gfSBmcm9tICcuL2NvbXBvbmVudHMvaW5wdXQtb3B0aW9ucyc7XG52YXIgQ2hlY2tib3hTZWxlY3QgPSBmdW5jdGlvbiAoX2EpIHtcbiAgICB2YXIgY29tcG9uZW50cyA9IF9hLmNvbXBvbmVudHMsIHByb3BzID0gX19yZXN0KF9hLCBbXCJjb21wb25lbnRzXCJdKTtcbiAgICB2YXIgdGVtcCA9IF9fYXNzaWduKF9fYXNzaWduKHt9LCBjb21wb25lbnRzKSwgeyBPcHRpb246IENoZWNrYm94T3B0aW9uIH0pO1xuICAgIHJldHVybiAoUmVhY3QuY3JlYXRlRWxlbWVudChTZWxlY3QsIF9fYXNzaWduKHsgY2xvc2VNZW51T25TZWxlY3Q6IGZhbHNlLCBoaWRlU2VsZWN0ZWRPcHRpb25zOiBmYWxzZSwgaXNNdWx0aTogdHJ1ZSwgY29tcG9uZW50czogdGVtcCB9LCBwcm9wcykpKTtcbn07XG5leHBvcnQgZGVmYXVsdCBDaGVja2JveFNlbGVjdDtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPUNoZWNrYm94U2VsZWN0LmpzLm1hcCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/select/dist/esm/CheckboxSelect.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/select/dist/esm/CountrySelect.js": /*!*****************************************************************!*\ !*** ./node_modules/@atlaskit/select/dist/esm/CountrySelect.js ***! \*****************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/@atlaskit/select/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _emotion_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @emotion/core */ \"./node_modules/@emotion/core/dist/core.browser.esm.js\");\n/* harmony import */ var _data_countries__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./data/countries */ \"./node_modules/@atlaskit/select/dist/esm/data/countries.js\");\n/* harmony import */ var _Select__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Select */ \"./node_modules/@atlaskit/select/dist/esm/Select.js\");\n\n/** @jsx jsx */\n\n\n\n// custom option renderer\nvar labelCSS = function () { return ({\n alignItems: 'center',\n display: 'flex',\n lineHeight: 1.2,\n}); };\nvar flagCSS = function () { return ({\n fontSize: '18px',\n marginRight: '8px',\n}); };\nvar Opt = function (_a) {\n var children = _a.children, icon = _a.icon;\n return (Object(_emotion_core__WEBPACK_IMPORTED_MODULE_1__[\"jsx\"])(\"div\", { css: labelCSS() },\n Object(_emotion_core__WEBPACK_IMPORTED_MODULE_1__[\"jsx\"])(\"span\", { css: flagCSS() }, icon),\n children));\n};\n// return the country name; used for searching\nvar getOptionLabel = function (opt) { return opt.name; };\n// set the country's abbreviation for the option value, (also searchable)\nvar getOptionValue = function (opt) { return opt.abbr; };\n// the text node of the control\nvar controlLabel = function (opt) { return (Object(_emotion_core__WEBPACK_IMPORTED_MODULE_1__[\"jsx\"])(Opt, { icon: opt.icon }, opt.abbr.toUpperCase())); };\n// the text node for an option\nvar optionLabel = function (_a) {\n var abbr = _a.abbr, code = _a.code, icon = _a.icon, name = _a.name;\n return (Object(_emotion_core__WEBPACK_IMPORTED_MODULE_1__[\"jsx\"])(Opt, { icon: icon },\n name,\n \" (\",\n abbr.toUpperCase(),\n \") +\",\n code));\n};\n// switch formatters based on render context (menu | value)\nvar formatOptionLabel = function (opt, _a) {\n var context = _a.context;\n return (context === 'value' ? controlLabel(opt) : optionLabel(opt));\n};\n// put it all together\nvar CountrySelect = function (props) { return (Object(_emotion_core__WEBPACK_IMPORTED_MODULE_1__[\"jsx\"])(_Select__WEBPACK_IMPORTED_MODULE_3__[\"default\"], Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({ isClearable: false, formatOptionLabel: formatOptionLabel, getOptionLabel: getOptionLabel, getOptionValue: getOptionValue, isMulti: false, options: _data_countries__WEBPACK_IMPORTED_MODULE_2__[\"groupedCountries\"], styles: {\n container: function (css) { return (Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, css), { width: 105 })); },\n dropdownIndicator: function (css) { return (Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, css), { paddingLeft: 0 })); },\n menu: function (css) { return (Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, css), { width: 300 })); },\n } }, props))); };\n/* harmony default export */ __webpack_exports__[\"default\"] = (CountrySelect);\n//# sourceMappingURL=CountrySelect.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L3NlbGVjdC9kaXN0L2VzbS9Db3VudHJ5U2VsZWN0LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BhdGxhc2tpdC9zZWxlY3QvZGlzdC9lc20vQ291bnRyeVNlbGVjdC5qcz9iOGM0Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IF9fYXNzaWduIH0gZnJvbSBcInRzbGliXCI7XG4vKiogQGpzeCBqc3ggKi9cbmltcG9ydCB7IGpzeCB9IGZyb20gJ0BlbW90aW9uL2NvcmUnO1xuaW1wb3J0IHsgZ3JvdXBlZENvdW50cmllcyB9IGZyb20gJy4vZGF0YS9jb3VudHJpZXMnO1xuaW1wb3J0IFNlbGVjdCBmcm9tICcuL1NlbGVjdCc7XG4vLyBjdXN0b20gb3B0aW9uIHJlbmRlcmVyXG52YXIgbGFiZWxDU1MgPSBmdW5jdGlvbiAoKSB7IHJldHVybiAoe1xuICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICBsaW5lSGVpZ2h0OiAxLjIsXG59KTsgfTtcbnZhciBmbGFnQ1NTID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gKHtcbiAgICBmb250U2l6ZTogJzE4cHgnLFxuICAgIG1hcmdpblJpZ2h0OiAnOHB4Jyxcbn0pOyB9O1xudmFyIE9wdCA9IGZ1bmN0aW9uIChfYSkge1xuICAgIHZhciBjaGlsZHJlbiA9IF9hLmNoaWxkcmVuLCBpY29uID0gX2EuaWNvbjtcbiAgICByZXR1cm4gKGpzeChcImRpdlwiLCB7IGNzczogbGFiZWxDU1MoKSB9LFxuICAgICAgICBqc3goXCJzcGFuXCIsIHsgY3NzOiBmbGFnQ1NTKCkgfSwgaWNvbiksXG4gICAgICAgIGNoaWxkcmVuKSk7XG59O1xuLy8gcmV0dXJuIHRoZSBjb3VudHJ5IG5hbWU7IHVzZWQgZm9yIHNlYXJjaGluZ1xudmFyIGdldE9wdGlvbkxhYmVsID0gZnVuY3Rpb24gKG9wdCkgeyByZXR1cm4gb3B0Lm5hbWU7IH07XG4vLyBzZXQgdGhlIGNvdW50cnkncyBhYmJyZXZpYXRpb24gZm9yIHRoZSBvcHRpb24gdmFsdWUsIChhbHNvIHNlYXJjaGFibGUpXG52YXIgZ2V0T3B0aW9uVmFsdWUgPSBmdW5jdGlvbiAob3B0KSB7IHJldHVybiBvcHQuYWJicjsgfTtcbi8vIHRoZSB0ZXh0IG5vZGUgb2YgdGhlIGNvbnRyb2xcbnZhciBjb250cm9sTGFiZWwgPSBmdW5jdGlvbiAob3B0KSB7IHJldHVybiAoanN4KE9wdCwgeyBpY29uOiBvcHQuaWNvbiB9LCBvcHQuYWJici50b1VwcGVyQ2FzZSgpKSk7IH07XG4vLyB0aGUgdGV4dCBub2RlIGZvciBhbiBvcHRpb25cbnZhciBvcHRpb25MYWJlbCA9IGZ1bmN0aW9uIChfYSkge1xuICAgIHZhciBhYmJyID0gX2EuYWJiciwgY29kZSA9IF9hLmNvZGUsIGljb24gPSBfYS5pY29uLCBuYW1lID0gX2EubmFtZTtcbiAgICByZXR1cm4gKGpzeChPcHQsIHsgaWNvbjogaWNvbiB9LFxuICAgICAgICBuYW1lLFxuICAgICAgICBcIiAoXCIsXG4gICAgICAgIGFiYnIudG9VcHBlckNhc2UoKSxcbiAgICAgICAgXCIpICtcIixcbiAgICAgICAgY29kZSkpO1xufTtcbi8vIHN3aXRjaCBmb3JtYXR0ZXJzIGJhc2VkIG9uIHJlbmRlciBjb250ZXh0IChtZW51IHwgdmFsdWUpXG52YXIgZm9ybWF0T3B0aW9uTGFiZWwgPSBmdW5jdGlvbiAob3B0LCBfYSkge1xuICAgIHZhciBjb250ZXh0ID0gX2EuY29udGV4dDtcbiAgICByZXR1cm4gKGNvbnRleHQgPT09ICd2YWx1ZScgPyBjb250cm9sTGFiZWwob3B0KSA6IG9wdGlvbkxhYmVsKG9wdCkpO1xufTtcbi8vIHB1dCBpdCBhbGwgdG9nZXRoZXJcbnZhciBDb3VudHJ5U2VsZWN0ID0gZnVuY3Rpb24gKHByb3BzKSB7IHJldHVybiAoanN4KFNlbGVjdCwgX19hc3NpZ24oeyBpc0NsZWFyYWJsZTogZmFsc2UsIGZvcm1hdE9wdGlvbkxhYmVsOiBmb3JtYXRPcHRpb25MYWJlbCwgZ2V0T3B0aW9uTGFiZWw6IGdldE9wdGlvbkxhYmVsLCBnZXRPcHRpb25WYWx1ZTogZ2V0T3B0aW9uVmFsdWUsIGlzTXVsdGk6IGZhbHNlLCBvcHRpb25zOiBncm91cGVkQ291bnRyaWVzLCBzdHlsZXM6IHtcbiAgICAgICAgY29udGFpbmVyOiBmdW5jdGlvbiAoY3NzKSB7IHJldHVybiAoX19hc3NpZ24oX19hc3NpZ24oe30sIGNzcyksIHsgd2lkdGg6IDEwNSB9KSk7IH0sXG4gICAgICAgIGRyb3Bkb3duSW5kaWNhdG9yOiBmdW5jdGlvbiAoY3NzKSB7IHJldHVybiAoX19hc3NpZ24oX19hc3NpZ24oe30sIGNzcyksIHsgcGFkZGluZ0xlZnQ6IDAgfSkpOyB9LFxuICAgICAgICBtZW51OiBmdW5jdGlvbiAoY3NzKSB7IHJldHVybiAoX19hc3NpZ24oX19hc3NpZ24oe30sIGNzcyksIHsgd2lkdGg6IDMwMCB9KSk7IH0sXG4gICAgfSB9LCBwcm9wcykpKTsgfTtcbmV4cG9ydCBkZWZhdWx0IENvdW50cnlTZWxlY3Q7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1Db3VudHJ5U2VsZWN0LmpzLm1hcCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/select/dist/esm/CountrySelect.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/select/dist/esm/CreatableSelect.js": /*!*******************************************************************!*\ !*** ./node_modules/@atlaskit/select/dist/esm/CreatableSelect.js ***! \*******************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_select_creatable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-select/creatable */ \"./node_modules/react-select/creatable/dist/react-select.browser.esm.js\");\n/* harmony import */ var _createSelect__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./createSelect */ \"./node_modules/@atlaskit/select/dist/esm/createSelect.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(_createSelect__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(react_select_creatable__WEBPACK_IMPORTED_MODULE_0__[\"default\"]));\n//# sourceMappingURL=CreatableSelect.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L3NlbGVjdC9kaXN0L2VzbS9DcmVhdGFibGVTZWxlY3QuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L3NlbGVjdC9kaXN0L2VzbS9DcmVhdGFibGVTZWxlY3QuanM/MDVjZiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQ3JlYXRhYmxlU2VsZWN0IGZyb20gJ3JlYWN0LXNlbGVjdC9jcmVhdGFibGUnO1xuaW1wb3J0IGNyZWF0ZVNlbGVjdCBmcm9tICcuL2NyZWF0ZVNlbGVjdCc7XG5leHBvcnQgZGVmYXVsdCBjcmVhdGVTZWxlY3QoQ3JlYXRhYmxlU2VsZWN0KTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPUNyZWF0YWJsZVNlbGVjdC5qcy5tYXAiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/select/dist/esm/CreatableSelect.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/select/dist/esm/PopupSelect/PopupSelect.js": /*!***************************************************************************!*\ !*** ./node_modules/@atlaskit/select/dist/esm/PopupSelect/PopupSelect.js ***! \***************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/@atlaskit/select/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-dom */ \"./node_modules/react-dom/index.js\");\n/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react_dom__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var react_select__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react-select */ \"./node_modules/react-select/dist/react-select.browser.esm.js\");\n/* harmony import */ var focus_trap__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! focus-trap */ \"./node_modules/focus-trap/index.js\");\n/* harmony import */ var focus_trap__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(focus_trap__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var react_popper__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react-popper */ \"./node_modules/react-popper/lib/esm/index.js\");\n/* harmony import */ var react_node_resolver__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! react-node-resolver */ \"./node_modules/react-node-resolver/lib/index.js\");\n/* harmony import */ var react_node_resolver__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(react_node_resolver__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var shallow_equal_objects__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! shallow-equal/objects */ \"./node_modules/shallow-equal/objects/index.js\");\n/* harmony import */ var shallow_equal_objects__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(shallow_equal_objects__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @atlaskit/theme/colors */ \"./node_modules/@atlaskit/theme/dist/esm/colors.js\");\n/* harmony import */ var _components__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./components */ \"./node_modules/@atlaskit/select/dist/esm/PopupSelect/components.js\");\n\n\n\n\n\n\n\n\n\n\n/** Are we rendering on the client or server? */\nvar canUseDOM = function () {\n return Boolean(typeof window !== 'undefined' &&\n window.document &&\n window.document.createElement);\n};\n// ==============================\n// Class\n// ==============================\nvar defaultStyles = {\n groupHeading: function (provided) { return (Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, provided), { color: _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_8__[\"N80\"] })); },\n};\nvar defaultPopperProps = {\n modifiers: { offset: { offset: \"0, 8\" } },\n placement: 'bottom-start',\n};\nvar isEmpty = function (obj) { return Object.keys(obj).length === 0; };\nvar PopupSelect = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PopupSelect, _super);\n function PopupSelect() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.focusTrap = null;\n _this.menuRef = null;\n _this.selectRef = null;\n _this.targetRef = null;\n _this.state = {\n isOpen: false,\n mergedComponents: _components__WEBPACK_IMPORTED_MODULE_9__[\"defaultComponents\"],\n mergedPopperProps: defaultPopperProps,\n };\n // Event Handlers\n // ==============================\n _this.handleKeyDown = function (event) {\n switch (event.key) {\n case 'Escape':\n case 'Esc':\n _this.close();\n break;\n default:\n }\n if (_this.props.handleKeyDown) {\n _this.props.handleKeyDown(event);\n }\n };\n _this.handleClick = function (_a) {\n var target = _a.target;\n var isOpen = _this.state.isOpen;\n // appease flow\n if (!(target instanceof Element))\n return;\n // NOTE: Why not use the component to close?\n // We don't want to interupt the user's flow. Taking this approach allows\n // user to click \"through\" to other elements and close the popout.\n if (isOpen && _this.menuRef && !_this.menuRef.contains(target)) {\n _this.close();\n }\n // open on target click -- we can't trust consumers to spread the onClick\n // property to the target\n if (!isOpen && _this.targetRef && _this.targetRef.contains(target)) {\n _this.open();\n }\n };\n _this.handleSelectChange = function (value, actionMeta) {\n var _a = _this.props, closeMenuOnSelect = _a.closeMenuOnSelect, onChange = _a.onChange;\n if (closeMenuOnSelect && actionMeta.action !== 'clear')\n _this.close();\n if (onChange)\n onChange(value, actionMeta);\n };\n // Internal Lifecycle\n // ==============================\n _this.open = function () {\n var onOpen = _this.props.onOpen;\n if (onOpen)\n onOpen();\n _this.setState({ isOpen: true }, _this.initialiseFocusTrap);\n if (_this.selectRef) {\n _this.selectRef.select.openMenu('first'); // HACK\n }\n if (typeof window === 'undefined')\n return;\n window.addEventListener('keydown', _this.handleKeyDown);\n };\n _this.initialiseFocusTrap = function () {\n if (!_this.menuRef)\n return;\n var trapConfig = {\n clickOutsideDeactivates: true,\n escapeDeactivates: true,\n fallbackFocus: _this.menuRef,\n returnFocusOnDeactivate: true,\n };\n _this.focusTrap = focus_trap__WEBPACK_IMPORTED_MODULE_4___default()(_this.menuRef, trapConfig);\n // allow time for the HTMLElement to render\n setTimeout(function () { return _this.focusTrap.activate(); }, 1);\n };\n _this.close = function () {\n var onClose = _this.props.onClose;\n if (onClose)\n onClose();\n _this.setState({ isOpen: false });\n if (_this.focusTrap) {\n _this.focusTrap.deactivate();\n }\n if (typeof window === 'undefined')\n return;\n window.removeEventListener('keydown', _this.handleKeyDown);\n };\n // Refs\n // ==============================\n _this.resolveTargetRef = function (popperRef) { return function (ref) {\n // avoid thrashing fn calls\n if (!_this.targetRef && popperRef && ref) {\n _this.targetRef = ref;\n if (typeof popperRef === 'function') {\n popperRef(ref);\n }\n else {\n popperRef.current = ref;\n }\n }\n }; };\n _this.resolveMenuRef = function (popperRef) { return function (ref) {\n _this.menuRef = ref;\n if (typeof popperRef === 'function') {\n popperRef(ref);\n }\n else {\n popperRef.current = ref;\n }\n }; };\n _this.getSelectRef = function (ref) {\n _this.selectRef = ref;\n };\n // Utils\n // ==============================\n // account for groups when counting options\n // this may need to be recursive, right now it just counts one level\n _this.getItemCount = function () {\n var options = _this.props.options;\n var count = 0;\n options.forEach(function (groupOrOption) {\n if (groupOrOption.options) {\n groupOrOption.options.forEach(function () { return count++; });\n }\n else {\n count++;\n }\n });\n return count;\n };\n _this.getMaxHeight = function () {\n var maxMenuHeight = _this.props.maxMenuHeight;\n if (!_this.selectRef)\n return maxMenuHeight;\n // subtract the control height to maintain consistency\n var showSearchControl = _this.showSearchControl();\n var controlRef = _this.selectRef.select.controlRef;\n // @ts-ignore React-select provides incomplete types for controlRef\n var offsetHeight = showSearchControl ? controlRef.offsetHeight : 0;\n var maxHeight = maxMenuHeight - offsetHeight;\n return maxHeight;\n };\n // if the threshold is exceeded display the search control\n _this.showSearchControl = function () {\n var searchThreshold = _this.props.searchThreshold;\n return _this.getItemCount() > searchThreshold;\n };\n // Renderers\n // ==============================\n _this.renderSelect = function () {\n var _a = _this.props, footer = _a.footer, maxMenuWidth = _a.maxMenuWidth, minMenuWidth = _a.minMenuWidth, target = _a.target, props = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__rest\"])(_a, [\"footer\", \"maxMenuWidth\", \"minMenuWidth\", \"target\"]);\n var _b = _this.state, isOpen = _b.isOpen, mergedComponents = _b.mergedComponents, mergedPopperProps = _b.mergedPopperProps;\n var showSearchControl = _this.showSearchControl();\n var portalDestination = canUseDOM() ? document.body : null;\n var components = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, mergedComponents), { Control: showSearchControl ? mergedComponents.Control : _components__WEBPACK_IMPORTED_MODULE_9__[\"DummyControl\"] });\n if (!portalDestination || !isOpen)\n return null;\n var popper = (react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(react_popper__WEBPACK_IMPORTED_MODULE_5__[\"Popper\"], Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, mergedPopperProps), function (_a) {\n var placement = _a.placement, ref = _a.ref, style = _a.style;\n return (react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(react_node_resolver__WEBPACK_IMPORTED_MODULE_6___default.a, { innerRef: _this.resolveMenuRef(ref) },\n react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_components__WEBPACK_IMPORTED_MODULE_9__[\"MenuDialog\"], { style: style, \"data-placement\": placement, minWidth: minMenuWidth, maxWidth: maxMenuWidth },\n react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(react_select__WEBPACK_IMPORTED_MODULE_3__[\"default\"], Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({ backspaceRemovesValue: false, controlShouldRenderValue: false, isClearable: false, tabSelectsValue: false, menuIsOpen: true, ref: _this.getSelectRef }, props, { isSearchable: showSearchControl, styles: Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, defaultStyles), props.styles), maxMenuHeight: _this.getMaxHeight(), components: components, onChange: _this.handleSelectChange })),\n footer)));\n }));\n return mergedPopperProps.positionFixed\n ? popper\n : Object(react_dom__WEBPACK_IMPORTED_MODULE_2__[\"createPortal\"])(popper, portalDestination);\n };\n return _this;\n }\n PopupSelect.getDerivedStateFromProps = function (props, state) {\n var newState = {};\n // Merge consumer and default popper props\n var mergedPopperProps = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, defaultPopperProps), props.popperProps);\n if (!shallow_equal_objects__WEBPACK_IMPORTED_MODULE_7___default()(mergedPopperProps, state.mergedPopperProps)) {\n newState.mergedPopperProps = mergedPopperProps;\n }\n // Merge consumer and default components\n var mergedComponents = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, _components__WEBPACK_IMPORTED_MODULE_9__[\"defaultComponents\"]), props.components);\n if (!shallow_equal_objects__WEBPACK_IMPORTED_MODULE_7___default()(mergedComponents, state.mergedComponents)) {\n newState.mergedComponents = mergedComponents;\n }\n if (!isEmpty(newState))\n return newState;\n return null;\n };\n PopupSelect.prototype.componentDidMount = function () {\n if (typeof window === 'undefined')\n return;\n window.addEventListener('click', this.handleClick);\n };\n PopupSelect.prototype.componentWillUnmount = function () {\n if (typeof window === 'undefined')\n return;\n window.removeEventListener('click', this.handleClick);\n window.removeEventListener('keydown', this.handleKeyDown);\n };\n PopupSelect.prototype.render = function () {\n var _this = this;\n var target = this.props.target;\n var isOpen = this.state.isOpen;\n return (react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(react_popper__WEBPACK_IMPORTED_MODULE_5__[\"Manager\"], null,\n react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(react_popper__WEBPACK_IMPORTED_MODULE_5__[\"Reference\"], null, function (_a) {\n var ref = _a.ref;\n return target && target({ ref: _this.resolveTargetRef(ref), isOpen: isOpen });\n }),\n this.renderSelect()));\n };\n PopupSelect.defaultProps = {\n closeMenuOnSelect: true,\n components: {},\n maxMenuHeight: 300,\n maxMenuWidth: 440,\n minMenuWidth: 220,\n popperProps: {},\n searchThreshold: 5,\n styles: {},\n options: [],\n };\n return PopupSelect;\n}(react__WEBPACK_IMPORTED_MODULE_1__[\"PureComponent\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (PopupSelect);\n//# sourceMappingURL=PopupSelect.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L3NlbGVjdC9kaXN0L2VzbS9Qb3B1cFNlbGVjdC9Qb3B1cFNlbGVjdC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AYXRsYXNraXQvc2VsZWN0L2Rpc3QvZXNtL1BvcHVwU2VsZWN0L1BvcHVwU2VsZWN0LmpzPzM1YjUiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgX19hc3NpZ24sIF9fZXh0ZW5kcywgX19yZXN0IH0gZnJvbSBcInRzbGliXCI7XG5pbXBvcnQgUmVhY3QsIHsgUHVyZUNvbXBvbmVudCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNyZWF0ZVBvcnRhbCB9IGZyb20gJ3JlYWN0LWRvbSc7XG5pbXBvcnQgU2VsZWN0IGZyb20gJ3JlYWN0LXNlbGVjdCc7XG5pbXBvcnQgY3JlYXRlRm9jdXNUcmFwIGZyb20gJ2ZvY3VzLXRyYXAnO1xuaW1wb3J0IHsgTWFuYWdlciwgUmVmZXJlbmNlLCBQb3BwZXIgfSBmcm9tICdyZWFjdC1wb3BwZXInO1xuaW1wb3J0IE5vZGVSZXNvbHZlciBmcm9tICdyZWFjdC1ub2RlLXJlc29sdmVyJztcbmltcG9ydCBzaGFsbG93RXF1YWxPYmplY3RzIGZyb20gJ3NoYWxsb3ctZXF1YWwvb2JqZWN0cyc7XG5pbXBvcnQgeyBOODAgfSBmcm9tICdAYXRsYXNraXQvdGhlbWUvY29sb3JzJztcbmltcG9ydCB7IE1lbnVEaWFsb2csIER1bW15Q29udHJvbCwgZGVmYXVsdENvbXBvbmVudHMgfSBmcm9tICcuL2NvbXBvbmVudHMnO1xuLyoqIEFyZSB3ZSByZW5kZXJpbmcgb24gdGhlIGNsaWVudCBvciBzZXJ2ZXI/ICovXG52YXIgY2FuVXNlRE9NID0gZnVuY3Rpb24gKCkge1xuICAgIHJldHVybiBCb29sZWFuKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnICYmXG4gICAgICAgIHdpbmRvdy5kb2N1bWVudCAmJlxuICAgICAgICB3aW5kb3cuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCk7XG59O1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBDbGFzc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG52YXIgZGVmYXVsdFN0eWxlcyA9IHtcbiAgICBncm91cEhlYWRpbmc6IGZ1bmN0aW9uIChwcm92aWRlZCkgeyByZXR1cm4gKF9fYXNzaWduKF9fYXNzaWduKHt9LCBwcm92aWRlZCksIHsgY29sb3I6IE44MCB9KSk7IH0sXG59O1xudmFyIGRlZmF1bHRQb3BwZXJQcm9wcyA9IHtcbiAgICBtb2RpZmllcnM6IHsgb2Zmc2V0OiB7IG9mZnNldDogXCIwLCA4XCIgfSB9LFxuICAgIHBsYWNlbWVudDogJ2JvdHRvbS1zdGFydCcsXG59O1xudmFyIGlzRW1wdHkgPSBmdW5jdGlvbiAob2JqKSB7IHJldHVybiBPYmplY3Qua2V5cyhvYmopLmxlbmd0aCA9PT0gMDsgfTtcbnZhciBQb3B1cFNlbGVjdCA9IC8qKiBAY2xhc3MgKi8gKGZ1bmN0aW9uIChfc3VwZXIpIHtcbiAgICBfX2V4dGVuZHMoUG9wdXBTZWxlY3QsIF9zdXBlcik7XG4gICAgZnVuY3Rpb24gUG9wdXBTZWxlY3QoKSB7XG4gICAgICAgIHZhciBfdGhpcyA9IF9zdXBlciAhPT0gbnVsbCAmJiBfc3VwZXIuYXBwbHkodGhpcywgYXJndW1lbnRzKSB8fCB0aGlzO1xuICAgICAgICBfdGhpcy5mb2N1c1RyYXAgPSBudWxsO1xuICAgICAgICBfdGhpcy5tZW51UmVmID0gbnVsbDtcbiAgICAgICAgX3RoaXMuc2VsZWN0UmVmID0gbnVsbDtcbiAgICAgICAgX3RoaXMudGFyZ2V0UmVmID0gbnVsbDtcbiAgICAgICAgX3RoaXMuc3RhdGUgPSB7XG4gICAgICAgICAgICBpc09wZW46IGZhbHNlLFxuICAgICAgICAgICAgbWVyZ2VkQ29tcG9uZW50czogZGVmYXVsdENvbXBvbmVudHMsXG4gICAgICAgICAgICBtZXJnZWRQb3BwZXJQcm9wczogZGVmYXVsdFBvcHBlclByb3BzLFxuICAgICAgICB9O1xuICAgICAgICAvLyBFdmVudCBIYW5kbGVyc1xuICAgICAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAgICAgX3RoaXMuaGFuZGxlS2V5RG93biA9IGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgICAgICAgc3dpdGNoIChldmVudC5rZXkpIHtcbiAgICAgICAgICAgICAgICBjYXNlICdFc2NhcGUnOlxuICAgICAgICAgICAgICAgIGNhc2UgJ0VzYyc6XG4gICAgICAgICAgICAgICAgICAgIF90aGlzLmNsb3NlKCk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoX3RoaXMucHJvcHMuaGFuZGxlS2V5RG93bikge1xuICAgICAgICAgICAgICAgIF90aGlzLnByb3BzLmhhbmRsZUtleURvd24oZXZlbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgICBfdGhpcy5oYW5kbGVDbGljayA9IGZ1bmN0aW9uIChfYSkge1xuICAgICAgICAgICAgdmFyIHRhcmdldCA9IF9hLnRhcmdldDtcbiAgICAgICAgICAgIHZhciBpc09wZW4gPSBfdGhpcy5zdGF0ZS5pc09wZW47XG4gICAgICAgICAgICAvLyBhcHBlYXNlIGZsb3dcbiAgICAgICAgICAgIGlmICghKHRhcmdldCBpbnN0YW5jZW9mIEVsZW1lbnQpKVxuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIC8vIE5PVEU6IFdoeSBub3QgdXNlIHRoZSA8QmxhbmtldCAvPiBjb21wb25lbnQgdG8gY2xvc2U/XG4gICAgICAgICAgICAvLyBXZSBkb24ndCB3YW50IHRvIGludGVydXB0IHRoZSB1c2VyJ3MgZmxvdy4gVGFraW5nIHRoaXMgYXBwcm9hY2ggYWxsb3dzXG4gICAgICAgICAgICAvLyB1c2VyIHRvIGNsaWNrIFwidGhyb3VnaFwiIHRvIG90aGVyIGVsZW1lbnRzIGFuZCBjbG9zZSB0aGUgcG9wb3V0LlxuICAgICAgICAgICAgaWYgKGlzT3BlbiAmJiBfdGhpcy5tZW51UmVmICYmICFfdGhpcy5tZW51UmVmLmNvbnRhaW5zKHRhcmdldCkpIHtcbiAgICAgICAgICAgICAgICBfdGhpcy5jbG9zZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gb3BlbiBvbiB0YXJnZXQgY2xpY2sgLS0gd2UgY2FuJ3QgdHJ1c3QgY29uc3VtZXJzIHRvIHNwcmVhZCB0aGUgb25DbGlja1xuICAgICAgICAgICAgLy8gcHJvcGVydHkgdG8gdGhlIHRhcmdldFxuICAgICAgICAgICAgaWYgKCFpc09wZW4gJiYgX3RoaXMudGFyZ2V0UmVmICYmIF90aGlzLnRhcmdldFJlZi5jb250YWlucyh0YXJnZXQpKSB7XG4gICAgICAgICAgICAgICAgX3RoaXMub3BlbigpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgICBfdGhpcy5oYW5kbGVTZWxlY3RDaGFuZ2UgPSBmdW5jdGlvbiAodmFsdWUsIGFjdGlvbk1ldGEpIHtcbiAgICAgICAgICAgIHZhciBfYSA9IF90aGlzLnByb3BzLCBjbG9zZU1lbnVPblNlbGVjdCA9IF9hLmNsb3NlTWVudU9uU2VsZWN0LCBvbkNoYW5nZSA9IF9hLm9uQ2hhbmdlO1xuICAgICAgICAgICAgaWYgKGNsb3NlTWVudU9uU2VsZWN0ICYmIGFjdGlvbk1ldGEuYWN0aW9uICE9PSAnY2xlYXInKVxuICAgICAgICAgICAgICAgIF90aGlzLmNsb3NlKCk7XG4gICAgICAgICAgICBpZiAob25DaGFuZ2UpXG4gICAgICAgICAgICAgICAgb25DaGFuZ2UodmFsdWUsIGFjdGlvbk1ldGEpO1xuICAgICAgICB9O1xuICAgICAgICAvLyBJbnRlcm5hbCBMaWZlY3ljbGVcbiAgICAgICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgICAgIF90aGlzLm9wZW4gPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICB2YXIgb25PcGVuID0gX3RoaXMucHJvcHMub25PcGVuO1xuICAgICAgICAgICAgaWYgKG9uT3BlbilcbiAgICAgICAgICAgICAgICBvbk9wZW4oKTtcbiAgICAgICAgICAgIF90aGlzLnNldFN0YXRlKHsgaXNPcGVuOiB0cnVlIH0sIF90aGlzLmluaXRpYWxpc2VGb2N1c1RyYXApO1xuICAgICAgICAgICAgaWYgKF90aGlzLnNlbGVjdFJlZikge1xuICAgICAgICAgICAgICAgIF90aGlzLnNlbGVjdFJlZi5zZWxlY3Qub3Blbk1lbnUoJ2ZpcnN0Jyk7IC8vIEhBQ0tcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0eXBlb2Ygd2luZG93ID09PSAndW5kZWZpbmVkJylcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIF90aGlzLmhhbmRsZUtleURvd24pO1xuICAgICAgICB9O1xuICAgICAgICBfdGhpcy5pbml0aWFsaXNlRm9jdXNUcmFwID0gZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgaWYgKCFfdGhpcy5tZW51UmVmKVxuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIHZhciB0cmFwQ29uZmlnID0ge1xuICAgICAgICAgICAgICAgIGNsaWNrT3V0c2lkZURlYWN0aXZhdGVzOiB0cnVlLFxuICAgICAgICAgICAgICAgIGVzY2FwZURlYWN0aXZhdGVzOiB0cnVlLFxuICAgICAgICAgICAgICAgIGZhbGxiYWNrRm9jdXM6IF90aGlzLm1lbnVSZWYsXG4gICAgICAgICAgICAgICAgcmV0dXJuRm9jdXNPbkRlYWN0aXZhdGU6IHRydWUsXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgX3RoaXMuZm9jdXNUcmFwID0gY3JlYXRlRm9jdXNUcmFwKF90aGlzLm1lbnVSZWYsIHRyYXBDb25maWcpO1xuICAgICAgICAgICAgLy8gYWxsb3cgdGltZSBmb3IgdGhlIEhUTUxFbGVtZW50IHRvIHJlbmRlclxuICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7IHJldHVybiBfdGhpcy5mb2N1c1RyYXAuYWN0aXZhdGUoKTsgfSwgMSk7XG4gICAgICAgIH07XG4gICAgICAgIF90aGlzLmNsb3NlID0gZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgdmFyIG9uQ2xvc2UgPSBfdGhpcy5wcm9wcy5vbkNsb3NlO1xuICAgICAgICAgICAgaWYgKG9uQ2xvc2UpXG4gICAgICAgICAgICAgICAgb25DbG9zZSgpO1xuICAgICAgICAgICAgX3RoaXMuc2V0U3RhdGUoeyBpc09wZW46IGZhbHNlIH0pO1xuICAgICAgICAgICAgaWYgKF90aGlzLmZvY3VzVHJhcCkge1xuICAgICAgICAgICAgICAgIF90aGlzLmZvY3VzVHJhcC5kZWFjdGl2YXRlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCcpXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBfdGhpcy5oYW5kbGVLZXlEb3duKTtcbiAgICAgICAgfTtcbiAgICAgICAgLy8gUmVmc1xuICAgICAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAgICAgX3RoaXMucmVzb2x2ZVRhcmdldFJlZiA9IGZ1bmN0aW9uIChwb3BwZXJSZWYpIHsgcmV0dXJuIGZ1bmN0aW9uIChyZWYpIHtcbiAgICAgICAgICAgIC8vIGF2b2lkIHRocmFzaGluZyBmbiBjYWxsc1xuICAgICAgICAgICAgaWYgKCFfdGhpcy50YXJnZXRSZWYgJiYgcG9wcGVyUmVmICYmIHJlZikge1xuICAgICAgICAgICAgICAgIF90aGlzLnRhcmdldFJlZiA9IHJlZjtcbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHBvcHBlclJlZiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgICAgICBwb3BwZXJSZWYocmVmKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHBvcHBlclJlZi5jdXJyZW50ID0gcmVmO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfTsgfTtcbiAgICAgICAgX3RoaXMucmVzb2x2ZU1lbnVSZWYgPSBmdW5jdGlvbiAocG9wcGVyUmVmKSB7IHJldHVybiBmdW5jdGlvbiAocmVmKSB7XG4gICAgICAgICAgICBfdGhpcy5tZW51UmVmID0gcmVmO1xuICAgICAgICAgICAgaWYgKHR5cGVvZiBwb3BwZXJSZWYgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgICBwb3BwZXJSZWYocmVmKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHBvcHBlclJlZi5jdXJyZW50ID0gcmVmO1xuICAgICAgICAgICAgfVxuICAgICAgICB9OyB9O1xuICAgICAgICBfdGhpcy5nZXRTZWxlY3RSZWYgPSBmdW5jdGlvbiAocmVmKSB7XG4gICAgICAgICAgICBfdGhpcy5zZWxlY3RSZWYgPSByZWY7XG4gICAgICAgIH07XG4gICAgICAgIC8vIFV0aWxzXG4gICAgICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgICAgICAvLyBhY2NvdW50IGZvciBncm91cHMgd2hlbiBjb3VudGluZyBvcHRpb25zXG4gICAgICAgIC8vIHRoaXMgbWF5IG5lZWQgdG8gYmUgcmVjdXJzaXZlLCByaWdodCBub3cgaXQganVzdCBjb3VudHMgb25lIGxldmVsXG4gICAgICAgIF90aGlzLmdldEl0ZW1Db3VudCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHZhciBvcHRpb25zID0gX3RoaXMucHJvcHMub3B0aW9ucztcbiAgICAgICAgICAgIHZhciBjb3VudCA9IDA7XG4gICAgICAgICAgICBvcHRpb25zLmZvckVhY2goZnVuY3Rpb24gKGdyb3VwT3JPcHRpb24pIHtcbiAgICAgICAgICAgICAgICBpZiAoZ3JvdXBPck9wdGlvbi5vcHRpb25zKSB7XG4gICAgICAgICAgICAgICAgICAgIGdyb3VwT3JPcHRpb24ub3B0aW9ucy5mb3JFYWNoKGZ1bmN0aW9uICgpIHsgcmV0dXJuIGNvdW50Kys7IH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgY291bnQrKztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiBjb3VudDtcbiAgICAgICAgfTtcbiAgICAgICAgX3RoaXMuZ2V0TWF4SGVpZ2h0ID0gZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgdmFyIG1heE1lbnVIZWlnaHQgPSBfdGhpcy5wcm9wcy5tYXhNZW51SGVpZ2h0O1xuICAgICAgICAgICAgaWYgKCFfdGhpcy5zZWxlY3RSZWYpXG4gICAgICAgICAgICAgICAgcmV0dXJuIG1heE1lbnVIZWlnaHQ7XG4gICAgICAgICAgICAvLyBzdWJ0cmFjdCB0aGUgY29udHJvbCBoZWlnaHQgdG8gbWFpbnRhaW4gY29uc2lzdGVuY3lcbiAgICAgICAgICAgIHZhciBzaG93U2VhcmNoQ29udHJvbCA9IF90aGlzLnNob3dTZWFyY2hDb250cm9sKCk7XG4gICAgICAgICAgICB2YXIgY29udHJvbFJlZiA9IF90aGlzLnNlbGVjdFJlZi5zZWxlY3QuY29udHJvbFJlZjtcbiAgICAgICAgICAgIC8vIEB0cy1pZ25vcmUgUmVhY3Qtc2VsZWN0IHByb3ZpZGVzIGluY29tcGxldGUgdHlwZXMgZm9yIGNvbnRyb2xSZWZcbiAgICAgICAgICAgIHZhciBvZmZzZXRIZWlnaHQgPSBzaG93U2VhcmNoQ29udHJvbCA/IGNvbnRyb2xSZWYub2Zmc2V0SGVpZ2h0IDogMDtcbiAgICAgICAgICAgIHZhciBtYXhIZWlnaHQgPSBtYXhNZW51SGVpZ2h0IC0gb2Zmc2V0SGVpZ2h0O1xuICAgICAgICAgICAgcmV0dXJuIG1heEhlaWdodDtcbiAgICAgICAgfTtcbiAgICAgICAgLy8gaWYgdGhlIHRocmVzaG9sZCBpcyBleGNlZWRlZCBkaXNwbGF5IHRoZSBzZWFyY2ggY29udHJvbFxuICAgICAgICBfdGhpcy5zaG93U2VhcmNoQ29udHJvbCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHZhciBzZWFyY2hUaHJlc2hvbGQgPSBfdGhpcy5wcm9wcy5zZWFyY2hUaHJlc2hvbGQ7XG4gICAgICAgICAgICByZXR1cm4gX3RoaXMuZ2V0SXRlbUNvdW50KCkgPiBzZWFyY2hUaHJlc2hvbGQ7XG4gICAgICAgIH07XG4gICAgICAgIC8vIFJlbmRlcmVyc1xuICAgICAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAgICAgX3RoaXMucmVuZGVyU2VsZWN0ID0gZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgdmFyIF9hID0gX3RoaXMucHJvcHMsIGZvb3RlciA9IF9hLmZvb3RlciwgbWF4TWVudVdpZHRoID0gX2EubWF4TWVudVdpZHRoLCBtaW5NZW51V2lkdGggPSBfYS5taW5NZW51V2lkdGgsIHRhcmdldCA9IF9hLnRhcmdldCwgcHJvcHMgPSBfX3Jlc3QoX2EsIFtcImZvb3RlclwiLCBcIm1heE1lbnVXaWR0aFwiLCBcIm1pbk1lbnVXaWR0aFwiLCBcInRhcmdldFwiXSk7XG4gICAgICAgICAgICB2YXIgX2IgPSBfdGhpcy5zdGF0ZSwgaXNPcGVuID0gX2IuaXNPcGVuLCBtZXJnZWRDb21wb25lbnRzID0gX2IubWVyZ2VkQ29tcG9uZW50cywgbWVyZ2VkUG9wcGVyUHJvcHMgPSBfYi5tZXJnZWRQb3BwZXJQcm9wcztcbiAgICAgICAgICAgIHZhciBzaG93U2VhcmNoQ29udHJvbCA9IF90aGlzLnNob3dTZWFyY2hDb250cm9sKCk7XG4gICAgICAgICAgICB2YXIgcG9ydGFsRGVzdGluYXRpb24gPSBjYW5Vc2VET00oKSA/IGRvY3VtZW50LmJvZHkgOiBudWxsO1xuICAgICAgICAgICAgdmFyIGNvbXBvbmVudHMgPSBfX2Fzc2lnbihfX2Fzc2lnbih7fSwgbWVyZ2VkQ29tcG9uZW50cyksIHsgQ29udHJvbDogc2hvd1NlYXJjaENvbnRyb2wgPyBtZXJnZWRDb21wb25lbnRzLkNvbnRyb2wgOiBEdW1teUNvbnRyb2wgfSk7XG4gICAgICAgICAgICBpZiAoIXBvcnRhbERlc3RpbmF0aW9uIHx8ICFpc09wZW4pXG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB2YXIgcG9wcGVyID0gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoUG9wcGVyLCBfX2Fzc2lnbih7fSwgbWVyZ2VkUG9wcGVyUHJvcHMpLCBmdW5jdGlvbiAoX2EpIHtcbiAgICAgICAgICAgICAgICB2YXIgcGxhY2VtZW50ID0gX2EucGxhY2VtZW50LCByZWYgPSBfYS5yZWYsIHN0eWxlID0gX2Euc3R5bGU7XG4gICAgICAgICAgICAgICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KE5vZGVSZXNvbHZlciwgeyBpbm5lclJlZjogX3RoaXMucmVzb2x2ZU1lbnVSZWYocmVmKSB9LFxuICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KE1lbnVEaWFsb2csIHsgc3R5bGU6IHN0eWxlLCBcImRhdGEtcGxhY2VtZW50XCI6IHBsYWNlbWVudCwgbWluV2lkdGg6IG1pbk1lbnVXaWR0aCwgbWF4V2lkdGg6IG1heE1lbnVXaWR0aCB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChTZWxlY3QsIF9fYXNzaWduKHsgYmFja3NwYWNlUmVtb3Zlc1ZhbHVlOiBmYWxzZSwgY29udHJvbFNob3VsZFJlbmRlclZhbHVlOiBmYWxzZSwgaXNDbGVhcmFibGU6IGZhbHNlLCB0YWJTZWxlY3RzVmFsdWU6IGZhbHNlLCBtZW51SXNPcGVuOiB0cnVlLCByZWY6IF90aGlzLmdldFNlbGVjdFJlZiB9LCBwcm9wcywgeyBpc1NlYXJjaGFibGU6IHNob3dTZWFyY2hDb250cm9sLCBzdHlsZXM6IF9fYXNzaWduKF9fYXNzaWduKHt9LCBkZWZhdWx0U3R5bGVzKSwgcHJvcHMuc3R5bGVzKSwgbWF4TWVudUhlaWdodDogX3RoaXMuZ2V0TWF4SGVpZ2h0KCksIGNvbXBvbmVudHM6IGNvbXBvbmVudHMsIG9uQ2hhbmdlOiBfdGhpcy5oYW5kbGVTZWxlY3RDaGFuZ2UgfSkpLFxuICAgICAgICAgICAgICAgICAgICAgICAgZm9vdGVyKSkpO1xuICAgICAgICAgICAgfSkpO1xuICAgICAgICAgICAgcmV0dXJuIG1lcmdlZFBvcHBlclByb3BzLnBvc2l0aW9uRml4ZWRcbiAgICAgICAgICAgICAgICA/IHBvcHBlclxuICAgICAgICAgICAgICAgIDogY3JlYXRlUG9ydGFsKHBvcHBlciwgcG9ydGFsRGVzdGluYXRpb24pO1xuICAgICAgICB9O1xuICAgICAgICByZXR1cm4gX3RoaXM7XG4gICAgfVxuICAgIFBvcHVwU2VsZWN0LmdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyA9IGZ1bmN0aW9uIChwcm9wcywgc3RhdGUpIHtcbiAgICAgICAgdmFyIG5ld1N0YXRlID0ge307XG4gICAgICAgIC8vIE1lcmdlIGNvbnN1bWVyIGFuZCBkZWZhdWx0IHBvcHBlciBwcm9wc1xuICAgICAgICB2YXIgbWVyZ2VkUG9wcGVyUHJvcHMgPSBfX2Fzc2lnbihfX2Fzc2lnbih7fSwgZGVmYXVsdFBvcHBlclByb3BzKSwgcHJvcHMucG9wcGVyUHJvcHMpO1xuICAgICAgICBpZiAoIXNoYWxsb3dFcXVhbE9iamVjdHMobWVyZ2VkUG9wcGVyUHJvcHMsIHN0YXRlLm1lcmdlZFBvcHBlclByb3BzKSkge1xuICAgICAgICAgICAgbmV3U3RhdGUubWVyZ2VkUG9wcGVyUHJvcHMgPSBtZXJnZWRQb3BwZXJQcm9wcztcbiAgICAgICAgfVxuICAgICAgICAvLyBNZXJnZSBjb25zdW1lciBhbmQgZGVmYXVsdCBjb21wb25lbnRzXG4gICAgICAgIHZhciBtZXJnZWRDb21wb25lbnRzID0gX19hc3NpZ24oX19hc3NpZ24oe30sIGRlZmF1bHRDb21wb25lbnRzKSwgcHJvcHMuY29tcG9uZW50cyk7XG4gICAgICAgIGlmICghc2hhbGxvd0VxdWFsT2JqZWN0cyhtZXJnZWRDb21wb25lbnRzLCBzdGF0ZS5tZXJnZWRDb21wb25lbnRzKSkge1xuICAgICAgICAgICAgbmV3U3RhdGUubWVyZ2VkQ29tcG9uZW50cyA9IG1lcmdlZENvbXBvbmVudHM7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFpc0VtcHR5KG5ld1N0YXRlKSlcbiAgICAgICAgICAgIHJldHVybiBuZXdTdGF0ZTtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfTtcbiAgICBQb3B1cFNlbGVjdC5wcm90b3R5cGUuY29tcG9uZW50RGlkTW91bnQgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGlmICh0eXBlb2Ygd2luZG93ID09PSAndW5kZWZpbmVkJylcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgdGhpcy5oYW5kbGVDbGljayk7XG4gICAgfTtcbiAgICBQb3B1cFNlbGVjdC5wcm90b3R5cGUuY29tcG9uZW50V2lsbFVubW91bnQgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGlmICh0eXBlb2Ygd2luZG93ID09PSAndW5kZWZpbmVkJylcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgdGhpcy5oYW5kbGVDbGljayk7XG4gICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdrZXlkb3duJywgdGhpcy5oYW5kbGVLZXlEb3duKTtcbiAgICB9O1xuICAgIFBvcHVwU2VsZWN0LnByb3RvdHlwZS5yZW5kZXIgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBfdGhpcyA9IHRoaXM7XG4gICAgICAgIHZhciB0YXJnZXQgPSB0aGlzLnByb3BzLnRhcmdldDtcbiAgICAgICAgdmFyIGlzT3BlbiA9IHRoaXMuc3RhdGUuaXNPcGVuO1xuICAgICAgICByZXR1cm4gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoTWFuYWdlciwgbnVsbCxcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoUmVmZXJlbmNlLCBudWxsLCBmdW5jdGlvbiAoX2EpIHtcbiAgICAgICAgICAgICAgICB2YXIgcmVmID0gX2EucmVmO1xuICAgICAgICAgICAgICAgIHJldHVybiB0YXJnZXQgJiYgdGFyZ2V0KHsgcmVmOiBfdGhpcy5yZXNvbHZlVGFyZ2V0UmVmKHJlZiksIGlzT3BlbjogaXNPcGVuIH0pO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB0aGlzLnJlbmRlclNlbGVjdCgpKSk7XG4gICAgfTtcbiAgICBQb3B1cFNlbGVjdC5kZWZhdWx0UHJvcHMgPSB7XG4gICAgICAgIGNsb3NlTWVudU9uU2VsZWN0OiB0cnVlLFxuICAgICAgICBjb21wb25lbnRzOiB7fSxcbiAgICAgICAgbWF4TWVudUhlaWdodDogMzAwLFxuICAgICAgICBtYXhNZW51V2lkdGg6IDQ0MCxcbiAgICAgICAgbWluTWVudVdpZHRoOiAyMjAsXG4gICAgICAgIHBvcHBlclByb3BzOiB7fSxcbiAgICAgICAgc2VhcmNoVGhyZXNob2xkOiA1LFxuICAgICAgICBzdHlsZXM6IHt9LFxuICAgICAgICBvcHRpb25zOiBbXSxcbiAgICB9O1xuICAgIHJldHVybiBQb3B1cFNlbGVjdDtcbn0oUHVyZUNvbXBvbmVudCkpO1xuZXhwb3J0IGRlZmF1bHQgUG9wdXBTZWxlY3Q7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1Qb3B1cFNlbGVjdC5qcy5tYXAiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/select/dist/esm/PopupSelect/PopupSelect.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/select/dist/esm/PopupSelect/components.js": /*!**************************************************************************!*\ !*** ./node_modules/@atlaskit/select/dist/esm/PopupSelect/components.js ***! \**************************************************************************/ /*! exports provided: MenuDialog, DummyControl, defaultComponents */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MenuDialog\", function() { return MenuDialog; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DummyControl\", function() { return DummyControl; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"defaultComponents\", function() { return defaultComponents; });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/@atlaskit/select/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _emotion_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @emotion/core */ \"./node_modules/@emotion/core/dist/core.browser.esm.js\");\n/* harmony import */ var react_select__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-select */ \"./node_modules/react-select/dist/react-select.browser.esm.js\");\n/* harmony import */ var _atlaskit_theme_constants__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @atlaskit/theme/constants */ \"./node_modules/@atlaskit/theme/dist/esm/constants.js\");\n/* harmony import */ var _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @atlaskit/theme/colors */ \"./node_modules/@atlaskit/theme/dist/esm/colors.js\");\n/* harmony import */ var _atlaskit_icon_glyph_editor_search__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @atlaskit/icon/glyph/editor/search */ \"./node_modules/@atlaskit/icon/glyph/editor/search.js\");\n/* harmony import */ var _atlaskit_icon_glyph_editor_search__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_atlaskit_icon_glyph_editor_search__WEBPACK_IMPORTED_MODULE_5__);\n\n\n\n\n\n\nvar MenuDialog = function (_a) {\n var maxWidth = _a.maxWidth, minWidth = _a.minWidth, props = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__rest\"])(_a, [\"maxWidth\", \"minWidth\"]);\n return (Object(_emotion_core__WEBPACK_IMPORTED_MODULE_1__[\"jsx\"])(\"div\", Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({ css: {\n backgroundColor: 'white',\n borderRadius: 4,\n boxShadow: \"0 0 0 1px \" + _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_4__[\"N40A\"] + \", 0 4px 11px \" + _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_4__[\"N40A\"],\n maxWidth: maxWidth,\n minWidth: minWidth,\n zIndex: _atlaskit_theme_constants__WEBPACK_IMPORTED_MODULE_3__[\"layers\"].modal(),\n } }, props)));\n};\n// ==============================\n// Custom Components\n// ==============================\nvar DropdownIndicator = function () { return (Object(_emotion_core__WEBPACK_IMPORTED_MODULE_1__[\"jsx\"])(\"div\", { css: { marginRight: 2, textAlign: 'center', width: 32 } },\n Object(_emotion_core__WEBPACK_IMPORTED_MODULE_1__[\"jsx\"])(_atlaskit_icon_glyph_editor_search__WEBPACK_IMPORTED_MODULE_5___default.a, { label: \"open\" }))); };\nvar Control = function (_a) {\n var innerRef = _a.innerRef, innerProps = _a.innerProps, props = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__rest\"])(_a, [\"innerRef\", \"innerProps\"]);\n return (Object(_emotion_core__WEBPACK_IMPORTED_MODULE_1__[\"jsx\"])(\"div\", { ref: innerRef, css: { padding: '8px 8px 4px' } },\n Object(_emotion_core__WEBPACK_IMPORTED_MODULE_1__[\"jsx\"])(react_select__WEBPACK_IMPORTED_MODULE_2__[\"components\"].Control, Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, props, { innerProps: innerProps }))));\n};\nvar DummyControl = function (props) { return (Object(_emotion_core__WEBPACK_IMPORTED_MODULE_1__[\"jsx\"])(\"div\", { css: {\n border: 0,\n clip: 'rect(1px, 1px, 1px, 1px)',\n height: 1,\n overflow: 'hidden',\n padding: 0,\n position: 'absolute',\n whiteSpace: 'nowrap',\n width: 1,\n } },\n Object(_emotion_core__WEBPACK_IMPORTED_MODULE_1__[\"jsx\"])(react_select__WEBPACK_IMPORTED_MODULE_2__[\"components\"].Control, Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, props)))); };\n// NOTE `props` intentionally omitted from `Fragment`\n// eslint-disable-next-line\nvar Menu = function (_a) {\n var children = _a.children, innerProps = _a.innerProps, props = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__rest\"])(_a, [\"children\", \"innerProps\"]);\n return (Object(_emotion_core__WEBPACK_IMPORTED_MODULE_1__[\"jsx\"])(\"div\", Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, innerProps), children));\n};\nvar defaultComponents = { Control: Control, DropdownIndicator: DropdownIndicator, Menu: Menu };\n//# sourceMappingURL=components.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L3NlbGVjdC9kaXN0L2VzbS9Qb3B1cFNlbGVjdC9jb21wb25lbnRzLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BhdGxhc2tpdC9zZWxlY3QvZGlzdC9lc20vUG9wdXBTZWxlY3QvY29tcG9uZW50cy5qcz84NDZlIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IF9fYXNzaWduLCBfX3Jlc3QgfSBmcm9tIFwidHNsaWJcIjtcbmltcG9ydCB7IGpzeCB9IGZyb20gJ0BlbW90aW9uL2NvcmUnO1xuaW1wb3J0IHsgY29tcG9uZW50cyB9IGZyb20gJ3JlYWN0LXNlbGVjdCc7XG5pbXBvcnQgeyBsYXllcnMgfSBmcm9tICdAYXRsYXNraXQvdGhlbWUvY29uc3RhbnRzJztcbmltcG9ydCB7IE40MEEgfSBmcm9tICdAYXRsYXNraXQvdGhlbWUvY29sb3JzJztcbmltcG9ydCBTZWFyY2hJY29uIGZyb20gJ0BhdGxhc2tpdC9pY29uL2dseXBoL2VkaXRvci9zZWFyY2gnO1xuZXhwb3J0IHZhciBNZW51RGlhbG9nID0gZnVuY3Rpb24gKF9hKSB7XG4gICAgdmFyIG1heFdpZHRoID0gX2EubWF4V2lkdGgsIG1pbldpZHRoID0gX2EubWluV2lkdGgsIHByb3BzID0gX19yZXN0KF9hLCBbXCJtYXhXaWR0aFwiLCBcIm1pbldpZHRoXCJdKTtcbiAgICByZXR1cm4gKGpzeChcImRpdlwiLCBfX2Fzc2lnbih7IGNzczoge1xuICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiAnd2hpdGUnLFxuICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiA0LFxuICAgICAgICAgICAgYm94U2hhZG93OiBcIjAgMCAwIDFweCBcIiArIE40MEEgKyBcIiwgMCA0cHggMTFweCBcIiArIE40MEEsXG4gICAgICAgICAgICBtYXhXaWR0aDogbWF4V2lkdGgsXG4gICAgICAgICAgICBtaW5XaWR0aDogbWluV2lkdGgsXG4gICAgICAgICAgICB6SW5kZXg6IGxheWVycy5tb2RhbCgpLFxuICAgICAgICB9IH0sIHByb3BzKSkpO1xufTtcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQ3VzdG9tIENvbXBvbmVudHNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxudmFyIERyb3Bkb3duSW5kaWNhdG9yID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gKGpzeChcImRpdlwiLCB7IGNzczogeyBtYXJnaW5SaWdodDogMiwgdGV4dEFsaWduOiAnY2VudGVyJywgd2lkdGg6IDMyIH0gfSxcbiAgICBqc3goU2VhcmNoSWNvbiwgeyBsYWJlbDogXCJvcGVuXCIgfSkpKTsgfTtcbnZhciBDb250cm9sID0gZnVuY3Rpb24gKF9hKSB7XG4gICAgdmFyIGlubmVyUmVmID0gX2EuaW5uZXJSZWYsIGlubmVyUHJvcHMgPSBfYS5pbm5lclByb3BzLCBwcm9wcyA9IF9fcmVzdChfYSwgW1wiaW5uZXJSZWZcIiwgXCJpbm5lclByb3BzXCJdKTtcbiAgICByZXR1cm4gKGpzeChcImRpdlwiLCB7IHJlZjogaW5uZXJSZWYsIGNzczogeyBwYWRkaW5nOiAnOHB4IDhweCA0cHgnIH0gfSxcbiAgICAgICAganN4KGNvbXBvbmVudHMuQ29udHJvbCwgX19hc3NpZ24oe30sIHByb3BzLCB7IGlubmVyUHJvcHM6IGlubmVyUHJvcHMgfSkpKSk7XG59O1xuZXhwb3J0IHZhciBEdW1teUNvbnRyb2wgPSBmdW5jdGlvbiAocHJvcHMpIHsgcmV0dXJuIChqc3goXCJkaXZcIiwgeyBjc3M6IHtcbiAgICAgICAgYm9yZGVyOiAwLFxuICAgICAgICBjbGlwOiAncmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpJyxcbiAgICAgICAgaGVpZ2h0OiAxLFxuICAgICAgICBvdmVyZmxvdzogJ2hpZGRlbicsXG4gICAgICAgIHBhZGRpbmc6IDAsXG4gICAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgICAgICB3aGl0ZVNwYWNlOiAnbm93cmFwJyxcbiAgICAgICAgd2lkdGg6IDEsXG4gICAgfSB9LFxuICAgIGpzeChjb21wb25lbnRzLkNvbnRyb2wsIF9fYXNzaWduKHt9LCBwcm9wcykpKSk7IH07XG4vLyBOT1RFIGBwcm9wc2AgaW50ZW50aW9uYWxseSBvbWl0dGVkIGZyb20gYEZyYWdtZW50YFxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXG52YXIgTWVudSA9IGZ1bmN0aW9uIChfYSkge1xuICAgIHZhciBjaGlsZHJlbiA9IF9hLmNoaWxkcmVuLCBpbm5lclByb3BzID0gX2EuaW5uZXJQcm9wcywgcHJvcHMgPSBfX3Jlc3QoX2EsIFtcImNoaWxkcmVuXCIsIFwiaW5uZXJQcm9wc1wiXSk7XG4gICAgcmV0dXJuIChqc3goXCJkaXZcIiwgX19hc3NpZ24oe30sIGlubmVyUHJvcHMpLCBjaGlsZHJlbikpO1xufTtcbmV4cG9ydCB2YXIgZGVmYXVsdENvbXBvbmVudHMgPSB7IENvbnRyb2w6IENvbnRyb2wsIERyb3Bkb3duSW5kaWNhdG9yOiBEcm9wZG93bkluZGljYXRvciwgTWVudTogTWVudSB9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Y29tcG9uZW50cy5qcy5tYXAiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/select/dist/esm/PopupSelect/components.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/select/dist/esm/PopupSelect/index.js": /*!*********************************************************************!*\ !*** ./node_modules/@atlaskit/select/dist/esm/PopupSelect/index.js ***! \*********************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _PopupSelect__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./PopupSelect */ \"./node_modules/@atlaskit/select/dist/esm/PopupSelect/PopupSelect.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _PopupSelect__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L3NlbGVjdC9kaXN0L2VzbS9Qb3B1cFNlbGVjdC9pbmRleC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AYXRsYXNraXQvc2VsZWN0L2Rpc3QvZXNtL1BvcHVwU2VsZWN0L2luZGV4LmpzP2E0MmUiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgZGVmYXVsdCB9IGZyb20gJy4vUG9wdXBTZWxlY3QnO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/select/dist/esm/PopupSelect/index.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/select/dist/esm/RadioSelect.js": /*!***************************************************************!*\ !*** ./node_modules/@atlaskit/select/dist/esm/RadioSelect.js ***! \***************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/@atlaskit/select/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _Select__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Select */ \"./node_modules/@atlaskit/select/dist/esm/Select.js\");\n/* harmony import */ var _components_input_options__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./components/input-options */ \"./node_modules/@atlaskit/select/dist/esm/components/input-options.js\");\n\n\n// import { Props as ReactSelectProps } from 'react-select/src/Select';\n\n\nvar RadioSelect = function (_a) {\n var components = _a.components, props = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__rest\"])(_a, [\"components\"]);\n return (react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_Select__WEBPACK_IMPORTED_MODULE_2__[\"default\"], Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, props, { isMulti: false, components: Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, components), { Option: _components_input_options__WEBPACK_IMPORTED_MODULE_3__[\"RadioOption\"] }) })));\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (RadioSelect);\n//# sourceMappingURL=RadioSelect.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L3NlbGVjdC9kaXN0L2VzbS9SYWRpb1NlbGVjdC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AYXRsYXNraXQvc2VsZWN0L2Rpc3QvZXNtL1JhZGlvU2VsZWN0LmpzPzExZTAiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgX19hc3NpZ24sIF9fcmVzdCB9IGZyb20gXCJ0c2xpYlwiO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0Jztcbi8vIGltcG9ydCB7IFByb3BzIGFzIFJlYWN0U2VsZWN0UHJvcHMgfSBmcm9tICdyZWFjdC1zZWxlY3Qvc3JjL1NlbGVjdCc7XG5pbXBvcnQgU2VsZWN0IGZyb20gJy4vU2VsZWN0JztcbmltcG9ydCB7IFJhZGlvT3B0aW9uIH0gZnJvbSAnLi9jb21wb25lbnRzL2lucHV0LW9wdGlvbnMnO1xudmFyIFJhZGlvU2VsZWN0ID0gZnVuY3Rpb24gKF9hKSB7XG4gICAgdmFyIGNvbXBvbmVudHMgPSBfYS5jb21wb25lbnRzLCBwcm9wcyA9IF9fcmVzdChfYSwgW1wiY29tcG9uZW50c1wiXSk7XG4gICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KFNlbGVjdCwgX19hc3NpZ24oe30sIHByb3BzLCB7IGlzTXVsdGk6IGZhbHNlLCBjb21wb25lbnRzOiBfX2Fzc2lnbihfX2Fzc2lnbih7fSwgY29tcG9uZW50cyksIHsgT3B0aW9uOiBSYWRpb09wdGlvbiB9KSB9KSkpO1xufTtcbmV4cG9ydCBkZWZhdWx0IFJhZGlvU2VsZWN0O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9UmFkaW9TZWxlY3QuanMubWFwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/select/dist/esm/RadioSelect.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/select/dist/esm/Select.js": /*!**********************************************************!*\ !*** ./node_modules/@atlaskit/select/dist/esm/Select.js ***! \**********************************************************/ /*! exports provided: SelectWithoutAnalytics, default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SelectWithoutAnalytics\", function() { return SelectWithoutAnalytics; });\n/* harmony import */ var react_select__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-select */ \"./node_modules/react-select/dist/react-select.browser.esm.js\");\n/* harmony import */ var _atlaskit_analytics_next__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @atlaskit/analytics-next */ \"./node_modules/@atlaskit/analytics-next/dist/esm/index.js\");\n/* harmony import */ var _version_json__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./version.json */ \"./node_modules/@atlaskit/select/dist/esm/version.json\");\nvar _version_json__WEBPACK_IMPORTED_MODULE_2___namespace = /*#__PURE__*/__webpack_require__.t(/*! ./version.json */ \"./node_modules/@atlaskit/select/dist/esm/version.json\", 1);\n/* harmony import */ var _createSelect__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./createSelect */ \"./node_modules/@atlaskit/select/dist/esm/createSelect.js\");\n\n\n\n\nvar SelectWithoutAnalytics = Object(_createSelect__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(react_select__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\nvar createAndFireEventOnAtlaskit = Object(_atlaskit_analytics_next__WEBPACK_IMPORTED_MODULE_1__[\"createAndFireEvent\"])('atlaskit');\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(_atlaskit_analytics_next__WEBPACK_IMPORTED_MODULE_1__[\"withAnalyticsContext\"])({\n componentName: 'select',\n packageName: _version_json__WEBPACK_IMPORTED_MODULE_2__[\"name\"],\n packageVersion: _version_json__WEBPACK_IMPORTED_MODULE_2__[\"version\"],\n})(Object(_atlaskit_analytics_next__WEBPACK_IMPORTED_MODULE_1__[\"withAnalyticsEvents\"])({\n onChange: createAndFireEventOnAtlaskit({\n action: 'changed',\n actionSubject: 'option',\n attributes: {\n componentName: 'select',\n packageName: _version_json__WEBPACK_IMPORTED_MODULE_2__[\"name\"],\n packageVersion: _version_json__WEBPACK_IMPORTED_MODULE_2__[\"version\"],\n },\n }),\n})(SelectWithoutAnalytics)));\n//# sourceMappingURL=Select.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L3NlbGVjdC9kaXN0L2VzbS9TZWxlY3QuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L3NlbGVjdC9kaXN0L2VzbS9TZWxlY3QuanM/YzFkOSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgU2VsZWN0IGZyb20gJ3JlYWN0LXNlbGVjdCc7XG5pbXBvcnQgeyB3aXRoQW5hbHl0aWNzRXZlbnRzLCB3aXRoQW5hbHl0aWNzQ29udGV4dCwgY3JlYXRlQW5kRmlyZUV2ZW50LCB9IGZyb20gJ0BhdGxhc2tpdC9hbmFseXRpY3MtbmV4dCc7XG5pbXBvcnQgeyBuYW1lIGFzIHBhY2thZ2VOYW1lLCB2ZXJzaW9uIGFzIHBhY2thZ2VWZXJzaW9uIH0gZnJvbSAnLi92ZXJzaW9uLmpzb24nO1xuaW1wb3J0IGNyZWF0ZVNlbGVjdCBmcm9tICcuL2NyZWF0ZVNlbGVjdCc7XG5leHBvcnQgdmFyIFNlbGVjdFdpdGhvdXRBbmFseXRpY3MgPSBjcmVhdGVTZWxlY3QoU2VsZWN0KTtcbnZhciBjcmVhdGVBbmRGaXJlRXZlbnRPbkF0bGFza2l0ID0gY3JlYXRlQW5kRmlyZUV2ZW50KCdhdGxhc2tpdCcpO1xuZXhwb3J0IGRlZmF1bHQgd2l0aEFuYWx5dGljc0NvbnRleHQoe1xuICAgIGNvbXBvbmVudE5hbWU6ICdzZWxlY3QnLFxuICAgIHBhY2thZ2VOYW1lOiBwYWNrYWdlTmFtZSxcbiAgICBwYWNrYWdlVmVyc2lvbjogcGFja2FnZVZlcnNpb24sXG59KSh3aXRoQW5hbHl0aWNzRXZlbnRzKHtcbiAgICBvbkNoYW5nZTogY3JlYXRlQW5kRmlyZUV2ZW50T25BdGxhc2tpdCh7XG4gICAgICAgIGFjdGlvbjogJ2NoYW5nZWQnLFxuICAgICAgICBhY3Rpb25TdWJqZWN0OiAnb3B0aW9uJyxcbiAgICAgICAgYXR0cmlidXRlczoge1xuICAgICAgICAgICAgY29tcG9uZW50TmFtZTogJ3NlbGVjdCcsXG4gICAgICAgICAgICBwYWNrYWdlTmFtZTogcGFja2FnZU5hbWUsXG4gICAgICAgICAgICBwYWNrYWdlVmVyc2lvbjogcGFja2FnZVZlcnNpb24sXG4gICAgICAgIH0sXG4gICAgfSksXG59KShTZWxlY3RXaXRob3V0QW5hbHl0aWNzKSk7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1TZWxlY3QuanMubWFwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/select/dist/esm/Select.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/select/dist/esm/components/index.js": /*!********************************************************************!*\ !*** ./node_modules/@atlaskit/select/dist/esm/components/index.js ***! \********************************************************************/ /*! exports provided: ClearIndicator, DropdownIndicator, LoadingIndicator, MultiValueRemove, IndicatorSeparator */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MultiValueRemove\", function() { return MultiValueRemove; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"IndicatorSeparator\", function() { return IndicatorSeparator; });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/@atlaskit/select/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react_select__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-select */ \"./node_modules/react-select/dist/react-select.browser.esm.js\");\n/* harmony import */ var _atlaskit_icon_glyph_select_clear__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @atlaskit/icon/glyph/select-clear */ \"./node_modules/@atlaskit/icon/glyph/select-clear.js\");\n/* harmony import */ var _atlaskit_icon_glyph_select_clear__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_atlaskit_icon_glyph_select_clear__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _indicators__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./indicators */ \"./node_modules/@atlaskit/select/dist/esm/components/indicators.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ClearIndicator\", function() { return _indicators__WEBPACK_IMPORTED_MODULE_4__[\"ClearIndicator\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"DropdownIndicator\", function() { return _indicators__WEBPACK_IMPORTED_MODULE_4__[\"DropdownIndicator\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"LoadingIndicator\", function() { return _indicators__WEBPACK_IMPORTED_MODULE_4__[\"LoadingIndicator\"]; });\n\n\n\n\n\n\nvar MultiValueRemove = function (props) { return (react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(react_select__WEBPACK_IMPORTED_MODULE_2__[\"components\"].MultiValueRemove, Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, props),\n react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_atlaskit_icon_glyph_select_clear__WEBPACK_IMPORTED_MODULE_3___default.a, { label: \"Clear\", size: \"small\", primaryColor: \"transparent\", secondaryColor: \"inherit\" }))); };\nvar IndicatorSeparator = null;\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L3NlbGVjdC9kaXN0L2VzbS9jb21wb25lbnRzL2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BhdGxhc2tpdC9zZWxlY3QvZGlzdC9lc20vY29tcG9uZW50cy9pbmRleC5qcz84NGU2Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IF9fYXNzaWduIH0gZnJvbSBcInRzbGliXCI7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgY29tcG9uZW50cyB9IGZyb20gJ3JlYWN0LXNlbGVjdCc7XG5pbXBvcnQgU2VsZWN0Q2xlYXJJY29uIGZyb20gJ0BhdGxhc2tpdC9pY29uL2dseXBoL3NlbGVjdC1jbGVhcic7XG5leHBvcnQgeyBDbGVhckluZGljYXRvciwgRHJvcGRvd25JbmRpY2F0b3IsIExvYWRpbmdJbmRpY2F0b3IsIH0gZnJvbSAnLi9pbmRpY2F0b3JzJztcbmV4cG9ydCB2YXIgTXVsdGlWYWx1ZVJlbW92ZSA9IGZ1bmN0aW9uIChwcm9wcykgeyByZXR1cm4gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoY29tcG9uZW50cy5NdWx0aVZhbHVlUmVtb3ZlLCBfX2Fzc2lnbih7fSwgcHJvcHMpLFxuICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoU2VsZWN0Q2xlYXJJY29uLCB7IGxhYmVsOiBcIkNsZWFyXCIsIHNpemU6IFwic21hbGxcIiwgcHJpbWFyeUNvbG9yOiBcInRyYW5zcGFyZW50XCIsIHNlY29uZGFyeUNvbG9yOiBcImluaGVyaXRcIiB9KSkpOyB9O1xuZXhwb3J0IHZhciBJbmRpY2F0b3JTZXBhcmF0b3IgPSBudWxsO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/select/dist/esm/components/index.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/select/dist/esm/components/indicators.js": /*!*************************************************************************!*\ !*** ./node_modules/@atlaskit/select/dist/esm/components/indicators.js ***! \*************************************************************************/ /*! exports provided: ClearIndicator, DropdownIndicator, LoadingIndicator */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ClearIndicator\", function() { return ClearIndicator; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DropdownIndicator\", function() { return DropdownIndicator; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"LoadingIndicator\", function() { return LoadingIndicator; });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/@atlaskit/select/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _emotion_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @emotion/core */ \"./node_modules/@emotion/core/dist/core.browser.esm.js\");\n/* harmony import */ var react_select__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-select */ \"./node_modules/react-select/dist/react-select.browser.esm.js\");\n/* harmony import */ var _atlaskit_spinner__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @atlaskit/spinner */ \"./node_modules/@atlaskit/spinner/dist/esm/index.js\");\n/* harmony import */ var _atlaskit_icon_glyph_select_clear__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @atlaskit/icon/glyph/select-clear */ \"./node_modules/@atlaskit/icon/glyph/select-clear.js\");\n/* harmony import */ var _atlaskit_icon_glyph_select_clear__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_atlaskit_icon_glyph_select_clear__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _atlaskit_icon_glyph_hipchat_chevron_down__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @atlaskit/icon/glyph/hipchat/chevron-down */ \"./node_modules/@atlaskit/icon/glyph/hipchat/chevron-down.js\");\n/* harmony import */ var _atlaskit_icon_glyph_hipchat_chevron_down__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_atlaskit_icon_glyph_hipchat_chevron_down__WEBPACK_IMPORTED_MODULE_5__);\n\n/** @jsx jsx */\n\n\n\n\n\nvar ClearIndicator = function (props) { return (Object(_emotion_core__WEBPACK_IMPORTED_MODULE_1__[\"jsx\"])(react_select__WEBPACK_IMPORTED_MODULE_2__[\"components\"].ClearIndicator, Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, props),\n Object(_emotion_core__WEBPACK_IMPORTED_MODULE_1__[\"jsx\"])(_atlaskit_icon_glyph_select_clear__WEBPACK_IMPORTED_MODULE_4___default.a, { size: \"small\", primaryColor: \"inherit\", label: \"clear\" }))); };\nvar DropdownIndicator = function (props) { return (Object(_emotion_core__WEBPACK_IMPORTED_MODULE_1__[\"jsx\"])(react_select__WEBPACK_IMPORTED_MODULE_2__[\"components\"].DropdownIndicator, Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, props),\n Object(_emotion_core__WEBPACK_IMPORTED_MODULE_1__[\"jsx\"])(_atlaskit_icon_glyph_hipchat_chevron_down__WEBPACK_IMPORTED_MODULE_5___default.a, { label: \"open\" }))); };\nvar LoadingIndicator = function (props) { return (Object(_emotion_core__WEBPACK_IMPORTED_MODULE_1__[\"jsx\"])(\"div\", Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({ css: props.getStyles('loadingIndicator', props) }, props.innerProps),\n Object(_emotion_core__WEBPACK_IMPORTED_MODULE_1__[\"jsx\"])(_atlaskit_spinner__WEBPACK_IMPORTED_MODULE_3__[\"default\"], { size: \"small\" }))); };\n//# sourceMappingURL=indicators.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L3NlbGVjdC9kaXN0L2VzbS9jb21wb25lbnRzL2luZGljYXRvcnMuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L3NlbGVjdC9kaXN0L2VzbS9jb21wb25lbnRzL2luZGljYXRvcnMuanM/ZGRlOCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBfX2Fzc2lnbiB9IGZyb20gXCJ0c2xpYlwiO1xuLyoqIEBqc3gganN4ICovXG5pbXBvcnQgeyBqc3ggfSBmcm9tICdAZW1vdGlvbi9jb3JlJztcbmltcG9ydCB7IGNvbXBvbmVudHMgfSBmcm9tICdyZWFjdC1zZWxlY3QnO1xuaW1wb3J0IFNwaW5uZXIgZnJvbSAnQGF0bGFza2l0L3NwaW5uZXInO1xuaW1wb3J0IFNlbGVjdENsZWFySWNvbiBmcm9tICdAYXRsYXNraXQvaWNvbi9nbHlwaC9zZWxlY3QtY2xlYXInO1xuaW1wb3J0IERvd25JY29uIGZyb20gJ0BhdGxhc2tpdC9pY29uL2dseXBoL2hpcGNoYXQvY2hldnJvbi1kb3duJztcbmV4cG9ydCB2YXIgQ2xlYXJJbmRpY2F0b3IgPSBmdW5jdGlvbiAocHJvcHMpIHsgcmV0dXJuIChqc3goY29tcG9uZW50cy5DbGVhckluZGljYXRvciwgX19hc3NpZ24oe30sIHByb3BzKSxcbiAgICBqc3goU2VsZWN0Q2xlYXJJY29uLCB7IHNpemU6IFwic21hbGxcIiwgcHJpbWFyeUNvbG9yOiBcImluaGVyaXRcIiwgbGFiZWw6IFwiY2xlYXJcIiB9KSkpOyB9O1xuZXhwb3J0IHZhciBEcm9wZG93bkluZGljYXRvciA9IGZ1bmN0aW9uIChwcm9wcykgeyByZXR1cm4gKGpzeChjb21wb25lbnRzLkRyb3Bkb3duSW5kaWNhdG9yLCBfX2Fzc2lnbih7fSwgcHJvcHMpLFxuICAgIGpzeChEb3duSWNvbiwgeyBsYWJlbDogXCJvcGVuXCIgfSkpKTsgfTtcbmV4cG9ydCB2YXIgTG9hZGluZ0luZGljYXRvciA9IGZ1bmN0aW9uIChwcm9wcykgeyByZXR1cm4gKGpzeChcImRpdlwiLCBfX2Fzc2lnbih7IGNzczogcHJvcHMuZ2V0U3R5bGVzKCdsb2FkaW5nSW5kaWNhdG9yJywgcHJvcHMpIH0sIHByb3BzLmlubmVyUHJvcHMpLFxuICAgIGpzeChTcGlubmVyLCB7IHNpemU6IFwic21hbGxcIiB9KSkpOyB9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kaWNhdG9ycy5qcy5tYXAiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/select/dist/esm/components/indicators.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/select/dist/esm/components/input-options.js": /*!****************************************************************************!*\ !*** ./node_modules/@atlaskit/select/dist/esm/components/input-options.js ***! \****************************************************************************/ /*! exports provided: CheckboxOption, RadioOption */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"CheckboxOption\", function() { return CheckboxOption; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"RadioOption\", function() { return RadioOption; });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/@atlaskit/select/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _emotion_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @emotion/core */ \"./node_modules/@emotion/core/dist/core.browser.esm.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _atlaskit_icon_glyph_radio__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @atlaskit/icon/glyph/radio */ \"./node_modules/@atlaskit/icon/glyph/radio.js\");\n/* harmony import */ var _atlaskit_icon_glyph_radio__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_atlaskit_icon_glyph_radio__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _atlaskit_icon_glyph_checkbox__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @atlaskit/icon/glyph/checkbox */ \"./node_modules/@atlaskit/icon/glyph/checkbox.js\");\n/* harmony import */ var _atlaskit_icon_glyph_checkbox__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_atlaskit_icon_glyph_checkbox__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _atlaskit_theme_components__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @atlaskit/theme/components */ \"./node_modules/@atlaskit/theme/dist/esm/components.js\");\n/* harmony import */ var _atlaskit_theme_constants__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @atlaskit/theme/constants */ \"./node_modules/@atlaskit/theme/dist/esm/constants.js\");\n/* harmony import */ var _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @atlaskit/theme/colors */ \"./node_modules/@atlaskit/theme/dist/esm/colors.js\");\n\n/** @jsx jsx */\n\n\n\n\n\n\n\nvar getPrimitiveStyles = function (props) {\n var cx = props.cx, className = props.className, getStyles = props.getStyles, isDisabled = props.isDisabled, isFocused = props.isFocused, isSelected = props.isSelected;\n var styles = {\n alignItems: 'center',\n backgroundColor: isFocused ? _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_7__[\"N30\"] : 'transparent',\n color: 'inherit',\n display: 'flex ',\n paddingBottom: 4,\n paddingLeft: Object(_atlaskit_theme_constants__WEBPACK_IMPORTED_MODULE_6__[\"gridSize\"])() * 2 + \"px\",\n paddingTop: 4,\n ':active': {\n backgroundColor: _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_7__[\"B50\"],\n },\n };\n var augmentedStyles = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, getStyles('option', props)), styles);\n var bemClasses = {\n option: true,\n 'option--is-disabled': isDisabled,\n 'option--is-focused': isFocused,\n 'option--is-selected': isSelected,\n };\n // maintain react-select API\n return [augmentedStyles, cx(null, bemClasses, className)];\n};\n// maintains function shape\nvar backgroundColor = Object(_atlaskit_theme_components__WEBPACK_IMPORTED_MODULE_5__[\"themed\"])({ light: _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_7__[\"N40A\"], dark: _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_7__[\"DN10\"] });\nvar transparent = Object(_atlaskit_theme_components__WEBPACK_IMPORTED_MODULE_5__[\"themed\"])({ light: 'transparent', dark: 'transparent' });\n// the primary color represents the outer or background element\nvar getPrimaryColor = function (_a) {\n var isActive = _a.isActive, isDisabled = _a.isDisabled, isFocused = _a.isFocused, isSelected = _a.isSelected, rest = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__rest\"])(_a, [\"isActive\", \"isDisabled\", \"isFocused\", \"isSelected\"]);\n var color = backgroundColor;\n if (isDisabled && isSelected) {\n color = Object(_atlaskit_theme_components__WEBPACK_IMPORTED_MODULE_5__[\"themed\"])({ light: _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_7__[\"B75\"], dark: _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_7__[\"DN200\"] });\n }\n else if (isDisabled) {\n color = Object(_atlaskit_theme_components__WEBPACK_IMPORTED_MODULE_5__[\"themed\"])({ light: _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_7__[\"N20A\"], dark: _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_7__[\"DN10\"] });\n }\n else if (isActive) {\n color = Object(_atlaskit_theme_components__WEBPACK_IMPORTED_MODULE_5__[\"themed\"])({ light: _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_7__[\"B75\"], dark: _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_7__[\"B200\"] });\n }\n else if (isFocused && isSelected) {\n color = Object(_atlaskit_theme_components__WEBPACK_IMPORTED_MODULE_5__[\"themed\"])({ light: _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_7__[\"B300\"], dark: _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_7__[\"B75\"] });\n }\n else if (isFocused) {\n color = Object(_atlaskit_theme_components__WEBPACK_IMPORTED_MODULE_5__[\"themed\"])({ light: _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_7__[\"N50A\"], dark: _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_7__[\"DN30\"] });\n }\n else if (isSelected) {\n color = _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_7__[\"blue\"];\n }\n return color(rest);\n};\n// the secondary color represents the radio dot or checkmark\nvar getSecondaryColor = function (_a) {\n var isActive = _a.isActive, isDisabled = _a.isDisabled, isSelected = _a.isSelected, rest = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__rest\"])(_a, [\"isActive\", \"isDisabled\", \"isSelected\"]);\n var color = Object(_atlaskit_theme_components__WEBPACK_IMPORTED_MODULE_5__[\"themed\"])({ light: _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_7__[\"N0\"], dark: _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_7__[\"DN10\"] });\n if (isDisabled && isSelected) {\n color = Object(_atlaskit_theme_components__WEBPACK_IMPORTED_MODULE_5__[\"themed\"])({ light: _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_7__[\"N70\"], dark: _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_7__[\"DN10\"] });\n }\n else if (isActive && isSelected && !isDisabled) {\n color = Object(_atlaskit_theme_components__WEBPACK_IMPORTED_MODULE_5__[\"themed\"])({ light: _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_7__[\"B400\"], dark: _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_7__[\"DN10\"] });\n }\n else if (!isSelected) {\n color = transparent;\n }\n return color(rest);\n};\nvar ControlOption = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(ControlOption, _super);\n function ControlOption() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.state = { isActive: false };\n _this.onMouseDown = function () { return _this.setState({ isActive: true }); };\n _this.onMouseUp = function () { return _this.setState({ isActive: false }); };\n _this.onMouseLeave = function () { return _this.setState({ isActive: false }); };\n return _this;\n }\n ControlOption.prototype.render = function () {\n var _a = this.props, getStyles = _a.getStyles, Icon = _a.Icon, children = _a.children, innerProps = _a.innerProps, innerRef = _a.innerRef, rest = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__rest\"])(_a, [\"getStyles\", \"Icon\", \"children\", \"innerProps\", \"innerRef\"]);\n // prop assignment\n var props = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, innerProps), { onMouseDown: this.onMouseDown, onMouseUp: this.onMouseUp, onMouseLeave: this.onMouseLeave });\n var _b = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__read\"])(getPrimitiveStyles(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({ getStyles: getStyles }, rest)), 2), styles = _b[0], classes = _b[1];\n return (Object(_emotion_core__WEBPACK_IMPORTED_MODULE_1__[\"jsx\"])(\"div\", Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({ css: styles, className: classes, ref: innerRef }, props),\n Object(_emotion_core__WEBPACK_IMPORTED_MODULE_1__[\"jsx\"])(\"div\", { css: {\n alignItems: 'center',\n display: 'flex ',\n flexShrink: 0,\n paddingRight: '4px',\n } }, !!Icon ? (Object(_emotion_core__WEBPACK_IMPORTED_MODULE_1__[\"jsx\"])(Icon, { label: \"\", primaryColor: getPrimaryColor(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, this.props), this.state)), secondaryColor: getSecondaryColor(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, this.props), this.state)) })) : null),\n Object(_emotion_core__WEBPACK_IMPORTED_MODULE_1__[\"jsx\"])(\"div\", { css: {\n textOverflow: 'ellipsis',\n overflowX: 'hidden',\n flexGrow: 1,\n whiteSpace: 'nowrap',\n } }, children)));\n };\n return ControlOption;\n}(react__WEBPACK_IMPORTED_MODULE_2__[\"Component\"]));\nvar CheckboxOption = function (props) { return (Object(_emotion_core__WEBPACK_IMPORTED_MODULE_1__[\"jsx\"])(ControlOption, Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({ Icon: _atlaskit_icon_glyph_checkbox__WEBPACK_IMPORTED_MODULE_4___default.a }, props))); };\nvar RadioOption = function (props) { return (Object(_emotion_core__WEBPACK_IMPORTED_MODULE_1__[\"jsx\"])(ControlOption, Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({ Icon: _atlaskit_icon_glyph_radio__WEBPACK_IMPORTED_MODULE_3___default.a }, props))); };\n//# sourceMappingURL=input-options.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L3NlbGVjdC9kaXN0L2VzbS9jb21wb25lbnRzL2lucHV0LW9wdGlvbnMuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L3NlbGVjdC9kaXN0L2VzbS9jb21wb25lbnRzL2lucHV0LW9wdGlvbnMuanM/ODZjMyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBfX2Fzc2lnbiwgX19leHRlbmRzLCBfX3JlYWQsIF9fcmVzdCB9IGZyb20gXCJ0c2xpYlwiO1xuLyoqIEBqc3gganN4ICovXG5pbXBvcnQgeyBqc3ggfSBmcm9tICdAZW1vdGlvbi9jb3JlJztcbmltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBSYWRpb0ljb24gZnJvbSAnQGF0bGFza2l0L2ljb24vZ2x5cGgvcmFkaW8nO1xuaW1wb3J0IENoZWNrYm94SWNvbiBmcm9tICdAYXRsYXNraXQvaWNvbi9nbHlwaC9jaGVja2JveCc7XG5pbXBvcnQgeyB0aGVtZWQgfSBmcm9tICdAYXRsYXNraXQvdGhlbWUvY29tcG9uZW50cyc7XG5pbXBvcnQgeyBncmlkU2l6ZSB9IGZyb20gJ0BhdGxhc2tpdC90aGVtZS9jb25zdGFudHMnO1xuaW1wb3J0ICogYXMgY29sb3JzIGZyb20gJ0BhdGxhc2tpdC90aGVtZS9jb2xvcnMnO1xudmFyIGdldFByaW1pdGl2ZVN0eWxlcyA9IGZ1bmN0aW9uIChwcm9wcykge1xuICAgIHZhciBjeCA9IHByb3BzLmN4LCBjbGFzc05hbWUgPSBwcm9wcy5jbGFzc05hbWUsIGdldFN0eWxlcyA9IHByb3BzLmdldFN0eWxlcywgaXNEaXNhYmxlZCA9IHByb3BzLmlzRGlzYWJsZWQsIGlzRm9jdXNlZCA9IHByb3BzLmlzRm9jdXNlZCwgaXNTZWxlY3RlZCA9IHByb3BzLmlzU2VsZWN0ZWQ7XG4gICAgdmFyIHN0eWxlcyA9IHtcbiAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgICAgIGJhY2tncm91bmRDb2xvcjogaXNGb2N1c2VkID8gY29sb3JzLk4zMCA6ICd0cmFuc3BhcmVudCcsXG4gICAgICAgIGNvbG9yOiAnaW5oZXJpdCcsXG4gICAgICAgIGRpc3BsYXk6ICdmbGV4ICcsXG4gICAgICAgIHBhZGRpbmdCb3R0b206IDQsXG4gICAgICAgIHBhZGRpbmdMZWZ0OiBncmlkU2l6ZSgpICogMiArIFwicHhcIixcbiAgICAgICAgcGFkZGluZ1RvcDogNCxcbiAgICAgICAgJzphY3RpdmUnOiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IGNvbG9ycy5CNTAsXG4gICAgICAgIH0sXG4gICAgfTtcbiAgICB2YXIgYXVnbWVudGVkU3R5bGVzID0gX19hc3NpZ24oX19hc3NpZ24oe30sIGdldFN0eWxlcygnb3B0aW9uJywgcHJvcHMpKSwgc3R5bGVzKTtcbiAgICB2YXIgYmVtQ2xhc3NlcyA9IHtcbiAgICAgICAgb3B0aW9uOiB0cnVlLFxuICAgICAgICAnb3B0aW9uLS1pcy1kaXNhYmxlZCc6IGlzRGlzYWJsZWQsXG4gICAgICAgICdvcHRpb24tLWlzLWZvY3VzZWQnOiBpc0ZvY3VzZWQsXG4gICAgICAgICdvcHRpb24tLWlzLXNlbGVjdGVkJzogaXNTZWxlY3RlZCxcbiAgICB9O1xuICAgIC8vIG1haW50YWluIHJlYWN0LXNlbGVjdCBBUElcbiAgICByZXR1cm4gW2F1Z21lbnRlZFN0eWxlcywgY3gobnVsbCwgYmVtQ2xhc3NlcywgY2xhc3NOYW1lKV07XG59O1xuLy8gbWFpbnRhaW5zIGZ1bmN0aW9uIHNoYXBlXG52YXIgYmFja2dyb3VuZENvbG9yID0gdGhlbWVkKHsgbGlnaHQ6IGNvbG9ycy5ONDBBLCBkYXJrOiBjb2xvcnMuRE4xMCB9KTtcbnZhciB0cmFuc3BhcmVudCA9IHRoZW1lZCh7IGxpZ2h0OiAndHJhbnNwYXJlbnQnLCBkYXJrOiAndHJhbnNwYXJlbnQnIH0pO1xuLy8gdGhlIHByaW1hcnkgY29sb3IgcmVwcmVzZW50cyB0aGUgb3V0ZXIgb3IgYmFja2dyb3VuZCBlbGVtZW50XG52YXIgZ2V0UHJpbWFyeUNvbG9yID0gZnVuY3Rpb24gKF9hKSB7XG4gICAgdmFyIGlzQWN0aXZlID0gX2EuaXNBY3RpdmUsIGlzRGlzYWJsZWQgPSBfYS5pc0Rpc2FibGVkLCBpc0ZvY3VzZWQgPSBfYS5pc0ZvY3VzZWQsIGlzU2VsZWN0ZWQgPSBfYS5pc1NlbGVjdGVkLCByZXN0ID0gX19yZXN0KF9hLCBbXCJpc0FjdGl2ZVwiLCBcImlzRGlzYWJsZWRcIiwgXCJpc0ZvY3VzZWRcIiwgXCJpc1NlbGVjdGVkXCJdKTtcbiAgICB2YXIgY29sb3IgPSBiYWNrZ3JvdW5kQ29sb3I7XG4gICAgaWYgKGlzRGlzYWJsZWQgJiYgaXNTZWxlY3RlZCkge1xuICAgICAgICBjb2xvciA9IHRoZW1lZCh7IGxpZ2h0OiBjb2xvcnMuQjc1LCBkYXJrOiBjb2xvcnMuRE4yMDAgfSk7XG4gICAgfVxuICAgIGVsc2UgaWYgKGlzRGlzYWJsZWQpIHtcbiAgICAgICAgY29sb3IgPSB0aGVtZWQoeyBsaWdodDogY29sb3JzLk4yMEEsIGRhcms6IGNvbG9ycy5ETjEwIH0pO1xuICAgIH1cbiAgICBlbHNlIGlmIChpc0FjdGl2ZSkge1xuICAgICAgICBjb2xvciA9IHRoZW1lZCh7IGxpZ2h0OiBjb2xvcnMuQjc1LCBkYXJrOiBjb2xvcnMuQjIwMCB9KTtcbiAgICB9XG4gICAgZWxzZSBpZiAoaXNGb2N1c2VkICYmIGlzU2VsZWN0ZWQpIHtcbiAgICAgICAgY29sb3IgPSB0aGVtZWQoeyBsaWdodDogY29sb3JzLkIzMDAsIGRhcms6IGNvbG9ycy5CNzUgfSk7XG4gICAgfVxuICAgIGVsc2UgaWYgKGlzRm9jdXNlZCkge1xuICAgICAgICBjb2xvciA9IHRoZW1lZCh7IGxpZ2h0OiBjb2xvcnMuTjUwQSwgZGFyazogY29sb3JzLkROMzAgfSk7XG4gICAgfVxuICAgIGVsc2UgaWYgKGlzU2VsZWN0ZWQpIHtcbiAgICAgICAgY29sb3IgPSBjb2xvcnMuYmx1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGNvbG9yKHJlc3QpO1xufTtcbi8vIHRoZSBzZWNvbmRhcnkgY29sb3IgcmVwcmVzZW50cyB0aGUgcmFkaW8gZG90IG9yIGNoZWNrbWFya1xudmFyIGdldFNlY29uZGFyeUNvbG9yID0gZnVuY3Rpb24gKF9hKSB7XG4gICAgdmFyIGlzQWN0aXZlID0gX2EuaXNBY3RpdmUsIGlzRGlzYWJsZWQgPSBfYS5pc0Rpc2FibGVkLCBpc1NlbGVjdGVkID0gX2EuaXNTZWxlY3RlZCwgcmVzdCA9IF9fcmVzdChfYSwgW1wiaXNBY3RpdmVcIiwgXCJpc0Rpc2FibGVkXCIsIFwiaXNTZWxlY3RlZFwiXSk7XG4gICAgdmFyIGNvbG9yID0gdGhlbWVkKHsgbGlnaHQ6IGNvbG9ycy5OMCwgZGFyazogY29sb3JzLkROMTAgfSk7XG4gICAgaWYgKGlzRGlzYWJsZWQgJiYgaXNTZWxlY3RlZCkge1xuICAgICAgICBjb2xvciA9IHRoZW1lZCh7IGxpZ2h0OiBjb2xvcnMuTjcwLCBkYXJrOiBjb2xvcnMuRE4xMCB9KTtcbiAgICB9XG4gICAgZWxzZSBpZiAoaXNBY3RpdmUgJiYgaXNTZWxlY3RlZCAmJiAhaXNEaXNhYmxlZCkge1xuICAgICAgICBjb2xvciA9IHRoZW1lZCh7IGxpZ2h0OiBjb2xvcnMuQjQwMCwgZGFyazogY29sb3JzLkROMTAgfSk7XG4gICAgfVxuICAgIGVsc2UgaWYgKCFpc1NlbGVjdGVkKSB7XG4gICAgICAgIGNvbG9yID0gdHJhbnNwYXJlbnQ7XG4gICAgfVxuICAgIHJldHVybiBjb2xvcihyZXN0KTtcbn07XG52YXIgQ29udHJvbE9wdGlvbiA9IC8qKiBAY2xhc3MgKi8gKGZ1bmN0aW9uIChfc3VwZXIpIHtcbiAgICBfX2V4dGVuZHMoQ29udHJvbE9wdGlvbiwgX3N1cGVyKTtcbiAgICBmdW5jdGlvbiBDb250cm9sT3B0aW9uKCkge1xuICAgICAgICB2YXIgX3RoaXMgPSBfc3VwZXIgIT09IG51bGwgJiYgX3N1cGVyLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykgfHwgdGhpcztcbiAgICAgICAgX3RoaXMuc3RhdGUgPSB7IGlzQWN0aXZlOiBmYWxzZSB9O1xuICAgICAgICBfdGhpcy5vbk1vdXNlRG93biA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIF90aGlzLnNldFN0YXRlKHsgaXNBY3RpdmU6IHRydWUgfSk7IH07XG4gICAgICAgIF90aGlzLm9uTW91c2VVcCA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIF90aGlzLnNldFN0YXRlKHsgaXNBY3RpdmU6IGZhbHNlIH0pOyB9O1xuICAgICAgICBfdGhpcy5vbk1vdXNlTGVhdmUgPSBmdW5jdGlvbiAoKSB7IHJldHVybiBfdGhpcy5zZXRTdGF0ZSh7IGlzQWN0aXZlOiBmYWxzZSB9KTsgfTtcbiAgICAgICAgcmV0dXJuIF90aGlzO1xuICAgIH1cbiAgICBDb250cm9sT3B0aW9uLnByb3RvdHlwZS5yZW5kZXIgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBfYSA9IHRoaXMucHJvcHMsIGdldFN0eWxlcyA9IF9hLmdldFN0eWxlcywgSWNvbiA9IF9hLkljb24sIGNoaWxkcmVuID0gX2EuY2hpbGRyZW4sIGlubmVyUHJvcHMgPSBfYS5pbm5lclByb3BzLCBpbm5lclJlZiA9IF9hLmlubmVyUmVmLCByZXN0ID0gX19yZXN0KF9hLCBbXCJnZXRTdHlsZXNcIiwgXCJJY29uXCIsIFwiY2hpbGRyZW5cIiwgXCJpbm5lclByb3BzXCIsIFwiaW5uZXJSZWZcIl0pO1xuICAgICAgICAvLyBwcm9wIGFzc2lnbm1lbnRcbiAgICAgICAgdmFyIHByb3BzID0gX19hc3NpZ24oX19hc3NpZ24oe30sIGlubmVyUHJvcHMpLCB7IG9uTW91c2VEb3duOiB0aGlzLm9uTW91c2VEb3duLCBvbk1vdXNlVXA6IHRoaXMub25Nb3VzZVVwLCBvbk1vdXNlTGVhdmU6IHRoaXMub25Nb3VzZUxlYXZlIH0pO1xuICAgICAgICB2YXIgX2IgPSBfX3JlYWQoZ2V0UHJpbWl0aXZlU3R5bGVzKF9fYXNzaWduKHsgZ2V0U3R5bGVzOiBnZXRTdHlsZXMgfSwgcmVzdCkpLCAyKSwgc3R5bGVzID0gX2JbMF0sIGNsYXNzZXMgPSBfYlsxXTtcbiAgICAgICAgcmV0dXJuIChqc3goXCJkaXZcIiwgX19hc3NpZ24oeyBjc3M6IHN0eWxlcywgY2xhc3NOYW1lOiBjbGFzc2VzLCByZWY6IGlubmVyUmVmIH0sIHByb3BzKSxcbiAgICAgICAgICAgIGpzeChcImRpdlwiLCB7IGNzczoge1xuICAgICAgICAgICAgICAgICAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogJ2ZsZXggJyxcbiAgICAgICAgICAgICAgICAgICAgZmxleFNocmluazogMCxcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZ1JpZ2h0OiAnNHB4JyxcbiAgICAgICAgICAgICAgICB9IH0sICEhSWNvbiA/IChqc3goSWNvbiwgeyBsYWJlbDogXCJcIiwgcHJpbWFyeUNvbG9yOiBnZXRQcmltYXJ5Q29sb3IoX19hc3NpZ24oX19hc3NpZ24oe30sIHRoaXMucHJvcHMpLCB0aGlzLnN0YXRlKSksIHNlY29uZGFyeUNvbG9yOiBnZXRTZWNvbmRhcnlDb2xvcihfX2Fzc2lnbihfX2Fzc2lnbih7fSwgdGhpcy5wcm9wcyksIHRoaXMuc3RhdGUpKSB9KSkgOiBudWxsKSxcbiAgICAgICAgICAgIGpzeChcImRpdlwiLCB7IGNzczoge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0T3ZlcmZsb3c6ICdlbGxpcHNpcycsXG4gICAgICAgICAgICAgICAgICAgIG92ZXJmbG93WDogJ2hpZGRlbicsXG4gICAgICAgICAgICAgICAgICAgIGZsZXhHcm93OiAxLFxuICAgICAgICAgICAgICAgICAgICB3aGl0ZVNwYWNlOiAnbm93cmFwJyxcbiAgICAgICAgICAgICAgICB9IH0sIGNoaWxkcmVuKSkpO1xuICAgIH07XG4gICAgcmV0dXJuIENvbnRyb2xPcHRpb247XG59KENvbXBvbmVudCkpO1xuZXhwb3J0IHZhciBDaGVja2JveE9wdGlvbiA9IGZ1bmN0aW9uIChwcm9wcykgeyByZXR1cm4gKGpzeChDb250cm9sT3B0aW9uLCBfX2Fzc2lnbih7IEljb246IENoZWNrYm94SWNvbiB9LCBwcm9wcykpKTsgfTtcbmV4cG9ydCB2YXIgUmFkaW9PcHRpb24gPSBmdW5jdGlvbiAocHJvcHMpIHsgcmV0dXJuIChqc3goQ29udHJvbE9wdGlvbiwgX19hc3NpZ24oeyBJY29uOiBSYWRpb0ljb24gfSwgcHJvcHMpKSk7IH07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbnB1dC1vcHRpb25zLmpzLm1hcCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/select/dist/esm/components/input-options.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/select/dist/esm/createSelect.js": /*!****************************************************************!*\ !*** ./node_modules/@atlaskit/select/dist/esm/createSelect.js ***! \****************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return createSelect; });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/@atlaskit/select/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react_select__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-select */ \"./node_modules/react-select/dist/react-select.browser.esm.js\");\n/* harmony import */ var react_select_animated__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react-select/animated */ \"./node_modules/react-select/animated/dist/react-select.browser.esm.js\");\n/* harmony import */ var memoize_one__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! memoize-one */ \"./node_modules/memoize-one/dist/memoize-one.esm.js\");\n/* harmony import */ var react_fast_compare__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react-fast-compare */ \"./node_modules/react-fast-compare/index.js\");\n/* harmony import */ var react_fast_compare__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(react_fast_compare__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _components__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./components */ \"./node_modules/@atlaskit/select/dist/esm/components/index.js\");\n/* harmony import */ var _styles__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./styles */ \"./node_modules/@atlaskit/select/dist/esm/styles.js\");\n\n\n\n\n\n\n\n\nfunction createSelect(WrappedComponent) {\n var _a;\n return _a = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(AtlaskitSelect, _super);\n function AtlaskitSelect(props) {\n var _this = _super.call(this, props) || this;\n _this.components = {};\n _this.select = null;\n _this.cacheComponents = function (components, enableAnimation) {\n _this.components = enableAnimation\n ? Object(react_select_animated__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, _components__WEBPACK_IMPORTED_MODULE_6__), components))\n : Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, _components__WEBPACK_IMPORTED_MODULE_6__), components);\n };\n _this.onSelectRef = function (ref) {\n _this.select = ref;\n var innerRef = _this.props.innerRef;\n if (typeof innerRef === 'object') {\n innerRef.current = ref;\n }\n if (typeof innerRef === 'function') {\n innerRef(ref);\n }\n };\n _this.cacheComponents = Object(memoize_one__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(_this.cacheComponents, react_fast_compare__WEBPACK_IMPORTED_MODULE_5___default.a).bind(_this);\n _this.cacheComponents(props.components || {}, props.enableAnimation);\n return _this;\n }\n AtlaskitSelect.prototype.UNSAFE_componentWillReceiveProps = function (nextProps) {\n this.cacheComponents(nextProps.components, nextProps.enableAnimation);\n };\n AtlaskitSelect.prototype.focus = function () {\n if (this.select)\n this.select.focus();\n };\n AtlaskitSelect.prototype.blur = function () {\n if (this.select)\n this.select.blur();\n };\n AtlaskitSelect.prototype.render = function () {\n var _a = this.props, styles = _a.styles, validationState = _a.validationState, spacing = _a.spacing, isMulti = _a.isMulti, props = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__rest\"])(_a, [\"styles\", \"validationState\", \"spacing\", \"isMulti\"]);\n var isCompact = spacing === 'compact';\n // props must be spread first to stop `components` being overridden\n return (react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(WrappedComponent, Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({ ref: this.onSelectRef, isMulti: isMulti }, props, { components: this.components, styles: Object(react_select__WEBPACK_IMPORTED_MODULE_2__[\"mergeStyles\"])(Object(_styles__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(validationState, isCompact), styles) })));\n };\n return AtlaskitSelect;\n }(react__WEBPACK_IMPORTED_MODULE_1__[\"Component\"])),\n _a.defaultProps = {\n enableAnimation: true,\n validationState: 'default',\n spacing: 'default',\n onClickPreventDefault: true,\n tabSelectsValue: false,\n components: {},\n styles: {},\n },\n _a;\n}\n//# sourceMappingURL=createSelect.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L3NlbGVjdC9kaXN0L2VzbS9jcmVhdGVTZWxlY3QuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L3NlbGVjdC9kaXN0L2VzbS9jcmVhdGVTZWxlY3QuanM/NDlhOSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBfX2Fzc2lnbiwgX19leHRlbmRzLCBfX3Jlc3QgfSBmcm9tIFwidHNsaWJcIjtcbmltcG9ydCBSZWFjdCwgeyBDb21wb25lbnQgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBtZXJnZVN0eWxlcyB9IGZyb20gJ3JlYWN0LXNlbGVjdCc7XG5pbXBvcnQgbWFrZUFuaW1hdGVkIGZyb20gJ3JlYWN0LXNlbGVjdC9hbmltYXRlZCc7XG5pbXBvcnQgbWVtb2l6ZU9uZSBmcm9tICdtZW1vaXplLW9uZSc7XG5pbXBvcnQgaXNFcXVhbCBmcm9tICdyZWFjdC1mYXN0LWNvbXBhcmUnO1xuaW1wb3J0ICogYXMgZGVmYXVsdENvbXBvbmVudHMgZnJvbSAnLi9jb21wb25lbnRzJztcbmltcG9ydCBiYXNlU3R5bGVzIGZyb20gJy4vc3R5bGVzJztcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGNyZWF0ZVNlbGVjdChXcmFwcGVkQ29tcG9uZW50KSB7XG4gICAgdmFyIF9hO1xuICAgIHJldHVybiBfYSA9IC8qKiBAY2xhc3MgKi8gKGZ1bmN0aW9uIChfc3VwZXIpIHtcbiAgICAgICAgICAgIF9fZXh0ZW5kcyhBdGxhc2tpdFNlbGVjdCwgX3N1cGVyKTtcbiAgICAgICAgICAgIGZ1bmN0aW9uIEF0bGFza2l0U2VsZWN0KHByb3BzKSB7XG4gICAgICAgICAgICAgICAgdmFyIF90aGlzID0gX3N1cGVyLmNhbGwodGhpcywgcHJvcHMpIHx8IHRoaXM7XG4gICAgICAgICAgICAgICAgX3RoaXMuY29tcG9uZW50cyA9IHt9O1xuICAgICAgICAgICAgICAgIF90aGlzLnNlbGVjdCA9IG51bGw7XG4gICAgICAgICAgICAgICAgX3RoaXMuY2FjaGVDb21wb25lbnRzID0gZnVuY3Rpb24gKGNvbXBvbmVudHMsIGVuYWJsZUFuaW1hdGlvbikge1xuICAgICAgICAgICAgICAgICAgICBfdGhpcy5jb21wb25lbnRzID0gZW5hYmxlQW5pbWF0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICA/IG1ha2VBbmltYXRlZChfX2Fzc2lnbihfX2Fzc2lnbih7fSwgZGVmYXVsdENvbXBvbmVudHMpLCBjb21wb25lbnRzKSlcbiAgICAgICAgICAgICAgICAgICAgICAgIDogX19hc3NpZ24oX19hc3NpZ24oe30sIGRlZmF1bHRDb21wb25lbnRzKSwgY29tcG9uZW50cyk7XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBfdGhpcy5vblNlbGVjdFJlZiA9IGZ1bmN0aW9uIChyZWYpIHtcbiAgICAgICAgICAgICAgICAgICAgX3RoaXMuc2VsZWN0ID0gcmVmO1xuICAgICAgICAgICAgICAgICAgICB2YXIgaW5uZXJSZWYgPSBfdGhpcy5wcm9wcy5pbm5lclJlZjtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBpbm5lclJlZiA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlubmVyUmVmLmN1cnJlbnQgPSByZWY7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBpbm5lclJlZiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgaW5uZXJSZWYocmVmKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgX3RoaXMuY2FjaGVDb21wb25lbnRzID0gbWVtb2l6ZU9uZShfdGhpcy5jYWNoZUNvbXBvbmVudHMsIGlzRXF1YWwpLmJpbmQoX3RoaXMpO1xuICAgICAgICAgICAgICAgIF90aGlzLmNhY2hlQ29tcG9uZW50cyhwcm9wcy5jb21wb25lbnRzIHx8IHt9LCBwcm9wcy5lbmFibGVBbmltYXRpb24pO1xuICAgICAgICAgICAgICAgIHJldHVybiBfdGhpcztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEF0bGFza2l0U2VsZWN0LnByb3RvdHlwZS5VTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyA9IGZ1bmN0aW9uIChuZXh0UHJvcHMpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNhY2hlQ29tcG9uZW50cyhuZXh0UHJvcHMuY29tcG9uZW50cywgbmV4dFByb3BzLmVuYWJsZUFuaW1hdGlvbik7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgQXRsYXNraXRTZWxlY3QucHJvdG90eXBlLmZvY3VzID0gZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLnNlbGVjdClcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3QuZm9jdXMoKTtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBBdGxhc2tpdFNlbGVjdC5wcm90b3R5cGUuYmx1ciA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5zZWxlY3QpXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0LmJsdXIoKTtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBBdGxhc2tpdFNlbGVjdC5wcm90b3R5cGUucmVuZGVyID0gZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgIHZhciBfYSA9IHRoaXMucHJvcHMsIHN0eWxlcyA9IF9hLnN0eWxlcywgdmFsaWRhdGlvblN0YXRlID0gX2EudmFsaWRhdGlvblN0YXRlLCBzcGFjaW5nID0gX2Euc3BhY2luZywgaXNNdWx0aSA9IF9hLmlzTXVsdGksIHByb3BzID0gX19yZXN0KF9hLCBbXCJzdHlsZXNcIiwgXCJ2YWxpZGF0aW9uU3RhdGVcIiwgXCJzcGFjaW5nXCIsIFwiaXNNdWx0aVwiXSk7XG4gICAgICAgICAgICAgICAgdmFyIGlzQ29tcGFjdCA9IHNwYWNpbmcgPT09ICdjb21wYWN0JztcbiAgICAgICAgICAgICAgICAvLyBwcm9wcyBtdXN0IGJlIHNwcmVhZCBmaXJzdCB0byBzdG9wIGBjb21wb25lbnRzYCBiZWluZyBvdmVycmlkZGVuXG4gICAgICAgICAgICAgICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KFdyYXBwZWRDb21wb25lbnQsIF9fYXNzaWduKHsgcmVmOiB0aGlzLm9uU2VsZWN0UmVmLCBpc011bHRpOiBpc011bHRpIH0sIHByb3BzLCB7IGNvbXBvbmVudHM6IHRoaXMuY29tcG9uZW50cywgc3R5bGVzOiBtZXJnZVN0eWxlcyhiYXNlU3R5bGVzKHZhbGlkYXRpb25TdGF0ZSwgaXNDb21wYWN0KSwgc3R5bGVzKSB9KSkpO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHJldHVybiBBdGxhc2tpdFNlbGVjdDtcbiAgICAgICAgfShDb21wb25lbnQpKSxcbiAgICAgICAgX2EuZGVmYXVsdFByb3BzID0ge1xuICAgICAgICAgICAgZW5hYmxlQW5pbWF0aW9uOiB0cnVlLFxuICAgICAgICAgICAgdmFsaWRhdGlvblN0YXRlOiAnZGVmYXVsdCcsXG4gICAgICAgICAgICBzcGFjaW5nOiAnZGVmYXVsdCcsXG4gICAgICAgICAgICBvbkNsaWNrUHJldmVudERlZmF1bHQ6IHRydWUsXG4gICAgICAgICAgICB0YWJTZWxlY3RzVmFsdWU6IGZhbHNlLFxuICAgICAgICAgICAgY29tcG9uZW50czoge30sXG4gICAgICAgICAgICBzdHlsZXM6IHt9LFxuICAgICAgICB9LFxuICAgICAgICBfYTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWNyZWF0ZVNlbGVjdC5qcy5tYXAiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/select/dist/esm/createSelect.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/select/dist/esm/data/countries.js": /*!******************************************************************!*\ !*** ./node_modules/@atlaskit/select/dist/esm/data/countries.js ***! \******************************************************************/ /*! exports provided: allCountries, groupedCountries */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"allCountries\", function() { return allCountries; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"groupedCountries\", function() { return groupedCountries; });\nvar allCountries = [\n { icon: '🇦🇫', name: 'Afghanistan', abbr: 'AF', code: '93' },\n { icon: '🇦🇽', name: 'Alland Islands', abbr: 'AX', code: '358' },\n { icon: '🇦🇱', name: 'Albania', abbr: 'AL', code: '355' },\n { icon: '🇩🇿', name: 'Algeria', abbr: 'DZ', code: '213' },\n { icon: '🇦🇸', name: 'American Samoa', abbr: 'AS', code: '1-684' },\n { icon: '🇦🇩', name: 'Andorra', abbr: 'AD', code: '376' },\n { icon: '🇦🇴', name: 'Angola', abbr: 'AO', code: '244' },\n { icon: '🇦🇮', name: 'Anguilla', abbr: 'AI', code: '1-264' },\n { icon: '🇦🇶', name: 'Antarctica', abbr: 'AQ', code: '672' },\n { icon: '🇦🇬', name: 'Antigua and Barbuda', abbr: 'AG', code: '1-268' },\n { icon: '🇦🇷', name: 'Argentina', abbr: 'AR', code: '54' },\n { icon: '🇦🇲', name: 'Armenia', abbr: 'AM', code: '374' },\n { icon: '🇦🇼', name: 'Aruba', abbr: 'AW', code: '297' },\n { icon: '🇦🇺', name: 'Australia', abbr: 'AU', code: '61', suggested: true },\n { icon: '🇦🇹', name: 'Austria', abbr: 'AT', code: '43' },\n { icon: '🇦🇿', name: 'Azerbaijan', abbr: 'AZ', code: '994' },\n { icon: '🇧🇸', name: 'Bahamas', abbr: 'BS', code: '1-242' },\n { icon: '🇧🇭', name: 'Bahrain', abbr: 'BH', code: '973' },\n { icon: '🇧🇩', name: 'Bangladesh', abbr: 'BD', code: '880' },\n { icon: '🇧🇧', name: 'Barbados', abbr: 'BB', code: '1-246' },\n { icon: '🇧🇾', name: 'Belarus', abbr: 'BY', code: '375' },\n { icon: '🇧🇪', name: 'Belgium', abbr: 'BE', code: '32' },\n { icon: '🇧🇿', name: 'Belize', abbr: 'BZ', code: '501' },\n { icon: '🇧🇯', name: 'Benin', abbr: 'BJ', code: '229' },\n { icon: '🇧🇲', name: 'Bermuda', abbr: 'BM', code: '1-441' },\n { icon: '🇧🇹', name: 'Bhutan', abbr: 'BT', code: '975' },\n { icon: '🇧🇴', name: 'Bolivia', abbr: 'BO', code: '591' },\n { icon: '🇧🇦', name: 'Bosnia and Herzegovina', abbr: 'BA', code: '387' },\n { icon: '🇧🇼', name: 'Botswana', abbr: 'BW', code: '267' },\n { icon: '🇧🇻', name: 'Bouvet Island', abbr: 'BV', code: '47' },\n { icon: '🇧🇷', name: 'Brazil', abbr: 'BR', code: '55' },\n {\n icon: '🇮🇴',\n name: 'British Indian Ocean Territory',\n abbr: 'IO',\n code: '246',\n },\n { icon: '🇻🇬', name: 'British Virgin Islands', abbr: 'VG', code: '1-284' },\n { icon: '🇧🇳', name: 'Brunei Darussalam', abbr: 'BN', code: '673' },\n { icon: '🇧🇬', name: 'Bulgaria', abbr: 'BG', code: '359' },\n { icon: '🇧🇫', name: 'Burkina Faso', abbr: 'BF', code: '226' },\n { icon: '🇧🇮', name: 'Burundi', abbr: 'BI', code: '257' },\n { icon: '🇰🇭', name: 'Cambodia', abbr: 'KH', code: '855' },\n { icon: '🇨🇲', name: 'Cameroon', abbr: 'CM', code: '237' },\n { icon: '🇨🇦', name: 'Canada', abbr: 'CA', code: '1', suggested: true },\n { icon: '🇨🇻', name: 'Cape Verde', abbr: 'CV', code: '238' },\n { icon: '🇰🇾', name: 'Cayman Islands', abbr: 'KY', code: '1-345' },\n { icon: '🇨🇫', name: 'Central African Republic', abbr: 'CF', code: '236' },\n { icon: '🇹🇩', name: 'Chad', abbr: 'TD', code: '235' },\n { icon: '🇨🇱', name: 'Chile', abbr: 'CL', code: '56' },\n { icon: '🇨🇳', name: 'China', abbr: 'CN', code: '86' },\n { icon: '🇨🇽', name: 'Christmas Island', abbr: 'CX', code: '61' },\n { icon: '🇨🇨', name: 'Cocos (Keeling) Islands', abbr: 'CC', code: '61' },\n { icon: '🇨🇴', name: 'Colombia', abbr: 'CO', code: '57' },\n { icon: '🇰🇲', name: 'Comoros', abbr: 'KM', code: '269' },\n {\n icon: '🇨🇩',\n name: 'Congo, Democratic Republic of the',\n abbr: 'CG',\n code: '243',\n },\n {\n icon: '🇨🇬',\n name: 'Congo, Republic of the',\n abbr: 'CD',\n code: '242',\n },\n { icon: '🇨🇰', name: 'Cook Islands', abbr: 'CK', code: '682' },\n { icon: '🇨🇷', name: 'Costa Rica', abbr: 'CR', code: '506' },\n { icon: '🇨🇮', name: \"Cote d'Ivoire\", abbr: 'CI', code: '225' },\n { icon: '🇭🇷', name: 'Croatia', abbr: 'HR', code: '385' },\n { icon: '🇨🇺', name: 'Cuba', abbr: 'CU', code: '53' },\n { icon: '🇨🇼', name: 'Curacao', abbr: 'CW', code: '599' },\n { icon: '🇨🇾', name: 'Cyprus', abbr: 'CY', code: '357' },\n { icon: '🇨🇿', name: 'Czech Republic', abbr: 'CZ', code: '420' },\n { icon: '🇩🇰', name: 'Denmark', abbr: 'DK', code: '45' },\n { icon: '🇩🇯', name: 'Djibouti', abbr: 'DJ', code: '253' },\n { icon: '🇩🇲', name: 'Dominica', abbr: 'DM', code: '1-767' },\n { icon: '🇩🇴', name: 'Dominican Republic', abbr: 'DO', code: '1-809' },\n { icon: '🇪🇨', name: 'Ecuador', abbr: 'EC', code: '593' },\n { icon: '🇪🇬', name: 'Egypt', abbr: 'EG', code: '20' },\n { icon: '🇸🇻', name: 'El Salvador', abbr: 'SV', code: '503' },\n { icon: '🇬🇶', name: 'Equatorial Guinea', abbr: 'GQ', code: '240' },\n { icon: '🇪🇷', name: 'Eritrea', abbr: 'ER', code: '291' },\n { icon: '🇪🇪', name: 'Estonia', abbr: 'EE', code: '372' },\n { icon: '🇪🇹', name: 'Ethiopia', abbr: 'ET', code: '251' },\n { icon: '🇫🇰', name: 'Falkland Islands (Malvinas)', abbr: 'FK', code: '500' },\n { icon: '🇫🇴', name: 'Faroe Islands', abbr: 'FO', code: '298' },\n { icon: '🇫🇯', name: 'Fiji', abbr: 'FJ', code: '679' },\n { icon: '🇫🇮', name: 'Finland', abbr: 'FI', code: '358' },\n { icon: '🇫🇷', name: 'France', abbr: 'FR', code: '33', suggested: true },\n { icon: '🇬🇫', name: 'French Guiana', abbr: 'GF', code: '594' },\n { icon: '🇵🇫', name: 'French Polynesia', abbr: 'PF', code: '689' },\n { icon: '🇹🇫', name: 'French Southern Territories', abbr: 'TF', code: '262' },\n { icon: '🇬🇦', name: 'Gabon', abbr: 'GA', code: '241' },\n { icon: '🇬🇲', name: 'Gambia', abbr: 'GM', code: '220' },\n { icon: '🇬🇪', name: 'Georgia', abbr: 'GE', code: '995' },\n { icon: '🇩🇪', name: 'Germany', abbr: 'DE', code: '49', suggested: true },\n { icon: '🇬🇭', name: 'Ghana', abbr: 'GH', code: '233' },\n { icon: '🇬🇮', name: 'Gibraltar', abbr: 'GI', code: '350' },\n { icon: '🇬🇷', name: 'Greece', abbr: 'GR', code: '30' },\n { icon: '🇬🇱', name: 'Greenland', abbr: 'GL', code: '299' },\n { icon: '🇬🇩', name: 'Grenada', abbr: 'GD', code: '1-473' },\n { icon: '🇬🇵', name: 'Guadeloupe', abbr: 'GP', code: '590' },\n { icon: '🇬🇺', name: 'Guam', abbr: 'GU', code: '1-671' },\n { icon: '🇬🇹', name: 'Guatemala', abbr: 'GT', code: '502' },\n { icon: '🇬🇬', name: 'Guernsey', abbr: 'GG', code: '44' },\n { icon: '🇬🇼', name: 'Guinea-Bissau', abbr: 'GW', code: '245' },\n { icon: '🇬🇳', name: 'Guinea', abbr: 'GN', code: '224' },\n { icon: '🇬🇾', name: 'Guyana', abbr: 'GY', code: '592' },\n { icon: '🇭🇹', name: 'Haiti', abbr: 'HT', code: '509' },\n {\n icon: '🇭🇲',\n name: 'Heard Island and McDonald Islands',\n abbr: 'HM',\n code: '672',\n },\n {\n icon: '🇻🇦',\n name: 'Holy See (Vatican City State)',\n abbr: 'VA',\n code: '379',\n },\n { icon: '🇭🇳', name: 'Honduras', abbr: 'HN', code: '504' },\n { icon: '🇭🇰', name: 'Hong Kong', abbr: 'HK', code: '852' },\n { icon: '🇭🇺', name: 'Hungary', abbr: 'HU', code: '36' },\n { icon: '🇮🇸', name: 'Iceland', abbr: 'IS', code: '354' },\n { icon: '🇮🇳', name: 'India', abbr: 'IN', code: '91' },\n { icon: '🇮🇩', name: 'Indonesia', abbr: 'ID', code: '62' },\n { icon: '🇮🇷', name: 'Iran, Islamic Republic of', abbr: 'IR', code: '98' },\n { icon: '🇮🇶', name: 'Iraq', abbr: 'IQ', code: '964' },\n { icon: '🇮🇪', name: 'Ireland', abbr: 'IE', code: '353' },\n { icon: '🇮🇲', name: 'Isle of Man', abbr: 'IM', code: '44' },\n { icon: '🇮🇱', name: 'Israel', abbr: 'IL', code: '972' },\n { icon: '🇮🇹', name: 'Italy', abbr: 'IT', code: '39' },\n { icon: '🇯🇲', name: 'Jamaica', abbr: 'JM', code: '1-876' },\n { icon: '🇯🇵', name: 'Japan', abbr: 'JP', code: '81', suggested: true },\n { icon: '🇯🇪', name: 'Jersey', abbr: 'JE', code: '44' },\n { icon: '🇯🇴', name: 'Jordan', abbr: 'JO', code: '962' },\n { icon: '🇰🇿', name: 'Kazakhstan', abbr: 'KZ', code: '7' },\n { icon: '🇰🇪', name: 'Kenya', abbr: 'KE', code: '254' },\n { icon: '🇰🇮', name: 'Kiribati', abbr: 'KI', code: '686' },\n {\n icon: '🇰🇵',\n name: \"Korea, Democratic People's Republic of\",\n abbr: 'KP',\n code: '850',\n },\n { icon: '🇰🇷', name: 'Korea, Republic of', abbr: 'KR', code: '82' },\n { icon: '🇽🇰', name: 'Kosovo', abbr: 'XK', code: '383' },\n { icon: '🇰🇼', name: 'Kuwait', abbr: 'KW', code: '965' },\n { icon: '🇰🇬', name: 'Kyrgyzstan', abbr: 'KG', code: '996' },\n {\n icon: '🇱🇦',\n name: \"Lao People's Democratic Republic\",\n abbr: 'LA',\n code: '856',\n },\n { icon: '🇱🇻', name: 'Latvia', abbr: 'LV', code: '371' },\n { icon: '🇱🇧', name: 'Lebanon', abbr: 'LB', code: '961' },\n { icon: '🇱🇸', name: 'Lesotho', abbr: 'LS', code: '266' },\n { icon: '🇱🇷', name: 'Liberia', abbr: 'LR', code: '231' },\n { icon: '🇱🇾', name: 'Libya', abbr: 'LY', code: '218' },\n { icon: '🇱🇮', name: 'Liechtenstein', abbr: 'LI', code: '423' },\n { icon: '🇱🇹', name: 'Lithuania', abbr: 'LT', code: '370' },\n { icon: '🇱🇺', name: 'Luxembourg', abbr: 'LU', code: '352' },\n { icon: '🇲🇴', name: 'Macao', abbr: 'MO', code: '853' },\n {\n icon: '🇲🇰',\n name: 'Macedonia, the Former Yugoslav Republic of',\n abbr: 'MK',\n code: '389',\n },\n { icon: '🇲🇬', name: 'Madagascar', abbr: 'MG', code: '261' },\n { icon: '🇲🇼', name: 'Malawi', abbr: 'MW', code: '265' },\n { icon: '🇲🇾', name: 'Malaysia', abbr: 'MY', code: '60' },\n { icon: '🇲🇻', name: 'Maldives', abbr: 'MV', code: '960' },\n { icon: '🇲🇱', name: 'Mali', abbr: 'ML', code: '223' },\n { icon: '🇲🇹', name: 'Malta', abbr: 'MT', code: '356' },\n { icon: '🇲🇭', name: 'Marshall Islands', abbr: 'MH', code: '692' },\n { icon: '🇲🇶', name: 'Martinique', abbr: 'MQ', code: '596' },\n { icon: '🇲🇷', name: 'Mauritania', abbr: 'MR', code: '222' },\n { icon: '🇲🇺', name: 'Mauritius', abbr: 'MU', code: '230' },\n { icon: '🇾🇹', name: 'Mayotte', abbr: 'YT', code: '262' },\n { icon: '🇲🇽', name: 'Mexico', abbr: 'MX', code: '52' },\n {\n icon: '🇫🇲',\n name: 'Micronesia, Federated States of',\n abbr: 'FM',\n code: '691',\n },\n { icon: '🇲🇩', name: 'Moldova, Republic of', abbr: 'MD', code: '373' },\n { icon: '🇲🇨', name: 'Monaco', abbr: 'MC', code: '377' },\n { icon: '🇲🇳', name: 'Mongolia', abbr: 'MN', code: '976' },\n { icon: '🇲🇪', name: 'Montenegro', abbr: 'ME', code: '382' },\n { icon: '🇲🇸', name: 'Montserrat', abbr: 'MS', code: '1-664' },\n { icon: '🇲🇦', name: 'Morocco', abbr: 'MA', code: '212' },\n { icon: '🇲🇿', name: 'Mozambique', abbr: 'MZ', code: '258' },\n { icon: '🇲🇲', name: 'Myanmar', abbr: 'MM', code: '95' },\n { icon: '🇳🇦', name: 'Namibia', abbr: 'NA', code: '264' },\n { icon: '🇳🇷', name: 'Nauru', abbr: 'NR', code: '674' },\n { icon: '🇳🇵', name: 'Nepal', abbr: 'NP', code: '977' },\n { icon: '🇳🇱', name: 'Netherlands', abbr: 'NL', code: '31' },\n { icon: '🇳🇨', name: 'New Caledonia', abbr: 'NC', code: '687' },\n { icon: '🇳🇿', name: 'New Zealand', abbr: 'NZ', code: '64' },\n { icon: '🇳🇮', name: 'Nicaragua', abbr: 'NI', code: '505' },\n { icon: '🇳🇪', name: 'Niger', abbr: 'NE', code: '227' },\n { icon: '🇳🇬', name: 'Nigeria', abbr: 'NG', code: '234' },\n { icon: '🇳🇺', name: 'Niue', abbr: 'NU', code: '683' },\n { icon: '🇳🇫', name: 'Norfolk Island', abbr: 'NF', code: '672' },\n { icon: '🇲🇵', name: 'Northern Mariana Islands', abbr: 'MP', code: '1-670' },\n { icon: '🇳🇴', name: 'Norway', abbr: 'NO', code: '47' },\n { icon: '🇴🇲', name: 'Oman', abbr: 'OM', code: '968' },\n { icon: '🇵🇰', name: 'Pakistan', abbr: 'PK', code: '92' },\n { icon: '🇵🇼', name: 'Palau', abbr: 'PW', code: '680' },\n { icon: '🇵🇸', name: 'Palestine, State of', abbr: 'PS', code: '970' },\n { icon: '🇵🇦', name: 'Panama', abbr: 'PA', code: '507' },\n { icon: '🇵🇬', name: 'Papua New Guinea', abbr: 'PG', code: '675' },\n { icon: '🇵🇾', name: 'Paraguay', abbr: 'PY', code: '595' },\n { icon: '🇵🇪', name: 'Peru', abbr: 'PE', code: '51' },\n { icon: '🇵🇭', name: 'Philippines', abbr: 'PH', code: '63' },\n { icon: '🇵🇳', name: 'Pitcairn', abbr: 'PN', code: '870' },\n { icon: '🇵🇱', name: 'Poland', abbr: 'PL', code: '48' },\n { icon: '🇵🇹', name: 'Portugal', abbr: 'PT', code: '351' },\n { icon: '🇵🇷', name: 'Puerto Rico', abbr: 'PR', code: '1' },\n { icon: '🇶🇦', name: 'Qatar', abbr: 'QA', code: '974' },\n { icon: '🇷🇪', name: 'Reunion', abbr: 'RE', code: '262' },\n { icon: '🇷🇴', name: 'Romania', abbr: 'RO', code: '40' },\n { icon: '🇷🇺', name: 'Russian Federation', abbr: 'RU', code: '7' },\n { icon: '🇷🇼', name: 'Rwanda', abbr: 'RW', code: '250' },\n { icon: '🇧🇱', name: 'Saint Barthelemy', abbr: 'BL', code: '590' },\n { icon: '🇸🇭', name: 'Saint Helena', abbr: 'SH', code: '290' },\n { icon: '🇰🇳', name: 'Saint Kitts and Nevis', abbr: 'KN', code: '1-869' },\n { icon: '🇱🇨', name: 'Saint Lucia', abbr: 'LC', code: '1-758' },\n { icon: '🇲🇫', name: 'Saint Martin (French part)', abbr: 'MF', code: '590' },\n { icon: '🇵🇲', name: 'Saint Pierre and Miquelon', abbr: 'PM', code: '508' },\n {\n icon: '🇻🇨',\n name: 'Saint Vincent and the Grenadines',\n abbr: 'VC',\n code: '1-784',\n },\n { icon: '🇼🇸', name: 'Samoa', abbr: 'WS', code: '685' },\n { icon: '🇸🇲', name: 'San Marino', abbr: 'SM', code: '378' },\n { icon: '🇸🇹', name: 'Sao Tome and Principe', abbr: 'ST', code: '239' },\n { icon: '🇸🇦', name: 'Saudi Arabia', abbr: 'SA', code: '966' },\n { icon: '🇸🇳', name: 'Senegal', abbr: 'SN', code: '221' },\n { icon: '🇷🇸', name: 'Serbia', abbr: 'RS', code: '381' },\n { icon: '🇸🇨', name: 'Seychelles', abbr: 'SC', code: '248' },\n { icon: '🇸🇱', name: 'Sierra Leone', abbr: 'SL', code: '232' },\n { icon: '🇸🇬', name: 'Singapore', abbr: 'SG', code: '65' },\n { icon: '🇸🇽', name: 'Sint Maarten (Dutch part)', abbr: 'SX', code: '1-721' },\n { icon: '🇸🇰', name: 'Slovakia', abbr: 'SK', code: '421' },\n { icon: '🇸🇮', name: 'Slovenia', abbr: 'SI', code: '386' },\n { icon: '🇸🇧', name: 'Solomon Islands', abbr: 'SB', code: '677' },\n { icon: '🇸🇴', name: 'Somalia', abbr: 'SO', code: '252' },\n { icon: '🇿🇦', name: 'South Africa', abbr: 'ZA', code: '27' },\n {\n icon: '🇬🇸',\n name: 'South Georgia and the South Sandwich Islands',\n abbr: 'GS',\n code: '500',\n },\n { icon: '🇸🇸', name: 'South Sudan', abbr: 'SS', code: '211' },\n { icon: '🇪🇸', name: 'Spain', abbr: 'ES', code: '34' },\n { icon: '🇱🇰', name: 'Sri Lanka', abbr: 'LK', code: '94' },\n { icon: '🇸🇩', name: 'Sudan', abbr: 'SD', code: '249' },\n { icon: '🇸🇷', name: 'Suriname', abbr: 'SR', code: '597' },\n { icon: '🇸🇯', name: 'Svalbard and Jan Mayen', abbr: 'SJ', code: '47' },\n { icon: '🇸🇿', name: 'Swaziland', abbr: 'SZ', code: '268' },\n { icon: '🇸🇪', name: 'Sweden', abbr: 'SE', code: '46' },\n { icon: '🇨🇭', name: 'Switzerland', abbr: 'CH', code: '41' },\n { icon: '🇸🇾', name: 'Syrian Arab Republic', abbr: 'SY', code: '963' },\n { icon: '🇹🇼', name: 'Taiwan, Province of China', abbr: 'TW', code: '886' },\n { icon: '🇹🇯', name: 'Tajikistan', abbr: 'TJ', code: '992' },\n { icon: '🇹🇭', name: 'Thailand', abbr: 'TH', code: '66' },\n { icon: '🇹🇱', name: 'Timor-Leste', abbr: 'TL', code: '670' },\n { icon: '🇹🇬', name: 'Togo', abbr: 'TG', code: '228' },\n { icon: '🇹🇰', name: 'Tokelau', abbr: 'TK', code: '690' },\n { icon: '🇹🇴', name: 'Tonga', abbr: 'TO', code: '676' },\n { icon: '🇹🇹', name: 'Trinidad and Tobago', abbr: 'TT', code: '1-868' },\n { icon: '🇹🇳', name: 'Tunisia', abbr: 'TN', code: '216' },\n { icon: '🇹🇷', name: 'Turkey', abbr: 'TR', code: '90' },\n { icon: '🇹🇲', name: 'Turkmenistan', abbr: 'TM', code: '993' },\n { icon: '🇹🇨', name: 'Turks and Caicos Islands', abbr: 'TC', code: '1-649' },\n { icon: '🇹🇻', name: 'Tuvalu', abbr: 'TV', code: '688' },\n { icon: '🇺🇬', name: 'Uganda', abbr: 'UG', code: '256' },\n { icon: '🇺🇦', name: 'Ukraine', abbr: 'UA', code: '380' },\n { icon: '🇦🇪', name: 'United Arab Emirates', abbr: 'AE', code: '971' },\n { icon: '🇬🇧', name: 'United Kingdom', abbr: 'GB', code: '44' },\n { icon: '🇹🇿', name: 'United Republic of Tanzania', abbr: 'TZ', code: '255' },\n { icon: '🇺🇲', name: 'United States', abbr: 'US', code: '1', suggested: true },\n { icon: '🇺🇾', name: 'Uruguay', abbr: 'UY', code: '598' },\n { icon: '🇻🇮', name: 'US Virgin Islands', abbr: 'VI', code: '1-340' },\n { icon: '🇺🇿', name: 'Uzbekistan', abbr: 'UZ', code: '998' },\n { icon: '🇻🇺', name: 'Vanuatu', abbr: 'VU', code: '678' },\n { icon: '🇻🇪', name: 'Venezuela', abbr: 'VE', code: '58' },\n { icon: '🇻🇳', name: 'Vietnam', abbr: 'VN', code: '84' },\n { icon: '🇼🇫', name: 'Wallis and Futuna', abbr: 'WF', code: '681' },\n { icon: '🇪🇭', name: 'Western Sahara', abbr: 'EH', code: '212' },\n { icon: '🇾🇪', name: 'Yemen', abbr: 'YE', code: '967' },\n { icon: '🇿🇲', name: 'Zambia', abbr: 'ZM', code: '260' },\n { icon: '🇿🇼', name: 'Zimbabwe', abbr: 'ZW', code: '263' },\n];\n// separate countries into groups\nvar groupedCountries = [\n {\n label: 'Suggested',\n options: allCountries.filter(function (c) { return c.suggested; }),\n },\n {\n label: 'All Countries',\n options: allCountries.filter(function (c) { return !c.suggested; }),\n },\n];\n//# sourceMappingURL=countries.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L3NlbGVjdC9kaXN0L2VzbS9kYXRhL2NvdW50cmllcy5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AYXRsYXNraXQvc2VsZWN0L2Rpc3QvZXNtL2RhdGEvY291bnRyaWVzLmpzPzk0M2QiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHZhciBhbGxDb3VudHJpZXMgPSBbXG4gICAgeyBpY29uOiAn8J+HpvCfh6snLCBuYW1lOiAnQWZnaGFuaXN0YW4nLCBhYmJyOiAnQUYnLCBjb2RlOiAnOTMnIH0sXG4gICAgeyBpY29uOiAn8J+HpvCfh70nLCBuYW1lOiAnQWxsYW5kIElzbGFuZHMnLCBhYmJyOiAnQVgnLCBjb2RlOiAnMzU4JyB9LFxuICAgIHsgaWNvbjogJ/Cfh6bwn4exJywgbmFtZTogJ0FsYmFuaWEnLCBhYmJyOiAnQUwnLCBjb2RlOiAnMzU1JyB9LFxuICAgIHsgaWNvbjogJ/Cfh6nwn4e/JywgbmFtZTogJ0FsZ2VyaWEnLCBhYmJyOiAnRFonLCBjb2RlOiAnMjEzJyB9LFxuICAgIHsgaWNvbjogJ/Cfh6bwn4e4JywgbmFtZTogJ0FtZXJpY2FuIFNhbW9hJywgYWJicjogJ0FTJywgY29kZTogJzEtNjg0JyB9LFxuICAgIHsgaWNvbjogJ/Cfh6bwn4epJywgbmFtZTogJ0FuZG9ycmEnLCBhYmJyOiAnQUQnLCBjb2RlOiAnMzc2JyB9LFxuICAgIHsgaWNvbjogJ/Cfh6bwn4e0JywgbmFtZTogJ0FuZ29sYScsIGFiYnI6ICdBTycsIGNvZGU6ICcyNDQnIH0sXG4gICAgeyBpY29uOiAn8J+HpvCfh64nLCBuYW1lOiAnQW5ndWlsbGEnLCBhYmJyOiAnQUknLCBjb2RlOiAnMS0yNjQnIH0sXG4gICAgeyBpY29uOiAn8J+HpvCfh7YnLCBuYW1lOiAnQW50YXJjdGljYScsIGFiYnI6ICdBUScsIGNvZGU6ICc2NzInIH0sXG4gICAgeyBpY29uOiAn8J+HpvCfh6wnLCBuYW1lOiAnQW50aWd1YSBhbmQgQmFyYnVkYScsIGFiYnI6ICdBRycsIGNvZGU6ICcxLTI2OCcgfSxcbiAgICB7IGljb246ICfwn4em8J+HtycsIG5hbWU6ICdBcmdlbnRpbmEnLCBhYmJyOiAnQVInLCBjb2RlOiAnNTQnIH0sXG4gICAgeyBpY29uOiAn8J+HpvCfh7InLCBuYW1lOiAnQXJtZW5pYScsIGFiYnI6ICdBTScsIGNvZGU6ICczNzQnIH0sXG4gICAgeyBpY29uOiAn8J+HpvCfh7wnLCBuYW1lOiAnQXJ1YmEnLCBhYmJyOiAnQVcnLCBjb2RlOiAnMjk3JyB9LFxuICAgIHsgaWNvbjogJ/Cfh6bwn4e6JywgbmFtZTogJ0F1c3RyYWxpYScsIGFiYnI6ICdBVScsIGNvZGU6ICc2MScsIHN1Z2dlc3RlZDogdHJ1ZSB9LFxuICAgIHsgaWNvbjogJ/Cfh6bwn4e5JywgbmFtZTogJ0F1c3RyaWEnLCBhYmJyOiAnQVQnLCBjb2RlOiAnNDMnIH0sXG4gICAgeyBpY29uOiAn8J+HpvCfh78nLCBuYW1lOiAnQXplcmJhaWphbicsIGFiYnI6ICdBWicsIGNvZGU6ICc5OTQnIH0sXG4gICAgeyBpY29uOiAn8J+Hp/Cfh7gnLCBuYW1lOiAnQmFoYW1hcycsIGFiYnI6ICdCUycsIGNvZGU6ICcxLTI0MicgfSxcbiAgICB7IGljb246ICfwn4en8J+HrScsIG5hbWU6ICdCYWhyYWluJywgYWJicjogJ0JIJywgY29kZTogJzk3MycgfSxcbiAgICB7IGljb246ICfwn4en8J+HqScsIG5hbWU6ICdCYW5nbGFkZXNoJywgYWJicjogJ0JEJywgY29kZTogJzg4MCcgfSxcbiAgICB7IGljb246ICfwn4en8J+HpycsIG5hbWU6ICdCYXJiYWRvcycsIGFiYnI6ICdCQicsIGNvZGU6ICcxLTI0NicgfSxcbiAgICB7IGljb246ICfwn4en8J+HvicsIG5hbWU6ICdCZWxhcnVzJywgYWJicjogJ0JZJywgY29kZTogJzM3NScgfSxcbiAgICB7IGljb246ICfwn4en8J+HqicsIG5hbWU6ICdCZWxnaXVtJywgYWJicjogJ0JFJywgY29kZTogJzMyJyB9LFxuICAgIHsgaWNvbjogJ/Cfh6fwn4e/JywgbmFtZTogJ0JlbGl6ZScsIGFiYnI6ICdCWicsIGNvZGU6ICc1MDEnIH0sXG4gICAgeyBpY29uOiAn8J+Hp/Cfh68nLCBuYW1lOiAnQmVuaW4nLCBhYmJyOiAnQkonLCBjb2RlOiAnMjI5JyB9LFxuICAgIHsgaWNvbjogJ/Cfh6fwn4eyJywgbmFtZTogJ0Jlcm11ZGEnLCBhYmJyOiAnQk0nLCBjb2RlOiAnMS00NDEnIH0sXG4gICAgeyBpY29uOiAn8J+Hp/Cfh7knLCBuYW1lOiAnQmh1dGFuJywgYWJicjogJ0JUJywgY29kZTogJzk3NScgfSxcbiAgICB7IGljb246ICfwn4en8J+HtCcsIG5hbWU6ICdCb2xpdmlhJywgYWJicjogJ0JPJywgY29kZTogJzU5MScgfSxcbiAgICB7IGljb246ICfwn4en8J+HpicsIG5hbWU6ICdCb3NuaWEgYW5kIEhlcnplZ292aW5hJywgYWJicjogJ0JBJywgY29kZTogJzM4NycgfSxcbiAgICB7IGljb246ICfwn4en8J+HvCcsIG5hbWU6ICdCb3Rzd2FuYScsIGFiYnI6ICdCVycsIGNvZGU6ICcyNjcnIH0sXG4gICAgeyBpY29uOiAn8J+Hp/Cfh7snLCBuYW1lOiAnQm91dmV0IElzbGFuZCcsIGFiYnI6ICdCVicsIGNvZGU6ICc0NycgfSxcbiAgICB7IGljb246ICfwn4en8J+HtycsIG5hbWU6ICdCcmF6aWwnLCBhYmJyOiAnQlInLCBjb2RlOiAnNTUnIH0sXG4gICAge1xuICAgICAgICBpY29uOiAn8J+HrvCfh7QnLFxuICAgICAgICBuYW1lOiAnQnJpdGlzaCBJbmRpYW4gT2NlYW4gVGVycml0b3J5JyxcbiAgICAgICAgYWJicjogJ0lPJyxcbiAgICAgICAgY29kZTogJzI0NicsXG4gICAgfSxcbiAgICB7IGljb246ICfwn4e78J+HrCcsIG5hbWU6ICdCcml0aXNoIFZpcmdpbiBJc2xhbmRzJywgYWJicjogJ1ZHJywgY29kZTogJzEtMjg0JyB9LFxuICAgIHsgaWNvbjogJ/Cfh6fwn4ezJywgbmFtZTogJ0JydW5laSBEYXJ1c3NhbGFtJywgYWJicjogJ0JOJywgY29kZTogJzY3MycgfSxcbiAgICB7IGljb246ICfwn4en8J+HrCcsIG5hbWU6ICdCdWxnYXJpYScsIGFiYnI6ICdCRycsIGNvZGU6ICczNTknIH0sXG4gICAgeyBpY29uOiAn8J+Hp/Cfh6snLCBuYW1lOiAnQnVya2luYSBGYXNvJywgYWJicjogJ0JGJywgY29kZTogJzIyNicgfSxcbiAgICB7IGljb246ICfwn4en8J+HricsIG5hbWU6ICdCdXJ1bmRpJywgYWJicjogJ0JJJywgY29kZTogJzI1NycgfSxcbiAgICB7IGljb246ICfwn4ew8J+HrScsIG5hbWU6ICdDYW1ib2RpYScsIGFiYnI6ICdLSCcsIGNvZGU6ICc4NTUnIH0sXG4gICAgeyBpY29uOiAn8J+HqPCfh7InLCBuYW1lOiAnQ2FtZXJvb24nLCBhYmJyOiAnQ00nLCBjb2RlOiAnMjM3JyB9LFxuICAgIHsgaWNvbjogJ/Cfh6jwn4emJywgbmFtZTogJ0NhbmFkYScsIGFiYnI6ICdDQScsIGNvZGU6ICcxJywgc3VnZ2VzdGVkOiB0cnVlIH0sXG4gICAgeyBpY29uOiAn8J+HqPCfh7snLCBuYW1lOiAnQ2FwZSBWZXJkZScsIGFiYnI6ICdDVicsIGNvZGU6ICcyMzgnIH0sXG4gICAgeyBpY29uOiAn8J+HsPCfh74nLCBuYW1lOiAnQ2F5bWFuIElzbGFuZHMnLCBhYmJyOiAnS1knLCBjb2RlOiAnMS0zNDUnIH0sXG4gICAgeyBpY29uOiAn8J+HqPCfh6snLCBuYW1lOiAnQ2VudHJhbCBBZnJpY2FuIFJlcHVibGljJywgYWJicjogJ0NGJywgY29kZTogJzIzNicgfSxcbiAgICB7IGljb246ICfwn4e58J+HqScsIG5hbWU6ICdDaGFkJywgYWJicjogJ1REJywgY29kZTogJzIzNScgfSxcbiAgICB7IGljb246ICfwn4eo8J+HsScsIG5hbWU6ICdDaGlsZScsIGFiYnI6ICdDTCcsIGNvZGU6ICc1NicgfSxcbiAgICB7IGljb246ICfwn4eo8J+HsycsIG5hbWU6ICdDaGluYScsIGFiYnI6ICdDTicsIGNvZGU6ICc4NicgfSxcbiAgICB7IGljb246ICfwn4eo8J+HvScsIG5hbWU6ICdDaHJpc3RtYXMgSXNsYW5kJywgYWJicjogJ0NYJywgY29kZTogJzYxJyB9LFxuICAgIHsgaWNvbjogJ/Cfh6jwn4eoJywgbmFtZTogJ0NvY29zIChLZWVsaW5nKSBJc2xhbmRzJywgYWJicjogJ0NDJywgY29kZTogJzYxJyB9LFxuICAgIHsgaWNvbjogJ/Cfh6jwn4e0JywgbmFtZTogJ0NvbG9tYmlhJywgYWJicjogJ0NPJywgY29kZTogJzU3JyB9LFxuICAgIHsgaWNvbjogJ/Cfh7Dwn4eyJywgbmFtZTogJ0NvbW9yb3MnLCBhYmJyOiAnS00nLCBjb2RlOiAnMjY5JyB9LFxuICAgIHtcbiAgICAgICAgaWNvbjogJ/Cfh6jwn4epJyxcbiAgICAgICAgbmFtZTogJ0NvbmdvLCBEZW1vY3JhdGljIFJlcHVibGljIG9mIHRoZScsXG4gICAgICAgIGFiYnI6ICdDRycsXG4gICAgICAgIGNvZGU6ICcyNDMnLFxuICAgIH0sXG4gICAge1xuICAgICAgICBpY29uOiAn8J+HqPCfh6wnLFxuICAgICAgICBuYW1lOiAnQ29uZ28sIFJlcHVibGljIG9mIHRoZScsXG4gICAgICAgIGFiYnI6ICdDRCcsXG4gICAgICAgIGNvZGU6ICcyNDInLFxuICAgIH0sXG4gICAgeyBpY29uOiAn8J+HqPCfh7AnLCBuYW1lOiAnQ29vayBJc2xhbmRzJywgYWJicjogJ0NLJywgY29kZTogJzY4MicgfSxcbiAgICB7IGljb246ICfwn4eo8J+HtycsIG5hbWU6ICdDb3N0YSBSaWNhJywgYWJicjogJ0NSJywgY29kZTogJzUwNicgfSxcbiAgICB7IGljb246ICfwn4eo8J+HricsIG5hbWU6IFwiQ290ZSBkJ0l2b2lyZVwiLCBhYmJyOiAnQ0knLCBjb2RlOiAnMjI1JyB9LFxuICAgIHsgaWNvbjogJ/Cfh63wn4e3JywgbmFtZTogJ0Nyb2F0aWEnLCBhYmJyOiAnSFInLCBjb2RlOiAnMzg1JyB9LFxuICAgIHsgaWNvbjogJ/Cfh6jwn4e6JywgbmFtZTogJ0N1YmEnLCBhYmJyOiAnQ1UnLCBjb2RlOiAnNTMnIH0sXG4gICAgeyBpY29uOiAn8J+HqPCfh7wnLCBuYW1lOiAnQ3VyYWNhbycsIGFiYnI6ICdDVycsIGNvZGU6ICc1OTknIH0sXG4gICAgeyBpY29uOiAn8J+HqPCfh74nLCBuYW1lOiAnQ3lwcnVzJywgYWJicjogJ0NZJywgY29kZTogJzM1NycgfSxcbiAgICB7IGljb246ICfwn4eo8J+HvycsIG5hbWU6ICdDemVjaCBSZXB1YmxpYycsIGFiYnI6ICdDWicsIGNvZGU6ICc0MjAnIH0sXG4gICAgeyBpY29uOiAn8J+HqfCfh7AnLCBuYW1lOiAnRGVubWFyaycsIGFiYnI6ICdESycsIGNvZGU6ICc0NScgfSxcbiAgICB7IGljb246ICfwn4ep8J+HrycsIG5hbWU6ICdEamlib3V0aScsIGFiYnI6ICdESicsIGNvZGU6ICcyNTMnIH0sXG4gICAgeyBpY29uOiAn8J+HqfCfh7InLCBuYW1lOiAnRG9taW5pY2EnLCBhYmJyOiAnRE0nLCBjb2RlOiAnMS03NjcnIH0sXG4gICAgeyBpY29uOiAn8J+HqfCfh7QnLCBuYW1lOiAnRG9taW5pY2FuIFJlcHVibGljJywgYWJicjogJ0RPJywgY29kZTogJzEtODA5JyB9LFxuICAgIHsgaWNvbjogJ/Cfh6rwn4eoJywgbmFtZTogJ0VjdWFkb3InLCBhYmJyOiAnRUMnLCBjb2RlOiAnNTkzJyB9LFxuICAgIHsgaWNvbjogJ/Cfh6rwn4esJywgbmFtZTogJ0VneXB0JywgYWJicjogJ0VHJywgY29kZTogJzIwJyB9LFxuICAgIHsgaWNvbjogJ/Cfh7jwn4e7JywgbmFtZTogJ0VsIFNhbHZhZG9yJywgYWJicjogJ1NWJywgY29kZTogJzUwMycgfSxcbiAgICB7IGljb246ICfwn4es8J+HticsIG5hbWU6ICdFcXVhdG9yaWFsIEd1aW5lYScsIGFiYnI6ICdHUScsIGNvZGU6ICcyNDAnIH0sXG4gICAgeyBpY29uOiAn8J+HqvCfh7cnLCBuYW1lOiAnRXJpdHJlYScsIGFiYnI6ICdFUicsIGNvZGU6ICcyOTEnIH0sXG4gICAgeyBpY29uOiAn8J+HqvCfh6onLCBuYW1lOiAnRXN0b25pYScsIGFiYnI6ICdFRScsIGNvZGU6ICczNzInIH0sXG4gICAgeyBpY29uOiAn8J+HqvCfh7knLCBuYW1lOiAnRXRoaW9waWEnLCBhYmJyOiAnRVQnLCBjb2RlOiAnMjUxJyB9LFxuICAgIHsgaWNvbjogJ/Cfh6vwn4ewJywgbmFtZTogJ0ZhbGtsYW5kIElzbGFuZHMgKE1hbHZpbmFzKScsIGFiYnI6ICdGSycsIGNvZGU6ICc1MDAnIH0sXG4gICAgeyBpY29uOiAn8J+Hq/Cfh7QnLCBuYW1lOiAnRmFyb2UgSXNsYW5kcycsIGFiYnI6ICdGTycsIGNvZGU6ICcyOTgnIH0sXG4gICAgeyBpY29uOiAn8J+Hq/Cfh68nLCBuYW1lOiAnRmlqaScsIGFiYnI6ICdGSicsIGNvZGU6ICc2NzknIH0sXG4gICAgeyBpY29uOiAn8J+Hq/Cfh64nLCBuYW1lOiAnRmlubGFuZCcsIGFiYnI6ICdGSScsIGNvZGU6ICczNTgnIH0sXG4gICAgeyBpY29uOiAn8J+Hq/Cfh7cnLCBuYW1lOiAnRnJhbmNlJywgYWJicjogJ0ZSJywgY29kZTogJzMzJywgc3VnZ2VzdGVkOiB0cnVlIH0sXG4gICAgeyBpY29uOiAn8J+HrPCfh6snLCBuYW1lOiAnRnJlbmNoIEd1aWFuYScsIGFiYnI6ICdHRicsIGNvZGU6ICc1OTQnIH0sXG4gICAgeyBpY29uOiAn8J+HtfCfh6snLCBuYW1lOiAnRnJlbmNoIFBvbHluZXNpYScsIGFiYnI6ICdQRicsIGNvZGU6ICc2ODknIH0sXG4gICAgeyBpY29uOiAn8J+HufCfh6snLCBuYW1lOiAnRnJlbmNoIFNvdXRoZXJuIFRlcnJpdG9yaWVzJywgYWJicjogJ1RGJywgY29kZTogJzI2MicgfSxcbiAgICB7IGljb246ICfwn4es8J+HpicsIG5hbWU6ICdHYWJvbicsIGFiYnI6ICdHQScsIGNvZGU6ICcyNDEnIH0sXG4gICAgeyBpY29uOiAn8J+HrPCfh7InLCBuYW1lOiAnR2FtYmlhJywgYWJicjogJ0dNJywgY29kZTogJzIyMCcgfSxcbiAgICB7IGljb246ICfwn4es8J+HqicsIG5hbWU6ICdHZW9yZ2lhJywgYWJicjogJ0dFJywgY29kZTogJzk5NScgfSxcbiAgICB7IGljb246ICfwn4ep8J+HqicsIG5hbWU6ICdHZXJtYW55JywgYWJicjogJ0RFJywgY29kZTogJzQ5Jywgc3VnZ2VzdGVkOiB0cnVlIH0sXG4gICAgeyBpY29uOiAn8J+HrPCfh60nLCBuYW1lOiAnR2hhbmEnLCBhYmJyOiAnR0gnLCBjb2RlOiAnMjMzJyB9LFxuICAgIHsgaWNvbjogJ/Cfh6zwn4euJywgbmFtZTogJ0dpYnJhbHRhcicsIGFiYnI6ICdHSScsIGNvZGU6ICczNTAnIH0sXG4gICAgeyBpY29uOiAn8J+HrPCfh7cnLCBuYW1lOiAnR3JlZWNlJywgYWJicjogJ0dSJywgY29kZTogJzMwJyB9LFxuICAgIHsgaWNvbjogJ/Cfh6zwn4exJywgbmFtZTogJ0dyZWVubGFuZCcsIGFiYnI6ICdHTCcsIGNvZGU6ICcyOTknIH0sXG4gICAgeyBpY29uOiAn8J+HrPCfh6knLCBuYW1lOiAnR3JlbmFkYScsIGFiYnI6ICdHRCcsIGNvZGU6ICcxLTQ3MycgfSxcbiAgICB7IGljb246ICfwn4es8J+HtScsIG5hbWU6ICdHdWFkZWxvdXBlJywgYWJicjogJ0dQJywgY29kZTogJzU5MCcgfSxcbiAgICB7IGljb246ICfwn4es8J+HuicsIG5hbWU6ICdHdWFtJywgYWJicjogJ0dVJywgY29kZTogJzEtNjcxJyB9LFxuICAgIHsgaWNvbjogJ/Cfh6zwn4e5JywgbmFtZTogJ0d1YXRlbWFsYScsIGFiYnI6ICdHVCcsIGNvZGU6ICc1MDInIH0sXG4gICAgeyBpY29uOiAn8J+HrPCfh6wnLCBuYW1lOiAnR3Vlcm5zZXknLCBhYmJyOiAnR0cnLCBjb2RlOiAnNDQnIH0sXG4gICAgeyBpY29uOiAn8J+HrPCfh7wnLCBuYW1lOiAnR3VpbmVhLUJpc3NhdScsIGFiYnI6ICdHVycsIGNvZGU6ICcyNDUnIH0sXG4gICAgeyBpY29uOiAn8J+HrPCfh7MnLCBuYW1lOiAnR3VpbmVhJywgYWJicjogJ0dOJywgY29kZTogJzIyNCcgfSxcbiAgICB7IGljb246ICfwn4es8J+HvicsIG5hbWU6ICdHdXlhbmEnLCBhYmJyOiAnR1knLCBjb2RlOiAnNTkyJyB9LFxuICAgIHsgaWNvbjogJ/Cfh63wn4e5JywgbmFtZTogJ0hhaXRpJywgYWJicjogJ0hUJywgY29kZTogJzUwOScgfSxcbiAgICB7XG4gICAgICAgIGljb246ICfwn4et8J+HsicsXG4gICAgICAgIG5hbWU6ICdIZWFyZCBJc2xhbmQgYW5kIE1jRG9uYWxkIElzbGFuZHMnLFxuICAgICAgICBhYmJyOiAnSE0nLFxuICAgICAgICBjb2RlOiAnNjcyJyxcbiAgICB9LFxuICAgIHtcbiAgICAgICAgaWNvbjogJ/Cfh7vwn4emJyxcbiAgICAgICAgbmFtZTogJ0hvbHkgU2VlIChWYXRpY2FuIENpdHkgU3RhdGUpJyxcbiAgICAgICAgYWJicjogJ1ZBJyxcbiAgICAgICAgY29kZTogJzM3OScsXG4gICAgfSxcbiAgICB7IGljb246ICfwn4et8J+HsycsIG5hbWU6ICdIb25kdXJhcycsIGFiYnI6ICdITicsIGNvZGU6ICc1MDQnIH0sXG4gICAgeyBpY29uOiAn8J+HrfCfh7AnLCBuYW1lOiAnSG9uZyBLb25nJywgYWJicjogJ0hLJywgY29kZTogJzg1MicgfSxcbiAgICB7IGljb246ICfwn4et8J+HuicsIG5hbWU6ICdIdW5nYXJ5JywgYWJicjogJ0hVJywgY29kZTogJzM2JyB9LFxuICAgIHsgaWNvbjogJ/Cfh67wn4e4JywgbmFtZTogJ0ljZWxhbmQnLCBhYmJyOiAnSVMnLCBjb2RlOiAnMzU0JyB9LFxuICAgIHsgaWNvbjogJ/Cfh67wn4ezJywgbmFtZTogJ0luZGlhJywgYWJicjogJ0lOJywgY29kZTogJzkxJyB9LFxuICAgIHsgaWNvbjogJ/Cfh67wn4epJywgbmFtZTogJ0luZG9uZXNpYScsIGFiYnI6ICdJRCcsIGNvZGU6ICc2MicgfSxcbiAgICB7IGljb246ICfwn4eu8J+HtycsIG5hbWU6ICdJcmFuLCBJc2xhbWljIFJlcHVibGljIG9mJywgYWJicjogJ0lSJywgY29kZTogJzk4JyB9LFxuICAgIHsgaWNvbjogJ/Cfh67wn4e2JywgbmFtZTogJ0lyYXEnLCBhYmJyOiAnSVEnLCBjb2RlOiAnOTY0JyB9LFxuICAgIHsgaWNvbjogJ/Cfh67wn4eqJywgbmFtZTogJ0lyZWxhbmQnLCBhYmJyOiAnSUUnLCBjb2RlOiAnMzUzJyB9LFxuICAgIHsgaWNvbjogJ/Cfh67wn4eyJywgbmFtZTogJ0lzbGUgb2YgTWFuJywgYWJicjogJ0lNJywgY29kZTogJzQ0JyB9LFxuICAgIHsgaWNvbjogJ/Cfh67wn4exJywgbmFtZTogJ0lzcmFlbCcsIGFiYnI6ICdJTCcsIGNvZGU6ICc5NzInIH0sXG4gICAgeyBpY29uOiAn8J+HrvCfh7knLCBuYW1lOiAnSXRhbHknLCBhYmJyOiAnSVQnLCBjb2RlOiAnMzknIH0sXG4gICAgeyBpY29uOiAn8J+Hr/Cfh7InLCBuYW1lOiAnSmFtYWljYScsIGFiYnI6ICdKTScsIGNvZGU6ICcxLTg3NicgfSxcbiAgICB7IGljb246ICfwn4ev8J+HtScsIG5hbWU6ICdKYXBhbicsIGFiYnI6ICdKUCcsIGNvZGU6ICc4MScsIHN1Z2dlc3RlZDogdHJ1ZSB9LFxuICAgIHsgaWNvbjogJ/Cfh6/wn4eqJywgbmFtZTogJ0plcnNleScsIGFiYnI6ICdKRScsIGNvZGU6ICc0NCcgfSxcbiAgICB7IGljb246ICfwn4ev8J+HtCcsIG5hbWU6ICdKb3JkYW4nLCBhYmJyOiAnSk8nLCBjb2RlOiAnOTYyJyB9LFxuICAgIHsgaWNvbjogJ/Cfh7Dwn4e/JywgbmFtZTogJ0themFraHN0YW4nLCBhYmJyOiAnS1onLCBjb2RlOiAnNycgfSxcbiAgICB7IGljb246ICfwn4ew8J+HqicsIG5hbWU6ICdLZW55YScsIGFiYnI6ICdLRScsIGNvZGU6ICcyNTQnIH0sXG4gICAgeyBpY29uOiAn8J+HsPCfh64nLCBuYW1lOiAnS2lyaWJhdGknLCBhYmJyOiAnS0knLCBjb2RlOiAnNjg2JyB9LFxuICAgIHtcbiAgICAgICAgaWNvbjogJ/Cfh7Dwn4e1JyxcbiAgICAgICAgbmFtZTogXCJLb3JlYSwgRGVtb2NyYXRpYyBQZW9wbGUncyBSZXB1YmxpYyBvZlwiLFxuICAgICAgICBhYmJyOiAnS1AnLFxuICAgICAgICBjb2RlOiAnODUwJyxcbiAgICB9LFxuICAgIHsgaWNvbjogJ/Cfh7Dwn4e3JywgbmFtZTogJ0tvcmVhLCBSZXB1YmxpYyBvZicsIGFiYnI6ICdLUicsIGNvZGU6ICc4MicgfSxcbiAgICB7IGljb246ICfwn4e98J+HsCcsIG5hbWU6ICdLb3Nvdm8nLCBhYmJyOiAnWEsnLCBjb2RlOiAnMzgzJyB9LFxuICAgIHsgaWNvbjogJ/Cfh7Dwn4e8JywgbmFtZTogJ0t1d2FpdCcsIGFiYnI6ICdLVycsIGNvZGU6ICc5NjUnIH0sXG4gICAgeyBpY29uOiAn8J+HsPCfh6wnLCBuYW1lOiAnS3lyZ3l6c3RhbicsIGFiYnI6ICdLRycsIGNvZGU6ICc5OTYnIH0sXG4gICAge1xuICAgICAgICBpY29uOiAn8J+HsfCfh6YnLFxuICAgICAgICBuYW1lOiBcIkxhbyBQZW9wbGUncyBEZW1vY3JhdGljIFJlcHVibGljXCIsXG4gICAgICAgIGFiYnI6ICdMQScsXG4gICAgICAgIGNvZGU6ICc4NTYnLFxuICAgIH0sXG4gICAgeyBpY29uOiAn8J+HsfCfh7snLCBuYW1lOiAnTGF0dmlhJywgYWJicjogJ0xWJywgY29kZTogJzM3MScgfSxcbiAgICB7IGljb246ICfwn4ex8J+HpycsIG5hbWU6ICdMZWJhbm9uJywgYWJicjogJ0xCJywgY29kZTogJzk2MScgfSxcbiAgICB7IGljb246ICfwn4ex8J+HuCcsIG5hbWU6ICdMZXNvdGhvJywgYWJicjogJ0xTJywgY29kZTogJzI2NicgfSxcbiAgICB7IGljb246ICfwn4ex8J+HtycsIG5hbWU6ICdMaWJlcmlhJywgYWJicjogJ0xSJywgY29kZTogJzIzMScgfSxcbiAgICB7IGljb246ICfwn4ex8J+HvicsIG5hbWU6ICdMaWJ5YScsIGFiYnI6ICdMWScsIGNvZGU6ICcyMTgnIH0sXG4gICAgeyBpY29uOiAn8J+HsfCfh64nLCBuYW1lOiAnTGllY2h0ZW5zdGVpbicsIGFiYnI6ICdMSScsIGNvZGU6ICc0MjMnIH0sXG4gICAgeyBpY29uOiAn8J+HsfCfh7knLCBuYW1lOiAnTGl0aHVhbmlhJywgYWJicjogJ0xUJywgY29kZTogJzM3MCcgfSxcbiAgICB7IGljb246ICfwn4ex8J+HuicsIG5hbWU6ICdMdXhlbWJvdXJnJywgYWJicjogJ0xVJywgY29kZTogJzM1MicgfSxcbiAgICB7IGljb246ICfwn4ey8J+HtCcsIG5hbWU6ICdNYWNhbycsIGFiYnI6ICdNTycsIGNvZGU6ICc4NTMnIH0sXG4gICAge1xuICAgICAgICBpY29uOiAn8J+HsvCfh7AnLFxuICAgICAgICBuYW1lOiAnTWFjZWRvbmlhLCB0aGUgRm9ybWVyIFl1Z29zbGF2IFJlcHVibGljIG9mJyxcbiAgICAgICAgYWJicjogJ01LJyxcbiAgICAgICAgY29kZTogJzM4OScsXG4gICAgfSxcbiAgICB7IGljb246ICfwn4ey8J+HrCcsIG5hbWU6ICdNYWRhZ2FzY2FyJywgYWJicjogJ01HJywgY29kZTogJzI2MScgfSxcbiAgICB7IGljb246ICfwn4ey8J+HvCcsIG5hbWU6ICdNYWxhd2knLCBhYmJyOiAnTVcnLCBjb2RlOiAnMjY1JyB9LFxuICAgIHsgaWNvbjogJ/Cfh7Lwn4e+JywgbmFtZTogJ01hbGF5c2lhJywgYWJicjogJ01ZJywgY29kZTogJzYwJyB9LFxuICAgIHsgaWNvbjogJ/Cfh7Lwn4e7JywgbmFtZTogJ01hbGRpdmVzJywgYWJicjogJ01WJywgY29kZTogJzk2MCcgfSxcbiAgICB7IGljb246ICfwn4ey8J+HsScsIG5hbWU6ICdNYWxpJywgYWJicjogJ01MJywgY29kZTogJzIyMycgfSxcbiAgICB7IGljb246ICfwn4ey8J+HuScsIG5hbWU6ICdNYWx0YScsIGFiYnI6ICdNVCcsIGNvZGU6ICczNTYnIH0sXG4gICAgeyBpY29uOiAn8J+HsvCfh60nLCBuYW1lOiAnTWFyc2hhbGwgSXNsYW5kcycsIGFiYnI6ICdNSCcsIGNvZGU6ICc2OTInIH0sXG4gICAgeyBpY29uOiAn8J+HsvCfh7YnLCBuYW1lOiAnTWFydGluaXF1ZScsIGFiYnI6ICdNUScsIGNvZGU6ICc1OTYnIH0sXG4gICAgeyBpY29uOiAn8J+HsvCfh7cnLCBuYW1lOiAnTWF1cml0YW5pYScsIGFiYnI6ICdNUicsIGNvZGU6ICcyMjInIH0sXG4gICAgeyBpY29uOiAn8J+HsvCfh7onLCBuYW1lOiAnTWF1cml0aXVzJywgYWJicjogJ01VJywgY29kZTogJzIzMCcgfSxcbiAgICB7IGljb246ICfwn4e+8J+HuScsIG5hbWU6ICdNYXlvdHRlJywgYWJicjogJ1lUJywgY29kZTogJzI2MicgfSxcbiAgICB7IGljb246ICfwn4ey8J+HvScsIG5hbWU6ICdNZXhpY28nLCBhYmJyOiAnTVgnLCBjb2RlOiAnNTInIH0sXG4gICAge1xuICAgICAgICBpY29uOiAn8J+Hq/Cfh7InLFxuICAgICAgICBuYW1lOiAnTWljcm9uZXNpYSwgRmVkZXJhdGVkIFN0YXRlcyBvZicsXG4gICAgICAgIGFiYnI6ICdGTScsXG4gICAgICAgIGNvZGU6ICc2OTEnLFxuICAgIH0sXG4gICAgeyBpY29uOiAn8J+HsvCfh6knLCBuYW1lOiAnTW9sZG92YSwgUmVwdWJsaWMgb2YnLCBhYmJyOiAnTUQnLCBjb2RlOiAnMzczJyB9LFxuICAgIHsgaWNvbjogJ/Cfh7Lwn4eoJywgbmFtZTogJ01vbmFjbycsIGFiYnI6ICdNQycsIGNvZGU6ICczNzcnIH0sXG4gICAgeyBpY29uOiAn8J+HsvCfh7MnLCBuYW1lOiAnTW9uZ29saWEnLCBhYmJyOiAnTU4nLCBjb2RlOiAnOTc2JyB9LFxuICAgIHsgaWNvbjogJ/Cfh7Lwn4eqJywgbmFtZTogJ01vbnRlbmVncm8nLCBhYmJyOiAnTUUnLCBjb2RlOiAnMzgyJyB9LFxuICAgIHsgaWNvbjogJ/Cfh7Lwn4e4JywgbmFtZTogJ01vbnRzZXJyYXQnLCBhYmJyOiAnTVMnLCBjb2RlOiAnMS02NjQnIH0sXG4gICAgeyBpY29uOiAn8J+HsvCfh6YnLCBuYW1lOiAnTW9yb2NjbycsIGFiYnI6ICdNQScsIGNvZGU6ICcyMTInIH0sXG4gICAgeyBpY29uOiAn8J+HsvCfh78nLCBuYW1lOiAnTW96YW1iaXF1ZScsIGFiYnI6ICdNWicsIGNvZGU6ICcyNTgnIH0sXG4gICAgeyBpY29uOiAn8J+HsvCfh7InLCBuYW1lOiAnTXlhbm1hcicsIGFiYnI6ICdNTScsIGNvZGU6ICc5NScgfSxcbiAgICB7IGljb246ICfwn4ez8J+HpicsIG5hbWU6ICdOYW1pYmlhJywgYWJicjogJ05BJywgY29kZTogJzI2NCcgfSxcbiAgICB7IGljb246ICfwn4ez8J+HtycsIG5hbWU6ICdOYXVydScsIGFiYnI6ICdOUicsIGNvZGU6ICc2NzQnIH0sXG4gICAgeyBpY29uOiAn8J+Hs/Cfh7UnLCBuYW1lOiAnTmVwYWwnLCBhYmJyOiAnTlAnLCBjb2RlOiAnOTc3JyB9LFxuICAgIHsgaWNvbjogJ/Cfh7Pwn4exJywgbmFtZTogJ05ldGhlcmxhbmRzJywgYWJicjogJ05MJywgY29kZTogJzMxJyB9LFxuICAgIHsgaWNvbjogJ/Cfh7Pwn4eoJywgbmFtZTogJ05ldyBDYWxlZG9uaWEnLCBhYmJyOiAnTkMnLCBjb2RlOiAnNjg3JyB9LFxuICAgIHsgaWNvbjogJ/Cfh7Pwn4e/JywgbmFtZTogJ05ldyBaZWFsYW5kJywgYWJicjogJ05aJywgY29kZTogJzY0JyB9LFxuICAgIHsgaWNvbjogJ/Cfh7Pwn4euJywgbmFtZTogJ05pY2FyYWd1YScsIGFiYnI6ICdOSScsIGNvZGU6ICc1MDUnIH0sXG4gICAgeyBpY29uOiAn8J+Hs/Cfh6onLCBuYW1lOiAnTmlnZXInLCBhYmJyOiAnTkUnLCBjb2RlOiAnMjI3JyB9LFxuICAgIHsgaWNvbjogJ/Cfh7Pwn4esJywgbmFtZTogJ05pZ2VyaWEnLCBhYmJyOiAnTkcnLCBjb2RlOiAnMjM0JyB9LFxuICAgIHsgaWNvbjogJ/Cfh7Pwn4e6JywgbmFtZTogJ05pdWUnLCBhYmJyOiAnTlUnLCBjb2RlOiAnNjgzJyB9LFxuICAgIHsgaWNvbjogJ/Cfh7Pwn4erJywgbmFtZTogJ05vcmZvbGsgSXNsYW5kJywgYWJicjogJ05GJywgY29kZTogJzY3MicgfSxcbiAgICB7IGljb246ICfwn4ey8J+HtScsIG5hbWU6ICdOb3J0aGVybiBNYXJpYW5hIElzbGFuZHMnLCBhYmJyOiAnTVAnLCBjb2RlOiAnMS02NzAnIH0sXG4gICAgeyBpY29uOiAn8J+Hs/Cfh7QnLCBuYW1lOiAnTm9yd2F5JywgYWJicjogJ05PJywgY29kZTogJzQ3JyB9LFxuICAgIHsgaWNvbjogJ/Cfh7Twn4eyJywgbmFtZTogJ09tYW4nLCBhYmJyOiAnT00nLCBjb2RlOiAnOTY4JyB9LFxuICAgIHsgaWNvbjogJ/Cfh7Xwn4ewJywgbmFtZTogJ1Bha2lzdGFuJywgYWJicjogJ1BLJywgY29kZTogJzkyJyB9LFxuICAgIHsgaWNvbjogJ/Cfh7Xwn4e8JywgbmFtZTogJ1BhbGF1JywgYWJicjogJ1BXJywgY29kZTogJzY4MCcgfSxcbiAgICB7IGljb246ICfwn4e18J+HuCcsIG5hbWU6ICdQYWxlc3RpbmUsIFN0YXRlIG9mJywgYWJicjogJ1BTJywgY29kZTogJzk3MCcgfSxcbiAgICB7IGljb246ICfwn4e18J+HpicsIG5hbWU6ICdQYW5hbWEnLCBhYmJyOiAnUEEnLCBjb2RlOiAnNTA3JyB9LFxuICAgIHsgaWNvbjogJ/Cfh7Xwn4esJywgbmFtZTogJ1BhcHVhIE5ldyBHdWluZWEnLCBhYmJyOiAnUEcnLCBjb2RlOiAnNjc1JyB9LFxuICAgIHsgaWNvbjogJ/Cfh7Xwn4e+JywgbmFtZTogJ1BhcmFndWF5JywgYWJicjogJ1BZJywgY29kZTogJzU5NScgfSxcbiAgICB7IGljb246ICfwn4e18J+HqicsIG5hbWU6ICdQZXJ1JywgYWJicjogJ1BFJywgY29kZTogJzUxJyB9LFxuICAgIHsgaWNvbjogJ/Cfh7Xwn4etJywgbmFtZTogJ1BoaWxpcHBpbmVzJywgYWJicjogJ1BIJywgY29kZTogJzYzJyB9LFxuICAgIHsgaWNvbjogJ/Cfh7Xwn4ezJywgbmFtZTogJ1BpdGNhaXJuJywgYWJicjogJ1BOJywgY29kZTogJzg3MCcgfSxcbiAgICB7IGljb246ICfwn4e18J+HsScsIG5hbWU6ICdQb2xhbmQnLCBhYmJyOiAnUEwnLCBjb2RlOiAnNDgnIH0sXG4gICAgeyBpY29uOiAn8J+HtfCfh7knLCBuYW1lOiAnUG9ydHVnYWwnLCBhYmJyOiAnUFQnLCBjb2RlOiAnMzUxJyB9LFxuICAgIHsgaWNvbjogJ/Cfh7Xwn4e3JywgbmFtZTogJ1B1ZXJ0byBSaWNvJywgYWJicjogJ1BSJywgY29kZTogJzEnIH0sXG4gICAgeyBpY29uOiAn8J+HtvCfh6YnLCBuYW1lOiAnUWF0YXInLCBhYmJyOiAnUUEnLCBjb2RlOiAnOTc0JyB9LFxuICAgIHsgaWNvbjogJ/Cfh7fwn4eqJywgbmFtZTogJ1JldW5pb24nLCBhYmJyOiAnUkUnLCBjb2RlOiAnMjYyJyB9LFxuICAgIHsgaWNvbjogJ/Cfh7fwn4e0JywgbmFtZTogJ1JvbWFuaWEnLCBhYmJyOiAnUk8nLCBjb2RlOiAnNDAnIH0sXG4gICAgeyBpY29uOiAn8J+Ht/Cfh7onLCBuYW1lOiAnUnVzc2lhbiBGZWRlcmF0aW9uJywgYWJicjogJ1JVJywgY29kZTogJzcnIH0sXG4gICAgeyBpY29uOiAn8J+Ht/Cfh7wnLCBuYW1lOiAnUndhbmRhJywgYWJicjogJ1JXJywgY29kZTogJzI1MCcgfSxcbiAgICB7IGljb246ICfwn4en8J+HsScsIG5hbWU6ICdTYWludCBCYXJ0aGVsZW15JywgYWJicjogJ0JMJywgY29kZTogJzU5MCcgfSxcbiAgICB7IGljb246ICfwn4e48J+HrScsIG5hbWU6ICdTYWludCBIZWxlbmEnLCBhYmJyOiAnU0gnLCBjb2RlOiAnMjkwJyB9LFxuICAgIHsgaWNvbjogJ/Cfh7Dwn4ezJywgbmFtZTogJ1NhaW50IEtpdHRzIGFuZCBOZXZpcycsIGFiYnI6ICdLTicsIGNvZGU6ICcxLTg2OScgfSxcbiAgICB7IGljb246ICfwn4ex8J+HqCcsIG5hbWU6ICdTYWludCBMdWNpYScsIGFiYnI6ICdMQycsIGNvZGU6ICcxLTc1OCcgfSxcbiAgICB7IGljb246ICfwn4ey8J+HqycsIG5hbWU6ICdTYWludCBNYXJ0aW4gKEZyZW5jaCBwYXJ0KScsIGFiYnI6ICdNRicsIGNvZGU6ICc1OTAnIH0sXG4gICAgeyBpY29uOiAn8J+HtfCfh7InLCBuYW1lOiAnU2FpbnQgUGllcnJlIGFuZCBNaXF1ZWxvbicsIGFiYnI6ICdQTScsIGNvZGU6ICc1MDgnIH0sXG4gICAge1xuICAgICAgICBpY29uOiAn8J+Hu/Cfh6gnLFxuICAgICAgICBuYW1lOiAnU2FpbnQgVmluY2VudCBhbmQgdGhlIEdyZW5hZGluZXMnLFxuICAgICAgICBhYmJyOiAnVkMnLFxuICAgICAgICBjb2RlOiAnMS03ODQnLFxuICAgIH0sXG4gICAgeyBpY29uOiAn8J+HvPCfh7gnLCBuYW1lOiAnU2Ftb2EnLCBhYmJyOiAnV1MnLCBjb2RlOiAnNjg1JyB9LFxuICAgIHsgaWNvbjogJ/Cfh7jwn4eyJywgbmFtZTogJ1NhbiBNYXJpbm8nLCBhYmJyOiAnU00nLCBjb2RlOiAnMzc4JyB9LFxuICAgIHsgaWNvbjogJ/Cfh7jwn4e5JywgbmFtZTogJ1NhbyBUb21lIGFuZCBQcmluY2lwZScsIGFiYnI6ICdTVCcsIGNvZGU6ICcyMzknIH0sXG4gICAgeyBpY29uOiAn8J+HuPCfh6YnLCBuYW1lOiAnU2F1ZGkgQXJhYmlhJywgYWJicjogJ1NBJywgY29kZTogJzk2NicgfSxcbiAgICB7IGljb246ICfwn4e48J+HsycsIG5hbWU6ICdTZW5lZ2FsJywgYWJicjogJ1NOJywgY29kZTogJzIyMScgfSxcbiAgICB7IGljb246ICfwn4e38J+HuCcsIG5hbWU6ICdTZXJiaWEnLCBhYmJyOiAnUlMnLCBjb2RlOiAnMzgxJyB9LFxuICAgIHsgaWNvbjogJ/Cfh7jwn4eoJywgbmFtZTogJ1NleWNoZWxsZXMnLCBhYmJyOiAnU0MnLCBjb2RlOiAnMjQ4JyB9LFxuICAgIHsgaWNvbjogJ/Cfh7jwn4exJywgbmFtZTogJ1NpZXJyYSBMZW9uZScsIGFiYnI6ICdTTCcsIGNvZGU6ICcyMzInIH0sXG4gICAgeyBpY29uOiAn8J+HuPCfh6wnLCBuYW1lOiAnU2luZ2Fwb3JlJywgYWJicjogJ1NHJywgY29kZTogJzY1JyB9LFxuICAgIHsgaWNvbjogJ/Cfh7jwn4e9JywgbmFtZTogJ1NpbnQgTWFhcnRlbiAoRHV0Y2ggcGFydCknLCBhYmJyOiAnU1gnLCBjb2RlOiAnMS03MjEnIH0sXG4gICAgeyBpY29uOiAn8J+HuPCfh7AnLCBuYW1lOiAnU2xvdmFraWEnLCBhYmJyOiAnU0snLCBjb2RlOiAnNDIxJyB9LFxuICAgIHsgaWNvbjogJ/Cfh7jwn4euJywgbmFtZTogJ1Nsb3ZlbmlhJywgYWJicjogJ1NJJywgY29kZTogJzM4NicgfSxcbiAgICB7IGljb246ICfwn4e48J+HpycsIG5hbWU6ICdTb2xvbW9uIElzbGFuZHMnLCBhYmJyOiAnU0InLCBjb2RlOiAnNjc3JyB9LFxuICAgIHsgaWNvbjogJ/Cfh7jwn4e0JywgbmFtZTogJ1NvbWFsaWEnLCBhYmJyOiAnU08nLCBjb2RlOiAnMjUyJyB9LFxuICAgIHsgaWNvbjogJ/Cfh7/wn4emJywgbmFtZTogJ1NvdXRoIEFmcmljYScsIGFiYnI6ICdaQScsIGNvZGU6ICcyNycgfSxcbiAgICB7XG4gICAgICAgIGljb246ICfwn4es8J+HuCcsXG4gICAgICAgIG5hbWU6ICdTb3V0aCBHZW9yZ2lhIGFuZCB0aGUgU291dGggU2FuZHdpY2ggSXNsYW5kcycsXG4gICAgICAgIGFiYnI6ICdHUycsXG4gICAgICAgIGNvZGU6ICc1MDAnLFxuICAgIH0sXG4gICAgeyBpY29uOiAn8J+HuPCfh7gnLCBuYW1lOiAnU291dGggU3VkYW4nLCBhYmJyOiAnU1MnLCBjb2RlOiAnMjExJyB9LFxuICAgIHsgaWNvbjogJ/Cfh6rwn4e4JywgbmFtZTogJ1NwYWluJywgYWJicjogJ0VTJywgY29kZTogJzM0JyB9LFxuICAgIHsgaWNvbjogJ/Cfh7Hwn4ewJywgbmFtZTogJ1NyaSBMYW5rYScsIGFiYnI6ICdMSycsIGNvZGU6ICc5NCcgfSxcbiAgICB7IGljb246ICfwn4e48J+HqScsIG5hbWU6ICdTdWRhbicsIGFiYnI6ICdTRCcsIGNvZGU6ICcyNDknIH0sXG4gICAgeyBpY29uOiAn8J+HuPCfh7cnLCBuYW1lOiAnU3VyaW5hbWUnLCBhYmJyOiAnU1InLCBjb2RlOiAnNTk3JyB9LFxuICAgIHsgaWNvbjogJ/Cfh7jwn4evJywgbmFtZTogJ1N2YWxiYXJkIGFuZCBKYW4gTWF5ZW4nLCBhYmJyOiAnU0onLCBjb2RlOiAnNDcnIH0sXG4gICAgeyBpY29uOiAn8J+HuPCfh78nLCBuYW1lOiAnU3dhemlsYW5kJywgYWJicjogJ1NaJywgY29kZTogJzI2OCcgfSxcbiAgICB7IGljb246ICfwn4e48J+HqicsIG5hbWU6ICdTd2VkZW4nLCBhYmJyOiAnU0UnLCBjb2RlOiAnNDYnIH0sXG4gICAgeyBpY29uOiAn8J+HqPCfh60nLCBuYW1lOiAnU3dpdHplcmxhbmQnLCBhYmJyOiAnQ0gnLCBjb2RlOiAnNDEnIH0sXG4gICAgeyBpY29uOiAn8J+HuPCfh74nLCBuYW1lOiAnU3lyaWFuIEFyYWIgUmVwdWJsaWMnLCBhYmJyOiAnU1knLCBjb2RlOiAnOTYzJyB9LFxuICAgIHsgaWNvbjogJ/Cfh7nwn4e8JywgbmFtZTogJ1RhaXdhbiwgUHJvdmluY2Ugb2YgQ2hpbmEnLCBhYmJyOiAnVFcnLCBjb2RlOiAnODg2JyB9LFxuICAgIHsgaWNvbjogJ/Cfh7nwn4evJywgbmFtZTogJ1RhamlraXN0YW4nLCBhYmJyOiAnVEonLCBjb2RlOiAnOTkyJyB9LFxuICAgIHsgaWNvbjogJ/Cfh7nwn4etJywgbmFtZTogJ1RoYWlsYW5kJywgYWJicjogJ1RIJywgY29kZTogJzY2JyB9LFxuICAgIHsgaWNvbjogJ/Cfh7nwn4exJywgbmFtZTogJ1RpbW9yLUxlc3RlJywgYWJicjogJ1RMJywgY29kZTogJzY3MCcgfSxcbiAgICB7IGljb246ICfwn4e58J+HrCcsIG5hbWU6ICdUb2dvJywgYWJicjogJ1RHJywgY29kZTogJzIyOCcgfSxcbiAgICB7IGljb246ICfwn4e58J+HsCcsIG5hbWU6ICdUb2tlbGF1JywgYWJicjogJ1RLJywgY29kZTogJzY5MCcgfSxcbiAgICB7IGljb246ICfwn4e58J+HtCcsIG5hbWU6ICdUb25nYScsIGFiYnI6ICdUTycsIGNvZGU6ICc2NzYnIH0sXG4gICAgeyBpY29uOiAn8J+HufCfh7knLCBuYW1lOiAnVHJpbmlkYWQgYW5kIFRvYmFnbycsIGFiYnI6ICdUVCcsIGNvZGU6ICcxLTg2OCcgfSxcbiAgICB7IGljb246ICfwn4e58J+HsycsIG5hbWU6ICdUdW5pc2lhJywgYWJicjogJ1ROJywgY29kZTogJzIxNicgfSxcbiAgICB7IGljb246ICfwn4e58J+HtycsIG5hbWU6ICdUdXJrZXknLCBhYmJyOiAnVFInLCBjb2RlOiAnOTAnIH0sXG4gICAgeyBpY29uOiAn8J+HufCfh7InLCBuYW1lOiAnVHVya21lbmlzdGFuJywgYWJicjogJ1RNJywgY29kZTogJzk5MycgfSxcbiAgICB7IGljb246ICfwn4e58J+HqCcsIG5hbWU6ICdUdXJrcyBhbmQgQ2FpY29zIElzbGFuZHMnLCBhYmJyOiAnVEMnLCBjb2RlOiAnMS02NDknIH0sXG4gICAgeyBpY29uOiAn8J+HufCfh7snLCBuYW1lOiAnVHV2YWx1JywgYWJicjogJ1RWJywgY29kZTogJzY4OCcgfSxcbiAgICB7IGljb246ICfwn4e68J+HrCcsIG5hbWU6ICdVZ2FuZGEnLCBhYmJyOiAnVUcnLCBjb2RlOiAnMjU2JyB9LFxuICAgIHsgaWNvbjogJ/Cfh7rwn4emJywgbmFtZTogJ1VrcmFpbmUnLCBhYmJyOiAnVUEnLCBjb2RlOiAnMzgwJyB9LFxuICAgIHsgaWNvbjogJ/Cfh6bwn4eqJywgbmFtZTogJ1VuaXRlZCBBcmFiIEVtaXJhdGVzJywgYWJicjogJ0FFJywgY29kZTogJzk3MScgfSxcbiAgICB7IGljb246ICfwn4es8J+HpycsIG5hbWU6ICdVbml0ZWQgS2luZ2RvbScsIGFiYnI6ICdHQicsIGNvZGU6ICc0NCcgfSxcbiAgICB7IGljb246ICfwn4e58J+HvycsIG5hbWU6ICdVbml0ZWQgUmVwdWJsaWMgb2YgVGFuemFuaWEnLCBhYmJyOiAnVFonLCBjb2RlOiAnMjU1JyB9LFxuICAgIHsgaWNvbjogJ/Cfh7rwn4eyJywgbmFtZTogJ1VuaXRlZCBTdGF0ZXMnLCBhYmJyOiAnVVMnLCBjb2RlOiAnMScsIHN1Z2dlc3RlZDogdHJ1ZSB9LFxuICAgIHsgaWNvbjogJ/Cfh7rwn4e+JywgbmFtZTogJ1VydWd1YXknLCBhYmJyOiAnVVknLCBjb2RlOiAnNTk4JyB9LFxuICAgIHsgaWNvbjogJ/Cfh7vwn4euJywgbmFtZTogJ1VTIFZpcmdpbiBJc2xhbmRzJywgYWJicjogJ1ZJJywgY29kZTogJzEtMzQwJyB9LFxuICAgIHsgaWNvbjogJ/Cfh7rwn4e/JywgbmFtZTogJ1V6YmVraXN0YW4nLCBhYmJyOiAnVVonLCBjb2RlOiAnOTk4JyB9LFxuICAgIHsgaWNvbjogJ/Cfh7vwn4e6JywgbmFtZTogJ1ZhbnVhdHUnLCBhYmJyOiAnVlUnLCBjb2RlOiAnNjc4JyB9LFxuICAgIHsgaWNvbjogJ/Cfh7vwn4eqJywgbmFtZTogJ1ZlbmV6dWVsYScsIGFiYnI6ICdWRScsIGNvZGU6ICc1OCcgfSxcbiAgICB7IGljb246ICfwn4e78J+HsycsIG5hbWU6ICdWaWV0bmFtJywgYWJicjogJ1ZOJywgY29kZTogJzg0JyB9LFxuICAgIHsgaWNvbjogJ/Cfh7zwn4erJywgbmFtZTogJ1dhbGxpcyBhbmQgRnV0dW5hJywgYWJicjogJ1dGJywgY29kZTogJzY4MScgfSxcbiAgICB7IGljb246ICfwn4eq8J+HrScsIG5hbWU6ICdXZXN0ZXJuIFNhaGFyYScsIGFiYnI6ICdFSCcsIGNvZGU6ICcyMTInIH0sXG4gICAgeyBpY29uOiAn8J+HvvCfh6onLCBuYW1lOiAnWWVtZW4nLCBhYmJyOiAnWUUnLCBjb2RlOiAnOTY3JyB9LFxuICAgIHsgaWNvbjogJ/Cfh7/wn4eyJywgbmFtZTogJ1phbWJpYScsIGFiYnI6ICdaTScsIGNvZGU6ICcyNjAnIH0sXG4gICAgeyBpY29uOiAn8J+Hv/Cfh7wnLCBuYW1lOiAnWmltYmFid2UnLCBhYmJyOiAnWlcnLCBjb2RlOiAnMjYzJyB9LFxuXTtcbi8vIHNlcGFyYXRlIGNvdW50cmllcyBpbnRvIGdyb3Vwc1xuZXhwb3J0IHZhciBncm91cGVkQ291bnRyaWVzID0gW1xuICAgIHtcbiAgICAgICAgbGFiZWw6ICdTdWdnZXN0ZWQnLFxuICAgICAgICBvcHRpb25zOiBhbGxDb3VudHJpZXMuZmlsdGVyKGZ1bmN0aW9uIChjKSB7IHJldHVybiBjLnN1Z2dlc3RlZDsgfSksXG4gICAgfSxcbiAgICB7XG4gICAgICAgIGxhYmVsOiAnQWxsIENvdW50cmllcycsXG4gICAgICAgIG9wdGlvbnM6IGFsbENvdW50cmllcy5maWx0ZXIoZnVuY3Rpb24gKGMpIHsgcmV0dXJuICFjLnN1Z2dlc3RlZDsgfSksXG4gICAgfSxcbl07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1jb3VudHJpZXMuanMubWFwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/select/dist/esm/data/countries.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/select/dist/esm/index.js": /*!*********************************************************!*\ !*** ./node_modules/@atlaskit/select/dist/esm/index.js ***! \*********************************************************/ /*! exports provided: components, createFilter, mergeStyles, makeAsyncSelect, makeCreatableSelect, CheckboxOption, RadioOption, default, AsyncSelect, CheckboxSelect, CountrySelect, RadioSelect, CreatableSelect, AsyncCreatableSelect, PopupSelect */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_select__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-select */ \"./node_modules/react-select/dist/react-select.browser.esm.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"components\", function() { return react_select__WEBPACK_IMPORTED_MODULE_0__[\"components\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createFilter\", function() { return react_select__WEBPACK_IMPORTED_MODULE_0__[\"createFilter\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"mergeStyles\", function() { return react_select__WEBPACK_IMPORTED_MODULE_0__[\"mergeStyles\"]; });\n\n/* harmony import */ var react_select_async__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-select/async */ \"./node_modules/react-select/async/dist/react-select.browser.esm.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"makeAsyncSelect\", function() { return react_select_async__WEBPACK_IMPORTED_MODULE_1__[\"makeAsyncSelect\"]; });\n\n/* harmony import */ var react_select_creatable__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-select/creatable */ \"./node_modules/react-select/creatable/dist/react-select.browser.esm.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"makeCreatableSelect\", function() { return react_select_creatable__WEBPACK_IMPORTED_MODULE_2__[\"makeCreatableSelect\"]; });\n\n/* harmony import */ var _components_input_options__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./components/input-options */ \"./node_modules/@atlaskit/select/dist/esm/components/input-options.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"CheckboxOption\", function() { return _components_input_options__WEBPACK_IMPORTED_MODULE_3__[\"CheckboxOption\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"RadioOption\", function() { return _components_input_options__WEBPACK_IMPORTED_MODULE_3__[\"RadioOption\"]; });\n\n/* harmony import */ var _Select__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Select */ \"./node_modules/@atlaskit/select/dist/esm/Select.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _Select__WEBPACK_IMPORTED_MODULE_4__[\"default\"]; });\n\n/* harmony import */ var _AsyncSelect__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./AsyncSelect */ \"./node_modules/@atlaskit/select/dist/esm/AsyncSelect.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AsyncSelect\", function() { return _AsyncSelect__WEBPACK_IMPORTED_MODULE_5__[\"default\"]; });\n\n/* harmony import */ var _CheckboxSelect__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./CheckboxSelect */ \"./node_modules/@atlaskit/select/dist/esm/CheckboxSelect.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"CheckboxSelect\", function() { return _CheckboxSelect__WEBPACK_IMPORTED_MODULE_6__[\"default\"]; });\n\n/* harmony import */ var _CountrySelect__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./CountrySelect */ \"./node_modules/@atlaskit/select/dist/esm/CountrySelect.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"CountrySelect\", function() { return _CountrySelect__WEBPACK_IMPORTED_MODULE_7__[\"default\"]; });\n\n/* harmony import */ var _RadioSelect__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./RadioSelect */ \"./node_modules/@atlaskit/select/dist/esm/RadioSelect.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"RadioSelect\", function() { return _RadioSelect__WEBPACK_IMPORTED_MODULE_8__[\"default\"]; });\n\n/* harmony import */ var _CreatableSelect__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./CreatableSelect */ \"./node_modules/@atlaskit/select/dist/esm/CreatableSelect.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"CreatableSelect\", function() { return _CreatableSelect__WEBPACK_IMPORTED_MODULE_9__[\"default\"]; });\n\n/* harmony import */ var _AsyncCreatableSelect__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./AsyncCreatableSelect */ \"./node_modules/@atlaskit/select/dist/esm/AsyncCreatableSelect.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AsyncCreatableSelect\", function() { return _AsyncCreatableSelect__WEBPACK_IMPORTED_MODULE_10__[\"default\"]; });\n\n/* harmony import */ var _PopupSelect__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./PopupSelect */ \"./node_modules/@atlaskit/select/dist/esm/PopupSelect/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PopupSelect\", function() { return _PopupSelect__WEBPACK_IMPORTED_MODULE_11__[\"default\"]; });\n\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L3NlbGVjdC9kaXN0L2VzbS9pbmRleC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AYXRsYXNraXQvc2VsZWN0L2Rpc3QvZXNtL2luZGV4LmpzP2FiNjYiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgY29tcG9uZW50cywgY3JlYXRlRmlsdGVyLCBtZXJnZVN0eWxlcyB9IGZyb20gJ3JlYWN0LXNlbGVjdCc7XG5leHBvcnQgeyBtYWtlQXN5bmNTZWxlY3QgfSBmcm9tICdyZWFjdC1zZWxlY3QvYXN5bmMnO1xuZXhwb3J0IHsgbWFrZUNyZWF0YWJsZVNlbGVjdCB9IGZyb20gJ3JlYWN0LXNlbGVjdC9jcmVhdGFibGUnO1xuZXhwb3J0IHsgQ2hlY2tib3hPcHRpb24sIFJhZGlvT3B0aW9uIH0gZnJvbSAnLi9jb21wb25lbnRzL2lucHV0LW9wdGlvbnMnO1xuZXhwb3J0IHsgZGVmYXVsdCB9IGZyb20gJy4vU2VsZWN0JztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgQXN5bmNTZWxlY3QgfSBmcm9tICcuL0FzeW5jU2VsZWN0JztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgQ2hlY2tib3hTZWxlY3QgfSBmcm9tICcuL0NoZWNrYm94U2VsZWN0JztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgQ291bnRyeVNlbGVjdCB9IGZyb20gJy4vQ291bnRyeVNlbGVjdCc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIFJhZGlvU2VsZWN0IH0gZnJvbSAnLi9SYWRpb1NlbGVjdCc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIENyZWF0YWJsZVNlbGVjdCB9IGZyb20gJy4vQ3JlYXRhYmxlU2VsZWN0JztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgQXN5bmNDcmVhdGFibGVTZWxlY3QgfSBmcm9tICcuL0FzeW5jQ3JlYXRhYmxlU2VsZWN0JztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgUG9wdXBTZWxlY3QgfSBmcm9tICcuL1BvcHVwU2VsZWN0Jztcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmpzLm1hcCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/select/dist/esm/index.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/select/dist/esm/styles.js": /*!**********************************************************!*\ !*** ./node_modules/@atlaskit/select/dist/esm/styles.js ***! \**********************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return baseStyles; });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/@atlaskit/select/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _atlaskit_theme_constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @atlaskit/theme/constants */ \"./node_modules/@atlaskit/theme/dist/esm/constants.js\");\n/* harmony import */ var _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @atlaskit/theme/colors */ \"./node_modules/@atlaskit/theme/dist/esm/colors.js\");\n\n\n\nvar BORDER_WIDTH = 2;\nvar ICON_PADDING = 2;\nvar paddingExcludingBorder = Object(_atlaskit_theme_constants__WEBPACK_IMPORTED_MODULE_1__[\"gridSize\"])() - BORDER_WIDTH;\nfunction baseStyles(validationState, isCompact) {\n return {\n container: function (css, _a) {\n var isDisabled = _a.isDisabled;\n return (Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, css), { \n // react-select disables pointer events when isDisabled is true.\n // We override this and make the inner container turn it off instead.\n pointerEvents: 'all', cursor: isDisabled ? 'not-allowed' : undefined }));\n },\n control: function (css, _a) {\n var isFocused = _a.isFocused, isDisabled = _a.isDisabled;\n var borderColor = isFocused ? _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_2__[\"B100\"] : _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_2__[\"N20\"];\n var backgroundColor = isFocused ? _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_2__[\"N0\"] : _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_2__[\"N20\"];\n if (isDisabled) {\n backgroundColor = _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_2__[\"N20\"];\n }\n if (validationState === 'error')\n borderColor = _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_2__[\"R400\"];\n if (validationState === 'success')\n borderColor = _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_2__[\"G400\"];\n var borderColorHover = isFocused ? _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_2__[\"B100\"] : _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_2__[\"N30\"];\n if (validationState === 'error')\n borderColorHover = _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_2__[\"R400\"];\n if (validationState === 'success')\n borderColorHover = _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_2__[\"G400\"];\n var transitionDuration = '200ms';\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, css), { \n // Turn pointer events off when disabled - this makes it so hover etc don't work.\n pointerEvents: isDisabled ? 'none' : undefined, backgroundColor: backgroundColor,\n borderColor: borderColor, borderStyle: 'solid', borderRadius: '3px', borderWidth: '2px', boxShadow: 'none', minHeight: isCompact ? Object(_atlaskit_theme_constants__WEBPACK_IMPORTED_MODULE_1__[\"gridSize\"])() * 4 : Object(_atlaskit_theme_constants__WEBPACK_IMPORTED_MODULE_1__[\"gridSize\"])() * 5, padding: 0, transition: \"background-color \" + transitionDuration + \" ease-in-out,\\n border-color \" + transitionDuration + \" ease-in-out\", msOverflowStyle: '-ms-autohiding-scrollbar', '::-webkit-scrollbar': {\n height: Object(_atlaskit_theme_constants__WEBPACK_IMPORTED_MODULE_1__[\"gridSize\"])(),\n width: Object(_atlaskit_theme_constants__WEBPACK_IMPORTED_MODULE_1__[\"gridSize\"])(),\n }, '::-webkit-scrollbar-corner': {\n display: 'none',\n }, ':hover': {\n '::-webkit-scrollbar-thumb': {\n backgroundColor: 'rgba(0,0,0,0.2)',\n },\n cursor: 'pointer',\n backgroundColor: isFocused ? _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_2__[\"N0\"] : _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_2__[\"N30\"],\n borderColor: borderColorHover,\n }, '::-webkit-scrollbar-thumb:hover': {\n backgroundColor: 'rgba(0,0,0,0.4)',\n } });\n },\n valueContainer: function (css) { return (Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, css), { paddingLeft: paddingExcludingBorder, paddingRight: paddingExcludingBorder, paddingBottom: isCompact ? 0 : 2, paddingTop: isCompact ? 0 : 2 })); },\n clearIndicator: function (css) { return (Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, css), { color: _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_2__[\"N70\"], paddingLeft: ICON_PADDING, paddingRight: ICON_PADDING, paddingBottom: isCompact ? 0 : 6, paddingTop: isCompact ? 0 : 6, ':hover': {\n color: _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_2__[\"N500\"],\n } })); },\n loadingIndicator: function (css) { return (Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, css), { paddingBottom: isCompact ? 0 : 6, paddingTop: isCompact ? 0 : 6 })); },\n dropdownIndicator: function (css, _a) {\n var isDisabled = _a.isDisabled;\n var color = _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_2__[\"N500\"];\n if (isDisabled) {\n color = _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_2__[\"N70\"];\n }\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, css), { color: color, paddingLeft: ICON_PADDING, paddingRight: ICON_PADDING, paddingBottom: isCompact ? 0 : 6, paddingTop: isCompact ? 0 : 6, ':hover': {\n color: _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_2__[\"N200\"],\n } });\n },\n indicatorsContainer: function (css) { return (Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, css), { paddingRight: paddingExcludingBorder - ICON_PADDING })); },\n option: function (css, _a) {\n var isFocused = _a.isFocused, isSelected = _a.isSelected, isDisabled = _a.isDisabled;\n var color;\n if (isDisabled)\n color = _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_2__[\"N70\"];\n else if (isSelected)\n color = _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_2__[\"N0\"];\n var backgroundColor;\n if (isDisabled)\n backgroundColor = undefined;\n else if (isSelected)\n backgroundColor = _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_2__[\"N500\"];\n else if (isFocused)\n backgroundColor = _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_2__[\"N30\"];\n var cursor = isDisabled ? 'not-allowed' : undefined;\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, css), { paddingTop: '6px', paddingBottom: '6px', backgroundColor: backgroundColor,\n color: color,\n cursor: cursor });\n },\n placeholder: function (css) { return (Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, css), { color: _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_2__[\"N100\"] })); },\n singleValue: function (css, _a) {\n var isDisabled = _a.isDisabled;\n return (Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, css), { color: isDisabled ? _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_2__[\"N70\"] : _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_2__[\"N800\"], lineHeight: Object(_atlaskit_theme_constants__WEBPACK_IMPORTED_MODULE_1__[\"gridSize\"])() * 2 + \"px\" }));\n },\n menuList: function (css) { return (Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, css), { paddingTop: Object(_atlaskit_theme_constants__WEBPACK_IMPORTED_MODULE_1__[\"gridSize\"])(), paddingBottom: Object(_atlaskit_theme_constants__WEBPACK_IMPORTED_MODULE_1__[\"gridSize\"])() })); },\n multiValue: function (css) { return (Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, css), { borderRadius: '2px', backgroundColor: _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_2__[\"N40\"], color: _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_2__[\"N500\"], maxWidth: '100%' })); },\n multiValueLabel: function (css) { return (Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, css), { padding: '2px', paddingRight: '2px' })); },\n multiValueRemove: function (css, _a) {\n var isFocused = _a.isFocused;\n return (Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, css), { backgroundColor: isFocused && _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_2__[\"R75\"], color: isFocused && _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_2__[\"R400\"], paddingLeft: '2px', paddingRight: '2px', borderRadius: '0px 2px 2px 0px', ':hover': {\n color: _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_2__[\"R400\"],\n backgroundColor: _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_2__[\"R75\"],\n } }));\n },\n };\n}\n//# sourceMappingURL=styles.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L3NlbGVjdC9kaXN0L2VzbS9zdHlsZXMuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L3NlbGVjdC9kaXN0L2VzbS9zdHlsZXMuanM/ZjdlNyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBfX2Fzc2lnbiB9IGZyb20gXCJ0c2xpYlwiO1xuaW1wb3J0IHsgZ3JpZFNpemUgfSBmcm9tICdAYXRsYXNraXQvdGhlbWUvY29uc3RhbnRzJztcbmltcG9ydCAqIGFzIGNvbG9ycyBmcm9tICdAYXRsYXNraXQvdGhlbWUvY29sb3JzJztcbnZhciBCT1JERVJfV0lEVEggPSAyO1xudmFyIElDT05fUEFERElORyA9IDI7XG52YXIgcGFkZGluZ0V4Y2x1ZGluZ0JvcmRlciA9IGdyaWRTaXplKCkgLSBCT1JERVJfV0lEVEg7XG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBiYXNlU3R5bGVzKHZhbGlkYXRpb25TdGF0ZSwgaXNDb21wYWN0KSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgY29udGFpbmVyOiBmdW5jdGlvbiAoY3NzLCBfYSkge1xuICAgICAgICAgICAgdmFyIGlzRGlzYWJsZWQgPSBfYS5pc0Rpc2FibGVkO1xuICAgICAgICAgICAgcmV0dXJuIChfX2Fzc2lnbihfX2Fzc2lnbih7fSwgY3NzKSwgeyBcbiAgICAgICAgICAgICAgICAvLyByZWFjdC1zZWxlY3QgZGlzYWJsZXMgcG9pbnRlciBldmVudHMgd2hlbiBpc0Rpc2FibGVkIGlzIHRydWUuXG4gICAgICAgICAgICAgICAgLy8gV2Ugb3ZlcnJpZGUgdGhpcyBhbmQgbWFrZSB0aGUgaW5uZXIgY29udGFpbmVyIHR1cm4gaXQgb2ZmIGluc3RlYWQuXG4gICAgICAgICAgICAgICAgcG9pbnRlckV2ZW50czogJ2FsbCcsIGN1cnNvcjogaXNEaXNhYmxlZCA/ICdub3QtYWxsb3dlZCcgOiB1bmRlZmluZWQgfSkpO1xuICAgICAgICB9LFxuICAgICAgICBjb250cm9sOiBmdW5jdGlvbiAoY3NzLCBfYSkge1xuICAgICAgICAgICAgdmFyIGlzRm9jdXNlZCA9IF9hLmlzRm9jdXNlZCwgaXNEaXNhYmxlZCA9IF9hLmlzRGlzYWJsZWQ7XG4gICAgICAgICAgICB2YXIgYm9yZGVyQ29sb3IgPSBpc0ZvY3VzZWQgPyBjb2xvcnMuQjEwMCA6IGNvbG9ycy5OMjA7XG4gICAgICAgICAgICB2YXIgYmFja2dyb3VuZENvbG9yID0gaXNGb2N1c2VkID8gY29sb3JzLk4wIDogY29sb3JzLk4yMDtcbiAgICAgICAgICAgIGlmIChpc0Rpc2FibGVkKSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yID0gY29sb3JzLk4yMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh2YWxpZGF0aW9uU3RhdGUgPT09ICdlcnJvcicpXG4gICAgICAgICAgICAgICAgYm9yZGVyQ29sb3IgPSBjb2xvcnMuUjQwMDtcbiAgICAgICAgICAgIGlmICh2YWxpZGF0aW9uU3RhdGUgPT09ICdzdWNjZXNzJylcbiAgICAgICAgICAgICAgICBib3JkZXJDb2xvciA9IGNvbG9ycy5HNDAwO1xuICAgICAgICAgICAgdmFyIGJvcmRlckNvbG9ySG92ZXIgPSBpc0ZvY3VzZWQgPyBjb2xvcnMuQjEwMCA6IGNvbG9ycy5OMzA7XG4gICAgICAgICAgICBpZiAodmFsaWRhdGlvblN0YXRlID09PSAnZXJyb3InKVxuICAgICAgICAgICAgICAgIGJvcmRlckNvbG9ySG92ZXIgPSBjb2xvcnMuUjQwMDtcbiAgICAgICAgICAgIGlmICh2YWxpZGF0aW9uU3RhdGUgPT09ICdzdWNjZXNzJylcbiAgICAgICAgICAgICAgICBib3JkZXJDb2xvckhvdmVyID0gY29sb3JzLkc0MDA7XG4gICAgICAgICAgICB2YXIgdHJhbnNpdGlvbkR1cmF0aW9uID0gJzIwMG1zJztcbiAgICAgICAgICAgIHJldHVybiBfX2Fzc2lnbihfX2Fzc2lnbih7fSwgY3NzKSwgeyBcbiAgICAgICAgICAgICAgICAvLyBUdXJuIHBvaW50ZXIgZXZlbnRzIG9mZiB3aGVuIGRpc2FibGVkIC0gdGhpcyBtYWtlcyBpdCBzbyBob3ZlciBldGMgZG9uJ3Qgd29yay5cbiAgICAgICAgICAgICAgICBwb2ludGVyRXZlbnRzOiBpc0Rpc2FibGVkID8gJ25vbmUnIDogdW5kZWZpbmVkLCBiYWNrZ3JvdW5kQ29sb3I6IGJhY2tncm91bmRDb2xvcixcbiAgICAgICAgICAgICAgICBib3JkZXJDb2xvcjogYm9yZGVyQ29sb3IsIGJvcmRlclN0eWxlOiAnc29saWQnLCBib3JkZXJSYWRpdXM6ICczcHgnLCBib3JkZXJXaWR0aDogJzJweCcsIGJveFNoYWRvdzogJ25vbmUnLCBtaW5IZWlnaHQ6IGlzQ29tcGFjdCA/IGdyaWRTaXplKCkgKiA0IDogZ3JpZFNpemUoKSAqIDUsIHBhZGRpbmc6IDAsIHRyYW5zaXRpb246IFwiYmFja2dyb3VuZC1jb2xvciBcIiArIHRyYW5zaXRpb25EdXJhdGlvbiArIFwiIGVhc2UtaW4tb3V0LFxcbiAgICAgICAgYm9yZGVyLWNvbG9yIFwiICsgdHJhbnNpdGlvbkR1cmF0aW9uICsgXCIgZWFzZS1pbi1vdXRcIiwgbXNPdmVyZmxvd1N0eWxlOiAnLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyJywgJzo6LXdlYmtpdC1zY3JvbGxiYXInOiB7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogZ3JpZFNpemUoKSxcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGdyaWRTaXplKCksXG4gICAgICAgICAgICAgICAgfSwgJzo6LXdlYmtpdC1zY3JvbGxiYXItY29ybmVyJzoge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiAnbm9uZScsXG4gICAgICAgICAgICAgICAgfSwgJzpob3Zlcic6IHtcbiAgICAgICAgICAgICAgICAgICAgJzo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWInOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6ICdyZ2JhKDAsMCwwLDAuMiknLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBjdXJzb3I6ICdwb2ludGVyJyxcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBpc0ZvY3VzZWQgPyBjb2xvcnMuTjAgOiBjb2xvcnMuTjMwLFxuICAgICAgICAgICAgICAgICAgICBib3JkZXJDb2xvcjogYm9yZGVyQ29sb3JIb3ZlcixcbiAgICAgICAgICAgICAgICB9LCAnOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3Zlcic6IHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiAncmdiYSgwLDAsMCwwLjQpJyxcbiAgICAgICAgICAgICAgICB9IH0pO1xuICAgICAgICB9LFxuICAgICAgICB2YWx1ZUNvbnRhaW5lcjogZnVuY3Rpb24gKGNzcykgeyByZXR1cm4gKF9fYXNzaWduKF9fYXNzaWduKHt9LCBjc3MpLCB7IHBhZGRpbmdMZWZ0OiBwYWRkaW5nRXhjbHVkaW5nQm9yZGVyLCBwYWRkaW5nUmlnaHQ6IHBhZGRpbmdFeGNsdWRpbmdCb3JkZXIsIHBhZGRpbmdCb3R0b206IGlzQ29tcGFjdCA/IDAgOiAyLCBwYWRkaW5nVG9wOiBpc0NvbXBhY3QgPyAwIDogMiB9KSk7IH0sXG4gICAgICAgIGNsZWFySW5kaWNhdG9yOiBmdW5jdGlvbiAoY3NzKSB7IHJldHVybiAoX19hc3NpZ24oX19hc3NpZ24oe30sIGNzcyksIHsgY29sb3I6IGNvbG9ycy5ONzAsIHBhZGRpbmdMZWZ0OiBJQ09OX1BBRERJTkcsIHBhZGRpbmdSaWdodDogSUNPTl9QQURESU5HLCBwYWRkaW5nQm90dG9tOiBpc0NvbXBhY3QgPyAwIDogNiwgcGFkZGluZ1RvcDogaXNDb21wYWN0ID8gMCA6IDYsICc6aG92ZXInOiB7XG4gICAgICAgICAgICAgICAgY29sb3I6IGNvbG9ycy5ONTAwLFxuICAgICAgICAgICAgfSB9KSk7IH0sXG4gICAgICAgIGxvYWRpbmdJbmRpY2F0b3I6IGZ1bmN0aW9uIChjc3MpIHsgcmV0dXJuIChfX2Fzc2lnbihfX2Fzc2lnbih7fSwgY3NzKSwgeyBwYWRkaW5nQm90dG9tOiBpc0NvbXBhY3QgPyAwIDogNiwgcGFkZGluZ1RvcDogaXNDb21wYWN0ID8gMCA6IDYgfSkpOyB9LFxuICAgICAgICBkcm9wZG93bkluZGljYXRvcjogZnVuY3Rpb24gKGNzcywgX2EpIHtcbiAgICAgICAgICAgIHZhciBpc0Rpc2FibGVkID0gX2EuaXNEaXNhYmxlZDtcbiAgICAgICAgICAgIHZhciBjb2xvciA9IGNvbG9ycy5ONTAwO1xuICAgICAgICAgICAgaWYgKGlzRGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgICBjb2xvciA9IGNvbG9ycy5ONzA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gX19hc3NpZ24oX19hc3NpZ24oe30sIGNzcyksIHsgY29sb3I6IGNvbG9yLCBwYWRkaW5nTGVmdDogSUNPTl9QQURESU5HLCBwYWRkaW5nUmlnaHQ6IElDT05fUEFERElORywgcGFkZGluZ0JvdHRvbTogaXNDb21wYWN0ID8gMCA6IDYsIHBhZGRpbmdUb3A6IGlzQ29tcGFjdCA/IDAgOiA2LCAnOmhvdmVyJzoge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogY29sb3JzLk4yMDAsXG4gICAgICAgICAgICAgICAgfSB9KTtcbiAgICAgICAgfSxcbiAgICAgICAgaW5kaWNhdG9yc0NvbnRhaW5lcjogZnVuY3Rpb24gKGNzcykgeyByZXR1cm4gKF9fYXNzaWduKF9fYXNzaWduKHt9LCBjc3MpLCB7IHBhZGRpbmdSaWdodDogcGFkZGluZ0V4Y2x1ZGluZ0JvcmRlciAtIElDT05fUEFERElORyB9KSk7IH0sXG4gICAgICAgIG9wdGlvbjogZnVuY3Rpb24gKGNzcywgX2EpIHtcbiAgICAgICAgICAgIHZhciBpc0ZvY3VzZWQgPSBfYS5pc0ZvY3VzZWQsIGlzU2VsZWN0ZWQgPSBfYS5pc1NlbGVjdGVkLCBpc0Rpc2FibGVkID0gX2EuaXNEaXNhYmxlZDtcbiAgICAgICAgICAgIHZhciBjb2xvcjtcbiAgICAgICAgICAgIGlmIChpc0Rpc2FibGVkKVxuICAgICAgICAgICAgICAgIGNvbG9yID0gY29sb3JzLk43MDtcbiAgICAgICAgICAgIGVsc2UgaWYgKGlzU2VsZWN0ZWQpXG4gICAgICAgICAgICAgICAgY29sb3IgPSBjb2xvcnMuTjA7XG4gICAgICAgICAgICB2YXIgYmFja2dyb3VuZENvbG9yO1xuICAgICAgICAgICAgaWYgKGlzRGlzYWJsZWQpXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgZWxzZSBpZiAoaXNTZWxlY3RlZClcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3IgPSBjb2xvcnMuTjUwMDtcbiAgICAgICAgICAgIGVsc2UgaWYgKGlzRm9jdXNlZClcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3IgPSBjb2xvcnMuTjMwO1xuICAgICAgICAgICAgdmFyIGN1cnNvciA9IGlzRGlzYWJsZWQgPyAnbm90LWFsbG93ZWQnIDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgcmV0dXJuIF9fYXNzaWduKF9fYXNzaWduKHt9LCBjc3MpLCB7IHBhZGRpbmdUb3A6ICc2cHgnLCBwYWRkaW5nQm90dG9tOiAnNnB4JywgYmFja2dyb3VuZENvbG9yOiBiYWNrZ3JvdW5kQ29sb3IsXG4gICAgICAgICAgICAgICAgY29sb3I6IGNvbG9yLFxuICAgICAgICAgICAgICAgIGN1cnNvcjogY3Vyc29yIH0pO1xuICAgICAgICB9LFxuICAgICAgICBwbGFjZWhvbGRlcjogZnVuY3Rpb24gKGNzcykgeyByZXR1cm4gKF9fYXNzaWduKF9fYXNzaWduKHt9LCBjc3MpLCB7IGNvbG9yOiBjb2xvcnMuTjEwMCB9KSk7IH0sXG4gICAgICAgIHNpbmdsZVZhbHVlOiBmdW5jdGlvbiAoY3NzLCBfYSkge1xuICAgICAgICAgICAgdmFyIGlzRGlzYWJsZWQgPSBfYS5pc0Rpc2FibGVkO1xuICAgICAgICAgICAgcmV0dXJuIChfX2Fzc2lnbihfX2Fzc2lnbih7fSwgY3NzKSwgeyBjb2xvcjogaXNEaXNhYmxlZCA/IGNvbG9ycy5ONzAgOiBjb2xvcnMuTjgwMCwgbGluZUhlaWdodDogZ3JpZFNpemUoKSAqIDIgKyBcInB4XCIgfSkpO1xuICAgICAgICB9LFxuICAgICAgICBtZW51TGlzdDogZnVuY3Rpb24gKGNzcykgeyByZXR1cm4gKF9fYXNzaWduKF9fYXNzaWduKHt9LCBjc3MpLCB7IHBhZGRpbmdUb3A6IGdyaWRTaXplKCksIHBhZGRpbmdCb3R0b206IGdyaWRTaXplKCkgfSkpOyB9LFxuICAgICAgICBtdWx0aVZhbHVlOiBmdW5jdGlvbiAoY3NzKSB7IHJldHVybiAoX19hc3NpZ24oX19hc3NpZ24oe30sIGNzcyksIHsgYm9yZGVyUmFkaXVzOiAnMnB4JywgYmFja2dyb3VuZENvbG9yOiBjb2xvcnMuTjQwLCBjb2xvcjogY29sb3JzLk41MDAsIG1heFdpZHRoOiAnMTAwJScgfSkpOyB9LFxuICAgICAgICBtdWx0aVZhbHVlTGFiZWw6IGZ1bmN0aW9uIChjc3MpIHsgcmV0dXJuIChfX2Fzc2lnbihfX2Fzc2lnbih7fSwgY3NzKSwgeyBwYWRkaW5nOiAnMnB4JywgcGFkZGluZ1JpZ2h0OiAnMnB4JyB9KSk7IH0sXG4gICAgICAgIG11bHRpVmFsdWVSZW1vdmU6IGZ1bmN0aW9uIChjc3MsIF9hKSB7XG4gICAgICAgICAgICB2YXIgaXNGb2N1c2VkID0gX2EuaXNGb2N1c2VkO1xuICAgICAgICAgICAgcmV0dXJuIChfX2Fzc2lnbihfX2Fzc2lnbih7fSwgY3NzKSwgeyBiYWNrZ3JvdW5kQ29sb3I6IGlzRm9jdXNlZCAmJiBjb2xvcnMuUjc1LCBjb2xvcjogaXNGb2N1c2VkICYmIGNvbG9ycy5SNDAwLCBwYWRkaW5nTGVmdDogJzJweCcsIHBhZGRpbmdSaWdodDogJzJweCcsIGJvcmRlclJhZGl1czogJzBweCAycHggMnB4IDBweCcsICc6aG92ZXInOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBjb2xvcnMuUjQwMCxcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBjb2xvcnMuUjc1LFxuICAgICAgICAgICAgICAgIH0gfSkpO1xuICAgICAgICB9LFxuICAgIH07XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1zdHlsZXMuanMubWFwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/select/dist/esm/styles.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/select/dist/esm/version.json": /*!*************************************************************!*\ !*** ./node_modules/@atlaskit/select/dist/esm/version.json ***! \*************************************************************/ /*! exports provided: name, version, sideEffects, default */ /***/ (function(module) { eval("module.exports = JSON.parse(\"{\\\"name\\\":\\\"@atlaskit/select\\\",\\\"version\\\":\\\"11.0.11\\\",\\\"sideEffects\\\":false}\");//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L3NlbGVjdC9kaXN0L2VzbS92ZXJzaW9uLmpzb24uanMiLCJzb3VyY2VzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/select/dist/esm/version.json\n"); /***/ }), /***/ "./node_modules/@atlaskit/select/node_modules/tslib/tslib.es6.js": /*!***********************************************************************!*\ !*** ./node_modules/@atlaskit/select/node_modules/tslib/tslib.es6.js ***! \***********************************************************************/ /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault, __classPrivateFieldGet, __classPrivateFieldSet */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__extends\", function() { return __extends; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__assign\", function() { return __assign; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__rest\", function() { return __rest; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__decorate\", function() { return __decorate; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__param\", function() { return __param; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__metadata\", function() { return __metadata; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__awaiter\", function() { return __awaiter; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__generator\", function() { return __generator; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__exportStar\", function() { return __exportStar; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__values\", function() { return __values; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__read\", function() { return __read; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__spread\", function() { return __spread; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__spreadArrays\", function() { return __spreadArrays; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__await\", function() { return __await; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__asyncGenerator\", function() { return __asyncGenerator; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__asyncDelegator\", function() { return __asyncDelegator; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__asyncValues\", function() { return __asyncValues; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__makeTemplateObject\", function() { return __makeTemplateObject; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__importStar\", function() { return __importStar; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__importDefault\", function() { return __importDefault; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__classPrivateFieldGet\", function() { return __classPrivateFieldGet; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__classPrivateFieldSet\", function() { return __classPrivateFieldSet; });\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nfunction __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nvar __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nfunction __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nfunction __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nfunction __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nfunction __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nfunction __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nfunction __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nfunction __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nfunction __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nfunction __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nfunction __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nfunction __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nfunction __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nfunction __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nfunction __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nfunction __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nfunction __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nfunction __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nfunction __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nfunction __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nfunction __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L3NlbGVjdC9ub2RlX21vZHVsZXMvdHNsaWIvdHNsaWIuZXM2LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BhdGxhc2tpdC9zZWxlY3Qvbm9kZV9tb2R1bGVzL3RzbGliL3RzbGliLmVzNi5qcz80ZmRmIl0sInNvdXJjZXNDb250ZW50IjpbIi8qISAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5Db3B5cmlnaHQgKGMpIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTsgeW91IG1heSBub3QgdXNlXHJcbnRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlXHJcbkxpY2Vuc2UgYXQgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXHJcblxyXG5USElTIENPREUgSVMgUFJPVklERUQgT04gQU4gKkFTIElTKiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZXHJcbktJTkQsIEVJVEhFUiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBXSVRIT1VUIExJTUlUQVRJT04gQU5ZIElNUExJRURcclxuV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIFRJVExFLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSxcclxuTUVSQ0hBTlRBQkxJVFkgT1IgTk9OLUlORlJJTkdFTUVOVC5cclxuXHJcblNlZSB0aGUgQXBhY2hlIFZlcnNpb24gMi4wIExpY2Vuc2UgZm9yIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9uc1xyXG5hbmQgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXHJcbi8qIGdsb2JhbCBSZWZsZWN0LCBQcm9taXNlICovXHJcblxyXG52YXIgZXh0ZW5kU3RhdGljcyA9IGZ1bmN0aW9uKGQsIGIpIHtcclxuICAgIGV4dGVuZFN0YXRpY3MgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgfHxcclxuICAgICAgICAoeyBfX3Byb3RvX186IFtdIH0gaW5zdGFuY2VvZiBBcnJheSAmJiBmdW5jdGlvbiAoZCwgYikgeyBkLl9fcHJvdG9fXyA9IGI7IH0pIHx8XHJcbiAgICAgICAgZnVuY3Rpb24gKGQsIGIpIHsgZm9yICh2YXIgcCBpbiBiKSBpZiAoYi5oYXNPd25Qcm9wZXJ0eShwKSkgZFtwXSA9IGJbcF07IH07XHJcbiAgICByZXR1cm4gZXh0ZW5kU3RhdGljcyhkLCBiKTtcclxufTtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2V4dGVuZHMoZCwgYikge1xyXG4gICAgZXh0ZW5kU3RhdGljcyhkLCBiKTtcclxuICAgIGZ1bmN0aW9uIF9fKCkgeyB0aGlzLmNvbnN0cnVjdG9yID0gZDsgfVxyXG4gICAgZC5wcm90b3R5cGUgPSBiID09PSBudWxsID8gT2JqZWN0LmNyZWF0ZShiKSA6IChfXy5wcm90b3R5cGUgPSBiLnByb3RvdHlwZSwgbmV3IF9fKCkpO1xyXG59XHJcblxyXG5leHBvcnQgdmFyIF9fYXNzaWduID0gZnVuY3Rpb24oKSB7XHJcbiAgICBfX2Fzc2lnbiA9IE9iamVjdC5hc3NpZ24gfHwgZnVuY3Rpb24gX19hc3NpZ24odCkge1xyXG4gICAgICAgIGZvciAodmFyIHMsIGkgPSAxLCBuID0gYXJndW1lbnRzLmxlbmd0aDsgaSA8IG47IGkrKykge1xyXG4gICAgICAgICAgICBzID0gYXJndW1lbnRzW2ldO1xyXG4gICAgICAgICAgICBmb3IgKHZhciBwIGluIHMpIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocywgcCkpIHRbcF0gPSBzW3BdO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdDtcclxuICAgIH1cclxuICAgIHJldHVybiBfX2Fzc2lnbi5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19yZXN0KHMsIGUpIHtcclxuICAgIHZhciB0ID0ge307XHJcbiAgICBmb3IgKHZhciBwIGluIHMpIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocywgcCkgJiYgZS5pbmRleE9mKHApIDwgMClcclxuICAgICAgICB0W3BdID0gc1twXTtcclxuICAgIGlmIChzICE9IG51bGwgJiYgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMgPT09IFwiZnVuY3Rpb25cIilcclxuICAgICAgICBmb3IgKHZhciBpID0gMCwgcCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMocyk7IGkgPCBwLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGlmIChlLmluZGV4T2YocFtpXSkgPCAwICYmIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChzLCBwW2ldKSlcclxuICAgICAgICAgICAgICAgIHRbcFtpXV0gPSBzW3BbaV1dO1xyXG4gICAgICAgIH1cclxuICAgIHJldHVybiB0O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19kZWNvcmF0ZShkZWNvcmF0b3JzLCB0YXJnZXQsIGtleSwgZGVzYykge1xyXG4gICAgdmFyIGMgPSBhcmd1bWVudHMubGVuZ3RoLCByID0gYyA8IDMgPyB0YXJnZXQgOiBkZXNjID09PSBudWxsID8gZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodGFyZ2V0LCBrZXkpIDogZGVzYywgZDtcclxuICAgIGlmICh0eXBlb2YgUmVmbGVjdCA9PT0gXCJvYmplY3RcIiAmJiB0eXBlb2YgUmVmbGVjdC5kZWNvcmF0ZSA9PT0gXCJmdW5jdGlvblwiKSByID0gUmVmbGVjdC5kZWNvcmF0ZShkZWNvcmF0b3JzLCB0YXJnZXQsIGtleSwgZGVzYyk7XHJcbiAgICBlbHNlIGZvciAodmFyIGkgPSBkZWNvcmF0b3JzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSBpZiAoZCA9IGRlY29yYXRvcnNbaV0pIHIgPSAoYyA8IDMgPyBkKHIpIDogYyA+IDMgPyBkKHRhcmdldCwga2V5LCByKSA6IGQodGFyZ2V0LCBrZXkpKSB8fCByO1xyXG4gICAgcmV0dXJuIGMgPiAzICYmIHIgJiYgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCByKSwgcjtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fcGFyYW0ocGFyYW1JbmRleCwgZGVjb3JhdG9yKSB7XHJcbiAgICByZXR1cm4gZnVuY3Rpb24gKHRhcmdldCwga2V5KSB7IGRlY29yYXRvcih0YXJnZXQsIGtleSwgcGFyYW1JbmRleCk7IH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fbWV0YWRhdGEobWV0YWRhdGFLZXksIG1ldGFkYXRhVmFsdWUpIHtcclxuICAgIGlmICh0eXBlb2YgUmVmbGVjdCA9PT0gXCJvYmplY3RcIiAmJiB0eXBlb2YgUmVmbGVjdC5tZXRhZGF0YSA9PT0gXCJmdW5jdGlvblwiKSByZXR1cm4gUmVmbGVjdC5tZXRhZGF0YShtZXRhZGF0YUtleSwgbWV0YWRhdGFWYWx1ZSk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2F3YWl0ZXIodGhpc0FyZywgX2FyZ3VtZW50cywgUCwgZ2VuZXJhdG9yKSB7XHJcbiAgICBmdW5jdGlvbiBhZG9wdCh2YWx1ZSkgeyByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBQID8gdmFsdWUgOiBuZXcgUChmdW5jdGlvbiAocmVzb2x2ZSkgeyByZXNvbHZlKHZhbHVlKTsgfSk7IH1cclxuICAgIHJldHVybiBuZXcgKFAgfHwgKFAgPSBQcm9taXNlKSkoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xyXG4gICAgICAgIGZ1bmN0aW9uIGZ1bGZpbGxlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvci5uZXh0KHZhbHVlKSk7IH0gY2F0Y2ggKGUpIHsgcmVqZWN0KGUpOyB9IH1cclxuICAgICAgICBmdW5jdGlvbiByZWplY3RlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvcltcInRocm93XCJdKHZhbHVlKSk7IH0gY2F0Y2ggKGUpIHsgcmVqZWN0KGUpOyB9IH1cclxuICAgICAgICBmdW5jdGlvbiBzdGVwKHJlc3VsdCkgeyByZXN1bHQuZG9uZSA/IHJlc29sdmUocmVzdWx0LnZhbHVlKSA6IGFkb3B0KHJlc3VsdC52YWx1ZSkudGhlbihmdWxmaWxsZWQsIHJlamVjdGVkKTsgfVxyXG4gICAgICAgIHN0ZXAoKGdlbmVyYXRvciA9IGdlbmVyYXRvci5hcHBseSh0aGlzQXJnLCBfYXJndW1lbnRzIHx8IFtdKSkubmV4dCgpKTtcclxuICAgIH0pO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19nZW5lcmF0b3IodGhpc0FyZywgYm9keSkge1xyXG4gICAgdmFyIF8gPSB7IGxhYmVsOiAwLCBzZW50OiBmdW5jdGlvbigpIHsgaWYgKHRbMF0gJiAxKSB0aHJvdyB0WzFdOyByZXR1cm4gdFsxXTsgfSwgdHJ5czogW10sIG9wczogW10gfSwgZiwgeSwgdCwgZztcclxuICAgIHJldHVybiBnID0geyBuZXh0OiB2ZXJiKDApLCBcInRocm93XCI6IHZlcmIoMSksIFwicmV0dXJuXCI6IHZlcmIoMikgfSwgdHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIChnW1N5bWJvbC5pdGVyYXRvcl0gPSBmdW5jdGlvbigpIHsgcmV0dXJuIHRoaXM7IH0pLCBnO1xyXG4gICAgZnVuY3Rpb24gdmVyYihuKSB7IHJldHVybiBmdW5jdGlvbiAodikgeyByZXR1cm4gc3RlcChbbiwgdl0pOyB9OyB9XHJcbiAgICBmdW5jdGlvbiBzdGVwKG9wKSB7XHJcbiAgICAgICAgaWYgKGYpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJHZW5lcmF0b3IgaXMgYWxyZWFkeSBleGVjdXRpbmcuXCIpO1xyXG4gICAgICAgIHdoaWxlIChfKSB0cnkge1xyXG4gICAgICAgICAgICBpZiAoZiA9IDEsIHkgJiYgKHQgPSBvcFswXSAmIDIgPyB5W1wicmV0dXJuXCJdIDogb3BbMF0gPyB5W1widGhyb3dcIl0gfHwgKCh0ID0geVtcInJldHVyblwiXSkgJiYgdC5jYWxsKHkpLCAwKSA6IHkubmV4dCkgJiYgISh0ID0gdC5jYWxsKHksIG9wWzFdKSkuZG9uZSkgcmV0dXJuIHQ7XHJcbiAgICAgICAgICAgIGlmICh5ID0gMCwgdCkgb3AgPSBbb3BbMF0gJiAyLCB0LnZhbHVlXTtcclxuICAgICAgICAgICAgc3dpdGNoIChvcFswXSkge1xyXG4gICAgICAgICAgICAgICAgY2FzZSAwOiBjYXNlIDE6IHQgPSBvcDsgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICBjYXNlIDQ6IF8ubGFiZWwrKzsgcmV0dXJuIHsgdmFsdWU6IG9wWzFdLCBkb25lOiBmYWxzZSB9O1xyXG4gICAgICAgICAgICAgICAgY2FzZSA1OiBfLmxhYmVsKys7IHkgPSBvcFsxXTsgb3AgPSBbMF07IGNvbnRpbnVlO1xyXG4gICAgICAgICAgICAgICAgY2FzZSA3OiBvcCA9IF8ub3BzLnBvcCgpOyBfLnRyeXMucG9wKCk7IGNvbnRpbnVlO1xyXG4gICAgICAgICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgICAgICAgICBpZiAoISh0ID0gXy50cnlzLCB0ID0gdC5sZW5ndGggPiAwICYmIHRbdC5sZW5ndGggLSAxXSkgJiYgKG9wWzBdID09PSA2IHx8IG9wWzBdID09PSAyKSkgeyBfID0gMDsgY29udGludWU7IH1cclxuICAgICAgICAgICAgICAgICAgICBpZiAob3BbMF0gPT09IDMgJiYgKCF0IHx8IChvcFsxXSA+IHRbMF0gJiYgb3BbMV0gPCB0WzNdKSkpIHsgXy5sYWJlbCA9IG9wWzFdOyBicmVhazsgfVxyXG4gICAgICAgICAgICAgICAgICAgIGlmIChvcFswXSA9PT0gNiAmJiBfLmxhYmVsIDwgdFsxXSkgeyBfLmxhYmVsID0gdFsxXTsgdCA9IG9wOyBicmVhazsgfVxyXG4gICAgICAgICAgICAgICAgICAgIGlmICh0ICYmIF8ubGFiZWwgPCB0WzJdKSB7IF8ubGFiZWwgPSB0WzJdOyBfLm9wcy5wdXNoKG9wKTsgYnJlYWs7IH1cclxuICAgICAgICAgICAgICAgICAgICBpZiAodFsyXSkgXy5vcHMucG9wKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgXy50cnlzLnBvcCgpOyBjb250aW51ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBvcCA9IGJvZHkuY2FsbCh0aGlzQXJnLCBfKTtcclxuICAgICAgICB9IGNhdGNoIChlKSB7IG9wID0gWzYsIGVdOyB5ID0gMDsgfSBmaW5hbGx5IHsgZiA9IHQgPSAwOyB9XHJcbiAgICAgICAgaWYgKG9wWzBdICYgNSkgdGhyb3cgb3BbMV07IHJldHVybiB7IHZhbHVlOiBvcFswXSA/IG9wWzFdIDogdm9pZCAwLCBkb25lOiB0cnVlIH07XHJcbiAgICB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2V4cG9ydFN0YXIobSwgZXhwb3J0cykge1xyXG4gICAgZm9yICh2YXIgcCBpbiBtKSBpZiAoIWV4cG9ydHMuaGFzT3duUHJvcGVydHkocCkpIGV4cG9ydHNbcF0gPSBtW3BdO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX192YWx1ZXMobykge1xyXG4gICAgdmFyIHMgPSB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgU3ltYm9sLml0ZXJhdG9yLCBtID0gcyAmJiBvW3NdLCBpID0gMDtcclxuICAgIGlmIChtKSByZXR1cm4gbS5jYWxsKG8pO1xyXG4gICAgaWYgKG8gJiYgdHlwZW9mIG8ubGVuZ3RoID09PSBcIm51bWJlclwiKSByZXR1cm4ge1xyXG4gICAgICAgIG5leHQ6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgaWYgKG8gJiYgaSA+PSBvLmxlbmd0aCkgbyA9IHZvaWQgMDtcclxuICAgICAgICAgICAgcmV0dXJuIHsgdmFsdWU6IG8gJiYgb1tpKytdLCBkb25lOiAhbyB9O1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKHMgPyBcIk9iamVjdCBpcyBub3QgaXRlcmFibGUuXCIgOiBcIlN5bWJvbC5pdGVyYXRvciBpcyBub3QgZGVmaW5lZC5cIik7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3JlYWQobywgbikge1xyXG4gICAgdmFyIG0gPSB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgb1tTeW1ib2wuaXRlcmF0b3JdO1xyXG4gICAgaWYgKCFtKSByZXR1cm4gbztcclxuICAgIHZhciBpID0gbS5jYWxsKG8pLCByLCBhciA9IFtdLCBlO1xyXG4gICAgdHJ5IHtcclxuICAgICAgICB3aGlsZSAoKG4gPT09IHZvaWQgMCB8fCBuLS0gPiAwKSAmJiAhKHIgPSBpLm5leHQoKSkuZG9uZSkgYXIucHVzaChyLnZhbHVlKTtcclxuICAgIH1cclxuICAgIGNhdGNoIChlcnJvcikgeyBlID0geyBlcnJvcjogZXJyb3IgfTsgfVxyXG4gICAgZmluYWxseSB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgaWYgKHIgJiYgIXIuZG9uZSAmJiAobSA9IGlbXCJyZXR1cm5cIl0pKSBtLmNhbGwoaSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZpbmFsbHkgeyBpZiAoZSkgdGhyb3cgZS5lcnJvcjsgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGFyO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19zcHJlYWQoKSB7XHJcbiAgICBmb3IgKHZhciBhciA9IFtdLCBpID0gMDsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKylcclxuICAgICAgICBhciA9IGFyLmNvbmNhdChfX3JlYWQoYXJndW1lbnRzW2ldKSk7XHJcbiAgICByZXR1cm4gYXI7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3NwcmVhZEFycmF5cygpIHtcclxuICAgIGZvciAodmFyIHMgPSAwLCBpID0gMCwgaWwgPSBhcmd1bWVudHMubGVuZ3RoOyBpIDwgaWw7IGkrKykgcyArPSBhcmd1bWVudHNbaV0ubGVuZ3RoO1xyXG4gICAgZm9yICh2YXIgciA9IEFycmF5KHMpLCBrID0gMCwgaSA9IDA7IGkgPCBpbDsgaSsrKVxyXG4gICAgICAgIGZvciAodmFyIGEgPSBhcmd1bWVudHNbaV0sIGogPSAwLCBqbCA9IGEubGVuZ3RoOyBqIDwgamw7IGorKywgaysrKVxyXG4gICAgICAgICAgICByW2tdID0gYVtqXTtcclxuICAgIHJldHVybiByO1xyXG59O1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fYXdhaXQodikge1xyXG4gICAgcmV0dXJuIHRoaXMgaW5zdGFuY2VvZiBfX2F3YWl0ID8gKHRoaXMudiA9IHYsIHRoaXMpIDogbmV3IF9fYXdhaXQodik7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2FzeW5jR2VuZXJhdG9yKHRoaXNBcmcsIF9hcmd1bWVudHMsIGdlbmVyYXRvcikge1xyXG4gICAgaWYgKCFTeW1ib2wuYXN5bmNJdGVyYXRvcikgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlN5bWJvbC5hc3luY0l0ZXJhdG9yIGlzIG5vdCBkZWZpbmVkLlwiKTtcclxuICAgIHZhciBnID0gZ2VuZXJhdG9yLmFwcGx5KHRoaXNBcmcsIF9hcmd1bWVudHMgfHwgW10pLCBpLCBxID0gW107XHJcbiAgICByZXR1cm4gaSA9IHt9LCB2ZXJiKFwibmV4dFwiKSwgdmVyYihcInRocm93XCIpLCB2ZXJiKFwicmV0dXJuXCIpLCBpW1N5bWJvbC5hc3luY0l0ZXJhdG9yXSA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRoaXM7IH0sIGk7XHJcbiAgICBmdW5jdGlvbiB2ZXJiKG4pIHsgaWYgKGdbbl0pIGlbbl0gPSBmdW5jdGlvbiAodikgeyByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24gKGEsIGIpIHsgcS5wdXNoKFtuLCB2LCBhLCBiXSkgPiAxIHx8IHJlc3VtZShuLCB2KTsgfSk7IH07IH1cclxuICAgIGZ1bmN0aW9uIHJlc3VtZShuLCB2KSB7IHRyeSB7IHN0ZXAoZ1tuXSh2KSk7IH0gY2F0Y2ggKGUpIHsgc2V0dGxlKHFbMF1bM10sIGUpOyB9IH1cclxuICAgIGZ1bmN0aW9uIHN0ZXAocikgeyByLnZhbHVlIGluc3RhbmNlb2YgX19hd2FpdCA/IFByb21pc2UucmVzb2x2ZShyLnZhbHVlLnYpLnRoZW4oZnVsZmlsbCwgcmVqZWN0KSA6IHNldHRsZShxWzBdWzJdLCByKTsgfVxyXG4gICAgZnVuY3Rpb24gZnVsZmlsbCh2YWx1ZSkgeyByZXN1bWUoXCJuZXh0XCIsIHZhbHVlKTsgfVxyXG4gICAgZnVuY3Rpb24gcmVqZWN0KHZhbHVlKSB7IHJlc3VtZShcInRocm93XCIsIHZhbHVlKTsgfVxyXG4gICAgZnVuY3Rpb24gc2V0dGxlKGYsIHYpIHsgaWYgKGYodiksIHEuc2hpZnQoKSwgcS5sZW5ndGgpIHJlc3VtZShxWzBdWzBdLCBxWzBdWzFdKTsgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19hc3luY0RlbGVnYXRvcihvKSB7XHJcbiAgICB2YXIgaSwgcDtcclxuICAgIHJldHVybiBpID0ge30sIHZlcmIoXCJuZXh0XCIpLCB2ZXJiKFwidGhyb3dcIiwgZnVuY3Rpb24gKGUpIHsgdGhyb3cgZTsgfSksIHZlcmIoXCJyZXR1cm5cIiksIGlbU3ltYm9sLml0ZXJhdG9yXSA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRoaXM7IH0sIGk7XHJcbiAgICBmdW5jdGlvbiB2ZXJiKG4sIGYpIHsgaVtuXSA9IG9bbl0gPyBmdW5jdGlvbiAodikgeyByZXR1cm4gKHAgPSAhcCkgPyB7IHZhbHVlOiBfX2F3YWl0KG9bbl0odikpLCBkb25lOiBuID09PSBcInJldHVyblwiIH0gOiBmID8gZih2KSA6IHY7IH0gOiBmOyB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2FzeW5jVmFsdWVzKG8pIHtcclxuICAgIGlmICghU3ltYm9sLmFzeW5jSXRlcmF0b3IpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJTeW1ib2wuYXN5bmNJdGVyYXRvciBpcyBub3QgZGVmaW5lZC5cIik7XHJcbiAgICB2YXIgbSA9IG9bU3ltYm9sLmFzeW5jSXRlcmF0b3JdLCBpO1xyXG4gICAgcmV0dXJuIG0gPyBtLmNhbGwobykgOiAobyA9IHR5cGVvZiBfX3ZhbHVlcyA9PT0gXCJmdW5jdGlvblwiID8gX192YWx1ZXMobykgOiBvW1N5bWJvbC5pdGVyYXRvcl0oKSwgaSA9IHt9LCB2ZXJiKFwibmV4dFwiKSwgdmVyYihcInRocm93XCIpLCB2ZXJiKFwicmV0dXJuXCIpLCBpW1N5bWJvbC5hc3luY0l0ZXJhdG9yXSA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRoaXM7IH0sIGkpO1xyXG4gICAgZnVuY3Rpb24gdmVyYihuKSB7IGlbbl0gPSBvW25dICYmIGZ1bmN0aW9uICh2KSB7IHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7IHYgPSBvW25dKHYpLCBzZXR0bGUocmVzb2x2ZSwgcmVqZWN0LCB2LmRvbmUsIHYudmFsdWUpOyB9KTsgfTsgfVxyXG4gICAgZnVuY3Rpb24gc2V0dGxlKHJlc29sdmUsIHJlamVjdCwgZCwgdikgeyBQcm9taXNlLnJlc29sdmUodikudGhlbihmdW5jdGlvbih2KSB7IHJlc29sdmUoeyB2YWx1ZTogdiwgZG9uZTogZCB9KTsgfSwgcmVqZWN0KTsgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19tYWtlVGVtcGxhdGVPYmplY3QoY29va2VkLCByYXcpIHtcclxuICAgIGlmIChPYmplY3QuZGVmaW5lUHJvcGVydHkpIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNvb2tlZCwgXCJyYXdcIiwgeyB2YWx1ZTogcmF3IH0pOyB9IGVsc2UgeyBjb29rZWQucmF3ID0gcmF3OyB9XHJcbiAgICByZXR1cm4gY29va2VkO1xyXG59O1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9faW1wb3J0U3Rhcihtb2QpIHtcclxuICAgIGlmIChtb2QgJiYgbW9kLl9fZXNNb2R1bGUpIHJldHVybiBtb2Q7XHJcbiAgICB2YXIgcmVzdWx0ID0ge307XHJcbiAgICBpZiAobW9kICE9IG51bGwpIGZvciAodmFyIGsgaW4gbW9kKSBpZiAoT2JqZWN0Lmhhc093blByb3BlcnR5LmNhbGwobW9kLCBrKSkgcmVzdWx0W2tdID0gbW9kW2tdO1xyXG4gICAgcmVzdWx0LmRlZmF1bHQgPSBtb2Q7XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19pbXBvcnREZWZhdWx0KG1vZCkge1xyXG4gICAgcmV0dXJuIChtb2QgJiYgbW9kLl9fZXNNb2R1bGUpID8gbW9kIDogeyBkZWZhdWx0OiBtb2QgfTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fY2xhc3NQcml2YXRlRmllbGRHZXQocmVjZWl2ZXIsIHByaXZhdGVNYXApIHtcclxuICAgIGlmICghcHJpdmF0ZU1hcC5oYXMocmVjZWl2ZXIpKSB7XHJcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcImF0dGVtcHRlZCB0byBnZXQgcHJpdmF0ZSBmaWVsZCBvbiBub24taW5zdGFuY2VcIik7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcHJpdmF0ZU1hcC5nZXQocmVjZWl2ZXIpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19jbGFzc1ByaXZhdGVGaWVsZFNldChyZWNlaXZlciwgcHJpdmF0ZU1hcCwgdmFsdWUpIHtcclxuICAgIGlmICghcHJpdmF0ZU1hcC5oYXMocmVjZWl2ZXIpKSB7XHJcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcImF0dGVtcHRlZCB0byBzZXQgcHJpdmF0ZSBmaWVsZCBvbiBub24taW5zdGFuY2VcIik7XHJcbiAgICB9XHJcbiAgICBwcml2YXRlTWFwLnNldChyZWNlaXZlciwgdmFsdWUpO1xyXG4gICAgcmV0dXJuIHZhbHVlO1xyXG59XHJcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/select/node_modules/tslib/tslib.es6.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/spinner/dist/esm/Spinner/constants.js": /*!**********************************************************************!*\ !*** ./node_modules/@atlaskit/spinner/dist/esm/Spinner/constants.js ***! \**********************************************************************/ /*! exports provided: SIZES_MAP, DEFAULT_SIZE */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SIZES_MAP\", function() { return SIZES_MAP; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DEFAULT_SIZE\", function() { return DEFAULT_SIZE; });\nvar SIZES_MAP = {\n xsmall: 8,\n small: 16,\n medium: 24,\n large: 48,\n xlarge: 96,\n};\nvar DEFAULT_SIZE = SIZES_MAP.small;\n//# sourceMappingURL=constants.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L3NwaW5uZXIvZGlzdC9lc20vU3Bpbm5lci9jb25zdGFudHMuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L3NwaW5uZXIvZGlzdC9lc20vU3Bpbm5lci9jb25zdGFudHMuanM/YTE3YSJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdmFyIFNJWkVTX01BUCA9IHtcbiAgICB4c21hbGw6IDgsXG4gICAgc21hbGw6IDE2LFxuICAgIG1lZGl1bTogMjQsXG4gICAgbGFyZ2U6IDQ4LFxuICAgIHhsYXJnZTogOTYsXG59O1xuZXhwb3J0IHZhciBERUZBVUxUX1NJWkUgPSBTSVpFU19NQVAuc21hbGw7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1jb25zdGFudHMuanMubWFwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/spinner/dist/esm/Spinner/constants.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/spinner/dist/esm/Spinner/index.js": /*!******************************************************************!*\ !*** ./node_modules/@atlaskit/spinner/dist/esm/Spinner/index.js ***! \******************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/@atlaskit/spinner/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react_transition_group__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-transition-group */ \"./node_modules/react-transition-group/index.js\");\n/* harmony import */ var react_transition_group__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react_transition_group__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! styled-components */ \"./node_modules/styled-components/dist/styled-components.browser.esm.js\");\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./constants */ \"./node_modules/@atlaskit/spinner/dist/esm/Spinner/constants.js\");\n/* harmony import */ var _styledContainer__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./styledContainer */ \"./node_modules/@atlaskit/spinner/dist/esm/Spinner/styledContainer.js\");\n/* harmony import */ var _styledSvg__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./styledSvg */ \"./node_modules/@atlaskit/spinner/dist/esm/Spinner/styledSvg.js\");\n\n\n\n\n\n\n\nvar Outer = styled_components__WEBPACK_IMPORTED_MODULE_3__[\"default\"].span(templateObject_1 || (templateObject_1 = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__makeTemplateObject\"])([\"\\n display: inline-block;\\n vertical-align: middle;\\n\"], [\"\\n display: inline-block;\\n vertical-align: middle;\\n\"])));\nOuter.displayName = 'Outer';\nvar Spinner = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(Spinner, _super);\n function Spinner(props) {\n var _this = _super.call(this, props) || this;\n _this.transitionNode = null;\n _this.enter = function () {\n var delay = _this.props.delay;\n if (delay) {\n _this.setState({ phase: 'DELAY' });\n }\n else {\n _this.setState({ phase: 'ENTER' });\n }\n };\n _this.idle = function () {\n _this.setState({ phase: 'IDLE' });\n };\n _this.exit = function () {\n _this.setState({ phase: 'LEAVE' });\n };\n _this.endListener = function (node, done) {\n var executeCallback = function (event) {\n // ignore animation events on the glyph\n if (event.target.tagName === 'svg') {\n return;\n }\n if (_this.state.phase === 'DELAY') {\n _this.setState({ phase: 'ENTER' });\n _this.endListener(node, done);\n }\n else {\n done();\n }\n return node && node.removeEventListener('animationend', executeCallback);\n };\n // FIX - jest-emotion doesn't recognise the DOM node so it can't add\n // the eventListener in the @atlaskit/button tests.\n // Should be fixed when we move to emotion@10\n if (node && node.addEventListener) {\n return node.addEventListener('animationend', executeCallback);\n }\n return done();\n };\n _this.validateSize = function () {\n var size = _this.props.size;\n var spinnerSize = _constants__WEBPACK_IMPORTED_MODULE_4__[\"SIZES_MAP\"][size] || size;\n return typeof spinnerSize === 'number' ? spinnerSize : _constants__WEBPACK_IMPORTED_MODULE_4__[\"DEFAULT_SIZE\"];\n };\n _this.state = {\n phase: '',\n };\n return _this;\n }\n Spinner.prototype.render = function () {\n var _this = this;\n var phase = this.state.phase;\n var _a = this.props, delay = _a.delay, invertColor = _a.invertColor, isCompleting = _a.isCompleting, testId = _a.testId;\n var size = this.validateSize();\n var strokeWidth = Math.round(size / 10);\n var strokeRadius = size / 2 - strokeWidth / 2;\n return (react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(Outer, null,\n react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(react_transition_group__WEBPACK_IMPORTED_MODULE_2__[\"Transition\"], { addEndListener: this.endListener, appear: true, in: !isCompleting, mountOnEnter: true, unmountOnExit: true, onEnter: this.enter, onEntered: this.idle, onExit: this.exit, onExited: function () { return _this.props.onComplete(); }, timeout: 0, ref: function (node) {\n _this.transitionNode = node;\n } },\n react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_styledContainer__WEBPACK_IMPORTED_MODULE_5__[\"default\"], { delay: delay / 1000, phase: phase, size: size, \"data-testid\": testId },\n react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_styledSvg__WEBPACK_IMPORTED_MODULE_6__[\"default\"], { focusable: \"false\", height: size, invertColor: invertColor, phase: phase, size: size, viewBox: \"0 0 \" + size + \" \" + size, width: size, xmlns: \"http://www.w3.org/2000/svg\" },\n react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\"circle\", { cx: size / 2, cy: size / 2, r: strokeRadius }))))));\n };\n Spinner.defaultProps = {\n delay: 100,\n isCompleting: false,\n invertColor: false,\n onComplete: function () { },\n size: 'medium',\n };\n return Spinner;\n}(react__WEBPACK_IMPORTED_MODULE_1__[\"Component\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (Spinner);\nvar templateObject_1;\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L3NwaW5uZXIvZGlzdC9lc20vU3Bpbm5lci9pbmRleC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AYXRsYXNraXQvc3Bpbm5lci9kaXN0L2VzbS9TcGlubmVyL2luZGV4LmpzP2Y5NjMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgX19leHRlbmRzLCBfX21ha2VUZW1wbGF0ZU9iamVjdCB9IGZyb20gXCJ0c2xpYlwiO1xuaW1wb3J0IFJlYWN0LCB7IENvbXBvbmVudCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IFRyYW5zaXRpb24gfSBmcm9tICdyZWFjdC10cmFuc2l0aW9uLWdyb3VwJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgU0laRVNfTUFQLCBERUZBVUxUX1NJWkUgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgQ29udGFpbmVyIGZyb20gJy4vc3R5bGVkQ29udGFpbmVyJztcbmltcG9ydCBTdmcgZnJvbSAnLi9zdHlsZWRTdmcnO1xudmFyIE91dGVyID0gc3R5bGVkLnNwYW4odGVtcGxhdGVPYmplY3RfMSB8fCAodGVtcGxhdGVPYmplY3RfMSA9IF9fbWFrZVRlbXBsYXRlT2JqZWN0KFtcIlxcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcXG5cIl0sIFtcIlxcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcXG5cIl0pKSk7XG5PdXRlci5kaXNwbGF5TmFtZSA9ICdPdXRlcic7XG52YXIgU3Bpbm5lciA9IC8qKiBAY2xhc3MgKi8gKGZ1bmN0aW9uIChfc3VwZXIpIHtcbiAgICBfX2V4dGVuZHMoU3Bpbm5lciwgX3N1cGVyKTtcbiAgICBmdW5jdGlvbiBTcGlubmVyKHByb3BzKSB7XG4gICAgICAgIHZhciBfdGhpcyA9IF9zdXBlci5jYWxsKHRoaXMsIHByb3BzKSB8fCB0aGlzO1xuICAgICAgICBfdGhpcy50cmFuc2l0aW9uTm9kZSA9IG51bGw7XG4gICAgICAgIF90aGlzLmVudGVyID0gZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgdmFyIGRlbGF5ID0gX3RoaXMucHJvcHMuZGVsYXk7XG4gICAgICAgICAgICBpZiAoZGVsYXkpIHtcbiAgICAgICAgICAgICAgICBfdGhpcy5zZXRTdGF0ZSh7IHBoYXNlOiAnREVMQVknIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgX3RoaXMuc2V0U3RhdGUoeyBwaGFzZTogJ0VOVEVSJyB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgICAgX3RoaXMuaWRsZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIF90aGlzLnNldFN0YXRlKHsgcGhhc2U6ICdJRExFJyB9KTtcbiAgICAgICAgfTtcbiAgICAgICAgX3RoaXMuZXhpdCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIF90aGlzLnNldFN0YXRlKHsgcGhhc2U6ICdMRUFWRScgfSk7XG4gICAgICAgIH07XG4gICAgICAgIF90aGlzLmVuZExpc3RlbmVyID0gZnVuY3Rpb24gKG5vZGUsIGRvbmUpIHtcbiAgICAgICAgICAgIHZhciBleGVjdXRlQ2FsbGJhY2sgPSBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgICAgICAgICAgICAvLyBpZ25vcmUgYW5pbWF0aW9uIGV2ZW50cyBvbiB0aGUgZ2x5cGhcbiAgICAgICAgICAgICAgICBpZiAoZXZlbnQudGFyZ2V0LnRhZ05hbWUgPT09ICdzdmcnKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKF90aGlzLnN0YXRlLnBoYXNlID09PSAnREVMQVknKSB7XG4gICAgICAgICAgICAgICAgICAgIF90aGlzLnNldFN0YXRlKHsgcGhhc2U6ICdFTlRFUicgfSk7XG4gICAgICAgICAgICAgICAgICAgIF90aGlzLmVuZExpc3RlbmVyKG5vZGUsIGRvbmUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgZG9uZSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gbm9kZSAmJiBub2RlLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2FuaW1hdGlvbmVuZCcsIGV4ZWN1dGVDYWxsYmFjayk7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgLy8gRklYIC0gamVzdC1lbW90aW9uIGRvZXNuJ3QgcmVjb2duaXNlIHRoZSBET00gbm9kZSBzbyBpdCBjYW4ndCBhZGRcbiAgICAgICAgICAgIC8vIHRoZSBldmVudExpc3RlbmVyIGluIHRoZSBAYXRsYXNraXQvYnV0dG9uIHRlc3RzLlxuICAgICAgICAgICAgLy8gU2hvdWxkIGJlIGZpeGVkIHdoZW4gd2UgbW92ZSB0byBlbW90aW9uQDEwXG4gICAgICAgICAgICBpZiAobm9kZSAmJiBub2RlLmFkZEV2ZW50TGlzdGVuZXIpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbm9kZS5hZGRFdmVudExpc3RlbmVyKCdhbmltYXRpb25lbmQnLCBleGVjdXRlQ2FsbGJhY2spO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGRvbmUoKTtcbiAgICAgICAgfTtcbiAgICAgICAgX3RoaXMudmFsaWRhdGVTaXplID0gZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgdmFyIHNpemUgPSBfdGhpcy5wcm9wcy5zaXplO1xuICAgICAgICAgICAgdmFyIHNwaW5uZXJTaXplID0gU0laRVNfTUFQW3NpemVdIHx8IHNpemU7XG4gICAgICAgICAgICByZXR1cm4gdHlwZW9mIHNwaW5uZXJTaXplID09PSAnbnVtYmVyJyA/IHNwaW5uZXJTaXplIDogREVGQVVMVF9TSVpFO1xuICAgICAgICB9O1xuICAgICAgICBfdGhpcy5zdGF0ZSA9IHtcbiAgICAgICAgICAgIHBoYXNlOiAnJyxcbiAgICAgICAgfTtcbiAgICAgICAgcmV0dXJuIF90aGlzO1xuICAgIH1cbiAgICBTcGlubmVyLnByb3RvdHlwZS5yZW5kZXIgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBfdGhpcyA9IHRoaXM7XG4gICAgICAgIHZhciBwaGFzZSA9IHRoaXMuc3RhdGUucGhhc2U7XG4gICAgICAgIHZhciBfYSA9IHRoaXMucHJvcHMsIGRlbGF5ID0gX2EuZGVsYXksIGludmVydENvbG9yID0gX2EuaW52ZXJ0Q29sb3IsIGlzQ29tcGxldGluZyA9IF9hLmlzQ29tcGxldGluZywgdGVzdElkID0gX2EudGVzdElkO1xuICAgICAgICB2YXIgc2l6ZSA9IHRoaXMudmFsaWRhdGVTaXplKCk7XG4gICAgICAgIHZhciBzdHJva2VXaWR0aCA9IE1hdGgucm91bmQoc2l6ZSAvIDEwKTtcbiAgICAgICAgdmFyIHN0cm9rZVJhZGl1cyA9IHNpemUgLyAyIC0gc3Ryb2tlV2lkdGggLyAyO1xuICAgICAgICByZXR1cm4gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoT3V0ZXIsIG51bGwsXG4gICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFRyYW5zaXRpb24sIHsgYWRkRW5kTGlzdGVuZXI6IHRoaXMuZW5kTGlzdGVuZXIsIGFwcGVhcjogdHJ1ZSwgaW46ICFpc0NvbXBsZXRpbmcsIG1vdW50T25FbnRlcjogdHJ1ZSwgdW5tb3VudE9uRXhpdDogdHJ1ZSwgb25FbnRlcjogdGhpcy5lbnRlciwgb25FbnRlcmVkOiB0aGlzLmlkbGUsIG9uRXhpdDogdGhpcy5leGl0LCBvbkV4aXRlZDogZnVuY3Rpb24gKCkgeyByZXR1cm4gX3RoaXMucHJvcHMub25Db21wbGV0ZSgpOyB9LCB0aW1lb3V0OiAwLCByZWY6IGZ1bmN0aW9uIChub2RlKSB7XG4gICAgICAgICAgICAgICAgICAgIF90aGlzLnRyYW5zaXRpb25Ob2RlID0gbm9kZTtcbiAgICAgICAgICAgICAgICB9IH0sXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChDb250YWluZXIsIHsgZGVsYXk6IGRlbGF5IC8gMTAwMCwgcGhhc2U6IHBoYXNlLCBzaXplOiBzaXplLCBcImRhdGEtdGVzdGlkXCI6IHRlc3RJZCB9LFxuICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFN2ZywgeyBmb2N1c2FibGU6IFwiZmFsc2VcIiwgaGVpZ2h0OiBzaXplLCBpbnZlcnRDb2xvcjogaW52ZXJ0Q29sb3IsIHBoYXNlOiBwaGFzZSwgc2l6ZTogc2l6ZSwgdmlld0JveDogXCIwIDAgXCIgKyBzaXplICsgXCIgXCIgKyBzaXplLCB3aWR0aDogc2l6ZSwgeG1sbnM6IFwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChcImNpcmNsZVwiLCB7IGN4OiBzaXplIC8gMiwgY3k6IHNpemUgLyAyLCByOiBzdHJva2VSYWRpdXMgfSkpKSkpKTtcbiAgICB9O1xuICAgIFNwaW5uZXIuZGVmYXVsdFByb3BzID0ge1xuICAgICAgICBkZWxheTogMTAwLFxuICAgICAgICBpc0NvbXBsZXRpbmc6IGZhbHNlLFxuICAgICAgICBpbnZlcnRDb2xvcjogZmFsc2UsXG4gICAgICAgIG9uQ29tcGxldGU6IGZ1bmN0aW9uICgpIHsgfSxcbiAgICAgICAgc2l6ZTogJ21lZGl1bScsXG4gICAgfTtcbiAgICByZXR1cm4gU3Bpbm5lcjtcbn0oQ29tcG9uZW50KSk7XG5leHBvcnQgZGVmYXVsdCBTcGlubmVyO1xudmFyIHRlbXBsYXRlT2JqZWN0XzE7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/spinner/dist/esm/Spinner/index.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/spinner/dist/esm/Spinner/styledContainer.js": /*!****************************************************************************!*\ !*** ./node_modules/@atlaskit/spinner/dist/esm/Spinner/styledContainer.js ***! \****************************************************************************/ /*! exports provided: getContainerAnimation, default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getContainerAnimation\", function() { return getContainerAnimation; });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/@atlaskit/spinner/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! styled-components */ \"./node_modules/styled-components/dist/styled-components.browser.esm.js\");\n\n\n/* Define keyframes statically to prevent a perfomance issue in styled components v1 where the keyframes function\n * does not cache previous values resulting in each spinner injecting the same keyframe definition\n * in the DOM.\n * This can be reverted to use dynamic keyframes when we upgrade to styled components v2\n */\nvar keyframeNames = {\n noop: Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"keyframes\"])(templateObject_1 || (templateObject_1 = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__makeTemplateObject\"])([\"\\n from { opacity: 0; }\\n to { opacity: 0; }\\n \"], [\"\\n from { opacity: 0; }\\n to { opacity: 0; }\\n \"]))),\n enterRotate: Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"keyframes\"])(templateObject_2 || (templateObject_2 = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__makeTemplateObject\"])([\"\\n from { transform: rotate(50deg); }\\n to { transform: rotate(230deg); }\\n \"], [\"\\n from { transform: rotate(50deg); }\\n to { transform: rotate(230deg); }\\n \"]))),\n leaveRotate: Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"keyframes\"])(templateObject_3 || (templateObject_3 = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__makeTemplateObject\"])([\"\\n from { transform: rotate(230deg); }\\n to { transform: rotate(510deg); }\\n \"], [\"\\n from { transform: rotate(230deg); }\\n to { transform: rotate(510deg); }\\n \"]))),\n leaveOpacity: Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"keyframes\"])(templateObject_4 || (templateObject_4 = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__makeTemplateObject\"])([\"\\n from { opacity: 1; }\\n to { opacity: 0; }\\n \"], [\"\\n from { opacity: 1; }\\n to { opacity: 0; }\\n \"]))),\n};\nvar getContainerAnimation = function (_a) {\n var delay = _a.delay, phase = _a.phase;\n if (phase === 'DELAY') {\n /* This hides the spinner and allows us to use animationend events to move to the next phase in\n * the same way we do with the other lifecycle stages */\n return Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"css\"])(templateObject_5 || (templateObject_5 = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__makeTemplateObject\"])([\"\\n animation: \", \"s \", \";\\n \"], [\"\\n animation: \", \"s \", \";\\n \"])), delay, keyframeNames.noop);\n }\n if (phase === 'ENTER' || phase === 'IDLE') {\n return Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"css\"])(templateObject_6 || (templateObject_6 = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__makeTemplateObject\"])([\"\\n animation: 1s ease-in-out forwards \", \";\\n \"], [\"\\n animation: 1s ease-in-out forwards \", \";\\n \"])), keyframeNames.enterRotate);\n }\n if (phase === 'LEAVE') {\n return Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"css\"])(templateObject_7 || (templateObject_7 = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__makeTemplateObject\"])([\"\\n animation: 0.53s ease-in-out forwards \", \",\\n 0.2s ease-in-out 0.33s \", \";\\n \"], [\"\\n animation: 0.53s ease-in-out forwards \", \",\\n 0.2s ease-in-out 0.33s \", \";\\n \"])), keyframeNames.leaveRotate, keyframeNames.leaveOpacity);\n }\n return '';\n};\nvar getSize = function (_a) {\n var size = _a.size;\n return size + \"px\";\n};\nvar Container = styled_components__WEBPACK_IMPORTED_MODULE_1__[\"default\"].span(templateObject_8 || (templateObject_8 = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__makeTemplateObject\"])([\"\\n \", \"\\n display: flex;\\n height: \", \";\\n width: \", \";\\n\\n /* Rapidly creating and removing spinners will result in multiple spinners being visible while\\n * they complete their exit animations. This rules hides the spinner if another one has been\\n * added. */\\n div + & {\\n display: none;\\n }\\n\"], [\"\\n \", \"\\n display: flex;\\n height: \", \";\\n width: \", \";\\n\\n /* Rapidly creating and removing spinners will result in multiple spinners being visible while\\n * they complete their exit animations. This rules hides the spinner if another one has been\\n * added. */\\n div + & {\\n display: none;\\n }\\n\"])), getContainerAnimation, getSize, getSize);\nContainer.displayName = 'SpinnerContainer';\n/* harmony default export */ __webpack_exports__[\"default\"] = (Container);\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8;\n//# sourceMappingURL=styledContainer.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L3NwaW5uZXIvZGlzdC9lc20vU3Bpbm5lci9zdHlsZWRDb250YWluZXIuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L3NwaW5uZXIvZGlzdC9lc20vU3Bpbm5lci9zdHlsZWRDb250YWluZXIuanM/MGQzNCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBfX21ha2VUZW1wbGF0ZU9iamVjdCB9IGZyb20gXCJ0c2xpYlwiO1xuaW1wb3J0IHN0eWxlZCwgeyBrZXlmcmFtZXMsIGNzcyB9IGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbi8qIERlZmluZSBrZXlmcmFtZXMgc3RhdGljYWxseSB0byBwcmV2ZW50IGEgcGVyZm9tYW5jZSBpc3N1ZSBpbiBzdHlsZWQgY29tcG9uZW50cyB2MSB3aGVyZSB0aGUga2V5ZnJhbWVzIGZ1bmN0aW9uXG4gKiBkb2VzIG5vdCBjYWNoZSBwcmV2aW91cyB2YWx1ZXMgcmVzdWx0aW5nIGluIGVhY2ggc3Bpbm5lciBpbmplY3RpbmcgdGhlIHNhbWUga2V5ZnJhbWUgZGVmaW5pdGlvblxuICogaW4gdGhlIERPTS5cbiAqIFRoaXMgY2FuIGJlIHJldmVydGVkIHRvIHVzZSBkeW5hbWljIGtleWZyYW1lcyB3aGVuIHdlIHVwZ3JhZGUgdG8gc3R5bGVkIGNvbXBvbmVudHMgdjJcbiAqL1xudmFyIGtleWZyYW1lTmFtZXMgPSB7XG4gICAgbm9vcDoga2V5ZnJhbWVzKHRlbXBsYXRlT2JqZWN0XzEgfHwgKHRlbXBsYXRlT2JqZWN0XzEgPSBfX21ha2VUZW1wbGF0ZU9iamVjdChbXCJcXG4gICAgZnJvbSB7IG9wYWNpdHk6IDA7IH1cXG4gICAgdG8geyBvcGFjaXR5OiAwOyB9XFxuICBcIl0sIFtcIlxcbiAgICBmcm9tIHsgb3BhY2l0eTogMDsgfVxcbiAgICB0byB7IG9wYWNpdHk6IDA7IH1cXG4gIFwiXSkpKSxcbiAgICBlbnRlclJvdGF0ZToga2V5ZnJhbWVzKHRlbXBsYXRlT2JqZWN0XzIgfHwgKHRlbXBsYXRlT2JqZWN0XzIgPSBfX21ha2VUZW1wbGF0ZU9iamVjdChbXCJcXG4gICAgZnJvbSB7IHRyYW5zZm9ybTogcm90YXRlKDUwZGVnKTsgfVxcbiAgICB0byB7IHRyYW5zZm9ybTogcm90YXRlKDIzMGRlZyk7IH1cXG4gIFwiXSwgW1wiXFxuICAgIGZyb20geyB0cmFuc2Zvcm06IHJvdGF0ZSg1MGRlZyk7IH1cXG4gICAgdG8geyB0cmFuc2Zvcm06IHJvdGF0ZSgyMzBkZWcpOyB9XFxuICBcIl0pKSksXG4gICAgbGVhdmVSb3RhdGU6IGtleWZyYW1lcyh0ZW1wbGF0ZU9iamVjdF8zIHx8ICh0ZW1wbGF0ZU9iamVjdF8zID0gX19tYWtlVGVtcGxhdGVPYmplY3QoW1wiXFxuICAgIGZyb20geyB0cmFuc2Zvcm06IHJvdGF0ZSgyMzBkZWcpOyB9XFxuICAgIHRvIHsgdHJhbnNmb3JtOiByb3RhdGUoNTEwZGVnKTsgfVxcbiAgXCJdLCBbXCJcXG4gICAgZnJvbSB7IHRyYW5zZm9ybTogcm90YXRlKDIzMGRlZyk7IH1cXG4gICAgdG8geyB0cmFuc2Zvcm06IHJvdGF0ZSg1MTBkZWcpOyB9XFxuICBcIl0pKSksXG4gICAgbGVhdmVPcGFjaXR5OiBrZXlmcmFtZXModGVtcGxhdGVPYmplY3RfNCB8fCAodGVtcGxhdGVPYmplY3RfNCA9IF9fbWFrZVRlbXBsYXRlT2JqZWN0KFtcIlxcbiAgICBmcm9tIHsgb3BhY2l0eTogMTsgfVxcbiAgICB0byB7IG9wYWNpdHk6IDA7IH1cXG4gIFwiXSwgW1wiXFxuICAgIGZyb20geyBvcGFjaXR5OiAxOyB9XFxuICAgIHRvIHsgb3BhY2l0eTogMDsgfVxcbiAgXCJdKSkpLFxufTtcbmV4cG9ydCB2YXIgZ2V0Q29udGFpbmVyQW5pbWF0aW9uID0gZnVuY3Rpb24gKF9hKSB7XG4gICAgdmFyIGRlbGF5ID0gX2EuZGVsYXksIHBoYXNlID0gX2EucGhhc2U7XG4gICAgaWYgKHBoYXNlID09PSAnREVMQVknKSB7XG4gICAgICAgIC8qIFRoaXMgaGlkZXMgdGhlIHNwaW5uZXIgYW5kIGFsbG93cyB1cyB0byB1c2UgYW5pbWF0aW9uZW5kIGV2ZW50cyB0byBtb3ZlIHRvIHRoZSBuZXh0IHBoYXNlIGluXG4gICAgICAgICAqIHRoZSBzYW1lIHdheSB3ZSBkbyB3aXRoIHRoZSBvdGhlciBsaWZlY3ljbGUgc3RhZ2VzICovXG4gICAgICAgIHJldHVybiBjc3ModGVtcGxhdGVPYmplY3RfNSB8fCAodGVtcGxhdGVPYmplY3RfNSA9IF9fbWFrZVRlbXBsYXRlT2JqZWN0KFtcIlxcbiAgICAgIGFuaW1hdGlvbjogXCIsIFwicyBcIiwgXCI7XFxuICAgIFwiXSwgW1wiXFxuICAgICAgYW5pbWF0aW9uOiBcIiwgXCJzIFwiLCBcIjtcXG4gICAgXCJdKSksIGRlbGF5LCBrZXlmcmFtZU5hbWVzLm5vb3ApO1xuICAgIH1cbiAgICBpZiAocGhhc2UgPT09ICdFTlRFUicgfHwgcGhhc2UgPT09ICdJRExFJykge1xuICAgICAgICByZXR1cm4gY3NzKHRlbXBsYXRlT2JqZWN0XzYgfHwgKHRlbXBsYXRlT2JqZWN0XzYgPSBfX21ha2VUZW1wbGF0ZU9iamVjdChbXCJcXG4gICAgICBhbmltYXRpb246IDFzIGVhc2UtaW4tb3V0IGZvcndhcmRzIFwiLCBcIjtcXG4gICAgXCJdLCBbXCJcXG4gICAgICBhbmltYXRpb246IDFzIGVhc2UtaW4tb3V0IGZvcndhcmRzIFwiLCBcIjtcXG4gICAgXCJdKSksIGtleWZyYW1lTmFtZXMuZW50ZXJSb3RhdGUpO1xuICAgIH1cbiAgICBpZiAocGhhc2UgPT09ICdMRUFWRScpIHtcbiAgICAgICAgcmV0dXJuIGNzcyh0ZW1wbGF0ZU9iamVjdF83IHx8ICh0ZW1wbGF0ZU9iamVjdF83ID0gX19tYWtlVGVtcGxhdGVPYmplY3QoW1wiXFxuICAgICAgYW5pbWF0aW9uOiAwLjUzcyBlYXNlLWluLW91dCBmb3J3YXJkcyBcIiwgXCIsXFxuICAgICAgICAwLjJzIGVhc2UtaW4tb3V0IDAuMzNzIFwiLCBcIjtcXG4gICAgXCJdLCBbXCJcXG4gICAgICBhbmltYXRpb246IDAuNTNzIGVhc2UtaW4tb3V0IGZvcndhcmRzIFwiLCBcIixcXG4gICAgICAgIDAuMnMgZWFzZS1pbi1vdXQgMC4zM3MgXCIsIFwiO1xcbiAgICBcIl0pKSwga2V5ZnJhbWVOYW1lcy5sZWF2ZVJvdGF0ZSwga2V5ZnJhbWVOYW1lcy5sZWF2ZU9wYWNpdHkpO1xuICAgIH1cbiAgICByZXR1cm4gJyc7XG59O1xudmFyIGdldFNpemUgPSBmdW5jdGlvbiAoX2EpIHtcbiAgICB2YXIgc2l6ZSA9IF9hLnNpemU7XG4gICAgcmV0dXJuIHNpemUgKyBcInB4XCI7XG59O1xudmFyIENvbnRhaW5lciA9IHN0eWxlZC5zcGFuKHRlbXBsYXRlT2JqZWN0XzggfHwgKHRlbXBsYXRlT2JqZWN0XzggPSBfX21ha2VUZW1wbGF0ZU9iamVjdChbXCJcXG4gIFwiLCBcIlxcbiAgZGlzcGxheTogZmxleDtcXG4gIGhlaWdodDogXCIsIFwiO1xcbiAgd2lkdGg6IFwiLCBcIjtcXG5cXG4gIC8qIFJhcGlkbHkgY3JlYXRpbmcgYW5kIHJlbW92aW5nIHNwaW5uZXJzIHdpbGwgcmVzdWx0IGluIG11bHRpcGxlIHNwaW5uZXJzIGJlaW5nIHZpc2libGUgd2hpbGVcXG4gICAqIHRoZXkgY29tcGxldGUgdGhlaXIgZXhpdCBhbmltYXRpb25zLiBUaGlzIHJ1bGVzIGhpZGVzIHRoZSBzcGlubmVyIGlmIGFub3RoZXIgb25lIGhhcyBiZWVuXFxuICAgKiBhZGRlZC4gKi9cXG4gIGRpdiArICYge1xcbiAgICBkaXNwbGF5OiBub25lO1xcbiAgfVxcblwiXSwgW1wiXFxuICBcIiwgXCJcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBoZWlnaHQ6IFwiLCBcIjtcXG4gIHdpZHRoOiBcIiwgXCI7XFxuXFxuICAvKiBSYXBpZGx5IGNyZWF0aW5nIGFuZCByZW1vdmluZyBzcGlubmVycyB3aWxsIHJlc3VsdCBpbiBtdWx0aXBsZSBzcGlubmVycyBiZWluZyB2aXNpYmxlIHdoaWxlXFxuICAgKiB0aGV5IGNvbXBsZXRlIHRoZWlyIGV4aXQgYW5pbWF0aW9ucy4gVGhpcyBydWxlcyBoaWRlcyB0aGUgc3Bpbm5lciBpZiBhbm90aGVyIG9uZSBoYXMgYmVlblxcbiAgICogYWRkZWQuICovXFxuICBkaXYgKyAmIHtcXG4gICAgZGlzcGxheTogbm9uZTtcXG4gIH1cXG5cIl0pKSwgZ2V0Q29udGFpbmVyQW5pbWF0aW9uLCBnZXRTaXplLCBnZXRTaXplKTtcbkNvbnRhaW5lci5kaXNwbGF5TmFtZSA9ICdTcGlubmVyQ29udGFpbmVyJztcbmV4cG9ydCBkZWZhdWx0IENvbnRhaW5lcjtcbnZhciB0ZW1wbGF0ZU9iamVjdF8xLCB0ZW1wbGF0ZU9iamVjdF8yLCB0ZW1wbGF0ZU9iamVjdF8zLCB0ZW1wbGF0ZU9iamVjdF80LCB0ZW1wbGF0ZU9iamVjdF81LCB0ZW1wbGF0ZU9iamVjdF82LCB0ZW1wbGF0ZU9iamVjdF83LCB0ZW1wbGF0ZU9iamVjdF84O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9c3R5bGVkQ29udGFpbmVyLmpzLm1hcCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/spinner/dist/esm/Spinner/styledContainer.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/spinner/dist/esm/Spinner/styledSvg.js": /*!**********************************************************************!*\ !*** ./node_modules/@atlaskit/spinner/dist/esm/Spinner/styledSvg.js ***! \**********************************************************************/ /*! exports provided: getStrokeColor, svgStyles, default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getStrokeColor\", function() { return getStrokeColor; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"svgStyles\", function() { return svgStyles; });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/@atlaskit/spinner/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! styled-components */ \"./node_modules/styled-components/dist/styled-components.browser.esm.js\");\n/* harmony import */ var _atlaskit_theme_components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @atlaskit/theme/components */ \"./node_modules/@atlaskit/theme/dist/esm/components.js\");\n/* harmony import */ var _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @atlaskit/theme/colors */ \"./node_modules/@atlaskit/theme/dist/esm/colors.js\");\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./constants */ \"./node_modules/@atlaskit/spinner/dist/esm/Spinner/constants.js\");\n\n\n\n\n\nvar getStrokeWidth = function (size) { return Math.round(size / 10); };\nvar getStrokeCircumference = function (size) {\n var strokeWidth = getStrokeWidth(size);\n var strokeRadius = size / 2 - strokeWidth / 2;\n return Math.PI * strokeRadius * 2;\n};\n/* Define keyframes statically to prevent a perfomance issue in styled components v1 where the keyframes function\n * does not cache previous values resulting in each spinner injecting the same keyframe definition\n * in the DOM.\n * This can be reverted to dynamic keyframes when we upgrade to styled components v2\n */\nvar keyframeNames = {\n noop: Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"keyframes\"])(templateObject_1 || (templateObject_1 = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__makeTemplateObject\"])([\"\\n from { opacity: 0; }\\n to { opacity: 0; }\\n \"], [\"\\n from { opacity: 0; }\\n to { opacity: 0; }\\n \"]))),\n rotate: Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"keyframes\"])(templateObject_2 || (templateObject_2 = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__makeTemplateObject\"])([\"\\n to { transform: rotate(360deg); }\\n \"], [\"\\n to { transform: rotate(360deg); }\\n \"]))),\n enterOpacity: Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"keyframes\"])(templateObject_3 || (templateObject_3 = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__makeTemplateObject\"])([\"\\n from { opacity: 0; }\\n to { opacity: 1; }\\n \"], [\"\\n from { opacity: 0; }\\n to { opacity: 1; }\\n \"]))),\n smallEnterStroke: Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"keyframes\"])(templateObject_4 || (templateObject_4 = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__makeTemplateObject\"])([\"\\n from { stroke-dashoffset: \", \"px; }\\n to { stroke-dashoffset: \", \"px; }\\n \"], [\"\\n from { stroke-dashoffset: \", \"px; }\\n to { stroke-dashoffset: \",\n \"px; }\\n \"])), getStrokeCircumference(_constants__WEBPACK_IMPORTED_MODULE_4__[\"SIZES_MAP\"].small), getStrokeCircumference(_constants__WEBPACK_IMPORTED_MODULE_4__[\"SIZES_MAP\"].small) *\n 0.8),\n mediumEnterStroke: Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"keyframes\"])(templateObject_5 || (templateObject_5 = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__makeTemplateObject\"])([\"\\n from { stroke-dashoffset: \", \"px; }\\n to { stroke-dashoffset: \", \"px; }\\n \"], [\"\\n from { stroke-dashoffset: \", \"px; }\\n to { stroke-dashoffset: \",\n \"px; }\\n \"])), getStrokeCircumference(_constants__WEBPACK_IMPORTED_MODULE_4__[\"SIZES_MAP\"].medium), getStrokeCircumference(_constants__WEBPACK_IMPORTED_MODULE_4__[\"SIZES_MAP\"].medium) *\n 0.8),\n largeEnterStroke: Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"keyframes\"])(templateObject_6 || (templateObject_6 = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__makeTemplateObject\"])([\"\\n from { stroke-dashoffset: \", \"px; }\\n to { stroke-dashoffset: \", \"px; }\\n \"], [\"\\n from { stroke-dashoffset: \", \"px; }\\n to { stroke-dashoffset: \",\n \"px; }\\n \"])), getStrokeCircumference(_constants__WEBPACK_IMPORTED_MODULE_4__[\"SIZES_MAP\"].large), getStrokeCircumference(_constants__WEBPACK_IMPORTED_MODULE_4__[\"SIZES_MAP\"].large) *\n 0.8),\n xlargeEnterStroke: Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"keyframes\"])(templateObject_7 || (templateObject_7 = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__makeTemplateObject\"])([\"\\n from { stroke-dashoffset: \", \"px; }\\n to { stroke-dashoffset: \", \"px; }\\n \"], [\"\\n from { stroke-dashoffset: \", \"px; }\\n to { stroke-dashoffset: \",\n \"px; }\\n \"])), getStrokeCircumference(_constants__WEBPACK_IMPORTED_MODULE_4__[\"SIZES_MAP\"].xlarge), getStrokeCircumference(_constants__WEBPACK_IMPORTED_MODULE_4__[\"SIZES_MAP\"].xlarge) *\n 0.8),\n};\n/* If a standard size is used, we can use one of our statically defined keyframes, otherwise\n * we're forced to dynamically create the keyframe and incur a performance cost.\n */\nvar getEnterStrokeKeyframe = function (size) {\n var standardSizeName = Object.keys(_constants__WEBPACK_IMPORTED_MODULE_4__[\"SIZES_MAP\"]).find(function (sizeName) { return size === _constants__WEBPACK_IMPORTED_MODULE_4__[\"SIZES_MAP\"][sizeName]; });\n if (standardSizeName) {\n return keyframeNames[standardSizeName + \"EnterStroke\"];\n }\n var circumference = getStrokeCircumference(size);\n return Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"keyframes\"])(templateObject_8 || (templateObject_8 = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__makeTemplateObject\"])([\"\\n from { stroke-dashoffset: \", \"px; }\\n to { stroke-dashoffset: \", \"px; }\\n \"], [\"\\n from { stroke-dashoffset: \", \"px; }\\n to { stroke-dashoffset: \", \"px; }\\n \"])), circumference, circumference * 0.8);\n};\nvar spinnerColor = Object(_atlaskit_theme_components__WEBPACK_IMPORTED_MODULE_2__[\"themed\"])({ light: _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_3__[\"N500\"], dark: _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_3__[\"N0\"] });\nvar spinnerColorInverted = Object(_atlaskit_theme_components__WEBPACK_IMPORTED_MODULE_2__[\"themed\"])({ light: _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_3__[\"N0\"], dark: _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_3__[\"N0\"] });\nvar getStrokeColor = function (_a) {\n var invertColor = _a.invertColor, props = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__rest\"])(_a, [\"invertColor\"]);\n return invertColor ? spinnerColorInverted(props) : spinnerColor(props);\n};\nvar svgStyles = Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"css\"])(templateObject_12 || (templateObject_12 = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__makeTemplateObject\"])([\"\\n \", \";\\n\"], [\"\\n \",\n \";\\n\"])), function (props) {\n var circumference = getStrokeCircumference(props.size);\n var animation = function (animProps) {\n var baseAnimation = '0.86s cubic-bezier(0.4, 0.15, 0.6, 0.85) infinite';\n if (animProps.phase === 'ENTER') {\n return Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"css\"])(templateObject_9 || (templateObject_9 = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__makeTemplateObject\"])([\"\\n animation: \", \" \", \",\\n 0.8s ease-in-out \", \",\\n 0.2s ease-in-out \", \";\\n \"], [\"\\n animation: \", \" \", \",\\n 0.8s ease-in-out \", \",\\n 0.2s ease-in-out \", \";\\n \"])), baseAnimation, keyframeNames.rotate, getEnterStrokeKeyframe(animProps.size), keyframeNames.enterOpacity);\n }\n return Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"css\"])(templateObject_10 || (templateObject_10 = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__makeTemplateObject\"])([\"\\n animation: \", \" \", \";\\n \"], [\"\\n animation: \", \" \", \";\\n \"])), baseAnimation, keyframeNames.rotate);\n };\n return Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"css\"])(templateObject_11 || (templateObject_11 = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__makeTemplateObject\"])([\"\\n \", \"\\n fill: none;\\n stroke: \", \";\\n stroke-dasharray: \", \"px;\\n stroke-dashoffset: \", \"px;\\n stroke-linecap: round;\\n stroke-width: \", \"px;\\n transform-origin: center;\\n \"], [\"\\n \", \"\\n fill: none;\\n stroke: \", \";\\n stroke-dasharray: \", \"px;\\n stroke-dashoffset: \", \"px;\\n stroke-linecap: round;\\n stroke-width: \", \"px;\\n transform-origin: center;\\n \"])), animation, getStrokeColor, circumference, circumference * 0.8, getStrokeWidth(props.size));\n});\nvar Svg = styled_components__WEBPACK_IMPORTED_MODULE_1__[\"default\"].svg(templateObject_13 || (templateObject_13 = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__makeTemplateObject\"])([\"\\n \", \";\\n\"], [\"\\n \", \";\\n\"])), svgStyles);\nSvg.displayName = 'SpinnerSvg';\n/* harmony default export */ __webpack_exports__[\"default\"] = (Svg);\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8, templateObject_9, templateObject_10, templateObject_11, templateObject_12, templateObject_13;\n//# sourceMappingURL=styledSvg.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L3NwaW5uZXIvZGlzdC9lc20vU3Bpbm5lci9zdHlsZWRTdmcuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L3NwaW5uZXIvZGlzdC9lc20vU3Bpbm5lci9zdHlsZWRTdmcuanM/ZDEyNiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBfX21ha2VUZW1wbGF0ZU9iamVjdCwgX19yZXN0IH0gZnJvbSBcInRzbGliXCI7XG5pbXBvcnQgc3R5bGVkLCB7IGNzcywga2V5ZnJhbWVzIH0gZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgdGhlbWVkIH0gZnJvbSAnQGF0bGFza2l0L3RoZW1lL2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgTjUwMCwgTjAgfSBmcm9tICdAYXRsYXNraXQvdGhlbWUvY29sb3JzJztcbmltcG9ydCB7IFNJWkVTX01BUCB9IGZyb20gJy4vY29uc3RhbnRzJztcbnZhciBnZXRTdHJva2VXaWR0aCA9IGZ1bmN0aW9uIChzaXplKSB7IHJldHVybiBNYXRoLnJvdW5kKHNpemUgLyAxMCk7IH07XG52YXIgZ2V0U3Ryb2tlQ2lyY3VtZmVyZW5jZSA9IGZ1bmN0aW9uIChzaXplKSB7XG4gICAgdmFyIHN0cm9rZVdpZHRoID0gZ2V0U3Ryb2tlV2lkdGgoc2l6ZSk7XG4gICAgdmFyIHN0cm9rZVJhZGl1cyA9IHNpemUgLyAyIC0gc3Ryb2tlV2lkdGggLyAyO1xuICAgIHJldHVybiBNYXRoLlBJICogc3Ryb2tlUmFkaXVzICogMjtcbn07XG4vKiBEZWZpbmUga2V5ZnJhbWVzIHN0YXRpY2FsbHkgdG8gcHJldmVudCBhIHBlcmZvbWFuY2UgaXNzdWUgaW4gc3R5bGVkIGNvbXBvbmVudHMgdjEgd2hlcmUgdGhlIGtleWZyYW1lcyBmdW5jdGlvblxuICogZG9lcyBub3QgY2FjaGUgcHJldmlvdXMgdmFsdWVzIHJlc3VsdGluZyBpbiBlYWNoIHNwaW5uZXIgaW5qZWN0aW5nIHRoZSBzYW1lIGtleWZyYW1lIGRlZmluaXRpb25cbiAqIGluIHRoZSBET00uXG4gKiBUaGlzIGNhbiBiZSByZXZlcnRlZCB0byBkeW5hbWljIGtleWZyYW1lcyB3aGVuIHdlIHVwZ3JhZGUgdG8gc3R5bGVkIGNvbXBvbmVudHMgdjJcbiAqL1xudmFyIGtleWZyYW1lTmFtZXMgPSB7XG4gICAgbm9vcDoga2V5ZnJhbWVzKHRlbXBsYXRlT2JqZWN0XzEgfHwgKHRlbXBsYXRlT2JqZWN0XzEgPSBfX21ha2VUZW1wbGF0ZU9iamVjdChbXCJcXG4gICAgZnJvbSB7IG9wYWNpdHk6IDA7IH1cXG4gICAgdG8geyBvcGFjaXR5OiAwOyB9XFxuICBcIl0sIFtcIlxcbiAgICBmcm9tIHsgb3BhY2l0eTogMDsgfVxcbiAgICB0byB7IG9wYWNpdHk6IDA7IH1cXG4gIFwiXSkpKSxcbiAgICByb3RhdGU6IGtleWZyYW1lcyh0ZW1wbGF0ZU9iamVjdF8yIHx8ICh0ZW1wbGF0ZU9iamVjdF8yID0gX19tYWtlVGVtcGxhdGVPYmplY3QoW1wiXFxuICAgIHRvIHsgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfVxcbiAgXCJdLCBbXCJcXG4gICAgdG8geyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9XFxuICBcIl0pKSksXG4gICAgZW50ZXJPcGFjaXR5OiBrZXlmcmFtZXModGVtcGxhdGVPYmplY3RfMyB8fCAodGVtcGxhdGVPYmplY3RfMyA9IF9fbWFrZVRlbXBsYXRlT2JqZWN0KFtcIlxcbiAgICBmcm9tIHsgb3BhY2l0eTogMDsgfVxcbiAgICB0byB7IG9wYWNpdHk6IDE7IH1cXG4gIFwiXSwgW1wiXFxuICAgIGZyb20geyBvcGFjaXR5OiAwOyB9XFxuICAgIHRvIHsgb3BhY2l0eTogMTsgfVxcbiAgXCJdKSkpLFxuICAgIHNtYWxsRW50ZXJTdHJva2U6IGtleWZyYW1lcyh0ZW1wbGF0ZU9iamVjdF80IHx8ICh0ZW1wbGF0ZU9iamVjdF80ID0gX19tYWtlVGVtcGxhdGVPYmplY3QoW1wiXFxuICAgIGZyb20geyBzdHJva2UtZGFzaG9mZnNldDogXCIsIFwicHg7IH1cXG4gICAgdG8geyBzdHJva2UtZGFzaG9mZnNldDogXCIsIFwicHg7IH1cXG4gIFwiXSwgW1wiXFxuICAgIGZyb20geyBzdHJva2UtZGFzaG9mZnNldDogXCIsIFwicHg7IH1cXG4gICAgdG8geyBzdHJva2UtZGFzaG9mZnNldDogXCIsXG4gICAgICAgIFwicHg7IH1cXG4gIFwiXSkpLCBnZXRTdHJva2VDaXJjdW1mZXJlbmNlKFNJWkVTX01BUC5zbWFsbCksIGdldFN0cm9rZUNpcmN1bWZlcmVuY2UoU0laRVNfTUFQLnNtYWxsKSAqXG4gICAgICAgIDAuOCksXG4gICAgbWVkaXVtRW50ZXJTdHJva2U6IGtleWZyYW1lcyh0ZW1wbGF0ZU9iamVjdF81IHx8ICh0ZW1wbGF0ZU9iamVjdF81ID0gX19tYWtlVGVtcGxhdGVPYmplY3QoW1wiXFxuICAgIGZyb20geyBzdHJva2UtZGFzaG9mZnNldDogXCIsIFwicHg7IH1cXG4gICAgdG8geyBzdHJva2UtZGFzaG9mZnNldDogXCIsIFwicHg7IH1cXG4gIFwiXSwgW1wiXFxuICAgIGZyb20geyBzdHJva2UtZGFzaG9mZnNldDogXCIsIFwicHg7IH1cXG4gICAgdG8geyBzdHJva2UtZGFzaG9mZnNldDogXCIsXG4gICAgICAgIFwicHg7IH1cXG4gIFwiXSkpLCBnZXRTdHJva2VDaXJjdW1mZXJlbmNlKFNJWkVTX01BUC5tZWRpdW0pLCBnZXRTdHJva2VDaXJjdW1mZXJlbmNlKFNJWkVTX01BUC5tZWRpdW0pICpcbiAgICAgICAgMC44KSxcbiAgICBsYXJnZUVudGVyU3Ryb2tlOiBrZXlmcmFtZXModGVtcGxhdGVPYmplY3RfNiB8fCAodGVtcGxhdGVPYmplY3RfNiA9IF9fbWFrZVRlbXBsYXRlT2JqZWN0KFtcIlxcbiAgICBmcm9tIHsgc3Ryb2tlLWRhc2hvZmZzZXQ6IFwiLCBcInB4OyB9XFxuICAgIHRvIHsgc3Ryb2tlLWRhc2hvZmZzZXQ6IFwiLCBcInB4OyB9XFxuICBcIl0sIFtcIlxcbiAgICBmcm9tIHsgc3Ryb2tlLWRhc2hvZmZzZXQ6IFwiLCBcInB4OyB9XFxuICAgIHRvIHsgc3Ryb2tlLWRhc2hvZmZzZXQ6IFwiLFxuICAgICAgICBcInB4OyB9XFxuICBcIl0pKSwgZ2V0U3Ryb2tlQ2lyY3VtZmVyZW5jZShTSVpFU19NQVAubGFyZ2UpLCBnZXRTdHJva2VDaXJjdW1mZXJlbmNlKFNJWkVTX01BUC5sYXJnZSkgKlxuICAgICAgICAwLjgpLFxuICAgIHhsYXJnZUVudGVyU3Ryb2tlOiBrZXlmcmFtZXModGVtcGxhdGVPYmplY3RfNyB8fCAodGVtcGxhdGVPYmplY3RfNyA9IF9fbWFrZVRlbXBsYXRlT2JqZWN0KFtcIlxcbiAgICBmcm9tIHsgc3Ryb2tlLWRhc2hvZmZzZXQ6IFwiLCBcInB4OyB9XFxuICAgIHRvIHsgc3Ryb2tlLWRhc2hvZmZzZXQ6IFwiLCBcInB4OyB9XFxuICBcIl0sIFtcIlxcbiAgICBmcm9tIHsgc3Ryb2tlLWRhc2hvZmZzZXQ6IFwiLCBcInB4OyB9XFxuICAgIHRvIHsgc3Ryb2tlLWRhc2hvZmZzZXQ6IFwiLFxuICAgICAgICBcInB4OyB9XFxuICBcIl0pKSwgZ2V0U3Ryb2tlQ2lyY3VtZmVyZW5jZShTSVpFU19NQVAueGxhcmdlKSwgZ2V0U3Ryb2tlQ2lyY3VtZmVyZW5jZShTSVpFU19NQVAueGxhcmdlKSAqXG4gICAgICAgIDAuOCksXG59O1xuLyogSWYgYSBzdGFuZGFyZCBzaXplIGlzIHVzZWQsIHdlIGNhbiB1c2Ugb25lIG9mIG91ciBzdGF0aWNhbGx5IGRlZmluZWQga2V5ZnJhbWVzLCBvdGhlcndpc2VcbiAqIHdlJ3JlIGZvcmNlZCB0byBkeW5hbWljYWxseSBjcmVhdGUgdGhlIGtleWZyYW1lIGFuZCBpbmN1ciBhIHBlcmZvcm1hbmNlIGNvc3QuXG4gKi9cbnZhciBnZXRFbnRlclN0cm9rZUtleWZyYW1lID0gZnVuY3Rpb24gKHNpemUpIHtcbiAgICB2YXIgc3RhbmRhcmRTaXplTmFtZSA9IE9iamVjdC5rZXlzKFNJWkVTX01BUCkuZmluZChmdW5jdGlvbiAoc2l6ZU5hbWUpIHsgcmV0dXJuIHNpemUgPT09IFNJWkVTX01BUFtzaXplTmFtZV07IH0pO1xuICAgIGlmIChzdGFuZGFyZFNpemVOYW1lKSB7XG4gICAgICAgIHJldHVybiBrZXlmcmFtZU5hbWVzW3N0YW5kYXJkU2l6ZU5hbWUgKyBcIkVudGVyU3Ryb2tlXCJdO1xuICAgIH1cbiAgICB2YXIgY2lyY3VtZmVyZW5jZSA9IGdldFN0cm9rZUNpcmN1bWZlcmVuY2Uoc2l6ZSk7XG4gICAgcmV0dXJuIGtleWZyYW1lcyh0ZW1wbGF0ZU9iamVjdF84IHx8ICh0ZW1wbGF0ZU9iamVjdF84ID0gX19tYWtlVGVtcGxhdGVPYmplY3QoW1wiXFxuICAgIGZyb20geyBzdHJva2UtZGFzaG9mZnNldDogXCIsIFwicHg7IH1cXG4gICAgdG8geyBzdHJva2UtZGFzaG9mZnNldDogXCIsIFwicHg7IH1cXG4gIFwiXSwgW1wiXFxuICAgIGZyb20geyBzdHJva2UtZGFzaG9mZnNldDogXCIsIFwicHg7IH1cXG4gICAgdG8geyBzdHJva2UtZGFzaG9mZnNldDogXCIsIFwicHg7IH1cXG4gIFwiXSkpLCBjaXJjdW1mZXJlbmNlLCBjaXJjdW1mZXJlbmNlICogMC44KTtcbn07XG52YXIgc3Bpbm5lckNvbG9yID0gdGhlbWVkKHsgbGlnaHQ6IE41MDAsIGRhcms6IE4wIH0pO1xudmFyIHNwaW5uZXJDb2xvckludmVydGVkID0gdGhlbWVkKHsgbGlnaHQ6IE4wLCBkYXJrOiBOMCB9KTtcbmV4cG9ydCB2YXIgZ2V0U3Ryb2tlQ29sb3IgPSBmdW5jdGlvbiAoX2EpIHtcbiAgICB2YXIgaW52ZXJ0Q29sb3IgPSBfYS5pbnZlcnRDb2xvciwgcHJvcHMgPSBfX3Jlc3QoX2EsIFtcImludmVydENvbG9yXCJdKTtcbiAgICByZXR1cm4gaW52ZXJ0Q29sb3IgPyBzcGlubmVyQ29sb3JJbnZlcnRlZChwcm9wcykgOiBzcGlubmVyQ29sb3IocHJvcHMpO1xufTtcbmV4cG9ydCB2YXIgc3ZnU3R5bGVzID0gY3NzKHRlbXBsYXRlT2JqZWN0XzEyIHx8ICh0ZW1wbGF0ZU9iamVjdF8xMiA9IF9fbWFrZVRlbXBsYXRlT2JqZWN0KFtcIlxcbiAgXCIsIFwiO1xcblwiXSwgW1wiXFxuICBcIixcbiAgICBcIjtcXG5cIl0pKSwgZnVuY3Rpb24gKHByb3BzKSB7XG4gICAgdmFyIGNpcmN1bWZlcmVuY2UgPSBnZXRTdHJva2VDaXJjdW1mZXJlbmNlKHByb3BzLnNpemUpO1xuICAgIHZhciBhbmltYXRpb24gPSBmdW5jdGlvbiAoYW5pbVByb3BzKSB7XG4gICAgICAgIHZhciBiYXNlQW5pbWF0aW9uID0gJzAuODZzIGN1YmljLWJlemllcigwLjQsIDAuMTUsIDAuNiwgMC44NSkgaW5maW5pdGUnO1xuICAgICAgICBpZiAoYW5pbVByb3BzLnBoYXNlID09PSAnRU5URVInKSB7XG4gICAgICAgICAgICByZXR1cm4gY3NzKHRlbXBsYXRlT2JqZWN0XzkgfHwgKHRlbXBsYXRlT2JqZWN0XzkgPSBfX21ha2VUZW1wbGF0ZU9iamVjdChbXCJcXG4gICAgICAgICAgYW5pbWF0aW9uOiBcIiwgXCIgXCIsIFwiLFxcbiAgICAgICAgICAgIDAuOHMgZWFzZS1pbi1vdXQgXCIsIFwiLFxcbiAgICAgICAgICAgIDAuMnMgZWFzZS1pbi1vdXQgXCIsIFwiO1xcbiAgICAgICAgXCJdLCBbXCJcXG4gICAgICAgICAgYW5pbWF0aW9uOiBcIiwgXCIgXCIsIFwiLFxcbiAgICAgICAgICAgIDAuOHMgZWFzZS1pbi1vdXQgXCIsIFwiLFxcbiAgICAgICAgICAgIDAuMnMgZWFzZS1pbi1vdXQgXCIsIFwiO1xcbiAgICAgICAgXCJdKSksIGJhc2VBbmltYXRpb24sIGtleWZyYW1lTmFtZXMucm90YXRlLCBnZXRFbnRlclN0cm9rZUtleWZyYW1lKGFuaW1Qcm9wcy5zaXplKSwga2V5ZnJhbWVOYW1lcy5lbnRlck9wYWNpdHkpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBjc3ModGVtcGxhdGVPYmplY3RfMTAgfHwgKHRlbXBsYXRlT2JqZWN0XzEwID0gX19tYWtlVGVtcGxhdGVPYmplY3QoW1wiXFxuICAgICAgICBhbmltYXRpb246IFwiLCBcIiBcIiwgXCI7XFxuICAgICAgXCJdLCBbXCJcXG4gICAgICAgIGFuaW1hdGlvbjogXCIsIFwiIFwiLCBcIjtcXG4gICAgICBcIl0pKSwgYmFzZUFuaW1hdGlvbiwga2V5ZnJhbWVOYW1lcy5yb3RhdGUpO1xuICAgIH07XG4gICAgcmV0dXJuIGNzcyh0ZW1wbGF0ZU9iamVjdF8xMSB8fCAodGVtcGxhdGVPYmplY3RfMTEgPSBfX21ha2VUZW1wbGF0ZU9iamVjdChbXCJcXG4gICAgICBcIiwgXCJcXG4gICAgICBmaWxsOiBub25lO1xcbiAgICAgIHN0cm9rZTogXCIsIFwiO1xcbiAgICAgIHN0cm9rZS1kYXNoYXJyYXk6IFwiLCBcInB4O1xcbiAgICAgIHN0cm9rZS1kYXNob2Zmc2V0OiBcIiwgXCJweDtcXG4gICAgICBzdHJva2UtbGluZWNhcDogcm91bmQ7XFxuICAgICAgc3Ryb2tlLXdpZHRoOiBcIiwgXCJweDtcXG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XFxuICAgIFwiXSwgW1wiXFxuICAgICAgXCIsIFwiXFxuICAgICAgZmlsbDogbm9uZTtcXG4gICAgICBzdHJva2U6IFwiLCBcIjtcXG4gICAgICBzdHJva2UtZGFzaGFycmF5OiBcIiwgXCJweDtcXG4gICAgICBzdHJva2UtZGFzaG9mZnNldDogXCIsIFwicHg7XFxuICAgICAgc3Ryb2tlLWxpbmVjYXA6IHJvdW5kO1xcbiAgICAgIHN0cm9rZS13aWR0aDogXCIsIFwicHg7XFxuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xcbiAgICBcIl0pKSwgYW5pbWF0aW9uLCBnZXRTdHJva2VDb2xvciwgY2lyY3VtZmVyZW5jZSwgY2lyY3VtZmVyZW5jZSAqIDAuOCwgZ2V0U3Ryb2tlV2lkdGgocHJvcHMuc2l6ZSkpO1xufSk7XG52YXIgU3ZnID0gc3R5bGVkLnN2Zyh0ZW1wbGF0ZU9iamVjdF8xMyB8fCAodGVtcGxhdGVPYmplY3RfMTMgPSBfX21ha2VUZW1wbGF0ZU9iamVjdChbXCJcXG4gIFwiLCBcIjtcXG5cIl0sIFtcIlxcbiAgXCIsIFwiO1xcblwiXSkpLCBzdmdTdHlsZXMpO1xuU3ZnLmRpc3BsYXlOYW1lID0gJ1NwaW5uZXJTdmcnO1xuZXhwb3J0IGRlZmF1bHQgU3ZnO1xudmFyIHRlbXBsYXRlT2JqZWN0XzEsIHRlbXBsYXRlT2JqZWN0XzIsIHRlbXBsYXRlT2JqZWN0XzMsIHRlbXBsYXRlT2JqZWN0XzQsIHRlbXBsYXRlT2JqZWN0XzUsIHRlbXBsYXRlT2JqZWN0XzYsIHRlbXBsYXRlT2JqZWN0XzcsIHRlbXBsYXRlT2JqZWN0XzgsIHRlbXBsYXRlT2JqZWN0XzksIHRlbXBsYXRlT2JqZWN0XzEwLCB0ZW1wbGF0ZU9iamVjdF8xMSwgdGVtcGxhdGVPYmplY3RfMTIsIHRlbXBsYXRlT2JqZWN0XzEzO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9c3R5bGVkU3ZnLmpzLm1hcCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/spinner/dist/esm/Spinner/styledSvg.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/spinner/dist/esm/index.js": /*!**********************************************************!*\ !*** ./node_modules/@atlaskit/spinner/dist/esm/index.js ***! \**********************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Spinner__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Spinner */ \"./node_modules/@atlaskit/spinner/dist/esm/Spinner/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _Spinner__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L3NwaW5uZXIvZGlzdC9lc20vaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L3NwaW5uZXIvZGlzdC9lc20vaW5kZXguanM/MzY5YSJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBkZWZhdWx0IH0gZnJvbSAnLi9TcGlubmVyJztcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmpzLm1hcCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/spinner/dist/esm/index.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/spinner/node_modules/tslib/tslib.es6.js": /*!************************************************************************!*\ !*** ./node_modules/@atlaskit/spinner/node_modules/tslib/tslib.es6.js ***! \************************************************************************/ /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault, __classPrivateFieldGet, __classPrivateFieldSet */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__extends\", function() { return __extends; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__assign\", function() { return __assign; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__rest\", function() { return __rest; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__decorate\", function() { return __decorate; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__param\", function() { return __param; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__metadata\", function() { return __metadata; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__awaiter\", function() { return __awaiter; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__generator\", function() { return __generator; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__exportStar\", function() { return __exportStar; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__values\", function() { return __values; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__read\", function() { return __read; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__spread\", function() { return __spread; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__spreadArrays\", function() { return __spreadArrays; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__await\", function() { return __await; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__asyncGenerator\", function() { return __asyncGenerator; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__asyncDelegator\", function() { return __asyncDelegator; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__asyncValues\", function() { return __asyncValues; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__makeTemplateObject\", function() { return __makeTemplateObject; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__importStar\", function() { return __importStar; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__importDefault\", function() { return __importDefault; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__classPrivateFieldGet\", function() { return __classPrivateFieldGet; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__classPrivateFieldSet\", function() { return __classPrivateFieldSet; });\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nfunction __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nvar __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nfunction __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nfunction __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nfunction __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nfunction __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nfunction __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nfunction __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nfunction __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nfunction __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nfunction __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nfunction __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nfunction __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nfunction __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nfunction __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nfunction __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nfunction __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nfunction __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nfunction __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nfunction __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nfunction __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nfunction __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L3NwaW5uZXIvbm9kZV9tb2R1bGVzL3RzbGliL3RzbGliLmVzNi5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AYXRsYXNraXQvc3Bpbm5lci9ub2RlX21vZHVsZXMvdHNsaWIvdHNsaWIuZXM2LmpzP2QyNTciXSwic291cmNlc0NvbnRlbnQiOlsiLyohICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbkNvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxyXG5MaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpOyB5b3UgbWF5IG5vdCB1c2VcclxudGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGVcclxuTGljZW5zZSBhdCBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcclxuXHJcblRISVMgQ09ERSBJUyBQUk9WSURFRCBPTiBBTiAqQVMgSVMqIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTllcclxuS0lORCwgRUlUSEVSIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIFdJVEhPVVQgTElNSVRBVElPTiBBTlkgSU1QTElFRFxyXG5XQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgVElUTEUsIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLFxyXG5NRVJDSEFOVEFCTElUWSBPUiBOT04tSU5GUklOR0VNRU5ULlxyXG5cclxuU2VlIHRoZSBBcGFjaGUgVmVyc2lvbiAyLjAgTGljZW5zZSBmb3Igc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zXHJcbmFuZCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cclxuLyogZ2xvYmFsIFJlZmxlY3QsIFByb21pc2UgKi9cclxuXHJcbnZhciBleHRlbmRTdGF0aWNzID0gZnVuY3Rpb24oZCwgYikge1xyXG4gICAgZXh0ZW5kU3RhdGljcyA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiB8fFxyXG4gICAgICAgICh7IF9fcHJvdG9fXzogW10gfSBpbnN0YW5jZW9mIEFycmF5ICYmIGZ1bmN0aW9uIChkLCBiKSB7IGQuX19wcm90b19fID0gYjsgfSkgfHxcclxuICAgICAgICBmdW5jdGlvbiAoZCwgYikgeyBmb3IgKHZhciBwIGluIGIpIGlmIChiLmhhc093blByb3BlcnR5KHApKSBkW3BdID0gYltwXTsgfTtcclxuICAgIHJldHVybiBleHRlbmRTdGF0aWNzKGQsIGIpO1xyXG59O1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fZXh0ZW5kcyhkLCBiKSB7XHJcbiAgICBleHRlbmRTdGF0aWNzKGQsIGIpO1xyXG4gICAgZnVuY3Rpb24gX18oKSB7IHRoaXMuY29uc3RydWN0b3IgPSBkOyB9XHJcbiAgICBkLnByb3RvdHlwZSA9IGIgPT09IG51bGwgPyBPYmplY3QuY3JlYXRlKGIpIDogKF9fLnByb3RvdHlwZSA9IGIucHJvdG90eXBlLCBuZXcgX18oKSk7XHJcbn1cclxuXHJcbmV4cG9ydCB2YXIgX19hc3NpZ24gPSBmdW5jdGlvbigpIHtcclxuICAgIF9fYXNzaWduID0gT2JqZWN0LmFzc2lnbiB8fCBmdW5jdGlvbiBfX2Fzc2lnbih0KSB7XHJcbiAgICAgICAgZm9yICh2YXIgcywgaSA9IDEsIG4gPSBhcmd1bWVudHMubGVuZ3RoOyBpIDwgbjsgaSsrKSB7XHJcbiAgICAgICAgICAgIHMgPSBhcmd1bWVudHNbaV07XHJcbiAgICAgICAgICAgIGZvciAodmFyIHAgaW4gcykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSkgdFtwXSA9IHNbcF07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIF9fYXNzaWduLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3Jlc3QocywgZSkge1xyXG4gICAgdmFyIHQgPSB7fTtcclxuICAgIGZvciAodmFyIHAgaW4gcykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSAmJiBlLmluZGV4T2YocCkgPCAwKVxyXG4gICAgICAgIHRbcF0gPSBzW3BdO1xyXG4gICAgaWYgKHMgIT0gbnVsbCAmJiB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyA9PT0gXCJmdW5jdGlvblwiKVxyXG4gICAgICAgIGZvciAodmFyIGkgPSAwLCBwID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhzKTsgaSA8IHAubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgaWYgKGUuaW5kZXhPZihwW2ldKSA8IDAgJiYgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKHMsIHBbaV0pKVxyXG4gICAgICAgICAgICAgICAgdFtwW2ldXSA9IHNbcFtpXV07XHJcbiAgICAgICAgfVxyXG4gICAgcmV0dXJuIHQ7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2RlY29yYXRlKGRlY29yYXRvcnMsIHRhcmdldCwga2V5LCBkZXNjKSB7XHJcbiAgICB2YXIgYyA9IGFyZ3VtZW50cy5sZW5ndGgsIHIgPSBjIDwgMyA/IHRhcmdldCA6IGRlc2MgPT09IG51bGwgPyBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0YXJnZXQsIGtleSkgOiBkZXNjLCBkO1xyXG4gICAgaWYgKHR5cGVvZiBSZWZsZWN0ID09PSBcIm9iamVjdFwiICYmIHR5cGVvZiBSZWZsZWN0LmRlY29yYXRlID09PSBcImZ1bmN0aW9uXCIpIHIgPSBSZWZsZWN0LmRlY29yYXRlKGRlY29yYXRvcnMsIHRhcmdldCwga2V5LCBkZXNjKTtcclxuICAgIGVsc2UgZm9yICh2YXIgaSA9IGRlY29yYXRvcnMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIGlmIChkID0gZGVjb3JhdG9yc1tpXSkgciA9IChjIDwgMyA/IGQocikgOiBjID4gMyA/IGQodGFyZ2V0LCBrZXksIHIpIDogZCh0YXJnZXQsIGtleSkpIHx8IHI7XHJcbiAgICByZXR1cm4gYyA+IDMgJiYgciAmJiBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIHIpLCByO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19wYXJhbShwYXJhbUluZGV4LCBkZWNvcmF0b3IpIHtcclxuICAgIHJldHVybiBmdW5jdGlvbiAodGFyZ2V0LCBrZXkpIHsgZGVjb3JhdG9yKHRhcmdldCwga2V5LCBwYXJhbUluZGV4KTsgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19tZXRhZGF0YShtZXRhZGF0YUtleSwgbWV0YWRhdGFWYWx1ZSkge1xyXG4gICAgaWYgKHR5cGVvZiBSZWZsZWN0ID09PSBcIm9iamVjdFwiICYmIHR5cGVvZiBSZWZsZWN0Lm1ldGFkYXRhID09PSBcImZ1bmN0aW9uXCIpIHJldHVybiBSZWZsZWN0Lm1ldGFkYXRhKG1ldGFkYXRhS2V5LCBtZXRhZGF0YVZhbHVlKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fYXdhaXRlcih0aGlzQXJnLCBfYXJndW1lbnRzLCBQLCBnZW5lcmF0b3IpIHtcclxuICAgIGZ1bmN0aW9uIGFkb3B0KHZhbHVlKSB7IHJldHVybiB2YWx1ZSBpbnN0YW5jZW9mIFAgPyB2YWx1ZSA6IG5ldyBQKGZ1bmN0aW9uIChyZXNvbHZlKSB7IHJlc29sdmUodmFsdWUpOyB9KTsgfVxyXG4gICAgcmV0dXJuIG5ldyAoUCB8fCAoUCA9IFByb21pc2UpKShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XHJcbiAgICAgICAgZnVuY3Rpb24gZnVsZmlsbGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yLm5leHQodmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxyXG4gICAgICAgIGZ1bmN0aW9uIHJlamVjdGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yW1widGhyb3dcIl0odmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxyXG4gICAgICAgIGZ1bmN0aW9uIHN0ZXAocmVzdWx0KSB7IHJlc3VsdC5kb25lID8gcmVzb2x2ZShyZXN1bHQudmFsdWUpIDogYWRvcHQocmVzdWx0LnZhbHVlKS50aGVuKGZ1bGZpbGxlZCwgcmVqZWN0ZWQpOyB9XHJcbiAgICAgICAgc3RlcCgoZ2VuZXJhdG9yID0gZ2VuZXJhdG9yLmFwcGx5KHRoaXNBcmcsIF9hcmd1bWVudHMgfHwgW10pKS5uZXh0KCkpO1xyXG4gICAgfSk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2dlbmVyYXRvcih0aGlzQXJnLCBib2R5KSB7XHJcbiAgICB2YXIgXyA9IHsgbGFiZWw6IDAsIHNlbnQ6IGZ1bmN0aW9uKCkgeyBpZiAodFswXSAmIDEpIHRocm93IHRbMV07IHJldHVybiB0WzFdOyB9LCB0cnlzOiBbXSwgb3BzOiBbXSB9LCBmLCB5LCB0LCBnO1xyXG4gICAgcmV0dXJuIGcgPSB7IG5leHQ6IHZlcmIoMCksIFwidGhyb3dcIjogdmVyYigxKSwgXCJyZXR1cm5cIjogdmVyYigyKSB9LCB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgKGdbU3ltYm9sLml0ZXJhdG9yXSA9IGZ1bmN0aW9uKCkgeyByZXR1cm4gdGhpczsgfSksIGc7XHJcbiAgICBmdW5jdGlvbiB2ZXJiKG4pIHsgcmV0dXJuIGZ1bmN0aW9uICh2KSB7IHJldHVybiBzdGVwKFtuLCB2XSk7IH07IH1cclxuICAgIGZ1bmN0aW9uIHN0ZXAob3ApIHtcclxuICAgICAgICBpZiAoZikgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkdlbmVyYXRvciBpcyBhbHJlYWR5IGV4ZWN1dGluZy5cIik7XHJcbiAgICAgICAgd2hpbGUgKF8pIHRyeSB7XHJcbiAgICAgICAgICAgIGlmIChmID0gMSwgeSAmJiAodCA9IG9wWzBdICYgMiA/IHlbXCJyZXR1cm5cIl0gOiBvcFswXSA/IHlbXCJ0aHJvd1wiXSB8fCAoKHQgPSB5W1wicmV0dXJuXCJdKSAmJiB0LmNhbGwoeSksIDApIDogeS5uZXh0KSAmJiAhKHQgPSB0LmNhbGwoeSwgb3BbMV0pKS5kb25lKSByZXR1cm4gdDtcclxuICAgICAgICAgICAgaWYgKHkgPSAwLCB0KSBvcCA9IFtvcFswXSAmIDIsIHQudmFsdWVdO1xyXG4gICAgICAgICAgICBzd2l0Y2ggKG9wWzBdKSB7XHJcbiAgICAgICAgICAgICAgICBjYXNlIDA6IGNhc2UgMTogdCA9IG9wOyBicmVhaztcclxuICAgICAgICAgICAgICAgIGNhc2UgNDogXy5sYWJlbCsrOyByZXR1cm4geyB2YWx1ZTogb3BbMV0sIGRvbmU6IGZhbHNlIH07XHJcbiAgICAgICAgICAgICAgICBjYXNlIDU6IF8ubGFiZWwrKzsgeSA9IG9wWzFdOyBvcCA9IFswXTsgY29udGludWU7XHJcbiAgICAgICAgICAgICAgICBjYXNlIDc6IG9wID0gXy5vcHMucG9wKCk7IF8udHJ5cy5wb3AoKTsgY29udGludWU7XHJcbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICAgICAgICAgIGlmICghKHQgPSBfLnRyeXMsIHQgPSB0Lmxlbmd0aCA+IDAgJiYgdFt0Lmxlbmd0aCAtIDFdKSAmJiAob3BbMF0gPT09IDYgfHwgb3BbMF0gPT09IDIpKSB7IF8gPSAwOyBjb250aW51ZTsgfVxyXG4gICAgICAgICAgICAgICAgICAgIGlmIChvcFswXSA9PT0gMyAmJiAoIXQgfHwgKG9wWzFdID4gdFswXSAmJiBvcFsxXSA8IHRbM10pKSkgeyBfLmxhYmVsID0gb3BbMV07IGJyZWFrOyB9XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKG9wWzBdID09PSA2ICYmIF8ubGFiZWwgPCB0WzFdKSB7IF8ubGFiZWwgPSB0WzFdOyB0ID0gb3A7IGJyZWFrOyB9XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHQgJiYgXy5sYWJlbCA8IHRbMl0pIHsgXy5sYWJlbCA9IHRbMl07IF8ub3BzLnB1c2gob3ApOyBicmVhazsgfVxyXG4gICAgICAgICAgICAgICAgICAgIGlmICh0WzJdKSBfLm9wcy5wb3AoKTtcclxuICAgICAgICAgICAgICAgICAgICBfLnRyeXMucG9wKCk7IGNvbnRpbnVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIG9wID0gYm9keS5jYWxsKHRoaXNBcmcsIF8pO1xyXG4gICAgICAgIH0gY2F0Y2ggKGUpIHsgb3AgPSBbNiwgZV07IHkgPSAwOyB9IGZpbmFsbHkgeyBmID0gdCA9IDA7IH1cclxuICAgICAgICBpZiAob3BbMF0gJiA1KSB0aHJvdyBvcFsxXTsgcmV0dXJuIHsgdmFsdWU6IG9wWzBdID8gb3BbMV0gOiB2b2lkIDAsIGRvbmU6IHRydWUgfTtcclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fZXhwb3J0U3RhcihtLCBleHBvcnRzKSB7XHJcbiAgICBmb3IgKHZhciBwIGluIG0pIGlmICghZXhwb3J0cy5oYXNPd25Qcm9wZXJ0eShwKSkgZXhwb3J0c1twXSA9IG1bcF07XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3ZhbHVlcyhvKSB7XHJcbiAgICB2YXIgcyA9IHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiBTeW1ib2wuaXRlcmF0b3IsIG0gPSBzICYmIG9bc10sIGkgPSAwO1xyXG4gICAgaWYgKG0pIHJldHVybiBtLmNhbGwobyk7XHJcbiAgICBpZiAobyAmJiB0eXBlb2Ygby5sZW5ndGggPT09IFwibnVtYmVyXCIpIHJldHVybiB7XHJcbiAgICAgICAgbmV4dDogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICBpZiAobyAmJiBpID49IG8ubGVuZ3RoKSBvID0gdm9pZCAwO1xyXG4gICAgICAgICAgICByZXR1cm4geyB2YWx1ZTogbyAmJiBvW2krK10sIGRvbmU6ICFvIH07XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuICAgIHRocm93IG5ldyBUeXBlRXJyb3IocyA/IFwiT2JqZWN0IGlzIG5vdCBpdGVyYWJsZS5cIiA6IFwiU3ltYm9sLml0ZXJhdG9yIGlzIG5vdCBkZWZpbmVkLlwiKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fcmVhZChvLCBuKSB7XHJcbiAgICB2YXIgbSA9IHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiBvW1N5bWJvbC5pdGVyYXRvcl07XHJcbiAgICBpZiAoIW0pIHJldHVybiBvO1xyXG4gICAgdmFyIGkgPSBtLmNhbGwobyksIHIsIGFyID0gW10sIGU7XHJcbiAgICB0cnkge1xyXG4gICAgICAgIHdoaWxlICgobiA9PT0gdm9pZCAwIHx8IG4tLSA+IDApICYmICEociA9IGkubmV4dCgpKS5kb25lKSBhci5wdXNoKHIudmFsdWUpO1xyXG4gICAgfVxyXG4gICAgY2F0Y2ggKGVycm9yKSB7IGUgPSB7IGVycm9yOiBlcnJvciB9OyB9XHJcbiAgICBmaW5hbGx5IHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBpZiAociAmJiAhci5kb25lICYmIChtID0gaVtcInJldHVyblwiXSkpIG0uY2FsbChpKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZmluYWxseSB7IGlmIChlKSB0aHJvdyBlLmVycm9yOyB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYXI7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3NwcmVhZCgpIHtcclxuICAgIGZvciAodmFyIGFyID0gW10sIGkgPSAwOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKVxyXG4gICAgICAgIGFyID0gYXIuY29uY2F0KF9fcmVhZChhcmd1bWVudHNbaV0pKTtcclxuICAgIHJldHVybiBhcjtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fc3ByZWFkQXJyYXlzKCkge1xyXG4gICAgZm9yICh2YXIgcyA9IDAsIGkgPSAwLCBpbCA9IGFyZ3VtZW50cy5sZW5ndGg7IGkgPCBpbDsgaSsrKSBzICs9IGFyZ3VtZW50c1tpXS5sZW5ndGg7XHJcbiAgICBmb3IgKHZhciByID0gQXJyYXkocyksIGsgPSAwLCBpID0gMDsgaSA8IGlsOyBpKyspXHJcbiAgICAgICAgZm9yICh2YXIgYSA9IGFyZ3VtZW50c1tpXSwgaiA9IDAsIGpsID0gYS5sZW5ndGg7IGogPCBqbDsgaisrLCBrKyspXHJcbiAgICAgICAgICAgIHJba10gPSBhW2pdO1xyXG4gICAgcmV0dXJuIHI7XHJcbn07XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19hd2FpdCh2KSB7XHJcbiAgICByZXR1cm4gdGhpcyBpbnN0YW5jZW9mIF9fYXdhaXQgPyAodGhpcy52ID0gdiwgdGhpcykgOiBuZXcgX19hd2FpdCh2KTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fYXN5bmNHZW5lcmF0b3IodGhpc0FyZywgX2FyZ3VtZW50cywgZ2VuZXJhdG9yKSB7XHJcbiAgICBpZiAoIVN5bWJvbC5hc3luY0l0ZXJhdG9yKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiU3ltYm9sLmFzeW5jSXRlcmF0b3IgaXMgbm90IGRlZmluZWQuXCIpO1xyXG4gICAgdmFyIGcgPSBnZW5lcmF0b3IuYXBwbHkodGhpc0FyZywgX2FyZ3VtZW50cyB8fCBbXSksIGksIHEgPSBbXTtcclxuICAgIHJldHVybiBpID0ge30sIHZlcmIoXCJuZXh0XCIpLCB2ZXJiKFwidGhyb3dcIiksIHZlcmIoXCJyZXR1cm5cIiksIGlbU3ltYm9sLmFzeW5jSXRlcmF0b3JdID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gdGhpczsgfSwgaTtcclxuICAgIGZ1bmN0aW9uIHZlcmIobikgeyBpZiAoZ1tuXSkgaVtuXSA9IGZ1bmN0aW9uICh2KSB7IHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbiAoYSwgYikgeyBxLnB1c2goW24sIHYsIGEsIGJdKSA+IDEgfHwgcmVzdW1lKG4sIHYpOyB9KTsgfTsgfVxyXG4gICAgZnVuY3Rpb24gcmVzdW1lKG4sIHYpIHsgdHJ5IHsgc3RlcChnW25dKHYpKTsgfSBjYXRjaCAoZSkgeyBzZXR0bGUocVswXVszXSwgZSk7IH0gfVxyXG4gICAgZnVuY3Rpb24gc3RlcChyKSB7IHIudmFsdWUgaW5zdGFuY2VvZiBfX2F3YWl0ID8gUHJvbWlzZS5yZXNvbHZlKHIudmFsdWUudikudGhlbihmdWxmaWxsLCByZWplY3QpIDogc2V0dGxlKHFbMF1bMl0sIHIpOyB9XHJcbiAgICBmdW5jdGlvbiBmdWxmaWxsKHZhbHVlKSB7IHJlc3VtZShcIm5leHRcIiwgdmFsdWUpOyB9XHJcbiAgICBmdW5jdGlvbiByZWplY3QodmFsdWUpIHsgcmVzdW1lKFwidGhyb3dcIiwgdmFsdWUpOyB9XHJcbiAgICBmdW5jdGlvbiBzZXR0bGUoZiwgdikgeyBpZiAoZih2KSwgcS5zaGlmdCgpLCBxLmxlbmd0aCkgcmVzdW1lKHFbMF1bMF0sIHFbMF1bMV0pOyB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2FzeW5jRGVsZWdhdG9yKG8pIHtcclxuICAgIHZhciBpLCBwO1xyXG4gICAgcmV0dXJuIGkgPSB7fSwgdmVyYihcIm5leHRcIiksIHZlcmIoXCJ0aHJvd1wiLCBmdW5jdGlvbiAoZSkgeyB0aHJvdyBlOyB9KSwgdmVyYihcInJldHVyblwiKSwgaVtTeW1ib2wuaXRlcmF0b3JdID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gdGhpczsgfSwgaTtcclxuICAgIGZ1bmN0aW9uIHZlcmIobiwgZikgeyBpW25dID0gb1tuXSA/IGZ1bmN0aW9uICh2KSB7IHJldHVybiAocCA9ICFwKSA/IHsgdmFsdWU6IF9fYXdhaXQob1tuXSh2KSksIGRvbmU6IG4gPT09IFwicmV0dXJuXCIgfSA6IGYgPyBmKHYpIDogdjsgfSA6IGY7IH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fYXN5bmNWYWx1ZXMobykge1xyXG4gICAgaWYgKCFTeW1ib2wuYXN5bmNJdGVyYXRvcikgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlN5bWJvbC5hc3luY0l0ZXJhdG9yIGlzIG5vdCBkZWZpbmVkLlwiKTtcclxuICAgIHZhciBtID0gb1tTeW1ib2wuYXN5bmNJdGVyYXRvcl0sIGk7XHJcbiAgICByZXR1cm4gbSA/IG0uY2FsbChvKSA6IChvID0gdHlwZW9mIF9fdmFsdWVzID09PSBcImZ1bmN0aW9uXCIgPyBfX3ZhbHVlcyhvKSA6IG9bU3ltYm9sLml0ZXJhdG9yXSgpLCBpID0ge30sIHZlcmIoXCJuZXh0XCIpLCB2ZXJiKFwidGhyb3dcIiksIHZlcmIoXCJyZXR1cm5cIiksIGlbU3ltYm9sLmFzeW5jSXRlcmF0b3JdID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gdGhpczsgfSwgaSk7XHJcbiAgICBmdW5jdGlvbiB2ZXJiKG4pIHsgaVtuXSA9IG9bbl0gJiYgZnVuY3Rpb24gKHYpIHsgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHsgdiA9IG9bbl0odiksIHNldHRsZShyZXNvbHZlLCByZWplY3QsIHYuZG9uZSwgdi52YWx1ZSk7IH0pOyB9OyB9XHJcbiAgICBmdW5jdGlvbiBzZXR0bGUocmVzb2x2ZSwgcmVqZWN0LCBkLCB2KSB7IFByb21pc2UucmVzb2x2ZSh2KS50aGVuKGZ1bmN0aW9uKHYpIHsgcmVzb2x2ZSh7IHZhbHVlOiB2LCBkb25lOiBkIH0pOyB9LCByZWplY3QpOyB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX21ha2VUZW1wbGF0ZU9iamVjdChjb29rZWQsIHJhdykge1xyXG4gICAgaWYgKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSkgeyBPYmplY3QuZGVmaW5lUHJvcGVydHkoY29va2VkLCBcInJhd1wiLCB7IHZhbHVlOiByYXcgfSk7IH0gZWxzZSB7IGNvb2tlZC5yYXcgPSByYXc7IH1cclxuICAgIHJldHVybiBjb29rZWQ7XHJcbn07XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19pbXBvcnRTdGFyKG1vZCkge1xyXG4gICAgaWYgKG1vZCAmJiBtb2QuX19lc01vZHVsZSkgcmV0dXJuIG1vZDtcclxuICAgIHZhciByZXN1bHQgPSB7fTtcclxuICAgIGlmIChtb2QgIT0gbnVsbCkgZm9yICh2YXIgayBpbiBtb2QpIGlmIChPYmplY3QuaGFzT3duUHJvcGVydHkuY2FsbChtb2QsIGspKSByZXN1bHRba10gPSBtb2Rba107XHJcbiAgICByZXN1bHQuZGVmYXVsdCA9IG1vZDtcclxuICAgIHJldHVybiByZXN1bHQ7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2ltcG9ydERlZmF1bHQobW9kKSB7XHJcbiAgICByZXR1cm4gKG1vZCAmJiBtb2QuX19lc01vZHVsZSkgPyBtb2QgOiB7IGRlZmF1bHQ6IG1vZCB9O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19jbGFzc1ByaXZhdGVGaWVsZEdldChyZWNlaXZlciwgcHJpdmF0ZU1hcCkge1xyXG4gICAgaWYgKCFwcml2YXRlTWFwLmhhcyhyZWNlaXZlcikpIHtcclxuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiYXR0ZW1wdGVkIHRvIGdldCBwcml2YXRlIGZpZWxkIG9uIG5vbi1pbnN0YW5jZVwiKTtcclxuICAgIH1cclxuICAgIHJldHVybiBwcml2YXRlTWFwLmdldChyZWNlaXZlcik7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2NsYXNzUHJpdmF0ZUZpZWxkU2V0KHJlY2VpdmVyLCBwcml2YXRlTWFwLCB2YWx1ZSkge1xyXG4gICAgaWYgKCFwcml2YXRlTWFwLmhhcyhyZWNlaXZlcikpIHtcclxuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiYXR0ZW1wdGVkIHRvIHNldCBwcml2YXRlIGZpZWxkIG9uIG5vbi1pbnN0YW5jZVwiKTtcclxuICAgIH1cclxuICAgIHByaXZhdGVNYXAuc2V0KHJlY2VpdmVyLCB2YWx1ZSk7XHJcbiAgICByZXR1cm4gdmFsdWU7XHJcbn1cclxuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/spinner/node_modules/tslib/tslib.es6.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/theme/dist/esm/color-palettes.js": /*!*****************************************************************!*\ !*** ./node_modules/@atlaskit/theme/dist/esm/color-palettes.js ***! \*****************************************************************/ /*! exports provided: colorPalette8, colorPalette16, colorPalette24, colorPalette */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"colorPalette8\", function() { return colorPalette8; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"colorPalette16\", function() { return colorPalette16; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"colorPalette24\", function() { return colorPalette24; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"colorPalette\", function() { return colorPalette; });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/@atlaskit/theme/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _colors__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./colors */ \"./node_modules/@atlaskit/theme/dist/esm/colors.js\");\n\n\n// Jira Portfolio\nvar colorPalette8 = [\n { background: _colors__WEBPACK_IMPORTED_MODULE_1__[\"N800\"], text: _colors__WEBPACK_IMPORTED_MODULE_1__[\"N0\"] },\n { background: _colors__WEBPACK_IMPORTED_MODULE_1__[\"R400\"], text: _colors__WEBPACK_IMPORTED_MODULE_1__[\"N0\"] },\n { background: _colors__WEBPACK_IMPORTED_MODULE_1__[\"P400\"], text: _colors__WEBPACK_IMPORTED_MODULE_1__[\"P50\"] },\n { background: _colors__WEBPACK_IMPORTED_MODULE_1__[\"B400\"], text: _colors__WEBPACK_IMPORTED_MODULE_1__[\"B75\"] },\n { background: _colors__WEBPACK_IMPORTED_MODULE_1__[\"T300\"], text: _colors__WEBPACK_IMPORTED_MODULE_1__[\"N800\"] },\n { background: _colors__WEBPACK_IMPORTED_MODULE_1__[\"G400\"], text: _colors__WEBPACK_IMPORTED_MODULE_1__[\"N0\"] },\n { background: _colors__WEBPACK_IMPORTED_MODULE_1__[\"Y400\"], text: _colors__WEBPACK_IMPORTED_MODULE_1__[\"N800\"] },\n { background: _colors__WEBPACK_IMPORTED_MODULE_1__[\"N70\"], text: _colors__WEBPACK_IMPORTED_MODULE_1__[\"N800\"] },\n];\nvar colorPalette16 = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__spread\"])(colorPalette8, [\n { background: _colors__WEBPACK_IMPORTED_MODULE_1__[\"N500\"], text: _colors__WEBPACK_IMPORTED_MODULE_1__[\"N0\"] },\n { background: _colors__WEBPACK_IMPORTED_MODULE_1__[\"R100\"], text: _colors__WEBPACK_IMPORTED_MODULE_1__[\"N800\"] },\n { background: _colors__WEBPACK_IMPORTED_MODULE_1__[\"P75\"], text: _colors__WEBPACK_IMPORTED_MODULE_1__[\"N800\"] },\n { background: _colors__WEBPACK_IMPORTED_MODULE_1__[\"B100\"], text: _colors__WEBPACK_IMPORTED_MODULE_1__[\"N800\"] },\n { background: _colors__WEBPACK_IMPORTED_MODULE_1__[\"T100\"], text: _colors__WEBPACK_IMPORTED_MODULE_1__[\"N800\"] },\n { background: _colors__WEBPACK_IMPORTED_MODULE_1__[\"G100\"], text: _colors__WEBPACK_IMPORTED_MODULE_1__[\"G500\"] },\n { background: _colors__WEBPACK_IMPORTED_MODULE_1__[\"Y200\"], text: _colors__WEBPACK_IMPORTED_MODULE_1__[\"N800\"] },\n { background: _colors__WEBPACK_IMPORTED_MODULE_1__[\"N0\"], text: _colors__WEBPACK_IMPORTED_MODULE_1__[\"N800\"] },\n]);\nvar colorPalette24 = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__spread\"])(colorPalette16, [\n { background: _colors__WEBPACK_IMPORTED_MODULE_1__[\"N100\"], text: _colors__WEBPACK_IMPORTED_MODULE_1__[\"N0\"] },\n { background: _colors__WEBPACK_IMPORTED_MODULE_1__[\"N40\"], text: _colors__WEBPACK_IMPORTED_MODULE_1__[\"N800\"] },\n { background: _colors__WEBPACK_IMPORTED_MODULE_1__[\"N50\"], text: _colors__WEBPACK_IMPORTED_MODULE_1__[\"R500\"] },\n { background: _colors__WEBPACK_IMPORTED_MODULE_1__[\"P50\"], text: _colors__WEBPACK_IMPORTED_MODULE_1__[\"P500\"] },\n { background: _colors__WEBPACK_IMPORTED_MODULE_1__[\"B50\"], text: _colors__WEBPACK_IMPORTED_MODULE_1__[\"B500\"] },\n { background: _colors__WEBPACK_IMPORTED_MODULE_1__[\"T75\"], text: _colors__WEBPACK_IMPORTED_MODULE_1__[\"N800\"] },\n { background: _colors__WEBPACK_IMPORTED_MODULE_1__[\"G50\"], text: _colors__WEBPACK_IMPORTED_MODULE_1__[\"G500\"] },\n { background: _colors__WEBPACK_IMPORTED_MODULE_1__[\"Y75\"], text: _colors__WEBPACK_IMPORTED_MODULE_1__[\"N800\"] },\n]);\nvar colorPalette = function (palette) {\n if (palette === void 0) { palette = '8'; }\n switch (palette) {\n case '8':\n return colorPalette8;\n case '16':\n return colorPalette16;\n case '24':\n return colorPalette24;\n default:\n throw new Error('The only available color palette is 8, 16, 24');\n }\n};\n//# sourceMappingURL=color-palettes.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L3RoZW1lL2Rpc3QvZXNtL2NvbG9yLXBhbGV0dGVzLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BhdGxhc2tpdC90aGVtZS9kaXN0L2VzbS9jb2xvci1wYWxldHRlcy5qcz9kZTkzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IF9fcmVhZCwgX19zcHJlYWQgfSBmcm9tIFwidHNsaWJcIjtcbmltcG9ydCAqIGFzIGNvbG9ycyBmcm9tICcuL2NvbG9ycyc7XG4vLyBKaXJhIFBvcnRmb2xpb1xuZXhwb3J0IHZhciBjb2xvclBhbGV0dGU4ID0gW1xuICAgIHsgYmFja2dyb3VuZDogY29sb3JzLk44MDAsIHRleHQ6IGNvbG9ycy5OMCB9LFxuICAgIHsgYmFja2dyb3VuZDogY29sb3JzLlI0MDAsIHRleHQ6IGNvbG9ycy5OMCB9LFxuICAgIHsgYmFja2dyb3VuZDogY29sb3JzLlA0MDAsIHRleHQ6IGNvbG9ycy5QNTAgfSxcbiAgICB7IGJhY2tncm91bmQ6IGNvbG9ycy5CNDAwLCB0ZXh0OiBjb2xvcnMuQjc1IH0sXG4gICAgeyBiYWNrZ3JvdW5kOiBjb2xvcnMuVDMwMCwgdGV4dDogY29sb3JzLk44MDAgfSxcbiAgICB7IGJhY2tncm91bmQ6IGNvbG9ycy5HNDAwLCB0ZXh0OiBjb2xvcnMuTjAgfSxcbiAgICB7IGJhY2tncm91bmQ6IGNvbG9ycy5ZNDAwLCB0ZXh0OiBjb2xvcnMuTjgwMCB9LFxuICAgIHsgYmFja2dyb3VuZDogY29sb3JzLk43MCwgdGV4dDogY29sb3JzLk44MDAgfSxcbl07XG5leHBvcnQgdmFyIGNvbG9yUGFsZXR0ZTE2ID0gX19zcHJlYWQoY29sb3JQYWxldHRlOCwgW1xuICAgIHsgYmFja2dyb3VuZDogY29sb3JzLk41MDAsIHRleHQ6IGNvbG9ycy5OMCB9LFxuICAgIHsgYmFja2dyb3VuZDogY29sb3JzLlIxMDAsIHRleHQ6IGNvbG9ycy5OODAwIH0sXG4gICAgeyBiYWNrZ3JvdW5kOiBjb2xvcnMuUDc1LCB0ZXh0OiBjb2xvcnMuTjgwMCB9LFxuICAgIHsgYmFja2dyb3VuZDogY29sb3JzLkIxMDAsIHRleHQ6IGNvbG9ycy5OODAwIH0sXG4gICAgeyBiYWNrZ3JvdW5kOiBjb2xvcnMuVDEwMCwgdGV4dDogY29sb3JzLk44MDAgfSxcbiAgICB7IGJhY2tncm91bmQ6IGNvbG9ycy5HMTAwLCB0ZXh0OiBjb2xvcnMuRzUwMCB9LFxuICAgIHsgYmFja2dyb3VuZDogY29sb3JzLlkyMDAsIHRleHQ6IGNvbG9ycy5OODAwIH0sXG4gICAgeyBiYWNrZ3JvdW5kOiBjb2xvcnMuTjAsIHRleHQ6IGNvbG9ycy5OODAwIH0sXG5dKTtcbmV4cG9ydCB2YXIgY29sb3JQYWxldHRlMjQgPSBfX3NwcmVhZChjb2xvclBhbGV0dGUxNiwgW1xuICAgIHsgYmFja2dyb3VuZDogY29sb3JzLk4xMDAsIHRleHQ6IGNvbG9ycy5OMCB9LFxuICAgIHsgYmFja2dyb3VuZDogY29sb3JzLk40MCwgdGV4dDogY29sb3JzLk44MDAgfSxcbiAgICB7IGJhY2tncm91bmQ6IGNvbG9ycy5ONTAsIHRleHQ6IGNvbG9ycy5SNTAwIH0sXG4gICAgeyBiYWNrZ3JvdW5kOiBjb2xvcnMuUDUwLCB0ZXh0OiBjb2xvcnMuUDUwMCB9LFxuICAgIHsgYmFja2dyb3VuZDogY29sb3JzLkI1MCwgdGV4dDogY29sb3JzLkI1MDAgfSxcbiAgICB7IGJhY2tncm91bmQ6IGNvbG9ycy5UNzUsIHRleHQ6IGNvbG9ycy5OODAwIH0sXG4gICAgeyBiYWNrZ3JvdW5kOiBjb2xvcnMuRzUwLCB0ZXh0OiBjb2xvcnMuRzUwMCB9LFxuICAgIHsgYmFja2dyb3VuZDogY29sb3JzLlk3NSwgdGV4dDogY29sb3JzLk44MDAgfSxcbl0pO1xuZXhwb3J0IHZhciBjb2xvclBhbGV0dGUgPSBmdW5jdGlvbiAocGFsZXR0ZSkge1xuICAgIGlmIChwYWxldHRlID09PSB2b2lkIDApIHsgcGFsZXR0ZSA9ICc4JzsgfVxuICAgIHN3aXRjaCAocGFsZXR0ZSkge1xuICAgICAgICBjYXNlICc4JzpcbiAgICAgICAgICAgIHJldHVybiBjb2xvclBhbGV0dGU4O1xuICAgICAgICBjYXNlICcxNic6XG4gICAgICAgICAgICByZXR1cm4gY29sb3JQYWxldHRlMTY7XG4gICAgICAgIGNhc2UgJzI0JzpcbiAgICAgICAgICAgIHJldHVybiBjb2xvclBhbGV0dGUyNDtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignVGhlIG9ubHkgYXZhaWxhYmxlIGNvbG9yIHBhbGV0dGUgaXMgOCwgMTYsIDI0Jyk7XG4gICAgfVxufTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWNvbG9yLXBhbGV0dGVzLmpzLm1hcCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/theme/dist/esm/color-palettes.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/theme/dist/esm/colors.js": /*!*********************************************************!*\ !*** ./node_modules/@atlaskit/theme/dist/esm/colors.js ***! \*********************************************************/ /*! exports provided: R50, R75, R100, R200, R300, R400, R500, Y50, Y75, Y100, Y200, Y300, Y400, Y500, G50, G75, G100, G200, G300, G400, G500, B50, B75, B100, B200, B300, B400, B500, P50, P75, P100, P200, P300, P400, P500, T50, T75, T100, T200, T300, T400, T500, N0, N10, N20, N30, N40, N50, N60, N70, N80, N90, N100, N200, N300, N400, N500, N600, N700, N800, N900, N10A, N20A, N30A, N40A, N50A, N60A, N70A, N80A, N90A, N100A, N200A, N300A, N400A, N500A, N600A, N700A, N800A, DN900, DN800, DN700, DN600, DN500, DN400, DN300, DN200, DN100, DN90, DN80, DN70, DN60, DN50, DN40, DN30, DN20, DN10, DN0, DN800A, DN700A, DN600A, DN500A, DN400A, DN300A, DN200A, DN100A, DN90A, DN80A, DN70A, DN60A, DN50A, DN40A, DN30A, DN20A, DN10A, background, backgroundActive, backgroundHover, backgroundOnLayer, text, textHover, textActive, subtleText, placeholderText, heading, subtleHeading, codeBlock, link, linkHover, linkActive, linkOutline, primary, blue, teal, purple, red, yellow, green, skeleton */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"R50\", function() { return R50; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"R75\", function() { return R75; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"R100\", function() { return R100; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"R200\", function() { return R200; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"R300\", function() { return R300; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"R400\", function() { return R400; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"R500\", function() { return R500; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Y50\", function() { return Y50; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Y75\", function() { return Y75; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Y100\", function() { return Y100; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Y200\", function() { return Y200; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Y300\", function() { return Y300; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Y400\", function() { return Y400; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Y500\", function() { return Y500; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"G50\", function() { return G50; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"G75\", function() { return G75; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"G100\", function() { return G100; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"G200\", function() { return G200; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"G300\", function() { return G300; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"G400\", function() { return G400; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"G500\", function() { return G500; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"B50\", function() { return B50; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"B75\", function() { return B75; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"B100\", function() { return B100; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"B200\", function() { return B200; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"B300\", function() { return B300; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"B400\", function() { return B400; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"B500\", function() { return B500; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"P50\", function() { return P50; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"P75\", function() { return P75; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"P100\", function() { return P100; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"P200\", function() { return P200; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"P300\", function() { return P300; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"P400\", function() { return P400; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"P500\", function() { return P500; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"T50\", function() { return T50; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"T75\", function() { return T75; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"T100\", function() { return T100; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"T200\", function() { return T200; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"T300\", function() { return T300; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"T400\", function() { return T400; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"T500\", function() { return T500; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"N0\", function() { return N0; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"N10\", function() { return N10; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"N20\", function() { return N20; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"N30\", function() { return N30; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"N40\", function() { return N40; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"N50\", function() { return N50; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"N60\", function() { return N60; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"N70\", function() { return N70; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"N80\", function() { return N80; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"N90\", function() { return N90; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"N100\", function() { return N100; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"N200\", function() { return N200; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"N300\", function() { return N300; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"N400\", function() { return N400; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"N500\", function() { return N500; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"N600\", function() { return N600; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"N700\", function() { return N700; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"N800\", function() { return N800; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"N900\", function() { return N900; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"N10A\", function() { return N10A; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"N20A\", function() { return N20A; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"N30A\", function() { return N30A; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"N40A\", function() { return N40A; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"N50A\", function() { return N50A; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"N60A\", function() { return N60A; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"N70A\", function() { return N70A; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"N80A\", function() { return N80A; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"N90A\", function() { return N90A; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"N100A\", function() { return N100A; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"N200A\", function() { return N200A; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"N300A\", function() { return N300A; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"N400A\", function() { return N400A; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"N500A\", function() { return N500A; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"N600A\", function() { return N600A; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"N700A\", function() { return N700A; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"N800A\", function() { return N800A; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DN900\", function() { return DN900; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DN800\", function() { return DN800; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DN700\", function() { return DN700; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DN600\", function() { return DN600; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DN500\", function() { return DN500; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DN400\", function() { return DN400; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DN300\", function() { return DN300; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DN200\", function() { return DN200; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DN100\", function() { return DN100; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DN90\", function() { return DN90; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DN80\", function() { return DN80; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DN70\", function() { return DN70; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DN60\", function() { return DN60; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DN50\", function() { return DN50; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DN40\", function() { return DN40; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DN30\", function() { return DN30; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DN20\", function() { return DN20; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DN10\", function() { return DN10; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DN0\", function() { return DN0; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DN800A\", function() { return DN800A; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DN700A\", function() { return DN700A; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DN600A\", function() { return DN600A; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DN500A\", function() { return DN500A; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DN400A\", function() { return DN400A; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DN300A\", function() { return DN300A; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DN200A\", function() { return DN200A; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DN100A\", function() { return DN100A; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DN90A\", function() { return DN90A; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DN80A\", function() { return DN80A; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DN70A\", function() { return DN70A; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DN60A\", function() { return DN60A; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DN50A\", function() { return DN50A; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DN40A\", function() { return DN40A; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DN30A\", function() { return DN30A; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DN20A\", function() { return DN20A; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DN10A\", function() { return DN10A; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"background\", function() { return background; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"backgroundActive\", function() { return backgroundActive; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"backgroundHover\", function() { return backgroundHover; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"backgroundOnLayer\", function() { return backgroundOnLayer; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"text\", function() { return text; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"textHover\", function() { return textHover; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"textActive\", function() { return textActive; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"subtleText\", function() { return subtleText; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"placeholderText\", function() { return placeholderText; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"heading\", function() { return heading; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"subtleHeading\", function() { return subtleHeading; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"codeBlock\", function() { return codeBlock; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"link\", function() { return link; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"linkHover\", function() { return linkHover; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"linkActive\", function() { return linkActive; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"linkOutline\", function() { return linkOutline; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"primary\", function() { return primary; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"blue\", function() { return blue; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"teal\", function() { return teal; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"purple\", function() { return purple; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"red\", function() { return red; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"yellow\", function() { return yellow; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"green\", function() { return green; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"skeleton\", function() { return skeleton; });\n/* harmony import */ var _utils_themed__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils/themed */ \"./node_modules/@atlaskit/theme/dist/esm/utils/themed.js\");\n\n// Reds\nvar R50 = '#FFEBE6';\nvar R75 = '#FFBDAD';\nvar R100 = '#FF8F73';\nvar R200 = '#FF7452';\nvar R300 = '#FF5630';\nvar R400 = '#DE350B';\nvar R500 = '#BF2600';\n// Yellows\nvar Y50 = '#FFFAE6';\nvar Y75 = '#FFF0B3';\nvar Y100 = '#FFE380';\nvar Y200 = '#FFC400';\nvar Y300 = '#FFAB00';\nvar Y400 = '#FF991F';\nvar Y500 = '#FF8B00';\n// Greens\nvar G50 = '#E3FCEF';\nvar G75 = '#ABF5D1';\nvar G100 = '#79F2C0';\nvar G200 = '#57D9A3';\nvar G300 = '#36B37E';\nvar G400 = '#00875A';\nvar G500 = '#006644';\n// Blues\nvar B50 = '#DEEBFF';\nvar B75 = '#B3D4FF';\nvar B100 = '#4C9AFF';\nvar B200 = '#2684FF';\nvar B300 = '#0065FF';\nvar B400 = '#0052CC';\nvar B500 = '#0747A6';\n// Purples\nvar P50 = '#EAE6FF';\nvar P75 = '#C0B6F2';\nvar P100 = '#998DD9';\nvar P200 = '#8777D9';\nvar P300 = '#6554C0';\nvar P400 = '#5243AA';\nvar P500 = '#403294';\n// Teals\nvar T50 = '#E6FCFF';\nvar T75 = '#B3F5FF';\nvar T100 = '#79E2F2';\nvar T200 = '#00C7E6';\nvar T300 = '#00B8D9';\nvar T400 = '#00A3BF';\nvar T500 = '#008DA6';\n// Neutrals\nvar N0 = '#FFFFFF';\nvar N10 = '#FAFBFC';\nvar N20 = '#F4F5F7';\nvar N30 = '#EBECF0';\nvar N40 = '#DFE1E6';\nvar N50 = '#C1C7D0';\nvar N60 = '#B3BAC5';\nvar N70 = '#A5ADBA';\nvar N80 = '#97A0AF';\nvar N90 = '#8993A4';\nvar N100 = '#7A869A';\nvar N200 = '#6B778C';\nvar N300 = '#5E6C84';\nvar N400 = '#505F79';\nvar N500 = '#42526E';\nvar N600 = '#344563';\nvar N700 = '#253858';\nvar N800 = '#172B4D';\n// ATTENTION: update the tints if you update this\nvar N900 = '#091E42';\n// Each tint is made of N900 and an alpha channel\nvar N10A = 'rgba(9, 30, 66, 0.02)';\nvar N20A = 'rgba(9, 30, 66, 0.04)';\nvar N30A = 'rgba(9, 30, 66, 0.08)';\nvar N40A = 'rgba(9, 30, 66, 0.13)';\nvar N50A = 'rgba(9, 30, 66, 0.25)';\nvar N60A = 'rgba(9, 30, 66, 0.31)';\nvar N70A = 'rgba(9, 30, 66, 0.36)';\nvar N80A = 'rgba(9, 30, 66, 0.42)';\nvar N90A = 'rgba(9, 30, 66, 0.48)';\nvar N100A = 'rgba(9, 30, 66, 0.54)';\nvar N200A = 'rgba(9, 30, 66, 0.60)';\nvar N300A = 'rgba(9, 30, 66, 0.66)';\nvar N400A = 'rgba(9, 30, 66, 0.71)';\nvar N500A = 'rgba(9, 30, 66, 0.77)';\nvar N600A = 'rgba(9, 30, 66, 0.82)';\nvar N700A = 'rgba(9, 30, 66, 0.89)';\nvar N800A = 'rgba(9, 30, 66, 0.95)';\n// Dark Mode Neutrals\nvar DN900 = '#E6EDFA';\nvar DN800 = '#DCE5F5';\nvar DN700 = '#CED9EB';\nvar DN600 = '#B8C7E0';\nvar DN500 = '#ABBBD6';\nvar DN400 = '#9FB0CC';\nvar DN300 = '#8C9CB8';\nvar DN200 = '#7988A3';\nvar DN100 = '#67758F';\nvar DN90 = '#56637A';\nvar DN80 = '#455166';\nvar DN70 = '#3B475C';\nvar DN60 = '#313D52';\nvar DN50 = '#283447';\nvar DN40 = '#202B3D';\nvar DN30 = '#1B2638';\nvar DN20 = '#121A29';\nvar DN10 = '#0E1624';\n// ATTENTION: update the tints if you update this\nvar DN0 = '#0D1424';\n// Each dark tint is made of DN0 and an alpha channel\nvar DN800A = 'rgba(13, 20, 36, 0.06)';\nvar DN700A = 'rgba(13, 20, 36, 0.14)';\nvar DN600A = 'rgba(13, 20, 36, 0.18)';\nvar DN500A = 'rgba(13, 20, 36, 0.29)';\nvar DN400A = 'rgba(13, 20, 36, 0.36)';\nvar DN300A = 'rgba(13, 20, 36, 0.40)';\nvar DN200A = 'rgba(13, 20, 36, 0.47)';\nvar DN100A = 'rgba(13, 20, 36, 0.53)';\nvar DN90A = 'rgba(13, 20, 36, 0.63)';\nvar DN80A = 'rgba(13, 20, 36, 0.73)';\nvar DN70A = 'rgba(13, 20, 36, 0.78)';\nvar DN60A = 'rgba(13, 20, 36, 0.81)';\nvar DN50A = 'rgba(13, 20, 36, 0.85)';\nvar DN40A = 'rgba(13, 20, 36, 0.89)';\nvar DN30A = 'rgba(13, 20, 36, 0.92)';\nvar DN20A = 'rgba(13, 20, 36, 0.95)';\nvar DN10A = 'rgba(13, 20, 36, 0.97)';\n// Themed colors\nvar background = Object(_utils_themed__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({ light: N0, dark: DN30 });\nvar backgroundActive = Object(_utils_themed__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({ light: B50, dark: B75 });\nvar backgroundHover = Object(_utils_themed__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({ light: N30, dark: DN70 });\nvar backgroundOnLayer = Object(_utils_themed__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({ light: N0, dark: DN50 });\nvar text = Object(_utils_themed__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({ light: N900, dark: DN600 });\nvar textHover = Object(_utils_themed__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({ light: N800, dark: DN600 });\nvar textActive = Object(_utils_themed__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({ light: B400, dark: B400 });\nvar subtleText = Object(_utils_themed__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({ light: N200, dark: DN300 });\nvar placeholderText = Object(_utils_themed__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({ light: N100, dark: DN200 });\nvar heading = Object(_utils_themed__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({ light: N800, dark: DN600 });\nvar subtleHeading = Object(_utils_themed__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({ light: N200, dark: DN300 });\nvar codeBlock = Object(_utils_themed__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({ light: N20, dark: DN50 });\nvar link = Object(_utils_themed__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({ light: B400, dark: B100 });\nvar linkHover = Object(_utils_themed__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({ light: B300, dark: B200 });\nvar linkActive = Object(_utils_themed__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({ light: B500, dark: B100 });\nvar linkOutline = Object(_utils_themed__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({ light: B100, dark: B200 });\nvar primary = Object(_utils_themed__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({ light: B400, dark: B100 });\nvar blue = Object(_utils_themed__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({ light: B400, dark: B100 });\nvar teal = Object(_utils_themed__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({ light: T300, dark: T200 });\nvar purple = Object(_utils_themed__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({ light: P300, dark: P100 });\nvar red = Object(_utils_themed__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({ light: R300, dark: R300 });\nvar yellow = Object(_utils_themed__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({ light: Y300, dark: Y300 });\nvar green = Object(_utils_themed__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({ light: G300, dark: G300 });\nvar skeleton = function () { return N20; };\n//# sourceMappingURL=colors.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L3RoZW1lL2Rpc3QvZXNtL2NvbG9ycy5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AYXRsYXNraXQvdGhlbWUvZGlzdC9lc20vY29sb3JzLmpzP2VmN2MiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHRoZW1lZCBmcm9tICcuL3V0aWxzL3RoZW1lZCc7XG4vLyBSZWRzXG5leHBvcnQgdmFyIFI1MCA9ICcjRkZFQkU2JztcbmV4cG9ydCB2YXIgUjc1ID0gJyNGRkJEQUQnO1xuZXhwb3J0IHZhciBSMTAwID0gJyNGRjhGNzMnO1xuZXhwb3J0IHZhciBSMjAwID0gJyNGRjc0NTInO1xuZXhwb3J0IHZhciBSMzAwID0gJyNGRjU2MzAnO1xuZXhwb3J0IHZhciBSNDAwID0gJyNERTM1MEInO1xuZXhwb3J0IHZhciBSNTAwID0gJyNCRjI2MDAnO1xuLy8gWWVsbG93c1xuZXhwb3J0IHZhciBZNTAgPSAnI0ZGRkFFNic7XG5leHBvcnQgdmFyIFk3NSA9ICcjRkZGMEIzJztcbmV4cG9ydCB2YXIgWTEwMCA9ICcjRkZFMzgwJztcbmV4cG9ydCB2YXIgWTIwMCA9ICcjRkZDNDAwJztcbmV4cG9ydCB2YXIgWTMwMCA9ICcjRkZBQjAwJztcbmV4cG9ydCB2YXIgWTQwMCA9ICcjRkY5OTFGJztcbmV4cG9ydCB2YXIgWTUwMCA9ICcjRkY4QjAwJztcbi8vIEdyZWVuc1xuZXhwb3J0IHZhciBHNTAgPSAnI0UzRkNFRic7XG5leHBvcnQgdmFyIEc3NSA9ICcjQUJGNUQxJztcbmV4cG9ydCB2YXIgRzEwMCA9ICcjNzlGMkMwJztcbmV4cG9ydCB2YXIgRzIwMCA9ICcjNTdEOUEzJztcbmV4cG9ydCB2YXIgRzMwMCA9ICcjMzZCMzdFJztcbmV4cG9ydCB2YXIgRzQwMCA9ICcjMDA4NzVBJztcbmV4cG9ydCB2YXIgRzUwMCA9ICcjMDA2NjQ0Jztcbi8vIEJsdWVzXG5leHBvcnQgdmFyIEI1MCA9ICcjREVFQkZGJztcbmV4cG9ydCB2YXIgQjc1ID0gJyNCM0Q0RkYnO1xuZXhwb3J0IHZhciBCMTAwID0gJyM0QzlBRkYnO1xuZXhwb3J0IHZhciBCMjAwID0gJyMyNjg0RkYnO1xuZXhwb3J0IHZhciBCMzAwID0gJyMwMDY1RkYnO1xuZXhwb3J0IHZhciBCNDAwID0gJyMwMDUyQ0MnO1xuZXhwb3J0IHZhciBCNTAwID0gJyMwNzQ3QTYnO1xuLy8gUHVycGxlc1xuZXhwb3J0IHZhciBQNTAgPSAnI0VBRTZGRic7XG5leHBvcnQgdmFyIFA3NSA9ICcjQzBCNkYyJztcbmV4cG9ydCB2YXIgUDEwMCA9ICcjOTk4REQ5JztcbmV4cG9ydCB2YXIgUDIwMCA9ICcjODc3N0Q5JztcbmV4cG9ydCB2YXIgUDMwMCA9ICcjNjU1NEMwJztcbmV4cG9ydCB2YXIgUDQwMCA9ICcjNTI0M0FBJztcbmV4cG9ydCB2YXIgUDUwMCA9ICcjNDAzMjk0Jztcbi8vIFRlYWxzXG5leHBvcnQgdmFyIFQ1MCA9ICcjRTZGQ0ZGJztcbmV4cG9ydCB2YXIgVDc1ID0gJyNCM0Y1RkYnO1xuZXhwb3J0IHZhciBUMTAwID0gJyM3OUUyRjInO1xuZXhwb3J0IHZhciBUMjAwID0gJyMwMEM3RTYnO1xuZXhwb3J0IHZhciBUMzAwID0gJyMwMEI4RDknO1xuZXhwb3J0IHZhciBUNDAwID0gJyMwMEEzQkYnO1xuZXhwb3J0IHZhciBUNTAwID0gJyMwMDhEQTYnO1xuLy8gTmV1dHJhbHNcbmV4cG9ydCB2YXIgTjAgPSAnI0ZGRkZGRic7XG5leHBvcnQgdmFyIE4xMCA9ICcjRkFGQkZDJztcbmV4cG9ydCB2YXIgTjIwID0gJyNGNEY1RjcnO1xuZXhwb3J0IHZhciBOMzAgPSAnI0VCRUNGMCc7XG5leHBvcnQgdmFyIE40MCA9ICcjREZFMUU2JztcbmV4cG9ydCB2YXIgTjUwID0gJyNDMUM3RDAnO1xuZXhwb3J0IHZhciBONjAgPSAnI0IzQkFDNSc7XG5leHBvcnQgdmFyIE43MCA9ICcjQTVBREJBJztcbmV4cG9ydCB2YXIgTjgwID0gJyM5N0EwQUYnO1xuZXhwb3J0IHZhciBOOTAgPSAnIzg5OTNBNCc7XG5leHBvcnQgdmFyIE4xMDAgPSAnIzdBODY5QSc7XG5leHBvcnQgdmFyIE4yMDAgPSAnIzZCNzc4Qyc7XG5leHBvcnQgdmFyIE4zMDAgPSAnIzVFNkM4NCc7XG5leHBvcnQgdmFyIE40MDAgPSAnIzUwNUY3OSc7XG5leHBvcnQgdmFyIE41MDAgPSAnIzQyNTI2RSc7XG5leHBvcnQgdmFyIE42MDAgPSAnIzM0NDU2Myc7XG5leHBvcnQgdmFyIE43MDAgPSAnIzI1Mzg1OCc7XG5leHBvcnQgdmFyIE44MDAgPSAnIzE3MkI0RCc7XG4vLyBBVFRFTlRJT046IHVwZGF0ZSB0aGUgdGludHMgaWYgeW91IHVwZGF0ZSB0aGlzXG5leHBvcnQgdmFyIE45MDAgPSAnIzA5MUU0Mic7XG4vLyBFYWNoIHRpbnQgaXMgbWFkZSBvZiBOOTAwIGFuZCBhbiBhbHBoYSBjaGFubmVsXG5leHBvcnQgdmFyIE4xMEEgPSAncmdiYSg5LCAzMCwgNjYsIDAuMDIpJztcbmV4cG9ydCB2YXIgTjIwQSA9ICdyZ2JhKDksIDMwLCA2NiwgMC4wNCknO1xuZXhwb3J0IHZhciBOMzBBID0gJ3JnYmEoOSwgMzAsIDY2LCAwLjA4KSc7XG5leHBvcnQgdmFyIE40MEEgPSAncmdiYSg5LCAzMCwgNjYsIDAuMTMpJztcbmV4cG9ydCB2YXIgTjUwQSA9ICdyZ2JhKDksIDMwLCA2NiwgMC4yNSknO1xuZXhwb3J0IHZhciBONjBBID0gJ3JnYmEoOSwgMzAsIDY2LCAwLjMxKSc7XG5leHBvcnQgdmFyIE43MEEgPSAncmdiYSg5LCAzMCwgNjYsIDAuMzYpJztcbmV4cG9ydCB2YXIgTjgwQSA9ICdyZ2JhKDksIDMwLCA2NiwgMC40MiknO1xuZXhwb3J0IHZhciBOOTBBID0gJ3JnYmEoOSwgMzAsIDY2LCAwLjQ4KSc7XG5leHBvcnQgdmFyIE4xMDBBID0gJ3JnYmEoOSwgMzAsIDY2LCAwLjU0KSc7XG5leHBvcnQgdmFyIE4yMDBBID0gJ3JnYmEoOSwgMzAsIDY2LCAwLjYwKSc7XG5leHBvcnQgdmFyIE4zMDBBID0gJ3JnYmEoOSwgMzAsIDY2LCAwLjY2KSc7XG5leHBvcnQgdmFyIE40MDBBID0gJ3JnYmEoOSwgMzAsIDY2LCAwLjcxKSc7XG5leHBvcnQgdmFyIE41MDBBID0gJ3JnYmEoOSwgMzAsIDY2LCAwLjc3KSc7XG5leHBvcnQgdmFyIE42MDBBID0gJ3JnYmEoOSwgMzAsIDY2LCAwLjgyKSc7XG5leHBvcnQgdmFyIE43MDBBID0gJ3JnYmEoOSwgMzAsIDY2LCAwLjg5KSc7XG5leHBvcnQgdmFyIE44MDBBID0gJ3JnYmEoOSwgMzAsIDY2LCAwLjk1KSc7XG4vLyBEYXJrIE1vZGUgTmV1dHJhbHNcbmV4cG9ydCB2YXIgRE45MDAgPSAnI0U2RURGQSc7XG5leHBvcnQgdmFyIEROODAwID0gJyNEQ0U1RjUnO1xuZXhwb3J0IHZhciBETjcwMCA9ICcjQ0VEOUVCJztcbmV4cG9ydCB2YXIgRE42MDAgPSAnI0I4QzdFMCc7XG5leHBvcnQgdmFyIERONTAwID0gJyNBQkJCRDYnO1xuZXhwb3J0IHZhciBETjQwMCA9ICcjOUZCMENDJztcbmV4cG9ydCB2YXIgRE4zMDAgPSAnIzhDOUNCOCc7XG5leHBvcnQgdmFyIEROMjAwID0gJyM3OTg4QTMnO1xuZXhwb3J0IHZhciBETjEwMCA9ICcjNjc3NThGJztcbmV4cG9ydCB2YXIgRE45MCA9ICcjNTY2MzdBJztcbmV4cG9ydCB2YXIgRE44MCA9ICcjNDU1MTY2JztcbmV4cG9ydCB2YXIgRE43MCA9ICcjM0I0NzVDJztcbmV4cG9ydCB2YXIgRE42MCA9ICcjMzEzRDUyJztcbmV4cG9ydCB2YXIgRE41MCA9ICcjMjgzNDQ3JztcbmV4cG9ydCB2YXIgRE40MCA9ICcjMjAyQjNEJztcbmV4cG9ydCB2YXIgRE4zMCA9ICcjMUIyNjM4JztcbmV4cG9ydCB2YXIgRE4yMCA9ICcjMTIxQTI5JztcbmV4cG9ydCB2YXIgRE4xMCA9ICcjMEUxNjI0Jztcbi8vIEFUVEVOVElPTjogdXBkYXRlIHRoZSB0aW50cyBpZiB5b3UgdXBkYXRlIHRoaXNcbmV4cG9ydCB2YXIgRE4wID0gJyMwRDE0MjQnO1xuLy8gRWFjaCBkYXJrIHRpbnQgaXMgbWFkZSBvZiBETjAgYW5kIGFuIGFscGhhIGNoYW5uZWxcbmV4cG9ydCB2YXIgRE44MDBBID0gJ3JnYmEoMTMsIDIwLCAzNiwgMC4wNiknO1xuZXhwb3J0IHZhciBETjcwMEEgPSAncmdiYSgxMywgMjAsIDM2LCAwLjE0KSc7XG5leHBvcnQgdmFyIERONjAwQSA9ICdyZ2JhKDEzLCAyMCwgMzYsIDAuMTgpJztcbmV4cG9ydCB2YXIgRE41MDBBID0gJ3JnYmEoMTMsIDIwLCAzNiwgMC4yOSknO1xuZXhwb3J0IHZhciBETjQwMEEgPSAncmdiYSgxMywgMjAsIDM2LCAwLjM2KSc7XG5leHBvcnQgdmFyIEROMzAwQSA9ICdyZ2JhKDEzLCAyMCwgMzYsIDAuNDApJztcbmV4cG9ydCB2YXIgRE4yMDBBID0gJ3JnYmEoMTMsIDIwLCAzNiwgMC40NyknO1xuZXhwb3J0IHZhciBETjEwMEEgPSAncmdiYSgxMywgMjAsIDM2LCAwLjUzKSc7XG5leHBvcnQgdmFyIEROOTBBID0gJ3JnYmEoMTMsIDIwLCAzNiwgMC42MyknO1xuZXhwb3J0IHZhciBETjgwQSA9ICdyZ2JhKDEzLCAyMCwgMzYsIDAuNzMpJztcbmV4cG9ydCB2YXIgRE43MEEgPSAncmdiYSgxMywgMjAsIDM2LCAwLjc4KSc7XG5leHBvcnQgdmFyIERONjBBID0gJ3JnYmEoMTMsIDIwLCAzNiwgMC44MSknO1xuZXhwb3J0IHZhciBETjUwQSA9ICdyZ2JhKDEzLCAyMCwgMzYsIDAuODUpJztcbmV4cG9ydCB2YXIgRE40MEEgPSAncmdiYSgxMywgMjAsIDM2LCAwLjg5KSc7XG5leHBvcnQgdmFyIEROMzBBID0gJ3JnYmEoMTMsIDIwLCAzNiwgMC45MiknO1xuZXhwb3J0IHZhciBETjIwQSA9ICdyZ2JhKDEzLCAyMCwgMzYsIDAuOTUpJztcbmV4cG9ydCB2YXIgRE4xMEEgPSAncmdiYSgxMywgMjAsIDM2LCAwLjk3KSc7XG4vLyBUaGVtZWQgY29sb3JzXG5leHBvcnQgdmFyIGJhY2tncm91bmQgPSB0aGVtZWQoeyBsaWdodDogTjAsIGRhcms6IEROMzAgfSk7XG5leHBvcnQgdmFyIGJhY2tncm91bmRBY3RpdmUgPSB0aGVtZWQoeyBsaWdodDogQjUwLCBkYXJrOiBCNzUgfSk7XG5leHBvcnQgdmFyIGJhY2tncm91bmRIb3ZlciA9IHRoZW1lZCh7IGxpZ2h0OiBOMzAsIGRhcms6IERONzAgfSk7XG5leHBvcnQgdmFyIGJhY2tncm91bmRPbkxheWVyID0gdGhlbWVkKHsgbGlnaHQ6IE4wLCBkYXJrOiBETjUwIH0pO1xuZXhwb3J0IHZhciB0ZXh0ID0gdGhlbWVkKHsgbGlnaHQ6IE45MDAsIGRhcms6IERONjAwIH0pO1xuZXhwb3J0IHZhciB0ZXh0SG92ZXIgPSB0aGVtZWQoeyBsaWdodDogTjgwMCwgZGFyazogRE42MDAgfSk7XG5leHBvcnQgdmFyIHRleHRBY3RpdmUgPSB0aGVtZWQoeyBsaWdodDogQjQwMCwgZGFyazogQjQwMCB9KTtcbmV4cG9ydCB2YXIgc3VidGxlVGV4dCA9IHRoZW1lZCh7IGxpZ2h0OiBOMjAwLCBkYXJrOiBETjMwMCB9KTtcbmV4cG9ydCB2YXIgcGxhY2Vob2xkZXJUZXh0ID0gdGhlbWVkKHsgbGlnaHQ6IE4xMDAsIGRhcms6IEROMjAwIH0pO1xuZXhwb3J0IHZhciBoZWFkaW5nID0gdGhlbWVkKHsgbGlnaHQ6IE44MDAsIGRhcms6IERONjAwIH0pO1xuZXhwb3J0IHZhciBzdWJ0bGVIZWFkaW5nID0gdGhlbWVkKHsgbGlnaHQ6IE4yMDAsIGRhcms6IEROMzAwIH0pO1xuZXhwb3J0IHZhciBjb2RlQmxvY2sgPSB0aGVtZWQoeyBsaWdodDogTjIwLCBkYXJrOiBETjUwIH0pO1xuZXhwb3J0IHZhciBsaW5rID0gdGhlbWVkKHsgbGlnaHQ6IEI0MDAsIGRhcms6IEIxMDAgfSk7XG5leHBvcnQgdmFyIGxpbmtIb3ZlciA9IHRoZW1lZCh7IGxpZ2h0OiBCMzAwLCBkYXJrOiBCMjAwIH0pO1xuZXhwb3J0IHZhciBsaW5rQWN0aXZlID0gdGhlbWVkKHsgbGlnaHQ6IEI1MDAsIGRhcms6IEIxMDAgfSk7XG5leHBvcnQgdmFyIGxpbmtPdXRsaW5lID0gdGhlbWVkKHsgbGlnaHQ6IEIxMDAsIGRhcms6IEIyMDAgfSk7XG5leHBvcnQgdmFyIHByaW1hcnkgPSB0aGVtZWQoeyBsaWdodDogQjQwMCwgZGFyazogQjEwMCB9KTtcbmV4cG9ydCB2YXIgYmx1ZSA9IHRoZW1lZCh7IGxpZ2h0OiBCNDAwLCBkYXJrOiBCMTAwIH0pO1xuZXhwb3J0IHZhciB0ZWFsID0gdGhlbWVkKHsgbGlnaHQ6IFQzMDAsIGRhcms6IFQyMDAgfSk7XG5leHBvcnQgdmFyIHB1cnBsZSA9IHRoZW1lZCh7IGxpZ2h0OiBQMzAwLCBkYXJrOiBQMTAwIH0pO1xuZXhwb3J0IHZhciByZWQgPSB0aGVtZWQoeyBsaWdodDogUjMwMCwgZGFyazogUjMwMCB9KTtcbmV4cG9ydCB2YXIgeWVsbG93ID0gdGhlbWVkKHsgbGlnaHQ6IFkzMDAsIGRhcms6IFkzMDAgfSk7XG5leHBvcnQgdmFyIGdyZWVuID0gdGhlbWVkKHsgbGlnaHQ6IEczMDAsIGRhcms6IEczMDAgfSk7XG5leHBvcnQgdmFyIHNrZWxldG9uID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gTjIwOyB9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Y29sb3JzLmpzLm1hcCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/theme/dist/esm/colors.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/theme/dist/esm/components.js": /*!*************************************************************!*\ !*** ./node_modules/@atlaskit/theme/dist/esm/components.js ***! \*************************************************************/ /*! exports provided: getTheme, themed, AtlaskitThemeProvider, Appearance, ResetTheme, Reset, default, withTheme, createTheme */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_getTheme__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils/getTheme */ \"./node_modules/@atlaskit/theme/dist/esm/utils/getTheme.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getTheme\", function() { return _utils_getTheme__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n/* harmony import */ var _utils_themed__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils/themed */ \"./node_modules/@atlaskit/theme/dist/esm/utils/themed.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"themed\", function() { return _utils_themed__WEBPACK_IMPORTED_MODULE_1__[\"default\"]; });\n\n/* harmony import */ var _components_AtlaskitThemeProvider__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./components/AtlaskitThemeProvider */ \"./node_modules/@atlaskit/theme/dist/esm/components/AtlaskitThemeProvider.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AtlaskitThemeProvider\", function() { return _components_AtlaskitThemeProvider__WEBPACK_IMPORTED_MODULE_2__[\"default\"]; });\n\n/* harmony import */ var _components_Appearance__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./components/Appearance */ \"./node_modules/@atlaskit/theme/dist/esm/components/Appearance.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Appearance\", function() { return _components_Appearance__WEBPACK_IMPORTED_MODULE_3__[\"default\"]; });\n\n/* harmony import */ var _components_Reset__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./components/Reset */ \"./node_modules/@atlaskit/theme/dist/esm/components/Reset.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ResetTheme\", function() { return _components_Reset__WEBPACK_IMPORTED_MODULE_4__[\"ResetTheme\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Reset\", function() { return _components_Reset__WEBPACK_IMPORTED_MODULE_4__[\"Reset\"]; });\n\n/* harmony import */ var _components_Theme__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./components/Theme */ \"./node_modules/@atlaskit/theme/dist/esm/components/Theme.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _components_Theme__WEBPACK_IMPORTED_MODULE_5__[\"default\"]; });\n\n/* harmony import */ var _hoc__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./hoc */ \"./node_modules/@atlaskit/theme/dist/esm/hoc.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"withTheme\", function() { return _hoc__WEBPACK_IMPORTED_MODULE_6__[\"withTheme\"]; });\n\n/* harmony import */ var _utils_createTheme__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./utils/createTheme */ \"./node_modules/@atlaskit/theme/dist/esm/utils/createTheme.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createTheme\", function() { return _utils_createTheme__WEBPACK_IMPORTED_MODULE_7__[\"createTheme\"]; });\n\n/*\n This file will become the new index for theme once the codemod is mature enough.\n For now we're keeping the index file to avoid having to do a major change.\n Once the codemod is done and all the AK modules have been codeshifted, we delete index.js and rename this file to index + update all the imports\n*/\n\n\n\n\n\n\n\n\n//# sourceMappingURL=components.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L3RoZW1lL2Rpc3QvZXNtL2NvbXBvbmVudHMuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L3RoZW1lL2Rpc3QvZXNtL2NvbXBvbmVudHMuanM/ODkzZCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICAgVGhpcyBmaWxlIHdpbGwgYmVjb21lIHRoZSBuZXcgaW5kZXggZm9yIHRoZW1lIG9uY2UgdGhlIGNvZGVtb2QgaXMgbWF0dXJlIGVub3VnaC5cbiAgIEZvciBub3cgd2UncmUga2VlcGluZyB0aGUgaW5kZXggZmlsZSB0byBhdm9pZCBoYXZpbmcgdG8gZG8gYSBtYWpvciBjaGFuZ2UuXG4gICBPbmNlIHRoZSBjb2RlbW9kIGlzIGRvbmUgYW5kIGFsbCB0aGUgQUsgbW9kdWxlcyBoYXZlIGJlZW4gY29kZXNoaWZ0ZWQsIHdlIGRlbGV0ZSBpbmRleC5qcyBhbmQgcmVuYW1lIHRoaXMgZmlsZSB0byBpbmRleCArIHVwZGF0ZSBhbGwgdGhlIGltcG9ydHNcbiovXG5leHBvcnQgeyBkZWZhdWx0IGFzIGdldFRoZW1lIH0gZnJvbSAnLi91dGlscy9nZXRUaGVtZSc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIHRoZW1lZCB9IGZyb20gJy4vdXRpbHMvdGhlbWVkJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgQXRsYXNraXRUaGVtZVByb3ZpZGVyIH0gZnJvbSAnLi9jb21wb25lbnRzL0F0bGFza2l0VGhlbWVQcm92aWRlcic7XG5leHBvcnQgeyBkZWZhdWx0IGFzIEFwcGVhcmFuY2UgfSBmcm9tICcuL2NvbXBvbmVudHMvQXBwZWFyYW5jZSc7XG5leHBvcnQgeyBSZXNldFRoZW1lLCBSZXNldCB9IGZyb20gJy4vY29tcG9uZW50cy9SZXNldCc7XG5leHBvcnQgeyBkZWZhdWx0IH0gZnJvbSAnLi9jb21wb25lbnRzL1RoZW1lJztcbmV4cG9ydCB7IHdpdGhUaGVtZSB9IGZyb20gJy4vaG9jJztcbmV4cG9ydCB7IGNyZWF0ZVRoZW1lIH0gZnJvbSAnLi91dGlscy9jcmVhdGVUaGVtZSc7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1jb21wb25lbnRzLmpzLm1hcCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/theme/dist/esm/components.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/theme/dist/esm/components/Appearance.js": /*!************************************************************************!*\ !*** ./node_modules/@atlaskit/theme/dist/esm/components/Appearance.js ***! \************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/@atlaskit/theme/node_modules/tslib/tslib.es6.js\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function (_a) {\n var children = _a.children, props = _a.props, theme = _a.theme;\n var appearance = typeof props === 'object' ? 'default' : props;\n var merged = typeof props === 'object' ? Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, props) : {};\n Object.keys(theme).forEach(function (key) {\n if (!(key in merged)) {\n merged[key] = theme[key]({ appearance: appearance });\n }\n });\n return children(merged);\n});\n//# sourceMappingURL=Appearance.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L3RoZW1lL2Rpc3QvZXNtL2NvbXBvbmVudHMvQXBwZWFyYW5jZS5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AYXRsYXNraXQvdGhlbWUvZGlzdC9lc20vY29tcG9uZW50cy9BcHBlYXJhbmNlLmpzPzgxZDIiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgX19hc3NpZ24gfSBmcm9tIFwidHNsaWJcIjtcbmV4cG9ydCBkZWZhdWx0IChmdW5jdGlvbiAoX2EpIHtcbiAgICB2YXIgY2hpbGRyZW4gPSBfYS5jaGlsZHJlbiwgcHJvcHMgPSBfYS5wcm9wcywgdGhlbWUgPSBfYS50aGVtZTtcbiAgICB2YXIgYXBwZWFyYW5jZSA9IHR5cGVvZiBwcm9wcyA9PT0gJ29iamVjdCcgPyAnZGVmYXVsdCcgOiBwcm9wcztcbiAgICB2YXIgbWVyZ2VkID0gdHlwZW9mIHByb3BzID09PSAnb2JqZWN0JyA/IF9fYXNzaWduKHt9LCBwcm9wcykgOiB7fTtcbiAgICBPYmplY3Qua2V5cyh0aGVtZSkuZm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7XG4gICAgICAgIGlmICghKGtleSBpbiBtZXJnZWQpKSB7XG4gICAgICAgICAgICBtZXJnZWRba2V5XSA9IHRoZW1lW2tleV0oeyBhcHBlYXJhbmNlOiBhcHBlYXJhbmNlIH0pO1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIGNoaWxkcmVuKG1lcmdlZCk7XG59KTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPUFwcGVhcmFuY2UuanMubWFwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/theme/dist/esm/components/Appearance.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/theme/dist/esm/components/AtlaskitThemeProvider.js": /*!***********************************************************************************!*\ !*** ./node_modules/@atlaskit/theme/dist/esm/components/AtlaskitThemeProvider.js ***! \***********************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/@atlaskit/theme/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! styled-components */ \"./node_modules/styled-components/dist/styled-components.browser.esm.js\");\n/* harmony import */ var exenv__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! exenv */ \"./node_modules/exenv/index.js\");\n/* harmony import */ var exenv__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(exenv__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _colors__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../colors */ \"./node_modules/@atlaskit/theme/dist/esm/colors.js\");\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../constants */ \"./node_modules/@atlaskit/theme/dist/esm/constants.js\");\n/* harmony import */ var _Theme__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Theme */ \"./node_modules/@atlaskit/theme/dist/esm/components/Theme.js\");\n\n\n\n\n\n\n\n// For forward-compat until everything is upgraded.\n\nfunction getStylesheetResetCSS(state) {\n var backgroundColor = _colors__WEBPACK_IMPORTED_MODULE_5__[\"background\"](state);\n return \"\\n body { background: \" + backgroundColor + \"; }\\n \";\n}\nfunction buildThemeState(mode) {\n var _a;\n return { theme: (_a = {}, _a[_constants__WEBPACK_IMPORTED_MODULE_6__[\"CHANNEL\"]] = { mode: mode }, _a) };\n}\nvar LegacyReset = styled_components__WEBPACK_IMPORTED_MODULE_3__[\"default\"].div(templateObject_1 || (templateObject_1 = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__makeTemplateObject\"])([\"\\n background-color: \", \";\\n color: \", \";\\n\\n a {\\n color: \", \";\\n }\\n a:hover {\\n color: \", \";\\n }\\n a:active {\\n color: \", \";\\n }\\n a:focus {\\n outline-color: \", \";\\n }\\n h1 {\\n color: \", \";\\n }\\n h2 {\\n color: \", \";\\n }\\n h3 {\\n color: \", \";\\n }\\n h4 {\\n color: \", \";\\n }\\n h5 {\\n color: \", \";\\n }\\n h6 {\\n color: \", \";\\n }\\n small {\\n color: \", \";\\n }\\n\"], [\"\\n background-color: \", \";\\n color: \", \";\\n\\n a {\\n color: \", \";\\n }\\n a:hover {\\n color: \", \";\\n }\\n a:active {\\n color: \", \";\\n }\\n a:focus {\\n outline-color: \", \";\\n }\\n h1 {\\n color: \", \";\\n }\\n h2 {\\n color: \", \";\\n }\\n h3 {\\n color: \", \";\\n }\\n h4 {\\n color: \", \";\\n }\\n h5 {\\n color: \", \";\\n }\\n h6 {\\n color: \", \";\\n }\\n small {\\n color: \", \";\\n }\\n\"])), _colors__WEBPACK_IMPORTED_MODULE_5__[\"background\"], _colors__WEBPACK_IMPORTED_MODULE_5__[\"text\"], _colors__WEBPACK_IMPORTED_MODULE_5__[\"link\"], _colors__WEBPACK_IMPORTED_MODULE_5__[\"linkHover\"], _colors__WEBPACK_IMPORTED_MODULE_5__[\"linkActive\"], _colors__WEBPACK_IMPORTED_MODULE_5__[\"linkOutline\"], _colors__WEBPACK_IMPORTED_MODULE_5__[\"heading\"], _colors__WEBPACK_IMPORTED_MODULE_5__[\"heading\"], _colors__WEBPACK_IMPORTED_MODULE_5__[\"heading\"], _colors__WEBPACK_IMPORTED_MODULE_5__[\"heading\"], _colors__WEBPACK_IMPORTED_MODULE_5__[\"heading\"], _colors__WEBPACK_IMPORTED_MODULE_5__[\"subtleHeading\"], _colors__WEBPACK_IMPORTED_MODULE_5__[\"subtleText\"]);\nvar AtlaskitThemeProvider = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(AtlaskitThemeProvider, _super);\n function AtlaskitThemeProvider(props) {\n var _this = _super.call(this, props) || this;\n /**\n * This function never changes its reference because it accesses\n * `this` in the function call - thereby sidestepping the need for\n * creating a new reference everytime theme state changes.\n * NOTE: When moving to hooks watch out for this regressing.\n */\n _this.getThemeMode = function () { return ({ mode: _this.state.theme[_constants__WEBPACK_IMPORTED_MODULE_6__[\"CHANNEL\"]].mode }); };\n _this.state = buildThemeState(props.mode);\n return _this;\n }\n AtlaskitThemeProvider.prototype.getChildContext = function () {\n return { hasAtlaskitThemeProvider: true };\n };\n AtlaskitThemeProvider.prototype.UNSAFE_componentWillMount = function () {\n if (!this.context.hasAtlaskitThemeProvider && exenv__WEBPACK_IMPORTED_MODULE_4___default.a.canUseDOM) {\n var css = getStylesheetResetCSS(this.state);\n this.stylesheet = document.createElement('style');\n this.stylesheet.type = 'text/css';\n this.stylesheet.innerHTML = css;\n if (document && document.head) {\n document.head.appendChild(this.stylesheet);\n }\n }\n };\n AtlaskitThemeProvider.prototype.UNSAFE_componentWillReceiveProps = function (newProps) {\n if (newProps.mode !== this.props.mode) {\n var newThemeState = buildThemeState(newProps.mode);\n if (this.stylesheet) {\n var css = getStylesheetResetCSS(newThemeState);\n this.stylesheet.innerHTML = css;\n }\n this.setState(newThemeState);\n }\n };\n AtlaskitThemeProvider.prototype.componentWillUnmount = function () {\n if (this.stylesheet && document && document.head) {\n document.head.removeChild(this.stylesheet);\n delete this.stylesheet;\n }\n };\n AtlaskitThemeProvider.prototype.render = function () {\n var children = this.props.children;\n var theme = this.state.theme;\n return (\n /* Wrapping the new provider around the old one provides forward\n compatibility when using the old provider for styled components. This\n allows us to use components converted to use the new API with consumers\n using the old provider along side components that may still be using the\n old theming API. */\n react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_Theme__WEBPACK_IMPORTED_MODULE_7__[\"default\"].Provider, { value: this.getThemeMode },\n react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(styled_components__WEBPACK_IMPORTED_MODULE_3__[\"ThemeProvider\"], { theme: theme },\n react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(LegacyReset, null, children))));\n };\n AtlaskitThemeProvider.defaultProps = {\n mode: _constants__WEBPACK_IMPORTED_MODULE_6__[\"DEFAULT_THEME_MODE\"],\n };\n AtlaskitThemeProvider.childContextTypes = {\n hasAtlaskitThemeProvider: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.bool,\n };\n AtlaskitThemeProvider.contextTypes = {\n hasAtlaskitThemeProvider: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.bool,\n };\n return AtlaskitThemeProvider;\n}(react__WEBPACK_IMPORTED_MODULE_1__[\"Component\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (AtlaskitThemeProvider);\nvar templateObject_1;\n//# sourceMappingURL=AtlaskitThemeProvider.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L3RoZW1lL2Rpc3QvZXNtL2NvbXBvbmVudHMvQXRsYXNraXRUaGVtZVByb3ZpZGVyLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BhdGxhc2tpdC90aGVtZS9kaXN0L2VzbS9jb21wb25lbnRzL0F0bGFza2l0VGhlbWVQcm92aWRlci5qcz8yNjk0Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IF9fZXh0ZW5kcywgX19tYWtlVGVtcGxhdGVPYmplY3QgfSBmcm9tIFwidHNsaWJcIjtcbmltcG9ydCBSZWFjdCwgeyBDb21wb25lbnQgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IHN0eWxlZCwgeyBUaGVtZVByb3ZpZGVyIH0gZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IGV4ZW52IGZyb20gJ2V4ZW52JztcbmltcG9ydCAqIGFzIGNvbG9ycyBmcm9tICcuLi9jb2xvcnMnO1xuaW1wb3J0IHsgQ0hBTk5FTCwgREVGQVVMVF9USEVNRV9NT0RFIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbi8vIEZvciBmb3J3YXJkLWNvbXBhdCB1bnRpbCBldmVyeXRoaW5nIGlzIHVwZ3JhZGVkLlxuaW1wb3J0IFRoZW1lIGZyb20gJy4vVGhlbWUnO1xuZnVuY3Rpb24gZ2V0U3R5bGVzaGVldFJlc2V0Q1NTKHN0YXRlKSB7XG4gICAgdmFyIGJhY2tncm91bmRDb2xvciA9IGNvbG9ycy5iYWNrZ3JvdW5kKHN0YXRlKTtcbiAgICByZXR1cm4gXCJcXG4gICAgYm9keSB7IGJhY2tncm91bmQ6IFwiICsgYmFja2dyb3VuZENvbG9yICsgXCI7IH1cXG4gIFwiO1xufVxuZnVuY3Rpb24gYnVpbGRUaGVtZVN0YXRlKG1vZGUpIHtcbiAgICB2YXIgX2E7XG4gICAgcmV0dXJuIHsgdGhlbWU6IChfYSA9IHt9LCBfYVtDSEFOTkVMXSA9IHsgbW9kZTogbW9kZSB9LCBfYSkgfTtcbn1cbnZhciBMZWdhY3lSZXNldCA9IHN0eWxlZC5kaXYodGVtcGxhdGVPYmplY3RfMSB8fCAodGVtcGxhdGVPYmplY3RfMSA9IF9fbWFrZVRlbXBsYXRlT2JqZWN0KFtcIlxcbiAgYmFja2dyb3VuZC1jb2xvcjogXCIsIFwiO1xcbiAgY29sb3I6IFwiLCBcIjtcXG5cXG4gIGEge1xcbiAgICBjb2xvcjogXCIsIFwiO1xcbiAgfVxcbiAgYTpob3ZlciB7XFxuICAgIGNvbG9yOiBcIiwgXCI7XFxuICB9XFxuICBhOmFjdGl2ZSB7XFxuICAgIGNvbG9yOiBcIiwgXCI7XFxuICB9XFxuICBhOmZvY3VzIHtcXG4gICAgb3V0bGluZS1jb2xvcjogXCIsIFwiO1xcbiAgfVxcbiAgaDEge1xcbiAgICBjb2xvcjogXCIsIFwiO1xcbiAgfVxcbiAgaDIge1xcbiAgICBjb2xvcjogXCIsIFwiO1xcbiAgfVxcbiAgaDMge1xcbiAgICBjb2xvcjogXCIsIFwiO1xcbiAgfVxcbiAgaDQge1xcbiAgICBjb2xvcjogXCIsIFwiO1xcbiAgfVxcbiAgaDUge1xcbiAgICBjb2xvcjogXCIsIFwiO1xcbiAgfVxcbiAgaDYge1xcbiAgICBjb2xvcjogXCIsIFwiO1xcbiAgfVxcbiAgc21hbGwge1xcbiAgICBjb2xvcjogXCIsIFwiO1xcbiAgfVxcblwiXSwgW1wiXFxuICBiYWNrZ3JvdW5kLWNvbG9yOiBcIiwgXCI7XFxuICBjb2xvcjogXCIsIFwiO1xcblxcbiAgYSB7XFxuICAgIGNvbG9yOiBcIiwgXCI7XFxuICB9XFxuICBhOmhvdmVyIHtcXG4gICAgY29sb3I6IFwiLCBcIjtcXG4gIH1cXG4gIGE6YWN0aXZlIHtcXG4gICAgY29sb3I6IFwiLCBcIjtcXG4gIH1cXG4gIGE6Zm9jdXMge1xcbiAgICBvdXRsaW5lLWNvbG9yOiBcIiwgXCI7XFxuICB9XFxuICBoMSB7XFxuICAgIGNvbG9yOiBcIiwgXCI7XFxuICB9XFxuICBoMiB7XFxuICAgIGNvbG9yOiBcIiwgXCI7XFxuICB9XFxuICBoMyB7XFxuICAgIGNvbG9yOiBcIiwgXCI7XFxuICB9XFxuICBoNCB7XFxuICAgIGNvbG9yOiBcIiwgXCI7XFxuICB9XFxuICBoNSB7XFxuICAgIGNvbG9yOiBcIiwgXCI7XFxuICB9XFxuICBoNiB7XFxuICAgIGNvbG9yOiBcIiwgXCI7XFxuICB9XFxuICBzbWFsbCB7XFxuICAgIGNvbG9yOiBcIiwgXCI7XFxuICB9XFxuXCJdKSksIGNvbG9ycy5iYWNrZ3JvdW5kLCBjb2xvcnMudGV4dCwgY29sb3JzLmxpbmssIGNvbG9ycy5saW5rSG92ZXIsIGNvbG9ycy5saW5rQWN0aXZlLCBjb2xvcnMubGlua091dGxpbmUsIGNvbG9ycy5oZWFkaW5nLCBjb2xvcnMuaGVhZGluZywgY29sb3JzLmhlYWRpbmcsIGNvbG9ycy5oZWFkaW5nLCBjb2xvcnMuaGVhZGluZywgY29sb3JzLnN1YnRsZUhlYWRpbmcsIGNvbG9ycy5zdWJ0bGVUZXh0KTtcbnZhciBBdGxhc2tpdFRoZW1lUHJvdmlkZXIgPSAvKiogQGNsYXNzICovIChmdW5jdGlvbiAoX3N1cGVyKSB7XG4gICAgX19leHRlbmRzKEF0bGFza2l0VGhlbWVQcm92aWRlciwgX3N1cGVyKTtcbiAgICBmdW5jdGlvbiBBdGxhc2tpdFRoZW1lUHJvdmlkZXIocHJvcHMpIHtcbiAgICAgICAgdmFyIF90aGlzID0gX3N1cGVyLmNhbGwodGhpcywgcHJvcHMpIHx8IHRoaXM7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBUaGlzIGZ1bmN0aW9uIG5ldmVyIGNoYW5nZXMgaXRzIHJlZmVyZW5jZSBiZWNhdXNlIGl0IGFjY2Vzc2VzXG4gICAgICAgICAqIGB0aGlzYCBpbiB0aGUgZnVuY3Rpb24gY2FsbCAtIHRoZXJlYnkgc2lkZXN0ZXBwaW5nIHRoZSBuZWVkIGZvclxuICAgICAgICAgKiBjcmVhdGluZyBhIG5ldyByZWZlcmVuY2UgZXZlcnl0aW1lIHRoZW1lIHN0YXRlIGNoYW5nZXMuXG4gICAgICAgICAqIE5PVEU6IFdoZW4gbW92aW5nIHRvIGhvb2tzIHdhdGNoIG91dCBmb3IgdGhpcyByZWdyZXNzaW5nLlxuICAgICAgICAgKi9cbiAgICAgICAgX3RoaXMuZ2V0VGhlbWVNb2RlID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gKHsgbW9kZTogX3RoaXMuc3RhdGUudGhlbWVbQ0hBTk5FTF0ubW9kZSB9KTsgfTtcbiAgICAgICAgX3RoaXMuc3RhdGUgPSBidWlsZFRoZW1lU3RhdGUocHJvcHMubW9kZSk7XG4gICAgICAgIHJldHVybiBfdGhpcztcbiAgICB9XG4gICAgQXRsYXNraXRUaGVtZVByb3ZpZGVyLnByb3RvdHlwZS5nZXRDaGlsZENvbnRleHQgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHJldHVybiB7IGhhc0F0bGFza2l0VGhlbWVQcm92aWRlcjogdHJ1ZSB9O1xuICAgIH07XG4gICAgQXRsYXNraXRUaGVtZVByb3ZpZGVyLnByb3RvdHlwZS5VTlNBRkVfY29tcG9uZW50V2lsbE1vdW50ID0gZnVuY3Rpb24gKCkge1xuICAgICAgICBpZiAoIXRoaXMuY29udGV4dC5oYXNBdGxhc2tpdFRoZW1lUHJvdmlkZXIgJiYgZXhlbnYuY2FuVXNlRE9NKSB7XG4gICAgICAgICAgICB2YXIgY3NzID0gZ2V0U3R5bGVzaGVldFJlc2V0Q1NTKHRoaXMuc3RhdGUpO1xuICAgICAgICAgICAgdGhpcy5zdHlsZXNoZWV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3R5bGUnKTtcbiAgICAgICAgICAgIHRoaXMuc3R5bGVzaGVldC50eXBlID0gJ3RleHQvY3NzJztcbiAgICAgICAgICAgIHRoaXMuc3R5bGVzaGVldC5pbm5lckhUTUwgPSBjc3M7XG4gICAgICAgICAgICBpZiAoZG9jdW1lbnQgJiYgZG9jdW1lbnQuaGVhZCkge1xuICAgICAgICAgICAgICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQodGhpcy5zdHlsZXNoZWV0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH07XG4gICAgQXRsYXNraXRUaGVtZVByb3ZpZGVyLnByb3RvdHlwZS5VTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyA9IGZ1bmN0aW9uIChuZXdQcm9wcykge1xuICAgICAgICBpZiAobmV3UHJvcHMubW9kZSAhPT0gdGhpcy5wcm9wcy5tb2RlKSB7XG4gICAgICAgICAgICB2YXIgbmV3VGhlbWVTdGF0ZSA9IGJ1aWxkVGhlbWVTdGF0ZShuZXdQcm9wcy5tb2RlKTtcbiAgICAgICAgICAgIGlmICh0aGlzLnN0eWxlc2hlZXQpIHtcbiAgICAgICAgICAgICAgICB2YXIgY3NzID0gZ2V0U3R5bGVzaGVldFJlc2V0Q1NTKG5ld1RoZW1lU3RhdGUpO1xuICAgICAgICAgICAgICAgIHRoaXMuc3R5bGVzaGVldC5pbm5lckhUTUwgPSBjc3M7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLnNldFN0YXRlKG5ld1RoZW1lU3RhdGUpO1xuICAgICAgICB9XG4gICAgfTtcbiAgICBBdGxhc2tpdFRoZW1lUHJvdmlkZXIucHJvdG90eXBlLmNvbXBvbmVudFdpbGxVbm1vdW50ID0gZnVuY3Rpb24gKCkge1xuICAgICAgICBpZiAodGhpcy5zdHlsZXNoZWV0ICYmIGRvY3VtZW50ICYmIGRvY3VtZW50LmhlYWQpIHtcbiAgICAgICAgICAgIGRvY3VtZW50LmhlYWQucmVtb3ZlQ2hpbGQodGhpcy5zdHlsZXNoZWV0KTtcbiAgICAgICAgICAgIGRlbGV0ZSB0aGlzLnN0eWxlc2hlZXQ7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIEF0bGFza2l0VGhlbWVQcm92aWRlci5wcm90b3R5cGUucmVuZGVyID0gZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgY2hpbGRyZW4gPSB0aGlzLnByb3BzLmNoaWxkcmVuO1xuICAgICAgICB2YXIgdGhlbWUgPSB0aGlzLnN0YXRlLnRoZW1lO1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAvKiBXcmFwcGluZyB0aGUgbmV3IHByb3ZpZGVyIGFyb3VuZCB0aGUgb2xkIG9uZSBwcm92aWRlcyBmb3J3YXJkXG4gICAgICAgIGNvbXBhdGliaWxpdHkgd2hlbiB1c2luZyB0aGUgb2xkIHByb3ZpZGVyIGZvciBzdHlsZWQgY29tcG9uZW50cy4gVGhpc1xuICAgICAgICBhbGxvd3MgdXMgdG8gdXNlIGNvbXBvbmVudHMgY29udmVydGVkIHRvIHVzZSB0aGUgbmV3IEFQSSB3aXRoIGNvbnN1bWVyc1xuICAgICAgICB1c2luZyB0aGUgb2xkIHByb3ZpZGVyIGFsb25nIHNpZGUgY29tcG9uZW50cyB0aGF0IG1heSBzdGlsbCBiZSB1c2luZyB0aGVcbiAgICAgICAgb2xkIHRoZW1pbmcgQVBJLiAqL1xuICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFRoZW1lLlByb3ZpZGVyLCB7IHZhbHVlOiB0aGlzLmdldFRoZW1lTW9kZSB9LFxuICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChUaGVtZVByb3ZpZGVyLCB7IHRoZW1lOiB0aGVtZSB9LFxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoTGVnYWN5UmVzZXQsIG51bGwsIGNoaWxkcmVuKSkpKTtcbiAgICB9O1xuICAgIEF0bGFza2l0VGhlbWVQcm92aWRlci5kZWZhdWx0UHJvcHMgPSB7XG4gICAgICAgIG1vZGU6IERFRkFVTFRfVEhFTUVfTU9ERSxcbiAgICB9O1xuICAgIEF0bGFza2l0VGhlbWVQcm92aWRlci5jaGlsZENvbnRleHRUeXBlcyA9IHtcbiAgICAgICAgaGFzQXRsYXNraXRUaGVtZVByb3ZpZGVyOiBQcm9wVHlwZXMuYm9vbCxcbiAgICB9O1xuICAgIEF0bGFza2l0VGhlbWVQcm92aWRlci5jb250ZXh0VHlwZXMgPSB7XG4gICAgICAgIGhhc0F0bGFza2l0VGhlbWVQcm92aWRlcjogUHJvcFR5cGVzLmJvb2wsXG4gICAgfTtcbiAgICByZXR1cm4gQXRsYXNraXRUaGVtZVByb3ZpZGVyO1xufShDb21wb25lbnQpKTtcbmV4cG9ydCBkZWZhdWx0IEF0bGFza2l0VGhlbWVQcm92aWRlcjtcbnZhciB0ZW1wbGF0ZU9iamVjdF8xO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9QXRsYXNraXRUaGVtZVByb3ZpZGVyLmpzLm1hcCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/theme/dist/esm/components/AtlaskitThemeProvider.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/theme/dist/esm/components/Reset.js": /*!*******************************************************************!*\ !*** ./node_modules/@atlaskit/theme/dist/esm/components/Reset.js ***! \*******************************************************************/ /*! exports provided: ResetTheme, Reset */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ResetTheme\", function() { return ResetTheme; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Reset\", function() { return Reset; });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/@atlaskit/theme/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! styled-components */ \"./node_modules/styled-components/dist/styled-components.browser.esm.js\");\n/* harmony import */ var _colors__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../colors */ \"./node_modules/@atlaskit/theme/dist/esm/colors.js\");\n/* harmony import */ var _utils_createTheme__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils/createTheme */ \"./node_modules/@atlaskit/theme/dist/esm/utils/createTheme.js\");\n\n\n\n\n\nvar orTextColor = function (preferred) { return function (p) { return p[preferred] || p.textColor; }; };\nvar Div = styled_components__WEBPACK_IMPORTED_MODULE_2__[\"default\"].div(templateObject_2 || (templateObject_2 = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__makeTemplateObject\"])([\"\\n \", \";\\n\"], [\"\\n \",\n \";\\n\"])), function (p) { return Object(styled_components__WEBPACK_IMPORTED_MODULE_2__[\"css\"])(templateObject_1 || (templateObject_1 = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__makeTemplateObject\"])([\"\\n background-color: \", \";\\n color: \", \";\\n\\n a {\\n color: \", \";\\n }\\n a:hover {\\n color: \", \";\\n }\\n a:active {\\n color: \", \";\\n }\\n a:focus {\\n outline-color: \", \";\\n }\\n h1,\\n h2,\\n h3,\\n h4,\\n h5 {\\n color: \", \";\\n }\\n h6 {\\n color: \", \";\\n }\\n small {\\n color: \", \";\\n }\\n \"], [\"\\n background-color: \", \";\\n color: \", \";\\n\\n a {\\n color: \", \";\\n }\\n a:hover {\\n color: \", \";\\n }\\n a:active {\\n color: \", \";\\n }\\n a:focus {\\n outline-color: \", \";\\n }\\n h1,\\n h2,\\n h3,\\n h4,\\n h5 {\\n color: \", \";\\n }\\n h6 {\\n color: \", \";\\n }\\n small {\\n color: \", \";\\n }\\n \"])), p.backgroundColor, p.textColor, orTextColor('linkColor'), orTextColor('linkColorHover'), orTextColor('linkColorActive'), orTextColor('linkColorOutline'), orTextColor('headingColor'), orTextColor('subtleHeadingColor'), orTextColor('subtleTextColor')); });\nvar ResetTheme = Object(_utils_createTheme__WEBPACK_IMPORTED_MODULE_4__[\"createTheme\"])(function () { return ({\n backgroundColor: _colors__WEBPACK_IMPORTED_MODULE_3__[\"N0\"],\n linkColor: _colors__WEBPACK_IMPORTED_MODULE_3__[\"B400\"],\n linkColorHover: _colors__WEBPACK_IMPORTED_MODULE_3__[\"B300\"],\n linkColorActive: _colors__WEBPACK_IMPORTED_MODULE_3__[\"B500\"],\n linkColorOutline: _colors__WEBPACK_IMPORTED_MODULE_3__[\"B100\"],\n headingColor: _colors__WEBPACK_IMPORTED_MODULE_3__[\"N800\"],\n subtleHeadingColor: _colors__WEBPACK_IMPORTED_MODULE_3__[\"N200\"],\n subtleTextColor: _colors__WEBPACK_IMPORTED_MODULE_3__[\"N200\"],\n textColor: _colors__WEBPACK_IMPORTED_MODULE_3__[\"N900\"],\n}); });\nfunction Reset(props) {\n return (react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(ResetTheme.Provider, { value: props.theme },\n react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(ResetTheme.Consumer, null, function (tokens) {\n return (react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(Div, Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, tokens), { mode: undefined }), props), props.children));\n })));\n}\nvar templateObject_1, templateObject_2;\n//# sourceMappingURL=Reset.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L3RoZW1lL2Rpc3QvZXNtL2NvbXBvbmVudHMvUmVzZXQuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L3RoZW1lL2Rpc3QvZXNtL2NvbXBvbmVudHMvUmVzZXQuanM/MjI3MCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBfX2Fzc2lnbiwgX19tYWtlVGVtcGxhdGVPYmplY3QgfSBmcm9tIFwidHNsaWJcIjtcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkLCB7IGNzcyB9IGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCAqIGFzIGNvbG9ycyBmcm9tICcuLi9jb2xvcnMnO1xuaW1wb3J0IHsgY3JlYXRlVGhlbWUgfSBmcm9tICcuLi91dGlscy9jcmVhdGVUaGVtZSc7XG52YXIgb3JUZXh0Q29sb3IgPSBmdW5jdGlvbiAocHJlZmVycmVkKSB7IHJldHVybiBmdW5jdGlvbiAocCkgeyByZXR1cm4gcFtwcmVmZXJyZWRdIHx8IHAudGV4dENvbG9yOyB9OyB9O1xudmFyIERpdiA9IHN0eWxlZC5kaXYodGVtcGxhdGVPYmplY3RfMiB8fCAodGVtcGxhdGVPYmplY3RfMiA9IF9fbWFrZVRlbXBsYXRlT2JqZWN0KFtcIlxcbiAgXCIsIFwiO1xcblwiXSwgW1wiXFxuICBcIixcbiAgICBcIjtcXG5cIl0pKSwgZnVuY3Rpb24gKHApIHsgcmV0dXJuIGNzcyh0ZW1wbGF0ZU9iamVjdF8xIHx8ICh0ZW1wbGF0ZU9iamVjdF8xID0gX19tYWtlVGVtcGxhdGVPYmplY3QoW1wiXFxuICAgIGJhY2tncm91bmQtY29sb3I6IFwiLCBcIjtcXG4gICAgY29sb3I6IFwiLCBcIjtcXG5cXG4gICAgYSB7XFxuICAgICAgY29sb3I6IFwiLCBcIjtcXG4gICAgfVxcbiAgICBhOmhvdmVyIHtcXG4gICAgICBjb2xvcjogXCIsIFwiO1xcbiAgICB9XFxuICAgIGE6YWN0aXZlIHtcXG4gICAgICBjb2xvcjogXCIsIFwiO1xcbiAgICB9XFxuICAgIGE6Zm9jdXMge1xcbiAgICAgIG91dGxpbmUtY29sb3I6IFwiLCBcIjtcXG4gICAgfVxcbiAgICBoMSxcXG4gICAgaDIsXFxuICAgIGgzLFxcbiAgICBoNCxcXG4gICAgaDUge1xcbiAgICAgIGNvbG9yOiBcIiwgXCI7XFxuICAgIH1cXG4gICAgaDYge1xcbiAgICAgIGNvbG9yOiBcIiwgXCI7XFxuICAgIH1cXG4gICAgc21hbGwge1xcbiAgICAgIGNvbG9yOiBcIiwgXCI7XFxuICAgIH1cXG4gIFwiXSwgW1wiXFxuICAgIGJhY2tncm91bmQtY29sb3I6IFwiLCBcIjtcXG4gICAgY29sb3I6IFwiLCBcIjtcXG5cXG4gICAgYSB7XFxuICAgICAgY29sb3I6IFwiLCBcIjtcXG4gICAgfVxcbiAgICBhOmhvdmVyIHtcXG4gICAgICBjb2xvcjogXCIsIFwiO1xcbiAgICB9XFxuICAgIGE6YWN0aXZlIHtcXG4gICAgICBjb2xvcjogXCIsIFwiO1xcbiAgICB9XFxuICAgIGE6Zm9jdXMge1xcbiAgICAgIG91dGxpbmUtY29sb3I6IFwiLCBcIjtcXG4gICAgfVxcbiAgICBoMSxcXG4gICAgaDIsXFxuICAgIGgzLFxcbiAgICBoNCxcXG4gICAgaDUge1xcbiAgICAgIGNvbG9yOiBcIiwgXCI7XFxuICAgIH1cXG4gICAgaDYge1xcbiAgICAgIGNvbG9yOiBcIiwgXCI7XFxuICAgIH1cXG4gICAgc21hbGwge1xcbiAgICAgIGNvbG9yOiBcIiwgXCI7XFxuICAgIH1cXG4gIFwiXSkpLCBwLmJhY2tncm91bmRDb2xvciwgcC50ZXh0Q29sb3IsIG9yVGV4dENvbG9yKCdsaW5rQ29sb3InKSwgb3JUZXh0Q29sb3IoJ2xpbmtDb2xvckhvdmVyJyksIG9yVGV4dENvbG9yKCdsaW5rQ29sb3JBY3RpdmUnKSwgb3JUZXh0Q29sb3IoJ2xpbmtDb2xvck91dGxpbmUnKSwgb3JUZXh0Q29sb3IoJ2hlYWRpbmdDb2xvcicpLCBvclRleHRDb2xvcignc3VidGxlSGVhZGluZ0NvbG9yJyksIG9yVGV4dENvbG9yKCdzdWJ0bGVUZXh0Q29sb3InKSk7IH0pO1xuZXhwb3J0IHZhciBSZXNldFRoZW1lID0gY3JlYXRlVGhlbWUoZnVuY3Rpb24gKCkgeyByZXR1cm4gKHtcbiAgICBiYWNrZ3JvdW5kQ29sb3I6IGNvbG9ycy5OMCxcbiAgICBsaW5rQ29sb3I6IGNvbG9ycy5CNDAwLFxuICAgIGxpbmtDb2xvckhvdmVyOiBjb2xvcnMuQjMwMCxcbiAgICBsaW5rQ29sb3JBY3RpdmU6IGNvbG9ycy5CNTAwLFxuICAgIGxpbmtDb2xvck91dGxpbmU6IGNvbG9ycy5CMTAwLFxuICAgIGhlYWRpbmdDb2xvcjogY29sb3JzLk44MDAsXG4gICAgc3VidGxlSGVhZGluZ0NvbG9yOiBjb2xvcnMuTjIwMCxcbiAgICBzdWJ0bGVUZXh0Q29sb3I6IGNvbG9ycy5OMjAwLFxuICAgIHRleHRDb2xvcjogY29sb3JzLk45MDAsXG59KTsgfSk7XG5leHBvcnQgZnVuY3Rpb24gUmVzZXQocHJvcHMpIHtcbiAgICByZXR1cm4gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoUmVzZXRUaGVtZS5Qcm92aWRlciwgeyB2YWx1ZTogcHJvcHMudGhlbWUgfSxcbiAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChSZXNldFRoZW1lLkNvbnN1bWVyLCBudWxsLCBmdW5jdGlvbiAodG9rZW5zKSB7XG4gICAgICAgICAgICByZXR1cm4gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoRGl2LCBfX2Fzc2lnbih7fSwgX19hc3NpZ24oX19hc3NpZ24oe30sIHRva2VucyksIHsgbW9kZTogdW5kZWZpbmVkIH0pLCBwcm9wcyksIHByb3BzLmNoaWxkcmVuKSk7XG4gICAgICAgIH0pKSk7XG59XG52YXIgdGVtcGxhdGVPYmplY3RfMSwgdGVtcGxhdGVPYmplY3RfMjtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPVJlc2V0LmpzLm1hcCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/theme/dist/esm/components/Reset.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/theme/dist/esm/components/Theme.js": /*!*******************************************************************!*\ !*** ./node_modules/@atlaskit/theme/dist/esm/components/Theme.js ***! \*******************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_createTheme__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/createTheme */ \"./node_modules/@atlaskit/theme/dist/esm/utils/createTheme.js\");\n\n// Create default global light theme\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(_utils_createTheme__WEBPACK_IMPORTED_MODULE_0__[\"createTheme\"])(function () { return ({\n mode: 'light',\n}); }));\n//# sourceMappingURL=Theme.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L3RoZW1lL2Rpc3QvZXNtL2NvbXBvbmVudHMvVGhlbWUuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L3RoZW1lL2Rpc3QvZXNtL2NvbXBvbmVudHMvVGhlbWUuanM/NGVmZCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVUaGVtZSB9IGZyb20gJy4uL3V0aWxzL2NyZWF0ZVRoZW1lJztcbi8vIENyZWF0ZSBkZWZhdWx0IGdsb2JhbCBsaWdodCB0aGVtZVxuZXhwb3J0IGRlZmF1bHQgY3JlYXRlVGhlbWUoZnVuY3Rpb24gKCkgeyByZXR1cm4gKHtcbiAgICBtb2RlOiAnbGlnaHQnLFxufSk7IH0pO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9VGhlbWUuanMubWFwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/theme/dist/esm/components/Theme.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/theme/dist/esm/constants.js": /*!************************************************************!*\ !*** ./node_modules/@atlaskit/theme/dist/esm/constants.js ***! \************************************************************/ /*! exports provided: FLATTENED, CHANNEL, DEFAULT_THEME_MODE, THEME_MODES, borderRadius, gridSize, fontSize, fontSizeSmall, fontFamily, codeFontFamily, focusRing, noFocusRing, layers, visuallyHidden, assistive, skeletonShimmer */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"FLATTENED\", function() { return FLATTENED; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"CHANNEL\", function() { return CHANNEL; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DEFAULT_THEME_MODE\", function() { return DEFAULT_THEME_MODE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"THEME_MODES\", function() { return THEME_MODES; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"borderRadius\", function() { return borderRadius; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"gridSize\", function() { return gridSize; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"fontSize\", function() { return fontSize; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"fontSizeSmall\", function() { return fontSizeSmall; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"fontFamily\", function() { return fontFamily; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"codeFontFamily\", function() { return codeFontFamily; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"focusRing\", function() { return focusRing; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"noFocusRing\", function() { return noFocusRing; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"layers\", function() { return layers; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"visuallyHidden\", function() { return visuallyHidden; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"assistive\", function() { return assistive; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"skeletonShimmer\", function() { return skeletonShimmer; });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/@atlaskit/theme/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! styled-components */ \"./node_modules/styled-components/dist/styled-components.browser.esm.js\");\n/* harmony import */ var _colors__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./colors */ \"./node_modules/@atlaskit/theme/dist/esm/colors.js\");\n\n\n\nvar FLATTENED = '__FLATTENED__';\nvar CHANNEL = '__ATLASKIT_THEME__';\nvar DEFAULT_THEME_MODE = 'light';\nvar THEME_MODES = ['light', 'dark'];\n/*\n These theme values are expressed as functions so that if we decide to make\n them dependent on props in the future, it wouldn't require a significant\n refactor everywhere they are being used.\n*/\nvar borderRadius = function () { return 3; };\nvar gridSize = function () { return 8; };\nvar fontSize = function () { return 14; };\nvar fontSizeSmall = function () { return 11; };\nvar fontFamily = function () {\n return \"-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif\";\n};\nvar codeFontFamily = function () {\n return \"'SFMono-Medium', 'SF Mono', 'Segoe UI Mono', 'Roboto Mono', 'Ubuntu Mono', Menlo, Consolas, Courier, monospace\";\n};\nvar focusRing = function (color, outlineWidth) {\n if (color === void 0) { color = _colors__WEBPACK_IMPORTED_MODULE_2__[\"B100\"]; }\n if (outlineWidth === void 0) { outlineWidth = gridSize() / 4; }\n return \"\\n &:focus {\\n outline: none;\\n box-shadow: 0px 0px 0px \" + outlineWidth + \"px \" + color + \";\\n }\\n\";\n};\nvar noFocusRing = function () { return \"\\n box-shadow: none;\\n\"; };\nvar layers = {\n card: function () { return 100; },\n dialog: function () { return 300; },\n navigation: function () { return 200; },\n layer: function () { return 400; },\n blanket: function () { return 500; },\n modal: function () { return 510; },\n flag: function () { return 600; },\n spotlight: function () { return 700; },\n tooltip: function () { return 800; },\n};\nvar visuallyHidden = function () { return ({\n border: '0 !important',\n clip: 'rect(1px, 1px, 1px, 1px) !important',\n height: '1px !important',\n overflow: 'hidden !important',\n padding: '0 !important',\n position: 'absolute !important',\n width: '1px !important',\n whiteSpace: 'nowrap !important',\n}); };\n/**\n * Deprecated Styled Components mixin.\n * Use visuallyHidden instead.\n * @deprecated\n */\nvar assistive = function () { return Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"css\"])(templateObject_1 || (templateObject_1 = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__makeTemplateObject\"])([\"\\n border: 0 !important;\\n clip: rect(1px, 1px, 1px, 1px) !important;\\n height: 1px !important;\\n overflow: hidden !important;\\n padding: 0 !important;\\n position: absolute !important;\\n width: 1px !important;\\n white-space: nowrap !important;\\n\"], [\"\\n border: 0 !important;\\n clip: rect(1px, 1px, 1px, 1px) !important;\\n height: 1px !important;\\n overflow: hidden !important;\\n padding: 0 !important;\\n position: absolute !important;\\n width: 1px !important;\\n white-space: nowrap !important;\\n\"]))); };\nvar skeletonShimmer = function () { return ({\n css: {\n backgroundColor: Object(_colors__WEBPACK_IMPORTED_MODULE_2__[\"skeleton\"])(),\n backgroundImage: \"linear-gradient(to right, \" + Object(_colors__WEBPACK_IMPORTED_MODULE_2__[\"skeleton\"])() + \" 0%, \" + _colors__WEBPACK_IMPORTED_MODULE_2__[\"N30\"] + \" 20%, \" + Object(_colors__WEBPACK_IMPORTED_MODULE_2__[\"skeleton\"])() + \" 40%, \" + Object(_colors__WEBPACK_IMPORTED_MODULE_2__[\"skeleton\"])() + \" 100%)\",\n backgroundRepeat: 'no-repeat',\n backgroundSize: '800px 104px',\n animationDuration: '1.5s',\n animationFillMode: 'forwards',\n animationIterationCount: 'infinite',\n animationTimingFunction: 'linear',\n },\n keyframes: {\n '0%': {\n backgroundPosition: '-468px 0',\n },\n '100%': {\n backgroundPosition: '468px 0',\n },\n },\n}); };\nvar templateObject_1;\n//# sourceMappingURL=constants.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L3RoZW1lL2Rpc3QvZXNtL2NvbnN0YW50cy5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AYXRsYXNraXQvdGhlbWUvZGlzdC9lc20vY29uc3RhbnRzLmpzPzgzMWEiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgX19tYWtlVGVtcGxhdGVPYmplY3QgfSBmcm9tIFwidHNsaWJcIjtcbmltcG9ydCB7IGNzcyB9IGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCB7IEIxMDAsIE4zMCwgc2tlbGV0b24gYXMgc2tlbGV0b25Db2xvciB9IGZyb20gJy4vY29sb3JzJztcbmV4cG9ydCB2YXIgRkxBVFRFTkVEID0gJ19fRkxBVFRFTkVEX18nO1xuZXhwb3J0IHZhciBDSEFOTkVMID0gJ19fQVRMQVNLSVRfVEhFTUVfXyc7XG5leHBvcnQgdmFyIERFRkFVTFRfVEhFTUVfTU9ERSA9ICdsaWdodCc7XG5leHBvcnQgdmFyIFRIRU1FX01PREVTID0gWydsaWdodCcsICdkYXJrJ107XG4vKlxuICBUaGVzZSB0aGVtZSB2YWx1ZXMgYXJlIGV4cHJlc3NlZCBhcyBmdW5jdGlvbnMgc28gdGhhdCBpZiB3ZSBkZWNpZGUgdG8gbWFrZVxuICB0aGVtIGRlcGVuZGVudCBvbiBwcm9wcyBpbiB0aGUgZnV0dXJlLCBpdCB3b3VsZG4ndCByZXF1aXJlIGEgc2lnbmlmaWNhbnRcbiAgcmVmYWN0b3IgZXZlcnl3aGVyZSB0aGV5IGFyZSBiZWluZyB1c2VkLlxuKi9cbmV4cG9ydCB2YXIgYm9yZGVyUmFkaXVzID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gMzsgfTtcbmV4cG9ydCB2YXIgZ3JpZFNpemUgPSBmdW5jdGlvbiAoKSB7IHJldHVybiA4OyB9O1xuZXhwb3J0IHZhciBmb250U2l6ZSA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIDE0OyB9O1xuZXhwb3J0IHZhciBmb250U2l6ZVNtYWxsID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gMTE7IH07XG5leHBvcnQgdmFyIGZvbnRGYW1pbHkgPSBmdW5jdGlvbiAoKSB7XG4gICAgcmV0dXJuIFwiLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnU2Vnb2UgVUknLCAnUm9ib3RvJywgJ094eWdlbicsICdVYnVudHUnLCAnRmlyYSBTYW5zJywgJ0Ryb2lkIFNhbnMnLCAnSGVsdmV0aWNhIE5ldWUnLCBzYW5zLXNlcmlmXCI7XG59O1xuZXhwb3J0IHZhciBjb2RlRm9udEZhbWlseSA9IGZ1bmN0aW9uICgpIHtcbiAgICByZXR1cm4gXCInU0ZNb25vLU1lZGl1bScsICdTRiBNb25vJywgJ1NlZ29lIFVJIE1vbm8nLCAnUm9ib3RvIE1vbm8nLCAnVWJ1bnR1IE1vbm8nLCBNZW5sbywgQ29uc29sYXMsIENvdXJpZXIsIG1vbm9zcGFjZVwiO1xufTtcbmV4cG9ydCB2YXIgZm9jdXNSaW5nID0gZnVuY3Rpb24gKGNvbG9yLCBvdXRsaW5lV2lkdGgpIHtcbiAgICBpZiAoY29sb3IgPT09IHZvaWQgMCkgeyBjb2xvciA9IEIxMDA7IH1cbiAgICBpZiAob3V0bGluZVdpZHRoID09PSB2b2lkIDApIHsgb3V0bGluZVdpZHRoID0gZ3JpZFNpemUoKSAvIDQ7IH1cbiAgICByZXR1cm4gXCJcXG4gICY6Zm9jdXMge1xcbiAgICBvdXRsaW5lOiBub25lO1xcbiAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCBcIiArIG91dGxpbmVXaWR0aCArIFwicHggXCIgKyBjb2xvciArIFwiO1xcbiAgfVxcblwiO1xufTtcbmV4cG9ydCB2YXIgbm9Gb2N1c1JpbmcgPSBmdW5jdGlvbiAoKSB7IHJldHVybiBcIlxcbiAgYm94LXNoYWRvdzogbm9uZTtcXG5cIjsgfTtcbmV4cG9ydCB2YXIgbGF5ZXJzID0ge1xuICAgIGNhcmQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIDEwMDsgfSxcbiAgICBkaWFsb2c6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIDMwMDsgfSxcbiAgICBuYXZpZ2F0aW9uOiBmdW5jdGlvbiAoKSB7IHJldHVybiAyMDA7IH0sXG4gICAgbGF5ZXI6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIDQwMDsgfSxcbiAgICBibGFua2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiA1MDA7IH0sXG4gICAgbW9kYWw6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIDUxMDsgfSxcbiAgICBmbGFnOiBmdW5jdGlvbiAoKSB7IHJldHVybiA2MDA7IH0sXG4gICAgc3BvdGxpZ2h0OiBmdW5jdGlvbiAoKSB7IHJldHVybiA3MDA7IH0sXG4gICAgdG9vbHRpcDogZnVuY3Rpb24gKCkgeyByZXR1cm4gODAwOyB9LFxufTtcbmV4cG9ydCB2YXIgdmlzdWFsbHlIaWRkZW4gPSBmdW5jdGlvbiAoKSB7IHJldHVybiAoe1xuICAgIGJvcmRlcjogJzAgIWltcG9ydGFudCcsXG4gICAgY2xpcDogJ3JlY3QoMXB4LCAxcHgsIDFweCwgMXB4KSAhaW1wb3J0YW50JyxcbiAgICBoZWlnaHQ6ICcxcHggIWltcG9ydGFudCcsXG4gICAgb3ZlcmZsb3c6ICdoaWRkZW4gIWltcG9ydGFudCcsXG4gICAgcGFkZGluZzogJzAgIWltcG9ydGFudCcsXG4gICAgcG9zaXRpb246ICdhYnNvbHV0ZSAhaW1wb3J0YW50JyxcbiAgICB3aWR0aDogJzFweCAhaW1wb3J0YW50JyxcbiAgICB3aGl0ZVNwYWNlOiAnbm93cmFwICFpbXBvcnRhbnQnLFxufSk7IH07XG4vKipcbiAqIERlcHJlY2F0ZWQgU3R5bGVkIENvbXBvbmVudHMgbWl4aW4uXG4gKiBVc2UgdmlzdWFsbHlIaWRkZW4gaW5zdGVhZC5cbiAqIEBkZXByZWNhdGVkXG4gKi9cbmV4cG9ydCB2YXIgYXNzaXN0aXZlID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gY3NzKHRlbXBsYXRlT2JqZWN0XzEgfHwgKHRlbXBsYXRlT2JqZWN0XzEgPSBfX21ha2VUZW1wbGF0ZU9iamVjdChbXCJcXG4gIGJvcmRlcjogMCAhaW1wb3J0YW50O1xcbiAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpICFpbXBvcnRhbnQ7XFxuICBoZWlnaHQ6IDFweCAhaW1wb3J0YW50O1xcbiAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XFxuICB3aWR0aDogMXB4ICFpbXBvcnRhbnQ7XFxuICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7XFxuXCJdLCBbXCJcXG4gIGJvcmRlcjogMCAhaW1wb3J0YW50O1xcbiAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpICFpbXBvcnRhbnQ7XFxuICBoZWlnaHQ6IDFweCAhaW1wb3J0YW50O1xcbiAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XFxuICB3aWR0aDogMXB4ICFpbXBvcnRhbnQ7XFxuICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7XFxuXCJdKSkpOyB9O1xuZXhwb3J0IHZhciBza2VsZXRvblNoaW1tZXIgPSBmdW5jdGlvbiAoKSB7IHJldHVybiAoe1xuICAgIGNzczoge1xuICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IHNrZWxldG9uQ29sb3IoKSxcbiAgICAgICAgYmFja2dyb3VuZEltYWdlOiBcImxpbmVhci1ncmFkaWVudCh0byByaWdodCwgXCIgKyBza2VsZXRvbkNvbG9yKCkgKyBcIiAwJSwgXCIgKyBOMzAgKyBcIiAyMCUsIFwiICsgc2tlbGV0b25Db2xvcigpICsgXCIgNDAlLCBcIiArIHNrZWxldG9uQ29sb3IoKSArIFwiIDEwMCUpXCIsXG4gICAgICAgIGJhY2tncm91bmRSZXBlYXQ6ICduby1yZXBlYXQnLFxuICAgICAgICBiYWNrZ3JvdW5kU2l6ZTogJzgwMHB4IDEwNHB4JyxcbiAgICAgICAgYW5pbWF0aW9uRHVyYXRpb246ICcxLjVzJyxcbiAgICAgICAgYW5pbWF0aW9uRmlsbE1vZGU6ICdmb3J3YXJkcycsXG4gICAgICAgIGFuaW1hdGlvbkl0ZXJhdGlvbkNvdW50OiAnaW5maW5pdGUnLFxuICAgICAgICBhbmltYXRpb25UaW1pbmdGdW5jdGlvbjogJ2xpbmVhcicsXG4gICAgfSxcbiAgICBrZXlmcmFtZXM6IHtcbiAgICAgICAgJzAlJzoge1xuICAgICAgICAgICAgYmFja2dyb3VuZFBvc2l0aW9uOiAnLTQ2OHB4IDAnLFxuICAgICAgICB9LFxuICAgICAgICAnMTAwJSc6IHtcbiAgICAgICAgICAgIGJhY2tncm91bmRQb3NpdGlvbjogJzQ2OHB4IDAnLFxuICAgICAgICB9LFxuICAgIH0sXG59KTsgfTtcbnZhciB0ZW1wbGF0ZU9iamVjdF8xO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Y29uc3RhbnRzLmpzLm1hcCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/theme/dist/esm/constants.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/theme/dist/esm/elevation.js": /*!************************************************************!*\ !*** ./node_modules/@atlaskit/theme/dist/esm/elevation.js ***! \************************************************************/ /*! exports provided: e100, e200, e300, e400, e500 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"e100\", function() { return e100; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"e200\", function() { return e200; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"e300\", function() { return e300; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"e400\", function() { return e400; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"e500\", function() { return e500; });\n/* harmony import */ var _colors__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./colors */ \"./node_modules/@atlaskit/theme/dist/esm/colors.js\");\n/* harmony import */ var _utils_themed__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils/themed */ \"./node_modules/@atlaskit/theme/dist/esm/utils/themed.js\");\n\n\n// Cards on a board\nvar e100 = Object(_utils_themed__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n light: \"box-shadow: 0 1px 1px \" + _colors__WEBPACK_IMPORTED_MODULE_0__[\"N50A\"] + \", 0 0 1px 0 \" + _colors__WEBPACK_IMPORTED_MODULE_0__[\"N60A\"] + \";\",\n dark: \"box-shadow: 0 1px 1px \" + _colors__WEBPACK_IMPORTED_MODULE_0__[\"DN50A\"] + \", 0 0 1px \" + _colors__WEBPACK_IMPORTED_MODULE_0__[\"DN60A\"] + \";\",\n});\n// Inline dialogs\nvar e200 = Object(_utils_themed__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n light: \"box-shadow: 0 4px 8px -2px \" + _colors__WEBPACK_IMPORTED_MODULE_0__[\"N50A\"] + \", 0 0 1px \" + _colors__WEBPACK_IMPORTED_MODULE_0__[\"N60A\"] + \";\",\n dark: \"box-shadow: 0 4px 8px -2px \" + _colors__WEBPACK_IMPORTED_MODULE_0__[\"DN50A\"] + \", 0 0 1px \" + _colors__WEBPACK_IMPORTED_MODULE_0__[\"DN60A\"] + \";\",\n});\n// Modals\nvar e300 = Object(_utils_themed__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n light: \"box-shadow: 0 8px 16px -4px \" + _colors__WEBPACK_IMPORTED_MODULE_0__[\"N50A\"] + \", 0 0 1px \" + _colors__WEBPACK_IMPORTED_MODULE_0__[\"N60A\"] + \";\",\n dark: \"box-shadow: 0 8px 16px -4px \" + _colors__WEBPACK_IMPORTED_MODULE_0__[\"DN50A\"] + \", 0 0 1px \" + _colors__WEBPACK_IMPORTED_MODULE_0__[\"DN60A\"] + \";\",\n});\n// Panels\nvar e400 = Object(_utils_themed__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n light: \"box-shadow: 0 12px 24px -6px \" + _colors__WEBPACK_IMPORTED_MODULE_0__[\"N50A\"] + \", 0 0 1px \" + _colors__WEBPACK_IMPORTED_MODULE_0__[\"N60A\"] + \";\",\n dark: \"box-shadow: 0 12px 24px -6px \" + _colors__WEBPACK_IMPORTED_MODULE_0__[\"DN50A\"] + \", 0 0 1px \" + _colors__WEBPACK_IMPORTED_MODULE_0__[\"DN60A\"] + \";\",\n});\n// Flag messages (notifications)\nvar e500 = Object(_utils_themed__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n light: \"box-shadow: 0 20px 32px -8px \" + _colors__WEBPACK_IMPORTED_MODULE_0__[\"N50A\"] + \", 0 0 1px \" + _colors__WEBPACK_IMPORTED_MODULE_0__[\"N60A\"] + \";\",\n dark: \"box-shadow: 0 20px 32px -8px \" + _colors__WEBPACK_IMPORTED_MODULE_0__[\"DN50A\"] + \", 0 0 1px \" + _colors__WEBPACK_IMPORTED_MODULE_0__[\"DN60A\"] + \";\",\n});\n//# sourceMappingURL=elevation.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L3RoZW1lL2Rpc3QvZXNtL2VsZXZhdGlvbi5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AYXRsYXNraXQvdGhlbWUvZGlzdC9lc20vZWxldmF0aW9uLmpzPzg5OWMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgY29sb3JzIGZyb20gJy4vY29sb3JzJztcbmltcG9ydCB0aGVtZWQgZnJvbSAnLi91dGlscy90aGVtZWQnO1xuLy8gQ2FyZHMgb24gYSBib2FyZFxuZXhwb3J0IHZhciBlMTAwID0gdGhlbWVkKHtcbiAgICBsaWdodDogXCJib3gtc2hhZG93OiAwIDFweCAxcHggXCIgKyBjb2xvcnMuTjUwQSArIFwiLCAwIDAgMXB4IDAgXCIgKyBjb2xvcnMuTjYwQSArIFwiO1wiLFxuICAgIGRhcms6IFwiYm94LXNoYWRvdzogMCAxcHggMXB4IFwiICsgY29sb3JzLkRONTBBICsgXCIsIDAgMCAxcHggXCIgKyBjb2xvcnMuRE42MEEgKyBcIjtcIixcbn0pO1xuLy8gSW5saW5lIGRpYWxvZ3NcbmV4cG9ydCB2YXIgZTIwMCA9IHRoZW1lZCh7XG4gICAgbGlnaHQ6IFwiYm94LXNoYWRvdzogMCA0cHggOHB4IC0ycHggXCIgKyBjb2xvcnMuTjUwQSArIFwiLCAwIDAgMXB4IFwiICsgY29sb3JzLk42MEEgKyBcIjtcIixcbiAgICBkYXJrOiBcImJveC1zaGFkb3c6IDAgNHB4IDhweCAtMnB4IFwiICsgY29sb3JzLkRONTBBICsgXCIsIDAgMCAxcHggXCIgKyBjb2xvcnMuRE42MEEgKyBcIjtcIixcbn0pO1xuLy8gTW9kYWxzXG5leHBvcnQgdmFyIGUzMDAgPSB0aGVtZWQoe1xuICAgIGxpZ2h0OiBcImJveC1zaGFkb3c6IDAgOHB4IDE2cHggLTRweCBcIiArIGNvbG9ycy5ONTBBICsgXCIsIDAgMCAxcHggXCIgKyBjb2xvcnMuTjYwQSArIFwiO1wiLFxuICAgIGRhcms6IFwiYm94LXNoYWRvdzogMCA4cHggMTZweCAtNHB4IFwiICsgY29sb3JzLkRONTBBICsgXCIsIDAgMCAxcHggXCIgKyBjb2xvcnMuRE42MEEgKyBcIjtcIixcbn0pO1xuLy8gUGFuZWxzXG5leHBvcnQgdmFyIGU0MDAgPSB0aGVtZWQoe1xuICAgIGxpZ2h0OiBcImJveC1zaGFkb3c6IDAgMTJweCAyNHB4IC02cHggXCIgKyBjb2xvcnMuTjUwQSArIFwiLCAwIDAgMXB4IFwiICsgY29sb3JzLk42MEEgKyBcIjtcIixcbiAgICBkYXJrOiBcImJveC1zaGFkb3c6IDAgMTJweCAyNHB4IC02cHggXCIgKyBjb2xvcnMuRE41MEEgKyBcIiwgMCAwIDFweCBcIiArIGNvbG9ycy5ETjYwQSArIFwiO1wiLFxufSk7XG4vLyBGbGFnIG1lc3NhZ2VzIChub3RpZmljYXRpb25zKVxuZXhwb3J0IHZhciBlNTAwID0gdGhlbWVkKHtcbiAgICBsaWdodDogXCJib3gtc2hhZG93OiAwIDIwcHggMzJweCAtOHB4IFwiICsgY29sb3JzLk41MEEgKyBcIiwgMCAwIDFweCBcIiArIGNvbG9ycy5ONjBBICsgXCI7XCIsXG4gICAgZGFyazogXCJib3gtc2hhZG93OiAwIDIwcHggMzJweCAtOHB4IFwiICsgY29sb3JzLkRONTBBICsgXCIsIDAgMCAxcHggXCIgKyBjb2xvcnMuRE42MEEgKyBcIjtcIixcbn0pO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZWxldmF0aW9uLmpzLm1hcCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/theme/dist/esm/elevation.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/theme/dist/esm/hoc.js": /*!******************************************************!*\ !*** ./node_modules/@atlaskit/theme/dist/esm/hoc.js ***! \******************************************************/ /*! exports provided: withTheme */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"withTheme\", function() { return withTheme; });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/@atlaskit/theme/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _components_Theme__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./components/Theme */ \"./node_modules/@atlaskit/theme/dist/esm/components/Theme.js\");\n\n\n\n// Pre-executes the (global) theme and passes it as a prop to the supplied component.\n// This is useful for ensuring that the current theme is accessible as props\n// in styled-components.\nfunction withTheme(InnerComponent) {\n return function ComponentWithTheme(props) {\n return (react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_components_Theme__WEBPACK_IMPORTED_MODULE_2__[\"default\"].Consumer, null, function (tokens) { return (react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(InnerComponent, Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, props, { theme: tokens }))); }));\n };\n}\n//# sourceMappingURL=hoc.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L3RoZW1lL2Rpc3QvZXNtL2hvYy5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AYXRsYXNraXQvdGhlbWUvZGlzdC9lc20vaG9jLmpzPzkwYzYiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgX19hc3NpZ24gfSBmcm9tIFwidHNsaWJcIjtcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgVGhlbWUgZnJvbSAnLi9jb21wb25lbnRzL1RoZW1lJztcbi8vIFByZS1leGVjdXRlcyB0aGUgKGdsb2JhbCkgdGhlbWUgYW5kIHBhc3NlcyBpdCBhcyBhIHByb3AgdG8gdGhlIHN1cHBsaWVkIGNvbXBvbmVudC5cbi8vIFRoaXMgaXMgdXNlZnVsIGZvciBlbnN1cmluZyB0aGF0IHRoZSBjdXJyZW50IHRoZW1lIGlzIGFjY2Vzc2libGUgYXMgcHJvcHNcbi8vIGluIHN0eWxlZC1jb21wb25lbnRzLlxuZXhwb3J0IGZ1bmN0aW9uIHdpdGhUaGVtZShJbm5lckNvbXBvbmVudCkge1xuICAgIHJldHVybiBmdW5jdGlvbiBDb21wb25lbnRXaXRoVGhlbWUocHJvcHMpIHtcbiAgICAgICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KFRoZW1lLkNvbnN1bWVyLCBudWxsLCBmdW5jdGlvbiAodG9rZW5zKSB7IHJldHVybiAoUmVhY3QuY3JlYXRlRWxlbWVudChJbm5lckNvbXBvbmVudCwgX19hc3NpZ24oe30sIHByb3BzLCB7IHRoZW1lOiB0b2tlbnMgfSkpKTsgfSkpO1xuICAgIH07XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1ob2MuanMubWFwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/theme/dist/esm/hoc.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/theme/dist/esm/index.js": /*!********************************************************!*\ !*** ./node_modules/@atlaskit/theme/dist/esm/index.js ***! \********************************************************/ /*! exports provided: colors, colorPalettes, elevation, typography, math, getTheme, themed, AtlaskitThemeProvider, Appearance, AtlasKitThemeProvider, FLATTENED, CHANNEL, DEFAULT_THEME_MODE, THEME_MODES, borderRadius, gridSize, fontSize, fontSizeSmall, fontFamily, codeFontFamily, focusRing, noFocusRing, layers, visuallyHidden, assistive, skeletonShimmer, ResetTheme, Reset, default, withTheme, createTheme */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"AtlasKitThemeProvider\", function() { return AtlasKitThemeProvider; });\n/* harmony import */ var _colors__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./colors */ \"./node_modules/@atlaskit/theme/dist/esm/colors.js\");\n/* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, \"colors\", function() { return _colors__WEBPACK_IMPORTED_MODULE_0__; });\n/* harmony import */ var _color_palettes__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./color-palettes */ \"./node_modules/@atlaskit/theme/dist/esm/color-palettes.js\");\n/* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, \"colorPalettes\", function() { return _color_palettes__WEBPACK_IMPORTED_MODULE_1__; });\n/* harmony import */ var _elevation__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./elevation */ \"./node_modules/@atlaskit/theme/dist/esm/elevation.js\");\n/* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, \"elevation\", function() { return _elevation__WEBPACK_IMPORTED_MODULE_2__; });\n/* harmony import */ var _typography__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./typography */ \"./node_modules/@atlaskit/theme/dist/esm/typography.js\");\n/* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, \"typography\", function() { return _typography__WEBPACK_IMPORTED_MODULE_3__; });\n/* harmony import */ var _utils_math__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./utils/math */ \"./node_modules/@atlaskit/theme/dist/esm/utils/math.js\");\n/* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, \"math\", function() { return _utils_math__WEBPACK_IMPORTED_MODULE_4__; });\n/* harmony import */ var _utils_getTheme__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./utils/getTheme */ \"./node_modules/@atlaskit/theme/dist/esm/utils/getTheme.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getTheme\", function() { return _utils_getTheme__WEBPACK_IMPORTED_MODULE_5__[\"default\"]; });\n\n/* harmony import */ var _utils_themed__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./utils/themed */ \"./node_modules/@atlaskit/theme/dist/esm/utils/themed.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"themed\", function() { return _utils_themed__WEBPACK_IMPORTED_MODULE_6__[\"default\"]; });\n\n/* harmony import */ var _components_AtlaskitThemeProvider__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./components/AtlaskitThemeProvider */ \"./node_modules/@atlaskit/theme/dist/esm/components/AtlaskitThemeProvider.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AtlaskitThemeProvider\", function() { return _components_AtlaskitThemeProvider__WEBPACK_IMPORTED_MODULE_7__[\"default\"]; });\n\n/* harmony import */ var _components_Appearance__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./components/Appearance */ \"./node_modules/@atlaskit/theme/dist/esm/components/Appearance.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Appearance\", function() { return _components_Appearance__WEBPACK_IMPORTED_MODULE_8__[\"default\"]; });\n\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./constants */ \"./node_modules/@atlaskit/theme/dist/esm/constants.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"FLATTENED\", function() { return _constants__WEBPACK_IMPORTED_MODULE_9__[\"FLATTENED\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"CHANNEL\", function() { return _constants__WEBPACK_IMPORTED_MODULE_9__[\"CHANNEL\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"DEFAULT_THEME_MODE\", function() { return _constants__WEBPACK_IMPORTED_MODULE_9__[\"DEFAULT_THEME_MODE\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"THEME_MODES\", function() { return _constants__WEBPACK_IMPORTED_MODULE_9__[\"THEME_MODES\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"borderRadius\", function() { return _constants__WEBPACK_IMPORTED_MODULE_9__[\"borderRadius\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"gridSize\", function() { return _constants__WEBPACK_IMPORTED_MODULE_9__[\"gridSize\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"fontSize\", function() { return _constants__WEBPACK_IMPORTED_MODULE_9__[\"fontSize\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"fontSizeSmall\", function() { return _constants__WEBPACK_IMPORTED_MODULE_9__[\"fontSizeSmall\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"fontFamily\", function() { return _constants__WEBPACK_IMPORTED_MODULE_9__[\"fontFamily\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"codeFontFamily\", function() { return _constants__WEBPACK_IMPORTED_MODULE_9__[\"codeFontFamily\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"focusRing\", function() { return _constants__WEBPACK_IMPORTED_MODULE_9__[\"focusRing\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"noFocusRing\", function() { return _constants__WEBPACK_IMPORTED_MODULE_9__[\"noFocusRing\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"layers\", function() { return _constants__WEBPACK_IMPORTED_MODULE_9__[\"layers\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"visuallyHidden\", function() { return _constants__WEBPACK_IMPORTED_MODULE_9__[\"visuallyHidden\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"assistive\", function() { return _constants__WEBPACK_IMPORTED_MODULE_9__[\"assistive\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"skeletonShimmer\", function() { return _constants__WEBPACK_IMPORTED_MODULE_9__[\"skeletonShimmer\"]; });\n\n/* harmony import */ var _components_Reset__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./components/Reset */ \"./node_modules/@atlaskit/theme/dist/esm/components/Reset.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ResetTheme\", function() { return _components_Reset__WEBPACK_IMPORTED_MODULE_10__[\"ResetTheme\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Reset\", function() { return _components_Reset__WEBPACK_IMPORTED_MODULE_10__[\"Reset\"]; });\n\n/* harmony import */ var _components_Theme__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./components/Theme */ \"./node_modules/@atlaskit/theme/dist/esm/components/Theme.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _components_Theme__WEBPACK_IMPORTED_MODULE_11__[\"default\"]; });\n\n/* harmony import */ var _hoc__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./hoc */ \"./node_modules/@atlaskit/theme/dist/esm/hoc.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"withTheme\", function() { return _hoc__WEBPACK_IMPORTED_MODULE_12__[\"withTheme\"]; });\n\n/* harmony import */ var _utils_createTheme__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./utils/createTheme */ \"./node_modules/@atlaskit/theme/dist/esm/utils/createTheme.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createTheme\", function() { return _utils_createTheme__WEBPACK_IMPORTED_MODULE_13__[\"createTheme\"]; });\n\n\n\n\n\n\n\n\n\n\n\n// backwards-compatible export with old Atlaskit case\nvar AtlasKitThemeProvider = _components_AtlaskitThemeProvider__WEBPACK_IMPORTED_MODULE_7__[\"default\"];\n\n// New API\n\n\n\n\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L3RoZW1lL2Rpc3QvZXNtL2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BhdGxhc2tpdC90aGVtZS9kaXN0L2VzbS9pbmRleC5qcz82ZjQ0Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGNvbG9ycyBmcm9tICcuL2NvbG9ycyc7XG5pbXBvcnQgKiBhcyBjb2xvclBhbGV0dGVzIGZyb20gJy4vY29sb3ItcGFsZXR0ZXMnO1xuaW1wb3J0ICogYXMgZWxldmF0aW9uIGZyb20gJy4vZWxldmF0aW9uJztcbmltcG9ydCAqIGFzIHR5cG9ncmFwaHkgZnJvbSAnLi90eXBvZ3JhcGh5JztcbmltcG9ydCAqIGFzIG1hdGggZnJvbSAnLi91dGlscy9tYXRoJztcbmltcG9ydCBnZXRUaGVtZSBmcm9tICcuL3V0aWxzL2dldFRoZW1lJztcbmltcG9ydCB0aGVtZWQgZnJvbSAnLi91dGlscy90aGVtZWQnO1xuaW1wb3J0IEF0bGFza2l0VGhlbWVQcm92aWRlciBmcm9tICcuL2NvbXBvbmVudHMvQXRsYXNraXRUaGVtZVByb3ZpZGVyJztcbmV4cG9ydCB7IGNvbG9ycywgY29sb3JQYWxldHRlcywgZWxldmF0aW9uLCB0eXBvZ3JhcGh5LCBtYXRoLCBnZXRUaGVtZSwgdGhlbWVkLCBBdGxhc2tpdFRoZW1lUHJvdmlkZXIsIH07XG5leHBvcnQgeyBkZWZhdWx0IGFzIEFwcGVhcmFuY2UgfSBmcm9tICcuL2NvbXBvbmVudHMvQXBwZWFyYW5jZSc7XG4vLyBiYWNrd2FyZHMtY29tcGF0aWJsZSBleHBvcnQgd2l0aCBvbGQgQXRsYXNraXQgY2FzZVxuZXhwb3J0IHZhciBBdGxhc0tpdFRoZW1lUHJvdmlkZXIgPSBBdGxhc2tpdFRoZW1lUHJvdmlkZXI7XG5leHBvcnQgKiBmcm9tICcuL2NvbnN0YW50cyc7XG4vLyBOZXcgQVBJXG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvUmVzZXQnO1xuZXhwb3J0IHsgZGVmYXVsdCB9IGZyb20gJy4vY29tcG9uZW50cy9UaGVtZSc7XG5leHBvcnQgKiBmcm9tICcuL2hvYyc7XG5leHBvcnQgKiBmcm9tICcuL3V0aWxzL2NyZWF0ZVRoZW1lJztcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmpzLm1hcCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/theme/dist/esm/index.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/theme/dist/esm/typography.js": /*!*************************************************************!*\ !*** ./node_modules/@atlaskit/theme/dist/esm/typography.js ***! \*************************************************************/ /*! exports provided: headingSizes, h900, h800, h700, h600, h500, h400, h300, h200, h100 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"headingSizes\", function() { return headingSizes; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"h900\", function() { return h900; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"h800\", function() { return h800; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"h700\", function() { return h700; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"h600\", function() { return h600; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"h500\", function() { return h500; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"h400\", function() { return h400; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"h300\", function() { return h300; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"h200\", function() { return h200; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"h100\", function() { return h100; });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/@atlaskit/theme/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! styled-components */ \"./node_modules/styled-components/dist/styled-components.browser.esm.js\");\n/* harmony import */ var _colors__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./colors */ \"./node_modules/@atlaskit/theme/dist/esm/colors.js\");\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./constants */ \"./node_modules/@atlaskit/theme/dist/esm/constants.js\");\n\n\n\n\nvar baseHeading = function (size, lineHeight) { return \"\\n font-size: \" + size / Object(_constants__WEBPACK_IMPORTED_MODULE_3__[\"fontSize\"])() + \"em;\\n font-style: inherit;\\n line-height: \" + lineHeight / size + \";\\n\"; };\nvar headingSizes = {\n h900: {\n size: 35,\n lineHeight: 40,\n },\n h800: {\n size: 29,\n lineHeight: 32,\n },\n h700: {\n size: 24,\n lineHeight: 28,\n },\n h600: {\n size: 20,\n lineHeight: 24,\n },\n h500: {\n size: 16,\n lineHeight: 20,\n },\n h400: {\n size: 14,\n lineHeight: 16,\n },\n h300: {\n size: 12,\n lineHeight: 16,\n },\n h200: {\n size: 12,\n lineHeight: 16,\n },\n h100: {\n size: 11,\n lineHeight: 16,\n },\n};\nvar h900 = function () { return Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"css\"])(templateObject_1 || (templateObject_1 = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__makeTemplateObject\"])([\"\\n \", \"\\n color: \", \";\\n font-weight: 500;\\n letter-spacing: -0.01em;\\n margin-top: \", \"px;\\n\"], [\"\\n \", \"\\n color: \", \";\\n font-weight: 500;\\n letter-spacing: -0.01em;\\n margin-top: \", \"px;\\n\"])), baseHeading(headingSizes.h900.size, headingSizes.h900.lineHeight), _colors__WEBPACK_IMPORTED_MODULE_2__[\"heading\"], Object(_constants__WEBPACK_IMPORTED_MODULE_3__[\"gridSize\"])() * 6.5); };\nvar h800 = function () { return Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"css\"])(templateObject_2 || (templateObject_2 = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__makeTemplateObject\"])([\"\\n \", \"\\n color: \", \";\\n font-weight: 600;\\n letter-spacing: -0.01em;\\n margin-top: \", \"px;\\n\"], [\"\\n \", \"\\n color: \", \";\\n font-weight: 600;\\n letter-spacing: -0.01em;\\n margin-top: \", \"px;\\n\"])), baseHeading(headingSizes.h800.size, headingSizes.h800.lineHeight), _colors__WEBPACK_IMPORTED_MODULE_2__[\"heading\"], Object(_constants__WEBPACK_IMPORTED_MODULE_3__[\"gridSize\"])() * 5); };\nvar h700 = function () { return Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"css\"])(templateObject_3 || (templateObject_3 = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__makeTemplateObject\"])([\"\\n \", \"\\n color: \", \";\\n font-weight: 500;\\n letter-spacing: -0.01em;\\n margin-top: \", \"px;\\n\"], [\"\\n \", \"\\n color: \", \";\\n font-weight: 500;\\n letter-spacing: -0.01em;\\n margin-top: \", \"px;\\n\"])), baseHeading(headingSizes.h700.size, headingSizes.h700.lineHeight), _colors__WEBPACK_IMPORTED_MODULE_2__[\"heading\"], Object(_constants__WEBPACK_IMPORTED_MODULE_3__[\"gridSize\"])() * 5); };\nvar h600 = function () { return Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"css\"])(templateObject_4 || (templateObject_4 = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__makeTemplateObject\"])([\"\\n \", \"\\n color: \", \";\\n font-weight: 500;\\n letter-spacing: -0.008em;\\n margin-top: \", \"px;\\n\"], [\"\\n \", \"\\n color: \", \";\\n font-weight: 500;\\n letter-spacing: -0.008em;\\n margin-top: \", \"px;\\n\"])), baseHeading(headingSizes.h600.size, headingSizes.h600.lineHeight), _colors__WEBPACK_IMPORTED_MODULE_2__[\"heading\"], Object(_constants__WEBPACK_IMPORTED_MODULE_3__[\"gridSize\"])() * 3.5); };\nvar h500 = function () { return Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"css\"])(templateObject_5 || (templateObject_5 = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__makeTemplateObject\"])([\"\\n \", \"\\n color: \", \";\\n font-weight: 600;\\n letter-spacing: -0.006em;\\n margin-top: \", \"px;\\n\"], [\"\\n \", \"\\n color: \", \";\\n font-weight: 600;\\n letter-spacing: -0.006em;\\n margin-top: \", \"px;\\n\"])), baseHeading(headingSizes.h500.size, headingSizes.h500.lineHeight), _colors__WEBPACK_IMPORTED_MODULE_2__[\"heading\"], Object(_constants__WEBPACK_IMPORTED_MODULE_3__[\"gridSize\"])() * 3); };\nvar h400 = function () { return Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"css\"])(templateObject_6 || (templateObject_6 = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__makeTemplateObject\"])([\"\\n \", \"\\n color: \", \";\\n font-weight: 600;\\n letter-spacing: -0.003em;\\n margin-top: \", \"px;\\n\"], [\"\\n \", \"\\n color: \", \";\\n font-weight: 600;\\n letter-spacing: -0.003em;\\n margin-top: \", \"px;\\n\"])), baseHeading(headingSizes.h400.size, headingSizes.h400.lineHeight), _colors__WEBPACK_IMPORTED_MODULE_2__[\"heading\"], Object(_constants__WEBPACK_IMPORTED_MODULE_3__[\"gridSize\"])() * 2); };\nvar h300 = function () { return Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"css\"])(templateObject_7 || (templateObject_7 = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__makeTemplateObject\"])([\"\\n \", \"\\n color: \", \";\\n font-weight: 600;\\n margin-top: \", \"px;\\n text-transform: uppercase;\\n\"], [\"\\n \", \"\\n color: \", \";\\n font-weight: 600;\\n margin-top: \", \"px;\\n text-transform: uppercase;\\n\"])), baseHeading(headingSizes.h300.size, headingSizes.h300.lineHeight), _colors__WEBPACK_IMPORTED_MODULE_2__[\"heading\"], Object(_constants__WEBPACK_IMPORTED_MODULE_3__[\"gridSize\"])() * 2.5); };\nvar h200 = function () { return Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"css\"])(templateObject_8 || (templateObject_8 = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__makeTemplateObject\"])([\"\\n \", \"\\n color: \", \";\\n font-weight: 600;\\n margin-top: \", \"px;\\n\"], [\"\\n \", \"\\n color: \", \";\\n font-weight: 600;\\n margin-top: \", \"px;\\n\"])), baseHeading(headingSizes.h200.size, headingSizes.h200.lineHeight), _colors__WEBPACK_IMPORTED_MODULE_2__[\"subtleHeading\"], Object(_constants__WEBPACK_IMPORTED_MODULE_3__[\"gridSize\"])() * 2); };\nvar h100 = function () { return Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"css\"])(templateObject_9 || (templateObject_9 = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__makeTemplateObject\"])([\"\\n \", \"\\n color: \", \";\\n font-weight: 700;\\n margin-top: \", \"px;\\n\"], [\"\\n \", \"\\n color: \", \";\\n font-weight: 700;\\n margin-top: \", \"px;\\n\"])), baseHeading(headingSizes.h100.size, headingSizes.h100.lineHeight), _colors__WEBPACK_IMPORTED_MODULE_2__[\"subtleHeading\"], Object(_constants__WEBPACK_IMPORTED_MODULE_3__[\"gridSize\"])() * 2); };\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8, templateObject_9;\n//# sourceMappingURL=typography.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L3RoZW1lL2Rpc3QvZXNtL3R5cG9ncmFwaHkuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L3RoZW1lL2Rpc3QvZXNtL3R5cG9ncmFwaHkuanM/NDNlMiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBfX21ha2VUZW1wbGF0ZU9iamVjdCB9IGZyb20gXCJ0c2xpYlwiO1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0ICogYXMgY29sb3JzIGZyb20gJy4vY29sb3JzJztcbmltcG9ydCB7IGdyaWRTaXplLCBmb250U2l6ZSB9IGZyb20gJy4vY29uc3RhbnRzJztcbnZhciBiYXNlSGVhZGluZyA9IGZ1bmN0aW9uIChzaXplLCBsaW5lSGVpZ2h0KSB7IHJldHVybiBcIlxcbiAgZm9udC1zaXplOiBcIiArIHNpemUgLyBmb250U2l6ZSgpICsgXCJlbTtcXG4gIGZvbnQtc3R5bGU6IGluaGVyaXQ7XFxuICBsaW5lLWhlaWdodDogXCIgKyBsaW5lSGVpZ2h0IC8gc2l6ZSArIFwiO1xcblwiOyB9O1xuZXhwb3J0IHZhciBoZWFkaW5nU2l6ZXMgPSB7XG4gICAgaDkwMDoge1xuICAgICAgICBzaXplOiAzNSxcbiAgICAgICAgbGluZUhlaWdodDogNDAsXG4gICAgfSxcbiAgICBoODAwOiB7XG4gICAgICAgIHNpemU6IDI5LFxuICAgICAgICBsaW5lSGVpZ2h0OiAzMixcbiAgICB9LFxuICAgIGg3MDA6IHtcbiAgICAgICAgc2l6ZTogMjQsXG4gICAgICAgIGxpbmVIZWlnaHQ6IDI4LFxuICAgIH0sXG4gICAgaDYwMDoge1xuICAgICAgICBzaXplOiAyMCxcbiAgICAgICAgbGluZUhlaWdodDogMjQsXG4gICAgfSxcbiAgICBoNTAwOiB7XG4gICAgICAgIHNpemU6IDE2LFxuICAgICAgICBsaW5lSGVpZ2h0OiAyMCxcbiAgICB9LFxuICAgIGg0MDA6IHtcbiAgICAgICAgc2l6ZTogMTQsXG4gICAgICAgIGxpbmVIZWlnaHQ6IDE2LFxuICAgIH0sXG4gICAgaDMwMDoge1xuICAgICAgICBzaXplOiAxMixcbiAgICAgICAgbGluZUhlaWdodDogMTYsXG4gICAgfSxcbiAgICBoMjAwOiB7XG4gICAgICAgIHNpemU6IDEyLFxuICAgICAgICBsaW5lSGVpZ2h0OiAxNixcbiAgICB9LFxuICAgIGgxMDA6IHtcbiAgICAgICAgc2l6ZTogMTEsXG4gICAgICAgIGxpbmVIZWlnaHQ6IDE2LFxuICAgIH0sXG59O1xuZXhwb3J0IHZhciBoOTAwID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gY3NzKHRlbXBsYXRlT2JqZWN0XzEgfHwgKHRlbXBsYXRlT2JqZWN0XzEgPSBfX21ha2VUZW1wbGF0ZU9iamVjdChbXCJcXG4gIFwiLCBcIlxcbiAgY29sb3I6IFwiLCBcIjtcXG4gIGZvbnQtd2VpZ2h0OiA1MDA7XFxuICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTtcXG4gIG1hcmdpbi10b3A6IFwiLCBcInB4O1xcblwiXSwgW1wiXFxuICBcIiwgXCJcXG4gIGNvbG9yOiBcIiwgXCI7XFxuICBmb250LXdlaWdodDogNTAwO1xcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07XFxuICBtYXJnaW4tdG9wOiBcIiwgXCJweDtcXG5cIl0pKSwgYmFzZUhlYWRpbmcoaGVhZGluZ1NpemVzLmg5MDAuc2l6ZSwgaGVhZGluZ1NpemVzLmg5MDAubGluZUhlaWdodCksIGNvbG9ycy5oZWFkaW5nLCBncmlkU2l6ZSgpICogNi41KTsgfTtcbmV4cG9ydCB2YXIgaDgwMCA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGNzcyh0ZW1wbGF0ZU9iamVjdF8yIHx8ICh0ZW1wbGF0ZU9iamVjdF8yID0gX19tYWtlVGVtcGxhdGVPYmplY3QoW1wiXFxuICBcIiwgXCJcXG4gIGNvbG9yOiBcIiwgXCI7XFxuICBmb250LXdlaWdodDogNjAwO1xcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07XFxuICBtYXJnaW4tdG9wOiBcIiwgXCJweDtcXG5cIl0sIFtcIlxcbiAgXCIsIFwiXFxuICBjb2xvcjogXCIsIFwiO1xcbiAgZm9udC13ZWlnaHQ6IDYwMDtcXG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtO1xcbiAgbWFyZ2luLXRvcDogXCIsIFwicHg7XFxuXCJdKSksIGJhc2VIZWFkaW5nKGhlYWRpbmdTaXplcy5oODAwLnNpemUsIGhlYWRpbmdTaXplcy5oODAwLmxpbmVIZWlnaHQpLCBjb2xvcnMuaGVhZGluZywgZ3JpZFNpemUoKSAqIDUpOyB9O1xuZXhwb3J0IHZhciBoNzAwID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gY3NzKHRlbXBsYXRlT2JqZWN0XzMgfHwgKHRlbXBsYXRlT2JqZWN0XzMgPSBfX21ha2VUZW1wbGF0ZU9iamVjdChbXCJcXG4gIFwiLCBcIlxcbiAgY29sb3I6IFwiLCBcIjtcXG4gIGZvbnQtd2VpZ2h0OiA1MDA7XFxuICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTtcXG4gIG1hcmdpbi10b3A6IFwiLCBcInB4O1xcblwiXSwgW1wiXFxuICBcIiwgXCJcXG4gIGNvbG9yOiBcIiwgXCI7XFxuICBmb250LXdlaWdodDogNTAwO1xcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07XFxuICBtYXJnaW4tdG9wOiBcIiwgXCJweDtcXG5cIl0pKSwgYmFzZUhlYWRpbmcoaGVhZGluZ1NpemVzLmg3MDAuc2l6ZSwgaGVhZGluZ1NpemVzLmg3MDAubGluZUhlaWdodCksIGNvbG9ycy5oZWFkaW5nLCBncmlkU2l6ZSgpICogNSk7IH07XG5leHBvcnQgdmFyIGg2MDAgPSBmdW5jdGlvbiAoKSB7IHJldHVybiBjc3ModGVtcGxhdGVPYmplY3RfNCB8fCAodGVtcGxhdGVPYmplY3RfNCA9IF9fbWFrZVRlbXBsYXRlT2JqZWN0KFtcIlxcbiAgXCIsIFwiXFxuICBjb2xvcjogXCIsIFwiO1xcbiAgZm9udC13ZWlnaHQ6IDUwMDtcXG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMDhlbTtcXG4gIG1hcmdpbi10b3A6IFwiLCBcInB4O1xcblwiXSwgW1wiXFxuICBcIiwgXCJcXG4gIGNvbG9yOiBcIiwgXCI7XFxuICBmb250LXdlaWdodDogNTAwO1xcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAwOGVtO1xcbiAgbWFyZ2luLXRvcDogXCIsIFwicHg7XFxuXCJdKSksIGJhc2VIZWFkaW5nKGhlYWRpbmdTaXplcy5oNjAwLnNpemUsIGhlYWRpbmdTaXplcy5oNjAwLmxpbmVIZWlnaHQpLCBjb2xvcnMuaGVhZGluZywgZ3JpZFNpemUoKSAqIDMuNSk7IH07XG5leHBvcnQgdmFyIGg1MDAgPSBmdW5jdGlvbiAoKSB7IHJldHVybiBjc3ModGVtcGxhdGVPYmplY3RfNSB8fCAodGVtcGxhdGVPYmplY3RfNSA9IF9fbWFrZVRlbXBsYXRlT2JqZWN0KFtcIlxcbiAgXCIsIFwiXFxuICBjb2xvcjogXCIsIFwiO1xcbiAgZm9udC13ZWlnaHQ6IDYwMDtcXG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMDZlbTtcXG4gIG1hcmdpbi10b3A6IFwiLCBcInB4O1xcblwiXSwgW1wiXFxuICBcIiwgXCJcXG4gIGNvbG9yOiBcIiwgXCI7XFxuICBmb250LXdlaWdodDogNjAwO1xcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAwNmVtO1xcbiAgbWFyZ2luLXRvcDogXCIsIFwicHg7XFxuXCJdKSksIGJhc2VIZWFkaW5nKGhlYWRpbmdTaXplcy5oNTAwLnNpemUsIGhlYWRpbmdTaXplcy5oNTAwLmxpbmVIZWlnaHQpLCBjb2xvcnMuaGVhZGluZywgZ3JpZFNpemUoKSAqIDMpOyB9O1xuZXhwb3J0IHZhciBoNDAwID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gY3NzKHRlbXBsYXRlT2JqZWN0XzYgfHwgKHRlbXBsYXRlT2JqZWN0XzYgPSBfX21ha2VUZW1wbGF0ZU9iamVjdChbXCJcXG4gIFwiLCBcIlxcbiAgY29sb3I6IFwiLCBcIjtcXG4gIGZvbnQtd2VpZ2h0OiA2MDA7XFxuICBsZXR0ZXItc3BhY2luZzogLTAuMDAzZW07XFxuICBtYXJnaW4tdG9wOiBcIiwgXCJweDtcXG5cIl0sIFtcIlxcbiAgXCIsIFwiXFxuICBjb2xvcjogXCIsIFwiO1xcbiAgZm9udC13ZWlnaHQ6IDYwMDtcXG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMDNlbTtcXG4gIG1hcmdpbi10b3A6IFwiLCBcInB4O1xcblwiXSkpLCBiYXNlSGVhZGluZyhoZWFkaW5nU2l6ZXMuaDQwMC5zaXplLCBoZWFkaW5nU2l6ZXMuaDQwMC5saW5lSGVpZ2h0KSwgY29sb3JzLmhlYWRpbmcsIGdyaWRTaXplKCkgKiAyKTsgfTtcbmV4cG9ydCB2YXIgaDMwMCA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGNzcyh0ZW1wbGF0ZU9iamVjdF83IHx8ICh0ZW1wbGF0ZU9iamVjdF83ID0gX19tYWtlVGVtcGxhdGVPYmplY3QoW1wiXFxuICBcIiwgXCJcXG4gIGNvbG9yOiBcIiwgXCI7XFxuICBmb250LXdlaWdodDogNjAwO1xcbiAgbWFyZ2luLXRvcDogXCIsIFwicHg7XFxuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xcblwiXSwgW1wiXFxuICBcIiwgXCJcXG4gIGNvbG9yOiBcIiwgXCI7XFxuICBmb250LXdlaWdodDogNjAwO1xcbiAgbWFyZ2luLXRvcDogXCIsIFwicHg7XFxuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xcblwiXSkpLCBiYXNlSGVhZGluZyhoZWFkaW5nU2l6ZXMuaDMwMC5zaXplLCBoZWFkaW5nU2l6ZXMuaDMwMC5saW5lSGVpZ2h0KSwgY29sb3JzLmhlYWRpbmcsIGdyaWRTaXplKCkgKiAyLjUpOyB9O1xuZXhwb3J0IHZhciBoMjAwID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gY3NzKHRlbXBsYXRlT2JqZWN0XzggfHwgKHRlbXBsYXRlT2JqZWN0XzggPSBfX21ha2VUZW1wbGF0ZU9iamVjdChbXCJcXG4gIFwiLCBcIlxcbiAgY29sb3I6IFwiLCBcIjtcXG4gIGZvbnQtd2VpZ2h0OiA2MDA7XFxuICBtYXJnaW4tdG9wOiBcIiwgXCJweDtcXG5cIl0sIFtcIlxcbiAgXCIsIFwiXFxuICBjb2xvcjogXCIsIFwiO1xcbiAgZm9udC13ZWlnaHQ6IDYwMDtcXG4gIG1hcmdpbi10b3A6IFwiLCBcInB4O1xcblwiXSkpLCBiYXNlSGVhZGluZyhoZWFkaW5nU2l6ZXMuaDIwMC5zaXplLCBoZWFkaW5nU2l6ZXMuaDIwMC5saW5lSGVpZ2h0KSwgY29sb3JzLnN1YnRsZUhlYWRpbmcsIGdyaWRTaXplKCkgKiAyKTsgfTtcbmV4cG9ydCB2YXIgaDEwMCA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGNzcyh0ZW1wbGF0ZU9iamVjdF85IHx8ICh0ZW1wbGF0ZU9iamVjdF85ID0gX19tYWtlVGVtcGxhdGVPYmplY3QoW1wiXFxuICBcIiwgXCJcXG4gIGNvbG9yOiBcIiwgXCI7XFxuICBmb250LXdlaWdodDogNzAwO1xcbiAgbWFyZ2luLXRvcDogXCIsIFwicHg7XFxuXCJdLCBbXCJcXG4gIFwiLCBcIlxcbiAgY29sb3I6IFwiLCBcIjtcXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XFxuICBtYXJnaW4tdG9wOiBcIiwgXCJweDtcXG5cIl0pKSwgYmFzZUhlYWRpbmcoaGVhZGluZ1NpemVzLmgxMDAuc2l6ZSwgaGVhZGluZ1NpemVzLmgxMDAubGluZUhlaWdodCksIGNvbG9ycy5zdWJ0bGVIZWFkaW5nLCBncmlkU2l6ZSgpICogMik7IH07XG52YXIgdGVtcGxhdGVPYmplY3RfMSwgdGVtcGxhdGVPYmplY3RfMiwgdGVtcGxhdGVPYmplY3RfMywgdGVtcGxhdGVPYmplY3RfNCwgdGVtcGxhdGVPYmplY3RfNSwgdGVtcGxhdGVPYmplY3RfNiwgdGVtcGxhdGVPYmplY3RfNywgdGVtcGxhdGVPYmplY3RfOCwgdGVtcGxhdGVPYmplY3RfOTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXR5cG9ncmFwaHkuanMubWFwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/theme/dist/esm/typography.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/theme/dist/esm/utils/createTheme.js": /*!********************************************************************!*\ !*** ./node_modules/@atlaskit/theme/dist/esm/utils/createTheme.js ***! \********************************************************************/ /*! exports provided: createTheme */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createTheme\", function() { return createTheme; });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/@atlaskit/theme/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n\n\n/*\ncreateTheme is used to create a set of Providers and Consumers for theming components.\n- Takes a default theme function; this theme function gets a set of props, and returns tokens\n based on those props. An example of this default theme function is one that produces the standard\n appearance of the component\n- Returns two things - a Provider that allow for additional themes to be applied, and a Consumer\n that can get the current theme and fetch it.\n*/\nfunction createTheme(defaultGetTokens) {\n var emptyThemeFn = function (getTokens, props) {\n return getTokens(props);\n };\n /* Internally, Theme uses React Context, with internal providers and consumers.\n The React Context passes only a function that gets props, and turns them into tokens. This\n function gets mixed as more Providers with their own themes are added. This mixed function\n is ultimately picked up by Consumers, which implement a context consumer internally to fetch\n the theme. */\n var ThemeContext = Object(react__WEBPACK_IMPORTED_MODULE_1__[\"createContext\"])(defaultGetTokens);\n // The Theme Consumer takes a function as its child - this function takes tokens, and the\n // return value is generally a set of nodes with the tokens applied appropriately.\n function Consumer(props) {\n var children = props.children, themeProps = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__rest\"])(props, [\"children\"]);\n var theme = Object(react__WEBPACK_IMPORTED_MODULE_1__[\"useContext\"])(ThemeContext);\n var themeFn = theme || emptyThemeFn;\n // @ts-ignore See issue for more info: https://github.com/Microsoft/TypeScript/issues/10727\n // Argument of type 'Pick ReactNode; }, Exclude>' is not assignable to parameter of type 'ThemeProps'.ts(2345)\n var tokens = themeFn(themeProps);\n // We add a fragment to ensure we don't break people upgrading.\n // Previously they may have been able to pass in undefined without things blowing up.\n return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_1___default.a.Fragment, null, children(tokens));\n }\n /* The Theme Provider takes regular nodes as its child, but also takes a *theme function*\n - The theme function takes a set of props, as well as a function (getTokens) that can\n turn props into tokens.\n - The getTokens function isn't called immediately - instead the props are passed\n through a mix of parent theming functions\n Children of this provider will receive this mixed theme\n */\n function Provider(props) {\n var themeFn = Object(react__WEBPACK_IMPORTED_MODULE_1__[\"useContext\"])(ThemeContext);\n var valueFn = props.value || emptyThemeFn;\n var mixedFn = Object(react__WEBPACK_IMPORTED_MODULE_1__[\"useCallback\"])(function (themeProps) { return valueFn(themeFn, themeProps); }, [themeFn, valueFn]);\n return (react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(ThemeContext.Provider, { value: mixedFn }, props.children));\n }\n return { Consumer: Consumer, Provider: Provider };\n}\n//# sourceMappingURL=createTheme.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L3RoZW1lL2Rpc3QvZXNtL3V0aWxzL2NyZWF0ZVRoZW1lLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BhdGxhc2tpdC90aGVtZS9kaXN0L2VzbS91dGlscy9jcmVhdGVUaGVtZS5qcz9mYmRhIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IF9fcmVzdCB9IGZyb20gXCJ0c2xpYlwiO1xuaW1wb3J0IFJlYWN0LCB7IGNyZWF0ZUNvbnRleHQsIHVzZUNvbnRleHQsIHVzZUNhbGxiYWNrLCB9IGZyb20gJ3JlYWN0Jztcbi8qXG5jcmVhdGVUaGVtZSBpcyB1c2VkIHRvIGNyZWF0ZSBhIHNldCBvZiBQcm92aWRlcnMgYW5kIENvbnN1bWVycyBmb3IgdGhlbWluZyBjb21wb25lbnRzLlxuLSBUYWtlcyBhIGRlZmF1bHQgdGhlbWUgZnVuY3Rpb247IHRoaXMgdGhlbWUgZnVuY3Rpb24gZ2V0cyBhIHNldCBvZiBwcm9wcywgYW5kIHJldHVybnMgdG9rZW5zXG4gICBiYXNlZCBvbiB0aG9zZSBwcm9wcy4gQW4gZXhhbXBsZSBvZiB0aGlzIGRlZmF1bHQgdGhlbWUgZnVuY3Rpb24gaXMgb25lIHRoYXQgcHJvZHVjZXMgdGhlIHN0YW5kYXJkXG4gICBhcHBlYXJhbmNlIG9mIHRoZSBjb21wb25lbnRcbi0gUmV0dXJucyB0d28gdGhpbmdzIC0gYSBQcm92aWRlciB0aGF0IGFsbG93IGZvciBhZGRpdGlvbmFsIHRoZW1lcyB0byBiZSBhcHBsaWVkLCBhbmQgYSBDb25zdW1lclxuICAgdGhhdCBjYW4gZ2V0IHRoZSBjdXJyZW50IHRoZW1lIGFuZCBmZXRjaCBpdC5cbiovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlVGhlbWUoZGVmYXVsdEdldFRva2Vucykge1xuICAgIHZhciBlbXB0eVRoZW1lRm4gPSBmdW5jdGlvbiAoZ2V0VG9rZW5zLCBwcm9wcykge1xuICAgICAgICByZXR1cm4gZ2V0VG9rZW5zKHByb3BzKTtcbiAgICB9O1xuICAgIC8qIEludGVybmFsbHksIFRoZW1lIHVzZXMgUmVhY3QgQ29udGV4dCwgd2l0aCBpbnRlcm5hbCBwcm92aWRlcnMgYW5kIGNvbnN1bWVycy5cbiAgICAgICBUaGUgUmVhY3QgQ29udGV4dCBwYXNzZXMgb25seSBhIGZ1bmN0aW9uIHRoYXQgZ2V0cyBwcm9wcywgYW5kIHR1cm5zIHRoZW0gaW50byB0b2tlbnMuIFRoaXNcbiAgICAgICAgICBmdW5jdGlvbiBnZXRzIG1peGVkIGFzIG1vcmUgUHJvdmlkZXJzIHdpdGggdGhlaXIgb3duIHRoZW1lcyBhcmUgYWRkZWQuIFRoaXMgbWl4ZWQgZnVuY3Rpb25cbiAgICAgICAgICBpcyB1bHRpbWF0ZWx5IHBpY2tlZCB1cCBieSBDb25zdW1lcnMsIHdoaWNoIGltcGxlbWVudCBhIGNvbnRleHQgY29uc3VtZXIgaW50ZXJuYWxseSB0byBmZXRjaFxuICAgICAgICAgIHRoZSB0aGVtZS4gKi9cbiAgICB2YXIgVGhlbWVDb250ZXh0ID0gY3JlYXRlQ29udGV4dChkZWZhdWx0R2V0VG9rZW5zKTtcbiAgICAvLyBUaGUgVGhlbWUgQ29uc3VtZXIgdGFrZXMgYSBmdW5jdGlvbiBhcyBpdHMgY2hpbGQgLSB0aGlzIGZ1bmN0aW9uIHRha2VzIHRva2VucywgYW5kIHRoZVxuICAgIC8vIHJldHVybiB2YWx1ZSBpcyBnZW5lcmFsbHkgYSBzZXQgb2Ygbm9kZXMgd2l0aCB0aGUgdG9rZW5zIGFwcGxpZWQgYXBwcm9wcmlhdGVseS5cbiAgICBmdW5jdGlvbiBDb25zdW1lcihwcm9wcykge1xuICAgICAgICB2YXIgY2hpbGRyZW4gPSBwcm9wcy5jaGlsZHJlbiwgdGhlbWVQcm9wcyA9IF9fcmVzdChwcm9wcywgW1wiY2hpbGRyZW5cIl0pO1xuICAgICAgICB2YXIgdGhlbWUgPSB1c2VDb250ZXh0KFRoZW1lQ29udGV4dCk7XG4gICAgICAgIHZhciB0aGVtZUZuID0gdGhlbWUgfHwgZW1wdHlUaGVtZUZuO1xuICAgICAgICAvLyBAdHMtaWdub3JlIFNlZSBpc3N1ZSBmb3IgbW9yZSBpbmZvOiBodHRwczovL2dpdGh1Yi5jb20vTWljcm9zb2Z0L1R5cGVTY3JpcHQvaXNzdWVzLzEwNzI3XG4gICAgICAgIC8vIEFyZ3VtZW50IG9mIHR5cGUgJ1BpY2s8VGhlbWVQcm9wcyAmIHsgY2hpbGRyZW46ICh0b2tlbnM6IFRoZW1lVG9rZW5zKSA9PiBSZWFjdE5vZGU7IH0sIEV4Y2x1ZGU8a2V5b2YgVGhlbWVQcm9wcywgXCJjaGlsZHJlblwiPj4nIGlzIG5vdCBhc3NpZ25hYmxlIHRvIHBhcmFtZXRlciBvZiB0eXBlICdUaGVtZVByb3BzJy50cygyMzQ1KVxuICAgICAgICB2YXIgdG9rZW5zID0gdGhlbWVGbih0aGVtZVByb3BzKTtcbiAgICAgICAgLy8gV2UgYWRkIGEgZnJhZ21lbnQgdG8gZW5zdXJlIHdlIGRvbid0IGJyZWFrIHBlb3BsZSB1cGdyYWRpbmcuXG4gICAgICAgIC8vIFByZXZpb3VzbHkgdGhleSBtYXkgaGF2ZSBiZWVuIGFibGUgdG8gcGFzcyBpbiB1bmRlZmluZWQgd2l0aG91dCB0aGluZ3MgYmxvd2luZyB1cC5cbiAgICAgICAgcmV0dXJuIFJlYWN0LmNyZWF0ZUVsZW1lbnQoUmVhY3QuRnJhZ21lbnQsIG51bGwsIGNoaWxkcmVuKHRva2VucykpO1xuICAgIH1cbiAgICAvKiBUaGUgVGhlbWUgUHJvdmlkZXIgdGFrZXMgcmVndWxhciBub2RlcyBhcyBpdHMgY2hpbGQsIGJ1dCBhbHNvIHRha2VzIGEgKnRoZW1lIGZ1bmN0aW9uKlxuICAgICAgIC0gVGhlIHRoZW1lIGZ1bmN0aW9uIHRha2VzIGEgc2V0IG9mIHByb3BzLCBhcyB3ZWxsIGFzIGEgZnVuY3Rpb24gKGdldFRva2VucykgdGhhdCBjYW5cbiAgICAgICAgICB0dXJuIHByb3BzIGludG8gdG9rZW5zLlxuICAgICAgIC0gVGhlIGdldFRva2VucyBmdW5jdGlvbiBpc24ndCBjYWxsZWQgaW1tZWRpYXRlbHkgLSBpbnN0ZWFkIHRoZSBwcm9wcyBhcmUgcGFzc2VkXG4gICAgICAgICAgdGhyb3VnaCBhIG1peCBvZiBwYXJlbnQgdGhlbWluZyBmdW5jdGlvbnNcbiAgICAgICBDaGlsZHJlbiBvZiB0aGlzIHByb3ZpZGVyIHdpbGwgcmVjZWl2ZSB0aGlzIG1peGVkIHRoZW1lXG4gICAgKi9cbiAgICBmdW5jdGlvbiBQcm92aWRlcihwcm9wcykge1xuICAgICAgICB2YXIgdGhlbWVGbiA9IHVzZUNvbnRleHQoVGhlbWVDb250ZXh0KTtcbiAgICAgICAgdmFyIHZhbHVlRm4gPSBwcm9wcy52YWx1ZSB8fCBlbXB0eVRoZW1lRm47XG4gICAgICAgIHZhciBtaXhlZEZuID0gdXNlQ2FsbGJhY2soZnVuY3Rpb24gKHRoZW1lUHJvcHMpIHsgcmV0dXJuIHZhbHVlRm4odGhlbWVGbiwgdGhlbWVQcm9wcyk7IH0sIFt0aGVtZUZuLCB2YWx1ZUZuXSk7XG4gICAgICAgIHJldHVybiAoUmVhY3QuY3JlYXRlRWxlbWVudChUaGVtZUNvbnRleHQuUHJvdmlkZXIsIHsgdmFsdWU6IG1peGVkRm4gfSwgcHJvcHMuY2hpbGRyZW4pKTtcbiAgICB9XG4gICAgcmV0dXJuIHsgQ29uc3VtZXI6IENvbnN1bWVyLCBQcm92aWRlcjogUHJvdmlkZXIgfTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWNyZWF0ZVRoZW1lLmpzLm1hcCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/theme/dist/esm/utils/createTheme.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/theme/dist/esm/utils/getTheme.js": /*!*****************************************************************!*\ !*** ./node_modules/@atlaskit/theme/dist/esm/utils/getTheme.js ***! \*****************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return getTheme; });\n// ideally this would be fetched from ../constants but that causes a\n// circular dep loop. This will be refactored as part of a breaking\n// change in the future.\nvar DEFAULT_THEME_MODE = 'light';\n// Resolves the different types of theme objects in the current API\nfunction getTheme(props) {\n if (props && props.theme) {\n // Theme is the global Atlaskit theme\n if ('__ATLASKIT_THEME__' in props.theme) {\n return props.theme.__ATLASKIT_THEME__;\n }\n // User has provided alternative modes\n else if ('mode' in props.theme) {\n return props.theme;\n }\n }\n // If format not supported (or no theme provided), return standard theme\n return { mode: DEFAULT_THEME_MODE };\n}\n//# sourceMappingURL=getTheme.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L3RoZW1lL2Rpc3QvZXNtL3V0aWxzL2dldFRoZW1lLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BhdGxhc2tpdC90aGVtZS9kaXN0L2VzbS91dGlscy9nZXRUaGVtZS5qcz9jNmJmIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIGlkZWFsbHkgdGhpcyB3b3VsZCBiZSBmZXRjaGVkIGZyb20gLi4vY29uc3RhbnRzIGJ1dCB0aGF0IGNhdXNlcyBhXG4vLyBjaXJjdWxhciBkZXAgbG9vcC4gVGhpcyB3aWxsIGJlIHJlZmFjdG9yZWQgYXMgcGFydCBvZiBhIGJyZWFraW5nXG4vLyBjaGFuZ2UgaW4gdGhlIGZ1dHVyZS5cbnZhciBERUZBVUxUX1RIRU1FX01PREUgPSAnbGlnaHQnO1xuLy8gUmVzb2x2ZXMgdGhlIGRpZmZlcmVudCB0eXBlcyBvZiB0aGVtZSBvYmplY3RzIGluIHRoZSBjdXJyZW50IEFQSVxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZ2V0VGhlbWUocHJvcHMpIHtcbiAgICBpZiAocHJvcHMgJiYgcHJvcHMudGhlbWUpIHtcbiAgICAgICAgLy8gVGhlbWUgaXMgdGhlIGdsb2JhbCBBdGxhc2tpdCB0aGVtZVxuICAgICAgICBpZiAoJ19fQVRMQVNLSVRfVEhFTUVfXycgaW4gcHJvcHMudGhlbWUpIHtcbiAgICAgICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5fX0FUTEFTS0lUX1RIRU1FX187XG4gICAgICAgIH1cbiAgICAgICAgLy8gVXNlciBoYXMgcHJvdmlkZWQgYWx0ZXJuYXRpdmUgbW9kZXNcbiAgICAgICAgZWxzZSBpZiAoJ21vZGUnIGluIHByb3BzLnRoZW1lKSB7XG4gICAgICAgICAgICByZXR1cm4gcHJvcHMudGhlbWU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLy8gSWYgZm9ybWF0IG5vdCBzdXBwb3J0ZWQgKG9yIG5vIHRoZW1lIHByb3ZpZGVkKSwgcmV0dXJuIHN0YW5kYXJkIHRoZW1lXG4gICAgcmV0dXJuIHsgbW9kZTogREVGQVVMVF9USEVNRV9NT0RFIH07XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1nZXRUaGVtZS5qcy5tYXAiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/theme/dist/esm/utils/getTheme.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/theme/dist/esm/utils/math.js": /*!*************************************************************!*\ !*** ./node_modules/@atlaskit/theme/dist/esm/utils/math.js ***! \*************************************************************/ /*! exports provided: add, subtract, multiply, divide */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"add\", function() { return add; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"subtract\", function() { return subtract; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"multiply\", function() { return multiply; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"divide\", function() { return divide; });\n// If a generic is used here, props can be inferred never and passed up (even with defaults)\nfunction add(fn, addend) {\n return function (props) { return fn(props) + addend; };\n}\nfunction subtract(fn, subtrahend) {\n return function (props) { return fn(props) - subtrahend; };\n}\nfunction multiply(fn, factor) {\n return function (props) { return fn(props) * factor; };\n}\nfunction divide(fn, divisor) {\n return function (props) { return fn(props) / divisor; };\n}\n//# sourceMappingURL=math.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L3RoZW1lL2Rpc3QvZXNtL3V0aWxzL21hdGguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L3RoZW1lL2Rpc3QvZXNtL3V0aWxzL21hdGguanM/YTlhYSJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBJZiBhIGdlbmVyaWMgaXMgdXNlZCBoZXJlLCBwcm9wcyBjYW4gYmUgaW5mZXJyZWQgbmV2ZXIgYW5kIHBhc3NlZCB1cCAoZXZlbiB3aXRoIGRlZmF1bHRzKVxuZXhwb3J0IGZ1bmN0aW9uIGFkZChmbiwgYWRkZW5kKSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uIChwcm9wcykgeyByZXR1cm4gZm4ocHJvcHMpICsgYWRkZW5kOyB9O1xufVxuZXhwb3J0IGZ1bmN0aW9uIHN1YnRyYWN0KGZuLCBzdWJ0cmFoZW5kKSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uIChwcm9wcykgeyByZXR1cm4gZm4ocHJvcHMpIC0gc3VidHJhaGVuZDsgfTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBtdWx0aXBseShmbiwgZmFjdG9yKSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uIChwcm9wcykgeyByZXR1cm4gZm4ocHJvcHMpICogZmFjdG9yOyB9O1xufVxuZXhwb3J0IGZ1bmN0aW9uIGRpdmlkZShmbiwgZGl2aXNvcikge1xuICAgIHJldHVybiBmdW5jdGlvbiAocHJvcHMpIHsgcmV0dXJuIGZuKHByb3BzKSAvIGRpdmlzb3I7IH07XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1tYXRoLmpzLm1hcCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/theme/dist/esm/utils/math.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/theme/dist/esm/utils/themed.js": /*!***************************************************************!*\ !*** ./node_modules/@atlaskit/theme/dist/esm/utils/themed.js ***! \***************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return themed; });\n/* harmony import */ var _getTheme__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getTheme */ \"./node_modules/@atlaskit/theme/dist/esm/utils/getTheme.js\");\n/* eslint-disable prefer-rest-params */\n\n// Unpack custom variants, and get correct value for the current theme\nfunction themedVariants(variantProp, variants) {\n return function (props) {\n var theme = Object(_getTheme__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(props);\n if (props && props[variantProp] && variants) {\n var modes = variants[props[variantProp]];\n if (modes && modes[theme.mode]) {\n var value = modes[theme.mode];\n if (value)\n return value; // TS believes value can be undefined\n }\n }\n return '';\n };\n}\nfunction themed(modesOrVariant, variantModes) {\n if (typeof modesOrVariant === 'string') {\n return themedVariants(modesOrVariant, variantModes);\n }\n var modes = modesOrVariant;\n return function (props) {\n // Get theme from the user's props\n var theme = Object(_getTheme__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(props);\n // User isn't required to provide both light and dark values\n if (theme.mode in modes) {\n var value = modes[theme.mode]; // TS believes value can be undefined\n if (value)\n return value;\n }\n return '';\n };\n}\n//# sourceMappingURL=themed.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L3RoZW1lL2Rpc3QvZXNtL3V0aWxzL3RoZW1lZC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AYXRsYXNraXQvdGhlbWUvZGlzdC9lc20vdXRpbHMvdGhlbWVkLmpzPzI1YTUiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgcHJlZmVyLXJlc3QtcGFyYW1zICovXG5pbXBvcnQgZ2V0VGhlbWUgZnJvbSAnLi9nZXRUaGVtZSc7XG4vLyBVbnBhY2sgY3VzdG9tIHZhcmlhbnRzLCBhbmQgZ2V0IGNvcnJlY3QgdmFsdWUgZm9yIHRoZSBjdXJyZW50IHRoZW1lXG5mdW5jdGlvbiB0aGVtZWRWYXJpYW50cyh2YXJpYW50UHJvcCwgdmFyaWFudHMpIHtcbiAgICByZXR1cm4gZnVuY3Rpb24gKHByb3BzKSB7XG4gICAgICAgIHZhciB0aGVtZSA9IGdldFRoZW1lKHByb3BzKTtcbiAgICAgICAgaWYgKHByb3BzICYmIHByb3BzW3ZhcmlhbnRQcm9wXSAmJiB2YXJpYW50cykge1xuICAgICAgICAgICAgdmFyIG1vZGVzID0gdmFyaWFudHNbcHJvcHNbdmFyaWFudFByb3BdXTtcbiAgICAgICAgICAgIGlmIChtb2RlcyAmJiBtb2Rlc1t0aGVtZS5tb2RlXSkge1xuICAgICAgICAgICAgICAgIHZhciB2YWx1ZSA9IG1vZGVzW3RoZW1lLm1vZGVdO1xuICAgICAgICAgICAgICAgIGlmICh2YWx1ZSlcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlOyAvLyBUUyBiZWxpZXZlcyB2YWx1ZSBjYW4gYmUgdW5kZWZpbmVkXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuICcnO1xuICAgIH07XG59XG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB0aGVtZWQobW9kZXNPclZhcmlhbnQsIHZhcmlhbnRNb2Rlcykge1xuICAgIGlmICh0eXBlb2YgbW9kZXNPclZhcmlhbnQgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHJldHVybiB0aGVtZWRWYXJpYW50cyhtb2Rlc09yVmFyaWFudCwgdmFyaWFudE1vZGVzKTtcbiAgICB9XG4gICAgdmFyIG1vZGVzID0gbW9kZXNPclZhcmlhbnQ7XG4gICAgcmV0dXJuIGZ1bmN0aW9uIChwcm9wcykge1xuICAgICAgICAvLyBHZXQgdGhlbWUgZnJvbSB0aGUgdXNlcidzIHByb3BzXG4gICAgICAgIHZhciB0aGVtZSA9IGdldFRoZW1lKHByb3BzKTtcbiAgICAgICAgLy8gVXNlciBpc24ndCByZXF1aXJlZCB0byBwcm92aWRlIGJvdGggbGlnaHQgYW5kIGRhcmsgdmFsdWVzXG4gICAgICAgIGlmICh0aGVtZS5tb2RlIGluIG1vZGVzKSB7XG4gICAgICAgICAgICB2YXIgdmFsdWUgPSBtb2Rlc1t0aGVtZS5tb2RlXTsgLy8gVFMgYmVsaWV2ZXMgdmFsdWUgY2FuIGJlIHVuZGVmaW5lZFxuICAgICAgICAgICAgaWYgKHZhbHVlKVxuICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gJyc7XG4gICAgfTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXRoZW1lZC5qcy5tYXAiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/theme/dist/esm/utils/themed.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/theme/node_modules/tslib/tslib.es6.js": /*!**********************************************************************!*\ !*** ./node_modules/@atlaskit/theme/node_modules/tslib/tslib.es6.js ***! \**********************************************************************/ /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault, __classPrivateFieldGet, __classPrivateFieldSet */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__extends\", function() { return __extends; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__assign\", function() { return __assign; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__rest\", function() { return __rest; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__decorate\", function() { return __decorate; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__param\", function() { return __param; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__metadata\", function() { return __metadata; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__awaiter\", function() { return __awaiter; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__generator\", function() { return __generator; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__exportStar\", function() { return __exportStar; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__values\", function() { return __values; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__read\", function() { return __read; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__spread\", function() { return __spread; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__spreadArrays\", function() { return __spreadArrays; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__await\", function() { return __await; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__asyncGenerator\", function() { return __asyncGenerator; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__asyncDelegator\", function() { return __asyncDelegator; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__asyncValues\", function() { return __asyncValues; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__makeTemplateObject\", function() { return __makeTemplateObject; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__importStar\", function() { return __importStar; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__importDefault\", function() { return __importDefault; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__classPrivateFieldGet\", function() { return __classPrivateFieldGet; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__classPrivateFieldSet\", function() { return __classPrivateFieldSet; });\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nfunction __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nvar __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nfunction __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nfunction __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nfunction __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nfunction __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nfunction __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nfunction __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nfunction __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nfunction __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nfunction __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nfunction __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nfunction __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nfunction __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nfunction __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nfunction __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nfunction __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nfunction __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nfunction __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nfunction __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nfunction __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nfunction __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L3RoZW1lL25vZGVfbW9kdWxlcy90c2xpYi90c2xpYi5lczYuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L3RoZW1lL25vZGVfbW9kdWxlcy90c2xpYi90c2xpYi5lczYuanM/OTA5YSJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiEgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuQ29weXJpZ2h0IChjKSBNaWNyb3NvZnQgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbkxpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7IHlvdSBtYXkgbm90IHVzZVxyXG50aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZVxyXG5MaWNlbnNlIGF0IGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxyXG5cclxuVEhJUyBDT0RFIElTIFBST1ZJREVEIE9OIEFOICpBUyBJUyogQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWVxyXG5LSU5ELCBFSVRIRVIgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgV0lUSE9VVCBMSU1JVEFUSU9OIEFOWSBJTVBMSUVEXHJcbldBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBUSVRMRSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UsXHJcbk1FUkNIQU5UQUJMSVRZIE9SIE5PTi1JTkZSSU5HRU1FTlQuXHJcblxyXG5TZWUgdGhlIEFwYWNoZSBWZXJzaW9uIDIuMCBMaWNlbnNlIGZvciBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnNcclxuYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xyXG4vKiBnbG9iYWwgUmVmbGVjdCwgUHJvbWlzZSAqL1xyXG5cclxudmFyIGV4dGVuZFN0YXRpY3MgPSBmdW5jdGlvbihkLCBiKSB7XHJcbiAgICBleHRlbmRTdGF0aWNzID0gT2JqZWN0LnNldFByb3RvdHlwZU9mIHx8XHJcbiAgICAgICAgKHsgX19wcm90b19fOiBbXSB9IGluc3RhbmNlb2YgQXJyYXkgJiYgZnVuY3Rpb24gKGQsIGIpIHsgZC5fX3Byb3RvX18gPSBiOyB9KSB8fFxyXG4gICAgICAgIGZ1bmN0aW9uIChkLCBiKSB7IGZvciAodmFyIHAgaW4gYikgaWYgKGIuaGFzT3duUHJvcGVydHkocCkpIGRbcF0gPSBiW3BdOyB9O1xyXG4gICAgcmV0dXJuIGV4dGVuZFN0YXRpY3MoZCwgYik7XHJcbn07XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19leHRlbmRzKGQsIGIpIHtcclxuICAgIGV4dGVuZFN0YXRpY3MoZCwgYik7XHJcbiAgICBmdW5jdGlvbiBfXygpIHsgdGhpcy5jb25zdHJ1Y3RvciA9IGQ7IH1cclxuICAgIGQucHJvdG90eXBlID0gYiA9PT0gbnVsbCA/IE9iamVjdC5jcmVhdGUoYikgOiAoX18ucHJvdG90eXBlID0gYi5wcm90b3R5cGUsIG5ldyBfXygpKTtcclxufVxyXG5cclxuZXhwb3J0IHZhciBfX2Fzc2lnbiA9IGZ1bmN0aW9uKCkge1xyXG4gICAgX19hc3NpZ24gPSBPYmplY3QuYXNzaWduIHx8IGZ1bmN0aW9uIF9fYXNzaWduKHQpIHtcclxuICAgICAgICBmb3IgKHZhciBzLCBpID0gMSwgbiA9IGFyZ3VtZW50cy5sZW5ndGg7IGkgPCBuOyBpKyspIHtcclxuICAgICAgICAgICAgcyA9IGFyZ3VtZW50c1tpXTtcclxuICAgICAgICAgICAgZm9yICh2YXIgcCBpbiBzKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsIHApKSB0W3BdID0gc1twXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHQ7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gX19hc3NpZ24uYXBwbHkodGhpcywgYXJndW1lbnRzKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fcmVzdChzLCBlKSB7XHJcbiAgICB2YXIgdCA9IHt9O1xyXG4gICAgZm9yICh2YXIgcCBpbiBzKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsIHApICYmIGUuaW5kZXhPZihwKSA8IDApXHJcbiAgICAgICAgdFtwXSA9IHNbcF07XHJcbiAgICBpZiAocyAhPSBudWxsICYmIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzID09PSBcImZ1bmN0aW9uXCIpXHJcbiAgICAgICAgZm9yICh2YXIgaSA9IDAsIHAgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHMpOyBpIDwgcC5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICBpZiAoZS5pbmRleE9mKHBbaV0pIDwgMCAmJiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwocywgcFtpXSkpXHJcbiAgICAgICAgICAgICAgICB0W3BbaV1dID0gc1twW2ldXTtcclxuICAgICAgICB9XHJcbiAgICByZXR1cm4gdDtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fZGVjb3JhdGUoZGVjb3JhdG9ycywgdGFyZ2V0LCBrZXksIGRlc2MpIHtcclxuICAgIHZhciBjID0gYXJndW1lbnRzLmxlbmd0aCwgciA9IGMgPCAzID8gdGFyZ2V0IDogZGVzYyA9PT0gbnVsbCA/IGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHRhcmdldCwga2V5KSA6IGRlc2MsIGQ7XHJcbiAgICBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIFJlZmxlY3QuZGVjb3JhdGUgPT09IFwiZnVuY3Rpb25cIikgciA9IFJlZmxlY3QuZGVjb3JhdGUoZGVjb3JhdG9ycywgdGFyZ2V0LCBrZXksIGRlc2MpO1xyXG4gICAgZWxzZSBmb3IgKHZhciBpID0gZGVjb3JhdG9ycy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkgaWYgKGQgPSBkZWNvcmF0b3JzW2ldKSByID0gKGMgPCAzID8gZChyKSA6IGMgPiAzID8gZCh0YXJnZXQsIGtleSwgcikgOiBkKHRhcmdldCwga2V5KSkgfHwgcjtcclxuICAgIHJldHVybiBjID4gMyAmJiByICYmIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwgciksIHI7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3BhcmFtKHBhcmFtSW5kZXgsIGRlY29yYXRvcikge1xyXG4gICAgcmV0dXJuIGZ1bmN0aW9uICh0YXJnZXQsIGtleSkgeyBkZWNvcmF0b3IodGFyZ2V0LCBrZXksIHBhcmFtSW5kZXgpOyB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX21ldGFkYXRhKG1ldGFkYXRhS2V5LCBtZXRhZGF0YVZhbHVlKSB7XHJcbiAgICBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIFJlZmxlY3QubWV0YWRhdGEgPT09IFwiZnVuY3Rpb25cIikgcmV0dXJuIFJlZmxlY3QubWV0YWRhdGEobWV0YWRhdGFLZXksIG1ldGFkYXRhVmFsdWUpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19hd2FpdGVyKHRoaXNBcmcsIF9hcmd1bWVudHMsIFAsIGdlbmVyYXRvcikge1xyXG4gICAgZnVuY3Rpb24gYWRvcHQodmFsdWUpIHsgcmV0dXJuIHZhbHVlIGluc3RhbmNlb2YgUCA/IHZhbHVlIDogbmV3IFAoZnVuY3Rpb24gKHJlc29sdmUpIHsgcmVzb2x2ZSh2YWx1ZSk7IH0pOyB9XHJcbiAgICByZXR1cm4gbmV3IChQIHx8IChQID0gUHJvbWlzZSkpKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcclxuICAgICAgICBmdW5jdGlvbiBmdWxmaWxsZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3IubmV4dCh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9XHJcbiAgICAgICAgZnVuY3Rpb24gcmVqZWN0ZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3JbXCJ0aHJvd1wiXSh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9XHJcbiAgICAgICAgZnVuY3Rpb24gc3RlcChyZXN1bHQpIHsgcmVzdWx0LmRvbmUgPyByZXNvbHZlKHJlc3VsdC52YWx1ZSkgOiBhZG9wdChyZXN1bHQudmFsdWUpLnRoZW4oZnVsZmlsbGVkLCByZWplY3RlZCk7IH1cclxuICAgICAgICBzdGVwKChnZW5lcmF0b3IgPSBnZW5lcmF0b3IuYXBwbHkodGhpc0FyZywgX2FyZ3VtZW50cyB8fCBbXSkpLm5leHQoKSk7XHJcbiAgICB9KTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fZ2VuZXJhdG9yKHRoaXNBcmcsIGJvZHkpIHtcclxuICAgIHZhciBfID0geyBsYWJlbDogMCwgc2VudDogZnVuY3Rpb24oKSB7IGlmICh0WzBdICYgMSkgdGhyb3cgdFsxXTsgcmV0dXJuIHRbMV07IH0sIHRyeXM6IFtdLCBvcHM6IFtdIH0sIGYsIHksIHQsIGc7XHJcbiAgICByZXR1cm4gZyA9IHsgbmV4dDogdmVyYigwKSwgXCJ0aHJvd1wiOiB2ZXJiKDEpLCBcInJldHVyblwiOiB2ZXJiKDIpIH0sIHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiAoZ1tTeW1ib2wuaXRlcmF0b3JdID0gZnVuY3Rpb24oKSB7IHJldHVybiB0aGlzOyB9KSwgZztcclxuICAgIGZ1bmN0aW9uIHZlcmIobikgeyByZXR1cm4gZnVuY3Rpb24gKHYpIHsgcmV0dXJuIHN0ZXAoW24sIHZdKTsgfTsgfVxyXG4gICAgZnVuY3Rpb24gc3RlcChvcCkge1xyXG4gICAgICAgIGlmIChmKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiR2VuZXJhdG9yIGlzIGFscmVhZHkgZXhlY3V0aW5nLlwiKTtcclxuICAgICAgICB3aGlsZSAoXykgdHJ5IHtcclxuICAgICAgICAgICAgaWYgKGYgPSAxLCB5ICYmICh0ID0gb3BbMF0gJiAyID8geVtcInJldHVyblwiXSA6IG9wWzBdID8geVtcInRocm93XCJdIHx8ICgodCA9IHlbXCJyZXR1cm5cIl0pICYmIHQuY2FsbCh5KSwgMCkgOiB5Lm5leHQpICYmICEodCA9IHQuY2FsbCh5LCBvcFsxXSkpLmRvbmUpIHJldHVybiB0O1xyXG4gICAgICAgICAgICBpZiAoeSA9IDAsIHQpIG9wID0gW29wWzBdICYgMiwgdC52YWx1ZV07XHJcbiAgICAgICAgICAgIHN3aXRjaCAob3BbMF0pIHtcclxuICAgICAgICAgICAgICAgIGNhc2UgMDogY2FzZSAxOiB0ID0gb3A7IGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgY2FzZSA0OiBfLmxhYmVsKys7IHJldHVybiB7IHZhbHVlOiBvcFsxXSwgZG9uZTogZmFsc2UgfTtcclxuICAgICAgICAgICAgICAgIGNhc2UgNTogXy5sYWJlbCsrOyB5ID0gb3BbMV07IG9wID0gWzBdOyBjb250aW51ZTtcclxuICAgICAgICAgICAgICAgIGNhc2UgNzogb3AgPSBfLm9wcy5wb3AoKTsgXy50cnlzLnBvcCgpOyBjb250aW51ZTtcclxuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKCEodCA9IF8udHJ5cywgdCA9IHQubGVuZ3RoID4gMCAmJiB0W3QubGVuZ3RoIC0gMV0pICYmIChvcFswXSA9PT0gNiB8fCBvcFswXSA9PT0gMikpIHsgXyA9IDA7IGNvbnRpbnVlOyB9XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKG9wWzBdID09PSAzICYmICghdCB8fCAob3BbMV0gPiB0WzBdICYmIG9wWzFdIDwgdFszXSkpKSB7IF8ubGFiZWwgPSBvcFsxXTsgYnJlYWs7IH1cclxuICAgICAgICAgICAgICAgICAgICBpZiAob3BbMF0gPT09IDYgJiYgXy5sYWJlbCA8IHRbMV0pIHsgXy5sYWJlbCA9IHRbMV07IHQgPSBvcDsgYnJlYWs7IH1cclxuICAgICAgICAgICAgICAgICAgICBpZiAodCAmJiBfLmxhYmVsIDwgdFsyXSkgeyBfLmxhYmVsID0gdFsyXTsgXy5vcHMucHVzaChvcCk7IGJyZWFrOyB9XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRbMl0pIF8ub3BzLnBvcCgpO1xyXG4gICAgICAgICAgICAgICAgICAgIF8udHJ5cy5wb3AoKTsgY29udGludWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgb3AgPSBib2R5LmNhbGwodGhpc0FyZywgXyk7XHJcbiAgICAgICAgfSBjYXRjaCAoZSkgeyBvcCA9IFs2LCBlXTsgeSA9IDA7IH0gZmluYWxseSB7IGYgPSB0ID0gMDsgfVxyXG4gICAgICAgIGlmIChvcFswXSAmIDUpIHRocm93IG9wWzFdOyByZXR1cm4geyB2YWx1ZTogb3BbMF0gPyBvcFsxXSA6IHZvaWQgMCwgZG9uZTogdHJ1ZSB9O1xyXG4gICAgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19leHBvcnRTdGFyKG0sIGV4cG9ydHMpIHtcclxuICAgIGZvciAodmFyIHAgaW4gbSkgaWYgKCFleHBvcnRzLmhhc093blByb3BlcnR5KHApKSBleHBvcnRzW3BdID0gbVtwXTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fdmFsdWVzKG8pIHtcclxuICAgIHZhciBzID0gdHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIFN5bWJvbC5pdGVyYXRvciwgbSA9IHMgJiYgb1tzXSwgaSA9IDA7XHJcbiAgICBpZiAobSkgcmV0dXJuIG0uY2FsbChvKTtcclxuICAgIGlmIChvICYmIHR5cGVvZiBvLmxlbmd0aCA9PT0gXCJudW1iZXJcIikgcmV0dXJuIHtcclxuICAgICAgICBuZXh0OiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgIGlmIChvICYmIGkgPj0gby5sZW5ndGgpIG8gPSB2b2lkIDA7XHJcbiAgICAgICAgICAgIHJldHVybiB7IHZhbHVlOiBvICYmIG9baSsrXSwgZG9uZTogIW8gfTtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcihzID8gXCJPYmplY3QgaXMgbm90IGl0ZXJhYmxlLlwiIDogXCJTeW1ib2wuaXRlcmF0b3IgaXMgbm90IGRlZmluZWQuXCIpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19yZWFkKG8sIG4pIHtcclxuICAgIHZhciBtID0gdHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIG9bU3ltYm9sLml0ZXJhdG9yXTtcclxuICAgIGlmICghbSkgcmV0dXJuIG87XHJcbiAgICB2YXIgaSA9IG0uY2FsbChvKSwgciwgYXIgPSBbXSwgZTtcclxuICAgIHRyeSB7XHJcbiAgICAgICAgd2hpbGUgKChuID09PSB2b2lkIDAgfHwgbi0tID4gMCkgJiYgIShyID0gaS5uZXh0KCkpLmRvbmUpIGFyLnB1c2goci52YWx1ZSk7XHJcbiAgICB9XHJcbiAgICBjYXRjaCAoZXJyb3IpIHsgZSA9IHsgZXJyb3I6IGVycm9yIH07IH1cclxuICAgIGZpbmFsbHkge1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGlmIChyICYmICFyLmRvbmUgJiYgKG0gPSBpW1wicmV0dXJuXCJdKSkgbS5jYWxsKGkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBmaW5hbGx5IHsgaWYgKGUpIHRocm93IGUuZXJyb3I7IH1cclxuICAgIH1cclxuICAgIHJldHVybiBhcjtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fc3ByZWFkKCkge1xyXG4gICAgZm9yICh2YXIgYXIgPSBbXSwgaSA9IDA7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspXHJcbiAgICAgICAgYXIgPSBhci5jb25jYXQoX19yZWFkKGFyZ3VtZW50c1tpXSkpO1xyXG4gICAgcmV0dXJuIGFyO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19zcHJlYWRBcnJheXMoKSB7XHJcbiAgICBmb3IgKHZhciBzID0gMCwgaSA9IDAsIGlsID0gYXJndW1lbnRzLmxlbmd0aDsgaSA8IGlsOyBpKyspIHMgKz0gYXJndW1lbnRzW2ldLmxlbmd0aDtcclxuICAgIGZvciAodmFyIHIgPSBBcnJheShzKSwgayA9IDAsIGkgPSAwOyBpIDwgaWw7IGkrKylcclxuICAgICAgICBmb3IgKHZhciBhID0gYXJndW1lbnRzW2ldLCBqID0gMCwgamwgPSBhLmxlbmd0aDsgaiA8IGpsOyBqKyssIGsrKylcclxuICAgICAgICAgICAgcltrXSA9IGFbal07XHJcbiAgICByZXR1cm4gcjtcclxufTtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2F3YWl0KHYpIHtcclxuICAgIHJldHVybiB0aGlzIGluc3RhbmNlb2YgX19hd2FpdCA/ICh0aGlzLnYgPSB2LCB0aGlzKSA6IG5ldyBfX2F3YWl0KHYpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19hc3luY0dlbmVyYXRvcih0aGlzQXJnLCBfYXJndW1lbnRzLCBnZW5lcmF0b3IpIHtcclxuICAgIGlmICghU3ltYm9sLmFzeW5jSXRlcmF0b3IpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJTeW1ib2wuYXN5bmNJdGVyYXRvciBpcyBub3QgZGVmaW5lZC5cIik7XHJcbiAgICB2YXIgZyA9IGdlbmVyYXRvci5hcHBseSh0aGlzQXJnLCBfYXJndW1lbnRzIHx8IFtdKSwgaSwgcSA9IFtdO1xyXG4gICAgcmV0dXJuIGkgPSB7fSwgdmVyYihcIm5leHRcIiksIHZlcmIoXCJ0aHJvd1wiKSwgdmVyYihcInJldHVyblwiKSwgaVtTeW1ib2wuYXN5bmNJdGVyYXRvcl0gPSBmdW5jdGlvbiAoKSB7IHJldHVybiB0aGlzOyB9LCBpO1xyXG4gICAgZnVuY3Rpb24gdmVyYihuKSB7IGlmIChnW25dKSBpW25dID0gZnVuY3Rpb24gKHYpIHsgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChhLCBiKSB7IHEucHVzaChbbiwgdiwgYSwgYl0pID4gMSB8fCByZXN1bWUobiwgdik7IH0pOyB9OyB9XHJcbiAgICBmdW5jdGlvbiByZXN1bWUobiwgdikgeyB0cnkgeyBzdGVwKGdbbl0odikpOyB9IGNhdGNoIChlKSB7IHNldHRsZShxWzBdWzNdLCBlKTsgfSB9XHJcbiAgICBmdW5jdGlvbiBzdGVwKHIpIHsgci52YWx1ZSBpbnN0YW5jZW9mIF9fYXdhaXQgPyBQcm9taXNlLnJlc29sdmUoci52YWx1ZS52KS50aGVuKGZ1bGZpbGwsIHJlamVjdCkgOiBzZXR0bGUocVswXVsyXSwgcik7IH1cclxuICAgIGZ1bmN0aW9uIGZ1bGZpbGwodmFsdWUpIHsgcmVzdW1lKFwibmV4dFwiLCB2YWx1ZSk7IH1cclxuICAgIGZ1bmN0aW9uIHJlamVjdCh2YWx1ZSkgeyByZXN1bWUoXCJ0aHJvd1wiLCB2YWx1ZSk7IH1cclxuICAgIGZ1bmN0aW9uIHNldHRsZShmLCB2KSB7IGlmIChmKHYpLCBxLnNoaWZ0KCksIHEubGVuZ3RoKSByZXN1bWUocVswXVswXSwgcVswXVsxXSk7IH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fYXN5bmNEZWxlZ2F0b3Iobykge1xyXG4gICAgdmFyIGksIHA7XHJcbiAgICByZXR1cm4gaSA9IHt9LCB2ZXJiKFwibmV4dFwiKSwgdmVyYihcInRocm93XCIsIGZ1bmN0aW9uIChlKSB7IHRocm93IGU7IH0pLCB2ZXJiKFwicmV0dXJuXCIpLCBpW1N5bWJvbC5pdGVyYXRvcl0gPSBmdW5jdGlvbiAoKSB7IHJldHVybiB0aGlzOyB9LCBpO1xyXG4gICAgZnVuY3Rpb24gdmVyYihuLCBmKSB7IGlbbl0gPSBvW25dID8gZnVuY3Rpb24gKHYpIHsgcmV0dXJuIChwID0gIXApID8geyB2YWx1ZTogX19hd2FpdChvW25dKHYpKSwgZG9uZTogbiA9PT0gXCJyZXR1cm5cIiB9IDogZiA/IGYodikgOiB2OyB9IDogZjsgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19hc3luY1ZhbHVlcyhvKSB7XHJcbiAgICBpZiAoIVN5bWJvbC5hc3luY0l0ZXJhdG9yKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiU3ltYm9sLmFzeW5jSXRlcmF0b3IgaXMgbm90IGRlZmluZWQuXCIpO1xyXG4gICAgdmFyIG0gPSBvW1N5bWJvbC5hc3luY0l0ZXJhdG9yXSwgaTtcclxuICAgIHJldHVybiBtID8gbS5jYWxsKG8pIDogKG8gPSB0eXBlb2YgX192YWx1ZXMgPT09IFwiZnVuY3Rpb25cIiA/IF9fdmFsdWVzKG8pIDogb1tTeW1ib2wuaXRlcmF0b3JdKCksIGkgPSB7fSwgdmVyYihcIm5leHRcIiksIHZlcmIoXCJ0aHJvd1wiKSwgdmVyYihcInJldHVyblwiKSwgaVtTeW1ib2wuYXN5bmNJdGVyYXRvcl0gPSBmdW5jdGlvbiAoKSB7IHJldHVybiB0aGlzOyB9LCBpKTtcclxuICAgIGZ1bmN0aW9uIHZlcmIobikgeyBpW25dID0gb1tuXSAmJiBmdW5jdGlvbiAodikgeyByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkgeyB2ID0gb1tuXSh2KSwgc2V0dGxlKHJlc29sdmUsIHJlamVjdCwgdi5kb25lLCB2LnZhbHVlKTsgfSk7IH07IH1cclxuICAgIGZ1bmN0aW9uIHNldHRsZShyZXNvbHZlLCByZWplY3QsIGQsIHYpIHsgUHJvbWlzZS5yZXNvbHZlKHYpLnRoZW4oZnVuY3Rpb24odikgeyByZXNvbHZlKHsgdmFsdWU6IHYsIGRvbmU6IGQgfSk7IH0sIHJlamVjdCk7IH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fbWFrZVRlbXBsYXRlT2JqZWN0KGNvb2tlZCwgcmF3KSB7XHJcbiAgICBpZiAoT2JqZWN0LmRlZmluZVByb3BlcnR5KSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjb29rZWQsIFwicmF3XCIsIHsgdmFsdWU6IHJhdyB9KTsgfSBlbHNlIHsgY29va2VkLnJhdyA9IHJhdzsgfVxyXG4gICAgcmV0dXJuIGNvb2tlZDtcclxufTtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2ltcG9ydFN0YXIobW9kKSB7XHJcbiAgICBpZiAobW9kICYmIG1vZC5fX2VzTW9kdWxlKSByZXR1cm4gbW9kO1xyXG4gICAgdmFyIHJlc3VsdCA9IHt9O1xyXG4gICAgaWYgKG1vZCAhPSBudWxsKSBmb3IgKHZhciBrIGluIG1vZCkgaWYgKE9iamVjdC5oYXNPd25Qcm9wZXJ0eS5jYWxsKG1vZCwgaykpIHJlc3VsdFtrXSA9IG1vZFtrXTtcclxuICAgIHJlc3VsdC5kZWZhdWx0ID0gbW9kO1xyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9faW1wb3J0RGVmYXVsdChtb2QpIHtcclxuICAgIHJldHVybiAobW9kICYmIG1vZC5fX2VzTW9kdWxlKSA/IG1vZCA6IHsgZGVmYXVsdDogbW9kIH07XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2NsYXNzUHJpdmF0ZUZpZWxkR2V0KHJlY2VpdmVyLCBwcml2YXRlTWFwKSB7XHJcbiAgICBpZiAoIXByaXZhdGVNYXAuaGFzKHJlY2VpdmVyKSkge1xyXG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJhdHRlbXB0ZWQgdG8gZ2V0IHByaXZhdGUgZmllbGQgb24gbm9uLWluc3RhbmNlXCIpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHByaXZhdGVNYXAuZ2V0KHJlY2VpdmVyKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fY2xhc3NQcml2YXRlRmllbGRTZXQocmVjZWl2ZXIsIHByaXZhdGVNYXAsIHZhbHVlKSB7XHJcbiAgICBpZiAoIXByaXZhdGVNYXAuaGFzKHJlY2VpdmVyKSkge1xyXG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJhdHRlbXB0ZWQgdG8gc2V0IHByaXZhdGUgZmllbGQgb24gbm9uLWluc3RhbmNlXCIpO1xyXG4gICAgfVxyXG4gICAgcHJpdmF0ZU1hcC5zZXQocmVjZWl2ZXIsIHZhbHVlKTtcclxuICAgIHJldHVybiB2YWx1ZTtcclxufVxyXG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/theme/node_modules/tslib/tslib.es6.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/tooltip/dist/esm/components/Animation.js": /*!*************************************************************************!*\ !*** ./node_modules/@atlaskit/tooltip/dist/esm/components/Animation.js ***! \*************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/@atlaskit/tooltip/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react_transition_group__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-transition-group */ \"./node_modules/react-transition-group/index.js\");\n/* harmony import */ var react_transition_group__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react_transition_group__WEBPACK_IMPORTED_MODULE_2__);\n\n\n\nvar ENTER_DURATION = 120;\nvar EXIT_DURATION = 80;\nvar easing = 'cubic-bezier(0.23, 1, 0.32, 1)'; // easeOutQuint\nvar defaultStyle = function (timeout) { return ({\n transition: \"transform \" + timeout.enter + \"ms \" + easing + \", opacity \" + timeout.enter + \"ms linear\",\n opacity: 0,\n}); };\nvar transitionStyle = function (state) {\n var transitions = {\n entering: {},\n entered: {\n opacity: 1,\n },\n exiting: {\n opacity: 0,\n },\n };\n return transitions[state];\n};\nvar getStyle = function (timeout, state) { return function () { return (Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, defaultStyle(timeout)), transitionStyle(state))); }; };\nvar Animation = function (_a) {\n var children = _a.children, immediatelyHide = _a.immediatelyHide, immediatelyShow = _a.immediatelyShow, onExited = _a.onExited, inProp = _a.in;\n var timeout = {\n enter: immediatelyShow ? 0 : ENTER_DURATION,\n exit: immediatelyHide ? 0 : EXIT_DURATION,\n };\n return (react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(react_transition_group__WEBPACK_IMPORTED_MODULE_2__[\"Transition\"], { timeout: timeout, in: inProp, onExited: onExited, unmountOnExit: true, appear: true }, function (state) { return children(getStyle(timeout, state)); }));\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Animation);\n//# sourceMappingURL=Animation.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L3Rvb2x0aXAvZGlzdC9lc20vY29tcG9uZW50cy9BbmltYXRpb24uanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L3Rvb2x0aXAvZGlzdC9lc20vY29tcG9uZW50cy9BbmltYXRpb24uanM/YmQ3NiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBfX2Fzc2lnbiB9IGZyb20gXCJ0c2xpYlwiO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IFRyYW5zaXRpb24gfSBmcm9tICdyZWFjdC10cmFuc2l0aW9uLWdyb3VwJztcbnZhciBFTlRFUl9EVVJBVElPTiA9IDEyMDtcbnZhciBFWElUX0RVUkFUSU9OID0gODA7XG52YXIgZWFzaW5nID0gJ2N1YmljLWJlemllcigwLjIzLCAxLCAwLjMyLCAxKSc7IC8vIGVhc2VPdXRRdWludFxudmFyIGRlZmF1bHRTdHlsZSA9IGZ1bmN0aW9uICh0aW1lb3V0KSB7IHJldHVybiAoe1xuICAgIHRyYW5zaXRpb246IFwidHJhbnNmb3JtIFwiICsgdGltZW91dC5lbnRlciArIFwibXMgXCIgKyBlYXNpbmcgKyBcIiwgb3BhY2l0eSBcIiArIHRpbWVvdXQuZW50ZXIgKyBcIm1zIGxpbmVhclwiLFxuICAgIG9wYWNpdHk6IDAsXG59KTsgfTtcbnZhciB0cmFuc2l0aW9uU3R5bGUgPSBmdW5jdGlvbiAoc3RhdGUpIHtcbiAgICB2YXIgdHJhbnNpdGlvbnMgPSB7XG4gICAgICAgIGVudGVyaW5nOiB7fSxcbiAgICAgICAgZW50ZXJlZDoge1xuICAgICAgICAgICAgb3BhY2l0eTogMSxcbiAgICAgICAgfSxcbiAgICAgICAgZXhpdGluZzoge1xuICAgICAgICAgICAgb3BhY2l0eTogMCxcbiAgICAgICAgfSxcbiAgICB9O1xuICAgIHJldHVybiB0cmFuc2l0aW9uc1tzdGF0ZV07XG59O1xudmFyIGdldFN0eWxlID0gZnVuY3Rpb24gKHRpbWVvdXQsIHN0YXRlKSB7IHJldHVybiBmdW5jdGlvbiAoKSB7IHJldHVybiAoX19hc3NpZ24oX19hc3NpZ24oe30sIGRlZmF1bHRTdHlsZSh0aW1lb3V0KSksIHRyYW5zaXRpb25TdHlsZShzdGF0ZSkpKTsgfTsgfTtcbnZhciBBbmltYXRpb24gPSBmdW5jdGlvbiAoX2EpIHtcbiAgICB2YXIgY2hpbGRyZW4gPSBfYS5jaGlsZHJlbiwgaW1tZWRpYXRlbHlIaWRlID0gX2EuaW1tZWRpYXRlbHlIaWRlLCBpbW1lZGlhdGVseVNob3cgPSBfYS5pbW1lZGlhdGVseVNob3csIG9uRXhpdGVkID0gX2Eub25FeGl0ZWQsIGluUHJvcCA9IF9hLmluO1xuICAgIHZhciB0aW1lb3V0ID0ge1xuICAgICAgICBlbnRlcjogaW1tZWRpYXRlbHlTaG93ID8gMCA6IEVOVEVSX0RVUkFUSU9OLFxuICAgICAgICBleGl0OiBpbW1lZGlhdGVseUhpZGUgPyAwIDogRVhJVF9EVVJBVElPTixcbiAgICB9O1xuICAgIHJldHVybiAoUmVhY3QuY3JlYXRlRWxlbWVudChUcmFuc2l0aW9uLCB7IHRpbWVvdXQ6IHRpbWVvdXQsIGluOiBpblByb3AsIG9uRXhpdGVkOiBvbkV4aXRlZCwgdW5tb3VudE9uRXhpdDogdHJ1ZSwgYXBwZWFyOiB0cnVlIH0sIGZ1bmN0aW9uIChzdGF0ZSkgeyByZXR1cm4gY2hpbGRyZW4oZ2V0U3R5bGUodGltZW91dCwgc3RhdGUpKTsgfSkpO1xufTtcbmV4cG9ydCBkZWZhdWx0IEFuaW1hdGlvbjtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPUFuaW1hdGlvbi5qcy5tYXAiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/tooltip/dist/esm/components/Animation.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/tooltip/dist/esm/components/Tooltip.js": /*!***********************************************************************!*\ !*** ./node_modules/@atlaskit/tooltip/dist/esm/components/Tooltip.js ***! \***********************************************************************/ /*! exports provided: TooltipWithoutAnalytics, default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"TooltipWithoutAnalytics\", function() { return Tooltip; });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/@atlaskit/tooltip/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var flushable__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! flushable */ \"./node_modules/flushable/dist/index.umd.js\");\n/* harmony import */ var flushable__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(flushable__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var react_node_resolver__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react-node-resolver */ \"./node_modules/react-node-resolver/lib/index.js\");\n/* harmony import */ var react_node_resolver__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react_node_resolver__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _atlaskit_analytics_next__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @atlaskit/analytics-next */ \"./node_modules/@atlaskit/analytics-next/dist/esm/index.js\");\n/* harmony import */ var _atlaskit_popper__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @atlaskit/popper */ \"./node_modules/@atlaskit/popper/dist/esm/index.js\");\n/* harmony import */ var _atlaskit_portal__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @atlaskit/portal */ \"./node_modules/@atlaskit/portal/dist/esm/index.js\");\n/* harmony import */ var _atlaskit_theme_constants__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @atlaskit/theme/constants */ \"./node_modules/@atlaskit/theme/dist/esm/constants.js\");\n/* harmony import */ var _styled__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../styled */ \"./node_modules/@atlaskit/tooltip/dist/esm/styled.js\");\n/* harmony import */ var _version_json__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../version.json */ \"./node_modules/@atlaskit/tooltip/dist/esm/version.json\");\nvar _version_json__WEBPACK_IMPORTED_MODULE_9___namespace = /*#__PURE__*/__webpack_require__.t(/*! ../version.json */ \"./node_modules/@atlaskit/tooltip/dist/esm/version.json\", 1);\n/* harmony import */ var _Animation__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./Animation */ \"./node_modules/@atlaskit/tooltip/dist/esm/components/Animation.js\");\n/* harmony import */ var _utils_analytics_payloads__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./utils/analytics-payloads */ \"./node_modules/@atlaskit/tooltip/dist/esm/components/utils/analytics-payloads.js\");\n/* eslint-disable react/require-default-props */\n\n\n\n\n\n\n\n\n\n\n\n\nvar SCROLL_OPTIONS = { capture: true, passive: true };\nfunction getMousePosition(mouseCoordinates) {\n var safeMouse = mouseCoordinates || { top: 0, left: 0 };\n var getBoundingClientRect = function () {\n return {\n top: safeMouse.top,\n left: safeMouse.left,\n bottom: safeMouse.top,\n right: safeMouse.left,\n width: 0,\n height: 0,\n };\n };\n return {\n getBoundingClientRect: getBoundingClientRect,\n clientWidth: 0,\n clientHeight: 0,\n };\n}\nvar pendingHide;\nvar showTooltip = function (fn, defaultDelay) {\n var isHidePending = pendingHide && pendingHide.pending();\n if (isHidePending) {\n pendingHide.flush();\n }\n var pendingShow = flushable__WEBPACK_IMPORTED_MODULE_2___default()(function () { return fn(isHidePending); }, isHidePending ? 0 : defaultDelay);\n return pendingShow.cancel;\n};\nvar hideTooltip = function (fn, defaultDelay) {\n pendingHide = flushable__WEBPACK_IMPORTED_MODULE_2___default()(function (flushed) { return fn(flushed); }, defaultDelay);\n return pendingHide.cancel;\n};\nvar Tooltip = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(Tooltip, _super);\n function Tooltip() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.wrapperRef = null;\n _this.targetRef = null;\n _this.cancelPendingSetState = function () { };\n _this.userInteraction = 'mouse';\n _this.state = {\n immediatelyHide: false,\n immediatelyShow: false,\n isVisible: false,\n renderTooltip: false,\n };\n _this.handleWindowScroll = function () {\n if (_this.state.isVisible) {\n _this.cancelPendingSetState();\n _this.setState({ isVisible: false, immediatelyHide: true });\n }\n };\n _this.handleMouseClick = function () {\n if (_this.props.hideTooltipOnClick) {\n _this.cancelPendingSetState();\n _this.setState({ isVisible: false, immediatelyHide: true });\n }\n };\n _this.handleMouseDown = function () {\n if (_this.props.hideTooltipOnMouseDown) {\n _this.cancelPendingSetState();\n _this.setState({ isVisible: false, immediatelyHide: true });\n }\n };\n _this.handleMouseOver = function (e) {\n if (e.target === _this.wrapperRef) {\n return;\n }\n _this.userInteraction = 'mouse';\n // In the case where a tooltip is newly rendered but immediately becomes hovered,\n // we need to set the coordinates in the mouseOver event.\n if (!_this.fakeMouseElement) {\n _this.fakeMouseElement = getMousePosition({\n left: e.clientX,\n top: e.clientY,\n });\n }\n _this.handleShowTooltip();\n };\n _this.handleFocus = function () {\n _this.userInteraction = 'keyboard';\n // We need to fake the mouse dimensions even on focus because the code path currently assumes\n // fake mouse element needs to exist before showing the tooltip.\n if (!_this.fakeMouseElement) {\n _this.fakeMouseElement = getMousePosition({\n left: 0,\n top: 0,\n });\n }\n _this.handleShowTooltip();\n };\n _this.handleShowTooltip = function () {\n _this.cancelPendingSetState();\n if (Boolean(_this.props.content) && !_this.state.isVisible) {\n _this.cancelPendingSetState = showTooltip(function (immediatelyShow) {\n _this.setState({\n isVisible: true,\n renderTooltip: true,\n immediatelyShow: immediatelyShow,\n });\n }, _this.props.delay || 0);\n }\n };\n _this.handleHideTooltip = function (e) {\n if (e.target === _this.wrapperRef) {\n return;\n }\n _this.cancelPendingSetState();\n if (_this.state.isVisible) {\n _this.cancelPendingSetState = hideTooltip(function (immediatelyHide) {\n _this.setState({ isVisible: false, immediatelyHide: immediatelyHide });\n }, _this.props.delay || 0);\n }\n };\n // Update mouse coordinates, used when position is 'mouse'.\n // We are not debouncing/throttling this function because we aren't causing any\n // re-renders or performaing any intensive calculations, we're just updating a value.\n // React also doesn't play nice debounced DOM event handlers because they pool their\n // SyntheticEvent objects. Need to use event.persist as a workaround - https://stackoverflow.com/a/24679479/893630\n _this.handleMouseMove = function (event) {\n if (!_this.state.renderTooltip) {\n _this.fakeMouseElement = getMousePosition({\n left: event.clientX,\n top: event.clientY,\n });\n }\n };\n return _this;\n }\n Tooltip.prototype.componentWillUnmount = function () {\n this.cancelPendingSetState();\n this.removeScrollListener();\n };\n Tooltip.prototype.componentDidUpdate = function (_prevProps, prevState) {\n if (!prevState.isVisible && this.state.isVisible) {\n if (this.props.onShow)\n this.props.onShow();\n window.addEventListener('scroll', this.handleWindowScroll, SCROLL_OPTIONS);\n }\n else if (prevState.isVisible && !this.state.isVisible) {\n if (this.props.onHide)\n this.props.onHide();\n this.removeScrollListener();\n }\n };\n Tooltip.prototype.removeScrollListener = function () {\n window.removeEventListener('scroll', this.handleWindowScroll, SCROLL_OPTIONS);\n };\n Tooltip.prototype.shouldPositionTooltipNearMouse = function () {\n var position = this.props.position;\n return position === 'mouse' && this.userInteraction === 'mouse';\n };\n Tooltip.prototype.render = function () {\n var _this = this;\n var _a = this.props, children = _a.children, position = _a.position, mousePosition = _a.mousePosition, content = _a.content, truncate = _a.truncate, TooltipContainer = _a.component, TargetContainer = _a.tag, testId = _a.testId;\n var _b = this.state, isVisible = _b.isVisible, renderTooltip = _b.renderTooltip, immediatelyShow = _b.immediatelyShow, immediatelyHide = _b.immediatelyHide;\n var tooltipPosition = position === 'mouse' ? mousePosition : position;\n return (\n /* eslint-disable jsx-a11y/mouse-events-have-key-events */\n react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_1___default.a.Fragment, null,\n TargetContainer && (react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(TargetContainer, { onClick: this.handleMouseClick, onMouseOver: this.handleMouseOver, onMouseOut: this.handleHideTooltip, onMouseMove: this.handleMouseMove, onMouseDown: this.handleMouseDown, onFocus: this.handleFocus, onBlur: this.handleHideTooltip, ref: function (wrapperRef) {\n _this.wrapperRef = wrapperRef;\n } },\n react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(react_node_resolver__WEBPACK_IMPORTED_MODULE_3___default.a, { innerRef: function (ref) {\n _this.targetRef = ref;\n } }, react__WEBPACK_IMPORTED_MODULE_1___default.a.Children.only(children)))),\n renderTooltip && this.targetRef && this.fakeMouseElement ? (react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_atlaskit_portal__WEBPACK_IMPORTED_MODULE_6__[\"default\"], { zIndex: _atlaskit_theme_constants__WEBPACK_IMPORTED_MODULE_7__[\"layers\"].tooltip() },\n react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_atlaskit_popper__WEBPACK_IMPORTED_MODULE_5__[\"Popper\"], { placement: tooltipPosition, referenceElement: \n // https://github.com/FezVrasta/react-popper#usage-without-a-reference-htmlelement\n // We are using a popper technique to pass in a faked element when we use mouse.\n (this.shouldPositionTooltipNearMouse()\n ? this.fakeMouseElement\n : this.targetRef) }, function (_a) {\n var ref = _a.ref, style = _a.style;\n return TooltipContainer && (react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_Animation__WEBPACK_IMPORTED_MODULE_10__[\"default\"], { immediatelyShow: immediatelyShow, immediatelyHide: immediatelyHide, onExited: function () { return _this.setState({ renderTooltip: false }); }, in: isVisible }, function (getAnimationStyles) { return (react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(TooltipContainer\n // innerRef can't be null so shortcircuit to undefined if it is.\n , { \n // innerRef can't be null so shortcircuit to undefined if it is.\n innerRef: ref || undefined, className: \"Tooltip\", style: Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, getAnimationStyles()), style), truncate: truncate || false, \"data-placement\": tooltipPosition, \"data-testid\": testId }, content)); }));\n }))) : null)\n /* eslint-enable */\n );\n };\n Tooltip.defaultProps = {\n component: _styled__WEBPACK_IMPORTED_MODULE_8__[\"Tooltip\"],\n delay: 300,\n mousePosition: 'bottom',\n position: 'bottom',\n tag: 'div',\n };\n return Tooltip;\n}(react__WEBPACK_IMPORTED_MODULE_1___default.a.Component));\n\nvar createAndFireEventOnAtlaskit = Object(_atlaskit_analytics_next__WEBPACK_IMPORTED_MODULE_4__[\"createAndFireEvent\"])('atlaskit');\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(_atlaskit_analytics_next__WEBPACK_IMPORTED_MODULE_4__[\"withAnalyticsContext\"])({\n componentName: 'tooltip',\n packageName: _version_json__WEBPACK_IMPORTED_MODULE_9__[\"name\"],\n packageVersion: _version_json__WEBPACK_IMPORTED_MODULE_9__[\"version\"],\n})(Object(_atlaskit_analytics_next__WEBPACK_IMPORTED_MODULE_4__[\"withAnalyticsEvents\"])({\n onHide: _utils_analytics_payloads__WEBPACK_IMPORTED_MODULE_11__[\"unhoveredPayload\"],\n onShow: createAndFireEventOnAtlaskit(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, _utils_analytics_payloads__WEBPACK_IMPORTED_MODULE_11__[\"hoveredPayload\"])),\n})(Tooltip)));\n//# sourceMappingURL=Tooltip.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L3Rvb2x0aXAvZGlzdC9lc20vY29tcG9uZW50cy9Ub29sdGlwLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BhdGxhc2tpdC90b29sdGlwL2Rpc3QvZXNtL2NvbXBvbmVudHMvVG9vbHRpcC5qcz8yYWUxIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIHJlYWN0L3JlcXVpcmUtZGVmYXVsdC1wcm9wcyAqL1xuaW1wb3J0IHsgX19hc3NpZ24sIF9fZXh0ZW5kcyB9IGZyb20gXCJ0c2xpYlwiO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBmbHVzaGFibGUgZnJvbSAnZmx1c2hhYmxlJztcbmltcG9ydCBOb2RlUmVzb2x2ZXIgZnJvbSAncmVhY3Qtbm9kZS1yZXNvbHZlcic7XG5pbXBvcnQgeyBjcmVhdGVBbmRGaXJlRXZlbnQsIHdpdGhBbmFseXRpY3NDb250ZXh0LCB3aXRoQW5hbHl0aWNzRXZlbnRzLCB9IGZyb20gJ0BhdGxhc2tpdC9hbmFseXRpY3MtbmV4dCc7XG5pbXBvcnQgeyBQb3BwZXIgfSBmcm9tICdAYXRsYXNraXQvcG9wcGVyJztcbmltcG9ydCBQb3J0YWwgZnJvbSAnQGF0bGFza2l0L3BvcnRhbCc7XG5pbXBvcnQgeyBsYXllcnMgfSBmcm9tICdAYXRsYXNraXQvdGhlbWUvY29uc3RhbnRzJztcbmltcG9ydCB7IFRvb2x0aXAgYXMgU3R5bGVkVG9vbHRpcCB9IGZyb20gJy4uL3N0eWxlZCc7XG5pbXBvcnQgeyBuYW1lIGFzIHBhY2thZ2VOYW1lLCB2ZXJzaW9uIGFzIHBhY2thZ2VWZXJzaW9uLCB9IGZyb20gJy4uL3ZlcnNpb24uanNvbic7XG5pbXBvcnQgQW5pbWF0aW9uIGZyb20gJy4vQW5pbWF0aW9uJztcbmltcG9ydCB7IGhvdmVyZWRQYXlsb2FkLCB1bmhvdmVyZWRQYXlsb2FkIH0gZnJvbSAnLi91dGlscy9hbmFseXRpY3MtcGF5bG9hZHMnO1xudmFyIFNDUk9MTF9PUFRJT05TID0geyBjYXB0dXJlOiB0cnVlLCBwYXNzaXZlOiB0cnVlIH07XG5mdW5jdGlvbiBnZXRNb3VzZVBvc2l0aW9uKG1vdXNlQ29vcmRpbmF0ZXMpIHtcbiAgICB2YXIgc2FmZU1vdXNlID0gbW91c2VDb29yZGluYXRlcyB8fCB7IHRvcDogMCwgbGVmdDogMCB9O1xuICAgIHZhciBnZXRCb3VuZGluZ0NsaWVudFJlY3QgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB0b3A6IHNhZmVNb3VzZS50b3AsXG4gICAgICAgICAgICBsZWZ0OiBzYWZlTW91c2UubGVmdCxcbiAgICAgICAgICAgIGJvdHRvbTogc2FmZU1vdXNlLnRvcCxcbiAgICAgICAgICAgIHJpZ2h0OiBzYWZlTW91c2UubGVmdCxcbiAgICAgICAgICAgIHdpZHRoOiAwLFxuICAgICAgICAgICAgaGVpZ2h0OiAwLFxuICAgICAgICB9O1xuICAgIH07XG4gICAgcmV0dXJuIHtcbiAgICAgICAgZ2V0Qm91bmRpbmdDbGllbnRSZWN0OiBnZXRCb3VuZGluZ0NsaWVudFJlY3QsXG4gICAgICAgIGNsaWVudFdpZHRoOiAwLFxuICAgICAgICBjbGllbnRIZWlnaHQ6IDAsXG4gICAgfTtcbn1cbnZhciBwZW5kaW5nSGlkZTtcbnZhciBzaG93VG9vbHRpcCA9IGZ1bmN0aW9uIChmbiwgZGVmYXVsdERlbGF5KSB7XG4gICAgdmFyIGlzSGlkZVBlbmRpbmcgPSBwZW5kaW5nSGlkZSAmJiBwZW5kaW5nSGlkZS5wZW5kaW5nKCk7XG4gICAgaWYgKGlzSGlkZVBlbmRpbmcpIHtcbiAgICAgICAgcGVuZGluZ0hpZGUuZmx1c2goKTtcbiAgICB9XG4gICAgdmFyIHBlbmRpbmdTaG93ID0gZmx1c2hhYmxlKGZ1bmN0aW9uICgpIHsgcmV0dXJuIGZuKGlzSGlkZVBlbmRpbmcpOyB9LCBpc0hpZGVQZW5kaW5nID8gMCA6IGRlZmF1bHREZWxheSk7XG4gICAgcmV0dXJuIHBlbmRpbmdTaG93LmNhbmNlbDtcbn07XG52YXIgaGlkZVRvb2x0aXAgPSBmdW5jdGlvbiAoZm4sIGRlZmF1bHREZWxheSkge1xuICAgIHBlbmRpbmdIaWRlID0gZmx1c2hhYmxlKGZ1bmN0aW9uIChmbHVzaGVkKSB7IHJldHVybiBmbihmbHVzaGVkKTsgfSwgZGVmYXVsdERlbGF5KTtcbiAgICByZXR1cm4gcGVuZGluZ0hpZGUuY2FuY2VsO1xufTtcbnZhciBUb29sdGlwID0gLyoqIEBjbGFzcyAqLyAoZnVuY3Rpb24gKF9zdXBlcikge1xuICAgIF9fZXh0ZW5kcyhUb29sdGlwLCBfc3VwZXIpO1xuICAgIGZ1bmN0aW9uIFRvb2x0aXAoKSB7XG4gICAgICAgIHZhciBfdGhpcyA9IF9zdXBlciAhPT0gbnVsbCAmJiBfc3VwZXIuYXBwbHkodGhpcywgYXJndW1lbnRzKSB8fCB0aGlzO1xuICAgICAgICBfdGhpcy53cmFwcGVyUmVmID0gbnVsbDtcbiAgICAgICAgX3RoaXMudGFyZ2V0UmVmID0gbnVsbDtcbiAgICAgICAgX3RoaXMuY2FuY2VsUGVuZGluZ1NldFN0YXRlID0gZnVuY3Rpb24gKCkgeyB9O1xuICAgICAgICBfdGhpcy51c2VySW50ZXJhY3Rpb24gPSAnbW91c2UnO1xuICAgICAgICBfdGhpcy5zdGF0ZSA9IHtcbiAgICAgICAgICAgIGltbWVkaWF0ZWx5SGlkZTogZmFsc2UsXG4gICAgICAgICAgICBpbW1lZGlhdGVseVNob3c6IGZhbHNlLFxuICAgICAgICAgICAgaXNWaXNpYmxlOiBmYWxzZSxcbiAgICAgICAgICAgIHJlbmRlclRvb2x0aXA6IGZhbHNlLFxuICAgICAgICB9O1xuICAgICAgICBfdGhpcy5oYW5kbGVXaW5kb3dTY3JvbGwgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICBpZiAoX3RoaXMuc3RhdGUuaXNWaXNpYmxlKSB7XG4gICAgICAgICAgICAgICAgX3RoaXMuY2FuY2VsUGVuZGluZ1NldFN0YXRlKCk7XG4gICAgICAgICAgICAgICAgX3RoaXMuc2V0U3RhdGUoeyBpc1Zpc2libGU6IGZhbHNlLCBpbW1lZGlhdGVseUhpZGU6IHRydWUgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICAgIF90aGlzLmhhbmRsZU1vdXNlQ2xpY2sgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICBpZiAoX3RoaXMucHJvcHMuaGlkZVRvb2x0aXBPbkNsaWNrKSB7XG4gICAgICAgICAgICAgICAgX3RoaXMuY2FuY2VsUGVuZGluZ1NldFN0YXRlKCk7XG4gICAgICAgICAgICAgICAgX3RoaXMuc2V0U3RhdGUoeyBpc1Zpc2libGU6IGZhbHNlLCBpbW1lZGlhdGVseUhpZGU6IHRydWUgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICAgIF90aGlzLmhhbmRsZU1vdXNlRG93biA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIGlmIChfdGhpcy5wcm9wcy5oaWRlVG9vbHRpcE9uTW91c2VEb3duKSB7XG4gICAgICAgICAgICAgICAgX3RoaXMuY2FuY2VsUGVuZGluZ1NldFN0YXRlKCk7XG4gICAgICAgICAgICAgICAgX3RoaXMuc2V0U3RhdGUoeyBpc1Zpc2libGU6IGZhbHNlLCBpbW1lZGlhdGVseUhpZGU6IHRydWUgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICAgIF90aGlzLmhhbmRsZU1vdXNlT3ZlciA9IGZ1bmN0aW9uIChlKSB7XG4gICAgICAgICAgICBpZiAoZS50YXJnZXQgPT09IF90aGlzLndyYXBwZXJSZWYpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBfdGhpcy51c2VySW50ZXJhY3Rpb24gPSAnbW91c2UnO1xuICAgICAgICAgICAgLy8gSW4gdGhlIGNhc2Ugd2hlcmUgYSB0b29sdGlwIGlzIG5ld2x5IHJlbmRlcmVkIGJ1dCBpbW1lZGlhdGVseSBiZWNvbWVzIGhvdmVyZWQsXG4gICAgICAgICAgICAvLyB3ZSBuZWVkIHRvIHNldCB0aGUgY29vcmRpbmF0ZXMgaW4gdGhlIG1vdXNlT3ZlciBldmVudC5cbiAgICAgICAgICAgIGlmICghX3RoaXMuZmFrZU1vdXNlRWxlbWVudCkge1xuICAgICAgICAgICAgICAgIF90aGlzLmZha2VNb3VzZUVsZW1lbnQgPSBnZXRNb3VzZVBvc2l0aW9uKHtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogZS5jbGllbnRYLFxuICAgICAgICAgICAgICAgICAgICB0b3A6IGUuY2xpZW50WSxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF90aGlzLmhhbmRsZVNob3dUb29sdGlwKCk7XG4gICAgICAgIH07XG4gICAgICAgIF90aGlzLmhhbmRsZUZvY3VzID0gZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgX3RoaXMudXNlckludGVyYWN0aW9uID0gJ2tleWJvYXJkJztcbiAgICAgICAgICAgIC8vIFdlIG5lZWQgdG8gZmFrZSB0aGUgbW91c2UgZGltZW5zaW9ucyBldmVuIG9uIGZvY3VzIGJlY2F1c2UgdGhlIGNvZGUgcGF0aCBjdXJyZW50bHkgYXNzdW1lc1xuICAgICAgICAgICAgLy8gZmFrZSBtb3VzZSBlbGVtZW50IG5lZWRzIHRvIGV4aXN0IGJlZm9yZSBzaG93aW5nIHRoZSB0b29sdGlwLlxuICAgICAgICAgICAgaWYgKCFfdGhpcy5mYWtlTW91c2VFbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgX3RoaXMuZmFrZU1vdXNlRWxlbWVudCA9IGdldE1vdXNlUG9zaXRpb24oe1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwLFxuICAgICAgICAgICAgICAgICAgICB0b3A6IDAsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBfdGhpcy5oYW5kbGVTaG93VG9vbHRpcCgpO1xuICAgICAgICB9O1xuICAgICAgICBfdGhpcy5oYW5kbGVTaG93VG9vbHRpcCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIF90aGlzLmNhbmNlbFBlbmRpbmdTZXRTdGF0ZSgpO1xuICAgICAgICAgICAgaWYgKEJvb2xlYW4oX3RoaXMucHJvcHMuY29udGVudCkgJiYgIV90aGlzLnN0YXRlLmlzVmlzaWJsZSkge1xuICAgICAgICAgICAgICAgIF90aGlzLmNhbmNlbFBlbmRpbmdTZXRTdGF0ZSA9IHNob3dUb29sdGlwKGZ1bmN0aW9uIChpbW1lZGlhdGVseVNob3cpIHtcbiAgICAgICAgICAgICAgICAgICAgX3RoaXMuc2V0U3RhdGUoe1xuICAgICAgICAgICAgICAgICAgICAgICAgaXNWaXNpYmxlOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVuZGVyVG9vbHRpcDogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGltbWVkaWF0ZWx5U2hvdzogaW1tZWRpYXRlbHlTaG93LFxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9LCBfdGhpcy5wcm9wcy5kZWxheSB8fCAwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgICAgX3RoaXMuaGFuZGxlSGlkZVRvb2x0aXAgPSBmdW5jdGlvbiAoZSkge1xuICAgICAgICAgICAgaWYgKGUudGFyZ2V0ID09PSBfdGhpcy53cmFwcGVyUmVmKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgX3RoaXMuY2FuY2VsUGVuZGluZ1NldFN0YXRlKCk7XG4gICAgICAgICAgICBpZiAoX3RoaXMuc3RhdGUuaXNWaXNpYmxlKSB7XG4gICAgICAgICAgICAgICAgX3RoaXMuY2FuY2VsUGVuZGluZ1NldFN0YXRlID0gaGlkZVRvb2x0aXAoZnVuY3Rpb24gKGltbWVkaWF0ZWx5SGlkZSkge1xuICAgICAgICAgICAgICAgICAgICBfdGhpcy5zZXRTdGF0ZSh7IGlzVmlzaWJsZTogZmFsc2UsIGltbWVkaWF0ZWx5SGlkZTogaW1tZWRpYXRlbHlIaWRlIH0pO1xuICAgICAgICAgICAgICAgIH0sIF90aGlzLnByb3BzLmRlbGF5IHx8IDApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgICAvLyBVcGRhdGUgbW91c2UgY29vcmRpbmF0ZXMsIHVzZWQgd2hlbiBwb3NpdGlvbiBpcyAnbW91c2UnLlxuICAgICAgICAvLyBXZSBhcmUgbm90IGRlYm91bmNpbmcvdGhyb3R0bGluZyB0aGlzIGZ1bmN0aW9uIGJlY2F1c2Ugd2UgYXJlbid0IGNhdXNpbmcgYW55XG4gICAgICAgIC8vIHJlLXJlbmRlcnMgb3IgcGVyZm9ybWFpbmcgYW55IGludGVuc2l2ZSBjYWxjdWxhdGlvbnMsIHdlJ3JlIGp1c3QgdXBkYXRpbmcgYSB2YWx1ZS5cbiAgICAgICAgLy8gUmVhY3QgYWxzbyBkb2Vzbid0IHBsYXkgbmljZSBkZWJvdW5jZWQgRE9NIGV2ZW50IGhhbmRsZXJzIGJlY2F1c2UgdGhleSBwb29sIHRoZWlyXG4gICAgICAgIC8vIFN5bnRoZXRpY0V2ZW50IG9iamVjdHMuIE5lZWQgdG8gdXNlIGV2ZW50LnBlcnNpc3QgYXMgYSB3b3JrYXJvdW5kIC0gaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9hLzI0Njc5NDc5Lzg5MzYzMFxuICAgICAgICBfdGhpcy5oYW5kbGVNb3VzZU1vdmUgPSBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgICAgICAgIGlmICghX3RoaXMuc3RhdGUucmVuZGVyVG9vbHRpcCkge1xuICAgICAgICAgICAgICAgIF90aGlzLmZha2VNb3VzZUVsZW1lbnQgPSBnZXRNb3VzZVBvc2l0aW9uKHtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogZXZlbnQuY2xpZW50WCxcbiAgICAgICAgICAgICAgICAgICAgdG9wOiBldmVudC5jbGllbnRZLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgICByZXR1cm4gX3RoaXM7XG4gICAgfVxuICAgIFRvb2x0aXAucHJvdG90eXBlLmNvbXBvbmVudFdpbGxVbm1vdW50ID0gZnVuY3Rpb24gKCkge1xuICAgICAgICB0aGlzLmNhbmNlbFBlbmRpbmdTZXRTdGF0ZSgpO1xuICAgICAgICB0aGlzLnJlbW92ZVNjcm9sbExpc3RlbmVyKCk7XG4gICAgfTtcbiAgICBUb29sdGlwLnByb3RvdHlwZS5jb21wb25lbnREaWRVcGRhdGUgPSBmdW5jdGlvbiAoX3ByZXZQcm9wcywgcHJldlN0YXRlKSB7XG4gICAgICAgIGlmICghcHJldlN0YXRlLmlzVmlzaWJsZSAmJiB0aGlzLnN0YXRlLmlzVmlzaWJsZSkge1xuICAgICAgICAgICAgaWYgKHRoaXMucHJvcHMub25TaG93KVxuICAgICAgICAgICAgICAgIHRoaXMucHJvcHMub25TaG93KCk7XG4gICAgICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgdGhpcy5oYW5kbGVXaW5kb3dTY3JvbGwsIFNDUk9MTF9PUFRJT05TKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChwcmV2U3RhdGUuaXNWaXNpYmxlICYmICF0aGlzLnN0YXRlLmlzVmlzaWJsZSkge1xuICAgICAgICAgICAgaWYgKHRoaXMucHJvcHMub25IaWRlKVxuICAgICAgICAgICAgICAgIHRoaXMucHJvcHMub25IaWRlKCk7XG4gICAgICAgICAgICB0aGlzLnJlbW92ZVNjcm9sbExpc3RlbmVyKCk7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIFRvb2x0aXAucHJvdG90eXBlLnJlbW92ZVNjcm9sbExpc3RlbmVyID0gZnVuY3Rpb24gKCkge1xuICAgICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgdGhpcy5oYW5kbGVXaW5kb3dTY3JvbGwsIFNDUk9MTF9PUFRJT05TKTtcbiAgICB9O1xuICAgIFRvb2x0aXAucHJvdG90eXBlLnNob3VsZFBvc2l0aW9uVG9vbHRpcE5lYXJNb3VzZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIHBvc2l0aW9uID0gdGhpcy5wcm9wcy5wb3NpdGlvbjtcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uID09PSAnbW91c2UnICYmIHRoaXMudXNlckludGVyYWN0aW9uID09PSAnbW91c2UnO1xuICAgIH07XG4gICAgVG9vbHRpcC5wcm90b3R5cGUucmVuZGVyID0gZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgX3RoaXMgPSB0aGlzO1xuICAgICAgICB2YXIgX2EgPSB0aGlzLnByb3BzLCBjaGlsZHJlbiA9IF9hLmNoaWxkcmVuLCBwb3NpdGlvbiA9IF9hLnBvc2l0aW9uLCBtb3VzZVBvc2l0aW9uID0gX2EubW91c2VQb3NpdGlvbiwgY29udGVudCA9IF9hLmNvbnRlbnQsIHRydW5jYXRlID0gX2EudHJ1bmNhdGUsIFRvb2x0aXBDb250YWluZXIgPSBfYS5jb21wb25lbnQsIFRhcmdldENvbnRhaW5lciA9IF9hLnRhZywgdGVzdElkID0gX2EudGVzdElkO1xuICAgICAgICB2YXIgX2IgPSB0aGlzLnN0YXRlLCBpc1Zpc2libGUgPSBfYi5pc1Zpc2libGUsIHJlbmRlclRvb2x0aXAgPSBfYi5yZW5kZXJUb29sdGlwLCBpbW1lZGlhdGVseVNob3cgPSBfYi5pbW1lZGlhdGVseVNob3csIGltbWVkaWF0ZWx5SGlkZSA9IF9iLmltbWVkaWF0ZWx5SGlkZTtcbiAgICAgICAgdmFyIHRvb2x0aXBQb3NpdGlvbiA9IHBvc2l0aW9uID09PSAnbW91c2UnID8gbW91c2VQb3NpdGlvbiA6IHBvc2l0aW9uO1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAvKiBlc2xpbnQtZGlzYWJsZSBqc3gtYTExeS9tb3VzZS1ldmVudHMtaGF2ZS1rZXktZXZlbnRzICovXG4gICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoUmVhY3QuRnJhZ21lbnQsIG51bGwsXG4gICAgICAgICAgICBUYXJnZXRDb250YWluZXIgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoVGFyZ2V0Q29udGFpbmVyLCB7IG9uQ2xpY2s6IHRoaXMuaGFuZGxlTW91c2VDbGljaywgb25Nb3VzZU92ZXI6IHRoaXMuaGFuZGxlTW91c2VPdmVyLCBvbk1vdXNlT3V0OiB0aGlzLmhhbmRsZUhpZGVUb29sdGlwLCBvbk1vdXNlTW92ZTogdGhpcy5oYW5kbGVNb3VzZU1vdmUsIG9uTW91c2VEb3duOiB0aGlzLmhhbmRsZU1vdXNlRG93biwgb25Gb2N1czogdGhpcy5oYW5kbGVGb2N1cywgb25CbHVyOiB0aGlzLmhhbmRsZUhpZGVUb29sdGlwLCByZWY6IGZ1bmN0aW9uICh3cmFwcGVyUmVmKSB7XG4gICAgICAgICAgICAgICAgICAgIF90aGlzLndyYXBwZXJSZWYgPSB3cmFwcGVyUmVmO1xuICAgICAgICAgICAgICAgIH0gfSxcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KE5vZGVSZXNvbHZlciwgeyBpbm5lclJlZjogZnVuY3Rpb24gKHJlZikge1xuICAgICAgICAgICAgICAgICAgICAgICAgX3RoaXMudGFyZ2V0UmVmID0gcmVmO1xuICAgICAgICAgICAgICAgICAgICB9IH0sIFJlYWN0LkNoaWxkcmVuLm9ubHkoY2hpbGRyZW4pKSkpLFxuICAgICAgICAgICAgcmVuZGVyVG9vbHRpcCAmJiB0aGlzLnRhcmdldFJlZiAmJiB0aGlzLmZha2VNb3VzZUVsZW1lbnQgPyAoUmVhY3QuY3JlYXRlRWxlbWVudChQb3J0YWwsIHsgekluZGV4OiBsYXllcnMudG9vbHRpcCgpIH0sXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChQb3BwZXIsIHsgcGxhY2VtZW50OiB0b29sdGlwUG9zaXRpb24sIHJlZmVyZW5jZUVsZW1lbnQ6IFxuICAgICAgICAgICAgICAgICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vRmV6VnJhc3RhL3JlYWN0LXBvcHBlciN1c2FnZS13aXRob3V0LWEtcmVmZXJlbmNlLWh0bWxlbGVtZW50XG4gICAgICAgICAgICAgICAgICAgIC8vIFdlIGFyZSB1c2luZyBhIHBvcHBlciB0ZWNobmlxdWUgdG8gcGFzcyBpbiBhIGZha2VkIGVsZW1lbnQgd2hlbiB3ZSB1c2UgbW91c2UuXG4gICAgICAgICAgICAgICAgICAgICh0aGlzLnNob3VsZFBvc2l0aW9uVG9vbHRpcE5lYXJNb3VzZSgpXG4gICAgICAgICAgICAgICAgICAgICAgICA/IHRoaXMuZmFrZU1vdXNlRWxlbWVudFxuICAgICAgICAgICAgICAgICAgICAgICAgOiB0aGlzLnRhcmdldFJlZikgfSwgZnVuY3Rpb24gKF9hKSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciByZWYgPSBfYS5yZWYsIHN0eWxlID0gX2Euc3R5bGU7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBUb29sdGlwQ29udGFpbmVyICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KEFuaW1hdGlvbiwgeyBpbW1lZGlhdGVseVNob3c6IGltbWVkaWF0ZWx5U2hvdywgaW1tZWRpYXRlbHlIaWRlOiBpbW1lZGlhdGVseUhpZGUsIG9uRXhpdGVkOiBmdW5jdGlvbiAoKSB7IHJldHVybiBfdGhpcy5zZXRTdGF0ZSh7IHJlbmRlclRvb2x0aXA6IGZhbHNlIH0pOyB9LCBpbjogaXNWaXNpYmxlIH0sIGZ1bmN0aW9uIChnZXRBbmltYXRpb25TdHlsZXMpIHsgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KFRvb2x0aXBDb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgLy8gaW5uZXJSZWYgY2FuJ3QgYmUgbnVsbCBzbyBzaG9ydGNpcmN1aXQgdG8gdW5kZWZpbmVkIGlmIGl0IGlzLlxuICAgICAgICAgICAgICAgICAgICAsIHsgXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBpbm5lclJlZiBjYW4ndCBiZSBudWxsIHNvIHNob3J0Y2lyY3VpdCB0byB1bmRlZmluZWQgaWYgaXQgaXMuXG4gICAgICAgICAgICAgICAgICAgICAgICBpbm5lclJlZjogcmVmIHx8IHVuZGVmaW5lZCwgY2xhc3NOYW1lOiBcIlRvb2x0aXBcIiwgc3R5bGU6IF9fYXNzaWduKF9fYXNzaWduKHt9LCBnZXRBbmltYXRpb25TdHlsZXMoKSksIHN0eWxlKSwgdHJ1bmNhdGU6IHRydW5jYXRlIHx8IGZhbHNlLCBcImRhdGEtcGxhY2VtZW50XCI6IHRvb2x0aXBQb3NpdGlvbiwgXCJkYXRhLXRlc3RpZFwiOiB0ZXN0SWQgfSwgY29udGVudCkpOyB9KSk7XG4gICAgICAgICAgICAgICAgfSkpKSA6IG51bGwpXG4gICAgICAgIC8qIGVzbGludC1lbmFibGUgKi9cbiAgICAgICAgKTtcbiAgICB9O1xuICAgIFRvb2x0aXAuZGVmYXVsdFByb3BzID0ge1xuICAgICAgICBjb21wb25lbnQ6IFN0eWxlZFRvb2x0aXAsXG4gICAgICAgIGRlbGF5OiAzMDAsXG4gICAgICAgIG1vdXNlUG9zaXRpb246ICdib3R0b20nLFxuICAgICAgICBwb3NpdGlvbjogJ2JvdHRvbScsXG4gICAgICAgIHRhZzogJ2RpdicsXG4gICAgfTtcbiAgICByZXR1cm4gVG9vbHRpcDtcbn0oUmVhY3QuQ29tcG9uZW50KSk7XG5leHBvcnQgeyBUb29sdGlwIGFzIFRvb2x0aXBXaXRob3V0QW5hbHl0aWNzIH07XG52YXIgY3JlYXRlQW5kRmlyZUV2ZW50T25BdGxhc2tpdCA9IGNyZWF0ZUFuZEZpcmVFdmVudCgnYXRsYXNraXQnKTtcbmV4cG9ydCBkZWZhdWx0IHdpdGhBbmFseXRpY3NDb250ZXh0KHtcbiAgICBjb21wb25lbnROYW1lOiAndG9vbHRpcCcsXG4gICAgcGFja2FnZU5hbWU6IHBhY2thZ2VOYW1lLFxuICAgIHBhY2thZ2VWZXJzaW9uOiBwYWNrYWdlVmVyc2lvbixcbn0pKHdpdGhBbmFseXRpY3NFdmVudHMoe1xuICAgIG9uSGlkZTogdW5ob3ZlcmVkUGF5bG9hZCxcbiAgICBvblNob3c6IGNyZWF0ZUFuZEZpcmVFdmVudE9uQXRsYXNraXQoX19hc3NpZ24oe30sIGhvdmVyZWRQYXlsb2FkKSksXG59KShUb29sdGlwKSk7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1Ub29sdGlwLmpzLm1hcCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/tooltip/dist/esm/components/Tooltip.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/tooltip/dist/esm/components/utils/analytics-payloads.js": /*!****************************************************************************************!*\ !*** ./node_modules/@atlaskit/tooltip/dist/esm/components/utils/analytics-payloads.js ***! \****************************************************************************************/ /*! exports provided: hoveredPayload, unhoveredPayload */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"hoveredPayload\", function() { return hoveredPayload; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"unhoveredPayload\", function() { return unhoveredPayload; });\n/* harmony import */ var _version_json__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../version.json */ \"./node_modules/@atlaskit/tooltip/dist/esm/version.json\");\nvar _version_json__WEBPACK_IMPORTED_MODULE_0___namespace = /*#__PURE__*/__webpack_require__.t(/*! ../../version.json */ \"./node_modules/@atlaskit/tooltip/dist/esm/version.json\", 1);\n\nvar hoveredPayload = {\n action: 'displayed',\n actionSubject: 'tooltip',\n attributes: {\n componentName: 'tooltip',\n packageName: _version_json__WEBPACK_IMPORTED_MODULE_0__[\"name\"],\n packageVersion: _version_json__WEBPACK_IMPORTED_MODULE_0__[\"version\"],\n },\n};\nvar unhoveredPayload = {\n action: 'hidden',\n actionSubject: 'tooltip',\n attributes: {\n componentName: 'tooltip',\n packageName: _version_json__WEBPACK_IMPORTED_MODULE_0__[\"name\"],\n packageVersion: _version_json__WEBPACK_IMPORTED_MODULE_0__[\"version\"],\n },\n};\n//# sourceMappingURL=analytics-payloads.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L3Rvb2x0aXAvZGlzdC9lc20vY29tcG9uZW50cy91dGlscy9hbmFseXRpY3MtcGF5bG9hZHMuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L3Rvb2x0aXAvZGlzdC9lc20vY29tcG9uZW50cy91dGlscy9hbmFseXRpY3MtcGF5bG9hZHMuanM/ZTgxOSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBuYW1lIGFzIHBhY2thZ2VOYW1lLCB2ZXJzaW9uIGFzIHBhY2thZ2VWZXJzaW9uLCB9IGZyb20gJy4uLy4uL3ZlcnNpb24uanNvbic7XG5leHBvcnQgdmFyIGhvdmVyZWRQYXlsb2FkID0ge1xuICAgIGFjdGlvbjogJ2Rpc3BsYXllZCcsXG4gICAgYWN0aW9uU3ViamVjdDogJ3Rvb2x0aXAnLFxuICAgIGF0dHJpYnV0ZXM6IHtcbiAgICAgICAgY29tcG9uZW50TmFtZTogJ3Rvb2x0aXAnLFxuICAgICAgICBwYWNrYWdlTmFtZTogcGFja2FnZU5hbWUsXG4gICAgICAgIHBhY2thZ2VWZXJzaW9uOiBwYWNrYWdlVmVyc2lvbixcbiAgICB9LFxufTtcbmV4cG9ydCB2YXIgdW5ob3ZlcmVkUGF5bG9hZCA9IHtcbiAgICBhY3Rpb246ICdoaWRkZW4nLFxuICAgIGFjdGlvblN1YmplY3Q6ICd0b29sdGlwJyxcbiAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgIGNvbXBvbmVudE5hbWU6ICd0b29sdGlwJyxcbiAgICAgICAgcGFja2FnZU5hbWU6IHBhY2thZ2VOYW1lLFxuICAgICAgICBwYWNrYWdlVmVyc2lvbjogcGFja2FnZVZlcnNpb24sXG4gICAgfSxcbn07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1hbmFseXRpY3MtcGF5bG9hZHMuanMubWFwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/tooltip/dist/esm/components/utils/analytics-payloads.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/tooltip/dist/esm/index.js": /*!**********************************************************!*\ !*** ./node_modules/@atlaskit/tooltip/dist/esm/index.js ***! \**********************************************************/ /*! exports provided: default, TooltipPrimitive */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _components_Tooltip__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./components/Tooltip */ \"./node_modules/@atlaskit/tooltip/dist/esm/components/Tooltip.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _components_Tooltip__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n/* harmony import */ var _styled__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./styled */ \"./node_modules/@atlaskit/tooltip/dist/esm/styled.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"TooltipPrimitive\", function() { return _styled__WEBPACK_IMPORTED_MODULE_1__[\"TooltipPrimitive\"]; });\n\n\n\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L3Rvb2x0aXAvZGlzdC9lc20vaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L3Rvb2x0aXAvZGlzdC9lc20vaW5kZXguanM/MWFiZSJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBkZWZhdWx0IH0gZnJvbSAnLi9jb21wb25lbnRzL1Rvb2x0aXAnO1xuZXhwb3J0IHsgVG9vbHRpcFByaW1pdGl2ZSB9IGZyb20gJy4vc3R5bGVkJztcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmpzLm1hcCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/tooltip/dist/esm/index.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/tooltip/dist/esm/styled.js": /*!***********************************************************!*\ !*** ./node_modules/@atlaskit/tooltip/dist/esm/styled.js ***! \***********************************************************/ /*! exports provided: TooltipPrimitive, Tooltip, Target */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"TooltipPrimitive\", function() { return TooltipPrimitive; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Tooltip\", function() { return Tooltip; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Target\", function() { return Target; });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/@atlaskit/tooltip/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! styled-components */ \"./node_modules/styled-components/dist/styled-components.browser.esm.js\");\n/* harmony import */ var _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @atlaskit/theme/colors */ \"./node_modules/@atlaskit/theme/dist/esm/colors.js\");\n/* harmony import */ var _atlaskit_theme_components__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @atlaskit/theme/components */ \"./node_modules/@atlaskit/theme/dist/esm/components.js\");\n/* harmony import */ var _atlaskit_theme_constants__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @atlaskit/theme/constants */ \"./node_modules/@atlaskit/theme/dist/esm/constants.js\");\n\n\n\n\n\nvar backgroundColor = Object(_atlaskit_theme_components__WEBPACK_IMPORTED_MODULE_3__[\"themed\"])({\n light: _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_2__[\"N800\"],\n dark: _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_2__[\"DN0\"],\n});\nvar textColor = Object(_atlaskit_theme_components__WEBPACK_IMPORTED_MODULE_3__[\"themed\"])({\n light: _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_2__[\"N0\"],\n dark: _atlaskit_theme_colors__WEBPACK_IMPORTED_MODULE_2__[\"DN600\"],\n});\nvar TooltipPrimitive = styled_components__WEBPACK_IMPORTED_MODULE_1__[\"default\"].div(templateObject_1 || (templateObject_1 = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__makeTemplateObject\"])([\"\\n z-index: \", \";\\n pointer-events: none;\\n position: fixed;\\n\"], [\"\\n z-index: \", \";\\n pointer-events: none;\\n position: fixed;\\n\"])), _atlaskit_theme_constants__WEBPACK_IMPORTED_MODULE_4__[\"layers\"].tooltip);\nvar Tooltip = Object(styled_components__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(TooltipPrimitive)(templateObject_2 || (templateObject_2 = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__makeTemplateObject\"])([\"\\n background-color: \", \";\\n border-radius: \", \"px;\\n box-sizing: border-box;\\n color: \", \";\\n font-size: 12px;\\n left: 0;\\n line-height: 1.3;\\n max-width: 240px;\\n padding: 2px 6px;\\n top: 0;\\n /* Edge does not support overflow-wrap */\\n word-wrap: break-word;\\n overflow-wrap: break-word;\\n\\n \", \"\\n\"], [\"\\n background-color: \", \";\\n border-radius: \", \"px;\\n box-sizing: border-box;\\n color: \", \";\\n font-size: 12px;\\n left: 0;\\n line-height: 1.3;\\n max-width: 240px;\\n padding: 2px 6px;\\n top: 0;\\n /* Edge does not support overflow-wrap */\\n word-wrap: break-word;\\n overflow-wrap: break-word;\\n\\n \",\n \"\\n\"])), backgroundColor, _atlaskit_theme_constants__WEBPACK_IMPORTED_MODULE_4__[\"borderRadius\"], textColor, function (_a) {\n var truncate = _a.truncate;\n return truncate &&\n \"\\n max-width: 420px;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n \";\n});\n// The inline-block here is needed to keep the tooltip appearing in the correct position\n// when nested inside a wider parent (see position: relative example).\nvar Target = styled_components__WEBPACK_IMPORTED_MODULE_1__[\"default\"].div(templateObject_3 || (templateObject_3 = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__makeTemplateObject\"])([\"\\n display: inline-block;\\n\"], [\"\\n display: inline-block;\\n\"])));\nvar templateObject_1, templateObject_2, templateObject_3;\n//# sourceMappingURL=styled.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L3Rvb2x0aXAvZGlzdC9lc20vc3R5bGVkLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BhdGxhc2tpdC90b29sdGlwL2Rpc3QvZXNtL3N0eWxlZC5qcz8xMjRhIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IF9fbWFrZVRlbXBsYXRlT2JqZWN0IH0gZnJvbSBcInRzbGliXCI7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCB7IEROMCwgRE42MDAsIE4wLCBOODAwIH0gZnJvbSAnQGF0bGFza2l0L3RoZW1lL2NvbG9ycyc7XG5pbXBvcnQgeyB0aGVtZWQgfSBmcm9tICdAYXRsYXNraXQvdGhlbWUvY29tcG9uZW50cyc7XG5pbXBvcnQgeyBib3JkZXJSYWRpdXMsIGxheWVycyB9IGZyb20gJ0BhdGxhc2tpdC90aGVtZS9jb25zdGFudHMnO1xudmFyIGJhY2tncm91bmRDb2xvciA9IHRoZW1lZCh7XG4gICAgbGlnaHQ6IE44MDAsXG4gICAgZGFyazogRE4wLFxufSk7XG52YXIgdGV4dENvbG9yID0gdGhlbWVkKHtcbiAgICBsaWdodDogTjAsXG4gICAgZGFyazogRE42MDAsXG59KTtcbmV4cG9ydCB2YXIgVG9vbHRpcFByaW1pdGl2ZSA9IHN0eWxlZC5kaXYodGVtcGxhdGVPYmplY3RfMSB8fCAodGVtcGxhdGVPYmplY3RfMSA9IF9fbWFrZVRlbXBsYXRlT2JqZWN0KFtcIlxcbiAgei1pbmRleDogXCIsIFwiO1xcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XFxuICBwb3NpdGlvbjogZml4ZWQ7XFxuXCJdLCBbXCJcXG4gIHotaW5kZXg6IFwiLCBcIjtcXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xcbiAgcG9zaXRpb246IGZpeGVkO1xcblwiXSkpLCBsYXllcnMudG9vbHRpcCk7XG5leHBvcnQgdmFyIFRvb2x0aXAgPSBzdHlsZWQoVG9vbHRpcFByaW1pdGl2ZSkodGVtcGxhdGVPYmplY3RfMiB8fCAodGVtcGxhdGVPYmplY3RfMiA9IF9fbWFrZVRlbXBsYXRlT2JqZWN0KFtcIlxcbiAgYmFja2dyb3VuZC1jb2xvcjogXCIsIFwiO1xcbiAgYm9yZGVyLXJhZGl1czogXCIsIFwicHg7XFxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbiAgY29sb3I6IFwiLCBcIjtcXG4gIGZvbnQtc2l6ZTogMTJweDtcXG4gIGxlZnQ6IDA7XFxuICBsaW5lLWhlaWdodDogMS4zO1xcbiAgbWF4LXdpZHRoOiAyNDBweDtcXG4gIHBhZGRpbmc6IDJweCA2cHg7XFxuICB0b3A6IDA7XFxuICAvKiBFZGdlIGRvZXMgbm90IHN1cHBvcnQgb3ZlcmZsb3ctd3JhcCAqL1xcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xcbiAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcXG5cXG4gIFwiLCBcIlxcblwiXSwgW1wiXFxuICBiYWNrZ3JvdW5kLWNvbG9yOiBcIiwgXCI7XFxuICBib3JkZXItcmFkaXVzOiBcIiwgXCJweDtcXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxuICBjb2xvcjogXCIsIFwiO1xcbiAgZm9udC1zaXplOiAxMnB4O1xcbiAgbGVmdDogMDtcXG4gIGxpbmUtaGVpZ2h0OiAxLjM7XFxuICBtYXgtd2lkdGg6IDI0MHB4O1xcbiAgcGFkZGluZzogMnB4IDZweDtcXG4gIHRvcDogMDtcXG4gIC8qIEVkZ2UgZG9lcyBub3Qgc3VwcG9ydCBvdmVyZmxvdy13cmFwICovXFxuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XFxuICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xcblxcbiAgXCIsXG4gICAgXCJcXG5cIl0pKSwgYmFja2dyb3VuZENvbG9yLCBib3JkZXJSYWRpdXMsIHRleHRDb2xvciwgZnVuY3Rpb24gKF9hKSB7XG4gICAgdmFyIHRydW5jYXRlID0gX2EudHJ1bmNhdGU7XG4gICAgcmV0dXJuIHRydW5jYXRlICYmXG4gICAgICAgIFwiXFxuICAgICAgbWF4LXdpZHRoOiA0MjBweDtcXG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XFxuICAgIFwiO1xufSk7XG4vLyBUaGUgaW5saW5lLWJsb2NrIGhlcmUgaXMgbmVlZGVkIHRvIGtlZXAgdGhlIHRvb2x0aXAgYXBwZWFyaW5nIGluIHRoZSBjb3JyZWN0IHBvc2l0aW9uXG4vLyB3aGVuIG5lc3RlZCBpbnNpZGUgYSB3aWRlciBwYXJlbnQgKHNlZSBwb3NpdGlvbjogcmVsYXRpdmUgZXhhbXBsZSkuXG5leHBvcnQgdmFyIFRhcmdldCA9IHN0eWxlZC5kaXYodGVtcGxhdGVPYmplY3RfMyB8fCAodGVtcGxhdGVPYmplY3RfMyA9IF9fbWFrZVRlbXBsYXRlT2JqZWN0KFtcIlxcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcblwiXSwgW1wiXFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuXCJdKSkpO1xudmFyIHRlbXBsYXRlT2JqZWN0XzEsIHRlbXBsYXRlT2JqZWN0XzIsIHRlbXBsYXRlT2JqZWN0XzM7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1zdHlsZWQuanMubWFwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/tooltip/dist/esm/styled.js\n"); /***/ }), /***/ "./node_modules/@atlaskit/tooltip/dist/esm/version.json": /*!**************************************************************!*\ !*** ./node_modules/@atlaskit/tooltip/dist/esm/version.json ***! \**************************************************************/ /*! exports provided: name, version, sideEffects, default */ /***/ (function(module) { eval("module.exports = JSON.parse(\"{\\\"name\\\":\\\"@atlaskit/tooltip\\\",\\\"version\\\":\\\"15.2.7\\\",\\\"sideEffects\\\":false}\");//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L3Rvb2x0aXAvZGlzdC9lc20vdmVyc2lvbi5qc29uLmpzIiwic291cmNlcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/tooltip/dist/esm/version.json\n"); /***/ }), /***/ "./node_modules/@atlaskit/tooltip/node_modules/tslib/tslib.es6.js": /*!************************************************************************!*\ !*** ./node_modules/@atlaskit/tooltip/node_modules/tslib/tslib.es6.js ***! \************************************************************************/ /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault, __classPrivateFieldGet, __classPrivateFieldSet */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__extends\", function() { return __extends; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__assign\", function() { return __assign; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__rest\", function() { return __rest; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__decorate\", function() { return __decorate; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__param\", function() { return __param; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__metadata\", function() { return __metadata; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__awaiter\", function() { return __awaiter; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__generator\", function() { return __generator; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__exportStar\", function() { return __exportStar; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__values\", function() { return __values; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__read\", function() { return __read; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__spread\", function() { return __spread; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__spreadArrays\", function() { return __spreadArrays; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__await\", function() { return __await; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__asyncGenerator\", function() { return __asyncGenerator; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__asyncDelegator\", function() { return __asyncDelegator; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__asyncValues\", function() { return __asyncValues; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__makeTemplateObject\", function() { return __makeTemplateObject; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__importStar\", function() { return __importStar; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__importDefault\", function() { return __importDefault; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__classPrivateFieldGet\", function() { return __classPrivateFieldGet; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__classPrivateFieldSet\", function() { return __classPrivateFieldSet; });\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nfunction __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nvar __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nfunction __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nfunction __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nfunction __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nfunction __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nfunction __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nfunction __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nfunction __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nfunction __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nfunction __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nfunction __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nfunction __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nfunction __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nfunction __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nfunction __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nfunction __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nfunction __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nfunction __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nfunction __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nfunction __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nfunction __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGF0bGFza2l0L3Rvb2x0aXAvbm9kZV9tb2R1bGVzL3RzbGliL3RzbGliLmVzNi5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AYXRsYXNraXQvdG9vbHRpcC9ub2RlX21vZHVsZXMvdHNsaWIvdHNsaWIuZXM2LmpzPzMxZDAiXSwic291cmNlc0NvbnRlbnQiOlsiLyohICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbkNvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxyXG5MaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpOyB5b3UgbWF5IG5vdCB1c2VcclxudGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGVcclxuTGljZW5zZSBhdCBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcclxuXHJcblRISVMgQ09ERSBJUyBQUk9WSURFRCBPTiBBTiAqQVMgSVMqIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTllcclxuS0lORCwgRUlUSEVSIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIFdJVEhPVVQgTElNSVRBVElPTiBBTlkgSU1QTElFRFxyXG5XQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgVElUTEUsIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLFxyXG5NRVJDSEFOVEFCTElUWSBPUiBOT04tSU5GUklOR0VNRU5ULlxyXG5cclxuU2VlIHRoZSBBcGFjaGUgVmVyc2lvbiAyLjAgTGljZW5zZSBmb3Igc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zXHJcbmFuZCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cclxuLyogZ2xvYmFsIFJlZmxlY3QsIFByb21pc2UgKi9cclxuXHJcbnZhciBleHRlbmRTdGF0aWNzID0gZnVuY3Rpb24oZCwgYikge1xyXG4gICAgZXh0ZW5kU3RhdGljcyA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiB8fFxyXG4gICAgICAgICh7IF9fcHJvdG9fXzogW10gfSBpbnN0YW5jZW9mIEFycmF5ICYmIGZ1bmN0aW9uIChkLCBiKSB7IGQuX19wcm90b19fID0gYjsgfSkgfHxcclxuICAgICAgICBmdW5jdGlvbiAoZCwgYikgeyBmb3IgKHZhciBwIGluIGIpIGlmIChiLmhhc093blByb3BlcnR5KHApKSBkW3BdID0gYltwXTsgfTtcclxuICAgIHJldHVybiBleHRlbmRTdGF0aWNzKGQsIGIpO1xyXG59O1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fZXh0ZW5kcyhkLCBiKSB7XHJcbiAgICBleHRlbmRTdGF0aWNzKGQsIGIpO1xyXG4gICAgZnVuY3Rpb24gX18oKSB7IHRoaXMuY29uc3RydWN0b3IgPSBkOyB9XHJcbiAgICBkLnByb3RvdHlwZSA9IGIgPT09IG51bGwgPyBPYmplY3QuY3JlYXRlKGIpIDogKF9fLnByb3RvdHlwZSA9IGIucHJvdG90eXBlLCBuZXcgX18oKSk7XHJcbn1cclxuXHJcbmV4cG9ydCB2YXIgX19hc3NpZ24gPSBmdW5jdGlvbigpIHtcclxuICAgIF9fYXNzaWduID0gT2JqZWN0LmFzc2lnbiB8fCBmdW5jdGlvbiBfX2Fzc2lnbih0KSB7XHJcbiAgICAgICAgZm9yICh2YXIgcywgaSA9IDEsIG4gPSBhcmd1bWVudHMubGVuZ3RoOyBpIDwgbjsgaSsrKSB7XHJcbiAgICAgICAgICAgIHMgPSBhcmd1bWVudHNbaV07XHJcbiAgICAgICAgICAgIGZvciAodmFyIHAgaW4gcykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSkgdFtwXSA9IHNbcF07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIF9fYXNzaWduLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3Jlc3QocywgZSkge1xyXG4gICAgdmFyIHQgPSB7fTtcclxuICAgIGZvciAodmFyIHAgaW4gcykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSAmJiBlLmluZGV4T2YocCkgPCAwKVxyXG4gICAgICAgIHRbcF0gPSBzW3BdO1xyXG4gICAgaWYgKHMgIT0gbnVsbCAmJiB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyA9PT0gXCJmdW5jdGlvblwiKVxyXG4gICAgICAgIGZvciAodmFyIGkgPSAwLCBwID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhzKTsgaSA8IHAubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgaWYgKGUuaW5kZXhPZihwW2ldKSA8IDAgJiYgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKHMsIHBbaV0pKVxyXG4gICAgICAgICAgICAgICAgdFtwW2ldXSA9IHNbcFtpXV07XHJcbiAgICAgICAgfVxyXG4gICAgcmV0dXJuIHQ7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2RlY29yYXRlKGRlY29yYXRvcnMsIHRhcmdldCwga2V5LCBkZXNjKSB7XHJcbiAgICB2YXIgYyA9IGFyZ3VtZW50cy5sZW5ndGgsIHIgPSBjIDwgMyA/IHRhcmdldCA6IGRlc2MgPT09IG51bGwgPyBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0YXJnZXQsIGtleSkgOiBkZXNjLCBkO1xyXG4gICAgaWYgKHR5cGVvZiBSZWZsZWN0ID09PSBcIm9iamVjdFwiICYmIHR5cGVvZiBSZWZsZWN0LmRlY29yYXRlID09PSBcImZ1bmN0aW9uXCIpIHIgPSBSZWZsZWN0LmRlY29yYXRlKGRlY29yYXRvcnMsIHRhcmdldCwga2V5LCBkZXNjKTtcclxuICAgIGVsc2UgZm9yICh2YXIgaSA9IGRlY29yYXRvcnMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIGlmIChkID0gZGVjb3JhdG9yc1tpXSkgciA9IChjIDwgMyA/IGQocikgOiBjID4gMyA/IGQodGFyZ2V0LCBrZXksIHIpIDogZCh0YXJnZXQsIGtleSkpIHx8IHI7XHJcbiAgICByZXR1cm4gYyA+IDMgJiYgciAmJiBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIHIpLCByO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19wYXJhbShwYXJhbUluZGV4LCBkZWNvcmF0b3IpIHtcclxuICAgIHJldHVybiBmdW5jdGlvbiAodGFyZ2V0LCBrZXkpIHsgZGVjb3JhdG9yKHRhcmdldCwga2V5LCBwYXJhbUluZGV4KTsgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19tZXRhZGF0YShtZXRhZGF0YUtleSwgbWV0YWRhdGFWYWx1ZSkge1xyXG4gICAgaWYgKHR5cGVvZiBSZWZsZWN0ID09PSBcIm9iamVjdFwiICYmIHR5cGVvZiBSZWZsZWN0Lm1ldGFkYXRhID09PSBcImZ1bmN0aW9uXCIpIHJldHVybiBSZWZsZWN0Lm1ldGFkYXRhKG1ldGFkYXRhS2V5LCBtZXRhZGF0YVZhbHVlKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fYXdhaXRlcih0aGlzQXJnLCBfYXJndW1lbnRzLCBQLCBnZW5lcmF0b3IpIHtcclxuICAgIGZ1bmN0aW9uIGFkb3B0KHZhbHVlKSB7IHJldHVybiB2YWx1ZSBpbnN0YW5jZW9mIFAgPyB2YWx1ZSA6IG5ldyBQKGZ1bmN0aW9uIChyZXNvbHZlKSB7IHJlc29sdmUodmFsdWUpOyB9KTsgfVxyXG4gICAgcmV0dXJuIG5ldyAoUCB8fCAoUCA9IFByb21pc2UpKShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XHJcbiAgICAgICAgZnVuY3Rpb24gZnVsZmlsbGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yLm5leHQodmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxyXG4gICAgICAgIGZ1bmN0aW9uIHJlamVjdGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yW1widGhyb3dcIl0odmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxyXG4gICAgICAgIGZ1bmN0aW9uIHN0ZXAocmVzdWx0KSB7IHJlc3VsdC5kb25lID8gcmVzb2x2ZShyZXN1bHQudmFsdWUpIDogYWRvcHQocmVzdWx0LnZhbHVlKS50aGVuKGZ1bGZpbGxlZCwgcmVqZWN0ZWQpOyB9XHJcbiAgICAgICAgc3RlcCgoZ2VuZXJhdG9yID0gZ2VuZXJhdG9yLmFwcGx5KHRoaXNBcmcsIF9hcmd1bWVudHMgfHwgW10pKS5uZXh0KCkpO1xyXG4gICAgfSk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2dlbmVyYXRvcih0aGlzQXJnLCBib2R5KSB7XHJcbiAgICB2YXIgXyA9IHsgbGFiZWw6IDAsIHNlbnQ6IGZ1bmN0aW9uKCkgeyBpZiAodFswXSAmIDEpIHRocm93IHRbMV07IHJldHVybiB0WzFdOyB9LCB0cnlzOiBbXSwgb3BzOiBbXSB9LCBmLCB5LCB0LCBnO1xyXG4gICAgcmV0dXJuIGcgPSB7IG5leHQ6IHZlcmIoMCksIFwidGhyb3dcIjogdmVyYigxKSwgXCJyZXR1cm5cIjogdmVyYigyKSB9LCB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgKGdbU3ltYm9sLml0ZXJhdG9yXSA9IGZ1bmN0aW9uKCkgeyByZXR1cm4gdGhpczsgfSksIGc7XHJcbiAgICBmdW5jdGlvbiB2ZXJiKG4pIHsgcmV0dXJuIGZ1bmN0aW9uICh2KSB7IHJldHVybiBzdGVwKFtuLCB2XSk7IH07IH1cclxuICAgIGZ1bmN0aW9uIHN0ZXAob3ApIHtcclxuICAgICAgICBpZiAoZikgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkdlbmVyYXRvciBpcyBhbHJlYWR5IGV4ZWN1dGluZy5cIik7XHJcbiAgICAgICAgd2hpbGUgKF8pIHRyeSB7XHJcbiAgICAgICAgICAgIGlmIChmID0gMSwgeSAmJiAodCA9IG9wWzBdICYgMiA/IHlbXCJyZXR1cm5cIl0gOiBvcFswXSA/IHlbXCJ0aHJvd1wiXSB8fCAoKHQgPSB5W1wicmV0dXJuXCJdKSAmJiB0LmNhbGwoeSksIDApIDogeS5uZXh0KSAmJiAhKHQgPSB0LmNhbGwoeSwgb3BbMV0pKS5kb25lKSByZXR1cm4gdDtcclxuICAgICAgICAgICAgaWYgKHkgPSAwLCB0KSBvcCA9IFtvcFswXSAmIDIsIHQudmFsdWVdO1xyXG4gICAgICAgICAgICBzd2l0Y2ggKG9wWzBdKSB7XHJcbiAgICAgICAgICAgICAgICBjYXNlIDA6IGNhc2UgMTogdCA9IG9wOyBicmVhaztcclxuICAgICAgICAgICAgICAgIGNhc2UgNDogXy5sYWJlbCsrOyByZXR1cm4geyB2YWx1ZTogb3BbMV0sIGRvbmU6IGZhbHNlIH07XHJcbiAgICAgICAgICAgICAgICBjYXNlIDU6IF8ubGFiZWwrKzsgeSA9IG9wWzFdOyBvcCA9IFswXTsgY29udGludWU7XHJcbiAgICAgICAgICAgICAgICBjYXNlIDc6IG9wID0gXy5vcHMucG9wKCk7IF8udHJ5cy5wb3AoKTsgY29udGludWU7XHJcbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICAgICAgICAgIGlmICghKHQgPSBfLnRyeXMsIHQgPSB0Lmxlbmd0aCA+IDAgJiYgdFt0Lmxlbmd0aCAtIDFdKSAmJiAob3BbMF0gPT09IDYgfHwgb3BbMF0gPT09IDIpKSB7IF8gPSAwOyBjb250aW51ZTsgfVxyXG4gICAgICAgICAgICAgICAgICAgIGlmIChvcFswXSA9PT0gMyAmJiAoIXQgfHwgKG9wWzFdID4gdFswXSAmJiBvcFsxXSA8IHRbM10pKSkgeyBfLmxhYmVsID0gb3BbMV07IGJyZWFrOyB9XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKG9wWzBdID09PSA2ICYmIF8ubGFiZWwgPCB0WzFdKSB7IF8ubGFiZWwgPSB0WzFdOyB0ID0gb3A7IGJyZWFrOyB9XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHQgJiYgXy5sYWJlbCA8IHRbMl0pIHsgXy5sYWJlbCA9IHRbMl07IF8ub3BzLnB1c2gob3ApOyBicmVhazsgfVxyXG4gICAgICAgICAgICAgICAgICAgIGlmICh0WzJdKSBfLm9wcy5wb3AoKTtcclxuICAgICAgICAgICAgICAgICAgICBfLnRyeXMucG9wKCk7IGNvbnRpbnVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIG9wID0gYm9keS5jYWxsKHRoaXNBcmcsIF8pO1xyXG4gICAgICAgIH0gY2F0Y2ggKGUpIHsgb3AgPSBbNiwgZV07IHkgPSAwOyB9IGZpbmFsbHkgeyBmID0gdCA9IDA7IH1cclxuICAgICAgICBpZiAob3BbMF0gJiA1KSB0aHJvdyBvcFsxXTsgcmV0dXJuIHsgdmFsdWU6IG9wWzBdID8gb3BbMV0gOiB2b2lkIDAsIGRvbmU6IHRydWUgfTtcclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fZXhwb3J0U3RhcihtLCBleHBvcnRzKSB7XHJcbiAgICBmb3IgKHZhciBwIGluIG0pIGlmICghZXhwb3J0cy5oYXNPd25Qcm9wZXJ0eShwKSkgZXhwb3J0c1twXSA9IG1bcF07XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3ZhbHVlcyhvKSB7XHJcbiAgICB2YXIgcyA9IHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiBTeW1ib2wuaXRlcmF0b3IsIG0gPSBzICYmIG9bc10sIGkgPSAwO1xyXG4gICAgaWYgKG0pIHJldHVybiBtLmNhbGwobyk7XHJcbiAgICBpZiAobyAmJiB0eXBlb2Ygby5sZW5ndGggPT09IFwibnVtYmVyXCIpIHJldHVybiB7XHJcbiAgICAgICAgbmV4dDogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICBpZiAobyAmJiBpID49IG8ubGVuZ3RoKSBvID0gdm9pZCAwO1xyXG4gICAgICAgICAgICByZXR1cm4geyB2YWx1ZTogbyAmJiBvW2krK10sIGRvbmU6ICFvIH07XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuICAgIHRocm93IG5ldyBUeXBlRXJyb3IocyA/IFwiT2JqZWN0IGlzIG5vdCBpdGVyYWJsZS5cIiA6IFwiU3ltYm9sLml0ZXJhdG9yIGlzIG5vdCBkZWZpbmVkLlwiKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fcmVhZChvLCBuKSB7XHJcbiAgICB2YXIgbSA9IHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiBvW1N5bWJvbC5pdGVyYXRvcl07XHJcbiAgICBpZiAoIW0pIHJldHVybiBvO1xyXG4gICAgdmFyIGkgPSBtLmNhbGwobyksIHIsIGFyID0gW10sIGU7XHJcbiAgICB0cnkge1xyXG4gICAgICAgIHdoaWxlICgobiA9PT0gdm9pZCAwIHx8IG4tLSA+IDApICYmICEociA9IGkubmV4dCgpKS5kb25lKSBhci5wdXNoKHIudmFsdWUpO1xyXG4gICAgfVxyXG4gICAgY2F0Y2ggKGVycm9yKSB7IGUgPSB7IGVycm9yOiBlcnJvciB9OyB9XHJcbiAgICBmaW5hbGx5IHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBpZiAociAmJiAhci5kb25lICYmIChtID0gaVtcInJldHVyblwiXSkpIG0uY2FsbChpKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZmluYWxseSB7IGlmIChlKSB0aHJvdyBlLmVycm9yOyB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYXI7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3NwcmVhZCgpIHtcclxuICAgIGZvciAodmFyIGFyID0gW10sIGkgPSAwOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKVxyXG4gICAgICAgIGFyID0gYXIuY29uY2F0KF9fcmVhZChhcmd1bWVudHNbaV0pKTtcclxuICAgIHJldHVybiBhcjtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fc3ByZWFkQXJyYXlzKCkge1xyXG4gICAgZm9yICh2YXIgcyA9IDAsIGkgPSAwLCBpbCA9IGFyZ3VtZW50cy5sZW5ndGg7IGkgPCBpbDsgaSsrKSBzICs9IGFyZ3VtZW50c1tpXS5sZW5ndGg7XHJcbiAgICBmb3IgKHZhciByID0gQXJyYXkocyksIGsgPSAwLCBpID0gMDsgaSA8IGlsOyBpKyspXHJcbiAgICAgICAgZm9yICh2YXIgYSA9IGFyZ3VtZW50c1tpXSwgaiA9IDAsIGpsID0gYS5sZW5ndGg7IGogPCBqbDsgaisrLCBrKyspXHJcbiAgICAgICAgICAgIHJba10gPSBhW2pdO1xyXG4gICAgcmV0dXJuIHI7XHJcbn07XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19hd2FpdCh2KSB7XHJcbiAgICByZXR1cm4gdGhpcyBpbnN0YW5jZW9mIF9fYXdhaXQgPyAodGhpcy52ID0gdiwgdGhpcykgOiBuZXcgX19hd2FpdCh2KTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fYXN5bmNHZW5lcmF0b3IodGhpc0FyZywgX2FyZ3VtZW50cywgZ2VuZXJhdG9yKSB7XHJcbiAgICBpZiAoIVN5bWJvbC5hc3luY0l0ZXJhdG9yKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiU3ltYm9sLmFzeW5jSXRlcmF0b3IgaXMgbm90IGRlZmluZWQuXCIpO1xyXG4gICAgdmFyIGcgPSBnZW5lcmF0b3IuYXBwbHkodGhpc0FyZywgX2FyZ3VtZW50cyB8fCBbXSksIGksIHEgPSBbXTtcclxuICAgIHJldHVybiBpID0ge30sIHZlcmIoXCJuZXh0XCIpLCB2ZXJiKFwidGhyb3dcIiksIHZlcmIoXCJyZXR1cm5cIiksIGlbU3ltYm9sLmFzeW5jSXRlcmF0b3JdID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gdGhpczsgfSwgaTtcclxuICAgIGZ1bmN0aW9uIHZlcmIobikgeyBpZiAoZ1tuXSkgaVtuXSA9IGZ1bmN0aW9uICh2KSB7IHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbiAoYSwgYikgeyBxLnB1c2goW24sIHYsIGEsIGJdKSA+IDEgfHwgcmVzdW1lKG4sIHYpOyB9KTsgfTsgfVxyXG4gICAgZnVuY3Rpb24gcmVzdW1lKG4sIHYpIHsgdHJ5IHsgc3RlcChnW25dKHYpKTsgfSBjYXRjaCAoZSkgeyBzZXR0bGUocVswXVszXSwgZSk7IH0gfVxyXG4gICAgZnVuY3Rpb24gc3RlcChyKSB7IHIudmFsdWUgaW5zdGFuY2VvZiBfX2F3YWl0ID8gUHJvbWlzZS5yZXNvbHZlKHIudmFsdWUudikudGhlbihmdWxmaWxsLCByZWplY3QpIDogc2V0dGxlKHFbMF1bMl0sIHIpOyB9XHJcbiAgICBmdW5jdGlvbiBmdWxmaWxsKHZhbHVlKSB7IHJlc3VtZShcIm5leHRcIiwgdmFsdWUpOyB9XHJcbiAgICBmdW5jdGlvbiByZWplY3QodmFsdWUpIHsgcmVzdW1lKFwidGhyb3dcIiwgdmFsdWUpOyB9XHJcbiAgICBmdW5jdGlvbiBzZXR0bGUoZiwgdikgeyBpZiAoZih2KSwgcS5zaGlmdCgpLCBxLmxlbmd0aCkgcmVzdW1lKHFbMF1bMF0sIHFbMF1bMV0pOyB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2FzeW5jRGVsZWdhdG9yKG8pIHtcclxuICAgIHZhciBpLCBwO1xyXG4gICAgcmV0dXJuIGkgPSB7fSwgdmVyYihcIm5leHRcIiksIHZlcmIoXCJ0aHJvd1wiLCBmdW5jdGlvbiAoZSkgeyB0aHJvdyBlOyB9KSwgdmVyYihcInJldHVyblwiKSwgaVtTeW1ib2wuaXRlcmF0b3JdID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gdGhpczsgfSwgaTtcclxuICAgIGZ1bmN0aW9uIHZlcmIobiwgZikgeyBpW25dID0gb1tuXSA/IGZ1bmN0aW9uICh2KSB7IHJldHVybiAocCA9ICFwKSA/IHsgdmFsdWU6IF9fYXdhaXQob1tuXSh2KSksIGRvbmU6IG4gPT09IFwicmV0dXJuXCIgfSA6IGYgPyBmKHYpIDogdjsgfSA6IGY7IH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fYXN5bmNWYWx1ZXMobykge1xyXG4gICAgaWYgKCFTeW1ib2wuYXN5bmNJdGVyYXRvcikgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlN5bWJvbC5hc3luY0l0ZXJhdG9yIGlzIG5vdCBkZWZpbmVkLlwiKTtcclxuICAgIHZhciBtID0gb1tTeW1ib2wuYXN5bmNJdGVyYXRvcl0sIGk7XHJcbiAgICByZXR1cm4gbSA/IG0uY2FsbChvKSA6IChvID0gdHlwZW9mIF9fdmFsdWVzID09PSBcImZ1bmN0aW9uXCIgPyBfX3ZhbHVlcyhvKSA6IG9bU3ltYm9sLml0ZXJhdG9yXSgpLCBpID0ge30sIHZlcmIoXCJuZXh0XCIpLCB2ZXJiKFwidGhyb3dcIiksIHZlcmIoXCJyZXR1cm5cIiksIGlbU3ltYm9sLmFzeW5jSXRlcmF0b3JdID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gdGhpczsgfSwgaSk7XHJcbiAgICBmdW5jdGlvbiB2ZXJiKG4pIHsgaVtuXSA9IG9bbl0gJiYgZnVuY3Rpb24gKHYpIHsgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHsgdiA9IG9bbl0odiksIHNldHRsZShyZXNvbHZlLCByZWplY3QsIHYuZG9uZSwgdi52YWx1ZSk7IH0pOyB9OyB9XHJcbiAgICBmdW5jdGlvbiBzZXR0bGUocmVzb2x2ZSwgcmVqZWN0LCBkLCB2KSB7IFByb21pc2UucmVzb2x2ZSh2KS50aGVuKGZ1bmN0aW9uKHYpIHsgcmVzb2x2ZSh7IHZhbHVlOiB2LCBkb25lOiBkIH0pOyB9LCByZWplY3QpOyB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX21ha2VUZW1wbGF0ZU9iamVjdChjb29rZWQsIHJhdykge1xyXG4gICAgaWYgKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSkgeyBPYmplY3QuZGVmaW5lUHJvcGVydHkoY29va2VkLCBcInJhd1wiLCB7IHZhbHVlOiByYXcgfSk7IH0gZWxzZSB7IGNvb2tlZC5yYXcgPSByYXc7IH1cclxuICAgIHJldHVybiBjb29rZWQ7XHJcbn07XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19pbXBvcnRTdGFyKG1vZCkge1xyXG4gICAgaWYgKG1vZCAmJiBtb2QuX19lc01vZHVsZSkgcmV0dXJuIG1vZDtcclxuICAgIHZhciByZXN1bHQgPSB7fTtcclxuICAgIGlmIChtb2QgIT0gbnVsbCkgZm9yICh2YXIgayBpbiBtb2QpIGlmIChPYmplY3QuaGFzT3duUHJvcGVydHkuY2FsbChtb2QsIGspKSByZXN1bHRba10gPSBtb2Rba107XHJcbiAgICByZXN1bHQuZGVmYXVsdCA9IG1vZDtcclxuICAgIHJldHVybiByZXN1bHQ7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2ltcG9ydERlZmF1bHQobW9kKSB7XHJcbiAgICByZXR1cm4gKG1vZCAmJiBtb2QuX19lc01vZHVsZSkgPyBtb2QgOiB7IGRlZmF1bHQ6IG1vZCB9O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19jbGFzc1ByaXZhdGVGaWVsZEdldChyZWNlaXZlciwgcHJpdmF0ZU1hcCkge1xyXG4gICAgaWYgKCFwcml2YXRlTWFwLmhhcyhyZWNlaXZlcikpIHtcclxuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiYXR0ZW1wdGVkIHRvIGdldCBwcml2YXRlIGZpZWxkIG9uIG5vbi1pbnN0YW5jZVwiKTtcclxuICAgIH1cclxuICAgIHJldHVybiBwcml2YXRlTWFwLmdldChyZWNlaXZlcik7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2NsYXNzUHJpdmF0ZUZpZWxkU2V0KHJlY2VpdmVyLCBwcml2YXRlTWFwLCB2YWx1ZSkge1xyXG4gICAgaWYgKCFwcml2YXRlTWFwLmhhcyhyZWNlaXZlcikpIHtcclxuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiYXR0ZW1wdGVkIHRvIHNldCBwcml2YXRlIGZpZWxkIG9uIG5vbi1pbnN0YW5jZVwiKTtcclxuICAgIH1cclxuICAgIHByaXZhdGVNYXAuc2V0KHJlY2VpdmVyLCB2YWx1ZSk7XHJcbiAgICByZXR1cm4gdmFsdWU7XHJcbn1cclxuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@atlaskit/tooltip/node_modules/tslib/tslib.es6.js\n"); /***/ }), /***/ "./node_modules/@babel/runtime-corejs2/core-js/date/now.js": /*!*****************************************************************!*\ !*** ./node_modules/@babel/runtime-corejs2/core-js/date/now.js ***! \*****************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("module.exports = __webpack_require__(/*! core-js/library/fn/date/now */ \"./node_modules/core-js/library/fn/date/now.js\");//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUtY29yZWpzMi9jb3JlLWpzL2RhdGUvbm93LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lLWNvcmVqczIvY29yZS1qcy9kYXRlL25vdy5qcz8wYTBkIl0sInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcImNvcmUtanMvbGlicmFyeS9mbi9kYXRlL25vd1wiKTsiXSwibWFwcGluZ3MiOiJBQUFBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@babel/runtime-corejs2/core-js/date/now.js\n"); /***/ }), /***/ "./node_modules/@babel/runtime-corejs2/core-js/number/is-integer.js": /*!**************************************************************************!*\ !*** ./node_modules/@babel/runtime-corejs2/core-js/number/is-integer.js ***! \**************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("module.exports = __webpack_require__(/*! core-js/library/fn/number/is-integer */ \"./node_modules/core-js/library/fn/number/is-integer.js\");//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUtY29yZWpzMi9jb3JlLWpzL251bWJlci9pcy1pbnRlZ2VyLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lLWNvcmVqczIvY29yZS1qcy9udW1iZXIvaXMtaW50ZWdlci5qcz8zYmUyIl0sInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcImNvcmUtanMvbGlicmFyeS9mbi9udW1iZXIvaXMtaW50ZWdlclwiKTsiXSwibWFwcGluZ3MiOiJBQUFBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@babel/runtime-corejs2/core-js/number/is-integer.js\n"); /***/ }), /***/ "./node_modules/@babel/runtime-corejs2/core-js/object/assign.js": /*!**********************************************************************!*\ !*** ./node_modules/@babel/runtime-corejs2/core-js/object/assign.js ***! \**********************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("module.exports = __webpack_require__(/*! core-js/library/fn/object/assign */ \"./node_modules/core-js/library/fn/object/assign.js\");//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUtY29yZWpzMi9jb3JlLWpzL29iamVjdC9hc3NpZ24uanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUtY29yZWpzMi9jb3JlLWpzL29iamVjdC9hc3NpZ24uanM/NTE3NiJdLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCJjb3JlLWpzL2xpYnJhcnkvZm4vb2JqZWN0L2Fzc2lnblwiKTsiXSwibWFwcGluZ3MiOiJBQUFBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@babel/runtime-corejs2/core-js/object/assign.js\n"); /***/ }), /***/ "./node_modules/@babel/runtime-corejs2/core-js/object/create.js": /*!**********************************************************************!*\ !*** ./node_modules/@babel/runtime-corejs2/core-js/object/create.js ***! \**********************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("module.exports = __webpack_require__(/*! core-js/library/fn/object/create */ \"./node_modules/core-js/library/fn/object/create.js\");//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUtY29yZWpzMi9jb3JlLWpzL29iamVjdC9jcmVhdGUuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUtY29yZWpzMi9jb3JlLWpzL29iamVjdC9jcmVhdGUuanM/NGFhNiJdLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCJjb3JlLWpzL2xpYnJhcnkvZm4vb2JqZWN0L2NyZWF0ZVwiKTsiXSwibWFwcGluZ3MiOiJBQUFBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@babel/runtime-corejs2/core-js/object/create.js\n"); /***/ }), /***/ "./node_modules/@babel/runtime-corejs2/core-js/object/keys.js": /*!********************************************************************!*\ !*** ./node_modules/@babel/runtime-corejs2/core-js/object/keys.js ***! \********************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("module.exports = __webpack_require__(/*! core-js/library/fn/object/keys */ \"./node_modules/core-js/library/fn/object/keys.js\");//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUtY29yZWpzMi9jb3JlLWpzL29iamVjdC9rZXlzLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lLWNvcmVqczIvY29yZS1qcy9vYmplY3Qva2V5cy5qcz9hNGJiIl0sInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcImNvcmUtanMvbGlicmFyeS9mbi9vYmplY3Qva2V5c1wiKTsiXSwibWFwcGluZ3MiOiJBQUFBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@babel/runtime-corejs2/core-js/object/keys.js\n"); /***/ }), /***/ "./node_modules/@babel/runtime-corejs2/core-js/object/values.js": /*!**********************************************************************!*\ !*** ./node_modules/@babel/runtime-corejs2/core-js/object/values.js ***! \**********************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("module.exports = __webpack_require__(/*! core-js/library/fn/object/values */ \"./node_modules/core-js/library/fn/object/values.js\");//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUtY29yZWpzMi9jb3JlLWpzL29iamVjdC92YWx1ZXMuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUtY29yZWpzMi9jb3JlLWpzL29iamVjdC92YWx1ZXMuanM/ZGIwYyJdLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCJjb3JlLWpzL2xpYnJhcnkvZm4vb2JqZWN0L3ZhbHVlc1wiKTsiXSwibWFwcGluZ3MiOiJBQUFBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@babel/runtime-corejs2/core-js/object/values.js\n"); /***/ }), /***/ "./node_modules/@babel/runtime-corejs2/helpers/esm/extends.js": /*!********************************************************************!*\ !*** ./node_modules/@babel/runtime-corejs2/helpers/esm/extends.js ***! \********************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _extends; });\n/* harmony import */ var _core_js_object_assign__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../core-js/object/assign */ \"./node_modules/@babel/runtime-corejs2/core-js/object/assign.js\");\n/* harmony import */ var _core_js_object_assign__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_core_js_object_assign__WEBPACK_IMPORTED_MODULE_0__);\n\nfunction _extends() {\n _extends = _core_js_object_assign__WEBPACK_IMPORTED_MODULE_0___default.a || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUtY29yZWpzMi9oZWxwZXJzL2VzbS9leHRlbmRzLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lLWNvcmVqczIvaGVscGVycy9lc20vZXh0ZW5kcy5qcz85MGVjIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfT2JqZWN0JGFzc2lnbiBmcm9tIFwiLi4vLi4vY29yZS1qcy9vYmplY3QvYXNzaWduXCI7XG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBfZXh0ZW5kcygpIHtcbiAgX2V4dGVuZHMgPSBfT2JqZWN0JGFzc2lnbiB8fCBmdW5jdGlvbiAodGFyZ2V0KSB7XG4gICAgZm9yICh2YXIgaSA9IDE7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHtcbiAgICAgIHZhciBzb3VyY2UgPSBhcmd1bWVudHNbaV07XG5cbiAgICAgIGZvciAodmFyIGtleSBpbiBzb3VyY2UpIHtcbiAgICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzb3VyY2UsIGtleSkpIHtcbiAgICAgICAgICB0YXJnZXRba2V5XSA9IHNvdXJjZVtrZXldO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHRhcmdldDtcbiAgfTtcblxuICByZXR1cm4gX2V4dGVuZHMuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbn0iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@babel/runtime-corejs2/helpers/esm/extends.js\n"); /***/ }), /***/ "./node_modules/@babel/runtime-corejs2/helpers/esm/inheritsLoose.js": /*!**************************************************************************!*\ !*** ./node_modules/@babel/runtime-corejs2/helpers/esm/inheritsLoose.js ***! \**************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _inheritsLoose; });\n/* harmony import */ var _core_js_object_create__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../core-js/object/create */ \"./node_modules/@babel/runtime-corejs2/core-js/object/create.js\");\n/* harmony import */ var _core_js_object_create__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_core_js_object_create__WEBPACK_IMPORTED_MODULE_0__);\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = _core_js_object_create__WEBPACK_IMPORTED_MODULE_0___default()(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUtY29yZWpzMi9oZWxwZXJzL2VzbS9pbmhlcml0c0xvb3NlLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lLWNvcmVqczIvaGVscGVycy9lc20vaW5oZXJpdHNMb29zZS5qcz83M2JjIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfT2JqZWN0JGNyZWF0ZSBmcm9tIFwiLi4vLi4vY29yZS1qcy9vYmplY3QvY3JlYXRlXCI7XG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBfaW5oZXJpdHNMb29zZShzdWJDbGFzcywgc3VwZXJDbGFzcykge1xuICBzdWJDbGFzcy5wcm90b3R5cGUgPSBfT2JqZWN0JGNyZWF0ZShzdXBlckNsYXNzLnByb3RvdHlwZSk7XG4gIHN1YkNsYXNzLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9IHN1YkNsYXNzO1xuICBzdWJDbGFzcy5fX3Byb3RvX18gPSBzdXBlckNsYXNzO1xufSJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@babel/runtime-corejs2/helpers/esm/inheritsLoose.js\n"); /***/ }), /***/ "./node_modules/@babel/runtime/helpers/arrayWithHoles.js": /*!***************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/arrayWithHoles.js ***! \***************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { eval("function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nmodule.exports = _arrayWithHoles;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9hcnJheVdpdGhIb2xlcy5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2FycmF5V2l0aEhvbGVzLmpzP2MxMzUiXSwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gX2FycmF5V2l0aEhvbGVzKGFycikge1xuICBpZiAoQXJyYXkuaXNBcnJheShhcnIpKSByZXR1cm4gYXJyO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IF9hcnJheVdpdGhIb2xlczsiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@babel/runtime/helpers/arrayWithHoles.js\n"); /***/ }), /***/ "./node_modules/@babel/runtime/helpers/arrayWithoutHoles.js": /*!******************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/arrayWithoutHoles.js ***! \******************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { eval("function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n }\n}\n\nmodule.exports = _arrayWithoutHoles;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9hcnJheVdpdGhvdXRIb2xlcy5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2FycmF5V2l0aG91dEhvbGVzLmpzPzIyMzYiXSwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gX2FycmF5V2l0aG91dEhvbGVzKGFycikge1xuICBpZiAoQXJyYXkuaXNBcnJheShhcnIpKSB7XG4gICAgZm9yICh2YXIgaSA9IDAsIGFycjIgPSBuZXcgQXJyYXkoYXJyLmxlbmd0aCk7IGkgPCBhcnIubGVuZ3RoOyBpKyspIHtcbiAgICAgIGFycjJbaV0gPSBhcnJbaV07XG4gICAgfVxuXG4gICAgcmV0dXJuIGFycjI7XG4gIH1cbn1cblxubW9kdWxlLmV4cG9ydHMgPSBfYXJyYXlXaXRob3V0SG9sZXM7Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@babel/runtime/helpers/arrayWithoutHoles.js\n"); /***/ }), /***/ "./node_modules/@babel/runtime/helpers/assertThisInitialized.js": /*!**********************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/assertThisInitialized.js ***! \**********************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { eval("function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nmodule.exports = _assertThisInitialized;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQuanM/M2M5NiJdLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBfYXNzZXJ0VGhpc0luaXRpYWxpemVkKHNlbGYpIHtcbiAgaWYgKHNlbGYgPT09IHZvaWQgMCkge1xuICAgIHRocm93IG5ldyBSZWZlcmVuY2VFcnJvcihcInRoaXMgaGFzbid0IGJlZW4gaW5pdGlhbGlzZWQgLSBzdXBlcigpIGhhc24ndCBiZWVuIGNhbGxlZFwiKTtcbiAgfVxuXG4gIHJldHVybiBzZWxmO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQ7Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@babel/runtime/helpers/assertThisInitialized.js\n"); /***/ }), /***/ "./node_modules/@babel/runtime/helpers/classCallCheck.js": /*!***************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/classCallCheck.js ***! \***************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { eval("function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nmodule.exports = _classCallCheck;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9jbGFzc0NhbGxDaGVjay5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2NsYXNzQ2FsbENoZWNrLmpzPzk3MGIiXSwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gX2NsYXNzQ2FsbENoZWNrKGluc3RhbmNlLCBDb25zdHJ1Y3Rvcikge1xuICBpZiAoIShpbnN0YW5jZSBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIik7XG4gIH1cbn1cblxubW9kdWxlLmV4cG9ydHMgPSBfY2xhc3NDYWxsQ2hlY2s7Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@babel/runtime/helpers/classCallCheck.js\n"); /***/ }), /***/ "./node_modules/@babel/runtime/helpers/createClass.js": /*!************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/createClass.js ***! \************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { eval("function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nmodule.exports = _createClass;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9jcmVhdGVDbGFzcy5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2NyZWF0ZUNsYXNzLmpzPzViYzMiXSwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gX2RlZmluZVByb3BlcnRpZXModGFyZ2V0LCBwcm9wcykge1xuICBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BzLmxlbmd0aDsgaSsrKSB7XG4gICAgdmFyIGRlc2NyaXB0b3IgPSBwcm9wc1tpXTtcbiAgICBkZXNjcmlwdG9yLmVudW1lcmFibGUgPSBkZXNjcmlwdG9yLmVudW1lcmFibGUgfHwgZmFsc2U7XG4gICAgZGVzY3JpcHRvci5jb25maWd1cmFibGUgPSB0cnVlO1xuICAgIGlmIChcInZhbHVlXCIgaW4gZGVzY3JpcHRvcikgZGVzY3JpcHRvci53cml0YWJsZSA9IHRydWU7XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgZGVzY3JpcHRvci5rZXksIGRlc2NyaXB0b3IpO1xuICB9XG59XG5cbmZ1bmN0aW9uIF9jcmVhdGVDbGFzcyhDb25zdHJ1Y3RvciwgcHJvdG9Qcm9wcywgc3RhdGljUHJvcHMpIHtcbiAgaWYgKHByb3RvUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLnByb3RvdHlwZSwgcHJvdG9Qcm9wcyk7XG4gIGlmIChzdGF0aWNQcm9wcykgX2RlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IsIHN0YXRpY1Byb3BzKTtcbiAgcmV0dXJuIENvbnN0cnVjdG9yO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IF9jcmVhdGVDbGFzczsiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@babel/runtime/helpers/createClass.js\n"); /***/ }), /***/ "./node_modules/@babel/runtime/helpers/defineProperty.js": /*!***************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/defineProperty.js ***! \***************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { eval("function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nmodule.exports = _defineProperty;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9kZWZpbmVQcm9wZXJ0eS5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2RlZmluZVByb3BlcnR5LmpzPzk1MjMiXSwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gX2RlZmluZVByb3BlcnR5KG9iaiwga2V5LCB2YWx1ZSkge1xuICBpZiAoa2V5IGluIG9iaikge1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwge1xuICAgICAgdmFsdWU6IHZhbHVlLFxuICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgIHdyaXRhYmxlOiB0cnVlXG4gICAgfSk7XG4gIH0gZWxzZSB7XG4gICAgb2JqW2tleV0gPSB2YWx1ZTtcbiAgfVxuXG4gIHJldHVybiBvYmo7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gX2RlZmluZVByb3BlcnR5OyJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@babel/runtime/helpers/defineProperty.js\n"); /***/ }), /***/ "./node_modules/@babel/runtime/helpers/extends.js": /*!********************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/extends.js ***! \********************************************************/ /*! no static exports found */ /***/ (function(module, exports) { eval("function _extends() {\n module.exports = _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nmodule.exports = _extends;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9leHRlbmRzLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXh0ZW5kcy5qcz9hNTU5Il0sInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIF9leHRlbmRzKCkge1xuICBtb2R1bGUuZXhwb3J0cyA9IF9leHRlbmRzID0gT2JqZWN0LmFzc2lnbiB8fCBmdW5jdGlvbiAodGFyZ2V0KSB7XG4gICAgZm9yICh2YXIgaSA9IDE7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHtcbiAgICAgIHZhciBzb3VyY2UgPSBhcmd1bWVudHNbaV07XG5cbiAgICAgIGZvciAodmFyIGtleSBpbiBzb3VyY2UpIHtcbiAgICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzb3VyY2UsIGtleSkpIHtcbiAgICAgICAgICB0YXJnZXRba2V5XSA9IHNvdXJjZVtrZXldO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHRhcmdldDtcbiAgfTtcblxuICByZXR1cm4gX2V4dGVuZHMuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBfZXh0ZW5kczsiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@babel/runtime/helpers/extends.js\n"); /***/ }), /***/ "./node_modules/@babel/runtime/helpers/getPrototypeOf.js": /*!***************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/getPrototypeOf.js ***! \***************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { eval("function _getPrototypeOf(o) {\n module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nmodule.exports = _getPrototypeOf;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9nZXRQcm90b3R5cGVPZi5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2dldFByb3RvdHlwZU9mLmpzPzM2YzYiXSwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gX2dldFByb3RvdHlwZU9mKG8pIHtcbiAgbW9kdWxlLmV4cG9ydHMgPSBfZ2V0UHJvdG90eXBlT2YgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgPyBPYmplY3QuZ2V0UHJvdG90eXBlT2YgOiBmdW5jdGlvbiBfZ2V0UHJvdG90eXBlT2Yobykge1xuICAgIHJldHVybiBvLl9fcHJvdG9fXyB8fCBPYmplY3QuZ2V0UHJvdG90eXBlT2Yobyk7XG4gIH07XG4gIHJldHVybiBfZ2V0UHJvdG90eXBlT2Yobyk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gX2dldFByb3RvdHlwZU9mOyJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@babel/runtime/helpers/getPrototypeOf.js\n"); /***/ }), /***/ "./node_modules/@babel/runtime/helpers/inherits.js": /*!*********************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/inherits.js ***! \*********************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("var setPrototypeOf = __webpack_require__(/*! ./setPrototypeOf */ \"./node_modules/@babel/runtime/helpers/setPrototypeOf.js\");\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}\n\nmodule.exports = _inherits;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9pbmhlcml0cy5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2luaGVyaXRzLmpzP2VkNmQiXSwic291cmNlc0NvbnRlbnQiOlsidmFyIHNldFByb3RvdHlwZU9mID0gcmVxdWlyZShcIi4vc2V0UHJvdG90eXBlT2ZcIik7XG5cbmZ1bmN0aW9uIF9pbmhlcml0cyhzdWJDbGFzcywgc3VwZXJDbGFzcykge1xuICBpZiAodHlwZW9mIHN1cGVyQ2xhc3MgIT09IFwiZnVuY3Rpb25cIiAmJiBzdXBlckNsYXNzICE9PSBudWxsKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlN1cGVyIGV4cHJlc3Npb24gbXVzdCBlaXRoZXIgYmUgbnVsbCBvciBhIGZ1bmN0aW9uXCIpO1xuICB9XG5cbiAgc3ViQ2xhc3MucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShzdXBlckNsYXNzICYmIHN1cGVyQ2xhc3MucHJvdG90eXBlLCB7XG4gICAgY29uc3RydWN0b3I6IHtcbiAgICAgIHZhbHVlOiBzdWJDbGFzcyxcbiAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgY29uZmlndXJhYmxlOiB0cnVlXG4gICAgfVxuICB9KTtcbiAgaWYgKHN1cGVyQ2xhc3MpIHNldFByb3RvdHlwZU9mKHN1YkNsYXNzLCBzdXBlckNsYXNzKTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBfaW5oZXJpdHM7Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@babel/runtime/helpers/inherits.js\n"); /***/ }), /***/ "./node_modules/@babel/runtime/helpers/iterableToArray.js": /*!****************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/iterableToArray.js ***! \****************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { eval("function _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nmodule.exports = _iterableToArray;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9pdGVyYWJsZVRvQXJyYXkuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9pdGVyYWJsZVRvQXJyYXkuanM/MTFiMCJdLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBfaXRlcmFibGVUb0FycmF5KGl0ZXIpIHtcbiAgaWYgKFN5bWJvbC5pdGVyYXRvciBpbiBPYmplY3QoaXRlcikgfHwgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGl0ZXIpID09PSBcIltvYmplY3QgQXJndW1lbnRzXVwiKSByZXR1cm4gQXJyYXkuZnJvbShpdGVyKTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBfaXRlcmFibGVUb0FycmF5OyJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@babel/runtime/helpers/iterableToArray.js\n"); /***/ }), /***/ "./node_modules/@babel/runtime/helpers/iterableToArrayLimit.js": /*!*********************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/iterableToArrayLimit.js ***! \*********************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { eval("function _iterableToArrayLimit(arr, i) {\n if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === \"[object Arguments]\")) {\n return;\n }\n\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nmodule.exports = _iterableToArrayLimit;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9pdGVyYWJsZVRvQXJyYXlMaW1pdC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2l0ZXJhYmxlVG9BcnJheUxpbWl0LmpzPzliNDIiXSwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gX2l0ZXJhYmxlVG9BcnJheUxpbWl0KGFyciwgaSkge1xuICBpZiAoIShTeW1ib2wuaXRlcmF0b3IgaW4gT2JqZWN0KGFycikgfHwgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGFycikgPT09IFwiW29iamVjdCBBcmd1bWVudHNdXCIpKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgdmFyIF9hcnIgPSBbXTtcbiAgdmFyIF9uID0gdHJ1ZTtcbiAgdmFyIF9kID0gZmFsc2U7XG4gIHZhciBfZSA9IHVuZGVmaW5lZDtcblxuICB0cnkge1xuICAgIGZvciAodmFyIF9pID0gYXJyW1N5bWJvbC5pdGVyYXRvcl0oKSwgX3M7ICEoX24gPSAoX3MgPSBfaS5uZXh0KCkpLmRvbmUpOyBfbiA9IHRydWUpIHtcbiAgICAgIF9hcnIucHVzaChfcy52YWx1ZSk7XG5cbiAgICAgIGlmIChpICYmIF9hcnIubGVuZ3RoID09PSBpKSBicmVhaztcbiAgICB9XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIF9kID0gdHJ1ZTtcbiAgICBfZSA9IGVycjtcbiAgfSBmaW5hbGx5IHtcbiAgICB0cnkge1xuICAgICAgaWYgKCFfbiAmJiBfaVtcInJldHVyblwiXSAhPSBudWxsKSBfaVtcInJldHVyblwiXSgpO1xuICAgIH0gZmluYWxseSB7XG4gICAgICBpZiAoX2QpIHRocm93IF9lO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBfYXJyO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IF9pdGVyYWJsZVRvQXJyYXlMaW1pdDsiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@babel/runtime/helpers/iterableToArrayLimit.js\n"); /***/ }), /***/ "./node_modules/@babel/runtime/helpers/nonIterableRest.js": /*!****************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/nonIterableRest.js ***! \****************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { eval("function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n}\n\nmodule.exports = _nonIterableRest;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9ub25JdGVyYWJsZVJlc3QuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9ub25JdGVyYWJsZVJlc3QuanM/YzI0MCJdLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBfbm9uSXRlcmFibGVSZXN0KCkge1xuICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiSW52YWxpZCBhdHRlbXB0IHRvIGRlc3RydWN0dXJlIG5vbi1pdGVyYWJsZSBpbnN0YW5jZVwiKTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBfbm9uSXRlcmFibGVSZXN0OyJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@babel/runtime/helpers/nonIterableRest.js\n"); /***/ }), /***/ "./node_modules/@babel/runtime/helpers/nonIterableSpread.js": /*!******************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/nonIterableSpread.js ***! \******************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { eval("function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\nmodule.exports = _nonIterableSpread;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9ub25JdGVyYWJsZVNwcmVhZC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL25vbkl0ZXJhYmxlU3ByZWFkLmpzPzA2NzYiXSwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gX25vbkl0ZXJhYmxlU3ByZWFkKCkge1xuICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiSW52YWxpZCBhdHRlbXB0IHRvIHNwcmVhZCBub24taXRlcmFibGUgaW5zdGFuY2VcIik7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gX25vbkl0ZXJhYmxlU3ByZWFkOyJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@babel/runtime/helpers/nonIterableSpread.js\n"); /***/ }), /***/ "./node_modules/@babel/runtime/helpers/objectSpread.js": /*!*************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/objectSpread.js ***! \*************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("var defineProperty = __webpack_require__(/*! ./defineProperty */ \"./node_modules/@babel/runtime/helpers/defineProperty.js\");\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n\n ownKeys.forEach(function (key) {\n defineProperty(target, key, source[key]);\n });\n }\n\n return target;\n}\n\nmodule.exports = _objectSpread;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9vYmplY3RTcHJlYWQuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9vYmplY3RTcHJlYWQuanM/MzE1NiJdLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgZGVmaW5lUHJvcGVydHkgPSByZXF1aXJlKFwiLi9kZWZpbmVQcm9wZXJ0eVwiKTtcblxuZnVuY3Rpb24gX29iamVjdFNwcmVhZCh0YXJnZXQpIHtcbiAgZm9yICh2YXIgaSA9IDE7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHtcbiAgICB2YXIgc291cmNlID0gYXJndW1lbnRzW2ldICE9IG51bGwgPyBhcmd1bWVudHNbaV0gOiB7fTtcbiAgICB2YXIgb3duS2V5cyA9IE9iamVjdC5rZXlzKHNvdXJjZSk7XG5cbiAgICBpZiAodHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIG93bktleXMgPSBvd25LZXlzLmNvbmNhdChPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHNvdXJjZSkuZmlsdGVyKGZ1bmN0aW9uIChzeW0pIHtcbiAgICAgICAgcmV0dXJuIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Ioc291cmNlLCBzeW0pLmVudW1lcmFibGU7XG4gICAgICB9KSk7XG4gICAgfVxuXG4gICAgb3duS2V5cy5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHtcbiAgICAgIGRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBzb3VyY2Vba2V5XSk7XG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gdGFyZ2V0O1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IF9vYmplY3RTcHJlYWQ7Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@babel/runtime/helpers/objectSpread.js\n"); /***/ }), /***/ "./node_modules/@babel/runtime/helpers/objectWithoutProperties.js": /*!************************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/objectWithoutProperties.js ***! \************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("var objectWithoutPropertiesLoose = __webpack_require__(/*! ./objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js\");\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nmodule.exports = _objectWithoutProperties;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9vYmplY3RXaXRob3V0UHJvcGVydGllcy5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzLmpzPzQwODIiXSwic291cmNlc0NvbnRlbnQiOlsidmFyIG9iamVjdFdpdGhvdXRQcm9wZXJ0aWVzTG9vc2UgPSByZXF1aXJlKFwiLi9vYmplY3RXaXRob3V0UHJvcGVydGllc0xvb3NlXCIpO1xuXG5mdW5jdGlvbiBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMoc291cmNlLCBleGNsdWRlZCkge1xuICBpZiAoc291cmNlID09IG51bGwpIHJldHVybiB7fTtcbiAgdmFyIHRhcmdldCA9IG9iamVjdFdpdGhvdXRQcm9wZXJ0aWVzTG9vc2Uoc291cmNlLCBleGNsdWRlZCk7XG4gIHZhciBrZXksIGk7XG5cbiAgaWYgKE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpIHtcbiAgICB2YXIgc291cmNlU3ltYm9sS2V5cyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoc291cmNlKTtcblxuICAgIGZvciAoaSA9IDA7IGkgPCBzb3VyY2VTeW1ib2xLZXlzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBrZXkgPSBzb3VyY2VTeW1ib2xLZXlzW2ldO1xuICAgICAgaWYgKGV4Y2x1ZGVkLmluZGV4T2Yoa2V5KSA+PSAwKSBjb250aW51ZTtcbiAgICAgIGlmICghT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKHNvdXJjZSwga2V5KSkgY29udGludWU7XG4gICAgICB0YXJnZXRba2V5XSA9IHNvdXJjZVtrZXldO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB0YXJnZXQ7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzOyJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@babel/runtime/helpers/objectWithoutProperties.js\n"); /***/ }), /***/ "./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js": /*!*****************************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js ***! \*****************************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { eval("function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nmodule.exports = _objectWithoutPropertiesLoose;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9vYmplY3RXaXRob3V0UHJvcGVydGllc0xvb3NlLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvb2JqZWN0V2l0aG91dFByb3BlcnRpZXNMb29zZS5qcz9mMGU0Il0sInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIF9vYmplY3RXaXRob3V0UHJvcGVydGllc0xvb3NlKHNvdXJjZSwgZXhjbHVkZWQpIHtcbiAgaWYgKHNvdXJjZSA9PSBudWxsKSByZXR1cm4ge307XG4gIHZhciB0YXJnZXQgPSB7fTtcbiAgdmFyIHNvdXJjZUtleXMgPSBPYmplY3Qua2V5cyhzb3VyY2UpO1xuICB2YXIga2V5LCBpO1xuXG4gIGZvciAoaSA9IDA7IGkgPCBzb3VyY2VLZXlzLmxlbmd0aDsgaSsrKSB7XG4gICAga2V5ID0gc291cmNlS2V5c1tpXTtcbiAgICBpZiAoZXhjbHVkZWQuaW5kZXhPZihrZXkpID49IDApIGNvbnRpbnVlO1xuICAgIHRhcmdldFtrZXldID0gc291cmNlW2tleV07XG4gIH1cblxuICByZXR1cm4gdGFyZ2V0O1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IF9vYmplY3RXaXRob3V0UHJvcGVydGllc0xvb3NlOyJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js\n"); /***/ }), /***/ "./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js": /*!**************************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js ***! \**************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("var _typeof = __webpack_require__(/*! ../helpers/typeof */ \"./node_modules/@babel/runtime/helpers/typeof.js\");\n\nvar assertThisInitialized = __webpack_require__(/*! ./assertThisInitialized */ \"./node_modules/@babel/runtime/helpers/assertThisInitialized.js\");\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return assertThisInitialized(self);\n}\n\nmodule.exports = _possibleConstructorReturn;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvcG9zc2libGVDb25zdHJ1Y3RvclJldHVybi5qcz82YjU4Il0sInNvdXJjZXNDb250ZW50IjpbInZhciBfdHlwZW9mID0gcmVxdWlyZShcIi4uL2hlbHBlcnMvdHlwZW9mXCIpO1xuXG52YXIgYXNzZXJ0VGhpc0luaXRpYWxpemVkID0gcmVxdWlyZShcIi4vYXNzZXJ0VGhpc0luaXRpYWxpemVkXCIpO1xuXG5mdW5jdGlvbiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybihzZWxmLCBjYWxsKSB7XG4gIGlmIChjYWxsICYmIChfdHlwZW9mKGNhbGwpID09PSBcIm9iamVjdFwiIHx8IHR5cGVvZiBjYWxsID09PSBcImZ1bmN0aW9uXCIpKSB7XG4gICAgcmV0dXJuIGNhbGw7XG4gIH1cblxuICByZXR1cm4gYXNzZXJ0VGhpc0luaXRpYWxpemVkKHNlbGYpO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuOyJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\n"); /***/ }), /***/ "./node_modules/@babel/runtime/helpers/setPrototypeOf.js": /*!***************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/setPrototypeOf.js ***! \***************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { eval("function _setPrototypeOf(o, p) {\n module.exports = _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nmodule.exports = _setPrototypeOf;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9zZXRQcm90b3R5cGVPZi5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL3NldFByb3RvdHlwZU9mLmpzPzRhNGIiXSwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gX3NldFByb3RvdHlwZU9mKG8sIHApIHtcbiAgbW9kdWxlLmV4cG9ydHMgPSBfc2V0UHJvdG90eXBlT2YgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgfHwgZnVuY3Rpb24gX3NldFByb3RvdHlwZU9mKG8sIHApIHtcbiAgICBvLl9fcHJvdG9fXyA9IHA7XG4gICAgcmV0dXJuIG87XG4gIH07XG5cbiAgcmV0dXJuIF9zZXRQcm90b3R5cGVPZihvLCBwKTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBfc2V0UHJvdG90eXBlT2Y7Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@babel/runtime/helpers/setPrototypeOf.js\n"); /***/ }), /***/ "./node_modules/@babel/runtime/helpers/slicedToArray.js": /*!**************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/slicedToArray.js ***! \**************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("var arrayWithHoles = __webpack_require__(/*! ./arrayWithHoles */ \"./node_modules/@babel/runtime/helpers/arrayWithHoles.js\");\n\nvar iterableToArrayLimit = __webpack_require__(/*! ./iterableToArrayLimit */ \"./node_modules/@babel/runtime/helpers/iterableToArrayLimit.js\");\n\nvar nonIterableRest = __webpack_require__(/*! ./nonIterableRest */ \"./node_modules/@babel/runtime/helpers/nonIterableRest.js\");\n\nfunction _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || nonIterableRest();\n}\n\nmodule.exports = _slicedToArray;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9zbGljZWRUb0FycmF5LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvc2xpY2VkVG9BcnJheS5qcz8yNzhjIl0sInNvdXJjZXNDb250ZW50IjpbInZhciBhcnJheVdpdGhIb2xlcyA9IHJlcXVpcmUoXCIuL2FycmF5V2l0aEhvbGVzXCIpO1xuXG52YXIgaXRlcmFibGVUb0FycmF5TGltaXQgPSByZXF1aXJlKFwiLi9pdGVyYWJsZVRvQXJyYXlMaW1pdFwiKTtcblxudmFyIG5vbkl0ZXJhYmxlUmVzdCA9IHJlcXVpcmUoXCIuL25vbkl0ZXJhYmxlUmVzdFwiKTtcblxuZnVuY3Rpb24gX3NsaWNlZFRvQXJyYXkoYXJyLCBpKSB7XG4gIHJldHVybiBhcnJheVdpdGhIb2xlcyhhcnIpIHx8IGl0ZXJhYmxlVG9BcnJheUxpbWl0KGFyciwgaSkgfHwgbm9uSXRlcmFibGVSZXN0KCk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gX3NsaWNlZFRvQXJyYXk7Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@babel/runtime/helpers/slicedToArray.js\n"); /***/ }), /***/ "./node_modules/@babel/runtime/helpers/toConsumableArray.js": /*!******************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/toConsumableArray.js ***! \******************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("var arrayWithoutHoles = __webpack_require__(/*! ./arrayWithoutHoles */ \"./node_modules/@babel/runtime/helpers/arrayWithoutHoles.js\");\n\nvar iterableToArray = __webpack_require__(/*! ./iterableToArray */ \"./node_modules/@babel/runtime/helpers/iterableToArray.js\");\n\nvar nonIterableSpread = __webpack_require__(/*! ./nonIterableSpread */ \"./node_modules/@babel/runtime/helpers/nonIterableSpread.js\");\n\nfunction _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || nonIterableSpread();\n}\n\nmodule.exports = _toConsumableArray;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy90b0NvbnN1bWFibGVBcnJheS5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL3RvQ29uc3VtYWJsZUFycmF5LmpzPzQ0OGEiXSwic291cmNlc0NvbnRlbnQiOlsidmFyIGFycmF5V2l0aG91dEhvbGVzID0gcmVxdWlyZShcIi4vYXJyYXlXaXRob3V0SG9sZXNcIik7XG5cbnZhciBpdGVyYWJsZVRvQXJyYXkgPSByZXF1aXJlKFwiLi9pdGVyYWJsZVRvQXJyYXlcIik7XG5cbnZhciBub25JdGVyYWJsZVNwcmVhZCA9IHJlcXVpcmUoXCIuL25vbkl0ZXJhYmxlU3ByZWFkXCIpO1xuXG5mdW5jdGlvbiBfdG9Db25zdW1hYmxlQXJyYXkoYXJyKSB7XG4gIHJldHVybiBhcnJheVdpdGhvdXRIb2xlcyhhcnIpIHx8IGl0ZXJhYmxlVG9BcnJheShhcnIpIHx8IG5vbkl0ZXJhYmxlU3ByZWFkKCk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gX3RvQ29uc3VtYWJsZUFycmF5OyJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@babel/runtime/helpers/toConsumableArray.js\n"); /***/ }), /***/ "./node_modules/@babel/runtime/helpers/typeof.js": /*!*******************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/typeof.js ***! \*******************************************************/ /*! no static exports found */ /***/ (function(module, exports) { eval("function _typeof2(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof2(obj); }\n\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\") {\n module.exports = _typeof = function _typeof(obj) {\n return _typeof2(obj);\n };\n } else {\n module.exports = _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n }\n\n return _typeof(obj);\n}\n\nmodule.exports = _typeof;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy90eXBlb2YuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy90eXBlb2YuanM/NzAzNyJdLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBfdHlwZW9mMihvYmopIHsgaWYgKHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiB0eXBlb2YgU3ltYm9sLml0ZXJhdG9yID09PSBcInN5bWJvbFwiKSB7IF90eXBlb2YyID0gZnVuY3Rpb24gX3R5cGVvZjIob2JqKSB7IHJldHVybiB0eXBlb2Ygb2JqOyB9OyB9IGVsc2UgeyBfdHlwZW9mMiA9IGZ1bmN0aW9uIF90eXBlb2YyKG9iaikgeyByZXR1cm4gb2JqICYmIHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiBvYmouY29uc3RydWN0b3IgPT09IFN5bWJvbCAmJiBvYmogIT09IFN5bWJvbC5wcm90b3R5cGUgPyBcInN5bWJvbFwiIDogdHlwZW9mIG9iajsgfTsgfSByZXR1cm4gX3R5cGVvZjIob2JqKTsgfVxuXG5mdW5jdGlvbiBfdHlwZW9mKG9iaikge1xuICBpZiAodHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIF90eXBlb2YyKFN5bWJvbC5pdGVyYXRvcikgPT09IFwic3ltYm9sXCIpIHtcbiAgICBtb2R1bGUuZXhwb3J0cyA9IF90eXBlb2YgPSBmdW5jdGlvbiBfdHlwZW9mKG9iaikge1xuICAgICAgcmV0dXJuIF90eXBlb2YyKG9iaik7XG4gICAgfTtcbiAgfSBlbHNlIHtcbiAgICBtb2R1bGUuZXhwb3J0cyA9IF90eXBlb2YgPSBmdW5jdGlvbiBfdHlwZW9mKG9iaikge1xuICAgICAgcmV0dXJuIG9iaiAmJiB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgb2JqLmNvbnN0cnVjdG9yID09PSBTeW1ib2wgJiYgb2JqICE9PSBTeW1ib2wucHJvdG90eXBlID8gXCJzeW1ib2xcIiA6IF90eXBlb2YyKG9iaik7XG4gICAgfTtcbiAgfVxuXG4gIHJldHVybiBfdHlwZW9mKG9iaik7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gX3R5cGVvZjsiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@babel/runtime/helpers/typeof.js\n"); /***/ }), /***/ "./node_modules/@browser-bunyan/console-formatted-stream/lib/index.m.js": /*!******************************************************************************!*\ !*** ./node_modules/@browser-bunyan/console-formatted-stream/lib/index.m.js ***! \******************************************************************************/ /*! exports provided: ConsoleFormattedStream */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ConsoleFormattedStream\", function() { return ConsoleFormattedStream; });\nvar TRACE = 10;\nvar DEBUG = 20;\nvar INFO = 30;\nvar WARN = 40;\nvar ERROR = 50;\nvar FATAL = 60;\nvar levelFromName = {\n 'trace': TRACE,\n 'debug': DEBUG,\n 'info': INFO,\n 'warn': WARN,\n 'error': ERROR,\n 'fatal': FATAL\n};\nvar nameFromLevel = {};\nObject.keys(levelFromName).forEach(function (name) {\n nameFromLevel[levelFromName[name]] = name;\n});\n\nvar DEFAULT_CSS = {\n levels: {\n trace: 'color: DeepPink',\n debug: 'color: GoldenRod',\n info: 'color: DarkTurquoise',\n warn: 'color: Purple',\n error: 'color: Crimson',\n fatal: 'color: Black'\n },\n def: 'color: DimGray',\n msg: 'color: SteelBlue',\n src: 'color: DimGray; font-style: italic; font-size: 0.9em'\n};\nvar ConsoleFormattedStream = function ConsoleFormattedStream(ref) {\n if ( ref === void 0 ) ref = {};\n var logByLevel = ref.logByLevel; if ( logByLevel === void 0 ) logByLevel = false;\n var css = ref.css; if ( css === void 0 ) css = DEFAULT_CSS;\n\n this.logByLevel = logByLevel;\n this.css = css;\n};\nConsoleFormattedStream.prototype.write = function write (rec) {\n var levelCss, consoleMethod;\n var defaultCss = this.css.def;\n var msgCss = this.css.msg;\n var srcCss = this.css.src;\n var loggerName = rec.childName ? rec.name + '/' + rec.childName : rec.name;\n var levelName = nameFromLevel[rec.level];\n var formattedLevelName = (Array(6 - levelName.length).join(' ') + levelName).toUpperCase();\n if (this.logByLevel) {\n if (rec.level === TRACE) {\n levelName = 'debug';\n } else if (rec.level === FATAL) {\n levelName = 'error';\n }\n consoleMethod = typeof console[levelName] === 'function' ? console[levelName] : console.log;\n } else {\n consoleMethod = console.log;\n }\n if (rec.level < DEBUG) {\n levelCss = this.css.levels.trace;\n } else if (rec.level < INFO) {\n levelCss = this.css.levels.debug;\n } else if (rec.level < WARN) {\n levelCss = this.css.levels.info;\n } else if (rec.level < ERROR) {\n levelCss = this.css.levels.warn;\n } else if (rec.level < FATAL) {\n levelCss = this.css.levels.error;\n } else {\n levelCss = this.css.levels.fatal;\n }\n var padZeros = function (number, len) { return Array(len + 1 - (number + '').length).join('0') + number; };\n var logArgs = [];\n logArgs.push((\"[%s:%s:%s:%s] %c%s%c: %s: %c%s \" + (rec.src ? '%c%s' : '')));\n logArgs.push(padZeros(rec.time.getHours(), 2));\n logArgs.push(padZeros(rec.time.getMinutes(), 2));\n logArgs.push(padZeros(rec.time.getSeconds(), 2));\n logArgs.push(padZeros(rec.time.getMilliseconds(), 4));\n logArgs.push(levelCss);\n logArgs.push(formattedLevelName);\n logArgs.push(defaultCss);\n logArgs.push(loggerName);\n logArgs.push(msgCss);\n logArgs.push(rec.msg);\n if (rec.src) {\n logArgs.push(srcCss);\n logArgs.push(rec.src);\n }\n if (rec.obj) {\n logArgs.push('\\n');\n logArgs.push(rec.obj);\n }\n if (rec.err && rec.err.stack) {\n logArgs.push('\\n');\n logArgs.push(rec.err.stack);\n }\n consoleMethod.apply(console, logArgs);\n};\nConsoleFormattedStream.getDefaultCss = function getDefaultCss () {\n return DEFAULT_CSS;\n};\n\n\n//# sourceMappingURL=index.m.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGJyb3dzZXItYnVueWFuL2NvbnNvbGUtZm9ybWF0dGVkLXN0cmVhbS9saWIvaW5kZXgubS5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AYnJvd3Nlci1idW55YW4vY29uc29sZS1mb3JtYXR0ZWQtc3RyZWFtL2xpYi9pbmRleC5tLmpzPzRhY2IiXSwic291cmNlc0NvbnRlbnQiOlsidmFyIFRSQUNFID0gMTA7XG52YXIgREVCVUcgPSAyMDtcbnZhciBJTkZPID0gMzA7XG52YXIgV0FSTiA9IDQwO1xudmFyIEVSUk9SID0gNTA7XG52YXIgRkFUQUwgPSA2MDtcbnZhciBsZXZlbEZyb21OYW1lID0ge1xuICAgICd0cmFjZSc6IFRSQUNFLFxuICAgICdkZWJ1Zyc6IERFQlVHLFxuICAgICdpbmZvJzogSU5GTyxcbiAgICAnd2Fybic6IFdBUk4sXG4gICAgJ2Vycm9yJzogRVJST1IsXG4gICAgJ2ZhdGFsJzogRkFUQUxcbn07XG52YXIgbmFtZUZyb21MZXZlbCA9IHt9O1xuT2JqZWN0LmtleXMobGV2ZWxGcm9tTmFtZSkuZm9yRWFjaChmdW5jdGlvbiAobmFtZSkge1xuICAgIG5hbWVGcm9tTGV2ZWxbbGV2ZWxGcm9tTmFtZVtuYW1lXV0gPSBuYW1lO1xufSk7XG5cbnZhciBERUZBVUxUX0NTUyA9IHtcbiAgICBsZXZlbHM6IHtcbiAgICAgICAgdHJhY2U6ICdjb2xvcjogRGVlcFBpbmsnLFxuICAgICAgICBkZWJ1ZzogJ2NvbG9yOiBHb2xkZW5Sb2QnLFxuICAgICAgICBpbmZvOiAnY29sb3I6IERhcmtUdXJxdW9pc2UnLFxuICAgICAgICB3YXJuOiAnY29sb3I6IFB1cnBsZScsXG4gICAgICAgIGVycm9yOiAnY29sb3I6IENyaW1zb24nLFxuICAgICAgICBmYXRhbDogJ2NvbG9yOiBCbGFjaydcbiAgICB9LFxuICAgIGRlZjogJ2NvbG9yOiBEaW1HcmF5JyxcbiAgICBtc2c6ICdjb2xvcjogU3RlZWxCbHVlJyxcbiAgICBzcmM6ICdjb2xvcjogRGltR3JheTsgZm9udC1zdHlsZTogaXRhbGljOyBmb250LXNpemU6IDAuOWVtJ1xufTtcbnZhciBDb25zb2xlRm9ybWF0dGVkU3RyZWFtID0gZnVuY3Rpb24gQ29uc29sZUZvcm1hdHRlZFN0cmVhbShyZWYpIHtcbiAgICBpZiAoIHJlZiA9PT0gdm9pZCAwICkgcmVmID0ge307XG4gICAgdmFyIGxvZ0J5TGV2ZWwgPSByZWYubG9nQnlMZXZlbDsgaWYgKCBsb2dCeUxldmVsID09PSB2b2lkIDAgKSBsb2dCeUxldmVsID0gZmFsc2U7XG4gICAgdmFyIGNzcyA9IHJlZi5jc3M7IGlmICggY3NzID09PSB2b2lkIDAgKSBjc3MgPSBERUZBVUxUX0NTUztcblxuICAgIHRoaXMubG9nQnlMZXZlbCA9IGxvZ0J5TGV2ZWw7XG4gICAgdGhpcy5jc3MgPSBjc3M7XG59O1xuQ29uc29sZUZvcm1hdHRlZFN0cmVhbS5wcm90b3R5cGUud3JpdGUgPSBmdW5jdGlvbiB3cml0ZSAocmVjKSB7XG4gICAgdmFyIGxldmVsQ3NzLCBjb25zb2xlTWV0aG9kO1xuICAgIHZhciBkZWZhdWx0Q3NzID0gdGhpcy5jc3MuZGVmO1xuICAgIHZhciBtc2dDc3MgPSB0aGlzLmNzcy5tc2c7XG4gICAgdmFyIHNyY0NzcyA9IHRoaXMuY3NzLnNyYztcbiAgICB2YXIgbG9nZ2VyTmFtZSA9IHJlYy5jaGlsZE5hbWUgPyByZWMubmFtZSArICcvJyArIHJlYy5jaGlsZE5hbWUgOiByZWMubmFtZTtcbiAgICB2YXIgbGV2ZWxOYW1lID0gbmFtZUZyb21MZXZlbFtyZWMubGV2ZWxdO1xuICAgIHZhciBmb3JtYXR0ZWRMZXZlbE5hbWUgPSAoQXJyYXkoNiAtIGxldmVsTmFtZS5sZW5ndGgpLmpvaW4oJyAnKSArIGxldmVsTmFtZSkudG9VcHBlckNhc2UoKTtcbiAgICBpZiAodGhpcy5sb2dCeUxldmVsKSB7XG4gICAgICAgIGlmIChyZWMubGV2ZWwgPT09IFRSQUNFKSB7XG4gICAgICAgICAgICBsZXZlbE5hbWUgPSAnZGVidWcnO1xuICAgICAgICB9IGVsc2UgaWYgKHJlYy5sZXZlbCA9PT0gRkFUQUwpIHtcbiAgICAgICAgICAgIGxldmVsTmFtZSA9ICdlcnJvcic7XG4gICAgICAgIH1cbiAgICAgICAgY29uc29sZU1ldGhvZCA9IHR5cGVvZiBjb25zb2xlW2xldmVsTmFtZV0gPT09ICdmdW5jdGlvbicgPyBjb25zb2xlW2xldmVsTmFtZV0gOiBjb25zb2xlLmxvZztcbiAgICB9IGVsc2Uge1xuICAgICAgICBjb25zb2xlTWV0aG9kID0gY29uc29sZS5sb2c7XG4gICAgfVxuICAgIGlmIChyZWMubGV2ZWwgPCBERUJVRykge1xuICAgICAgICBsZXZlbENzcyA9IHRoaXMuY3NzLmxldmVscy50cmFjZTtcbiAgICB9IGVsc2UgaWYgKHJlYy5sZXZlbCA8IElORk8pIHtcbiAgICAgICAgbGV2ZWxDc3MgPSB0aGlzLmNzcy5sZXZlbHMuZGVidWc7XG4gICAgfSBlbHNlIGlmIChyZWMubGV2ZWwgPCBXQVJOKSB7XG4gICAgICAgIGxldmVsQ3NzID0gdGhpcy5jc3MubGV2ZWxzLmluZm87XG4gICAgfSBlbHNlIGlmIChyZWMubGV2ZWwgPCBFUlJPUikge1xuICAgICAgICBsZXZlbENzcyA9IHRoaXMuY3NzLmxldmVscy53YXJuO1xuICAgIH0gZWxzZSBpZiAocmVjLmxldmVsIDwgRkFUQUwpIHtcbiAgICAgICAgbGV2ZWxDc3MgPSB0aGlzLmNzcy5sZXZlbHMuZXJyb3I7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgbGV2ZWxDc3MgPSB0aGlzLmNzcy5sZXZlbHMuZmF0YWw7XG4gICAgfVxuICAgIHZhciBwYWRaZXJvcyA9IGZ1bmN0aW9uIChudW1iZXIsIGxlbikgeyByZXR1cm4gQXJyYXkobGVuICsgMSAtIChudW1iZXIgKyAnJykubGVuZ3RoKS5qb2luKCcwJykgKyBudW1iZXI7IH07XG4gICAgdmFyIGxvZ0FyZ3MgPSBbXTtcbiAgICBsb2dBcmdzLnB1c2goKFwiWyVzOiVzOiVzOiVzXSAlYyVzJWM6ICVzOiAlYyVzIFwiICsgKHJlYy5zcmMgPyAnJWMlcycgOiAnJykpKTtcbiAgICBsb2dBcmdzLnB1c2gocGFkWmVyb3MocmVjLnRpbWUuZ2V0SG91cnMoKSwgMikpO1xuICAgIGxvZ0FyZ3MucHVzaChwYWRaZXJvcyhyZWMudGltZS5nZXRNaW51dGVzKCksIDIpKTtcbiAgICBsb2dBcmdzLnB1c2gocGFkWmVyb3MocmVjLnRpbWUuZ2V0U2Vjb25kcygpLCAyKSk7XG4gICAgbG9nQXJncy5wdXNoKHBhZFplcm9zKHJlYy50aW1lLmdldE1pbGxpc2Vjb25kcygpLCA0KSk7XG4gICAgbG9nQXJncy5wdXNoKGxldmVsQ3NzKTtcbiAgICBsb2dBcmdzLnB1c2goZm9ybWF0dGVkTGV2ZWxOYW1lKTtcbiAgICBsb2dBcmdzLnB1c2goZGVmYXVsdENzcyk7XG4gICAgbG9nQXJncy5wdXNoKGxvZ2dlck5hbWUpO1xuICAgIGxvZ0FyZ3MucHVzaChtc2dDc3MpO1xuICAgIGxvZ0FyZ3MucHVzaChyZWMubXNnKTtcbiAgICBpZiAocmVjLnNyYykge1xuICAgICAgICBsb2dBcmdzLnB1c2goc3JjQ3NzKTtcbiAgICAgICAgbG9nQXJncy5wdXNoKHJlYy5zcmMpO1xuICAgIH1cbiAgICBpZiAocmVjLm9iaikge1xuICAgICAgICBsb2dBcmdzLnB1c2goJ1xcbicpO1xuICAgICAgICBsb2dBcmdzLnB1c2gocmVjLm9iaik7XG4gICAgfVxuICAgIGlmIChyZWMuZXJyICYmIHJlYy5lcnIuc3RhY2spIHtcbiAgICAgICAgbG9nQXJncy5wdXNoKCdcXG4nKTtcbiAgICAgICAgbG9nQXJncy5wdXNoKHJlYy5lcnIuc3RhY2spO1xuICAgIH1cbiAgICBjb25zb2xlTWV0aG9kLmFwcGx5KGNvbnNvbGUsIGxvZ0FyZ3MpO1xufTtcbkNvbnNvbGVGb3JtYXR0ZWRTdHJlYW0uZ2V0RGVmYXVsdENzcyA9IGZ1bmN0aW9uIGdldERlZmF1bHRDc3MgKCkge1xuICAgIHJldHVybiBERUZBVUxUX0NTUztcbn07XG5cbmV4cG9ydCB7IENvbnNvbGVGb3JtYXR0ZWRTdHJlYW0gfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4Lm0uanMubWFwXG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@browser-bunyan/console-formatted-stream/lib/index.m.js\n"); /***/ }), /***/ "./node_modules/@emotion/cache/dist/cache.browser.esm.js": /*!***************************************************************!*\ !*** ./node_modules/@emotion/cache/dist/cache.browser.esm.js ***! \***************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _emotion_sheet__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @emotion/sheet */ \"./node_modules/@emotion/sheet/dist/sheet.browser.esm.js\");\n/* harmony import */ var _emotion_stylis__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @emotion/stylis */ \"./node_modules/@emotion/stylis/dist/stylis.browser.esm.js\");\n/* harmony import */ var _emotion_weak_memoize__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @emotion/weak-memoize */ \"./node_modules/@emotion/weak-memoize/dist/weak-memoize.browser.esm.js\");\n\n\n\n\n// https://github.com/thysultan/stylis.js/tree/master/plugins/rule-sheet\n// inlined to avoid umd wrapper and peerDep warnings/installing stylis\n// since we use stylis after closure compiler\nvar delimiter = '/*|*/';\nvar needle = delimiter + '}';\n\nfunction toSheet(block) {\n if (block) {\n Sheet.current.insert(block + '}');\n }\n}\n\nvar Sheet = {\n current: null\n};\nvar ruleSheet = function ruleSheet(context, content, selectors, parents, line, column, length, ns, depth, at) {\n switch (context) {\n // property\n case 1:\n {\n switch (content.charCodeAt(0)) {\n case 64:\n {\n // @import\n Sheet.current.insert(content + ';');\n return '';\n }\n // charcode for l\n\n case 108:\n {\n // charcode for b\n // this ignores label\n if (content.charCodeAt(2) === 98) {\n return '';\n }\n }\n }\n\n break;\n }\n // selector\n\n case 2:\n {\n if (ns === 0) return content + delimiter;\n break;\n }\n // at-rule\n\n case 3:\n {\n switch (ns) {\n // @font-face, @page\n case 102:\n case 112:\n {\n Sheet.current.insert(selectors[0] + content);\n return '';\n }\n\n default:\n {\n return content + (at === 0 ? delimiter : '');\n }\n }\n }\n\n case -2:\n {\n content.split(needle).forEach(toSheet);\n }\n }\n};\n\nvar createCache = function createCache(options) {\n if (options === undefined) options = {};\n var key = options.key || 'css';\n var stylisOptions;\n\n if (options.prefix !== undefined) {\n stylisOptions = {\n prefix: options.prefix\n };\n }\n\n var stylis = new _emotion_stylis__WEBPACK_IMPORTED_MODULE_1__[\"default\"](stylisOptions);\n\n if (true) {\n // $FlowFixMe\n if (/[^a-z-]/.test(key)) {\n throw new Error(\"Emotion key must only contain lower case alphabetical characters and - but \\\"\" + key + \"\\\" was passed\");\n }\n }\n\n var inserted = {}; // $FlowFixMe\n\n var container;\n\n {\n container = options.container || document.head;\n var nodes = document.querySelectorAll(\"style[data-emotion-\" + key + \"]\");\n Array.prototype.forEach.call(nodes, function (node) {\n var attrib = node.getAttribute(\"data-emotion-\" + key); // $FlowFixMe\n\n attrib.split(' ').forEach(function (id) {\n inserted[id] = true;\n });\n\n if (node.parentNode !== container) {\n container.appendChild(node);\n }\n });\n }\n\n var _insert;\n\n {\n stylis.use(options.stylisPlugins)(ruleSheet);\n\n _insert = function insert(selector, serialized, sheet, shouldCache) {\n var name = serialized.name;\n Sheet.current = sheet;\n\n if ( true && serialized.map !== undefined) {\n var map = serialized.map;\n Sheet.current = {\n insert: function insert(rule) {\n sheet.insert(rule + map);\n }\n };\n }\n\n stylis(selector, serialized.styles);\n\n if (shouldCache) {\n cache.inserted[name] = true;\n }\n };\n }\n\n if (true) {\n // https://esbench.com/bench/5bf7371a4cd7e6009ef61d0a\n var commentStart = /\\/\\*/g;\n var commentEnd = /\\*\\//g;\n stylis.use(function (context, content) {\n switch (context) {\n case -1:\n {\n while (commentStart.test(content)) {\n commentEnd.lastIndex = commentStart.lastIndex;\n\n if (commentEnd.test(content)) {\n commentStart.lastIndex = commentEnd.lastIndex;\n continue;\n }\n\n throw new Error('Your styles have an unterminated comment (\"/*\" without corresponding \"*/\").');\n }\n\n commentStart.lastIndex = 0;\n break;\n }\n }\n });\n stylis.use(function (context, content, selectors) {\n switch (context) {\n case -1:\n {\n var flag = 'emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason';\n var unsafePseudoClasses = content.match(/(:first|:nth|:nth-last)-child/g);\n\n if (unsafePseudoClasses && cache.compat !== true) {\n unsafePseudoClasses.forEach(function (unsafePseudoClass) {\n var ignoreRegExp = new RegExp(unsafePseudoClass + \".*\\\\/\\\\* \" + flag + \" \\\\*\\\\/\");\n var ignore = ignoreRegExp.test(content);\n\n if (unsafePseudoClass && !ignore) {\n console.error(\"The pseudo class \\\"\" + unsafePseudoClass + \"\\\" is potentially unsafe when doing server-side rendering. Try changing it to \\\"\" + unsafePseudoClass.split('-child')[0] + \"-of-type\\\".\");\n }\n });\n }\n\n break;\n }\n }\n });\n }\n\n var cache = {\n key: key,\n sheet: new _emotion_sheet__WEBPACK_IMPORTED_MODULE_0__[\"StyleSheet\"]({\n key: key,\n container: container,\n nonce: options.nonce,\n speedy: options.speedy\n }),\n nonce: options.nonce,\n inserted: inserted,\n registered: {},\n insert: _insert\n };\n return cache;\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (createCache);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGVtb3Rpb24vY2FjaGUvZGlzdC9jYWNoZS5icm93c2VyLmVzbS5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AZW1vdGlvbi9jYWNoZS9kaXN0L2NhY2hlLmJyb3dzZXIuZXNtLmpzPzRlYTUiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3R5bGVTaGVldCB9IGZyb20gJ0BlbW90aW9uL3NoZWV0JztcbmltcG9ydCBTdHlsaXMgZnJvbSAnQGVtb3Rpb24vc3R5bGlzJztcbmltcG9ydCAnQGVtb3Rpb24vd2Vhay1tZW1vaXplJztcblxuLy8gaHR0cHM6Ly9naXRodWIuY29tL3RoeXN1bHRhbi9zdHlsaXMuanMvdHJlZS9tYXN0ZXIvcGx1Z2lucy9ydWxlLXNoZWV0XG4vLyBpbmxpbmVkIHRvIGF2b2lkIHVtZCB3cmFwcGVyIGFuZCBwZWVyRGVwIHdhcm5pbmdzL2luc3RhbGxpbmcgc3R5bGlzXG4vLyBzaW5jZSB3ZSB1c2Ugc3R5bGlzIGFmdGVyIGNsb3N1cmUgY29tcGlsZXJcbnZhciBkZWxpbWl0ZXIgPSAnLyp8Ki8nO1xudmFyIG5lZWRsZSA9IGRlbGltaXRlciArICd9JztcblxuZnVuY3Rpb24gdG9TaGVldChibG9jaykge1xuICBpZiAoYmxvY2spIHtcbiAgICBTaGVldC5jdXJyZW50Lmluc2VydChibG9jayArICd9Jyk7XG4gIH1cbn1cblxudmFyIFNoZWV0ID0ge1xuICBjdXJyZW50OiBudWxsXG59O1xudmFyIHJ1bGVTaGVldCA9IGZ1bmN0aW9uIHJ1bGVTaGVldChjb250ZXh0LCBjb250ZW50LCBzZWxlY3RvcnMsIHBhcmVudHMsIGxpbmUsIGNvbHVtbiwgbGVuZ3RoLCBucywgZGVwdGgsIGF0KSB7XG4gIHN3aXRjaCAoY29udGV4dCkge1xuICAgIC8vIHByb3BlcnR5XG4gICAgY2FzZSAxOlxuICAgICAge1xuICAgICAgICBzd2l0Y2ggKGNvbnRlbnQuY2hhckNvZGVBdCgwKSkge1xuICAgICAgICAgIGNhc2UgNjQ6XG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIC8vIEBpbXBvcnRcbiAgICAgICAgICAgICAgU2hlZXQuY3VycmVudC5pbnNlcnQoY29udGVudCArICc7Jyk7XG4gICAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAvLyBjaGFyY29kZSBmb3IgbFxuXG4gICAgICAgICAgY2FzZSAxMDg6XG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIC8vIGNoYXJjb2RlIGZvciBiXG4gICAgICAgICAgICAgIC8vIHRoaXMgaWdub3JlcyBsYWJlbFxuICAgICAgICAgICAgICBpZiAoY29udGVudC5jaGFyQ29kZUF0KDIpID09PSA5OCkge1xuICAgICAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgLy8gc2VsZWN0b3JcblxuICAgIGNhc2UgMjpcbiAgICAgIHtcbiAgICAgICAgaWYgKG5zID09PSAwKSByZXR1cm4gY29udGVudCArIGRlbGltaXRlcjtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgLy8gYXQtcnVsZVxuXG4gICAgY2FzZSAzOlxuICAgICAge1xuICAgICAgICBzd2l0Y2ggKG5zKSB7XG4gICAgICAgICAgLy8gQGZvbnQtZmFjZSwgQHBhZ2VcbiAgICAgICAgICBjYXNlIDEwMjpcbiAgICAgICAgICBjYXNlIDExMjpcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgU2hlZXQuY3VycmVudC5pbnNlcnQoc2VsZWN0b3JzWzBdICsgY29udGVudCk7XG4gICAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHJldHVybiBjb250ZW50ICsgKGF0ID09PSAwID8gZGVsaW1pdGVyIDogJycpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICBjYXNlIC0yOlxuICAgICAge1xuICAgICAgICBjb250ZW50LnNwbGl0KG5lZWRsZSkuZm9yRWFjaCh0b1NoZWV0KTtcbiAgICAgIH1cbiAgfVxufTtcblxudmFyIGNyZWF0ZUNhY2hlID0gZnVuY3Rpb24gY3JlYXRlQ2FjaGUob3B0aW9ucykge1xuICBpZiAob3B0aW9ucyA9PT0gdW5kZWZpbmVkKSBvcHRpb25zID0ge307XG4gIHZhciBrZXkgPSBvcHRpb25zLmtleSB8fCAnY3NzJztcbiAgdmFyIHN0eWxpc09wdGlvbnM7XG5cbiAgaWYgKG9wdGlvbnMucHJlZml4ICE9PSB1bmRlZmluZWQpIHtcbiAgICBzdHlsaXNPcHRpb25zID0ge1xuICAgICAgcHJlZml4OiBvcHRpb25zLnByZWZpeFxuICAgIH07XG4gIH1cblxuICB2YXIgc3R5bGlzID0gbmV3IFN0eWxpcyhzdHlsaXNPcHRpb25zKTtcblxuICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgIC8vICRGbG93Rml4TWVcbiAgICBpZiAoL1teYS16LV0vLnRlc3Qoa2V5KSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiRW1vdGlvbiBrZXkgbXVzdCBvbmx5IGNvbnRhaW4gbG93ZXIgY2FzZSBhbHBoYWJldGljYWwgY2hhcmFjdGVycyBhbmQgLSBidXQgXFxcIlwiICsga2V5ICsgXCJcXFwiIHdhcyBwYXNzZWRcIik7XG4gICAgfVxuICB9XG5cbiAgdmFyIGluc2VydGVkID0ge307IC8vICRGbG93Rml4TWVcblxuICB2YXIgY29udGFpbmVyO1xuXG4gIHtcbiAgICBjb250YWluZXIgPSBvcHRpb25zLmNvbnRhaW5lciB8fCBkb2N1bWVudC5oZWFkO1xuICAgIHZhciBub2RlcyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoXCJzdHlsZVtkYXRhLWVtb3Rpb24tXCIgKyBrZXkgKyBcIl1cIik7XG4gICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChub2RlcywgZnVuY3Rpb24gKG5vZGUpIHtcbiAgICAgIHZhciBhdHRyaWIgPSBub2RlLmdldEF0dHJpYnV0ZShcImRhdGEtZW1vdGlvbi1cIiArIGtleSk7IC8vICRGbG93Rml4TWVcblxuICAgICAgYXR0cmliLnNwbGl0KCcgJykuZm9yRWFjaChmdW5jdGlvbiAoaWQpIHtcbiAgICAgICAgaW5zZXJ0ZWRbaWRdID0gdHJ1ZTtcbiAgICAgIH0pO1xuXG4gICAgICBpZiAobm9kZS5wYXJlbnROb2RlICE9PSBjb250YWluZXIpIHtcbiAgICAgICAgY29udGFpbmVyLmFwcGVuZENoaWxkKG5vZGUpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgdmFyIF9pbnNlcnQ7XG5cbiAge1xuICAgIHN0eWxpcy51c2Uob3B0aW9ucy5zdHlsaXNQbHVnaW5zKShydWxlU2hlZXQpO1xuXG4gICAgX2luc2VydCA9IGZ1bmN0aW9uIGluc2VydChzZWxlY3Rvciwgc2VyaWFsaXplZCwgc2hlZXQsIHNob3VsZENhY2hlKSB7XG4gICAgICB2YXIgbmFtZSA9IHNlcmlhbGl6ZWQubmFtZTtcbiAgICAgIFNoZWV0LmN1cnJlbnQgPSBzaGVldDtcblxuICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgc2VyaWFsaXplZC5tYXAgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICB2YXIgbWFwID0gc2VyaWFsaXplZC5tYXA7XG4gICAgICAgIFNoZWV0LmN1cnJlbnQgPSB7XG4gICAgICAgICAgaW5zZXJ0OiBmdW5jdGlvbiBpbnNlcnQocnVsZSkge1xuICAgICAgICAgICAgc2hlZXQuaW5zZXJ0KHJ1bGUgKyBtYXApO1xuICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgIH1cblxuICAgICAgc3R5bGlzKHNlbGVjdG9yLCBzZXJpYWxpemVkLnN0eWxlcyk7XG5cbiAgICAgIGlmIChzaG91bGRDYWNoZSkge1xuICAgICAgICBjYWNoZS5pbnNlcnRlZFtuYW1lXSA9IHRydWU7XG4gICAgICB9XG4gICAgfTtcbiAgfVxuXG4gIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgLy8gaHR0cHM6Ly9lc2JlbmNoLmNvbS9iZW5jaC81YmY3MzcxYTRjZDdlNjAwOWVmNjFkMGFcbiAgICB2YXIgY29tbWVudFN0YXJ0ID0gL1xcL1xcKi9nO1xuICAgIHZhciBjb21tZW50RW5kID0gL1xcKlxcLy9nO1xuICAgIHN0eWxpcy51c2UoZnVuY3Rpb24gKGNvbnRleHQsIGNvbnRlbnQpIHtcbiAgICAgIHN3aXRjaCAoY29udGV4dCkge1xuICAgICAgICBjYXNlIC0xOlxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHdoaWxlIChjb21tZW50U3RhcnQudGVzdChjb250ZW50KSkge1xuICAgICAgICAgICAgICBjb21tZW50RW5kLmxhc3RJbmRleCA9IGNvbW1lbnRTdGFydC5sYXN0SW5kZXg7XG5cbiAgICAgICAgICAgICAgaWYgKGNvbW1lbnRFbmQudGVzdChjb250ZW50KSkge1xuICAgICAgICAgICAgICAgIGNvbW1lbnRTdGFydC5sYXN0SW5kZXggPSBjb21tZW50RW5kLmxhc3RJbmRleDtcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignWW91ciBzdHlsZXMgaGF2ZSBhbiB1bnRlcm1pbmF0ZWQgY29tbWVudCAoXCIvKlwiIHdpdGhvdXQgY29ycmVzcG9uZGluZyBcIiovXCIpLicpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb21tZW50U3RhcnQubGFzdEluZGV4ID0gMDtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgICBzdHlsaXMudXNlKGZ1bmN0aW9uIChjb250ZXh0LCBjb250ZW50LCBzZWxlY3RvcnMpIHtcbiAgICAgIHN3aXRjaCAoY29udGV4dCkge1xuICAgICAgICBjYXNlIC0xOlxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHZhciBmbGFnID0gJ2Vtb3Rpb24tZGlzYWJsZS1zZXJ2ZXItcmVuZGVyaW5nLXVuc2FmZS1zZWxlY3Rvci13YXJuaW5nLXBsZWFzZS1kby1ub3QtdXNlLXRoaXMtdGhlLXdhcm5pbmctZXhpc3RzLWZvci1hLXJlYXNvbic7XG4gICAgICAgICAgICB2YXIgdW5zYWZlUHNldWRvQ2xhc3NlcyA9IGNvbnRlbnQubWF0Y2goLyg6Zmlyc3R8Om50aHw6bnRoLWxhc3QpLWNoaWxkL2cpO1xuXG4gICAgICAgICAgICBpZiAodW5zYWZlUHNldWRvQ2xhc3NlcyAmJiBjYWNoZS5jb21wYXQgIT09IHRydWUpIHtcbiAgICAgICAgICAgICAgdW5zYWZlUHNldWRvQ2xhc3Nlcy5mb3JFYWNoKGZ1bmN0aW9uICh1bnNhZmVQc2V1ZG9DbGFzcykge1xuICAgICAgICAgICAgICAgIHZhciBpZ25vcmVSZWdFeHAgPSBuZXcgUmVnRXhwKHVuc2FmZVBzZXVkb0NsYXNzICsgXCIuKlxcXFwvXFxcXCogXCIgKyBmbGFnICsgXCIgXFxcXCpcXFxcL1wiKTtcbiAgICAgICAgICAgICAgICB2YXIgaWdub3JlID0gaWdub3JlUmVnRXhwLnRlc3QoY29udGVudCk7XG5cbiAgICAgICAgICAgICAgICBpZiAodW5zYWZlUHNldWRvQ2xhc3MgJiYgIWlnbm9yZSkge1xuICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihcIlRoZSBwc2V1ZG8gY2xhc3MgXFxcIlwiICsgdW5zYWZlUHNldWRvQ2xhc3MgKyBcIlxcXCIgaXMgcG90ZW50aWFsbHkgdW5zYWZlIHdoZW4gZG9pbmcgc2VydmVyLXNpZGUgcmVuZGVyaW5nLiBUcnkgY2hhbmdpbmcgaXQgdG8gXFxcIlwiICsgdW5zYWZlUHNldWRvQ2xhc3Muc3BsaXQoJy1jaGlsZCcpWzBdICsgXCItb2YtdHlwZVxcXCIuXCIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHZhciBjYWNoZSA9IHtcbiAgICBrZXk6IGtleSxcbiAgICBzaGVldDogbmV3IFN0eWxlU2hlZXQoe1xuICAgICAga2V5OiBrZXksXG4gICAgICBjb250YWluZXI6IGNvbnRhaW5lcixcbiAgICAgIG5vbmNlOiBvcHRpb25zLm5vbmNlLFxuICAgICAgc3BlZWR5OiBvcHRpb25zLnNwZWVkeVxuICAgIH0pLFxuICAgIG5vbmNlOiBvcHRpb25zLm5vbmNlLFxuICAgIGluc2VydGVkOiBpbnNlcnRlZCxcbiAgICByZWdpc3RlcmVkOiB7fSxcbiAgICBpbnNlcnQ6IF9pbnNlcnRcbiAgfTtcbiAgcmV0dXJuIGNhY2hlO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgY3JlYXRlQ2FjaGU7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@emotion/cache/dist/cache.browser.esm.js\n"); /***/ }), /***/ "./node_modules/@emotion/core/dist/core.browser.esm.js": /*!*************************************************************!*\ !*** ./node_modules/@emotion/core/dist/core.browser.esm.js ***! \*************************************************************/ /*! exports provided: css, CacheProvider, ClassNames, Global, ThemeContext, jsx, keyframes, withEmotionCache */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"CacheProvider\", function() { return CacheProvider; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ClassNames\", function() { return ClassNames; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Global\", function() { return Global; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ThemeContext\", function() { return ThemeContext; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"jsx\", function() { return jsx; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"keyframes\", function() { return keyframes; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"withEmotionCache\", function() { return withEmotionCache; });\n/* harmony import */ var _babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/inheritsLoose */ \"./node_modules/@emotion/core/node_modules/@babel/runtime/helpers/inheritsLoose.js\");\n/* harmony import */ var _babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _emotion_cache__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @emotion/cache */ \"./node_modules/@emotion/cache/dist/cache.browser.esm.js\");\n/* harmony import */ var _emotion_utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @emotion/utils */ \"./node_modules/@emotion/utils/dist/utils.browser.esm.js\");\n/* harmony import */ var _emotion_serialize__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @emotion/serialize */ \"./node_modules/@emotion/serialize/dist/serialize.browser.esm.js\");\n/* harmony import */ var _emotion_sheet__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @emotion/sheet */ \"./node_modules/@emotion/sheet/dist/sheet.browser.esm.js\");\n/* harmony import */ var _emotion_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @emotion/css */ \"./node_modules/@emotion/css/dist/css.browser.esm.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"css\", function() { return _emotion_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"]; });\n\n\n\n\n\n\n\n\n\n\nvar EmotionCacheContext = Object(react__WEBPACK_IMPORTED_MODULE_1__[\"createContext\"])( // we're doing this to avoid preconstruct's dead code elimination in this one case\n// because this module is primarily intended for the browser and node\n// but it's also required in react native and similar environments sometimes\n// and we could have a special build just for that\n// but this is much easier and the native packages\n// might use a different theme context in the future anyway\ntypeof HTMLElement !== 'undefined' ? Object(_emotion_cache__WEBPACK_IMPORTED_MODULE_2__[\"default\"])() : null);\nvar ThemeContext = Object(react__WEBPACK_IMPORTED_MODULE_1__[\"createContext\"])({});\nvar CacheProvider = EmotionCacheContext.Provider;\n\nvar withEmotionCache = function withEmotionCache(func) {\n var render = function render(props, ref) {\n return Object(react__WEBPACK_IMPORTED_MODULE_1__[\"createElement\"])(EmotionCacheContext.Consumer, null, function (cache) {\n return func(props, cache, ref);\n });\n }; // $FlowFixMe\n\n\n return Object(react__WEBPACK_IMPORTED_MODULE_1__[\"forwardRef\"])(render);\n};\n\n// thus we only need to replace what is a valid character for JS, but not for CSS\n\nvar sanitizeIdentifier = function sanitizeIdentifier(identifier) {\n return identifier.replace(/\\$/g, '-');\n};\n\nvar typePropName = '__EMOTION_TYPE_PLEASE_DO_NOT_USE__';\nvar labelPropName = '__EMOTION_LABEL_PLEASE_DO_NOT_USE__';\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar render = function render(cache, props, theme, ref) {\n var cssProp = theme === null ? props.css : props.css(theme); // so that using `css` from `emotion` and passing the result to the css prop works\n // not passing the registered cache to serializeStyles because it would\n // make certain babel optimisations not possible\n\n if (typeof cssProp === 'string' && cache.registered[cssProp] !== undefined) {\n cssProp = cache.registered[cssProp];\n }\n\n var type = props[typePropName];\n var registeredStyles = [cssProp];\n var className = '';\n\n if (typeof props.className === 'string') {\n className = Object(_emotion_utils__WEBPACK_IMPORTED_MODULE_3__[\"getRegisteredStyles\"])(cache.registered, registeredStyles, props.className);\n } else if (props.className != null) {\n className = props.className + \" \";\n }\n\n var serialized = Object(_emotion_serialize__WEBPACK_IMPORTED_MODULE_4__[\"serializeStyles\"])(registeredStyles);\n\n if ( true && serialized.name.indexOf('-') === -1) {\n var labelFromStack = props[labelPropName];\n\n if (labelFromStack) {\n serialized = Object(_emotion_serialize__WEBPACK_IMPORTED_MODULE_4__[\"serializeStyles\"])([serialized, 'label:' + labelFromStack + ';']);\n }\n }\n\n var rules = Object(_emotion_utils__WEBPACK_IMPORTED_MODULE_3__[\"insertStyles\"])(cache, serialized, typeof type === 'string');\n className += cache.key + \"-\" + serialized.name;\n var newProps = {};\n\n for (var key in props) {\n if (hasOwnProperty.call(props, key) && key !== 'css' && key !== typePropName && ( false || key !== labelPropName)) {\n newProps[key] = props[key];\n }\n }\n\n newProps.ref = ref;\n newProps.className = className;\n var ele = Object(react__WEBPACK_IMPORTED_MODULE_1__[\"createElement\"])(type, newProps);\n\n return ele;\n};\n\nvar Emotion =\n/* #__PURE__ */\nwithEmotionCache(function (props, cache, ref) {\n // use Context.read for the theme when it's stable\n if (typeof props.css === 'function') {\n return Object(react__WEBPACK_IMPORTED_MODULE_1__[\"createElement\"])(ThemeContext.Consumer, null, function (theme) {\n return render(cache, props, theme, ref);\n });\n }\n\n return render(cache, props, null, ref);\n});\n\nif (true) {\n Emotion.displayName = 'EmotionCssPropInternal';\n} // $FlowFixMe\n\n\nvar jsx = function jsx(type, props) {\n var args = arguments;\n\n if (props == null || !hasOwnProperty.call(props, 'css')) {\n // $FlowFixMe\n return react__WEBPACK_IMPORTED_MODULE_1__[\"createElement\"].apply(undefined, args);\n }\n\n if ( true && typeof props.css === 'string' && // check if there is a css declaration\n props.css.indexOf(':') !== -1) {\n throw new Error(\"Strings are not allowed as css prop values, please wrap it in a css template literal from '@emotion/css' like this: css`\" + props.css + \"`\");\n }\n\n var argsLength = args.length;\n var createElementArgArray = new Array(argsLength);\n createElementArgArray[0] = Emotion;\n var newProps = {};\n\n for (var key in props) {\n if (hasOwnProperty.call(props, key)) {\n newProps[key] = props[key];\n }\n }\n\n newProps[typePropName] = type;\n\n if (true) {\n var error = new Error();\n\n if (error.stack) {\n // chrome\n var match = error.stack.match(/at (?:Object\\.|)jsx.*\\n\\s+at ([A-Z][A-Za-z$]+) /);\n\n if (!match) {\n // safari and firefox\n match = error.stack.match(/.*\\n([A-Z][A-Za-z$]+)@/);\n }\n\n if (match) {\n newProps[labelPropName] = sanitizeIdentifier(match[1]);\n }\n }\n }\n\n createElementArgArray[1] = newProps;\n\n for (var i = 2; i < argsLength; i++) {\n createElementArgArray[i] = args[i];\n } // $FlowFixMe\n\n\n return react__WEBPACK_IMPORTED_MODULE_1__[\"createElement\"].apply(null, createElementArgArray);\n};\n\nvar warnedAboutCssPropForGlobal = false;\nvar Global =\n/* #__PURE__ */\nwithEmotionCache(function (props, cache) {\n if ( true && !warnedAboutCssPropForGlobal && ( // check for className as well since the user is\n // probably using the custom createElement which\n // means it will be turned into a className prop\n // $FlowFixMe I don't really want to add it to the type since it shouldn't be used\n props.className || props.css)) {\n console.error(\"It looks like you're using the css prop on Global, did you mean to use the styles prop instead?\");\n warnedAboutCssPropForGlobal = true;\n }\n\n var styles = props.styles;\n\n if (typeof styles === 'function') {\n return Object(react__WEBPACK_IMPORTED_MODULE_1__[\"createElement\"])(ThemeContext.Consumer, null, function (theme) {\n var serialized = Object(_emotion_serialize__WEBPACK_IMPORTED_MODULE_4__[\"serializeStyles\"])([styles(theme)]);\n return Object(react__WEBPACK_IMPORTED_MODULE_1__[\"createElement\"])(InnerGlobal, {\n serialized: serialized,\n cache: cache\n });\n });\n }\n\n var serialized = Object(_emotion_serialize__WEBPACK_IMPORTED_MODULE_4__[\"serializeStyles\"])([styles]);\n return Object(react__WEBPACK_IMPORTED_MODULE_1__[\"createElement\"])(InnerGlobal, {\n serialized: serialized,\n cache: cache\n });\n});\n\n// maintain place over rerenders.\n// initial render from browser, insertBefore context.sheet.tags[0] or if a style hasn't been inserted there yet, appendChild\n// initial client-side render from SSR, use place of hydrating tag\nvar InnerGlobal =\n/*#__PURE__*/\nfunction (_React$Component) {\n _babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_0___default()(InnerGlobal, _React$Component);\n\n function InnerGlobal(props, context, updater) {\n return _React$Component.call(this, props, context, updater) || this;\n }\n\n var _proto = InnerGlobal.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.sheet = new _emotion_sheet__WEBPACK_IMPORTED_MODULE_5__[\"StyleSheet\"]({\n key: this.props.cache.key + \"-global\",\n nonce: this.props.cache.sheet.nonce,\n container: this.props.cache.sheet.container\n }); // $FlowFixMe\n\n var node = document.querySelector(\"style[data-emotion-\" + this.props.cache.key + \"=\\\"\" + this.props.serialized.name + \"\\\"]\");\n\n if (node !== null) {\n this.sheet.tags.push(node);\n }\n\n if (this.props.cache.sheet.tags.length) {\n this.sheet.before = this.props.cache.sheet.tags[0];\n }\n\n this.insertStyles();\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n if (prevProps.serialized.name !== this.props.serialized.name) {\n this.insertStyles();\n }\n };\n\n _proto.insertStyles = function insertStyles$1() {\n if (this.props.serialized.next !== undefined) {\n // insert keyframes\n Object(_emotion_utils__WEBPACK_IMPORTED_MODULE_3__[\"insertStyles\"])(this.props.cache, this.props.serialized.next, true);\n }\n\n if (this.sheet.tags.length) {\n // if this doesn't exist then it will be null so the style element will be appended\n var element = this.sheet.tags[this.sheet.tags.length - 1].nextElementSibling;\n this.sheet.before = element;\n this.sheet.flush();\n }\n\n this.props.cache.insert(\"\", this.props.serialized, this.sheet, false);\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.sheet.flush();\n };\n\n _proto.render = function render() {\n\n return null;\n };\n\n return InnerGlobal;\n}(react__WEBPACK_IMPORTED_MODULE_1__[\"Component\"]);\n\nvar keyframes = function keyframes() {\n var insertable = _emotion_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].apply(void 0, arguments);\n var name = \"animation-\" + insertable.name; // $FlowFixMe\n\n return {\n name: name,\n styles: \"@keyframes \" + name + \"{\" + insertable.styles + \"}\",\n anim: 1,\n toString: function toString() {\n return \"_EMO_\" + this.name + \"_\" + this.styles + \"_EMO_\";\n }\n };\n};\n\nvar classnames = function classnames(args) {\n var len = args.length;\n var i = 0;\n var cls = '';\n\n for (; i < len; i++) {\n var arg = args[i];\n if (arg == null) continue;\n var toAdd = void 0;\n\n switch (typeof arg) {\n case 'boolean':\n break;\n\n case 'object':\n {\n if (Array.isArray(arg)) {\n toAdd = classnames(arg);\n } else {\n toAdd = '';\n\n for (var k in arg) {\n if (arg[k] && k) {\n toAdd && (toAdd += ' ');\n toAdd += k;\n }\n }\n }\n\n break;\n }\n\n default:\n {\n toAdd = arg;\n }\n }\n\n if (toAdd) {\n cls && (cls += ' ');\n cls += toAdd;\n }\n }\n\n return cls;\n};\n\nfunction merge(registered, css, className) {\n var registeredStyles = [];\n var rawClassName = Object(_emotion_utils__WEBPACK_IMPORTED_MODULE_3__[\"getRegisteredStyles\"])(registered, registeredStyles, className);\n\n if (registeredStyles.length < 2) {\n return className;\n }\n\n return rawClassName + css(registeredStyles);\n}\n\nvar ClassNames = withEmotionCache(function (props, context) {\n return Object(react__WEBPACK_IMPORTED_MODULE_1__[\"createElement\"])(ThemeContext.Consumer, null, function (theme) {\n var hasRendered = false;\n\n var css = function css() {\n if (hasRendered && \"development\" !== 'production') {\n throw new Error('css can only be used during render');\n }\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var serialized = Object(_emotion_serialize__WEBPACK_IMPORTED_MODULE_4__[\"serializeStyles\"])(args, context.registered);\n\n {\n Object(_emotion_utils__WEBPACK_IMPORTED_MODULE_3__[\"insertStyles\"])(context, serialized, false);\n }\n\n return context.key + \"-\" + serialized.name;\n };\n\n var cx = function cx() {\n if (hasRendered && \"development\" !== 'production') {\n throw new Error('cx can only be used during render');\n }\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return merge(context.registered, css, classnames(args));\n };\n\n var content = {\n css: css,\n cx: cx,\n theme: theme\n };\n var ele = props.children(content);\n hasRendered = true;\n\n return ele;\n });\n});\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGVtb3Rpb24vY29yZS9kaXN0L2NvcmUuYnJvd3Nlci5lc20uanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGVtb3Rpb24vY29yZS9kaXN0L2NvcmUuYnJvd3Nlci5lc20uanM/YThhYiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgX2luaGVyaXRzTG9vc2UgZnJvbSAnQGJhYmVsL3J1bnRpbWUvaGVscGVycy9pbmhlcml0c0xvb3NlJztcbmltcG9ydCB7IGNyZWF0ZUNvbnRleHQsIGZvcndhcmRSZWYsIGNyZWF0ZUVsZW1lbnQsIENvbXBvbmVudCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBjcmVhdGVDYWNoZSBmcm9tICdAZW1vdGlvbi9jYWNoZSc7XG5pbXBvcnQgeyBnZXRSZWdpc3RlcmVkU3R5bGVzLCBpbnNlcnRTdHlsZXMgfSBmcm9tICdAZW1vdGlvbi91dGlscyc7XG5pbXBvcnQgeyBzZXJpYWxpemVTdHlsZXMgfSBmcm9tICdAZW1vdGlvbi9zZXJpYWxpemUnO1xuaW1wb3J0IHsgU3R5bGVTaGVldCB9IGZyb20gJ0BlbW90aW9uL3NoZWV0JztcbmltcG9ydCBjc3MgZnJvbSAnQGVtb3Rpb24vY3NzJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgY3NzIH0gZnJvbSAnQGVtb3Rpb24vY3NzJztcblxudmFyIEVtb3Rpb25DYWNoZUNvbnRleHQgPSBjcmVhdGVDb250ZXh0KCAvLyB3ZSdyZSBkb2luZyB0aGlzIHRvIGF2b2lkIHByZWNvbnN0cnVjdCdzIGRlYWQgY29kZSBlbGltaW5hdGlvbiBpbiB0aGlzIG9uZSBjYXNlXG4vLyBiZWNhdXNlIHRoaXMgbW9kdWxlIGlzIHByaW1hcmlseSBpbnRlbmRlZCBmb3IgdGhlIGJyb3dzZXIgYW5kIG5vZGVcbi8vIGJ1dCBpdCdzIGFsc28gcmVxdWlyZWQgaW4gcmVhY3QgbmF0aXZlIGFuZCBzaW1pbGFyIGVudmlyb25tZW50cyBzb21ldGltZXNcbi8vIGFuZCB3ZSBjb3VsZCBoYXZlIGEgc3BlY2lhbCBidWlsZCBqdXN0IGZvciB0aGF0XG4vLyBidXQgdGhpcyBpcyBtdWNoIGVhc2llciBhbmQgdGhlIG5hdGl2ZSBwYWNrYWdlc1xuLy8gbWlnaHQgdXNlIGEgZGlmZmVyZW50IHRoZW1lIGNvbnRleHQgaW4gdGhlIGZ1dHVyZSBhbnl3YXlcbnR5cGVvZiBIVE1MRWxlbWVudCAhPT0gJ3VuZGVmaW5lZCcgPyBjcmVhdGVDYWNoZSgpIDogbnVsbCk7XG52YXIgVGhlbWVDb250ZXh0ID0gY3JlYXRlQ29udGV4dCh7fSk7XG52YXIgQ2FjaGVQcm92aWRlciA9IEVtb3Rpb25DYWNoZUNvbnRleHQuUHJvdmlkZXI7XG5cbnZhciB3aXRoRW1vdGlvbkNhY2hlID0gZnVuY3Rpb24gd2l0aEVtb3Rpb25DYWNoZShmdW5jKSB7XG4gIHZhciByZW5kZXIgPSBmdW5jdGlvbiByZW5kZXIocHJvcHMsIHJlZikge1xuICAgIHJldHVybiBjcmVhdGVFbGVtZW50KEVtb3Rpb25DYWNoZUNvbnRleHQuQ29uc3VtZXIsIG51bGwsIGZ1bmN0aW9uIChjYWNoZSkge1xuICAgICAgcmV0dXJuIGZ1bmMocHJvcHMsIGNhY2hlLCByZWYpO1xuICAgIH0pO1xuICB9OyAvLyAkRmxvd0ZpeE1lXG5cblxuICByZXR1cm4gZm9yd2FyZFJlZihyZW5kZXIpO1xufTtcblxuLy8gdGh1cyB3ZSBvbmx5IG5lZWQgdG8gcmVwbGFjZSB3aGF0IGlzIGEgdmFsaWQgY2hhcmFjdGVyIGZvciBKUywgYnV0IG5vdCBmb3IgQ1NTXG5cbnZhciBzYW5pdGl6ZUlkZW50aWZpZXIgPSBmdW5jdGlvbiBzYW5pdGl6ZUlkZW50aWZpZXIoaWRlbnRpZmllcikge1xuICByZXR1cm4gaWRlbnRpZmllci5yZXBsYWNlKC9cXCQvZywgJy0nKTtcbn07XG5cbnZhciB0eXBlUHJvcE5hbWUgPSAnX19FTU9USU9OX1RZUEVfUExFQVNFX0RPX05PVF9VU0VfXyc7XG52YXIgbGFiZWxQcm9wTmFtZSA9ICdfX0VNT1RJT05fTEFCRUxfUExFQVNFX0RPX05PVF9VU0VfXyc7XG52YXIgaGFzT3duUHJvcGVydHkgPSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O1xuXG52YXIgcmVuZGVyID0gZnVuY3Rpb24gcmVuZGVyKGNhY2hlLCBwcm9wcywgdGhlbWUsIHJlZikge1xuICB2YXIgY3NzUHJvcCA9IHRoZW1lID09PSBudWxsID8gcHJvcHMuY3NzIDogcHJvcHMuY3NzKHRoZW1lKTsgLy8gc28gdGhhdCB1c2luZyBgY3NzYCBmcm9tIGBlbW90aW9uYCBhbmQgcGFzc2luZyB0aGUgcmVzdWx0IHRvIHRoZSBjc3MgcHJvcCB3b3Jrc1xuICAvLyBub3QgcGFzc2luZyB0aGUgcmVnaXN0ZXJlZCBjYWNoZSB0byBzZXJpYWxpemVTdHlsZXMgYmVjYXVzZSBpdCB3b3VsZFxuICAvLyBtYWtlIGNlcnRhaW4gYmFiZWwgb3B0aW1pc2F0aW9ucyBub3QgcG9zc2libGVcblxuICBpZiAodHlwZW9mIGNzc1Byb3AgPT09ICdzdHJpbmcnICYmIGNhY2hlLnJlZ2lzdGVyZWRbY3NzUHJvcF0gIT09IHVuZGVmaW5lZCkge1xuICAgIGNzc1Byb3AgPSBjYWNoZS5yZWdpc3RlcmVkW2Nzc1Byb3BdO1xuICB9XG5cbiAgdmFyIHR5cGUgPSBwcm9wc1t0eXBlUHJvcE5hbWVdO1xuICB2YXIgcmVnaXN0ZXJlZFN0eWxlcyA9IFtjc3NQcm9wXTtcbiAgdmFyIGNsYXNzTmFtZSA9ICcnO1xuXG4gIGlmICh0eXBlb2YgcHJvcHMuY2xhc3NOYW1lID09PSAnc3RyaW5nJykge1xuICAgIGNsYXNzTmFtZSA9IGdldFJlZ2lzdGVyZWRTdHlsZXMoY2FjaGUucmVnaXN0ZXJlZCwgcmVnaXN0ZXJlZFN0eWxlcywgcHJvcHMuY2xhc3NOYW1lKTtcbiAgfSBlbHNlIGlmIChwcm9wcy5jbGFzc05hbWUgIT0gbnVsbCkge1xuICAgIGNsYXNzTmFtZSA9IHByb3BzLmNsYXNzTmFtZSArIFwiIFwiO1xuICB9XG5cbiAgdmFyIHNlcmlhbGl6ZWQgPSBzZXJpYWxpemVTdHlsZXMocmVnaXN0ZXJlZFN0eWxlcyk7XG5cbiAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgc2VyaWFsaXplZC5uYW1lLmluZGV4T2YoJy0nKSA9PT0gLTEpIHtcbiAgICB2YXIgbGFiZWxGcm9tU3RhY2sgPSBwcm9wc1tsYWJlbFByb3BOYW1lXTtcblxuICAgIGlmIChsYWJlbEZyb21TdGFjaykge1xuICAgICAgc2VyaWFsaXplZCA9IHNlcmlhbGl6ZVN0eWxlcyhbc2VyaWFsaXplZCwgJ2xhYmVsOicgKyBsYWJlbEZyb21TdGFjayArICc7J10pO1xuICAgIH1cbiAgfVxuXG4gIHZhciBydWxlcyA9IGluc2VydFN0eWxlcyhjYWNoZSwgc2VyaWFsaXplZCwgdHlwZW9mIHR5cGUgPT09ICdzdHJpbmcnKTtcbiAgY2xhc3NOYW1lICs9IGNhY2hlLmtleSArIFwiLVwiICsgc2VyaWFsaXplZC5uYW1lO1xuICB2YXIgbmV3UHJvcHMgPSB7fTtcblxuICBmb3IgKHZhciBrZXkgaW4gcHJvcHMpIHtcbiAgICBpZiAoaGFzT3duUHJvcGVydHkuY2FsbChwcm9wcywga2V5KSAmJiBrZXkgIT09ICdjc3MnICYmIGtleSAhPT0gdHlwZVByb3BOYW1lICYmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gJ3Byb2R1Y3Rpb24nIHx8IGtleSAhPT0gbGFiZWxQcm9wTmFtZSkpIHtcbiAgICAgIG5ld1Byb3BzW2tleV0gPSBwcm9wc1trZXldO1xuICAgIH1cbiAgfVxuXG4gIG5ld1Byb3BzLnJlZiA9IHJlZjtcbiAgbmV3UHJvcHMuY2xhc3NOYW1lID0gY2xhc3NOYW1lO1xuICB2YXIgZWxlID0gY3JlYXRlRWxlbWVudCh0eXBlLCBuZXdQcm9wcyk7XG5cbiAgcmV0dXJuIGVsZTtcbn07XG5cbnZhciBFbW90aW9uID1cbi8qICNfX1BVUkVfXyAqL1xud2l0aEVtb3Rpb25DYWNoZShmdW5jdGlvbiAocHJvcHMsIGNhY2hlLCByZWYpIHtcbiAgLy8gdXNlIENvbnRleHQucmVhZCBmb3IgdGhlIHRoZW1lIHdoZW4gaXQncyBzdGFibGVcbiAgaWYgKHR5cGVvZiBwcm9wcy5jc3MgPT09ICdmdW5jdGlvbicpIHtcbiAgICByZXR1cm4gY3JlYXRlRWxlbWVudChUaGVtZUNvbnRleHQuQ29uc3VtZXIsIG51bGwsIGZ1bmN0aW9uICh0aGVtZSkge1xuICAgICAgcmV0dXJuIHJlbmRlcihjYWNoZSwgcHJvcHMsIHRoZW1lLCByZWYpO1xuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIHJlbmRlcihjYWNoZSwgcHJvcHMsIG51bGwsIHJlZik7XG59KTtcblxuaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgRW1vdGlvbi5kaXNwbGF5TmFtZSA9ICdFbW90aW9uQ3NzUHJvcEludGVybmFsJztcbn0gLy8gJEZsb3dGaXhNZVxuXG5cbnZhciBqc3ggPSBmdW5jdGlvbiBqc3godHlwZSwgcHJvcHMpIHtcbiAgdmFyIGFyZ3MgPSBhcmd1bWVudHM7XG5cbiAgaWYgKHByb3BzID09IG51bGwgfHwgIWhhc093blByb3BlcnR5LmNhbGwocHJvcHMsICdjc3MnKSkge1xuICAgIC8vICRGbG93Rml4TWVcbiAgICByZXR1cm4gY3JlYXRlRWxlbWVudC5hcHBseSh1bmRlZmluZWQsIGFyZ3MpO1xuICB9XG5cbiAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgdHlwZW9mIHByb3BzLmNzcyA9PT0gJ3N0cmluZycgJiYgLy8gY2hlY2sgaWYgdGhlcmUgaXMgYSBjc3MgZGVjbGFyYXRpb25cbiAgcHJvcHMuY3NzLmluZGV4T2YoJzonKSAhPT0gLTEpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJTdHJpbmdzIGFyZSBub3QgYWxsb3dlZCBhcyBjc3MgcHJvcCB2YWx1ZXMsIHBsZWFzZSB3cmFwIGl0IGluIGEgY3NzIHRlbXBsYXRlIGxpdGVyYWwgZnJvbSAnQGVtb3Rpb24vY3NzJyBsaWtlIHRoaXM6IGNzc2BcIiArIHByb3BzLmNzcyArIFwiYFwiKTtcbiAgfVxuXG4gIHZhciBhcmdzTGVuZ3RoID0gYXJncy5sZW5ndGg7XG4gIHZhciBjcmVhdGVFbGVtZW50QXJnQXJyYXkgPSBuZXcgQXJyYXkoYXJnc0xlbmd0aCk7XG4gIGNyZWF0ZUVsZW1lbnRBcmdBcnJheVswXSA9IEVtb3Rpb247XG4gIHZhciBuZXdQcm9wcyA9IHt9O1xuXG4gIGZvciAodmFyIGtleSBpbiBwcm9wcykge1xuICAgIGlmIChoYXNPd25Qcm9wZXJ0eS5jYWxsKHByb3BzLCBrZXkpKSB7XG4gICAgICBuZXdQcm9wc1trZXldID0gcHJvcHNba2V5XTtcbiAgICB9XG4gIH1cblxuICBuZXdQcm9wc1t0eXBlUHJvcE5hbWVdID0gdHlwZTtcblxuICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgIHZhciBlcnJvciA9IG5ldyBFcnJvcigpO1xuXG4gICAgaWYgKGVycm9yLnN0YWNrKSB7XG4gICAgICAvLyBjaHJvbWVcbiAgICAgIHZhciBtYXRjaCA9IGVycm9yLnN0YWNrLm1hdGNoKC9hdCAoPzpPYmplY3RcXC58KWpzeC4qXFxuXFxzK2F0IChbQS1aXVtBLVphLXokXSspIC8pO1xuXG4gICAgICBpZiAoIW1hdGNoKSB7XG4gICAgICAgIC8vIHNhZmFyaSBhbmQgZmlyZWZveFxuICAgICAgICBtYXRjaCA9IGVycm9yLnN0YWNrLm1hdGNoKC8uKlxcbihbQS1aXVtBLVphLXokXSspQC8pO1xuICAgICAgfVxuXG4gICAgICBpZiAobWF0Y2gpIHtcbiAgICAgICAgbmV3UHJvcHNbbGFiZWxQcm9wTmFtZV0gPSBzYW5pdGl6ZUlkZW50aWZpZXIobWF0Y2hbMV0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGNyZWF0ZUVsZW1lbnRBcmdBcnJheVsxXSA9IG5ld1Byb3BzO1xuXG4gIGZvciAodmFyIGkgPSAyOyBpIDwgYXJnc0xlbmd0aDsgaSsrKSB7XG4gICAgY3JlYXRlRWxlbWVudEFyZ0FycmF5W2ldID0gYXJnc1tpXTtcbiAgfSAvLyAkRmxvd0ZpeE1lXG5cblxuICByZXR1cm4gY3JlYXRlRWxlbWVudC5hcHBseShudWxsLCBjcmVhdGVFbGVtZW50QXJnQXJyYXkpO1xufTtcblxudmFyIHdhcm5lZEFib3V0Q3NzUHJvcEZvckdsb2JhbCA9IGZhbHNlO1xudmFyIEdsb2JhbCA9XG4vKiAjX19QVVJFX18gKi9cbndpdGhFbW90aW9uQ2FjaGUoZnVuY3Rpb24gKHByb3BzLCBjYWNoZSkge1xuICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiAhd2FybmVkQWJvdXRDc3NQcm9wRm9yR2xvYmFsICYmICggLy8gY2hlY2sgZm9yIGNsYXNzTmFtZSBhcyB3ZWxsIHNpbmNlIHRoZSB1c2VyIGlzXG4gIC8vIHByb2JhYmx5IHVzaW5nIHRoZSBjdXN0b20gY3JlYXRlRWxlbWVudCB3aGljaFxuICAvLyBtZWFucyBpdCB3aWxsIGJlIHR1cm5lZCBpbnRvIGEgY2xhc3NOYW1lIHByb3BcbiAgLy8gJEZsb3dGaXhNZSBJIGRvbid0IHJlYWxseSB3YW50IHRvIGFkZCBpdCB0byB0aGUgdHlwZSBzaW5jZSBpdCBzaG91bGRuJ3QgYmUgdXNlZFxuICBwcm9wcy5jbGFzc05hbWUgfHwgcHJvcHMuY3NzKSkge1xuICAgIGNvbnNvbGUuZXJyb3IoXCJJdCBsb29rcyBsaWtlIHlvdSdyZSB1c2luZyB0aGUgY3NzIHByb3Agb24gR2xvYmFsLCBkaWQgeW91IG1lYW4gdG8gdXNlIHRoZSBzdHlsZXMgcHJvcCBpbnN0ZWFkP1wiKTtcbiAgICB3YXJuZWRBYm91dENzc1Byb3BGb3JHbG9iYWwgPSB0cnVlO1xuICB9XG5cbiAgdmFyIHN0eWxlcyA9IHByb3BzLnN0eWxlcztcblxuICBpZiAodHlwZW9mIHN0eWxlcyA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHJldHVybiBjcmVhdGVFbGVtZW50KFRoZW1lQ29udGV4dC5Db25zdW1lciwgbnVsbCwgZnVuY3Rpb24gKHRoZW1lKSB7XG4gICAgICB2YXIgc2VyaWFsaXplZCA9IHNlcmlhbGl6ZVN0eWxlcyhbc3R5bGVzKHRoZW1lKV0pO1xuICAgICAgcmV0dXJuIGNyZWF0ZUVsZW1lbnQoSW5uZXJHbG9iYWwsIHtcbiAgICAgICAgc2VyaWFsaXplZDogc2VyaWFsaXplZCxcbiAgICAgICAgY2FjaGU6IGNhY2hlXG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIHZhciBzZXJpYWxpemVkID0gc2VyaWFsaXplU3R5bGVzKFtzdHlsZXNdKTtcbiAgcmV0dXJuIGNyZWF0ZUVsZW1lbnQoSW5uZXJHbG9iYWwsIHtcbiAgICBzZXJpYWxpemVkOiBzZXJpYWxpemVkLFxuICAgIGNhY2hlOiBjYWNoZVxuICB9KTtcbn0pO1xuXG4vLyBtYWludGFpbiBwbGFjZSBvdmVyIHJlcmVuZGVycy5cbi8vIGluaXRpYWwgcmVuZGVyIGZyb20gYnJvd3NlciwgaW5zZXJ0QmVmb3JlIGNvbnRleHQuc2hlZXQudGFnc1swXSBvciBpZiBhIHN0eWxlIGhhc24ndCBiZWVuIGluc2VydGVkIHRoZXJlIHlldCwgYXBwZW5kQ2hpbGRcbi8vIGluaXRpYWwgY2xpZW50LXNpZGUgcmVuZGVyIGZyb20gU1NSLCB1c2UgcGxhY2Ugb2YgaHlkcmF0aW5nIHRhZ1xudmFyIElubmVyR2xvYmFsID1cbi8qI19fUFVSRV9fKi9cbmZ1bmN0aW9uIChfUmVhY3QkQ29tcG9uZW50KSB7XG4gIF9pbmhlcml0c0xvb3NlKElubmVyR2xvYmFsLCBfUmVhY3QkQ29tcG9uZW50KTtcblxuICBmdW5jdGlvbiBJbm5lckdsb2JhbChwcm9wcywgY29udGV4dCwgdXBkYXRlcikge1xuICAgIHJldHVybiBfUmVhY3QkQ29tcG9uZW50LmNhbGwodGhpcywgcHJvcHMsIGNvbnRleHQsIHVwZGF0ZXIpIHx8IHRoaXM7XG4gIH1cblxuICB2YXIgX3Byb3RvID0gSW5uZXJHbG9iYWwucHJvdG90eXBlO1xuXG4gIF9wcm90by5jb21wb25lbnREaWRNb3VudCA9IGZ1bmN0aW9uIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIHRoaXMuc2hlZXQgPSBuZXcgU3R5bGVTaGVldCh7XG4gICAgICBrZXk6IHRoaXMucHJvcHMuY2FjaGUua2V5ICsgXCItZ2xvYmFsXCIsXG4gICAgICBub25jZTogdGhpcy5wcm9wcy5jYWNoZS5zaGVldC5ub25jZSxcbiAgICAgIGNvbnRhaW5lcjogdGhpcy5wcm9wcy5jYWNoZS5zaGVldC5jb250YWluZXJcbiAgICB9KTsgLy8gJEZsb3dGaXhNZVxuXG4gICAgdmFyIG5vZGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwic3R5bGVbZGF0YS1lbW90aW9uLVwiICsgdGhpcy5wcm9wcy5jYWNoZS5rZXkgKyBcIj1cXFwiXCIgKyB0aGlzLnByb3BzLnNlcmlhbGl6ZWQubmFtZSArIFwiXFxcIl1cIik7XG5cbiAgICBpZiAobm9kZSAhPT0gbnVsbCkge1xuICAgICAgdGhpcy5zaGVldC50YWdzLnB1c2gobm9kZSk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMucHJvcHMuY2FjaGUuc2hlZXQudGFncy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuc2hlZXQuYmVmb3JlID0gdGhpcy5wcm9wcy5jYWNoZS5zaGVldC50YWdzWzBdO1xuICAgIH1cblxuICAgIHRoaXMuaW5zZXJ0U3R5bGVzKCk7XG4gIH07XG5cbiAgX3Byb3RvLmNvbXBvbmVudERpZFVwZGF0ZSA9IGZ1bmN0aW9uIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMpIHtcbiAgICBpZiAocHJldlByb3BzLnNlcmlhbGl6ZWQubmFtZSAhPT0gdGhpcy5wcm9wcy5zZXJpYWxpemVkLm5hbWUpIHtcbiAgICAgIHRoaXMuaW5zZXJ0U3R5bGVzKCk7XG4gICAgfVxuICB9O1xuXG4gIF9wcm90by5pbnNlcnRTdHlsZXMgPSBmdW5jdGlvbiBpbnNlcnRTdHlsZXMkMSgpIHtcbiAgICBpZiAodGhpcy5wcm9wcy5zZXJpYWxpemVkLm5leHQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgLy8gaW5zZXJ0IGtleWZyYW1lc1xuICAgICAgaW5zZXJ0U3R5bGVzKHRoaXMucHJvcHMuY2FjaGUsIHRoaXMucHJvcHMuc2VyaWFsaXplZC5uZXh0LCB0cnVlKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5zaGVldC50YWdzLmxlbmd0aCkge1xuICAgICAgLy8gaWYgdGhpcyBkb2Vzbid0IGV4aXN0IHRoZW4gaXQgd2lsbCBiZSBudWxsIHNvIHRoZSBzdHlsZSBlbGVtZW50IHdpbGwgYmUgYXBwZW5kZWRcbiAgICAgIHZhciBlbGVtZW50ID0gdGhpcy5zaGVldC50YWdzW3RoaXMuc2hlZXQudGFncy5sZW5ndGggLSAxXS5uZXh0RWxlbWVudFNpYmxpbmc7XG4gICAgICB0aGlzLnNoZWV0LmJlZm9yZSA9IGVsZW1lbnQ7XG4gICAgICB0aGlzLnNoZWV0LmZsdXNoKCk7XG4gICAgfVxuXG4gICAgdGhpcy5wcm9wcy5jYWNoZS5pbnNlcnQoXCJcIiwgdGhpcy5wcm9wcy5zZXJpYWxpemVkLCB0aGlzLnNoZWV0LCBmYWxzZSk7XG4gIH07XG5cbiAgX3Byb3RvLmNvbXBvbmVudFdpbGxVbm1vdW50ID0gZnVuY3Rpb24gY29tcG9uZW50V2lsbFVubW91bnQoKSB7XG4gICAgdGhpcy5zaGVldC5mbHVzaCgpO1xuICB9O1xuXG4gIF9wcm90by5yZW5kZXIgPSBmdW5jdGlvbiByZW5kZXIoKSB7XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfTtcblxuICByZXR1cm4gSW5uZXJHbG9iYWw7XG59KENvbXBvbmVudCk7XG5cbnZhciBrZXlmcmFtZXMgPSBmdW5jdGlvbiBrZXlmcmFtZXMoKSB7XG4gIHZhciBpbnNlcnRhYmxlID0gY3NzLmFwcGx5KHZvaWQgMCwgYXJndW1lbnRzKTtcbiAgdmFyIG5hbWUgPSBcImFuaW1hdGlvbi1cIiArIGluc2VydGFibGUubmFtZTsgLy8gJEZsb3dGaXhNZVxuXG4gIHJldHVybiB7XG4gICAgbmFtZTogbmFtZSxcbiAgICBzdHlsZXM6IFwiQGtleWZyYW1lcyBcIiArIG5hbWUgKyBcIntcIiArIGluc2VydGFibGUuc3R5bGVzICsgXCJ9XCIsXG4gICAgYW5pbTogMSxcbiAgICB0b1N0cmluZzogZnVuY3Rpb24gdG9TdHJpbmcoKSB7XG4gICAgICByZXR1cm4gXCJfRU1PX1wiICsgdGhpcy5uYW1lICsgXCJfXCIgKyB0aGlzLnN0eWxlcyArIFwiX0VNT19cIjtcbiAgICB9XG4gIH07XG59O1xuXG52YXIgY2xhc3NuYW1lcyA9IGZ1bmN0aW9uIGNsYXNzbmFtZXMoYXJncykge1xuICB2YXIgbGVuID0gYXJncy5sZW5ndGg7XG4gIHZhciBpID0gMDtcbiAgdmFyIGNscyA9ICcnO1xuXG4gIGZvciAoOyBpIDwgbGVuOyBpKyspIHtcbiAgICB2YXIgYXJnID0gYXJnc1tpXTtcbiAgICBpZiAoYXJnID09IG51bGwpIGNvbnRpbnVlO1xuICAgIHZhciB0b0FkZCA9IHZvaWQgMDtcblxuICAgIHN3aXRjaCAodHlwZW9mIGFyZykge1xuICAgICAgY2FzZSAnYm9vbGVhbic6XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlICdvYmplY3QnOlxuICAgICAgICB7XG4gICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoYXJnKSkge1xuICAgICAgICAgICAgdG9BZGQgPSBjbGFzc25hbWVzKGFyZyk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRvQWRkID0gJyc7XG5cbiAgICAgICAgICAgIGZvciAodmFyIGsgaW4gYXJnKSB7XG4gICAgICAgICAgICAgIGlmIChhcmdba10gJiYgaykge1xuICAgICAgICAgICAgICAgIHRvQWRkICYmICh0b0FkZCArPSAnICcpO1xuICAgICAgICAgICAgICAgIHRvQWRkICs9IGs7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICBkZWZhdWx0OlxuICAgICAgICB7XG4gICAgICAgICAgdG9BZGQgPSBhcmc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodG9BZGQpIHtcbiAgICAgIGNscyAmJiAoY2xzICs9ICcgJyk7XG4gICAgICBjbHMgKz0gdG9BZGQ7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGNscztcbn07XG5cbmZ1bmN0aW9uIG1lcmdlKHJlZ2lzdGVyZWQsIGNzcywgY2xhc3NOYW1lKSB7XG4gIHZhciByZWdpc3RlcmVkU3R5bGVzID0gW107XG4gIHZhciByYXdDbGFzc05hbWUgPSBnZXRSZWdpc3RlcmVkU3R5bGVzKHJlZ2lzdGVyZWQsIHJlZ2lzdGVyZWRTdHlsZXMsIGNsYXNzTmFtZSk7XG5cbiAgaWYgKHJlZ2lzdGVyZWRTdHlsZXMubGVuZ3RoIDwgMikge1xuICAgIHJldHVybiBjbGFzc05hbWU7XG4gIH1cblxuICByZXR1cm4gcmF3Q2xhc3NOYW1lICsgY3NzKHJlZ2lzdGVyZWRTdHlsZXMpO1xufVxuXG52YXIgQ2xhc3NOYW1lcyA9IHdpdGhFbW90aW9uQ2FjaGUoZnVuY3Rpb24gKHByb3BzLCBjb250ZXh0KSB7XG4gIHJldHVybiBjcmVhdGVFbGVtZW50KFRoZW1lQ29udGV4dC5Db25zdW1lciwgbnVsbCwgZnVuY3Rpb24gKHRoZW1lKSB7XG4gICAgdmFyIGhhc1JlbmRlcmVkID0gZmFsc2U7XG5cbiAgICB2YXIgY3NzID0gZnVuY3Rpb24gY3NzKCkge1xuICAgICAgaWYgKGhhc1JlbmRlcmVkICYmIHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdjc3MgY2FuIG9ubHkgYmUgdXNlZCBkdXJpbmcgcmVuZGVyJyk7XG4gICAgICB9XG5cbiAgICAgIGZvciAodmFyIF9sZW4gPSBhcmd1bWVudHMubGVuZ3RoLCBhcmdzID0gbmV3IEFycmF5KF9sZW4pLCBfa2V5ID0gMDsgX2tleSA8IF9sZW47IF9rZXkrKykge1xuICAgICAgICBhcmdzW19rZXldID0gYXJndW1lbnRzW19rZXldO1xuICAgICAgfVxuXG4gICAgICB2YXIgc2VyaWFsaXplZCA9IHNlcmlhbGl6ZVN0eWxlcyhhcmdzLCBjb250ZXh0LnJlZ2lzdGVyZWQpO1xuXG4gICAgICB7XG4gICAgICAgIGluc2VydFN0eWxlcyhjb250ZXh0LCBzZXJpYWxpemVkLCBmYWxzZSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBjb250ZXh0LmtleSArIFwiLVwiICsgc2VyaWFsaXplZC5uYW1lO1xuICAgIH07XG5cbiAgICB2YXIgY3ggPSBmdW5jdGlvbiBjeCgpIHtcbiAgICAgIGlmIChoYXNSZW5kZXJlZCAmJiBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignY3ggY2FuIG9ubHkgYmUgdXNlZCBkdXJpbmcgcmVuZGVyJyk7XG4gICAgICB9XG5cbiAgICAgIGZvciAodmFyIF9sZW4yID0gYXJndW1lbnRzLmxlbmd0aCwgYXJncyA9IG5ldyBBcnJheShfbGVuMiksIF9rZXkyID0gMDsgX2tleTIgPCBfbGVuMjsgX2tleTIrKykge1xuICAgICAgICBhcmdzW19rZXkyXSA9IGFyZ3VtZW50c1tfa2V5Ml07XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBtZXJnZShjb250ZXh0LnJlZ2lzdGVyZWQsIGNzcywgY2xhc3NuYW1lcyhhcmdzKSk7XG4gICAgfTtcblxuICAgIHZhciBjb250ZW50ID0ge1xuICAgICAgY3NzOiBjc3MsXG4gICAgICBjeDogY3gsXG4gICAgICB0aGVtZTogdGhlbWVcbiAgICB9O1xuICAgIHZhciBlbGUgPSBwcm9wcy5jaGlsZHJlbihjb250ZW50KTtcbiAgICBoYXNSZW5kZXJlZCA9IHRydWU7XG5cbiAgICByZXR1cm4gZWxlO1xuICB9KTtcbn0pO1xuXG5leHBvcnQgeyBDYWNoZVByb3ZpZGVyLCBDbGFzc05hbWVzLCBHbG9iYWwsIFRoZW1lQ29udGV4dCwganN4LCBrZXlmcmFtZXMsIHdpdGhFbW90aW9uQ2FjaGUgfTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@emotion/core/dist/core.browser.esm.js\n"); /***/ }), /***/ "./node_modules/@emotion/core/node_modules/@babel/runtime/helpers/inheritsLoose.js": /*!*****************************************************************************************!*\ !*** ./node_modules/@emotion/core/node_modules/@babel/runtime/helpers/inheritsLoose.js ***! \*****************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { eval("function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}\n\nmodule.exports = _inheritsLoose;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGVtb3Rpb24vY29yZS9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9pbmhlcml0c0xvb3NlLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BlbW90aW9uL2NvcmUvbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvaW5oZXJpdHNMb29zZS5qcz85NmE2Il0sInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIF9pbmhlcml0c0xvb3NlKHN1YkNsYXNzLCBzdXBlckNsYXNzKSB7XG4gIHN1YkNsYXNzLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoc3VwZXJDbGFzcy5wcm90b3R5cGUpO1xuICBzdWJDbGFzcy5wcm90b3R5cGUuY29uc3RydWN0b3IgPSBzdWJDbGFzcztcbiAgc3ViQ2xhc3MuX19wcm90b19fID0gc3VwZXJDbGFzcztcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBfaW5oZXJpdHNMb29zZTsiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@emotion/core/node_modules/@babel/runtime/helpers/inheritsLoose.js\n"); /***/ }), /***/ "./node_modules/@emotion/css/dist/css.browser.esm.js": /*!***********************************************************!*\ !*** ./node_modules/@emotion/css/dist/css.browser.esm.js ***! \***********************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _emotion_serialize__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @emotion/serialize */ \"./node_modules/@emotion/serialize/dist/serialize.browser.esm.js\");\n\n\nfunction css() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return Object(_emotion_serialize__WEBPACK_IMPORTED_MODULE_0__[\"serializeStyles\"])(args);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (css);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGVtb3Rpb24vY3NzL2Rpc3QvY3NzLmJyb3dzZXIuZXNtLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BlbW90aW9uL2Nzcy9kaXN0L2Nzcy5icm93c2VyLmVzbS5qcz84OTg5Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHNlcmlhbGl6ZVN0eWxlcyB9IGZyb20gJ0BlbW90aW9uL3NlcmlhbGl6ZSc7XG5cbmZ1bmN0aW9uIGNzcygpIHtcbiAgZm9yICh2YXIgX2xlbiA9IGFyZ3VtZW50cy5sZW5ndGgsIGFyZ3MgPSBuZXcgQXJyYXkoX2xlbiksIF9rZXkgPSAwOyBfa2V5IDwgX2xlbjsgX2tleSsrKSB7XG4gICAgYXJnc1tfa2V5XSA9IGFyZ3VtZW50c1tfa2V5XTtcbiAgfVxuXG4gIHJldHVybiBzZXJpYWxpemVTdHlsZXMoYXJncyk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGNzcztcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@emotion/css/dist/css.browser.esm.js\n"); /***/ }), /***/ "./node_modules/@emotion/hash/dist/hash.browser.esm.js": /*!*************************************************************!*\ !*** ./node_modules/@emotion/hash/dist/hash.browser.esm.js ***! \*************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* eslint-disable */\n// Inspired by https://github.com/garycourt/murmurhash-js\n// Ported from https://github.com/aappleby/smhasher/blob/61a0530f28277f2e850bfc39600ce61d02b518de/src/MurmurHash2.cpp#L37-L86\nfunction murmur2(str) {\n // 'm' and 'r' are mixing constants generated offline.\n // They're not really 'magic', they just happen to work well.\n // const m = 0x5bd1e995;\n // const r = 24;\n // Initialize the hash\n var h = 0; // Mix 4 bytes at a time into the hash\n\n var k,\n i = 0,\n len = str.length;\n\n for (; len >= 4; ++i, len -= 4) {\n k = str.charCodeAt(i) & 0xff | (str.charCodeAt(++i) & 0xff) << 8 | (str.charCodeAt(++i) & 0xff) << 16 | (str.charCodeAt(++i) & 0xff) << 24;\n k =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16);\n k ^=\n /* k >>> r: */\n k >>> 24;\n h =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16) ^\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Handle the last few bytes of the input array\n\n\n switch (len) {\n case 3:\n h ^= (str.charCodeAt(i + 2) & 0xff) << 16;\n\n case 2:\n h ^= (str.charCodeAt(i + 1) & 0xff) << 8;\n\n case 1:\n h ^= str.charCodeAt(i) & 0xff;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Do a few final mixes of the hash to ensure the last few\n // bytes are well-incorporated.\n\n\n h ^= h >>> 13;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n return ((h ^ h >>> 15) >>> 0).toString(36);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (murmur2);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGVtb3Rpb24vaGFzaC9kaXN0L2hhc2guYnJvd3Nlci5lc20uanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGVtb3Rpb24vaGFzaC9kaXN0L2hhc2guYnJvd3Nlci5lc20uanM/Y2U5NiJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSAqL1xuLy8gSW5zcGlyZWQgYnkgaHR0cHM6Ly9naXRodWIuY29tL2dhcnljb3VydC9tdXJtdXJoYXNoLWpzXG4vLyBQb3J0ZWQgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vYWFwcGxlYnkvc21oYXNoZXIvYmxvYi82MWEwNTMwZjI4Mjc3ZjJlODUwYmZjMzk2MDBjZTYxZDAyYjUxOGRlL3NyYy9NdXJtdXJIYXNoMi5jcHAjTDM3LUw4NlxuZnVuY3Rpb24gbXVybXVyMihzdHIpIHtcbiAgLy8gJ20nIGFuZCAncicgYXJlIG1peGluZyBjb25zdGFudHMgZ2VuZXJhdGVkIG9mZmxpbmUuXG4gIC8vIFRoZXkncmUgbm90IHJlYWxseSAnbWFnaWMnLCB0aGV5IGp1c3QgaGFwcGVuIHRvIHdvcmsgd2VsbC5cbiAgLy8gY29uc3QgbSA9IDB4NWJkMWU5OTU7XG4gIC8vIGNvbnN0IHIgPSAyNDtcbiAgLy8gSW5pdGlhbGl6ZSB0aGUgaGFzaFxuICB2YXIgaCA9IDA7IC8vIE1peCA0IGJ5dGVzIGF0IGEgdGltZSBpbnRvIHRoZSBoYXNoXG5cbiAgdmFyIGssXG4gICAgICBpID0gMCxcbiAgICAgIGxlbiA9IHN0ci5sZW5ndGg7XG5cbiAgZm9yICg7IGxlbiA+PSA0OyArK2ksIGxlbiAtPSA0KSB7XG4gICAgayA9IHN0ci5jaGFyQ29kZUF0KGkpICYgMHhmZiB8IChzdHIuY2hhckNvZGVBdCgrK2kpICYgMHhmZikgPDwgOCB8IChzdHIuY2hhckNvZGVBdCgrK2kpICYgMHhmZikgPDwgMTYgfCAoc3RyLmNoYXJDb2RlQXQoKytpKSAmIDB4ZmYpIDw8IDI0O1xuICAgIGsgPVxuICAgIC8qIE1hdGguaW11bChrLCBtKTogKi9cbiAgICAoayAmIDB4ZmZmZikgKiAweDViZDFlOTk1ICsgKChrID4+PiAxNikgKiAweGU5OTUgPDwgMTYpO1xuICAgIGsgXj1cbiAgICAvKiBrID4+PiByOiAqL1xuICAgIGsgPj4+IDI0O1xuICAgIGggPVxuICAgIC8qIE1hdGguaW11bChrLCBtKTogKi9cbiAgICAoayAmIDB4ZmZmZikgKiAweDViZDFlOTk1ICsgKChrID4+PiAxNikgKiAweGU5OTUgPDwgMTYpIF5cbiAgICAvKiBNYXRoLmltdWwoaCwgbSk6ICovXG4gICAgKGggJiAweGZmZmYpICogMHg1YmQxZTk5NSArICgoaCA+Pj4gMTYpICogMHhlOTk1IDw8IDE2KTtcbiAgfSAvLyBIYW5kbGUgdGhlIGxhc3QgZmV3IGJ5dGVzIG9mIHRoZSBpbnB1dCBhcnJheVxuXG5cbiAgc3dpdGNoIChsZW4pIHtcbiAgICBjYXNlIDM6XG4gICAgICBoIF49IChzdHIuY2hhckNvZGVBdChpICsgMikgJiAweGZmKSA8PCAxNjtcblxuICAgIGNhc2UgMjpcbiAgICAgIGggXj0gKHN0ci5jaGFyQ29kZUF0KGkgKyAxKSAmIDB4ZmYpIDw8IDg7XG5cbiAgICBjYXNlIDE6XG4gICAgICBoIF49IHN0ci5jaGFyQ29kZUF0KGkpICYgMHhmZjtcbiAgICAgIGggPVxuICAgICAgLyogTWF0aC5pbXVsKGgsIG0pOiAqL1xuICAgICAgKGggJiAweGZmZmYpICogMHg1YmQxZTk5NSArICgoaCA+Pj4gMTYpICogMHhlOTk1IDw8IDE2KTtcbiAgfSAvLyBEbyBhIGZldyBmaW5hbCBtaXhlcyBvZiB0aGUgaGFzaCB0byBlbnN1cmUgdGhlIGxhc3QgZmV3XG4gIC8vIGJ5dGVzIGFyZSB3ZWxsLWluY29ycG9yYXRlZC5cblxuXG4gIGggXj0gaCA+Pj4gMTM7XG4gIGggPVxuICAvKiBNYXRoLmltdWwoaCwgbSk6ICovXG4gIChoICYgMHhmZmZmKSAqIDB4NWJkMWU5OTUgKyAoKGggPj4+IDE2KSAqIDB4ZTk5NSA8PCAxNik7XG4gIHJldHVybiAoKGggXiBoID4+PiAxNSkgPj4+IDApLnRvU3RyaW5nKDM2KTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgbXVybXVyMjtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@emotion/hash/dist/hash.browser.esm.js\n"); /***/ }), /***/ "./node_modules/@emotion/is-prop-valid/dist/is-prop-valid.browser.esm.js": /*!*******************************************************************************!*\ !*** ./node_modules/@emotion/is-prop-valid/dist/is-prop-valid.browser.esm.js ***! \*******************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _emotion_memoize__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @emotion/memoize */ \"./node_modules/@emotion/memoize/dist/memoize.browser.esm.js\");\n\n\nvar reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|inert|itemProp|itemScope|itemType|itemID|itemRef|on|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/; // https://esbench.com/bench/5bfee68a4cd7e6009ef61d23\n\nvar index = Object(_emotion_memoize__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function (prop) {\n return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111\n /* o */\n && prop.charCodeAt(1) === 110\n /* n */\n && prop.charCodeAt(2) < 91;\n}\n/* Z+1 */\n);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (index);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGVtb3Rpb24vaXMtcHJvcC12YWxpZC9kaXN0L2lzLXByb3AtdmFsaWQuYnJvd3Nlci5lc20uanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGVtb3Rpb24vaXMtcHJvcC12YWxpZC9kaXN0L2lzLXByb3AtdmFsaWQuYnJvd3Nlci5lc20uanM/ZjZlOCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbWVtb2l6ZSBmcm9tICdAZW1vdGlvbi9tZW1vaXplJztcblxudmFyIHJlYWN0UHJvcHNSZWdleCA9IC9eKChjaGlsZHJlbnxkYW5nZXJvdXNseVNldElubmVySFRNTHxrZXl8cmVmfGF1dG9Gb2N1c3xkZWZhdWx0VmFsdWV8ZGVmYXVsdENoZWNrZWR8aW5uZXJIVE1MfHN1cHByZXNzQ29udGVudEVkaXRhYmxlV2FybmluZ3xzdXBwcmVzc0h5ZHJhdGlvbldhcm5pbmd8dmFsdWVMaW5rfGFjY2VwdHxhY2NlcHRDaGFyc2V0fGFjY2Vzc0tleXxhY3Rpb258YWxsb3d8YWxsb3dVc2VyTWVkaWF8YWxsb3dQYXltZW50UmVxdWVzdHxhbGxvd0Z1bGxTY3JlZW58YWxsb3dUcmFuc3BhcmVuY3l8YWx0fGFzeW5jfGF1dG9Db21wbGV0ZXxhdXRvUGxheXxjYXB0dXJlfGNlbGxQYWRkaW5nfGNlbGxTcGFjaW5nfGNoYWxsZW5nZXxjaGFyU2V0fGNoZWNrZWR8Y2l0ZXxjbGFzc0lEfGNsYXNzTmFtZXxjb2xzfGNvbFNwYW58Y29udGVudHxjb250ZW50RWRpdGFibGV8Y29udGV4dE1lbnV8Y29udHJvbHN8Y29udHJvbHNMaXN0fGNvb3Jkc3xjcm9zc09yaWdpbnxkYXRhfGRhdGVUaW1lfGRlY29kaW5nfGRlZmF1bHR8ZGVmZXJ8ZGlyfGRpc2FibGVkfGRpc2FibGVQaWN0dXJlSW5QaWN0dXJlfGRvd25sb2FkfGRyYWdnYWJsZXxlbmNUeXBlfGZvcm18Zm9ybUFjdGlvbnxmb3JtRW5jVHlwZXxmb3JtTWV0aG9kfGZvcm1Ob1ZhbGlkYXRlfGZvcm1UYXJnZXR8ZnJhbWVCb3JkZXJ8aGVhZGVyc3xoZWlnaHR8aGlkZGVufGhpZ2h8aHJlZnxocmVmTGFuZ3xodG1sRm9yfGh0dHBFcXVpdnxpZHxpbnB1dE1vZGV8aW50ZWdyaXR5fGlzfGtleVBhcmFtc3xrZXlUeXBlfGtpbmR8bGFiZWx8bGFuZ3xsaXN0fGxvYWRpbmd8bG9vcHxsb3d8bWFyZ2luSGVpZ2h0fG1hcmdpbldpZHRofG1heHxtYXhMZW5ndGh8bWVkaWF8bWVkaWFHcm91cHxtZXRob2R8bWlufG1pbkxlbmd0aHxtdWx0aXBsZXxtdXRlZHxuYW1lfG5vbmNlfG5vVmFsaWRhdGV8b3BlbnxvcHRpbXVtfHBhdHRlcm58cGxhY2Vob2xkZXJ8cGxheXNJbmxpbmV8cG9zdGVyfHByZWxvYWR8cHJvZmlsZXxyYWRpb0dyb3VwfHJlYWRPbmx5fHJlZmVycmVyUG9saWN5fHJlbHxyZXF1aXJlZHxyZXZlcnNlZHxyb2xlfHJvd3N8cm93U3BhbnxzYW5kYm94fHNjb3BlfHNjb3BlZHxzY3JvbGxpbmd8c2VhbWxlc3N8c2VsZWN0ZWR8c2hhcGV8c2l6ZXxzaXplc3xzbG90fHNwYW58c3BlbGxDaGVja3xzcmN8c3JjRG9jfHNyY0xhbmd8c3JjU2V0fHN0YXJ0fHN0ZXB8c3R5bGV8c3VtbWFyeXx0YWJJbmRleHx0YXJnZXR8dGl0bGV8dHlwZXx1c2VNYXB8dmFsdWV8d2lkdGh8d21vZGV8d3JhcHxhYm91dHxkYXRhdHlwZXxpbmxpc3R8cHJlZml4fHByb3BlcnR5fHJlc291cmNlfHR5cGVvZnx2b2NhYnxhdXRvQ2FwaXRhbGl6ZXxhdXRvQ29ycmVjdHxhdXRvU2F2ZXxjb2xvcnxpbmVydHxpdGVtUHJvcHxpdGVtU2NvcGV8aXRlbVR5cGV8aXRlbUlEfGl0ZW1SZWZ8b258cmVzdWx0c3xzZWN1cml0eXx1bnNlbGVjdGFibGV8YWNjZW50SGVpZ2h0fGFjY3VtdWxhdGV8YWRkaXRpdmV8YWxpZ25tZW50QmFzZWxpbmV8YWxsb3dSZW9yZGVyfGFscGhhYmV0aWN8YW1wbGl0dWRlfGFyYWJpY0Zvcm18YXNjZW50fGF0dHJpYnV0ZU5hbWV8YXR0cmlidXRlVHlwZXxhdXRvUmV2ZXJzZXxhemltdXRofGJhc2VGcmVxdWVuY3l8YmFzZWxpbmVTaGlmdHxiYXNlUHJvZmlsZXxiYm94fGJlZ2lufGJpYXN8Ynl8Y2FsY01vZGV8Y2FwSGVpZ2h0fGNsaXB8Y2xpcFBhdGhVbml0c3xjbGlwUGF0aHxjbGlwUnVsZXxjb2xvckludGVycG9sYXRpb258Y29sb3JJbnRlcnBvbGF0aW9uRmlsdGVyc3xjb2xvclByb2ZpbGV8Y29sb3JSZW5kZXJpbmd8Y29udGVudFNjcmlwdFR5cGV8Y29udGVudFN0eWxlVHlwZXxjdXJzb3J8Y3h8Y3l8ZHxkZWNlbGVyYXRlfGRlc2NlbnR8ZGlmZnVzZUNvbnN0YW50fGRpcmVjdGlvbnxkaXNwbGF5fGRpdmlzb3J8ZG9taW5hbnRCYXNlbGluZXxkdXJ8ZHh8ZHl8ZWRnZU1vZGV8ZWxldmF0aW9ufGVuYWJsZUJhY2tncm91bmR8ZW5kfGV4cG9uZW50fGV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWR8ZmlsbHxmaWxsT3BhY2l0eXxmaWxsUnVsZXxmaWx0ZXJ8ZmlsdGVyUmVzfGZpbHRlclVuaXRzfGZsb29kQ29sb3J8Zmxvb2RPcGFjaXR5fGZvY3VzYWJsZXxmb250RmFtaWx5fGZvbnRTaXplfGZvbnRTaXplQWRqdXN0fGZvbnRTdHJldGNofGZvbnRTdHlsZXxmb250VmFyaWFudHxmb250V2VpZ2h0fGZvcm1hdHxmcm9tfGZyfGZ4fGZ5fGcxfGcyfGdseXBoTmFtZXxnbHlwaE9yaWVudGF0aW9uSG9yaXpvbnRhbHxnbHlwaE9yaWVudGF0aW9uVmVydGljYWx8Z2x5cGhSZWZ8Z3JhZGllbnRUcmFuc2Zvcm18Z3JhZGllbnRVbml0c3xoYW5naW5nfGhvcml6QWR2WHxob3Jpek9yaWdpblh8aWRlb2dyYXBoaWN8aW1hZ2VSZW5kZXJpbmd8aW58aW4yfGludGVyY2VwdHxrfGsxfGsyfGszfGs0fGtlcm5lbE1hdHJpeHxrZXJuZWxVbml0TGVuZ3RofGtlcm5pbmd8a2V5UG9pbnRzfGtleVNwbGluZXN8a2V5VGltZXN8bGVuZ3RoQWRqdXN0fGxldHRlclNwYWNpbmd8bGlnaHRpbmdDb2xvcnxsaW1pdGluZ0NvbmVBbmdsZXxsb2NhbHxtYXJrZXJFbmR8bWFya2VyTWlkfG1hcmtlclN0YXJ0fG1hcmtlckhlaWdodHxtYXJrZXJVbml0c3xtYXJrZXJXaWR0aHxtYXNrfG1hc2tDb250ZW50VW5pdHN8bWFza1VuaXRzfG1hdGhlbWF0aWNhbHxtb2RlfG51bU9jdGF2ZXN8b2Zmc2V0fG9wYWNpdHl8b3BlcmF0b3J8b3JkZXJ8b3JpZW50fG9yaWVudGF0aW9ufG9yaWdpbnxvdmVyZmxvd3xvdmVybGluZVBvc2l0aW9ufG92ZXJsaW5lVGhpY2tuZXNzfHBhbm9zZTF8cGFpbnRPcmRlcnxwYXRoTGVuZ3RofHBhdHRlcm5Db250ZW50VW5pdHN8cGF0dGVyblRyYW5zZm9ybXxwYXR0ZXJuVW5pdHN8cG9pbnRlckV2ZW50c3xwb2ludHN8cG9pbnRzQXRYfHBvaW50c0F0WXxwb2ludHNBdFp8cHJlc2VydmVBbHBoYXxwcmVzZXJ2ZUFzcGVjdFJhdGlvfHByaW1pdGl2ZVVuaXRzfHJ8cmFkaXVzfHJlZlh8cmVmWXxyZW5kZXJpbmdJbnRlbnR8cmVwZWF0Q291bnR8cmVwZWF0RHVyfHJlcXVpcmVkRXh0ZW5zaW9uc3xyZXF1aXJlZEZlYXR1cmVzfHJlc3RhcnR8cmVzdWx0fHJvdGF0ZXxyeHxyeXxzY2FsZXxzZWVkfHNoYXBlUmVuZGVyaW5nfHNsb3BlfHNwYWNpbmd8c3BlY3VsYXJDb25zdGFudHxzcGVjdWxhckV4cG9uZW50fHNwZWVkfHNwcmVhZE1ldGhvZHxzdGFydE9mZnNldHxzdGREZXZpYXRpb258c3RlbWh8c3RlbXZ8c3RpdGNoVGlsZXN8c3RvcENvbG9yfHN0b3BPcGFjaXR5fHN0cmlrZXRocm91Z2hQb3NpdGlvbnxzdHJpa2V0aHJvdWdoVGhpY2tuZXNzfHN0cmluZ3xzdHJva2V8c3Ryb2tlRGFzaGFycmF5fHN0cm9rZURhc2hvZmZzZXR8c3Ryb2tlTGluZWNhcHxzdHJva2VMaW5lam9pbnxzdHJva2VNaXRlcmxpbWl0fHN0cm9rZU9wYWNpdHl8c3Ryb2tlV2lkdGh8c3VyZmFjZVNjYWxlfHN5c3RlbUxhbmd1YWdlfHRhYmxlVmFsdWVzfHRhcmdldFh8dGFyZ2V0WXx0ZXh0QW5jaG9yfHRleHREZWNvcmF0aW9ufHRleHRSZW5kZXJpbmd8dGV4dExlbmd0aHx0b3x0cmFuc2Zvcm18dTF8dTJ8dW5kZXJsaW5lUG9zaXRpb258dW5kZXJsaW5lVGhpY2tuZXNzfHVuaWNvZGV8dW5pY29kZUJpZGl8dW5pY29kZVJhbmdlfHVuaXRzUGVyRW18dkFscGhhYmV0aWN8dkhhbmdpbmd8dklkZW9ncmFwaGljfHZNYXRoZW1hdGljYWx8dmFsdWVzfHZlY3RvckVmZmVjdHx2ZXJzaW9ufHZlcnRBZHZZfHZlcnRPcmlnaW5YfHZlcnRPcmlnaW5ZfHZpZXdCb3h8dmlld1RhcmdldHx2aXNpYmlsaXR5fHdpZHRoc3x3b3JkU3BhY2luZ3x3cml0aW5nTW9kZXx4fHhIZWlnaHR8eDF8eDJ8eENoYW5uZWxTZWxlY3Rvcnx4bGlua0FjdHVhdGV8eGxpbmtBcmNyb2xlfHhsaW5rSHJlZnx4bGlua1JvbGV8eGxpbmtTaG93fHhsaW5rVGl0bGV8eGxpbmtUeXBlfHhtbEJhc2V8eG1sbnN8eG1sbnNYbGlua3x4bWxMYW5nfHhtbFNwYWNlfHl8eTF8eTJ8eUNoYW5uZWxTZWxlY3Rvcnx6fHpvb21BbmRQYW58Zm9yfGNsYXNzfGF1dG9mb2N1cyl8KChbRGRdW0FhXVtUdF1bQWFdfFtBYV1bUnJdW0lpXVtBYV18eCktLiopKSQvOyAvLyBodHRwczovL2VzYmVuY2guY29tL2JlbmNoLzViZmVlNjhhNGNkN2U2MDA5ZWY2MWQyM1xuXG52YXIgaW5kZXggPSBtZW1vaXplKGZ1bmN0aW9uIChwcm9wKSB7XG4gIHJldHVybiByZWFjdFByb3BzUmVnZXgudGVzdChwcm9wKSB8fCBwcm9wLmNoYXJDb2RlQXQoMCkgPT09IDExMVxuICAvKiBvICovXG4gICYmIHByb3AuY2hhckNvZGVBdCgxKSA9PT0gMTEwXG4gIC8qIG4gKi9cbiAgJiYgcHJvcC5jaGFyQ29kZUF0KDIpIDwgOTE7XG59XG4vKiBaKzEgKi9cbik7XG5cbmV4cG9ydCBkZWZhdWx0IGluZGV4O1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@emotion/is-prop-valid/dist/is-prop-valid.browser.esm.js\n"); /***/ }), /***/ "./node_modules/@emotion/memoize/dist/memoize.browser.esm.js": /*!*******************************************************************!*\ !*** ./node_modules/@emotion/memoize/dist/memoize.browser.esm.js ***! \*******************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\nfunction memoize(fn) {\n var cache = {};\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (memoize);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGVtb3Rpb24vbWVtb2l6ZS9kaXN0L21lbW9pemUuYnJvd3Nlci5lc20uanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGVtb3Rpb24vbWVtb2l6ZS9kaXN0L21lbW9pemUuYnJvd3Nlci5lc20uanM/ZTJhNCJdLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBtZW1vaXplKGZuKSB7XG4gIHZhciBjYWNoZSA9IHt9O1xuICByZXR1cm4gZnVuY3Rpb24gKGFyZykge1xuICAgIGlmIChjYWNoZVthcmddID09PSB1bmRlZmluZWQpIGNhY2hlW2FyZ10gPSBmbihhcmcpO1xuICAgIHJldHVybiBjYWNoZVthcmddO1xuICB9O1xufVxuXG5leHBvcnQgZGVmYXVsdCBtZW1vaXplO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@emotion/memoize/dist/memoize.browser.esm.js\n"); /***/ }), /***/ "./node_modules/@emotion/serialize/dist/serialize.browser.esm.js": /*!***********************************************************************!*\ !*** ./node_modules/@emotion/serialize/dist/serialize.browser.esm.js ***! \***********************************************************************/ /*! exports provided: serializeStyles */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"serializeStyles\", function() { return serializeStyles; });\n/* harmony import */ var _emotion_hash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @emotion/hash */ \"./node_modules/@emotion/hash/dist/hash.browser.esm.js\");\n/* harmony import */ var _emotion_unitless__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @emotion/unitless */ \"./node_modules/@emotion/unitless/dist/unitless.browser.esm.js\");\n/* harmony import */ var _emotion_memoize__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @emotion/memoize */ \"./node_modules/@emotion/memoize/dist/memoize.browser.esm.js\");\n\n\n\n\nvar ILLEGAL_ESCAPE_SEQUENCE_ERROR = \"You have illegal escape sequence in your template literal, most likely inside content's property value.\\nBecause you write your CSS inside a JavaScript string you actually have to do double escaping, so for example \\\"content: '\\\\00d7';\\\" should become \\\"content: '\\\\\\\\00d7';\\\".\\nYou can read more about this here:\\nhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#ES2018_revision_of_illegal_escape_sequences\";\nvar UNDEFINED_AS_OBJECT_KEY_ERROR = \"You have passed in falsy value as style object's key (can happen when in example you pass unexported component as computed key).\";\nvar hyphenateRegex = /[A-Z]|^ms/g;\nvar animationRegex = /_EMO_([^_]+?)_([^]*?)_EMO_/g;\n\nvar isCustomProperty = function isCustomProperty(property) {\n return property.charCodeAt(1) === 45;\n};\n\nvar isProcessableValue = function isProcessableValue(value) {\n return value != null && typeof value !== 'boolean';\n};\n\nvar processStyleName = Object(_emotion_memoize__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(function (styleName) {\n return isCustomProperty(styleName) ? styleName : styleName.replace(hyphenateRegex, '-$&').toLowerCase();\n});\n\nvar processStyleValue = function processStyleValue(key, value) {\n switch (key) {\n case 'animation':\n case 'animationName':\n {\n if (typeof value === 'string') {\n return value.replace(animationRegex, function (match, p1, p2) {\n cursor = {\n name: p1,\n styles: p2,\n next: cursor\n };\n return p1;\n });\n }\n }\n }\n\n if (_emotion_unitless__WEBPACK_IMPORTED_MODULE_1__[\"default\"][key] !== 1 && !isCustomProperty(key) && typeof value === 'number' && value !== 0) {\n return value + 'px';\n }\n\n return value;\n};\n\nif (true) {\n var contentValuePattern = /(attr|calc|counters?|url)\\(/;\n var contentValues = ['normal', 'none', 'counter', 'open-quote', 'close-quote', 'no-open-quote', 'no-close-quote', 'initial', 'inherit', 'unset'];\n var oldProcessStyleValue = processStyleValue;\n var msPattern = /^-ms-/;\n var hyphenPattern = /-(.)/g;\n var hyphenatedCache = {};\n\n processStyleValue = function processStyleValue(key, value) {\n if (key === 'content') {\n if (typeof value !== 'string' || contentValues.indexOf(value) === -1 && !contentValuePattern.test(value) && (value.charAt(0) !== value.charAt(value.length - 1) || value.charAt(0) !== '\"' && value.charAt(0) !== \"'\")) {\n console.error(\"You seem to be using a value for 'content' without quotes, try replacing it with `content: '\\\"\" + value + \"\\\"'`\");\n }\n }\n\n var processed = oldProcessStyleValue(key, value);\n\n if (processed !== '' && !isCustomProperty(key) && key.indexOf('-') !== -1 && hyphenatedCache[key] === undefined) {\n hyphenatedCache[key] = true;\n console.error(\"Using kebab-case for css properties in objects is not supported. Did you mean \" + key.replace(msPattern, 'ms-').replace(hyphenPattern, function (str, _char) {\n return _char.toUpperCase();\n }) + \"?\");\n }\n\n return processed;\n };\n}\n\nvar shouldWarnAboutInterpolatingClassNameFromCss = true;\n\nfunction handleInterpolation(mergedProps, registered, interpolation, couldBeSelectorInterpolation) {\n if (interpolation == null) {\n return '';\n }\n\n if (interpolation.__emotion_styles !== undefined) {\n if ( true && interpolation.toString() === 'NO_COMPONENT_SELECTOR') {\n throw new Error('Component selectors can only be used in conjunction with babel-plugin-emotion.');\n }\n\n return interpolation;\n }\n\n switch (typeof interpolation) {\n case 'boolean':\n {\n return '';\n }\n\n case 'object':\n {\n if (interpolation.anim === 1) {\n cursor = {\n name: interpolation.name,\n styles: interpolation.styles,\n next: cursor\n };\n return interpolation.name;\n }\n\n if (interpolation.styles !== undefined) {\n var next = interpolation.next;\n\n if (next !== undefined) {\n // not the most efficient thing ever but this is a pretty rare case\n // and there will be very few iterations of this generally\n while (next !== undefined) {\n cursor = {\n name: next.name,\n styles: next.styles,\n next: cursor\n };\n next = next.next;\n }\n }\n\n var styles = interpolation.styles + \";\";\n\n if ( true && interpolation.map !== undefined) {\n styles += interpolation.map;\n }\n\n return styles;\n }\n\n return createStringFromObject(mergedProps, registered, interpolation);\n }\n\n case 'function':\n {\n if (mergedProps !== undefined) {\n var previousCursor = cursor;\n var result = interpolation(mergedProps);\n cursor = previousCursor;\n return handleInterpolation(mergedProps, registered, result, couldBeSelectorInterpolation);\n } else if (true) {\n console.error('Functions that are interpolated in css calls will be stringified.\\n' + 'If you want to have a css call based on props, create a function that returns a css call like this\\n' + 'let dynamicStyle = (props) => css`color: ${props.color}`\\n' + 'It can be called directly with props or interpolated in a styled call like this\\n' + \"let SomeComponent = styled('div')`${dynamicStyle}`\");\n }\n\n break;\n }\n\n case 'string':\n if (true) {\n var matched = [];\n var replaced = interpolation.replace(animationRegex, function (match, p1, p2) {\n var fakeVarName = \"animation\" + matched.length;\n matched.push(\"const \" + fakeVarName + \" = keyframes`\" + p2.replace(/^@keyframes animation-\\w+/, '') + \"`\");\n return \"${\" + fakeVarName + \"}\";\n });\n\n if (matched.length) {\n console.error('`keyframes` output got interpolated into plain string, please wrap it with `css`.\\n\\n' + 'Instead of doing this:\\n\\n' + [].concat(matched, [\"`\" + replaced + \"`\"]).join('\\n') + '\\n\\nYou should wrap it with `css` like this:\\n\\n' + (\"css`\" + replaced + \"`\"));\n }\n }\n\n break;\n } // finalize string values (regular strings and functions interpolated into css calls)\n\n\n if (registered == null) {\n return interpolation;\n }\n\n var cached = registered[interpolation];\n\n if ( true && couldBeSelectorInterpolation && shouldWarnAboutInterpolatingClassNameFromCss && cached !== undefined) {\n console.error('Interpolating a className from css`` is not recommended and will cause problems with composition.\\n' + 'Interpolating a className from css`` will be completely unsupported in a future major version of Emotion');\n shouldWarnAboutInterpolatingClassNameFromCss = false;\n }\n\n return cached !== undefined && !couldBeSelectorInterpolation ? cached : interpolation;\n}\n\nfunction createStringFromObject(mergedProps, registered, obj) {\n var string = '';\n\n if (Array.isArray(obj)) {\n for (var i = 0; i < obj.length; i++) {\n string += handleInterpolation(mergedProps, registered, obj[i], false);\n }\n } else {\n for (var _key in obj) {\n var value = obj[_key];\n\n if (typeof value !== 'object') {\n if (registered != null && registered[value] !== undefined) {\n string += _key + \"{\" + registered[value] + \"}\";\n } else if (isProcessableValue(value)) {\n string += processStyleName(_key) + \":\" + processStyleValue(_key, value) + \";\";\n }\n } else {\n if (_key === 'NO_COMPONENT_SELECTOR' && \"development\" !== 'production') {\n throw new Error('Component selectors can only be used in conjunction with babel-plugin-emotion.');\n }\n\n if (Array.isArray(value) && typeof value[0] === 'string' && (registered == null || registered[value[0]] === undefined)) {\n for (var _i = 0; _i < value.length; _i++) {\n if (isProcessableValue(value[_i])) {\n string += processStyleName(_key) + \":\" + processStyleValue(_key, value[_i]) + \";\";\n }\n }\n } else {\n var interpolated = handleInterpolation(mergedProps, registered, value, false);\n\n switch (_key) {\n case 'animation':\n case 'animationName':\n {\n string += processStyleName(_key) + \":\" + interpolated + \";\";\n break;\n }\n\n default:\n {\n if ( true && _key === 'undefined') {\n console.error(UNDEFINED_AS_OBJECT_KEY_ERROR);\n }\n\n string += _key + \"{\" + interpolated + \"}\";\n }\n }\n }\n }\n }\n }\n\n return string;\n}\n\nvar labelPattern = /label:\\s*([^\\s;\\n{]+)\\s*;/g;\nvar sourceMapPattern;\n\nif (true) {\n sourceMapPattern = /\\/\\*#\\ssourceMappingURL=data:application\\/json;\\S+\\s+\\*\\//;\n} // this is the cursor for keyframes\n// keyframes are stored on the SerializedStyles object as a linked list\n\n\nvar cursor;\nvar serializeStyles = function serializeStyles(args, registered, mergedProps) {\n if (args.length === 1 && typeof args[0] === 'object' && args[0] !== null && args[0].styles !== undefined) {\n return args[0];\n }\n\n var stringMode = true;\n var styles = '';\n cursor = undefined;\n var strings = args[0];\n\n if (strings == null || strings.raw === undefined) {\n stringMode = false;\n styles += handleInterpolation(mergedProps, registered, strings, false);\n } else {\n if ( true && strings[0] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles += strings[0];\n } // we start at 1 since we've already handled the first arg\n\n\n for (var i = 1; i < args.length; i++) {\n styles += handleInterpolation(mergedProps, registered, args[i], styles.charCodeAt(styles.length - 1) === 46);\n\n if (stringMode) {\n if ( true && strings[i] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles += strings[i];\n }\n }\n\n var sourceMap;\n\n if (true) {\n styles = styles.replace(sourceMapPattern, function (match) {\n sourceMap = match;\n return '';\n });\n } // using a global regex with .exec is stateful so lastIndex has to be reset each time\n\n\n labelPattern.lastIndex = 0;\n var identifierName = '';\n var match; // https://esbench.com/bench/5b809c2cf2949800a0f61fb5\n\n while ((match = labelPattern.exec(styles)) !== null) {\n identifierName += '-' + // $FlowFixMe we know it's not null\n match[1];\n }\n\n var name = Object(_emotion_hash__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(styles) + identifierName;\n\n if (true) {\n // $FlowFixMe SerializedStyles type doesn't have toString property (and we don't want to add it)\n return {\n name: name,\n styles: styles,\n map: sourceMap,\n next: cursor,\n toString: function toString() {\n return \"You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop).\";\n }\n };\n }\n\n return {\n name: name,\n styles: styles,\n next: cursor\n };\n};\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGVtb3Rpb24vc2VyaWFsaXplL2Rpc3Qvc2VyaWFsaXplLmJyb3dzZXIuZXNtLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BlbW90aW9uL3NlcmlhbGl6ZS9kaXN0L3NlcmlhbGl6ZS5icm93c2VyLmVzbS5qcz8zMjI0Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBoYXNoU3RyaW5nIGZyb20gJ0BlbW90aW9uL2hhc2gnO1xuaW1wb3J0IHVuaXRsZXNzIGZyb20gJ0BlbW90aW9uL3VuaXRsZXNzJztcbmltcG9ydCBtZW1vaXplIGZyb20gJ0BlbW90aW9uL21lbW9pemUnO1xuXG52YXIgSUxMRUdBTF9FU0NBUEVfU0VRVUVOQ0VfRVJST1IgPSBcIllvdSBoYXZlIGlsbGVnYWwgZXNjYXBlIHNlcXVlbmNlIGluIHlvdXIgdGVtcGxhdGUgbGl0ZXJhbCwgbW9zdCBsaWtlbHkgaW5zaWRlIGNvbnRlbnQncyBwcm9wZXJ0eSB2YWx1ZS5cXG5CZWNhdXNlIHlvdSB3cml0ZSB5b3VyIENTUyBpbnNpZGUgYSBKYXZhU2NyaXB0IHN0cmluZyB5b3UgYWN0dWFsbHkgaGF2ZSB0byBkbyBkb3VibGUgZXNjYXBpbmcsIHNvIGZvciBleGFtcGxlIFxcXCJjb250ZW50OiAnXFxcXDAwZDcnO1xcXCIgc2hvdWxkIGJlY29tZSBcXFwiY29udGVudDogJ1xcXFxcXFxcMDBkNyc7XFxcIi5cXG5Zb3UgY2FuIHJlYWQgbW9yZSBhYm91dCB0aGlzIGhlcmU6XFxuaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSmF2YVNjcmlwdC9SZWZlcmVuY2UvVGVtcGxhdGVfbGl0ZXJhbHMjRVMyMDE4X3JldmlzaW9uX29mX2lsbGVnYWxfZXNjYXBlX3NlcXVlbmNlc1wiO1xudmFyIFVOREVGSU5FRF9BU19PQkpFQ1RfS0VZX0VSUk9SID0gXCJZb3UgaGF2ZSBwYXNzZWQgaW4gZmFsc3kgdmFsdWUgYXMgc3R5bGUgb2JqZWN0J3Mga2V5IChjYW4gaGFwcGVuIHdoZW4gaW4gZXhhbXBsZSB5b3UgcGFzcyB1bmV4cG9ydGVkIGNvbXBvbmVudCBhcyBjb21wdXRlZCBrZXkpLlwiO1xudmFyIGh5cGhlbmF0ZVJlZ2V4ID0gL1tBLVpdfF5tcy9nO1xudmFyIGFuaW1hdGlvblJlZ2V4ID0gL19FTU9fKFteX10rPylfKFteXSo/KV9FTU9fL2c7XG5cbnZhciBpc0N1c3RvbVByb3BlcnR5ID0gZnVuY3Rpb24gaXNDdXN0b21Qcm9wZXJ0eShwcm9wZXJ0eSkge1xuICByZXR1cm4gcHJvcGVydHkuY2hhckNvZGVBdCgxKSA9PT0gNDU7XG59O1xuXG52YXIgaXNQcm9jZXNzYWJsZVZhbHVlID0gZnVuY3Rpb24gaXNQcm9jZXNzYWJsZVZhbHVlKHZhbHVlKSB7XG4gIHJldHVybiB2YWx1ZSAhPSBudWxsICYmIHR5cGVvZiB2YWx1ZSAhPT0gJ2Jvb2xlYW4nO1xufTtcblxudmFyIHByb2Nlc3NTdHlsZU5hbWUgPSBtZW1vaXplKGZ1bmN0aW9uIChzdHlsZU5hbWUpIHtcbiAgcmV0dXJuIGlzQ3VzdG9tUHJvcGVydHkoc3R5bGVOYW1lKSA/IHN0eWxlTmFtZSA6IHN0eWxlTmFtZS5yZXBsYWNlKGh5cGhlbmF0ZVJlZ2V4LCAnLSQmJykudG9Mb3dlckNhc2UoKTtcbn0pO1xuXG52YXIgcHJvY2Vzc1N0eWxlVmFsdWUgPSBmdW5jdGlvbiBwcm9jZXNzU3R5bGVWYWx1ZShrZXksIHZhbHVlKSB7XG4gIHN3aXRjaCAoa2V5KSB7XG4gICAgY2FzZSAnYW5pbWF0aW9uJzpcbiAgICBjYXNlICdhbmltYXRpb25OYW1lJzpcbiAgICAgIHtcbiAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICByZXR1cm4gdmFsdWUucmVwbGFjZShhbmltYXRpb25SZWdleCwgZnVuY3Rpb24gKG1hdGNoLCBwMSwgcDIpIHtcbiAgICAgICAgICAgIGN1cnNvciA9IHtcbiAgICAgICAgICAgICAgbmFtZTogcDEsXG4gICAgICAgICAgICAgIHN0eWxlczogcDIsXG4gICAgICAgICAgICAgIG5leHQ6IGN1cnNvclxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHJldHVybiBwMTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICB9XG5cbiAgaWYgKHVuaXRsZXNzW2tleV0gIT09IDEgJiYgIWlzQ3VzdG9tUHJvcGVydHkoa2V5KSAmJiB0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInICYmIHZhbHVlICE9PSAwKSB7XG4gICAgcmV0dXJuIHZhbHVlICsgJ3B4JztcbiAgfVxuXG4gIHJldHVybiB2YWx1ZTtcbn07XG5cbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gIHZhciBjb250ZW50VmFsdWVQYXR0ZXJuID0gLyhhdHRyfGNhbGN8Y291bnRlcnM/fHVybClcXCgvO1xuICB2YXIgY29udGVudFZhbHVlcyA9IFsnbm9ybWFsJywgJ25vbmUnLCAnY291bnRlcicsICdvcGVuLXF1b3RlJywgJ2Nsb3NlLXF1b3RlJywgJ25vLW9wZW4tcXVvdGUnLCAnbm8tY2xvc2UtcXVvdGUnLCAnaW5pdGlhbCcsICdpbmhlcml0JywgJ3Vuc2V0J107XG4gIHZhciBvbGRQcm9jZXNzU3R5bGVWYWx1ZSA9IHByb2Nlc3NTdHlsZVZhbHVlO1xuICB2YXIgbXNQYXR0ZXJuID0gL14tbXMtLztcbiAgdmFyIGh5cGhlblBhdHRlcm4gPSAvLSguKS9nO1xuICB2YXIgaHlwaGVuYXRlZENhY2hlID0ge307XG5cbiAgcHJvY2Vzc1N0eWxlVmFsdWUgPSBmdW5jdGlvbiBwcm9jZXNzU3R5bGVWYWx1ZShrZXksIHZhbHVlKSB7XG4gICAgaWYgKGtleSA9PT0gJ2NvbnRlbnQnKSB7XG4gICAgICBpZiAodHlwZW9mIHZhbHVlICE9PSAnc3RyaW5nJyB8fCBjb250ZW50VmFsdWVzLmluZGV4T2YodmFsdWUpID09PSAtMSAmJiAhY29udGVudFZhbHVlUGF0dGVybi50ZXN0KHZhbHVlKSAmJiAodmFsdWUuY2hhckF0KDApICE9PSB2YWx1ZS5jaGFyQXQodmFsdWUubGVuZ3RoIC0gMSkgfHwgdmFsdWUuY2hhckF0KDApICE9PSAnXCInICYmIHZhbHVlLmNoYXJBdCgwKSAhPT0gXCInXCIpKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoXCJZb3Ugc2VlbSB0byBiZSB1c2luZyBhIHZhbHVlIGZvciAnY29udGVudCcgd2l0aG91dCBxdW90ZXMsIHRyeSByZXBsYWNpbmcgaXQgd2l0aCBgY29udGVudDogJ1xcXCJcIiArIHZhbHVlICsgXCJcXFwiJ2BcIik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdmFyIHByb2Nlc3NlZCA9IG9sZFByb2Nlc3NTdHlsZVZhbHVlKGtleSwgdmFsdWUpO1xuXG4gICAgaWYgKHByb2Nlc3NlZCAhPT0gJycgJiYgIWlzQ3VzdG9tUHJvcGVydHkoa2V5KSAmJiBrZXkuaW5kZXhPZignLScpICE9PSAtMSAmJiBoeXBoZW5hdGVkQ2FjaGVba2V5XSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBoeXBoZW5hdGVkQ2FjaGVba2V5XSA9IHRydWU7XG4gICAgICBjb25zb2xlLmVycm9yKFwiVXNpbmcga2ViYWItY2FzZSBmb3IgY3NzIHByb3BlcnRpZXMgaW4gb2JqZWN0cyBpcyBub3Qgc3VwcG9ydGVkLiBEaWQgeW91IG1lYW4gXCIgKyBrZXkucmVwbGFjZShtc1BhdHRlcm4sICdtcy0nKS5yZXBsYWNlKGh5cGhlblBhdHRlcm4sIGZ1bmN0aW9uIChzdHIsIF9jaGFyKSB7XG4gICAgICAgIHJldHVybiBfY2hhci50b1VwcGVyQ2FzZSgpO1xuICAgICAgfSkgKyBcIj9cIik7XG4gICAgfVxuXG4gICAgcmV0dXJuIHByb2Nlc3NlZDtcbiAgfTtcbn1cblxudmFyIHNob3VsZFdhcm5BYm91dEludGVycG9sYXRpbmdDbGFzc05hbWVGcm9tQ3NzID0gdHJ1ZTtcblxuZnVuY3Rpb24gaGFuZGxlSW50ZXJwb2xhdGlvbihtZXJnZWRQcm9wcywgcmVnaXN0ZXJlZCwgaW50ZXJwb2xhdGlvbiwgY291bGRCZVNlbGVjdG9ySW50ZXJwb2xhdGlvbikge1xuICBpZiAoaW50ZXJwb2xhdGlvbiA9PSBudWxsKSB7XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgaWYgKGludGVycG9sYXRpb24uX19lbW90aW9uX3N0eWxlcyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgaW50ZXJwb2xhdGlvbi50b1N0cmluZygpID09PSAnTk9fQ09NUE9ORU5UX1NFTEVDVE9SJykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdDb21wb25lbnQgc2VsZWN0b3JzIGNhbiBvbmx5IGJlIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCBiYWJlbC1wbHVnaW4tZW1vdGlvbi4nKTtcbiAgICB9XG5cbiAgICByZXR1cm4gaW50ZXJwb2xhdGlvbjtcbiAgfVxuXG4gIHN3aXRjaCAodHlwZW9mIGludGVycG9sYXRpb24pIHtcbiAgICBjYXNlICdib29sZWFuJzpcbiAgICAgIHtcbiAgICAgICAgcmV0dXJuICcnO1xuICAgICAgfVxuXG4gICAgY2FzZSAnb2JqZWN0JzpcbiAgICAgIHtcbiAgICAgICAgaWYgKGludGVycG9sYXRpb24uYW5pbSA9PT0gMSkge1xuICAgICAgICAgIGN1cnNvciA9IHtcbiAgICAgICAgICAgIG5hbWU6IGludGVycG9sYXRpb24ubmFtZSxcbiAgICAgICAgICAgIHN0eWxlczogaW50ZXJwb2xhdGlvbi5zdHlsZXMsXG4gICAgICAgICAgICBuZXh0OiBjdXJzb3JcbiAgICAgICAgICB9O1xuICAgICAgICAgIHJldHVybiBpbnRlcnBvbGF0aW9uLm5hbWU7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaW50ZXJwb2xhdGlvbi5zdHlsZXMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIHZhciBuZXh0ID0gaW50ZXJwb2xhdGlvbi5uZXh0O1xuXG4gICAgICAgICAgaWYgKG5leHQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgLy8gbm90IHRoZSBtb3N0IGVmZmljaWVudCB0aGluZyBldmVyIGJ1dCB0aGlzIGlzIGEgcHJldHR5IHJhcmUgY2FzZVxuICAgICAgICAgICAgLy8gYW5kIHRoZXJlIHdpbGwgYmUgdmVyeSBmZXcgaXRlcmF0aW9ucyBvZiB0aGlzIGdlbmVyYWxseVxuICAgICAgICAgICAgd2hpbGUgKG5leHQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICBjdXJzb3IgPSB7XG4gICAgICAgICAgICAgICAgbmFtZTogbmV4dC5uYW1lLFxuICAgICAgICAgICAgICAgIHN0eWxlczogbmV4dC5zdHlsZXMsXG4gICAgICAgICAgICAgICAgbmV4dDogY3Vyc29yXG4gICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgIG5leHQgPSBuZXh0Lm5leHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdmFyIHN0eWxlcyA9IGludGVycG9sYXRpb24uc3R5bGVzICsgXCI7XCI7XG5cbiAgICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiBpbnRlcnBvbGF0aW9uLm1hcCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBzdHlsZXMgKz0gaW50ZXJwb2xhdGlvbi5tYXA7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIHN0eWxlcztcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBjcmVhdGVTdHJpbmdGcm9tT2JqZWN0KG1lcmdlZFByb3BzLCByZWdpc3RlcmVkLCBpbnRlcnBvbGF0aW9uKTtcbiAgICAgIH1cblxuICAgIGNhc2UgJ2Z1bmN0aW9uJzpcbiAgICAgIHtcbiAgICAgICAgaWYgKG1lcmdlZFByb3BzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICB2YXIgcHJldmlvdXNDdXJzb3IgPSBjdXJzb3I7XG4gICAgICAgICAgdmFyIHJlc3VsdCA9IGludGVycG9sYXRpb24obWVyZ2VkUHJvcHMpO1xuICAgICAgICAgIGN1cnNvciA9IHByZXZpb3VzQ3Vyc29yO1xuICAgICAgICAgIHJldHVybiBoYW5kbGVJbnRlcnBvbGF0aW9uKG1lcmdlZFByb3BzLCByZWdpc3RlcmVkLCByZXN1bHQsIGNvdWxkQmVTZWxlY3RvckludGVycG9sYXRpb24pO1xuICAgICAgICB9IGVsc2UgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKCdGdW5jdGlvbnMgdGhhdCBhcmUgaW50ZXJwb2xhdGVkIGluIGNzcyBjYWxscyB3aWxsIGJlIHN0cmluZ2lmaWVkLlxcbicgKyAnSWYgeW91IHdhbnQgdG8gaGF2ZSBhIGNzcyBjYWxsIGJhc2VkIG9uIHByb3BzLCBjcmVhdGUgYSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYSBjc3MgY2FsbCBsaWtlIHRoaXNcXG4nICsgJ2xldCBkeW5hbWljU3R5bGUgPSAocHJvcHMpID0+IGNzc2Bjb2xvcjogJHtwcm9wcy5jb2xvcn1gXFxuJyArICdJdCBjYW4gYmUgY2FsbGVkIGRpcmVjdGx5IHdpdGggcHJvcHMgb3IgaW50ZXJwb2xhdGVkIGluIGEgc3R5bGVkIGNhbGwgbGlrZSB0aGlzXFxuJyArIFwibGV0IFNvbWVDb21wb25lbnQgPSBzdHlsZWQoJ2RpdicpYCR7ZHluYW1pY1N0eWxlfWBcIik7XG4gICAgICAgIH1cblxuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgIGNhc2UgJ3N0cmluZyc6XG4gICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICB2YXIgbWF0Y2hlZCA9IFtdO1xuICAgICAgICB2YXIgcmVwbGFjZWQgPSBpbnRlcnBvbGF0aW9uLnJlcGxhY2UoYW5pbWF0aW9uUmVnZXgsIGZ1bmN0aW9uIChtYXRjaCwgcDEsIHAyKSB7XG4gICAgICAgICAgdmFyIGZha2VWYXJOYW1lID0gXCJhbmltYXRpb25cIiArIG1hdGNoZWQubGVuZ3RoO1xuICAgICAgICAgIG1hdGNoZWQucHVzaChcImNvbnN0IFwiICsgZmFrZVZhck5hbWUgKyBcIiA9IGtleWZyYW1lc2BcIiArIHAyLnJlcGxhY2UoL15Aa2V5ZnJhbWVzIGFuaW1hdGlvbi1cXHcrLywgJycpICsgXCJgXCIpO1xuICAgICAgICAgIHJldHVybiBcIiR7XCIgKyBmYWtlVmFyTmFtZSArIFwifVwiO1xuICAgICAgICB9KTtcblxuICAgICAgICBpZiAobWF0Y2hlZC5sZW5ndGgpIHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKCdga2V5ZnJhbWVzYCBvdXRwdXQgZ290IGludGVycG9sYXRlZCBpbnRvIHBsYWluIHN0cmluZywgcGxlYXNlIHdyYXAgaXQgd2l0aCBgY3NzYC5cXG5cXG4nICsgJ0luc3RlYWQgb2YgZG9pbmcgdGhpczpcXG5cXG4nICsgW10uY29uY2F0KG1hdGNoZWQsIFtcImBcIiArIHJlcGxhY2VkICsgXCJgXCJdKS5qb2luKCdcXG4nKSArICdcXG5cXG5Zb3Ugc2hvdWxkIHdyYXAgaXQgd2l0aCBgY3NzYCBsaWtlIHRoaXM6XFxuXFxuJyArIChcImNzc2BcIiArIHJlcGxhY2VkICsgXCJgXCIpKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBicmVhaztcbiAgfSAvLyBmaW5hbGl6ZSBzdHJpbmcgdmFsdWVzIChyZWd1bGFyIHN0cmluZ3MgYW5kIGZ1bmN0aW9ucyBpbnRlcnBvbGF0ZWQgaW50byBjc3MgY2FsbHMpXG5cblxuICBpZiAocmVnaXN0ZXJlZCA9PSBudWxsKSB7XG4gICAgcmV0dXJuIGludGVycG9sYXRpb247XG4gIH1cblxuICB2YXIgY2FjaGVkID0gcmVnaXN0ZXJlZFtpbnRlcnBvbGF0aW9uXTtcblxuICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiBjb3VsZEJlU2VsZWN0b3JJbnRlcnBvbGF0aW9uICYmIHNob3VsZFdhcm5BYm91dEludGVycG9sYXRpbmdDbGFzc05hbWVGcm9tQ3NzICYmIGNhY2hlZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgY29uc29sZS5lcnJvcignSW50ZXJwb2xhdGluZyBhIGNsYXNzTmFtZSBmcm9tIGNzc2BgIGlzIG5vdCByZWNvbW1lbmRlZCBhbmQgd2lsbCBjYXVzZSBwcm9ibGVtcyB3aXRoIGNvbXBvc2l0aW9uLlxcbicgKyAnSW50ZXJwb2xhdGluZyBhIGNsYXNzTmFtZSBmcm9tIGNzc2BgIHdpbGwgYmUgY29tcGxldGVseSB1bnN1cHBvcnRlZCBpbiBhIGZ1dHVyZSBtYWpvciB2ZXJzaW9uIG9mIEVtb3Rpb24nKTtcbiAgICBzaG91bGRXYXJuQWJvdXRJbnRlcnBvbGF0aW5nQ2xhc3NOYW1lRnJvbUNzcyA9IGZhbHNlO1xuICB9XG5cbiAgcmV0dXJuIGNhY2hlZCAhPT0gdW5kZWZpbmVkICYmICFjb3VsZEJlU2VsZWN0b3JJbnRlcnBvbGF0aW9uID8gY2FjaGVkIDogaW50ZXJwb2xhdGlvbjtcbn1cblxuZnVuY3Rpb24gY3JlYXRlU3RyaW5nRnJvbU9iamVjdChtZXJnZWRQcm9wcywgcmVnaXN0ZXJlZCwgb2JqKSB7XG4gIHZhciBzdHJpbmcgPSAnJztcblxuICBpZiAoQXJyYXkuaXNBcnJheShvYmopKSB7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBvYmoubGVuZ3RoOyBpKyspIHtcbiAgICAgIHN0cmluZyArPSBoYW5kbGVJbnRlcnBvbGF0aW9uKG1lcmdlZFByb3BzLCByZWdpc3RlcmVkLCBvYmpbaV0sIGZhbHNlKTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgZm9yICh2YXIgX2tleSBpbiBvYmopIHtcbiAgICAgIHZhciB2YWx1ZSA9IG9ialtfa2V5XTtcblxuICAgICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ29iamVjdCcpIHtcbiAgICAgICAgaWYgKHJlZ2lzdGVyZWQgIT0gbnVsbCAmJiByZWdpc3RlcmVkW3ZhbHVlXSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgc3RyaW5nICs9IF9rZXkgKyBcIntcIiArIHJlZ2lzdGVyZWRbdmFsdWVdICsgXCJ9XCI7XG4gICAgICAgIH0gZWxzZSBpZiAoaXNQcm9jZXNzYWJsZVZhbHVlKHZhbHVlKSkge1xuICAgICAgICAgIHN0cmluZyArPSBwcm9jZXNzU3R5bGVOYW1lKF9rZXkpICsgXCI6XCIgKyBwcm9jZXNzU3R5bGVWYWx1ZShfa2V5LCB2YWx1ZSkgKyBcIjtcIjtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKF9rZXkgPT09ICdOT19DT01QT05FTlRfU0VMRUNUT1InICYmIHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0NvbXBvbmVudCBzZWxlY3RvcnMgY2FuIG9ubHkgYmUgdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIGJhYmVsLXBsdWdpbi1lbW90aW9uLicpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpICYmIHR5cGVvZiB2YWx1ZVswXSA9PT0gJ3N0cmluZycgJiYgKHJlZ2lzdGVyZWQgPT0gbnVsbCB8fCByZWdpc3RlcmVkW3ZhbHVlWzBdXSA9PT0gdW5kZWZpbmVkKSkge1xuICAgICAgICAgIGZvciAodmFyIF9pID0gMDsgX2kgPCB2YWx1ZS5sZW5ndGg7IF9pKyspIHtcbiAgICAgICAgICAgIGlmIChpc1Byb2Nlc3NhYmxlVmFsdWUodmFsdWVbX2ldKSkge1xuICAgICAgICAgICAgICBzdHJpbmcgKz0gcHJvY2Vzc1N0eWxlTmFtZShfa2V5KSArIFwiOlwiICsgcHJvY2Vzc1N0eWxlVmFsdWUoX2tleSwgdmFsdWVbX2ldKSArIFwiO1wiO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB2YXIgaW50ZXJwb2xhdGVkID0gaGFuZGxlSW50ZXJwb2xhdGlvbihtZXJnZWRQcm9wcywgcmVnaXN0ZXJlZCwgdmFsdWUsIGZhbHNlKTtcblxuICAgICAgICAgIHN3aXRjaCAoX2tleSkge1xuICAgICAgICAgICAgY2FzZSAnYW5pbWF0aW9uJzpcbiAgICAgICAgICAgIGNhc2UgJ2FuaW1hdGlvbk5hbWUnOlxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgc3RyaW5nICs9IHByb2Nlc3NTdHlsZU5hbWUoX2tleSkgKyBcIjpcIiArIGludGVycG9sYXRlZCArIFwiO1wiO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiBfa2V5ID09PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihVTkRFRklORURfQVNfT0JKRUNUX0tFWV9FUlJPUik7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgc3RyaW5nICs9IF9rZXkgKyBcIntcIiArIGludGVycG9sYXRlZCArIFwifVwiO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHN0cmluZztcbn1cblxudmFyIGxhYmVsUGF0dGVybiA9IC9sYWJlbDpcXHMqKFteXFxzO1xcbntdKylcXHMqOy9nO1xudmFyIHNvdXJjZU1hcFBhdHRlcm47XG5cbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gIHNvdXJjZU1hcFBhdHRlcm4gPSAvXFwvXFwqI1xcc3NvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvblxcL2pzb247XFxTK1xccytcXCpcXC8vO1xufSAvLyB0aGlzIGlzIHRoZSBjdXJzb3IgZm9yIGtleWZyYW1lc1xuLy8ga2V5ZnJhbWVzIGFyZSBzdG9yZWQgb24gdGhlIFNlcmlhbGl6ZWRTdHlsZXMgb2JqZWN0IGFzIGEgbGlua2VkIGxpc3RcblxuXG52YXIgY3Vyc29yO1xudmFyIHNlcmlhbGl6ZVN0eWxlcyA9IGZ1bmN0aW9uIHNlcmlhbGl6ZVN0eWxlcyhhcmdzLCByZWdpc3RlcmVkLCBtZXJnZWRQcm9wcykge1xuICBpZiAoYXJncy5sZW5ndGggPT09IDEgJiYgdHlwZW9mIGFyZ3NbMF0gPT09ICdvYmplY3QnICYmIGFyZ3NbMF0gIT09IG51bGwgJiYgYXJnc1swXS5zdHlsZXMgIT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiBhcmdzWzBdO1xuICB9XG5cbiAgdmFyIHN0cmluZ01vZGUgPSB0cnVlO1xuICB2YXIgc3R5bGVzID0gJyc7XG4gIGN1cnNvciA9IHVuZGVmaW5lZDtcbiAgdmFyIHN0cmluZ3MgPSBhcmdzWzBdO1xuXG4gIGlmIChzdHJpbmdzID09IG51bGwgfHwgc3RyaW5ncy5yYXcgPT09IHVuZGVmaW5lZCkge1xuICAgIHN0cmluZ01vZGUgPSBmYWxzZTtcbiAgICBzdHlsZXMgKz0gaGFuZGxlSW50ZXJwb2xhdGlvbihtZXJnZWRQcm9wcywgcmVnaXN0ZXJlZCwgc3RyaW5ncywgZmFsc2UpO1xuICB9IGVsc2Uge1xuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIHN0cmluZ3NbMF0gPT09IHVuZGVmaW5lZCkge1xuICAgICAgY29uc29sZS5lcnJvcihJTExFR0FMX0VTQ0FQRV9TRVFVRU5DRV9FUlJPUik7XG4gICAgfVxuXG4gICAgc3R5bGVzICs9IHN0cmluZ3NbMF07XG4gIH0gLy8gd2Ugc3RhcnQgYXQgMSBzaW5jZSB3ZSd2ZSBhbHJlYWR5IGhhbmRsZWQgdGhlIGZpcnN0IGFyZ1xuXG5cbiAgZm9yICh2YXIgaSA9IDE7IGkgPCBhcmdzLmxlbmd0aDsgaSsrKSB7XG4gICAgc3R5bGVzICs9IGhhbmRsZUludGVycG9sYXRpb24obWVyZ2VkUHJvcHMsIHJlZ2lzdGVyZWQsIGFyZ3NbaV0sIHN0eWxlcy5jaGFyQ29kZUF0KHN0eWxlcy5sZW5ndGggLSAxKSA9PT0gNDYpO1xuXG4gICAgaWYgKHN0cmluZ01vZGUpIHtcbiAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIHN0cmluZ3NbaV0gPT09IHVuZGVmaW5lZCkge1xuICAgICAgICBjb25zb2xlLmVycm9yKElMTEVHQUxfRVNDQVBFX1NFUVVFTkNFX0VSUk9SKTtcbiAgICAgIH1cblxuICAgICAgc3R5bGVzICs9IHN0cmluZ3NbaV07XG4gICAgfVxuICB9XG5cbiAgdmFyIHNvdXJjZU1hcDtcblxuICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgIHN0eWxlcyA9IHN0eWxlcy5yZXBsYWNlKHNvdXJjZU1hcFBhdHRlcm4sIGZ1bmN0aW9uIChtYXRjaCkge1xuICAgICAgc291cmNlTWFwID0gbWF0Y2g7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfSk7XG4gIH0gLy8gdXNpbmcgYSBnbG9iYWwgcmVnZXggd2l0aCAuZXhlYyBpcyBzdGF0ZWZ1bCBzbyBsYXN0SW5kZXggaGFzIHRvIGJlIHJlc2V0IGVhY2ggdGltZVxuXG5cbiAgbGFiZWxQYXR0ZXJuLmxhc3RJbmRleCA9IDA7XG4gIHZhciBpZGVudGlmaWVyTmFtZSA9ICcnO1xuICB2YXIgbWF0Y2g7IC8vIGh0dHBzOi8vZXNiZW5jaC5jb20vYmVuY2gvNWI4MDljMmNmMjk0OTgwMGEwZjYxZmI1XG5cbiAgd2hpbGUgKChtYXRjaCA9IGxhYmVsUGF0dGVybi5leGVjKHN0eWxlcykpICE9PSBudWxsKSB7XG4gICAgaWRlbnRpZmllck5hbWUgKz0gJy0nICsgLy8gJEZsb3dGaXhNZSB3ZSBrbm93IGl0J3Mgbm90IG51bGxcbiAgICBtYXRjaFsxXTtcbiAgfVxuXG4gIHZhciBuYW1lID0gaGFzaFN0cmluZyhzdHlsZXMpICsgaWRlbnRpZmllck5hbWU7XG5cbiAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAvLyAkRmxvd0ZpeE1lIFNlcmlhbGl6ZWRTdHlsZXMgdHlwZSBkb2Vzbid0IGhhdmUgdG9TdHJpbmcgcHJvcGVydHkgKGFuZCB3ZSBkb24ndCB3YW50IHRvIGFkZCBpdClcbiAgICByZXR1cm4ge1xuICAgICAgbmFtZTogbmFtZSxcbiAgICAgIHN0eWxlczogc3R5bGVzLFxuICAgICAgbWFwOiBzb3VyY2VNYXAsXG4gICAgICBuZXh0OiBjdXJzb3IsXG4gICAgICB0b1N0cmluZzogZnVuY3Rpb24gdG9TdHJpbmcoKSB7XG4gICAgICAgIHJldHVybiBcIllvdSBoYXZlIHRyaWVkIHRvIHN0cmluZ2lmeSBvYmplY3QgcmV0dXJuZWQgZnJvbSBgY3NzYCBmdW5jdGlvbi4gSXQgaXNuJ3Qgc3VwcG9zZWQgdG8gYmUgdXNlZCBkaXJlY3RseSAoZS5nLiBhcyB2YWx1ZSBvZiB0aGUgYGNsYXNzTmFtZWAgcHJvcCksIGJ1dCByYXRoZXIgaGFuZGVkIHRvIGVtb3Rpb24gc28gaXQgY2FuIGhhbmRsZSBpdCAoZS5nLiBhcyB2YWx1ZSBvZiBgY3NzYCBwcm9wKS5cIjtcbiAgICAgIH1cbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBuYW1lOiBuYW1lLFxuICAgIHN0eWxlczogc3R5bGVzLFxuICAgIG5leHQ6IGN1cnNvclxuICB9O1xufTtcblxuZXhwb3J0IHsgc2VyaWFsaXplU3R5bGVzIH07XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@emotion/serialize/dist/serialize.browser.esm.js\n"); /***/ }), /***/ "./node_modules/@emotion/sheet/dist/sheet.browser.esm.js": /*!***************************************************************!*\ !*** ./node_modules/@emotion/sheet/dist/sheet.browser.esm.js ***! \***************************************************************/ /*! exports provided: StyleSheet */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"StyleSheet\", function() { return StyleSheet; });\n/*\n\nBased off glamor's StyleSheet, thanks Sunil ❤️\n\nhigh performance StyleSheet for css-in-js systems\n\n- uses multiple style tags behind the scenes for millions of rules\n- uses `insertRule` for appending in production for *much* faster performance\n\n// usage\n\nimport { StyleSheet } from '@emotion/sheet'\n\nlet styleSheet = new StyleSheet({ key: '', container: document.head })\n\nstyleSheet.insert('#box { border: 1px solid red; }')\n- appends a css rule into the stylesheet\n\nstyleSheet.flush()\n- empties the stylesheet of all its contents\n\n*/\n// $FlowFixMe\nfunction sheetForTag(tag) {\n if (tag.sheet) {\n // $FlowFixMe\n return tag.sheet;\n } // this weirdness brought to you by firefox\n\n /* istanbul ignore next */\n\n\n for (var i = 0; i < document.styleSheets.length; i++) {\n if (document.styleSheets[i].ownerNode === tag) {\n // $FlowFixMe\n return document.styleSheets[i];\n }\n }\n}\n\nfunction createStyleElement(options) {\n var tag = document.createElement('style');\n tag.setAttribute('data-emotion', options.key);\n\n if (options.nonce !== undefined) {\n tag.setAttribute('nonce', options.nonce);\n }\n\n tag.appendChild(document.createTextNode(''));\n return tag;\n}\n\nvar StyleSheet =\n/*#__PURE__*/\nfunction () {\n function StyleSheet(options) {\n this.isSpeedy = options.speedy === undefined ? \"development\" === 'production' : options.speedy;\n this.tags = [];\n this.ctr = 0;\n this.nonce = options.nonce; // key is the value of the data-emotion attribute, it's used to identify different sheets\n\n this.key = options.key;\n this.container = options.container;\n this.before = null;\n }\n\n var _proto = StyleSheet.prototype;\n\n _proto.insert = function insert(rule) {\n // the max length is how many rules we have per style tag, it's 65000 in speedy mode\n // it's 1 in dev because we insert source maps that map a single rule to a location\n // and you can only have one source map per style tag\n if (this.ctr % (this.isSpeedy ? 65000 : 1) === 0) {\n var _tag = createStyleElement(this);\n\n var before;\n\n if (this.tags.length === 0) {\n before = this.before;\n } else {\n before = this.tags[this.tags.length - 1].nextSibling;\n }\n\n this.container.insertBefore(_tag, before);\n this.tags.push(_tag);\n }\n\n var tag = this.tags[this.tags.length - 1];\n\n if (this.isSpeedy) {\n var sheet = sheetForTag(tag);\n\n try {\n // this is a really hot path\n // we check the second character first because having \"i\"\n // as the second character will happen less often than\n // having \"@\" as the first character\n var isImportRule = rule.charCodeAt(1) === 105 && rule.charCodeAt(0) === 64; // this is the ultrafast version, works across browsers\n // the big drawback is that the css won't be editable in devtools\n\n sheet.insertRule(rule, // we need to insert @import rules before anything else\n // otherwise there will be an error\n // technically this means that the @import rules will\n // _usually_(not always since there could be multiple style tags)\n // be the first ones in prod and generally later in dev\n // this shouldn't really matter in the real world though\n // @import is generally only used for font faces from google fonts and etc.\n // so while this could be technically correct then it would be slower and larger\n // for a tiny bit of correctness that won't matter in the real world\n isImportRule ? 0 : sheet.cssRules.length);\n } catch (e) {\n if (true) {\n console.warn(\"There was a problem inserting the following rule: \\\"\" + rule + \"\\\"\", e);\n }\n }\n } else {\n tag.appendChild(document.createTextNode(rule));\n }\n\n this.ctr++;\n };\n\n _proto.flush = function flush() {\n // $FlowFixMe\n this.tags.forEach(function (tag) {\n return tag.parentNode.removeChild(tag);\n });\n this.tags = [];\n this.ctr = 0;\n };\n\n return StyleSheet;\n}();\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGVtb3Rpb24vc2hlZXQvZGlzdC9zaGVldC5icm93c2VyLmVzbS5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AZW1vdGlvbi9zaGVldC9kaXN0L3NoZWV0LmJyb3dzZXIuZXNtLmpzP2NmZDIiXSwic291cmNlc0NvbnRlbnQiOlsiLypcblxuQmFzZWQgb2ZmIGdsYW1vcidzIFN0eWxlU2hlZXQsIHRoYW5rcyBTdW5pbCDinaTvuI9cblxuaGlnaCBwZXJmb3JtYW5jZSBTdHlsZVNoZWV0IGZvciBjc3MtaW4tanMgc3lzdGVtc1xuXG4tIHVzZXMgbXVsdGlwbGUgc3R5bGUgdGFncyBiZWhpbmQgdGhlIHNjZW5lcyBmb3IgbWlsbGlvbnMgb2YgcnVsZXNcbi0gdXNlcyBgaW5zZXJ0UnVsZWAgZm9yIGFwcGVuZGluZyBpbiBwcm9kdWN0aW9uIGZvciAqbXVjaCogZmFzdGVyIHBlcmZvcm1hbmNlXG5cbi8vIHVzYWdlXG5cbmltcG9ydCB7IFN0eWxlU2hlZXQgfSBmcm9tICdAZW1vdGlvbi9zaGVldCdcblxubGV0IHN0eWxlU2hlZXQgPSBuZXcgU3R5bGVTaGVldCh7IGtleTogJycsIGNvbnRhaW5lcjogZG9jdW1lbnQuaGVhZCB9KVxuXG5zdHlsZVNoZWV0Lmluc2VydCgnI2JveCB7IGJvcmRlcjogMXB4IHNvbGlkIHJlZDsgfScpXG4tIGFwcGVuZHMgYSBjc3MgcnVsZSBpbnRvIHRoZSBzdHlsZXNoZWV0XG5cbnN0eWxlU2hlZXQuZmx1c2goKVxuLSBlbXB0aWVzIHRoZSBzdHlsZXNoZWV0IG9mIGFsbCBpdHMgY29udGVudHNcblxuKi9cbi8vICRGbG93Rml4TWVcbmZ1bmN0aW9uIHNoZWV0Rm9yVGFnKHRhZykge1xuICBpZiAodGFnLnNoZWV0KSB7XG4gICAgLy8gJEZsb3dGaXhNZVxuICAgIHJldHVybiB0YWcuc2hlZXQ7XG4gIH0gLy8gdGhpcyB3ZWlyZG5lc3MgYnJvdWdodCB0byB5b3UgYnkgZmlyZWZveFxuXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG5cblxuICBmb3IgKHZhciBpID0gMDsgaSA8IGRvY3VtZW50LnN0eWxlU2hlZXRzLmxlbmd0aDsgaSsrKSB7XG4gICAgaWYgKGRvY3VtZW50LnN0eWxlU2hlZXRzW2ldLm93bmVyTm9kZSA9PT0gdGFnKSB7XG4gICAgICAvLyAkRmxvd0ZpeE1lXG4gICAgICByZXR1cm4gZG9jdW1lbnQuc3R5bGVTaGVldHNbaV07XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZVN0eWxlRWxlbWVudChvcHRpb25zKSB7XG4gIHZhciB0YWcgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzdHlsZScpO1xuICB0YWcuc2V0QXR0cmlidXRlKCdkYXRhLWVtb3Rpb24nLCBvcHRpb25zLmtleSk7XG5cbiAgaWYgKG9wdGlvbnMubm9uY2UgIT09IHVuZGVmaW5lZCkge1xuICAgIHRhZy5zZXRBdHRyaWJ1dGUoJ25vbmNlJywgb3B0aW9ucy5ub25jZSk7XG4gIH1cblxuICB0YWcuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoJycpKTtcbiAgcmV0dXJuIHRhZztcbn1cblxudmFyIFN0eWxlU2hlZXQgPVxuLyojX19QVVJFX18qL1xuZnVuY3Rpb24gKCkge1xuICBmdW5jdGlvbiBTdHlsZVNoZWV0KG9wdGlvbnMpIHtcbiAgICB0aGlzLmlzU3BlZWR5ID0gb3B0aW9ucy5zcGVlZHkgPT09IHVuZGVmaW5lZCA/IHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSAncHJvZHVjdGlvbicgOiBvcHRpb25zLnNwZWVkeTtcbiAgICB0aGlzLnRhZ3MgPSBbXTtcbiAgICB0aGlzLmN0ciA9IDA7XG4gICAgdGhpcy5ub25jZSA9IG9wdGlvbnMubm9uY2U7IC8vIGtleSBpcyB0aGUgdmFsdWUgb2YgdGhlIGRhdGEtZW1vdGlvbiBhdHRyaWJ1dGUsIGl0J3MgdXNlZCB0byBpZGVudGlmeSBkaWZmZXJlbnQgc2hlZXRzXG5cbiAgICB0aGlzLmtleSA9IG9wdGlvbnMua2V5O1xuICAgIHRoaXMuY29udGFpbmVyID0gb3B0aW9ucy5jb250YWluZXI7XG4gICAgdGhpcy5iZWZvcmUgPSBudWxsO1xuICB9XG5cbiAgdmFyIF9wcm90byA9IFN0eWxlU2hlZXQucHJvdG90eXBlO1xuXG4gIF9wcm90by5pbnNlcnQgPSBmdW5jdGlvbiBpbnNlcnQocnVsZSkge1xuICAgIC8vIHRoZSBtYXggbGVuZ3RoIGlzIGhvdyBtYW55IHJ1bGVzIHdlIGhhdmUgcGVyIHN0eWxlIHRhZywgaXQncyA2NTAwMCBpbiBzcGVlZHkgbW9kZVxuICAgIC8vIGl0J3MgMSBpbiBkZXYgYmVjYXVzZSB3ZSBpbnNlcnQgc291cmNlIG1hcHMgdGhhdCBtYXAgYSBzaW5nbGUgcnVsZSB0byBhIGxvY2F0aW9uXG4gICAgLy8gYW5kIHlvdSBjYW4gb25seSBoYXZlIG9uZSBzb3VyY2UgbWFwIHBlciBzdHlsZSB0YWdcbiAgICBpZiAodGhpcy5jdHIgJSAodGhpcy5pc1NwZWVkeSA/IDY1MDAwIDogMSkgPT09IDApIHtcbiAgICAgIHZhciBfdGFnID0gY3JlYXRlU3R5bGVFbGVtZW50KHRoaXMpO1xuXG4gICAgICB2YXIgYmVmb3JlO1xuXG4gICAgICBpZiAodGhpcy50YWdzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICBiZWZvcmUgPSB0aGlzLmJlZm9yZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGJlZm9yZSA9IHRoaXMudGFnc1t0aGlzLnRhZ3MubGVuZ3RoIC0gMV0ubmV4dFNpYmxpbmc7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuY29udGFpbmVyLmluc2VydEJlZm9yZShfdGFnLCBiZWZvcmUpO1xuICAgICAgdGhpcy50YWdzLnB1c2goX3RhZyk7XG4gICAgfVxuXG4gICAgdmFyIHRhZyA9IHRoaXMudGFnc1t0aGlzLnRhZ3MubGVuZ3RoIC0gMV07XG5cbiAgICBpZiAodGhpcy5pc1NwZWVkeSkge1xuICAgICAgdmFyIHNoZWV0ID0gc2hlZXRGb3JUYWcodGFnKTtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgLy8gdGhpcyBpcyBhIHJlYWxseSBob3QgcGF0aFxuICAgICAgICAvLyB3ZSBjaGVjayB0aGUgc2Vjb25kIGNoYXJhY3RlciBmaXJzdCBiZWNhdXNlIGhhdmluZyBcImlcIlxuICAgICAgICAvLyBhcyB0aGUgc2Vjb25kIGNoYXJhY3RlciB3aWxsIGhhcHBlbiBsZXNzIG9mdGVuIHRoYW5cbiAgICAgICAgLy8gaGF2aW5nIFwiQFwiIGFzIHRoZSBmaXJzdCBjaGFyYWN0ZXJcbiAgICAgICAgdmFyIGlzSW1wb3J0UnVsZSA9IHJ1bGUuY2hhckNvZGVBdCgxKSA9PT0gMTA1ICYmIHJ1bGUuY2hhckNvZGVBdCgwKSA9PT0gNjQ7IC8vIHRoaXMgaXMgdGhlIHVsdHJhZmFzdCB2ZXJzaW9uLCB3b3JrcyBhY3Jvc3MgYnJvd3NlcnNcbiAgICAgICAgLy8gdGhlIGJpZyBkcmF3YmFjayBpcyB0aGF0IHRoZSBjc3Mgd29uJ3QgYmUgZWRpdGFibGUgaW4gZGV2dG9vbHNcblxuICAgICAgICBzaGVldC5pbnNlcnRSdWxlKHJ1bGUsIC8vIHdlIG5lZWQgdG8gaW5zZXJ0IEBpbXBvcnQgcnVsZXMgYmVmb3JlIGFueXRoaW5nIGVsc2VcbiAgICAgICAgLy8gb3RoZXJ3aXNlIHRoZXJlIHdpbGwgYmUgYW4gZXJyb3JcbiAgICAgICAgLy8gdGVjaG5pY2FsbHkgdGhpcyBtZWFucyB0aGF0IHRoZSBAaW1wb3J0IHJ1bGVzIHdpbGxcbiAgICAgICAgLy8gX3VzdWFsbHlfKG5vdCBhbHdheXMgc2luY2UgdGhlcmUgY291bGQgYmUgbXVsdGlwbGUgc3R5bGUgdGFncylcbiAgICAgICAgLy8gYmUgdGhlIGZpcnN0IG9uZXMgaW4gcHJvZCBhbmQgZ2VuZXJhbGx5IGxhdGVyIGluIGRldlxuICAgICAgICAvLyB0aGlzIHNob3VsZG4ndCByZWFsbHkgbWF0dGVyIGluIHRoZSByZWFsIHdvcmxkIHRob3VnaFxuICAgICAgICAvLyBAaW1wb3J0IGlzIGdlbmVyYWxseSBvbmx5IHVzZWQgZm9yIGZvbnQgZmFjZXMgZnJvbSBnb29nbGUgZm9udHMgYW5kIGV0Yy5cbiAgICAgICAgLy8gc28gd2hpbGUgdGhpcyBjb3VsZCBiZSB0ZWNobmljYWxseSBjb3JyZWN0IHRoZW4gaXQgd291bGQgYmUgc2xvd2VyIGFuZCBsYXJnZXJcbiAgICAgICAgLy8gZm9yIGEgdGlueSBiaXQgb2YgY29ycmVjdG5lc3MgdGhhdCB3b24ndCBtYXR0ZXIgaW4gdGhlIHJlYWwgd29ybGRcbiAgICAgICAgaXNJbXBvcnRSdWxlID8gMCA6IHNoZWV0LmNzc1J1bGVzLmxlbmd0aCk7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgICAgY29uc29sZS53YXJuKFwiVGhlcmUgd2FzIGEgcHJvYmxlbSBpbnNlcnRpbmcgdGhlIGZvbGxvd2luZyBydWxlOiBcXFwiXCIgKyBydWxlICsgXCJcXFwiXCIsIGUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRhZy5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShydWxlKSk7XG4gICAgfVxuXG4gICAgdGhpcy5jdHIrKztcbiAgfTtcblxuICBfcHJvdG8uZmx1c2ggPSBmdW5jdGlvbiBmbHVzaCgpIHtcbiAgICAvLyAkRmxvd0ZpeE1lXG4gICAgdGhpcy50YWdzLmZvckVhY2goZnVuY3Rpb24gKHRhZykge1xuICAgICAgcmV0dXJuIHRhZy5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHRhZyk7XG4gICAgfSk7XG4gICAgdGhpcy50YWdzID0gW107XG4gICAgdGhpcy5jdHIgPSAwO1xuICB9O1xuXG4gIHJldHVybiBTdHlsZVNoZWV0O1xufSgpO1xuXG5leHBvcnQgeyBTdHlsZVNoZWV0IH07XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@emotion/sheet/dist/sheet.browser.esm.js\n"); /***/ }), /***/ "./node_modules/@emotion/stylis/dist/stylis.browser.esm.js": /*!*****************************************************************!*\ !*** ./node_modules/@emotion/stylis/dist/stylis.browser.esm.js ***! \*****************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\nfunction stylis_min (W) {\n function M(d, c, e, h, a) {\n for (var m = 0, b = 0, v = 0, n = 0, q, g, x = 0, K = 0, k, u = k = q = 0, l = 0, r = 0, I = 0, t = 0, B = e.length, J = B - 1, y, f = '', p = '', F = '', G = '', C; l < B;) {\n g = e.charCodeAt(l);\n l === J && 0 !== b + n + v + m && (0 !== b && (g = 47 === b ? 10 : 47), n = v = m = 0, B++, J++);\n\n if (0 === b + n + v + m) {\n if (l === J && (0 < r && (f = f.replace(N, '')), 0 < f.trim().length)) {\n switch (g) {\n case 32:\n case 9:\n case 59:\n case 13:\n case 10:\n break;\n\n default:\n f += e.charAt(l);\n }\n\n g = 59;\n }\n\n switch (g) {\n case 123:\n f = f.trim();\n q = f.charCodeAt(0);\n k = 1;\n\n for (t = ++l; l < B;) {\n switch (g = e.charCodeAt(l)) {\n case 123:\n k++;\n break;\n\n case 125:\n k--;\n break;\n\n case 47:\n switch (g = e.charCodeAt(l + 1)) {\n case 42:\n case 47:\n a: {\n for (u = l + 1; u < J; ++u) {\n switch (e.charCodeAt(u)) {\n case 47:\n if (42 === g && 42 === e.charCodeAt(u - 1) && l + 2 !== u) {\n l = u + 1;\n break a;\n }\n\n break;\n\n case 10:\n if (47 === g) {\n l = u + 1;\n break a;\n }\n\n }\n }\n\n l = u;\n }\n\n }\n\n break;\n\n case 91:\n g++;\n\n case 40:\n g++;\n\n case 34:\n case 39:\n for (; l++ < J && e.charCodeAt(l) !== g;) {\n }\n\n }\n\n if (0 === k) break;\n l++;\n }\n\n k = e.substring(t, l);\n 0 === q && (q = (f = f.replace(ca, '').trim()).charCodeAt(0));\n\n switch (q) {\n case 64:\n 0 < r && (f = f.replace(N, ''));\n g = f.charCodeAt(1);\n\n switch (g) {\n case 100:\n case 109:\n case 115:\n case 45:\n r = c;\n break;\n\n default:\n r = O;\n }\n\n k = M(c, r, k, g, a + 1);\n t = k.length;\n 0 < A && (r = X(O, f, I), C = H(3, k, r, c, D, z, t, g, a, h), f = r.join(''), void 0 !== C && 0 === (t = (k = C.trim()).length) && (g = 0, k = ''));\n if (0 < t) switch (g) {\n case 115:\n f = f.replace(da, ea);\n\n case 100:\n case 109:\n case 45:\n k = f + '{' + k + '}';\n break;\n\n case 107:\n f = f.replace(fa, '$1 $2');\n k = f + '{' + k + '}';\n k = 1 === w || 2 === w && L('@' + k, 3) ? '@-webkit-' + k + '@' + k : '@' + k;\n break;\n\n default:\n k = f + k, 112 === h && (k = (p += k, ''));\n } else k = '';\n break;\n\n default:\n k = M(c, X(c, f, I), k, h, a + 1);\n }\n\n F += k;\n k = I = r = u = q = 0;\n f = '';\n g = e.charCodeAt(++l);\n break;\n\n case 125:\n case 59:\n f = (0 < r ? f.replace(N, '') : f).trim();\n if (1 < (t = f.length)) switch (0 === u && (q = f.charCodeAt(0), 45 === q || 96 < q && 123 > q) && (t = (f = f.replace(' ', ':')).length), 0 < A && void 0 !== (C = H(1, f, c, d, D, z, p.length, h, a, h)) && 0 === (t = (f = C.trim()).length) && (f = '\\x00\\x00'), q = f.charCodeAt(0), g = f.charCodeAt(1), q) {\n case 0:\n break;\n\n case 64:\n if (105 === g || 99 === g) {\n G += f + e.charAt(l);\n break;\n }\n\n default:\n 58 !== f.charCodeAt(t - 1) && (p += P(f, q, g, f.charCodeAt(2)));\n }\n I = r = u = q = 0;\n f = '';\n g = e.charCodeAt(++l);\n }\n }\n\n switch (g) {\n case 13:\n case 10:\n 47 === b ? b = 0 : 0 === 1 + q && 107 !== h && 0 < f.length && (r = 1, f += '\\x00');\n 0 < A * Y && H(0, f, c, d, D, z, p.length, h, a, h);\n z = 1;\n D++;\n break;\n\n case 59:\n case 125:\n if (0 === b + n + v + m) {\n z++;\n break;\n }\n\n default:\n z++;\n y = e.charAt(l);\n\n switch (g) {\n case 9:\n case 32:\n if (0 === n + m + b) switch (x) {\n case 44:\n case 58:\n case 9:\n case 32:\n y = '';\n break;\n\n default:\n 32 !== g && (y = ' ');\n }\n break;\n\n case 0:\n y = '\\\\0';\n break;\n\n case 12:\n y = '\\\\f';\n break;\n\n case 11:\n y = '\\\\v';\n break;\n\n case 38:\n 0 === n + b + m && (r = I = 1, y = '\\f' + y);\n break;\n\n case 108:\n if (0 === n + b + m + E && 0 < u) switch (l - u) {\n case 2:\n 112 === x && 58 === e.charCodeAt(l - 3) && (E = x);\n\n case 8:\n 111 === K && (E = K);\n }\n break;\n\n case 58:\n 0 === n + b + m && (u = l);\n break;\n\n case 44:\n 0 === b + v + n + m && (r = 1, y += '\\r');\n break;\n\n case 34:\n case 39:\n 0 === b && (n = n === g ? 0 : 0 === n ? g : n);\n break;\n\n case 91:\n 0 === n + b + v && m++;\n break;\n\n case 93:\n 0 === n + b + v && m--;\n break;\n\n case 41:\n 0 === n + b + m && v--;\n break;\n\n case 40:\n if (0 === n + b + m) {\n if (0 === q) switch (2 * x + 3 * K) {\n case 533:\n break;\n\n default:\n q = 1;\n }\n v++;\n }\n\n break;\n\n case 64:\n 0 === b + v + n + m + u + k && (k = 1);\n break;\n\n case 42:\n case 47:\n if (!(0 < n + m + v)) switch (b) {\n case 0:\n switch (2 * g + 3 * e.charCodeAt(l + 1)) {\n case 235:\n b = 47;\n break;\n\n case 220:\n t = l, b = 42;\n }\n\n break;\n\n case 42:\n 47 === g && 42 === x && t + 2 !== l && (33 === e.charCodeAt(t + 2) && (p += e.substring(t, l + 1)), y = '', b = 0);\n }\n }\n\n 0 === b && (f += y);\n }\n\n K = x;\n x = g;\n l++;\n }\n\n t = p.length;\n\n if (0 < t) {\n r = c;\n if (0 < A && (C = H(2, p, r, d, D, z, t, h, a, h), void 0 !== C && 0 === (p = C).length)) return G + p + F;\n p = r.join(',') + '{' + p + '}';\n\n if (0 !== w * E) {\n 2 !== w || L(p, 2) || (E = 0);\n\n switch (E) {\n case 111:\n p = p.replace(ha, ':-moz-$1') + p;\n break;\n\n case 112:\n p = p.replace(Q, '::-webkit-input-$1') + p.replace(Q, '::-moz-$1') + p.replace(Q, ':-ms-input-$1') + p;\n }\n\n E = 0;\n }\n }\n\n return G + p + F;\n }\n\n function X(d, c, e) {\n var h = c.trim().split(ia);\n c = h;\n var a = h.length,\n m = d.length;\n\n switch (m) {\n case 0:\n case 1:\n var b = 0;\n\n for (d = 0 === m ? '' : d[0] + ' '; b < a; ++b) {\n c[b] = Z(d, c[b], e).trim();\n }\n\n break;\n\n default:\n var v = b = 0;\n\n for (c = []; b < a; ++b) {\n for (var n = 0; n < m; ++n) {\n c[v++] = Z(d[n] + ' ', h[b], e).trim();\n }\n }\n\n }\n\n return c;\n }\n\n function Z(d, c, e) {\n var h = c.charCodeAt(0);\n 33 > h && (h = (c = c.trim()).charCodeAt(0));\n\n switch (h) {\n case 38:\n return c.replace(F, '$1' + d.trim());\n\n case 58:\n return d.trim() + c.replace(F, '$1' + d.trim());\n\n default:\n if (0 < 1 * e && 0 < c.indexOf('\\f')) return c.replace(F, (58 === d.charCodeAt(0) ? '' : '$1') + d.trim());\n }\n\n return d + c;\n }\n\n function P(d, c, e, h) {\n var a = d + ';',\n m = 2 * c + 3 * e + 4 * h;\n\n if (944 === m) {\n d = a.indexOf(':', 9) + 1;\n var b = a.substring(d, a.length - 1).trim();\n b = a.substring(0, d).trim() + b + ';';\n return 1 === w || 2 === w && L(b, 1) ? '-webkit-' + b + b : b;\n }\n\n if (0 === w || 2 === w && !L(a, 1)) return a;\n\n switch (m) {\n case 1015:\n return 97 === a.charCodeAt(10) ? '-webkit-' + a + a : a;\n\n case 951:\n return 116 === a.charCodeAt(3) ? '-webkit-' + a + a : a;\n\n case 963:\n return 110 === a.charCodeAt(5) ? '-webkit-' + a + a : a;\n\n case 1009:\n if (100 !== a.charCodeAt(4)) break;\n\n case 969:\n case 942:\n return '-webkit-' + a + a;\n\n case 978:\n return '-webkit-' + a + '-moz-' + a + a;\n\n case 1019:\n case 983:\n return '-webkit-' + a + '-moz-' + a + '-ms-' + a + a;\n\n case 883:\n if (45 === a.charCodeAt(8)) return '-webkit-' + a + a;\n if (0 < a.indexOf('image-set(', 11)) return a.replace(ja, '$1-webkit-$2') + a;\n break;\n\n case 932:\n if (45 === a.charCodeAt(4)) switch (a.charCodeAt(5)) {\n case 103:\n return '-webkit-box-' + a.replace('-grow', '') + '-webkit-' + a + '-ms-' + a.replace('grow', 'positive') + a;\n\n case 115:\n return '-webkit-' + a + '-ms-' + a.replace('shrink', 'negative') + a;\n\n case 98:\n return '-webkit-' + a + '-ms-' + a.replace('basis', 'preferred-size') + a;\n }\n return '-webkit-' + a + '-ms-' + a + a;\n\n case 964:\n return '-webkit-' + a + '-ms-flex-' + a + a;\n\n case 1023:\n if (99 !== a.charCodeAt(8)) break;\n b = a.substring(a.indexOf(':', 15)).replace('flex-', '').replace('space-between', 'justify');\n return '-webkit-box-pack' + b + '-webkit-' + a + '-ms-flex-pack' + b + a;\n\n case 1005:\n return ka.test(a) ? a.replace(aa, ':-webkit-') + a.replace(aa, ':-moz-') + a : a;\n\n case 1e3:\n b = a.substring(13).trim();\n c = b.indexOf('-') + 1;\n\n switch (b.charCodeAt(0) + b.charCodeAt(c)) {\n case 226:\n b = a.replace(G, 'tb');\n break;\n\n case 232:\n b = a.replace(G, 'tb-rl');\n break;\n\n case 220:\n b = a.replace(G, 'lr');\n break;\n\n default:\n return a;\n }\n\n return '-webkit-' + a + '-ms-' + b + a;\n\n case 1017:\n if (-1 === a.indexOf('sticky', 9)) break;\n\n case 975:\n c = (a = d).length - 10;\n b = (33 === a.charCodeAt(c) ? a.substring(0, c) : a).substring(d.indexOf(':', 7) + 1).trim();\n\n switch (m = b.charCodeAt(0) + (b.charCodeAt(7) | 0)) {\n case 203:\n if (111 > b.charCodeAt(8)) break;\n\n case 115:\n a = a.replace(b, '-webkit-' + b) + ';' + a;\n break;\n\n case 207:\n case 102:\n a = a.replace(b, '-webkit-' + (102 < m ? 'inline-' : '') + 'box') + ';' + a.replace(b, '-webkit-' + b) + ';' + a.replace(b, '-ms-' + b + 'box') + ';' + a;\n }\n\n return a + ';';\n\n case 938:\n if (45 === a.charCodeAt(5)) switch (a.charCodeAt(6)) {\n case 105:\n return b = a.replace('-items', ''), '-webkit-' + a + '-webkit-box-' + b + '-ms-flex-' + b + a;\n\n case 115:\n return '-webkit-' + a + '-ms-flex-item-' + a.replace(ba, '') + a;\n\n default:\n return '-webkit-' + a + '-ms-flex-line-pack' + a.replace('align-content', '').replace(ba, '') + a;\n }\n break;\n\n case 973:\n case 989:\n if (45 !== a.charCodeAt(3) || 122 === a.charCodeAt(4)) break;\n\n case 931:\n case 953:\n if (!0 === la.test(d)) return 115 === (b = d.substring(d.indexOf(':') + 1)).charCodeAt(0) ? P(d.replace('stretch', 'fill-available'), c, e, h).replace(':fill-available', ':stretch') : a.replace(b, '-webkit-' + b) + a.replace(b, '-moz-' + b.replace('fill-', '')) + a;\n break;\n\n case 962:\n if (a = '-webkit-' + a + (102 === a.charCodeAt(5) ? '-ms-' + a : '') + a, 211 === e + h && 105 === a.charCodeAt(13) && 0 < a.indexOf('transform', 10)) return a.substring(0, a.indexOf(';', 27) + 1).replace(ma, '$1-webkit-$2') + a;\n }\n\n return a;\n }\n\n function L(d, c) {\n var e = d.indexOf(1 === c ? ':' : '{'),\n h = d.substring(0, 3 !== c ? e : 10);\n e = d.substring(e + 1, d.length - 1);\n return R(2 !== c ? h : h.replace(na, '$1'), e, c);\n }\n\n function ea(d, c) {\n var e = P(c, c.charCodeAt(0), c.charCodeAt(1), c.charCodeAt(2));\n return e !== c + ';' ? e.replace(oa, ' or ($1)').substring(4) : '(' + c + ')';\n }\n\n function H(d, c, e, h, a, m, b, v, n, q) {\n for (var g = 0, x = c, w; g < A; ++g) {\n switch (w = S[g].call(B, d, x, e, h, a, m, b, v, n, q)) {\n case void 0:\n case !1:\n case !0:\n case null:\n break;\n\n default:\n x = w;\n }\n }\n\n if (x !== c) return x;\n }\n\n function T(d) {\n switch (d) {\n case void 0:\n case null:\n A = S.length = 0;\n break;\n\n default:\n if ('function' === typeof d) S[A++] = d;else if ('object' === typeof d) for (var c = 0, e = d.length; c < e; ++c) {\n T(d[c]);\n } else Y = !!d | 0;\n }\n\n return T;\n }\n\n function U(d) {\n d = d.prefix;\n void 0 !== d && (R = null, d ? 'function' !== typeof d ? w = 1 : (w = 2, R = d) : w = 0);\n return U;\n }\n\n function B(d, c) {\n var e = d;\n 33 > e.charCodeAt(0) && (e = e.trim());\n V = e;\n e = [V];\n\n if (0 < A) {\n var h = H(-1, c, e, e, D, z, 0, 0, 0, 0);\n void 0 !== h && 'string' === typeof h && (c = h);\n }\n\n var a = M(O, e, c, 0, 0);\n 0 < A && (h = H(-2, a, e, e, D, z, a.length, 0, 0, 0), void 0 !== h && (a = h));\n V = '';\n E = 0;\n z = D = 1;\n return a;\n }\n\n var ca = /^\\0+/g,\n N = /[\\0\\r\\f]/g,\n aa = /: */g,\n ka = /zoo|gra/,\n ma = /([,: ])(transform)/g,\n ia = /,\\r+?/g,\n F = /([\\t\\r\\n ])*\\f?&/g,\n fa = /@(k\\w+)\\s*(\\S*)\\s*/,\n Q = /::(place)/g,\n ha = /:(read-only)/g,\n G = /[svh]\\w+-[tblr]{2}/,\n da = /\\(\\s*(.*)\\s*\\)/g,\n oa = /([\\s\\S]*?);/g,\n ba = /-self|flex-/g,\n na = /[^]*?(:[rp][el]a[\\w-]+)[^]*/,\n la = /stretch|:\\s*\\w+\\-(?:conte|avail)/,\n ja = /([^-])(image-set\\()/,\n z = 1,\n D = 1,\n E = 0,\n w = 1,\n O = [],\n S = [],\n A = 0,\n R = null,\n Y = 0,\n V = '';\n B.use = T;\n B.set = U;\n void 0 !== W && U(W);\n return B;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (stylis_min);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGVtb3Rpb24vc3R5bGlzL2Rpc3Qvc3R5bGlzLmJyb3dzZXIuZXNtLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BlbW90aW9uL3N0eWxpcy9kaXN0L3N0eWxpcy5icm93c2VyLmVzbS5qcz9kMzFkIl0sInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIHN0eWxpc19taW4gKFcpIHtcbiAgZnVuY3Rpb24gTShkLCBjLCBlLCBoLCBhKSB7XG4gICAgZm9yICh2YXIgbSA9IDAsIGIgPSAwLCB2ID0gMCwgbiA9IDAsIHEsIGcsIHggPSAwLCBLID0gMCwgaywgdSA9IGsgPSBxID0gMCwgbCA9IDAsIHIgPSAwLCBJID0gMCwgdCA9IDAsIEIgPSBlLmxlbmd0aCwgSiA9IEIgLSAxLCB5LCBmID0gJycsIHAgPSAnJywgRiA9ICcnLCBHID0gJycsIEM7IGwgPCBCOykge1xuICAgICAgZyA9IGUuY2hhckNvZGVBdChsKTtcbiAgICAgIGwgPT09IEogJiYgMCAhPT0gYiArIG4gKyB2ICsgbSAmJiAoMCAhPT0gYiAmJiAoZyA9IDQ3ID09PSBiID8gMTAgOiA0NyksIG4gPSB2ID0gbSA9IDAsIEIrKywgSisrKTtcblxuICAgICAgaWYgKDAgPT09IGIgKyBuICsgdiArIG0pIHtcbiAgICAgICAgaWYgKGwgPT09IEogJiYgKDAgPCByICYmIChmID0gZi5yZXBsYWNlKE4sICcnKSksIDAgPCBmLnRyaW0oKS5sZW5ndGgpKSB7XG4gICAgICAgICAgc3dpdGNoIChnKSB7XG4gICAgICAgICAgICBjYXNlIDMyOlxuICAgICAgICAgICAgY2FzZSA5OlxuICAgICAgICAgICAgY2FzZSA1OTpcbiAgICAgICAgICAgIGNhc2UgMTM6XG4gICAgICAgICAgICBjYXNlIDEwOlxuICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgZiArPSBlLmNoYXJBdChsKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBnID0gNTk7XG4gICAgICAgIH1cblxuICAgICAgICBzd2l0Y2ggKGcpIHtcbiAgICAgICAgICBjYXNlIDEyMzpcbiAgICAgICAgICAgIGYgPSBmLnRyaW0oKTtcbiAgICAgICAgICAgIHEgPSBmLmNoYXJDb2RlQXQoMCk7XG4gICAgICAgICAgICBrID0gMTtcblxuICAgICAgICAgICAgZm9yICh0ID0gKytsOyBsIDwgQjspIHtcbiAgICAgICAgICAgICAgc3dpdGNoIChnID0gZS5jaGFyQ29kZUF0KGwpKSB7XG4gICAgICAgICAgICAgICAgY2FzZSAxMjM6XG4gICAgICAgICAgICAgICAgICBrKys7XG4gICAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgICAgIGNhc2UgMTI1OlxuICAgICAgICAgICAgICAgICAgay0tO1xuICAgICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgICAgICBjYXNlIDQ3OlxuICAgICAgICAgICAgICAgICAgc3dpdGNoIChnID0gZS5jaGFyQ29kZUF0KGwgKyAxKSkge1xuICAgICAgICAgICAgICAgICAgICBjYXNlIDQyOlxuICAgICAgICAgICAgICAgICAgICBjYXNlIDQ3OlxuICAgICAgICAgICAgICAgICAgICAgIGE6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvciAodSA9IGwgKyAxOyB1IDwgSjsgKyt1KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHN3aXRjaCAoZS5jaGFyQ29kZUF0KHUpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSA0NzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICg0MiA9PT0gZyAmJiA0MiA9PT0gZS5jaGFyQ29kZUF0KHUgLSAxKSAmJiBsICsgMiAhPT0gdSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsID0gdSArIDE7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrIGE7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAxMDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICg0NyA9PT0gZykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsID0gdSArIDE7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrIGE7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICBsID0gdTtcbiAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgICAgICBjYXNlIDkxOlxuICAgICAgICAgICAgICAgICAgZysrO1xuXG4gICAgICAgICAgICAgICAgY2FzZSA0MDpcbiAgICAgICAgICAgICAgICAgIGcrKztcblxuICAgICAgICAgICAgICAgIGNhc2UgMzQ6XG4gICAgICAgICAgICAgICAgY2FzZSAzOTpcbiAgICAgICAgICAgICAgICAgIGZvciAoOyBsKysgPCBKICYmIGUuY2hhckNvZGVBdChsKSAhPT0gZzspIHtcbiAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgaWYgKDAgPT09IGspIGJyZWFrO1xuICAgICAgICAgICAgICBsKys7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGsgPSBlLnN1YnN0cmluZyh0LCBsKTtcbiAgICAgICAgICAgIDAgPT09IHEgJiYgKHEgPSAoZiA9IGYucmVwbGFjZShjYSwgJycpLnRyaW0oKSkuY2hhckNvZGVBdCgwKSk7XG5cbiAgICAgICAgICAgIHN3aXRjaCAocSkge1xuICAgICAgICAgICAgICBjYXNlIDY0OlxuICAgICAgICAgICAgICAgIDAgPCByICYmIChmID0gZi5yZXBsYWNlKE4sICcnKSk7XG4gICAgICAgICAgICAgICAgZyA9IGYuY2hhckNvZGVBdCgxKTtcblxuICAgICAgICAgICAgICAgIHN3aXRjaCAoZykge1xuICAgICAgICAgICAgICAgICAgY2FzZSAxMDA6XG4gICAgICAgICAgICAgICAgICBjYXNlIDEwOTpcbiAgICAgICAgICAgICAgICAgIGNhc2UgMTE1OlxuICAgICAgICAgICAgICAgICAgY2FzZSA0NTpcbiAgICAgICAgICAgICAgICAgICAgciA9IGM7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICByID0gTztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBrID0gTShjLCByLCBrLCBnLCBhICsgMSk7XG4gICAgICAgICAgICAgICAgdCA9IGsubGVuZ3RoO1xuICAgICAgICAgICAgICAgIDAgPCBBICYmIChyID0gWChPLCBmLCBJKSwgQyA9IEgoMywgaywgciwgYywgRCwgeiwgdCwgZywgYSwgaCksIGYgPSByLmpvaW4oJycpLCB2b2lkIDAgIT09IEMgJiYgMCA9PT0gKHQgPSAoayA9IEMudHJpbSgpKS5sZW5ndGgpICYmIChnID0gMCwgayA9ICcnKSk7XG4gICAgICAgICAgICAgICAgaWYgKDAgPCB0KSBzd2l0Y2ggKGcpIHtcbiAgICAgICAgICAgICAgICAgIGNhc2UgMTE1OlxuICAgICAgICAgICAgICAgICAgICBmID0gZi5yZXBsYWNlKGRhLCBlYSk7XG5cbiAgICAgICAgICAgICAgICAgIGNhc2UgMTAwOlxuICAgICAgICAgICAgICAgICAgY2FzZSAxMDk6XG4gICAgICAgICAgICAgICAgICBjYXNlIDQ1OlxuICAgICAgICAgICAgICAgICAgICBrID0gZiArICd7JyArIGsgKyAnfSc7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICAgICAgICBjYXNlIDEwNzpcbiAgICAgICAgICAgICAgICAgICAgZiA9IGYucmVwbGFjZShmYSwgJyQxICQyJyk7XG4gICAgICAgICAgICAgICAgICAgIGsgPSBmICsgJ3snICsgayArICd9JztcbiAgICAgICAgICAgICAgICAgICAgayA9IDEgPT09IHcgfHwgMiA9PT0gdyAmJiBMKCdAJyArIGssIDMpID8gJ0Atd2Via2l0LScgKyBrICsgJ0AnICsgayA6ICdAJyArIGs7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICBrID0gZiArIGssIDExMiA9PT0gaCAmJiAoayA9IChwICs9IGssICcnKSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGsgPSAnJztcbiAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIGsgPSBNKGMsIFgoYywgZiwgSSksIGssIGgsIGEgKyAxKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgRiArPSBrO1xuICAgICAgICAgICAgayA9IEkgPSByID0gdSA9IHEgPSAwO1xuICAgICAgICAgICAgZiA9ICcnO1xuICAgICAgICAgICAgZyA9IGUuY2hhckNvZGVBdCgrK2wpO1xuICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICBjYXNlIDEyNTpcbiAgICAgICAgICBjYXNlIDU5OlxuICAgICAgICAgICAgZiA9ICgwIDwgciA/IGYucmVwbGFjZShOLCAnJykgOiBmKS50cmltKCk7XG4gICAgICAgICAgICBpZiAoMSA8ICh0ID0gZi5sZW5ndGgpKSBzd2l0Y2ggKDAgPT09IHUgJiYgKHEgPSBmLmNoYXJDb2RlQXQoMCksIDQ1ID09PSBxIHx8IDk2IDwgcSAmJiAxMjMgPiBxKSAmJiAodCA9IChmID0gZi5yZXBsYWNlKCcgJywgJzonKSkubGVuZ3RoKSwgMCA8IEEgJiYgdm9pZCAwICE9PSAoQyA9IEgoMSwgZiwgYywgZCwgRCwgeiwgcC5sZW5ndGgsIGgsIGEsIGgpKSAmJiAwID09PSAodCA9IChmID0gQy50cmltKCkpLmxlbmd0aCkgJiYgKGYgPSAnXFx4MDBcXHgwMCcpLCBxID0gZi5jaGFyQ29kZUF0KDApLCBnID0gZi5jaGFyQ29kZUF0KDEpLCBxKSB7XG4gICAgICAgICAgICAgIGNhc2UgMDpcbiAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgICBjYXNlIDY0OlxuICAgICAgICAgICAgICAgIGlmICgxMDUgPT09IGcgfHwgOTkgPT09IGcpIHtcbiAgICAgICAgICAgICAgICAgIEcgKz0gZiArIGUuY2hhckF0KGwpO1xuICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgNTggIT09IGYuY2hhckNvZGVBdCh0IC0gMSkgJiYgKHAgKz0gUChmLCBxLCBnLCBmLmNoYXJDb2RlQXQoMikpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEkgPSByID0gdSA9IHEgPSAwO1xuICAgICAgICAgICAgZiA9ICcnO1xuICAgICAgICAgICAgZyA9IGUuY2hhckNvZGVBdCgrK2wpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHN3aXRjaCAoZykge1xuICAgICAgICBjYXNlIDEzOlxuICAgICAgICBjYXNlIDEwOlxuICAgICAgICAgIDQ3ID09PSBiID8gYiA9IDAgOiAwID09PSAxICsgcSAmJiAxMDcgIT09IGggJiYgMCA8IGYubGVuZ3RoICYmIChyID0gMSwgZiArPSAnXFx4MDAnKTtcbiAgICAgICAgICAwIDwgQSAqIFkgJiYgSCgwLCBmLCBjLCBkLCBELCB6LCBwLmxlbmd0aCwgaCwgYSwgaCk7XG4gICAgICAgICAgeiA9IDE7XG4gICAgICAgICAgRCsrO1xuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGNhc2UgNTk6XG4gICAgICAgIGNhc2UgMTI1OlxuICAgICAgICAgIGlmICgwID09PSBiICsgbiArIHYgKyBtKSB7XG4gICAgICAgICAgICB6Kys7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG5cbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICB6Kys7XG4gICAgICAgICAgeSA9IGUuY2hhckF0KGwpO1xuXG4gICAgICAgICAgc3dpdGNoIChnKSB7XG4gICAgICAgICAgICBjYXNlIDk6XG4gICAgICAgICAgICBjYXNlIDMyOlxuICAgICAgICAgICAgICBpZiAoMCA9PT0gbiArIG0gKyBiKSBzd2l0Y2ggKHgpIHtcbiAgICAgICAgICAgICAgICBjYXNlIDQ0OlxuICAgICAgICAgICAgICAgIGNhc2UgNTg6XG4gICAgICAgICAgICAgICAgY2FzZSA5OlxuICAgICAgICAgICAgICAgIGNhc2UgMzI6XG4gICAgICAgICAgICAgICAgICB5ID0gJyc7XG4gICAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAzMiAhPT0gZyAmJiAoeSA9ICcgJyk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGNhc2UgMDpcbiAgICAgICAgICAgICAgeSA9ICdcXFxcMCc7XG4gICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICBjYXNlIDEyOlxuICAgICAgICAgICAgICB5ID0gJ1xcXFxmJztcbiAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGNhc2UgMTE6XG4gICAgICAgICAgICAgIHkgPSAnXFxcXHYnO1xuICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgY2FzZSAzODpcbiAgICAgICAgICAgICAgMCA9PT0gbiArIGIgKyBtICYmIChyID0gSSA9IDEsIHkgPSAnXFxmJyArIHkpO1xuICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgY2FzZSAxMDg6XG4gICAgICAgICAgICAgIGlmICgwID09PSBuICsgYiArIG0gKyBFICYmIDAgPCB1KSBzd2l0Y2ggKGwgLSB1KSB7XG4gICAgICAgICAgICAgICAgY2FzZSAyOlxuICAgICAgICAgICAgICAgICAgMTEyID09PSB4ICYmIDU4ID09PSBlLmNoYXJDb2RlQXQobCAtIDMpICYmIChFID0geCk7XG5cbiAgICAgICAgICAgICAgICBjYXNlIDg6XG4gICAgICAgICAgICAgICAgICAxMTEgPT09IEsgJiYgKEUgPSBLKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgY2FzZSA1ODpcbiAgICAgICAgICAgICAgMCA9PT0gbiArIGIgKyBtICYmICh1ID0gbCk7XG4gICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICBjYXNlIDQ0OlxuICAgICAgICAgICAgICAwID09PSBiICsgdiArIG4gKyBtICYmIChyID0gMSwgeSArPSAnXFxyJyk7XG4gICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICBjYXNlIDM0OlxuICAgICAgICAgICAgY2FzZSAzOTpcbiAgICAgICAgICAgICAgMCA9PT0gYiAmJiAobiA9IG4gPT09IGcgPyAwIDogMCA9PT0gbiA/IGcgOiBuKTtcbiAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGNhc2UgOTE6XG4gICAgICAgICAgICAgIDAgPT09IG4gKyBiICsgdiAmJiBtKys7XG4gICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICBjYXNlIDkzOlxuICAgICAgICAgICAgICAwID09PSBuICsgYiArIHYgJiYgbS0tO1xuICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgY2FzZSA0MTpcbiAgICAgICAgICAgICAgMCA9PT0gbiArIGIgKyBtICYmIHYtLTtcbiAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGNhc2UgNDA6XG4gICAgICAgICAgICAgIGlmICgwID09PSBuICsgYiArIG0pIHtcbiAgICAgICAgICAgICAgICBpZiAoMCA9PT0gcSkgc3dpdGNoICgyICogeCArIDMgKiBLKSB7XG4gICAgICAgICAgICAgICAgICBjYXNlIDUzMzpcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgIHEgPSAxO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB2Kys7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgY2FzZSA2NDpcbiAgICAgICAgICAgICAgMCA9PT0gYiArIHYgKyBuICsgbSArIHUgKyBrICYmIChrID0gMSk7XG4gICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICBjYXNlIDQyOlxuICAgICAgICAgICAgY2FzZSA0NzpcbiAgICAgICAgICAgICAgaWYgKCEoMCA8IG4gKyBtICsgdikpIHN3aXRjaCAoYikge1xuICAgICAgICAgICAgICAgIGNhc2UgMDpcbiAgICAgICAgICAgICAgICAgIHN3aXRjaCAoMiAqIGcgKyAzICogZS5jaGFyQ29kZUF0KGwgKyAxKSkge1xuICAgICAgICAgICAgICAgICAgICBjYXNlIDIzNTpcbiAgICAgICAgICAgICAgICAgICAgICBiID0gNDc7XG4gICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgICAgICAgICAgY2FzZSAyMjA6XG4gICAgICAgICAgICAgICAgICAgICAgdCA9IGwsIGIgPSA0MjtcbiAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgICAgICBjYXNlIDQyOlxuICAgICAgICAgICAgICAgICAgNDcgPT09IGcgJiYgNDIgPT09IHggJiYgdCArIDIgIT09IGwgJiYgKDMzID09PSBlLmNoYXJDb2RlQXQodCArIDIpICYmIChwICs9IGUuc3Vic3RyaW5nKHQsIGwgKyAxKSksIHkgPSAnJywgYiA9IDApO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgMCA9PT0gYiAmJiAoZiArPSB5KTtcbiAgICAgIH1cblxuICAgICAgSyA9IHg7XG4gICAgICB4ID0gZztcbiAgICAgIGwrKztcbiAgICB9XG5cbiAgICB0ID0gcC5sZW5ndGg7XG5cbiAgICBpZiAoMCA8IHQpIHtcbiAgICAgIHIgPSBjO1xuICAgICAgaWYgKDAgPCBBICYmIChDID0gSCgyLCBwLCByLCBkLCBELCB6LCB0LCBoLCBhLCBoKSwgdm9pZCAwICE9PSBDICYmIDAgPT09IChwID0gQykubGVuZ3RoKSkgcmV0dXJuIEcgKyBwICsgRjtcbiAgICAgIHAgPSByLmpvaW4oJywnKSArICd7JyArIHAgKyAnfSc7XG5cbiAgICAgIGlmICgwICE9PSB3ICogRSkge1xuICAgICAgICAyICE9PSB3IHx8IEwocCwgMikgfHwgKEUgPSAwKTtcblxuICAgICAgICBzd2l0Y2ggKEUpIHtcbiAgICAgICAgICBjYXNlIDExMTpcbiAgICAgICAgICAgIHAgPSBwLnJlcGxhY2UoaGEsICc6LW1vei0kMScpICsgcDtcbiAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgY2FzZSAxMTI6XG4gICAgICAgICAgICBwID0gcC5yZXBsYWNlKFEsICc6Oi13ZWJraXQtaW5wdXQtJDEnKSArIHAucmVwbGFjZShRLCAnOjotbW96LSQxJykgKyBwLnJlcGxhY2UoUSwgJzotbXMtaW5wdXQtJDEnKSArIHA7XG4gICAgICAgIH1cblxuICAgICAgICBFID0gMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gRyArIHAgKyBGO1xuICB9XG5cbiAgZnVuY3Rpb24gWChkLCBjLCBlKSB7XG4gICAgdmFyIGggPSBjLnRyaW0oKS5zcGxpdChpYSk7XG4gICAgYyA9IGg7XG4gICAgdmFyIGEgPSBoLmxlbmd0aCxcbiAgICAgICAgbSA9IGQubGVuZ3RoO1xuXG4gICAgc3dpdGNoIChtKSB7XG4gICAgICBjYXNlIDA6XG4gICAgICBjYXNlIDE6XG4gICAgICAgIHZhciBiID0gMDtcblxuICAgICAgICBmb3IgKGQgPSAwID09PSBtID8gJycgOiBkWzBdICsgJyAnOyBiIDwgYTsgKytiKSB7XG4gICAgICAgICAgY1tiXSA9IFooZCwgY1tiXSwgZSkudHJpbSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHZhciB2ID0gYiA9IDA7XG5cbiAgICAgICAgZm9yIChjID0gW107IGIgPCBhOyArK2IpIHtcbiAgICAgICAgICBmb3IgKHZhciBuID0gMDsgbiA8IG07ICsrbikge1xuICAgICAgICAgICAgY1t2KytdID0gWihkW25dICsgJyAnLCBoW2JdLCBlKS50cmltKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICByZXR1cm4gYztcbiAgfVxuXG4gIGZ1bmN0aW9uIFooZCwgYywgZSkge1xuICAgIHZhciBoID0gYy5jaGFyQ29kZUF0KDApO1xuICAgIDMzID4gaCAmJiAoaCA9IChjID0gYy50cmltKCkpLmNoYXJDb2RlQXQoMCkpO1xuXG4gICAgc3dpdGNoIChoKSB7XG4gICAgICBjYXNlIDM4OlxuICAgICAgICByZXR1cm4gYy5yZXBsYWNlKEYsICckMScgKyBkLnRyaW0oKSk7XG5cbiAgICAgIGNhc2UgNTg6XG4gICAgICAgIHJldHVybiBkLnRyaW0oKSArIGMucmVwbGFjZShGLCAnJDEnICsgZC50cmltKCkpO1xuXG4gICAgICBkZWZhdWx0OlxuICAgICAgICBpZiAoMCA8IDEgKiBlICYmIDAgPCBjLmluZGV4T2YoJ1xcZicpKSByZXR1cm4gYy5yZXBsYWNlKEYsICg1OCA9PT0gZC5jaGFyQ29kZUF0KDApID8gJycgOiAnJDEnKSArIGQudHJpbSgpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZCArIGM7XG4gIH1cblxuICBmdW5jdGlvbiBQKGQsIGMsIGUsIGgpIHtcbiAgICB2YXIgYSA9IGQgKyAnOycsXG4gICAgICAgIG0gPSAyICogYyArIDMgKiBlICsgNCAqIGg7XG5cbiAgICBpZiAoOTQ0ID09PSBtKSB7XG4gICAgICBkID0gYS5pbmRleE9mKCc6JywgOSkgKyAxO1xuICAgICAgdmFyIGIgPSBhLnN1YnN0cmluZyhkLCBhLmxlbmd0aCAtIDEpLnRyaW0oKTtcbiAgICAgIGIgPSBhLnN1YnN0cmluZygwLCBkKS50cmltKCkgKyBiICsgJzsnO1xuICAgICAgcmV0dXJuIDEgPT09IHcgfHwgMiA9PT0gdyAmJiBMKGIsIDEpID8gJy13ZWJraXQtJyArIGIgKyBiIDogYjtcbiAgICB9XG5cbiAgICBpZiAoMCA9PT0gdyB8fCAyID09PSB3ICYmICFMKGEsIDEpKSByZXR1cm4gYTtcblxuICAgIHN3aXRjaCAobSkge1xuICAgICAgY2FzZSAxMDE1OlxuICAgICAgICByZXR1cm4gOTcgPT09IGEuY2hhckNvZGVBdCgxMCkgPyAnLXdlYmtpdC0nICsgYSArIGEgOiBhO1xuXG4gICAgICBjYXNlIDk1MTpcbiAgICAgICAgcmV0dXJuIDExNiA9PT0gYS5jaGFyQ29kZUF0KDMpID8gJy13ZWJraXQtJyArIGEgKyBhIDogYTtcblxuICAgICAgY2FzZSA5NjM6XG4gICAgICAgIHJldHVybiAxMTAgPT09IGEuY2hhckNvZGVBdCg1KSA/ICctd2Via2l0LScgKyBhICsgYSA6IGE7XG5cbiAgICAgIGNhc2UgMTAwOTpcbiAgICAgICAgaWYgKDEwMCAhPT0gYS5jaGFyQ29kZUF0KDQpKSBicmVhaztcblxuICAgICAgY2FzZSA5Njk6XG4gICAgICBjYXNlIDk0MjpcbiAgICAgICAgcmV0dXJuICctd2Via2l0LScgKyBhICsgYTtcblxuICAgICAgY2FzZSA5Nzg6XG4gICAgICAgIHJldHVybiAnLXdlYmtpdC0nICsgYSArICctbW96LScgKyBhICsgYTtcblxuICAgICAgY2FzZSAxMDE5OlxuICAgICAgY2FzZSA5ODM6XG4gICAgICAgIHJldHVybiAnLXdlYmtpdC0nICsgYSArICctbW96LScgKyBhICsgJy1tcy0nICsgYSArIGE7XG5cbiAgICAgIGNhc2UgODgzOlxuICAgICAgICBpZiAoNDUgPT09IGEuY2hhckNvZGVBdCg4KSkgcmV0dXJuICctd2Via2l0LScgKyBhICsgYTtcbiAgICAgICAgaWYgKDAgPCBhLmluZGV4T2YoJ2ltYWdlLXNldCgnLCAxMSkpIHJldHVybiBhLnJlcGxhY2UoamEsICckMS13ZWJraXQtJDInKSArIGE7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIDkzMjpcbiAgICAgICAgaWYgKDQ1ID09PSBhLmNoYXJDb2RlQXQoNCkpIHN3aXRjaCAoYS5jaGFyQ29kZUF0KDUpKSB7XG4gICAgICAgICAgY2FzZSAxMDM6XG4gICAgICAgICAgICByZXR1cm4gJy13ZWJraXQtYm94LScgKyBhLnJlcGxhY2UoJy1ncm93JywgJycpICsgJy13ZWJraXQtJyArIGEgKyAnLW1zLScgKyBhLnJlcGxhY2UoJ2dyb3cnLCAncG9zaXRpdmUnKSArIGE7XG5cbiAgICAgICAgICBjYXNlIDExNTpcbiAgICAgICAgICAgIHJldHVybiAnLXdlYmtpdC0nICsgYSArICctbXMtJyArIGEucmVwbGFjZSgnc2hyaW5rJywgJ25lZ2F0aXZlJykgKyBhO1xuXG4gICAgICAgICAgY2FzZSA5ODpcbiAgICAgICAgICAgIHJldHVybiAnLXdlYmtpdC0nICsgYSArICctbXMtJyArIGEucmVwbGFjZSgnYmFzaXMnLCAncHJlZmVycmVkLXNpemUnKSArIGE7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuICctd2Via2l0LScgKyBhICsgJy1tcy0nICsgYSArIGE7XG5cbiAgICAgIGNhc2UgOTY0OlxuICAgICAgICByZXR1cm4gJy13ZWJraXQtJyArIGEgKyAnLW1zLWZsZXgtJyArIGEgKyBhO1xuXG4gICAgICBjYXNlIDEwMjM6XG4gICAgICAgIGlmICg5OSAhPT0gYS5jaGFyQ29kZUF0KDgpKSBicmVhaztcbiAgICAgICAgYiA9IGEuc3Vic3RyaW5nKGEuaW5kZXhPZignOicsIDE1KSkucmVwbGFjZSgnZmxleC0nLCAnJykucmVwbGFjZSgnc3BhY2UtYmV0d2VlbicsICdqdXN0aWZ5Jyk7XG4gICAgICAgIHJldHVybiAnLXdlYmtpdC1ib3gtcGFjaycgKyBiICsgJy13ZWJraXQtJyArIGEgKyAnLW1zLWZsZXgtcGFjaycgKyBiICsgYTtcblxuICAgICAgY2FzZSAxMDA1OlxuICAgICAgICByZXR1cm4ga2EudGVzdChhKSA/IGEucmVwbGFjZShhYSwgJzotd2Via2l0LScpICsgYS5yZXBsYWNlKGFhLCAnOi1tb3otJykgKyBhIDogYTtcblxuICAgICAgY2FzZSAxZTM6XG4gICAgICAgIGIgPSBhLnN1YnN0cmluZygxMykudHJpbSgpO1xuICAgICAgICBjID0gYi5pbmRleE9mKCctJykgKyAxO1xuXG4gICAgICAgIHN3aXRjaCAoYi5jaGFyQ29kZUF0KDApICsgYi5jaGFyQ29kZUF0KGMpKSB7XG4gICAgICAgICAgY2FzZSAyMjY6XG4gICAgICAgICAgICBiID0gYS5yZXBsYWNlKEcsICd0YicpO1xuICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICBjYXNlIDIzMjpcbiAgICAgICAgICAgIGIgPSBhLnJlcGxhY2UoRywgJ3RiLXJsJyk7XG4gICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgIGNhc2UgMjIwOlxuICAgICAgICAgICAgYiA9IGEucmVwbGFjZShHLCAnbHInKTtcbiAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHJldHVybiBhO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuICctd2Via2l0LScgKyBhICsgJy1tcy0nICsgYiArIGE7XG5cbiAgICAgIGNhc2UgMTAxNzpcbiAgICAgICAgaWYgKC0xID09PSBhLmluZGV4T2YoJ3N0aWNreScsIDkpKSBicmVhaztcblxuICAgICAgY2FzZSA5NzU6XG4gICAgICAgIGMgPSAoYSA9IGQpLmxlbmd0aCAtIDEwO1xuICAgICAgICBiID0gKDMzID09PSBhLmNoYXJDb2RlQXQoYykgPyBhLnN1YnN0cmluZygwLCBjKSA6IGEpLnN1YnN0cmluZyhkLmluZGV4T2YoJzonLCA3KSArIDEpLnRyaW0oKTtcblxuICAgICAgICBzd2l0Y2ggKG0gPSBiLmNoYXJDb2RlQXQoMCkgKyAoYi5jaGFyQ29kZUF0KDcpIHwgMCkpIHtcbiAgICAgICAgICBjYXNlIDIwMzpcbiAgICAgICAgICAgIGlmICgxMTEgPiBiLmNoYXJDb2RlQXQoOCkpIGJyZWFrO1xuXG4gICAgICAgICAgY2FzZSAxMTU6XG4gICAgICAgICAgICBhID0gYS5yZXBsYWNlKGIsICctd2Via2l0LScgKyBiKSArICc7JyArIGE7XG4gICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgIGNhc2UgMjA3OlxuICAgICAgICAgIGNhc2UgMTAyOlxuICAgICAgICAgICAgYSA9IGEucmVwbGFjZShiLCAnLXdlYmtpdC0nICsgKDEwMiA8IG0gPyAnaW5saW5lLScgOiAnJykgKyAnYm94JykgKyAnOycgKyBhLnJlcGxhY2UoYiwgJy13ZWJraXQtJyArIGIpICsgJzsnICsgYS5yZXBsYWNlKGIsICctbXMtJyArIGIgKyAnYm94JykgKyAnOycgKyBhO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGEgKyAnOyc7XG5cbiAgICAgIGNhc2UgOTM4OlxuICAgICAgICBpZiAoNDUgPT09IGEuY2hhckNvZGVBdCg1KSkgc3dpdGNoIChhLmNoYXJDb2RlQXQoNikpIHtcbiAgICAgICAgICBjYXNlIDEwNTpcbiAgICAgICAgICAgIHJldHVybiBiID0gYS5yZXBsYWNlKCctaXRlbXMnLCAnJyksICctd2Via2l0LScgKyBhICsgJy13ZWJraXQtYm94LScgKyBiICsgJy1tcy1mbGV4LScgKyBiICsgYTtcblxuICAgICAgICAgIGNhc2UgMTE1OlxuICAgICAgICAgICAgcmV0dXJuICctd2Via2l0LScgKyBhICsgJy1tcy1mbGV4LWl0ZW0tJyArIGEucmVwbGFjZShiYSwgJycpICsgYTtcblxuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICByZXR1cm4gJy13ZWJraXQtJyArIGEgKyAnLW1zLWZsZXgtbGluZS1wYWNrJyArIGEucmVwbGFjZSgnYWxpZ24tY29udGVudCcsICcnKS5yZXBsYWNlKGJhLCAnJykgKyBhO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIDk3MzpcbiAgICAgIGNhc2UgOTg5OlxuICAgICAgICBpZiAoNDUgIT09IGEuY2hhckNvZGVBdCgzKSB8fCAxMjIgPT09IGEuY2hhckNvZGVBdCg0KSkgYnJlYWs7XG5cbiAgICAgIGNhc2UgOTMxOlxuICAgICAgY2FzZSA5NTM6XG4gICAgICAgIGlmICghMCA9PT0gbGEudGVzdChkKSkgcmV0dXJuIDExNSA9PT0gKGIgPSBkLnN1YnN0cmluZyhkLmluZGV4T2YoJzonKSArIDEpKS5jaGFyQ29kZUF0KDApID8gUChkLnJlcGxhY2UoJ3N0cmV0Y2gnLCAnZmlsbC1hdmFpbGFibGUnKSwgYywgZSwgaCkucmVwbGFjZSgnOmZpbGwtYXZhaWxhYmxlJywgJzpzdHJldGNoJykgOiBhLnJlcGxhY2UoYiwgJy13ZWJraXQtJyArIGIpICsgYS5yZXBsYWNlKGIsICctbW96LScgKyBiLnJlcGxhY2UoJ2ZpbGwtJywgJycpKSArIGE7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIDk2MjpcbiAgICAgICAgaWYgKGEgPSAnLXdlYmtpdC0nICsgYSArICgxMDIgPT09IGEuY2hhckNvZGVBdCg1KSA/ICctbXMtJyArIGEgOiAnJykgKyBhLCAyMTEgPT09IGUgKyBoICYmIDEwNSA9PT0gYS5jaGFyQ29kZUF0KDEzKSAmJiAwIDwgYS5pbmRleE9mKCd0cmFuc2Zvcm0nLCAxMCkpIHJldHVybiBhLnN1YnN0cmluZygwLCBhLmluZGV4T2YoJzsnLCAyNykgKyAxKS5yZXBsYWNlKG1hLCAnJDEtd2Via2l0LSQyJykgKyBhO1xuICAgIH1cblxuICAgIHJldHVybiBhO1xuICB9XG5cbiAgZnVuY3Rpb24gTChkLCBjKSB7XG4gICAgdmFyIGUgPSBkLmluZGV4T2YoMSA9PT0gYyA/ICc6JyA6ICd7JyksXG4gICAgICAgIGggPSBkLnN1YnN0cmluZygwLCAzICE9PSBjID8gZSA6IDEwKTtcbiAgICBlID0gZC5zdWJzdHJpbmcoZSArIDEsIGQubGVuZ3RoIC0gMSk7XG4gICAgcmV0dXJuIFIoMiAhPT0gYyA/IGggOiBoLnJlcGxhY2UobmEsICckMScpLCBlLCBjKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGVhKGQsIGMpIHtcbiAgICB2YXIgZSA9IFAoYywgYy5jaGFyQ29kZUF0KDApLCBjLmNoYXJDb2RlQXQoMSksIGMuY2hhckNvZGVBdCgyKSk7XG4gICAgcmV0dXJuIGUgIT09IGMgKyAnOycgPyBlLnJlcGxhY2Uob2EsICcgb3IgKCQxKScpLnN1YnN0cmluZyg0KSA6ICcoJyArIGMgKyAnKSc7XG4gIH1cblxuICBmdW5jdGlvbiBIKGQsIGMsIGUsIGgsIGEsIG0sIGIsIHYsIG4sIHEpIHtcbiAgICBmb3IgKHZhciBnID0gMCwgeCA9IGMsIHc7IGcgPCBBOyArK2cpIHtcbiAgICAgIHN3aXRjaCAodyA9IFNbZ10uY2FsbChCLCBkLCB4LCBlLCBoLCBhLCBtLCBiLCB2LCBuLCBxKSkge1xuICAgICAgICBjYXNlIHZvaWQgMDpcbiAgICAgICAgY2FzZSAhMTpcbiAgICAgICAgY2FzZSAhMDpcbiAgICAgICAgY2FzZSBudWxsOlxuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgeCA9IHc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHggIT09IGMpIHJldHVybiB4O1xuICB9XG5cbiAgZnVuY3Rpb24gVChkKSB7XG4gICAgc3dpdGNoIChkKSB7XG4gICAgICBjYXNlIHZvaWQgMDpcbiAgICAgIGNhc2UgbnVsbDpcbiAgICAgICAgQSA9IFMubGVuZ3RoID0gMDtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGlmICgnZnVuY3Rpb24nID09PSB0eXBlb2YgZCkgU1tBKytdID0gZDtlbHNlIGlmICgnb2JqZWN0JyA9PT0gdHlwZW9mIGQpIGZvciAodmFyIGMgPSAwLCBlID0gZC5sZW5ndGg7IGMgPCBlOyArK2MpIHtcbiAgICAgICAgICBUKGRbY10pO1xuICAgICAgICB9IGVsc2UgWSA9ICEhZCB8IDA7XG4gICAgfVxuXG4gICAgcmV0dXJuIFQ7XG4gIH1cblxuICBmdW5jdGlvbiBVKGQpIHtcbiAgICBkID0gZC5wcmVmaXg7XG4gICAgdm9pZCAwICE9PSBkICYmIChSID0gbnVsbCwgZCA/ICdmdW5jdGlvbicgIT09IHR5cGVvZiBkID8gdyA9IDEgOiAodyA9IDIsIFIgPSBkKSA6IHcgPSAwKTtcbiAgICByZXR1cm4gVTtcbiAgfVxuXG4gIGZ1bmN0aW9uIEIoZCwgYykge1xuICAgIHZhciBlID0gZDtcbiAgICAzMyA+IGUuY2hhckNvZGVBdCgwKSAmJiAoZSA9IGUudHJpbSgpKTtcbiAgICBWID0gZTtcbiAgICBlID0gW1ZdO1xuXG4gICAgaWYgKDAgPCBBKSB7XG4gICAgICB2YXIgaCA9IEgoLTEsIGMsIGUsIGUsIEQsIHosIDAsIDAsIDAsIDApO1xuICAgICAgdm9pZCAwICE9PSBoICYmICdzdHJpbmcnID09PSB0eXBlb2YgaCAmJiAoYyA9IGgpO1xuICAgIH1cblxuICAgIHZhciBhID0gTShPLCBlLCBjLCAwLCAwKTtcbiAgICAwIDwgQSAmJiAoaCA9IEgoLTIsIGEsIGUsIGUsIEQsIHosIGEubGVuZ3RoLCAwLCAwLCAwKSwgdm9pZCAwICE9PSBoICYmIChhID0gaCkpO1xuICAgIFYgPSAnJztcbiAgICBFID0gMDtcbiAgICB6ID0gRCA9IDE7XG4gICAgcmV0dXJuIGE7XG4gIH1cblxuICB2YXIgY2EgPSAvXlxcMCsvZyxcbiAgICAgIE4gPSAvW1xcMFxcclxcZl0vZyxcbiAgICAgIGFhID0gLzogKi9nLFxuICAgICAga2EgPSAvem9vfGdyYS8sXG4gICAgICBtYSA9IC8oWyw6IF0pKHRyYW5zZm9ybSkvZyxcbiAgICAgIGlhID0gLyxcXHIrPy9nLFxuICAgICAgRiA9IC8oW1xcdFxcclxcbiBdKSpcXGY/Ji9nLFxuICAgICAgZmEgPSAvQChrXFx3KylcXHMqKFxcUyopXFxzKi8sXG4gICAgICBRID0gLzo6KHBsYWNlKS9nLFxuICAgICAgaGEgPSAvOihyZWFkLW9ubHkpL2csXG4gICAgICBHID0gL1tzdmhdXFx3Ky1bdGJscl17Mn0vLFxuICAgICAgZGEgPSAvXFwoXFxzKiguKilcXHMqXFwpL2csXG4gICAgICBvYSA9IC8oW1xcc1xcU10qPyk7L2csXG4gICAgICBiYSA9IC8tc2VsZnxmbGV4LS9nLFxuICAgICAgbmEgPSAvW15dKj8oOltycF1bZWxdYVtcXHctXSspW15dKi8sXG4gICAgICBsYSA9IC9zdHJldGNofDpcXHMqXFx3K1xcLSg/OmNvbnRlfGF2YWlsKS8sXG4gICAgICBqYSA9IC8oW14tXSkoaW1hZ2Utc2V0XFwoKS8sXG4gICAgICB6ID0gMSxcbiAgICAgIEQgPSAxLFxuICAgICAgRSA9IDAsXG4gICAgICB3ID0gMSxcbiAgICAgIE8gPSBbXSxcbiAgICAgIFMgPSBbXSxcbiAgICAgIEEgPSAwLFxuICAgICAgUiA9IG51bGwsXG4gICAgICBZID0gMCxcbiAgICAgIFYgPSAnJztcbiAgQi51c2UgPSBUO1xuICBCLnNldCA9IFU7XG4gIHZvaWQgMCAhPT0gVyAmJiBVKFcpO1xuICByZXR1cm4gQjtcbn1cblxuZXhwb3J0IGRlZmF1bHQgc3R5bGlzX21pbjtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@emotion/stylis/dist/stylis.browser.esm.js\n"); /***/ }), /***/ "./node_modules/@emotion/unitless/dist/unitless.browser.esm.js": /*!*********************************************************************!*\ !*** ./node_modules/@emotion/unitless/dist/unitless.browser.esm.js ***! \*********************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\nvar unitlessKeys = {\n animationIterationCount: 1,\n borderImageOutset: 1,\n borderImageSlice: 1,\n borderImageWidth: 1,\n boxFlex: 1,\n boxFlexGroup: 1,\n boxOrdinalGroup: 1,\n columnCount: 1,\n columns: 1,\n flex: 1,\n flexGrow: 1,\n flexPositive: 1,\n flexShrink: 1,\n flexNegative: 1,\n flexOrder: 1,\n gridRow: 1,\n gridRowEnd: 1,\n gridRowSpan: 1,\n gridRowStart: 1,\n gridColumn: 1,\n gridColumnEnd: 1,\n gridColumnSpan: 1,\n gridColumnStart: 1,\n msGridRow: 1,\n msGridRowSpan: 1,\n msGridColumn: 1,\n msGridColumnSpan: 1,\n fontWeight: 1,\n lineHeight: 1,\n opacity: 1,\n order: 1,\n orphans: 1,\n tabSize: 1,\n widows: 1,\n zIndex: 1,\n zoom: 1,\n WebkitLineClamp: 1,\n // SVG-related properties\n fillOpacity: 1,\n floodOpacity: 1,\n stopOpacity: 1,\n strokeDasharray: 1,\n strokeDashoffset: 1,\n strokeMiterlimit: 1,\n strokeOpacity: 1,\n strokeWidth: 1\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (unitlessKeys);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGVtb3Rpb24vdW5pdGxlc3MvZGlzdC91bml0bGVzcy5icm93c2VyLmVzbS5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AZW1vdGlvbi91bml0bGVzcy9kaXN0L3VuaXRsZXNzLmJyb3dzZXIuZXNtLmpzPzMwNGUiXSwic291cmNlc0NvbnRlbnQiOlsidmFyIHVuaXRsZXNzS2V5cyA9IHtcbiAgYW5pbWF0aW9uSXRlcmF0aW9uQ291bnQ6IDEsXG4gIGJvcmRlckltYWdlT3V0c2V0OiAxLFxuICBib3JkZXJJbWFnZVNsaWNlOiAxLFxuICBib3JkZXJJbWFnZVdpZHRoOiAxLFxuICBib3hGbGV4OiAxLFxuICBib3hGbGV4R3JvdXA6IDEsXG4gIGJveE9yZGluYWxHcm91cDogMSxcbiAgY29sdW1uQ291bnQ6IDEsXG4gIGNvbHVtbnM6IDEsXG4gIGZsZXg6IDEsXG4gIGZsZXhHcm93OiAxLFxuICBmbGV4UG9zaXRpdmU6IDEsXG4gIGZsZXhTaHJpbms6IDEsXG4gIGZsZXhOZWdhdGl2ZTogMSxcbiAgZmxleE9yZGVyOiAxLFxuICBncmlkUm93OiAxLFxuICBncmlkUm93RW5kOiAxLFxuICBncmlkUm93U3BhbjogMSxcbiAgZ3JpZFJvd1N0YXJ0OiAxLFxuICBncmlkQ29sdW1uOiAxLFxuICBncmlkQ29sdW1uRW5kOiAxLFxuICBncmlkQ29sdW1uU3BhbjogMSxcbiAgZ3JpZENvbHVtblN0YXJ0OiAxLFxuICBtc0dyaWRSb3c6IDEsXG4gIG1zR3JpZFJvd1NwYW46IDEsXG4gIG1zR3JpZENvbHVtbjogMSxcbiAgbXNHcmlkQ29sdW1uU3BhbjogMSxcbiAgZm9udFdlaWdodDogMSxcbiAgbGluZUhlaWdodDogMSxcbiAgb3BhY2l0eTogMSxcbiAgb3JkZXI6IDEsXG4gIG9ycGhhbnM6IDEsXG4gIHRhYlNpemU6IDEsXG4gIHdpZG93czogMSxcbiAgekluZGV4OiAxLFxuICB6b29tOiAxLFxuICBXZWJraXRMaW5lQ2xhbXA6IDEsXG4gIC8vIFNWRy1yZWxhdGVkIHByb3BlcnRpZXNcbiAgZmlsbE9wYWNpdHk6IDEsXG4gIGZsb29kT3BhY2l0eTogMSxcbiAgc3RvcE9wYWNpdHk6IDEsXG4gIHN0cm9rZURhc2hhcnJheTogMSxcbiAgc3Ryb2tlRGFzaG9mZnNldDogMSxcbiAgc3Ryb2tlTWl0ZXJsaW1pdDogMSxcbiAgc3Ryb2tlT3BhY2l0eTogMSxcbiAgc3Ryb2tlV2lkdGg6IDFcbn07XG5cbmV4cG9ydCBkZWZhdWx0IHVuaXRsZXNzS2V5cztcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@emotion/unitless/dist/unitless.browser.esm.js\n"); /***/ }), /***/ "./node_modules/@emotion/utils/dist/utils.browser.esm.js": /*!***************************************************************!*\ !*** ./node_modules/@emotion/utils/dist/utils.browser.esm.js ***! \***************************************************************/ /*! exports provided: getRegisteredStyles, insertStyles */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getRegisteredStyles\", function() { return getRegisteredStyles; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"insertStyles\", function() { return insertStyles; });\nvar isBrowser = \"object\" !== 'undefined';\nfunction getRegisteredStyles(registered, registeredStyles, classNames) {\n var rawClassName = '';\n classNames.split(' ').forEach(function (className) {\n if (registered[className] !== undefined) {\n registeredStyles.push(registered[className]);\n } else {\n rawClassName += className + \" \";\n }\n });\n return rawClassName;\n}\nvar insertStyles = function insertStyles(cache, serialized, isStringTag) {\n var className = cache.key + \"-\" + serialized.name;\n\n if ( // we only need to add the styles to the registered cache if the\n // class name could be used further down\n // the tree but if it's a string tag, we know it won't\n // so we don't have to add it to registered cache.\n // this improves memory usage since we can avoid storing the whole style string\n (isStringTag === false || // we need to always store it if we're in compat mode and\n // in node since emotion-server relies on whether a style is in\n // the registered cache to know whether a style is global or not\n // also, note that this check will be dead code eliminated in the browser\n isBrowser === false && cache.compat !== undefined) && cache.registered[className] === undefined) {\n cache.registered[className] = serialized.styles;\n }\n\n if (cache.inserted[serialized.name] === undefined) {\n var current = serialized;\n\n do {\n var maybeStyles = cache.insert(\".\" + className, current, cache.sheet, true);\n\n current = current.next;\n } while (current !== undefined);\n }\n};\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGVtb3Rpb24vdXRpbHMvZGlzdC91dGlscy5icm93c2VyLmVzbS5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AZW1vdGlvbi91dGlscy9kaXN0L3V0aWxzLmJyb3dzZXIuZXNtLmpzPzQ4ODMiXSwic291cmNlc0NvbnRlbnQiOlsidmFyIGlzQnJvd3NlciA9IFwib2JqZWN0XCIgIT09ICd1bmRlZmluZWQnO1xuZnVuY3Rpb24gZ2V0UmVnaXN0ZXJlZFN0eWxlcyhyZWdpc3RlcmVkLCByZWdpc3RlcmVkU3R5bGVzLCBjbGFzc05hbWVzKSB7XG4gIHZhciByYXdDbGFzc05hbWUgPSAnJztcbiAgY2xhc3NOYW1lcy5zcGxpdCgnICcpLmZvckVhY2goZnVuY3Rpb24gKGNsYXNzTmFtZSkge1xuICAgIGlmIChyZWdpc3RlcmVkW2NsYXNzTmFtZV0gIT09IHVuZGVmaW5lZCkge1xuICAgICAgcmVnaXN0ZXJlZFN0eWxlcy5wdXNoKHJlZ2lzdGVyZWRbY2xhc3NOYW1lXSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJhd0NsYXNzTmFtZSArPSBjbGFzc05hbWUgKyBcIiBcIjtcbiAgICB9XG4gIH0pO1xuICByZXR1cm4gcmF3Q2xhc3NOYW1lO1xufVxudmFyIGluc2VydFN0eWxlcyA9IGZ1bmN0aW9uIGluc2VydFN0eWxlcyhjYWNoZSwgc2VyaWFsaXplZCwgaXNTdHJpbmdUYWcpIHtcbiAgdmFyIGNsYXNzTmFtZSA9IGNhY2hlLmtleSArIFwiLVwiICsgc2VyaWFsaXplZC5uYW1lO1xuXG4gIGlmICggLy8gd2Ugb25seSBuZWVkIHRvIGFkZCB0aGUgc3R5bGVzIHRvIHRoZSByZWdpc3RlcmVkIGNhY2hlIGlmIHRoZVxuICAvLyBjbGFzcyBuYW1lIGNvdWxkIGJlIHVzZWQgZnVydGhlciBkb3duXG4gIC8vIHRoZSB0cmVlIGJ1dCBpZiBpdCdzIGEgc3RyaW5nIHRhZywgd2Uga25vdyBpdCB3b24ndFxuICAvLyBzbyB3ZSBkb24ndCBoYXZlIHRvIGFkZCBpdCB0byByZWdpc3RlcmVkIGNhY2hlLlxuICAvLyB0aGlzIGltcHJvdmVzIG1lbW9yeSB1c2FnZSBzaW5jZSB3ZSBjYW4gYXZvaWQgc3RvcmluZyB0aGUgd2hvbGUgc3R5bGUgc3RyaW5nXG4gIChpc1N0cmluZ1RhZyA9PT0gZmFsc2UgfHwgLy8gd2UgbmVlZCB0byBhbHdheXMgc3RvcmUgaXQgaWYgd2UncmUgaW4gY29tcGF0IG1vZGUgYW5kXG4gIC8vIGluIG5vZGUgc2luY2UgZW1vdGlvbi1zZXJ2ZXIgcmVsaWVzIG9uIHdoZXRoZXIgYSBzdHlsZSBpcyBpblxuICAvLyB0aGUgcmVnaXN0ZXJlZCBjYWNoZSB0byBrbm93IHdoZXRoZXIgYSBzdHlsZSBpcyBnbG9iYWwgb3Igbm90XG4gIC8vIGFsc28sIG5vdGUgdGhhdCB0aGlzIGNoZWNrIHdpbGwgYmUgZGVhZCBjb2RlIGVsaW1pbmF0ZWQgaW4gdGhlIGJyb3dzZXJcbiAgaXNCcm93c2VyID09PSBmYWxzZSAmJiBjYWNoZS5jb21wYXQgIT09IHVuZGVmaW5lZCkgJiYgY2FjaGUucmVnaXN0ZXJlZFtjbGFzc05hbWVdID09PSB1bmRlZmluZWQpIHtcbiAgICBjYWNoZS5yZWdpc3RlcmVkW2NsYXNzTmFtZV0gPSBzZXJpYWxpemVkLnN0eWxlcztcbiAgfVxuXG4gIGlmIChjYWNoZS5pbnNlcnRlZFtzZXJpYWxpemVkLm5hbWVdID09PSB1bmRlZmluZWQpIHtcbiAgICB2YXIgY3VycmVudCA9IHNlcmlhbGl6ZWQ7XG5cbiAgICBkbyB7XG4gICAgICB2YXIgbWF5YmVTdHlsZXMgPSBjYWNoZS5pbnNlcnQoXCIuXCIgKyBjbGFzc05hbWUsIGN1cnJlbnQsIGNhY2hlLnNoZWV0LCB0cnVlKTtcblxuICAgICAgY3VycmVudCA9IGN1cnJlbnQubmV4dDtcbiAgICB9IHdoaWxlIChjdXJyZW50ICE9PSB1bmRlZmluZWQpO1xuICB9XG59O1xuXG5leHBvcnQgeyBnZXRSZWdpc3RlcmVkU3R5bGVzLCBpbnNlcnRTdHlsZXMgfTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@emotion/utils/dist/utils.browser.esm.js\n"); /***/ }), /***/ "./node_modules/@emotion/weak-memoize/dist/weak-memoize.browser.esm.js": /*!*****************************************************************************!*\ !*** ./node_modules/@emotion/weak-memoize/dist/weak-memoize.browser.esm.js ***! \*****************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\nvar weakMemoize = function weakMemoize(func) {\n // $FlowFixMe flow doesn't include all non-primitive types as allowed for weakmaps\n var cache = new WeakMap();\n return function (arg) {\n if (cache.has(arg)) {\n // $FlowFixMe\n return cache.get(arg);\n }\n\n var ret = func(arg);\n cache.set(arg, ret);\n return ret;\n };\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (weakMemoize);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGVtb3Rpb24vd2Vhay1tZW1vaXplL2Rpc3Qvd2Vhay1tZW1vaXplLmJyb3dzZXIuZXNtLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BlbW90aW9uL3dlYWstbWVtb2l6ZS9kaXN0L3dlYWstbWVtb2l6ZS5icm93c2VyLmVzbS5qcz84MTExIl0sInNvdXJjZXNDb250ZW50IjpbInZhciB3ZWFrTWVtb2l6ZSA9IGZ1bmN0aW9uIHdlYWtNZW1vaXplKGZ1bmMpIHtcbiAgLy8gJEZsb3dGaXhNZSBmbG93IGRvZXNuJ3QgaW5jbHVkZSBhbGwgbm9uLXByaW1pdGl2ZSB0eXBlcyBhcyBhbGxvd2VkIGZvciB3ZWFrbWFwc1xuICB2YXIgY2FjaGUgPSBuZXcgV2Vha01hcCgpO1xuICByZXR1cm4gZnVuY3Rpb24gKGFyZykge1xuICAgIGlmIChjYWNoZS5oYXMoYXJnKSkge1xuICAgICAgLy8gJEZsb3dGaXhNZVxuICAgICAgcmV0dXJuIGNhY2hlLmdldChhcmcpO1xuICAgIH1cblxuICAgIHZhciByZXQgPSBmdW5jKGFyZyk7XG4gICAgY2FjaGUuc2V0KGFyZywgcmV0KTtcbiAgICByZXR1cm4gcmV0O1xuICB9O1xufTtcblxuZXhwb3J0IGRlZmF1bHQgd2Vha01lbW9pemU7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@emotion/weak-memoize/dist/weak-memoize.browser.esm.js\n"); /***/ }), /***/ "./node_modules/@handsontable/react/dist/react-handsontable.js": /*!*********************************************************************!*\ !*** ./node_modules/@handsontable/react/dist/react-handsontable.js ***! \*********************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("/*!\n * (The MIT License)\n * \n * Copyright (c) Handsoncode sp. z o.o. \n * \n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * 'Software'), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n * \n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\n * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\n * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\n * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\n * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * \n * Version: 2.1.0 (built at Thu Dec 06 2018 13:01:27 GMT+0100 (CET))\n */\n(function (global, factory) {\n true ? factory(exports, __webpack_require__(/*! handsontable */ \"./node_modules/handsontable/dist/handsontable.js\"), __webpack_require__(/*! react */ \"./node_modules/react/index.js\")) :\nundefined;\n}(this, (function (exports,Handsontable,React) { 'use strict';\n\nHandsontable = Handsontable && Handsontable.hasOwnProperty('default') ? Handsontable['default'] : Handsontable;\nReact = React && React.hasOwnProperty('default') ? React['default'] : React;\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nvar inherits = function (subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\nvar possibleConstructorReturn = function (self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n};\n\nvar SettingsMapper = function () {\n function SettingsMapper() {\n classCallCheck(this, SettingsMapper);\n\n this.registeredHooks = Handsontable.hooks.getRegistered();\n }\n /**\r\n * Parse component settings into Handosntable-compatible settings.\r\n *\r\n * @param {Object} properties Object containing properties from the HotTable object.\r\n * @returns {Object} Handsontable-compatible settings object.\r\n */\n\n\n createClass(SettingsMapper, [{\n key: 'getSettings',\n value: function getSettings(properties) {\n var newSettings = {};\n if (properties.settings) {\n var settings = properties.settings;\n for (var key in settings) {\n if (settings.hasOwnProperty(key)) {\n newSettings[key] = settings[key];\n }\n }\n }\n for (var _key in properties) {\n if (_key !== 'settings' && properties.hasOwnProperty(_key)) {\n newSettings[_key] = properties[_key];\n }\n }\n return newSettings;\n }\n }]);\n return SettingsMapper;\n}();\n\nvar version=\"2.1.0\";\n\n/**\r\n * A Handsontable-ReactJS wrapper.\r\n *\r\n * To implement, use the `HotTable` tag with properties corresponding to Handsontable options.\r\n * For example:\r\n *\r\n * ```js\r\n * \r\n *\r\n * // is analogous to\r\n * let hot = new Handsontable(document.getElementById('hot'), {\r\n * data: dataObject,\r\n * contextMenu: true,\r\n * colHeaders: true,\r\n * width: 600\r\n * height: 300\r\n * });\r\n *\r\n * ```\r\n *\r\n * @class HotTable\r\n */\nvar HotTable = function (_React$Component) {\n inherits(HotTable, _React$Component);\n\n function HotTable() {\n classCallCheck(this, HotTable);\n\n /**\r\n * Reference to the `SettingsMapper` instance.\r\n *\r\n * @type {SettingsMapper}\r\n */\n var _this = possibleConstructorReturn(this, (HotTable.__proto__ || Object.getPrototypeOf(HotTable)).apply(this, arguments));\n\n _this.settingsMapper = new SettingsMapper();\n /**\r\n * The `id` of the main Handsontable DOM element.\r\n *\r\n * @type {String}\r\n */\n _this.id = null;\n /**\r\n * Reference to the Handsontable instance.\r\n *\r\n * @type {Object}\r\n */\n _this.hotInstance = null;\n /**\r\n * Reference to the main Handsontable DOM element.\r\n *\r\n * @type {HTMLElement}\r\n */\n _this.hotElementRef = null;\n return _this;\n }\n\n createClass(HotTable, [{\n key: 'setHotElementRef',\n\n /**\r\n * Set the reference to the main Handsontable DOM element.\r\n *\r\n * @param {HTMLElement} element The main Handsontable DOM element.\r\n */\n value: function setHotElementRef(element) {\n this.hotElementRef = element;\n }\n /**\r\n * Initialize Handsontable after the component has mounted.\r\n */\n\n }, {\n key: 'componentDidMount',\n value: function componentDidMount() {\n var newSettings = this.settingsMapper.getSettings(this.props);\n this.hotInstance = new Handsontable(this.hotElementRef, newSettings);\n }\n /**\r\n * Call the `updateHot` method and prevent the component from re-rendering the instance.\r\n *\r\n * @param {Object} nextProps\r\n * @param {Object} nextState\r\n * @returns {Boolean}\r\n */\n\n }, {\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate(nextProps, nextState) {\n this.updateHot(this.settingsMapper.getSettings(nextProps));\n return false;\n }\n /**\r\n * Destroy the Handsontable instance when the parent component unmounts.\r\n */\n\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n this.hotInstance.destroy();\n }\n /**\r\n * Render the table.\r\n */\n\n }, {\n key: 'render',\n value: function render() {\n this.id = this.props.id || 'hot-' + Math.random().toString(36).substring(5);\n this.className = this.props.className || '';\n this.style = this.props.style || {};\n return React.createElement(\"div\", { ref: this.setHotElementRef.bind(this), id: this.id, className: this.className, style: this.style });\n }\n /**\r\n * Call the `updateSettings` method for the Handsontable instance.\r\n *\r\n * @param {Object} newSettings The settings object.\r\n */\n\n }, {\n key: 'updateHot',\n value: function updateHot(newSettings) {\n this.hotInstance.updateSettings(newSettings, false);\n }\n }], [{\n key: 'version',\n get: function get$$1() {\n return version;\n }\n }]);\n return HotTable;\n}(React.Component);\n\nexports.HotTable = HotTable;\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\n})));\n//# sourceMappingURL=react-handsontable.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGhhbmRzb250YWJsZS9yZWFjdC9kaXN0L3JlYWN0LWhhbmRzb250YWJsZS5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AaGFuZHNvbnRhYmxlL3JlYWN0L2Rpc3QvcmVhY3QtaGFuZHNvbnRhYmxlLmpzP2QyODMiXSwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiAoVGhlIE1JVCBMaWNlbnNlKVxuICogXG4gKiBDb3B5cmlnaHQgKGMpIEhhbmRzb25jb2RlIHNwLiB6IG8uby4gPGhlbGxvQGhhbmRzb25jb2RlLm5ldD5cbiAqIFxuICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nXG4gKiBhIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGVcbiAqICdTb2Z0d2FyZScpLCB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmdcbiAqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCxcbiAqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0b1xuICogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvXG4gKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4gKiBcbiAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlXG4gKiBpbmNsdWRlZCBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbiAqIFxuICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICdBUyBJUycsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsXG4gKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0ZcbiAqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC5cbiAqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZXG4gKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULFxuICogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEVcbiAqIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLlxuICogXG4gKiBWZXJzaW9uOiAyLjEuMCAoYnVpbHQgYXQgVGh1IERlYyAwNiAyMDE4IDEzOjAxOjI3IEdNVCswMTAwIChDRVQpKVxuICovXG4oZnVuY3Rpb24gKGdsb2JhbCwgZmFjdG9yeSkge1xudHlwZW9mIGV4cG9ydHMgPT09ICdvYmplY3QnICYmIHR5cGVvZiBtb2R1bGUgIT09ICd1bmRlZmluZWQnID8gZmFjdG9yeShleHBvcnRzLCByZXF1aXJlKCdoYW5kc29udGFibGUnKSwgcmVxdWlyZSgncmVhY3QnKSkgOlxudHlwZW9mIGRlZmluZSA9PT0gJ2Z1bmN0aW9uJyAmJiBkZWZpbmUuYW1kID8gZGVmaW5lKFsnZXhwb3J0cycsICdoYW5kc29udGFibGUnLCAncmVhY3QnXSwgZmFjdG9yeSkgOlxuKGZhY3RvcnkoKGdsb2JhbC5IYW5kc29udGFibGUgPSBnbG9iYWwuSGFuZHNvbnRhYmxlIHx8IHt9LCBnbG9iYWwuSGFuZHNvbnRhYmxlLnJlYWN0ID0ge30pLGdsb2JhbC5IYW5kc29udGFibGUsZ2xvYmFsLlJlYWN0KSk7XG59KHRoaXMsIChmdW5jdGlvbiAoZXhwb3J0cyxIYW5kc29udGFibGUsUmVhY3QpIHsgJ3VzZSBzdHJpY3QnO1xuXG5IYW5kc29udGFibGUgPSBIYW5kc29udGFibGUgJiYgSGFuZHNvbnRhYmxlLmhhc093blByb3BlcnR5KCdkZWZhdWx0JykgPyBIYW5kc29udGFibGVbJ2RlZmF1bHQnXSA6IEhhbmRzb250YWJsZTtcblJlYWN0ID0gUmVhY3QgJiYgUmVhY3QuaGFzT3duUHJvcGVydHkoJ2RlZmF1bHQnKSA/IFJlYWN0WydkZWZhdWx0J10gOiBSZWFjdDtcblxudmFyIGNsYXNzQ2FsbENoZWNrID0gZnVuY3Rpb24gKGluc3RhbmNlLCBDb25zdHJ1Y3Rvcikge1xuICBpZiAoIShpbnN0YW5jZSBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIik7XG4gIH1cbn07XG5cbnZhciBjcmVhdGVDbGFzcyA9IGZ1bmN0aW9uICgpIHtcbiAgZnVuY3Rpb24gZGVmaW5lUHJvcGVydGllcyh0YXJnZXQsIHByb3BzKSB7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9wcy5sZW5ndGg7IGkrKykge1xuICAgICAgdmFyIGRlc2NyaXB0b3IgPSBwcm9wc1tpXTtcbiAgICAgIGRlc2NyaXB0b3IuZW51bWVyYWJsZSA9IGRlc2NyaXB0b3IuZW51bWVyYWJsZSB8fCBmYWxzZTtcbiAgICAgIGRlc2NyaXB0b3IuY29uZmlndXJhYmxlID0gdHJ1ZTtcbiAgICAgIGlmIChcInZhbHVlXCIgaW4gZGVzY3JpcHRvcikgZGVzY3JpcHRvci53cml0YWJsZSA9IHRydWU7XG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBkZXNjcmlwdG9yLmtleSwgZGVzY3JpcHRvcik7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGZ1bmN0aW9uIChDb25zdHJ1Y3RvciwgcHJvdG9Qcm9wcywgc3RhdGljUHJvcHMpIHtcbiAgICBpZiAocHJvdG9Qcm9wcykgZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvci5wcm90b3R5cGUsIHByb3RvUHJvcHMpO1xuICAgIGlmIChzdGF0aWNQcm9wcykgZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvciwgc3RhdGljUHJvcHMpO1xuICAgIHJldHVybiBDb25zdHJ1Y3RvcjtcbiAgfTtcbn0oKTtcblxudmFyIGluaGVyaXRzID0gZnVuY3Rpb24gKHN1YkNsYXNzLCBzdXBlckNsYXNzKSB7XG4gIGlmICh0eXBlb2Ygc3VwZXJDbGFzcyAhPT0gXCJmdW5jdGlvblwiICYmIHN1cGVyQ2xhc3MgIT09IG51bGwpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiU3VwZXIgZXhwcmVzc2lvbiBtdXN0IGVpdGhlciBiZSBudWxsIG9yIGEgZnVuY3Rpb24sIG5vdCBcIiArIHR5cGVvZiBzdXBlckNsYXNzKTtcbiAgfVxuXG4gIHN1YkNsYXNzLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoc3VwZXJDbGFzcyAmJiBzdXBlckNsYXNzLnByb3RvdHlwZSwge1xuICAgIGNvbnN0cnVjdG9yOiB7XG4gICAgICB2YWx1ZTogc3ViQ2xhc3MsXG4gICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcbiAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgY29uZmlndXJhYmxlOiB0cnVlXG4gICAgfVxuICB9KTtcbiAgaWYgKHN1cGVyQ2xhc3MpIE9iamVjdC5zZXRQcm90b3R5cGVPZiA/IE9iamVjdC5zZXRQcm90b3R5cGVPZihzdWJDbGFzcywgc3VwZXJDbGFzcykgOiBzdWJDbGFzcy5fX3Byb3RvX18gPSBzdXBlckNsYXNzO1xufTtcblxudmFyIHBvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4gPSBmdW5jdGlvbiAoc2VsZiwgY2FsbCkge1xuICBpZiAoIXNlbGYpIHtcbiAgICB0aHJvdyBuZXcgUmVmZXJlbmNlRXJyb3IoXCJ0aGlzIGhhc24ndCBiZWVuIGluaXRpYWxpc2VkIC0gc3VwZXIoKSBoYXNuJ3QgYmVlbiBjYWxsZWRcIik7XG4gIH1cblxuICByZXR1cm4gY2FsbCAmJiAodHlwZW9mIGNhbGwgPT09IFwib2JqZWN0XCIgfHwgdHlwZW9mIGNhbGwgPT09IFwiZnVuY3Rpb25cIikgPyBjYWxsIDogc2VsZjtcbn07XG5cbnZhciBTZXR0aW5nc01hcHBlciA9IGZ1bmN0aW9uICgpIHtcbiAgICBmdW5jdGlvbiBTZXR0aW5nc01hcHBlcigpIHtcbiAgICAgICAgY2xhc3NDYWxsQ2hlY2sodGhpcywgU2V0dGluZ3NNYXBwZXIpO1xuXG4gICAgICAgIHRoaXMucmVnaXN0ZXJlZEhvb2tzID0gSGFuZHNvbnRhYmxlLmhvb2tzLmdldFJlZ2lzdGVyZWQoKTtcbiAgICB9XG4gICAgLyoqXHJcbiAgICAgKiBQYXJzZSBjb21wb25lbnQgc2V0dGluZ3MgaW50byBIYW5kb3NudGFibGUtY29tcGF0aWJsZSBzZXR0aW5ncy5cclxuICAgICAqXHJcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gcHJvcGVydGllcyBPYmplY3QgY29udGFpbmluZyBwcm9wZXJ0aWVzIGZyb20gdGhlIEhvdFRhYmxlIG9iamVjdC5cclxuICAgICAqIEByZXR1cm5zIHtPYmplY3R9IEhhbmRzb250YWJsZS1jb21wYXRpYmxlIHNldHRpbmdzIG9iamVjdC5cclxuICAgICAqL1xuXG5cbiAgICBjcmVhdGVDbGFzcyhTZXR0aW5nc01hcHBlciwgW3tcbiAgICAgICAga2V5OiAnZ2V0U2V0dGluZ3MnLFxuICAgICAgICB2YWx1ZTogZnVuY3Rpb24gZ2V0U2V0dGluZ3MocHJvcGVydGllcykge1xuICAgICAgICAgICAgdmFyIG5ld1NldHRpbmdzID0ge307XG4gICAgICAgICAgICBpZiAocHJvcGVydGllcy5zZXR0aW5ncykge1xuICAgICAgICAgICAgICAgIHZhciBzZXR0aW5ncyA9IHByb3BlcnRpZXMuc2V0dGluZ3M7XG4gICAgICAgICAgICAgICAgZm9yICh2YXIga2V5IGluIHNldHRpbmdzKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChzZXR0aW5ncy5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBuZXdTZXR0aW5nc1trZXldID0gc2V0dGluZ3Nba2V5XTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGZvciAodmFyIF9rZXkgaW4gcHJvcGVydGllcykge1xuICAgICAgICAgICAgICAgIGlmIChfa2V5ICE9PSAnc2V0dGluZ3MnICYmIHByb3BlcnRpZXMuaGFzT3duUHJvcGVydHkoX2tleSkpIHtcbiAgICAgICAgICAgICAgICAgICAgbmV3U2V0dGluZ3NbX2tleV0gPSBwcm9wZXJ0aWVzW19rZXldO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBuZXdTZXR0aW5ncztcbiAgICAgICAgfVxuICAgIH1dKTtcbiAgICByZXR1cm4gU2V0dGluZ3NNYXBwZXI7XG59KCk7XG5cbnZhciB2ZXJzaW9uPVwiMi4xLjBcIjtcblxuLyoqXHJcbiAqIEEgSGFuZHNvbnRhYmxlLVJlYWN0SlMgd3JhcHBlci5cclxuICpcclxuICogVG8gaW1wbGVtZW50LCB1c2UgdGhlIGBIb3RUYWJsZWAgdGFnIHdpdGggcHJvcGVydGllcyBjb3JyZXNwb25kaW5nIHRvIEhhbmRzb250YWJsZSBvcHRpb25zLlxyXG4gKiBGb3IgZXhhbXBsZTpcclxuICpcclxuICogYGBganNcclxuICogPEhvdFRhYmxlIGlkPVwiaG90XCIgZGF0YT17ZGF0YU9iamVjdH0gY29udGV4dE1lbnU9e3RydWV9IGNvbEhlYWRlcnM9e3RydWV9IHdpZHRoPXs2MDB9IGhlaWdodD17MzAwfSBzdHJldGNoSD1cImFsbFwiIC8+XHJcbiAqXHJcbiAqIC8vIGlzIGFuYWxvZ291cyB0b1xyXG4gKiBsZXQgaG90ID0gbmV3IEhhbmRzb250YWJsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaG90JyksIHtcclxuICogICAgZGF0YTogZGF0YU9iamVjdCxcclxuICogICAgY29udGV4dE1lbnU6IHRydWUsXHJcbiAqICAgIGNvbEhlYWRlcnM6IHRydWUsXHJcbiAqICAgIHdpZHRoOiA2MDBcclxuICogICAgaGVpZ2h0OiAzMDBcclxuICogfSk7XHJcbiAqXHJcbiAqIGBgYFxyXG4gKlxyXG4gKiBAY2xhc3MgSG90VGFibGVcclxuICovXG52YXIgSG90VGFibGUgPSBmdW5jdGlvbiAoX1JlYWN0JENvbXBvbmVudCkge1xuICBpbmhlcml0cyhIb3RUYWJsZSwgX1JlYWN0JENvbXBvbmVudCk7XG5cbiAgZnVuY3Rpb24gSG90VGFibGUoKSB7XG4gICAgY2xhc3NDYWxsQ2hlY2sodGhpcywgSG90VGFibGUpO1xuXG4gICAgLyoqXHJcbiAgICAgKiBSZWZlcmVuY2UgdG8gdGhlIGBTZXR0aW5nc01hcHBlcmAgaW5zdGFuY2UuXHJcbiAgICAgKlxyXG4gICAgICogQHR5cGUge1NldHRpbmdzTWFwcGVyfVxyXG4gICAgICovXG4gICAgdmFyIF90aGlzID0gcG9zc2libGVDb25zdHJ1Y3RvclJldHVybih0aGlzLCAoSG90VGFibGUuX19wcm90b19fIHx8IE9iamVjdC5nZXRQcm90b3R5cGVPZihIb3RUYWJsZSkpLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykpO1xuXG4gICAgX3RoaXMuc2V0dGluZ3NNYXBwZXIgPSBuZXcgU2V0dGluZ3NNYXBwZXIoKTtcbiAgICAvKipcclxuICAgICAqIFRoZSBgaWRgIG9mIHRoZSBtYWluIEhhbmRzb250YWJsZSBET00gZWxlbWVudC5cclxuICAgICAqXHJcbiAgICAgKiBAdHlwZSB7U3RyaW5nfVxyXG4gICAgICovXG4gICAgX3RoaXMuaWQgPSBudWxsO1xuICAgIC8qKlxyXG4gICAgICogUmVmZXJlbmNlIHRvIHRoZSBIYW5kc29udGFibGUgaW5zdGFuY2UuXHJcbiAgICAgKlxyXG4gICAgICogQHR5cGUge09iamVjdH1cclxuICAgICAqL1xuICAgIF90aGlzLmhvdEluc3RhbmNlID0gbnVsbDtcbiAgICAvKipcclxuICAgICAqIFJlZmVyZW5jZSB0byB0aGUgbWFpbiBIYW5kc29udGFibGUgRE9NIGVsZW1lbnQuXHJcbiAgICAgKlxyXG4gICAgICogQHR5cGUge0hUTUxFbGVtZW50fVxyXG4gICAgICovXG4gICAgX3RoaXMuaG90RWxlbWVudFJlZiA9IG51bGw7XG4gICAgcmV0dXJuIF90aGlzO1xuICB9XG5cbiAgY3JlYXRlQ2xhc3MoSG90VGFibGUsIFt7XG4gICAga2V5OiAnc2V0SG90RWxlbWVudFJlZicsXG5cbiAgICAvKipcclxuICAgICAqIFNldCB0aGUgcmVmZXJlbmNlIHRvIHRoZSBtYWluIEhhbmRzb250YWJsZSBET00gZWxlbWVudC5cclxuICAgICAqXHJcbiAgICAgKiBAcGFyYW0ge0hUTUxFbGVtZW50fSBlbGVtZW50IFRoZSBtYWluIEhhbmRzb250YWJsZSBET00gZWxlbWVudC5cclxuICAgICAqL1xuICAgIHZhbHVlOiBmdW5jdGlvbiBzZXRIb3RFbGVtZW50UmVmKGVsZW1lbnQpIHtcbiAgICAgIHRoaXMuaG90RWxlbWVudFJlZiA9IGVsZW1lbnQ7XG4gICAgfVxuICAgIC8qKlxyXG4gICAgICogSW5pdGlhbGl6ZSBIYW5kc29udGFibGUgYWZ0ZXIgdGhlIGNvbXBvbmVudCBoYXMgbW91bnRlZC5cclxuICAgICAqL1xuXG4gIH0sIHtcbiAgICBrZXk6ICdjb21wb25lbnREaWRNb3VudCcsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgICAgdmFyIG5ld1NldHRpbmdzID0gdGhpcy5zZXR0aW5nc01hcHBlci5nZXRTZXR0aW5ncyh0aGlzLnByb3BzKTtcbiAgICAgIHRoaXMuaG90SW5zdGFuY2UgPSBuZXcgSGFuZHNvbnRhYmxlKHRoaXMuaG90RWxlbWVudFJlZiwgbmV3U2V0dGluZ3MpO1xuICAgIH1cbiAgICAvKipcclxuICAgICAqIENhbGwgdGhlIGB1cGRhdGVIb3RgIG1ldGhvZCBhbmQgcHJldmVudCB0aGUgY29tcG9uZW50IGZyb20gcmUtcmVuZGVyaW5nIHRoZSBpbnN0YW5jZS5cclxuICAgICAqXHJcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gbmV4dFByb3BzXHJcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gbmV4dFN0YXRlXHJcbiAgICAgKiBAcmV0dXJucyB7Qm9vbGVhbn1cclxuICAgICAqL1xuXG4gIH0sIHtcbiAgICBrZXk6ICdzaG91bGRDb21wb25lbnRVcGRhdGUnLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBzaG91bGRDb21wb25lbnRVcGRhdGUobmV4dFByb3BzLCBuZXh0U3RhdGUpIHtcbiAgICAgIHRoaXMudXBkYXRlSG90KHRoaXMuc2V0dGluZ3NNYXBwZXIuZ2V0U2V0dGluZ3MobmV4dFByb3BzKSk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIC8qKlxyXG4gICAgICogRGVzdHJveSB0aGUgSGFuZHNvbnRhYmxlIGluc3RhbmNlIHdoZW4gdGhlIHBhcmVudCBjb21wb25lbnQgdW5tb3VudHMuXHJcbiAgICAgKi9cblxuICB9LCB7XG4gICAga2V5OiAnY29tcG9uZW50V2lsbFVubW91bnQnLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBjb21wb25lbnRXaWxsVW5tb3VudCgpIHtcbiAgICAgIHRoaXMuaG90SW5zdGFuY2UuZGVzdHJveSgpO1xuICAgIH1cbiAgICAvKipcclxuICAgICAqIFJlbmRlciB0aGUgdGFibGUuXHJcbiAgICAgKi9cblxuICB9LCB7XG4gICAga2V5OiAncmVuZGVyJyxcbiAgICB2YWx1ZTogZnVuY3Rpb24gcmVuZGVyKCkge1xuICAgICAgdGhpcy5pZCA9IHRoaXMucHJvcHMuaWQgfHwgJ2hvdC0nICsgTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDUpO1xuICAgICAgdGhpcy5jbGFzc05hbWUgPSB0aGlzLnByb3BzLmNsYXNzTmFtZSB8fCAnJztcbiAgICAgIHRoaXMuc3R5bGUgPSB0aGlzLnByb3BzLnN0eWxlIHx8IHt9O1xuICAgICAgcmV0dXJuIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgeyByZWY6IHRoaXMuc2V0SG90RWxlbWVudFJlZi5iaW5kKHRoaXMpLCBpZDogdGhpcy5pZCwgY2xhc3NOYW1lOiB0aGlzLmNsYXNzTmFtZSwgc3R5bGU6IHRoaXMuc3R5bGUgfSk7XG4gICAgfVxuICAgIC8qKlxyXG4gICAgICogQ2FsbCB0aGUgYHVwZGF0ZVNldHRpbmdzYCBtZXRob2QgZm9yIHRoZSBIYW5kc29udGFibGUgaW5zdGFuY2UuXHJcbiAgICAgKlxyXG4gICAgICogQHBhcmFtIHtPYmplY3R9IG5ld1NldHRpbmdzIFRoZSBzZXR0aW5ncyBvYmplY3QuXHJcbiAgICAgKi9cblxuICB9LCB7XG4gICAga2V5OiAndXBkYXRlSG90JyxcbiAgICB2YWx1ZTogZnVuY3Rpb24gdXBkYXRlSG90KG5ld1NldHRpbmdzKSB7XG4gICAgICB0aGlzLmhvdEluc3RhbmNlLnVwZGF0ZVNldHRpbmdzKG5ld1NldHRpbmdzLCBmYWxzZSk7XG4gICAgfVxuICB9XSwgW3tcbiAgICBrZXk6ICd2ZXJzaW9uJyxcbiAgICBnZXQ6IGZ1bmN0aW9uIGdldCQkMSgpIHtcbiAgICAgIHJldHVybiB2ZXJzaW9uO1xuICAgIH1cbiAgfV0pO1xuICByZXR1cm4gSG90VGFibGU7XG59KFJlYWN0LkNvbXBvbmVudCk7XG5cbmV4cG9ydHMuSG90VGFibGUgPSBIb3RUYWJsZTtcblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcblxufSkpKTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXJlYWN0LWhhbmRzb250YWJsZS5qcy5tYXBcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@handsontable/react/dist/react-handsontable.js\n"); /***/ }), /***/ "./node_modules/a11y-focus-store/index.js": /*!************************************************!*\ !*** ./node_modules/a11y-focus-store/index.js ***! \************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; eval("\n\nvar storedFocusElement;\n\nexports.storeFocus = function() {\n storedFocusElement = document.activeElement;\n};\n\nexports.clearStoredFocus = function() {\n storedFocusElement = null;\n};\n\nexports.restoreFocus = function() {\n if (!storedFocusElement) return;\n try { storedFocusElement.focus(); } catch (err) {}\n storedFocusElement = null;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYTExeS1mb2N1cy1zdG9yZS9pbmRleC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9hMTF5LWZvY3VzLXN0b3JlL2luZGV4LmpzPzY2MjciXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG52YXIgc3RvcmVkRm9jdXNFbGVtZW50O1xuXG5leHBvcnRzLnN0b3JlRm9jdXMgPSBmdW5jdGlvbigpIHtcbiAgc3RvcmVkRm9jdXNFbGVtZW50ID0gZG9jdW1lbnQuYWN0aXZlRWxlbWVudDtcbn07XG5cbmV4cG9ydHMuY2xlYXJTdG9yZWRGb2N1cyA9IGZ1bmN0aW9uKCkge1xuICBzdG9yZWRGb2N1c0VsZW1lbnQgPSBudWxsO1xufTtcblxuZXhwb3J0cy5yZXN0b3JlRm9jdXMgPSBmdW5jdGlvbigpIHtcbiAgaWYgKCFzdG9yZWRGb2N1c0VsZW1lbnQpIHJldHVybjtcbiAgdHJ5IHsgc3RvcmVkRm9jdXNFbGVtZW50LmZvY3VzKCk7IH0gY2F0Y2ggKGVycikge31cbiAgc3RvcmVkRm9jdXNFbGVtZW50ID0gbnVsbDtcbn07XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/a11y-focus-store/index.js\n"); /***/ }), /***/ "./node_modules/after/index.js": /*!*************************************!*\ !*** ./node_modules/after/index.js ***! \*************************************/ /*! no static exports found */ /***/ (function(module, exports) { eval("module.exports = after\n\nfunction after(count, callback, err_cb) {\n var bail = false\n err_cb = err_cb || noop\n proxy.count = count\n\n return (count === 0) ? callback() : proxy\n\n function proxy(err, result) {\n if (proxy.count <= 0) {\n throw new Error('after called too many times')\n }\n --proxy.count\n\n // after first error, rest are passed to err_cb\n if (err) {\n bail = true\n callback(err)\n // future error callbacks will go to error handler\n callback = err_cb\n } else if (proxy.count === 0 && !bail) {\n callback(null, result)\n }\n }\n}\n\nfunction noop() {}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYWZ0ZXIvaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYWZ0ZXIvaW5kZXguanM/Y2NjMSJdLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IGFmdGVyXG5cbmZ1bmN0aW9uIGFmdGVyKGNvdW50LCBjYWxsYmFjaywgZXJyX2NiKSB7XG4gICAgdmFyIGJhaWwgPSBmYWxzZVxuICAgIGVycl9jYiA9IGVycl9jYiB8fCBub29wXG4gICAgcHJveHkuY291bnQgPSBjb3VudFxuXG4gICAgcmV0dXJuIChjb3VudCA9PT0gMCkgPyBjYWxsYmFjaygpIDogcHJveHlcblxuICAgIGZ1bmN0aW9uIHByb3h5KGVyciwgcmVzdWx0KSB7XG4gICAgICAgIGlmIChwcm94eS5jb3VudCA8PSAwKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2FmdGVyIGNhbGxlZCB0b28gbWFueSB0aW1lcycpXG4gICAgICAgIH1cbiAgICAgICAgLS1wcm94eS5jb3VudFxuXG4gICAgICAgIC8vIGFmdGVyIGZpcnN0IGVycm9yLCByZXN0IGFyZSBwYXNzZWQgdG8gZXJyX2NiXG4gICAgICAgIGlmIChlcnIpIHtcbiAgICAgICAgICAgIGJhaWwgPSB0cnVlXG4gICAgICAgICAgICBjYWxsYmFjayhlcnIpXG4gICAgICAgICAgICAvLyBmdXR1cmUgZXJyb3IgY2FsbGJhY2tzIHdpbGwgZ28gdG8gZXJyb3IgaGFuZGxlclxuICAgICAgICAgICAgY2FsbGJhY2sgPSBlcnJfY2JcbiAgICAgICAgfSBlbHNlIGlmIChwcm94eS5jb3VudCA9PT0gMCAmJiAhYmFpbCkge1xuICAgICAgICAgICAgY2FsbGJhY2sobnVsbCwgcmVzdWx0KVxuICAgICAgICB9XG4gICAgfVxufVxuXG5mdW5jdGlvbiBub29wKCkge31cbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/after/index.js\n"); /***/ }), /***/ "./node_modules/animation-bus/lib/animation-bus.js": /*!*********************************************************!*\ !*** ./node_modules/animation-bus/lib/animation-bus.js ***! \*********************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _polylinearScale = __webpack_require__(/*! ./polylinear-scale */ \"./node_modules/animation-bus/lib/polylinear-scale.js\");\n\nvar _polylinearScale2 = _interopRequireDefault(_polylinearScale);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar transformUnits = {\n perspective: 'px',\n rotate: 'deg',\n rotateX: 'deg',\n rotateY: 'deg',\n rotateZ: 'deg',\n scale: '',\n scaleX: '',\n scaleY: '',\n scaleZ: '',\n skew: 'deg',\n skewX: 'deg',\n skewY: 'deg',\n translateX: 'px',\n translateY: 'px',\n translateZ: 'px'\n};\nvar transformKeys = Object.keys(transformUnits);\n\nvar AnimationBus = function () {\n function AnimationBus(_ref) {\n var animations = _ref.animations,\n element = _ref.element,\n origin = _ref.origin;\n\n _classCallCheck(this, AnimationBus);\n\n this.animations = animations;\n this.element = element;\n this.origin = origin;\n }\n\n _createClass(AnimationBus, [{\n key: 'getStyles',\n value: function getStyles() {\n var element = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.element;\n\n var origin = this.origin(element);\n var transformValues = [];\n var styles = {};\n\n this.animations.forEach(function (animation) {\n var prop = animation.prop;\n var unit = animation.unit || transformUnits[prop] || '';\n var value = (0, _polylinearScale2.default)(animation.stops)(origin);\n\n if (transformKeys.indexOf(prop) > -1) {\n transformValues.push(prop + '(' + value + unit + ')');\n } else {\n styles[prop] = '' + value + unit;\n }\n });\n\n if (transformValues.length) {\n styles.transform = transformValues.join(' ');\n }\n\n return styles;\n }\n }, {\n key: 'applyStyles',\n value: function applyStyles() {\n var element = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.element;\n\n var styles = this.getStyles(element);\n Object.keys(styles).forEach(function (key) {\n return element.style[key] = styles[key];\n });\n }\n }]);\n\n return AnimationBus;\n}();\n\nexports.default = AnimationBus;\nmodule.exports = exports['default'];//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYW5pbWF0aW9uLWJ1cy9saWIvYW5pbWF0aW9uLWJ1cy5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9hbmltYXRpb24tYnVzL2xpYi9hbmltYXRpb24tYnVzLmpzP2E5MjQiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuXG52YXIgX2NyZWF0ZUNsYXNzID0gZnVuY3Rpb24gKCkgeyBmdW5jdGlvbiBkZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgcHJvcHMpIHsgZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9wcy5sZW5ndGg7IGkrKykgeyB2YXIgZGVzY3JpcHRvciA9IHByb3BzW2ldOyBkZXNjcmlwdG9yLmVudW1lcmFibGUgPSBkZXNjcmlwdG9yLmVudW1lcmFibGUgfHwgZmFsc2U7IGRlc2NyaXB0b3IuY29uZmlndXJhYmxlID0gdHJ1ZTsgaWYgKFwidmFsdWVcIiBpbiBkZXNjcmlwdG9yKSBkZXNjcmlwdG9yLndyaXRhYmxlID0gdHJ1ZTsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgZGVzY3JpcHRvci5rZXksIGRlc2NyaXB0b3IpOyB9IH0gcmV0dXJuIGZ1bmN0aW9uIChDb25zdHJ1Y3RvciwgcHJvdG9Qcm9wcywgc3RhdGljUHJvcHMpIHsgaWYgKHByb3RvUHJvcHMpIGRlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IucHJvdG90eXBlLCBwcm90b1Byb3BzKTsgaWYgKHN0YXRpY1Byb3BzKSBkZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLCBzdGF0aWNQcm9wcyk7IHJldHVybiBDb25zdHJ1Y3RvcjsgfTsgfSgpO1xuXG52YXIgX3BvbHlsaW5lYXJTY2FsZSA9IHJlcXVpcmUoJy4vcG9seWxpbmVhci1zY2FsZScpO1xuXG52YXIgX3BvbHlsaW5lYXJTY2FsZTIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9wb2x5bGluZWFyU2NhbGUpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG5mdW5jdGlvbiBfY2xhc3NDYWxsQ2hlY2soaW5zdGFuY2UsIENvbnN0cnVjdG9yKSB7IGlmICghKGluc3RhbmNlIGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIik7IH0gfVxuXG52YXIgdHJhbnNmb3JtVW5pdHMgPSB7XG4gIHBlcnNwZWN0aXZlOiAncHgnLFxuICByb3RhdGU6ICdkZWcnLFxuICByb3RhdGVYOiAnZGVnJyxcbiAgcm90YXRlWTogJ2RlZycsXG4gIHJvdGF0ZVo6ICdkZWcnLFxuICBzY2FsZTogJycsXG4gIHNjYWxlWDogJycsXG4gIHNjYWxlWTogJycsXG4gIHNjYWxlWjogJycsXG4gIHNrZXc6ICdkZWcnLFxuICBza2V3WDogJ2RlZycsXG4gIHNrZXdZOiAnZGVnJyxcbiAgdHJhbnNsYXRlWDogJ3B4JyxcbiAgdHJhbnNsYXRlWTogJ3B4JyxcbiAgdHJhbnNsYXRlWjogJ3B4J1xufTtcbnZhciB0cmFuc2Zvcm1LZXlzID0gT2JqZWN0LmtleXModHJhbnNmb3JtVW5pdHMpO1xuXG52YXIgQW5pbWF0aW9uQnVzID0gZnVuY3Rpb24gKCkge1xuICBmdW5jdGlvbiBBbmltYXRpb25CdXMoX3JlZikge1xuICAgIHZhciBhbmltYXRpb25zID0gX3JlZi5hbmltYXRpb25zLFxuICAgICAgICBlbGVtZW50ID0gX3JlZi5lbGVtZW50LFxuICAgICAgICBvcmlnaW4gPSBfcmVmLm9yaWdpbjtcblxuICAgIF9jbGFzc0NhbGxDaGVjayh0aGlzLCBBbmltYXRpb25CdXMpO1xuXG4gICAgdGhpcy5hbmltYXRpb25zID0gYW5pbWF0aW9ucztcbiAgICB0aGlzLmVsZW1lbnQgPSBlbGVtZW50O1xuICAgIHRoaXMub3JpZ2luID0gb3JpZ2luO1xuICB9XG5cbiAgX2NyZWF0ZUNsYXNzKEFuaW1hdGlvbkJ1cywgW3tcbiAgICBrZXk6ICdnZXRTdHlsZXMnLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBnZXRTdHlsZXMoKSB7XG4gICAgICB2YXIgZWxlbWVudCA9IGFyZ3VtZW50cy5sZW5ndGggPiAwICYmIGFyZ3VtZW50c1swXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzBdIDogdGhpcy5lbGVtZW50O1xuXG4gICAgICB2YXIgb3JpZ2luID0gdGhpcy5vcmlnaW4oZWxlbWVudCk7XG4gICAgICB2YXIgdHJhbnNmb3JtVmFsdWVzID0gW107XG4gICAgICB2YXIgc3R5bGVzID0ge307XG5cbiAgICAgIHRoaXMuYW5pbWF0aW9ucy5mb3JFYWNoKGZ1bmN0aW9uIChhbmltYXRpb24pIHtcbiAgICAgICAgdmFyIHByb3AgPSBhbmltYXRpb24ucHJvcDtcbiAgICAgICAgdmFyIHVuaXQgPSBhbmltYXRpb24udW5pdCB8fCB0cmFuc2Zvcm1Vbml0c1twcm9wXSB8fCAnJztcbiAgICAgICAgdmFyIHZhbHVlID0gKDAsIF9wb2x5bGluZWFyU2NhbGUyLmRlZmF1bHQpKGFuaW1hdGlvbi5zdG9wcykob3JpZ2luKTtcblxuICAgICAgICBpZiAodHJhbnNmb3JtS2V5cy5pbmRleE9mKHByb3ApID4gLTEpIHtcbiAgICAgICAgICB0cmFuc2Zvcm1WYWx1ZXMucHVzaChwcm9wICsgJygnICsgdmFsdWUgKyB1bml0ICsgJyknKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBzdHlsZXNbcHJvcF0gPSAnJyArIHZhbHVlICsgdW5pdDtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIGlmICh0cmFuc2Zvcm1WYWx1ZXMubGVuZ3RoKSB7XG4gICAgICAgIHN0eWxlcy50cmFuc2Zvcm0gPSB0cmFuc2Zvcm1WYWx1ZXMuam9pbignICcpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gc3R5bGVzO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogJ2FwcGx5U3R5bGVzJyxcbiAgICB2YWx1ZTogZnVuY3Rpb24gYXBwbHlTdHlsZXMoKSB7XG4gICAgICB2YXIgZWxlbWVudCA9IGFyZ3VtZW50cy5sZW5ndGggPiAwICYmIGFyZ3VtZW50c1swXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzBdIDogdGhpcy5lbGVtZW50O1xuXG4gICAgICB2YXIgc3R5bGVzID0gdGhpcy5nZXRTdHlsZXMoZWxlbWVudCk7XG4gICAgICBPYmplY3Qua2V5cyhzdHlsZXMpLmZvckVhY2goZnVuY3Rpb24gKGtleSkge1xuICAgICAgICByZXR1cm4gZWxlbWVudC5zdHlsZVtrZXldID0gc3R5bGVzW2tleV07XG4gICAgICB9KTtcbiAgICB9XG4gIH1dKTtcblxuICByZXR1cm4gQW5pbWF0aW9uQnVzO1xufSgpO1xuXG5leHBvcnRzLmRlZmF1bHQgPSBBbmltYXRpb25CdXM7XG5tb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHNbJ2RlZmF1bHQnXTsiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/animation-bus/lib/animation-bus.js\n"); /***/ }), /***/ "./node_modules/animation-bus/lib/piecewise.js": /*!*****************************************************!*\ !*** ./node_modules/animation-bus/lib/piecewise.js ***! \*****************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = piecewise;\nfunction piecewise(xs, ys) {\n return function (x) {\n // out of bounds\n if (x <= xs[0]) {\n return ys[0];\n } else if (x >= xs[xs.length - 1]) {\n return ys[xs.length - 1];\n }\n\n // bisect\n var lo = 0;\n var hi = xs.length - 1;\n\n while (hi - lo > 1) {\n var mid = lo + hi >> 1;\n if (x < xs[mid]) {\n hi = mid;\n } else {\n lo = mid;\n }\n }\n\n // project\n return ys[lo] + (ys[hi] - ys[lo]) / (xs[hi] - xs[lo]) * (x - xs[lo]);\n };\n}\nmodule.exports = exports[\"default\"];//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYW5pbWF0aW9uLWJ1cy9saWIvcGllY2V3aXNlLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2FuaW1hdGlvbi1idXMvbGliL3BpZWNld2lzZS5qcz8wMmNhIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuZXhwb3J0cy5kZWZhdWx0ID0gcGllY2V3aXNlO1xuZnVuY3Rpb24gcGllY2V3aXNlKHhzLCB5cykge1xuICByZXR1cm4gZnVuY3Rpb24gKHgpIHtcbiAgICAvLyBvdXQgb2YgYm91bmRzXG4gICAgaWYgKHggPD0geHNbMF0pIHtcbiAgICAgIHJldHVybiB5c1swXTtcbiAgICB9IGVsc2UgaWYgKHggPj0geHNbeHMubGVuZ3RoIC0gMV0pIHtcbiAgICAgIHJldHVybiB5c1t4cy5sZW5ndGggLSAxXTtcbiAgICB9XG5cbiAgICAvLyBiaXNlY3RcbiAgICB2YXIgbG8gPSAwO1xuICAgIHZhciBoaSA9IHhzLmxlbmd0aCAtIDE7XG5cbiAgICB3aGlsZSAoaGkgLSBsbyA+IDEpIHtcbiAgICAgIHZhciBtaWQgPSBsbyArIGhpID4+IDE7XG4gICAgICBpZiAoeCA8IHhzW21pZF0pIHtcbiAgICAgICAgaGkgPSBtaWQ7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBsbyA9IG1pZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBwcm9qZWN0XG4gICAgcmV0dXJuIHlzW2xvXSArICh5c1toaV0gLSB5c1tsb10pIC8gKHhzW2hpXSAtIHhzW2xvXSkgKiAoeCAtIHhzW2xvXSk7XG4gIH07XG59XG5tb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHNbXCJkZWZhdWx0XCJdOyJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/animation-bus/lib/piecewise.js\n"); /***/ }), /***/ "./node_modules/animation-bus/lib/polylinear-scale.js": /*!************************************************************!*\ !*** ./node_modules/animation-bus/lib/polylinear-scale.js ***! \************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { 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\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nexports.default = polylinearScale;\n\nvar _piecewise = __webpack_require__(/*! ./piecewise */ \"./node_modules/animation-bus/lib/piecewise.js\");\n\nvar _piecewise2 = _interopRequireDefault(_piecewise);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction polylinearScale(stops) {\n var xs = [];\n var ys_r = [];\n var ys_g = [];\n var ys_b = [];\n\n stops.forEach(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n domain = _ref2[0],\n range = _ref2[1];\n\n xs.push(domain);\n if (isNaN(range)) {\n ys_r.push(parseInt(range.substr(1, 2), 16));\n ys_g.push(parseInt(range.substr(3, 2), 16));\n ys_b.push(parseInt(range.substr(5, 2), 16));\n } else {\n ys_r.push(range);\n }\n });\n\n var pw_r = (0, _piecewise2.default)(xs, ys_r);\n\n if (ys_g.length && ys_b.length) {\n var _ret = function () {\n var pw_g = (0, _piecewise2.default)(xs, ys_g);\n var pw_b = (0, _piecewise2.default)(xs, ys_b);\n return {\n v: function v(x) {\n return 'rgb(' + Math.round(pw_r(x)) + ', ' + Math.round(pw_g(x)) + ', ' + Math.round(pw_b(x)) + ')';\n }\n };\n }();\n\n if ((typeof _ret === 'undefined' ? 'undefined' : _typeof(_ret)) === \"object\") return _ret.v;\n } else {\n return function (x) {\n return pw_r(x);\n };\n }\n}\nmodule.exports = exports['default'];//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYW5pbWF0aW9uLWJ1cy9saWIvcG9seWxpbmVhci1zY2FsZS5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9hbmltYXRpb24tYnVzL2xpYi9wb2x5bGluZWFyLXNjYWxlLmpzPzUzN2EiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuXG52YXIgX3R5cGVvZiA9IHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiB0eXBlb2YgU3ltYm9sLml0ZXJhdG9yID09PSBcInN5bWJvbFwiID8gZnVuY3Rpb24gKG9iaikgeyByZXR1cm4gdHlwZW9mIG9iajsgfSA6IGZ1bmN0aW9uIChvYmopIHsgcmV0dXJuIG9iaiAmJiB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgb2JqLmNvbnN0cnVjdG9yID09PSBTeW1ib2wgJiYgb2JqICE9PSBTeW1ib2wucHJvdG90eXBlID8gXCJzeW1ib2xcIiA6IHR5cGVvZiBvYmo7IH07XG5cbnZhciBfc2xpY2VkVG9BcnJheSA9IGZ1bmN0aW9uICgpIHsgZnVuY3Rpb24gc2xpY2VJdGVyYXRvcihhcnIsIGkpIHsgdmFyIF9hcnIgPSBbXTsgdmFyIF9uID0gdHJ1ZTsgdmFyIF9kID0gZmFsc2U7IHZhciBfZSA9IHVuZGVmaW5lZDsgdHJ5IHsgZm9yICh2YXIgX2kgPSBhcnJbU3ltYm9sLml0ZXJhdG9yXSgpLCBfczsgIShfbiA9IChfcyA9IF9pLm5leHQoKSkuZG9uZSk7IF9uID0gdHJ1ZSkgeyBfYXJyLnB1c2goX3MudmFsdWUpOyBpZiAoaSAmJiBfYXJyLmxlbmd0aCA9PT0gaSkgYnJlYWs7IH0gfSBjYXRjaCAoZXJyKSB7IF9kID0gdHJ1ZTsgX2UgPSBlcnI7IH0gZmluYWxseSB7IHRyeSB7IGlmICghX24gJiYgX2lbXCJyZXR1cm5cIl0pIF9pW1wicmV0dXJuXCJdKCk7IH0gZmluYWxseSB7IGlmIChfZCkgdGhyb3cgX2U7IH0gfSByZXR1cm4gX2FycjsgfSByZXR1cm4gZnVuY3Rpb24gKGFyciwgaSkgeyBpZiAoQXJyYXkuaXNBcnJheShhcnIpKSB7IHJldHVybiBhcnI7IH0gZWxzZSBpZiAoU3ltYm9sLml0ZXJhdG9yIGluIE9iamVjdChhcnIpKSB7IHJldHVybiBzbGljZUl0ZXJhdG9yKGFyciwgaSk7IH0gZWxzZSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJJbnZhbGlkIGF0dGVtcHQgdG8gZGVzdHJ1Y3R1cmUgbm9uLWl0ZXJhYmxlIGluc3RhbmNlXCIpOyB9IH07IH0oKTtcblxuZXhwb3J0cy5kZWZhdWx0ID0gcG9seWxpbmVhclNjYWxlO1xuXG52YXIgX3BpZWNld2lzZSA9IHJlcXVpcmUoJy4vcGllY2V3aXNlJyk7XG5cbnZhciBfcGllY2V3aXNlMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3BpZWNld2lzZSk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9OyB9XG5cbmZ1bmN0aW9uIHBvbHlsaW5lYXJTY2FsZShzdG9wcykge1xuICB2YXIgeHMgPSBbXTtcbiAgdmFyIHlzX3IgPSBbXTtcbiAgdmFyIHlzX2cgPSBbXTtcbiAgdmFyIHlzX2IgPSBbXTtcblxuICBzdG9wcy5mb3JFYWNoKGZ1bmN0aW9uIChfcmVmKSB7XG4gICAgdmFyIF9yZWYyID0gX3NsaWNlZFRvQXJyYXkoX3JlZiwgMiksXG4gICAgICAgIGRvbWFpbiA9IF9yZWYyWzBdLFxuICAgICAgICByYW5nZSA9IF9yZWYyWzFdO1xuXG4gICAgeHMucHVzaChkb21haW4pO1xuICAgIGlmIChpc05hTihyYW5nZSkpIHtcbiAgICAgIHlzX3IucHVzaChwYXJzZUludChyYW5nZS5zdWJzdHIoMSwgMiksIDE2KSk7XG4gICAgICB5c19nLnB1c2gocGFyc2VJbnQocmFuZ2Uuc3Vic3RyKDMsIDIpLCAxNikpO1xuICAgICAgeXNfYi5wdXNoKHBhcnNlSW50KHJhbmdlLnN1YnN0cig1LCAyKSwgMTYpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgeXNfci5wdXNoKHJhbmdlKTtcbiAgICB9XG4gIH0pO1xuXG4gIHZhciBwd19yID0gKDAsIF9waWVjZXdpc2UyLmRlZmF1bHQpKHhzLCB5c19yKTtcblxuICBpZiAoeXNfZy5sZW5ndGggJiYgeXNfYi5sZW5ndGgpIHtcbiAgICB2YXIgX3JldCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIHZhciBwd19nID0gKDAsIF9waWVjZXdpc2UyLmRlZmF1bHQpKHhzLCB5c19nKTtcbiAgICAgIHZhciBwd19iID0gKDAsIF9waWVjZXdpc2UyLmRlZmF1bHQpKHhzLCB5c19iKTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHY6IGZ1bmN0aW9uIHYoeCkge1xuICAgICAgICAgIHJldHVybiAncmdiKCcgKyBNYXRoLnJvdW5kKHB3X3IoeCkpICsgJywgJyArIE1hdGgucm91bmQocHdfZyh4KSkgKyAnLCAnICsgTWF0aC5yb3VuZChwd19iKHgpKSArICcpJztcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICB9KCk7XG5cbiAgICBpZiAoKHR5cGVvZiBfcmV0ID09PSAndW5kZWZpbmVkJyA/ICd1bmRlZmluZWQnIDogX3R5cGVvZihfcmV0KSkgPT09IFwib2JqZWN0XCIpIHJldHVybiBfcmV0LnY7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uICh4KSB7XG4gICAgICByZXR1cm4gcHdfcih4KTtcbiAgICB9O1xuICB9XG59XG5tb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHNbJ2RlZmF1bHQnXTsiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/animation-bus/lib/polylinear-scale.js\n"); /***/ }), /***/ "./node_modules/ansi-regex/index.js": /*!******************************************!*\ !*** ./node_modules/ansi-regex/index.js ***! \******************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; eval("\n\nmodule.exports = ({onlyFirst = false} = {}) => {\n\tconst pattern = [\n\t\t'[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:(?:(?:[a-zA-Z\\\\d]*(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]*)*)?\\\\u0007)',\n\t\t'(?:(?:\\\\d{1,4}(?:;\\\\d{0,4})*)?[\\\\dA-PR-TZcf-ntqry=><~]))'\n\t].join('|');\n\n\treturn new RegExp(pattern, onlyFirst ? undefined : 'g');\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYW5zaS1yZWdleC9pbmRleC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9hbnNpLXJlZ2V4L2luZGV4LmpzPzllZWUiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG5tb2R1bGUuZXhwb3J0cyA9ICh7b25seUZpcnN0ID0gZmFsc2V9ID0ge30pID0+IHtcblx0Y29uc3QgcGF0dGVybiA9IFtcblx0XHQnW1xcXFx1MDAxQlxcXFx1MDA5Ql1bW1xcXFxdKCkjOz9dKig/Oig/Oig/OlthLXpBLVpcXFxcZF0qKD86O1stYS16QS1aXFxcXGRcXFxcLyMmLjo9PyVAfl9dKikqKT9cXFxcdTAwMDcpJyxcblx0XHQnKD86KD86XFxcXGR7MSw0fSg/OjtcXFxcZHswLDR9KSopP1tcXFxcZEEtUFItVFpjZi1udHFyeT0+PH5dKSknXG5cdF0uam9pbignfCcpO1xuXG5cdHJldHVybiBuZXcgUmVnRXhwKHBhdHRlcm4sIG9ubHlGaXJzdCA/IHVuZGVmaW5lZCA6ICdnJyk7XG59O1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/ansi-regex/index.js\n"); /***/ }), /***/ "./node_modules/ansicolors/ansicolors.js": /*!***********************************************!*\ !*** ./node_modules/ansicolors/ansicolors.js ***! \***********************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; eval("// ColorCodes explained: http://www.termsys.demon.co.uk/vtansi.htm\n\n\nvar colorNums = {\n white : 37\n , black : 30\n , blue : 34\n , cyan : 36\n , green : 32\n , magenta : 35\n , red : 31\n , yellow : 33\n , brightBlack : 90\n , brightRed : 91\n , brightGreen : 92\n , brightYellow : 93\n , brightBlue : 94\n , brightMagenta : 95\n , brightCyan : 96\n , brightWhite : 97\n }\n , backgroundColorNums = {\n bgBlack : 40\n , bgRed : 41\n , bgGreen : 42\n , bgYellow : 43\n , bgBlue : 44\n , bgMagenta : 45\n , bgCyan : 46\n , bgWhite : 47\n , bgBrightBlack : 100\n , bgBrightRed : 101\n , bgBrightGreen : 102\n , bgBrightYellow : 103\n , bgBrightBlue : 104\n , bgBrightMagenta : 105\n , bgBrightCyan : 106\n , bgBrightWhite : 107\n } \n , colors = {};\n\n\nObject.keys(colorNums).forEach(function (k) {\n colors[k] = function (s) { \n return '\\u001b[' + colorNums[k] + 'm' + s + '\\u001b[39m';\n };\n});\n\nObject.keys(backgroundColorNums).forEach(function (k) {\n colors[k] = function (s) { \n return '\\u001b[' + backgroundColorNums[k] + 'm' + s + '\\u001b[49m';\n };\n});\n\nmodule.exports = colors;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYW5zaWNvbG9ycy9hbnNpY29sb3JzLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Fuc2ljb2xvcnMvYW5zaWNvbG9ycy5qcz9iYjg0Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIENvbG9yQ29kZXMgZXhwbGFpbmVkOiBodHRwOi8vd3d3LnRlcm1zeXMuZGVtb24uY28udWsvdnRhbnNpLmh0bVxuJ3VzZSBzdHJpY3QnO1xuXG52YXIgY29sb3JOdW1zID0ge1xuICAgICAgd2hpdGUgICAgICAgICA6ICAzN1xuICAgICwgYmxhY2sgICAgICAgICA6ICAzMFxuICAgICwgYmx1ZSAgICAgICAgICA6ICAzNFxuICAgICwgY3lhbiAgICAgICAgICA6ICAzNlxuICAgICwgZ3JlZW4gICAgICAgICA6ICAzMlxuICAgICwgbWFnZW50YSAgICAgICA6ICAzNVxuICAgICwgcmVkICAgICAgICAgICA6ICAzMVxuICAgICwgeWVsbG93ICAgICAgICA6ICAzM1xuICAgICwgYnJpZ2h0QmxhY2sgICA6ICA5MFxuICAgICwgYnJpZ2h0UmVkICAgICA6ICA5MVxuICAgICwgYnJpZ2h0R3JlZW4gICA6ICA5MlxuICAgICwgYnJpZ2h0WWVsbG93ICA6ICA5M1xuICAgICwgYnJpZ2h0Qmx1ZSAgICA6ICA5NFxuICAgICwgYnJpZ2h0TWFnZW50YSA6ICA5NVxuICAgICwgYnJpZ2h0Q3lhbiAgICA6ICA5NlxuICAgICwgYnJpZ2h0V2hpdGUgICA6ICA5N1xuICAgIH1cbiAgLCBiYWNrZ3JvdW5kQ29sb3JOdW1zID0ge1xuICAgICAgYmdCbGFjayAgICAgICAgIDogIDQwXG4gICAgLCBiZ1JlZCAgICAgICAgICAgOiAgNDFcbiAgICAsIGJnR3JlZW4gICAgICAgICA6ICA0MlxuICAgICwgYmdZZWxsb3cgICAgICAgIDogIDQzXG4gICAgLCBiZ0JsdWUgICAgICAgICAgOiAgNDRcbiAgICAsIGJnTWFnZW50YSAgICAgICA6ICA0NVxuICAgICwgYmdDeWFuICAgICAgICAgIDogIDQ2XG4gICAgLCBiZ1doaXRlICAgICAgICAgOiAgNDdcbiAgICAsIGJnQnJpZ2h0QmxhY2sgICA6ICAxMDBcbiAgICAsIGJnQnJpZ2h0UmVkICAgICA6ICAxMDFcbiAgICAsIGJnQnJpZ2h0R3JlZW4gICA6ICAxMDJcbiAgICAsIGJnQnJpZ2h0WWVsbG93ICA6ICAxMDNcbiAgICAsIGJnQnJpZ2h0Qmx1ZSAgICA6ICAxMDRcbiAgICAsIGJnQnJpZ2h0TWFnZW50YSA6ICAxMDVcbiAgICAsIGJnQnJpZ2h0Q3lhbiAgICA6ICAxMDZcbiAgICAsIGJnQnJpZ2h0V2hpdGUgICA6ICAxMDdcbiAgICB9IFxuICAsIGNvbG9ycyA9IHt9O1xuXG5cbk9iamVjdC5rZXlzKGNvbG9yTnVtcykuZm9yRWFjaChmdW5jdGlvbiAoaykge1xuICBjb2xvcnNba10gPSBmdW5jdGlvbiAocykgeyBcbiAgICByZXR1cm4gJ1xcdTAwMWJbJyArIGNvbG9yTnVtc1trXSArICdtJyArIHMgKyAnXFx1MDAxYlszOW0nO1xuICB9O1xufSk7XG5cbk9iamVjdC5rZXlzKGJhY2tncm91bmRDb2xvck51bXMpLmZvckVhY2goZnVuY3Rpb24gKGspIHtcbiAgY29sb3JzW2tdID0gZnVuY3Rpb24gKHMpIHsgXG4gICAgcmV0dXJuICdcXHUwMDFiWycgKyBiYWNrZ3JvdW5kQ29sb3JOdW1zW2tdICsgJ20nICsgcyArICdcXHUwMDFiWzQ5bSc7XG4gIH07XG59KTtcblxubW9kdWxlLmV4cG9ydHMgPSBjb2xvcnM7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/ansicolors/ansicolors.js\n"); /***/ }), /***/ "./node_modules/ansistyles/ansistyles.js": /*!***********************************************!*\ !*** ./node_modules/ansistyles/ansistyles.js ***! \***********************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; eval("\n\n/*\n * Info: http://www.termsys.demon.co.uk/vtansi.htm#colors \n * Following caveats\n * bright - brightens the color (bold-blue is same as brigthtBlue)\n * dim - nothing on Mac or Linux\n * italic - nothing on Mac or Linux\n * underline - underlines string\n * blink - nothing on Mac or linux\n * inverse - background becomes foreground and vice versa\n *\n * In summary, the only styles that work are:\n * - bright, underline and inverse\n * - the others are only included for completeness\n */\n\nvar styleNums = {\n reset : [0, 22]\n , bright : [1, 22]\n , dim : [2, 22]\n , italic : [3, 23]\n , underline : [4, 24]\n , blink : [5, 25]\n , inverse : [7, 27]\n }\n , styles = {}\n ;\n\nObject.keys(styleNums).forEach(function (k) {\n styles[k] = function (s) { \n var open = styleNums[k][0]\n , close = styleNums[k][1];\n return '\\u001b[' + open + 'm' + s + '\\u001b[' + close + 'm';\n };\n});\n\nmodule.exports = styles;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYW5zaXN0eWxlcy9hbnNpc3R5bGVzLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Fuc2lzdHlsZXMvYW5zaXN0eWxlcy5qcz8zNThlIl0sInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxuLypcbiAqIEluZm86IGh0dHA6Ly93d3cudGVybXN5cy5kZW1vbi5jby51ay92dGFuc2kuaHRtI2NvbG9ycyBcbiAqIEZvbGxvd2luZyBjYXZlYXRzXG4gKiBicmlnaHQgICAgLSBicmlnaHRlbnMgdGhlIGNvbG9yIChib2xkLWJsdWUgaXMgc2FtZSBhcyBicmlndGh0Qmx1ZSlcbiAqIGRpbSAgICAgICAtIG5vdGhpbmcgb24gTWFjIG9yIExpbnV4XG4gKiBpdGFsaWMgICAgLSBub3RoaW5nIG9uIE1hYyBvciBMaW51eFxuICogdW5kZXJsaW5lIC0gdW5kZXJsaW5lcyBzdHJpbmdcbiAqIGJsaW5rICAgICAtIG5vdGhpbmcgb24gTWFjIG9yIGxpbnV4XG4gKiBpbnZlcnNlICAgLSBiYWNrZ3JvdW5kIGJlY29tZXMgZm9yZWdyb3VuZCBhbmQgdmljZSB2ZXJzYVxuICpcbiAqIEluIHN1bW1hcnksIHRoZSBvbmx5IHN0eWxlcyB0aGF0IHdvcmsgYXJlOlxuICogIC0gYnJpZ2h0LCB1bmRlcmxpbmUgYW5kIGludmVyc2VcbiAqICAtIHRoZSBvdGhlcnMgYXJlIG9ubHkgaW5jbHVkZWQgZm9yIGNvbXBsZXRlbmVzc1xuICovXG5cbnZhciBzdHlsZU51bXMgPSB7XG4gICAgcmVzZXQgICAgIDogIFswLCAyMl1cbiAgLCBicmlnaHQgICAgOiAgWzEsIDIyXVxuICAsIGRpbSAgICAgICA6ICBbMiwgMjJdXG4gICwgaXRhbGljICAgIDogIFszLCAyM11cbiAgLCB1bmRlcmxpbmUgOiAgWzQsIDI0XVxuICAsIGJsaW5rICAgICA6ICBbNSwgMjVdXG4gICwgaW52ZXJzZSAgIDogIFs3LCAyN11cbiAgfVxuICAsIHN0eWxlcyA9IHt9XG4gIDtcblxuT2JqZWN0LmtleXMoc3R5bGVOdW1zKS5mb3JFYWNoKGZ1bmN0aW9uIChrKSB7XG4gIHN0eWxlc1trXSA9IGZ1bmN0aW9uIChzKSB7IFxuICAgIHZhciBvcGVuID0gc3R5bGVOdW1zW2tdWzBdXG4gICAgICAsIGNsb3NlID0gc3R5bGVOdW1zW2tdWzFdO1xuICAgIHJldHVybiAnXFx1MDAxYlsnICsgb3BlbiArICdtJyArIHMgKyAnXFx1MDAxYlsnICsgY2xvc2UgKyAnbSc7XG4gIH07XG59KTtcblxubW9kdWxlLmV4cG9ydHMgPSBzdHlsZXM7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/ansistyles/ansistyles.js\n"); /***/ }), /***/ "./node_modules/arraybuffer.slice/index.js": /*!*************************************************!*\ !*** ./node_modules/arraybuffer.slice/index.js ***! \*************************************************/ /*! no static exports found */ /***/ (function(module, exports) { eval("/**\n * An abstraction for slicing an arraybuffer even when\n * ArrayBuffer.prototype.slice is not supported\n *\n * @api public\n */\n\nmodule.exports = function(arraybuffer, start, end) {\n var bytes = arraybuffer.byteLength;\n start = start || 0;\n end = end || bytes;\n\n if (arraybuffer.slice) { return arraybuffer.slice(start, end); }\n\n if (start < 0) { start += bytes; }\n if (end < 0) { end += bytes; }\n if (end > bytes) { end = bytes; }\n\n if (start >= bytes || start >= end || bytes === 0) {\n return new ArrayBuffer(0);\n }\n\n var abv = new Uint8Array(arraybuffer);\n var result = new Uint8Array(end - start);\n for (var i = start, ii = 0; i < end; i++, ii++) {\n result[ii] = abv[i];\n }\n return result.buffer;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYXJyYXlidWZmZXIuc2xpY2UvaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYXJyYXlidWZmZXIuc2xpY2UvaW5kZXguanM/Y2E5OSJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEFuIGFic3RyYWN0aW9uIGZvciBzbGljaW5nIGFuIGFycmF5YnVmZmVyIGV2ZW4gd2hlblxuICogQXJyYXlCdWZmZXIucHJvdG90eXBlLnNsaWNlIGlzIG5vdCBzdXBwb3J0ZWRcbiAqXG4gKiBAYXBpIHB1YmxpY1xuICovXG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24oYXJyYXlidWZmZXIsIHN0YXJ0LCBlbmQpIHtcbiAgdmFyIGJ5dGVzID0gYXJyYXlidWZmZXIuYnl0ZUxlbmd0aDtcbiAgc3RhcnQgPSBzdGFydCB8fCAwO1xuICBlbmQgPSBlbmQgfHwgYnl0ZXM7XG5cbiAgaWYgKGFycmF5YnVmZmVyLnNsaWNlKSB7IHJldHVybiBhcnJheWJ1ZmZlci5zbGljZShzdGFydCwgZW5kKTsgfVxuXG4gIGlmIChzdGFydCA8IDApIHsgc3RhcnQgKz0gYnl0ZXM7IH1cbiAgaWYgKGVuZCA8IDApIHsgZW5kICs9IGJ5dGVzOyB9XG4gIGlmIChlbmQgPiBieXRlcykgeyBlbmQgPSBieXRlczsgfVxuXG4gIGlmIChzdGFydCA+PSBieXRlcyB8fCBzdGFydCA+PSBlbmQgfHwgYnl0ZXMgPT09IDApIHtcbiAgICByZXR1cm4gbmV3IEFycmF5QnVmZmVyKDApO1xuICB9XG5cbiAgdmFyIGFidiA9IG5ldyBVaW50OEFycmF5KGFycmF5YnVmZmVyKTtcbiAgdmFyIHJlc3VsdCA9IG5ldyBVaW50OEFycmF5KGVuZCAtIHN0YXJ0KTtcbiAgZm9yICh2YXIgaSA9IHN0YXJ0LCBpaSA9IDA7IGkgPCBlbmQ7IGkrKywgaWkrKykge1xuICAgIHJlc3VsdFtpaV0gPSBhYnZbaV07XG4gIH1cbiAgcmV0dXJuIHJlc3VsdC5idWZmZXI7XG59O1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/arraybuffer.slice/index.js\n"); /***/ }), /***/ "./node_modules/async-canvas-to-blob/index.js": /*!****************************************************!*\ !*** ./node_modules/async-canvas-to-blob/index.js ***! \****************************************************/ /*! no static exports found */ /***/ (function(module, exports) { eval("module.exports = function(canvas) {\n return new Promise(function(resolve) {\n canvas.toBlob(resolve);\n });\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYXN5bmMtY2FudmFzLXRvLWJsb2IvaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYXN5bmMtY2FudmFzLXRvLWJsb2IvaW5kZXguanM/YzkyYSJdLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uKGNhbnZhcykge1xuICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkge1xuICAgIGNhbnZhcy50b0Jsb2IocmVzb2x2ZSk7XG4gIH0pO1xufTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/async-canvas-to-blob/index.js\n"); /***/ }), /***/ "./node_modules/attr-accept/dist/es/index.js": /*!***************************************************!*\ !*** ./node_modules/attr-accept/dist/es/index.js ***! \***************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; eval("\n\nexports.__esModule = true;\n\nexports.default = function (file, acceptedFiles) {\n if (file && acceptedFiles) {\n var acceptedFilesArray = Array.isArray(acceptedFiles) ? acceptedFiles : acceptedFiles.split(',');\n var fileName = file.name || '';\n var mimeType = (file.type || '').toLowerCase();\n var baseMimeType = mimeType.replace(/\\/.*$/, '');\n return acceptedFilesArray.some(function (type) {\n var validType = type.trim().toLowerCase();\n\n if (validType.charAt(0) === '.') {\n return fileName.toLowerCase().endsWith(validType);\n } else if (validType.endsWith('/*')) {\n // This is something like a image/* mime type\n return baseMimeType === validType.replace(/\\/.*$/, '');\n }\n\n return mimeType === validType;\n });\n }\n\n return true;\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYXR0ci1hY2NlcHQvZGlzdC9lcy9pbmRleC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9hdHRyLWFjY2VwdC9kaXN0L2VzL2luZGV4LmpzPzVmNTAiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydHMuX19lc01vZHVsZSA9IHRydWU7XG5cbmV4cG9ydHMuZGVmYXVsdCA9IGZ1bmN0aW9uIChmaWxlLCBhY2NlcHRlZEZpbGVzKSB7XG4gIGlmIChmaWxlICYmIGFjY2VwdGVkRmlsZXMpIHtcbiAgICB2YXIgYWNjZXB0ZWRGaWxlc0FycmF5ID0gQXJyYXkuaXNBcnJheShhY2NlcHRlZEZpbGVzKSA/IGFjY2VwdGVkRmlsZXMgOiBhY2NlcHRlZEZpbGVzLnNwbGl0KCcsJyk7XG4gICAgdmFyIGZpbGVOYW1lID0gZmlsZS5uYW1lIHx8ICcnO1xuICAgIHZhciBtaW1lVHlwZSA9IChmaWxlLnR5cGUgfHwgJycpLnRvTG93ZXJDYXNlKCk7XG4gICAgdmFyIGJhc2VNaW1lVHlwZSA9IG1pbWVUeXBlLnJlcGxhY2UoL1xcLy4qJC8sICcnKTtcbiAgICByZXR1cm4gYWNjZXB0ZWRGaWxlc0FycmF5LnNvbWUoZnVuY3Rpb24gKHR5cGUpIHtcbiAgICAgIHZhciB2YWxpZFR5cGUgPSB0eXBlLnRyaW0oKS50b0xvd2VyQ2FzZSgpO1xuXG4gICAgICBpZiAodmFsaWRUeXBlLmNoYXJBdCgwKSA9PT0gJy4nKSB7XG4gICAgICAgIHJldHVybiBmaWxlTmFtZS50b0xvd2VyQ2FzZSgpLmVuZHNXaXRoKHZhbGlkVHlwZSk7XG4gICAgICB9IGVsc2UgaWYgKHZhbGlkVHlwZS5lbmRzV2l0aCgnLyonKSkge1xuICAgICAgICAvLyBUaGlzIGlzIHNvbWV0aGluZyBsaWtlIGEgaW1hZ2UvKiBtaW1lIHR5cGVcbiAgICAgICAgcmV0dXJuIGJhc2VNaW1lVHlwZSA9PT0gdmFsaWRUeXBlLnJlcGxhY2UoL1xcLy4qJC8sICcnKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG1pbWVUeXBlID09PSB2YWxpZFR5cGU7XG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gdHJ1ZTtcbn07Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/attr-accept/dist/es/index.js\n"); /***/ }), /***/ "./node_modules/axios/index.js": /*!*************************************!*\ !*** ./node_modules/axios/index.js ***! \*************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("module.exports = __webpack_require__(/*! ./lib/axios */ \"./node_modules/axios/lib/axios.js\");//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYXhpb3MvaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYXhpb3MvaW5kZXguanM/YmMzYSJdLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4vbGliL2F4aW9zJyk7Il0sIm1hcHBpbmdzIjoiQUFBQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/axios/index.js\n"); /***/ }), /***/ "./node_modules/axios/lib/adapters/xhr.js": /*!************************************************!*\ !*** ./node_modules/axios/lib/adapters/xhr.js ***! \************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; eval("\n\nvar utils = __webpack_require__(/*! ./../utils */ \"./node_modules/axios/lib/utils.js\");\nvar settle = __webpack_require__(/*! ./../core/settle */ \"./node_modules/axios/lib/core/settle.js\");\nvar cookies = __webpack_require__(/*! ./../helpers/cookies */ \"./node_modules/axios/lib/helpers/cookies.js\");\nvar buildURL = __webpack_require__(/*! ./../helpers/buildURL */ \"./node_modules/axios/lib/helpers/buildURL.js\");\nvar buildFullPath = __webpack_require__(/*! ../core/buildFullPath */ \"./node_modules/axios/lib/core/buildFullPath.js\");\nvar parseHeaders = __webpack_require__(/*! ./../helpers/parseHeaders */ \"./node_modules/axios/lib/helpers/parseHeaders.js\");\nvar isURLSameOrigin = __webpack_require__(/*! ./../helpers/isURLSameOrigin */ \"./node_modules/axios/lib/helpers/isURLSameOrigin.js\");\nvar createError = __webpack_require__(/*! ../core/createError */ \"./node_modules/axios/lib/core/createError.js\");\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n var fullPath = buildFullPath(config.baseURL, config.url);\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n // Listen for ready state\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(resolve, reject, response);\n\n // Clean up request\n request = null;\n };\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(createError('Request aborted', config, 'ECONNABORTED', request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(createError('Network Error', config, null, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n var timeoutErrorMessage = 'timeout of ' + config.timeout + 'ms exceeded';\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(createError(timeoutErrorMessage, config, 'ECONNABORTED',\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (config.responseType) {\n try {\n request.responseType = config.responseType;\n } catch (e) {\n // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2.\n // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function.\n if (config.responseType !== 'json') {\n throw e;\n }\n }\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken) {\n // Handle cancellation\n config.cancelToken.promise.then(function onCanceled(cancel) {\n if (!request) {\n return;\n }\n\n request.abort();\n reject(cancel);\n // Clean up request\n request = null;\n });\n }\n\n if (!requestData) {\n requestData = null;\n }\n\n // Send the request\n request.send(requestData);\n });\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2FkYXB0ZXJzL3hoci5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9heGlvcy9saWIvYWRhcHRlcnMveGhyLmpzP2I1MGQiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG52YXIgdXRpbHMgPSByZXF1aXJlKCcuLy4uL3V0aWxzJyk7XG52YXIgc2V0dGxlID0gcmVxdWlyZSgnLi8uLi9jb3JlL3NldHRsZScpO1xudmFyIGNvb2tpZXMgPSByZXF1aXJlKCcuLy4uL2hlbHBlcnMvY29va2llcycpO1xudmFyIGJ1aWxkVVJMID0gcmVxdWlyZSgnLi8uLi9oZWxwZXJzL2J1aWxkVVJMJyk7XG52YXIgYnVpbGRGdWxsUGF0aCA9IHJlcXVpcmUoJy4uL2NvcmUvYnVpbGRGdWxsUGF0aCcpO1xudmFyIHBhcnNlSGVhZGVycyA9IHJlcXVpcmUoJy4vLi4vaGVscGVycy9wYXJzZUhlYWRlcnMnKTtcbnZhciBpc1VSTFNhbWVPcmlnaW4gPSByZXF1aXJlKCcuLy4uL2hlbHBlcnMvaXNVUkxTYW1lT3JpZ2luJyk7XG52YXIgY3JlYXRlRXJyb3IgPSByZXF1aXJlKCcuLi9jb3JlL2NyZWF0ZUVycm9yJyk7XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24geGhyQWRhcHRlcihjb25maWcpIHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIGRpc3BhdGNoWGhyUmVxdWVzdChyZXNvbHZlLCByZWplY3QpIHtcbiAgICB2YXIgcmVxdWVzdERhdGEgPSBjb25maWcuZGF0YTtcbiAgICB2YXIgcmVxdWVzdEhlYWRlcnMgPSBjb25maWcuaGVhZGVycztcblxuICAgIGlmICh1dGlscy5pc0Zvcm1EYXRhKHJlcXVlc3REYXRhKSkge1xuICAgICAgZGVsZXRlIHJlcXVlc3RIZWFkZXJzWydDb250ZW50LVR5cGUnXTsgLy8gTGV0IHRoZSBicm93c2VyIHNldCBpdFxuICAgIH1cblxuICAgIHZhciByZXF1ZXN0ID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7XG5cbiAgICAvLyBIVFRQIGJhc2ljIGF1dGhlbnRpY2F0aW9uXG4gICAgaWYgKGNvbmZpZy5hdXRoKSB7XG4gICAgICB2YXIgdXNlcm5hbWUgPSBjb25maWcuYXV0aC51c2VybmFtZSB8fCAnJztcbiAgICAgIHZhciBwYXNzd29yZCA9IGNvbmZpZy5hdXRoLnBhc3N3b3JkID8gdW5lc2NhcGUoZW5jb2RlVVJJQ29tcG9uZW50KGNvbmZpZy5hdXRoLnBhc3N3b3JkKSkgOiAnJztcbiAgICAgIHJlcXVlc3RIZWFkZXJzLkF1dGhvcml6YXRpb24gPSAnQmFzaWMgJyArIGJ0b2EodXNlcm5hbWUgKyAnOicgKyBwYXNzd29yZCk7XG4gICAgfVxuXG4gICAgdmFyIGZ1bGxQYXRoID0gYnVpbGRGdWxsUGF0aChjb25maWcuYmFzZVVSTCwgY29uZmlnLnVybCk7XG4gICAgcmVxdWVzdC5vcGVuKGNvbmZpZy5tZXRob2QudG9VcHBlckNhc2UoKSwgYnVpbGRVUkwoZnVsbFBhdGgsIGNvbmZpZy5wYXJhbXMsIGNvbmZpZy5wYXJhbXNTZXJpYWxpemVyKSwgdHJ1ZSk7XG5cbiAgICAvLyBTZXQgdGhlIHJlcXVlc3QgdGltZW91dCBpbiBNU1xuICAgIHJlcXVlc3QudGltZW91dCA9IGNvbmZpZy50aW1lb3V0O1xuXG4gICAgLy8gTGlzdGVuIGZvciByZWFkeSBzdGF0ZVxuICAgIHJlcXVlc3Qub25yZWFkeXN0YXRlY2hhbmdlID0gZnVuY3Rpb24gaGFuZGxlTG9hZCgpIHtcbiAgICAgIGlmICghcmVxdWVzdCB8fCByZXF1ZXN0LnJlYWR5U3RhdGUgIT09IDQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICAvLyBUaGUgcmVxdWVzdCBlcnJvcmVkIG91dCBhbmQgd2UgZGlkbid0IGdldCBhIHJlc3BvbnNlLCB0aGlzIHdpbGwgYmVcbiAgICAgIC8vIGhhbmRsZWQgYnkgb25lcnJvciBpbnN0ZWFkXG4gICAgICAvLyBXaXRoIG9uZSBleGNlcHRpb246IHJlcXVlc3QgdGhhdCB1c2luZyBmaWxlOiBwcm90b2NvbCwgbW9zdCBicm93c2Vyc1xuICAgICAgLy8gd2lsbCByZXR1cm4gc3RhdHVzIGFzIDAgZXZlbiB0aG91Z2ggaXQncyBhIHN1Y2Nlc3NmdWwgcmVxdWVzdFxuICAgICAgaWYgKHJlcXVlc3Quc3RhdHVzID09PSAwICYmICEocmVxdWVzdC5yZXNwb25zZVVSTCAmJiByZXF1ZXN0LnJlc3BvbnNlVVJMLmluZGV4T2YoJ2ZpbGU6JykgPT09IDApKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgLy8gUHJlcGFyZSB0aGUgcmVzcG9uc2VcbiAgICAgIHZhciByZXNwb25zZUhlYWRlcnMgPSAnZ2V0QWxsUmVzcG9uc2VIZWFkZXJzJyBpbiByZXF1ZXN0ID8gcGFyc2VIZWFkZXJzKHJlcXVlc3QuZ2V0QWxsUmVzcG9uc2VIZWFkZXJzKCkpIDogbnVsbDtcbiAgICAgIHZhciByZXNwb25zZURhdGEgPSAhY29uZmlnLnJlc3BvbnNlVHlwZSB8fCBjb25maWcucmVzcG9uc2VUeXBlID09PSAndGV4dCcgPyByZXF1ZXN0LnJlc3BvbnNlVGV4dCA6IHJlcXVlc3QucmVzcG9uc2U7XG4gICAgICB2YXIgcmVzcG9uc2UgPSB7XG4gICAgICAgIGRhdGE6IHJlc3BvbnNlRGF0YSxcbiAgICAgICAgc3RhdHVzOiByZXF1ZXN0LnN0YXR1cyxcbiAgICAgICAgc3RhdHVzVGV4dDogcmVxdWVzdC5zdGF0dXNUZXh0LFxuICAgICAgICBoZWFkZXJzOiByZXNwb25zZUhlYWRlcnMsXG4gICAgICAgIGNvbmZpZzogY29uZmlnLFxuICAgICAgICByZXF1ZXN0OiByZXF1ZXN0XG4gICAgICB9O1xuXG4gICAgICBzZXR0bGUocmVzb2x2ZSwgcmVqZWN0LCByZXNwb25zZSk7XG5cbiAgICAgIC8vIENsZWFuIHVwIHJlcXVlc3RcbiAgICAgIHJlcXVlc3QgPSBudWxsO1xuICAgIH07XG5cbiAgICAvLyBIYW5kbGUgYnJvd3NlciByZXF1ZXN0IGNhbmNlbGxhdGlvbiAoYXMgb3Bwb3NlZCB0byBhIG1hbnVhbCBjYW5jZWxsYXRpb24pXG4gICAgcmVxdWVzdC5vbmFib3J0ID0gZnVuY3Rpb24gaGFuZGxlQWJvcnQoKSB7XG4gICAgICBpZiAoIXJlcXVlc3QpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICByZWplY3QoY3JlYXRlRXJyb3IoJ1JlcXVlc3QgYWJvcnRlZCcsIGNvbmZpZywgJ0VDT05OQUJPUlRFRCcsIHJlcXVlc3QpKTtcblxuICAgICAgLy8gQ2xlYW4gdXAgcmVxdWVzdFxuICAgICAgcmVxdWVzdCA9IG51bGw7XG4gICAgfTtcblxuICAgIC8vIEhhbmRsZSBsb3cgbGV2ZWwgbmV0d29yayBlcnJvcnNcbiAgICByZXF1ZXN0Lm9uZXJyb3IgPSBmdW5jdGlvbiBoYW5kbGVFcnJvcigpIHtcbiAgICAgIC8vIFJlYWwgZXJyb3JzIGFyZSBoaWRkZW4gZnJvbSB1cyBieSB0aGUgYnJvd3NlclxuICAgICAgLy8gb25lcnJvciBzaG91bGQgb25seSBmaXJlIGlmIGl0J3MgYSBuZXR3b3JrIGVycm9yXG4gICAgICByZWplY3QoY3JlYXRlRXJyb3IoJ05ldHdvcmsgRXJyb3InLCBjb25maWcsIG51bGwsIHJlcXVlc3QpKTtcblxuICAgICAgLy8gQ2xlYW4gdXAgcmVxdWVzdFxuICAgICAgcmVxdWVzdCA9IG51bGw7XG4gICAgfTtcblxuICAgIC8vIEhhbmRsZSB0aW1lb3V0XG4gICAgcmVxdWVzdC5vbnRpbWVvdXQgPSBmdW5jdGlvbiBoYW5kbGVUaW1lb3V0KCkge1xuICAgICAgdmFyIHRpbWVvdXRFcnJvck1lc3NhZ2UgPSAndGltZW91dCBvZiAnICsgY29uZmlnLnRpbWVvdXQgKyAnbXMgZXhjZWVkZWQnO1xuICAgICAgaWYgKGNvbmZpZy50aW1lb3V0RXJyb3JNZXNzYWdlKSB7XG4gICAgICAgIHRpbWVvdXRFcnJvck1lc3NhZ2UgPSBjb25maWcudGltZW91dEVycm9yTWVzc2FnZTtcbiAgICAgIH1cbiAgICAgIHJlamVjdChjcmVhdGVFcnJvcih0aW1lb3V0RXJyb3JNZXNzYWdlLCBjb25maWcsICdFQ09OTkFCT1JURUQnLFxuICAgICAgICByZXF1ZXN0KSk7XG5cbiAgICAgIC8vIENsZWFuIHVwIHJlcXVlc3RcbiAgICAgIHJlcXVlc3QgPSBudWxsO1xuICAgIH07XG5cbiAgICAvLyBBZGQgeHNyZiBoZWFkZXJcbiAgICAvLyBUaGlzIGlzIG9ubHkgZG9uZSBpZiBydW5uaW5nIGluIGEgc3RhbmRhcmQgYnJvd3NlciBlbnZpcm9ubWVudC5cbiAgICAvLyBTcGVjaWZpY2FsbHkgbm90IGlmIHdlJ3JlIGluIGEgd2ViIHdvcmtlciwgb3IgcmVhY3QtbmF0aXZlLlxuICAgIGlmICh1dGlscy5pc1N0YW5kYXJkQnJvd3NlckVudigpKSB7XG4gICAgICAvLyBBZGQgeHNyZiBoZWFkZXJcbiAgICAgIHZhciB4c3JmVmFsdWUgPSAoY29uZmlnLndpdGhDcmVkZW50aWFscyB8fCBpc1VSTFNhbWVPcmlnaW4oZnVsbFBhdGgpKSAmJiBjb25maWcueHNyZkNvb2tpZU5hbWUgP1xuICAgICAgICBjb29raWVzLnJlYWQoY29uZmlnLnhzcmZDb29raWVOYW1lKSA6XG4gICAgICAgIHVuZGVmaW5lZDtcblxuICAgICAgaWYgKHhzcmZWYWx1ZSkge1xuICAgICAgICByZXF1ZXN0SGVhZGVyc1tjb25maWcueHNyZkhlYWRlck5hbWVdID0geHNyZlZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFkZCBoZWFkZXJzIHRvIHRoZSByZXF1ZXN0XG4gICAgaWYgKCdzZXRSZXF1ZXN0SGVhZGVyJyBpbiByZXF1ZXN0KSB7XG4gICAgICB1dGlscy5mb3JFYWNoKHJlcXVlc3RIZWFkZXJzLCBmdW5jdGlvbiBzZXRSZXF1ZXN0SGVhZGVyKHZhbCwga2V5KSB7XG4gICAgICAgIGlmICh0eXBlb2YgcmVxdWVzdERhdGEgPT09ICd1bmRlZmluZWQnICYmIGtleS50b0xvd2VyQ2FzZSgpID09PSAnY29udGVudC10eXBlJykge1xuICAgICAgICAgIC8vIFJlbW92ZSBDb250ZW50LVR5cGUgaWYgZGF0YSBpcyB1bmRlZmluZWRcbiAgICAgICAgICBkZWxldGUgcmVxdWVzdEhlYWRlcnNba2V5XTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBPdGhlcndpc2UgYWRkIGhlYWRlciB0byB0aGUgcmVxdWVzdFxuICAgICAgICAgIHJlcXVlc3Quc2V0UmVxdWVzdEhlYWRlcihrZXksIHZhbCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIEFkZCB3aXRoQ3JlZGVudGlhbHMgdG8gcmVxdWVzdCBpZiBuZWVkZWRcbiAgICBpZiAoIXV0aWxzLmlzVW5kZWZpbmVkKGNvbmZpZy53aXRoQ3JlZGVudGlhbHMpKSB7XG4gICAgICByZXF1ZXN0LndpdGhDcmVkZW50aWFscyA9ICEhY29uZmlnLndpdGhDcmVkZW50aWFscztcbiAgICB9XG5cbiAgICAvLyBBZGQgcmVzcG9uc2VUeXBlIHRvIHJlcXVlc3QgaWYgbmVlZGVkXG4gICAgaWYgKGNvbmZpZy5yZXNwb25zZVR5cGUpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHJlcXVlc3QucmVzcG9uc2VUeXBlID0gY29uZmlnLnJlc3BvbnNlVHlwZTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgLy8gRXhwZWN0ZWQgRE9NRXhjZXB0aW9uIHRocm93biBieSBicm93c2VycyBub3QgY29tcGF0aWJsZSBYTUxIdHRwUmVxdWVzdCBMZXZlbCAyLlxuICAgICAgICAvLyBCdXQsIHRoaXMgY2FuIGJlIHN1cHByZXNzZWQgZm9yICdqc29uJyB0eXBlIGFzIGl0IGNhbiBiZSBwYXJzZWQgYnkgZGVmYXVsdCAndHJhbnNmb3JtUmVzcG9uc2UnIGZ1bmN0aW9uLlxuICAgICAgICBpZiAoY29uZmlnLnJlc3BvbnNlVHlwZSAhPT0gJ2pzb24nKSB7XG4gICAgICAgICAgdGhyb3cgZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEhhbmRsZSBwcm9ncmVzcyBpZiBuZWVkZWRcbiAgICBpZiAodHlwZW9mIGNvbmZpZy5vbkRvd25sb2FkUHJvZ3Jlc3MgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHJlcXVlc3QuYWRkRXZlbnRMaXN0ZW5lcigncHJvZ3Jlc3MnLCBjb25maWcub25Eb3dubG9hZFByb2dyZXNzKTtcbiAgICB9XG5cbiAgICAvLyBOb3QgYWxsIGJyb3dzZXJzIHN1cHBvcnQgdXBsb2FkIGV2ZW50c1xuICAgIGlmICh0eXBlb2YgY29uZmlnLm9uVXBsb2FkUHJvZ3Jlc3MgPT09ICdmdW5jdGlvbicgJiYgcmVxdWVzdC51cGxvYWQpIHtcbiAgICAgIHJlcXVlc3QudXBsb2FkLmFkZEV2ZW50TGlzdGVuZXIoJ3Byb2dyZXNzJywgY29uZmlnLm9uVXBsb2FkUHJvZ3Jlc3MpO1xuICAgIH1cblxuICAgIGlmIChjb25maWcuY2FuY2VsVG9rZW4pIHtcbiAgICAgIC8vIEhhbmRsZSBjYW5jZWxsYXRpb25cbiAgICAgIGNvbmZpZy5jYW5jZWxUb2tlbi5wcm9taXNlLnRoZW4oZnVuY3Rpb24gb25DYW5jZWxlZChjYW5jZWwpIHtcbiAgICAgICAgaWYgKCFyZXF1ZXN0KSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgcmVxdWVzdC5hYm9ydCgpO1xuICAgICAgICByZWplY3QoY2FuY2VsKTtcbiAgICAgICAgLy8gQ2xlYW4gdXAgcmVxdWVzdFxuICAgICAgICByZXF1ZXN0ID0gbnVsbDtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmICghcmVxdWVzdERhdGEpIHtcbiAgICAgIHJlcXVlc3REYXRhID0gbnVsbDtcbiAgICB9XG5cbiAgICAvLyBTZW5kIHRoZSByZXF1ZXN0XG4gICAgcmVxdWVzdC5zZW5kKHJlcXVlc3REYXRhKTtcbiAgfSk7XG59O1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/axios/lib/adapters/xhr.js\n"); /***/ }), /***/ "./node_modules/axios/lib/axios.js": /*!*****************************************!*\ !*** ./node_modules/axios/lib/axios.js ***! \*****************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; eval("\n\nvar utils = __webpack_require__(/*! ./utils */ \"./node_modules/axios/lib/utils.js\");\nvar bind = __webpack_require__(/*! ./helpers/bind */ \"./node_modules/axios/lib/helpers/bind.js\");\nvar Axios = __webpack_require__(/*! ./core/Axios */ \"./node_modules/axios/lib/core/Axios.js\");\nvar mergeConfig = __webpack_require__(/*! ./core/mergeConfig */ \"./node_modules/axios/lib/core/mergeConfig.js\");\nvar defaults = __webpack_require__(/*! ./defaults */ \"./node_modules/axios/lib/defaults.js\");\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Factory for creating new instances\naxios.create = function create(instanceConfig) {\n return createInstance(mergeConfig(axios.defaults, instanceConfig));\n};\n\n// Expose Cancel & CancelToken\naxios.Cancel = __webpack_require__(/*! ./cancel/Cancel */ \"./node_modules/axios/lib/cancel/Cancel.js\");\naxios.CancelToken = __webpack_require__(/*! ./cancel/CancelToken */ \"./node_modules/axios/lib/cancel/CancelToken.js\");\naxios.isCancel = __webpack_require__(/*! ./cancel/isCancel */ \"./node_modules/axios/lib/cancel/isCancel.js\");\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = __webpack_require__(/*! ./helpers/spread */ \"./node_modules/axios/lib/helpers/spread.js\");\n\n// Expose isAxiosError\naxios.isAxiosError = __webpack_require__(/*! ./helpers/isAxiosError */ \"./node_modules/axios/lib/helpers/isAxiosError.js\");\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2F4aW9zLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9heGlvcy5qcz9jZWU0Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxudmFyIHV0aWxzID0gcmVxdWlyZSgnLi91dGlscycpO1xudmFyIGJpbmQgPSByZXF1aXJlKCcuL2hlbHBlcnMvYmluZCcpO1xudmFyIEF4aW9zID0gcmVxdWlyZSgnLi9jb3JlL0F4aW9zJyk7XG52YXIgbWVyZ2VDb25maWcgPSByZXF1aXJlKCcuL2NvcmUvbWVyZ2VDb25maWcnKTtcbnZhciBkZWZhdWx0cyA9IHJlcXVpcmUoJy4vZGVmYXVsdHMnKTtcblxuLyoqXG4gKiBDcmVhdGUgYW4gaW5zdGFuY2Ugb2YgQXhpb3NcbiAqXG4gKiBAcGFyYW0ge09iamVjdH0gZGVmYXVsdENvbmZpZyBUaGUgZGVmYXVsdCBjb25maWcgZm9yIHRoZSBpbnN0YW5jZVxuICogQHJldHVybiB7QXhpb3N9IEEgbmV3IGluc3RhbmNlIG9mIEF4aW9zXG4gKi9cbmZ1bmN0aW9uIGNyZWF0ZUluc3RhbmNlKGRlZmF1bHRDb25maWcpIHtcbiAgdmFyIGNvbnRleHQgPSBuZXcgQXhpb3MoZGVmYXVsdENvbmZpZyk7XG4gIHZhciBpbnN0YW5jZSA9IGJpbmQoQXhpb3MucHJvdG90eXBlLnJlcXVlc3QsIGNvbnRleHQpO1xuXG4gIC8vIENvcHkgYXhpb3MucHJvdG90eXBlIHRvIGluc3RhbmNlXG4gIHV0aWxzLmV4dGVuZChpbnN0YW5jZSwgQXhpb3MucHJvdG90eXBlLCBjb250ZXh0KTtcblxuICAvLyBDb3B5IGNvbnRleHQgdG8gaW5zdGFuY2VcbiAgdXRpbHMuZXh0ZW5kKGluc3RhbmNlLCBjb250ZXh0KTtcblxuICByZXR1cm4gaW5zdGFuY2U7XG59XG5cbi8vIENyZWF0ZSB0aGUgZGVmYXVsdCBpbnN0YW5jZSB0byBiZSBleHBvcnRlZFxudmFyIGF4aW9zID0gY3JlYXRlSW5zdGFuY2UoZGVmYXVsdHMpO1xuXG4vLyBFeHBvc2UgQXhpb3MgY2xhc3MgdG8gYWxsb3cgY2xhc3MgaW5oZXJpdGFuY2VcbmF4aW9zLkF4aW9zID0gQXhpb3M7XG5cbi8vIEZhY3RvcnkgZm9yIGNyZWF0aW5nIG5ldyBpbnN0YW5jZXNcbmF4aW9zLmNyZWF0ZSA9IGZ1bmN0aW9uIGNyZWF0ZShpbnN0YW5jZUNvbmZpZykge1xuICByZXR1cm4gY3JlYXRlSW5zdGFuY2UobWVyZ2VDb25maWcoYXhpb3MuZGVmYXVsdHMsIGluc3RhbmNlQ29uZmlnKSk7XG59O1xuXG4vLyBFeHBvc2UgQ2FuY2VsICYgQ2FuY2VsVG9rZW5cbmF4aW9zLkNhbmNlbCA9IHJlcXVpcmUoJy4vY2FuY2VsL0NhbmNlbCcpO1xuYXhpb3MuQ2FuY2VsVG9rZW4gPSByZXF1aXJlKCcuL2NhbmNlbC9DYW5jZWxUb2tlbicpO1xuYXhpb3MuaXNDYW5jZWwgPSByZXF1aXJlKCcuL2NhbmNlbC9pc0NhbmNlbCcpO1xuXG4vLyBFeHBvc2UgYWxsL3NwcmVhZFxuYXhpb3MuYWxsID0gZnVuY3Rpb24gYWxsKHByb21pc2VzKSB7XG4gIHJldHVybiBQcm9taXNlLmFsbChwcm9taXNlcyk7XG59O1xuYXhpb3Muc3ByZWFkID0gcmVxdWlyZSgnLi9oZWxwZXJzL3NwcmVhZCcpO1xuXG4vLyBFeHBvc2UgaXNBeGlvc0Vycm9yXG5heGlvcy5pc0F4aW9zRXJyb3IgPSByZXF1aXJlKCcuL2hlbHBlcnMvaXNBeGlvc0Vycm9yJyk7XG5cbm1vZHVsZS5leHBvcnRzID0gYXhpb3M7XG5cbi8vIEFsbG93IHVzZSBvZiBkZWZhdWx0IGltcG9ydCBzeW50YXggaW4gVHlwZVNjcmlwdFxubW9kdWxlLmV4cG9ydHMuZGVmYXVsdCA9IGF4aW9zO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/axios/lib/axios.js\n"); /***/ }), /***/ "./node_modules/axios/lib/cancel/Cancel.js": /*!*************************************************!*\ !*** ./node_modules/axios/lib/cancel/Cancel.js ***! \*************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; eval("\n\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\n\nmodule.exports = Cancel;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2NhbmNlbC9DYW5jZWwuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2NhbmNlbC9DYW5jZWwuanM/N2E3NyJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbi8qKlxuICogQSBgQ2FuY2VsYCBpcyBhbiBvYmplY3QgdGhhdCBpcyB0aHJvd24gd2hlbiBhbiBvcGVyYXRpb24gaXMgY2FuY2VsZWQuXG4gKlxuICogQGNsYXNzXG4gKiBAcGFyYW0ge3N0cmluZz19IG1lc3NhZ2UgVGhlIG1lc3NhZ2UuXG4gKi9cbmZ1bmN0aW9uIENhbmNlbChtZXNzYWdlKSB7XG4gIHRoaXMubWVzc2FnZSA9IG1lc3NhZ2U7XG59XG5cbkNhbmNlbC5wcm90b3R5cGUudG9TdHJpbmcgPSBmdW5jdGlvbiB0b1N0cmluZygpIHtcbiAgcmV0dXJuICdDYW5jZWwnICsgKHRoaXMubWVzc2FnZSA/ICc6ICcgKyB0aGlzLm1lc3NhZ2UgOiAnJyk7XG59O1xuXG5DYW5jZWwucHJvdG90eXBlLl9fQ0FOQ0VMX18gPSB0cnVlO1xuXG5tb2R1bGUuZXhwb3J0cyA9IENhbmNlbDtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/axios/lib/cancel/Cancel.js\n"); /***/ }), /***/ "./node_modules/axios/lib/cancel/CancelToken.js": /*!******************************************************!*\ !*** ./node_modules/axios/lib/cancel/CancelToken.js ***! \******************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; eval("\n\nvar Cancel = __webpack_require__(/*! ./Cancel */ \"./node_modules/axios/lib/cancel/Cancel.js\");\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2NhbmNlbC9DYW5jZWxUb2tlbi5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9heGlvcy9saWIvY2FuY2VsL0NhbmNlbFRva2VuLmpzPzhkZjQiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG52YXIgQ2FuY2VsID0gcmVxdWlyZSgnLi9DYW5jZWwnKTtcblxuLyoqXG4gKiBBIGBDYW5jZWxUb2tlbmAgaXMgYW4gb2JqZWN0IHRoYXQgY2FuIGJlIHVzZWQgdG8gcmVxdWVzdCBjYW5jZWxsYXRpb24gb2YgYW4gb3BlcmF0aW9uLlxuICpcbiAqIEBjbGFzc1xuICogQHBhcmFtIHtGdW5jdGlvbn0gZXhlY3V0b3IgVGhlIGV4ZWN1dG9yIGZ1bmN0aW9uLlxuICovXG5mdW5jdGlvbiBDYW5jZWxUb2tlbihleGVjdXRvcikge1xuICBpZiAodHlwZW9mIGV4ZWN1dG9yICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignZXhlY3V0b3IgbXVzdCBiZSBhIGZ1bmN0aW9uLicpO1xuICB9XG5cbiAgdmFyIHJlc29sdmVQcm9taXNlO1xuICB0aGlzLnByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbiBwcm9taXNlRXhlY3V0b3IocmVzb2x2ZSkge1xuICAgIHJlc29sdmVQcm9taXNlID0gcmVzb2x2ZTtcbiAgfSk7XG5cbiAgdmFyIHRva2VuID0gdGhpcztcbiAgZXhlY3V0b3IoZnVuY3Rpb24gY2FuY2VsKG1lc3NhZ2UpIHtcbiAgICBpZiAodG9rZW4ucmVhc29uKSB7XG4gICAgICAvLyBDYW5jZWxsYXRpb24gaGFzIGFscmVhZHkgYmVlbiByZXF1ZXN0ZWRcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0b2tlbi5yZWFzb24gPSBuZXcgQ2FuY2VsKG1lc3NhZ2UpO1xuICAgIHJlc29sdmVQcm9taXNlKHRva2VuLnJlYXNvbik7XG4gIH0pO1xufVxuXG4vKipcbiAqIFRocm93cyBhIGBDYW5jZWxgIGlmIGNhbmNlbGxhdGlvbiBoYXMgYmVlbiByZXF1ZXN0ZWQuXG4gKi9cbkNhbmNlbFRva2VuLnByb3RvdHlwZS50aHJvd0lmUmVxdWVzdGVkID0gZnVuY3Rpb24gdGhyb3dJZlJlcXVlc3RlZCgpIHtcbiAgaWYgKHRoaXMucmVhc29uKSB7XG4gICAgdGhyb3cgdGhpcy5yZWFzb247XG4gIH1cbn07XG5cbi8qKlxuICogUmV0dXJucyBhbiBvYmplY3QgdGhhdCBjb250YWlucyBhIG5ldyBgQ2FuY2VsVG9rZW5gIGFuZCBhIGZ1bmN0aW9uIHRoYXQsIHdoZW4gY2FsbGVkLFxuICogY2FuY2VscyB0aGUgYENhbmNlbFRva2VuYC5cbiAqL1xuQ2FuY2VsVG9rZW4uc291cmNlID0gZnVuY3Rpb24gc291cmNlKCkge1xuICB2YXIgY2FuY2VsO1xuICB2YXIgdG9rZW4gPSBuZXcgQ2FuY2VsVG9rZW4oZnVuY3Rpb24gZXhlY3V0b3IoYykge1xuICAgIGNhbmNlbCA9IGM7XG4gIH0pO1xuICByZXR1cm4ge1xuICAgIHRva2VuOiB0b2tlbixcbiAgICBjYW5jZWw6IGNhbmNlbFxuICB9O1xufTtcblxubW9kdWxlLmV4cG9ydHMgPSBDYW5jZWxUb2tlbjtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/axios/lib/cancel/CancelToken.js\n"); /***/ }), /***/ "./node_modules/axios/lib/cancel/isCancel.js": /*!***************************************************!*\ !*** ./node_modules/axios/lib/cancel/isCancel.js ***! \***************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; eval("\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2NhbmNlbC9pc0NhbmNlbC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9heGlvcy9saWIvY2FuY2VsL2lzQ2FuY2VsLmpzPzJlNjciXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIGlzQ2FuY2VsKHZhbHVlKSB7XG4gIHJldHVybiAhISh2YWx1ZSAmJiB2YWx1ZS5fX0NBTkNFTF9fKTtcbn07XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/axios/lib/cancel/isCancel.js\n"); /***/ }), /***/ "./node_modules/axios/lib/core/Axios.js": /*!**********************************************!*\ !*** ./node_modules/axios/lib/core/Axios.js ***! \**********************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; eval("\n\nvar utils = __webpack_require__(/*! ./../utils */ \"./node_modules/axios/lib/utils.js\");\nvar buildURL = __webpack_require__(/*! ../helpers/buildURL */ \"./node_modules/axios/lib/helpers/buildURL.js\");\nvar InterceptorManager = __webpack_require__(/*! ./InterceptorManager */ \"./node_modules/axios/lib/core/InterceptorManager.js\");\nvar dispatchRequest = __webpack_require__(/*! ./dispatchRequest */ \"./node_modules/axios/lib/core/dispatchRequest.js\");\nvar mergeConfig = __webpack_require__(/*! ./mergeConfig */ \"./node_modules/axios/lib/core/mergeConfig.js\");\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof config === 'string') {\n config = arguments[1] || {};\n config.url = arguments[0];\n } else {\n config = config || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n // Set config.method\n if (config.method) {\n config.method = config.method.toLowerCase();\n } else if (this.defaults.method) {\n config.method = this.defaults.method.toLowerCase();\n } else {\n config.method = 'get';\n }\n\n // Hook up interceptors middleware\n var chain = [dispatchRequest, undefined];\n var promise = Promise.resolve(config);\n\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n chain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n chain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n config = mergeConfig(this.defaults, config);\n return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\\?/, '');\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\n\nmodule.exports = Axios;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2NvcmUvQXhpb3MuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2NvcmUvQXhpb3MuanM/MGEwNiJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbnZhciB1dGlscyA9IHJlcXVpcmUoJy4vLi4vdXRpbHMnKTtcbnZhciBidWlsZFVSTCA9IHJlcXVpcmUoJy4uL2hlbHBlcnMvYnVpbGRVUkwnKTtcbnZhciBJbnRlcmNlcHRvck1hbmFnZXIgPSByZXF1aXJlKCcuL0ludGVyY2VwdG9yTWFuYWdlcicpO1xudmFyIGRpc3BhdGNoUmVxdWVzdCA9IHJlcXVpcmUoJy4vZGlzcGF0Y2hSZXF1ZXN0Jyk7XG52YXIgbWVyZ2VDb25maWcgPSByZXF1aXJlKCcuL21lcmdlQ29uZmlnJyk7XG5cbi8qKlxuICogQ3JlYXRlIGEgbmV3IGluc3RhbmNlIG9mIEF4aW9zXG4gKlxuICogQHBhcmFtIHtPYmplY3R9IGluc3RhbmNlQ29uZmlnIFRoZSBkZWZhdWx0IGNvbmZpZyBmb3IgdGhlIGluc3RhbmNlXG4gKi9cbmZ1bmN0aW9uIEF4aW9zKGluc3RhbmNlQ29uZmlnKSB7XG4gIHRoaXMuZGVmYXVsdHMgPSBpbnN0YW5jZUNvbmZpZztcbiAgdGhpcy5pbnRlcmNlcHRvcnMgPSB7XG4gICAgcmVxdWVzdDogbmV3IEludGVyY2VwdG9yTWFuYWdlcigpLFxuICAgIHJlc3BvbnNlOiBuZXcgSW50ZXJjZXB0b3JNYW5hZ2VyKClcbiAgfTtcbn1cblxuLyoqXG4gKiBEaXNwYXRjaCBhIHJlcXVlc3RcbiAqXG4gKiBAcGFyYW0ge09iamVjdH0gY29uZmlnIFRoZSBjb25maWcgc3BlY2lmaWMgZm9yIHRoaXMgcmVxdWVzdCAobWVyZ2VkIHdpdGggdGhpcy5kZWZhdWx0cylcbiAqL1xuQXhpb3MucHJvdG90eXBlLnJlcXVlc3QgPSBmdW5jdGlvbiByZXF1ZXN0KGNvbmZpZykge1xuICAvKmVzbGludCBuby1wYXJhbS1yZWFzc2lnbjowKi9cbiAgLy8gQWxsb3cgZm9yIGF4aW9zKCdleGFtcGxlL3VybCdbLCBjb25maWddKSBhIGxhIGZldGNoIEFQSVxuICBpZiAodHlwZW9mIGNvbmZpZyA9PT0gJ3N0cmluZycpIHtcbiAgICBjb25maWcgPSBhcmd1bWVudHNbMV0gfHwge307XG4gICAgY29uZmlnLnVybCA9IGFyZ3VtZW50c1swXTtcbiAgfSBlbHNlIHtcbiAgICBjb25maWcgPSBjb25maWcgfHwge307XG4gIH1cblxuICBjb25maWcgPSBtZXJnZUNvbmZpZyh0aGlzLmRlZmF1bHRzLCBjb25maWcpO1xuXG4gIC8vIFNldCBjb25maWcubWV0aG9kXG4gIGlmIChjb25maWcubWV0aG9kKSB7XG4gICAgY29uZmlnLm1ldGhvZCA9IGNvbmZpZy5tZXRob2QudG9Mb3dlckNhc2UoKTtcbiAgfSBlbHNlIGlmICh0aGlzLmRlZmF1bHRzLm1ldGhvZCkge1xuICAgIGNvbmZpZy5tZXRob2QgPSB0aGlzLmRlZmF1bHRzLm1ldGhvZC50b0xvd2VyQ2FzZSgpO1xuICB9IGVsc2Uge1xuICAgIGNvbmZpZy5tZXRob2QgPSAnZ2V0JztcbiAgfVxuXG4gIC8vIEhvb2sgdXAgaW50ZXJjZXB0b3JzIG1pZGRsZXdhcmVcbiAgdmFyIGNoYWluID0gW2Rpc3BhdGNoUmVxdWVzdCwgdW5kZWZpbmVkXTtcbiAgdmFyIHByb21pc2UgPSBQcm9taXNlLnJlc29sdmUoY29uZmlnKTtcblxuICB0aGlzLmludGVyY2VwdG9ycy5yZXF1ZXN0LmZvckVhY2goZnVuY3Rpb24gdW5zaGlmdFJlcXVlc3RJbnRlcmNlcHRvcnMoaW50ZXJjZXB0b3IpIHtcbiAgICBjaGFpbi51bnNoaWZ0KGludGVyY2VwdG9yLmZ1bGZpbGxlZCwgaW50ZXJjZXB0b3IucmVqZWN0ZWQpO1xuICB9KTtcblxuICB0aGlzLmludGVyY2VwdG9ycy5yZXNwb25zZS5mb3JFYWNoKGZ1bmN0aW9uIHB1c2hSZXNwb25zZUludGVyY2VwdG9ycyhpbnRlcmNlcHRvcikge1xuICAgIGNoYWluLnB1c2goaW50ZXJjZXB0b3IuZnVsZmlsbGVkLCBpbnRlcmNlcHRvci5yZWplY3RlZCk7XG4gIH0pO1xuXG4gIHdoaWxlIChjaGFpbi5sZW5ndGgpIHtcbiAgICBwcm9taXNlID0gcHJvbWlzZS50aGVuKGNoYWluLnNoaWZ0KCksIGNoYWluLnNoaWZ0KCkpO1xuICB9XG5cbiAgcmV0dXJuIHByb21pc2U7XG59O1xuXG5BeGlvcy5wcm90b3R5cGUuZ2V0VXJpID0gZnVuY3Rpb24gZ2V0VXJpKGNvbmZpZykge1xuICBjb25maWcgPSBtZXJnZUNvbmZpZyh0aGlzLmRlZmF1bHRzLCBjb25maWcpO1xuICByZXR1cm4gYnVpbGRVUkwoY29uZmlnLnVybCwgY29uZmlnLnBhcmFtcywgY29uZmlnLnBhcmFtc1NlcmlhbGl6ZXIpLnJlcGxhY2UoL15cXD8vLCAnJyk7XG59O1xuXG4vLyBQcm92aWRlIGFsaWFzZXMgZm9yIHN1cHBvcnRlZCByZXF1ZXN0IG1ldGhvZHNcbnV0aWxzLmZvckVhY2goWydkZWxldGUnLCAnZ2V0JywgJ2hlYWQnLCAnb3B0aW9ucyddLCBmdW5jdGlvbiBmb3JFYWNoTWV0aG9kTm9EYXRhKG1ldGhvZCkge1xuICAvKmVzbGludCBmdW5jLW5hbWVzOjAqL1xuICBBeGlvcy5wcm90b3R5cGVbbWV0aG9kXSA9IGZ1bmN0aW9uKHVybCwgY29uZmlnKSB7XG4gICAgcmV0dXJuIHRoaXMucmVxdWVzdChtZXJnZUNvbmZpZyhjb25maWcgfHwge30sIHtcbiAgICAgIG1ldGhvZDogbWV0aG9kLFxuICAgICAgdXJsOiB1cmwsXG4gICAgICBkYXRhOiAoY29uZmlnIHx8IHt9KS5kYXRhXG4gICAgfSkpO1xuICB9O1xufSk7XG5cbnV0aWxzLmZvckVhY2goWydwb3N0JywgJ3B1dCcsICdwYXRjaCddLCBmdW5jdGlvbiBmb3JFYWNoTWV0aG9kV2l0aERhdGEobWV0aG9kKSB7XG4gIC8qZXNsaW50IGZ1bmMtbmFtZXM6MCovXG4gIEF4aW9zLnByb3RvdHlwZVttZXRob2RdID0gZnVuY3Rpb24odXJsLCBkYXRhLCBjb25maWcpIHtcbiAgICByZXR1cm4gdGhpcy5yZXF1ZXN0KG1lcmdlQ29uZmlnKGNvbmZpZyB8fCB7fSwge1xuICAgICAgbWV0aG9kOiBtZXRob2QsXG4gICAgICB1cmw6IHVybCxcbiAgICAgIGRhdGE6IGRhdGFcbiAgICB9KSk7XG4gIH07XG59KTtcblxubW9kdWxlLmV4cG9ydHMgPSBBeGlvcztcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/axios/lib/core/Axios.js\n"); /***/ }), /***/ "./node_modules/axios/lib/core/InterceptorManager.js": /*!***********************************************************!*\ !*** ./node_modules/axios/lib/core/InterceptorManager.js ***! \***********************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; eval("\n\nvar utils = __webpack_require__(/*! ./../utils */ \"./node_modules/axios/lib/utils.js\");\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2NvcmUvSW50ZXJjZXB0b3JNYW5hZ2VyLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9jb3JlL0ludGVyY2VwdG9yTWFuYWdlci5qcz9mNmI0Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxudmFyIHV0aWxzID0gcmVxdWlyZSgnLi8uLi91dGlscycpO1xuXG5mdW5jdGlvbiBJbnRlcmNlcHRvck1hbmFnZXIoKSB7XG4gIHRoaXMuaGFuZGxlcnMgPSBbXTtcbn1cblxuLyoqXG4gKiBBZGQgYSBuZXcgaW50ZXJjZXB0b3IgdG8gdGhlIHN0YWNrXG4gKlxuICogQHBhcmFtIHtGdW5jdGlvbn0gZnVsZmlsbGVkIFRoZSBmdW5jdGlvbiB0byBoYW5kbGUgYHRoZW5gIGZvciBhIGBQcm9taXNlYFxuICogQHBhcmFtIHtGdW5jdGlvbn0gcmVqZWN0ZWQgVGhlIGZ1bmN0aW9uIHRvIGhhbmRsZSBgcmVqZWN0YCBmb3IgYSBgUHJvbWlzZWBcbiAqXG4gKiBAcmV0dXJuIHtOdW1iZXJ9IEFuIElEIHVzZWQgdG8gcmVtb3ZlIGludGVyY2VwdG9yIGxhdGVyXG4gKi9cbkludGVyY2VwdG9yTWFuYWdlci5wcm90b3R5cGUudXNlID0gZnVuY3Rpb24gdXNlKGZ1bGZpbGxlZCwgcmVqZWN0ZWQpIHtcbiAgdGhpcy5oYW5kbGVycy5wdXNoKHtcbiAgICBmdWxmaWxsZWQ6IGZ1bGZpbGxlZCxcbiAgICByZWplY3RlZDogcmVqZWN0ZWRcbiAgfSk7XG4gIHJldHVybiB0aGlzLmhhbmRsZXJzLmxlbmd0aCAtIDE7XG59O1xuXG4vKipcbiAqIFJlbW92ZSBhbiBpbnRlcmNlcHRvciBmcm9tIHRoZSBzdGFja1xuICpcbiAqIEBwYXJhbSB7TnVtYmVyfSBpZCBUaGUgSUQgdGhhdCB3YXMgcmV0dXJuZWQgYnkgYHVzZWBcbiAqL1xuSW50ZXJjZXB0b3JNYW5hZ2VyLnByb3RvdHlwZS5lamVjdCA9IGZ1bmN0aW9uIGVqZWN0KGlkKSB7XG4gIGlmICh0aGlzLmhhbmRsZXJzW2lkXSkge1xuICAgIHRoaXMuaGFuZGxlcnNbaWRdID0gbnVsbDtcbiAgfVxufTtcblxuLyoqXG4gKiBJdGVyYXRlIG92ZXIgYWxsIHRoZSByZWdpc3RlcmVkIGludGVyY2VwdG9yc1xuICpcbiAqIFRoaXMgbWV0aG9kIGlzIHBhcnRpY3VsYXJseSB1c2VmdWwgZm9yIHNraXBwaW5nIG92ZXIgYW55XG4gKiBpbnRlcmNlcHRvcnMgdGhhdCBtYXkgaGF2ZSBiZWNvbWUgYG51bGxgIGNhbGxpbmcgYGVqZWN0YC5cbiAqXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBmbiBUaGUgZnVuY3Rpb24gdG8gY2FsbCBmb3IgZWFjaCBpbnRlcmNlcHRvclxuICovXG5JbnRlcmNlcHRvck1hbmFnZXIucHJvdG90eXBlLmZvckVhY2ggPSBmdW5jdGlvbiBmb3JFYWNoKGZuKSB7XG4gIHV0aWxzLmZvckVhY2godGhpcy5oYW5kbGVycywgZnVuY3Rpb24gZm9yRWFjaEhhbmRsZXIoaCkge1xuICAgIGlmIChoICE9PSBudWxsKSB7XG4gICAgICBmbihoKTtcbiAgICB9XG4gIH0pO1xufTtcblxubW9kdWxlLmV4cG9ydHMgPSBJbnRlcmNlcHRvck1hbmFnZXI7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/axios/lib/core/InterceptorManager.js\n"); /***/ }), /***/ "./node_modules/axios/lib/core/buildFullPath.js": /*!******************************************************!*\ !*** ./node_modules/axios/lib/core/buildFullPath.js ***! \******************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; eval("\n\nvar isAbsoluteURL = __webpack_require__(/*! ../helpers/isAbsoluteURL */ \"./node_modules/axios/lib/helpers/isAbsoluteURL.js\");\nvar combineURLs = __webpack_require__(/*! ../helpers/combineURLs */ \"./node_modules/axios/lib/helpers/combineURLs.js\");\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n * @returns {string} The combined full path\n */\nmodule.exports = function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2NvcmUvYnVpbGRGdWxsUGF0aC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9heGlvcy9saWIvY29yZS9idWlsZEZ1bGxQYXRoLmpzPzgzYjkiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG52YXIgaXNBYnNvbHV0ZVVSTCA9IHJlcXVpcmUoJy4uL2hlbHBlcnMvaXNBYnNvbHV0ZVVSTCcpO1xudmFyIGNvbWJpbmVVUkxzID0gcmVxdWlyZSgnLi4vaGVscGVycy9jb21iaW5lVVJMcycpO1xuXG4vKipcbiAqIENyZWF0ZXMgYSBuZXcgVVJMIGJ5IGNvbWJpbmluZyB0aGUgYmFzZVVSTCB3aXRoIHRoZSByZXF1ZXN0ZWRVUkwsXG4gKiBvbmx5IHdoZW4gdGhlIHJlcXVlc3RlZFVSTCBpcyBub3QgYWxyZWFkeSBhbiBhYnNvbHV0ZSBVUkwuXG4gKiBJZiB0aGUgcmVxdWVzdFVSTCBpcyBhYnNvbHV0ZSwgdGhpcyBmdW5jdGlvbiByZXR1cm5zIHRoZSByZXF1ZXN0ZWRVUkwgdW50b3VjaGVkLlxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBiYXNlVVJMIFRoZSBiYXNlIFVSTFxuICogQHBhcmFtIHtzdHJpbmd9IHJlcXVlc3RlZFVSTCBBYnNvbHV0ZSBvciByZWxhdGl2ZSBVUkwgdG8gY29tYmluZVxuICogQHJldHVybnMge3N0cmluZ30gVGhlIGNvbWJpbmVkIGZ1bGwgcGF0aFxuICovXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIGJ1aWxkRnVsbFBhdGgoYmFzZVVSTCwgcmVxdWVzdGVkVVJMKSB7XG4gIGlmIChiYXNlVVJMICYmICFpc0Fic29sdXRlVVJMKHJlcXVlc3RlZFVSTCkpIHtcbiAgICByZXR1cm4gY29tYmluZVVSTHMoYmFzZVVSTCwgcmVxdWVzdGVkVVJMKTtcbiAgfVxuICByZXR1cm4gcmVxdWVzdGVkVVJMO1xufTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/axios/lib/core/buildFullPath.js\n"); /***/ }), /***/ "./node_modules/axios/lib/core/createError.js": /*!****************************************************!*\ !*** ./node_modules/axios/lib/core/createError.js ***! \****************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; eval("\n\nvar enhanceError = __webpack_require__(/*! ./enhanceError */ \"./node_modules/axios/lib/core/enhanceError.js\");\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2NvcmUvY3JlYXRlRXJyb3IuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2NvcmUvY3JlYXRlRXJyb3IuanM/MmQ4MyJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbnZhciBlbmhhbmNlRXJyb3IgPSByZXF1aXJlKCcuL2VuaGFuY2VFcnJvcicpO1xuXG4vKipcbiAqIENyZWF0ZSBhbiBFcnJvciB3aXRoIHRoZSBzcGVjaWZpZWQgbWVzc2FnZSwgY29uZmlnLCBlcnJvciBjb2RlLCByZXF1ZXN0IGFuZCByZXNwb25zZS5cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZSBUaGUgZXJyb3IgbWVzc2FnZS5cbiAqIEBwYXJhbSB7T2JqZWN0fSBjb25maWcgVGhlIGNvbmZpZy5cbiAqIEBwYXJhbSB7c3RyaW5nfSBbY29kZV0gVGhlIGVycm9yIGNvZGUgKGZvciBleGFtcGxlLCAnRUNPTk5BQk9SVEVEJykuXG4gKiBAcGFyYW0ge09iamVjdH0gW3JlcXVlc3RdIFRoZSByZXF1ZXN0LlxuICogQHBhcmFtIHtPYmplY3R9IFtyZXNwb25zZV0gVGhlIHJlc3BvbnNlLlxuICogQHJldHVybnMge0Vycm9yfSBUaGUgY3JlYXRlZCBlcnJvci5cbiAqL1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBjcmVhdGVFcnJvcihtZXNzYWdlLCBjb25maWcsIGNvZGUsIHJlcXVlc3QsIHJlc3BvbnNlKSB7XG4gIHZhciBlcnJvciA9IG5ldyBFcnJvcihtZXNzYWdlKTtcbiAgcmV0dXJuIGVuaGFuY2VFcnJvcihlcnJvciwgY29uZmlnLCBjb2RlLCByZXF1ZXN0LCByZXNwb25zZSk7XG59O1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/axios/lib/core/createError.js\n"); /***/ }), /***/ "./node_modules/axios/lib/core/dispatchRequest.js": /*!********************************************************!*\ !*** ./node_modules/axios/lib/core/dispatchRequest.js ***! \********************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; eval("\n\nvar utils = __webpack_require__(/*! ./../utils */ \"./node_modules/axios/lib/utils.js\");\nvar transformData = __webpack_require__(/*! ./transformData */ \"./node_modules/axios/lib/core/transformData.js\");\nvar isCancel = __webpack_require__(/*! ../cancel/isCancel */ \"./node_modules/axios/lib/cancel/isCancel.js\");\nvar defaults = __webpack_require__(/*! ../defaults */ \"./node_modules/axios/lib/defaults.js\");\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData(\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData(\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData(\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2NvcmUvZGlzcGF0Y2hSZXF1ZXN0LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9jb3JlL2Rpc3BhdGNoUmVxdWVzdC5qcz81MjcwIl0sInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxudmFyIHV0aWxzID0gcmVxdWlyZSgnLi8uLi91dGlscycpO1xudmFyIHRyYW5zZm9ybURhdGEgPSByZXF1aXJlKCcuL3RyYW5zZm9ybURhdGEnKTtcbnZhciBpc0NhbmNlbCA9IHJlcXVpcmUoJy4uL2NhbmNlbC9pc0NhbmNlbCcpO1xudmFyIGRlZmF1bHRzID0gcmVxdWlyZSgnLi4vZGVmYXVsdHMnKTtcblxuLyoqXG4gKiBUaHJvd3MgYSBgQ2FuY2VsYCBpZiBjYW5jZWxsYXRpb24gaGFzIGJlZW4gcmVxdWVzdGVkLlxuICovXG5mdW5jdGlvbiB0aHJvd0lmQ2FuY2VsbGF0aW9uUmVxdWVzdGVkKGNvbmZpZykge1xuICBpZiAoY29uZmlnLmNhbmNlbFRva2VuKSB7XG4gICAgY29uZmlnLmNhbmNlbFRva2VuLnRocm93SWZSZXF1ZXN0ZWQoKTtcbiAgfVxufVxuXG4vKipcbiAqIERpc3BhdGNoIGEgcmVxdWVzdCB0byB0aGUgc2VydmVyIHVzaW5nIHRoZSBjb25maWd1cmVkIGFkYXB0ZXIuXG4gKlxuICogQHBhcmFtIHtvYmplY3R9IGNvbmZpZyBUaGUgY29uZmlnIHRoYXQgaXMgdG8gYmUgdXNlZCBmb3IgdGhlIHJlcXVlc3RcbiAqIEByZXR1cm5zIHtQcm9taXNlfSBUaGUgUHJvbWlzZSB0byBiZSBmdWxmaWxsZWRcbiAqL1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBkaXNwYXRjaFJlcXVlc3QoY29uZmlnKSB7XG4gIHRocm93SWZDYW5jZWxsYXRpb25SZXF1ZXN0ZWQoY29uZmlnKTtcblxuICAvLyBFbnN1cmUgaGVhZGVycyBleGlzdFxuICBjb25maWcuaGVhZGVycyA9IGNvbmZpZy5oZWFkZXJzIHx8IHt9O1xuXG4gIC8vIFRyYW5zZm9ybSByZXF1ZXN0IGRhdGFcbiAgY29uZmlnLmRhdGEgPSB0cmFuc2Zvcm1EYXRhKFxuICAgIGNvbmZpZy5kYXRhLFxuICAgIGNvbmZpZy5oZWFkZXJzLFxuICAgIGNvbmZpZy50cmFuc2Zvcm1SZXF1ZXN0XG4gICk7XG5cbiAgLy8gRmxhdHRlbiBoZWFkZXJzXG4gIGNvbmZpZy5oZWFkZXJzID0gdXRpbHMubWVyZ2UoXG4gICAgY29uZmlnLmhlYWRlcnMuY29tbW9uIHx8IHt9LFxuICAgIGNvbmZpZy5oZWFkZXJzW2NvbmZpZy5tZXRob2RdIHx8IHt9LFxuICAgIGNvbmZpZy5oZWFkZXJzXG4gICk7XG5cbiAgdXRpbHMuZm9yRWFjaChcbiAgICBbJ2RlbGV0ZScsICdnZXQnLCAnaGVhZCcsICdwb3N0JywgJ3B1dCcsICdwYXRjaCcsICdjb21tb24nXSxcbiAgICBmdW5jdGlvbiBjbGVhbkhlYWRlckNvbmZpZyhtZXRob2QpIHtcbiAgICAgIGRlbGV0ZSBjb25maWcuaGVhZGVyc1ttZXRob2RdO1xuICAgIH1cbiAgKTtcblxuICB2YXIgYWRhcHRlciA9IGNvbmZpZy5hZGFwdGVyIHx8IGRlZmF1bHRzLmFkYXB0ZXI7XG5cbiAgcmV0dXJuIGFkYXB0ZXIoY29uZmlnKS50aGVuKGZ1bmN0aW9uIG9uQWRhcHRlclJlc29sdXRpb24ocmVzcG9uc2UpIHtcbiAgICB0aHJvd0lmQ2FuY2VsbGF0aW9uUmVxdWVzdGVkKGNvbmZpZyk7XG5cbiAgICAvLyBUcmFuc2Zvcm0gcmVzcG9uc2UgZGF0YVxuICAgIHJlc3BvbnNlLmRhdGEgPSB0cmFuc2Zvcm1EYXRhKFxuICAgICAgcmVzcG9uc2UuZGF0YSxcbiAgICAgIHJlc3BvbnNlLmhlYWRlcnMsXG4gICAgICBjb25maWcudHJhbnNmb3JtUmVzcG9uc2VcbiAgICApO1xuXG4gICAgcmV0dXJuIHJlc3BvbnNlO1xuICB9LCBmdW5jdGlvbiBvbkFkYXB0ZXJSZWplY3Rpb24ocmVhc29uKSB7XG4gICAgaWYgKCFpc0NhbmNlbChyZWFzb24pKSB7XG4gICAgICB0aHJvd0lmQ2FuY2VsbGF0aW9uUmVxdWVzdGVkKGNvbmZpZyk7XG5cbiAgICAgIC8vIFRyYW5zZm9ybSByZXNwb25zZSBkYXRhXG4gICAgICBpZiAocmVhc29uICYmIHJlYXNvbi5yZXNwb25zZSkge1xuICAgICAgICByZWFzb24ucmVzcG9uc2UuZGF0YSA9IHRyYW5zZm9ybURhdGEoXG4gICAgICAgICAgcmVhc29uLnJlc3BvbnNlLmRhdGEsXG4gICAgICAgICAgcmVhc29uLnJlc3BvbnNlLmhlYWRlcnMsXG4gICAgICAgICAgY29uZmlnLnRyYW5zZm9ybVJlc3BvbnNlXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIFByb21pc2UucmVqZWN0KHJlYXNvbik7XG4gIH0pO1xufTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/axios/lib/core/dispatchRequest.js\n"); /***/ }), /***/ "./node_modules/axios/lib/core/enhanceError.js": /*!*****************************************************!*\ !*** ./node_modules/axios/lib/core/enhanceError.js ***! \*****************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; eval("\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n if (code) {\n error.code = code;\n }\n\n error.request = request;\n error.response = response;\n error.isAxiosError = true;\n\n error.toJSON = function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: this.config,\n code: this.code\n };\n };\n return error;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2NvcmUvZW5oYW5jZUVycm9yLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9jb3JlL2VuaGFuY2VFcnJvci5qcz8zODdmIl0sInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxuLyoqXG4gKiBVcGRhdGUgYW4gRXJyb3Igd2l0aCB0aGUgc3BlY2lmaWVkIGNvbmZpZywgZXJyb3IgY29kZSwgYW5kIHJlc3BvbnNlLlxuICpcbiAqIEBwYXJhbSB7RXJyb3J9IGVycm9yIFRoZSBlcnJvciB0byB1cGRhdGUuXG4gKiBAcGFyYW0ge09iamVjdH0gY29uZmlnIFRoZSBjb25maWcuXG4gKiBAcGFyYW0ge3N0cmluZ30gW2NvZGVdIFRoZSBlcnJvciBjb2RlIChmb3IgZXhhbXBsZSwgJ0VDT05OQUJPUlRFRCcpLlxuICogQHBhcmFtIHtPYmplY3R9IFtyZXF1ZXN0XSBUaGUgcmVxdWVzdC5cbiAqIEBwYXJhbSB7T2JqZWN0fSBbcmVzcG9uc2VdIFRoZSByZXNwb25zZS5cbiAqIEByZXR1cm5zIHtFcnJvcn0gVGhlIGVycm9yLlxuICovXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIGVuaGFuY2VFcnJvcihlcnJvciwgY29uZmlnLCBjb2RlLCByZXF1ZXN0LCByZXNwb25zZSkge1xuICBlcnJvci5jb25maWcgPSBjb25maWc7XG4gIGlmIChjb2RlKSB7XG4gICAgZXJyb3IuY29kZSA9IGNvZGU7XG4gIH1cblxuICBlcnJvci5yZXF1ZXN0ID0gcmVxdWVzdDtcbiAgZXJyb3IucmVzcG9uc2UgPSByZXNwb25zZTtcbiAgZXJyb3IuaXNBeGlvc0Vycm9yID0gdHJ1ZTtcblxuICBlcnJvci50b0pTT04gPSBmdW5jdGlvbiB0b0pTT04oKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC8vIFN0YW5kYXJkXG4gICAgICBtZXNzYWdlOiB0aGlzLm1lc3NhZ2UsXG4gICAgICBuYW1lOiB0aGlzLm5hbWUsXG4gICAgICAvLyBNaWNyb3NvZnRcbiAgICAgIGRlc2NyaXB0aW9uOiB0aGlzLmRlc2NyaXB0aW9uLFxuICAgICAgbnVtYmVyOiB0aGlzLm51bWJlcixcbiAgICAgIC8vIE1vemlsbGFcbiAgICAgIGZpbGVOYW1lOiB0aGlzLmZpbGVOYW1lLFxuICAgICAgbGluZU51bWJlcjogdGhpcy5saW5lTnVtYmVyLFxuICAgICAgY29sdW1uTnVtYmVyOiB0aGlzLmNvbHVtbk51bWJlcixcbiAgICAgIHN0YWNrOiB0aGlzLnN0YWNrLFxuICAgICAgLy8gQXhpb3NcbiAgICAgIGNvbmZpZzogdGhpcy5jb25maWcsXG4gICAgICBjb2RlOiB0aGlzLmNvZGVcbiAgICB9O1xuICB9O1xuICByZXR1cm4gZXJyb3I7XG59O1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/axios/lib/core/enhanceError.js\n"); /***/ }), /***/ "./node_modules/axios/lib/core/mergeConfig.js": /*!****************************************************!*\ !*** ./node_modules/axios/lib/core/mergeConfig.js ***! \****************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; eval("\n\nvar utils = __webpack_require__(/*! ../utils */ \"./node_modules/axios/lib/utils.js\");\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\nmodule.exports = function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n var config = {};\n\n var valueFromConfig2Keys = ['url', 'method', 'data'];\n var mergeDeepPropertiesKeys = ['headers', 'auth', 'proxy', 'params'];\n var defaultToConfig2Keys = [\n 'baseURL', 'transformRequest', 'transformResponse', 'paramsSerializer',\n 'timeout', 'timeoutMessage', 'withCredentials', 'adapter', 'responseType', 'xsrfCookieName',\n 'xsrfHeaderName', 'onUploadProgress', 'onDownloadProgress', 'decompress',\n 'maxContentLength', 'maxBodyLength', 'maxRedirects', 'transport', 'httpAgent',\n 'httpsAgent', 'cancelToken', 'socketPath', 'responseEncoding'\n ];\n var directMergeKeys = ['validateStatus'];\n\n function getMergedValue(target, source) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge(target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n function mergeDeepProperties(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(config1[prop], config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n }\n\n utils.forEach(valueFromConfig2Keys, function valueFromConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(undefined, config2[prop]);\n }\n });\n\n utils.forEach(mergeDeepPropertiesKeys, mergeDeepProperties);\n\n utils.forEach(defaultToConfig2Keys, function defaultToConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(undefined, config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n });\n\n utils.forEach(directMergeKeys, function merge(prop) {\n if (prop in config2) {\n config[prop] = getMergedValue(config1[prop], config2[prop]);\n } else if (prop in config1) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n });\n\n var axiosKeys = valueFromConfig2Keys\n .concat(mergeDeepPropertiesKeys)\n .concat(defaultToConfig2Keys)\n .concat(directMergeKeys);\n\n var otherKeys = Object\n .keys(config1)\n .concat(Object.keys(config2))\n .filter(function filterAxiosKeys(key) {\n return axiosKeys.indexOf(key) === -1;\n });\n\n utils.forEach(otherKeys, mergeDeepProperties);\n\n return config;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2NvcmUvbWVyZ2VDb25maWcuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2NvcmUvbWVyZ2VDb25maWcuanM/NGE3YiJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbnZhciB1dGlscyA9IHJlcXVpcmUoJy4uL3V0aWxzJyk7XG5cbi8qKlxuICogQ29uZmlnLXNwZWNpZmljIG1lcmdlLWZ1bmN0aW9uIHdoaWNoIGNyZWF0ZXMgYSBuZXcgY29uZmlnLW9iamVjdFxuICogYnkgbWVyZ2luZyB0d28gY29uZmlndXJhdGlvbiBvYmplY3RzIHRvZ2V0aGVyLlxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSBjb25maWcxXG4gKiBAcGFyYW0ge09iamVjdH0gY29uZmlnMlxuICogQHJldHVybnMge09iamVjdH0gTmV3IG9iamVjdCByZXN1bHRpbmcgZnJvbSBtZXJnaW5nIGNvbmZpZzIgdG8gY29uZmlnMVxuICovXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIG1lcmdlQ29uZmlnKGNvbmZpZzEsIGNvbmZpZzIpIHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXBhcmFtLXJlYXNzaWduXG4gIGNvbmZpZzIgPSBjb25maWcyIHx8IHt9O1xuICB2YXIgY29uZmlnID0ge307XG5cbiAgdmFyIHZhbHVlRnJvbUNvbmZpZzJLZXlzID0gWyd1cmwnLCAnbWV0aG9kJywgJ2RhdGEnXTtcbiAgdmFyIG1lcmdlRGVlcFByb3BlcnRpZXNLZXlzID0gWydoZWFkZXJzJywgJ2F1dGgnLCAncHJveHknLCAncGFyYW1zJ107XG4gIHZhciBkZWZhdWx0VG9Db25maWcyS2V5cyA9IFtcbiAgICAnYmFzZVVSTCcsICd0cmFuc2Zvcm1SZXF1ZXN0JywgJ3RyYW5zZm9ybVJlc3BvbnNlJywgJ3BhcmFtc1NlcmlhbGl6ZXInLFxuICAgICd0aW1lb3V0JywgJ3RpbWVvdXRNZXNzYWdlJywgJ3dpdGhDcmVkZW50aWFscycsICdhZGFwdGVyJywgJ3Jlc3BvbnNlVHlwZScsICd4c3JmQ29va2llTmFtZScsXG4gICAgJ3hzcmZIZWFkZXJOYW1lJywgJ29uVXBsb2FkUHJvZ3Jlc3MnLCAnb25Eb3dubG9hZFByb2dyZXNzJywgJ2RlY29tcHJlc3MnLFxuICAgICdtYXhDb250ZW50TGVuZ3RoJywgJ21heEJvZHlMZW5ndGgnLCAnbWF4UmVkaXJlY3RzJywgJ3RyYW5zcG9ydCcsICdodHRwQWdlbnQnLFxuICAgICdodHRwc0FnZW50JywgJ2NhbmNlbFRva2VuJywgJ3NvY2tldFBhdGgnLCAncmVzcG9uc2VFbmNvZGluZydcbiAgXTtcbiAgdmFyIGRpcmVjdE1lcmdlS2V5cyA9IFsndmFsaWRhdGVTdGF0dXMnXTtcblxuICBmdW5jdGlvbiBnZXRNZXJnZWRWYWx1ZSh0YXJnZXQsIHNvdXJjZSkge1xuICAgIGlmICh1dGlscy5pc1BsYWluT2JqZWN0KHRhcmdldCkgJiYgdXRpbHMuaXNQbGFpbk9iamVjdChzb3VyY2UpKSB7XG4gICAgICByZXR1cm4gdXRpbHMubWVyZ2UodGFyZ2V0LCBzb3VyY2UpO1xuICAgIH0gZWxzZSBpZiAodXRpbHMuaXNQbGFpbk9iamVjdChzb3VyY2UpKSB7XG4gICAgICByZXR1cm4gdXRpbHMubWVyZ2Uoe30sIHNvdXJjZSk7XG4gICAgfSBlbHNlIGlmICh1dGlscy5pc0FycmF5KHNvdXJjZSkpIHtcbiAgICAgIHJldHVybiBzb3VyY2Uuc2xpY2UoKTtcbiAgICB9XG4gICAgcmV0dXJuIHNvdXJjZTtcbiAgfVxuXG4gIGZ1bmN0aW9uIG1lcmdlRGVlcFByb3BlcnRpZXMocHJvcCkge1xuICAgIGlmICghdXRpbHMuaXNVbmRlZmluZWQoY29uZmlnMltwcm9wXSkpIHtcbiAgICAgIGNvbmZpZ1twcm9wXSA9IGdldE1lcmdlZFZhbHVlKGNvbmZpZzFbcHJvcF0sIGNvbmZpZzJbcHJvcF0pO1xuICAgIH0gZWxzZSBpZiAoIXV0aWxzLmlzVW5kZWZpbmVkKGNvbmZpZzFbcHJvcF0pKSB7XG4gICAgICBjb25maWdbcHJvcF0gPSBnZXRNZXJnZWRWYWx1ZSh1bmRlZmluZWQsIGNvbmZpZzFbcHJvcF0pO1xuICAgIH1cbiAgfVxuXG4gIHV0aWxzLmZvckVhY2godmFsdWVGcm9tQ29uZmlnMktleXMsIGZ1bmN0aW9uIHZhbHVlRnJvbUNvbmZpZzIocHJvcCkge1xuICAgIGlmICghdXRpbHMuaXNVbmRlZmluZWQoY29uZmlnMltwcm9wXSkpIHtcbiAgICAgIGNvbmZpZ1twcm9wXSA9IGdldE1lcmdlZFZhbHVlKHVuZGVmaW5lZCwgY29uZmlnMltwcm9wXSk7XG4gICAgfVxuICB9KTtcblxuICB1dGlscy5mb3JFYWNoKG1lcmdlRGVlcFByb3BlcnRpZXNLZXlzLCBtZXJnZURlZXBQcm9wZXJ0aWVzKTtcblxuICB1dGlscy5mb3JFYWNoKGRlZmF1bHRUb0NvbmZpZzJLZXlzLCBmdW5jdGlvbiBkZWZhdWx0VG9Db25maWcyKHByb3ApIHtcbiAgICBpZiAoIXV0aWxzLmlzVW5kZWZpbmVkKGNvbmZpZzJbcHJvcF0pKSB7XG4gICAgICBjb25maWdbcHJvcF0gPSBnZXRNZXJnZWRWYWx1ZSh1bmRlZmluZWQsIGNvbmZpZzJbcHJvcF0pO1xuICAgIH0gZWxzZSBpZiAoIXV0aWxzLmlzVW5kZWZpbmVkKGNvbmZpZzFbcHJvcF0pKSB7XG4gICAgICBjb25maWdbcHJvcF0gPSBnZXRNZXJnZWRWYWx1ZSh1bmRlZmluZWQsIGNvbmZpZzFbcHJvcF0pO1xuICAgIH1cbiAgfSk7XG5cbiAgdXRpbHMuZm9yRWFjaChkaXJlY3RNZXJnZUtleXMsIGZ1bmN0aW9uIG1lcmdlKHByb3ApIHtcbiAgICBpZiAocHJvcCBpbiBjb25maWcyKSB7XG4gICAgICBjb25maWdbcHJvcF0gPSBnZXRNZXJnZWRWYWx1ZShjb25maWcxW3Byb3BdLCBjb25maWcyW3Byb3BdKTtcbiAgICB9IGVsc2UgaWYgKHByb3AgaW4gY29uZmlnMSkge1xuICAgICAgY29uZmlnW3Byb3BdID0gZ2V0TWVyZ2VkVmFsdWUodW5kZWZpbmVkLCBjb25maWcxW3Byb3BdKTtcbiAgICB9XG4gIH0pO1xuXG4gIHZhciBheGlvc0tleXMgPSB2YWx1ZUZyb21Db25maWcyS2V5c1xuICAgIC5jb25jYXQobWVyZ2VEZWVwUHJvcGVydGllc0tleXMpXG4gICAgLmNvbmNhdChkZWZhdWx0VG9Db25maWcyS2V5cylcbiAgICAuY29uY2F0KGRpcmVjdE1lcmdlS2V5cyk7XG5cbiAgdmFyIG90aGVyS2V5cyA9IE9iamVjdFxuICAgIC5rZXlzKGNvbmZpZzEpXG4gICAgLmNvbmNhdChPYmplY3Qua2V5cyhjb25maWcyKSlcbiAgICAuZmlsdGVyKGZ1bmN0aW9uIGZpbHRlckF4aW9zS2V5cyhrZXkpIHtcbiAgICAgIHJldHVybiBheGlvc0tleXMuaW5kZXhPZihrZXkpID09PSAtMTtcbiAgICB9KTtcblxuICB1dGlscy5mb3JFYWNoKG90aGVyS2V5cywgbWVyZ2VEZWVwUHJvcGVydGllcyk7XG5cbiAgcmV0dXJuIGNvbmZpZztcbn07XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/axios/lib/core/mergeConfig.js\n"); /***/ }), /***/ "./node_modules/axios/lib/core/settle.js": /*!***********************************************!*\ !*** ./node_modules/axios/lib/core/settle.js ***! \***********************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; eval("\n\nvar createError = __webpack_require__(/*! ./createError */ \"./node_modules/axios/lib/core/createError.js\");\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError(\n 'Request failed with status code ' + response.status,\n response.config,\n null,\n response.request,\n response\n ));\n }\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2NvcmUvc2V0dGxlLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9jb3JlL3NldHRsZS5qcz80NjdmIl0sInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxudmFyIGNyZWF0ZUVycm9yID0gcmVxdWlyZSgnLi9jcmVhdGVFcnJvcicpO1xuXG4vKipcbiAqIFJlc29sdmUgb3IgcmVqZWN0IGEgUHJvbWlzZSBiYXNlZCBvbiByZXNwb25zZSBzdGF0dXMuXG4gKlxuICogQHBhcmFtIHtGdW5jdGlvbn0gcmVzb2x2ZSBBIGZ1bmN0aW9uIHRoYXQgcmVzb2x2ZXMgdGhlIHByb21pc2UuXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSByZWplY3QgQSBmdW5jdGlvbiB0aGF0IHJlamVjdHMgdGhlIHByb21pc2UuXG4gKiBAcGFyYW0ge29iamVjdH0gcmVzcG9uc2UgVGhlIHJlc3BvbnNlLlxuICovXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIHNldHRsZShyZXNvbHZlLCByZWplY3QsIHJlc3BvbnNlKSB7XG4gIHZhciB2YWxpZGF0ZVN0YXR1cyA9IHJlc3BvbnNlLmNvbmZpZy52YWxpZGF0ZVN0YXR1cztcbiAgaWYgKCFyZXNwb25zZS5zdGF0dXMgfHwgIXZhbGlkYXRlU3RhdHVzIHx8IHZhbGlkYXRlU3RhdHVzKHJlc3BvbnNlLnN0YXR1cykpIHtcbiAgICByZXNvbHZlKHJlc3BvbnNlKTtcbiAgfSBlbHNlIHtcbiAgICByZWplY3QoY3JlYXRlRXJyb3IoXG4gICAgICAnUmVxdWVzdCBmYWlsZWQgd2l0aCBzdGF0dXMgY29kZSAnICsgcmVzcG9uc2Uuc3RhdHVzLFxuICAgICAgcmVzcG9uc2UuY29uZmlnLFxuICAgICAgbnVsbCxcbiAgICAgIHJlc3BvbnNlLnJlcXVlc3QsXG4gICAgICByZXNwb25zZVxuICAgICkpO1xuICB9XG59O1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/axios/lib/core/settle.js\n"); /***/ }), /***/ "./node_modules/axios/lib/core/transformData.js": /*!******************************************************!*\ !*** ./node_modules/axios/lib/core/transformData.js ***! \******************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; eval("\n\nvar utils = __webpack_require__(/*! ./../utils */ \"./node_modules/axios/lib/utils.js\");\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn(data, headers);\n });\n\n return data;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2NvcmUvdHJhbnNmb3JtRGF0YS5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9heGlvcy9saWIvY29yZS90cmFuc2Zvcm1EYXRhLmpzP2M0MDEiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG52YXIgdXRpbHMgPSByZXF1aXJlKCcuLy4uL3V0aWxzJyk7XG5cbi8qKlxuICogVHJhbnNmb3JtIHRoZSBkYXRhIGZvciBhIHJlcXVlc3Qgb3IgYSByZXNwb25zZVxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fFN0cmluZ30gZGF0YSBUaGUgZGF0YSB0byBiZSB0cmFuc2Zvcm1lZFxuICogQHBhcmFtIHtBcnJheX0gaGVhZGVycyBUaGUgaGVhZGVycyBmb3IgdGhlIHJlcXVlc3Qgb3IgcmVzcG9uc2VcbiAqIEBwYXJhbSB7QXJyYXl8RnVuY3Rpb259IGZucyBBIHNpbmdsZSBmdW5jdGlvbiBvciBBcnJheSBvZiBmdW5jdGlvbnNcbiAqIEByZXR1cm5zIHsqfSBUaGUgcmVzdWx0aW5nIHRyYW5zZm9ybWVkIGRhdGFcbiAqL1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiB0cmFuc2Zvcm1EYXRhKGRhdGEsIGhlYWRlcnMsIGZucykge1xuICAvKmVzbGludCBuby1wYXJhbS1yZWFzc2lnbjowKi9cbiAgdXRpbHMuZm9yRWFjaChmbnMsIGZ1bmN0aW9uIHRyYW5zZm9ybShmbikge1xuICAgIGRhdGEgPSBmbihkYXRhLCBoZWFkZXJzKTtcbiAgfSk7XG5cbiAgcmV0dXJuIGRhdGE7XG59O1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/axios/lib/core/transformData.js\n"); /***/ }), /***/ "./node_modules/axios/lib/defaults.js": /*!********************************************!*\ !*** ./node_modules/axios/lib/defaults.js ***! \********************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; eval("/* WEBPACK VAR INJECTION */(function(process) {\n\nvar utils = __webpack_require__(/*! ./utils */ \"./node_modules/axios/lib/utils.js\");\nvar normalizeHeaderName = __webpack_require__(/*! ./helpers/normalizeHeaderName */ \"./node_modules/axios/lib/helpers/normalizeHeaderName.js\");\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = __webpack_require__(/*! ./adapters/xhr */ \"./node_modules/axios/lib/adapters/xhr.js\");\n } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n // For node use HTTP adapter\n adapter = __webpack_require__(/*! ./adapters/http */ \"./node_modules/axios/lib/adapters/xhr.js\");\n }\n return adapter;\n}\n\nvar defaults = {\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n if (utils.isObject(data)) {\n setContentTypeIfUnset(headers, 'application/json;charset=utf-8');\n return JSON.stringify(data);\n }\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n /*eslint no-param-reassign:0*/\n if (typeof data === 'string') {\n try {\n data = JSON.parse(data);\n } catch (e) { /* Ignore */ }\n }\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n }\n};\n\ndefaults.headers = {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../process/browser.js */ \"./node_modules/process/browser.js\")))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2RlZmF1bHRzLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9kZWZhdWx0cy5qcz8yNDQ0Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxudmFyIHV0aWxzID0gcmVxdWlyZSgnLi91dGlscycpO1xudmFyIG5vcm1hbGl6ZUhlYWRlck5hbWUgPSByZXF1aXJlKCcuL2hlbHBlcnMvbm9ybWFsaXplSGVhZGVyTmFtZScpO1xuXG52YXIgREVGQVVMVF9DT05URU5UX1RZUEUgPSB7XG4gICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJ1xufTtcblxuZnVuY3Rpb24gc2V0Q29udGVudFR5cGVJZlVuc2V0KGhlYWRlcnMsIHZhbHVlKSB7XG4gIGlmICghdXRpbHMuaXNVbmRlZmluZWQoaGVhZGVycykgJiYgdXRpbHMuaXNVbmRlZmluZWQoaGVhZGVyc1snQ29udGVudC1UeXBlJ10pKSB7XG4gICAgaGVhZGVyc1snQ29udGVudC1UeXBlJ10gPSB2YWx1ZTtcbiAgfVxufVxuXG5mdW5jdGlvbiBnZXREZWZhdWx0QWRhcHRlcigpIHtcbiAgdmFyIGFkYXB0ZXI7XG4gIGlmICh0eXBlb2YgWE1MSHR0cFJlcXVlc3QgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgLy8gRm9yIGJyb3dzZXJzIHVzZSBYSFIgYWRhcHRlclxuICAgIGFkYXB0ZXIgPSByZXF1aXJlKCcuL2FkYXB0ZXJzL3hocicpO1xuICB9IGVsc2UgaWYgKHR5cGVvZiBwcm9jZXNzICE9PSAndW5kZWZpbmVkJyAmJiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwocHJvY2VzcykgPT09ICdbb2JqZWN0IHByb2Nlc3NdJykge1xuICAgIC8vIEZvciBub2RlIHVzZSBIVFRQIGFkYXB0ZXJcbiAgICBhZGFwdGVyID0gcmVxdWlyZSgnLi9hZGFwdGVycy9odHRwJyk7XG4gIH1cbiAgcmV0dXJuIGFkYXB0ZXI7XG59XG5cbnZhciBkZWZhdWx0cyA9IHtcbiAgYWRhcHRlcjogZ2V0RGVmYXVsdEFkYXB0ZXIoKSxcblxuICB0cmFuc2Zvcm1SZXF1ZXN0OiBbZnVuY3Rpb24gdHJhbnNmb3JtUmVxdWVzdChkYXRhLCBoZWFkZXJzKSB7XG4gICAgbm9ybWFsaXplSGVhZGVyTmFtZShoZWFkZXJzLCAnQWNjZXB0Jyk7XG4gICAgbm9ybWFsaXplSGVhZGVyTmFtZShoZWFkZXJzLCAnQ29udGVudC1UeXBlJyk7XG4gICAgaWYgKHV0aWxzLmlzRm9ybURhdGEoZGF0YSkgfHxcbiAgICAgIHV0aWxzLmlzQXJyYXlCdWZmZXIoZGF0YSkgfHxcbiAgICAgIHV0aWxzLmlzQnVmZmVyKGRhdGEpIHx8XG4gICAgICB1dGlscy5pc1N0cmVhbShkYXRhKSB8fFxuICAgICAgdXRpbHMuaXNGaWxlKGRhdGEpIHx8XG4gICAgICB1dGlscy5pc0Jsb2IoZGF0YSlcbiAgICApIHtcbiAgICAgIHJldHVybiBkYXRhO1xuICAgIH1cbiAgICBpZiAodXRpbHMuaXNBcnJheUJ1ZmZlclZpZXcoZGF0YSkpIHtcbiAgICAgIHJldHVybiBkYXRhLmJ1ZmZlcjtcbiAgICB9XG4gICAgaWYgKHV0aWxzLmlzVVJMU2VhcmNoUGFyYW1zKGRhdGEpKSB7XG4gICAgICBzZXRDb250ZW50VHlwZUlmVW5zZXQoaGVhZGVycywgJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZDtjaGFyc2V0PXV0Zi04Jyk7XG4gICAgICByZXR1cm4gZGF0YS50b1N0cmluZygpO1xuICAgIH1cbiAgICBpZiAodXRpbHMuaXNPYmplY3QoZGF0YSkpIHtcbiAgICAgIHNldENvbnRlbnRUeXBlSWZVbnNldChoZWFkZXJzLCAnYXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04Jyk7XG4gICAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoZGF0YSk7XG4gICAgfVxuICAgIHJldHVybiBkYXRhO1xuICB9XSxcblxuICB0cmFuc2Zvcm1SZXNwb25zZTogW2Z1bmN0aW9uIHRyYW5zZm9ybVJlc3BvbnNlKGRhdGEpIHtcbiAgICAvKmVzbGludCBuby1wYXJhbS1yZWFzc2lnbjowKi9cbiAgICBpZiAodHlwZW9mIGRhdGEgPT09ICdzdHJpbmcnKSB7XG4gICAgICB0cnkge1xuICAgICAgICBkYXRhID0gSlNPTi5wYXJzZShkYXRhKTtcbiAgICAgIH0gY2F0Y2ggKGUpIHsgLyogSWdub3JlICovIH1cbiAgICB9XG4gICAgcmV0dXJuIGRhdGE7XG4gIH1dLFxuXG4gIC8qKlxuICAgKiBBIHRpbWVvdXQgaW4gbWlsbGlzZWNvbmRzIHRvIGFib3J0IGEgcmVxdWVzdC4gSWYgc2V0IHRvIDAgKGRlZmF1bHQpIGFcbiAgICogdGltZW91dCBpcyBub3QgY3JlYXRlZC5cbiAgICovXG4gIHRpbWVvdXQ6IDAsXG5cbiAgeHNyZkNvb2tpZU5hbWU6ICdYU1JGLVRPS0VOJyxcbiAgeHNyZkhlYWRlck5hbWU6ICdYLVhTUkYtVE9LRU4nLFxuXG4gIG1heENvbnRlbnRMZW5ndGg6IC0xLFxuICBtYXhCb2R5TGVuZ3RoOiAtMSxcblxuICB2YWxpZGF0ZVN0YXR1czogZnVuY3Rpb24gdmFsaWRhdGVTdGF0dXMoc3RhdHVzKSB7XG4gICAgcmV0dXJuIHN0YXR1cyA+PSAyMDAgJiYgc3RhdHVzIDwgMzAwO1xuICB9XG59O1xuXG5kZWZhdWx0cy5oZWFkZXJzID0ge1xuICBjb21tb246IHtcbiAgICAnQWNjZXB0JzogJ2FwcGxpY2F0aW9uL2pzb24sIHRleHQvcGxhaW4sICovKidcbiAgfVxufTtcblxudXRpbHMuZm9yRWFjaChbJ2RlbGV0ZScsICdnZXQnLCAnaGVhZCddLCBmdW5jdGlvbiBmb3JFYWNoTWV0aG9kTm9EYXRhKG1ldGhvZCkge1xuICBkZWZhdWx0cy5oZWFkZXJzW21ldGhvZF0gPSB7fTtcbn0pO1xuXG51dGlscy5mb3JFYWNoKFsncG9zdCcsICdwdXQnLCAncGF0Y2gnXSwgZnVuY3Rpb24gZm9yRWFjaE1ldGhvZFdpdGhEYXRhKG1ldGhvZCkge1xuICBkZWZhdWx0cy5oZWFkZXJzW21ldGhvZF0gPSB1dGlscy5tZXJnZShERUZBVUxUX0NPTlRFTlRfVFlQRSk7XG59KTtcblxubW9kdWxlLmV4cG9ydHMgPSBkZWZhdWx0cztcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/axios/lib/defaults.js\n"); /***/ }), /***/ "./node_modules/axios/lib/helpers/bind.js": /*!************************************************!*\ !*** ./node_modules/axios/lib/helpers/bind.js ***! \************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; eval("\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2hlbHBlcnMvYmluZC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9heGlvcy9saWIvaGVscGVycy9iaW5kLmpzPzFkMmIiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIGJpbmQoZm4sIHRoaXNBcmcpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIHdyYXAoKSB7XG4gICAgdmFyIGFyZ3MgPSBuZXcgQXJyYXkoYXJndW1lbnRzLmxlbmd0aCk7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBhcmdzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBhcmdzW2ldID0gYXJndW1lbnRzW2ldO1xuICAgIH1cbiAgICByZXR1cm4gZm4uYXBwbHkodGhpc0FyZywgYXJncyk7XG4gIH07XG59O1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/axios/lib/helpers/bind.js\n"); /***/ }), /***/ "./node_modules/axios/lib/helpers/buildURL.js": /*!****************************************************!*\ !*** ./node_modules/axios/lib/helpers/buildURL.js ***! \****************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; eval("\n\nvar utils = __webpack_require__(/*! ./../utils */ \"./node_modules/axios/lib/utils.js\");\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2hlbHBlcnMvYnVpbGRVUkwuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2hlbHBlcnMvYnVpbGRVUkwuanM/MzBiNSJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbnZhciB1dGlscyA9IHJlcXVpcmUoJy4vLi4vdXRpbHMnKTtcblxuZnVuY3Rpb24gZW5jb2RlKHZhbCkge1xuICByZXR1cm4gZW5jb2RlVVJJQ29tcG9uZW50KHZhbCkuXG4gICAgcmVwbGFjZSgvJTNBL2dpLCAnOicpLlxuICAgIHJlcGxhY2UoLyUyNC9nLCAnJCcpLlxuICAgIHJlcGxhY2UoLyUyQy9naSwgJywnKS5cbiAgICByZXBsYWNlKC8lMjAvZywgJysnKS5cbiAgICByZXBsYWNlKC8lNUIvZ2ksICdbJykuXG4gICAgcmVwbGFjZSgvJTVEL2dpLCAnXScpO1xufVxuXG4vKipcbiAqIEJ1aWxkIGEgVVJMIGJ5IGFwcGVuZGluZyBwYXJhbXMgdG8gdGhlIGVuZFxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSB1cmwgVGhlIGJhc2Ugb2YgdGhlIHVybCAoZS5nLiwgaHR0cDovL3d3dy5nb29nbGUuY29tKVxuICogQHBhcmFtIHtvYmplY3R9IFtwYXJhbXNdIFRoZSBwYXJhbXMgdG8gYmUgYXBwZW5kZWRcbiAqIEByZXR1cm5zIHtzdHJpbmd9IFRoZSBmb3JtYXR0ZWQgdXJsXG4gKi9cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gYnVpbGRVUkwodXJsLCBwYXJhbXMsIHBhcmFtc1NlcmlhbGl6ZXIpIHtcbiAgLyplc2xpbnQgbm8tcGFyYW0tcmVhc3NpZ246MCovXG4gIGlmICghcGFyYW1zKSB7XG4gICAgcmV0dXJuIHVybDtcbiAgfVxuXG4gIHZhciBzZXJpYWxpemVkUGFyYW1zO1xuICBpZiAocGFyYW1zU2VyaWFsaXplcikge1xuICAgIHNlcmlhbGl6ZWRQYXJhbXMgPSBwYXJhbXNTZXJpYWxpemVyKHBhcmFtcyk7XG4gIH0gZWxzZSBpZiAodXRpbHMuaXNVUkxTZWFyY2hQYXJhbXMocGFyYW1zKSkge1xuICAgIHNlcmlhbGl6ZWRQYXJhbXMgPSBwYXJhbXMudG9TdHJpbmcoKTtcbiAgfSBlbHNlIHtcbiAgICB2YXIgcGFydHMgPSBbXTtcblxuICAgIHV0aWxzLmZvckVhY2gocGFyYW1zLCBmdW5jdGlvbiBzZXJpYWxpemUodmFsLCBrZXkpIHtcbiAgICAgIGlmICh2YWwgPT09IG51bGwgfHwgdHlwZW9mIHZhbCA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAodXRpbHMuaXNBcnJheSh2YWwpKSB7XG4gICAgICAgIGtleSA9IGtleSArICdbXSc7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB2YWwgPSBbdmFsXTtcbiAgICAgIH1cblxuICAgICAgdXRpbHMuZm9yRWFjaCh2YWwsIGZ1bmN0aW9uIHBhcnNlVmFsdWUodikge1xuICAgICAgICBpZiAodXRpbHMuaXNEYXRlKHYpKSB7XG4gICAgICAgICAgdiA9IHYudG9JU09TdHJpbmcoKTtcbiAgICAgICAgfSBlbHNlIGlmICh1dGlscy5pc09iamVjdCh2KSkge1xuICAgICAgICAgIHYgPSBKU09OLnN0cmluZ2lmeSh2KTtcbiAgICAgICAgfVxuICAgICAgICBwYXJ0cy5wdXNoKGVuY29kZShrZXkpICsgJz0nICsgZW5jb2RlKHYpKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgc2VyaWFsaXplZFBhcmFtcyA9IHBhcnRzLmpvaW4oJyYnKTtcbiAgfVxuXG4gIGlmIChzZXJpYWxpemVkUGFyYW1zKSB7XG4gICAgdmFyIGhhc2htYXJrSW5kZXggPSB1cmwuaW5kZXhPZignIycpO1xuICAgIGlmIChoYXNobWFya0luZGV4ICE9PSAtMSkge1xuICAgICAgdXJsID0gdXJsLnNsaWNlKDAsIGhhc2htYXJrSW5kZXgpO1xuICAgIH1cblxuICAgIHVybCArPSAodXJsLmluZGV4T2YoJz8nKSA9PT0gLTEgPyAnPycgOiAnJicpICsgc2VyaWFsaXplZFBhcmFtcztcbiAgfVxuXG4gIHJldHVybiB1cmw7XG59O1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/axios/lib/helpers/buildURL.js\n"); /***/ }), /***/ "./node_modules/axios/lib/helpers/combineURLs.js": /*!*******************************************************!*\ !*** ./node_modules/axios/lib/helpers/combineURLs.js ***! \*******************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; eval("\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2hlbHBlcnMvY29tYmluZVVSTHMuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2hlbHBlcnMvY29tYmluZVVSTHMuanM/ZTY4MyJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbi8qKlxuICogQ3JlYXRlcyBhIG5ldyBVUkwgYnkgY29tYmluaW5nIHRoZSBzcGVjaWZpZWQgVVJMc1xuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBiYXNlVVJMIFRoZSBiYXNlIFVSTFxuICogQHBhcmFtIHtzdHJpbmd9IHJlbGF0aXZlVVJMIFRoZSByZWxhdGl2ZSBVUkxcbiAqIEByZXR1cm5zIHtzdHJpbmd9IFRoZSBjb21iaW5lZCBVUkxcbiAqL1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBjb21iaW5lVVJMcyhiYXNlVVJMLCByZWxhdGl2ZVVSTCkge1xuICByZXR1cm4gcmVsYXRpdmVVUkxcbiAgICA/IGJhc2VVUkwucmVwbGFjZSgvXFwvKyQvLCAnJykgKyAnLycgKyByZWxhdGl2ZVVSTC5yZXBsYWNlKC9eXFwvKy8sICcnKVxuICAgIDogYmFzZVVSTDtcbn07XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/axios/lib/helpers/combineURLs.js\n"); /***/ }), /***/ "./node_modules/axios/lib/helpers/cookies.js": /*!***************************************************!*\ !*** ./node_modules/axios/lib/helpers/cookies.js ***! \***************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; eval("\n\nvar utils = __webpack_require__(/*! ./../utils */ \"./node_modules/axios/lib/utils.js\");\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2hlbHBlcnMvY29va2llcy5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9heGlvcy9saWIvaGVscGVycy9jb29raWVzLmpzPzdhYWMiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG52YXIgdXRpbHMgPSByZXF1aXJlKCcuLy4uL3V0aWxzJyk7XG5cbm1vZHVsZS5leHBvcnRzID0gKFxuICB1dGlscy5pc1N0YW5kYXJkQnJvd3NlckVudigpID9cblxuICAvLyBTdGFuZGFyZCBicm93c2VyIGVudnMgc3VwcG9ydCBkb2N1bWVudC5jb29raWVcbiAgICAoZnVuY3Rpb24gc3RhbmRhcmRCcm93c2VyRW52KCkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgd3JpdGU6IGZ1bmN0aW9uIHdyaXRlKG5hbWUsIHZhbHVlLCBleHBpcmVzLCBwYXRoLCBkb21haW4sIHNlY3VyZSkge1xuICAgICAgICAgIHZhciBjb29raWUgPSBbXTtcbiAgICAgICAgICBjb29raWUucHVzaChuYW1lICsgJz0nICsgZW5jb2RlVVJJQ29tcG9uZW50KHZhbHVlKSk7XG5cbiAgICAgICAgICBpZiAodXRpbHMuaXNOdW1iZXIoZXhwaXJlcykpIHtcbiAgICAgICAgICAgIGNvb2tpZS5wdXNoKCdleHBpcmVzPScgKyBuZXcgRGF0ZShleHBpcmVzKS50b0dNVFN0cmluZygpKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAodXRpbHMuaXNTdHJpbmcocGF0aCkpIHtcbiAgICAgICAgICAgIGNvb2tpZS5wdXNoKCdwYXRoPScgKyBwYXRoKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAodXRpbHMuaXNTdHJpbmcoZG9tYWluKSkge1xuICAgICAgICAgICAgY29va2llLnB1c2goJ2RvbWFpbj0nICsgZG9tYWluKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoc2VjdXJlID09PSB0cnVlKSB7XG4gICAgICAgICAgICBjb29raWUucHVzaCgnc2VjdXJlJyk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgZG9jdW1lbnQuY29va2llID0gY29va2llLmpvaW4oJzsgJyk7XG4gICAgICAgIH0sXG5cbiAgICAgICAgcmVhZDogZnVuY3Rpb24gcmVhZChuYW1lKSB7XG4gICAgICAgICAgdmFyIG1hdGNoID0gZG9jdW1lbnQuY29va2llLm1hdGNoKG5ldyBSZWdFeHAoJyhefDtcXFxccyopKCcgKyBuYW1lICsgJyk9KFteO10qKScpKTtcbiAgICAgICAgICByZXR1cm4gKG1hdGNoID8gZGVjb2RlVVJJQ29tcG9uZW50KG1hdGNoWzNdKSA6IG51bGwpO1xuICAgICAgICB9LFxuXG4gICAgICAgIHJlbW92ZTogZnVuY3Rpb24gcmVtb3ZlKG5hbWUpIHtcbiAgICAgICAgICB0aGlzLndyaXRlKG5hbWUsICcnLCBEYXRlLm5vdygpIC0gODY0MDAwMDApO1xuICAgICAgICB9XG4gICAgICB9O1xuICAgIH0pKCkgOlxuXG4gIC8vIE5vbiBzdGFuZGFyZCBicm93c2VyIGVudiAod2ViIHdvcmtlcnMsIHJlYWN0LW5hdGl2ZSkgbGFjayBuZWVkZWQgc3VwcG9ydC5cbiAgICAoZnVuY3Rpb24gbm9uU3RhbmRhcmRCcm93c2VyRW52KCkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgd3JpdGU6IGZ1bmN0aW9uIHdyaXRlKCkge30sXG4gICAgICAgIHJlYWQ6IGZ1bmN0aW9uIHJlYWQoKSB7IHJldHVybiBudWxsOyB9LFxuICAgICAgICByZW1vdmU6IGZ1bmN0aW9uIHJlbW92ZSgpIHt9XG4gICAgICB9O1xuICAgIH0pKClcbik7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/axios/lib/helpers/cookies.js\n"); /***/ }), /***/ "./node_modules/axios/lib/helpers/isAbsoluteURL.js": /*!*********************************************************!*\ !*** ./node_modules/axios/lib/helpers/isAbsoluteURL.js ***! \*********************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; eval("\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2hlbHBlcnMvaXNBYnNvbHV0ZVVSTC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9heGlvcy9saWIvaGVscGVycy9pc0Fic29sdXRlVVJMLmpzP2Q5MjUiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG4vKipcbiAqIERldGVybWluZXMgd2hldGhlciB0aGUgc3BlY2lmaWVkIFVSTCBpcyBhYnNvbHV0ZVxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSB1cmwgVGhlIFVSTCB0byB0ZXN0XG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gVHJ1ZSBpZiB0aGUgc3BlY2lmaWVkIFVSTCBpcyBhYnNvbHV0ZSwgb3RoZXJ3aXNlIGZhbHNlXG4gKi9cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gaXNBYnNvbHV0ZVVSTCh1cmwpIHtcbiAgLy8gQSBVUkwgaXMgY29uc2lkZXJlZCBhYnNvbHV0ZSBpZiBpdCBiZWdpbnMgd2l0aCBcIjxzY2hlbWU+Oi8vXCIgb3IgXCIvL1wiIChwcm90b2NvbC1yZWxhdGl2ZSBVUkwpLlxuICAvLyBSRkMgMzk4NiBkZWZpbmVzIHNjaGVtZSBuYW1lIGFzIGEgc2VxdWVuY2Ugb2YgY2hhcmFjdGVycyBiZWdpbm5pbmcgd2l0aCBhIGxldHRlciBhbmQgZm9sbG93ZWRcbiAgLy8gYnkgYW55IGNvbWJpbmF0aW9uIG9mIGxldHRlcnMsIGRpZ2l0cywgcGx1cywgcGVyaW9kLCBvciBoeXBoZW4uXG4gIHJldHVybiAvXihbYS16XVthLXpcXGRcXCtcXC1cXC5dKjopP1xcL1xcLy9pLnRlc3QodXJsKTtcbn07XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/axios/lib/helpers/isAbsoluteURL.js\n"); /***/ }), /***/ "./node_modules/axios/lib/helpers/isAxiosError.js": /*!********************************************************!*\ !*** ./node_modules/axios/lib/helpers/isAxiosError.js ***! \********************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; eval("\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nmodule.exports = function isAxiosError(payload) {\n return (typeof payload === 'object') && (payload.isAxiosError === true);\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2hlbHBlcnMvaXNBeGlvc0Vycm9yLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9oZWxwZXJzL2lzQXhpb3NFcnJvci5qcz81ZjAyIl0sInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxuLyoqXG4gKiBEZXRlcm1pbmVzIHdoZXRoZXIgdGhlIHBheWxvYWQgaXMgYW4gZXJyb3IgdGhyb3duIGJ5IEF4aW9zXG4gKlxuICogQHBhcmFtIHsqfSBwYXlsb2FkIFRoZSB2YWx1ZSB0byB0ZXN0XG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gVHJ1ZSBpZiB0aGUgcGF5bG9hZCBpcyBhbiBlcnJvciB0aHJvd24gYnkgQXhpb3MsIG90aGVyd2lzZSBmYWxzZVxuICovXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIGlzQXhpb3NFcnJvcihwYXlsb2FkKSB7XG4gIHJldHVybiAodHlwZW9mIHBheWxvYWQgPT09ICdvYmplY3QnKSAmJiAocGF5bG9hZC5pc0F4aW9zRXJyb3IgPT09IHRydWUpO1xufTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/axios/lib/helpers/isAxiosError.js\n"); /***/ }), /***/ "./node_modules/axios/lib/helpers/isURLSameOrigin.js": /*!***********************************************************!*\ !*** ./node_modules/axios/lib/helpers/isURLSameOrigin.js ***! \***********************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; eval("\n\nvar utils = __webpack_require__(/*! ./../utils */ \"./node_modules/axios/lib/utils.js\");\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2hlbHBlcnMvaXNVUkxTYW1lT3JpZ2luLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9oZWxwZXJzL2lzVVJMU2FtZU9yaWdpbi5qcz8zOTM0Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxudmFyIHV0aWxzID0gcmVxdWlyZSgnLi8uLi91dGlscycpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IChcbiAgdXRpbHMuaXNTdGFuZGFyZEJyb3dzZXJFbnYoKSA/XG5cbiAgLy8gU3RhbmRhcmQgYnJvd3NlciBlbnZzIGhhdmUgZnVsbCBzdXBwb3J0IG9mIHRoZSBBUElzIG5lZWRlZCB0byB0ZXN0XG4gIC8vIHdoZXRoZXIgdGhlIHJlcXVlc3QgVVJMIGlzIG9mIHRoZSBzYW1lIG9yaWdpbiBhcyBjdXJyZW50IGxvY2F0aW9uLlxuICAgIChmdW5jdGlvbiBzdGFuZGFyZEJyb3dzZXJFbnYoKSB7XG4gICAgICB2YXIgbXNpZSA9IC8obXNpZXx0cmlkZW50KS9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCk7XG4gICAgICB2YXIgdXJsUGFyc2luZ05vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XG4gICAgICB2YXIgb3JpZ2luVVJMO1xuXG4gICAgICAvKipcbiAgICAqIFBhcnNlIGEgVVJMIHRvIGRpc2NvdmVyIGl0J3MgY29tcG9uZW50c1xuICAgICpcbiAgICAqIEBwYXJhbSB7U3RyaW5nfSB1cmwgVGhlIFVSTCB0byBiZSBwYXJzZWRcbiAgICAqIEByZXR1cm5zIHtPYmplY3R9XG4gICAgKi9cbiAgICAgIGZ1bmN0aW9uIHJlc29sdmVVUkwodXJsKSB7XG4gICAgICAgIHZhciBocmVmID0gdXJsO1xuXG4gICAgICAgIGlmIChtc2llKSB7XG4gICAgICAgIC8vIElFIG5lZWRzIGF0dHJpYnV0ZSBzZXQgdHdpY2UgdG8gbm9ybWFsaXplIHByb3BlcnRpZXNcbiAgICAgICAgICB1cmxQYXJzaW5nTm9kZS5zZXRBdHRyaWJ1dGUoJ2hyZWYnLCBocmVmKTtcbiAgICAgICAgICBocmVmID0gdXJsUGFyc2luZ05vZGUuaHJlZjtcbiAgICAgICAgfVxuXG4gICAgICAgIHVybFBhcnNpbmdOb2RlLnNldEF0dHJpYnV0ZSgnaHJlZicsIGhyZWYpO1xuXG4gICAgICAgIC8vIHVybFBhcnNpbmdOb2RlIHByb3ZpZGVzIHRoZSBVcmxVdGlscyBpbnRlcmZhY2UgLSBodHRwOi8vdXJsLnNwZWMud2hhdHdnLm9yZy8jdXJsdXRpbHNcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBocmVmOiB1cmxQYXJzaW5nTm9kZS5ocmVmLFxuICAgICAgICAgIHByb3RvY29sOiB1cmxQYXJzaW5nTm9kZS5wcm90b2NvbCA/IHVybFBhcnNpbmdOb2RlLnByb3RvY29sLnJlcGxhY2UoLzokLywgJycpIDogJycsXG4gICAgICAgICAgaG9zdDogdXJsUGFyc2luZ05vZGUuaG9zdCxcbiAgICAgICAgICBzZWFyY2g6IHVybFBhcnNpbmdOb2RlLnNlYXJjaCA/IHVybFBhcnNpbmdOb2RlLnNlYXJjaC5yZXBsYWNlKC9eXFw/LywgJycpIDogJycsXG4gICAgICAgICAgaGFzaDogdXJsUGFyc2luZ05vZGUuaGFzaCA/IHVybFBhcnNpbmdOb2RlLmhhc2gucmVwbGFjZSgvXiMvLCAnJykgOiAnJyxcbiAgICAgICAgICBob3N0bmFtZTogdXJsUGFyc2luZ05vZGUuaG9zdG5hbWUsXG4gICAgICAgICAgcG9ydDogdXJsUGFyc2luZ05vZGUucG9ydCxcbiAgICAgICAgICBwYXRobmFtZTogKHVybFBhcnNpbmdOb2RlLnBhdGhuYW1lLmNoYXJBdCgwKSA9PT0gJy8nKSA/XG4gICAgICAgICAgICB1cmxQYXJzaW5nTm9kZS5wYXRobmFtZSA6XG4gICAgICAgICAgICAnLycgKyB1cmxQYXJzaW5nTm9kZS5wYXRobmFtZVxuICAgICAgICB9O1xuICAgICAgfVxuXG4gICAgICBvcmlnaW5VUkwgPSByZXNvbHZlVVJMKHdpbmRvdy5sb2NhdGlvbi5ocmVmKTtcblxuICAgICAgLyoqXG4gICAgKiBEZXRlcm1pbmUgaWYgYSBVUkwgc2hhcmVzIHRoZSBzYW1lIG9yaWdpbiBhcyB0aGUgY3VycmVudCBsb2NhdGlvblxuICAgICpcbiAgICAqIEBwYXJhbSB7U3RyaW5nfSByZXF1ZXN0VVJMIFRoZSBVUkwgdG8gdGVzdFxuICAgICogQHJldHVybnMge2Jvb2xlYW59IFRydWUgaWYgVVJMIHNoYXJlcyB0aGUgc2FtZSBvcmlnaW4sIG90aGVyd2lzZSBmYWxzZVxuICAgICovXG4gICAgICByZXR1cm4gZnVuY3Rpb24gaXNVUkxTYW1lT3JpZ2luKHJlcXVlc3RVUkwpIHtcbiAgICAgICAgdmFyIHBhcnNlZCA9ICh1dGlscy5pc1N0cmluZyhyZXF1ZXN0VVJMKSkgPyByZXNvbHZlVVJMKHJlcXVlc3RVUkwpIDogcmVxdWVzdFVSTDtcbiAgICAgICAgcmV0dXJuIChwYXJzZWQucHJvdG9jb2wgPT09IG9yaWdpblVSTC5wcm90b2NvbCAmJlxuICAgICAgICAgICAgcGFyc2VkLmhvc3QgPT09IG9yaWdpblVSTC5ob3N0KTtcbiAgICAgIH07XG4gICAgfSkoKSA6XG5cbiAgLy8gTm9uIHN0YW5kYXJkIGJyb3dzZXIgZW52cyAod2ViIHdvcmtlcnMsIHJlYWN0LW5hdGl2ZSkgbGFjayBuZWVkZWQgc3VwcG9ydC5cbiAgICAoZnVuY3Rpb24gbm9uU3RhbmRhcmRCcm93c2VyRW52KCkge1xuICAgICAgcmV0dXJuIGZ1bmN0aW9uIGlzVVJMU2FtZU9yaWdpbigpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9O1xuICAgIH0pKClcbik7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/axios/lib/helpers/isURLSameOrigin.js\n"); /***/ }), /***/ "./node_modules/axios/lib/helpers/normalizeHeaderName.js": /*!***************************************************************!*\ !*** ./node_modules/axios/lib/helpers/normalizeHeaderName.js ***! \***************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; eval("\n\nvar utils = __webpack_require__(/*! ../utils */ \"./node_modules/axios/lib/utils.js\");\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2hlbHBlcnMvbm9ybWFsaXplSGVhZGVyTmFtZS5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9heGlvcy9saWIvaGVscGVycy9ub3JtYWxpemVIZWFkZXJOYW1lLmpzP2M4YWYiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG52YXIgdXRpbHMgPSByZXF1aXJlKCcuLi91dGlscycpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIG5vcm1hbGl6ZUhlYWRlck5hbWUoaGVhZGVycywgbm9ybWFsaXplZE5hbWUpIHtcbiAgdXRpbHMuZm9yRWFjaChoZWFkZXJzLCBmdW5jdGlvbiBwcm9jZXNzSGVhZGVyKHZhbHVlLCBuYW1lKSB7XG4gICAgaWYgKG5hbWUgIT09IG5vcm1hbGl6ZWROYW1lICYmIG5hbWUudG9VcHBlckNhc2UoKSA9PT0gbm9ybWFsaXplZE5hbWUudG9VcHBlckNhc2UoKSkge1xuICAgICAgaGVhZGVyc1tub3JtYWxpemVkTmFtZV0gPSB2YWx1ZTtcbiAgICAgIGRlbGV0ZSBoZWFkZXJzW25hbWVdO1xuICAgIH1cbiAgfSk7XG59O1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/axios/lib/helpers/normalizeHeaderName.js\n"); /***/ }), /***/ "./node_modules/axios/lib/helpers/parseHeaders.js": /*!********************************************************!*\ !*** ./node_modules/axios/lib/helpers/parseHeaders.js ***! \********************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; eval("\n\nvar utils = __webpack_require__(/*! ./../utils */ \"./node_modules/axios/lib/utils.js\");\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2hlbHBlcnMvcGFyc2VIZWFkZXJzLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9oZWxwZXJzL3BhcnNlSGVhZGVycy5qcz9jMzQ1Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxudmFyIHV0aWxzID0gcmVxdWlyZSgnLi8uLi91dGlscycpO1xuXG4vLyBIZWFkZXJzIHdob3NlIGR1cGxpY2F0ZXMgYXJlIGlnbm9yZWQgYnkgbm9kZVxuLy8gYy5mLiBodHRwczovL25vZGVqcy5vcmcvYXBpL2h0dHAuaHRtbCNodHRwX21lc3NhZ2VfaGVhZGVyc1xudmFyIGlnbm9yZUR1cGxpY2F0ZU9mID0gW1xuICAnYWdlJywgJ2F1dGhvcml6YXRpb24nLCAnY29udGVudC1sZW5ndGgnLCAnY29udGVudC10eXBlJywgJ2V0YWcnLFxuICAnZXhwaXJlcycsICdmcm9tJywgJ2hvc3QnLCAnaWYtbW9kaWZpZWQtc2luY2UnLCAnaWYtdW5tb2RpZmllZC1zaW5jZScsXG4gICdsYXN0LW1vZGlmaWVkJywgJ2xvY2F0aW9uJywgJ21heC1mb3J3YXJkcycsICdwcm94eS1hdXRob3JpemF0aW9uJyxcbiAgJ3JlZmVyZXInLCAncmV0cnktYWZ0ZXInLCAndXNlci1hZ2VudCdcbl07XG5cbi8qKlxuICogUGFyc2UgaGVhZGVycyBpbnRvIGFuIG9iamVjdFxuICpcbiAqIGBgYFxuICogRGF0ZTogV2VkLCAyNyBBdWcgMjAxNCAwODo1ODo0OSBHTVRcbiAqIENvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvblxuICogQ29ubmVjdGlvbjoga2VlcC1hbGl2ZVxuICogVHJhbnNmZXItRW5jb2Rpbmc6IGNodW5rZWRcbiAqIGBgYFxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSBoZWFkZXJzIEhlYWRlcnMgbmVlZGluZyB0byBiZSBwYXJzZWRcbiAqIEByZXR1cm5zIHtPYmplY3R9IEhlYWRlcnMgcGFyc2VkIGludG8gYW4gb2JqZWN0XG4gKi9cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gcGFyc2VIZWFkZXJzKGhlYWRlcnMpIHtcbiAgdmFyIHBhcnNlZCA9IHt9O1xuICB2YXIga2V5O1xuICB2YXIgdmFsO1xuICB2YXIgaTtcblxuICBpZiAoIWhlYWRlcnMpIHsgcmV0dXJuIHBhcnNlZDsgfVxuXG4gIHV0aWxzLmZvckVhY2goaGVhZGVycy5zcGxpdCgnXFxuJyksIGZ1bmN0aW9uIHBhcnNlcihsaW5lKSB7XG4gICAgaSA9IGxpbmUuaW5kZXhPZignOicpO1xuICAgIGtleSA9IHV0aWxzLnRyaW0obGluZS5zdWJzdHIoMCwgaSkpLnRvTG93ZXJDYXNlKCk7XG4gICAgdmFsID0gdXRpbHMudHJpbShsaW5lLnN1YnN0cihpICsgMSkpO1xuXG4gICAgaWYgKGtleSkge1xuICAgICAgaWYgKHBhcnNlZFtrZXldICYmIGlnbm9yZUR1cGxpY2F0ZU9mLmluZGV4T2Yoa2V5KSA+PSAwKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGlmIChrZXkgPT09ICdzZXQtY29va2llJykge1xuICAgICAgICBwYXJzZWRba2V5XSA9IChwYXJzZWRba2V5XSA/IHBhcnNlZFtrZXldIDogW10pLmNvbmNhdChbdmFsXSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBwYXJzZWRba2V5XSA9IHBhcnNlZFtrZXldID8gcGFyc2VkW2tleV0gKyAnLCAnICsgdmFsIDogdmFsO1xuICAgICAgfVxuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIHBhcnNlZDtcbn07XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/axios/lib/helpers/parseHeaders.js\n"); /***/ }), /***/ "./node_modules/axios/lib/helpers/spread.js": /*!**************************************************!*\ !*** ./node_modules/axios/lib/helpers/spread.js ***! \**************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; eval("\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2hlbHBlcnMvc3ByZWFkLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9oZWxwZXJzL3NwcmVhZC5qcz8wZGY2Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxuLyoqXG4gKiBTeW50YWN0aWMgc3VnYXIgZm9yIGludm9raW5nIGEgZnVuY3Rpb24gYW5kIGV4cGFuZGluZyBhbiBhcnJheSBmb3IgYXJndW1lbnRzLlxuICpcbiAqIENvbW1vbiB1c2UgY2FzZSB3b3VsZCBiZSB0byB1c2UgYEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseWAuXG4gKlxuICogIGBgYGpzXG4gKiAgZnVuY3Rpb24gZih4LCB5LCB6KSB7fVxuICogIHZhciBhcmdzID0gWzEsIDIsIDNdO1xuICogIGYuYXBwbHkobnVsbCwgYXJncyk7XG4gKiAgYGBgXG4gKlxuICogV2l0aCBgc3ByZWFkYCB0aGlzIGV4YW1wbGUgY2FuIGJlIHJlLXdyaXR0ZW4uXG4gKlxuICogIGBgYGpzXG4gKiAgc3ByZWFkKGZ1bmN0aW9uKHgsIHksIHopIHt9KShbMSwgMiwgM10pO1xuICogIGBgYFxuICpcbiAqIEBwYXJhbSB7RnVuY3Rpb259IGNhbGxiYWNrXG4gKiBAcmV0dXJucyB7RnVuY3Rpb259XG4gKi9cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gc3ByZWFkKGNhbGxiYWNrKSB7XG4gIHJldHVybiBmdW5jdGlvbiB3cmFwKGFycikge1xuICAgIHJldHVybiBjYWxsYmFjay5hcHBseShudWxsLCBhcnIpO1xuICB9O1xufTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/axios/lib/helpers/spread.js\n"); /***/ }), /***/ "./node_modules/axios/lib/utils.js": /*!*****************************************!*\ !*** ./node_modules/axios/lib/utils.js ***! \*****************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; eval("\n\nvar bind = __webpack_require__(/*! ./helpers/bind */ \"./node_modules/axios/lib/helpers/bind.js\");\n\n/*global toString:true*/\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return toString.call(val) === '[object Array]';\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n return (typeof FormData !== 'undefined') && (val instanceof FormData);\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {Object} val The value to test\n * @return {boolean} True if value is a plain Object, otherwise false\n */\nfunction isPlainObject(val) {\n if (toString.call(val) !== '[object Object]') {\n return false;\n }\n\n var prototype = Object.getPrototypeOf(val);\n return prototype === null || prototype === Object.prototype;\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.replace(/^\\s*/, '').replace(/\\s*$/, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||\n navigator.product === 'NativeScript' ||\n navigator.product === 'NS')) {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (isPlainObject(result[key]) && isPlainObject(val)) {\n result[key] = merge(result[key], val);\n } else if (isPlainObject(val)) {\n result[key] = merge({}, val);\n } else if (isArray(val)) {\n result[key] = val.slice();\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n * @return {string} content value without BOM\n */\nfunction stripBOM(content) {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isPlainObject: isPlainObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim,\n stripBOM: stripBOM\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL3V0aWxzLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi91dGlscy5qcz9jNTMyIl0sInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxudmFyIGJpbmQgPSByZXF1aXJlKCcuL2hlbHBlcnMvYmluZCcpO1xuXG4vKmdsb2JhbCB0b1N0cmluZzp0cnVlKi9cblxuLy8gdXRpbHMgaXMgYSBsaWJyYXJ5IG9mIGdlbmVyaWMgaGVscGVyIGZ1bmN0aW9ucyBub24tc3BlY2lmaWMgdG8gYXhpb3NcblxudmFyIHRvU3RyaW5nID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZztcblxuLyoqXG4gKiBEZXRlcm1pbmUgaWYgYSB2YWx1ZSBpcyBhbiBBcnJheVxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSB2YWwgVGhlIHZhbHVlIHRvIHRlc3RcbiAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmIHZhbHVlIGlzIGFuIEFycmF5LCBvdGhlcndpc2UgZmFsc2VcbiAqL1xuZnVuY3Rpb24gaXNBcnJheSh2YWwpIHtcbiAgcmV0dXJuIHRvU3RyaW5nLmNhbGwodmFsKSA9PT0gJ1tvYmplY3QgQXJyYXldJztcbn1cblxuLyoqXG4gKiBEZXRlcm1pbmUgaWYgYSB2YWx1ZSBpcyB1bmRlZmluZWRcbiAqXG4gKiBAcGFyYW0ge09iamVjdH0gdmFsIFRoZSB2YWx1ZSB0byB0ZXN0XG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gVHJ1ZSBpZiB0aGUgdmFsdWUgaXMgdW5kZWZpbmVkLCBvdGhlcndpc2UgZmFsc2VcbiAqL1xuZnVuY3Rpb24gaXNVbmRlZmluZWQodmFsKSB7XG4gIHJldHVybiB0eXBlb2YgdmFsID09PSAndW5kZWZpbmVkJztcbn1cblxuLyoqXG4gKiBEZXRlcm1pbmUgaWYgYSB2YWx1ZSBpcyBhIEJ1ZmZlclxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSB2YWwgVGhlIHZhbHVlIHRvIHRlc3RcbiAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmIHZhbHVlIGlzIGEgQnVmZmVyLCBvdGhlcndpc2UgZmFsc2VcbiAqL1xuZnVuY3Rpb24gaXNCdWZmZXIodmFsKSB7XG4gIHJldHVybiB2YWwgIT09IG51bGwgJiYgIWlzVW5kZWZpbmVkKHZhbCkgJiYgdmFsLmNvbnN0cnVjdG9yICE9PSBudWxsICYmICFpc1VuZGVmaW5lZCh2YWwuY29uc3RydWN0b3IpXG4gICAgJiYgdHlwZW9mIHZhbC5jb25zdHJ1Y3Rvci5pc0J1ZmZlciA9PT0gJ2Z1bmN0aW9uJyAmJiB2YWwuY29uc3RydWN0b3IuaXNCdWZmZXIodmFsKTtcbn1cblxuLyoqXG4gKiBEZXRlcm1pbmUgaWYgYSB2YWx1ZSBpcyBhbiBBcnJheUJ1ZmZlclxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSB2YWwgVGhlIHZhbHVlIHRvIHRlc3RcbiAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmIHZhbHVlIGlzIGFuIEFycmF5QnVmZmVyLCBvdGhlcndpc2UgZmFsc2VcbiAqL1xuZnVuY3Rpb24gaXNBcnJheUJ1ZmZlcih2YWwpIHtcbiAgcmV0dXJuIHRvU3RyaW5nLmNhbGwodmFsKSA9PT0gJ1tvYmplY3QgQXJyYXlCdWZmZXJdJztcbn1cblxuLyoqXG4gKiBEZXRlcm1pbmUgaWYgYSB2YWx1ZSBpcyBhIEZvcm1EYXRhXG4gKlxuICogQHBhcmFtIHtPYmplY3R9IHZhbCBUaGUgdmFsdWUgdG8gdGVzdFxuICogQHJldHVybnMge2Jvb2xlYW59IFRydWUgaWYgdmFsdWUgaXMgYW4gRm9ybURhdGEsIG90aGVyd2lzZSBmYWxzZVxuICovXG5mdW5jdGlvbiBpc0Zvcm1EYXRhKHZhbCkge1xuICByZXR1cm4gKHR5cGVvZiBGb3JtRGF0YSAhPT0gJ3VuZGVmaW5lZCcpICYmICh2YWwgaW5zdGFuY2VvZiBGb3JtRGF0YSk7XG59XG5cbi8qKlxuICogRGV0ZXJtaW5lIGlmIGEgdmFsdWUgaXMgYSB2aWV3IG9uIGFuIEFycmF5QnVmZmVyXG4gKlxuICogQHBhcmFtIHtPYmplY3R9IHZhbCBUaGUgdmFsdWUgdG8gdGVzdFxuICogQHJldHVybnMge2Jvb2xlYW59IFRydWUgaWYgdmFsdWUgaXMgYSB2aWV3IG9uIGFuIEFycmF5QnVmZmVyLCBvdGhlcndpc2UgZmFsc2VcbiAqL1xuZnVuY3Rpb24gaXNBcnJheUJ1ZmZlclZpZXcodmFsKSB7XG4gIHZhciByZXN1bHQ7XG4gIGlmICgodHlwZW9mIEFycmF5QnVmZmVyICE9PSAndW5kZWZpbmVkJykgJiYgKEFycmF5QnVmZmVyLmlzVmlldykpIHtcbiAgICByZXN1bHQgPSBBcnJheUJ1ZmZlci5pc1ZpZXcodmFsKTtcbiAgfSBlbHNlIHtcbiAgICByZXN1bHQgPSAodmFsKSAmJiAodmFsLmJ1ZmZlcikgJiYgKHZhbC5idWZmZXIgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcik7XG4gIH1cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuLyoqXG4gKiBEZXRlcm1pbmUgaWYgYSB2YWx1ZSBpcyBhIFN0cmluZ1xuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSB2YWwgVGhlIHZhbHVlIHRvIHRlc3RcbiAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmIHZhbHVlIGlzIGEgU3RyaW5nLCBvdGhlcndpc2UgZmFsc2VcbiAqL1xuZnVuY3Rpb24gaXNTdHJpbmcodmFsKSB7XG4gIHJldHVybiB0eXBlb2YgdmFsID09PSAnc3RyaW5nJztcbn1cblxuLyoqXG4gKiBEZXRlcm1pbmUgaWYgYSB2YWx1ZSBpcyBhIE51bWJlclxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSB2YWwgVGhlIHZhbHVlIHRvIHRlc3RcbiAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmIHZhbHVlIGlzIGEgTnVtYmVyLCBvdGhlcndpc2UgZmFsc2VcbiAqL1xuZnVuY3Rpb24gaXNOdW1iZXIodmFsKSB7XG4gIHJldHVybiB0eXBlb2YgdmFsID09PSAnbnVtYmVyJztcbn1cblxuLyoqXG4gKiBEZXRlcm1pbmUgaWYgYSB2YWx1ZSBpcyBhbiBPYmplY3RcbiAqXG4gKiBAcGFyYW0ge09iamVjdH0gdmFsIFRoZSB2YWx1ZSB0byB0ZXN0XG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gVHJ1ZSBpZiB2YWx1ZSBpcyBhbiBPYmplY3QsIG90aGVyd2lzZSBmYWxzZVxuICovXG5mdW5jdGlvbiBpc09iamVjdCh2YWwpIHtcbiAgcmV0dXJuIHZhbCAhPT0gbnVsbCAmJiB0eXBlb2YgdmFsID09PSAnb2JqZWN0Jztcbn1cblxuLyoqXG4gKiBEZXRlcm1pbmUgaWYgYSB2YWx1ZSBpcyBhIHBsYWluIE9iamVjdFxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSB2YWwgVGhlIHZhbHVlIHRvIHRlc3RcbiAqIEByZXR1cm4ge2Jvb2xlYW59IFRydWUgaWYgdmFsdWUgaXMgYSBwbGFpbiBPYmplY3QsIG90aGVyd2lzZSBmYWxzZVxuICovXG5mdW5jdGlvbiBpc1BsYWluT2JqZWN0KHZhbCkge1xuICBpZiAodG9TdHJpbmcuY2FsbCh2YWwpICE9PSAnW29iamVjdCBPYmplY3RdJykge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHZhciBwcm90b3R5cGUgPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YodmFsKTtcbiAgcmV0dXJuIHByb3RvdHlwZSA9PT0gbnVsbCB8fCBwcm90b3R5cGUgPT09IE9iamVjdC5wcm90b3R5cGU7XG59XG5cbi8qKlxuICogRGV0ZXJtaW5lIGlmIGEgdmFsdWUgaXMgYSBEYXRlXG4gKlxuICogQHBhcmFtIHtPYmplY3R9IHZhbCBUaGUgdmFsdWUgdG8gdGVzdFxuICogQHJldHVybnMge2Jvb2xlYW59IFRydWUgaWYgdmFsdWUgaXMgYSBEYXRlLCBvdGhlcndpc2UgZmFsc2VcbiAqL1xuZnVuY3Rpb24gaXNEYXRlKHZhbCkge1xuICByZXR1cm4gdG9TdHJpbmcuY2FsbCh2YWwpID09PSAnW29iamVjdCBEYXRlXSc7XG59XG5cbi8qKlxuICogRGV0ZXJtaW5lIGlmIGEgdmFsdWUgaXMgYSBGaWxlXG4gKlxuICogQHBhcmFtIHtPYmplY3R9IHZhbCBUaGUgdmFsdWUgdG8gdGVzdFxuICogQHJldHVybnMge2Jvb2xlYW59IFRydWUgaWYgdmFsdWUgaXMgYSBGaWxlLCBvdGhlcndpc2UgZmFsc2VcbiAqL1xuZnVuY3Rpb24gaXNGaWxlKHZhbCkge1xuICByZXR1cm4gdG9TdHJpbmcuY2FsbCh2YWwpID09PSAnW29iamVjdCBGaWxlXSc7XG59XG5cbi8qKlxuICogRGV0ZXJtaW5lIGlmIGEgdmFsdWUgaXMgYSBCbG9iXG4gKlxuICogQHBhcmFtIHtPYmplY3R9IHZhbCBUaGUgdmFsdWUgdG8gdGVzdFxuICogQHJldHVybnMge2Jvb2xlYW59IFRydWUgaWYgdmFsdWUgaXMgYSBCbG9iLCBvdGhlcndpc2UgZmFsc2VcbiAqL1xuZnVuY3Rpb24gaXNCbG9iKHZhbCkge1xuICByZXR1cm4gdG9TdHJpbmcuY2FsbCh2YWwpID09PSAnW29iamVjdCBCbG9iXSc7XG59XG5cbi8qKlxuICogRGV0ZXJtaW5lIGlmIGEgdmFsdWUgaXMgYSBGdW5jdGlvblxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSB2YWwgVGhlIHZhbHVlIHRvIHRlc3RcbiAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmIHZhbHVlIGlzIGEgRnVuY3Rpb24sIG90aGVyd2lzZSBmYWxzZVxuICovXG5mdW5jdGlvbiBpc0Z1bmN0aW9uKHZhbCkge1xuICByZXR1cm4gdG9TdHJpbmcuY2FsbCh2YWwpID09PSAnW29iamVjdCBGdW5jdGlvbl0nO1xufVxuXG4vKipcbiAqIERldGVybWluZSBpZiBhIHZhbHVlIGlzIGEgU3RyZWFtXG4gKlxuICogQHBhcmFtIHtPYmplY3R9IHZhbCBUaGUgdmFsdWUgdG8gdGVzdFxuICogQHJldHVybnMge2Jvb2xlYW59IFRydWUgaWYgdmFsdWUgaXMgYSBTdHJlYW0sIG90aGVyd2lzZSBmYWxzZVxuICovXG5mdW5jdGlvbiBpc1N0cmVhbSh2YWwpIHtcbiAgcmV0dXJuIGlzT2JqZWN0KHZhbCkgJiYgaXNGdW5jdGlvbih2YWwucGlwZSk7XG59XG5cbi8qKlxuICogRGV0ZXJtaW5lIGlmIGEgdmFsdWUgaXMgYSBVUkxTZWFyY2hQYXJhbXMgb2JqZWN0XG4gKlxuICogQHBhcmFtIHtPYmplY3R9IHZhbCBUaGUgdmFsdWUgdG8gdGVzdFxuICogQHJldHVybnMge2Jvb2xlYW59IFRydWUgaWYgdmFsdWUgaXMgYSBVUkxTZWFyY2hQYXJhbXMgb2JqZWN0LCBvdGhlcndpc2UgZmFsc2VcbiAqL1xuZnVuY3Rpb24gaXNVUkxTZWFyY2hQYXJhbXModmFsKSB7XG4gIHJldHVybiB0eXBlb2YgVVJMU2VhcmNoUGFyYW1zICE9PSAndW5kZWZpbmVkJyAmJiB2YWwgaW5zdGFuY2VvZiBVUkxTZWFyY2hQYXJhbXM7XG59XG5cbi8qKlxuICogVHJpbSBleGNlc3Mgd2hpdGVzcGFjZSBvZmYgdGhlIGJlZ2lubmluZyBhbmQgZW5kIG9mIGEgc3RyaW5nXG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IHN0ciBUaGUgU3RyaW5nIHRvIHRyaW1cbiAqIEByZXR1cm5zIHtTdHJpbmd9IFRoZSBTdHJpbmcgZnJlZWQgb2YgZXhjZXNzIHdoaXRlc3BhY2VcbiAqL1xuZnVuY3Rpb24gdHJpbShzdHIpIHtcbiAgcmV0dXJuIHN0ci5yZXBsYWNlKC9eXFxzKi8sICcnKS5yZXBsYWNlKC9cXHMqJC8sICcnKTtcbn1cblxuLyoqXG4gKiBEZXRlcm1pbmUgaWYgd2UncmUgcnVubmluZyBpbiBhIHN0YW5kYXJkIGJyb3dzZXIgZW52aXJvbm1lbnRcbiAqXG4gKiBUaGlzIGFsbG93cyBheGlvcyB0byBydW4gaW4gYSB3ZWIgd29ya2VyLCBhbmQgcmVhY3QtbmF0aXZlLlxuICogQm90aCBlbnZpcm9ubWVudHMgc3VwcG9ydCBYTUxIdHRwUmVxdWVzdCwgYnV0IG5vdCBmdWxseSBzdGFuZGFyZCBnbG9iYWxzLlxuICpcbiAqIHdlYiB3b3JrZXJzOlxuICogIHR5cGVvZiB3aW5kb3cgLT4gdW5kZWZpbmVkXG4gKiAgdHlwZW9mIGRvY3VtZW50IC0+IHVuZGVmaW5lZFxuICpcbiAqIHJlYWN0LW5hdGl2ZTpcbiAqICBuYXZpZ2F0b3IucHJvZHVjdCAtPiAnUmVhY3ROYXRpdmUnXG4gKiBuYXRpdmVzY3JpcHRcbiAqICBuYXZpZ2F0b3IucHJvZHVjdCAtPiAnTmF0aXZlU2NyaXB0JyBvciAnTlMnXG4gKi9cbmZ1bmN0aW9uIGlzU3RhbmRhcmRCcm93c2VyRW52KCkge1xuICBpZiAodHlwZW9mIG5hdmlnYXRvciAhPT0gJ3VuZGVmaW5lZCcgJiYgKG5hdmlnYXRvci5wcm9kdWN0ID09PSAnUmVhY3ROYXRpdmUnIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmF2aWdhdG9yLnByb2R1Y3QgPT09ICdOYXRpdmVTY3JpcHQnIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmF2aWdhdG9yLnByb2R1Y3QgPT09ICdOUycpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHJldHVybiAoXG4gICAgdHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgJiZcbiAgICB0eXBlb2YgZG9jdW1lbnQgIT09ICd1bmRlZmluZWQnXG4gICk7XG59XG5cbi8qKlxuICogSXRlcmF0ZSBvdmVyIGFuIEFycmF5IG9yIGFuIE9iamVjdCBpbnZva2luZyBhIGZ1bmN0aW9uIGZvciBlYWNoIGl0ZW0uXG4gKlxuICogSWYgYG9iamAgaXMgYW4gQXJyYXkgY2FsbGJhY2sgd2lsbCBiZSBjYWxsZWQgcGFzc2luZ1xuICogdGhlIHZhbHVlLCBpbmRleCwgYW5kIGNvbXBsZXRlIGFycmF5IGZvciBlYWNoIGl0ZW0uXG4gKlxuICogSWYgJ29iaicgaXMgYW4gT2JqZWN0IGNhbGxiYWNrIHdpbGwgYmUgY2FsbGVkIHBhc3NpbmdcbiAqIHRoZSB2YWx1ZSwga2V5LCBhbmQgY29tcGxldGUgb2JqZWN0IGZvciBlYWNoIHByb3BlcnR5LlxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fEFycmF5fSBvYmogVGhlIG9iamVjdCB0byBpdGVyYXRlXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBmbiBUaGUgY2FsbGJhY2sgdG8gaW52b2tlIGZvciBlYWNoIGl0ZW1cbiAqL1xuZnVuY3Rpb24gZm9yRWFjaChvYmosIGZuKSB7XG4gIC8vIERvbid0IGJvdGhlciBpZiBubyB2YWx1ZSBwcm92aWRlZFxuICBpZiAob2JqID09PSBudWxsIHx8IHR5cGVvZiBvYmogPT09ICd1bmRlZmluZWQnKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgLy8gRm9yY2UgYW4gYXJyYXkgaWYgbm90IGFscmVhZHkgc29tZXRoaW5nIGl0ZXJhYmxlXG4gIGlmICh0eXBlb2Ygb2JqICE9PSAnb2JqZWN0Jykge1xuICAgIC8qZXNsaW50IG5vLXBhcmFtLXJlYXNzaWduOjAqL1xuICAgIG9iaiA9IFtvYmpdO1xuICB9XG5cbiAgaWYgKGlzQXJyYXkob2JqKSkge1xuICAgIC8vIEl0ZXJhdGUgb3ZlciBhcnJheSB2YWx1ZXNcbiAgICBmb3IgKHZhciBpID0gMCwgbCA9IG9iai5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICAgIGZuLmNhbGwobnVsbCwgb2JqW2ldLCBpLCBvYmopO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICAvLyBJdGVyYXRlIG92ZXIgb2JqZWN0IGtleXNcbiAgICBmb3IgKHZhciBrZXkgaW4gb2JqKSB7XG4gICAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iaiwga2V5KSkge1xuICAgICAgICBmbi5jYWxsKG51bGwsIG9ialtrZXldLCBrZXksIG9iaik7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogQWNjZXB0cyB2YXJhcmdzIGV4cGVjdGluZyBlYWNoIGFyZ3VtZW50IHRvIGJlIGFuIG9iamVjdCwgdGhlblxuICogaW1tdXRhYmx5IG1lcmdlcyB0aGUgcHJvcGVydGllcyBvZiBlYWNoIG9iamVjdCBhbmQgcmV0dXJucyByZXN1bHQuXG4gKlxuICogV2hlbiBtdWx0aXBsZSBvYmplY3RzIGNvbnRhaW4gdGhlIHNhbWUga2V5IHRoZSBsYXRlciBvYmplY3QgaW5cbiAqIHRoZSBhcmd1bWVudHMgbGlzdCB3aWxsIHRha2UgcHJlY2VkZW5jZS5cbiAqXG4gKiBFeGFtcGxlOlxuICpcbiAqIGBgYGpzXG4gKiB2YXIgcmVzdWx0ID0gbWVyZ2Uoe2ZvbzogMTIzfSwge2ZvbzogNDU2fSk7XG4gKiBjb25zb2xlLmxvZyhyZXN1bHQuZm9vKTsgLy8gb3V0cHV0cyA0NTZcbiAqIGBgYFxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSBvYmoxIE9iamVjdCB0byBtZXJnZVxuICogQHJldHVybnMge09iamVjdH0gUmVzdWx0IG9mIGFsbCBtZXJnZSBwcm9wZXJ0aWVzXG4gKi9cbmZ1bmN0aW9uIG1lcmdlKC8qIG9iajEsIG9iajIsIG9iajMsIC4uLiAqLykge1xuICB2YXIgcmVzdWx0ID0ge307XG4gIGZ1bmN0aW9uIGFzc2lnblZhbHVlKHZhbCwga2V5KSB7XG4gICAgaWYgKGlzUGxhaW5PYmplY3QocmVzdWx0W2tleV0pICYmIGlzUGxhaW5PYmplY3QodmFsKSkge1xuICAgICAgcmVzdWx0W2tleV0gPSBtZXJnZShyZXN1bHRba2V5XSwgdmFsKTtcbiAgICB9IGVsc2UgaWYgKGlzUGxhaW5PYmplY3QodmFsKSkge1xuICAgICAgcmVzdWx0W2tleV0gPSBtZXJnZSh7fSwgdmFsKTtcbiAgICB9IGVsc2UgaWYgKGlzQXJyYXkodmFsKSkge1xuICAgICAgcmVzdWx0W2tleV0gPSB2YWwuc2xpY2UoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmVzdWx0W2tleV0gPSB2YWw7XG4gICAgfVxuICB9XG5cbiAgZm9yICh2YXIgaSA9IDAsIGwgPSBhcmd1bWVudHMubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgZm9yRWFjaChhcmd1bWVudHNbaV0sIGFzc2lnblZhbHVlKTtcbiAgfVxuICByZXR1cm4gcmVzdWx0O1xufVxuXG4vKipcbiAqIEV4dGVuZHMgb2JqZWN0IGEgYnkgbXV0YWJseSBhZGRpbmcgdG8gaXQgdGhlIHByb3BlcnRpZXMgb2Ygb2JqZWN0IGIuXG4gKlxuICogQHBhcmFtIHtPYmplY3R9IGEgVGhlIG9iamVjdCB0byBiZSBleHRlbmRlZFxuICogQHBhcmFtIHtPYmplY3R9IGIgVGhlIG9iamVjdCB0byBjb3B5IHByb3BlcnRpZXMgZnJvbVxuICogQHBhcmFtIHtPYmplY3R9IHRoaXNBcmcgVGhlIG9iamVjdCB0byBiaW5kIGZ1bmN0aW9uIHRvXG4gKiBAcmV0dXJuIHtPYmplY3R9IFRoZSByZXN1bHRpbmcgdmFsdWUgb2Ygb2JqZWN0IGFcbiAqL1xuZnVuY3Rpb24gZXh0ZW5kKGEsIGIsIHRoaXNBcmcpIHtcbiAgZm9yRWFjaChiLCBmdW5jdGlvbiBhc3NpZ25WYWx1ZSh2YWwsIGtleSkge1xuICAgIGlmICh0aGlzQXJnICYmIHR5cGVvZiB2YWwgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGFba2V5XSA9IGJpbmQodmFsLCB0aGlzQXJnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgYVtrZXldID0gdmFsO1xuICAgIH1cbiAgfSk7XG4gIHJldHVybiBhO1xufVxuXG4vKipcbiAqIFJlbW92ZSBieXRlIG9yZGVyIG1hcmtlci4gVGhpcyBjYXRjaGVzIEVGIEJCIEJGICh0aGUgVVRGLTggQk9NKVxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBjb250ZW50IHdpdGggQk9NXG4gKiBAcmV0dXJuIHtzdHJpbmd9IGNvbnRlbnQgdmFsdWUgd2l0aG91dCBCT01cbiAqL1xuZnVuY3Rpb24gc3RyaXBCT00oY29udGVudCkge1xuICBpZiAoY29udGVudC5jaGFyQ29kZUF0KDApID09PSAweEZFRkYpIHtcbiAgICBjb250ZW50ID0gY29udGVudC5zbGljZSgxKTtcbiAgfVxuICByZXR1cm4gY29udGVudDtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSB7XG4gIGlzQXJyYXk6IGlzQXJyYXksXG4gIGlzQXJyYXlCdWZmZXI6IGlzQXJyYXlCdWZmZXIsXG4gIGlzQnVmZmVyOiBpc0J1ZmZlcixcbiAgaXNGb3JtRGF0YTogaXNGb3JtRGF0YSxcbiAgaXNBcnJheUJ1ZmZlclZpZXc6IGlzQXJyYXlCdWZmZXJWaWV3LFxuICBpc1N0cmluZzogaXNTdHJpbmcsXG4gIGlzTnVtYmVyOiBpc051bWJlcixcbiAgaXNPYmplY3Q6IGlzT2JqZWN0LFxuICBpc1BsYWluT2JqZWN0OiBpc1BsYWluT2JqZWN0LFxuICBpc1VuZGVmaW5lZDogaXNVbmRlZmluZWQsXG4gIGlzRGF0ZTogaXNEYXRlLFxuICBpc0ZpbGU6IGlzRmlsZSxcbiAgaXNCbG9iOiBpc0Jsb2IsXG4gIGlzRnVuY3Rpb246IGlzRnVuY3Rpb24sXG4gIGlzU3RyZWFtOiBpc1N0cmVhbSxcbiAgaXNVUkxTZWFyY2hQYXJhbXM6IGlzVVJMU2VhcmNoUGFyYW1zLFxuICBpc1N0YW5kYXJkQnJvd3NlckVudjogaXNTdGFuZGFyZEJyb3dzZXJFbnYsXG4gIGZvckVhY2g6IGZvckVhY2gsXG4gIG1lcmdlOiBtZXJnZSxcbiAgZXh0ZW5kOiBleHRlbmQsXG4gIHRyaW06IHRyaW0sXG4gIHN0cmlwQk9NOiBzdHJpcEJPTVxufTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/axios/lib/utils.js\n"); /***/ }), /***/ "./node_modules/backo2/index.js": /*!**************************************!*\ !*** ./node_modules/backo2/index.js ***! \**************************************/ /*! no static exports found */ /***/ (function(module, exports) { eval("\n/**\n * Expose `Backoff`.\n */\n\nmodule.exports = Backoff;\n\n/**\n * Initialize backoff timer with `opts`.\n *\n * - `min` initial timeout in milliseconds [100]\n * - `max` max timeout [10000]\n * - `jitter` [0]\n * - `factor` [2]\n *\n * @param {Object} opts\n * @api public\n */\n\nfunction Backoff(opts) {\n opts = opts || {};\n this.ms = opts.min || 100;\n this.max = opts.max || 10000;\n this.factor = opts.factor || 2;\n this.jitter = opts.jitter > 0 && opts.jitter <= 1 ? opts.jitter : 0;\n this.attempts = 0;\n}\n\n/**\n * Return the backoff duration.\n *\n * @return {Number}\n * @api public\n */\n\nBackoff.prototype.duration = function(){\n var ms = this.ms * Math.pow(this.factor, this.attempts++);\n if (this.jitter) {\n var rand = Math.random();\n var deviation = Math.floor(rand * this.jitter * ms);\n ms = (Math.floor(rand * 10) & 1) == 0 ? ms - deviation : ms + deviation;\n }\n return Math.min(ms, this.max) | 0;\n};\n\n/**\n * Reset the number of attempts.\n *\n * @api public\n */\n\nBackoff.prototype.reset = function(){\n this.attempts = 0;\n};\n\n/**\n * Set the minimum duration\n *\n * @api public\n */\n\nBackoff.prototype.setMin = function(min){\n this.ms = min;\n};\n\n/**\n * Set the maximum duration\n *\n * @api public\n */\n\nBackoff.prototype.setMax = function(max){\n this.max = max;\n};\n\n/**\n * Set the jitter\n *\n * @api public\n */\n\nBackoff.prototype.setJitter = function(jitter){\n this.jitter = jitter;\n};\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYmFja28yL2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2JhY2tvMi9pbmRleC5qcz8wYjY0Il0sInNvdXJjZXNDb250ZW50IjpbIlxuLyoqXG4gKiBFeHBvc2UgYEJhY2tvZmZgLlxuICovXG5cbm1vZHVsZS5leHBvcnRzID0gQmFja29mZjtcblxuLyoqXG4gKiBJbml0aWFsaXplIGJhY2tvZmYgdGltZXIgd2l0aCBgb3B0c2AuXG4gKlxuICogLSBgbWluYCBpbml0aWFsIHRpbWVvdXQgaW4gbWlsbGlzZWNvbmRzIFsxMDBdXG4gKiAtIGBtYXhgIG1heCB0aW1lb3V0IFsxMDAwMF1cbiAqIC0gYGppdHRlcmAgWzBdXG4gKiAtIGBmYWN0b3JgIFsyXVxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSBvcHRzXG4gKiBAYXBpIHB1YmxpY1xuICovXG5cbmZ1bmN0aW9uIEJhY2tvZmYob3B0cykge1xuICBvcHRzID0gb3B0cyB8fCB7fTtcbiAgdGhpcy5tcyA9IG9wdHMubWluIHx8IDEwMDtcbiAgdGhpcy5tYXggPSBvcHRzLm1heCB8fCAxMDAwMDtcbiAgdGhpcy5mYWN0b3IgPSBvcHRzLmZhY3RvciB8fCAyO1xuICB0aGlzLmppdHRlciA9IG9wdHMuaml0dGVyID4gMCAmJiBvcHRzLmppdHRlciA8PSAxID8gb3B0cy5qaXR0ZXIgOiAwO1xuICB0aGlzLmF0dGVtcHRzID0gMDtcbn1cblxuLyoqXG4gKiBSZXR1cm4gdGhlIGJhY2tvZmYgZHVyYXRpb24uXG4gKlxuICogQHJldHVybiB7TnVtYmVyfVxuICogQGFwaSBwdWJsaWNcbiAqL1xuXG5CYWNrb2ZmLnByb3RvdHlwZS5kdXJhdGlvbiA9IGZ1bmN0aW9uKCl7XG4gIHZhciBtcyA9IHRoaXMubXMgKiBNYXRoLnBvdyh0aGlzLmZhY3RvciwgdGhpcy5hdHRlbXB0cysrKTtcbiAgaWYgKHRoaXMuaml0dGVyKSB7XG4gICAgdmFyIHJhbmQgPSAgTWF0aC5yYW5kb20oKTtcbiAgICB2YXIgZGV2aWF0aW9uID0gTWF0aC5mbG9vcihyYW5kICogdGhpcy5qaXR0ZXIgKiBtcyk7XG4gICAgbXMgPSAoTWF0aC5mbG9vcihyYW5kICogMTApICYgMSkgPT0gMCAgPyBtcyAtIGRldmlhdGlvbiA6IG1zICsgZGV2aWF0aW9uO1xuICB9XG4gIHJldHVybiBNYXRoLm1pbihtcywgdGhpcy5tYXgpIHwgMDtcbn07XG5cbi8qKlxuICogUmVzZXQgdGhlIG51bWJlciBvZiBhdHRlbXB0cy5cbiAqXG4gKiBAYXBpIHB1YmxpY1xuICovXG5cbkJhY2tvZmYucHJvdG90eXBlLnJlc2V0ID0gZnVuY3Rpb24oKXtcbiAgdGhpcy5hdHRlbXB0cyA9IDA7XG59O1xuXG4vKipcbiAqIFNldCB0aGUgbWluaW11bSBkdXJhdGlvblxuICpcbiAqIEBhcGkgcHVibGljXG4gKi9cblxuQmFja29mZi5wcm90b3R5cGUuc2V0TWluID0gZnVuY3Rpb24obWluKXtcbiAgdGhpcy5tcyA9IG1pbjtcbn07XG5cbi8qKlxuICogU2V0IHRoZSBtYXhpbXVtIGR1cmF0aW9uXG4gKlxuICogQGFwaSBwdWJsaWNcbiAqL1xuXG5CYWNrb2ZmLnByb3RvdHlwZS5zZXRNYXggPSBmdW5jdGlvbihtYXgpe1xuICB0aGlzLm1heCA9IG1heDtcbn07XG5cbi8qKlxuICogU2V0IHRoZSBqaXR0ZXJcbiAqXG4gKiBAYXBpIHB1YmxpY1xuICovXG5cbkJhY2tvZmYucHJvdG90eXBlLnNldEppdHRlciA9IGZ1bmN0aW9uKGppdHRlcil7XG4gIHRoaXMuaml0dGVyID0gaml0dGVyO1xufTtcblxuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/backo2/index.js\n"); /***/ }), /***/ "./node_modules/balanced-match/index.js": /*!**********************************************!*\ !*** ./node_modules/balanced-match/index.js ***! \**********************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; eval("\nmodule.exports = balanced;\nfunction balanced(a, b, str) {\n if (a instanceof RegExp) a = maybeMatch(a, str);\n if (b instanceof RegExp) b = maybeMatch(b, str);\n\n var r = range(a, b, str);\n\n return r && {\n start: r[0],\n end: r[1],\n pre: str.slice(0, r[0]),\n body: str.slice(r[0] + a.length, r[1]),\n post: str.slice(r[1] + b.length)\n };\n}\n\nfunction maybeMatch(reg, str) {\n var m = str.match(reg);\n return m ? m[0] : null;\n}\n\nbalanced.range = range;\nfunction range(a, b, str) {\n var begs, beg, left, right, result;\n var ai = str.indexOf(a);\n var bi = str.indexOf(b, ai + 1);\n var i = ai;\n\n if (ai >= 0 && bi > 0) {\n begs = [];\n left = str.length;\n\n while (i >= 0 && !result) {\n if (i == ai) {\n begs.push(i);\n ai = str.indexOf(a, i + 1);\n } else if (begs.length == 1) {\n result = [ begs.pop(), bi ];\n } else {\n beg = begs.pop();\n if (beg < left) {\n left = beg;\n right = bi;\n }\n\n bi = str.indexOf(b, i + 1);\n }\n\n i = ai < bi && ai >= 0 ? ai : bi;\n }\n\n if (begs.length) {\n result = [ left, right ];\n }\n }\n\n return result;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYmFsYW5jZWQtbWF0Y2gvaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYmFsYW5jZWQtbWF0Y2gvaW5kZXguanM/OTFiMCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5tb2R1bGUuZXhwb3J0cyA9IGJhbGFuY2VkO1xuZnVuY3Rpb24gYmFsYW5jZWQoYSwgYiwgc3RyKSB7XG4gIGlmIChhIGluc3RhbmNlb2YgUmVnRXhwKSBhID0gbWF5YmVNYXRjaChhLCBzdHIpO1xuICBpZiAoYiBpbnN0YW5jZW9mIFJlZ0V4cCkgYiA9IG1heWJlTWF0Y2goYiwgc3RyKTtcblxuICB2YXIgciA9IHJhbmdlKGEsIGIsIHN0cik7XG5cbiAgcmV0dXJuIHIgJiYge1xuICAgIHN0YXJ0OiByWzBdLFxuICAgIGVuZDogclsxXSxcbiAgICBwcmU6IHN0ci5zbGljZSgwLCByWzBdKSxcbiAgICBib2R5OiBzdHIuc2xpY2UoclswXSArIGEubGVuZ3RoLCByWzFdKSxcbiAgICBwb3N0OiBzdHIuc2xpY2UoclsxXSArIGIubGVuZ3RoKVxuICB9O1xufVxuXG5mdW5jdGlvbiBtYXliZU1hdGNoKHJlZywgc3RyKSB7XG4gIHZhciBtID0gc3RyLm1hdGNoKHJlZyk7XG4gIHJldHVybiBtID8gbVswXSA6IG51bGw7XG59XG5cbmJhbGFuY2VkLnJhbmdlID0gcmFuZ2U7XG5mdW5jdGlvbiByYW5nZShhLCBiLCBzdHIpIHtcbiAgdmFyIGJlZ3MsIGJlZywgbGVmdCwgcmlnaHQsIHJlc3VsdDtcbiAgdmFyIGFpID0gc3RyLmluZGV4T2YoYSk7XG4gIHZhciBiaSA9IHN0ci5pbmRleE9mKGIsIGFpICsgMSk7XG4gIHZhciBpID0gYWk7XG5cbiAgaWYgKGFpID49IDAgJiYgYmkgPiAwKSB7XG4gICAgYmVncyA9IFtdO1xuICAgIGxlZnQgPSBzdHIubGVuZ3RoO1xuXG4gICAgd2hpbGUgKGkgPj0gMCAmJiAhcmVzdWx0KSB7XG4gICAgICBpZiAoaSA9PSBhaSkge1xuICAgICAgICBiZWdzLnB1c2goaSk7XG4gICAgICAgIGFpID0gc3RyLmluZGV4T2YoYSwgaSArIDEpO1xuICAgICAgfSBlbHNlIGlmIChiZWdzLmxlbmd0aCA9PSAxKSB7XG4gICAgICAgIHJlc3VsdCA9IFsgYmVncy5wb3AoKSwgYmkgXTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGJlZyA9IGJlZ3MucG9wKCk7XG4gICAgICAgIGlmIChiZWcgPCBsZWZ0KSB7XG4gICAgICAgICAgbGVmdCA9IGJlZztcbiAgICAgICAgICByaWdodCA9IGJpO1xuICAgICAgICB9XG5cbiAgICAgICAgYmkgPSBzdHIuaW5kZXhPZihiLCBpICsgMSk7XG4gICAgICB9XG5cbiAgICAgIGkgPSBhaSA8IGJpICYmIGFpID49IDAgPyBhaSA6IGJpO1xuICAgIH1cblxuICAgIGlmIChiZWdzLmxlbmd0aCkge1xuICAgICAgcmVzdWx0ID0gWyBsZWZ0LCByaWdodCBdO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiByZXN1bHQ7XG59XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/balanced-match/index.js\n"); /***/ }), /***/ "./node_modules/base64-arraybuffer/lib/base64-arraybuffer.js": /*!*******************************************************************!*\ !*** ./node_modules/base64-arraybuffer/lib/base64-arraybuffer.js ***! \*******************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { eval("/*\n * base64-arraybuffer\n * https://github.com/niklasvh/base64-arraybuffer\n *\n * Copyright (c) 2012 Niklas von Hertzen\n * Licensed under the MIT license.\n */\n(function(){\n \"use strict\";\n\n var chars = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\n\n // Use a lookup table to find the index.\n var lookup = new Uint8Array(256);\n for (var i = 0; i < chars.length; i++) {\n lookup[chars.charCodeAt(i)] = i;\n }\n\n exports.encode = function(arraybuffer) {\n var bytes = new Uint8Array(arraybuffer),\n i, len = bytes.length, base64 = \"\";\n\n for (i = 0; i < len; i+=3) {\n base64 += chars[bytes[i] >> 2];\n base64 += chars[((bytes[i] & 3) << 4) | (bytes[i + 1] >> 4)];\n base64 += chars[((bytes[i + 1] & 15) << 2) | (bytes[i + 2] >> 6)];\n base64 += chars[bytes[i + 2] & 63];\n }\n\n if ((len % 3) === 2) {\n base64 = base64.substring(0, base64.length - 1) + \"=\";\n } else if (len % 3 === 1) {\n base64 = base64.substring(0, base64.length - 2) + \"==\";\n }\n\n return base64;\n };\n\n exports.decode = function(base64) {\n var bufferLength = base64.length * 0.75,\n len = base64.length, i, p = 0,\n encoded1, encoded2, encoded3, encoded4;\n\n if (base64[base64.length - 1] === \"=\") {\n bufferLength--;\n if (base64[base64.length - 2] === \"=\") {\n bufferLength--;\n }\n }\n\n var arraybuffer = new ArrayBuffer(bufferLength),\n bytes = new Uint8Array(arraybuffer);\n\n for (i = 0; i < len; i+=4) {\n encoded1 = lookup[base64.charCodeAt(i)];\n encoded2 = lookup[base64.charCodeAt(i+1)];\n encoded3 = lookup[base64.charCodeAt(i+2)];\n encoded4 = lookup[base64.charCodeAt(i+3)];\n\n bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);\n bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);\n bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);\n }\n\n return arraybuffer;\n };\n})();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYmFzZTY0LWFycmF5YnVmZmVyL2xpYi9iYXNlNjQtYXJyYXlidWZmZXIuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYmFzZTY0LWFycmF5YnVmZmVyL2xpYi9iYXNlNjQtYXJyYXlidWZmZXIuanM/ODM5MCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogYmFzZTY0LWFycmF5YnVmZmVyXG4gKiBodHRwczovL2dpdGh1Yi5jb20vbmlrbGFzdmgvYmFzZTY0LWFycmF5YnVmZmVyXG4gKlxuICogQ29weXJpZ2h0IChjKSAyMDEyIE5pa2xhcyB2b24gSGVydHplblxuICogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLlxuICovXG4oZnVuY3Rpb24oKXtcbiAgXCJ1c2Ugc3RyaWN0XCI7XG5cbiAgdmFyIGNoYXJzID0gXCJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsvXCI7XG5cbiAgLy8gVXNlIGEgbG9va3VwIHRhYmxlIHRvIGZpbmQgdGhlIGluZGV4LlxuICB2YXIgbG9va3VwID0gbmV3IFVpbnQ4QXJyYXkoMjU2KTtcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBjaGFycy5sZW5ndGg7IGkrKykge1xuICAgIGxvb2t1cFtjaGFycy5jaGFyQ29kZUF0KGkpXSA9IGk7XG4gIH1cblxuICBleHBvcnRzLmVuY29kZSA9IGZ1bmN0aW9uKGFycmF5YnVmZmVyKSB7XG4gICAgdmFyIGJ5dGVzID0gbmV3IFVpbnQ4QXJyYXkoYXJyYXlidWZmZXIpLFxuICAgIGksIGxlbiA9IGJ5dGVzLmxlbmd0aCwgYmFzZTY0ID0gXCJcIjtcblxuICAgIGZvciAoaSA9IDA7IGkgPCBsZW47IGkrPTMpIHtcbiAgICAgIGJhc2U2NCArPSBjaGFyc1tieXRlc1tpXSA+PiAyXTtcbiAgICAgIGJhc2U2NCArPSBjaGFyc1soKGJ5dGVzW2ldICYgMykgPDwgNCkgfCAoYnl0ZXNbaSArIDFdID4+IDQpXTtcbiAgICAgIGJhc2U2NCArPSBjaGFyc1soKGJ5dGVzW2kgKyAxXSAmIDE1KSA8PCAyKSB8IChieXRlc1tpICsgMl0gPj4gNildO1xuICAgICAgYmFzZTY0ICs9IGNoYXJzW2J5dGVzW2kgKyAyXSAmIDYzXTtcbiAgICB9XG5cbiAgICBpZiAoKGxlbiAlIDMpID09PSAyKSB7XG4gICAgICBiYXNlNjQgPSBiYXNlNjQuc3Vic3RyaW5nKDAsIGJhc2U2NC5sZW5ndGggLSAxKSArIFwiPVwiO1xuICAgIH0gZWxzZSBpZiAobGVuICUgMyA9PT0gMSkge1xuICAgICAgYmFzZTY0ID0gYmFzZTY0LnN1YnN0cmluZygwLCBiYXNlNjQubGVuZ3RoIC0gMikgKyBcIj09XCI7XG4gICAgfVxuXG4gICAgcmV0dXJuIGJhc2U2NDtcbiAgfTtcblxuICBleHBvcnRzLmRlY29kZSA9ICBmdW5jdGlvbihiYXNlNjQpIHtcbiAgICB2YXIgYnVmZmVyTGVuZ3RoID0gYmFzZTY0Lmxlbmd0aCAqIDAuNzUsXG4gICAgbGVuID0gYmFzZTY0Lmxlbmd0aCwgaSwgcCA9IDAsXG4gICAgZW5jb2RlZDEsIGVuY29kZWQyLCBlbmNvZGVkMywgZW5jb2RlZDQ7XG5cbiAgICBpZiAoYmFzZTY0W2Jhc2U2NC5sZW5ndGggLSAxXSA9PT0gXCI9XCIpIHtcbiAgICAgIGJ1ZmZlckxlbmd0aC0tO1xuICAgICAgaWYgKGJhc2U2NFtiYXNlNjQubGVuZ3RoIC0gMl0gPT09IFwiPVwiKSB7XG4gICAgICAgIGJ1ZmZlckxlbmd0aC0tO1xuICAgICAgfVxuICAgIH1cblxuICAgIHZhciBhcnJheWJ1ZmZlciA9IG5ldyBBcnJheUJ1ZmZlcihidWZmZXJMZW5ndGgpLFxuICAgIGJ5dGVzID0gbmV3IFVpbnQ4QXJyYXkoYXJyYXlidWZmZXIpO1xuXG4gICAgZm9yIChpID0gMDsgaSA8IGxlbjsgaSs9NCkge1xuICAgICAgZW5jb2RlZDEgPSBsb29rdXBbYmFzZTY0LmNoYXJDb2RlQXQoaSldO1xuICAgICAgZW5jb2RlZDIgPSBsb29rdXBbYmFzZTY0LmNoYXJDb2RlQXQoaSsxKV07XG4gICAgICBlbmNvZGVkMyA9IGxvb2t1cFtiYXNlNjQuY2hhckNvZGVBdChpKzIpXTtcbiAgICAgIGVuY29kZWQ0ID0gbG9va3VwW2Jhc2U2NC5jaGFyQ29kZUF0KGkrMyldO1xuXG4gICAgICBieXRlc1twKytdID0gKGVuY29kZWQxIDw8IDIpIHwgKGVuY29kZWQyID4+IDQpO1xuICAgICAgYnl0ZXNbcCsrXSA9ICgoZW5jb2RlZDIgJiAxNSkgPDwgNCkgfCAoZW5jb2RlZDMgPj4gMik7XG4gICAgICBieXRlc1twKytdID0gKChlbmNvZGVkMyAmIDMpIDw8IDYpIHwgKGVuY29kZWQ0ICYgNjMpO1xuICAgIH1cblxuICAgIHJldHVybiBhcnJheWJ1ZmZlcjtcbiAgfTtcbn0pKCk7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/base64-arraybuffer/lib/base64-arraybuffer.js\n"); /***/ }), /***/ "./node_modules/base64-js/index.js": /*!*****************************************!*\ !*** ./node_modules/base64-js/index.js ***! \*****************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; eval("\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYmFzZTY0LWpzL2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jhc2U2NC1qcy9pbmRleC5qcz8xZmI1Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0J1xuXG5leHBvcnRzLmJ5dGVMZW5ndGggPSBieXRlTGVuZ3RoXG5leHBvcnRzLnRvQnl0ZUFycmF5ID0gdG9CeXRlQXJyYXlcbmV4cG9ydHMuZnJvbUJ5dGVBcnJheSA9IGZyb21CeXRlQXJyYXlcblxudmFyIGxvb2t1cCA9IFtdXG52YXIgcmV2TG9va3VwID0gW11cbnZhciBBcnIgPSB0eXBlb2YgVWludDhBcnJheSAhPT0gJ3VuZGVmaW5lZCcgPyBVaW50OEFycmF5IDogQXJyYXlcblxudmFyIGNvZGUgPSAnQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLydcbmZvciAodmFyIGkgPSAwLCBsZW4gPSBjb2RlLmxlbmd0aDsgaSA8IGxlbjsgKytpKSB7XG4gIGxvb2t1cFtpXSA9IGNvZGVbaV1cbiAgcmV2TG9va3VwW2NvZGUuY2hhckNvZGVBdChpKV0gPSBpXG59XG5cbi8vIFN1cHBvcnQgZGVjb2RpbmcgVVJMLXNhZmUgYmFzZTY0IHN0cmluZ3MsIGFzIE5vZGUuanMgZG9lcy5cbi8vIFNlZTogaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvQmFzZTY0I1VSTF9hcHBsaWNhdGlvbnNcbnJldkxvb2t1cFsnLScuY2hhckNvZGVBdCgwKV0gPSA2MlxucmV2TG9va3VwWydfJy5jaGFyQ29kZUF0KDApXSA9IDYzXG5cbmZ1bmN0aW9uIGdldExlbnMgKGI2NCkge1xuICB2YXIgbGVuID0gYjY0Lmxlbmd0aFxuXG4gIGlmIChsZW4gJSA0ID4gMCkge1xuICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBzdHJpbmcuIExlbmd0aCBtdXN0IGJlIGEgbXVsdGlwbGUgb2YgNCcpXG4gIH1cblxuICAvLyBUcmltIG9mZiBleHRyYSBieXRlcyBhZnRlciBwbGFjZWhvbGRlciBieXRlcyBhcmUgZm91bmRcbiAgLy8gU2VlOiBodHRwczovL2dpdGh1Yi5jb20vYmVhdGdhbW1pdC9iYXNlNjQtanMvaXNzdWVzLzQyXG4gIHZhciB2YWxpZExlbiA9IGI2NC5pbmRleE9mKCc9JylcbiAgaWYgKHZhbGlkTGVuID09PSAtMSkgdmFsaWRMZW4gPSBsZW5cblxuICB2YXIgcGxhY2VIb2xkZXJzTGVuID0gdmFsaWRMZW4gPT09IGxlblxuICAgID8gMFxuICAgIDogNCAtICh2YWxpZExlbiAlIDQpXG5cbiAgcmV0dXJuIFt2YWxpZExlbiwgcGxhY2VIb2xkZXJzTGVuXVxufVxuXG4vLyBiYXNlNjQgaXMgNC8zICsgdXAgdG8gdHdvIGNoYXJhY3RlcnMgb2YgdGhlIG9yaWdpbmFsIGRhdGFcbmZ1bmN0aW9uIGJ5dGVMZW5ndGggKGI2NCkge1xuICB2YXIgbGVucyA9IGdldExlbnMoYjY0KVxuICB2YXIgdmFsaWRMZW4gPSBsZW5zWzBdXG4gIHZhciBwbGFjZUhvbGRlcnNMZW4gPSBsZW5zWzFdXG4gIHJldHVybiAoKHZhbGlkTGVuICsgcGxhY2VIb2xkZXJzTGVuKSAqIDMgLyA0KSAtIHBsYWNlSG9sZGVyc0xlblxufVxuXG5mdW5jdGlvbiBfYnl0ZUxlbmd0aCAoYjY0LCB2YWxpZExlbiwgcGxhY2VIb2xkZXJzTGVuKSB7XG4gIHJldHVybiAoKHZhbGlkTGVuICsgcGxhY2VIb2xkZXJzTGVuKSAqIDMgLyA0KSAtIHBsYWNlSG9sZGVyc0xlblxufVxuXG5mdW5jdGlvbiB0b0J5dGVBcnJheSAoYjY0KSB7XG4gIHZhciB0bXBcbiAgdmFyIGxlbnMgPSBnZXRMZW5zKGI2NClcbiAgdmFyIHZhbGlkTGVuID0gbGVuc1swXVxuICB2YXIgcGxhY2VIb2xkZXJzTGVuID0gbGVuc1sxXVxuXG4gIHZhciBhcnIgPSBuZXcgQXJyKF9ieXRlTGVuZ3RoKGI2NCwgdmFsaWRMZW4sIHBsYWNlSG9sZGVyc0xlbikpXG5cbiAgdmFyIGN1ckJ5dGUgPSAwXG5cbiAgLy8gaWYgdGhlcmUgYXJlIHBsYWNlaG9sZGVycywgb25seSBnZXQgdXAgdG8gdGhlIGxhc3QgY29tcGxldGUgNCBjaGFyc1xuICB2YXIgbGVuID0gcGxhY2VIb2xkZXJzTGVuID4gMFxuICAgID8gdmFsaWRMZW4gLSA0XG4gICAgOiB2YWxpZExlblxuXG4gIHZhciBpXG4gIGZvciAoaSA9IDA7IGkgPCBsZW47IGkgKz0gNCkge1xuICAgIHRtcCA9XG4gICAgICAocmV2TG9va3VwW2I2NC5jaGFyQ29kZUF0KGkpXSA8PCAxOCkgfFxuICAgICAgKHJldkxvb2t1cFtiNjQuY2hhckNvZGVBdChpICsgMSldIDw8IDEyKSB8XG4gICAgICAocmV2TG9va3VwW2I2NC5jaGFyQ29kZUF0KGkgKyAyKV0gPDwgNikgfFxuICAgICAgcmV2TG9va3VwW2I2NC5jaGFyQ29kZUF0KGkgKyAzKV1cbiAgICBhcnJbY3VyQnl0ZSsrXSA9ICh0bXAgPj4gMTYpICYgMHhGRlxuICAgIGFycltjdXJCeXRlKytdID0gKHRtcCA+PiA4KSAmIDB4RkZcbiAgICBhcnJbY3VyQnl0ZSsrXSA9IHRtcCAmIDB4RkZcbiAgfVxuXG4gIGlmIChwbGFjZUhvbGRlcnNMZW4gPT09IDIpIHtcbiAgICB0bXAgPVxuICAgICAgKHJldkxvb2t1cFtiNjQuY2hhckNvZGVBdChpKV0gPDwgMikgfFxuICAgICAgKHJldkxvb2t1cFtiNjQuY2hhckNvZGVBdChpICsgMSldID4+IDQpXG4gICAgYXJyW2N1ckJ5dGUrK10gPSB0bXAgJiAweEZGXG4gIH1cblxuICBpZiAocGxhY2VIb2xkZXJzTGVuID09PSAxKSB7XG4gICAgdG1wID1cbiAgICAgIChyZXZMb29rdXBbYjY0LmNoYXJDb2RlQXQoaSldIDw8IDEwKSB8XG4gICAgICAocmV2TG9va3VwW2I2NC5jaGFyQ29kZUF0KGkgKyAxKV0gPDwgNCkgfFxuICAgICAgKHJldkxvb2t1cFtiNjQuY2hhckNvZGVBdChpICsgMildID4+IDIpXG4gICAgYXJyW2N1ckJ5dGUrK10gPSAodG1wID4+IDgpICYgMHhGRlxuICAgIGFycltjdXJCeXRlKytdID0gdG1wICYgMHhGRlxuICB9XG5cbiAgcmV0dXJuIGFyclxufVxuXG5mdW5jdGlvbiB0cmlwbGV0VG9CYXNlNjQgKG51bSkge1xuICByZXR1cm4gbG9va3VwW251bSA+PiAxOCAmIDB4M0ZdICtcbiAgICBsb29rdXBbbnVtID4+IDEyICYgMHgzRl0gK1xuICAgIGxvb2t1cFtudW0gPj4gNiAmIDB4M0ZdICtcbiAgICBsb29rdXBbbnVtICYgMHgzRl1cbn1cblxuZnVuY3Rpb24gZW5jb2RlQ2h1bmsgKHVpbnQ4LCBzdGFydCwgZW5kKSB7XG4gIHZhciB0bXBcbiAgdmFyIG91dHB1dCA9IFtdXG4gIGZvciAodmFyIGkgPSBzdGFydDsgaSA8IGVuZDsgaSArPSAzKSB7XG4gICAgdG1wID1cbiAgICAgICgodWludDhbaV0gPDwgMTYpICYgMHhGRjAwMDApICtcbiAgICAgICgodWludDhbaSArIDFdIDw8IDgpICYgMHhGRjAwKSArXG4gICAgICAodWludDhbaSArIDJdICYgMHhGRilcbiAgICBvdXRwdXQucHVzaCh0cmlwbGV0VG9CYXNlNjQodG1wKSlcbiAgfVxuICByZXR1cm4gb3V0cHV0LmpvaW4oJycpXG59XG5cbmZ1bmN0aW9uIGZyb21CeXRlQXJyYXkgKHVpbnQ4KSB7XG4gIHZhciB0bXBcbiAgdmFyIGxlbiA9IHVpbnQ4Lmxlbmd0aFxuICB2YXIgZXh0cmFCeXRlcyA9IGxlbiAlIDMgLy8gaWYgd2UgaGF2ZSAxIGJ5dGUgbGVmdCwgcGFkIDIgYnl0ZXNcbiAgdmFyIHBhcnRzID0gW11cbiAgdmFyIG1heENodW5rTGVuZ3RoID0gMTYzODMgLy8gbXVzdCBiZSBtdWx0aXBsZSBvZiAzXG5cbiAgLy8gZ28gdGhyb3VnaCB0aGUgYXJyYXkgZXZlcnkgdGhyZWUgYnl0ZXMsIHdlJ2xsIGRlYWwgd2l0aCB0cmFpbGluZyBzdHVmZiBsYXRlclxuICBmb3IgKHZhciBpID0gMCwgbGVuMiA9IGxlbiAtIGV4dHJhQnl0ZXM7IGkgPCBsZW4yOyBpICs9IG1heENodW5rTGVuZ3RoKSB7XG4gICAgcGFydHMucHVzaChlbmNvZGVDaHVuayh1aW50OCwgaSwgKGkgKyBtYXhDaHVua0xlbmd0aCkgPiBsZW4yID8gbGVuMiA6IChpICsgbWF4Q2h1bmtMZW5ndGgpKSlcbiAgfVxuXG4gIC8vIHBhZCB0aGUgZW5kIHdpdGggemVyb3MsIGJ1dCBtYWtlIHN1cmUgdG8gbm90IGZvcmdldCB0aGUgZXh0cmEgYnl0ZXNcbiAgaWYgKGV4dHJhQnl0ZXMgPT09IDEpIHtcbiAgICB0bXAgPSB1aW50OFtsZW4gLSAxXVxuICAgIHBhcnRzLnB1c2goXG4gICAgICBsb29rdXBbdG1wID4+IDJdICtcbiAgICAgIGxvb2t1cFsodG1wIDw8IDQpICYgMHgzRl0gK1xuICAgICAgJz09J1xuICAgIClcbiAgfSBlbHNlIGlmIChleHRyYUJ5dGVzID09PSAyKSB7XG4gICAgdG1wID0gKHVpbnQ4W2xlbiAtIDJdIDw8IDgpICsgdWludDhbbGVuIC0gMV1cbiAgICBwYXJ0cy5wdXNoKFxuICAgICAgbG9va3VwW3RtcCA+PiAxMF0gK1xuICAgICAgbG9va3VwWyh0bXAgPj4gNCkgJiAweDNGXSArXG4gICAgICBsb29rdXBbKHRtcCA8PCAyKSAmIDB4M0ZdICtcbiAgICAgICc9J1xuICAgIClcbiAgfVxuXG4gIHJldHVybiBwYXJ0cy5qb2luKCcnKVxufVxuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/base64-js/index.js\n"); /***/ }), /***/ "./node_modules/brace-expansion/index.js": /*!***********************************************!*\ !*** ./node_modules/brace-expansion/index.js ***! \***********************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("var concatMap = __webpack_require__(/*! concat-map */ \"./node_modules/concat-map/index.js\");\nvar balanced = __webpack_require__(/*! balanced-match */ \"./node_modules/balanced-match/index.js\");\n\nmodule.exports = expandTop;\n\nvar escSlash = '\\0SLASH'+Math.random()+'\\0';\nvar escOpen = '\\0OPEN'+Math.random()+'\\0';\nvar escClose = '\\0CLOSE'+Math.random()+'\\0';\nvar escComma = '\\0COMMA'+Math.random()+'\\0';\nvar escPeriod = '\\0PERIOD'+Math.random()+'\\0';\n\nfunction numeric(str) {\n return parseInt(str, 10) == str\n ? parseInt(str, 10)\n : str.charCodeAt(0);\n}\n\nfunction escapeBraces(str) {\n return str.split('\\\\\\\\').join(escSlash)\n .split('\\\\{').join(escOpen)\n .split('\\\\}').join(escClose)\n .split('\\\\,').join(escComma)\n .split('\\\\.').join(escPeriod);\n}\n\nfunction unescapeBraces(str) {\n return str.split(escSlash).join('\\\\')\n .split(escOpen).join('{')\n .split(escClose).join('}')\n .split(escComma).join(',')\n .split(escPeriod).join('.');\n}\n\n\n// Basically just str.split(\",\"), but handling cases\n// where we have nested braced sections, which should be\n// treated as individual members, like {a,{b,c},d}\nfunction parseCommaParts(str) {\n if (!str)\n return [''];\n\n var parts = [];\n var m = balanced('{', '}', str);\n\n if (!m)\n return str.split(',');\n\n var pre = m.pre;\n var body = m.body;\n var post = m.post;\n var p = pre.split(',');\n\n p[p.length-1] += '{' + body + '}';\n var postParts = parseCommaParts(post);\n if (post.length) {\n p[p.length-1] += postParts.shift();\n p.push.apply(p, postParts);\n }\n\n parts.push.apply(parts, p);\n\n return parts;\n}\n\nfunction expandTop(str) {\n if (!str)\n return [];\n\n // I don't know why Bash 4.3 does this, but it does.\n // Anything starting with {} will have the first two bytes preserved\n // but *only* at the top level, so {},a}b will not expand to anything,\n // but a{},b}c will be expanded to [a}c,abc].\n // One could argue that this is a bug in Bash, but since the goal of\n // this module is to match Bash's rules, we escape a leading {}\n if (str.substr(0, 2) === '{}') {\n str = '\\\\{\\\\}' + str.substr(2);\n }\n\n return expand(escapeBraces(str), true).map(unescapeBraces);\n}\n\nfunction identity(e) {\n return e;\n}\n\nfunction embrace(str) {\n return '{' + str + '}';\n}\nfunction isPadded(el) {\n return /^-?0\\d/.test(el);\n}\n\nfunction lte(i, y) {\n return i <= y;\n}\nfunction gte(i, y) {\n return i >= y;\n}\n\nfunction expand(str, isTop) {\n var expansions = [];\n\n var m = balanced('{', '}', str);\n if (!m || /\\$$/.test(m.pre)) return [str];\n\n var isNumericSequence = /^-?\\d+\\.\\.-?\\d+(?:\\.\\.-?\\d+)?$/.test(m.body);\n var isAlphaSequence = /^[a-zA-Z]\\.\\.[a-zA-Z](?:\\.\\.-?\\d+)?$/.test(m.body);\n var isSequence = isNumericSequence || isAlphaSequence;\n var isOptions = m.body.indexOf(',') >= 0;\n if (!isSequence && !isOptions) {\n // {a},b}\n if (m.post.match(/,.*\\}/)) {\n str = m.pre + '{' + m.body + escClose + m.post;\n return expand(str);\n }\n return [str];\n }\n\n var n;\n if (isSequence) {\n n = m.body.split(/\\.\\./);\n } else {\n n = parseCommaParts(m.body);\n if (n.length === 1) {\n // x{{a,b}}y ==> x{a}y x{b}y\n n = expand(n[0], false).map(embrace);\n if (n.length === 1) {\n var post = m.post.length\n ? expand(m.post, false)\n : [''];\n return post.map(function(p) {\n return m.pre + n[0] + p;\n });\n }\n }\n }\n\n // at this point, n is the parts, and we know it's not a comma set\n // with a single entry.\n\n // no need to expand pre, since it is guaranteed to be free of brace-sets\n var pre = m.pre;\n var post = m.post.length\n ? expand(m.post, false)\n : [''];\n\n var N;\n\n if (isSequence) {\n var x = numeric(n[0]);\n var y = numeric(n[1]);\n var width = Math.max(n[0].length, n[1].length)\n var incr = n.length == 3\n ? Math.abs(numeric(n[2]))\n : 1;\n var test = lte;\n var reverse = y < x;\n if (reverse) {\n incr *= -1;\n test = gte;\n }\n var pad = n.some(isPadded);\n\n N = [];\n\n for (var i = x; test(i, y); i += incr) {\n var c;\n if (isAlphaSequence) {\n c = String.fromCharCode(i);\n if (c === '\\\\')\n c = '';\n } else {\n c = String(i);\n if (pad) {\n var need = width - c.length;\n if (need > 0) {\n var z = new Array(need + 1).join('0');\n if (i < 0)\n c = '-' + z + c.slice(1);\n else\n c = z + c;\n }\n }\n }\n N.push(c);\n }\n } else {\n N = concatMap(n, function(el) { return expand(el, false) });\n }\n\n for (var j = 0; j < N.length; j++) {\n for (var k = 0; k < post.length; k++) {\n var expansion = pre + N[j] + post[k];\n if (!isTop || isSequence || expansion)\n expansions.push(expansion);\n }\n }\n\n return expansions;\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYnJhY2UtZXhwYW5zaW9uL2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2JyYWNlLWV4cGFuc2lvbi9pbmRleC5qcz80ZWUwIl0sInNvdXJjZXNDb250ZW50IjpbInZhciBjb25jYXRNYXAgPSByZXF1aXJlKCdjb25jYXQtbWFwJyk7XG52YXIgYmFsYW5jZWQgPSByZXF1aXJlKCdiYWxhbmNlZC1tYXRjaCcpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGV4cGFuZFRvcDtcblxudmFyIGVzY1NsYXNoID0gJ1xcMFNMQVNIJytNYXRoLnJhbmRvbSgpKydcXDAnO1xudmFyIGVzY09wZW4gPSAnXFwwT1BFTicrTWF0aC5yYW5kb20oKSsnXFwwJztcbnZhciBlc2NDbG9zZSA9ICdcXDBDTE9TRScrTWF0aC5yYW5kb20oKSsnXFwwJztcbnZhciBlc2NDb21tYSA9ICdcXDBDT01NQScrTWF0aC5yYW5kb20oKSsnXFwwJztcbnZhciBlc2NQZXJpb2QgPSAnXFwwUEVSSU9EJytNYXRoLnJhbmRvbSgpKydcXDAnO1xuXG5mdW5jdGlvbiBudW1lcmljKHN0cikge1xuICByZXR1cm4gcGFyc2VJbnQoc3RyLCAxMCkgPT0gc3RyXG4gICAgPyBwYXJzZUludChzdHIsIDEwKVxuICAgIDogc3RyLmNoYXJDb2RlQXQoMCk7XG59XG5cbmZ1bmN0aW9uIGVzY2FwZUJyYWNlcyhzdHIpIHtcbiAgcmV0dXJuIHN0ci5zcGxpdCgnXFxcXFxcXFwnKS5qb2luKGVzY1NsYXNoKVxuICAgICAgICAgICAgLnNwbGl0KCdcXFxceycpLmpvaW4oZXNjT3BlbilcbiAgICAgICAgICAgIC5zcGxpdCgnXFxcXH0nKS5qb2luKGVzY0Nsb3NlKVxuICAgICAgICAgICAgLnNwbGl0KCdcXFxcLCcpLmpvaW4oZXNjQ29tbWEpXG4gICAgICAgICAgICAuc3BsaXQoJ1xcXFwuJykuam9pbihlc2NQZXJpb2QpO1xufVxuXG5mdW5jdGlvbiB1bmVzY2FwZUJyYWNlcyhzdHIpIHtcbiAgcmV0dXJuIHN0ci5zcGxpdChlc2NTbGFzaCkuam9pbignXFxcXCcpXG4gICAgICAgICAgICAuc3BsaXQoZXNjT3Blbikuam9pbigneycpXG4gICAgICAgICAgICAuc3BsaXQoZXNjQ2xvc2UpLmpvaW4oJ30nKVxuICAgICAgICAgICAgLnNwbGl0KGVzY0NvbW1hKS5qb2luKCcsJylcbiAgICAgICAgICAgIC5zcGxpdChlc2NQZXJpb2QpLmpvaW4oJy4nKTtcbn1cblxuXG4vLyBCYXNpY2FsbHkganVzdCBzdHIuc3BsaXQoXCIsXCIpLCBidXQgaGFuZGxpbmcgY2FzZXNcbi8vIHdoZXJlIHdlIGhhdmUgbmVzdGVkIGJyYWNlZCBzZWN0aW9ucywgd2hpY2ggc2hvdWxkIGJlXG4vLyB0cmVhdGVkIGFzIGluZGl2aWR1YWwgbWVtYmVycywgbGlrZSB7YSx7YixjfSxkfVxuZnVuY3Rpb24gcGFyc2VDb21tYVBhcnRzKHN0cikge1xuICBpZiAoIXN0cilcbiAgICByZXR1cm4gWycnXTtcblxuICB2YXIgcGFydHMgPSBbXTtcbiAgdmFyIG0gPSBiYWxhbmNlZCgneycsICd9Jywgc3RyKTtcblxuICBpZiAoIW0pXG4gICAgcmV0dXJuIHN0ci5zcGxpdCgnLCcpO1xuXG4gIHZhciBwcmUgPSBtLnByZTtcbiAgdmFyIGJvZHkgPSBtLmJvZHk7XG4gIHZhciBwb3N0ID0gbS5wb3N0O1xuICB2YXIgcCA9IHByZS5zcGxpdCgnLCcpO1xuXG4gIHBbcC5sZW5ndGgtMV0gKz0gJ3snICsgYm9keSArICd9JztcbiAgdmFyIHBvc3RQYXJ0cyA9IHBhcnNlQ29tbWFQYXJ0cyhwb3N0KTtcbiAgaWYgKHBvc3QubGVuZ3RoKSB7XG4gICAgcFtwLmxlbmd0aC0xXSArPSBwb3N0UGFydHMuc2hpZnQoKTtcbiAgICBwLnB1c2guYXBwbHkocCwgcG9zdFBhcnRzKTtcbiAgfVxuXG4gIHBhcnRzLnB1c2guYXBwbHkocGFydHMsIHApO1xuXG4gIHJldHVybiBwYXJ0cztcbn1cblxuZnVuY3Rpb24gZXhwYW5kVG9wKHN0cikge1xuICBpZiAoIXN0cilcbiAgICByZXR1cm4gW107XG5cbiAgLy8gSSBkb24ndCBrbm93IHdoeSBCYXNoIDQuMyBkb2VzIHRoaXMsIGJ1dCBpdCBkb2VzLlxuICAvLyBBbnl0aGluZyBzdGFydGluZyB3aXRoIHt9IHdpbGwgaGF2ZSB0aGUgZmlyc3QgdHdvIGJ5dGVzIHByZXNlcnZlZFxuICAvLyBidXQgKm9ubHkqIGF0IHRoZSB0b3AgbGV2ZWwsIHNvIHt9LGF9YiB3aWxsIG5vdCBleHBhbmQgdG8gYW55dGhpbmcsXG4gIC8vIGJ1dCBhe30sYn1jIHdpbGwgYmUgZXhwYW5kZWQgdG8gW2F9YyxhYmNdLlxuICAvLyBPbmUgY291bGQgYXJndWUgdGhhdCB0aGlzIGlzIGEgYnVnIGluIEJhc2gsIGJ1dCBzaW5jZSB0aGUgZ29hbCBvZlxuICAvLyB0aGlzIG1vZHVsZSBpcyB0byBtYXRjaCBCYXNoJ3MgcnVsZXMsIHdlIGVzY2FwZSBhIGxlYWRpbmcge31cbiAgaWYgKHN0ci5zdWJzdHIoMCwgMikgPT09ICd7fScpIHtcbiAgICBzdHIgPSAnXFxcXHtcXFxcfScgKyBzdHIuc3Vic3RyKDIpO1xuICB9XG5cbiAgcmV0dXJuIGV4cGFuZChlc2NhcGVCcmFjZXMoc3RyKSwgdHJ1ZSkubWFwKHVuZXNjYXBlQnJhY2VzKTtcbn1cblxuZnVuY3Rpb24gaWRlbnRpdHkoZSkge1xuICByZXR1cm4gZTtcbn1cblxuZnVuY3Rpb24gZW1icmFjZShzdHIpIHtcbiAgcmV0dXJuICd7JyArIHN0ciArICd9Jztcbn1cbmZ1bmN0aW9uIGlzUGFkZGVkKGVsKSB7XG4gIHJldHVybiAvXi0/MFxcZC8udGVzdChlbCk7XG59XG5cbmZ1bmN0aW9uIGx0ZShpLCB5KSB7XG4gIHJldHVybiBpIDw9IHk7XG59XG5mdW5jdGlvbiBndGUoaSwgeSkge1xuICByZXR1cm4gaSA+PSB5O1xufVxuXG5mdW5jdGlvbiBleHBhbmQoc3RyLCBpc1RvcCkge1xuICB2YXIgZXhwYW5zaW9ucyA9IFtdO1xuXG4gIHZhciBtID0gYmFsYW5jZWQoJ3snLCAnfScsIHN0cik7XG4gIGlmICghbSB8fCAvXFwkJC8udGVzdChtLnByZSkpIHJldHVybiBbc3RyXTtcblxuICB2YXIgaXNOdW1lcmljU2VxdWVuY2UgPSAvXi0/XFxkK1xcLlxcLi0/XFxkKyg/OlxcLlxcLi0/XFxkKyk/JC8udGVzdChtLmJvZHkpO1xuICB2YXIgaXNBbHBoYVNlcXVlbmNlID0gL15bYS16QS1aXVxcLlxcLlthLXpBLVpdKD86XFwuXFwuLT9cXGQrKT8kLy50ZXN0KG0uYm9keSk7XG4gIHZhciBpc1NlcXVlbmNlID0gaXNOdW1lcmljU2VxdWVuY2UgfHwgaXNBbHBoYVNlcXVlbmNlO1xuICB2YXIgaXNPcHRpb25zID0gbS5ib2R5LmluZGV4T2YoJywnKSA+PSAwO1xuICBpZiAoIWlzU2VxdWVuY2UgJiYgIWlzT3B0aW9ucykge1xuICAgIC8vIHthfSxifVxuICAgIGlmIChtLnBvc3QubWF0Y2goLywuKlxcfS8pKSB7XG4gICAgICBzdHIgPSBtLnByZSArICd7JyArIG0uYm9keSArIGVzY0Nsb3NlICsgbS5wb3N0O1xuICAgICAgcmV0dXJuIGV4cGFuZChzdHIpO1xuICAgIH1cbiAgICByZXR1cm4gW3N0cl07XG4gIH1cblxuICB2YXIgbjtcbiAgaWYgKGlzU2VxdWVuY2UpIHtcbiAgICBuID0gbS5ib2R5LnNwbGl0KC9cXC5cXC4vKTtcbiAgfSBlbHNlIHtcbiAgICBuID0gcGFyc2VDb21tYVBhcnRzKG0uYm9keSk7XG4gICAgaWYgKG4ubGVuZ3RoID09PSAxKSB7XG4gICAgICAvLyB4e3thLGJ9fXkgPT0+IHh7YX15IHh7Yn15XG4gICAgICBuID0gZXhwYW5kKG5bMF0sIGZhbHNlKS5tYXAoZW1icmFjZSk7XG4gICAgICBpZiAobi5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgdmFyIHBvc3QgPSBtLnBvc3QubGVuZ3RoXG4gICAgICAgICAgPyBleHBhbmQobS5wb3N0LCBmYWxzZSlcbiAgICAgICAgICA6IFsnJ107XG4gICAgICAgIHJldHVybiBwb3N0Lm1hcChmdW5jdGlvbihwKSB7XG4gICAgICAgICAgcmV0dXJuIG0ucHJlICsgblswXSArIHA7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIGF0IHRoaXMgcG9pbnQsIG4gaXMgdGhlIHBhcnRzLCBhbmQgd2Uga25vdyBpdCdzIG5vdCBhIGNvbW1hIHNldFxuICAvLyB3aXRoIGEgc2luZ2xlIGVudHJ5LlxuXG4gIC8vIG5vIG5lZWQgdG8gZXhwYW5kIHByZSwgc2luY2UgaXQgaXMgZ3VhcmFudGVlZCB0byBiZSBmcmVlIG9mIGJyYWNlLXNldHNcbiAgdmFyIHByZSA9IG0ucHJlO1xuICB2YXIgcG9zdCA9IG0ucG9zdC5sZW5ndGhcbiAgICA/IGV4cGFuZChtLnBvc3QsIGZhbHNlKVxuICAgIDogWycnXTtcblxuICB2YXIgTjtcblxuICBpZiAoaXNTZXF1ZW5jZSkge1xuICAgIHZhciB4ID0gbnVtZXJpYyhuWzBdKTtcbiAgICB2YXIgeSA9IG51bWVyaWMoblsxXSk7XG4gICAgdmFyIHdpZHRoID0gTWF0aC5tYXgoblswXS5sZW5ndGgsIG5bMV0ubGVuZ3RoKVxuICAgIHZhciBpbmNyID0gbi5sZW5ndGggPT0gM1xuICAgICAgPyBNYXRoLmFicyhudW1lcmljKG5bMl0pKVxuICAgICAgOiAxO1xuICAgIHZhciB0ZXN0ID0gbHRlO1xuICAgIHZhciByZXZlcnNlID0geSA8IHg7XG4gICAgaWYgKHJldmVyc2UpIHtcbiAgICAgIGluY3IgKj0gLTE7XG4gICAgICB0ZXN0ID0gZ3RlO1xuICAgIH1cbiAgICB2YXIgcGFkID0gbi5zb21lKGlzUGFkZGVkKTtcblxuICAgIE4gPSBbXTtcblxuICAgIGZvciAodmFyIGkgPSB4OyB0ZXN0KGksIHkpOyBpICs9IGluY3IpIHtcbiAgICAgIHZhciBjO1xuICAgICAgaWYgKGlzQWxwaGFTZXF1ZW5jZSkge1xuICAgICAgICBjID0gU3RyaW5nLmZyb21DaGFyQ29kZShpKTtcbiAgICAgICAgaWYgKGMgPT09ICdcXFxcJylcbiAgICAgICAgICBjID0gJyc7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjID0gU3RyaW5nKGkpO1xuICAgICAgICBpZiAocGFkKSB7XG4gICAgICAgICAgdmFyIG5lZWQgPSB3aWR0aCAtIGMubGVuZ3RoO1xuICAgICAgICAgIGlmIChuZWVkID4gMCkge1xuICAgICAgICAgICAgdmFyIHogPSBuZXcgQXJyYXkobmVlZCArIDEpLmpvaW4oJzAnKTtcbiAgICAgICAgICAgIGlmIChpIDwgMClcbiAgICAgICAgICAgICAgYyA9ICctJyArIHogKyBjLnNsaWNlKDEpO1xuICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICBjID0geiArIGM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBOLnB1c2goYyk7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIE4gPSBjb25jYXRNYXAobiwgZnVuY3Rpb24oZWwpIHsgcmV0dXJuIGV4cGFuZChlbCwgZmFsc2UpIH0pO1xuICB9XG5cbiAgZm9yICh2YXIgaiA9IDA7IGogPCBOLmxlbmd0aDsgaisrKSB7XG4gICAgZm9yICh2YXIgayA9IDA7IGsgPCBwb3N0Lmxlbmd0aDsgaysrKSB7XG4gICAgICB2YXIgZXhwYW5zaW9uID0gcHJlICsgTltqXSArIHBvc3Rba107XG4gICAgICBpZiAoIWlzVG9wIHx8IGlzU2VxdWVuY2UgfHwgZXhwYW5zaW9uKVxuICAgICAgICBleHBhbnNpb25zLnB1c2goZXhwYW5zaW9uKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZXhwYW5zaW9ucztcbn1cblxuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/brace-expansion/index.js\n"); /***/ }), /***/ "./node_modules/browser-bunyan/lib/index.m.js": /*!****************************************************!*\ !*** ./node_modules/browser-bunyan/lib/index.m.js ***! \****************************************************/ /*! exports provided: TRACE, DEBUG, INFO, WARN, ERROR, FATAL, resolveLevel, levelFromName, nameFromLevel, stdSerializers, Logger, createLogger, safeCycles, ConsoleFormattedStream, ConsoleRawStream, ConsolePlainStream */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"TRACE\", function() { return TRACE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DEBUG\", function() { return DEBUG; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"INFO\", function() { return INFO; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"WARN\", function() { return WARN; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ERROR\", function() { return ERROR; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"FATAL\", function() { return FATAL; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"resolveLevel\", function() { return resolveLevel; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"levelFromName\", function() { return levelFromName; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"nameFromLevel\", function() { return nameFromLevel; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"stdSerializers\", function() { return stdSerializers; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Logger\", function() { return Logger; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createLogger\", function() { return createLogger; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"safeCycles\", function() { return safeCycles; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ConsoleFormattedStream\", function() { return ConsoleFormattedStream; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ConsoleRawStream\", function() { return ConsoleRawStream; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ConsolePlainStream\", function() { return ConsolePlainStream; });\nvar TRACE = 10;\nvar DEBUG = 20;\nvar INFO = 30;\nvar WARN = 40;\nvar ERROR = 50;\nvar FATAL = 60;\nvar levelFromName = {\n 'trace': TRACE,\n 'debug': DEBUG,\n 'info': INFO,\n 'warn': WARN,\n 'error': ERROR,\n 'fatal': FATAL\n};\nvar nameFromLevel = {};\nObject.keys(levelFromName).forEach(function (name) {\n nameFromLevel[levelFromName[name]] = name;\n});\nfunction resolveLevel(nameOrNum) {\n return typeof nameOrNum === 'string' ? levelFromName[nameOrNum.toLowerCase()] : nameOrNum;\n}\n\nvar CALL_STACK_ERROR = 'call-stack-error';\nfunction objCopy(obj) {\n if (typeof obj === 'undefined' || obj === null) {\n return obj;\n } else if (Array.isArray(obj)) {\n return obj.slice();\n } else if (typeof obj === 'object') {\n var copy = {};\n Object.keys(obj).forEach(function (k) {\n copy[k] = obj[k];\n });\n return copy;\n } else {\n return obj;\n }\n}\n\nfunction inspect(obj) {\n if (typeof obj === 'undefined') {\n return 'undefined';\n }\n if (obj === null) {\n return 'null';\n }\n if (Array.isArray(obj)) {\n var items = obj.map(function (obj) { return inspect(obj); });\n return '[ ' + items.join(', ') + ' ]';\n }\n if (typeof obj === 'object') {\n return JSON.stringify(obj);\n }\n if (typeof obj === 'function') {\n return '[Function: ' + obj.name + ']';\n }\n if (typeof obj === 'boolean' || typeof obj === 'number') {\n return obj;\n }\n return '\\'' + obj.toString() + '\\'';\n}\n\nfunction format(f) {\n var arguments$1 = arguments;\n\n if (typeof f !== 'string') {\n var objects = new Array(arguments.length);\n for (var i$1 = 0;i$1 < arguments.length; i$1++) {\n objects[i$1] = inspect(arguments$1[i$1]);\n }\n return objects.join(' ');\n }\n var formatRegExp = /%[sdj%]/g;\n var i = 1;\n var args = arguments;\n var len = args.length;\n var str = String(f).replace(formatRegExp, function (x) {\n if (x === '%%') {\n return '%';\n }\n if (i >= len) {\n return x;\n }\n switch (x) {\n case '%s':\n return String(args[i++]);\n case '%d':\n return Number(args[i++]);\n case '%j':\n try {\n return JSON.stringify(args[i++]);\n } catch (_) {\n return '[Circular]';\n }\n default:\n return x;\n }\n });\n for (var x = args[i];i < len; x = args[++i]) {\n if (x === null || typeof x !== 'object') {\n str += ' ' + x;\n } else {\n str += ' ' + inspect(x);\n }\n }\n return str;\n}\n\nfunction extractSrcFromStacktrace(stack, level) {\n var stackLines = stack.split('\\n');\n if (stackLines[0] && stackLines[0].indexOf(CALL_STACK_ERROR) >= 0) {\n stackLines.shift();\n }\n var targetLine = stackLines[level];\n var lineInfo = null;\n if (targetLine) {\n var execResult = /^\\s*(at|.*@)\\s*(.+)?$/.exec(targetLine);\n if (Array.isArray(execResult) && execResult[2]) {\n lineInfo = execResult[2];\n } else {\n lineInfo = targetLine;\n }\n }\n return lineInfo;\n}\n\nfunction _indent(s, indent) {\n if (!indent) {\n indent = ' ';\n }\n var lines = s.split(/\\r?\\n/g);\n return indent + lines.join('\\n' + indent);\n}\n\nvar _warned = {};\nfunction _warn(msg, dedupKey) {\n if (dedupKey) {\n if (_warned[dedupKey]) {\n return;\n }\n _warned[dedupKey] = true;\n }\n console.error(msg + '\\n');\n}\n\nfunction _haveWarned(dedupKey) {\n return _warned[dedupKey];\n}\n\nfunction safeCycles() {\n var seen = [];\n return function (key, val) {\n if (!val || typeof val !== 'object') {\n return val;\n }\n if (seen.indexOf(val) !== -1) {\n return '[Circular]';\n }\n seen.push(val);\n return val;\n };\n}\n\nvar TRACE$1 = 10;\nvar DEBUG$1 = 20;\nvar INFO$1 = 30;\nvar WARN$1 = 40;\nvar ERROR$1 = 50;\nvar FATAL$1 = 60;\nvar levelFromName$1 = {\n 'trace': TRACE$1,\n 'debug': DEBUG$1,\n 'info': INFO$1,\n 'warn': WARN$1,\n 'error': ERROR$1,\n 'fatal': FATAL$1\n};\nObject.keys(levelFromName$1).forEach(function (name) {});\nvar ConsoleRawStream = function ConsoleRawStream() {};\nConsoleRawStream.prototype.write = function write(rec) {\n if (rec.level < INFO$1) {\n console.log(rec);\n } else if (rec.level < WARN$1) {\n console.info(rec);\n } else if (rec.level < ERROR$1) {\n console.warn(rec);\n } else {\n console.error(rec);\n }\n if (rec.err && rec.err.stack) {\n console.error(rec.err.stack);\n }\n if (rec.obj) {\n console.log(rec.obj);\n }\n};\n\nvar LOG_VERSION = 1;\nvar Logger = function Logger(options, _childOptions, _childSimple) {\n var this$1 = this;\n\n if (!(this instanceof Logger)) {\n return new Logger(options, _childOptions);\n }\n var parent;\n if (_childOptions !== undefined) {\n parent = options;\n options = _childOptions;\n if (!(parent instanceof Logger)) {\n throw new TypeError('invalid Logger creation: do not pass a second arg');\n }\n }\n if (!options) {\n throw new TypeError('options (object) is required');\n }\n if (!parent) {\n if (!options.name) {\n throw new TypeError('options.name (string) is required');\n }\n } else {\n if (options.name) {\n throw new TypeError('invalid options.name: child cannot set logger name');\n }\n }\n if (options.stream && options.streams) {\n throw new TypeError('cannot mix \"streams\" and \"stream\" options');\n }\n if (options.streams && !Array.isArray(options.streams)) {\n throw new TypeError('invalid options.streams: must be an array');\n }\n if (options.serializers && (typeof options.serializers !== 'object' || Array.isArray(options.serializers))) {\n throw new TypeError('invalid options.serializers: must be an object');\n }\n var fields, name, i;\n if (parent && _childSimple) {\n this._level = parent._level;\n this.streams = parent.streams;\n this.serializers = parent.serializers;\n this.src = parent.src;\n fields = (this.fields = {});\n var parentFieldNames = Object.keys(parent.fields);\n for (i = 0; i < parentFieldNames.length; i++) {\n name = parentFieldNames[i];\n fields[name] = parent.fields[name];\n }\n var names = Object.keys(options);\n for (i = 0; i < names.length; i++) {\n name = names[i];\n fields[name] = options[name];\n }\n return;\n }\n if (parent) {\n this._level = parent._level;\n this.streams = [];\n for (i = 0; i < parent.streams.length; i++) {\n var s = objCopy(parent.streams[i]);\n this$1.streams.push(s);\n }\n this.serializers = objCopy(parent.serializers);\n this.src = parent.src;\n this.fields = objCopy(parent.fields);\n if (options.level) {\n this.level(options.level);\n }\n } else {\n this._level = Number.POSITIVE_INFINITY;\n this.streams = [];\n this.serializers = null;\n this.src = false;\n this.fields = {};\n }\n if (options.stream) {\n this.addStream({\n type: 'stream',\n stream: options.stream,\n level: options.level\n });\n } else if (options.streams) {\n options.streams.forEach(function (s) {\n this$1.addStream(s, options.level);\n });\n } else if (parent && options.level) {\n this.level(options.level);\n } else if (!parent) {\n this.addStream({\n type: 'raw',\n stream: new ConsoleRawStream(),\n level: options.level\n });\n }\n if (options.serializers) {\n this.addSerializers(options.serializers);\n }\n if (options.src) {\n this.src = true;\n }\n fields = objCopy(options);\n delete fields.stream;\n delete fields.level;\n delete fields.streams;\n delete fields.serializers;\n delete fields.src;\n if (this.serializers) {\n this._applySerializers(fields);\n }\n Object.keys(fields).forEach(function (k) {\n this$1.fields[k] = fields[k];\n });\n};\nLogger.prototype.addStream = function addStream (s, defaultLevel) {\n if ( defaultLevel === void 0 ) defaultLevel = INFO;\n\n s = objCopy(s);\n s.type = 'raw';\n s.level = resolveLevel(s.level || defaultLevel);\n if (s.level < this._level) {\n this._level = s.level;\n }\n this.streams.push(s);\n delete this.haveNonRawStreams;\n};\nLogger.prototype.addSerializers = function addSerializers (serializers) {\n var this$1 = this;\n\n if (!this.serializers) {\n this.serializers = {};\n }\n Object.keys(serializers).forEach(function (field) {\n var serializer = serializers[field];\n if (typeof serializer !== 'function') {\n throw new TypeError(format('invalid serializer for \"%s\" field: must be a function', field));\n }\n this$1.serializers[field] = serializer;\n });\n};\nLogger.prototype.child = function child (options, simple) {\n return new this.constructor(this, options || {}, simple);\n};\nLogger.prototype.level = function level (value) {\n var this$1 = this;\n\n if (value === undefined) {\n return this._level;\n }\n var newLevel = resolveLevel(value);\n var len = this.streams.length;\n for (var i = 0;i < len; i++) {\n this$1.streams[i].level = newLevel;\n }\n this._level = newLevel;\n};\nLogger.prototype.levels = function levels (name, value) {\n var this$1 = this;\n\n if (name === undefined) {\n return this.streams.map(function (s) { return s.level; });\n }\n var stream;\n if (typeof name === 'number') {\n stream = this.streams[name];\n if (stream === undefined) {\n throw new Error('invalid stream index: ' + name);\n }\n } else {\n var len = this.streams.length;\n for (var i = 0;i < len; i++) {\n var s = this$1.streams[i];\n if (s.name === name) {\n stream = s;\n break;\n }\n }\n if (!stream) {\n throw new Error(format('no stream with name \"%s\"', name));\n }\n }\n if (value === undefined) {\n return stream.level;\n } else {\n var newLevel = resolveLevel(value);\n stream.level = newLevel;\n if (newLevel < this._level) {\n this._level = newLevel;\n }\n }\n};\nLogger.prototype._applySerializers = function _applySerializers (fields, excludeFields) {\n var this$1 = this;\n\n Object.keys(this.serializers).forEach(function (name) {\n if (fields[name] === undefined || excludeFields && excludeFields[name]) {\n return;\n }\n try {\n fields[name] = this$1.serializers[name](fields[name]);\n } catch (err) {\n _warn(format('bunyan: ERROR: Exception thrown from the \"%s\" ' + 'Bunyan serializer. This should never happen. This is a bug' + 'in that serializer function.\\n%s', name, err.stack || err));\n fields[name] = format('(Error in Bunyan log \"%s\" serializer broke field. See stderr for details.)', name);\n }\n });\n};\nLogger.prototype._emit = function _emit (rec, noemit) {\n var this$1 = this;\n\n var i;\n if (this.haveNonRawStreams === undefined) {\n this.haveNonRawStreams = false;\n for (i = 0; i < this.streams.length; i++) {\n if (!this$1.streams[i].raw) {\n this$1.haveNonRawStreams = true;\n break;\n }\n }\n }\n var str;\n if (noemit || this.haveNonRawStreams) {\n try {\n str = JSON.stringify(rec, safeCycles()) + '\\n';\n } catch (e) {\n var dedupKey = e.stack.split(/\\n/g, 2).join('\\n');\n _warn('bunyan: ERROR: Exception in ' + '`JSON.stringify(rec)`. You can install the ' + '\"safe-json-stringify\" module to have Bunyan fallback ' + 'to safer stringification. Record:\\n' + _indent(format('%s\\n%s', rec, e.stack)), dedupKey);\n str = format('(Exception in JSON.stringify(rec): %j. See stderr for details.)\\n', e.message);\n }\n }\n if (noemit) {\n return str;\n }\n var level = rec.level;\n for (i = 0; i < this.streams.length; i++) {\n var s = this$1.streams[i];\n if (s.level <= level) {\n s.stream.write(rec);\n }\n }\n return str;\n};\nfunction mkLogEmitter(minLevel) {\n return function () {\n var log = this;\n function mkRecord(args) {\n var excludeFields;\n if (args[0] instanceof Error) {\n fields = {\n err: log.serializers && log.serializers.err ? log.serializers.err(args[0]) : stdSerializers.err(args[0])\n };\n excludeFields = {\n err: true\n };\n if (args.length === 1) {\n msgArgs = [fields.err.message];\n } else {\n msgArgs = Array.prototype.slice.call(args, 1);\n }\n } else if (typeof args[0] !== 'object' && args[0] !== null || Array.isArray(args[0])) {\n fields = null;\n msgArgs = Array.prototype.slice.call(args);\n } else {\n fields = args[0];\n if (args.length === 1 && fields.err && fields.err instanceof Error) {\n msgArgs = [fields.err.message];\n } else {\n msgArgs = Array.prototype.slice.call(args, 1);\n }\n }\n var rec = objCopy(log.fields);\n rec.level = minLevel;\n var recFields = fields ? objCopy(fields) : null;\n if (recFields) {\n if (log.serializers) {\n log._applySerializers(recFields, excludeFields);\n }\n Object.keys(recFields).forEach(function (k) {\n rec[k] = recFields[k];\n });\n }\n rec.levelName = nameFromLevel[minLevel];\n rec.msg = msgArgs.length ? format.apply(log, msgArgs) : '';\n if (!rec.time) {\n rec.time = new Date();\n }\n if (log.src && !rec.src) {\n try {\n throw new Error(CALL_STACK_ERROR);\n } catch (err) {\n var src = err.stack ? extractSrcFromStacktrace(err.stack, 2) : '';\n if (!src && !_haveWarned('src')) {\n _warn('Unable to determine src line info', 'src');\n }\n rec.src = src || '';\n }\n }\n rec.v = LOG_VERSION;\n return rec;\n }\n \n var fields = null;\n var msgArgs = arguments;\n var rec = null;\n if (arguments.length === 0) {\n return this._level <= minLevel;\n } else if (this._level > minLevel) {} else {\n rec = mkRecord(msgArgs);\n this._emit(rec);\n }\n };\n}\n\nLogger.prototype.trace = mkLogEmitter(TRACE);\nLogger.prototype.debug = mkLogEmitter(DEBUG);\nLogger.prototype.info = mkLogEmitter(INFO);\nLogger.prototype.warn = mkLogEmitter(WARN);\nLogger.prototype.error = mkLogEmitter(ERROR);\nLogger.prototype.fatal = mkLogEmitter(FATAL);\nfunction getFullErrorStack(ex) {\n var ret = ex.stack || ex.toString();\n if (ex.cause && typeof ex.cause === 'function') {\n var cex = ex.cause();\n if (cex) {\n ret += '\\nCaused by: ' + getFullErrorStack(cex);\n }\n }\n return ret;\n}\n\nvar stdSerializers = {\n err: function (err) {\n if (!err || !err.stack) {\n return err;\n }\n return {\n message: err.message,\n name: err.name,\n stack: getFullErrorStack(err),\n code: err.code,\n signal: err.signal\n };\n }\n};\nfunction createLogger() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return new (Function.prototype.bind.apply( Logger, [ null ].concat( args) ));\n}\n\nvar TRACE$2 = 10;\nvar DEBUG$2 = 20;\nvar INFO$2 = 30;\nvar WARN$2 = 40;\nvar ERROR$2 = 50;\nvar FATAL$2 = 60;\nvar levelFromName$2 = {\n 'trace': TRACE$2,\n 'debug': DEBUG$2,\n 'info': INFO$2,\n 'warn': WARN$2,\n 'error': ERROR$2,\n 'fatal': FATAL$2\n};\nvar nameFromLevel$1 = {};\nObject.keys(levelFromName$2).forEach(function (name) {\n nameFromLevel$1[levelFromName$2[name]] = name;\n});\nvar DEFAULT_CSS = {\n levels: {\n trace: 'color: DeepPink',\n debug: 'color: GoldenRod',\n info: 'color: DarkTurquoise',\n warn: 'color: Purple',\n error: 'color: Crimson',\n fatal: 'color: Black'\n },\n def: 'color: DimGray',\n msg: 'color: SteelBlue',\n src: 'color: DimGray; font-style: italic; font-size: 0.9em'\n};\nvar ConsoleFormattedStream = function ConsoleFormattedStream(ref) {\n if (ref === void 0) \n { ref = {}; }\n var logByLevel = ref.logByLevel;\n if (logByLevel === void 0) \n { logByLevel = false; }\n var css = ref.css;\n if (css === void 0) \n { css = DEFAULT_CSS; }\n this.logByLevel = logByLevel;\n this.css = css;\n};\nConsoleFormattedStream.prototype.write = function write(rec) {\n var levelCss, consoleMethod;\n var defaultCss = this.css.def;\n var msgCss = this.css.msg;\n var srcCss = this.css.src;\n var loggerName = rec.childName ? rec.name + '/' + rec.childName : rec.name;\n var levelName = nameFromLevel$1[rec.level];\n var formattedLevelName = (Array(6 - levelName.length).join(' ') + levelName).toUpperCase();\n if (this.logByLevel) {\n if (rec.level === TRACE$2) {\n levelName = 'debug';\n } else if (rec.level === FATAL$2) {\n levelName = 'error';\n }\n consoleMethod = typeof console[levelName] === 'function' ? console[levelName] : console.log;\n } else {\n consoleMethod = console.log;\n }\n if (rec.level < DEBUG$2) {\n levelCss = this.css.levels.trace;\n } else if (rec.level < INFO$2) {\n levelCss = this.css.levels.debug;\n } else if (rec.level < WARN$2) {\n levelCss = this.css.levels.info;\n } else if (rec.level < ERROR$2) {\n levelCss = this.css.levels.warn;\n } else if (rec.level < FATAL$2) {\n levelCss = this.css.levels.error;\n } else {\n levelCss = this.css.levels.fatal;\n }\n var padZeros = function (number, len) {\n return Array(len + 1 - (number + '').length).join('0') + number;\n };\n var logArgs = [];\n logArgs.push(\"[%s:%s:%s:%s] %c%s%c: %s: %c%s \" + (rec.src ? '%c%s' : ''));\n logArgs.push(padZeros(rec.time.getHours(), 2));\n logArgs.push(padZeros(rec.time.getMinutes(), 2));\n logArgs.push(padZeros(rec.time.getSeconds(), 2));\n logArgs.push(padZeros(rec.time.getMilliseconds(), 4));\n logArgs.push(levelCss);\n logArgs.push(formattedLevelName);\n logArgs.push(defaultCss);\n logArgs.push(loggerName);\n logArgs.push(msgCss);\n logArgs.push(rec.msg);\n if (rec.src) {\n logArgs.push(srcCss);\n logArgs.push(rec.src);\n }\n if (rec.obj) {\n logArgs.push('\\n');\n logArgs.push(rec.obj);\n }\n if (rec.err && rec.err.stack) {\n logArgs.push('\\n');\n logArgs.push(rec.err.stack);\n }\n consoleMethod.apply(console, logArgs);\n};\nConsoleFormattedStream.getDefaultCss = function getDefaultCss() {\n return DEFAULT_CSS;\n};\n\nvar TRACE$3 = 10;\nvar DEBUG$3 = 20;\nvar INFO$3 = 30;\nvar WARN$3 = 40;\nvar ERROR$3 = 50;\nvar FATAL$3 = 60;\nvar levelFromName$3 = {\n 'trace': TRACE$3,\n 'debug': DEBUG$3,\n 'info': INFO$3,\n 'warn': WARN$3,\n 'error': ERROR$3,\n 'fatal': FATAL$3\n};\nvar nameFromLevel$2 = {};\nObject.keys(levelFromName$3).forEach(function (name) {\n nameFromLevel$2[levelFromName$3[name]] = name;\n});\nvar ConsolePlainStream = function ConsolePlainStream(ref) {\n if (ref === void 0) \n { ref = {}; }\n var logByLevel = ref.logByLevel;\n if (logByLevel === void 0) \n { logByLevel = false; }\n this.logByLevel = logByLevel;\n};\nConsolePlainStream.prototype.write = function write(rec) {\n var consoleMethod;\n var loggerName = rec.childName ? rec.name + '/' + rec.childName : rec.name;\n var levelName = nameFromLevel$2[rec.level];\n var formattedLevelName = (Array(6 - levelName.length).join(' ') + levelName).toUpperCase();\n if (this.logByLevel) {\n if (rec.level === TRACE$3) {\n levelName = 'debug';\n } else if (rec.level === FATAL$3) {\n levelName = 'error';\n }\n consoleMethod = typeof console[levelName] === 'function' ? console[levelName] : console.log;\n } else {\n consoleMethod = console.log;\n }\n var padZeros = function (number, len) {\n return Array(len + 1 - (number + '').length).join('0') + number;\n };\n var msg = '[' + padZeros(rec.time.getHours(), 2) + ':';\n msg += padZeros(rec.time.getMinutes(), 2) + ':';\n msg += padZeros(rec.time.getSeconds(), 2) + ':';\n msg += padZeros(rec.time.getMilliseconds(), 4) + '] ';\n msg += formattedLevelName + ': ';\n msg += loggerName + ': ';\n msg += rec.msg;\n if (rec.src) {\n msg += ' (' + rec.src + ')';\n }\n consoleMethod.call(console, msg);\n if (rec.err && rec.err.stack) {\n consoleMethod.call(console, rec.err.stack);\n }\n if (rec.obj) {\n consoleMethod.call(console, rec.obj);\n }\n};\n\n\n//# sourceMappingURL=index.m.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYnJvd3Nlci1idW55YW4vbGliL2luZGV4Lm0uanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYnJvd3Nlci1idW55YW4vbGliL2luZGV4Lm0uanM/MDgwZiJdLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgVFJBQ0UgPSAxMDtcbnZhciBERUJVRyA9IDIwO1xudmFyIElORk8gPSAzMDtcbnZhciBXQVJOID0gNDA7XG52YXIgRVJST1IgPSA1MDtcbnZhciBGQVRBTCA9IDYwO1xudmFyIGxldmVsRnJvbU5hbWUgPSB7XG4gICAgJ3RyYWNlJzogVFJBQ0UsXG4gICAgJ2RlYnVnJzogREVCVUcsXG4gICAgJ2luZm8nOiBJTkZPLFxuICAgICd3YXJuJzogV0FSTixcbiAgICAnZXJyb3InOiBFUlJPUixcbiAgICAnZmF0YWwnOiBGQVRBTFxufTtcbnZhciBuYW1lRnJvbUxldmVsID0ge307XG5PYmplY3Qua2V5cyhsZXZlbEZyb21OYW1lKS5mb3JFYWNoKGZ1bmN0aW9uIChuYW1lKSB7XG4gICAgbmFtZUZyb21MZXZlbFtsZXZlbEZyb21OYW1lW25hbWVdXSA9IG5hbWU7XG59KTtcbmZ1bmN0aW9uIHJlc29sdmVMZXZlbChuYW1lT3JOdW0pIHtcbiAgICByZXR1cm4gdHlwZW9mIG5hbWVPck51bSA9PT0gJ3N0cmluZycgPyBsZXZlbEZyb21OYW1lW25hbWVPck51bS50b0xvd2VyQ2FzZSgpXSA6IG5hbWVPck51bTtcbn1cblxudmFyIENBTExfU1RBQ0tfRVJST1IgPSAnY2FsbC1zdGFjay1lcnJvcic7XG5mdW5jdGlvbiBvYmpDb3B5KG9iaikge1xuICAgIGlmICh0eXBlb2Ygb2JqID09PSAndW5kZWZpbmVkJyB8fCBvYmogPT09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIG9iajtcbiAgICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkob2JqKSkge1xuICAgICAgICByZXR1cm4gb2JqLnNsaWNlKCk7XG4gICAgfSBlbHNlIGlmICh0eXBlb2Ygb2JqID09PSAnb2JqZWN0Jykge1xuICAgICAgICB2YXIgY29weSA9IHt9O1xuICAgICAgICBPYmplY3Qua2V5cyhvYmopLmZvckVhY2goZnVuY3Rpb24gKGspIHtcbiAgICAgICAgICAgIGNvcHlba10gPSBvYmpba107XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gY29weTtcbiAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gb2JqO1xuICAgIH1cbn1cblxuZnVuY3Rpb24gaW5zcGVjdChvYmopIHtcbiAgICBpZiAodHlwZW9mIG9iaiA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgcmV0dXJuICd1bmRlZmluZWQnO1xuICAgIH1cbiAgICBpZiAob2JqID09PSBudWxsKSB7XG4gICAgICAgIHJldHVybiAnbnVsbCc7XG4gICAgfVxuICAgIGlmIChBcnJheS5pc0FycmF5KG9iaikpIHtcbiAgICAgICAgdmFyIGl0ZW1zID0gb2JqLm1hcChmdW5jdGlvbiAob2JqKSB7IHJldHVybiBpbnNwZWN0KG9iaik7IH0pO1xuICAgICAgICByZXR1cm4gJ1sgJyArIGl0ZW1zLmpvaW4oJywgJykgKyAnIF0nO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIG9iaiA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KG9iaik7XG4gICAgfVxuICAgIGlmICh0eXBlb2Ygb2JqID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHJldHVybiAnW0Z1bmN0aW9uOiAnICsgb2JqLm5hbWUgKyAnXSc7XG4gICAgfVxuICAgIGlmICh0eXBlb2Ygb2JqID09PSAnYm9vbGVhbicgfHwgdHlwZW9mIG9iaiA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgcmV0dXJuIG9iajtcbiAgICB9XG4gICAgcmV0dXJuICdcXCcnICsgb2JqLnRvU3RyaW5nKCkgKyAnXFwnJztcbn1cblxuZnVuY3Rpb24gZm9ybWF0KGYpIHtcbiAgICB2YXIgYXJndW1lbnRzJDEgPSBhcmd1bWVudHM7XG5cbiAgICBpZiAodHlwZW9mIGYgIT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHZhciBvYmplY3RzID0gbmV3IEFycmF5KGFyZ3VtZW50cy5sZW5ndGgpO1xuICAgICAgICBmb3IgKHZhciBpJDEgPSAwO2kkMSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkkMSsrKSB7XG4gICAgICAgICAgICBvYmplY3RzW2kkMV0gPSBpbnNwZWN0KGFyZ3VtZW50cyQxW2kkMV0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBvYmplY3RzLmpvaW4oJyAnKTtcbiAgICB9XG4gICAgdmFyIGZvcm1hdFJlZ0V4cCA9IC8lW3NkaiVdL2c7XG4gICAgdmFyIGkgPSAxO1xuICAgIHZhciBhcmdzID0gYXJndW1lbnRzO1xuICAgIHZhciBsZW4gPSBhcmdzLmxlbmd0aDtcbiAgICB2YXIgc3RyID0gU3RyaW5nKGYpLnJlcGxhY2UoZm9ybWF0UmVnRXhwLCBmdW5jdGlvbiAoeCkge1xuICAgICAgICBpZiAoeCA9PT0gJyUlJykge1xuICAgICAgICAgICAgcmV0dXJuICclJztcbiAgICAgICAgfVxuICAgICAgICBpZiAoaSA+PSBsZW4pIHtcbiAgICAgICAgICAgIHJldHVybiB4O1xuICAgICAgICB9XG4gICAgICAgIHN3aXRjaCAoeCkge1xuICAgICAgICAgICAgY2FzZSAnJXMnOlxuICAgICAgICAgICAgICAgIHJldHVybiBTdHJpbmcoYXJnc1tpKytdKTtcbiAgICAgICAgICAgIGNhc2UgJyVkJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gTnVtYmVyKGFyZ3NbaSsrXSk7XG4gICAgICAgICAgICBjYXNlICclaic6XG4gICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KGFyZ3NbaSsrXSk7XG4gICAgICAgICAgICAgICAgfSBjYXRjaCAoXykge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ1tDaXJjdWxhcl0nO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHg7XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICBmb3IgKHZhciB4ID0gYXJnc1tpXTtpIDwgbGVuOyB4ID0gYXJnc1srK2ldKSB7XG4gICAgICAgIGlmICh4ID09PSBudWxsIHx8IHR5cGVvZiB4ICE9PSAnb2JqZWN0Jykge1xuICAgICAgICAgICAgc3RyICs9ICcgJyArIHg7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzdHIgKz0gJyAnICsgaW5zcGVjdCh4KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gc3RyO1xufVxuXG5mdW5jdGlvbiBleHRyYWN0U3JjRnJvbVN0YWNrdHJhY2Uoc3RhY2ssIGxldmVsKSB7XG4gICAgdmFyIHN0YWNrTGluZXMgPSBzdGFjay5zcGxpdCgnXFxuJyk7XG4gICAgaWYgKHN0YWNrTGluZXNbMF0gJiYgc3RhY2tMaW5lc1swXS5pbmRleE9mKENBTExfU1RBQ0tfRVJST1IpID49IDApIHtcbiAgICAgICAgc3RhY2tMaW5lcy5zaGlmdCgpO1xuICAgIH1cbiAgICB2YXIgdGFyZ2V0TGluZSA9IHN0YWNrTGluZXNbbGV2ZWxdO1xuICAgIHZhciBsaW5lSW5mbyA9IG51bGw7XG4gICAgaWYgKHRhcmdldExpbmUpIHtcbiAgICAgICAgdmFyIGV4ZWNSZXN1bHQgPSAvXlxccyooYXR8LipAKVxccyooLispPyQvLmV4ZWModGFyZ2V0TGluZSk7XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGV4ZWNSZXN1bHQpICYmIGV4ZWNSZXN1bHRbMl0pIHtcbiAgICAgICAgICAgIGxpbmVJbmZvID0gZXhlY1Jlc3VsdFsyXTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGxpbmVJbmZvID0gdGFyZ2V0TGluZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbGluZUluZm87XG59XG5cbmZ1bmN0aW9uIF9pbmRlbnQocywgaW5kZW50KSB7XG4gICAgaWYgKCFpbmRlbnQpIHtcbiAgICAgICAgaW5kZW50ID0gJyAgICAnO1xuICAgIH1cbiAgICB2YXIgbGluZXMgPSBzLnNwbGl0KC9cXHI/XFxuL2cpO1xuICAgIHJldHVybiBpbmRlbnQgKyBsaW5lcy5qb2luKCdcXG4nICsgaW5kZW50KTtcbn1cblxudmFyIF93YXJuZWQgPSB7fTtcbmZ1bmN0aW9uIF93YXJuKG1zZywgZGVkdXBLZXkpIHtcbiAgICBpZiAoZGVkdXBLZXkpIHtcbiAgICAgICAgaWYgKF93YXJuZWRbZGVkdXBLZXldKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgX3dhcm5lZFtkZWR1cEtleV0gPSB0cnVlO1xuICAgIH1cbiAgICBjb25zb2xlLmVycm9yKG1zZyArICdcXG4nKTtcbn1cblxuZnVuY3Rpb24gX2hhdmVXYXJuZWQoZGVkdXBLZXkpIHtcbiAgICByZXR1cm4gX3dhcm5lZFtkZWR1cEtleV07XG59XG5cbmZ1bmN0aW9uIHNhZmVDeWNsZXMoKSB7XG4gICAgdmFyIHNlZW4gPSBbXTtcbiAgICByZXR1cm4gZnVuY3Rpb24gKGtleSwgdmFsKSB7XG4gICAgICAgIGlmICghdmFsIHx8IHR5cGVvZiB2YWwgIT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICByZXR1cm4gdmFsO1xuICAgICAgICB9XG4gICAgICAgIGlmIChzZWVuLmluZGV4T2YodmFsKSAhPT0gLTEpIHtcbiAgICAgICAgICAgIHJldHVybiAnW0NpcmN1bGFyXSc7XG4gICAgICAgIH1cbiAgICAgICAgc2Vlbi5wdXNoKHZhbCk7XG4gICAgICAgIHJldHVybiB2YWw7XG4gICAgfTtcbn1cblxudmFyIFRSQUNFJDEgPSAxMDtcbnZhciBERUJVRyQxID0gMjA7XG52YXIgSU5GTyQxID0gMzA7XG52YXIgV0FSTiQxID0gNDA7XG52YXIgRVJST1IkMSA9IDUwO1xudmFyIEZBVEFMJDEgPSA2MDtcbnZhciBsZXZlbEZyb21OYW1lJDEgPSB7XG4gICAgJ3RyYWNlJzogVFJBQ0UkMSxcbiAgICAnZGVidWcnOiBERUJVRyQxLFxuICAgICdpbmZvJzogSU5GTyQxLFxuICAgICd3YXJuJzogV0FSTiQxLFxuICAgICdlcnJvcic6IEVSUk9SJDEsXG4gICAgJ2ZhdGFsJzogRkFUQUwkMVxufTtcbk9iamVjdC5rZXlzKGxldmVsRnJvbU5hbWUkMSkuZm9yRWFjaChmdW5jdGlvbiAobmFtZSkge30pO1xudmFyIENvbnNvbGVSYXdTdHJlYW0gPSBmdW5jdGlvbiBDb25zb2xlUmF3U3RyZWFtKCkge307XG5Db25zb2xlUmF3U3RyZWFtLnByb3RvdHlwZS53cml0ZSA9IGZ1bmN0aW9uIHdyaXRlKHJlYykge1xuICAgIGlmIChyZWMubGV2ZWwgPCBJTkZPJDEpIHtcbiAgICAgICAgY29uc29sZS5sb2cocmVjKTtcbiAgICB9IGVsc2UgaWYgKHJlYy5sZXZlbCA8IFdBUk4kMSkge1xuICAgICAgICBjb25zb2xlLmluZm8ocmVjKTtcbiAgICB9IGVsc2UgaWYgKHJlYy5sZXZlbCA8IEVSUk9SJDEpIHtcbiAgICAgICAgY29uc29sZS53YXJuKHJlYyk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihyZWMpO1xuICAgIH1cbiAgICBpZiAocmVjLmVyciAmJiByZWMuZXJyLnN0YWNrKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IocmVjLmVyci5zdGFjayk7XG4gICAgfVxuICAgIGlmIChyZWMub2JqKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKHJlYy5vYmopO1xuICAgIH1cbn07XG5cbnZhciBMT0dfVkVSU0lPTiA9IDE7XG52YXIgTG9nZ2VyID0gZnVuY3Rpb24gTG9nZ2VyKG9wdGlvbnMsIF9jaGlsZE9wdGlvbnMsIF9jaGlsZFNpbXBsZSkge1xuICAgIHZhciB0aGlzJDEgPSB0aGlzO1xuXG4gICAgaWYgKCEodGhpcyBpbnN0YW5jZW9mIExvZ2dlcikpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBMb2dnZXIob3B0aW9ucywgX2NoaWxkT3B0aW9ucyk7XG4gICAgfVxuICAgIHZhciBwYXJlbnQ7XG4gICAgaWYgKF9jaGlsZE9wdGlvbnMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBwYXJlbnQgPSBvcHRpb25zO1xuICAgICAgICBvcHRpb25zID0gX2NoaWxkT3B0aW9ucztcbiAgICAgICAgaWYgKCEocGFyZW50IGluc3RhbmNlb2YgTG9nZ2VyKSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignaW52YWxpZCBMb2dnZXIgY3JlYXRpb246IGRvIG5vdCBwYXNzIGEgc2Vjb25kIGFyZycpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGlmICghb3B0aW9ucykge1xuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdvcHRpb25zIChvYmplY3QpIGlzIHJlcXVpcmVkJyk7XG4gICAgfVxuICAgIGlmICghcGFyZW50KSB7XG4gICAgICAgIGlmICghb3B0aW9ucy5uYW1lKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdvcHRpb25zLm5hbWUgKHN0cmluZykgaXMgcmVxdWlyZWQnKTtcbiAgICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAgIGlmIChvcHRpb25zLm5hbWUpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ2ludmFsaWQgb3B0aW9ucy5uYW1lOiBjaGlsZCBjYW5ub3Qgc2V0IGxvZ2dlciBuYW1lJyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgaWYgKG9wdGlvbnMuc3RyZWFtICYmIG9wdGlvbnMuc3RyZWFtcykge1xuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdjYW5ub3QgbWl4IFwic3RyZWFtc1wiIGFuZCBcInN0cmVhbVwiIG9wdGlvbnMnKTtcbiAgICB9XG4gICAgaWYgKG9wdGlvbnMuc3RyZWFtcyAmJiAhQXJyYXkuaXNBcnJheShvcHRpb25zLnN0cmVhbXMpKSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ2ludmFsaWQgb3B0aW9ucy5zdHJlYW1zOiBtdXN0IGJlIGFuIGFycmF5Jyk7XG4gICAgfVxuICAgIGlmIChvcHRpb25zLnNlcmlhbGl6ZXJzICYmICh0eXBlb2Ygb3B0aW9ucy5zZXJpYWxpemVycyAhPT0gJ29iamVjdCcgfHwgQXJyYXkuaXNBcnJheShvcHRpb25zLnNlcmlhbGl6ZXJzKSkpIHtcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignaW52YWxpZCBvcHRpb25zLnNlcmlhbGl6ZXJzOiBtdXN0IGJlIGFuIG9iamVjdCcpO1xuICAgIH1cbiAgICB2YXIgZmllbGRzLCBuYW1lLCBpO1xuICAgIGlmIChwYXJlbnQgJiYgX2NoaWxkU2ltcGxlKSB7XG4gICAgICAgIHRoaXMuX2xldmVsID0gcGFyZW50Ll9sZXZlbDtcbiAgICAgICAgdGhpcy5zdHJlYW1zID0gcGFyZW50LnN0cmVhbXM7XG4gICAgICAgIHRoaXMuc2VyaWFsaXplcnMgPSBwYXJlbnQuc2VyaWFsaXplcnM7XG4gICAgICAgIHRoaXMuc3JjID0gcGFyZW50LnNyYztcbiAgICAgICAgZmllbGRzID0gKHRoaXMuZmllbGRzID0ge30pO1xuICAgICAgICB2YXIgcGFyZW50RmllbGROYW1lcyA9IE9iamVjdC5rZXlzKHBhcmVudC5maWVsZHMpO1xuICAgICAgICBmb3IgKGkgPSAwOyBpIDwgcGFyZW50RmllbGROYW1lcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgbmFtZSA9IHBhcmVudEZpZWxkTmFtZXNbaV07XG4gICAgICAgICAgICBmaWVsZHNbbmFtZV0gPSBwYXJlbnQuZmllbGRzW25hbWVdO1xuICAgICAgICB9XG4gICAgICAgIHZhciBuYW1lcyA9IE9iamVjdC5rZXlzKG9wdGlvbnMpO1xuICAgICAgICBmb3IgKGkgPSAwOyBpIDwgbmFtZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIG5hbWUgPSBuYW1lc1tpXTtcbiAgICAgICAgICAgIGZpZWxkc1tuYW1lXSA9IG9wdGlvbnNbbmFtZV07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAocGFyZW50KSB7XG4gICAgICAgIHRoaXMuX2xldmVsID0gcGFyZW50Ll9sZXZlbDtcbiAgICAgICAgdGhpcy5zdHJlYW1zID0gW107XG4gICAgICAgIGZvciAoaSA9IDA7IGkgPCBwYXJlbnQuc3RyZWFtcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgdmFyIHMgPSBvYmpDb3B5KHBhcmVudC5zdHJlYW1zW2ldKTtcbiAgICAgICAgICAgIHRoaXMkMS5zdHJlYW1zLnB1c2gocyk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zZXJpYWxpemVycyA9IG9iakNvcHkocGFyZW50LnNlcmlhbGl6ZXJzKTtcbiAgICAgICAgdGhpcy5zcmMgPSBwYXJlbnQuc3JjO1xuICAgICAgICB0aGlzLmZpZWxkcyA9IG9iakNvcHkocGFyZW50LmZpZWxkcyk7XG4gICAgICAgIGlmIChvcHRpb25zLmxldmVsKSB7XG4gICAgICAgICAgICB0aGlzLmxldmVsKG9wdGlvbnMubGV2ZWwpO1xuICAgICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5fbGV2ZWwgPSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFk7XG4gICAgICAgIHRoaXMuc3RyZWFtcyA9IFtdO1xuICAgICAgICB0aGlzLnNlcmlhbGl6ZXJzID0gbnVsbDtcbiAgICAgICAgdGhpcy5zcmMgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5maWVsZHMgPSB7fTtcbiAgICB9XG4gICAgaWYgKG9wdGlvbnMuc3RyZWFtKSB7XG4gICAgICAgIHRoaXMuYWRkU3RyZWFtKHtcbiAgICAgICAgICAgIHR5cGU6ICdzdHJlYW0nLFxuICAgICAgICAgICAgc3RyZWFtOiBvcHRpb25zLnN0cmVhbSxcbiAgICAgICAgICAgIGxldmVsOiBvcHRpb25zLmxldmVsXG4gICAgICAgIH0pO1xuICAgIH0gZWxzZSBpZiAob3B0aW9ucy5zdHJlYW1zKSB7XG4gICAgICAgIG9wdGlvbnMuc3RyZWFtcy5mb3JFYWNoKGZ1bmN0aW9uIChzKSB7XG4gICAgICAgICAgICB0aGlzJDEuYWRkU3RyZWFtKHMsIG9wdGlvbnMubGV2ZWwpO1xuICAgICAgICB9KTtcbiAgICB9IGVsc2UgaWYgKHBhcmVudCAmJiBvcHRpb25zLmxldmVsKSB7XG4gICAgICAgIHRoaXMubGV2ZWwob3B0aW9ucy5sZXZlbCk7XG4gICAgfSBlbHNlIGlmICghcGFyZW50KSB7XG4gICAgICAgIHRoaXMuYWRkU3RyZWFtKHtcbiAgICAgICAgICAgIHR5cGU6ICdyYXcnLFxuICAgICAgICAgICAgc3RyZWFtOiBuZXcgQ29uc29sZVJhd1N0cmVhbSgpLFxuICAgICAgICAgICAgbGV2ZWw6IG9wdGlvbnMubGV2ZWxcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGlmIChvcHRpb25zLnNlcmlhbGl6ZXJzKSB7XG4gICAgICAgIHRoaXMuYWRkU2VyaWFsaXplcnMob3B0aW9ucy5zZXJpYWxpemVycyk7XG4gICAgfVxuICAgIGlmIChvcHRpb25zLnNyYykge1xuICAgICAgICB0aGlzLnNyYyA9IHRydWU7XG4gICAgfVxuICAgIGZpZWxkcyA9IG9iakNvcHkob3B0aW9ucyk7XG4gICAgZGVsZXRlIGZpZWxkcy5zdHJlYW07XG4gICAgZGVsZXRlIGZpZWxkcy5sZXZlbDtcbiAgICBkZWxldGUgZmllbGRzLnN0cmVhbXM7XG4gICAgZGVsZXRlIGZpZWxkcy5zZXJpYWxpemVycztcbiAgICBkZWxldGUgZmllbGRzLnNyYztcbiAgICBpZiAodGhpcy5zZXJpYWxpemVycykge1xuICAgICAgICB0aGlzLl9hcHBseVNlcmlhbGl6ZXJzKGZpZWxkcyk7XG4gICAgfVxuICAgIE9iamVjdC5rZXlzKGZpZWxkcykuZm9yRWFjaChmdW5jdGlvbiAoaykge1xuICAgICAgICB0aGlzJDEuZmllbGRzW2tdID0gZmllbGRzW2tdO1xuICAgIH0pO1xufTtcbkxvZ2dlci5wcm90b3R5cGUuYWRkU3RyZWFtID0gZnVuY3Rpb24gYWRkU3RyZWFtIChzLCBkZWZhdWx0TGV2ZWwpIHtcbiAgICAgICAgaWYgKCBkZWZhdWx0TGV2ZWwgPT09IHZvaWQgMCApIGRlZmF1bHRMZXZlbCA9IElORk87XG5cbiAgICBzID0gb2JqQ29weShzKTtcbiAgICBzLnR5cGUgPSAncmF3JztcbiAgICBzLmxldmVsID0gcmVzb2x2ZUxldmVsKHMubGV2ZWwgfHwgZGVmYXVsdExldmVsKTtcbiAgICBpZiAocy5sZXZlbCA8IHRoaXMuX2xldmVsKSB7XG4gICAgICAgIHRoaXMuX2xldmVsID0gcy5sZXZlbDtcbiAgICB9XG4gICAgdGhpcy5zdHJlYW1zLnB1c2gocyk7XG4gICAgZGVsZXRlIHRoaXMuaGF2ZU5vblJhd1N0cmVhbXM7XG59O1xuTG9nZ2VyLnByb3RvdHlwZS5hZGRTZXJpYWxpemVycyA9IGZ1bmN0aW9uIGFkZFNlcmlhbGl6ZXJzIChzZXJpYWxpemVycykge1xuICAgICAgICB2YXIgdGhpcyQxID0gdGhpcztcblxuICAgIGlmICghdGhpcy5zZXJpYWxpemVycykge1xuICAgICAgICB0aGlzLnNlcmlhbGl6ZXJzID0ge307XG4gICAgfVxuICAgIE9iamVjdC5rZXlzKHNlcmlhbGl6ZXJzKS5mb3JFYWNoKGZ1bmN0aW9uIChmaWVsZCkge1xuICAgICAgICB2YXIgc2VyaWFsaXplciA9IHNlcmlhbGl6ZXJzW2ZpZWxkXTtcbiAgICAgICAgaWYgKHR5cGVvZiBzZXJpYWxpemVyICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKGZvcm1hdCgnaW52YWxpZCBzZXJpYWxpemVyIGZvciBcIiVzXCIgZmllbGQ6IG11c3QgYmUgYSBmdW5jdGlvbicsIGZpZWxkKSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcyQxLnNlcmlhbGl6ZXJzW2ZpZWxkXSA9IHNlcmlhbGl6ZXI7XG4gICAgfSk7XG59O1xuTG9nZ2VyLnByb3RvdHlwZS5jaGlsZCA9IGZ1bmN0aW9uIGNoaWxkIChvcHRpb25zLCBzaW1wbGUpIHtcbiAgICByZXR1cm4gbmV3IHRoaXMuY29uc3RydWN0b3IodGhpcywgb3B0aW9ucyB8fCB7fSwgc2ltcGxlKTtcbn07XG5Mb2dnZXIucHJvdG90eXBlLmxldmVsID0gZnVuY3Rpb24gbGV2ZWwgKHZhbHVlKSB7XG4gICAgICAgIHZhciB0aGlzJDEgPSB0aGlzO1xuXG4gICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2xldmVsO1xuICAgIH1cbiAgICB2YXIgbmV3TGV2ZWwgPSByZXNvbHZlTGV2ZWwodmFsdWUpO1xuICAgIHZhciBsZW4gPSB0aGlzLnN0cmVhbXMubGVuZ3RoO1xuICAgIGZvciAodmFyIGkgPSAwO2kgPCBsZW47IGkrKykge1xuICAgICAgICB0aGlzJDEuc3RyZWFtc1tpXS5sZXZlbCA9IG5ld0xldmVsO1xuICAgIH1cbiAgICB0aGlzLl9sZXZlbCA9IG5ld0xldmVsO1xufTtcbkxvZ2dlci5wcm90b3R5cGUubGV2ZWxzID0gZnVuY3Rpb24gbGV2ZWxzIChuYW1lLCB2YWx1ZSkge1xuICAgICAgICB2YXIgdGhpcyQxID0gdGhpcztcblxuICAgIGlmIChuYW1lID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RyZWFtcy5tYXAoZnVuY3Rpb24gKHMpIHsgcmV0dXJuIHMubGV2ZWw7IH0pO1xuICAgIH1cbiAgICB2YXIgc3RyZWFtO1xuICAgIGlmICh0eXBlb2YgbmFtZSA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgc3RyZWFtID0gdGhpcy5zdHJlYW1zW25hbWVdO1xuICAgICAgICBpZiAoc3RyZWFtID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignaW52YWxpZCBzdHJlYW0gaW5kZXg6ICcgKyBuYW1lKTtcbiAgICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAgIHZhciBsZW4gPSB0aGlzLnN0cmVhbXMubGVuZ3RoO1xuICAgICAgICBmb3IgKHZhciBpID0gMDtpIDwgbGVuOyBpKyspIHtcbiAgICAgICAgICAgIHZhciBzID0gdGhpcyQxLnN0cmVhbXNbaV07XG4gICAgICAgICAgICBpZiAocy5uYW1lID09PSBuYW1lKSB7XG4gICAgICAgICAgICAgICAgc3RyZWFtID0gcztcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoIXN0cmVhbSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGZvcm1hdCgnbm8gc3RyZWFtIHdpdGggbmFtZSBcIiVzXCInLCBuYW1lKSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgcmV0dXJuIHN0cmVhbS5sZXZlbDtcbiAgICB9IGVsc2Uge1xuICAgICAgICB2YXIgbmV3TGV2ZWwgPSByZXNvbHZlTGV2ZWwodmFsdWUpO1xuICAgICAgICBzdHJlYW0ubGV2ZWwgPSBuZXdMZXZlbDtcbiAgICAgICAgaWYgKG5ld0xldmVsIDwgdGhpcy5fbGV2ZWwpIHtcbiAgICAgICAgICAgIHRoaXMuX2xldmVsID0gbmV3TGV2ZWw7XG4gICAgICAgIH1cbiAgICB9XG59O1xuTG9nZ2VyLnByb3RvdHlwZS5fYXBwbHlTZXJpYWxpemVycyA9IGZ1bmN0aW9uIF9hcHBseVNlcmlhbGl6ZXJzIChmaWVsZHMsIGV4Y2x1ZGVGaWVsZHMpIHtcbiAgICAgICAgdmFyIHRoaXMkMSA9IHRoaXM7XG5cbiAgICBPYmplY3Qua2V5cyh0aGlzLnNlcmlhbGl6ZXJzKS5mb3JFYWNoKGZ1bmN0aW9uIChuYW1lKSB7XG4gICAgICAgIGlmIChmaWVsZHNbbmFtZV0gPT09IHVuZGVmaW5lZCB8fCBleGNsdWRlRmllbGRzICYmIGV4Y2x1ZGVGaWVsZHNbbmFtZV0pIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgZmllbGRzW25hbWVdID0gdGhpcyQxLnNlcmlhbGl6ZXJzW25hbWVdKGZpZWxkc1tuYW1lXSk7XG4gICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgX3dhcm4oZm9ybWF0KCdidW55YW46IEVSUk9SOiBFeGNlcHRpb24gdGhyb3duIGZyb20gdGhlIFwiJXNcIiAnICsgJ0J1bnlhbiBzZXJpYWxpemVyLiBUaGlzIHNob3VsZCBuZXZlciBoYXBwZW4uIFRoaXMgaXMgYSBidWcnICsgJ2luIHRoYXQgc2VyaWFsaXplciBmdW5jdGlvbi5cXG4lcycsIG5hbWUsIGVyci5zdGFjayB8fCBlcnIpKTtcbiAgICAgICAgICAgIGZpZWxkc1tuYW1lXSA9IGZvcm1hdCgnKEVycm9yIGluIEJ1bnlhbiBsb2cgXCIlc1wiIHNlcmlhbGl6ZXIgYnJva2UgZmllbGQuIFNlZSBzdGRlcnIgZm9yIGRldGFpbHMuKScsIG5hbWUpO1xuICAgICAgICB9XG4gICAgfSk7XG59O1xuTG9nZ2VyLnByb3RvdHlwZS5fZW1pdCA9IGZ1bmN0aW9uIF9lbWl0IChyZWMsIG5vZW1pdCkge1xuICAgICAgICB2YXIgdGhpcyQxID0gdGhpcztcblxuICAgIHZhciBpO1xuICAgIGlmICh0aGlzLmhhdmVOb25SYXdTdHJlYW1zID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhpcy5oYXZlTm9uUmF3U3RyZWFtcyA9IGZhbHNlO1xuICAgICAgICBmb3IgKGkgPSAwOyBpIDwgdGhpcy5zdHJlYW1zLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBpZiAoIXRoaXMkMS5zdHJlYW1zW2ldLnJhdykge1xuICAgICAgICAgICAgICAgIHRoaXMkMS5oYXZlTm9uUmF3U3RyZWFtcyA9IHRydWU7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgdmFyIHN0cjtcbiAgICBpZiAobm9lbWl0IHx8IHRoaXMuaGF2ZU5vblJhd1N0cmVhbXMpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHN0ciA9IEpTT04uc3RyaW5naWZ5KHJlYywgc2FmZUN5Y2xlcygpKSArICdcXG4nO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICB2YXIgZGVkdXBLZXkgPSBlLnN0YWNrLnNwbGl0KC9cXG4vZywgMikuam9pbignXFxuJyk7XG4gICAgICAgICAgICBfd2FybignYnVueWFuOiBFUlJPUjogRXhjZXB0aW9uIGluICcgKyAnYEpTT04uc3RyaW5naWZ5KHJlYylgLiBZb3UgY2FuIGluc3RhbGwgdGhlICcgKyAnXCJzYWZlLWpzb24tc3RyaW5naWZ5XCIgbW9kdWxlIHRvIGhhdmUgQnVueWFuIGZhbGxiYWNrICcgKyAndG8gc2FmZXIgc3RyaW5naWZpY2F0aW9uLiBSZWNvcmQ6XFxuJyArIF9pbmRlbnQoZm9ybWF0KCclc1xcbiVzJywgcmVjLCBlLnN0YWNrKSksIGRlZHVwS2V5KTtcbiAgICAgICAgICAgIHN0ciA9IGZvcm1hdCgnKEV4Y2VwdGlvbiBpbiBKU09OLnN0cmluZ2lmeShyZWMpOiAlai4gU2VlIHN0ZGVyciBmb3IgZGV0YWlscy4pXFxuJywgZS5tZXNzYWdlKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBpZiAobm9lbWl0KSB7XG4gICAgICAgIHJldHVybiBzdHI7XG4gICAgfVxuICAgIHZhciBsZXZlbCA9IHJlYy5sZXZlbDtcbiAgICBmb3IgKGkgPSAwOyBpIDwgdGhpcy5zdHJlYW1zLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHZhciBzID0gdGhpcyQxLnN0cmVhbXNbaV07XG4gICAgICAgIGlmIChzLmxldmVsIDw9IGxldmVsKSB7XG4gICAgICAgICAgICBzLnN0cmVhbS53cml0ZShyZWMpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBzdHI7XG59O1xuZnVuY3Rpb24gbWtMb2dFbWl0dGVyKG1pbkxldmVsKSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIGxvZyA9IHRoaXM7XG4gICAgICAgIGZ1bmN0aW9uIG1rUmVjb3JkKGFyZ3MpIHtcbiAgICAgICAgICAgIHZhciBleGNsdWRlRmllbGRzO1xuICAgICAgICAgICAgaWYgKGFyZ3NbMF0gaW5zdGFuY2VvZiBFcnJvcikge1xuICAgICAgICAgICAgICAgIGZpZWxkcyA9IHtcbiAgICAgICAgICAgICAgICAgICAgZXJyOiBsb2cuc2VyaWFsaXplcnMgJiYgbG9nLnNlcmlhbGl6ZXJzLmVyciA/IGxvZy5zZXJpYWxpemVycy5lcnIoYXJnc1swXSkgOiBzdGRTZXJpYWxpemVycy5lcnIoYXJnc1swXSlcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGV4Y2x1ZGVGaWVsZHMgPSB7XG4gICAgICAgICAgICAgICAgICAgIGVycjogdHJ1ZVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgaWYgKGFyZ3MubGVuZ3RoID09PSAxKSB7XG4gICAgICAgICAgICAgICAgICAgIG1zZ0FyZ3MgPSBbZmllbGRzLmVyci5tZXNzYWdlXTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBtc2dBcmdzID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJncywgMSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgYXJnc1swXSAhPT0gJ29iamVjdCcgJiYgYXJnc1swXSAhPT0gbnVsbCB8fCBBcnJheS5pc0FycmF5KGFyZ3NbMF0pKSB7XG4gICAgICAgICAgICAgICAgZmllbGRzID0gbnVsbDtcbiAgICAgICAgICAgICAgICBtc2dBcmdzID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJncyk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGZpZWxkcyA9IGFyZ3NbMF07XG4gICAgICAgICAgICAgICAgaWYgKGFyZ3MubGVuZ3RoID09PSAxICYmIGZpZWxkcy5lcnIgJiYgZmllbGRzLmVyciBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICAgICAgICAgICAgICAgIG1zZ0FyZ3MgPSBbZmllbGRzLmVyci5tZXNzYWdlXTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBtc2dBcmdzID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJncywgMSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdmFyIHJlYyA9IG9iakNvcHkobG9nLmZpZWxkcyk7XG4gICAgICAgICAgICByZWMubGV2ZWwgPSBtaW5MZXZlbDtcbiAgICAgICAgICAgIHZhciByZWNGaWVsZHMgPSBmaWVsZHMgPyBvYmpDb3B5KGZpZWxkcykgOiBudWxsO1xuICAgICAgICAgICAgaWYgKHJlY0ZpZWxkcykge1xuICAgICAgICAgICAgICAgIGlmIChsb2cuc2VyaWFsaXplcnMpIHtcbiAgICAgICAgICAgICAgICAgICAgbG9nLl9hcHBseVNlcmlhbGl6ZXJzKHJlY0ZpZWxkcywgZXhjbHVkZUZpZWxkcyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIE9iamVjdC5rZXlzKHJlY0ZpZWxkcykuZm9yRWFjaChmdW5jdGlvbiAoaykge1xuICAgICAgICAgICAgICAgICAgICByZWNba10gPSByZWNGaWVsZHNba107XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZWMubGV2ZWxOYW1lID0gbmFtZUZyb21MZXZlbFttaW5MZXZlbF07XG4gICAgICAgICAgICByZWMubXNnID0gbXNnQXJncy5sZW5ndGggPyBmb3JtYXQuYXBwbHkobG9nLCBtc2dBcmdzKSA6ICcnO1xuICAgICAgICAgICAgaWYgKCFyZWMudGltZSkge1xuICAgICAgICAgICAgICAgIHJlYy50aW1lID0gbmV3IERhdGUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChsb2cuc3JjICYmICFyZWMuc3JjKSB7XG4gICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKENBTExfU1RBQ0tfRVJST1IpO1xuICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgICAgICAgICB2YXIgc3JjID0gZXJyLnN0YWNrID8gZXh0cmFjdFNyY0Zyb21TdGFja3RyYWNlKGVyci5zdGFjaywgMikgOiAnJztcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFzcmMgJiYgIV9oYXZlV2FybmVkKCdzcmMnKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgX3dhcm4oJ1VuYWJsZSB0byBkZXRlcm1pbmUgc3JjIGxpbmUgaW5mbycsICdzcmMnKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZWMuc3JjID0gc3JjIHx8ICcnO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJlYy52ID0gTE9HX1ZFUlNJT047XG4gICAgICAgICAgICByZXR1cm4gcmVjO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICB2YXIgZmllbGRzID0gbnVsbDtcbiAgICAgICAgdmFyIG1zZ0FyZ3MgPSBhcmd1bWVudHM7XG4gICAgICAgIHZhciByZWMgPSBudWxsO1xuICAgICAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2xldmVsIDw9IG1pbkxldmVsO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuX2xldmVsID4gbWluTGV2ZWwpIHt9IGVsc2Uge1xuICAgICAgICAgICAgcmVjID0gbWtSZWNvcmQobXNnQXJncyk7XG4gICAgICAgICAgICB0aGlzLl9lbWl0KHJlYyk7XG4gICAgICAgIH1cbiAgICB9O1xufVxuXG5Mb2dnZXIucHJvdG90eXBlLnRyYWNlID0gbWtMb2dFbWl0dGVyKFRSQUNFKTtcbkxvZ2dlci5wcm90b3R5cGUuZGVidWcgPSBta0xvZ0VtaXR0ZXIoREVCVUcpO1xuTG9nZ2VyLnByb3RvdHlwZS5pbmZvID0gbWtMb2dFbWl0dGVyKElORk8pO1xuTG9nZ2VyLnByb3RvdHlwZS53YXJuID0gbWtMb2dFbWl0dGVyKFdBUk4pO1xuTG9nZ2VyLnByb3RvdHlwZS5lcnJvciA9IG1rTG9nRW1pdHRlcihFUlJPUik7XG5Mb2dnZXIucHJvdG90eXBlLmZhdGFsID0gbWtMb2dFbWl0dGVyKEZBVEFMKTtcbmZ1bmN0aW9uIGdldEZ1bGxFcnJvclN0YWNrKGV4KSB7XG4gICAgdmFyIHJldCA9IGV4LnN0YWNrIHx8IGV4LnRvU3RyaW5nKCk7XG4gICAgaWYgKGV4LmNhdXNlICYmIHR5cGVvZiBleC5jYXVzZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICB2YXIgY2V4ID0gZXguY2F1c2UoKTtcbiAgICAgICAgaWYgKGNleCkge1xuICAgICAgICAgICAgcmV0ICs9ICdcXG5DYXVzZWQgYnk6ICcgKyBnZXRGdWxsRXJyb3JTdGFjayhjZXgpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiByZXQ7XG59XG5cbnZhciBzdGRTZXJpYWxpemVycyA9IHtcbiAgICBlcnI6IGZ1bmN0aW9uIChlcnIpIHtcbiAgICAgICAgaWYgKCFlcnIgfHwgIWVyci5zdGFjaykge1xuICAgICAgICAgICAgcmV0dXJuIGVycjtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbWVzc2FnZTogZXJyLm1lc3NhZ2UsXG4gICAgICAgICAgICBuYW1lOiBlcnIubmFtZSxcbiAgICAgICAgICAgIHN0YWNrOiBnZXRGdWxsRXJyb3JTdGFjayhlcnIpLFxuICAgICAgICAgICAgY29kZTogZXJyLmNvZGUsXG4gICAgICAgICAgICBzaWduYWw6IGVyci5zaWduYWxcbiAgICAgICAgfTtcbiAgICB9XG59O1xuZnVuY3Rpb24gY3JlYXRlTG9nZ2VyKCkge1xuICAgIHZhciBhcmdzID0gW10sIGxlbiA9IGFyZ3VtZW50cy5sZW5ndGg7XG4gICAgd2hpbGUgKCBsZW4tLSApIGFyZ3NbIGxlbiBdID0gYXJndW1lbnRzWyBsZW4gXTtcblxuICAgIHJldHVybiBuZXcgKEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kLmFwcGx5KCBMb2dnZXIsIFsgbnVsbCBdLmNvbmNhdCggYXJncykgKSk7XG59XG5cbnZhciBUUkFDRSQyID0gMTA7XG52YXIgREVCVUckMiA9IDIwO1xudmFyIElORk8kMiA9IDMwO1xudmFyIFdBUk4kMiA9IDQwO1xudmFyIEVSUk9SJDIgPSA1MDtcbnZhciBGQVRBTCQyID0gNjA7XG52YXIgbGV2ZWxGcm9tTmFtZSQyID0ge1xuICAgICd0cmFjZSc6IFRSQUNFJDIsXG4gICAgJ2RlYnVnJzogREVCVUckMixcbiAgICAnaW5mbyc6IElORk8kMixcbiAgICAnd2Fybic6IFdBUk4kMixcbiAgICAnZXJyb3InOiBFUlJPUiQyLFxuICAgICdmYXRhbCc6IEZBVEFMJDJcbn07XG52YXIgbmFtZUZyb21MZXZlbCQxID0ge307XG5PYmplY3Qua2V5cyhsZXZlbEZyb21OYW1lJDIpLmZvckVhY2goZnVuY3Rpb24gKG5hbWUpIHtcbiAgICBuYW1lRnJvbUxldmVsJDFbbGV2ZWxGcm9tTmFtZSQyW25hbWVdXSA9IG5hbWU7XG59KTtcbnZhciBERUZBVUxUX0NTUyA9IHtcbiAgICBsZXZlbHM6IHtcbiAgICAgICAgdHJhY2U6ICdjb2xvcjogRGVlcFBpbmsnLFxuICAgICAgICBkZWJ1ZzogJ2NvbG9yOiBHb2xkZW5Sb2QnLFxuICAgICAgICBpbmZvOiAnY29sb3I6IERhcmtUdXJxdW9pc2UnLFxuICAgICAgICB3YXJuOiAnY29sb3I6IFB1cnBsZScsXG4gICAgICAgIGVycm9yOiAnY29sb3I6IENyaW1zb24nLFxuICAgICAgICBmYXRhbDogJ2NvbG9yOiBCbGFjaydcbiAgICB9LFxuICAgIGRlZjogJ2NvbG9yOiBEaW1HcmF5JyxcbiAgICBtc2c6ICdjb2xvcjogU3RlZWxCbHVlJyxcbiAgICBzcmM6ICdjb2xvcjogRGltR3JheTsgZm9udC1zdHlsZTogaXRhbGljOyBmb250LXNpemU6IDAuOWVtJ1xufTtcbnZhciBDb25zb2xlRm9ybWF0dGVkU3RyZWFtID0gZnVuY3Rpb24gQ29uc29sZUZvcm1hdHRlZFN0cmVhbShyZWYpIHtcbiAgICBpZiAocmVmID09PSB2b2lkIDApIFxuICAgICAgICB7IHJlZiA9IHt9OyB9XG4gICAgdmFyIGxvZ0J5TGV2ZWwgPSByZWYubG9nQnlMZXZlbDtcbiAgICBpZiAobG9nQnlMZXZlbCA9PT0gdm9pZCAwKSBcbiAgICAgICAgeyBsb2dCeUxldmVsID0gZmFsc2U7IH1cbiAgICB2YXIgY3NzID0gcmVmLmNzcztcbiAgICBpZiAoY3NzID09PSB2b2lkIDApIFxuICAgICAgICB7IGNzcyA9IERFRkFVTFRfQ1NTOyB9XG4gICAgdGhpcy5sb2dCeUxldmVsID0gbG9nQnlMZXZlbDtcbiAgICB0aGlzLmNzcyA9IGNzcztcbn07XG5Db25zb2xlRm9ybWF0dGVkU3RyZWFtLnByb3RvdHlwZS53cml0ZSA9IGZ1bmN0aW9uIHdyaXRlKHJlYykge1xuICAgIHZhciBsZXZlbENzcywgY29uc29sZU1ldGhvZDtcbiAgICB2YXIgZGVmYXVsdENzcyA9IHRoaXMuY3NzLmRlZjtcbiAgICB2YXIgbXNnQ3NzID0gdGhpcy5jc3MubXNnO1xuICAgIHZhciBzcmNDc3MgPSB0aGlzLmNzcy5zcmM7XG4gICAgdmFyIGxvZ2dlck5hbWUgPSByZWMuY2hpbGROYW1lID8gcmVjLm5hbWUgKyAnLycgKyByZWMuY2hpbGROYW1lIDogcmVjLm5hbWU7XG4gICAgdmFyIGxldmVsTmFtZSA9IG5hbWVGcm9tTGV2ZWwkMVtyZWMubGV2ZWxdO1xuICAgIHZhciBmb3JtYXR0ZWRMZXZlbE5hbWUgPSAoQXJyYXkoNiAtIGxldmVsTmFtZS5sZW5ndGgpLmpvaW4oJyAnKSArIGxldmVsTmFtZSkudG9VcHBlckNhc2UoKTtcbiAgICBpZiAodGhpcy5sb2dCeUxldmVsKSB7XG4gICAgICAgIGlmIChyZWMubGV2ZWwgPT09IFRSQUNFJDIpIHtcbiAgICAgICAgICAgIGxldmVsTmFtZSA9ICdkZWJ1Zyc7XG4gICAgICAgIH0gZWxzZSBpZiAocmVjLmxldmVsID09PSBGQVRBTCQyKSB7XG4gICAgICAgICAgICBsZXZlbE5hbWUgPSAnZXJyb3InO1xuICAgICAgICB9XG4gICAgICAgIGNvbnNvbGVNZXRob2QgPSB0eXBlb2YgY29uc29sZVtsZXZlbE5hbWVdID09PSAnZnVuY3Rpb24nID8gY29uc29sZVtsZXZlbE5hbWVdIDogY29uc29sZS5sb2c7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgY29uc29sZU1ldGhvZCA9IGNvbnNvbGUubG9nO1xuICAgIH1cbiAgICBpZiAocmVjLmxldmVsIDwgREVCVUckMikge1xuICAgICAgICBsZXZlbENzcyA9IHRoaXMuY3NzLmxldmVscy50cmFjZTtcbiAgICB9IGVsc2UgaWYgKHJlYy5sZXZlbCA8IElORk8kMikge1xuICAgICAgICBsZXZlbENzcyA9IHRoaXMuY3NzLmxldmVscy5kZWJ1ZztcbiAgICB9IGVsc2UgaWYgKHJlYy5sZXZlbCA8IFdBUk4kMikge1xuICAgICAgICBsZXZlbENzcyA9IHRoaXMuY3NzLmxldmVscy5pbmZvO1xuICAgIH0gZWxzZSBpZiAocmVjLmxldmVsIDwgRVJST1IkMikge1xuICAgICAgICBsZXZlbENzcyA9IHRoaXMuY3NzLmxldmVscy53YXJuO1xuICAgIH0gZWxzZSBpZiAocmVjLmxldmVsIDwgRkFUQUwkMikge1xuICAgICAgICBsZXZlbENzcyA9IHRoaXMuY3NzLmxldmVscy5lcnJvcjtcbiAgICB9IGVsc2Uge1xuICAgICAgICBsZXZlbENzcyA9IHRoaXMuY3NzLmxldmVscy5mYXRhbDtcbiAgICB9XG4gICAgdmFyIHBhZFplcm9zID0gZnVuY3Rpb24gKG51bWJlciwgbGVuKSB7XG4gICAgICAgIHJldHVybiBBcnJheShsZW4gKyAxIC0gKG51bWJlciArICcnKS5sZW5ndGgpLmpvaW4oJzAnKSArIG51bWJlcjtcbiAgICB9O1xuICAgIHZhciBsb2dBcmdzID0gW107XG4gICAgbG9nQXJncy5wdXNoKFwiWyVzOiVzOiVzOiVzXSAlYyVzJWM6ICVzOiAlYyVzIFwiICsgKHJlYy5zcmMgPyAnJWMlcycgOiAnJykpO1xuICAgIGxvZ0FyZ3MucHVzaChwYWRaZXJvcyhyZWMudGltZS5nZXRIb3VycygpLCAyKSk7XG4gICAgbG9nQXJncy5wdXNoKHBhZFplcm9zKHJlYy50aW1lLmdldE1pbnV0ZXMoKSwgMikpO1xuICAgIGxvZ0FyZ3MucHVzaChwYWRaZXJvcyhyZWMudGltZS5nZXRTZWNvbmRzKCksIDIpKTtcbiAgICBsb2dBcmdzLnB1c2gocGFkWmVyb3MocmVjLnRpbWUuZ2V0TWlsbGlzZWNvbmRzKCksIDQpKTtcbiAgICBsb2dBcmdzLnB1c2gobGV2ZWxDc3MpO1xuICAgIGxvZ0FyZ3MucHVzaChmb3JtYXR0ZWRMZXZlbE5hbWUpO1xuICAgIGxvZ0FyZ3MucHVzaChkZWZhdWx0Q3NzKTtcbiAgICBsb2dBcmdzLnB1c2gobG9nZ2VyTmFtZSk7XG4gICAgbG9nQXJncy5wdXNoKG1zZ0Nzcyk7XG4gICAgbG9nQXJncy5wdXNoKHJlYy5tc2cpO1xuICAgIGlmIChyZWMuc3JjKSB7XG4gICAgICAgIGxvZ0FyZ3MucHVzaChzcmNDc3MpO1xuICAgICAgICBsb2dBcmdzLnB1c2gocmVjLnNyYyk7XG4gICAgfVxuICAgIGlmIChyZWMub2JqKSB7XG4gICAgICAgIGxvZ0FyZ3MucHVzaCgnXFxuJyk7XG4gICAgICAgIGxvZ0FyZ3MucHVzaChyZWMub2JqKTtcbiAgICB9XG4gICAgaWYgKHJlYy5lcnIgJiYgcmVjLmVyci5zdGFjaykge1xuICAgICAgICBsb2dBcmdzLnB1c2goJ1xcbicpO1xuICAgICAgICBsb2dBcmdzLnB1c2gocmVjLmVyci5zdGFjayk7XG4gICAgfVxuICAgIGNvbnNvbGVNZXRob2QuYXBwbHkoY29uc29sZSwgbG9nQXJncyk7XG59O1xuQ29uc29sZUZvcm1hdHRlZFN0cmVhbS5nZXREZWZhdWx0Q3NzID0gZnVuY3Rpb24gZ2V0RGVmYXVsdENzcygpIHtcbiAgICByZXR1cm4gREVGQVVMVF9DU1M7XG59O1xuXG52YXIgVFJBQ0UkMyA9IDEwO1xudmFyIERFQlVHJDMgPSAyMDtcbnZhciBJTkZPJDMgPSAzMDtcbnZhciBXQVJOJDMgPSA0MDtcbnZhciBFUlJPUiQzID0gNTA7XG52YXIgRkFUQUwkMyA9IDYwO1xudmFyIGxldmVsRnJvbU5hbWUkMyA9IHtcbiAgICAndHJhY2UnOiBUUkFDRSQzLFxuICAgICdkZWJ1Zyc6IERFQlVHJDMsXG4gICAgJ2luZm8nOiBJTkZPJDMsXG4gICAgJ3dhcm4nOiBXQVJOJDMsXG4gICAgJ2Vycm9yJzogRVJST1IkMyxcbiAgICAnZmF0YWwnOiBGQVRBTCQzXG59O1xudmFyIG5hbWVGcm9tTGV2ZWwkMiA9IHt9O1xuT2JqZWN0LmtleXMobGV2ZWxGcm9tTmFtZSQzKS5mb3JFYWNoKGZ1bmN0aW9uIChuYW1lKSB7XG4gICAgbmFtZUZyb21MZXZlbCQyW2xldmVsRnJvbU5hbWUkM1tuYW1lXV0gPSBuYW1lO1xufSk7XG52YXIgQ29uc29sZVBsYWluU3RyZWFtID0gZnVuY3Rpb24gQ29uc29sZVBsYWluU3RyZWFtKHJlZikge1xuICAgIGlmIChyZWYgPT09IHZvaWQgMCkgXG4gICAgICAgIHsgcmVmID0ge307IH1cbiAgICB2YXIgbG9nQnlMZXZlbCA9IHJlZi5sb2dCeUxldmVsO1xuICAgIGlmIChsb2dCeUxldmVsID09PSB2b2lkIDApIFxuICAgICAgICB7IGxvZ0J5TGV2ZWwgPSBmYWxzZTsgfVxuICAgIHRoaXMubG9nQnlMZXZlbCA9IGxvZ0J5TGV2ZWw7XG59O1xuQ29uc29sZVBsYWluU3RyZWFtLnByb3RvdHlwZS53cml0ZSA9IGZ1bmN0aW9uIHdyaXRlKHJlYykge1xuICAgIHZhciBjb25zb2xlTWV0aG9kO1xuICAgIHZhciBsb2dnZXJOYW1lID0gcmVjLmNoaWxkTmFtZSA/IHJlYy5uYW1lICsgJy8nICsgcmVjLmNoaWxkTmFtZSA6IHJlYy5uYW1lO1xuICAgIHZhciBsZXZlbE5hbWUgPSBuYW1lRnJvbUxldmVsJDJbcmVjLmxldmVsXTtcbiAgICB2YXIgZm9ybWF0dGVkTGV2ZWxOYW1lID0gKEFycmF5KDYgLSBsZXZlbE5hbWUubGVuZ3RoKS5qb2luKCcgJykgKyBsZXZlbE5hbWUpLnRvVXBwZXJDYXNlKCk7XG4gICAgaWYgKHRoaXMubG9nQnlMZXZlbCkge1xuICAgICAgICBpZiAocmVjLmxldmVsID09PSBUUkFDRSQzKSB7XG4gICAgICAgICAgICBsZXZlbE5hbWUgPSAnZGVidWcnO1xuICAgICAgICB9IGVsc2UgaWYgKHJlYy5sZXZlbCA9PT0gRkFUQUwkMykge1xuICAgICAgICAgICAgbGV2ZWxOYW1lID0gJ2Vycm9yJztcbiAgICAgICAgfVxuICAgICAgICBjb25zb2xlTWV0aG9kID0gdHlwZW9mIGNvbnNvbGVbbGV2ZWxOYW1lXSA9PT0gJ2Z1bmN0aW9uJyA/IGNvbnNvbGVbbGV2ZWxOYW1lXSA6IGNvbnNvbGUubG9nO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnNvbGVNZXRob2QgPSBjb25zb2xlLmxvZztcbiAgICB9XG4gICAgdmFyIHBhZFplcm9zID0gZnVuY3Rpb24gKG51bWJlciwgbGVuKSB7XG4gICAgICAgIHJldHVybiBBcnJheShsZW4gKyAxIC0gKG51bWJlciArICcnKS5sZW5ndGgpLmpvaW4oJzAnKSArIG51bWJlcjtcbiAgICB9O1xuICAgIHZhciBtc2cgPSAnWycgKyBwYWRaZXJvcyhyZWMudGltZS5nZXRIb3VycygpLCAyKSArICc6JztcbiAgICBtc2cgKz0gcGFkWmVyb3MocmVjLnRpbWUuZ2V0TWludXRlcygpLCAyKSArICc6JztcbiAgICBtc2cgKz0gcGFkWmVyb3MocmVjLnRpbWUuZ2V0U2Vjb25kcygpLCAyKSArICc6JztcbiAgICBtc2cgKz0gcGFkWmVyb3MocmVjLnRpbWUuZ2V0TWlsbGlzZWNvbmRzKCksIDQpICsgJ10gJztcbiAgICBtc2cgKz0gZm9ybWF0dGVkTGV2ZWxOYW1lICsgJzogJztcbiAgICBtc2cgKz0gbG9nZ2VyTmFtZSArICc6ICc7XG4gICAgbXNnICs9IHJlYy5tc2c7XG4gICAgaWYgKHJlYy5zcmMpIHtcbiAgICAgICAgbXNnICs9ICcgKCcgKyByZWMuc3JjICsgJyknO1xuICAgIH1cbiAgICBjb25zb2xlTWV0aG9kLmNhbGwoY29uc29sZSwgbXNnKTtcbiAgICBpZiAocmVjLmVyciAmJiByZWMuZXJyLnN0YWNrKSB7XG4gICAgICAgIGNvbnNvbGVNZXRob2QuY2FsbChjb25zb2xlLCByZWMuZXJyLnN0YWNrKTtcbiAgICB9XG4gICAgaWYgKHJlYy5vYmopIHtcbiAgICAgICAgY29uc29sZU1ldGhvZC5jYWxsKGNvbnNvbGUsIHJlYy5vYmopO1xuICAgIH1cbn07XG5cbmV4cG9ydCB7IFRSQUNFLCBERUJVRywgSU5GTywgV0FSTiwgRVJST1IsIEZBVEFMLCByZXNvbHZlTGV2ZWwsIGxldmVsRnJvbU5hbWUsIG5hbWVGcm9tTGV2ZWwsIHN0ZFNlcmlhbGl6ZXJzLCBMb2dnZXIsIGNyZWF0ZUxvZ2dlciwgc2FmZUN5Y2xlcywgQ29uc29sZUZvcm1hdHRlZFN0cmVhbSwgQ29uc29sZVJhd1N0cmVhbSwgQ29uc29sZVBsYWluU3RyZWFtIH07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5tLmpzLm1hcFxuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/browser-bunyan/lib/index.m.js\n"); /***/ }), /***/ "./node_modules/buffer/index.js": /*!**************************************!*\ !*** ./node_modules/buffer/index.js ***! \**************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; eval("/* WEBPACK VAR INJECTION */(function(global) {/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\n\n\nvar base64 = __webpack_require__(/*! base64-js */ \"./node_modules/base64-js/index.js\")\nvar ieee754 = __webpack_require__(/*! ieee754 */ \"./node_modules/ieee754/index.js\")\nvar isArray = __webpack_require__(/*! isarray */ \"./node_modules/isarray/index.js\")\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined\n ? global.TYPED_ARRAY_SUPPORT\n : typedArraySupport()\n\n/*\n * Export kMaxLength after typed array support is determined.\n */\nexports.kMaxLength = kMaxLength()\n\nfunction typedArraySupport () {\n try {\n var arr = new Uint8Array(1)\n arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}\n return arr.foo() === 42 && // typed array instances can be augmented\n typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`\n } catch (e) {\n return false\n }\n}\n\nfunction kMaxLength () {\n return Buffer.TYPED_ARRAY_SUPPORT\n ? 0x7fffffff\n : 0x3fffffff\n}\n\nfunction createBuffer (that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length')\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length)\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length)\n }\n that.length = length\n }\n\n return that\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length)\n }\n\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error(\n 'If encoding is specified then the first argument must be a string'\n )\n }\n return allocUnsafe(this, arg)\n }\n return from(this, arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function (arr) {\n arr.__proto__ = Buffer.prototype\n return arr\n}\n\nfunction from (that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset)\n }\n\n return fromObject(that, value)\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(null, value, encodingOrOffset, length)\n}\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype\n Buffer.__proto__ = Uint8Array\n if (typeof Symbol !== 'undefined' && Symbol.species &&\n Buffer[Symbol.species] === Buffer) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true\n })\n }\n}\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number')\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative')\n }\n}\n\nfunction alloc (that, size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(that, size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(that, size).fill(fill, encoding)\n : createBuffer(that, size).fill(fill)\n }\n return createBuffer(that, size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(null, size, fill, encoding)\n}\n\nfunction allocUnsafe (that, size) {\n assertSize(size)\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0\n }\n }\n return that\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(null, size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(null, size)\n}\n\nfunction fromString (that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding')\n }\n\n var length = byteLength(string, encoding) | 0\n that = createBuffer(that, length)\n\n var actual = that.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n that = that.slice(0, actual)\n }\n\n return that\n}\n\nfunction fromArrayLike (that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n that = createBuffer(that, length)\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255\n }\n return that\n}\n\nfunction fromArrayBuffer (that, array, byteOffset, length) {\n array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds')\n }\n\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array)\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset)\n } else {\n array = new Uint8Array(array, byteOffset, length)\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array)\n }\n return that\n}\n\nfunction fromObject (that, obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n that = createBuffer(that, len)\n\n if (that.length === 0) {\n return that\n }\n\n obj.copy(that, 0, 0, len)\n return that\n }\n\n if (obj) {\n if ((typeof ArrayBuffer !== 'undefined' &&\n obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0)\n }\n return fromArrayLike(that, obj)\n }\n\n if (obj.type === 'Buffer' && isArray(obj.data)) {\n return fromArrayLike(that, obj.data)\n }\n }\n\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\n\nfunction checked (length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + kMaxLength().toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return !!(b != null && b._isBuffer)\n}\n\nBuffer.compare = function compare (a, b) {\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('Arguments must be Buffers')\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string\n }\n\n var len = string.length\n if (len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) return utf8ToBytes(string).length // assume utf8\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n var length = this.length | 0\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n var str = ''\n var max = exports.INSPECT_MAX_BYTES\n if (this.length > 0) {\n str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')\n if (this.length > max) str += ' ... '\n }\n return ''\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (!Buffer.isBuffer(target)) {\n throw new TypeError('Argument must be a Buffer')\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (isNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (Buffer.TYPED_ARRAY_SUPPORT &&\n typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n // must be an even number of digits\n var strLen = string.length\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (isNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write (buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset | 0\n if (isFinite(length)) {\n length = length | 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n // legacy write(string, encoding, offset, length) - remove in v0.13\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF) ? 4\n : (firstByte > 0xDF) ? 3\n : (firstByte > 0xBF) ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end)\n newBuf.__proto__ = Buffer.prototype\n } else {\n var sliceLen = end - start\n newBuf = new Buffer(sliceLen, undefined)\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start]\n }\n }\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nfunction objectWriteUInt16 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n (littleEndian ? i : 1 - i) * 8\n }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nfunction objectWriteUInt32 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff\n }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n var i\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if (code < 256) {\n val = code\n }\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n } else if (typeof val === 'number') {\n val = val & 255\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : utf8ToBytes(new Buffer(val, encoding).toString())\n var len = bytes.length\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction stringtrim (str) {\n if (str.trim) return str.trim()\n return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex (n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\nfunction isnan (val) {\n return val !== val // eslint-disable-line no-self-compare\n}\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\")))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYnVmZmVyL2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2J1ZmZlci9pbmRleC5qcz9iNjM5Il0sInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogVGhlIGJ1ZmZlciBtb2R1bGUgZnJvbSBub2RlLmpzLCBmb3IgdGhlIGJyb3dzZXIuXG4gKlxuICogQGF1dGhvciAgIEZlcm9zcyBBYm91a2hhZGlqZWggPGZlcm9zc0BmZXJvc3Mub3JnPiA8aHR0cDovL2Zlcm9zcy5vcmc+XG4gKiBAbGljZW5zZSAgTUlUXG4gKi9cbi8qIGVzbGludC1kaXNhYmxlIG5vLXByb3RvICovXG5cbid1c2Ugc3RyaWN0J1xuXG52YXIgYmFzZTY0ID0gcmVxdWlyZSgnYmFzZTY0LWpzJylcbnZhciBpZWVlNzU0ID0gcmVxdWlyZSgnaWVlZTc1NCcpXG52YXIgaXNBcnJheSA9IHJlcXVpcmUoJ2lzYXJyYXknKVxuXG5leHBvcnRzLkJ1ZmZlciA9IEJ1ZmZlclxuZXhwb3J0cy5TbG93QnVmZmVyID0gU2xvd0J1ZmZlclxuZXhwb3J0cy5JTlNQRUNUX01BWF9CWVRFUyA9IDUwXG5cbi8qKlxuICogSWYgYEJ1ZmZlci5UWVBFRF9BUlJBWV9TVVBQT1JUYDpcbiAqICAgPT09IHRydWUgICAgVXNlIFVpbnQ4QXJyYXkgaW1wbGVtZW50YXRpb24gKGZhc3Rlc3QpXG4gKiAgID09PSBmYWxzZSAgIFVzZSBPYmplY3QgaW1wbGVtZW50YXRpb24gKG1vc3QgY29tcGF0aWJsZSwgZXZlbiBJRTYpXG4gKlxuICogQnJvd3NlcnMgdGhhdCBzdXBwb3J0IHR5cGVkIGFycmF5cyBhcmUgSUUgMTArLCBGaXJlZm94IDQrLCBDaHJvbWUgNyssIFNhZmFyaSA1LjErLFxuICogT3BlcmEgMTEuNissIGlPUyA0LjIrLlxuICpcbiAqIER1ZSB0byB2YXJpb3VzIGJyb3dzZXIgYnVncywgc29tZXRpbWVzIHRoZSBPYmplY3QgaW1wbGVtZW50YXRpb24gd2lsbCBiZSB1c2VkIGV2ZW5cbiAqIHdoZW4gdGhlIGJyb3dzZXIgc3VwcG9ydHMgdHlwZWQgYXJyYXlzLlxuICpcbiAqIE5vdGU6XG4gKlxuICogICAtIEZpcmVmb3ggNC0yOSBsYWNrcyBzdXBwb3J0IGZvciBhZGRpbmcgbmV3IHByb3BlcnRpZXMgdG8gYFVpbnQ4QXJyYXlgIGluc3RhbmNlcyxcbiAqICAgICBTZWU6IGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NTQzOC5cbiAqXG4gKiAgIC0gQ2hyb21lIDktMTAgaXMgbWlzc2luZyB0aGUgYFR5cGVkQXJyYXkucHJvdG90eXBlLnN1YmFycmF5YCBmdW5jdGlvbi5cbiAqXG4gKiAgIC0gSUUxMCBoYXMgYSBicm9rZW4gYFR5cGVkQXJyYXkucHJvdG90eXBlLnN1YmFycmF5YCBmdW5jdGlvbiB3aGljaCByZXR1cm5zIGFycmF5cyBvZlxuICogICAgIGluY29ycmVjdCBsZW5ndGggaW4gc29tZSBzaXR1YXRpb25zLlxuXG4gKiBXZSBkZXRlY3QgdGhlc2UgYnVnZ3kgYnJvd3NlcnMgYW5kIHNldCBgQnVmZmVyLlRZUEVEX0FSUkFZX1NVUFBPUlRgIHRvIGBmYWxzZWAgc28gdGhleVxuICogZ2V0IHRoZSBPYmplY3QgaW1wbGVtZW50YXRpb24sIHdoaWNoIGlzIHNsb3dlciBidXQgYmVoYXZlcyBjb3JyZWN0bHkuXG4gKi9cbkJ1ZmZlci5UWVBFRF9BUlJBWV9TVVBQT1JUID0gZ2xvYmFsLlRZUEVEX0FSUkFZX1NVUFBPUlQgIT09IHVuZGVmaW5lZFxuICA/IGdsb2JhbC5UWVBFRF9BUlJBWV9TVVBQT1JUXG4gIDogdHlwZWRBcnJheVN1cHBvcnQoKVxuXG4vKlxuICogRXhwb3J0IGtNYXhMZW5ndGggYWZ0ZXIgdHlwZWQgYXJyYXkgc3VwcG9ydCBpcyBkZXRlcm1pbmVkLlxuICovXG5leHBvcnRzLmtNYXhMZW5ndGggPSBrTWF4TGVuZ3RoKClcblxuZnVuY3Rpb24gdHlwZWRBcnJheVN1cHBvcnQgKCkge1xuICB0cnkge1xuICAgIHZhciBhcnIgPSBuZXcgVWludDhBcnJheSgxKVxuICAgIGFyci5fX3Byb3RvX18gPSB7X19wcm90b19fOiBVaW50OEFycmF5LnByb3RvdHlwZSwgZm9vOiBmdW5jdGlvbiAoKSB7IHJldHVybiA0MiB9fVxuICAgIHJldHVybiBhcnIuZm9vKCkgPT09IDQyICYmIC8vIHR5cGVkIGFycmF5IGluc3RhbmNlcyBjYW4gYmUgYXVnbWVudGVkXG4gICAgICAgIHR5cGVvZiBhcnIuc3ViYXJyYXkgPT09ICdmdW5jdGlvbicgJiYgLy8gY2hyb21lIDktMTAgbGFjayBgc3ViYXJyYXlgXG4gICAgICAgIGFyci5zdWJhcnJheSgxLCAxKS5ieXRlTGVuZ3RoID09PSAwIC8vIGllMTAgaGFzIGJyb2tlbiBgc3ViYXJyYXlgXG4gIH0gY2F0Y2ggKGUpIHtcbiAgICByZXR1cm4gZmFsc2VcbiAgfVxufVxuXG5mdW5jdGlvbiBrTWF4TGVuZ3RoICgpIHtcbiAgcmV0dXJuIEJ1ZmZlci5UWVBFRF9BUlJBWV9TVVBQT1JUXG4gICAgPyAweDdmZmZmZmZmXG4gICAgOiAweDNmZmZmZmZmXG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUJ1ZmZlciAodGhhdCwgbGVuZ3RoKSB7XG4gIGlmIChrTWF4TGVuZ3RoKCkgPCBsZW5ndGgpIHtcbiAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcignSW52YWxpZCB0eXBlZCBhcnJheSBsZW5ndGgnKVxuICB9XG4gIGlmIChCdWZmZXIuVFlQRURfQVJSQVlfU1VQUE9SVCkge1xuICAgIC8vIFJldHVybiBhbiBhdWdtZW50ZWQgYFVpbnQ4QXJyYXlgIGluc3RhbmNlLCBmb3IgYmVzdCBwZXJmb3JtYW5jZVxuICAgIHRoYXQgPSBuZXcgVWludDhBcnJheShsZW5ndGgpXG4gICAgdGhhdC5fX3Byb3RvX18gPSBCdWZmZXIucHJvdG90eXBlXG4gIH0gZWxzZSB7XG4gICAgLy8gRmFsbGJhY2s6IFJldHVybiBhbiBvYmplY3QgaW5zdGFuY2Ugb2YgdGhlIEJ1ZmZlciBjbGFzc1xuICAgIGlmICh0aGF0ID09PSBudWxsKSB7XG4gICAgICB0aGF0ID0gbmV3IEJ1ZmZlcihsZW5ndGgpXG4gICAgfVxuICAgIHRoYXQubGVuZ3RoID0gbGVuZ3RoXG4gIH1cblxuICByZXR1cm4gdGhhdFxufVxuXG4vKipcbiAqIFRoZSBCdWZmZXIgY29uc3RydWN0b3IgcmV0dXJucyBpbnN0YW5jZXMgb2YgYFVpbnQ4QXJyYXlgIHRoYXQgaGF2ZSB0aGVpclxuICogcHJvdG90eXBlIGNoYW5nZWQgdG8gYEJ1ZmZlci5wcm90b3R5cGVgLiBGdXJ0aGVybW9yZSwgYEJ1ZmZlcmAgaXMgYSBzdWJjbGFzcyBvZlxuICogYFVpbnQ4QXJyYXlgLCBzbyB0aGUgcmV0dXJuZWQgaW5zdGFuY2VzIHdpbGwgaGF2ZSBhbGwgdGhlIG5vZGUgYEJ1ZmZlcmAgbWV0aG9kc1xuICogYW5kIHRoZSBgVWludDhBcnJheWAgbWV0aG9kcy4gU3F1YXJlIGJyYWNrZXQgbm90YXRpb24gd29ya3MgYXMgZXhwZWN0ZWQgLS0gaXRcbiAqIHJldHVybnMgYSBzaW5nbGUgb2N0ZXQuXG4gKlxuICogVGhlIGBVaW50OEFycmF5YCBwcm90b3R5cGUgcmVtYWlucyB1bm1vZGlmaWVkLlxuICovXG5cbmZ1bmN0aW9uIEJ1ZmZlciAoYXJnLCBlbmNvZGluZ09yT2Zmc2V0LCBsZW5ndGgpIHtcbiAgaWYgKCFCdWZmZXIuVFlQRURfQVJSQVlfU1VQUE9SVCAmJiAhKHRoaXMgaW5zdGFuY2VvZiBCdWZmZXIpKSB7XG4gICAgcmV0dXJuIG5ldyBCdWZmZXIoYXJnLCBlbmNvZGluZ09yT2Zmc2V0LCBsZW5ndGgpXG4gIH1cblxuICAvLyBDb21tb24gY2FzZS5cbiAgaWYgKHR5cGVvZiBhcmcgPT09ICdudW1iZXInKSB7XG4gICAgaWYgKHR5cGVvZiBlbmNvZGluZ09yT2Zmc2V0ID09PSAnc3RyaW5nJykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnSWYgZW5jb2RpbmcgaXMgc3BlY2lmaWVkIHRoZW4gdGhlIGZpcnN0IGFyZ3VtZW50IG11c3QgYmUgYSBzdHJpbmcnXG4gICAgICApXG4gICAgfVxuICAgIHJldHVybiBhbGxvY1Vuc2FmZSh0aGlzLCBhcmcpXG4gIH1cbiAgcmV0dXJuIGZyb20odGhpcywgYXJnLCBlbmNvZGluZ09yT2Zmc2V0LCBsZW5ndGgpXG59XG5cbkJ1ZmZlci5wb29sU2l6ZSA9IDgxOTIgLy8gbm90IHVzZWQgYnkgdGhpcyBpbXBsZW1lbnRhdGlvblxuXG4vLyBUT0RPOiBMZWdhY3ksIG5vdCBuZWVkZWQgYW55bW9yZS4gUmVtb3ZlIGluIG5leHQgbWFqb3IgdmVyc2lvbi5cbkJ1ZmZlci5fYXVnbWVudCA9IGZ1bmN0aW9uIChhcnIpIHtcbiAgYXJyLl9fcHJvdG9fXyA9IEJ1ZmZlci5wcm90b3R5cGVcbiAgcmV0dXJuIGFyclxufVxuXG5mdW5jdGlvbiBmcm9tICh0aGF0LCB2YWx1ZSwgZW5jb2RpbmdPck9mZnNldCwgbGVuZ3RoKSB7XG4gIGlmICh0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignXCJ2YWx1ZVwiIGFyZ3VtZW50IG11c3Qgbm90IGJlIGEgbnVtYmVyJylcbiAgfVxuXG4gIGlmICh0eXBlb2YgQXJyYXlCdWZmZXIgIT09ICd1bmRlZmluZWQnICYmIHZhbHVlIGluc3RhbmNlb2YgQXJyYXlCdWZmZXIpIHtcbiAgICByZXR1cm4gZnJvbUFycmF5QnVmZmVyKHRoYXQsIHZhbHVlLCBlbmNvZGluZ09yT2Zmc2V0LCBsZW5ndGgpXG4gIH1cblxuICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykge1xuICAgIHJldHVybiBmcm9tU3RyaW5nKHRoYXQsIHZhbHVlLCBlbmNvZGluZ09yT2Zmc2V0KVxuICB9XG5cbiAgcmV0dXJuIGZyb21PYmplY3QodGhhdCwgdmFsdWUpXG59XG5cbi8qKlxuICogRnVuY3Rpb25hbGx5IGVxdWl2YWxlbnQgdG8gQnVmZmVyKGFyZywgZW5jb2RpbmcpIGJ1dCB0aHJvd3MgYSBUeXBlRXJyb3JcbiAqIGlmIHZhbHVlIGlzIGEgbnVtYmVyLlxuICogQnVmZmVyLmZyb20oc3RyWywgZW5jb2RpbmddKVxuICogQnVmZmVyLmZyb20oYXJyYXkpXG4gKiBCdWZmZXIuZnJvbShidWZmZXIpXG4gKiBCdWZmZXIuZnJvbShhcnJheUJ1ZmZlclssIGJ5dGVPZmZzZXRbLCBsZW5ndGhdXSlcbiAqKi9cbkJ1ZmZlci5mcm9tID0gZnVuY3Rpb24gKHZhbHVlLCBlbmNvZGluZ09yT2Zmc2V0LCBsZW5ndGgpIHtcbiAgcmV0dXJuIGZyb20obnVsbCwgdmFsdWUsIGVuY29kaW5nT3JPZmZzZXQsIGxlbmd0aClcbn1cblxuaWYgKEJ1ZmZlci5UWVBFRF9BUlJBWV9TVVBQT1JUKSB7XG4gIEJ1ZmZlci5wcm90b3R5cGUuX19wcm90b19fID0gVWludDhBcnJheS5wcm90b3R5cGVcbiAgQnVmZmVyLl9fcHJvdG9fXyA9IFVpbnQ4QXJyYXlcbiAgaWYgKHR5cGVvZiBTeW1ib2wgIT09ICd1bmRlZmluZWQnICYmIFN5bWJvbC5zcGVjaWVzICYmXG4gICAgICBCdWZmZXJbU3ltYm9sLnNwZWNpZXNdID09PSBCdWZmZXIpIHtcbiAgICAvLyBGaXggc3ViYXJyYXkoKSBpbiBFUzIwMTYuIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL2Zlcm9zcy9idWZmZXIvcHVsbC85N1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShCdWZmZXIsIFN5bWJvbC5zcGVjaWVzLCB7XG4gICAgICB2YWx1ZTogbnVsbCxcbiAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxuICAgIH0pXG4gIH1cbn1cblxuZnVuY3Rpb24gYXNzZXJ0U2l6ZSAoc2l6ZSkge1xuICBpZiAodHlwZW9mIHNpemUgIT09ICdudW1iZXInKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignXCJzaXplXCIgYXJndW1lbnQgbXVzdCBiZSBhIG51bWJlcicpXG4gIH0gZWxzZSBpZiAoc2l6ZSA8IDApIHtcbiAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcignXCJzaXplXCIgYXJndW1lbnQgbXVzdCBub3QgYmUgbmVnYXRpdmUnKVxuICB9XG59XG5cbmZ1bmN0aW9uIGFsbG9jICh0aGF0LCBzaXplLCBmaWxsLCBlbmNvZGluZykge1xuICBhc3NlcnRTaXplKHNpemUpXG4gIGlmIChzaXplIDw9IDApIHtcbiAgICByZXR1cm4gY3JlYXRlQnVmZmVyKHRoYXQsIHNpemUpXG4gIH1cbiAgaWYgKGZpbGwgIT09IHVuZGVmaW5lZCkge1xuICAgIC8vIE9ubHkgcGF5IGF0dGVudGlvbiB0byBlbmNvZGluZyBpZiBpdCdzIGEgc3RyaW5nLiBUaGlzXG4gICAgLy8gcHJldmVudHMgYWNjaWRlbnRhbGx5IHNlbmRpbmcgaW4gYSBudW1iZXIgdGhhdCB3b3VsZFxuICAgIC8vIGJlIGludGVycHJldHRlZCBhcyBhIHN0YXJ0IG9mZnNldC5cbiAgICByZXR1cm4gdHlwZW9mIGVuY29kaW5nID09PSAnc3RyaW5nJ1xuICAgICAgPyBjcmVhdGVCdWZmZXIodGhhdCwgc2l6ZSkuZmlsbChmaWxsLCBlbmNvZGluZylcbiAgICAgIDogY3JlYXRlQnVmZmVyKHRoYXQsIHNpemUpLmZpbGwoZmlsbClcbiAgfVxuICByZXR1cm4gY3JlYXRlQnVmZmVyKHRoYXQsIHNpemUpXG59XG5cbi8qKlxuICogQ3JlYXRlcyBhIG5ldyBmaWxsZWQgQnVmZmVyIGluc3RhbmNlLlxuICogYWxsb2Moc2l6ZVssIGZpbGxbLCBlbmNvZGluZ11dKVxuICoqL1xuQnVmZmVyLmFsbG9jID0gZnVuY3Rpb24gKHNpemUsIGZpbGwsIGVuY29kaW5nKSB7XG4gIHJldHVybiBhbGxvYyhudWxsLCBzaXplLCBmaWxsLCBlbmNvZGluZylcbn1cblxuZnVuY3Rpb24gYWxsb2NVbnNhZmUgKHRoYXQsIHNpemUpIHtcbiAgYXNzZXJ0U2l6ZShzaXplKVxuICB0aGF0ID0gY3JlYXRlQnVmZmVyKHRoYXQsIHNpemUgPCAwID8gMCA6IGNoZWNrZWQoc2l6ZSkgfCAwKVxuICBpZiAoIUJ1ZmZlci5UWVBFRF9BUlJBWV9TVVBQT1JUKSB7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzaXplOyArK2kpIHtcbiAgICAgIHRoYXRbaV0gPSAwXG4gICAgfVxuICB9XG4gIHJldHVybiB0aGF0XG59XG5cbi8qKlxuICogRXF1aXZhbGVudCB0byBCdWZmZXIobnVtKSwgYnkgZGVmYXVsdCBjcmVhdGVzIGEgbm9uLXplcm8tZmlsbGVkIEJ1ZmZlciBpbnN0YW5jZS5cbiAqICovXG5CdWZmZXIuYWxsb2NVbnNhZmUgPSBmdW5jdGlvbiAoc2l6ZSkge1xuICByZXR1cm4gYWxsb2NVbnNhZmUobnVsbCwgc2l6ZSlcbn1cbi8qKlxuICogRXF1aXZhbGVudCB0byBTbG93QnVmZmVyKG51bSksIGJ5IGRlZmF1bHQgY3JlYXRlcyBhIG5vbi16ZXJvLWZpbGxlZCBCdWZmZXIgaW5zdGFuY2UuXG4gKi9cbkJ1ZmZlci5hbGxvY1Vuc2FmZVNsb3cgPSBmdW5jdGlvbiAoc2l6ZSkge1xuICByZXR1cm4gYWxsb2NVbnNhZmUobnVsbCwgc2l6ZSlcbn1cblxuZnVuY3Rpb24gZnJvbVN0cmluZyAodGhhdCwgc3RyaW5nLCBlbmNvZGluZykge1xuICBpZiAodHlwZW9mIGVuY29kaW5nICE9PSAnc3RyaW5nJyB8fCBlbmNvZGluZyA9PT0gJycpIHtcbiAgICBlbmNvZGluZyA9ICd1dGY4J1xuICB9XG5cbiAgaWYgKCFCdWZmZXIuaXNFbmNvZGluZyhlbmNvZGluZykpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdcImVuY29kaW5nXCIgbXVzdCBiZSBhIHZhbGlkIHN0cmluZyBlbmNvZGluZycpXG4gIH1cblxuICB2YXIgbGVuZ3RoID0gYnl0ZUxlbmd0aChzdHJpbmcsIGVuY29kaW5nKSB8IDBcbiAgdGhhdCA9IGNyZWF0ZUJ1ZmZlcih0aGF0LCBsZW5ndGgpXG5cbiAgdmFyIGFjdHVhbCA9IHRoYXQud3JpdGUoc3RyaW5nLCBlbmNvZGluZylcblxuICBpZiAoYWN0dWFsICE9PSBsZW5ndGgpIHtcbiAgICAvLyBXcml0aW5nIGEgaGV4IHN0cmluZywgZm9yIGV4YW1wbGUsIHRoYXQgY29udGFpbnMgaW52YWxpZCBjaGFyYWN0ZXJzIHdpbGxcbiAgICAvLyBjYXVzZSBldmVyeXRoaW5nIGFmdGVyIHRoZSBmaXJzdCBpbnZhbGlkIGNoYXJhY3RlciB0byBiZSBpZ25vcmVkLiAoZS5nLlxuICAgIC8vICdhYnh4Y2QnIHdpbGwgYmUgdHJlYXRlZCBhcyAnYWInKVxuICAgIHRoYXQgPSB0aGF0LnNsaWNlKDAsIGFjdHVhbClcbiAgfVxuXG4gIHJldHVybiB0aGF0XG59XG5cbmZ1bmN0aW9uIGZyb21BcnJheUxpa2UgKHRoYXQsIGFycmF5KSB7XG4gIHZhciBsZW5ndGggPSBhcnJheS5sZW5ndGggPCAwID8gMCA6IGNoZWNrZWQoYXJyYXkubGVuZ3RoKSB8IDBcbiAgdGhhdCA9IGNyZWF0ZUJ1ZmZlcih0aGF0LCBsZW5ndGgpXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuZ3RoOyBpICs9IDEpIHtcbiAgICB0aGF0W2ldID0gYXJyYXlbaV0gJiAyNTVcbiAgfVxuICByZXR1cm4gdGhhdFxufVxuXG5mdW5jdGlvbiBmcm9tQXJyYXlCdWZmZXIgKHRoYXQsIGFycmF5LCBieXRlT2Zmc2V0LCBsZW5ndGgpIHtcbiAgYXJyYXkuYnl0ZUxlbmd0aCAvLyB0aGlzIHRocm93cyBpZiBgYXJyYXlgIGlzIG5vdCBhIHZhbGlkIEFycmF5QnVmZmVyXG5cbiAgaWYgKGJ5dGVPZmZzZXQgPCAwIHx8IGFycmF5LmJ5dGVMZW5ndGggPCBieXRlT2Zmc2V0KSB7XG4gICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ1xcJ29mZnNldFxcJyBpcyBvdXQgb2YgYm91bmRzJylcbiAgfVxuXG4gIGlmIChhcnJheS5ieXRlTGVuZ3RoIDwgYnl0ZU9mZnNldCArIChsZW5ndGggfHwgMCkpIHtcbiAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcignXFwnbGVuZ3RoXFwnIGlzIG91dCBvZiBib3VuZHMnKVxuICB9XG5cbiAgaWYgKGJ5dGVPZmZzZXQgPT09IHVuZGVmaW5lZCAmJiBsZW5ndGggPT09IHVuZGVmaW5lZCkge1xuICAgIGFycmF5ID0gbmV3IFVpbnQ4QXJyYXkoYXJyYXkpXG4gIH0gZWxzZSBpZiAobGVuZ3RoID09PSB1bmRlZmluZWQpIHtcbiAgICBhcnJheSA9IG5ldyBVaW50OEFycmF5KGFycmF5LCBieXRlT2Zmc2V0KVxuICB9IGVsc2Uge1xuICAgIGFycmF5ID0gbmV3IFVpbnQ4QXJyYXkoYXJyYXksIGJ5dGVPZmZzZXQsIGxlbmd0aClcbiAgfVxuXG4gIGlmIChCdWZmZXIuVFlQRURfQVJSQVlfU1VQUE9SVCkge1xuICAgIC8vIFJldHVybiBhbiBhdWdtZW50ZWQgYFVpbnQ4QXJyYXlgIGluc3RhbmNlLCBmb3IgYmVzdCBwZXJmb3JtYW5jZVxuICAgIHRoYXQgPSBhcnJheVxuICAgIHRoYXQuX19wcm90b19fID0gQnVmZmVyLnByb3RvdHlwZVxuICB9IGVsc2Uge1xuICAgIC8vIEZhbGxiYWNrOiBSZXR1cm4gYW4gb2JqZWN0IGluc3RhbmNlIG9mIHRoZSBCdWZmZXIgY2xhc3NcbiAgICB0aGF0ID0gZnJvbUFycmF5TGlrZSh0aGF0LCBhcnJheSlcbiAgfVxuICByZXR1cm4gdGhhdFxufVxuXG5mdW5jdGlvbiBmcm9tT2JqZWN0ICh0aGF0LCBvYmopIHtcbiAgaWYgKEJ1ZmZlci5pc0J1ZmZlcihvYmopKSB7XG4gICAgdmFyIGxlbiA9IGNoZWNrZWQob2JqLmxlbmd0aCkgfCAwXG4gICAgdGhhdCA9IGNyZWF0ZUJ1ZmZlcih0aGF0LCBsZW4pXG5cbiAgICBpZiAodGhhdC5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiB0aGF0XG4gICAgfVxuXG4gICAgb2JqLmNvcHkodGhhdCwgMCwgMCwgbGVuKVxuICAgIHJldHVybiB0aGF0XG4gIH1cblxuICBpZiAob2JqKSB7XG4gICAgaWYgKCh0eXBlb2YgQXJyYXlCdWZmZXIgIT09ICd1bmRlZmluZWQnICYmXG4gICAgICAgIG9iai5idWZmZXIgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcikgfHwgJ2xlbmd0aCcgaW4gb2JqKSB7XG4gICAgICBpZiAodHlwZW9mIG9iai5sZW5ndGggIT09ICdudW1iZXInIHx8IGlzbmFuKG9iai5sZW5ndGgpKSB7XG4gICAgICAgIHJldHVybiBjcmVhdGVCdWZmZXIodGhhdCwgMClcbiAgICAgIH1cbiAgICAgIHJldHVybiBmcm9tQXJyYXlMaWtlKHRoYXQsIG9iailcbiAgICB9XG5cbiAgICBpZiAob2JqLnR5cGUgPT09ICdCdWZmZXInICYmIGlzQXJyYXkob2JqLmRhdGEpKSB7XG4gICAgICByZXR1cm4gZnJvbUFycmF5TGlrZSh0aGF0LCBvYmouZGF0YSlcbiAgICB9XG4gIH1cblxuICB0aHJvdyBuZXcgVHlwZUVycm9yKCdGaXJzdCBhcmd1bWVudCBtdXN0IGJlIGEgc3RyaW5nLCBCdWZmZXIsIEFycmF5QnVmZmVyLCBBcnJheSwgb3IgYXJyYXktbGlrZSBvYmplY3QuJylcbn1cblxuZnVuY3Rpb24gY2hlY2tlZCAobGVuZ3RoKSB7XG4gIC8vIE5vdGU6IGNhbm5vdCB1c2UgYGxlbmd0aCA8IGtNYXhMZW5ndGgoKWAgaGVyZSBiZWNhdXNlIHRoYXQgZmFpbHMgd2hlblxuICAvLyBsZW5ndGggaXMgTmFOICh3aGljaCBpcyBvdGhlcndpc2UgY29lcmNlZCB0byB6ZXJvLilcbiAgaWYgKGxlbmd0aCA+PSBrTWF4TGVuZ3RoKCkpIHtcbiAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcignQXR0ZW1wdCB0byBhbGxvY2F0ZSBCdWZmZXIgbGFyZ2VyIHRoYW4gbWF4aW11bSAnICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAnc2l6ZTogMHgnICsga01heExlbmd0aCgpLnRvU3RyaW5nKDE2KSArICcgYnl0ZXMnKVxuICB9XG4gIHJldHVybiBsZW5ndGggfCAwXG59XG5cbmZ1bmN0aW9uIFNsb3dCdWZmZXIgKGxlbmd0aCkge1xuICBpZiAoK2xlbmd0aCAhPSBsZW5ndGgpIHsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBlcWVxZXFcbiAgICBsZW5ndGggPSAwXG4gIH1cbiAgcmV0dXJuIEJ1ZmZlci5hbGxvYygrbGVuZ3RoKVxufVxuXG5CdWZmZXIuaXNCdWZmZXIgPSBmdW5jdGlvbiBpc0J1ZmZlciAoYikge1xuICByZXR1cm4gISEoYiAhPSBudWxsICYmIGIuX2lzQnVmZmVyKVxufVxuXG5CdWZmZXIuY29tcGFyZSA9IGZ1bmN0aW9uIGNvbXBhcmUgKGEsIGIpIHtcbiAgaWYgKCFCdWZmZXIuaXNCdWZmZXIoYSkgfHwgIUJ1ZmZlci5pc0J1ZmZlcihiKSkge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ0FyZ3VtZW50cyBtdXN0IGJlIEJ1ZmZlcnMnKVxuICB9XG5cbiAgaWYgKGEgPT09IGIpIHJldHVybiAwXG5cbiAgdmFyIHggPSBhLmxlbmd0aFxuICB2YXIgeSA9IGIubGVuZ3RoXG5cbiAgZm9yICh2YXIgaSA9IDAsIGxlbiA9IE1hdGgubWluKHgsIHkpOyBpIDwgbGVuOyArK2kpIHtcbiAgICBpZiAoYVtpXSAhPT0gYltpXSkge1xuICAgICAgeCA9IGFbaV1cbiAgICAgIHkgPSBiW2ldXG4gICAgICBicmVha1xuICAgIH1cbiAgfVxuXG4gIGlmICh4IDwgeSkgcmV0dXJuIC0xXG4gIGlmICh5IDwgeCkgcmV0dXJuIDFcbiAgcmV0dXJuIDBcbn1cblxuQnVmZmVyLmlzRW5jb2RpbmcgPSBmdW5jdGlvbiBpc0VuY29kaW5nIChlbmNvZGluZykge1xuICBzd2l0Y2ggKFN0cmluZyhlbmNvZGluZykudG9Mb3dlckNhc2UoKSkge1xuICAgIGNhc2UgJ2hleCc6XG4gICAgY2FzZSAndXRmOCc6XG4gICAgY2FzZSAndXRmLTgnOlxuICAgIGNhc2UgJ2FzY2lpJzpcbiAgICBjYXNlICdsYXRpbjEnOlxuICAgIGNhc2UgJ2JpbmFyeSc6XG4gICAgY2FzZSAnYmFzZTY0JzpcbiAgICBjYXNlICd1Y3MyJzpcbiAgICBjYXNlICd1Y3MtMic6XG4gICAgY2FzZSAndXRmMTZsZSc6XG4gICAgY2FzZSAndXRmLTE2bGUnOlxuICAgICAgcmV0dXJuIHRydWVcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIGZhbHNlXG4gIH1cbn1cblxuQnVmZmVyLmNvbmNhdCA9IGZ1bmN0aW9uIGNvbmNhdCAobGlzdCwgbGVuZ3RoKSB7XG4gIGlmICghaXNBcnJheShsaXN0KSkge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ1wibGlzdFwiIGFyZ3VtZW50IG11c3QgYmUgYW4gQXJyYXkgb2YgQnVmZmVycycpXG4gIH1cblxuICBpZiAobGlzdC5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gQnVmZmVyLmFsbG9jKDApXG4gIH1cblxuICB2YXIgaVxuICBpZiAobGVuZ3RoID09PSB1bmRlZmluZWQpIHtcbiAgICBsZW5ndGggPSAwXG4gICAgZm9yIChpID0gMDsgaSA8IGxpc3QubGVuZ3RoOyArK2kpIHtcbiAgICAgIGxlbmd0aCArPSBsaXN0W2ldLmxlbmd0aFxuICAgIH1cbiAgfVxuXG4gIHZhciBidWZmZXIgPSBCdWZmZXIuYWxsb2NVbnNhZmUobGVuZ3RoKVxuICB2YXIgcG9zID0gMFxuICBmb3IgKGkgPSAwOyBpIDwgbGlzdC5sZW5ndGg7ICsraSkge1xuICAgIHZhciBidWYgPSBsaXN0W2ldXG4gICAgaWYgKCFCdWZmZXIuaXNCdWZmZXIoYnVmKSkge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignXCJsaXN0XCIgYXJndW1lbnQgbXVzdCBiZSBhbiBBcnJheSBvZiBCdWZmZXJzJylcbiAgICB9XG4gICAgYnVmLmNvcHkoYnVmZmVyLCBwb3MpXG4gICAgcG9zICs9IGJ1Zi5sZW5ndGhcbiAgfVxuICByZXR1cm4gYnVmZmVyXG59XG5cbmZ1bmN0aW9uIGJ5dGVMZW5ndGggKHN0cmluZywgZW5jb2RpbmcpIHtcbiAgaWYgKEJ1ZmZlci5pc0J1ZmZlcihzdHJpbmcpKSB7XG4gICAgcmV0dXJuIHN0cmluZy5sZW5ndGhcbiAgfVxuICBpZiAodHlwZW9mIEFycmF5QnVmZmVyICE9PSAndW5kZWZpbmVkJyAmJiB0eXBlb2YgQXJyYXlCdWZmZXIuaXNWaWV3ID09PSAnZnVuY3Rpb24nICYmXG4gICAgICAoQXJyYXlCdWZmZXIuaXNWaWV3KHN0cmluZykgfHwgc3RyaW5nIGluc3RhbmNlb2YgQXJyYXlCdWZmZXIpKSB7XG4gICAgcmV0dXJuIHN0cmluZy5ieXRlTGVuZ3RoXG4gIH1cbiAgaWYgKHR5cGVvZiBzdHJpbmcgIT09ICdzdHJpbmcnKSB7XG4gICAgc3RyaW5nID0gJycgKyBzdHJpbmdcbiAgfVxuXG4gIHZhciBsZW4gPSBzdHJpbmcubGVuZ3RoXG4gIGlmIChsZW4gPT09IDApIHJldHVybiAwXG5cbiAgLy8gVXNlIGEgZm9yIGxvb3AgdG8gYXZvaWQgcmVjdXJzaW9uXG4gIHZhciBsb3dlcmVkQ2FzZSA9IGZhbHNlXG4gIGZvciAoOzspIHtcbiAgICBzd2l0Y2ggKGVuY29kaW5nKSB7XG4gICAgICBjYXNlICdhc2NpaSc6XG4gICAgICBjYXNlICdsYXRpbjEnOlxuICAgICAgY2FzZSAnYmluYXJ5JzpcbiAgICAgICAgcmV0dXJuIGxlblxuICAgICAgY2FzZSAndXRmOCc6XG4gICAgICBjYXNlICd1dGYtOCc6XG4gICAgICBjYXNlIHVuZGVmaW5lZDpcbiAgICAgICAgcmV0dXJuIHV0ZjhUb0J5dGVzKHN0cmluZykubGVuZ3RoXG4gICAgICBjYXNlICd1Y3MyJzpcbiAgICAgIGNhc2UgJ3Vjcy0yJzpcbiAgICAgIGNhc2UgJ3V0ZjE2bGUnOlxuICAgICAgY2FzZSAndXRmLTE2bGUnOlxuICAgICAgICByZXR1cm4gbGVuICogMlxuICAgICAgY2FzZSAnaGV4JzpcbiAgICAgICAgcmV0dXJuIGxlbiA+Pj4gMVxuICAgICAgY2FzZSAnYmFzZTY0JzpcbiAgICAgICAgcmV0dXJuIGJhc2U2NFRvQnl0ZXMoc3RyaW5nKS5sZW5ndGhcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGlmIChsb3dlcmVkQ2FzZSkgcmV0dXJuIHV0ZjhUb0J5dGVzKHN0cmluZykubGVuZ3RoIC8vIGFzc3VtZSB1dGY4XG4gICAgICAgIGVuY29kaW5nID0gKCcnICsgZW5jb2RpbmcpLnRvTG93ZXJDYXNlKClcbiAgICAgICAgbG93ZXJlZENhc2UgPSB0cnVlXG4gICAgfVxuICB9XG59XG5CdWZmZXIuYnl0ZUxlbmd0aCA9IGJ5dGVMZW5ndGhcblxuZnVuY3Rpb24gc2xvd1RvU3RyaW5nIChlbmNvZGluZywgc3RhcnQsIGVuZCkge1xuICB2YXIgbG93ZXJlZENhc2UgPSBmYWxzZVxuXG4gIC8vIE5vIG5lZWQgdG8gdmVyaWZ5IHRoYXQgXCJ0aGlzLmxlbmd0aCA8PSBNQVhfVUlOVDMyXCIgc2luY2UgaXQncyBhIHJlYWQtb25seVxuICAvLyBwcm9wZXJ0eSBvZiBhIHR5cGVkIGFycmF5LlxuXG4gIC8vIFRoaXMgYmVoYXZlcyBuZWl0aGVyIGxpa2UgU3RyaW5nIG5vciBVaW50OEFycmF5IGluIHRoYXQgd2Ugc2V0IHN0YXJ0L2VuZFxuICAvLyB0byB0aGVpciB1cHBlci9sb3dlciBib3VuZHMgaWYgdGhlIHZhbHVlIHBhc3NlZCBpcyBvdXQgb2YgcmFuZ2UuXG4gIC8vIHVuZGVmaW5lZCBpcyBoYW5kbGVkIHNwZWNpYWxseSBhcyBwZXIgRUNNQS0yNjIgNnRoIEVkaXRpb24sXG4gIC8vIFNlY3Rpb24gMTMuMy4zLjcgUnVudGltZSBTZW1hbnRpY3M6IEtleWVkQmluZGluZ0luaXRpYWxpemF0aW9uLlxuICBpZiAoc3RhcnQgPT09IHVuZGVmaW5lZCB8fCBzdGFydCA8IDApIHtcbiAgICBzdGFydCA9IDBcbiAgfVxuICAvLyBSZXR1cm4gZWFybHkgaWYgc3RhcnQgPiB0aGlzLmxlbmd0aC4gRG9uZSBoZXJlIHRvIHByZXZlbnQgcG90ZW50aWFsIHVpbnQzMlxuICAvLyBjb2VyY2lvbiBmYWlsIGJlbG93LlxuICBpZiAoc3RhcnQgPiB0aGlzLmxlbmd0aCkge1xuICAgIHJldHVybiAnJ1xuICB9XG5cbiAgaWYgKGVuZCA9PT0gdW5kZWZpbmVkIHx8IGVuZCA+IHRoaXMubGVuZ3RoKSB7XG4gICAgZW5kID0gdGhpcy5sZW5ndGhcbiAgfVxuXG4gIGlmIChlbmQgPD0gMCkge1xuICAgIHJldHVybiAnJ1xuICB9XG5cbiAgLy8gRm9yY2UgY29lcnNpb24gdG8gdWludDMyLiBUaGlzIHdpbGwgYWxzbyBjb2VyY2UgZmFsc2V5L05hTiB2YWx1ZXMgdG8gMC5cbiAgZW5kID4+Pj0gMFxuICBzdGFydCA+Pj49IDBcblxuICBpZiAoZW5kIDw9IHN0YXJ0KSB7XG4gICAgcmV0dXJuICcnXG4gIH1cblxuICBpZiAoIWVuY29kaW5nKSBlbmNvZGluZyA9ICd1dGY4J1xuXG4gIHdoaWxlICh0cnVlKSB7XG4gICAgc3dpdGNoIChlbmNvZGluZykge1xuICAgICAgY2FzZSAnaGV4JzpcbiAgICAgICAgcmV0dXJuIGhleFNsaWNlKHRoaXMsIHN0YXJ0LCBlbmQpXG5cbiAgICAgIGNhc2UgJ3V0ZjgnOlxuICAgICAgY2FzZSAndXRmLTgnOlxuICAgICAgICByZXR1cm4gdXRmOFNsaWNlKHRoaXMsIHN0YXJ0LCBlbmQpXG5cbiAgICAgIGNhc2UgJ2FzY2lpJzpcbiAgICAgICAgcmV0dXJuIGFzY2lpU2xpY2UodGhpcywgc3RhcnQsIGVuZClcblxuICAgICAgY2FzZSAnbGF0aW4xJzpcbiAgICAgIGNhc2UgJ2JpbmFyeSc6XG4gICAgICAgIHJldHVybiBsYXRpbjFTbGljZSh0aGlzLCBzdGFydCwgZW5kKVxuXG4gICAgICBjYXNlICdiYXNlNjQnOlxuICAgICAgICByZXR1cm4gYmFzZTY0U2xpY2UodGhpcywgc3RhcnQsIGVuZClcblxuICAgICAgY2FzZSAndWNzMic6XG4gICAgICBjYXNlICd1Y3MtMic6XG4gICAgICBjYXNlICd1dGYxNmxlJzpcbiAgICAgIGNhc2UgJ3V0Zi0xNmxlJzpcbiAgICAgICAgcmV0dXJuIHV0ZjE2bGVTbGljZSh0aGlzLCBzdGFydCwgZW5kKVxuXG4gICAgICBkZWZhdWx0OlxuICAgICAgICBpZiAobG93ZXJlZENhc2UpIHRocm93IG5ldyBUeXBlRXJyb3IoJ1Vua25vd24gZW5jb2Rpbmc6ICcgKyBlbmNvZGluZylcbiAgICAgICAgZW5jb2RpbmcgPSAoZW5jb2RpbmcgKyAnJykudG9Mb3dlckNhc2UoKVxuICAgICAgICBsb3dlcmVkQ2FzZSA9IHRydWVcbiAgICB9XG4gIH1cbn1cblxuLy8gVGhlIHByb3BlcnR5IGlzIHVzZWQgYnkgYEJ1ZmZlci5pc0J1ZmZlcmAgYW5kIGBpcy1idWZmZXJgIChpbiBTYWZhcmkgNS03KSB0byBkZXRlY3Rcbi8vIEJ1ZmZlciBpbnN0YW5jZXMuXG5CdWZmZXIucHJvdG90eXBlLl9pc0J1ZmZlciA9IHRydWVcblxuZnVuY3Rpb24gc3dhcCAoYiwgbiwgbSkge1xuICB2YXIgaSA9IGJbbl1cbiAgYltuXSA9IGJbbV1cbiAgYlttXSA9IGlcbn1cblxuQnVmZmVyLnByb3RvdHlwZS5zd2FwMTYgPSBmdW5jdGlvbiBzd2FwMTYgKCkge1xuICB2YXIgbGVuID0gdGhpcy5sZW5ndGhcbiAgaWYgKGxlbiAlIDIgIT09IDApIHtcbiAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcignQnVmZmVyIHNpemUgbXVzdCBiZSBhIG11bHRpcGxlIG9mIDE2LWJpdHMnKVxuICB9XG4gIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuOyBpICs9IDIpIHtcbiAgICBzd2FwKHRoaXMsIGksIGkgKyAxKVxuICB9XG4gIHJldHVybiB0aGlzXG59XG5cbkJ1ZmZlci5wcm90b3R5cGUuc3dhcDMyID0gZnVuY3Rpb24gc3dhcDMyICgpIHtcbiAgdmFyIGxlbiA9IHRoaXMubGVuZ3RoXG4gIGlmIChsZW4gJSA0ICE9PSAwKSB7XG4gICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ0J1ZmZlciBzaXplIG11c3QgYmUgYSBtdWx0aXBsZSBvZiAzMi1iaXRzJylcbiAgfVxuICBmb3IgKHZhciBpID0gMDsgaSA8IGxlbjsgaSArPSA0KSB7XG4gICAgc3dhcCh0aGlzLCBpLCBpICsgMylcbiAgICBzd2FwKHRoaXMsIGkgKyAxLCBpICsgMilcbiAgfVxuICByZXR1cm4gdGhpc1xufVxuXG5CdWZmZXIucHJvdG90eXBlLnN3YXA2NCA9IGZ1bmN0aW9uIHN3YXA2NCAoKSB7XG4gIHZhciBsZW4gPSB0aGlzLmxlbmd0aFxuICBpZiAobGVuICUgOCAhPT0gMCkge1xuICAgIHRocm93IG5ldyBSYW5nZUVycm9yKCdCdWZmZXIgc2l6ZSBtdXN0IGJlIGEgbXVsdGlwbGUgb2YgNjQtYml0cycpXG4gIH1cbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBsZW47IGkgKz0gOCkge1xuICAgIHN3YXAodGhpcywgaSwgaSArIDcpXG4gICAgc3dhcCh0aGlzLCBpICsgMSwgaSArIDYpXG4gICAgc3dhcCh0aGlzLCBpICsgMiwgaSArIDUpXG4gICAgc3dhcCh0aGlzLCBpICsgMywgaSArIDQpXG4gIH1cbiAgcmV0dXJuIHRoaXNcbn1cblxuQnVmZmVyLnByb3RvdHlwZS50b1N0cmluZyA9IGZ1bmN0aW9uIHRvU3RyaW5nICgpIHtcbiAgdmFyIGxlbmd0aCA9IHRoaXMubGVuZ3RoIHwgMFxuICBpZiAobGVuZ3RoID09PSAwKSByZXR1cm4gJydcbiAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT09IDApIHJldHVybiB1dGY4U2xpY2UodGhpcywgMCwgbGVuZ3RoKVxuICByZXR1cm4gc2xvd1RvU3RyaW5nLmFwcGx5KHRoaXMsIGFyZ3VtZW50cylcbn1cblxuQnVmZmVyLnByb3RvdHlwZS5lcXVhbHMgPSBmdW5jdGlvbiBlcXVhbHMgKGIpIHtcbiAgaWYgKCFCdWZmZXIuaXNCdWZmZXIoYikpIHRocm93IG5ldyBUeXBlRXJyb3IoJ0FyZ3VtZW50IG11c3QgYmUgYSBCdWZmZXInKVxuICBpZiAodGhpcyA9PT0gYikgcmV0dXJuIHRydWVcbiAgcmV0dXJuIEJ1ZmZlci5jb21wYXJlKHRoaXMsIGIpID09PSAwXG59XG5cbkJ1ZmZlci5wcm90b3R5cGUuaW5zcGVjdCA9IGZ1bmN0aW9uIGluc3BlY3QgKCkge1xuICB2YXIgc3RyID0gJydcbiAgdmFyIG1heCA9IGV4cG9ydHMuSU5TUEVDVF9NQVhfQllURVNcbiAgaWYgKHRoaXMubGVuZ3RoID4gMCkge1xuICAgIHN0ciA9IHRoaXMudG9TdHJpbmcoJ2hleCcsIDAsIG1heCkubWF0Y2goLy57Mn0vZykuam9pbignICcpXG4gICAgaWYgKHRoaXMubGVuZ3RoID4gbWF4KSBzdHIgKz0gJyAuLi4gJ1xuICB9XG4gIHJldHVybiAnPEJ1ZmZlciAnICsgc3RyICsgJz4nXG59XG5cbkJ1ZmZlci5wcm90b3R5cGUuY29tcGFyZSA9IGZ1bmN0aW9uIGNvbXBhcmUgKHRhcmdldCwgc3RhcnQsIGVuZCwgdGhpc1N0YXJ0LCB0aGlzRW5kKSB7XG4gIGlmICghQnVmZmVyLmlzQnVmZmVyKHRhcmdldCkpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdBcmd1bWVudCBtdXN0IGJlIGEgQnVmZmVyJylcbiAgfVxuXG4gIGlmIChzdGFydCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgc3RhcnQgPSAwXG4gIH1cbiAgaWYgKGVuZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgZW5kID0gdGFyZ2V0ID8gdGFyZ2V0Lmxlbmd0aCA6IDBcbiAgfVxuICBpZiAodGhpc1N0YXJ0ID09PSB1bmRlZmluZWQpIHtcbiAgICB0aGlzU3RhcnQgPSAwXG4gIH1cbiAgaWYgKHRoaXNFbmQgPT09IHVuZGVmaW5lZCkge1xuICAgIHRoaXNFbmQgPSB0aGlzLmxlbmd0aFxuICB9XG5cbiAgaWYgKHN0YXJ0IDwgMCB8fCBlbmQgPiB0YXJnZXQubGVuZ3RoIHx8IHRoaXNTdGFydCA8IDAgfHwgdGhpc0VuZCA+IHRoaXMubGVuZ3RoKSB7XG4gICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ291dCBvZiByYW5nZSBpbmRleCcpXG4gIH1cblxuICBpZiAodGhpc1N0YXJ0ID49IHRoaXNFbmQgJiYgc3RhcnQgPj0gZW5kKSB7XG4gICAgcmV0dXJuIDBcbiAgfVxuICBpZiAodGhpc1N0YXJ0ID49IHRoaXNFbmQpIHtcbiAgICByZXR1cm4gLTFcbiAgfVxuICBpZiAoc3RhcnQgPj0gZW5kKSB7XG4gICAgcmV0dXJuIDFcbiAgfVxuXG4gIHN0YXJ0ID4+Pj0gMFxuICBlbmQgPj4+PSAwXG4gIHRoaXNTdGFydCA+Pj49IDBcbiAgdGhpc0VuZCA+Pj49IDBcblxuICBpZiAodGhpcyA9PT0gdGFyZ2V0KSByZXR1cm4gMFxuXG4gIHZhciB4ID0gdGhpc0VuZCAtIHRoaXNTdGFydFxuICB2YXIgeSA9IGVuZCAtIHN0YXJ0XG4gIHZhciBsZW4gPSBNYXRoLm1pbih4LCB5KVxuXG4gIHZhciB0aGlzQ29weSA9IHRoaXMuc2xpY2UodGhpc1N0YXJ0LCB0aGlzRW5kKVxuICB2YXIgdGFyZ2V0Q29weSA9IHRhcmdldC5zbGljZShzdGFydCwgZW5kKVxuXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuOyArK2kpIHtcbiAgICBpZiAodGhpc0NvcHlbaV0gIT09IHRhcmdldENvcHlbaV0pIHtcbiAgICAgIHggPSB0aGlzQ29weVtpXVxuICAgICAgeSA9IHRhcmdldENvcHlbaV1cbiAgICAgIGJyZWFrXG4gICAgfVxuICB9XG5cbiAgaWYgKHggPCB5KSByZXR1cm4gLTFcbiAgaWYgKHkgPCB4KSByZXR1cm4gMVxuICByZXR1cm4gMFxufVxuXG4vLyBGaW5kcyBlaXRoZXIgdGhlIGZpcnN0IGluZGV4IG9mIGB2YWxgIGluIGBidWZmZXJgIGF0IG9mZnNldCA+PSBgYnl0ZU9mZnNldGAsXG4vLyBPUiB0aGUgbGFzdCBpbmRleCBvZiBgdmFsYCBpbiBgYnVmZmVyYCBhdCBvZmZzZXQgPD0gYGJ5dGVPZmZzZXRgLlxuLy9cbi8vIEFyZ3VtZW50czpcbi8vIC0gYnVmZmVyIC0gYSBCdWZmZXIgdG8gc2VhcmNoXG4vLyAtIHZhbCAtIGEgc3RyaW5nLCBCdWZmZXIsIG9yIG51bWJlclxuLy8gLSBieXRlT2Zmc2V0IC0gYW4gaW5kZXggaW50byBgYnVmZmVyYDsgd2lsbCBiZSBjbGFtcGVkIHRvIGFuIGludDMyXG4vLyAtIGVuY29kaW5nIC0gYW4gb3B0aW9uYWwgZW5jb2RpbmcsIHJlbGV2YW50IGlzIHZhbCBpcyBhIHN0cmluZ1xuLy8gLSBkaXIgLSB0cnVlIGZvciBpbmRleE9mLCBmYWxzZSBmb3IgbGFzdEluZGV4T2ZcbmZ1bmN0aW9uIGJpZGlyZWN0aW9uYWxJbmRleE9mIChidWZmZXIsIHZhbCwgYnl0ZU9mZnNldCwgZW5jb2RpbmcsIGRpcikge1xuICAvLyBFbXB0eSBidWZmZXIgbWVhbnMgbm8gbWF0Y2hcbiAgaWYgKGJ1ZmZlci5sZW5ndGggPT09IDApIHJldHVybiAtMVxuXG4gIC8vIE5vcm1hbGl6ZSBieXRlT2Zmc2V0XG4gIGlmICh0eXBlb2YgYnl0ZU9mZnNldCA9PT0gJ3N0cmluZycpIHtcbiAgICBlbmNvZGluZyA9IGJ5dGVPZmZzZXRcbiAgICBieXRlT2Zmc2V0ID0gMFxuICB9IGVsc2UgaWYgKGJ5dGVPZmZzZXQgPiAweDdmZmZmZmZmKSB7XG4gICAgYnl0ZU9mZnNldCA9IDB4N2ZmZmZmZmZcbiAgfSBlbHNlIGlmIChieXRlT2Zmc2V0IDwgLTB4ODAwMDAwMDApIHtcbiAgICBieXRlT2Zmc2V0ID0gLTB4ODAwMDAwMDBcbiAgfVxuICBieXRlT2Zmc2V0ID0gK2J5dGVPZmZzZXQgIC8vIENvZXJjZSB0byBOdW1iZXIuXG4gIGlmIChpc05hTihieXRlT2Zmc2V0KSkge1xuICAgIC8vIGJ5dGVPZmZzZXQ6IGl0IGl0J3MgdW5kZWZpbmVkLCBudWxsLCBOYU4sIFwiZm9vXCIsIGV0Yywgc2VhcmNoIHdob2xlIGJ1ZmZlclxuICAgIGJ5dGVPZmZzZXQgPSBkaXIgPyAwIDogKGJ1ZmZlci5sZW5ndGggLSAxKVxuICB9XG5cbiAgLy8gTm9ybWFsaXplIGJ5dGVPZmZzZXQ6IG5lZ2F0aXZlIG9mZnNldHMgc3RhcnQgZnJvbSB0aGUgZW5kIG9mIHRoZSBidWZmZXJcbiAgaWYgKGJ5dGVPZmZzZXQgPCAwKSBieXRlT2Zmc2V0ID0gYnVmZmVyLmxlbmd0aCArIGJ5dGVPZmZzZXRcbiAgaWYgKGJ5dGVPZmZzZXQgPj0gYnVmZmVyLmxlbmd0aCkge1xuICAgIGlmIChkaXIpIHJldHVybiAtMVxuICAgIGVsc2UgYnl0ZU9mZnNldCA9IGJ1ZmZlci5sZW5ndGggLSAxXG4gIH0gZWxzZSBpZiAoYnl0ZU9mZnNldCA8IDApIHtcbiAgICBpZiAoZGlyKSBieXRlT2Zmc2V0ID0gMFxuICAgIGVsc2UgcmV0dXJuIC0xXG4gIH1cblxuICAvLyBOb3JtYWxpemUgdmFsXG4gIGlmICh0eXBlb2YgdmFsID09PSAnc3RyaW5nJykge1xuICAgIHZhbCA9IEJ1ZmZlci5mcm9tKHZhbCwgZW5jb2RpbmcpXG4gIH1cblxuICAvLyBGaW5hbGx5LCBzZWFyY2ggZWl0aGVyIGluZGV4T2YgKGlmIGRpciBpcyB0cnVlKSBvciBsYXN0SW5kZXhPZlxuICBpZiAoQnVmZmVyLmlzQnVmZmVyKHZhbCkpIHtcbiAgICAvLyBTcGVjaWFsIGNhc2U6IGxvb2tpbmcgZm9yIGVtcHR5IHN0cmluZy9idWZmZXIgYWx3YXlzIGZhaWxzXG4gICAgaWYgKHZhbC5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiAtMVxuICAgIH1cbiAgICByZXR1cm4gYXJyYXlJbmRleE9mKGJ1ZmZlciwgdmFsLCBieXRlT2Zmc2V0LCBlbmNvZGluZywgZGlyKVxuICB9IGVsc2UgaWYgKHR5cGVvZiB2YWwgPT09ICdudW1iZXInKSB7XG4gICAgdmFsID0gdmFsICYgMHhGRiAvLyBTZWFyY2ggZm9yIGEgYnl0ZSB2YWx1ZSBbMC0yNTVdXG4gICAgaWYgKEJ1ZmZlci5UWVBFRF9BUlJBWV9TVVBQT1JUICYmXG4gICAgICAgIHR5cGVvZiBVaW50OEFycmF5LnByb3RvdHlwZS5pbmRleE9mID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBpZiAoZGlyKSB7XG4gICAgICAgIHJldHVybiBVaW50OEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwoYnVmZmVyLCB2YWwsIGJ5dGVPZmZzZXQpXG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gVWludDhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChidWZmZXIsIHZhbCwgYnl0ZU9mZnNldClcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGFycmF5SW5kZXhPZihidWZmZXIsIFsgdmFsIF0sIGJ5dGVPZmZzZXQsIGVuY29kaW5nLCBkaXIpXG4gIH1cblxuICB0aHJvdyBuZXcgVHlwZUVycm9yKCd2YWwgbXVzdCBiZSBzdHJpbmcsIG51bWJlciBvciBCdWZmZXInKVxufVxuXG5mdW5jdGlvbiBhcnJheUluZGV4T2YgKGFyciwgdmFsLCBieXRlT2Zmc2V0LCBlbmNvZGluZywgZGlyKSB7XG4gIHZhciBpbmRleFNpemUgPSAxXG4gIHZhciBhcnJMZW5ndGggPSBhcnIubGVuZ3RoXG4gIHZhciB2YWxMZW5ndGggPSB2YWwubGVuZ3RoXG5cbiAgaWYgKGVuY29kaW5nICE9PSB1bmRlZmluZWQpIHtcbiAgICBlbmNvZGluZyA9IFN0cmluZyhlbmNvZGluZykudG9Mb3dlckNhc2UoKVxuICAgIGlmIChlbmNvZGluZyA9PT0gJ3VjczInIHx8IGVuY29kaW5nID09PSAndWNzLTInIHx8XG4gICAgICAgIGVuY29kaW5nID09PSAndXRmMTZsZScgfHwgZW5jb2RpbmcgPT09ICd1dGYtMTZsZScpIHtcbiAgICAgIGlmIChhcnIubGVuZ3RoIDwgMiB8fCB2YWwubGVuZ3RoIDwgMikge1xuICAgICAgICByZXR1cm4gLTFcbiAgICAgIH1cbiAgICAgIGluZGV4U2l6ZSA9IDJcbiAgICAgIGFyckxlbmd0aCAvPSAyXG4gICAgICB2YWxMZW5ndGggLz0gMlxuICAgICAgYnl0ZU9mZnNldCAvPSAyXG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gcmVhZCAoYnVmLCBpKSB7XG4gICAgaWYgKGluZGV4U2l6ZSA9PT0gMSkge1xuICAgICAgcmV0dXJuIGJ1ZltpXVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gYnVmLnJlYWRVSW50MTZCRShpICogaW5kZXhTaXplKVxuICAgIH1cbiAgfVxuXG4gIHZhciBpXG4gIGlmIChkaXIpIHtcbiAgICB2YXIgZm91bmRJbmRleCA9IC0xXG4gICAgZm9yIChpID0gYnl0ZU9mZnNldDsgaSA8IGFyckxlbmd0aDsgaSsrKSB7XG4gICAgICBpZiAocmVhZChhcnIsIGkpID09PSByZWFkKHZhbCwgZm91bmRJbmRleCA9PT0gLTEgPyAwIDogaSAtIGZvdW5kSW5kZXgpKSB7XG4gICAgICAgIGlmIChmb3VuZEluZGV4ID09PSAtMSkgZm91bmRJbmRleCA9IGlcbiAgICAgICAgaWYgKGkgLSBmb3VuZEluZGV4ICsgMSA9PT0gdmFsTGVuZ3RoKSByZXR1cm4gZm91bmRJbmRleCAqIGluZGV4U2l6ZVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKGZvdW5kSW5kZXggIT09IC0xKSBpIC09IGkgLSBmb3VuZEluZGV4XG4gICAgICAgIGZvdW5kSW5kZXggPSAtMVxuICAgICAgfVxuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBpZiAoYnl0ZU9mZnNldCArIHZhbExlbmd0aCA+IGFyckxlbmd0aCkgYnl0ZU9mZnNldCA9IGFyckxlbmd0aCAtIHZhbExlbmd0aFxuICAgIGZvciAoaSA9IGJ5dGVPZmZzZXQ7IGkgPj0gMDsgaS0tKSB7XG4gICAgICB2YXIgZm91bmQgPSB0cnVlXG4gICAgICBmb3IgKHZhciBqID0gMDsgaiA8IHZhbExlbmd0aDsgaisrKSB7XG4gICAgICAgIGlmIChyZWFkKGFyciwgaSArIGopICE9PSByZWFkKHZhbCwgaikpIHtcbiAgICAgICAgICBmb3VuZCA9IGZhbHNlXG4gICAgICAgICAgYnJlYWtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKGZvdW5kKSByZXR1cm4gaVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiAtMVxufVxuXG5CdWZmZXIucHJvdG90eXBlLmluY2x1ZGVzID0gZnVuY3Rpb24gaW5jbHVkZXMgKHZhbCwgYnl0ZU9mZnNldCwgZW5jb2RpbmcpIHtcbiAgcmV0dXJuIHRoaXMuaW5kZXhPZih2YWwsIGJ5dGVPZmZzZXQsIGVuY29kaW5nKSAhPT0gLTFcbn1cblxuQnVmZmVyLnByb3RvdHlwZS5pbmRleE9mID0gZnVuY3Rpb24gaW5kZXhPZiAodmFsLCBieXRlT2Zmc2V0LCBlbmNvZGluZykge1xuICByZXR1cm4gYmlkaXJlY3Rpb25hbEluZGV4T2YodGhpcywgdmFsLCBieXRlT2Zmc2V0LCBlbmNvZGluZywgdHJ1ZSlcbn1cblxuQnVmZmVyLnByb3RvdHlwZS5sYXN0SW5kZXhPZiA9IGZ1bmN0aW9uIGxhc3RJbmRleE9mICh2YWwsIGJ5dGVPZmZzZXQsIGVuY29kaW5nKSB7XG4gIHJldHVybiBiaWRpcmVjdGlvbmFsSW5kZXhPZih0aGlzLCB2YWwsIGJ5dGVPZmZzZXQsIGVuY29kaW5nLCBmYWxzZSlcbn1cblxuZnVuY3Rpb24gaGV4V3JpdGUgKGJ1Ziwgc3RyaW5nLCBvZmZzZXQsIGxlbmd0aCkge1xuICBvZmZzZXQgPSBOdW1iZXIob2Zmc2V0KSB8fCAwXG4gIHZhciByZW1haW5pbmcgPSBidWYubGVuZ3RoIC0gb2Zmc2V0XG4gIGlmICghbGVuZ3RoKSB7XG4gICAgbGVuZ3RoID0gcmVtYWluaW5nXG4gIH0gZWxzZSB7XG4gICAgbGVuZ3RoID0gTnVtYmVyKGxlbmd0aClcbiAgICBpZiAobGVuZ3RoID4gcmVtYWluaW5nKSB7XG4gICAgICBsZW5ndGggPSByZW1haW5pbmdcbiAgICB9XG4gIH1cblxuICAvLyBtdXN0IGJlIGFuIGV2ZW4gbnVtYmVyIG9mIGRpZ2l0c1xuICB2YXIgc3RyTGVuID0gc3RyaW5nLmxlbmd0aFxuICBpZiAoc3RyTGVuICUgMiAhPT0gMCkgdGhyb3cgbmV3IFR5cGVFcnJvcignSW52YWxpZCBoZXggc3RyaW5nJylcblxuICBpZiAobGVuZ3RoID4gc3RyTGVuIC8gMikge1xuICAgIGxlbmd0aCA9IHN0ckxlbiAvIDJcbiAgfVxuICBmb3IgKHZhciBpID0gMDsgaSA8IGxlbmd0aDsgKytpKSB7XG4gICAgdmFyIHBhcnNlZCA9IHBhcnNlSW50KHN0cmluZy5zdWJzdHIoaSAqIDIsIDIpLCAxNilcbiAgICBpZiAoaXNOYU4ocGFyc2VkKSkgcmV0dXJuIGlcbiAgICBidWZbb2Zmc2V0ICsgaV0gPSBwYXJzZWRcbiAgfVxuICByZXR1cm4gaVxufVxuXG5mdW5jdGlvbiB1dGY4V3JpdGUgKGJ1Ziwgc3RyaW5nLCBvZmZzZXQsIGxlbmd0aCkge1xuICByZXR1cm4gYmxpdEJ1ZmZlcih1dGY4VG9CeXRlcyhzdHJpbmcsIGJ1Zi5sZW5ndGggLSBvZmZzZXQpLCBidWYsIG9mZnNldCwgbGVuZ3RoKVxufVxuXG5mdW5jdGlvbiBhc2NpaVdyaXRlIChidWYsIHN0cmluZywgb2Zmc2V0LCBsZW5ndGgpIHtcbiAgcmV0dXJuIGJsaXRCdWZmZXIoYXNjaWlUb0J5dGVzKHN0cmluZyksIGJ1Ziwgb2Zmc2V0LCBsZW5ndGgpXG59XG5cbmZ1bmN0aW9uIGxhdGluMVdyaXRlIChidWYsIHN0cmluZywgb2Zmc2V0LCBsZW5ndGgpIHtcbiAgcmV0dXJuIGFzY2lpV3JpdGUoYnVmLCBzdHJpbmcsIG9mZnNldCwgbGVuZ3RoKVxufVxuXG5mdW5jdGlvbiBiYXNlNjRXcml0ZSAoYnVmLCBzdHJpbmcsIG9mZnNldCwgbGVuZ3RoKSB7XG4gIHJldHVybiBibGl0QnVmZmVyKGJhc2U2NFRvQnl0ZXMoc3RyaW5nKSwgYnVmLCBvZmZzZXQsIGxlbmd0aClcbn1cblxuZnVuY3Rpb24gdWNzMldyaXRlIChidWYsIHN0cmluZywgb2Zmc2V0LCBsZW5ndGgpIHtcbiAgcmV0dXJuIGJsaXRCdWZmZXIodXRmMTZsZVRvQnl0ZXMoc3RyaW5nLCBidWYubGVuZ3RoIC0gb2Zmc2V0KSwgYnVmLCBvZmZzZXQsIGxlbmd0aClcbn1cblxuQnVmZmVyLnByb3RvdHlwZS53cml0ZSA9IGZ1bmN0aW9uIHdyaXRlIChzdHJpbmcsIG9mZnNldCwgbGVuZ3RoLCBlbmNvZGluZykge1xuICAvLyBCdWZmZXIjd3JpdGUoc3RyaW5nKVxuICBpZiAob2Zmc2V0ID09PSB1bmRlZmluZWQpIHtcbiAgICBlbmNvZGluZyA9ICd1dGY4J1xuICAgIGxlbmd0aCA9IHRoaXMubGVuZ3RoXG4gICAgb2Zmc2V0ID0gMFxuICAvLyBCdWZmZXIjd3JpdGUoc3RyaW5nLCBlbmNvZGluZylcbiAgfSBlbHNlIGlmIChsZW5ndGggPT09IHVuZGVmaW5lZCAmJiB0eXBlb2Ygb2Zmc2V0ID09PSAnc3RyaW5nJykge1xuICAgIGVuY29kaW5nID0gb2Zmc2V0XG4gICAgbGVuZ3RoID0gdGhpcy5sZW5ndGhcbiAgICBvZmZzZXQgPSAwXG4gIC8vIEJ1ZmZlciN3cml0ZShzdHJpbmcsIG9mZnNldFssIGxlbmd0aF1bLCBlbmNvZGluZ10pXG4gIH0gZWxzZSBpZiAoaXNGaW5pdGUob2Zmc2V0KSkge1xuICAgIG9mZnNldCA9IG9mZnNldCB8IDBcbiAgICBpZiAoaXNGaW5pdGUobGVuZ3RoKSkge1xuICAgICAgbGVuZ3RoID0gbGVuZ3RoIHwgMFxuICAgICAgaWYgKGVuY29kaW5nID09PSB1bmRlZmluZWQpIGVuY29kaW5nID0gJ3V0ZjgnXG4gICAgfSBlbHNlIHtcbiAgICAgIGVuY29kaW5nID0gbGVuZ3RoXG4gICAgICBsZW5ndGggPSB1bmRlZmluZWRcbiAgICB9XG4gIC8vIGxlZ2FjeSB3cml0ZShzdHJpbmcsIGVuY29kaW5nLCBvZmZzZXQsIGxlbmd0aCkgLSByZW1vdmUgaW4gdjAuMTNcbiAgfSBlbHNlIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAnQnVmZmVyLndyaXRlKHN0cmluZywgZW5jb2RpbmcsIG9mZnNldFssIGxlbmd0aF0pIGlzIG5vIGxvbmdlciBzdXBwb3J0ZWQnXG4gICAgKVxuICB9XG5cbiAgdmFyIHJlbWFpbmluZyA9IHRoaXMubGVuZ3RoIC0gb2Zmc2V0XG4gIGlmIChsZW5ndGggPT09IHVuZGVmaW5lZCB8fCBsZW5ndGggPiByZW1haW5pbmcpIGxlbmd0aCA9IHJlbWFpbmluZ1xuXG4gIGlmICgoc3RyaW5nLmxlbmd0aCA+IDAgJiYgKGxlbmd0aCA8IDAgfHwgb2Zmc2V0IDwgMCkpIHx8IG9mZnNldCA+IHRoaXMubGVuZ3RoKSB7XG4gICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ0F0dGVtcHQgdG8gd3JpdGUgb3V0c2lkZSBidWZmZXIgYm91bmRzJylcbiAgfVxuXG4gIGlmICghZW5jb2RpbmcpIGVuY29kaW5nID0gJ3V0ZjgnXG5cbiAgdmFyIGxvd2VyZWRDYXNlID0gZmFsc2VcbiAgZm9yICg7Oykge1xuICAgIHN3aXRjaCAoZW5jb2RpbmcpIHtcbiAgICAgIGNhc2UgJ2hleCc6XG4gICAgICAgIHJldHVybiBoZXhXcml0ZSh0aGlzLCBzdHJpbmcsIG9mZnNldCwgbGVuZ3RoKVxuXG4gICAgICBjYXNlICd1dGY4JzpcbiAgICAgIGNhc2UgJ3V0Zi04JzpcbiAgICAgICAgcmV0dXJuIHV0ZjhXcml0ZSh0aGlzLCBzdHJpbmcsIG9mZnNldCwgbGVuZ3RoKVxuXG4gICAgICBjYXNlICdhc2NpaSc6XG4gICAgICAgIHJldHVybiBhc2NpaVdyaXRlKHRoaXMsIHN0cmluZywgb2Zmc2V0LCBsZW5ndGgpXG5cbiAgICAgIGNhc2UgJ2xhdGluMSc6XG4gICAgICBjYXNlICdiaW5hcnknOlxuICAgICAgICByZXR1cm4gbGF0aW4xV3JpdGUodGhpcywgc3RyaW5nLCBvZmZzZXQsIGxlbmd0aClcblxuICAgICAgY2FzZSAnYmFzZTY0JzpcbiAgICAgICAgLy8gV2FybmluZzogbWF4TGVuZ3RoIG5vdCB0YWtlbiBpbnRvIGFjY291bnQgaW4gYmFzZTY0V3JpdGVcbiAgICAgICAgcmV0dXJuIGJhc2U2NFdyaXRlKHRoaXMsIHN0cmluZywgb2Zmc2V0LCBsZW5ndGgpXG5cbiAgICAgIGNhc2UgJ3VjczInOlxuICAgICAgY2FzZSAndWNzLTInOlxuICAgICAgY2FzZSAndXRmMTZsZSc6XG4gICAgICBjYXNlICd1dGYtMTZsZSc6XG4gICAgICAgIHJldHVybiB1Y3MyV3JpdGUodGhpcywgc3RyaW5nLCBvZmZzZXQsIGxlbmd0aClcblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgaWYgKGxvd2VyZWRDYXNlKSB0aHJvdyBuZXcgVHlwZUVycm9yKCdVbmtub3duIGVuY29kaW5nOiAnICsgZW5jb2RpbmcpXG4gICAgICAgIGVuY29kaW5nID0gKCcnICsgZW5jb2RpbmcpLnRvTG93ZXJDYXNlKClcbiAgICAgICAgbG93ZXJlZENhc2UgPSB0cnVlXG4gICAgfVxuICB9XG59XG5cbkJ1ZmZlci5wcm90b3R5cGUudG9KU09OID0gZnVuY3Rpb24gdG9KU09OICgpIHtcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiAnQnVmZmVyJyxcbiAgICBkYXRhOiBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbCh0aGlzLl9hcnIgfHwgdGhpcywgMClcbiAgfVxufVxuXG5mdW5jdGlvbiBiYXNlNjRTbGljZSAoYnVmLCBzdGFydCwgZW5kKSB7XG4gIGlmIChzdGFydCA9PT0gMCAmJiBlbmQgPT09IGJ1Zi5sZW5ndGgpIHtcbiAgICByZXR1cm4gYmFzZTY0LmZyb21CeXRlQXJyYXkoYnVmKVxuICB9IGVsc2Uge1xuICAgIHJldHVybiBiYXNlNjQuZnJvbUJ5dGVBcnJheShidWYuc2xpY2Uoc3RhcnQsIGVuZCkpXG4gIH1cbn1cblxuZnVuY3Rpb24gdXRmOFNsaWNlIChidWYsIHN0YXJ0LCBlbmQpIHtcbiAgZW5kID0gTWF0aC5taW4oYnVmLmxlbmd0aCwgZW5kKVxuICB2YXIgcmVzID0gW11cblxuICB2YXIgaSA9IHN0YXJ0XG4gIHdoaWxlIChpIDwgZW5kKSB7XG4gICAgdmFyIGZpcnN0Qnl0ZSA9IGJ1ZltpXVxuICAgIHZhciBjb2RlUG9pbnQgPSBudWxsXG4gICAgdmFyIGJ5dGVzUGVyU2VxdWVuY2UgPSAoZmlyc3RCeXRlID4gMHhFRikgPyA0XG4gICAgICA6IChmaXJzdEJ5dGUgPiAweERGKSA/IDNcbiAgICAgIDogKGZpcnN0Qnl0ZSA+IDB4QkYpID8gMlxuICAgICAgOiAxXG5cbiAgICBpZiAoaSArIGJ5dGVzUGVyU2VxdWVuY2UgPD0gZW5kKSB7XG4gICAgICB2YXIgc2Vjb25kQnl0ZSwgdGhpcmRCeXRlLCBmb3VydGhCeXRlLCB0ZW1wQ29kZVBvaW50XG5cbiAgICAgIHN3aXRjaCAoYnl0ZXNQZXJTZXF1ZW5jZSkge1xuICAgICAgICBjYXNlIDE6XG4gICAgICAgICAgaWYgKGZpcnN0Qnl0ZSA8IDB4ODApIHtcbiAgICAgICAgICAgIGNvZGVQb2ludCA9IGZpcnN0Qnl0ZVxuICAgICAgICAgIH1cbiAgICAgICAgICBicmVha1xuICAgICAgICBjYXNlIDI6XG4gICAgICAgICAgc2Vjb25kQnl0ZSA9IGJ1ZltpICsgMV1cbiAgICAgICAgICBpZiAoKHNlY29uZEJ5dGUgJiAweEMwKSA9PT0gMHg4MCkge1xuICAgICAgICAgICAgdGVtcENvZGVQb2ludCA9IChmaXJzdEJ5dGUgJiAweDFGKSA8PCAweDYgfCAoc2Vjb25kQnl0ZSAmIDB4M0YpXG4gICAgICAgICAgICBpZiAodGVtcENvZGVQb2ludCA+IDB4N0YpIHtcbiAgICAgICAgICAgICAgY29kZVBvaW50ID0gdGVtcENvZGVQb2ludFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBicmVha1xuICAgICAgICBjYXNlIDM6XG4gICAgICAgICAgc2Vjb25kQnl0ZSA9IGJ1ZltpICsgMV1cbiAgICAgICAgICB0aGlyZEJ5dGUgPSBidWZbaSArIDJdXG4gICAgICAgICAgaWYgKChzZWNvbmRCeXRlICYgMHhDMCkgPT09IDB4ODAgJiYgKHRoaXJkQnl0ZSAmIDB4QzApID09PSAweDgwKSB7XG4gICAgICAgICAgICB0ZW1wQ29kZVBvaW50ID0gKGZpcnN0Qnl0ZSAmIDB4RikgPDwgMHhDIHwgKHNlY29uZEJ5dGUgJiAweDNGKSA8PCAweDYgfCAodGhpcmRCeXRlICYgMHgzRilcbiAgICAgICAgICAgIGlmICh0ZW1wQ29kZVBvaW50ID4gMHg3RkYgJiYgKHRlbXBDb2RlUG9pbnQgPCAweEQ4MDAgfHwgdGVtcENvZGVQb2ludCA+IDB4REZGRikpIHtcbiAgICAgICAgICAgICAgY29kZVBvaW50ID0gdGVtcENvZGVQb2ludFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBicmVha1xuICAgICAgICBjYXNlIDQ6XG4gICAgICAgICAgc2Vjb25kQnl0ZSA9IGJ1ZltpICsgMV1cbiAgICAgICAgICB0aGlyZEJ5dGUgPSBidWZbaSArIDJdXG4gICAgICAgICAgZm91cnRoQnl0ZSA9IGJ1ZltpICsgM11cbiAgICAgICAgICBpZiAoKHNlY29uZEJ5dGUgJiAweEMwKSA9PT0gMHg4MCAmJiAodGhpcmRCeXRlICYgMHhDMCkgPT09IDB4ODAgJiYgKGZvdXJ0aEJ5dGUgJiAweEMwKSA9PT0gMHg4MCkge1xuICAgICAgICAgICAgdGVtcENvZGVQb2ludCA9IChmaXJzdEJ5dGUgJiAweEYpIDw8IDB4MTIgfCAoc2Vjb25kQnl0ZSAmIDB4M0YpIDw8IDB4QyB8ICh0aGlyZEJ5dGUgJiAweDNGKSA8PCAweDYgfCAoZm91cnRoQnl0ZSAmIDB4M0YpXG4gICAgICAgICAgICBpZiAodGVtcENvZGVQb2ludCA+IDB4RkZGRiAmJiB0ZW1wQ29kZVBvaW50IDwgMHgxMTAwMDApIHtcbiAgICAgICAgICAgICAgY29kZVBvaW50ID0gdGVtcENvZGVQb2ludFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoY29kZVBvaW50ID09PSBudWxsKSB7XG4gICAgICAvLyB3ZSBkaWQgbm90IGdlbmVyYXRlIGEgdmFsaWQgY29kZVBvaW50IHNvIGluc2VydCBhXG4gICAgICAvLyByZXBsYWNlbWVudCBjaGFyIChVK0ZGRkQpIGFuZCBhZHZhbmNlIG9ubHkgMSBieXRlXG4gICAgICBjb2RlUG9pbnQgPSAweEZGRkRcbiAgICAgIGJ5dGVzUGVyU2VxdWVuY2UgPSAxXG4gICAgfSBlbHNlIGlmIChjb2RlUG9pbnQgPiAweEZGRkYpIHtcbiAgICAgIC8vIGVuY29kZSB0byB1dGYxNiAoc3Vycm9nYXRlIHBhaXIgZGFuY2UpXG4gICAgICBjb2RlUG9pbnQgLT0gMHgxMDAwMFxuICAgICAgcmVzLnB1c2goY29kZVBvaW50ID4+PiAxMCAmIDB4M0ZGIHwgMHhEODAwKVxuICAgICAgY29kZVBvaW50ID0gMHhEQzAwIHwgY29kZVBvaW50ICYgMHgzRkZcbiAgICB9XG5cbiAgICByZXMucHVzaChjb2RlUG9pbnQpXG4gICAgaSArPSBieXRlc1BlclNlcXVlbmNlXG4gIH1cblxuICByZXR1cm4gZGVjb2RlQ29kZVBvaW50c0FycmF5KHJlcylcbn1cblxuLy8gQmFzZWQgb24gaHR0cDovL3N0YWNrb3ZlcmZsb3cuY29tL2EvMjI3NDcyNzIvNjgwNzQyLCB0aGUgYnJvd3NlciB3aXRoXG4vLyB0aGUgbG93ZXN0IGxpbWl0IGlzIENocm9tZSwgd2l0aCAweDEwMDAwIGFyZ3MuXG4vLyBXZSBnbyAxIG1hZ25pdHVkZSBsZXNzLCBmb3Igc2FmZXR5XG52YXIgTUFYX0FSR1VNRU5UU19MRU5HVEggPSAweDEwMDBcblxuZnVuY3Rpb24gZGVjb2RlQ29kZVBvaW50c0FycmF5IChjb2RlUG9pbnRzKSB7XG4gIHZhciBsZW4gPSBjb2RlUG9pbnRzLmxlbmd0aFxuICBpZiAobGVuIDw9IE1BWF9BUkdVTUVOVFNfTEVOR1RIKSB7XG4gICAgcmV0dXJuIFN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkoU3RyaW5nLCBjb2RlUG9pbnRzKSAvLyBhdm9pZCBleHRyYSBzbGljZSgpXG4gIH1cblxuICAvLyBEZWNvZGUgaW4gY2h1bmtzIHRvIGF2b2lkIFwiY2FsbCBzdGFjayBzaXplIGV4Y2VlZGVkXCIuXG4gIHZhciByZXMgPSAnJ1xuICB2YXIgaSA9IDBcbiAgd2hpbGUgKGkgPCBsZW4pIHtcbiAgICByZXMgKz0gU3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShcbiAgICAgIFN0cmluZyxcbiAgICAgIGNvZGVQb2ludHMuc2xpY2UoaSwgaSArPSBNQVhfQVJHVU1FTlRTX0xFTkdUSClcbiAgICApXG4gIH1cbiAgcmV0dXJuIHJlc1xufVxuXG5mdW5jdGlvbiBhc2NpaVNsaWNlIChidWYsIHN0YXJ0LCBlbmQpIHtcbiAgdmFyIHJldCA9ICcnXG4gIGVuZCA9IE1hdGgubWluKGJ1Zi5sZW5ndGgsIGVuZClcblxuICBmb3IgKHZhciBpID0gc3RhcnQ7IGkgPCBlbmQ7ICsraSkge1xuICAgIHJldCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGJ1ZltpXSAmIDB4N0YpXG4gIH1cbiAgcmV0dXJuIHJldFxufVxuXG5mdW5jdGlvbiBsYXRpbjFTbGljZSAoYnVmLCBzdGFydCwgZW5kKSB7XG4gIHZhciByZXQgPSAnJ1xuICBlbmQgPSBNYXRoLm1pbihidWYubGVuZ3RoLCBlbmQpXG5cbiAgZm9yICh2YXIgaSA9IHN0YXJ0OyBpIDwgZW5kOyArK2kpIHtcbiAgICByZXQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShidWZbaV0pXG4gIH1cbiAgcmV0dXJuIHJldFxufVxuXG5mdW5jdGlvbiBoZXhTbGljZSAoYnVmLCBzdGFydCwgZW5kKSB7XG4gIHZhciBsZW4gPSBidWYubGVuZ3RoXG5cbiAgaWYgKCFzdGFydCB8fCBzdGFydCA8IDApIHN0YXJ0ID0gMFxuICBpZiAoIWVuZCB8fCBlbmQgPCAwIHx8IGVuZCA+IGxlbikgZW5kID0gbGVuXG5cbiAgdmFyIG91dCA9ICcnXG4gIGZvciAodmFyIGkgPSBzdGFydDsgaSA8IGVuZDsgKytpKSB7XG4gICAgb3V0ICs9IHRvSGV4KGJ1ZltpXSlcbiAgfVxuICByZXR1cm4gb3V0XG59XG5cbmZ1bmN0aW9uIHV0ZjE2bGVTbGljZSAoYnVmLCBzdGFydCwgZW5kKSB7XG4gIHZhciBieXRlcyA9IGJ1Zi5zbGljZShzdGFydCwgZW5kKVxuICB2YXIgcmVzID0gJydcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBieXRlcy5sZW5ndGg7IGkgKz0gMikge1xuICAgIHJlcyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGJ5dGVzW2ldICsgYnl0ZXNbaSArIDFdICogMjU2KVxuICB9XG4gIHJldHVybiByZXNcbn1cblxuQnVmZmVyLnByb3RvdHlwZS5zbGljZSA9IGZ1bmN0aW9uIHNsaWNlIChzdGFydCwgZW5kKSB7XG4gIHZhciBsZW4gPSB0aGlzLmxlbmd0aFxuICBzdGFydCA9IH5+c3RhcnRcbiAgZW5kID0gZW5kID09PSB1bmRlZmluZWQgPyBsZW4gOiB+fmVuZFxuXG4gIGlmIChzdGFydCA8IDApIHtcbiAgICBzdGFydCArPSBsZW5cbiAgICBpZiAoc3RhcnQgPCAwKSBzdGFydCA9IDBcbiAgfSBlbHNlIGlmIChzdGFydCA+IGxlbikge1xuICAgIHN0YXJ0ID0gbGVuXG4gIH1cblxuICBpZiAoZW5kIDwgMCkge1xuICAgIGVuZCArPSBsZW5cbiAgICBpZiAoZW5kIDwgMCkgZW5kID0gMFxuICB9IGVsc2UgaWYgKGVuZCA+IGxlbikge1xuICAgIGVuZCA9IGxlblxuICB9XG5cbiAgaWYgKGVuZCA8IHN0YXJ0KSBlbmQgPSBzdGFydFxuXG4gIHZhciBuZXdCdWZcbiAgaWYgKEJ1ZmZlci5UWVBFRF9BUlJBWV9TVVBQT1JUKSB7XG4gICAgbmV3QnVmID0gdGhpcy5zdWJhcnJheShzdGFydCwgZW5kKVxuICAgIG5ld0J1Zi5fX3Byb3RvX18gPSBCdWZmZXIucHJvdG90eXBlXG4gIH0gZWxzZSB7XG4gICAgdmFyIHNsaWNlTGVuID0gZW5kIC0gc3RhcnRcbiAgICBuZXdCdWYgPSBuZXcgQnVmZmVyKHNsaWNlTGVuLCB1bmRlZmluZWQpXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzbGljZUxlbjsgKytpKSB7XG4gICAgICBuZXdCdWZbaV0gPSB0aGlzW2kgKyBzdGFydF1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gbmV3QnVmXG59XG5cbi8qXG4gKiBOZWVkIHRvIG1ha2Ugc3VyZSB0aGF0IGJ1ZmZlciBpc24ndCB0cnlpbmcgdG8gd3JpdGUgb3V0IG9mIGJvdW5kcy5cbiAqL1xuZnVuY3Rpb24gY2hlY2tPZmZzZXQgKG9mZnNldCwgZXh0LCBsZW5ndGgpIHtcbiAgaWYgKChvZmZzZXQgJSAxKSAhPT0gMCB8fCBvZmZzZXQgPCAwKSB0aHJvdyBuZXcgUmFuZ2VFcnJvcignb2Zmc2V0IGlzIG5vdCB1aW50JylcbiAgaWYgKG9mZnNldCArIGV4dCA+IGxlbmd0aCkgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ1RyeWluZyB0byBhY2Nlc3MgYmV5b25kIGJ1ZmZlciBsZW5ndGgnKVxufVxuXG5CdWZmZXIucHJvdG90eXBlLnJlYWRVSW50TEUgPSBmdW5jdGlvbiByZWFkVUludExFIChvZmZzZXQsIGJ5dGVMZW5ndGgsIG5vQXNzZXJ0KSB7XG4gIG9mZnNldCA9IG9mZnNldCB8IDBcbiAgYnl0ZUxlbmd0aCA9IGJ5dGVMZW5ndGggfCAwXG4gIGlmICghbm9Bc3NlcnQpIGNoZWNrT2Zmc2V0KG9mZnNldCwgYnl0ZUxlbmd0aCwgdGhpcy5sZW5ndGgpXG5cbiAgdmFyIHZhbCA9IHRoaXNbb2Zmc2V0XVxuICB2YXIgbXVsID0gMVxuICB2YXIgaSA9IDBcbiAgd2hpbGUgKCsraSA8IGJ5dGVMZW5ndGggJiYgKG11bCAqPSAweDEwMCkpIHtcbiAgICB2YWwgKz0gdGhpc1tvZmZzZXQgKyBpXSAqIG11bFxuICB9XG5cbiAgcmV0dXJuIHZhbFxufVxuXG5CdWZmZXIucHJvdG90eXBlLnJlYWRVSW50QkUgPSBmdW5jdGlvbiByZWFkVUludEJFIChvZmZzZXQsIGJ5dGVMZW5ndGgsIG5vQXNzZXJ0KSB7XG4gIG9mZnNldCA9IG9mZnNldCB8IDBcbiAgYnl0ZUxlbmd0aCA9IGJ5dGVMZW5ndGggfCAwXG4gIGlmICghbm9Bc3NlcnQpIHtcbiAgICBjaGVja09mZnNldChvZmZzZXQsIGJ5dGVMZW5ndGgsIHRoaXMubGVuZ3RoKVxuICB9XG5cbiAgdmFyIHZhbCA9IHRoaXNbb2Zmc2V0ICsgLS1ieXRlTGVuZ3RoXVxuICB2YXIgbXVsID0gMVxuICB3aGlsZSAoYnl0ZUxlbmd0aCA+IDAgJiYgKG11bCAqPSAweDEwMCkpIHtcbiAgICB2YWwgKz0gdGhpc1tvZmZzZXQgKyAtLWJ5dGVMZW5ndGhdICogbXVsXG4gIH1cblxuICByZXR1cm4gdmFsXG59XG5cbkJ1ZmZlci5wcm90b3R5cGUucmVhZFVJbnQ4ID0gZnVuY3Rpb24gcmVhZFVJbnQ4IChvZmZzZXQsIG5vQXNzZXJ0KSB7XG4gIGlmICghbm9Bc3NlcnQpIGNoZWNrT2Zmc2V0KG9mZnNldCwgMSwgdGhpcy5sZW5ndGgpXG4gIHJldHVybiB0aGlzW29mZnNldF1cbn1cblxuQnVmZmVyLnByb3RvdHlwZS5yZWFkVUludDE2TEUgPSBmdW5jdGlvbiByZWFkVUludDE2TEUgKG9mZnNldCwgbm9Bc3NlcnQpIHtcbiAgaWYgKCFub0Fzc2VydCkgY2hlY2tPZmZzZXQob2Zmc2V0LCAyLCB0aGlzLmxlbmd0aClcbiAgcmV0dXJuIHRoaXNbb2Zmc2V0XSB8ICh0aGlzW29mZnNldCArIDFdIDw8IDgpXG59XG5cbkJ1ZmZlci5wcm90b3R5cGUucmVhZFVJbnQxNkJFID0gZnVuY3Rpb24gcmVhZFVJbnQxNkJFIChvZmZzZXQsIG5vQXNzZXJ0KSB7XG4gIGlmICghbm9Bc3NlcnQpIGNoZWNrT2Zmc2V0KG9mZnNldCwgMiwgdGhpcy5sZW5ndGgpXG4gIHJldHVybiAodGhpc1tvZmZzZXRdIDw8IDgpIHwgdGhpc1tvZmZzZXQgKyAxXVxufVxuXG5CdWZmZXIucHJvdG90eXBlLnJlYWRVSW50MzJMRSA9IGZ1bmN0aW9uIHJlYWRVSW50MzJMRSAob2Zmc2V0LCBub0Fzc2VydCkge1xuICBpZiAoIW5vQXNzZXJ0KSBjaGVja09mZnNldChvZmZzZXQsIDQsIHRoaXMubGVuZ3RoKVxuXG4gIHJldHVybiAoKHRoaXNbb2Zmc2V0XSkgfFxuICAgICAgKHRoaXNbb2Zmc2V0ICsgMV0gPDwgOCkgfFxuICAgICAgKHRoaXNbb2Zmc2V0ICsgMl0gPDwgMTYpKSArXG4gICAgICAodGhpc1tvZmZzZXQgKyAzXSAqIDB4MTAwMDAwMClcbn1cblxuQnVmZmVyLnByb3RvdHlwZS5yZWFkVUludDMyQkUgPSBmdW5jdGlvbiByZWFkVUludDMyQkUgKG9mZnNldCwgbm9Bc3NlcnQpIHtcbiAgaWYgKCFub0Fzc2VydCkgY2hlY2tPZmZzZXQob2Zmc2V0LCA0LCB0aGlzLmxlbmd0aClcblxuICByZXR1cm4gKHRoaXNbb2Zmc2V0XSAqIDB4MTAwMDAwMCkgK1xuICAgICgodGhpc1tvZmZzZXQgKyAxXSA8PCAxNikgfFxuICAgICh0aGlzW29mZnNldCArIDJdIDw8IDgpIHxcbiAgICB0aGlzW29mZnNldCArIDNdKVxufVxuXG5CdWZmZXIucHJvdG90eXBlLnJlYWRJbnRMRSA9IGZ1bmN0aW9uIHJlYWRJbnRMRSAob2Zmc2V0LCBieXRlTGVuZ3RoLCBub0Fzc2VydCkge1xuICBvZmZzZXQgPSBvZmZzZXQgfCAwXG4gIGJ5dGVMZW5ndGggPSBieXRlTGVuZ3RoIHwgMFxuICBpZiAoIW5vQXNzZXJ0KSBjaGVja09mZnNldChvZmZzZXQsIGJ5dGVMZW5ndGgsIHRoaXMubGVuZ3RoKVxuXG4gIHZhciB2YWwgPSB0aGlzW29mZnNldF1cbiAgdmFyIG11bCA9IDFcbiAgdmFyIGkgPSAwXG4gIHdoaWxlICgrK2kgPCBieXRlTGVuZ3RoICYmIChtdWwgKj0gMHgxMDApKSB7XG4gICAgdmFsICs9IHRoaXNbb2Zmc2V0ICsgaV0gKiBtdWxcbiAgfVxuICBtdWwgKj0gMHg4MFxuXG4gIGlmICh2YWwgPj0gbXVsKSB2YWwgLT0gTWF0aC5wb3coMiwgOCAqIGJ5dGVMZW5ndGgpXG5cbiAgcmV0dXJuIHZhbFxufVxuXG5CdWZmZXIucHJvdG90eXBlLnJlYWRJbnRCRSA9IGZ1bmN0aW9uIHJlYWRJbnRCRSAob2Zmc2V0LCBieXRlTGVuZ3RoLCBub0Fzc2VydCkge1xuICBvZmZzZXQgPSBvZmZzZXQgfCAwXG4gIGJ5dGVMZW5ndGggPSBieXRlTGVuZ3RoIHwgMFxuICBpZiAoIW5vQXNzZXJ0KSBjaGVja09mZnNldChvZmZzZXQsIGJ5dGVMZW5ndGgsIHRoaXMubGVuZ3RoKVxuXG4gIHZhciBpID0gYnl0ZUxlbmd0aFxuICB2YXIgbXVsID0gMVxuICB2YXIgdmFsID0gdGhpc1tvZmZzZXQgKyAtLWldXG4gIHdoaWxlIChpID4gMCAmJiAobXVsICo9IDB4MTAwKSkge1xuICAgIHZhbCArPSB0aGlzW29mZnNldCArIC0taV0gKiBtdWxcbiAgfVxuICBtdWwgKj0gMHg4MFxuXG4gIGlmICh2YWwgPj0gbXVsKSB2YWwgLT0gTWF0aC5wb3coMiwgOCAqIGJ5dGVMZW5ndGgpXG5cbiAgcmV0dXJuIHZhbFxufVxuXG5CdWZmZXIucHJvdG90eXBlLnJlYWRJbnQ4ID0gZnVuY3Rpb24gcmVhZEludDggKG9mZnNldCwgbm9Bc3NlcnQpIHtcbiAgaWYgKCFub0Fzc2VydCkgY2hlY2tPZmZzZXQob2Zmc2V0LCAxLCB0aGlzLmxlbmd0aClcbiAgaWYgKCEodGhpc1tvZmZzZXRdICYgMHg4MCkpIHJldHVybiAodGhpc1tvZmZzZXRdKVxuICByZXR1cm4gKCgweGZmIC0gdGhpc1tvZmZzZXRdICsgMSkgKiAtMSlcbn1cblxuQnVmZmVyLnByb3RvdHlwZS5yZWFkSW50MTZMRSA9IGZ1bmN0aW9uIHJlYWRJbnQxNkxFIChvZmZzZXQsIG5vQXNzZXJ0KSB7XG4gIGlmICghbm9Bc3NlcnQpIGNoZWNrT2Zmc2V0KG9mZnNldCwgMiwgdGhpcy5sZW5ndGgpXG4gIHZhciB2YWwgPSB0aGlzW29mZnNldF0gfCAodGhpc1tvZmZzZXQgKyAxXSA8PCA4KVxuICByZXR1cm4gKHZhbCAmIDB4ODAwMCkgPyB2YWwgfCAweEZGRkYwMDAwIDogdmFsXG59XG5cbkJ1ZmZlci5wcm90b3R5cGUucmVhZEludDE2QkUgPSBmdW5jdGlvbiByZWFkSW50MTZCRSAob2Zmc2V0LCBub0Fzc2VydCkge1xuICBpZiAoIW5vQXNzZXJ0KSBjaGVja09mZnNldChvZmZzZXQsIDIsIHRoaXMubGVuZ3RoKVxuICB2YXIgdmFsID0gdGhpc1tvZmZzZXQgKyAxXSB8ICh0aGlzW29mZnNldF0gPDwgOClcbiAgcmV0dXJuICh2YWwgJiAweDgwMDApID8gdmFsIHwgMHhGRkZGMDAwMCA6IHZhbFxufVxuXG5CdWZmZXIucHJvdG90eXBlLnJlYWRJbnQzMkxFID0gZnVuY3Rpb24gcmVhZEludDMyTEUgKG9mZnNldCwgbm9Bc3NlcnQpIHtcbiAgaWYgKCFub0Fzc2VydCkgY2hlY2tPZmZzZXQob2Zmc2V0LCA0LCB0aGlzLmxlbmd0aClcblxuICByZXR1cm4gKHRoaXNbb2Zmc2V0XSkgfFxuICAgICh0aGlzW29mZnNldCArIDFdIDw8IDgpIHxcbiAgICAodGhpc1tvZmZzZXQgKyAyXSA8PCAxNikgfFxuICAgICh0aGlzW29mZnNldCArIDNdIDw8IDI0KVxufVxuXG5CdWZmZXIucHJvdG90eXBlLnJlYWRJbnQzMkJFID0gZnVuY3Rpb24gcmVhZEludDMyQkUgKG9mZnNldCwgbm9Bc3NlcnQpIHtcbiAgaWYgKCFub0Fzc2VydCkgY2hlY2tPZmZzZXQob2Zmc2V0LCA0LCB0aGlzLmxlbmd0aClcblxuICByZXR1cm4gKHRoaXNbb2Zmc2V0XSA8PCAyNCkgfFxuICAgICh0aGlzW29mZnNldCArIDFdIDw8IDE2KSB8XG4gICAgKHRoaXNbb2Zmc2V0ICsgMl0gPDwgOCkgfFxuICAgICh0aGlzW29mZnNldCArIDNdKVxufVxuXG5CdWZmZXIucHJvdG90eXBlLnJlYWRGbG9hdExFID0gZnVuY3Rpb24gcmVhZEZsb2F0TEUgKG9mZnNldCwgbm9Bc3NlcnQpIHtcbiAgaWYgKCFub0Fzc2VydCkgY2hlY2tPZmZzZXQob2Zmc2V0LCA0LCB0aGlzLmxlbmd0aClcbiAgcmV0dXJuIGllZWU3NTQucmVhZCh0aGlzLCBvZmZzZXQsIHRydWUsIDIzLCA0KVxufVxuXG5CdWZmZXIucHJvdG90eXBlLnJlYWRGbG9hdEJFID0gZnVuY3Rpb24gcmVhZEZsb2F0QkUgKG9mZnNldCwgbm9Bc3NlcnQpIHtcbiAgaWYgKCFub0Fzc2VydCkgY2hlY2tPZmZzZXQob2Zmc2V0LCA0LCB0aGlzLmxlbmd0aClcbiAgcmV0dXJuIGllZWU3NTQucmVhZCh0aGlzLCBvZmZzZXQsIGZhbHNlLCAyMywgNClcbn1cblxuQnVmZmVyLnByb3RvdHlwZS5yZWFkRG91YmxlTEUgPSBmdW5jdGlvbiByZWFkRG91YmxlTEUgKG9mZnNldCwgbm9Bc3NlcnQpIHtcbiAgaWYgKCFub0Fzc2VydCkgY2hlY2tPZmZzZXQob2Zmc2V0LCA4LCB0aGlzLmxlbmd0aClcbiAgcmV0dXJuIGllZWU3NTQucmVhZCh0aGlzLCBvZmZzZXQsIHRydWUsIDUyLCA4KVxufVxuXG5CdWZmZXIucHJvdG90eXBlLnJlYWREb3VibGVCRSA9IGZ1bmN0aW9uIHJlYWREb3VibGVCRSAob2Zmc2V0LCBub0Fzc2VydCkge1xuICBpZiAoIW5vQXNzZXJ0KSBjaGVja09mZnNldChvZmZzZXQsIDgsIHRoaXMubGVuZ3RoKVxuICByZXR1cm4gaWVlZTc1NC5yZWFkKHRoaXMsIG9mZnNldCwgZmFsc2UsIDUyLCA4KVxufVxuXG5mdW5jdGlvbiBjaGVja0ludCAoYnVmLCB2YWx1ZSwgb2Zmc2V0LCBleHQsIG1heCwgbWluKSB7XG4gIGlmICghQnVmZmVyLmlzQnVmZmVyKGJ1ZikpIHRocm93IG5ldyBUeXBlRXJyb3IoJ1wiYnVmZmVyXCIgYXJndW1lbnQgbXVzdCBiZSBhIEJ1ZmZlciBpbnN0YW5jZScpXG4gIGlmICh2YWx1ZSA+IG1heCB8fCB2YWx1ZSA8IG1pbikgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ1widmFsdWVcIiBhcmd1bWVudCBpcyBvdXQgb2YgYm91bmRzJylcbiAgaWYgKG9mZnNldCArIGV4dCA+IGJ1Zi5sZW5ndGgpIHRocm93IG5ldyBSYW5nZUVycm9yKCdJbmRleCBvdXQgb2YgcmFuZ2UnKVxufVxuXG5CdWZmZXIucHJvdG90eXBlLndyaXRlVUludExFID0gZnVuY3Rpb24gd3JpdGVVSW50TEUgKHZhbHVlLCBvZmZzZXQsIGJ5dGVMZW5ndGgsIG5vQXNzZXJ0KSB7XG4gIHZhbHVlID0gK3ZhbHVlXG4gIG9mZnNldCA9IG9mZnNldCB8IDBcbiAgYnl0ZUxlbmd0aCA9IGJ5dGVMZW5ndGggfCAwXG4gIGlmICghbm9Bc3NlcnQpIHtcbiAgICB2YXIgbWF4Qnl0ZXMgPSBNYXRoLnBvdygyLCA4ICogYnl0ZUxlbmd0aCkgLSAxXG4gICAgY2hlY2tJbnQodGhpcywgdmFsdWUsIG9mZnNldCwgYnl0ZUxlbmd0aCwgbWF4Qnl0ZXMsIDApXG4gIH1cblxuICB2YXIgbXVsID0gMVxuICB2YXIgaSA9IDBcbiAgdGhpc1tvZmZzZXRdID0gdmFsdWUgJiAweEZGXG4gIHdoaWxlICgrK2kgPCBieXRlTGVuZ3RoICYmIChtdWwgKj0gMHgxMDApKSB7XG4gICAgdGhpc1tvZmZzZXQgKyBpXSA9ICh2YWx1ZSAvIG11bCkgJiAweEZGXG4gIH1cblxuICByZXR1cm4gb2Zmc2V0ICsgYnl0ZUxlbmd0aFxufVxuXG5CdWZmZXIucHJvdG90eXBlLndyaXRlVUludEJFID0gZnVuY3Rpb24gd3JpdGVVSW50QkUgKHZhbHVlLCBvZmZzZXQsIGJ5dGVMZW5ndGgsIG5vQXNzZXJ0KSB7XG4gIHZhbHVlID0gK3ZhbHVlXG4gIG9mZnNldCA9IG9mZnNldCB8IDBcbiAgYnl0ZUxlbmd0aCA9IGJ5dGVMZW5ndGggfCAwXG4gIGlmICghbm9Bc3NlcnQpIHtcbiAgICB2YXIgbWF4Qnl0ZXMgPSBNYXRoLnBvdygyLCA4ICogYnl0ZUxlbmd0aCkgLSAxXG4gICAgY2hlY2tJbnQodGhpcywgdmFsdWUsIG9mZnNldCwgYnl0ZUxlbmd0aCwgbWF4Qnl0ZXMsIDApXG4gIH1cblxuICB2YXIgaSA9IGJ5dGVMZW5ndGggLSAxXG4gIHZhciBtdWwgPSAxXG4gIHRoaXNbb2Zmc2V0ICsgaV0gPSB2YWx1ZSAmIDB4RkZcbiAgd2hpbGUgKC0taSA+PSAwICYmIChtdWwgKj0gMHgxMDApKSB7XG4gICAgdGhpc1tvZmZzZXQgKyBpXSA9ICh2YWx1ZSAvIG11bCkgJiAweEZGXG4gIH1cblxuICByZXR1cm4gb2Zmc2V0ICsgYnl0ZUxlbmd0aFxufVxuXG5CdWZmZXIucHJvdG90eXBlLndyaXRlVUludDggPSBmdW5jdGlvbiB3cml0ZVVJbnQ4ICh2YWx1ZSwgb2Zmc2V0LCBub0Fzc2VydCkge1xuICB2YWx1ZSA9ICt2YWx1ZVxuICBvZmZzZXQgPSBvZmZzZXQgfCAwXG4gIGlmICghbm9Bc3NlcnQpIGNoZWNrSW50KHRoaXMsIHZhbHVlLCBvZmZzZXQsIDEsIDB4ZmYsIDApXG4gIGlmICghQnVmZmVyLlRZUEVEX0FSUkFZX1NVUFBPUlQpIHZhbHVlID0gTWF0aC5mbG9vcih2YWx1ZSlcbiAgdGhpc1tvZmZzZXRdID0gKHZhbHVlICYgMHhmZilcbiAgcmV0dXJuIG9mZnNldCArIDFcbn1cblxuZnVuY3Rpb24gb2JqZWN0V3JpdGVVSW50MTYgKGJ1ZiwgdmFsdWUsIG9mZnNldCwgbGl0dGxlRW5kaWFuKSB7XG4gIGlmICh2YWx1ZSA8IDApIHZhbHVlID0gMHhmZmZmICsgdmFsdWUgKyAxXG4gIGZvciAodmFyIGkgPSAwLCBqID0gTWF0aC5taW4oYnVmLmxlbmd0aCAtIG9mZnNldCwgMik7IGkgPCBqOyArK2kpIHtcbiAgICBidWZbb2Zmc2V0ICsgaV0gPSAodmFsdWUgJiAoMHhmZiA8PCAoOCAqIChsaXR0bGVFbmRpYW4gPyBpIDogMSAtIGkpKSkpID4+PlxuICAgICAgKGxpdHRsZUVuZGlhbiA/IGkgOiAxIC0gaSkgKiA4XG4gIH1cbn1cblxuQnVmZmVyLnByb3RvdHlwZS53cml0ZVVJbnQxNkxFID0gZnVuY3Rpb24gd3JpdGVVSW50MTZMRSAodmFsdWUsIG9mZnNldCwgbm9Bc3NlcnQpIHtcbiAgdmFsdWUgPSArdmFsdWVcbiAgb2Zmc2V0ID0gb2Zmc2V0IHwgMFxuICBpZiAoIW5vQXNzZXJ0KSBjaGVja0ludCh0aGlzLCB2YWx1ZSwgb2Zmc2V0LCAyLCAweGZmZmYsIDApXG4gIGlmIChCdWZmZXIuVFlQRURfQVJSQVlfU1VQUE9SVCkge1xuICAgIHRoaXNbb2Zmc2V0XSA9ICh2YWx1ZSAmIDB4ZmYpXG4gICAgdGhpc1tvZmZzZXQgKyAxXSA9ICh2YWx1ZSA+Pj4gOClcbiAgfSBlbHNlIHtcbiAgICBvYmplY3RXcml0ZVVJbnQxNih0aGlzLCB2YWx1ZSwgb2Zmc2V0LCB0cnVlKVxuICB9XG4gIHJldHVybiBvZmZzZXQgKyAyXG59XG5cbkJ1ZmZlci5wcm90b3R5cGUud3JpdGVVSW50MTZCRSA9IGZ1bmN0aW9uIHdyaXRlVUludDE2QkUgKHZhbHVlLCBvZmZzZXQsIG5vQXNzZXJ0KSB7XG4gIHZhbHVlID0gK3ZhbHVlXG4gIG9mZnNldCA9IG9mZnNldCB8IDBcbiAgaWYgKCFub0Fzc2VydCkgY2hlY2tJbnQodGhpcywgdmFsdWUsIG9mZnNldCwgMiwgMHhmZmZmLCAwKVxuICBpZiAoQnVmZmVyLlRZUEVEX0FSUkFZX1NVUFBPUlQpIHtcbiAgICB0aGlzW29mZnNldF0gPSAodmFsdWUgPj4+IDgpXG4gICAgdGhpc1tvZmZzZXQgKyAxXSA9ICh2YWx1ZSAmIDB4ZmYpXG4gIH0gZWxzZSB7XG4gICAgb2JqZWN0V3JpdGVVSW50MTYodGhpcywgdmFsdWUsIG9mZnNldCwgZmFsc2UpXG4gIH1cbiAgcmV0dXJuIG9mZnNldCArIDJcbn1cblxuZnVuY3Rpb24gb2JqZWN0V3JpdGVVSW50MzIgKGJ1ZiwgdmFsdWUsIG9mZnNldCwgbGl0dGxlRW5kaWFuKSB7XG4gIGlmICh2YWx1ZSA8IDApIHZhbHVlID0gMHhmZmZmZmZmZiArIHZhbHVlICsgMVxuICBmb3IgKHZhciBpID0gMCwgaiA9IE1hdGgubWluKGJ1Zi5sZW5ndGggLSBvZmZzZXQsIDQpOyBpIDwgajsgKytpKSB7XG4gICAgYnVmW29mZnNldCArIGldID0gKHZhbHVlID4+PiAobGl0dGxlRW5kaWFuID8gaSA6IDMgLSBpKSAqIDgpICYgMHhmZlxuICB9XG59XG5cbkJ1ZmZlci5wcm90b3R5cGUud3JpdGVVSW50MzJMRSA9IGZ1bmN0aW9uIHdyaXRlVUludDMyTEUgKHZhbHVlLCBvZmZzZXQsIG5vQXNzZXJ0KSB7XG4gIHZhbHVlID0gK3ZhbHVlXG4gIG9mZnNldCA9IG9mZnNldCB8IDBcbiAgaWYgKCFub0Fzc2VydCkgY2hlY2tJbnQodGhpcywgdmFsdWUsIG9mZnNldCwgNCwgMHhmZmZmZmZmZiwgMClcbiAgaWYgKEJ1ZmZlci5UWVBFRF9BUlJBWV9TVVBQT1JUKSB7XG4gICAgdGhpc1tvZmZzZXQgKyAzXSA9ICh2YWx1ZSA+Pj4gMjQpXG4gICAgdGhpc1tvZmZzZXQgKyAyXSA9ICh2YWx1ZSA+Pj4gMTYpXG4gICAgdGhpc1tvZmZzZXQgKyAxXSA9ICh2YWx1ZSA+Pj4gOClcbiAgICB0aGlzW29mZnNldF0gPSAodmFsdWUgJiAweGZmKVxuICB9IGVsc2Uge1xuICAgIG9iamVjdFdyaXRlVUludDMyKHRoaXMsIHZhbHVlLCBvZmZzZXQsIHRydWUpXG4gIH1cbiAgcmV0dXJuIG9mZnNldCArIDRcbn1cblxuQnVmZmVyLnByb3RvdHlwZS53cml0ZVVJbnQzMkJFID0gZnVuY3Rpb24gd3JpdGVVSW50MzJCRSAodmFsdWUsIG9mZnNldCwgbm9Bc3NlcnQpIHtcbiAgdmFsdWUgPSArdmFsdWVcbiAgb2Zmc2V0ID0gb2Zmc2V0IHwgMFxuICBpZiAoIW5vQXNzZXJ0KSBjaGVja0ludCh0aGlzLCB2YWx1ZSwgb2Zmc2V0LCA0LCAweGZmZmZmZmZmLCAwKVxuICBpZiAoQnVmZmVyLlRZUEVEX0FSUkFZX1NVUFBPUlQpIHtcbiAgICB0aGlzW29mZnNldF0gPSAodmFsdWUgPj4+IDI0KVxuICAgIHRoaXNbb2Zmc2V0ICsgMV0gPSAodmFsdWUgPj4+IDE2KVxuICAgIHRoaXNbb2Zmc2V0ICsgMl0gPSAodmFsdWUgPj4+IDgpXG4gICAgdGhpc1tvZmZzZXQgKyAzXSA9ICh2YWx1ZSAmIDB4ZmYpXG4gIH0gZWxzZSB7XG4gICAgb2JqZWN0V3JpdGVVSW50MzIodGhpcywgdmFsdWUsIG9mZnNldCwgZmFsc2UpXG4gIH1cbiAgcmV0dXJuIG9mZnNldCArIDRcbn1cblxuQnVmZmVyLnByb3RvdHlwZS53cml0ZUludExFID0gZnVuY3Rpb24gd3JpdGVJbnRMRSAodmFsdWUsIG9mZnNldCwgYnl0ZUxlbmd0aCwgbm9Bc3NlcnQpIHtcbiAgdmFsdWUgPSArdmFsdWVcbiAgb2Zmc2V0ID0gb2Zmc2V0IHwgMFxuICBpZiAoIW5vQXNzZXJ0KSB7XG4gICAgdmFyIGxpbWl0ID0gTWF0aC5wb3coMiwgOCAqIGJ5dGVMZW5ndGggLSAxKVxuXG4gICAgY2hlY2tJbnQodGhpcywgdmFsdWUsIG9mZnNldCwgYnl0ZUxlbmd0aCwgbGltaXQgLSAxLCAtbGltaXQpXG4gIH1cblxuICB2YXIgaSA9IDBcbiAgdmFyIG11bCA9IDFcbiAgdmFyIHN1YiA9IDBcbiAgdGhpc1tvZmZzZXRdID0gdmFsdWUgJiAweEZGXG4gIHdoaWxlICgrK2kgPCBieXRlTGVuZ3RoICYmIChtdWwgKj0gMHgxMDApKSB7XG4gICAgaWYgKHZhbHVlIDwgMCAmJiBzdWIgPT09IDAgJiYgdGhpc1tvZmZzZXQgKyBpIC0gMV0gIT09IDApIHtcbiAgICAgIHN1YiA9IDFcbiAgICB9XG4gICAgdGhpc1tvZmZzZXQgKyBpXSA9ICgodmFsdWUgLyBtdWwpID4+IDApIC0gc3ViICYgMHhGRlxuICB9XG5cbiAgcmV0dXJuIG9mZnNldCArIGJ5dGVMZW5ndGhcbn1cblxuQnVmZmVyLnByb3RvdHlwZS53cml0ZUludEJFID0gZnVuY3Rpb24gd3JpdGVJbnRCRSAodmFsdWUsIG9mZnNldCwgYnl0ZUxlbmd0aCwgbm9Bc3NlcnQpIHtcbiAgdmFsdWUgPSArdmFsdWVcbiAgb2Zmc2V0ID0gb2Zmc2V0IHwgMFxuICBpZiAoIW5vQXNzZXJ0KSB7XG4gICAgdmFyIGxpbWl0ID0gTWF0aC5wb3coMiwgOCAqIGJ5dGVMZW5ndGggLSAxKVxuXG4gICAgY2hlY2tJbnQodGhpcywgdmFsdWUsIG9mZnNldCwgYnl0ZUxlbmd0aCwgbGltaXQgLSAxLCAtbGltaXQpXG4gIH1cblxuICB2YXIgaSA9IGJ5dGVMZW5ndGggLSAxXG4gIHZhciBtdWwgPSAxXG4gIHZhciBzdWIgPSAwXG4gIHRoaXNbb2Zmc2V0ICsgaV0gPSB2YWx1ZSAmIDB4RkZcbiAgd2hpbGUgKC0taSA+PSAwICYmIChtdWwgKj0gMHgxMDApKSB7XG4gICAgaWYgKHZhbHVlIDwgMCAmJiBzdWIgPT09IDAgJiYgdGhpc1tvZmZzZXQgKyBpICsgMV0gIT09IDApIHtcbiAgICAgIHN1YiA9IDFcbiAgICB9XG4gICAgdGhpc1tvZmZzZXQgKyBpXSA9ICgodmFsdWUgLyBtdWwpID4+IDApIC0gc3ViICYgMHhGRlxuICB9XG5cbiAgcmV0dXJuIG9mZnNldCArIGJ5dGVMZW5ndGhcbn1cblxuQnVmZmVyLnByb3RvdHlwZS53cml0ZUludDggPSBmdW5jdGlvbiB3cml0ZUludDggKHZhbHVlLCBvZmZzZXQsIG5vQXNzZXJ0KSB7XG4gIHZhbHVlID0gK3ZhbHVlXG4gIG9mZnNldCA9IG9mZnNldCB8IDBcbiAgaWYgKCFub0Fzc2VydCkgY2hlY2tJbnQodGhpcywgdmFsdWUsIG9mZnNldCwgMSwgMHg3ZiwgLTB4ODApXG4gIGlmICghQnVmZmVyLlRZUEVEX0FSUkFZX1NVUFBPUlQpIHZhbHVlID0gTWF0aC5mbG9vcih2YWx1ZSlcbiAgaWYgKHZhbHVlIDwgMCkgdmFsdWUgPSAweGZmICsgdmFsdWUgKyAxXG4gIHRoaXNbb2Zmc2V0XSA9ICh2YWx1ZSAmIDB4ZmYpXG4gIHJldHVybiBvZmZzZXQgKyAxXG59XG5cbkJ1ZmZlci5wcm90b3R5cGUud3JpdGVJbnQxNkxFID0gZnVuY3Rpb24gd3JpdGVJbnQxNkxFICh2YWx1ZSwgb2Zmc2V0LCBub0Fzc2VydCkge1xuICB2YWx1ZSA9ICt2YWx1ZVxuICBvZmZzZXQgPSBvZmZzZXQgfCAwXG4gIGlmICghbm9Bc3NlcnQpIGNoZWNrSW50KHRoaXMsIHZhbHVlLCBvZmZzZXQsIDIsIDB4N2ZmZiwgLTB4ODAwMClcbiAgaWYgKEJ1ZmZlci5UWVBFRF9BUlJBWV9TVVBQT1JUKSB7XG4gICAgdGhpc1tvZmZzZXRdID0gKHZhbHVlICYgMHhmZilcbiAgICB0aGlzW29mZnNldCArIDFdID0gKHZhbHVlID4+PiA4KVxuICB9IGVsc2Uge1xuICAgIG9iamVjdFdyaXRlVUludDE2KHRoaXMsIHZhbHVlLCBvZmZzZXQsIHRydWUpXG4gIH1cbiAgcmV0dXJuIG9mZnNldCArIDJcbn1cblxuQnVmZmVyLnByb3RvdHlwZS53cml0ZUludDE2QkUgPSBmdW5jdGlvbiB3cml0ZUludDE2QkUgKHZhbHVlLCBvZmZzZXQsIG5vQXNzZXJ0KSB7XG4gIHZhbHVlID0gK3ZhbHVlXG4gIG9mZnNldCA9IG9mZnNldCB8IDBcbiAgaWYgKCFub0Fzc2VydCkgY2hlY2tJbnQodGhpcywgdmFsdWUsIG9mZnNldCwgMiwgMHg3ZmZmLCAtMHg4MDAwKVxuICBpZiAoQnVmZmVyLlRZUEVEX0FSUkFZX1NVUFBPUlQpIHtcbiAgICB0aGlzW29mZnNldF0gPSAodmFsdWUgPj4+IDgpXG4gICAgdGhpc1tvZmZzZXQgKyAxXSA9ICh2YWx1ZSAmIDB4ZmYpXG4gIH0gZWxzZSB7XG4gICAgb2JqZWN0V3JpdGVVSW50MTYodGhpcywgdmFsdWUsIG9mZnNldCwgZmFsc2UpXG4gIH1cbiAgcmV0dXJuIG9mZnNldCArIDJcbn1cblxuQnVmZmVyLnByb3RvdHlwZS53cml0ZUludDMyTEUgPSBmdW5jdGlvbiB3cml0ZUludDMyTEUgKHZhbHVlLCBvZmZzZXQsIG5vQXNzZXJ0KSB7XG4gIHZhbHVlID0gK3ZhbHVlXG4gIG9mZnNldCA9IG9mZnNldCB8IDBcbiAgaWYgKCFub0Fzc2VydCkgY2hlY2tJbnQodGhpcywgdmFsdWUsIG9mZnNldCwgNCwgMHg3ZmZmZmZmZiwgLTB4ODAwMDAwMDApXG4gIGlmIChCdWZmZXIuVFlQRURfQVJSQVlfU1VQUE9SVCkge1xuICAgIHRoaXNbb2Zmc2V0XSA9ICh2YWx1ZSAmIDB4ZmYpXG4gICAgdGhpc1tvZmZzZXQgKyAxXSA9ICh2YWx1ZSA+Pj4gOClcbiAgICB0aGlzW29mZnNldCArIDJdID0gKHZhbHVlID4+PiAxNilcbiAgICB0aGlzW29mZnNldCArIDNdID0gKHZhbHVlID4+PiAyNClcbiAgfSBlbHNlIHtcbiAgICBvYmplY3RXcml0ZVVJbnQzMih0aGlzLCB2YWx1ZSwgb2Zmc2V0LCB0cnVlKVxuICB9XG4gIHJldHVybiBvZmZzZXQgKyA0XG59XG5cbkJ1ZmZlci5wcm90b3R5cGUud3JpdGVJbnQzMkJFID0gZnVuY3Rpb24gd3JpdGVJbnQzMkJFICh2YWx1ZSwgb2Zmc2V0LCBub0Fzc2VydCkge1xuICB2YWx1ZSA9ICt2YWx1ZVxuICBvZmZzZXQgPSBvZmZzZXQgfCAwXG4gIGlmICghbm9Bc3NlcnQpIGNoZWNrSW50KHRoaXMsIHZhbHVlLCBvZmZzZXQsIDQsIDB4N2ZmZmZmZmYsIC0weDgwMDAwMDAwKVxuICBpZiAodmFsdWUgPCAwKSB2YWx1ZSA9IDB4ZmZmZmZmZmYgKyB2YWx1ZSArIDFcbiAgaWYgKEJ1ZmZlci5UWVBFRF9BUlJBWV9TVVBQT1JUKSB7XG4gICAgdGhpc1tvZmZzZXRdID0gKHZhbHVlID4+PiAyNClcbiAgICB0aGlzW29mZnNldCArIDFdID0gKHZhbHVlID4+PiAxNilcbiAgICB0aGlzW29mZnNldCArIDJdID0gKHZhbHVlID4+PiA4KVxuICAgIHRoaXNbb2Zmc2V0ICsgM10gPSAodmFsdWUgJiAweGZmKVxuICB9IGVsc2Uge1xuICAgIG9iamVjdFdyaXRlVUludDMyKHRoaXMsIHZhbHVlLCBvZmZzZXQsIGZhbHNlKVxuICB9XG4gIHJldHVybiBvZmZzZXQgKyA0XG59XG5cbmZ1bmN0aW9uIGNoZWNrSUVFRTc1NCAoYnVmLCB2YWx1ZSwgb2Zmc2V0LCBleHQsIG1heCwgbWluKSB7XG4gIGlmIChvZmZzZXQgKyBleHQgPiBidWYubGVuZ3RoKSB0aHJvdyBuZXcgUmFuZ2VFcnJvcignSW5kZXggb3V0IG9mIHJhbmdlJylcbiAgaWYgKG9mZnNldCA8IDApIHRocm93IG5ldyBSYW5nZUVycm9yKCdJbmRleCBvdXQgb2YgcmFuZ2UnKVxufVxuXG5mdW5jdGlvbiB3cml0ZUZsb2F0IChidWYsIHZhbHVlLCBvZmZzZXQsIGxpdHRsZUVuZGlhbiwgbm9Bc3NlcnQpIHtcbiAgaWYgKCFub0Fzc2VydCkge1xuICAgIGNoZWNrSUVFRTc1NChidWYsIHZhbHVlLCBvZmZzZXQsIDQsIDMuNDAyODIzNDY2Mzg1Mjg4NmUrMzgsIC0zLjQwMjgyMzQ2NjM4NTI4ODZlKzM4KVxuICB9XG4gIGllZWU3NTQud3JpdGUoYnVmLCB2YWx1ZSwgb2Zmc2V0LCBsaXR0bGVFbmRpYW4sIDIzLCA0KVxuICByZXR1cm4gb2Zmc2V0ICsgNFxufVxuXG5CdWZmZXIucHJvdG90eXBlLndyaXRlRmxvYXRMRSA9IGZ1bmN0aW9uIHdyaXRlRmxvYXRMRSAodmFsdWUsIG9mZnNldCwgbm9Bc3NlcnQpIHtcbiAgcmV0dXJuIHdyaXRlRmxvYXQodGhpcywgdmFsdWUsIG9mZnNldCwgdHJ1ZSwgbm9Bc3NlcnQpXG59XG5cbkJ1ZmZlci5wcm90b3R5cGUud3JpdGVGbG9hdEJFID0gZnVuY3Rpb24gd3JpdGVGbG9hdEJFICh2YWx1ZSwgb2Zmc2V0LCBub0Fzc2VydCkge1xuICByZXR1cm4gd3JpdGVGbG9hdCh0aGlzLCB2YWx1ZSwgb2Zmc2V0LCBmYWxzZSwgbm9Bc3NlcnQpXG59XG5cbmZ1bmN0aW9uIHdyaXRlRG91YmxlIChidWYsIHZhbHVlLCBvZmZzZXQsIGxpdHRsZUVuZGlhbiwgbm9Bc3NlcnQpIHtcbiAgaWYgKCFub0Fzc2VydCkge1xuICAgIGNoZWNrSUVFRTc1NChidWYsIHZhbHVlLCBvZmZzZXQsIDgsIDEuNzk3NjkzMTM0ODYyMzE1N0UrMzA4LCAtMS43OTc2OTMxMzQ4NjIzMTU3RSszMDgpXG4gIH1cbiAgaWVlZTc1NC53cml0ZShidWYsIHZhbHVlLCBvZmZzZXQsIGxpdHRsZUVuZGlhbiwgNTIsIDgpXG4gIHJldHVybiBvZmZzZXQgKyA4XG59XG5cbkJ1ZmZlci5wcm90b3R5cGUud3JpdGVEb3VibGVMRSA9IGZ1bmN0aW9uIHdyaXRlRG91YmxlTEUgKHZhbHVlLCBvZmZzZXQsIG5vQXNzZXJ0KSB7XG4gIHJldHVybiB3cml0ZURvdWJsZSh0aGlzLCB2YWx1ZSwgb2Zmc2V0LCB0cnVlLCBub0Fzc2VydClcbn1cblxuQnVmZmVyLnByb3RvdHlwZS53cml0ZURvdWJsZUJFID0gZnVuY3Rpb24gd3JpdGVEb3VibGVCRSAodmFsdWUsIG9mZnNldCwgbm9Bc3NlcnQpIHtcbiAgcmV0dXJuIHdyaXRlRG91YmxlKHRoaXMsIHZhbHVlLCBvZmZzZXQsIGZhbHNlLCBub0Fzc2VydClcbn1cblxuLy8gY29weSh0YXJnZXRCdWZmZXIsIHRhcmdldFN0YXJ0PTAsIHNvdXJjZVN0YXJ0PTAsIHNvdXJjZUVuZD1idWZmZXIubGVuZ3RoKVxuQnVmZmVyLnByb3RvdHlwZS5jb3B5ID0gZnVuY3Rpb24gY29weSAodGFyZ2V0LCB0YXJnZXRTdGFydCwgc3RhcnQsIGVuZCkge1xuICBpZiAoIXN0YXJ0KSBzdGFydCA9IDBcbiAgaWYgKCFlbmQgJiYgZW5kICE9PSAwKSBlbmQgPSB0aGlzLmxlbmd0aFxuICBpZiAodGFyZ2V0U3RhcnQgPj0gdGFyZ2V0Lmxlbmd0aCkgdGFyZ2V0U3RhcnQgPSB0YXJnZXQubGVuZ3RoXG4gIGlmICghdGFyZ2V0U3RhcnQpIHRhcmdldFN0YXJ0ID0gMFxuICBpZiAoZW5kID4gMCAmJiBlbmQgPCBzdGFydCkgZW5kID0gc3RhcnRcblxuICAvLyBDb3B5IDAgYnl0ZXM7IHdlJ3JlIGRvbmVcbiAgaWYgKGVuZCA9PT0gc3RhcnQpIHJldHVybiAwXG4gIGlmICh0YXJnZXQubGVuZ3RoID09PSAwIHx8IHRoaXMubGVuZ3RoID09PSAwKSByZXR1cm4gMFxuXG4gIC8vIEZhdGFsIGVycm9yIGNvbmRpdGlvbnNcbiAgaWYgKHRhcmdldFN0YXJ0IDwgMCkge1xuICAgIHRocm93IG5ldyBSYW5nZUVycm9yKCd0YXJnZXRTdGFydCBvdXQgb2YgYm91bmRzJylcbiAgfVxuICBpZiAoc3RhcnQgPCAwIHx8IHN0YXJ0ID49IHRoaXMubGVuZ3RoKSB0aHJvdyBuZXcgUmFuZ2VFcnJvcignc291cmNlU3RhcnQgb3V0IG9mIGJvdW5kcycpXG4gIGlmIChlbmQgPCAwKSB0aHJvdyBuZXcgUmFuZ2VFcnJvcignc291cmNlRW5kIG91dCBvZiBib3VuZHMnKVxuXG4gIC8vIEFyZSB3ZSBvb2I/XG4gIGlmIChlbmQgPiB0aGlzLmxlbmd0aCkgZW5kID0gdGhpcy5sZW5ndGhcbiAgaWYgKHRhcmdldC5sZW5ndGggLSB0YXJnZXRTdGFydCA8IGVuZCAtIHN0YXJ0KSB7XG4gICAgZW5kID0gdGFyZ2V0Lmxlbmd0aCAtIHRhcmdldFN0YXJ0ICsgc3RhcnRcbiAgfVxuXG4gIHZhciBsZW4gPSBlbmQgLSBzdGFydFxuICB2YXIgaVxuXG4gIGlmICh0aGlzID09PSB0YXJnZXQgJiYgc3RhcnQgPCB0YXJnZXRTdGFydCAmJiB0YXJnZXRTdGFydCA8IGVuZCkge1xuICAgIC8vIGRlc2NlbmRpbmcgY29weSBmcm9tIGVuZFxuICAgIGZvciAoaSA9IGxlbiAtIDE7IGkgPj0gMDsgLS1pKSB7XG4gICAgICB0YXJnZXRbaSArIHRhcmdldFN0YXJ0XSA9IHRoaXNbaSArIHN0YXJ0XVxuICAgIH1cbiAgfSBlbHNlIGlmIChsZW4gPCAxMDAwIHx8ICFCdWZmZXIuVFlQRURfQVJSQVlfU1VQUE9SVCkge1xuICAgIC8vIGFzY2VuZGluZyBjb3B5IGZyb20gc3RhcnRcbiAgICBmb3IgKGkgPSAwOyBpIDwgbGVuOyArK2kpIHtcbiAgICAgIHRhcmdldFtpICsgdGFyZ2V0U3RhcnRdID0gdGhpc1tpICsgc3RhcnRdXG4gICAgfVxuICB9IGVsc2Uge1xuICAgIFVpbnQ4QXJyYXkucHJvdG90eXBlLnNldC5jYWxsKFxuICAgICAgdGFyZ2V0LFxuICAgICAgdGhpcy5zdWJhcnJheShzdGFydCwgc3RhcnQgKyBsZW4pLFxuICAgICAgdGFyZ2V0U3RhcnRcbiAgICApXG4gIH1cblxuICByZXR1cm4gbGVuXG59XG5cbi8vIFVzYWdlOlxuLy8gICAgYnVmZmVyLmZpbGwobnVtYmVyWywgb2Zmc2V0WywgZW5kXV0pXG4vLyAgICBidWZmZXIuZmlsbChidWZmZXJbLCBvZmZzZXRbLCBlbmRdXSlcbi8vICAgIGJ1ZmZlci5maWxsKHN0cmluZ1ssIG9mZnNldFssIGVuZF1dWywgZW5jb2RpbmddKVxuQnVmZmVyLnByb3RvdHlwZS5maWxsID0gZnVuY3Rpb24gZmlsbCAodmFsLCBzdGFydCwgZW5kLCBlbmNvZGluZykge1xuICAvLyBIYW5kbGUgc3RyaW5nIGNhc2VzOlxuICBpZiAodHlwZW9mIHZhbCA9PT0gJ3N0cmluZycpIHtcbiAgICBpZiAodHlwZW9mIHN0YXJ0ID09PSAnc3RyaW5nJykge1xuICAgICAgZW5jb2RpbmcgPSBzdGFydFxuICAgICAgc3RhcnQgPSAwXG4gICAgICBlbmQgPSB0aGlzLmxlbmd0aFxuICAgIH0gZWxzZSBpZiAodHlwZW9mIGVuZCA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGVuY29kaW5nID0gZW5kXG4gICAgICBlbmQgPSB0aGlzLmxlbmd0aFxuICAgIH1cbiAgICBpZiAodmFsLmxlbmd0aCA9PT0gMSkge1xuICAgICAgdmFyIGNvZGUgPSB2YWwuY2hhckNvZGVBdCgwKVxuICAgICAgaWYgKGNvZGUgPCAyNTYpIHtcbiAgICAgICAgdmFsID0gY29kZVxuICAgICAgfVxuICAgIH1cbiAgICBpZiAoZW5jb2RpbmcgIT09IHVuZGVmaW5lZCAmJiB0eXBlb2YgZW5jb2RpbmcgIT09ICdzdHJpbmcnKSB7XG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdlbmNvZGluZyBtdXN0IGJlIGEgc3RyaW5nJylcbiAgICB9XG4gICAgaWYgKHR5cGVvZiBlbmNvZGluZyA9PT0gJ3N0cmluZycgJiYgIUJ1ZmZlci5pc0VuY29kaW5nKGVuY29kaW5nKSkge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignVW5rbm93biBlbmNvZGluZzogJyArIGVuY29kaW5nKVxuICAgIH1cbiAgfSBlbHNlIGlmICh0eXBlb2YgdmFsID09PSAnbnVtYmVyJykge1xuICAgIHZhbCA9IHZhbCAmIDI1NVxuICB9XG5cbiAgLy8gSW52YWxpZCByYW5nZXMgYXJlIG5vdCBzZXQgdG8gYSBkZWZhdWx0LCBzbyBjYW4gcmFuZ2UgY2hlY2sgZWFybHkuXG4gIGlmIChzdGFydCA8IDAgfHwgdGhpcy5sZW5ndGggPCBzdGFydCB8fCB0aGlzLmxlbmd0aCA8IGVuZCkge1xuICAgIHRocm93IG5ldyBSYW5nZUVycm9yKCdPdXQgb2YgcmFuZ2UgaW5kZXgnKVxuICB9XG5cbiAgaWYgKGVuZCA8PSBzdGFydCkge1xuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICBzdGFydCA9IHN0YXJ0ID4+PiAwXG4gIGVuZCA9IGVuZCA9PT0gdW5kZWZpbmVkID8gdGhpcy5sZW5ndGggOiBlbmQgPj4+IDBcblxuICBpZiAoIXZhbCkgdmFsID0gMFxuXG4gIHZhciBpXG4gIGlmICh0eXBlb2YgdmFsID09PSAnbnVtYmVyJykge1xuICAgIGZvciAoaSA9IHN0YXJ0OyBpIDwgZW5kOyArK2kpIHtcbiAgICAgIHRoaXNbaV0gPSB2YWxcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgdmFyIGJ5dGVzID0gQnVmZmVyLmlzQnVmZmVyKHZhbClcbiAgICAgID8gdmFsXG4gICAgICA6IHV0ZjhUb0J5dGVzKG5ldyBCdWZmZXIodmFsLCBlbmNvZGluZykudG9TdHJpbmcoKSlcbiAgICB2YXIgbGVuID0gYnl0ZXMubGVuZ3RoXG4gICAgZm9yIChpID0gMDsgaSA8IGVuZCAtIHN0YXJ0OyArK2kpIHtcbiAgICAgIHRoaXNbaSArIHN0YXJ0XSA9IGJ5dGVzW2kgJSBsZW5dXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHRoaXNcbn1cblxuLy8gSEVMUEVSIEZVTkNUSU9OU1xuLy8gPT09PT09PT09PT09PT09PVxuXG52YXIgSU5WQUxJRF9CQVNFNjRfUkUgPSAvW14rXFwvMC05QS1aYS16LV9dL2dcblxuZnVuY3Rpb24gYmFzZTY0Y2xlYW4gKHN0cikge1xuICAvLyBOb2RlIHN0cmlwcyBvdXQgaW52YWxpZCBjaGFyYWN0ZXJzIGxpa2UgXFxuIGFuZCBcXHQgZnJvbSB0aGUgc3RyaW5nLCBiYXNlNjQtanMgZG9lcyBub3RcbiAgc3RyID0gc3RyaW5ndHJpbShzdHIpLnJlcGxhY2UoSU5WQUxJRF9CQVNFNjRfUkUsICcnKVxuICAvLyBOb2RlIGNvbnZlcnRzIHN0cmluZ3Mgd2l0aCBsZW5ndGggPCAyIHRvICcnXG4gIGlmIChzdHIubGVuZ3RoIDwgMikgcmV0dXJuICcnXG4gIC8vIE5vZGUgYWxsb3dzIGZvciBub24tcGFkZGVkIGJhc2U2NCBzdHJpbmdzIChtaXNzaW5nIHRyYWlsaW5nID09PSksIGJhc2U2NC1qcyBkb2VzIG5vdFxuICB3aGlsZSAoc3RyLmxlbmd0aCAlIDQgIT09IDApIHtcbiAgICBzdHIgPSBzdHIgKyAnPSdcbiAgfVxuICByZXR1cm4gc3RyXG59XG5cbmZ1bmN0aW9uIHN0cmluZ3RyaW0gKHN0cikge1xuICBpZiAoc3RyLnRyaW0pIHJldHVybiBzdHIudHJpbSgpXG4gIHJldHVybiBzdHIucmVwbGFjZSgvXlxccyt8XFxzKyQvZywgJycpXG59XG5cbmZ1bmN0aW9uIHRvSGV4IChuKSB7XG4gIGlmIChuIDwgMTYpIHJldHVybiAnMCcgKyBuLnRvU3RyaW5nKDE2KVxuICByZXR1cm4gbi50b1N0cmluZygxNilcbn1cblxuZnVuY3Rpb24gdXRmOFRvQnl0ZXMgKHN0cmluZywgdW5pdHMpIHtcbiAgdW5pdHMgPSB1bml0cyB8fCBJbmZpbml0eVxuICB2YXIgY29kZVBvaW50XG4gIHZhciBsZW5ndGggPSBzdHJpbmcubGVuZ3RoXG4gIHZhciBsZWFkU3Vycm9nYXRlID0gbnVsbFxuICB2YXIgYnl0ZXMgPSBbXVxuXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuZ3RoOyArK2kpIHtcbiAgICBjb2RlUG9pbnQgPSBzdHJpbmcuY2hhckNvZGVBdChpKVxuXG4gICAgLy8gaXMgc3Vycm9nYXRlIGNvbXBvbmVudFxuICAgIGlmIChjb2RlUG9pbnQgPiAweEQ3RkYgJiYgY29kZVBvaW50IDwgMHhFMDAwKSB7XG4gICAgICAvLyBsYXN0IGNoYXIgd2FzIGEgbGVhZFxuICAgICAgaWYgKCFsZWFkU3Vycm9nYXRlKSB7XG4gICAgICAgIC8vIG5vIGxlYWQgeWV0XG4gICAgICAgIGlmIChjb2RlUG9pbnQgPiAweERCRkYpIHtcbiAgICAgICAgICAvLyB1bmV4cGVjdGVkIHRyYWlsXG4gICAgICAgICAgaWYgKCh1bml0cyAtPSAzKSA+IC0xKSBieXRlcy5wdXNoKDB4RUYsIDB4QkYsIDB4QkQpXG4gICAgICAgICAgY29udGludWVcbiAgICAgICAgfSBlbHNlIGlmIChpICsgMSA9PT0gbGVuZ3RoKSB7XG4gICAgICAgICAgLy8gdW5wYWlyZWQgbGVhZFxuICAgICAgICAgIGlmICgodW5pdHMgLT0gMykgPiAtMSkgYnl0ZXMucHVzaCgweEVGLCAweEJGLCAweEJEKVxuICAgICAgICAgIGNvbnRpbnVlXG4gICAgICAgIH1cblxuICAgICAgICAvLyB2YWxpZCBsZWFkXG4gICAgICAgIGxlYWRTdXJyb2dhdGUgPSBjb2RlUG9pbnRcblxuICAgICAgICBjb250aW51ZVxuICAgICAgfVxuXG4gICAgICAvLyAyIGxlYWRzIGluIGEgcm93XG4gICAgICBpZiAoY29kZVBvaW50IDwgMHhEQzAwKSB7XG4gICAgICAgIGlmICgodW5pdHMgLT0gMykgPiAtMSkgYnl0ZXMucHVzaCgweEVGLCAweEJGLCAweEJEKVxuICAgICAgICBsZWFkU3Vycm9nYXRlID0gY29kZVBvaW50XG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9XG5cbiAgICAgIC8vIHZhbGlkIHN1cnJvZ2F0ZSBwYWlyXG4gICAgICBjb2RlUG9pbnQgPSAobGVhZFN1cnJvZ2F0ZSAtIDB4RDgwMCA8PCAxMCB8IGNvZGVQb2ludCAtIDB4REMwMCkgKyAweDEwMDAwXG4gICAgfSBlbHNlIGlmIChsZWFkU3Vycm9nYXRlKSB7XG4gICAgICAvLyB2YWxpZCBibXAgY2hhciwgYnV0IGxhc3QgY2hhciB3YXMgYSBsZWFkXG4gICAgICBpZiAoKHVuaXRzIC09IDMpID4gLTEpIGJ5dGVzLnB1c2goMHhFRiwgMHhCRiwgMHhCRClcbiAgICB9XG5cbiAgICBsZWFkU3Vycm9nYXRlID0gbnVsbFxuXG4gICAgLy8gZW5jb2RlIHV0ZjhcbiAgICBpZiAoY29kZVBvaW50IDwgMHg4MCkge1xuICAgICAgaWYgKCh1bml0cyAtPSAxKSA8IDApIGJyZWFrXG4gICAgICBieXRlcy5wdXNoKGNvZGVQb2ludClcbiAgICB9IGVsc2UgaWYgKGNvZGVQb2ludCA8IDB4ODAwKSB7XG4gICAgICBpZiAoKHVuaXRzIC09IDIpIDwgMCkgYnJlYWtcbiAgICAgIGJ5dGVzLnB1c2goXG4gICAgICAgIGNvZGVQb2ludCA+PiAweDYgfCAweEMwLFxuICAgICAgICBjb2RlUG9pbnQgJiAweDNGIHwgMHg4MFxuICAgICAgKVxuICAgIH0gZWxzZSBpZiAoY29kZVBvaW50IDwgMHgxMDAwMCkge1xuICAgICAgaWYgKCh1bml0cyAtPSAzKSA8IDApIGJyZWFrXG4gICAgICBieXRlcy5wdXNoKFxuICAgICAgICBjb2RlUG9pbnQgPj4gMHhDIHwgMHhFMCxcbiAgICAgICAgY29kZVBvaW50ID4+IDB4NiAmIDB4M0YgfCAweDgwLFxuICAgICAgICBjb2RlUG9pbnQgJiAweDNGIHwgMHg4MFxuICAgICAgKVxuICAgIH0gZWxzZSBpZiAoY29kZVBvaW50IDwgMHgxMTAwMDApIHtcbiAgICAgIGlmICgodW5pdHMgLT0gNCkgPCAwKSBicmVha1xuICAgICAgYnl0ZXMucHVzaChcbiAgICAgICAgY29kZVBvaW50ID4+IDB4MTIgfCAweEYwLFxuICAgICAgICBjb2RlUG9pbnQgPj4gMHhDICYgMHgzRiB8IDB4ODAsXG4gICAgICAgIGNvZGVQb2ludCA+PiAweDYgJiAweDNGIHwgMHg4MCxcbiAgICAgICAgY29kZVBvaW50ICYgMHgzRiB8IDB4ODBcbiAgICAgIClcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGNvZGUgcG9pbnQnKVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBieXRlc1xufVxuXG5mdW5jdGlvbiBhc2NpaVRvQnl0ZXMgKHN0cikge1xuICB2YXIgYnl0ZUFycmF5ID0gW11cbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBzdHIubGVuZ3RoOyArK2kpIHtcbiAgICAvLyBOb2RlJ3MgY29kZSBzZWVtcyB0byBiZSBkb2luZyB0aGlzIGFuZCBub3QgJiAweDdGLi5cbiAgICBieXRlQXJyYXkucHVzaChzdHIuY2hhckNvZGVBdChpKSAmIDB4RkYpXG4gIH1cbiAgcmV0dXJuIGJ5dGVBcnJheVxufVxuXG5mdW5jdGlvbiB1dGYxNmxlVG9CeXRlcyAoc3RyLCB1bml0cykge1xuICB2YXIgYywgaGksIGxvXG4gIHZhciBieXRlQXJyYXkgPSBbXVxuICBmb3IgKHZhciBpID0gMDsgaSA8IHN0ci5sZW5ndGg7ICsraSkge1xuICAgIGlmICgodW5pdHMgLT0gMikgPCAwKSBicmVha1xuXG4gICAgYyA9IHN0ci5jaGFyQ29kZUF0KGkpXG4gICAgaGkgPSBjID4+IDhcbiAgICBsbyA9IGMgJSAyNTZcbiAgICBieXRlQXJyYXkucHVzaChsbylcbiAgICBieXRlQXJyYXkucHVzaChoaSlcbiAgfVxuXG4gIHJldHVybiBieXRlQXJyYXlcbn1cblxuZnVuY3Rpb24gYmFzZTY0VG9CeXRlcyAoc3RyKSB7XG4gIHJldHVybiBiYXNlNjQudG9CeXRlQXJyYXkoYmFzZTY0Y2xlYW4oc3RyKSlcbn1cblxuZnVuY3Rpb24gYmxpdEJ1ZmZlciAoc3JjLCBkc3QsIG9mZnNldCwgbGVuZ3RoKSB7XG4gIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuZ3RoOyArK2kpIHtcbiAgICBpZiAoKGkgKyBvZmZzZXQgPj0gZHN0Lmxlbmd0aCkgfHwgKGkgPj0gc3JjLmxlbmd0aCkpIGJyZWFrXG4gICAgZHN0W2kgKyBvZmZzZXRdID0gc3JjW2ldXG4gIH1cbiAgcmV0dXJuIGlcbn1cblxuZnVuY3Rpb24gaXNuYW4gKHZhbCkge1xuICByZXR1cm4gdmFsICE9PSB2YWwgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby1zZWxmLWNvbXBhcmVcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/buffer/index.js\n"); /***/ }), /***/ "./node_modules/builtin-status-codes/browser.js": /*!******************************************************!*\ !*** ./node_modules/builtin-status-codes/browser.js ***! \******************************************************/ /*! no static exports found */ /***/ (function(module, exports) { eval("module.exports = {\n \"100\": \"Continue\",\n \"101\": \"Switching Protocols\",\n \"102\": \"Processing\",\n \"200\": \"OK\",\n \"201\": \"Created\",\n \"202\": \"Accepted\",\n \"203\": \"Non-Authoritative Information\",\n \"204\": \"No Content\",\n \"205\": \"Reset Content\",\n \"206\": \"Partial Content\",\n \"207\": \"Multi-Status\",\n \"208\": \"Already Reported\",\n \"226\": \"IM Used\",\n \"300\": \"Multiple Choices\",\n \"301\": \"Moved Permanently\",\n \"302\": \"Found\",\n \"303\": \"See Other\",\n \"304\": \"Not Modified\",\n \"305\": \"Use Proxy\",\n \"307\": \"Temporary Redirect\",\n \"308\": \"Permanent Redirect\",\n \"400\": \"Bad Request\",\n \"401\": \"Unauthorized\",\n \"402\": \"Payment Required\",\n \"403\": \"Forbidden\",\n \"404\": \"Not Found\",\n \"405\": \"Method Not Allowed\",\n \"406\": \"Not Acceptable\",\n \"407\": \"Proxy Authentication Required\",\n \"408\": \"Request Timeout\",\n \"409\": \"Conflict\",\n \"410\": \"Gone\",\n \"411\": \"Length Required\",\n \"412\": \"Precondition Failed\",\n \"413\": \"Payload Too Large\",\n \"414\": \"URI Too Long\",\n \"415\": \"Unsupported Media Type\",\n \"416\": \"Range Not Satisfiable\",\n \"417\": \"Expectation Failed\",\n \"418\": \"I'm a teapot\",\n \"421\": \"Misdirected Request\",\n \"422\": \"Unprocessable Entity\",\n \"423\": \"Locked\",\n \"424\": \"Failed Dependency\",\n \"425\": \"Unordered Collection\",\n \"426\": \"Upgrade Required\",\n \"428\": \"Precondition Required\",\n \"429\": \"Too Many Requests\",\n \"431\": \"Request Header Fields Too Large\",\n \"451\": \"Unavailable For Legal Reasons\",\n \"500\": \"Internal Server Error\",\n \"501\": \"Not Implemented\",\n \"502\": \"Bad Gateway\",\n \"503\": \"Service Unavailable\",\n \"504\": \"Gateway Timeout\",\n \"505\": \"HTTP Version Not Supported\",\n \"506\": \"Variant Also Negotiates\",\n \"507\": \"Insufficient Storage\",\n \"508\": \"Loop Detected\",\n \"509\": \"Bandwidth Limit Exceeded\",\n \"510\": \"Not Extended\",\n \"511\": \"Network Authentication Required\"\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYnVpbHRpbi1zdGF0dXMtY29kZXMvYnJvd3Nlci5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9idWlsdGluLXN0YXR1cy1jb2Rlcy9icm93c2VyLmpzPzhjMDUiXSwic291cmNlc0NvbnRlbnQiOlsibW9kdWxlLmV4cG9ydHMgPSB7XG4gIFwiMTAwXCI6IFwiQ29udGludWVcIixcbiAgXCIxMDFcIjogXCJTd2l0Y2hpbmcgUHJvdG9jb2xzXCIsXG4gIFwiMTAyXCI6IFwiUHJvY2Vzc2luZ1wiLFxuICBcIjIwMFwiOiBcIk9LXCIsXG4gIFwiMjAxXCI6IFwiQ3JlYXRlZFwiLFxuICBcIjIwMlwiOiBcIkFjY2VwdGVkXCIsXG4gIFwiMjAzXCI6IFwiTm9uLUF1dGhvcml0YXRpdmUgSW5mb3JtYXRpb25cIixcbiAgXCIyMDRcIjogXCJObyBDb250ZW50XCIsXG4gIFwiMjA1XCI6IFwiUmVzZXQgQ29udGVudFwiLFxuICBcIjIwNlwiOiBcIlBhcnRpYWwgQ29udGVudFwiLFxuICBcIjIwN1wiOiBcIk11bHRpLVN0YXR1c1wiLFxuICBcIjIwOFwiOiBcIkFscmVhZHkgUmVwb3J0ZWRcIixcbiAgXCIyMjZcIjogXCJJTSBVc2VkXCIsXG4gIFwiMzAwXCI6IFwiTXVsdGlwbGUgQ2hvaWNlc1wiLFxuICBcIjMwMVwiOiBcIk1vdmVkIFBlcm1hbmVudGx5XCIsXG4gIFwiMzAyXCI6IFwiRm91bmRcIixcbiAgXCIzMDNcIjogXCJTZWUgT3RoZXJcIixcbiAgXCIzMDRcIjogXCJOb3QgTW9kaWZpZWRcIixcbiAgXCIzMDVcIjogXCJVc2UgUHJveHlcIixcbiAgXCIzMDdcIjogXCJUZW1wb3JhcnkgUmVkaXJlY3RcIixcbiAgXCIzMDhcIjogXCJQZXJtYW5lbnQgUmVkaXJlY3RcIixcbiAgXCI0MDBcIjogXCJCYWQgUmVxdWVzdFwiLFxuICBcIjQwMVwiOiBcIlVuYXV0aG9yaXplZFwiLFxuICBcIjQwMlwiOiBcIlBheW1lbnQgUmVxdWlyZWRcIixcbiAgXCI0MDNcIjogXCJGb3JiaWRkZW5cIixcbiAgXCI0MDRcIjogXCJOb3QgRm91bmRcIixcbiAgXCI0MDVcIjogXCJNZXRob2QgTm90IEFsbG93ZWRcIixcbiAgXCI0MDZcIjogXCJOb3QgQWNjZXB0YWJsZVwiLFxuICBcIjQwN1wiOiBcIlByb3h5IEF1dGhlbnRpY2F0aW9uIFJlcXVpcmVkXCIsXG4gIFwiNDA4XCI6IFwiUmVxdWVzdCBUaW1lb3V0XCIsXG4gIFwiNDA5XCI6IFwiQ29uZmxpY3RcIixcbiAgXCI0MTBcIjogXCJHb25lXCIsXG4gIFwiNDExXCI6IFwiTGVuZ3RoIFJlcXVpcmVkXCIsXG4gIFwiNDEyXCI6IFwiUHJlY29uZGl0aW9uIEZhaWxlZFwiLFxuICBcIjQxM1wiOiBcIlBheWxvYWQgVG9vIExhcmdlXCIsXG4gIFwiNDE0XCI6IFwiVVJJIFRvbyBMb25nXCIsXG4gIFwiNDE1XCI6IFwiVW5zdXBwb3J0ZWQgTWVkaWEgVHlwZVwiLFxuICBcIjQxNlwiOiBcIlJhbmdlIE5vdCBTYXRpc2ZpYWJsZVwiLFxuICBcIjQxN1wiOiBcIkV4cGVjdGF0aW9uIEZhaWxlZFwiLFxuICBcIjQxOFwiOiBcIkknbSBhIHRlYXBvdFwiLFxuICBcIjQyMVwiOiBcIk1pc2RpcmVjdGVkIFJlcXVlc3RcIixcbiAgXCI0MjJcIjogXCJVbnByb2Nlc3NhYmxlIEVudGl0eVwiLFxuICBcIjQyM1wiOiBcIkxvY2tlZFwiLFxuICBcIjQyNFwiOiBcIkZhaWxlZCBEZXBlbmRlbmN5XCIsXG4gIFwiNDI1XCI6IFwiVW5vcmRlcmVkIENvbGxlY3Rpb25cIixcbiAgXCI0MjZcIjogXCJVcGdyYWRlIFJlcXVpcmVkXCIsXG4gIFwiNDI4XCI6IFwiUHJlY29uZGl0aW9uIFJlcXVpcmVkXCIsXG4gIFwiNDI5XCI6IFwiVG9vIE1hbnkgUmVxdWVzdHNcIixcbiAgXCI0MzFcIjogXCJSZXF1ZXN0IEhlYWRlciBGaWVsZHMgVG9vIExhcmdlXCIsXG4gIFwiNDUxXCI6IFwiVW5hdmFpbGFibGUgRm9yIExlZ2FsIFJlYXNvbnNcIixcbiAgXCI1MDBcIjogXCJJbnRlcm5hbCBTZXJ2ZXIgRXJyb3JcIixcbiAgXCI1MDFcIjogXCJOb3QgSW1wbGVtZW50ZWRcIixcbiAgXCI1MDJcIjogXCJCYWQgR2F0ZXdheVwiLFxuICBcIjUwM1wiOiBcIlNlcnZpY2UgVW5hdmFpbGFibGVcIixcbiAgXCI1MDRcIjogXCJHYXRld2F5IFRpbWVvdXRcIixcbiAgXCI1MDVcIjogXCJIVFRQIFZlcnNpb24gTm90IFN1cHBvcnRlZFwiLFxuICBcIjUwNlwiOiBcIlZhcmlhbnQgQWxzbyBOZWdvdGlhdGVzXCIsXG4gIFwiNTA3XCI6IFwiSW5zdWZmaWNpZW50IFN0b3JhZ2VcIixcbiAgXCI1MDhcIjogXCJMb29wIERldGVjdGVkXCIsXG4gIFwiNTA5XCI6IFwiQmFuZHdpZHRoIExpbWl0IEV4Y2VlZGVkXCIsXG4gIFwiNTEwXCI6IFwiTm90IEV4dGVuZGVkXCIsXG4gIFwiNTExXCI6IFwiTmV0d29yayBBdXRoZW50aWNhdGlvbiBSZXF1aXJlZFwiXG59XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/builtin-status-codes/browser.js\n"); /***/ }), /***/ "./node_modules/bunyan-format/index.js": /*!*********************************************!*\ !*** ./node_modules/bunyan-format/index.js ***! \*********************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; eval("/* WEBPACK VAR INJECTION */(function(process) {\n\nvar stream = __webpack_require__(/*! stream */ \"./node_modules/stream-browserify/index.js\");\nvar util = __webpack_require__(/*! util */ \"./node_modules/util/util.js\");\nvar formatRecord = __webpack_require__(/*! ./lib/format-record */ \"./node_modules/bunyan-format/lib/format-record.js\");\nvar xtend = __webpack_require__(/*! xtend */ \"./node_modules/xtend/immutable.js\");\n\n\nvar Writable = stream.Writable;\n\nmodule.exports = BunyanFormatWritable;\n\nutil.inherits(BunyanFormatWritable, Writable);\n\n/**\n * Creates a writable stream that formats bunyan records written to it.\n * \n * @name BunyanFormatWritable\n * @function\n * @param opts {Options} passed to bunyan format function\n * - outputMode: short|long|simple|json|bunyan\n * - color (true): toggles colors in output\n * - colorFromLevel: allows overriding log level colors\n * @param out {Stream} (process.stdout) writable stream to write \n * @return {WritableStream} that you can pipe bunyan output into\n */\nfunction BunyanFormatWritable (opts, out) {\n if (!(this instanceof BunyanFormatWritable)) return new BunyanFormatWritable(opts, out);\n\n opts = opts || {};\n opts.objectMode = true;\n Writable.call(this, opts);\n\n this.opts = xtend({ \n outputMode: 'short', \n color: true,\n colorFromLevel: {\n 10: 'brightBlack', // TRACE\n 20: 'brightBlack', // DEBUG\n 30: 'green', // INFO\n 40: 'magenta', // WARN\n 50: 'red', // ERROR\n 60: 'brightRed', // FATAL\n }\n }, opts);\n this.out = out || process.stdout;\n}\n\nBunyanFormatWritable.prototype._write = function (chunk, encoding, cb) {\n var rec;\n try { \n rec = JSON.parse(chunk);\n this.out.write(formatRecord(rec, this.opts));\n } catch (e) {\n this.out.write(chunk);\n }\n cb();\n};\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../process/browser.js */ \"./node_modules/process/browser.js\")))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYnVueWFuLWZvcm1hdC9pbmRleC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9idW55YW4tZm9ybWF0L2luZGV4LmpzPzMyN2EiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG52YXIgc3RyZWFtID0gcmVxdWlyZSgnc3RyZWFtJyk7XG52YXIgdXRpbCA9IHJlcXVpcmUoJ3V0aWwnKTtcbnZhciBmb3JtYXRSZWNvcmQgPSByZXF1aXJlKCcuL2xpYi9mb3JtYXQtcmVjb3JkJyk7XG52YXIgeHRlbmQgPSByZXF1aXJlKCd4dGVuZCcpO1xuXG5cbnZhciBXcml0YWJsZSA9IHN0cmVhbS5Xcml0YWJsZTtcblxubW9kdWxlLmV4cG9ydHMgPSBCdW55YW5Gb3JtYXRXcml0YWJsZTtcblxudXRpbC5pbmhlcml0cyhCdW55YW5Gb3JtYXRXcml0YWJsZSwgV3JpdGFibGUpO1xuXG4vKipcbiAqIENyZWF0ZXMgYSB3cml0YWJsZSBzdHJlYW0gdGhhdCBmb3JtYXRzIGJ1bnlhbiByZWNvcmRzIHdyaXR0ZW4gdG8gaXQuXG4gKiBcbiAqIEBuYW1lIEJ1bnlhbkZvcm1hdFdyaXRhYmxlXG4gKiBAZnVuY3Rpb25cbiAqIEBwYXJhbSBvcHRzIHtPcHRpb25zfSBwYXNzZWQgdG8gYnVueWFuIGZvcm1hdCBmdW5jdGlvblxuICogIC0gb3V0cHV0TW9kZTogc2hvcnR8bG9uZ3xzaW1wbGV8anNvbnxidW55YW5cbiAqICAtIGNvbG9yICh0cnVlKTogdG9nZ2xlcyBjb2xvcnMgaW4gb3V0cHV0XG4gKiAgLSBjb2xvckZyb21MZXZlbDogYWxsb3dzIG92ZXJyaWRpbmcgbG9nIGxldmVsIGNvbG9yc1xuICogQHBhcmFtIG91dCB7U3RyZWFtfSAocHJvY2Vzcy5zdGRvdXQpIHdyaXRhYmxlIHN0cmVhbSB0byB3cml0ZSBcbiAqIEByZXR1cm4ge1dyaXRhYmxlU3RyZWFtfSB0aGF0IHlvdSBjYW4gcGlwZSBidW55YW4gb3V0cHV0IGludG9cbiAqL1xuZnVuY3Rpb24gQnVueWFuRm9ybWF0V3JpdGFibGUgKG9wdHMsIG91dCkge1xuICBpZiAoISh0aGlzIGluc3RhbmNlb2YgQnVueWFuRm9ybWF0V3JpdGFibGUpKSByZXR1cm4gbmV3IEJ1bnlhbkZvcm1hdFdyaXRhYmxlKG9wdHMsIG91dCk7XG5cbiAgb3B0cyA9IG9wdHMgfHwge307XG4gIG9wdHMub2JqZWN0TW9kZSA9IHRydWU7XG4gIFdyaXRhYmxlLmNhbGwodGhpcywgb3B0cyk7XG5cbiAgdGhpcy5vcHRzID0geHRlbmQoeyBcbiAgICBvdXRwdXRNb2RlOiAnc2hvcnQnLCBcbiAgICBjb2xvcjogdHJ1ZSxcbiAgICBjb2xvckZyb21MZXZlbDoge1xuICAgICAgMTA6ICdicmlnaHRCbGFjaycsICAgIC8vIFRSQUNFXG4gICAgICAyMDogJ2JyaWdodEJsYWNrJywgICAgLy8gREVCVUdcbiAgICAgIDMwOiAnZ3JlZW4nLCAgICAgICAgICAvLyBJTkZPXG4gICAgICA0MDogJ21hZ2VudGEnLCAgICAgICAgLy8gV0FSTlxuICAgICAgNTA6ICdyZWQnLCAgICAgICAgICAgIC8vIEVSUk9SXG4gICAgICA2MDogJ2JyaWdodFJlZCcsICAgICAgLy8gRkFUQUxcbiAgICB9XG4gIH0sIG9wdHMpO1xuICB0aGlzLm91dCA9IG91dCB8fCBwcm9jZXNzLnN0ZG91dDtcbn1cblxuQnVueWFuRm9ybWF0V3JpdGFibGUucHJvdG90eXBlLl93cml0ZSA9IGZ1bmN0aW9uIChjaHVuaywgZW5jb2RpbmcsIGNiKSB7XG4gIHZhciByZWM7XG4gIHRyeSB7IFxuICAgIHJlYyA9IEpTT04ucGFyc2UoY2h1bmspO1xuICAgIHRoaXMub3V0LndyaXRlKGZvcm1hdFJlY29yZChyZWMsIHRoaXMub3B0cykpO1xuICB9IGNhdGNoIChlKSB7XG4gICAgdGhpcy5vdXQud3JpdGUoY2h1bmspO1xuICB9XG4gIGNiKCk7XG59O1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/bunyan-format/index.js\n"); /***/ }), /***/ "./node_modules/bunyan-format/lib/format-record.js": /*!*********************************************************!*\ !*** ./node_modules/bunyan-format/lib/format-record.js ***! \*********************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; eval("\n\nvar util = __webpack_require__(/*! util */ \"./node_modules/util/util.js\");\nvar format = util.format;\nvar http = __webpack_require__(/*! http */ \"./node_modules/stream-http/index.js\");\nvar xtend = __webpack_require__(/*! xtend */ \"./node_modules/bunyan-format/node_modules/xtend/index.js\");\nvar ansicolors = __webpack_require__(/*! ansicolors */ \"./node_modules/ansicolors/ansicolors.js\");\nvar ansistyles = __webpack_require__(/*! ansistyles */ \"./node_modules/ansistyles/ansistyles.js\");\n\nvar styles = xtend(ansistyles, ansicolors);\n\n// Most of this code is lifted directly from the bunyan ./bin file and should be cleaned up once there is more time\nvar OM_LONG = 1;\nvar OM_JSON = 2;\nvar OM_INSPECT = 3;\nvar OM_SIMPLE = 4;\nvar OM_SHORT = 5;\nvar OM_BUNYAN = 6;\nvar OM_FROM_NAME = {\n 'long': OM_LONG,\n 'json': OM_JSON,\n 'inspect': OM_INSPECT,\n 'simple': OM_SIMPLE,\n 'short': OM_SHORT,\n 'bunyan': OM_BUNYAN\n};\n\n// Levels\nvar TRACE = 10;\nvar DEBUG = 20;\nvar INFO = 30;\nvar WARN = 40;\nvar ERROR = 50;\nvar FATAL = 60;\n\nvar levelFromName = {\n 'trace': TRACE,\n 'debug': DEBUG,\n 'info': INFO,\n 'warn': WARN,\n 'error': ERROR,\n 'fatal': FATAL\n};\nvar nameFromLevel = {};\nvar upperNameFromLevel = {};\nvar upperPaddedNameFromLevel = {};\nObject.keys(levelFromName).forEach(function (name) {\n var lvl = levelFromName[name];\n nameFromLevel[lvl] = name;\n upperNameFromLevel[lvl] = name.toUpperCase();\n upperPaddedNameFromLevel[lvl] = (\n name.length === 4 ? ' ' : '') + name.toUpperCase();\n});\n\n\n/**\n * Is this a valid Bunyan log record.\n */\nfunction isValidRecord(rec) {\n if (rec.v === null ||\n rec.level === null ||\n rec.name === null ||\n rec.hostname === null ||\n rec.pid === null ||\n rec.time === null ||\n rec.msg === null) {\n // Not valid Bunyan log.\n return false;\n } else {\n return true;\n }\n}\n\nfunction indent(s) {\n return ' ' + s.split(/\\r?\\n/).join('\\n ');\n}\n\nfunction stylizeWithColor(s, color) {\n if (!s) return '';\n var fn = styles[color];\n return fn ? fn(s) : s;\n}\n\nfunction stylizeWithoutColor(str, color) {\n return str;\n}\n\n/**\n * @param {int} level is the level of the record.\n * @return The level value to its String representation.\n * This is only used on json-related formats output and first suggested at \n * https://github.com/trentm/node-bunyan/issues/194#issuecomment-64858117\n */\nfunction mapLevelToName(level) {\n switch (level) {\n case TRACE:\n return 'TRACE';\n case DEBUG:\n return 'DEBUG';\n case INFO:\n return 'INFO';\n case WARN:\n return 'WARN';\n case ERROR:\n return 'ERROR';\n case FATAL:\n return 'FATAL';\n }\n}\n\n/**\n * Print out a single result, considering input options.\n */\nmodule.exports = function formatRecord(rec, opts) {\n\n function _res(res) {\n var s = '';\n if (res.header) {\n s += res.header.trimRight();\n } else if (res.headers) {\n if (res.statusCode) {\n s += format('HTTP/1.1 %s %s\\n', res.statusCode,\n http.STATUS_CODES[res.statusCode]);\n }\n var headers = res.headers;\n s += Object.keys(headers).map(\n function (h) { return h + ': ' + headers[h]; }).join('\\n');\n }\n delete res.header;\n delete res.headers;\n delete res.statusCode;\n if (res.body) {\n s += '\\n\\n' + (typeof (res.body) === 'object'\n ? JSON.stringify(res.body, null, 2) : res.body);\n delete res.body;\n }\n if (res.trailer) {\n s += '\\n' + res.trailer;\n }\n delete res.trailer;\n if (s) {\n details.push(indent(s));\n }\n // E.g. for extra 'foo' field on 'res', add 'res.foo' at\n // top-level. This *does* have the potential to stomp on a\n // literal 'res.foo' key.\n Object.keys(res).forEach(function (k) {\n rec['res.' + k] = res[k];\n });\n }\n\n var short = false;\n var time;\n var line = rec.line;\n var stylize = opts.color ? stylizeWithColor : stylizeWithoutColor;\n var outputMode = isNaN(opts.outputMode) ? OM_FROM_NAME[opts.outputMode] : opts.outputMode; \n\n switch (outputMode) {\n case OM_SHORT:\n short = true;\n /* falls through */\n case OM_LONG:\n // [time] LEVEL: name[/comp]/pid on hostname (src): msg* (extras...)\n // msg*\n // --\n // long and multi-line extras\n // ...\n // If 'msg' is single-line, then it goes in the top line.\n // If 'req', show the request.\n // If 'res', show the response.\n // If 'err' and 'err.stack' then show that.\n if (!isValidRecord(rec)) {\n return line + '\\n';\n }\n\n delete rec.v;\n\n /*\n * We assume the Date is formatted according to ISO8601, in which\n * case we can safely chop off the date information.\n */\n if (short && rec.time[10] == 'T') {\n time = rec.time.substr(11);\n time = stylize(time, 'brightBlack');\n } else {\n time = stylize('[' + rec.time + ']', 'brightBlack');\n }\n\n delete rec.time;\n\n var nameStr = rec.name;\n delete rec.name;\n\n if (rec.component) {\n nameStr += '/' + rec.component;\n }\n delete rec.component;\n\n if (!short)\n nameStr += '/' + rec.pid;\n delete rec.pid;\n\n var level = (upperPaddedNameFromLevel[rec.level] || 'LVL' + rec.level);\n if (opts.color) {\n var colorFromLevel = opts.colorFromLevel || {\n 10: 'brightBlack', // TRACE\n 20: 'brightBlack', // DEBUG\n 30: 'cyan', // INFO\n 40: 'magenta', // WARN\n 50: 'red', // ERROR\n 60: 'inverse', // FATAL\n };\n level = stylize(level, colorFromLevel[rec.level]);\n }\n delete rec.level;\n\n var src = '';\n var s;\n var headers;\n var hostHeaderLine = '';\n if (rec.src && rec.src.file) {\n s = rec.src;\n if (s.func) {\n src = format(' (%s:%d in %s)', s.file, s.line, s.func);\n } else {\n src = format(' (%s:%d)', s.file, s.line);\n }\n src = stylize(src, 'green');\n }\n delete rec.src;\n\n var hostname = rec.hostname;\n delete rec.hostname;\n\n var extras = [];\n var details = [];\n\n if (rec.req_id) {\n extras.push('req_id=' + rec.req_id);\n }\n delete rec.req_id;\n\n var onelineMsg;\n if (rec.msg.indexOf('\\n') !== -1) {\n onelineMsg = '';\n details.push(indent(stylize(rec.msg, 'cyan')));\n } else {\n onelineMsg = ' ' + stylize(rec.msg, 'cyan');\n }\n delete rec.msg;\n\n if (rec.req && typeof (rec.req) === 'object') {\n var req = rec.req;\n delete rec.req;\n headers = req.headers;\n s = format('%s %s HTTP/%s%s', req.method,\n req.url,\n req.httpVersion || '1.1',\n (headers ?\n '\\n' + Object.keys(headers).map(function (h) {\n return h + ': ' + headers[h];\n }).join('\\n') :\n '')\n );\n delete req.url;\n delete req.method;\n delete req.httpVersion;\n delete req.headers;\n if (req.body) {\n s += '\\n\\n' + (typeof (req.body) === 'object'\n ? JSON.stringify(req.body, null, 2) : req.body);\n delete req.body;\n }\n if (req.trailers && Object.keys(req.trailers) > 0) {\n s += '\\n' + Object.keys(req.trailers).map(function (t) {\n return t + ': ' + req.trailers[t];\n }).join('\\n');\n }\n delete req.trailers;\n details.push(indent(s));\n // E.g. for extra 'foo' field on 'req', add 'req.foo' at\n // top-level. This *does* have the potential to stomp on a\n // literal 'req.foo' key.\n Object.keys(req).forEach(function (k) {\n rec['req.' + k] = req[k];\n })\n }\n\n if (rec.client_req && typeof (rec.client_req) === 'object') {\n var client_req = rec.client_req;\n delete rec.client_req;\n headers = client_req.headers;\n s = '';\n if (client_req.address) {\n hostHeaderLine = 'Host: ' + client_req.address;\n if (client_req.port)\n hostHeaderLine += ':' + client_req.port;\n hostHeaderLine += '\\n';\n }\n delete client_req.headers;\n delete client_req.address;\n delete client_req.port;\n s += format('%s %s HTTP/%s\\n%s%s', client_req.method,\n client_req.url,\n client_req.httpVersion || '1.1',\n hostHeaderLine,\n (headers ?\n Object.keys(headers).map(\n function (h) {\n return h + ': ' + headers[h];\n }).join('\\n') :\n ''));\n delete client_req.method;\n delete client_req.url;\n delete client_req.httpVersion;\n if (client_req.body) {\n s += '\\n\\n' + (typeof (client_req.body) === 'object' ?\n JSON.stringify(client_req.body, null, 2) :\n client_req.body);\n delete client_req.body;\n }\n // E.g. for extra 'foo' field on 'client_req', add\n // 'client_req.foo' at top-level. This *does* have the potential\n // to stomp on a literal 'client_req.foo' key.\n Object.keys(client_req).forEach(function (k) {\n rec['client_req.' + k] = client_req[k];\n })\n details.push(indent(s));\n }\n\n\n if (rec.res && typeof (rec.res) === 'object') {\n _res(rec.res);\n delete rec.res;\n }\n if (rec.client_res && typeof (rec.client_res) === 'object') {\n _res(rec.client_res);\n delete rec.res;\n }\n\n if (rec.err && rec.err.stack) {\n details.push(indent(rec.err.stack));\n delete rec.err;\n }\n\n var leftover = Object.keys(rec);\n for (var i = 0; i < leftover.length; i++) {\n var key = leftover[i];\n var value = rec[key];\n var stringified = false;\n if (typeof (value) !== 'string') {\n value = JSON.stringify(value, null, 2);\n stringified = true;\n }\n if (value.indexOf('\\n') !== -1 || value.length > 50) {\n details.push(indent(key + ': ' + value));\n } else if (!stringified && (value.indexOf(' ') != -1 ||\n value.length === 0))\n {\n extras.push(key + '=' + JSON.stringify(value));\n } else {\n extras.push(key + '=' + value);\n }\n }\n\n extras = stylize(\n (extras.length ? ' (' + extras.join(', ') + ')' : ''), 'brightBlack');\n details = stylize(\n (details.length ? details.join('\\n --\\n') + '\\n' : ''), 'brightBlack');\n if (!short)\n return format('%s %s: %s on %s%s:%s%s\\n%s',\n time,\n level,\n nameStr,\n hostname || '',\n src,\n onelineMsg,\n extras,\n details);\n else\n return format('%s %s %s:%s%s\\n%s',\n time,\n level,\n nameStr,\n onelineMsg,\n extras,\n details);\n break;\n\n case OM_INSPECT:\n return util.inspect(rec, false, Infinity, true) + '\\n';\n\n case OM_BUNYAN:\n if (opts.levelInString) {\n rec.level = mapLevelToName(rec.level);\n }\n return JSON.stringify(rec, null, 0) + '\\n';\n\n case OM_JSON:\n if (opts.levelInString) {\n rec.level = mapLevelToName(rec.level);\n }\n return JSON.stringify(rec, null, opts.jsonIndent) + '\\n';\n\n case OM_SIMPLE:\n /* JSSTYLED */\n // \n if (!isValidRecord(rec)) {\n return line + '\\n';\n }\n return format('%s - %s\\n',\n upperNameFromLevel[rec.level] || 'LVL' + rec.level,\n rec.msg);\n default:\n throw new Error('unknown output mode: '+opts.outputMode);\n }\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYnVueWFuLWZvcm1hdC9saWIvZm9ybWF0LXJlY29yZC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9idW55YW4tZm9ybWF0L2xpYi9mb3JtYXQtcmVjb3JkLmpzP2QxMmEiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG52YXIgdXRpbCAgICAgICA9ICByZXF1aXJlKCd1dGlsJyk7XG52YXIgZm9ybWF0ICAgICA9ICB1dGlsLmZvcm1hdDtcbnZhciBodHRwICAgICAgID0gIHJlcXVpcmUoJ2h0dHAnKTtcbnZhciB4dGVuZCAgICAgID0gIHJlcXVpcmUoJ3h0ZW5kJyk7XG52YXIgYW5zaWNvbG9ycyA9ICByZXF1aXJlKCdhbnNpY29sb3JzJyk7XG52YXIgYW5zaXN0eWxlcyA9ICByZXF1aXJlKCdhbnNpc3R5bGVzJyk7XG5cbnZhciBzdHlsZXMgPSB4dGVuZChhbnNpc3R5bGVzLCBhbnNpY29sb3JzKTtcblxuLy8gTW9zdCBvZiB0aGlzIGNvZGUgaXMgbGlmdGVkIGRpcmVjdGx5IGZyb20gdGhlIGJ1bnlhbiAuL2JpbiBmaWxlIGFuZCBzaG91bGQgYmUgY2xlYW5lZCB1cCBvbmNlIHRoZXJlIGlzIG1vcmUgdGltZVxudmFyIE9NX0xPTkcgPSAxO1xudmFyIE9NX0pTT04gPSAyO1xudmFyIE9NX0lOU1BFQ1QgPSAzO1xudmFyIE9NX1NJTVBMRSA9IDQ7XG52YXIgT01fU0hPUlQgPSA1O1xudmFyIE9NX0JVTllBTiA9IDY7XG52YXIgT01fRlJPTV9OQU1FID0ge1xuICAnbG9uZyc6IE9NX0xPTkcsXG4gICdqc29uJzogT01fSlNPTixcbiAgJ2luc3BlY3QnOiBPTV9JTlNQRUNULFxuICAnc2ltcGxlJzogT01fU0lNUExFLFxuICAnc2hvcnQnOiBPTV9TSE9SVCxcbiAgJ2J1bnlhbic6IE9NX0JVTllBTlxufTtcblxuLy8gTGV2ZWxzXG52YXIgVFJBQ0UgPSAxMDtcbnZhciBERUJVRyA9IDIwO1xudmFyIElORk8gPSAzMDtcbnZhciBXQVJOID0gNDA7XG52YXIgRVJST1IgPSA1MDtcbnZhciBGQVRBTCA9IDYwO1xuXG52YXIgbGV2ZWxGcm9tTmFtZSA9IHtcbiAgJ3RyYWNlJzogVFJBQ0UsXG4gICdkZWJ1Zyc6IERFQlVHLFxuICAnaW5mbyc6IElORk8sXG4gICd3YXJuJzogV0FSTixcbiAgJ2Vycm9yJzogRVJST1IsXG4gICdmYXRhbCc6IEZBVEFMXG59O1xudmFyIG5hbWVGcm9tTGV2ZWwgPSB7fTtcbnZhciB1cHBlck5hbWVGcm9tTGV2ZWwgPSB7fTtcbnZhciB1cHBlclBhZGRlZE5hbWVGcm9tTGV2ZWwgPSB7fTtcbk9iamVjdC5rZXlzKGxldmVsRnJvbU5hbWUpLmZvckVhY2goZnVuY3Rpb24gKG5hbWUpIHtcbiAgdmFyIGx2bCA9IGxldmVsRnJvbU5hbWVbbmFtZV07XG4gIG5hbWVGcm9tTGV2ZWxbbHZsXSA9IG5hbWU7XG4gIHVwcGVyTmFtZUZyb21MZXZlbFtsdmxdID0gbmFtZS50b1VwcGVyQ2FzZSgpO1xuICB1cHBlclBhZGRlZE5hbWVGcm9tTGV2ZWxbbHZsXSA9IChcbiAgICBuYW1lLmxlbmd0aCA9PT0gNCA/ICcgJyA6ICcnKSArIG5hbWUudG9VcHBlckNhc2UoKTtcbn0pO1xuXG5cbi8qKlxuICogSXMgdGhpcyBhIHZhbGlkIEJ1bnlhbiBsb2cgcmVjb3JkLlxuICovXG5mdW5jdGlvbiBpc1ZhbGlkUmVjb3JkKHJlYykge1xuICBpZiAocmVjLnYgPT09IG51bGwgfHxcbiAgICAgIHJlYy5sZXZlbCA9PT0gbnVsbCB8fFxuICAgICAgcmVjLm5hbWUgPT09IG51bGwgfHxcbiAgICAgIHJlYy5ob3N0bmFtZSA9PT0gbnVsbCB8fFxuICAgICAgcmVjLnBpZCA9PT0gbnVsbCB8fFxuICAgICAgcmVjLnRpbWUgPT09IG51bGwgfHxcbiAgICAgIHJlYy5tc2cgPT09IG51bGwpIHtcbiAgICAvLyBOb3QgdmFsaWQgQnVueWFuIGxvZy5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbn1cblxuZnVuY3Rpb24gaW5kZW50KHMpIHtcbiAgcmV0dXJuICcgICcgKyBzLnNwbGl0KC9cXHI/XFxuLykuam9pbignXFxuICAnKTtcbn1cblxuZnVuY3Rpb24gc3R5bGl6ZVdpdGhDb2xvcihzLCBjb2xvcikge1xuICBpZiAoIXMpIHJldHVybiAnJztcbiAgdmFyIGZuID0gc3R5bGVzW2NvbG9yXTtcbiAgcmV0dXJuIGZuID8gZm4ocykgOiBzO1xufVxuXG5mdW5jdGlvbiBzdHlsaXplV2l0aG91dENvbG9yKHN0ciwgY29sb3IpIHtcbiAgcmV0dXJuIHN0cjtcbn1cblxuLyoqXG4gKiBAcGFyYW0ge2ludH0gbGV2ZWwgaXMgdGhlIGxldmVsIG9mIHRoZSByZWNvcmQuXG4gKiBAcmV0dXJuIFRoZSBsZXZlbCB2YWx1ZSB0byBpdHMgU3RyaW5nIHJlcHJlc2VudGF0aW9uLlxuICogVGhpcyBpcyBvbmx5IHVzZWQgb24ganNvbi1yZWxhdGVkIGZvcm1hdHMgb3V0cHV0IGFuZCBmaXJzdCBzdWdnZXN0ZWQgYXQgXG4gKiBodHRwczovL2dpdGh1Yi5jb20vdHJlbnRtL25vZGUtYnVueWFuL2lzc3Vlcy8xOTQjaXNzdWVjb21tZW50LTY0ODU4MTE3XG4gKi9cbmZ1bmN0aW9uIG1hcExldmVsVG9OYW1lKGxldmVsKSB7XG4gIHN3aXRjaCAobGV2ZWwpIHtcbiAgICBjYXNlIFRSQUNFOlxuICAgICAgcmV0dXJuICdUUkFDRSc7XG4gICAgY2FzZSBERUJVRzpcbiAgICAgIHJldHVybiAnREVCVUcnO1xuICAgIGNhc2UgSU5GTzpcbiAgICAgIHJldHVybiAnSU5GTyc7XG4gICAgY2FzZSBXQVJOOlxuICAgICAgcmV0dXJuICdXQVJOJztcbiAgICBjYXNlIEVSUk9SOlxuICAgICAgcmV0dXJuICdFUlJPUic7XG4gICAgY2FzZSBGQVRBTDpcbiAgICAgIHJldHVybiAnRkFUQUwnO1xuICB9XG59XG5cbi8qKlxuICogUHJpbnQgb3V0IGEgc2luZ2xlIHJlc3VsdCwgY29uc2lkZXJpbmcgaW5wdXQgb3B0aW9ucy5cbiAqL1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBmb3JtYXRSZWNvcmQocmVjLCBvcHRzKSB7XG5cbiAgZnVuY3Rpb24gX3JlcyhyZXMpIHtcbiAgICB2YXIgcyA9ICcnO1xuICAgIGlmIChyZXMuaGVhZGVyKSB7XG4gICAgICBzICs9IHJlcy5oZWFkZXIudHJpbVJpZ2h0KCk7XG4gICAgfSBlbHNlIGlmIChyZXMuaGVhZGVycykge1xuICAgICAgaWYgKHJlcy5zdGF0dXNDb2RlKSB7XG4gICAgICAgIHMgKz0gZm9ybWF0KCdIVFRQLzEuMSAlcyAlc1xcbicsIHJlcy5zdGF0dXNDb2RlLFxuICAgICAgICAgIGh0dHAuU1RBVFVTX0NPREVTW3Jlcy5zdGF0dXNDb2RlXSk7XG4gICAgICB9XG4gICAgICB2YXIgaGVhZGVycyA9IHJlcy5oZWFkZXJzO1xuICAgICAgcyArPSBPYmplY3Qua2V5cyhoZWFkZXJzKS5tYXAoXG4gICAgICAgIGZ1bmN0aW9uIChoKSB7IHJldHVybiBoICsgJzogJyArIGhlYWRlcnNbaF07IH0pLmpvaW4oJ1xcbicpO1xuICAgIH1cbiAgICBkZWxldGUgcmVzLmhlYWRlcjtcbiAgICBkZWxldGUgcmVzLmhlYWRlcnM7XG4gICAgZGVsZXRlIHJlcy5zdGF0dXNDb2RlO1xuICAgIGlmIChyZXMuYm9keSkge1xuICAgICAgcyArPSAnXFxuXFxuJyArICh0eXBlb2YgKHJlcy5ib2R5KSA9PT0gJ29iamVjdCdcbiAgICAgICAgPyBKU09OLnN0cmluZ2lmeShyZXMuYm9keSwgbnVsbCwgMikgOiByZXMuYm9keSk7XG4gICAgICBkZWxldGUgcmVzLmJvZHk7XG4gICAgfVxuICAgIGlmIChyZXMudHJhaWxlcikge1xuICAgICAgcyArPSAnXFxuJyArIHJlcy50cmFpbGVyO1xuICAgIH1cbiAgICBkZWxldGUgcmVzLnRyYWlsZXI7XG4gICAgaWYgKHMpIHtcbiAgICAgIGRldGFpbHMucHVzaChpbmRlbnQocykpO1xuICAgIH1cbiAgICAvLyBFLmcuIGZvciBleHRyYSAnZm9vJyBmaWVsZCBvbiAncmVzJywgYWRkICdyZXMuZm9vJyBhdFxuICAgIC8vIHRvcC1sZXZlbC4gVGhpcyAqZG9lcyogaGF2ZSB0aGUgcG90ZW50aWFsIHRvIHN0b21wIG9uIGFcbiAgICAvLyBsaXRlcmFsICdyZXMuZm9vJyBrZXkuXG4gICAgT2JqZWN0LmtleXMocmVzKS5mb3JFYWNoKGZ1bmN0aW9uIChrKSB7XG4gICAgICByZWNbJ3Jlcy4nICsga10gPSByZXNba107XG4gICAgfSk7XG4gIH1cblxuICB2YXIgc2hvcnQgPSBmYWxzZTtcbiAgdmFyIHRpbWU7XG4gIHZhciBsaW5lID0gcmVjLmxpbmU7XG4gIHZhciBzdHlsaXplID0gb3B0cy5jb2xvciA/IHN0eWxpemVXaXRoQ29sb3IgOiBzdHlsaXplV2l0aG91dENvbG9yO1xuICB2YXIgb3V0cHV0TW9kZSA9IGlzTmFOKG9wdHMub3V0cHV0TW9kZSkgPyBPTV9GUk9NX05BTUVbb3B0cy5vdXRwdXRNb2RlXSA6IG9wdHMub3V0cHV0TW9kZTsgXG5cbiAgc3dpdGNoIChvdXRwdXRNb2RlKSB7XG4gIGNhc2UgT01fU0hPUlQ6XG4gICAgc2hvcnQgPSB0cnVlO1xuICAgIC8qIGZhbGxzIHRocm91Z2ggKi9cbiAgY2FzZSBPTV9MT05HOlxuICAgIC8vICBbdGltZV0gTEVWRUw6IG5hbWVbL2NvbXBdL3BpZCBvbiBob3N0bmFtZSAoc3JjKTogbXNnKiAoZXh0cmFzLi4uKVxuICAgIC8vICAgIG1zZypcbiAgICAvLyAgICAtLVxuICAgIC8vICAgIGxvbmcgYW5kIG11bHRpLWxpbmUgZXh0cmFzXG4gICAgLy8gICAgLi4uXG4gICAgLy8gSWYgJ21zZycgaXMgc2luZ2xlLWxpbmUsIHRoZW4gaXQgZ29lcyBpbiB0aGUgdG9wIGxpbmUuXG4gICAgLy8gSWYgJ3JlcScsIHNob3cgdGhlIHJlcXVlc3QuXG4gICAgLy8gSWYgJ3JlcycsIHNob3cgdGhlIHJlc3BvbnNlLlxuICAgIC8vIElmICdlcnInIGFuZCAnZXJyLnN0YWNrJyB0aGVuIHNob3cgdGhhdC5cbiAgICBpZiAoIWlzVmFsaWRSZWNvcmQocmVjKSkge1xuICAgICAgcmV0dXJuIGxpbmUgKyAnXFxuJztcbiAgICB9XG5cbiAgICBkZWxldGUgcmVjLnY7XG5cbiAgICAvKlxuICAgICAqIFdlIGFzc3VtZSB0aGUgRGF0ZSBpcyBmb3JtYXR0ZWQgYWNjb3JkaW5nIHRvIElTTzg2MDEsIGluIHdoaWNoXG4gICAgICogY2FzZSB3ZSBjYW4gc2FmZWx5IGNob3Agb2ZmIHRoZSBkYXRlIGluZm9ybWF0aW9uLlxuICAgICAqL1xuICAgIGlmIChzaG9ydCAmJiByZWMudGltZVsxMF0gPT0gJ1QnKSB7XG4gICAgICB0aW1lID0gcmVjLnRpbWUuc3Vic3RyKDExKTtcbiAgICAgIHRpbWUgPSBzdHlsaXplKHRpbWUsICdicmlnaHRCbGFjaycpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aW1lID0gc3R5bGl6ZSgnWycgKyByZWMudGltZSArICddJywgJ2JyaWdodEJsYWNrJyk7XG4gICAgfVxuXG4gICAgZGVsZXRlIHJlYy50aW1lO1xuXG4gICAgdmFyIG5hbWVTdHIgPSByZWMubmFtZTtcbiAgICBkZWxldGUgcmVjLm5hbWU7XG5cbiAgICBpZiAocmVjLmNvbXBvbmVudCkge1xuICAgICAgbmFtZVN0ciArPSAnLycgKyByZWMuY29tcG9uZW50O1xuICAgIH1cbiAgICBkZWxldGUgcmVjLmNvbXBvbmVudDtcblxuICAgIGlmICghc2hvcnQpXG4gICAgICBuYW1lU3RyICs9ICcvJyArIHJlYy5waWQ7XG4gICAgZGVsZXRlIHJlYy5waWQ7XG5cbiAgICB2YXIgbGV2ZWwgPSAodXBwZXJQYWRkZWROYW1lRnJvbUxldmVsW3JlYy5sZXZlbF0gfHwgJ0xWTCcgKyByZWMubGV2ZWwpO1xuICAgIGlmIChvcHRzLmNvbG9yKSB7XG4gICAgICB2YXIgY29sb3JGcm9tTGV2ZWwgPSBvcHRzLmNvbG9yRnJvbUxldmVsIHx8IHtcbiAgICAgICAgMTA6ICdicmlnaHRCbGFjaycsICAgLy8gVFJBQ0VcbiAgICAgICAgMjA6ICdicmlnaHRCbGFjaycsICAgLy8gREVCVUdcbiAgICAgICAgMzA6ICdjeWFuJywgICAvLyBJTkZPXG4gICAgICAgIDQwOiAnbWFnZW50YScsICAvLyBXQVJOXG4gICAgICAgIDUwOiAncmVkJywgICAgLy8gRVJST1JcbiAgICAgICAgNjA6ICdpbnZlcnNlJywgIC8vIEZBVEFMXG4gICAgICB9O1xuICAgICAgbGV2ZWwgPSBzdHlsaXplKGxldmVsLCBjb2xvckZyb21MZXZlbFtyZWMubGV2ZWxdKTtcbiAgICB9XG4gICAgZGVsZXRlIHJlYy5sZXZlbDtcblxuICAgIHZhciBzcmMgPSAnJztcbiAgICB2YXIgcztcbiAgICB2YXIgaGVhZGVycztcbiAgICB2YXIgaG9zdEhlYWRlckxpbmUgPSAnJztcbiAgICBpZiAocmVjLnNyYyAmJiByZWMuc3JjLmZpbGUpIHtcbiAgICAgIHMgPSByZWMuc3JjO1xuICAgICAgaWYgKHMuZnVuYykge1xuICAgICAgICBzcmMgPSBmb3JtYXQoJyAoJXM6JWQgaW4gJXMpJywgcy5maWxlLCBzLmxpbmUsIHMuZnVuYyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzcmMgPSBmb3JtYXQoJyAoJXM6JWQpJywgcy5maWxlLCBzLmxpbmUpO1xuICAgICAgfVxuICAgICAgc3JjID0gc3R5bGl6ZShzcmMsICdncmVlbicpO1xuICAgIH1cbiAgICBkZWxldGUgcmVjLnNyYztcblxuICAgIHZhciBob3N0bmFtZSA9IHJlYy5ob3N0bmFtZTtcbiAgICBkZWxldGUgcmVjLmhvc3RuYW1lO1xuXG4gICAgdmFyIGV4dHJhcyA9IFtdO1xuICAgIHZhciBkZXRhaWxzID0gW107XG5cbiAgICBpZiAocmVjLnJlcV9pZCkge1xuICAgICAgZXh0cmFzLnB1c2goJ3JlcV9pZD0nICsgcmVjLnJlcV9pZCk7XG4gICAgfVxuICAgIGRlbGV0ZSByZWMucmVxX2lkO1xuXG4gICAgdmFyIG9uZWxpbmVNc2c7XG4gICAgaWYgKHJlYy5tc2cuaW5kZXhPZignXFxuJykgIT09IC0xKSB7XG4gICAgICBvbmVsaW5lTXNnID0gJyc7XG4gICAgICBkZXRhaWxzLnB1c2goaW5kZW50KHN0eWxpemUocmVjLm1zZywgJ2N5YW4nKSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBvbmVsaW5lTXNnID0gJyAnICsgc3R5bGl6ZShyZWMubXNnLCAnY3lhbicpO1xuICAgIH1cbiAgICBkZWxldGUgcmVjLm1zZztcblxuICAgIGlmIChyZWMucmVxICYmIHR5cGVvZiAocmVjLnJlcSkgPT09ICdvYmplY3QnKSB7XG4gICAgICB2YXIgcmVxID0gcmVjLnJlcTtcbiAgICAgIGRlbGV0ZSByZWMucmVxO1xuICAgICAgaGVhZGVycyA9IHJlcS5oZWFkZXJzO1xuICAgICAgcyA9IGZvcm1hdCgnJXMgJXMgSFRUUC8lcyVzJywgcmVxLm1ldGhvZCxcbiAgICAgICAgcmVxLnVybCxcbiAgICAgICAgcmVxLmh0dHBWZXJzaW9uIHx8ICcxLjEnLFxuICAgICAgICAoaGVhZGVycyA/XG4gICAgICAgICAgJ1xcbicgKyBPYmplY3Qua2V5cyhoZWFkZXJzKS5tYXAoZnVuY3Rpb24gKGgpIHtcbiAgICAgICAgICAgIHJldHVybiBoICsgJzogJyArIGhlYWRlcnNbaF07XG4gICAgICAgICAgfSkuam9pbignXFxuJykgOlxuICAgICAgICAgICcnKVxuICAgICAgKTtcbiAgICAgIGRlbGV0ZSByZXEudXJsO1xuICAgICAgZGVsZXRlIHJlcS5tZXRob2Q7XG4gICAgICBkZWxldGUgcmVxLmh0dHBWZXJzaW9uO1xuICAgICAgZGVsZXRlIHJlcS5oZWFkZXJzO1xuICAgICAgaWYgKHJlcS5ib2R5KSB7XG4gICAgICAgIHMgKz0gJ1xcblxcbicgKyAodHlwZW9mIChyZXEuYm9keSkgPT09ICdvYmplY3QnXG4gICAgICAgICAgPyBKU09OLnN0cmluZ2lmeShyZXEuYm9keSwgbnVsbCwgMikgOiByZXEuYm9keSk7XG4gICAgICAgIGRlbGV0ZSByZXEuYm9keTtcbiAgICAgIH1cbiAgICAgIGlmIChyZXEudHJhaWxlcnMgJiYgT2JqZWN0LmtleXMocmVxLnRyYWlsZXJzKSA+IDApIHtcbiAgICAgICAgcyArPSAnXFxuJyArIE9iamVjdC5rZXlzKHJlcS50cmFpbGVycykubWFwKGZ1bmN0aW9uICh0KSB7XG4gICAgICAgICAgcmV0dXJuIHQgKyAnOiAnICsgcmVxLnRyYWlsZXJzW3RdO1xuICAgICAgICB9KS5qb2luKCdcXG4nKTtcbiAgICAgIH1cbiAgICAgIGRlbGV0ZSByZXEudHJhaWxlcnM7XG4gICAgICBkZXRhaWxzLnB1c2goaW5kZW50KHMpKTtcbiAgICAgIC8vIEUuZy4gZm9yIGV4dHJhICdmb28nIGZpZWxkIG9uICdyZXEnLCBhZGQgJ3JlcS5mb28nIGF0XG4gICAgICAvLyB0b3AtbGV2ZWwuIFRoaXMgKmRvZXMqIGhhdmUgdGhlIHBvdGVudGlhbCB0byBzdG9tcCBvbiBhXG4gICAgICAvLyBsaXRlcmFsICdyZXEuZm9vJyBrZXkuXG4gICAgICBPYmplY3Qua2V5cyhyZXEpLmZvckVhY2goZnVuY3Rpb24gKGspIHtcbiAgICAgICAgcmVjWydyZXEuJyArIGtdID0gcmVxW2tdO1xuICAgICAgfSlcbiAgICB9XG5cbiAgICBpZiAocmVjLmNsaWVudF9yZXEgJiYgdHlwZW9mIChyZWMuY2xpZW50X3JlcSkgPT09ICdvYmplY3QnKSB7XG4gICAgICB2YXIgY2xpZW50X3JlcSA9IHJlYy5jbGllbnRfcmVxO1xuICAgICAgZGVsZXRlIHJlYy5jbGllbnRfcmVxO1xuICAgICAgaGVhZGVycyA9IGNsaWVudF9yZXEuaGVhZGVycztcbiAgICAgIHMgPSAnJztcbiAgICAgIGlmIChjbGllbnRfcmVxLmFkZHJlc3MpIHtcbiAgICAgICAgaG9zdEhlYWRlckxpbmUgPSAnSG9zdDogJyArIGNsaWVudF9yZXEuYWRkcmVzcztcbiAgICAgICAgaWYgKGNsaWVudF9yZXEucG9ydClcbiAgICAgICAgICBob3N0SGVhZGVyTGluZSArPSAnOicgKyBjbGllbnRfcmVxLnBvcnQ7XG4gICAgICAgIGhvc3RIZWFkZXJMaW5lICs9ICdcXG4nO1xuICAgICAgfVxuICAgICAgZGVsZXRlIGNsaWVudF9yZXEuaGVhZGVycztcbiAgICAgIGRlbGV0ZSBjbGllbnRfcmVxLmFkZHJlc3M7XG4gICAgICBkZWxldGUgY2xpZW50X3JlcS5wb3J0O1xuICAgICAgcyArPSBmb3JtYXQoJyVzICVzIEhUVFAvJXNcXG4lcyVzJywgY2xpZW50X3JlcS5tZXRob2QsXG4gICAgICAgIGNsaWVudF9yZXEudXJsLFxuICAgICAgICBjbGllbnRfcmVxLmh0dHBWZXJzaW9uIHx8ICcxLjEnLFxuICAgICAgICBob3N0SGVhZGVyTGluZSxcbiAgICAgICAgKGhlYWRlcnMgP1xuICAgICAgICAgIE9iamVjdC5rZXlzKGhlYWRlcnMpLm1hcChcbiAgICAgICAgICAgIGZ1bmN0aW9uIChoKSB7XG4gICAgICAgICAgICAgIHJldHVybiBoICsgJzogJyArIGhlYWRlcnNbaF07XG4gICAgICAgICAgICB9KS5qb2luKCdcXG4nKSA6XG4gICAgICAgICAgJycpKTtcbiAgICAgIGRlbGV0ZSBjbGllbnRfcmVxLm1ldGhvZDtcbiAgICAgIGRlbGV0ZSBjbGllbnRfcmVxLnVybDtcbiAgICAgIGRlbGV0ZSBjbGllbnRfcmVxLmh0dHBWZXJzaW9uO1xuICAgICAgaWYgKGNsaWVudF9yZXEuYm9keSkge1xuICAgICAgICBzICs9ICdcXG5cXG4nICsgKHR5cGVvZiAoY2xpZW50X3JlcS5ib2R5KSA9PT0gJ29iamVjdCcgP1xuICAgICAgICAgIEpTT04uc3RyaW5naWZ5KGNsaWVudF9yZXEuYm9keSwgbnVsbCwgMikgOlxuICAgICAgICAgIGNsaWVudF9yZXEuYm9keSk7XG4gICAgICAgIGRlbGV0ZSBjbGllbnRfcmVxLmJvZHk7XG4gICAgICB9XG4gICAgICAvLyBFLmcuIGZvciBleHRyYSAnZm9vJyBmaWVsZCBvbiAnY2xpZW50X3JlcScsIGFkZFxuICAgICAgLy8gJ2NsaWVudF9yZXEuZm9vJyBhdCB0b3AtbGV2ZWwuIFRoaXMgKmRvZXMqIGhhdmUgdGhlIHBvdGVudGlhbFxuICAgICAgLy8gdG8gc3RvbXAgb24gYSBsaXRlcmFsICdjbGllbnRfcmVxLmZvbycga2V5LlxuICAgICAgT2JqZWN0LmtleXMoY2xpZW50X3JlcSkuZm9yRWFjaChmdW5jdGlvbiAoaykge1xuICAgICAgICByZWNbJ2NsaWVudF9yZXEuJyArIGtdID0gY2xpZW50X3JlcVtrXTtcbiAgICAgIH0pXG4gICAgICBkZXRhaWxzLnB1c2goaW5kZW50KHMpKTtcbiAgICB9XG5cblxuICAgIGlmIChyZWMucmVzICYmIHR5cGVvZiAocmVjLnJlcykgPT09ICdvYmplY3QnKSB7XG4gICAgICBfcmVzKHJlYy5yZXMpO1xuICAgICAgZGVsZXRlIHJlYy5yZXM7XG4gICAgfVxuICAgIGlmIChyZWMuY2xpZW50X3JlcyAmJiB0eXBlb2YgKHJlYy5jbGllbnRfcmVzKSA9PT0gJ29iamVjdCcpIHtcbiAgICAgIF9yZXMocmVjLmNsaWVudF9yZXMpO1xuICAgICAgZGVsZXRlIHJlYy5yZXM7XG4gICAgfVxuXG4gICAgaWYgKHJlYy5lcnIgJiYgcmVjLmVyci5zdGFjaykge1xuICAgICAgZGV0YWlscy5wdXNoKGluZGVudChyZWMuZXJyLnN0YWNrKSk7XG4gICAgICBkZWxldGUgcmVjLmVycjtcbiAgICB9XG5cbiAgICB2YXIgbGVmdG92ZXIgPSBPYmplY3Qua2V5cyhyZWMpO1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbGVmdG92ZXIubGVuZ3RoOyBpKyspIHtcbiAgICAgIHZhciBrZXkgPSBsZWZ0b3ZlcltpXTtcbiAgICAgIHZhciB2YWx1ZSA9IHJlY1trZXldO1xuICAgICAgdmFyIHN0cmluZ2lmaWVkID0gZmFsc2U7XG4gICAgICBpZiAodHlwZW9mICh2YWx1ZSkgIT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHZhbHVlID0gSlNPTi5zdHJpbmdpZnkodmFsdWUsIG51bGwsIDIpO1xuICAgICAgICBzdHJpbmdpZmllZCA9IHRydWU7XG4gICAgICB9XG4gICAgICBpZiAodmFsdWUuaW5kZXhPZignXFxuJykgIT09IC0xIHx8IHZhbHVlLmxlbmd0aCA+IDUwKSB7XG4gICAgICAgIGRldGFpbHMucHVzaChpbmRlbnQoa2V5ICsgJzogJyArIHZhbHVlKSk7XG4gICAgICB9IGVsc2UgaWYgKCFzdHJpbmdpZmllZCAmJiAodmFsdWUuaW5kZXhPZignICcpICE9IC0xIHx8XG4gICAgICAgIHZhbHVlLmxlbmd0aCA9PT0gMCkpXG4gICAgICB7XG4gICAgICAgIGV4dHJhcy5wdXNoKGtleSArICc9JyArIEpTT04uc3RyaW5naWZ5KHZhbHVlKSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBleHRyYXMucHVzaChrZXkgKyAnPScgKyB2YWx1ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgZXh0cmFzID0gc3R5bGl6ZShcbiAgICAgIChleHRyYXMubGVuZ3RoID8gJyAoJyArIGV4dHJhcy5qb2luKCcsICcpICsgJyknIDogJycpLCAnYnJpZ2h0QmxhY2snKTtcbiAgICBkZXRhaWxzID0gc3R5bGl6ZShcbiAgICAgIChkZXRhaWxzLmxlbmd0aCA/IGRldGFpbHMuam9pbignXFxuICAtLVxcbicpICsgJ1xcbicgOiAnJyksICdicmlnaHRCbGFjaycpO1xuICAgIGlmICghc2hvcnQpXG4gICAgICByZXR1cm4gZm9ybWF0KCclcyAlczogJXMgb24gJXMlczolcyVzXFxuJXMnLFxuICAgICAgICB0aW1lLFxuICAgICAgICBsZXZlbCxcbiAgICAgICAgbmFtZVN0cixcbiAgICAgICAgaG9zdG5hbWUgfHwgJzxuby1ob3N0bmFtZT4nLFxuICAgICAgICBzcmMsXG4gICAgICAgIG9uZWxpbmVNc2csXG4gICAgICAgIGV4dHJhcyxcbiAgICAgICAgZGV0YWlscyk7XG4gICAgZWxzZVxuICAgICAgcmV0dXJuIGZvcm1hdCgnJXMgJXMgJXM6JXMlc1xcbiVzJyxcbiAgICAgICAgdGltZSxcbiAgICAgICAgbGV2ZWwsXG4gICAgICAgIG5hbWVTdHIsXG4gICAgICAgIG9uZWxpbmVNc2csXG4gICAgICAgIGV4dHJhcyxcbiAgICAgICAgZGV0YWlscyk7XG4gICAgYnJlYWs7XG5cbiAgY2FzZSBPTV9JTlNQRUNUOlxuICAgIHJldHVybiB1dGlsLmluc3BlY3QocmVjLCBmYWxzZSwgSW5maW5pdHksIHRydWUpICsgJ1xcbic7XG5cbiAgY2FzZSBPTV9CVU5ZQU46XG4gICAgaWYgKG9wdHMubGV2ZWxJblN0cmluZykge1xuICAgICAgcmVjLmxldmVsID0gbWFwTGV2ZWxUb05hbWUocmVjLmxldmVsKTtcbiAgICB9XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHJlYywgbnVsbCwgMCkgKyAnXFxuJztcblxuICBjYXNlIE9NX0pTT046XG4gICAgaWYgKG9wdHMubGV2ZWxJblN0cmluZykge1xuICAgICAgcmVjLmxldmVsID0gbWFwTGV2ZWxUb05hbWUocmVjLmxldmVsKTtcbiAgICB9XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHJlYywgbnVsbCwgb3B0cy5qc29uSW5kZW50KSArICdcXG4nO1xuXG4gIGNhc2UgT01fU0lNUExFOlxuICAgIC8qIEpTU1RZTEVEICovXG4gICAgLy8gPGh0dHA6Ly9sb2dnaW5nLmFwYWNoZS5vcmcvbG9nNGovMS4yL2FwaWRvY3Mvb3JnL2FwYWNoZS9sb2c0ai9TaW1wbGVMYXlvdXQuaHRtbD5cbiAgICBpZiAoIWlzVmFsaWRSZWNvcmQocmVjKSkge1xuICAgICAgcmV0dXJuIGxpbmUgKyAnXFxuJztcbiAgICB9XG4gICAgcmV0dXJuIGZvcm1hdCgnJXMgLSAlc1xcbicsXG4gICAgICB1cHBlck5hbWVGcm9tTGV2ZWxbcmVjLmxldmVsXSB8fCAnTFZMJyArIHJlYy5sZXZlbCxcbiAgICAgIHJlYy5tc2cpO1xuICBkZWZhdWx0OlxuICAgIHRocm93IG5ldyBFcnJvcigndW5rbm93biBvdXRwdXQgbW9kZTogJytvcHRzLm91dHB1dE1vZGUpO1xuICB9XG59XG5cbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/bunyan-format/lib/format-record.js\n"); /***/ }), /***/ "./node_modules/bunyan-format/node_modules/object-keys/foreach.js": /*!************************************************************************!*\ !*** ./node_modules/bunyan-format/node_modules/object-keys/foreach.js ***! \************************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { eval("var hasOwn = Object.prototype.hasOwnProperty;\nvar toString = Object.prototype.toString;\n\nvar isFunction = function (fn) {\n\tvar isFunc = (typeof fn === 'function' && !(fn instanceof RegExp)) || toString.call(fn) === '[object Function]';\n\tif (!isFunc && typeof window !== 'undefined') {\n\t\tisFunc = fn === window.setTimeout || fn === window.alert || fn === window.confirm || fn === window.prompt;\n\t}\n\treturn isFunc;\n};\n\nmodule.exports = function forEach(obj, fn) {\n\tif (!isFunction(fn)) {\n\t\tthrow new TypeError('iterator must be a function');\n\t}\n\tvar i, k,\n\t\tisString = typeof obj === 'string',\n\t\tl = obj.length,\n\t\tcontext = arguments.length > 2 ? arguments[2] : null;\n\tif (l === +l) {\n\t\tfor (i = 0; i < l; i++) {\n\t\t\tif (context === null) {\n\t\t\t\tfn(isString ? obj.charAt(i) : obj[i], i, obj);\n\t\t\t} else {\n\t\t\t\tfn.call(context, isString ? obj.charAt(i) : obj[i], i, obj);\n\t\t\t}\n\t\t}\n\t} else {\n\t\tfor (k in obj) {\n\t\t\tif (hasOwn.call(obj, k)) {\n\t\t\t\tif (context === null) {\n\t\t\t\t\tfn(obj[k], k, obj);\n\t\t\t\t} else {\n\t\t\t\t\tfn.call(context, obj[k], k, obj);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYnVueWFuLWZvcm1hdC9ub2RlX21vZHVsZXMvb2JqZWN0LWtleXMvZm9yZWFjaC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9idW55YW4tZm9ybWF0L25vZGVfbW9kdWxlcy9vYmplY3Qta2V5cy9mb3JlYWNoLmpzP2I0MDIiXSwic291cmNlc0NvbnRlbnQiOlsidmFyIGhhc093biA9IE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7XG52YXIgdG9TdHJpbmcgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nO1xuXG52YXIgaXNGdW5jdGlvbiA9IGZ1bmN0aW9uIChmbikge1xuXHR2YXIgaXNGdW5jID0gKHR5cGVvZiBmbiA9PT0gJ2Z1bmN0aW9uJyAmJiAhKGZuIGluc3RhbmNlb2YgUmVnRXhwKSkgfHwgdG9TdHJpbmcuY2FsbChmbikgPT09ICdbb2JqZWN0IEZ1bmN0aW9uXSc7XG5cdGlmICghaXNGdW5jICYmIHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnKSB7XG5cdFx0aXNGdW5jID0gZm4gPT09IHdpbmRvdy5zZXRUaW1lb3V0IHx8IGZuID09PSB3aW5kb3cuYWxlcnQgfHwgZm4gPT09IHdpbmRvdy5jb25maXJtIHx8IGZuID09PSB3aW5kb3cucHJvbXB0O1xuXHR9XG5cdHJldHVybiBpc0Z1bmM7XG59O1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIGZvckVhY2gob2JqLCBmbikge1xuXHRpZiAoIWlzRnVuY3Rpb24oZm4pKSB7XG5cdFx0dGhyb3cgbmV3IFR5cGVFcnJvcignaXRlcmF0b3IgbXVzdCBiZSBhIGZ1bmN0aW9uJyk7XG5cdH1cblx0dmFyIGksIGssXG5cdFx0aXNTdHJpbmcgPSB0eXBlb2Ygb2JqID09PSAnc3RyaW5nJyxcblx0XHRsID0gb2JqLmxlbmd0aCxcblx0XHRjb250ZXh0ID0gYXJndW1lbnRzLmxlbmd0aCA+IDIgPyBhcmd1bWVudHNbMl0gOiBudWxsO1xuXHRpZiAobCA9PT0gK2wpIHtcblx0XHRmb3IgKGkgPSAwOyBpIDwgbDsgaSsrKSB7XG5cdFx0XHRpZiAoY29udGV4dCA9PT0gbnVsbCkge1xuXHRcdFx0XHRmbihpc1N0cmluZyA/IG9iai5jaGFyQXQoaSkgOiBvYmpbaV0sIGksIG9iaik7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRmbi5jYWxsKGNvbnRleHQsIGlzU3RyaW5nID8gb2JqLmNoYXJBdChpKSA6IG9ialtpXSwgaSwgb2JqKTtcblx0XHRcdH1cblx0XHR9XG5cdH0gZWxzZSB7XG5cdFx0Zm9yIChrIGluIG9iaikge1xuXHRcdFx0aWYgKGhhc093bi5jYWxsKG9iaiwgaykpIHtcblx0XHRcdFx0aWYgKGNvbnRleHQgPT09IG51bGwpIHtcblx0XHRcdFx0XHRmbihvYmpba10sIGssIG9iaik7XG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0Zm4uY2FsbChjb250ZXh0LCBvYmpba10sIGssIG9iaik7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn07XG5cbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/bunyan-format/node_modules/object-keys/foreach.js\n"); /***/ }), /***/ "./node_modules/bunyan-format/node_modules/object-keys/index.js": /*!**********************************************************************!*\ !*** ./node_modules/bunyan-format/node_modules/object-keys/index.js ***! \**********************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("module.exports = Object.keys || __webpack_require__(/*! ./shim */ \"./node_modules/bunyan-format/node_modules/object-keys/shim.js\");\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYnVueWFuLWZvcm1hdC9ub2RlX21vZHVsZXMvb2JqZWN0LWtleXMvaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYnVueWFuLWZvcm1hdC9ub2RlX21vZHVsZXMvb2JqZWN0LWtleXMvaW5kZXguanM/ZmI3NSJdLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IE9iamVjdC5rZXlzIHx8IHJlcXVpcmUoJy4vc2hpbScpO1xuXG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/bunyan-format/node_modules/object-keys/index.js\n"); /***/ }), /***/ "./node_modules/bunyan-format/node_modules/object-keys/isArguments.js": /*!****************************************************************************!*\ !*** ./node_modules/bunyan-format/node_modules/object-keys/isArguments.js ***! \****************************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { eval("var toString = Object.prototype.toString;\n\nmodule.exports = function isArguments(value) {\n\tvar str = toString.call(value);\n\tvar isArguments = str === '[object Arguments]';\n\tif (!isArguments) {\n\t\tisArguments = str !== '[object Array]'\n\t\t\t&& value !== null\n\t\t\t&& typeof value === 'object'\n\t\t\t&& typeof value.length === 'number'\n\t\t\t&& value.length >= 0\n\t\t\t&& toString.call(value.callee) === '[object Function]';\n\t}\n\treturn isArguments;\n};\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYnVueWFuLWZvcm1hdC9ub2RlX21vZHVsZXMvb2JqZWN0LWtleXMvaXNBcmd1bWVudHMuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYnVueWFuLWZvcm1hdC9ub2RlX21vZHVsZXMvb2JqZWN0LWtleXMvaXNBcmd1bWVudHMuanM/ZDUyMSJdLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgdG9TdHJpbmcgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIGlzQXJndW1lbnRzKHZhbHVlKSB7XG5cdHZhciBzdHIgPSB0b1N0cmluZy5jYWxsKHZhbHVlKTtcblx0dmFyIGlzQXJndW1lbnRzID0gc3RyID09PSAnW29iamVjdCBBcmd1bWVudHNdJztcblx0aWYgKCFpc0FyZ3VtZW50cykge1xuXHRcdGlzQXJndW1lbnRzID0gc3RyICE9PSAnW29iamVjdCBBcnJheV0nXG5cdFx0XHQmJiB2YWx1ZSAhPT0gbnVsbFxuXHRcdFx0JiYgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0J1xuXHRcdFx0JiYgdHlwZW9mIHZhbHVlLmxlbmd0aCA9PT0gJ251bWJlcidcblx0XHRcdCYmIHZhbHVlLmxlbmd0aCA+PSAwXG5cdFx0XHQmJiB0b1N0cmluZy5jYWxsKHZhbHVlLmNhbGxlZSkgPT09ICdbb2JqZWN0IEZ1bmN0aW9uXSc7XG5cdH1cblx0cmV0dXJuIGlzQXJndW1lbnRzO1xufTtcblxuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/bunyan-format/node_modules/object-keys/isArguments.js\n"); /***/ }), /***/ "./node_modules/bunyan-format/node_modules/object-keys/shim.js": /*!*********************************************************************!*\ !*** ./node_modules/bunyan-format/node_modules/object-keys/shim.js ***! \*********************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("(function () {\n\t\"use strict\";\n\n\t// modified from https://github.com/kriskowal/es5-shim\n\tvar has = Object.prototype.hasOwnProperty,\n\t\ttoString = Object.prototype.toString,\n\t\tforEach = __webpack_require__(/*! ./foreach */ \"./node_modules/bunyan-format/node_modules/object-keys/foreach.js\"),\n\t\tisArgs = __webpack_require__(/*! ./isArguments */ \"./node_modules/bunyan-format/node_modules/object-keys/isArguments.js\"),\n\t\thasDontEnumBug = !({'toString': null}).propertyIsEnumerable('toString'),\n\t\thasProtoEnumBug = (function () {}).propertyIsEnumerable('prototype'),\n\t\tdontEnums = [\n\t\t\t\"toString\",\n\t\t\t\"toLocaleString\",\n\t\t\t\"valueOf\",\n\t\t\t\"hasOwnProperty\",\n\t\t\t\"isPrototypeOf\",\n\t\t\t\"propertyIsEnumerable\",\n\t\t\t\"constructor\"\n\t\t],\n\t\tkeysShim;\n\n\tkeysShim = function keys(object) {\n\t\tvar isObject = object !== null && typeof object === 'object',\n\t\t\tisFunction = toString.call(object) === '[object Function]',\n\t\t\tisArguments = isArgs(object),\n\t\t\ttheKeys = [];\n\n\t\tif (!isObject && !isFunction && !isArguments) {\n\t\t\tthrow new TypeError(\"Object.keys called on a non-object\");\n\t\t}\n\n\t\tif (isArguments) {\n\t\t\tforEach(object, function (value) {\n\t\t\t\ttheKeys.push(value);\n\t\t\t});\n\t\t} else {\n\t\t\tvar name,\n\t\t\t\tskipProto = hasProtoEnumBug && isFunction;\n\n\t\t\tfor (name in object) {\n\t\t\t\tif (!(skipProto && name === 'prototype') && has.call(object, name)) {\n\t\t\t\t\ttheKeys.push(name);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (hasDontEnumBug) {\n\t\t\tvar ctor = object.constructor,\n\t\t\t\tskipConstructor = ctor && ctor.prototype === object;\n\n\t\t\tforEach(dontEnums, function (dontEnum) {\n\t\t\t\tif (!(skipConstructor && dontEnum === 'constructor') && has.call(object, dontEnum)) {\n\t\t\t\t\ttheKeys.push(dontEnum);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\treturn theKeys;\n\t};\n\n\tmodule.exports = keysShim;\n}());\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYnVueWFuLWZvcm1hdC9ub2RlX21vZHVsZXMvb2JqZWN0LWtleXMvc2hpbS5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9idW55YW4tZm9ybWF0L25vZGVfbW9kdWxlcy9vYmplY3Qta2V5cy9zaGltLmpzPzE2MTkiXSwic291cmNlc0NvbnRlbnQiOlsiKGZ1bmN0aW9uICgpIHtcblx0XCJ1c2Ugc3RyaWN0XCI7XG5cblx0Ly8gbW9kaWZpZWQgZnJvbSBodHRwczovL2dpdGh1Yi5jb20va3Jpc2tvd2FsL2VzNS1zaGltXG5cdHZhciBoYXMgPSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LFxuXHRcdHRvU3RyaW5nID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZyxcblx0XHRmb3JFYWNoID0gcmVxdWlyZSgnLi9mb3JlYWNoJyksXG5cdFx0aXNBcmdzID0gcmVxdWlyZSgnLi9pc0FyZ3VtZW50cycpLFxuXHRcdGhhc0RvbnRFbnVtQnVnID0gISh7J3RvU3RyaW5nJzogbnVsbH0pLnByb3BlcnR5SXNFbnVtZXJhYmxlKCd0b1N0cmluZycpLFxuXHRcdGhhc1Byb3RvRW51bUJ1ZyA9IChmdW5jdGlvbiAoKSB7fSkucHJvcGVydHlJc0VudW1lcmFibGUoJ3Byb3RvdHlwZScpLFxuXHRcdGRvbnRFbnVtcyA9IFtcblx0XHRcdFwidG9TdHJpbmdcIixcblx0XHRcdFwidG9Mb2NhbGVTdHJpbmdcIixcblx0XHRcdFwidmFsdWVPZlwiLFxuXHRcdFx0XCJoYXNPd25Qcm9wZXJ0eVwiLFxuXHRcdFx0XCJpc1Byb3RvdHlwZU9mXCIsXG5cdFx0XHRcInByb3BlcnR5SXNFbnVtZXJhYmxlXCIsXG5cdFx0XHRcImNvbnN0cnVjdG9yXCJcblx0XHRdLFxuXHRcdGtleXNTaGltO1xuXG5cdGtleXNTaGltID0gZnVuY3Rpb24ga2V5cyhvYmplY3QpIHtcblx0XHR2YXIgaXNPYmplY3QgPSBvYmplY3QgIT09IG51bGwgJiYgdHlwZW9mIG9iamVjdCA9PT0gJ29iamVjdCcsXG5cdFx0XHRpc0Z1bmN0aW9uID0gdG9TdHJpbmcuY2FsbChvYmplY3QpID09PSAnW29iamVjdCBGdW5jdGlvbl0nLFxuXHRcdFx0aXNBcmd1bWVudHMgPSBpc0FyZ3Mob2JqZWN0KSxcblx0XHRcdHRoZUtleXMgPSBbXTtcblxuXHRcdGlmICghaXNPYmplY3QgJiYgIWlzRnVuY3Rpb24gJiYgIWlzQXJndW1lbnRzKSB7XG5cdFx0XHR0aHJvdyBuZXcgVHlwZUVycm9yKFwiT2JqZWN0LmtleXMgY2FsbGVkIG9uIGEgbm9uLW9iamVjdFwiKTtcblx0XHR9XG5cblx0XHRpZiAoaXNBcmd1bWVudHMpIHtcblx0XHRcdGZvckVhY2gob2JqZWN0LCBmdW5jdGlvbiAodmFsdWUpIHtcblx0XHRcdFx0dGhlS2V5cy5wdXNoKHZhbHVlKTtcblx0XHRcdH0pO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHR2YXIgbmFtZSxcblx0XHRcdFx0c2tpcFByb3RvID0gaGFzUHJvdG9FbnVtQnVnICYmIGlzRnVuY3Rpb247XG5cblx0XHRcdGZvciAobmFtZSBpbiBvYmplY3QpIHtcblx0XHRcdFx0aWYgKCEoc2tpcFByb3RvICYmIG5hbWUgPT09ICdwcm90b3R5cGUnKSAmJiBoYXMuY2FsbChvYmplY3QsIG5hbWUpKSB7XG5cdFx0XHRcdFx0dGhlS2V5cy5wdXNoKG5hbWUpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0aWYgKGhhc0RvbnRFbnVtQnVnKSB7XG5cdFx0XHR2YXIgY3RvciA9IG9iamVjdC5jb25zdHJ1Y3Rvcixcblx0XHRcdFx0c2tpcENvbnN0cnVjdG9yID0gY3RvciAmJiBjdG9yLnByb3RvdHlwZSA9PT0gb2JqZWN0O1xuXG5cdFx0XHRmb3JFYWNoKGRvbnRFbnVtcywgZnVuY3Rpb24gKGRvbnRFbnVtKSB7XG5cdFx0XHRcdGlmICghKHNraXBDb25zdHJ1Y3RvciAmJiBkb250RW51bSA9PT0gJ2NvbnN0cnVjdG9yJykgJiYgaGFzLmNhbGwob2JqZWN0LCBkb250RW51bSkpIHtcblx0XHRcdFx0XHR0aGVLZXlzLnB1c2goZG9udEVudW0pO1xuXHRcdFx0XHR9XG5cdFx0XHR9KTtcblx0XHR9XG5cdFx0cmV0dXJuIHRoZUtleXM7XG5cdH07XG5cblx0bW9kdWxlLmV4cG9ydHMgPSBrZXlzU2hpbTtcbn0oKSk7XG5cbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/bunyan-format/node_modules/object-keys/shim.js\n"); /***/ }), /***/ "./node_modules/bunyan-format/node_modules/xtend/has-keys.js": /*!*******************************************************************!*\ !*** ./node_modules/bunyan-format/node_modules/xtend/has-keys.js ***! \*******************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { eval("module.exports = hasKeys\n\nfunction hasKeys(source) {\n return source !== null &&\n (typeof source === \"object\" ||\n typeof source === \"function\")\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYnVueWFuLWZvcm1hdC9ub2RlX21vZHVsZXMveHRlbmQvaGFzLWtleXMuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYnVueWFuLWZvcm1hdC9ub2RlX21vZHVsZXMveHRlbmQvaGFzLWtleXMuanM/OTk0MiJdLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IGhhc0tleXNcblxuZnVuY3Rpb24gaGFzS2V5cyhzb3VyY2UpIHtcbiAgICByZXR1cm4gc291cmNlICE9PSBudWxsICYmXG4gICAgICAgICh0eXBlb2Ygc291cmNlID09PSBcIm9iamVjdFwiIHx8XG4gICAgICAgIHR5cGVvZiBzb3VyY2UgPT09IFwiZnVuY3Rpb25cIilcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/bunyan-format/node_modules/xtend/has-keys.js\n"); /***/ }), /***/ "./node_modules/bunyan-format/node_modules/xtend/index.js": /*!****************************************************************!*\ !*** ./node_modules/bunyan-format/node_modules/xtend/index.js ***! \****************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("var Keys = __webpack_require__(/*! object-keys */ \"./node_modules/bunyan-format/node_modules/object-keys/index.js\")\nvar hasKeys = __webpack_require__(/*! ./has-keys */ \"./node_modules/bunyan-format/node_modules/xtend/has-keys.js\")\n\nmodule.exports = extend\n\nfunction extend() {\n var target = {}\n\n for (var i = 0; i < arguments.length; i++) {\n var source = arguments[i]\n\n if (!hasKeys(source)) {\n continue\n }\n\n var keys = Keys(source)\n\n for (var j = 0; j < keys.length; j++) {\n var name = keys[j]\n target[name] = source[name]\n }\n }\n\n return target\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYnVueWFuLWZvcm1hdC9ub2RlX21vZHVsZXMveHRlbmQvaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYnVueWFuLWZvcm1hdC9ub2RlX21vZHVsZXMveHRlbmQvaW5kZXguanM/M2MyMCJdLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgS2V5cyA9IHJlcXVpcmUoXCJvYmplY3Qta2V5c1wiKVxudmFyIGhhc0tleXMgPSByZXF1aXJlKFwiLi9oYXMta2V5c1wiKVxuXG5tb2R1bGUuZXhwb3J0cyA9IGV4dGVuZFxuXG5mdW5jdGlvbiBleHRlbmQoKSB7XG4gICAgdmFyIHRhcmdldCA9IHt9XG5cbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykge1xuICAgICAgICB2YXIgc291cmNlID0gYXJndW1lbnRzW2ldXG5cbiAgICAgICAgaWYgKCFoYXNLZXlzKHNvdXJjZSkpIHtcbiAgICAgICAgICAgIGNvbnRpbnVlXG4gICAgICAgIH1cblxuICAgICAgICB2YXIga2V5cyA9IEtleXMoc291cmNlKVxuXG4gICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwga2V5cy5sZW5ndGg7IGorKykge1xuICAgICAgICAgICAgdmFyIG5hbWUgPSBrZXlzW2pdXG4gICAgICAgICAgICB0YXJnZXRbbmFtZV0gPSBzb3VyY2VbbmFtZV1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0YXJnZXRcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/bunyan-format/node_modules/xtend/index.js\n"); /***/ }), /***/ "./node_modules/call-bind/callBound.js": /*!*********************************************!*\ !*** ./node_modules/call-bind/callBound.js ***! \*********************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; eval("\n\nvar GetIntrinsic = __webpack_require__(/*! get-intrinsic */ \"./node_modules/get-intrinsic/index.js\");\n\nvar callBind = __webpack_require__(/*! ./ */ \"./node_modules/call-bind/index.js\");\n\nvar $indexOf = callBind(GetIntrinsic('String.prototype.indexOf'));\n\nmodule.exports = function callBoundIntrinsic(name, allowMissing) {\n\tvar intrinsic = GetIntrinsic(name, !!allowMissing);\n\tif (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) {\n\t\treturn callBind(intrinsic);\n\t}\n\treturn intrinsic;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY2FsbC1iaW5kL2NhbGxCb3VuZC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jYWxsLWJpbmQvY2FsbEJvdW5kLmpzPzU0NWUiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG52YXIgR2V0SW50cmluc2ljID0gcmVxdWlyZSgnZ2V0LWludHJpbnNpYycpO1xuXG52YXIgY2FsbEJpbmQgPSByZXF1aXJlKCcuLycpO1xuXG52YXIgJGluZGV4T2YgPSBjYWxsQmluZChHZXRJbnRyaW5zaWMoJ1N0cmluZy5wcm90b3R5cGUuaW5kZXhPZicpKTtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBjYWxsQm91bmRJbnRyaW5zaWMobmFtZSwgYWxsb3dNaXNzaW5nKSB7XG5cdHZhciBpbnRyaW5zaWMgPSBHZXRJbnRyaW5zaWMobmFtZSwgISFhbGxvd01pc3NpbmcpO1xuXHRpZiAodHlwZW9mIGludHJpbnNpYyA9PT0gJ2Z1bmN0aW9uJyAmJiAkaW5kZXhPZihuYW1lLCAnLnByb3RvdHlwZS4nKSA+IC0xKSB7XG5cdFx0cmV0dXJuIGNhbGxCaW5kKGludHJpbnNpYyk7XG5cdH1cblx0cmV0dXJuIGludHJpbnNpYztcbn07XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/call-bind/callBound.js\n"); /***/ }), /***/ "./node_modules/call-bind/index.js": /*!*****************************************!*\ !*** ./node_modules/call-bind/index.js ***! \*****************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; eval("\n\nvar bind = __webpack_require__(/*! function-bind */ \"./node_modules/function-bind/index.js\");\nvar GetIntrinsic = __webpack_require__(/*! get-intrinsic */ \"./node_modules/get-intrinsic/index.js\");\n\nvar $apply = GetIntrinsic('%Function.prototype.apply%');\nvar $call = GetIntrinsic('%Function.prototype.call%');\nvar $reflectApply = GetIntrinsic('%Reflect.apply%', true) || bind.call($call, $apply);\n\nvar $gOPD = GetIntrinsic('%Object.getOwnPropertyDescriptor%', true);\nvar $defineProperty = GetIntrinsic('%Object.defineProperty%', true);\nvar $max = GetIntrinsic('%Math.max%');\n\nif ($defineProperty) {\n\ttry {\n\t\t$defineProperty({}, 'a', { value: 1 });\n\t} catch (e) {\n\t\t// IE 8 has a broken defineProperty\n\t\t$defineProperty = null;\n\t}\n}\n\nmodule.exports = function callBind(originalFunction) {\n\tvar func = $reflectApply(bind, $call, arguments);\n\tif ($gOPD && $defineProperty) {\n\t\tvar desc = $gOPD(func, 'length');\n\t\tif (desc.configurable) {\n\t\t\t// original length, plus the receiver, minus any additional arguments (after the receiver)\n\t\t\t$defineProperty(\n\t\t\t\tfunc,\n\t\t\t\t'length',\n\t\t\t\t{ value: 1 + $max(0, originalFunction.length - (arguments.length - 1)) }\n\t\t\t);\n\t\t}\n\t}\n\treturn func;\n};\n\nvar applyBind = function applyBind() {\n\treturn $reflectApply(bind, $apply, arguments);\n};\n\nif ($defineProperty) {\n\t$defineProperty(module.exports, 'apply', { value: applyBind });\n} else {\n\tmodule.exports.apply = applyBind;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY2FsbC1iaW5kL2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NhbGwtYmluZC9pbmRleC5qcz8zZWIxIl0sInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxudmFyIGJpbmQgPSByZXF1aXJlKCdmdW5jdGlvbi1iaW5kJyk7XG52YXIgR2V0SW50cmluc2ljID0gcmVxdWlyZSgnZ2V0LWludHJpbnNpYycpO1xuXG52YXIgJGFwcGx5ID0gR2V0SW50cmluc2ljKCclRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5JScpO1xudmFyICRjYWxsID0gR2V0SW50cmluc2ljKCclRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwlJyk7XG52YXIgJHJlZmxlY3RBcHBseSA9IEdldEludHJpbnNpYygnJVJlZmxlY3QuYXBwbHklJywgdHJ1ZSkgfHwgYmluZC5jYWxsKCRjYWxsLCAkYXBwbHkpO1xuXG52YXIgJGdPUEQgPSBHZXRJbnRyaW5zaWMoJyVPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yJScsIHRydWUpO1xudmFyICRkZWZpbmVQcm9wZXJ0eSA9IEdldEludHJpbnNpYygnJU9iamVjdC5kZWZpbmVQcm9wZXJ0eSUnLCB0cnVlKTtcbnZhciAkbWF4ID0gR2V0SW50cmluc2ljKCclTWF0aC5tYXglJyk7XG5cbmlmICgkZGVmaW5lUHJvcGVydHkpIHtcblx0dHJ5IHtcblx0XHQkZGVmaW5lUHJvcGVydHkoe30sICdhJywgeyB2YWx1ZTogMSB9KTtcblx0fSBjYXRjaCAoZSkge1xuXHRcdC8vIElFIDggaGFzIGEgYnJva2VuIGRlZmluZVByb3BlcnR5XG5cdFx0JGRlZmluZVByb3BlcnR5ID0gbnVsbDtcblx0fVxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIGNhbGxCaW5kKG9yaWdpbmFsRnVuY3Rpb24pIHtcblx0dmFyIGZ1bmMgPSAkcmVmbGVjdEFwcGx5KGJpbmQsICRjYWxsLCBhcmd1bWVudHMpO1xuXHRpZiAoJGdPUEQgJiYgJGRlZmluZVByb3BlcnR5KSB7XG5cdFx0dmFyIGRlc2MgPSAkZ09QRChmdW5jLCAnbGVuZ3RoJyk7XG5cdFx0aWYgKGRlc2MuY29uZmlndXJhYmxlKSB7XG5cdFx0XHQvLyBvcmlnaW5hbCBsZW5ndGgsIHBsdXMgdGhlIHJlY2VpdmVyLCBtaW51cyBhbnkgYWRkaXRpb25hbCBhcmd1bWVudHMgKGFmdGVyIHRoZSByZWNlaXZlcilcblx0XHRcdCRkZWZpbmVQcm9wZXJ0eShcblx0XHRcdFx0ZnVuYyxcblx0XHRcdFx0J2xlbmd0aCcsXG5cdFx0XHRcdHsgdmFsdWU6IDEgKyAkbWF4KDAsIG9yaWdpbmFsRnVuY3Rpb24ubGVuZ3RoIC0gKGFyZ3VtZW50cy5sZW5ndGggLSAxKSkgfVxuXHRcdFx0KTtcblx0XHR9XG5cdH1cblx0cmV0dXJuIGZ1bmM7XG59O1xuXG52YXIgYXBwbHlCaW5kID0gZnVuY3Rpb24gYXBwbHlCaW5kKCkge1xuXHRyZXR1cm4gJHJlZmxlY3RBcHBseShiaW5kLCAkYXBwbHksIGFyZ3VtZW50cyk7XG59O1xuXG5pZiAoJGRlZmluZVByb3BlcnR5KSB7XG5cdCRkZWZpbmVQcm9wZXJ0eShtb2R1bGUuZXhwb3J0cywgJ2FwcGx5JywgeyB2YWx1ZTogYXBwbHlCaW5kIH0pO1xufSBlbHNlIHtcblx0bW9kdWxlLmV4cG9ydHMuYXBwbHkgPSBhcHBseUJpbmQ7XG59XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/call-bind/index.js\n"); /***/ }), /***/ "./node_modules/charenc/charenc.js": /*!*****************************************!*\ !*** ./node_modules/charenc/charenc.js ***! \*****************************************/ /*! no static exports found */ /***/ (function(module, exports) { eval("var charenc = {\n // UTF-8 encoding\n utf8: {\n // Convert a string to a byte array\n stringToBytes: function(str) {\n return charenc.bin.stringToBytes(unescape(encodeURIComponent(str)));\n },\n\n // Convert a byte array to a string\n bytesToString: function(bytes) {\n return decodeURIComponent(escape(charenc.bin.bytesToString(bytes)));\n }\n },\n\n // Binary encoding\n bin: {\n // Convert a string to a byte array\n stringToBytes: function(str) {\n for (var bytes = [], i = 0; i < str.length; i++)\n bytes.push(str.charCodeAt(i) & 0xFF);\n return bytes;\n },\n\n // Convert a byte array to a string\n bytesToString: function(bytes) {\n for (var str = [], i = 0; i < bytes.length; i++)\n str.push(String.fromCharCode(bytes[i]));\n return str.join('');\n }\n }\n};\n\nmodule.exports = charenc;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY2hhcmVuYy9jaGFyZW5jLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NoYXJlbmMvY2hhcmVuYy5qcz85YTYzIl0sInNvdXJjZXNDb250ZW50IjpbInZhciBjaGFyZW5jID0ge1xuICAvLyBVVEYtOCBlbmNvZGluZ1xuICB1dGY4OiB7XG4gICAgLy8gQ29udmVydCBhIHN0cmluZyB0byBhIGJ5dGUgYXJyYXlcbiAgICBzdHJpbmdUb0J5dGVzOiBmdW5jdGlvbihzdHIpIHtcbiAgICAgIHJldHVybiBjaGFyZW5jLmJpbi5zdHJpbmdUb0J5dGVzKHVuZXNjYXBlKGVuY29kZVVSSUNvbXBvbmVudChzdHIpKSk7XG4gICAgfSxcblxuICAgIC8vIENvbnZlcnQgYSBieXRlIGFycmF5IHRvIGEgc3RyaW5nXG4gICAgYnl0ZXNUb1N0cmluZzogZnVuY3Rpb24oYnl0ZXMpIHtcbiAgICAgIHJldHVybiBkZWNvZGVVUklDb21wb25lbnQoZXNjYXBlKGNoYXJlbmMuYmluLmJ5dGVzVG9TdHJpbmcoYnl0ZXMpKSk7XG4gICAgfVxuICB9LFxuXG4gIC8vIEJpbmFyeSBlbmNvZGluZ1xuICBiaW46IHtcbiAgICAvLyBDb252ZXJ0IGEgc3RyaW5nIHRvIGEgYnl0ZSBhcnJheVxuICAgIHN0cmluZ1RvQnl0ZXM6IGZ1bmN0aW9uKHN0cikge1xuICAgICAgZm9yICh2YXIgYnl0ZXMgPSBbXSwgaSA9IDA7IGkgPCBzdHIubGVuZ3RoOyBpKyspXG4gICAgICAgIGJ5dGVzLnB1c2goc3RyLmNoYXJDb2RlQXQoaSkgJiAweEZGKTtcbiAgICAgIHJldHVybiBieXRlcztcbiAgICB9LFxuXG4gICAgLy8gQ29udmVydCBhIGJ5dGUgYXJyYXkgdG8gYSBzdHJpbmdcbiAgICBieXRlc1RvU3RyaW5nOiBmdW5jdGlvbihieXRlcykge1xuICAgICAgZm9yICh2YXIgc3RyID0gW10sIGkgPSAwOyBpIDwgYnl0ZXMubGVuZ3RoOyBpKyspXG4gICAgICAgIHN0ci5wdXNoKFN0cmluZy5mcm9tQ2hhckNvZGUoYnl0ZXNbaV0pKTtcbiAgICAgIHJldHVybiBzdHIuam9pbignJyk7XG4gICAgfVxuICB9XG59O1xuXG5tb2R1bGUuZXhwb3J0cyA9IGNoYXJlbmM7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/charenc/charenc.js\n"); /***/ }), /***/ "./node_modules/chromatism/dist/chromatism.esm.js": /*!********************************************************!*\ !*** ./node_modules/chromatism/dist/chromatism.esm.js ***! \********************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\nfunction fromHex(r,e,n){var t=r.conversions,o=r.operations,s=r.helpers;n=n.replace(\"#\",\"\").match(/.{2}/g);for(var a=0;a=50?(a[2]-a[0])/(2-a[2]-a[0])*100:(a[2]-a[0])/(a[2]+a[0])*100,(d=a[2]==g?(y-_)/(a[2]-a[0])*60:a[2]==y?60*(2+(_-g)/(a[2]-a[0])):60*(4+(g-y)/(a[2]-a[0])))<0?d+=360:d>360&&(d%=360)),{h:d,s:b,l:i};case\"csshsl\":var c=o.convert({conversions:t,helpers:s},\"hsl\",n);return\"hsl(\"+Math.round(c.h)+\",\"+Math.round(c.s)+\"%,\"+Math.round(c.l)+\"%)\";case\"cmyk\":var u=n.r/255,l=n.g/255,h=n.b/255,v=1-Math.max(u,l,h);if(1!=v)var p=(1-u-v)/(1-v),f=(1-l-v)/(1-v),m=(1-h-v)/(1-v);else var p=0,f=0,m=0;return{c:p,m:f,y:m,k:v};case\"hsv\":var d,b,g=n.r/255,y=n.g/255,_=n.b/255,M=Math.min(g,y,_),Y=Math.max(g,y,_),L=Y-M,X=Y;if(0==L)d=0,b=0;else{b=L/Y;var Z=((Y-g)/6+L/2)/L,R=((Y-y)/6+L/2)/L,w=((Y-_)/6+L/2)/L;g==Y?d=w-R:y==Y?d=1/3+Z-w:_==Y&&(d=2/3+R-Z),d<0&&(d+=1),d>1&&(d-=1)}return{h:360*d,s:100*b,v:100*X};case\"yiq\":var m=n.r/255*.299+n.g/255*.587+n.b/255*.114,C=n.r/255*.596+n.g/255*-.274+n.b/255*-.322,x=n.r/255*.211+n.g/255*-.523+n.b/255*.312;return C=s.bounded(C,[-.5957,.5957]),x=s.bounded(x,[-.5226,.5226]),{y:m,i:C,q:x};case\"XYZ\":var A=[n.r,n.g,n.b].map(function(r){return r/255}).map(function(r){return r<=.04045?r/12.92:Math.pow((r+.055)/1.055,2.4)}),S=s.getTransform(\"SRGB_XYZ\").map(function(r){return A.reduce(function(e,n,t){return r[t]*n+e},0)}).map(function(r){return 100*r}),O=slicedToArray(S,3);return{X:O[0],Y:O[1],Z:O[2]};case\"lms\":case\"cielab\":case\"cieluv\":case\"xyY\":var I=o.convert({conversions:t,operations:o,helpers:s},\"XYZ\",n);return o.convert({conversions:t,operations:o,helpers:s},e,I);case\"cielch\":var j=o.convert({conversions:t,operations:o,helpers:s},\"cieluv\",n);return o.convert({conversions:t,operations:o,helpers:s},e,j);case\"hsluv\":var D=o.convert({conversions:t,operations:o,helpers:s},\"cielch\",n);return o.convert({conversions:t,operations:o,helpers:s},e,D)}}function fromCssRgb(r,e,n){var t=r.conversions,o=r.operations,s=r.helpers;n=n.replace(/((rgb\\(|\\))|[\\s]*)/g,\"\").split(\",\");for(var a=0;a=50?n.l/100+n.s/100-n.l/100*(n.s/100):n.l/100*(1+n.s/100),c=n.l/100*2-i;var l,h,v,p=((u=n.h/360)+.333)%1,f=u,m=s.negMod(u-.333,1);return l=6*p<1?c+6*(i-c)*p:2*p<1?i:3*p<2?c+6*(.666-p)*(i-c):c,h=6*f<1?c+6*(i-c)*f:2*f<1?i:3*f<2?c+6*(.666-f)*(i-c):c,v=6*m<1?c+6*(i-c)*m:2*m<1?i:3*m<2?c+6*(.666-m)*(i-c):c,l<0&&(l=0),h<0&&(h=0),v<0&&(v=0),{r:255*l,g:255*h,b:255*v};case\"csshsl\":return\"hsl(\"+Math.round(n.h)+\",\"+Math.round(n.s)+\"%,\"+Math.round(n.l)+\"%)\";case\"hsv\":n.s=n.s/100,n.l=n.l/100;var d=n.s*(n.l<.5?n.l:1-n.l);return{h:n.h,s:100*(2*d/(n.l+d)),v:100*(n.l+d)};default:var b=o.convert({conversions:t,operations:o,helpers:s},\"rgb\",n);return o.convert({conversions:t,operations:o,helpers:s},e,b)}}function fromCssHsl(r,e,n){var t=r.conversions,o=r.operations,s=r.helpers;n=n.replace(/(hsl\\(|\\)|%|[\\s]*)/g,\"\").split(\",\");for(var a=0;a.008856?s.cbrt(r):(903.3*r+16)/116},y=g(m),_=g(d);return{L:116*_-16,a:500*(y-_),b:200*(_-g(b))};case\"cieluv\":var M=n.Y/a.Y,Y=M>.008856?116*s.cbrt(M)-16:903.3*M,L=function(r){return 4*r.X/(r.X+15*r.Y+3*r.Z)},X=function(r){return 9*r.Y/(r.X+15*r.Y+3*r.Z)};return{L:Y,u:13*Y*(L(n)-L(a)),v:13*Y*(X(n)-X(a))};case\"xyY\":return{x:n.X/(n.X+n.Y+n.Z),y:n.Y/(n.X+n.Y+n.Z),Y:n.Y};default:var Z=s.boundedRgb(o.convert({conversions:t,operations:o,helpers:s},\"rgb\",n));return o.convert({conversions:t,operations:o,helpers:s},e,Z)}}function fromxyY(r,e,n){var t=r.conversions,o=r.operations,s=r.helpers;switch(e){case\"XYZ\":var a=n.Y/n.y*n.x,i=n.Y/n.y*(1-n.x-n.y);return{X:a,Y:n.Y,Z:i};default:var c=o.convert({conversions:t,operations:o,helpers:s},\"XYZ\",n);return o.convert({conversions:t,operations:o,helpers:s},e,c)}}function fromLms(r,e,n){var t=r.conversions,o=r.operations,s=r.helpers;switch(e){case\"XYZ\":var a=[n.rho,n.gamma,n.beta],i=s.getTransform(\"INVERSE_BRADFORD\").map(function(r){return a.reduce(function(e,n,t){return r[t]*n+e},0)});return{X:100*i[0],Y:100*i[1],Z:100*i[2]};default:var c=o.convert({conversions:t,operations:o,helpers:s},\"XYZ\",n);return o.convert({conversions:t,operations:o,helpers:s},e,c)}}function fromCieLab(r,e,n){var t=r.conversions,o=r.operations,s=r.helpers;switch(e){case\"XYZ\":var a=s.getIlluminant(\"D65\"),i=(n.L+16)/116,c=n.a/500+i,u=i-n.b/200,l=function(r){return Math.pow(r,3)>.008856?Math.pow(r,3):(116*r-16)/903.3},h=l(c),v=l(u),p=n.L>903.3*.008856?Math.pow(i,3):n.L/903.3;return{X:h*a.X,Y:p*a.Y,Z:v*a.Z};default:var f=o.convert({conversions:t,operations:o,helpers:s},\"XYZ\",n);return o.convert({conversions:t,operations:o,helpers:s},e,f)}}function fromCieLuv(r,e,n){var t=r.conversions,o=r.operations,s=r.helpers;switch(e){case\"XYZ\":var a=s.getIlluminant(\"D65\"),i=function(r){return 4*r.X/(r.X+15*r.Y+3*r.Z)}(a),c=function(r){return 9*r.Y/(r.X+15*r.Y+3*r.Z)}(a),u=1/3*(52*n.L/(n.u+13*n.L*i)-1),l=n.L>903.3*.008856?Math.pow((n.L+16)/116,3):n.L/903.3,h=-5*l,v=(l*(39*n.L/(n.v+13*n.L*c)-5)-h)/(u- -1/3);return{X:100*v,Y:100*l,Z:100*(v*u+h)};case\"cielch\":var p=Math.sqrt(Math.pow(n.u,2)+Math.pow(n.v,2)),f=Math.atan2(n.v,n.u);return f<0&&(f+=2*Math.PI),f=s.toDeg(f),{L:n.L,C:p,h:f};default:var m=o.convert({conversions:t,operations:o,helpers:s},\"XYZ\",n);return o.convert({conversions:t,operations:o,helpers:s},e,m)}}function fromCieLch(r,e,n){var t=r.conversions,o=r.operations,s=r.helpers;switch(e){case\"cieluv\":var a=s.toRad(n.h),i=n.C*Math.cos(a),c=n.C*Math.sin(a);return{L:n.L,u:i,v:c};case\"hsluv\":if(n.L>99.9999999)return{hu:n.h,s:0,l:100};if(n.L<1e-8)return{hu:n.h,s:0,l:0};for(var u=(n.L+16)/1560896,l=u>.008856?u:n.L/903.3,h=s.getTransform(\"INVERSE_SRGB_XYZ\"),v=[],p=0;p<3;p++)for(var f=h[p][0],m=h[p][1],d=h[p][2],b=0;b<2;b++){var g=(284517*f-94839*d)*l,y=(838422*d+769860*m+731718*f)*n.L*l-769860*b*n.L,_=(632260*d-126452*m)*l+126452*b;v.push({m:g/_,b:y/_})}var M=Number.MAX_VALUE,Y=s.toRad(n.h);v.forEach(function(r){var e=r.b/(Math.sin(Y)-r.m*Math.cos(Y));e>=0&&(M=Math.min(M,e))});var L=M;return{hu:n.h,s:n.C/L*100,l:n.L};default:var X=o.convert({conversions:t,operations:o,helpers:s},\"cieluv\",n);return o.convert({conversions:t,operations:o,helpers:s},e,X)}}function fromCieLch$1(r,e,n){var t=r.conversions,o=r.operations,s=r.helpers;switch(e){case\"cielch\":if(n.L>99.9999999)return{L:100,C:0,h:n.hu};if(n.L<1e-8)return{L:0,C:0,h:n.hu};for(var a=(n.l+16)/1560896,i=a>.008856?a:n.l/903.3,c=s.getTransform(\"INVERSE_SRGB_XYZ\"),u=[],l=0;l<3;l++)for(var h=c[l][0],v=c[l][1],p=c[l][2],f=0;f<2;f++){var m=(284517*h-94839*p)*i,d=(838422*p+769860*v+731718*h)*n.l*i-769860*f*n.l,b=(632260*p-126452*v)*i+126452*f;u.push({m:m/b,b:d/b})}var g=Number.MAX_VALUE,y=s.toRad(n.hu);u.forEach(function(r){var e=r.b/(Math.sin(y)-r.m*Math.cos(y));e>=0&&(g=Math.min(g,e))});var _=g;return{L:n.l,C:_/100*n.s,h:n.hu};default:var M=o.convert({conversions:t,operations:o,helpers:s},\"cielch\",n);return o.convert({conversions:t,operations:o,helpers:s},e,M)}}function contains(r,e){return Object.keys(r).every(function(r){return-1!==e.indexOf(r)})}function adapt(r,e,n,t){var o=r.operations.convert(r,\"XYZ\",e),s=r.operations.convert(r,\"lms\",n);if(t)a=r.operations.convert(r,\"lms\",t);else var a=r.operations.convert(r,\"lms\",r.helpers.getIlluminant(\"D65\"));var i=r.helpers.getTransform(\"BRADFORD\"),c=r.helpers.getTransform(\"INVERSE_BRADFORD\"),u=[[s.rho/a.rho,0,0],[0,s.gamma/a.gamma,0],[0,0,s.beta/a.beta]],l=r.helpers.matrixMultiply(c,u),h=r.helpers.matrixMultiply(l,i),v=[[o.X],[o.Y],[o.Z]],p=r.helpers.matrixMultiply(h,v),f={X:p[0][0],Y:p[1][0],Z:p[2][0]};return r.helpers.ready(r,f)}function adjacent(r,e,n,t){for(var o=r.operations.convert(r,\"hsl\",t),s=[{h:o.h,s:o.s,l:o.l}],a=0;a100&&(t.l=100),r.helpers.ready(r,t)}function complementary(r,e){var n=r.operations.convert(r,\"hsl\",e);return n.h=(n.h+180)%360,r.helpers.ready(r,n)}function contrast(r,e,n){var t=r.operations.convert(r,\"rgb\",n);return t.r=255*((t.r/255-.5)*e+.5),t.r<0?t.r=0:t.r>255&&(t.r=255),t.g=255*((t.g/255-.5)*e+.5),t.g<0?t.g=0:t.g>255&&(t.g=255),t.b=255*((t.b/255-.5)*e+.5),t.b<0?t.b=0:t.b>255&&(t.b=255),r.helpers.ready(r,t)}function contrastRatio(r,e){var n=r.operations.convert(r,\"rgb\",e);return n=(299*n.r+587*n.g+114*n.b)/1e3>=128?{r:0,g:0,b:0}:{r:255,g:255,b:255},r.helpers.ready(r,n)}function convert(r,e,n){if(Object.keys(r.conversions).indexOf(e)>-1){n.colour?n=n.colour:n.colours&&(n=n.colours);var t=r.helpers.determineMode(n);return t!=e?r.conversions[t].convert(r,e,n):n}return r.helpers.ready(r,e)}function difference(r,e,n,t,o){t=t||1,o=o||1;var s=r.operations.convert(r,\"cielab\",e),a=r.operations.convert(r,\"cielab\",n),i=Math.sqrt(Math.pow(s.a,2)+Math.pow(s.b,2)),c=i-Math.sqrt(Math.pow(a.a,2)+Math.pow(a.b,2)),u=s.L-a.L,l=s.a-a.a,h=s.b-a.b,v=Math.sqrt(Math.pow(l,2)+Math.pow(h,2)-Math.pow(c,2)),p=s.L<16?.511:.040975*s.L/(1.01765*s.L),f=.0638*i/(1.0131*i),m=Math.atan2(s.b,s.a),d=m>=0?m:m+360,b=164<=d&&d<=345?.56+Math.abs(.2*Math.cos(r.helpers.toRad(d+168))):.36+Math.abs(.4*Math.cos(r.helpers.toRad(d+35))),g=Math.pow(i,4)/(Math.pow(i,4)+1900),y=f*(g*b+1-g),_=Math.pow(u/(t*p),2);Math.pow(c/(o*f),2),Math.pow(v/y,2);return Math.sqrt(_+_+_)}function fade(r,e,n,t){var o=r.operations.convert(r,\"rgb\",n),s=r.operations.convert(r,\"rgb\",t),a=[o];e-=1;for(var i=(s.r-o.r)/e,c=(s.g-o.g)/e,u=(s.b-o.b)/e,l={r:o.r,g:o.g,b:o.b},h=0;h100?100:s.l,s.l=s.l<0?0:s.l,r.helpers.ready(r,s)}function saturation(r,e,n){var t=r.operations.convert(r,\"hsl\",n);return t.s+=e,t.s<0?t.s=0:t.s>100&&(t.s=100),r.helpers.ready(r,t)}function sepia(r,e){var n=r.operations.convert(r,\"rgb\",e),t={};return t.r=.393*n.r+.769*n.g+.189*n.b,t.g=.349*n.r+.686*n.g+.168*n.b,t.b=.272*n.r+.534*n.g+.131*n.b,r.helpers.ready(r,t)}function shade(r,e,n){var t=r.operations.convert(r,\"hsv\",n);return t.v+=e,t.v<0?t.v=0:t.v>100&&(t.v=100),r.helpers.ready(r,t)}function temperature(r,e){var n=r.operations.convert(r,\"xyY\",e),t=(n.x-.332)/(n.y-.1858);return-449*Math.pow(t,3)+3525*Math.pow(t,2)-6823.3*t+5520.33}function tetrad(r,e){for(var n=r.operations.convert(r,\"hsl\",e),t=[{h:n.h,s:n.s,l:n.l}],o=0;o<3;o++)n.h=(n.h+90)%360,t.push({h:n.h,s:n.s,l:n.l});return r.helpers.ready(r,t)}function triad(r,e){for(var n=r.operations.convert(r,\"hsl\",e),t=[{h:n.h,s:n.s,l:n.l}],o=0;o<2;o++)n.h=(n.h+120)%360,t.push({h:n.h,s:n.s,l:n.l});return r.helpers.ready(r,t)}var fromHex_1=fromHex,_typeof=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(r){return typeof r}:function(r){return r&&\"function\"==typeof Symbol&&r.constructor===Symbol&&r!==Symbol.prototype?\"symbol\":typeof r},slicedToArray=function(){function r(r,e){var n=[],t=!0,o=!1,s=void 0;try{for(var a,i=r[Symbol.iterator]();!(t=(a=i.next()).done)&&(n.push(a.value),!e||n.length!==e);t=!0);}catch(r){o=!0,s=r}finally{try{!t&&i.return&&i.return()}finally{if(o)throw s}}return n}return function(e,n){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return r(e,n);throw new TypeError(\"Invalid attempt to destructure non-iterable instance\")}}(),toConsumableArray=function(r){if(Array.isArray(r)){for(var e=0,n=Array(r.length);e2*e?slopeMod(r-2*e,e):r>e?2*e-r:r<0?slopeMod(r+2*e,e):r}),bounded:function(r,e){return re[1]&&(r=e[1]),r},boundedRgb:function(r){var e=this,n=function(r){return e.bounded(r,[0,255])};return{r:n(r.r),g:n(r.g),b:n(r.b)}},determineMode:function(r){for(var e in index)if(index.hasOwnProperty(e)&&index[e].test(r))return e;return null},ready:function(r,e){var n=r.conversions,t=r.operations,o=r.helpers,s={};switch(Object.prototype.toString.call(e)){case\"[object Object]\":case\"[object String]\":s.colour=e;for(var a in n)n.hasOwnProperty(a)&&function(r){Object.defineProperty(s,r,{get:function(){o.determineMode(e);return t.convert({conversions:n,operations:t,helpers:o},r,e)},enumerable:!0})}(a);return s=Object.assign(s,api_1({conversions:n,operations:t,helpers:o},constants,s));case\"[object Array]\":s.colours=e;for(var i in n)n.hasOwnProperty(i)&&function(r){Object.defineProperty(s,r,{get:function(){return function e(s){return s.map(function(s){return Array.isArray(s)?e(s):t.convert({conversions:n,operations:t,helpers:o},r,s)})}(e)},enumerable:!0})}(i);return s=Object.assign(s,api_1({conversions:n,operations:t,helpers:o},constants,s));default:return null}}},helpers_1=helpers,dependencies={conversions:index,operations:index$2,helpers:helpers_1},entry=api_1(dependencies,constants);/* harmony default export */ __webpack_exports__[\"default\"] = (entry);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY2hyb21hdGlzbS9kaXN0L2Nocm9tYXRpc20uZXNtLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Nocm9tYXRpc20vZGlzdC9jaHJvbWF0aXNtLmVzbS5qcz9kMmU5Il0sInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIGZyb21IZXgocixlLG4pe3ZhciB0PXIuY29udmVyc2lvbnMsbz1yLm9wZXJhdGlvbnMscz1yLmhlbHBlcnM7bj1uLnJlcGxhY2UoXCIjXCIsXCJcIikubWF0Y2goLy57Mn0vZyk7Zm9yKHZhciBhPTA7YTxuLmxlbmd0aDthKyspblthXT1wYXJzZUludChuW2FdLDE2KTtzd2l0Y2goZSl7Y2FzZVwicmdiXCI6cmV0dXJue3I6blswXSxnOm5bMV0sYjpuWzJdfTtkZWZhdWx0OnJldHVybiBvLmNvbnZlcnQoe2NvbnZlcnNpb25zOnQsb3BlcmF0aW9uczpvLGhlbHBlcnM6c30sZSx7cjpuWzBdLGc6blsxXSxiOm5bMl19KX19ZnVuY3Rpb24gZnJvbVJnYihyLGUsbil7dmFyIHQ9ci5jb252ZXJzaW9ucyxvPXIub3BlcmF0aW9ucyxzPXIuaGVscGVycztzd2l0Y2goZSl7Y2FzZVwiaGV4XCI6cmV0dXJuIDE9PShnPU1hdGgucm91bmQobi5yKS50b1N0cmluZygxNikpLmxlbmd0aCYmKGc9XCIwXCIrZyksMT09KHk9TWF0aC5yb3VuZChuLmcpLnRvU3RyaW5nKDE2KSkubGVuZ3RoJiYoeT1cIjBcIit5KSwxPT0oXz1NYXRoLnJvdW5kKG4uYikudG9TdHJpbmcoMTYpKS5sZW5ndGgmJihfPVwiMFwiK18pLFwiI1wiK2creStfO2Nhc2VcImNzc3JnYlwiOnJldHVyblwicmdiKFwiK01hdGgucm91bmQobi5yKStcIixcIitNYXRoLnJvdW5kKG4uZykrXCIsXCIrTWF0aC5yb3VuZChuLmIpK1wiKVwiO2Nhc2VcImhzbFwiOnZhciBhPVtnPW4uci8yNTUseT1uLmcvMjU1LF89bi5iLzI1NV0uc29ydCgpLGk9KGFbMF0rYVsyXSkvMioxMDA7cmV0dXJuIGFbMF09PWFbMl0/KGI9MCxkPTApOihiPWk+PTUwPyhhWzJdLWFbMF0pLygyLWFbMl0tYVswXSkqMTAwOihhWzJdLWFbMF0pLyhhWzJdK2FbMF0pKjEwMCwoZD1hWzJdPT1nPyh5LV8pLyhhWzJdLWFbMF0pKjYwOmFbMl09PXk/NjAqKDIrKF8tZykvKGFbMl0tYVswXSkpOjYwKig0KyhnLXkpLyhhWzJdLWFbMF0pKSk8MD9kKz0zNjA6ZD4zNjAmJihkJT0zNjApKSx7aDpkLHM6YixsOml9O2Nhc2VcImNzc2hzbFwiOnZhciBjPW8uY29udmVydCh7Y29udmVyc2lvbnM6dCxoZWxwZXJzOnN9LFwiaHNsXCIsbik7cmV0dXJuXCJoc2woXCIrTWF0aC5yb3VuZChjLmgpK1wiLFwiK01hdGgucm91bmQoYy5zKStcIiUsXCIrTWF0aC5yb3VuZChjLmwpK1wiJSlcIjtjYXNlXCJjbXlrXCI6dmFyIHU9bi5yLzI1NSxsPW4uZy8yNTUsaD1uLmIvMjU1LHY9MS1NYXRoLm1heCh1LGwsaCk7aWYoMSE9dil2YXIgcD0oMS11LXYpLygxLXYpLGY9KDEtbC12KS8oMS12KSxtPSgxLWgtdikvKDEtdik7ZWxzZSB2YXIgcD0wLGY9MCxtPTA7cmV0dXJue2M6cCxtOmYseTptLGs6dn07Y2FzZVwiaHN2XCI6dmFyIGQsYixnPW4uci8yNTUseT1uLmcvMjU1LF89bi5iLzI1NSxNPU1hdGgubWluKGcseSxfKSxZPU1hdGgubWF4KGcseSxfKSxMPVktTSxYPVk7aWYoMD09TClkPTAsYj0wO2Vsc2V7Yj1ML1k7dmFyIFo9KChZLWcpLzYrTC8yKS9MLFI9KChZLXkpLzYrTC8yKS9MLHc9KChZLV8pLzYrTC8yKS9MO2c9PVk/ZD13LVI6eT09WT9kPTEvMytaLXc6Xz09WSYmKGQ9Mi8zK1ItWiksZDwwJiYoZCs9MSksZD4xJiYoZC09MSl9cmV0dXJue2g6MzYwKmQsczoxMDAqYix2OjEwMCpYfTtjYXNlXCJ5aXFcIjp2YXIgbT1uLnIvMjU1Ki4yOTkrbi5nLzI1NSouNTg3K24uYi8yNTUqLjExNCxDPW4uci8yNTUqLjU5NituLmcvMjU1Ki0uMjc0K24uYi8yNTUqLS4zMjIseD1uLnIvMjU1Ki4yMTErbi5nLzI1NSotLjUyMytuLmIvMjU1Ki4zMTI7cmV0dXJuIEM9cy5ib3VuZGVkKEMsWy0uNTk1NywuNTk1N10pLHg9cy5ib3VuZGVkKHgsWy0uNTIyNiwuNTIyNl0pLHt5Om0saTpDLHE6eH07Y2FzZVwiWFlaXCI6dmFyIEE9W24ucixuLmcsbi5iXS5tYXAoZnVuY3Rpb24ocil7cmV0dXJuIHIvMjU1fSkubWFwKGZ1bmN0aW9uKHIpe3JldHVybiByPD0uMDQwNDU/ci8xMi45MjpNYXRoLnBvdygocisuMDU1KS8xLjA1NSwyLjQpfSksUz1zLmdldFRyYW5zZm9ybShcIlNSR0JfWFlaXCIpLm1hcChmdW5jdGlvbihyKXtyZXR1cm4gQS5yZWR1Y2UoZnVuY3Rpb24oZSxuLHQpe3JldHVybiByW3RdKm4rZX0sMCl9KS5tYXAoZnVuY3Rpb24ocil7cmV0dXJuIDEwMCpyfSksTz1zbGljZWRUb0FycmF5KFMsMyk7cmV0dXJue1g6T1swXSxZOk9bMV0sWjpPWzJdfTtjYXNlXCJsbXNcIjpjYXNlXCJjaWVsYWJcIjpjYXNlXCJjaWVsdXZcIjpjYXNlXCJ4eVlcIjp2YXIgST1vLmNvbnZlcnQoe2NvbnZlcnNpb25zOnQsb3BlcmF0aW9uczpvLGhlbHBlcnM6c30sXCJYWVpcIixuKTtyZXR1cm4gby5jb252ZXJ0KHtjb252ZXJzaW9uczp0LG9wZXJhdGlvbnM6byxoZWxwZXJzOnN9LGUsSSk7Y2FzZVwiY2llbGNoXCI6dmFyIGo9by5jb252ZXJ0KHtjb252ZXJzaW9uczp0LG9wZXJhdGlvbnM6byxoZWxwZXJzOnN9LFwiY2llbHV2XCIsbik7cmV0dXJuIG8uY29udmVydCh7Y29udmVyc2lvbnM6dCxvcGVyYXRpb25zOm8saGVscGVyczpzfSxlLGopO2Nhc2VcImhzbHV2XCI6dmFyIEQ9by5jb252ZXJ0KHtjb252ZXJzaW9uczp0LG9wZXJhdGlvbnM6byxoZWxwZXJzOnN9LFwiY2llbGNoXCIsbik7cmV0dXJuIG8uY29udmVydCh7Y29udmVyc2lvbnM6dCxvcGVyYXRpb25zOm8saGVscGVyczpzfSxlLEQpfX1mdW5jdGlvbiBmcm9tQ3NzUmdiKHIsZSxuKXt2YXIgdD1yLmNvbnZlcnNpb25zLG89ci5vcGVyYXRpb25zLHM9ci5oZWxwZXJzO249bi5yZXBsYWNlKC8oKHJnYlxcKHxcXCkpfFtcXHNdKikvZyxcIlwiKS5zcGxpdChcIixcIik7Zm9yKHZhciBhPTA7YTxuLmxlbmd0aDthKyspblthXT1wYXJzZUludChuW2FdKTtzd2l0Y2goZSl7Y2FzZVwicmdiXCI6cmV0dXJue3I6blswXSxnOm5bMV0sYjpuWzJdfTtkZWZhdWx0OnJldHVybiBvLmNvbnZlcnQoe2NvbnZlcnNpb25zOnQsb3BlcmF0aW9uczpvLGhlbHBlcnM6c30sZSx7cjpuWzBdLGc6blsxXSxiOm5bMl19KX19ZnVuY3Rpb24gZnJvbUhzbChyLGUsbil7dmFyIHQ9ci5jb252ZXJzaW9ucyxvPXIub3BlcmF0aW9ucyxzPXIuaGVscGVycztzd2l0Y2goZSl7Y2FzZVwicmdiXCI6aWYoMD09bi5zKXt2YXIgYT1uLmwvMTAwKjI1NTtyZXR1cm57cjphLGc6YSxiOmF9fXZhciBpLGMsdTtpPW4ubD49NTA/bi5sLzEwMCtuLnMvMTAwLW4ubC8xMDAqKG4ucy8xMDApOm4ubC8xMDAqKDErbi5zLzEwMCksYz1uLmwvMTAwKjItaTt2YXIgbCxoLHYscD0oKHU9bi5oLzM2MCkrLjMzMyklMSxmPXUsbT1zLm5lZ01vZCh1LS4zMzMsMSk7cmV0dXJuIGw9NipwPDE/Yys2KihpLWMpKnA6MipwPDE/aTozKnA8Mj9jKzYqKC42NjYtcCkqKGktYyk6YyxoPTYqZjwxP2MrNiooaS1jKSpmOjIqZjwxP2k6MypmPDI/Yys2KiguNjY2LWYpKihpLWMpOmMsdj02Km08MT9jKzYqKGktYykqbToyKm08MT9pOjMqbTwyP2MrNiooLjY2Ni1tKSooaS1jKTpjLGw8MCYmKGw9MCksaDwwJiYoaD0wKSx2PDAmJih2PTApLHtyOjI1NSpsLGc6MjU1KmgsYjoyNTUqdn07Y2FzZVwiY3NzaHNsXCI6cmV0dXJuXCJoc2woXCIrTWF0aC5yb3VuZChuLmgpK1wiLFwiK01hdGgucm91bmQobi5zKStcIiUsXCIrTWF0aC5yb3VuZChuLmwpK1wiJSlcIjtjYXNlXCJoc3ZcIjpuLnM9bi5zLzEwMCxuLmw9bi5sLzEwMDt2YXIgZD1uLnMqKG4ubDwuNT9uLmw6MS1uLmwpO3JldHVybntoOm4uaCxzOjEwMCooMipkLyhuLmwrZCkpLHY6MTAwKihuLmwrZCl9O2RlZmF1bHQ6dmFyIGI9by5jb252ZXJ0KHtjb252ZXJzaW9uczp0LG9wZXJhdGlvbnM6byxoZWxwZXJzOnN9LFwicmdiXCIsbik7cmV0dXJuIG8uY29udmVydCh7Y29udmVyc2lvbnM6dCxvcGVyYXRpb25zOm8saGVscGVyczpzfSxlLGIpfX1mdW5jdGlvbiBmcm9tQ3NzSHNsKHIsZSxuKXt2YXIgdD1yLmNvbnZlcnNpb25zLG89ci5vcGVyYXRpb25zLHM9ci5oZWxwZXJzO249bi5yZXBsYWNlKC8oaHNsXFwofFxcKXwlfFtcXHNdKikvZyxcIlwiKS5zcGxpdChcIixcIik7Zm9yKHZhciBhPTA7YTxuLmxlbmd0aDthKyspblthXT1wYXJzZUludChuW2FdKTtzd2l0Y2goZSl7Y2FzZVwiaHNsXCI6cmV0dXJue2g6blswXSxzOm5bMV0sbDpuWzJdfTtkZWZhdWx0OnJldHVybiBvLmNvbnZlcnQoe2NvbnZlcnNpb25zOnQsb3BlcmF0aW9uczpvLGhlbHBlcnM6c30sZSx7aDpuWzBdLHM6blsxXSxsOm5bMl19KX19ZnVuY3Rpb24gZnJvbUhzdihyLGUsbil7dmFyIHQ9ci5jb252ZXJzaW9ucyxvPXIub3BlcmF0aW9ucyxzPXIuaGVscGVycztzd2l0Y2goZSl7Y2FzZVwicmdiXCI6dmFyIGEsaSxjO24uaD1uLmgvMzYwLG4ucz1uLnMvMTAwLG4udj1uLnYvMTAwO3ZhciB1PTYqbi5oOzY9PXUmJih1PTApO3ZhciBsLGgsdixwPU1hdGgucm91bmQodSksZj1uLnYqKDEtbi5zKSxtPW4udiooMS1uLnMqKHUtcCkpLGQ9bi52KigxLW4ucyooMS0odS1wKSkpO3JldHVybiAwPT1wPyhsPW4udixoPWQsdj1mKToxPT1wPyhsPW0saD1uLnYsdj1mKToyPT1wPyhsPWYsaD1uLnYsdj1kKTozPT1wPyhsPWYsaD1tLHY9bi52KTo0PT1wPyhsPWQsaD1mLHY9bi52KToobD1uLnYsaD1mLHY9bSksYT0yNTUqbCxpPTI1NSpoLGM9MjU1KnYse3I6YSxnOmksYjpjfTtjYXNlXCJoc2xcIjpuLmg9bi5oLzM2MCxuLnM9bi5zLzEwMCxuLnY9bi52LzEwMDtyZXR1cm57aDozNjAqbi5oLHM6MTAwKigoMi1uLnMpKm4udjwxP24ucypuLnYvKCgyLW4ucykqbi52KTpuLnMqbi52LygyLSgyLW4ucykqbi52KSksbDoxMDAqKCgyLW4ucykqbi52LzIpfTtkZWZhdWx0OnZhciBiPW8uY29udmVydCh7Y29udmVyc2lvbnM6dCxvcGVyYXRpb25zOm8saGVscGVyczpzfSxcInJnYlwiLG4pO3JldHVybiBvLmNvbnZlcnQoe2NvbnZlcnNpb25zOnQsb3BlcmF0aW9uczpvLGhlbHBlcnM6c30sZSxiKX19ZnVuY3Rpb24gZnJvbUNteWsocixlLG4pe3ZhciB0PXIuY29udmVyc2lvbnMsbz1yLm9wZXJhdGlvbnMscz1yLmhlbHBlcnM7c3dpdGNoKGUpe2Nhc2VcInJnYlwiOnJldHVybntyOmE9MjU1KigxLW4uYykqKDEtbi5rKSxnOmk9MjU1KigxLW4ubSkqKDEtbi5rKSxiOmM9MjU1KigxLW4ueSkqKDEtbi5rKX07Y2FzZVwiY3NzcmdiXCI6dmFyIGE9MjU1KigxLW4uYykqKDEtbi5rKSxpPTI1NSooMS1uLm0pKigxLW4uayksYz0yNTUqKDEtbi55KSooMS1uLmspO3JldHVyblwicmdiKFwiK01hdGgucm91bmQoYSkrXCIsXCIrTWF0aC5yb3VuZChpKStcIixcIitNYXRoLnJvdW5kKGMpK1wiKVwiO2RlZmF1bHQ6dmFyIHU9by5jb252ZXJ0KHtjb252ZXJzaW9uczp0LG9wZXJhdGlvbnM6byxoZWxwZXJzOnN9LFwicmdiXCIsbik7cmV0dXJuIG8uY29udmVydCh7Y29udmVyc2lvbnM6dCxvcGVyYXRpb25zOm8saGVscGVyczpzfSxlLHUpfX1mdW5jdGlvbiBmcm9tWWlxKHIsZSxuKXt2YXIgdD1yLmNvbnZlcnNpb25zLG89ci5vcGVyYXRpb25zLHM9ci5oZWxwZXJzO3N3aXRjaChuLmk9cy5ib3VuZGVkKG4uaSxbLS41OTU3LC41OTU3XSksbi5xPXMuYm91bmRlZChuLnEsWy0uNTIyNiwuNTIyNl0pLGUpe2Nhc2VcInJnYlwiOnZhciBhPTI1NSoobi55Ky45NTYqbi5pKy42MjEqbi5xKSxpPTI1NSoobi55Ky0uMjcyKm4uaSstLjY0NypuLnEpLGM9MjU1KihuLnkrLTEuMTA2Km4uaSstMS43MDMqbi5xKTtyZXR1cm4gYT1zLmJvdW5kZWQoYSxbMCwyNTVdKSxpPXMuYm91bmRlZChpLFswLDI1NV0pLGM9cy5ib3VuZGVkKGMsWzAsMjU1XSkse3I6YSxnOmksYjpjfTtkZWZhdWx0OnZhciB1PW8uY29udmVydCh7Y29udmVyc2lvbnM6dCxvcGVyYXRpb25zOm8saGVscGVyczpzfSxcInJnYlwiLG4pO3JldHVybiBvLmNvbnZlcnQoe2NvbnZlcnNpb25zOnQsb3BlcmF0aW9uczpvLGhlbHBlcnM6c30sZSx1KX19ZnVuY3Rpb24gZnJvbVhZWihyLGUsbil7dmFyIHQ9ci5jb252ZXJzaW9ucyxvPXIub3BlcmF0aW9ucyxzPXIuaGVscGVycyxhPXMuZ2V0SWxsdW1pbmFudChcIkQ2NVwiKTtzd2l0Y2goZSl7Y2FzZVwicmdiXCI6dmFyIGk9W24uWCxuLlksbi5aXS5tYXAoZnVuY3Rpb24ocil7cmV0dXJuIHIvMTAwfSksYz1zLmdldFRyYW5zZm9ybShcIklOVkVSU0VfU1JHQl9YWVpcIikubWFwKGZ1bmN0aW9uKHIpe3JldHVybiBpLnJlZHVjZShmdW5jdGlvbihlLG4sdCl7cmV0dXJuIHJbdF0qbitlfSwwKX0pLm1hcChmdW5jdGlvbihyKXtyZXR1cm4gcjw9LjAwMzEzMDg/MTIuOTIqcjoxLjA1NSpNYXRoLnBvdyhyLDEvMi40KS0uMDU1fSkubWFwKGZ1bmN0aW9uKHIpe3JldHVybiAyNTUqcn0pLHU9c2xpY2VkVG9BcnJheShjLDMpLGw9dVswXSxoPXVbMV0sdj11WzJdO3JldHVybiBzLmJvdW5kZWRSZ2Ioe3I6bCxnOmgsYjp2fSk7Y2FzZVwibG1zXCI6dmFyIHA9W24uWCxuLlksbi5aXS5tYXAoZnVuY3Rpb24ocil7cmV0dXJuIHIvMTAwfSksZj1zLmdldFRyYW5zZm9ybShcIkJSQURGT1JEXCIpLm1hcChmdW5jdGlvbihyKXtyZXR1cm4gcC5yZWR1Y2UoZnVuY3Rpb24oZSxuLHQpe3JldHVybiByW3RdKm4rZX0sMCl9KTtyZXR1cm57cmhvOmZbMF0sZ2FtbWE6ZlsxXSxiZXRhOmZbMl19O2Nhc2VcImNpZWxhYlwiOnZhciBtPW4uWC9hLlgsZD1uLlkvYS5ZLGI9bi5aL2EuWixnPWZ1bmN0aW9uKHIpe3JldHVybiByPi4wMDg4NTY/cy5jYnJ0KHIpOig5MDMuMypyKzE2KS8xMTZ9LHk9ZyhtKSxfPWcoZCk7cmV0dXJue0w6MTE2Kl8tMTYsYTo1MDAqKHktXyksYjoyMDAqKF8tZyhiKSl9O2Nhc2VcImNpZWx1dlwiOnZhciBNPW4uWS9hLlksWT1NPi4wMDg4NTY/MTE2KnMuY2JydChNKS0xNjo5MDMuMypNLEw9ZnVuY3Rpb24ocil7cmV0dXJuIDQqci5YLyhyLlgrMTUqci5ZKzMqci5aKX0sWD1mdW5jdGlvbihyKXtyZXR1cm4gOSpyLlkvKHIuWCsxNSpyLlkrMypyLlopfTtyZXR1cm57TDpZLHU6MTMqWSooTChuKS1MKGEpKSx2OjEzKlkqKFgobiktWChhKSl9O2Nhc2VcInh5WVwiOnJldHVybnt4Om4uWC8obi5YK24uWStuLlopLHk6bi5ZLyhuLlgrbi5ZK24uWiksWTpuLll9O2RlZmF1bHQ6dmFyIFo9cy5ib3VuZGVkUmdiKG8uY29udmVydCh7Y29udmVyc2lvbnM6dCxvcGVyYXRpb25zOm8saGVscGVyczpzfSxcInJnYlwiLG4pKTtyZXR1cm4gby5jb252ZXJ0KHtjb252ZXJzaW9uczp0LG9wZXJhdGlvbnM6byxoZWxwZXJzOnN9LGUsWil9fWZ1bmN0aW9uIGZyb214eVkocixlLG4pe3ZhciB0PXIuY29udmVyc2lvbnMsbz1yLm9wZXJhdGlvbnMscz1yLmhlbHBlcnM7c3dpdGNoKGUpe2Nhc2VcIlhZWlwiOnZhciBhPW4uWS9uLnkqbi54LGk9bi5ZL24ueSooMS1uLngtbi55KTtyZXR1cm57WDphLFk6bi5ZLFo6aX07ZGVmYXVsdDp2YXIgYz1vLmNvbnZlcnQoe2NvbnZlcnNpb25zOnQsb3BlcmF0aW9uczpvLGhlbHBlcnM6c30sXCJYWVpcIixuKTtyZXR1cm4gby5jb252ZXJ0KHtjb252ZXJzaW9uczp0LG9wZXJhdGlvbnM6byxoZWxwZXJzOnN9LGUsYyl9fWZ1bmN0aW9uIGZyb21MbXMocixlLG4pe3ZhciB0PXIuY29udmVyc2lvbnMsbz1yLm9wZXJhdGlvbnMscz1yLmhlbHBlcnM7c3dpdGNoKGUpe2Nhc2VcIlhZWlwiOnZhciBhPVtuLnJobyxuLmdhbW1hLG4uYmV0YV0saT1zLmdldFRyYW5zZm9ybShcIklOVkVSU0VfQlJBREZPUkRcIikubWFwKGZ1bmN0aW9uKHIpe3JldHVybiBhLnJlZHVjZShmdW5jdGlvbihlLG4sdCl7cmV0dXJuIHJbdF0qbitlfSwwKX0pO3JldHVybntYOjEwMCppWzBdLFk6MTAwKmlbMV0sWjoxMDAqaVsyXX07ZGVmYXVsdDp2YXIgYz1vLmNvbnZlcnQoe2NvbnZlcnNpb25zOnQsb3BlcmF0aW9uczpvLGhlbHBlcnM6c30sXCJYWVpcIixuKTtyZXR1cm4gby5jb252ZXJ0KHtjb252ZXJzaW9uczp0LG9wZXJhdGlvbnM6byxoZWxwZXJzOnN9LGUsYyl9fWZ1bmN0aW9uIGZyb21DaWVMYWIocixlLG4pe3ZhciB0PXIuY29udmVyc2lvbnMsbz1yLm9wZXJhdGlvbnMscz1yLmhlbHBlcnM7c3dpdGNoKGUpe2Nhc2VcIlhZWlwiOnZhciBhPXMuZ2V0SWxsdW1pbmFudChcIkQ2NVwiKSxpPShuLkwrMTYpLzExNixjPW4uYS81MDAraSx1PWktbi5iLzIwMCxsPWZ1bmN0aW9uKHIpe3JldHVybiBNYXRoLnBvdyhyLDMpPi4wMDg4NTY/TWF0aC5wb3cociwzKTooMTE2KnItMTYpLzkwMy4zfSxoPWwoYyksdj1sKHUpLHA9bi5MPjkwMy4zKi4wMDg4NTY/TWF0aC5wb3coaSwzKTpuLkwvOTAzLjM7cmV0dXJue1g6aCphLlgsWTpwKmEuWSxaOnYqYS5afTtkZWZhdWx0OnZhciBmPW8uY29udmVydCh7Y29udmVyc2lvbnM6dCxvcGVyYXRpb25zOm8saGVscGVyczpzfSxcIlhZWlwiLG4pO3JldHVybiBvLmNvbnZlcnQoe2NvbnZlcnNpb25zOnQsb3BlcmF0aW9uczpvLGhlbHBlcnM6c30sZSxmKX19ZnVuY3Rpb24gZnJvbUNpZUx1dihyLGUsbil7dmFyIHQ9ci5jb252ZXJzaW9ucyxvPXIub3BlcmF0aW9ucyxzPXIuaGVscGVycztzd2l0Y2goZSl7Y2FzZVwiWFlaXCI6dmFyIGE9cy5nZXRJbGx1bWluYW50KFwiRDY1XCIpLGk9ZnVuY3Rpb24ocil7cmV0dXJuIDQqci5YLyhyLlgrMTUqci5ZKzMqci5aKX0oYSksYz1mdW5jdGlvbihyKXtyZXR1cm4gOSpyLlkvKHIuWCsxNSpyLlkrMypyLlopfShhKSx1PTEvMyooNTIqbi5MLyhuLnUrMTMqbi5MKmkpLTEpLGw9bi5MPjkwMy4zKi4wMDg4NTY/TWF0aC5wb3coKG4uTCsxNikvMTE2LDMpOm4uTC85MDMuMyxoPS01Kmwsdj0obCooMzkqbi5MLyhuLnYrMTMqbi5MKmMpLTUpLWgpLyh1LSAtMS8zKTtyZXR1cm57WDoxMDAqdixZOjEwMCpsLFo6MTAwKih2KnUraCl9O2Nhc2VcImNpZWxjaFwiOnZhciBwPU1hdGguc3FydChNYXRoLnBvdyhuLnUsMikrTWF0aC5wb3cobi52LDIpKSxmPU1hdGguYXRhbjIobi52LG4udSk7cmV0dXJuIGY8MCYmKGYrPTIqTWF0aC5QSSksZj1zLnRvRGVnKGYpLHtMOm4uTCxDOnAsaDpmfTtkZWZhdWx0OnZhciBtPW8uY29udmVydCh7Y29udmVyc2lvbnM6dCxvcGVyYXRpb25zOm8saGVscGVyczpzfSxcIlhZWlwiLG4pO3JldHVybiBvLmNvbnZlcnQoe2NvbnZlcnNpb25zOnQsb3BlcmF0aW9uczpvLGhlbHBlcnM6c30sZSxtKX19ZnVuY3Rpb24gZnJvbUNpZUxjaChyLGUsbil7dmFyIHQ9ci5jb252ZXJzaW9ucyxvPXIub3BlcmF0aW9ucyxzPXIuaGVscGVycztzd2l0Y2goZSl7Y2FzZVwiY2llbHV2XCI6dmFyIGE9cy50b1JhZChuLmgpLGk9bi5DKk1hdGguY29zKGEpLGM9bi5DKk1hdGguc2luKGEpO3JldHVybntMOm4uTCx1OmksdjpjfTtjYXNlXCJoc2x1dlwiOmlmKG4uTD45OS45OTk5OTk5KXJldHVybntodTpuLmgsczowLGw6MTAwfTtpZihuLkw8MWUtOClyZXR1cm57aHU6bi5oLHM6MCxsOjB9O2Zvcih2YXIgdT0obi5MKzE2KS8xNTYwODk2LGw9dT4uMDA4ODU2P3U6bi5MLzkwMy4zLGg9cy5nZXRUcmFuc2Zvcm0oXCJJTlZFUlNFX1NSR0JfWFlaXCIpLHY9W10scD0wO3A8MztwKyspZm9yKHZhciBmPWhbcF1bMF0sbT1oW3BdWzFdLGQ9aFtwXVsyXSxiPTA7YjwyO2IrKyl7dmFyIGc9KDI4NDUxNypmLTk0ODM5KmQpKmwseT0oODM4NDIyKmQrNzY5ODYwKm0rNzMxNzE4KmYpKm4uTCpsLTc2OTg2MCpiKm4uTCxfPSg2MzIyNjAqZC0xMjY0NTIqbSkqbCsxMjY0NTIqYjt2LnB1c2goe206Zy9fLGI6eS9ffSl9dmFyIE09TnVtYmVyLk1BWF9WQUxVRSxZPXMudG9SYWQobi5oKTt2LmZvckVhY2goZnVuY3Rpb24ocil7dmFyIGU9ci5iLyhNYXRoLnNpbihZKS1yLm0qTWF0aC5jb3MoWSkpO2U+PTAmJihNPU1hdGgubWluKE0sZSkpfSk7dmFyIEw9TTtyZXR1cm57aHU6bi5oLHM6bi5DL0wqMTAwLGw6bi5MfTtkZWZhdWx0OnZhciBYPW8uY29udmVydCh7Y29udmVyc2lvbnM6dCxvcGVyYXRpb25zOm8saGVscGVyczpzfSxcImNpZWx1dlwiLG4pO3JldHVybiBvLmNvbnZlcnQoe2NvbnZlcnNpb25zOnQsb3BlcmF0aW9uczpvLGhlbHBlcnM6c30sZSxYKX19ZnVuY3Rpb24gZnJvbUNpZUxjaCQxKHIsZSxuKXt2YXIgdD1yLmNvbnZlcnNpb25zLG89ci5vcGVyYXRpb25zLHM9ci5oZWxwZXJzO3N3aXRjaChlKXtjYXNlXCJjaWVsY2hcIjppZihuLkw+OTkuOTk5OTk5OSlyZXR1cm57TDoxMDAsQzowLGg6bi5odX07aWYobi5MPDFlLTgpcmV0dXJue0w6MCxDOjAsaDpuLmh1fTtmb3IodmFyIGE9KG4ubCsxNikvMTU2MDg5NixpPWE+LjAwODg1Nj9hOm4ubC85MDMuMyxjPXMuZ2V0VHJhbnNmb3JtKFwiSU5WRVJTRV9TUkdCX1hZWlwiKSx1PVtdLGw9MDtsPDM7bCsrKWZvcih2YXIgaD1jW2xdWzBdLHY9Y1tsXVsxXSxwPWNbbF1bMl0sZj0wO2Y8MjtmKyspe3ZhciBtPSgyODQ1MTcqaC05NDgzOSpwKSppLGQ9KDgzODQyMipwKzc2OTg2MCp2KzczMTcxOCpoKSpuLmwqaS03Njk4NjAqZipuLmwsYj0oNjMyMjYwKnAtMTI2NDUyKnYpKmkrMTI2NDUyKmY7dS5wdXNoKHttOm0vYixiOmQvYn0pfXZhciBnPU51bWJlci5NQVhfVkFMVUUseT1zLnRvUmFkKG4uaHUpO3UuZm9yRWFjaChmdW5jdGlvbihyKXt2YXIgZT1yLmIvKE1hdGguc2luKHkpLXIubSpNYXRoLmNvcyh5KSk7ZT49MCYmKGc9TWF0aC5taW4oZyxlKSl9KTt2YXIgXz1nO3JldHVybntMOm4ubCxDOl8vMTAwKm4ucyxoOm4uaHV9O2RlZmF1bHQ6dmFyIE09by5jb252ZXJ0KHtjb252ZXJzaW9uczp0LG9wZXJhdGlvbnM6byxoZWxwZXJzOnN9LFwiY2llbGNoXCIsbik7cmV0dXJuIG8uY29udmVydCh7Y29udmVyc2lvbnM6dCxvcGVyYXRpb25zOm8saGVscGVyczpzfSxlLE0pfX1mdW5jdGlvbiBjb250YWlucyhyLGUpe3JldHVybiBPYmplY3Qua2V5cyhyKS5ldmVyeShmdW5jdGlvbihyKXtyZXR1cm4tMSE9PWUuaW5kZXhPZihyKX0pfWZ1bmN0aW9uIGFkYXB0KHIsZSxuLHQpe3ZhciBvPXIub3BlcmF0aW9ucy5jb252ZXJ0KHIsXCJYWVpcIixlKSxzPXIub3BlcmF0aW9ucy5jb252ZXJ0KHIsXCJsbXNcIixuKTtpZih0KWE9ci5vcGVyYXRpb25zLmNvbnZlcnQocixcImxtc1wiLHQpO2Vsc2UgdmFyIGE9ci5vcGVyYXRpb25zLmNvbnZlcnQocixcImxtc1wiLHIuaGVscGVycy5nZXRJbGx1bWluYW50KFwiRDY1XCIpKTt2YXIgaT1yLmhlbHBlcnMuZ2V0VHJhbnNmb3JtKFwiQlJBREZPUkRcIiksYz1yLmhlbHBlcnMuZ2V0VHJhbnNmb3JtKFwiSU5WRVJTRV9CUkFERk9SRFwiKSx1PVtbcy5yaG8vYS5yaG8sMCwwXSxbMCxzLmdhbW1hL2EuZ2FtbWEsMF0sWzAsMCxzLmJldGEvYS5iZXRhXV0sbD1yLmhlbHBlcnMubWF0cml4TXVsdGlwbHkoYyx1KSxoPXIuaGVscGVycy5tYXRyaXhNdWx0aXBseShsLGkpLHY9W1tvLlhdLFtvLlldLFtvLlpdXSxwPXIuaGVscGVycy5tYXRyaXhNdWx0aXBseShoLHYpLGY9e1g6cFswXVswXSxZOnBbMV1bMF0sWjpwWzJdWzBdfTtyZXR1cm4gci5oZWxwZXJzLnJlYWR5KHIsZil9ZnVuY3Rpb24gYWRqYWNlbnQocixlLG4sdCl7Zm9yKHZhciBvPXIub3BlcmF0aW9ucy5jb252ZXJ0KHIsXCJoc2xcIix0KSxzPVt7aDpvLmgsczpvLnMsbDpvLmx9XSxhPTA7YTxuLTE7YSsrKW8uaD1yLmhlbHBlcnMubmVnTW9kKG8uaCtlLDM2MCkscy5wdXNoKHtoOm8uaCxzOm8ucyxsOm8ubH0pO3JldHVybiByLmhlbHBlcnMucmVhZHkocixzKX1mdW5jdGlvbiBicmlnaHRuZXNzKHIsZSxuKXt2YXIgdD1yLm9wZXJhdGlvbnMuY29udmVydChyLFwiaHNsXCIsbik7cmV0dXJuIHQubCs9ZSx0Lmw8MD90Lmw9MDp0Lmw+MTAwJiYodC5sPTEwMCksci5oZWxwZXJzLnJlYWR5KHIsdCl9ZnVuY3Rpb24gY29tcGxlbWVudGFyeShyLGUpe3ZhciBuPXIub3BlcmF0aW9ucy5jb252ZXJ0KHIsXCJoc2xcIixlKTtyZXR1cm4gbi5oPShuLmgrMTgwKSUzNjAsci5oZWxwZXJzLnJlYWR5KHIsbil9ZnVuY3Rpb24gY29udHJhc3QocixlLG4pe3ZhciB0PXIub3BlcmF0aW9ucy5jb252ZXJ0KHIsXCJyZ2JcIixuKTtyZXR1cm4gdC5yPTI1NSooKHQuci8yNTUtLjUpKmUrLjUpLHQucjwwP3Qucj0wOnQucj4yNTUmJih0LnI9MjU1KSx0Lmc9MjU1KigodC5nLzI1NS0uNSkqZSsuNSksdC5nPDA/dC5nPTA6dC5nPjI1NSYmKHQuZz0yNTUpLHQuYj0yNTUqKCh0LmIvMjU1LS41KSplKy41KSx0LmI8MD90LmI9MDp0LmI+MjU1JiYodC5iPTI1NSksci5oZWxwZXJzLnJlYWR5KHIsdCl9ZnVuY3Rpb24gY29udHJhc3RSYXRpbyhyLGUpe3ZhciBuPXIub3BlcmF0aW9ucy5jb252ZXJ0KHIsXCJyZ2JcIixlKTtyZXR1cm4gbj0oMjk5Km4ucis1ODcqbi5nKzExNCpuLmIpLzFlMz49MTI4P3tyOjAsZzowLGI6MH06e3I6MjU1LGc6MjU1LGI6MjU1fSxyLmhlbHBlcnMucmVhZHkocixuKX1mdW5jdGlvbiBjb252ZXJ0KHIsZSxuKXtpZihPYmplY3Qua2V5cyhyLmNvbnZlcnNpb25zKS5pbmRleE9mKGUpPi0xKXtuLmNvbG91cj9uPW4uY29sb3VyOm4uY29sb3VycyYmKG49bi5jb2xvdXJzKTt2YXIgdD1yLmhlbHBlcnMuZGV0ZXJtaW5lTW9kZShuKTtyZXR1cm4gdCE9ZT9yLmNvbnZlcnNpb25zW3RdLmNvbnZlcnQocixlLG4pOm59cmV0dXJuIHIuaGVscGVycy5yZWFkeShyLGUpfWZ1bmN0aW9uIGRpZmZlcmVuY2UocixlLG4sdCxvKXt0PXR8fDEsbz1vfHwxO3ZhciBzPXIub3BlcmF0aW9ucy5jb252ZXJ0KHIsXCJjaWVsYWJcIixlKSxhPXIub3BlcmF0aW9ucy5jb252ZXJ0KHIsXCJjaWVsYWJcIixuKSxpPU1hdGguc3FydChNYXRoLnBvdyhzLmEsMikrTWF0aC5wb3cocy5iLDIpKSxjPWktTWF0aC5zcXJ0KE1hdGgucG93KGEuYSwyKStNYXRoLnBvdyhhLmIsMikpLHU9cy5MLWEuTCxsPXMuYS1hLmEsaD1zLmItYS5iLHY9TWF0aC5zcXJ0KE1hdGgucG93KGwsMikrTWF0aC5wb3coaCwyKS1NYXRoLnBvdyhjLDIpKSxwPXMuTDwxNj8uNTExOi4wNDA5NzUqcy5MLygxLjAxNzY1KnMuTCksZj0uMDYzOCppLygxLjAxMzEqaSksbT1NYXRoLmF0YW4yKHMuYixzLmEpLGQ9bT49MD9tOm0rMzYwLGI9MTY0PD1kJiZkPD0zNDU/LjU2K01hdGguYWJzKC4yKk1hdGguY29zKHIuaGVscGVycy50b1JhZChkKzE2OCkpKTouMzYrTWF0aC5hYnMoLjQqTWF0aC5jb3Moci5oZWxwZXJzLnRvUmFkKGQrMzUpKSksZz1NYXRoLnBvdyhpLDQpLyhNYXRoLnBvdyhpLDQpKzE5MDApLHk9ZiooZypiKzEtZyksXz1NYXRoLnBvdyh1Lyh0KnApLDIpO01hdGgucG93KGMvKG8qZiksMiksTWF0aC5wb3codi95LDIpO3JldHVybiBNYXRoLnNxcnQoXytfK18pfWZ1bmN0aW9uIGZhZGUocixlLG4sdCl7dmFyIG89ci5vcGVyYXRpb25zLmNvbnZlcnQocixcInJnYlwiLG4pLHM9ci5vcGVyYXRpb25zLmNvbnZlcnQocixcInJnYlwiLHQpLGE9W29dO2UtPTE7Zm9yKHZhciBpPShzLnItby5yKS9lLGM9KHMuZy1vLmcpL2UsdT0ocy5iLW8uYikvZSxsPXtyOm8ucixnOm8uZyxiOm8uYn0saD0wO2g8ZS0xO2grKylsLnI9ci5oZWxwZXJzLnNsb3BlTW9kKGwucitpLDI1NSksbC5nPXIuaGVscGVycy5zbG9wZU1vZChsLmcrYywyNTUpLGwuYj1yLmhlbHBlcnMuc2xvcGVNb2QobC5iK3UsMjU1KSxhLnB1c2goe3I6bC5yLGc6bC5nLGI6bC5ifSk7cmV0dXJuIGEucHVzaChzKSxyLmhlbHBlcnMucmVhZHkocixhKX1mdW5jdGlvbiBncmV5c2NhbGUocixlKXt2YXIgbj1yLm9wZXJhdGlvbnMuY29udmVydChyLFwicmdiXCIsZSksdD0obi5yK24uZytuLmIpLzM7cmV0dXJuIG49e3I6dCxnOnQsYjp0fSxyLmhlbHBlcnMucmVhZHkocixuKX1mdW5jdGlvbiBodWUocixlLG4pe3ZhciB0PXIub3BlcmF0aW9ucy5jb252ZXJ0KHIsXCJoc2xcIixuKTtyZXR1cm4gdC5oPXIuaGVscGVycy5uZWdNb2QodC5oK2UsMzYwKSxyLmhlbHBlcnMucmVhZHkocix0KX1mdW5jdGlvbiBpbnZlcnQocixlKXt2YXIgbj1yLm9wZXJhdGlvbnMuY29udmVydChyLFwicmdiXCIsZSk7cmV0dXJuIG4ucj1yLmhlbHBlcnMubmVnTW9kKDI1NS1uLnIsMjU1KSxuLmc9ci5oZWxwZXJzLm5lZ01vZCgyNTUtbi5nLDI1NSksbi5iPXIuaGVscGVycy5uZWdNb2QoMjU1LW4uYiwyNTUpLHIuaGVscGVycy5yZWFkeShyLG4pfWZ1bmN0aW9uIGludmVydExpZ2h0bmVzcyhyLGUpe3ZhciBuPXIub3BlcmF0aW9ucy5jb252ZXJ0KHIsXCJoc2xcIixlKTtyZXR1cm4gbi5sPTEwMC1uLmwsci5oZWxwZXJzLnJlYWR5KHIsbil9ZnVuY3Rpb24gbWlkKHIsZSxuKXt2YXIgdD1yLm9wZXJhdGlvbnMuY29udmVydChyLFwiaHNsXCIsZSksbz1yLm9wZXJhdGlvbnMuY29udmVydChyLFwiaHNsXCIsbikscz17aDoodC5oK28uaCkvMixzOih0LnMrby5zKS8yLGw6KHQubCtvLmwpLzJ9O3JldHVybiByLmhlbHBlcnMucmVhZHkocixzKX1mdW5jdGlvbiBtdWx0aXBseShyLGUsbil7dmFyIHQ9ci5vcGVyYXRpb25zLmNvbnZlcnQocixcImhzbFwiLGUpLG89ci5vcGVyYXRpb25zLmNvbnZlcnQocixcImhzbFwiLG4pLHM9e2g6dC5oLHM6dC5zLGw6dC5sLzEwMCooby5sLzEwMCkqMTAwfTtyZXR1cm4gcy5sPXMubD4xMDA/MTAwOnMubCxzLmw9cy5sPDA/MDpzLmwsci5oZWxwZXJzLnJlYWR5KHIscyl9ZnVuY3Rpb24gc2F0dXJhdGlvbihyLGUsbil7dmFyIHQ9ci5vcGVyYXRpb25zLmNvbnZlcnQocixcImhzbFwiLG4pO3JldHVybiB0LnMrPWUsdC5zPDA/dC5zPTA6dC5zPjEwMCYmKHQucz0xMDApLHIuaGVscGVycy5yZWFkeShyLHQpfWZ1bmN0aW9uIHNlcGlhKHIsZSl7dmFyIG49ci5vcGVyYXRpb25zLmNvbnZlcnQocixcInJnYlwiLGUpLHQ9e307cmV0dXJuIHQucj0uMzkzKm4ucisuNzY5Km4uZysuMTg5Km4uYix0Lmc9LjM0OSpuLnIrLjY4NipuLmcrLjE2OCpuLmIsdC5iPS4yNzIqbi5yKy41MzQqbi5nKy4xMzEqbi5iLHIuaGVscGVycy5yZWFkeShyLHQpfWZ1bmN0aW9uIHNoYWRlKHIsZSxuKXt2YXIgdD1yLm9wZXJhdGlvbnMuY29udmVydChyLFwiaHN2XCIsbik7cmV0dXJuIHQudis9ZSx0LnY8MD90LnY9MDp0LnY+MTAwJiYodC52PTEwMCksci5oZWxwZXJzLnJlYWR5KHIsdCl9ZnVuY3Rpb24gdGVtcGVyYXR1cmUocixlKXt2YXIgbj1yLm9wZXJhdGlvbnMuY29udmVydChyLFwieHlZXCIsZSksdD0obi54LS4zMzIpLyhuLnktLjE4NTgpO3JldHVybi00NDkqTWF0aC5wb3codCwzKSszNTI1Kk1hdGgucG93KHQsMiktNjgyMy4zKnQrNTUyMC4zM31mdW5jdGlvbiB0ZXRyYWQocixlKXtmb3IodmFyIG49ci5vcGVyYXRpb25zLmNvbnZlcnQocixcImhzbFwiLGUpLHQ9W3toOm4uaCxzOm4ucyxsOm4ubH1dLG89MDtvPDM7bysrKW4uaD0obi5oKzkwKSUzNjAsdC5wdXNoKHtoOm4uaCxzOm4ucyxsOm4ubH0pO3JldHVybiByLmhlbHBlcnMucmVhZHkocix0KX1mdW5jdGlvbiB0cmlhZChyLGUpe2Zvcih2YXIgbj1yLm9wZXJhdGlvbnMuY29udmVydChyLFwiaHNsXCIsZSksdD1be2g6bi5oLHM6bi5zLGw6bi5sfV0sbz0wO288MjtvKyspbi5oPShuLmgrMTIwKSUzNjAsdC5wdXNoKHtoOm4uaCxzOm4ucyxsOm4ubH0pO3JldHVybiByLmhlbHBlcnMucmVhZHkocix0KX12YXIgZnJvbUhleF8xPWZyb21IZXgsX3R5cGVvZj1cImZ1bmN0aW9uXCI9PXR5cGVvZiBTeW1ib2wmJlwic3ltYm9sXCI9PXR5cGVvZiBTeW1ib2wuaXRlcmF0b3I/ZnVuY3Rpb24ocil7cmV0dXJuIHR5cGVvZiByfTpmdW5jdGlvbihyKXtyZXR1cm4gciYmXCJmdW5jdGlvblwiPT10eXBlb2YgU3ltYm9sJiZyLmNvbnN0cnVjdG9yPT09U3ltYm9sJiZyIT09U3ltYm9sLnByb3RvdHlwZT9cInN5bWJvbFwiOnR5cGVvZiByfSxzbGljZWRUb0FycmF5PWZ1bmN0aW9uKCl7ZnVuY3Rpb24gcihyLGUpe3ZhciBuPVtdLHQ9ITAsbz0hMSxzPXZvaWQgMDt0cnl7Zm9yKHZhciBhLGk9cltTeW1ib2wuaXRlcmF0b3JdKCk7ISh0PShhPWkubmV4dCgpKS5kb25lKSYmKG4ucHVzaChhLnZhbHVlKSwhZXx8bi5sZW5ndGghPT1lKTt0PSEwKTt9Y2F0Y2gocil7bz0hMCxzPXJ9ZmluYWxseXt0cnl7IXQmJmkucmV0dXJuJiZpLnJldHVybigpfWZpbmFsbHl7aWYobyl0aHJvdyBzfX1yZXR1cm4gbn1yZXR1cm4gZnVuY3Rpb24oZSxuKXtpZihBcnJheS5pc0FycmF5KGUpKXJldHVybiBlO2lmKFN5bWJvbC5pdGVyYXRvciBpbiBPYmplY3QoZSkpcmV0dXJuIHIoZSxuKTt0aHJvdyBuZXcgVHlwZUVycm9yKFwiSW52YWxpZCBhdHRlbXB0IHRvIGRlc3RydWN0dXJlIG5vbi1pdGVyYWJsZSBpbnN0YW5jZVwiKX19KCksdG9Db25zdW1hYmxlQXJyYXk9ZnVuY3Rpb24ocil7aWYoQXJyYXkuaXNBcnJheShyKSl7Zm9yKHZhciBlPTAsbj1BcnJheShyLmxlbmd0aCk7ZTxyLmxlbmd0aDtlKyspbltlXT1yW2VdO3JldHVybiBufXJldHVybiBBcnJheS5mcm9tKHIpfSxmcm9tUmdiXzE9ZnJvbVJnYixmcm9tQ3NzUmdiXzE9ZnJvbUNzc1JnYixmcm9tSHNsXzE9ZnJvbUhzbCxmcm9tQ3NzSHNsXzE9ZnJvbUNzc0hzbCxmcm9tSHN2XzE9ZnJvbUhzdixmcm9tQ215a18xPWZyb21DbXlrLGZyb21ZaXFfMT1mcm9tWWlxLGZyb21YWVpfMT1mcm9tWFlaLGZyb214eVlfMT1mcm9teHlZLGZyb21MbXNfMT1mcm9tTG1zLGZyb21DaWVMYWJfMT1mcm9tQ2llTGFiLGZyb21DaWVMdXZfMT1mcm9tQ2llTHV2LGZyb21DaWVMY2hfMT1mcm9tQ2llTGNoLGZyb21Ic2x1dj1mcm9tQ2llTGNoJDEsaW5kZXg9e2hleDp7dGVzdDpmdW5jdGlvbihyKXtyZXR1cm5cInN0cmluZ1wiPT10eXBlb2YgciYmXCIjXCI9PT1yLnNsaWNlKDAsMSl9LGNvbnZlcnQ6ZnJvbUhleF8xfSxyZ2I6e3Rlc3Q6ZnVuY3Rpb24ocil7cmV0dXJuIGNvbnRhaW5zKHIsW1wiclwiLFwiZ1wiLFwiYlwiXSl9LGNvbnZlcnQ6ZnJvbVJnYl8xfSxjc3NyZ2I6e3Rlc3Q6ZnVuY3Rpb24ocil7cmV0dXJuXCJzdHJpbmdcIj09dHlwZW9mIHImJlwicmdiKFwiPT09ci5zbGljZSgwLDQpfSxjb252ZXJ0OmZyb21Dc3NSZ2JfMX0saHNsOnt0ZXN0OmZ1bmN0aW9uKHIpe3JldHVybiBjb250YWlucyhyLFtcImhcIixcInNcIixcImxcIl0pfSxjb252ZXJ0OmZyb21Ic2xfMX0sY3NzaHNsOnt0ZXN0OmZ1bmN0aW9uKHIpe3JldHVyblwic3RyaW5nXCI9PXR5cGVvZiByJiZcImhzbChcIj09PXIuc2xpY2UoMCw0KX0sY29udmVydDpmcm9tQ3NzSHNsXzF9LGhzdjp7dGVzdDpmdW5jdGlvbihyKXtyZXR1cm4gY29udGFpbnMocixbXCJoXCIsXCJzXCIsXCJ2XCJdKX0sY29udmVydDpmcm9tSHN2XzF9LGNteWs6e3Rlc3Q6ZnVuY3Rpb24ocil7cmV0dXJuIGNvbnRhaW5zKHIsW1wiY1wiLFwibVwiLFwieVwiLFwia1wiXSl9LGNvbnZlcnQ6ZnJvbUNteWtfMX0seWlxOnt0ZXN0OmZ1bmN0aW9uKHIpe3JldHVybiBjb250YWlucyhyLFtcInlcIixcImlcIixcInFcIl0pfSxjb252ZXJ0OmZyb21ZaXFfMX0sWFlaOnt0ZXN0OmZ1bmN0aW9uKHIpe3JldHVybiBjb250YWlucyhyLFtcIlhcIixcIllcIixcIlpcIl0pfSxjb252ZXJ0OmZyb21YWVpfMX0seHlZOnt0ZXN0OmZ1bmN0aW9uKHIpe3JldHVybiBjb250YWlucyhyLFtcInhcIixcInlcIixcIllcIl0pfSxjb252ZXJ0OmZyb214eVlfMX0sbG1zOnt0ZXN0OmZ1bmN0aW9uKHIpe3JldHVybiBjb250YWlucyhyLFtcInJob1wiLFwiZ2FtbWFcIixcImJldGFcIl0pfSxjb252ZXJ0OmZyb21MbXNfMX0sY2llbGFiOnt0ZXN0OmZ1bmN0aW9uKHIpe3JldHVybiBjb250YWlucyhyLFtcIkxcIixcImFcIixcImJcIl0pfSxjb252ZXJ0OmZyb21DaWVMYWJfMX0sY2llbHV2Ont0ZXN0OmZ1bmN0aW9uKHIpe3JldHVybiBjb250YWlucyhyLFtcIkxcIixcInVcIixcInZcIl0pfSxjb252ZXJ0OmZyb21DaWVMdXZfMX0sY2llbGNoOnt0ZXN0OmZ1bmN0aW9uKHIpe3JldHVybiBjb250YWlucyhyLFtcIkxcIixcIkNcIixcImhcIl0pfSxjb252ZXJ0OmZyb21DaWVMY2hfMX0saHNsdXY6e3Rlc3Q6ZnVuY3Rpb24ocil7cmV0dXJuIGNvbnRhaW5zKHIsW1wiaHVcIixcInNcIixcImxcIl0pfSxjb252ZXJ0OmZyb21Ic2x1dn19LGFkYXB0XzE9YWRhcHQsYWRqYWNlbnRfMT1hZGphY2VudCxicmlnaHRuZXNzXzE9YnJpZ2h0bmVzcyxjb21wbGVtZW50YXJ5XzE9Y29tcGxlbWVudGFyeSxjb250cmFzdF8xPWNvbnRyYXN0LGNvbnRyYXN0UmF0aW9fMT1jb250cmFzdFJhdGlvLGNvbnZlcnRfMT1jb252ZXJ0LGRpZmZlcmVuY2VfMT1kaWZmZXJlbmNlLGZhZGVfMT1mYWRlLGdyZXlzY2FsZV8xPWdyZXlzY2FsZSxodWVfMT1odWUsaW52ZXJ0XzE9aW52ZXJ0LGludmVydExpZ2h0bmVzc18xPWludmVydExpZ2h0bmVzcyxtaWRfMT1taWQsbXVsdGlwbHlfMT1tdWx0aXBseSxzYXR1cmF0aW9uXzE9c2F0dXJhdGlvbixzZXBpYV8xPXNlcGlhLHNoYWRlXzE9c2hhZGUsdGVtcGVyYXR1cmVfMT10ZW1wZXJhdHVyZSx0ZXRyYWRfMT10ZXRyYWQsdHJpYWRfMT10cmlhZCxpbmRleCQyPXthZGFwdDphZGFwdF8xLGFkamFjZW50OmFkamFjZW50XzEsYnJpZ2h0bmVzczpicmlnaHRuZXNzXzEsY29tcGxlbWVudGFyeTpjb21wbGVtZW50YXJ5XzEsY29udHJhc3Q6Y29udHJhc3RfMSxjb250cmFzdFJhdGlvOmNvbnRyYXN0UmF0aW9fMSxjb252ZXJ0OmNvbnZlcnRfMSxkaWZmZXJlbmNlOmRpZmZlcmVuY2VfMSxmYWRlOmZhZGVfMSxncmV5c2NhbGU6Z3JleXNjYWxlXzEsaHVlOmh1ZV8xLGludmVydDppbnZlcnRfMSxpbnZlcnRMaWdodG5lc3M6aW52ZXJ0TGlnaHRuZXNzXzEsbWlkOm1pZF8xLG11bHRpcGx5Om11bHRpcGx5XzEsc2F0dXJhdGlvbjpzYXR1cmF0aW9uXzEsc2VwaWE6c2VwaWFfMSxzaGFkZTpzaGFkZV8xLHRlbXBlcmF0dXJlOnRlbXBlcmF0dXJlXzEsdGV0cmFkOnRldHJhZF8xLHRyaWFkOnRyaWFkXzF9LGNvbnN0YW50cz17SUxMVU1JTkFOVFM6e0E6e1g6MS4wOTg1KjEwMCxZOjEwMCxaOjM1LjU4NX0sQjp7WDo5OS4wNzIsWToxMDAsWjo4NS4yMjN9LEM6e1g6OTguMDc0LFk6MTAwLFo6MTE4LjIzMn0sRDUwOntYOjk2LjQyMixZOjEwMCxaOjgyLjUyMX0sRDU1OntYOjk1LjY4MixZOjEwMCxaOjkyLjE0OX0sRDY1OntYOjk1LjA0NyxZOjEwMCxaOjEwOC44ODN9LEQ3NTp7WDo5NC45NzIsWToxMDAsWjoxMjIuNjM4fSxFOntYOjEwMCxZOjEwMCxaOjEwMH0sRjI6e1g6Ljk5MTg2KjEwMCxZOjEwMCxaOjY3LjM5M30sRjc6e1g6OTUuMDQxLFk6MTAwLFo6MTA4Ljc0N30sRjExOntYOjEuMDA5NjIqMTAwLFk6MTAwLFo6NjQuMzV9fSxUUkFOU0ZPUk1TOntCUkFERk9SRDpbWy44OTUxLC4yNjY0LC0uMTYxNF0sWy0uNzUwMiwxLjcxMzUsLjAzNjddLFsuMDM4OSwtLjA2ODUsMS4wMjk2XV0sSU5WRVJTRV9CUkFERk9SRDpbWy45ODY5OTI5LC0uMTQ3MDU0MywuMTU5OTYyN10sWy40MzIzMDUzLC41MTgzNjAzLC4wNDkyOTEyXSxbLS4wMDg1Mjg3LC4wNDAwNDI4LC45Njg0ODY3XV0sU1JHQl9YWVo6W1suNDEyNCwuMzU3NiwuMTgwNV0sWy4yMTI2LC43MTUyLC4wNzIyXSxbLjAxOTMsLjExOTIsLjk1MDVdXSxJTlZFUlNFX1NSR0JfWFlaOltbMy4yNDA2LC0xLjUzNzIsLS40OTg2XSxbLS45Njg5LDEuODc1OCwuMDQxNV0sWy4wNTU3LC0uMjA0LDEuMDU3XV19fSxhcGk9ZnVuY3Rpb24ocixlLG4pe3ZhciB0PU9iamVjdC5rZXlzKHIub3BlcmF0aW9ucykucmVkdWNlKGZ1bmN0aW9uKGUsdCl7dmFyIG89ci5vcGVyYXRpb25zW3RdO3JldHVybiBlW3RdPWZ1bmN0aW9uKCl7Zm9yKHZhciBlPWFyZ3VtZW50cy5sZW5ndGgsdD1BcnJheShlKSxzPTA7czxlO3MrKyl0W3NdPWFyZ3VtZW50c1tzXTt2YXIgYT10LnNsaWNlKDApLm1hcChmdW5jdGlvbihyKXtyZXR1cm5cIm9iamVjdFwiPT09KHZvaWQgMD09PXI/XCJ1bmRlZmluZWRcIjpfdHlwZW9mKHIpKT9PYmplY3QuYXNzaWduKHt9LHIpOnJ9KTtpZihuJiZuLmNvbG91cnMpe3JldHVybiBmdW5jdGlvbiBlKG4pe3ZhciB0PW4ubWFwKGZ1bmN0aW9uKG4pe2lmKEFycmF5LmlzQXJyYXkobikpe3ZhciB0PWUobik7cmV0dXJuIHQuY29sb3Vyc3x8dC5jb2xvdXJ9dmFyIHM9by5hcHBseSh2b2lkIDAsW3JdLmNvbmNhdCh0b0NvbnN1bWFibGVBcnJheShhKSxbbl0pKTtyZXR1cm5cIm9iamVjdFwiPT09KHZvaWQgMD09PXM/XCJ1bmRlZmluZWRcIjpfdHlwZW9mKHMpKT9zLmNvbG91cnN8fHMuY29sb3VyOnN9KTtyZXR1cm5cIm51bWJlclwiIT10eXBlb2YgdFswXT9yLmhlbHBlcnMucmVhZHkocix0KTp0fShuLmNvbG91cnMpfXJldHVybiBvLmFwcGx5KHZvaWQgMCxbcl0uY29uY2F0KHRvQ29uc3VtYWJsZUFycmF5KGEpLFtuP24uY29sb3VyOnZvaWQgMF0pKX0sZX0se30pO3JldHVybiBufHwodD1PYmplY3QuYXNzaWduKHQsZSkpLHR9LGFwaV8xPWFwaSxoZWxwZXJzPXtnZXRJbGx1bWluYW50OmZ1bmN0aW9uKHIpe3JldHVybiBjb25zdGFudHMuSUxMVU1JTkFOVFNbcl19LGdldFRyYW5zZm9ybTpmdW5jdGlvbihyKXtyZXR1cm4gY29uc3RhbnRzLlRSQU5TRk9STVNbcl19LG1hdHJpeE11bHRpcGx5OmZ1bmN0aW9uKHIsZSl7Zm9yKHZhciBuPVtdLHQ9MDt0PHIubGVuZ3RoO3QrKyl7blt0XT1bXTtmb3IodmFyIG89MDtvPGVbMF0ubGVuZ3RoO28rKyl7Zm9yKHZhciBzPTAsYT0wO2E8clswXS5sZW5ndGg7YSsrKXMrPXJbdF1bYV0qZVthXVtvXTtuW3RdW29dPXN9fXJldHVybiBufSxjYnJ0OmZ1bmN0aW9uKHIpe2lmKE1hdGguY2JydClyZXR1cm4gTWF0aC5jYnJ0KHIpO3ZhciBlPU1hdGgucG93KE1hdGguYWJzKHIpLDEvMyk7cmV0dXJuIHI8MD8tZTplfSx0b1JhZDpmdW5jdGlvbihyKXtyZXR1cm4gciooTWF0aC5QSS8xODApfSx0b0RlZzpmdW5jdGlvbihyKXtyZXR1cm4gciooMTgwL01hdGguUEkpfSxuZWdNb2Q6ZnVuY3Rpb24ocixlKXtyZXR1cm4ociVlK2UpJWV9LHNsb3BlTW9kOmZ1bmN0aW9uKHIpe2Z1bmN0aW9uIGUoZSxuKXtyZXR1cm4gci5hcHBseSh0aGlzLGFyZ3VtZW50cyl9cmV0dXJuIGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gci50b1N0cmluZygpfSxlfShmdW5jdGlvbihyLGUpe3JldHVybiByPjIqZT9zbG9wZU1vZChyLTIqZSxlKTpyPmU/MiplLXI6cjwwP3Nsb3BlTW9kKHIrMiplLGUpOnJ9KSxib3VuZGVkOmZ1bmN0aW9uKHIsZSl7cmV0dXJuIHI8ZVswXT9yPWVbMF06cj5lWzFdJiYocj1lWzFdKSxyfSxib3VuZGVkUmdiOmZ1bmN0aW9uKHIpe3ZhciBlPXRoaXMsbj1mdW5jdGlvbihyKXtyZXR1cm4gZS5ib3VuZGVkKHIsWzAsMjU1XSl9O3JldHVybntyOm4oci5yKSxnOm4oci5nKSxiOm4oci5iKX19LGRldGVybWluZU1vZGU6ZnVuY3Rpb24ocil7Zm9yKHZhciBlIGluIGluZGV4KWlmKGluZGV4Lmhhc093blByb3BlcnR5KGUpJiZpbmRleFtlXS50ZXN0KHIpKXJldHVybiBlO3JldHVybiBudWxsfSxyZWFkeTpmdW5jdGlvbihyLGUpe3ZhciBuPXIuY29udmVyc2lvbnMsdD1yLm9wZXJhdGlvbnMsbz1yLmhlbHBlcnMscz17fTtzd2l0Y2goT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGUpKXtjYXNlXCJbb2JqZWN0IE9iamVjdF1cIjpjYXNlXCJbb2JqZWN0IFN0cmluZ11cIjpzLmNvbG91cj1lO2Zvcih2YXIgYSBpbiBuKW4uaGFzT3duUHJvcGVydHkoYSkmJmZ1bmN0aW9uKHIpe09iamVjdC5kZWZpbmVQcm9wZXJ0eShzLHIse2dldDpmdW5jdGlvbigpe28uZGV0ZXJtaW5lTW9kZShlKTtyZXR1cm4gdC5jb252ZXJ0KHtjb252ZXJzaW9uczpuLG9wZXJhdGlvbnM6dCxoZWxwZXJzOm99LHIsZSl9LGVudW1lcmFibGU6ITB9KX0oYSk7cmV0dXJuIHM9T2JqZWN0LmFzc2lnbihzLGFwaV8xKHtjb252ZXJzaW9uczpuLG9wZXJhdGlvbnM6dCxoZWxwZXJzOm99LGNvbnN0YW50cyxzKSk7Y2FzZVwiW29iamVjdCBBcnJheV1cIjpzLmNvbG91cnM9ZTtmb3IodmFyIGkgaW4gbiluLmhhc093blByb3BlcnR5KGkpJiZmdW5jdGlvbihyKXtPYmplY3QuZGVmaW5lUHJvcGVydHkocyxyLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24gZShzKXtyZXR1cm4gcy5tYXAoZnVuY3Rpb24ocyl7cmV0dXJuIEFycmF5LmlzQXJyYXkocyk/ZShzKTp0LmNvbnZlcnQoe2NvbnZlcnNpb25zOm4sb3BlcmF0aW9uczp0LGhlbHBlcnM6b30scixzKX0pfShlKX0sZW51bWVyYWJsZTohMH0pfShpKTtyZXR1cm4gcz1PYmplY3QuYXNzaWduKHMsYXBpXzEoe2NvbnZlcnNpb25zOm4sb3BlcmF0aW9uczp0LGhlbHBlcnM6b30sY29uc3RhbnRzLHMpKTtkZWZhdWx0OnJldHVybiBudWxsfX19LGhlbHBlcnNfMT1oZWxwZXJzLGRlcGVuZGVuY2llcz17Y29udmVyc2lvbnM6aW5kZXgsb3BlcmF0aW9uczppbmRleCQyLGhlbHBlcnM6aGVscGVyc18xfSxlbnRyeT1hcGlfMShkZXBlbmRlbmNpZXMsY29uc3RhbnRzKTtleHBvcnQgZGVmYXVsdCBlbnRyeTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/chromatism/dist/chromatism.esm.js\n"); /***/ }), /***/ "./node_modules/classnames/index.js": /*!******************************************!*\ !*** ./node_modules/classnames/index.js ***! \******************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!\n Copyright (c) 2016 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tclasses.push(classNames.apply(null, arg));\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif ( true && module.exports) {\n\t\tmodule.exports = classNames;\n\t} else if (true) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = (function () {\n\t\t\treturn classNames;\n\t\t}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t} else {}\n}());\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY2xhc3NuYW1lcy9pbmRleC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jbGFzc25hbWVzL2luZGV4LmpzPzRkMjYiXSwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gIENvcHlyaWdodCAoYykgMjAxNiBKZWQgV2F0c29uLlxuICBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UgKE1JVCksIHNlZVxuICBodHRwOi8vamVkd2F0c29uLmdpdGh1Yi5pby9jbGFzc25hbWVzXG4qL1xuLyogZ2xvYmFsIGRlZmluZSAqL1xuXG4oZnVuY3Rpb24gKCkge1xuXHQndXNlIHN0cmljdCc7XG5cblx0dmFyIGhhc093biA9IHt9Lmhhc093blByb3BlcnR5O1xuXG5cdGZ1bmN0aW9uIGNsYXNzTmFtZXMgKCkge1xuXHRcdHZhciBjbGFzc2VzID0gW107XG5cblx0XHRmb3IgKHZhciBpID0gMDsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykge1xuXHRcdFx0dmFyIGFyZyA9IGFyZ3VtZW50c1tpXTtcblx0XHRcdGlmICghYXJnKSBjb250aW51ZTtcblxuXHRcdFx0dmFyIGFyZ1R5cGUgPSB0eXBlb2YgYXJnO1xuXG5cdFx0XHRpZiAoYXJnVHlwZSA9PT0gJ3N0cmluZycgfHwgYXJnVHlwZSA9PT0gJ251bWJlcicpIHtcblx0XHRcdFx0Y2xhc3Nlcy5wdXNoKGFyZyk7XG5cdFx0XHR9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkoYXJnKSkge1xuXHRcdFx0XHRjbGFzc2VzLnB1c2goY2xhc3NOYW1lcy5hcHBseShudWxsLCBhcmcpKTtcblx0XHRcdH0gZWxzZSBpZiAoYXJnVHlwZSA9PT0gJ29iamVjdCcpIHtcblx0XHRcdFx0Zm9yICh2YXIga2V5IGluIGFyZykge1xuXHRcdFx0XHRcdGlmIChoYXNPd24uY2FsbChhcmcsIGtleSkgJiYgYXJnW2tleV0pIHtcblx0XHRcdFx0XHRcdGNsYXNzZXMucHVzaChrZXkpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdHJldHVybiBjbGFzc2VzLmpvaW4oJyAnKTtcblx0fVxuXG5cdGlmICh0eXBlb2YgbW9kdWxlICE9PSAndW5kZWZpbmVkJyAmJiBtb2R1bGUuZXhwb3J0cykge1xuXHRcdG1vZHVsZS5leHBvcnRzID0gY2xhc3NOYW1lcztcblx0fSBlbHNlIGlmICh0eXBlb2YgZGVmaW5lID09PSAnZnVuY3Rpb24nICYmIHR5cGVvZiBkZWZpbmUuYW1kID09PSAnb2JqZWN0JyAmJiBkZWZpbmUuYW1kKSB7XG5cdFx0Ly8gcmVnaXN0ZXIgYXMgJ2NsYXNzbmFtZXMnLCBjb25zaXN0ZW50IHdpdGggbnBtIHBhY2thZ2UgbmFtZVxuXHRcdGRlZmluZSgnY2xhc3NuYW1lcycsIFtdLCBmdW5jdGlvbiAoKSB7XG5cdFx0XHRyZXR1cm4gY2xhc3NOYW1lcztcblx0XHR9KTtcblx0fSBlbHNlIHtcblx0XHR3aW5kb3cuY2xhc3NOYW1lcyA9IGNsYXNzTmFtZXM7XG5cdH1cbn0oKSk7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBLFVBRUE7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/classnames/index.js\n"); /***/ }), /***/ "./node_modules/clone/clone.js": /*!*************************************!*\ !*** ./node_modules/clone/clone.js ***! \*************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("/* WEBPACK VAR INJECTION */(function(Buffer) {var clone = (function() {\n'use strict';\n\nfunction _instanceof(obj, type) {\n return type != null && obj instanceof type;\n}\n\nvar nativeMap;\ntry {\n nativeMap = Map;\n} catch(_) {\n // maybe a reference error because no `Map`. Give it a dummy value that no\n // value will ever be an instanceof.\n nativeMap = function() {};\n}\n\nvar nativeSet;\ntry {\n nativeSet = Set;\n} catch(_) {\n nativeSet = function() {};\n}\n\nvar nativePromise;\ntry {\n nativePromise = Promise;\n} catch(_) {\n nativePromise = function() {};\n}\n\n/**\n * Clones (copies) an Object using deep copying.\n *\n * This function supports circular references by default, but if you are certain\n * there are no circular references in your object, you can save some CPU time\n * by calling clone(obj, false).\n *\n * Caution: if `circular` is false and `parent` contains circular references,\n * your program may enter an infinite loop and crash.\n *\n * @param `parent` - the object to be cloned\n * @param `circular` - set to true if the object to be cloned may contain\n * circular references. (optional - true by default)\n * @param `depth` - set to a number if the object is only to be cloned to\n * a particular depth. (optional - defaults to Infinity)\n * @param `prototype` - sets the prototype to be used when cloning an object.\n * (optional - defaults to parent prototype).\n * @param `includeNonEnumerable` - set to true if the non-enumerable properties\n * should be cloned as well. Non-enumerable properties on the prototype\n * chain will be ignored. (optional - false by default)\n*/\nfunction clone(parent, circular, depth, prototype, includeNonEnumerable) {\n if (typeof circular === 'object') {\n depth = circular.depth;\n prototype = circular.prototype;\n includeNonEnumerable = circular.includeNonEnumerable;\n circular = circular.circular;\n }\n // maintain two arrays for circular references, where corresponding parents\n // and children have the same index\n var allParents = [];\n var allChildren = [];\n\n var useBuffer = typeof Buffer != 'undefined';\n\n if (typeof circular == 'undefined')\n circular = true;\n\n if (typeof depth == 'undefined')\n depth = Infinity;\n\n // recurse this function so we don't reset allParents and allChildren\n function _clone(parent, depth) {\n // cloning null always returns null\n if (parent === null)\n return null;\n\n if (depth === 0)\n return parent;\n\n var child;\n var proto;\n if (typeof parent != 'object') {\n return parent;\n }\n\n if (_instanceof(parent, nativeMap)) {\n child = new nativeMap();\n } else if (_instanceof(parent, nativeSet)) {\n child = new nativeSet();\n } else if (_instanceof(parent, nativePromise)) {\n child = new nativePromise(function (resolve, reject) {\n parent.then(function(value) {\n resolve(_clone(value, depth - 1));\n }, function(err) {\n reject(_clone(err, depth - 1));\n });\n });\n } else if (clone.__isArray(parent)) {\n child = [];\n } else if (clone.__isRegExp(parent)) {\n child = new RegExp(parent.source, __getRegExpFlags(parent));\n if (parent.lastIndex) child.lastIndex = parent.lastIndex;\n } else if (clone.__isDate(parent)) {\n child = new Date(parent.getTime());\n } else if (useBuffer && Buffer.isBuffer(parent)) {\n child = new Buffer(parent.length);\n parent.copy(child);\n return child;\n } else if (_instanceof(parent, Error)) {\n child = Object.create(parent);\n } else {\n if (typeof prototype == 'undefined') {\n proto = Object.getPrototypeOf(parent);\n child = Object.create(proto);\n }\n else {\n child = Object.create(prototype);\n proto = prototype;\n }\n }\n\n if (circular) {\n var index = allParents.indexOf(parent);\n\n if (index != -1) {\n return allChildren[index];\n }\n allParents.push(parent);\n allChildren.push(child);\n }\n\n if (_instanceof(parent, nativeMap)) {\n parent.forEach(function(value, key) {\n var keyChild = _clone(key, depth - 1);\n var valueChild = _clone(value, depth - 1);\n child.set(keyChild, valueChild);\n });\n }\n if (_instanceof(parent, nativeSet)) {\n parent.forEach(function(value) {\n var entryChild = _clone(value, depth - 1);\n child.add(entryChild);\n });\n }\n\n for (var i in parent) {\n var attrs;\n if (proto) {\n attrs = Object.getOwnPropertyDescriptor(proto, i);\n }\n\n if (attrs && attrs.set == null) {\n continue;\n }\n child[i] = _clone(parent[i], depth - 1);\n }\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(parent);\n for (var i = 0; i < symbols.length; i++) {\n // Don't need to worry about cloning a symbol because it is a primitive,\n // like a number or string.\n var symbol = symbols[i];\n var descriptor = Object.getOwnPropertyDescriptor(parent, symbol);\n if (descriptor && !descriptor.enumerable && !includeNonEnumerable) {\n continue;\n }\n child[symbol] = _clone(parent[symbol], depth - 1);\n if (!descriptor.enumerable) {\n Object.defineProperty(child, symbol, {\n enumerable: false\n });\n }\n }\n }\n\n if (includeNonEnumerable) {\n var allPropertyNames = Object.getOwnPropertyNames(parent);\n for (var i = 0; i < allPropertyNames.length; i++) {\n var propertyName = allPropertyNames[i];\n var descriptor = Object.getOwnPropertyDescriptor(parent, propertyName);\n if (descriptor && descriptor.enumerable) {\n continue;\n }\n child[propertyName] = _clone(parent[propertyName], depth - 1);\n Object.defineProperty(child, propertyName, {\n enumerable: false\n });\n }\n }\n\n return child;\n }\n\n return _clone(parent, depth);\n}\n\n/**\n * Simple flat clone using prototype, accepts only objects, usefull for property\n * override on FLAT configuration object (no nested props).\n *\n * USE WITH CAUTION! This may not behave as you wish if you do not know how this\n * works.\n */\nclone.clonePrototype = function clonePrototype(parent) {\n if (parent === null)\n return null;\n\n var c = function () {};\n c.prototype = parent;\n return new c();\n};\n\n// private utility functions\n\nfunction __objToStr(o) {\n return Object.prototype.toString.call(o);\n}\nclone.__objToStr = __objToStr;\n\nfunction __isDate(o) {\n return typeof o === 'object' && __objToStr(o) === '[object Date]';\n}\nclone.__isDate = __isDate;\n\nfunction __isArray(o) {\n return typeof o === 'object' && __objToStr(o) === '[object Array]';\n}\nclone.__isArray = __isArray;\n\nfunction __isRegExp(o) {\n return typeof o === 'object' && __objToStr(o) === '[object RegExp]';\n}\nclone.__isRegExp = __isRegExp;\n\nfunction __getRegExpFlags(re) {\n var flags = '';\n if (re.global) flags += 'g';\n if (re.ignoreCase) flags += 'i';\n if (re.multiline) flags += 'm';\n return flags;\n}\nclone.__getRegExpFlags = __getRegExpFlags;\n\nreturn clone;\n})();\n\nif ( true && module.exports) {\n module.exports = clone;\n}\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../buffer/index.js */ \"./node_modules/buffer/index.js\").Buffer))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY2xvbmUvY2xvbmUuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY2xvbmUvY2xvbmUuanM/MjQxMCJdLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgY2xvbmUgPSAoZnVuY3Rpb24oKSB7XG4ndXNlIHN0cmljdCc7XG5cbmZ1bmN0aW9uIF9pbnN0YW5jZW9mKG9iaiwgdHlwZSkge1xuICByZXR1cm4gdHlwZSAhPSBudWxsICYmIG9iaiBpbnN0YW5jZW9mIHR5cGU7XG59XG5cbnZhciBuYXRpdmVNYXA7XG50cnkge1xuICBuYXRpdmVNYXAgPSBNYXA7XG59IGNhdGNoKF8pIHtcbiAgLy8gbWF5YmUgYSByZWZlcmVuY2UgZXJyb3IgYmVjYXVzZSBubyBgTWFwYC4gR2l2ZSBpdCBhIGR1bW15IHZhbHVlIHRoYXQgbm9cbiAgLy8gdmFsdWUgd2lsbCBldmVyIGJlIGFuIGluc3RhbmNlb2YuXG4gIG5hdGl2ZU1hcCA9IGZ1bmN0aW9uKCkge307XG59XG5cbnZhciBuYXRpdmVTZXQ7XG50cnkge1xuICBuYXRpdmVTZXQgPSBTZXQ7XG59IGNhdGNoKF8pIHtcbiAgbmF0aXZlU2V0ID0gZnVuY3Rpb24oKSB7fTtcbn1cblxudmFyIG5hdGl2ZVByb21pc2U7XG50cnkge1xuICBuYXRpdmVQcm9taXNlID0gUHJvbWlzZTtcbn0gY2F0Y2goXykge1xuICBuYXRpdmVQcm9taXNlID0gZnVuY3Rpb24oKSB7fTtcbn1cblxuLyoqXG4gKiBDbG9uZXMgKGNvcGllcykgYW4gT2JqZWN0IHVzaW5nIGRlZXAgY29weWluZy5cbiAqXG4gKiBUaGlzIGZ1bmN0aW9uIHN1cHBvcnRzIGNpcmN1bGFyIHJlZmVyZW5jZXMgYnkgZGVmYXVsdCwgYnV0IGlmIHlvdSBhcmUgY2VydGFpblxuICogdGhlcmUgYXJlIG5vIGNpcmN1bGFyIHJlZmVyZW5jZXMgaW4geW91ciBvYmplY3QsIHlvdSBjYW4gc2F2ZSBzb21lIENQVSB0aW1lXG4gKiBieSBjYWxsaW5nIGNsb25lKG9iaiwgZmFsc2UpLlxuICpcbiAqIENhdXRpb246IGlmIGBjaXJjdWxhcmAgaXMgZmFsc2UgYW5kIGBwYXJlbnRgIGNvbnRhaW5zIGNpcmN1bGFyIHJlZmVyZW5jZXMsXG4gKiB5b3VyIHByb2dyYW0gbWF5IGVudGVyIGFuIGluZmluaXRlIGxvb3AgYW5kIGNyYXNoLlxuICpcbiAqIEBwYXJhbSBgcGFyZW50YCAtIHRoZSBvYmplY3QgdG8gYmUgY2xvbmVkXG4gKiBAcGFyYW0gYGNpcmN1bGFyYCAtIHNldCB0byB0cnVlIGlmIHRoZSBvYmplY3QgdG8gYmUgY2xvbmVkIG1heSBjb250YWluXG4gKiAgICBjaXJjdWxhciByZWZlcmVuY2VzLiAob3B0aW9uYWwgLSB0cnVlIGJ5IGRlZmF1bHQpXG4gKiBAcGFyYW0gYGRlcHRoYCAtIHNldCB0byBhIG51bWJlciBpZiB0aGUgb2JqZWN0IGlzIG9ubHkgdG8gYmUgY2xvbmVkIHRvXG4gKiAgICBhIHBhcnRpY3VsYXIgZGVwdGguIChvcHRpb25hbCAtIGRlZmF1bHRzIHRvIEluZmluaXR5KVxuICogQHBhcmFtIGBwcm90b3R5cGVgIC0gc2V0cyB0aGUgcHJvdG90eXBlIHRvIGJlIHVzZWQgd2hlbiBjbG9uaW5nIGFuIG9iamVjdC5cbiAqICAgIChvcHRpb25hbCAtIGRlZmF1bHRzIHRvIHBhcmVudCBwcm90b3R5cGUpLlxuICogQHBhcmFtIGBpbmNsdWRlTm9uRW51bWVyYWJsZWAgLSBzZXQgdG8gdHJ1ZSBpZiB0aGUgbm9uLWVudW1lcmFibGUgcHJvcGVydGllc1xuICogICAgc2hvdWxkIGJlIGNsb25lZCBhcyB3ZWxsLiBOb24tZW51bWVyYWJsZSBwcm9wZXJ0aWVzIG9uIHRoZSBwcm90b3R5cGVcbiAqICAgIGNoYWluIHdpbGwgYmUgaWdub3JlZC4gKG9wdGlvbmFsIC0gZmFsc2UgYnkgZGVmYXVsdClcbiovXG5mdW5jdGlvbiBjbG9uZShwYXJlbnQsIGNpcmN1bGFyLCBkZXB0aCwgcHJvdG90eXBlLCBpbmNsdWRlTm9uRW51bWVyYWJsZSkge1xuICBpZiAodHlwZW9mIGNpcmN1bGFyID09PSAnb2JqZWN0Jykge1xuICAgIGRlcHRoID0gY2lyY3VsYXIuZGVwdGg7XG4gICAgcHJvdG90eXBlID0gY2lyY3VsYXIucHJvdG90eXBlO1xuICAgIGluY2x1ZGVOb25FbnVtZXJhYmxlID0gY2lyY3VsYXIuaW5jbHVkZU5vbkVudW1lcmFibGU7XG4gICAgY2lyY3VsYXIgPSBjaXJjdWxhci5jaXJjdWxhcjtcbiAgfVxuICAvLyBtYWludGFpbiB0d28gYXJyYXlzIGZvciBjaXJjdWxhciByZWZlcmVuY2VzLCB3aGVyZSBjb3JyZXNwb25kaW5nIHBhcmVudHNcbiAgLy8gYW5kIGNoaWxkcmVuIGhhdmUgdGhlIHNhbWUgaW5kZXhcbiAgdmFyIGFsbFBhcmVudHMgPSBbXTtcbiAgdmFyIGFsbENoaWxkcmVuID0gW107XG5cbiAgdmFyIHVzZUJ1ZmZlciA9IHR5cGVvZiBCdWZmZXIgIT0gJ3VuZGVmaW5lZCc7XG5cbiAgaWYgKHR5cGVvZiBjaXJjdWxhciA9PSAndW5kZWZpbmVkJylcbiAgICBjaXJjdWxhciA9IHRydWU7XG5cbiAgaWYgKHR5cGVvZiBkZXB0aCA9PSAndW5kZWZpbmVkJylcbiAgICBkZXB0aCA9IEluZmluaXR5O1xuXG4gIC8vIHJlY3Vyc2UgdGhpcyBmdW5jdGlvbiBzbyB3ZSBkb24ndCByZXNldCBhbGxQYXJlbnRzIGFuZCBhbGxDaGlsZHJlblxuICBmdW5jdGlvbiBfY2xvbmUocGFyZW50LCBkZXB0aCkge1xuICAgIC8vIGNsb25pbmcgbnVsbCBhbHdheXMgcmV0dXJucyBudWxsXG4gICAgaWYgKHBhcmVudCA9PT0gbnVsbClcbiAgICAgIHJldHVybiBudWxsO1xuXG4gICAgaWYgKGRlcHRoID09PSAwKVxuICAgICAgcmV0dXJuIHBhcmVudDtcblxuICAgIHZhciBjaGlsZDtcbiAgICB2YXIgcHJvdG87XG4gICAgaWYgKHR5cGVvZiBwYXJlbnQgIT0gJ29iamVjdCcpIHtcbiAgICAgIHJldHVybiBwYXJlbnQ7XG4gICAgfVxuXG4gICAgaWYgKF9pbnN0YW5jZW9mKHBhcmVudCwgbmF0aXZlTWFwKSkge1xuICAgICAgY2hpbGQgPSBuZXcgbmF0aXZlTWFwKCk7XG4gICAgfSBlbHNlIGlmIChfaW5zdGFuY2VvZihwYXJlbnQsIG5hdGl2ZVNldCkpIHtcbiAgICAgIGNoaWxkID0gbmV3IG5hdGl2ZVNldCgpO1xuICAgIH0gZWxzZSBpZiAoX2luc3RhbmNlb2YocGFyZW50LCBuYXRpdmVQcm9taXNlKSkge1xuICAgICAgY2hpbGQgPSBuZXcgbmF0aXZlUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XG4gICAgICAgIHBhcmVudC50aGVuKGZ1bmN0aW9uKHZhbHVlKSB7XG4gICAgICAgICAgcmVzb2x2ZShfY2xvbmUodmFsdWUsIGRlcHRoIC0gMSkpO1xuICAgICAgICB9LCBmdW5jdGlvbihlcnIpIHtcbiAgICAgICAgICByZWplY3QoX2Nsb25lKGVyciwgZGVwdGggLSAxKSk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIGlmIChjbG9uZS5fX2lzQXJyYXkocGFyZW50KSkge1xuICAgICAgY2hpbGQgPSBbXTtcbiAgICB9IGVsc2UgaWYgKGNsb25lLl9faXNSZWdFeHAocGFyZW50KSkge1xuICAgICAgY2hpbGQgPSBuZXcgUmVnRXhwKHBhcmVudC5zb3VyY2UsIF9fZ2V0UmVnRXhwRmxhZ3MocGFyZW50KSk7XG4gICAgICBpZiAocGFyZW50Lmxhc3RJbmRleCkgY2hpbGQubGFzdEluZGV4ID0gcGFyZW50Lmxhc3RJbmRleDtcbiAgICB9IGVsc2UgaWYgKGNsb25lLl9faXNEYXRlKHBhcmVudCkpIHtcbiAgICAgIGNoaWxkID0gbmV3IERhdGUocGFyZW50LmdldFRpbWUoKSk7XG4gICAgfSBlbHNlIGlmICh1c2VCdWZmZXIgJiYgQnVmZmVyLmlzQnVmZmVyKHBhcmVudCkpIHtcbiAgICAgIGNoaWxkID0gbmV3IEJ1ZmZlcihwYXJlbnQubGVuZ3RoKTtcbiAgICAgIHBhcmVudC5jb3B5KGNoaWxkKTtcbiAgICAgIHJldHVybiBjaGlsZDtcbiAgICB9IGVsc2UgaWYgKF9pbnN0YW5jZW9mKHBhcmVudCwgRXJyb3IpKSB7XG4gICAgICBjaGlsZCA9IE9iamVjdC5jcmVhdGUocGFyZW50KTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHR5cGVvZiBwcm90b3R5cGUgPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgcHJvdG8gPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YocGFyZW50KTtcbiAgICAgICAgY2hpbGQgPSBPYmplY3QuY3JlYXRlKHByb3RvKTtcbiAgICAgIH1cbiAgICAgIGVsc2Uge1xuICAgICAgICBjaGlsZCA9IE9iamVjdC5jcmVhdGUocHJvdG90eXBlKTtcbiAgICAgICAgcHJvdG8gPSBwcm90b3R5cGU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGNpcmN1bGFyKSB7XG4gICAgICB2YXIgaW5kZXggPSBhbGxQYXJlbnRzLmluZGV4T2YocGFyZW50KTtcblxuICAgICAgaWYgKGluZGV4ICE9IC0xKSB7XG4gICAgICAgIHJldHVybiBhbGxDaGlsZHJlbltpbmRleF07XG4gICAgICB9XG4gICAgICBhbGxQYXJlbnRzLnB1c2gocGFyZW50KTtcbiAgICAgIGFsbENoaWxkcmVuLnB1c2goY2hpbGQpO1xuICAgIH1cblxuICAgIGlmIChfaW5zdGFuY2VvZihwYXJlbnQsIG5hdGl2ZU1hcCkpIHtcbiAgICAgIHBhcmVudC5mb3JFYWNoKGZ1bmN0aW9uKHZhbHVlLCBrZXkpIHtcbiAgICAgICAgdmFyIGtleUNoaWxkID0gX2Nsb25lKGtleSwgZGVwdGggLSAxKTtcbiAgICAgICAgdmFyIHZhbHVlQ2hpbGQgPSBfY2xvbmUodmFsdWUsIGRlcHRoIC0gMSk7XG4gICAgICAgIGNoaWxkLnNldChrZXlDaGlsZCwgdmFsdWVDaGlsZCk7XG4gICAgICB9KTtcbiAgICB9XG4gICAgaWYgKF9pbnN0YW5jZW9mKHBhcmVudCwgbmF0aXZlU2V0KSkge1xuICAgICAgcGFyZW50LmZvckVhY2goZnVuY3Rpb24odmFsdWUpIHtcbiAgICAgICAgdmFyIGVudHJ5Q2hpbGQgPSBfY2xvbmUodmFsdWUsIGRlcHRoIC0gMSk7XG4gICAgICAgIGNoaWxkLmFkZChlbnRyeUNoaWxkKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGZvciAodmFyIGkgaW4gcGFyZW50KSB7XG4gICAgICB2YXIgYXR0cnM7XG4gICAgICBpZiAocHJvdG8pIHtcbiAgICAgICAgYXR0cnMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHByb3RvLCBpKTtcbiAgICAgIH1cblxuICAgICAgaWYgKGF0dHJzICYmIGF0dHJzLnNldCA9PSBudWxsKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuICAgICAgY2hpbGRbaV0gPSBfY2xvbmUocGFyZW50W2ldLCBkZXB0aCAtIDEpO1xuICAgIH1cblxuICAgIGlmIChPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKSB7XG4gICAgICB2YXIgc3ltYm9scyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMocGFyZW50KTtcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc3ltYm9scy5sZW5ndGg7IGkrKykge1xuICAgICAgICAvLyBEb24ndCBuZWVkIHRvIHdvcnJ5IGFib3V0IGNsb25pbmcgYSBzeW1ib2wgYmVjYXVzZSBpdCBpcyBhIHByaW1pdGl2ZSxcbiAgICAgICAgLy8gbGlrZSBhIG51bWJlciBvciBzdHJpbmcuXG4gICAgICAgIHZhciBzeW1ib2wgPSBzeW1ib2xzW2ldO1xuICAgICAgICB2YXIgZGVzY3JpcHRvciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IocGFyZW50LCBzeW1ib2wpO1xuICAgICAgICBpZiAoZGVzY3JpcHRvciAmJiAhZGVzY3JpcHRvci5lbnVtZXJhYmxlICYmICFpbmNsdWRlTm9uRW51bWVyYWJsZSkge1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIGNoaWxkW3N5bWJvbF0gPSBfY2xvbmUocGFyZW50W3N5bWJvbF0sIGRlcHRoIC0gMSk7XG4gICAgICAgIGlmICghZGVzY3JpcHRvci5lbnVtZXJhYmxlKSB7XG4gICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCBzeW1ib2wsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoaW5jbHVkZU5vbkVudW1lcmFibGUpIHtcbiAgICAgIHZhciBhbGxQcm9wZXJ0eU5hbWVzID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMocGFyZW50KTtcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYWxsUHJvcGVydHlOYW1lcy5sZW5ndGg7IGkrKykge1xuICAgICAgICB2YXIgcHJvcGVydHlOYW1lID0gYWxsUHJvcGVydHlOYW1lc1tpXTtcbiAgICAgICAgdmFyIGRlc2NyaXB0b3IgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHBhcmVudCwgcHJvcGVydHlOYW1lKTtcbiAgICAgICAgaWYgKGRlc2NyaXB0b3IgJiYgZGVzY3JpcHRvci5lbnVtZXJhYmxlKSB7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cbiAgICAgICAgY2hpbGRbcHJvcGVydHlOYW1lXSA9IF9jbG9uZShwYXJlbnRbcHJvcGVydHlOYW1lXSwgZGVwdGggLSAxKTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCBwcm9wZXJ0eU5hbWUsIHtcbiAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gY2hpbGQ7XG4gIH1cblxuICByZXR1cm4gX2Nsb25lKHBhcmVudCwgZGVwdGgpO1xufVxuXG4vKipcbiAqIFNpbXBsZSBmbGF0IGNsb25lIHVzaW5nIHByb3RvdHlwZSwgYWNjZXB0cyBvbmx5IG9iamVjdHMsIHVzZWZ1bGwgZm9yIHByb3BlcnR5XG4gKiBvdmVycmlkZSBvbiBGTEFUIGNvbmZpZ3VyYXRpb24gb2JqZWN0IChubyBuZXN0ZWQgcHJvcHMpLlxuICpcbiAqIFVTRSBXSVRIIENBVVRJT04hIFRoaXMgbWF5IG5vdCBiZWhhdmUgYXMgeW91IHdpc2ggaWYgeW91IGRvIG5vdCBrbm93IGhvdyB0aGlzXG4gKiB3b3Jrcy5cbiAqL1xuY2xvbmUuY2xvbmVQcm90b3R5cGUgPSBmdW5jdGlvbiBjbG9uZVByb3RvdHlwZShwYXJlbnQpIHtcbiAgaWYgKHBhcmVudCA9PT0gbnVsbClcbiAgICByZXR1cm4gbnVsbDtcblxuICB2YXIgYyA9IGZ1bmN0aW9uICgpIHt9O1xuICBjLnByb3RvdHlwZSA9IHBhcmVudDtcbiAgcmV0dXJuIG5ldyBjKCk7XG59O1xuXG4vLyBwcml2YXRlIHV0aWxpdHkgZnVuY3Rpb25zXG5cbmZ1bmN0aW9uIF9fb2JqVG9TdHIobykge1xuICByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG8pO1xufVxuY2xvbmUuX19vYmpUb1N0ciA9IF9fb2JqVG9TdHI7XG5cbmZ1bmN0aW9uIF9faXNEYXRlKG8pIHtcbiAgcmV0dXJuIHR5cGVvZiBvID09PSAnb2JqZWN0JyAmJiBfX29ialRvU3RyKG8pID09PSAnW29iamVjdCBEYXRlXSc7XG59XG5jbG9uZS5fX2lzRGF0ZSA9IF9faXNEYXRlO1xuXG5mdW5jdGlvbiBfX2lzQXJyYXkobykge1xuICByZXR1cm4gdHlwZW9mIG8gPT09ICdvYmplY3QnICYmIF9fb2JqVG9TdHIobykgPT09ICdbb2JqZWN0IEFycmF5XSc7XG59XG5jbG9uZS5fX2lzQXJyYXkgPSBfX2lzQXJyYXk7XG5cbmZ1bmN0aW9uIF9faXNSZWdFeHAobykge1xuICByZXR1cm4gdHlwZW9mIG8gPT09ICdvYmplY3QnICYmIF9fb2JqVG9TdHIobykgPT09ICdbb2JqZWN0IFJlZ0V4cF0nO1xufVxuY2xvbmUuX19pc1JlZ0V4cCA9IF9faXNSZWdFeHA7XG5cbmZ1bmN0aW9uIF9fZ2V0UmVnRXhwRmxhZ3MocmUpIHtcbiAgdmFyIGZsYWdzID0gJyc7XG4gIGlmIChyZS5nbG9iYWwpIGZsYWdzICs9ICdnJztcbiAgaWYgKHJlLmlnbm9yZUNhc2UpIGZsYWdzICs9ICdpJztcbiAgaWYgKHJlLm11bHRpbGluZSkgZmxhZ3MgKz0gJ20nO1xuICByZXR1cm4gZmxhZ3M7XG59XG5jbG9uZS5fX2dldFJlZ0V4cEZsYWdzID0gX19nZXRSZWdFeHBGbGFncztcblxucmV0dXJuIGNsb25lO1xufSkoKTtcblxuaWYgKHR5cGVvZiBtb2R1bGUgPT09ICdvYmplY3QnICYmIG1vZHVsZS5leHBvcnRzKSB7XG4gIG1vZHVsZS5leHBvcnRzID0gY2xvbmU7XG59XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/clone/clone.js\n"); /***/ }), /***/ "./node_modules/codemirror/addon/display/placeholder.js": /*!**************************************************************!*\ !*** ./node_modules/codemirror/addon/display/placeholder.js ***! \**************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ \"./node_modules/codemirror/lib/codemirror.js\"));\n else {}\n})(function(CodeMirror) {\n CodeMirror.defineOption(\"placeholder\", \"\", function(cm, val, old) {\n var prev = old && old != CodeMirror.Init;\n if (val && !prev) {\n cm.on(\"blur\", onBlur);\n cm.on(\"change\", onChange);\n cm.on(\"swapDoc\", onChange);\n onChange(cm);\n } else if (!val && prev) {\n cm.off(\"blur\", onBlur);\n cm.off(\"change\", onChange);\n cm.off(\"swapDoc\", onChange);\n clearPlaceholder(cm);\n var wrapper = cm.getWrapperElement();\n wrapper.className = wrapper.className.replace(\" CodeMirror-empty\", \"\");\n }\n\n if (val && !cm.hasFocus()) onBlur(cm);\n });\n\n function clearPlaceholder(cm) {\n if (cm.state.placeholder) {\n cm.state.placeholder.parentNode.removeChild(cm.state.placeholder);\n cm.state.placeholder = null;\n }\n }\n function setPlaceholder(cm) {\n clearPlaceholder(cm);\n var elt = cm.state.placeholder = document.createElement(\"pre\");\n elt.style.cssText = \"height: 0; overflow: visible\";\n elt.style.direction = cm.getOption(\"direction\");\n elt.className = \"CodeMirror-placeholder CodeMirror-line-like\";\n var placeHolder = cm.getOption(\"placeholder\")\n if (typeof placeHolder == \"string\") placeHolder = document.createTextNode(placeHolder)\n elt.appendChild(placeHolder)\n cm.display.lineSpace.insertBefore(elt, cm.display.lineSpace.firstChild);\n }\n\n function onBlur(cm) {\n if (isEmpty(cm)) setPlaceholder(cm);\n }\n function onChange(cm) {\n var wrapper = cm.getWrapperElement(), empty = isEmpty(cm);\n wrapper.className = wrapper.className.replace(\" CodeMirror-empty\", \"\") + (empty ? \" CodeMirror-empty\" : \"\");\n\n if (empty) setPlaceholder(cm);\n else clearPlaceholder(cm);\n }\n\n function isEmpty(cm) {\n return (cm.lineCount() === 1) && (cm.getLine(0) === \"\");\n }\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9hZGRvbi9kaXNwbGF5L3BsYWNlaG9sZGVyLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvZGVtaXJyb3IvYWRkb24vZGlzcGxheS9wbGFjZWhvbGRlci5qcz9kN2Q1Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIENvZGVNaXJyb3IsIGNvcHlyaWdodCAoYykgYnkgTWFyaWpuIEhhdmVyYmVrZSBhbmQgb3RoZXJzXG4vLyBEaXN0cmlidXRlZCB1bmRlciBhbiBNSVQgbGljZW5zZTogaHR0cHM6Ly9jb2RlbWlycm9yLm5ldC9MSUNFTlNFXG5cbihmdW5jdGlvbihtb2QpIHtcbiAgaWYgKHR5cGVvZiBleHBvcnRzID09IFwib2JqZWN0XCIgJiYgdHlwZW9mIG1vZHVsZSA9PSBcIm9iamVjdFwiKSAvLyBDb21tb25KU1xuICAgIG1vZChyZXF1aXJlKFwiLi4vLi4vbGliL2NvZGVtaXJyb3JcIikpO1xuICBlbHNlIGlmICh0eXBlb2YgZGVmaW5lID09IFwiZnVuY3Rpb25cIiAmJiBkZWZpbmUuYW1kKSAvLyBBTURcbiAgICBkZWZpbmUoW1wiLi4vLi4vbGliL2NvZGVtaXJyb3JcIl0sIG1vZCk7XG4gIGVsc2UgLy8gUGxhaW4gYnJvd3NlciBlbnZcbiAgICBtb2QoQ29kZU1pcnJvcik7XG59KShmdW5jdGlvbihDb2RlTWlycm9yKSB7XG4gIENvZGVNaXJyb3IuZGVmaW5lT3B0aW9uKFwicGxhY2Vob2xkZXJcIiwgXCJcIiwgZnVuY3Rpb24oY20sIHZhbCwgb2xkKSB7XG4gICAgdmFyIHByZXYgPSBvbGQgJiYgb2xkICE9IENvZGVNaXJyb3IuSW5pdDtcbiAgICBpZiAodmFsICYmICFwcmV2KSB7XG4gICAgICBjbS5vbihcImJsdXJcIiwgb25CbHVyKTtcbiAgICAgIGNtLm9uKFwiY2hhbmdlXCIsIG9uQ2hhbmdlKTtcbiAgICAgIGNtLm9uKFwic3dhcERvY1wiLCBvbkNoYW5nZSk7XG4gICAgICBvbkNoYW5nZShjbSk7XG4gICAgfSBlbHNlIGlmICghdmFsICYmIHByZXYpIHtcbiAgICAgIGNtLm9mZihcImJsdXJcIiwgb25CbHVyKTtcbiAgICAgIGNtLm9mZihcImNoYW5nZVwiLCBvbkNoYW5nZSk7XG4gICAgICBjbS5vZmYoXCJzd2FwRG9jXCIsIG9uQ2hhbmdlKTtcbiAgICAgIGNsZWFyUGxhY2Vob2xkZXIoY20pO1xuICAgICAgdmFyIHdyYXBwZXIgPSBjbS5nZXRXcmFwcGVyRWxlbWVudCgpO1xuICAgICAgd3JhcHBlci5jbGFzc05hbWUgPSB3cmFwcGVyLmNsYXNzTmFtZS5yZXBsYWNlKFwiIENvZGVNaXJyb3ItZW1wdHlcIiwgXCJcIik7XG4gICAgfVxuXG4gICAgaWYgKHZhbCAmJiAhY20uaGFzRm9jdXMoKSkgb25CbHVyKGNtKTtcbiAgfSk7XG5cbiAgZnVuY3Rpb24gY2xlYXJQbGFjZWhvbGRlcihjbSkge1xuICAgIGlmIChjbS5zdGF0ZS5wbGFjZWhvbGRlcikge1xuICAgICAgY20uc3RhdGUucGxhY2Vob2xkZXIucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChjbS5zdGF0ZS5wbGFjZWhvbGRlcik7XG4gICAgICBjbS5zdGF0ZS5wbGFjZWhvbGRlciA9IG51bGw7XG4gICAgfVxuICB9XG4gIGZ1bmN0aW9uIHNldFBsYWNlaG9sZGVyKGNtKSB7XG4gICAgY2xlYXJQbGFjZWhvbGRlcihjbSk7XG4gICAgdmFyIGVsdCA9IGNtLnN0YXRlLnBsYWNlaG9sZGVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcInByZVwiKTtcbiAgICBlbHQuc3R5bGUuY3NzVGV4dCA9IFwiaGVpZ2h0OiAwOyBvdmVyZmxvdzogdmlzaWJsZVwiO1xuICAgIGVsdC5zdHlsZS5kaXJlY3Rpb24gPSBjbS5nZXRPcHRpb24oXCJkaXJlY3Rpb25cIik7XG4gICAgZWx0LmNsYXNzTmFtZSA9IFwiQ29kZU1pcnJvci1wbGFjZWhvbGRlciBDb2RlTWlycm9yLWxpbmUtbGlrZVwiO1xuICAgIHZhciBwbGFjZUhvbGRlciA9IGNtLmdldE9wdGlvbihcInBsYWNlaG9sZGVyXCIpXG4gICAgaWYgKHR5cGVvZiBwbGFjZUhvbGRlciA9PSBcInN0cmluZ1wiKSBwbGFjZUhvbGRlciA9IGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKHBsYWNlSG9sZGVyKVxuICAgIGVsdC5hcHBlbmRDaGlsZChwbGFjZUhvbGRlcilcbiAgICBjbS5kaXNwbGF5LmxpbmVTcGFjZS5pbnNlcnRCZWZvcmUoZWx0LCBjbS5kaXNwbGF5LmxpbmVTcGFjZS5maXJzdENoaWxkKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIG9uQmx1cihjbSkge1xuICAgIGlmIChpc0VtcHR5KGNtKSkgc2V0UGxhY2Vob2xkZXIoY20pO1xuICB9XG4gIGZ1bmN0aW9uIG9uQ2hhbmdlKGNtKSB7XG4gICAgdmFyIHdyYXBwZXIgPSBjbS5nZXRXcmFwcGVyRWxlbWVudCgpLCBlbXB0eSA9IGlzRW1wdHkoY20pO1xuICAgIHdyYXBwZXIuY2xhc3NOYW1lID0gd3JhcHBlci5jbGFzc05hbWUucmVwbGFjZShcIiBDb2RlTWlycm9yLWVtcHR5XCIsIFwiXCIpICsgKGVtcHR5ID8gXCIgQ29kZU1pcnJvci1lbXB0eVwiIDogXCJcIik7XG5cbiAgICBpZiAoZW1wdHkpIHNldFBsYWNlaG9sZGVyKGNtKTtcbiAgICBlbHNlIGNsZWFyUGxhY2Vob2xkZXIoY20pO1xuICB9XG5cbiAgZnVuY3Rpb24gaXNFbXB0eShjbSkge1xuICAgIHJldHVybiAoY20ubGluZUNvdW50KCkgPT09IDEpICYmIChjbS5nZXRMaW5lKDApID09PSBcIlwiKTtcbiAgfVxufSk7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/codemirror/addon/display/placeholder.js\n"); /***/ }), /***/ "./node_modules/codemirror/addon/edit/closebrackets.js": /*!*************************************************************!*\ !*** ./node_modules/codemirror/addon/edit/closebrackets.js ***! \*************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ \"./node_modules/codemirror/lib/codemirror.js\"));\n else {}\n})(function(CodeMirror) {\n var defaults = {\n pairs: \"()[]{}''\\\"\\\"\",\n closeBefore: \")]}'\\\":;>\",\n triples: \"\",\n explode: \"[]{}\"\n };\n\n var Pos = CodeMirror.Pos;\n\n CodeMirror.defineOption(\"autoCloseBrackets\", false, function(cm, val, old) {\n if (old && old != CodeMirror.Init) {\n cm.removeKeyMap(keyMap);\n cm.state.closeBrackets = null;\n }\n if (val) {\n ensureBound(getOption(val, \"pairs\"))\n cm.state.closeBrackets = val;\n cm.addKeyMap(keyMap);\n }\n });\n\n function getOption(conf, name) {\n if (name == \"pairs\" && typeof conf == \"string\") return conf;\n if (typeof conf == \"object\" && conf[name] != null) return conf[name];\n return defaults[name];\n }\n\n var keyMap = {Backspace: handleBackspace, Enter: handleEnter};\n function ensureBound(chars) {\n for (var i = 0; i < chars.length; i++) {\n var ch = chars.charAt(i), key = \"'\" + ch + \"'\"\n if (!keyMap[key]) keyMap[key] = handler(ch)\n }\n }\n ensureBound(defaults.pairs + \"`\")\n\n function handler(ch) {\n return function(cm) { return handleChar(cm, ch); };\n }\n\n function getConfig(cm) {\n var deflt = cm.state.closeBrackets;\n if (!deflt || deflt.override) return deflt;\n var mode = cm.getModeAt(cm.getCursor());\n return mode.closeBrackets || deflt;\n }\n\n function handleBackspace(cm) {\n var conf = getConfig(cm);\n if (!conf || cm.getOption(\"disableInput\")) return CodeMirror.Pass;\n\n var pairs = getOption(conf, \"pairs\");\n var ranges = cm.listSelections();\n for (var i = 0; i < ranges.length; i++) {\n if (!ranges[i].empty()) return CodeMirror.Pass;\n var around = charsAround(cm, ranges[i].head);\n if (!around || pairs.indexOf(around) % 2 != 0) return CodeMirror.Pass;\n }\n for (var i = ranges.length - 1; i >= 0; i--) {\n var cur = ranges[i].head;\n cm.replaceRange(\"\", Pos(cur.line, cur.ch - 1), Pos(cur.line, cur.ch + 1), \"+delete\");\n }\n }\n\n function handleEnter(cm) {\n var conf = getConfig(cm);\n var explode = conf && getOption(conf, \"explode\");\n if (!explode || cm.getOption(\"disableInput\")) return CodeMirror.Pass;\n\n var ranges = cm.listSelections();\n for (var i = 0; i < ranges.length; i++) {\n if (!ranges[i].empty()) return CodeMirror.Pass;\n var around = charsAround(cm, ranges[i].head);\n if (!around || explode.indexOf(around) % 2 != 0) return CodeMirror.Pass;\n }\n cm.operation(function() {\n var linesep = cm.lineSeparator() || \"\\n\";\n cm.replaceSelection(linesep + linesep, null);\n cm.execCommand(\"goCharLeft\");\n ranges = cm.listSelections();\n for (var i = 0; i < ranges.length; i++) {\n var line = ranges[i].head.line;\n cm.indentLine(line, null, true);\n cm.indentLine(line + 1, null, true);\n }\n });\n }\n\n function contractSelection(sel) {\n var inverted = CodeMirror.cmpPos(sel.anchor, sel.head) > 0;\n return {anchor: new Pos(sel.anchor.line, sel.anchor.ch + (inverted ? -1 : 1)),\n head: new Pos(sel.head.line, sel.head.ch + (inverted ? 1 : -1))};\n }\n\n function handleChar(cm, ch) {\n var conf = getConfig(cm);\n if (!conf || cm.getOption(\"disableInput\")) return CodeMirror.Pass;\n\n var pairs = getOption(conf, \"pairs\");\n var pos = pairs.indexOf(ch);\n if (pos == -1) return CodeMirror.Pass;\n\n var closeBefore = getOption(conf,\"closeBefore\");\n\n var triples = getOption(conf, \"triples\");\n\n var identical = pairs.charAt(pos + 1) == ch;\n var ranges = cm.listSelections();\n var opening = pos % 2 == 0;\n\n var type;\n for (var i = 0; i < ranges.length; i++) {\n var range = ranges[i], cur = range.head, curType;\n var next = cm.getRange(cur, Pos(cur.line, cur.ch + 1));\n if (opening && !range.empty()) {\n curType = \"surround\";\n } else if ((identical || !opening) && next == ch) {\n if (identical && stringStartsAfter(cm, cur))\n curType = \"both\";\n else if (triples.indexOf(ch) >= 0 && cm.getRange(cur, Pos(cur.line, cur.ch + 3)) == ch + ch + ch)\n curType = \"skipThree\";\n else\n curType = \"skip\";\n } else if (identical && cur.ch > 1 && triples.indexOf(ch) >= 0 &&\n cm.getRange(Pos(cur.line, cur.ch - 2), cur) == ch + ch) {\n if (cur.ch > 2 && /\\bstring/.test(cm.getTokenTypeAt(Pos(cur.line, cur.ch - 2)))) return CodeMirror.Pass;\n curType = \"addFour\";\n } else if (identical) {\n var prev = cur.ch == 0 ? \" \" : cm.getRange(Pos(cur.line, cur.ch - 1), cur)\n if (!CodeMirror.isWordChar(next) && prev != ch && !CodeMirror.isWordChar(prev)) curType = \"both\";\n else return CodeMirror.Pass;\n } else if (opening && (next.length === 0 || /\\s/.test(next) || closeBefore.indexOf(next) > -1)) {\n curType = \"both\";\n } else {\n return CodeMirror.Pass;\n }\n if (!type) type = curType;\n else if (type != curType) return CodeMirror.Pass;\n }\n\n var left = pos % 2 ? pairs.charAt(pos - 1) : ch;\n var right = pos % 2 ? ch : pairs.charAt(pos + 1);\n cm.operation(function() {\n if (type == \"skip\") {\n cm.execCommand(\"goCharRight\");\n } else if (type == \"skipThree\") {\n for (var i = 0; i < 3; i++)\n cm.execCommand(\"goCharRight\");\n } else if (type == \"surround\") {\n var sels = cm.getSelections();\n for (var i = 0; i < sels.length; i++)\n sels[i] = left + sels[i] + right;\n cm.replaceSelections(sels, \"around\");\n sels = cm.listSelections().slice();\n for (var i = 0; i < sels.length; i++)\n sels[i] = contractSelection(sels[i]);\n cm.setSelections(sels);\n } else if (type == \"both\") {\n cm.replaceSelection(left + right, null);\n cm.triggerElectric(left + right);\n cm.execCommand(\"goCharLeft\");\n } else if (type == \"addFour\") {\n cm.replaceSelection(left + left + left + left, \"before\");\n cm.execCommand(\"goCharRight\");\n }\n });\n }\n\n function charsAround(cm, pos) {\n var str = cm.getRange(Pos(pos.line, pos.ch - 1),\n Pos(pos.line, pos.ch + 1));\n return str.length == 2 ? str : null;\n }\n\n function stringStartsAfter(cm, pos) {\n var token = cm.getTokenAt(Pos(pos.line, pos.ch + 1))\n return /\\bstring/.test(token.type) && token.start == pos.ch &&\n (pos.ch == 0 || !/\\bstring/.test(cm.getTokenTypeAt(pos)))\n }\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9hZGRvbi9lZGl0L2Nsb3NlYnJhY2tldHMuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9hZGRvbi9lZGl0L2Nsb3NlYnJhY2tldHMuanM/MTBiMiJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb2RlTWlycm9yLCBjb3B5cmlnaHQgKGMpIGJ5IE1hcmlqbiBIYXZlcmJla2UgYW5kIG90aGVyc1xuLy8gRGlzdHJpYnV0ZWQgdW5kZXIgYW4gTUlUIGxpY2Vuc2U6IGh0dHBzOi8vY29kZW1pcnJvci5uZXQvTElDRU5TRVxuXG4oZnVuY3Rpb24obW9kKSB7XG4gIGlmICh0eXBlb2YgZXhwb3J0cyA9PSBcIm9iamVjdFwiICYmIHR5cGVvZiBtb2R1bGUgPT0gXCJvYmplY3RcIikgLy8gQ29tbW9uSlNcbiAgICBtb2QocmVxdWlyZShcIi4uLy4uL2xpYi9jb2RlbWlycm9yXCIpKTtcbiAgZWxzZSBpZiAodHlwZW9mIGRlZmluZSA9PSBcImZ1bmN0aW9uXCIgJiYgZGVmaW5lLmFtZCkgLy8gQU1EXG4gICAgZGVmaW5lKFtcIi4uLy4uL2xpYi9jb2RlbWlycm9yXCJdLCBtb2QpO1xuICBlbHNlIC8vIFBsYWluIGJyb3dzZXIgZW52XG4gICAgbW9kKENvZGVNaXJyb3IpO1xufSkoZnVuY3Rpb24oQ29kZU1pcnJvcikge1xuICB2YXIgZGVmYXVsdHMgPSB7XG4gICAgcGFpcnM6IFwiKClbXXt9JydcXFwiXFxcIlwiLFxuICAgIGNsb3NlQmVmb3JlOiBcIildfSdcXFwiOjs+XCIsXG4gICAgdHJpcGxlczogXCJcIixcbiAgICBleHBsb2RlOiBcIltde31cIlxuICB9O1xuXG4gIHZhciBQb3MgPSBDb2RlTWlycm9yLlBvcztcblxuICBDb2RlTWlycm9yLmRlZmluZU9wdGlvbihcImF1dG9DbG9zZUJyYWNrZXRzXCIsIGZhbHNlLCBmdW5jdGlvbihjbSwgdmFsLCBvbGQpIHtcbiAgICBpZiAob2xkICYmIG9sZCAhPSBDb2RlTWlycm9yLkluaXQpIHtcbiAgICAgIGNtLnJlbW92ZUtleU1hcChrZXlNYXApO1xuICAgICAgY20uc3RhdGUuY2xvc2VCcmFja2V0cyA9IG51bGw7XG4gICAgfVxuICAgIGlmICh2YWwpIHtcbiAgICAgIGVuc3VyZUJvdW5kKGdldE9wdGlvbih2YWwsIFwicGFpcnNcIikpXG4gICAgICBjbS5zdGF0ZS5jbG9zZUJyYWNrZXRzID0gdmFsO1xuICAgICAgY20uYWRkS2V5TWFwKGtleU1hcCk7XG4gICAgfVxuICB9KTtcblxuICBmdW5jdGlvbiBnZXRPcHRpb24oY29uZiwgbmFtZSkge1xuICAgIGlmIChuYW1lID09IFwicGFpcnNcIiAmJiB0eXBlb2YgY29uZiA9PSBcInN0cmluZ1wiKSByZXR1cm4gY29uZjtcbiAgICBpZiAodHlwZW9mIGNvbmYgPT0gXCJvYmplY3RcIiAmJiBjb25mW25hbWVdICE9IG51bGwpIHJldHVybiBjb25mW25hbWVdO1xuICAgIHJldHVybiBkZWZhdWx0c1tuYW1lXTtcbiAgfVxuXG4gIHZhciBrZXlNYXAgPSB7QmFja3NwYWNlOiBoYW5kbGVCYWNrc3BhY2UsIEVudGVyOiBoYW5kbGVFbnRlcn07XG4gIGZ1bmN0aW9uIGVuc3VyZUJvdW5kKGNoYXJzKSB7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjaGFycy5sZW5ndGg7IGkrKykge1xuICAgICAgdmFyIGNoID0gY2hhcnMuY2hhckF0KGkpLCBrZXkgPSBcIidcIiArIGNoICsgXCInXCJcbiAgICAgIGlmICgha2V5TWFwW2tleV0pIGtleU1hcFtrZXldID0gaGFuZGxlcihjaClcbiAgICB9XG4gIH1cbiAgZW5zdXJlQm91bmQoZGVmYXVsdHMucGFpcnMgKyBcImBcIilcblxuICBmdW5jdGlvbiBoYW5kbGVyKGNoKSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uKGNtKSB7IHJldHVybiBoYW5kbGVDaGFyKGNtLCBjaCk7IH07XG4gIH1cblxuICBmdW5jdGlvbiBnZXRDb25maWcoY20pIHtcbiAgICB2YXIgZGVmbHQgPSBjbS5zdGF0ZS5jbG9zZUJyYWNrZXRzO1xuICAgIGlmICghZGVmbHQgfHwgZGVmbHQub3ZlcnJpZGUpIHJldHVybiBkZWZsdDtcbiAgICB2YXIgbW9kZSA9IGNtLmdldE1vZGVBdChjbS5nZXRDdXJzb3IoKSk7XG4gICAgcmV0dXJuIG1vZGUuY2xvc2VCcmFja2V0cyB8fCBkZWZsdDtcbiAgfVxuXG4gIGZ1bmN0aW9uIGhhbmRsZUJhY2tzcGFjZShjbSkge1xuICAgIHZhciBjb25mID0gZ2V0Q29uZmlnKGNtKTtcbiAgICBpZiAoIWNvbmYgfHwgY20uZ2V0T3B0aW9uKFwiZGlzYWJsZUlucHV0XCIpKSByZXR1cm4gQ29kZU1pcnJvci5QYXNzO1xuXG4gICAgdmFyIHBhaXJzID0gZ2V0T3B0aW9uKGNvbmYsIFwicGFpcnNcIik7XG4gICAgdmFyIHJhbmdlcyA9IGNtLmxpc3RTZWxlY3Rpb25zKCk7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCByYW5nZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGlmICghcmFuZ2VzW2ldLmVtcHR5KCkpIHJldHVybiBDb2RlTWlycm9yLlBhc3M7XG4gICAgICB2YXIgYXJvdW5kID0gY2hhcnNBcm91bmQoY20sIHJhbmdlc1tpXS5oZWFkKTtcbiAgICAgIGlmICghYXJvdW5kIHx8IHBhaXJzLmluZGV4T2YoYXJvdW5kKSAlIDIgIT0gMCkgcmV0dXJuIENvZGVNaXJyb3IuUGFzcztcbiAgICB9XG4gICAgZm9yICh2YXIgaSA9IHJhbmdlcy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xuICAgICAgdmFyIGN1ciA9IHJhbmdlc1tpXS5oZWFkO1xuICAgICAgY20ucmVwbGFjZVJhbmdlKFwiXCIsIFBvcyhjdXIubGluZSwgY3VyLmNoIC0gMSksIFBvcyhjdXIubGluZSwgY3VyLmNoICsgMSksIFwiK2RlbGV0ZVwiKTtcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBoYW5kbGVFbnRlcihjbSkge1xuICAgIHZhciBjb25mID0gZ2V0Q29uZmlnKGNtKTtcbiAgICB2YXIgZXhwbG9kZSA9IGNvbmYgJiYgZ2V0T3B0aW9uKGNvbmYsIFwiZXhwbG9kZVwiKTtcbiAgICBpZiAoIWV4cGxvZGUgfHwgY20uZ2V0T3B0aW9uKFwiZGlzYWJsZUlucHV0XCIpKSByZXR1cm4gQ29kZU1pcnJvci5QYXNzO1xuXG4gICAgdmFyIHJhbmdlcyA9IGNtLmxpc3RTZWxlY3Rpb25zKCk7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCByYW5nZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGlmICghcmFuZ2VzW2ldLmVtcHR5KCkpIHJldHVybiBDb2RlTWlycm9yLlBhc3M7XG4gICAgICB2YXIgYXJvdW5kID0gY2hhcnNBcm91bmQoY20sIHJhbmdlc1tpXS5oZWFkKTtcbiAgICAgIGlmICghYXJvdW5kIHx8IGV4cGxvZGUuaW5kZXhPZihhcm91bmQpICUgMiAhPSAwKSByZXR1cm4gQ29kZU1pcnJvci5QYXNzO1xuICAgIH1cbiAgICBjbS5vcGVyYXRpb24oZnVuY3Rpb24oKSB7XG4gICAgICB2YXIgbGluZXNlcCA9IGNtLmxpbmVTZXBhcmF0b3IoKSB8fCBcIlxcblwiO1xuICAgICAgY20ucmVwbGFjZVNlbGVjdGlvbihsaW5lc2VwICsgbGluZXNlcCwgbnVsbCk7XG4gICAgICBjbS5leGVjQ29tbWFuZChcImdvQ2hhckxlZnRcIik7XG4gICAgICByYW5nZXMgPSBjbS5saXN0U2VsZWN0aW9ucygpO1xuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCByYW5nZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgdmFyIGxpbmUgPSByYW5nZXNbaV0uaGVhZC5saW5lO1xuICAgICAgICBjbS5pbmRlbnRMaW5lKGxpbmUsIG51bGwsIHRydWUpO1xuICAgICAgICBjbS5pbmRlbnRMaW5lKGxpbmUgKyAxLCBudWxsLCB0cnVlKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGNvbnRyYWN0U2VsZWN0aW9uKHNlbCkge1xuICAgIHZhciBpbnZlcnRlZCA9IENvZGVNaXJyb3IuY21wUG9zKHNlbC5hbmNob3IsIHNlbC5oZWFkKSA+IDA7XG4gICAgcmV0dXJuIHthbmNob3I6IG5ldyBQb3Moc2VsLmFuY2hvci5saW5lLCBzZWwuYW5jaG9yLmNoICsgKGludmVydGVkID8gLTEgOiAxKSksXG4gICAgICAgICAgICBoZWFkOiBuZXcgUG9zKHNlbC5oZWFkLmxpbmUsIHNlbC5oZWFkLmNoICsgKGludmVydGVkID8gMSA6IC0xKSl9O1xuICB9XG5cbiAgZnVuY3Rpb24gaGFuZGxlQ2hhcihjbSwgY2gpIHtcbiAgICB2YXIgY29uZiA9IGdldENvbmZpZyhjbSk7XG4gICAgaWYgKCFjb25mIHx8IGNtLmdldE9wdGlvbihcImRpc2FibGVJbnB1dFwiKSkgcmV0dXJuIENvZGVNaXJyb3IuUGFzcztcblxuICAgIHZhciBwYWlycyA9IGdldE9wdGlvbihjb25mLCBcInBhaXJzXCIpO1xuICAgIHZhciBwb3MgPSBwYWlycy5pbmRleE9mKGNoKTtcbiAgICBpZiAocG9zID09IC0xKSByZXR1cm4gQ29kZU1pcnJvci5QYXNzO1xuXG4gICAgdmFyIGNsb3NlQmVmb3JlID0gZ2V0T3B0aW9uKGNvbmYsXCJjbG9zZUJlZm9yZVwiKTtcblxuICAgIHZhciB0cmlwbGVzID0gZ2V0T3B0aW9uKGNvbmYsIFwidHJpcGxlc1wiKTtcblxuICAgIHZhciBpZGVudGljYWwgPSBwYWlycy5jaGFyQXQocG9zICsgMSkgPT0gY2g7XG4gICAgdmFyIHJhbmdlcyA9IGNtLmxpc3RTZWxlY3Rpb25zKCk7XG4gICAgdmFyIG9wZW5pbmcgPSBwb3MgJSAyID09IDA7XG5cbiAgICB2YXIgdHlwZTtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJhbmdlcy5sZW5ndGg7IGkrKykge1xuICAgICAgdmFyIHJhbmdlID0gcmFuZ2VzW2ldLCBjdXIgPSByYW5nZS5oZWFkLCBjdXJUeXBlO1xuICAgICAgdmFyIG5leHQgPSBjbS5nZXRSYW5nZShjdXIsIFBvcyhjdXIubGluZSwgY3VyLmNoICsgMSkpO1xuICAgICAgaWYgKG9wZW5pbmcgJiYgIXJhbmdlLmVtcHR5KCkpIHtcbiAgICAgICAgY3VyVHlwZSA9IFwic3Vycm91bmRcIjtcbiAgICAgIH0gZWxzZSBpZiAoKGlkZW50aWNhbCB8fCAhb3BlbmluZykgJiYgbmV4dCA9PSBjaCkge1xuICAgICAgICBpZiAoaWRlbnRpY2FsICYmIHN0cmluZ1N0YXJ0c0FmdGVyKGNtLCBjdXIpKVxuICAgICAgICAgIGN1clR5cGUgPSBcImJvdGhcIjtcbiAgICAgICAgZWxzZSBpZiAodHJpcGxlcy5pbmRleE9mKGNoKSA+PSAwICYmIGNtLmdldFJhbmdlKGN1ciwgUG9zKGN1ci5saW5lLCBjdXIuY2ggKyAzKSkgPT0gY2ggKyBjaCArIGNoKVxuICAgICAgICAgIGN1clR5cGUgPSBcInNraXBUaHJlZVwiO1xuICAgICAgICBlbHNlXG4gICAgICAgICAgY3VyVHlwZSA9IFwic2tpcFwiO1xuICAgICAgfSBlbHNlIGlmIChpZGVudGljYWwgJiYgY3VyLmNoID4gMSAmJiB0cmlwbGVzLmluZGV4T2YoY2gpID49IDAgJiZcbiAgICAgICAgICAgICAgICAgY20uZ2V0UmFuZ2UoUG9zKGN1ci5saW5lLCBjdXIuY2ggLSAyKSwgY3VyKSA9PSBjaCArIGNoKSB7XG4gICAgICAgIGlmIChjdXIuY2ggPiAyICYmIC9cXGJzdHJpbmcvLnRlc3QoY20uZ2V0VG9rZW5UeXBlQXQoUG9zKGN1ci5saW5lLCBjdXIuY2ggLSAyKSkpKSByZXR1cm4gQ29kZU1pcnJvci5QYXNzO1xuICAgICAgICBjdXJUeXBlID0gXCJhZGRGb3VyXCI7XG4gICAgICB9IGVsc2UgaWYgKGlkZW50aWNhbCkge1xuICAgICAgICB2YXIgcHJldiA9IGN1ci5jaCA9PSAwID8gXCIgXCIgOiBjbS5nZXRSYW5nZShQb3MoY3VyLmxpbmUsIGN1ci5jaCAtIDEpLCBjdXIpXG4gICAgICAgIGlmICghQ29kZU1pcnJvci5pc1dvcmRDaGFyKG5leHQpICYmIHByZXYgIT0gY2ggJiYgIUNvZGVNaXJyb3IuaXNXb3JkQ2hhcihwcmV2KSkgY3VyVHlwZSA9IFwiYm90aFwiO1xuICAgICAgICBlbHNlIHJldHVybiBDb2RlTWlycm9yLlBhc3M7XG4gICAgICB9IGVsc2UgaWYgKG9wZW5pbmcgJiYgKG5leHQubGVuZ3RoID09PSAwIHx8IC9cXHMvLnRlc3QobmV4dCkgfHwgY2xvc2VCZWZvcmUuaW5kZXhPZihuZXh0KSA+IC0xKSkge1xuICAgICAgICBjdXJUeXBlID0gXCJib3RoXCI7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gQ29kZU1pcnJvci5QYXNzO1xuICAgICAgfVxuICAgICAgaWYgKCF0eXBlKSB0eXBlID0gY3VyVHlwZTtcbiAgICAgIGVsc2UgaWYgKHR5cGUgIT0gY3VyVHlwZSkgcmV0dXJuIENvZGVNaXJyb3IuUGFzcztcbiAgICB9XG5cbiAgICB2YXIgbGVmdCA9IHBvcyAlIDIgPyBwYWlycy5jaGFyQXQocG9zIC0gMSkgOiBjaDtcbiAgICB2YXIgcmlnaHQgPSBwb3MgJSAyID8gY2ggOiBwYWlycy5jaGFyQXQocG9zICsgMSk7XG4gICAgY20ub3BlcmF0aW9uKGZ1bmN0aW9uKCkge1xuICAgICAgaWYgKHR5cGUgPT0gXCJza2lwXCIpIHtcbiAgICAgICAgY20uZXhlY0NvbW1hbmQoXCJnb0NoYXJSaWdodFwiKTtcbiAgICAgIH0gZWxzZSBpZiAodHlwZSA9PSBcInNraXBUaHJlZVwiKSB7XG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgMzsgaSsrKVxuICAgICAgICAgIGNtLmV4ZWNDb21tYW5kKFwiZ29DaGFyUmlnaHRcIik7XG4gICAgICB9IGVsc2UgaWYgKHR5cGUgPT0gXCJzdXJyb3VuZFwiKSB7XG4gICAgICAgIHZhciBzZWxzID0gY20uZ2V0U2VsZWN0aW9ucygpO1xuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHNlbHMubGVuZ3RoOyBpKyspXG4gICAgICAgICAgc2Vsc1tpXSA9IGxlZnQgKyBzZWxzW2ldICsgcmlnaHQ7XG4gICAgICAgIGNtLnJlcGxhY2VTZWxlY3Rpb25zKHNlbHMsIFwiYXJvdW5kXCIpO1xuICAgICAgICBzZWxzID0gY20ubGlzdFNlbGVjdGlvbnMoKS5zbGljZSgpO1xuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHNlbHMubGVuZ3RoOyBpKyspXG4gICAgICAgICAgc2Vsc1tpXSA9IGNvbnRyYWN0U2VsZWN0aW9uKHNlbHNbaV0pO1xuICAgICAgICBjbS5zZXRTZWxlY3Rpb25zKHNlbHMpO1xuICAgICAgfSBlbHNlIGlmICh0eXBlID09IFwiYm90aFwiKSB7XG4gICAgICAgIGNtLnJlcGxhY2VTZWxlY3Rpb24obGVmdCArIHJpZ2h0LCBudWxsKTtcbiAgICAgICAgY20udHJpZ2dlckVsZWN0cmljKGxlZnQgKyByaWdodCk7XG4gICAgICAgIGNtLmV4ZWNDb21tYW5kKFwiZ29DaGFyTGVmdFwiKTtcbiAgICAgIH0gZWxzZSBpZiAodHlwZSA9PSBcImFkZEZvdXJcIikge1xuICAgICAgICBjbS5yZXBsYWNlU2VsZWN0aW9uKGxlZnQgKyBsZWZ0ICsgbGVmdCArIGxlZnQsIFwiYmVmb3JlXCIpO1xuICAgICAgICBjbS5leGVjQ29tbWFuZChcImdvQ2hhclJpZ2h0XCIpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgZnVuY3Rpb24gY2hhcnNBcm91bmQoY20sIHBvcykge1xuICAgIHZhciBzdHIgPSBjbS5nZXRSYW5nZShQb3MocG9zLmxpbmUsIHBvcy5jaCAtIDEpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBQb3MocG9zLmxpbmUsIHBvcy5jaCArIDEpKTtcbiAgICByZXR1cm4gc3RyLmxlbmd0aCA9PSAyID8gc3RyIDogbnVsbDtcbiAgfVxuXG4gIGZ1bmN0aW9uIHN0cmluZ1N0YXJ0c0FmdGVyKGNtLCBwb3MpIHtcbiAgICB2YXIgdG9rZW4gPSBjbS5nZXRUb2tlbkF0KFBvcyhwb3MubGluZSwgcG9zLmNoICsgMSkpXG4gICAgcmV0dXJuIC9cXGJzdHJpbmcvLnRlc3QodG9rZW4udHlwZSkgJiYgdG9rZW4uc3RhcnQgPT0gcG9zLmNoICYmXG4gICAgICAocG9zLmNoID09IDAgfHwgIS9cXGJzdHJpbmcvLnRlc3QoY20uZ2V0VG9rZW5UeXBlQXQocG9zKSkpXG4gIH1cbn0pO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/codemirror/addon/edit/closebrackets.js\n"); /***/ }), /***/ "./node_modules/codemirror/addon/edit/closetag.js": /*!********************************************************!*\ !*** ./node_modules/codemirror/addon/edit/closetag.js ***! \********************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n/**\n * Tag-closer extension for CodeMirror.\n *\n * This extension adds an \"autoCloseTags\" option that can be set to\n * either true to get the default behavior, or an object to further\n * configure its behavior.\n *\n * These are supported options:\n *\n * `whenClosing` (default true)\n * Whether to autoclose when the '/' of a closing tag is typed.\n * `whenOpening` (default true)\n * Whether to autoclose the tag when the final '>' of an opening\n * tag is typed.\n * `dontCloseTags` (default is empty tags for HTML, none for XML)\n * An array of tag names that should not be autoclosed.\n * `indentTags` (default is block tags for HTML, none for XML)\n * An array of tag names that should, when opened, cause a\n * blank line to be added inside the tag, and the blank line and\n * closing line to be indented.\n * `emptyTags` (default is none)\n * An array of XML tag names that should be autoclosed with '/>'.\n *\n * See demos/closetag.html for a usage example.\n */\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ \"./node_modules/codemirror/lib/codemirror.js\"), __webpack_require__(/*! ../fold/xml-fold */ \"./node_modules/codemirror/addon/fold/xml-fold.js\"));\n else {}\n})(function(CodeMirror) {\n CodeMirror.defineOption(\"autoCloseTags\", false, function(cm, val, old) {\n if (old != CodeMirror.Init && old)\n cm.removeKeyMap(\"autoCloseTags\");\n if (!val) return;\n var map = {name: \"autoCloseTags\"};\n if (typeof val != \"object\" || val.whenClosing)\n map[\"'/'\"] = function(cm) { return autoCloseSlash(cm); };\n if (typeof val != \"object\" || val.whenOpening)\n map[\"'>'\"] = function(cm) { return autoCloseGT(cm); };\n cm.addKeyMap(map);\n });\n\n var htmlDontClose = [\"area\", \"base\", \"br\", \"col\", \"command\", \"embed\", \"hr\", \"img\", \"input\", \"keygen\", \"link\", \"meta\", \"param\",\n \"source\", \"track\", \"wbr\"];\n var htmlIndent = [\"applet\", \"blockquote\", \"body\", \"button\", \"div\", \"dl\", \"fieldset\", \"form\", \"frameset\", \"h1\", \"h2\", \"h3\", \"h4\",\n \"h5\", \"h6\", \"head\", \"html\", \"iframe\", \"layer\", \"legend\", \"object\", \"ol\", \"p\", \"select\", \"table\", \"ul\"];\n\n function autoCloseGT(cm) {\n if (cm.getOption(\"disableInput\")) return CodeMirror.Pass;\n var ranges = cm.listSelections(), replacements = [];\n var opt = cm.getOption(\"autoCloseTags\");\n for (var i = 0; i < ranges.length; i++) {\n if (!ranges[i].empty()) return CodeMirror.Pass;\n var pos = ranges[i].head, tok = cm.getTokenAt(pos);\n var inner = CodeMirror.innerMode(cm.getMode(), tok.state), state = inner.state;\n if (inner.mode.name != \"xml\" || !state.tagName) return CodeMirror.Pass;\n\n var html = inner.mode.configuration == \"html\";\n var dontCloseTags = (typeof opt == \"object\" && opt.dontCloseTags) || (html && htmlDontClose);\n var indentTags = (typeof opt == \"object\" && opt.indentTags) || (html && htmlIndent);\n\n var tagName = state.tagName;\n if (tok.end > pos.ch) tagName = tagName.slice(0, tagName.length - tok.end + pos.ch);\n var lowerTagName = tagName.toLowerCase();\n // Don't process the '>' at the end of an end-tag or self-closing tag\n if (!tagName ||\n tok.type == \"string\" && (tok.end != pos.ch || !/[\\\"\\']/.test(tok.string.charAt(tok.string.length - 1)) || tok.string.length == 1) ||\n tok.type == \"tag\" && state.type == \"closeTag\" ||\n tok.string.indexOf(\"/\") == (tok.string.length - 1) || // match something like \n dontCloseTags && indexOf(dontCloseTags, lowerTagName) > -1 ||\n closingTagExists(cm, tagName, pos, state, true))\n return CodeMirror.Pass;\n\n var emptyTags = typeof opt == \"object\" && opt.emptyTags;\n if (emptyTags && indexOf(emptyTags, tagName) > -1) {\n replacements[i] = { text: \"/>\", newPos: CodeMirror.Pos(pos.line, pos.ch + 2) };\n continue;\n }\n\n var indent = indentTags && indexOf(indentTags, lowerTagName) > -1;\n replacements[i] = {indent: indent,\n text: \">\" + (indent ? \"\\n\\n\" : \"\") + \"\",\n newPos: indent ? CodeMirror.Pos(pos.line + 1, 0) : CodeMirror.Pos(pos.line, pos.ch + 1)};\n }\n\n var dontIndentOnAutoClose = (typeof opt == \"object\" && opt.dontIndentOnAutoClose);\n for (var i = ranges.length - 1; i >= 0; i--) {\n var info = replacements[i];\n cm.replaceRange(info.text, ranges[i].head, ranges[i].anchor, \"+insert\");\n var sel = cm.listSelections().slice(0);\n sel[i] = {head: info.newPos, anchor: info.newPos};\n cm.setSelections(sel);\n if (!dontIndentOnAutoClose && info.indent) {\n cm.indentLine(info.newPos.line, null, true);\n cm.indentLine(info.newPos.line + 1, null, true);\n }\n }\n }\n\n function autoCloseCurrent(cm, typingSlash) {\n var ranges = cm.listSelections(), replacements = [];\n var head = typingSlash ? \"/\" : \"\") replacement += \">\";\n replacements[i] = replacement;\n }\n cm.replaceSelections(replacements);\n ranges = cm.listSelections();\n if (!dontIndentOnAutoClose) {\n for (var i = 0; i < ranges.length; i++)\n if (i == ranges.length - 1 || ranges[i].head.line < ranges[i + 1].head.line)\n cm.indentLine(ranges[i].head.line);\n }\n }\n\n function autoCloseSlash(cm) {\n if (cm.getOption(\"disableInput\")) return CodeMirror.Pass;\n return autoCloseCurrent(cm, true);\n }\n\n CodeMirror.commands.closeTag = function(cm) { return autoCloseCurrent(cm); };\n\n function indexOf(collection, elt) {\n if (collection.indexOf) return collection.indexOf(elt);\n for (var i = 0, e = collection.length; i < e; ++i)\n if (collection[i] == elt) return i;\n return -1;\n }\n\n // If xml-fold is loaded, we use its functionality to try and verify\n // whether a given tag is actually unclosed.\n function closingTagExists(cm, tagName, pos, state, newTag) {\n if (!CodeMirror.scanForClosingTag) return false;\n var end = Math.min(cm.lastLine() + 1, pos.line + 500);\n var nextClose = CodeMirror.scanForClosingTag(cm, pos, null, end);\n if (!nextClose || nextClose.tag != tagName) return false;\n var cx = state.context;\n // If the immediate wrapping context contains onCx instances of\n // the same tag, a closing tag only exists if there are at least\n // that many closing tags of that type following.\n for (var onCx = newTag ? 1 : 0; cx && cx.tagName == tagName; cx = cx.prev) ++onCx;\n pos = nextClose.to;\n for (var i = 1; i < onCx; i++) {\n var next = CodeMirror.scanForClosingTag(cm, pos, null, end);\n if (!next || next.tag != tagName) return false;\n pos = next.to;\n }\n return true;\n }\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9hZGRvbi9lZGl0L2Nsb3NldGFnLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvZGVtaXJyb3IvYWRkb24vZWRpdC9jbG9zZXRhZy5qcz8wNWRkIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIENvZGVNaXJyb3IsIGNvcHlyaWdodCAoYykgYnkgTWFyaWpuIEhhdmVyYmVrZSBhbmQgb3RoZXJzXG4vLyBEaXN0cmlidXRlZCB1bmRlciBhbiBNSVQgbGljZW5zZTogaHR0cHM6Ly9jb2RlbWlycm9yLm5ldC9MSUNFTlNFXG5cbi8qKlxuICogVGFnLWNsb3NlciBleHRlbnNpb24gZm9yIENvZGVNaXJyb3IuXG4gKlxuICogVGhpcyBleHRlbnNpb24gYWRkcyBhbiBcImF1dG9DbG9zZVRhZ3NcIiBvcHRpb24gdGhhdCBjYW4gYmUgc2V0IHRvXG4gKiBlaXRoZXIgdHJ1ZSB0byBnZXQgdGhlIGRlZmF1bHQgYmVoYXZpb3IsIG9yIGFuIG9iamVjdCB0byBmdXJ0aGVyXG4gKiBjb25maWd1cmUgaXRzIGJlaGF2aW9yLlxuICpcbiAqIFRoZXNlIGFyZSBzdXBwb3J0ZWQgb3B0aW9uczpcbiAqXG4gKiBgd2hlbkNsb3NpbmdgIChkZWZhdWx0IHRydWUpXG4gKiAgIFdoZXRoZXIgdG8gYXV0b2Nsb3NlIHdoZW4gdGhlICcvJyBvZiBhIGNsb3NpbmcgdGFnIGlzIHR5cGVkLlxuICogYHdoZW5PcGVuaW5nYCAoZGVmYXVsdCB0cnVlKVxuICogICBXaGV0aGVyIHRvIGF1dG9jbG9zZSB0aGUgdGFnIHdoZW4gdGhlIGZpbmFsICc+JyBvZiBhbiBvcGVuaW5nXG4gKiAgIHRhZyBpcyB0eXBlZC5cbiAqIGBkb250Q2xvc2VUYWdzYCAoZGVmYXVsdCBpcyBlbXB0eSB0YWdzIGZvciBIVE1MLCBub25lIGZvciBYTUwpXG4gKiAgIEFuIGFycmF5IG9mIHRhZyBuYW1lcyB0aGF0IHNob3VsZCBub3QgYmUgYXV0b2Nsb3NlZC5cbiAqIGBpbmRlbnRUYWdzYCAoZGVmYXVsdCBpcyBibG9jayB0YWdzIGZvciBIVE1MLCBub25lIGZvciBYTUwpXG4gKiAgIEFuIGFycmF5IG9mIHRhZyBuYW1lcyB0aGF0IHNob3VsZCwgd2hlbiBvcGVuZWQsIGNhdXNlIGFcbiAqICAgYmxhbmsgbGluZSB0byBiZSBhZGRlZCBpbnNpZGUgdGhlIHRhZywgYW5kIHRoZSBibGFuayBsaW5lIGFuZFxuICogICBjbG9zaW5nIGxpbmUgdG8gYmUgaW5kZW50ZWQuXG4gKiBgZW1wdHlUYWdzYCAoZGVmYXVsdCBpcyBub25lKVxuICogICBBbiBhcnJheSBvZiBYTUwgdGFnIG5hbWVzIHRoYXQgc2hvdWxkIGJlIGF1dG9jbG9zZWQgd2l0aCAnLz4nLlxuICpcbiAqIFNlZSBkZW1vcy9jbG9zZXRhZy5odG1sIGZvciBhIHVzYWdlIGV4YW1wbGUuXG4gKi9cblxuKGZ1bmN0aW9uKG1vZCkge1xuICBpZiAodHlwZW9mIGV4cG9ydHMgPT0gXCJvYmplY3RcIiAmJiB0eXBlb2YgbW9kdWxlID09IFwib2JqZWN0XCIpIC8vIENvbW1vbkpTXG4gICAgbW9kKHJlcXVpcmUoXCIuLi8uLi9saWIvY29kZW1pcnJvclwiKSwgcmVxdWlyZShcIi4uL2ZvbGQveG1sLWZvbGRcIikpO1xuICBlbHNlIGlmICh0eXBlb2YgZGVmaW5lID09IFwiZnVuY3Rpb25cIiAmJiBkZWZpbmUuYW1kKSAvLyBBTURcbiAgICBkZWZpbmUoW1wiLi4vLi4vbGliL2NvZGVtaXJyb3JcIiwgXCIuLi9mb2xkL3htbC1mb2xkXCJdLCBtb2QpO1xuICBlbHNlIC8vIFBsYWluIGJyb3dzZXIgZW52XG4gICAgbW9kKENvZGVNaXJyb3IpO1xufSkoZnVuY3Rpb24oQ29kZU1pcnJvcikge1xuICBDb2RlTWlycm9yLmRlZmluZU9wdGlvbihcImF1dG9DbG9zZVRhZ3NcIiwgZmFsc2UsIGZ1bmN0aW9uKGNtLCB2YWwsIG9sZCkge1xuICAgIGlmIChvbGQgIT0gQ29kZU1pcnJvci5Jbml0ICYmIG9sZClcbiAgICAgIGNtLnJlbW92ZUtleU1hcChcImF1dG9DbG9zZVRhZ3NcIik7XG4gICAgaWYgKCF2YWwpIHJldHVybjtcbiAgICB2YXIgbWFwID0ge25hbWU6IFwiYXV0b0Nsb3NlVGFnc1wifTtcbiAgICBpZiAodHlwZW9mIHZhbCAhPSBcIm9iamVjdFwiIHx8IHZhbC53aGVuQ2xvc2luZylcbiAgICAgIG1hcFtcIicvJ1wiXSA9IGZ1bmN0aW9uKGNtKSB7IHJldHVybiBhdXRvQ2xvc2VTbGFzaChjbSk7IH07XG4gICAgaWYgKHR5cGVvZiB2YWwgIT0gXCJvYmplY3RcIiB8fCB2YWwud2hlbk9wZW5pbmcpXG4gICAgICBtYXBbXCInPidcIl0gPSBmdW5jdGlvbihjbSkgeyByZXR1cm4gYXV0b0Nsb3NlR1QoY20pOyB9O1xuICAgIGNtLmFkZEtleU1hcChtYXApO1xuICB9KTtcblxuICB2YXIgaHRtbERvbnRDbG9zZSA9IFtcImFyZWFcIiwgXCJiYXNlXCIsIFwiYnJcIiwgXCJjb2xcIiwgXCJjb21tYW5kXCIsIFwiZW1iZWRcIiwgXCJoclwiLCBcImltZ1wiLCBcImlucHV0XCIsIFwia2V5Z2VuXCIsIFwibGlua1wiLCBcIm1ldGFcIiwgXCJwYXJhbVwiLFxuICAgICAgICAgICAgICAgICAgICAgICBcInNvdXJjZVwiLCBcInRyYWNrXCIsIFwid2JyXCJdO1xuICB2YXIgaHRtbEluZGVudCA9IFtcImFwcGxldFwiLCBcImJsb2NrcXVvdGVcIiwgXCJib2R5XCIsIFwiYnV0dG9uXCIsIFwiZGl2XCIsIFwiZGxcIiwgXCJmaWVsZHNldFwiLCBcImZvcm1cIiwgXCJmcmFtZXNldFwiLCBcImgxXCIsIFwiaDJcIiwgXCJoM1wiLCBcImg0XCIsXG4gICAgICAgICAgICAgICAgICAgIFwiaDVcIiwgXCJoNlwiLCBcImhlYWRcIiwgXCJodG1sXCIsIFwiaWZyYW1lXCIsIFwibGF5ZXJcIiwgXCJsZWdlbmRcIiwgXCJvYmplY3RcIiwgXCJvbFwiLCBcInBcIiwgXCJzZWxlY3RcIiwgXCJ0YWJsZVwiLCBcInVsXCJdO1xuXG4gIGZ1bmN0aW9uIGF1dG9DbG9zZUdUKGNtKSB7XG4gICAgaWYgKGNtLmdldE9wdGlvbihcImRpc2FibGVJbnB1dFwiKSkgcmV0dXJuIENvZGVNaXJyb3IuUGFzcztcbiAgICB2YXIgcmFuZ2VzID0gY20ubGlzdFNlbGVjdGlvbnMoKSwgcmVwbGFjZW1lbnRzID0gW107XG4gICAgdmFyIG9wdCA9IGNtLmdldE9wdGlvbihcImF1dG9DbG9zZVRhZ3NcIik7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCByYW5nZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGlmICghcmFuZ2VzW2ldLmVtcHR5KCkpIHJldHVybiBDb2RlTWlycm9yLlBhc3M7XG4gICAgICB2YXIgcG9zID0gcmFuZ2VzW2ldLmhlYWQsIHRvayA9IGNtLmdldFRva2VuQXQocG9zKTtcbiAgICAgIHZhciBpbm5lciA9IENvZGVNaXJyb3IuaW5uZXJNb2RlKGNtLmdldE1vZGUoKSwgdG9rLnN0YXRlKSwgc3RhdGUgPSBpbm5lci5zdGF0ZTtcbiAgICAgIGlmIChpbm5lci5tb2RlLm5hbWUgIT0gXCJ4bWxcIiB8fCAhc3RhdGUudGFnTmFtZSkgcmV0dXJuIENvZGVNaXJyb3IuUGFzcztcblxuICAgICAgdmFyIGh0bWwgPSBpbm5lci5tb2RlLmNvbmZpZ3VyYXRpb24gPT0gXCJodG1sXCI7XG4gICAgICB2YXIgZG9udENsb3NlVGFncyA9ICh0eXBlb2Ygb3B0ID09IFwib2JqZWN0XCIgJiYgb3B0LmRvbnRDbG9zZVRhZ3MpIHx8IChodG1sICYmIGh0bWxEb250Q2xvc2UpO1xuICAgICAgdmFyIGluZGVudFRhZ3MgPSAodHlwZW9mIG9wdCA9PSBcIm9iamVjdFwiICYmIG9wdC5pbmRlbnRUYWdzKSB8fCAoaHRtbCAmJiBodG1sSW5kZW50KTtcblxuICAgICAgdmFyIHRhZ05hbWUgPSBzdGF0ZS50YWdOYW1lO1xuICAgICAgaWYgKHRvay5lbmQgPiBwb3MuY2gpIHRhZ05hbWUgPSB0YWdOYW1lLnNsaWNlKDAsIHRhZ05hbWUubGVuZ3RoIC0gdG9rLmVuZCArIHBvcy5jaCk7XG4gICAgICB2YXIgbG93ZXJUYWdOYW1lID0gdGFnTmFtZS50b0xvd2VyQ2FzZSgpO1xuICAgICAgLy8gRG9uJ3QgcHJvY2VzcyB0aGUgJz4nIGF0IHRoZSBlbmQgb2YgYW4gZW5kLXRhZyBvciBzZWxmLWNsb3NpbmcgdGFnXG4gICAgICBpZiAoIXRhZ05hbWUgfHxcbiAgICAgICAgICB0b2sudHlwZSA9PSBcInN0cmluZ1wiICYmICh0b2suZW5kICE9IHBvcy5jaCB8fCAhL1tcXFwiXFwnXS8udGVzdCh0b2suc3RyaW5nLmNoYXJBdCh0b2suc3RyaW5nLmxlbmd0aCAtIDEpKSB8fCB0b2suc3RyaW5nLmxlbmd0aCA9PSAxKSB8fFxuICAgICAgICAgIHRvay50eXBlID09IFwidGFnXCIgJiYgc3RhdGUudHlwZSA9PSBcImNsb3NlVGFnXCIgfHxcbiAgICAgICAgICB0b2suc3RyaW5nLmluZGV4T2YoXCIvXCIpID09ICh0b2suc3RyaW5nLmxlbmd0aCAtIDEpIHx8IC8vIG1hdGNoIHNvbWV0aGluZyBsaWtlIDxzb21lVGFnTmFtZSAvPlxuICAgICAgICAgIGRvbnRDbG9zZVRhZ3MgJiYgaW5kZXhPZihkb250Q2xvc2VUYWdzLCBsb3dlclRhZ05hbWUpID4gLTEgfHxcbiAgICAgICAgICBjbG9zaW5nVGFnRXhpc3RzKGNtLCB0YWdOYW1lLCBwb3MsIHN0YXRlLCB0cnVlKSlcbiAgICAgICAgcmV0dXJuIENvZGVNaXJyb3IuUGFzcztcblxuICAgICAgdmFyIGVtcHR5VGFncyA9IHR5cGVvZiBvcHQgPT0gXCJvYmplY3RcIiAmJiBvcHQuZW1wdHlUYWdzO1xuICAgICAgaWYgKGVtcHR5VGFncyAmJiBpbmRleE9mKGVtcHR5VGFncywgdGFnTmFtZSkgPiAtMSkge1xuICAgICAgICByZXBsYWNlbWVudHNbaV0gPSB7IHRleHQ6IFwiLz5cIiwgbmV3UG9zOiBDb2RlTWlycm9yLlBvcyhwb3MubGluZSwgcG9zLmNoICsgMikgfTtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIHZhciBpbmRlbnQgPSBpbmRlbnRUYWdzICYmIGluZGV4T2YoaW5kZW50VGFncywgbG93ZXJUYWdOYW1lKSA+IC0xO1xuICAgICAgcmVwbGFjZW1lbnRzW2ldID0ge2luZGVudDogaW5kZW50LFxuICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ6IFwiPlwiICsgKGluZGVudCA/IFwiXFxuXFxuXCIgOiBcIlwiKSArIFwiPC9cIiArIHRhZ05hbWUgKyBcIj5cIixcbiAgICAgICAgICAgICAgICAgICAgICAgICBuZXdQb3M6IGluZGVudCA/IENvZGVNaXJyb3IuUG9zKHBvcy5saW5lICsgMSwgMCkgOiBDb2RlTWlycm9yLlBvcyhwb3MubGluZSwgcG9zLmNoICsgMSl9O1xuICAgIH1cblxuICAgIHZhciBkb250SW5kZW50T25BdXRvQ2xvc2UgPSAodHlwZW9mIG9wdCA9PSBcIm9iamVjdFwiICYmIG9wdC5kb250SW5kZW50T25BdXRvQ2xvc2UpO1xuICAgIGZvciAodmFyIGkgPSByYW5nZXMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcbiAgICAgIHZhciBpbmZvID0gcmVwbGFjZW1lbnRzW2ldO1xuICAgICAgY20ucmVwbGFjZVJhbmdlKGluZm8udGV4dCwgcmFuZ2VzW2ldLmhlYWQsIHJhbmdlc1tpXS5hbmNob3IsIFwiK2luc2VydFwiKTtcbiAgICAgIHZhciBzZWwgPSBjbS5saXN0U2VsZWN0aW9ucygpLnNsaWNlKDApO1xuICAgICAgc2VsW2ldID0ge2hlYWQ6IGluZm8ubmV3UG9zLCBhbmNob3I6IGluZm8ubmV3UG9zfTtcbiAgICAgIGNtLnNldFNlbGVjdGlvbnMoc2VsKTtcbiAgICAgIGlmICghZG9udEluZGVudE9uQXV0b0Nsb3NlICYmIGluZm8uaW5kZW50KSB7XG4gICAgICAgIGNtLmluZGVudExpbmUoaW5mby5uZXdQb3MubGluZSwgbnVsbCwgdHJ1ZSk7XG4gICAgICAgIGNtLmluZGVudExpbmUoaW5mby5uZXdQb3MubGluZSArIDEsIG51bGwsIHRydWUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIGF1dG9DbG9zZUN1cnJlbnQoY20sIHR5cGluZ1NsYXNoKSB7XG4gICAgdmFyIHJhbmdlcyA9IGNtLmxpc3RTZWxlY3Rpb25zKCksIHJlcGxhY2VtZW50cyA9IFtdO1xuICAgIHZhciBoZWFkID0gdHlwaW5nU2xhc2ggPyBcIi9cIiA6IFwiPC9cIjtcbiAgICB2YXIgb3B0ID0gY20uZ2V0T3B0aW9uKFwiYXV0b0Nsb3NlVGFnc1wiKTtcbiAgICB2YXIgZG9udEluZGVudE9uQXV0b0Nsb3NlID0gKHR5cGVvZiBvcHQgPT0gXCJvYmplY3RcIiAmJiBvcHQuZG9udEluZGVudE9uU2xhc2gpO1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcmFuZ2VzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBpZiAoIXJhbmdlc1tpXS5lbXB0eSgpKSByZXR1cm4gQ29kZU1pcnJvci5QYXNzO1xuICAgICAgdmFyIHBvcyA9IHJhbmdlc1tpXS5oZWFkLCB0b2sgPSBjbS5nZXRUb2tlbkF0KHBvcyk7XG4gICAgICB2YXIgaW5uZXIgPSBDb2RlTWlycm9yLmlubmVyTW9kZShjbS5nZXRNb2RlKCksIHRvay5zdGF0ZSksIHN0YXRlID0gaW5uZXIuc3RhdGU7XG4gICAgICBpZiAodHlwaW5nU2xhc2ggJiYgKHRvay50eXBlID09IFwic3RyaW5nXCIgfHwgdG9rLnN0cmluZy5jaGFyQXQoMCkgIT0gXCI8XCIgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdG9rLnN0YXJ0ICE9IHBvcy5jaCAtIDEpKVxuICAgICAgICByZXR1cm4gQ29kZU1pcnJvci5QYXNzO1xuICAgICAgLy8gS2x1ZGdlIHRvIGdldCBhcm91bmQgdGhlIGZhY3QgdGhhdCB3ZSBhcmUgbm90IGluIFhNTCBtb2RlXG4gICAgICAvLyB3aGVuIGNvbXBsZXRpbmcgaW4gSlMvQ1NTIHNuaXBwZXQgaW4gaHRtbG1peGVkIG1vZGUuIERvZXMgbm90XG4gICAgICAvLyB3b3JrIGZvciBvdGhlciBYTUwgZW1iZWRkZWQgbGFuZ3VhZ2VzICh0aGVyZSBpcyBubyBnZW5lcmFsXG4gICAgICAvLyB3YXkgdG8gZ28gZnJvbSBhIG1peGVkIG1vZGUgdG8gaXRzIGN1cnJlbnQgWE1MIHN0YXRlKS5cbiAgICAgIHZhciByZXBsYWNlbWVudDtcbiAgICAgIGlmIChpbm5lci5tb2RlLm5hbWUgIT0gXCJ4bWxcIikge1xuICAgICAgICBpZiAoY20uZ2V0TW9kZSgpLm5hbWUgPT0gXCJodG1sbWl4ZWRcIiAmJiBpbm5lci5tb2RlLm5hbWUgPT0gXCJqYXZhc2NyaXB0XCIpXG4gICAgICAgICAgcmVwbGFjZW1lbnQgPSBoZWFkICsgXCJzY3JpcHRcIjtcbiAgICAgICAgZWxzZSBpZiAoY20uZ2V0TW9kZSgpLm5hbWUgPT0gXCJodG1sbWl4ZWRcIiAmJiBpbm5lci5tb2RlLm5hbWUgPT0gXCJjc3NcIilcbiAgICAgICAgICByZXBsYWNlbWVudCA9IGhlYWQgKyBcInN0eWxlXCI7XG4gICAgICAgIGVsc2VcbiAgICAgICAgICByZXR1cm4gQ29kZU1pcnJvci5QYXNzO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKCFzdGF0ZS5jb250ZXh0IHx8ICFzdGF0ZS5jb250ZXh0LnRhZ05hbWUgfHxcbiAgICAgICAgICAgIGNsb3NpbmdUYWdFeGlzdHMoY20sIHN0YXRlLmNvbnRleHQudGFnTmFtZSwgcG9zLCBzdGF0ZSkpXG4gICAgICAgICAgcmV0dXJuIENvZGVNaXJyb3IuUGFzcztcbiAgICAgICAgcmVwbGFjZW1lbnQgPSBoZWFkICsgc3RhdGUuY29udGV4dC50YWdOYW1lO1xuICAgICAgfVxuICAgICAgaWYgKGNtLmdldExpbmUocG9zLmxpbmUpLmNoYXJBdCh0b2suZW5kKSAhPSBcIj5cIikgcmVwbGFjZW1lbnQgKz0gXCI+XCI7XG4gICAgICByZXBsYWNlbWVudHNbaV0gPSByZXBsYWNlbWVudDtcbiAgICB9XG4gICAgY20ucmVwbGFjZVNlbGVjdGlvbnMocmVwbGFjZW1lbnRzKTtcbiAgICByYW5nZXMgPSBjbS5saXN0U2VsZWN0aW9ucygpO1xuICAgIGlmICghZG9udEluZGVudE9uQXV0b0Nsb3NlKSB7XG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcmFuZ2VzLmxlbmd0aDsgaSsrKVxuICAgICAgICAgICAgaWYgKGkgPT0gcmFuZ2VzLmxlbmd0aCAtIDEgfHwgcmFuZ2VzW2ldLmhlYWQubGluZSA8IHJhbmdlc1tpICsgMV0uaGVhZC5saW5lKVxuICAgICAgICAgICAgICAgIGNtLmluZGVudExpbmUocmFuZ2VzW2ldLmhlYWQubGluZSk7XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gYXV0b0Nsb3NlU2xhc2goY20pIHtcbiAgICBpZiAoY20uZ2V0T3B0aW9uKFwiZGlzYWJsZUlucHV0XCIpKSByZXR1cm4gQ29kZU1pcnJvci5QYXNzO1xuICAgIHJldHVybiBhdXRvQ2xvc2VDdXJyZW50KGNtLCB0cnVlKTtcbiAgfVxuXG4gIENvZGVNaXJyb3IuY29tbWFuZHMuY2xvc2VUYWcgPSBmdW5jdGlvbihjbSkgeyByZXR1cm4gYXV0b0Nsb3NlQ3VycmVudChjbSk7IH07XG5cbiAgZnVuY3Rpb24gaW5kZXhPZihjb2xsZWN0aW9uLCBlbHQpIHtcbiAgICBpZiAoY29sbGVjdGlvbi5pbmRleE9mKSByZXR1cm4gY29sbGVjdGlvbi5pbmRleE9mKGVsdCk7XG4gICAgZm9yICh2YXIgaSA9IDAsIGUgPSBjb2xsZWN0aW9uLmxlbmd0aDsgaSA8IGU7ICsraSlcbiAgICAgIGlmIChjb2xsZWN0aW9uW2ldID09IGVsdCkgcmV0dXJuIGk7XG4gICAgcmV0dXJuIC0xO1xuICB9XG5cbiAgLy8gSWYgeG1sLWZvbGQgaXMgbG9hZGVkLCB3ZSB1c2UgaXRzIGZ1bmN0aW9uYWxpdHkgdG8gdHJ5IGFuZCB2ZXJpZnlcbiAgLy8gd2hldGhlciBhIGdpdmVuIHRhZyBpcyBhY3R1YWxseSB1bmNsb3NlZC5cbiAgZnVuY3Rpb24gY2xvc2luZ1RhZ0V4aXN0cyhjbSwgdGFnTmFtZSwgcG9zLCBzdGF0ZSwgbmV3VGFnKSB7XG4gICAgaWYgKCFDb2RlTWlycm9yLnNjYW5Gb3JDbG9zaW5nVGFnKSByZXR1cm4gZmFsc2U7XG4gICAgdmFyIGVuZCA9IE1hdGgubWluKGNtLmxhc3RMaW5lKCkgKyAxLCBwb3MubGluZSArIDUwMCk7XG4gICAgdmFyIG5leHRDbG9zZSA9IENvZGVNaXJyb3Iuc2NhbkZvckNsb3NpbmdUYWcoY20sIHBvcywgbnVsbCwgZW5kKTtcbiAgICBpZiAoIW5leHRDbG9zZSB8fCBuZXh0Q2xvc2UudGFnICE9IHRhZ05hbWUpIHJldHVybiBmYWxzZTtcbiAgICB2YXIgY3ggPSBzdGF0ZS5jb250ZXh0O1xuICAgIC8vIElmIHRoZSBpbW1lZGlhdGUgd3JhcHBpbmcgY29udGV4dCBjb250YWlucyBvbkN4IGluc3RhbmNlcyBvZlxuICAgIC8vIHRoZSBzYW1lIHRhZywgYSBjbG9zaW5nIHRhZyBvbmx5IGV4aXN0cyBpZiB0aGVyZSBhcmUgYXQgbGVhc3RcbiAgICAvLyB0aGF0IG1hbnkgY2xvc2luZyB0YWdzIG9mIHRoYXQgdHlwZSBmb2xsb3dpbmcuXG4gICAgZm9yICh2YXIgb25DeCA9IG5ld1RhZyA/IDEgOiAwOyBjeCAmJiBjeC50YWdOYW1lID09IHRhZ05hbWU7IGN4ID0gY3gucHJldikgKytvbkN4O1xuICAgIHBvcyA9IG5leHRDbG9zZS50bztcbiAgICBmb3IgKHZhciBpID0gMTsgaSA8IG9uQ3g7IGkrKykge1xuICAgICAgdmFyIG5leHQgPSBDb2RlTWlycm9yLnNjYW5Gb3JDbG9zaW5nVGFnKGNtLCBwb3MsIG51bGwsIGVuZCk7XG4gICAgICBpZiAoIW5leHQgfHwgbmV4dC50YWcgIT0gdGFnTmFtZSkgcmV0dXJuIGZhbHNlO1xuICAgICAgcG9zID0gbmV4dC50bztcbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbn0pO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/codemirror/addon/edit/closetag.js\n"); /***/ }), /***/ "./node_modules/codemirror/addon/edit/continuelist.js": /*!************************************************************!*\ !*** ./node_modules/codemirror/addon/edit/continuelist.js ***! \************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ \"./node_modules/codemirror/lib/codemirror.js\"));\n else {}\n})(function(CodeMirror) {\n \"use strict\";\n\n var listRE = /^(\\s*)(>[> ]*|[*+-] \\[[x ]\\]\\s|[*+-]\\s|(\\d+)([.)]))(\\s*)/,\n emptyListRE = /^(\\s*)(>[> ]*|[*+-] \\[[x ]\\]|[*+-]|(\\d+)[.)])(\\s*)$/,\n unorderedListRE = /[*+-]\\s/;\n\n CodeMirror.commands.newlineAndIndentContinueMarkdownList = function(cm) {\n if (cm.getOption(\"disableInput\")) return CodeMirror.Pass;\n var ranges = cm.listSelections(), replacements = [];\n for (var i = 0; i < ranges.length; i++) {\n var pos = ranges[i].head;\n\n // If we're not in Markdown mode, fall back to normal newlineAndIndent\n var eolState = cm.getStateAfter(pos.line);\n var inner = CodeMirror.innerMode(cm.getMode(), eolState);\n if (inner.mode.name !== \"markdown\") {\n cm.execCommand(\"newlineAndIndent\");\n return;\n } else {\n eolState = inner.state;\n }\n\n var inList = eolState.list !== false;\n var inQuote = eolState.quote !== 0;\n\n var line = cm.getLine(pos.line), match = listRE.exec(line);\n var cursorBeforeBullet = /^\\s*$/.test(line.slice(0, pos.ch));\n if (!ranges[i].empty() || (!inList && !inQuote) || !match || cursorBeforeBullet) {\n cm.execCommand(\"newlineAndIndent\");\n return;\n }\n if (emptyListRE.test(line)) {\n if (!/>\\s*$/.test(line)) cm.replaceRange(\"\", {\n line: pos.line, ch: 0\n }, {\n line: pos.line, ch: pos.ch + 1\n });\n replacements[i] = \"\\n\";\n } else {\n var indent = match[1], after = match[5];\n var numbered = !(unorderedListRE.test(match[2]) || match[2].indexOf(\">\") >= 0);\n var bullet = numbered ? (parseInt(match[3], 10) + 1) + match[4] : match[2].replace(\"x\", \" \");\n replacements[i] = \"\\n\" + indent + bullet + after;\n\n if (numbered) incrementRemainingMarkdownListNumbers(cm, pos);\n }\n }\n\n cm.replaceSelections(replacements);\n };\n\n // Auto-updating Markdown list numbers when a new item is added to the\n // middle of a list\n function incrementRemainingMarkdownListNumbers(cm, pos) {\n var startLine = pos.line, lookAhead = 0, skipCount = 0;\n var startItem = listRE.exec(cm.getLine(startLine)), startIndent = startItem[1];\n\n do {\n lookAhead += 1;\n var nextLineNumber = startLine + lookAhead;\n var nextLine = cm.getLine(nextLineNumber), nextItem = listRE.exec(nextLine);\n\n if (nextItem) {\n var nextIndent = nextItem[1];\n var newNumber = (parseInt(startItem[3], 10) + lookAhead - skipCount);\n var nextNumber = (parseInt(nextItem[3], 10)), itemNumber = nextNumber;\n\n if (startIndent === nextIndent && !isNaN(nextNumber)) {\n if (newNumber === nextNumber) itemNumber = nextNumber + 1;\n if (newNumber > nextNumber) itemNumber = newNumber + 1;\n cm.replaceRange(\n nextLine.replace(listRE, nextIndent + itemNumber + nextItem[4] + nextItem[5]),\n {\n line: nextLineNumber, ch: 0\n }, {\n line: nextLineNumber, ch: nextLine.length\n });\n } else {\n if (startIndent.length > nextIndent.length) return;\n // This doesn't run if the next line immediatley indents, as it is\n // not clear of the users intention (new indented item or same level)\n if ((startIndent.length < nextIndent.length) && (lookAhead === 1)) return;\n skipCount += 1;\n }\n }\n } while (nextItem);\n }\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9hZGRvbi9lZGl0L2NvbnRpbnVlbGlzdC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb2RlbWlycm9yL2FkZG9uL2VkaXQvY29udGludWVsaXN0LmpzPzFlZjciXSwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29kZU1pcnJvciwgY29weXJpZ2h0IChjKSBieSBNYXJpam4gSGF2ZXJiZWtlIGFuZCBvdGhlcnNcbi8vIERpc3RyaWJ1dGVkIHVuZGVyIGFuIE1JVCBsaWNlbnNlOiBodHRwczovL2NvZGVtaXJyb3IubmV0L0xJQ0VOU0VcblxuKGZ1bmN0aW9uKG1vZCkge1xuICBpZiAodHlwZW9mIGV4cG9ydHMgPT0gXCJvYmplY3RcIiAmJiB0eXBlb2YgbW9kdWxlID09IFwib2JqZWN0XCIpIC8vIENvbW1vbkpTXG4gICAgbW9kKHJlcXVpcmUoXCIuLi8uLi9saWIvY29kZW1pcnJvclwiKSk7XG4gIGVsc2UgaWYgKHR5cGVvZiBkZWZpbmUgPT0gXCJmdW5jdGlvblwiICYmIGRlZmluZS5hbWQpIC8vIEFNRFxuICAgIGRlZmluZShbXCIuLi8uLi9saWIvY29kZW1pcnJvclwiXSwgbW9kKTtcbiAgZWxzZSAvLyBQbGFpbiBicm93c2VyIGVudlxuICAgIG1vZChDb2RlTWlycm9yKTtcbn0pKGZ1bmN0aW9uKENvZGVNaXJyb3IpIHtcbiAgXCJ1c2Ugc3RyaWN0XCI7XG5cbiAgdmFyIGxpc3RSRSA9IC9eKFxccyopKD5bPiBdKnxbKistXSBcXFtbeCBdXFxdXFxzfFsqKy1dXFxzfChcXGQrKShbLildKSkoXFxzKikvLFxuICAgICAgZW1wdHlMaXN0UkUgPSAvXihcXHMqKSg+Wz4gXSp8WyorLV0gXFxbW3ggXVxcXXxbKistXXwoXFxkKylbLildKShcXHMqKSQvLFxuICAgICAgdW5vcmRlcmVkTGlzdFJFID0gL1sqKy1dXFxzLztcblxuICBDb2RlTWlycm9yLmNvbW1hbmRzLm5ld2xpbmVBbmRJbmRlbnRDb250aW51ZU1hcmtkb3duTGlzdCA9IGZ1bmN0aW9uKGNtKSB7XG4gICAgaWYgKGNtLmdldE9wdGlvbihcImRpc2FibGVJbnB1dFwiKSkgcmV0dXJuIENvZGVNaXJyb3IuUGFzcztcbiAgICB2YXIgcmFuZ2VzID0gY20ubGlzdFNlbGVjdGlvbnMoKSwgcmVwbGFjZW1lbnRzID0gW107XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCByYW5nZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIHZhciBwb3MgPSByYW5nZXNbaV0uaGVhZDtcblxuICAgICAgLy8gSWYgd2UncmUgbm90IGluIE1hcmtkb3duIG1vZGUsIGZhbGwgYmFjayB0byBub3JtYWwgbmV3bGluZUFuZEluZGVudFxuICAgICAgdmFyIGVvbFN0YXRlID0gY20uZ2V0U3RhdGVBZnRlcihwb3MubGluZSk7XG4gICAgICB2YXIgaW5uZXIgPSBDb2RlTWlycm9yLmlubmVyTW9kZShjbS5nZXRNb2RlKCksIGVvbFN0YXRlKTtcbiAgICAgIGlmIChpbm5lci5tb2RlLm5hbWUgIT09IFwibWFya2Rvd25cIikge1xuICAgICAgICBjbS5leGVjQ29tbWFuZChcIm5ld2xpbmVBbmRJbmRlbnRcIik7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGVvbFN0YXRlID0gaW5uZXIuc3RhdGU7XG4gICAgICB9XG5cbiAgICAgIHZhciBpbkxpc3QgPSBlb2xTdGF0ZS5saXN0ICE9PSBmYWxzZTtcbiAgICAgIHZhciBpblF1b3RlID0gZW9sU3RhdGUucXVvdGUgIT09IDA7XG5cbiAgICAgIHZhciBsaW5lID0gY20uZ2V0TGluZShwb3MubGluZSksIG1hdGNoID0gbGlzdFJFLmV4ZWMobGluZSk7XG4gICAgICB2YXIgY3Vyc29yQmVmb3JlQnVsbGV0ID0gL15cXHMqJC8udGVzdChsaW5lLnNsaWNlKDAsIHBvcy5jaCkpO1xuICAgICAgaWYgKCFyYW5nZXNbaV0uZW1wdHkoKSB8fCAoIWluTGlzdCAmJiAhaW5RdW90ZSkgfHwgIW1hdGNoIHx8IGN1cnNvckJlZm9yZUJ1bGxldCkge1xuICAgICAgICBjbS5leGVjQ29tbWFuZChcIm5ld2xpbmVBbmRJbmRlbnRcIik7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGlmIChlbXB0eUxpc3RSRS50ZXN0KGxpbmUpKSB7XG4gICAgICAgIGlmICghLz5cXHMqJC8udGVzdChsaW5lKSkgY20ucmVwbGFjZVJhbmdlKFwiXCIsIHtcbiAgICAgICAgICBsaW5lOiBwb3MubGluZSwgY2g6IDBcbiAgICAgICAgfSwge1xuICAgICAgICAgIGxpbmU6IHBvcy5saW5lLCBjaDogcG9zLmNoICsgMVxuICAgICAgICB9KTtcbiAgICAgICAgcmVwbGFjZW1lbnRzW2ldID0gXCJcXG5cIjtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHZhciBpbmRlbnQgPSBtYXRjaFsxXSwgYWZ0ZXIgPSBtYXRjaFs1XTtcbiAgICAgICAgdmFyIG51bWJlcmVkID0gISh1bm9yZGVyZWRMaXN0UkUudGVzdChtYXRjaFsyXSkgfHwgbWF0Y2hbMl0uaW5kZXhPZihcIj5cIikgPj0gMCk7XG4gICAgICAgIHZhciBidWxsZXQgPSBudW1iZXJlZCA/IChwYXJzZUludChtYXRjaFszXSwgMTApICsgMSkgKyBtYXRjaFs0XSA6IG1hdGNoWzJdLnJlcGxhY2UoXCJ4XCIsIFwiIFwiKTtcbiAgICAgICAgcmVwbGFjZW1lbnRzW2ldID0gXCJcXG5cIiArIGluZGVudCArIGJ1bGxldCArIGFmdGVyO1xuXG4gICAgICAgIGlmIChudW1iZXJlZCkgaW5jcmVtZW50UmVtYWluaW5nTWFya2Rvd25MaXN0TnVtYmVycyhjbSwgcG9zKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjbS5yZXBsYWNlU2VsZWN0aW9ucyhyZXBsYWNlbWVudHMpO1xuICB9O1xuXG4gIC8vIEF1dG8tdXBkYXRpbmcgTWFya2Rvd24gbGlzdCBudW1iZXJzIHdoZW4gYSBuZXcgaXRlbSBpcyBhZGRlZCB0byB0aGVcbiAgLy8gbWlkZGxlIG9mIGEgbGlzdFxuICBmdW5jdGlvbiBpbmNyZW1lbnRSZW1haW5pbmdNYXJrZG93bkxpc3ROdW1iZXJzKGNtLCBwb3MpIHtcbiAgICB2YXIgc3RhcnRMaW5lID0gcG9zLmxpbmUsIGxvb2tBaGVhZCA9IDAsIHNraXBDb3VudCA9IDA7XG4gICAgdmFyIHN0YXJ0SXRlbSA9IGxpc3RSRS5leGVjKGNtLmdldExpbmUoc3RhcnRMaW5lKSksIHN0YXJ0SW5kZW50ID0gc3RhcnRJdGVtWzFdO1xuXG4gICAgZG8ge1xuICAgICAgbG9va0FoZWFkICs9IDE7XG4gICAgICB2YXIgbmV4dExpbmVOdW1iZXIgPSBzdGFydExpbmUgKyBsb29rQWhlYWQ7XG4gICAgICB2YXIgbmV4dExpbmUgPSBjbS5nZXRMaW5lKG5leHRMaW5lTnVtYmVyKSwgbmV4dEl0ZW0gPSBsaXN0UkUuZXhlYyhuZXh0TGluZSk7XG5cbiAgICAgIGlmIChuZXh0SXRlbSkge1xuICAgICAgICB2YXIgbmV4dEluZGVudCA9IG5leHRJdGVtWzFdO1xuICAgICAgICB2YXIgbmV3TnVtYmVyID0gKHBhcnNlSW50KHN0YXJ0SXRlbVszXSwgMTApICsgbG9va0FoZWFkIC0gc2tpcENvdW50KTtcbiAgICAgICAgdmFyIG5leHROdW1iZXIgPSAocGFyc2VJbnQobmV4dEl0ZW1bM10sIDEwKSksIGl0ZW1OdW1iZXIgPSBuZXh0TnVtYmVyO1xuXG4gICAgICAgIGlmIChzdGFydEluZGVudCA9PT0gbmV4dEluZGVudCAmJiAhaXNOYU4obmV4dE51bWJlcikpIHtcbiAgICAgICAgICBpZiAobmV3TnVtYmVyID09PSBuZXh0TnVtYmVyKSBpdGVtTnVtYmVyID0gbmV4dE51bWJlciArIDE7XG4gICAgICAgICAgaWYgKG5ld051bWJlciA+IG5leHROdW1iZXIpIGl0ZW1OdW1iZXIgPSBuZXdOdW1iZXIgKyAxO1xuICAgICAgICAgIGNtLnJlcGxhY2VSYW5nZShcbiAgICAgICAgICAgIG5leHRMaW5lLnJlcGxhY2UobGlzdFJFLCBuZXh0SW5kZW50ICsgaXRlbU51bWJlciArIG5leHRJdGVtWzRdICsgbmV4dEl0ZW1bNV0pLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGxpbmU6IG5leHRMaW5lTnVtYmVyLCBjaDogMFxuICAgICAgICAgIH0sIHtcbiAgICAgICAgICAgIGxpbmU6IG5leHRMaW5lTnVtYmVyLCBjaDogbmV4dExpbmUubGVuZ3RoXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaWYgKHN0YXJ0SW5kZW50Lmxlbmd0aCA+IG5leHRJbmRlbnQubGVuZ3RoKSByZXR1cm47XG4gICAgICAgICAgLy8gVGhpcyBkb2Vzbid0IHJ1biBpZiB0aGUgbmV4dCBsaW5lIGltbWVkaWF0bGV5IGluZGVudHMsIGFzIGl0IGlzXG4gICAgICAgICAgLy8gbm90IGNsZWFyIG9mIHRoZSB1c2VycyBpbnRlbnRpb24gKG5ldyBpbmRlbnRlZCBpdGVtIG9yIHNhbWUgbGV2ZWwpXG4gICAgICAgICAgaWYgKChzdGFydEluZGVudC5sZW5ndGggPCBuZXh0SW5kZW50Lmxlbmd0aCkgJiYgKGxvb2tBaGVhZCA9PT0gMSkpIHJldHVybjtcbiAgICAgICAgICBza2lwQ291bnQgKz0gMTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gd2hpbGUgKG5leHRJdGVtKTtcbiAgfVxufSk7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/codemirror/addon/edit/continuelist.js\n"); /***/ }), /***/ "./node_modules/codemirror/addon/edit/matchbrackets.js": /*!*************************************************************!*\ !*** ./node_modules/codemirror/addon/edit/matchbrackets.js ***! \*************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ \"./node_modules/codemirror/lib/codemirror.js\"));\n else {}\n})(function(CodeMirror) {\n var ie_lt8 = /MSIE \\d/.test(navigator.userAgent) &&\n (document.documentMode == null || document.documentMode < 8);\n\n var Pos = CodeMirror.Pos;\n\n var matching = {\"(\": \")>\", \")\": \"(<\", \"[\": \"]>\", \"]\": \"[<\", \"{\": \"}>\", \"}\": \"{<\", \"<\": \">>\", \">\": \"<<\"};\n\n function bracketRegex(config) {\n return config && config.bracketRegex || /[(){}[\\]]/\n }\n\n function findMatchingBracket(cm, where, config) {\n var line = cm.getLineHandle(where.line), pos = where.ch - 1;\n var afterCursor = config && config.afterCursor\n if (afterCursor == null)\n afterCursor = /(^| )cm-fat-cursor($| )/.test(cm.getWrapperElement().className)\n var re = bracketRegex(config)\n\n // A cursor is defined as between two characters, but in in vim command mode\n // (i.e. not insert mode), the cursor is visually represented as a\n // highlighted box on top of the 2nd character. Otherwise, we allow matches\n // from before or after the cursor.\n var match = (!afterCursor && pos >= 0 && re.test(line.text.charAt(pos)) && matching[line.text.charAt(pos)]) ||\n re.test(line.text.charAt(pos + 1)) && matching[line.text.charAt(++pos)];\n if (!match) return null;\n var dir = match.charAt(1) == \">\" ? 1 : -1;\n if (config && config.strict && (dir > 0) != (pos == where.ch)) return null;\n var style = cm.getTokenTypeAt(Pos(where.line, pos + 1));\n\n var found = scanForBracket(cm, Pos(where.line, pos + (dir > 0 ? 1 : 0)), dir, style || null, config);\n if (found == null) return null;\n return {from: Pos(where.line, pos), to: found && found.pos,\n match: found && found.ch == match.charAt(0), forward: dir > 0};\n }\n\n // bracketRegex is used to specify which type of bracket to scan\n // should be a regexp, e.g. /[[\\]]/\n //\n // Note: If \"where\" is on an open bracket, then this bracket is ignored.\n //\n // Returns false when no bracket was found, null when it reached\n // maxScanLines and gave up\n function scanForBracket(cm, where, dir, style, config) {\n var maxScanLen = (config && config.maxScanLineLength) || 10000;\n var maxScanLines = (config && config.maxScanLines) || 1000;\n\n var stack = [];\n var re = bracketRegex(config)\n var lineEnd = dir > 0 ? Math.min(where.line + maxScanLines, cm.lastLine() + 1)\n : Math.max(cm.firstLine() - 1, where.line - maxScanLines);\n for (var lineNo = where.line; lineNo != lineEnd; lineNo += dir) {\n var line = cm.getLine(lineNo);\n if (!line) continue;\n var pos = dir > 0 ? 0 : line.length - 1, end = dir > 0 ? line.length : -1;\n if (line.length > maxScanLen) continue;\n if (lineNo == where.line) pos = where.ch - (dir < 0 ? 1 : 0);\n for (; pos != end; pos += dir) {\n var ch = line.charAt(pos);\n if (re.test(ch) && (style === undefined || cm.getTokenTypeAt(Pos(lineNo, pos + 1)) == style)) {\n var match = matching[ch];\n if (match && (match.charAt(1) == \">\") == (dir > 0)) stack.push(ch);\n else if (!stack.length) return {pos: Pos(lineNo, pos), ch: ch};\n else stack.pop();\n }\n }\n }\n return lineNo - dir == (dir > 0 ? cm.lastLine() : cm.firstLine()) ? false : null;\n }\n\n function matchBrackets(cm, autoclear, config) {\n // Disable brace matching in long lines, since it'll cause hugely slow updates\n var maxHighlightLen = cm.state.matchBrackets.maxHighlightLineLength || 1000;\n var marks = [], ranges = cm.listSelections();\n for (var i = 0; i < ranges.length; i++) {\n var match = ranges[i].empty() && findMatchingBracket(cm, ranges[i].head, config);\n if (match && cm.getLine(match.from.line).length <= maxHighlightLen) {\n var style = match.match ? \"CodeMirror-matchingbracket\" : \"CodeMirror-nonmatchingbracket\";\n marks.push(cm.markText(match.from, Pos(match.from.line, match.from.ch + 1), {className: style}));\n if (match.to && cm.getLine(match.to.line).length <= maxHighlightLen)\n marks.push(cm.markText(match.to, Pos(match.to.line, match.to.ch + 1), {className: style}));\n }\n }\n\n if (marks.length) {\n // Kludge to work around the IE bug from issue #1193, where text\n // input stops going to the textare whever this fires.\n if (ie_lt8 && cm.state.focused) cm.focus();\n\n var clear = function() {\n cm.operation(function() {\n for (var i = 0; i < marks.length; i++) marks[i].clear();\n });\n };\n if (autoclear) setTimeout(clear, 800);\n else return clear;\n }\n }\n\n function doMatchBrackets(cm) {\n cm.operation(function() {\n if (cm.state.matchBrackets.currentlyHighlighted) {\n cm.state.matchBrackets.currentlyHighlighted();\n cm.state.matchBrackets.currentlyHighlighted = null;\n }\n cm.state.matchBrackets.currentlyHighlighted = matchBrackets(cm, false, cm.state.matchBrackets);\n });\n }\n\n CodeMirror.defineOption(\"matchBrackets\", false, function(cm, val, old) {\n if (old && old != CodeMirror.Init) {\n cm.off(\"cursorActivity\", doMatchBrackets);\n if (cm.state.matchBrackets && cm.state.matchBrackets.currentlyHighlighted) {\n cm.state.matchBrackets.currentlyHighlighted();\n cm.state.matchBrackets.currentlyHighlighted = null;\n }\n }\n if (val) {\n cm.state.matchBrackets = typeof val == \"object\" ? val : {};\n cm.on(\"cursorActivity\", doMatchBrackets);\n }\n });\n\n CodeMirror.defineExtension(\"matchBrackets\", function() {matchBrackets(this, true);});\n CodeMirror.defineExtension(\"findMatchingBracket\", function(pos, config, oldConfig){\n // Backwards-compatibility kludge\n if (oldConfig || typeof config == \"boolean\") {\n if (!oldConfig) {\n config = config ? {strict: true} : null\n } else {\n oldConfig.strict = config\n config = oldConfig\n }\n }\n return findMatchingBracket(this, pos, config)\n });\n CodeMirror.defineExtension(\"scanForBracket\", function(pos, dir, style, config){\n return scanForBracket(this, pos, dir, style, config);\n });\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9hZGRvbi9lZGl0L21hdGNoYnJhY2tldHMuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9hZGRvbi9lZGl0L21hdGNoYnJhY2tldHMuanM/OGMzMyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb2RlTWlycm9yLCBjb3B5cmlnaHQgKGMpIGJ5IE1hcmlqbiBIYXZlcmJla2UgYW5kIG90aGVyc1xuLy8gRGlzdHJpYnV0ZWQgdW5kZXIgYW4gTUlUIGxpY2Vuc2U6IGh0dHBzOi8vY29kZW1pcnJvci5uZXQvTElDRU5TRVxuXG4oZnVuY3Rpb24obW9kKSB7XG4gIGlmICh0eXBlb2YgZXhwb3J0cyA9PSBcIm9iamVjdFwiICYmIHR5cGVvZiBtb2R1bGUgPT0gXCJvYmplY3RcIikgLy8gQ29tbW9uSlNcbiAgICBtb2QocmVxdWlyZShcIi4uLy4uL2xpYi9jb2RlbWlycm9yXCIpKTtcbiAgZWxzZSBpZiAodHlwZW9mIGRlZmluZSA9PSBcImZ1bmN0aW9uXCIgJiYgZGVmaW5lLmFtZCkgLy8gQU1EXG4gICAgZGVmaW5lKFtcIi4uLy4uL2xpYi9jb2RlbWlycm9yXCJdLCBtb2QpO1xuICBlbHNlIC8vIFBsYWluIGJyb3dzZXIgZW52XG4gICAgbW9kKENvZGVNaXJyb3IpO1xufSkoZnVuY3Rpb24oQ29kZU1pcnJvcikge1xuICB2YXIgaWVfbHQ4ID0gL01TSUUgXFxkLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpICYmXG4gICAgKGRvY3VtZW50LmRvY3VtZW50TW9kZSA9PSBudWxsIHx8IGRvY3VtZW50LmRvY3VtZW50TW9kZSA8IDgpO1xuXG4gIHZhciBQb3MgPSBDb2RlTWlycm9yLlBvcztcblxuICB2YXIgbWF0Y2hpbmcgPSB7XCIoXCI6IFwiKT5cIiwgXCIpXCI6IFwiKDxcIiwgXCJbXCI6IFwiXT5cIiwgXCJdXCI6IFwiWzxcIiwgXCJ7XCI6IFwifT5cIiwgXCJ9XCI6IFwiezxcIiwgXCI8XCI6IFwiPj5cIiwgXCI+XCI6IFwiPDxcIn07XG5cbiAgZnVuY3Rpb24gYnJhY2tldFJlZ2V4KGNvbmZpZykge1xuICAgIHJldHVybiBjb25maWcgJiYgY29uZmlnLmJyYWNrZXRSZWdleCB8fCAvWygpe31bXFxdXS9cbiAgfVxuXG4gIGZ1bmN0aW9uIGZpbmRNYXRjaGluZ0JyYWNrZXQoY20sIHdoZXJlLCBjb25maWcpIHtcbiAgICB2YXIgbGluZSA9IGNtLmdldExpbmVIYW5kbGUod2hlcmUubGluZSksIHBvcyA9IHdoZXJlLmNoIC0gMTtcbiAgICB2YXIgYWZ0ZXJDdXJzb3IgPSBjb25maWcgJiYgY29uZmlnLmFmdGVyQ3Vyc29yXG4gICAgaWYgKGFmdGVyQ3Vyc29yID09IG51bGwpXG4gICAgICBhZnRlckN1cnNvciA9IC8oXnwgKWNtLWZhdC1jdXJzb3IoJHwgKS8udGVzdChjbS5nZXRXcmFwcGVyRWxlbWVudCgpLmNsYXNzTmFtZSlcbiAgICB2YXIgcmUgPSBicmFja2V0UmVnZXgoY29uZmlnKVxuXG4gICAgLy8gQSBjdXJzb3IgaXMgZGVmaW5lZCBhcyBiZXR3ZWVuIHR3byBjaGFyYWN0ZXJzLCBidXQgaW4gaW4gdmltIGNvbW1hbmQgbW9kZVxuICAgIC8vIChpLmUuIG5vdCBpbnNlcnQgbW9kZSksIHRoZSBjdXJzb3IgaXMgdmlzdWFsbHkgcmVwcmVzZW50ZWQgYXMgYVxuICAgIC8vIGhpZ2hsaWdodGVkIGJveCBvbiB0b3Agb2YgdGhlIDJuZCBjaGFyYWN0ZXIuIE90aGVyd2lzZSwgd2UgYWxsb3cgbWF0Y2hlc1xuICAgIC8vIGZyb20gYmVmb3JlIG9yIGFmdGVyIHRoZSBjdXJzb3IuXG4gICAgdmFyIG1hdGNoID0gKCFhZnRlckN1cnNvciAmJiBwb3MgPj0gMCAmJiByZS50ZXN0KGxpbmUudGV4dC5jaGFyQXQocG9zKSkgJiYgbWF0Y2hpbmdbbGluZS50ZXh0LmNoYXJBdChwb3MpXSkgfHxcbiAgICAgICAgcmUudGVzdChsaW5lLnRleHQuY2hhckF0KHBvcyArIDEpKSAmJiBtYXRjaGluZ1tsaW5lLnRleHQuY2hhckF0KCsrcG9zKV07XG4gICAgaWYgKCFtYXRjaCkgcmV0dXJuIG51bGw7XG4gICAgdmFyIGRpciA9IG1hdGNoLmNoYXJBdCgxKSA9PSBcIj5cIiA/IDEgOiAtMTtcbiAgICBpZiAoY29uZmlnICYmIGNvbmZpZy5zdHJpY3QgJiYgKGRpciA+IDApICE9IChwb3MgPT0gd2hlcmUuY2gpKSByZXR1cm4gbnVsbDtcbiAgICB2YXIgc3R5bGUgPSBjbS5nZXRUb2tlblR5cGVBdChQb3Mod2hlcmUubGluZSwgcG9zICsgMSkpO1xuXG4gICAgdmFyIGZvdW5kID0gc2NhbkZvckJyYWNrZXQoY20sIFBvcyh3aGVyZS5saW5lLCBwb3MgKyAoZGlyID4gMCA/IDEgOiAwKSksIGRpciwgc3R5bGUgfHwgbnVsbCwgY29uZmlnKTtcbiAgICBpZiAoZm91bmQgPT0gbnVsbCkgcmV0dXJuIG51bGw7XG4gICAgcmV0dXJuIHtmcm9tOiBQb3Mod2hlcmUubGluZSwgcG9zKSwgdG86IGZvdW5kICYmIGZvdW5kLnBvcyxcbiAgICAgICAgICAgIG1hdGNoOiBmb3VuZCAmJiBmb3VuZC5jaCA9PSBtYXRjaC5jaGFyQXQoMCksIGZvcndhcmQ6IGRpciA+IDB9O1xuICB9XG5cbiAgLy8gYnJhY2tldFJlZ2V4IGlzIHVzZWQgdG8gc3BlY2lmeSB3aGljaCB0eXBlIG9mIGJyYWNrZXQgdG8gc2NhblxuICAvLyBzaG91bGQgYmUgYSByZWdleHAsIGUuZy4gL1tbXFxdXS9cbiAgLy9cbiAgLy8gTm90ZTogSWYgXCJ3aGVyZVwiIGlzIG9uIGFuIG9wZW4gYnJhY2tldCwgdGhlbiB0aGlzIGJyYWNrZXQgaXMgaWdub3JlZC5cbiAgLy9cbiAgLy8gUmV0dXJucyBmYWxzZSB3aGVuIG5vIGJyYWNrZXQgd2FzIGZvdW5kLCBudWxsIHdoZW4gaXQgcmVhY2hlZFxuICAvLyBtYXhTY2FuTGluZXMgYW5kIGdhdmUgdXBcbiAgZnVuY3Rpb24gc2NhbkZvckJyYWNrZXQoY20sIHdoZXJlLCBkaXIsIHN0eWxlLCBjb25maWcpIHtcbiAgICB2YXIgbWF4U2NhbkxlbiA9IChjb25maWcgJiYgY29uZmlnLm1heFNjYW5MaW5lTGVuZ3RoKSB8fCAxMDAwMDtcbiAgICB2YXIgbWF4U2NhbkxpbmVzID0gKGNvbmZpZyAmJiBjb25maWcubWF4U2NhbkxpbmVzKSB8fCAxMDAwO1xuXG4gICAgdmFyIHN0YWNrID0gW107XG4gICAgdmFyIHJlID0gYnJhY2tldFJlZ2V4KGNvbmZpZylcbiAgICB2YXIgbGluZUVuZCA9IGRpciA+IDAgPyBNYXRoLm1pbih3aGVyZS5saW5lICsgbWF4U2NhbkxpbmVzLCBjbS5sYXN0TGluZSgpICsgMSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgOiBNYXRoLm1heChjbS5maXJzdExpbmUoKSAtIDEsIHdoZXJlLmxpbmUgLSBtYXhTY2FuTGluZXMpO1xuICAgIGZvciAodmFyIGxpbmVObyA9IHdoZXJlLmxpbmU7IGxpbmVObyAhPSBsaW5lRW5kOyBsaW5lTm8gKz0gZGlyKSB7XG4gICAgICB2YXIgbGluZSA9IGNtLmdldExpbmUobGluZU5vKTtcbiAgICAgIGlmICghbGluZSkgY29udGludWU7XG4gICAgICB2YXIgcG9zID0gZGlyID4gMCA/IDAgOiBsaW5lLmxlbmd0aCAtIDEsIGVuZCA9IGRpciA+IDAgPyBsaW5lLmxlbmd0aCA6IC0xO1xuICAgICAgaWYgKGxpbmUubGVuZ3RoID4gbWF4U2NhbkxlbikgY29udGludWU7XG4gICAgICBpZiAobGluZU5vID09IHdoZXJlLmxpbmUpIHBvcyA9IHdoZXJlLmNoIC0gKGRpciA8IDAgPyAxIDogMCk7XG4gICAgICBmb3IgKDsgcG9zICE9IGVuZDsgcG9zICs9IGRpcikge1xuICAgICAgICB2YXIgY2ggPSBsaW5lLmNoYXJBdChwb3MpO1xuICAgICAgICBpZiAocmUudGVzdChjaCkgJiYgKHN0eWxlID09PSB1bmRlZmluZWQgfHwgY20uZ2V0VG9rZW5UeXBlQXQoUG9zKGxpbmVObywgcG9zICsgMSkpID09IHN0eWxlKSkge1xuICAgICAgICAgIHZhciBtYXRjaCA9IG1hdGNoaW5nW2NoXTtcbiAgICAgICAgICBpZiAobWF0Y2ggJiYgKG1hdGNoLmNoYXJBdCgxKSA9PSBcIj5cIikgPT0gKGRpciA+IDApKSBzdGFjay5wdXNoKGNoKTtcbiAgICAgICAgICBlbHNlIGlmICghc3RhY2subGVuZ3RoKSByZXR1cm4ge3BvczogUG9zKGxpbmVObywgcG9zKSwgY2g6IGNofTtcbiAgICAgICAgICBlbHNlIHN0YWNrLnBvcCgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBsaW5lTm8gLSBkaXIgPT0gKGRpciA+IDAgPyBjbS5sYXN0TGluZSgpIDogY20uZmlyc3RMaW5lKCkpID8gZmFsc2UgOiBudWxsO1xuICB9XG5cbiAgZnVuY3Rpb24gbWF0Y2hCcmFja2V0cyhjbSwgYXV0b2NsZWFyLCBjb25maWcpIHtcbiAgICAvLyBEaXNhYmxlIGJyYWNlIG1hdGNoaW5nIGluIGxvbmcgbGluZXMsIHNpbmNlIGl0J2xsIGNhdXNlIGh1Z2VseSBzbG93IHVwZGF0ZXNcbiAgICB2YXIgbWF4SGlnaGxpZ2h0TGVuID0gY20uc3RhdGUubWF0Y2hCcmFja2V0cy5tYXhIaWdobGlnaHRMaW5lTGVuZ3RoIHx8IDEwMDA7XG4gICAgdmFyIG1hcmtzID0gW10sIHJhbmdlcyA9IGNtLmxpc3RTZWxlY3Rpb25zKCk7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCByYW5nZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIHZhciBtYXRjaCA9IHJhbmdlc1tpXS5lbXB0eSgpICYmIGZpbmRNYXRjaGluZ0JyYWNrZXQoY20sIHJhbmdlc1tpXS5oZWFkLCBjb25maWcpO1xuICAgICAgaWYgKG1hdGNoICYmIGNtLmdldExpbmUobWF0Y2guZnJvbS5saW5lKS5sZW5ndGggPD0gbWF4SGlnaGxpZ2h0TGVuKSB7XG4gICAgICAgIHZhciBzdHlsZSA9IG1hdGNoLm1hdGNoID8gXCJDb2RlTWlycm9yLW1hdGNoaW5nYnJhY2tldFwiIDogXCJDb2RlTWlycm9yLW5vbm1hdGNoaW5nYnJhY2tldFwiO1xuICAgICAgICBtYXJrcy5wdXNoKGNtLm1hcmtUZXh0KG1hdGNoLmZyb20sIFBvcyhtYXRjaC5mcm9tLmxpbmUsIG1hdGNoLmZyb20uY2ggKyAxKSwge2NsYXNzTmFtZTogc3R5bGV9KSk7XG4gICAgICAgIGlmIChtYXRjaC50byAmJiBjbS5nZXRMaW5lKG1hdGNoLnRvLmxpbmUpLmxlbmd0aCA8PSBtYXhIaWdobGlnaHRMZW4pXG4gICAgICAgICAgbWFya3MucHVzaChjbS5tYXJrVGV4dChtYXRjaC50bywgUG9zKG1hdGNoLnRvLmxpbmUsIG1hdGNoLnRvLmNoICsgMSksIHtjbGFzc05hbWU6IHN0eWxlfSkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChtYXJrcy5sZW5ndGgpIHtcbiAgICAgIC8vIEtsdWRnZSB0byB3b3JrIGFyb3VuZCB0aGUgSUUgYnVnIGZyb20gaXNzdWUgIzExOTMsIHdoZXJlIHRleHRcbiAgICAgIC8vIGlucHV0IHN0b3BzIGdvaW5nIHRvIHRoZSB0ZXh0YXJlIHdoZXZlciB0aGlzIGZpcmVzLlxuICAgICAgaWYgKGllX2x0OCAmJiBjbS5zdGF0ZS5mb2N1c2VkKSBjbS5mb2N1cygpO1xuXG4gICAgICB2YXIgY2xlYXIgPSBmdW5jdGlvbigpIHtcbiAgICAgICAgY20ub3BlcmF0aW9uKGZ1bmN0aW9uKCkge1xuICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbWFya3MubGVuZ3RoOyBpKyspIG1hcmtzW2ldLmNsZWFyKCk7XG4gICAgICAgIH0pO1xuICAgICAgfTtcbiAgICAgIGlmIChhdXRvY2xlYXIpIHNldFRpbWVvdXQoY2xlYXIsIDgwMCk7XG4gICAgICBlbHNlIHJldHVybiBjbGVhcjtcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBkb01hdGNoQnJhY2tldHMoY20pIHtcbiAgICBjbS5vcGVyYXRpb24oZnVuY3Rpb24oKSB7XG4gICAgICBpZiAoY20uc3RhdGUubWF0Y2hCcmFja2V0cy5jdXJyZW50bHlIaWdobGlnaHRlZCkge1xuICAgICAgICBjbS5zdGF0ZS5tYXRjaEJyYWNrZXRzLmN1cnJlbnRseUhpZ2hsaWdodGVkKCk7XG4gICAgICAgIGNtLnN0YXRlLm1hdGNoQnJhY2tldHMuY3VycmVudGx5SGlnaGxpZ2h0ZWQgPSBudWxsO1xuICAgICAgfVxuICAgICAgY20uc3RhdGUubWF0Y2hCcmFja2V0cy5jdXJyZW50bHlIaWdobGlnaHRlZCA9IG1hdGNoQnJhY2tldHMoY20sIGZhbHNlLCBjbS5zdGF0ZS5tYXRjaEJyYWNrZXRzKTtcbiAgICB9KTtcbiAgfVxuXG4gIENvZGVNaXJyb3IuZGVmaW5lT3B0aW9uKFwibWF0Y2hCcmFja2V0c1wiLCBmYWxzZSwgZnVuY3Rpb24oY20sIHZhbCwgb2xkKSB7XG4gICAgaWYgKG9sZCAmJiBvbGQgIT0gQ29kZU1pcnJvci5Jbml0KSB7XG4gICAgICBjbS5vZmYoXCJjdXJzb3JBY3Rpdml0eVwiLCBkb01hdGNoQnJhY2tldHMpO1xuICAgICAgaWYgKGNtLnN0YXRlLm1hdGNoQnJhY2tldHMgJiYgY20uc3RhdGUubWF0Y2hCcmFja2V0cy5jdXJyZW50bHlIaWdobGlnaHRlZCkge1xuICAgICAgICBjbS5zdGF0ZS5tYXRjaEJyYWNrZXRzLmN1cnJlbnRseUhpZ2hsaWdodGVkKCk7XG4gICAgICAgIGNtLnN0YXRlLm1hdGNoQnJhY2tldHMuY3VycmVudGx5SGlnaGxpZ2h0ZWQgPSBudWxsO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAodmFsKSB7XG4gICAgICBjbS5zdGF0ZS5tYXRjaEJyYWNrZXRzID0gdHlwZW9mIHZhbCA9PSBcIm9iamVjdFwiID8gdmFsIDoge307XG4gICAgICBjbS5vbihcImN1cnNvckFjdGl2aXR5XCIsIGRvTWF0Y2hCcmFja2V0cyk7XG4gICAgfVxuICB9KTtcblxuICBDb2RlTWlycm9yLmRlZmluZUV4dGVuc2lvbihcIm1hdGNoQnJhY2tldHNcIiwgZnVuY3Rpb24oKSB7bWF0Y2hCcmFja2V0cyh0aGlzLCB0cnVlKTt9KTtcbiAgQ29kZU1pcnJvci5kZWZpbmVFeHRlbnNpb24oXCJmaW5kTWF0Y2hpbmdCcmFja2V0XCIsIGZ1bmN0aW9uKHBvcywgY29uZmlnLCBvbGRDb25maWcpe1xuICAgIC8vIEJhY2t3YXJkcy1jb21wYXRpYmlsaXR5IGtsdWRnZVxuICAgIGlmIChvbGRDb25maWcgfHwgdHlwZW9mIGNvbmZpZyA9PSBcImJvb2xlYW5cIikge1xuICAgICAgaWYgKCFvbGRDb25maWcpIHtcbiAgICAgICAgY29uZmlnID0gY29uZmlnID8ge3N0cmljdDogdHJ1ZX0gOiBudWxsXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBvbGRDb25maWcuc3RyaWN0ID0gY29uZmlnXG4gICAgICAgIGNvbmZpZyA9IG9sZENvbmZpZ1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmluZE1hdGNoaW5nQnJhY2tldCh0aGlzLCBwb3MsIGNvbmZpZylcbiAgfSk7XG4gIENvZGVNaXJyb3IuZGVmaW5lRXh0ZW5zaW9uKFwic2NhbkZvckJyYWNrZXRcIiwgZnVuY3Rpb24ocG9zLCBkaXIsIHN0eWxlLCBjb25maWcpe1xuICAgIHJldHVybiBzY2FuRm9yQnJhY2tldCh0aGlzLCBwb3MsIGRpciwgc3R5bGUsIGNvbmZpZyk7XG4gIH0pO1xufSk7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/codemirror/addon/edit/matchbrackets.js\n"); /***/ }), /***/ "./node_modules/codemirror/addon/edit/matchtags.js": /*!*********************************************************!*\ !*** ./node_modules/codemirror/addon/edit/matchtags.js ***! \*********************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ \"./node_modules/codemirror/lib/codemirror.js\"), __webpack_require__(/*! ../fold/xml-fold */ \"./node_modules/codemirror/addon/fold/xml-fold.js\"));\n else {}\n})(function(CodeMirror) {\n \"use strict\";\n\n CodeMirror.defineOption(\"matchTags\", false, function(cm, val, old) {\n if (old && old != CodeMirror.Init) {\n cm.off(\"cursorActivity\", doMatchTags);\n cm.off(\"viewportChange\", maybeUpdateMatch);\n clear(cm);\n }\n if (val) {\n cm.state.matchBothTags = typeof val == \"object\" && val.bothTags;\n cm.on(\"cursorActivity\", doMatchTags);\n cm.on(\"viewportChange\", maybeUpdateMatch);\n doMatchTags(cm);\n }\n });\n\n function clear(cm) {\n if (cm.state.tagHit) cm.state.tagHit.clear();\n if (cm.state.tagOther) cm.state.tagOther.clear();\n cm.state.tagHit = cm.state.tagOther = null;\n }\n\n function doMatchTags(cm) {\n cm.state.failedTagMatch = false;\n cm.operation(function() {\n clear(cm);\n if (cm.somethingSelected()) return;\n var cur = cm.getCursor(), range = cm.getViewport();\n range.from = Math.min(range.from, cur.line); range.to = Math.max(cur.line + 1, range.to);\n var match = CodeMirror.findMatchingTag(cm, cur, range);\n if (!match) return;\n if (cm.state.matchBothTags) {\n var hit = match.at == \"open\" ? match.open : match.close;\n if (hit) cm.state.tagHit = cm.markText(hit.from, hit.to, {className: \"CodeMirror-matchingtag\"});\n }\n var other = match.at == \"close\" ? match.open : match.close;\n if (other)\n cm.state.tagOther = cm.markText(other.from, other.to, {className: \"CodeMirror-matchingtag\"});\n else\n cm.state.failedTagMatch = true;\n });\n }\n\n function maybeUpdateMatch(cm) {\n if (cm.state.failedTagMatch) doMatchTags(cm);\n }\n\n CodeMirror.commands.toMatchingTag = function(cm) {\n var found = CodeMirror.findMatchingTag(cm, cm.getCursor());\n if (found) {\n var other = found.at == \"close\" ? found.open : found.close;\n if (other) cm.extendSelection(other.to, other.from);\n }\n };\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9hZGRvbi9lZGl0L21hdGNodGFncy5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb2RlbWlycm9yL2FkZG9uL2VkaXQvbWF0Y2h0YWdzLmpzPzhmMGEiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29kZU1pcnJvciwgY29weXJpZ2h0IChjKSBieSBNYXJpam4gSGF2ZXJiZWtlIGFuZCBvdGhlcnNcbi8vIERpc3RyaWJ1dGVkIHVuZGVyIGFuIE1JVCBsaWNlbnNlOiBodHRwczovL2NvZGVtaXJyb3IubmV0L0xJQ0VOU0VcblxuKGZ1bmN0aW9uKG1vZCkge1xuICBpZiAodHlwZW9mIGV4cG9ydHMgPT0gXCJvYmplY3RcIiAmJiB0eXBlb2YgbW9kdWxlID09IFwib2JqZWN0XCIpIC8vIENvbW1vbkpTXG4gICAgbW9kKHJlcXVpcmUoXCIuLi8uLi9saWIvY29kZW1pcnJvclwiKSwgcmVxdWlyZShcIi4uL2ZvbGQveG1sLWZvbGRcIikpO1xuICBlbHNlIGlmICh0eXBlb2YgZGVmaW5lID09IFwiZnVuY3Rpb25cIiAmJiBkZWZpbmUuYW1kKSAvLyBBTURcbiAgICBkZWZpbmUoW1wiLi4vLi4vbGliL2NvZGVtaXJyb3JcIiwgXCIuLi9mb2xkL3htbC1mb2xkXCJdLCBtb2QpO1xuICBlbHNlIC8vIFBsYWluIGJyb3dzZXIgZW52XG4gICAgbW9kKENvZGVNaXJyb3IpO1xufSkoZnVuY3Rpb24oQ29kZU1pcnJvcikge1xuICBcInVzZSBzdHJpY3RcIjtcblxuICBDb2RlTWlycm9yLmRlZmluZU9wdGlvbihcIm1hdGNoVGFnc1wiLCBmYWxzZSwgZnVuY3Rpb24oY20sIHZhbCwgb2xkKSB7XG4gICAgaWYgKG9sZCAmJiBvbGQgIT0gQ29kZU1pcnJvci5Jbml0KSB7XG4gICAgICBjbS5vZmYoXCJjdXJzb3JBY3Rpdml0eVwiLCBkb01hdGNoVGFncyk7XG4gICAgICBjbS5vZmYoXCJ2aWV3cG9ydENoYW5nZVwiLCBtYXliZVVwZGF0ZU1hdGNoKTtcbiAgICAgIGNsZWFyKGNtKTtcbiAgICB9XG4gICAgaWYgKHZhbCkge1xuICAgICAgY20uc3RhdGUubWF0Y2hCb3RoVGFncyA9IHR5cGVvZiB2YWwgPT0gXCJvYmplY3RcIiAmJiB2YWwuYm90aFRhZ3M7XG4gICAgICBjbS5vbihcImN1cnNvckFjdGl2aXR5XCIsIGRvTWF0Y2hUYWdzKTtcbiAgICAgIGNtLm9uKFwidmlld3BvcnRDaGFuZ2VcIiwgbWF5YmVVcGRhdGVNYXRjaCk7XG4gICAgICBkb01hdGNoVGFncyhjbSk7XG4gICAgfVxuICB9KTtcblxuICBmdW5jdGlvbiBjbGVhcihjbSkge1xuICAgIGlmIChjbS5zdGF0ZS50YWdIaXQpIGNtLnN0YXRlLnRhZ0hpdC5jbGVhcigpO1xuICAgIGlmIChjbS5zdGF0ZS50YWdPdGhlcikgY20uc3RhdGUudGFnT3RoZXIuY2xlYXIoKTtcbiAgICBjbS5zdGF0ZS50YWdIaXQgPSBjbS5zdGF0ZS50YWdPdGhlciA9IG51bGw7XG4gIH1cblxuICBmdW5jdGlvbiBkb01hdGNoVGFncyhjbSkge1xuICAgIGNtLnN0YXRlLmZhaWxlZFRhZ01hdGNoID0gZmFsc2U7XG4gICAgY20ub3BlcmF0aW9uKGZ1bmN0aW9uKCkge1xuICAgICAgY2xlYXIoY20pO1xuICAgICAgaWYgKGNtLnNvbWV0aGluZ1NlbGVjdGVkKCkpIHJldHVybjtcbiAgICAgIHZhciBjdXIgPSBjbS5nZXRDdXJzb3IoKSwgcmFuZ2UgPSBjbS5nZXRWaWV3cG9ydCgpO1xuICAgICAgcmFuZ2UuZnJvbSA9IE1hdGgubWluKHJhbmdlLmZyb20sIGN1ci5saW5lKTsgcmFuZ2UudG8gPSBNYXRoLm1heChjdXIubGluZSArIDEsIHJhbmdlLnRvKTtcbiAgICAgIHZhciBtYXRjaCA9IENvZGVNaXJyb3IuZmluZE1hdGNoaW5nVGFnKGNtLCBjdXIsIHJhbmdlKTtcbiAgICAgIGlmICghbWF0Y2gpIHJldHVybjtcbiAgICAgIGlmIChjbS5zdGF0ZS5tYXRjaEJvdGhUYWdzKSB7XG4gICAgICAgIHZhciBoaXQgPSBtYXRjaC5hdCA9PSBcIm9wZW5cIiA/IG1hdGNoLm9wZW4gOiBtYXRjaC5jbG9zZTtcbiAgICAgICAgaWYgKGhpdCkgY20uc3RhdGUudGFnSGl0ID0gY20ubWFya1RleHQoaGl0LmZyb20sIGhpdC50bywge2NsYXNzTmFtZTogXCJDb2RlTWlycm9yLW1hdGNoaW5ndGFnXCJ9KTtcbiAgICAgIH1cbiAgICAgIHZhciBvdGhlciA9IG1hdGNoLmF0ID09IFwiY2xvc2VcIiA/IG1hdGNoLm9wZW4gOiBtYXRjaC5jbG9zZTtcbiAgICAgIGlmIChvdGhlcilcbiAgICAgICAgY20uc3RhdGUudGFnT3RoZXIgPSBjbS5tYXJrVGV4dChvdGhlci5mcm9tLCBvdGhlci50bywge2NsYXNzTmFtZTogXCJDb2RlTWlycm9yLW1hdGNoaW5ndGFnXCJ9KTtcbiAgICAgIGVsc2VcbiAgICAgICAgY20uc3RhdGUuZmFpbGVkVGFnTWF0Y2ggPSB0cnVlO1xuICAgIH0pO1xuICB9XG5cbiAgZnVuY3Rpb24gbWF5YmVVcGRhdGVNYXRjaChjbSkge1xuICAgIGlmIChjbS5zdGF0ZS5mYWlsZWRUYWdNYXRjaCkgZG9NYXRjaFRhZ3MoY20pO1xuICB9XG5cbiAgQ29kZU1pcnJvci5jb21tYW5kcy50b01hdGNoaW5nVGFnID0gZnVuY3Rpb24oY20pIHtcbiAgICB2YXIgZm91bmQgPSBDb2RlTWlycm9yLmZpbmRNYXRjaGluZ1RhZyhjbSwgY20uZ2V0Q3Vyc29yKCkpO1xuICAgIGlmIChmb3VuZCkge1xuICAgICAgdmFyIG90aGVyID0gZm91bmQuYXQgPT0gXCJjbG9zZVwiID8gZm91bmQub3BlbiA6IGZvdW5kLmNsb3NlO1xuICAgICAgaWYgKG90aGVyKSBjbS5leHRlbmRTZWxlY3Rpb24ob3RoZXIudG8sIG90aGVyLmZyb20pO1xuICAgIH1cbiAgfTtcbn0pO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/codemirror/addon/edit/matchtags.js\n"); /***/ }), /***/ "./node_modules/codemirror/addon/fold/brace-fold.js": /*!**********************************************************!*\ !*** ./node_modules/codemirror/addon/fold/brace-fold.js ***! \**********************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ \"./node_modules/codemirror/lib/codemirror.js\"));\n else {}\n})(function(CodeMirror) {\n\"use strict\";\n\nCodeMirror.registerHelper(\"fold\", \"brace\", function(cm, start) {\n var line = start.line, lineText = cm.getLine(line);\n var tokenType;\n\n function findOpening(openCh) {\n for (var at = start.ch, pass = 0;;) {\n var found = at <= 0 ? -1 : lineText.lastIndexOf(openCh, at - 1);\n if (found == -1) {\n if (pass == 1) break;\n pass = 1;\n at = lineText.length;\n continue;\n }\n if (pass == 1 && found < start.ch) break;\n tokenType = cm.getTokenTypeAt(CodeMirror.Pos(line, found + 1));\n if (!/^(comment|string)/.test(tokenType)) return found + 1;\n at = found - 1;\n }\n }\n\n var startToken = \"{\", endToken = \"}\", startCh = findOpening(\"{\");\n if (startCh == null) {\n startToken = \"[\", endToken = \"]\";\n startCh = findOpening(\"[\");\n }\n\n if (startCh == null) return;\n var count = 1, lastLine = cm.lastLine(), end, endCh;\n outer: for (var i = line; i <= lastLine; ++i) {\n var text = cm.getLine(i), pos = i == line ? startCh : 0;\n for (;;) {\n var nextOpen = text.indexOf(startToken, pos), nextClose = text.indexOf(endToken, pos);\n if (nextOpen < 0) nextOpen = text.length;\n if (nextClose < 0) nextClose = text.length;\n pos = Math.min(nextOpen, nextClose);\n if (pos == text.length) break;\n if (cm.getTokenTypeAt(CodeMirror.Pos(i, pos + 1)) == tokenType) {\n if (pos == nextOpen) ++count;\n else if (!--count) { end = i; endCh = pos; break outer; }\n }\n ++pos;\n }\n }\n if (end == null || line == end) return;\n return {from: CodeMirror.Pos(line, startCh),\n to: CodeMirror.Pos(end, endCh)};\n});\n\nCodeMirror.registerHelper(\"fold\", \"import\", function(cm, start) {\n function hasImport(line) {\n if (line < cm.firstLine() || line > cm.lastLine()) return null;\n var start = cm.getTokenAt(CodeMirror.Pos(line, 1));\n if (!/\\S/.test(start.string)) start = cm.getTokenAt(CodeMirror.Pos(line, start.end + 1));\n if (start.type != \"keyword\" || start.string != \"import\") return null;\n // Now find closing semicolon, return its position\n for (var i = line, e = Math.min(cm.lastLine(), line + 10); i <= e; ++i) {\n var text = cm.getLine(i), semi = text.indexOf(\";\");\n if (semi != -1) return {startCh: start.end, end: CodeMirror.Pos(i, semi)};\n }\n }\n\n var startLine = start.line, has = hasImport(startLine), prev;\n if (!has || hasImport(startLine - 1) || ((prev = hasImport(startLine - 2)) && prev.end.line == startLine - 1))\n return null;\n for (var end = has.end;;) {\n var next = hasImport(end.line + 1);\n if (next == null) break;\n end = next.end;\n }\n return {from: cm.clipPos(CodeMirror.Pos(startLine, has.startCh + 1)), to: end};\n});\n\nCodeMirror.registerHelper(\"fold\", \"include\", function(cm, start) {\n function hasInclude(line) {\n if (line < cm.firstLine() || line > cm.lastLine()) return null;\n var start = cm.getTokenAt(CodeMirror.Pos(line, 1));\n if (!/\\S/.test(start.string)) start = cm.getTokenAt(CodeMirror.Pos(line, start.end + 1));\n if (start.type == \"meta\" && start.string.slice(0, 8) == \"#include\") return start.start + 8;\n }\n\n var startLine = start.line, has = hasInclude(startLine);\n if (has == null || hasInclude(startLine - 1) != null) return null;\n for (var end = startLine;;) {\n var next = hasInclude(end + 1);\n if (next == null) break;\n ++end;\n }\n return {from: CodeMirror.Pos(startLine, has + 1),\n to: cm.clipPos(CodeMirror.Pos(end))};\n});\n\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9hZGRvbi9mb2xkL2JyYWNlLWZvbGQuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9hZGRvbi9mb2xkL2JyYWNlLWZvbGQuanM/YWVkZCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb2RlTWlycm9yLCBjb3B5cmlnaHQgKGMpIGJ5IE1hcmlqbiBIYXZlcmJla2UgYW5kIG90aGVyc1xuLy8gRGlzdHJpYnV0ZWQgdW5kZXIgYW4gTUlUIGxpY2Vuc2U6IGh0dHBzOi8vY29kZW1pcnJvci5uZXQvTElDRU5TRVxuXG4oZnVuY3Rpb24obW9kKSB7XG4gIGlmICh0eXBlb2YgZXhwb3J0cyA9PSBcIm9iamVjdFwiICYmIHR5cGVvZiBtb2R1bGUgPT0gXCJvYmplY3RcIikgLy8gQ29tbW9uSlNcbiAgICBtb2QocmVxdWlyZShcIi4uLy4uL2xpYi9jb2RlbWlycm9yXCIpKTtcbiAgZWxzZSBpZiAodHlwZW9mIGRlZmluZSA9PSBcImZ1bmN0aW9uXCIgJiYgZGVmaW5lLmFtZCkgLy8gQU1EXG4gICAgZGVmaW5lKFtcIi4uLy4uL2xpYi9jb2RlbWlycm9yXCJdLCBtb2QpO1xuICBlbHNlIC8vIFBsYWluIGJyb3dzZXIgZW52XG4gICAgbW9kKENvZGVNaXJyb3IpO1xufSkoZnVuY3Rpb24oQ29kZU1pcnJvcikge1xuXCJ1c2Ugc3RyaWN0XCI7XG5cbkNvZGVNaXJyb3IucmVnaXN0ZXJIZWxwZXIoXCJmb2xkXCIsIFwiYnJhY2VcIiwgZnVuY3Rpb24oY20sIHN0YXJ0KSB7XG4gIHZhciBsaW5lID0gc3RhcnQubGluZSwgbGluZVRleHQgPSBjbS5nZXRMaW5lKGxpbmUpO1xuICB2YXIgdG9rZW5UeXBlO1xuXG4gIGZ1bmN0aW9uIGZpbmRPcGVuaW5nKG9wZW5DaCkge1xuICAgIGZvciAodmFyIGF0ID0gc3RhcnQuY2gsIHBhc3MgPSAwOzspIHtcbiAgICAgIHZhciBmb3VuZCA9IGF0IDw9IDAgPyAtMSA6IGxpbmVUZXh0Lmxhc3RJbmRleE9mKG9wZW5DaCwgYXQgLSAxKTtcbiAgICAgIGlmIChmb3VuZCA9PSAtMSkge1xuICAgICAgICBpZiAocGFzcyA9PSAxKSBicmVhaztcbiAgICAgICAgcGFzcyA9IDE7XG4gICAgICAgIGF0ID0gbGluZVRleHQubGVuZ3RoO1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cbiAgICAgIGlmIChwYXNzID09IDEgJiYgZm91bmQgPCBzdGFydC5jaCkgYnJlYWs7XG4gICAgICB0b2tlblR5cGUgPSBjbS5nZXRUb2tlblR5cGVBdChDb2RlTWlycm9yLlBvcyhsaW5lLCBmb3VuZCArIDEpKTtcbiAgICAgIGlmICghL14oY29tbWVudHxzdHJpbmcpLy50ZXN0KHRva2VuVHlwZSkpIHJldHVybiBmb3VuZCArIDE7XG4gICAgICBhdCA9IGZvdW5kIC0gMTtcbiAgICB9XG4gIH1cblxuICB2YXIgc3RhcnRUb2tlbiA9IFwie1wiLCBlbmRUb2tlbiA9IFwifVwiLCBzdGFydENoID0gZmluZE9wZW5pbmcoXCJ7XCIpO1xuICBpZiAoc3RhcnRDaCA9PSBudWxsKSB7XG4gICAgc3RhcnRUb2tlbiA9IFwiW1wiLCBlbmRUb2tlbiA9IFwiXVwiO1xuICAgIHN0YXJ0Q2ggPSBmaW5kT3BlbmluZyhcIltcIik7XG4gIH1cblxuICBpZiAoc3RhcnRDaCA9PSBudWxsKSByZXR1cm47XG4gIHZhciBjb3VudCA9IDEsIGxhc3RMaW5lID0gY20ubGFzdExpbmUoKSwgZW5kLCBlbmRDaDtcbiAgb3V0ZXI6IGZvciAodmFyIGkgPSBsaW5lOyBpIDw9IGxhc3RMaW5lOyArK2kpIHtcbiAgICB2YXIgdGV4dCA9IGNtLmdldExpbmUoaSksIHBvcyA9IGkgPT0gbGluZSA/IHN0YXJ0Q2ggOiAwO1xuICAgIGZvciAoOzspIHtcbiAgICAgIHZhciBuZXh0T3BlbiA9IHRleHQuaW5kZXhPZihzdGFydFRva2VuLCBwb3MpLCBuZXh0Q2xvc2UgPSB0ZXh0LmluZGV4T2YoZW5kVG9rZW4sIHBvcyk7XG4gICAgICBpZiAobmV4dE9wZW4gPCAwKSBuZXh0T3BlbiA9IHRleHQubGVuZ3RoO1xuICAgICAgaWYgKG5leHRDbG9zZSA8IDApIG5leHRDbG9zZSA9IHRleHQubGVuZ3RoO1xuICAgICAgcG9zID0gTWF0aC5taW4obmV4dE9wZW4sIG5leHRDbG9zZSk7XG4gICAgICBpZiAocG9zID09IHRleHQubGVuZ3RoKSBicmVhaztcbiAgICAgIGlmIChjbS5nZXRUb2tlblR5cGVBdChDb2RlTWlycm9yLlBvcyhpLCBwb3MgKyAxKSkgPT0gdG9rZW5UeXBlKSB7XG4gICAgICAgIGlmIChwb3MgPT0gbmV4dE9wZW4pICsrY291bnQ7XG4gICAgICAgIGVsc2UgaWYgKCEtLWNvdW50KSB7IGVuZCA9IGk7IGVuZENoID0gcG9zOyBicmVhayBvdXRlcjsgfVxuICAgICAgfVxuICAgICAgKytwb3M7XG4gICAgfVxuICB9XG4gIGlmIChlbmQgPT0gbnVsbCB8fCBsaW5lID09IGVuZCkgcmV0dXJuO1xuICByZXR1cm4ge2Zyb206IENvZGVNaXJyb3IuUG9zKGxpbmUsIHN0YXJ0Q2gpLFxuICAgICAgICAgIHRvOiBDb2RlTWlycm9yLlBvcyhlbmQsIGVuZENoKX07XG59KTtcblxuQ29kZU1pcnJvci5yZWdpc3RlckhlbHBlcihcImZvbGRcIiwgXCJpbXBvcnRcIiwgZnVuY3Rpb24oY20sIHN0YXJ0KSB7XG4gIGZ1bmN0aW9uIGhhc0ltcG9ydChsaW5lKSB7XG4gICAgaWYgKGxpbmUgPCBjbS5maXJzdExpbmUoKSB8fCBsaW5lID4gY20ubGFzdExpbmUoKSkgcmV0dXJuIG51bGw7XG4gICAgdmFyIHN0YXJ0ID0gY20uZ2V0VG9rZW5BdChDb2RlTWlycm9yLlBvcyhsaW5lLCAxKSk7XG4gICAgaWYgKCEvXFxTLy50ZXN0KHN0YXJ0LnN0cmluZykpIHN0YXJ0ID0gY20uZ2V0VG9rZW5BdChDb2RlTWlycm9yLlBvcyhsaW5lLCBzdGFydC5lbmQgKyAxKSk7XG4gICAgaWYgKHN0YXJ0LnR5cGUgIT0gXCJrZXl3b3JkXCIgfHwgc3RhcnQuc3RyaW5nICE9IFwiaW1wb3J0XCIpIHJldHVybiBudWxsO1xuICAgIC8vIE5vdyBmaW5kIGNsb3Npbmcgc2VtaWNvbG9uLCByZXR1cm4gaXRzIHBvc2l0aW9uXG4gICAgZm9yICh2YXIgaSA9IGxpbmUsIGUgPSBNYXRoLm1pbihjbS5sYXN0TGluZSgpLCBsaW5lICsgMTApOyBpIDw9IGU7ICsraSkge1xuICAgICAgdmFyIHRleHQgPSBjbS5nZXRMaW5lKGkpLCBzZW1pID0gdGV4dC5pbmRleE9mKFwiO1wiKTtcbiAgICAgIGlmIChzZW1pICE9IC0xKSByZXR1cm4ge3N0YXJ0Q2g6IHN0YXJ0LmVuZCwgZW5kOiBDb2RlTWlycm9yLlBvcyhpLCBzZW1pKX07XG4gICAgfVxuICB9XG5cbiAgdmFyIHN0YXJ0TGluZSA9IHN0YXJ0LmxpbmUsIGhhcyA9IGhhc0ltcG9ydChzdGFydExpbmUpLCBwcmV2O1xuICBpZiAoIWhhcyB8fCBoYXNJbXBvcnQoc3RhcnRMaW5lIC0gMSkgfHwgKChwcmV2ID0gaGFzSW1wb3J0KHN0YXJ0TGluZSAtIDIpKSAmJiBwcmV2LmVuZC5saW5lID09IHN0YXJ0TGluZSAtIDEpKVxuICAgIHJldHVybiBudWxsO1xuICBmb3IgKHZhciBlbmQgPSBoYXMuZW5kOzspIHtcbiAgICB2YXIgbmV4dCA9IGhhc0ltcG9ydChlbmQubGluZSArIDEpO1xuICAgIGlmIChuZXh0ID09IG51bGwpIGJyZWFrO1xuICAgIGVuZCA9IG5leHQuZW5kO1xuICB9XG4gIHJldHVybiB7ZnJvbTogY20uY2xpcFBvcyhDb2RlTWlycm9yLlBvcyhzdGFydExpbmUsIGhhcy5zdGFydENoICsgMSkpLCB0bzogZW5kfTtcbn0pO1xuXG5Db2RlTWlycm9yLnJlZ2lzdGVySGVscGVyKFwiZm9sZFwiLCBcImluY2x1ZGVcIiwgZnVuY3Rpb24oY20sIHN0YXJ0KSB7XG4gIGZ1bmN0aW9uIGhhc0luY2x1ZGUobGluZSkge1xuICAgIGlmIChsaW5lIDwgY20uZmlyc3RMaW5lKCkgfHwgbGluZSA+IGNtLmxhc3RMaW5lKCkpIHJldHVybiBudWxsO1xuICAgIHZhciBzdGFydCA9IGNtLmdldFRva2VuQXQoQ29kZU1pcnJvci5Qb3MobGluZSwgMSkpO1xuICAgIGlmICghL1xcUy8udGVzdChzdGFydC5zdHJpbmcpKSBzdGFydCA9IGNtLmdldFRva2VuQXQoQ29kZU1pcnJvci5Qb3MobGluZSwgc3RhcnQuZW5kICsgMSkpO1xuICAgIGlmIChzdGFydC50eXBlID09IFwibWV0YVwiICYmIHN0YXJ0LnN0cmluZy5zbGljZSgwLCA4KSA9PSBcIiNpbmNsdWRlXCIpIHJldHVybiBzdGFydC5zdGFydCArIDg7XG4gIH1cblxuICB2YXIgc3RhcnRMaW5lID0gc3RhcnQubGluZSwgaGFzID0gaGFzSW5jbHVkZShzdGFydExpbmUpO1xuICBpZiAoaGFzID09IG51bGwgfHwgaGFzSW5jbHVkZShzdGFydExpbmUgLSAxKSAhPSBudWxsKSByZXR1cm4gbnVsbDtcbiAgZm9yICh2YXIgZW5kID0gc3RhcnRMaW5lOzspIHtcbiAgICB2YXIgbmV4dCA9IGhhc0luY2x1ZGUoZW5kICsgMSk7XG4gICAgaWYgKG5leHQgPT0gbnVsbCkgYnJlYWs7XG4gICAgKytlbmQ7XG4gIH1cbiAgcmV0dXJuIHtmcm9tOiBDb2RlTWlycm9yLlBvcyhzdGFydExpbmUsIGhhcyArIDEpLFxuICAgICAgICAgIHRvOiBjbS5jbGlwUG9zKENvZGVNaXJyb3IuUG9zKGVuZCkpfTtcbn0pO1xuXG59KTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/codemirror/addon/fold/brace-fold.js\n"); /***/ }), /***/ "./node_modules/codemirror/addon/fold/foldcode.js": /*!********************************************************!*\ !*** ./node_modules/codemirror/addon/fold/foldcode.js ***! \********************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ \"./node_modules/codemirror/lib/codemirror.js\"));\n else {}\n})(function(CodeMirror) {\n \"use strict\";\n\n function doFold(cm, pos, options, force) {\n if (options && options.call) {\n var finder = options;\n options = null;\n } else {\n var finder = getOption(cm, options, \"rangeFinder\");\n }\n if (typeof pos == \"number\") pos = CodeMirror.Pos(pos, 0);\n var minSize = getOption(cm, options, \"minFoldSize\");\n\n function getRange(allowFolded) {\n var range = finder(cm, pos);\n if (!range || range.to.line - range.from.line < minSize) return null;\n var marks = cm.findMarksAt(range.from);\n for (var i = 0; i < marks.length; ++i) {\n if (marks[i].__isFold && force !== \"fold\") {\n if (!allowFolded) return null;\n range.cleared = true;\n marks[i].clear();\n }\n }\n return range;\n }\n\n var range = getRange(true);\n if (getOption(cm, options, \"scanUp\")) while (!range && pos.line > cm.firstLine()) {\n pos = CodeMirror.Pos(pos.line - 1, 0);\n range = getRange(false);\n }\n if (!range || range.cleared || force === \"unfold\") return;\n\n var myWidget = makeWidget(cm, options);\n CodeMirror.on(myWidget, \"mousedown\", function(e) {\n myRange.clear();\n CodeMirror.e_preventDefault(e);\n });\n var myRange = cm.markText(range.from, range.to, {\n replacedWith: myWidget,\n clearOnEnter: getOption(cm, options, \"clearOnEnter\"),\n __isFold: true\n });\n myRange.on(\"clear\", function(from, to) {\n CodeMirror.signal(cm, \"unfold\", cm, from, to);\n });\n CodeMirror.signal(cm, \"fold\", cm, range.from, range.to);\n }\n\n function makeWidget(cm, options) {\n var widget = getOption(cm, options, \"widget\");\n if (typeof widget == \"string\") {\n var text = document.createTextNode(widget);\n widget = document.createElement(\"span\");\n widget.appendChild(text);\n widget.className = \"CodeMirror-foldmarker\";\n } else if (widget) {\n widget = widget.cloneNode(true)\n }\n return widget;\n }\n\n // Clumsy backwards-compatible interface\n CodeMirror.newFoldFunction = function(rangeFinder, widget) {\n return function(cm, pos) { doFold(cm, pos, {rangeFinder: rangeFinder, widget: widget}); };\n };\n\n // New-style interface\n CodeMirror.defineExtension(\"foldCode\", function(pos, options, force) {\n doFold(this, pos, options, force);\n });\n\n CodeMirror.defineExtension(\"isFolded\", function(pos) {\n var marks = this.findMarksAt(pos);\n for (var i = 0; i < marks.length; ++i)\n if (marks[i].__isFold) return true;\n });\n\n CodeMirror.commands.toggleFold = function(cm) {\n cm.foldCode(cm.getCursor());\n };\n CodeMirror.commands.fold = function(cm) {\n cm.foldCode(cm.getCursor(), null, \"fold\");\n };\n CodeMirror.commands.unfold = function(cm) {\n cm.foldCode(cm.getCursor(), null, \"unfold\");\n };\n CodeMirror.commands.foldAll = function(cm) {\n cm.operation(function() {\n for (var i = cm.firstLine(), e = cm.lastLine(); i <= e; i++)\n cm.foldCode(CodeMirror.Pos(i, 0), null, \"fold\");\n });\n };\n CodeMirror.commands.unfoldAll = function(cm) {\n cm.operation(function() {\n for (var i = cm.firstLine(), e = cm.lastLine(); i <= e; i++)\n cm.foldCode(CodeMirror.Pos(i, 0), null, \"unfold\");\n });\n };\n\n CodeMirror.registerHelper(\"fold\", \"combine\", function() {\n var funcs = Array.prototype.slice.call(arguments, 0);\n return function(cm, start) {\n for (var i = 0; i < funcs.length; ++i) {\n var found = funcs[i](cm, start);\n if (found) return found;\n }\n };\n });\n\n CodeMirror.registerHelper(\"fold\", \"auto\", function(cm, start) {\n var helpers = cm.getHelpers(start, \"fold\");\n for (var i = 0; i < helpers.length; i++) {\n var cur = helpers[i](cm, start);\n if (cur) return cur;\n }\n });\n\n var defaultOptions = {\n rangeFinder: CodeMirror.fold.auto,\n widget: \"\\u2194\",\n minFoldSize: 0,\n scanUp: false,\n clearOnEnter: true\n };\n\n CodeMirror.defineOption(\"foldOptions\", null);\n\n function getOption(cm, options, name) {\n if (options && options[name] !== undefined)\n return options[name];\n var editorOptions = cm.options.foldOptions;\n if (editorOptions && editorOptions[name] !== undefined)\n return editorOptions[name];\n return defaultOptions[name];\n }\n\n CodeMirror.defineExtension(\"foldOption\", function(options, name) {\n return getOption(this, options, name);\n });\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9hZGRvbi9mb2xkL2ZvbGRjb2RlLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvZGVtaXJyb3IvYWRkb24vZm9sZC9mb2xkY29kZS5qcz80ODk1Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIENvZGVNaXJyb3IsIGNvcHlyaWdodCAoYykgYnkgTWFyaWpuIEhhdmVyYmVrZSBhbmQgb3RoZXJzXG4vLyBEaXN0cmlidXRlZCB1bmRlciBhbiBNSVQgbGljZW5zZTogaHR0cHM6Ly9jb2RlbWlycm9yLm5ldC9MSUNFTlNFXG5cbihmdW5jdGlvbihtb2QpIHtcbiAgaWYgKHR5cGVvZiBleHBvcnRzID09IFwib2JqZWN0XCIgJiYgdHlwZW9mIG1vZHVsZSA9PSBcIm9iamVjdFwiKSAvLyBDb21tb25KU1xuICAgIG1vZChyZXF1aXJlKFwiLi4vLi4vbGliL2NvZGVtaXJyb3JcIikpO1xuICBlbHNlIGlmICh0eXBlb2YgZGVmaW5lID09IFwiZnVuY3Rpb25cIiAmJiBkZWZpbmUuYW1kKSAvLyBBTURcbiAgICBkZWZpbmUoW1wiLi4vLi4vbGliL2NvZGVtaXJyb3JcIl0sIG1vZCk7XG4gIGVsc2UgLy8gUGxhaW4gYnJvd3NlciBlbnZcbiAgICBtb2QoQ29kZU1pcnJvcik7XG59KShmdW5jdGlvbihDb2RlTWlycm9yKSB7XG4gIFwidXNlIHN0cmljdFwiO1xuXG4gIGZ1bmN0aW9uIGRvRm9sZChjbSwgcG9zLCBvcHRpb25zLCBmb3JjZSkge1xuICAgIGlmIChvcHRpb25zICYmIG9wdGlvbnMuY2FsbCkge1xuICAgICAgdmFyIGZpbmRlciA9IG9wdGlvbnM7XG4gICAgICBvcHRpb25zID0gbnVsbDtcbiAgICB9IGVsc2Uge1xuICAgICAgdmFyIGZpbmRlciA9IGdldE9wdGlvbihjbSwgb3B0aW9ucywgXCJyYW5nZUZpbmRlclwiKTtcbiAgICB9XG4gICAgaWYgKHR5cGVvZiBwb3MgPT0gXCJudW1iZXJcIikgcG9zID0gQ29kZU1pcnJvci5Qb3MocG9zLCAwKTtcbiAgICB2YXIgbWluU2l6ZSA9IGdldE9wdGlvbihjbSwgb3B0aW9ucywgXCJtaW5Gb2xkU2l6ZVwiKTtcblxuICAgIGZ1bmN0aW9uIGdldFJhbmdlKGFsbG93Rm9sZGVkKSB7XG4gICAgICB2YXIgcmFuZ2UgPSBmaW5kZXIoY20sIHBvcyk7XG4gICAgICBpZiAoIXJhbmdlIHx8IHJhbmdlLnRvLmxpbmUgLSByYW5nZS5mcm9tLmxpbmUgPCBtaW5TaXplKSByZXR1cm4gbnVsbDtcbiAgICAgIHZhciBtYXJrcyA9IGNtLmZpbmRNYXJrc0F0KHJhbmdlLmZyb20pO1xuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBtYXJrcy5sZW5ndGg7ICsraSkge1xuICAgICAgICBpZiAobWFya3NbaV0uX19pc0ZvbGQgJiYgZm9yY2UgIT09IFwiZm9sZFwiKSB7XG4gICAgICAgICAgaWYgKCFhbGxvd0ZvbGRlZCkgcmV0dXJuIG51bGw7XG4gICAgICAgICAgcmFuZ2UuY2xlYXJlZCA9IHRydWU7XG4gICAgICAgICAgbWFya3NbaV0uY2xlYXIoKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIHJhbmdlO1xuICAgIH1cblxuICAgIHZhciByYW5nZSA9IGdldFJhbmdlKHRydWUpO1xuICAgIGlmIChnZXRPcHRpb24oY20sIG9wdGlvbnMsIFwic2NhblVwXCIpKSB3aGlsZSAoIXJhbmdlICYmIHBvcy5saW5lID4gY20uZmlyc3RMaW5lKCkpIHtcbiAgICAgIHBvcyA9IENvZGVNaXJyb3IuUG9zKHBvcy5saW5lIC0gMSwgMCk7XG4gICAgICByYW5nZSA9IGdldFJhbmdlKGZhbHNlKTtcbiAgICB9XG4gICAgaWYgKCFyYW5nZSB8fCByYW5nZS5jbGVhcmVkIHx8IGZvcmNlID09PSBcInVuZm9sZFwiKSByZXR1cm47XG5cbiAgICB2YXIgbXlXaWRnZXQgPSBtYWtlV2lkZ2V0KGNtLCBvcHRpb25zKTtcbiAgICBDb2RlTWlycm9yLm9uKG15V2lkZ2V0LCBcIm1vdXNlZG93blwiLCBmdW5jdGlvbihlKSB7XG4gICAgICBteVJhbmdlLmNsZWFyKCk7XG4gICAgICBDb2RlTWlycm9yLmVfcHJldmVudERlZmF1bHQoZSk7XG4gICAgfSk7XG4gICAgdmFyIG15UmFuZ2UgPSBjbS5tYXJrVGV4dChyYW5nZS5mcm9tLCByYW5nZS50bywge1xuICAgICAgcmVwbGFjZWRXaXRoOiBteVdpZGdldCxcbiAgICAgIGNsZWFyT25FbnRlcjogZ2V0T3B0aW9uKGNtLCBvcHRpb25zLCBcImNsZWFyT25FbnRlclwiKSxcbiAgICAgIF9faXNGb2xkOiB0cnVlXG4gICAgfSk7XG4gICAgbXlSYW5nZS5vbihcImNsZWFyXCIsIGZ1bmN0aW9uKGZyb20sIHRvKSB7XG4gICAgICBDb2RlTWlycm9yLnNpZ25hbChjbSwgXCJ1bmZvbGRcIiwgY20sIGZyb20sIHRvKTtcbiAgICB9KTtcbiAgICBDb2RlTWlycm9yLnNpZ25hbChjbSwgXCJmb2xkXCIsIGNtLCByYW5nZS5mcm9tLCByYW5nZS50byk7XG4gIH1cblxuICBmdW5jdGlvbiBtYWtlV2lkZ2V0KGNtLCBvcHRpb25zKSB7XG4gICAgdmFyIHdpZGdldCA9IGdldE9wdGlvbihjbSwgb3B0aW9ucywgXCJ3aWRnZXRcIik7XG4gICAgaWYgKHR5cGVvZiB3aWRnZXQgPT0gXCJzdHJpbmdcIikge1xuICAgICAgdmFyIHRleHQgPSBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSh3aWRnZXQpO1xuICAgICAgd2lkZ2V0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcInNwYW5cIik7XG4gICAgICB3aWRnZXQuYXBwZW5kQ2hpbGQodGV4dCk7XG4gICAgICB3aWRnZXQuY2xhc3NOYW1lID0gXCJDb2RlTWlycm9yLWZvbGRtYXJrZXJcIjtcbiAgICB9IGVsc2UgaWYgKHdpZGdldCkge1xuICAgICAgd2lkZ2V0ID0gd2lkZ2V0LmNsb25lTm9kZSh0cnVlKVxuICAgIH1cbiAgICByZXR1cm4gd2lkZ2V0O1xuICB9XG5cbiAgLy8gQ2x1bXN5IGJhY2t3YXJkcy1jb21wYXRpYmxlIGludGVyZmFjZVxuICBDb2RlTWlycm9yLm5ld0ZvbGRGdW5jdGlvbiA9IGZ1bmN0aW9uKHJhbmdlRmluZGVyLCB3aWRnZXQpIHtcbiAgICByZXR1cm4gZnVuY3Rpb24oY20sIHBvcykgeyBkb0ZvbGQoY20sIHBvcywge3JhbmdlRmluZGVyOiByYW5nZUZpbmRlciwgd2lkZ2V0OiB3aWRnZXR9KTsgfTtcbiAgfTtcblxuICAvLyBOZXctc3R5bGUgaW50ZXJmYWNlXG4gIENvZGVNaXJyb3IuZGVmaW5lRXh0ZW5zaW9uKFwiZm9sZENvZGVcIiwgZnVuY3Rpb24ocG9zLCBvcHRpb25zLCBmb3JjZSkge1xuICAgIGRvRm9sZCh0aGlzLCBwb3MsIG9wdGlvbnMsIGZvcmNlKTtcbiAgfSk7XG5cbiAgQ29kZU1pcnJvci5kZWZpbmVFeHRlbnNpb24oXCJpc0ZvbGRlZFwiLCBmdW5jdGlvbihwb3MpIHtcbiAgICB2YXIgbWFya3MgPSB0aGlzLmZpbmRNYXJrc0F0KHBvcyk7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBtYXJrcy5sZW5ndGg7ICsraSlcbiAgICAgIGlmIChtYXJrc1tpXS5fX2lzRm9sZCkgcmV0dXJuIHRydWU7XG4gIH0pO1xuXG4gIENvZGVNaXJyb3IuY29tbWFuZHMudG9nZ2xlRm9sZCA9IGZ1bmN0aW9uKGNtKSB7XG4gICAgY20uZm9sZENvZGUoY20uZ2V0Q3Vyc29yKCkpO1xuICB9O1xuICBDb2RlTWlycm9yLmNvbW1hbmRzLmZvbGQgPSBmdW5jdGlvbihjbSkge1xuICAgIGNtLmZvbGRDb2RlKGNtLmdldEN1cnNvcigpLCBudWxsLCBcImZvbGRcIik7XG4gIH07XG4gIENvZGVNaXJyb3IuY29tbWFuZHMudW5mb2xkID0gZnVuY3Rpb24oY20pIHtcbiAgICBjbS5mb2xkQ29kZShjbS5nZXRDdXJzb3IoKSwgbnVsbCwgXCJ1bmZvbGRcIik7XG4gIH07XG4gIENvZGVNaXJyb3IuY29tbWFuZHMuZm9sZEFsbCA9IGZ1bmN0aW9uKGNtKSB7XG4gICAgY20ub3BlcmF0aW9uKGZ1bmN0aW9uKCkge1xuICAgICAgZm9yICh2YXIgaSA9IGNtLmZpcnN0TGluZSgpLCBlID0gY20ubGFzdExpbmUoKTsgaSA8PSBlOyBpKyspXG4gICAgICAgIGNtLmZvbGRDb2RlKENvZGVNaXJyb3IuUG9zKGksIDApLCBudWxsLCBcImZvbGRcIik7XG4gICAgfSk7XG4gIH07XG4gIENvZGVNaXJyb3IuY29tbWFuZHMudW5mb2xkQWxsID0gZnVuY3Rpb24oY20pIHtcbiAgICBjbS5vcGVyYXRpb24oZnVuY3Rpb24oKSB7XG4gICAgICBmb3IgKHZhciBpID0gY20uZmlyc3RMaW5lKCksIGUgPSBjbS5sYXN0TGluZSgpOyBpIDw9IGU7IGkrKylcbiAgICAgICAgY20uZm9sZENvZGUoQ29kZU1pcnJvci5Qb3MoaSwgMCksIG51bGwsIFwidW5mb2xkXCIpO1xuICAgIH0pO1xuICB9O1xuXG4gIENvZGVNaXJyb3IucmVnaXN0ZXJIZWxwZXIoXCJmb2xkXCIsIFwiY29tYmluZVwiLCBmdW5jdGlvbigpIHtcbiAgICB2YXIgZnVuY3MgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsIDApO1xuICAgIHJldHVybiBmdW5jdGlvbihjbSwgc3RhcnQpIHtcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZnVuY3MubGVuZ3RoOyArK2kpIHtcbiAgICAgICAgdmFyIGZvdW5kID0gZnVuY3NbaV0oY20sIHN0YXJ0KTtcbiAgICAgICAgaWYgKGZvdW5kKSByZXR1cm4gZm91bmQ7XG4gICAgICB9XG4gICAgfTtcbiAgfSk7XG5cbiAgQ29kZU1pcnJvci5yZWdpc3RlckhlbHBlcihcImZvbGRcIiwgXCJhdXRvXCIsIGZ1bmN0aW9uKGNtLCBzdGFydCkge1xuICAgIHZhciBoZWxwZXJzID0gY20uZ2V0SGVscGVycyhzdGFydCwgXCJmb2xkXCIpO1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgaGVscGVycy5sZW5ndGg7IGkrKykge1xuICAgICAgdmFyIGN1ciA9IGhlbHBlcnNbaV0oY20sIHN0YXJ0KTtcbiAgICAgIGlmIChjdXIpIHJldHVybiBjdXI7XG4gICAgfVxuICB9KTtcblxuICB2YXIgZGVmYXVsdE9wdGlvbnMgPSB7XG4gICAgcmFuZ2VGaW5kZXI6IENvZGVNaXJyb3IuZm9sZC5hdXRvLFxuICAgIHdpZGdldDogXCJcXHUyMTk0XCIsXG4gICAgbWluRm9sZFNpemU6IDAsXG4gICAgc2NhblVwOiBmYWxzZSxcbiAgICBjbGVhck9uRW50ZXI6IHRydWVcbiAgfTtcblxuICBDb2RlTWlycm9yLmRlZmluZU9wdGlvbihcImZvbGRPcHRpb25zXCIsIG51bGwpO1xuXG4gIGZ1bmN0aW9uIGdldE9wdGlvbihjbSwgb3B0aW9ucywgbmFtZSkge1xuICAgIGlmIChvcHRpb25zICYmIG9wdGlvbnNbbmFtZV0gIT09IHVuZGVmaW5lZClcbiAgICAgIHJldHVybiBvcHRpb25zW25hbWVdO1xuICAgIHZhciBlZGl0b3JPcHRpb25zID0gY20ub3B0aW9ucy5mb2xkT3B0aW9ucztcbiAgICBpZiAoZWRpdG9yT3B0aW9ucyAmJiBlZGl0b3JPcHRpb25zW25hbWVdICE9PSB1bmRlZmluZWQpXG4gICAgICByZXR1cm4gZWRpdG9yT3B0aW9uc1tuYW1lXTtcbiAgICByZXR1cm4gZGVmYXVsdE9wdGlvbnNbbmFtZV07XG4gIH1cblxuICBDb2RlTWlycm9yLmRlZmluZUV4dGVuc2lvbihcImZvbGRPcHRpb25cIiwgZnVuY3Rpb24ob3B0aW9ucywgbmFtZSkge1xuICAgIHJldHVybiBnZXRPcHRpb24odGhpcywgb3B0aW9ucywgbmFtZSk7XG4gIH0pO1xufSk7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/codemirror/addon/fold/foldcode.js\n"); /***/ }), /***/ "./node_modules/codemirror/addon/fold/foldgutter.js": /*!**********************************************************!*\ !*** ./node_modules/codemirror/addon/fold/foldgutter.js ***! \**********************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ \"./node_modules/codemirror/lib/codemirror.js\"), __webpack_require__(/*! ./foldcode */ \"./node_modules/codemirror/addon/fold/foldcode.js\"));\n else {}\n})(function(CodeMirror) {\n \"use strict\";\n\n CodeMirror.defineOption(\"foldGutter\", false, function(cm, val, old) {\n if (old && old != CodeMirror.Init) {\n cm.clearGutter(cm.state.foldGutter.options.gutter);\n cm.state.foldGutter = null;\n cm.off(\"gutterClick\", onGutterClick);\n cm.off(\"change\", onChange);\n cm.off(\"viewportChange\", onViewportChange);\n cm.off(\"fold\", onFold);\n cm.off(\"unfold\", onFold);\n cm.off(\"swapDoc\", onChange);\n }\n if (val) {\n cm.state.foldGutter = new State(parseOptions(val));\n updateInViewport(cm);\n cm.on(\"gutterClick\", onGutterClick);\n cm.on(\"change\", onChange);\n cm.on(\"viewportChange\", onViewportChange);\n cm.on(\"fold\", onFold);\n cm.on(\"unfold\", onFold);\n cm.on(\"swapDoc\", onChange);\n }\n });\n\n var Pos = CodeMirror.Pos;\n\n function State(options) {\n this.options = options;\n this.from = this.to = 0;\n }\n\n function parseOptions(opts) {\n if (opts === true) opts = {};\n if (opts.gutter == null) opts.gutter = \"CodeMirror-foldgutter\";\n if (opts.indicatorOpen == null) opts.indicatorOpen = \"CodeMirror-foldgutter-open\";\n if (opts.indicatorFolded == null) opts.indicatorFolded = \"CodeMirror-foldgutter-folded\";\n return opts;\n }\n\n function isFolded(cm, line) {\n var marks = cm.findMarks(Pos(line, 0), Pos(line + 1, 0));\n for (var i = 0; i < marks.length; ++i) {\n if (marks[i].__isFold) {\n var fromPos = marks[i].find(-1);\n if (fromPos && fromPos.line === line)\n return marks[i];\n }\n }\n }\n\n function marker(spec) {\n if (typeof spec == \"string\") {\n var elt = document.createElement(\"div\");\n elt.className = spec + \" CodeMirror-guttermarker-subtle\";\n return elt;\n } else {\n return spec.cloneNode(true);\n }\n }\n\n function updateFoldInfo(cm, from, to) {\n var opts = cm.state.foldGutter.options, cur = from;\n var minSize = cm.foldOption(opts, \"minFoldSize\");\n var func = cm.foldOption(opts, \"rangeFinder\");\n cm.eachLine(from, to, function(line) {\n var mark = null;\n if (isFolded(cm, cur)) {\n mark = marker(opts.indicatorFolded);\n } else {\n var pos = Pos(cur, 0);\n var range = func && func(cm, pos);\n if (range && range.to.line - range.from.line >= minSize)\n mark = marker(opts.indicatorOpen);\n }\n cm.setGutterMarker(line, opts.gutter, mark);\n ++cur;\n });\n }\n\n function updateInViewport(cm) {\n var vp = cm.getViewport(), state = cm.state.foldGutter;\n if (!state) return;\n cm.operation(function() {\n updateFoldInfo(cm, vp.from, vp.to);\n });\n state.from = vp.from; state.to = vp.to;\n }\n\n function onGutterClick(cm, line, gutter) {\n var state = cm.state.foldGutter;\n if (!state) return;\n var opts = state.options;\n if (gutter != opts.gutter) return;\n var folded = isFolded(cm, line);\n if (folded) folded.clear();\n else cm.foldCode(Pos(line, 0), opts);\n }\n\n function onChange(cm) {\n var state = cm.state.foldGutter;\n if (!state) return;\n var opts = state.options;\n state.from = state.to = 0;\n clearTimeout(state.changeUpdate);\n state.changeUpdate = setTimeout(function() { updateInViewport(cm); }, opts.foldOnChangeTimeSpan || 600);\n }\n\n function onViewportChange(cm) {\n var state = cm.state.foldGutter;\n if (!state) return;\n var opts = state.options;\n clearTimeout(state.changeUpdate);\n state.changeUpdate = setTimeout(function() {\n var vp = cm.getViewport();\n if (state.from == state.to || vp.from - state.to > 20 || state.from - vp.to > 20) {\n updateInViewport(cm);\n } else {\n cm.operation(function() {\n if (vp.from < state.from) {\n updateFoldInfo(cm, vp.from, state.from);\n state.from = vp.from;\n }\n if (vp.to > state.to) {\n updateFoldInfo(cm, state.to, vp.to);\n state.to = vp.to;\n }\n });\n }\n }, opts.updateViewportTimeSpan || 400);\n }\n\n function onFold(cm, from) {\n var state = cm.state.foldGutter;\n if (!state) return;\n var line = from.line;\n if (line >= state.from && line < state.to)\n updateFoldInfo(cm, line, line + 1);\n }\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9hZGRvbi9mb2xkL2ZvbGRndXR0ZXIuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9hZGRvbi9mb2xkL2ZvbGRndXR0ZXIuanM/Y2JjOCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb2RlTWlycm9yLCBjb3B5cmlnaHQgKGMpIGJ5IE1hcmlqbiBIYXZlcmJla2UgYW5kIG90aGVyc1xuLy8gRGlzdHJpYnV0ZWQgdW5kZXIgYW4gTUlUIGxpY2Vuc2U6IGh0dHBzOi8vY29kZW1pcnJvci5uZXQvTElDRU5TRVxuXG4oZnVuY3Rpb24obW9kKSB7XG4gIGlmICh0eXBlb2YgZXhwb3J0cyA9PSBcIm9iamVjdFwiICYmIHR5cGVvZiBtb2R1bGUgPT0gXCJvYmplY3RcIikgLy8gQ29tbW9uSlNcbiAgICBtb2QocmVxdWlyZShcIi4uLy4uL2xpYi9jb2RlbWlycm9yXCIpLCByZXF1aXJlKFwiLi9mb2xkY29kZVwiKSk7XG4gIGVsc2UgaWYgKHR5cGVvZiBkZWZpbmUgPT0gXCJmdW5jdGlvblwiICYmIGRlZmluZS5hbWQpIC8vIEFNRFxuICAgIGRlZmluZShbXCIuLi8uLi9saWIvY29kZW1pcnJvclwiLCBcIi4vZm9sZGNvZGVcIl0sIG1vZCk7XG4gIGVsc2UgLy8gUGxhaW4gYnJvd3NlciBlbnZcbiAgICBtb2QoQ29kZU1pcnJvcik7XG59KShmdW5jdGlvbihDb2RlTWlycm9yKSB7XG4gIFwidXNlIHN0cmljdFwiO1xuXG4gIENvZGVNaXJyb3IuZGVmaW5lT3B0aW9uKFwiZm9sZEd1dHRlclwiLCBmYWxzZSwgZnVuY3Rpb24oY20sIHZhbCwgb2xkKSB7XG4gICAgaWYgKG9sZCAmJiBvbGQgIT0gQ29kZU1pcnJvci5Jbml0KSB7XG4gICAgICBjbS5jbGVhckd1dHRlcihjbS5zdGF0ZS5mb2xkR3V0dGVyLm9wdGlvbnMuZ3V0dGVyKTtcbiAgICAgIGNtLnN0YXRlLmZvbGRHdXR0ZXIgPSBudWxsO1xuICAgICAgY20ub2ZmKFwiZ3V0dGVyQ2xpY2tcIiwgb25HdXR0ZXJDbGljayk7XG4gICAgICBjbS5vZmYoXCJjaGFuZ2VcIiwgb25DaGFuZ2UpO1xuICAgICAgY20ub2ZmKFwidmlld3BvcnRDaGFuZ2VcIiwgb25WaWV3cG9ydENoYW5nZSk7XG4gICAgICBjbS5vZmYoXCJmb2xkXCIsIG9uRm9sZCk7XG4gICAgICBjbS5vZmYoXCJ1bmZvbGRcIiwgb25Gb2xkKTtcbiAgICAgIGNtLm9mZihcInN3YXBEb2NcIiwgb25DaGFuZ2UpO1xuICAgIH1cbiAgICBpZiAodmFsKSB7XG4gICAgICBjbS5zdGF0ZS5mb2xkR3V0dGVyID0gbmV3IFN0YXRlKHBhcnNlT3B0aW9ucyh2YWwpKTtcbiAgICAgIHVwZGF0ZUluVmlld3BvcnQoY20pO1xuICAgICAgY20ub24oXCJndXR0ZXJDbGlja1wiLCBvbkd1dHRlckNsaWNrKTtcbiAgICAgIGNtLm9uKFwiY2hhbmdlXCIsIG9uQ2hhbmdlKTtcbiAgICAgIGNtLm9uKFwidmlld3BvcnRDaGFuZ2VcIiwgb25WaWV3cG9ydENoYW5nZSk7XG4gICAgICBjbS5vbihcImZvbGRcIiwgb25Gb2xkKTtcbiAgICAgIGNtLm9uKFwidW5mb2xkXCIsIG9uRm9sZCk7XG4gICAgICBjbS5vbihcInN3YXBEb2NcIiwgb25DaGFuZ2UpO1xuICAgIH1cbiAgfSk7XG5cbiAgdmFyIFBvcyA9IENvZGVNaXJyb3IuUG9zO1xuXG4gIGZ1bmN0aW9uIFN0YXRlKG9wdGlvbnMpIHtcbiAgICB0aGlzLm9wdGlvbnMgPSBvcHRpb25zO1xuICAgIHRoaXMuZnJvbSA9IHRoaXMudG8gPSAwO1xuICB9XG5cbiAgZnVuY3Rpb24gcGFyc2VPcHRpb25zKG9wdHMpIHtcbiAgICBpZiAob3B0cyA9PT0gdHJ1ZSkgb3B0cyA9IHt9O1xuICAgIGlmIChvcHRzLmd1dHRlciA9PSBudWxsKSBvcHRzLmd1dHRlciA9IFwiQ29kZU1pcnJvci1mb2xkZ3V0dGVyXCI7XG4gICAgaWYgKG9wdHMuaW5kaWNhdG9yT3BlbiA9PSBudWxsKSBvcHRzLmluZGljYXRvck9wZW4gPSBcIkNvZGVNaXJyb3ItZm9sZGd1dHRlci1vcGVuXCI7XG4gICAgaWYgKG9wdHMuaW5kaWNhdG9yRm9sZGVkID09IG51bGwpIG9wdHMuaW5kaWNhdG9yRm9sZGVkID0gXCJDb2RlTWlycm9yLWZvbGRndXR0ZXItZm9sZGVkXCI7XG4gICAgcmV0dXJuIG9wdHM7XG4gIH1cblxuICBmdW5jdGlvbiBpc0ZvbGRlZChjbSwgbGluZSkge1xuICAgIHZhciBtYXJrcyA9IGNtLmZpbmRNYXJrcyhQb3MobGluZSwgMCksIFBvcyhsaW5lICsgMSwgMCkpO1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbWFya3MubGVuZ3RoOyArK2kpIHtcbiAgICAgIGlmIChtYXJrc1tpXS5fX2lzRm9sZCkge1xuICAgICAgICB2YXIgZnJvbVBvcyA9IG1hcmtzW2ldLmZpbmQoLTEpO1xuICAgICAgICBpZiAoZnJvbVBvcyAmJiBmcm9tUG9zLmxpbmUgPT09IGxpbmUpXG4gICAgICAgICAgcmV0dXJuIG1hcmtzW2ldO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIG1hcmtlcihzcGVjKSB7XG4gICAgaWYgKHR5cGVvZiBzcGVjID09IFwic3RyaW5nXCIpIHtcbiAgICAgIHZhciBlbHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO1xuICAgICAgZWx0LmNsYXNzTmFtZSA9IHNwZWMgKyBcIiBDb2RlTWlycm9yLWd1dHRlcm1hcmtlci1zdWJ0bGVcIjtcbiAgICAgIHJldHVybiBlbHQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBzcGVjLmNsb25lTm9kZSh0cnVlKTtcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiB1cGRhdGVGb2xkSW5mbyhjbSwgZnJvbSwgdG8pIHtcbiAgICB2YXIgb3B0cyA9IGNtLnN0YXRlLmZvbGRHdXR0ZXIub3B0aW9ucywgY3VyID0gZnJvbTtcbiAgICB2YXIgbWluU2l6ZSA9IGNtLmZvbGRPcHRpb24ob3B0cywgXCJtaW5Gb2xkU2l6ZVwiKTtcbiAgICB2YXIgZnVuYyA9IGNtLmZvbGRPcHRpb24ob3B0cywgXCJyYW5nZUZpbmRlclwiKTtcbiAgICBjbS5lYWNoTGluZShmcm9tLCB0bywgZnVuY3Rpb24obGluZSkge1xuICAgICAgdmFyIG1hcmsgPSBudWxsO1xuICAgICAgaWYgKGlzRm9sZGVkKGNtLCBjdXIpKSB7XG4gICAgICAgIG1hcmsgPSBtYXJrZXIob3B0cy5pbmRpY2F0b3JGb2xkZWQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdmFyIHBvcyA9IFBvcyhjdXIsIDApO1xuICAgICAgICB2YXIgcmFuZ2UgPSBmdW5jICYmIGZ1bmMoY20sIHBvcyk7XG4gICAgICAgIGlmIChyYW5nZSAmJiByYW5nZS50by5saW5lIC0gcmFuZ2UuZnJvbS5saW5lID49IG1pblNpemUpXG4gICAgICAgICAgbWFyayA9IG1hcmtlcihvcHRzLmluZGljYXRvck9wZW4pO1xuICAgICAgfVxuICAgICAgY20uc2V0R3V0dGVyTWFya2VyKGxpbmUsIG9wdHMuZ3V0dGVyLCBtYXJrKTtcbiAgICAgICsrY3VyO1xuICAgIH0pO1xuICB9XG5cbiAgZnVuY3Rpb24gdXBkYXRlSW5WaWV3cG9ydChjbSkge1xuICAgIHZhciB2cCA9IGNtLmdldFZpZXdwb3J0KCksIHN0YXRlID0gY20uc3RhdGUuZm9sZEd1dHRlcjtcbiAgICBpZiAoIXN0YXRlKSByZXR1cm47XG4gICAgY20ub3BlcmF0aW9uKGZ1bmN0aW9uKCkge1xuICAgICAgdXBkYXRlRm9sZEluZm8oY20sIHZwLmZyb20sIHZwLnRvKTtcbiAgICB9KTtcbiAgICBzdGF0ZS5mcm9tID0gdnAuZnJvbTsgc3RhdGUudG8gPSB2cC50bztcbiAgfVxuXG4gIGZ1bmN0aW9uIG9uR3V0dGVyQ2xpY2soY20sIGxpbmUsIGd1dHRlcikge1xuICAgIHZhciBzdGF0ZSA9IGNtLnN0YXRlLmZvbGRHdXR0ZXI7XG4gICAgaWYgKCFzdGF0ZSkgcmV0dXJuO1xuICAgIHZhciBvcHRzID0gc3RhdGUub3B0aW9ucztcbiAgICBpZiAoZ3V0dGVyICE9IG9wdHMuZ3V0dGVyKSByZXR1cm47XG4gICAgdmFyIGZvbGRlZCA9IGlzRm9sZGVkKGNtLCBsaW5lKTtcbiAgICBpZiAoZm9sZGVkKSBmb2xkZWQuY2xlYXIoKTtcbiAgICBlbHNlIGNtLmZvbGRDb2RlKFBvcyhsaW5lLCAwKSwgb3B0cyk7XG4gIH1cblxuICBmdW5jdGlvbiBvbkNoYW5nZShjbSkge1xuICAgIHZhciBzdGF0ZSA9IGNtLnN0YXRlLmZvbGRHdXR0ZXI7XG4gICAgaWYgKCFzdGF0ZSkgcmV0dXJuO1xuICAgIHZhciBvcHRzID0gc3RhdGUub3B0aW9ucztcbiAgICBzdGF0ZS5mcm9tID0gc3RhdGUudG8gPSAwO1xuICAgIGNsZWFyVGltZW91dChzdGF0ZS5jaGFuZ2VVcGRhdGUpO1xuICAgIHN0YXRlLmNoYW5nZVVwZGF0ZSA9IHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7IHVwZGF0ZUluVmlld3BvcnQoY20pOyB9LCBvcHRzLmZvbGRPbkNoYW5nZVRpbWVTcGFuIHx8IDYwMCk7XG4gIH1cblxuICBmdW5jdGlvbiBvblZpZXdwb3J0Q2hhbmdlKGNtKSB7XG4gICAgdmFyIHN0YXRlID0gY20uc3RhdGUuZm9sZEd1dHRlcjtcbiAgICBpZiAoIXN0YXRlKSByZXR1cm47XG4gICAgdmFyIG9wdHMgPSBzdGF0ZS5vcHRpb25zO1xuICAgIGNsZWFyVGltZW91dChzdGF0ZS5jaGFuZ2VVcGRhdGUpO1xuICAgIHN0YXRlLmNoYW5nZVVwZGF0ZSA9IHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7XG4gICAgICB2YXIgdnAgPSBjbS5nZXRWaWV3cG9ydCgpO1xuICAgICAgaWYgKHN0YXRlLmZyb20gPT0gc3RhdGUudG8gfHwgdnAuZnJvbSAtIHN0YXRlLnRvID4gMjAgfHwgc3RhdGUuZnJvbSAtIHZwLnRvID4gMjApIHtcbiAgICAgICAgdXBkYXRlSW5WaWV3cG9ydChjbSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjbS5vcGVyYXRpb24oZnVuY3Rpb24oKSB7XG4gICAgICAgICAgaWYgKHZwLmZyb20gPCBzdGF0ZS5mcm9tKSB7XG4gICAgICAgICAgICB1cGRhdGVGb2xkSW5mbyhjbSwgdnAuZnJvbSwgc3RhdGUuZnJvbSk7XG4gICAgICAgICAgICBzdGF0ZS5mcm9tID0gdnAuZnJvbTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHZwLnRvID4gc3RhdGUudG8pIHtcbiAgICAgICAgICAgIHVwZGF0ZUZvbGRJbmZvKGNtLCBzdGF0ZS50bywgdnAudG8pO1xuICAgICAgICAgICAgc3RhdGUudG8gPSB2cC50bztcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0sIG9wdHMudXBkYXRlVmlld3BvcnRUaW1lU3BhbiB8fCA0MDApO1xuICB9XG5cbiAgZnVuY3Rpb24gb25Gb2xkKGNtLCBmcm9tKSB7XG4gICAgdmFyIHN0YXRlID0gY20uc3RhdGUuZm9sZEd1dHRlcjtcbiAgICBpZiAoIXN0YXRlKSByZXR1cm47XG4gICAgdmFyIGxpbmUgPSBmcm9tLmxpbmU7XG4gICAgaWYgKGxpbmUgPj0gc3RhdGUuZnJvbSAmJiBsaW5lIDwgc3RhdGUudG8pXG4gICAgICB1cGRhdGVGb2xkSW5mbyhjbSwgbGluZSwgbGluZSArIDEpO1xuICB9XG59KTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/codemirror/addon/fold/foldgutter.js\n"); /***/ }), /***/ "./node_modules/codemirror/addon/fold/markdown-fold.js": /*!*************************************************************!*\ !*** ./node_modules/codemirror/addon/fold/markdown-fold.js ***! \*************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ \"./node_modules/codemirror/lib/codemirror.js\"));\n else {}\n})(function(CodeMirror) {\n\"use strict\";\n\nCodeMirror.registerHelper(\"fold\", \"markdown\", function(cm, start) {\n var maxDepth = 100;\n\n function isHeader(lineNo) {\n var tokentype = cm.getTokenTypeAt(CodeMirror.Pos(lineNo, 0));\n return tokentype && /\\bheader\\b/.test(tokentype);\n }\n\n function headerLevel(lineNo, line, nextLine) {\n var match = line && line.match(/^#+/);\n if (match && isHeader(lineNo)) return match[0].length;\n match = nextLine && nextLine.match(/^[=\\-]+\\s*$/);\n if (match && isHeader(lineNo + 1)) return nextLine[0] == \"=\" ? 1 : 2;\n return maxDepth;\n }\n\n var firstLine = cm.getLine(start.line), nextLine = cm.getLine(start.line + 1);\n var level = headerLevel(start.line, firstLine, nextLine);\n if (level === maxDepth) return undefined;\n\n var lastLineNo = cm.lastLine();\n var end = start.line, nextNextLine = cm.getLine(end + 2);\n while (end < lastLineNo) {\n if (headerLevel(end + 1, nextLine, nextNextLine) <= level) break;\n ++end;\n nextLine = nextNextLine;\n nextNextLine = cm.getLine(end + 2);\n }\n\n return {\n from: CodeMirror.Pos(start.line, firstLine.length),\n to: CodeMirror.Pos(end, cm.getLine(end).length)\n };\n});\n\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9hZGRvbi9mb2xkL21hcmtkb3duLWZvbGQuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9hZGRvbi9mb2xkL21hcmtkb3duLWZvbGQuanM/OWYwOSJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb2RlTWlycm9yLCBjb3B5cmlnaHQgKGMpIGJ5IE1hcmlqbiBIYXZlcmJla2UgYW5kIG90aGVyc1xuLy8gRGlzdHJpYnV0ZWQgdW5kZXIgYW4gTUlUIGxpY2Vuc2U6IGh0dHBzOi8vY29kZW1pcnJvci5uZXQvTElDRU5TRVxuXG4oZnVuY3Rpb24obW9kKSB7XG4gIGlmICh0eXBlb2YgZXhwb3J0cyA9PSBcIm9iamVjdFwiICYmIHR5cGVvZiBtb2R1bGUgPT0gXCJvYmplY3RcIikgLy8gQ29tbW9uSlNcbiAgICBtb2QocmVxdWlyZShcIi4uLy4uL2xpYi9jb2RlbWlycm9yXCIpKTtcbiAgZWxzZSBpZiAodHlwZW9mIGRlZmluZSA9PSBcImZ1bmN0aW9uXCIgJiYgZGVmaW5lLmFtZCkgLy8gQU1EXG4gICAgZGVmaW5lKFtcIi4uLy4uL2xpYi9jb2RlbWlycm9yXCJdLCBtb2QpO1xuICBlbHNlIC8vIFBsYWluIGJyb3dzZXIgZW52XG4gICAgbW9kKENvZGVNaXJyb3IpO1xufSkoZnVuY3Rpb24oQ29kZU1pcnJvcikge1xuXCJ1c2Ugc3RyaWN0XCI7XG5cbkNvZGVNaXJyb3IucmVnaXN0ZXJIZWxwZXIoXCJmb2xkXCIsIFwibWFya2Rvd25cIiwgZnVuY3Rpb24oY20sIHN0YXJ0KSB7XG4gIHZhciBtYXhEZXB0aCA9IDEwMDtcblxuICBmdW5jdGlvbiBpc0hlYWRlcihsaW5lTm8pIHtcbiAgICB2YXIgdG9rZW50eXBlID0gY20uZ2V0VG9rZW5UeXBlQXQoQ29kZU1pcnJvci5Qb3MobGluZU5vLCAwKSk7XG4gICAgcmV0dXJuIHRva2VudHlwZSAmJiAvXFxiaGVhZGVyXFxiLy50ZXN0KHRva2VudHlwZSk7XG4gIH1cblxuICBmdW5jdGlvbiBoZWFkZXJMZXZlbChsaW5lTm8sIGxpbmUsIG5leHRMaW5lKSB7XG4gICAgdmFyIG1hdGNoID0gbGluZSAmJiBsaW5lLm1hdGNoKC9eIysvKTtcbiAgICBpZiAobWF0Y2ggJiYgaXNIZWFkZXIobGluZU5vKSkgcmV0dXJuIG1hdGNoWzBdLmxlbmd0aDtcbiAgICBtYXRjaCA9IG5leHRMaW5lICYmIG5leHRMaW5lLm1hdGNoKC9eWz1cXC1dK1xccyokLyk7XG4gICAgaWYgKG1hdGNoICYmIGlzSGVhZGVyKGxpbmVObyArIDEpKSByZXR1cm4gbmV4dExpbmVbMF0gPT0gXCI9XCIgPyAxIDogMjtcbiAgICByZXR1cm4gbWF4RGVwdGg7XG4gIH1cblxuICB2YXIgZmlyc3RMaW5lID0gY20uZ2V0TGluZShzdGFydC5saW5lKSwgbmV4dExpbmUgPSBjbS5nZXRMaW5lKHN0YXJ0LmxpbmUgKyAxKTtcbiAgdmFyIGxldmVsID0gaGVhZGVyTGV2ZWwoc3RhcnQubGluZSwgZmlyc3RMaW5lLCBuZXh0TGluZSk7XG4gIGlmIChsZXZlbCA9PT0gbWF4RGVwdGgpIHJldHVybiB1bmRlZmluZWQ7XG5cbiAgdmFyIGxhc3RMaW5lTm8gPSBjbS5sYXN0TGluZSgpO1xuICB2YXIgZW5kID0gc3RhcnQubGluZSwgbmV4dE5leHRMaW5lID0gY20uZ2V0TGluZShlbmQgKyAyKTtcbiAgd2hpbGUgKGVuZCA8IGxhc3RMaW5lTm8pIHtcbiAgICBpZiAoaGVhZGVyTGV2ZWwoZW5kICsgMSwgbmV4dExpbmUsIG5leHROZXh0TGluZSkgPD0gbGV2ZWwpIGJyZWFrO1xuICAgICsrZW5kO1xuICAgIG5leHRMaW5lID0gbmV4dE5leHRMaW5lO1xuICAgIG5leHROZXh0TGluZSA9IGNtLmdldExpbmUoZW5kICsgMik7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIGZyb206IENvZGVNaXJyb3IuUG9zKHN0YXJ0LmxpbmUsIGZpcnN0TGluZS5sZW5ndGgpLFxuICAgIHRvOiBDb2RlTWlycm9yLlBvcyhlbmQsIGNtLmdldExpbmUoZW5kKS5sZW5ndGgpXG4gIH07XG59KTtcblxufSk7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/codemirror/addon/fold/markdown-fold.js\n"); /***/ }), /***/ "./node_modules/codemirror/addon/fold/xml-fold.js": /*!********************************************************!*\ !*** ./node_modules/codemirror/addon/fold/xml-fold.js ***! \********************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ \"./node_modules/codemirror/lib/codemirror.js\"));\n else {}\n})(function(CodeMirror) {\n \"use strict\";\n\n var Pos = CodeMirror.Pos;\n function cmp(a, b) { return a.line - b.line || a.ch - b.ch; }\n\n var nameStartChar = \"A-Z_a-z\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD\";\n var nameChar = nameStartChar + \"\\-\\:\\.0-9\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040\";\n var xmlTagStart = new RegExp(\"<(/?)([\" + nameStartChar + \"][\" + nameChar + \"]*)\", \"g\");\n\n function Iter(cm, line, ch, range) {\n this.line = line; this.ch = ch;\n this.cm = cm; this.text = cm.getLine(line);\n this.min = range ? Math.max(range.from, cm.firstLine()) : cm.firstLine();\n this.max = range ? Math.min(range.to - 1, cm.lastLine()) : cm.lastLine();\n }\n\n function tagAt(iter, ch) {\n var type = iter.cm.getTokenTypeAt(Pos(iter.line, ch));\n return type && /\\btag\\b/.test(type);\n }\n\n function nextLine(iter) {\n if (iter.line >= iter.max) return;\n iter.ch = 0;\n iter.text = iter.cm.getLine(++iter.line);\n return true;\n }\n function prevLine(iter) {\n if (iter.line <= iter.min) return;\n iter.text = iter.cm.getLine(--iter.line);\n iter.ch = iter.text.length;\n return true;\n }\n\n function toTagEnd(iter) {\n for (;;) {\n var gt = iter.text.indexOf(\">\", iter.ch);\n if (gt == -1) { if (nextLine(iter)) continue; else return; }\n if (!tagAt(iter, gt + 1)) { iter.ch = gt + 1; continue; }\n var lastSlash = iter.text.lastIndexOf(\"/\", gt);\n var selfClose = lastSlash > -1 && !/\\S/.test(iter.text.slice(lastSlash + 1, gt));\n iter.ch = gt + 1;\n return selfClose ? \"selfClose\" : \"regular\";\n }\n }\n function toTagStart(iter) {\n for (;;) {\n var lt = iter.ch ? iter.text.lastIndexOf(\"<\", iter.ch - 1) : -1;\n if (lt == -1) { if (prevLine(iter)) continue; else return; }\n if (!tagAt(iter, lt + 1)) { iter.ch = lt; continue; }\n xmlTagStart.lastIndex = lt;\n iter.ch = lt;\n var match = xmlTagStart.exec(iter.text);\n if (match && match.index == lt) return match;\n }\n }\n\n function toNextTag(iter) {\n for (;;) {\n xmlTagStart.lastIndex = iter.ch;\n var found = xmlTagStart.exec(iter.text);\n if (!found) { if (nextLine(iter)) continue; else return; }\n if (!tagAt(iter, found.index + 1)) { iter.ch = found.index + 1; continue; }\n iter.ch = found.index + found[0].length;\n return found;\n }\n }\n function toPrevTag(iter) {\n for (;;) {\n var gt = iter.ch ? iter.text.lastIndexOf(\">\", iter.ch - 1) : -1;\n if (gt == -1) { if (prevLine(iter)) continue; else return; }\n if (!tagAt(iter, gt + 1)) { iter.ch = gt; continue; }\n var lastSlash = iter.text.lastIndexOf(\"/\", gt);\n var selfClose = lastSlash > -1 && !/\\S/.test(iter.text.slice(lastSlash + 1, gt));\n iter.ch = gt + 1;\n return selfClose ? \"selfClose\" : \"regular\";\n }\n }\n\n function findMatchingClose(iter, tag) {\n var stack = [];\n for (;;) {\n var next = toNextTag(iter), end, startLine = iter.line, startCh = iter.ch - (next ? next[0].length : 0);\n if (!next || !(end = toTagEnd(iter))) return;\n if (end == \"selfClose\") continue;\n if (next[1]) { // closing tag\n for (var i = stack.length - 1; i >= 0; --i) if (stack[i] == next[2]) {\n stack.length = i;\n break;\n }\n if (i < 0 && (!tag || tag == next[2])) return {\n tag: next[2],\n from: Pos(startLine, startCh),\n to: Pos(iter.line, iter.ch)\n };\n } else { // opening tag\n stack.push(next[2]);\n }\n }\n }\n function findMatchingOpen(iter, tag) {\n var stack = [];\n for (;;) {\n var prev = toPrevTag(iter);\n if (!prev) return;\n if (prev == \"selfClose\") { toTagStart(iter); continue; }\n var endLine = iter.line, endCh = iter.ch;\n var start = toTagStart(iter);\n if (!start) return;\n if (start[1]) { // closing tag\n stack.push(start[2]);\n } else { // opening tag\n for (var i = stack.length - 1; i >= 0; --i) if (stack[i] == start[2]) {\n stack.length = i;\n break;\n }\n if (i < 0 && (!tag || tag == start[2])) return {\n tag: start[2],\n from: Pos(iter.line, iter.ch),\n to: Pos(endLine, endCh)\n };\n }\n }\n }\n\n CodeMirror.registerHelper(\"fold\", \"xml\", function(cm, start) {\n var iter = new Iter(cm, start.line, 0);\n for (;;) {\n var openTag = toNextTag(iter)\n if (!openTag || iter.line != start.line) return\n var end = toTagEnd(iter)\n if (!end) return\n if (!openTag[1] && end != \"selfClose\") {\n var startPos = Pos(iter.line, iter.ch);\n var endPos = findMatchingClose(iter, openTag[2]);\n return endPos && cmp(endPos.from, startPos) > 0 ? {from: startPos, to: endPos.from} : null\n }\n }\n });\n CodeMirror.findMatchingTag = function(cm, pos, range) {\n var iter = new Iter(cm, pos.line, pos.ch, range);\n if (iter.text.indexOf(\">\") == -1 && iter.text.indexOf(\"<\") == -1) return;\n var end = toTagEnd(iter), to = end && Pos(iter.line, iter.ch);\n var start = end && toTagStart(iter);\n if (!end || !start || cmp(iter, pos) > 0) return;\n var here = {from: Pos(iter.line, iter.ch), to: to, tag: start[2]};\n if (end == \"selfClose\") return {open: here, close: null, at: \"open\"};\n\n if (start[1]) { // closing tag\n return {open: findMatchingOpen(iter, start[2]), close: here, at: \"close\"};\n } else { // opening tag\n iter = new Iter(cm, to.line, to.ch, range);\n return {open: here, close: findMatchingClose(iter, start[2]), at: \"open\"};\n }\n };\n\n CodeMirror.findEnclosingTag = function(cm, pos, range, tag) {\n var iter = new Iter(cm, pos.line, pos.ch, range);\n for (;;) {\n var open = findMatchingOpen(iter, tag);\n if (!open) break;\n var forward = new Iter(cm, pos.line, pos.ch, range);\n var close = findMatchingClose(forward, open.tag);\n if (close) return {open: open, close: close};\n }\n };\n\n // Used by addon/edit/closetag.js\n CodeMirror.scanForClosingTag = function(cm, pos, name, end) {\n var iter = new Iter(cm, pos.line, pos.ch, end ? {from: 0, to: end} : null);\n return findMatchingClose(iter, name);\n };\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9hZGRvbi9mb2xkL3htbC1mb2xkLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvZGVtaXJyb3IvYWRkb24vZm9sZC94bWwtZm9sZC5qcz9hMmMxIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIENvZGVNaXJyb3IsIGNvcHlyaWdodCAoYykgYnkgTWFyaWpuIEhhdmVyYmVrZSBhbmQgb3RoZXJzXG4vLyBEaXN0cmlidXRlZCB1bmRlciBhbiBNSVQgbGljZW5zZTogaHR0cHM6Ly9jb2RlbWlycm9yLm5ldC9MSUNFTlNFXG5cbihmdW5jdGlvbihtb2QpIHtcbiAgaWYgKHR5cGVvZiBleHBvcnRzID09IFwib2JqZWN0XCIgJiYgdHlwZW9mIG1vZHVsZSA9PSBcIm9iamVjdFwiKSAvLyBDb21tb25KU1xuICAgIG1vZChyZXF1aXJlKFwiLi4vLi4vbGliL2NvZGVtaXJyb3JcIikpO1xuICBlbHNlIGlmICh0eXBlb2YgZGVmaW5lID09IFwiZnVuY3Rpb25cIiAmJiBkZWZpbmUuYW1kKSAvLyBBTURcbiAgICBkZWZpbmUoW1wiLi4vLi4vbGliL2NvZGVtaXJyb3JcIl0sIG1vZCk7XG4gIGVsc2UgLy8gUGxhaW4gYnJvd3NlciBlbnZcbiAgICBtb2QoQ29kZU1pcnJvcik7XG59KShmdW5jdGlvbihDb2RlTWlycm9yKSB7XG4gIFwidXNlIHN0cmljdFwiO1xuXG4gIHZhciBQb3MgPSBDb2RlTWlycm9yLlBvcztcbiAgZnVuY3Rpb24gY21wKGEsIGIpIHsgcmV0dXJuIGEubGluZSAtIGIubGluZSB8fCBhLmNoIC0gYi5jaDsgfVxuXG4gIHZhciBuYW1lU3RhcnRDaGFyID0gXCJBLVpfYS16XFxcXHUwMEMwLVxcXFx1MDBENlxcXFx1MDBEOC1cXFxcdTAwRjZcXFxcdTAwRjgtXFxcXHUwMkZGXFxcXHUwMzcwLVxcXFx1MDM3RFxcXFx1MDM3Ri1cXFxcdTFGRkZcXFxcdTIwMEMtXFxcXHUyMDBEXFxcXHUyMDcwLVxcXFx1MjE4RlxcXFx1MkMwMC1cXFxcdTJGRUZcXFxcdTMwMDEtXFxcXHVEN0ZGXFxcXHVGOTAwLVxcXFx1RkRDRlxcXFx1RkRGMC1cXFxcdUZGRkRcIjtcbiAgdmFyIG5hbWVDaGFyID0gbmFtZVN0YXJ0Q2hhciArIFwiXFwtXFw6XFwuMC05XFxcXHUwMEI3XFxcXHUwMzAwLVxcXFx1MDM2RlxcXFx1MjAzRi1cXFxcdTIwNDBcIjtcbiAgdmFyIHhtbFRhZ1N0YXJ0ID0gbmV3IFJlZ0V4cChcIjwoLz8pKFtcIiArIG5hbWVTdGFydENoYXIgKyBcIl1bXCIgKyBuYW1lQ2hhciArIFwiXSopXCIsIFwiZ1wiKTtcblxuICBmdW5jdGlvbiBJdGVyKGNtLCBsaW5lLCBjaCwgcmFuZ2UpIHtcbiAgICB0aGlzLmxpbmUgPSBsaW5lOyB0aGlzLmNoID0gY2g7XG4gICAgdGhpcy5jbSA9IGNtOyB0aGlzLnRleHQgPSBjbS5nZXRMaW5lKGxpbmUpO1xuICAgIHRoaXMubWluID0gcmFuZ2UgPyBNYXRoLm1heChyYW5nZS5mcm9tLCBjbS5maXJzdExpbmUoKSkgOiBjbS5maXJzdExpbmUoKTtcbiAgICB0aGlzLm1heCA9IHJhbmdlID8gTWF0aC5taW4ocmFuZ2UudG8gLSAxLCBjbS5sYXN0TGluZSgpKSA6IGNtLmxhc3RMaW5lKCk7XG4gIH1cblxuICBmdW5jdGlvbiB0YWdBdChpdGVyLCBjaCkge1xuICAgIHZhciB0eXBlID0gaXRlci5jbS5nZXRUb2tlblR5cGVBdChQb3MoaXRlci5saW5lLCBjaCkpO1xuICAgIHJldHVybiB0eXBlICYmIC9cXGJ0YWdcXGIvLnRlc3QodHlwZSk7XG4gIH1cblxuICBmdW5jdGlvbiBuZXh0TGluZShpdGVyKSB7XG4gICAgaWYgKGl0ZXIubGluZSA+PSBpdGVyLm1heCkgcmV0dXJuO1xuICAgIGl0ZXIuY2ggPSAwO1xuICAgIGl0ZXIudGV4dCA9IGl0ZXIuY20uZ2V0TGluZSgrK2l0ZXIubGluZSk7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbiAgZnVuY3Rpb24gcHJldkxpbmUoaXRlcikge1xuICAgIGlmIChpdGVyLmxpbmUgPD0gaXRlci5taW4pIHJldHVybjtcbiAgICBpdGVyLnRleHQgPSBpdGVyLmNtLmdldExpbmUoLS1pdGVyLmxpbmUpO1xuICAgIGl0ZXIuY2ggPSBpdGVyLnRleHQubGVuZ3RoO1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgZnVuY3Rpb24gdG9UYWdFbmQoaXRlcikge1xuICAgIGZvciAoOzspIHtcbiAgICAgIHZhciBndCA9IGl0ZXIudGV4dC5pbmRleE9mKFwiPlwiLCBpdGVyLmNoKTtcbiAgICAgIGlmIChndCA9PSAtMSkgeyBpZiAobmV4dExpbmUoaXRlcikpIGNvbnRpbnVlOyBlbHNlIHJldHVybjsgfVxuICAgICAgaWYgKCF0YWdBdChpdGVyLCBndCArIDEpKSB7IGl0ZXIuY2ggPSBndCArIDE7IGNvbnRpbnVlOyB9XG4gICAgICB2YXIgbGFzdFNsYXNoID0gaXRlci50ZXh0Lmxhc3RJbmRleE9mKFwiL1wiLCBndCk7XG4gICAgICB2YXIgc2VsZkNsb3NlID0gbGFzdFNsYXNoID4gLTEgJiYgIS9cXFMvLnRlc3QoaXRlci50ZXh0LnNsaWNlKGxhc3RTbGFzaCArIDEsIGd0KSk7XG4gICAgICBpdGVyLmNoID0gZ3QgKyAxO1xuICAgICAgcmV0dXJuIHNlbGZDbG9zZSA/IFwic2VsZkNsb3NlXCIgOiBcInJlZ3VsYXJcIjtcbiAgICB9XG4gIH1cbiAgZnVuY3Rpb24gdG9UYWdTdGFydChpdGVyKSB7XG4gICAgZm9yICg7Oykge1xuICAgICAgdmFyIGx0ID0gaXRlci5jaCA/IGl0ZXIudGV4dC5sYXN0SW5kZXhPZihcIjxcIiwgaXRlci5jaCAtIDEpIDogLTE7XG4gICAgICBpZiAobHQgPT0gLTEpIHsgaWYgKHByZXZMaW5lKGl0ZXIpKSBjb250aW51ZTsgZWxzZSByZXR1cm47IH1cbiAgICAgIGlmICghdGFnQXQoaXRlciwgbHQgKyAxKSkgeyBpdGVyLmNoID0gbHQ7IGNvbnRpbnVlOyB9XG4gICAgICB4bWxUYWdTdGFydC5sYXN0SW5kZXggPSBsdDtcbiAgICAgIGl0ZXIuY2ggPSBsdDtcbiAgICAgIHZhciBtYXRjaCA9IHhtbFRhZ1N0YXJ0LmV4ZWMoaXRlci50ZXh0KTtcbiAgICAgIGlmIChtYXRjaCAmJiBtYXRjaC5pbmRleCA9PSBsdCkgcmV0dXJuIG1hdGNoO1xuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIHRvTmV4dFRhZyhpdGVyKSB7XG4gICAgZm9yICg7Oykge1xuICAgICAgeG1sVGFnU3RhcnQubGFzdEluZGV4ID0gaXRlci5jaDtcbiAgICAgIHZhciBmb3VuZCA9IHhtbFRhZ1N0YXJ0LmV4ZWMoaXRlci50ZXh0KTtcbiAgICAgIGlmICghZm91bmQpIHsgaWYgKG5leHRMaW5lKGl0ZXIpKSBjb250aW51ZTsgZWxzZSByZXR1cm47IH1cbiAgICAgIGlmICghdGFnQXQoaXRlciwgZm91bmQuaW5kZXggKyAxKSkgeyBpdGVyLmNoID0gZm91bmQuaW5kZXggKyAxOyBjb250aW51ZTsgfVxuICAgICAgaXRlci5jaCA9IGZvdW5kLmluZGV4ICsgZm91bmRbMF0ubGVuZ3RoO1xuICAgICAgcmV0dXJuIGZvdW5kO1xuICAgIH1cbiAgfVxuICBmdW5jdGlvbiB0b1ByZXZUYWcoaXRlcikge1xuICAgIGZvciAoOzspIHtcbiAgICAgIHZhciBndCA9IGl0ZXIuY2ggPyBpdGVyLnRleHQubGFzdEluZGV4T2YoXCI+XCIsIGl0ZXIuY2ggLSAxKSA6IC0xO1xuICAgICAgaWYgKGd0ID09IC0xKSB7IGlmIChwcmV2TGluZShpdGVyKSkgY29udGludWU7IGVsc2UgcmV0dXJuOyB9XG4gICAgICBpZiAoIXRhZ0F0KGl0ZXIsIGd0ICsgMSkpIHsgaXRlci5jaCA9IGd0OyBjb250aW51ZTsgfVxuICAgICAgdmFyIGxhc3RTbGFzaCA9IGl0ZXIudGV4dC5sYXN0SW5kZXhPZihcIi9cIiwgZ3QpO1xuICAgICAgdmFyIHNlbGZDbG9zZSA9IGxhc3RTbGFzaCA+IC0xICYmICEvXFxTLy50ZXN0KGl0ZXIudGV4dC5zbGljZShsYXN0U2xhc2ggKyAxLCBndCkpO1xuICAgICAgaXRlci5jaCA9IGd0ICsgMTtcbiAgICAgIHJldHVybiBzZWxmQ2xvc2UgPyBcInNlbGZDbG9zZVwiIDogXCJyZWd1bGFyXCI7XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gZmluZE1hdGNoaW5nQ2xvc2UoaXRlciwgdGFnKSB7XG4gICAgdmFyIHN0YWNrID0gW107XG4gICAgZm9yICg7Oykge1xuICAgICAgdmFyIG5leHQgPSB0b05leHRUYWcoaXRlciksIGVuZCwgc3RhcnRMaW5lID0gaXRlci5saW5lLCBzdGFydENoID0gaXRlci5jaCAtIChuZXh0ID8gbmV4dFswXS5sZW5ndGggOiAwKTtcbiAgICAgIGlmICghbmV4dCB8fCAhKGVuZCA9IHRvVGFnRW5kKGl0ZXIpKSkgcmV0dXJuO1xuICAgICAgaWYgKGVuZCA9PSBcInNlbGZDbG9zZVwiKSBjb250aW51ZTtcbiAgICAgIGlmIChuZXh0WzFdKSB7IC8vIGNsb3NpbmcgdGFnXG4gICAgICAgIGZvciAodmFyIGkgPSBzdGFjay5sZW5ndGggLSAxOyBpID49IDA7IC0taSkgaWYgKHN0YWNrW2ldID09IG5leHRbMl0pIHtcbiAgICAgICAgICBzdGFjay5sZW5ndGggPSBpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGlmIChpIDwgMCAmJiAoIXRhZyB8fCB0YWcgPT0gbmV4dFsyXSkpIHJldHVybiB7XG4gICAgICAgICAgdGFnOiBuZXh0WzJdLFxuICAgICAgICAgIGZyb206IFBvcyhzdGFydExpbmUsIHN0YXJ0Q2gpLFxuICAgICAgICAgIHRvOiBQb3MoaXRlci5saW5lLCBpdGVyLmNoKVxuICAgICAgICB9O1xuICAgICAgfSBlbHNlIHsgLy8gb3BlbmluZyB0YWdcbiAgICAgICAgc3RhY2sucHVzaChuZXh0WzJdKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgZnVuY3Rpb24gZmluZE1hdGNoaW5nT3BlbihpdGVyLCB0YWcpIHtcbiAgICB2YXIgc3RhY2sgPSBbXTtcbiAgICBmb3IgKDs7KSB7XG4gICAgICB2YXIgcHJldiA9IHRvUHJldlRhZyhpdGVyKTtcbiAgICAgIGlmICghcHJldikgcmV0dXJuO1xuICAgICAgaWYgKHByZXYgPT0gXCJzZWxmQ2xvc2VcIikgeyB0b1RhZ1N0YXJ0KGl0ZXIpOyBjb250aW51ZTsgfVxuICAgICAgdmFyIGVuZExpbmUgPSBpdGVyLmxpbmUsIGVuZENoID0gaXRlci5jaDtcbiAgICAgIHZhciBzdGFydCA9IHRvVGFnU3RhcnQoaXRlcik7XG4gICAgICBpZiAoIXN0YXJ0KSByZXR1cm47XG4gICAgICBpZiAoc3RhcnRbMV0pIHsgLy8gY2xvc2luZyB0YWdcbiAgICAgICAgc3RhY2sucHVzaChzdGFydFsyXSk7XG4gICAgICB9IGVsc2UgeyAvLyBvcGVuaW5nIHRhZ1xuICAgICAgICBmb3IgKHZhciBpID0gc3RhY2subGVuZ3RoIC0gMTsgaSA+PSAwOyAtLWkpIGlmIChzdGFja1tpXSA9PSBzdGFydFsyXSkge1xuICAgICAgICAgIHN0YWNrLmxlbmd0aCA9IGk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGkgPCAwICYmICghdGFnIHx8IHRhZyA9PSBzdGFydFsyXSkpIHJldHVybiB7XG4gICAgICAgICAgdGFnOiBzdGFydFsyXSxcbiAgICAgICAgICBmcm9tOiBQb3MoaXRlci5saW5lLCBpdGVyLmNoKSxcbiAgICAgICAgICB0bzogUG9zKGVuZExpbmUsIGVuZENoKVxuICAgICAgICB9O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIENvZGVNaXJyb3IucmVnaXN0ZXJIZWxwZXIoXCJmb2xkXCIsIFwieG1sXCIsIGZ1bmN0aW9uKGNtLCBzdGFydCkge1xuICAgIHZhciBpdGVyID0gbmV3IEl0ZXIoY20sIHN0YXJ0LmxpbmUsIDApO1xuICAgIGZvciAoOzspIHtcbiAgICAgIHZhciBvcGVuVGFnID0gdG9OZXh0VGFnKGl0ZXIpXG4gICAgICBpZiAoIW9wZW5UYWcgfHwgaXRlci5saW5lICE9IHN0YXJ0LmxpbmUpIHJldHVyblxuICAgICAgdmFyIGVuZCA9IHRvVGFnRW5kKGl0ZXIpXG4gICAgICBpZiAoIWVuZCkgcmV0dXJuXG4gICAgICBpZiAoIW9wZW5UYWdbMV0gJiYgZW5kICE9IFwic2VsZkNsb3NlXCIpIHtcbiAgICAgICAgdmFyIHN0YXJ0UG9zID0gUG9zKGl0ZXIubGluZSwgaXRlci5jaCk7XG4gICAgICAgIHZhciBlbmRQb3MgPSBmaW5kTWF0Y2hpbmdDbG9zZShpdGVyLCBvcGVuVGFnWzJdKTtcbiAgICAgICAgcmV0dXJuIGVuZFBvcyAmJiBjbXAoZW5kUG9zLmZyb20sIHN0YXJ0UG9zKSA+IDAgPyB7ZnJvbTogc3RhcnRQb3MsIHRvOiBlbmRQb3MuZnJvbX0gOiBudWxsXG4gICAgICB9XG4gICAgfVxuICB9KTtcbiAgQ29kZU1pcnJvci5maW5kTWF0Y2hpbmdUYWcgPSBmdW5jdGlvbihjbSwgcG9zLCByYW5nZSkge1xuICAgIHZhciBpdGVyID0gbmV3IEl0ZXIoY20sIHBvcy5saW5lLCBwb3MuY2gsIHJhbmdlKTtcbiAgICBpZiAoaXRlci50ZXh0LmluZGV4T2YoXCI+XCIpID09IC0xICYmIGl0ZXIudGV4dC5pbmRleE9mKFwiPFwiKSA9PSAtMSkgcmV0dXJuO1xuICAgIHZhciBlbmQgPSB0b1RhZ0VuZChpdGVyKSwgdG8gPSBlbmQgJiYgUG9zKGl0ZXIubGluZSwgaXRlci5jaCk7XG4gICAgdmFyIHN0YXJ0ID0gZW5kICYmIHRvVGFnU3RhcnQoaXRlcik7XG4gICAgaWYgKCFlbmQgfHwgIXN0YXJ0IHx8IGNtcChpdGVyLCBwb3MpID4gMCkgcmV0dXJuO1xuICAgIHZhciBoZXJlID0ge2Zyb206IFBvcyhpdGVyLmxpbmUsIGl0ZXIuY2gpLCB0bzogdG8sIHRhZzogc3RhcnRbMl19O1xuICAgIGlmIChlbmQgPT0gXCJzZWxmQ2xvc2VcIikgcmV0dXJuIHtvcGVuOiBoZXJlLCBjbG9zZTogbnVsbCwgYXQ6IFwib3BlblwifTtcblxuICAgIGlmIChzdGFydFsxXSkgeyAvLyBjbG9zaW5nIHRhZ1xuICAgICAgcmV0dXJuIHtvcGVuOiBmaW5kTWF0Y2hpbmdPcGVuKGl0ZXIsIHN0YXJ0WzJdKSwgY2xvc2U6IGhlcmUsIGF0OiBcImNsb3NlXCJ9O1xuICAgIH0gZWxzZSB7IC8vIG9wZW5pbmcgdGFnXG4gICAgICBpdGVyID0gbmV3IEl0ZXIoY20sIHRvLmxpbmUsIHRvLmNoLCByYW5nZSk7XG4gICAgICByZXR1cm4ge29wZW46IGhlcmUsIGNsb3NlOiBmaW5kTWF0Y2hpbmdDbG9zZShpdGVyLCBzdGFydFsyXSksIGF0OiBcIm9wZW5cIn07XG4gICAgfVxuICB9O1xuXG4gIENvZGVNaXJyb3IuZmluZEVuY2xvc2luZ1RhZyA9IGZ1bmN0aW9uKGNtLCBwb3MsIHJhbmdlLCB0YWcpIHtcbiAgICB2YXIgaXRlciA9IG5ldyBJdGVyKGNtLCBwb3MubGluZSwgcG9zLmNoLCByYW5nZSk7XG4gICAgZm9yICg7Oykge1xuICAgICAgdmFyIG9wZW4gPSBmaW5kTWF0Y2hpbmdPcGVuKGl0ZXIsIHRhZyk7XG4gICAgICBpZiAoIW9wZW4pIGJyZWFrO1xuICAgICAgdmFyIGZvcndhcmQgPSBuZXcgSXRlcihjbSwgcG9zLmxpbmUsIHBvcy5jaCwgcmFuZ2UpO1xuICAgICAgdmFyIGNsb3NlID0gZmluZE1hdGNoaW5nQ2xvc2UoZm9yd2FyZCwgb3Blbi50YWcpO1xuICAgICAgaWYgKGNsb3NlKSByZXR1cm4ge29wZW46IG9wZW4sIGNsb3NlOiBjbG9zZX07XG4gICAgfVxuICB9O1xuXG4gIC8vIFVzZWQgYnkgYWRkb24vZWRpdC9jbG9zZXRhZy5qc1xuICBDb2RlTWlycm9yLnNjYW5Gb3JDbG9zaW5nVGFnID0gZnVuY3Rpb24oY20sIHBvcywgbmFtZSwgZW5kKSB7XG4gICAgdmFyIGl0ZXIgPSBuZXcgSXRlcihjbSwgcG9zLmxpbmUsIHBvcy5jaCwgZW5kID8ge2Zyb206IDAsIHRvOiBlbmR9IDogbnVsbCk7XG4gICAgcmV0dXJuIGZpbmRNYXRjaGluZ0Nsb3NlKGl0ZXIsIG5hbWUpO1xuICB9O1xufSk7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/codemirror/addon/fold/xml-fold.js\n"); /***/ }), /***/ "./node_modules/codemirror/addon/hint/css-hint.js": /*!********************************************************!*\ !*** ./node_modules/codemirror/addon/hint/css-hint.js ***! \********************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ \"./node_modules/codemirror/lib/codemirror.js\"), __webpack_require__(/*! ../../mode/css/css */ \"./node_modules/codemirror/mode/css/css.js\"));\n else {}\n})(function(CodeMirror) {\n \"use strict\";\n\n var pseudoClasses = {link: 1, visited: 1, active: 1, hover: 1, focus: 1,\n \"first-letter\": 1, \"first-line\": 1, \"first-child\": 1,\n before: 1, after: 1, lang: 1};\n\n CodeMirror.registerHelper(\"hint\", \"css\", function(cm) {\n var cur = cm.getCursor(), token = cm.getTokenAt(cur);\n var inner = CodeMirror.innerMode(cm.getMode(), token.state);\n if (inner.mode.name != \"css\") return;\n\n if (token.type == \"keyword\" && \"!important\".indexOf(token.string) == 0)\n return {list: [\"!important\"], from: CodeMirror.Pos(cur.line, token.start),\n to: CodeMirror.Pos(cur.line, token.end)};\n\n var start = token.start, end = cur.ch, word = token.string.slice(0, end - start);\n if (/[^\\w$_-]/.test(word)) {\n word = \"\"; start = end = cur.ch;\n }\n\n var spec = CodeMirror.resolveMode(\"text/css\");\n\n var result = [];\n function add(keywords) {\n for (var name in keywords)\n if (!word || name.lastIndexOf(word, 0) == 0)\n result.push(name);\n }\n\n var st = inner.state.state;\n if (st == \"pseudo\" || token.type == \"variable-3\") {\n add(pseudoClasses);\n } else if (st == \"block\" || st == \"maybeprop\") {\n add(spec.propertyKeywords);\n } else if (st == \"prop\" || st == \"parens\" || st == \"at\" || st == \"params\") {\n add(spec.valueKeywords);\n add(spec.colorKeywords);\n } else if (st == \"media\" || st == \"media_parens\") {\n add(spec.mediaTypes);\n add(spec.mediaFeatures);\n }\n\n if (result.length) return {\n list: result,\n from: CodeMirror.Pos(cur.line, start),\n to: CodeMirror.Pos(cur.line, end)\n };\n });\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9hZGRvbi9oaW50L2Nzcy1oaW50LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvZGVtaXJyb3IvYWRkb24vaGludC9jc3MtaGludC5qcz8xMTFiIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIENvZGVNaXJyb3IsIGNvcHlyaWdodCAoYykgYnkgTWFyaWpuIEhhdmVyYmVrZSBhbmQgb3RoZXJzXG4vLyBEaXN0cmlidXRlZCB1bmRlciBhbiBNSVQgbGljZW5zZTogaHR0cHM6Ly9jb2RlbWlycm9yLm5ldC9MSUNFTlNFXG5cbihmdW5jdGlvbihtb2QpIHtcbiAgaWYgKHR5cGVvZiBleHBvcnRzID09IFwib2JqZWN0XCIgJiYgdHlwZW9mIG1vZHVsZSA9PSBcIm9iamVjdFwiKSAvLyBDb21tb25KU1xuICAgIG1vZChyZXF1aXJlKFwiLi4vLi4vbGliL2NvZGVtaXJyb3JcIiksIHJlcXVpcmUoXCIuLi8uLi9tb2RlL2Nzcy9jc3NcIikpO1xuICBlbHNlIGlmICh0eXBlb2YgZGVmaW5lID09IFwiZnVuY3Rpb25cIiAmJiBkZWZpbmUuYW1kKSAvLyBBTURcbiAgICBkZWZpbmUoW1wiLi4vLi4vbGliL2NvZGVtaXJyb3JcIiwgXCIuLi8uLi9tb2RlL2Nzcy9jc3NcIl0sIG1vZCk7XG4gIGVsc2UgLy8gUGxhaW4gYnJvd3NlciBlbnZcbiAgICBtb2QoQ29kZU1pcnJvcik7XG59KShmdW5jdGlvbihDb2RlTWlycm9yKSB7XG4gIFwidXNlIHN0cmljdFwiO1xuXG4gIHZhciBwc2V1ZG9DbGFzc2VzID0ge2xpbms6IDEsIHZpc2l0ZWQ6IDEsIGFjdGl2ZTogMSwgaG92ZXI6IDEsIGZvY3VzOiAxLFxuICAgICAgICAgICAgICAgICAgICAgICBcImZpcnN0LWxldHRlclwiOiAxLCBcImZpcnN0LWxpbmVcIjogMSwgXCJmaXJzdC1jaGlsZFwiOiAxLFxuICAgICAgICAgICAgICAgICAgICAgICBiZWZvcmU6IDEsIGFmdGVyOiAxLCBsYW5nOiAxfTtcblxuICBDb2RlTWlycm9yLnJlZ2lzdGVySGVscGVyKFwiaGludFwiLCBcImNzc1wiLCBmdW5jdGlvbihjbSkge1xuICAgIHZhciBjdXIgPSBjbS5nZXRDdXJzb3IoKSwgdG9rZW4gPSBjbS5nZXRUb2tlbkF0KGN1cik7XG4gICAgdmFyIGlubmVyID0gQ29kZU1pcnJvci5pbm5lck1vZGUoY20uZ2V0TW9kZSgpLCB0b2tlbi5zdGF0ZSk7XG4gICAgaWYgKGlubmVyLm1vZGUubmFtZSAhPSBcImNzc1wiKSByZXR1cm47XG5cbiAgICBpZiAodG9rZW4udHlwZSA9PSBcImtleXdvcmRcIiAmJiBcIiFpbXBvcnRhbnRcIi5pbmRleE9mKHRva2VuLnN0cmluZykgPT0gMClcbiAgICAgIHJldHVybiB7bGlzdDogW1wiIWltcG9ydGFudFwiXSwgZnJvbTogQ29kZU1pcnJvci5Qb3MoY3VyLmxpbmUsIHRva2VuLnN0YXJ0KSxcbiAgICAgICAgICAgICAgdG86IENvZGVNaXJyb3IuUG9zKGN1ci5saW5lLCB0b2tlbi5lbmQpfTtcblxuICAgIHZhciBzdGFydCA9IHRva2VuLnN0YXJ0LCBlbmQgPSBjdXIuY2gsIHdvcmQgPSB0b2tlbi5zdHJpbmcuc2xpY2UoMCwgZW5kIC0gc3RhcnQpO1xuICAgIGlmICgvW15cXHckXy1dLy50ZXN0KHdvcmQpKSB7XG4gICAgICB3b3JkID0gXCJcIjsgc3RhcnQgPSBlbmQgPSBjdXIuY2g7XG4gICAgfVxuXG4gICAgdmFyIHNwZWMgPSBDb2RlTWlycm9yLnJlc29sdmVNb2RlKFwidGV4dC9jc3NcIik7XG5cbiAgICB2YXIgcmVzdWx0ID0gW107XG4gICAgZnVuY3Rpb24gYWRkKGtleXdvcmRzKSB7XG4gICAgICBmb3IgKHZhciBuYW1lIGluIGtleXdvcmRzKVxuICAgICAgICBpZiAoIXdvcmQgfHwgbmFtZS5sYXN0SW5kZXhPZih3b3JkLCAwKSA9PSAwKVxuICAgICAgICAgIHJlc3VsdC5wdXNoKG5hbWUpO1xuICAgIH1cblxuICAgIHZhciBzdCA9IGlubmVyLnN0YXRlLnN0YXRlO1xuICAgIGlmIChzdCA9PSBcInBzZXVkb1wiIHx8IHRva2VuLnR5cGUgPT0gXCJ2YXJpYWJsZS0zXCIpIHtcbiAgICAgIGFkZChwc2V1ZG9DbGFzc2VzKTtcbiAgICB9IGVsc2UgaWYgKHN0ID09IFwiYmxvY2tcIiB8fCBzdCA9PSBcIm1heWJlcHJvcFwiKSB7XG4gICAgICBhZGQoc3BlYy5wcm9wZXJ0eUtleXdvcmRzKTtcbiAgICB9IGVsc2UgaWYgKHN0ID09IFwicHJvcFwiIHx8IHN0ID09IFwicGFyZW5zXCIgfHwgc3QgPT0gXCJhdFwiIHx8IHN0ID09IFwicGFyYW1zXCIpIHtcbiAgICAgIGFkZChzcGVjLnZhbHVlS2V5d29yZHMpO1xuICAgICAgYWRkKHNwZWMuY29sb3JLZXl3b3Jkcyk7XG4gICAgfSBlbHNlIGlmIChzdCA9PSBcIm1lZGlhXCIgfHwgc3QgPT0gXCJtZWRpYV9wYXJlbnNcIikge1xuICAgICAgYWRkKHNwZWMubWVkaWFUeXBlcyk7XG4gICAgICBhZGQoc3BlYy5tZWRpYUZlYXR1cmVzKTtcbiAgICB9XG5cbiAgICBpZiAocmVzdWx0Lmxlbmd0aCkgcmV0dXJuIHtcbiAgICAgIGxpc3Q6IHJlc3VsdCxcbiAgICAgIGZyb206IENvZGVNaXJyb3IuUG9zKGN1ci5saW5lLCBzdGFydCksXG4gICAgICB0bzogQ29kZU1pcnJvci5Qb3MoY3VyLmxpbmUsIGVuZClcbiAgICB9O1xuICB9KTtcbn0pO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/codemirror/addon/hint/css-hint.js\n"); /***/ }), /***/ "./node_modules/codemirror/addon/hint/javascript-hint.js": /*!***************************************************************!*\ !*** ./node_modules/codemirror/addon/hint/javascript-hint.js ***! \***************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ \"./node_modules/codemirror/lib/codemirror.js\"));\n else {}\n})(function(CodeMirror) {\n var Pos = CodeMirror.Pos;\n\n function forEach(arr, f) {\n for (var i = 0, e = arr.length; i < e; ++i) f(arr[i]);\n }\n\n function arrayContains(arr, item) {\n if (!Array.prototype.indexOf) {\n var i = arr.length;\n while (i--) {\n if (arr[i] === item) {\n return true;\n }\n }\n return false;\n }\n return arr.indexOf(item) != -1;\n }\n\n function scriptHint(editor, keywords, getToken, options) {\n // Find the token at the cursor\n var cur = editor.getCursor(), token = getToken(editor, cur);\n if (/\\b(?:string|comment)\\b/.test(token.type)) return;\n var innerMode = CodeMirror.innerMode(editor.getMode(), token.state);\n if (innerMode.mode.helperType === \"json\") return;\n token.state = innerMode.state;\n\n // If it's not a 'word-style' token, ignore the token.\n if (!/^[\\w$_]*$/.test(token.string)) {\n token = {start: cur.ch, end: cur.ch, string: \"\", state: token.state,\n type: token.string == \".\" ? \"property\" : null};\n } else if (token.end > cur.ch) {\n token.end = cur.ch;\n token.string = token.string.slice(0, cur.ch - token.start);\n }\n\n var tprop = token;\n // If it is a property, find out what it is a property of.\n while (tprop.type == \"property\") {\n tprop = getToken(editor, Pos(cur.line, tprop.start));\n if (tprop.string != \".\") return;\n tprop = getToken(editor, Pos(cur.line, tprop.start));\n if (!context) var context = [];\n context.push(tprop);\n }\n return {list: getCompletions(token, context, keywords, options),\n from: Pos(cur.line, token.start),\n to: Pos(cur.line, token.end)};\n }\n\n function javascriptHint(editor, options) {\n return scriptHint(editor, javascriptKeywords,\n function (e, cur) {return e.getTokenAt(cur);},\n options);\n };\n CodeMirror.registerHelper(\"hint\", \"javascript\", javascriptHint);\n\n function getCoffeeScriptToken(editor, cur) {\n // This getToken, it is for coffeescript, imitates the behavior of\n // getTokenAt method in javascript.js, that is, returning \"property\"\n // type and treat \".\" as indepenent token.\n var token = editor.getTokenAt(cur);\n if (cur.ch == token.start + 1 && token.string.charAt(0) == '.') {\n token.end = token.start;\n token.string = '.';\n token.type = \"property\";\n }\n else if (/^\\.[\\w$_]*$/.test(token.string)) {\n token.type = \"property\";\n token.start++;\n token.string = token.string.replace(/\\./, '');\n }\n return token;\n }\n\n function coffeescriptHint(editor, options) {\n return scriptHint(editor, coffeescriptKeywords, getCoffeeScriptToken, options);\n }\n CodeMirror.registerHelper(\"hint\", \"coffeescript\", coffeescriptHint);\n\n var stringProps = (\"charAt charCodeAt indexOf lastIndexOf substring substr slice trim trimLeft trimRight \" +\n \"toUpperCase toLowerCase split concat match replace search\").split(\" \");\n var arrayProps = (\"length concat join splice push pop shift unshift slice reverse sort indexOf \" +\n \"lastIndexOf every some filter forEach map reduce reduceRight \").split(\" \");\n var funcProps = \"prototype apply call bind\".split(\" \");\n var javascriptKeywords = (\"break case catch class const continue debugger default delete do else export extends false finally for function \" +\n \"if in import instanceof new null return super switch this throw true try typeof var void while with yield\").split(\" \");\n var coffeescriptKeywords = (\"and break catch class continue delete do else extends false finally for \" +\n \"if in instanceof isnt new no not null of off on or return switch then throw true try typeof until void while with yes\").split(\" \");\n\n function forAllProps(obj, callback) {\n if (!Object.getOwnPropertyNames || !Object.getPrototypeOf) {\n for (var name in obj) callback(name)\n } else {\n for (var o = obj; o; o = Object.getPrototypeOf(o))\n Object.getOwnPropertyNames(o).forEach(callback)\n }\n }\n\n function getCompletions(token, context, keywords, options) {\n var found = [], start = token.string, global = options && options.globalScope || window;\n function maybeAdd(str) {\n if (str.lastIndexOf(start, 0) == 0 && !arrayContains(found, str)) found.push(str);\n }\n function gatherCompletions(obj) {\n if (typeof obj == \"string\") forEach(stringProps, maybeAdd);\n else if (obj instanceof Array) forEach(arrayProps, maybeAdd);\n else if (obj instanceof Function) forEach(funcProps, maybeAdd);\n forAllProps(obj, maybeAdd)\n }\n\n if (context && context.length) {\n // If this is a property, see if it belongs to some object we can\n // find in the current environment.\n var obj = context.pop(), base;\n if (obj.type && obj.type.indexOf(\"variable\") === 0) {\n if (options && options.additionalContext)\n base = options.additionalContext[obj.string];\n if (!options || options.useGlobalScope !== false)\n base = base || global[obj.string];\n } else if (obj.type == \"string\") {\n base = \"\";\n } else if (obj.type == \"atom\") {\n base = 1;\n } else if (obj.type == \"function\") {\n if (global.jQuery != null && (obj.string == '$' || obj.string == 'jQuery') &&\n (typeof global.jQuery == 'function'))\n base = global.jQuery();\n else if (global._ != null && (obj.string == '_') && (typeof global._ == 'function'))\n base = global._();\n }\n while (base != null && context.length)\n base = base[context.pop().string];\n if (base != null) gatherCompletions(base);\n } else {\n // If not, just look in the global object and any local scope\n // (reading into JS mode internals to get at the local and global variables)\n for (var v = token.state.localVars; v; v = v.next) maybeAdd(v.name);\n for (var v = token.state.globalVars; v; v = v.next) maybeAdd(v.name);\n if (!options || options.useGlobalScope !== false)\n gatherCompletions(global);\n forEach(keywords, maybeAdd);\n }\n return found;\n }\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9hZGRvbi9oaW50L2phdmFzY3JpcHQtaGludC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb2RlbWlycm9yL2FkZG9uL2hpbnQvamF2YXNjcmlwdC1oaW50LmpzPzNjOTgiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29kZU1pcnJvciwgY29weXJpZ2h0IChjKSBieSBNYXJpam4gSGF2ZXJiZWtlIGFuZCBvdGhlcnNcbi8vIERpc3RyaWJ1dGVkIHVuZGVyIGFuIE1JVCBsaWNlbnNlOiBodHRwczovL2NvZGVtaXJyb3IubmV0L0xJQ0VOU0VcblxuKGZ1bmN0aW9uKG1vZCkge1xuICBpZiAodHlwZW9mIGV4cG9ydHMgPT0gXCJvYmplY3RcIiAmJiB0eXBlb2YgbW9kdWxlID09IFwib2JqZWN0XCIpIC8vIENvbW1vbkpTXG4gICAgbW9kKHJlcXVpcmUoXCIuLi8uLi9saWIvY29kZW1pcnJvclwiKSk7XG4gIGVsc2UgaWYgKHR5cGVvZiBkZWZpbmUgPT0gXCJmdW5jdGlvblwiICYmIGRlZmluZS5hbWQpIC8vIEFNRFxuICAgIGRlZmluZShbXCIuLi8uLi9saWIvY29kZW1pcnJvclwiXSwgbW9kKTtcbiAgZWxzZSAvLyBQbGFpbiBicm93c2VyIGVudlxuICAgIG1vZChDb2RlTWlycm9yKTtcbn0pKGZ1bmN0aW9uKENvZGVNaXJyb3IpIHtcbiAgdmFyIFBvcyA9IENvZGVNaXJyb3IuUG9zO1xuXG4gIGZ1bmN0aW9uIGZvckVhY2goYXJyLCBmKSB7XG4gICAgZm9yICh2YXIgaSA9IDAsIGUgPSBhcnIubGVuZ3RoOyBpIDwgZTsgKytpKSBmKGFycltpXSk7XG4gIH1cblxuICBmdW5jdGlvbiBhcnJheUNvbnRhaW5zKGFyciwgaXRlbSkge1xuICAgIGlmICghQXJyYXkucHJvdG90eXBlLmluZGV4T2YpIHtcbiAgICAgIHZhciBpID0gYXJyLmxlbmd0aDtcbiAgICAgIHdoaWxlIChpLS0pIHtcbiAgICAgICAgaWYgKGFycltpXSA9PT0gaXRlbSkge1xuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiBhcnIuaW5kZXhPZihpdGVtKSAhPSAtMTtcbiAgfVxuXG4gIGZ1bmN0aW9uIHNjcmlwdEhpbnQoZWRpdG9yLCBrZXl3b3JkcywgZ2V0VG9rZW4sIG9wdGlvbnMpIHtcbiAgICAvLyBGaW5kIHRoZSB0b2tlbiBhdCB0aGUgY3Vyc29yXG4gICAgdmFyIGN1ciA9IGVkaXRvci5nZXRDdXJzb3IoKSwgdG9rZW4gPSBnZXRUb2tlbihlZGl0b3IsIGN1cik7XG4gICAgaWYgKC9cXGIoPzpzdHJpbmd8Y29tbWVudClcXGIvLnRlc3QodG9rZW4udHlwZSkpIHJldHVybjtcbiAgICB2YXIgaW5uZXJNb2RlID0gQ29kZU1pcnJvci5pbm5lck1vZGUoZWRpdG9yLmdldE1vZGUoKSwgdG9rZW4uc3RhdGUpO1xuICAgIGlmIChpbm5lck1vZGUubW9kZS5oZWxwZXJUeXBlID09PSBcImpzb25cIikgcmV0dXJuO1xuICAgIHRva2VuLnN0YXRlID0gaW5uZXJNb2RlLnN0YXRlO1xuXG4gICAgLy8gSWYgaXQncyBub3QgYSAnd29yZC1zdHlsZScgdG9rZW4sIGlnbm9yZSB0aGUgdG9rZW4uXG4gICAgaWYgKCEvXltcXHckX10qJC8udGVzdCh0b2tlbi5zdHJpbmcpKSB7XG4gICAgICB0b2tlbiA9IHtzdGFydDogY3VyLmNoLCBlbmQ6IGN1ci5jaCwgc3RyaW5nOiBcIlwiLCBzdGF0ZTogdG9rZW4uc3RhdGUsXG4gICAgICAgICAgICAgICB0eXBlOiB0b2tlbi5zdHJpbmcgPT0gXCIuXCIgPyBcInByb3BlcnR5XCIgOiBudWxsfTtcbiAgICB9IGVsc2UgaWYgKHRva2VuLmVuZCA+IGN1ci5jaCkge1xuICAgICAgdG9rZW4uZW5kID0gY3VyLmNoO1xuICAgICAgdG9rZW4uc3RyaW5nID0gdG9rZW4uc3RyaW5nLnNsaWNlKDAsIGN1ci5jaCAtIHRva2VuLnN0YXJ0KTtcbiAgICB9XG5cbiAgICB2YXIgdHByb3AgPSB0b2tlbjtcbiAgICAvLyBJZiBpdCBpcyBhIHByb3BlcnR5LCBmaW5kIG91dCB3aGF0IGl0IGlzIGEgcHJvcGVydHkgb2YuXG4gICAgd2hpbGUgKHRwcm9wLnR5cGUgPT0gXCJwcm9wZXJ0eVwiKSB7XG4gICAgICB0cHJvcCA9IGdldFRva2VuKGVkaXRvciwgUG9zKGN1ci5saW5lLCB0cHJvcC5zdGFydCkpO1xuICAgICAgaWYgKHRwcm9wLnN0cmluZyAhPSBcIi5cIikgcmV0dXJuO1xuICAgICAgdHByb3AgPSBnZXRUb2tlbihlZGl0b3IsIFBvcyhjdXIubGluZSwgdHByb3Auc3RhcnQpKTtcbiAgICAgIGlmICghY29udGV4dCkgdmFyIGNvbnRleHQgPSBbXTtcbiAgICAgIGNvbnRleHQucHVzaCh0cHJvcCk7XG4gICAgfVxuICAgIHJldHVybiB7bGlzdDogZ2V0Q29tcGxldGlvbnModG9rZW4sIGNvbnRleHQsIGtleXdvcmRzLCBvcHRpb25zKSxcbiAgICAgICAgICAgIGZyb206IFBvcyhjdXIubGluZSwgdG9rZW4uc3RhcnQpLFxuICAgICAgICAgICAgdG86IFBvcyhjdXIubGluZSwgdG9rZW4uZW5kKX07XG4gIH1cblxuICBmdW5jdGlvbiBqYXZhc2NyaXB0SGludChlZGl0b3IsIG9wdGlvbnMpIHtcbiAgICByZXR1cm4gc2NyaXB0SGludChlZGl0b3IsIGphdmFzY3JpcHRLZXl3b3JkcyxcbiAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiAoZSwgY3VyKSB7cmV0dXJuIGUuZ2V0VG9rZW5BdChjdXIpO30sXG4gICAgICAgICAgICAgICAgICAgICAgb3B0aW9ucyk7XG4gIH07XG4gIENvZGVNaXJyb3IucmVnaXN0ZXJIZWxwZXIoXCJoaW50XCIsIFwiamF2YXNjcmlwdFwiLCBqYXZhc2NyaXB0SGludCk7XG5cbiAgZnVuY3Rpb24gZ2V0Q29mZmVlU2NyaXB0VG9rZW4oZWRpdG9yLCBjdXIpIHtcbiAgLy8gVGhpcyBnZXRUb2tlbiwgaXQgaXMgZm9yIGNvZmZlZXNjcmlwdCwgaW1pdGF0ZXMgdGhlIGJlaGF2aW9yIG9mXG4gIC8vIGdldFRva2VuQXQgbWV0aG9kIGluIGphdmFzY3JpcHQuanMsIHRoYXQgaXMsIHJldHVybmluZyBcInByb3BlcnR5XCJcbiAgLy8gdHlwZSBhbmQgdHJlYXQgXCIuXCIgYXMgaW5kZXBlbmVudCB0b2tlbi5cbiAgICB2YXIgdG9rZW4gPSBlZGl0b3IuZ2V0VG9rZW5BdChjdXIpO1xuICAgIGlmIChjdXIuY2ggPT0gdG9rZW4uc3RhcnQgKyAxICYmIHRva2VuLnN0cmluZy5jaGFyQXQoMCkgPT0gJy4nKSB7XG4gICAgICB0b2tlbi5lbmQgPSB0b2tlbi5zdGFydDtcbiAgICAgIHRva2VuLnN0cmluZyA9ICcuJztcbiAgICAgIHRva2VuLnR5cGUgPSBcInByb3BlcnR5XCI7XG4gICAgfVxuICAgIGVsc2UgaWYgKC9eXFwuW1xcdyRfXSokLy50ZXN0KHRva2VuLnN0cmluZykpIHtcbiAgICAgIHRva2VuLnR5cGUgPSBcInByb3BlcnR5XCI7XG4gICAgICB0b2tlbi5zdGFydCsrO1xuICAgICAgdG9rZW4uc3RyaW5nID0gdG9rZW4uc3RyaW5nLnJlcGxhY2UoL1xcLi8sICcnKTtcbiAgICB9XG4gICAgcmV0dXJuIHRva2VuO1xuICB9XG5cbiAgZnVuY3Rpb24gY29mZmVlc2NyaXB0SGludChlZGl0b3IsIG9wdGlvbnMpIHtcbiAgICByZXR1cm4gc2NyaXB0SGludChlZGl0b3IsIGNvZmZlZXNjcmlwdEtleXdvcmRzLCBnZXRDb2ZmZWVTY3JpcHRUb2tlbiwgb3B0aW9ucyk7XG4gIH1cbiAgQ29kZU1pcnJvci5yZWdpc3RlckhlbHBlcihcImhpbnRcIiwgXCJjb2ZmZWVzY3JpcHRcIiwgY29mZmVlc2NyaXB0SGludCk7XG5cbiAgdmFyIHN0cmluZ1Byb3BzID0gKFwiY2hhckF0IGNoYXJDb2RlQXQgaW5kZXhPZiBsYXN0SW5kZXhPZiBzdWJzdHJpbmcgc3Vic3RyIHNsaWNlIHRyaW0gdHJpbUxlZnQgdHJpbVJpZ2h0IFwiICtcbiAgICAgICAgICAgICAgICAgICAgIFwidG9VcHBlckNhc2UgdG9Mb3dlckNhc2Ugc3BsaXQgY29uY2F0IG1hdGNoIHJlcGxhY2Ugc2VhcmNoXCIpLnNwbGl0KFwiIFwiKTtcbiAgdmFyIGFycmF5UHJvcHMgPSAoXCJsZW5ndGggY29uY2F0IGpvaW4gc3BsaWNlIHB1c2ggcG9wIHNoaWZ0IHVuc2hpZnQgc2xpY2UgcmV2ZXJzZSBzb3J0IGluZGV4T2YgXCIgK1xuICAgICAgICAgICAgICAgICAgICBcImxhc3RJbmRleE9mIGV2ZXJ5IHNvbWUgZmlsdGVyIGZvckVhY2ggbWFwIHJlZHVjZSByZWR1Y2VSaWdodCBcIikuc3BsaXQoXCIgXCIpO1xuICB2YXIgZnVuY1Byb3BzID0gXCJwcm90b3R5cGUgYXBwbHkgY2FsbCBiaW5kXCIuc3BsaXQoXCIgXCIpO1xuICB2YXIgamF2YXNjcmlwdEtleXdvcmRzID0gKFwiYnJlYWsgY2FzZSBjYXRjaCBjbGFzcyBjb25zdCBjb250aW51ZSBkZWJ1Z2dlciBkZWZhdWx0IGRlbGV0ZSBkbyBlbHNlIGV4cG9ydCBleHRlbmRzIGZhbHNlIGZpbmFsbHkgZm9yIGZ1bmN0aW9uIFwiICtcbiAgICAgICAgICAgICAgICAgIFwiaWYgaW4gaW1wb3J0IGluc3RhbmNlb2YgbmV3IG51bGwgcmV0dXJuIHN1cGVyIHN3aXRjaCB0aGlzIHRocm93IHRydWUgdHJ5IHR5cGVvZiB2YXIgdm9pZCB3aGlsZSB3aXRoIHlpZWxkXCIpLnNwbGl0KFwiIFwiKTtcbiAgdmFyIGNvZmZlZXNjcmlwdEtleXdvcmRzID0gKFwiYW5kIGJyZWFrIGNhdGNoIGNsYXNzIGNvbnRpbnVlIGRlbGV0ZSBkbyBlbHNlIGV4dGVuZHMgZmFsc2UgZmluYWxseSBmb3IgXCIgK1xuICAgICAgICAgICAgICAgICAgXCJpZiBpbiBpbnN0YW5jZW9mIGlzbnQgbmV3IG5vIG5vdCBudWxsIG9mIG9mZiBvbiBvciByZXR1cm4gc3dpdGNoIHRoZW4gdGhyb3cgdHJ1ZSB0cnkgdHlwZW9mIHVudGlsIHZvaWQgd2hpbGUgd2l0aCB5ZXNcIikuc3BsaXQoXCIgXCIpO1xuXG4gIGZ1bmN0aW9uIGZvckFsbFByb3BzKG9iaiwgY2FsbGJhY2spIHtcbiAgICBpZiAoIU9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzIHx8ICFPYmplY3QuZ2V0UHJvdG90eXBlT2YpIHtcbiAgICAgIGZvciAodmFyIG5hbWUgaW4gb2JqKSBjYWxsYmFjayhuYW1lKVxuICAgIH0gZWxzZSB7XG4gICAgICBmb3IgKHZhciBvID0gb2JqOyBvOyBvID0gT2JqZWN0LmdldFByb3RvdHlwZU9mKG8pKVxuICAgICAgICBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhvKS5mb3JFYWNoKGNhbGxiYWNrKVxuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIGdldENvbXBsZXRpb25zKHRva2VuLCBjb250ZXh0LCBrZXl3b3Jkcywgb3B0aW9ucykge1xuICAgIHZhciBmb3VuZCA9IFtdLCBzdGFydCA9IHRva2VuLnN0cmluZywgZ2xvYmFsID0gb3B0aW9ucyAmJiBvcHRpb25zLmdsb2JhbFNjb3BlIHx8IHdpbmRvdztcbiAgICBmdW5jdGlvbiBtYXliZUFkZChzdHIpIHtcbiAgICAgIGlmIChzdHIubGFzdEluZGV4T2Yoc3RhcnQsIDApID09IDAgJiYgIWFycmF5Q29udGFpbnMoZm91bmQsIHN0cikpIGZvdW5kLnB1c2goc3RyKTtcbiAgICB9XG4gICAgZnVuY3Rpb24gZ2F0aGVyQ29tcGxldGlvbnMob2JqKSB7XG4gICAgICBpZiAodHlwZW9mIG9iaiA9PSBcInN0cmluZ1wiKSBmb3JFYWNoKHN0cmluZ1Byb3BzLCBtYXliZUFkZCk7XG4gICAgICBlbHNlIGlmIChvYmogaW5zdGFuY2VvZiBBcnJheSkgZm9yRWFjaChhcnJheVByb3BzLCBtYXliZUFkZCk7XG4gICAgICBlbHNlIGlmIChvYmogaW5zdGFuY2VvZiBGdW5jdGlvbikgZm9yRWFjaChmdW5jUHJvcHMsIG1heWJlQWRkKTtcbiAgICAgIGZvckFsbFByb3BzKG9iaiwgbWF5YmVBZGQpXG4gICAgfVxuXG4gICAgaWYgKGNvbnRleHQgJiYgY29udGV4dC5sZW5ndGgpIHtcbiAgICAgIC8vIElmIHRoaXMgaXMgYSBwcm9wZXJ0eSwgc2VlIGlmIGl0IGJlbG9uZ3MgdG8gc29tZSBvYmplY3Qgd2UgY2FuXG4gICAgICAvLyBmaW5kIGluIHRoZSBjdXJyZW50IGVudmlyb25tZW50LlxuICAgICAgdmFyIG9iaiA9IGNvbnRleHQucG9wKCksIGJhc2U7XG4gICAgICBpZiAob2JqLnR5cGUgJiYgb2JqLnR5cGUuaW5kZXhPZihcInZhcmlhYmxlXCIpID09PSAwKSB7XG4gICAgICAgIGlmIChvcHRpb25zICYmIG9wdGlvbnMuYWRkaXRpb25hbENvbnRleHQpXG4gICAgICAgICAgYmFzZSA9IG9wdGlvbnMuYWRkaXRpb25hbENvbnRleHRbb2JqLnN0cmluZ107XG4gICAgICAgIGlmICghb3B0aW9ucyB8fCBvcHRpb25zLnVzZUdsb2JhbFNjb3BlICE9PSBmYWxzZSlcbiAgICAgICAgICBiYXNlID0gYmFzZSB8fCBnbG9iYWxbb2JqLnN0cmluZ107XG4gICAgICB9IGVsc2UgaWYgKG9iai50eXBlID09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgYmFzZSA9IFwiXCI7XG4gICAgICB9IGVsc2UgaWYgKG9iai50eXBlID09IFwiYXRvbVwiKSB7XG4gICAgICAgIGJhc2UgPSAxO1xuICAgICAgfSBlbHNlIGlmIChvYmoudHlwZSA9PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgaWYgKGdsb2JhbC5qUXVlcnkgIT0gbnVsbCAmJiAob2JqLnN0cmluZyA9PSAnJCcgfHwgb2JqLnN0cmluZyA9PSAnalF1ZXJ5JykgJiZcbiAgICAgICAgICAgICh0eXBlb2YgZ2xvYmFsLmpRdWVyeSA9PSAnZnVuY3Rpb24nKSlcbiAgICAgICAgICBiYXNlID0gZ2xvYmFsLmpRdWVyeSgpO1xuICAgICAgICBlbHNlIGlmIChnbG9iYWwuXyAhPSBudWxsICYmIChvYmouc3RyaW5nID09ICdfJykgJiYgKHR5cGVvZiBnbG9iYWwuXyA9PSAnZnVuY3Rpb24nKSlcbiAgICAgICAgICBiYXNlID0gZ2xvYmFsLl8oKTtcbiAgICAgIH1cbiAgICAgIHdoaWxlIChiYXNlICE9IG51bGwgJiYgY29udGV4dC5sZW5ndGgpXG4gICAgICAgIGJhc2UgPSBiYXNlW2NvbnRleHQucG9wKCkuc3RyaW5nXTtcbiAgICAgIGlmIChiYXNlICE9IG51bGwpIGdhdGhlckNvbXBsZXRpb25zKGJhc2UpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBJZiBub3QsIGp1c3QgbG9vayBpbiB0aGUgZ2xvYmFsIG9iamVjdCBhbmQgYW55IGxvY2FsIHNjb3BlXG4gICAgICAvLyAocmVhZGluZyBpbnRvIEpTIG1vZGUgaW50ZXJuYWxzIHRvIGdldCBhdCB0aGUgbG9jYWwgYW5kIGdsb2JhbCB2YXJpYWJsZXMpXG4gICAgICBmb3IgKHZhciB2ID0gdG9rZW4uc3RhdGUubG9jYWxWYXJzOyB2OyB2ID0gdi5uZXh0KSBtYXliZUFkZCh2Lm5hbWUpO1xuICAgICAgZm9yICh2YXIgdiA9IHRva2VuLnN0YXRlLmdsb2JhbFZhcnM7IHY7IHYgPSB2Lm5leHQpIG1heWJlQWRkKHYubmFtZSk7XG4gICAgICBpZiAoIW9wdGlvbnMgfHwgb3B0aW9ucy51c2VHbG9iYWxTY29wZSAhPT0gZmFsc2UpXG4gICAgICAgIGdhdGhlckNvbXBsZXRpb25zKGdsb2JhbCk7XG4gICAgICBmb3JFYWNoKGtleXdvcmRzLCBtYXliZUFkZCk7XG4gICAgfVxuICAgIHJldHVybiBmb3VuZDtcbiAgfVxufSk7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/codemirror/addon/hint/javascript-hint.js\n"); /***/ }), /***/ "./node_modules/codemirror/addon/hint/show-hint.js": /*!*********************************************************!*\ !*** ./node_modules/codemirror/addon/hint/show-hint.js ***! \*********************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ \"./node_modules/codemirror/lib/codemirror.js\"));\n else {}\n})(function(CodeMirror) {\n \"use strict\";\n\n var HINT_ELEMENT_CLASS = \"CodeMirror-hint\";\n var ACTIVE_HINT_ELEMENT_CLASS = \"CodeMirror-hint-active\";\n\n // This is the old interface, kept around for now to stay\n // backwards-compatible.\n CodeMirror.showHint = function(cm, getHints, options) {\n if (!getHints) return cm.showHint(options);\n if (options && options.async) getHints.async = true;\n var newOpts = {hint: getHints};\n if (options) for (var prop in options) newOpts[prop] = options[prop];\n return cm.showHint(newOpts);\n };\n\n CodeMirror.defineExtension(\"showHint\", function(options) {\n options = parseOptions(this, this.getCursor(\"start\"), options);\n var selections = this.listSelections()\n if (selections.length > 1) return;\n // By default, don't allow completion when something is selected.\n // A hint function can have a `supportsSelection` property to\n // indicate that it can handle selections.\n if (this.somethingSelected()) {\n if (!options.hint.supportsSelection) return;\n // Don't try with cross-line selections\n for (var i = 0; i < selections.length; i++)\n if (selections[i].head.line != selections[i].anchor.line) return;\n }\n\n if (this.state.completionActive) this.state.completionActive.close();\n var completion = this.state.completionActive = new Completion(this, options);\n if (!completion.options.hint) return;\n\n CodeMirror.signal(this, \"startCompletion\", this);\n completion.update(true);\n });\n\n CodeMirror.defineExtension(\"closeHint\", function() {\n if (this.state.completionActive) this.state.completionActive.close()\n })\n\n function Completion(cm, options) {\n this.cm = cm;\n this.options = options;\n this.widget = null;\n this.debounce = 0;\n this.tick = 0;\n this.startPos = this.cm.getCursor(\"start\");\n this.startLen = this.cm.getLine(this.startPos.line).length - this.cm.getSelection().length;\n\n var self = this;\n cm.on(\"cursorActivity\", this.activityFunc = function() { self.cursorActivity(); });\n }\n\n var requestAnimationFrame = window.requestAnimationFrame || function(fn) {\n return setTimeout(fn, 1000/60);\n };\n var cancelAnimationFrame = window.cancelAnimationFrame || clearTimeout;\n\n Completion.prototype = {\n close: function() {\n if (!this.active()) return;\n this.cm.state.completionActive = null;\n this.tick = null;\n this.cm.off(\"cursorActivity\", this.activityFunc);\n\n if (this.widget && this.data) CodeMirror.signal(this.data, \"close\");\n if (this.widget) this.widget.close();\n CodeMirror.signal(this.cm, \"endCompletion\", this.cm);\n },\n\n active: function() {\n return this.cm.state.completionActive == this;\n },\n\n pick: function(data, i) {\n var completion = data.list[i];\n if (completion.hint) completion.hint(this.cm, data, completion);\n else this.cm.replaceRange(getText(completion), completion.from || data.from,\n completion.to || data.to, \"complete\");\n CodeMirror.signal(data, \"pick\", completion);\n this.close();\n },\n\n cursorActivity: function() {\n if (this.debounce) {\n cancelAnimationFrame(this.debounce);\n this.debounce = 0;\n }\n\n var pos = this.cm.getCursor(), line = this.cm.getLine(pos.line);\n if (pos.line != this.startPos.line || line.length - pos.ch != this.startLen - this.startPos.ch ||\n pos.ch < this.startPos.ch || this.cm.somethingSelected() ||\n (!pos.ch || this.options.closeCharacters.test(line.charAt(pos.ch - 1)))) {\n this.close();\n } else {\n var self = this;\n this.debounce = requestAnimationFrame(function() {self.update();});\n if (this.widget) this.widget.disable();\n }\n },\n\n update: function(first) {\n if (this.tick == null) return\n var self = this, myTick = ++this.tick\n fetchHints(this.options.hint, this.cm, this.options, function(data) {\n if (self.tick == myTick) self.finishUpdate(data, first)\n })\n },\n\n finishUpdate: function(data, first) {\n if (this.data) CodeMirror.signal(this.data, \"update\");\n\n var picked = (this.widget && this.widget.picked) || (first && this.options.completeSingle);\n if (this.widget) this.widget.close();\n\n this.data = data;\n\n if (data && data.list.length) {\n if (picked && data.list.length == 1) {\n this.pick(data, 0);\n } else {\n this.widget = new Widget(this, data);\n CodeMirror.signal(data, \"shown\");\n }\n }\n }\n };\n\n function parseOptions(cm, pos, options) {\n var editor = cm.options.hintOptions;\n var out = {};\n for (var prop in defaultOptions) out[prop] = defaultOptions[prop];\n if (editor) for (var prop in editor)\n if (editor[prop] !== undefined) out[prop] = editor[prop];\n if (options) for (var prop in options)\n if (options[prop] !== undefined) out[prop] = options[prop];\n if (out.hint.resolve) out.hint = out.hint.resolve(cm, pos)\n return out;\n }\n\n function getText(completion) {\n if (typeof completion == \"string\") return completion;\n else return completion.text;\n }\n\n function buildKeyMap(completion, handle) {\n var baseMap = {\n Up: function() {handle.moveFocus(-1);},\n Down: function() {handle.moveFocus(1);},\n PageUp: function() {handle.moveFocus(-handle.menuSize() + 1, true);},\n PageDown: function() {handle.moveFocus(handle.menuSize() - 1, true);},\n Home: function() {handle.setFocus(0);},\n End: function() {handle.setFocus(handle.length - 1);},\n Enter: handle.pick,\n Tab: handle.pick,\n Esc: handle.close\n };\n\n var mac = /Mac/.test(navigator.platform);\n\n if (mac) {\n baseMap[\"Ctrl-P\"] = function() {handle.moveFocus(-1);};\n baseMap[\"Ctrl-N\"] = function() {handle.moveFocus(1);};\n }\n\n var custom = completion.options.customKeys;\n var ourMap = custom ? {} : baseMap;\n function addBinding(key, val) {\n var bound;\n if (typeof val != \"string\")\n bound = function(cm) { return val(cm, handle); };\n // This mechanism is deprecated\n else if (baseMap.hasOwnProperty(val))\n bound = baseMap[val];\n else\n bound = val;\n ourMap[key] = bound;\n }\n if (custom)\n for (var key in custom) if (custom.hasOwnProperty(key))\n addBinding(key, custom[key]);\n var extra = completion.options.extraKeys;\n if (extra)\n for (var key in extra) if (extra.hasOwnProperty(key))\n addBinding(key, extra[key]);\n return ourMap;\n }\n\n function getHintElement(hintsElement, el) {\n while (el && el != hintsElement) {\n if (el.nodeName.toUpperCase() === \"LI\" && el.parentNode == hintsElement) return el;\n el = el.parentNode;\n }\n }\n\n function Widget(completion, data) {\n this.completion = completion;\n this.data = data;\n this.picked = false;\n var widget = this, cm = completion.cm;\n var ownerDocument = cm.getInputField().ownerDocument;\n var parentWindow = ownerDocument.defaultView || ownerDocument.parentWindow;\n\n var hints = this.hints = ownerDocument.createElement(\"ul\");\n var theme = completion.cm.options.theme;\n hints.className = \"CodeMirror-hints \" + theme;\n this.selectedHint = data.selectedHint || 0;\n\n var completions = data.list;\n for (var i = 0; i < completions.length; ++i) {\n var elt = hints.appendChild(ownerDocument.createElement(\"li\")), cur = completions[i];\n var className = HINT_ELEMENT_CLASS + (i != this.selectedHint ? \"\" : \" \" + ACTIVE_HINT_ELEMENT_CLASS);\n if (cur.className != null) className = cur.className + \" \" + className;\n elt.className = className;\n if (cur.render) cur.render(elt, data, cur);\n else elt.appendChild(ownerDocument.createTextNode(cur.displayText || getText(cur)));\n elt.hintId = i;\n }\n\n var container = completion.options.container || ownerDocument.body;\n var pos = cm.cursorCoords(completion.options.alignWithWord ? data.from : null);\n var left = pos.left, top = pos.bottom, below = true;\n var offsetLeft = 0, offsetTop = 0;\n if (container !== ownerDocument.body) {\n // We offset the cursor position because left and top are relative to the offsetParent's top left corner.\n var isContainerPositioned = ['absolute', 'relative', 'fixed'].indexOf(parentWindow.getComputedStyle(container).position) !== -1;\n var offsetParent = isContainerPositioned ? container : container.offsetParent;\n var offsetParentPosition = offsetParent.getBoundingClientRect();\n var bodyPosition = ownerDocument.body.getBoundingClientRect();\n offsetLeft = (offsetParentPosition.left - bodyPosition.left - offsetParent.scrollLeft);\n offsetTop = (offsetParentPosition.top - bodyPosition.top - offsetParent.scrollTop);\n }\n hints.style.left = (left - offsetLeft) + \"px\";\n hints.style.top = (top - offsetTop) + \"px\";\n\n // If we're at the edge of the screen, then we want the menu to appear on the left of the cursor.\n var winW = parentWindow.innerWidth || Math.max(ownerDocument.body.offsetWidth, ownerDocument.documentElement.offsetWidth);\n var winH = parentWindow.innerHeight || Math.max(ownerDocument.body.offsetHeight, ownerDocument.documentElement.offsetHeight);\n container.appendChild(hints);\n var box = hints.getBoundingClientRect(), overlapY = box.bottom - winH;\n var scrolls = hints.scrollHeight > hints.clientHeight + 1\n var startScroll = cm.getScrollInfo();\n\n if (overlapY > 0) {\n var height = box.bottom - box.top, curTop = pos.top - (pos.bottom - box.top);\n if (curTop - height > 0) { // Fits above cursor\n hints.style.top = (top = pos.top - height - offsetTop) + \"px\";\n below = false;\n } else if (height > winH) {\n hints.style.height = (winH - 5) + \"px\";\n hints.style.top = (top = pos.bottom - box.top - offsetTop) + \"px\";\n var cursor = cm.getCursor();\n if (data.from.ch != cursor.ch) {\n pos = cm.cursorCoords(cursor);\n hints.style.left = (left = pos.left - offsetLeft) + \"px\";\n box = hints.getBoundingClientRect();\n }\n }\n }\n var overlapX = box.right - winW;\n if (overlapX > 0) {\n if (box.right - box.left > winW) {\n hints.style.width = (winW - 5) + \"px\";\n overlapX -= (box.right - box.left) - winW;\n }\n hints.style.left = (left = pos.left - overlapX - offsetLeft) + \"px\";\n }\n if (scrolls) for (var node = hints.firstChild; node; node = node.nextSibling)\n node.style.paddingRight = cm.display.nativeBarWidth + \"px\"\n\n cm.addKeyMap(this.keyMap = buildKeyMap(completion, {\n moveFocus: function(n, avoidWrap) { widget.changeActive(widget.selectedHint + n, avoidWrap); },\n setFocus: function(n) { widget.changeActive(n); },\n menuSize: function() { return widget.screenAmount(); },\n length: completions.length,\n close: function() { completion.close(); },\n pick: function() { widget.pick(); },\n data: data\n }));\n\n if (completion.options.closeOnUnfocus) {\n var closingOnBlur;\n cm.on(\"blur\", this.onBlur = function() { closingOnBlur = setTimeout(function() { completion.close(); }, 100); });\n cm.on(\"focus\", this.onFocus = function() { clearTimeout(closingOnBlur); });\n }\n\n cm.on(\"scroll\", this.onScroll = function() {\n var curScroll = cm.getScrollInfo(), editor = cm.getWrapperElement().getBoundingClientRect();\n var newTop = top + startScroll.top - curScroll.top;\n var point = newTop - (parentWindow.pageYOffset || (ownerDocument.documentElement || ownerDocument.body).scrollTop);\n if (!below) point += hints.offsetHeight;\n if (point <= editor.top || point >= editor.bottom) return completion.close();\n hints.style.top = newTop + \"px\";\n hints.style.left = (left + startScroll.left - curScroll.left) + \"px\";\n });\n\n CodeMirror.on(hints, \"dblclick\", function(e) {\n var t = getHintElement(hints, e.target || e.srcElement);\n if (t && t.hintId != null) {widget.changeActive(t.hintId); widget.pick();}\n });\n\n CodeMirror.on(hints, \"click\", function(e) {\n var t = getHintElement(hints, e.target || e.srcElement);\n if (t && t.hintId != null) {\n widget.changeActive(t.hintId);\n if (completion.options.completeOnSingleClick) widget.pick();\n }\n });\n\n CodeMirror.on(hints, \"mousedown\", function() {\n setTimeout(function(){cm.focus();}, 20);\n });\n\n CodeMirror.signal(data, \"select\", completions[this.selectedHint], hints.childNodes[this.selectedHint]);\n return true;\n }\n\n Widget.prototype = {\n close: function() {\n if (this.completion.widget != this) return;\n this.completion.widget = null;\n this.hints.parentNode.removeChild(this.hints);\n this.completion.cm.removeKeyMap(this.keyMap);\n\n var cm = this.completion.cm;\n if (this.completion.options.closeOnUnfocus) {\n cm.off(\"blur\", this.onBlur);\n cm.off(\"focus\", this.onFocus);\n }\n cm.off(\"scroll\", this.onScroll);\n },\n\n disable: function() {\n this.completion.cm.removeKeyMap(this.keyMap);\n var widget = this;\n this.keyMap = {Enter: function() { widget.picked = true; }};\n this.completion.cm.addKeyMap(this.keyMap);\n },\n\n pick: function() {\n this.completion.pick(this.data, this.selectedHint);\n },\n\n changeActive: function(i, avoidWrap) {\n if (i >= this.data.list.length)\n i = avoidWrap ? this.data.list.length - 1 : 0;\n else if (i < 0)\n i = avoidWrap ? 0 : this.data.list.length - 1;\n if (this.selectedHint == i) return;\n var node = this.hints.childNodes[this.selectedHint];\n if (node) node.className = node.className.replace(\" \" + ACTIVE_HINT_ELEMENT_CLASS, \"\");\n node = this.hints.childNodes[this.selectedHint = i];\n node.className += \" \" + ACTIVE_HINT_ELEMENT_CLASS;\n if (node.offsetTop < this.hints.scrollTop)\n this.hints.scrollTop = node.offsetTop - 3;\n else if (node.offsetTop + node.offsetHeight > this.hints.scrollTop + this.hints.clientHeight)\n this.hints.scrollTop = node.offsetTop + node.offsetHeight - this.hints.clientHeight + 3;\n CodeMirror.signal(this.data, \"select\", this.data.list[this.selectedHint], node);\n },\n\n screenAmount: function() {\n return Math.floor(this.hints.clientHeight / this.hints.firstChild.offsetHeight) || 1;\n }\n };\n\n function applicableHelpers(cm, helpers) {\n if (!cm.somethingSelected()) return helpers\n var result = []\n for (var i = 0; i < helpers.length; i++)\n if (helpers[i].supportsSelection) result.push(helpers[i])\n return result\n }\n\n function fetchHints(hint, cm, options, callback) {\n if (hint.async) {\n hint(cm, callback, options)\n } else {\n var result = hint(cm, options)\n if (result && result.then) result.then(callback)\n else callback(result)\n }\n }\n\n function resolveAutoHints(cm, pos) {\n var helpers = cm.getHelpers(pos, \"hint\"), words\n if (helpers.length) {\n var resolved = function(cm, callback, options) {\n var app = applicableHelpers(cm, helpers);\n function run(i) {\n if (i == app.length) return callback(null)\n fetchHints(app[i], cm, options, function(result) {\n if (result && result.list.length > 0) callback(result)\n else run(i + 1)\n })\n }\n run(0)\n }\n resolved.async = true\n resolved.supportsSelection = true\n return resolved\n } else if (words = cm.getHelper(cm.getCursor(), \"hintWords\")) {\n return function(cm) { return CodeMirror.hint.fromList(cm, {words: words}) }\n } else if (CodeMirror.hint.anyword) {\n return function(cm, options) { return CodeMirror.hint.anyword(cm, options) }\n } else {\n return function() {}\n }\n }\n\n CodeMirror.registerHelper(\"hint\", \"auto\", {\n resolve: resolveAutoHints\n });\n\n CodeMirror.registerHelper(\"hint\", \"fromList\", function(cm, options) {\n var cur = cm.getCursor(), token = cm.getTokenAt(cur)\n var term, from = CodeMirror.Pos(cur.line, token.start), to = cur\n if (token.start < cur.ch && /\\w/.test(token.string.charAt(cur.ch - token.start - 1))) {\n term = token.string.substr(0, cur.ch - token.start)\n } else {\n term = \"\"\n from = cur\n }\n var found = [];\n for (var i = 0; i < options.words.length; i++) {\n var word = options.words[i];\n if (word.slice(0, term.length) == term)\n found.push(word);\n }\n\n if (found.length) return {list: found, from: from, to: to};\n });\n\n CodeMirror.commands.autocomplete = CodeMirror.showHint;\n\n var defaultOptions = {\n hint: CodeMirror.hint.auto,\n completeSingle: true,\n alignWithWord: true,\n closeCharacters: /[\\s()\\[\\]{};:>,]/,\n closeOnUnfocus: true,\n completeOnSingleClick: true,\n container: null,\n customKeys: null,\n extraKeys: null\n };\n\n CodeMirror.defineOption(\"hintOptions\", null);\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9hZGRvbi9oaW50L3Nob3ctaGludC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb2RlbWlycm9yL2FkZG9uL2hpbnQvc2hvdy1oaW50LmpzPzliNzQiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29kZU1pcnJvciwgY29weXJpZ2h0IChjKSBieSBNYXJpam4gSGF2ZXJiZWtlIGFuZCBvdGhlcnNcbi8vIERpc3RyaWJ1dGVkIHVuZGVyIGFuIE1JVCBsaWNlbnNlOiBodHRwczovL2NvZGVtaXJyb3IubmV0L0xJQ0VOU0VcblxuKGZ1bmN0aW9uKG1vZCkge1xuICBpZiAodHlwZW9mIGV4cG9ydHMgPT0gXCJvYmplY3RcIiAmJiB0eXBlb2YgbW9kdWxlID09IFwib2JqZWN0XCIpIC8vIENvbW1vbkpTXG4gICAgbW9kKHJlcXVpcmUoXCIuLi8uLi9saWIvY29kZW1pcnJvclwiKSk7XG4gIGVsc2UgaWYgKHR5cGVvZiBkZWZpbmUgPT0gXCJmdW5jdGlvblwiICYmIGRlZmluZS5hbWQpIC8vIEFNRFxuICAgIGRlZmluZShbXCIuLi8uLi9saWIvY29kZW1pcnJvclwiXSwgbW9kKTtcbiAgZWxzZSAvLyBQbGFpbiBicm93c2VyIGVudlxuICAgIG1vZChDb2RlTWlycm9yKTtcbn0pKGZ1bmN0aW9uKENvZGVNaXJyb3IpIHtcbiAgXCJ1c2Ugc3RyaWN0XCI7XG5cbiAgdmFyIEhJTlRfRUxFTUVOVF9DTEFTUyAgICAgICAgPSBcIkNvZGVNaXJyb3ItaGludFwiO1xuICB2YXIgQUNUSVZFX0hJTlRfRUxFTUVOVF9DTEFTUyA9IFwiQ29kZU1pcnJvci1oaW50LWFjdGl2ZVwiO1xuXG4gIC8vIFRoaXMgaXMgdGhlIG9sZCBpbnRlcmZhY2UsIGtlcHQgYXJvdW5kIGZvciBub3cgdG8gc3RheVxuICAvLyBiYWNrd2FyZHMtY29tcGF0aWJsZS5cbiAgQ29kZU1pcnJvci5zaG93SGludCA9IGZ1bmN0aW9uKGNtLCBnZXRIaW50cywgb3B0aW9ucykge1xuICAgIGlmICghZ2V0SGludHMpIHJldHVybiBjbS5zaG93SGludChvcHRpb25zKTtcbiAgICBpZiAob3B0aW9ucyAmJiBvcHRpb25zLmFzeW5jKSBnZXRIaW50cy5hc3luYyA9IHRydWU7XG4gICAgdmFyIG5ld09wdHMgPSB7aGludDogZ2V0SGludHN9O1xuICAgIGlmIChvcHRpb25zKSBmb3IgKHZhciBwcm9wIGluIG9wdGlvbnMpIG5ld09wdHNbcHJvcF0gPSBvcHRpb25zW3Byb3BdO1xuICAgIHJldHVybiBjbS5zaG93SGludChuZXdPcHRzKTtcbiAgfTtcblxuICBDb2RlTWlycm9yLmRlZmluZUV4dGVuc2lvbihcInNob3dIaW50XCIsIGZ1bmN0aW9uKG9wdGlvbnMpIHtcbiAgICBvcHRpb25zID0gcGFyc2VPcHRpb25zKHRoaXMsIHRoaXMuZ2V0Q3Vyc29yKFwic3RhcnRcIiksIG9wdGlvbnMpO1xuICAgIHZhciBzZWxlY3Rpb25zID0gdGhpcy5saXN0U2VsZWN0aW9ucygpXG4gICAgaWYgKHNlbGVjdGlvbnMubGVuZ3RoID4gMSkgcmV0dXJuO1xuICAgIC8vIEJ5IGRlZmF1bHQsIGRvbid0IGFsbG93IGNvbXBsZXRpb24gd2hlbiBzb21ldGhpbmcgaXMgc2VsZWN0ZWQuXG4gICAgLy8gQSBoaW50IGZ1bmN0aW9uIGNhbiBoYXZlIGEgYHN1cHBvcnRzU2VsZWN0aW9uYCBwcm9wZXJ0eSB0b1xuICAgIC8vIGluZGljYXRlIHRoYXQgaXQgY2FuIGhhbmRsZSBzZWxlY3Rpb25zLlxuICAgIGlmICh0aGlzLnNvbWV0aGluZ1NlbGVjdGVkKCkpIHtcbiAgICAgIGlmICghb3B0aW9ucy5oaW50LnN1cHBvcnRzU2VsZWN0aW9uKSByZXR1cm47XG4gICAgICAvLyBEb24ndCB0cnkgd2l0aCBjcm9zcy1saW5lIHNlbGVjdGlvbnNcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc2VsZWN0aW9ucy5sZW5ndGg7IGkrKylcbiAgICAgICAgaWYgKHNlbGVjdGlvbnNbaV0uaGVhZC5saW5lICE9IHNlbGVjdGlvbnNbaV0uYW5jaG9yLmxpbmUpIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5zdGF0ZS5jb21wbGV0aW9uQWN0aXZlKSB0aGlzLnN0YXRlLmNvbXBsZXRpb25BY3RpdmUuY2xvc2UoKTtcbiAgICB2YXIgY29tcGxldGlvbiA9IHRoaXMuc3RhdGUuY29tcGxldGlvbkFjdGl2ZSA9IG5ldyBDb21wbGV0aW9uKHRoaXMsIG9wdGlvbnMpO1xuICAgIGlmICghY29tcGxldGlvbi5vcHRpb25zLmhpbnQpIHJldHVybjtcblxuICAgIENvZGVNaXJyb3Iuc2lnbmFsKHRoaXMsIFwic3RhcnRDb21wbGV0aW9uXCIsIHRoaXMpO1xuICAgIGNvbXBsZXRpb24udXBkYXRlKHRydWUpO1xuICB9KTtcblxuICBDb2RlTWlycm9yLmRlZmluZUV4dGVuc2lvbihcImNsb3NlSGludFwiLCBmdW5jdGlvbigpIHtcbiAgICBpZiAodGhpcy5zdGF0ZS5jb21wbGV0aW9uQWN0aXZlKSB0aGlzLnN0YXRlLmNvbXBsZXRpb25BY3RpdmUuY2xvc2UoKVxuICB9KVxuXG4gIGZ1bmN0aW9uIENvbXBsZXRpb24oY20sIG9wdGlvbnMpIHtcbiAgICB0aGlzLmNtID0gY207XG4gICAgdGhpcy5vcHRpb25zID0gb3B0aW9ucztcbiAgICB0aGlzLndpZGdldCA9IG51bGw7XG4gICAgdGhpcy5kZWJvdW5jZSA9IDA7XG4gICAgdGhpcy50aWNrID0gMDtcbiAgICB0aGlzLnN0YXJ0UG9zID0gdGhpcy5jbS5nZXRDdXJzb3IoXCJzdGFydFwiKTtcbiAgICB0aGlzLnN0YXJ0TGVuID0gdGhpcy5jbS5nZXRMaW5lKHRoaXMuc3RhcnRQb3MubGluZSkubGVuZ3RoIC0gdGhpcy5jbS5nZXRTZWxlY3Rpb24oKS5sZW5ndGg7XG5cbiAgICB2YXIgc2VsZiA9IHRoaXM7XG4gICAgY20ub24oXCJjdXJzb3JBY3Rpdml0eVwiLCB0aGlzLmFjdGl2aXR5RnVuYyA9IGZ1bmN0aW9uKCkgeyBzZWxmLmN1cnNvckFjdGl2aXR5KCk7IH0pO1xuICB9XG5cbiAgdmFyIHJlcXVlc3RBbmltYXRpb25GcmFtZSA9IHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUgfHwgZnVuY3Rpb24oZm4pIHtcbiAgICByZXR1cm4gc2V0VGltZW91dChmbiwgMTAwMC82MCk7XG4gIH07XG4gIHZhciBjYW5jZWxBbmltYXRpb25GcmFtZSA9IHdpbmRvdy5jYW5jZWxBbmltYXRpb25GcmFtZSB8fCBjbGVhclRpbWVvdXQ7XG5cbiAgQ29tcGxldGlvbi5wcm90b3R5cGUgPSB7XG4gICAgY2xvc2U6IGZ1bmN0aW9uKCkge1xuICAgICAgaWYgKCF0aGlzLmFjdGl2ZSgpKSByZXR1cm47XG4gICAgICB0aGlzLmNtLnN0YXRlLmNvbXBsZXRpb25BY3RpdmUgPSBudWxsO1xuICAgICAgdGhpcy50aWNrID0gbnVsbDtcbiAgICAgIHRoaXMuY20ub2ZmKFwiY3Vyc29yQWN0aXZpdHlcIiwgdGhpcy5hY3Rpdml0eUZ1bmMpO1xuXG4gICAgICBpZiAodGhpcy53aWRnZXQgJiYgdGhpcy5kYXRhKSBDb2RlTWlycm9yLnNpZ25hbCh0aGlzLmRhdGEsIFwiY2xvc2VcIik7XG4gICAgICBpZiAodGhpcy53aWRnZXQpIHRoaXMud2lkZ2V0LmNsb3NlKCk7XG4gICAgICBDb2RlTWlycm9yLnNpZ25hbCh0aGlzLmNtLCBcImVuZENvbXBsZXRpb25cIiwgdGhpcy5jbSk7XG4gICAgfSxcblxuICAgIGFjdGl2ZTogZnVuY3Rpb24oKSB7XG4gICAgICByZXR1cm4gdGhpcy5jbS5zdGF0ZS5jb21wbGV0aW9uQWN0aXZlID09IHRoaXM7XG4gICAgfSxcblxuICAgIHBpY2s6IGZ1bmN0aW9uKGRhdGEsIGkpIHtcbiAgICAgIHZhciBjb21wbGV0aW9uID0gZGF0YS5saXN0W2ldO1xuICAgICAgaWYgKGNvbXBsZXRpb24uaGludCkgY29tcGxldGlvbi5oaW50KHRoaXMuY20sIGRhdGEsIGNvbXBsZXRpb24pO1xuICAgICAgZWxzZSB0aGlzLmNtLnJlcGxhY2VSYW5nZShnZXRUZXh0KGNvbXBsZXRpb24pLCBjb21wbGV0aW9uLmZyb20gfHwgZGF0YS5mcm9tLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wbGV0aW9uLnRvIHx8IGRhdGEudG8sIFwiY29tcGxldGVcIik7XG4gICAgICBDb2RlTWlycm9yLnNpZ25hbChkYXRhLCBcInBpY2tcIiwgY29tcGxldGlvbik7XG4gICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfSxcblxuICAgIGN1cnNvckFjdGl2aXR5OiBmdW5jdGlvbigpIHtcbiAgICAgIGlmICh0aGlzLmRlYm91bmNlKSB7XG4gICAgICAgIGNhbmNlbEFuaW1hdGlvbkZyYW1lKHRoaXMuZGVib3VuY2UpO1xuICAgICAgICB0aGlzLmRlYm91bmNlID0gMDtcbiAgICAgIH1cblxuICAgICAgdmFyIHBvcyA9IHRoaXMuY20uZ2V0Q3Vyc29yKCksIGxpbmUgPSB0aGlzLmNtLmdldExpbmUocG9zLmxpbmUpO1xuICAgICAgaWYgKHBvcy5saW5lICE9IHRoaXMuc3RhcnRQb3MubGluZSB8fCBsaW5lLmxlbmd0aCAtIHBvcy5jaCAhPSB0aGlzLnN0YXJ0TGVuIC0gdGhpcy5zdGFydFBvcy5jaCB8fFxuICAgICAgICAgIHBvcy5jaCA8IHRoaXMuc3RhcnRQb3MuY2ggfHwgdGhpcy5jbS5zb21ldGhpbmdTZWxlY3RlZCgpIHx8XG4gICAgICAgICAgKCFwb3MuY2ggfHwgdGhpcy5vcHRpb25zLmNsb3NlQ2hhcmFjdGVycy50ZXN0KGxpbmUuY2hhckF0KHBvcy5jaCAtIDEpKSkpIHtcbiAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdmFyIHNlbGYgPSB0aGlzO1xuICAgICAgICB0aGlzLmRlYm91bmNlID0gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZ1bmN0aW9uKCkge3NlbGYudXBkYXRlKCk7fSk7XG4gICAgICAgIGlmICh0aGlzLndpZGdldCkgdGhpcy53aWRnZXQuZGlzYWJsZSgpO1xuICAgICAgfVxuICAgIH0sXG5cbiAgICB1cGRhdGU6IGZ1bmN0aW9uKGZpcnN0KSB7XG4gICAgICBpZiAodGhpcy50aWNrID09IG51bGwpIHJldHVyblxuICAgICAgdmFyIHNlbGYgPSB0aGlzLCBteVRpY2sgPSArK3RoaXMudGlja1xuICAgICAgZmV0Y2hIaW50cyh0aGlzLm9wdGlvbnMuaGludCwgdGhpcy5jbSwgdGhpcy5vcHRpb25zLCBmdW5jdGlvbihkYXRhKSB7XG4gICAgICAgIGlmIChzZWxmLnRpY2sgPT0gbXlUaWNrKSBzZWxmLmZpbmlzaFVwZGF0ZShkYXRhLCBmaXJzdClcbiAgICAgIH0pXG4gICAgfSxcblxuICAgIGZpbmlzaFVwZGF0ZTogZnVuY3Rpb24oZGF0YSwgZmlyc3QpIHtcbiAgICAgIGlmICh0aGlzLmRhdGEpIENvZGVNaXJyb3Iuc2lnbmFsKHRoaXMuZGF0YSwgXCJ1cGRhdGVcIik7XG5cbiAgICAgIHZhciBwaWNrZWQgPSAodGhpcy53aWRnZXQgJiYgdGhpcy53aWRnZXQucGlja2VkKSB8fCAoZmlyc3QgJiYgdGhpcy5vcHRpb25zLmNvbXBsZXRlU2luZ2xlKTtcbiAgICAgIGlmICh0aGlzLndpZGdldCkgdGhpcy53aWRnZXQuY2xvc2UoKTtcblxuICAgICAgdGhpcy5kYXRhID0gZGF0YTtcblxuICAgICAgaWYgKGRhdGEgJiYgZGF0YS5saXN0Lmxlbmd0aCkge1xuICAgICAgICBpZiAocGlja2VkICYmIGRhdGEubGlzdC5sZW5ndGggPT0gMSkge1xuICAgICAgICAgIHRoaXMucGljayhkYXRhLCAwKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLndpZGdldCA9IG5ldyBXaWRnZXQodGhpcywgZGF0YSk7XG4gICAgICAgICAgQ29kZU1pcnJvci5zaWduYWwoZGF0YSwgXCJzaG93blwiKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICBmdW5jdGlvbiBwYXJzZU9wdGlvbnMoY20sIHBvcywgb3B0aW9ucykge1xuICAgIHZhciBlZGl0b3IgPSBjbS5vcHRpb25zLmhpbnRPcHRpb25zO1xuICAgIHZhciBvdXQgPSB7fTtcbiAgICBmb3IgKHZhciBwcm9wIGluIGRlZmF1bHRPcHRpb25zKSBvdXRbcHJvcF0gPSBkZWZhdWx0T3B0aW9uc1twcm9wXTtcbiAgICBpZiAoZWRpdG9yKSBmb3IgKHZhciBwcm9wIGluIGVkaXRvcilcbiAgICAgIGlmIChlZGl0b3JbcHJvcF0gIT09IHVuZGVmaW5lZCkgb3V0W3Byb3BdID0gZWRpdG9yW3Byb3BdO1xuICAgIGlmIChvcHRpb25zKSBmb3IgKHZhciBwcm9wIGluIG9wdGlvbnMpXG4gICAgICBpZiAob3B0aW9uc1twcm9wXSAhPT0gdW5kZWZpbmVkKSBvdXRbcHJvcF0gPSBvcHRpb25zW3Byb3BdO1xuICAgIGlmIChvdXQuaGludC5yZXNvbHZlKSBvdXQuaGludCA9IG91dC5oaW50LnJlc29sdmUoY20sIHBvcylcbiAgICByZXR1cm4gb3V0O1xuICB9XG5cbiAgZnVuY3Rpb24gZ2V0VGV4dChjb21wbGV0aW9uKSB7XG4gICAgaWYgKHR5cGVvZiBjb21wbGV0aW9uID09IFwic3RyaW5nXCIpIHJldHVybiBjb21wbGV0aW9uO1xuICAgIGVsc2UgcmV0dXJuIGNvbXBsZXRpb24udGV4dDtcbiAgfVxuXG4gIGZ1bmN0aW9uIGJ1aWxkS2V5TWFwKGNvbXBsZXRpb24sIGhhbmRsZSkge1xuICAgIHZhciBiYXNlTWFwID0ge1xuICAgICAgVXA6IGZ1bmN0aW9uKCkge2hhbmRsZS5tb3ZlRm9jdXMoLTEpO30sXG4gICAgICBEb3duOiBmdW5jdGlvbigpIHtoYW5kbGUubW92ZUZvY3VzKDEpO30sXG4gICAgICBQYWdlVXA6IGZ1bmN0aW9uKCkge2hhbmRsZS5tb3ZlRm9jdXMoLWhhbmRsZS5tZW51U2l6ZSgpICsgMSwgdHJ1ZSk7fSxcbiAgICAgIFBhZ2VEb3duOiBmdW5jdGlvbigpIHtoYW5kbGUubW92ZUZvY3VzKGhhbmRsZS5tZW51U2l6ZSgpIC0gMSwgdHJ1ZSk7fSxcbiAgICAgIEhvbWU6IGZ1bmN0aW9uKCkge2hhbmRsZS5zZXRGb2N1cygwKTt9LFxuICAgICAgRW5kOiBmdW5jdGlvbigpIHtoYW5kbGUuc2V0Rm9jdXMoaGFuZGxlLmxlbmd0aCAtIDEpO30sXG4gICAgICBFbnRlcjogaGFuZGxlLnBpY2ssXG4gICAgICBUYWI6IGhhbmRsZS5waWNrLFxuICAgICAgRXNjOiBoYW5kbGUuY2xvc2VcbiAgICB9O1xuXG4gICAgdmFyIG1hYyA9IC9NYWMvLnRlc3QobmF2aWdhdG9yLnBsYXRmb3JtKTtcblxuICAgIGlmIChtYWMpIHtcbiAgICAgIGJhc2VNYXBbXCJDdHJsLVBcIl0gPSBmdW5jdGlvbigpIHtoYW5kbGUubW92ZUZvY3VzKC0xKTt9O1xuICAgICAgYmFzZU1hcFtcIkN0cmwtTlwiXSA9IGZ1bmN0aW9uKCkge2hhbmRsZS5tb3ZlRm9jdXMoMSk7fTtcbiAgICB9XG5cbiAgICB2YXIgY3VzdG9tID0gY29tcGxldGlvbi5vcHRpb25zLmN1c3RvbUtleXM7XG4gICAgdmFyIG91ck1hcCA9IGN1c3RvbSA/IHt9IDogYmFzZU1hcDtcbiAgICBmdW5jdGlvbiBhZGRCaW5kaW5nKGtleSwgdmFsKSB7XG4gICAgICB2YXIgYm91bmQ7XG4gICAgICBpZiAodHlwZW9mIHZhbCAhPSBcInN0cmluZ1wiKVxuICAgICAgICBib3VuZCA9IGZ1bmN0aW9uKGNtKSB7IHJldHVybiB2YWwoY20sIGhhbmRsZSk7IH07XG4gICAgICAvLyBUaGlzIG1lY2hhbmlzbSBpcyBkZXByZWNhdGVkXG4gICAgICBlbHNlIGlmIChiYXNlTWFwLmhhc093blByb3BlcnR5KHZhbCkpXG4gICAgICAgIGJvdW5kID0gYmFzZU1hcFt2YWxdO1xuICAgICAgZWxzZVxuICAgICAgICBib3VuZCA9IHZhbDtcbiAgICAgIG91ck1hcFtrZXldID0gYm91bmQ7XG4gICAgfVxuICAgIGlmIChjdXN0b20pXG4gICAgICBmb3IgKHZhciBrZXkgaW4gY3VzdG9tKSBpZiAoY3VzdG9tLmhhc093blByb3BlcnR5KGtleSkpXG4gICAgICAgIGFkZEJpbmRpbmcoa2V5LCBjdXN0b21ba2V5XSk7XG4gICAgdmFyIGV4dHJhID0gY29tcGxldGlvbi5vcHRpb25zLmV4dHJhS2V5cztcbiAgICBpZiAoZXh0cmEpXG4gICAgICBmb3IgKHZhciBrZXkgaW4gZXh0cmEpIGlmIChleHRyYS5oYXNPd25Qcm9wZXJ0eShrZXkpKVxuICAgICAgICBhZGRCaW5kaW5nKGtleSwgZXh0cmFba2V5XSk7XG4gICAgcmV0dXJuIG91ck1hcDtcbiAgfVxuXG4gIGZ1bmN0aW9uIGdldEhpbnRFbGVtZW50KGhpbnRzRWxlbWVudCwgZWwpIHtcbiAgICB3aGlsZSAoZWwgJiYgZWwgIT0gaGludHNFbGVtZW50KSB7XG4gICAgICBpZiAoZWwubm9kZU5hbWUudG9VcHBlckNhc2UoKSA9PT0gXCJMSVwiICYmIGVsLnBhcmVudE5vZGUgPT0gaGludHNFbGVtZW50KSByZXR1cm4gZWw7XG4gICAgICBlbCA9IGVsLnBhcmVudE5vZGU7XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gV2lkZ2V0KGNvbXBsZXRpb24sIGRhdGEpIHtcbiAgICB0aGlzLmNvbXBsZXRpb24gPSBjb21wbGV0aW9uO1xuICAgIHRoaXMuZGF0YSA9IGRhdGE7XG4gICAgdGhpcy5waWNrZWQgPSBmYWxzZTtcbiAgICB2YXIgd2lkZ2V0ID0gdGhpcywgY20gPSBjb21wbGV0aW9uLmNtO1xuICAgIHZhciBvd25lckRvY3VtZW50ID0gY20uZ2V0SW5wdXRGaWVsZCgpLm93bmVyRG9jdW1lbnQ7XG4gICAgdmFyIHBhcmVudFdpbmRvdyA9IG93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXcgfHwgb3duZXJEb2N1bWVudC5wYXJlbnRXaW5kb3c7XG5cbiAgICB2YXIgaGludHMgPSB0aGlzLmhpbnRzID0gb3duZXJEb2N1bWVudC5jcmVhdGVFbGVtZW50KFwidWxcIik7XG4gICAgdmFyIHRoZW1lID0gY29tcGxldGlvbi5jbS5vcHRpb25zLnRoZW1lO1xuICAgIGhpbnRzLmNsYXNzTmFtZSA9IFwiQ29kZU1pcnJvci1oaW50cyBcIiArIHRoZW1lO1xuICAgIHRoaXMuc2VsZWN0ZWRIaW50ID0gZGF0YS5zZWxlY3RlZEhpbnQgfHwgMDtcblxuICAgIHZhciBjb21wbGV0aW9ucyA9IGRhdGEubGlzdDtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNvbXBsZXRpb25zLmxlbmd0aDsgKytpKSB7XG4gICAgICB2YXIgZWx0ID0gaGludHMuYXBwZW5kQ2hpbGQob3duZXJEb2N1bWVudC5jcmVhdGVFbGVtZW50KFwibGlcIikpLCBjdXIgPSBjb21wbGV0aW9uc1tpXTtcbiAgICAgIHZhciBjbGFzc05hbWUgPSBISU5UX0VMRU1FTlRfQ0xBU1MgKyAoaSAhPSB0aGlzLnNlbGVjdGVkSGludCA/IFwiXCIgOiBcIiBcIiArIEFDVElWRV9ISU5UX0VMRU1FTlRfQ0xBU1MpO1xuICAgICAgaWYgKGN1ci5jbGFzc05hbWUgIT0gbnVsbCkgY2xhc3NOYW1lID0gY3VyLmNsYXNzTmFtZSArIFwiIFwiICsgY2xhc3NOYW1lO1xuICAgICAgZWx0LmNsYXNzTmFtZSA9IGNsYXNzTmFtZTtcbiAgICAgIGlmIChjdXIucmVuZGVyKSBjdXIucmVuZGVyKGVsdCwgZGF0YSwgY3VyKTtcbiAgICAgIGVsc2UgZWx0LmFwcGVuZENoaWxkKG93bmVyRG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoY3VyLmRpc3BsYXlUZXh0IHx8IGdldFRleHQoY3VyKSkpO1xuICAgICAgZWx0LmhpbnRJZCA9IGk7XG4gICAgfVxuXG4gICAgdmFyIGNvbnRhaW5lciA9IGNvbXBsZXRpb24ub3B0aW9ucy5jb250YWluZXIgfHwgb3duZXJEb2N1bWVudC5ib2R5O1xuICAgIHZhciBwb3MgPSBjbS5jdXJzb3JDb29yZHMoY29tcGxldGlvbi5vcHRpb25zLmFsaWduV2l0aFdvcmQgPyBkYXRhLmZyb20gOiBudWxsKTtcbiAgICB2YXIgbGVmdCA9IHBvcy5sZWZ0LCB0b3AgPSBwb3MuYm90dG9tLCBiZWxvdyA9IHRydWU7XG4gICAgdmFyIG9mZnNldExlZnQgPSAwLCBvZmZzZXRUb3AgPSAwO1xuICAgIGlmIChjb250YWluZXIgIT09IG93bmVyRG9jdW1lbnQuYm9keSkge1xuICAgICAgLy8gV2Ugb2Zmc2V0IHRoZSBjdXJzb3IgcG9zaXRpb24gYmVjYXVzZSBsZWZ0IGFuZCB0b3AgYXJlIHJlbGF0aXZlIHRvIHRoZSBvZmZzZXRQYXJlbnQncyB0b3AgbGVmdCBjb3JuZXIuXG4gICAgICB2YXIgaXNDb250YWluZXJQb3NpdGlvbmVkID0gWydhYnNvbHV0ZScsICdyZWxhdGl2ZScsICdmaXhlZCddLmluZGV4T2YocGFyZW50V2luZG93LmdldENvbXB1dGVkU3R5bGUoY29udGFpbmVyKS5wb3NpdGlvbikgIT09IC0xO1xuICAgICAgdmFyIG9mZnNldFBhcmVudCA9IGlzQ29udGFpbmVyUG9zaXRpb25lZCA/IGNvbnRhaW5lciA6IGNvbnRhaW5lci5vZmZzZXRQYXJlbnQ7XG4gICAgICB2YXIgb2Zmc2V0UGFyZW50UG9zaXRpb24gPSBvZmZzZXRQYXJlbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICB2YXIgYm9keVBvc2l0aW9uID0gb3duZXJEb2N1bWVudC5ib2R5LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgb2Zmc2V0TGVmdCA9IChvZmZzZXRQYXJlbnRQb3NpdGlvbi5sZWZ0IC0gYm9keVBvc2l0aW9uLmxlZnQgLSBvZmZzZXRQYXJlbnQuc2Nyb2xsTGVmdCk7XG4gICAgICBvZmZzZXRUb3AgPSAob2Zmc2V0UGFyZW50UG9zaXRpb24udG9wIC0gYm9keVBvc2l0aW9uLnRvcCAtIG9mZnNldFBhcmVudC5zY3JvbGxUb3ApO1xuICAgIH1cbiAgICBoaW50cy5zdHlsZS5sZWZ0ID0gKGxlZnQgLSBvZmZzZXRMZWZ0KSArIFwicHhcIjtcbiAgICBoaW50cy5zdHlsZS50b3AgPSAodG9wIC0gb2Zmc2V0VG9wKSArIFwicHhcIjtcblxuICAgIC8vIElmIHdlJ3JlIGF0IHRoZSBlZGdlIG9mIHRoZSBzY3JlZW4sIHRoZW4gd2Ugd2FudCB0aGUgbWVudSB0byBhcHBlYXIgb24gdGhlIGxlZnQgb2YgdGhlIGN1cnNvci5cbiAgICB2YXIgd2luVyA9IHBhcmVudFdpbmRvdy5pbm5lcldpZHRoIHx8IE1hdGgubWF4KG93bmVyRG9jdW1lbnQuYm9keS5vZmZzZXRXaWR0aCwgb3duZXJEb2N1bWVudC5kb2N1bWVudEVsZW1lbnQub2Zmc2V0V2lkdGgpO1xuICAgIHZhciB3aW5IID0gcGFyZW50V2luZG93LmlubmVySGVpZ2h0IHx8IE1hdGgubWF4KG93bmVyRG9jdW1lbnQuYm9keS5vZmZzZXRIZWlnaHQsIG93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50Lm9mZnNldEhlaWdodCk7XG4gICAgY29udGFpbmVyLmFwcGVuZENoaWxkKGhpbnRzKTtcbiAgICB2YXIgYm94ID0gaGludHMuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksIG92ZXJsYXBZID0gYm94LmJvdHRvbSAtIHdpbkg7XG4gICAgdmFyIHNjcm9sbHMgPSBoaW50cy5zY3JvbGxIZWlnaHQgPiBoaW50cy5jbGllbnRIZWlnaHQgKyAxXG4gICAgdmFyIHN0YXJ0U2Nyb2xsID0gY20uZ2V0U2Nyb2xsSW5mbygpO1xuXG4gICAgaWYgKG92ZXJsYXBZID4gMCkge1xuICAgICAgdmFyIGhlaWdodCA9IGJveC5ib3R0b20gLSBib3gudG9wLCBjdXJUb3AgPSBwb3MudG9wIC0gKHBvcy5ib3R0b20gLSBib3gudG9wKTtcbiAgICAgIGlmIChjdXJUb3AgLSBoZWlnaHQgPiAwKSB7IC8vIEZpdHMgYWJvdmUgY3Vyc29yXG4gICAgICAgIGhpbnRzLnN0eWxlLnRvcCA9ICh0b3AgPSBwb3MudG9wIC0gaGVpZ2h0IC0gb2Zmc2V0VG9wKSArIFwicHhcIjtcbiAgICAgICAgYmVsb3cgPSBmYWxzZTtcbiAgICAgIH0gZWxzZSBpZiAoaGVpZ2h0ID4gd2luSCkge1xuICAgICAgICBoaW50cy5zdHlsZS5oZWlnaHQgPSAod2luSCAtIDUpICsgXCJweFwiO1xuICAgICAgICBoaW50cy5zdHlsZS50b3AgPSAodG9wID0gcG9zLmJvdHRvbSAtIGJveC50b3AgLSBvZmZzZXRUb3ApICsgXCJweFwiO1xuICAgICAgICB2YXIgY3Vyc29yID0gY20uZ2V0Q3Vyc29yKCk7XG4gICAgICAgIGlmIChkYXRhLmZyb20uY2ggIT0gY3Vyc29yLmNoKSB7XG4gICAgICAgICAgcG9zID0gY20uY3Vyc29yQ29vcmRzKGN1cnNvcik7XG4gICAgICAgICAgaGludHMuc3R5bGUubGVmdCA9IChsZWZ0ID0gcG9zLmxlZnQgLSBvZmZzZXRMZWZ0KSArIFwicHhcIjtcbiAgICAgICAgICBib3ggPSBoaW50cy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICB2YXIgb3ZlcmxhcFggPSBib3gucmlnaHQgLSB3aW5XO1xuICAgIGlmIChvdmVybGFwWCA+IDApIHtcbiAgICAgIGlmIChib3gucmlnaHQgLSBib3gubGVmdCA+IHdpblcpIHtcbiAgICAgICAgaGludHMuc3R5bGUud2lkdGggPSAod2luVyAtIDUpICsgXCJweFwiO1xuICAgICAgICBvdmVybGFwWCAtPSAoYm94LnJpZ2h0IC0gYm94LmxlZnQpIC0gd2luVztcbiAgICAgIH1cbiAgICAgIGhpbnRzLnN0eWxlLmxlZnQgPSAobGVmdCA9IHBvcy5sZWZ0IC0gb3ZlcmxhcFggLSBvZmZzZXRMZWZ0KSArIFwicHhcIjtcbiAgICB9XG4gICAgaWYgKHNjcm9sbHMpIGZvciAodmFyIG5vZGUgPSBoaW50cy5maXJzdENoaWxkOyBub2RlOyBub2RlID0gbm9kZS5uZXh0U2libGluZylcbiAgICAgIG5vZGUuc3R5bGUucGFkZGluZ1JpZ2h0ID0gY20uZGlzcGxheS5uYXRpdmVCYXJXaWR0aCArIFwicHhcIlxuXG4gICAgY20uYWRkS2V5TWFwKHRoaXMua2V5TWFwID0gYnVpbGRLZXlNYXAoY29tcGxldGlvbiwge1xuICAgICAgbW92ZUZvY3VzOiBmdW5jdGlvbihuLCBhdm9pZFdyYXApIHsgd2lkZ2V0LmNoYW5nZUFjdGl2ZSh3aWRnZXQuc2VsZWN0ZWRIaW50ICsgbiwgYXZvaWRXcmFwKTsgfSxcbiAgICAgIHNldEZvY3VzOiBmdW5jdGlvbihuKSB7IHdpZGdldC5jaGFuZ2VBY3RpdmUobik7IH0sXG4gICAgICBtZW51U2l6ZTogZnVuY3Rpb24oKSB7IHJldHVybiB3aWRnZXQuc2NyZWVuQW1vdW50KCk7IH0sXG4gICAgICBsZW5ndGg6IGNvbXBsZXRpb25zLmxlbmd0aCxcbiAgICAgIGNsb3NlOiBmdW5jdGlvbigpIHsgY29tcGxldGlvbi5jbG9zZSgpOyB9LFxuICAgICAgcGljazogZnVuY3Rpb24oKSB7IHdpZGdldC5waWNrKCk7IH0sXG4gICAgICBkYXRhOiBkYXRhXG4gICAgfSkpO1xuXG4gICAgaWYgKGNvbXBsZXRpb24ub3B0aW9ucy5jbG9zZU9uVW5mb2N1cykge1xuICAgICAgdmFyIGNsb3NpbmdPbkJsdXI7XG4gICAgICBjbS5vbihcImJsdXJcIiwgdGhpcy5vbkJsdXIgPSBmdW5jdGlvbigpIHsgY2xvc2luZ09uQmx1ciA9IHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7IGNvbXBsZXRpb24uY2xvc2UoKTsgfSwgMTAwKTsgfSk7XG4gICAgICBjbS5vbihcImZvY3VzXCIsIHRoaXMub25Gb2N1cyA9IGZ1bmN0aW9uKCkgeyBjbGVhclRpbWVvdXQoY2xvc2luZ09uQmx1cik7IH0pO1xuICAgIH1cblxuICAgIGNtLm9uKFwic2Nyb2xsXCIsIHRoaXMub25TY3JvbGwgPSBmdW5jdGlvbigpIHtcbiAgICAgIHZhciBjdXJTY3JvbGwgPSBjbS5nZXRTY3JvbGxJbmZvKCksIGVkaXRvciA9IGNtLmdldFdyYXBwZXJFbGVtZW50KCkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICB2YXIgbmV3VG9wID0gdG9wICsgc3RhcnRTY3JvbGwudG9wIC0gY3VyU2Nyb2xsLnRvcDtcbiAgICAgIHZhciBwb2ludCA9IG5ld1RvcCAtIChwYXJlbnRXaW5kb3cucGFnZVlPZmZzZXQgfHwgKG93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50IHx8IG93bmVyRG9jdW1lbnQuYm9keSkuc2Nyb2xsVG9wKTtcbiAgICAgIGlmICghYmVsb3cpIHBvaW50ICs9IGhpbnRzLm9mZnNldEhlaWdodDtcbiAgICAgIGlmIChwb2ludCA8PSBlZGl0b3IudG9wIHx8IHBvaW50ID49IGVkaXRvci5ib3R0b20pIHJldHVybiBjb21wbGV0aW9uLmNsb3NlKCk7XG4gICAgICBoaW50cy5zdHlsZS50b3AgPSBuZXdUb3AgKyBcInB4XCI7XG4gICAgICBoaW50cy5zdHlsZS5sZWZ0ID0gKGxlZnQgKyBzdGFydFNjcm9sbC5sZWZ0IC0gY3VyU2Nyb2xsLmxlZnQpICsgXCJweFwiO1xuICAgIH0pO1xuXG4gICAgQ29kZU1pcnJvci5vbihoaW50cywgXCJkYmxjbGlja1wiLCBmdW5jdGlvbihlKSB7XG4gICAgICB2YXIgdCA9IGdldEhpbnRFbGVtZW50KGhpbnRzLCBlLnRhcmdldCB8fCBlLnNyY0VsZW1lbnQpO1xuICAgICAgaWYgKHQgJiYgdC5oaW50SWQgIT0gbnVsbCkge3dpZGdldC5jaGFuZ2VBY3RpdmUodC5oaW50SWQpOyB3aWRnZXQucGljaygpO31cbiAgICB9KTtcblxuICAgIENvZGVNaXJyb3Iub24oaGludHMsIFwiY2xpY2tcIiwgZnVuY3Rpb24oZSkge1xuICAgICAgdmFyIHQgPSBnZXRIaW50RWxlbWVudChoaW50cywgZS50YXJnZXQgfHwgZS5zcmNFbGVtZW50KTtcbiAgICAgIGlmICh0ICYmIHQuaGludElkICE9IG51bGwpIHtcbiAgICAgICAgd2lkZ2V0LmNoYW5nZUFjdGl2ZSh0LmhpbnRJZCk7XG4gICAgICAgIGlmIChjb21wbGV0aW9uLm9wdGlvbnMuY29tcGxldGVPblNpbmdsZUNsaWNrKSB3aWRnZXQucGljaygpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgQ29kZU1pcnJvci5vbihoaW50cywgXCJtb3VzZWRvd25cIiwgZnVuY3Rpb24oKSB7XG4gICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Y20uZm9jdXMoKTt9LCAyMCk7XG4gICAgfSk7XG5cbiAgICBDb2RlTWlycm9yLnNpZ25hbChkYXRhLCBcInNlbGVjdFwiLCBjb21wbGV0aW9uc1t0aGlzLnNlbGVjdGVkSGludF0sIGhpbnRzLmNoaWxkTm9kZXNbdGhpcy5zZWxlY3RlZEhpbnRdKTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIFdpZGdldC5wcm90b3R5cGUgPSB7XG4gICAgY2xvc2U6IGZ1bmN0aW9uKCkge1xuICAgICAgaWYgKHRoaXMuY29tcGxldGlvbi53aWRnZXQgIT0gdGhpcykgcmV0dXJuO1xuICAgICAgdGhpcy5jb21wbGV0aW9uLndpZGdldCA9IG51bGw7XG4gICAgICB0aGlzLmhpbnRzLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodGhpcy5oaW50cyk7XG4gICAgICB0aGlzLmNvbXBsZXRpb24uY20ucmVtb3ZlS2V5TWFwKHRoaXMua2V5TWFwKTtcblxuICAgICAgdmFyIGNtID0gdGhpcy5jb21wbGV0aW9uLmNtO1xuICAgICAgaWYgKHRoaXMuY29tcGxldGlvbi5vcHRpb25zLmNsb3NlT25VbmZvY3VzKSB7XG4gICAgICAgIGNtLm9mZihcImJsdXJcIiwgdGhpcy5vbkJsdXIpO1xuICAgICAgICBjbS5vZmYoXCJmb2N1c1wiLCB0aGlzLm9uRm9jdXMpO1xuICAgICAgfVxuICAgICAgY20ub2ZmKFwic2Nyb2xsXCIsIHRoaXMub25TY3JvbGwpO1xuICAgIH0sXG5cbiAgICBkaXNhYmxlOiBmdW5jdGlvbigpIHtcbiAgICAgIHRoaXMuY29tcGxldGlvbi5jbS5yZW1vdmVLZXlNYXAodGhpcy5rZXlNYXApO1xuICAgICAgdmFyIHdpZGdldCA9IHRoaXM7XG4gICAgICB0aGlzLmtleU1hcCA9IHtFbnRlcjogZnVuY3Rpb24oKSB7IHdpZGdldC5waWNrZWQgPSB0cnVlOyB9fTtcbiAgICAgIHRoaXMuY29tcGxldGlvbi5jbS5hZGRLZXlNYXAodGhpcy5rZXlNYXApO1xuICAgIH0sXG5cbiAgICBwaWNrOiBmdW5jdGlvbigpIHtcbiAgICAgIHRoaXMuY29tcGxldGlvbi5waWNrKHRoaXMuZGF0YSwgdGhpcy5zZWxlY3RlZEhpbnQpO1xuICAgIH0sXG5cbiAgICBjaGFuZ2VBY3RpdmU6IGZ1bmN0aW9uKGksIGF2b2lkV3JhcCkge1xuICAgICAgaWYgKGkgPj0gdGhpcy5kYXRhLmxpc3QubGVuZ3RoKVxuICAgICAgICBpID0gYXZvaWRXcmFwID8gdGhpcy5kYXRhLmxpc3QubGVuZ3RoIC0gMSA6IDA7XG4gICAgICBlbHNlIGlmIChpIDwgMClcbiAgICAgICAgaSA9IGF2b2lkV3JhcCA/IDAgIDogdGhpcy5kYXRhLmxpc3QubGVuZ3RoIC0gMTtcbiAgICAgIGlmICh0aGlzLnNlbGVjdGVkSGludCA9PSBpKSByZXR1cm47XG4gICAgICB2YXIgbm9kZSA9IHRoaXMuaGludHMuY2hpbGROb2Rlc1t0aGlzLnNlbGVjdGVkSGludF07XG4gICAgICBpZiAobm9kZSkgbm9kZS5jbGFzc05hbWUgPSBub2RlLmNsYXNzTmFtZS5yZXBsYWNlKFwiIFwiICsgQUNUSVZFX0hJTlRfRUxFTUVOVF9DTEFTUywgXCJcIik7XG4gICAgICBub2RlID0gdGhpcy5oaW50cy5jaGlsZE5vZGVzW3RoaXMuc2VsZWN0ZWRIaW50ID0gaV07XG4gICAgICBub2RlLmNsYXNzTmFtZSArPSBcIiBcIiArIEFDVElWRV9ISU5UX0VMRU1FTlRfQ0xBU1M7XG4gICAgICBpZiAobm9kZS5vZmZzZXRUb3AgPCB0aGlzLmhpbnRzLnNjcm9sbFRvcClcbiAgICAgICAgdGhpcy5oaW50cy5zY3JvbGxUb3AgPSBub2RlLm9mZnNldFRvcCAtIDM7XG4gICAgICBlbHNlIGlmIChub2RlLm9mZnNldFRvcCArIG5vZGUub2Zmc2V0SGVpZ2h0ID4gdGhpcy5oaW50cy5zY3JvbGxUb3AgKyB0aGlzLmhpbnRzLmNsaWVudEhlaWdodClcbiAgICAgICAgdGhpcy5oaW50cy5zY3JvbGxUb3AgPSBub2RlLm9mZnNldFRvcCArIG5vZGUub2Zmc2V0SGVpZ2h0IC0gdGhpcy5oaW50cy5jbGllbnRIZWlnaHQgKyAzO1xuICAgICAgQ29kZU1pcnJvci5zaWduYWwodGhpcy5kYXRhLCBcInNlbGVjdFwiLCB0aGlzLmRhdGEubGlzdFt0aGlzLnNlbGVjdGVkSGludF0sIG5vZGUpO1xuICAgIH0sXG5cbiAgICBzY3JlZW5BbW91bnQ6IGZ1bmN0aW9uKCkge1xuICAgICAgcmV0dXJuIE1hdGguZmxvb3IodGhpcy5oaW50cy5jbGllbnRIZWlnaHQgLyB0aGlzLmhpbnRzLmZpcnN0Q2hpbGQub2Zmc2V0SGVpZ2h0KSB8fCAxO1xuICAgIH1cbiAgfTtcblxuICBmdW5jdGlvbiBhcHBsaWNhYmxlSGVscGVycyhjbSwgaGVscGVycykge1xuICAgIGlmICghY20uc29tZXRoaW5nU2VsZWN0ZWQoKSkgcmV0dXJuIGhlbHBlcnNcbiAgICB2YXIgcmVzdWx0ID0gW11cbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGhlbHBlcnMubGVuZ3RoOyBpKyspXG4gICAgICBpZiAoaGVscGVyc1tpXS5zdXBwb3J0c1NlbGVjdGlvbikgcmVzdWx0LnB1c2goaGVscGVyc1tpXSlcbiAgICByZXR1cm4gcmVzdWx0XG4gIH1cblxuICBmdW5jdGlvbiBmZXRjaEhpbnRzKGhpbnQsIGNtLCBvcHRpb25zLCBjYWxsYmFjaykge1xuICAgIGlmIChoaW50LmFzeW5jKSB7XG4gICAgICBoaW50KGNtLCBjYWxsYmFjaywgb3B0aW9ucylcbiAgICB9IGVsc2Uge1xuICAgICAgdmFyIHJlc3VsdCA9IGhpbnQoY20sIG9wdGlvbnMpXG4gICAgICBpZiAocmVzdWx0ICYmIHJlc3VsdC50aGVuKSByZXN1bHQudGhlbihjYWxsYmFjaylcbiAgICAgIGVsc2UgY2FsbGJhY2socmVzdWx0KVxuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIHJlc29sdmVBdXRvSGludHMoY20sIHBvcykge1xuICAgIHZhciBoZWxwZXJzID0gY20uZ2V0SGVscGVycyhwb3MsIFwiaGludFwiKSwgd29yZHNcbiAgICBpZiAoaGVscGVycy5sZW5ndGgpIHtcbiAgICAgIHZhciByZXNvbHZlZCA9IGZ1bmN0aW9uKGNtLCBjYWxsYmFjaywgb3B0aW9ucykge1xuICAgICAgICB2YXIgYXBwID0gYXBwbGljYWJsZUhlbHBlcnMoY20sIGhlbHBlcnMpO1xuICAgICAgICBmdW5jdGlvbiBydW4oaSkge1xuICAgICAgICAgIGlmIChpID09IGFwcC5sZW5ndGgpIHJldHVybiBjYWxsYmFjayhudWxsKVxuICAgICAgICAgIGZldGNoSGludHMoYXBwW2ldLCBjbSwgb3B0aW9ucywgZnVuY3Rpb24ocmVzdWx0KSB7XG4gICAgICAgICAgICBpZiAocmVzdWx0ICYmIHJlc3VsdC5saXN0Lmxlbmd0aCA+IDApIGNhbGxiYWNrKHJlc3VsdClcbiAgICAgICAgICAgIGVsc2UgcnVuKGkgKyAxKVxuICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgICAgcnVuKDApXG4gICAgICB9XG4gICAgICByZXNvbHZlZC5hc3luYyA9IHRydWVcbiAgICAgIHJlc29sdmVkLnN1cHBvcnRzU2VsZWN0aW9uID0gdHJ1ZVxuICAgICAgcmV0dXJuIHJlc29sdmVkXG4gICAgfSBlbHNlIGlmICh3b3JkcyA9IGNtLmdldEhlbHBlcihjbS5nZXRDdXJzb3IoKSwgXCJoaW50V29yZHNcIikpIHtcbiAgICAgIHJldHVybiBmdW5jdGlvbihjbSkgeyByZXR1cm4gQ29kZU1pcnJvci5oaW50LmZyb21MaXN0KGNtLCB7d29yZHM6IHdvcmRzfSkgfVxuICAgIH0gZWxzZSBpZiAoQ29kZU1pcnJvci5oaW50LmFueXdvcmQpIHtcbiAgICAgIHJldHVybiBmdW5jdGlvbihjbSwgb3B0aW9ucykgeyByZXR1cm4gQ29kZU1pcnJvci5oaW50LmFueXdvcmQoY20sIG9wdGlvbnMpIH1cbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGZ1bmN0aW9uKCkge31cbiAgICB9XG4gIH1cblxuICBDb2RlTWlycm9yLnJlZ2lzdGVySGVscGVyKFwiaGludFwiLCBcImF1dG9cIiwge1xuICAgIHJlc29sdmU6IHJlc29sdmVBdXRvSGludHNcbiAgfSk7XG5cbiAgQ29kZU1pcnJvci5yZWdpc3RlckhlbHBlcihcImhpbnRcIiwgXCJmcm9tTGlzdFwiLCBmdW5jdGlvbihjbSwgb3B0aW9ucykge1xuICAgIHZhciBjdXIgPSBjbS5nZXRDdXJzb3IoKSwgdG9rZW4gPSBjbS5nZXRUb2tlbkF0KGN1cilcbiAgICB2YXIgdGVybSwgZnJvbSA9IENvZGVNaXJyb3IuUG9zKGN1ci5saW5lLCB0b2tlbi5zdGFydCksIHRvID0gY3VyXG4gICAgaWYgKHRva2VuLnN0YXJ0IDwgY3VyLmNoICYmIC9cXHcvLnRlc3QodG9rZW4uc3RyaW5nLmNoYXJBdChjdXIuY2ggLSB0b2tlbi5zdGFydCAtIDEpKSkge1xuICAgICAgdGVybSA9IHRva2VuLnN0cmluZy5zdWJzdHIoMCwgY3VyLmNoIC0gdG9rZW4uc3RhcnQpXG4gICAgfSBlbHNlIHtcbiAgICAgIHRlcm0gPSBcIlwiXG4gICAgICBmcm9tID0gY3VyXG4gICAgfVxuICAgIHZhciBmb3VuZCA9IFtdO1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgb3B0aW9ucy53b3Jkcy5sZW5ndGg7IGkrKykge1xuICAgICAgdmFyIHdvcmQgPSBvcHRpb25zLndvcmRzW2ldO1xuICAgICAgaWYgKHdvcmQuc2xpY2UoMCwgdGVybS5sZW5ndGgpID09IHRlcm0pXG4gICAgICAgIGZvdW5kLnB1c2god29yZCk7XG4gICAgfVxuXG4gICAgaWYgKGZvdW5kLmxlbmd0aCkgcmV0dXJuIHtsaXN0OiBmb3VuZCwgZnJvbTogZnJvbSwgdG86IHRvfTtcbiAgfSk7XG5cbiAgQ29kZU1pcnJvci5jb21tYW5kcy5hdXRvY29tcGxldGUgPSBDb2RlTWlycm9yLnNob3dIaW50O1xuXG4gIHZhciBkZWZhdWx0T3B0aW9ucyA9IHtcbiAgICBoaW50OiBDb2RlTWlycm9yLmhpbnQuYXV0byxcbiAgICBjb21wbGV0ZVNpbmdsZTogdHJ1ZSxcbiAgICBhbGlnbldpdGhXb3JkOiB0cnVlLFxuICAgIGNsb3NlQ2hhcmFjdGVyczogL1tcXHMoKVxcW1xcXXt9Ozo+LF0vLFxuICAgIGNsb3NlT25VbmZvY3VzOiB0cnVlLFxuICAgIGNvbXBsZXRlT25TaW5nbGVDbGljazogdHJ1ZSxcbiAgICBjb250YWluZXI6IG51bGwsXG4gICAgY3VzdG9tS2V5czogbnVsbCxcbiAgICBleHRyYUtleXM6IG51bGxcbiAgfTtcblxuICBDb2RlTWlycm9yLmRlZmluZU9wdGlvbihcImhpbnRPcHRpb25zXCIsIG51bGwpO1xufSk7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/codemirror/addon/hint/show-hint.js\n"); /***/ }), /***/ "./node_modules/codemirror/addon/lint/css-lint.js": /*!********************************************************!*\ !*** ./node_modules/codemirror/addon/lint/css-lint.js ***! \********************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n// Depends on csslint.js from https://github.com/stubbornella/csslint\n\n// declare global: CSSLint\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ \"./node_modules/codemirror/lib/codemirror.js\"));\n else {}\n})(function(CodeMirror) {\n\"use strict\";\n\nCodeMirror.registerHelper(\"lint\", \"css\", function(text, options) {\n var found = [];\n if (!window.CSSLint) {\n if (window.console) {\n window.console.error(\"Error: window.CSSLint not defined, CodeMirror CSS linting cannot run.\");\n }\n return found;\n }\n var results = CSSLint.verify(text, options), messages = results.messages, message = null;\n for ( var i = 0; i < messages.length; i++) {\n message = messages[i];\n var startLine = message.line -1, endLine = message.line -1, startCol = message.col -1, endCol = message.col;\n found.push({\n from: CodeMirror.Pos(startLine, startCol),\n to: CodeMirror.Pos(endLine, endCol),\n message: message.message,\n severity : message.type\n });\n }\n return found;\n});\n\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9hZGRvbi9saW50L2Nzcy1saW50LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvZGVtaXJyb3IvYWRkb24vbGludC9jc3MtbGludC5qcz9mZWRjIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIENvZGVNaXJyb3IsIGNvcHlyaWdodCAoYykgYnkgTWFyaWpuIEhhdmVyYmVrZSBhbmQgb3RoZXJzXG4vLyBEaXN0cmlidXRlZCB1bmRlciBhbiBNSVQgbGljZW5zZTogaHR0cHM6Ly9jb2RlbWlycm9yLm5ldC9MSUNFTlNFXG5cbi8vIERlcGVuZHMgb24gY3NzbGludC5qcyBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9zdHViYm9ybmVsbGEvY3NzbGludFxuXG4vLyBkZWNsYXJlIGdsb2JhbDogQ1NTTGludFxuXG4oZnVuY3Rpb24obW9kKSB7XG4gIGlmICh0eXBlb2YgZXhwb3J0cyA9PSBcIm9iamVjdFwiICYmIHR5cGVvZiBtb2R1bGUgPT0gXCJvYmplY3RcIikgLy8gQ29tbW9uSlNcbiAgICBtb2QocmVxdWlyZShcIi4uLy4uL2xpYi9jb2RlbWlycm9yXCIpKTtcbiAgZWxzZSBpZiAodHlwZW9mIGRlZmluZSA9PSBcImZ1bmN0aW9uXCIgJiYgZGVmaW5lLmFtZCkgLy8gQU1EXG4gICAgZGVmaW5lKFtcIi4uLy4uL2xpYi9jb2RlbWlycm9yXCJdLCBtb2QpO1xuICBlbHNlIC8vIFBsYWluIGJyb3dzZXIgZW52XG4gICAgbW9kKENvZGVNaXJyb3IpO1xufSkoZnVuY3Rpb24oQ29kZU1pcnJvcikge1xuXCJ1c2Ugc3RyaWN0XCI7XG5cbkNvZGVNaXJyb3IucmVnaXN0ZXJIZWxwZXIoXCJsaW50XCIsIFwiY3NzXCIsIGZ1bmN0aW9uKHRleHQsIG9wdGlvbnMpIHtcbiAgdmFyIGZvdW5kID0gW107XG4gIGlmICghd2luZG93LkNTU0xpbnQpIHtcbiAgICBpZiAod2luZG93LmNvbnNvbGUpIHtcbiAgICAgICAgd2luZG93LmNvbnNvbGUuZXJyb3IoXCJFcnJvcjogd2luZG93LkNTU0xpbnQgbm90IGRlZmluZWQsIENvZGVNaXJyb3IgQ1NTIGxpbnRpbmcgY2Fubm90IHJ1bi5cIik7XG4gICAgfVxuICAgIHJldHVybiBmb3VuZDtcbiAgfVxuICB2YXIgcmVzdWx0cyA9IENTU0xpbnQudmVyaWZ5KHRleHQsIG9wdGlvbnMpLCBtZXNzYWdlcyA9IHJlc3VsdHMubWVzc2FnZXMsIG1lc3NhZ2UgPSBudWxsO1xuICBmb3IgKCB2YXIgaSA9IDA7IGkgPCBtZXNzYWdlcy5sZW5ndGg7IGkrKykge1xuICAgIG1lc3NhZ2UgPSBtZXNzYWdlc1tpXTtcbiAgICB2YXIgc3RhcnRMaW5lID0gbWVzc2FnZS5saW5lIC0xLCBlbmRMaW5lID0gbWVzc2FnZS5saW5lIC0xLCBzdGFydENvbCA9IG1lc3NhZ2UuY29sIC0xLCBlbmRDb2wgPSBtZXNzYWdlLmNvbDtcbiAgICBmb3VuZC5wdXNoKHtcbiAgICAgIGZyb206IENvZGVNaXJyb3IuUG9zKHN0YXJ0TGluZSwgc3RhcnRDb2wpLFxuICAgICAgdG86IENvZGVNaXJyb3IuUG9zKGVuZExpbmUsIGVuZENvbCksXG4gICAgICBtZXNzYWdlOiBtZXNzYWdlLm1lc3NhZ2UsXG4gICAgICBzZXZlcml0eSA6IG1lc3NhZ2UudHlwZVxuICAgIH0pO1xuICB9XG4gIHJldHVybiBmb3VuZDtcbn0pO1xuXG59KTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/codemirror/addon/lint/css-lint.js\n"); /***/ }), /***/ "./node_modules/codemirror/addon/lint/javascript-lint.js": /*!***************************************************************!*\ !*** ./node_modules/codemirror/addon/lint/javascript-lint.js ***! \***************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ \"./node_modules/codemirror/lib/codemirror.js\"));\n else {}\n})(function(CodeMirror) {\n \"use strict\";\n // declare global: JSHINT\n\n function validator(text, options) {\n if (!window.JSHINT) {\n if (window.console) {\n window.console.error(\"Error: window.JSHINT not defined, CodeMirror JavaScript linting cannot run.\");\n }\n return [];\n }\n if (!options.indent) // JSHint error.character actually is a column index, this fixes underlining on lines using tabs for indentation\n options.indent = 1; // JSHint default value is 4\n JSHINT(text, options, options.globals);\n var errors = JSHINT.data().errors, result = [];\n if (errors) parseErrors(errors, result);\n return result;\n }\n\n CodeMirror.registerHelper(\"lint\", \"javascript\", validator);\n\n function parseErrors(errors, output) {\n for ( var i = 0; i < errors.length; i++) {\n var error = errors[i];\n if (error) {\n if (error.line <= 0) {\n if (window.console) {\n window.console.warn(\"Cannot display JSHint error (invalid line \" + error.line + \")\", error);\n }\n continue;\n }\n\n var start = error.character - 1, end = start + 1;\n if (error.evidence) {\n var index = error.evidence.substring(start).search(/.\\b/);\n if (index > -1) {\n end += index;\n }\n }\n\n // Convert to format expected by validation service\n var hint = {\n message: error.reason,\n severity: error.code ? (error.code.startsWith('W') ? \"warning\" : \"error\") : \"error\",\n from: CodeMirror.Pos(error.line - 1, start),\n to: CodeMirror.Pos(error.line - 1, end)\n };\n\n output.push(hint);\n }\n }\n }\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9hZGRvbi9saW50L2phdmFzY3JpcHQtbGludC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb2RlbWlycm9yL2FkZG9uL2xpbnQvamF2YXNjcmlwdC1saW50LmpzPzE4ZDEiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29kZU1pcnJvciwgY29weXJpZ2h0IChjKSBieSBNYXJpam4gSGF2ZXJiZWtlIGFuZCBvdGhlcnNcbi8vIERpc3RyaWJ1dGVkIHVuZGVyIGFuIE1JVCBsaWNlbnNlOiBodHRwczovL2NvZGVtaXJyb3IubmV0L0xJQ0VOU0VcblxuKGZ1bmN0aW9uKG1vZCkge1xuICBpZiAodHlwZW9mIGV4cG9ydHMgPT0gXCJvYmplY3RcIiAmJiB0eXBlb2YgbW9kdWxlID09IFwib2JqZWN0XCIpIC8vIENvbW1vbkpTXG4gICAgbW9kKHJlcXVpcmUoXCIuLi8uLi9saWIvY29kZW1pcnJvclwiKSk7XG4gIGVsc2UgaWYgKHR5cGVvZiBkZWZpbmUgPT0gXCJmdW5jdGlvblwiICYmIGRlZmluZS5hbWQpIC8vIEFNRFxuICAgIGRlZmluZShbXCIuLi8uLi9saWIvY29kZW1pcnJvclwiXSwgbW9kKTtcbiAgZWxzZSAvLyBQbGFpbiBicm93c2VyIGVudlxuICAgIG1vZChDb2RlTWlycm9yKTtcbn0pKGZ1bmN0aW9uKENvZGVNaXJyb3IpIHtcbiAgXCJ1c2Ugc3RyaWN0XCI7XG4gIC8vIGRlY2xhcmUgZ2xvYmFsOiBKU0hJTlRcblxuICBmdW5jdGlvbiB2YWxpZGF0b3IodGV4dCwgb3B0aW9ucykge1xuICAgIGlmICghd2luZG93LkpTSElOVCkge1xuICAgICAgaWYgKHdpbmRvdy5jb25zb2xlKSB7XG4gICAgICAgIHdpbmRvdy5jb25zb2xlLmVycm9yKFwiRXJyb3I6IHdpbmRvdy5KU0hJTlQgbm90IGRlZmluZWQsIENvZGVNaXJyb3IgSmF2YVNjcmlwdCBsaW50aW5nIGNhbm5vdCBydW4uXCIpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cbiAgICBpZiAoIW9wdGlvbnMuaW5kZW50KSAvLyBKU0hpbnQgZXJyb3IuY2hhcmFjdGVyIGFjdHVhbGx5IGlzIGEgY29sdW1uIGluZGV4LCB0aGlzIGZpeGVzIHVuZGVybGluaW5nIG9uIGxpbmVzIHVzaW5nIHRhYnMgZm9yIGluZGVudGF0aW9uXG4gICAgICBvcHRpb25zLmluZGVudCA9IDE7IC8vIEpTSGludCBkZWZhdWx0IHZhbHVlIGlzIDRcbiAgICBKU0hJTlQodGV4dCwgb3B0aW9ucywgb3B0aW9ucy5nbG9iYWxzKTtcbiAgICB2YXIgZXJyb3JzID0gSlNISU5ULmRhdGEoKS5lcnJvcnMsIHJlc3VsdCA9IFtdO1xuICAgIGlmIChlcnJvcnMpIHBhcnNlRXJyb3JzKGVycm9ycywgcmVzdWx0KTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgQ29kZU1pcnJvci5yZWdpc3RlckhlbHBlcihcImxpbnRcIiwgXCJqYXZhc2NyaXB0XCIsIHZhbGlkYXRvcik7XG5cbiAgZnVuY3Rpb24gcGFyc2VFcnJvcnMoZXJyb3JzLCBvdXRwdXQpIHtcbiAgICBmb3IgKCB2YXIgaSA9IDA7IGkgPCBlcnJvcnMubGVuZ3RoOyBpKyspIHtcbiAgICAgIHZhciBlcnJvciA9IGVycm9yc1tpXTtcbiAgICAgIGlmIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IubGluZSA8PSAwKSB7XG4gICAgICAgICAgaWYgKHdpbmRvdy5jb25zb2xlKSB7XG4gICAgICAgICAgICB3aW5kb3cuY29uc29sZS53YXJuKFwiQ2Fubm90IGRpc3BsYXkgSlNIaW50IGVycm9yIChpbnZhbGlkIGxpbmUgXCIgKyBlcnJvci5saW5lICsgXCIpXCIsIGVycm9yKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cblxuICAgICAgICB2YXIgc3RhcnQgPSBlcnJvci5jaGFyYWN0ZXIgLSAxLCBlbmQgPSBzdGFydCArIDE7XG4gICAgICAgIGlmIChlcnJvci5ldmlkZW5jZSkge1xuICAgICAgICAgIHZhciBpbmRleCA9IGVycm9yLmV2aWRlbmNlLnN1YnN0cmluZyhzdGFydCkuc2VhcmNoKC8uXFxiLyk7XG4gICAgICAgICAgaWYgKGluZGV4ID4gLTEpIHtcbiAgICAgICAgICAgIGVuZCArPSBpbmRleDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBDb252ZXJ0IHRvIGZvcm1hdCBleHBlY3RlZCBieSB2YWxpZGF0aW9uIHNlcnZpY2VcbiAgICAgICAgdmFyIGhpbnQgPSB7XG4gICAgICAgICAgbWVzc2FnZTogZXJyb3IucmVhc29uLFxuICAgICAgICAgIHNldmVyaXR5OiBlcnJvci5jb2RlID8gKGVycm9yLmNvZGUuc3RhcnRzV2l0aCgnVycpID8gXCJ3YXJuaW5nXCIgOiBcImVycm9yXCIpIDogXCJlcnJvclwiLFxuICAgICAgICAgIGZyb206IENvZGVNaXJyb3IuUG9zKGVycm9yLmxpbmUgLSAxLCBzdGFydCksXG4gICAgICAgICAgdG86IENvZGVNaXJyb3IuUG9zKGVycm9yLmxpbmUgLSAxLCBlbmQpXG4gICAgICAgIH07XG5cbiAgICAgICAgb3V0cHV0LnB1c2goaGludCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59KTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/codemirror/addon/lint/javascript-lint.js\n"); /***/ }), /***/ "./node_modules/codemirror/addon/mode/multiplex.js": /*!*********************************************************!*\ !*** ./node_modules/codemirror/addon/mode/multiplex.js ***! \*********************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ \"./node_modules/codemirror/lib/codemirror.js\"));\n else {}\n})(function(CodeMirror) {\n\"use strict\";\n\nCodeMirror.multiplexingMode = function(outer /*, others */) {\n // Others should be {open, close, mode [, delimStyle] [, innerStyle]} objects\n var others = Array.prototype.slice.call(arguments, 1);\n\n function indexOf(string, pattern, from, returnEnd) {\n if (typeof pattern == \"string\") {\n var found = string.indexOf(pattern, from);\n return returnEnd && found > -1 ? found + pattern.length : found;\n }\n var m = pattern.exec(from ? string.slice(from) : string);\n return m ? m.index + from + (returnEnd ? m[0].length : 0) : -1;\n }\n\n return {\n startState: function() {\n return {\n outer: CodeMirror.startState(outer),\n innerActive: null,\n inner: null\n };\n },\n\n copyState: function(state) {\n return {\n outer: CodeMirror.copyState(outer, state.outer),\n innerActive: state.innerActive,\n inner: state.innerActive && CodeMirror.copyState(state.innerActive.mode, state.inner)\n };\n },\n\n token: function(stream, state) {\n if (!state.innerActive) {\n var cutOff = Infinity, oldContent = stream.string;\n for (var i = 0; i < others.length; ++i) {\n var other = others[i];\n var found = indexOf(oldContent, other.open, stream.pos);\n if (found == stream.pos) {\n if (!other.parseDelimiters) stream.match(other.open);\n state.innerActive = other;\n\n // Get the outer indent, making sure to handle CodeMirror.Pass\n var outerIndent = 0;\n if (outer.indent) {\n var possibleOuterIndent = outer.indent(state.outer, \"\", \"\");\n if (possibleOuterIndent !== CodeMirror.Pass) outerIndent = possibleOuterIndent;\n }\n\n state.inner = CodeMirror.startState(other.mode, outerIndent);\n return other.delimStyle && (other.delimStyle + \" \" + other.delimStyle + \"-open\");\n } else if (found != -1 && found < cutOff) {\n cutOff = found;\n }\n }\n if (cutOff != Infinity) stream.string = oldContent.slice(0, cutOff);\n var outerToken = outer.token(stream, state.outer);\n if (cutOff != Infinity) stream.string = oldContent;\n return outerToken;\n } else {\n var curInner = state.innerActive, oldContent = stream.string;\n if (!curInner.close && stream.sol()) {\n state.innerActive = state.inner = null;\n return this.token(stream, state);\n }\n var found = curInner.close ? indexOf(oldContent, curInner.close, stream.pos, curInner.parseDelimiters) : -1;\n if (found == stream.pos && !curInner.parseDelimiters) {\n stream.match(curInner.close);\n state.innerActive = state.inner = null;\n return curInner.delimStyle && (curInner.delimStyle + \" \" + curInner.delimStyle + \"-close\");\n }\n if (found > -1) stream.string = oldContent.slice(0, found);\n var innerToken = curInner.mode.token(stream, state.inner);\n if (found > -1) stream.string = oldContent;\n\n if (found == stream.pos && curInner.parseDelimiters)\n state.innerActive = state.inner = null;\n\n if (curInner.innerStyle) {\n if (innerToken) innerToken = innerToken + \" \" + curInner.innerStyle;\n else innerToken = curInner.innerStyle;\n }\n\n return innerToken;\n }\n },\n\n indent: function(state, textAfter, line) {\n var mode = state.innerActive ? state.innerActive.mode : outer;\n if (!mode.indent) return CodeMirror.Pass;\n return mode.indent(state.innerActive ? state.inner : state.outer, textAfter, line);\n },\n\n blankLine: function(state) {\n var mode = state.innerActive ? state.innerActive.mode : outer;\n if (mode.blankLine) {\n mode.blankLine(state.innerActive ? state.inner : state.outer);\n }\n if (!state.innerActive) {\n for (var i = 0; i < others.length; ++i) {\n var other = others[i];\n if (other.open === \"\\n\") {\n state.innerActive = other;\n state.inner = CodeMirror.startState(other.mode, mode.indent ? mode.indent(state.outer, \"\", \"\") : 0);\n }\n }\n } else if (state.innerActive.close === \"\\n\") {\n state.innerActive = state.inner = null;\n }\n },\n\n electricChars: outer.electricChars,\n\n innerMode: function(state) {\n return state.inner ? {state: state.inner, mode: state.innerActive.mode} : {state: state.outer, mode: outer};\n }\n };\n};\n\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9hZGRvbi9tb2RlL211bHRpcGxleC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb2RlbWlycm9yL2FkZG9uL21vZGUvbXVsdGlwbGV4LmpzP2ViMGMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29kZU1pcnJvciwgY29weXJpZ2h0IChjKSBieSBNYXJpam4gSGF2ZXJiZWtlIGFuZCBvdGhlcnNcbi8vIERpc3RyaWJ1dGVkIHVuZGVyIGFuIE1JVCBsaWNlbnNlOiBodHRwczovL2NvZGVtaXJyb3IubmV0L0xJQ0VOU0VcblxuKGZ1bmN0aW9uKG1vZCkge1xuICBpZiAodHlwZW9mIGV4cG9ydHMgPT0gXCJvYmplY3RcIiAmJiB0eXBlb2YgbW9kdWxlID09IFwib2JqZWN0XCIpIC8vIENvbW1vbkpTXG4gICAgbW9kKHJlcXVpcmUoXCIuLi8uLi9saWIvY29kZW1pcnJvclwiKSk7XG4gIGVsc2UgaWYgKHR5cGVvZiBkZWZpbmUgPT0gXCJmdW5jdGlvblwiICYmIGRlZmluZS5hbWQpIC8vIEFNRFxuICAgIGRlZmluZShbXCIuLi8uLi9saWIvY29kZW1pcnJvclwiXSwgbW9kKTtcbiAgZWxzZSAvLyBQbGFpbiBicm93c2VyIGVudlxuICAgIG1vZChDb2RlTWlycm9yKTtcbn0pKGZ1bmN0aW9uKENvZGVNaXJyb3IpIHtcblwidXNlIHN0cmljdFwiO1xuXG5Db2RlTWlycm9yLm11bHRpcGxleGluZ01vZGUgPSBmdW5jdGlvbihvdXRlciAvKiwgb3RoZXJzICovKSB7XG4gIC8vIE90aGVycyBzaG91bGQgYmUge29wZW4sIGNsb3NlLCBtb2RlIFssIGRlbGltU3R5bGVdIFssIGlubmVyU3R5bGVdfSBvYmplY3RzXG4gIHZhciBvdGhlcnMgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsIDEpO1xuXG4gIGZ1bmN0aW9uIGluZGV4T2Yoc3RyaW5nLCBwYXR0ZXJuLCBmcm9tLCByZXR1cm5FbmQpIHtcbiAgICBpZiAodHlwZW9mIHBhdHRlcm4gPT0gXCJzdHJpbmdcIikge1xuICAgICAgdmFyIGZvdW5kID0gc3RyaW5nLmluZGV4T2YocGF0dGVybiwgZnJvbSk7XG4gICAgICByZXR1cm4gcmV0dXJuRW5kICYmIGZvdW5kID4gLTEgPyBmb3VuZCArIHBhdHRlcm4ubGVuZ3RoIDogZm91bmQ7XG4gICAgfVxuICAgIHZhciBtID0gcGF0dGVybi5leGVjKGZyb20gPyBzdHJpbmcuc2xpY2UoZnJvbSkgOiBzdHJpbmcpO1xuICAgIHJldHVybiBtID8gbS5pbmRleCArIGZyb20gKyAocmV0dXJuRW5kID8gbVswXS5sZW5ndGggOiAwKSA6IC0xO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBzdGFydFN0YXRlOiBmdW5jdGlvbigpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIG91dGVyOiBDb2RlTWlycm9yLnN0YXJ0U3RhdGUob3V0ZXIpLFxuICAgICAgICBpbm5lckFjdGl2ZTogbnVsbCxcbiAgICAgICAgaW5uZXI6IG51bGxcbiAgICAgIH07XG4gICAgfSxcblxuICAgIGNvcHlTdGF0ZTogZnVuY3Rpb24oc3RhdGUpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIG91dGVyOiBDb2RlTWlycm9yLmNvcHlTdGF0ZShvdXRlciwgc3RhdGUub3V0ZXIpLFxuICAgICAgICBpbm5lckFjdGl2ZTogc3RhdGUuaW5uZXJBY3RpdmUsXG4gICAgICAgIGlubmVyOiBzdGF0ZS5pbm5lckFjdGl2ZSAmJiBDb2RlTWlycm9yLmNvcHlTdGF0ZShzdGF0ZS5pbm5lckFjdGl2ZS5tb2RlLCBzdGF0ZS5pbm5lcilcbiAgICAgIH07XG4gICAgfSxcblxuICAgIHRva2VuOiBmdW5jdGlvbihzdHJlYW0sIHN0YXRlKSB7XG4gICAgICBpZiAoIXN0YXRlLmlubmVyQWN0aXZlKSB7XG4gICAgICAgIHZhciBjdXRPZmYgPSBJbmZpbml0eSwgb2xkQ29udGVudCA9IHN0cmVhbS5zdHJpbmc7XG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgb3RoZXJzLmxlbmd0aDsgKytpKSB7XG4gICAgICAgICAgdmFyIG90aGVyID0gb3RoZXJzW2ldO1xuICAgICAgICAgIHZhciBmb3VuZCA9IGluZGV4T2Yob2xkQ29udGVudCwgb3RoZXIub3Blbiwgc3RyZWFtLnBvcyk7XG4gICAgICAgICAgaWYgKGZvdW5kID09IHN0cmVhbS5wb3MpIHtcbiAgICAgICAgICAgIGlmICghb3RoZXIucGFyc2VEZWxpbWl0ZXJzKSBzdHJlYW0ubWF0Y2gob3RoZXIub3Blbik7XG4gICAgICAgICAgICBzdGF0ZS5pbm5lckFjdGl2ZSA9IG90aGVyO1xuXG4gICAgICAgICAgICAvLyBHZXQgdGhlIG91dGVyIGluZGVudCwgbWFraW5nIHN1cmUgdG8gaGFuZGxlIENvZGVNaXJyb3IuUGFzc1xuICAgICAgICAgICAgdmFyIG91dGVySW5kZW50ID0gMDtcbiAgICAgICAgICAgIGlmIChvdXRlci5pbmRlbnQpIHtcbiAgICAgICAgICAgICAgdmFyIHBvc3NpYmxlT3V0ZXJJbmRlbnQgPSBvdXRlci5pbmRlbnQoc3RhdGUub3V0ZXIsIFwiXCIsIFwiXCIpO1xuICAgICAgICAgICAgICBpZiAocG9zc2libGVPdXRlckluZGVudCAhPT0gQ29kZU1pcnJvci5QYXNzKSBvdXRlckluZGVudCA9IHBvc3NpYmxlT3V0ZXJJbmRlbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHN0YXRlLmlubmVyID0gQ29kZU1pcnJvci5zdGFydFN0YXRlKG90aGVyLm1vZGUsIG91dGVySW5kZW50KTtcbiAgICAgICAgICAgIHJldHVybiBvdGhlci5kZWxpbVN0eWxlICYmIChvdGhlci5kZWxpbVN0eWxlICsgXCIgXCIgKyBvdGhlci5kZWxpbVN0eWxlICsgXCItb3BlblwiKTtcbiAgICAgICAgICB9IGVsc2UgaWYgKGZvdW5kICE9IC0xICYmIGZvdW5kIDwgY3V0T2ZmKSB7XG4gICAgICAgICAgICBjdXRPZmYgPSBmb3VuZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGN1dE9mZiAhPSBJbmZpbml0eSkgc3RyZWFtLnN0cmluZyA9IG9sZENvbnRlbnQuc2xpY2UoMCwgY3V0T2ZmKTtcbiAgICAgICAgdmFyIG91dGVyVG9rZW4gPSBvdXRlci50b2tlbihzdHJlYW0sIHN0YXRlLm91dGVyKTtcbiAgICAgICAgaWYgKGN1dE9mZiAhPSBJbmZpbml0eSkgc3RyZWFtLnN0cmluZyA9IG9sZENvbnRlbnQ7XG4gICAgICAgIHJldHVybiBvdXRlclRva2VuO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdmFyIGN1cklubmVyID0gc3RhdGUuaW5uZXJBY3RpdmUsIG9sZENvbnRlbnQgPSBzdHJlYW0uc3RyaW5nO1xuICAgICAgICBpZiAoIWN1cklubmVyLmNsb3NlICYmIHN0cmVhbS5zb2woKSkge1xuICAgICAgICAgIHN0YXRlLmlubmVyQWN0aXZlID0gc3RhdGUuaW5uZXIgPSBudWxsO1xuICAgICAgICAgIHJldHVybiB0aGlzLnRva2VuKHN0cmVhbSwgc3RhdGUpO1xuICAgICAgICB9XG4gICAgICAgIHZhciBmb3VuZCA9IGN1cklubmVyLmNsb3NlID8gaW5kZXhPZihvbGRDb250ZW50LCBjdXJJbm5lci5jbG9zZSwgc3RyZWFtLnBvcywgY3VySW5uZXIucGFyc2VEZWxpbWl0ZXJzKSA6IC0xO1xuICAgICAgICBpZiAoZm91bmQgPT0gc3RyZWFtLnBvcyAmJiAhY3VySW5uZXIucGFyc2VEZWxpbWl0ZXJzKSB7XG4gICAgICAgICAgc3RyZWFtLm1hdGNoKGN1cklubmVyLmNsb3NlKTtcbiAgICAgICAgICBzdGF0ZS5pbm5lckFjdGl2ZSA9IHN0YXRlLmlubmVyID0gbnVsbDtcbiAgICAgICAgICByZXR1cm4gY3VySW5uZXIuZGVsaW1TdHlsZSAmJiAoY3VySW5uZXIuZGVsaW1TdHlsZSArIFwiIFwiICsgY3VySW5uZXIuZGVsaW1TdHlsZSArIFwiLWNsb3NlXCIpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChmb3VuZCA+IC0xKSBzdHJlYW0uc3RyaW5nID0gb2xkQ29udGVudC5zbGljZSgwLCBmb3VuZCk7XG4gICAgICAgIHZhciBpbm5lclRva2VuID0gY3VySW5uZXIubW9kZS50b2tlbihzdHJlYW0sIHN0YXRlLmlubmVyKTtcbiAgICAgICAgaWYgKGZvdW5kID4gLTEpIHN0cmVhbS5zdHJpbmcgPSBvbGRDb250ZW50O1xuXG4gICAgICAgIGlmIChmb3VuZCA9PSBzdHJlYW0ucG9zICYmIGN1cklubmVyLnBhcnNlRGVsaW1pdGVycylcbiAgICAgICAgICBzdGF0ZS5pbm5lckFjdGl2ZSA9IHN0YXRlLmlubmVyID0gbnVsbDtcblxuICAgICAgICBpZiAoY3VySW5uZXIuaW5uZXJTdHlsZSkge1xuICAgICAgICAgIGlmIChpbm5lclRva2VuKSBpbm5lclRva2VuID0gaW5uZXJUb2tlbiArIFwiIFwiICsgY3VySW5uZXIuaW5uZXJTdHlsZTtcbiAgICAgICAgICBlbHNlIGlubmVyVG9rZW4gPSBjdXJJbm5lci5pbm5lclN0eWxlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGlubmVyVG9rZW47XG4gICAgICB9XG4gICAgfSxcblxuICAgIGluZGVudDogZnVuY3Rpb24oc3RhdGUsIHRleHRBZnRlciwgbGluZSkge1xuICAgICAgdmFyIG1vZGUgPSBzdGF0ZS5pbm5lckFjdGl2ZSA/IHN0YXRlLmlubmVyQWN0aXZlLm1vZGUgOiBvdXRlcjtcbiAgICAgIGlmICghbW9kZS5pbmRlbnQpIHJldHVybiBDb2RlTWlycm9yLlBhc3M7XG4gICAgICByZXR1cm4gbW9kZS5pbmRlbnQoc3RhdGUuaW5uZXJBY3RpdmUgPyBzdGF0ZS5pbm5lciA6IHN0YXRlLm91dGVyLCB0ZXh0QWZ0ZXIsIGxpbmUpO1xuICAgIH0sXG5cbiAgICBibGFua0xpbmU6IGZ1bmN0aW9uKHN0YXRlKSB7XG4gICAgICB2YXIgbW9kZSA9IHN0YXRlLmlubmVyQWN0aXZlID8gc3RhdGUuaW5uZXJBY3RpdmUubW9kZSA6IG91dGVyO1xuICAgICAgaWYgKG1vZGUuYmxhbmtMaW5lKSB7XG4gICAgICAgIG1vZGUuYmxhbmtMaW5lKHN0YXRlLmlubmVyQWN0aXZlID8gc3RhdGUuaW5uZXIgOiBzdGF0ZS5vdXRlcik7XG4gICAgICB9XG4gICAgICBpZiAoIXN0YXRlLmlubmVyQWN0aXZlKSB7XG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgb3RoZXJzLmxlbmd0aDsgKytpKSB7XG4gICAgICAgICAgdmFyIG90aGVyID0gb3RoZXJzW2ldO1xuICAgICAgICAgIGlmIChvdGhlci5vcGVuID09PSBcIlxcblwiKSB7XG4gICAgICAgICAgICBzdGF0ZS5pbm5lckFjdGl2ZSA9IG90aGVyO1xuICAgICAgICAgICAgc3RhdGUuaW5uZXIgPSBDb2RlTWlycm9yLnN0YXJ0U3RhdGUob3RoZXIubW9kZSwgbW9kZS5pbmRlbnQgPyBtb2RlLmluZGVudChzdGF0ZS5vdXRlciwgXCJcIiwgXCJcIikgOiAwKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoc3RhdGUuaW5uZXJBY3RpdmUuY2xvc2UgPT09IFwiXFxuXCIpIHtcbiAgICAgICAgc3RhdGUuaW5uZXJBY3RpdmUgPSBzdGF0ZS5pbm5lciA9IG51bGw7XG4gICAgICB9XG4gICAgfSxcblxuICAgIGVsZWN0cmljQ2hhcnM6IG91dGVyLmVsZWN0cmljQ2hhcnMsXG5cbiAgICBpbm5lck1vZGU6IGZ1bmN0aW9uKHN0YXRlKSB7XG4gICAgICByZXR1cm4gc3RhdGUuaW5uZXIgPyB7c3RhdGU6IHN0YXRlLmlubmVyLCBtb2RlOiBzdGF0ZS5pbm5lckFjdGl2ZS5tb2RlfSA6IHtzdGF0ZTogc3RhdGUub3V0ZXIsIG1vZGU6IG91dGVyfTtcbiAgICB9XG4gIH07XG59O1xuXG59KTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/codemirror/addon/mode/multiplex.js\n"); /***/ }), /***/ "./node_modules/codemirror/addon/mode/overlay.js": /*!*******************************************************!*\ !*** ./node_modules/codemirror/addon/mode/overlay.js ***! \*******************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n// Utility function that allows modes to be combined. The mode given\n// as the base argument takes care of most of the normal mode\n// functionality, but a second (typically simple) mode is used, which\n// can override the style of text. Both modes get to parse all of the\n// text, but when both assign a non-null style to a piece of code, the\n// overlay wins, unless the combine argument was true and not overridden,\n// or state.overlay.combineTokens was true, in which case the styles are\n// combined.\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ \"./node_modules/codemirror/lib/codemirror.js\"));\n else {}\n})(function(CodeMirror) {\n\"use strict\";\n\nCodeMirror.overlayMode = function(base, overlay, combine) {\n return {\n startState: function() {\n return {\n base: CodeMirror.startState(base),\n overlay: CodeMirror.startState(overlay),\n basePos: 0, baseCur: null,\n overlayPos: 0, overlayCur: null,\n streamSeen: null\n };\n },\n copyState: function(state) {\n return {\n base: CodeMirror.copyState(base, state.base),\n overlay: CodeMirror.copyState(overlay, state.overlay),\n basePos: state.basePos, baseCur: null,\n overlayPos: state.overlayPos, overlayCur: null\n };\n },\n\n token: function(stream, state) {\n if (stream != state.streamSeen ||\n Math.min(state.basePos, state.overlayPos) < stream.start) {\n state.streamSeen = stream;\n state.basePos = state.overlayPos = stream.start;\n }\n\n if (stream.start == state.basePos) {\n state.baseCur = base.token(stream, state.base);\n state.basePos = stream.pos;\n }\n if (stream.start == state.overlayPos) {\n stream.pos = stream.start;\n state.overlayCur = overlay.token(stream, state.overlay);\n state.overlayPos = stream.pos;\n }\n stream.pos = Math.min(state.basePos, state.overlayPos);\n\n // state.overlay.combineTokens always takes precedence over combine,\n // unless set to null\n if (state.overlayCur == null) return state.baseCur;\n else if (state.baseCur != null &&\n state.overlay.combineTokens ||\n combine && state.overlay.combineTokens == null)\n return state.baseCur + \" \" + state.overlayCur;\n else return state.overlayCur;\n },\n\n indent: base.indent && function(state, textAfter, line) {\n return base.indent(state.base, textAfter, line);\n },\n electricChars: base.electricChars,\n\n innerMode: function(state) { return {state: state.base, mode: base}; },\n\n blankLine: function(state) {\n var baseToken, overlayToken;\n if (base.blankLine) baseToken = base.blankLine(state.base);\n if (overlay.blankLine) overlayToken = overlay.blankLine(state.overlay);\n\n return overlayToken == null ?\n baseToken :\n (combine && baseToken != null ? baseToken + \" \" + overlayToken : overlayToken);\n }\n };\n};\n\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9hZGRvbi9tb2RlL292ZXJsYXkuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9hZGRvbi9tb2RlL292ZXJsYXkuanM/OWViOSJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb2RlTWlycm9yLCBjb3B5cmlnaHQgKGMpIGJ5IE1hcmlqbiBIYXZlcmJla2UgYW5kIG90aGVyc1xuLy8gRGlzdHJpYnV0ZWQgdW5kZXIgYW4gTUlUIGxpY2Vuc2U6IGh0dHBzOi8vY29kZW1pcnJvci5uZXQvTElDRU5TRVxuXG4vLyBVdGlsaXR5IGZ1bmN0aW9uIHRoYXQgYWxsb3dzIG1vZGVzIHRvIGJlIGNvbWJpbmVkLiBUaGUgbW9kZSBnaXZlblxuLy8gYXMgdGhlIGJhc2UgYXJndW1lbnQgdGFrZXMgY2FyZSBvZiBtb3N0IG9mIHRoZSBub3JtYWwgbW9kZVxuLy8gZnVuY3Rpb25hbGl0eSwgYnV0IGEgc2Vjb25kICh0eXBpY2FsbHkgc2ltcGxlKSBtb2RlIGlzIHVzZWQsIHdoaWNoXG4vLyBjYW4gb3ZlcnJpZGUgdGhlIHN0eWxlIG9mIHRleHQuIEJvdGggbW9kZXMgZ2V0IHRvIHBhcnNlIGFsbCBvZiB0aGVcbi8vIHRleHQsIGJ1dCB3aGVuIGJvdGggYXNzaWduIGEgbm9uLW51bGwgc3R5bGUgdG8gYSBwaWVjZSBvZiBjb2RlLCB0aGVcbi8vIG92ZXJsYXkgd2lucywgdW5sZXNzIHRoZSBjb21iaW5lIGFyZ3VtZW50IHdhcyB0cnVlIGFuZCBub3Qgb3ZlcnJpZGRlbixcbi8vIG9yIHN0YXRlLm92ZXJsYXkuY29tYmluZVRva2VucyB3YXMgdHJ1ZSwgaW4gd2hpY2ggY2FzZSB0aGUgc3R5bGVzIGFyZVxuLy8gY29tYmluZWQuXG5cbihmdW5jdGlvbihtb2QpIHtcbiAgaWYgKHR5cGVvZiBleHBvcnRzID09IFwib2JqZWN0XCIgJiYgdHlwZW9mIG1vZHVsZSA9PSBcIm9iamVjdFwiKSAvLyBDb21tb25KU1xuICAgIG1vZChyZXF1aXJlKFwiLi4vLi4vbGliL2NvZGVtaXJyb3JcIikpO1xuICBlbHNlIGlmICh0eXBlb2YgZGVmaW5lID09IFwiZnVuY3Rpb25cIiAmJiBkZWZpbmUuYW1kKSAvLyBBTURcbiAgICBkZWZpbmUoW1wiLi4vLi4vbGliL2NvZGVtaXJyb3JcIl0sIG1vZCk7XG4gIGVsc2UgLy8gUGxhaW4gYnJvd3NlciBlbnZcbiAgICBtb2QoQ29kZU1pcnJvcik7XG59KShmdW5jdGlvbihDb2RlTWlycm9yKSB7XG5cInVzZSBzdHJpY3RcIjtcblxuQ29kZU1pcnJvci5vdmVybGF5TW9kZSA9IGZ1bmN0aW9uKGJhc2UsIG92ZXJsYXksIGNvbWJpbmUpIHtcbiAgcmV0dXJuIHtcbiAgICBzdGFydFN0YXRlOiBmdW5jdGlvbigpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGJhc2U6IENvZGVNaXJyb3Iuc3RhcnRTdGF0ZShiYXNlKSxcbiAgICAgICAgb3ZlcmxheTogQ29kZU1pcnJvci5zdGFydFN0YXRlKG92ZXJsYXkpLFxuICAgICAgICBiYXNlUG9zOiAwLCBiYXNlQ3VyOiBudWxsLFxuICAgICAgICBvdmVybGF5UG9zOiAwLCBvdmVybGF5Q3VyOiBudWxsLFxuICAgICAgICBzdHJlYW1TZWVuOiBudWxsXG4gICAgICB9O1xuICAgIH0sXG4gICAgY29weVN0YXRlOiBmdW5jdGlvbihzdGF0ZSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgYmFzZTogQ29kZU1pcnJvci5jb3B5U3RhdGUoYmFzZSwgc3RhdGUuYmFzZSksXG4gICAgICAgIG92ZXJsYXk6IENvZGVNaXJyb3IuY29weVN0YXRlKG92ZXJsYXksIHN0YXRlLm92ZXJsYXkpLFxuICAgICAgICBiYXNlUG9zOiBzdGF0ZS5iYXNlUG9zLCBiYXNlQ3VyOiBudWxsLFxuICAgICAgICBvdmVybGF5UG9zOiBzdGF0ZS5vdmVybGF5UG9zLCBvdmVybGF5Q3VyOiBudWxsXG4gICAgICB9O1xuICAgIH0sXG5cbiAgICB0b2tlbjogZnVuY3Rpb24oc3RyZWFtLCBzdGF0ZSkge1xuICAgICAgaWYgKHN0cmVhbSAhPSBzdGF0ZS5zdHJlYW1TZWVuIHx8XG4gICAgICAgICAgTWF0aC5taW4oc3RhdGUuYmFzZVBvcywgc3RhdGUub3ZlcmxheVBvcykgPCBzdHJlYW0uc3RhcnQpIHtcbiAgICAgICAgc3RhdGUuc3RyZWFtU2VlbiA9IHN0cmVhbTtcbiAgICAgICAgc3RhdGUuYmFzZVBvcyA9IHN0YXRlLm92ZXJsYXlQb3MgPSBzdHJlYW0uc3RhcnQ7XG4gICAgICB9XG5cbiAgICAgIGlmIChzdHJlYW0uc3RhcnQgPT0gc3RhdGUuYmFzZVBvcykge1xuICAgICAgICBzdGF0ZS5iYXNlQ3VyID0gYmFzZS50b2tlbihzdHJlYW0sIHN0YXRlLmJhc2UpO1xuICAgICAgICBzdGF0ZS5iYXNlUG9zID0gc3RyZWFtLnBvcztcbiAgICAgIH1cbiAgICAgIGlmIChzdHJlYW0uc3RhcnQgPT0gc3RhdGUub3ZlcmxheVBvcykge1xuICAgICAgICBzdHJlYW0ucG9zID0gc3RyZWFtLnN0YXJ0O1xuICAgICAgICBzdGF0ZS5vdmVybGF5Q3VyID0gb3ZlcmxheS50b2tlbihzdHJlYW0sIHN0YXRlLm92ZXJsYXkpO1xuICAgICAgICBzdGF0ZS5vdmVybGF5UG9zID0gc3RyZWFtLnBvcztcbiAgICAgIH1cbiAgICAgIHN0cmVhbS5wb3MgPSBNYXRoLm1pbihzdGF0ZS5iYXNlUG9zLCBzdGF0ZS5vdmVybGF5UG9zKTtcblxuICAgICAgLy8gc3RhdGUub3ZlcmxheS5jb21iaW5lVG9rZW5zIGFsd2F5cyB0YWtlcyBwcmVjZWRlbmNlIG92ZXIgY29tYmluZSxcbiAgICAgIC8vIHVubGVzcyBzZXQgdG8gbnVsbFxuICAgICAgaWYgKHN0YXRlLm92ZXJsYXlDdXIgPT0gbnVsbCkgcmV0dXJuIHN0YXRlLmJhc2VDdXI7XG4gICAgICBlbHNlIGlmIChzdGF0ZS5iYXNlQ3VyICE9IG51bGwgJiZcbiAgICAgICAgICAgICAgIHN0YXRlLm92ZXJsYXkuY29tYmluZVRva2VucyB8fFxuICAgICAgICAgICAgICAgY29tYmluZSAmJiBzdGF0ZS5vdmVybGF5LmNvbWJpbmVUb2tlbnMgPT0gbnVsbClcbiAgICAgICAgcmV0dXJuIHN0YXRlLmJhc2VDdXIgKyBcIiBcIiArIHN0YXRlLm92ZXJsYXlDdXI7XG4gICAgICBlbHNlIHJldHVybiBzdGF0ZS5vdmVybGF5Q3VyO1xuICAgIH0sXG5cbiAgICBpbmRlbnQ6IGJhc2UuaW5kZW50ICYmIGZ1bmN0aW9uKHN0YXRlLCB0ZXh0QWZ0ZXIsIGxpbmUpIHtcbiAgICAgIHJldHVybiBiYXNlLmluZGVudChzdGF0ZS5iYXNlLCB0ZXh0QWZ0ZXIsIGxpbmUpO1xuICAgIH0sXG4gICAgZWxlY3RyaWNDaGFyczogYmFzZS5lbGVjdHJpY0NoYXJzLFxuXG4gICAgaW5uZXJNb2RlOiBmdW5jdGlvbihzdGF0ZSkgeyByZXR1cm4ge3N0YXRlOiBzdGF0ZS5iYXNlLCBtb2RlOiBiYXNlfTsgfSxcblxuICAgIGJsYW5rTGluZTogZnVuY3Rpb24oc3RhdGUpIHtcbiAgICAgIHZhciBiYXNlVG9rZW4sIG92ZXJsYXlUb2tlbjtcbiAgICAgIGlmIChiYXNlLmJsYW5rTGluZSkgYmFzZVRva2VuID0gYmFzZS5ibGFua0xpbmUoc3RhdGUuYmFzZSk7XG4gICAgICBpZiAob3ZlcmxheS5ibGFua0xpbmUpIG92ZXJsYXlUb2tlbiA9IG92ZXJsYXkuYmxhbmtMaW5lKHN0YXRlLm92ZXJsYXkpO1xuXG4gICAgICByZXR1cm4gb3ZlcmxheVRva2VuID09IG51bGwgP1xuICAgICAgICBiYXNlVG9rZW4gOlxuICAgICAgICAoY29tYmluZSAmJiBiYXNlVG9rZW4gIT0gbnVsbCA/IGJhc2VUb2tlbiArIFwiIFwiICsgb3ZlcmxheVRva2VuIDogb3ZlcmxheVRva2VuKTtcbiAgICB9XG4gIH07XG59O1xuXG59KTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/codemirror/addon/mode/overlay.js\n"); /***/ }), /***/ "./node_modules/codemirror/addon/mode/simple.js": /*!******************************************************!*\ !*** ./node_modules/codemirror/addon/mode/simple.js ***! \******************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ \"./node_modules/codemirror/lib/codemirror.js\"));\n else {}\n})(function(CodeMirror) {\n \"use strict\";\n\n CodeMirror.defineSimpleMode = function(name, states) {\n CodeMirror.defineMode(name, function(config) {\n return CodeMirror.simpleMode(config, states);\n });\n };\n\n CodeMirror.simpleMode = function(config, states) {\n ensureState(states, \"start\");\n var states_ = {}, meta = states.meta || {}, hasIndentation = false;\n for (var state in states) if (state != meta && states.hasOwnProperty(state)) {\n var list = states_[state] = [], orig = states[state];\n for (var i = 0; i < orig.length; i++) {\n var data = orig[i];\n list.push(new Rule(data, states));\n if (data.indent || data.dedent) hasIndentation = true;\n }\n }\n var mode = {\n startState: function() {\n return {state: \"start\", pending: null,\n local: null, localState: null,\n indent: hasIndentation ? [] : null};\n },\n copyState: function(state) {\n var s = {state: state.state, pending: state.pending,\n local: state.local, localState: null,\n indent: state.indent && state.indent.slice(0)};\n if (state.localState)\n s.localState = CodeMirror.copyState(state.local.mode, state.localState);\n if (state.stack)\n s.stack = state.stack.slice(0);\n for (var pers = state.persistentStates; pers; pers = pers.next)\n s.persistentStates = {mode: pers.mode,\n spec: pers.spec,\n state: pers.state == state.localState ? s.localState : CodeMirror.copyState(pers.mode, pers.state),\n next: s.persistentStates};\n return s;\n },\n token: tokenFunction(states_, config),\n innerMode: function(state) { return state.local && {mode: state.local.mode, state: state.localState}; },\n indent: indentFunction(states_, meta)\n };\n if (meta) for (var prop in meta) if (meta.hasOwnProperty(prop))\n mode[prop] = meta[prop];\n return mode;\n };\n\n function ensureState(states, name) {\n if (!states.hasOwnProperty(name))\n throw new Error(\"Undefined state \" + name + \" in simple mode\");\n }\n\n function toRegex(val, caret) {\n if (!val) return /(?:)/;\n var flags = \"\";\n if (val instanceof RegExp) {\n if (val.ignoreCase) flags = \"i\";\n val = val.source;\n } else {\n val = String(val);\n }\n return new RegExp((caret === false ? \"\" : \"^\") + \"(?:\" + val + \")\", flags);\n }\n\n function asToken(val) {\n if (!val) return null;\n if (val.apply) return val\n if (typeof val == \"string\") return val.replace(/\\./g, \" \");\n var result = [];\n for (var i = 0; i < val.length; i++)\n result.push(val[i] && val[i].replace(/\\./g, \" \"));\n return result;\n }\n\n function Rule(data, states) {\n if (data.next || data.push) ensureState(states, data.next || data.push);\n this.regex = toRegex(data.regex);\n this.token = asToken(data.token);\n this.data = data;\n }\n\n function tokenFunction(states, config) {\n return function(stream, state) {\n if (state.pending) {\n var pend = state.pending.shift();\n if (state.pending.length == 0) state.pending = null;\n stream.pos += pend.text.length;\n return pend.token;\n }\n\n if (state.local) {\n if (state.local.end && stream.match(state.local.end)) {\n var tok = state.local.endToken || null;\n state.local = state.localState = null;\n return tok;\n } else {\n var tok = state.local.mode.token(stream, state.localState), m;\n if (state.local.endScan && (m = state.local.endScan.exec(stream.current())))\n stream.pos = stream.start + m.index;\n return tok;\n }\n }\n\n var curState = states[state.state];\n for (var i = 0; i < curState.length; i++) {\n var rule = curState[i];\n var matches = (!rule.data.sol || stream.sol()) && stream.match(rule.regex);\n if (matches) {\n if (rule.data.next) {\n state.state = rule.data.next;\n } else if (rule.data.push) {\n (state.stack || (state.stack = [])).push(state.state);\n state.state = rule.data.push;\n } else if (rule.data.pop && state.stack && state.stack.length) {\n state.state = state.stack.pop();\n }\n\n if (rule.data.mode)\n enterLocalMode(config, state, rule.data.mode, rule.token);\n if (rule.data.indent)\n state.indent.push(stream.indentation() + config.indentUnit);\n if (rule.data.dedent)\n state.indent.pop();\n var token = rule.token\n if (token && token.apply) token = token(matches)\n if (matches.length > 2 && rule.token && typeof rule.token != \"string\") {\n state.pending = [];\n for (var j = 2; j < matches.length; j++)\n if (matches[j])\n state.pending.push({text: matches[j], token: rule.token[j - 1]});\n stream.backUp(matches[0].length - (matches[1] ? matches[1].length : 0));\n return token[0];\n } else if (token && token.join) {\n return token[0];\n } else {\n return token;\n }\n }\n }\n stream.next();\n return null;\n };\n }\n\n function cmp(a, b) {\n if (a === b) return true;\n if (!a || typeof a != \"object\" || !b || typeof b != \"object\") return false;\n var props = 0;\n for (var prop in a) if (a.hasOwnProperty(prop)) {\n if (!b.hasOwnProperty(prop) || !cmp(a[prop], b[prop])) return false;\n props++;\n }\n for (var prop in b) if (b.hasOwnProperty(prop)) props--;\n return props == 0;\n }\n\n function enterLocalMode(config, state, spec, token) {\n var pers;\n if (spec.persistent) for (var p = state.persistentStates; p && !pers; p = p.next)\n if (spec.spec ? cmp(spec.spec, p.spec) : spec.mode == p.mode) pers = p;\n var mode = pers ? pers.mode : spec.mode || CodeMirror.getMode(config, spec.spec);\n var lState = pers ? pers.state : CodeMirror.startState(mode);\n if (spec.persistent && !pers)\n state.persistentStates = {mode: mode, spec: spec.spec, state: lState, next: state.persistentStates};\n\n state.localState = lState;\n state.local = {mode: mode,\n end: spec.end && toRegex(spec.end),\n endScan: spec.end && spec.forceEnd !== false && toRegex(spec.end, false),\n endToken: token && token.join ? token[token.length - 1] : token};\n }\n\n function indexOf(val, arr) {\n for (var i = 0; i < arr.length; i++) if (arr[i] === val) return true;\n }\n\n function indentFunction(states, meta) {\n return function(state, textAfter, line) {\n if (state.local && state.local.mode.indent)\n return state.local.mode.indent(state.localState, textAfter, line);\n if (state.indent == null || state.local || meta.dontIndentStates && indexOf(state.state, meta.dontIndentStates) > -1)\n return CodeMirror.Pass;\n\n var pos = state.indent.length - 1, rules = states[state.state];\n scan: for (;;) {\n for (var i = 0; i < rules.length; i++) {\n var rule = rules[i];\n if (rule.data.dedent && rule.data.dedentIfLineStart !== false) {\n var m = rule.regex.exec(textAfter);\n if (m && m[0]) {\n pos--;\n if (rule.next || rule.push) rules = states[rule.next || rule.push];\n textAfter = textAfter.slice(m[0].length);\n continue scan;\n }\n }\n }\n break;\n }\n return pos < 0 ? 0 : state.indent[pos];\n };\n }\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9hZGRvbi9tb2RlL3NpbXBsZS5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb2RlbWlycm9yL2FkZG9uL21vZGUvc2ltcGxlLmpzPzc2YWUiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29kZU1pcnJvciwgY29weXJpZ2h0IChjKSBieSBNYXJpam4gSGF2ZXJiZWtlIGFuZCBvdGhlcnNcbi8vIERpc3RyaWJ1dGVkIHVuZGVyIGFuIE1JVCBsaWNlbnNlOiBodHRwczovL2NvZGVtaXJyb3IubmV0L0xJQ0VOU0VcblxuKGZ1bmN0aW9uKG1vZCkge1xuICBpZiAodHlwZW9mIGV4cG9ydHMgPT0gXCJvYmplY3RcIiAmJiB0eXBlb2YgbW9kdWxlID09IFwib2JqZWN0XCIpIC8vIENvbW1vbkpTXG4gICAgbW9kKHJlcXVpcmUoXCIuLi8uLi9saWIvY29kZW1pcnJvclwiKSk7XG4gIGVsc2UgaWYgKHR5cGVvZiBkZWZpbmUgPT0gXCJmdW5jdGlvblwiICYmIGRlZmluZS5hbWQpIC8vIEFNRFxuICAgIGRlZmluZShbXCIuLi8uLi9saWIvY29kZW1pcnJvclwiXSwgbW9kKTtcbiAgZWxzZSAvLyBQbGFpbiBicm93c2VyIGVudlxuICAgIG1vZChDb2RlTWlycm9yKTtcbn0pKGZ1bmN0aW9uKENvZGVNaXJyb3IpIHtcbiAgXCJ1c2Ugc3RyaWN0XCI7XG5cbiAgQ29kZU1pcnJvci5kZWZpbmVTaW1wbGVNb2RlID0gZnVuY3Rpb24obmFtZSwgc3RhdGVzKSB7XG4gICAgQ29kZU1pcnJvci5kZWZpbmVNb2RlKG5hbWUsIGZ1bmN0aW9uKGNvbmZpZykge1xuICAgICAgcmV0dXJuIENvZGVNaXJyb3Iuc2ltcGxlTW9kZShjb25maWcsIHN0YXRlcyk7XG4gICAgfSk7XG4gIH07XG5cbiAgQ29kZU1pcnJvci5zaW1wbGVNb2RlID0gZnVuY3Rpb24oY29uZmlnLCBzdGF0ZXMpIHtcbiAgICBlbnN1cmVTdGF0ZShzdGF0ZXMsIFwic3RhcnRcIik7XG4gICAgdmFyIHN0YXRlc18gPSB7fSwgbWV0YSA9IHN0YXRlcy5tZXRhIHx8IHt9LCBoYXNJbmRlbnRhdGlvbiA9IGZhbHNlO1xuICAgIGZvciAodmFyIHN0YXRlIGluIHN0YXRlcykgaWYgKHN0YXRlICE9IG1ldGEgJiYgc3RhdGVzLmhhc093blByb3BlcnR5KHN0YXRlKSkge1xuICAgICAgdmFyIGxpc3QgPSBzdGF0ZXNfW3N0YXRlXSA9IFtdLCBvcmlnID0gc3RhdGVzW3N0YXRlXTtcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgb3JpZy5sZW5ndGg7IGkrKykge1xuICAgICAgICB2YXIgZGF0YSA9IG9yaWdbaV07XG4gICAgICAgIGxpc3QucHVzaChuZXcgUnVsZShkYXRhLCBzdGF0ZXMpKTtcbiAgICAgICAgaWYgKGRhdGEuaW5kZW50IHx8IGRhdGEuZGVkZW50KSBoYXNJbmRlbnRhdGlvbiA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICAgIHZhciBtb2RlID0ge1xuICAgICAgc3RhcnRTdGF0ZTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiB7c3RhdGU6IFwic3RhcnRcIiwgcGVuZGluZzogbnVsbCxcbiAgICAgICAgICAgICAgICBsb2NhbDogbnVsbCwgbG9jYWxTdGF0ZTogbnVsbCxcbiAgICAgICAgICAgICAgICBpbmRlbnQ6IGhhc0luZGVudGF0aW9uID8gW10gOiBudWxsfTtcbiAgICAgIH0sXG4gICAgICBjb3B5U3RhdGU6IGZ1bmN0aW9uKHN0YXRlKSB7XG4gICAgICAgIHZhciBzID0ge3N0YXRlOiBzdGF0ZS5zdGF0ZSwgcGVuZGluZzogc3RhdGUucGVuZGluZyxcbiAgICAgICAgICAgICAgICAgbG9jYWw6IHN0YXRlLmxvY2FsLCBsb2NhbFN0YXRlOiBudWxsLFxuICAgICAgICAgICAgICAgICBpbmRlbnQ6IHN0YXRlLmluZGVudCAmJiBzdGF0ZS5pbmRlbnQuc2xpY2UoMCl9O1xuICAgICAgICBpZiAoc3RhdGUubG9jYWxTdGF0ZSlcbiAgICAgICAgICBzLmxvY2FsU3RhdGUgPSBDb2RlTWlycm9yLmNvcHlTdGF0ZShzdGF0ZS5sb2NhbC5tb2RlLCBzdGF0ZS5sb2NhbFN0YXRlKTtcbiAgICAgICAgaWYgKHN0YXRlLnN0YWNrKVxuICAgICAgICAgIHMuc3RhY2sgPSBzdGF0ZS5zdGFjay5zbGljZSgwKTtcbiAgICAgICAgZm9yICh2YXIgcGVycyA9IHN0YXRlLnBlcnNpc3RlbnRTdGF0ZXM7IHBlcnM7IHBlcnMgPSBwZXJzLm5leHQpXG4gICAgICAgICAgcy5wZXJzaXN0ZW50U3RhdGVzID0ge21vZGU6IHBlcnMubW9kZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3BlYzogcGVycy5zcGVjLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZTogcGVycy5zdGF0ZSA9PSBzdGF0ZS5sb2NhbFN0YXRlID8gcy5sb2NhbFN0YXRlIDogQ29kZU1pcnJvci5jb3B5U3RhdGUocGVycy5tb2RlLCBwZXJzLnN0YXRlKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV4dDogcy5wZXJzaXN0ZW50U3RhdGVzfTtcbiAgICAgICAgcmV0dXJuIHM7XG4gICAgICB9LFxuICAgICAgdG9rZW46IHRva2VuRnVuY3Rpb24oc3RhdGVzXywgY29uZmlnKSxcbiAgICAgIGlubmVyTW9kZTogZnVuY3Rpb24oc3RhdGUpIHsgcmV0dXJuIHN0YXRlLmxvY2FsICYmIHttb2RlOiBzdGF0ZS5sb2NhbC5tb2RlLCBzdGF0ZTogc3RhdGUubG9jYWxTdGF0ZX07IH0sXG4gICAgICBpbmRlbnQ6IGluZGVudEZ1bmN0aW9uKHN0YXRlc18sIG1ldGEpXG4gICAgfTtcbiAgICBpZiAobWV0YSkgZm9yICh2YXIgcHJvcCBpbiBtZXRhKSBpZiAobWV0YS5oYXNPd25Qcm9wZXJ0eShwcm9wKSlcbiAgICAgIG1vZGVbcHJvcF0gPSBtZXRhW3Byb3BdO1xuICAgIHJldHVybiBtb2RlO1xuICB9O1xuXG4gIGZ1bmN0aW9uIGVuc3VyZVN0YXRlKHN0YXRlcywgbmFtZSkge1xuICAgIGlmICghc3RhdGVzLmhhc093blByb3BlcnR5KG5hbWUpKVxuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiVW5kZWZpbmVkIHN0YXRlIFwiICsgbmFtZSArIFwiIGluIHNpbXBsZSBtb2RlXCIpO1xuICB9XG5cbiAgZnVuY3Rpb24gdG9SZWdleCh2YWwsIGNhcmV0KSB7XG4gICAgaWYgKCF2YWwpIHJldHVybiAvKD86KS87XG4gICAgdmFyIGZsYWdzID0gXCJcIjtcbiAgICBpZiAodmFsIGluc3RhbmNlb2YgUmVnRXhwKSB7XG4gICAgICBpZiAodmFsLmlnbm9yZUNhc2UpIGZsYWdzID0gXCJpXCI7XG4gICAgICB2YWwgPSB2YWwuc291cmNlO1xuICAgIH0gZWxzZSB7XG4gICAgICB2YWwgPSBTdHJpbmcodmFsKTtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyBSZWdFeHAoKGNhcmV0ID09PSBmYWxzZSA/IFwiXCIgOiBcIl5cIikgKyBcIig/OlwiICsgdmFsICsgXCIpXCIsIGZsYWdzKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGFzVG9rZW4odmFsKSB7XG4gICAgaWYgKCF2YWwpIHJldHVybiBudWxsO1xuICAgIGlmICh2YWwuYXBwbHkpIHJldHVybiB2YWxcbiAgICBpZiAodHlwZW9mIHZhbCA9PSBcInN0cmluZ1wiKSByZXR1cm4gdmFsLnJlcGxhY2UoL1xcLi9nLCBcIiBcIik7XG4gICAgdmFyIHJlc3VsdCA9IFtdO1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdmFsLmxlbmd0aDsgaSsrKVxuICAgICAgcmVzdWx0LnB1c2godmFsW2ldICYmIHZhbFtpXS5yZXBsYWNlKC9cXC4vZywgXCIgXCIpKTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgZnVuY3Rpb24gUnVsZShkYXRhLCBzdGF0ZXMpIHtcbiAgICBpZiAoZGF0YS5uZXh0IHx8IGRhdGEucHVzaCkgZW5zdXJlU3RhdGUoc3RhdGVzLCBkYXRhLm5leHQgfHwgZGF0YS5wdXNoKTtcbiAgICB0aGlzLnJlZ2V4ID0gdG9SZWdleChkYXRhLnJlZ2V4KTtcbiAgICB0aGlzLnRva2VuID0gYXNUb2tlbihkYXRhLnRva2VuKTtcbiAgICB0aGlzLmRhdGEgPSBkYXRhO1xuICB9XG5cbiAgZnVuY3Rpb24gdG9rZW5GdW5jdGlvbihzdGF0ZXMsIGNvbmZpZykge1xuICAgIHJldHVybiBmdW5jdGlvbihzdHJlYW0sIHN0YXRlKSB7XG4gICAgICBpZiAoc3RhdGUucGVuZGluZykge1xuICAgICAgICB2YXIgcGVuZCA9IHN0YXRlLnBlbmRpbmcuc2hpZnQoKTtcbiAgICAgICAgaWYgKHN0YXRlLnBlbmRpbmcubGVuZ3RoID09IDApIHN0YXRlLnBlbmRpbmcgPSBudWxsO1xuICAgICAgICBzdHJlYW0ucG9zICs9IHBlbmQudGV4dC5sZW5ndGg7XG4gICAgICAgIHJldHVybiBwZW5kLnRva2VuO1xuICAgICAgfVxuXG4gICAgICBpZiAoc3RhdGUubG9jYWwpIHtcbiAgICAgICAgaWYgKHN0YXRlLmxvY2FsLmVuZCAmJiBzdHJlYW0ubWF0Y2goc3RhdGUubG9jYWwuZW5kKSkge1xuICAgICAgICAgIHZhciB0b2sgPSBzdGF0ZS5sb2NhbC5lbmRUb2tlbiB8fCBudWxsO1xuICAgICAgICAgIHN0YXRlLmxvY2FsID0gc3RhdGUubG9jYWxTdGF0ZSA9IG51bGw7XG4gICAgICAgICAgcmV0dXJuIHRvaztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB2YXIgdG9rID0gc3RhdGUubG9jYWwubW9kZS50b2tlbihzdHJlYW0sIHN0YXRlLmxvY2FsU3RhdGUpLCBtO1xuICAgICAgICAgIGlmIChzdGF0ZS5sb2NhbC5lbmRTY2FuICYmIChtID0gc3RhdGUubG9jYWwuZW5kU2Nhbi5leGVjKHN0cmVhbS5jdXJyZW50KCkpKSlcbiAgICAgICAgICAgIHN0cmVhbS5wb3MgPSBzdHJlYW0uc3RhcnQgKyBtLmluZGV4O1xuICAgICAgICAgIHJldHVybiB0b2s7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgdmFyIGN1clN0YXRlID0gc3RhdGVzW3N0YXRlLnN0YXRlXTtcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgY3VyU3RhdGUubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgdmFyIHJ1bGUgPSBjdXJTdGF0ZVtpXTtcbiAgICAgICAgdmFyIG1hdGNoZXMgPSAoIXJ1bGUuZGF0YS5zb2wgfHwgc3RyZWFtLnNvbCgpKSAmJiBzdHJlYW0ubWF0Y2gocnVsZS5yZWdleCk7XG4gICAgICAgIGlmIChtYXRjaGVzKSB7XG4gICAgICAgICAgaWYgKHJ1bGUuZGF0YS5uZXh0KSB7XG4gICAgICAgICAgICBzdGF0ZS5zdGF0ZSA9IHJ1bGUuZGF0YS5uZXh0O1xuICAgICAgICAgIH0gZWxzZSBpZiAocnVsZS5kYXRhLnB1c2gpIHtcbiAgICAgICAgICAgIChzdGF0ZS5zdGFjayB8fCAoc3RhdGUuc3RhY2sgPSBbXSkpLnB1c2goc3RhdGUuc3RhdGUpO1xuICAgICAgICAgICAgc3RhdGUuc3RhdGUgPSBydWxlLmRhdGEucHVzaDtcbiAgICAgICAgICB9IGVsc2UgaWYgKHJ1bGUuZGF0YS5wb3AgJiYgc3RhdGUuc3RhY2sgJiYgc3RhdGUuc3RhY2subGVuZ3RoKSB7XG4gICAgICAgICAgICBzdGF0ZS5zdGF0ZSA9IHN0YXRlLnN0YWNrLnBvcCgpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChydWxlLmRhdGEubW9kZSlcbiAgICAgICAgICAgIGVudGVyTG9jYWxNb2RlKGNvbmZpZywgc3RhdGUsIHJ1bGUuZGF0YS5tb2RlLCBydWxlLnRva2VuKTtcbiAgICAgICAgICBpZiAocnVsZS5kYXRhLmluZGVudClcbiAgICAgICAgICAgIHN0YXRlLmluZGVudC5wdXNoKHN0cmVhbS5pbmRlbnRhdGlvbigpICsgY29uZmlnLmluZGVudFVuaXQpO1xuICAgICAgICAgIGlmIChydWxlLmRhdGEuZGVkZW50KVxuICAgICAgICAgICAgc3RhdGUuaW5kZW50LnBvcCgpO1xuICAgICAgICAgIHZhciB0b2tlbiA9IHJ1bGUudG9rZW5cbiAgICAgICAgICBpZiAodG9rZW4gJiYgdG9rZW4uYXBwbHkpIHRva2VuID0gdG9rZW4obWF0Y2hlcylcbiAgICAgICAgICBpZiAobWF0Y2hlcy5sZW5ndGggPiAyICYmIHJ1bGUudG9rZW4gJiYgdHlwZW9mIHJ1bGUudG9rZW4gIT0gXCJzdHJpbmdcIikge1xuICAgICAgICAgICAgc3RhdGUucGVuZGluZyA9IFtdO1xuICAgICAgICAgICAgZm9yICh2YXIgaiA9IDI7IGogPCBtYXRjaGVzLmxlbmd0aDsgaisrKVxuICAgICAgICAgICAgICBpZiAobWF0Y2hlc1tqXSlcbiAgICAgICAgICAgICAgICBzdGF0ZS5wZW5kaW5nLnB1c2goe3RleHQ6IG1hdGNoZXNbal0sIHRva2VuOiBydWxlLnRva2VuW2ogLSAxXX0pO1xuICAgICAgICAgICAgc3RyZWFtLmJhY2tVcChtYXRjaGVzWzBdLmxlbmd0aCAtIChtYXRjaGVzWzFdID8gbWF0Y2hlc1sxXS5sZW5ndGggOiAwKSk7XG4gICAgICAgICAgICByZXR1cm4gdG9rZW5bMF07XG4gICAgICAgICAgfSBlbHNlIGlmICh0b2tlbiAmJiB0b2tlbi5qb2luKSB7XG4gICAgICAgICAgICByZXR1cm4gdG9rZW5bMF07XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB0b2tlbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHN0cmVhbS5uZXh0KCk7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9O1xuICB9XG5cbiAgZnVuY3Rpb24gY21wKGEsIGIpIHtcbiAgICBpZiAoYSA9PT0gYikgcmV0dXJuIHRydWU7XG4gICAgaWYgKCFhIHx8IHR5cGVvZiBhICE9IFwib2JqZWN0XCIgfHwgIWIgfHwgdHlwZW9mIGIgIT0gXCJvYmplY3RcIikgcmV0dXJuIGZhbHNlO1xuICAgIHZhciBwcm9wcyA9IDA7XG4gICAgZm9yICh2YXIgcHJvcCBpbiBhKSBpZiAoYS5oYXNPd25Qcm9wZXJ0eShwcm9wKSkge1xuICAgICAgaWYgKCFiLmhhc093blByb3BlcnR5KHByb3ApIHx8ICFjbXAoYVtwcm9wXSwgYltwcm9wXSkpIHJldHVybiBmYWxzZTtcbiAgICAgIHByb3BzKys7XG4gICAgfVxuICAgIGZvciAodmFyIHByb3AgaW4gYikgaWYgKGIuaGFzT3duUHJvcGVydHkocHJvcCkpIHByb3BzLS07XG4gICAgcmV0dXJuIHByb3BzID09IDA7XG4gIH1cblxuICBmdW5jdGlvbiBlbnRlckxvY2FsTW9kZShjb25maWcsIHN0YXRlLCBzcGVjLCB0b2tlbikge1xuICAgIHZhciBwZXJzO1xuICAgIGlmIChzcGVjLnBlcnNpc3RlbnQpIGZvciAodmFyIHAgPSBzdGF0ZS5wZXJzaXN0ZW50U3RhdGVzOyBwICYmICFwZXJzOyBwID0gcC5uZXh0KVxuICAgICAgaWYgKHNwZWMuc3BlYyA/IGNtcChzcGVjLnNwZWMsIHAuc3BlYykgOiBzcGVjLm1vZGUgPT0gcC5tb2RlKSBwZXJzID0gcDtcbiAgICB2YXIgbW9kZSA9IHBlcnMgPyBwZXJzLm1vZGUgOiBzcGVjLm1vZGUgfHwgQ29kZU1pcnJvci5nZXRNb2RlKGNvbmZpZywgc3BlYy5zcGVjKTtcbiAgICB2YXIgbFN0YXRlID0gcGVycyA/IHBlcnMuc3RhdGUgOiBDb2RlTWlycm9yLnN0YXJ0U3RhdGUobW9kZSk7XG4gICAgaWYgKHNwZWMucGVyc2lzdGVudCAmJiAhcGVycylcbiAgICAgIHN0YXRlLnBlcnNpc3RlbnRTdGF0ZXMgPSB7bW9kZTogbW9kZSwgc3BlYzogc3BlYy5zcGVjLCBzdGF0ZTogbFN0YXRlLCBuZXh0OiBzdGF0ZS5wZXJzaXN0ZW50U3RhdGVzfTtcblxuICAgIHN0YXRlLmxvY2FsU3RhdGUgPSBsU3RhdGU7XG4gICAgc3RhdGUubG9jYWwgPSB7bW9kZTogbW9kZSxcbiAgICAgICAgICAgICAgICAgICBlbmQ6IHNwZWMuZW5kICYmIHRvUmVnZXgoc3BlYy5lbmQpLFxuICAgICAgICAgICAgICAgICAgIGVuZFNjYW46IHNwZWMuZW5kICYmIHNwZWMuZm9yY2VFbmQgIT09IGZhbHNlICYmIHRvUmVnZXgoc3BlYy5lbmQsIGZhbHNlKSxcbiAgICAgICAgICAgICAgICAgICBlbmRUb2tlbjogdG9rZW4gJiYgdG9rZW4uam9pbiA/IHRva2VuW3Rva2VuLmxlbmd0aCAtIDFdIDogdG9rZW59O1xuICB9XG5cbiAgZnVuY3Rpb24gaW5kZXhPZih2YWwsIGFycikge1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYXJyLmxlbmd0aDsgaSsrKSBpZiAoYXJyW2ldID09PSB2YWwpIHJldHVybiB0cnVlO1xuICB9XG5cbiAgZnVuY3Rpb24gaW5kZW50RnVuY3Rpb24oc3RhdGVzLCBtZXRhKSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uKHN0YXRlLCB0ZXh0QWZ0ZXIsIGxpbmUpIHtcbiAgICAgIGlmIChzdGF0ZS5sb2NhbCAmJiBzdGF0ZS5sb2NhbC5tb2RlLmluZGVudClcbiAgICAgICAgcmV0dXJuIHN0YXRlLmxvY2FsLm1vZGUuaW5kZW50KHN0YXRlLmxvY2FsU3RhdGUsIHRleHRBZnRlciwgbGluZSk7XG4gICAgICBpZiAoc3RhdGUuaW5kZW50ID09IG51bGwgfHwgc3RhdGUubG9jYWwgfHwgbWV0YS5kb250SW5kZW50U3RhdGVzICYmIGluZGV4T2Yoc3RhdGUuc3RhdGUsIG1ldGEuZG9udEluZGVudFN0YXRlcykgPiAtMSlcbiAgICAgICAgcmV0dXJuIENvZGVNaXJyb3IuUGFzcztcblxuICAgICAgdmFyIHBvcyA9IHN0YXRlLmluZGVudC5sZW5ndGggLSAxLCBydWxlcyA9IHN0YXRlc1tzdGF0ZS5zdGF0ZV07XG4gICAgICBzY2FuOiBmb3IgKDs7KSB7XG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcnVsZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICB2YXIgcnVsZSA9IHJ1bGVzW2ldO1xuICAgICAgICAgIGlmIChydWxlLmRhdGEuZGVkZW50ICYmIHJ1bGUuZGF0YS5kZWRlbnRJZkxpbmVTdGFydCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgIHZhciBtID0gcnVsZS5yZWdleC5leGVjKHRleHRBZnRlcik7XG4gICAgICAgICAgICBpZiAobSAmJiBtWzBdKSB7XG4gICAgICAgICAgICAgIHBvcy0tO1xuICAgICAgICAgICAgICBpZiAocnVsZS5uZXh0IHx8IHJ1bGUucHVzaCkgcnVsZXMgPSBzdGF0ZXNbcnVsZS5uZXh0IHx8IHJ1bGUucHVzaF07XG4gICAgICAgICAgICAgIHRleHRBZnRlciA9IHRleHRBZnRlci5zbGljZShtWzBdLmxlbmd0aCk7XG4gICAgICAgICAgICAgIGNvbnRpbnVlIHNjYW47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHBvcyA8IDAgPyAwIDogc3RhdGUuaW5kZW50W3Bvc107XG4gICAgfTtcbiAgfVxufSk7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/codemirror/addon/mode/simple.js\n"); /***/ }), /***/ "./node_modules/codemirror/addon/scroll/annotatescrollbar.js": /*!*******************************************************************!*\ !*** ./node_modules/codemirror/addon/scroll/annotatescrollbar.js ***! \*******************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ \"./node_modules/codemirror/lib/codemirror.js\"));\n else {}\n})(function(CodeMirror) {\n \"use strict\";\n\n CodeMirror.defineExtension(\"annotateScrollbar\", function(options) {\n if (typeof options == \"string\") options = {className: options};\n return new Annotation(this, options);\n });\n\n CodeMirror.defineOption(\"scrollButtonHeight\", 0);\n\n function Annotation(cm, options) {\n this.cm = cm;\n this.options = options;\n this.buttonHeight = options.scrollButtonHeight || cm.getOption(\"scrollButtonHeight\");\n this.annotations = [];\n this.doRedraw = this.doUpdate = null;\n this.div = cm.getWrapperElement().appendChild(document.createElement(\"div\"));\n this.div.style.cssText = \"position: absolute; right: 0; top: 0; z-index: 7; pointer-events: none\";\n this.computeScale();\n\n function scheduleRedraw(delay) {\n clearTimeout(self.doRedraw);\n self.doRedraw = setTimeout(function() { self.redraw(); }, delay);\n }\n\n var self = this;\n cm.on(\"refresh\", this.resizeHandler = function() {\n clearTimeout(self.doUpdate);\n self.doUpdate = setTimeout(function() {\n if (self.computeScale()) scheduleRedraw(20);\n }, 100);\n });\n cm.on(\"markerAdded\", this.resizeHandler);\n cm.on(\"markerCleared\", this.resizeHandler);\n if (options.listenForChanges !== false)\n cm.on(\"change\", this.changeHandler = function() {\n scheduleRedraw(250);\n });\n }\n\n Annotation.prototype.computeScale = function() {\n var cm = this.cm;\n var hScale = (cm.getWrapperElement().clientHeight - cm.display.barHeight - this.buttonHeight * 2) /\n cm.getScrollerElement().scrollHeight\n if (hScale != this.hScale) {\n this.hScale = hScale;\n return true;\n }\n };\n\n Annotation.prototype.update = function(annotations) {\n this.annotations = annotations;\n this.redraw();\n };\n\n Annotation.prototype.redraw = function(compute) {\n if (compute !== false) this.computeScale();\n var cm = this.cm, hScale = this.hScale;\n\n var frag = document.createDocumentFragment(), anns = this.annotations;\n\n var wrapping = cm.getOption(\"lineWrapping\");\n var singleLineH = wrapping && cm.defaultTextHeight() * 1.5;\n var curLine = null, curLineObj = null;\n function getY(pos, top) {\n if (curLine != pos.line) {\n curLine = pos.line;\n curLineObj = cm.getLineHandle(curLine);\n }\n if ((curLineObj.widgets && curLineObj.widgets.length) ||\n (wrapping && curLineObj.height > singleLineH))\n return cm.charCoords(pos, \"local\")[top ? \"top\" : \"bottom\"];\n var topY = cm.heightAtLine(curLineObj, \"local\");\n return topY + (top ? 0 : curLineObj.height);\n }\n\n var lastLine = cm.lastLine()\n if (cm.display.barWidth) for (var i = 0, nextTop; i < anns.length; i++) {\n var ann = anns[i];\n if (ann.to.line > lastLine) continue;\n var top = nextTop || getY(ann.from, true) * hScale;\n var bottom = getY(ann.to, false) * hScale;\n while (i < anns.length - 1) {\n if (anns[i + 1].to.line > lastLine) break;\n nextTop = getY(anns[i + 1].from, true) * hScale;\n if (nextTop > bottom + .9) break;\n ann = anns[++i];\n bottom = getY(ann.to, false) * hScale;\n }\n if (bottom == top) continue;\n var height = Math.max(bottom - top, 3);\n\n var elt = frag.appendChild(document.createElement(\"div\"));\n elt.style.cssText = \"position: absolute; right: 0px; width: \" + Math.max(cm.display.barWidth - 1, 2) + \"px; top: \"\n + (top + this.buttonHeight) + \"px; height: \" + height + \"px\";\n elt.className = this.options.className;\n if (ann.id) {\n elt.setAttribute(\"annotation-id\", ann.id);\n }\n }\n this.div.textContent = \"\";\n this.div.appendChild(frag);\n };\n\n Annotation.prototype.clear = function() {\n this.cm.off(\"refresh\", this.resizeHandler);\n this.cm.off(\"markerAdded\", this.resizeHandler);\n this.cm.off(\"markerCleared\", this.resizeHandler);\n if (this.changeHandler) this.cm.off(\"change\", this.changeHandler);\n this.div.parentNode.removeChild(this.div);\n };\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9hZGRvbi9zY3JvbGwvYW5ub3RhdGVzY3JvbGxiYXIuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9hZGRvbi9zY3JvbGwvYW5ub3RhdGVzY3JvbGxiYXIuanM/OWM3YiJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb2RlTWlycm9yLCBjb3B5cmlnaHQgKGMpIGJ5IE1hcmlqbiBIYXZlcmJla2UgYW5kIG90aGVyc1xuLy8gRGlzdHJpYnV0ZWQgdW5kZXIgYW4gTUlUIGxpY2Vuc2U6IGh0dHBzOi8vY29kZW1pcnJvci5uZXQvTElDRU5TRVxuXG4oZnVuY3Rpb24obW9kKSB7XG4gIGlmICh0eXBlb2YgZXhwb3J0cyA9PSBcIm9iamVjdFwiICYmIHR5cGVvZiBtb2R1bGUgPT0gXCJvYmplY3RcIikgLy8gQ29tbW9uSlNcbiAgICBtb2QocmVxdWlyZShcIi4uLy4uL2xpYi9jb2RlbWlycm9yXCIpKTtcbiAgZWxzZSBpZiAodHlwZW9mIGRlZmluZSA9PSBcImZ1bmN0aW9uXCIgJiYgZGVmaW5lLmFtZCkgLy8gQU1EXG4gICAgZGVmaW5lKFtcIi4uLy4uL2xpYi9jb2RlbWlycm9yXCJdLCBtb2QpO1xuICBlbHNlIC8vIFBsYWluIGJyb3dzZXIgZW52XG4gICAgbW9kKENvZGVNaXJyb3IpO1xufSkoZnVuY3Rpb24oQ29kZU1pcnJvcikge1xuICBcInVzZSBzdHJpY3RcIjtcblxuICBDb2RlTWlycm9yLmRlZmluZUV4dGVuc2lvbihcImFubm90YXRlU2Nyb2xsYmFyXCIsIGZ1bmN0aW9uKG9wdGlvbnMpIHtcbiAgICBpZiAodHlwZW9mIG9wdGlvbnMgPT0gXCJzdHJpbmdcIikgb3B0aW9ucyA9IHtjbGFzc05hbWU6IG9wdGlvbnN9O1xuICAgIHJldHVybiBuZXcgQW5ub3RhdGlvbih0aGlzLCBvcHRpb25zKTtcbiAgfSk7XG5cbiAgQ29kZU1pcnJvci5kZWZpbmVPcHRpb24oXCJzY3JvbGxCdXR0b25IZWlnaHRcIiwgMCk7XG5cbiAgZnVuY3Rpb24gQW5ub3RhdGlvbihjbSwgb3B0aW9ucykge1xuICAgIHRoaXMuY20gPSBjbTtcbiAgICB0aGlzLm9wdGlvbnMgPSBvcHRpb25zO1xuICAgIHRoaXMuYnV0dG9uSGVpZ2h0ID0gb3B0aW9ucy5zY3JvbGxCdXR0b25IZWlnaHQgfHwgY20uZ2V0T3B0aW9uKFwic2Nyb2xsQnV0dG9uSGVpZ2h0XCIpO1xuICAgIHRoaXMuYW5ub3RhdGlvbnMgPSBbXTtcbiAgICB0aGlzLmRvUmVkcmF3ID0gdGhpcy5kb1VwZGF0ZSA9IG51bGw7XG4gICAgdGhpcy5kaXYgPSBjbS5nZXRXcmFwcGVyRWxlbWVudCgpLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIikpO1xuICAgIHRoaXMuZGl2LnN0eWxlLmNzc1RleHQgPSBcInBvc2l0aW9uOiBhYnNvbHV0ZTsgcmlnaHQ6IDA7IHRvcDogMDsgei1pbmRleDogNzsgcG9pbnRlci1ldmVudHM6IG5vbmVcIjtcbiAgICB0aGlzLmNvbXB1dGVTY2FsZSgpO1xuXG4gICAgZnVuY3Rpb24gc2NoZWR1bGVSZWRyYXcoZGVsYXkpIHtcbiAgICAgIGNsZWFyVGltZW91dChzZWxmLmRvUmVkcmF3KTtcbiAgICAgIHNlbGYuZG9SZWRyYXcgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeyBzZWxmLnJlZHJhdygpOyB9LCBkZWxheSk7XG4gICAgfVxuXG4gICAgdmFyIHNlbGYgPSB0aGlzO1xuICAgIGNtLm9uKFwicmVmcmVzaFwiLCB0aGlzLnJlc2l6ZUhhbmRsZXIgPSBmdW5jdGlvbigpIHtcbiAgICAgIGNsZWFyVGltZW91dChzZWxmLmRvVXBkYXRlKTtcbiAgICAgIHNlbGYuZG9VcGRhdGUgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkge1xuICAgICAgICBpZiAoc2VsZi5jb21wdXRlU2NhbGUoKSkgc2NoZWR1bGVSZWRyYXcoMjApO1xuICAgICAgfSwgMTAwKTtcbiAgICB9KTtcbiAgICBjbS5vbihcIm1hcmtlckFkZGVkXCIsIHRoaXMucmVzaXplSGFuZGxlcik7XG4gICAgY20ub24oXCJtYXJrZXJDbGVhcmVkXCIsIHRoaXMucmVzaXplSGFuZGxlcik7XG4gICAgaWYgKG9wdGlvbnMubGlzdGVuRm9yQ2hhbmdlcyAhPT0gZmFsc2UpXG4gICAgICBjbS5vbihcImNoYW5nZVwiLCB0aGlzLmNoYW5nZUhhbmRsZXIgPSBmdW5jdGlvbigpIHtcbiAgICAgICAgc2NoZWR1bGVSZWRyYXcoMjUwKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgQW5ub3RhdGlvbi5wcm90b3R5cGUuY29tcHV0ZVNjYWxlID0gZnVuY3Rpb24oKSB7XG4gICAgdmFyIGNtID0gdGhpcy5jbTtcbiAgICB2YXIgaFNjYWxlID0gKGNtLmdldFdyYXBwZXJFbGVtZW50KCkuY2xpZW50SGVpZ2h0IC0gY20uZGlzcGxheS5iYXJIZWlnaHQgLSB0aGlzLmJ1dHRvbkhlaWdodCAqIDIpIC9cbiAgICAgIGNtLmdldFNjcm9sbGVyRWxlbWVudCgpLnNjcm9sbEhlaWdodFxuICAgIGlmIChoU2NhbGUgIT0gdGhpcy5oU2NhbGUpIHtcbiAgICAgIHRoaXMuaFNjYWxlID0gaFNjYWxlO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9O1xuXG4gIEFubm90YXRpb24ucHJvdG90eXBlLnVwZGF0ZSA9IGZ1bmN0aW9uKGFubm90YXRpb25zKSB7XG4gICAgdGhpcy5hbm5vdGF0aW9ucyA9IGFubm90YXRpb25zO1xuICAgIHRoaXMucmVkcmF3KCk7XG4gIH07XG5cbiAgQW5ub3RhdGlvbi5wcm90b3R5cGUucmVkcmF3ID0gZnVuY3Rpb24oY29tcHV0ZSkge1xuICAgIGlmIChjb21wdXRlICE9PSBmYWxzZSkgdGhpcy5jb21wdXRlU2NhbGUoKTtcbiAgICB2YXIgY20gPSB0aGlzLmNtLCBoU2NhbGUgPSB0aGlzLmhTY2FsZTtcblxuICAgIHZhciBmcmFnID0gZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpLCBhbm5zID0gdGhpcy5hbm5vdGF0aW9ucztcblxuICAgIHZhciB3cmFwcGluZyA9IGNtLmdldE9wdGlvbihcImxpbmVXcmFwcGluZ1wiKTtcbiAgICB2YXIgc2luZ2xlTGluZUggPSB3cmFwcGluZyAmJiBjbS5kZWZhdWx0VGV4dEhlaWdodCgpICogMS41O1xuICAgIHZhciBjdXJMaW5lID0gbnVsbCwgY3VyTGluZU9iaiA9IG51bGw7XG4gICAgZnVuY3Rpb24gZ2V0WShwb3MsIHRvcCkge1xuICAgICAgaWYgKGN1ckxpbmUgIT0gcG9zLmxpbmUpIHtcbiAgICAgICAgY3VyTGluZSA9IHBvcy5saW5lO1xuICAgICAgICBjdXJMaW5lT2JqID0gY20uZ2V0TGluZUhhbmRsZShjdXJMaW5lKTtcbiAgICAgIH1cbiAgICAgIGlmICgoY3VyTGluZU9iai53aWRnZXRzICYmIGN1ckxpbmVPYmoud2lkZ2V0cy5sZW5ndGgpIHx8XG4gICAgICAgICAgKHdyYXBwaW5nICYmIGN1ckxpbmVPYmouaGVpZ2h0ID4gc2luZ2xlTGluZUgpKVxuICAgICAgICByZXR1cm4gY20uY2hhckNvb3Jkcyhwb3MsIFwibG9jYWxcIilbdG9wID8gXCJ0b3BcIiA6IFwiYm90dG9tXCJdO1xuICAgICAgdmFyIHRvcFkgPSBjbS5oZWlnaHRBdExpbmUoY3VyTGluZU9iaiwgXCJsb2NhbFwiKTtcbiAgICAgIHJldHVybiB0b3BZICsgKHRvcCA/IDAgOiBjdXJMaW5lT2JqLmhlaWdodCk7XG4gICAgfVxuXG4gICAgdmFyIGxhc3RMaW5lID0gY20ubGFzdExpbmUoKVxuICAgIGlmIChjbS5kaXNwbGF5LmJhcldpZHRoKSBmb3IgKHZhciBpID0gMCwgbmV4dFRvcDsgaSA8IGFubnMubGVuZ3RoOyBpKyspIHtcbiAgICAgIHZhciBhbm4gPSBhbm5zW2ldO1xuICAgICAgaWYgKGFubi50by5saW5lID4gbGFzdExpbmUpIGNvbnRpbnVlO1xuICAgICAgdmFyIHRvcCA9IG5leHRUb3AgfHwgZ2V0WShhbm4uZnJvbSwgdHJ1ZSkgKiBoU2NhbGU7XG4gICAgICB2YXIgYm90dG9tID0gZ2V0WShhbm4udG8sIGZhbHNlKSAqIGhTY2FsZTtcbiAgICAgIHdoaWxlIChpIDwgYW5ucy5sZW5ndGggLSAxKSB7XG4gICAgICAgIGlmIChhbm5zW2kgKyAxXS50by5saW5lID4gbGFzdExpbmUpIGJyZWFrO1xuICAgICAgICBuZXh0VG9wID0gZ2V0WShhbm5zW2kgKyAxXS5mcm9tLCB0cnVlKSAqIGhTY2FsZTtcbiAgICAgICAgaWYgKG5leHRUb3AgPiBib3R0b20gKyAuOSkgYnJlYWs7XG4gICAgICAgIGFubiA9IGFubnNbKytpXTtcbiAgICAgICAgYm90dG9tID0gZ2V0WShhbm4udG8sIGZhbHNlKSAqIGhTY2FsZTtcbiAgICAgIH1cbiAgICAgIGlmIChib3R0b20gPT0gdG9wKSBjb250aW51ZTtcbiAgICAgIHZhciBoZWlnaHQgPSBNYXRoLm1heChib3R0b20gLSB0b3AsIDMpO1xuXG4gICAgICB2YXIgZWx0ID0gZnJhZy5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpKTtcbiAgICAgIGVsdC5zdHlsZS5jc3NUZXh0ID0gXCJwb3NpdGlvbjogYWJzb2x1dGU7IHJpZ2h0OiAwcHg7IHdpZHRoOiBcIiArIE1hdGgubWF4KGNtLmRpc3BsYXkuYmFyV2lkdGggLSAxLCAyKSArIFwicHg7IHRvcDogXCJcbiAgICAgICAgKyAodG9wICsgdGhpcy5idXR0b25IZWlnaHQpICsgXCJweDsgaGVpZ2h0OiBcIiArIGhlaWdodCArIFwicHhcIjtcbiAgICAgIGVsdC5jbGFzc05hbWUgPSB0aGlzLm9wdGlvbnMuY2xhc3NOYW1lO1xuICAgICAgaWYgKGFubi5pZCkge1xuICAgICAgICBlbHQuc2V0QXR0cmlidXRlKFwiYW5ub3RhdGlvbi1pZFwiLCBhbm4uaWQpO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLmRpdi50ZXh0Q29udGVudCA9IFwiXCI7XG4gICAgdGhpcy5kaXYuYXBwZW5kQ2hpbGQoZnJhZyk7XG4gIH07XG5cbiAgQW5ub3RhdGlvbi5wcm90b3R5cGUuY2xlYXIgPSBmdW5jdGlvbigpIHtcbiAgICB0aGlzLmNtLm9mZihcInJlZnJlc2hcIiwgdGhpcy5yZXNpemVIYW5kbGVyKTtcbiAgICB0aGlzLmNtLm9mZihcIm1hcmtlckFkZGVkXCIsIHRoaXMucmVzaXplSGFuZGxlcik7XG4gICAgdGhpcy5jbS5vZmYoXCJtYXJrZXJDbGVhcmVkXCIsIHRoaXMucmVzaXplSGFuZGxlcik7XG4gICAgaWYgKHRoaXMuY2hhbmdlSGFuZGxlcikgdGhpcy5jbS5vZmYoXCJjaGFuZ2VcIiwgdGhpcy5jaGFuZ2VIYW5kbGVyKTtcbiAgICB0aGlzLmRpdi5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHRoaXMuZGl2KTtcbiAgfTtcbn0pO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/codemirror/addon/scroll/annotatescrollbar.js\n"); /***/ }), /***/ "./node_modules/codemirror/addon/scroll/scrollpastend.js": /*!***************************************************************!*\ !*** ./node_modules/codemirror/addon/scroll/scrollpastend.js ***! \***************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ \"./node_modules/codemirror/lib/codemirror.js\"));\n else {}\n})(function(CodeMirror) {\n \"use strict\";\n\n CodeMirror.defineOption(\"scrollPastEnd\", false, function(cm, val, old) {\n if (old && old != CodeMirror.Init) {\n cm.off(\"change\", onChange);\n cm.off(\"refresh\", updateBottomMargin);\n cm.display.lineSpace.parentNode.style.paddingBottom = \"\";\n cm.state.scrollPastEndPadding = null;\n }\n if (val) {\n cm.on(\"change\", onChange);\n cm.on(\"refresh\", updateBottomMargin);\n updateBottomMargin(cm);\n }\n });\n\n function onChange(cm, change) {\n if (CodeMirror.changeEnd(change).line == cm.lastLine())\n updateBottomMargin(cm);\n }\n\n function updateBottomMargin(cm) {\n var padding = \"\";\n if (cm.lineCount() > 1) {\n var totalH = cm.display.scroller.clientHeight - 30,\n lastLineH = cm.getLineHandle(cm.lastLine()).height;\n padding = (totalH - lastLineH) + \"px\";\n }\n if (cm.state.scrollPastEndPadding != padding) {\n cm.state.scrollPastEndPadding = padding;\n cm.display.lineSpace.parentNode.style.paddingBottom = padding;\n cm.off(\"refresh\", updateBottomMargin);\n cm.setSize();\n cm.on(\"refresh\", updateBottomMargin);\n }\n }\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9hZGRvbi9zY3JvbGwvc2Nyb2xscGFzdGVuZC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb2RlbWlycm9yL2FkZG9uL3Njcm9sbC9zY3JvbGxwYXN0ZW5kLmpzP2QyZDUiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29kZU1pcnJvciwgY29weXJpZ2h0IChjKSBieSBNYXJpam4gSGF2ZXJiZWtlIGFuZCBvdGhlcnNcbi8vIERpc3RyaWJ1dGVkIHVuZGVyIGFuIE1JVCBsaWNlbnNlOiBodHRwczovL2NvZGVtaXJyb3IubmV0L0xJQ0VOU0VcblxuKGZ1bmN0aW9uKG1vZCkge1xuICBpZiAodHlwZW9mIGV4cG9ydHMgPT0gXCJvYmplY3RcIiAmJiB0eXBlb2YgbW9kdWxlID09IFwib2JqZWN0XCIpIC8vIENvbW1vbkpTXG4gICAgbW9kKHJlcXVpcmUoXCIuLi8uLi9saWIvY29kZW1pcnJvclwiKSk7XG4gIGVsc2UgaWYgKHR5cGVvZiBkZWZpbmUgPT0gXCJmdW5jdGlvblwiICYmIGRlZmluZS5hbWQpIC8vIEFNRFxuICAgIGRlZmluZShbXCIuLi8uLi9saWIvY29kZW1pcnJvclwiXSwgbW9kKTtcbiAgZWxzZSAvLyBQbGFpbiBicm93c2VyIGVudlxuICAgIG1vZChDb2RlTWlycm9yKTtcbn0pKGZ1bmN0aW9uKENvZGVNaXJyb3IpIHtcbiAgXCJ1c2Ugc3RyaWN0XCI7XG5cbiAgQ29kZU1pcnJvci5kZWZpbmVPcHRpb24oXCJzY3JvbGxQYXN0RW5kXCIsIGZhbHNlLCBmdW5jdGlvbihjbSwgdmFsLCBvbGQpIHtcbiAgICBpZiAob2xkICYmIG9sZCAhPSBDb2RlTWlycm9yLkluaXQpIHtcbiAgICAgIGNtLm9mZihcImNoYW5nZVwiLCBvbkNoYW5nZSk7XG4gICAgICBjbS5vZmYoXCJyZWZyZXNoXCIsIHVwZGF0ZUJvdHRvbU1hcmdpbik7XG4gICAgICBjbS5kaXNwbGF5LmxpbmVTcGFjZS5wYXJlbnROb2RlLnN0eWxlLnBhZGRpbmdCb3R0b20gPSBcIlwiO1xuICAgICAgY20uc3RhdGUuc2Nyb2xsUGFzdEVuZFBhZGRpbmcgPSBudWxsO1xuICAgIH1cbiAgICBpZiAodmFsKSB7XG4gICAgICBjbS5vbihcImNoYW5nZVwiLCBvbkNoYW5nZSk7XG4gICAgICBjbS5vbihcInJlZnJlc2hcIiwgdXBkYXRlQm90dG9tTWFyZ2luKTtcbiAgICAgIHVwZGF0ZUJvdHRvbU1hcmdpbihjbSk7XG4gICAgfVxuICB9KTtcblxuICBmdW5jdGlvbiBvbkNoYW5nZShjbSwgY2hhbmdlKSB7XG4gICAgaWYgKENvZGVNaXJyb3IuY2hhbmdlRW5kKGNoYW5nZSkubGluZSA9PSBjbS5sYXN0TGluZSgpKVxuICAgICAgdXBkYXRlQm90dG9tTWFyZ2luKGNtKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIHVwZGF0ZUJvdHRvbU1hcmdpbihjbSkge1xuICAgIHZhciBwYWRkaW5nID0gXCJcIjtcbiAgICBpZiAoY20ubGluZUNvdW50KCkgPiAxKSB7XG4gICAgICB2YXIgdG90YWxIID0gY20uZGlzcGxheS5zY3JvbGxlci5jbGllbnRIZWlnaHQgLSAzMCxcbiAgICAgICAgICBsYXN0TGluZUggPSBjbS5nZXRMaW5lSGFuZGxlKGNtLmxhc3RMaW5lKCkpLmhlaWdodDtcbiAgICAgIHBhZGRpbmcgPSAodG90YWxIIC0gbGFzdExpbmVIKSArIFwicHhcIjtcbiAgICB9XG4gICAgaWYgKGNtLnN0YXRlLnNjcm9sbFBhc3RFbmRQYWRkaW5nICE9IHBhZGRpbmcpIHtcbiAgICAgIGNtLnN0YXRlLnNjcm9sbFBhc3RFbmRQYWRkaW5nID0gcGFkZGluZztcbiAgICAgIGNtLmRpc3BsYXkubGluZVNwYWNlLnBhcmVudE5vZGUuc3R5bGUucGFkZGluZ0JvdHRvbSA9IHBhZGRpbmc7XG4gICAgICBjbS5vZmYoXCJyZWZyZXNoXCIsIHVwZGF0ZUJvdHRvbU1hcmdpbik7XG4gICAgICBjbS5zZXRTaXplKCk7XG4gICAgICBjbS5vbihcInJlZnJlc2hcIiwgdXBkYXRlQm90dG9tTWFyZ2luKTtcbiAgICB9XG4gIH1cbn0pO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/codemirror/addon/scroll/scrollpastend.js\n"); /***/ }), /***/ "./node_modules/codemirror/addon/search/match-highlighter.js": /*!*******************************************************************!*\ !*** ./node_modules/codemirror/addon/search/match-highlighter.js ***! \*******************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n// Highlighting text that matches the selection\n//\n// Defines an option highlightSelectionMatches, which, when enabled,\n// will style strings that match the selection throughout the\n// document.\n//\n// The option can be set to true to simply enable it, or to a\n// {minChars, style, wordsOnly, showToken, delay} object to explicitly\n// configure it. minChars is the minimum amount of characters that should be\n// selected for the behavior to occur, and style is the token style to\n// apply to the matches. This will be prefixed by \"cm-\" to create an\n// actual CSS class name. If wordsOnly is enabled, the matches will be\n// highlighted only if the selected text is a word. showToken, when enabled,\n// will cause the current token to be highlighted when nothing is selected.\n// delay is used to specify how much time to wait, in milliseconds, before\n// highlighting the matches. If annotateScrollbar is enabled, the occurences\n// will be highlighted on the scrollbar via the matchesonscrollbar addon.\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ \"./node_modules/codemirror/lib/codemirror.js\"), __webpack_require__(/*! ./matchesonscrollbar */ \"./node_modules/codemirror/addon/search/matchesonscrollbar.js\"));\n else {}\n})(function(CodeMirror) {\n \"use strict\";\n\n var defaults = {\n style: \"matchhighlight\",\n minChars: 2,\n delay: 100,\n wordsOnly: false,\n annotateScrollbar: false,\n showToken: false,\n trim: true\n }\n\n function State(options) {\n this.options = {}\n for (var name in defaults)\n this.options[name] = (options && options.hasOwnProperty(name) ? options : defaults)[name]\n this.overlay = this.timeout = null;\n this.matchesonscroll = null;\n this.active = false;\n }\n\n CodeMirror.defineOption(\"highlightSelectionMatches\", false, function(cm, val, old) {\n if (old && old != CodeMirror.Init) {\n removeOverlay(cm);\n clearTimeout(cm.state.matchHighlighter.timeout);\n cm.state.matchHighlighter = null;\n cm.off(\"cursorActivity\", cursorActivity);\n cm.off(\"focus\", onFocus)\n }\n if (val) {\n var state = cm.state.matchHighlighter = new State(val);\n if (cm.hasFocus()) {\n state.active = true\n highlightMatches(cm)\n } else {\n cm.on(\"focus\", onFocus)\n }\n cm.on(\"cursorActivity\", cursorActivity);\n }\n });\n\n function cursorActivity(cm) {\n var state = cm.state.matchHighlighter;\n if (state.active || cm.hasFocus()) scheduleHighlight(cm, state)\n }\n\n function onFocus(cm) {\n var state = cm.state.matchHighlighter\n if (!state.active) {\n state.active = true\n scheduleHighlight(cm, state)\n }\n }\n\n function scheduleHighlight(cm, state) {\n clearTimeout(state.timeout);\n state.timeout = setTimeout(function() {highlightMatches(cm);}, state.options.delay);\n }\n\n function addOverlay(cm, query, hasBoundary, style) {\n var state = cm.state.matchHighlighter;\n cm.addOverlay(state.overlay = makeOverlay(query, hasBoundary, style));\n if (state.options.annotateScrollbar && cm.showMatchesOnScrollbar) {\n var searchFor = hasBoundary ? new RegExp(\"\\\\b\" + query.replace(/[\\\\\\[.+*?(){|^$]/g, \"\\\\$&\") + \"\\\\b\") : query;\n state.matchesonscroll = cm.showMatchesOnScrollbar(searchFor, false,\n {className: \"CodeMirror-selection-highlight-scrollbar\"});\n }\n }\n\n function removeOverlay(cm) {\n var state = cm.state.matchHighlighter;\n if (state.overlay) {\n cm.removeOverlay(state.overlay);\n state.overlay = null;\n if (state.matchesonscroll) {\n state.matchesonscroll.clear();\n state.matchesonscroll = null;\n }\n }\n }\n\n function highlightMatches(cm) {\n cm.operation(function() {\n var state = cm.state.matchHighlighter;\n removeOverlay(cm);\n if (!cm.somethingSelected() && state.options.showToken) {\n var re = state.options.showToken === true ? /[\\w$]/ : state.options.showToken;\n var cur = cm.getCursor(), line = cm.getLine(cur.line), start = cur.ch, end = start;\n while (start && re.test(line.charAt(start - 1))) --start;\n while (end < line.length && re.test(line.charAt(end))) ++end;\n if (start < end)\n addOverlay(cm, line.slice(start, end), re, state.options.style);\n return;\n }\n var from = cm.getCursor(\"from\"), to = cm.getCursor(\"to\");\n if (from.line != to.line) return;\n if (state.options.wordsOnly && !isWord(cm, from, to)) return;\n var selection = cm.getRange(from, to)\n if (state.options.trim) selection = selection.replace(/^\\s+|\\s+$/g, \"\")\n if (selection.length >= state.options.minChars)\n addOverlay(cm, selection, false, state.options.style);\n });\n }\n\n function isWord(cm, from, to) {\n var str = cm.getRange(from, to);\n if (str.match(/^\\w+$/) !== null) {\n if (from.ch > 0) {\n var pos = {line: from.line, ch: from.ch - 1};\n var chr = cm.getRange(pos, from);\n if (chr.match(/\\W/) === null) return false;\n }\n if (to.ch < cm.getLine(from.line).length) {\n var pos = {line: to.line, ch: to.ch + 1};\n var chr = cm.getRange(to, pos);\n if (chr.match(/\\W/) === null) return false;\n }\n return true;\n } else return false;\n }\n\n function boundariesAround(stream, re) {\n return (!stream.start || !re.test(stream.string.charAt(stream.start - 1))) &&\n (stream.pos == stream.string.length || !re.test(stream.string.charAt(stream.pos)));\n }\n\n function makeOverlay(query, hasBoundary, style) {\n return {token: function(stream) {\n if (stream.match(query) &&\n (!hasBoundary || boundariesAround(stream, hasBoundary)))\n return style;\n stream.next();\n stream.skipTo(query.charAt(0)) || stream.skipToEnd();\n }};\n }\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9hZGRvbi9zZWFyY2gvbWF0Y2gtaGlnaGxpZ2h0ZXIuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9hZGRvbi9zZWFyY2gvbWF0Y2gtaGlnaGxpZ2h0ZXIuanM/MjNkZSJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb2RlTWlycm9yLCBjb3B5cmlnaHQgKGMpIGJ5IE1hcmlqbiBIYXZlcmJla2UgYW5kIG90aGVyc1xuLy8gRGlzdHJpYnV0ZWQgdW5kZXIgYW4gTUlUIGxpY2Vuc2U6IGh0dHBzOi8vY29kZW1pcnJvci5uZXQvTElDRU5TRVxuXG4vLyBIaWdobGlnaHRpbmcgdGV4dCB0aGF0IG1hdGNoZXMgdGhlIHNlbGVjdGlvblxuLy9cbi8vIERlZmluZXMgYW4gb3B0aW9uIGhpZ2hsaWdodFNlbGVjdGlvbk1hdGNoZXMsIHdoaWNoLCB3aGVuIGVuYWJsZWQsXG4vLyB3aWxsIHN0eWxlIHN0cmluZ3MgdGhhdCBtYXRjaCB0aGUgc2VsZWN0aW9uIHRocm91Z2hvdXQgdGhlXG4vLyBkb2N1bWVudC5cbi8vXG4vLyBUaGUgb3B0aW9uIGNhbiBiZSBzZXQgdG8gdHJ1ZSB0byBzaW1wbHkgZW5hYmxlIGl0LCBvciB0byBhXG4vLyB7bWluQ2hhcnMsIHN0eWxlLCB3b3Jkc09ubHksIHNob3dUb2tlbiwgZGVsYXl9IG9iamVjdCB0byBleHBsaWNpdGx5XG4vLyBjb25maWd1cmUgaXQuIG1pbkNoYXJzIGlzIHRoZSBtaW5pbXVtIGFtb3VudCBvZiBjaGFyYWN0ZXJzIHRoYXQgc2hvdWxkIGJlXG4vLyBzZWxlY3RlZCBmb3IgdGhlIGJlaGF2aW9yIHRvIG9jY3VyLCBhbmQgc3R5bGUgaXMgdGhlIHRva2VuIHN0eWxlIHRvXG4vLyBhcHBseSB0byB0aGUgbWF0Y2hlcy4gVGhpcyB3aWxsIGJlIHByZWZpeGVkIGJ5IFwiY20tXCIgdG8gY3JlYXRlIGFuXG4vLyBhY3R1YWwgQ1NTIGNsYXNzIG5hbWUuIElmIHdvcmRzT25seSBpcyBlbmFibGVkLCB0aGUgbWF0Y2hlcyB3aWxsIGJlXG4vLyBoaWdobGlnaHRlZCBvbmx5IGlmIHRoZSBzZWxlY3RlZCB0ZXh0IGlzIGEgd29yZC4gc2hvd1Rva2VuLCB3aGVuIGVuYWJsZWQsXG4vLyB3aWxsIGNhdXNlIHRoZSBjdXJyZW50IHRva2VuIHRvIGJlIGhpZ2hsaWdodGVkIHdoZW4gbm90aGluZyBpcyBzZWxlY3RlZC5cbi8vIGRlbGF5IGlzIHVzZWQgdG8gc3BlY2lmeSBob3cgbXVjaCB0aW1lIHRvIHdhaXQsIGluIG1pbGxpc2Vjb25kcywgYmVmb3JlXG4vLyBoaWdobGlnaHRpbmcgdGhlIG1hdGNoZXMuIElmIGFubm90YXRlU2Nyb2xsYmFyIGlzIGVuYWJsZWQsIHRoZSBvY2N1cmVuY2VzXG4vLyB3aWxsIGJlIGhpZ2hsaWdodGVkIG9uIHRoZSBzY3JvbGxiYXIgdmlhIHRoZSBtYXRjaGVzb25zY3JvbGxiYXIgYWRkb24uXG5cbihmdW5jdGlvbihtb2QpIHtcbiAgaWYgKHR5cGVvZiBleHBvcnRzID09IFwib2JqZWN0XCIgJiYgdHlwZW9mIG1vZHVsZSA9PSBcIm9iamVjdFwiKSAvLyBDb21tb25KU1xuICAgIG1vZChyZXF1aXJlKFwiLi4vLi4vbGliL2NvZGVtaXJyb3JcIiksIHJlcXVpcmUoXCIuL21hdGNoZXNvbnNjcm9sbGJhclwiKSk7XG4gIGVsc2UgaWYgKHR5cGVvZiBkZWZpbmUgPT0gXCJmdW5jdGlvblwiICYmIGRlZmluZS5hbWQpIC8vIEFNRFxuICAgIGRlZmluZShbXCIuLi8uLi9saWIvY29kZW1pcnJvclwiLCBcIi4vbWF0Y2hlc29uc2Nyb2xsYmFyXCJdLCBtb2QpO1xuICBlbHNlIC8vIFBsYWluIGJyb3dzZXIgZW52XG4gICAgbW9kKENvZGVNaXJyb3IpO1xufSkoZnVuY3Rpb24oQ29kZU1pcnJvcikge1xuICBcInVzZSBzdHJpY3RcIjtcblxuICB2YXIgZGVmYXVsdHMgPSB7XG4gICAgc3R5bGU6IFwibWF0Y2hoaWdobGlnaHRcIixcbiAgICBtaW5DaGFyczogMixcbiAgICBkZWxheTogMTAwLFxuICAgIHdvcmRzT25seTogZmFsc2UsXG4gICAgYW5ub3RhdGVTY3JvbGxiYXI6IGZhbHNlLFxuICAgIHNob3dUb2tlbjogZmFsc2UsXG4gICAgdHJpbTogdHJ1ZVxuICB9XG5cbiAgZnVuY3Rpb24gU3RhdGUob3B0aW9ucykge1xuICAgIHRoaXMub3B0aW9ucyA9IHt9XG4gICAgZm9yICh2YXIgbmFtZSBpbiBkZWZhdWx0cylcbiAgICAgIHRoaXMub3B0aW9uc1tuYW1lXSA9IChvcHRpb25zICYmIG9wdGlvbnMuaGFzT3duUHJvcGVydHkobmFtZSkgPyBvcHRpb25zIDogZGVmYXVsdHMpW25hbWVdXG4gICAgdGhpcy5vdmVybGF5ID0gdGhpcy50aW1lb3V0ID0gbnVsbDtcbiAgICB0aGlzLm1hdGNoZXNvbnNjcm9sbCA9IG51bGw7XG4gICAgdGhpcy5hY3RpdmUgPSBmYWxzZTtcbiAgfVxuXG4gIENvZGVNaXJyb3IuZGVmaW5lT3B0aW9uKFwiaGlnaGxpZ2h0U2VsZWN0aW9uTWF0Y2hlc1wiLCBmYWxzZSwgZnVuY3Rpb24oY20sIHZhbCwgb2xkKSB7XG4gICAgaWYgKG9sZCAmJiBvbGQgIT0gQ29kZU1pcnJvci5Jbml0KSB7XG4gICAgICByZW1vdmVPdmVybGF5KGNtKTtcbiAgICAgIGNsZWFyVGltZW91dChjbS5zdGF0ZS5tYXRjaEhpZ2hsaWdodGVyLnRpbWVvdXQpO1xuICAgICAgY20uc3RhdGUubWF0Y2hIaWdobGlnaHRlciA9IG51bGw7XG4gICAgICBjbS5vZmYoXCJjdXJzb3JBY3Rpdml0eVwiLCBjdXJzb3JBY3Rpdml0eSk7XG4gICAgICBjbS5vZmYoXCJmb2N1c1wiLCBvbkZvY3VzKVxuICAgIH1cbiAgICBpZiAodmFsKSB7XG4gICAgICB2YXIgc3RhdGUgPSBjbS5zdGF0ZS5tYXRjaEhpZ2hsaWdodGVyID0gbmV3IFN0YXRlKHZhbCk7XG4gICAgICBpZiAoY20uaGFzRm9jdXMoKSkge1xuICAgICAgICBzdGF0ZS5hY3RpdmUgPSB0cnVlXG4gICAgICAgIGhpZ2hsaWdodE1hdGNoZXMoY20pXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjbS5vbihcImZvY3VzXCIsIG9uRm9jdXMpXG4gICAgICB9XG4gICAgICBjbS5vbihcImN1cnNvckFjdGl2aXR5XCIsIGN1cnNvckFjdGl2aXR5KTtcbiAgICB9XG4gIH0pO1xuXG4gIGZ1bmN0aW9uIGN1cnNvckFjdGl2aXR5KGNtKSB7XG4gICAgdmFyIHN0YXRlID0gY20uc3RhdGUubWF0Y2hIaWdobGlnaHRlcjtcbiAgICBpZiAoc3RhdGUuYWN0aXZlIHx8IGNtLmhhc0ZvY3VzKCkpIHNjaGVkdWxlSGlnaGxpZ2h0KGNtLCBzdGF0ZSlcbiAgfVxuXG4gIGZ1bmN0aW9uIG9uRm9jdXMoY20pIHtcbiAgICB2YXIgc3RhdGUgPSBjbS5zdGF0ZS5tYXRjaEhpZ2hsaWdodGVyXG4gICAgaWYgKCFzdGF0ZS5hY3RpdmUpIHtcbiAgICAgIHN0YXRlLmFjdGl2ZSA9IHRydWVcbiAgICAgIHNjaGVkdWxlSGlnaGxpZ2h0KGNtLCBzdGF0ZSlcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBzY2hlZHVsZUhpZ2hsaWdodChjbSwgc3RhdGUpIHtcbiAgICBjbGVhclRpbWVvdXQoc3RhdGUudGltZW91dCk7XG4gICAgc3RhdGUudGltZW91dCA9IHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7aGlnaGxpZ2h0TWF0Y2hlcyhjbSk7fSwgc3RhdGUub3B0aW9ucy5kZWxheSk7XG4gIH1cblxuICBmdW5jdGlvbiBhZGRPdmVybGF5KGNtLCBxdWVyeSwgaGFzQm91bmRhcnksIHN0eWxlKSB7XG4gICAgdmFyIHN0YXRlID0gY20uc3RhdGUubWF0Y2hIaWdobGlnaHRlcjtcbiAgICBjbS5hZGRPdmVybGF5KHN0YXRlLm92ZXJsYXkgPSBtYWtlT3ZlcmxheShxdWVyeSwgaGFzQm91bmRhcnksIHN0eWxlKSk7XG4gICAgaWYgKHN0YXRlLm9wdGlvbnMuYW5ub3RhdGVTY3JvbGxiYXIgJiYgY20uc2hvd01hdGNoZXNPblNjcm9sbGJhcikge1xuICAgICAgdmFyIHNlYXJjaEZvciA9IGhhc0JvdW5kYXJ5ID8gbmV3IFJlZ0V4cChcIlxcXFxiXCIgKyBxdWVyeS5yZXBsYWNlKC9bXFxcXFxcWy4rKj8oKXt8XiRdL2csIFwiXFxcXCQmXCIpICsgXCJcXFxcYlwiKSA6IHF1ZXJ5O1xuICAgICAgc3RhdGUubWF0Y2hlc29uc2Nyb2xsID0gY20uc2hvd01hdGNoZXNPblNjcm9sbGJhcihzZWFyY2hGb3IsIGZhbHNlLFxuICAgICAgICB7Y2xhc3NOYW1lOiBcIkNvZGVNaXJyb3Itc2VsZWN0aW9uLWhpZ2hsaWdodC1zY3JvbGxiYXJcIn0pO1xuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIHJlbW92ZU92ZXJsYXkoY20pIHtcbiAgICB2YXIgc3RhdGUgPSBjbS5zdGF0ZS5tYXRjaEhpZ2hsaWdodGVyO1xuICAgIGlmIChzdGF0ZS5vdmVybGF5KSB7XG4gICAgICBjbS5yZW1vdmVPdmVybGF5KHN0YXRlLm92ZXJsYXkpO1xuICAgICAgc3RhdGUub3ZlcmxheSA9IG51bGw7XG4gICAgICBpZiAoc3RhdGUubWF0Y2hlc29uc2Nyb2xsKSB7XG4gICAgICAgIHN0YXRlLm1hdGNoZXNvbnNjcm9sbC5jbGVhcigpO1xuICAgICAgICBzdGF0ZS5tYXRjaGVzb25zY3JvbGwgPSBudWxsO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIGhpZ2hsaWdodE1hdGNoZXMoY20pIHtcbiAgICBjbS5vcGVyYXRpb24oZnVuY3Rpb24oKSB7XG4gICAgICB2YXIgc3RhdGUgPSBjbS5zdGF0ZS5tYXRjaEhpZ2hsaWdodGVyO1xuICAgICAgcmVtb3ZlT3ZlcmxheShjbSk7XG4gICAgICBpZiAoIWNtLnNvbWV0aGluZ1NlbGVjdGVkKCkgJiYgc3RhdGUub3B0aW9ucy5zaG93VG9rZW4pIHtcbiAgICAgICAgdmFyIHJlID0gc3RhdGUub3B0aW9ucy5zaG93VG9rZW4gPT09IHRydWUgPyAvW1xcdyRdLyA6IHN0YXRlLm9wdGlvbnMuc2hvd1Rva2VuO1xuICAgICAgICB2YXIgY3VyID0gY20uZ2V0Q3Vyc29yKCksIGxpbmUgPSBjbS5nZXRMaW5lKGN1ci5saW5lKSwgc3RhcnQgPSBjdXIuY2gsIGVuZCA9IHN0YXJ0O1xuICAgICAgICB3aGlsZSAoc3RhcnQgJiYgcmUudGVzdChsaW5lLmNoYXJBdChzdGFydCAtIDEpKSkgLS1zdGFydDtcbiAgICAgICAgd2hpbGUgKGVuZCA8IGxpbmUubGVuZ3RoICYmIHJlLnRlc3QobGluZS5jaGFyQXQoZW5kKSkpICsrZW5kO1xuICAgICAgICBpZiAoc3RhcnQgPCBlbmQpXG4gICAgICAgICAgYWRkT3ZlcmxheShjbSwgbGluZS5zbGljZShzdGFydCwgZW5kKSwgcmUsIHN0YXRlLm9wdGlvbnMuc3R5bGUpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICB2YXIgZnJvbSA9IGNtLmdldEN1cnNvcihcImZyb21cIiksIHRvID0gY20uZ2V0Q3Vyc29yKFwidG9cIik7XG4gICAgICBpZiAoZnJvbS5saW5lICE9IHRvLmxpbmUpIHJldHVybjtcbiAgICAgIGlmIChzdGF0ZS5vcHRpb25zLndvcmRzT25seSAmJiAhaXNXb3JkKGNtLCBmcm9tLCB0bykpIHJldHVybjtcbiAgICAgIHZhciBzZWxlY3Rpb24gPSBjbS5nZXRSYW5nZShmcm9tLCB0bylcbiAgICAgIGlmIChzdGF0ZS5vcHRpb25zLnRyaW0pIHNlbGVjdGlvbiA9IHNlbGVjdGlvbi5yZXBsYWNlKC9eXFxzK3xcXHMrJC9nLCBcIlwiKVxuICAgICAgaWYgKHNlbGVjdGlvbi5sZW5ndGggPj0gc3RhdGUub3B0aW9ucy5taW5DaGFycylcbiAgICAgICAgYWRkT3ZlcmxheShjbSwgc2VsZWN0aW9uLCBmYWxzZSwgc3RhdGUub3B0aW9ucy5zdHlsZSk7XG4gICAgfSk7XG4gIH1cblxuICBmdW5jdGlvbiBpc1dvcmQoY20sIGZyb20sIHRvKSB7XG4gICAgdmFyIHN0ciA9IGNtLmdldFJhbmdlKGZyb20sIHRvKTtcbiAgICBpZiAoc3RyLm1hdGNoKC9eXFx3KyQvKSAhPT0gbnVsbCkge1xuICAgICAgICBpZiAoZnJvbS5jaCA+IDApIHtcbiAgICAgICAgICAgIHZhciBwb3MgPSB7bGluZTogZnJvbS5saW5lLCBjaDogZnJvbS5jaCAtIDF9O1xuICAgICAgICAgICAgdmFyIGNociA9IGNtLmdldFJhbmdlKHBvcywgZnJvbSk7XG4gICAgICAgICAgICBpZiAoY2hyLm1hdGNoKC9cXFcvKSA9PT0gbnVsbCkgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0by5jaCA8IGNtLmdldExpbmUoZnJvbS5saW5lKS5sZW5ndGgpIHtcbiAgICAgICAgICAgIHZhciBwb3MgPSB7bGluZTogdG8ubGluZSwgY2g6IHRvLmNoICsgMX07XG4gICAgICAgICAgICB2YXIgY2hyID0gY20uZ2V0UmFuZ2UodG8sIHBvcyk7XG4gICAgICAgICAgICBpZiAoY2hyLm1hdGNoKC9cXFcvKSA9PT0gbnVsbCkgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gZWxzZSByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBmdW5jdGlvbiBib3VuZGFyaWVzQXJvdW5kKHN0cmVhbSwgcmUpIHtcbiAgICByZXR1cm4gKCFzdHJlYW0uc3RhcnQgfHwgIXJlLnRlc3Qoc3RyZWFtLnN0cmluZy5jaGFyQXQoc3RyZWFtLnN0YXJ0IC0gMSkpKSAmJlxuICAgICAgKHN0cmVhbS5wb3MgPT0gc3RyZWFtLnN0cmluZy5sZW5ndGggfHwgIXJlLnRlc3Qoc3RyZWFtLnN0cmluZy5jaGFyQXQoc3RyZWFtLnBvcykpKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIG1ha2VPdmVybGF5KHF1ZXJ5LCBoYXNCb3VuZGFyeSwgc3R5bGUpIHtcbiAgICByZXR1cm4ge3Rva2VuOiBmdW5jdGlvbihzdHJlYW0pIHtcbiAgICAgIGlmIChzdHJlYW0ubWF0Y2gocXVlcnkpICYmXG4gICAgICAgICAgKCFoYXNCb3VuZGFyeSB8fCBib3VuZGFyaWVzQXJvdW5kKHN0cmVhbSwgaGFzQm91bmRhcnkpKSlcbiAgICAgICAgcmV0dXJuIHN0eWxlO1xuICAgICAgc3RyZWFtLm5leHQoKTtcbiAgICAgIHN0cmVhbS5za2lwVG8ocXVlcnkuY2hhckF0KDApKSB8fCBzdHJlYW0uc2tpcFRvRW5kKCk7XG4gICAgfX07XG4gIH1cbn0pO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/codemirror/addon/search/match-highlighter.js\n"); /***/ }), /***/ "./node_modules/codemirror/addon/search/matchesonscrollbar.js": /*!********************************************************************!*\ !*** ./node_modules/codemirror/addon/search/matchesonscrollbar.js ***! \********************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ \"./node_modules/codemirror/lib/codemirror.js\"), __webpack_require__(/*! ./searchcursor */ \"./node_modules/codemirror/addon/search/searchcursor.js\"), __webpack_require__(/*! ../scroll/annotatescrollbar */ \"./node_modules/codemirror/addon/scroll/annotatescrollbar.js\"));\n else {}\n})(function(CodeMirror) {\n \"use strict\";\n\n CodeMirror.defineExtension(\"showMatchesOnScrollbar\", function(query, caseFold, options) {\n if (typeof options == \"string\") options = {className: options};\n if (!options) options = {};\n return new SearchAnnotation(this, query, caseFold, options);\n });\n\n function SearchAnnotation(cm, query, caseFold, options) {\n this.cm = cm;\n this.options = options;\n var annotateOptions = {listenForChanges: false};\n for (var prop in options) annotateOptions[prop] = options[prop];\n if (!annotateOptions.className) annotateOptions.className = \"CodeMirror-search-match\";\n this.annotation = cm.annotateScrollbar(annotateOptions);\n this.query = query;\n this.caseFold = caseFold;\n this.gap = {from: cm.firstLine(), to: cm.lastLine() + 1};\n this.matches = [];\n this.update = null;\n\n this.findMatches();\n this.annotation.update(this.matches);\n\n var self = this;\n cm.on(\"change\", this.changeHandler = function(_cm, change) { self.onChange(change); });\n }\n\n var MAX_MATCHES = 1000;\n\n SearchAnnotation.prototype.findMatches = function() {\n if (!this.gap) return;\n for (var i = 0; i < this.matches.length; i++) {\n var match = this.matches[i];\n if (match.from.line >= this.gap.to) break;\n if (match.to.line >= this.gap.from) this.matches.splice(i--, 1);\n }\n var cursor = this.cm.getSearchCursor(this.query, CodeMirror.Pos(this.gap.from, 0), {caseFold: this.caseFold, multiline: this.options.multiline});\n var maxMatches = this.options && this.options.maxMatches || MAX_MATCHES;\n while (cursor.findNext()) {\n var match = {from: cursor.from(), to: cursor.to()};\n if (match.from.line >= this.gap.to) break;\n this.matches.splice(i++, 0, match);\n if (this.matches.length > maxMatches) break;\n }\n this.gap = null;\n };\n\n function offsetLine(line, changeStart, sizeChange) {\n if (line <= changeStart) return line;\n return Math.max(changeStart, line + sizeChange);\n }\n\n SearchAnnotation.prototype.onChange = function(change) {\n var startLine = change.from.line;\n var endLine = CodeMirror.changeEnd(change).line;\n var sizeChange = endLine - change.to.line;\n if (this.gap) {\n this.gap.from = Math.min(offsetLine(this.gap.from, startLine, sizeChange), change.from.line);\n this.gap.to = Math.max(offsetLine(this.gap.to, startLine, sizeChange), change.from.line);\n } else {\n this.gap = {from: change.from.line, to: endLine + 1};\n }\n\n if (sizeChange) for (var i = 0; i < this.matches.length; i++) {\n var match = this.matches[i];\n var newFrom = offsetLine(match.from.line, startLine, sizeChange);\n if (newFrom != match.from.line) match.from = CodeMirror.Pos(newFrom, match.from.ch);\n var newTo = offsetLine(match.to.line, startLine, sizeChange);\n if (newTo != match.to.line) match.to = CodeMirror.Pos(newTo, match.to.ch);\n }\n clearTimeout(this.update);\n var self = this;\n this.update = setTimeout(function() { self.updateAfterChange(); }, 250);\n };\n\n SearchAnnotation.prototype.updateAfterChange = function() {\n this.findMatches();\n this.annotation.update(this.matches);\n };\n\n SearchAnnotation.prototype.clear = function() {\n this.cm.off(\"change\", this.changeHandler);\n this.annotation.clear();\n };\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9hZGRvbi9zZWFyY2gvbWF0Y2hlc29uc2Nyb2xsYmFyLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvZGVtaXJyb3IvYWRkb24vc2VhcmNoL21hdGNoZXNvbnNjcm9sbGJhci5qcz83MTVkIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIENvZGVNaXJyb3IsIGNvcHlyaWdodCAoYykgYnkgTWFyaWpuIEhhdmVyYmVrZSBhbmQgb3RoZXJzXG4vLyBEaXN0cmlidXRlZCB1bmRlciBhbiBNSVQgbGljZW5zZTogaHR0cHM6Ly9jb2RlbWlycm9yLm5ldC9MSUNFTlNFXG5cbihmdW5jdGlvbihtb2QpIHtcbiAgaWYgKHR5cGVvZiBleHBvcnRzID09IFwib2JqZWN0XCIgJiYgdHlwZW9mIG1vZHVsZSA9PSBcIm9iamVjdFwiKSAvLyBDb21tb25KU1xuICAgIG1vZChyZXF1aXJlKFwiLi4vLi4vbGliL2NvZGVtaXJyb3JcIiksIHJlcXVpcmUoXCIuL3NlYXJjaGN1cnNvclwiKSwgcmVxdWlyZShcIi4uL3Njcm9sbC9hbm5vdGF0ZXNjcm9sbGJhclwiKSk7XG4gIGVsc2UgaWYgKHR5cGVvZiBkZWZpbmUgPT0gXCJmdW5jdGlvblwiICYmIGRlZmluZS5hbWQpIC8vIEFNRFxuICAgIGRlZmluZShbXCIuLi8uLi9saWIvY29kZW1pcnJvclwiLCBcIi4vc2VhcmNoY3Vyc29yXCIsIFwiLi4vc2Nyb2xsL2Fubm90YXRlc2Nyb2xsYmFyXCJdLCBtb2QpO1xuICBlbHNlIC8vIFBsYWluIGJyb3dzZXIgZW52XG4gICAgbW9kKENvZGVNaXJyb3IpO1xufSkoZnVuY3Rpb24oQ29kZU1pcnJvcikge1xuICBcInVzZSBzdHJpY3RcIjtcblxuICBDb2RlTWlycm9yLmRlZmluZUV4dGVuc2lvbihcInNob3dNYXRjaGVzT25TY3JvbGxiYXJcIiwgZnVuY3Rpb24ocXVlcnksIGNhc2VGb2xkLCBvcHRpb25zKSB7XG4gICAgaWYgKHR5cGVvZiBvcHRpb25zID09IFwic3RyaW5nXCIpIG9wdGlvbnMgPSB7Y2xhc3NOYW1lOiBvcHRpb25zfTtcbiAgICBpZiAoIW9wdGlvbnMpIG9wdGlvbnMgPSB7fTtcbiAgICByZXR1cm4gbmV3IFNlYXJjaEFubm90YXRpb24odGhpcywgcXVlcnksIGNhc2VGb2xkLCBvcHRpb25zKTtcbiAgfSk7XG5cbiAgZnVuY3Rpb24gU2VhcmNoQW5ub3RhdGlvbihjbSwgcXVlcnksIGNhc2VGb2xkLCBvcHRpb25zKSB7XG4gICAgdGhpcy5jbSA9IGNtO1xuICAgIHRoaXMub3B0aW9ucyA9IG9wdGlvbnM7XG4gICAgdmFyIGFubm90YXRlT3B0aW9ucyA9IHtsaXN0ZW5Gb3JDaGFuZ2VzOiBmYWxzZX07XG4gICAgZm9yICh2YXIgcHJvcCBpbiBvcHRpb25zKSBhbm5vdGF0ZU9wdGlvbnNbcHJvcF0gPSBvcHRpb25zW3Byb3BdO1xuICAgIGlmICghYW5ub3RhdGVPcHRpb25zLmNsYXNzTmFtZSkgYW5ub3RhdGVPcHRpb25zLmNsYXNzTmFtZSA9IFwiQ29kZU1pcnJvci1zZWFyY2gtbWF0Y2hcIjtcbiAgICB0aGlzLmFubm90YXRpb24gPSBjbS5hbm5vdGF0ZVNjcm9sbGJhcihhbm5vdGF0ZU9wdGlvbnMpO1xuICAgIHRoaXMucXVlcnkgPSBxdWVyeTtcbiAgICB0aGlzLmNhc2VGb2xkID0gY2FzZUZvbGQ7XG4gICAgdGhpcy5nYXAgPSB7ZnJvbTogY20uZmlyc3RMaW5lKCksIHRvOiBjbS5sYXN0TGluZSgpICsgMX07XG4gICAgdGhpcy5tYXRjaGVzID0gW107XG4gICAgdGhpcy51cGRhdGUgPSBudWxsO1xuXG4gICAgdGhpcy5maW5kTWF0Y2hlcygpO1xuICAgIHRoaXMuYW5ub3RhdGlvbi51cGRhdGUodGhpcy5tYXRjaGVzKTtcblxuICAgIHZhciBzZWxmID0gdGhpcztcbiAgICBjbS5vbihcImNoYW5nZVwiLCB0aGlzLmNoYW5nZUhhbmRsZXIgPSBmdW5jdGlvbihfY20sIGNoYW5nZSkgeyBzZWxmLm9uQ2hhbmdlKGNoYW5nZSk7IH0pO1xuICB9XG5cbiAgdmFyIE1BWF9NQVRDSEVTID0gMTAwMDtcblxuICBTZWFyY2hBbm5vdGF0aW9uLnByb3RvdHlwZS5maW5kTWF0Y2hlcyA9IGZ1bmN0aW9uKCkge1xuICAgIGlmICghdGhpcy5nYXApIHJldHVybjtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMubWF0Y2hlcy5sZW5ndGg7IGkrKykge1xuICAgICAgdmFyIG1hdGNoID0gdGhpcy5tYXRjaGVzW2ldO1xuICAgICAgaWYgKG1hdGNoLmZyb20ubGluZSA+PSB0aGlzLmdhcC50bykgYnJlYWs7XG4gICAgICBpZiAobWF0Y2gudG8ubGluZSA+PSB0aGlzLmdhcC5mcm9tKSB0aGlzLm1hdGNoZXMuc3BsaWNlKGktLSwgMSk7XG4gICAgfVxuICAgIHZhciBjdXJzb3IgPSB0aGlzLmNtLmdldFNlYXJjaEN1cnNvcih0aGlzLnF1ZXJ5LCBDb2RlTWlycm9yLlBvcyh0aGlzLmdhcC5mcm9tLCAwKSwge2Nhc2VGb2xkOiB0aGlzLmNhc2VGb2xkLCBtdWx0aWxpbmU6IHRoaXMub3B0aW9ucy5tdWx0aWxpbmV9KTtcbiAgICB2YXIgbWF4TWF0Y2hlcyA9IHRoaXMub3B0aW9ucyAmJiB0aGlzLm9wdGlvbnMubWF4TWF0Y2hlcyB8fCBNQVhfTUFUQ0hFUztcbiAgICB3aGlsZSAoY3Vyc29yLmZpbmROZXh0KCkpIHtcbiAgICAgIHZhciBtYXRjaCA9IHtmcm9tOiBjdXJzb3IuZnJvbSgpLCB0bzogY3Vyc29yLnRvKCl9O1xuICAgICAgaWYgKG1hdGNoLmZyb20ubGluZSA+PSB0aGlzLmdhcC50bykgYnJlYWs7XG4gICAgICB0aGlzLm1hdGNoZXMuc3BsaWNlKGkrKywgMCwgbWF0Y2gpO1xuICAgICAgaWYgKHRoaXMubWF0Y2hlcy5sZW5ndGggPiBtYXhNYXRjaGVzKSBicmVhaztcbiAgICB9XG4gICAgdGhpcy5nYXAgPSBudWxsO1xuICB9O1xuXG4gIGZ1bmN0aW9uIG9mZnNldExpbmUobGluZSwgY2hhbmdlU3RhcnQsIHNpemVDaGFuZ2UpIHtcbiAgICBpZiAobGluZSA8PSBjaGFuZ2VTdGFydCkgcmV0dXJuIGxpbmU7XG4gICAgcmV0dXJuIE1hdGgubWF4KGNoYW5nZVN0YXJ0LCBsaW5lICsgc2l6ZUNoYW5nZSk7XG4gIH1cblxuICBTZWFyY2hBbm5vdGF0aW9uLnByb3RvdHlwZS5vbkNoYW5nZSA9IGZ1bmN0aW9uKGNoYW5nZSkge1xuICAgIHZhciBzdGFydExpbmUgPSBjaGFuZ2UuZnJvbS5saW5lO1xuICAgIHZhciBlbmRMaW5lID0gQ29kZU1pcnJvci5jaGFuZ2VFbmQoY2hhbmdlKS5saW5lO1xuICAgIHZhciBzaXplQ2hhbmdlID0gZW5kTGluZSAtIGNoYW5nZS50by5saW5lO1xuICAgIGlmICh0aGlzLmdhcCkge1xuICAgICAgdGhpcy5nYXAuZnJvbSA9IE1hdGgubWluKG9mZnNldExpbmUodGhpcy5nYXAuZnJvbSwgc3RhcnRMaW5lLCBzaXplQ2hhbmdlKSwgY2hhbmdlLmZyb20ubGluZSk7XG4gICAgICB0aGlzLmdhcC50byA9IE1hdGgubWF4KG9mZnNldExpbmUodGhpcy5nYXAudG8sIHN0YXJ0TGluZSwgc2l6ZUNoYW5nZSksIGNoYW5nZS5mcm9tLmxpbmUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmdhcCA9IHtmcm9tOiBjaGFuZ2UuZnJvbS5saW5lLCB0bzogZW5kTGluZSArIDF9O1xuICAgIH1cblxuICAgIGlmIChzaXplQ2hhbmdlKSBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMubWF0Y2hlcy5sZW5ndGg7IGkrKykge1xuICAgICAgdmFyIG1hdGNoID0gdGhpcy5tYXRjaGVzW2ldO1xuICAgICAgdmFyIG5ld0Zyb20gPSBvZmZzZXRMaW5lKG1hdGNoLmZyb20ubGluZSwgc3RhcnRMaW5lLCBzaXplQ2hhbmdlKTtcbiAgICAgIGlmIChuZXdGcm9tICE9IG1hdGNoLmZyb20ubGluZSkgbWF0Y2guZnJvbSA9IENvZGVNaXJyb3IuUG9zKG5ld0Zyb20sIG1hdGNoLmZyb20uY2gpO1xuICAgICAgdmFyIG5ld1RvID0gb2Zmc2V0TGluZShtYXRjaC50by5saW5lLCBzdGFydExpbmUsIHNpemVDaGFuZ2UpO1xuICAgICAgaWYgKG5ld1RvICE9IG1hdGNoLnRvLmxpbmUpIG1hdGNoLnRvID0gQ29kZU1pcnJvci5Qb3MobmV3VG8sIG1hdGNoLnRvLmNoKTtcbiAgICB9XG4gICAgY2xlYXJUaW1lb3V0KHRoaXMudXBkYXRlKTtcbiAgICB2YXIgc2VsZiA9IHRoaXM7XG4gICAgdGhpcy51cGRhdGUgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeyBzZWxmLnVwZGF0ZUFmdGVyQ2hhbmdlKCk7IH0sIDI1MCk7XG4gIH07XG5cbiAgU2VhcmNoQW5ub3RhdGlvbi5wcm90b3R5cGUudXBkYXRlQWZ0ZXJDaGFuZ2UgPSBmdW5jdGlvbigpIHtcbiAgICB0aGlzLmZpbmRNYXRjaGVzKCk7XG4gICAgdGhpcy5hbm5vdGF0aW9uLnVwZGF0ZSh0aGlzLm1hdGNoZXMpO1xuICB9O1xuXG4gIFNlYXJjaEFubm90YXRpb24ucHJvdG90eXBlLmNsZWFyID0gZnVuY3Rpb24oKSB7XG4gICAgdGhpcy5jbS5vZmYoXCJjaGFuZ2VcIiwgdGhpcy5jaGFuZ2VIYW5kbGVyKTtcbiAgICB0aGlzLmFubm90YXRpb24uY2xlYXIoKTtcbiAgfTtcbn0pO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/codemirror/addon/search/matchesonscrollbar.js\n"); /***/ }), /***/ "./node_modules/codemirror/addon/search/searchcursor.js": /*!**************************************************************!*\ !*** ./node_modules/codemirror/addon/search/searchcursor.js ***! \**************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ \"./node_modules/codemirror/lib/codemirror.js\"))\n else {}\n})(function(CodeMirror) {\n \"use strict\"\n var Pos = CodeMirror.Pos\n\n function regexpFlags(regexp) {\n var flags = regexp.flags\n return flags != null ? flags : (regexp.ignoreCase ? \"i\" : \"\")\n + (regexp.global ? \"g\" : \"\")\n + (regexp.multiline ? \"m\" : \"\")\n }\n\n function ensureFlags(regexp, flags) {\n var current = regexpFlags(regexp), target = current\n for (var i = 0; i < flags.length; i++) if (target.indexOf(flags.charAt(i)) == -1)\n target += flags.charAt(i)\n return current == target ? regexp : new RegExp(regexp.source, target)\n }\n\n function maybeMultiline(regexp) {\n return /\\\\s|\\\\n|\\n|\\\\W|\\\\D|\\[\\^/.test(regexp.source)\n }\n\n function searchRegexpForward(doc, regexp, start) {\n regexp = ensureFlags(regexp, \"g\")\n for (var line = start.line, ch = start.ch, last = doc.lastLine(); line <= last; line++, ch = 0) {\n regexp.lastIndex = ch\n var string = doc.getLine(line), match = regexp.exec(string)\n if (match)\n return {from: Pos(line, match.index),\n to: Pos(line, match.index + match[0].length),\n match: match}\n }\n }\n\n function searchRegexpForwardMultiline(doc, regexp, start) {\n if (!maybeMultiline(regexp)) return searchRegexpForward(doc, regexp, start)\n\n regexp = ensureFlags(regexp, \"gm\")\n var string, chunk = 1\n for (var line = start.line, last = doc.lastLine(); line <= last;) {\n // This grows the search buffer in exponentially-sized chunks\n // between matches, so that nearby matches are fast and don't\n // require concatenating the whole document (in case we're\n // searching for something that has tons of matches), but at the\n // same time, the amount of retries is limited.\n for (var i = 0; i < chunk; i++) {\n if (line > last) break\n var curLine = doc.getLine(line++)\n string = string == null ? curLine : string + \"\\n\" + curLine\n }\n chunk = chunk * 2\n regexp.lastIndex = start.ch\n var match = regexp.exec(string)\n if (match) {\n var before = string.slice(0, match.index).split(\"\\n\"), inside = match[0].split(\"\\n\")\n var startLine = start.line + before.length - 1, startCh = before[before.length - 1].length\n return {from: Pos(startLine, startCh),\n to: Pos(startLine + inside.length - 1,\n inside.length == 1 ? startCh + inside[0].length : inside[inside.length - 1].length),\n match: match}\n }\n }\n }\n\n function lastMatchIn(string, regexp) {\n var cutOff = 0, match\n for (;;) {\n regexp.lastIndex = cutOff\n var newMatch = regexp.exec(string)\n if (!newMatch) return match\n match = newMatch\n cutOff = match.index + (match[0].length || 1)\n if (cutOff == string.length) return match\n }\n }\n\n function searchRegexpBackward(doc, regexp, start) {\n regexp = ensureFlags(regexp, \"g\")\n for (var line = start.line, ch = start.ch, first = doc.firstLine(); line >= first; line--, ch = -1) {\n var string = doc.getLine(line)\n if (ch > -1) string = string.slice(0, ch)\n var match = lastMatchIn(string, regexp)\n if (match)\n return {from: Pos(line, match.index),\n to: Pos(line, match.index + match[0].length),\n match: match}\n }\n }\n\n function searchRegexpBackwardMultiline(doc, regexp, start) {\n regexp = ensureFlags(regexp, \"gm\")\n var string, chunk = 1\n for (var line = start.line, first = doc.firstLine(); line >= first;) {\n for (var i = 0; i < chunk; i++) {\n var curLine = doc.getLine(line--)\n string = string == null ? curLine.slice(0, start.ch) : curLine + \"\\n\" + string\n }\n chunk *= 2\n\n var match = lastMatchIn(string, regexp)\n if (match) {\n var before = string.slice(0, match.index).split(\"\\n\"), inside = match[0].split(\"\\n\")\n var startLine = line + before.length, startCh = before[before.length - 1].length\n return {from: Pos(startLine, startCh),\n to: Pos(startLine + inside.length - 1,\n inside.length == 1 ? startCh + inside[0].length : inside[inside.length - 1].length),\n match: match}\n }\n }\n }\n\n var doFold, noFold\n if (String.prototype.normalize) {\n doFold = function(str) { return str.normalize(\"NFD\").toLowerCase() }\n noFold = function(str) { return str.normalize(\"NFD\") }\n } else {\n doFold = function(str) { return str.toLowerCase() }\n noFold = function(str) { return str }\n }\n\n // Maps a position in a case-folded line back to a position in the original line\n // (compensating for codepoints increasing in number during folding)\n function adjustPos(orig, folded, pos, foldFunc) {\n if (orig.length == folded.length) return pos\n for (var min = 0, max = pos + Math.max(0, orig.length - folded.length);;) {\n if (min == max) return min\n var mid = (min + max) >> 1\n var len = foldFunc(orig.slice(0, mid)).length\n if (len == pos) return mid\n else if (len > pos) max = mid\n else min = mid + 1\n }\n }\n\n function searchStringForward(doc, query, start, caseFold) {\n // Empty string would match anything and never progress, so we\n // define it to match nothing instead.\n if (!query.length) return null\n var fold = caseFold ? doFold : noFold\n var lines = fold(query).split(/\\r|\\n\\r?/)\n\n search: for (var line = start.line, ch = start.ch, last = doc.lastLine() + 1 - lines.length; line <= last; line++, ch = 0) {\n var orig = doc.getLine(line).slice(ch), string = fold(orig)\n if (lines.length == 1) {\n var found = string.indexOf(lines[0])\n if (found == -1) continue search\n var start = adjustPos(orig, string, found, fold) + ch\n return {from: Pos(line, adjustPos(orig, string, found, fold) + ch),\n to: Pos(line, adjustPos(orig, string, found + lines[0].length, fold) + ch)}\n } else {\n var cutFrom = string.length - lines[0].length\n if (string.slice(cutFrom) != lines[0]) continue search\n for (var i = 1; i < lines.length - 1; i++)\n if (fold(doc.getLine(line + i)) != lines[i]) continue search\n var end = doc.getLine(line + lines.length - 1), endString = fold(end), lastLine = lines[lines.length - 1]\n if (endString.slice(0, lastLine.length) != lastLine) continue search\n return {from: Pos(line, adjustPos(orig, string, cutFrom, fold) + ch),\n to: Pos(line + lines.length - 1, adjustPos(end, endString, lastLine.length, fold))}\n }\n }\n }\n\n function searchStringBackward(doc, query, start, caseFold) {\n if (!query.length) return null\n var fold = caseFold ? doFold : noFold\n var lines = fold(query).split(/\\r|\\n\\r?/)\n\n search: for (var line = start.line, ch = start.ch, first = doc.firstLine() - 1 + lines.length; line >= first; line--, ch = -1) {\n var orig = doc.getLine(line)\n if (ch > -1) orig = orig.slice(0, ch)\n var string = fold(orig)\n if (lines.length == 1) {\n var found = string.lastIndexOf(lines[0])\n if (found == -1) continue search\n return {from: Pos(line, adjustPos(orig, string, found, fold)),\n to: Pos(line, adjustPos(orig, string, found + lines[0].length, fold))}\n } else {\n var lastLine = lines[lines.length - 1]\n if (string.slice(0, lastLine.length) != lastLine) continue search\n for (var i = 1, start = line - lines.length + 1; i < lines.length - 1; i++)\n if (fold(doc.getLine(start + i)) != lines[i]) continue search\n var top = doc.getLine(line + 1 - lines.length), topString = fold(top)\n if (topString.slice(topString.length - lines[0].length) != lines[0]) continue search\n return {from: Pos(line + 1 - lines.length, adjustPos(top, topString, top.length - lines[0].length, fold)),\n to: Pos(line, adjustPos(orig, string, lastLine.length, fold))}\n }\n }\n }\n\n function SearchCursor(doc, query, pos, options) {\n this.atOccurrence = false\n this.doc = doc\n pos = pos ? doc.clipPos(pos) : Pos(0, 0)\n this.pos = {from: pos, to: pos}\n\n var caseFold\n if (typeof options == \"object\") {\n caseFold = options.caseFold\n } else { // Backwards compat for when caseFold was the 4th argument\n caseFold = options\n options = null\n }\n\n if (typeof query == \"string\") {\n if (caseFold == null) caseFold = false\n this.matches = function(reverse, pos) {\n return (reverse ? searchStringBackward : searchStringForward)(doc, query, pos, caseFold)\n }\n } else {\n query = ensureFlags(query, \"gm\")\n if (!options || options.multiline !== false)\n this.matches = function(reverse, pos) {\n return (reverse ? searchRegexpBackwardMultiline : searchRegexpForwardMultiline)(doc, query, pos)\n }\n else\n this.matches = function(reverse, pos) {\n return (reverse ? searchRegexpBackward : searchRegexpForward)(doc, query, pos)\n }\n }\n }\n\n SearchCursor.prototype = {\n findNext: function() {return this.find(false)},\n findPrevious: function() {return this.find(true)},\n\n find: function(reverse) {\n var result = this.matches(reverse, this.doc.clipPos(reverse ? this.pos.from : this.pos.to))\n\n // Implements weird auto-growing behavior on null-matches for\n // backwards-compatiblity with the vim code (unfortunately)\n while (result && CodeMirror.cmpPos(result.from, result.to) == 0) {\n if (reverse) {\n if (result.from.ch) result.from = Pos(result.from.line, result.from.ch - 1)\n else if (result.from.line == this.doc.firstLine()) result = null\n else result = this.matches(reverse, this.doc.clipPos(Pos(result.from.line - 1)))\n } else {\n if (result.to.ch < this.doc.getLine(result.to.line).length) result.to = Pos(result.to.line, result.to.ch + 1)\n else if (result.to.line == this.doc.lastLine()) result = null\n else result = this.matches(reverse, Pos(result.to.line + 1, 0))\n }\n }\n\n if (result) {\n this.pos = result\n this.atOccurrence = true\n return this.pos.match || true\n } else {\n var end = Pos(reverse ? this.doc.firstLine() : this.doc.lastLine() + 1, 0)\n this.pos = {from: end, to: end}\n return this.atOccurrence = false\n }\n },\n\n from: function() {if (this.atOccurrence) return this.pos.from},\n to: function() {if (this.atOccurrence) return this.pos.to},\n\n replace: function(newText, origin) {\n if (!this.atOccurrence) return\n var lines = CodeMirror.splitLines(newText)\n this.doc.replaceRange(lines, this.pos.from, this.pos.to, origin)\n this.pos.to = Pos(this.pos.from.line + lines.length - 1,\n lines[lines.length - 1].length + (lines.length == 1 ? this.pos.from.ch : 0))\n }\n }\n\n CodeMirror.defineExtension(\"getSearchCursor\", function(query, pos, caseFold) {\n return new SearchCursor(this.doc, query, pos, caseFold)\n })\n CodeMirror.defineDocExtension(\"getSearchCursor\", function(query, pos, caseFold) {\n return new SearchCursor(this, query, pos, caseFold)\n })\n\n CodeMirror.defineExtension(\"selectMatches\", function(query, caseFold) {\n var ranges = []\n var cur = this.getSearchCursor(query, this.getCursor(\"from\"), caseFold)\n while (cur.findNext()) {\n if (CodeMirror.cmpPos(cur.to(), this.getCursor(\"to\")) > 0) break\n ranges.push({anchor: cur.from(), head: cur.to()})\n }\n if (ranges.length)\n this.setSelections(ranges, 0)\n })\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9hZGRvbi9zZWFyY2gvc2VhcmNoY3Vyc29yLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvZGVtaXJyb3IvYWRkb24vc2VhcmNoL3NlYXJjaGN1cnNvci5qcz9iOTMzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIENvZGVNaXJyb3IsIGNvcHlyaWdodCAoYykgYnkgTWFyaWpuIEhhdmVyYmVrZSBhbmQgb3RoZXJzXG4vLyBEaXN0cmlidXRlZCB1bmRlciBhbiBNSVQgbGljZW5zZTogaHR0cHM6Ly9jb2RlbWlycm9yLm5ldC9MSUNFTlNFXG5cbihmdW5jdGlvbihtb2QpIHtcbiAgaWYgKHR5cGVvZiBleHBvcnRzID09IFwib2JqZWN0XCIgJiYgdHlwZW9mIG1vZHVsZSA9PSBcIm9iamVjdFwiKSAvLyBDb21tb25KU1xuICAgIG1vZChyZXF1aXJlKFwiLi4vLi4vbGliL2NvZGVtaXJyb3JcIikpXG4gIGVsc2UgaWYgKHR5cGVvZiBkZWZpbmUgPT0gXCJmdW5jdGlvblwiICYmIGRlZmluZS5hbWQpIC8vIEFNRFxuICAgIGRlZmluZShbXCIuLi8uLi9saWIvY29kZW1pcnJvclwiXSwgbW9kKVxuICBlbHNlIC8vIFBsYWluIGJyb3dzZXIgZW52XG4gICAgbW9kKENvZGVNaXJyb3IpXG59KShmdW5jdGlvbihDb2RlTWlycm9yKSB7XG4gIFwidXNlIHN0cmljdFwiXG4gIHZhciBQb3MgPSBDb2RlTWlycm9yLlBvc1xuXG4gIGZ1bmN0aW9uIHJlZ2V4cEZsYWdzKHJlZ2V4cCkge1xuICAgIHZhciBmbGFncyA9IHJlZ2V4cC5mbGFnc1xuICAgIHJldHVybiBmbGFncyAhPSBudWxsID8gZmxhZ3MgOiAocmVnZXhwLmlnbm9yZUNhc2UgPyBcImlcIiA6IFwiXCIpXG4gICAgICArIChyZWdleHAuZ2xvYmFsID8gXCJnXCIgOiBcIlwiKVxuICAgICAgKyAocmVnZXhwLm11bHRpbGluZSA/IFwibVwiIDogXCJcIilcbiAgfVxuXG4gIGZ1bmN0aW9uIGVuc3VyZUZsYWdzKHJlZ2V4cCwgZmxhZ3MpIHtcbiAgICB2YXIgY3VycmVudCA9IHJlZ2V4cEZsYWdzKHJlZ2V4cCksIHRhcmdldCA9IGN1cnJlbnRcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGZsYWdzLmxlbmd0aDsgaSsrKSBpZiAodGFyZ2V0LmluZGV4T2YoZmxhZ3MuY2hhckF0KGkpKSA9PSAtMSlcbiAgICAgIHRhcmdldCArPSBmbGFncy5jaGFyQXQoaSlcbiAgICByZXR1cm4gY3VycmVudCA9PSB0YXJnZXQgPyByZWdleHAgOiBuZXcgUmVnRXhwKHJlZ2V4cC5zb3VyY2UsIHRhcmdldClcbiAgfVxuXG4gIGZ1bmN0aW9uIG1heWJlTXVsdGlsaW5lKHJlZ2V4cCkge1xuICAgIHJldHVybiAvXFxcXHN8XFxcXG58XFxufFxcXFxXfFxcXFxEfFxcW1xcXi8udGVzdChyZWdleHAuc291cmNlKVxuICB9XG5cbiAgZnVuY3Rpb24gc2VhcmNoUmVnZXhwRm9yd2FyZChkb2MsIHJlZ2V4cCwgc3RhcnQpIHtcbiAgICByZWdleHAgPSBlbnN1cmVGbGFncyhyZWdleHAsIFwiZ1wiKVxuICAgIGZvciAodmFyIGxpbmUgPSBzdGFydC5saW5lLCBjaCA9IHN0YXJ0LmNoLCBsYXN0ID0gZG9jLmxhc3RMaW5lKCk7IGxpbmUgPD0gbGFzdDsgbGluZSsrLCBjaCA9IDApIHtcbiAgICAgIHJlZ2V4cC5sYXN0SW5kZXggPSBjaFxuICAgICAgdmFyIHN0cmluZyA9IGRvYy5nZXRMaW5lKGxpbmUpLCBtYXRjaCA9IHJlZ2V4cC5leGVjKHN0cmluZylcbiAgICAgIGlmIChtYXRjaClcbiAgICAgICAgcmV0dXJuIHtmcm9tOiBQb3MobGluZSwgbWF0Y2guaW5kZXgpLFxuICAgICAgICAgICAgICAgIHRvOiBQb3MobGluZSwgbWF0Y2guaW5kZXggKyBtYXRjaFswXS5sZW5ndGgpLFxuICAgICAgICAgICAgICAgIG1hdGNoOiBtYXRjaH1cbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBzZWFyY2hSZWdleHBGb3J3YXJkTXVsdGlsaW5lKGRvYywgcmVnZXhwLCBzdGFydCkge1xuICAgIGlmICghbWF5YmVNdWx0aWxpbmUocmVnZXhwKSkgcmV0dXJuIHNlYXJjaFJlZ2V4cEZvcndhcmQoZG9jLCByZWdleHAsIHN0YXJ0KVxuXG4gICAgcmVnZXhwID0gZW5zdXJlRmxhZ3MocmVnZXhwLCBcImdtXCIpXG4gICAgdmFyIHN0cmluZywgY2h1bmsgPSAxXG4gICAgZm9yICh2YXIgbGluZSA9IHN0YXJ0LmxpbmUsIGxhc3QgPSBkb2MubGFzdExpbmUoKTsgbGluZSA8PSBsYXN0Oykge1xuICAgICAgLy8gVGhpcyBncm93cyB0aGUgc2VhcmNoIGJ1ZmZlciBpbiBleHBvbmVudGlhbGx5LXNpemVkIGNodW5rc1xuICAgICAgLy8gYmV0d2VlbiBtYXRjaGVzLCBzbyB0aGF0IG5lYXJieSBtYXRjaGVzIGFyZSBmYXN0IGFuZCBkb24ndFxuICAgICAgLy8gcmVxdWlyZSBjb25jYXRlbmF0aW5nIHRoZSB3aG9sZSBkb2N1bWVudCAoaW4gY2FzZSB3ZSdyZVxuICAgICAgLy8gc2VhcmNoaW5nIGZvciBzb21ldGhpbmcgdGhhdCBoYXMgdG9ucyBvZiBtYXRjaGVzKSwgYnV0IGF0IHRoZVxuICAgICAgLy8gc2FtZSB0aW1lLCB0aGUgYW1vdW50IG9mIHJldHJpZXMgaXMgbGltaXRlZC5cbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgY2h1bms7IGkrKykge1xuICAgICAgICBpZiAobGluZSA+IGxhc3QpIGJyZWFrXG4gICAgICAgIHZhciBjdXJMaW5lID0gZG9jLmdldExpbmUobGluZSsrKVxuICAgICAgICBzdHJpbmcgPSBzdHJpbmcgPT0gbnVsbCA/IGN1ckxpbmUgOiBzdHJpbmcgKyBcIlxcblwiICsgY3VyTGluZVxuICAgICAgfVxuICAgICAgY2h1bmsgPSBjaHVuayAqIDJcbiAgICAgIHJlZ2V4cC5sYXN0SW5kZXggPSBzdGFydC5jaFxuICAgICAgdmFyIG1hdGNoID0gcmVnZXhwLmV4ZWMoc3RyaW5nKVxuICAgICAgaWYgKG1hdGNoKSB7XG4gICAgICAgIHZhciBiZWZvcmUgPSBzdHJpbmcuc2xpY2UoMCwgbWF0Y2guaW5kZXgpLnNwbGl0KFwiXFxuXCIpLCBpbnNpZGUgPSBtYXRjaFswXS5zcGxpdChcIlxcblwiKVxuICAgICAgICB2YXIgc3RhcnRMaW5lID0gc3RhcnQubGluZSArIGJlZm9yZS5sZW5ndGggLSAxLCBzdGFydENoID0gYmVmb3JlW2JlZm9yZS5sZW5ndGggLSAxXS5sZW5ndGhcbiAgICAgICAgcmV0dXJuIHtmcm9tOiBQb3Moc3RhcnRMaW5lLCBzdGFydENoKSxcbiAgICAgICAgICAgICAgICB0bzogUG9zKHN0YXJ0TGluZSArIGluc2lkZS5sZW5ndGggLSAxLFxuICAgICAgICAgICAgICAgICAgICAgICAgaW5zaWRlLmxlbmd0aCA9PSAxID8gc3RhcnRDaCArIGluc2lkZVswXS5sZW5ndGggOiBpbnNpZGVbaW5zaWRlLmxlbmd0aCAtIDFdLmxlbmd0aCksXG4gICAgICAgICAgICAgICAgbWF0Y2g6IG1hdGNofVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIGxhc3RNYXRjaEluKHN0cmluZywgcmVnZXhwKSB7XG4gICAgdmFyIGN1dE9mZiA9IDAsIG1hdGNoXG4gICAgZm9yICg7Oykge1xuICAgICAgcmVnZXhwLmxhc3RJbmRleCA9IGN1dE9mZlxuICAgICAgdmFyIG5ld01hdGNoID0gcmVnZXhwLmV4ZWMoc3RyaW5nKVxuICAgICAgaWYgKCFuZXdNYXRjaCkgcmV0dXJuIG1hdGNoXG4gICAgICBtYXRjaCA9IG5ld01hdGNoXG4gICAgICBjdXRPZmYgPSBtYXRjaC5pbmRleCArIChtYXRjaFswXS5sZW5ndGggfHwgMSlcbiAgICAgIGlmIChjdXRPZmYgPT0gc3RyaW5nLmxlbmd0aCkgcmV0dXJuIG1hdGNoXG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gc2VhcmNoUmVnZXhwQmFja3dhcmQoZG9jLCByZWdleHAsIHN0YXJ0KSB7XG4gICAgcmVnZXhwID0gZW5zdXJlRmxhZ3MocmVnZXhwLCBcImdcIilcbiAgICBmb3IgKHZhciBsaW5lID0gc3RhcnQubGluZSwgY2ggPSBzdGFydC5jaCwgZmlyc3QgPSBkb2MuZmlyc3RMaW5lKCk7IGxpbmUgPj0gZmlyc3Q7IGxpbmUtLSwgY2ggPSAtMSkge1xuICAgICAgdmFyIHN0cmluZyA9IGRvYy5nZXRMaW5lKGxpbmUpXG4gICAgICBpZiAoY2ggPiAtMSkgc3RyaW5nID0gc3RyaW5nLnNsaWNlKDAsIGNoKVxuICAgICAgdmFyIG1hdGNoID0gbGFzdE1hdGNoSW4oc3RyaW5nLCByZWdleHApXG4gICAgICBpZiAobWF0Y2gpXG4gICAgICAgIHJldHVybiB7ZnJvbTogUG9zKGxpbmUsIG1hdGNoLmluZGV4KSxcbiAgICAgICAgICAgICAgICB0bzogUG9zKGxpbmUsIG1hdGNoLmluZGV4ICsgbWF0Y2hbMF0ubGVuZ3RoKSxcbiAgICAgICAgICAgICAgICBtYXRjaDogbWF0Y2h9XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gc2VhcmNoUmVnZXhwQmFja3dhcmRNdWx0aWxpbmUoZG9jLCByZWdleHAsIHN0YXJ0KSB7XG4gICAgcmVnZXhwID0gZW5zdXJlRmxhZ3MocmVnZXhwLCBcImdtXCIpXG4gICAgdmFyIHN0cmluZywgY2h1bmsgPSAxXG4gICAgZm9yICh2YXIgbGluZSA9IHN0YXJ0LmxpbmUsIGZpcnN0ID0gZG9jLmZpcnN0TGluZSgpOyBsaW5lID49IGZpcnN0Oykge1xuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjaHVuazsgaSsrKSB7XG4gICAgICAgIHZhciBjdXJMaW5lID0gZG9jLmdldExpbmUobGluZS0tKVxuICAgICAgICBzdHJpbmcgPSBzdHJpbmcgPT0gbnVsbCA/IGN1ckxpbmUuc2xpY2UoMCwgc3RhcnQuY2gpIDogY3VyTGluZSArIFwiXFxuXCIgKyBzdHJpbmdcbiAgICAgIH1cbiAgICAgIGNodW5rICo9IDJcblxuICAgICAgdmFyIG1hdGNoID0gbGFzdE1hdGNoSW4oc3RyaW5nLCByZWdleHApXG4gICAgICBpZiAobWF0Y2gpIHtcbiAgICAgICAgdmFyIGJlZm9yZSA9IHN0cmluZy5zbGljZSgwLCBtYXRjaC5pbmRleCkuc3BsaXQoXCJcXG5cIiksIGluc2lkZSA9IG1hdGNoWzBdLnNwbGl0KFwiXFxuXCIpXG4gICAgICAgIHZhciBzdGFydExpbmUgPSBsaW5lICsgYmVmb3JlLmxlbmd0aCwgc3RhcnRDaCA9IGJlZm9yZVtiZWZvcmUubGVuZ3RoIC0gMV0ubGVuZ3RoXG4gICAgICAgIHJldHVybiB7ZnJvbTogUG9zKHN0YXJ0TGluZSwgc3RhcnRDaCksXG4gICAgICAgICAgICAgICAgdG86IFBvcyhzdGFydExpbmUgKyBpbnNpZGUubGVuZ3RoIC0gMSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGluc2lkZS5sZW5ndGggPT0gMSA/IHN0YXJ0Q2ggKyBpbnNpZGVbMF0ubGVuZ3RoIDogaW5zaWRlW2luc2lkZS5sZW5ndGggLSAxXS5sZW5ndGgpLFxuICAgICAgICAgICAgICAgIG1hdGNoOiBtYXRjaH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB2YXIgZG9Gb2xkLCBub0ZvbGRcbiAgaWYgKFN0cmluZy5wcm90b3R5cGUubm9ybWFsaXplKSB7XG4gICAgZG9Gb2xkID0gZnVuY3Rpb24oc3RyKSB7IHJldHVybiBzdHIubm9ybWFsaXplKFwiTkZEXCIpLnRvTG93ZXJDYXNlKCkgfVxuICAgIG5vRm9sZCA9IGZ1bmN0aW9uKHN0cikgeyByZXR1cm4gc3RyLm5vcm1hbGl6ZShcIk5GRFwiKSB9XG4gIH0gZWxzZSB7XG4gICAgZG9Gb2xkID0gZnVuY3Rpb24oc3RyKSB7IHJldHVybiBzdHIudG9Mb3dlckNhc2UoKSB9XG4gICAgbm9Gb2xkID0gZnVuY3Rpb24oc3RyKSB7IHJldHVybiBzdHIgfVxuICB9XG5cbiAgLy8gTWFwcyBhIHBvc2l0aW9uIGluIGEgY2FzZS1mb2xkZWQgbGluZSBiYWNrIHRvIGEgcG9zaXRpb24gaW4gdGhlIG9yaWdpbmFsIGxpbmVcbiAgLy8gKGNvbXBlbnNhdGluZyBmb3IgY29kZXBvaW50cyBpbmNyZWFzaW5nIGluIG51bWJlciBkdXJpbmcgZm9sZGluZylcbiAgZnVuY3Rpb24gYWRqdXN0UG9zKG9yaWcsIGZvbGRlZCwgcG9zLCBmb2xkRnVuYykge1xuICAgIGlmIChvcmlnLmxlbmd0aCA9PSBmb2xkZWQubGVuZ3RoKSByZXR1cm4gcG9zXG4gICAgZm9yICh2YXIgbWluID0gMCwgbWF4ID0gcG9zICsgTWF0aC5tYXgoMCwgb3JpZy5sZW5ndGggLSBmb2xkZWQubGVuZ3RoKTs7KSB7XG4gICAgICBpZiAobWluID09IG1heCkgcmV0dXJuIG1pblxuICAgICAgdmFyIG1pZCA9IChtaW4gKyBtYXgpID4+IDFcbiAgICAgIHZhciBsZW4gPSBmb2xkRnVuYyhvcmlnLnNsaWNlKDAsIG1pZCkpLmxlbmd0aFxuICAgICAgaWYgKGxlbiA9PSBwb3MpIHJldHVybiBtaWRcbiAgICAgIGVsc2UgaWYgKGxlbiA+IHBvcykgbWF4ID0gbWlkXG4gICAgICBlbHNlIG1pbiA9IG1pZCArIDFcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBzZWFyY2hTdHJpbmdGb3J3YXJkKGRvYywgcXVlcnksIHN0YXJ0LCBjYXNlRm9sZCkge1xuICAgIC8vIEVtcHR5IHN0cmluZyB3b3VsZCBtYXRjaCBhbnl0aGluZyBhbmQgbmV2ZXIgcHJvZ3Jlc3MsIHNvIHdlXG4gICAgLy8gZGVmaW5lIGl0IHRvIG1hdGNoIG5vdGhpbmcgaW5zdGVhZC5cbiAgICBpZiAoIXF1ZXJ5Lmxlbmd0aCkgcmV0dXJuIG51bGxcbiAgICB2YXIgZm9sZCA9IGNhc2VGb2xkID8gZG9Gb2xkIDogbm9Gb2xkXG4gICAgdmFyIGxpbmVzID0gZm9sZChxdWVyeSkuc3BsaXQoL1xccnxcXG5cXHI/LylcblxuICAgIHNlYXJjaDogZm9yICh2YXIgbGluZSA9IHN0YXJ0LmxpbmUsIGNoID0gc3RhcnQuY2gsIGxhc3QgPSBkb2MubGFzdExpbmUoKSArIDEgLSBsaW5lcy5sZW5ndGg7IGxpbmUgPD0gbGFzdDsgbGluZSsrLCBjaCA9IDApIHtcbiAgICAgIHZhciBvcmlnID0gZG9jLmdldExpbmUobGluZSkuc2xpY2UoY2gpLCBzdHJpbmcgPSBmb2xkKG9yaWcpXG4gICAgICBpZiAobGluZXMubGVuZ3RoID09IDEpIHtcbiAgICAgICAgdmFyIGZvdW5kID0gc3RyaW5nLmluZGV4T2YobGluZXNbMF0pXG4gICAgICAgIGlmIChmb3VuZCA9PSAtMSkgY29udGludWUgc2VhcmNoXG4gICAgICAgIHZhciBzdGFydCA9IGFkanVzdFBvcyhvcmlnLCBzdHJpbmcsIGZvdW5kLCBmb2xkKSArIGNoXG4gICAgICAgIHJldHVybiB7ZnJvbTogUG9zKGxpbmUsIGFkanVzdFBvcyhvcmlnLCBzdHJpbmcsIGZvdW5kLCBmb2xkKSArIGNoKSxcbiAgICAgICAgICAgICAgICB0bzogUG9zKGxpbmUsIGFkanVzdFBvcyhvcmlnLCBzdHJpbmcsIGZvdW5kICsgbGluZXNbMF0ubGVuZ3RoLCBmb2xkKSArIGNoKX1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHZhciBjdXRGcm9tID0gc3RyaW5nLmxlbmd0aCAtIGxpbmVzWzBdLmxlbmd0aFxuICAgICAgICBpZiAoc3RyaW5nLnNsaWNlKGN1dEZyb20pICE9IGxpbmVzWzBdKSBjb250aW51ZSBzZWFyY2hcbiAgICAgICAgZm9yICh2YXIgaSA9IDE7IGkgPCBsaW5lcy5sZW5ndGggLSAxOyBpKyspXG4gICAgICAgICAgaWYgKGZvbGQoZG9jLmdldExpbmUobGluZSArIGkpKSAhPSBsaW5lc1tpXSkgY29udGludWUgc2VhcmNoXG4gICAgICAgIHZhciBlbmQgPSBkb2MuZ2V0TGluZShsaW5lICsgbGluZXMubGVuZ3RoIC0gMSksIGVuZFN0cmluZyA9IGZvbGQoZW5kKSwgbGFzdExpbmUgPSBsaW5lc1tsaW5lcy5sZW5ndGggLSAxXVxuICAgICAgICBpZiAoZW5kU3RyaW5nLnNsaWNlKDAsIGxhc3RMaW5lLmxlbmd0aCkgIT0gbGFzdExpbmUpIGNvbnRpbnVlIHNlYXJjaFxuICAgICAgICByZXR1cm4ge2Zyb206IFBvcyhsaW5lLCBhZGp1c3RQb3Mob3JpZywgc3RyaW5nLCBjdXRGcm9tLCBmb2xkKSArIGNoKSxcbiAgICAgICAgICAgICAgICB0bzogUG9zKGxpbmUgKyBsaW5lcy5sZW5ndGggLSAxLCBhZGp1c3RQb3MoZW5kLCBlbmRTdHJpbmcsIGxhc3RMaW5lLmxlbmd0aCwgZm9sZCkpfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIHNlYXJjaFN0cmluZ0JhY2t3YXJkKGRvYywgcXVlcnksIHN0YXJ0LCBjYXNlRm9sZCkge1xuICAgIGlmICghcXVlcnkubGVuZ3RoKSByZXR1cm4gbnVsbFxuICAgIHZhciBmb2xkID0gY2FzZUZvbGQgPyBkb0ZvbGQgOiBub0ZvbGRcbiAgICB2YXIgbGluZXMgPSBmb2xkKHF1ZXJ5KS5zcGxpdCgvXFxyfFxcblxccj8vKVxuXG4gICAgc2VhcmNoOiBmb3IgKHZhciBsaW5lID0gc3RhcnQubGluZSwgY2ggPSBzdGFydC5jaCwgZmlyc3QgPSBkb2MuZmlyc3RMaW5lKCkgLSAxICsgbGluZXMubGVuZ3RoOyBsaW5lID49IGZpcnN0OyBsaW5lLS0sIGNoID0gLTEpIHtcbiAgICAgIHZhciBvcmlnID0gZG9jLmdldExpbmUobGluZSlcbiAgICAgIGlmIChjaCA+IC0xKSBvcmlnID0gb3JpZy5zbGljZSgwLCBjaClcbiAgICAgIHZhciBzdHJpbmcgPSBmb2xkKG9yaWcpXG4gICAgICBpZiAobGluZXMubGVuZ3RoID09IDEpIHtcbiAgICAgICAgdmFyIGZvdW5kID0gc3RyaW5nLmxhc3RJbmRleE9mKGxpbmVzWzBdKVxuICAgICAgICBpZiAoZm91bmQgPT0gLTEpIGNvbnRpbnVlIHNlYXJjaFxuICAgICAgICByZXR1cm4ge2Zyb206IFBvcyhsaW5lLCBhZGp1c3RQb3Mob3JpZywgc3RyaW5nLCBmb3VuZCwgZm9sZCkpLFxuICAgICAgICAgICAgICAgIHRvOiBQb3MobGluZSwgYWRqdXN0UG9zKG9yaWcsIHN0cmluZywgZm91bmQgKyBsaW5lc1swXS5sZW5ndGgsIGZvbGQpKX1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHZhciBsYXN0TGluZSA9IGxpbmVzW2xpbmVzLmxlbmd0aCAtIDFdXG4gICAgICAgIGlmIChzdHJpbmcuc2xpY2UoMCwgbGFzdExpbmUubGVuZ3RoKSAhPSBsYXN0TGluZSkgY29udGludWUgc2VhcmNoXG4gICAgICAgIGZvciAodmFyIGkgPSAxLCBzdGFydCA9IGxpbmUgLSBsaW5lcy5sZW5ndGggKyAxOyBpIDwgbGluZXMubGVuZ3RoIC0gMTsgaSsrKVxuICAgICAgICAgIGlmIChmb2xkKGRvYy5nZXRMaW5lKHN0YXJ0ICsgaSkpICE9IGxpbmVzW2ldKSBjb250aW51ZSBzZWFyY2hcbiAgICAgICAgdmFyIHRvcCA9IGRvYy5nZXRMaW5lKGxpbmUgKyAxIC0gbGluZXMubGVuZ3RoKSwgdG9wU3RyaW5nID0gZm9sZCh0b3ApXG4gICAgICAgIGlmICh0b3BTdHJpbmcuc2xpY2UodG9wU3RyaW5nLmxlbmd0aCAtIGxpbmVzWzBdLmxlbmd0aCkgIT0gbGluZXNbMF0pIGNvbnRpbnVlIHNlYXJjaFxuICAgICAgICByZXR1cm4ge2Zyb206IFBvcyhsaW5lICsgMSAtIGxpbmVzLmxlbmd0aCwgYWRqdXN0UG9zKHRvcCwgdG9wU3RyaW5nLCB0b3AubGVuZ3RoIC0gbGluZXNbMF0ubGVuZ3RoLCBmb2xkKSksXG4gICAgICAgICAgICAgICAgdG86IFBvcyhsaW5lLCBhZGp1c3RQb3Mob3JpZywgc3RyaW5nLCBsYXN0TGluZS5sZW5ndGgsIGZvbGQpKX1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBTZWFyY2hDdXJzb3IoZG9jLCBxdWVyeSwgcG9zLCBvcHRpb25zKSB7XG4gICAgdGhpcy5hdE9jY3VycmVuY2UgPSBmYWxzZVxuICAgIHRoaXMuZG9jID0gZG9jXG4gICAgcG9zID0gcG9zID8gZG9jLmNsaXBQb3MocG9zKSA6IFBvcygwLCAwKVxuICAgIHRoaXMucG9zID0ge2Zyb206IHBvcywgdG86IHBvc31cblxuICAgIHZhciBjYXNlRm9sZFxuICAgIGlmICh0eXBlb2Ygb3B0aW9ucyA9PSBcIm9iamVjdFwiKSB7XG4gICAgICBjYXNlRm9sZCA9IG9wdGlvbnMuY2FzZUZvbGRcbiAgICB9IGVsc2UgeyAvLyBCYWNrd2FyZHMgY29tcGF0IGZvciB3aGVuIGNhc2VGb2xkIHdhcyB0aGUgNHRoIGFyZ3VtZW50XG4gICAgICBjYXNlRm9sZCA9IG9wdGlvbnNcbiAgICAgIG9wdGlvbnMgPSBudWxsXG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBxdWVyeSA9PSBcInN0cmluZ1wiKSB7XG4gICAgICBpZiAoY2FzZUZvbGQgPT0gbnVsbCkgY2FzZUZvbGQgPSBmYWxzZVxuICAgICAgdGhpcy5tYXRjaGVzID0gZnVuY3Rpb24ocmV2ZXJzZSwgcG9zKSB7XG4gICAgICAgIHJldHVybiAocmV2ZXJzZSA/IHNlYXJjaFN0cmluZ0JhY2t3YXJkIDogc2VhcmNoU3RyaW5nRm9yd2FyZCkoZG9jLCBxdWVyeSwgcG9zLCBjYXNlRm9sZClcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgcXVlcnkgPSBlbnN1cmVGbGFncyhxdWVyeSwgXCJnbVwiKVxuICAgICAgaWYgKCFvcHRpb25zIHx8IG9wdGlvbnMubXVsdGlsaW5lICE9PSBmYWxzZSlcbiAgICAgICAgdGhpcy5tYXRjaGVzID0gZnVuY3Rpb24ocmV2ZXJzZSwgcG9zKSB7XG4gICAgICAgICAgcmV0dXJuIChyZXZlcnNlID8gc2VhcmNoUmVnZXhwQmFja3dhcmRNdWx0aWxpbmUgOiBzZWFyY2hSZWdleHBGb3J3YXJkTXVsdGlsaW5lKShkb2MsIHF1ZXJ5LCBwb3MpXG4gICAgICAgIH1cbiAgICAgIGVsc2VcbiAgICAgICAgdGhpcy5tYXRjaGVzID0gZnVuY3Rpb24ocmV2ZXJzZSwgcG9zKSB7XG4gICAgICAgICAgcmV0dXJuIChyZXZlcnNlID8gc2VhcmNoUmVnZXhwQmFja3dhcmQgOiBzZWFyY2hSZWdleHBGb3J3YXJkKShkb2MsIHF1ZXJ5LCBwb3MpXG4gICAgICAgIH1cbiAgICB9XG4gIH1cblxuICBTZWFyY2hDdXJzb3IucHJvdG90eXBlID0ge1xuICAgIGZpbmROZXh0OiBmdW5jdGlvbigpIHtyZXR1cm4gdGhpcy5maW5kKGZhbHNlKX0sXG4gICAgZmluZFByZXZpb3VzOiBmdW5jdGlvbigpIHtyZXR1cm4gdGhpcy5maW5kKHRydWUpfSxcblxuICAgIGZpbmQ6IGZ1bmN0aW9uKHJldmVyc2UpIHtcbiAgICAgIHZhciByZXN1bHQgPSB0aGlzLm1hdGNoZXMocmV2ZXJzZSwgdGhpcy5kb2MuY2xpcFBvcyhyZXZlcnNlID8gdGhpcy5wb3MuZnJvbSA6IHRoaXMucG9zLnRvKSlcblxuICAgICAgLy8gSW1wbGVtZW50cyB3ZWlyZCBhdXRvLWdyb3dpbmcgYmVoYXZpb3Igb24gbnVsbC1tYXRjaGVzIGZvclxuICAgICAgLy8gYmFja3dhcmRzLWNvbXBhdGlibGl0eSB3aXRoIHRoZSB2aW0gY29kZSAodW5mb3J0dW5hdGVseSlcbiAgICAgIHdoaWxlIChyZXN1bHQgJiYgQ29kZU1pcnJvci5jbXBQb3MocmVzdWx0LmZyb20sIHJlc3VsdC50bykgPT0gMCkge1xuICAgICAgICBpZiAocmV2ZXJzZSkge1xuICAgICAgICAgIGlmIChyZXN1bHQuZnJvbS5jaCkgcmVzdWx0LmZyb20gPSBQb3MocmVzdWx0LmZyb20ubGluZSwgcmVzdWx0LmZyb20uY2ggLSAxKVxuICAgICAgICAgIGVsc2UgaWYgKHJlc3VsdC5mcm9tLmxpbmUgPT0gdGhpcy5kb2MuZmlyc3RMaW5lKCkpIHJlc3VsdCA9IG51bGxcbiAgICAgICAgICBlbHNlIHJlc3VsdCA9IHRoaXMubWF0Y2hlcyhyZXZlcnNlLCB0aGlzLmRvYy5jbGlwUG9zKFBvcyhyZXN1bHQuZnJvbS5saW5lIC0gMSkpKVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGlmIChyZXN1bHQudG8uY2ggPCB0aGlzLmRvYy5nZXRMaW5lKHJlc3VsdC50by5saW5lKS5sZW5ndGgpIHJlc3VsdC50byA9IFBvcyhyZXN1bHQudG8ubGluZSwgcmVzdWx0LnRvLmNoICsgMSlcbiAgICAgICAgICBlbHNlIGlmIChyZXN1bHQudG8ubGluZSA9PSB0aGlzLmRvYy5sYXN0TGluZSgpKSByZXN1bHQgPSBudWxsXG4gICAgICAgICAgZWxzZSByZXN1bHQgPSB0aGlzLm1hdGNoZXMocmV2ZXJzZSwgUG9zKHJlc3VsdC50by5saW5lICsgMSwgMCkpXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKHJlc3VsdCkge1xuICAgICAgICB0aGlzLnBvcyA9IHJlc3VsdFxuICAgICAgICB0aGlzLmF0T2NjdXJyZW5jZSA9IHRydWVcbiAgICAgICAgcmV0dXJuIHRoaXMucG9zLm1hdGNoIHx8IHRydWVcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHZhciBlbmQgPSBQb3MocmV2ZXJzZSA/IHRoaXMuZG9jLmZpcnN0TGluZSgpIDogdGhpcy5kb2MubGFzdExpbmUoKSArIDEsIDApXG4gICAgICAgIHRoaXMucG9zID0ge2Zyb206IGVuZCwgdG86IGVuZH1cbiAgICAgICAgcmV0dXJuIHRoaXMuYXRPY2N1cnJlbmNlID0gZmFsc2VcbiAgICAgIH1cbiAgICB9LFxuXG4gICAgZnJvbTogZnVuY3Rpb24oKSB7aWYgKHRoaXMuYXRPY2N1cnJlbmNlKSByZXR1cm4gdGhpcy5wb3MuZnJvbX0sXG4gICAgdG86IGZ1bmN0aW9uKCkge2lmICh0aGlzLmF0T2NjdXJyZW5jZSkgcmV0dXJuIHRoaXMucG9zLnRvfSxcblxuICAgIHJlcGxhY2U6IGZ1bmN0aW9uKG5ld1RleHQsIG9yaWdpbikge1xuICAgICAgaWYgKCF0aGlzLmF0T2NjdXJyZW5jZSkgcmV0dXJuXG4gICAgICB2YXIgbGluZXMgPSBDb2RlTWlycm9yLnNwbGl0TGluZXMobmV3VGV4dClcbiAgICAgIHRoaXMuZG9jLnJlcGxhY2VSYW5nZShsaW5lcywgdGhpcy5wb3MuZnJvbSwgdGhpcy5wb3MudG8sIG9yaWdpbilcbiAgICAgIHRoaXMucG9zLnRvID0gUG9zKHRoaXMucG9zLmZyb20ubGluZSArIGxpbmVzLmxlbmd0aCAtIDEsXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lc1tsaW5lcy5sZW5ndGggLSAxXS5sZW5ndGggKyAobGluZXMubGVuZ3RoID09IDEgPyB0aGlzLnBvcy5mcm9tLmNoIDogMCkpXG4gICAgfVxuICB9XG5cbiAgQ29kZU1pcnJvci5kZWZpbmVFeHRlbnNpb24oXCJnZXRTZWFyY2hDdXJzb3JcIiwgZnVuY3Rpb24ocXVlcnksIHBvcywgY2FzZUZvbGQpIHtcbiAgICByZXR1cm4gbmV3IFNlYXJjaEN1cnNvcih0aGlzLmRvYywgcXVlcnksIHBvcywgY2FzZUZvbGQpXG4gIH0pXG4gIENvZGVNaXJyb3IuZGVmaW5lRG9jRXh0ZW5zaW9uKFwiZ2V0U2VhcmNoQ3Vyc29yXCIsIGZ1bmN0aW9uKHF1ZXJ5LCBwb3MsIGNhc2VGb2xkKSB7XG4gICAgcmV0dXJuIG5ldyBTZWFyY2hDdXJzb3IodGhpcywgcXVlcnksIHBvcywgY2FzZUZvbGQpXG4gIH0pXG5cbiAgQ29kZU1pcnJvci5kZWZpbmVFeHRlbnNpb24oXCJzZWxlY3RNYXRjaGVzXCIsIGZ1bmN0aW9uKHF1ZXJ5LCBjYXNlRm9sZCkge1xuICAgIHZhciByYW5nZXMgPSBbXVxuICAgIHZhciBjdXIgPSB0aGlzLmdldFNlYXJjaEN1cnNvcihxdWVyeSwgdGhpcy5nZXRDdXJzb3IoXCJmcm9tXCIpLCBjYXNlRm9sZClcbiAgICB3aGlsZSAoY3VyLmZpbmROZXh0KCkpIHtcbiAgICAgIGlmIChDb2RlTWlycm9yLmNtcFBvcyhjdXIudG8oKSwgdGhpcy5nZXRDdXJzb3IoXCJ0b1wiKSkgPiAwKSBicmVha1xuICAgICAgcmFuZ2VzLnB1c2goe2FuY2hvcjogY3VyLmZyb20oKSwgaGVhZDogY3VyLnRvKCl9KVxuICAgIH1cbiAgICBpZiAocmFuZ2VzLmxlbmd0aClcbiAgICAgIHRoaXMuc2V0U2VsZWN0aW9ucyhyYW5nZXMsIDApXG4gIH0pXG59KTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/codemirror/addon/search/searchcursor.js\n"); /***/ }), /***/ "./node_modules/codemirror/addon/selection/active-line.js": /*!****************************************************************!*\ !*** ./node_modules/codemirror/addon/selection/active-line.js ***! \****************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ \"./node_modules/codemirror/lib/codemirror.js\"));\n else {}\n})(function(CodeMirror) {\n \"use strict\";\n var WRAP_CLASS = \"CodeMirror-activeline\";\n var BACK_CLASS = \"CodeMirror-activeline-background\";\n var GUTT_CLASS = \"CodeMirror-activeline-gutter\";\n\n CodeMirror.defineOption(\"styleActiveLine\", false, function(cm, val, old) {\n var prev = old == CodeMirror.Init ? false : old;\n if (val == prev) return\n if (prev) {\n cm.off(\"beforeSelectionChange\", selectionChange);\n clearActiveLines(cm);\n delete cm.state.activeLines;\n }\n if (val) {\n cm.state.activeLines = [];\n updateActiveLines(cm, cm.listSelections());\n cm.on(\"beforeSelectionChange\", selectionChange);\n }\n });\n\n function clearActiveLines(cm) {\n for (var i = 0; i < cm.state.activeLines.length; i++) {\n cm.removeLineClass(cm.state.activeLines[i], \"wrap\", WRAP_CLASS);\n cm.removeLineClass(cm.state.activeLines[i], \"background\", BACK_CLASS);\n cm.removeLineClass(cm.state.activeLines[i], \"gutter\", GUTT_CLASS);\n }\n }\n\n function sameArray(a, b) {\n if (a.length != b.length) return false;\n for (var i = 0; i < a.length; i++)\n if (a[i] != b[i]) return false;\n return true;\n }\n\n function updateActiveLines(cm, ranges) {\n var active = [];\n for (var i = 0; i < ranges.length; i++) {\n var range = ranges[i];\n var option = cm.getOption(\"styleActiveLine\");\n if (typeof option == \"object\" && option.nonEmpty ? range.anchor.line != range.head.line : !range.empty())\n continue\n var line = cm.getLineHandleVisualStart(range.head.line);\n if (active[active.length - 1] != line) active.push(line);\n }\n if (sameArray(cm.state.activeLines, active)) return;\n cm.operation(function() {\n clearActiveLines(cm);\n for (var i = 0; i < active.length; i++) {\n cm.addLineClass(active[i], \"wrap\", WRAP_CLASS);\n cm.addLineClass(active[i], \"background\", BACK_CLASS);\n cm.addLineClass(active[i], \"gutter\", GUTT_CLASS);\n }\n cm.state.activeLines = active;\n });\n }\n\n function selectionChange(cm, sel) {\n updateActiveLines(cm, sel.ranges);\n }\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9hZGRvbi9zZWxlY3Rpb24vYWN0aXZlLWxpbmUuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9hZGRvbi9zZWxlY3Rpb24vYWN0aXZlLWxpbmUuanM/MzFjNSJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb2RlTWlycm9yLCBjb3B5cmlnaHQgKGMpIGJ5IE1hcmlqbiBIYXZlcmJla2UgYW5kIG90aGVyc1xuLy8gRGlzdHJpYnV0ZWQgdW5kZXIgYW4gTUlUIGxpY2Vuc2U6IGh0dHBzOi8vY29kZW1pcnJvci5uZXQvTElDRU5TRVxuXG4oZnVuY3Rpb24obW9kKSB7XG4gIGlmICh0eXBlb2YgZXhwb3J0cyA9PSBcIm9iamVjdFwiICYmIHR5cGVvZiBtb2R1bGUgPT0gXCJvYmplY3RcIikgLy8gQ29tbW9uSlNcbiAgICBtb2QocmVxdWlyZShcIi4uLy4uL2xpYi9jb2RlbWlycm9yXCIpKTtcbiAgZWxzZSBpZiAodHlwZW9mIGRlZmluZSA9PSBcImZ1bmN0aW9uXCIgJiYgZGVmaW5lLmFtZCkgLy8gQU1EXG4gICAgZGVmaW5lKFtcIi4uLy4uL2xpYi9jb2RlbWlycm9yXCJdLCBtb2QpO1xuICBlbHNlIC8vIFBsYWluIGJyb3dzZXIgZW52XG4gICAgbW9kKENvZGVNaXJyb3IpO1xufSkoZnVuY3Rpb24oQ29kZU1pcnJvcikge1xuICBcInVzZSBzdHJpY3RcIjtcbiAgdmFyIFdSQVBfQ0xBU1MgPSBcIkNvZGVNaXJyb3ItYWN0aXZlbGluZVwiO1xuICB2YXIgQkFDS19DTEFTUyA9IFwiQ29kZU1pcnJvci1hY3RpdmVsaW5lLWJhY2tncm91bmRcIjtcbiAgdmFyIEdVVFRfQ0xBU1MgPSBcIkNvZGVNaXJyb3ItYWN0aXZlbGluZS1ndXR0ZXJcIjtcblxuICBDb2RlTWlycm9yLmRlZmluZU9wdGlvbihcInN0eWxlQWN0aXZlTGluZVwiLCBmYWxzZSwgZnVuY3Rpb24oY20sIHZhbCwgb2xkKSB7XG4gICAgdmFyIHByZXYgPSBvbGQgPT0gQ29kZU1pcnJvci5Jbml0ID8gZmFsc2UgOiBvbGQ7XG4gICAgaWYgKHZhbCA9PSBwcmV2KSByZXR1cm5cbiAgICBpZiAocHJldikge1xuICAgICAgY20ub2ZmKFwiYmVmb3JlU2VsZWN0aW9uQ2hhbmdlXCIsIHNlbGVjdGlvbkNoYW5nZSk7XG4gICAgICBjbGVhckFjdGl2ZUxpbmVzKGNtKTtcbiAgICAgIGRlbGV0ZSBjbS5zdGF0ZS5hY3RpdmVMaW5lcztcbiAgICB9XG4gICAgaWYgKHZhbCkge1xuICAgICAgY20uc3RhdGUuYWN0aXZlTGluZXMgPSBbXTtcbiAgICAgIHVwZGF0ZUFjdGl2ZUxpbmVzKGNtLCBjbS5saXN0U2VsZWN0aW9ucygpKTtcbiAgICAgIGNtLm9uKFwiYmVmb3JlU2VsZWN0aW9uQ2hhbmdlXCIsIHNlbGVjdGlvbkNoYW5nZSk7XG4gICAgfVxuICB9KTtcblxuICBmdW5jdGlvbiBjbGVhckFjdGl2ZUxpbmVzKGNtKSB7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjbS5zdGF0ZS5hY3RpdmVMaW5lcy5sZW5ndGg7IGkrKykge1xuICAgICAgY20ucmVtb3ZlTGluZUNsYXNzKGNtLnN0YXRlLmFjdGl2ZUxpbmVzW2ldLCBcIndyYXBcIiwgV1JBUF9DTEFTUyk7XG4gICAgICBjbS5yZW1vdmVMaW5lQ2xhc3MoY20uc3RhdGUuYWN0aXZlTGluZXNbaV0sIFwiYmFja2dyb3VuZFwiLCBCQUNLX0NMQVNTKTtcbiAgICAgIGNtLnJlbW92ZUxpbmVDbGFzcyhjbS5zdGF0ZS5hY3RpdmVMaW5lc1tpXSwgXCJndXR0ZXJcIiwgR1VUVF9DTEFTUyk7XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gc2FtZUFycmF5KGEsIGIpIHtcbiAgICBpZiAoYS5sZW5ndGggIT0gYi5sZW5ndGgpIHJldHVybiBmYWxzZTtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGEubGVuZ3RoOyBpKyspXG4gICAgICBpZiAoYVtpXSAhPSBiW2ldKSByZXR1cm4gZmFsc2U7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBmdW5jdGlvbiB1cGRhdGVBY3RpdmVMaW5lcyhjbSwgcmFuZ2VzKSB7XG4gICAgdmFyIGFjdGl2ZSA9IFtdO1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcmFuZ2VzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIgcmFuZ2UgPSByYW5nZXNbaV07XG4gICAgICB2YXIgb3B0aW9uID0gY20uZ2V0T3B0aW9uKFwic3R5bGVBY3RpdmVMaW5lXCIpO1xuICAgICAgaWYgKHR5cGVvZiBvcHRpb24gPT0gXCJvYmplY3RcIiAmJiBvcHRpb24ubm9uRW1wdHkgPyByYW5nZS5hbmNob3IubGluZSAhPSByYW5nZS5oZWFkLmxpbmUgOiAhcmFuZ2UuZW1wdHkoKSlcbiAgICAgICAgY29udGludWVcbiAgICAgIHZhciBsaW5lID0gY20uZ2V0TGluZUhhbmRsZVZpc3VhbFN0YXJ0KHJhbmdlLmhlYWQubGluZSk7XG4gICAgICBpZiAoYWN0aXZlW2FjdGl2ZS5sZW5ndGggLSAxXSAhPSBsaW5lKSBhY3RpdmUucHVzaChsaW5lKTtcbiAgICB9XG4gICAgaWYgKHNhbWVBcnJheShjbS5zdGF0ZS5hY3RpdmVMaW5lcywgYWN0aXZlKSkgcmV0dXJuO1xuICAgIGNtLm9wZXJhdGlvbihmdW5jdGlvbigpIHtcbiAgICAgIGNsZWFyQWN0aXZlTGluZXMoY20pO1xuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBhY3RpdmUubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgY20uYWRkTGluZUNsYXNzKGFjdGl2ZVtpXSwgXCJ3cmFwXCIsIFdSQVBfQ0xBU1MpO1xuICAgICAgICBjbS5hZGRMaW5lQ2xhc3MoYWN0aXZlW2ldLCBcImJhY2tncm91bmRcIiwgQkFDS19DTEFTUyk7XG4gICAgICAgIGNtLmFkZExpbmVDbGFzcyhhY3RpdmVbaV0sIFwiZ3V0dGVyXCIsIEdVVFRfQ0xBU1MpO1xuICAgICAgfVxuICAgICAgY20uc3RhdGUuYWN0aXZlTGluZXMgPSBhY3RpdmU7XG4gICAgfSk7XG4gIH1cblxuICBmdW5jdGlvbiBzZWxlY3Rpb25DaGFuZ2UoY20sIHNlbCkge1xuICAgIHVwZGF0ZUFjdGl2ZUxpbmVzKGNtLCBzZWwucmFuZ2VzKTtcbiAgfVxufSk7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/codemirror/addon/selection/active-line.js\n"); /***/ }), /***/ "./node_modules/codemirror/lib/codemirror.js": /*!***************************************************!*\ !*** ./node_modules/codemirror/lib/codemirror.js ***! \***************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n// This is CodeMirror (https://codemirror.net), a code editor\n// implemented in JavaScript on top of the browser's DOM.\n//\n// You can find some technical background for some of the code below\n// at http://marijnhaverbeke.nl/blog/#cm-internals .\n\n(function (global, factory) {\n true ? module.exports = factory() :\n undefined;\n}(this, (function () { 'use strict';\n\n // Kludges for bugs and behavior differences that can't be feature\n // detected are enabled based on userAgent etc sniffing.\n var userAgent = navigator.userAgent;\n var platform = navigator.platform;\n\n var gecko = /gecko\\/\\d/i.test(userAgent);\n var ie_upto10 = /MSIE \\d/.test(userAgent);\n var ie_11up = /Trident\\/(?:[7-9]|\\d{2,})\\..*rv:(\\d+)/.exec(userAgent);\n var edge = /Edge\\/(\\d+)/.exec(userAgent);\n var ie = ie_upto10 || ie_11up || edge;\n var ie_version = ie && (ie_upto10 ? document.documentMode || 6 : +(edge || ie_11up)[1]);\n var webkit = !edge && /WebKit\\//.test(userAgent);\n var qtwebkit = webkit && /Qt\\/\\d+\\.\\d+/.test(userAgent);\n var chrome = !edge && /Chrome\\//.test(userAgent);\n var presto = /Opera\\//.test(userAgent);\n var safari = /Apple Computer/.test(navigator.vendor);\n var mac_geMountainLion = /Mac OS X 1\\d\\D([8-9]|\\d\\d)\\D/.test(userAgent);\n var phantom = /PhantomJS/.test(userAgent);\n\n var ios = !edge && /AppleWebKit/.test(userAgent) && /Mobile\\/\\w+/.test(userAgent);\n var android = /Android/.test(userAgent);\n // This is woefully incomplete. Suggestions for alternative methods welcome.\n var mobile = ios || android || /webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(userAgent);\n var mac = ios || /Mac/.test(platform);\n var chromeOS = /\\bCrOS\\b/.test(userAgent);\n var windows = /win/i.test(platform);\n\n var presto_version = presto && userAgent.match(/Version\\/(\\d*\\.\\d*)/);\n if (presto_version) { presto_version = Number(presto_version[1]); }\n if (presto_version && presto_version >= 15) { presto = false; webkit = true; }\n // Some browsers use the wrong event properties to signal cmd/ctrl on OS X\n var flipCtrlCmd = mac && (qtwebkit || presto && (presto_version == null || presto_version < 12.11));\n var captureRightClick = gecko || (ie && ie_version >= 9);\n\n function classTest(cls) { return new RegExp(\"(^|\\\\s)\" + cls + \"(?:$|\\\\s)\\\\s*\") }\n\n var rmClass = function(node, cls) {\n var current = node.className;\n var match = classTest(cls).exec(current);\n if (match) {\n var after = current.slice(match.index + match[0].length);\n node.className = current.slice(0, match.index) + (after ? match[1] + after : \"\");\n }\n };\n\n function removeChildren(e) {\n for (var count = e.childNodes.length; count > 0; --count)\n { e.removeChild(e.firstChild); }\n return e\n }\n\n function removeChildrenAndAdd(parent, e) {\n return removeChildren(parent).appendChild(e)\n }\n\n function elt(tag, content, className, style) {\n var e = document.createElement(tag);\n if (className) { e.className = className; }\n if (style) { e.style.cssText = style; }\n if (typeof content == \"string\") { e.appendChild(document.createTextNode(content)); }\n else if (content) { for (var i = 0; i < content.length; ++i) { e.appendChild(content[i]); } }\n return e\n }\n // wrapper for elt, which removes the elt from the accessibility tree\n function eltP(tag, content, className, style) {\n var e = elt(tag, content, className, style);\n e.setAttribute(\"role\", \"presentation\");\n return e\n }\n\n var range;\n if (document.createRange) { range = function(node, start, end, endNode) {\n var r = document.createRange();\n r.setEnd(endNode || node, end);\n r.setStart(node, start);\n return r\n }; }\n else { range = function(node, start, end) {\n var r = document.body.createTextRange();\n try { r.moveToElementText(node.parentNode); }\n catch(e) { return r }\n r.collapse(true);\n r.moveEnd(\"character\", end);\n r.moveStart(\"character\", start);\n return r\n }; }\n\n function contains(parent, child) {\n if (child.nodeType == 3) // Android browser always returns false when child is a textnode\n { child = child.parentNode; }\n if (parent.contains)\n { return parent.contains(child) }\n do {\n if (child.nodeType == 11) { child = child.host; }\n if (child == parent) { return true }\n } while (child = child.parentNode)\n }\n\n function activeElt() {\n // IE and Edge may throw an \"Unspecified Error\" when accessing document.activeElement.\n // IE < 10 will throw when accessed while the page is loading or in an iframe.\n // IE > 9 and Edge will throw when accessed in an iframe if document.body is unavailable.\n var activeElement;\n try {\n activeElement = document.activeElement;\n } catch(e) {\n activeElement = document.body || null;\n }\n while (activeElement && activeElement.shadowRoot && activeElement.shadowRoot.activeElement)\n { activeElement = activeElement.shadowRoot.activeElement; }\n return activeElement\n }\n\n function addClass(node, cls) {\n var current = node.className;\n if (!classTest(cls).test(current)) { node.className += (current ? \" \" : \"\") + cls; }\n }\n function joinClasses(a, b) {\n var as = a.split(\" \");\n for (var i = 0; i < as.length; i++)\n { if (as[i] && !classTest(as[i]).test(b)) { b += \" \" + as[i]; } }\n return b\n }\n\n var selectInput = function(node) { node.select(); };\n if (ios) // Mobile Safari apparently has a bug where select() is broken.\n { selectInput = function(node) { node.selectionStart = 0; node.selectionEnd = node.value.length; }; }\n else if (ie) // Suppress mysterious IE10 errors\n { selectInput = function(node) { try { node.select(); } catch(_e) {} }; }\n\n function bind(f) {\n var args = Array.prototype.slice.call(arguments, 1);\n return function(){return f.apply(null, args)}\n }\n\n function copyObj(obj, target, overwrite) {\n if (!target) { target = {}; }\n for (var prop in obj)\n { if (obj.hasOwnProperty(prop) && (overwrite !== false || !target.hasOwnProperty(prop)))\n { target[prop] = obj[prop]; } }\n return target\n }\n\n // Counts the column offset in a string, taking tabs into account.\n // Used mostly to find indentation.\n function countColumn(string, end, tabSize, startIndex, startValue) {\n if (end == null) {\n end = string.search(/[^\\s\\u00a0]/);\n if (end == -1) { end = string.length; }\n }\n for (var i = startIndex || 0, n = startValue || 0;;) {\n var nextTab = string.indexOf(\"\\t\", i);\n if (nextTab < 0 || nextTab >= end)\n { return n + (end - i) }\n n += nextTab - i;\n n += tabSize - (n % tabSize);\n i = nextTab + 1;\n }\n }\n\n var Delayed = function() {this.id = null;};\n Delayed.prototype.set = function (ms, f) {\n clearTimeout(this.id);\n this.id = setTimeout(f, ms);\n };\n\n function indexOf(array, elt) {\n for (var i = 0; i < array.length; ++i)\n { if (array[i] == elt) { return i } }\n return -1\n }\n\n // Number of pixels added to scroller and sizer to hide scrollbar\n var scrollerGap = 30;\n\n // Returned or thrown by various protocols to signal 'I'm not\n // handling this'.\n var Pass = {toString: function(){return \"CodeMirror.Pass\"}};\n\n // Reused option objects for setSelection & friends\n var sel_dontScroll = {scroll: false}, sel_mouse = {origin: \"*mouse\"}, sel_move = {origin: \"+move\"};\n\n // The inverse of countColumn -- find the offset that corresponds to\n // a particular column.\n function findColumn(string, goal, tabSize) {\n for (var pos = 0, col = 0;;) {\n var nextTab = string.indexOf(\"\\t\", pos);\n if (nextTab == -1) { nextTab = string.length; }\n var skipped = nextTab - pos;\n if (nextTab == string.length || col + skipped >= goal)\n { return pos + Math.min(skipped, goal - col) }\n col += nextTab - pos;\n col += tabSize - (col % tabSize);\n pos = nextTab + 1;\n if (col >= goal) { return pos }\n }\n }\n\n var spaceStrs = [\"\"];\n function spaceStr(n) {\n while (spaceStrs.length <= n)\n { spaceStrs.push(lst(spaceStrs) + \" \"); }\n return spaceStrs[n]\n }\n\n function lst(arr) { return arr[arr.length-1] }\n\n function map(array, f) {\n var out = [];\n for (var i = 0; i < array.length; i++) { out[i] = f(array[i], i); }\n return out\n }\n\n function insertSorted(array, value, score) {\n var pos = 0, priority = score(value);\n while (pos < array.length && score(array[pos]) <= priority) { pos++; }\n array.splice(pos, 0, value);\n }\n\n function nothing() {}\n\n function createObj(base, props) {\n var inst;\n if (Object.create) {\n inst = Object.create(base);\n } else {\n nothing.prototype = base;\n inst = new nothing();\n }\n if (props) { copyObj(props, inst); }\n return inst\n }\n\n var nonASCIISingleCaseWordChar = /[\\u00df\\u0587\\u0590-\\u05f4\\u0600-\\u06ff\\u3040-\\u309f\\u30a0-\\u30ff\\u3400-\\u4db5\\u4e00-\\u9fcc\\uac00-\\ud7af]/;\n function isWordCharBasic(ch) {\n return /\\w/.test(ch) || ch > \"\\x80\" &&\n (ch.toUpperCase() != ch.toLowerCase() || nonASCIISingleCaseWordChar.test(ch))\n }\n function isWordChar(ch, helper) {\n if (!helper) { return isWordCharBasic(ch) }\n if (helper.source.indexOf(\"\\\\w\") > -1 && isWordCharBasic(ch)) { return true }\n return helper.test(ch)\n }\n\n function isEmpty(obj) {\n for (var n in obj) { if (obj.hasOwnProperty(n) && obj[n]) { return false } }\n return true\n }\n\n // Extending unicode characters. A series of a non-extending char +\n // any number of extending chars is treated as a single unit as far\n // as editing and measuring is concerned. This is not fully correct,\n // since some scripts/fonts/browsers also treat other configurations\n // of code points as a group.\n var extendingChars = /[\\u0300-\\u036f\\u0483-\\u0489\\u0591-\\u05bd\\u05bf\\u05c1\\u05c2\\u05c4\\u05c5\\u05c7\\u0610-\\u061a\\u064b-\\u065e\\u0670\\u06d6-\\u06dc\\u06de-\\u06e4\\u06e7\\u06e8\\u06ea-\\u06ed\\u0711\\u0730-\\u074a\\u07a6-\\u07b0\\u07eb-\\u07f3\\u0816-\\u0819\\u081b-\\u0823\\u0825-\\u0827\\u0829-\\u082d\\u0900-\\u0902\\u093c\\u0941-\\u0948\\u094d\\u0951-\\u0955\\u0962\\u0963\\u0981\\u09bc\\u09be\\u09c1-\\u09c4\\u09cd\\u09d7\\u09e2\\u09e3\\u0a01\\u0a02\\u0a3c\\u0a41\\u0a42\\u0a47\\u0a48\\u0a4b-\\u0a4d\\u0a51\\u0a70\\u0a71\\u0a75\\u0a81\\u0a82\\u0abc\\u0ac1-\\u0ac5\\u0ac7\\u0ac8\\u0acd\\u0ae2\\u0ae3\\u0b01\\u0b3c\\u0b3e\\u0b3f\\u0b41-\\u0b44\\u0b4d\\u0b56\\u0b57\\u0b62\\u0b63\\u0b82\\u0bbe\\u0bc0\\u0bcd\\u0bd7\\u0c3e-\\u0c40\\u0c46-\\u0c48\\u0c4a-\\u0c4d\\u0c55\\u0c56\\u0c62\\u0c63\\u0cbc\\u0cbf\\u0cc2\\u0cc6\\u0ccc\\u0ccd\\u0cd5\\u0cd6\\u0ce2\\u0ce3\\u0d3e\\u0d41-\\u0d44\\u0d4d\\u0d57\\u0d62\\u0d63\\u0dca\\u0dcf\\u0dd2-\\u0dd4\\u0dd6\\u0ddf\\u0e31\\u0e34-\\u0e3a\\u0e47-\\u0e4e\\u0eb1\\u0eb4-\\u0eb9\\u0ebb\\u0ebc\\u0ec8-\\u0ecd\\u0f18\\u0f19\\u0f35\\u0f37\\u0f39\\u0f71-\\u0f7e\\u0f80-\\u0f84\\u0f86\\u0f87\\u0f90-\\u0f97\\u0f99-\\u0fbc\\u0fc6\\u102d-\\u1030\\u1032-\\u1037\\u1039\\u103a\\u103d\\u103e\\u1058\\u1059\\u105e-\\u1060\\u1071-\\u1074\\u1082\\u1085\\u1086\\u108d\\u109d\\u135f\\u1712-\\u1714\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17b7-\\u17bd\\u17c6\\u17c9-\\u17d3\\u17dd\\u180b-\\u180d\\u18a9\\u1920-\\u1922\\u1927\\u1928\\u1932\\u1939-\\u193b\\u1a17\\u1a18\\u1a56\\u1a58-\\u1a5e\\u1a60\\u1a62\\u1a65-\\u1a6c\\u1a73-\\u1a7c\\u1a7f\\u1b00-\\u1b03\\u1b34\\u1b36-\\u1b3a\\u1b3c\\u1b42\\u1b6b-\\u1b73\\u1b80\\u1b81\\u1ba2-\\u1ba5\\u1ba8\\u1ba9\\u1c2c-\\u1c33\\u1c36\\u1c37\\u1cd0-\\u1cd2\\u1cd4-\\u1ce0\\u1ce2-\\u1ce8\\u1ced\\u1dc0-\\u1de6\\u1dfd-\\u1dff\\u200c\\u200d\\u20d0-\\u20f0\\u2cef-\\u2cf1\\u2de0-\\u2dff\\u302a-\\u302f\\u3099\\u309a\\ua66f-\\ua672\\ua67c\\ua67d\\ua6f0\\ua6f1\\ua802\\ua806\\ua80b\\ua825\\ua826\\ua8c4\\ua8e0-\\ua8f1\\ua926-\\ua92d\\ua947-\\ua951\\ua980-\\ua982\\ua9b3\\ua9b6-\\ua9b9\\ua9bc\\uaa29-\\uaa2e\\uaa31\\uaa32\\uaa35\\uaa36\\uaa43\\uaa4c\\uaab0\\uaab2-\\uaab4\\uaab7\\uaab8\\uaabe\\uaabf\\uaac1\\uabe5\\uabe8\\uabed\\udc00-\\udfff\\ufb1e\\ufe00-\\ufe0f\\ufe20-\\ufe26\\uff9e\\uff9f]/;\n function isExtendingChar(ch) { return ch.charCodeAt(0) >= 768 && extendingChars.test(ch) }\n\n // Returns a number from the range [`0`; `str.length`] unless `pos` is outside that range.\n function skipExtendingChars(str, pos, dir) {\n while ((dir < 0 ? pos > 0 : pos < str.length) && isExtendingChar(str.charAt(pos))) { pos += dir; }\n return pos\n }\n\n // Returns the value from the range [`from`; `to`] that satisfies\n // `pred` and is closest to `from`. Assumes that at least `to`\n // satisfies `pred`. Supports `from` being greater than `to`.\n function findFirst(pred, from, to) {\n // At any point we are certain `to` satisfies `pred`, don't know\n // whether `from` does.\n var dir = from > to ? -1 : 1;\n for (;;) {\n if (from == to) { return from }\n var midF = (from + to) / 2, mid = dir < 0 ? Math.ceil(midF) : Math.floor(midF);\n if (mid == from) { return pred(mid) ? from : to }\n if (pred(mid)) { to = mid; }\n else { from = mid + dir; }\n }\n }\n\n // BIDI HELPERS\n\n function iterateBidiSections(order, from, to, f) {\n if (!order) { return f(from, to, \"ltr\", 0) }\n var found = false;\n for (var i = 0; i < order.length; ++i) {\n var part = order[i];\n if (part.from < to && part.to > from || from == to && part.to == from) {\n f(Math.max(part.from, from), Math.min(part.to, to), part.level == 1 ? \"rtl\" : \"ltr\", i);\n found = true;\n }\n }\n if (!found) { f(from, to, \"ltr\"); }\n }\n\n var bidiOther = null;\n function getBidiPartAt(order, ch, sticky) {\n var found;\n bidiOther = null;\n for (var i = 0; i < order.length; ++i) {\n var cur = order[i];\n if (cur.from < ch && cur.to > ch) { return i }\n if (cur.to == ch) {\n if (cur.from != cur.to && sticky == \"before\") { found = i; }\n else { bidiOther = i; }\n }\n if (cur.from == ch) {\n if (cur.from != cur.to && sticky != \"before\") { found = i; }\n else { bidiOther = i; }\n }\n }\n return found != null ? found : bidiOther\n }\n\n // Bidirectional ordering algorithm\n // See http://unicode.org/reports/tr9/tr9-13.html for the algorithm\n // that this (partially) implements.\n\n // One-char codes used for character types:\n // L (L): Left-to-Right\n // R (R): Right-to-Left\n // r (AL): Right-to-Left Arabic\n // 1 (EN): European Number\n // + (ES): European Number Separator\n // % (ET): European Number Terminator\n // n (AN): Arabic Number\n // , (CS): Common Number Separator\n // m (NSM): Non-Spacing Mark\n // b (BN): Boundary Neutral\n // s (B): Paragraph Separator\n // t (S): Segment Separator\n // w (WS): Whitespace\n // N (ON): Other Neutrals\n\n // Returns null if characters are ordered as they appear\n // (left-to-right), or an array of sections ({from, to, level}\n // objects) in the order in which they occur visually.\n var bidiOrdering = (function() {\n // Character types for codepoints 0 to 0xff\n var lowTypes = \"bbbbbbbbbtstwsbbbbbbbbbbbbbbssstwNN%%%NNNNNN,N,N1111111111NNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbbbb,N%%%%NNNNLNNNNN%%11NLNNN1LNNNNNLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLN\";\n // Character types for codepoints 0x600 to 0x6f9\n var arabicTypes = \"nnnnnnNNr%%r,rNNmmmmmmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnn%nnrrrmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmnNmmmmmmrrmmNmmmmrr1111111111\";\n function charType(code) {\n if (code <= 0xf7) { return lowTypes.charAt(code) }\n else if (0x590 <= code && code <= 0x5f4) { return \"R\" }\n else if (0x600 <= code && code <= 0x6f9) { return arabicTypes.charAt(code - 0x600) }\n else if (0x6ee <= code && code <= 0x8ac) { return \"r\" }\n else if (0x2000 <= code && code <= 0x200b) { return \"w\" }\n else if (code == 0x200c) { return \"b\" }\n else { return \"L\" }\n }\n\n var bidiRE = /[\\u0590-\\u05f4\\u0600-\\u06ff\\u0700-\\u08ac]/;\n var isNeutral = /[stwN]/, isStrong = /[LRr]/, countsAsLeft = /[Lb1n]/, countsAsNum = /[1n]/;\n\n function BidiSpan(level, from, to) {\n this.level = level;\n this.from = from; this.to = to;\n }\n\n return function(str, direction) {\n var outerType = direction == \"ltr\" ? \"L\" : \"R\";\n\n if (str.length == 0 || direction == \"ltr\" && !bidiRE.test(str)) { return false }\n var len = str.length, types = [];\n for (var i = 0; i < len; ++i)\n { types.push(charType(str.charCodeAt(i))); }\n\n // W1. Examine each non-spacing mark (NSM) in the level run, and\n // change the type of the NSM to the type of the previous\n // character. If the NSM is at the start of the level run, it will\n // get the type of sor.\n for (var i$1 = 0, prev = outerType; i$1 < len; ++i$1) {\n var type = types[i$1];\n if (type == \"m\") { types[i$1] = prev; }\n else { prev = type; }\n }\n\n // W2. Search backwards from each instance of a European number\n // until the first strong type (R, L, AL, or sor) is found. If an\n // AL is found, change the type of the European number to Arabic\n // number.\n // W3. Change all ALs to R.\n for (var i$2 = 0, cur = outerType; i$2 < len; ++i$2) {\n var type$1 = types[i$2];\n if (type$1 == \"1\" && cur == \"r\") { types[i$2] = \"n\"; }\n else if (isStrong.test(type$1)) { cur = type$1; if (type$1 == \"r\") { types[i$2] = \"R\"; } }\n }\n\n // W4. A single European separator between two European numbers\n // changes to a European number. A single common separator between\n // two numbers of the same type changes to that type.\n for (var i$3 = 1, prev$1 = types[0]; i$3 < len - 1; ++i$3) {\n var type$2 = types[i$3];\n if (type$2 == \"+\" && prev$1 == \"1\" && types[i$3+1] == \"1\") { types[i$3] = \"1\"; }\n else if (type$2 == \",\" && prev$1 == types[i$3+1] &&\n (prev$1 == \"1\" || prev$1 == \"n\")) { types[i$3] = prev$1; }\n prev$1 = type$2;\n }\n\n // W5. A sequence of European terminators adjacent to European\n // numbers changes to all European numbers.\n // W6. Otherwise, separators and terminators change to Other\n // Neutral.\n for (var i$4 = 0; i$4 < len; ++i$4) {\n var type$3 = types[i$4];\n if (type$3 == \",\") { types[i$4] = \"N\"; }\n else if (type$3 == \"%\") {\n var end = (void 0);\n for (end = i$4 + 1; end < len && types[end] == \"%\"; ++end) {}\n var replace = (i$4 && types[i$4-1] == \"!\") || (end < len && types[end] == \"1\") ? \"1\" : \"N\";\n for (var j = i$4; j < end; ++j) { types[j] = replace; }\n i$4 = end - 1;\n }\n }\n\n // W7. Search backwards from each instance of a European number\n // until the first strong type (R, L, or sor) is found. If an L is\n // found, then change the type of the European number to L.\n for (var i$5 = 0, cur$1 = outerType; i$5 < len; ++i$5) {\n var type$4 = types[i$5];\n if (cur$1 == \"L\" && type$4 == \"1\") { types[i$5] = \"L\"; }\n else if (isStrong.test(type$4)) { cur$1 = type$4; }\n }\n\n // N1. A sequence of neutrals takes the direction of the\n // surrounding strong text if the text on both sides has the same\n // direction. European and Arabic numbers act as if they were R in\n // terms of their influence on neutrals. Start-of-level-run (sor)\n // and end-of-level-run (eor) are used at level run boundaries.\n // N2. Any remaining neutrals take the embedding direction.\n for (var i$6 = 0; i$6 < len; ++i$6) {\n if (isNeutral.test(types[i$6])) {\n var end$1 = (void 0);\n for (end$1 = i$6 + 1; end$1 < len && isNeutral.test(types[end$1]); ++end$1) {}\n var before = (i$6 ? types[i$6-1] : outerType) == \"L\";\n var after = (end$1 < len ? types[end$1] : outerType) == \"L\";\n var replace$1 = before == after ? (before ? \"L\" : \"R\") : outerType;\n for (var j$1 = i$6; j$1 < end$1; ++j$1) { types[j$1] = replace$1; }\n i$6 = end$1 - 1;\n }\n }\n\n // Here we depart from the documented algorithm, in order to avoid\n // building up an actual levels array. Since there are only three\n // levels (0, 1, 2) in an implementation that doesn't take\n // explicit embedding into account, we can build up the order on\n // the fly, without following the level-based algorithm.\n var order = [], m;\n for (var i$7 = 0; i$7 < len;) {\n if (countsAsLeft.test(types[i$7])) {\n var start = i$7;\n for (++i$7; i$7 < len && countsAsLeft.test(types[i$7]); ++i$7) {}\n order.push(new BidiSpan(0, start, i$7));\n } else {\n var pos = i$7, at = order.length;\n for (++i$7; i$7 < len && types[i$7] != \"L\"; ++i$7) {}\n for (var j$2 = pos; j$2 < i$7;) {\n if (countsAsNum.test(types[j$2])) {\n if (pos < j$2) { order.splice(at, 0, new BidiSpan(1, pos, j$2)); }\n var nstart = j$2;\n for (++j$2; j$2 < i$7 && countsAsNum.test(types[j$2]); ++j$2) {}\n order.splice(at, 0, new BidiSpan(2, nstart, j$2));\n pos = j$2;\n } else { ++j$2; }\n }\n if (pos < i$7) { order.splice(at, 0, new BidiSpan(1, pos, i$7)); }\n }\n }\n if (direction == \"ltr\") {\n if (order[0].level == 1 && (m = str.match(/^\\s+/))) {\n order[0].from = m[0].length;\n order.unshift(new BidiSpan(0, 0, m[0].length));\n }\n if (lst(order).level == 1 && (m = str.match(/\\s+$/))) {\n lst(order).to -= m[0].length;\n order.push(new BidiSpan(0, len - m[0].length, len));\n }\n }\n\n return direction == \"rtl\" ? order.reverse() : order\n }\n })();\n\n // Get the bidi ordering for the given line (and cache it). Returns\n // false for lines that are fully left-to-right, and an array of\n // BidiSpan objects otherwise.\n function getOrder(line, direction) {\n var order = line.order;\n if (order == null) { order = line.order = bidiOrdering(line.text, direction); }\n return order\n }\n\n // EVENT HANDLING\n\n // Lightweight event framework. on/off also work on DOM nodes,\n // registering native DOM handlers.\n\n var noHandlers = [];\n\n var on = function(emitter, type, f) {\n if (emitter.addEventListener) {\n emitter.addEventListener(type, f, false);\n } else if (emitter.attachEvent) {\n emitter.attachEvent(\"on\" + type, f);\n } else {\n var map$$1 = emitter._handlers || (emitter._handlers = {});\n map$$1[type] = (map$$1[type] || noHandlers).concat(f);\n }\n };\n\n function getHandlers(emitter, type) {\n return emitter._handlers && emitter._handlers[type] || noHandlers\n }\n\n function off(emitter, type, f) {\n if (emitter.removeEventListener) {\n emitter.removeEventListener(type, f, false);\n } else if (emitter.detachEvent) {\n emitter.detachEvent(\"on\" + type, f);\n } else {\n var map$$1 = emitter._handlers, arr = map$$1 && map$$1[type];\n if (arr) {\n var index = indexOf(arr, f);\n if (index > -1)\n { map$$1[type] = arr.slice(0, index).concat(arr.slice(index + 1)); }\n }\n }\n }\n\n function signal(emitter, type /*, values...*/) {\n var handlers = getHandlers(emitter, type);\n if (!handlers.length) { return }\n var args = Array.prototype.slice.call(arguments, 2);\n for (var i = 0; i < handlers.length; ++i) { handlers[i].apply(null, args); }\n }\n\n // The DOM events that CodeMirror handles can be overridden by\n // registering a (non-DOM) handler on the editor for the event name,\n // and preventDefault-ing the event in that handler.\n function signalDOMEvent(cm, e, override) {\n if (typeof e == \"string\")\n { e = {type: e, preventDefault: function() { this.defaultPrevented = true; }}; }\n signal(cm, override || e.type, cm, e);\n return e_defaultPrevented(e) || e.codemirrorIgnore\n }\n\n function signalCursorActivity(cm) {\n var arr = cm._handlers && cm._handlers.cursorActivity;\n if (!arr) { return }\n var set = cm.curOp.cursorActivityHandlers || (cm.curOp.cursorActivityHandlers = []);\n for (var i = 0; i < arr.length; ++i) { if (indexOf(set, arr[i]) == -1)\n { set.push(arr[i]); } }\n }\n\n function hasHandler(emitter, type) {\n return getHandlers(emitter, type).length > 0\n }\n\n // Add on and off methods to a constructor's prototype, to make\n // registering events on such objects more convenient.\n function eventMixin(ctor) {\n ctor.prototype.on = function(type, f) {on(this, type, f);};\n ctor.prototype.off = function(type, f) {off(this, type, f);};\n }\n\n // Due to the fact that we still support jurassic IE versions, some\n // compatibility wrappers are needed.\n\n function e_preventDefault(e) {\n if (e.preventDefault) { e.preventDefault(); }\n else { e.returnValue = false; }\n }\n function e_stopPropagation(e) {\n if (e.stopPropagation) { e.stopPropagation(); }\n else { e.cancelBubble = true; }\n }\n function e_defaultPrevented(e) {\n return e.defaultPrevented != null ? e.defaultPrevented : e.returnValue == false\n }\n function e_stop(e) {e_preventDefault(e); e_stopPropagation(e);}\n\n function e_target(e) {return e.target || e.srcElement}\n function e_button(e) {\n var b = e.which;\n if (b == null) {\n if (e.button & 1) { b = 1; }\n else if (e.button & 2) { b = 3; }\n else if (e.button & 4) { b = 2; }\n }\n if (mac && e.ctrlKey && b == 1) { b = 3; }\n return b\n }\n\n // Detect drag-and-drop\n var dragAndDrop = function() {\n // There is *some* kind of drag-and-drop support in IE6-8, but I\n // couldn't get it to work yet.\n if (ie && ie_version < 9) { return false }\n var div = elt('div');\n return \"draggable\" in div || \"dragDrop\" in div\n }();\n\n var zwspSupported;\n function zeroWidthElement(measure) {\n if (zwspSupported == null) {\n var test = elt(\"span\", \"\\u200b\");\n removeChildrenAndAdd(measure, elt(\"span\", [test, document.createTextNode(\"x\")]));\n if (measure.firstChild.offsetHeight != 0)\n { zwspSupported = test.offsetWidth <= 1 && test.offsetHeight > 2 && !(ie && ie_version < 8); }\n }\n var node = zwspSupported ? elt(\"span\", \"\\u200b\") :\n elt(\"span\", \"\\u00a0\", null, \"display: inline-block; width: 1px; margin-right: -1px\");\n node.setAttribute(\"cm-text\", \"\");\n return node\n }\n\n // Feature-detect IE's crummy client rect reporting for bidi text\n var badBidiRects;\n function hasBadBidiRects(measure) {\n if (badBidiRects != null) { return badBidiRects }\n var txt = removeChildrenAndAdd(measure, document.createTextNode(\"A\\u062eA\"));\n var r0 = range(txt, 0, 1).getBoundingClientRect();\n var r1 = range(txt, 1, 2).getBoundingClientRect();\n removeChildren(measure);\n if (!r0 || r0.left == r0.right) { return false } // Safari returns null in some cases (#2780)\n return badBidiRects = (r1.right - r0.right < 3)\n }\n\n // See if \"\".split is the broken IE version, if so, provide an\n // alternative way to split lines.\n var splitLinesAuto = \"\\n\\nb\".split(/\\n/).length != 3 ? function (string) {\n var pos = 0, result = [], l = string.length;\n while (pos <= l) {\n var nl = string.indexOf(\"\\n\", pos);\n if (nl == -1) { nl = string.length; }\n var line = string.slice(pos, string.charAt(nl - 1) == \"\\r\" ? nl - 1 : nl);\n var rt = line.indexOf(\"\\r\");\n if (rt != -1) {\n result.push(line.slice(0, rt));\n pos += rt + 1;\n } else {\n result.push(line);\n pos = nl + 1;\n }\n }\n return result\n } : function (string) { return string.split(/\\r\\n?|\\n/); };\n\n var hasSelection = window.getSelection ? function (te) {\n try { return te.selectionStart != te.selectionEnd }\n catch(e) { return false }\n } : function (te) {\n var range$$1;\n try {range$$1 = te.ownerDocument.selection.createRange();}\n catch(e) {}\n if (!range$$1 || range$$1.parentElement() != te) { return false }\n return range$$1.compareEndPoints(\"StartToEnd\", range$$1) != 0\n };\n\n var hasCopyEvent = (function () {\n var e = elt(\"div\");\n if (\"oncopy\" in e) { return true }\n e.setAttribute(\"oncopy\", \"return;\");\n return typeof e.oncopy == \"function\"\n })();\n\n var badZoomedRects = null;\n function hasBadZoomedRects(measure) {\n if (badZoomedRects != null) { return badZoomedRects }\n var node = removeChildrenAndAdd(measure, elt(\"span\", \"x\"));\n var normal = node.getBoundingClientRect();\n var fromRange = range(node, 0, 1).getBoundingClientRect();\n return badZoomedRects = Math.abs(normal.left - fromRange.left) > 1\n }\n\n // Known modes, by name and by MIME\n var modes = {}, mimeModes = {};\n\n // Extra arguments are stored as the mode's dependencies, which is\n // used by (legacy) mechanisms like loadmode.js to automatically\n // load a mode. (Preferred mechanism is the require/define calls.)\n function defineMode(name, mode) {\n if (arguments.length > 2)\n { mode.dependencies = Array.prototype.slice.call(arguments, 2); }\n modes[name] = mode;\n }\n\n function defineMIME(mime, spec) {\n mimeModes[mime] = spec;\n }\n\n // Given a MIME type, a {name, ...options} config object, or a name\n // string, return a mode config object.\n function resolveMode(spec) {\n if (typeof spec == \"string\" && mimeModes.hasOwnProperty(spec)) {\n spec = mimeModes[spec];\n } else if (spec && typeof spec.name == \"string\" && mimeModes.hasOwnProperty(spec.name)) {\n var found = mimeModes[spec.name];\n if (typeof found == \"string\") { found = {name: found}; }\n spec = createObj(found, spec);\n spec.name = found.name;\n } else if (typeof spec == \"string\" && /^[\\w\\-]+\\/[\\w\\-]+\\+xml$/.test(spec)) {\n return resolveMode(\"application/xml\")\n } else if (typeof spec == \"string\" && /^[\\w\\-]+\\/[\\w\\-]+\\+json$/.test(spec)) {\n return resolveMode(\"application/json\")\n }\n if (typeof spec == \"string\") { return {name: spec} }\n else { return spec || {name: \"null\"} }\n }\n\n // Given a mode spec (anything that resolveMode accepts), find and\n // initialize an actual mode object.\n function getMode(options, spec) {\n spec = resolveMode(spec);\n var mfactory = modes[spec.name];\n if (!mfactory) { return getMode(options, \"text/plain\") }\n var modeObj = mfactory(options, spec);\n if (modeExtensions.hasOwnProperty(spec.name)) {\n var exts = modeExtensions[spec.name];\n for (var prop in exts) {\n if (!exts.hasOwnProperty(prop)) { continue }\n if (modeObj.hasOwnProperty(prop)) { modeObj[\"_\" + prop] = modeObj[prop]; }\n modeObj[prop] = exts[prop];\n }\n }\n modeObj.name = spec.name;\n if (spec.helperType) { modeObj.helperType = spec.helperType; }\n if (spec.modeProps) { for (var prop$1 in spec.modeProps)\n { modeObj[prop$1] = spec.modeProps[prop$1]; } }\n\n return modeObj\n }\n\n // This can be used to attach properties to mode objects from\n // outside the actual mode definition.\n var modeExtensions = {};\n function extendMode(mode, properties) {\n var exts = modeExtensions.hasOwnProperty(mode) ? modeExtensions[mode] : (modeExtensions[mode] = {});\n copyObj(properties, exts);\n }\n\n function copyState(mode, state) {\n if (state === true) { return state }\n if (mode.copyState) { return mode.copyState(state) }\n var nstate = {};\n for (var n in state) {\n var val = state[n];\n if (val instanceof Array) { val = val.concat([]); }\n nstate[n] = val;\n }\n return nstate\n }\n\n // Given a mode and a state (for that mode), find the inner mode and\n // state at the position that the state refers to.\n function innerMode(mode, state) {\n var info;\n while (mode.innerMode) {\n info = mode.innerMode(state);\n if (!info || info.mode == mode) { break }\n state = info.state;\n mode = info.mode;\n }\n return info || {mode: mode, state: state}\n }\n\n function startState(mode, a1, a2) {\n return mode.startState ? mode.startState(a1, a2) : true\n }\n\n // STRING STREAM\n\n // Fed to the mode parsers, provides helper functions to make\n // parsers more succinct.\n\n var StringStream = function(string, tabSize, lineOracle) {\n this.pos = this.start = 0;\n this.string = string;\n this.tabSize = tabSize || 8;\n this.lastColumnPos = this.lastColumnValue = 0;\n this.lineStart = 0;\n this.lineOracle = lineOracle;\n };\n\n StringStream.prototype.eol = function () {return this.pos >= this.string.length};\n StringStream.prototype.sol = function () {return this.pos == this.lineStart};\n StringStream.prototype.peek = function () {return this.string.charAt(this.pos) || undefined};\n StringStream.prototype.next = function () {\n if (this.pos < this.string.length)\n { return this.string.charAt(this.pos++) }\n };\n StringStream.prototype.eat = function (match) {\n var ch = this.string.charAt(this.pos);\n var ok;\n if (typeof match == \"string\") { ok = ch == match; }\n else { ok = ch && (match.test ? match.test(ch) : match(ch)); }\n if (ok) {++this.pos; return ch}\n };\n StringStream.prototype.eatWhile = function (match) {\n var start = this.pos;\n while (this.eat(match)){}\n return this.pos > start\n };\n StringStream.prototype.eatSpace = function () {\n var this$1 = this;\n\n var start = this.pos;\n while (/[\\s\\u00a0]/.test(this.string.charAt(this.pos))) { ++this$1.pos; }\n return this.pos > start\n };\n StringStream.prototype.skipToEnd = function () {this.pos = this.string.length;};\n StringStream.prototype.skipTo = function (ch) {\n var found = this.string.indexOf(ch, this.pos);\n if (found > -1) {this.pos = found; return true}\n };\n StringStream.prototype.backUp = function (n) {this.pos -= n;};\n StringStream.prototype.column = function () {\n if (this.lastColumnPos < this.start) {\n this.lastColumnValue = countColumn(this.string, this.start, this.tabSize, this.lastColumnPos, this.lastColumnValue);\n this.lastColumnPos = this.start;\n }\n return this.lastColumnValue - (this.lineStart ? countColumn(this.string, this.lineStart, this.tabSize) : 0)\n };\n StringStream.prototype.indentation = function () {\n return countColumn(this.string, null, this.tabSize) -\n (this.lineStart ? countColumn(this.string, this.lineStart, this.tabSize) : 0)\n };\n StringStream.prototype.match = function (pattern, consume, caseInsensitive) {\n if (typeof pattern == \"string\") {\n var cased = function (str) { return caseInsensitive ? str.toLowerCase() : str; };\n var substr = this.string.substr(this.pos, pattern.length);\n if (cased(substr) == cased(pattern)) {\n if (consume !== false) { this.pos += pattern.length; }\n return true\n }\n } else {\n var match = this.string.slice(this.pos).match(pattern);\n if (match && match.index > 0) { return null }\n if (match && consume !== false) { this.pos += match[0].length; }\n return match\n }\n };\n StringStream.prototype.current = function (){return this.string.slice(this.start, this.pos)};\n StringStream.prototype.hideFirstChars = function (n, inner) {\n this.lineStart += n;\n try { return inner() }\n finally { this.lineStart -= n; }\n };\n StringStream.prototype.lookAhead = function (n) {\n var oracle = this.lineOracle;\n return oracle && oracle.lookAhead(n)\n };\n StringStream.prototype.baseToken = function () {\n var oracle = this.lineOracle;\n return oracle && oracle.baseToken(this.pos)\n };\n\n // Find the line object corresponding to the given line number.\n function getLine(doc, n) {\n n -= doc.first;\n if (n < 0 || n >= doc.size) { throw new Error(\"There is no line \" + (n + doc.first) + \" in the document.\") }\n var chunk = doc;\n while (!chunk.lines) {\n for (var i = 0;; ++i) {\n var child = chunk.children[i], sz = child.chunkSize();\n if (n < sz) { chunk = child; break }\n n -= sz;\n }\n }\n return chunk.lines[n]\n }\n\n // Get the part of a document between two positions, as an array of\n // strings.\n function getBetween(doc, start, end) {\n var out = [], n = start.line;\n doc.iter(start.line, end.line + 1, function (line) {\n var text = line.text;\n if (n == end.line) { text = text.slice(0, end.ch); }\n if (n == start.line) { text = text.slice(start.ch); }\n out.push(text);\n ++n;\n });\n return out\n }\n // Get the lines between from and to, as array of strings.\n function getLines(doc, from, to) {\n var out = [];\n doc.iter(from, to, function (line) { out.push(line.text); }); // iter aborts when callback returns truthy value\n return out\n }\n\n // Update the height of a line, propagating the height change\n // upwards to parent nodes.\n function updateLineHeight(line, height) {\n var diff = height - line.height;\n if (diff) { for (var n = line; n; n = n.parent) { n.height += diff; } }\n }\n\n // Given a line object, find its line number by walking up through\n // its parent links.\n function lineNo(line) {\n if (line.parent == null) { return null }\n var cur = line.parent, no = indexOf(cur.lines, line);\n for (var chunk = cur.parent; chunk; cur = chunk, chunk = chunk.parent) {\n for (var i = 0;; ++i) {\n if (chunk.children[i] == cur) { break }\n no += chunk.children[i].chunkSize();\n }\n }\n return no + cur.first\n }\n\n // Find the line at the given vertical position, using the height\n // information in the document tree.\n function lineAtHeight(chunk, h) {\n var n = chunk.first;\n outer: do {\n for (var i$1 = 0; i$1 < chunk.children.length; ++i$1) {\n var child = chunk.children[i$1], ch = child.height;\n if (h < ch) { chunk = child; continue outer }\n h -= ch;\n n += child.chunkSize();\n }\n return n\n } while (!chunk.lines)\n var i = 0;\n for (; i < chunk.lines.length; ++i) {\n var line = chunk.lines[i], lh = line.height;\n if (h < lh) { break }\n h -= lh;\n }\n return n + i\n }\n\n function isLine(doc, l) {return l >= doc.first && l < doc.first + doc.size}\n\n function lineNumberFor(options, i) {\n return String(options.lineNumberFormatter(i + options.firstLineNumber))\n }\n\n // A Pos instance represents a position within the text.\n function Pos(line, ch, sticky) {\n if ( sticky === void 0 ) sticky = null;\n\n if (!(this instanceof Pos)) { return new Pos(line, ch, sticky) }\n this.line = line;\n this.ch = ch;\n this.sticky = sticky;\n }\n\n // Compare two positions, return 0 if they are the same, a negative\n // number when a is less, and a positive number otherwise.\n function cmp(a, b) { return a.line - b.line || a.ch - b.ch }\n\n function equalCursorPos(a, b) { return a.sticky == b.sticky && cmp(a, b) == 0 }\n\n function copyPos(x) {return Pos(x.line, x.ch)}\n function maxPos(a, b) { return cmp(a, b) < 0 ? b : a }\n function minPos(a, b) { return cmp(a, b) < 0 ? a : b }\n\n // Most of the external API clips given positions to make sure they\n // actually exist within the document.\n function clipLine(doc, n) {return Math.max(doc.first, Math.min(n, doc.first + doc.size - 1))}\n function clipPos(doc, pos) {\n if (pos.line < doc.first) { return Pos(doc.first, 0) }\n var last = doc.first + doc.size - 1;\n if (pos.line > last) { return Pos(last, getLine(doc, last).text.length) }\n return clipToLen(pos, getLine(doc, pos.line).text.length)\n }\n function clipToLen(pos, linelen) {\n var ch = pos.ch;\n if (ch == null || ch > linelen) { return Pos(pos.line, linelen) }\n else if (ch < 0) { return Pos(pos.line, 0) }\n else { return pos }\n }\n function clipPosArray(doc, array) {\n var out = [];\n for (var i = 0; i < array.length; i++) { out[i] = clipPos(doc, array[i]); }\n return out\n }\n\n var SavedContext = function(state, lookAhead) {\n this.state = state;\n this.lookAhead = lookAhead;\n };\n\n var Context = function(doc, state, line, lookAhead) {\n this.state = state;\n this.doc = doc;\n this.line = line;\n this.maxLookAhead = lookAhead || 0;\n this.baseTokens = null;\n this.baseTokenPos = 1;\n };\n\n Context.prototype.lookAhead = function (n) {\n var line = this.doc.getLine(this.line + n);\n if (line != null && n > this.maxLookAhead) { this.maxLookAhead = n; }\n return line\n };\n\n Context.prototype.baseToken = function (n) {\n var this$1 = this;\n\n if (!this.baseTokens) { return null }\n while (this.baseTokens[this.baseTokenPos] <= n)\n { this$1.baseTokenPos += 2; }\n var type = this.baseTokens[this.baseTokenPos + 1];\n return {type: type && type.replace(/( |^)overlay .*/, \"\"),\n size: this.baseTokens[this.baseTokenPos] - n}\n };\n\n Context.prototype.nextLine = function () {\n this.line++;\n if (this.maxLookAhead > 0) { this.maxLookAhead--; }\n };\n\n Context.fromSaved = function (doc, saved, line) {\n if (saved instanceof SavedContext)\n { return new Context(doc, copyState(doc.mode, saved.state), line, saved.lookAhead) }\n else\n { return new Context(doc, copyState(doc.mode, saved), line) }\n };\n\n Context.prototype.save = function (copy) {\n var state = copy !== false ? copyState(this.doc.mode, this.state) : this.state;\n return this.maxLookAhead > 0 ? new SavedContext(state, this.maxLookAhead) : state\n };\n\n\n // Compute a style array (an array starting with a mode generation\n // -- for invalidation -- followed by pairs of end positions and\n // style strings), which is used to highlight the tokens on the\n // line.\n function highlightLine(cm, line, context, forceToEnd) {\n // A styles array always starts with a number identifying the\n // mode/overlays that it is based on (for easy invalidation).\n var st = [cm.state.modeGen], lineClasses = {};\n // Compute the base array of styles\n runMode(cm, line.text, cm.doc.mode, context, function (end, style) { return st.push(end, style); },\n lineClasses, forceToEnd);\n var state = context.state;\n\n // Run overlays, adjust style array.\n var loop = function ( o ) {\n context.baseTokens = st;\n var overlay = cm.state.overlays[o], i = 1, at = 0;\n context.state = true;\n runMode(cm, line.text, overlay.mode, context, function (end, style) {\n var start = i;\n // Ensure there's a token end at the current position, and that i points at it\n while (at < end) {\n var i_end = st[i];\n if (i_end > end)\n { st.splice(i, 1, end, st[i+1], i_end); }\n i += 2;\n at = Math.min(end, i_end);\n }\n if (!style) { return }\n if (overlay.opaque) {\n st.splice(start, i - start, end, \"overlay \" + style);\n i = start + 2;\n } else {\n for (; start < i; start += 2) {\n var cur = st[start+1];\n st[start+1] = (cur ? cur + \" \" : \"\") + \"overlay \" + style;\n }\n }\n }, lineClasses);\n context.state = state;\n context.baseTokens = null;\n context.baseTokenPos = 1;\n };\n\n for (var o = 0; o < cm.state.overlays.length; ++o) loop( o );\n\n return {styles: st, classes: lineClasses.bgClass || lineClasses.textClass ? lineClasses : null}\n }\n\n function getLineStyles(cm, line, updateFrontier) {\n if (!line.styles || line.styles[0] != cm.state.modeGen) {\n var context = getContextBefore(cm, lineNo(line));\n var resetState = line.text.length > cm.options.maxHighlightLength && copyState(cm.doc.mode, context.state);\n var result = highlightLine(cm, line, context);\n if (resetState) { context.state = resetState; }\n line.stateAfter = context.save(!resetState);\n line.styles = result.styles;\n if (result.classes) { line.styleClasses = result.classes; }\n else if (line.styleClasses) { line.styleClasses = null; }\n if (updateFrontier === cm.doc.highlightFrontier)\n { cm.doc.modeFrontier = Math.max(cm.doc.modeFrontier, ++cm.doc.highlightFrontier); }\n }\n return line.styles\n }\n\n function getContextBefore(cm, n, precise) {\n var doc = cm.doc, display = cm.display;\n if (!doc.mode.startState) { return new Context(doc, true, n) }\n var start = findStartLine(cm, n, precise);\n var saved = start > doc.first && getLine(doc, start - 1).stateAfter;\n var context = saved ? Context.fromSaved(doc, saved, start) : new Context(doc, startState(doc.mode), start);\n\n doc.iter(start, n, function (line) {\n processLine(cm, line.text, context);\n var pos = context.line;\n line.stateAfter = pos == n - 1 || pos % 5 == 0 || pos >= display.viewFrom && pos < display.viewTo ? context.save() : null;\n context.nextLine();\n });\n if (precise) { doc.modeFrontier = context.line; }\n return context\n }\n\n // Lightweight form of highlight -- proceed over this line and\n // update state, but don't save a style array. Used for lines that\n // aren't currently visible.\n function processLine(cm, text, context, startAt) {\n var mode = cm.doc.mode;\n var stream = new StringStream(text, cm.options.tabSize, context);\n stream.start = stream.pos = startAt || 0;\n if (text == \"\") { callBlankLine(mode, context.state); }\n while (!stream.eol()) {\n readToken(mode, stream, context.state);\n stream.start = stream.pos;\n }\n }\n\n function callBlankLine(mode, state) {\n if (mode.blankLine) { return mode.blankLine(state) }\n if (!mode.innerMode) { return }\n var inner = innerMode(mode, state);\n if (inner.mode.blankLine) { return inner.mode.blankLine(inner.state) }\n }\n\n function readToken(mode, stream, state, inner) {\n for (var i = 0; i < 10; i++) {\n if (inner) { inner[0] = innerMode(mode, state).mode; }\n var style = mode.token(stream, state);\n if (stream.pos > stream.start) { return style }\n }\n throw new Error(\"Mode \" + mode.name + \" failed to advance stream.\")\n }\n\n var Token = function(stream, type, state) {\n this.start = stream.start; this.end = stream.pos;\n this.string = stream.current();\n this.type = type || null;\n this.state = state;\n };\n\n // Utility for getTokenAt and getLineTokens\n function takeToken(cm, pos, precise, asArray) {\n var doc = cm.doc, mode = doc.mode, style;\n pos = clipPos(doc, pos);\n var line = getLine(doc, pos.line), context = getContextBefore(cm, pos.line, precise);\n var stream = new StringStream(line.text, cm.options.tabSize, context), tokens;\n if (asArray) { tokens = []; }\n while ((asArray || stream.pos < pos.ch) && !stream.eol()) {\n stream.start = stream.pos;\n style = readToken(mode, stream, context.state);\n if (asArray) { tokens.push(new Token(stream, style, copyState(doc.mode, context.state))); }\n }\n return asArray ? tokens : new Token(stream, style, context.state)\n }\n\n function extractLineClasses(type, output) {\n if (type) { for (;;) {\n var lineClass = type.match(/(?:^|\\s+)line-(background-)?(\\S+)/);\n if (!lineClass) { break }\n type = type.slice(0, lineClass.index) + type.slice(lineClass.index + lineClass[0].length);\n var prop = lineClass[1] ? \"bgClass\" : \"textClass\";\n if (output[prop] == null)\n { output[prop] = lineClass[2]; }\n else if (!(new RegExp(\"(?:^|\\s)\" + lineClass[2] + \"(?:$|\\s)\")).test(output[prop]))\n { output[prop] += \" \" + lineClass[2]; }\n } }\n return type\n }\n\n // Run the given mode's parser over a line, calling f for each token.\n function runMode(cm, text, mode, context, f, lineClasses, forceToEnd) {\n var flattenSpans = mode.flattenSpans;\n if (flattenSpans == null) { flattenSpans = cm.options.flattenSpans; }\n var curStart = 0, curStyle = null;\n var stream = new StringStream(text, cm.options.tabSize, context), style;\n var inner = cm.options.addModeClass && [null];\n if (text == \"\") { extractLineClasses(callBlankLine(mode, context.state), lineClasses); }\n while (!stream.eol()) {\n if (stream.pos > cm.options.maxHighlightLength) {\n flattenSpans = false;\n if (forceToEnd) { processLine(cm, text, context, stream.pos); }\n stream.pos = text.length;\n style = null;\n } else {\n style = extractLineClasses(readToken(mode, stream, context.state, inner), lineClasses);\n }\n if (inner) {\n var mName = inner[0].name;\n if (mName) { style = \"m-\" + (style ? mName + \" \" + style : mName); }\n }\n if (!flattenSpans || curStyle != style) {\n while (curStart < stream.start) {\n curStart = Math.min(stream.start, curStart + 5000);\n f(curStart, curStyle);\n }\n curStyle = style;\n }\n stream.start = stream.pos;\n }\n while (curStart < stream.pos) {\n // Webkit seems to refuse to render text nodes longer than 57444\n // characters, and returns inaccurate measurements in nodes\n // starting around 5000 chars.\n var pos = Math.min(stream.pos, curStart + 5000);\n f(pos, curStyle);\n curStart = pos;\n }\n }\n\n // Finds the line to start with when starting a parse. Tries to\n // find a line with a stateAfter, so that it can start with a\n // valid state. If that fails, it returns the line with the\n // smallest indentation, which tends to need the least context to\n // parse correctly.\n function findStartLine(cm, n, precise) {\n var minindent, minline, doc = cm.doc;\n var lim = precise ? -1 : n - (cm.doc.mode.innerMode ? 1000 : 100);\n for (var search = n; search > lim; --search) {\n if (search <= doc.first) { return doc.first }\n var line = getLine(doc, search - 1), after = line.stateAfter;\n if (after && (!precise || search + (after instanceof SavedContext ? after.lookAhead : 0) <= doc.modeFrontier))\n { return search }\n var indented = countColumn(line.text, null, cm.options.tabSize);\n if (minline == null || minindent > indented) {\n minline = search - 1;\n minindent = indented;\n }\n }\n return minline\n }\n\n function retreatFrontier(doc, n) {\n doc.modeFrontier = Math.min(doc.modeFrontier, n);\n if (doc.highlightFrontier < n - 10) { return }\n var start = doc.first;\n for (var line = n - 1; line > start; line--) {\n var saved = getLine(doc, line).stateAfter;\n // change is on 3\n // state on line 1 looked ahead 2 -- so saw 3\n // test 1 + 2 < 3 should cover this\n if (saved && (!(saved instanceof SavedContext) || line + saved.lookAhead < n)) {\n start = line + 1;\n break\n }\n }\n doc.highlightFrontier = Math.min(doc.highlightFrontier, start);\n }\n\n // Optimize some code when these features are not used.\n var sawReadOnlySpans = false, sawCollapsedSpans = false;\n\n function seeReadOnlySpans() {\n sawReadOnlySpans = true;\n }\n\n function seeCollapsedSpans() {\n sawCollapsedSpans = true;\n }\n\n // TEXTMARKER SPANS\n\n function MarkedSpan(marker, from, to) {\n this.marker = marker;\n this.from = from; this.to = to;\n }\n\n // Search an array of spans for a span matching the given marker.\n function getMarkedSpanFor(spans, marker) {\n if (spans) { for (var i = 0; i < spans.length; ++i) {\n var span = spans[i];\n if (span.marker == marker) { return span }\n } }\n }\n // Remove a span from an array, returning undefined if no spans are\n // left (we don't store arrays for lines without spans).\n function removeMarkedSpan(spans, span) {\n var r;\n for (var i = 0; i < spans.length; ++i)\n { if (spans[i] != span) { (r || (r = [])).push(spans[i]); } }\n return r\n }\n // Add a span to a line.\n function addMarkedSpan(line, span) {\n line.markedSpans = line.markedSpans ? line.markedSpans.concat([span]) : [span];\n span.marker.attachLine(line);\n }\n\n // Used for the algorithm that adjusts markers for a change in the\n // document. These functions cut an array of spans at a given\n // character position, returning an array of remaining chunks (or\n // undefined if nothing remains).\n function markedSpansBefore(old, startCh, isInsert) {\n var nw;\n if (old) { for (var i = 0; i < old.length; ++i) {\n var span = old[i], marker = span.marker;\n var startsBefore = span.from == null || (marker.inclusiveLeft ? span.from <= startCh : span.from < startCh);\n if (startsBefore || span.from == startCh && marker.type == \"bookmark\" && (!isInsert || !span.marker.insertLeft)) {\n var endsAfter = span.to == null || (marker.inclusiveRight ? span.to >= startCh : span.to > startCh)\n ;(nw || (nw = [])).push(new MarkedSpan(marker, span.from, endsAfter ? null : span.to));\n }\n } }\n return nw\n }\n function markedSpansAfter(old, endCh, isInsert) {\n var nw;\n if (old) { for (var i = 0; i < old.length; ++i) {\n var span = old[i], marker = span.marker;\n var endsAfter = span.to == null || (marker.inclusiveRight ? span.to >= endCh : span.to > endCh);\n if (endsAfter || span.from == endCh && marker.type == \"bookmark\" && (!isInsert || span.marker.insertLeft)) {\n var startsBefore = span.from == null || (marker.inclusiveLeft ? span.from <= endCh : span.from < endCh)\n ;(nw || (nw = [])).push(new MarkedSpan(marker, startsBefore ? null : span.from - endCh,\n span.to == null ? null : span.to - endCh));\n }\n } }\n return nw\n }\n\n // Given a change object, compute the new set of marker spans that\n // cover the line in which the change took place. Removes spans\n // entirely within the change, reconnects spans belonging to the\n // same marker that appear on both sides of the change, and cuts off\n // spans partially within the change. Returns an array of span\n // arrays with one element for each line in (after) the change.\n function stretchSpansOverChange(doc, change) {\n if (change.full) { return null }\n var oldFirst = isLine(doc, change.from.line) && getLine(doc, change.from.line).markedSpans;\n var oldLast = isLine(doc, change.to.line) && getLine(doc, change.to.line).markedSpans;\n if (!oldFirst && !oldLast) { return null }\n\n var startCh = change.from.ch, endCh = change.to.ch, isInsert = cmp(change.from, change.to) == 0;\n // Get the spans that 'stick out' on both sides\n var first = markedSpansBefore(oldFirst, startCh, isInsert);\n var last = markedSpansAfter(oldLast, endCh, isInsert);\n\n // Next, merge those two ends\n var sameLine = change.text.length == 1, offset = lst(change.text).length + (sameLine ? startCh : 0);\n if (first) {\n // Fix up .to properties of first\n for (var i = 0; i < first.length; ++i) {\n var span = first[i];\n if (span.to == null) {\n var found = getMarkedSpanFor(last, span.marker);\n if (!found) { span.to = startCh; }\n else if (sameLine) { span.to = found.to == null ? null : found.to + offset; }\n }\n }\n }\n if (last) {\n // Fix up .from in last (or move them into first in case of sameLine)\n for (var i$1 = 0; i$1 < last.length; ++i$1) {\n var span$1 = last[i$1];\n if (span$1.to != null) { span$1.to += offset; }\n if (span$1.from == null) {\n var found$1 = getMarkedSpanFor(first, span$1.marker);\n if (!found$1) {\n span$1.from = offset;\n if (sameLine) { (first || (first = [])).push(span$1); }\n }\n } else {\n span$1.from += offset;\n if (sameLine) { (first || (first = [])).push(span$1); }\n }\n }\n }\n // Make sure we didn't create any zero-length spans\n if (first) { first = clearEmptySpans(first); }\n if (last && last != first) { last = clearEmptySpans(last); }\n\n var newMarkers = [first];\n if (!sameLine) {\n // Fill gap with whole-line-spans\n var gap = change.text.length - 2, gapMarkers;\n if (gap > 0 && first)\n { for (var i$2 = 0; i$2 < first.length; ++i$2)\n { if (first[i$2].to == null)\n { (gapMarkers || (gapMarkers = [])).push(new MarkedSpan(first[i$2].marker, null, null)); } } }\n for (var i$3 = 0; i$3 < gap; ++i$3)\n { newMarkers.push(gapMarkers); }\n newMarkers.push(last);\n }\n return newMarkers\n }\n\n // Remove spans that are empty and don't have a clearWhenEmpty\n // option of false.\n function clearEmptySpans(spans) {\n for (var i = 0; i < spans.length; ++i) {\n var span = spans[i];\n if (span.from != null && span.from == span.to && span.marker.clearWhenEmpty !== false)\n { spans.splice(i--, 1); }\n }\n if (!spans.length) { return null }\n return spans\n }\n\n // Used to 'clip' out readOnly ranges when making a change.\n function removeReadOnlyRanges(doc, from, to) {\n var markers = null;\n doc.iter(from.line, to.line + 1, function (line) {\n if (line.markedSpans) { for (var i = 0; i < line.markedSpans.length; ++i) {\n var mark = line.markedSpans[i].marker;\n if (mark.readOnly && (!markers || indexOf(markers, mark) == -1))\n { (markers || (markers = [])).push(mark); }\n } }\n });\n if (!markers) { return null }\n var parts = [{from: from, to: to}];\n for (var i = 0; i < markers.length; ++i) {\n var mk = markers[i], m = mk.find(0);\n for (var j = 0; j < parts.length; ++j) {\n var p = parts[j];\n if (cmp(p.to, m.from) < 0 || cmp(p.from, m.to) > 0) { continue }\n var newParts = [j, 1], dfrom = cmp(p.from, m.from), dto = cmp(p.to, m.to);\n if (dfrom < 0 || !mk.inclusiveLeft && !dfrom)\n { newParts.push({from: p.from, to: m.from}); }\n if (dto > 0 || !mk.inclusiveRight && !dto)\n { newParts.push({from: m.to, to: p.to}); }\n parts.splice.apply(parts, newParts);\n j += newParts.length - 3;\n }\n }\n return parts\n }\n\n // Connect or disconnect spans from a line.\n function detachMarkedSpans(line) {\n var spans = line.markedSpans;\n if (!spans) { return }\n for (var i = 0; i < spans.length; ++i)\n { spans[i].marker.detachLine(line); }\n line.markedSpans = null;\n }\n function attachMarkedSpans(line, spans) {\n if (!spans) { return }\n for (var i = 0; i < spans.length; ++i)\n { spans[i].marker.attachLine(line); }\n line.markedSpans = spans;\n }\n\n // Helpers used when computing which overlapping collapsed span\n // counts as the larger one.\n function extraLeft(marker) { return marker.inclusiveLeft ? -1 : 0 }\n function extraRight(marker) { return marker.inclusiveRight ? 1 : 0 }\n\n // Returns a number indicating which of two overlapping collapsed\n // spans is larger (and thus includes the other). Falls back to\n // comparing ids when the spans cover exactly the same range.\n function compareCollapsedMarkers(a, b) {\n var lenDiff = a.lines.length - b.lines.length;\n if (lenDiff != 0) { return lenDiff }\n var aPos = a.find(), bPos = b.find();\n var fromCmp = cmp(aPos.from, bPos.from) || extraLeft(a) - extraLeft(b);\n if (fromCmp) { return -fromCmp }\n var toCmp = cmp(aPos.to, bPos.to) || extraRight(a) - extraRight(b);\n if (toCmp) { return toCmp }\n return b.id - a.id\n }\n\n // Find out whether a line ends or starts in a collapsed span. If\n // so, return the marker for that span.\n function collapsedSpanAtSide(line, start) {\n var sps = sawCollapsedSpans && line.markedSpans, found;\n if (sps) { for (var sp = (void 0), i = 0; i < sps.length; ++i) {\n sp = sps[i];\n if (sp.marker.collapsed && (start ? sp.from : sp.to) == null &&\n (!found || compareCollapsedMarkers(found, sp.marker) < 0))\n { found = sp.marker; }\n } }\n return found\n }\n function collapsedSpanAtStart(line) { return collapsedSpanAtSide(line, true) }\n function collapsedSpanAtEnd(line) { return collapsedSpanAtSide(line, false) }\n\n function collapsedSpanAround(line, ch) {\n var sps = sawCollapsedSpans && line.markedSpans, found;\n if (sps) { for (var i = 0; i < sps.length; ++i) {\n var sp = sps[i];\n if (sp.marker.collapsed && (sp.from == null || sp.from < ch) && (sp.to == null || sp.to > ch) &&\n (!found || compareCollapsedMarkers(found, sp.marker) < 0)) { found = sp.marker; }\n } }\n return found\n }\n\n // Test whether there exists a collapsed span that partially\n // overlaps (covers the start or end, but not both) of a new span.\n // Such overlap is not allowed.\n function conflictingCollapsedRange(doc, lineNo$$1, from, to, marker) {\n var line = getLine(doc, lineNo$$1);\n var sps = sawCollapsedSpans && line.markedSpans;\n if (sps) { for (var i = 0; i < sps.length; ++i) {\n var sp = sps[i];\n if (!sp.marker.collapsed) { continue }\n var found = sp.marker.find(0);\n var fromCmp = cmp(found.from, from) || extraLeft(sp.marker) - extraLeft(marker);\n var toCmp = cmp(found.to, to) || extraRight(sp.marker) - extraRight(marker);\n if (fromCmp >= 0 && toCmp <= 0 || fromCmp <= 0 && toCmp >= 0) { continue }\n if (fromCmp <= 0 && (sp.marker.inclusiveRight && marker.inclusiveLeft ? cmp(found.to, from) >= 0 : cmp(found.to, from) > 0) ||\n fromCmp >= 0 && (sp.marker.inclusiveRight && marker.inclusiveLeft ? cmp(found.from, to) <= 0 : cmp(found.from, to) < 0))\n { return true }\n } }\n }\n\n // A visual line is a line as drawn on the screen. Folding, for\n // example, can cause multiple logical lines to appear on the same\n // visual line. This finds the start of the visual line that the\n // given line is part of (usually that is the line itself).\n function visualLine(line) {\n var merged;\n while (merged = collapsedSpanAtStart(line))\n { line = merged.find(-1, true).line; }\n return line\n }\n\n function visualLineEnd(line) {\n var merged;\n while (merged = collapsedSpanAtEnd(line))\n { line = merged.find(1, true).line; }\n return line\n }\n\n // Returns an array of logical lines that continue the visual line\n // started by the argument, or undefined if there are no such lines.\n function visualLineContinued(line) {\n var merged, lines;\n while (merged = collapsedSpanAtEnd(line)) {\n line = merged.find(1, true).line\n ;(lines || (lines = [])).push(line);\n }\n return lines\n }\n\n // Get the line number of the start of the visual line that the\n // given line number is part of.\n function visualLineNo(doc, lineN) {\n var line = getLine(doc, lineN), vis = visualLine(line);\n if (line == vis) { return lineN }\n return lineNo(vis)\n }\n\n // Get the line number of the start of the next visual line after\n // the given line.\n function visualLineEndNo(doc, lineN) {\n if (lineN > doc.lastLine()) { return lineN }\n var line = getLine(doc, lineN), merged;\n if (!lineIsHidden(doc, line)) { return lineN }\n while (merged = collapsedSpanAtEnd(line))\n { line = merged.find(1, true).line; }\n return lineNo(line) + 1\n }\n\n // Compute whether a line is hidden. Lines count as hidden when they\n // are part of a visual line that starts with another line, or when\n // they are entirely covered by collapsed, non-widget span.\n function lineIsHidden(doc, line) {\n var sps = sawCollapsedSpans && line.markedSpans;\n if (sps) { for (var sp = (void 0), i = 0; i < sps.length; ++i) {\n sp = sps[i];\n if (!sp.marker.collapsed) { continue }\n if (sp.from == null) { return true }\n if (sp.marker.widgetNode) { continue }\n if (sp.from == 0 && sp.marker.inclusiveLeft && lineIsHiddenInner(doc, line, sp))\n { return true }\n } }\n }\n function lineIsHiddenInner(doc, line, span) {\n if (span.to == null) {\n var end = span.marker.find(1, true);\n return lineIsHiddenInner(doc, end.line, getMarkedSpanFor(end.line.markedSpans, span.marker))\n }\n if (span.marker.inclusiveRight && span.to == line.text.length)\n { return true }\n for (var sp = (void 0), i = 0; i < line.markedSpans.length; ++i) {\n sp = line.markedSpans[i];\n if (sp.marker.collapsed && !sp.marker.widgetNode && sp.from == span.to &&\n (sp.to == null || sp.to != span.from) &&\n (sp.marker.inclusiveLeft || span.marker.inclusiveRight) &&\n lineIsHiddenInner(doc, line, sp)) { return true }\n }\n }\n\n // Find the height above the given line.\n function heightAtLine(lineObj) {\n lineObj = visualLine(lineObj);\n\n var h = 0, chunk = lineObj.parent;\n for (var i = 0; i < chunk.lines.length; ++i) {\n var line = chunk.lines[i];\n if (line == lineObj) { break }\n else { h += line.height; }\n }\n for (var p = chunk.parent; p; chunk = p, p = chunk.parent) {\n for (var i$1 = 0; i$1 < p.children.length; ++i$1) {\n var cur = p.children[i$1];\n if (cur == chunk) { break }\n else { h += cur.height; }\n }\n }\n return h\n }\n\n // Compute the character length of a line, taking into account\n // collapsed ranges (see markText) that might hide parts, and join\n // other lines onto it.\n function lineLength(line) {\n if (line.height == 0) { return 0 }\n var len = line.text.length, merged, cur = line;\n while (merged = collapsedSpanAtStart(cur)) {\n var found = merged.find(0, true);\n cur = found.from.line;\n len += found.from.ch - found.to.ch;\n }\n cur = line;\n while (merged = collapsedSpanAtEnd(cur)) {\n var found$1 = merged.find(0, true);\n len -= cur.text.length - found$1.from.ch;\n cur = found$1.to.line;\n len += cur.text.length - found$1.to.ch;\n }\n return len\n }\n\n // Find the longest line in the document.\n function findMaxLine(cm) {\n var d = cm.display, doc = cm.doc;\n d.maxLine = getLine(doc, doc.first);\n d.maxLineLength = lineLength(d.maxLine);\n d.maxLineChanged = true;\n doc.iter(function (line) {\n var len = lineLength(line);\n if (len > d.maxLineLength) {\n d.maxLineLength = len;\n d.maxLine = line;\n }\n });\n }\n\n // LINE DATA STRUCTURE\n\n // Line objects. These hold state related to a line, including\n // highlighting info (the styles array).\n var Line = function(text, markedSpans, estimateHeight) {\n this.text = text;\n attachMarkedSpans(this, markedSpans);\n this.height = estimateHeight ? estimateHeight(this) : 1;\n };\n\n Line.prototype.lineNo = function () { return lineNo(this) };\n eventMixin(Line);\n\n // Change the content (text, markers) of a line. Automatically\n // invalidates cached information and tries to re-estimate the\n // line's height.\n function updateLine(line, text, markedSpans, estimateHeight) {\n line.text = text;\n if (line.stateAfter) { line.stateAfter = null; }\n if (line.styles) { line.styles = null; }\n if (line.order != null) { line.order = null; }\n detachMarkedSpans(line);\n attachMarkedSpans(line, markedSpans);\n var estHeight = estimateHeight ? estimateHeight(line) : 1;\n if (estHeight != line.height) { updateLineHeight(line, estHeight); }\n }\n\n // Detach a line from the document tree and its markers.\n function cleanUpLine(line) {\n line.parent = null;\n detachMarkedSpans(line);\n }\n\n // Convert a style as returned by a mode (either null, or a string\n // containing one or more styles) to a CSS style. This is cached,\n // and also looks for line-wide styles.\n var styleToClassCache = {}, styleToClassCacheWithMode = {};\n function interpretTokenStyle(style, options) {\n if (!style || /^\\s*$/.test(style)) { return null }\n var cache = options.addModeClass ? styleToClassCacheWithMode : styleToClassCache;\n return cache[style] ||\n (cache[style] = style.replace(/\\S+/g, \"cm-$&\"))\n }\n\n // Render the DOM representation of the text of a line. Also builds\n // up a 'line map', which points at the DOM nodes that represent\n // specific stretches of text, and is used by the measuring code.\n // The returned object contains the DOM node, this map, and\n // information about line-wide styles that were set by the mode.\n function buildLineContent(cm, lineView) {\n // The padding-right forces the element to have a 'border', which\n // is needed on Webkit to be able to get line-level bounding\n // rectangles for it (in measureChar).\n var content = eltP(\"span\", null, null, webkit ? \"padding-right: .1px\" : null);\n var builder = {pre: eltP(\"pre\", [content], \"CodeMirror-line\"), content: content,\n col: 0, pos: 0, cm: cm,\n trailingSpace: false,\n splitSpaces: cm.getOption(\"lineWrapping\")};\n lineView.measure = {};\n\n // Iterate over the logical lines that make up this visual line.\n for (var i = 0; i <= (lineView.rest ? lineView.rest.length : 0); i++) {\n var line = i ? lineView.rest[i - 1] : lineView.line, order = (void 0);\n builder.pos = 0;\n builder.addToken = buildToken;\n // Optionally wire in some hacks into the token-rendering\n // algorithm, to deal with browser quirks.\n if (hasBadBidiRects(cm.display.measure) && (order = getOrder(line, cm.doc.direction)))\n { builder.addToken = buildTokenBadBidi(builder.addToken, order); }\n builder.map = [];\n var allowFrontierUpdate = lineView != cm.display.externalMeasured && lineNo(line);\n insertLineContent(line, builder, getLineStyles(cm, line, allowFrontierUpdate));\n if (line.styleClasses) {\n if (line.styleClasses.bgClass)\n { builder.bgClass = joinClasses(line.styleClasses.bgClass, builder.bgClass || \"\"); }\n if (line.styleClasses.textClass)\n { builder.textClass = joinClasses(line.styleClasses.textClass, builder.textClass || \"\"); }\n }\n\n // Ensure at least a single node is present, for measuring.\n if (builder.map.length == 0)\n { builder.map.push(0, 0, builder.content.appendChild(zeroWidthElement(cm.display.measure))); }\n\n // Store the map and a cache object for the current logical line\n if (i == 0) {\n lineView.measure.map = builder.map;\n lineView.measure.cache = {};\n } else {\n (lineView.measure.maps || (lineView.measure.maps = [])).push(builder.map)\n ;(lineView.measure.caches || (lineView.measure.caches = [])).push({});\n }\n }\n\n // See issue #2901\n if (webkit) {\n var last = builder.content.lastChild;\n if (/\\bcm-tab\\b/.test(last.className) || (last.querySelector && last.querySelector(\".cm-tab\")))\n { builder.content.className = \"cm-tab-wrap-hack\"; }\n }\n\n signal(cm, \"renderLine\", cm, lineView.line, builder.pre);\n if (builder.pre.className)\n { builder.textClass = joinClasses(builder.pre.className, builder.textClass || \"\"); }\n\n return builder\n }\n\n function defaultSpecialCharPlaceholder(ch) {\n var token = elt(\"span\", \"\\u2022\", \"cm-invalidchar\");\n token.title = \"\\\\u\" + ch.charCodeAt(0).toString(16);\n token.setAttribute(\"aria-label\", token.title);\n return token\n }\n\n // Build up the DOM representation for a single token, and add it to\n // the line map. Takes care to render special characters separately.\n function buildToken(builder, text, style, startStyle, endStyle, css, attributes) {\n if (!text) { return }\n var displayText = builder.splitSpaces ? splitSpaces(text, builder.trailingSpace) : text;\n var special = builder.cm.state.specialChars, mustWrap = false;\n var content;\n if (!special.test(text)) {\n builder.col += text.length;\n content = document.createTextNode(displayText);\n builder.map.push(builder.pos, builder.pos + text.length, content);\n if (ie && ie_version < 9) { mustWrap = true; }\n builder.pos += text.length;\n } else {\n content = document.createDocumentFragment();\n var pos = 0;\n while (true) {\n special.lastIndex = pos;\n var m = special.exec(text);\n var skipped = m ? m.index - pos : text.length - pos;\n if (skipped) {\n var txt = document.createTextNode(displayText.slice(pos, pos + skipped));\n if (ie && ie_version < 9) { content.appendChild(elt(\"span\", [txt])); }\n else { content.appendChild(txt); }\n builder.map.push(builder.pos, builder.pos + skipped, txt);\n builder.col += skipped;\n builder.pos += skipped;\n }\n if (!m) { break }\n pos += skipped + 1;\n var txt$1 = (void 0);\n if (m[0] == \"\\t\") {\n var tabSize = builder.cm.options.tabSize, tabWidth = tabSize - builder.col % tabSize;\n txt$1 = content.appendChild(elt(\"span\", spaceStr(tabWidth), \"cm-tab\"));\n txt$1.setAttribute(\"role\", \"presentation\");\n txt$1.setAttribute(\"cm-text\", \"\\t\");\n builder.col += tabWidth;\n } else if (m[0] == \"\\r\" || m[0] == \"\\n\") {\n txt$1 = content.appendChild(elt(\"span\", m[0] == \"\\r\" ? \"\\u240d\" : \"\\u2424\", \"cm-invalidchar\"));\n txt$1.setAttribute(\"cm-text\", m[0]);\n builder.col += 1;\n } else {\n txt$1 = builder.cm.options.specialCharPlaceholder(m[0]);\n txt$1.setAttribute(\"cm-text\", m[0]);\n if (ie && ie_version < 9) { content.appendChild(elt(\"span\", [txt$1])); }\n else { content.appendChild(txt$1); }\n builder.col += 1;\n }\n builder.map.push(builder.pos, builder.pos + 1, txt$1);\n builder.pos++;\n }\n }\n builder.trailingSpace = displayText.charCodeAt(text.length - 1) == 32;\n if (style || startStyle || endStyle || mustWrap || css) {\n var fullStyle = style || \"\";\n if (startStyle) { fullStyle += startStyle; }\n if (endStyle) { fullStyle += endStyle; }\n var token = elt(\"span\", [content], fullStyle, css);\n if (attributes) {\n for (var attr in attributes) { if (attributes.hasOwnProperty(attr) && attr != \"style\" && attr != \"class\")\n { token.setAttribute(attr, attributes[attr]); } }\n }\n return builder.content.appendChild(token)\n }\n builder.content.appendChild(content);\n }\n\n // Change some spaces to NBSP to prevent the browser from collapsing\n // trailing spaces at the end of a line when rendering text (issue #1362).\n function splitSpaces(text, trailingBefore) {\n if (text.length > 1 && !/ /.test(text)) { return text }\n var spaceBefore = trailingBefore, result = \"\";\n for (var i = 0; i < text.length; i++) {\n var ch = text.charAt(i);\n if (ch == \" \" && spaceBefore && (i == text.length - 1 || text.charCodeAt(i + 1) == 32))\n { ch = \"\\u00a0\"; }\n result += ch;\n spaceBefore = ch == \" \";\n }\n return result\n }\n\n // Work around nonsense dimensions being reported for stretches of\n // right-to-left text.\n function buildTokenBadBidi(inner, order) {\n return function (builder, text, style, startStyle, endStyle, css, attributes) {\n style = style ? style + \" cm-force-border\" : \"cm-force-border\";\n var start = builder.pos, end = start + text.length;\n for (;;) {\n // Find the part that overlaps with the start of this text\n var part = (void 0);\n for (var i = 0; i < order.length; i++) {\n part = order[i];\n if (part.to > start && part.from <= start) { break }\n }\n if (part.to >= end) { return inner(builder, text, style, startStyle, endStyle, css, attributes) }\n inner(builder, text.slice(0, part.to - start), style, startStyle, null, css, attributes);\n startStyle = null;\n text = text.slice(part.to - start);\n start = part.to;\n }\n }\n }\n\n function buildCollapsedSpan(builder, size, marker, ignoreWidget) {\n var widget = !ignoreWidget && marker.widgetNode;\n if (widget) { builder.map.push(builder.pos, builder.pos + size, widget); }\n if (!ignoreWidget && builder.cm.display.input.needsContentAttribute) {\n if (!widget)\n { widget = builder.content.appendChild(document.createElement(\"span\")); }\n widget.setAttribute(\"cm-marker\", marker.id);\n }\n if (widget) {\n builder.cm.display.input.setUneditable(widget);\n builder.content.appendChild(widget);\n }\n builder.pos += size;\n builder.trailingSpace = false;\n }\n\n // Outputs a number of spans to make up a line, taking highlighting\n // and marked text into account.\n function insertLineContent(line, builder, styles) {\n var spans = line.markedSpans, allText = line.text, at = 0;\n if (!spans) {\n for (var i$1 = 1; i$1 < styles.length; i$1+=2)\n { builder.addToken(builder, allText.slice(at, at = styles[i$1]), interpretTokenStyle(styles[i$1+1], builder.cm.options)); }\n return\n }\n\n var len = allText.length, pos = 0, i = 1, text = \"\", style, css;\n var nextChange = 0, spanStyle, spanEndStyle, spanStartStyle, collapsed, attributes;\n for (;;) {\n if (nextChange == pos) { // Update current marker set\n spanStyle = spanEndStyle = spanStartStyle = css = \"\";\n attributes = null;\n collapsed = null; nextChange = Infinity;\n var foundBookmarks = [], endStyles = (void 0);\n for (var j = 0; j < spans.length; ++j) {\n var sp = spans[j], m = sp.marker;\n if (m.type == \"bookmark\" && sp.from == pos && m.widgetNode) {\n foundBookmarks.push(m);\n } else if (sp.from <= pos && (sp.to == null || sp.to > pos || m.collapsed && sp.to == pos && sp.from == pos)) {\n if (sp.to != null && sp.to != pos && nextChange > sp.to) {\n nextChange = sp.to;\n spanEndStyle = \"\";\n }\n if (m.className) { spanStyle += \" \" + m.className; }\n if (m.css) { css = (css ? css + \";\" : \"\") + m.css; }\n if (m.startStyle && sp.from == pos) { spanStartStyle += \" \" + m.startStyle; }\n if (m.endStyle && sp.to == nextChange) { (endStyles || (endStyles = [])).push(m.endStyle, sp.to); }\n // support for the old title property\n // https://github.com/codemirror/CodeMirror/pull/5673\n if (m.title) { (attributes || (attributes = {})).title = m.title; }\n if (m.attributes) {\n for (var attr in m.attributes)\n { (attributes || (attributes = {}))[attr] = m.attributes[attr]; }\n }\n if (m.collapsed && (!collapsed || compareCollapsedMarkers(collapsed.marker, m) < 0))\n { collapsed = sp; }\n } else if (sp.from > pos && nextChange > sp.from) {\n nextChange = sp.from;\n }\n }\n if (endStyles) { for (var j$1 = 0; j$1 < endStyles.length; j$1 += 2)\n { if (endStyles[j$1 + 1] == nextChange) { spanEndStyle += \" \" + endStyles[j$1]; } } }\n\n if (!collapsed || collapsed.from == pos) { for (var j$2 = 0; j$2 < foundBookmarks.length; ++j$2)\n { buildCollapsedSpan(builder, 0, foundBookmarks[j$2]); } }\n if (collapsed && (collapsed.from || 0) == pos) {\n buildCollapsedSpan(builder, (collapsed.to == null ? len + 1 : collapsed.to) - pos,\n collapsed.marker, collapsed.from == null);\n if (collapsed.to == null) { return }\n if (collapsed.to == pos) { collapsed = false; }\n }\n }\n if (pos >= len) { break }\n\n var upto = Math.min(len, nextChange);\n while (true) {\n if (text) {\n var end = pos + text.length;\n if (!collapsed) {\n var tokenText = end > upto ? text.slice(0, upto - pos) : text;\n builder.addToken(builder, tokenText, style ? style + spanStyle : spanStyle,\n spanStartStyle, pos + tokenText.length == nextChange ? spanEndStyle : \"\", css, attributes);\n }\n if (end >= upto) {text = text.slice(upto - pos); pos = upto; break}\n pos = end;\n spanStartStyle = \"\";\n }\n text = allText.slice(at, at = styles[i++]);\n style = interpretTokenStyle(styles[i++], builder.cm.options);\n }\n }\n }\n\n\n // These objects are used to represent the visible (currently drawn)\n // part of the document. A LineView may correspond to multiple\n // logical lines, if those are connected by collapsed ranges.\n function LineView(doc, line, lineN) {\n // The starting line\n this.line = line;\n // Continuing lines, if any\n this.rest = visualLineContinued(line);\n // Number of logical lines in this visual line\n this.size = this.rest ? lineNo(lst(this.rest)) - lineN + 1 : 1;\n this.node = this.text = null;\n this.hidden = lineIsHidden(doc, line);\n }\n\n // Create a range of LineView objects for the given lines.\n function buildViewArray(cm, from, to) {\n var array = [], nextPos;\n for (var pos = from; pos < to; pos = nextPos) {\n var view = new LineView(cm.doc, getLine(cm.doc, pos), pos);\n nextPos = pos + view.size;\n array.push(view);\n }\n return array\n }\n\n var operationGroup = null;\n\n function pushOperation(op) {\n if (operationGroup) {\n operationGroup.ops.push(op);\n } else {\n op.ownsGroup = operationGroup = {\n ops: [op],\n delayedCallbacks: []\n };\n }\n }\n\n function fireCallbacksForOps(group) {\n // Calls delayed callbacks and cursorActivity handlers until no\n // new ones appear\n var callbacks = group.delayedCallbacks, i = 0;\n do {\n for (; i < callbacks.length; i++)\n { callbacks[i].call(null); }\n for (var j = 0; j < group.ops.length; j++) {\n var op = group.ops[j];\n if (op.cursorActivityHandlers)\n { while (op.cursorActivityCalled < op.cursorActivityHandlers.length)\n { op.cursorActivityHandlers[op.cursorActivityCalled++].call(null, op.cm); } }\n }\n } while (i < callbacks.length)\n }\n\n function finishOperation(op, endCb) {\n var group = op.ownsGroup;\n if (!group) { return }\n\n try { fireCallbacksForOps(group); }\n finally {\n operationGroup = null;\n endCb(group);\n }\n }\n\n var orphanDelayedCallbacks = null;\n\n // Often, we want to signal events at a point where we are in the\n // middle of some work, but don't want the handler to start calling\n // other methods on the editor, which might be in an inconsistent\n // state or simply not expect any other events to happen.\n // signalLater looks whether there are any handlers, and schedules\n // them to be executed when the last operation ends, or, if no\n // operation is active, when a timeout fires.\n function signalLater(emitter, type /*, values...*/) {\n var arr = getHandlers(emitter, type);\n if (!arr.length) { return }\n var args = Array.prototype.slice.call(arguments, 2), list;\n if (operationGroup) {\n list = operationGroup.delayedCallbacks;\n } else if (orphanDelayedCallbacks) {\n list = orphanDelayedCallbacks;\n } else {\n list = orphanDelayedCallbacks = [];\n setTimeout(fireOrphanDelayed, 0);\n }\n var loop = function ( i ) {\n list.push(function () { return arr[i].apply(null, args); });\n };\n\n for (var i = 0; i < arr.length; ++i)\n loop( i );\n }\n\n function fireOrphanDelayed() {\n var delayed = orphanDelayedCallbacks;\n orphanDelayedCallbacks = null;\n for (var i = 0; i < delayed.length; ++i) { delayed[i](); }\n }\n\n // When an aspect of a line changes, a string is added to\n // lineView.changes. This updates the relevant part of the line's\n // DOM structure.\n function updateLineForChanges(cm, lineView, lineN, dims) {\n for (var j = 0; j < lineView.changes.length; j++) {\n var type = lineView.changes[j];\n if (type == \"text\") { updateLineText(cm, lineView); }\n else if (type == \"gutter\") { updateLineGutter(cm, lineView, lineN, dims); }\n else if (type == \"class\") { updateLineClasses(cm, lineView); }\n else if (type == \"widget\") { updateLineWidgets(cm, lineView, dims); }\n }\n lineView.changes = null;\n }\n\n // Lines with gutter elements, widgets or a background class need to\n // be wrapped, and have the extra elements added to the wrapper div\n function ensureLineWrapped(lineView) {\n if (lineView.node == lineView.text) {\n lineView.node = elt(\"div\", null, null, \"position: relative\");\n if (lineView.text.parentNode)\n { lineView.text.parentNode.replaceChild(lineView.node, lineView.text); }\n lineView.node.appendChild(lineView.text);\n if (ie && ie_version < 8) { lineView.node.style.zIndex = 2; }\n }\n return lineView.node\n }\n\n function updateLineBackground(cm, lineView) {\n var cls = lineView.bgClass ? lineView.bgClass + \" \" + (lineView.line.bgClass || \"\") : lineView.line.bgClass;\n if (cls) { cls += \" CodeMirror-linebackground\"; }\n if (lineView.background) {\n if (cls) { lineView.background.className = cls; }\n else { lineView.background.parentNode.removeChild(lineView.background); lineView.background = null; }\n } else if (cls) {\n var wrap = ensureLineWrapped(lineView);\n lineView.background = wrap.insertBefore(elt(\"div\", null, cls), wrap.firstChild);\n cm.display.input.setUneditable(lineView.background);\n }\n }\n\n // Wrapper around buildLineContent which will reuse the structure\n // in display.externalMeasured when possible.\n function getLineContent(cm, lineView) {\n var ext = cm.display.externalMeasured;\n if (ext && ext.line == lineView.line) {\n cm.display.externalMeasured = null;\n lineView.measure = ext.measure;\n return ext.built\n }\n return buildLineContent(cm, lineView)\n }\n\n // Redraw the line's text. Interacts with the background and text\n // classes because the mode may output tokens that influence these\n // classes.\n function updateLineText(cm, lineView) {\n var cls = lineView.text.className;\n var built = getLineContent(cm, lineView);\n if (lineView.text == lineView.node) { lineView.node = built.pre; }\n lineView.text.parentNode.replaceChild(built.pre, lineView.text);\n lineView.text = built.pre;\n if (built.bgClass != lineView.bgClass || built.textClass != lineView.textClass) {\n lineView.bgClass = built.bgClass;\n lineView.textClass = built.textClass;\n updateLineClasses(cm, lineView);\n } else if (cls) {\n lineView.text.className = cls;\n }\n }\n\n function updateLineClasses(cm, lineView) {\n updateLineBackground(cm, lineView);\n if (lineView.line.wrapClass)\n { ensureLineWrapped(lineView).className = lineView.line.wrapClass; }\n else if (lineView.node != lineView.text)\n { lineView.node.className = \"\"; }\n var textClass = lineView.textClass ? lineView.textClass + \" \" + (lineView.line.textClass || \"\") : lineView.line.textClass;\n lineView.text.className = textClass || \"\";\n }\n\n function updateLineGutter(cm, lineView, lineN, dims) {\n if (lineView.gutter) {\n lineView.node.removeChild(lineView.gutter);\n lineView.gutter = null;\n }\n if (lineView.gutterBackground) {\n lineView.node.removeChild(lineView.gutterBackground);\n lineView.gutterBackground = null;\n }\n if (lineView.line.gutterClass) {\n var wrap = ensureLineWrapped(lineView);\n lineView.gutterBackground = elt(\"div\", null, \"CodeMirror-gutter-background \" + lineView.line.gutterClass,\n (\"left: \" + (cm.options.fixedGutter ? dims.fixedPos : -dims.gutterTotalWidth) + \"px; width: \" + (dims.gutterTotalWidth) + \"px\"));\n cm.display.input.setUneditable(lineView.gutterBackground);\n wrap.insertBefore(lineView.gutterBackground, lineView.text);\n }\n var markers = lineView.line.gutterMarkers;\n if (cm.options.lineNumbers || markers) {\n var wrap$1 = ensureLineWrapped(lineView);\n var gutterWrap = lineView.gutter = elt(\"div\", null, \"CodeMirror-gutter-wrapper\", (\"left: \" + (cm.options.fixedGutter ? dims.fixedPos : -dims.gutterTotalWidth) + \"px\"));\n cm.display.input.setUneditable(gutterWrap);\n wrap$1.insertBefore(gutterWrap, lineView.text);\n if (lineView.line.gutterClass)\n { gutterWrap.className += \" \" + lineView.line.gutterClass; }\n if (cm.options.lineNumbers && (!markers || !markers[\"CodeMirror-linenumbers\"]))\n { lineView.lineNumber = gutterWrap.appendChild(\n elt(\"div\", lineNumberFor(cm.options, lineN),\n \"CodeMirror-linenumber CodeMirror-gutter-elt\",\n (\"left: \" + (dims.gutterLeft[\"CodeMirror-linenumbers\"]) + \"px; width: \" + (cm.display.lineNumInnerWidth) + \"px\"))); }\n if (markers) { for (var k = 0; k < cm.display.gutterSpecs.length; ++k) {\n var id = cm.display.gutterSpecs[k].className, found = markers.hasOwnProperty(id) && markers[id];\n if (found)\n { gutterWrap.appendChild(elt(\"div\", [found], \"CodeMirror-gutter-elt\",\n (\"left: \" + (dims.gutterLeft[id]) + \"px; width: \" + (dims.gutterWidth[id]) + \"px\"))); }\n } }\n }\n }\n\n function updateLineWidgets(cm, lineView, dims) {\n if (lineView.alignable) { lineView.alignable = null; }\n for (var node = lineView.node.firstChild, next = (void 0); node; node = next) {\n next = node.nextSibling;\n if (node.className == \"CodeMirror-linewidget\")\n { lineView.node.removeChild(node); }\n }\n insertLineWidgets(cm, lineView, dims);\n }\n\n // Build a line's DOM representation from scratch\n function buildLineElement(cm, lineView, lineN, dims) {\n var built = getLineContent(cm, lineView);\n lineView.text = lineView.node = built.pre;\n if (built.bgClass) { lineView.bgClass = built.bgClass; }\n if (built.textClass) { lineView.textClass = built.textClass; }\n\n updateLineClasses(cm, lineView);\n updateLineGutter(cm, lineView, lineN, dims);\n insertLineWidgets(cm, lineView, dims);\n return lineView.node\n }\n\n // A lineView may contain multiple logical lines (when merged by\n // collapsed spans). The widgets for all of them need to be drawn.\n function insertLineWidgets(cm, lineView, dims) {\n insertLineWidgetsFor(cm, lineView.line, lineView, dims, true);\n if (lineView.rest) { for (var i = 0; i < lineView.rest.length; i++)\n { insertLineWidgetsFor(cm, lineView.rest[i], lineView, dims, false); } }\n }\n\n function insertLineWidgetsFor(cm, line, lineView, dims, allowAbove) {\n if (!line.widgets) { return }\n var wrap = ensureLineWrapped(lineView);\n for (var i = 0, ws = line.widgets; i < ws.length; ++i) {\n var widget = ws[i], node = elt(\"div\", [widget.node], \"CodeMirror-linewidget\");\n if (!widget.handleMouseEvents) { node.setAttribute(\"cm-ignore-events\", \"true\"); }\n positionLineWidget(widget, node, lineView, dims);\n cm.display.input.setUneditable(node);\n if (allowAbove && widget.above)\n { wrap.insertBefore(node, lineView.gutter || lineView.text); }\n else\n { wrap.appendChild(node); }\n signalLater(widget, \"redraw\");\n }\n }\n\n function positionLineWidget(widget, node, lineView, dims) {\n if (widget.noHScroll) {\n (lineView.alignable || (lineView.alignable = [])).push(node);\n var width = dims.wrapperWidth;\n node.style.left = dims.fixedPos + \"px\";\n if (!widget.coverGutter) {\n width -= dims.gutterTotalWidth;\n node.style.paddingLeft = dims.gutterTotalWidth + \"px\";\n }\n node.style.width = width + \"px\";\n }\n if (widget.coverGutter) {\n node.style.zIndex = 5;\n node.style.position = \"relative\";\n if (!widget.noHScroll) { node.style.marginLeft = -dims.gutterTotalWidth + \"px\"; }\n }\n }\n\n function widgetHeight(widget) {\n if (widget.height != null) { return widget.height }\n var cm = widget.doc.cm;\n if (!cm) { return 0 }\n if (!contains(document.body, widget.node)) {\n var parentStyle = \"position: relative;\";\n if (widget.coverGutter)\n { parentStyle += \"margin-left: -\" + cm.display.gutters.offsetWidth + \"px;\"; }\n if (widget.noHScroll)\n { parentStyle += \"width: \" + cm.display.wrapper.clientWidth + \"px;\"; }\n removeChildrenAndAdd(cm.display.measure, elt(\"div\", [widget.node], null, parentStyle));\n }\n return widget.height = widget.node.parentNode.offsetHeight\n }\n\n // Return true when the given mouse event happened in a widget\n function eventInWidget(display, e) {\n for (var n = e_target(e); n != display.wrapper; n = n.parentNode) {\n if (!n || (n.nodeType == 1 && n.getAttribute(\"cm-ignore-events\") == \"true\") ||\n (n.parentNode == display.sizer && n != display.mover))\n { return true }\n }\n }\n\n // POSITION MEASUREMENT\n\n function paddingTop(display) {return display.lineSpace.offsetTop}\n function paddingVert(display) {return display.mover.offsetHeight - display.lineSpace.offsetHeight}\n function paddingH(display) {\n if (display.cachedPaddingH) { return display.cachedPaddingH }\n var e = removeChildrenAndAdd(display.measure, elt(\"pre\", \"x\", \"CodeMirror-line-like\"));\n var style = window.getComputedStyle ? window.getComputedStyle(e) : e.currentStyle;\n var data = {left: parseInt(style.paddingLeft), right: parseInt(style.paddingRight)};\n if (!isNaN(data.left) && !isNaN(data.right)) { display.cachedPaddingH = data; }\n return data\n }\n\n function scrollGap(cm) { return scrollerGap - cm.display.nativeBarWidth }\n function displayWidth(cm) {\n return cm.display.scroller.clientWidth - scrollGap(cm) - cm.display.barWidth\n }\n function displayHeight(cm) {\n return cm.display.scroller.clientHeight - scrollGap(cm) - cm.display.barHeight\n }\n\n // Ensure the lineView.wrapping.heights array is populated. This is\n // an array of bottom offsets for the lines that make up a drawn\n // line. When lineWrapping is on, there might be more than one\n // height.\n function ensureLineHeights(cm, lineView, rect) {\n var wrapping = cm.options.lineWrapping;\n var curWidth = wrapping && displayWidth(cm);\n if (!lineView.measure.heights || wrapping && lineView.measure.width != curWidth) {\n var heights = lineView.measure.heights = [];\n if (wrapping) {\n lineView.measure.width = curWidth;\n var rects = lineView.text.firstChild.getClientRects();\n for (var i = 0; i < rects.length - 1; i++) {\n var cur = rects[i], next = rects[i + 1];\n if (Math.abs(cur.bottom - next.bottom) > 2)\n { heights.push((cur.bottom + next.top) / 2 - rect.top); }\n }\n }\n heights.push(rect.bottom - rect.top);\n }\n }\n\n // Find a line map (mapping character offsets to text nodes) and a\n // measurement cache for the given line number. (A line view might\n // contain multiple lines when collapsed ranges are present.)\n function mapFromLineView(lineView, line, lineN) {\n if (lineView.line == line)\n { return {map: lineView.measure.map, cache: lineView.measure.cache} }\n for (var i = 0; i < lineView.rest.length; i++)\n { if (lineView.rest[i] == line)\n { return {map: lineView.measure.maps[i], cache: lineView.measure.caches[i]} } }\n for (var i$1 = 0; i$1 < lineView.rest.length; i$1++)\n { if (lineNo(lineView.rest[i$1]) > lineN)\n { return {map: lineView.measure.maps[i$1], cache: lineView.measure.caches[i$1], before: true} } }\n }\n\n // Render a line into the hidden node display.externalMeasured. Used\n // when measurement is needed for a line that's not in the viewport.\n function updateExternalMeasurement(cm, line) {\n line = visualLine(line);\n var lineN = lineNo(line);\n var view = cm.display.externalMeasured = new LineView(cm.doc, line, lineN);\n view.lineN = lineN;\n var built = view.built = buildLineContent(cm, view);\n view.text = built.pre;\n removeChildrenAndAdd(cm.display.lineMeasure, built.pre);\n return view\n }\n\n // Get a {top, bottom, left, right} box (in line-local coordinates)\n // for a given character.\n function measureChar(cm, line, ch, bias) {\n return measureCharPrepared(cm, prepareMeasureForLine(cm, line), ch, bias)\n }\n\n // Find a line view that corresponds to the given line number.\n function findViewForLine(cm, lineN) {\n if (lineN >= cm.display.viewFrom && lineN < cm.display.viewTo)\n { return cm.display.view[findViewIndex(cm, lineN)] }\n var ext = cm.display.externalMeasured;\n if (ext && lineN >= ext.lineN && lineN < ext.lineN + ext.size)\n { return ext }\n }\n\n // Measurement can be split in two steps, the set-up work that\n // applies to the whole line, and the measurement of the actual\n // character. Functions like coordsChar, that need to do a lot of\n // measurements in a row, can thus ensure that the set-up work is\n // only done once.\n function prepareMeasureForLine(cm, line) {\n var lineN = lineNo(line);\n var view = findViewForLine(cm, lineN);\n if (view && !view.text) {\n view = null;\n } else if (view && view.changes) {\n updateLineForChanges(cm, view, lineN, getDimensions(cm));\n cm.curOp.forceUpdate = true;\n }\n if (!view)\n { view = updateExternalMeasurement(cm, line); }\n\n var info = mapFromLineView(view, line, lineN);\n return {\n line: line, view: view, rect: null,\n map: info.map, cache: info.cache, before: info.before,\n hasHeights: false\n }\n }\n\n // Given a prepared measurement object, measures the position of an\n // actual character (or fetches it from the cache).\n function measureCharPrepared(cm, prepared, ch, bias, varHeight) {\n if (prepared.before) { ch = -1; }\n var key = ch + (bias || \"\"), found;\n if (prepared.cache.hasOwnProperty(key)) {\n found = prepared.cache[key];\n } else {\n if (!prepared.rect)\n { prepared.rect = prepared.view.text.getBoundingClientRect(); }\n if (!prepared.hasHeights) {\n ensureLineHeights(cm, prepared.view, prepared.rect);\n prepared.hasHeights = true;\n }\n found = measureCharInner(cm, prepared, ch, bias);\n if (!found.bogus) { prepared.cache[key] = found; }\n }\n return {left: found.left, right: found.right,\n top: varHeight ? found.rtop : found.top,\n bottom: varHeight ? found.rbottom : found.bottom}\n }\n\n var nullRect = {left: 0, right: 0, top: 0, bottom: 0};\n\n function nodeAndOffsetInLineMap(map$$1, ch, bias) {\n var node, start, end, collapse, mStart, mEnd;\n // First, search the line map for the text node corresponding to,\n // or closest to, the target character.\n for (var i = 0; i < map$$1.length; i += 3) {\n mStart = map$$1[i];\n mEnd = map$$1[i + 1];\n if (ch < mStart) {\n start = 0; end = 1;\n collapse = \"left\";\n } else if (ch < mEnd) {\n start = ch - mStart;\n end = start + 1;\n } else if (i == map$$1.length - 3 || ch == mEnd && map$$1[i + 3] > ch) {\n end = mEnd - mStart;\n start = end - 1;\n if (ch >= mEnd) { collapse = \"right\"; }\n }\n if (start != null) {\n node = map$$1[i + 2];\n if (mStart == mEnd && bias == (node.insertLeft ? \"left\" : \"right\"))\n { collapse = bias; }\n if (bias == \"left\" && start == 0)\n { while (i && map$$1[i - 2] == map$$1[i - 3] && map$$1[i - 1].insertLeft) {\n node = map$$1[(i -= 3) + 2];\n collapse = \"left\";\n } }\n if (bias == \"right\" && start == mEnd - mStart)\n { while (i < map$$1.length - 3 && map$$1[i + 3] == map$$1[i + 4] && !map$$1[i + 5].insertLeft) {\n node = map$$1[(i += 3) + 2];\n collapse = \"right\";\n } }\n break\n }\n }\n return {node: node, start: start, end: end, collapse: collapse, coverStart: mStart, coverEnd: mEnd}\n }\n\n function getUsefulRect(rects, bias) {\n var rect = nullRect;\n if (bias == \"left\") { for (var i = 0; i < rects.length; i++) {\n if ((rect = rects[i]).left != rect.right) { break }\n } } else { for (var i$1 = rects.length - 1; i$1 >= 0; i$1--) {\n if ((rect = rects[i$1]).left != rect.right) { break }\n } }\n return rect\n }\n\n function measureCharInner(cm, prepared, ch, bias) {\n var place = nodeAndOffsetInLineMap(prepared.map, ch, bias);\n var node = place.node, start = place.start, end = place.end, collapse = place.collapse;\n\n var rect;\n if (node.nodeType == 3) { // If it is a text node, use a range to retrieve the coordinates.\n for (var i$1 = 0; i$1 < 4; i$1++) { // Retry a maximum of 4 times when nonsense rectangles are returned\n while (start && isExtendingChar(prepared.line.text.charAt(place.coverStart + start))) { --start; }\n while (place.coverStart + end < place.coverEnd && isExtendingChar(prepared.line.text.charAt(place.coverStart + end))) { ++end; }\n if (ie && ie_version < 9 && start == 0 && end == place.coverEnd - place.coverStart)\n { rect = node.parentNode.getBoundingClientRect(); }\n else\n { rect = getUsefulRect(range(node, start, end).getClientRects(), bias); }\n if (rect.left || rect.right || start == 0) { break }\n end = start;\n start = start - 1;\n collapse = \"right\";\n }\n if (ie && ie_version < 11) { rect = maybeUpdateRectForZooming(cm.display.measure, rect); }\n } else { // If it is a widget, simply get the box for the whole widget.\n if (start > 0) { collapse = bias = \"right\"; }\n var rects;\n if (cm.options.lineWrapping && (rects = node.getClientRects()).length > 1)\n { rect = rects[bias == \"right\" ? rects.length - 1 : 0]; }\n else\n { rect = node.getBoundingClientRect(); }\n }\n if (ie && ie_version < 9 && !start && (!rect || !rect.left && !rect.right)) {\n var rSpan = node.parentNode.getClientRects()[0];\n if (rSpan)\n { rect = {left: rSpan.left, right: rSpan.left + charWidth(cm.display), top: rSpan.top, bottom: rSpan.bottom}; }\n else\n { rect = nullRect; }\n }\n\n var rtop = rect.top - prepared.rect.top, rbot = rect.bottom - prepared.rect.top;\n var mid = (rtop + rbot) / 2;\n var heights = prepared.view.measure.heights;\n var i = 0;\n for (; i < heights.length - 1; i++)\n { if (mid < heights[i]) { break } }\n var top = i ? heights[i - 1] : 0, bot = heights[i];\n var result = {left: (collapse == \"right\" ? rect.right : rect.left) - prepared.rect.left,\n right: (collapse == \"left\" ? rect.left : rect.right) - prepared.rect.left,\n top: top, bottom: bot};\n if (!rect.left && !rect.right) { result.bogus = true; }\n if (!cm.options.singleCursorHeightPerLine) { result.rtop = rtop; result.rbottom = rbot; }\n\n return result\n }\n\n // Work around problem with bounding client rects on ranges being\n // returned incorrectly when zoomed on IE10 and below.\n function maybeUpdateRectForZooming(measure, rect) {\n if (!window.screen || screen.logicalXDPI == null ||\n screen.logicalXDPI == screen.deviceXDPI || !hasBadZoomedRects(measure))\n { return rect }\n var scaleX = screen.logicalXDPI / screen.deviceXDPI;\n var scaleY = screen.logicalYDPI / screen.deviceYDPI;\n return {left: rect.left * scaleX, right: rect.right * scaleX,\n top: rect.top * scaleY, bottom: rect.bottom * scaleY}\n }\n\n function clearLineMeasurementCacheFor(lineView) {\n if (lineView.measure) {\n lineView.measure.cache = {};\n lineView.measure.heights = null;\n if (lineView.rest) { for (var i = 0; i < lineView.rest.length; i++)\n { lineView.measure.caches[i] = {}; } }\n }\n }\n\n function clearLineMeasurementCache(cm) {\n cm.display.externalMeasure = null;\n removeChildren(cm.display.lineMeasure);\n for (var i = 0; i < cm.display.view.length; i++)\n { clearLineMeasurementCacheFor(cm.display.view[i]); }\n }\n\n function clearCaches(cm) {\n clearLineMeasurementCache(cm);\n cm.display.cachedCharWidth = cm.display.cachedTextHeight = cm.display.cachedPaddingH = null;\n if (!cm.options.lineWrapping) { cm.display.maxLineChanged = true; }\n cm.display.lineNumChars = null;\n }\n\n function pageScrollX() {\n // Work around https://bugs.chromium.org/p/chromium/issues/detail?id=489206\n // which causes page_Offset and bounding client rects to use\n // different reference viewports and invalidate our calculations.\n if (chrome && android) { return -(document.body.getBoundingClientRect().left - parseInt(getComputedStyle(document.body).marginLeft)) }\n return window.pageXOffset || (document.documentElement || document.body).scrollLeft\n }\n function pageScrollY() {\n if (chrome && android) { return -(document.body.getBoundingClientRect().top - parseInt(getComputedStyle(document.body).marginTop)) }\n return window.pageYOffset || (document.documentElement || document.body).scrollTop\n }\n\n function widgetTopHeight(lineObj) {\n var height = 0;\n if (lineObj.widgets) { for (var i = 0; i < lineObj.widgets.length; ++i) { if (lineObj.widgets[i].above)\n { height += widgetHeight(lineObj.widgets[i]); } } }\n return height\n }\n\n // Converts a {top, bottom, left, right} box from line-local\n // coordinates into another coordinate system. Context may be one of\n // \"line\", \"div\" (display.lineDiv), \"local\"./null (editor), \"window\",\n // or \"page\".\n function intoCoordSystem(cm, lineObj, rect, context, includeWidgets) {\n if (!includeWidgets) {\n var height = widgetTopHeight(lineObj);\n rect.top += height; rect.bottom += height;\n }\n if (context == \"line\") { return rect }\n if (!context) { context = \"local\"; }\n var yOff = heightAtLine(lineObj);\n if (context == \"local\") { yOff += paddingTop(cm.display); }\n else { yOff -= cm.display.viewOffset; }\n if (context == \"page\" || context == \"window\") {\n var lOff = cm.display.lineSpace.getBoundingClientRect();\n yOff += lOff.top + (context == \"window\" ? 0 : pageScrollY());\n var xOff = lOff.left + (context == \"window\" ? 0 : pageScrollX());\n rect.left += xOff; rect.right += xOff;\n }\n rect.top += yOff; rect.bottom += yOff;\n return rect\n }\n\n // Coverts a box from \"div\" coords to another coordinate system.\n // Context may be \"window\", \"page\", \"div\", or \"local\"./null.\n function fromCoordSystem(cm, coords, context) {\n if (context == \"div\") { return coords }\n var left = coords.left, top = coords.top;\n // First move into \"page\" coordinate system\n if (context == \"page\") {\n left -= pageScrollX();\n top -= pageScrollY();\n } else if (context == \"local\" || !context) {\n var localBox = cm.display.sizer.getBoundingClientRect();\n left += localBox.left;\n top += localBox.top;\n }\n\n var lineSpaceBox = cm.display.lineSpace.getBoundingClientRect();\n return {left: left - lineSpaceBox.left, top: top - lineSpaceBox.top}\n }\n\n function charCoords(cm, pos, context, lineObj, bias) {\n if (!lineObj) { lineObj = getLine(cm.doc, pos.line); }\n return intoCoordSystem(cm, lineObj, measureChar(cm, lineObj, pos.ch, bias), context)\n }\n\n // Returns a box for a given cursor position, which may have an\n // 'other' property containing the position of the secondary cursor\n // on a bidi boundary.\n // A cursor Pos(line, char, \"before\") is on the same visual line as `char - 1`\n // and after `char - 1` in writing order of `char - 1`\n // A cursor Pos(line, char, \"after\") is on the same visual line as `char`\n // and before `char` in writing order of `char`\n // Examples (upper-case letters are RTL, lower-case are LTR):\n // Pos(0, 1, ...)\n // before after\n // ab a|b a|b\n // aB a|B aB|\n // Ab |Ab A|b\n // AB B|A B|A\n // Every position after the last character on a line is considered to stick\n // to the last character on the line.\n function cursorCoords(cm, pos, context, lineObj, preparedMeasure, varHeight) {\n lineObj = lineObj || getLine(cm.doc, pos.line);\n if (!preparedMeasure) { preparedMeasure = prepareMeasureForLine(cm, lineObj); }\n function get(ch, right) {\n var m = measureCharPrepared(cm, preparedMeasure, ch, right ? \"right\" : \"left\", varHeight);\n if (right) { m.left = m.right; } else { m.right = m.left; }\n return intoCoordSystem(cm, lineObj, m, context)\n }\n var order = getOrder(lineObj, cm.doc.direction), ch = pos.ch, sticky = pos.sticky;\n if (ch >= lineObj.text.length) {\n ch = lineObj.text.length;\n sticky = \"before\";\n } else if (ch <= 0) {\n ch = 0;\n sticky = \"after\";\n }\n if (!order) { return get(sticky == \"before\" ? ch - 1 : ch, sticky == \"before\") }\n\n function getBidi(ch, partPos, invert) {\n var part = order[partPos], right = part.level == 1;\n return get(invert ? ch - 1 : ch, right != invert)\n }\n var partPos = getBidiPartAt(order, ch, sticky);\n var other = bidiOther;\n var val = getBidi(ch, partPos, sticky == \"before\");\n if (other != null) { val.other = getBidi(ch, other, sticky != \"before\"); }\n return val\n }\n\n // Used to cheaply estimate the coordinates for a position. Used for\n // intermediate scroll updates.\n function estimateCoords(cm, pos) {\n var left = 0;\n pos = clipPos(cm.doc, pos);\n if (!cm.options.lineWrapping) { left = charWidth(cm.display) * pos.ch; }\n var lineObj = getLine(cm.doc, pos.line);\n var top = heightAtLine(lineObj) + paddingTop(cm.display);\n return {left: left, right: left, top: top, bottom: top + lineObj.height}\n }\n\n // Positions returned by coordsChar contain some extra information.\n // xRel is the relative x position of the input coordinates compared\n // to the found position (so xRel > 0 means the coordinates are to\n // the right of the character position, for example). When outside\n // is true, that means the coordinates lie outside the line's\n // vertical range.\n function PosWithInfo(line, ch, sticky, outside, xRel) {\n var pos = Pos(line, ch, sticky);\n pos.xRel = xRel;\n if (outside) { pos.outside = outside; }\n return pos\n }\n\n // Compute the character position closest to the given coordinates.\n // Input must be lineSpace-local (\"div\" coordinate system).\n function coordsChar(cm, x, y) {\n var doc = cm.doc;\n y += cm.display.viewOffset;\n if (y < 0) { return PosWithInfo(doc.first, 0, null, -1, -1) }\n var lineN = lineAtHeight(doc, y), last = doc.first + doc.size - 1;\n if (lineN > last)\n { return PosWithInfo(doc.first + doc.size - 1, getLine(doc, last).text.length, null, 1, 1) }\n if (x < 0) { x = 0; }\n\n var lineObj = getLine(doc, lineN);\n for (;;) {\n var found = coordsCharInner(cm, lineObj, lineN, x, y);\n var collapsed = collapsedSpanAround(lineObj, found.ch + (found.xRel > 0 || found.outside > 0 ? 1 : 0));\n if (!collapsed) { return found }\n var rangeEnd = collapsed.find(1);\n if (rangeEnd.line == lineN) { return rangeEnd }\n lineObj = getLine(doc, lineN = rangeEnd.line);\n }\n }\n\n function wrappedLineExtent(cm, lineObj, preparedMeasure, y) {\n y -= widgetTopHeight(lineObj);\n var end = lineObj.text.length;\n var begin = findFirst(function (ch) { return measureCharPrepared(cm, preparedMeasure, ch - 1).bottom <= y; }, end, 0);\n end = findFirst(function (ch) { return measureCharPrepared(cm, preparedMeasure, ch).top > y; }, begin, end);\n return {begin: begin, end: end}\n }\n\n function wrappedLineExtentChar(cm, lineObj, preparedMeasure, target) {\n if (!preparedMeasure) { preparedMeasure = prepareMeasureForLine(cm, lineObj); }\n var targetTop = intoCoordSystem(cm, lineObj, measureCharPrepared(cm, preparedMeasure, target), \"line\").top;\n return wrappedLineExtent(cm, lineObj, preparedMeasure, targetTop)\n }\n\n // Returns true if the given side of a box is after the given\n // coordinates, in top-to-bottom, left-to-right order.\n function boxIsAfter(box, x, y, left) {\n return box.bottom <= y ? false : box.top > y ? true : (left ? box.left : box.right) > x\n }\n\n function coordsCharInner(cm, lineObj, lineNo$$1, x, y) {\n // Move y into line-local coordinate space\n y -= heightAtLine(lineObj);\n var preparedMeasure = prepareMeasureForLine(cm, lineObj);\n // When directly calling `measureCharPrepared`, we have to adjust\n // for the widgets at this line.\n var widgetHeight$$1 = widgetTopHeight(lineObj);\n var begin = 0, end = lineObj.text.length, ltr = true;\n\n var order = getOrder(lineObj, cm.doc.direction);\n // If the line isn't plain left-to-right text, first figure out\n // which bidi section the coordinates fall into.\n if (order) {\n var part = (cm.options.lineWrapping ? coordsBidiPartWrapped : coordsBidiPart)\n (cm, lineObj, lineNo$$1, preparedMeasure, order, x, y);\n ltr = part.level != 1;\n // The awkward -1 offsets are needed because findFirst (called\n // on these below) will treat its first bound as inclusive,\n // second as exclusive, but we want to actually address the\n // characters in the part's range\n begin = ltr ? part.from : part.to - 1;\n end = ltr ? part.to : part.from - 1;\n }\n\n // A binary search to find the first character whose bounding box\n // starts after the coordinates. If we run across any whose box wrap\n // the coordinates, store that.\n var chAround = null, boxAround = null;\n var ch = findFirst(function (ch) {\n var box = measureCharPrepared(cm, preparedMeasure, ch);\n box.top += widgetHeight$$1; box.bottom += widgetHeight$$1;\n if (!boxIsAfter(box, x, y, false)) { return false }\n if (box.top <= y && box.left <= x) {\n chAround = ch;\n boxAround = box;\n }\n return true\n }, begin, end);\n\n var baseX, sticky, outside = false;\n // If a box around the coordinates was found, use that\n if (boxAround) {\n // Distinguish coordinates nearer to the left or right side of the box\n var atLeft = x - boxAround.left < boxAround.right - x, atStart = atLeft == ltr;\n ch = chAround + (atStart ? 0 : 1);\n sticky = atStart ? \"after\" : \"before\";\n baseX = atLeft ? boxAround.left : boxAround.right;\n } else {\n // (Adjust for extended bound, if necessary.)\n if (!ltr && (ch == end || ch == begin)) { ch++; }\n // To determine which side to associate with, get the box to the\n // left of the character and compare it's vertical position to the\n // coordinates\n sticky = ch == 0 ? \"after\" : ch == lineObj.text.length ? \"before\" :\n (measureCharPrepared(cm, preparedMeasure, ch - (ltr ? 1 : 0)).bottom + widgetHeight$$1 <= y) == ltr ?\n \"after\" : \"before\";\n // Now get accurate coordinates for this place, in order to get a\n // base X position\n var coords = cursorCoords(cm, Pos(lineNo$$1, ch, sticky), \"line\", lineObj, preparedMeasure);\n baseX = coords.left;\n outside = y < coords.top ? -1 : y >= coords.bottom ? 1 : 0;\n }\n\n ch = skipExtendingChars(lineObj.text, ch, 1);\n return PosWithInfo(lineNo$$1, ch, sticky, outside, x - baseX)\n }\n\n function coordsBidiPart(cm, lineObj, lineNo$$1, preparedMeasure, order, x, y) {\n // Bidi parts are sorted left-to-right, and in a non-line-wrapping\n // situation, we can take this ordering to correspond to the visual\n // ordering. This finds the first part whose end is after the given\n // coordinates.\n var index = findFirst(function (i) {\n var part = order[i], ltr = part.level != 1;\n return boxIsAfter(cursorCoords(cm, Pos(lineNo$$1, ltr ? part.to : part.from, ltr ? \"before\" : \"after\"),\n \"line\", lineObj, preparedMeasure), x, y, true)\n }, 0, order.length - 1);\n var part = order[index];\n // If this isn't the first part, the part's start is also after\n // the coordinates, and the coordinates aren't on the same line as\n // that start, move one part back.\n if (index > 0) {\n var ltr = part.level != 1;\n var start = cursorCoords(cm, Pos(lineNo$$1, ltr ? part.from : part.to, ltr ? \"after\" : \"before\"),\n \"line\", lineObj, preparedMeasure);\n if (boxIsAfter(start, x, y, true) && start.top > y)\n { part = order[index - 1]; }\n }\n return part\n }\n\n function coordsBidiPartWrapped(cm, lineObj, _lineNo, preparedMeasure, order, x, y) {\n // In a wrapped line, rtl text on wrapping boundaries can do things\n // that don't correspond to the ordering in our `order` array at\n // all, so a binary search doesn't work, and we want to return a\n // part that only spans one line so that the binary search in\n // coordsCharInner is safe. As such, we first find the extent of the\n // wrapped line, and then do a flat search in which we discard any\n // spans that aren't on the line.\n var ref = wrappedLineExtent(cm, lineObj, preparedMeasure, y);\n var begin = ref.begin;\n var end = ref.end;\n if (/\\s/.test(lineObj.text.charAt(end - 1))) { end--; }\n var part = null, closestDist = null;\n for (var i = 0; i < order.length; i++) {\n var p = order[i];\n if (p.from >= end || p.to <= begin) { continue }\n var ltr = p.level != 1;\n var endX = measureCharPrepared(cm, preparedMeasure, ltr ? Math.min(end, p.to) - 1 : Math.max(begin, p.from)).right;\n // Weigh against spans ending before this, so that they are only\n // picked if nothing ends after\n var dist = endX < x ? x - endX + 1e9 : endX - x;\n if (!part || closestDist > dist) {\n part = p;\n closestDist = dist;\n }\n }\n if (!part) { part = order[order.length - 1]; }\n // Clip the part to the wrapped line.\n if (part.from < begin) { part = {from: begin, to: part.to, level: part.level}; }\n if (part.to > end) { part = {from: part.from, to: end, level: part.level}; }\n return part\n }\n\n var measureText;\n // Compute the default text height.\n function textHeight(display) {\n if (display.cachedTextHeight != null) { return display.cachedTextHeight }\n if (measureText == null) {\n measureText = elt(\"pre\", null, \"CodeMirror-line-like\");\n // Measure a bunch of lines, for browsers that compute\n // fractional heights.\n for (var i = 0; i < 49; ++i) {\n measureText.appendChild(document.createTextNode(\"x\"));\n measureText.appendChild(elt(\"br\"));\n }\n measureText.appendChild(document.createTextNode(\"x\"));\n }\n removeChildrenAndAdd(display.measure, measureText);\n var height = measureText.offsetHeight / 50;\n if (height > 3) { display.cachedTextHeight = height; }\n removeChildren(display.measure);\n return height || 1\n }\n\n // Compute the default character width.\n function charWidth(display) {\n if (display.cachedCharWidth != null) { return display.cachedCharWidth }\n var anchor = elt(\"span\", \"xxxxxxxxxx\");\n var pre = elt(\"pre\", [anchor], \"CodeMirror-line-like\");\n removeChildrenAndAdd(display.measure, pre);\n var rect = anchor.getBoundingClientRect(), width = (rect.right - rect.left) / 10;\n if (width > 2) { display.cachedCharWidth = width; }\n return width || 10\n }\n\n // Do a bulk-read of the DOM positions and sizes needed to draw the\n // view, so that we don't interleave reading and writing to the DOM.\n function getDimensions(cm) {\n var d = cm.display, left = {}, width = {};\n var gutterLeft = d.gutters.clientLeft;\n for (var n = d.gutters.firstChild, i = 0; n; n = n.nextSibling, ++i) {\n var id = cm.display.gutterSpecs[i].className;\n left[id] = n.offsetLeft + n.clientLeft + gutterLeft;\n width[id] = n.clientWidth;\n }\n return {fixedPos: compensateForHScroll(d),\n gutterTotalWidth: d.gutters.offsetWidth,\n gutterLeft: left,\n gutterWidth: width,\n wrapperWidth: d.wrapper.clientWidth}\n }\n\n // Computes display.scroller.scrollLeft + display.gutters.offsetWidth,\n // but using getBoundingClientRect to get a sub-pixel-accurate\n // result.\n function compensateForHScroll(display) {\n return display.scroller.getBoundingClientRect().left - display.sizer.getBoundingClientRect().left\n }\n\n // Returns a function that estimates the height of a line, to use as\n // first approximation until the line becomes visible (and is thus\n // properly measurable).\n function estimateHeight(cm) {\n var th = textHeight(cm.display), wrapping = cm.options.lineWrapping;\n var perLine = wrapping && Math.max(5, cm.display.scroller.clientWidth / charWidth(cm.display) - 3);\n return function (line) {\n if (lineIsHidden(cm.doc, line)) { return 0 }\n\n var widgetsHeight = 0;\n if (line.widgets) { for (var i = 0; i < line.widgets.length; i++) {\n if (line.widgets[i].height) { widgetsHeight += line.widgets[i].height; }\n } }\n\n if (wrapping)\n { return widgetsHeight + (Math.ceil(line.text.length / perLine) || 1) * th }\n else\n { return widgetsHeight + th }\n }\n }\n\n function estimateLineHeights(cm) {\n var doc = cm.doc, est = estimateHeight(cm);\n doc.iter(function (line) {\n var estHeight = est(line);\n if (estHeight != line.height) { updateLineHeight(line, estHeight); }\n });\n }\n\n // Given a mouse event, find the corresponding position. If liberal\n // is false, it checks whether a gutter or scrollbar was clicked,\n // and returns null if it was. forRect is used by rectangular\n // selections, and tries to estimate a character position even for\n // coordinates beyond the right of the text.\n function posFromMouse(cm, e, liberal, forRect) {\n var display = cm.display;\n if (!liberal && e_target(e).getAttribute(\"cm-not-content\") == \"true\") { return null }\n\n var x, y, space = display.lineSpace.getBoundingClientRect();\n // Fails unpredictably on IE[67] when mouse is dragged around quickly.\n try { x = e.clientX - space.left; y = e.clientY - space.top; }\n catch (e) { return null }\n var coords = coordsChar(cm, x, y), line;\n if (forRect && coords.xRel == 1 && (line = getLine(cm.doc, coords.line).text).length == coords.ch) {\n var colDiff = countColumn(line, line.length, cm.options.tabSize) - line.length;\n coords = Pos(coords.line, Math.max(0, Math.round((x - paddingH(cm.display).left) / charWidth(cm.display)) - colDiff));\n }\n return coords\n }\n\n // Find the view element corresponding to a given line. Return null\n // when the line isn't visible.\n function findViewIndex(cm, n) {\n if (n >= cm.display.viewTo) { return null }\n n -= cm.display.viewFrom;\n if (n < 0) { return null }\n var view = cm.display.view;\n for (var i = 0; i < view.length; i++) {\n n -= view[i].size;\n if (n < 0) { return i }\n }\n }\n\n // Updates the display.view data structure for a given change to the\n // document. From and to are in pre-change coordinates. Lendiff is\n // the amount of lines added or subtracted by the change. This is\n // used for changes that span multiple lines, or change the way\n // lines are divided into visual lines. regLineChange (below)\n // registers single-line changes.\n function regChange(cm, from, to, lendiff) {\n if (from == null) { from = cm.doc.first; }\n if (to == null) { to = cm.doc.first + cm.doc.size; }\n if (!lendiff) { lendiff = 0; }\n\n var display = cm.display;\n if (lendiff && to < display.viewTo &&\n (display.updateLineNumbers == null || display.updateLineNumbers > from))\n { display.updateLineNumbers = from; }\n\n cm.curOp.viewChanged = true;\n\n if (from >= display.viewTo) { // Change after\n if (sawCollapsedSpans && visualLineNo(cm.doc, from) < display.viewTo)\n { resetView(cm); }\n } else if (to <= display.viewFrom) { // Change before\n if (sawCollapsedSpans && visualLineEndNo(cm.doc, to + lendiff) > display.viewFrom) {\n resetView(cm);\n } else {\n display.viewFrom += lendiff;\n display.viewTo += lendiff;\n }\n } else if (from <= display.viewFrom && to >= display.viewTo) { // Full overlap\n resetView(cm);\n } else if (from <= display.viewFrom) { // Top overlap\n var cut = viewCuttingPoint(cm, to, to + lendiff, 1);\n if (cut) {\n display.view = display.view.slice(cut.index);\n display.viewFrom = cut.lineN;\n display.viewTo += lendiff;\n } else {\n resetView(cm);\n }\n } else if (to >= display.viewTo) { // Bottom overlap\n var cut$1 = viewCuttingPoint(cm, from, from, -1);\n if (cut$1) {\n display.view = display.view.slice(0, cut$1.index);\n display.viewTo = cut$1.lineN;\n } else {\n resetView(cm);\n }\n } else { // Gap in the middle\n var cutTop = viewCuttingPoint(cm, from, from, -1);\n var cutBot = viewCuttingPoint(cm, to, to + lendiff, 1);\n if (cutTop && cutBot) {\n display.view = display.view.slice(0, cutTop.index)\n .concat(buildViewArray(cm, cutTop.lineN, cutBot.lineN))\n .concat(display.view.slice(cutBot.index));\n display.viewTo += lendiff;\n } else {\n resetView(cm);\n }\n }\n\n var ext = display.externalMeasured;\n if (ext) {\n if (to < ext.lineN)\n { ext.lineN += lendiff; }\n else if (from < ext.lineN + ext.size)\n { display.externalMeasured = null; }\n }\n }\n\n // Register a change to a single line. Type must be one of \"text\",\n // \"gutter\", \"class\", \"widget\"\n function regLineChange(cm, line, type) {\n cm.curOp.viewChanged = true;\n var display = cm.display, ext = cm.display.externalMeasured;\n if (ext && line >= ext.lineN && line < ext.lineN + ext.size)\n { display.externalMeasured = null; }\n\n if (line < display.viewFrom || line >= display.viewTo) { return }\n var lineView = display.view[findViewIndex(cm, line)];\n if (lineView.node == null) { return }\n var arr = lineView.changes || (lineView.changes = []);\n if (indexOf(arr, type) == -1) { arr.push(type); }\n }\n\n // Clear the view.\n function resetView(cm) {\n cm.display.viewFrom = cm.display.viewTo = cm.doc.first;\n cm.display.view = [];\n cm.display.viewOffset = 0;\n }\n\n function viewCuttingPoint(cm, oldN, newN, dir) {\n var index = findViewIndex(cm, oldN), diff, view = cm.display.view;\n if (!sawCollapsedSpans || newN == cm.doc.first + cm.doc.size)\n { return {index: index, lineN: newN} }\n var n = cm.display.viewFrom;\n for (var i = 0; i < index; i++)\n { n += view[i].size; }\n if (n != oldN) {\n if (dir > 0) {\n if (index == view.length - 1) { return null }\n diff = (n + view[index].size) - oldN;\n index++;\n } else {\n diff = n - oldN;\n }\n oldN += diff; newN += diff;\n }\n while (visualLineNo(cm.doc, newN) != newN) {\n if (index == (dir < 0 ? 0 : view.length - 1)) { return null }\n newN += dir * view[index - (dir < 0 ? 1 : 0)].size;\n index += dir;\n }\n return {index: index, lineN: newN}\n }\n\n // Force the view to cover a given range, adding empty view element\n // or clipping off existing ones as needed.\n function adjustView(cm, from, to) {\n var display = cm.display, view = display.view;\n if (view.length == 0 || from >= display.viewTo || to <= display.viewFrom) {\n display.view = buildViewArray(cm, from, to);\n display.viewFrom = from;\n } else {\n if (display.viewFrom > from)\n { display.view = buildViewArray(cm, from, display.viewFrom).concat(display.view); }\n else if (display.viewFrom < from)\n { display.view = display.view.slice(findViewIndex(cm, from)); }\n display.viewFrom = from;\n if (display.viewTo < to)\n { display.view = display.view.concat(buildViewArray(cm, display.viewTo, to)); }\n else if (display.viewTo > to)\n { display.view = display.view.slice(0, findViewIndex(cm, to)); }\n }\n display.viewTo = to;\n }\n\n // Count the number of lines in the view whose DOM representation is\n // out of date (or nonexistent).\n function countDirtyView(cm) {\n var view = cm.display.view, dirty = 0;\n for (var i = 0; i < view.length; i++) {\n var lineView = view[i];\n if (!lineView.hidden && (!lineView.node || lineView.changes)) { ++dirty; }\n }\n return dirty\n }\n\n function updateSelection(cm) {\n cm.display.input.showSelection(cm.display.input.prepareSelection());\n }\n\n function prepareSelection(cm, primary) {\n if ( primary === void 0 ) primary = true;\n\n var doc = cm.doc, result = {};\n var curFragment = result.cursors = document.createDocumentFragment();\n var selFragment = result.selection = document.createDocumentFragment();\n\n for (var i = 0; i < doc.sel.ranges.length; i++) {\n if (!primary && i == doc.sel.primIndex) { continue }\n var range$$1 = doc.sel.ranges[i];\n if (range$$1.from().line >= cm.display.viewTo || range$$1.to().line < cm.display.viewFrom) { continue }\n var collapsed = range$$1.empty();\n if (collapsed || cm.options.showCursorWhenSelecting)\n { drawSelectionCursor(cm, range$$1.head, curFragment); }\n if (!collapsed)\n { drawSelectionRange(cm, range$$1, selFragment); }\n }\n return result\n }\n\n // Draws a cursor for the given range\n function drawSelectionCursor(cm, head, output) {\n var pos = cursorCoords(cm, head, \"div\", null, null, !cm.options.singleCursorHeightPerLine);\n\n var cursor = output.appendChild(elt(\"div\", \"\\u00a0\", \"CodeMirror-cursor\"));\n cursor.style.left = pos.left + \"px\";\n cursor.style.top = pos.top + \"px\";\n cursor.style.height = Math.max(0, pos.bottom - pos.top) * cm.options.cursorHeight + \"px\";\n\n if (pos.other) {\n // Secondary cursor, shown when on a 'jump' in bi-directional text\n var otherCursor = output.appendChild(elt(\"div\", \"\\u00a0\", \"CodeMirror-cursor CodeMirror-secondarycursor\"));\n otherCursor.style.display = \"\";\n otherCursor.style.left = pos.other.left + \"px\";\n otherCursor.style.top = pos.other.top + \"px\";\n otherCursor.style.height = (pos.other.bottom - pos.other.top) * .85 + \"px\";\n }\n }\n\n function cmpCoords(a, b) { return a.top - b.top || a.left - b.left }\n\n // Draws the given range as a highlighted selection\n function drawSelectionRange(cm, range$$1, output) {\n var display = cm.display, doc = cm.doc;\n var fragment = document.createDocumentFragment();\n var padding = paddingH(cm.display), leftSide = padding.left;\n var rightSide = Math.max(display.sizerWidth, displayWidth(cm) - display.sizer.offsetLeft) - padding.right;\n var docLTR = doc.direction == \"ltr\";\n\n function add(left, top, width, bottom) {\n if (top < 0) { top = 0; }\n top = Math.round(top);\n bottom = Math.round(bottom);\n fragment.appendChild(elt(\"div\", null, \"CodeMirror-selected\", (\"position: absolute; left: \" + left + \"px;\\n top: \" + top + \"px; width: \" + (width == null ? rightSide - left : width) + \"px;\\n height: \" + (bottom - top) + \"px\")));\n }\n\n function drawForLine(line, fromArg, toArg) {\n var lineObj = getLine(doc, line);\n var lineLen = lineObj.text.length;\n var start, end;\n function coords(ch, bias) {\n return charCoords(cm, Pos(line, ch), \"div\", lineObj, bias)\n }\n\n function wrapX(pos, dir, side) {\n var extent = wrappedLineExtentChar(cm, lineObj, null, pos);\n var prop = (dir == \"ltr\") == (side == \"after\") ? \"left\" : \"right\";\n var ch = side == \"after\" ? extent.begin : extent.end - (/\\s/.test(lineObj.text.charAt(extent.end - 1)) ? 2 : 1);\n return coords(ch, prop)[prop]\n }\n\n var order = getOrder(lineObj, doc.direction);\n iterateBidiSections(order, fromArg || 0, toArg == null ? lineLen : toArg, function (from, to, dir, i) {\n var ltr = dir == \"ltr\";\n var fromPos = coords(from, ltr ? \"left\" : \"right\");\n var toPos = coords(to - 1, ltr ? \"right\" : \"left\");\n\n var openStart = fromArg == null && from == 0, openEnd = toArg == null && to == lineLen;\n var first = i == 0, last = !order || i == order.length - 1;\n if (toPos.top - fromPos.top <= 3) { // Single line\n var openLeft = (docLTR ? openStart : openEnd) && first;\n var openRight = (docLTR ? openEnd : openStart) && last;\n var left = openLeft ? leftSide : (ltr ? fromPos : toPos).left;\n var right = openRight ? rightSide : (ltr ? toPos : fromPos).right;\n add(left, fromPos.top, right - left, fromPos.bottom);\n } else { // Multiple lines\n var topLeft, topRight, botLeft, botRight;\n if (ltr) {\n topLeft = docLTR && openStart && first ? leftSide : fromPos.left;\n topRight = docLTR ? rightSide : wrapX(from, dir, \"before\");\n botLeft = docLTR ? leftSide : wrapX(to, dir, \"after\");\n botRight = docLTR && openEnd && last ? rightSide : toPos.right;\n } else {\n topLeft = !docLTR ? leftSide : wrapX(from, dir, \"before\");\n topRight = !docLTR && openStart && first ? rightSide : fromPos.right;\n botLeft = !docLTR && openEnd && last ? leftSide : toPos.left;\n botRight = !docLTR ? rightSide : wrapX(to, dir, \"after\");\n }\n add(topLeft, fromPos.top, topRight - topLeft, fromPos.bottom);\n if (fromPos.bottom < toPos.top) { add(leftSide, fromPos.bottom, null, toPos.top); }\n add(botLeft, toPos.top, botRight - botLeft, toPos.bottom);\n }\n\n if (!start || cmpCoords(fromPos, start) < 0) { start = fromPos; }\n if (cmpCoords(toPos, start) < 0) { start = toPos; }\n if (!end || cmpCoords(fromPos, end) < 0) { end = fromPos; }\n if (cmpCoords(toPos, end) < 0) { end = toPos; }\n });\n return {start: start, end: end}\n }\n\n var sFrom = range$$1.from(), sTo = range$$1.to();\n if (sFrom.line == sTo.line) {\n drawForLine(sFrom.line, sFrom.ch, sTo.ch);\n } else {\n var fromLine = getLine(doc, sFrom.line), toLine = getLine(doc, sTo.line);\n var singleVLine = visualLine(fromLine) == visualLine(toLine);\n var leftEnd = drawForLine(sFrom.line, sFrom.ch, singleVLine ? fromLine.text.length + 1 : null).end;\n var rightStart = drawForLine(sTo.line, singleVLine ? 0 : null, sTo.ch).start;\n if (singleVLine) {\n if (leftEnd.top < rightStart.top - 2) {\n add(leftEnd.right, leftEnd.top, null, leftEnd.bottom);\n add(leftSide, rightStart.top, rightStart.left, rightStart.bottom);\n } else {\n add(leftEnd.right, leftEnd.top, rightStart.left - leftEnd.right, leftEnd.bottom);\n }\n }\n if (leftEnd.bottom < rightStart.top)\n { add(leftSide, leftEnd.bottom, null, rightStart.top); }\n }\n\n output.appendChild(fragment);\n }\n\n // Cursor-blinking\n function restartBlink(cm) {\n if (!cm.state.focused) { return }\n var display = cm.display;\n clearInterval(display.blinker);\n var on = true;\n display.cursorDiv.style.visibility = \"\";\n if (cm.options.cursorBlinkRate > 0)\n { display.blinker = setInterval(function () { return display.cursorDiv.style.visibility = (on = !on) ? \"\" : \"hidden\"; },\n cm.options.cursorBlinkRate); }\n else if (cm.options.cursorBlinkRate < 0)\n { display.cursorDiv.style.visibility = \"hidden\"; }\n }\n\n function ensureFocus(cm) {\n if (!cm.state.focused) { cm.display.input.focus(); onFocus(cm); }\n }\n\n function delayBlurEvent(cm) {\n cm.state.delayingBlurEvent = true;\n setTimeout(function () { if (cm.state.delayingBlurEvent) {\n cm.state.delayingBlurEvent = false;\n onBlur(cm);\n } }, 100);\n }\n\n function onFocus(cm, e) {\n if (cm.state.delayingBlurEvent) { cm.state.delayingBlurEvent = false; }\n\n if (cm.options.readOnly == \"nocursor\") { return }\n if (!cm.state.focused) {\n signal(cm, \"focus\", cm, e);\n cm.state.focused = true;\n addClass(cm.display.wrapper, \"CodeMirror-focused\");\n // This test prevents this from firing when a context\n // menu is closed (since the input reset would kill the\n // select-all detection hack)\n if (!cm.curOp && cm.display.selForContextMenu != cm.doc.sel) {\n cm.display.input.reset();\n if (webkit) { setTimeout(function () { return cm.display.input.reset(true); }, 20); } // Issue #1730\n }\n cm.display.input.receivedFocus();\n }\n restartBlink(cm);\n }\n function onBlur(cm, e) {\n if (cm.state.delayingBlurEvent) { return }\n\n if (cm.state.focused) {\n signal(cm, \"blur\", cm, e);\n cm.state.focused = false;\n rmClass(cm.display.wrapper, \"CodeMirror-focused\");\n }\n clearInterval(cm.display.blinker);\n setTimeout(function () { if (!cm.state.focused) { cm.display.shift = false; } }, 150);\n }\n\n // Read the actual heights of the rendered lines, and update their\n // stored heights to match.\n function updateHeightsInViewport(cm) {\n var display = cm.display;\n var prevBottom = display.lineDiv.offsetTop;\n for (var i = 0; i < display.view.length; i++) {\n var cur = display.view[i], wrapping = cm.options.lineWrapping;\n var height = (void 0), width = 0;\n if (cur.hidden) { continue }\n if (ie && ie_version < 8) {\n var bot = cur.node.offsetTop + cur.node.offsetHeight;\n height = bot - prevBottom;\n prevBottom = bot;\n } else {\n var box = cur.node.getBoundingClientRect();\n height = box.bottom - box.top;\n // Check that lines don't extend past the right of the current\n // editor width\n if (!wrapping && cur.text.firstChild)\n { width = cur.text.firstChild.getBoundingClientRect().right - box.left - 1; }\n }\n var diff = cur.line.height - height;\n if (diff > .005 || diff < -.005) {\n updateLineHeight(cur.line, height);\n updateWidgetHeight(cur.line);\n if (cur.rest) { for (var j = 0; j < cur.rest.length; j++)\n { updateWidgetHeight(cur.rest[j]); } }\n }\n if (width > cm.display.sizerWidth) {\n var chWidth = Math.ceil(width / charWidth(cm.display));\n if (chWidth > cm.display.maxLineLength) {\n cm.display.maxLineLength = chWidth;\n cm.display.maxLine = cur.line;\n cm.display.maxLineChanged = true;\n }\n }\n }\n }\n\n // Read and store the height of line widgets associated with the\n // given line.\n function updateWidgetHeight(line) {\n if (line.widgets) { for (var i = 0; i < line.widgets.length; ++i) {\n var w = line.widgets[i], parent = w.node.parentNode;\n if (parent) { w.height = parent.offsetHeight; }\n } }\n }\n\n // Compute the lines that are visible in a given viewport (defaults\n // the the current scroll position). viewport may contain top,\n // height, and ensure (see op.scrollToPos) properties.\n function visibleLines(display, doc, viewport) {\n var top = viewport && viewport.top != null ? Math.max(0, viewport.top) : display.scroller.scrollTop;\n top = Math.floor(top - paddingTop(display));\n var bottom = viewport && viewport.bottom != null ? viewport.bottom : top + display.wrapper.clientHeight;\n\n var from = lineAtHeight(doc, top), to = lineAtHeight(doc, bottom);\n // Ensure is a {from: {line, ch}, to: {line, ch}} object, and\n // forces those lines into the viewport (if possible).\n if (viewport && viewport.ensure) {\n var ensureFrom = viewport.ensure.from.line, ensureTo = viewport.ensure.to.line;\n if (ensureFrom < from) {\n from = ensureFrom;\n to = lineAtHeight(doc, heightAtLine(getLine(doc, ensureFrom)) + display.wrapper.clientHeight);\n } else if (Math.min(ensureTo, doc.lastLine()) >= to) {\n from = lineAtHeight(doc, heightAtLine(getLine(doc, ensureTo)) - display.wrapper.clientHeight);\n to = ensureTo;\n }\n }\n return {from: from, to: Math.max(to, from + 1)}\n }\n\n // SCROLLING THINGS INTO VIEW\n\n // If an editor sits on the top or bottom of the window, partially\n // scrolled out of view, this ensures that the cursor is visible.\n function maybeScrollWindow(cm, rect) {\n if (signalDOMEvent(cm, \"scrollCursorIntoView\")) { return }\n\n var display = cm.display, box = display.sizer.getBoundingClientRect(), doScroll = null;\n if (rect.top + box.top < 0) { doScroll = true; }\n else if (rect.bottom + box.top > (window.innerHeight || document.documentElement.clientHeight)) { doScroll = false; }\n if (doScroll != null && !phantom) {\n var scrollNode = elt(\"div\", \"\\u200b\", null, (\"position: absolute;\\n top: \" + (rect.top - display.viewOffset - paddingTop(cm.display)) + \"px;\\n height: \" + (rect.bottom - rect.top + scrollGap(cm) + display.barHeight) + \"px;\\n left: \" + (rect.left) + \"px; width: \" + (Math.max(2, rect.right - rect.left)) + \"px;\"));\n cm.display.lineSpace.appendChild(scrollNode);\n scrollNode.scrollIntoView(doScroll);\n cm.display.lineSpace.removeChild(scrollNode);\n }\n }\n\n // Scroll a given position into view (immediately), verifying that\n // it actually became visible (as line heights are accurately\n // measured, the position of something may 'drift' during drawing).\n function scrollPosIntoView(cm, pos, end, margin) {\n if (margin == null) { margin = 0; }\n var rect;\n if (!cm.options.lineWrapping && pos == end) {\n // Set pos and end to the cursor positions around the character pos sticks to\n // If pos.sticky == \"before\", that is around pos.ch - 1, otherwise around pos.ch\n // If pos == Pos(_, 0, \"before\"), pos and end are unchanged\n pos = pos.ch ? Pos(pos.line, pos.sticky == \"before\" ? pos.ch - 1 : pos.ch, \"after\") : pos;\n end = pos.sticky == \"before\" ? Pos(pos.line, pos.ch + 1, \"before\") : pos;\n }\n for (var limit = 0; limit < 5; limit++) {\n var changed = false;\n var coords = cursorCoords(cm, pos);\n var endCoords = !end || end == pos ? coords : cursorCoords(cm, end);\n rect = {left: Math.min(coords.left, endCoords.left),\n top: Math.min(coords.top, endCoords.top) - margin,\n right: Math.max(coords.left, endCoords.left),\n bottom: Math.max(coords.bottom, endCoords.bottom) + margin};\n var scrollPos = calculateScrollPos(cm, rect);\n var startTop = cm.doc.scrollTop, startLeft = cm.doc.scrollLeft;\n if (scrollPos.scrollTop != null) {\n updateScrollTop(cm, scrollPos.scrollTop);\n if (Math.abs(cm.doc.scrollTop - startTop) > 1) { changed = true; }\n }\n if (scrollPos.scrollLeft != null) {\n setScrollLeft(cm, scrollPos.scrollLeft);\n if (Math.abs(cm.doc.scrollLeft - startLeft) > 1) { changed = true; }\n }\n if (!changed) { break }\n }\n return rect\n }\n\n // Scroll a given set of coordinates into view (immediately).\n function scrollIntoView(cm, rect) {\n var scrollPos = calculateScrollPos(cm, rect);\n if (scrollPos.scrollTop != null) { updateScrollTop(cm, scrollPos.scrollTop); }\n if (scrollPos.scrollLeft != null) { setScrollLeft(cm, scrollPos.scrollLeft); }\n }\n\n // Calculate a new scroll position needed to scroll the given\n // rectangle into view. Returns an object with scrollTop and\n // scrollLeft properties. When these are undefined, the\n // vertical/horizontal position does not need to be adjusted.\n function calculateScrollPos(cm, rect) {\n var display = cm.display, snapMargin = textHeight(cm.display);\n if (rect.top < 0) { rect.top = 0; }\n var screentop = cm.curOp && cm.curOp.scrollTop != null ? cm.curOp.scrollTop : display.scroller.scrollTop;\n var screen = displayHeight(cm), result = {};\n if (rect.bottom - rect.top > screen) { rect.bottom = rect.top + screen; }\n var docBottom = cm.doc.height + paddingVert(display);\n var atTop = rect.top < snapMargin, atBottom = rect.bottom > docBottom - snapMargin;\n if (rect.top < screentop) {\n result.scrollTop = atTop ? 0 : rect.top;\n } else if (rect.bottom > screentop + screen) {\n var newTop = Math.min(rect.top, (atBottom ? docBottom : rect.bottom) - screen);\n if (newTop != screentop) { result.scrollTop = newTop; }\n }\n\n var screenleft = cm.curOp && cm.curOp.scrollLeft != null ? cm.curOp.scrollLeft : display.scroller.scrollLeft;\n var screenw = displayWidth(cm) - (cm.options.fixedGutter ? display.gutters.offsetWidth : 0);\n var tooWide = rect.right - rect.left > screenw;\n if (tooWide) { rect.right = rect.left + screenw; }\n if (rect.left < 10)\n { result.scrollLeft = 0; }\n else if (rect.left < screenleft)\n { result.scrollLeft = Math.max(0, rect.left - (tooWide ? 0 : 10)); }\n else if (rect.right > screenw + screenleft - 3)\n { result.scrollLeft = rect.right + (tooWide ? 0 : 10) - screenw; }\n return result\n }\n\n // Store a relative adjustment to the scroll position in the current\n // operation (to be applied when the operation finishes).\n function addToScrollTop(cm, top) {\n if (top == null) { return }\n resolveScrollToPos(cm);\n cm.curOp.scrollTop = (cm.curOp.scrollTop == null ? cm.doc.scrollTop : cm.curOp.scrollTop) + top;\n }\n\n // Make sure that at the end of the operation the current cursor is\n // shown.\n function ensureCursorVisible(cm) {\n resolveScrollToPos(cm);\n var cur = cm.getCursor();\n cm.curOp.scrollToPos = {from: cur, to: cur, margin: cm.options.cursorScrollMargin};\n }\n\n function scrollToCoords(cm, x, y) {\n if (x != null || y != null) { resolveScrollToPos(cm); }\n if (x != null) { cm.curOp.scrollLeft = x; }\n if (y != null) { cm.curOp.scrollTop = y; }\n }\n\n function scrollToRange(cm, range$$1) {\n resolveScrollToPos(cm);\n cm.curOp.scrollToPos = range$$1;\n }\n\n // When an operation has its scrollToPos property set, and another\n // scroll action is applied before the end of the operation, this\n // 'simulates' scrolling that position into view in a cheap way, so\n // that the effect of intermediate scroll commands is not ignored.\n function resolveScrollToPos(cm) {\n var range$$1 = cm.curOp.scrollToPos;\n if (range$$1) {\n cm.curOp.scrollToPos = null;\n var from = estimateCoords(cm, range$$1.from), to = estimateCoords(cm, range$$1.to);\n scrollToCoordsRange(cm, from, to, range$$1.margin);\n }\n }\n\n function scrollToCoordsRange(cm, from, to, margin) {\n var sPos = calculateScrollPos(cm, {\n left: Math.min(from.left, to.left),\n top: Math.min(from.top, to.top) - margin,\n right: Math.max(from.right, to.right),\n bottom: Math.max(from.bottom, to.bottom) + margin\n });\n scrollToCoords(cm, sPos.scrollLeft, sPos.scrollTop);\n }\n\n // Sync the scrollable area and scrollbars, ensure the viewport\n // covers the visible area.\n function updateScrollTop(cm, val) {\n if (Math.abs(cm.doc.scrollTop - val) < 2) { return }\n if (!gecko) { updateDisplaySimple(cm, {top: val}); }\n setScrollTop(cm, val, true);\n if (gecko) { updateDisplaySimple(cm); }\n startWorker(cm, 100);\n }\n\n function setScrollTop(cm, val, forceScroll) {\n val = Math.min(cm.display.scroller.scrollHeight - cm.display.scroller.clientHeight, val);\n if (cm.display.scroller.scrollTop == val && !forceScroll) { return }\n cm.doc.scrollTop = val;\n cm.display.scrollbars.setScrollTop(val);\n if (cm.display.scroller.scrollTop != val) { cm.display.scroller.scrollTop = val; }\n }\n\n // Sync scroller and scrollbar, ensure the gutter elements are\n // aligned.\n function setScrollLeft(cm, val, isScroller, forceScroll) {\n val = Math.min(val, cm.display.scroller.scrollWidth - cm.display.scroller.clientWidth);\n if ((isScroller ? val == cm.doc.scrollLeft : Math.abs(cm.doc.scrollLeft - val) < 2) && !forceScroll) { return }\n cm.doc.scrollLeft = val;\n alignHorizontally(cm);\n if (cm.display.scroller.scrollLeft != val) { cm.display.scroller.scrollLeft = val; }\n cm.display.scrollbars.setScrollLeft(val);\n }\n\n // SCROLLBARS\n\n // Prepare DOM reads needed to update the scrollbars. Done in one\n // shot to minimize update/measure roundtrips.\n function measureForScrollbars(cm) {\n var d = cm.display, gutterW = d.gutters.offsetWidth;\n var docH = Math.round(cm.doc.height + paddingVert(cm.display));\n return {\n clientHeight: d.scroller.clientHeight,\n viewHeight: d.wrapper.clientHeight,\n scrollWidth: d.scroller.scrollWidth, clientWidth: d.scroller.clientWidth,\n viewWidth: d.wrapper.clientWidth,\n barLeft: cm.options.fixedGutter ? gutterW : 0,\n docHeight: docH,\n scrollHeight: docH + scrollGap(cm) + d.barHeight,\n nativeBarWidth: d.nativeBarWidth,\n gutterWidth: gutterW\n }\n }\n\n var NativeScrollbars = function(place, scroll, cm) {\n this.cm = cm;\n var vert = this.vert = elt(\"div\", [elt(\"div\", null, null, \"min-width: 1px\")], \"CodeMirror-vscrollbar\");\n var horiz = this.horiz = elt(\"div\", [elt(\"div\", null, null, \"height: 100%; min-height: 1px\")], \"CodeMirror-hscrollbar\");\n vert.tabIndex = horiz.tabIndex = -1;\n place(vert); place(horiz);\n\n on(vert, \"scroll\", function () {\n if (vert.clientHeight) { scroll(vert.scrollTop, \"vertical\"); }\n });\n on(horiz, \"scroll\", function () {\n if (horiz.clientWidth) { scroll(horiz.scrollLeft, \"horizontal\"); }\n });\n\n this.checkedZeroWidth = false;\n // Need to set a minimum width to see the scrollbar on IE7 (but must not set it on IE8).\n if (ie && ie_version < 8) { this.horiz.style.minHeight = this.vert.style.minWidth = \"18px\"; }\n };\n\n NativeScrollbars.prototype.update = function (measure) {\n var needsH = measure.scrollWidth > measure.clientWidth + 1;\n var needsV = measure.scrollHeight > measure.clientHeight + 1;\n var sWidth = measure.nativeBarWidth;\n\n if (needsV) {\n this.vert.style.display = \"block\";\n this.vert.style.bottom = needsH ? sWidth + \"px\" : \"0\";\n var totalHeight = measure.viewHeight - (needsH ? sWidth : 0);\n // A bug in IE8 can cause this value to be negative, so guard it.\n this.vert.firstChild.style.height =\n Math.max(0, measure.scrollHeight - measure.clientHeight + totalHeight) + \"px\";\n } else {\n this.vert.style.display = \"\";\n this.vert.firstChild.style.height = \"0\";\n }\n\n if (needsH) {\n this.horiz.style.display = \"block\";\n this.horiz.style.right = needsV ? sWidth + \"px\" : \"0\";\n this.horiz.style.left = measure.barLeft + \"px\";\n var totalWidth = measure.viewWidth - measure.barLeft - (needsV ? sWidth : 0);\n this.horiz.firstChild.style.width =\n Math.max(0, measure.scrollWidth - measure.clientWidth + totalWidth) + \"px\";\n } else {\n this.horiz.style.display = \"\";\n this.horiz.firstChild.style.width = \"0\";\n }\n\n if (!this.checkedZeroWidth && measure.clientHeight > 0) {\n if (sWidth == 0) { this.zeroWidthHack(); }\n this.checkedZeroWidth = true;\n }\n\n return {right: needsV ? sWidth : 0, bottom: needsH ? sWidth : 0}\n };\n\n NativeScrollbars.prototype.setScrollLeft = function (pos) {\n if (this.horiz.scrollLeft != pos) { this.horiz.scrollLeft = pos; }\n if (this.disableHoriz) { this.enableZeroWidthBar(this.horiz, this.disableHoriz, \"horiz\"); }\n };\n\n NativeScrollbars.prototype.setScrollTop = function (pos) {\n if (this.vert.scrollTop != pos) { this.vert.scrollTop = pos; }\n if (this.disableVert) { this.enableZeroWidthBar(this.vert, this.disableVert, \"vert\"); }\n };\n\n NativeScrollbars.prototype.zeroWidthHack = function () {\n var w = mac && !mac_geMountainLion ? \"12px\" : \"18px\";\n this.horiz.style.height = this.vert.style.width = w;\n this.horiz.style.pointerEvents = this.vert.style.pointerEvents = \"none\";\n this.disableHoriz = new Delayed;\n this.disableVert = new Delayed;\n };\n\n NativeScrollbars.prototype.enableZeroWidthBar = function (bar, delay, type) {\n bar.style.pointerEvents = \"auto\";\n function maybeDisable() {\n // To find out whether the scrollbar is still visible, we\n // check whether the element under the pixel in the bottom\n // right corner of the scrollbar box is the scrollbar box\n // itself (when the bar is still visible) or its filler child\n // (when the bar is hidden). If it is still visible, we keep\n // it enabled, if it's hidden, we disable pointer events.\n var box = bar.getBoundingClientRect();\n var elt$$1 = type == \"vert\" ? document.elementFromPoint(box.right - 1, (box.top + box.bottom) / 2)\n : document.elementFromPoint((box.right + box.left) / 2, box.bottom - 1);\n if (elt$$1 != bar) { bar.style.pointerEvents = \"none\"; }\n else { delay.set(1000, maybeDisable); }\n }\n delay.set(1000, maybeDisable);\n };\n\n NativeScrollbars.prototype.clear = function () {\n var parent = this.horiz.parentNode;\n parent.removeChild(this.horiz);\n parent.removeChild(this.vert);\n };\n\n var NullScrollbars = function () {};\n\n NullScrollbars.prototype.update = function () { return {bottom: 0, right: 0} };\n NullScrollbars.prototype.setScrollLeft = function () {};\n NullScrollbars.prototype.setScrollTop = function () {};\n NullScrollbars.prototype.clear = function () {};\n\n function updateScrollbars(cm, measure) {\n if (!measure) { measure = measureForScrollbars(cm); }\n var startWidth = cm.display.barWidth, startHeight = cm.display.barHeight;\n updateScrollbarsInner(cm, measure);\n for (var i = 0; i < 4 && startWidth != cm.display.barWidth || startHeight != cm.display.barHeight; i++) {\n if (startWidth != cm.display.barWidth && cm.options.lineWrapping)\n { updateHeightsInViewport(cm); }\n updateScrollbarsInner(cm, measureForScrollbars(cm));\n startWidth = cm.display.barWidth; startHeight = cm.display.barHeight;\n }\n }\n\n // Re-synchronize the fake scrollbars with the actual size of the\n // content.\n function updateScrollbarsInner(cm, measure) {\n var d = cm.display;\n var sizes = d.scrollbars.update(measure);\n\n d.sizer.style.paddingRight = (d.barWidth = sizes.right) + \"px\";\n d.sizer.style.paddingBottom = (d.barHeight = sizes.bottom) + \"px\";\n d.heightForcer.style.borderBottom = sizes.bottom + \"px solid transparent\";\n\n if (sizes.right && sizes.bottom) {\n d.scrollbarFiller.style.display = \"block\";\n d.scrollbarFiller.style.height = sizes.bottom + \"px\";\n d.scrollbarFiller.style.width = sizes.right + \"px\";\n } else { d.scrollbarFiller.style.display = \"\"; }\n if (sizes.bottom && cm.options.coverGutterNextToScrollbar && cm.options.fixedGutter) {\n d.gutterFiller.style.display = \"block\";\n d.gutterFiller.style.height = sizes.bottom + \"px\";\n d.gutterFiller.style.width = measure.gutterWidth + \"px\";\n } else { d.gutterFiller.style.display = \"\"; }\n }\n\n var scrollbarModel = {\"native\": NativeScrollbars, \"null\": NullScrollbars};\n\n function initScrollbars(cm) {\n if (cm.display.scrollbars) {\n cm.display.scrollbars.clear();\n if (cm.display.scrollbars.addClass)\n { rmClass(cm.display.wrapper, cm.display.scrollbars.addClass); }\n }\n\n cm.display.scrollbars = new scrollbarModel[cm.options.scrollbarStyle](function (node) {\n cm.display.wrapper.insertBefore(node, cm.display.scrollbarFiller);\n // Prevent clicks in the scrollbars from killing focus\n on(node, \"mousedown\", function () {\n if (cm.state.focused) { setTimeout(function () { return cm.display.input.focus(); }, 0); }\n });\n node.setAttribute(\"cm-not-content\", \"true\");\n }, function (pos, axis) {\n if (axis == \"horizontal\") { setScrollLeft(cm, pos); }\n else { updateScrollTop(cm, pos); }\n }, cm);\n if (cm.display.scrollbars.addClass)\n { addClass(cm.display.wrapper, cm.display.scrollbars.addClass); }\n }\n\n // Operations are used to wrap a series of changes to the editor\n // state in such a way that each change won't have to update the\n // cursor and display (which would be awkward, slow, and\n // error-prone). Instead, display updates are batched and then all\n // combined and executed at once.\n\n var nextOpId = 0;\n // Start a new operation.\n function startOperation(cm) {\n cm.curOp = {\n cm: cm,\n viewChanged: false, // Flag that indicates that lines might need to be redrawn\n startHeight: cm.doc.height, // Used to detect need to update scrollbar\n forceUpdate: false, // Used to force a redraw\n updateInput: 0, // Whether to reset the input textarea\n typing: false, // Whether this reset should be careful to leave existing text (for compositing)\n changeObjs: null, // Accumulated changes, for firing change events\n cursorActivityHandlers: null, // Set of handlers to fire cursorActivity on\n cursorActivityCalled: 0, // Tracks which cursorActivity handlers have been called already\n selectionChanged: false, // Whether the selection needs to be redrawn\n updateMaxLine: false, // Set when the widest line needs to be determined anew\n scrollLeft: null, scrollTop: null, // Intermediate scroll position, not pushed to DOM yet\n scrollToPos: null, // Used to scroll to a specific position\n focus: false,\n id: ++nextOpId // Unique ID\n };\n pushOperation(cm.curOp);\n }\n\n // Finish an operation, updating the display and signalling delayed events\n function endOperation(cm) {\n var op = cm.curOp;\n if (op) { finishOperation(op, function (group) {\n for (var i = 0; i < group.ops.length; i++)\n { group.ops[i].cm.curOp = null; }\n endOperations(group);\n }); }\n }\n\n // The DOM updates done when an operation finishes are batched so\n // that the minimum number of relayouts are required.\n function endOperations(group) {\n var ops = group.ops;\n for (var i = 0; i < ops.length; i++) // Read DOM\n { endOperation_R1(ops[i]); }\n for (var i$1 = 0; i$1 < ops.length; i$1++) // Write DOM (maybe)\n { endOperation_W1(ops[i$1]); }\n for (var i$2 = 0; i$2 < ops.length; i$2++) // Read DOM\n { endOperation_R2(ops[i$2]); }\n for (var i$3 = 0; i$3 < ops.length; i$3++) // Write DOM (maybe)\n { endOperation_W2(ops[i$3]); }\n for (var i$4 = 0; i$4 < ops.length; i$4++) // Read DOM\n { endOperation_finish(ops[i$4]); }\n }\n\n function endOperation_R1(op) {\n var cm = op.cm, display = cm.display;\n maybeClipScrollbars(cm);\n if (op.updateMaxLine) { findMaxLine(cm); }\n\n op.mustUpdate = op.viewChanged || op.forceUpdate || op.scrollTop != null ||\n op.scrollToPos && (op.scrollToPos.from.line < display.viewFrom ||\n op.scrollToPos.to.line >= display.viewTo) ||\n display.maxLineChanged && cm.options.lineWrapping;\n op.update = op.mustUpdate &&\n new DisplayUpdate(cm, op.mustUpdate && {top: op.scrollTop, ensure: op.scrollToPos}, op.forceUpdate);\n }\n\n function endOperation_W1(op) {\n op.updatedDisplay = op.mustUpdate && updateDisplayIfNeeded(op.cm, op.update);\n }\n\n function endOperation_R2(op) {\n var cm = op.cm, display = cm.display;\n if (op.updatedDisplay) { updateHeightsInViewport(cm); }\n\n op.barMeasure = measureForScrollbars(cm);\n\n // If the max line changed since it was last measured, measure it,\n // and ensure the document's width matches it.\n // updateDisplay_W2 will use these properties to do the actual resizing\n if (display.maxLineChanged && !cm.options.lineWrapping) {\n op.adjustWidthTo = measureChar(cm, display.maxLine, display.maxLine.text.length).left + 3;\n cm.display.sizerWidth = op.adjustWidthTo;\n op.barMeasure.scrollWidth =\n Math.max(display.scroller.clientWidth, display.sizer.offsetLeft + op.adjustWidthTo + scrollGap(cm) + cm.display.barWidth);\n op.maxScrollLeft = Math.max(0, display.sizer.offsetLeft + op.adjustWidthTo - displayWidth(cm));\n }\n\n if (op.updatedDisplay || op.selectionChanged)\n { op.preparedSelection = display.input.prepareSelection(); }\n }\n\n function endOperation_W2(op) {\n var cm = op.cm;\n\n if (op.adjustWidthTo != null) {\n cm.display.sizer.style.minWidth = op.adjustWidthTo + \"px\";\n if (op.maxScrollLeft < cm.doc.scrollLeft)\n { setScrollLeft(cm, Math.min(cm.display.scroller.scrollLeft, op.maxScrollLeft), true); }\n cm.display.maxLineChanged = false;\n }\n\n var takeFocus = op.focus && op.focus == activeElt();\n if (op.preparedSelection)\n { cm.display.input.showSelection(op.preparedSelection, takeFocus); }\n if (op.updatedDisplay || op.startHeight != cm.doc.height)\n { updateScrollbars(cm, op.barMeasure); }\n if (op.updatedDisplay)\n { setDocumentHeight(cm, op.barMeasure); }\n\n if (op.selectionChanged) { restartBlink(cm); }\n\n if (cm.state.focused && op.updateInput)\n { cm.display.input.reset(op.typing); }\n if (takeFocus) { ensureFocus(op.cm); }\n }\n\n function endOperation_finish(op) {\n var cm = op.cm, display = cm.display, doc = cm.doc;\n\n if (op.updatedDisplay) { postUpdateDisplay(cm, op.update); }\n\n // Abort mouse wheel delta measurement, when scrolling explicitly\n if (display.wheelStartX != null && (op.scrollTop != null || op.scrollLeft != null || op.scrollToPos))\n { display.wheelStartX = display.wheelStartY = null; }\n\n // Propagate the scroll position to the actual DOM scroller\n if (op.scrollTop != null) { setScrollTop(cm, op.scrollTop, op.forceScroll); }\n\n if (op.scrollLeft != null) { setScrollLeft(cm, op.scrollLeft, true, true); }\n // If we need to scroll a specific position into view, do so.\n if (op.scrollToPos) {\n var rect = scrollPosIntoView(cm, clipPos(doc, op.scrollToPos.from),\n clipPos(doc, op.scrollToPos.to), op.scrollToPos.margin);\n maybeScrollWindow(cm, rect);\n }\n\n // Fire events for markers that are hidden/unidden by editing or\n // undoing\n var hidden = op.maybeHiddenMarkers, unhidden = op.maybeUnhiddenMarkers;\n if (hidden) { for (var i = 0; i < hidden.length; ++i)\n { if (!hidden[i].lines.length) { signal(hidden[i], \"hide\"); } } }\n if (unhidden) { for (var i$1 = 0; i$1 < unhidden.length; ++i$1)\n { if (unhidden[i$1].lines.length) { signal(unhidden[i$1], \"unhide\"); } } }\n\n if (display.wrapper.offsetHeight)\n { doc.scrollTop = cm.display.scroller.scrollTop; }\n\n // Fire change events, and delayed event handlers\n if (op.changeObjs)\n { signal(cm, \"changes\", cm, op.changeObjs); }\n if (op.update)\n { op.update.finish(); }\n }\n\n // Run the given function in an operation\n function runInOp(cm, f) {\n if (cm.curOp) { return f() }\n startOperation(cm);\n try { return f() }\n finally { endOperation(cm); }\n }\n // Wraps a function in an operation. Returns the wrapped function.\n function operation(cm, f) {\n return function() {\n if (cm.curOp) { return f.apply(cm, arguments) }\n startOperation(cm);\n try { return f.apply(cm, arguments) }\n finally { endOperation(cm); }\n }\n }\n // Used to add methods to editor and doc instances, wrapping them in\n // operations.\n function methodOp(f) {\n return function() {\n if (this.curOp) { return f.apply(this, arguments) }\n startOperation(this);\n try { return f.apply(this, arguments) }\n finally { endOperation(this); }\n }\n }\n function docMethodOp(f) {\n return function() {\n var cm = this.cm;\n if (!cm || cm.curOp) { return f.apply(this, arguments) }\n startOperation(cm);\n try { return f.apply(this, arguments) }\n finally { endOperation(cm); }\n }\n }\n\n // HIGHLIGHT WORKER\n\n function startWorker(cm, time) {\n if (cm.doc.highlightFrontier < cm.display.viewTo)\n { cm.state.highlight.set(time, bind(highlightWorker, cm)); }\n }\n\n function highlightWorker(cm) {\n var doc = cm.doc;\n if (doc.highlightFrontier >= cm.display.viewTo) { return }\n var end = +new Date + cm.options.workTime;\n var context = getContextBefore(cm, doc.highlightFrontier);\n var changedLines = [];\n\n doc.iter(context.line, Math.min(doc.first + doc.size, cm.display.viewTo + 500), function (line) {\n if (context.line >= cm.display.viewFrom) { // Visible\n var oldStyles = line.styles;\n var resetState = line.text.length > cm.options.maxHighlightLength ? copyState(doc.mode, context.state) : null;\n var highlighted = highlightLine(cm, line, context, true);\n if (resetState) { context.state = resetState; }\n line.styles = highlighted.styles;\n var oldCls = line.styleClasses, newCls = highlighted.classes;\n if (newCls) { line.styleClasses = newCls; }\n else if (oldCls) { line.styleClasses = null; }\n var ischange = !oldStyles || oldStyles.length != line.styles.length ||\n oldCls != newCls && (!oldCls || !newCls || oldCls.bgClass != newCls.bgClass || oldCls.textClass != newCls.textClass);\n for (var i = 0; !ischange && i < oldStyles.length; ++i) { ischange = oldStyles[i] != line.styles[i]; }\n if (ischange) { changedLines.push(context.line); }\n line.stateAfter = context.save();\n context.nextLine();\n } else {\n if (line.text.length <= cm.options.maxHighlightLength)\n { processLine(cm, line.text, context); }\n line.stateAfter = context.line % 5 == 0 ? context.save() : null;\n context.nextLine();\n }\n if (+new Date > end) {\n startWorker(cm, cm.options.workDelay);\n return true\n }\n });\n doc.highlightFrontier = context.line;\n doc.modeFrontier = Math.max(doc.modeFrontier, context.line);\n if (changedLines.length) { runInOp(cm, function () {\n for (var i = 0; i < changedLines.length; i++)\n { regLineChange(cm, changedLines[i], \"text\"); }\n }); }\n }\n\n // DISPLAY DRAWING\n\n var DisplayUpdate = function(cm, viewport, force) {\n var display = cm.display;\n\n this.viewport = viewport;\n // Store some values that we'll need later (but don't want to force a relayout for)\n this.visible = visibleLines(display, cm.doc, viewport);\n this.editorIsHidden = !display.wrapper.offsetWidth;\n this.wrapperHeight = display.wrapper.clientHeight;\n this.wrapperWidth = display.wrapper.clientWidth;\n this.oldDisplayWidth = displayWidth(cm);\n this.force = force;\n this.dims = getDimensions(cm);\n this.events = [];\n };\n\n DisplayUpdate.prototype.signal = function (emitter, type) {\n if (hasHandler(emitter, type))\n { this.events.push(arguments); }\n };\n DisplayUpdate.prototype.finish = function () {\n var this$1 = this;\n\n for (var i = 0; i < this.events.length; i++)\n { signal.apply(null, this$1.events[i]); }\n };\n\n function maybeClipScrollbars(cm) {\n var display = cm.display;\n if (!display.scrollbarsClipped && display.scroller.offsetWidth) {\n display.nativeBarWidth = display.scroller.offsetWidth - display.scroller.clientWidth;\n display.heightForcer.style.height = scrollGap(cm) + \"px\";\n display.sizer.style.marginBottom = -display.nativeBarWidth + \"px\";\n display.sizer.style.borderRightWidth = scrollGap(cm) + \"px\";\n display.scrollbarsClipped = true;\n }\n }\n\n function selectionSnapshot(cm) {\n if (cm.hasFocus()) { return null }\n var active = activeElt();\n if (!active || !contains(cm.display.lineDiv, active)) { return null }\n var result = {activeElt: active};\n if (window.getSelection) {\n var sel = window.getSelection();\n if (sel.anchorNode && sel.extend && contains(cm.display.lineDiv, sel.anchorNode)) {\n result.anchorNode = sel.anchorNode;\n result.anchorOffset = sel.anchorOffset;\n result.focusNode = sel.focusNode;\n result.focusOffset = sel.focusOffset;\n }\n }\n return result\n }\n\n function restoreSelection(snapshot) {\n if (!snapshot || !snapshot.activeElt || snapshot.activeElt == activeElt()) { return }\n snapshot.activeElt.focus();\n if (snapshot.anchorNode && contains(document.body, snapshot.anchorNode) && contains(document.body, snapshot.focusNode)) {\n var sel = window.getSelection(), range$$1 = document.createRange();\n range$$1.setEnd(snapshot.anchorNode, snapshot.anchorOffset);\n range$$1.collapse(false);\n sel.removeAllRanges();\n sel.addRange(range$$1);\n sel.extend(snapshot.focusNode, snapshot.focusOffset);\n }\n }\n\n // Does the actual updating of the line display. Bails out\n // (returning false) when there is nothing to be done and forced is\n // false.\n function updateDisplayIfNeeded(cm, update) {\n var display = cm.display, doc = cm.doc;\n\n if (update.editorIsHidden) {\n resetView(cm);\n return false\n }\n\n // Bail out if the visible area is already rendered and nothing changed.\n if (!update.force &&\n update.visible.from >= display.viewFrom && update.visible.to <= display.viewTo &&\n (display.updateLineNumbers == null || display.updateLineNumbers >= display.viewTo) &&\n display.renderedView == display.view && countDirtyView(cm) == 0)\n { return false }\n\n if (maybeUpdateLineNumberWidth(cm)) {\n resetView(cm);\n update.dims = getDimensions(cm);\n }\n\n // Compute a suitable new viewport (from & to)\n var end = doc.first + doc.size;\n var from = Math.max(update.visible.from - cm.options.viewportMargin, doc.first);\n var to = Math.min(end, update.visible.to + cm.options.viewportMargin);\n if (display.viewFrom < from && from - display.viewFrom < 20) { from = Math.max(doc.first, display.viewFrom); }\n if (display.viewTo > to && display.viewTo - to < 20) { to = Math.min(end, display.viewTo); }\n if (sawCollapsedSpans) {\n from = visualLineNo(cm.doc, from);\n to = visualLineEndNo(cm.doc, to);\n }\n\n var different = from != display.viewFrom || to != display.viewTo ||\n display.lastWrapHeight != update.wrapperHeight || display.lastWrapWidth != update.wrapperWidth;\n adjustView(cm, from, to);\n\n display.viewOffset = heightAtLine(getLine(cm.doc, display.viewFrom));\n // Position the mover div to align with the current scroll position\n cm.display.mover.style.top = display.viewOffset + \"px\";\n\n var toUpdate = countDirtyView(cm);\n if (!different && toUpdate == 0 && !update.force && display.renderedView == display.view &&\n (display.updateLineNumbers == null || display.updateLineNumbers >= display.viewTo))\n { return false }\n\n // For big changes, we hide the enclosing element during the\n // update, since that speeds up the operations on most browsers.\n var selSnapshot = selectionSnapshot(cm);\n if (toUpdate > 4) { display.lineDiv.style.display = \"none\"; }\n patchDisplay(cm, display.updateLineNumbers, update.dims);\n if (toUpdate > 4) { display.lineDiv.style.display = \"\"; }\n display.renderedView = display.view;\n // There might have been a widget with a focused element that got\n // hidden or updated, if so re-focus it.\n restoreSelection(selSnapshot);\n\n // Prevent selection and cursors from interfering with the scroll\n // width and height.\n removeChildren(display.cursorDiv);\n removeChildren(display.selectionDiv);\n display.gutters.style.height = display.sizer.style.minHeight = 0;\n\n if (different) {\n display.lastWrapHeight = update.wrapperHeight;\n display.lastWrapWidth = update.wrapperWidth;\n startWorker(cm, 400);\n }\n\n display.updateLineNumbers = null;\n\n return true\n }\n\n function postUpdateDisplay(cm, update) {\n var viewport = update.viewport;\n\n for (var first = true;; first = false) {\n if (!first || !cm.options.lineWrapping || update.oldDisplayWidth == displayWidth(cm)) {\n // Clip forced viewport to actual scrollable area.\n if (viewport && viewport.top != null)\n { viewport = {top: Math.min(cm.doc.height + paddingVert(cm.display) - displayHeight(cm), viewport.top)}; }\n // Updated line heights might result in the drawn area not\n // actually covering the viewport. Keep looping until it does.\n update.visible = visibleLines(cm.display, cm.doc, viewport);\n if (update.visible.from >= cm.display.viewFrom && update.visible.to <= cm.display.viewTo)\n { break }\n }\n if (!updateDisplayIfNeeded(cm, update)) { break }\n updateHeightsInViewport(cm);\n var barMeasure = measureForScrollbars(cm);\n updateSelection(cm);\n updateScrollbars(cm, barMeasure);\n setDocumentHeight(cm, barMeasure);\n update.force = false;\n }\n\n update.signal(cm, \"update\", cm);\n if (cm.display.viewFrom != cm.display.reportedViewFrom || cm.display.viewTo != cm.display.reportedViewTo) {\n update.signal(cm, \"viewportChange\", cm, cm.display.viewFrom, cm.display.viewTo);\n cm.display.reportedViewFrom = cm.display.viewFrom; cm.display.reportedViewTo = cm.display.viewTo;\n }\n }\n\n function updateDisplaySimple(cm, viewport) {\n var update = new DisplayUpdate(cm, viewport);\n if (updateDisplayIfNeeded(cm, update)) {\n updateHeightsInViewport(cm);\n postUpdateDisplay(cm, update);\n var barMeasure = measureForScrollbars(cm);\n updateSelection(cm);\n updateScrollbars(cm, barMeasure);\n setDocumentHeight(cm, barMeasure);\n update.finish();\n }\n }\n\n // Sync the actual display DOM structure with display.view, removing\n // nodes for lines that are no longer in view, and creating the ones\n // that are not there yet, and updating the ones that are out of\n // date.\n function patchDisplay(cm, updateNumbersFrom, dims) {\n var display = cm.display, lineNumbers = cm.options.lineNumbers;\n var container = display.lineDiv, cur = container.firstChild;\n\n function rm(node) {\n var next = node.nextSibling;\n // Works around a throw-scroll bug in OS X Webkit\n if (webkit && mac && cm.display.currentWheelTarget == node)\n { node.style.display = \"none\"; }\n else\n { node.parentNode.removeChild(node); }\n return next\n }\n\n var view = display.view, lineN = display.viewFrom;\n // Loop over the elements in the view, syncing cur (the DOM nodes\n // in display.lineDiv) with the view as we go.\n for (var i = 0; i < view.length; i++) {\n var lineView = view[i];\n if (lineView.hidden) ; else if (!lineView.node || lineView.node.parentNode != container) { // Not drawn yet\n var node = buildLineElement(cm, lineView, lineN, dims);\n container.insertBefore(node, cur);\n } else { // Already drawn\n while (cur != lineView.node) { cur = rm(cur); }\n var updateNumber = lineNumbers && updateNumbersFrom != null &&\n updateNumbersFrom <= lineN && lineView.lineNumber;\n if (lineView.changes) {\n if (indexOf(lineView.changes, \"gutter\") > -1) { updateNumber = false; }\n updateLineForChanges(cm, lineView, lineN, dims);\n }\n if (updateNumber) {\n removeChildren(lineView.lineNumber);\n lineView.lineNumber.appendChild(document.createTextNode(lineNumberFor(cm.options, lineN)));\n }\n cur = lineView.node.nextSibling;\n }\n lineN += lineView.size;\n }\n while (cur) { cur = rm(cur); }\n }\n\n function updateGutterSpace(display) {\n var width = display.gutters.offsetWidth;\n display.sizer.style.marginLeft = width + \"px\";\n }\n\n function setDocumentHeight(cm, measure) {\n cm.display.sizer.style.minHeight = measure.docHeight + \"px\";\n cm.display.heightForcer.style.top = measure.docHeight + \"px\";\n cm.display.gutters.style.height = (measure.docHeight + cm.display.barHeight + scrollGap(cm)) + \"px\";\n }\n\n // Re-align line numbers and gutter marks to compensate for\n // horizontal scrolling.\n function alignHorizontally(cm) {\n var display = cm.display, view = display.view;\n if (!display.alignWidgets && (!display.gutters.firstChild || !cm.options.fixedGutter)) { return }\n var comp = compensateForHScroll(display) - display.scroller.scrollLeft + cm.doc.scrollLeft;\n var gutterW = display.gutters.offsetWidth, left = comp + \"px\";\n for (var i = 0; i < view.length; i++) { if (!view[i].hidden) {\n if (cm.options.fixedGutter) {\n if (view[i].gutter)\n { view[i].gutter.style.left = left; }\n if (view[i].gutterBackground)\n { view[i].gutterBackground.style.left = left; }\n }\n var align = view[i].alignable;\n if (align) { for (var j = 0; j < align.length; j++)\n { align[j].style.left = left; } }\n } }\n if (cm.options.fixedGutter)\n { display.gutters.style.left = (comp + gutterW) + \"px\"; }\n }\n\n // Used to ensure that the line number gutter is still the right\n // size for the current document size. Returns true when an update\n // is needed.\n function maybeUpdateLineNumberWidth(cm) {\n if (!cm.options.lineNumbers) { return false }\n var doc = cm.doc, last = lineNumberFor(cm.options, doc.first + doc.size - 1), display = cm.display;\n if (last.length != display.lineNumChars) {\n var test = display.measure.appendChild(elt(\"div\", [elt(\"div\", last)],\n \"CodeMirror-linenumber CodeMirror-gutter-elt\"));\n var innerW = test.firstChild.offsetWidth, padding = test.offsetWidth - innerW;\n display.lineGutter.style.width = \"\";\n display.lineNumInnerWidth = Math.max(innerW, display.lineGutter.offsetWidth - padding) + 1;\n display.lineNumWidth = display.lineNumInnerWidth + padding;\n display.lineNumChars = display.lineNumInnerWidth ? last.length : -1;\n display.lineGutter.style.width = display.lineNumWidth + \"px\";\n updateGutterSpace(cm.display);\n return true\n }\n return false\n }\n\n function getGutters(gutters, lineNumbers) {\n var result = [], sawLineNumbers = false;\n for (var i = 0; i < gutters.length; i++) {\n var name = gutters[i], style = null;\n if (typeof name != \"string\") { style = name.style; name = name.className; }\n if (name == \"CodeMirror-linenumbers\") {\n if (!lineNumbers) { continue }\n else { sawLineNumbers = true; }\n }\n result.push({className: name, style: style});\n }\n if (lineNumbers && !sawLineNumbers) { result.push({className: \"CodeMirror-linenumbers\", style: null}); }\n return result\n }\n\n // Rebuild the gutter elements, ensure the margin to the left of the\n // code matches their width.\n function renderGutters(display) {\n var gutters = display.gutters, specs = display.gutterSpecs;\n removeChildren(gutters);\n display.lineGutter = null;\n for (var i = 0; i < specs.length; ++i) {\n var ref = specs[i];\n var className = ref.className;\n var style = ref.style;\n var gElt = gutters.appendChild(elt(\"div\", null, \"CodeMirror-gutter \" + className));\n if (style) { gElt.style.cssText = style; }\n if (className == \"CodeMirror-linenumbers\") {\n display.lineGutter = gElt;\n gElt.style.width = (display.lineNumWidth || 1) + \"px\";\n }\n }\n gutters.style.display = specs.length ? \"\" : \"none\";\n updateGutterSpace(display);\n }\n\n function updateGutters(cm) {\n renderGutters(cm.display);\n regChange(cm);\n alignHorizontally(cm);\n }\n\n // The display handles the DOM integration, both for input reading\n // and content drawing. It holds references to DOM nodes and\n // display-related state.\n\n function Display(place, doc, input, options) {\n var d = this;\n this.input = input;\n\n // Covers bottom-right square when both scrollbars are present.\n d.scrollbarFiller = elt(\"div\", null, \"CodeMirror-scrollbar-filler\");\n d.scrollbarFiller.setAttribute(\"cm-not-content\", \"true\");\n // Covers bottom of gutter when coverGutterNextToScrollbar is on\n // and h scrollbar is present.\n d.gutterFiller = elt(\"div\", null, \"CodeMirror-gutter-filler\");\n d.gutterFiller.setAttribute(\"cm-not-content\", \"true\");\n // Will contain the actual code, positioned to cover the viewport.\n d.lineDiv = eltP(\"div\", null, \"CodeMirror-code\");\n // Elements are added to these to represent selection and cursors.\n d.selectionDiv = elt(\"div\", null, null, \"position: relative; z-index: 1\");\n d.cursorDiv = elt(\"div\", null, \"CodeMirror-cursors\");\n // A visibility: hidden element used to find the size of things.\n d.measure = elt(\"div\", null, \"CodeMirror-measure\");\n // When lines outside of the viewport are measured, they are drawn in this.\n d.lineMeasure = elt(\"div\", null, \"CodeMirror-measure\");\n // Wraps everything that needs to exist inside the vertically-padded coordinate system\n d.lineSpace = eltP(\"div\", [d.measure, d.lineMeasure, d.selectionDiv, d.cursorDiv, d.lineDiv],\n null, \"position: relative; outline: none\");\n var lines = eltP(\"div\", [d.lineSpace], \"CodeMirror-lines\");\n // Moved around its parent to cover visible view.\n d.mover = elt(\"div\", [lines], null, \"position: relative\");\n // Set to the height of the document, allowing scrolling.\n d.sizer = elt(\"div\", [d.mover], \"CodeMirror-sizer\");\n d.sizerWidth = null;\n // Behavior of elts with overflow: auto and padding is\n // inconsistent across browsers. This is used to ensure the\n // scrollable area is big enough.\n d.heightForcer = elt(\"div\", null, null, \"position: absolute; height: \" + scrollerGap + \"px; width: 1px;\");\n // Will contain the gutters, if any.\n d.gutters = elt(\"div\", null, \"CodeMirror-gutters\");\n d.lineGutter = null;\n // Actual scrollable element.\n d.scroller = elt(\"div\", [d.sizer, d.heightForcer, d.gutters], \"CodeMirror-scroll\");\n d.scroller.setAttribute(\"tabIndex\", \"-1\");\n // The element in which the editor lives.\n d.wrapper = elt(\"div\", [d.scrollbarFiller, d.gutterFiller, d.scroller], \"CodeMirror\");\n\n // Work around IE7 z-index bug (not perfect, hence IE7 not really being supported)\n if (ie && ie_version < 8) { d.gutters.style.zIndex = -1; d.scroller.style.paddingRight = 0; }\n if (!webkit && !(gecko && mobile)) { d.scroller.draggable = true; }\n\n if (place) {\n if (place.appendChild) { place.appendChild(d.wrapper); }\n else { place(d.wrapper); }\n }\n\n // Current rendered range (may be bigger than the view window).\n d.viewFrom = d.viewTo = doc.first;\n d.reportedViewFrom = d.reportedViewTo = doc.first;\n // Information about the rendered lines.\n d.view = [];\n d.renderedView = null;\n // Holds info about a single rendered line when it was rendered\n // for measurement, while not in view.\n d.externalMeasured = null;\n // Empty space (in pixels) above the view\n d.viewOffset = 0;\n d.lastWrapHeight = d.lastWrapWidth = 0;\n d.updateLineNumbers = null;\n\n d.nativeBarWidth = d.barHeight = d.barWidth = 0;\n d.scrollbarsClipped = false;\n\n // Used to only resize the line number gutter when necessary (when\n // the amount of lines crosses a boundary that makes its width change)\n d.lineNumWidth = d.lineNumInnerWidth = d.lineNumChars = null;\n // Set to true when a non-horizontal-scrolling line widget is\n // added. As an optimization, line widget aligning is skipped when\n // this is false.\n d.alignWidgets = false;\n\n d.cachedCharWidth = d.cachedTextHeight = d.cachedPaddingH = null;\n\n // Tracks the maximum line length so that the horizontal scrollbar\n // can be kept static when scrolling.\n d.maxLine = null;\n d.maxLineLength = 0;\n d.maxLineChanged = false;\n\n // Used for measuring wheel scrolling granularity\n d.wheelDX = d.wheelDY = d.wheelStartX = d.wheelStartY = null;\n\n // True when shift is held down.\n d.shift = false;\n\n // Used to track whether anything happened since the context menu\n // was opened.\n d.selForContextMenu = null;\n\n d.activeTouch = null;\n\n d.gutterSpecs = getGutters(options.gutters, options.lineNumbers);\n renderGutters(d);\n\n input.init(d);\n }\n\n // Since the delta values reported on mouse wheel events are\n // unstandardized between browsers and even browser versions, and\n // generally horribly unpredictable, this code starts by measuring\n // the scroll effect that the first few mouse wheel events have,\n // and, from that, detects the way it can convert deltas to pixel\n // offsets afterwards.\n //\n // The reason we want to know the amount a wheel event will scroll\n // is that it gives us a chance to update the display before the\n // actual scrolling happens, reducing flickering.\n\n var wheelSamples = 0, wheelPixelsPerUnit = null;\n // Fill in a browser-detected starting value on browsers where we\n // know one. These don't have to be accurate -- the result of them\n // being wrong would just be a slight flicker on the first wheel\n // scroll (if it is large enough).\n if (ie) { wheelPixelsPerUnit = -.53; }\n else if (gecko) { wheelPixelsPerUnit = 15; }\n else if (chrome) { wheelPixelsPerUnit = -.7; }\n else if (safari) { wheelPixelsPerUnit = -1/3; }\n\n function wheelEventDelta(e) {\n var dx = e.wheelDeltaX, dy = e.wheelDeltaY;\n if (dx == null && e.detail && e.axis == e.HORIZONTAL_AXIS) { dx = e.detail; }\n if (dy == null && e.detail && e.axis == e.VERTICAL_AXIS) { dy = e.detail; }\n else if (dy == null) { dy = e.wheelDelta; }\n return {x: dx, y: dy}\n }\n function wheelEventPixels(e) {\n var delta = wheelEventDelta(e);\n delta.x *= wheelPixelsPerUnit;\n delta.y *= wheelPixelsPerUnit;\n return delta\n }\n\n function onScrollWheel(cm, e) {\n var delta = wheelEventDelta(e), dx = delta.x, dy = delta.y;\n\n var display = cm.display, scroll = display.scroller;\n // Quit if there's nothing to scroll here\n var canScrollX = scroll.scrollWidth > scroll.clientWidth;\n var canScrollY = scroll.scrollHeight > scroll.clientHeight;\n if (!(dx && canScrollX || dy && canScrollY)) { return }\n\n // Webkit browsers on OS X abort momentum scrolls when the target\n // of the scroll event is removed from the scrollable element.\n // This hack (see related code in patchDisplay) makes sure the\n // element is kept around.\n if (dy && mac && webkit) {\n outer: for (var cur = e.target, view = display.view; cur != scroll; cur = cur.parentNode) {\n for (var i = 0; i < view.length; i++) {\n if (view[i].node == cur) {\n cm.display.currentWheelTarget = cur;\n break outer\n }\n }\n }\n }\n\n // On some browsers, horizontal scrolling will cause redraws to\n // happen before the gutter has been realigned, causing it to\n // wriggle around in a most unseemly way. When we have an\n // estimated pixels/delta value, we just handle horizontal\n // scrolling entirely here. It'll be slightly off from native, but\n // better than glitching out.\n if (dx && !gecko && !presto && wheelPixelsPerUnit != null) {\n if (dy && canScrollY)\n { updateScrollTop(cm, Math.max(0, scroll.scrollTop + dy * wheelPixelsPerUnit)); }\n setScrollLeft(cm, Math.max(0, scroll.scrollLeft + dx * wheelPixelsPerUnit));\n // Only prevent default scrolling if vertical scrolling is\n // actually possible. Otherwise, it causes vertical scroll\n // jitter on OSX trackpads when deltaX is small and deltaY\n // is large (issue #3579)\n if (!dy || (dy && canScrollY))\n { e_preventDefault(e); }\n display.wheelStartX = null; // Abort measurement, if in progress\n return\n }\n\n // 'Project' the visible viewport to cover the area that is being\n // scrolled into view (if we know enough to estimate it).\n if (dy && wheelPixelsPerUnit != null) {\n var pixels = dy * wheelPixelsPerUnit;\n var top = cm.doc.scrollTop, bot = top + display.wrapper.clientHeight;\n if (pixels < 0) { top = Math.max(0, top + pixels - 50); }\n else { bot = Math.min(cm.doc.height, bot + pixels + 50); }\n updateDisplaySimple(cm, {top: top, bottom: bot});\n }\n\n if (wheelSamples < 20) {\n if (display.wheelStartX == null) {\n display.wheelStartX = scroll.scrollLeft; display.wheelStartY = scroll.scrollTop;\n display.wheelDX = dx; display.wheelDY = dy;\n setTimeout(function () {\n if (display.wheelStartX == null) { return }\n var movedX = scroll.scrollLeft - display.wheelStartX;\n var movedY = scroll.scrollTop - display.wheelStartY;\n var sample = (movedY && display.wheelDY && movedY / display.wheelDY) ||\n (movedX && display.wheelDX && movedX / display.wheelDX);\n display.wheelStartX = display.wheelStartY = null;\n if (!sample) { return }\n wheelPixelsPerUnit = (wheelPixelsPerUnit * wheelSamples + sample) / (wheelSamples + 1);\n ++wheelSamples;\n }, 200);\n } else {\n display.wheelDX += dx; display.wheelDY += dy;\n }\n }\n }\n\n // Selection objects are immutable. A new one is created every time\n // the selection changes. A selection is one or more non-overlapping\n // (and non-touching) ranges, sorted, and an integer that indicates\n // which one is the primary selection (the one that's scrolled into\n // view, that getCursor returns, etc).\n var Selection = function(ranges, primIndex) {\n this.ranges = ranges;\n this.primIndex = primIndex;\n };\n\n Selection.prototype.primary = function () { return this.ranges[this.primIndex] };\n\n Selection.prototype.equals = function (other) {\n var this$1 = this;\n\n if (other == this) { return true }\n if (other.primIndex != this.primIndex || other.ranges.length != this.ranges.length) { return false }\n for (var i = 0; i < this.ranges.length; i++) {\n var here = this$1.ranges[i], there = other.ranges[i];\n if (!equalCursorPos(here.anchor, there.anchor) || !equalCursorPos(here.head, there.head)) { return false }\n }\n return true\n };\n\n Selection.prototype.deepCopy = function () {\n var this$1 = this;\n\n var out = [];\n for (var i = 0; i < this.ranges.length; i++)\n { out[i] = new Range(copyPos(this$1.ranges[i].anchor), copyPos(this$1.ranges[i].head)); }\n return new Selection(out, this.primIndex)\n };\n\n Selection.prototype.somethingSelected = function () {\n var this$1 = this;\n\n for (var i = 0; i < this.ranges.length; i++)\n { if (!this$1.ranges[i].empty()) { return true } }\n return false\n };\n\n Selection.prototype.contains = function (pos, end) {\n var this$1 = this;\n\n if (!end) { end = pos; }\n for (var i = 0; i < this.ranges.length; i++) {\n var range = this$1.ranges[i];\n if (cmp(end, range.from()) >= 0 && cmp(pos, range.to()) <= 0)\n { return i }\n }\n return -1\n };\n\n var Range = function(anchor, head) {\n this.anchor = anchor; this.head = head;\n };\n\n Range.prototype.from = function () { return minPos(this.anchor, this.head) };\n Range.prototype.to = function () { return maxPos(this.anchor, this.head) };\n Range.prototype.empty = function () { return this.head.line == this.anchor.line && this.head.ch == this.anchor.ch };\n\n // Take an unsorted, potentially overlapping set of ranges, and\n // build a selection out of it. 'Consumes' ranges array (modifying\n // it).\n function normalizeSelection(cm, ranges, primIndex) {\n var mayTouch = cm && cm.options.selectionsMayTouch;\n var prim = ranges[primIndex];\n ranges.sort(function (a, b) { return cmp(a.from(), b.from()); });\n primIndex = indexOf(ranges, prim);\n for (var i = 1; i < ranges.length; i++) {\n var cur = ranges[i], prev = ranges[i - 1];\n var diff = cmp(prev.to(), cur.from());\n if (mayTouch && !cur.empty() ? diff > 0 : diff >= 0) {\n var from = minPos(prev.from(), cur.from()), to = maxPos(prev.to(), cur.to());\n var inv = prev.empty() ? cur.from() == cur.head : prev.from() == prev.head;\n if (i <= primIndex) { --primIndex; }\n ranges.splice(--i, 2, new Range(inv ? to : from, inv ? from : to));\n }\n }\n return new Selection(ranges, primIndex)\n }\n\n function simpleSelection(anchor, head) {\n return new Selection([new Range(anchor, head || anchor)], 0)\n }\n\n // Compute the position of the end of a change (its 'to' property\n // refers to the pre-change end).\n function changeEnd(change) {\n if (!change.text) { return change.to }\n return Pos(change.from.line + change.text.length - 1,\n lst(change.text).length + (change.text.length == 1 ? change.from.ch : 0))\n }\n\n // Adjust a position to refer to the post-change position of the\n // same text, or the end of the change if the change covers it.\n function adjustForChange(pos, change) {\n if (cmp(pos, change.from) < 0) { return pos }\n if (cmp(pos, change.to) <= 0) { return changeEnd(change) }\n\n var line = pos.line + change.text.length - (change.to.line - change.from.line) - 1, ch = pos.ch;\n if (pos.line == change.to.line) { ch += changeEnd(change).ch - change.to.ch; }\n return Pos(line, ch)\n }\n\n function computeSelAfterChange(doc, change) {\n var out = [];\n for (var i = 0; i < doc.sel.ranges.length; i++) {\n var range = doc.sel.ranges[i];\n out.push(new Range(adjustForChange(range.anchor, change),\n adjustForChange(range.head, change)));\n }\n return normalizeSelection(doc.cm, out, doc.sel.primIndex)\n }\n\n function offsetPos(pos, old, nw) {\n if (pos.line == old.line)\n { return Pos(nw.line, pos.ch - old.ch + nw.ch) }\n else\n { return Pos(nw.line + (pos.line - old.line), pos.ch) }\n }\n\n // Used by replaceSelections to allow moving the selection to the\n // start or around the replaced test. Hint may be \"start\" or \"around\".\n function computeReplacedSel(doc, changes, hint) {\n var out = [];\n var oldPrev = Pos(doc.first, 0), newPrev = oldPrev;\n for (var i = 0; i < changes.length; i++) {\n var change = changes[i];\n var from = offsetPos(change.from, oldPrev, newPrev);\n var to = offsetPos(changeEnd(change), oldPrev, newPrev);\n oldPrev = change.to;\n newPrev = to;\n if (hint == \"around\") {\n var range = doc.sel.ranges[i], inv = cmp(range.head, range.anchor) < 0;\n out[i] = new Range(inv ? to : from, inv ? from : to);\n } else {\n out[i] = new Range(from, from);\n }\n }\n return new Selection(out, doc.sel.primIndex)\n }\n\n // Used to get the editor into a consistent state again when options change.\n\n function loadMode(cm) {\n cm.doc.mode = getMode(cm.options, cm.doc.modeOption);\n resetModeState(cm);\n }\n\n function resetModeState(cm) {\n cm.doc.iter(function (line) {\n if (line.stateAfter) { line.stateAfter = null; }\n if (line.styles) { line.styles = null; }\n });\n cm.doc.modeFrontier = cm.doc.highlightFrontier = cm.doc.first;\n startWorker(cm, 100);\n cm.state.modeGen++;\n if (cm.curOp) { regChange(cm); }\n }\n\n // DOCUMENT DATA STRUCTURE\n\n // By default, updates that start and end at the beginning of a line\n // are treated specially, in order to make the association of line\n // widgets and marker elements with the text behave more intuitive.\n function isWholeLineUpdate(doc, change) {\n return change.from.ch == 0 && change.to.ch == 0 && lst(change.text) == \"\" &&\n (!doc.cm || doc.cm.options.wholeLineUpdateBefore)\n }\n\n // Perform a change on the document data structure.\n function updateDoc(doc, change, markedSpans, estimateHeight$$1) {\n function spansFor(n) {return markedSpans ? markedSpans[n] : null}\n function update(line, text, spans) {\n updateLine(line, text, spans, estimateHeight$$1);\n signalLater(line, \"change\", line, change);\n }\n function linesFor(start, end) {\n var result = [];\n for (var i = start; i < end; ++i)\n { result.push(new Line(text[i], spansFor(i), estimateHeight$$1)); }\n return result\n }\n\n var from = change.from, to = change.to, text = change.text;\n var firstLine = getLine(doc, from.line), lastLine = getLine(doc, to.line);\n var lastText = lst(text), lastSpans = spansFor(text.length - 1), nlines = to.line - from.line;\n\n // Adjust the line structure\n if (change.full) {\n doc.insert(0, linesFor(0, text.length));\n doc.remove(text.length, doc.size - text.length);\n } else if (isWholeLineUpdate(doc, change)) {\n // This is a whole-line replace. Treated specially to make\n // sure line objects move the way they are supposed to.\n var added = linesFor(0, text.length - 1);\n update(lastLine, lastLine.text, lastSpans);\n if (nlines) { doc.remove(from.line, nlines); }\n if (added.length) { doc.insert(from.line, added); }\n } else if (firstLine == lastLine) {\n if (text.length == 1) {\n update(firstLine, firstLine.text.slice(0, from.ch) + lastText + firstLine.text.slice(to.ch), lastSpans);\n } else {\n var added$1 = linesFor(1, text.length - 1);\n added$1.push(new Line(lastText + firstLine.text.slice(to.ch), lastSpans, estimateHeight$$1));\n update(firstLine, firstLine.text.slice(0, from.ch) + text[0], spansFor(0));\n doc.insert(from.line + 1, added$1);\n }\n } else if (text.length == 1) {\n update(firstLine, firstLine.text.slice(0, from.ch) + text[0] + lastLine.text.slice(to.ch), spansFor(0));\n doc.remove(from.line + 1, nlines);\n } else {\n update(firstLine, firstLine.text.slice(0, from.ch) + text[0], spansFor(0));\n update(lastLine, lastText + lastLine.text.slice(to.ch), lastSpans);\n var added$2 = linesFor(1, text.length - 1);\n if (nlines > 1) { doc.remove(from.line + 1, nlines - 1); }\n doc.insert(from.line + 1, added$2);\n }\n\n signalLater(doc, \"change\", doc, change);\n }\n\n // Call f for all linked documents.\n function linkedDocs(doc, f, sharedHistOnly) {\n function propagate(doc, skip, sharedHist) {\n if (doc.linked) { for (var i = 0; i < doc.linked.length; ++i) {\n var rel = doc.linked[i];\n if (rel.doc == skip) { continue }\n var shared = sharedHist && rel.sharedHist;\n if (sharedHistOnly && !shared) { continue }\n f(rel.doc, shared);\n propagate(rel.doc, doc, shared);\n } }\n }\n propagate(doc, null, true);\n }\n\n // Attach a document to an editor.\n function attachDoc(cm, doc) {\n if (doc.cm) { throw new Error(\"This document is already in use.\") }\n cm.doc = doc;\n doc.cm = cm;\n estimateLineHeights(cm);\n loadMode(cm);\n setDirectionClass(cm);\n if (!cm.options.lineWrapping) { findMaxLine(cm); }\n cm.options.mode = doc.modeOption;\n regChange(cm);\n }\n\n function setDirectionClass(cm) {\n (cm.doc.direction == \"rtl\" ? addClass : rmClass)(cm.display.lineDiv, \"CodeMirror-rtl\");\n }\n\n function directionChanged(cm) {\n runInOp(cm, function () {\n setDirectionClass(cm);\n regChange(cm);\n });\n }\n\n function History(startGen) {\n // Arrays of change events and selections. Doing something adds an\n // event to done and clears undo. Undoing moves events from done\n // to undone, redoing moves them in the other direction.\n this.done = []; this.undone = [];\n this.undoDepth = Infinity;\n // Used to track when changes can be merged into a single undo\n // event\n this.lastModTime = this.lastSelTime = 0;\n this.lastOp = this.lastSelOp = null;\n this.lastOrigin = this.lastSelOrigin = null;\n // Used by the isClean() method\n this.generation = this.maxGeneration = startGen || 1;\n }\n\n // Create a history change event from an updateDoc-style change\n // object.\n function historyChangeFromChange(doc, change) {\n var histChange = {from: copyPos(change.from), to: changeEnd(change), text: getBetween(doc, change.from, change.to)};\n attachLocalSpans(doc, histChange, change.from.line, change.to.line + 1);\n linkedDocs(doc, function (doc) { return attachLocalSpans(doc, histChange, change.from.line, change.to.line + 1); }, true);\n return histChange\n }\n\n // Pop all selection events off the end of a history array. Stop at\n // a change event.\n function clearSelectionEvents(array) {\n while (array.length) {\n var last = lst(array);\n if (last.ranges) { array.pop(); }\n else { break }\n }\n }\n\n // Find the top change event in the history. Pop off selection\n // events that are in the way.\n function lastChangeEvent(hist, force) {\n if (force) {\n clearSelectionEvents(hist.done);\n return lst(hist.done)\n } else if (hist.done.length && !lst(hist.done).ranges) {\n return lst(hist.done)\n } else if (hist.done.length > 1 && !hist.done[hist.done.length - 2].ranges) {\n hist.done.pop();\n return lst(hist.done)\n }\n }\n\n // Register a change in the history. Merges changes that are within\n // a single operation, or are close together with an origin that\n // allows merging (starting with \"+\") into a single event.\n function addChangeToHistory(doc, change, selAfter, opId) {\n var hist = doc.history;\n hist.undone.length = 0;\n var time = +new Date, cur;\n var last;\n\n if ((hist.lastOp == opId ||\n hist.lastOrigin == change.origin && change.origin &&\n ((change.origin.charAt(0) == \"+\" && hist.lastModTime > time - (doc.cm ? doc.cm.options.historyEventDelay : 500)) ||\n change.origin.charAt(0) == \"*\")) &&\n (cur = lastChangeEvent(hist, hist.lastOp == opId))) {\n // Merge this change into the last event\n last = lst(cur.changes);\n if (cmp(change.from, change.to) == 0 && cmp(change.from, last.to) == 0) {\n // Optimized case for simple insertion -- don't want to add\n // new changesets for every character typed\n last.to = changeEnd(change);\n } else {\n // Add new sub-event\n cur.changes.push(historyChangeFromChange(doc, change));\n }\n } else {\n // Can not be merged, start a new event.\n var before = lst(hist.done);\n if (!before || !before.ranges)\n { pushSelectionToHistory(doc.sel, hist.done); }\n cur = {changes: [historyChangeFromChange(doc, change)],\n generation: hist.generation};\n hist.done.push(cur);\n while (hist.done.length > hist.undoDepth) {\n hist.done.shift();\n if (!hist.done[0].ranges) { hist.done.shift(); }\n }\n }\n hist.done.push(selAfter);\n hist.generation = ++hist.maxGeneration;\n hist.lastModTime = hist.lastSelTime = time;\n hist.lastOp = hist.lastSelOp = opId;\n hist.lastOrigin = hist.lastSelOrigin = change.origin;\n\n if (!last) { signal(doc, \"historyAdded\"); }\n }\n\n function selectionEventCanBeMerged(doc, origin, prev, sel) {\n var ch = origin.charAt(0);\n return ch == \"*\" ||\n ch == \"+\" &&\n prev.ranges.length == sel.ranges.length &&\n prev.somethingSelected() == sel.somethingSelected() &&\n new Date - doc.history.lastSelTime <= (doc.cm ? doc.cm.options.historyEventDelay : 500)\n }\n\n // Called whenever the selection changes, sets the new selection as\n // the pending selection in the history, and pushes the old pending\n // selection into the 'done' array when it was significantly\n // different (in number of selected ranges, emptiness, or time).\n function addSelectionToHistory(doc, sel, opId, options) {\n var hist = doc.history, origin = options && options.origin;\n\n // A new event is started when the previous origin does not match\n // the current, or the origins don't allow matching. Origins\n // starting with * are always merged, those starting with + are\n // merged when similar and close together in time.\n if (opId == hist.lastSelOp ||\n (origin && hist.lastSelOrigin == origin &&\n (hist.lastModTime == hist.lastSelTime && hist.lastOrigin == origin ||\n selectionEventCanBeMerged(doc, origin, lst(hist.done), sel))))\n { hist.done[hist.done.length - 1] = sel; }\n else\n { pushSelectionToHistory(sel, hist.done); }\n\n hist.lastSelTime = +new Date;\n hist.lastSelOrigin = origin;\n hist.lastSelOp = opId;\n if (options && options.clearRedo !== false)\n { clearSelectionEvents(hist.undone); }\n }\n\n function pushSelectionToHistory(sel, dest) {\n var top = lst(dest);\n if (!(top && top.ranges && top.equals(sel)))\n { dest.push(sel); }\n }\n\n // Used to store marked span information in the history.\n function attachLocalSpans(doc, change, from, to) {\n var existing = change[\"spans_\" + doc.id], n = 0;\n doc.iter(Math.max(doc.first, from), Math.min(doc.first + doc.size, to), function (line) {\n if (line.markedSpans)\n { (existing || (existing = change[\"spans_\" + doc.id] = {}))[n] = line.markedSpans; }\n ++n;\n });\n }\n\n // When un/re-doing restores text containing marked spans, those\n // that have been explicitly cleared should not be restored.\n function removeClearedSpans(spans) {\n if (!spans) { return null }\n var out;\n for (var i = 0; i < spans.length; ++i) {\n if (spans[i].marker.explicitlyCleared) { if (!out) { out = spans.slice(0, i); } }\n else if (out) { out.push(spans[i]); }\n }\n return !out ? spans : out.length ? out : null\n }\n\n // Retrieve and filter the old marked spans stored in a change event.\n function getOldSpans(doc, change) {\n var found = change[\"spans_\" + doc.id];\n if (!found) { return null }\n var nw = [];\n for (var i = 0; i < change.text.length; ++i)\n { nw.push(removeClearedSpans(found[i])); }\n return nw\n }\n\n // Used for un/re-doing changes from the history. Combines the\n // result of computing the existing spans with the set of spans that\n // existed in the history (so that deleting around a span and then\n // undoing brings back the span).\n function mergeOldSpans(doc, change) {\n var old = getOldSpans(doc, change);\n var stretched = stretchSpansOverChange(doc, change);\n if (!old) { return stretched }\n if (!stretched) { return old }\n\n for (var i = 0; i < old.length; ++i) {\n var oldCur = old[i], stretchCur = stretched[i];\n if (oldCur && stretchCur) {\n spans: for (var j = 0; j < stretchCur.length; ++j) {\n var span = stretchCur[j];\n for (var k = 0; k < oldCur.length; ++k)\n { if (oldCur[k].marker == span.marker) { continue spans } }\n oldCur.push(span);\n }\n } else if (stretchCur) {\n old[i] = stretchCur;\n }\n }\n return old\n }\n\n // Used both to provide a JSON-safe object in .getHistory, and, when\n // detaching a document, to split the history in two\n function copyHistoryArray(events, newGroup, instantiateSel) {\n var copy = [];\n for (var i = 0; i < events.length; ++i) {\n var event = events[i];\n if (event.ranges) {\n copy.push(instantiateSel ? Selection.prototype.deepCopy.call(event) : event);\n continue\n }\n var changes = event.changes, newChanges = [];\n copy.push({changes: newChanges});\n for (var j = 0; j < changes.length; ++j) {\n var change = changes[j], m = (void 0);\n newChanges.push({from: change.from, to: change.to, text: change.text});\n if (newGroup) { for (var prop in change) { if (m = prop.match(/^spans_(\\d+)$/)) {\n if (indexOf(newGroup, Number(m[1])) > -1) {\n lst(newChanges)[prop] = change[prop];\n delete change[prop];\n }\n } } }\n }\n }\n return copy\n }\n\n // The 'scroll' parameter given to many of these indicated whether\n // the new cursor position should be scrolled into view after\n // modifying the selection.\n\n // If shift is held or the extend flag is set, extends a range to\n // include a given position (and optionally a second position).\n // Otherwise, simply returns the range between the given positions.\n // Used for cursor motion and such.\n function extendRange(range, head, other, extend) {\n if (extend) {\n var anchor = range.anchor;\n if (other) {\n var posBefore = cmp(head, anchor) < 0;\n if (posBefore != (cmp(other, anchor) < 0)) {\n anchor = head;\n head = other;\n } else if (posBefore != (cmp(head, other) < 0)) {\n head = other;\n }\n }\n return new Range(anchor, head)\n } else {\n return new Range(other || head, head)\n }\n }\n\n // Extend the primary selection range, discard the rest.\n function extendSelection(doc, head, other, options, extend) {\n if (extend == null) { extend = doc.cm && (doc.cm.display.shift || doc.extend); }\n setSelection(doc, new Selection([extendRange(doc.sel.primary(), head, other, extend)], 0), options);\n }\n\n // Extend all selections (pos is an array of selections with length\n // equal the number of selections)\n function extendSelections(doc, heads, options) {\n var out = [];\n var extend = doc.cm && (doc.cm.display.shift || doc.extend);\n for (var i = 0; i < doc.sel.ranges.length; i++)\n { out[i] = extendRange(doc.sel.ranges[i], heads[i], null, extend); }\n var newSel = normalizeSelection(doc.cm, out, doc.sel.primIndex);\n setSelection(doc, newSel, options);\n }\n\n // Updates a single range in the selection.\n function replaceOneSelection(doc, i, range, options) {\n var ranges = doc.sel.ranges.slice(0);\n ranges[i] = range;\n setSelection(doc, normalizeSelection(doc.cm, ranges, doc.sel.primIndex), options);\n }\n\n // Reset the selection to a single range.\n function setSimpleSelection(doc, anchor, head, options) {\n setSelection(doc, simpleSelection(anchor, head), options);\n }\n\n // Give beforeSelectionChange handlers a change to influence a\n // selection update.\n function filterSelectionChange(doc, sel, options) {\n var obj = {\n ranges: sel.ranges,\n update: function(ranges) {\n var this$1 = this;\n\n this.ranges = [];\n for (var i = 0; i < ranges.length; i++)\n { this$1.ranges[i] = new Range(clipPos(doc, ranges[i].anchor),\n clipPos(doc, ranges[i].head)); }\n },\n origin: options && options.origin\n };\n signal(doc, \"beforeSelectionChange\", doc, obj);\n if (doc.cm) { signal(doc.cm, \"beforeSelectionChange\", doc.cm, obj); }\n if (obj.ranges != sel.ranges) { return normalizeSelection(doc.cm, obj.ranges, obj.ranges.length - 1) }\n else { return sel }\n }\n\n function setSelectionReplaceHistory(doc, sel, options) {\n var done = doc.history.done, last = lst(done);\n if (last && last.ranges) {\n done[done.length - 1] = sel;\n setSelectionNoUndo(doc, sel, options);\n } else {\n setSelection(doc, sel, options);\n }\n }\n\n // Set a new selection.\n function setSelection(doc, sel, options) {\n setSelectionNoUndo(doc, sel, options);\n addSelectionToHistory(doc, doc.sel, doc.cm ? doc.cm.curOp.id : NaN, options);\n }\n\n function setSelectionNoUndo(doc, sel, options) {\n if (hasHandler(doc, \"beforeSelectionChange\") || doc.cm && hasHandler(doc.cm, \"beforeSelectionChange\"))\n { sel = filterSelectionChange(doc, sel, options); }\n\n var bias = options && options.bias ||\n (cmp(sel.primary().head, doc.sel.primary().head) < 0 ? -1 : 1);\n setSelectionInner(doc, skipAtomicInSelection(doc, sel, bias, true));\n\n if (!(options && options.scroll === false) && doc.cm)\n { ensureCursorVisible(doc.cm); }\n }\n\n function setSelectionInner(doc, sel) {\n if (sel.equals(doc.sel)) { return }\n\n doc.sel = sel;\n\n if (doc.cm) {\n doc.cm.curOp.updateInput = 1;\n doc.cm.curOp.selectionChanged = true;\n signalCursorActivity(doc.cm);\n }\n signalLater(doc, \"cursorActivity\", doc);\n }\n\n // Verify that the selection does not partially select any atomic\n // marked ranges.\n function reCheckSelection(doc) {\n setSelectionInner(doc, skipAtomicInSelection(doc, doc.sel, null, false));\n }\n\n // Return a selection that does not partially select any atomic\n // ranges.\n function skipAtomicInSelection(doc, sel, bias, mayClear) {\n var out;\n for (var i = 0; i < sel.ranges.length; i++) {\n var range = sel.ranges[i];\n var old = sel.ranges.length == doc.sel.ranges.length && doc.sel.ranges[i];\n var newAnchor = skipAtomic(doc, range.anchor, old && old.anchor, bias, mayClear);\n var newHead = skipAtomic(doc, range.head, old && old.head, bias, mayClear);\n if (out || newAnchor != range.anchor || newHead != range.head) {\n if (!out) { out = sel.ranges.slice(0, i); }\n out[i] = new Range(newAnchor, newHead);\n }\n }\n return out ? normalizeSelection(doc.cm, out, sel.primIndex) : sel\n }\n\n function skipAtomicInner(doc, pos, oldPos, dir, mayClear) {\n var line = getLine(doc, pos.line);\n if (line.markedSpans) { for (var i = 0; i < line.markedSpans.length; ++i) {\n var sp = line.markedSpans[i], m = sp.marker;\n\n // Determine if we should prevent the cursor being placed to the left/right of an atomic marker\n // Historically this was determined using the inclusiveLeft/Right option, but the new way to control it\n // is with selectLeft/Right\n var preventCursorLeft = (\"selectLeft\" in m) ? !m.selectLeft : m.inclusiveLeft;\n var preventCursorRight = (\"selectRight\" in m) ? !m.selectRight : m.inclusiveRight;\n\n if ((sp.from == null || (preventCursorLeft ? sp.from <= pos.ch : sp.from < pos.ch)) &&\n (sp.to == null || (preventCursorRight ? sp.to >= pos.ch : sp.to > pos.ch))) {\n if (mayClear) {\n signal(m, \"beforeCursorEnter\");\n if (m.explicitlyCleared) {\n if (!line.markedSpans) { break }\n else {--i; continue}\n }\n }\n if (!m.atomic) { continue }\n\n if (oldPos) {\n var near = m.find(dir < 0 ? 1 : -1), diff = (void 0);\n if (dir < 0 ? preventCursorRight : preventCursorLeft)\n { near = movePos(doc, near, -dir, near && near.line == pos.line ? line : null); }\n if (near && near.line == pos.line && (diff = cmp(near, oldPos)) && (dir < 0 ? diff < 0 : diff > 0))\n { return skipAtomicInner(doc, near, pos, dir, mayClear) }\n }\n\n var far = m.find(dir < 0 ? -1 : 1);\n if (dir < 0 ? preventCursorLeft : preventCursorRight)\n { far = movePos(doc, far, dir, far.line == pos.line ? line : null); }\n return far ? skipAtomicInner(doc, far, pos, dir, mayClear) : null\n }\n } }\n return pos\n }\n\n // Ensure a given position is not inside an atomic range.\n function skipAtomic(doc, pos, oldPos, bias, mayClear) {\n var dir = bias || 1;\n var found = skipAtomicInner(doc, pos, oldPos, dir, mayClear) ||\n (!mayClear && skipAtomicInner(doc, pos, oldPos, dir, true)) ||\n skipAtomicInner(doc, pos, oldPos, -dir, mayClear) ||\n (!mayClear && skipAtomicInner(doc, pos, oldPos, -dir, true));\n if (!found) {\n doc.cantEdit = true;\n return Pos(doc.first, 0)\n }\n return found\n }\n\n function movePos(doc, pos, dir, line) {\n if (dir < 0 && pos.ch == 0) {\n if (pos.line > doc.first) { return clipPos(doc, Pos(pos.line - 1)) }\n else { return null }\n } else if (dir > 0 && pos.ch == (line || getLine(doc, pos.line)).text.length) {\n if (pos.line < doc.first + doc.size - 1) { return Pos(pos.line + 1, 0) }\n else { return null }\n } else {\n return new Pos(pos.line, pos.ch + dir)\n }\n }\n\n function selectAll(cm) {\n cm.setSelection(Pos(cm.firstLine(), 0), Pos(cm.lastLine()), sel_dontScroll);\n }\n\n // UPDATING\n\n // Allow \"beforeChange\" event handlers to influence a change\n function filterChange(doc, change, update) {\n var obj = {\n canceled: false,\n from: change.from,\n to: change.to,\n text: change.text,\n origin: change.origin,\n cancel: function () { return obj.canceled = true; }\n };\n if (update) { obj.update = function (from, to, text, origin) {\n if (from) { obj.from = clipPos(doc, from); }\n if (to) { obj.to = clipPos(doc, to); }\n if (text) { obj.text = text; }\n if (origin !== undefined) { obj.origin = origin; }\n }; }\n signal(doc, \"beforeChange\", doc, obj);\n if (doc.cm) { signal(doc.cm, \"beforeChange\", doc.cm, obj); }\n\n if (obj.canceled) {\n if (doc.cm) { doc.cm.curOp.updateInput = 2; }\n return null\n }\n return {from: obj.from, to: obj.to, text: obj.text, origin: obj.origin}\n }\n\n // Apply a change to a document, and add it to the document's\n // history, and propagating it to all linked documents.\n function makeChange(doc, change, ignoreReadOnly) {\n if (doc.cm) {\n if (!doc.cm.curOp) { return operation(doc.cm, makeChange)(doc, change, ignoreReadOnly) }\n if (doc.cm.state.suppressEdits) { return }\n }\n\n if (hasHandler(doc, \"beforeChange\") || doc.cm && hasHandler(doc.cm, \"beforeChange\")) {\n change = filterChange(doc, change, true);\n if (!change) { return }\n }\n\n // Possibly split or suppress the update based on the presence\n // of read-only spans in its range.\n var split = sawReadOnlySpans && !ignoreReadOnly && removeReadOnlyRanges(doc, change.from, change.to);\n if (split) {\n for (var i = split.length - 1; i >= 0; --i)\n { makeChangeInner(doc, {from: split[i].from, to: split[i].to, text: i ? [\"\"] : change.text, origin: change.origin}); }\n } else {\n makeChangeInner(doc, change);\n }\n }\n\n function makeChangeInner(doc, change) {\n if (change.text.length == 1 && change.text[0] == \"\" && cmp(change.from, change.to) == 0) { return }\n var selAfter = computeSelAfterChange(doc, change);\n addChangeToHistory(doc, change, selAfter, doc.cm ? doc.cm.curOp.id : NaN);\n\n makeChangeSingleDoc(doc, change, selAfter, stretchSpansOverChange(doc, change));\n var rebased = [];\n\n linkedDocs(doc, function (doc, sharedHist) {\n if (!sharedHist && indexOf(rebased, doc.history) == -1) {\n rebaseHist(doc.history, change);\n rebased.push(doc.history);\n }\n makeChangeSingleDoc(doc, change, null, stretchSpansOverChange(doc, change));\n });\n }\n\n // Revert a change stored in a document's history.\n function makeChangeFromHistory(doc, type, allowSelectionOnly) {\n var suppress = doc.cm && doc.cm.state.suppressEdits;\n if (suppress && !allowSelectionOnly) { return }\n\n var hist = doc.history, event, selAfter = doc.sel;\n var source = type == \"undo\" ? hist.done : hist.undone, dest = type == \"undo\" ? hist.undone : hist.done;\n\n // Verify that there is a useable event (so that ctrl-z won't\n // needlessly clear selection events)\n var i = 0;\n for (; i < source.length; i++) {\n event = source[i];\n if (allowSelectionOnly ? event.ranges && !event.equals(doc.sel) : !event.ranges)\n { break }\n }\n if (i == source.length) { return }\n hist.lastOrigin = hist.lastSelOrigin = null;\n\n for (;;) {\n event = source.pop();\n if (event.ranges) {\n pushSelectionToHistory(event, dest);\n if (allowSelectionOnly && !event.equals(doc.sel)) {\n setSelection(doc, event, {clearRedo: false});\n return\n }\n selAfter = event;\n } else if (suppress) {\n source.push(event);\n return\n } else { break }\n }\n\n // Build up a reverse change object to add to the opposite history\n // stack (redo when undoing, and vice versa).\n var antiChanges = [];\n pushSelectionToHistory(selAfter, dest);\n dest.push({changes: antiChanges, generation: hist.generation});\n hist.generation = event.generation || ++hist.maxGeneration;\n\n var filter = hasHandler(doc, \"beforeChange\") || doc.cm && hasHandler(doc.cm, \"beforeChange\");\n\n var loop = function ( i ) {\n var change = event.changes[i];\n change.origin = type;\n if (filter && !filterChange(doc, change, false)) {\n source.length = 0;\n return {}\n }\n\n antiChanges.push(historyChangeFromChange(doc, change));\n\n var after = i ? computeSelAfterChange(doc, change) : lst(source);\n makeChangeSingleDoc(doc, change, after, mergeOldSpans(doc, change));\n if (!i && doc.cm) { doc.cm.scrollIntoView({from: change.from, to: changeEnd(change)}); }\n var rebased = [];\n\n // Propagate to the linked documents\n linkedDocs(doc, function (doc, sharedHist) {\n if (!sharedHist && indexOf(rebased, doc.history) == -1) {\n rebaseHist(doc.history, change);\n rebased.push(doc.history);\n }\n makeChangeSingleDoc(doc, change, null, mergeOldSpans(doc, change));\n });\n };\n\n for (var i$1 = event.changes.length - 1; i$1 >= 0; --i$1) {\n var returned = loop( i$1 );\n\n if ( returned ) return returned.v;\n }\n }\n\n // Sub-views need their line numbers shifted when text is added\n // above or below them in the parent document.\n function shiftDoc(doc, distance) {\n if (distance == 0) { return }\n doc.first += distance;\n doc.sel = new Selection(map(doc.sel.ranges, function (range) { return new Range(\n Pos(range.anchor.line + distance, range.anchor.ch),\n Pos(range.head.line + distance, range.head.ch)\n ); }), doc.sel.primIndex);\n if (doc.cm) {\n regChange(doc.cm, doc.first, doc.first - distance, distance);\n for (var d = doc.cm.display, l = d.viewFrom; l < d.viewTo; l++)\n { regLineChange(doc.cm, l, \"gutter\"); }\n }\n }\n\n // More lower-level change function, handling only a single document\n // (not linked ones).\n function makeChangeSingleDoc(doc, change, selAfter, spans) {\n if (doc.cm && !doc.cm.curOp)\n { return operation(doc.cm, makeChangeSingleDoc)(doc, change, selAfter, spans) }\n\n if (change.to.line < doc.first) {\n shiftDoc(doc, change.text.length - 1 - (change.to.line - change.from.line));\n return\n }\n if (change.from.line > doc.lastLine()) { return }\n\n // Clip the change to the size of this doc\n if (change.from.line < doc.first) {\n var shift = change.text.length - 1 - (doc.first - change.from.line);\n shiftDoc(doc, shift);\n change = {from: Pos(doc.first, 0), to: Pos(change.to.line + shift, change.to.ch),\n text: [lst(change.text)], origin: change.origin};\n }\n var last = doc.lastLine();\n if (change.to.line > last) {\n change = {from: change.from, to: Pos(last, getLine(doc, last).text.length),\n text: [change.text[0]], origin: change.origin};\n }\n\n change.removed = getBetween(doc, change.from, change.to);\n\n if (!selAfter) { selAfter = computeSelAfterChange(doc, change); }\n if (doc.cm) { makeChangeSingleDocInEditor(doc.cm, change, spans); }\n else { updateDoc(doc, change, spans); }\n setSelectionNoUndo(doc, selAfter, sel_dontScroll);\n\n if (doc.cantEdit && skipAtomic(doc, Pos(doc.firstLine(), 0)))\n { doc.cantEdit = false; }\n }\n\n // Handle the interaction of a change to a document with the editor\n // that this document is part of.\n function makeChangeSingleDocInEditor(cm, change, spans) {\n var doc = cm.doc, display = cm.display, from = change.from, to = change.to;\n\n var recomputeMaxLength = false, checkWidthStart = from.line;\n if (!cm.options.lineWrapping) {\n checkWidthStart = lineNo(visualLine(getLine(doc, from.line)));\n doc.iter(checkWidthStart, to.line + 1, function (line) {\n if (line == display.maxLine) {\n recomputeMaxLength = true;\n return true\n }\n });\n }\n\n if (doc.sel.contains(change.from, change.to) > -1)\n { signalCursorActivity(cm); }\n\n updateDoc(doc, change, spans, estimateHeight(cm));\n\n if (!cm.options.lineWrapping) {\n doc.iter(checkWidthStart, from.line + change.text.length, function (line) {\n var len = lineLength(line);\n if (len > display.maxLineLength) {\n display.maxLine = line;\n display.maxLineLength = len;\n display.maxLineChanged = true;\n recomputeMaxLength = false;\n }\n });\n if (recomputeMaxLength) { cm.curOp.updateMaxLine = true; }\n }\n\n retreatFrontier(doc, from.line);\n startWorker(cm, 400);\n\n var lendiff = change.text.length - (to.line - from.line) - 1;\n // Remember that these lines changed, for updating the display\n if (change.full)\n { regChange(cm); }\n else if (from.line == to.line && change.text.length == 1 && !isWholeLineUpdate(cm.doc, change))\n { regLineChange(cm, from.line, \"text\"); }\n else\n { regChange(cm, from.line, to.line + 1, lendiff); }\n\n var changesHandler = hasHandler(cm, \"changes\"), changeHandler = hasHandler(cm, \"change\");\n if (changeHandler || changesHandler) {\n var obj = {\n from: from, to: to,\n text: change.text,\n removed: change.removed,\n origin: change.origin\n };\n if (changeHandler) { signalLater(cm, \"change\", cm, obj); }\n if (changesHandler) { (cm.curOp.changeObjs || (cm.curOp.changeObjs = [])).push(obj); }\n }\n cm.display.selForContextMenu = null;\n }\n\n function replaceRange(doc, code, from, to, origin) {\n var assign;\n\n if (!to) { to = from; }\n if (cmp(to, from) < 0) { (assign = [to, from], from = assign[0], to = assign[1]); }\n if (typeof code == \"string\") { code = doc.splitLines(code); }\n makeChange(doc, {from: from, to: to, text: code, origin: origin});\n }\n\n // Rebasing/resetting history to deal with externally-sourced changes\n\n function rebaseHistSelSingle(pos, from, to, diff) {\n if (to < pos.line) {\n pos.line += diff;\n } else if (from < pos.line) {\n pos.line = from;\n pos.ch = 0;\n }\n }\n\n // Tries to rebase an array of history events given a change in the\n // document. If the change touches the same lines as the event, the\n // event, and everything 'behind' it, is discarded. If the change is\n // before the event, the event's positions are updated. Uses a\n // copy-on-write scheme for the positions, to avoid having to\n // reallocate them all on every rebase, but also avoid problems with\n // shared position objects being unsafely updated.\n function rebaseHistArray(array, from, to, diff) {\n for (var i = 0; i < array.length; ++i) {\n var sub = array[i], ok = true;\n if (sub.ranges) {\n if (!sub.copied) { sub = array[i] = sub.deepCopy(); sub.copied = true; }\n for (var j = 0; j < sub.ranges.length; j++) {\n rebaseHistSelSingle(sub.ranges[j].anchor, from, to, diff);\n rebaseHistSelSingle(sub.ranges[j].head, from, to, diff);\n }\n continue\n }\n for (var j$1 = 0; j$1 < sub.changes.length; ++j$1) {\n var cur = sub.changes[j$1];\n if (to < cur.from.line) {\n cur.from = Pos(cur.from.line + diff, cur.from.ch);\n cur.to = Pos(cur.to.line + diff, cur.to.ch);\n } else if (from <= cur.to.line) {\n ok = false;\n break\n }\n }\n if (!ok) {\n array.splice(0, i + 1);\n i = 0;\n }\n }\n }\n\n function rebaseHist(hist, change) {\n var from = change.from.line, to = change.to.line, diff = change.text.length - (to - from) - 1;\n rebaseHistArray(hist.done, from, to, diff);\n rebaseHistArray(hist.undone, from, to, diff);\n }\n\n // Utility for applying a change to a line by handle or number,\n // returning the number and optionally registering the line as\n // changed.\n function changeLine(doc, handle, changeType, op) {\n var no = handle, line = handle;\n if (typeof handle == \"number\") { line = getLine(doc, clipLine(doc, handle)); }\n else { no = lineNo(handle); }\n if (no == null) { return null }\n if (op(line, no) && doc.cm) { regLineChange(doc.cm, no, changeType); }\n return line\n }\n\n // The document is represented as a BTree consisting of leaves, with\n // chunk of lines in them, and branches, with up to ten leaves or\n // other branch nodes below them. The top node is always a branch\n // node, and is the document object itself (meaning it has\n // additional methods and properties).\n //\n // All nodes have parent links. The tree is used both to go from\n // line numbers to line objects, and to go from objects to numbers.\n // It also indexes by height, and is used to convert between height\n // and line object, and to find the total height of the document.\n //\n // See also http://marijnhaverbeke.nl/blog/codemirror-line-tree.html\n\n function LeafChunk(lines) {\n var this$1 = this;\n\n this.lines = lines;\n this.parent = null;\n var height = 0;\n for (var i = 0; i < lines.length; ++i) {\n lines[i].parent = this$1;\n height += lines[i].height;\n }\n this.height = height;\n }\n\n LeafChunk.prototype = {\n chunkSize: function() { return this.lines.length },\n\n // Remove the n lines at offset 'at'.\n removeInner: function(at, n) {\n var this$1 = this;\n\n for (var i = at, e = at + n; i < e; ++i) {\n var line = this$1.lines[i];\n this$1.height -= line.height;\n cleanUpLine(line);\n signalLater(line, \"delete\");\n }\n this.lines.splice(at, n);\n },\n\n // Helper used to collapse a small branch into a single leaf.\n collapse: function(lines) {\n lines.push.apply(lines, this.lines);\n },\n\n // Insert the given array of lines at offset 'at', count them as\n // having the given height.\n insertInner: function(at, lines, height) {\n var this$1 = this;\n\n this.height += height;\n this.lines = this.lines.slice(0, at).concat(lines).concat(this.lines.slice(at));\n for (var i = 0; i < lines.length; ++i) { lines[i].parent = this$1; }\n },\n\n // Used to iterate over a part of the tree.\n iterN: function(at, n, op) {\n var this$1 = this;\n\n for (var e = at + n; at < e; ++at)\n { if (op(this$1.lines[at])) { return true } }\n }\n };\n\n function BranchChunk(children) {\n var this$1 = this;\n\n this.children = children;\n var size = 0, height = 0;\n for (var i = 0; i < children.length; ++i) {\n var ch = children[i];\n size += ch.chunkSize(); height += ch.height;\n ch.parent = this$1;\n }\n this.size = size;\n this.height = height;\n this.parent = null;\n }\n\n BranchChunk.prototype = {\n chunkSize: function() { return this.size },\n\n removeInner: function(at, n) {\n var this$1 = this;\n\n this.size -= n;\n for (var i = 0; i < this.children.length; ++i) {\n var child = this$1.children[i], sz = child.chunkSize();\n if (at < sz) {\n var rm = Math.min(n, sz - at), oldHeight = child.height;\n child.removeInner(at, rm);\n this$1.height -= oldHeight - child.height;\n if (sz == rm) { this$1.children.splice(i--, 1); child.parent = null; }\n if ((n -= rm) == 0) { break }\n at = 0;\n } else { at -= sz; }\n }\n // If the result is smaller than 25 lines, ensure that it is a\n // single leaf node.\n if (this.size - n < 25 &&\n (this.children.length > 1 || !(this.children[0] instanceof LeafChunk))) {\n var lines = [];\n this.collapse(lines);\n this.children = [new LeafChunk(lines)];\n this.children[0].parent = this;\n }\n },\n\n collapse: function(lines) {\n var this$1 = this;\n\n for (var i = 0; i < this.children.length; ++i) { this$1.children[i].collapse(lines); }\n },\n\n insertInner: function(at, lines, height) {\n var this$1 = this;\n\n this.size += lines.length;\n this.height += height;\n for (var i = 0; i < this.children.length; ++i) {\n var child = this$1.children[i], sz = child.chunkSize();\n if (at <= sz) {\n child.insertInner(at, lines, height);\n if (child.lines && child.lines.length > 50) {\n // To avoid memory thrashing when child.lines is huge (e.g. first view of a large file), it's never spliced.\n // Instead, small slices are taken. They're taken in order because sequential memory accesses are fastest.\n var remaining = child.lines.length % 25 + 25;\n for (var pos = remaining; pos < child.lines.length;) {\n var leaf = new LeafChunk(child.lines.slice(pos, pos += 25));\n child.height -= leaf.height;\n this$1.children.splice(++i, 0, leaf);\n leaf.parent = this$1;\n }\n child.lines = child.lines.slice(0, remaining);\n this$1.maybeSpill();\n }\n break\n }\n at -= sz;\n }\n },\n\n // When a node has grown, check whether it should be split.\n maybeSpill: function() {\n if (this.children.length <= 10) { return }\n var me = this;\n do {\n var spilled = me.children.splice(me.children.length - 5, 5);\n var sibling = new BranchChunk(spilled);\n if (!me.parent) { // Become the parent node\n var copy = new BranchChunk(me.children);\n copy.parent = me;\n me.children = [copy, sibling];\n me = copy;\n } else {\n me.size -= sibling.size;\n me.height -= sibling.height;\n var myIndex = indexOf(me.parent.children, me);\n me.parent.children.splice(myIndex + 1, 0, sibling);\n }\n sibling.parent = me.parent;\n } while (me.children.length > 10)\n me.parent.maybeSpill();\n },\n\n iterN: function(at, n, op) {\n var this$1 = this;\n\n for (var i = 0; i < this.children.length; ++i) {\n var child = this$1.children[i], sz = child.chunkSize();\n if (at < sz) {\n var used = Math.min(n, sz - at);\n if (child.iterN(at, used, op)) { return true }\n if ((n -= used) == 0) { break }\n at = 0;\n } else { at -= sz; }\n }\n }\n };\n\n // Line widgets are block elements displayed above or below a line.\n\n var LineWidget = function(doc, node, options) {\n var this$1 = this;\n\n if (options) { for (var opt in options) { if (options.hasOwnProperty(opt))\n { this$1[opt] = options[opt]; } } }\n this.doc = doc;\n this.node = node;\n };\n\n LineWidget.prototype.clear = function () {\n var this$1 = this;\n\n var cm = this.doc.cm, ws = this.line.widgets, line = this.line, no = lineNo(line);\n if (no == null || !ws) { return }\n for (var i = 0; i < ws.length; ++i) { if (ws[i] == this$1) { ws.splice(i--, 1); } }\n if (!ws.length) { line.widgets = null; }\n var height = widgetHeight(this);\n updateLineHeight(line, Math.max(0, line.height - height));\n if (cm) {\n runInOp(cm, function () {\n adjustScrollWhenAboveVisible(cm, line, -height);\n regLineChange(cm, no, \"widget\");\n });\n signalLater(cm, \"lineWidgetCleared\", cm, this, no);\n }\n };\n\n LineWidget.prototype.changed = function () {\n var this$1 = this;\n\n var oldH = this.height, cm = this.doc.cm, line = this.line;\n this.height = null;\n var diff = widgetHeight(this) - oldH;\n if (!diff) { return }\n if (!lineIsHidden(this.doc, line)) { updateLineHeight(line, line.height + diff); }\n if (cm) {\n runInOp(cm, function () {\n cm.curOp.forceUpdate = true;\n adjustScrollWhenAboveVisible(cm, line, diff);\n signalLater(cm, \"lineWidgetChanged\", cm, this$1, lineNo(line));\n });\n }\n };\n eventMixin(LineWidget);\n\n function adjustScrollWhenAboveVisible(cm, line, diff) {\n if (heightAtLine(line) < ((cm.curOp && cm.curOp.scrollTop) || cm.doc.scrollTop))\n { addToScrollTop(cm, diff); }\n }\n\n function addLineWidget(doc, handle, node, options) {\n var widget = new LineWidget(doc, node, options);\n var cm = doc.cm;\n if (cm && widget.noHScroll) { cm.display.alignWidgets = true; }\n changeLine(doc, handle, \"widget\", function (line) {\n var widgets = line.widgets || (line.widgets = []);\n if (widget.insertAt == null) { widgets.push(widget); }\n else { widgets.splice(Math.min(widgets.length - 1, Math.max(0, widget.insertAt)), 0, widget); }\n widget.line = line;\n if (cm && !lineIsHidden(doc, line)) {\n var aboveVisible = heightAtLine(line) < doc.scrollTop;\n updateLineHeight(line, line.height + widgetHeight(widget));\n if (aboveVisible) { addToScrollTop(cm, widget.height); }\n cm.curOp.forceUpdate = true;\n }\n return true\n });\n if (cm) { signalLater(cm, \"lineWidgetAdded\", cm, widget, typeof handle == \"number\" ? handle : lineNo(handle)); }\n return widget\n }\n\n // TEXTMARKERS\n\n // Created with markText and setBookmark methods. A TextMarker is a\n // handle that can be used to clear or find a marked position in the\n // document. Line objects hold arrays (markedSpans) containing\n // {from, to, marker} object pointing to such marker objects, and\n // indicating that such a marker is present on that line. Multiple\n // lines may point to the same marker when it spans across lines.\n // The spans will have null for their from/to properties when the\n // marker continues beyond the start/end of the line. Markers have\n // links back to the lines they currently touch.\n\n // Collapsed markers have unique ids, in order to be able to order\n // them, which is needed for uniquely determining an outer marker\n // when they overlap (they may nest, but not partially overlap).\n var nextMarkerId = 0;\n\n var TextMarker = function(doc, type) {\n this.lines = [];\n this.type = type;\n this.doc = doc;\n this.id = ++nextMarkerId;\n };\n\n // Clear the marker.\n TextMarker.prototype.clear = function () {\n var this$1 = this;\n\n if (this.explicitlyCleared) { return }\n var cm = this.doc.cm, withOp = cm && !cm.curOp;\n if (withOp) { startOperation(cm); }\n if (hasHandler(this, \"clear\")) {\n var found = this.find();\n if (found) { signalLater(this, \"clear\", found.from, found.to); }\n }\n var min = null, max = null;\n for (var i = 0; i < this.lines.length; ++i) {\n var line = this$1.lines[i];\n var span = getMarkedSpanFor(line.markedSpans, this$1);\n if (cm && !this$1.collapsed) { regLineChange(cm, lineNo(line), \"text\"); }\n else if (cm) {\n if (span.to != null) { max = lineNo(line); }\n if (span.from != null) { min = lineNo(line); }\n }\n line.markedSpans = removeMarkedSpan(line.markedSpans, span);\n if (span.from == null && this$1.collapsed && !lineIsHidden(this$1.doc, line) && cm)\n { updateLineHeight(line, textHeight(cm.display)); }\n }\n if (cm && this.collapsed && !cm.options.lineWrapping) { for (var i$1 = 0; i$1 < this.lines.length; ++i$1) {\n var visual = visualLine(this$1.lines[i$1]), len = lineLength(visual);\n if (len > cm.display.maxLineLength) {\n cm.display.maxLine = visual;\n cm.display.maxLineLength = len;\n cm.display.maxLineChanged = true;\n }\n } }\n\n if (min != null && cm && this.collapsed) { regChange(cm, min, max + 1); }\n this.lines.length = 0;\n this.explicitlyCleared = true;\n if (this.atomic && this.doc.cantEdit) {\n this.doc.cantEdit = false;\n if (cm) { reCheckSelection(cm.doc); }\n }\n if (cm) { signalLater(cm, \"markerCleared\", cm, this, min, max); }\n if (withOp) { endOperation(cm); }\n if (this.parent) { this.parent.clear(); }\n };\n\n // Find the position of the marker in the document. Returns a {from,\n // to} object by default. Side can be passed to get a specific side\n // -- 0 (both), -1 (left), or 1 (right). When lineObj is true, the\n // Pos objects returned contain a line object, rather than a line\n // number (used to prevent looking up the same line twice).\n TextMarker.prototype.find = function (side, lineObj) {\n var this$1 = this;\n\n if (side == null && this.type == \"bookmark\") { side = 1; }\n var from, to;\n for (var i = 0; i < this.lines.length; ++i) {\n var line = this$1.lines[i];\n var span = getMarkedSpanFor(line.markedSpans, this$1);\n if (span.from != null) {\n from = Pos(lineObj ? line : lineNo(line), span.from);\n if (side == -1) { return from }\n }\n if (span.to != null) {\n to = Pos(lineObj ? line : lineNo(line), span.to);\n if (side == 1) { return to }\n }\n }\n return from && {from: from, to: to}\n };\n\n // Signals that the marker's widget changed, and surrounding layout\n // should be recomputed.\n TextMarker.prototype.changed = function () {\n var this$1 = this;\n\n var pos = this.find(-1, true), widget = this, cm = this.doc.cm;\n if (!pos || !cm) { return }\n runInOp(cm, function () {\n var line = pos.line, lineN = lineNo(pos.line);\n var view = findViewForLine(cm, lineN);\n if (view) {\n clearLineMeasurementCacheFor(view);\n cm.curOp.selectionChanged = cm.curOp.forceUpdate = true;\n }\n cm.curOp.updateMaxLine = true;\n if (!lineIsHidden(widget.doc, line) && widget.height != null) {\n var oldHeight = widget.height;\n widget.height = null;\n var dHeight = widgetHeight(widget) - oldHeight;\n if (dHeight)\n { updateLineHeight(line, line.height + dHeight); }\n }\n signalLater(cm, \"markerChanged\", cm, this$1);\n });\n };\n\n TextMarker.prototype.attachLine = function (line) {\n if (!this.lines.length && this.doc.cm) {\n var op = this.doc.cm.curOp;\n if (!op.maybeHiddenMarkers || indexOf(op.maybeHiddenMarkers, this) == -1)\n { (op.maybeUnhiddenMarkers || (op.maybeUnhiddenMarkers = [])).push(this); }\n }\n this.lines.push(line);\n };\n\n TextMarker.prototype.detachLine = function (line) {\n this.lines.splice(indexOf(this.lines, line), 1);\n if (!this.lines.length && this.doc.cm) {\n var op = this.doc.cm.curOp\n ;(op.maybeHiddenMarkers || (op.maybeHiddenMarkers = [])).push(this);\n }\n };\n eventMixin(TextMarker);\n\n // Create a marker, wire it up to the right lines, and\n function markText(doc, from, to, options, type) {\n // Shared markers (across linked documents) are handled separately\n // (markTextShared will call out to this again, once per\n // document).\n if (options && options.shared) { return markTextShared(doc, from, to, options, type) }\n // Ensure we are in an operation.\n if (doc.cm && !doc.cm.curOp) { return operation(doc.cm, markText)(doc, from, to, options, type) }\n\n var marker = new TextMarker(doc, type), diff = cmp(from, to);\n if (options) { copyObj(options, marker, false); }\n // Don't connect empty markers unless clearWhenEmpty is false\n if (diff > 0 || diff == 0 && marker.clearWhenEmpty !== false)\n { return marker }\n if (marker.replacedWith) {\n // Showing up as a widget implies collapsed (widget replaces text)\n marker.collapsed = true;\n marker.widgetNode = eltP(\"span\", [marker.replacedWith], \"CodeMirror-widget\");\n if (!options.handleMouseEvents) { marker.widgetNode.setAttribute(\"cm-ignore-events\", \"true\"); }\n if (options.insertLeft) { marker.widgetNode.insertLeft = true; }\n }\n if (marker.collapsed) {\n if (conflictingCollapsedRange(doc, from.line, from, to, marker) ||\n from.line != to.line && conflictingCollapsedRange(doc, to.line, from, to, marker))\n { throw new Error(\"Inserting collapsed marker partially overlapping an existing one\") }\n seeCollapsedSpans();\n }\n\n if (marker.addToHistory)\n { addChangeToHistory(doc, {from: from, to: to, origin: \"markText\"}, doc.sel, NaN); }\n\n var curLine = from.line, cm = doc.cm, updateMaxLine;\n doc.iter(curLine, to.line + 1, function (line) {\n if (cm && marker.collapsed && !cm.options.lineWrapping && visualLine(line) == cm.display.maxLine)\n { updateMaxLine = true; }\n if (marker.collapsed && curLine != from.line) { updateLineHeight(line, 0); }\n addMarkedSpan(line, new MarkedSpan(marker,\n curLine == from.line ? from.ch : null,\n curLine == to.line ? to.ch : null));\n ++curLine;\n });\n // lineIsHidden depends on the presence of the spans, so needs a second pass\n if (marker.collapsed) { doc.iter(from.line, to.line + 1, function (line) {\n if (lineIsHidden(doc, line)) { updateLineHeight(line, 0); }\n }); }\n\n if (marker.clearOnEnter) { on(marker, \"beforeCursorEnter\", function () { return marker.clear(); }); }\n\n if (marker.readOnly) {\n seeReadOnlySpans();\n if (doc.history.done.length || doc.history.undone.length)\n { doc.clearHistory(); }\n }\n if (marker.collapsed) {\n marker.id = ++nextMarkerId;\n marker.atomic = true;\n }\n if (cm) {\n // Sync editor state\n if (updateMaxLine) { cm.curOp.updateMaxLine = true; }\n if (marker.collapsed)\n { regChange(cm, from.line, to.line + 1); }\n else if (marker.className || marker.startStyle || marker.endStyle || marker.css ||\n marker.attributes || marker.title)\n { for (var i = from.line; i <= to.line; i++) { regLineChange(cm, i, \"text\"); } }\n if (marker.atomic) { reCheckSelection(cm.doc); }\n signalLater(cm, \"markerAdded\", cm, marker);\n }\n return marker\n }\n\n // SHARED TEXTMARKERS\n\n // A shared marker spans multiple linked documents. It is\n // implemented as a meta-marker-object controlling multiple normal\n // markers.\n var SharedTextMarker = function(markers, primary) {\n var this$1 = this;\n\n this.markers = markers;\n this.primary = primary;\n for (var i = 0; i < markers.length; ++i)\n { markers[i].parent = this$1; }\n };\n\n SharedTextMarker.prototype.clear = function () {\n var this$1 = this;\n\n if (this.explicitlyCleared) { return }\n this.explicitlyCleared = true;\n for (var i = 0; i < this.markers.length; ++i)\n { this$1.markers[i].clear(); }\n signalLater(this, \"clear\");\n };\n\n SharedTextMarker.prototype.find = function (side, lineObj) {\n return this.primary.find(side, lineObj)\n };\n eventMixin(SharedTextMarker);\n\n function markTextShared(doc, from, to, options, type) {\n options = copyObj(options);\n options.shared = false;\n var markers = [markText(doc, from, to, options, type)], primary = markers[0];\n var widget = options.widgetNode;\n linkedDocs(doc, function (doc) {\n if (widget) { options.widgetNode = widget.cloneNode(true); }\n markers.push(markText(doc, clipPos(doc, from), clipPos(doc, to), options, type));\n for (var i = 0; i < doc.linked.length; ++i)\n { if (doc.linked[i].isParent) { return } }\n primary = lst(markers);\n });\n return new SharedTextMarker(markers, primary)\n }\n\n function findSharedMarkers(doc) {\n return doc.findMarks(Pos(doc.first, 0), doc.clipPos(Pos(doc.lastLine())), function (m) { return m.parent; })\n }\n\n function copySharedMarkers(doc, markers) {\n for (var i = 0; i < markers.length; i++) {\n var marker = markers[i], pos = marker.find();\n var mFrom = doc.clipPos(pos.from), mTo = doc.clipPos(pos.to);\n if (cmp(mFrom, mTo)) {\n var subMark = markText(doc, mFrom, mTo, marker.primary, marker.primary.type);\n marker.markers.push(subMark);\n subMark.parent = marker;\n }\n }\n }\n\n function detachSharedMarkers(markers) {\n var loop = function ( i ) {\n var marker = markers[i], linked = [marker.primary.doc];\n linkedDocs(marker.primary.doc, function (d) { return linked.push(d); });\n for (var j = 0; j < marker.markers.length; j++) {\n var subMarker = marker.markers[j];\n if (indexOf(linked, subMarker.doc) == -1) {\n subMarker.parent = null;\n marker.markers.splice(j--, 1);\n }\n }\n };\n\n for (var i = 0; i < markers.length; i++) loop( i );\n }\n\n var nextDocId = 0;\n var Doc = function(text, mode, firstLine, lineSep, direction) {\n if (!(this instanceof Doc)) { return new Doc(text, mode, firstLine, lineSep, direction) }\n if (firstLine == null) { firstLine = 0; }\n\n BranchChunk.call(this, [new LeafChunk([new Line(\"\", null)])]);\n this.first = firstLine;\n this.scrollTop = this.scrollLeft = 0;\n this.cantEdit = false;\n this.cleanGeneration = 1;\n this.modeFrontier = this.highlightFrontier = firstLine;\n var start = Pos(firstLine, 0);\n this.sel = simpleSelection(start);\n this.history = new History(null);\n this.id = ++nextDocId;\n this.modeOption = mode;\n this.lineSep = lineSep;\n this.direction = (direction == \"rtl\") ? \"rtl\" : \"ltr\";\n this.extend = false;\n\n if (typeof text == \"string\") { text = this.splitLines(text); }\n updateDoc(this, {from: start, to: start, text: text});\n setSelection(this, simpleSelection(start), sel_dontScroll);\n };\n\n Doc.prototype = createObj(BranchChunk.prototype, {\n constructor: Doc,\n // Iterate over the document. Supports two forms -- with only one\n // argument, it calls that for each line in the document. With\n // three, it iterates over the range given by the first two (with\n // the second being non-inclusive).\n iter: function(from, to, op) {\n if (op) { this.iterN(from - this.first, to - from, op); }\n else { this.iterN(this.first, this.first + this.size, from); }\n },\n\n // Non-public interface for adding and removing lines.\n insert: function(at, lines) {\n var height = 0;\n for (var i = 0; i < lines.length; ++i) { height += lines[i].height; }\n this.insertInner(at - this.first, lines, height);\n },\n remove: function(at, n) { this.removeInner(at - this.first, n); },\n\n // From here, the methods are part of the public interface. Most\n // are also available from CodeMirror (editor) instances.\n\n getValue: function(lineSep) {\n var lines = getLines(this, this.first, this.first + this.size);\n if (lineSep === false) { return lines }\n return lines.join(lineSep || this.lineSeparator())\n },\n setValue: docMethodOp(function(code) {\n var top = Pos(this.first, 0), last = this.first + this.size - 1;\n makeChange(this, {from: top, to: Pos(last, getLine(this, last).text.length),\n text: this.splitLines(code), origin: \"setValue\", full: true}, true);\n if (this.cm) { scrollToCoords(this.cm, 0, 0); }\n setSelection(this, simpleSelection(top), sel_dontScroll);\n }),\n replaceRange: function(code, from, to, origin) {\n from = clipPos(this, from);\n to = to ? clipPos(this, to) : from;\n replaceRange(this, code, from, to, origin);\n },\n getRange: function(from, to, lineSep) {\n var lines = getBetween(this, clipPos(this, from), clipPos(this, to));\n if (lineSep === false) { return lines }\n return lines.join(lineSep || this.lineSeparator())\n },\n\n getLine: function(line) {var l = this.getLineHandle(line); return l && l.text},\n\n getLineHandle: function(line) {if (isLine(this, line)) { return getLine(this, line) }},\n getLineNumber: function(line) {return lineNo(line)},\n\n getLineHandleVisualStart: function(line) {\n if (typeof line == \"number\") { line = getLine(this, line); }\n return visualLine(line)\n },\n\n lineCount: function() {return this.size},\n firstLine: function() {return this.first},\n lastLine: function() {return this.first + this.size - 1},\n\n clipPos: function(pos) {return clipPos(this, pos)},\n\n getCursor: function(start) {\n var range$$1 = this.sel.primary(), pos;\n if (start == null || start == \"head\") { pos = range$$1.head; }\n else if (start == \"anchor\") { pos = range$$1.anchor; }\n else if (start == \"end\" || start == \"to\" || start === false) { pos = range$$1.to(); }\n else { pos = range$$1.from(); }\n return pos\n },\n listSelections: function() { return this.sel.ranges },\n somethingSelected: function() {return this.sel.somethingSelected()},\n\n setCursor: docMethodOp(function(line, ch, options) {\n setSimpleSelection(this, clipPos(this, typeof line == \"number\" ? Pos(line, ch || 0) : line), null, options);\n }),\n setSelection: docMethodOp(function(anchor, head, options) {\n setSimpleSelection(this, clipPos(this, anchor), clipPos(this, head || anchor), options);\n }),\n extendSelection: docMethodOp(function(head, other, options) {\n extendSelection(this, clipPos(this, head), other && clipPos(this, other), options);\n }),\n extendSelections: docMethodOp(function(heads, options) {\n extendSelections(this, clipPosArray(this, heads), options);\n }),\n extendSelectionsBy: docMethodOp(function(f, options) {\n var heads = map(this.sel.ranges, f);\n extendSelections(this, clipPosArray(this, heads), options);\n }),\n setSelections: docMethodOp(function(ranges, primary, options) {\n var this$1 = this;\n\n if (!ranges.length) { return }\n var out = [];\n for (var i = 0; i < ranges.length; i++)\n { out[i] = new Range(clipPos(this$1, ranges[i].anchor),\n clipPos(this$1, ranges[i].head)); }\n if (primary == null) { primary = Math.min(ranges.length - 1, this.sel.primIndex); }\n setSelection(this, normalizeSelection(this.cm, out, primary), options);\n }),\n addSelection: docMethodOp(function(anchor, head, options) {\n var ranges = this.sel.ranges.slice(0);\n ranges.push(new Range(clipPos(this, anchor), clipPos(this, head || anchor)));\n setSelection(this, normalizeSelection(this.cm, ranges, ranges.length - 1), options);\n }),\n\n getSelection: function(lineSep) {\n var this$1 = this;\n\n var ranges = this.sel.ranges, lines;\n for (var i = 0; i < ranges.length; i++) {\n var sel = getBetween(this$1, ranges[i].from(), ranges[i].to());\n lines = lines ? lines.concat(sel) : sel;\n }\n if (lineSep === false) { return lines }\n else { return lines.join(lineSep || this.lineSeparator()) }\n },\n getSelections: function(lineSep) {\n var this$1 = this;\n\n var parts = [], ranges = this.sel.ranges;\n for (var i = 0; i < ranges.length; i++) {\n var sel = getBetween(this$1, ranges[i].from(), ranges[i].to());\n if (lineSep !== false) { sel = sel.join(lineSep || this$1.lineSeparator()); }\n parts[i] = sel;\n }\n return parts\n },\n replaceSelection: function(code, collapse, origin) {\n var dup = [];\n for (var i = 0; i < this.sel.ranges.length; i++)\n { dup[i] = code; }\n this.replaceSelections(dup, collapse, origin || \"+input\");\n },\n replaceSelections: docMethodOp(function(code, collapse, origin) {\n var this$1 = this;\n\n var changes = [], sel = this.sel;\n for (var i = 0; i < sel.ranges.length; i++) {\n var range$$1 = sel.ranges[i];\n changes[i] = {from: range$$1.from(), to: range$$1.to(), text: this$1.splitLines(code[i]), origin: origin};\n }\n var newSel = collapse && collapse != \"end\" && computeReplacedSel(this, changes, collapse);\n for (var i$1 = changes.length - 1; i$1 >= 0; i$1--)\n { makeChange(this$1, changes[i$1]); }\n if (newSel) { setSelectionReplaceHistory(this, newSel); }\n else if (this.cm) { ensureCursorVisible(this.cm); }\n }),\n undo: docMethodOp(function() {makeChangeFromHistory(this, \"undo\");}),\n redo: docMethodOp(function() {makeChangeFromHistory(this, \"redo\");}),\n undoSelection: docMethodOp(function() {makeChangeFromHistory(this, \"undo\", true);}),\n redoSelection: docMethodOp(function() {makeChangeFromHistory(this, \"redo\", true);}),\n\n setExtending: function(val) {this.extend = val;},\n getExtending: function() {return this.extend},\n\n historySize: function() {\n var hist = this.history, done = 0, undone = 0;\n for (var i = 0; i < hist.done.length; i++) { if (!hist.done[i].ranges) { ++done; } }\n for (var i$1 = 0; i$1 < hist.undone.length; i$1++) { if (!hist.undone[i$1].ranges) { ++undone; } }\n return {undo: done, redo: undone}\n },\n clearHistory: function() {this.history = new History(this.history.maxGeneration);},\n\n markClean: function() {\n this.cleanGeneration = this.changeGeneration(true);\n },\n changeGeneration: function(forceSplit) {\n if (forceSplit)\n { this.history.lastOp = this.history.lastSelOp = this.history.lastOrigin = null; }\n return this.history.generation\n },\n isClean: function (gen) {\n return this.history.generation == (gen || this.cleanGeneration)\n },\n\n getHistory: function() {\n return {done: copyHistoryArray(this.history.done),\n undone: copyHistoryArray(this.history.undone)}\n },\n setHistory: function(histData) {\n var hist = this.history = new History(this.history.maxGeneration);\n hist.done = copyHistoryArray(histData.done.slice(0), null, true);\n hist.undone = copyHistoryArray(histData.undone.slice(0), null, true);\n },\n\n setGutterMarker: docMethodOp(function(line, gutterID, value) {\n return changeLine(this, line, \"gutter\", function (line) {\n var markers = line.gutterMarkers || (line.gutterMarkers = {});\n markers[gutterID] = value;\n if (!value && isEmpty(markers)) { line.gutterMarkers = null; }\n return true\n })\n }),\n\n clearGutter: docMethodOp(function(gutterID) {\n var this$1 = this;\n\n this.iter(function (line) {\n if (line.gutterMarkers && line.gutterMarkers[gutterID]) {\n changeLine(this$1, line, \"gutter\", function () {\n line.gutterMarkers[gutterID] = null;\n if (isEmpty(line.gutterMarkers)) { line.gutterMarkers = null; }\n return true\n });\n }\n });\n }),\n\n lineInfo: function(line) {\n var n;\n if (typeof line == \"number\") {\n if (!isLine(this, line)) { return null }\n n = line;\n line = getLine(this, line);\n if (!line) { return null }\n } else {\n n = lineNo(line);\n if (n == null) { return null }\n }\n return {line: n, handle: line, text: line.text, gutterMarkers: line.gutterMarkers,\n textClass: line.textClass, bgClass: line.bgClass, wrapClass: line.wrapClass,\n widgets: line.widgets}\n },\n\n addLineClass: docMethodOp(function(handle, where, cls) {\n return changeLine(this, handle, where == \"gutter\" ? \"gutter\" : \"class\", function (line) {\n var prop = where == \"text\" ? \"textClass\"\n : where == \"background\" ? \"bgClass\"\n : where == \"gutter\" ? \"gutterClass\" : \"wrapClass\";\n if (!line[prop]) { line[prop] = cls; }\n else if (classTest(cls).test(line[prop])) { return false }\n else { line[prop] += \" \" + cls; }\n return true\n })\n }),\n removeLineClass: docMethodOp(function(handle, where, cls) {\n return changeLine(this, handle, where == \"gutter\" ? \"gutter\" : \"class\", function (line) {\n var prop = where == \"text\" ? \"textClass\"\n : where == \"background\" ? \"bgClass\"\n : where == \"gutter\" ? \"gutterClass\" : \"wrapClass\";\n var cur = line[prop];\n if (!cur) { return false }\n else if (cls == null) { line[prop] = null; }\n else {\n var found = cur.match(classTest(cls));\n if (!found) { return false }\n var end = found.index + found[0].length;\n line[prop] = cur.slice(0, found.index) + (!found.index || end == cur.length ? \"\" : \" \") + cur.slice(end) || null;\n }\n return true\n })\n }),\n\n addLineWidget: docMethodOp(function(handle, node, options) {\n return addLineWidget(this, handle, node, options)\n }),\n removeLineWidget: function(widget) { widget.clear(); },\n\n markText: function(from, to, options) {\n return markText(this, clipPos(this, from), clipPos(this, to), options, options && options.type || \"range\")\n },\n setBookmark: function(pos, options) {\n var realOpts = {replacedWith: options && (options.nodeType == null ? options.widget : options),\n insertLeft: options && options.insertLeft,\n clearWhenEmpty: false, shared: options && options.shared,\n handleMouseEvents: options && options.handleMouseEvents};\n pos = clipPos(this, pos);\n return markText(this, pos, pos, realOpts, \"bookmark\")\n },\n findMarksAt: function(pos) {\n pos = clipPos(this, pos);\n var markers = [], spans = getLine(this, pos.line).markedSpans;\n if (spans) { for (var i = 0; i < spans.length; ++i) {\n var span = spans[i];\n if ((span.from == null || span.from <= pos.ch) &&\n (span.to == null || span.to >= pos.ch))\n { markers.push(span.marker.parent || span.marker); }\n } }\n return markers\n },\n findMarks: function(from, to, filter) {\n from = clipPos(this, from); to = clipPos(this, to);\n var found = [], lineNo$$1 = from.line;\n this.iter(from.line, to.line + 1, function (line) {\n var spans = line.markedSpans;\n if (spans) { for (var i = 0; i < spans.length; i++) {\n var span = spans[i];\n if (!(span.to != null && lineNo$$1 == from.line && from.ch >= span.to ||\n span.from == null && lineNo$$1 != from.line ||\n span.from != null && lineNo$$1 == to.line && span.from >= to.ch) &&\n (!filter || filter(span.marker)))\n { found.push(span.marker.parent || span.marker); }\n } }\n ++lineNo$$1;\n });\n return found\n },\n getAllMarks: function() {\n var markers = [];\n this.iter(function (line) {\n var sps = line.markedSpans;\n if (sps) { for (var i = 0; i < sps.length; ++i)\n { if (sps[i].from != null) { markers.push(sps[i].marker); } } }\n });\n return markers\n },\n\n posFromIndex: function(off) {\n var ch, lineNo$$1 = this.first, sepSize = this.lineSeparator().length;\n this.iter(function (line) {\n var sz = line.text.length + sepSize;\n if (sz > off) { ch = off; return true }\n off -= sz;\n ++lineNo$$1;\n });\n return clipPos(this, Pos(lineNo$$1, ch))\n },\n indexFromPos: function (coords) {\n coords = clipPos(this, coords);\n var index = coords.ch;\n if (coords.line < this.first || coords.ch < 0) { return 0 }\n var sepSize = this.lineSeparator().length;\n this.iter(this.first, coords.line, function (line) { // iter aborts when callback returns a truthy value\n index += line.text.length + sepSize;\n });\n return index\n },\n\n copy: function(copyHistory) {\n var doc = new Doc(getLines(this, this.first, this.first + this.size),\n this.modeOption, this.first, this.lineSep, this.direction);\n doc.scrollTop = this.scrollTop; doc.scrollLeft = this.scrollLeft;\n doc.sel = this.sel;\n doc.extend = false;\n if (copyHistory) {\n doc.history.undoDepth = this.history.undoDepth;\n doc.setHistory(this.getHistory());\n }\n return doc\n },\n\n linkedDoc: function(options) {\n if (!options) { options = {}; }\n var from = this.first, to = this.first + this.size;\n if (options.from != null && options.from > from) { from = options.from; }\n if (options.to != null && options.to < to) { to = options.to; }\n var copy = new Doc(getLines(this, from, to), options.mode || this.modeOption, from, this.lineSep, this.direction);\n if (options.sharedHist) { copy.history = this.history\n ; }(this.linked || (this.linked = [])).push({doc: copy, sharedHist: options.sharedHist});\n copy.linked = [{doc: this, isParent: true, sharedHist: options.sharedHist}];\n copySharedMarkers(copy, findSharedMarkers(this));\n return copy\n },\n unlinkDoc: function(other) {\n var this$1 = this;\n\n if (other instanceof CodeMirror) { other = other.doc; }\n if (this.linked) { for (var i = 0; i < this.linked.length; ++i) {\n var link = this$1.linked[i];\n if (link.doc != other) { continue }\n this$1.linked.splice(i, 1);\n other.unlinkDoc(this$1);\n detachSharedMarkers(findSharedMarkers(this$1));\n break\n } }\n // If the histories were shared, split them again\n if (other.history == this.history) {\n var splitIds = [other.id];\n linkedDocs(other, function (doc) { return splitIds.push(doc.id); }, true);\n other.history = new History(null);\n other.history.done = copyHistoryArray(this.history.done, splitIds);\n other.history.undone = copyHistoryArray(this.history.undone, splitIds);\n }\n },\n iterLinkedDocs: function(f) {linkedDocs(this, f);},\n\n getMode: function() {return this.mode},\n getEditor: function() {return this.cm},\n\n splitLines: function(str) {\n if (this.lineSep) { return str.split(this.lineSep) }\n return splitLinesAuto(str)\n },\n lineSeparator: function() { return this.lineSep || \"\\n\" },\n\n setDirection: docMethodOp(function (dir) {\n if (dir != \"rtl\") { dir = \"ltr\"; }\n if (dir == this.direction) { return }\n this.direction = dir;\n this.iter(function (line) { return line.order = null; });\n if (this.cm) { directionChanged(this.cm); }\n })\n });\n\n // Public alias.\n Doc.prototype.eachLine = Doc.prototype.iter;\n\n // Kludge to work around strange IE behavior where it'll sometimes\n // re-fire a series of drag-related events right after the drop (#1551)\n var lastDrop = 0;\n\n function onDrop(e) {\n var cm = this;\n clearDragCursor(cm);\n if (signalDOMEvent(cm, e) || eventInWidget(cm.display, e))\n { return }\n e_preventDefault(e);\n if (ie) { lastDrop = +new Date; }\n var pos = posFromMouse(cm, e, true), files = e.dataTransfer.files;\n if (!pos || cm.isReadOnly()) { return }\n // Might be a file drop, in which case we simply extract the text\n // and insert it.\n if (files && files.length && window.FileReader && window.File) {\n var n = files.length, text = Array(n), read = 0;\n var loadFile = function (file, i) {\n if (cm.options.allowDropFileTypes &&\n indexOf(cm.options.allowDropFileTypes, file.type) == -1)\n { return }\n\n var reader = new FileReader;\n reader.onload = operation(cm, function () {\n var content = reader.result;\n if (/[\\x00-\\x08\\x0e-\\x1f]{2}/.test(content)) { content = \"\"; }\n text[i] = content;\n if (++read == n) {\n pos = clipPos(cm.doc, pos);\n var change = {from: pos, to: pos,\n text: cm.doc.splitLines(text.join(cm.doc.lineSeparator())),\n origin: \"paste\"};\n makeChange(cm.doc, change);\n setSelectionReplaceHistory(cm.doc, simpleSelection(pos, changeEnd(change)));\n }\n });\n reader.readAsText(file);\n };\n for (var i = 0; i < n; ++i) { loadFile(files[i], i); }\n } else { // Normal drop\n // Don't do a replace if the drop happened inside of the selected text.\n if (cm.state.draggingText && cm.doc.sel.contains(pos) > -1) {\n cm.state.draggingText(e);\n // Ensure the editor is re-focused\n setTimeout(function () { return cm.display.input.focus(); }, 20);\n return\n }\n try {\n var text$1 = e.dataTransfer.getData(\"Text\");\n if (text$1) {\n var selected;\n if (cm.state.draggingText && !cm.state.draggingText.copy)\n { selected = cm.listSelections(); }\n setSelectionNoUndo(cm.doc, simpleSelection(pos, pos));\n if (selected) { for (var i$1 = 0; i$1 < selected.length; ++i$1)\n { replaceRange(cm.doc, \"\", selected[i$1].anchor, selected[i$1].head, \"drag\"); } }\n cm.replaceSelection(text$1, \"around\", \"paste\");\n cm.display.input.focus();\n }\n }\n catch(e){}\n }\n }\n\n function onDragStart(cm, e) {\n if (ie && (!cm.state.draggingText || +new Date - lastDrop < 100)) { e_stop(e); return }\n if (signalDOMEvent(cm, e) || eventInWidget(cm.display, e)) { return }\n\n e.dataTransfer.setData(\"Text\", cm.getSelection());\n e.dataTransfer.effectAllowed = \"copyMove\";\n\n // Use dummy image instead of default browsers image.\n // Recent Safari (~6.0.2) have a tendency to segfault when this happens, so we don't do it there.\n if (e.dataTransfer.setDragImage && !safari) {\n var img = elt(\"img\", null, null, \"position: fixed; left: 0; top: 0;\");\n img.src = \"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\";\n if (presto) {\n img.width = img.height = 1;\n cm.display.wrapper.appendChild(img);\n // Force a relayout, or Opera won't use our image for some obscure reason\n img._top = img.offsetTop;\n }\n e.dataTransfer.setDragImage(img, 0, 0);\n if (presto) { img.parentNode.removeChild(img); }\n }\n }\n\n function onDragOver(cm, e) {\n var pos = posFromMouse(cm, e);\n if (!pos) { return }\n var frag = document.createDocumentFragment();\n drawSelectionCursor(cm, pos, frag);\n if (!cm.display.dragCursor) {\n cm.display.dragCursor = elt(\"div\", null, \"CodeMirror-cursors CodeMirror-dragcursors\");\n cm.display.lineSpace.insertBefore(cm.display.dragCursor, cm.display.cursorDiv);\n }\n removeChildrenAndAdd(cm.display.dragCursor, frag);\n }\n\n function clearDragCursor(cm) {\n if (cm.display.dragCursor) {\n cm.display.lineSpace.removeChild(cm.display.dragCursor);\n cm.display.dragCursor = null;\n }\n }\n\n // These must be handled carefully, because naively registering a\n // handler for each editor will cause the editors to never be\n // garbage collected.\n\n function forEachCodeMirror(f) {\n if (!document.getElementsByClassName) { return }\n var byClass = document.getElementsByClassName(\"CodeMirror\"), editors = [];\n for (var i = 0; i < byClass.length; i++) {\n var cm = byClass[i].CodeMirror;\n if (cm) { editors.push(cm); }\n }\n if (editors.length) { editors[0].operation(function () {\n for (var i = 0; i < editors.length; i++) { f(editors[i]); }\n }); }\n }\n\n var globalsRegistered = false;\n function ensureGlobalHandlers() {\n if (globalsRegistered) { return }\n registerGlobalHandlers();\n globalsRegistered = true;\n }\n function registerGlobalHandlers() {\n // When the window resizes, we need to refresh active editors.\n var resizeTimer;\n on(window, \"resize\", function () {\n if (resizeTimer == null) { resizeTimer = setTimeout(function () {\n resizeTimer = null;\n forEachCodeMirror(onResize);\n }, 100); }\n });\n // When the window loses focus, we want to show the editor as blurred\n on(window, \"blur\", function () { return forEachCodeMirror(onBlur); });\n }\n // Called when the window resizes\n function onResize(cm) {\n var d = cm.display;\n // Might be a text scaling operation, clear size caches.\n d.cachedCharWidth = d.cachedTextHeight = d.cachedPaddingH = null;\n d.scrollbarsClipped = false;\n cm.setSize();\n }\n\n var keyNames = {\n 3: \"Pause\", 8: \"Backspace\", 9: \"Tab\", 13: \"Enter\", 16: \"Shift\", 17: \"Ctrl\", 18: \"Alt\",\n 19: \"Pause\", 20: \"CapsLock\", 27: \"Esc\", 32: \"Space\", 33: \"PageUp\", 34: \"PageDown\", 35: \"End\",\n 36: \"Home\", 37: \"Left\", 38: \"Up\", 39: \"Right\", 40: \"Down\", 44: \"PrintScrn\", 45: \"Insert\",\n 46: \"Delete\", 59: \";\", 61: \"=\", 91: \"Mod\", 92: \"Mod\", 93: \"Mod\",\n 106: \"*\", 107: \"=\", 109: \"-\", 110: \".\", 111: \"/\", 145: \"ScrollLock\",\n 173: \"-\", 186: \";\", 187: \"=\", 188: \",\", 189: \"-\", 190: \".\", 191: \"/\", 192: \"`\", 219: \"[\", 220: \"\\\\\",\n 221: \"]\", 222: \"'\", 63232: \"Up\", 63233: \"Down\", 63234: \"Left\", 63235: \"Right\", 63272: \"Delete\",\n 63273: \"Home\", 63275: \"End\", 63276: \"PageUp\", 63277: \"PageDown\", 63302: \"Insert\"\n };\n\n // Number keys\n for (var i = 0; i < 10; i++) { keyNames[i + 48] = keyNames[i + 96] = String(i); }\n // Alphabetic keys\n for (var i$1 = 65; i$1 <= 90; i$1++) { keyNames[i$1] = String.fromCharCode(i$1); }\n // Function keys\n for (var i$2 = 1; i$2 <= 12; i$2++) { keyNames[i$2 + 111] = keyNames[i$2 + 63235] = \"F\" + i$2; }\n\n var keyMap = {};\n\n keyMap.basic = {\n \"Left\": \"goCharLeft\", \"Right\": \"goCharRight\", \"Up\": \"goLineUp\", \"Down\": \"goLineDown\",\n \"End\": \"goLineEnd\", \"Home\": \"goLineStartSmart\", \"PageUp\": \"goPageUp\", \"PageDown\": \"goPageDown\",\n \"Delete\": \"delCharAfter\", \"Backspace\": \"delCharBefore\", \"Shift-Backspace\": \"delCharBefore\",\n \"Tab\": \"defaultTab\", \"Shift-Tab\": \"indentAuto\",\n \"Enter\": \"newlineAndIndent\", \"Insert\": \"toggleOverwrite\",\n \"Esc\": \"singleSelection\"\n };\n // Note that the save and find-related commands aren't defined by\n // default. User code or addons can define them. Unknown commands\n // are simply ignored.\n keyMap.pcDefault = {\n \"Ctrl-A\": \"selectAll\", \"Ctrl-D\": \"deleteLine\", \"Ctrl-Z\": \"undo\", \"Shift-Ctrl-Z\": \"redo\", \"Ctrl-Y\": \"redo\",\n \"Ctrl-Home\": \"goDocStart\", \"Ctrl-End\": \"goDocEnd\", \"Ctrl-Up\": \"goLineUp\", \"Ctrl-Down\": \"goLineDown\",\n \"Ctrl-Left\": \"goGroupLeft\", \"Ctrl-Right\": \"goGroupRight\", \"Alt-Left\": \"goLineStart\", \"Alt-Right\": \"goLineEnd\",\n \"Ctrl-Backspace\": \"delGroupBefore\", \"Ctrl-Delete\": \"delGroupAfter\", \"Ctrl-S\": \"save\", \"Ctrl-F\": \"find\",\n \"Ctrl-G\": \"findNext\", \"Shift-Ctrl-G\": \"findPrev\", \"Shift-Ctrl-F\": \"replace\", \"Shift-Ctrl-R\": \"replaceAll\",\n \"Ctrl-[\": \"indentLess\", \"Ctrl-]\": \"indentMore\",\n \"Ctrl-U\": \"undoSelection\", \"Shift-Ctrl-U\": \"redoSelection\", \"Alt-U\": \"redoSelection\",\n \"fallthrough\": \"basic\"\n };\n // Very basic readline/emacs-style bindings, which are standard on Mac.\n keyMap.emacsy = {\n \"Ctrl-F\": \"goCharRight\", \"Ctrl-B\": \"goCharLeft\", \"Ctrl-P\": \"goLineUp\", \"Ctrl-N\": \"goLineDown\",\n \"Alt-F\": \"goWordRight\", \"Alt-B\": \"goWordLeft\", \"Ctrl-A\": \"goLineStart\", \"Ctrl-E\": \"goLineEnd\",\n \"Ctrl-V\": \"goPageDown\", \"Shift-Ctrl-V\": \"goPageUp\", \"Ctrl-D\": \"delCharAfter\", \"Ctrl-H\": \"delCharBefore\",\n \"Alt-D\": \"delWordAfter\", \"Alt-Backspace\": \"delWordBefore\", \"Ctrl-K\": \"killLine\", \"Ctrl-T\": \"transposeChars\",\n \"Ctrl-O\": \"openLine\"\n };\n keyMap.macDefault = {\n \"Cmd-A\": \"selectAll\", \"Cmd-D\": \"deleteLine\", \"Cmd-Z\": \"undo\", \"Shift-Cmd-Z\": \"redo\", \"Cmd-Y\": \"redo\",\n \"Cmd-Home\": \"goDocStart\", \"Cmd-Up\": \"goDocStart\", \"Cmd-End\": \"goDocEnd\", \"Cmd-Down\": \"goDocEnd\", \"Alt-Left\": \"goGroupLeft\",\n \"Alt-Right\": \"goGroupRight\", \"Cmd-Left\": \"goLineLeft\", \"Cmd-Right\": \"goLineRight\", \"Alt-Backspace\": \"delGroupBefore\",\n \"Ctrl-Alt-Backspace\": \"delGroupAfter\", \"Alt-Delete\": \"delGroupAfter\", \"Cmd-S\": \"save\", \"Cmd-F\": \"find\",\n \"Cmd-G\": \"findNext\", \"Shift-Cmd-G\": \"findPrev\", \"Cmd-Alt-F\": \"replace\", \"Shift-Cmd-Alt-F\": \"replaceAll\",\n \"Cmd-[\": \"indentLess\", \"Cmd-]\": \"indentMore\", \"Cmd-Backspace\": \"delWrappedLineLeft\", \"Cmd-Delete\": \"delWrappedLineRight\",\n \"Cmd-U\": \"undoSelection\", \"Shift-Cmd-U\": \"redoSelection\", \"Ctrl-Up\": \"goDocStart\", \"Ctrl-Down\": \"goDocEnd\",\n \"fallthrough\": [\"basic\", \"emacsy\"]\n };\n keyMap[\"default\"] = mac ? keyMap.macDefault : keyMap.pcDefault;\n\n // KEYMAP DISPATCH\n\n function normalizeKeyName(name) {\n var parts = name.split(/-(?!$)/);\n name = parts[parts.length - 1];\n var alt, ctrl, shift, cmd;\n for (var i = 0; i < parts.length - 1; i++) {\n var mod = parts[i];\n if (/^(cmd|meta|m)$/i.test(mod)) { cmd = true; }\n else if (/^a(lt)?$/i.test(mod)) { alt = true; }\n else if (/^(c|ctrl|control)$/i.test(mod)) { ctrl = true; }\n else if (/^s(hift)?$/i.test(mod)) { shift = true; }\n else { throw new Error(\"Unrecognized modifier name: \" + mod) }\n }\n if (alt) { name = \"Alt-\" + name; }\n if (ctrl) { name = \"Ctrl-\" + name; }\n if (cmd) { name = \"Cmd-\" + name; }\n if (shift) { name = \"Shift-\" + name; }\n return name\n }\n\n // This is a kludge to keep keymaps mostly working as raw objects\n // (backwards compatibility) while at the same time support features\n // like normalization and multi-stroke key bindings. It compiles a\n // new normalized keymap, and then updates the old object to reflect\n // this.\n function normalizeKeyMap(keymap) {\n var copy = {};\n for (var keyname in keymap) { if (keymap.hasOwnProperty(keyname)) {\n var value = keymap[keyname];\n if (/^(name|fallthrough|(de|at)tach)$/.test(keyname)) { continue }\n if (value == \"...\") { delete keymap[keyname]; continue }\n\n var keys = map(keyname.split(\" \"), normalizeKeyName);\n for (var i = 0; i < keys.length; i++) {\n var val = (void 0), name = (void 0);\n if (i == keys.length - 1) {\n name = keys.join(\" \");\n val = value;\n } else {\n name = keys.slice(0, i + 1).join(\" \");\n val = \"...\";\n }\n var prev = copy[name];\n if (!prev) { copy[name] = val; }\n else if (prev != val) { throw new Error(\"Inconsistent bindings for \" + name) }\n }\n delete keymap[keyname];\n } }\n for (var prop in copy) { keymap[prop] = copy[prop]; }\n return keymap\n }\n\n function lookupKey(key, map$$1, handle, context) {\n map$$1 = getKeyMap(map$$1);\n var found = map$$1.call ? map$$1.call(key, context) : map$$1[key];\n if (found === false) { return \"nothing\" }\n if (found === \"...\") { return \"multi\" }\n if (found != null && handle(found)) { return \"handled\" }\n\n if (map$$1.fallthrough) {\n if (Object.prototype.toString.call(map$$1.fallthrough) != \"[object Array]\")\n { return lookupKey(key, map$$1.fallthrough, handle, context) }\n for (var i = 0; i < map$$1.fallthrough.length; i++) {\n var result = lookupKey(key, map$$1.fallthrough[i], handle, context);\n if (result) { return result }\n }\n }\n }\n\n // Modifier key presses don't count as 'real' key presses for the\n // purpose of keymap fallthrough.\n function isModifierKey(value) {\n var name = typeof value == \"string\" ? value : keyNames[value.keyCode];\n return name == \"Ctrl\" || name == \"Alt\" || name == \"Shift\" || name == \"Mod\"\n }\n\n function addModifierNames(name, event, noShift) {\n var base = name;\n if (event.altKey && base != \"Alt\") { name = \"Alt-\" + name; }\n if ((flipCtrlCmd ? event.metaKey : event.ctrlKey) && base != \"Ctrl\") { name = \"Ctrl-\" + name; }\n if ((flipCtrlCmd ? event.ctrlKey : event.metaKey) && base != \"Cmd\") { name = \"Cmd-\" + name; }\n if (!noShift && event.shiftKey && base != \"Shift\") { name = \"Shift-\" + name; }\n return name\n }\n\n // Look up the name of a key as indicated by an event object.\n function keyName(event, noShift) {\n if (presto && event.keyCode == 34 && event[\"char\"]) { return false }\n var name = keyNames[event.keyCode];\n if (name == null || event.altGraphKey) { return false }\n // Ctrl-ScrollLock has keyCode 3, same as Ctrl-Pause,\n // so we'll use event.code when available (Chrome 48+, FF 38+, Safari 10.1+)\n if (event.keyCode == 3 && event.code) { name = event.code; }\n return addModifierNames(name, event, noShift)\n }\n\n function getKeyMap(val) {\n return typeof val == \"string\" ? keyMap[val] : val\n }\n\n // Helper for deleting text near the selection(s), used to implement\n // backspace, delete, and similar functionality.\n function deleteNearSelection(cm, compute) {\n var ranges = cm.doc.sel.ranges, kill = [];\n // Build up a set of ranges to kill first, merging overlapping\n // ranges.\n for (var i = 0; i < ranges.length; i++) {\n var toKill = compute(ranges[i]);\n while (kill.length && cmp(toKill.from, lst(kill).to) <= 0) {\n var replaced = kill.pop();\n if (cmp(replaced.from, toKill.from) < 0) {\n toKill.from = replaced.from;\n break\n }\n }\n kill.push(toKill);\n }\n // Next, remove those actual ranges.\n runInOp(cm, function () {\n for (var i = kill.length - 1; i >= 0; i--)\n { replaceRange(cm.doc, \"\", kill[i].from, kill[i].to, \"+delete\"); }\n ensureCursorVisible(cm);\n });\n }\n\n function moveCharLogically(line, ch, dir) {\n var target = skipExtendingChars(line.text, ch + dir, dir);\n return target < 0 || target > line.text.length ? null : target\n }\n\n function moveLogically(line, start, dir) {\n var ch = moveCharLogically(line, start.ch, dir);\n return ch == null ? null : new Pos(start.line, ch, dir < 0 ? \"after\" : \"before\")\n }\n\n function endOfLine(visually, cm, lineObj, lineNo, dir) {\n if (visually) {\n var order = getOrder(lineObj, cm.doc.direction);\n if (order) {\n var part = dir < 0 ? lst(order) : order[0];\n var moveInStorageOrder = (dir < 0) == (part.level == 1);\n var sticky = moveInStorageOrder ? \"after\" : \"before\";\n var ch;\n // With a wrapped rtl chunk (possibly spanning multiple bidi parts),\n // it could be that the last bidi part is not on the last visual line,\n // since visual lines contain content order-consecutive chunks.\n // Thus, in rtl, we are looking for the first (content-order) character\n // in the rtl chunk that is on the last line (that is, the same line\n // as the last (content-order) character).\n if (part.level > 0 || cm.doc.direction == \"rtl\") {\n var prep = prepareMeasureForLine(cm, lineObj);\n ch = dir < 0 ? lineObj.text.length - 1 : 0;\n var targetTop = measureCharPrepared(cm, prep, ch).top;\n ch = findFirst(function (ch) { return measureCharPrepared(cm, prep, ch).top == targetTop; }, (dir < 0) == (part.level == 1) ? part.from : part.to - 1, ch);\n if (sticky == \"before\") { ch = moveCharLogically(lineObj, ch, 1); }\n } else { ch = dir < 0 ? part.to : part.from; }\n return new Pos(lineNo, ch, sticky)\n }\n }\n return new Pos(lineNo, dir < 0 ? lineObj.text.length : 0, dir < 0 ? \"before\" : \"after\")\n }\n\n function moveVisually(cm, line, start, dir) {\n var bidi = getOrder(line, cm.doc.direction);\n if (!bidi) { return moveLogically(line, start, dir) }\n if (start.ch >= line.text.length) {\n start.ch = line.text.length;\n start.sticky = \"before\";\n } else if (start.ch <= 0) {\n start.ch = 0;\n start.sticky = \"after\";\n }\n var partPos = getBidiPartAt(bidi, start.ch, start.sticky), part = bidi[partPos];\n if (cm.doc.direction == \"ltr\" && part.level % 2 == 0 && (dir > 0 ? part.to > start.ch : part.from < start.ch)) {\n // Case 1: We move within an ltr part in an ltr editor. Even with wrapped lines,\n // nothing interesting happens.\n return moveLogically(line, start, dir)\n }\n\n var mv = function (pos, dir) { return moveCharLogically(line, pos instanceof Pos ? pos.ch : pos, dir); };\n var prep;\n var getWrappedLineExtent = function (ch) {\n if (!cm.options.lineWrapping) { return {begin: 0, end: line.text.length} }\n prep = prep || prepareMeasureForLine(cm, line);\n return wrappedLineExtentChar(cm, line, prep, ch)\n };\n var wrappedLineExtent = getWrappedLineExtent(start.sticky == \"before\" ? mv(start, -1) : start.ch);\n\n if (cm.doc.direction == \"rtl\" || part.level == 1) {\n var moveInStorageOrder = (part.level == 1) == (dir < 0);\n var ch = mv(start, moveInStorageOrder ? 1 : -1);\n if (ch != null && (!moveInStorageOrder ? ch >= part.from && ch >= wrappedLineExtent.begin : ch <= part.to && ch <= wrappedLineExtent.end)) {\n // Case 2: We move within an rtl part or in an rtl editor on the same visual line\n var sticky = moveInStorageOrder ? \"before\" : \"after\";\n return new Pos(start.line, ch, sticky)\n }\n }\n\n // Case 3: Could not move within this bidi part in this visual line, so leave\n // the current bidi part\n\n var searchInVisualLine = function (partPos, dir, wrappedLineExtent) {\n var getRes = function (ch, moveInStorageOrder) { return moveInStorageOrder\n ? new Pos(start.line, mv(ch, 1), \"before\")\n : new Pos(start.line, ch, \"after\"); };\n\n for (; partPos >= 0 && partPos < bidi.length; partPos += dir) {\n var part = bidi[partPos];\n var moveInStorageOrder = (dir > 0) == (part.level != 1);\n var ch = moveInStorageOrder ? wrappedLineExtent.begin : mv(wrappedLineExtent.end, -1);\n if (part.from <= ch && ch < part.to) { return getRes(ch, moveInStorageOrder) }\n ch = moveInStorageOrder ? part.from : mv(part.to, -1);\n if (wrappedLineExtent.begin <= ch && ch < wrappedLineExtent.end) { return getRes(ch, moveInStorageOrder) }\n }\n };\n\n // Case 3a: Look for other bidi parts on the same visual line\n var res = searchInVisualLine(partPos + dir, dir, wrappedLineExtent);\n if (res) { return res }\n\n // Case 3b: Look for other bidi parts on the next visual line\n var nextCh = dir > 0 ? wrappedLineExtent.end : mv(wrappedLineExtent.begin, -1);\n if (nextCh != null && !(dir > 0 && nextCh == line.text.length)) {\n res = searchInVisualLine(dir > 0 ? 0 : bidi.length - 1, dir, getWrappedLineExtent(nextCh));\n if (res) { return res }\n }\n\n // Case 4: Nowhere to move\n return null\n }\n\n // Commands are parameter-less actions that can be performed on an\n // editor, mostly used for keybindings.\n var commands = {\n selectAll: selectAll,\n singleSelection: function (cm) { return cm.setSelection(cm.getCursor(\"anchor\"), cm.getCursor(\"head\"), sel_dontScroll); },\n killLine: function (cm) { return deleteNearSelection(cm, function (range) {\n if (range.empty()) {\n var len = getLine(cm.doc, range.head.line).text.length;\n if (range.head.ch == len && range.head.line < cm.lastLine())\n { return {from: range.head, to: Pos(range.head.line + 1, 0)} }\n else\n { return {from: range.head, to: Pos(range.head.line, len)} }\n } else {\n return {from: range.from(), to: range.to()}\n }\n }); },\n deleteLine: function (cm) { return deleteNearSelection(cm, function (range) { return ({\n from: Pos(range.from().line, 0),\n to: clipPos(cm.doc, Pos(range.to().line + 1, 0))\n }); }); },\n delLineLeft: function (cm) { return deleteNearSelection(cm, function (range) { return ({\n from: Pos(range.from().line, 0), to: range.from()\n }); }); },\n delWrappedLineLeft: function (cm) { return deleteNearSelection(cm, function (range) {\n var top = cm.charCoords(range.head, \"div\").top + 5;\n var leftPos = cm.coordsChar({left: 0, top: top}, \"div\");\n return {from: leftPos, to: range.from()}\n }); },\n delWrappedLineRight: function (cm) { return deleteNearSelection(cm, function (range) {\n var top = cm.charCoords(range.head, \"div\").top + 5;\n var rightPos = cm.coordsChar({left: cm.display.lineDiv.offsetWidth + 100, top: top}, \"div\");\n return {from: range.from(), to: rightPos }\n }); },\n undo: function (cm) { return cm.undo(); },\n redo: function (cm) { return cm.redo(); },\n undoSelection: function (cm) { return cm.undoSelection(); },\n redoSelection: function (cm) { return cm.redoSelection(); },\n goDocStart: function (cm) { return cm.extendSelection(Pos(cm.firstLine(), 0)); },\n goDocEnd: function (cm) { return cm.extendSelection(Pos(cm.lastLine())); },\n goLineStart: function (cm) { return cm.extendSelectionsBy(function (range) { return lineStart(cm, range.head.line); },\n {origin: \"+move\", bias: 1}\n ); },\n goLineStartSmart: function (cm) { return cm.extendSelectionsBy(function (range) { return lineStartSmart(cm, range.head); },\n {origin: \"+move\", bias: 1}\n ); },\n goLineEnd: function (cm) { return cm.extendSelectionsBy(function (range) { return lineEnd(cm, range.head.line); },\n {origin: \"+move\", bias: -1}\n ); },\n goLineRight: function (cm) { return cm.extendSelectionsBy(function (range) {\n var top = cm.cursorCoords(range.head, \"div\").top + 5;\n return cm.coordsChar({left: cm.display.lineDiv.offsetWidth + 100, top: top}, \"div\")\n }, sel_move); },\n goLineLeft: function (cm) { return cm.extendSelectionsBy(function (range) {\n var top = cm.cursorCoords(range.head, \"div\").top + 5;\n return cm.coordsChar({left: 0, top: top}, \"div\")\n }, sel_move); },\n goLineLeftSmart: function (cm) { return cm.extendSelectionsBy(function (range) {\n var top = cm.cursorCoords(range.head, \"div\").top + 5;\n var pos = cm.coordsChar({left: 0, top: top}, \"div\");\n if (pos.ch < cm.getLine(pos.line).search(/\\S/)) { return lineStartSmart(cm, range.head) }\n return pos\n }, sel_move); },\n goLineUp: function (cm) { return cm.moveV(-1, \"line\"); },\n goLineDown: function (cm) { return cm.moveV(1, \"line\"); },\n goPageUp: function (cm) { return cm.moveV(-1, \"page\"); },\n goPageDown: function (cm) { return cm.moveV(1, \"page\"); },\n goCharLeft: function (cm) { return cm.moveH(-1, \"char\"); },\n goCharRight: function (cm) { return cm.moveH(1, \"char\"); },\n goColumnLeft: function (cm) { return cm.moveH(-1, \"column\"); },\n goColumnRight: function (cm) { return cm.moveH(1, \"column\"); },\n goWordLeft: function (cm) { return cm.moveH(-1, \"word\"); },\n goGroupRight: function (cm) { return cm.moveH(1, \"group\"); },\n goGroupLeft: function (cm) { return cm.moveH(-1, \"group\"); },\n goWordRight: function (cm) { return cm.moveH(1, \"word\"); },\n delCharBefore: function (cm) { return cm.deleteH(-1, \"char\"); },\n delCharAfter: function (cm) { return cm.deleteH(1, \"char\"); },\n delWordBefore: function (cm) { return cm.deleteH(-1, \"word\"); },\n delWordAfter: function (cm) { return cm.deleteH(1, \"word\"); },\n delGroupBefore: function (cm) { return cm.deleteH(-1, \"group\"); },\n delGroupAfter: function (cm) { return cm.deleteH(1, \"group\"); },\n indentAuto: function (cm) { return cm.indentSelection(\"smart\"); },\n indentMore: function (cm) { return cm.indentSelection(\"add\"); },\n indentLess: function (cm) { return cm.indentSelection(\"subtract\"); },\n insertTab: function (cm) { return cm.replaceSelection(\"\\t\"); },\n insertSoftTab: function (cm) {\n var spaces = [], ranges = cm.listSelections(), tabSize = cm.options.tabSize;\n for (var i = 0; i < ranges.length; i++) {\n var pos = ranges[i].from();\n var col = countColumn(cm.getLine(pos.line), pos.ch, tabSize);\n spaces.push(spaceStr(tabSize - col % tabSize));\n }\n cm.replaceSelections(spaces);\n },\n defaultTab: function (cm) {\n if (cm.somethingSelected()) { cm.indentSelection(\"add\"); }\n else { cm.execCommand(\"insertTab\"); }\n },\n // Swap the two chars left and right of each selection's head.\n // Move cursor behind the two swapped characters afterwards.\n //\n // Doesn't consider line feeds a character.\n // Doesn't scan more than one line above to find a character.\n // Doesn't do anything on an empty line.\n // Doesn't do anything with non-empty selections.\n transposeChars: function (cm) { return runInOp(cm, function () {\n var ranges = cm.listSelections(), newSel = [];\n for (var i = 0; i < ranges.length; i++) {\n if (!ranges[i].empty()) { continue }\n var cur = ranges[i].head, line = getLine(cm.doc, cur.line).text;\n if (line) {\n if (cur.ch == line.length) { cur = new Pos(cur.line, cur.ch - 1); }\n if (cur.ch > 0) {\n cur = new Pos(cur.line, cur.ch + 1);\n cm.replaceRange(line.charAt(cur.ch - 1) + line.charAt(cur.ch - 2),\n Pos(cur.line, cur.ch - 2), cur, \"+transpose\");\n } else if (cur.line > cm.doc.first) {\n var prev = getLine(cm.doc, cur.line - 1).text;\n if (prev) {\n cur = new Pos(cur.line, 1);\n cm.replaceRange(line.charAt(0) + cm.doc.lineSeparator() +\n prev.charAt(prev.length - 1),\n Pos(cur.line - 1, prev.length - 1), cur, \"+transpose\");\n }\n }\n }\n newSel.push(new Range(cur, cur));\n }\n cm.setSelections(newSel);\n }); },\n newlineAndIndent: function (cm) { return runInOp(cm, function () {\n var sels = cm.listSelections();\n for (var i = sels.length - 1; i >= 0; i--)\n { cm.replaceRange(cm.doc.lineSeparator(), sels[i].anchor, sels[i].head, \"+input\"); }\n sels = cm.listSelections();\n for (var i$1 = 0; i$1 < sels.length; i$1++)\n { cm.indentLine(sels[i$1].from().line, null, true); }\n ensureCursorVisible(cm);\n }); },\n openLine: function (cm) { return cm.replaceSelection(\"\\n\", \"start\"); },\n toggleOverwrite: function (cm) { return cm.toggleOverwrite(); }\n };\n\n\n function lineStart(cm, lineN) {\n var line = getLine(cm.doc, lineN);\n var visual = visualLine(line);\n if (visual != line) { lineN = lineNo(visual); }\n return endOfLine(true, cm, visual, lineN, 1)\n }\n function lineEnd(cm, lineN) {\n var line = getLine(cm.doc, lineN);\n var visual = visualLineEnd(line);\n if (visual != line) { lineN = lineNo(visual); }\n return endOfLine(true, cm, line, lineN, -1)\n }\n function lineStartSmart(cm, pos) {\n var start = lineStart(cm, pos.line);\n var line = getLine(cm.doc, start.line);\n var order = getOrder(line, cm.doc.direction);\n if (!order || order[0].level == 0) {\n var firstNonWS = Math.max(0, line.text.search(/\\S/));\n var inWS = pos.line == start.line && pos.ch <= firstNonWS && pos.ch;\n return Pos(start.line, inWS ? 0 : firstNonWS, start.sticky)\n }\n return start\n }\n\n // Run a handler that was bound to a key.\n function doHandleBinding(cm, bound, dropShift) {\n if (typeof bound == \"string\") {\n bound = commands[bound];\n if (!bound) { return false }\n }\n // Ensure previous input has been read, so that the handler sees a\n // consistent view of the document\n cm.display.input.ensurePolled();\n var prevShift = cm.display.shift, done = false;\n try {\n if (cm.isReadOnly()) { cm.state.suppressEdits = true; }\n if (dropShift) { cm.display.shift = false; }\n done = bound(cm) != Pass;\n } finally {\n cm.display.shift = prevShift;\n cm.state.suppressEdits = false;\n }\n return done\n }\n\n function lookupKeyForEditor(cm, name, handle) {\n for (var i = 0; i < cm.state.keyMaps.length; i++) {\n var result = lookupKey(name, cm.state.keyMaps[i], handle, cm);\n if (result) { return result }\n }\n return (cm.options.extraKeys && lookupKey(name, cm.options.extraKeys, handle, cm))\n || lookupKey(name, cm.options.keyMap, handle, cm)\n }\n\n // Note that, despite the name, this function is also used to check\n // for bound mouse clicks.\n\n var stopSeq = new Delayed;\n\n function dispatchKey(cm, name, e, handle) {\n var seq = cm.state.keySeq;\n if (seq) {\n if (isModifierKey(name)) { return \"handled\" }\n if (/\\'$/.test(name))\n { cm.state.keySeq = null; }\n else\n { stopSeq.set(50, function () {\n if (cm.state.keySeq == seq) {\n cm.state.keySeq = null;\n cm.display.input.reset();\n }\n }); }\n if (dispatchKeyInner(cm, seq + \" \" + name, e, handle)) { return true }\n }\n return dispatchKeyInner(cm, name, e, handle)\n }\n\n function dispatchKeyInner(cm, name, e, handle) {\n var result = lookupKeyForEditor(cm, name, handle);\n\n if (result == \"multi\")\n { cm.state.keySeq = name; }\n if (result == \"handled\")\n { signalLater(cm, \"keyHandled\", cm, name, e); }\n\n if (result == \"handled\" || result == \"multi\") {\n e_preventDefault(e);\n restartBlink(cm);\n }\n\n return !!result\n }\n\n // Handle a key from the keydown event.\n function handleKeyBinding(cm, e) {\n var name = keyName(e, true);\n if (!name) { return false }\n\n if (e.shiftKey && !cm.state.keySeq) {\n // First try to resolve full name (including 'Shift-'). Failing\n // that, see if there is a cursor-motion command (starting with\n // 'go') bound to the keyname without 'Shift-'.\n return dispatchKey(cm, \"Shift-\" + name, e, function (b) { return doHandleBinding(cm, b, true); })\n || dispatchKey(cm, name, e, function (b) {\n if (typeof b == \"string\" ? /^go[A-Z]/.test(b) : b.motion)\n { return doHandleBinding(cm, b) }\n })\n } else {\n return dispatchKey(cm, name, e, function (b) { return doHandleBinding(cm, b); })\n }\n }\n\n // Handle a key from the keypress event\n function handleCharBinding(cm, e, ch) {\n return dispatchKey(cm, \"'\" + ch + \"'\", e, function (b) { return doHandleBinding(cm, b, true); })\n }\n\n var lastStoppedKey = null;\n function onKeyDown(e) {\n var cm = this;\n cm.curOp.focus = activeElt();\n if (signalDOMEvent(cm, e)) { return }\n // IE does strange things with escape.\n if (ie && ie_version < 11 && e.keyCode == 27) { e.returnValue = false; }\n var code = e.keyCode;\n cm.display.shift = code == 16 || e.shiftKey;\n var handled = handleKeyBinding(cm, e);\n if (presto) {\n lastStoppedKey = handled ? code : null;\n // Opera has no cut event... we try to at least catch the key combo\n if (!handled && code == 88 && !hasCopyEvent && (mac ? e.metaKey : e.ctrlKey))\n { cm.replaceSelection(\"\", null, \"cut\"); }\n }\n\n // Turn mouse into crosshair when Alt is held on Mac.\n if (code == 18 && !/\\bCodeMirror-crosshair\\b/.test(cm.display.lineDiv.className))\n { showCrossHair(cm); }\n }\n\n function showCrossHair(cm) {\n var lineDiv = cm.display.lineDiv;\n addClass(lineDiv, \"CodeMirror-crosshair\");\n\n function up(e) {\n if (e.keyCode == 18 || !e.altKey) {\n rmClass(lineDiv, \"CodeMirror-crosshair\");\n off(document, \"keyup\", up);\n off(document, \"mouseover\", up);\n }\n }\n on(document, \"keyup\", up);\n on(document, \"mouseover\", up);\n }\n\n function onKeyUp(e) {\n if (e.keyCode == 16) { this.doc.sel.shift = false; }\n signalDOMEvent(this, e);\n }\n\n function onKeyPress(e) {\n var cm = this;\n if (eventInWidget(cm.display, e) || signalDOMEvent(cm, e) || e.ctrlKey && !e.altKey || mac && e.metaKey) { return }\n var keyCode = e.keyCode, charCode = e.charCode;\n if (presto && keyCode == lastStoppedKey) {lastStoppedKey = null; e_preventDefault(e); return}\n if ((presto && (!e.which || e.which < 10)) && handleKeyBinding(cm, e)) { return }\n var ch = String.fromCharCode(charCode == null ? keyCode : charCode);\n // Some browsers fire keypress events for backspace\n if (ch == \"\\x08\") { return }\n if (handleCharBinding(cm, e, ch)) { return }\n cm.display.input.onKeyPress(e);\n }\n\n var DOUBLECLICK_DELAY = 400;\n\n var PastClick = function(time, pos, button) {\n this.time = time;\n this.pos = pos;\n this.button = button;\n };\n\n PastClick.prototype.compare = function (time, pos, button) {\n return this.time + DOUBLECLICK_DELAY > time &&\n cmp(pos, this.pos) == 0 && button == this.button\n };\n\n var lastClick, lastDoubleClick;\n function clickRepeat(pos, button) {\n var now = +new Date;\n if (lastDoubleClick && lastDoubleClick.compare(now, pos, button)) {\n lastClick = lastDoubleClick = null;\n return \"triple\"\n } else if (lastClick && lastClick.compare(now, pos, button)) {\n lastDoubleClick = new PastClick(now, pos, button);\n lastClick = null;\n return \"double\"\n } else {\n lastClick = new PastClick(now, pos, button);\n lastDoubleClick = null;\n return \"single\"\n }\n }\n\n // A mouse down can be a single click, double click, triple click,\n // start of selection drag, start of text drag, new cursor\n // (ctrl-click), rectangle drag (alt-drag), or xwin\n // middle-click-paste. Or it might be a click on something we should\n // not interfere with, such as a scrollbar or widget.\n function onMouseDown(e) {\n var cm = this, display = cm.display;\n if (signalDOMEvent(cm, e) || display.activeTouch && display.input.supportsTouch()) { return }\n display.input.ensurePolled();\n display.shift = e.shiftKey;\n\n if (eventInWidget(display, e)) {\n if (!webkit) {\n // Briefly turn off draggability, to allow widgets to do\n // normal dragging things.\n display.scroller.draggable = false;\n setTimeout(function () { return display.scroller.draggable = true; }, 100);\n }\n return\n }\n if (clickInGutter(cm, e)) { return }\n var pos = posFromMouse(cm, e), button = e_button(e), repeat = pos ? clickRepeat(pos, button) : \"single\";\n window.focus();\n\n // #3261: make sure, that we're not starting a second selection\n if (button == 1 && cm.state.selectingText)\n { cm.state.selectingText(e); }\n\n if (pos && handleMappedButton(cm, button, pos, repeat, e)) { return }\n\n if (button == 1) {\n if (pos) { leftButtonDown(cm, pos, repeat, e); }\n else if (e_target(e) == display.scroller) { e_preventDefault(e); }\n } else if (button == 2) {\n if (pos) { extendSelection(cm.doc, pos); }\n setTimeout(function () { return display.input.focus(); }, 20);\n } else if (button == 3) {\n if (captureRightClick) { cm.display.input.onContextMenu(e); }\n else { delayBlurEvent(cm); }\n }\n }\n\n function handleMappedButton(cm, button, pos, repeat, event) {\n var name = \"Click\";\n if (repeat == \"double\") { name = \"Double\" + name; }\n else if (repeat == \"triple\") { name = \"Triple\" + name; }\n name = (button == 1 ? \"Left\" : button == 2 ? \"Middle\" : \"Right\") + name;\n\n return dispatchKey(cm, addModifierNames(name, event), event, function (bound) {\n if (typeof bound == \"string\") { bound = commands[bound]; }\n if (!bound) { return false }\n var done = false;\n try {\n if (cm.isReadOnly()) { cm.state.suppressEdits = true; }\n done = bound(cm, pos) != Pass;\n } finally {\n cm.state.suppressEdits = false;\n }\n return done\n })\n }\n\n function configureMouse(cm, repeat, event) {\n var option = cm.getOption(\"configureMouse\");\n var value = option ? option(cm, repeat, event) : {};\n if (value.unit == null) {\n var rect = chromeOS ? event.shiftKey && event.metaKey : event.altKey;\n value.unit = rect ? \"rectangle\" : repeat == \"single\" ? \"char\" : repeat == \"double\" ? \"word\" : \"line\";\n }\n if (value.extend == null || cm.doc.extend) { value.extend = cm.doc.extend || event.shiftKey; }\n if (value.addNew == null) { value.addNew = mac ? event.metaKey : event.ctrlKey; }\n if (value.moveOnDrag == null) { value.moveOnDrag = !(mac ? event.altKey : event.ctrlKey); }\n return value\n }\n\n function leftButtonDown(cm, pos, repeat, event) {\n if (ie) { setTimeout(bind(ensureFocus, cm), 0); }\n else { cm.curOp.focus = activeElt(); }\n\n var behavior = configureMouse(cm, repeat, event);\n\n var sel = cm.doc.sel, contained;\n if (cm.options.dragDrop && dragAndDrop && !cm.isReadOnly() &&\n repeat == \"single\" && (contained = sel.contains(pos)) > -1 &&\n (cmp((contained = sel.ranges[contained]).from(), pos) < 0 || pos.xRel > 0) &&\n (cmp(contained.to(), pos) > 0 || pos.xRel < 0))\n { leftButtonStartDrag(cm, event, pos, behavior); }\n else\n { leftButtonSelect(cm, event, pos, behavior); }\n }\n\n // Start a text drag. When it ends, see if any dragging actually\n // happen, and treat as a click if it didn't.\n function leftButtonStartDrag(cm, event, pos, behavior) {\n var display = cm.display, moved = false;\n var dragEnd = operation(cm, function (e) {\n if (webkit) { display.scroller.draggable = false; }\n cm.state.draggingText = false;\n off(display.wrapper.ownerDocument, \"mouseup\", dragEnd);\n off(display.wrapper.ownerDocument, \"mousemove\", mouseMove);\n off(display.scroller, \"dragstart\", dragStart);\n off(display.scroller, \"drop\", dragEnd);\n if (!moved) {\n e_preventDefault(e);\n if (!behavior.addNew)\n { extendSelection(cm.doc, pos, null, null, behavior.extend); }\n // Work around unexplainable focus problem in IE9 (#2127) and Chrome (#3081)\n if (webkit || ie && ie_version == 9)\n { setTimeout(function () {display.wrapper.ownerDocument.body.focus(); display.input.focus();}, 20); }\n else\n { display.input.focus(); }\n }\n });\n var mouseMove = function(e2) {\n moved = moved || Math.abs(event.clientX - e2.clientX) + Math.abs(event.clientY - e2.clientY) >= 10;\n };\n var dragStart = function () { return moved = true; };\n // Let the drag handler handle this.\n if (webkit) { display.scroller.draggable = true; }\n cm.state.draggingText = dragEnd;\n dragEnd.copy = !behavior.moveOnDrag;\n // IE's approach to draggable\n if (display.scroller.dragDrop) { display.scroller.dragDrop(); }\n on(display.wrapper.ownerDocument, \"mouseup\", dragEnd);\n on(display.wrapper.ownerDocument, \"mousemove\", mouseMove);\n on(display.scroller, \"dragstart\", dragStart);\n on(display.scroller, \"drop\", dragEnd);\n\n delayBlurEvent(cm);\n setTimeout(function () { return display.input.focus(); }, 20);\n }\n\n function rangeForUnit(cm, pos, unit) {\n if (unit == \"char\") { return new Range(pos, pos) }\n if (unit == \"word\") { return cm.findWordAt(pos) }\n if (unit == \"line\") { return new Range(Pos(pos.line, 0), clipPos(cm.doc, Pos(pos.line + 1, 0))) }\n var result = unit(cm, pos);\n return new Range(result.from, result.to)\n }\n\n // Normal selection, as opposed to text dragging.\n function leftButtonSelect(cm, event, start, behavior) {\n var display = cm.display, doc = cm.doc;\n e_preventDefault(event);\n\n var ourRange, ourIndex, startSel = doc.sel, ranges = startSel.ranges;\n if (behavior.addNew && !behavior.extend) {\n ourIndex = doc.sel.contains(start);\n if (ourIndex > -1)\n { ourRange = ranges[ourIndex]; }\n else\n { ourRange = new Range(start, start); }\n } else {\n ourRange = doc.sel.primary();\n ourIndex = doc.sel.primIndex;\n }\n\n if (behavior.unit == \"rectangle\") {\n if (!behavior.addNew) { ourRange = new Range(start, start); }\n start = posFromMouse(cm, event, true, true);\n ourIndex = -1;\n } else {\n var range$$1 = rangeForUnit(cm, start, behavior.unit);\n if (behavior.extend)\n { ourRange = extendRange(ourRange, range$$1.anchor, range$$1.head, behavior.extend); }\n else\n { ourRange = range$$1; }\n }\n\n if (!behavior.addNew) {\n ourIndex = 0;\n setSelection(doc, new Selection([ourRange], 0), sel_mouse);\n startSel = doc.sel;\n } else if (ourIndex == -1) {\n ourIndex = ranges.length;\n setSelection(doc, normalizeSelection(cm, ranges.concat([ourRange]), ourIndex),\n {scroll: false, origin: \"*mouse\"});\n } else if (ranges.length > 1 && ranges[ourIndex].empty() && behavior.unit == \"char\" && !behavior.extend) {\n setSelection(doc, normalizeSelection(cm, ranges.slice(0, ourIndex).concat(ranges.slice(ourIndex + 1)), 0),\n {scroll: false, origin: \"*mouse\"});\n startSel = doc.sel;\n } else {\n replaceOneSelection(doc, ourIndex, ourRange, sel_mouse);\n }\n\n var lastPos = start;\n function extendTo(pos) {\n if (cmp(lastPos, pos) == 0) { return }\n lastPos = pos;\n\n if (behavior.unit == \"rectangle\") {\n var ranges = [], tabSize = cm.options.tabSize;\n var startCol = countColumn(getLine(doc, start.line).text, start.ch, tabSize);\n var posCol = countColumn(getLine(doc, pos.line).text, pos.ch, tabSize);\n var left = Math.min(startCol, posCol), right = Math.max(startCol, posCol);\n for (var line = Math.min(start.line, pos.line), end = Math.min(cm.lastLine(), Math.max(start.line, pos.line));\n line <= end; line++) {\n var text = getLine(doc, line).text, leftPos = findColumn(text, left, tabSize);\n if (left == right)\n { ranges.push(new Range(Pos(line, leftPos), Pos(line, leftPos))); }\n else if (text.length > leftPos)\n { ranges.push(new Range(Pos(line, leftPos), Pos(line, findColumn(text, right, tabSize)))); }\n }\n if (!ranges.length) { ranges.push(new Range(start, start)); }\n setSelection(doc, normalizeSelection(cm, startSel.ranges.slice(0, ourIndex).concat(ranges), ourIndex),\n {origin: \"*mouse\", scroll: false});\n cm.scrollIntoView(pos);\n } else {\n var oldRange = ourRange;\n var range$$1 = rangeForUnit(cm, pos, behavior.unit);\n var anchor = oldRange.anchor, head;\n if (cmp(range$$1.anchor, anchor) > 0) {\n head = range$$1.head;\n anchor = minPos(oldRange.from(), range$$1.anchor);\n } else {\n head = range$$1.anchor;\n anchor = maxPos(oldRange.to(), range$$1.head);\n }\n var ranges$1 = startSel.ranges.slice(0);\n ranges$1[ourIndex] = bidiSimplify(cm, new Range(clipPos(doc, anchor), head));\n setSelection(doc, normalizeSelection(cm, ranges$1, ourIndex), sel_mouse);\n }\n }\n\n var editorSize = display.wrapper.getBoundingClientRect();\n // Used to ensure timeout re-tries don't fire when another extend\n // happened in the meantime (clearTimeout isn't reliable -- at\n // least on Chrome, the timeouts still happen even when cleared,\n // if the clear happens after their scheduled firing time).\n var counter = 0;\n\n function extend(e) {\n var curCount = ++counter;\n var cur = posFromMouse(cm, e, true, behavior.unit == \"rectangle\");\n if (!cur) { return }\n if (cmp(cur, lastPos) != 0) {\n cm.curOp.focus = activeElt();\n extendTo(cur);\n var visible = visibleLines(display, doc);\n if (cur.line >= visible.to || cur.line < visible.from)\n { setTimeout(operation(cm, function () {if (counter == curCount) { extend(e); }}), 150); }\n } else {\n var outside = e.clientY < editorSize.top ? -20 : e.clientY > editorSize.bottom ? 20 : 0;\n if (outside) { setTimeout(operation(cm, function () {\n if (counter != curCount) { return }\n display.scroller.scrollTop += outside;\n extend(e);\n }), 50); }\n }\n }\n\n function done(e) {\n cm.state.selectingText = false;\n counter = Infinity;\n // If e is null or undefined we interpret this as someone trying\n // to explicitly cancel the selection rather than the user\n // letting go of the mouse button.\n if (e) {\n e_preventDefault(e);\n display.input.focus();\n }\n off(display.wrapper.ownerDocument, \"mousemove\", move);\n off(display.wrapper.ownerDocument, \"mouseup\", up);\n doc.history.lastSelOrigin = null;\n }\n\n var move = operation(cm, function (e) {\n if (e.buttons === 0 || !e_button(e)) { done(e); }\n else { extend(e); }\n });\n var up = operation(cm, done);\n cm.state.selectingText = up;\n on(display.wrapper.ownerDocument, \"mousemove\", move);\n on(display.wrapper.ownerDocument, \"mouseup\", up);\n }\n\n // Used when mouse-selecting to adjust the anchor to the proper side\n // of a bidi jump depending on the visual position of the head.\n function bidiSimplify(cm, range$$1) {\n var anchor = range$$1.anchor;\n var head = range$$1.head;\n var anchorLine = getLine(cm.doc, anchor.line);\n if (cmp(anchor, head) == 0 && anchor.sticky == head.sticky) { return range$$1 }\n var order = getOrder(anchorLine);\n if (!order) { return range$$1 }\n var index = getBidiPartAt(order, anchor.ch, anchor.sticky), part = order[index];\n if (part.from != anchor.ch && part.to != anchor.ch) { return range$$1 }\n var boundary = index + ((part.from == anchor.ch) == (part.level != 1) ? 0 : 1);\n if (boundary == 0 || boundary == order.length) { return range$$1 }\n\n // Compute the relative visual position of the head compared to the\n // anchor (<0 is to the left, >0 to the right)\n var leftSide;\n if (head.line != anchor.line) {\n leftSide = (head.line - anchor.line) * (cm.doc.direction == \"ltr\" ? 1 : -1) > 0;\n } else {\n var headIndex = getBidiPartAt(order, head.ch, head.sticky);\n var dir = headIndex - index || (head.ch - anchor.ch) * (part.level == 1 ? -1 : 1);\n if (headIndex == boundary - 1 || headIndex == boundary)\n { leftSide = dir < 0; }\n else\n { leftSide = dir > 0; }\n }\n\n var usePart = order[boundary + (leftSide ? -1 : 0)];\n var from = leftSide == (usePart.level == 1);\n var ch = from ? usePart.from : usePart.to, sticky = from ? \"after\" : \"before\";\n return anchor.ch == ch && anchor.sticky == sticky ? range$$1 : new Range(new Pos(anchor.line, ch, sticky), head)\n }\n\n\n // Determines whether an event happened in the gutter, and fires the\n // handlers for the corresponding event.\n function gutterEvent(cm, e, type, prevent) {\n var mX, mY;\n if (e.touches) {\n mX = e.touches[0].clientX;\n mY = e.touches[0].clientY;\n } else {\n try { mX = e.clientX; mY = e.clientY; }\n catch(e) { return false }\n }\n if (mX >= Math.floor(cm.display.gutters.getBoundingClientRect().right)) { return false }\n if (prevent) { e_preventDefault(e); }\n\n var display = cm.display;\n var lineBox = display.lineDiv.getBoundingClientRect();\n\n if (mY > lineBox.bottom || !hasHandler(cm, type)) { return e_defaultPrevented(e) }\n mY -= lineBox.top - display.viewOffset;\n\n for (var i = 0; i < cm.display.gutterSpecs.length; ++i) {\n var g = display.gutters.childNodes[i];\n if (g && g.getBoundingClientRect().right >= mX) {\n var line = lineAtHeight(cm.doc, mY);\n var gutter = cm.display.gutterSpecs[i];\n signal(cm, type, cm, line, gutter.className, e);\n return e_defaultPrevented(e)\n }\n }\n }\n\n function clickInGutter(cm, e) {\n return gutterEvent(cm, e, \"gutterClick\", true)\n }\n\n // CONTEXT MENU HANDLING\n\n // To make the context menu work, we need to briefly unhide the\n // textarea (making it as unobtrusive as possible) to let the\n // right-click take effect on it.\n function onContextMenu(cm, e) {\n if (eventInWidget(cm.display, e) || contextMenuInGutter(cm, e)) { return }\n if (signalDOMEvent(cm, e, \"contextmenu\")) { return }\n if (!captureRightClick) { cm.display.input.onContextMenu(e); }\n }\n\n function contextMenuInGutter(cm, e) {\n if (!hasHandler(cm, \"gutterContextMenu\")) { return false }\n return gutterEvent(cm, e, \"gutterContextMenu\", false)\n }\n\n function themeChanged(cm) {\n cm.display.wrapper.className = cm.display.wrapper.className.replace(/\\s*cm-s-\\S+/g, \"\") +\n cm.options.theme.replace(/(^|\\s)\\s*/g, \" cm-s-\");\n clearCaches(cm);\n }\n\n var Init = {toString: function(){return \"CodeMirror.Init\"}};\n\n var defaults = {};\n var optionHandlers = {};\n\n function defineOptions(CodeMirror) {\n var optionHandlers = CodeMirror.optionHandlers;\n\n function option(name, deflt, handle, notOnInit) {\n CodeMirror.defaults[name] = deflt;\n if (handle) { optionHandlers[name] =\n notOnInit ? function (cm, val, old) {if (old != Init) { handle(cm, val, old); }} : handle; }\n }\n\n CodeMirror.defineOption = option;\n\n // Passed to option handlers when there is no old value.\n CodeMirror.Init = Init;\n\n // These two are, on init, called from the constructor because they\n // have to be initialized before the editor can start at all.\n option(\"value\", \"\", function (cm, val) { return cm.setValue(val); }, true);\n option(\"mode\", null, function (cm, val) {\n cm.doc.modeOption = val;\n loadMode(cm);\n }, true);\n\n option(\"indentUnit\", 2, loadMode, true);\n option(\"indentWithTabs\", false);\n option(\"smartIndent\", true);\n option(\"tabSize\", 4, function (cm) {\n resetModeState(cm);\n clearCaches(cm);\n regChange(cm);\n }, true);\n\n option(\"lineSeparator\", null, function (cm, val) {\n cm.doc.lineSep = val;\n if (!val) { return }\n var newBreaks = [], lineNo = cm.doc.first;\n cm.doc.iter(function (line) {\n for (var pos = 0;;) {\n var found = line.text.indexOf(val, pos);\n if (found == -1) { break }\n pos = found + val.length;\n newBreaks.push(Pos(lineNo, found));\n }\n lineNo++;\n });\n for (var i = newBreaks.length - 1; i >= 0; i--)\n { replaceRange(cm.doc, val, newBreaks[i], Pos(newBreaks[i].line, newBreaks[i].ch + val.length)); }\n });\n option(\"specialChars\", /[\\u0000-\\u001f\\u007f-\\u009f\\u00ad\\u061c\\u200b-\\u200f\\u2028\\u2029\\ufeff\\ufff9-\\ufffc]/g, function (cm, val, old) {\n cm.state.specialChars = new RegExp(val.source + (val.test(\"\\t\") ? \"\" : \"|\\t\"), \"g\");\n if (old != Init) { cm.refresh(); }\n });\n option(\"specialCharPlaceholder\", defaultSpecialCharPlaceholder, function (cm) { return cm.refresh(); }, true);\n option(\"electricChars\", true);\n option(\"inputStyle\", mobile ? \"contenteditable\" : \"textarea\", function () {\n throw new Error(\"inputStyle can not (yet) be changed in a running editor\") // FIXME\n }, true);\n option(\"spellcheck\", false, function (cm, val) { return cm.getInputField().spellcheck = val; }, true);\n option(\"autocorrect\", false, function (cm, val) { return cm.getInputField().autocorrect = val; }, true);\n option(\"autocapitalize\", false, function (cm, val) { return cm.getInputField().autocapitalize = val; }, true);\n option(\"rtlMoveVisually\", !windows);\n option(\"wholeLineUpdateBefore\", true);\n\n option(\"theme\", \"default\", function (cm) {\n themeChanged(cm);\n updateGutters(cm);\n }, true);\n option(\"keyMap\", \"default\", function (cm, val, old) {\n var next = getKeyMap(val);\n var prev = old != Init && getKeyMap(old);\n if (prev && prev.detach) { prev.detach(cm, next); }\n if (next.attach) { next.attach(cm, prev || null); }\n });\n option(\"extraKeys\", null);\n option(\"configureMouse\", null);\n\n option(\"lineWrapping\", false, wrappingChanged, true);\n option(\"gutters\", [], function (cm, val) {\n cm.display.gutterSpecs = getGutters(val, cm.options.lineNumbers);\n updateGutters(cm);\n }, true);\n option(\"fixedGutter\", true, function (cm, val) {\n cm.display.gutters.style.left = val ? compensateForHScroll(cm.display) + \"px\" : \"0\";\n cm.refresh();\n }, true);\n option(\"coverGutterNextToScrollbar\", false, function (cm) { return updateScrollbars(cm); }, true);\n option(\"scrollbarStyle\", \"native\", function (cm) {\n initScrollbars(cm);\n updateScrollbars(cm);\n cm.display.scrollbars.setScrollTop(cm.doc.scrollTop);\n cm.display.scrollbars.setScrollLeft(cm.doc.scrollLeft);\n }, true);\n option(\"lineNumbers\", false, function (cm, val) {\n cm.display.gutterSpecs = getGutters(cm.options.gutters, val);\n updateGutters(cm);\n }, true);\n option(\"firstLineNumber\", 1, updateGutters, true);\n option(\"lineNumberFormatter\", function (integer) { return integer; }, updateGutters, true);\n option(\"showCursorWhenSelecting\", false, updateSelection, true);\n\n option(\"resetSelectionOnContextMenu\", true);\n option(\"lineWiseCopyCut\", true);\n option(\"pasteLinesPerSelection\", true);\n option(\"selectionsMayTouch\", false);\n\n option(\"readOnly\", false, function (cm, val) {\n if (val == \"nocursor\") {\n onBlur(cm);\n cm.display.input.blur();\n }\n cm.display.input.readOnlyChanged(val);\n });\n option(\"disableInput\", false, function (cm, val) {if (!val) { cm.display.input.reset(); }}, true);\n option(\"dragDrop\", true, dragDropChanged);\n option(\"allowDropFileTypes\", null);\n\n option(\"cursorBlinkRate\", 530);\n option(\"cursorScrollMargin\", 0);\n option(\"cursorHeight\", 1, updateSelection, true);\n option(\"singleCursorHeightPerLine\", true, updateSelection, true);\n option(\"workTime\", 100);\n option(\"workDelay\", 100);\n option(\"flattenSpans\", true, resetModeState, true);\n option(\"addModeClass\", false, resetModeState, true);\n option(\"pollInterval\", 100);\n option(\"undoDepth\", 200, function (cm, val) { return cm.doc.history.undoDepth = val; });\n option(\"historyEventDelay\", 1250);\n option(\"viewportMargin\", 10, function (cm) { return cm.refresh(); }, true);\n option(\"maxHighlightLength\", 10000, resetModeState, true);\n option(\"moveInputWithCursor\", true, function (cm, val) {\n if (!val) { cm.display.input.resetPosition(); }\n });\n\n option(\"tabindex\", null, function (cm, val) { return cm.display.input.getField().tabIndex = val || \"\"; });\n option(\"autofocus\", null);\n option(\"direction\", \"ltr\", function (cm, val) { return cm.doc.setDirection(val); }, true);\n option(\"phrases\", null);\n }\n\n function dragDropChanged(cm, value, old) {\n var wasOn = old && old != Init;\n if (!value != !wasOn) {\n var funcs = cm.display.dragFunctions;\n var toggle = value ? on : off;\n toggle(cm.display.scroller, \"dragstart\", funcs.start);\n toggle(cm.display.scroller, \"dragenter\", funcs.enter);\n toggle(cm.display.scroller, \"dragover\", funcs.over);\n toggle(cm.display.scroller, \"dragleave\", funcs.leave);\n toggle(cm.display.scroller, \"drop\", funcs.drop);\n }\n }\n\n function wrappingChanged(cm) {\n if (cm.options.lineWrapping) {\n addClass(cm.display.wrapper, \"CodeMirror-wrap\");\n cm.display.sizer.style.minWidth = \"\";\n cm.display.sizerWidth = null;\n } else {\n rmClass(cm.display.wrapper, \"CodeMirror-wrap\");\n findMaxLine(cm);\n }\n estimateLineHeights(cm);\n regChange(cm);\n clearCaches(cm);\n setTimeout(function () { return updateScrollbars(cm); }, 100);\n }\n\n // A CodeMirror instance represents an editor. This is the object\n // that user code is usually dealing with.\n\n function CodeMirror(place, options) {\n var this$1 = this;\n\n if (!(this instanceof CodeMirror)) { return new CodeMirror(place, options) }\n\n this.options = options = options ? copyObj(options) : {};\n // Determine effective options based on given values and defaults.\n copyObj(defaults, options, false);\n\n var doc = options.value;\n if (typeof doc == \"string\") { doc = new Doc(doc, options.mode, null, options.lineSeparator, options.direction); }\n else if (options.mode) { doc.modeOption = options.mode; }\n this.doc = doc;\n\n var input = new CodeMirror.inputStyles[options.inputStyle](this);\n var display = this.display = new Display(place, doc, input, options);\n display.wrapper.CodeMirror = this;\n themeChanged(this);\n if (options.lineWrapping)\n { this.display.wrapper.className += \" CodeMirror-wrap\"; }\n initScrollbars(this);\n\n this.state = {\n keyMaps: [], // stores maps added by addKeyMap\n overlays: [], // highlighting overlays, as added by addOverlay\n modeGen: 0, // bumped when mode/overlay changes, used to invalidate highlighting info\n overwrite: false,\n delayingBlurEvent: false,\n focused: false,\n suppressEdits: false, // used to disable editing during key handlers when in readOnly mode\n pasteIncoming: -1, cutIncoming: -1, // help recognize paste/cut edits in input.poll\n selectingText: false,\n draggingText: false,\n highlight: new Delayed(), // stores highlight worker timeout\n keySeq: null, // Unfinished key sequence\n specialChars: null\n };\n\n if (options.autofocus && !mobile) { display.input.focus(); }\n\n // Override magic textarea content restore that IE sometimes does\n // on our hidden textarea on reload\n if (ie && ie_version < 11) { setTimeout(function () { return this$1.display.input.reset(true); }, 20); }\n\n registerEventHandlers(this);\n ensureGlobalHandlers();\n\n startOperation(this);\n this.curOp.forceUpdate = true;\n attachDoc(this, doc);\n\n if ((options.autofocus && !mobile) || this.hasFocus())\n { setTimeout(bind(onFocus, this), 20); }\n else\n { onBlur(this); }\n\n for (var opt in optionHandlers) { if (optionHandlers.hasOwnProperty(opt))\n { optionHandlers[opt](this$1, options[opt], Init); } }\n maybeUpdateLineNumberWidth(this);\n if (options.finishInit) { options.finishInit(this); }\n for (var i = 0; i < initHooks.length; ++i) { initHooks[i](this$1); }\n endOperation(this);\n // Suppress optimizelegibility in Webkit, since it breaks text\n // measuring on line wrapping boundaries.\n if (webkit && options.lineWrapping &&\n getComputedStyle(display.lineDiv).textRendering == \"optimizelegibility\")\n { display.lineDiv.style.textRendering = \"auto\"; }\n }\n\n // The default configuration options.\n CodeMirror.defaults = defaults;\n // Functions to run when options are changed.\n CodeMirror.optionHandlers = optionHandlers;\n\n // Attach the necessary event handlers when initializing the editor\n function registerEventHandlers(cm) {\n var d = cm.display;\n on(d.scroller, \"mousedown\", operation(cm, onMouseDown));\n // Older IE's will not fire a second mousedown for a double click\n if (ie && ie_version < 11)\n { on(d.scroller, \"dblclick\", operation(cm, function (e) {\n if (signalDOMEvent(cm, e)) { return }\n var pos = posFromMouse(cm, e);\n if (!pos || clickInGutter(cm, e) || eventInWidget(cm.display, e)) { return }\n e_preventDefault(e);\n var word = cm.findWordAt(pos);\n extendSelection(cm.doc, word.anchor, word.head);\n })); }\n else\n { on(d.scroller, \"dblclick\", function (e) { return signalDOMEvent(cm, e) || e_preventDefault(e); }); }\n // Some browsers fire contextmenu *after* opening the menu, at\n // which point we can't mess with it anymore. Context menu is\n // handled in onMouseDown for these browsers.\n on(d.scroller, \"contextmenu\", function (e) { return onContextMenu(cm, e); });\n\n // Used to suppress mouse event handling when a touch happens\n var touchFinished, prevTouch = {end: 0};\n function finishTouch() {\n if (d.activeTouch) {\n touchFinished = setTimeout(function () { return d.activeTouch = null; }, 1000);\n prevTouch = d.activeTouch;\n prevTouch.end = +new Date;\n }\n }\n function isMouseLikeTouchEvent(e) {\n if (e.touches.length != 1) { return false }\n var touch = e.touches[0];\n return touch.radiusX <= 1 && touch.radiusY <= 1\n }\n function farAway(touch, other) {\n if (other.left == null) { return true }\n var dx = other.left - touch.left, dy = other.top - touch.top;\n return dx * dx + dy * dy > 20 * 20\n }\n on(d.scroller, \"touchstart\", function (e) {\n if (!signalDOMEvent(cm, e) && !isMouseLikeTouchEvent(e) && !clickInGutter(cm, e)) {\n d.input.ensurePolled();\n clearTimeout(touchFinished);\n var now = +new Date;\n d.activeTouch = {start: now, moved: false,\n prev: now - prevTouch.end <= 300 ? prevTouch : null};\n if (e.touches.length == 1) {\n d.activeTouch.left = e.touches[0].pageX;\n d.activeTouch.top = e.touches[0].pageY;\n }\n }\n });\n on(d.scroller, \"touchmove\", function () {\n if (d.activeTouch) { d.activeTouch.moved = true; }\n });\n on(d.scroller, \"touchend\", function (e) {\n var touch = d.activeTouch;\n if (touch && !eventInWidget(d, e) && touch.left != null &&\n !touch.moved && new Date - touch.start < 300) {\n var pos = cm.coordsChar(d.activeTouch, \"page\"), range;\n if (!touch.prev || farAway(touch, touch.prev)) // Single tap\n { range = new Range(pos, pos); }\n else if (!touch.prev.prev || farAway(touch, touch.prev.prev)) // Double tap\n { range = cm.findWordAt(pos); }\n else // Triple tap\n { range = new Range(Pos(pos.line, 0), clipPos(cm.doc, Pos(pos.line + 1, 0))); }\n cm.setSelection(range.anchor, range.head);\n cm.focus();\n e_preventDefault(e);\n }\n finishTouch();\n });\n on(d.scroller, \"touchcancel\", finishTouch);\n\n // Sync scrolling between fake scrollbars and real scrollable\n // area, ensure viewport is updated when scrolling.\n on(d.scroller, \"scroll\", function () {\n if (d.scroller.clientHeight) {\n updateScrollTop(cm, d.scroller.scrollTop);\n setScrollLeft(cm, d.scroller.scrollLeft, true);\n signal(cm, \"scroll\", cm);\n }\n });\n\n // Listen to wheel events in order to try and update the viewport on time.\n on(d.scroller, \"mousewheel\", function (e) { return onScrollWheel(cm, e); });\n on(d.scroller, \"DOMMouseScroll\", function (e) { return onScrollWheel(cm, e); });\n\n // Prevent wrapper from ever scrolling\n on(d.wrapper, \"scroll\", function () { return d.wrapper.scrollTop = d.wrapper.scrollLeft = 0; });\n\n d.dragFunctions = {\n enter: function (e) {if (!signalDOMEvent(cm, e)) { e_stop(e); }},\n over: function (e) {if (!signalDOMEvent(cm, e)) { onDragOver(cm, e); e_stop(e); }},\n start: function (e) { return onDragStart(cm, e); },\n drop: operation(cm, onDrop),\n leave: function (e) {if (!signalDOMEvent(cm, e)) { clearDragCursor(cm); }}\n };\n\n var inp = d.input.getField();\n on(inp, \"keyup\", function (e) { return onKeyUp.call(cm, e); });\n on(inp, \"keydown\", operation(cm, onKeyDown));\n on(inp, \"keypress\", operation(cm, onKeyPress));\n on(inp, \"focus\", function (e) { return onFocus(cm, e); });\n on(inp, \"blur\", function (e) { return onBlur(cm, e); });\n }\n\n var initHooks = [];\n CodeMirror.defineInitHook = function (f) { return initHooks.push(f); };\n\n // Indent the given line. The how parameter can be \"smart\",\n // \"add\"/null, \"subtract\", or \"prev\". When aggressive is false\n // (typically set to true for forced single-line indents), empty\n // lines are not indented, and places where the mode returns Pass\n // are left alone.\n function indentLine(cm, n, how, aggressive) {\n var doc = cm.doc, state;\n if (how == null) { how = \"add\"; }\n if (how == \"smart\") {\n // Fall back to \"prev\" when the mode doesn't have an indentation\n // method.\n if (!doc.mode.indent) { how = \"prev\"; }\n else { state = getContextBefore(cm, n).state; }\n }\n\n var tabSize = cm.options.tabSize;\n var line = getLine(doc, n), curSpace = countColumn(line.text, null, tabSize);\n if (line.stateAfter) { line.stateAfter = null; }\n var curSpaceString = line.text.match(/^\\s*/)[0], indentation;\n if (!aggressive && !/\\S/.test(line.text)) {\n indentation = 0;\n how = \"not\";\n } else if (how == \"smart\") {\n indentation = doc.mode.indent(state, line.text.slice(curSpaceString.length), line.text);\n if (indentation == Pass || indentation > 150) {\n if (!aggressive) { return }\n how = \"prev\";\n }\n }\n if (how == \"prev\") {\n if (n > doc.first) { indentation = countColumn(getLine(doc, n-1).text, null, tabSize); }\n else { indentation = 0; }\n } else if (how == \"add\") {\n indentation = curSpace + cm.options.indentUnit;\n } else if (how == \"subtract\") {\n indentation = curSpace - cm.options.indentUnit;\n } else if (typeof how == \"number\") {\n indentation = curSpace + how;\n }\n indentation = Math.max(0, indentation);\n\n var indentString = \"\", pos = 0;\n if (cm.options.indentWithTabs)\n { for (var i = Math.floor(indentation / tabSize); i; --i) {pos += tabSize; indentString += \"\\t\";} }\n if (pos < indentation) { indentString += spaceStr(indentation - pos); }\n\n if (indentString != curSpaceString) {\n replaceRange(doc, indentString, Pos(n, 0), Pos(n, curSpaceString.length), \"+input\");\n line.stateAfter = null;\n return true\n } else {\n // Ensure that, if the cursor was in the whitespace at the start\n // of the line, it is moved to the end of that space.\n for (var i$1 = 0; i$1 < doc.sel.ranges.length; i$1++) {\n var range = doc.sel.ranges[i$1];\n if (range.head.line == n && range.head.ch < curSpaceString.length) {\n var pos$1 = Pos(n, curSpaceString.length);\n replaceOneSelection(doc, i$1, new Range(pos$1, pos$1));\n break\n }\n }\n }\n }\n\n // This will be set to a {lineWise: bool, text: [string]} object, so\n // that, when pasting, we know what kind of selections the copied\n // text was made out of.\n var lastCopied = null;\n\n function setLastCopied(newLastCopied) {\n lastCopied = newLastCopied;\n }\n\n function applyTextInput(cm, inserted, deleted, sel, origin) {\n var doc = cm.doc;\n cm.display.shift = false;\n if (!sel) { sel = doc.sel; }\n\n var recent = +new Date - 200;\n var paste = origin == \"paste\" || cm.state.pasteIncoming > recent;\n var textLines = splitLinesAuto(inserted), multiPaste = null;\n // When pasting N lines into N selections, insert one line per selection\n if (paste && sel.ranges.length > 1) {\n if (lastCopied && lastCopied.text.join(\"\\n\") == inserted) {\n if (sel.ranges.length % lastCopied.text.length == 0) {\n multiPaste = [];\n for (var i = 0; i < lastCopied.text.length; i++)\n { multiPaste.push(doc.splitLines(lastCopied.text[i])); }\n }\n } else if (textLines.length == sel.ranges.length && cm.options.pasteLinesPerSelection) {\n multiPaste = map(textLines, function (l) { return [l]; });\n }\n }\n\n var updateInput = cm.curOp.updateInput;\n // Normal behavior is to insert the new text into every selection\n for (var i$1 = sel.ranges.length - 1; i$1 >= 0; i$1--) {\n var range$$1 = sel.ranges[i$1];\n var from = range$$1.from(), to = range$$1.to();\n if (range$$1.empty()) {\n if (deleted && deleted > 0) // Handle deletion\n { from = Pos(from.line, from.ch - deleted); }\n else if (cm.state.overwrite && !paste) // Handle overwrite\n { to = Pos(to.line, Math.min(getLine(doc, to.line).text.length, to.ch + lst(textLines).length)); }\n else if (paste && lastCopied && lastCopied.lineWise && lastCopied.text.join(\"\\n\") == inserted)\n { from = to = Pos(from.line, 0); }\n }\n var changeEvent = {from: from, to: to, text: multiPaste ? multiPaste[i$1 % multiPaste.length] : textLines,\n origin: origin || (paste ? \"paste\" : cm.state.cutIncoming > recent ? \"cut\" : \"+input\")};\n makeChange(cm.doc, changeEvent);\n signalLater(cm, \"inputRead\", cm, changeEvent);\n }\n if (inserted && !paste)\n { triggerElectric(cm, inserted); }\n\n ensureCursorVisible(cm);\n if (cm.curOp.updateInput < 2) { cm.curOp.updateInput = updateInput; }\n cm.curOp.typing = true;\n cm.state.pasteIncoming = cm.state.cutIncoming = -1;\n }\n\n function handlePaste(e, cm) {\n var pasted = e.clipboardData && e.clipboardData.getData(\"Text\");\n if (pasted) {\n e.preventDefault();\n if (!cm.isReadOnly() && !cm.options.disableInput)\n { runInOp(cm, function () { return applyTextInput(cm, pasted, 0, null, \"paste\"); }); }\n return true\n }\n }\n\n function triggerElectric(cm, inserted) {\n // When an 'electric' character is inserted, immediately trigger a reindent\n if (!cm.options.electricChars || !cm.options.smartIndent) { return }\n var sel = cm.doc.sel;\n\n for (var i = sel.ranges.length - 1; i >= 0; i--) {\n var range$$1 = sel.ranges[i];\n if (range$$1.head.ch > 100 || (i && sel.ranges[i - 1].head.line == range$$1.head.line)) { continue }\n var mode = cm.getModeAt(range$$1.head);\n var indented = false;\n if (mode.electricChars) {\n for (var j = 0; j < mode.electricChars.length; j++)\n { if (inserted.indexOf(mode.electricChars.charAt(j)) > -1) {\n indented = indentLine(cm, range$$1.head.line, \"smart\");\n break\n } }\n } else if (mode.electricInput) {\n if (mode.electricInput.test(getLine(cm.doc, range$$1.head.line).text.slice(0, range$$1.head.ch)))\n { indented = indentLine(cm, range$$1.head.line, \"smart\"); }\n }\n if (indented) { signalLater(cm, \"electricInput\", cm, range$$1.head.line); }\n }\n }\n\n function copyableRanges(cm) {\n var text = [], ranges = [];\n for (var i = 0; i < cm.doc.sel.ranges.length; i++) {\n var line = cm.doc.sel.ranges[i].head.line;\n var lineRange = {anchor: Pos(line, 0), head: Pos(line + 1, 0)};\n ranges.push(lineRange);\n text.push(cm.getRange(lineRange.anchor, lineRange.head));\n }\n return {text: text, ranges: ranges}\n }\n\n function disableBrowserMagic(field, spellcheck, autocorrect, autocapitalize) {\n field.setAttribute(\"autocorrect\", autocorrect ? \"\" : \"off\");\n field.setAttribute(\"autocapitalize\", autocapitalize ? \"\" : \"off\");\n field.setAttribute(\"spellcheck\", !!spellcheck);\n }\n\n function hiddenTextarea() {\n var te = elt(\"textarea\", null, null, \"position: absolute; bottom: -1em; padding: 0; width: 1px; height: 1em; outline: none\");\n var div = elt(\"div\", [te], null, \"overflow: hidden; position: relative; width: 3px; height: 0px;\");\n // The textarea is kept positioned near the cursor to prevent the\n // fact that it'll be scrolled into view on input from scrolling\n // our fake cursor out of view. On webkit, when wrap=off, paste is\n // very slow. So make the area wide instead.\n if (webkit) { te.style.width = \"1000px\"; }\n else { te.setAttribute(\"wrap\", \"off\"); }\n // If border: 0; -- iOS fails to open keyboard (issue #1287)\n if (ios) { te.style.border = \"1px solid black\"; }\n disableBrowserMagic(te);\n return div\n }\n\n // The publicly visible API. Note that methodOp(f) means\n // 'wrap f in an operation, performed on its `this` parameter'.\n\n // This is not the complete set of editor methods. Most of the\n // methods defined on the Doc type are also injected into\n // CodeMirror.prototype, for backwards compatibility and\n // convenience.\n\n function addEditorMethods(CodeMirror) {\n var optionHandlers = CodeMirror.optionHandlers;\n\n var helpers = CodeMirror.helpers = {};\n\n CodeMirror.prototype = {\n constructor: CodeMirror,\n focus: function(){window.focus(); this.display.input.focus();},\n\n setOption: function(option, value) {\n var options = this.options, old = options[option];\n if (options[option] == value && option != \"mode\") { return }\n options[option] = value;\n if (optionHandlers.hasOwnProperty(option))\n { operation(this, optionHandlers[option])(this, value, old); }\n signal(this, \"optionChange\", this, option);\n },\n\n getOption: function(option) {return this.options[option]},\n getDoc: function() {return this.doc},\n\n addKeyMap: function(map$$1, bottom) {\n this.state.keyMaps[bottom ? \"push\" : \"unshift\"](getKeyMap(map$$1));\n },\n removeKeyMap: function(map$$1) {\n var maps = this.state.keyMaps;\n for (var i = 0; i < maps.length; ++i)\n { if (maps[i] == map$$1 || maps[i].name == map$$1) {\n maps.splice(i, 1);\n return true\n } }\n },\n\n addOverlay: methodOp(function(spec, options) {\n var mode = spec.token ? spec : CodeMirror.getMode(this.options, spec);\n if (mode.startState) { throw new Error(\"Overlays may not be stateful.\") }\n insertSorted(this.state.overlays,\n {mode: mode, modeSpec: spec, opaque: options && options.opaque,\n priority: (options && options.priority) || 0},\n function (overlay) { return overlay.priority; });\n this.state.modeGen++;\n regChange(this);\n }),\n removeOverlay: methodOp(function(spec) {\n var this$1 = this;\n\n var overlays = this.state.overlays;\n for (var i = 0; i < overlays.length; ++i) {\n var cur = overlays[i].modeSpec;\n if (cur == spec || typeof spec == \"string\" && cur.name == spec) {\n overlays.splice(i, 1);\n this$1.state.modeGen++;\n regChange(this$1);\n return\n }\n }\n }),\n\n indentLine: methodOp(function(n, dir, aggressive) {\n if (typeof dir != \"string\" && typeof dir != \"number\") {\n if (dir == null) { dir = this.options.smartIndent ? \"smart\" : \"prev\"; }\n else { dir = dir ? \"add\" : \"subtract\"; }\n }\n if (isLine(this.doc, n)) { indentLine(this, n, dir, aggressive); }\n }),\n indentSelection: methodOp(function(how) {\n var this$1 = this;\n\n var ranges = this.doc.sel.ranges, end = -1;\n for (var i = 0; i < ranges.length; i++) {\n var range$$1 = ranges[i];\n if (!range$$1.empty()) {\n var from = range$$1.from(), to = range$$1.to();\n var start = Math.max(end, from.line);\n end = Math.min(this$1.lastLine(), to.line - (to.ch ? 0 : 1)) + 1;\n for (var j = start; j < end; ++j)\n { indentLine(this$1, j, how); }\n var newRanges = this$1.doc.sel.ranges;\n if (from.ch == 0 && ranges.length == newRanges.length && newRanges[i].from().ch > 0)\n { replaceOneSelection(this$1.doc, i, new Range(from, newRanges[i].to()), sel_dontScroll); }\n } else if (range$$1.head.line > end) {\n indentLine(this$1, range$$1.head.line, how, true);\n end = range$$1.head.line;\n if (i == this$1.doc.sel.primIndex) { ensureCursorVisible(this$1); }\n }\n }\n }),\n\n // Fetch the parser token for a given character. Useful for hacks\n // that want to inspect the mode state (say, for completion).\n getTokenAt: function(pos, precise) {\n return takeToken(this, pos, precise)\n },\n\n getLineTokens: function(line, precise) {\n return takeToken(this, Pos(line), precise, true)\n },\n\n getTokenTypeAt: function(pos) {\n pos = clipPos(this.doc, pos);\n var styles = getLineStyles(this, getLine(this.doc, pos.line));\n var before = 0, after = (styles.length - 1) / 2, ch = pos.ch;\n var type;\n if (ch == 0) { type = styles[2]; }\n else { for (;;) {\n var mid = (before + after) >> 1;\n if ((mid ? styles[mid * 2 - 1] : 0) >= ch) { after = mid; }\n else if (styles[mid * 2 + 1] < ch) { before = mid + 1; }\n else { type = styles[mid * 2 + 2]; break }\n } }\n var cut = type ? type.indexOf(\"overlay \") : -1;\n return cut < 0 ? type : cut == 0 ? null : type.slice(0, cut - 1)\n },\n\n getModeAt: function(pos) {\n var mode = this.doc.mode;\n if (!mode.innerMode) { return mode }\n return CodeMirror.innerMode(mode, this.getTokenAt(pos).state).mode\n },\n\n getHelper: function(pos, type) {\n return this.getHelpers(pos, type)[0]\n },\n\n getHelpers: function(pos, type) {\n var this$1 = this;\n\n var found = [];\n if (!helpers.hasOwnProperty(type)) { return found }\n var help = helpers[type], mode = this.getModeAt(pos);\n if (typeof mode[type] == \"string\") {\n if (help[mode[type]]) { found.push(help[mode[type]]); }\n } else if (mode[type]) {\n for (var i = 0; i < mode[type].length; i++) {\n var val = help[mode[type][i]];\n if (val) { found.push(val); }\n }\n } else if (mode.helperType && help[mode.helperType]) {\n found.push(help[mode.helperType]);\n } else if (help[mode.name]) {\n found.push(help[mode.name]);\n }\n for (var i$1 = 0; i$1 < help._global.length; i$1++) {\n var cur = help._global[i$1];\n if (cur.pred(mode, this$1) && indexOf(found, cur.val) == -1)\n { found.push(cur.val); }\n }\n return found\n },\n\n getStateAfter: function(line, precise) {\n var doc = this.doc;\n line = clipLine(doc, line == null ? doc.first + doc.size - 1: line);\n return getContextBefore(this, line + 1, precise).state\n },\n\n cursorCoords: function(start, mode) {\n var pos, range$$1 = this.doc.sel.primary();\n if (start == null) { pos = range$$1.head; }\n else if (typeof start == \"object\") { pos = clipPos(this.doc, start); }\n else { pos = start ? range$$1.from() : range$$1.to(); }\n return cursorCoords(this, pos, mode || \"page\")\n },\n\n charCoords: function(pos, mode) {\n return charCoords(this, clipPos(this.doc, pos), mode || \"page\")\n },\n\n coordsChar: function(coords, mode) {\n coords = fromCoordSystem(this, coords, mode || \"page\");\n return coordsChar(this, coords.left, coords.top)\n },\n\n lineAtHeight: function(height, mode) {\n height = fromCoordSystem(this, {top: height, left: 0}, mode || \"page\").top;\n return lineAtHeight(this.doc, height + this.display.viewOffset)\n },\n heightAtLine: function(line, mode, includeWidgets) {\n var end = false, lineObj;\n if (typeof line == \"number\") {\n var last = this.doc.first + this.doc.size - 1;\n if (line < this.doc.first) { line = this.doc.first; }\n else if (line > last) { line = last; end = true; }\n lineObj = getLine(this.doc, line);\n } else {\n lineObj = line;\n }\n return intoCoordSystem(this, lineObj, {top: 0, left: 0}, mode || \"page\", includeWidgets || end).top +\n (end ? this.doc.height - heightAtLine(lineObj) : 0)\n },\n\n defaultTextHeight: function() { return textHeight(this.display) },\n defaultCharWidth: function() { return charWidth(this.display) },\n\n getViewport: function() { return {from: this.display.viewFrom, to: this.display.viewTo}},\n\n addWidget: function(pos, node, scroll, vert, horiz) {\n var display = this.display;\n pos = cursorCoords(this, clipPos(this.doc, pos));\n var top = pos.bottom, left = pos.left;\n node.style.position = \"absolute\";\n node.setAttribute(\"cm-ignore-events\", \"true\");\n this.display.input.setUneditable(node);\n display.sizer.appendChild(node);\n if (vert == \"over\") {\n top = pos.top;\n } else if (vert == \"above\" || vert == \"near\") {\n var vspace = Math.max(display.wrapper.clientHeight, this.doc.height),\n hspace = Math.max(display.sizer.clientWidth, display.lineSpace.clientWidth);\n // Default to positioning above (if specified and possible); otherwise default to positioning below\n if ((vert == 'above' || pos.bottom + node.offsetHeight > vspace) && pos.top > node.offsetHeight)\n { top = pos.top - node.offsetHeight; }\n else if (pos.bottom + node.offsetHeight <= vspace)\n { top = pos.bottom; }\n if (left + node.offsetWidth > hspace)\n { left = hspace - node.offsetWidth; }\n }\n node.style.top = top + \"px\";\n node.style.left = node.style.right = \"\";\n if (horiz == \"right\") {\n left = display.sizer.clientWidth - node.offsetWidth;\n node.style.right = \"0px\";\n } else {\n if (horiz == \"left\") { left = 0; }\n else if (horiz == \"middle\") { left = (display.sizer.clientWidth - node.offsetWidth) / 2; }\n node.style.left = left + \"px\";\n }\n if (scroll)\n { scrollIntoView(this, {left: left, top: top, right: left + node.offsetWidth, bottom: top + node.offsetHeight}); }\n },\n\n triggerOnKeyDown: methodOp(onKeyDown),\n triggerOnKeyPress: methodOp(onKeyPress),\n triggerOnKeyUp: onKeyUp,\n triggerOnMouseDown: methodOp(onMouseDown),\n\n execCommand: function(cmd) {\n if (commands.hasOwnProperty(cmd))\n { return commands[cmd].call(null, this) }\n },\n\n triggerElectric: methodOp(function(text) { triggerElectric(this, text); }),\n\n findPosH: function(from, amount, unit, visually) {\n var this$1 = this;\n\n var dir = 1;\n if (amount < 0) { dir = -1; amount = -amount; }\n var cur = clipPos(this.doc, from);\n for (var i = 0; i < amount; ++i) {\n cur = findPosH(this$1.doc, cur, dir, unit, visually);\n if (cur.hitSide) { break }\n }\n return cur\n },\n\n moveH: methodOp(function(dir, unit) {\n var this$1 = this;\n\n this.extendSelectionsBy(function (range$$1) {\n if (this$1.display.shift || this$1.doc.extend || range$$1.empty())\n { return findPosH(this$1.doc, range$$1.head, dir, unit, this$1.options.rtlMoveVisually) }\n else\n { return dir < 0 ? range$$1.from() : range$$1.to() }\n }, sel_move);\n }),\n\n deleteH: methodOp(function(dir, unit) {\n var sel = this.doc.sel, doc = this.doc;\n if (sel.somethingSelected())\n { doc.replaceSelection(\"\", null, \"+delete\"); }\n else\n { deleteNearSelection(this, function (range$$1) {\n var other = findPosH(doc, range$$1.head, dir, unit, false);\n return dir < 0 ? {from: other, to: range$$1.head} : {from: range$$1.head, to: other}\n }); }\n }),\n\n findPosV: function(from, amount, unit, goalColumn) {\n var this$1 = this;\n\n var dir = 1, x = goalColumn;\n if (amount < 0) { dir = -1; amount = -amount; }\n var cur = clipPos(this.doc, from);\n for (var i = 0; i < amount; ++i) {\n var coords = cursorCoords(this$1, cur, \"div\");\n if (x == null) { x = coords.left; }\n else { coords.left = x; }\n cur = findPosV(this$1, coords, dir, unit);\n if (cur.hitSide) { break }\n }\n return cur\n },\n\n moveV: methodOp(function(dir, unit) {\n var this$1 = this;\n\n var doc = this.doc, goals = [];\n var collapse = !this.display.shift && !doc.extend && doc.sel.somethingSelected();\n doc.extendSelectionsBy(function (range$$1) {\n if (collapse)\n { return dir < 0 ? range$$1.from() : range$$1.to() }\n var headPos = cursorCoords(this$1, range$$1.head, \"div\");\n if (range$$1.goalColumn != null) { headPos.left = range$$1.goalColumn; }\n goals.push(headPos.left);\n var pos = findPosV(this$1, headPos, dir, unit);\n if (unit == \"page\" && range$$1 == doc.sel.primary())\n { addToScrollTop(this$1, charCoords(this$1, pos, \"div\").top - headPos.top); }\n return pos\n }, sel_move);\n if (goals.length) { for (var i = 0; i < doc.sel.ranges.length; i++)\n { doc.sel.ranges[i].goalColumn = goals[i]; } }\n }),\n\n // Find the word at the given position (as returned by coordsChar).\n findWordAt: function(pos) {\n var doc = this.doc, line = getLine(doc, pos.line).text;\n var start = pos.ch, end = pos.ch;\n if (line) {\n var helper = this.getHelper(pos, \"wordChars\");\n if ((pos.sticky == \"before\" || end == line.length) && start) { --start; } else { ++end; }\n var startChar = line.charAt(start);\n var check = isWordChar(startChar, helper)\n ? function (ch) { return isWordChar(ch, helper); }\n : /\\s/.test(startChar) ? function (ch) { return /\\s/.test(ch); }\n : function (ch) { return (!/\\s/.test(ch) && !isWordChar(ch)); };\n while (start > 0 && check(line.charAt(start - 1))) { --start; }\n while (end < line.length && check(line.charAt(end))) { ++end; }\n }\n return new Range(Pos(pos.line, start), Pos(pos.line, end))\n },\n\n toggleOverwrite: function(value) {\n if (value != null && value == this.state.overwrite) { return }\n if (this.state.overwrite = !this.state.overwrite)\n { addClass(this.display.cursorDiv, \"CodeMirror-overwrite\"); }\n else\n { rmClass(this.display.cursorDiv, \"CodeMirror-overwrite\"); }\n\n signal(this, \"overwriteToggle\", this, this.state.overwrite);\n },\n hasFocus: function() { return this.display.input.getField() == activeElt() },\n isReadOnly: function() { return !!(this.options.readOnly || this.doc.cantEdit) },\n\n scrollTo: methodOp(function (x, y) { scrollToCoords(this, x, y); }),\n getScrollInfo: function() {\n var scroller = this.display.scroller;\n return {left: scroller.scrollLeft, top: scroller.scrollTop,\n height: scroller.scrollHeight - scrollGap(this) - this.display.barHeight,\n width: scroller.scrollWidth - scrollGap(this) - this.display.barWidth,\n clientHeight: displayHeight(this), clientWidth: displayWidth(this)}\n },\n\n scrollIntoView: methodOp(function(range$$1, margin) {\n if (range$$1 == null) {\n range$$1 = {from: this.doc.sel.primary().head, to: null};\n if (margin == null) { margin = this.options.cursorScrollMargin; }\n } else if (typeof range$$1 == \"number\") {\n range$$1 = {from: Pos(range$$1, 0), to: null};\n } else if (range$$1.from == null) {\n range$$1 = {from: range$$1, to: null};\n }\n if (!range$$1.to) { range$$1.to = range$$1.from; }\n range$$1.margin = margin || 0;\n\n if (range$$1.from.line != null) {\n scrollToRange(this, range$$1);\n } else {\n scrollToCoordsRange(this, range$$1.from, range$$1.to, range$$1.margin);\n }\n }),\n\n setSize: methodOp(function(width, height) {\n var this$1 = this;\n\n var interpret = function (val) { return typeof val == \"number\" || /^\\d+$/.test(String(val)) ? val + \"px\" : val; };\n if (width != null) { this.display.wrapper.style.width = interpret(width); }\n if (height != null) { this.display.wrapper.style.height = interpret(height); }\n if (this.options.lineWrapping) { clearLineMeasurementCache(this); }\n var lineNo$$1 = this.display.viewFrom;\n this.doc.iter(lineNo$$1, this.display.viewTo, function (line) {\n if (line.widgets) { for (var i = 0; i < line.widgets.length; i++)\n { if (line.widgets[i].noHScroll) { regLineChange(this$1, lineNo$$1, \"widget\"); break } } }\n ++lineNo$$1;\n });\n this.curOp.forceUpdate = true;\n signal(this, \"refresh\", this);\n }),\n\n operation: function(f){return runInOp(this, f)},\n startOperation: function(){return startOperation(this)},\n endOperation: function(){return endOperation(this)},\n\n refresh: methodOp(function() {\n var oldHeight = this.display.cachedTextHeight;\n regChange(this);\n this.curOp.forceUpdate = true;\n clearCaches(this);\n scrollToCoords(this, this.doc.scrollLeft, this.doc.scrollTop);\n updateGutterSpace(this.display);\n if (oldHeight == null || Math.abs(oldHeight - textHeight(this.display)) > .5)\n { estimateLineHeights(this); }\n signal(this, \"refresh\", this);\n }),\n\n swapDoc: methodOp(function(doc) {\n var old = this.doc;\n old.cm = null;\n // Cancel the current text selection if any (#5821)\n if (this.state.selectingText) { this.state.selectingText(); }\n attachDoc(this, doc);\n clearCaches(this);\n this.display.input.reset();\n scrollToCoords(this, doc.scrollLeft, doc.scrollTop);\n this.curOp.forceScroll = true;\n signalLater(this, \"swapDoc\", this, old);\n return old\n }),\n\n phrase: function(phraseText) {\n var phrases = this.options.phrases;\n return phrases && Object.prototype.hasOwnProperty.call(phrases, phraseText) ? phrases[phraseText] : phraseText\n },\n\n getInputField: function(){return this.display.input.getField()},\n getWrapperElement: function(){return this.display.wrapper},\n getScrollerElement: function(){return this.display.scroller},\n getGutterElement: function(){return this.display.gutters}\n };\n eventMixin(CodeMirror);\n\n CodeMirror.registerHelper = function(type, name, value) {\n if (!helpers.hasOwnProperty(type)) { helpers[type] = CodeMirror[type] = {_global: []}; }\n helpers[type][name] = value;\n };\n CodeMirror.registerGlobalHelper = function(type, name, predicate, value) {\n CodeMirror.registerHelper(type, name, value);\n helpers[type]._global.push({pred: predicate, val: value});\n };\n }\n\n // Used for horizontal relative motion. Dir is -1 or 1 (left or\n // right), unit can be \"char\", \"column\" (like char, but doesn't\n // cross line boundaries), \"word\" (across next word), or \"group\" (to\n // the start of next group of word or non-word-non-whitespace\n // chars). The visually param controls whether, in right-to-left\n // text, direction 1 means to move towards the next index in the\n // string, or towards the character to the right of the current\n // position. The resulting position will have a hitSide=true\n // property if it reached the end of the document.\n function findPosH(doc, pos, dir, unit, visually) {\n var oldPos = pos;\n var origDir = dir;\n var lineObj = getLine(doc, pos.line);\n function findNextLine() {\n var l = pos.line + dir;\n if (l < doc.first || l >= doc.first + doc.size) { return false }\n pos = new Pos(l, pos.ch, pos.sticky);\n return lineObj = getLine(doc, l)\n }\n function moveOnce(boundToLine) {\n var next;\n if (visually) {\n next = moveVisually(doc.cm, lineObj, pos, dir);\n } else {\n next = moveLogically(lineObj, pos, dir);\n }\n if (next == null) {\n if (!boundToLine && findNextLine())\n { pos = endOfLine(visually, doc.cm, lineObj, pos.line, dir); }\n else\n { return false }\n } else {\n pos = next;\n }\n return true\n }\n\n if (unit == \"char\") {\n moveOnce();\n } else if (unit == \"column\") {\n moveOnce(true);\n } else if (unit == \"word\" || unit == \"group\") {\n var sawType = null, group = unit == \"group\";\n var helper = doc.cm && doc.cm.getHelper(pos, \"wordChars\");\n for (var first = true;; first = false) {\n if (dir < 0 && !moveOnce(!first)) { break }\n var cur = lineObj.text.charAt(pos.ch) || \"\\n\";\n var type = isWordChar(cur, helper) ? \"w\"\n : group && cur == \"\\n\" ? \"n\"\n : !group || /\\s/.test(cur) ? null\n : \"p\";\n if (group && !first && !type) { type = \"s\"; }\n if (sawType && sawType != type) {\n if (dir < 0) {dir = 1; moveOnce(); pos.sticky = \"after\";}\n break\n }\n\n if (type) { sawType = type; }\n if (dir > 0 && !moveOnce(!first)) { break }\n }\n }\n var result = skipAtomic(doc, pos, oldPos, origDir, true);\n if (equalCursorPos(oldPos, result)) { result.hitSide = true; }\n return result\n }\n\n // For relative vertical movement. Dir may be -1 or 1. Unit can be\n // \"page\" or \"line\". The resulting position will have a hitSide=true\n // property if it reached the end of the document.\n function findPosV(cm, pos, dir, unit) {\n var doc = cm.doc, x = pos.left, y;\n if (unit == \"page\") {\n var pageSize = Math.min(cm.display.wrapper.clientHeight, window.innerHeight || document.documentElement.clientHeight);\n var moveAmount = Math.max(pageSize - .5 * textHeight(cm.display), 3);\n y = (dir > 0 ? pos.bottom : pos.top) + dir * moveAmount;\n\n } else if (unit == \"line\") {\n y = dir > 0 ? pos.bottom + 3 : pos.top - 3;\n }\n var target;\n for (;;) {\n target = coordsChar(cm, x, y);\n if (!target.outside) { break }\n if (dir < 0 ? y <= 0 : y >= doc.height) { target.hitSide = true; break }\n y += dir * 5;\n }\n return target\n }\n\n // CONTENTEDITABLE INPUT STYLE\n\n var ContentEditableInput = function(cm) {\n this.cm = cm;\n this.lastAnchorNode = this.lastAnchorOffset = this.lastFocusNode = this.lastFocusOffset = null;\n this.polling = new Delayed();\n this.composing = null;\n this.gracePeriod = false;\n this.readDOMTimeout = null;\n };\n\n ContentEditableInput.prototype.init = function (display) {\n var this$1 = this;\n\n var input = this, cm = input.cm;\n var div = input.div = display.lineDiv;\n disableBrowserMagic(div, cm.options.spellcheck, cm.options.autocorrect, cm.options.autocapitalize);\n\n on(div, \"paste\", function (e) {\n if (signalDOMEvent(cm, e) || handlePaste(e, cm)) { return }\n // IE doesn't fire input events, so we schedule a read for the pasted content in this way\n if (ie_version <= 11) { setTimeout(operation(cm, function () { return this$1.updateFromDOM(); }), 20); }\n });\n\n on(div, \"compositionstart\", function (e) {\n this$1.composing = {data: e.data, done: false};\n });\n on(div, \"compositionupdate\", function (e) {\n if (!this$1.composing) { this$1.composing = {data: e.data, done: false}; }\n });\n on(div, \"compositionend\", function (e) {\n if (this$1.composing) {\n if (e.data != this$1.composing.data) { this$1.readFromDOMSoon(); }\n this$1.composing.done = true;\n }\n });\n\n on(div, \"touchstart\", function () { return input.forceCompositionEnd(); });\n\n on(div, \"input\", function () {\n if (!this$1.composing) { this$1.readFromDOMSoon(); }\n });\n\n function onCopyCut(e) {\n if (signalDOMEvent(cm, e)) { return }\n if (cm.somethingSelected()) {\n setLastCopied({lineWise: false, text: cm.getSelections()});\n if (e.type == \"cut\") { cm.replaceSelection(\"\", null, \"cut\"); }\n } else if (!cm.options.lineWiseCopyCut) {\n return\n } else {\n var ranges = copyableRanges(cm);\n setLastCopied({lineWise: true, text: ranges.text});\n if (e.type == \"cut\") {\n cm.operation(function () {\n cm.setSelections(ranges.ranges, 0, sel_dontScroll);\n cm.replaceSelection(\"\", null, \"cut\");\n });\n }\n }\n if (e.clipboardData) {\n e.clipboardData.clearData();\n var content = lastCopied.text.join(\"\\n\");\n // iOS exposes the clipboard API, but seems to discard content inserted into it\n e.clipboardData.setData(\"Text\", content);\n if (e.clipboardData.getData(\"Text\") == content) {\n e.preventDefault();\n return\n }\n }\n // Old-fashioned briefly-focus-a-textarea hack\n var kludge = hiddenTextarea(), te = kludge.firstChild;\n cm.display.lineSpace.insertBefore(kludge, cm.display.lineSpace.firstChild);\n te.value = lastCopied.text.join(\"\\n\");\n var hadFocus = document.activeElement;\n selectInput(te);\n setTimeout(function () {\n cm.display.lineSpace.removeChild(kludge);\n hadFocus.focus();\n if (hadFocus == div) { input.showPrimarySelection(); }\n }, 50);\n }\n on(div, \"copy\", onCopyCut);\n on(div, \"cut\", onCopyCut);\n };\n\n ContentEditableInput.prototype.prepareSelection = function () {\n var result = prepareSelection(this.cm, false);\n result.focus = this.cm.state.focused;\n return result\n };\n\n ContentEditableInput.prototype.showSelection = function (info, takeFocus) {\n if (!info || !this.cm.display.view.length) { return }\n if (info.focus || takeFocus) { this.showPrimarySelection(); }\n this.showMultipleSelections(info);\n };\n\n ContentEditableInput.prototype.getSelection = function () {\n return this.cm.display.wrapper.ownerDocument.getSelection()\n };\n\n ContentEditableInput.prototype.showPrimarySelection = function () {\n var sel = this.getSelection(), cm = this.cm, prim = cm.doc.sel.primary();\n var from = prim.from(), to = prim.to();\n\n if (cm.display.viewTo == cm.display.viewFrom || from.line >= cm.display.viewTo || to.line < cm.display.viewFrom) {\n sel.removeAllRanges();\n return\n }\n\n var curAnchor = domToPos(cm, sel.anchorNode, sel.anchorOffset);\n var curFocus = domToPos(cm, sel.focusNode, sel.focusOffset);\n if (curAnchor && !curAnchor.bad && curFocus && !curFocus.bad &&\n cmp(minPos(curAnchor, curFocus), from) == 0 &&\n cmp(maxPos(curAnchor, curFocus), to) == 0)\n { return }\n\n var view = cm.display.view;\n var start = (from.line >= cm.display.viewFrom && posToDOM(cm, from)) ||\n {node: view[0].measure.map[2], offset: 0};\n var end = to.line < cm.display.viewTo && posToDOM(cm, to);\n if (!end) {\n var measure = view[view.length - 1].measure;\n var map$$1 = measure.maps ? measure.maps[measure.maps.length - 1] : measure.map;\n end = {node: map$$1[map$$1.length - 1], offset: map$$1[map$$1.length - 2] - map$$1[map$$1.length - 3]};\n }\n\n if (!start || !end) {\n sel.removeAllRanges();\n return\n }\n\n var old = sel.rangeCount && sel.getRangeAt(0), rng;\n try { rng = range(start.node, start.offset, end.offset, end.node); }\n catch(e) {} // Our model of the DOM might be outdated, in which case the range we try to set can be impossible\n if (rng) {\n if (!gecko && cm.state.focused) {\n sel.collapse(start.node, start.offset);\n if (!rng.collapsed) {\n sel.removeAllRanges();\n sel.addRange(rng);\n }\n } else {\n sel.removeAllRanges();\n sel.addRange(rng);\n }\n if (old && sel.anchorNode == null) { sel.addRange(old); }\n else if (gecko) { this.startGracePeriod(); }\n }\n this.rememberSelection();\n };\n\n ContentEditableInput.prototype.startGracePeriod = function () {\n var this$1 = this;\n\n clearTimeout(this.gracePeriod);\n this.gracePeriod = setTimeout(function () {\n this$1.gracePeriod = false;\n if (this$1.selectionChanged())\n { this$1.cm.operation(function () { return this$1.cm.curOp.selectionChanged = true; }); }\n }, 20);\n };\n\n ContentEditableInput.prototype.showMultipleSelections = function (info) {\n removeChildrenAndAdd(this.cm.display.cursorDiv, info.cursors);\n removeChildrenAndAdd(this.cm.display.selectionDiv, info.selection);\n };\n\n ContentEditableInput.prototype.rememberSelection = function () {\n var sel = this.getSelection();\n this.lastAnchorNode = sel.anchorNode; this.lastAnchorOffset = sel.anchorOffset;\n this.lastFocusNode = sel.focusNode; this.lastFocusOffset = sel.focusOffset;\n };\n\n ContentEditableInput.prototype.selectionInEditor = function () {\n var sel = this.getSelection();\n if (!sel.rangeCount) { return false }\n var node = sel.getRangeAt(0).commonAncestorContainer;\n return contains(this.div, node)\n };\n\n ContentEditableInput.prototype.focus = function () {\n if (this.cm.options.readOnly != \"nocursor\") {\n if (!this.selectionInEditor())\n { this.showSelection(this.prepareSelection(), true); }\n this.div.focus();\n }\n };\n ContentEditableInput.prototype.blur = function () { this.div.blur(); };\n ContentEditableInput.prototype.getField = function () { return this.div };\n\n ContentEditableInput.prototype.supportsTouch = function () { return true };\n\n ContentEditableInput.prototype.receivedFocus = function () {\n var input = this;\n if (this.selectionInEditor())\n { this.pollSelection(); }\n else\n { runInOp(this.cm, function () { return input.cm.curOp.selectionChanged = true; }); }\n\n function poll() {\n if (input.cm.state.focused) {\n input.pollSelection();\n input.polling.set(input.cm.options.pollInterval, poll);\n }\n }\n this.polling.set(this.cm.options.pollInterval, poll);\n };\n\n ContentEditableInput.prototype.selectionChanged = function () {\n var sel = this.getSelection();\n return sel.anchorNode != this.lastAnchorNode || sel.anchorOffset != this.lastAnchorOffset ||\n sel.focusNode != this.lastFocusNode || sel.focusOffset != this.lastFocusOffset\n };\n\n ContentEditableInput.prototype.pollSelection = function () {\n if (this.readDOMTimeout != null || this.gracePeriod || !this.selectionChanged()) { return }\n var sel = this.getSelection(), cm = this.cm;\n // On Android Chrome (version 56, at least), backspacing into an\n // uneditable block element will put the cursor in that element,\n // and then, because it's not editable, hide the virtual keyboard.\n // Because Android doesn't allow us to actually detect backspace\n // presses in a sane way, this code checks for when that happens\n // and simulates a backspace press in this case.\n if (android && chrome && this.cm.display.gutterSpecs.length && isInGutter(sel.anchorNode)) {\n this.cm.triggerOnKeyDown({type: \"keydown\", keyCode: 8, preventDefault: Math.abs});\n this.blur();\n this.focus();\n return\n }\n if (this.composing) { return }\n this.rememberSelection();\n var anchor = domToPos(cm, sel.anchorNode, sel.anchorOffset);\n var head = domToPos(cm, sel.focusNode, sel.focusOffset);\n if (anchor && head) { runInOp(cm, function () {\n setSelection(cm.doc, simpleSelection(anchor, head), sel_dontScroll);\n if (anchor.bad || head.bad) { cm.curOp.selectionChanged = true; }\n }); }\n };\n\n ContentEditableInput.prototype.pollContent = function () {\n if (this.readDOMTimeout != null) {\n clearTimeout(this.readDOMTimeout);\n this.readDOMTimeout = null;\n }\n\n var cm = this.cm, display = cm.display, sel = cm.doc.sel.primary();\n var from = sel.from(), to = sel.to();\n if (from.ch == 0 && from.line > cm.firstLine())\n { from = Pos(from.line - 1, getLine(cm.doc, from.line - 1).length); }\n if (to.ch == getLine(cm.doc, to.line).text.length && to.line < cm.lastLine())\n { to = Pos(to.line + 1, 0); }\n if (from.line < display.viewFrom || to.line > display.viewTo - 1) { return false }\n\n var fromIndex, fromLine, fromNode;\n if (from.line == display.viewFrom || (fromIndex = findViewIndex(cm, from.line)) == 0) {\n fromLine = lineNo(display.view[0].line);\n fromNode = display.view[0].node;\n } else {\n fromLine = lineNo(display.view[fromIndex].line);\n fromNode = display.view[fromIndex - 1].node.nextSibling;\n }\n var toIndex = findViewIndex(cm, to.line);\n var toLine, toNode;\n if (toIndex == display.view.length - 1) {\n toLine = display.viewTo - 1;\n toNode = display.lineDiv.lastChild;\n } else {\n toLine = lineNo(display.view[toIndex + 1].line) - 1;\n toNode = display.view[toIndex + 1].node.previousSibling;\n }\n\n if (!fromNode) { return false }\n var newText = cm.doc.splitLines(domTextBetween(cm, fromNode, toNode, fromLine, toLine));\n var oldText = getBetween(cm.doc, Pos(fromLine, 0), Pos(toLine, getLine(cm.doc, toLine).text.length));\n while (newText.length > 1 && oldText.length > 1) {\n if (lst(newText) == lst(oldText)) { newText.pop(); oldText.pop(); toLine--; }\n else if (newText[0] == oldText[0]) { newText.shift(); oldText.shift(); fromLine++; }\n else { break }\n }\n\n var cutFront = 0, cutEnd = 0;\n var newTop = newText[0], oldTop = oldText[0], maxCutFront = Math.min(newTop.length, oldTop.length);\n while (cutFront < maxCutFront && newTop.charCodeAt(cutFront) == oldTop.charCodeAt(cutFront))\n { ++cutFront; }\n var newBot = lst(newText), oldBot = lst(oldText);\n var maxCutEnd = Math.min(newBot.length - (newText.length == 1 ? cutFront : 0),\n oldBot.length - (oldText.length == 1 ? cutFront : 0));\n while (cutEnd < maxCutEnd &&\n newBot.charCodeAt(newBot.length - cutEnd - 1) == oldBot.charCodeAt(oldBot.length - cutEnd - 1))\n { ++cutEnd; }\n // Try to move start of change to start of selection if ambiguous\n if (newText.length == 1 && oldText.length == 1 && fromLine == from.line) {\n while (cutFront && cutFront > from.ch &&\n newBot.charCodeAt(newBot.length - cutEnd - 1) == oldBot.charCodeAt(oldBot.length - cutEnd - 1)) {\n cutFront--;\n cutEnd++;\n }\n }\n\n newText[newText.length - 1] = newBot.slice(0, newBot.length - cutEnd).replace(/^\\u200b+/, \"\");\n newText[0] = newText[0].slice(cutFront).replace(/\\u200b+$/, \"\");\n\n var chFrom = Pos(fromLine, cutFront);\n var chTo = Pos(toLine, oldText.length ? lst(oldText).length - cutEnd : 0);\n if (newText.length > 1 || newText[0] || cmp(chFrom, chTo)) {\n replaceRange(cm.doc, newText, chFrom, chTo, \"+input\");\n return true\n }\n };\n\n ContentEditableInput.prototype.ensurePolled = function () {\n this.forceCompositionEnd();\n };\n ContentEditableInput.prototype.reset = function () {\n this.forceCompositionEnd();\n };\n ContentEditableInput.prototype.forceCompositionEnd = function () {\n if (!this.composing) { return }\n clearTimeout(this.readDOMTimeout);\n this.composing = null;\n this.updateFromDOM();\n this.div.blur();\n this.div.focus();\n };\n ContentEditableInput.prototype.readFromDOMSoon = function () {\n var this$1 = this;\n\n if (this.readDOMTimeout != null) { return }\n this.readDOMTimeout = setTimeout(function () {\n this$1.readDOMTimeout = null;\n if (this$1.composing) {\n if (this$1.composing.done) { this$1.composing = null; }\n else { return }\n }\n this$1.updateFromDOM();\n }, 80);\n };\n\n ContentEditableInput.prototype.updateFromDOM = function () {\n var this$1 = this;\n\n if (this.cm.isReadOnly() || !this.pollContent())\n { runInOp(this.cm, function () { return regChange(this$1.cm); }); }\n };\n\n ContentEditableInput.prototype.setUneditable = function (node) {\n node.contentEditable = \"false\";\n };\n\n ContentEditableInput.prototype.onKeyPress = function (e) {\n if (e.charCode == 0 || this.composing) { return }\n e.preventDefault();\n if (!this.cm.isReadOnly())\n { operation(this.cm, applyTextInput)(this.cm, String.fromCharCode(e.charCode == null ? e.keyCode : e.charCode), 0); }\n };\n\n ContentEditableInput.prototype.readOnlyChanged = function (val) {\n this.div.contentEditable = String(val != \"nocursor\");\n };\n\n ContentEditableInput.prototype.onContextMenu = function () {};\n ContentEditableInput.prototype.resetPosition = function () {};\n\n ContentEditableInput.prototype.needsContentAttribute = true;\n\n function posToDOM(cm, pos) {\n var view = findViewForLine(cm, pos.line);\n if (!view || view.hidden) { return null }\n var line = getLine(cm.doc, pos.line);\n var info = mapFromLineView(view, line, pos.line);\n\n var order = getOrder(line, cm.doc.direction), side = \"left\";\n if (order) {\n var partPos = getBidiPartAt(order, pos.ch);\n side = partPos % 2 ? \"right\" : \"left\";\n }\n var result = nodeAndOffsetInLineMap(info.map, pos.ch, side);\n result.offset = result.collapse == \"right\" ? result.end : result.start;\n return result\n }\n\n function isInGutter(node) {\n for (var scan = node; scan; scan = scan.parentNode)\n { if (/CodeMirror-gutter-wrapper/.test(scan.className)) { return true } }\n return false\n }\n\n function badPos(pos, bad) { if (bad) { pos.bad = true; } return pos }\n\n function domTextBetween(cm, from, to, fromLine, toLine) {\n var text = \"\", closing = false, lineSep = cm.doc.lineSeparator(), extraLinebreak = false;\n function recognizeMarker(id) { return function (marker) { return marker.id == id; } }\n function close() {\n if (closing) {\n text += lineSep;\n if (extraLinebreak) { text += lineSep; }\n closing = extraLinebreak = false;\n }\n }\n function addText(str) {\n if (str) {\n close();\n text += str;\n }\n }\n function walk(node) {\n if (node.nodeType == 1) {\n var cmText = node.getAttribute(\"cm-text\");\n if (cmText) {\n addText(cmText);\n return\n }\n var markerID = node.getAttribute(\"cm-marker\"), range$$1;\n if (markerID) {\n var found = cm.findMarks(Pos(fromLine, 0), Pos(toLine + 1, 0), recognizeMarker(+markerID));\n if (found.length && (range$$1 = found[0].find(0)))\n { addText(getBetween(cm.doc, range$$1.from, range$$1.to).join(lineSep)); }\n return\n }\n if (node.getAttribute(\"contenteditable\") == \"false\") { return }\n var isBlock = /^(pre|div|p|li|table|br)$/i.test(node.nodeName);\n if (!/^br$/i.test(node.nodeName) && node.textContent.length == 0) { return }\n\n if (isBlock) { close(); }\n for (var i = 0; i < node.childNodes.length; i++)\n { walk(node.childNodes[i]); }\n\n if (/^(pre|p)$/i.test(node.nodeName)) { extraLinebreak = true; }\n if (isBlock) { closing = true; }\n } else if (node.nodeType == 3) {\n addText(node.nodeValue.replace(/\\u200b/g, \"\").replace(/\\u00a0/g, \" \"));\n }\n }\n for (;;) {\n walk(from);\n if (from == to) { break }\n from = from.nextSibling;\n extraLinebreak = false;\n }\n return text\n }\n\n function domToPos(cm, node, offset) {\n var lineNode;\n if (node == cm.display.lineDiv) {\n lineNode = cm.display.lineDiv.childNodes[offset];\n if (!lineNode) { return badPos(cm.clipPos(Pos(cm.display.viewTo - 1)), true) }\n node = null; offset = 0;\n } else {\n for (lineNode = node;; lineNode = lineNode.parentNode) {\n if (!lineNode || lineNode == cm.display.lineDiv) { return null }\n if (lineNode.parentNode && lineNode.parentNode == cm.display.lineDiv) { break }\n }\n }\n for (var i = 0; i < cm.display.view.length; i++) {\n var lineView = cm.display.view[i];\n if (lineView.node == lineNode)\n { return locateNodeInLineView(lineView, node, offset) }\n }\n }\n\n function locateNodeInLineView(lineView, node, offset) {\n var wrapper = lineView.text.firstChild, bad = false;\n if (!node || !contains(wrapper, node)) { return badPos(Pos(lineNo(lineView.line), 0), true) }\n if (node == wrapper) {\n bad = true;\n node = wrapper.childNodes[offset];\n offset = 0;\n if (!node) {\n var line = lineView.rest ? lst(lineView.rest) : lineView.line;\n return badPos(Pos(lineNo(line), line.text.length), bad)\n }\n }\n\n var textNode = node.nodeType == 3 ? node : null, topNode = node;\n if (!textNode && node.childNodes.length == 1 && node.firstChild.nodeType == 3) {\n textNode = node.firstChild;\n if (offset) { offset = textNode.nodeValue.length; }\n }\n while (topNode.parentNode != wrapper) { topNode = topNode.parentNode; }\n var measure = lineView.measure, maps = measure.maps;\n\n function find(textNode, topNode, offset) {\n for (var i = -1; i < (maps ? maps.length : 0); i++) {\n var map$$1 = i < 0 ? measure.map : maps[i];\n for (var j = 0; j < map$$1.length; j += 3) {\n var curNode = map$$1[j + 2];\n if (curNode == textNode || curNode == topNode) {\n var line = lineNo(i < 0 ? lineView.line : lineView.rest[i]);\n var ch = map$$1[j] + offset;\n if (offset < 0 || curNode != textNode) { ch = map$$1[j + (offset ? 1 : 0)]; }\n return Pos(line, ch)\n }\n }\n }\n }\n var found = find(textNode, topNode, offset);\n if (found) { return badPos(found, bad) }\n\n // FIXME this is all really shaky. might handle the few cases it needs to handle, but likely to cause problems\n for (var after = topNode.nextSibling, dist = textNode ? textNode.nodeValue.length - offset : 0; after; after = after.nextSibling) {\n found = find(after, after.firstChild, 0);\n if (found)\n { return badPos(Pos(found.line, found.ch - dist), bad) }\n else\n { dist += after.textContent.length; }\n }\n for (var before = topNode.previousSibling, dist$1 = offset; before; before = before.previousSibling) {\n found = find(before, before.firstChild, -1);\n if (found)\n { return badPos(Pos(found.line, found.ch + dist$1), bad) }\n else\n { dist$1 += before.textContent.length; }\n }\n }\n\n // TEXTAREA INPUT STYLE\n\n var TextareaInput = function(cm) {\n this.cm = cm;\n // See input.poll and input.reset\n this.prevInput = \"\";\n\n // Flag that indicates whether we expect input to appear real soon\n // now (after some event like 'keypress' or 'input') and are\n // polling intensively.\n this.pollingFast = false;\n // Self-resetting timeout for the poller\n this.polling = new Delayed();\n // Used to work around IE issue with selection being forgotten when focus moves away from textarea\n this.hasSelection = false;\n this.composing = null;\n };\n\n TextareaInput.prototype.init = function (display) {\n var this$1 = this;\n\n var input = this, cm = this.cm;\n this.createField(display);\n var te = this.textarea;\n\n display.wrapper.insertBefore(this.wrapper, display.wrapper.firstChild);\n\n // Needed to hide big blue blinking cursor on Mobile Safari (doesn't seem to work in iOS 8 anymore)\n if (ios) { te.style.width = \"0px\"; }\n\n on(te, \"input\", function () {\n if (ie && ie_version >= 9 && this$1.hasSelection) { this$1.hasSelection = null; }\n input.poll();\n });\n\n on(te, \"paste\", function (e) {\n if (signalDOMEvent(cm, e) || handlePaste(e, cm)) { return }\n\n cm.state.pasteIncoming = +new Date;\n input.fastPoll();\n });\n\n function prepareCopyCut(e) {\n if (signalDOMEvent(cm, e)) { return }\n if (cm.somethingSelected()) {\n setLastCopied({lineWise: false, text: cm.getSelections()});\n } else if (!cm.options.lineWiseCopyCut) {\n return\n } else {\n var ranges = copyableRanges(cm);\n setLastCopied({lineWise: true, text: ranges.text});\n if (e.type == \"cut\") {\n cm.setSelections(ranges.ranges, null, sel_dontScroll);\n } else {\n input.prevInput = \"\";\n te.value = ranges.text.join(\"\\n\");\n selectInput(te);\n }\n }\n if (e.type == \"cut\") { cm.state.cutIncoming = +new Date; }\n }\n on(te, \"cut\", prepareCopyCut);\n on(te, \"copy\", prepareCopyCut);\n\n on(display.scroller, \"paste\", function (e) {\n if (eventInWidget(display, e) || signalDOMEvent(cm, e)) { return }\n if (!te.dispatchEvent) {\n cm.state.pasteIncoming = +new Date;\n input.focus();\n return\n }\n\n // Pass the `paste` event to the textarea so it's handled by its event listener.\n var event = new Event(\"paste\");\n event.clipboardData = e.clipboardData;\n te.dispatchEvent(event);\n });\n\n // Prevent normal selection in the editor (we handle our own)\n on(display.lineSpace, \"selectstart\", function (e) {\n if (!eventInWidget(display, e)) { e_preventDefault(e); }\n });\n\n on(te, \"compositionstart\", function () {\n var start = cm.getCursor(\"from\");\n if (input.composing) { input.composing.range.clear(); }\n input.composing = {\n start: start,\n range: cm.markText(start, cm.getCursor(\"to\"), {className: \"CodeMirror-composing\"})\n };\n });\n on(te, \"compositionend\", function () {\n if (input.composing) {\n input.poll();\n input.composing.range.clear();\n input.composing = null;\n }\n });\n };\n\n TextareaInput.prototype.createField = function (_display) {\n // Wraps and hides input textarea\n this.wrapper = hiddenTextarea();\n // The semihidden textarea that is focused when the editor is\n // focused, and receives input.\n this.textarea = this.wrapper.firstChild;\n };\n\n TextareaInput.prototype.prepareSelection = function () {\n // Redraw the selection and/or cursor\n var cm = this.cm, display = cm.display, doc = cm.doc;\n var result = prepareSelection(cm);\n\n // Move the hidden textarea near the cursor to prevent scrolling artifacts\n if (cm.options.moveInputWithCursor) {\n var headPos = cursorCoords(cm, doc.sel.primary().head, \"div\");\n var wrapOff = display.wrapper.getBoundingClientRect(), lineOff = display.lineDiv.getBoundingClientRect();\n result.teTop = Math.max(0, Math.min(display.wrapper.clientHeight - 10,\n headPos.top + lineOff.top - wrapOff.top));\n result.teLeft = Math.max(0, Math.min(display.wrapper.clientWidth - 10,\n headPos.left + lineOff.left - wrapOff.left));\n }\n\n return result\n };\n\n TextareaInput.prototype.showSelection = function (drawn) {\n var cm = this.cm, display = cm.display;\n removeChildrenAndAdd(display.cursorDiv, drawn.cursors);\n removeChildrenAndAdd(display.selectionDiv, drawn.selection);\n if (drawn.teTop != null) {\n this.wrapper.style.top = drawn.teTop + \"px\";\n this.wrapper.style.left = drawn.teLeft + \"px\";\n }\n };\n\n // Reset the input to correspond to the selection (or to be empty,\n // when not typing and nothing is selected)\n TextareaInput.prototype.reset = function (typing) {\n if (this.contextMenuPending || this.composing) { return }\n var cm = this.cm;\n if (cm.somethingSelected()) {\n this.prevInput = \"\";\n var content = cm.getSelection();\n this.textarea.value = content;\n if (cm.state.focused) { selectInput(this.textarea); }\n if (ie && ie_version >= 9) { this.hasSelection = content; }\n } else if (!typing) {\n this.prevInput = this.textarea.value = \"\";\n if (ie && ie_version >= 9) { this.hasSelection = null; }\n }\n };\n\n TextareaInput.prototype.getField = function () { return this.textarea };\n\n TextareaInput.prototype.supportsTouch = function () { return false };\n\n TextareaInput.prototype.focus = function () {\n if (this.cm.options.readOnly != \"nocursor\" && (!mobile || activeElt() != this.textarea)) {\n try { this.textarea.focus(); }\n catch (e) {} // IE8 will throw if the textarea is display: none or not in DOM\n }\n };\n\n TextareaInput.prototype.blur = function () { this.textarea.blur(); };\n\n TextareaInput.prototype.resetPosition = function () {\n this.wrapper.style.top = this.wrapper.style.left = 0;\n };\n\n TextareaInput.prototype.receivedFocus = function () { this.slowPoll(); };\n\n // Poll for input changes, using the normal rate of polling. This\n // runs as long as the editor is focused.\n TextareaInput.prototype.slowPoll = function () {\n var this$1 = this;\n\n if (this.pollingFast) { return }\n this.polling.set(this.cm.options.pollInterval, function () {\n this$1.poll();\n if (this$1.cm.state.focused) { this$1.slowPoll(); }\n });\n };\n\n // When an event has just come in that is likely to add or change\n // something in the input textarea, we poll faster, to ensure that\n // the change appears on the screen quickly.\n TextareaInput.prototype.fastPoll = function () {\n var missed = false, input = this;\n input.pollingFast = true;\n function p() {\n var changed = input.poll();\n if (!changed && !missed) {missed = true; input.polling.set(60, p);}\n else {input.pollingFast = false; input.slowPoll();}\n }\n input.polling.set(20, p);\n };\n\n // Read input from the textarea, and update the document to match.\n // When something is selected, it is present in the textarea, and\n // selected (unless it is huge, in which case a placeholder is\n // used). When nothing is selected, the cursor sits after previously\n // seen text (can be empty), which is stored in prevInput (we must\n // not reset the textarea when typing, because that breaks IME).\n TextareaInput.prototype.poll = function () {\n var this$1 = this;\n\n var cm = this.cm, input = this.textarea, prevInput = this.prevInput;\n // Since this is called a *lot*, try to bail out as cheaply as\n // possible when it is clear that nothing happened. hasSelection\n // will be the case when there is a lot of text in the textarea,\n // in which case reading its value would be expensive.\n if (this.contextMenuPending || !cm.state.focused ||\n (hasSelection(input) && !prevInput && !this.composing) ||\n cm.isReadOnly() || cm.options.disableInput || cm.state.keySeq)\n { return false }\n\n var text = input.value;\n // If nothing changed, bail.\n if (text == prevInput && !cm.somethingSelected()) { return false }\n // Work around nonsensical selection resetting in IE9/10, and\n // inexplicable appearance of private area unicode characters on\n // some key combos in Mac (#2689).\n if (ie && ie_version >= 9 && this.hasSelection === text ||\n mac && /[\\uf700-\\uf7ff]/.test(text)) {\n cm.display.input.reset();\n return false\n }\n\n if (cm.doc.sel == cm.display.selForContextMenu) {\n var first = text.charCodeAt(0);\n if (first == 0x200b && !prevInput) { prevInput = \"\\u200b\"; }\n if (first == 0x21da) { this.reset(); return this.cm.execCommand(\"undo\") }\n }\n // Find the part of the input that is actually new\n var same = 0, l = Math.min(prevInput.length, text.length);\n while (same < l && prevInput.charCodeAt(same) == text.charCodeAt(same)) { ++same; }\n\n runInOp(cm, function () {\n applyTextInput(cm, text.slice(same), prevInput.length - same,\n null, this$1.composing ? \"*compose\" : null);\n\n // Don't leave long text in the textarea, since it makes further polling slow\n if (text.length > 1000 || text.indexOf(\"\\n\") > -1) { input.value = this$1.prevInput = \"\"; }\n else { this$1.prevInput = text; }\n\n if (this$1.composing) {\n this$1.composing.range.clear();\n this$1.composing.range = cm.markText(this$1.composing.start, cm.getCursor(\"to\"),\n {className: \"CodeMirror-composing\"});\n }\n });\n return true\n };\n\n TextareaInput.prototype.ensurePolled = function () {\n if (this.pollingFast && this.poll()) { this.pollingFast = false; }\n };\n\n TextareaInput.prototype.onKeyPress = function () {\n if (ie && ie_version >= 9) { this.hasSelection = null; }\n this.fastPoll();\n };\n\n TextareaInput.prototype.onContextMenu = function (e) {\n var input = this, cm = input.cm, display = cm.display, te = input.textarea;\n if (input.contextMenuPending) { input.contextMenuPending(); }\n var pos = posFromMouse(cm, e), scrollPos = display.scroller.scrollTop;\n if (!pos || presto) { return } // Opera is difficult.\n\n // Reset the current text selection only if the click is done outside of the selection\n // and 'resetSelectionOnContextMenu' option is true.\n var reset = cm.options.resetSelectionOnContextMenu;\n if (reset && cm.doc.sel.contains(pos) == -1)\n { operation(cm, setSelection)(cm.doc, simpleSelection(pos), sel_dontScroll); }\n\n var oldCSS = te.style.cssText, oldWrapperCSS = input.wrapper.style.cssText;\n var wrapperBox = input.wrapper.offsetParent.getBoundingClientRect();\n input.wrapper.style.cssText = \"position: static\";\n te.style.cssText = \"position: absolute; width: 30px; height: 30px;\\n top: \" + (e.clientY - wrapperBox.top - 5) + \"px; left: \" + (e.clientX - wrapperBox.left - 5) + \"px;\\n z-index: 1000; background: \" + (ie ? \"rgba(255, 255, 255, .05)\" : \"transparent\") + \";\\n outline: none; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);\";\n var oldScrollY;\n if (webkit) { oldScrollY = window.scrollY; } // Work around Chrome issue (#2712)\n display.input.focus();\n if (webkit) { window.scrollTo(null, oldScrollY); }\n display.input.reset();\n // Adds \"Select all\" to context menu in FF\n if (!cm.somethingSelected()) { te.value = input.prevInput = \" \"; }\n input.contextMenuPending = rehide;\n display.selForContextMenu = cm.doc.sel;\n clearTimeout(display.detectingSelectAll);\n\n // Select-all will be greyed out if there's nothing to select, so\n // this adds a zero-width space so that we can later check whether\n // it got selected.\n function prepareSelectAllHack() {\n if (te.selectionStart != null) {\n var selected = cm.somethingSelected();\n var extval = \"\\u200b\" + (selected ? te.value : \"\");\n te.value = \"\\u21da\"; // Used to catch context-menu undo\n te.value = extval;\n input.prevInput = selected ? \"\" : \"\\u200b\";\n te.selectionStart = 1; te.selectionEnd = extval.length;\n // Re-set this, in case some other handler touched the\n // selection in the meantime.\n display.selForContextMenu = cm.doc.sel;\n }\n }\n function rehide() {\n if (input.contextMenuPending != rehide) { return }\n input.contextMenuPending = false;\n input.wrapper.style.cssText = oldWrapperCSS;\n te.style.cssText = oldCSS;\n if (ie && ie_version < 9) { display.scrollbars.setScrollTop(display.scroller.scrollTop = scrollPos); }\n\n // Try to detect the user choosing select-all\n if (te.selectionStart != null) {\n if (!ie || (ie && ie_version < 9)) { prepareSelectAllHack(); }\n var i = 0, poll = function () {\n if (display.selForContextMenu == cm.doc.sel && te.selectionStart == 0 &&\n te.selectionEnd > 0 && input.prevInput == \"\\u200b\") {\n operation(cm, selectAll)(cm);\n } else if (i++ < 10) {\n display.detectingSelectAll = setTimeout(poll, 500);\n } else {\n display.selForContextMenu = null;\n display.input.reset();\n }\n };\n display.detectingSelectAll = setTimeout(poll, 200);\n }\n }\n\n if (ie && ie_version >= 9) { prepareSelectAllHack(); }\n if (captureRightClick) {\n e_stop(e);\n var mouseup = function () {\n off(window, \"mouseup\", mouseup);\n setTimeout(rehide, 20);\n };\n on(window, \"mouseup\", mouseup);\n } else {\n setTimeout(rehide, 50);\n }\n };\n\n TextareaInput.prototype.readOnlyChanged = function (val) {\n if (!val) { this.reset(); }\n this.textarea.disabled = val == \"nocursor\";\n };\n\n TextareaInput.prototype.setUneditable = function () {};\n\n TextareaInput.prototype.needsContentAttribute = false;\n\n function fromTextArea(textarea, options) {\n options = options ? copyObj(options) : {};\n options.value = textarea.value;\n if (!options.tabindex && textarea.tabIndex)\n { options.tabindex = textarea.tabIndex; }\n if (!options.placeholder && textarea.placeholder)\n { options.placeholder = textarea.placeholder; }\n // Set autofocus to true if this textarea is focused, or if it has\n // autofocus and no other element is focused.\n if (options.autofocus == null) {\n var hasFocus = activeElt();\n options.autofocus = hasFocus == textarea ||\n textarea.getAttribute(\"autofocus\") != null && hasFocus == document.body;\n }\n\n function save() {textarea.value = cm.getValue();}\n\n var realSubmit;\n if (textarea.form) {\n on(textarea.form, \"submit\", save);\n // Deplorable hack to make the submit method do the right thing.\n if (!options.leaveSubmitMethodAlone) {\n var form = textarea.form;\n realSubmit = form.submit;\n try {\n var wrappedSubmit = form.submit = function () {\n save();\n form.submit = realSubmit;\n form.submit();\n form.submit = wrappedSubmit;\n };\n } catch(e) {}\n }\n }\n\n options.finishInit = function (cm) {\n cm.save = save;\n cm.getTextArea = function () { return textarea; };\n cm.toTextArea = function () {\n cm.toTextArea = isNaN; // Prevent this from being ran twice\n save();\n textarea.parentNode.removeChild(cm.getWrapperElement());\n textarea.style.display = \"\";\n if (textarea.form) {\n off(textarea.form, \"submit\", save);\n if (typeof textarea.form.submit == \"function\")\n { textarea.form.submit = realSubmit; }\n }\n };\n };\n\n textarea.style.display = \"none\";\n var cm = CodeMirror(function (node) { return textarea.parentNode.insertBefore(node, textarea.nextSibling); },\n options);\n return cm\n }\n\n function addLegacyProps(CodeMirror) {\n CodeMirror.off = off;\n CodeMirror.on = on;\n CodeMirror.wheelEventPixels = wheelEventPixels;\n CodeMirror.Doc = Doc;\n CodeMirror.splitLines = splitLinesAuto;\n CodeMirror.countColumn = countColumn;\n CodeMirror.findColumn = findColumn;\n CodeMirror.isWordChar = isWordCharBasic;\n CodeMirror.Pass = Pass;\n CodeMirror.signal = signal;\n CodeMirror.Line = Line;\n CodeMirror.changeEnd = changeEnd;\n CodeMirror.scrollbarModel = scrollbarModel;\n CodeMirror.Pos = Pos;\n CodeMirror.cmpPos = cmp;\n CodeMirror.modes = modes;\n CodeMirror.mimeModes = mimeModes;\n CodeMirror.resolveMode = resolveMode;\n CodeMirror.getMode = getMode;\n CodeMirror.modeExtensions = modeExtensions;\n CodeMirror.extendMode = extendMode;\n CodeMirror.copyState = copyState;\n CodeMirror.startState = startState;\n CodeMirror.innerMode = innerMode;\n CodeMirror.commands = commands;\n CodeMirror.keyMap = keyMap;\n CodeMirror.keyName = keyName;\n CodeMirror.isModifierKey = isModifierKey;\n CodeMirror.lookupKey = lookupKey;\n CodeMirror.normalizeKeyMap = normalizeKeyMap;\n CodeMirror.StringStream = StringStream;\n CodeMirror.SharedTextMarker = SharedTextMarker;\n CodeMirror.TextMarker = TextMarker;\n CodeMirror.LineWidget = LineWidget;\n CodeMirror.e_preventDefault = e_preventDefault;\n CodeMirror.e_stopPropagation = e_stopPropagation;\n CodeMirror.e_stop = e_stop;\n CodeMirror.addClass = addClass;\n CodeMirror.contains = contains;\n CodeMirror.rmClass = rmClass;\n CodeMirror.keyNames = keyNames;\n }\n\n // EDITOR CONSTRUCTOR\n\n defineOptions(CodeMirror);\n\n addEditorMethods(CodeMirror);\n\n // Set up methods on CodeMirror's prototype to redirect to the editor's document.\n var dontDelegate = \"iter insert remove copy getEditor constructor\".split(\" \");\n for (var prop in Doc.prototype) { if (Doc.prototype.hasOwnProperty(prop) && indexOf(dontDelegate, prop) < 0)\n { CodeMirror.prototype[prop] = (function(method) {\n return function() {return method.apply(this.doc, arguments)}\n })(Doc.prototype[prop]); } }\n\n eventMixin(Doc);\n CodeMirror.inputStyles = {\"textarea\": TextareaInput, \"contenteditable\": ContentEditableInput};\n\n // Extra arguments are stored as the mode's dependencies, which is\n // used by (legacy) mechanisms like loadmode.js to automatically\n // load a mode. (Preferred mechanism is the require/define calls.)\n CodeMirror.defineMode = function(name/*, mode, …*/) {\n if (!CodeMirror.defaults.mode && name != \"null\") { CodeMirror.defaults.mode = name; }\n defineMode.apply(this, arguments);\n };\n\n CodeMirror.defineMIME = defineMIME;\n\n // Minimal default mode.\n CodeMirror.defineMode(\"null\", function () { return ({token: function (stream) { return stream.skipToEnd(); }}); });\n CodeMirror.defineMIME(\"text/plain\", \"null\");\n\n // EXTENSIONS\n\n CodeMirror.defineExtension = function (name, func) {\n CodeMirror.prototype[name] = func;\n };\n CodeMirror.defineDocExtension = function (name, func) {\n Doc.prototype[name] = func;\n };\n\n CodeMirror.fromTextArea = fromTextArea;\n\n addLegacyProps(CodeMirror);\n\n CodeMirror.version = \"5.48.4\";\n\n return CodeMirror;\n\n})));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9saWIvY29kZW1pcnJvci5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb2RlbWlycm9yL2xpYi9jb2RlbWlycm9yLmpzPzU2YjMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29kZU1pcnJvciwgY29weXJpZ2h0IChjKSBieSBNYXJpam4gSGF2ZXJiZWtlIGFuZCBvdGhlcnNcbi8vIERpc3RyaWJ1dGVkIHVuZGVyIGFuIE1JVCBsaWNlbnNlOiBodHRwczovL2NvZGVtaXJyb3IubmV0L0xJQ0VOU0VcblxuLy8gVGhpcyBpcyBDb2RlTWlycm9yIChodHRwczovL2NvZGVtaXJyb3IubmV0KSwgYSBjb2RlIGVkaXRvclxuLy8gaW1wbGVtZW50ZWQgaW4gSmF2YVNjcmlwdCBvbiB0b3Agb2YgdGhlIGJyb3dzZXIncyBET00uXG4vL1xuLy8gWW91IGNhbiBmaW5kIHNvbWUgdGVjaG5pY2FsIGJhY2tncm91bmQgZm9yIHNvbWUgb2YgdGhlIGNvZGUgYmVsb3dcbi8vIGF0IGh0dHA6Ly9tYXJpam5oYXZlcmJla2UubmwvYmxvZy8jY20taW50ZXJuYWxzIC5cblxuKGZ1bmN0aW9uIChnbG9iYWwsIGZhY3RvcnkpIHtcbiAgdHlwZW9mIGV4cG9ydHMgPT09ICdvYmplY3QnICYmIHR5cGVvZiBtb2R1bGUgIT09ICd1bmRlZmluZWQnID8gbW9kdWxlLmV4cG9ydHMgPSBmYWN0b3J5KCkgOlxuICB0eXBlb2YgZGVmaW5lID09PSAnZnVuY3Rpb24nICYmIGRlZmluZS5hbWQgPyBkZWZpbmUoZmFjdG9yeSkgOlxuICAoZ2xvYmFsLkNvZGVNaXJyb3IgPSBmYWN0b3J5KCkpO1xufSh0aGlzLCAoZnVuY3Rpb24gKCkgeyAndXNlIHN0cmljdCc7XG5cbiAgLy8gS2x1ZGdlcyBmb3IgYnVncyBhbmQgYmVoYXZpb3IgZGlmZmVyZW5jZXMgdGhhdCBjYW4ndCBiZSBmZWF0dXJlXG4gIC8vIGRldGVjdGVkIGFyZSBlbmFibGVkIGJhc2VkIG9uIHVzZXJBZ2VudCBldGMgc25pZmZpbmcuXG4gIHZhciB1c2VyQWdlbnQgPSBuYXZpZ2F0b3IudXNlckFnZW50O1xuICB2YXIgcGxhdGZvcm0gPSBuYXZpZ2F0b3IucGxhdGZvcm07XG5cbiAgdmFyIGdlY2tvID0gL2dlY2tvXFwvXFxkL2kudGVzdCh1c2VyQWdlbnQpO1xuICB2YXIgaWVfdXB0bzEwID0gL01TSUUgXFxkLy50ZXN0KHVzZXJBZ2VudCk7XG4gIHZhciBpZV8xMXVwID0gL1RyaWRlbnRcXC8oPzpbNy05XXxcXGR7Mix9KVxcLi4qcnY6KFxcZCspLy5leGVjKHVzZXJBZ2VudCk7XG4gIHZhciBlZGdlID0gL0VkZ2VcXC8oXFxkKykvLmV4ZWModXNlckFnZW50KTtcbiAgdmFyIGllID0gaWVfdXB0bzEwIHx8IGllXzExdXAgfHwgZWRnZTtcbiAgdmFyIGllX3ZlcnNpb24gPSBpZSAmJiAoaWVfdXB0bzEwID8gZG9jdW1lbnQuZG9jdW1lbnRNb2RlIHx8IDYgOiArKGVkZ2UgfHwgaWVfMTF1cClbMV0pO1xuICB2YXIgd2Via2l0ID0gIWVkZ2UgJiYgL1dlYktpdFxcLy8udGVzdCh1c2VyQWdlbnQpO1xuICB2YXIgcXR3ZWJraXQgPSB3ZWJraXQgJiYgL1F0XFwvXFxkK1xcLlxcZCsvLnRlc3QodXNlckFnZW50KTtcbiAgdmFyIGNocm9tZSA9ICFlZGdlICYmIC9DaHJvbWVcXC8vLnRlc3QodXNlckFnZW50KTtcbiAgdmFyIHByZXN0byA9IC9PcGVyYVxcLy8udGVzdCh1c2VyQWdlbnQpO1xuICB2YXIgc2FmYXJpID0gL0FwcGxlIENvbXB1dGVyLy50ZXN0KG5hdmlnYXRvci52ZW5kb3IpO1xuICB2YXIgbWFjX2dlTW91bnRhaW5MaW9uID0gL01hYyBPUyBYIDFcXGRcXEQoWzgtOV18XFxkXFxkKVxcRC8udGVzdCh1c2VyQWdlbnQpO1xuICB2YXIgcGhhbnRvbSA9IC9QaGFudG9tSlMvLnRlc3QodXNlckFnZW50KTtcblxuICB2YXIgaW9zID0gIWVkZ2UgJiYgL0FwcGxlV2ViS2l0Ly50ZXN0KHVzZXJBZ2VudCkgJiYgL01vYmlsZVxcL1xcdysvLnRlc3QodXNlckFnZW50KTtcbiAgdmFyIGFuZHJvaWQgPSAvQW5kcm9pZC8udGVzdCh1c2VyQWdlbnQpO1xuICAvLyBUaGlzIGlzIHdvZWZ1bGx5IGluY29tcGxldGUuIFN1Z2dlc3Rpb25zIGZvciBhbHRlcm5hdGl2ZSBtZXRob2RzIHdlbGNvbWUuXG4gIHZhciBtb2JpbGUgPSBpb3MgfHwgYW5kcm9pZCB8fCAvd2ViT1N8QmxhY2tCZXJyeXxPcGVyYSBNaW5pfE9wZXJhIE1vYml8SUVNb2JpbGUvaS50ZXN0KHVzZXJBZ2VudCk7XG4gIHZhciBtYWMgPSBpb3MgfHwgL01hYy8udGVzdChwbGF0Zm9ybSk7XG4gIHZhciBjaHJvbWVPUyA9IC9cXGJDck9TXFxiLy50ZXN0KHVzZXJBZ2VudCk7XG4gIHZhciB3aW5kb3dzID0gL3dpbi9pLnRlc3QocGxhdGZvcm0pO1xuXG4gIHZhciBwcmVzdG9fdmVyc2lvbiA9IHByZXN0byAmJiB1c2VyQWdlbnQubWF0Y2goL1ZlcnNpb25cXC8oXFxkKlxcLlxcZCopLyk7XG4gIGlmIChwcmVzdG9fdmVyc2lvbikgeyBwcmVzdG9fdmVyc2lvbiA9IE51bWJlcihwcmVzdG9fdmVyc2lvblsxXSk7IH1cbiAgaWYgKHByZXN0b192ZXJzaW9uICYmIHByZXN0b192ZXJzaW9uID49IDE1KSB7IHByZXN0byA9IGZhbHNlOyB3ZWJraXQgPSB0cnVlOyB9XG4gIC8vIFNvbWUgYnJvd3NlcnMgdXNlIHRoZSB3cm9uZyBldmVudCBwcm9wZXJ0aWVzIHRvIHNpZ25hbCBjbWQvY3RybCBvbiBPUyBYXG4gIHZhciBmbGlwQ3RybENtZCA9IG1hYyAmJiAocXR3ZWJraXQgfHwgcHJlc3RvICYmIChwcmVzdG9fdmVyc2lvbiA9PSBudWxsIHx8IHByZXN0b192ZXJzaW9uIDwgMTIuMTEpKTtcbiAgdmFyIGNhcHR1cmVSaWdodENsaWNrID0gZ2Vja28gfHwgKGllICYmIGllX3ZlcnNpb24gPj0gOSk7XG5cbiAgZnVuY3Rpb24gY2xhc3NUZXN0KGNscykgeyByZXR1cm4gbmV3IFJlZ0V4cChcIihefFxcXFxzKVwiICsgY2xzICsgXCIoPzokfFxcXFxzKVxcXFxzKlwiKSB9XG5cbiAgdmFyIHJtQ2xhc3MgPSBmdW5jdGlvbihub2RlLCBjbHMpIHtcbiAgICB2YXIgY3VycmVudCA9IG5vZGUuY2xhc3NOYW1lO1xuICAgIHZhciBtYXRjaCA9IGNsYXNzVGVzdChjbHMpLmV4ZWMoY3VycmVudCk7XG4gICAgaWYgKG1hdGNoKSB7XG4gICAgICB2YXIgYWZ0ZXIgPSBjdXJyZW50LnNsaWNlKG1hdGNoLmluZGV4ICsgbWF0Y2hbMF0ubGVuZ3RoKTtcbiAgICAgIG5vZGUuY2xhc3NOYW1lID0gY3VycmVudC5zbGljZSgwLCBtYXRjaC5pbmRleCkgKyAoYWZ0ZXIgPyBtYXRjaFsxXSArIGFmdGVyIDogXCJcIik7XG4gICAgfVxuICB9O1xuXG4gIGZ1bmN0aW9uIHJlbW92ZUNoaWxkcmVuKGUpIHtcbiAgICBmb3IgKHZhciBjb3VudCA9IGUuY2hpbGROb2Rlcy5sZW5ndGg7IGNvdW50ID4gMDsgLS1jb3VudClcbiAgICAgIHsgZS5yZW1vdmVDaGlsZChlLmZpcnN0Q2hpbGQpOyB9XG4gICAgcmV0dXJuIGVcbiAgfVxuXG4gIGZ1bmN0aW9uIHJlbW92ZUNoaWxkcmVuQW5kQWRkKHBhcmVudCwgZSkge1xuICAgIHJldHVybiByZW1vdmVDaGlsZHJlbihwYXJlbnQpLmFwcGVuZENoaWxkKGUpXG4gIH1cblxuICBmdW5jdGlvbiBlbHQodGFnLCBjb250ZW50LCBjbGFzc05hbWUsIHN0eWxlKSB7XG4gICAgdmFyIGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZyk7XG4gICAgaWYgKGNsYXNzTmFtZSkgeyBlLmNsYXNzTmFtZSA9IGNsYXNzTmFtZTsgfVxuICAgIGlmIChzdHlsZSkgeyBlLnN0eWxlLmNzc1RleHQgPSBzdHlsZTsgfVxuICAgIGlmICh0eXBlb2YgY29udGVudCA9PSBcInN0cmluZ1wiKSB7IGUuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoY29udGVudCkpOyB9XG4gICAgZWxzZSBpZiAoY29udGVudCkgeyBmb3IgKHZhciBpID0gMDsgaSA8IGNvbnRlbnQubGVuZ3RoOyArK2kpIHsgZS5hcHBlbmRDaGlsZChjb250ZW50W2ldKTsgfSB9XG4gICAgcmV0dXJuIGVcbiAgfVxuICAvLyB3cmFwcGVyIGZvciBlbHQsIHdoaWNoIHJlbW92ZXMgdGhlIGVsdCBmcm9tIHRoZSBhY2Nlc3NpYmlsaXR5IHRyZWVcbiAgZnVuY3Rpb24gZWx0UCh0YWcsIGNvbnRlbnQsIGNsYXNzTmFtZSwgc3R5bGUpIHtcbiAgICB2YXIgZSA9IGVsdCh0YWcsIGNvbnRlbnQsIGNsYXNzTmFtZSwgc3R5bGUpO1xuICAgIGUuc2V0QXR0cmlidXRlKFwicm9sZVwiLCBcInByZXNlbnRhdGlvblwiKTtcbiAgICByZXR1cm4gZVxuICB9XG5cbiAgdmFyIHJhbmdlO1xuICBpZiAoZG9jdW1lbnQuY3JlYXRlUmFuZ2UpIHsgcmFuZ2UgPSBmdW5jdGlvbihub2RlLCBzdGFydCwgZW5kLCBlbmROb2RlKSB7XG4gICAgdmFyIHIgPSBkb2N1bWVudC5jcmVhdGVSYW5nZSgpO1xuICAgIHIuc2V0RW5kKGVuZE5vZGUgfHwgbm9kZSwgZW5kKTtcbiAgICByLnNldFN0YXJ0KG5vZGUsIHN0YXJ0KTtcbiAgICByZXR1cm4gclxuICB9OyB9XG4gIGVsc2UgeyByYW5nZSA9IGZ1bmN0aW9uKG5vZGUsIHN0YXJ0LCBlbmQpIHtcbiAgICB2YXIgciA9IGRvY3VtZW50LmJvZHkuY3JlYXRlVGV4dFJhbmdlKCk7XG4gICAgdHJ5IHsgci5tb3ZlVG9FbGVtZW50VGV4dChub2RlLnBhcmVudE5vZGUpOyB9XG4gICAgY2F0Y2goZSkgeyByZXR1cm4gciB9XG4gICAgci5jb2xsYXBzZSh0cnVlKTtcbiAgICByLm1vdmVFbmQoXCJjaGFyYWN0ZXJcIiwgZW5kKTtcbiAgICByLm1vdmVTdGFydChcImNoYXJhY3RlclwiLCBzdGFydCk7XG4gICAgcmV0dXJuIHJcbiAgfTsgfVxuXG4gIGZ1bmN0aW9uIGNvbnRhaW5zKHBhcmVudCwgY2hpbGQpIHtcbiAgICBpZiAoY2hpbGQubm9kZVR5cGUgPT0gMykgLy8gQW5kcm9pZCBicm93c2VyIGFsd2F5cyByZXR1cm5zIGZhbHNlIHdoZW4gY2hpbGQgaXMgYSB0ZXh0bm9kZVxuICAgICAgeyBjaGlsZCA9IGNoaWxkLnBhcmVudE5vZGU7IH1cbiAgICBpZiAocGFyZW50LmNvbnRhaW5zKVxuICAgICAgeyByZXR1cm4gcGFyZW50LmNvbnRhaW5zKGNoaWxkKSB9XG4gICAgZG8ge1xuICAgICAgaWYgKGNoaWxkLm5vZGVUeXBlID09IDExKSB7IGNoaWxkID0gY2hpbGQuaG9zdDsgfVxuICAgICAgaWYgKGNoaWxkID09IHBhcmVudCkgeyByZXR1cm4gdHJ1ZSB9XG4gICAgfSB3aGlsZSAoY2hpbGQgPSBjaGlsZC5wYXJlbnROb2RlKVxuICB9XG5cbiAgZnVuY3Rpb24gYWN0aXZlRWx0KCkge1xuICAgIC8vIElFIGFuZCBFZGdlIG1heSB0aHJvdyBhbiBcIlVuc3BlY2lmaWVkIEVycm9yXCIgd2hlbiBhY2Nlc3NpbmcgZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5cbiAgICAvLyBJRSA8IDEwIHdpbGwgdGhyb3cgd2hlbiBhY2Nlc3NlZCB3aGlsZSB0aGUgcGFnZSBpcyBsb2FkaW5nIG9yIGluIGFuIGlmcmFtZS5cbiAgICAvLyBJRSA+IDkgYW5kIEVkZ2Ugd2lsbCB0aHJvdyB3aGVuIGFjY2Vzc2VkIGluIGFuIGlmcmFtZSBpZiBkb2N1bWVudC5ib2R5IGlzIHVuYXZhaWxhYmxlLlxuICAgIHZhciBhY3RpdmVFbGVtZW50O1xuICAgIHRyeSB7XG4gICAgICBhY3RpdmVFbGVtZW50ID0gZG9jdW1lbnQuYWN0aXZlRWxlbWVudDtcbiAgICB9IGNhdGNoKGUpIHtcbiAgICAgIGFjdGl2ZUVsZW1lbnQgPSBkb2N1bWVudC5ib2R5IHx8IG51bGw7XG4gICAgfVxuICAgIHdoaWxlIChhY3RpdmVFbGVtZW50ICYmIGFjdGl2ZUVsZW1lbnQuc2hhZG93Um9vdCAmJiBhY3RpdmVFbGVtZW50LnNoYWRvd1Jvb3QuYWN0aXZlRWxlbWVudClcbiAgICAgIHsgYWN0aXZlRWxlbWVudCA9IGFjdGl2ZUVsZW1lbnQuc2hhZG93Um9vdC5hY3RpdmVFbGVtZW50OyB9XG4gICAgcmV0dXJuIGFjdGl2ZUVsZW1lbnRcbiAgfVxuXG4gIGZ1bmN0aW9uIGFkZENsYXNzKG5vZGUsIGNscykge1xuICAgIHZhciBjdXJyZW50ID0gbm9kZS5jbGFzc05hbWU7XG4gICAgaWYgKCFjbGFzc1Rlc3QoY2xzKS50ZXN0KGN1cnJlbnQpKSB7IG5vZGUuY2xhc3NOYW1lICs9IChjdXJyZW50ID8gXCIgXCIgOiBcIlwiKSArIGNsczsgfVxuICB9XG4gIGZ1bmN0aW9uIGpvaW5DbGFzc2VzKGEsIGIpIHtcbiAgICB2YXIgYXMgPSBhLnNwbGl0KFwiIFwiKTtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGFzLmxlbmd0aDsgaSsrKVxuICAgICAgeyBpZiAoYXNbaV0gJiYgIWNsYXNzVGVzdChhc1tpXSkudGVzdChiKSkgeyBiICs9IFwiIFwiICsgYXNbaV07IH0gfVxuICAgIHJldHVybiBiXG4gIH1cblxuICB2YXIgc2VsZWN0SW5wdXQgPSBmdW5jdGlvbihub2RlKSB7IG5vZGUuc2VsZWN0KCk7IH07XG4gIGlmIChpb3MpIC8vIE1vYmlsZSBTYWZhcmkgYXBwYXJlbnRseSBoYXMgYSBidWcgd2hlcmUgc2VsZWN0KCkgaXMgYnJva2VuLlxuICAgIHsgc2VsZWN0SW5wdXQgPSBmdW5jdGlvbihub2RlKSB7IG5vZGUuc2VsZWN0aW9uU3RhcnQgPSAwOyBub2RlLnNlbGVjdGlvbkVuZCA9IG5vZGUudmFsdWUubGVuZ3RoOyB9OyB9XG4gIGVsc2UgaWYgKGllKSAvLyBTdXBwcmVzcyBteXN0ZXJpb3VzIElFMTAgZXJyb3JzXG4gICAgeyBzZWxlY3RJbnB1dCA9IGZ1bmN0aW9uKG5vZGUpIHsgdHJ5IHsgbm9kZS5zZWxlY3QoKTsgfSBjYXRjaChfZSkge30gfTsgfVxuXG4gIGZ1bmN0aW9uIGJpbmQoZikge1xuICAgIHZhciBhcmdzID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLCAxKTtcbiAgICByZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gZi5hcHBseShudWxsLCBhcmdzKX1cbiAgfVxuXG4gIGZ1bmN0aW9uIGNvcHlPYmoob2JqLCB0YXJnZXQsIG92ZXJ3cml0ZSkge1xuICAgIGlmICghdGFyZ2V0KSB7IHRhcmdldCA9IHt9OyB9XG4gICAgZm9yICh2YXIgcHJvcCBpbiBvYmopXG4gICAgICB7IGlmIChvYmouaGFzT3duUHJvcGVydHkocHJvcCkgJiYgKG92ZXJ3cml0ZSAhPT0gZmFsc2UgfHwgIXRhcmdldC5oYXNPd25Qcm9wZXJ0eShwcm9wKSkpXG4gICAgICAgIHsgdGFyZ2V0W3Byb3BdID0gb2JqW3Byb3BdOyB9IH1cbiAgICByZXR1cm4gdGFyZ2V0XG4gIH1cblxuICAvLyBDb3VudHMgdGhlIGNvbHVtbiBvZmZzZXQgaW4gYSBzdHJpbmcsIHRha2luZyB0YWJzIGludG8gYWNjb3VudC5cbiAgLy8gVXNlZCBtb3N0bHkgdG8gZmluZCBpbmRlbnRhdGlvbi5cbiAgZnVuY3Rpb24gY291bnRDb2x1bW4oc3RyaW5nLCBlbmQsIHRhYlNpemUsIHN0YXJ0SW5kZXgsIHN0YXJ0VmFsdWUpIHtcbiAgICBpZiAoZW5kID09IG51bGwpIHtcbiAgICAgIGVuZCA9IHN0cmluZy5zZWFyY2goL1teXFxzXFx1MDBhMF0vKTtcbiAgICAgIGlmIChlbmQgPT0gLTEpIHsgZW5kID0gc3RyaW5nLmxlbmd0aDsgfVxuICAgIH1cbiAgICBmb3IgKHZhciBpID0gc3RhcnRJbmRleCB8fCAwLCBuID0gc3RhcnRWYWx1ZSB8fCAwOzspIHtcbiAgICAgIHZhciBuZXh0VGFiID0gc3RyaW5nLmluZGV4T2YoXCJcXHRcIiwgaSk7XG4gICAgICBpZiAobmV4dFRhYiA8IDAgfHwgbmV4dFRhYiA+PSBlbmQpXG4gICAgICAgIHsgcmV0dXJuIG4gKyAoZW5kIC0gaSkgfVxuICAgICAgbiArPSBuZXh0VGFiIC0gaTtcbiAgICAgIG4gKz0gdGFiU2l6ZSAtIChuICUgdGFiU2l6ZSk7XG4gICAgICBpID0gbmV4dFRhYiArIDE7XG4gICAgfVxuICB9XG5cbiAgdmFyIERlbGF5ZWQgPSBmdW5jdGlvbigpIHt0aGlzLmlkID0gbnVsbDt9O1xuICBEZWxheWVkLnByb3RvdHlwZS5zZXQgPSBmdW5jdGlvbiAobXMsIGYpIHtcbiAgICBjbGVhclRpbWVvdXQodGhpcy5pZCk7XG4gICAgdGhpcy5pZCA9IHNldFRpbWVvdXQoZiwgbXMpO1xuICB9O1xuXG4gIGZ1bmN0aW9uIGluZGV4T2YoYXJyYXksIGVsdCkge1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYXJyYXkubGVuZ3RoOyArK2kpXG4gICAgICB7IGlmIChhcnJheVtpXSA9PSBlbHQpIHsgcmV0dXJuIGkgfSB9XG4gICAgcmV0dXJuIC0xXG4gIH1cblxuICAvLyBOdW1iZXIgb2YgcGl4ZWxzIGFkZGVkIHRvIHNjcm9sbGVyIGFuZCBzaXplciB0byBoaWRlIHNjcm9sbGJhclxuICB2YXIgc2Nyb2xsZXJHYXAgPSAzMDtcblxuICAvLyBSZXR1cm5lZCBvciB0aHJvd24gYnkgdmFyaW91cyBwcm90b2NvbHMgdG8gc2lnbmFsICdJJ20gbm90XG4gIC8vIGhhbmRsaW5nIHRoaXMnLlxuICB2YXIgUGFzcyA9IHt0b1N0cmluZzogZnVuY3Rpb24oKXtyZXR1cm4gXCJDb2RlTWlycm9yLlBhc3NcIn19O1xuXG4gIC8vIFJldXNlZCBvcHRpb24gb2JqZWN0cyBmb3Igc2V0U2VsZWN0aW9uICYgZnJpZW5kc1xuICB2YXIgc2VsX2RvbnRTY3JvbGwgPSB7c2Nyb2xsOiBmYWxzZX0sIHNlbF9tb3VzZSA9IHtvcmlnaW46IFwiKm1vdXNlXCJ9LCBzZWxfbW92ZSA9IHtvcmlnaW46IFwiK21vdmVcIn07XG5cbiAgLy8gVGhlIGludmVyc2Ugb2YgY291bnRDb2x1bW4gLS0gZmluZCB0aGUgb2Zmc2V0IHRoYXQgY29ycmVzcG9uZHMgdG9cbiAgLy8gYSBwYXJ0aWN1bGFyIGNvbHVtbi5cbiAgZnVuY3Rpb24gZmluZENvbHVtbihzdHJpbmcsIGdvYWwsIHRhYlNpemUpIHtcbiAgICBmb3IgKHZhciBwb3MgPSAwLCBjb2wgPSAwOzspIHtcbiAgICAgIHZhciBuZXh0VGFiID0gc3RyaW5nLmluZGV4T2YoXCJcXHRcIiwgcG9zKTtcbiAgICAgIGlmIChuZXh0VGFiID09IC0xKSB7IG5leHRUYWIgPSBzdHJpbmcubGVuZ3RoOyB9XG4gICAgICB2YXIgc2tpcHBlZCA9IG5leHRUYWIgLSBwb3M7XG4gICAgICBpZiAobmV4dFRhYiA9PSBzdHJpbmcubGVuZ3RoIHx8IGNvbCArIHNraXBwZWQgPj0gZ29hbClcbiAgICAgICAgeyByZXR1cm4gcG9zICsgTWF0aC5taW4oc2tpcHBlZCwgZ29hbCAtIGNvbCkgfVxuICAgICAgY29sICs9IG5leHRUYWIgLSBwb3M7XG4gICAgICBjb2wgKz0gdGFiU2l6ZSAtIChjb2wgJSB0YWJTaXplKTtcbiAgICAgIHBvcyA9IG5leHRUYWIgKyAxO1xuICAgICAgaWYgKGNvbCA+PSBnb2FsKSB7IHJldHVybiBwb3MgfVxuICAgIH1cbiAgfVxuXG4gIHZhciBzcGFjZVN0cnMgPSBbXCJcIl07XG4gIGZ1bmN0aW9uIHNwYWNlU3RyKG4pIHtcbiAgICB3aGlsZSAoc3BhY2VTdHJzLmxlbmd0aCA8PSBuKVxuICAgICAgeyBzcGFjZVN0cnMucHVzaChsc3Qoc3BhY2VTdHJzKSArIFwiIFwiKTsgfVxuICAgIHJldHVybiBzcGFjZVN0cnNbbl1cbiAgfVxuXG4gIGZ1bmN0aW9uIGxzdChhcnIpIHsgcmV0dXJuIGFyclthcnIubGVuZ3RoLTFdIH1cblxuICBmdW5jdGlvbiBtYXAoYXJyYXksIGYpIHtcbiAgICB2YXIgb3V0ID0gW107XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBhcnJheS5sZW5ndGg7IGkrKykgeyBvdXRbaV0gPSBmKGFycmF5W2ldLCBpKTsgfVxuICAgIHJldHVybiBvdXRcbiAgfVxuXG4gIGZ1bmN0aW9uIGluc2VydFNvcnRlZChhcnJheSwgdmFsdWUsIHNjb3JlKSB7XG4gICAgdmFyIHBvcyA9IDAsIHByaW9yaXR5ID0gc2NvcmUodmFsdWUpO1xuICAgIHdoaWxlIChwb3MgPCBhcnJheS5sZW5ndGggJiYgc2NvcmUoYXJyYXlbcG9zXSkgPD0gcHJpb3JpdHkpIHsgcG9zKys7IH1cbiAgICBhcnJheS5zcGxpY2UocG9zLCAwLCB2YWx1ZSk7XG4gIH1cblxuICBmdW5jdGlvbiBub3RoaW5nKCkge31cblxuICBmdW5jdGlvbiBjcmVhdGVPYmooYmFzZSwgcHJvcHMpIHtcbiAgICB2YXIgaW5zdDtcbiAgICBpZiAoT2JqZWN0LmNyZWF0ZSkge1xuICAgICAgaW5zdCA9IE9iamVjdC5jcmVhdGUoYmFzZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIG5vdGhpbmcucHJvdG90eXBlID0gYmFzZTtcbiAgICAgIGluc3QgPSBuZXcgbm90aGluZygpO1xuICAgIH1cbiAgICBpZiAocHJvcHMpIHsgY29weU9iaihwcm9wcywgaW5zdCk7IH1cbiAgICByZXR1cm4gaW5zdFxuICB9XG5cbiAgdmFyIG5vbkFTQ0lJU2luZ2xlQ2FzZVdvcmRDaGFyID0gL1tcXHUwMGRmXFx1MDU4N1xcdTA1OTAtXFx1MDVmNFxcdTA2MDAtXFx1MDZmZlxcdTMwNDAtXFx1MzA5ZlxcdTMwYTAtXFx1MzBmZlxcdTM0MDAtXFx1NGRiNVxcdTRlMDAtXFx1OWZjY1xcdWFjMDAtXFx1ZDdhZl0vO1xuICBmdW5jdGlvbiBpc1dvcmRDaGFyQmFzaWMoY2gpIHtcbiAgICByZXR1cm4gL1xcdy8udGVzdChjaCkgfHwgY2ggPiBcIlxceDgwXCIgJiZcbiAgICAgIChjaC50b1VwcGVyQ2FzZSgpICE9IGNoLnRvTG93ZXJDYXNlKCkgfHwgbm9uQVNDSUlTaW5nbGVDYXNlV29yZENoYXIudGVzdChjaCkpXG4gIH1cbiAgZnVuY3Rpb24gaXNXb3JkQ2hhcihjaCwgaGVscGVyKSB7XG4gICAgaWYgKCFoZWxwZXIpIHsgcmV0dXJuIGlzV29yZENoYXJCYXNpYyhjaCkgfVxuICAgIGlmIChoZWxwZXIuc291cmNlLmluZGV4T2YoXCJcXFxcd1wiKSA+IC0xICYmIGlzV29yZENoYXJCYXNpYyhjaCkpIHsgcmV0dXJuIHRydWUgfVxuICAgIHJldHVybiBoZWxwZXIudGVzdChjaClcbiAgfVxuXG4gIGZ1bmN0aW9uIGlzRW1wdHkob2JqKSB7XG4gICAgZm9yICh2YXIgbiBpbiBvYmopIHsgaWYgKG9iai5oYXNPd25Qcm9wZXJ0eShuKSAmJiBvYmpbbl0pIHsgcmV0dXJuIGZhbHNlIH0gfVxuICAgIHJldHVybiB0cnVlXG4gIH1cblxuICAvLyBFeHRlbmRpbmcgdW5pY29kZSBjaGFyYWN0ZXJzLiBBIHNlcmllcyBvZiBhIG5vbi1leHRlbmRpbmcgY2hhciArXG4gIC8vIGFueSBudW1iZXIgb2YgZXh0ZW5kaW5nIGNoYXJzIGlzIHRyZWF0ZWQgYXMgYSBzaW5nbGUgdW5pdCBhcyBmYXJcbiAgLy8gYXMgZWRpdGluZyBhbmQgbWVhc3VyaW5nIGlzIGNvbmNlcm5lZC4gVGhpcyBpcyBub3QgZnVsbHkgY29ycmVjdCxcbiAgLy8gc2luY2Ugc29tZSBzY3JpcHRzL2ZvbnRzL2Jyb3dzZXJzIGFsc28gdHJlYXQgb3RoZXIgY29uZmlndXJhdGlvbnNcbiAgLy8gb2YgY29kZSBwb2ludHMgYXMgYSBncm91cC5cbiAgdmFyIGV4dGVuZGluZ0NoYXJzID0gL1tcXHUwMzAwLVxcdTAzNmZcXHUwNDgzLVxcdTA0ODlcXHUwNTkxLVxcdTA1YmRcXHUwNWJmXFx1MDVjMVxcdTA1YzJcXHUwNWM0XFx1MDVjNVxcdTA1YzdcXHUwNjEwLVxcdTA2MWFcXHUwNjRiLVxcdTA2NWVcXHUwNjcwXFx1MDZkNi1cXHUwNmRjXFx1MDZkZS1cXHUwNmU0XFx1MDZlN1xcdTA2ZThcXHUwNmVhLVxcdTA2ZWRcXHUwNzExXFx1MDczMC1cXHUwNzRhXFx1MDdhNi1cXHUwN2IwXFx1MDdlYi1cXHUwN2YzXFx1MDgxNi1cXHUwODE5XFx1MDgxYi1cXHUwODIzXFx1MDgyNS1cXHUwODI3XFx1MDgyOS1cXHUwODJkXFx1MDkwMC1cXHUwOTAyXFx1MDkzY1xcdTA5NDEtXFx1MDk0OFxcdTA5NGRcXHUwOTUxLVxcdTA5NTVcXHUwOTYyXFx1MDk2M1xcdTA5ODFcXHUwOWJjXFx1MDliZVxcdTA5YzEtXFx1MDljNFxcdTA5Y2RcXHUwOWQ3XFx1MDllMlxcdTA5ZTNcXHUwYTAxXFx1MGEwMlxcdTBhM2NcXHUwYTQxXFx1MGE0MlxcdTBhNDdcXHUwYTQ4XFx1MGE0Yi1cXHUwYTRkXFx1MGE1MVxcdTBhNzBcXHUwYTcxXFx1MGE3NVxcdTBhODFcXHUwYTgyXFx1MGFiY1xcdTBhYzEtXFx1MGFjNVxcdTBhYzdcXHUwYWM4XFx1MGFjZFxcdTBhZTJcXHUwYWUzXFx1MGIwMVxcdTBiM2NcXHUwYjNlXFx1MGIzZlxcdTBiNDEtXFx1MGI0NFxcdTBiNGRcXHUwYjU2XFx1MGI1N1xcdTBiNjJcXHUwYjYzXFx1MGI4MlxcdTBiYmVcXHUwYmMwXFx1MGJjZFxcdTBiZDdcXHUwYzNlLVxcdTBjNDBcXHUwYzQ2LVxcdTBjNDhcXHUwYzRhLVxcdTBjNGRcXHUwYzU1XFx1MGM1NlxcdTBjNjJcXHUwYzYzXFx1MGNiY1xcdTBjYmZcXHUwY2MyXFx1MGNjNlxcdTBjY2NcXHUwY2NkXFx1MGNkNVxcdTBjZDZcXHUwY2UyXFx1MGNlM1xcdTBkM2VcXHUwZDQxLVxcdTBkNDRcXHUwZDRkXFx1MGQ1N1xcdTBkNjJcXHUwZDYzXFx1MGRjYVxcdTBkY2ZcXHUwZGQyLVxcdTBkZDRcXHUwZGQ2XFx1MGRkZlxcdTBlMzFcXHUwZTM0LVxcdTBlM2FcXHUwZTQ3LVxcdTBlNGVcXHUwZWIxXFx1MGViNC1cXHUwZWI5XFx1MGViYlxcdTBlYmNcXHUwZWM4LVxcdTBlY2RcXHUwZjE4XFx1MGYxOVxcdTBmMzVcXHUwZjM3XFx1MGYzOVxcdTBmNzEtXFx1MGY3ZVxcdTBmODAtXFx1MGY4NFxcdTBmODZcXHUwZjg3XFx1MGY5MC1cXHUwZjk3XFx1MGY5OS1cXHUwZmJjXFx1MGZjNlxcdTEwMmQtXFx1MTAzMFxcdTEwMzItXFx1MTAzN1xcdTEwMzlcXHUxMDNhXFx1MTAzZFxcdTEwM2VcXHUxMDU4XFx1MTA1OVxcdTEwNWUtXFx1MTA2MFxcdTEwNzEtXFx1MTA3NFxcdTEwODJcXHUxMDg1XFx1MTA4NlxcdTEwOGRcXHUxMDlkXFx1MTM1ZlxcdTE3MTItXFx1MTcxNFxcdTE3MzItXFx1MTczNFxcdTE3NTJcXHUxNzUzXFx1MTc3MlxcdTE3NzNcXHUxN2I3LVxcdTE3YmRcXHUxN2M2XFx1MTdjOS1cXHUxN2QzXFx1MTdkZFxcdTE4MGItXFx1MTgwZFxcdTE4YTlcXHUxOTIwLVxcdTE5MjJcXHUxOTI3XFx1MTkyOFxcdTE5MzJcXHUxOTM5LVxcdTE5M2JcXHUxYTE3XFx1MWExOFxcdTFhNTZcXHUxYTU4LVxcdTFhNWVcXHUxYTYwXFx1MWE2MlxcdTFhNjUtXFx1MWE2Y1xcdTFhNzMtXFx1MWE3Y1xcdTFhN2ZcXHUxYjAwLVxcdTFiMDNcXHUxYjM0XFx1MWIzNi1cXHUxYjNhXFx1MWIzY1xcdTFiNDJcXHUxYjZiLVxcdTFiNzNcXHUxYjgwXFx1MWI4MVxcdTFiYTItXFx1MWJhNVxcdTFiYThcXHUxYmE5XFx1MWMyYy1cXHUxYzMzXFx1MWMzNlxcdTFjMzdcXHUxY2QwLVxcdTFjZDJcXHUxY2Q0LVxcdTFjZTBcXHUxY2UyLVxcdTFjZThcXHUxY2VkXFx1MWRjMC1cXHUxZGU2XFx1MWRmZC1cXHUxZGZmXFx1MjAwY1xcdTIwMGRcXHUyMGQwLVxcdTIwZjBcXHUyY2VmLVxcdTJjZjFcXHUyZGUwLVxcdTJkZmZcXHUzMDJhLVxcdTMwMmZcXHUzMDk5XFx1MzA5YVxcdWE2NmYtXFx1YTY3MlxcdWE2N2NcXHVhNjdkXFx1YTZmMFxcdWE2ZjFcXHVhODAyXFx1YTgwNlxcdWE4MGJcXHVhODI1XFx1YTgyNlxcdWE4YzRcXHVhOGUwLVxcdWE4ZjFcXHVhOTI2LVxcdWE5MmRcXHVhOTQ3LVxcdWE5NTFcXHVhOTgwLVxcdWE5ODJcXHVhOWIzXFx1YTliNi1cXHVhOWI5XFx1YTliY1xcdWFhMjktXFx1YWEyZVxcdWFhMzFcXHVhYTMyXFx1YWEzNVxcdWFhMzZcXHVhYTQzXFx1YWE0Y1xcdWFhYjBcXHVhYWIyLVxcdWFhYjRcXHVhYWI3XFx1YWFiOFxcdWFhYmVcXHVhYWJmXFx1YWFjMVxcdWFiZTVcXHVhYmU4XFx1YWJlZFxcdWRjMDAtXFx1ZGZmZlxcdWZiMWVcXHVmZTAwLVxcdWZlMGZcXHVmZTIwLVxcdWZlMjZcXHVmZjllXFx1ZmY5Zl0vO1xuICBmdW5jdGlvbiBpc0V4dGVuZGluZ0NoYXIoY2gpIHsgcmV0dXJuIGNoLmNoYXJDb2RlQXQoMCkgPj0gNzY4ICYmIGV4dGVuZGluZ0NoYXJzLnRlc3QoY2gpIH1cblxuICAvLyBSZXR1cm5zIGEgbnVtYmVyIGZyb20gdGhlIHJhbmdlIFtgMGA7IGBzdHIubGVuZ3RoYF0gdW5sZXNzIGBwb3NgIGlzIG91dHNpZGUgdGhhdCByYW5nZS5cbiAgZnVuY3Rpb24gc2tpcEV4dGVuZGluZ0NoYXJzKHN0ciwgcG9zLCBkaXIpIHtcbiAgICB3aGlsZSAoKGRpciA8IDAgPyBwb3MgPiAwIDogcG9zIDwgc3RyLmxlbmd0aCkgJiYgaXNFeHRlbmRpbmdDaGFyKHN0ci5jaGFyQXQocG9zKSkpIHsgcG9zICs9IGRpcjsgfVxuICAgIHJldHVybiBwb3NcbiAgfVxuXG4gIC8vIFJldHVybnMgdGhlIHZhbHVlIGZyb20gdGhlIHJhbmdlIFtgZnJvbWA7IGB0b2BdIHRoYXQgc2F0aXNmaWVzXG4gIC8vIGBwcmVkYCBhbmQgaXMgY2xvc2VzdCB0byBgZnJvbWAuIEFzc3VtZXMgdGhhdCBhdCBsZWFzdCBgdG9gXG4gIC8vIHNhdGlzZmllcyBgcHJlZGAuIFN1cHBvcnRzIGBmcm9tYCBiZWluZyBncmVhdGVyIHRoYW4gYHRvYC5cbiAgZnVuY3Rpb24gZmluZEZpcnN0KHByZWQsIGZyb20sIHRvKSB7XG4gICAgLy8gQXQgYW55IHBvaW50IHdlIGFyZSBjZXJ0YWluIGB0b2Agc2F0aXNmaWVzIGBwcmVkYCwgZG9uJ3Qga25vd1xuICAgIC8vIHdoZXRoZXIgYGZyb21gIGRvZXMuXG4gICAgdmFyIGRpciA9IGZyb20gPiB0byA/IC0xIDogMTtcbiAgICBmb3IgKDs7KSB7XG4gICAgICBpZiAoZnJvbSA9PSB0bykgeyByZXR1cm4gZnJvbSB9XG4gICAgICB2YXIgbWlkRiA9IChmcm9tICsgdG8pIC8gMiwgbWlkID0gZGlyIDwgMCA/IE1hdGguY2VpbChtaWRGKSA6IE1hdGguZmxvb3IobWlkRik7XG4gICAgICBpZiAobWlkID09IGZyb20pIHsgcmV0dXJuIHByZWQobWlkKSA/IGZyb20gOiB0byB9XG4gICAgICBpZiAocHJlZChtaWQpKSB7IHRvID0gbWlkOyB9XG4gICAgICBlbHNlIHsgZnJvbSA9IG1pZCArIGRpcjsgfVxuICAgIH1cbiAgfVxuXG4gIC8vIEJJREkgSEVMUEVSU1xuXG4gIGZ1bmN0aW9uIGl0ZXJhdGVCaWRpU2VjdGlvbnMob3JkZXIsIGZyb20sIHRvLCBmKSB7XG4gICAgaWYgKCFvcmRlcikgeyByZXR1cm4gZihmcm9tLCB0bywgXCJsdHJcIiwgMCkgfVxuICAgIHZhciBmb3VuZCA9IGZhbHNlO1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgb3JkZXIubGVuZ3RoOyArK2kpIHtcbiAgICAgIHZhciBwYXJ0ID0gb3JkZXJbaV07XG4gICAgICBpZiAocGFydC5mcm9tIDwgdG8gJiYgcGFydC50byA+IGZyb20gfHwgZnJvbSA9PSB0byAmJiBwYXJ0LnRvID09IGZyb20pIHtcbiAgICAgICAgZihNYXRoLm1heChwYXJ0LmZyb20sIGZyb20pLCBNYXRoLm1pbihwYXJ0LnRvLCB0byksIHBhcnQubGV2ZWwgPT0gMSA/IFwicnRsXCIgOiBcImx0clwiLCBpKTtcbiAgICAgICAgZm91bmQgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoIWZvdW5kKSB7IGYoZnJvbSwgdG8sIFwibHRyXCIpOyB9XG4gIH1cblxuICB2YXIgYmlkaU90aGVyID0gbnVsbDtcbiAgZnVuY3Rpb24gZ2V0QmlkaVBhcnRBdChvcmRlciwgY2gsIHN0aWNreSkge1xuICAgIHZhciBmb3VuZDtcbiAgICBiaWRpT3RoZXIgPSBudWxsO1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgb3JkZXIubGVuZ3RoOyArK2kpIHtcbiAgICAgIHZhciBjdXIgPSBvcmRlcltpXTtcbiAgICAgIGlmIChjdXIuZnJvbSA8IGNoICYmIGN1ci50byA+IGNoKSB7IHJldHVybiBpIH1cbiAgICAgIGlmIChjdXIudG8gPT0gY2gpIHtcbiAgICAgICAgaWYgKGN1ci5mcm9tICE9IGN1ci50byAmJiBzdGlja3kgPT0gXCJiZWZvcmVcIikgeyBmb3VuZCA9IGk7IH1cbiAgICAgICAgZWxzZSB7IGJpZGlPdGhlciA9IGk7IH1cbiAgICAgIH1cbiAgICAgIGlmIChjdXIuZnJvbSA9PSBjaCkge1xuICAgICAgICBpZiAoY3VyLmZyb20gIT0gY3VyLnRvICYmIHN0aWNreSAhPSBcImJlZm9yZVwiKSB7IGZvdW5kID0gaTsgfVxuICAgICAgICBlbHNlIHsgYmlkaU90aGVyID0gaTsgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZm91bmQgIT0gbnVsbCA/IGZvdW5kIDogYmlkaU90aGVyXG4gIH1cblxuICAvLyBCaWRpcmVjdGlvbmFsIG9yZGVyaW5nIGFsZ29yaXRobVxuICAvLyBTZWUgaHR0cDovL3VuaWNvZGUub3JnL3JlcG9ydHMvdHI5L3RyOS0xMy5odG1sIGZvciB0aGUgYWxnb3JpdGhtXG4gIC8vIHRoYXQgdGhpcyAocGFydGlhbGx5KSBpbXBsZW1lbnRzLlxuXG4gIC8vIE9uZS1jaGFyIGNvZGVzIHVzZWQgZm9yIGNoYXJhY3RlciB0eXBlczpcbiAgLy8gTCAoTCk6ICAgTGVmdC10by1SaWdodFxuICAvLyBSIChSKTogICBSaWdodC10by1MZWZ0XG4gIC8vIHIgKEFMKTogIFJpZ2h0LXRvLUxlZnQgQXJhYmljXG4gIC8vIDEgKEVOKTogIEV1cm9wZWFuIE51bWJlclxuICAvLyArIChFUyk6ICBFdXJvcGVhbiBOdW1iZXIgU2VwYXJhdG9yXG4gIC8vICUgKEVUKTogIEV1cm9wZWFuIE51bWJlciBUZXJtaW5hdG9yXG4gIC8vIG4gKEFOKTogIEFyYWJpYyBOdW1iZXJcbiAgLy8gLCAoQ1MpOiAgQ29tbW9uIE51bWJlciBTZXBhcmF0b3JcbiAgLy8gbSAoTlNNKTogTm9uLVNwYWNpbmcgTWFya1xuICAvLyBiIChCTik6ICBCb3VuZGFyeSBOZXV0cmFsXG4gIC8vIHMgKEIpOiAgIFBhcmFncmFwaCBTZXBhcmF0b3JcbiAgLy8gdCAoUyk6ICAgU2VnbWVudCBTZXBhcmF0b3JcbiAgLy8gdyAoV1MpOiAgV2hpdGVzcGFjZVxuICAvLyBOIChPTik6ICBPdGhlciBOZXV0cmFsc1xuXG4gIC8vIFJldHVybnMgbnVsbCBpZiBjaGFyYWN0ZXJzIGFyZSBvcmRlcmVkIGFzIHRoZXkgYXBwZWFyXG4gIC8vIChsZWZ0LXRvLXJpZ2h0KSwgb3IgYW4gYXJyYXkgb2Ygc2VjdGlvbnMgKHtmcm9tLCB0bywgbGV2ZWx9XG4gIC8vIG9iamVjdHMpIGluIHRoZSBvcmRlciBpbiB3aGljaCB0aGV5IG9jY3VyIHZpc3VhbGx5LlxuICB2YXIgYmlkaU9yZGVyaW5nID0gKGZ1bmN0aW9uKCkge1xuICAgIC8vIENoYXJhY3RlciB0eXBlcyBmb3IgY29kZXBvaW50cyAwIHRvIDB4ZmZcbiAgICB2YXIgbG93VHlwZXMgPSBcImJiYmJiYmJiYnRzdHdzYmJiYmJiYmJiYmJiYmJzc3N0d05OJSUlTk5OTk5OLE4sTjExMTExMTExMTFOTk5OTk5OTExMTExMTExMTExMTExMTExMTExMTExMTExOTk5OTk5MTExMTExMTExMTExMTExMTExMTExMTExMTE5OTk5iYmJiYmJzYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmIsTiUlJSVOTk5OTE5OTk5OJSUxMU5MTk5OMUxOTk5OTkxMTExMTExMTExMTExMTExMTExMTExMTkxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExOXCI7XG4gICAgLy8gQ2hhcmFjdGVyIHR5cGVzIGZvciBjb2RlcG9pbnRzIDB4NjAwIHRvIDB4NmY5XG4gICAgdmFyIGFyYWJpY1R5cGVzID0gXCJubm5ubm5OTnIlJXIsck5ObW1tbW1tbW1tbW1ycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJtbW1tbW1tbW1tbW1tbW1tbW1tbW1ubm5ubm5ubm5uJW5ucnJybXJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJybW1tbW1tbW5ObW1tbW1tcnJtbU5tbW1tcnIxMTExMTExMTExXCI7XG4gICAgZnVuY3Rpb24gY2hhclR5cGUoY29kZSkge1xuICAgICAgaWYgKGNvZGUgPD0gMHhmNykgeyByZXR1cm4gbG93VHlwZXMuY2hhckF0KGNvZGUpIH1cbiAgICAgIGVsc2UgaWYgKDB4NTkwIDw9IGNvZGUgJiYgY29kZSA8PSAweDVmNCkgeyByZXR1cm4gXCJSXCIgfVxuICAgICAgZWxzZSBpZiAoMHg2MDAgPD0gY29kZSAmJiBjb2RlIDw9IDB4NmY5KSB7IHJldHVybiBhcmFiaWNUeXBlcy5jaGFyQXQoY29kZSAtIDB4NjAwKSB9XG4gICAgICBlbHNlIGlmICgweDZlZSA8PSBjb2RlICYmIGNvZGUgPD0gMHg4YWMpIHsgcmV0dXJuIFwiclwiIH1cbiAgICAgIGVsc2UgaWYgKDB4MjAwMCA8PSBjb2RlICYmIGNvZGUgPD0gMHgyMDBiKSB7IHJldHVybiBcIndcIiB9XG4gICAgICBlbHNlIGlmIChjb2RlID09IDB4MjAwYykgeyByZXR1cm4gXCJiXCIgfVxuICAgICAgZWxzZSB7IHJldHVybiBcIkxcIiB9XG4gICAgfVxuXG4gICAgdmFyIGJpZGlSRSA9IC9bXFx1MDU5MC1cXHUwNWY0XFx1MDYwMC1cXHUwNmZmXFx1MDcwMC1cXHUwOGFjXS87XG4gICAgdmFyIGlzTmV1dHJhbCA9IC9bc3R3Tl0vLCBpc1N0cm9uZyA9IC9bTFJyXS8sIGNvdW50c0FzTGVmdCA9IC9bTGIxbl0vLCBjb3VudHNBc051bSA9IC9bMW5dLztcblxuICAgIGZ1bmN0aW9uIEJpZGlTcGFuKGxldmVsLCBmcm9tLCB0bykge1xuICAgICAgdGhpcy5sZXZlbCA9IGxldmVsO1xuICAgICAgdGhpcy5mcm9tID0gZnJvbTsgdGhpcy50byA9IHRvO1xuICAgIH1cblxuICAgIHJldHVybiBmdW5jdGlvbihzdHIsIGRpcmVjdGlvbikge1xuICAgICAgdmFyIG91dGVyVHlwZSA9IGRpcmVjdGlvbiA9PSBcImx0clwiID8gXCJMXCIgOiBcIlJcIjtcblxuICAgICAgaWYgKHN0ci5sZW5ndGggPT0gMCB8fCBkaXJlY3Rpb24gPT0gXCJsdHJcIiAmJiAhYmlkaVJFLnRlc3Qoc3RyKSkgeyByZXR1cm4gZmFsc2UgfVxuICAgICAgdmFyIGxlbiA9IHN0ci5sZW5ndGgsIHR5cGVzID0gW107XG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxlbjsgKytpKVxuICAgICAgICB7IHR5cGVzLnB1c2goY2hhclR5cGUoc3RyLmNoYXJDb2RlQXQoaSkpKTsgfVxuXG4gICAgICAvLyBXMS4gRXhhbWluZSBlYWNoIG5vbi1zcGFjaW5nIG1hcmsgKE5TTSkgaW4gdGhlIGxldmVsIHJ1biwgYW5kXG4gICAgICAvLyBjaGFuZ2UgdGhlIHR5cGUgb2YgdGhlIE5TTSB0byB0aGUgdHlwZSBvZiB0aGUgcHJldmlvdXNcbiAgICAgIC8vIGNoYXJhY3Rlci4gSWYgdGhlIE5TTSBpcyBhdCB0aGUgc3RhcnQgb2YgdGhlIGxldmVsIHJ1biwgaXQgd2lsbFxuICAgICAgLy8gZ2V0IHRoZSB0eXBlIG9mIHNvci5cbiAgICAgIGZvciAodmFyIGkkMSA9IDAsIHByZXYgPSBvdXRlclR5cGU7IGkkMSA8IGxlbjsgKytpJDEpIHtcbiAgICAgICAgdmFyIHR5cGUgPSB0eXBlc1tpJDFdO1xuICAgICAgICBpZiAodHlwZSA9PSBcIm1cIikgeyB0eXBlc1tpJDFdID0gcHJldjsgfVxuICAgICAgICBlbHNlIHsgcHJldiA9IHR5cGU7IH1cbiAgICAgIH1cblxuICAgICAgLy8gVzIuIFNlYXJjaCBiYWNrd2FyZHMgZnJvbSBlYWNoIGluc3RhbmNlIG9mIGEgRXVyb3BlYW4gbnVtYmVyXG4gICAgICAvLyB1bnRpbCB0aGUgZmlyc3Qgc3Ryb25nIHR5cGUgKFIsIEwsIEFMLCBvciBzb3IpIGlzIGZvdW5kLiBJZiBhblxuICAgICAgLy8gQUwgaXMgZm91bmQsIGNoYW5nZSB0aGUgdHlwZSBvZiB0aGUgRXVyb3BlYW4gbnVtYmVyIHRvIEFyYWJpY1xuICAgICAgLy8gbnVtYmVyLlxuICAgICAgLy8gVzMuIENoYW5nZSBhbGwgQUxzIHRvIFIuXG4gICAgICBmb3IgKHZhciBpJDIgPSAwLCBjdXIgPSBvdXRlclR5cGU7IGkkMiA8IGxlbjsgKytpJDIpIHtcbiAgICAgICAgdmFyIHR5cGUkMSA9IHR5cGVzW2kkMl07XG4gICAgICAgIGlmICh0eXBlJDEgPT0gXCIxXCIgJiYgY3VyID09IFwiclwiKSB7IHR5cGVzW2kkMl0gPSBcIm5cIjsgfVxuICAgICAgICBlbHNlIGlmIChpc1N0cm9uZy50ZXN0KHR5cGUkMSkpIHsgY3VyID0gdHlwZSQxOyBpZiAodHlwZSQxID09IFwiclwiKSB7IHR5cGVzW2kkMl0gPSBcIlJcIjsgfSB9XG4gICAgICB9XG5cbiAgICAgIC8vIFc0LiBBIHNpbmdsZSBFdXJvcGVhbiBzZXBhcmF0b3IgYmV0d2VlbiB0d28gRXVyb3BlYW4gbnVtYmVyc1xuICAgICAgLy8gY2hhbmdlcyB0byBhIEV1cm9wZWFuIG51bWJlci4gQSBzaW5nbGUgY29tbW9uIHNlcGFyYXRvciBiZXR3ZWVuXG4gICAgICAvLyB0d28gbnVtYmVycyBvZiB0aGUgc2FtZSB0eXBlIGNoYW5nZXMgdG8gdGhhdCB0eXBlLlxuICAgICAgZm9yICh2YXIgaSQzID0gMSwgcHJldiQxID0gdHlwZXNbMF07IGkkMyA8IGxlbiAtIDE7ICsraSQzKSB7XG4gICAgICAgIHZhciB0eXBlJDIgPSB0eXBlc1tpJDNdO1xuICAgICAgICBpZiAodHlwZSQyID09IFwiK1wiICYmIHByZXYkMSA9PSBcIjFcIiAmJiB0eXBlc1tpJDMrMV0gPT0gXCIxXCIpIHsgdHlwZXNbaSQzXSA9IFwiMVwiOyB9XG4gICAgICAgIGVsc2UgaWYgKHR5cGUkMiA9PSBcIixcIiAmJiBwcmV2JDEgPT0gdHlwZXNbaSQzKzFdICYmXG4gICAgICAgICAgICAgICAgIChwcmV2JDEgPT0gXCIxXCIgfHwgcHJldiQxID09IFwiblwiKSkgeyB0eXBlc1tpJDNdID0gcHJldiQxOyB9XG4gICAgICAgIHByZXYkMSA9IHR5cGUkMjtcbiAgICAgIH1cblxuICAgICAgLy8gVzUuIEEgc2VxdWVuY2Ugb2YgRXVyb3BlYW4gdGVybWluYXRvcnMgYWRqYWNlbnQgdG8gRXVyb3BlYW5cbiAgICAgIC8vIG51bWJlcnMgY2hhbmdlcyB0byBhbGwgRXVyb3BlYW4gbnVtYmVycy5cbiAgICAgIC8vIFc2LiBPdGhlcndpc2UsIHNlcGFyYXRvcnMgYW5kIHRlcm1pbmF0b3JzIGNoYW5nZSB0byBPdGhlclxuICAgICAgLy8gTmV1dHJhbC5cbiAgICAgIGZvciAodmFyIGkkNCA9IDA7IGkkNCA8IGxlbjsgKytpJDQpIHtcbiAgICAgICAgdmFyIHR5cGUkMyA9IHR5cGVzW2kkNF07XG4gICAgICAgIGlmICh0eXBlJDMgPT0gXCIsXCIpIHsgdHlwZXNbaSQ0XSA9IFwiTlwiOyB9XG4gICAgICAgIGVsc2UgaWYgKHR5cGUkMyA9PSBcIiVcIikge1xuICAgICAgICAgIHZhciBlbmQgPSAodm9pZCAwKTtcbiAgICAgICAgICBmb3IgKGVuZCA9IGkkNCArIDE7IGVuZCA8IGxlbiAmJiB0eXBlc1tlbmRdID09IFwiJVwiOyArK2VuZCkge31cbiAgICAgICAgICB2YXIgcmVwbGFjZSA9IChpJDQgJiYgdHlwZXNbaSQ0LTFdID09IFwiIVwiKSB8fCAoZW5kIDwgbGVuICYmIHR5cGVzW2VuZF0gPT0gXCIxXCIpID8gXCIxXCIgOiBcIk5cIjtcbiAgICAgICAgICBmb3IgKHZhciBqID0gaSQ0OyBqIDwgZW5kOyArK2opIHsgdHlwZXNbal0gPSByZXBsYWNlOyB9XG4gICAgICAgICAgaSQ0ID0gZW5kIC0gMTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBXNy4gU2VhcmNoIGJhY2t3YXJkcyBmcm9tIGVhY2ggaW5zdGFuY2Ugb2YgYSBFdXJvcGVhbiBudW1iZXJcbiAgICAgIC8vIHVudGlsIHRoZSBmaXJzdCBzdHJvbmcgdHlwZSAoUiwgTCwgb3Igc29yKSBpcyBmb3VuZC4gSWYgYW4gTCBpc1xuICAgICAgLy8gZm91bmQsIHRoZW4gY2hhbmdlIHRoZSB0eXBlIG9mIHRoZSBFdXJvcGVhbiBudW1iZXIgdG8gTC5cbiAgICAgIGZvciAodmFyIGkkNSA9IDAsIGN1ciQxID0gb3V0ZXJUeXBlOyBpJDUgPCBsZW47ICsraSQ1KSB7XG4gICAgICAgIHZhciB0eXBlJDQgPSB0eXBlc1tpJDVdO1xuICAgICAgICBpZiAoY3VyJDEgPT0gXCJMXCIgJiYgdHlwZSQ0ID09IFwiMVwiKSB7IHR5cGVzW2kkNV0gPSBcIkxcIjsgfVxuICAgICAgICBlbHNlIGlmIChpc1N0cm9uZy50ZXN0KHR5cGUkNCkpIHsgY3VyJDEgPSB0eXBlJDQ7IH1cbiAgICAgIH1cblxuICAgICAgLy8gTjEuIEEgc2VxdWVuY2Ugb2YgbmV1dHJhbHMgdGFrZXMgdGhlIGRpcmVjdGlvbiBvZiB0aGVcbiAgICAgIC8vIHN1cnJvdW5kaW5nIHN0cm9uZyB0ZXh0IGlmIHRoZSB0ZXh0IG9uIGJvdGggc2lkZXMgaGFzIHRoZSBzYW1lXG4gICAgICAvLyBkaXJlY3Rpb24uIEV1cm9wZWFuIGFuZCBBcmFiaWMgbnVtYmVycyBhY3QgYXMgaWYgdGhleSB3ZXJlIFIgaW5cbiAgICAgIC8vIHRlcm1zIG9mIHRoZWlyIGluZmx1ZW5jZSBvbiBuZXV0cmFscy4gU3RhcnQtb2YtbGV2ZWwtcnVuIChzb3IpXG4gICAgICAvLyBhbmQgZW5kLW9mLWxldmVsLXJ1biAoZW9yKSBhcmUgdXNlZCBhdCBsZXZlbCBydW4gYm91bmRhcmllcy5cbiAgICAgIC8vIE4yLiBBbnkgcmVtYWluaW5nIG5ldXRyYWxzIHRha2UgdGhlIGVtYmVkZGluZyBkaXJlY3Rpb24uXG4gICAgICBmb3IgKHZhciBpJDYgPSAwOyBpJDYgPCBsZW47ICsraSQ2KSB7XG4gICAgICAgIGlmIChpc05ldXRyYWwudGVzdCh0eXBlc1tpJDZdKSkge1xuICAgICAgICAgIHZhciBlbmQkMSA9ICh2b2lkIDApO1xuICAgICAgICAgIGZvciAoZW5kJDEgPSBpJDYgKyAxOyBlbmQkMSA8IGxlbiAmJiBpc05ldXRyYWwudGVzdCh0eXBlc1tlbmQkMV0pOyArK2VuZCQxKSB7fVxuICAgICAgICAgIHZhciBiZWZvcmUgPSAoaSQ2ID8gdHlwZXNbaSQ2LTFdIDogb3V0ZXJUeXBlKSA9PSBcIkxcIjtcbiAgICAgICAgICB2YXIgYWZ0ZXIgPSAoZW5kJDEgPCBsZW4gPyB0eXBlc1tlbmQkMV0gOiBvdXRlclR5cGUpID09IFwiTFwiO1xuICAgICAgICAgIHZhciByZXBsYWNlJDEgPSBiZWZvcmUgPT0gYWZ0ZXIgPyAoYmVmb3JlID8gXCJMXCIgOiBcIlJcIikgOiBvdXRlclR5cGU7XG4gICAgICAgICAgZm9yICh2YXIgaiQxID0gaSQ2OyBqJDEgPCBlbmQkMTsgKytqJDEpIHsgdHlwZXNbaiQxXSA9IHJlcGxhY2UkMTsgfVxuICAgICAgICAgIGkkNiA9IGVuZCQxIC0gMTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBIZXJlIHdlIGRlcGFydCBmcm9tIHRoZSBkb2N1bWVudGVkIGFsZ29yaXRobSwgaW4gb3JkZXIgdG8gYXZvaWRcbiAgICAgIC8vIGJ1aWxkaW5nIHVwIGFuIGFjdHVhbCBsZXZlbHMgYXJyYXkuIFNpbmNlIHRoZXJlIGFyZSBvbmx5IHRocmVlXG4gICAgICAvLyBsZXZlbHMgKDAsIDEsIDIpIGluIGFuIGltcGxlbWVudGF0aW9uIHRoYXQgZG9lc24ndCB0YWtlXG4gICAgICAvLyBleHBsaWNpdCBlbWJlZGRpbmcgaW50byBhY2NvdW50LCB3ZSBjYW4gYnVpbGQgdXAgdGhlIG9yZGVyIG9uXG4gICAgICAvLyB0aGUgZmx5LCB3aXRob3V0IGZvbGxvd2luZyB0aGUgbGV2ZWwtYmFzZWQgYWxnb3JpdGhtLlxuICAgICAgdmFyIG9yZGVyID0gW10sIG07XG4gICAgICBmb3IgKHZhciBpJDcgPSAwOyBpJDcgPCBsZW47KSB7XG4gICAgICAgIGlmIChjb3VudHNBc0xlZnQudGVzdCh0eXBlc1tpJDddKSkge1xuICAgICAgICAgIHZhciBzdGFydCA9IGkkNztcbiAgICAgICAgICBmb3IgKCsraSQ3OyBpJDcgPCBsZW4gJiYgY291bnRzQXNMZWZ0LnRlc3QodHlwZXNbaSQ3XSk7ICsraSQ3KSB7fVxuICAgICAgICAgIG9yZGVyLnB1c2gobmV3IEJpZGlTcGFuKDAsIHN0YXJ0LCBpJDcpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB2YXIgcG9zID0gaSQ3LCBhdCA9IG9yZGVyLmxlbmd0aDtcbiAgICAgICAgICBmb3IgKCsraSQ3OyBpJDcgPCBsZW4gJiYgdHlwZXNbaSQ3XSAhPSBcIkxcIjsgKytpJDcpIHt9XG4gICAgICAgICAgZm9yICh2YXIgaiQyID0gcG9zOyBqJDIgPCBpJDc7KSB7XG4gICAgICAgICAgICBpZiAoY291bnRzQXNOdW0udGVzdCh0eXBlc1tqJDJdKSkge1xuICAgICAgICAgICAgICBpZiAocG9zIDwgaiQyKSB7IG9yZGVyLnNwbGljZShhdCwgMCwgbmV3IEJpZGlTcGFuKDEsIHBvcywgaiQyKSk7IH1cbiAgICAgICAgICAgICAgdmFyIG5zdGFydCA9IGokMjtcbiAgICAgICAgICAgICAgZm9yICgrK2okMjsgaiQyIDwgaSQ3ICYmIGNvdW50c0FzTnVtLnRlc3QodHlwZXNbaiQyXSk7ICsraiQyKSB7fVxuICAgICAgICAgICAgICBvcmRlci5zcGxpY2UoYXQsIDAsIG5ldyBCaWRpU3BhbigyLCBuc3RhcnQsIGokMikpO1xuICAgICAgICAgICAgICBwb3MgPSBqJDI7XG4gICAgICAgICAgICB9IGVsc2UgeyArK2okMjsgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAocG9zIDwgaSQ3KSB7IG9yZGVyLnNwbGljZShhdCwgMCwgbmV3IEJpZGlTcGFuKDEsIHBvcywgaSQ3KSk7IH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKGRpcmVjdGlvbiA9PSBcImx0clwiKSB7XG4gICAgICAgIGlmIChvcmRlclswXS5sZXZlbCA9PSAxICYmIChtID0gc3RyLm1hdGNoKC9eXFxzKy8pKSkge1xuICAgICAgICAgIG9yZGVyWzBdLmZyb20gPSBtWzBdLmxlbmd0aDtcbiAgICAgICAgICBvcmRlci51bnNoaWZ0KG5ldyBCaWRpU3BhbigwLCAwLCBtWzBdLmxlbmd0aCkpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChsc3Qob3JkZXIpLmxldmVsID09IDEgJiYgKG0gPSBzdHIubWF0Y2goL1xccyskLykpKSB7XG4gICAgICAgICAgbHN0KG9yZGVyKS50byAtPSBtWzBdLmxlbmd0aDtcbiAgICAgICAgICBvcmRlci5wdXNoKG5ldyBCaWRpU3BhbigwLCBsZW4gLSBtWzBdLmxlbmd0aCwgbGVuKSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGRpcmVjdGlvbiA9PSBcInJ0bFwiID8gb3JkZXIucmV2ZXJzZSgpIDogb3JkZXJcbiAgICB9XG4gIH0pKCk7XG5cbiAgLy8gR2V0IHRoZSBiaWRpIG9yZGVyaW5nIGZvciB0aGUgZ2l2ZW4gbGluZSAoYW5kIGNhY2hlIGl0KS4gUmV0dXJuc1xuICAvLyBmYWxzZSBmb3IgbGluZXMgdGhhdCBhcmUgZnVsbHkgbGVmdC10by1yaWdodCwgYW5kIGFuIGFycmF5IG9mXG4gIC8vIEJpZGlTcGFuIG9iamVjdHMgb3RoZXJ3aXNlLlxuICBmdW5jdGlvbiBnZXRPcmRlcihsaW5lLCBkaXJlY3Rpb24pIHtcbiAgICB2YXIgb3JkZXIgPSBsaW5lLm9yZGVyO1xuICAgIGlmIChvcmRlciA9PSBudWxsKSB7IG9yZGVyID0gbGluZS5vcmRlciA9IGJpZGlPcmRlcmluZyhsaW5lLnRleHQsIGRpcmVjdGlvbik7IH1cbiAgICByZXR1cm4gb3JkZXJcbiAgfVxuXG4gIC8vIEVWRU5UIEhBTkRMSU5HXG5cbiAgLy8gTGlnaHR3ZWlnaHQgZXZlbnQgZnJhbWV3b3JrLiBvbi9vZmYgYWxzbyB3b3JrIG9uIERPTSBub2RlcyxcbiAgLy8gcmVnaXN0ZXJpbmcgbmF0aXZlIERPTSBoYW5kbGVycy5cblxuICB2YXIgbm9IYW5kbGVycyA9IFtdO1xuXG4gIHZhciBvbiA9IGZ1bmN0aW9uKGVtaXR0ZXIsIHR5cGUsIGYpIHtcbiAgICBpZiAoZW1pdHRlci5hZGRFdmVudExpc3RlbmVyKSB7XG4gICAgICBlbWl0dGVyLmFkZEV2ZW50TGlzdGVuZXIodHlwZSwgZiwgZmFsc2UpO1xuICAgIH0gZWxzZSBpZiAoZW1pdHRlci5hdHRhY2hFdmVudCkge1xuICAgICAgZW1pdHRlci5hdHRhY2hFdmVudChcIm9uXCIgKyB0eXBlLCBmKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdmFyIG1hcCQkMSA9IGVtaXR0ZXIuX2hhbmRsZXJzIHx8IChlbWl0dGVyLl9oYW5kbGVycyA9IHt9KTtcbiAgICAgIG1hcCQkMVt0eXBlXSA9IChtYXAkJDFbdHlwZV0gfHwgbm9IYW5kbGVycykuY29uY2F0KGYpO1xuICAgIH1cbiAgfTtcblxuICBmdW5jdGlvbiBnZXRIYW5kbGVycyhlbWl0dGVyLCB0eXBlKSB7XG4gICAgcmV0dXJuIGVtaXR0ZXIuX2hhbmRsZXJzICYmIGVtaXR0ZXIuX2hhbmRsZXJzW3R5cGVdIHx8IG5vSGFuZGxlcnNcbiAgfVxuXG4gIGZ1bmN0aW9uIG9mZihlbWl0dGVyLCB0eXBlLCBmKSB7XG4gICAgaWYgKGVtaXR0ZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcikge1xuICAgICAgZW1pdHRlci5yZW1vdmVFdmVudExpc3RlbmVyKHR5cGUsIGYsIGZhbHNlKTtcbiAgICB9IGVsc2UgaWYgKGVtaXR0ZXIuZGV0YWNoRXZlbnQpIHtcbiAgICAgIGVtaXR0ZXIuZGV0YWNoRXZlbnQoXCJvblwiICsgdHlwZSwgZik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHZhciBtYXAkJDEgPSBlbWl0dGVyLl9oYW5kbGVycywgYXJyID0gbWFwJCQxICYmIG1hcCQkMVt0eXBlXTtcbiAgICAgIGlmIChhcnIpIHtcbiAgICAgICAgdmFyIGluZGV4ID0gaW5kZXhPZihhcnIsIGYpO1xuICAgICAgICBpZiAoaW5kZXggPiAtMSlcbiAgICAgICAgICB7IG1hcCQkMVt0eXBlXSA9IGFyci5zbGljZSgwLCBpbmRleCkuY29uY2F0KGFyci5zbGljZShpbmRleCArIDEpKTsgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIHNpZ25hbChlbWl0dGVyLCB0eXBlIC8qLCB2YWx1ZXMuLi4qLykge1xuICAgIHZhciBoYW5kbGVycyA9IGdldEhhbmRsZXJzKGVtaXR0ZXIsIHR5cGUpO1xuICAgIGlmICghaGFuZGxlcnMubGVuZ3RoKSB7IHJldHVybiB9XG4gICAgdmFyIGFyZ3MgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsIDIpO1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgaGFuZGxlcnMubGVuZ3RoOyArK2kpIHsgaGFuZGxlcnNbaV0uYXBwbHkobnVsbCwgYXJncyk7IH1cbiAgfVxuXG4gIC8vIFRoZSBET00gZXZlbnRzIHRoYXQgQ29kZU1pcnJvciBoYW5kbGVzIGNhbiBiZSBvdmVycmlkZGVuIGJ5XG4gIC8vIHJlZ2lzdGVyaW5nIGEgKG5vbi1ET00pIGhhbmRsZXIgb24gdGhlIGVkaXRvciBmb3IgdGhlIGV2ZW50IG5hbWUsXG4gIC8vIGFuZCBwcmV2ZW50RGVmYXVsdC1pbmcgdGhlIGV2ZW50IGluIHRoYXQgaGFuZGxlci5cbiAgZnVuY3Rpb24gc2lnbmFsRE9NRXZlbnQoY20sIGUsIG92ZXJyaWRlKSB7XG4gICAgaWYgKHR5cGVvZiBlID09IFwic3RyaW5nXCIpXG4gICAgICB7IGUgPSB7dHlwZTogZSwgcHJldmVudERlZmF1bHQ6IGZ1bmN0aW9uKCkgeyB0aGlzLmRlZmF1bHRQcmV2ZW50ZWQgPSB0cnVlOyB9fTsgfVxuICAgIHNpZ25hbChjbSwgb3ZlcnJpZGUgfHwgZS50eXBlLCBjbSwgZSk7XG4gICAgcmV0dXJuIGVfZGVmYXVsdFByZXZlbnRlZChlKSB8fCBlLmNvZGVtaXJyb3JJZ25vcmVcbiAgfVxuXG4gIGZ1bmN0aW9uIHNpZ25hbEN1cnNvckFjdGl2aXR5KGNtKSB7XG4gICAgdmFyIGFyciA9IGNtLl9oYW5kbGVycyAmJiBjbS5faGFuZGxlcnMuY3Vyc29yQWN0aXZpdHk7XG4gICAgaWYgKCFhcnIpIHsgcmV0dXJuIH1cbiAgICB2YXIgc2V0ID0gY20uY3VyT3AuY3Vyc29yQWN0aXZpdHlIYW5kbGVycyB8fCAoY20uY3VyT3AuY3Vyc29yQWN0aXZpdHlIYW5kbGVycyA9IFtdKTtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGFyci5sZW5ndGg7ICsraSkgeyBpZiAoaW5kZXhPZihzZXQsIGFycltpXSkgPT0gLTEpXG4gICAgICB7IHNldC5wdXNoKGFycltpXSk7IH0gfVxuICB9XG5cbiAgZnVuY3Rpb24gaGFzSGFuZGxlcihlbWl0dGVyLCB0eXBlKSB7XG4gICAgcmV0dXJuIGdldEhhbmRsZXJzKGVtaXR0ZXIsIHR5cGUpLmxlbmd0aCA+IDBcbiAgfVxuXG4gIC8vIEFkZCBvbiBhbmQgb2ZmIG1ldGhvZHMgdG8gYSBjb25zdHJ1Y3RvcidzIHByb3RvdHlwZSwgdG8gbWFrZVxuICAvLyByZWdpc3RlcmluZyBldmVudHMgb24gc3VjaCBvYmplY3RzIG1vcmUgY29udmVuaWVudC5cbiAgZnVuY3Rpb24gZXZlbnRNaXhpbihjdG9yKSB7XG4gICAgY3Rvci5wcm90b3R5cGUub24gPSBmdW5jdGlvbih0eXBlLCBmKSB7b24odGhpcywgdHlwZSwgZik7fTtcbiAgICBjdG9yLnByb3RvdHlwZS5vZmYgPSBmdW5jdGlvbih0eXBlLCBmKSB7b2ZmKHRoaXMsIHR5cGUsIGYpO307XG4gIH1cblxuICAvLyBEdWUgdG8gdGhlIGZhY3QgdGhhdCB3ZSBzdGlsbCBzdXBwb3J0IGp1cmFzc2ljIElFIHZlcnNpb25zLCBzb21lXG4gIC8vIGNvbXBhdGliaWxpdHkgd3JhcHBlcnMgYXJlIG5lZWRlZC5cblxuICBmdW5jdGlvbiBlX3ByZXZlbnREZWZhdWx0KGUpIHtcbiAgICBpZiAoZS5wcmV2ZW50RGVmYXVsdCkgeyBlLnByZXZlbnREZWZhdWx0KCk7IH1cbiAgICBlbHNlIHsgZS5yZXR1cm5WYWx1ZSA9IGZhbHNlOyB9XG4gIH1cbiAgZnVuY3Rpb24gZV9zdG9wUHJvcGFnYXRpb24oZSkge1xuICAgIGlmIChlLnN0b3BQcm9wYWdhdGlvbikgeyBlLnN0b3BQcm9wYWdhdGlvbigpOyB9XG4gICAgZWxzZSB7IGUuY2FuY2VsQnViYmxlID0gdHJ1ZTsgfVxuICB9XG4gIGZ1bmN0aW9uIGVfZGVmYXVsdFByZXZlbnRlZChlKSB7XG4gICAgcmV0dXJuIGUuZGVmYXVsdFByZXZlbnRlZCAhPSBudWxsID8gZS5kZWZhdWx0UHJldmVudGVkIDogZS5yZXR1cm5WYWx1ZSA9PSBmYWxzZVxuICB9XG4gIGZ1bmN0aW9uIGVfc3RvcChlKSB7ZV9wcmV2ZW50RGVmYXVsdChlKTsgZV9zdG9wUHJvcGFnYXRpb24oZSk7fVxuXG4gIGZ1bmN0aW9uIGVfdGFyZ2V0KGUpIHtyZXR1cm4gZS50YXJnZXQgfHwgZS5zcmNFbGVtZW50fVxuICBmdW5jdGlvbiBlX2J1dHRvbihlKSB7XG4gICAgdmFyIGIgPSBlLndoaWNoO1xuICAgIGlmIChiID09IG51bGwpIHtcbiAgICAgIGlmIChlLmJ1dHRvbiAmIDEpIHsgYiA9IDE7IH1cbiAgICAgIGVsc2UgaWYgKGUuYnV0dG9uICYgMikgeyBiID0gMzsgfVxuICAgICAgZWxzZSBpZiAoZS5idXR0b24gJiA0KSB7IGIgPSAyOyB9XG4gICAgfVxuICAgIGlmIChtYWMgJiYgZS5jdHJsS2V5ICYmIGIgPT0gMSkgeyBiID0gMzsgfVxuICAgIHJldHVybiBiXG4gIH1cblxuICAvLyBEZXRlY3QgZHJhZy1hbmQtZHJvcFxuICB2YXIgZHJhZ0FuZERyb3AgPSBmdW5jdGlvbigpIHtcbiAgICAvLyBUaGVyZSBpcyAqc29tZSoga2luZCBvZiBkcmFnLWFuZC1kcm9wIHN1cHBvcnQgaW4gSUU2LTgsIGJ1dCBJXG4gICAgLy8gY291bGRuJ3QgZ2V0IGl0IHRvIHdvcmsgeWV0LlxuICAgIGlmIChpZSAmJiBpZV92ZXJzaW9uIDwgOSkgeyByZXR1cm4gZmFsc2UgfVxuICAgIHZhciBkaXYgPSBlbHQoJ2RpdicpO1xuICAgIHJldHVybiBcImRyYWdnYWJsZVwiIGluIGRpdiB8fCBcImRyYWdEcm9wXCIgaW4gZGl2XG4gIH0oKTtcblxuICB2YXIgendzcFN1cHBvcnRlZDtcbiAgZnVuY3Rpb24gemVyb1dpZHRoRWxlbWVudChtZWFzdXJlKSB7XG4gICAgaWYgKHp3c3BTdXBwb3J0ZWQgPT0gbnVsbCkge1xuICAgICAgdmFyIHRlc3QgPSBlbHQoXCJzcGFuXCIsIFwiXFx1MjAwYlwiKTtcbiAgICAgIHJlbW92ZUNoaWxkcmVuQW5kQWRkKG1lYXN1cmUsIGVsdChcInNwYW5cIiwgW3Rlc3QsIGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKFwieFwiKV0pKTtcbiAgICAgIGlmIChtZWFzdXJlLmZpcnN0Q2hpbGQub2Zmc2V0SGVpZ2h0ICE9IDApXG4gICAgICAgIHsgendzcFN1cHBvcnRlZCA9IHRlc3Qub2Zmc2V0V2lkdGggPD0gMSAmJiB0ZXN0Lm9mZnNldEhlaWdodCA+IDIgJiYgIShpZSAmJiBpZV92ZXJzaW9uIDwgOCk7IH1cbiAgICB9XG4gICAgdmFyIG5vZGUgPSB6d3NwU3VwcG9ydGVkID8gZWx0KFwic3BhblwiLCBcIlxcdTIwMGJcIikgOlxuICAgICAgZWx0KFwic3BhblwiLCBcIlxcdTAwYTBcIiwgbnVsbCwgXCJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHdpZHRoOiAxcHg7IG1hcmdpbi1yaWdodDogLTFweFwiKTtcbiAgICBub2RlLnNldEF0dHJpYnV0ZShcImNtLXRleHRcIiwgXCJcIik7XG4gICAgcmV0dXJuIG5vZGVcbiAgfVxuXG4gIC8vIEZlYXR1cmUtZGV0ZWN0IElFJ3MgY3J1bW15IGNsaWVudCByZWN0IHJlcG9ydGluZyBmb3IgYmlkaSB0ZXh0XG4gIHZhciBiYWRCaWRpUmVjdHM7XG4gIGZ1bmN0aW9uIGhhc0JhZEJpZGlSZWN0cyhtZWFzdXJlKSB7XG4gICAgaWYgKGJhZEJpZGlSZWN0cyAhPSBudWxsKSB7IHJldHVybiBiYWRCaWRpUmVjdHMgfVxuICAgIHZhciB0eHQgPSByZW1vdmVDaGlsZHJlbkFuZEFkZChtZWFzdXJlLCBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShcIkFcXHUwNjJlQVwiKSk7XG4gICAgdmFyIHIwID0gcmFuZ2UodHh0LCAwLCAxKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICB2YXIgcjEgPSByYW5nZSh0eHQsIDEsIDIpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIHJlbW92ZUNoaWxkcmVuKG1lYXN1cmUpO1xuICAgIGlmICghcjAgfHwgcjAubGVmdCA9PSByMC5yaWdodCkgeyByZXR1cm4gZmFsc2UgfSAvLyBTYWZhcmkgcmV0dXJucyBudWxsIGluIHNvbWUgY2FzZXMgKCMyNzgwKVxuICAgIHJldHVybiBiYWRCaWRpUmVjdHMgPSAocjEucmlnaHQgLSByMC5yaWdodCA8IDMpXG4gIH1cblxuICAvLyBTZWUgaWYgXCJcIi5zcGxpdCBpcyB0aGUgYnJva2VuIElFIHZlcnNpb24sIGlmIHNvLCBwcm92aWRlIGFuXG4gIC8vIGFsdGVybmF0aXZlIHdheSB0byBzcGxpdCBsaW5lcy5cbiAgdmFyIHNwbGl0TGluZXNBdXRvID0gXCJcXG5cXG5iXCIuc3BsaXQoL1xcbi8pLmxlbmd0aCAhPSAzID8gZnVuY3Rpb24gKHN0cmluZykge1xuICAgIHZhciBwb3MgPSAwLCByZXN1bHQgPSBbXSwgbCA9IHN0cmluZy5sZW5ndGg7XG4gICAgd2hpbGUgKHBvcyA8PSBsKSB7XG4gICAgICB2YXIgbmwgPSBzdHJpbmcuaW5kZXhPZihcIlxcblwiLCBwb3MpO1xuICAgICAgaWYgKG5sID09IC0xKSB7IG5sID0gc3RyaW5nLmxlbmd0aDsgfVxuICAgICAgdmFyIGxpbmUgPSBzdHJpbmcuc2xpY2UocG9zLCBzdHJpbmcuY2hhckF0KG5sIC0gMSkgPT0gXCJcXHJcIiA/IG5sIC0gMSA6IG5sKTtcbiAgICAgIHZhciBydCA9IGxpbmUuaW5kZXhPZihcIlxcclwiKTtcbiAgICAgIGlmIChydCAhPSAtMSkge1xuICAgICAgICByZXN1bHQucHVzaChsaW5lLnNsaWNlKDAsIHJ0KSk7XG4gICAgICAgIHBvcyArPSBydCArIDE7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXN1bHQucHVzaChsaW5lKTtcbiAgICAgICAgcG9zID0gbmwgKyAxO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0XG4gIH0gOiBmdW5jdGlvbiAoc3RyaW5nKSB7IHJldHVybiBzdHJpbmcuc3BsaXQoL1xcclxcbj98XFxuLyk7IH07XG5cbiAgdmFyIGhhc1NlbGVjdGlvbiA9IHdpbmRvdy5nZXRTZWxlY3Rpb24gPyBmdW5jdGlvbiAodGUpIHtcbiAgICB0cnkgeyByZXR1cm4gdGUuc2VsZWN0aW9uU3RhcnQgIT0gdGUuc2VsZWN0aW9uRW5kIH1cbiAgICBjYXRjaChlKSB7IHJldHVybiBmYWxzZSB9XG4gIH0gOiBmdW5jdGlvbiAodGUpIHtcbiAgICB2YXIgcmFuZ2UkJDE7XG4gICAgdHJ5IHtyYW5nZSQkMSA9IHRlLm93bmVyRG9jdW1lbnQuc2VsZWN0aW9uLmNyZWF0ZVJhbmdlKCk7fVxuICAgIGNhdGNoKGUpIHt9XG4gICAgaWYgKCFyYW5nZSQkMSB8fCByYW5nZSQkMS5wYXJlbnRFbGVtZW50KCkgIT0gdGUpIHsgcmV0dXJuIGZhbHNlIH1cbiAgICByZXR1cm4gcmFuZ2UkJDEuY29tcGFyZUVuZFBvaW50cyhcIlN0YXJ0VG9FbmRcIiwgcmFuZ2UkJDEpICE9IDBcbiAgfTtcblxuICB2YXIgaGFzQ29weUV2ZW50ID0gKGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgZSA9IGVsdChcImRpdlwiKTtcbiAgICBpZiAoXCJvbmNvcHlcIiBpbiBlKSB7IHJldHVybiB0cnVlIH1cbiAgICBlLnNldEF0dHJpYnV0ZShcIm9uY29weVwiLCBcInJldHVybjtcIik7XG4gICAgcmV0dXJuIHR5cGVvZiBlLm9uY29weSA9PSBcImZ1bmN0aW9uXCJcbiAgfSkoKTtcblxuICB2YXIgYmFkWm9vbWVkUmVjdHMgPSBudWxsO1xuICBmdW5jdGlvbiBoYXNCYWRab29tZWRSZWN0cyhtZWFzdXJlKSB7XG4gICAgaWYgKGJhZFpvb21lZFJlY3RzICE9IG51bGwpIHsgcmV0dXJuIGJhZFpvb21lZFJlY3RzIH1cbiAgICB2YXIgbm9kZSA9IHJlbW92ZUNoaWxkcmVuQW5kQWRkKG1lYXN1cmUsIGVsdChcInNwYW5cIiwgXCJ4XCIpKTtcbiAgICB2YXIgbm9ybWFsID0gbm9kZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICB2YXIgZnJvbVJhbmdlID0gcmFuZ2Uobm9kZSwgMCwgMSkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgcmV0dXJuIGJhZFpvb21lZFJlY3RzID0gTWF0aC5hYnMobm9ybWFsLmxlZnQgLSBmcm9tUmFuZ2UubGVmdCkgPiAxXG4gIH1cblxuICAvLyBLbm93biBtb2RlcywgYnkgbmFtZSBhbmQgYnkgTUlNRVxuICB2YXIgbW9kZXMgPSB7fSwgbWltZU1vZGVzID0ge307XG5cbiAgLy8gRXh0cmEgYXJndW1lbnRzIGFyZSBzdG9yZWQgYXMgdGhlIG1vZGUncyBkZXBlbmRlbmNpZXMsIHdoaWNoIGlzXG4gIC8vIHVzZWQgYnkgKGxlZ2FjeSkgbWVjaGFuaXNtcyBsaWtlIGxvYWRtb2RlLmpzIHRvIGF1dG9tYXRpY2FsbHlcbiAgLy8gbG9hZCBhIG1vZGUuIChQcmVmZXJyZWQgbWVjaGFuaXNtIGlzIHRoZSByZXF1aXJlL2RlZmluZSBjYWxscy4pXG4gIGZ1bmN0aW9uIGRlZmluZU1vZGUobmFtZSwgbW9kZSkge1xuICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID4gMilcbiAgICAgIHsgbW9kZS5kZXBlbmRlbmNpZXMgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsIDIpOyB9XG4gICAgbW9kZXNbbmFtZV0gPSBtb2RlO1xuICB9XG5cbiAgZnVuY3Rpb24gZGVmaW5lTUlNRShtaW1lLCBzcGVjKSB7XG4gICAgbWltZU1vZGVzW21pbWVdID0gc3BlYztcbiAgfVxuXG4gIC8vIEdpdmVuIGEgTUlNRSB0eXBlLCBhIHtuYW1lLCAuLi5vcHRpb25zfSBjb25maWcgb2JqZWN0LCBvciBhIG5hbWVcbiAgLy8gc3RyaW5nLCByZXR1cm4gYSBtb2RlIGNvbmZpZyBvYmplY3QuXG4gIGZ1bmN0aW9uIHJlc29sdmVNb2RlKHNwZWMpIHtcbiAgICBpZiAodHlwZW9mIHNwZWMgPT0gXCJzdHJpbmdcIiAmJiBtaW1lTW9kZXMuaGFzT3duUHJvcGVydHkoc3BlYykpIHtcbiAgICAgIHNwZWMgPSBtaW1lTW9kZXNbc3BlY107XG4gICAgfSBlbHNlIGlmIChzcGVjICYmIHR5cGVvZiBzcGVjLm5hbWUgPT0gXCJzdHJpbmdcIiAmJiBtaW1lTW9kZXMuaGFzT3duUHJvcGVydHkoc3BlYy5uYW1lKSkge1xuICAgICAgdmFyIGZvdW5kID0gbWltZU1vZGVzW3NwZWMubmFtZV07XG4gICAgICBpZiAodHlwZW9mIGZvdW5kID09IFwic3RyaW5nXCIpIHsgZm91bmQgPSB7bmFtZTogZm91bmR9OyB9XG4gICAgICBzcGVjID0gY3JlYXRlT2JqKGZvdW5kLCBzcGVjKTtcbiAgICAgIHNwZWMubmFtZSA9IGZvdW5kLm5hbWU7XG4gICAgfSBlbHNlIGlmICh0eXBlb2Ygc3BlYyA9PSBcInN0cmluZ1wiICYmIC9eW1xcd1xcLV0rXFwvW1xcd1xcLV0rXFwreG1sJC8udGVzdChzcGVjKSkge1xuICAgICAgcmV0dXJuIHJlc29sdmVNb2RlKFwiYXBwbGljYXRpb24veG1sXCIpXG4gICAgfSBlbHNlIGlmICh0eXBlb2Ygc3BlYyA9PSBcInN0cmluZ1wiICYmIC9eW1xcd1xcLV0rXFwvW1xcd1xcLV0rXFwranNvbiQvLnRlc3Qoc3BlYykpIHtcbiAgICAgIHJldHVybiByZXNvbHZlTW9kZShcImFwcGxpY2F0aW9uL2pzb25cIilcbiAgICB9XG4gICAgaWYgKHR5cGVvZiBzcGVjID09IFwic3RyaW5nXCIpIHsgcmV0dXJuIHtuYW1lOiBzcGVjfSB9XG4gICAgZWxzZSB7IHJldHVybiBzcGVjIHx8IHtuYW1lOiBcIm51bGxcIn0gfVxuICB9XG5cbiAgLy8gR2l2ZW4gYSBtb2RlIHNwZWMgKGFueXRoaW5nIHRoYXQgcmVzb2x2ZU1vZGUgYWNjZXB0cyksIGZpbmQgYW5kXG4gIC8vIGluaXRpYWxpemUgYW4gYWN0dWFsIG1vZGUgb2JqZWN0LlxuICBmdW5jdGlvbiBnZXRNb2RlKG9wdGlvbnMsIHNwZWMpIHtcbiAgICBzcGVjID0gcmVzb2x2ZU1vZGUoc3BlYyk7XG4gICAgdmFyIG1mYWN0b3J5ID0gbW9kZXNbc3BlYy5uYW1lXTtcbiAgICBpZiAoIW1mYWN0b3J5KSB7IHJldHVybiBnZXRNb2RlKG9wdGlvbnMsIFwidGV4dC9wbGFpblwiKSB9XG4gICAgdmFyIG1vZGVPYmogPSBtZmFjdG9yeShvcHRpb25zLCBzcGVjKTtcbiAgICBpZiAobW9kZUV4dGVuc2lvbnMuaGFzT3duUHJvcGVydHkoc3BlYy5uYW1lKSkge1xuICAgICAgdmFyIGV4dHMgPSBtb2RlRXh0ZW5zaW9uc1tzcGVjLm5hbWVdO1xuICAgICAgZm9yICh2YXIgcHJvcCBpbiBleHRzKSB7XG4gICAgICAgIGlmICghZXh0cy5oYXNPd25Qcm9wZXJ0eShwcm9wKSkgeyBjb250aW51ZSB9XG4gICAgICAgIGlmIChtb2RlT2JqLmhhc093blByb3BlcnR5KHByb3ApKSB7IG1vZGVPYmpbXCJfXCIgKyBwcm9wXSA9IG1vZGVPYmpbcHJvcF07IH1cbiAgICAgICAgbW9kZU9ialtwcm9wXSA9IGV4dHNbcHJvcF07XG4gICAgICB9XG4gICAgfVxuICAgIG1vZGVPYmoubmFtZSA9IHNwZWMubmFtZTtcbiAgICBpZiAoc3BlYy5oZWxwZXJUeXBlKSB7IG1vZGVPYmouaGVscGVyVHlwZSA9IHNwZWMuaGVscGVyVHlwZTsgfVxuICAgIGlmIChzcGVjLm1vZGVQcm9wcykgeyBmb3IgKHZhciBwcm9wJDEgaW4gc3BlYy5tb2RlUHJvcHMpXG4gICAgICB7IG1vZGVPYmpbcHJvcCQxXSA9IHNwZWMubW9kZVByb3BzW3Byb3AkMV07IH0gfVxuXG4gICAgcmV0dXJuIG1vZGVPYmpcbiAgfVxuXG4gIC8vIFRoaXMgY2FuIGJlIHVzZWQgdG8gYXR0YWNoIHByb3BlcnRpZXMgdG8gbW9kZSBvYmplY3RzIGZyb21cbiAgLy8gb3V0c2lkZSB0aGUgYWN0dWFsIG1vZGUgZGVmaW5pdGlvbi5cbiAgdmFyIG1vZGVFeHRlbnNpb25zID0ge307XG4gIGZ1bmN0aW9uIGV4dGVuZE1vZGUobW9kZSwgcHJvcGVydGllcykge1xuICAgIHZhciBleHRzID0gbW9kZUV4dGVuc2lvbnMuaGFzT3duUHJvcGVydHkobW9kZSkgPyBtb2RlRXh0ZW5zaW9uc1ttb2RlXSA6IChtb2RlRXh0ZW5zaW9uc1ttb2RlXSA9IHt9KTtcbiAgICBjb3B5T2JqKHByb3BlcnRpZXMsIGV4dHMpO1xuICB9XG5cbiAgZnVuY3Rpb24gY29weVN0YXRlKG1vZGUsIHN0YXRlKSB7XG4gICAgaWYgKHN0YXRlID09PSB0cnVlKSB7IHJldHVybiBzdGF0ZSB9XG4gICAgaWYgKG1vZGUuY29weVN0YXRlKSB7IHJldHVybiBtb2RlLmNvcHlTdGF0ZShzdGF0ZSkgfVxuICAgIHZhciBuc3RhdGUgPSB7fTtcbiAgICBmb3IgKHZhciBuIGluIHN0YXRlKSB7XG4gICAgICB2YXIgdmFsID0gc3RhdGVbbl07XG4gICAgICBpZiAodmFsIGluc3RhbmNlb2YgQXJyYXkpIHsgdmFsID0gdmFsLmNvbmNhdChbXSk7IH1cbiAgICAgIG5zdGF0ZVtuXSA9IHZhbDtcbiAgICB9XG4gICAgcmV0dXJuIG5zdGF0ZVxuICB9XG5cbiAgLy8gR2l2ZW4gYSBtb2RlIGFuZCBhIHN0YXRlIChmb3IgdGhhdCBtb2RlKSwgZmluZCB0aGUgaW5uZXIgbW9kZSBhbmRcbiAgLy8gc3RhdGUgYXQgdGhlIHBvc2l0aW9uIHRoYXQgdGhlIHN0YXRlIHJlZmVycyB0by5cbiAgZnVuY3Rpb24gaW5uZXJNb2RlKG1vZGUsIHN0YXRlKSB7XG4gICAgdmFyIGluZm87XG4gICAgd2hpbGUgKG1vZGUuaW5uZXJNb2RlKSB7XG4gICAgICBpbmZvID0gbW9kZS5pbm5lck1vZGUoc3RhdGUpO1xuICAgICAgaWYgKCFpbmZvIHx8IGluZm8ubW9kZSA9PSBtb2RlKSB7IGJyZWFrIH1cbiAgICAgIHN0YXRlID0gaW5mby5zdGF0ZTtcbiAgICAgIG1vZGUgPSBpbmZvLm1vZGU7XG4gICAgfVxuICAgIHJldHVybiBpbmZvIHx8IHttb2RlOiBtb2RlLCBzdGF0ZTogc3RhdGV9XG4gIH1cblxuICBmdW5jdGlvbiBzdGFydFN0YXRlKG1vZGUsIGExLCBhMikge1xuICAgIHJldHVybiBtb2RlLnN0YXJ0U3RhdGUgPyBtb2RlLnN0YXJ0U3RhdGUoYTEsIGEyKSA6IHRydWVcbiAgfVxuXG4gIC8vIFNUUklORyBTVFJFQU1cblxuICAvLyBGZWQgdG8gdGhlIG1vZGUgcGFyc2VycywgcHJvdmlkZXMgaGVscGVyIGZ1bmN0aW9ucyB0byBtYWtlXG4gIC8vIHBhcnNlcnMgbW9yZSBzdWNjaW5jdC5cblxuICB2YXIgU3RyaW5nU3RyZWFtID0gZnVuY3Rpb24oc3RyaW5nLCB0YWJTaXplLCBsaW5lT3JhY2xlKSB7XG4gICAgdGhpcy5wb3MgPSB0aGlzLnN0YXJ0ID0gMDtcbiAgICB0aGlzLnN0cmluZyA9IHN0cmluZztcbiAgICB0aGlzLnRhYlNpemUgPSB0YWJTaXplIHx8IDg7XG4gICAgdGhpcy5sYXN0Q29sdW1uUG9zID0gdGhpcy5sYXN0Q29sdW1uVmFsdWUgPSAwO1xuICAgIHRoaXMubGluZVN0YXJ0ID0gMDtcbiAgICB0aGlzLmxpbmVPcmFjbGUgPSBsaW5lT3JhY2xlO1xuICB9O1xuXG4gIFN0cmluZ1N0cmVhbS5wcm90b3R5cGUuZW9sID0gZnVuY3Rpb24gKCkge3JldHVybiB0aGlzLnBvcyA+PSB0aGlzLnN0cmluZy5sZW5ndGh9O1xuICBTdHJpbmdTdHJlYW0ucHJvdG90eXBlLnNvbCA9IGZ1bmN0aW9uICgpIHtyZXR1cm4gdGhpcy5wb3MgPT0gdGhpcy5saW5lU3RhcnR9O1xuICBTdHJpbmdTdHJlYW0ucHJvdG90eXBlLnBlZWsgPSBmdW5jdGlvbiAoKSB7cmV0dXJuIHRoaXMuc3RyaW5nLmNoYXJBdCh0aGlzLnBvcykgfHwgdW5kZWZpbmVkfTtcbiAgU3RyaW5nU3RyZWFtLnByb3RvdHlwZS5uZXh0ID0gZnVuY3Rpb24gKCkge1xuICAgIGlmICh0aGlzLnBvcyA8IHRoaXMuc3RyaW5nLmxlbmd0aClcbiAgICAgIHsgcmV0dXJuIHRoaXMuc3RyaW5nLmNoYXJBdCh0aGlzLnBvcysrKSB9XG4gIH07XG4gIFN0cmluZ1N0cmVhbS5wcm90b3R5cGUuZWF0ID0gZnVuY3Rpb24gKG1hdGNoKSB7XG4gICAgdmFyIGNoID0gdGhpcy5zdHJpbmcuY2hhckF0KHRoaXMucG9zKTtcbiAgICB2YXIgb2s7XG4gICAgaWYgKHR5cGVvZiBtYXRjaCA9PSBcInN0cmluZ1wiKSB7IG9rID0gY2ggPT0gbWF0Y2g7IH1cbiAgICBlbHNlIHsgb2sgPSBjaCAmJiAobWF0Y2gudGVzdCA/IG1hdGNoLnRlc3QoY2gpIDogbWF0Y2goY2gpKTsgfVxuICAgIGlmIChvaykgeysrdGhpcy5wb3M7IHJldHVybiBjaH1cbiAgfTtcbiAgU3RyaW5nU3RyZWFtLnByb3RvdHlwZS5lYXRXaGlsZSA9IGZ1bmN0aW9uIChtYXRjaCkge1xuICAgIHZhciBzdGFydCA9IHRoaXMucG9zO1xuICAgIHdoaWxlICh0aGlzLmVhdChtYXRjaCkpe31cbiAgICByZXR1cm4gdGhpcy5wb3MgPiBzdGFydFxuICB9O1xuICBTdHJpbmdTdHJlYW0ucHJvdG90eXBlLmVhdFNwYWNlID0gZnVuY3Rpb24gKCkge1xuICAgICAgdmFyIHRoaXMkMSA9IHRoaXM7XG5cbiAgICB2YXIgc3RhcnQgPSB0aGlzLnBvcztcbiAgICB3aGlsZSAoL1tcXHNcXHUwMGEwXS8udGVzdCh0aGlzLnN0cmluZy5jaGFyQXQodGhpcy5wb3MpKSkgeyArK3RoaXMkMS5wb3M7IH1cbiAgICByZXR1cm4gdGhpcy5wb3MgPiBzdGFydFxuICB9O1xuICBTdHJpbmdTdHJlYW0ucHJvdG90eXBlLnNraXBUb0VuZCA9IGZ1bmN0aW9uICgpIHt0aGlzLnBvcyA9IHRoaXMuc3RyaW5nLmxlbmd0aDt9O1xuICBTdHJpbmdTdHJlYW0ucHJvdG90eXBlLnNraXBUbyA9IGZ1bmN0aW9uIChjaCkge1xuICAgIHZhciBmb3VuZCA9IHRoaXMuc3RyaW5nLmluZGV4T2YoY2gsIHRoaXMucG9zKTtcbiAgICBpZiAoZm91bmQgPiAtMSkge3RoaXMucG9zID0gZm91bmQ7IHJldHVybiB0cnVlfVxuICB9O1xuICBTdHJpbmdTdHJlYW0ucHJvdG90eXBlLmJhY2tVcCA9IGZ1bmN0aW9uIChuKSB7dGhpcy5wb3MgLT0gbjt9O1xuICBTdHJpbmdTdHJlYW0ucHJvdG90eXBlLmNvbHVtbiA9IGZ1bmN0aW9uICgpIHtcbiAgICBpZiAodGhpcy5sYXN0Q29sdW1uUG9zIDwgdGhpcy5zdGFydCkge1xuICAgICAgdGhpcy5sYXN0Q29sdW1uVmFsdWUgPSBjb3VudENvbHVtbih0aGlzLnN0cmluZywgdGhpcy5zdGFydCwgdGhpcy50YWJTaXplLCB0aGlzLmxhc3RDb2x1bW5Qb3MsIHRoaXMubGFzdENvbHVtblZhbHVlKTtcbiAgICAgIHRoaXMubGFzdENvbHVtblBvcyA9IHRoaXMuc3RhcnQ7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmxhc3RDb2x1bW5WYWx1ZSAtICh0aGlzLmxpbmVTdGFydCA/IGNvdW50Q29sdW1uKHRoaXMuc3RyaW5nLCB0aGlzLmxpbmVTdGFydCwgdGhpcy50YWJTaXplKSA6IDApXG4gIH07XG4gIFN0cmluZ1N0cmVhbS5wcm90b3R5cGUuaW5kZW50YXRpb24gPSBmdW5jdGlvbiAoKSB7XG4gICAgcmV0dXJuIGNvdW50Q29sdW1uKHRoaXMuc3RyaW5nLCBudWxsLCB0aGlzLnRhYlNpemUpIC1cbiAgICAgICh0aGlzLmxpbmVTdGFydCA/IGNvdW50Q29sdW1uKHRoaXMuc3RyaW5nLCB0aGlzLmxpbmVTdGFydCwgdGhpcy50YWJTaXplKSA6IDApXG4gIH07XG4gIFN0cmluZ1N0cmVhbS5wcm90b3R5cGUubWF0Y2ggPSBmdW5jdGlvbiAocGF0dGVybiwgY29uc3VtZSwgY2FzZUluc2Vuc2l0aXZlKSB7XG4gICAgaWYgKHR5cGVvZiBwYXR0ZXJuID09IFwic3RyaW5nXCIpIHtcbiAgICAgIHZhciBjYXNlZCA9IGZ1bmN0aW9uIChzdHIpIHsgcmV0dXJuIGNhc2VJbnNlbnNpdGl2ZSA/IHN0ci50b0xvd2VyQ2FzZSgpIDogc3RyOyB9O1xuICAgICAgdmFyIHN1YnN0ciA9IHRoaXMuc3RyaW5nLnN1YnN0cih0aGlzLnBvcywgcGF0dGVybi5sZW5ndGgpO1xuICAgICAgaWYgKGNhc2VkKHN1YnN0cikgPT0gY2FzZWQocGF0dGVybikpIHtcbiAgICAgICAgaWYgKGNvbnN1bWUgIT09IGZhbHNlKSB7IHRoaXMucG9zICs9IHBhdHRlcm4ubGVuZ3RoOyB9XG4gICAgICAgIHJldHVybiB0cnVlXG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHZhciBtYXRjaCA9IHRoaXMuc3RyaW5nLnNsaWNlKHRoaXMucG9zKS5tYXRjaChwYXR0ZXJuKTtcbiAgICAgIGlmIChtYXRjaCAmJiBtYXRjaC5pbmRleCA+IDApIHsgcmV0dXJuIG51bGwgfVxuICAgICAgaWYgKG1hdGNoICYmIGNvbnN1bWUgIT09IGZhbHNlKSB7IHRoaXMucG9zICs9IG1hdGNoWzBdLmxlbmd0aDsgfVxuICAgICAgcmV0dXJuIG1hdGNoXG4gICAgfVxuICB9O1xuICBTdHJpbmdTdHJlYW0ucHJvdG90eXBlLmN1cnJlbnQgPSBmdW5jdGlvbiAoKXtyZXR1cm4gdGhpcy5zdHJpbmcuc2xpY2UodGhpcy5zdGFydCwgdGhpcy5wb3MpfTtcbiAgU3RyaW5nU3RyZWFtLnByb3RvdHlwZS5oaWRlRmlyc3RDaGFycyA9IGZ1bmN0aW9uIChuLCBpbm5lcikge1xuICAgIHRoaXMubGluZVN0YXJ0ICs9IG47XG4gICAgdHJ5IHsgcmV0dXJuIGlubmVyKCkgfVxuICAgIGZpbmFsbHkgeyB0aGlzLmxpbmVTdGFydCAtPSBuOyB9XG4gIH07XG4gIFN0cmluZ1N0cmVhbS5wcm90b3R5cGUubG9va0FoZWFkID0gZnVuY3Rpb24gKG4pIHtcbiAgICB2YXIgb3JhY2xlID0gdGhpcy5saW5lT3JhY2xlO1xuICAgIHJldHVybiBvcmFjbGUgJiYgb3JhY2xlLmxvb2tBaGVhZChuKVxuICB9O1xuICBTdHJpbmdTdHJlYW0ucHJvdG90eXBlLmJhc2VUb2tlbiA9IGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgb3JhY2xlID0gdGhpcy5saW5lT3JhY2xlO1xuICAgIHJldHVybiBvcmFjbGUgJiYgb3JhY2xlLmJhc2VUb2tlbih0aGlzLnBvcylcbiAgfTtcblxuICAvLyBGaW5kIHRoZSBsaW5lIG9iamVjdCBjb3JyZXNwb25kaW5nIHRvIHRoZSBnaXZlbiBsaW5lIG51bWJlci5cbiAgZnVuY3Rpb24gZ2V0TGluZShkb2MsIG4pIHtcbiAgICBuIC09IGRvYy5maXJzdDtcbiAgICBpZiAobiA8IDAgfHwgbiA+PSBkb2Muc2l6ZSkgeyB0aHJvdyBuZXcgRXJyb3IoXCJUaGVyZSBpcyBubyBsaW5lIFwiICsgKG4gKyBkb2MuZmlyc3QpICsgXCIgaW4gdGhlIGRvY3VtZW50LlwiKSB9XG4gICAgdmFyIGNodW5rID0gZG9jO1xuICAgIHdoaWxlICghY2h1bmsubGluZXMpIHtcbiAgICAgIGZvciAodmFyIGkgPSAwOzsgKytpKSB7XG4gICAgICAgIHZhciBjaGlsZCA9IGNodW5rLmNoaWxkcmVuW2ldLCBzeiA9IGNoaWxkLmNodW5rU2l6ZSgpO1xuICAgICAgICBpZiAobiA8IHN6KSB7IGNodW5rID0gY2hpbGQ7IGJyZWFrIH1cbiAgICAgICAgbiAtPSBzejtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGNodW5rLmxpbmVzW25dXG4gIH1cblxuICAvLyBHZXQgdGhlIHBhcnQgb2YgYSBkb2N1bWVudCBiZXR3ZWVuIHR3byBwb3NpdGlvbnMsIGFzIGFuIGFycmF5IG9mXG4gIC8vIHN0cmluZ3MuXG4gIGZ1bmN0aW9uIGdldEJldHdlZW4oZG9jLCBzdGFydCwgZW5kKSB7XG4gICAgdmFyIG91dCA9IFtdLCBuID0gc3RhcnQubGluZTtcbiAgICBkb2MuaXRlcihzdGFydC5saW5lLCBlbmQubGluZSArIDEsIGZ1bmN0aW9uIChsaW5lKSB7XG4gICAgICB2YXIgdGV4dCA9IGxpbmUudGV4dDtcbiAgICAgIGlmIChuID09IGVuZC5saW5lKSB7IHRleHQgPSB0ZXh0LnNsaWNlKDAsIGVuZC5jaCk7IH1cbiAgICAgIGlmIChuID09IHN0YXJ0LmxpbmUpIHsgdGV4dCA9IHRleHQuc2xpY2Uoc3RhcnQuY2gpOyB9XG4gICAgICBvdXQucHVzaCh0ZXh0KTtcbiAgICAgICsrbjtcbiAgICB9KTtcbiAgICByZXR1cm4gb3V0XG4gIH1cbiAgLy8gR2V0IHRoZSBsaW5lcyBiZXR3ZWVuIGZyb20gYW5kIHRvLCBhcyBhcnJheSBvZiBzdHJpbmdzLlxuICBmdW5jdGlvbiBnZXRMaW5lcyhkb2MsIGZyb20sIHRvKSB7XG4gICAgdmFyIG91dCA9IFtdO1xuICAgIGRvYy5pdGVyKGZyb20sIHRvLCBmdW5jdGlvbiAobGluZSkgeyBvdXQucHVzaChsaW5lLnRleHQpOyB9KTsgLy8gaXRlciBhYm9ydHMgd2hlbiBjYWxsYmFjayByZXR1cm5zIHRydXRoeSB2YWx1ZVxuICAgIHJldHVybiBvdXRcbiAgfVxuXG4gIC8vIFVwZGF0ZSB0aGUgaGVpZ2h0IG9mIGEgbGluZSwgcHJvcGFnYXRpbmcgdGhlIGhlaWdodCBjaGFuZ2VcbiAgLy8gdXB3YXJkcyB0byBwYXJlbnQgbm9kZXMuXG4gIGZ1bmN0aW9uIHVwZGF0ZUxpbmVIZWlnaHQobGluZSwgaGVpZ2h0KSB7XG4gICAgdmFyIGRpZmYgPSBoZWlnaHQgLSBsaW5lLmhlaWdodDtcbiAgICBpZiAoZGlmZikgeyBmb3IgKHZhciBuID0gbGluZTsgbjsgbiA9IG4ucGFyZW50KSB7IG4uaGVpZ2h0ICs9IGRpZmY7IH0gfVxuICB9XG5cbiAgLy8gR2l2ZW4gYSBsaW5lIG9iamVjdCwgZmluZCBpdHMgbGluZSBudW1iZXIgYnkgd2Fsa2luZyB1cCB0aHJvdWdoXG4gIC8vIGl0cyBwYXJlbnQgbGlua3MuXG4gIGZ1bmN0aW9uIGxpbmVObyhsaW5lKSB7XG4gICAgaWYgKGxpbmUucGFyZW50ID09IG51bGwpIHsgcmV0dXJuIG51bGwgfVxuICAgIHZhciBjdXIgPSBsaW5lLnBhcmVudCwgbm8gPSBpbmRleE9mKGN1ci5saW5lcywgbGluZSk7XG4gICAgZm9yICh2YXIgY2h1bmsgPSBjdXIucGFyZW50OyBjaHVuazsgY3VyID0gY2h1bmssIGNodW5rID0gY2h1bmsucGFyZW50KSB7XG4gICAgICBmb3IgKHZhciBpID0gMDs7ICsraSkge1xuICAgICAgICBpZiAoY2h1bmsuY2hpbGRyZW5baV0gPT0gY3VyKSB7IGJyZWFrIH1cbiAgICAgICAgbm8gKz0gY2h1bmsuY2hpbGRyZW5baV0uY2h1bmtTaXplKCk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBubyArIGN1ci5maXJzdFxuICB9XG5cbiAgLy8gRmluZCB0aGUgbGluZSBhdCB0aGUgZ2l2ZW4gdmVydGljYWwgcG9zaXRpb24sIHVzaW5nIHRoZSBoZWlnaHRcbiAgLy8gaW5mb3JtYXRpb24gaW4gdGhlIGRvY3VtZW50IHRyZWUuXG4gIGZ1bmN0aW9uIGxpbmVBdEhlaWdodChjaHVuaywgaCkge1xuICAgIHZhciBuID0gY2h1bmsuZmlyc3Q7XG4gICAgb3V0ZXI6IGRvIHtcbiAgICAgIGZvciAodmFyIGkkMSA9IDA7IGkkMSA8IGNodW5rLmNoaWxkcmVuLmxlbmd0aDsgKytpJDEpIHtcbiAgICAgICAgdmFyIGNoaWxkID0gY2h1bmsuY2hpbGRyZW5baSQxXSwgY2ggPSBjaGlsZC5oZWlnaHQ7XG4gICAgICAgIGlmIChoIDwgY2gpIHsgY2h1bmsgPSBjaGlsZDsgY29udGludWUgb3V0ZXIgfVxuICAgICAgICBoIC09IGNoO1xuICAgICAgICBuICs9IGNoaWxkLmNodW5rU2l6ZSgpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIG5cbiAgICB9IHdoaWxlICghY2h1bmsubGluZXMpXG4gICAgdmFyIGkgPSAwO1xuICAgIGZvciAoOyBpIDwgY2h1bmsubGluZXMubGVuZ3RoOyArK2kpIHtcbiAgICAgIHZhciBsaW5lID0gY2h1bmsubGluZXNbaV0sIGxoID0gbGluZS5oZWlnaHQ7XG4gICAgICBpZiAoaCA8IGxoKSB7IGJyZWFrIH1cbiAgICAgIGggLT0gbGg7XG4gICAgfVxuICAgIHJldHVybiBuICsgaVxuICB9XG5cbiAgZnVuY3Rpb24gaXNMaW5lKGRvYywgbCkge3JldHVybiBsID49IGRvYy5maXJzdCAmJiBsIDwgZG9jLmZpcnN0ICsgZG9jLnNpemV9XG5cbiAgZnVuY3Rpb24gbGluZU51bWJlckZvcihvcHRpb25zLCBpKSB7XG4gICAgcmV0dXJuIFN0cmluZyhvcHRpb25zLmxpbmVOdW1iZXJGb3JtYXR0ZXIoaSArIG9wdGlvbnMuZmlyc3RMaW5lTnVtYmVyKSlcbiAgfVxuXG4gIC8vIEEgUG9zIGluc3RhbmNlIHJlcHJlc2VudHMgYSBwb3NpdGlvbiB3aXRoaW4gdGhlIHRleHQuXG4gIGZ1bmN0aW9uIFBvcyhsaW5lLCBjaCwgc3RpY2t5KSB7XG4gICAgaWYgKCBzdGlja3kgPT09IHZvaWQgMCApIHN0aWNreSA9IG51bGw7XG5cbiAgICBpZiAoISh0aGlzIGluc3RhbmNlb2YgUG9zKSkgeyByZXR1cm4gbmV3IFBvcyhsaW5lLCBjaCwgc3RpY2t5KSB9XG4gICAgdGhpcy5saW5lID0gbGluZTtcbiAgICB0aGlzLmNoID0gY2g7XG4gICAgdGhpcy5zdGlja3kgPSBzdGlja3k7XG4gIH1cblxuICAvLyBDb21wYXJlIHR3byBwb3NpdGlvbnMsIHJldHVybiAwIGlmIHRoZXkgYXJlIHRoZSBzYW1lLCBhIG5lZ2F0aXZlXG4gIC8vIG51bWJlciB3aGVuIGEgaXMgbGVzcywgYW5kIGEgcG9zaXRpdmUgbnVtYmVyIG90aGVyd2lzZS5cbiAgZnVuY3Rpb24gY21wKGEsIGIpIHsgcmV0dXJuIGEubGluZSAtIGIubGluZSB8fCBhLmNoIC0gYi5jaCB9XG5cbiAgZnVuY3Rpb24gZXF1YWxDdXJzb3JQb3MoYSwgYikgeyByZXR1cm4gYS5zdGlja3kgPT0gYi5zdGlja3kgJiYgY21wKGEsIGIpID09IDAgfVxuXG4gIGZ1bmN0aW9uIGNvcHlQb3MoeCkge3JldHVybiBQb3MoeC5saW5lLCB4LmNoKX1cbiAgZnVuY3Rpb24gbWF4UG9zKGEsIGIpIHsgcmV0dXJuIGNtcChhLCBiKSA8IDAgPyBiIDogYSB9XG4gIGZ1bmN0aW9uIG1pblBvcyhhLCBiKSB7IHJldHVybiBjbXAoYSwgYikgPCAwID8gYSA6IGIgfVxuXG4gIC8vIE1vc3Qgb2YgdGhlIGV4dGVybmFsIEFQSSBjbGlwcyBnaXZlbiBwb3NpdGlvbnMgdG8gbWFrZSBzdXJlIHRoZXlcbiAgLy8gYWN0dWFsbHkgZXhpc3Qgd2l0aGluIHRoZSBkb2N1bWVudC5cbiAgZnVuY3Rpb24gY2xpcExpbmUoZG9jLCBuKSB7cmV0dXJuIE1hdGgubWF4KGRvYy5maXJzdCwgTWF0aC5taW4obiwgZG9jLmZpcnN0ICsgZG9jLnNpemUgLSAxKSl9XG4gIGZ1bmN0aW9uIGNsaXBQb3MoZG9jLCBwb3MpIHtcbiAgICBpZiAocG9zLmxpbmUgPCBkb2MuZmlyc3QpIHsgcmV0dXJuIFBvcyhkb2MuZmlyc3QsIDApIH1cbiAgICB2YXIgbGFzdCA9IGRvYy5maXJzdCArIGRvYy5zaXplIC0gMTtcbiAgICBpZiAocG9zLmxpbmUgPiBsYXN0KSB7IHJldHVybiBQb3MobGFzdCwgZ2V0TGluZShkb2MsIGxhc3QpLnRleHQubGVuZ3RoKSB9XG4gICAgcmV0dXJuIGNsaXBUb0xlbihwb3MsIGdldExpbmUoZG9jLCBwb3MubGluZSkudGV4dC5sZW5ndGgpXG4gIH1cbiAgZnVuY3Rpb24gY2xpcFRvTGVuKHBvcywgbGluZWxlbikge1xuICAgIHZhciBjaCA9IHBvcy5jaDtcbiAgICBpZiAoY2ggPT0gbnVsbCB8fCBjaCA+IGxpbmVsZW4pIHsgcmV0dXJuIFBvcyhwb3MubGluZSwgbGluZWxlbikgfVxuICAgIGVsc2UgaWYgKGNoIDwgMCkgeyByZXR1cm4gUG9zKHBvcy5saW5lLCAwKSB9XG4gICAgZWxzZSB7IHJldHVybiBwb3MgfVxuICB9XG4gIGZ1bmN0aW9uIGNsaXBQb3NBcnJheShkb2MsIGFycmF5KSB7XG4gICAgdmFyIG91dCA9IFtdO1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYXJyYXkubGVuZ3RoOyBpKyspIHsgb3V0W2ldID0gY2xpcFBvcyhkb2MsIGFycmF5W2ldKTsgfVxuICAgIHJldHVybiBvdXRcbiAgfVxuXG4gIHZhciBTYXZlZENvbnRleHQgPSBmdW5jdGlvbihzdGF0ZSwgbG9va0FoZWFkKSB7XG4gICAgdGhpcy5zdGF0ZSA9IHN0YXRlO1xuICAgIHRoaXMubG9va0FoZWFkID0gbG9va0FoZWFkO1xuICB9O1xuXG4gIHZhciBDb250ZXh0ID0gZnVuY3Rpb24oZG9jLCBzdGF0ZSwgbGluZSwgbG9va0FoZWFkKSB7XG4gICAgdGhpcy5zdGF0ZSA9IHN0YXRlO1xuICAgIHRoaXMuZG9jID0gZG9jO1xuICAgIHRoaXMubGluZSA9IGxpbmU7XG4gICAgdGhpcy5tYXhMb29rQWhlYWQgPSBsb29rQWhlYWQgfHwgMDtcbiAgICB0aGlzLmJhc2VUb2tlbnMgPSBudWxsO1xuICAgIHRoaXMuYmFzZVRva2VuUG9zID0gMTtcbiAgfTtcblxuICBDb250ZXh0LnByb3RvdHlwZS5sb29rQWhlYWQgPSBmdW5jdGlvbiAobikge1xuICAgIHZhciBsaW5lID0gdGhpcy5kb2MuZ2V0TGluZSh0aGlzLmxpbmUgKyBuKTtcbiAgICBpZiAobGluZSAhPSBudWxsICYmIG4gPiB0aGlzLm1heExvb2tBaGVhZCkgeyB0aGlzLm1heExvb2tBaGVhZCA9IG47IH1cbiAgICByZXR1cm4gbGluZVxuICB9O1xuXG4gIENvbnRleHQucHJvdG90eXBlLmJhc2VUb2tlbiA9IGZ1bmN0aW9uIChuKSB7XG4gICAgICB2YXIgdGhpcyQxID0gdGhpcztcblxuICAgIGlmICghdGhpcy5iYXNlVG9rZW5zKSB7IHJldHVybiBudWxsIH1cbiAgICB3aGlsZSAodGhpcy5iYXNlVG9rZW5zW3RoaXMuYmFzZVRva2VuUG9zXSA8PSBuKVxuICAgICAgeyB0aGlzJDEuYmFzZVRva2VuUG9zICs9IDI7IH1cbiAgICB2YXIgdHlwZSA9IHRoaXMuYmFzZVRva2Vuc1t0aGlzLmJhc2VUb2tlblBvcyArIDFdO1xuICAgIHJldHVybiB7dHlwZTogdHlwZSAmJiB0eXBlLnJlcGxhY2UoLyggfF4pb3ZlcmxheSAuKi8sIFwiXCIpLFxuICAgICAgICAgICAgc2l6ZTogdGhpcy5iYXNlVG9rZW5zW3RoaXMuYmFzZVRva2VuUG9zXSAtIG59XG4gIH07XG5cbiAgQ29udGV4dC5wcm90b3R5cGUubmV4dExpbmUgPSBmdW5jdGlvbiAoKSB7XG4gICAgdGhpcy5saW5lKys7XG4gICAgaWYgKHRoaXMubWF4TG9va0FoZWFkID4gMCkgeyB0aGlzLm1heExvb2tBaGVhZC0tOyB9XG4gIH07XG5cbiAgQ29udGV4dC5mcm9tU2F2ZWQgPSBmdW5jdGlvbiAoZG9jLCBzYXZlZCwgbGluZSkge1xuICAgIGlmIChzYXZlZCBpbnN0YW5jZW9mIFNhdmVkQ29udGV4dClcbiAgICAgIHsgcmV0dXJuIG5ldyBDb250ZXh0KGRvYywgY29weVN0YXRlKGRvYy5tb2RlLCBzYXZlZC5zdGF0ZSksIGxpbmUsIHNhdmVkLmxvb2tBaGVhZCkgfVxuICAgIGVsc2VcbiAgICAgIHsgcmV0dXJuIG5ldyBDb250ZXh0KGRvYywgY29weVN0YXRlKGRvYy5tb2RlLCBzYXZlZCksIGxpbmUpIH1cbiAgfTtcblxuICBDb250ZXh0LnByb3RvdHlwZS5zYXZlID0gZnVuY3Rpb24gKGNvcHkpIHtcbiAgICB2YXIgc3RhdGUgPSBjb3B5ICE9PSBmYWxzZSA/IGNvcHlTdGF0ZSh0aGlzLmRvYy5tb2RlLCB0aGlzLnN0YXRlKSA6IHRoaXMuc3RhdGU7XG4gICAgcmV0dXJuIHRoaXMubWF4TG9va0FoZWFkID4gMCA/IG5ldyBTYXZlZENvbnRleHQoc3RhdGUsIHRoaXMubWF4TG9va0FoZWFkKSA6IHN0YXRlXG4gIH07XG5cblxuICAvLyBDb21wdXRlIGEgc3R5bGUgYXJyYXkgKGFuIGFycmF5IHN0YXJ0aW5nIHdpdGggYSBtb2RlIGdlbmVyYXRpb25cbiAgLy8gLS0gZm9yIGludmFsaWRhdGlvbiAtLSBmb2xsb3dlZCBieSBwYWlycyBvZiBlbmQgcG9zaXRpb25zIGFuZFxuICAvLyBzdHlsZSBzdHJpbmdzKSwgd2hpY2ggaXMgdXNlZCB0byBoaWdobGlnaHQgdGhlIHRva2VucyBvbiB0aGVcbiAgLy8gbGluZS5cbiAgZnVuY3Rpb24gaGlnaGxpZ2h0TGluZShjbSwgbGluZSwgY29udGV4dCwgZm9yY2VUb0VuZCkge1xuICAgIC8vIEEgc3R5bGVzIGFycmF5IGFsd2F5cyBzdGFydHMgd2l0aCBhIG51bWJlciBpZGVudGlmeWluZyB0aGVcbiAgICAvLyBtb2RlL292ZXJsYXlzIHRoYXQgaXQgaXMgYmFzZWQgb24gKGZvciBlYXN5IGludmFsaWRhdGlvbikuXG4gICAgdmFyIHN0ID0gW2NtLnN0YXRlLm1vZGVHZW5dLCBsaW5lQ2xhc3NlcyA9IHt9O1xuICAgIC8vIENvbXB1dGUgdGhlIGJhc2UgYXJyYXkgb2Ygc3R5bGVzXG4gICAgcnVuTW9kZShjbSwgbGluZS50ZXh0LCBjbS5kb2MubW9kZSwgY29udGV4dCwgZnVuY3Rpb24gKGVuZCwgc3R5bGUpIHsgcmV0dXJuIHN0LnB1c2goZW5kLCBzdHlsZSk7IH0sXG4gICAgICAgICAgICBsaW5lQ2xhc3NlcywgZm9yY2VUb0VuZCk7XG4gICAgdmFyIHN0YXRlID0gY29udGV4dC5zdGF0ZTtcblxuICAgIC8vIFJ1biBvdmVybGF5cywgYWRqdXN0IHN0eWxlIGFycmF5LlxuICAgIHZhciBsb29wID0gZnVuY3Rpb24gKCBvICkge1xuICAgICAgY29udGV4dC5iYXNlVG9rZW5zID0gc3Q7XG4gICAgICB2YXIgb3ZlcmxheSA9IGNtLnN0YXRlLm92ZXJsYXlzW29dLCBpID0gMSwgYXQgPSAwO1xuICAgICAgY29udGV4dC5zdGF0ZSA9IHRydWU7XG4gICAgICBydW5Nb2RlKGNtLCBsaW5lLnRleHQsIG92ZXJsYXkubW9kZSwgY29udGV4dCwgZnVuY3Rpb24gKGVuZCwgc3R5bGUpIHtcbiAgICAgICAgdmFyIHN0YXJ0ID0gaTtcbiAgICAgICAgLy8gRW5zdXJlIHRoZXJlJ3MgYSB0b2tlbiBlbmQgYXQgdGhlIGN1cnJlbnQgcG9zaXRpb24sIGFuZCB0aGF0IGkgcG9pbnRzIGF0IGl0XG4gICAgICAgIHdoaWxlIChhdCA8IGVuZCkge1xuICAgICAgICAgIHZhciBpX2VuZCA9IHN0W2ldO1xuICAgICAgICAgIGlmIChpX2VuZCA+IGVuZClcbiAgICAgICAgICAgIHsgc3Quc3BsaWNlKGksIDEsIGVuZCwgc3RbaSsxXSwgaV9lbmQpOyB9XG4gICAgICAgICAgaSArPSAyO1xuICAgICAgICAgIGF0ID0gTWF0aC5taW4oZW5kLCBpX2VuZCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFzdHlsZSkgeyByZXR1cm4gfVxuICAgICAgICBpZiAob3ZlcmxheS5vcGFxdWUpIHtcbiAgICAgICAgICBzdC5zcGxpY2Uoc3RhcnQsIGkgLSBzdGFydCwgZW5kLCBcIm92ZXJsYXkgXCIgKyBzdHlsZSk7XG4gICAgICAgICAgaSA9IHN0YXJ0ICsgMjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBmb3IgKDsgc3RhcnQgPCBpOyBzdGFydCArPSAyKSB7XG4gICAgICAgICAgICB2YXIgY3VyID0gc3Rbc3RhcnQrMV07XG4gICAgICAgICAgICBzdFtzdGFydCsxXSA9IChjdXIgPyBjdXIgKyBcIiBcIiA6IFwiXCIpICsgXCJvdmVybGF5IFwiICsgc3R5bGU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9LCBsaW5lQ2xhc3Nlcyk7XG4gICAgICBjb250ZXh0LnN0YXRlID0gc3RhdGU7XG4gICAgICBjb250ZXh0LmJhc2VUb2tlbnMgPSBudWxsO1xuICAgICAgY29udGV4dC5iYXNlVG9rZW5Qb3MgPSAxO1xuICAgIH07XG5cbiAgICBmb3IgKHZhciBvID0gMDsgbyA8IGNtLnN0YXRlLm92ZXJsYXlzLmxlbmd0aDsgKytvKSBsb29wKCBvICk7XG5cbiAgICByZXR1cm4ge3N0eWxlczogc3QsIGNsYXNzZXM6IGxpbmVDbGFzc2VzLmJnQ2xhc3MgfHwgbGluZUNsYXNzZXMudGV4dENsYXNzID8gbGluZUNsYXNzZXMgOiBudWxsfVxuICB9XG5cbiAgZnVuY3Rpb24gZ2V0TGluZVN0eWxlcyhjbSwgbGluZSwgdXBkYXRlRnJvbnRpZXIpIHtcbiAgICBpZiAoIWxpbmUuc3R5bGVzIHx8IGxpbmUuc3R5bGVzWzBdICE9IGNtLnN0YXRlLm1vZGVHZW4pIHtcbiAgICAgIHZhciBjb250ZXh0ID0gZ2V0Q29udGV4dEJlZm9yZShjbSwgbGluZU5vKGxpbmUpKTtcbiAgICAgIHZhciByZXNldFN0YXRlID0gbGluZS50ZXh0Lmxlbmd0aCA+IGNtLm9wdGlvbnMubWF4SGlnaGxpZ2h0TGVuZ3RoICYmIGNvcHlTdGF0ZShjbS5kb2MubW9kZSwgY29udGV4dC5zdGF0ZSk7XG4gICAgICB2YXIgcmVzdWx0ID0gaGlnaGxpZ2h0TGluZShjbSwgbGluZSwgY29udGV4dCk7XG4gICAgICBpZiAocmVzZXRTdGF0ZSkgeyBjb250ZXh0LnN0YXRlID0gcmVzZXRTdGF0ZTsgfVxuICAgICAgbGluZS5zdGF0ZUFmdGVyID0gY29udGV4dC5zYXZlKCFyZXNldFN0YXRlKTtcbiAgICAgIGxpbmUuc3R5bGVzID0gcmVzdWx0LnN0eWxlcztcbiAgICAgIGlmIChyZXN1bHQuY2xhc3NlcykgeyBsaW5lLnN0eWxlQ2xhc3NlcyA9IHJlc3VsdC5jbGFzc2VzOyB9XG4gICAgICBlbHNlIGlmIChsaW5lLnN0eWxlQ2xhc3NlcykgeyBsaW5lLnN0eWxlQ2xhc3NlcyA9IG51bGw7IH1cbiAgICAgIGlmICh1cGRhdGVGcm9udGllciA9PT0gY20uZG9jLmhpZ2hsaWdodEZyb250aWVyKVxuICAgICAgICB7IGNtLmRvYy5tb2RlRnJvbnRpZXIgPSBNYXRoLm1heChjbS5kb2MubW9kZUZyb250aWVyLCArK2NtLmRvYy5oaWdobGlnaHRGcm9udGllcik7IH1cbiAgICB9XG4gICAgcmV0dXJuIGxpbmUuc3R5bGVzXG4gIH1cblxuICBmdW5jdGlvbiBnZXRDb250ZXh0QmVmb3JlKGNtLCBuLCBwcmVjaXNlKSB7XG4gICAgdmFyIGRvYyA9IGNtLmRvYywgZGlzcGxheSA9IGNtLmRpc3BsYXk7XG4gICAgaWYgKCFkb2MubW9kZS5zdGFydFN0YXRlKSB7IHJldHVybiBuZXcgQ29udGV4dChkb2MsIHRydWUsIG4pIH1cbiAgICB2YXIgc3RhcnQgPSBmaW5kU3RhcnRMaW5lKGNtLCBuLCBwcmVjaXNlKTtcbiAgICB2YXIgc2F2ZWQgPSBzdGFydCA+IGRvYy5maXJzdCAmJiBnZXRMaW5lKGRvYywgc3RhcnQgLSAxKS5zdGF0ZUFmdGVyO1xuICAgIHZhciBjb250ZXh0ID0gc2F2ZWQgPyBDb250ZXh0LmZyb21TYXZlZChkb2MsIHNhdmVkLCBzdGFydCkgOiBuZXcgQ29udGV4dChkb2MsIHN0YXJ0U3RhdGUoZG9jLm1vZGUpLCBzdGFydCk7XG5cbiAgICBkb2MuaXRlcihzdGFydCwgbiwgZnVuY3Rpb24gKGxpbmUpIHtcbiAgICAgIHByb2Nlc3NMaW5lKGNtLCBsaW5lLnRleHQsIGNvbnRleHQpO1xuICAgICAgdmFyIHBvcyA9IGNvbnRleHQubGluZTtcbiAgICAgIGxpbmUuc3RhdGVBZnRlciA9IHBvcyA9PSBuIC0gMSB8fCBwb3MgJSA1ID09IDAgfHwgcG9zID49IGRpc3BsYXkudmlld0Zyb20gJiYgcG9zIDwgZGlzcGxheS52aWV3VG8gPyBjb250ZXh0LnNhdmUoKSA6IG51bGw7XG4gICAgICBjb250ZXh0Lm5leHRMaW5lKCk7XG4gICAgfSk7XG4gICAgaWYgKHByZWNpc2UpIHsgZG9jLm1vZGVGcm9udGllciA9IGNvbnRleHQubGluZTsgfVxuICAgIHJldHVybiBjb250ZXh0XG4gIH1cblxuICAvLyBMaWdodHdlaWdodCBmb3JtIG9mIGhpZ2hsaWdodCAtLSBwcm9jZWVkIG92ZXIgdGhpcyBsaW5lIGFuZFxuICAvLyB1cGRhdGUgc3RhdGUsIGJ1dCBkb24ndCBzYXZlIGEgc3R5bGUgYXJyYXkuIFVzZWQgZm9yIGxpbmVzIHRoYXRcbiAgLy8gYXJlbid0IGN1cnJlbnRseSB2aXNpYmxlLlxuICBmdW5jdGlvbiBwcm9jZXNzTGluZShjbSwgdGV4dCwgY29udGV4dCwgc3RhcnRBdCkge1xuICAgIHZhciBtb2RlID0gY20uZG9jLm1vZGU7XG4gICAgdmFyIHN0cmVhbSA9IG5ldyBTdHJpbmdTdHJlYW0odGV4dCwgY20ub3B0aW9ucy50YWJTaXplLCBjb250ZXh0KTtcbiAgICBzdHJlYW0uc3RhcnQgPSBzdHJlYW0ucG9zID0gc3RhcnRBdCB8fCAwO1xuICAgIGlmICh0ZXh0ID09IFwiXCIpIHsgY2FsbEJsYW5rTGluZShtb2RlLCBjb250ZXh0LnN0YXRlKTsgfVxuICAgIHdoaWxlICghc3RyZWFtLmVvbCgpKSB7XG4gICAgICByZWFkVG9rZW4obW9kZSwgc3RyZWFtLCBjb250ZXh0LnN0YXRlKTtcbiAgICAgIHN0cmVhbS5zdGFydCA9IHN0cmVhbS5wb3M7XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gY2FsbEJsYW5rTGluZShtb2RlLCBzdGF0ZSkge1xuICAgIGlmIChtb2RlLmJsYW5rTGluZSkgeyByZXR1cm4gbW9kZS5ibGFua0xpbmUoc3RhdGUpIH1cbiAgICBpZiAoIW1vZGUuaW5uZXJNb2RlKSB7IHJldHVybiB9XG4gICAgdmFyIGlubmVyID0gaW5uZXJNb2RlKG1vZGUsIHN0YXRlKTtcbiAgICBpZiAoaW5uZXIubW9kZS5ibGFua0xpbmUpIHsgcmV0dXJuIGlubmVyLm1vZGUuYmxhbmtMaW5lKGlubmVyLnN0YXRlKSB9XG4gIH1cblxuICBmdW5jdGlvbiByZWFkVG9rZW4obW9kZSwgc3RyZWFtLCBzdGF0ZSwgaW5uZXIpIHtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IDEwOyBpKyspIHtcbiAgICAgIGlmIChpbm5lcikgeyBpbm5lclswXSA9IGlubmVyTW9kZShtb2RlLCBzdGF0ZSkubW9kZTsgfVxuICAgICAgdmFyIHN0eWxlID0gbW9kZS50b2tlbihzdHJlYW0sIHN0YXRlKTtcbiAgICAgIGlmIChzdHJlYW0ucG9zID4gc3RyZWFtLnN0YXJ0KSB7IHJldHVybiBzdHlsZSB9XG4gICAgfVxuICAgIHRocm93IG5ldyBFcnJvcihcIk1vZGUgXCIgKyBtb2RlLm5hbWUgKyBcIiBmYWlsZWQgdG8gYWR2YW5jZSBzdHJlYW0uXCIpXG4gIH1cblxuICB2YXIgVG9rZW4gPSBmdW5jdGlvbihzdHJlYW0sIHR5cGUsIHN0YXRlKSB7XG4gICAgdGhpcy5zdGFydCA9IHN0cmVhbS5zdGFydDsgdGhpcy5lbmQgPSBzdHJlYW0ucG9zO1xuICAgIHRoaXMuc3RyaW5nID0gc3RyZWFtLmN1cnJlbnQoKTtcbiAgICB0aGlzLnR5cGUgPSB0eXBlIHx8IG51bGw7XG4gICAgdGhpcy5zdGF0ZSA9IHN0YXRlO1xuICB9O1xuXG4gIC8vIFV0aWxpdHkgZm9yIGdldFRva2VuQXQgYW5kIGdldExpbmVUb2tlbnNcbiAgZnVuY3Rpb24gdGFrZVRva2VuKGNtLCBwb3MsIHByZWNpc2UsIGFzQXJyYXkpIHtcbiAgICB2YXIgZG9jID0gY20uZG9jLCBtb2RlID0gZG9jLm1vZGUsIHN0eWxlO1xuICAgIHBvcyA9IGNsaXBQb3MoZG9jLCBwb3MpO1xuICAgIHZhciBsaW5lID0gZ2V0TGluZShkb2MsIHBvcy5saW5lKSwgY29udGV4dCA9IGdldENvbnRleHRCZWZvcmUoY20sIHBvcy5saW5lLCBwcmVjaXNlKTtcbiAgICB2YXIgc3RyZWFtID0gbmV3IFN0cmluZ1N0cmVhbShsaW5lLnRleHQsIGNtLm9wdGlvbnMudGFiU2l6ZSwgY29udGV4dCksIHRva2VucztcbiAgICBpZiAoYXNBcnJheSkgeyB0b2tlbnMgPSBbXTsgfVxuICAgIHdoaWxlICgoYXNBcnJheSB8fCBzdHJlYW0ucG9zIDwgcG9zLmNoKSAmJiAhc3RyZWFtLmVvbCgpKSB7XG4gICAgICBzdHJlYW0uc3RhcnQgPSBzdHJlYW0ucG9zO1xuICAgICAgc3R5bGUgPSByZWFkVG9rZW4obW9kZSwgc3RyZWFtLCBjb250ZXh0LnN0YXRlKTtcbiAgICAgIGlmIChhc0FycmF5KSB7IHRva2Vucy5wdXNoKG5ldyBUb2tlbihzdHJlYW0sIHN0eWxlLCBjb3B5U3RhdGUoZG9jLm1vZGUsIGNvbnRleHQuc3RhdGUpKSk7IH1cbiAgICB9XG4gICAgcmV0dXJuIGFzQXJyYXkgPyB0b2tlbnMgOiBuZXcgVG9rZW4oc3RyZWFtLCBzdHlsZSwgY29udGV4dC5zdGF0ZSlcbiAgfVxuXG4gIGZ1bmN0aW9uIGV4dHJhY3RMaW5lQ2xhc3Nlcyh0eXBlLCBvdXRwdXQpIHtcbiAgICBpZiAodHlwZSkgeyBmb3IgKDs7KSB7XG4gICAgICB2YXIgbGluZUNsYXNzID0gdHlwZS5tYXRjaCgvKD86XnxcXHMrKWxpbmUtKGJhY2tncm91bmQtKT8oXFxTKykvKTtcbiAgICAgIGlmICghbGluZUNsYXNzKSB7IGJyZWFrIH1cbiAgICAgIHR5cGUgPSB0eXBlLnNsaWNlKDAsIGxpbmVDbGFzcy5pbmRleCkgKyB0eXBlLnNsaWNlKGxpbmVDbGFzcy5pbmRleCArIGxpbmVDbGFzc1swXS5sZW5ndGgpO1xuICAgICAgdmFyIHByb3AgPSBsaW5lQ2xhc3NbMV0gPyBcImJnQ2xhc3NcIiA6IFwidGV4dENsYXNzXCI7XG4gICAgICBpZiAob3V0cHV0W3Byb3BdID09IG51bGwpXG4gICAgICAgIHsgb3V0cHV0W3Byb3BdID0gbGluZUNsYXNzWzJdOyB9XG4gICAgICBlbHNlIGlmICghKG5ldyBSZWdFeHAoXCIoPzpefFxccylcIiArIGxpbmVDbGFzc1syXSArIFwiKD86JHxcXHMpXCIpKS50ZXN0KG91dHB1dFtwcm9wXSkpXG4gICAgICAgIHsgb3V0cHV0W3Byb3BdICs9IFwiIFwiICsgbGluZUNsYXNzWzJdOyB9XG4gICAgfSB9XG4gICAgcmV0dXJuIHR5cGVcbiAgfVxuXG4gIC8vIFJ1biB0aGUgZ2l2ZW4gbW9kZSdzIHBhcnNlciBvdmVyIGEgbGluZSwgY2FsbGluZyBmIGZvciBlYWNoIHRva2VuLlxuICBmdW5jdGlvbiBydW5Nb2RlKGNtLCB0ZXh0LCBtb2RlLCBjb250ZXh0LCBmLCBsaW5lQ2xhc3NlcywgZm9yY2VUb0VuZCkge1xuICAgIHZhciBmbGF0dGVuU3BhbnMgPSBtb2RlLmZsYXR0ZW5TcGFucztcbiAgICBpZiAoZmxhdHRlblNwYW5zID09IG51bGwpIHsgZmxhdHRlblNwYW5zID0gY20ub3B0aW9ucy5mbGF0dGVuU3BhbnM7IH1cbiAgICB2YXIgY3VyU3RhcnQgPSAwLCBjdXJTdHlsZSA9IG51bGw7XG4gICAgdmFyIHN0cmVhbSA9IG5ldyBTdHJpbmdTdHJlYW0odGV4dCwgY20ub3B0aW9ucy50YWJTaXplLCBjb250ZXh0KSwgc3R5bGU7XG4gICAgdmFyIGlubmVyID0gY20ub3B0aW9ucy5hZGRNb2RlQ2xhc3MgJiYgW251bGxdO1xuICAgIGlmICh0ZXh0ID09IFwiXCIpIHsgZXh0cmFjdExpbmVDbGFzc2VzKGNhbGxCbGFua0xpbmUobW9kZSwgY29udGV4dC5zdGF0ZSksIGxpbmVDbGFzc2VzKTsgfVxuICAgIHdoaWxlICghc3RyZWFtLmVvbCgpKSB7XG4gICAgICBpZiAoc3RyZWFtLnBvcyA+IGNtLm9wdGlvbnMubWF4SGlnaGxpZ2h0TGVuZ3RoKSB7XG4gICAgICAgIGZsYXR0ZW5TcGFucyA9IGZhbHNlO1xuICAgICAgICBpZiAoZm9yY2VUb0VuZCkgeyBwcm9jZXNzTGluZShjbSwgdGV4dCwgY29udGV4dCwgc3RyZWFtLnBvcyk7IH1cbiAgICAgICAgc3RyZWFtLnBvcyA9IHRleHQubGVuZ3RoO1xuICAgICAgICBzdHlsZSA9IG51bGw7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzdHlsZSA9IGV4dHJhY3RMaW5lQ2xhc3NlcyhyZWFkVG9rZW4obW9kZSwgc3RyZWFtLCBjb250ZXh0LnN0YXRlLCBpbm5lciksIGxpbmVDbGFzc2VzKTtcbiAgICAgIH1cbiAgICAgIGlmIChpbm5lcikge1xuICAgICAgICB2YXIgbU5hbWUgPSBpbm5lclswXS5uYW1lO1xuICAgICAgICBpZiAobU5hbWUpIHsgc3R5bGUgPSBcIm0tXCIgKyAoc3R5bGUgPyBtTmFtZSArIFwiIFwiICsgc3R5bGUgOiBtTmFtZSk7IH1cbiAgICAgIH1cbiAgICAgIGlmICghZmxhdHRlblNwYW5zIHx8IGN1clN0eWxlICE9IHN0eWxlKSB7XG4gICAgICAgIHdoaWxlIChjdXJTdGFydCA8IHN0cmVhbS5zdGFydCkge1xuICAgICAgICAgIGN1clN0YXJ0ID0gTWF0aC5taW4oc3RyZWFtLnN0YXJ0LCBjdXJTdGFydCArIDUwMDApO1xuICAgICAgICAgIGYoY3VyU3RhcnQsIGN1clN0eWxlKTtcbiAgICAgICAgfVxuICAgICAgICBjdXJTdHlsZSA9IHN0eWxlO1xuICAgICAgfVxuICAgICAgc3RyZWFtLnN0YXJ0ID0gc3RyZWFtLnBvcztcbiAgICB9XG4gICAgd2hpbGUgKGN1clN0YXJ0IDwgc3RyZWFtLnBvcykge1xuICAgICAgLy8gV2Via2l0IHNlZW1zIHRvIHJlZnVzZSB0byByZW5kZXIgdGV4dCBub2RlcyBsb25nZXIgdGhhbiA1NzQ0NFxuICAgICAgLy8gY2hhcmFjdGVycywgYW5kIHJldHVybnMgaW5hY2N1cmF0ZSBtZWFzdXJlbWVudHMgaW4gbm9kZXNcbiAgICAgIC8vIHN0YXJ0aW5nIGFyb3VuZCA1MDAwIGNoYXJzLlxuICAgICAgdmFyIHBvcyA9IE1hdGgubWluKHN0cmVhbS5wb3MsIGN1clN0YXJ0ICsgNTAwMCk7XG4gICAgICBmKHBvcywgY3VyU3R5bGUpO1xuICAgICAgY3VyU3RhcnQgPSBwb3M7XG4gICAgfVxuICB9XG5cbiAgLy8gRmluZHMgdGhlIGxpbmUgdG8gc3RhcnQgd2l0aCB3aGVuIHN0YXJ0aW5nIGEgcGFyc2UuIFRyaWVzIHRvXG4gIC8vIGZpbmQgYSBsaW5lIHdpdGggYSBzdGF0ZUFmdGVyLCBzbyB0aGF0IGl0IGNhbiBzdGFydCB3aXRoIGFcbiAgLy8gdmFsaWQgc3RhdGUuIElmIHRoYXQgZmFpbHMsIGl0IHJldHVybnMgdGhlIGxpbmUgd2l0aCB0aGVcbiAgLy8gc21hbGxlc3QgaW5kZW50YXRpb24sIHdoaWNoIHRlbmRzIHRvIG5lZWQgdGhlIGxlYXN0IGNvbnRleHQgdG9cbiAgLy8gcGFyc2UgY29ycmVjdGx5LlxuICBmdW5jdGlvbiBmaW5kU3RhcnRMaW5lKGNtLCBuLCBwcmVjaXNlKSB7XG4gICAgdmFyIG1pbmluZGVudCwgbWlubGluZSwgZG9jID0gY20uZG9jO1xuICAgIHZhciBsaW0gPSBwcmVjaXNlID8gLTEgOiBuIC0gKGNtLmRvYy5tb2RlLmlubmVyTW9kZSA/IDEwMDAgOiAxMDApO1xuICAgIGZvciAodmFyIHNlYXJjaCA9IG47IHNlYXJjaCA+IGxpbTsgLS1zZWFyY2gpIHtcbiAgICAgIGlmIChzZWFyY2ggPD0gZG9jLmZpcnN0KSB7IHJldHVybiBkb2MuZmlyc3QgfVxuICAgICAgdmFyIGxpbmUgPSBnZXRMaW5lKGRvYywgc2VhcmNoIC0gMSksIGFmdGVyID0gbGluZS5zdGF0ZUFmdGVyO1xuICAgICAgaWYgKGFmdGVyICYmICghcHJlY2lzZSB8fCBzZWFyY2ggKyAoYWZ0ZXIgaW5zdGFuY2VvZiBTYXZlZENvbnRleHQgPyBhZnRlci5sb29rQWhlYWQgOiAwKSA8PSBkb2MubW9kZUZyb250aWVyKSlcbiAgICAgICAgeyByZXR1cm4gc2VhcmNoIH1cbiAgICAgIHZhciBpbmRlbnRlZCA9IGNvdW50Q29sdW1uKGxpbmUudGV4dCwgbnVsbCwgY20ub3B0aW9ucy50YWJTaXplKTtcbiAgICAgIGlmIChtaW5saW5lID09IG51bGwgfHwgbWluaW5kZW50ID4gaW5kZW50ZWQpIHtcbiAgICAgICAgbWlubGluZSA9IHNlYXJjaCAtIDE7XG4gICAgICAgIG1pbmluZGVudCA9IGluZGVudGVkO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbWlubGluZVxuICB9XG5cbiAgZnVuY3Rpb24gcmV0cmVhdEZyb250aWVyKGRvYywgbikge1xuICAgIGRvYy5tb2RlRnJvbnRpZXIgPSBNYXRoLm1pbihkb2MubW9kZUZyb250aWVyLCBuKTtcbiAgICBpZiAoZG9jLmhpZ2hsaWdodEZyb250aWVyIDwgbiAtIDEwKSB7IHJldHVybiB9XG4gICAgdmFyIHN0YXJ0ID0gZG9jLmZpcnN0O1xuICAgIGZvciAodmFyIGxpbmUgPSBuIC0gMTsgbGluZSA+IHN0YXJ0OyBsaW5lLS0pIHtcbiAgICAgIHZhciBzYXZlZCA9IGdldExpbmUoZG9jLCBsaW5lKS5zdGF0ZUFmdGVyO1xuICAgICAgLy8gY2hhbmdlIGlzIG9uIDNcbiAgICAgIC8vIHN0YXRlIG9uIGxpbmUgMSBsb29rZWQgYWhlYWQgMiAtLSBzbyBzYXcgM1xuICAgICAgLy8gdGVzdCAxICsgMiA8IDMgc2hvdWxkIGNvdmVyIHRoaXNcbiAgICAgIGlmIChzYXZlZCAmJiAoIShzYXZlZCBpbnN0YW5jZW9mIFNhdmVkQ29udGV4dCkgfHwgbGluZSArIHNhdmVkLmxvb2tBaGVhZCA8IG4pKSB7XG4gICAgICAgIHN0YXJ0ID0gbGluZSArIDE7XG4gICAgICAgIGJyZWFrXG4gICAgICB9XG4gICAgfVxuICAgIGRvYy5oaWdobGlnaHRGcm9udGllciA9IE1hdGgubWluKGRvYy5oaWdobGlnaHRGcm9udGllciwgc3RhcnQpO1xuICB9XG5cbiAgLy8gT3B0aW1pemUgc29tZSBjb2RlIHdoZW4gdGhlc2UgZmVhdHVyZXMgYXJlIG5vdCB1c2VkLlxuICB2YXIgc2F3UmVhZE9ubHlTcGFucyA9IGZhbHNlLCBzYXdDb2xsYXBzZWRTcGFucyA9IGZhbHNlO1xuXG4gIGZ1bmN0aW9uIHNlZVJlYWRPbmx5U3BhbnMoKSB7XG4gICAgc2F3UmVhZE9ubHlTcGFucyA9IHRydWU7XG4gIH1cblxuICBmdW5jdGlvbiBzZWVDb2xsYXBzZWRTcGFucygpIHtcbiAgICBzYXdDb2xsYXBzZWRTcGFucyA9IHRydWU7XG4gIH1cblxuICAvLyBURVhUTUFSS0VSIFNQQU5TXG5cbiAgZnVuY3Rpb24gTWFya2VkU3BhbihtYXJrZXIsIGZyb20sIHRvKSB7XG4gICAgdGhpcy5tYXJrZXIgPSBtYXJrZXI7XG4gICAgdGhpcy5mcm9tID0gZnJvbTsgdGhpcy50byA9IHRvO1xuICB9XG5cbiAgLy8gU2VhcmNoIGFuIGFycmF5IG9mIHNwYW5zIGZvciBhIHNwYW4gbWF0Y2hpbmcgdGhlIGdpdmVuIG1hcmtlci5cbiAgZnVuY3Rpb24gZ2V0TWFya2VkU3BhbkZvcihzcGFucywgbWFya2VyKSB7XG4gICAgaWYgKHNwYW5zKSB7IGZvciAodmFyIGkgPSAwOyBpIDwgc3BhbnMubGVuZ3RoOyArK2kpIHtcbiAgICAgIHZhciBzcGFuID0gc3BhbnNbaV07XG4gICAgICBpZiAoc3Bhbi5tYXJrZXIgPT0gbWFya2VyKSB7IHJldHVybiBzcGFuIH1cbiAgICB9IH1cbiAgfVxuICAvLyBSZW1vdmUgYSBzcGFuIGZyb20gYW4gYXJyYXksIHJldHVybmluZyB1bmRlZmluZWQgaWYgbm8gc3BhbnMgYXJlXG4gIC8vIGxlZnQgKHdlIGRvbid0IHN0b3JlIGFycmF5cyBmb3IgbGluZXMgd2l0aG91dCBzcGFucykuXG4gIGZ1bmN0aW9uIHJlbW92ZU1hcmtlZFNwYW4oc3BhbnMsIHNwYW4pIHtcbiAgICB2YXIgcjtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHNwYW5zLmxlbmd0aDsgKytpKVxuICAgICAgeyBpZiAoc3BhbnNbaV0gIT0gc3BhbikgeyAociB8fCAociA9IFtdKSkucHVzaChzcGFuc1tpXSk7IH0gfVxuICAgIHJldHVybiByXG4gIH1cbiAgLy8gQWRkIGEgc3BhbiB0byBhIGxpbmUuXG4gIGZ1bmN0aW9uIGFkZE1hcmtlZFNwYW4obGluZSwgc3Bhbikge1xuICAgIGxpbmUubWFya2VkU3BhbnMgPSBsaW5lLm1hcmtlZFNwYW5zID8gbGluZS5tYXJrZWRTcGFucy5jb25jYXQoW3NwYW5dKSA6IFtzcGFuXTtcbiAgICBzcGFuLm1hcmtlci5hdHRhY2hMaW5lKGxpbmUpO1xuICB9XG5cbiAgLy8gVXNlZCBmb3IgdGhlIGFsZ29yaXRobSB0aGF0IGFkanVzdHMgbWFya2VycyBmb3IgYSBjaGFuZ2UgaW4gdGhlXG4gIC8vIGRvY3VtZW50LiBUaGVzZSBmdW5jdGlvbnMgY3V0IGFuIGFycmF5IG9mIHNwYW5zIGF0IGEgZ2l2ZW5cbiAgLy8gY2hhcmFjdGVyIHBvc2l0aW9uLCByZXR1cm5pbmcgYW4gYXJyYXkgb2YgcmVtYWluaW5nIGNodW5rcyAob3JcbiAgLy8gdW5kZWZpbmVkIGlmIG5vdGhpbmcgcmVtYWlucykuXG4gIGZ1bmN0aW9uIG1hcmtlZFNwYW5zQmVmb3JlKG9sZCwgc3RhcnRDaCwgaXNJbnNlcnQpIHtcbiAgICB2YXIgbnc7XG4gICAgaWYgKG9sZCkgeyBmb3IgKHZhciBpID0gMDsgaSA8IG9sZC5sZW5ndGg7ICsraSkge1xuICAgICAgdmFyIHNwYW4gPSBvbGRbaV0sIG1hcmtlciA9IHNwYW4ubWFya2VyO1xuICAgICAgdmFyIHN0YXJ0c0JlZm9yZSA9IHNwYW4uZnJvbSA9PSBudWxsIHx8IChtYXJrZXIuaW5jbHVzaXZlTGVmdCA/IHNwYW4uZnJvbSA8PSBzdGFydENoIDogc3Bhbi5mcm9tIDwgc3RhcnRDaCk7XG4gICAgICBpZiAoc3RhcnRzQmVmb3JlIHx8IHNwYW4uZnJvbSA9PSBzdGFydENoICYmIG1hcmtlci50eXBlID09IFwiYm9va21hcmtcIiAmJiAoIWlzSW5zZXJ0IHx8ICFzcGFuLm1hcmtlci5pbnNlcnRMZWZ0KSkge1xuICAgICAgICB2YXIgZW5kc0FmdGVyID0gc3Bhbi50byA9PSBudWxsIHx8IChtYXJrZXIuaW5jbHVzaXZlUmlnaHQgPyBzcGFuLnRvID49IHN0YXJ0Q2ggOiBzcGFuLnRvID4gc3RhcnRDaClcbiAgICAgICAgOyhudyB8fCAobncgPSBbXSkpLnB1c2gobmV3IE1hcmtlZFNwYW4obWFya2VyLCBzcGFuLmZyb20sIGVuZHNBZnRlciA/IG51bGwgOiBzcGFuLnRvKSk7XG4gICAgICB9XG4gICAgfSB9XG4gICAgcmV0dXJuIG53XG4gIH1cbiAgZnVuY3Rpb24gbWFya2VkU3BhbnNBZnRlcihvbGQsIGVuZENoLCBpc0luc2VydCkge1xuICAgIHZhciBudztcbiAgICBpZiAob2xkKSB7IGZvciAodmFyIGkgPSAwOyBpIDwgb2xkLmxlbmd0aDsgKytpKSB7XG4gICAgICB2YXIgc3BhbiA9IG9sZFtpXSwgbWFya2VyID0gc3Bhbi5tYXJrZXI7XG4gICAgICB2YXIgZW5kc0FmdGVyID0gc3Bhbi50byA9PSBudWxsIHx8IChtYXJrZXIuaW5jbHVzaXZlUmlnaHQgPyBzcGFuLnRvID49IGVuZENoIDogc3Bhbi50byA+IGVuZENoKTtcbiAgICAgIGlmIChlbmRzQWZ0ZXIgfHwgc3Bhbi5mcm9tID09IGVuZENoICYmIG1hcmtlci50eXBlID09IFwiYm9va21hcmtcIiAmJiAoIWlzSW5zZXJ0IHx8IHNwYW4ubWFya2VyLmluc2VydExlZnQpKSB7XG4gICAgICAgIHZhciBzdGFydHNCZWZvcmUgPSBzcGFuLmZyb20gPT0gbnVsbCB8fCAobWFya2VyLmluY2x1c2l2ZUxlZnQgPyBzcGFuLmZyb20gPD0gZW5kQ2ggOiBzcGFuLmZyb20gPCBlbmRDaClcbiAgICAgICAgOyhudyB8fCAobncgPSBbXSkpLnB1c2gobmV3IE1hcmtlZFNwYW4obWFya2VyLCBzdGFydHNCZWZvcmUgPyBudWxsIDogc3Bhbi5mcm9tIC0gZW5kQ2gsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Bhbi50byA9PSBudWxsID8gbnVsbCA6IHNwYW4udG8gLSBlbmRDaCkpO1xuICAgICAgfVxuICAgIH0gfVxuICAgIHJldHVybiBud1xuICB9XG5cbiAgLy8gR2l2ZW4gYSBjaGFuZ2Ugb2JqZWN0LCBjb21wdXRlIHRoZSBuZXcgc2V0IG9mIG1hcmtlciBzcGFucyB0aGF0XG4gIC8vIGNvdmVyIHRoZSBsaW5lIGluIHdoaWNoIHRoZSBjaGFuZ2UgdG9vayBwbGFjZS4gUmVtb3ZlcyBzcGFuc1xuICAvLyBlbnRpcmVseSB3aXRoaW4gdGhlIGNoYW5nZSwgcmVjb25uZWN0cyBzcGFucyBiZWxvbmdpbmcgdG8gdGhlXG4gIC8vIHNhbWUgbWFya2VyIHRoYXQgYXBwZWFyIG9uIGJvdGggc2lkZXMgb2YgdGhlIGNoYW5nZSwgYW5kIGN1dHMgb2ZmXG4gIC8vIHNwYW5zIHBhcnRpYWxseSB3aXRoaW4gdGhlIGNoYW5nZS4gUmV0dXJucyBhbiBhcnJheSBvZiBzcGFuXG4gIC8vIGFycmF5cyB3aXRoIG9uZSBlbGVtZW50IGZvciBlYWNoIGxpbmUgaW4gKGFmdGVyKSB0aGUgY2hhbmdlLlxuICBmdW5jdGlvbiBzdHJldGNoU3BhbnNPdmVyQ2hhbmdlKGRvYywgY2hhbmdlKSB7XG4gICAgaWYgKGNoYW5nZS5mdWxsKSB7IHJldHVybiBudWxsIH1cbiAgICB2YXIgb2xkRmlyc3QgPSBpc0xpbmUoZG9jLCBjaGFuZ2UuZnJvbS5saW5lKSAmJiBnZXRMaW5lKGRvYywgY2hhbmdlLmZyb20ubGluZSkubWFya2VkU3BhbnM7XG4gICAgdmFyIG9sZExhc3QgPSBpc0xpbmUoZG9jLCBjaGFuZ2UudG8ubGluZSkgJiYgZ2V0TGluZShkb2MsIGNoYW5nZS50by5saW5lKS5tYXJrZWRTcGFucztcbiAgICBpZiAoIW9sZEZpcnN0ICYmICFvbGRMYXN0KSB7IHJldHVybiBudWxsIH1cblxuICAgIHZhciBzdGFydENoID0gY2hhbmdlLmZyb20uY2gsIGVuZENoID0gY2hhbmdlLnRvLmNoLCBpc0luc2VydCA9IGNtcChjaGFuZ2UuZnJvbSwgY2hhbmdlLnRvKSA9PSAwO1xuICAgIC8vIEdldCB0aGUgc3BhbnMgdGhhdCAnc3RpY2sgb3V0JyBvbiBib3RoIHNpZGVzXG4gICAgdmFyIGZpcnN0ID0gbWFya2VkU3BhbnNCZWZvcmUob2xkRmlyc3QsIHN0YXJ0Q2gsIGlzSW5zZXJ0KTtcbiAgICB2YXIgbGFzdCA9IG1hcmtlZFNwYW5zQWZ0ZXIob2xkTGFzdCwgZW5kQ2gsIGlzSW5zZXJ0KTtcblxuICAgIC8vIE5leHQsIG1lcmdlIHRob3NlIHR3byBlbmRzXG4gICAgdmFyIHNhbWVMaW5lID0gY2hhbmdlLnRleHQubGVuZ3RoID09IDEsIG9mZnNldCA9IGxzdChjaGFuZ2UudGV4dCkubGVuZ3RoICsgKHNhbWVMaW5lID8gc3RhcnRDaCA6IDApO1xuICAgIGlmIChmaXJzdCkge1xuICAgICAgLy8gRml4IHVwIC50byBwcm9wZXJ0aWVzIG9mIGZpcnN0XG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGZpcnN0Lmxlbmd0aDsgKytpKSB7XG4gICAgICAgIHZhciBzcGFuID0gZmlyc3RbaV07XG4gICAgICAgIGlmIChzcGFuLnRvID09IG51bGwpIHtcbiAgICAgICAgICB2YXIgZm91bmQgPSBnZXRNYXJrZWRTcGFuRm9yKGxhc3QsIHNwYW4ubWFya2VyKTtcbiAgICAgICAgICBpZiAoIWZvdW5kKSB7IHNwYW4udG8gPSBzdGFydENoOyB9XG4gICAgICAgICAgZWxzZSBpZiAoc2FtZUxpbmUpIHsgc3Bhbi50byA9IGZvdW5kLnRvID09IG51bGwgPyBudWxsIDogZm91bmQudG8gKyBvZmZzZXQ7IH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBpZiAobGFzdCkge1xuICAgICAgLy8gRml4IHVwIC5mcm9tIGluIGxhc3QgKG9yIG1vdmUgdGhlbSBpbnRvIGZpcnN0IGluIGNhc2Ugb2Ygc2FtZUxpbmUpXG4gICAgICBmb3IgKHZhciBpJDEgPSAwOyBpJDEgPCBsYXN0Lmxlbmd0aDsgKytpJDEpIHtcbiAgICAgICAgdmFyIHNwYW4kMSA9IGxhc3RbaSQxXTtcbiAgICAgICAgaWYgKHNwYW4kMS50byAhPSBudWxsKSB7IHNwYW4kMS50byArPSBvZmZzZXQ7IH1cbiAgICAgICAgaWYgKHNwYW4kMS5mcm9tID09IG51bGwpIHtcbiAgICAgICAgICB2YXIgZm91bmQkMSA9IGdldE1hcmtlZFNwYW5Gb3IoZmlyc3QsIHNwYW4kMS5tYXJrZXIpO1xuICAgICAgICAgIGlmICghZm91bmQkMSkge1xuICAgICAgICAgICAgc3BhbiQxLmZyb20gPSBvZmZzZXQ7XG4gICAgICAgICAgICBpZiAoc2FtZUxpbmUpIHsgKGZpcnN0IHx8IChmaXJzdCA9IFtdKSkucHVzaChzcGFuJDEpOyB9XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHNwYW4kMS5mcm9tICs9IG9mZnNldDtcbiAgICAgICAgICBpZiAoc2FtZUxpbmUpIHsgKGZpcnN0IHx8IChmaXJzdCA9IFtdKSkucHVzaChzcGFuJDEpOyB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLy8gTWFrZSBzdXJlIHdlIGRpZG4ndCBjcmVhdGUgYW55IHplcm8tbGVuZ3RoIHNwYW5zXG4gICAgaWYgKGZpcnN0KSB7IGZpcnN0ID0gY2xlYXJFbXB0eVNwYW5zKGZpcnN0KTsgfVxuICAgIGlmIChsYXN0ICYmIGxhc3QgIT0gZmlyc3QpIHsgbGFzdCA9IGNsZWFyRW1wdHlTcGFucyhsYXN0KTsgfVxuXG4gICAgdmFyIG5ld01hcmtlcnMgPSBbZmlyc3RdO1xuICAgIGlmICghc2FtZUxpbmUpIHtcbiAgICAgIC8vIEZpbGwgZ2FwIHdpdGggd2hvbGUtbGluZS1zcGFuc1xuICAgICAgdmFyIGdhcCA9IGNoYW5nZS50ZXh0Lmxlbmd0aCAtIDIsIGdhcE1hcmtlcnM7XG4gICAgICBpZiAoZ2FwID4gMCAmJiBmaXJzdClcbiAgICAgICAgeyBmb3IgKHZhciBpJDIgPSAwOyBpJDIgPCBmaXJzdC5sZW5ndGg7ICsraSQyKVxuICAgICAgICAgIHsgaWYgKGZpcnN0W2kkMl0udG8gPT0gbnVsbClcbiAgICAgICAgICAgIHsgKGdhcE1hcmtlcnMgfHwgKGdhcE1hcmtlcnMgPSBbXSkpLnB1c2gobmV3IE1hcmtlZFNwYW4oZmlyc3RbaSQyXS5tYXJrZXIsIG51bGwsIG51bGwpKTsgfSB9IH1cbiAgICAgIGZvciAodmFyIGkkMyA9IDA7IGkkMyA8IGdhcDsgKytpJDMpXG4gICAgICAgIHsgbmV3TWFya2Vycy5wdXNoKGdhcE1hcmtlcnMpOyB9XG4gICAgICBuZXdNYXJrZXJzLnB1c2gobGFzdCk7XG4gICAgfVxuICAgIHJldHVybiBuZXdNYXJrZXJzXG4gIH1cblxuICAvLyBSZW1vdmUgc3BhbnMgdGhhdCBhcmUgZW1wdHkgYW5kIGRvbid0IGhhdmUgYSBjbGVhcldoZW5FbXB0eVxuICAvLyBvcHRpb24gb2YgZmFsc2UuXG4gIGZ1bmN0aW9uIGNsZWFyRW1wdHlTcGFucyhzcGFucykge1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc3BhbnMubGVuZ3RoOyArK2kpIHtcbiAgICAgIHZhciBzcGFuID0gc3BhbnNbaV07XG4gICAgICBpZiAoc3Bhbi5mcm9tICE9IG51bGwgJiYgc3Bhbi5mcm9tID09IHNwYW4udG8gJiYgc3Bhbi5tYXJrZXIuY2xlYXJXaGVuRW1wdHkgIT09IGZhbHNlKVxuICAgICAgICB7IHNwYW5zLnNwbGljZShpLS0sIDEpOyB9XG4gICAgfVxuICAgIGlmICghc3BhbnMubGVuZ3RoKSB7IHJldHVybiBudWxsIH1cbiAgICByZXR1cm4gc3BhbnNcbiAgfVxuXG4gIC8vIFVzZWQgdG8gJ2NsaXAnIG91dCByZWFkT25seSByYW5nZXMgd2hlbiBtYWtpbmcgYSBjaGFuZ2UuXG4gIGZ1bmN0aW9uIHJlbW92ZVJlYWRPbmx5UmFuZ2VzKGRvYywgZnJvbSwgdG8pIHtcbiAgICB2YXIgbWFya2VycyA9IG51bGw7XG4gICAgZG9jLml0ZXIoZnJvbS5saW5lLCB0by5saW5lICsgMSwgZnVuY3Rpb24gKGxpbmUpIHtcbiAgICAgIGlmIChsaW5lLm1hcmtlZFNwYW5zKSB7IGZvciAodmFyIGkgPSAwOyBpIDwgbGluZS5tYXJrZWRTcGFucy5sZW5ndGg7ICsraSkge1xuICAgICAgICB2YXIgbWFyayA9IGxpbmUubWFya2VkU3BhbnNbaV0ubWFya2VyO1xuICAgICAgICBpZiAobWFyay5yZWFkT25seSAmJiAoIW1hcmtlcnMgfHwgaW5kZXhPZihtYXJrZXJzLCBtYXJrKSA9PSAtMSkpXG4gICAgICAgICAgeyAobWFya2VycyB8fCAobWFya2VycyA9IFtdKSkucHVzaChtYXJrKTsgfVxuICAgICAgfSB9XG4gICAgfSk7XG4gICAgaWYgKCFtYXJrZXJzKSB7IHJldHVybiBudWxsIH1cbiAgICB2YXIgcGFydHMgPSBbe2Zyb206IGZyb20sIHRvOiB0b31dO1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbWFya2Vycy5sZW5ndGg7ICsraSkge1xuICAgICAgdmFyIG1rID0gbWFya2Vyc1tpXSwgbSA9IG1rLmZpbmQoMCk7XG4gICAgICBmb3IgKHZhciBqID0gMDsgaiA8IHBhcnRzLmxlbmd0aDsgKytqKSB7XG4gICAgICAgIHZhciBwID0gcGFydHNbal07XG4gICAgICAgIGlmIChjbXAocC50bywgbS5mcm9tKSA8IDAgfHwgY21wKHAuZnJvbSwgbS50bykgPiAwKSB7IGNvbnRpbnVlIH1cbiAgICAgICAgdmFyIG5ld1BhcnRzID0gW2osIDFdLCBkZnJvbSA9IGNtcChwLmZyb20sIG0uZnJvbSksIGR0byA9IGNtcChwLnRvLCBtLnRvKTtcbiAgICAgICAgaWYgKGRmcm9tIDwgMCB8fCAhbWsuaW5jbHVzaXZlTGVmdCAmJiAhZGZyb20pXG4gICAgICAgICAgeyBuZXdQYXJ0cy5wdXNoKHtmcm9tOiBwLmZyb20sIHRvOiBtLmZyb219KTsgfVxuICAgICAgICBpZiAoZHRvID4gMCB8fCAhbWsuaW5jbHVzaXZlUmlnaHQgJiYgIWR0bylcbiAgICAgICAgICB7IG5ld1BhcnRzLnB1c2goe2Zyb206IG0udG8sIHRvOiBwLnRvfSk7IH1cbiAgICAgICAgcGFydHMuc3BsaWNlLmFwcGx5KHBhcnRzLCBuZXdQYXJ0cyk7XG4gICAgICAgIGogKz0gbmV3UGFydHMubGVuZ3RoIC0gMztcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHBhcnRzXG4gIH1cblxuICAvLyBDb25uZWN0IG9yIGRpc2Nvbm5lY3Qgc3BhbnMgZnJvbSBhIGxpbmUuXG4gIGZ1bmN0aW9uIGRldGFjaE1hcmtlZFNwYW5zKGxpbmUpIHtcbiAgICB2YXIgc3BhbnMgPSBsaW5lLm1hcmtlZFNwYW5zO1xuICAgIGlmICghc3BhbnMpIHsgcmV0dXJuIH1cbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHNwYW5zLmxlbmd0aDsgKytpKVxuICAgICAgeyBzcGFuc1tpXS5tYXJrZXIuZGV0YWNoTGluZShsaW5lKTsgfVxuICAgIGxpbmUubWFya2VkU3BhbnMgPSBudWxsO1xuICB9XG4gIGZ1bmN0aW9uIGF0dGFjaE1hcmtlZFNwYW5zKGxpbmUsIHNwYW5zKSB7XG4gICAgaWYgKCFzcGFucykgeyByZXR1cm4gfVxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc3BhbnMubGVuZ3RoOyArK2kpXG4gICAgICB7IHNwYW5zW2ldLm1hcmtlci5hdHRhY2hMaW5lKGxpbmUpOyB9XG4gICAgbGluZS5tYXJrZWRTcGFucyA9IHNwYW5zO1xuICB9XG5cbiAgLy8gSGVscGVycyB1c2VkIHdoZW4gY29tcHV0aW5nIHdoaWNoIG92ZXJsYXBwaW5nIGNvbGxhcHNlZCBzcGFuXG4gIC8vIGNvdW50cyBhcyB0aGUgbGFyZ2VyIG9uZS5cbiAgZnVuY3Rpb24gZXh0cmFMZWZ0KG1hcmtlcikgeyByZXR1cm4gbWFya2VyLmluY2x1c2l2ZUxlZnQgPyAtMSA6IDAgfVxuICBmdW5jdGlvbiBleHRyYVJpZ2h0KG1hcmtlcikgeyByZXR1cm4gbWFya2VyLmluY2x1c2l2ZVJpZ2h0ID8gMSA6IDAgfVxuXG4gIC8vIFJldHVybnMgYSBudW1iZXIgaW5kaWNhdGluZyB3aGljaCBvZiB0d28gb3ZlcmxhcHBpbmcgY29sbGFwc2VkXG4gIC8vIHNwYW5zIGlzIGxhcmdlciAoYW5kIHRodXMgaW5jbHVkZXMgdGhlIG90aGVyKS4gRmFsbHMgYmFjayB0b1xuICAvLyBjb21wYXJpbmcgaWRzIHdoZW4gdGhlIHNwYW5zIGNvdmVyIGV4YWN0bHkgdGhlIHNhbWUgcmFuZ2UuXG4gIGZ1bmN0aW9uIGNvbXBhcmVDb2xsYXBzZWRNYXJrZXJzKGEsIGIpIHtcbiAgICB2YXIgbGVuRGlmZiA9IGEubGluZXMubGVuZ3RoIC0gYi5saW5lcy5sZW5ndGg7XG4gICAgaWYgKGxlbkRpZmYgIT0gMCkgeyByZXR1cm4gbGVuRGlmZiB9XG4gICAgdmFyIGFQb3MgPSBhLmZpbmQoKSwgYlBvcyA9IGIuZmluZCgpO1xuICAgIHZhciBmcm9tQ21wID0gY21wKGFQb3MuZnJvbSwgYlBvcy5mcm9tKSB8fCBleHRyYUxlZnQoYSkgLSBleHRyYUxlZnQoYik7XG4gICAgaWYgKGZyb21DbXApIHsgcmV0dXJuIC1mcm9tQ21wIH1cbiAgICB2YXIgdG9DbXAgPSBjbXAoYVBvcy50bywgYlBvcy50bykgfHwgZXh0cmFSaWdodChhKSAtIGV4dHJhUmlnaHQoYik7XG4gICAgaWYgKHRvQ21wKSB7IHJldHVybiB0b0NtcCB9XG4gICAgcmV0dXJuIGIuaWQgLSBhLmlkXG4gIH1cblxuICAvLyBGaW5kIG91dCB3aGV0aGVyIGEgbGluZSBlbmRzIG9yIHN0YXJ0cyBpbiBhIGNvbGxhcHNlZCBzcGFuLiBJZlxuICAvLyBzbywgcmV0dXJuIHRoZSBtYXJrZXIgZm9yIHRoYXQgc3Bhbi5cbiAgZnVuY3Rpb24gY29sbGFwc2VkU3BhbkF0U2lkZShsaW5lLCBzdGFydCkge1xuICAgIHZhciBzcHMgPSBzYXdDb2xsYXBzZWRTcGFucyAmJiBsaW5lLm1hcmtlZFNwYW5zLCBmb3VuZDtcbiAgICBpZiAoc3BzKSB7IGZvciAodmFyIHNwID0gKHZvaWQgMCksIGkgPSAwOyBpIDwgc3BzLmxlbmd0aDsgKytpKSB7XG4gICAgICBzcCA9IHNwc1tpXTtcbiAgICAgIGlmIChzcC5tYXJrZXIuY29sbGFwc2VkICYmIChzdGFydCA/IHNwLmZyb20gOiBzcC50bykgPT0gbnVsbCAmJlxuICAgICAgICAgICghZm91bmQgfHwgY29tcGFyZUNvbGxhcHNlZE1hcmtlcnMoZm91bmQsIHNwLm1hcmtlcikgPCAwKSlcbiAgICAgICAgeyBmb3VuZCA9IHNwLm1hcmtlcjsgfVxuICAgIH0gfVxuICAgIHJldHVybiBmb3VuZFxuICB9XG4gIGZ1bmN0aW9uIGNvbGxhcHNlZFNwYW5BdFN0YXJ0KGxpbmUpIHsgcmV0dXJuIGNvbGxhcHNlZFNwYW5BdFNpZGUobGluZSwgdHJ1ZSkgfVxuICBmdW5jdGlvbiBjb2xsYXBzZWRTcGFuQXRFbmQobGluZSkgeyByZXR1cm4gY29sbGFwc2VkU3BhbkF0U2lkZShsaW5lLCBmYWxzZSkgfVxuXG4gIGZ1bmN0aW9uIGNvbGxhcHNlZFNwYW5Bcm91bmQobGluZSwgY2gpIHtcbiAgICB2YXIgc3BzID0gc2F3Q29sbGFwc2VkU3BhbnMgJiYgbGluZS5tYXJrZWRTcGFucywgZm91bmQ7XG4gICAgaWYgKHNwcykgeyBmb3IgKHZhciBpID0gMDsgaSA8IHNwcy5sZW5ndGg7ICsraSkge1xuICAgICAgdmFyIHNwID0gc3BzW2ldO1xuICAgICAgaWYgKHNwLm1hcmtlci5jb2xsYXBzZWQgJiYgKHNwLmZyb20gPT0gbnVsbCB8fCBzcC5mcm9tIDwgY2gpICYmIChzcC50byA9PSBudWxsIHx8IHNwLnRvID4gY2gpICYmXG4gICAgICAgICAgKCFmb3VuZCB8fCBjb21wYXJlQ29sbGFwc2VkTWFya2Vycyhmb3VuZCwgc3AubWFya2VyKSA8IDApKSB7IGZvdW5kID0gc3AubWFya2VyOyB9XG4gICAgfSB9XG4gICAgcmV0dXJuIGZvdW5kXG4gIH1cblxuICAvLyBUZXN0IHdoZXRoZXIgdGhlcmUgZXhpc3RzIGEgY29sbGFwc2VkIHNwYW4gdGhhdCBwYXJ0aWFsbHlcbiAgLy8gb3ZlcmxhcHMgKGNvdmVycyB0aGUgc3RhcnQgb3IgZW5kLCBidXQgbm90IGJvdGgpIG9mIGEgbmV3IHNwYW4uXG4gIC8vIFN1Y2ggb3ZlcmxhcCBpcyBub3QgYWxsb3dlZC5cbiAgZnVuY3Rpb24gY29uZmxpY3RpbmdDb2xsYXBzZWRSYW5nZShkb2MsIGxpbmVObyQkMSwgZnJvbSwgdG8sIG1hcmtlcikge1xuICAgIHZhciBsaW5lID0gZ2V0TGluZShkb2MsIGxpbmVObyQkMSk7XG4gICAgdmFyIHNwcyA9IHNhd0NvbGxhcHNlZFNwYW5zICYmIGxpbmUubWFya2VkU3BhbnM7XG4gICAgaWYgKHNwcykgeyBmb3IgKHZhciBpID0gMDsgaSA8IHNwcy5sZW5ndGg7ICsraSkge1xuICAgICAgdmFyIHNwID0gc3BzW2ldO1xuICAgICAgaWYgKCFzcC5tYXJrZXIuY29sbGFwc2VkKSB7IGNvbnRpbnVlIH1cbiAgICAgIHZhciBmb3VuZCA9IHNwLm1hcmtlci5maW5kKDApO1xuICAgICAgdmFyIGZyb21DbXAgPSBjbXAoZm91bmQuZnJvbSwgZnJvbSkgfHwgZXh0cmFMZWZ0KHNwLm1hcmtlcikgLSBleHRyYUxlZnQobWFya2VyKTtcbiAgICAgIHZhciB0b0NtcCA9IGNtcChmb3VuZC50bywgdG8pIHx8IGV4dHJhUmlnaHQoc3AubWFya2VyKSAtIGV4dHJhUmlnaHQobWFya2VyKTtcbiAgICAgIGlmIChmcm9tQ21wID49IDAgJiYgdG9DbXAgPD0gMCB8fCBmcm9tQ21wIDw9IDAgJiYgdG9DbXAgPj0gMCkgeyBjb250aW51ZSB9XG4gICAgICBpZiAoZnJvbUNtcCA8PSAwICYmIChzcC5tYXJrZXIuaW5jbHVzaXZlUmlnaHQgJiYgbWFya2VyLmluY2x1c2l2ZUxlZnQgPyBjbXAoZm91bmQudG8sIGZyb20pID49IDAgOiBjbXAoZm91bmQudG8sIGZyb20pID4gMCkgfHxcbiAgICAgICAgICBmcm9tQ21wID49IDAgJiYgKHNwLm1hcmtlci5pbmNsdXNpdmVSaWdodCAmJiBtYXJrZXIuaW5jbHVzaXZlTGVmdCA/IGNtcChmb3VuZC5mcm9tLCB0bykgPD0gMCA6IGNtcChmb3VuZC5mcm9tLCB0bykgPCAwKSlcbiAgICAgICAgeyByZXR1cm4gdHJ1ZSB9XG4gICAgfSB9XG4gIH1cblxuICAvLyBBIHZpc3VhbCBsaW5lIGlzIGEgbGluZSBhcyBkcmF3biBvbiB0aGUgc2NyZWVuLiBGb2xkaW5nLCBmb3JcbiAgLy8gZXhhbXBsZSwgY2FuIGNhdXNlIG11bHRpcGxlIGxvZ2ljYWwgbGluZXMgdG8gYXBwZWFyIG9uIHRoZSBzYW1lXG4gIC8vIHZpc3VhbCBsaW5lLiBUaGlzIGZpbmRzIHRoZSBzdGFydCBvZiB0aGUgdmlzdWFsIGxpbmUgdGhhdCB0aGVcbiAgLy8gZ2l2ZW4gbGluZSBpcyBwYXJ0IG9mICh1c3VhbGx5IHRoYXQgaXMgdGhlIGxpbmUgaXRzZWxmKS5cbiAgZnVuY3Rpb24gdmlzdWFsTGluZShsaW5lKSB7XG4gICAgdmFyIG1lcmdlZDtcbiAgICB3aGlsZSAobWVyZ2VkID0gY29sbGFwc2VkU3BhbkF0U3RhcnQobGluZSkpXG4gICAgICB7IGxpbmUgPSBtZXJnZWQuZmluZCgtMSwgdHJ1ZSkubGluZTsgfVxuICAgIHJldHVybiBsaW5lXG4gIH1cblxuICBmdW5jdGlvbiB2aXN1YWxMaW5lRW5kKGxpbmUpIHtcbiAgICB2YXIgbWVyZ2VkO1xuICAgIHdoaWxlIChtZXJnZWQgPSBjb2xsYXBzZWRTcGFuQXRFbmQobGluZSkpXG4gICAgICB7IGxpbmUgPSBtZXJnZWQuZmluZCgxLCB0cnVlKS5saW5lOyB9XG4gICAgcmV0dXJuIGxpbmVcbiAgfVxuXG4gIC8vIFJldHVybnMgYW4gYXJyYXkgb2YgbG9naWNhbCBsaW5lcyB0aGF0IGNvbnRpbnVlIHRoZSB2aXN1YWwgbGluZVxuICAvLyBzdGFydGVkIGJ5IHRoZSBhcmd1bWVudCwgb3IgdW5kZWZpbmVkIGlmIHRoZXJlIGFyZSBubyBzdWNoIGxpbmVzLlxuICBmdW5jdGlvbiB2aXN1YWxMaW5lQ29udGludWVkKGxpbmUpIHtcbiAgICB2YXIgbWVyZ2VkLCBsaW5lcztcbiAgICB3aGlsZSAobWVyZ2VkID0gY29sbGFwc2VkU3BhbkF0RW5kKGxpbmUpKSB7XG4gICAgICBsaW5lID0gbWVyZ2VkLmZpbmQoMSwgdHJ1ZSkubGluZVxuICAgICAgOyhsaW5lcyB8fCAobGluZXMgPSBbXSkpLnB1c2gobGluZSk7XG4gICAgfVxuICAgIHJldHVybiBsaW5lc1xuICB9XG5cbiAgLy8gR2V0IHRoZSBsaW5lIG51bWJlciBvZiB0aGUgc3RhcnQgb2YgdGhlIHZpc3VhbCBsaW5lIHRoYXQgdGhlXG4gIC8vIGdpdmVuIGxpbmUgbnVtYmVyIGlzIHBhcnQgb2YuXG4gIGZ1bmN0aW9uIHZpc3VhbExpbmVObyhkb2MsIGxpbmVOKSB7XG4gICAgdmFyIGxpbmUgPSBnZXRMaW5lKGRvYywgbGluZU4pLCB2aXMgPSB2aXN1YWxMaW5lKGxpbmUpO1xuICAgIGlmIChsaW5lID09IHZpcykgeyByZXR1cm4gbGluZU4gfVxuICAgIHJldHVybiBsaW5lTm8odmlzKVxuICB9XG5cbiAgLy8gR2V0IHRoZSBsaW5lIG51bWJlciBvZiB0aGUgc3RhcnQgb2YgdGhlIG5leHQgdmlzdWFsIGxpbmUgYWZ0ZXJcbiAgLy8gdGhlIGdpdmVuIGxpbmUuXG4gIGZ1bmN0aW9uIHZpc3VhbExpbmVFbmRObyhkb2MsIGxpbmVOKSB7XG4gICAgaWYgKGxpbmVOID4gZG9jLmxhc3RMaW5lKCkpIHsgcmV0dXJuIGxpbmVOIH1cbiAgICB2YXIgbGluZSA9IGdldExpbmUoZG9jLCBsaW5lTiksIG1lcmdlZDtcbiAgICBpZiAoIWxpbmVJc0hpZGRlbihkb2MsIGxpbmUpKSB7IHJldHVybiBsaW5lTiB9XG4gICAgd2hpbGUgKG1lcmdlZCA9IGNvbGxhcHNlZFNwYW5BdEVuZChsaW5lKSlcbiAgICAgIHsgbGluZSA9IG1lcmdlZC5maW5kKDEsIHRydWUpLmxpbmU7IH1cbiAgICByZXR1cm4gbGluZU5vKGxpbmUpICsgMVxuICB9XG5cbiAgLy8gQ29tcHV0ZSB3aGV0aGVyIGEgbGluZSBpcyBoaWRkZW4uIExpbmVzIGNvdW50IGFzIGhpZGRlbiB3aGVuIHRoZXlcbiAgLy8gYXJlIHBhcnQgb2YgYSB2aXN1YWwgbGluZSB0aGF0IHN0YXJ0cyB3aXRoIGFub3RoZXIgbGluZSwgb3Igd2hlblxuICAvLyB0aGV5IGFyZSBlbnRpcmVseSBjb3ZlcmVkIGJ5IGNvbGxhcHNlZCwgbm9uLXdpZGdldCBzcGFuLlxuICBmdW5jdGlvbiBsaW5lSXNIaWRkZW4oZG9jLCBsaW5lKSB7XG4gICAgdmFyIHNwcyA9IHNhd0NvbGxhcHNlZFNwYW5zICYmIGxpbmUubWFya2VkU3BhbnM7XG4gICAgaWYgKHNwcykgeyBmb3IgKHZhciBzcCA9ICh2b2lkIDApLCBpID0gMDsgaSA8IHNwcy5sZW5ndGg7ICsraSkge1xuICAgICAgc3AgPSBzcHNbaV07XG4gICAgICBpZiAoIXNwLm1hcmtlci5jb2xsYXBzZWQpIHsgY29udGludWUgfVxuICAgICAgaWYgKHNwLmZyb20gPT0gbnVsbCkgeyByZXR1cm4gdHJ1ZSB9XG4gICAgICBpZiAoc3AubWFya2VyLndpZGdldE5vZGUpIHsgY29udGludWUgfVxuICAgICAgaWYgKHNwLmZyb20gPT0gMCAmJiBzcC5tYXJrZXIuaW5jbHVzaXZlTGVmdCAmJiBsaW5lSXNIaWRkZW5Jbm5lcihkb2MsIGxpbmUsIHNwKSlcbiAgICAgICAgeyByZXR1cm4gdHJ1ZSB9XG4gICAgfSB9XG4gIH1cbiAgZnVuY3Rpb24gbGluZUlzSGlkZGVuSW5uZXIoZG9jLCBsaW5lLCBzcGFuKSB7XG4gICAgaWYgKHNwYW4udG8gPT0gbnVsbCkge1xuICAgICAgdmFyIGVuZCA9IHNwYW4ubWFya2VyLmZpbmQoMSwgdHJ1ZSk7XG4gICAgICByZXR1cm4gbGluZUlzSGlkZGVuSW5uZXIoZG9jLCBlbmQubGluZSwgZ2V0TWFya2VkU3BhbkZvcihlbmQubGluZS5tYXJrZWRTcGFucywgc3Bhbi5tYXJrZXIpKVxuICAgIH1cbiAgICBpZiAoc3Bhbi5tYXJrZXIuaW5jbHVzaXZlUmlnaHQgJiYgc3Bhbi50byA9PSBsaW5lLnRleHQubGVuZ3RoKVxuICAgICAgeyByZXR1cm4gdHJ1ZSB9XG4gICAgZm9yICh2YXIgc3AgPSAodm9pZCAwKSwgaSA9IDA7IGkgPCBsaW5lLm1hcmtlZFNwYW5zLmxlbmd0aDsgKytpKSB7XG4gICAgICBzcCA9IGxpbmUubWFya2VkU3BhbnNbaV07XG4gICAgICBpZiAoc3AubWFya2VyLmNvbGxhcHNlZCAmJiAhc3AubWFya2VyLndpZGdldE5vZGUgJiYgc3AuZnJvbSA9PSBzcGFuLnRvICYmXG4gICAgICAgICAgKHNwLnRvID09IG51bGwgfHwgc3AudG8gIT0gc3Bhbi5mcm9tKSAmJlxuICAgICAgICAgIChzcC5tYXJrZXIuaW5jbHVzaXZlTGVmdCB8fCBzcGFuLm1hcmtlci5pbmNsdXNpdmVSaWdodCkgJiZcbiAgICAgICAgICBsaW5lSXNIaWRkZW5Jbm5lcihkb2MsIGxpbmUsIHNwKSkgeyByZXR1cm4gdHJ1ZSB9XG4gICAgfVxuICB9XG5cbiAgLy8gRmluZCB0aGUgaGVpZ2h0IGFib3ZlIHRoZSBnaXZlbiBsaW5lLlxuICBmdW5jdGlvbiBoZWlnaHRBdExpbmUobGluZU9iaikge1xuICAgIGxpbmVPYmogPSB2aXN1YWxMaW5lKGxpbmVPYmopO1xuXG4gICAgdmFyIGggPSAwLCBjaHVuayA9IGxpbmVPYmoucGFyZW50O1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgY2h1bmsubGluZXMubGVuZ3RoOyArK2kpIHtcbiAgICAgIHZhciBsaW5lID0gY2h1bmsubGluZXNbaV07XG4gICAgICBpZiAobGluZSA9PSBsaW5lT2JqKSB7IGJyZWFrIH1cbiAgICAgIGVsc2UgeyBoICs9IGxpbmUuaGVpZ2h0OyB9XG4gICAgfVxuICAgIGZvciAodmFyIHAgPSBjaHVuay5wYXJlbnQ7IHA7IGNodW5rID0gcCwgcCA9IGNodW5rLnBhcmVudCkge1xuICAgICAgZm9yICh2YXIgaSQxID0gMDsgaSQxIDwgcC5jaGlsZHJlbi5sZW5ndGg7ICsraSQxKSB7XG4gICAgICAgIHZhciBjdXIgPSBwLmNoaWxkcmVuW2kkMV07XG4gICAgICAgIGlmIChjdXIgPT0gY2h1bmspIHsgYnJlYWsgfVxuICAgICAgICBlbHNlIHsgaCArPSBjdXIuaGVpZ2h0OyB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBoXG4gIH1cblxuICAvLyBDb21wdXRlIHRoZSBjaGFyYWN0ZXIgbGVuZ3RoIG9mIGEgbGluZSwgdGFraW5nIGludG8gYWNjb3VudFxuICAvLyBjb2xsYXBzZWQgcmFuZ2VzIChzZWUgbWFya1RleHQpIHRoYXQgbWlnaHQgaGlkZSBwYXJ0cywgYW5kIGpvaW5cbiAgLy8gb3RoZXIgbGluZXMgb250byBpdC5cbiAgZnVuY3Rpb24gbGluZUxlbmd0aChsaW5lKSB7XG4gICAgaWYgKGxpbmUuaGVpZ2h0ID09IDApIHsgcmV0dXJuIDAgfVxuICAgIHZhciBsZW4gPSBsaW5lLnRleHQubGVuZ3RoLCBtZXJnZWQsIGN1ciA9IGxpbmU7XG4gICAgd2hpbGUgKG1lcmdlZCA9IGNvbGxhcHNlZFNwYW5BdFN0YXJ0KGN1cikpIHtcbiAgICAgIHZhciBmb3VuZCA9IG1lcmdlZC5maW5kKDAsIHRydWUpO1xuICAgICAgY3VyID0gZm91bmQuZnJvbS5saW5lO1xuICAgICAgbGVuICs9IGZvdW5kLmZyb20uY2ggLSBmb3VuZC50by5jaDtcbiAgICB9XG4gICAgY3VyID0gbGluZTtcbiAgICB3aGlsZSAobWVyZ2VkID0gY29sbGFwc2VkU3BhbkF0RW5kKGN1cikpIHtcbiAgICAgIHZhciBmb3VuZCQxID0gbWVyZ2VkLmZpbmQoMCwgdHJ1ZSk7XG4gICAgICBsZW4gLT0gY3VyLnRleHQubGVuZ3RoIC0gZm91bmQkMS5mcm9tLmNoO1xuICAgICAgY3VyID0gZm91bmQkMS50by5saW5lO1xuICAgICAgbGVuICs9IGN1ci50ZXh0Lmxlbmd0aCAtIGZvdW5kJDEudG8uY2g7XG4gICAgfVxuICAgIHJldHVybiBsZW5cbiAgfVxuXG4gIC8vIEZpbmQgdGhlIGxvbmdlc3QgbGluZSBpbiB0aGUgZG9jdW1lbnQuXG4gIGZ1bmN0aW9uIGZpbmRNYXhMaW5lKGNtKSB7XG4gICAgdmFyIGQgPSBjbS5kaXNwbGF5LCBkb2MgPSBjbS5kb2M7XG4gICAgZC5tYXhMaW5lID0gZ2V0TGluZShkb2MsIGRvYy5maXJzdCk7XG4gICAgZC5tYXhMaW5lTGVuZ3RoID0gbGluZUxlbmd0aChkLm1heExpbmUpO1xuICAgIGQubWF4TGluZUNoYW5nZWQgPSB0cnVlO1xuICAgIGRvYy5pdGVyKGZ1bmN0aW9uIChsaW5lKSB7XG4gICAgICB2YXIgbGVuID0gbGluZUxlbmd0aChsaW5lKTtcbiAgICAgIGlmIChsZW4gPiBkLm1heExpbmVMZW5ndGgpIHtcbiAgICAgICAgZC5tYXhMaW5lTGVuZ3RoID0gbGVuO1xuICAgICAgICBkLm1heExpbmUgPSBsaW5lO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgLy8gTElORSBEQVRBIFNUUlVDVFVSRVxuXG4gIC8vIExpbmUgb2JqZWN0cy4gVGhlc2UgaG9sZCBzdGF0ZSByZWxhdGVkIHRvIGEgbGluZSwgaW5jbHVkaW5nXG4gIC8vIGhpZ2hsaWdodGluZyBpbmZvICh0aGUgc3R5bGVzIGFycmF5KS5cbiAgdmFyIExpbmUgPSBmdW5jdGlvbih0ZXh0LCBtYXJrZWRTcGFucywgZXN0aW1hdGVIZWlnaHQpIHtcbiAgICB0aGlzLnRleHQgPSB0ZXh0O1xuICAgIGF0dGFjaE1hcmtlZFNwYW5zKHRoaXMsIG1hcmtlZFNwYW5zKTtcbiAgICB0aGlzLmhlaWdodCA9IGVzdGltYXRlSGVpZ2h0ID8gZXN0aW1hdGVIZWlnaHQodGhpcykgOiAxO1xuICB9O1xuXG4gIExpbmUucHJvdG90eXBlLmxpbmVObyA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGxpbmVObyh0aGlzKSB9O1xuICBldmVudE1peGluKExpbmUpO1xuXG4gIC8vIENoYW5nZSB0aGUgY29udGVudCAodGV4dCwgbWFya2Vycykgb2YgYSBsaW5lLiBBdXRvbWF0aWNhbGx5XG4gIC8vIGludmFsaWRhdGVzIGNhY2hlZCBpbmZvcm1hdGlvbiBhbmQgdHJpZXMgdG8gcmUtZXN0aW1hdGUgdGhlXG4gIC8vIGxpbmUncyBoZWlnaHQuXG4gIGZ1bmN0aW9uIHVwZGF0ZUxpbmUobGluZSwgdGV4dCwgbWFya2VkU3BhbnMsIGVzdGltYXRlSGVpZ2h0KSB7XG4gICAgbGluZS50ZXh0ID0gdGV4dDtcbiAgICBpZiAobGluZS5zdGF0ZUFmdGVyKSB7IGxpbmUuc3RhdGVBZnRlciA9IG51bGw7IH1cbiAgICBpZiAobGluZS5zdHlsZXMpIHsgbGluZS5zdHlsZXMgPSBudWxsOyB9XG4gICAgaWYgKGxpbmUub3JkZXIgIT0gbnVsbCkgeyBsaW5lLm9yZGVyID0gbnVsbDsgfVxuICAgIGRldGFjaE1hcmtlZFNwYW5zKGxpbmUpO1xuICAgIGF0dGFjaE1hcmtlZFNwYW5zKGxpbmUsIG1hcmtlZFNwYW5zKTtcbiAgICB2YXIgZXN0SGVpZ2h0ID0gZXN0aW1hdGVIZWlnaHQgPyBlc3RpbWF0ZUhlaWdodChsaW5lKSA6IDE7XG4gICAgaWYgKGVzdEhlaWdodCAhPSBsaW5lLmhlaWdodCkgeyB1cGRhdGVMaW5lSGVpZ2h0KGxpbmUsIGVzdEhlaWdodCk7IH1cbiAgfVxuXG4gIC8vIERldGFjaCBhIGxpbmUgZnJvbSB0aGUgZG9jdW1lbnQgdHJlZSBhbmQgaXRzIG1hcmtlcnMuXG4gIGZ1bmN0aW9uIGNsZWFuVXBMaW5lKGxpbmUpIHtcbiAgICBsaW5lLnBhcmVudCA9IG51bGw7XG4gICAgZGV0YWNoTWFya2VkU3BhbnMobGluZSk7XG4gIH1cblxuICAvLyBDb252ZXJ0IGEgc3R5bGUgYXMgcmV0dXJuZWQgYnkgYSBtb2RlIChlaXRoZXIgbnVsbCwgb3IgYSBzdHJpbmdcbiAgLy8gY29udGFpbmluZyBvbmUgb3IgbW9yZSBzdHlsZXMpIHRvIGEgQ1NTIHN0eWxlLiBUaGlzIGlzIGNhY2hlZCxcbiAgLy8gYW5kIGFsc28gbG9va3MgZm9yIGxpbmUtd2lkZSBzdHlsZXMuXG4gIHZhciBzdHlsZVRvQ2xhc3NDYWNoZSA9IHt9LCBzdHlsZVRvQ2xhc3NDYWNoZVdpdGhNb2RlID0ge307XG4gIGZ1bmN0aW9uIGludGVycHJldFRva2VuU3R5bGUoc3R5bGUsIG9wdGlvbnMpIHtcbiAgICBpZiAoIXN0eWxlIHx8IC9eXFxzKiQvLnRlc3Qoc3R5bGUpKSB7IHJldHVybiBudWxsIH1cbiAgICB2YXIgY2FjaGUgPSBvcHRpb25zLmFkZE1vZGVDbGFzcyA/IHN0eWxlVG9DbGFzc0NhY2hlV2l0aE1vZGUgOiBzdHlsZVRvQ2xhc3NDYWNoZTtcbiAgICByZXR1cm4gY2FjaGVbc3R5bGVdIHx8XG4gICAgICAoY2FjaGVbc3R5bGVdID0gc3R5bGUucmVwbGFjZSgvXFxTKy9nLCBcImNtLSQmXCIpKVxuICB9XG5cbiAgLy8gUmVuZGVyIHRoZSBET00gcmVwcmVzZW50YXRpb24gb2YgdGhlIHRleHQgb2YgYSBsaW5lLiBBbHNvIGJ1aWxkc1xuICAvLyB1cCBhICdsaW5lIG1hcCcsIHdoaWNoIHBvaW50cyBhdCB0aGUgRE9NIG5vZGVzIHRoYXQgcmVwcmVzZW50XG4gIC8vIHNwZWNpZmljIHN0cmV0Y2hlcyBvZiB0ZXh0LCBhbmQgaXMgdXNlZCBieSB0aGUgbWVhc3VyaW5nIGNvZGUuXG4gIC8vIFRoZSByZXR1cm5lZCBvYmplY3QgY29udGFpbnMgdGhlIERPTSBub2RlLCB0aGlzIG1hcCwgYW5kXG4gIC8vIGluZm9ybWF0aW9uIGFib3V0IGxpbmUtd2lkZSBzdHlsZXMgdGhhdCB3ZXJlIHNldCBieSB0aGUgbW9kZS5cbiAgZnVuY3Rpb24gYnVpbGRMaW5lQ29udGVudChjbSwgbGluZVZpZXcpIHtcbiAgICAvLyBUaGUgcGFkZGluZy1yaWdodCBmb3JjZXMgdGhlIGVsZW1lbnQgdG8gaGF2ZSBhICdib3JkZXInLCB3aGljaFxuICAgIC8vIGlzIG5lZWRlZCBvbiBXZWJraXQgdG8gYmUgYWJsZSB0byBnZXQgbGluZS1sZXZlbCBib3VuZGluZ1xuICAgIC8vIHJlY3RhbmdsZXMgZm9yIGl0IChpbiBtZWFzdXJlQ2hhcikuXG4gICAgdmFyIGNvbnRlbnQgPSBlbHRQKFwic3BhblwiLCBudWxsLCBudWxsLCB3ZWJraXQgPyBcInBhZGRpbmctcmlnaHQ6IC4xcHhcIiA6IG51bGwpO1xuICAgIHZhciBidWlsZGVyID0ge3ByZTogZWx0UChcInByZVwiLCBbY29udGVudF0sIFwiQ29kZU1pcnJvci1saW5lXCIpLCBjb250ZW50OiBjb250ZW50LFxuICAgICAgICAgICAgICAgICAgIGNvbDogMCwgcG9zOiAwLCBjbTogY20sXG4gICAgICAgICAgICAgICAgICAgdHJhaWxpbmdTcGFjZTogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgc3BsaXRTcGFjZXM6IGNtLmdldE9wdGlvbihcImxpbmVXcmFwcGluZ1wiKX07XG4gICAgbGluZVZpZXcubWVhc3VyZSA9IHt9O1xuXG4gICAgLy8gSXRlcmF0ZSBvdmVyIHRoZSBsb2dpY2FsIGxpbmVzIHRoYXQgbWFrZSB1cCB0aGlzIHZpc3VhbCBsaW5lLlxuICAgIGZvciAodmFyIGkgPSAwOyBpIDw9IChsaW5lVmlldy5yZXN0ID8gbGluZVZpZXcucmVzdC5sZW5ndGggOiAwKTsgaSsrKSB7XG4gICAgICB2YXIgbGluZSA9IGkgPyBsaW5lVmlldy5yZXN0W2kgLSAxXSA6IGxpbmVWaWV3LmxpbmUsIG9yZGVyID0gKHZvaWQgMCk7XG4gICAgICBidWlsZGVyLnBvcyA9IDA7XG4gICAgICBidWlsZGVyLmFkZFRva2VuID0gYnVpbGRUb2tlbjtcbiAgICAgIC8vIE9wdGlvbmFsbHkgd2lyZSBpbiBzb21lIGhhY2tzIGludG8gdGhlIHRva2VuLXJlbmRlcmluZ1xuICAgICAgLy8gYWxnb3JpdGhtLCB0byBkZWFsIHdpdGggYnJvd3NlciBxdWlya3MuXG4gICAgICBpZiAoaGFzQmFkQmlkaVJlY3RzKGNtLmRpc3BsYXkubWVhc3VyZSkgJiYgKG9yZGVyID0gZ2V0T3JkZXIobGluZSwgY20uZG9jLmRpcmVjdGlvbikpKVxuICAgICAgICB7IGJ1aWxkZXIuYWRkVG9rZW4gPSBidWlsZFRva2VuQmFkQmlkaShidWlsZGVyLmFkZFRva2VuLCBvcmRlcik7IH1cbiAgICAgIGJ1aWxkZXIubWFwID0gW107XG4gICAgICB2YXIgYWxsb3dGcm9udGllclVwZGF0ZSA9IGxpbmVWaWV3ICE9IGNtLmRpc3BsYXkuZXh0ZXJuYWxNZWFzdXJlZCAmJiBsaW5lTm8obGluZSk7XG4gICAgICBpbnNlcnRMaW5lQ29udGVudChsaW5lLCBidWlsZGVyLCBnZXRMaW5lU3R5bGVzKGNtLCBsaW5lLCBhbGxvd0Zyb250aWVyVXBkYXRlKSk7XG4gICAgICBpZiAobGluZS5zdHlsZUNsYXNzZXMpIHtcbiAgICAgICAgaWYgKGxpbmUuc3R5bGVDbGFzc2VzLmJnQ2xhc3MpXG4gICAgICAgICAgeyBidWlsZGVyLmJnQ2xhc3MgPSBqb2luQ2xhc3NlcyhsaW5lLnN0eWxlQ2xhc3Nlcy5iZ0NsYXNzLCBidWlsZGVyLmJnQ2xhc3MgfHwgXCJcIik7IH1cbiAgICAgICAgaWYgKGxpbmUuc3R5bGVDbGFzc2VzLnRleHRDbGFzcylcbiAgICAgICAgICB7IGJ1aWxkZXIudGV4dENsYXNzID0gam9pbkNsYXNzZXMobGluZS5zdHlsZUNsYXNzZXMudGV4dENsYXNzLCBidWlsZGVyLnRleHRDbGFzcyB8fCBcIlwiKTsgfVxuICAgICAgfVxuXG4gICAgICAvLyBFbnN1cmUgYXQgbGVhc3QgYSBzaW5nbGUgbm9kZSBpcyBwcmVzZW50LCBmb3IgbWVhc3VyaW5nLlxuICAgICAgaWYgKGJ1aWxkZXIubWFwLmxlbmd0aCA9PSAwKVxuICAgICAgICB7IGJ1aWxkZXIubWFwLnB1c2goMCwgMCwgYnVpbGRlci5jb250ZW50LmFwcGVuZENoaWxkKHplcm9XaWR0aEVsZW1lbnQoY20uZGlzcGxheS5tZWFzdXJlKSkpOyB9XG5cbiAgICAgIC8vIFN0b3JlIHRoZSBtYXAgYW5kIGEgY2FjaGUgb2JqZWN0IGZvciB0aGUgY3VycmVudCBsb2dpY2FsIGxpbmVcbiAgICAgIGlmIChpID09IDApIHtcbiAgICAgICAgbGluZVZpZXcubWVhc3VyZS5tYXAgPSBidWlsZGVyLm1hcDtcbiAgICAgICAgbGluZVZpZXcubWVhc3VyZS5jYWNoZSA9IHt9O1xuICAgICAgfSBlbHNlIHtcbiAgKGxpbmVWaWV3Lm1lYXN1cmUubWFwcyB8fCAobGluZVZpZXcubWVhc3VyZS5tYXBzID0gW10pKS5wdXNoKGJ1aWxkZXIubWFwKVxuICAgICAgICA7KGxpbmVWaWV3Lm1lYXN1cmUuY2FjaGVzIHx8IChsaW5lVmlldy5tZWFzdXJlLmNhY2hlcyA9IFtdKSkucHVzaCh7fSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2VlIGlzc3VlICMyOTAxXG4gICAgaWYgKHdlYmtpdCkge1xuICAgICAgdmFyIGxhc3QgPSBidWlsZGVyLmNvbnRlbnQubGFzdENoaWxkO1xuICAgICAgaWYgKC9cXGJjbS10YWJcXGIvLnRlc3QobGFzdC5jbGFzc05hbWUpIHx8IChsYXN0LnF1ZXJ5U2VsZWN0b3IgJiYgbGFzdC5xdWVyeVNlbGVjdG9yKFwiLmNtLXRhYlwiKSkpXG4gICAgICAgIHsgYnVpbGRlci5jb250ZW50LmNsYXNzTmFtZSA9IFwiY20tdGFiLXdyYXAtaGFja1wiOyB9XG4gICAgfVxuXG4gICAgc2lnbmFsKGNtLCBcInJlbmRlckxpbmVcIiwgY20sIGxpbmVWaWV3LmxpbmUsIGJ1aWxkZXIucHJlKTtcbiAgICBpZiAoYnVpbGRlci5wcmUuY2xhc3NOYW1lKVxuICAgICAgeyBidWlsZGVyLnRleHRDbGFzcyA9IGpvaW5DbGFzc2VzKGJ1aWxkZXIucHJlLmNsYXNzTmFtZSwgYnVpbGRlci50ZXh0Q2xhc3MgfHwgXCJcIik7IH1cblxuICAgIHJldHVybiBidWlsZGVyXG4gIH1cblxuICBmdW5jdGlvbiBkZWZhdWx0U3BlY2lhbENoYXJQbGFjZWhvbGRlcihjaCkge1xuICAgIHZhciB0b2tlbiA9IGVsdChcInNwYW5cIiwgXCJcXHUyMDIyXCIsIFwiY20taW52YWxpZGNoYXJcIik7XG4gICAgdG9rZW4udGl0bGUgPSBcIlxcXFx1XCIgKyBjaC5jaGFyQ29kZUF0KDApLnRvU3RyaW5nKDE2KTtcbiAgICB0b2tlbi5zZXRBdHRyaWJ1dGUoXCJhcmlhLWxhYmVsXCIsIHRva2VuLnRpdGxlKTtcbiAgICByZXR1cm4gdG9rZW5cbiAgfVxuXG4gIC8vIEJ1aWxkIHVwIHRoZSBET00gcmVwcmVzZW50YXRpb24gZm9yIGEgc2luZ2xlIHRva2VuLCBhbmQgYWRkIGl0IHRvXG4gIC8vIHRoZSBsaW5lIG1hcC4gVGFrZXMgY2FyZSB0byByZW5kZXIgc3BlY2lhbCBjaGFyYWN0ZXJzIHNlcGFyYXRlbHkuXG4gIGZ1bmN0aW9uIGJ1aWxkVG9rZW4oYnVpbGRlciwgdGV4dCwgc3R5bGUsIHN0YXJ0U3R5bGUsIGVuZFN0eWxlLCBjc3MsIGF0dHJpYnV0ZXMpIHtcbiAgICBpZiAoIXRleHQpIHsgcmV0dXJuIH1cbiAgICB2YXIgZGlzcGxheVRleHQgPSBidWlsZGVyLnNwbGl0U3BhY2VzID8gc3BsaXRTcGFjZXModGV4dCwgYnVpbGRlci50cmFpbGluZ1NwYWNlKSA6IHRleHQ7XG4gICAgdmFyIHNwZWNpYWwgPSBidWlsZGVyLmNtLnN0YXRlLnNwZWNpYWxDaGFycywgbXVzdFdyYXAgPSBmYWxzZTtcbiAgICB2YXIgY29udGVudDtcbiAgICBpZiAoIXNwZWNpYWwudGVzdCh0ZXh0KSkge1xuICAgICAgYnVpbGRlci5jb2wgKz0gdGV4dC5sZW5ndGg7XG4gICAgICBjb250ZW50ID0gZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoZGlzcGxheVRleHQpO1xuICAgICAgYnVpbGRlci5tYXAucHVzaChidWlsZGVyLnBvcywgYnVpbGRlci5wb3MgKyB0ZXh0Lmxlbmd0aCwgY29udGVudCk7XG4gICAgICBpZiAoaWUgJiYgaWVfdmVyc2lvbiA8IDkpIHsgbXVzdFdyYXAgPSB0cnVlOyB9XG4gICAgICBidWlsZGVyLnBvcyArPSB0ZXh0Lmxlbmd0aDtcbiAgICB9IGVsc2Uge1xuICAgICAgY29udGVudCA9IGRvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTtcbiAgICAgIHZhciBwb3MgPSAwO1xuICAgICAgd2hpbGUgKHRydWUpIHtcbiAgICAgICAgc3BlY2lhbC5sYXN0SW5kZXggPSBwb3M7XG4gICAgICAgIHZhciBtID0gc3BlY2lhbC5leGVjKHRleHQpO1xuICAgICAgICB2YXIgc2tpcHBlZCA9IG0gPyBtLmluZGV4IC0gcG9zIDogdGV4dC5sZW5ndGggLSBwb3M7XG4gICAgICAgIGlmIChza2lwcGVkKSB7XG4gICAgICAgICAgdmFyIHR4dCA9IGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGRpc3BsYXlUZXh0LnNsaWNlKHBvcywgcG9zICsgc2tpcHBlZCkpO1xuICAgICAgICAgIGlmIChpZSAmJiBpZV92ZXJzaW9uIDwgOSkgeyBjb250ZW50LmFwcGVuZENoaWxkKGVsdChcInNwYW5cIiwgW3R4dF0pKTsgfVxuICAgICAgICAgIGVsc2UgeyBjb250ZW50LmFwcGVuZENoaWxkKHR4dCk7IH1cbiAgICAgICAgICBidWlsZGVyLm1hcC5wdXNoKGJ1aWxkZXIucG9zLCBidWlsZGVyLnBvcyArIHNraXBwZWQsIHR4dCk7XG4gICAgICAgICAgYnVpbGRlci5jb2wgKz0gc2tpcHBlZDtcbiAgICAgICAgICBidWlsZGVyLnBvcyArPSBza2lwcGVkO1xuICAgICAgICB9XG4gICAgICAgIGlmICghbSkgeyBicmVhayB9XG4gICAgICAgIHBvcyArPSBza2lwcGVkICsgMTtcbiAgICAgICAgdmFyIHR4dCQxID0gKHZvaWQgMCk7XG4gICAgICAgIGlmIChtWzBdID09IFwiXFx0XCIpIHtcbiAgICAgICAgICB2YXIgdGFiU2l6ZSA9IGJ1aWxkZXIuY20ub3B0aW9ucy50YWJTaXplLCB0YWJXaWR0aCA9IHRhYlNpemUgLSBidWlsZGVyLmNvbCAlIHRhYlNpemU7XG4gICAgICAgICAgdHh0JDEgPSBjb250ZW50LmFwcGVuZENoaWxkKGVsdChcInNwYW5cIiwgc3BhY2VTdHIodGFiV2lkdGgpLCBcImNtLXRhYlwiKSk7XG4gICAgICAgICAgdHh0JDEuc2V0QXR0cmlidXRlKFwicm9sZVwiLCBcInByZXNlbnRhdGlvblwiKTtcbiAgICAgICAgICB0eHQkMS5zZXRBdHRyaWJ1dGUoXCJjbS10ZXh0XCIsIFwiXFx0XCIpO1xuICAgICAgICAgIGJ1aWxkZXIuY29sICs9IHRhYldpZHRoO1xuICAgICAgICB9IGVsc2UgaWYgKG1bMF0gPT0gXCJcXHJcIiB8fCBtWzBdID09IFwiXFxuXCIpIHtcbiAgICAgICAgICB0eHQkMSA9IGNvbnRlbnQuYXBwZW5kQ2hpbGQoZWx0KFwic3BhblwiLCBtWzBdID09IFwiXFxyXCIgPyBcIlxcdTI0MGRcIiA6IFwiXFx1MjQyNFwiLCBcImNtLWludmFsaWRjaGFyXCIpKTtcbiAgICAgICAgICB0eHQkMS5zZXRBdHRyaWJ1dGUoXCJjbS10ZXh0XCIsIG1bMF0pO1xuICAgICAgICAgIGJ1aWxkZXIuY29sICs9IDE7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdHh0JDEgPSBidWlsZGVyLmNtLm9wdGlvbnMuc3BlY2lhbENoYXJQbGFjZWhvbGRlcihtWzBdKTtcbiAgICAgICAgICB0eHQkMS5zZXRBdHRyaWJ1dGUoXCJjbS10ZXh0XCIsIG1bMF0pO1xuICAgICAgICAgIGlmIChpZSAmJiBpZV92ZXJzaW9uIDwgOSkgeyBjb250ZW50LmFwcGVuZENoaWxkKGVsdChcInNwYW5cIiwgW3R4dCQxXSkpOyB9XG4gICAgICAgICAgZWxzZSB7IGNvbnRlbnQuYXBwZW5kQ2hpbGQodHh0JDEpOyB9XG4gICAgICAgICAgYnVpbGRlci5jb2wgKz0gMTtcbiAgICAgICAgfVxuICAgICAgICBidWlsZGVyLm1hcC5wdXNoKGJ1aWxkZXIucG9zLCBidWlsZGVyLnBvcyArIDEsIHR4dCQxKTtcbiAgICAgICAgYnVpbGRlci5wb3MrKztcbiAgICAgIH1cbiAgICB9XG4gICAgYnVpbGRlci50cmFpbGluZ1NwYWNlID0gZGlzcGxheVRleHQuY2hhckNvZGVBdCh0ZXh0Lmxlbmd0aCAtIDEpID09IDMyO1xuICAgIGlmIChzdHlsZSB8fCBzdGFydFN0eWxlIHx8IGVuZFN0eWxlIHx8IG11c3RXcmFwIHx8IGNzcykge1xuICAgICAgdmFyIGZ1bGxTdHlsZSA9IHN0eWxlIHx8IFwiXCI7XG4gICAgICBpZiAoc3RhcnRTdHlsZSkgeyBmdWxsU3R5bGUgKz0gc3RhcnRTdHlsZTsgfVxuICAgICAgaWYgKGVuZFN0eWxlKSB7IGZ1bGxTdHlsZSArPSBlbmRTdHlsZTsgfVxuICAgICAgdmFyIHRva2VuID0gZWx0KFwic3BhblwiLCBbY29udGVudF0sIGZ1bGxTdHlsZSwgY3NzKTtcbiAgICAgIGlmIChhdHRyaWJ1dGVzKSB7XG4gICAgICAgIGZvciAodmFyIGF0dHIgaW4gYXR0cmlidXRlcykgeyBpZiAoYXR0cmlidXRlcy5oYXNPd25Qcm9wZXJ0eShhdHRyKSAmJiBhdHRyICE9IFwic3R5bGVcIiAmJiBhdHRyICE9IFwiY2xhc3NcIilcbiAgICAgICAgICB7IHRva2VuLnNldEF0dHJpYnV0ZShhdHRyLCBhdHRyaWJ1dGVzW2F0dHJdKTsgfSB9XG4gICAgICB9XG4gICAgICByZXR1cm4gYnVpbGRlci5jb250ZW50LmFwcGVuZENoaWxkKHRva2VuKVxuICAgIH1cbiAgICBidWlsZGVyLmNvbnRlbnQuYXBwZW5kQ2hpbGQoY29udGVudCk7XG4gIH1cblxuICAvLyBDaGFuZ2Ugc29tZSBzcGFjZXMgdG8gTkJTUCB0byBwcmV2ZW50IHRoZSBicm93c2VyIGZyb20gY29sbGFwc2luZ1xuICAvLyB0cmFpbGluZyBzcGFjZXMgYXQgdGhlIGVuZCBvZiBhIGxpbmUgd2hlbiByZW5kZXJpbmcgdGV4dCAoaXNzdWUgIzEzNjIpLlxuICBmdW5jdGlvbiBzcGxpdFNwYWNlcyh0ZXh0LCB0cmFpbGluZ0JlZm9yZSkge1xuICAgIGlmICh0ZXh0Lmxlbmd0aCA+IDEgJiYgIS8gIC8udGVzdCh0ZXh0KSkgeyByZXR1cm4gdGV4dCB9XG4gICAgdmFyIHNwYWNlQmVmb3JlID0gdHJhaWxpbmdCZWZvcmUsIHJlc3VsdCA9IFwiXCI7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0ZXh0Lmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIgY2ggPSB0ZXh0LmNoYXJBdChpKTtcbiAgICAgIGlmIChjaCA9PSBcIiBcIiAmJiBzcGFjZUJlZm9yZSAmJiAoaSA9PSB0ZXh0Lmxlbmd0aCAtIDEgfHwgdGV4dC5jaGFyQ29kZUF0KGkgKyAxKSA9PSAzMikpXG4gICAgICAgIHsgY2ggPSBcIlxcdTAwYTBcIjsgfVxuICAgICAgcmVzdWx0ICs9IGNoO1xuICAgICAgc3BhY2VCZWZvcmUgPSBjaCA9PSBcIiBcIjtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdFxuICB9XG5cbiAgLy8gV29yayBhcm91bmQgbm9uc2Vuc2UgZGltZW5zaW9ucyBiZWluZyByZXBvcnRlZCBmb3Igc3RyZXRjaGVzIG9mXG4gIC8vIHJpZ2h0LXRvLWxlZnQgdGV4dC5cbiAgZnVuY3Rpb24gYnVpbGRUb2tlbkJhZEJpZGkoaW5uZXIsIG9yZGVyKSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uIChidWlsZGVyLCB0ZXh0LCBzdHlsZSwgc3RhcnRTdHlsZSwgZW5kU3R5bGUsIGNzcywgYXR0cmlidXRlcykge1xuICAgICAgc3R5bGUgPSBzdHlsZSA/IHN0eWxlICsgXCIgY20tZm9yY2UtYm9yZGVyXCIgOiBcImNtLWZvcmNlLWJvcmRlclwiO1xuICAgICAgdmFyIHN0YXJ0ID0gYnVpbGRlci5wb3MsIGVuZCA9IHN0YXJ0ICsgdGV4dC5sZW5ndGg7XG4gICAgICBmb3IgKDs7KSB7XG4gICAgICAgIC8vIEZpbmQgdGhlIHBhcnQgdGhhdCBvdmVybGFwcyB3aXRoIHRoZSBzdGFydCBvZiB0aGlzIHRleHRcbiAgICAgICAgdmFyIHBhcnQgPSAodm9pZCAwKTtcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBvcmRlci5sZW5ndGg7IGkrKykge1xuICAgICAgICAgIHBhcnQgPSBvcmRlcltpXTtcbiAgICAgICAgICBpZiAocGFydC50byA+IHN0YXJ0ICYmIHBhcnQuZnJvbSA8PSBzdGFydCkgeyBicmVhayB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHBhcnQudG8gPj0gZW5kKSB7IHJldHVybiBpbm5lcihidWlsZGVyLCB0ZXh0LCBzdHlsZSwgc3RhcnRTdHlsZSwgZW5kU3R5bGUsIGNzcywgYXR0cmlidXRlcykgfVxuICAgICAgICBpbm5lcihidWlsZGVyLCB0ZXh0LnNsaWNlKDAsIHBhcnQudG8gLSBzdGFydCksIHN0eWxlLCBzdGFydFN0eWxlLCBudWxsLCBjc3MsIGF0dHJpYnV0ZXMpO1xuICAgICAgICBzdGFydFN0eWxlID0gbnVsbDtcbiAgICAgICAgdGV4dCA9IHRleHQuc2xpY2UocGFydC50byAtIHN0YXJ0KTtcbiAgICAgICAgc3RhcnQgPSBwYXJ0LnRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIGJ1aWxkQ29sbGFwc2VkU3BhbihidWlsZGVyLCBzaXplLCBtYXJrZXIsIGlnbm9yZVdpZGdldCkge1xuICAgIHZhciB3aWRnZXQgPSAhaWdub3JlV2lkZ2V0ICYmIG1hcmtlci53aWRnZXROb2RlO1xuICAgIGlmICh3aWRnZXQpIHsgYnVpbGRlci5tYXAucHVzaChidWlsZGVyLnBvcywgYnVpbGRlci5wb3MgKyBzaXplLCB3aWRnZXQpOyB9XG4gICAgaWYgKCFpZ25vcmVXaWRnZXQgJiYgYnVpbGRlci5jbS5kaXNwbGF5LmlucHV0Lm5lZWRzQ29udGVudEF0dHJpYnV0ZSkge1xuICAgICAgaWYgKCF3aWRnZXQpXG4gICAgICAgIHsgd2lkZ2V0ID0gYnVpbGRlci5jb250ZW50LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJzcGFuXCIpKTsgfVxuICAgICAgd2lkZ2V0LnNldEF0dHJpYnV0ZShcImNtLW1hcmtlclwiLCBtYXJrZXIuaWQpO1xuICAgIH1cbiAgICBpZiAod2lkZ2V0KSB7XG4gICAgICBidWlsZGVyLmNtLmRpc3BsYXkuaW5wdXQuc2V0VW5lZGl0YWJsZSh3aWRnZXQpO1xuICAgICAgYnVpbGRlci5jb250ZW50LmFwcGVuZENoaWxkKHdpZGdldCk7XG4gICAgfVxuICAgIGJ1aWxkZXIucG9zICs9IHNpemU7XG4gICAgYnVpbGRlci50cmFpbGluZ1NwYWNlID0gZmFsc2U7XG4gIH1cblxuICAvLyBPdXRwdXRzIGEgbnVtYmVyIG9mIHNwYW5zIHRvIG1ha2UgdXAgYSBsaW5lLCB0YWtpbmcgaGlnaGxpZ2h0aW5nXG4gIC8vIGFuZCBtYXJrZWQgdGV4dCBpbnRvIGFjY291bnQuXG4gIGZ1bmN0aW9uIGluc2VydExpbmVDb250ZW50KGxpbmUsIGJ1aWxkZXIsIHN0eWxlcykge1xuICAgIHZhciBzcGFucyA9IGxpbmUubWFya2VkU3BhbnMsIGFsbFRleHQgPSBsaW5lLnRleHQsIGF0ID0gMDtcbiAgICBpZiAoIXNwYW5zKSB7XG4gICAgICBmb3IgKHZhciBpJDEgPSAxOyBpJDEgPCBzdHlsZXMubGVuZ3RoOyBpJDErPTIpXG4gICAgICAgIHsgYnVpbGRlci5hZGRUb2tlbihidWlsZGVyLCBhbGxUZXh0LnNsaWNlKGF0LCBhdCA9IHN0eWxlc1tpJDFdKSwgaW50ZXJwcmV0VG9rZW5TdHlsZShzdHlsZXNbaSQxKzFdLCBidWlsZGVyLmNtLm9wdGlvbnMpKTsgfVxuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgdmFyIGxlbiA9IGFsbFRleHQubGVuZ3RoLCBwb3MgPSAwLCBpID0gMSwgdGV4dCA9IFwiXCIsIHN0eWxlLCBjc3M7XG4gICAgdmFyIG5leHRDaGFuZ2UgPSAwLCBzcGFuU3R5bGUsIHNwYW5FbmRTdHlsZSwgc3BhblN0YXJ0U3R5bGUsIGNvbGxhcHNlZCwgYXR0cmlidXRlcztcbiAgICBmb3IgKDs7KSB7XG4gICAgICBpZiAobmV4dENoYW5nZSA9PSBwb3MpIHsgLy8gVXBkYXRlIGN1cnJlbnQgbWFya2VyIHNldFxuICAgICAgICBzcGFuU3R5bGUgPSBzcGFuRW5kU3R5bGUgPSBzcGFuU3RhcnRTdHlsZSA9IGNzcyA9IFwiXCI7XG4gICAgICAgIGF0dHJpYnV0ZXMgPSBudWxsO1xuICAgICAgICBjb2xsYXBzZWQgPSBudWxsOyBuZXh0Q2hhbmdlID0gSW5maW5pdHk7XG4gICAgICAgIHZhciBmb3VuZEJvb2ttYXJrcyA9IFtdLCBlbmRTdHlsZXMgPSAodm9pZCAwKTtcbiAgICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCBzcGFucy5sZW5ndGg7ICsraikge1xuICAgICAgICAgIHZhciBzcCA9IHNwYW5zW2pdLCBtID0gc3AubWFya2VyO1xuICAgICAgICAgIGlmIChtLnR5cGUgPT0gXCJib29rbWFya1wiICYmIHNwLmZyb20gPT0gcG9zICYmIG0ud2lkZ2V0Tm9kZSkge1xuICAgICAgICAgICAgZm91bmRCb29rbWFya3MucHVzaChtKTtcbiAgICAgICAgICB9IGVsc2UgaWYgKHNwLmZyb20gPD0gcG9zICYmIChzcC50byA9PSBudWxsIHx8IHNwLnRvID4gcG9zIHx8IG0uY29sbGFwc2VkICYmIHNwLnRvID09IHBvcyAmJiBzcC5mcm9tID09IHBvcykpIHtcbiAgICAgICAgICAgIGlmIChzcC50byAhPSBudWxsICYmIHNwLnRvICE9IHBvcyAmJiBuZXh0Q2hhbmdlID4gc3AudG8pIHtcbiAgICAgICAgICAgICAgbmV4dENoYW5nZSA9IHNwLnRvO1xuICAgICAgICAgICAgICBzcGFuRW5kU3R5bGUgPSBcIlwiO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKG0uY2xhc3NOYW1lKSB7IHNwYW5TdHlsZSArPSBcIiBcIiArIG0uY2xhc3NOYW1lOyB9XG4gICAgICAgICAgICBpZiAobS5jc3MpIHsgY3NzID0gKGNzcyA/IGNzcyArIFwiO1wiIDogXCJcIikgKyBtLmNzczsgfVxuICAgICAgICAgICAgaWYgKG0uc3RhcnRTdHlsZSAmJiBzcC5mcm9tID09IHBvcykgeyBzcGFuU3RhcnRTdHlsZSArPSBcIiBcIiArIG0uc3RhcnRTdHlsZTsgfVxuICAgICAgICAgICAgaWYgKG0uZW5kU3R5bGUgJiYgc3AudG8gPT0gbmV4dENoYW5nZSkgeyAoZW5kU3R5bGVzIHx8IChlbmRTdHlsZXMgPSBbXSkpLnB1c2gobS5lbmRTdHlsZSwgc3AudG8pOyB9XG4gICAgICAgICAgICAvLyBzdXBwb3J0IGZvciB0aGUgb2xkIHRpdGxlIHByb3BlcnR5XG4gICAgICAgICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vY29kZW1pcnJvci9Db2RlTWlycm9yL3B1bGwvNTY3M1xuICAgICAgICAgICAgaWYgKG0udGl0bGUpIHsgKGF0dHJpYnV0ZXMgfHwgKGF0dHJpYnV0ZXMgPSB7fSkpLnRpdGxlID0gbS50aXRsZTsgfVxuICAgICAgICAgICAgaWYgKG0uYXR0cmlidXRlcykge1xuICAgICAgICAgICAgICBmb3IgKHZhciBhdHRyIGluIG0uYXR0cmlidXRlcylcbiAgICAgICAgICAgICAgICB7IChhdHRyaWJ1dGVzIHx8IChhdHRyaWJ1dGVzID0ge30pKVthdHRyXSA9IG0uYXR0cmlidXRlc1thdHRyXTsgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKG0uY29sbGFwc2VkICYmICghY29sbGFwc2VkIHx8IGNvbXBhcmVDb2xsYXBzZWRNYXJrZXJzKGNvbGxhcHNlZC5tYXJrZXIsIG0pIDwgMCkpXG4gICAgICAgICAgICAgIHsgY29sbGFwc2VkID0gc3A7IH1cbiAgICAgICAgICB9IGVsc2UgaWYgKHNwLmZyb20gPiBwb3MgJiYgbmV4dENoYW5nZSA+IHNwLmZyb20pIHtcbiAgICAgICAgICAgIG5leHRDaGFuZ2UgPSBzcC5mcm9tO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoZW5kU3R5bGVzKSB7IGZvciAodmFyIGokMSA9IDA7IGokMSA8IGVuZFN0eWxlcy5sZW5ndGg7IGokMSArPSAyKVxuICAgICAgICAgIHsgaWYgKGVuZFN0eWxlc1tqJDEgKyAxXSA9PSBuZXh0Q2hhbmdlKSB7IHNwYW5FbmRTdHlsZSArPSBcIiBcIiArIGVuZFN0eWxlc1tqJDFdOyB9IH0gfVxuXG4gICAgICAgIGlmICghY29sbGFwc2VkIHx8IGNvbGxhcHNlZC5mcm9tID09IHBvcykgeyBmb3IgKHZhciBqJDIgPSAwOyBqJDIgPCBmb3VuZEJvb2ttYXJrcy5sZW5ndGg7ICsraiQyKVxuICAgICAgICAgIHsgYnVpbGRDb2xsYXBzZWRTcGFuKGJ1aWxkZXIsIDAsIGZvdW5kQm9va21hcmtzW2okMl0pOyB9IH1cbiAgICAgICAgaWYgKGNvbGxhcHNlZCAmJiAoY29sbGFwc2VkLmZyb20gfHwgMCkgPT0gcG9zKSB7XG4gICAgICAgICAgYnVpbGRDb2xsYXBzZWRTcGFuKGJ1aWxkZXIsIChjb2xsYXBzZWQudG8gPT0gbnVsbCA/IGxlbiArIDEgOiBjb2xsYXBzZWQudG8pIC0gcG9zLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xsYXBzZWQubWFya2VyLCBjb2xsYXBzZWQuZnJvbSA9PSBudWxsKTtcbiAgICAgICAgICBpZiAoY29sbGFwc2VkLnRvID09IG51bGwpIHsgcmV0dXJuIH1cbiAgICAgICAgICBpZiAoY29sbGFwc2VkLnRvID09IHBvcykgeyBjb2xsYXBzZWQgPSBmYWxzZTsgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAocG9zID49IGxlbikgeyBicmVhayB9XG5cbiAgICAgIHZhciB1cHRvID0gTWF0aC5taW4obGVuLCBuZXh0Q2hhbmdlKTtcbiAgICAgIHdoaWxlICh0cnVlKSB7XG4gICAgICAgIGlmICh0ZXh0KSB7XG4gICAgICAgICAgdmFyIGVuZCA9IHBvcyArIHRleHQubGVuZ3RoO1xuICAgICAgICAgIGlmICghY29sbGFwc2VkKSB7XG4gICAgICAgICAgICB2YXIgdG9rZW5UZXh0ID0gZW5kID4gdXB0byA/IHRleHQuc2xpY2UoMCwgdXB0byAtIHBvcykgOiB0ZXh0O1xuICAgICAgICAgICAgYnVpbGRlci5hZGRUb2tlbihidWlsZGVyLCB0b2tlblRleHQsIHN0eWxlID8gc3R5bGUgKyBzcGFuU3R5bGUgOiBzcGFuU3R5bGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNwYW5TdGFydFN0eWxlLCBwb3MgKyB0b2tlblRleHQubGVuZ3RoID09IG5leHRDaGFuZ2UgPyBzcGFuRW5kU3R5bGUgOiBcIlwiLCBjc3MsIGF0dHJpYnV0ZXMpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoZW5kID49IHVwdG8pIHt0ZXh0ID0gdGV4dC5zbGljZSh1cHRvIC0gcG9zKTsgcG9zID0gdXB0bzsgYnJlYWt9XG4gICAgICAgICAgcG9zID0gZW5kO1xuICAgICAgICAgIHNwYW5TdGFydFN0eWxlID0gXCJcIjtcbiAgICAgICAgfVxuICAgICAgICB0ZXh0ID0gYWxsVGV4dC5zbGljZShhdCwgYXQgPSBzdHlsZXNbaSsrXSk7XG4gICAgICAgIHN0eWxlID0gaW50ZXJwcmV0VG9rZW5TdHlsZShzdHlsZXNbaSsrXSwgYnVpbGRlci5jbS5vcHRpb25zKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuXG4gIC8vIFRoZXNlIG9iamVjdHMgYXJlIHVzZWQgdG8gcmVwcmVzZW50IHRoZSB2aXNpYmxlIChjdXJyZW50bHkgZHJhd24pXG4gIC8vIHBhcnQgb2YgdGhlIGRvY3VtZW50LiBBIExpbmVWaWV3IG1heSBjb3JyZXNwb25kIHRvIG11bHRpcGxlXG4gIC8vIGxvZ2ljYWwgbGluZXMsIGlmIHRob3NlIGFyZSBjb25uZWN0ZWQgYnkgY29sbGFwc2VkIHJhbmdlcy5cbiAgZnVuY3Rpb24gTGluZVZpZXcoZG9jLCBsaW5lLCBsaW5lTikge1xuICAgIC8vIFRoZSBzdGFydGluZyBsaW5lXG4gICAgdGhpcy5saW5lID0gbGluZTtcbiAgICAvLyBDb250aW51aW5nIGxpbmVzLCBpZiBhbnlcbiAgICB0aGlzLnJlc3QgPSB2aXN1YWxMaW5lQ29udGludWVkKGxpbmUpO1xuICAgIC8vIE51bWJlciBvZiBsb2dpY2FsIGxpbmVzIGluIHRoaXMgdmlzdWFsIGxpbmVcbiAgICB0aGlzLnNpemUgPSB0aGlzLnJlc3QgPyBsaW5lTm8obHN0KHRoaXMucmVzdCkpIC0gbGluZU4gKyAxIDogMTtcbiAgICB0aGlzLm5vZGUgPSB0aGlzLnRleHQgPSBudWxsO1xuICAgIHRoaXMuaGlkZGVuID0gbGluZUlzSGlkZGVuKGRvYywgbGluZSk7XG4gIH1cblxuICAvLyBDcmVhdGUgYSByYW5nZSBvZiBMaW5lVmlldyBvYmplY3RzIGZvciB0aGUgZ2l2ZW4gbGluZXMuXG4gIGZ1bmN0aW9uIGJ1aWxkVmlld0FycmF5KGNtLCBmcm9tLCB0bykge1xuICAgIHZhciBhcnJheSA9IFtdLCBuZXh0UG9zO1xuICAgIGZvciAodmFyIHBvcyA9IGZyb207IHBvcyA8IHRvOyBwb3MgPSBuZXh0UG9zKSB7XG4gICAgICB2YXIgdmlldyA9IG5ldyBMaW5lVmlldyhjbS5kb2MsIGdldExpbmUoY20uZG9jLCBwb3MpLCBwb3MpO1xuICAgICAgbmV4dFBvcyA9IHBvcyArIHZpZXcuc2l6ZTtcbiAgICAgIGFycmF5LnB1c2godmlldyk7XG4gICAgfVxuICAgIHJldHVybiBhcnJheVxuICB9XG5cbiAgdmFyIG9wZXJhdGlvbkdyb3VwID0gbnVsbDtcblxuICBmdW5jdGlvbiBwdXNoT3BlcmF0aW9uKG9wKSB7XG4gICAgaWYgKG9wZXJhdGlvbkdyb3VwKSB7XG4gICAgICBvcGVyYXRpb25Hcm91cC5vcHMucHVzaChvcCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIG9wLm93bnNHcm91cCA9IG9wZXJhdGlvbkdyb3VwID0ge1xuICAgICAgICBvcHM6IFtvcF0sXG4gICAgICAgIGRlbGF5ZWRDYWxsYmFja3M6IFtdXG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIGZpcmVDYWxsYmFja3NGb3JPcHMoZ3JvdXApIHtcbiAgICAvLyBDYWxscyBkZWxheWVkIGNhbGxiYWNrcyBhbmQgY3Vyc29yQWN0aXZpdHkgaGFuZGxlcnMgdW50aWwgbm9cbiAgICAvLyBuZXcgb25lcyBhcHBlYXJcbiAgICB2YXIgY2FsbGJhY2tzID0gZ3JvdXAuZGVsYXllZENhbGxiYWNrcywgaSA9IDA7XG4gICAgZG8ge1xuICAgICAgZm9yICg7IGkgPCBjYWxsYmFja3MubGVuZ3RoOyBpKyspXG4gICAgICAgIHsgY2FsbGJhY2tzW2ldLmNhbGwobnVsbCk7IH1cbiAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgZ3JvdXAub3BzLmxlbmd0aDsgaisrKSB7XG4gICAgICAgIHZhciBvcCA9IGdyb3VwLm9wc1tqXTtcbiAgICAgICAgaWYgKG9wLmN1cnNvckFjdGl2aXR5SGFuZGxlcnMpXG4gICAgICAgICAgeyB3aGlsZSAob3AuY3Vyc29yQWN0aXZpdHlDYWxsZWQgPCBvcC5jdXJzb3JBY3Rpdml0eUhhbmRsZXJzLmxlbmd0aClcbiAgICAgICAgICAgIHsgb3AuY3Vyc29yQWN0aXZpdHlIYW5kbGVyc1tvcC5jdXJzb3JBY3Rpdml0eUNhbGxlZCsrXS5jYWxsKG51bGwsIG9wLmNtKTsgfSB9XG4gICAgICB9XG4gICAgfSB3aGlsZSAoaSA8IGNhbGxiYWNrcy5sZW5ndGgpXG4gIH1cblxuICBmdW5jdGlvbiBmaW5pc2hPcGVyYXRpb24ob3AsIGVuZENiKSB7XG4gICAgdmFyIGdyb3VwID0gb3Aub3duc0dyb3VwO1xuICAgIGlmICghZ3JvdXApIHsgcmV0dXJuIH1cblxuICAgIHRyeSB7IGZpcmVDYWxsYmFja3NGb3JPcHMoZ3JvdXApOyB9XG4gICAgZmluYWxseSB7XG4gICAgICBvcGVyYXRpb25Hcm91cCA9IG51bGw7XG4gICAgICBlbmRDYihncm91cCk7XG4gICAgfVxuICB9XG5cbiAgdmFyIG9ycGhhbkRlbGF5ZWRDYWxsYmFja3MgPSBudWxsO1xuXG4gIC8vIE9mdGVuLCB3ZSB3YW50IHRvIHNpZ25hbCBldmVudHMgYXQgYSBwb2ludCB3aGVyZSB3ZSBhcmUgaW4gdGhlXG4gIC8vIG1pZGRsZSBvZiBzb21lIHdvcmssIGJ1dCBkb24ndCB3YW50IHRoZSBoYW5kbGVyIHRvIHN0YXJ0IGNhbGxpbmdcbiAgLy8gb3RoZXIgbWV0aG9kcyBvbiB0aGUgZWRpdG9yLCB3aGljaCBtaWdodCBiZSBpbiBhbiBpbmNvbnNpc3RlbnRcbiAgLy8gc3RhdGUgb3Igc2ltcGx5IG5vdCBleHBlY3QgYW55IG90aGVyIGV2ZW50cyB0byBoYXBwZW4uXG4gIC8vIHNpZ25hbExhdGVyIGxvb2tzIHdoZXRoZXIgdGhlcmUgYXJlIGFueSBoYW5kbGVycywgYW5kIHNjaGVkdWxlc1xuICAvLyB0aGVtIHRvIGJlIGV4ZWN1dGVkIHdoZW4gdGhlIGxhc3Qgb3BlcmF0aW9uIGVuZHMsIG9yLCBpZiBub1xuICAvLyBvcGVyYXRpb24gaXMgYWN0aXZlLCB3aGVuIGEgdGltZW91dCBmaXJlcy5cbiAgZnVuY3Rpb24gc2lnbmFsTGF0ZXIoZW1pdHRlciwgdHlwZSAvKiwgdmFsdWVzLi4uKi8pIHtcbiAgICB2YXIgYXJyID0gZ2V0SGFuZGxlcnMoZW1pdHRlciwgdHlwZSk7XG4gICAgaWYgKCFhcnIubGVuZ3RoKSB7IHJldHVybiB9XG4gICAgdmFyIGFyZ3MgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsIDIpLCBsaXN0O1xuICAgIGlmIChvcGVyYXRpb25Hcm91cCkge1xuICAgICAgbGlzdCA9IG9wZXJhdGlvbkdyb3VwLmRlbGF5ZWRDYWxsYmFja3M7XG4gICAgfSBlbHNlIGlmIChvcnBoYW5EZWxheWVkQ2FsbGJhY2tzKSB7XG4gICAgICBsaXN0ID0gb3JwaGFuRGVsYXllZENhbGxiYWNrcztcbiAgICB9IGVsc2Uge1xuICAgICAgbGlzdCA9IG9ycGhhbkRlbGF5ZWRDYWxsYmFja3MgPSBbXTtcbiAgICAgIHNldFRpbWVvdXQoZmlyZU9ycGhhbkRlbGF5ZWQsIDApO1xuICAgIH1cbiAgICB2YXIgbG9vcCA9IGZ1bmN0aW9uICggaSApIHtcbiAgICAgIGxpc3QucHVzaChmdW5jdGlvbiAoKSB7IHJldHVybiBhcnJbaV0uYXBwbHkobnVsbCwgYXJncyk7IH0pO1xuICAgIH07XG5cbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGFyci5sZW5ndGg7ICsraSlcbiAgICAgIGxvb3AoIGkgKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGZpcmVPcnBoYW5EZWxheWVkKCkge1xuICAgIHZhciBkZWxheWVkID0gb3JwaGFuRGVsYXllZENhbGxiYWNrcztcbiAgICBvcnBoYW5EZWxheWVkQ2FsbGJhY2tzID0gbnVsbDtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGRlbGF5ZWQubGVuZ3RoOyArK2kpIHsgZGVsYXllZFtpXSgpOyB9XG4gIH1cblxuICAvLyBXaGVuIGFuIGFzcGVjdCBvZiBhIGxpbmUgY2hhbmdlcywgYSBzdHJpbmcgaXMgYWRkZWQgdG9cbiAgLy8gbGluZVZpZXcuY2hhbmdlcy4gVGhpcyB1cGRhdGVzIHRoZSByZWxldmFudCBwYXJ0IG9mIHRoZSBsaW5lJ3NcbiAgLy8gRE9NIHN0cnVjdHVyZS5cbiAgZnVuY3Rpb24gdXBkYXRlTGluZUZvckNoYW5nZXMoY20sIGxpbmVWaWV3LCBsaW5lTiwgZGltcykge1xuICAgIGZvciAodmFyIGogPSAwOyBqIDwgbGluZVZpZXcuY2hhbmdlcy5sZW5ndGg7IGorKykge1xuICAgICAgdmFyIHR5cGUgPSBsaW5lVmlldy5jaGFuZ2VzW2pdO1xuICAgICAgaWYgKHR5cGUgPT0gXCJ0ZXh0XCIpIHsgdXBkYXRlTGluZVRleHQoY20sIGxpbmVWaWV3KTsgfVxuICAgICAgZWxzZSBpZiAodHlwZSA9PSBcImd1dHRlclwiKSB7IHVwZGF0ZUxpbmVHdXR0ZXIoY20sIGxpbmVWaWV3LCBsaW5lTiwgZGltcyk7IH1cbiAgICAgIGVsc2UgaWYgKHR5cGUgPT0gXCJjbGFzc1wiKSB7IHVwZGF0ZUxpbmVDbGFzc2VzKGNtLCBsaW5lVmlldyk7IH1cbiAgICAgIGVsc2UgaWYgKHR5cGUgPT0gXCJ3aWRnZXRcIikgeyB1cGRhdGVMaW5lV2lkZ2V0cyhjbSwgbGluZVZpZXcsIGRpbXMpOyB9XG4gICAgfVxuICAgIGxpbmVWaWV3LmNoYW5nZXMgPSBudWxsO1xuICB9XG5cbiAgLy8gTGluZXMgd2l0aCBndXR0ZXIgZWxlbWVudHMsIHdpZGdldHMgb3IgYSBiYWNrZ3JvdW5kIGNsYXNzIG5lZWQgdG9cbiAgLy8gYmUgd3JhcHBlZCwgYW5kIGhhdmUgdGhlIGV4dHJhIGVsZW1lbnRzIGFkZGVkIHRvIHRoZSB3cmFwcGVyIGRpdlxuICBmdW5jdGlvbiBlbnN1cmVMaW5lV3JhcHBlZChsaW5lVmlldykge1xuICAgIGlmIChsaW5lVmlldy5ub2RlID09IGxpbmVWaWV3LnRleHQpIHtcbiAgICAgIGxpbmVWaWV3Lm5vZGUgPSBlbHQoXCJkaXZcIiwgbnVsbCwgbnVsbCwgXCJwb3NpdGlvbjogcmVsYXRpdmVcIik7XG4gICAgICBpZiAobGluZVZpZXcudGV4dC5wYXJlbnROb2RlKVxuICAgICAgICB7IGxpbmVWaWV3LnRleHQucGFyZW50Tm9kZS5yZXBsYWNlQ2hpbGQobGluZVZpZXcubm9kZSwgbGluZVZpZXcudGV4dCk7IH1cbiAgICAgIGxpbmVWaWV3Lm5vZGUuYXBwZW5kQ2hpbGQobGluZVZpZXcudGV4dCk7XG4gICAgICBpZiAoaWUgJiYgaWVfdmVyc2lvbiA8IDgpIHsgbGluZVZpZXcubm9kZS5zdHlsZS56SW5kZXggPSAyOyB9XG4gICAgfVxuICAgIHJldHVybiBsaW5lVmlldy5ub2RlXG4gIH1cblxuICBmdW5jdGlvbiB1cGRhdGVMaW5lQmFja2dyb3VuZChjbSwgbGluZVZpZXcpIHtcbiAgICB2YXIgY2xzID0gbGluZVZpZXcuYmdDbGFzcyA/IGxpbmVWaWV3LmJnQ2xhc3MgKyBcIiBcIiArIChsaW5lVmlldy5saW5lLmJnQ2xhc3MgfHwgXCJcIikgOiBsaW5lVmlldy5saW5lLmJnQ2xhc3M7XG4gICAgaWYgKGNscykgeyBjbHMgKz0gXCIgQ29kZU1pcnJvci1saW5lYmFja2dyb3VuZFwiOyB9XG4gICAgaWYgKGxpbmVWaWV3LmJhY2tncm91bmQpIHtcbiAgICAgIGlmIChjbHMpIHsgbGluZVZpZXcuYmFja2dyb3VuZC5jbGFzc05hbWUgPSBjbHM7IH1cbiAgICAgIGVsc2UgeyBsaW5lVmlldy5iYWNrZ3JvdW5kLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQobGluZVZpZXcuYmFja2dyb3VuZCk7IGxpbmVWaWV3LmJhY2tncm91bmQgPSBudWxsOyB9XG4gICAgfSBlbHNlIGlmIChjbHMpIHtcbiAgICAgIHZhciB3cmFwID0gZW5zdXJlTGluZVdyYXBwZWQobGluZVZpZXcpO1xuICAgICAgbGluZVZpZXcuYmFja2dyb3VuZCA9IHdyYXAuaW5zZXJ0QmVmb3JlKGVsdChcImRpdlwiLCBudWxsLCBjbHMpLCB3cmFwLmZpcnN0Q2hpbGQpO1xuICAgICAgY20uZGlzcGxheS5pbnB1dC5zZXRVbmVkaXRhYmxlKGxpbmVWaWV3LmJhY2tncm91bmQpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFdyYXBwZXIgYXJvdW5kIGJ1aWxkTGluZUNvbnRlbnQgd2hpY2ggd2lsbCByZXVzZSB0aGUgc3RydWN0dXJlXG4gIC8vIGluIGRpc3BsYXkuZXh0ZXJuYWxNZWFzdXJlZCB3aGVuIHBvc3NpYmxlLlxuICBmdW5jdGlvbiBnZXRMaW5lQ29udGVudChjbSwgbGluZVZpZXcpIHtcbiAgICB2YXIgZXh0ID0gY20uZGlzcGxheS5leHRlcm5hbE1lYXN1cmVkO1xuICAgIGlmIChleHQgJiYgZXh0LmxpbmUgPT0gbGluZVZpZXcubGluZSkge1xuICAgICAgY20uZGlzcGxheS5leHRlcm5hbE1lYXN1cmVkID0gbnVsbDtcbiAgICAgIGxpbmVWaWV3Lm1lYXN1cmUgPSBleHQubWVhc3VyZTtcbiAgICAgIHJldHVybiBleHQuYnVpbHRcbiAgICB9XG4gICAgcmV0dXJuIGJ1aWxkTGluZUNvbnRlbnQoY20sIGxpbmVWaWV3KVxuICB9XG5cbiAgLy8gUmVkcmF3IHRoZSBsaW5lJ3MgdGV4dC4gSW50ZXJhY3RzIHdpdGggdGhlIGJhY2tncm91bmQgYW5kIHRleHRcbiAgLy8gY2xhc3NlcyBiZWNhdXNlIHRoZSBtb2RlIG1heSBvdXRwdXQgdG9rZW5zIHRoYXQgaW5mbHVlbmNlIHRoZXNlXG4gIC8vIGNsYXNzZXMuXG4gIGZ1bmN0aW9uIHVwZGF0ZUxpbmVUZXh0KGNtLCBsaW5lVmlldykge1xuICAgIHZhciBjbHMgPSBsaW5lVmlldy50ZXh0LmNsYXNzTmFtZTtcbiAgICB2YXIgYnVpbHQgPSBnZXRMaW5lQ29udGVudChjbSwgbGluZVZpZXcpO1xuICAgIGlmIChsaW5lVmlldy50ZXh0ID09IGxpbmVWaWV3Lm5vZGUpIHsgbGluZVZpZXcubm9kZSA9IGJ1aWx0LnByZTsgfVxuICAgIGxpbmVWaWV3LnRleHQucGFyZW50Tm9kZS5yZXBsYWNlQ2hpbGQoYnVpbHQucHJlLCBsaW5lVmlldy50ZXh0KTtcbiAgICBsaW5lVmlldy50ZXh0ID0gYnVpbHQucHJlO1xuICAgIGlmIChidWlsdC5iZ0NsYXNzICE9IGxpbmVWaWV3LmJnQ2xhc3MgfHwgYnVpbHQudGV4dENsYXNzICE9IGxpbmVWaWV3LnRleHRDbGFzcykge1xuICAgICAgbGluZVZpZXcuYmdDbGFzcyA9IGJ1aWx0LmJnQ2xhc3M7XG4gICAgICBsaW5lVmlldy50ZXh0Q2xhc3MgPSBidWlsdC50ZXh0Q2xhc3M7XG4gICAgICB1cGRhdGVMaW5lQ2xhc3NlcyhjbSwgbGluZVZpZXcpO1xuICAgIH0gZWxzZSBpZiAoY2xzKSB7XG4gICAgICBsaW5lVmlldy50ZXh0LmNsYXNzTmFtZSA9IGNscztcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiB1cGRhdGVMaW5lQ2xhc3NlcyhjbSwgbGluZVZpZXcpIHtcbiAgICB1cGRhdGVMaW5lQmFja2dyb3VuZChjbSwgbGluZVZpZXcpO1xuICAgIGlmIChsaW5lVmlldy5saW5lLndyYXBDbGFzcylcbiAgICAgIHsgZW5zdXJlTGluZVdyYXBwZWQobGluZVZpZXcpLmNsYXNzTmFtZSA9IGxpbmVWaWV3LmxpbmUud3JhcENsYXNzOyB9XG4gICAgZWxzZSBpZiAobGluZVZpZXcubm9kZSAhPSBsaW5lVmlldy50ZXh0KVxuICAgICAgeyBsaW5lVmlldy5ub2RlLmNsYXNzTmFtZSA9IFwiXCI7IH1cbiAgICB2YXIgdGV4dENsYXNzID0gbGluZVZpZXcudGV4dENsYXNzID8gbGluZVZpZXcudGV4dENsYXNzICsgXCIgXCIgKyAobGluZVZpZXcubGluZS50ZXh0Q2xhc3MgfHwgXCJcIikgOiBsaW5lVmlldy5saW5lLnRleHRDbGFzcztcbiAgICBsaW5lVmlldy50ZXh0LmNsYXNzTmFtZSA9IHRleHRDbGFzcyB8fCBcIlwiO1xuICB9XG5cbiAgZnVuY3Rpb24gdXBkYXRlTGluZUd1dHRlcihjbSwgbGluZVZpZXcsIGxpbmVOLCBkaW1zKSB7XG4gICAgaWYgKGxpbmVWaWV3Lmd1dHRlcikge1xuICAgICAgbGluZVZpZXcubm9kZS5yZW1vdmVDaGlsZChsaW5lVmlldy5ndXR0ZXIpO1xuICAgICAgbGluZVZpZXcuZ3V0dGVyID0gbnVsbDtcbiAgICB9XG4gICAgaWYgKGxpbmVWaWV3Lmd1dHRlckJhY2tncm91bmQpIHtcbiAgICAgIGxpbmVWaWV3Lm5vZGUucmVtb3ZlQ2hpbGQobGluZVZpZXcuZ3V0dGVyQmFja2dyb3VuZCk7XG4gICAgICBsaW5lVmlldy5ndXR0ZXJCYWNrZ3JvdW5kID0gbnVsbDtcbiAgICB9XG4gICAgaWYgKGxpbmVWaWV3LmxpbmUuZ3V0dGVyQ2xhc3MpIHtcbiAgICAgIHZhciB3cmFwID0gZW5zdXJlTGluZVdyYXBwZWQobGluZVZpZXcpO1xuICAgICAgbGluZVZpZXcuZ3V0dGVyQmFja2dyb3VuZCA9IGVsdChcImRpdlwiLCBudWxsLCBcIkNvZGVNaXJyb3ItZ3V0dGVyLWJhY2tncm91bmQgXCIgKyBsaW5lVmlldy5saW5lLmd1dHRlckNsYXNzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoXCJsZWZ0OiBcIiArIChjbS5vcHRpb25zLmZpeGVkR3V0dGVyID8gZGltcy5maXhlZFBvcyA6IC1kaW1zLmd1dHRlclRvdGFsV2lkdGgpICsgXCJweDsgd2lkdGg6IFwiICsgKGRpbXMuZ3V0dGVyVG90YWxXaWR0aCkgKyBcInB4XCIpKTtcbiAgICAgIGNtLmRpc3BsYXkuaW5wdXQuc2V0VW5lZGl0YWJsZShsaW5lVmlldy5ndXR0ZXJCYWNrZ3JvdW5kKTtcbiAgICAgIHdyYXAuaW5zZXJ0QmVmb3JlKGxpbmVWaWV3Lmd1dHRlckJhY2tncm91bmQsIGxpbmVWaWV3LnRleHQpO1xuICAgIH1cbiAgICB2YXIgbWFya2VycyA9IGxpbmVWaWV3LmxpbmUuZ3V0dGVyTWFya2VycztcbiAgICBpZiAoY20ub3B0aW9ucy5saW5lTnVtYmVycyB8fCBtYXJrZXJzKSB7XG4gICAgICB2YXIgd3JhcCQxID0gZW5zdXJlTGluZVdyYXBwZWQobGluZVZpZXcpO1xuICAgICAgdmFyIGd1dHRlcldyYXAgPSBsaW5lVmlldy5ndXR0ZXIgPSBlbHQoXCJkaXZcIiwgbnVsbCwgXCJDb2RlTWlycm9yLWd1dHRlci13cmFwcGVyXCIsIChcImxlZnQ6IFwiICsgKGNtLm9wdGlvbnMuZml4ZWRHdXR0ZXIgPyBkaW1zLmZpeGVkUG9zIDogLWRpbXMuZ3V0dGVyVG90YWxXaWR0aCkgKyBcInB4XCIpKTtcbiAgICAgIGNtLmRpc3BsYXkuaW5wdXQuc2V0VW5lZGl0YWJsZShndXR0ZXJXcmFwKTtcbiAgICAgIHdyYXAkMS5pbnNlcnRCZWZvcmUoZ3V0dGVyV3JhcCwgbGluZVZpZXcudGV4dCk7XG4gICAgICBpZiAobGluZVZpZXcubGluZS5ndXR0ZXJDbGFzcylcbiAgICAgICAgeyBndXR0ZXJXcmFwLmNsYXNzTmFtZSArPSBcIiBcIiArIGxpbmVWaWV3LmxpbmUuZ3V0dGVyQ2xhc3M7IH1cbiAgICAgIGlmIChjbS5vcHRpb25zLmxpbmVOdW1iZXJzICYmICghbWFya2VycyB8fCAhbWFya2Vyc1tcIkNvZGVNaXJyb3ItbGluZW51bWJlcnNcIl0pKVxuICAgICAgICB7IGxpbmVWaWV3LmxpbmVOdW1iZXIgPSBndXR0ZXJXcmFwLmFwcGVuZENoaWxkKFxuICAgICAgICAgIGVsdChcImRpdlwiLCBsaW5lTnVtYmVyRm9yKGNtLm9wdGlvbnMsIGxpbmVOKSxcbiAgICAgICAgICAgICAgXCJDb2RlTWlycm9yLWxpbmVudW1iZXIgQ29kZU1pcnJvci1ndXR0ZXItZWx0XCIsXG4gICAgICAgICAgICAgIChcImxlZnQ6IFwiICsgKGRpbXMuZ3V0dGVyTGVmdFtcIkNvZGVNaXJyb3ItbGluZW51bWJlcnNcIl0pICsgXCJweDsgd2lkdGg6IFwiICsgKGNtLmRpc3BsYXkubGluZU51bUlubmVyV2lkdGgpICsgXCJweFwiKSkpOyB9XG4gICAgICBpZiAobWFya2VycykgeyBmb3IgKHZhciBrID0gMDsgayA8IGNtLmRpc3BsYXkuZ3V0dGVyU3BlY3MubGVuZ3RoOyArK2spIHtcbiAgICAgICAgdmFyIGlkID0gY20uZGlzcGxheS5ndXR0ZXJTcGVjc1trXS5jbGFzc05hbWUsIGZvdW5kID0gbWFya2Vycy5oYXNPd25Qcm9wZXJ0eShpZCkgJiYgbWFya2Vyc1tpZF07XG4gICAgICAgIGlmIChmb3VuZClcbiAgICAgICAgICB7IGd1dHRlcldyYXAuYXBwZW5kQ2hpbGQoZWx0KFwiZGl2XCIsIFtmb3VuZF0sIFwiQ29kZU1pcnJvci1ndXR0ZXItZWx0XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKFwibGVmdDogXCIgKyAoZGltcy5ndXR0ZXJMZWZ0W2lkXSkgKyBcInB4OyB3aWR0aDogXCIgKyAoZGltcy5ndXR0ZXJXaWR0aFtpZF0pICsgXCJweFwiKSkpOyB9XG4gICAgICB9IH1cbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiB1cGRhdGVMaW5lV2lkZ2V0cyhjbSwgbGluZVZpZXcsIGRpbXMpIHtcbiAgICBpZiAobGluZVZpZXcuYWxpZ25hYmxlKSB7IGxpbmVWaWV3LmFsaWduYWJsZSA9IG51bGw7IH1cbiAgICBmb3IgKHZhciBub2RlID0gbGluZVZpZXcubm9kZS5maXJzdENoaWxkLCBuZXh0ID0gKHZvaWQgMCk7IG5vZGU7IG5vZGUgPSBuZXh0KSB7XG4gICAgICBuZXh0ID0gbm9kZS5uZXh0U2libGluZztcbiAgICAgIGlmIChub2RlLmNsYXNzTmFtZSA9PSBcIkNvZGVNaXJyb3ItbGluZXdpZGdldFwiKVxuICAgICAgICB7IGxpbmVWaWV3Lm5vZGUucmVtb3ZlQ2hpbGQobm9kZSk7IH1cbiAgICB9XG4gICAgaW5zZXJ0TGluZVdpZGdldHMoY20sIGxpbmVWaWV3LCBkaW1zKTtcbiAgfVxuXG4gIC8vIEJ1aWxkIGEgbGluZSdzIERPTSByZXByZXNlbnRhdGlvbiBmcm9tIHNjcmF0Y2hcbiAgZnVuY3Rpb24gYnVpbGRMaW5lRWxlbWVudChjbSwgbGluZVZpZXcsIGxpbmVOLCBkaW1zKSB7XG4gICAgdmFyIGJ1aWx0ID0gZ2V0TGluZUNvbnRlbnQoY20sIGxpbmVWaWV3KTtcbiAgICBsaW5lVmlldy50ZXh0ID0gbGluZVZpZXcubm9kZSA9IGJ1aWx0LnByZTtcbiAgICBpZiAoYnVpbHQuYmdDbGFzcykgeyBsaW5lVmlldy5iZ0NsYXNzID0gYnVpbHQuYmdDbGFzczsgfVxuICAgIGlmIChidWlsdC50ZXh0Q2xhc3MpIHsgbGluZVZpZXcudGV4dENsYXNzID0gYnVpbHQudGV4dENsYXNzOyB9XG5cbiAgICB1cGRhdGVMaW5lQ2xhc3NlcyhjbSwgbGluZVZpZXcpO1xuICAgIHVwZGF0ZUxpbmVHdXR0ZXIoY20sIGxpbmVWaWV3LCBsaW5lTiwgZGltcyk7XG4gICAgaW5zZXJ0TGluZVdpZGdldHMoY20sIGxpbmVWaWV3LCBkaW1zKTtcbiAgICByZXR1cm4gbGluZVZpZXcubm9kZVxuICB9XG5cbiAgLy8gQSBsaW5lVmlldyBtYXkgY29udGFpbiBtdWx0aXBsZSBsb2dpY2FsIGxpbmVzICh3aGVuIG1lcmdlZCBieVxuICAvLyBjb2xsYXBzZWQgc3BhbnMpLiBUaGUgd2lkZ2V0cyBmb3IgYWxsIG9mIHRoZW0gbmVlZCB0byBiZSBkcmF3bi5cbiAgZnVuY3Rpb24gaW5zZXJ0TGluZVdpZGdldHMoY20sIGxpbmVWaWV3LCBkaW1zKSB7XG4gICAgaW5zZXJ0TGluZVdpZGdldHNGb3IoY20sIGxpbmVWaWV3LmxpbmUsIGxpbmVWaWV3LCBkaW1zLCB0cnVlKTtcbiAgICBpZiAobGluZVZpZXcucmVzdCkgeyBmb3IgKHZhciBpID0gMDsgaSA8IGxpbmVWaWV3LnJlc3QubGVuZ3RoOyBpKyspXG4gICAgICB7IGluc2VydExpbmVXaWRnZXRzRm9yKGNtLCBsaW5lVmlldy5yZXN0W2ldLCBsaW5lVmlldywgZGltcywgZmFsc2UpOyB9IH1cbiAgfVxuXG4gIGZ1bmN0aW9uIGluc2VydExpbmVXaWRnZXRzRm9yKGNtLCBsaW5lLCBsaW5lVmlldywgZGltcywgYWxsb3dBYm92ZSkge1xuICAgIGlmICghbGluZS53aWRnZXRzKSB7IHJldHVybiB9XG4gICAgdmFyIHdyYXAgPSBlbnN1cmVMaW5lV3JhcHBlZChsaW5lVmlldyk7XG4gICAgZm9yICh2YXIgaSA9IDAsIHdzID0gbGluZS53aWRnZXRzOyBpIDwgd3MubGVuZ3RoOyArK2kpIHtcbiAgICAgIHZhciB3aWRnZXQgPSB3c1tpXSwgbm9kZSA9IGVsdChcImRpdlwiLCBbd2lkZ2V0Lm5vZGVdLCBcIkNvZGVNaXJyb3ItbGluZXdpZGdldFwiKTtcbiAgICAgIGlmICghd2lkZ2V0LmhhbmRsZU1vdXNlRXZlbnRzKSB7IG5vZGUuc2V0QXR0cmlidXRlKFwiY20taWdub3JlLWV2ZW50c1wiLCBcInRydWVcIik7IH1cbiAgICAgIHBvc2l0aW9uTGluZVdpZGdldCh3aWRnZXQsIG5vZGUsIGxpbmVWaWV3LCBkaW1zKTtcbiAgICAgIGNtLmRpc3BsYXkuaW5wdXQuc2V0VW5lZGl0YWJsZShub2RlKTtcbiAgICAgIGlmIChhbGxvd0Fib3ZlICYmIHdpZGdldC5hYm92ZSlcbiAgICAgICAgeyB3cmFwLmluc2VydEJlZm9yZShub2RlLCBsaW5lVmlldy5ndXR0ZXIgfHwgbGluZVZpZXcudGV4dCk7IH1cbiAgICAgIGVsc2VcbiAgICAgICAgeyB3cmFwLmFwcGVuZENoaWxkKG5vZGUpOyB9XG4gICAgICBzaWduYWxMYXRlcih3aWRnZXQsIFwicmVkcmF3XCIpO1xuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIHBvc2l0aW9uTGluZVdpZGdldCh3aWRnZXQsIG5vZGUsIGxpbmVWaWV3LCBkaW1zKSB7XG4gICAgaWYgKHdpZGdldC5ub0hTY3JvbGwpIHtcbiAgKGxpbmVWaWV3LmFsaWduYWJsZSB8fCAobGluZVZpZXcuYWxpZ25hYmxlID0gW10pKS5wdXNoKG5vZGUpO1xuICAgICAgdmFyIHdpZHRoID0gZGltcy53cmFwcGVyV2lkdGg7XG4gICAgICBub2RlLnN0eWxlLmxlZnQgPSBkaW1zLmZpeGVkUG9zICsgXCJweFwiO1xuICAgICAgaWYgKCF3aWRnZXQuY292ZXJHdXR0ZXIpIHtcbiAgICAgICAgd2lkdGggLT0gZGltcy5ndXR0ZXJUb3RhbFdpZHRoO1xuICAgICAgICBub2RlLnN0eWxlLnBhZGRpbmdMZWZ0ID0gZGltcy5ndXR0ZXJUb3RhbFdpZHRoICsgXCJweFwiO1xuICAgICAgfVxuICAgICAgbm9kZS5zdHlsZS53aWR0aCA9IHdpZHRoICsgXCJweFwiO1xuICAgIH1cbiAgICBpZiAod2lkZ2V0LmNvdmVyR3V0dGVyKSB7XG4gICAgICBub2RlLnN0eWxlLnpJbmRleCA9IDU7XG4gICAgICBub2RlLnN0eWxlLnBvc2l0aW9uID0gXCJyZWxhdGl2ZVwiO1xuICAgICAgaWYgKCF3aWRnZXQubm9IU2Nyb2xsKSB7IG5vZGUuc3R5bGUubWFyZ2luTGVmdCA9IC1kaW1zLmd1dHRlclRvdGFsV2lkdGggKyBcInB4XCI7IH1cbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiB3aWRnZXRIZWlnaHQod2lkZ2V0KSB7XG4gICAgaWYgKHdpZGdldC5oZWlnaHQgIT0gbnVsbCkgeyByZXR1cm4gd2lkZ2V0LmhlaWdodCB9XG4gICAgdmFyIGNtID0gd2lkZ2V0LmRvYy5jbTtcbiAgICBpZiAoIWNtKSB7IHJldHVybiAwIH1cbiAgICBpZiAoIWNvbnRhaW5zKGRvY3VtZW50LmJvZHksIHdpZGdldC5ub2RlKSkge1xuICAgICAgdmFyIHBhcmVudFN0eWxlID0gXCJwb3NpdGlvbjogcmVsYXRpdmU7XCI7XG4gICAgICBpZiAod2lkZ2V0LmNvdmVyR3V0dGVyKVxuICAgICAgICB7IHBhcmVudFN0eWxlICs9IFwibWFyZ2luLWxlZnQ6IC1cIiArIGNtLmRpc3BsYXkuZ3V0dGVycy5vZmZzZXRXaWR0aCArIFwicHg7XCI7IH1cbiAgICAgIGlmICh3aWRnZXQubm9IU2Nyb2xsKVxuICAgICAgICB7IHBhcmVudFN0eWxlICs9IFwid2lkdGg6IFwiICsgY20uZGlzcGxheS53cmFwcGVyLmNsaWVudFdpZHRoICsgXCJweDtcIjsgfVxuICAgICAgcmVtb3ZlQ2hpbGRyZW5BbmRBZGQoY20uZGlzcGxheS5tZWFzdXJlLCBlbHQoXCJkaXZcIiwgW3dpZGdldC5ub2RlXSwgbnVsbCwgcGFyZW50U3R5bGUpKTtcbiAgICB9XG4gICAgcmV0dXJuIHdpZGdldC5oZWlnaHQgPSB3aWRnZXQubm9kZS5wYXJlbnROb2RlLm9mZnNldEhlaWdodFxuICB9XG5cbiAgLy8gUmV0dXJuIHRydWUgd2hlbiB0aGUgZ2l2ZW4gbW91c2UgZXZlbnQgaGFwcGVuZWQgaW4gYSB3aWRnZXRcbiAgZnVuY3Rpb24gZXZlbnRJbldpZGdldChkaXNwbGF5LCBlKSB7XG4gICAgZm9yICh2YXIgbiA9IGVfdGFyZ2V0KGUpOyBuICE9IGRpc3BsYXkud3JhcHBlcjsgbiA9IG4ucGFyZW50Tm9kZSkge1xuICAgICAgaWYgKCFuIHx8IChuLm5vZGVUeXBlID09IDEgJiYgbi5nZXRBdHRyaWJ1dGUoXCJjbS1pZ25vcmUtZXZlbnRzXCIpID09IFwidHJ1ZVwiKSB8fFxuICAgICAgICAgIChuLnBhcmVudE5vZGUgPT0gZGlzcGxheS5zaXplciAmJiBuICE9IGRpc3BsYXkubW92ZXIpKVxuICAgICAgICB7IHJldHVybiB0cnVlIH1cbiAgICB9XG4gIH1cblxuICAvLyBQT1NJVElPTiBNRUFTVVJFTUVOVFxuXG4gIGZ1bmN0aW9uIHBhZGRpbmdUb3AoZGlzcGxheSkge3JldHVybiBkaXNwbGF5LmxpbmVTcGFjZS5vZmZzZXRUb3B9XG4gIGZ1bmN0aW9uIHBhZGRpbmdWZXJ0KGRpc3BsYXkpIHtyZXR1cm4gZGlzcGxheS5tb3Zlci5vZmZzZXRIZWlnaHQgLSBkaXNwbGF5LmxpbmVTcGFjZS5vZmZzZXRIZWlnaHR9XG4gIGZ1bmN0aW9uIHBhZGRpbmdIKGRpc3BsYXkpIHtcbiAgICBpZiAoZGlzcGxheS5jYWNoZWRQYWRkaW5nSCkgeyByZXR1cm4gZGlzcGxheS5jYWNoZWRQYWRkaW5nSCB9XG4gICAgdmFyIGUgPSByZW1vdmVDaGlsZHJlbkFuZEFkZChkaXNwbGF5Lm1lYXN1cmUsIGVsdChcInByZVwiLCBcInhcIiwgXCJDb2RlTWlycm9yLWxpbmUtbGlrZVwiKSk7XG4gICAgdmFyIHN0eWxlID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUgPyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlKSA6IGUuY3VycmVudFN0eWxlO1xuICAgIHZhciBkYXRhID0ge2xlZnQ6IHBhcnNlSW50KHN0eWxlLnBhZGRpbmdMZWZ0KSwgcmlnaHQ6IHBhcnNlSW50KHN0eWxlLnBhZGRpbmdSaWdodCl9O1xuICAgIGlmICghaXNOYU4oZGF0YS5sZWZ0KSAmJiAhaXNOYU4oZGF0YS5yaWdodCkpIHsgZGlzcGxheS5jYWNoZWRQYWRkaW5nSCA9IGRhdGE7IH1cbiAgICByZXR1cm4gZGF0YVxuICB9XG5cbiAgZnVuY3Rpb24gc2Nyb2xsR2FwKGNtKSB7IHJldHVybiBzY3JvbGxlckdhcCAtIGNtLmRpc3BsYXkubmF0aXZlQmFyV2lkdGggfVxuICBmdW5jdGlvbiBkaXNwbGF5V2lkdGgoY20pIHtcbiAgICByZXR1cm4gY20uZGlzcGxheS5zY3JvbGxlci5jbGllbnRXaWR0aCAtIHNjcm9sbEdhcChjbSkgLSBjbS5kaXNwbGF5LmJhcldpZHRoXG4gIH1cbiAgZnVuY3Rpb24gZGlzcGxheUhlaWdodChjbSkge1xuICAgIHJldHVybiBjbS5kaXNwbGF5LnNjcm9sbGVyLmNsaWVudEhlaWdodCAtIHNjcm9sbEdhcChjbSkgLSBjbS5kaXNwbGF5LmJhckhlaWdodFxuICB9XG5cbiAgLy8gRW5zdXJlIHRoZSBsaW5lVmlldy53cmFwcGluZy5oZWlnaHRzIGFycmF5IGlzIHBvcHVsYXRlZC4gVGhpcyBpc1xuICAvLyBhbiBhcnJheSBvZiBib3R0b20gb2Zmc2V0cyBmb3IgdGhlIGxpbmVzIHRoYXQgbWFrZSB1cCBhIGRyYXduXG4gIC8vIGxpbmUuIFdoZW4gbGluZVdyYXBwaW5nIGlzIG9uLCB0aGVyZSBtaWdodCBiZSBtb3JlIHRoYW4gb25lXG4gIC8vIGhlaWdodC5cbiAgZnVuY3Rpb24gZW5zdXJlTGluZUhlaWdodHMoY20sIGxpbmVWaWV3LCByZWN0KSB7XG4gICAgdmFyIHdyYXBwaW5nID0gY20ub3B0aW9ucy5saW5lV3JhcHBpbmc7XG4gICAgdmFyIGN1cldpZHRoID0gd3JhcHBpbmcgJiYgZGlzcGxheVdpZHRoKGNtKTtcbiAgICBpZiAoIWxpbmVWaWV3Lm1lYXN1cmUuaGVpZ2h0cyB8fCB3cmFwcGluZyAmJiBsaW5lVmlldy5tZWFzdXJlLndpZHRoICE9IGN1cldpZHRoKSB7XG4gICAgICB2YXIgaGVpZ2h0cyA9IGxpbmVWaWV3Lm1lYXN1cmUuaGVpZ2h0cyA9IFtdO1xuICAgICAgaWYgKHdyYXBwaW5nKSB7XG4gICAgICAgIGxpbmVWaWV3Lm1lYXN1cmUud2lkdGggPSBjdXJXaWR0aDtcbiAgICAgICAgdmFyIHJlY3RzID0gbGluZVZpZXcudGV4dC5maXJzdENoaWxkLmdldENsaWVudFJlY3RzKCk7XG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcmVjdHMubGVuZ3RoIC0gMTsgaSsrKSB7XG4gICAgICAgICAgdmFyIGN1ciA9IHJlY3RzW2ldLCBuZXh0ID0gcmVjdHNbaSArIDFdO1xuICAgICAgICAgIGlmIChNYXRoLmFicyhjdXIuYm90dG9tIC0gbmV4dC5ib3R0b20pID4gMilcbiAgICAgICAgICAgIHsgaGVpZ2h0cy5wdXNoKChjdXIuYm90dG9tICsgbmV4dC50b3ApIC8gMiAtIHJlY3QudG9wKTsgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBoZWlnaHRzLnB1c2gocmVjdC5ib3R0b20gLSByZWN0LnRvcCk7XG4gICAgfVxuICB9XG5cbiAgLy8gRmluZCBhIGxpbmUgbWFwIChtYXBwaW5nIGNoYXJhY3RlciBvZmZzZXRzIHRvIHRleHQgbm9kZXMpIGFuZCBhXG4gIC8vIG1lYXN1cmVtZW50IGNhY2hlIGZvciB0aGUgZ2l2ZW4gbGluZSBudW1iZXIuIChBIGxpbmUgdmlldyBtaWdodFxuICAvLyBjb250YWluIG11bHRpcGxlIGxpbmVzIHdoZW4gY29sbGFwc2VkIHJhbmdlcyBhcmUgcHJlc2VudC4pXG4gIGZ1bmN0aW9uIG1hcEZyb21MaW5lVmlldyhsaW5lVmlldywgbGluZSwgbGluZU4pIHtcbiAgICBpZiAobGluZVZpZXcubGluZSA9PSBsaW5lKVxuICAgICAgeyByZXR1cm4ge21hcDogbGluZVZpZXcubWVhc3VyZS5tYXAsIGNhY2hlOiBsaW5lVmlldy5tZWFzdXJlLmNhY2hlfSB9XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsaW5lVmlldy5yZXN0Lmxlbmd0aDsgaSsrKVxuICAgICAgeyBpZiAobGluZVZpZXcucmVzdFtpXSA9PSBsaW5lKVxuICAgICAgICB7IHJldHVybiB7bWFwOiBsaW5lVmlldy5tZWFzdXJlLm1hcHNbaV0sIGNhY2hlOiBsaW5lVmlldy5tZWFzdXJlLmNhY2hlc1tpXX0gfSB9XG4gICAgZm9yICh2YXIgaSQxID0gMDsgaSQxIDwgbGluZVZpZXcucmVzdC5sZW5ndGg7IGkkMSsrKVxuICAgICAgeyBpZiAobGluZU5vKGxpbmVWaWV3LnJlc3RbaSQxXSkgPiBsaW5lTilcbiAgICAgICAgeyByZXR1cm4ge21hcDogbGluZVZpZXcubWVhc3VyZS5tYXBzW2kkMV0sIGNhY2hlOiBsaW5lVmlldy5tZWFzdXJlLmNhY2hlc1tpJDFdLCBiZWZvcmU6IHRydWV9IH0gfVxuICB9XG5cbiAgLy8gUmVuZGVyIGEgbGluZSBpbnRvIHRoZSBoaWRkZW4gbm9kZSBkaXNwbGF5LmV4dGVybmFsTWVhc3VyZWQuIFVzZWRcbiAgLy8gd2hlbiBtZWFzdXJlbWVudCBpcyBuZWVkZWQgZm9yIGEgbGluZSB0aGF0J3Mgbm90IGluIHRoZSB2aWV3cG9ydC5cbiAgZnVuY3Rpb24gdXBkYXRlRXh0ZXJuYWxNZWFzdXJlbWVudChjbSwgbGluZSkge1xuICAgIGxpbmUgPSB2aXN1YWxMaW5lKGxpbmUpO1xuICAgIHZhciBsaW5lTiA9IGxpbmVObyhsaW5lKTtcbiAgICB2YXIgdmlldyA9IGNtLmRpc3BsYXkuZXh0ZXJuYWxNZWFzdXJlZCA9IG5ldyBMaW5lVmlldyhjbS5kb2MsIGxpbmUsIGxpbmVOKTtcbiAgICB2aWV3LmxpbmVOID0gbGluZU47XG4gICAgdmFyIGJ1aWx0ID0gdmlldy5idWlsdCA9IGJ1aWxkTGluZUNvbnRlbnQoY20sIHZpZXcpO1xuICAgIHZpZXcudGV4dCA9IGJ1aWx0LnByZTtcbiAgICByZW1vdmVDaGlsZHJlbkFuZEFkZChjbS5kaXNwbGF5LmxpbmVNZWFzdXJlLCBidWlsdC5wcmUpO1xuICAgIHJldHVybiB2aWV3XG4gIH1cblxuICAvLyBHZXQgYSB7dG9wLCBib3R0b20sIGxlZnQsIHJpZ2h0fSBib3ggKGluIGxpbmUtbG9jYWwgY29vcmRpbmF0ZXMpXG4gIC8vIGZvciBhIGdpdmVuIGNoYXJhY3Rlci5cbiAgZnVuY3Rpb24gbWVhc3VyZUNoYXIoY20sIGxpbmUsIGNoLCBiaWFzKSB7XG4gICAgcmV0dXJuIG1lYXN1cmVDaGFyUHJlcGFyZWQoY20sIHByZXBhcmVNZWFzdXJlRm9yTGluZShjbSwgbGluZSksIGNoLCBiaWFzKVxuICB9XG5cbiAgLy8gRmluZCBhIGxpbmUgdmlldyB0aGF0IGNvcnJlc3BvbmRzIHRvIHRoZSBnaXZlbiBsaW5lIG51bWJlci5cbiAgZnVuY3Rpb24gZmluZFZpZXdGb3JMaW5lKGNtLCBsaW5lTikge1xuICAgIGlmIChsaW5lTiA+PSBjbS5kaXNwbGF5LnZpZXdGcm9tICYmIGxpbmVOIDwgY20uZGlzcGxheS52aWV3VG8pXG4gICAgICB7IHJldHVybiBjbS5kaXNwbGF5LnZpZXdbZmluZFZpZXdJbmRleChjbSwgbGluZU4pXSB9XG4gICAgdmFyIGV4dCA9IGNtLmRpc3BsYXkuZXh0ZXJuYWxNZWFzdXJlZDtcbiAgICBpZiAoZXh0ICYmIGxpbmVOID49IGV4dC5saW5lTiAmJiBsaW5lTiA8IGV4dC5saW5lTiArIGV4dC5zaXplKVxuICAgICAgeyByZXR1cm4gZXh0IH1cbiAgfVxuXG4gIC8vIE1lYXN1cmVtZW50IGNhbiBiZSBzcGxpdCBpbiB0d28gc3RlcHMsIHRoZSBzZXQtdXAgd29yayB0aGF0XG4gIC8vIGFwcGxpZXMgdG8gdGhlIHdob2xlIGxpbmUsIGFuZCB0aGUgbWVhc3VyZW1lbnQgb2YgdGhlIGFjdHVhbFxuICAvLyBjaGFyYWN0ZXIuIEZ1bmN0aW9ucyBsaWtlIGNvb3Jkc0NoYXIsIHRoYXQgbmVlZCB0byBkbyBhIGxvdCBvZlxuICAvLyBtZWFzdXJlbWVudHMgaW4gYSByb3csIGNhbiB0aHVzIGVuc3VyZSB0aGF0IHRoZSBzZXQtdXAgd29yayBpc1xuICAvLyBvbmx5IGRvbmUgb25jZS5cbiAgZnVuY3Rpb24gcHJlcGFyZU1lYXN1cmVGb3JMaW5lKGNtLCBsaW5lKSB7XG4gICAgdmFyIGxpbmVOID0gbGluZU5vKGxpbmUpO1xuICAgIHZhciB2aWV3ID0gZmluZFZpZXdGb3JMaW5lKGNtLCBsaW5lTik7XG4gICAgaWYgKHZpZXcgJiYgIXZpZXcudGV4dCkge1xuICAgICAgdmlldyA9IG51bGw7XG4gICAgfSBlbHNlIGlmICh2aWV3ICYmIHZpZXcuY2hhbmdlcykge1xuICAgICAgdXBkYXRlTGluZUZvckNoYW5nZXMoY20sIHZpZXcsIGxpbmVOLCBnZXREaW1lbnNpb25zKGNtKSk7XG4gICAgICBjbS5jdXJPcC5mb3JjZVVwZGF0ZSA9IHRydWU7XG4gICAgfVxuICAgIGlmICghdmlldylcbiAgICAgIHsgdmlldyA9IHVwZGF0ZUV4dGVybmFsTWVhc3VyZW1lbnQoY20sIGxpbmUpOyB9XG5cbiAgICB2YXIgaW5mbyA9IG1hcEZyb21MaW5lVmlldyh2aWV3LCBsaW5lLCBsaW5lTik7XG4gICAgcmV0dXJuIHtcbiAgICAgIGxpbmU6IGxpbmUsIHZpZXc6IHZpZXcsIHJlY3Q6IG51bGwsXG4gICAgICBtYXA6IGluZm8ubWFwLCBjYWNoZTogaW5mby5jYWNoZSwgYmVmb3JlOiBpbmZvLmJlZm9yZSxcbiAgICAgIGhhc0hlaWdodHM6IGZhbHNlXG4gICAgfVxuICB9XG5cbiAgLy8gR2l2ZW4gYSBwcmVwYXJlZCBtZWFzdXJlbWVudCBvYmplY3QsIG1lYXN1cmVzIHRoZSBwb3NpdGlvbiBvZiBhblxuICAvLyBhY3R1YWwgY2hhcmFjdGVyIChvciBmZXRjaGVzIGl0IGZyb20gdGhlIGNhY2hlKS5cbiAgZnVuY3Rpb24gbWVhc3VyZUNoYXJQcmVwYXJlZChjbSwgcHJlcGFyZWQsIGNoLCBiaWFzLCB2YXJIZWlnaHQpIHtcbiAgICBpZiAocHJlcGFyZWQuYmVmb3JlKSB7IGNoID0gLTE7IH1cbiAgICB2YXIga2V5ID0gY2ggKyAoYmlhcyB8fCBcIlwiKSwgZm91bmQ7XG4gICAgaWYgKHByZXBhcmVkLmNhY2hlLmhhc093blByb3BlcnR5KGtleSkpIHtcbiAgICAgIGZvdW5kID0gcHJlcGFyZWQuY2FjaGVba2V5XTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKCFwcmVwYXJlZC5yZWN0KVxuICAgICAgICB7IHByZXBhcmVkLnJlY3QgPSBwcmVwYXJlZC52aWV3LnRleHQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7IH1cbiAgICAgIGlmICghcHJlcGFyZWQuaGFzSGVpZ2h0cykge1xuICAgICAgICBlbnN1cmVMaW5lSGVpZ2h0cyhjbSwgcHJlcGFyZWQudmlldywgcHJlcGFyZWQucmVjdCk7XG4gICAgICAgIHByZXBhcmVkLmhhc0hlaWdodHMgPSB0cnVlO1xuICAgICAgfVxuICAgICAgZm91bmQgPSBtZWFzdXJlQ2hhcklubmVyKGNtLCBwcmVwYXJlZCwgY2gsIGJpYXMpO1xuICAgICAgaWYgKCFmb3VuZC5ib2d1cykgeyBwcmVwYXJlZC5jYWNoZVtrZXldID0gZm91bmQ7IH1cbiAgICB9XG4gICAgcmV0dXJuIHtsZWZ0OiBmb3VuZC5sZWZ0LCByaWdodDogZm91bmQucmlnaHQsXG4gICAgICAgICAgICB0b3A6IHZhckhlaWdodCA/IGZvdW5kLnJ0b3AgOiBmb3VuZC50b3AsXG4gICAgICAgICAgICBib3R0b206IHZhckhlaWdodCA/IGZvdW5kLnJib3R0b20gOiBmb3VuZC5ib3R0b219XG4gIH1cblxuICB2YXIgbnVsbFJlY3QgPSB7bGVmdDogMCwgcmlnaHQ6IDAsIHRvcDogMCwgYm90dG9tOiAwfTtcblxuICBmdW5jdGlvbiBub2RlQW5kT2Zmc2V0SW5MaW5lTWFwKG1hcCQkMSwgY2gsIGJpYXMpIHtcbiAgICB2YXIgbm9kZSwgc3RhcnQsIGVuZCwgY29sbGFwc2UsIG1TdGFydCwgbUVuZDtcbiAgICAvLyBGaXJzdCwgc2VhcmNoIHRoZSBsaW5lIG1hcCBmb3IgdGhlIHRleHQgbm9kZSBjb3JyZXNwb25kaW5nIHRvLFxuICAgIC8vIG9yIGNsb3Nlc3QgdG8sIHRoZSB0YXJnZXQgY2hhcmFjdGVyLlxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbWFwJCQxLmxlbmd0aDsgaSArPSAzKSB7XG4gICAgICBtU3RhcnQgPSBtYXAkJDFbaV07XG4gICAgICBtRW5kID0gbWFwJCQxW2kgKyAxXTtcbiAgICAgIGlmIChjaCA8IG1TdGFydCkge1xuICAgICAgICBzdGFydCA9IDA7IGVuZCA9IDE7XG4gICAgICAgIGNvbGxhcHNlID0gXCJsZWZ0XCI7XG4gICAgICB9IGVsc2UgaWYgKGNoIDwgbUVuZCkge1xuICAgICAgICBzdGFydCA9IGNoIC0gbVN0YXJ0O1xuICAgICAgICBlbmQgPSBzdGFydCArIDE7XG4gICAgICB9IGVsc2UgaWYgKGkgPT0gbWFwJCQxLmxlbmd0aCAtIDMgfHwgY2ggPT0gbUVuZCAmJiBtYXAkJDFbaSArIDNdID4gY2gpIHtcbiAgICAgICAgZW5kID0gbUVuZCAtIG1TdGFydDtcbiAgICAgICAgc3RhcnQgPSBlbmQgLSAxO1xuICAgICAgICBpZiAoY2ggPj0gbUVuZCkgeyBjb2xsYXBzZSA9IFwicmlnaHRcIjsgfVxuICAgICAgfVxuICAgICAgaWYgKHN0YXJ0ICE9IG51bGwpIHtcbiAgICAgICAgbm9kZSA9IG1hcCQkMVtpICsgMl07XG4gICAgICAgIGlmIChtU3RhcnQgPT0gbUVuZCAmJiBiaWFzID09IChub2RlLmluc2VydExlZnQgPyBcImxlZnRcIiA6IFwicmlnaHRcIikpXG4gICAgICAgICAgeyBjb2xsYXBzZSA9IGJpYXM7IH1cbiAgICAgICAgaWYgKGJpYXMgPT0gXCJsZWZ0XCIgJiYgc3RhcnQgPT0gMClcbiAgICAgICAgICB7IHdoaWxlIChpICYmIG1hcCQkMVtpIC0gMl0gPT0gbWFwJCQxW2kgLSAzXSAmJiBtYXAkJDFbaSAtIDFdLmluc2VydExlZnQpIHtcbiAgICAgICAgICAgIG5vZGUgPSBtYXAkJDFbKGkgLT0gMykgKyAyXTtcbiAgICAgICAgICAgIGNvbGxhcHNlID0gXCJsZWZ0XCI7XG4gICAgICAgICAgfSB9XG4gICAgICAgIGlmIChiaWFzID09IFwicmlnaHRcIiAmJiBzdGFydCA9PSBtRW5kIC0gbVN0YXJ0KVxuICAgICAgICAgIHsgd2hpbGUgKGkgPCBtYXAkJDEubGVuZ3RoIC0gMyAmJiBtYXAkJDFbaSArIDNdID09IG1hcCQkMVtpICsgNF0gJiYgIW1hcCQkMVtpICsgNV0uaW5zZXJ0TGVmdCkge1xuICAgICAgICAgICAgbm9kZSA9IG1hcCQkMVsoaSArPSAzKSArIDJdO1xuICAgICAgICAgICAgY29sbGFwc2UgPSBcInJpZ2h0XCI7XG4gICAgICAgICAgfSB9XG4gICAgICAgIGJyZWFrXG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB7bm9kZTogbm9kZSwgc3RhcnQ6IHN0YXJ0LCBlbmQ6IGVuZCwgY29sbGFwc2U6IGNvbGxhcHNlLCBjb3ZlclN0YXJ0OiBtU3RhcnQsIGNvdmVyRW5kOiBtRW5kfVxuICB9XG5cbiAgZnVuY3Rpb24gZ2V0VXNlZnVsUmVjdChyZWN0cywgYmlhcykge1xuICAgIHZhciByZWN0ID0gbnVsbFJlY3Q7XG4gICAgaWYgKGJpYXMgPT0gXCJsZWZ0XCIpIHsgZm9yICh2YXIgaSA9IDA7IGkgPCByZWN0cy5sZW5ndGg7IGkrKykge1xuICAgICAgaWYgKChyZWN0ID0gcmVjdHNbaV0pLmxlZnQgIT0gcmVjdC5yaWdodCkgeyBicmVhayB9XG4gICAgfSB9IGVsc2UgeyBmb3IgKHZhciBpJDEgPSByZWN0cy5sZW5ndGggLSAxOyBpJDEgPj0gMDsgaSQxLS0pIHtcbiAgICAgIGlmICgocmVjdCA9IHJlY3RzW2kkMV0pLmxlZnQgIT0gcmVjdC5yaWdodCkgeyBicmVhayB9XG4gICAgfSB9XG4gICAgcmV0dXJuIHJlY3RcbiAgfVxuXG4gIGZ1bmN0aW9uIG1lYXN1cmVDaGFySW5uZXIoY20sIHByZXBhcmVkLCBjaCwgYmlhcykge1xuICAgIHZhciBwbGFjZSA9IG5vZGVBbmRPZmZzZXRJbkxpbmVNYXAocHJlcGFyZWQubWFwLCBjaCwgYmlhcyk7XG4gICAgdmFyIG5vZGUgPSBwbGFjZS5ub2RlLCBzdGFydCA9IHBsYWNlLnN0YXJ0LCBlbmQgPSBwbGFjZS5lbmQsIGNvbGxhcHNlID0gcGxhY2UuY29sbGFwc2U7XG5cbiAgICB2YXIgcmVjdDtcbiAgICBpZiAobm9kZS5ub2RlVHlwZSA9PSAzKSB7IC8vIElmIGl0IGlzIGEgdGV4dCBub2RlLCB1c2UgYSByYW5nZSB0byByZXRyaWV2ZSB0aGUgY29vcmRpbmF0ZXMuXG4gICAgICBmb3IgKHZhciBpJDEgPSAwOyBpJDEgPCA0OyBpJDErKykgeyAvLyBSZXRyeSBhIG1heGltdW0gb2YgNCB0aW1lcyB3aGVuIG5vbnNlbnNlIHJlY3RhbmdsZXMgYXJlIHJldHVybmVkXG4gICAgICAgIHdoaWxlIChzdGFydCAmJiBpc0V4dGVuZGluZ0NoYXIocHJlcGFyZWQubGluZS50ZXh0LmNoYXJBdChwbGFjZS5jb3ZlclN0YXJ0ICsgc3RhcnQpKSkgeyAtLXN0YXJ0OyB9XG4gICAgICAgIHdoaWxlIChwbGFjZS5jb3ZlclN0YXJ0ICsgZW5kIDwgcGxhY2UuY292ZXJFbmQgJiYgaXNFeHRlbmRpbmdDaGFyKHByZXBhcmVkLmxpbmUudGV4dC5jaGFyQXQocGxhY2UuY292ZXJTdGFydCArIGVuZCkpKSB7ICsrZW5kOyB9XG4gICAgICAgIGlmIChpZSAmJiBpZV92ZXJzaW9uIDwgOSAmJiBzdGFydCA9PSAwICYmIGVuZCA9PSBwbGFjZS5jb3ZlckVuZCAtIHBsYWNlLmNvdmVyU3RhcnQpXG4gICAgICAgICAgeyByZWN0ID0gbm9kZS5wYXJlbnROb2RlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOyB9XG4gICAgICAgIGVsc2VcbiAgICAgICAgICB7IHJlY3QgPSBnZXRVc2VmdWxSZWN0KHJhbmdlKG5vZGUsIHN0YXJ0LCBlbmQpLmdldENsaWVudFJlY3RzKCksIGJpYXMpOyB9XG4gICAgICAgIGlmIChyZWN0LmxlZnQgfHwgcmVjdC5yaWdodCB8fCBzdGFydCA9PSAwKSB7IGJyZWFrIH1cbiAgICAgICAgZW5kID0gc3RhcnQ7XG4gICAgICAgIHN0YXJ0ID0gc3RhcnQgLSAxO1xuICAgICAgICBjb2xsYXBzZSA9IFwicmlnaHRcIjtcbiAgICAgIH1cbiAgICAgIGlmIChpZSAmJiBpZV92ZXJzaW9uIDwgMTEpIHsgcmVjdCA9IG1heWJlVXBkYXRlUmVjdEZvclpvb21pbmcoY20uZGlzcGxheS5tZWFzdXJlLCByZWN0KTsgfVxuICAgIH0gZWxzZSB7IC8vIElmIGl0IGlzIGEgd2lkZ2V0LCBzaW1wbHkgZ2V0IHRoZSBib3ggZm9yIHRoZSB3aG9sZSB3aWRnZXQuXG4gICAgICBpZiAoc3RhcnQgPiAwKSB7IGNvbGxhcHNlID0gYmlhcyA9IFwicmlnaHRcIjsgfVxuICAgICAgdmFyIHJlY3RzO1xuICAgICAgaWYgKGNtLm9wdGlvbnMubGluZVdyYXBwaW5nICYmIChyZWN0cyA9IG5vZGUuZ2V0Q2xpZW50UmVjdHMoKSkubGVuZ3RoID4gMSlcbiAgICAgICAgeyByZWN0ID0gcmVjdHNbYmlhcyA9PSBcInJpZ2h0XCIgPyByZWN0cy5sZW5ndGggLSAxIDogMF07IH1cbiAgICAgIGVsc2VcbiAgICAgICAgeyByZWN0ID0gbm9kZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsgfVxuICAgIH1cbiAgICBpZiAoaWUgJiYgaWVfdmVyc2lvbiA8IDkgJiYgIXN0YXJ0ICYmICghcmVjdCB8fCAhcmVjdC5sZWZ0ICYmICFyZWN0LnJpZ2h0KSkge1xuICAgICAgdmFyIHJTcGFuID0gbm9kZS5wYXJlbnROb2RlLmdldENsaWVudFJlY3RzKClbMF07XG4gICAgICBpZiAoclNwYW4pXG4gICAgICAgIHsgcmVjdCA9IHtsZWZ0OiByU3Bhbi5sZWZ0LCByaWdodDogclNwYW4ubGVmdCArIGNoYXJXaWR0aChjbS5kaXNwbGF5KSwgdG9wOiByU3Bhbi50b3AsIGJvdHRvbTogclNwYW4uYm90dG9tfTsgfVxuICAgICAgZWxzZVxuICAgICAgICB7IHJlY3QgPSBudWxsUmVjdDsgfVxuICAgIH1cblxuICAgIHZhciBydG9wID0gcmVjdC50b3AgLSBwcmVwYXJlZC5yZWN0LnRvcCwgcmJvdCA9IHJlY3QuYm90dG9tIC0gcHJlcGFyZWQucmVjdC50b3A7XG4gICAgdmFyIG1pZCA9IChydG9wICsgcmJvdCkgLyAyO1xuICAgIHZhciBoZWlnaHRzID0gcHJlcGFyZWQudmlldy5tZWFzdXJlLmhlaWdodHM7XG4gICAgdmFyIGkgPSAwO1xuICAgIGZvciAoOyBpIDwgaGVpZ2h0cy5sZW5ndGggLSAxOyBpKyspXG4gICAgICB7IGlmIChtaWQgPCBoZWlnaHRzW2ldKSB7IGJyZWFrIH0gfVxuICAgIHZhciB0b3AgPSBpID8gaGVpZ2h0c1tpIC0gMV0gOiAwLCBib3QgPSBoZWlnaHRzW2ldO1xuICAgIHZhciByZXN1bHQgPSB7bGVmdDogKGNvbGxhcHNlID09IFwicmlnaHRcIiA/IHJlY3QucmlnaHQgOiByZWN0LmxlZnQpIC0gcHJlcGFyZWQucmVjdC5sZWZ0LFxuICAgICAgICAgICAgICAgICAgcmlnaHQ6IChjb2xsYXBzZSA9PSBcImxlZnRcIiA/IHJlY3QubGVmdCA6IHJlY3QucmlnaHQpIC0gcHJlcGFyZWQucmVjdC5sZWZ0LFxuICAgICAgICAgICAgICAgICAgdG9wOiB0b3AsIGJvdHRvbTogYm90fTtcbiAgICBpZiAoIXJlY3QubGVmdCAmJiAhcmVjdC5yaWdodCkgeyByZXN1bHQuYm9ndXMgPSB0cnVlOyB9XG4gICAgaWYgKCFjbS5vcHRpb25zLnNpbmdsZUN1cnNvckhlaWdodFBlckxpbmUpIHsgcmVzdWx0LnJ0b3AgPSBydG9wOyByZXN1bHQucmJvdHRvbSA9IHJib3Q7IH1cblxuICAgIHJldHVybiByZXN1bHRcbiAgfVxuXG4gIC8vIFdvcmsgYXJvdW5kIHByb2JsZW0gd2l0aCBib3VuZGluZyBjbGllbnQgcmVjdHMgb24gcmFuZ2VzIGJlaW5nXG4gIC8vIHJldHVybmVkIGluY29ycmVjdGx5IHdoZW4gem9vbWVkIG9uIElFMTAgYW5kIGJlbG93LlxuICBmdW5jdGlvbiBtYXliZVVwZGF0ZVJlY3RGb3Jab29taW5nKG1lYXN1cmUsIHJlY3QpIHtcbiAgICBpZiAoIXdpbmRvdy5zY3JlZW4gfHwgc2NyZWVuLmxvZ2ljYWxYRFBJID09IG51bGwgfHxcbiAgICAgICAgc2NyZWVuLmxvZ2ljYWxYRFBJID09IHNjcmVlbi5kZXZpY2VYRFBJIHx8ICFoYXNCYWRab29tZWRSZWN0cyhtZWFzdXJlKSlcbiAgICAgIHsgcmV0dXJuIHJlY3QgfVxuICAgIHZhciBzY2FsZVggPSBzY3JlZW4ubG9naWNhbFhEUEkgLyBzY3JlZW4uZGV2aWNlWERQSTtcbiAgICB2YXIgc2NhbGVZID0gc2NyZWVuLmxvZ2ljYWxZRFBJIC8gc2NyZWVuLmRldmljZVlEUEk7XG4gICAgcmV0dXJuIHtsZWZ0OiByZWN0LmxlZnQgKiBzY2FsZVgsIHJpZ2h0OiByZWN0LnJpZ2h0ICogc2NhbGVYLFxuICAgICAgICAgICAgdG9wOiByZWN0LnRvcCAqIHNjYWxlWSwgYm90dG9tOiByZWN0LmJvdHRvbSAqIHNjYWxlWX1cbiAgfVxuXG4gIGZ1bmN0aW9uIGNsZWFyTGluZU1lYXN1cmVtZW50Q2FjaGVGb3IobGluZVZpZXcpIHtcbiAgICBpZiAobGluZVZpZXcubWVhc3VyZSkge1xuICAgICAgbGluZVZpZXcubWVhc3VyZS5jYWNoZSA9IHt9O1xuICAgICAgbGluZVZpZXcubWVhc3VyZS5oZWlnaHRzID0gbnVsbDtcbiAgICAgIGlmIChsaW5lVmlldy5yZXN0KSB7IGZvciAodmFyIGkgPSAwOyBpIDwgbGluZVZpZXcucmVzdC5sZW5ndGg7IGkrKylcbiAgICAgICAgeyBsaW5lVmlldy5tZWFzdXJlLmNhY2hlc1tpXSA9IHt9OyB9IH1cbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBjbGVhckxpbmVNZWFzdXJlbWVudENhY2hlKGNtKSB7XG4gICAgY20uZGlzcGxheS5leHRlcm5hbE1lYXN1cmUgPSBudWxsO1xuICAgIHJlbW92ZUNoaWxkcmVuKGNtLmRpc3BsYXkubGluZU1lYXN1cmUpO1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgY20uZGlzcGxheS52aWV3Lmxlbmd0aDsgaSsrKVxuICAgICAgeyBjbGVhckxpbmVNZWFzdXJlbWVudENhY2hlRm9yKGNtLmRpc3BsYXkudmlld1tpXSk7IH1cbiAgfVxuXG4gIGZ1bmN0aW9uIGNsZWFyQ2FjaGVzKGNtKSB7XG4gICAgY2xlYXJMaW5lTWVhc3VyZW1lbnRDYWNoZShjbSk7XG4gICAgY20uZGlzcGxheS5jYWNoZWRDaGFyV2lkdGggPSBjbS5kaXNwbGF5LmNhY2hlZFRleHRIZWlnaHQgPSBjbS5kaXNwbGF5LmNhY2hlZFBhZGRpbmdIID0gbnVsbDtcbiAgICBpZiAoIWNtLm9wdGlvbnMubGluZVdyYXBwaW5nKSB7IGNtLmRpc3BsYXkubWF4TGluZUNoYW5nZWQgPSB0cnVlOyB9XG4gICAgY20uZGlzcGxheS5saW5lTnVtQ2hhcnMgPSBudWxsO1xuICB9XG5cbiAgZnVuY3Rpb24gcGFnZVNjcm9sbFgoKSB7XG4gICAgLy8gV29yayBhcm91bmQgaHR0cHM6Ly9idWdzLmNocm9taXVtLm9yZy9wL2Nocm9taXVtL2lzc3Vlcy9kZXRhaWw/aWQ9NDg5MjA2XG4gICAgLy8gd2hpY2ggY2F1c2VzIHBhZ2VfT2Zmc2V0IGFuZCBib3VuZGluZyBjbGllbnQgcmVjdHMgdG8gdXNlXG4gICAgLy8gZGlmZmVyZW50IHJlZmVyZW5jZSB2aWV3cG9ydHMgYW5kIGludmFsaWRhdGUgb3VyIGNhbGN1bGF0aW9ucy5cbiAgICBpZiAoY2hyb21lICYmIGFuZHJvaWQpIHsgcmV0dXJuIC0oZG9jdW1lbnQuYm9keS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5sZWZ0IC0gcGFyc2VJbnQoZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5ib2R5KS5tYXJnaW5MZWZ0KSkgfVxuICAgIHJldHVybiB3aW5kb3cucGFnZVhPZmZzZXQgfHwgKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCB8fCBkb2N1bWVudC5ib2R5KS5zY3JvbGxMZWZ0XG4gIH1cbiAgZnVuY3Rpb24gcGFnZVNjcm9sbFkoKSB7XG4gICAgaWYgKGNocm9tZSAmJiBhbmRyb2lkKSB7IHJldHVybiAtKGRvY3VtZW50LmJvZHkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wIC0gcGFyc2VJbnQoZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5ib2R5KS5tYXJnaW5Ub3ApKSB9XG4gICAgcmV0dXJuIHdpbmRvdy5wYWdlWU9mZnNldCB8fCAoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50IHx8IGRvY3VtZW50LmJvZHkpLnNjcm9sbFRvcFxuICB9XG5cbiAgZnVuY3Rpb24gd2lkZ2V0VG9wSGVpZ2h0KGxpbmVPYmopIHtcbiAgICB2YXIgaGVpZ2h0ID0gMDtcbiAgICBpZiAobGluZU9iai53aWRnZXRzKSB7IGZvciAodmFyIGkgPSAwOyBpIDwgbGluZU9iai53aWRnZXRzLmxlbmd0aDsgKytpKSB7IGlmIChsaW5lT2JqLndpZGdldHNbaV0uYWJvdmUpXG4gICAgICB7IGhlaWdodCArPSB3aWRnZXRIZWlnaHQobGluZU9iai53aWRnZXRzW2ldKTsgfSB9IH1cbiAgICByZXR1cm4gaGVpZ2h0XG4gIH1cblxuICAvLyBDb252ZXJ0cyBhIHt0b3AsIGJvdHRvbSwgbGVmdCwgcmlnaHR9IGJveCBmcm9tIGxpbmUtbG9jYWxcbiAgLy8gY29vcmRpbmF0ZXMgaW50byBhbm90aGVyIGNvb3JkaW5hdGUgc3lzdGVtLiBDb250ZXh0IG1heSBiZSBvbmUgb2ZcbiAgLy8gXCJsaW5lXCIsIFwiZGl2XCIgKGRpc3BsYXkubGluZURpdiksIFwibG9jYWxcIi4vbnVsbCAoZWRpdG9yKSwgXCJ3aW5kb3dcIixcbiAgLy8gb3IgXCJwYWdlXCIuXG4gIGZ1bmN0aW9uIGludG9Db29yZFN5c3RlbShjbSwgbGluZU9iaiwgcmVjdCwgY29udGV4dCwgaW5jbHVkZVdpZGdldHMpIHtcbiAgICBpZiAoIWluY2x1ZGVXaWRnZXRzKSB7XG4gICAgICB2YXIgaGVpZ2h0ID0gd2lkZ2V0VG9wSGVpZ2h0KGxpbmVPYmopO1xuICAgICAgcmVjdC50b3AgKz0gaGVpZ2h0OyByZWN0LmJvdHRvbSArPSBoZWlnaHQ7XG4gICAgfVxuICAgIGlmIChjb250ZXh0ID09IFwibGluZVwiKSB7IHJldHVybiByZWN0IH1cbiAgICBpZiAoIWNvbnRleHQpIHsgY29udGV4dCA9IFwibG9jYWxcIjsgfVxuICAgIHZhciB5T2ZmID0gaGVpZ2h0QXRMaW5lKGxpbmVPYmopO1xuICAgIGlmIChjb250ZXh0ID09IFwibG9jYWxcIikgeyB5T2ZmICs9IHBhZGRpbmdUb3AoY20uZGlzcGxheSk7IH1cbiAgICBlbHNlIHsgeU9mZiAtPSBjbS5kaXNwbGF5LnZpZXdPZmZzZXQ7IH1cbiAgICBpZiAoY29udGV4dCA9PSBcInBhZ2VcIiB8fCBjb250ZXh0ID09IFwid2luZG93XCIpIHtcbiAgICAgIHZhciBsT2ZmID0gY20uZGlzcGxheS5saW5lU3BhY2UuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICB5T2ZmICs9IGxPZmYudG9wICsgKGNvbnRleHQgPT0gXCJ3aW5kb3dcIiA/IDAgOiBwYWdlU2Nyb2xsWSgpKTtcbiAgICAgIHZhciB4T2ZmID0gbE9mZi5sZWZ0ICsgKGNvbnRleHQgPT0gXCJ3aW5kb3dcIiA/IDAgOiBwYWdlU2Nyb2xsWCgpKTtcbiAgICAgIHJlY3QubGVmdCArPSB4T2ZmOyByZWN0LnJpZ2h0ICs9IHhPZmY7XG4gICAgfVxuICAgIHJlY3QudG9wICs9IHlPZmY7IHJlY3QuYm90dG9tICs9IHlPZmY7XG4gICAgcmV0dXJuIHJlY3RcbiAgfVxuXG4gIC8vIENvdmVydHMgYSBib3ggZnJvbSBcImRpdlwiIGNvb3JkcyB0byBhbm90aGVyIGNvb3JkaW5hdGUgc3lzdGVtLlxuICAvLyBDb250ZXh0IG1heSBiZSBcIndpbmRvd1wiLCBcInBhZ2VcIiwgXCJkaXZcIiwgb3IgXCJsb2NhbFwiLi9udWxsLlxuICBmdW5jdGlvbiBmcm9tQ29vcmRTeXN0ZW0oY20sIGNvb3JkcywgY29udGV4dCkge1xuICAgIGlmIChjb250ZXh0ID09IFwiZGl2XCIpIHsgcmV0dXJuIGNvb3JkcyB9XG4gICAgdmFyIGxlZnQgPSBjb29yZHMubGVmdCwgdG9wID0gY29vcmRzLnRvcDtcbiAgICAvLyBGaXJzdCBtb3ZlIGludG8gXCJwYWdlXCIgY29vcmRpbmF0ZSBzeXN0ZW1cbiAgICBpZiAoY29udGV4dCA9PSBcInBhZ2VcIikge1xuICAgICAgbGVmdCAtPSBwYWdlU2Nyb2xsWCgpO1xuICAgICAgdG9wIC09IHBhZ2VTY3JvbGxZKCk7XG4gICAgfSBlbHNlIGlmIChjb250ZXh0ID09IFwibG9jYWxcIiB8fCAhY29udGV4dCkge1xuICAgICAgdmFyIGxvY2FsQm94ID0gY20uZGlzcGxheS5zaXplci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgIGxlZnQgKz0gbG9jYWxCb3gubGVmdDtcbiAgICAgIHRvcCArPSBsb2NhbEJveC50b3A7XG4gICAgfVxuXG4gICAgdmFyIGxpbmVTcGFjZUJveCA9IGNtLmRpc3BsYXkubGluZVNwYWNlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIHJldHVybiB7bGVmdDogbGVmdCAtIGxpbmVTcGFjZUJveC5sZWZ0LCB0b3A6IHRvcCAtIGxpbmVTcGFjZUJveC50b3B9XG4gIH1cblxuICBmdW5jdGlvbiBjaGFyQ29vcmRzKGNtLCBwb3MsIGNvbnRleHQsIGxpbmVPYmosIGJpYXMpIHtcbiAgICBpZiAoIWxpbmVPYmopIHsgbGluZU9iaiA9IGdldExpbmUoY20uZG9jLCBwb3MubGluZSk7IH1cbiAgICByZXR1cm4gaW50b0Nvb3JkU3lzdGVtKGNtLCBsaW5lT2JqLCBtZWFzdXJlQ2hhcihjbSwgbGluZU9iaiwgcG9zLmNoLCBiaWFzKSwgY29udGV4dClcbiAgfVxuXG4gIC8vIFJldHVybnMgYSBib3ggZm9yIGEgZ2l2ZW4gY3Vyc29yIHBvc2l0aW9uLCB3aGljaCBtYXkgaGF2ZSBhblxuICAvLyAnb3RoZXInIHByb3BlcnR5IGNvbnRhaW5pbmcgdGhlIHBvc2l0aW9uIG9mIHRoZSBzZWNvbmRhcnkgY3Vyc29yXG4gIC8vIG9uIGEgYmlkaSBib3VuZGFyeS5cbiAgLy8gQSBjdXJzb3IgUG9zKGxpbmUsIGNoYXIsIFwiYmVmb3JlXCIpIGlzIG9uIHRoZSBzYW1lIHZpc3VhbCBsaW5lIGFzIGBjaGFyIC0gMWBcbiAgLy8gYW5kIGFmdGVyIGBjaGFyIC0gMWAgaW4gd3JpdGluZyBvcmRlciBvZiBgY2hhciAtIDFgXG4gIC8vIEEgY3Vyc29yIFBvcyhsaW5lLCBjaGFyLCBcImFmdGVyXCIpIGlzIG9uIHRoZSBzYW1lIHZpc3VhbCBsaW5lIGFzIGBjaGFyYFxuICAvLyBhbmQgYmVmb3JlIGBjaGFyYCBpbiB3cml0aW5nIG9yZGVyIG9mIGBjaGFyYFxuICAvLyBFeGFtcGxlcyAodXBwZXItY2FzZSBsZXR0ZXJzIGFyZSBSVEwsIGxvd2VyLWNhc2UgYXJlIExUUik6XG4gIC8vICAgICBQb3MoMCwgMSwgLi4uKVxuICAvLyAgICAgYmVmb3JlICAgYWZ0ZXJcbiAgLy8gYWIgICAgIGF8YiAgICAgYXxiXG4gIC8vIGFCICAgICBhfEIgICAgIGFCfFxuICAvLyBBYiAgICAgfEFiICAgICBBfGJcbiAgLy8gQUIgICAgIEJ8QSAgICAgQnxBXG4gIC8vIEV2ZXJ5IHBvc2l0aW9uIGFmdGVyIHRoZSBsYXN0IGNoYXJhY3RlciBvbiBhIGxpbmUgaXMgY29uc2lkZXJlZCB0byBzdGlja1xuICAvLyB0byB0aGUgbGFzdCBjaGFyYWN0ZXIgb24gdGhlIGxpbmUuXG4gIGZ1bmN0aW9uIGN1cnNvckNvb3JkcyhjbSwgcG9zLCBjb250ZXh0LCBsaW5lT2JqLCBwcmVwYXJlZE1lYXN1cmUsIHZhckhlaWdodCkge1xuICAgIGxpbmVPYmogPSBsaW5lT2JqIHx8IGdldExpbmUoY20uZG9jLCBwb3MubGluZSk7XG4gICAgaWYgKCFwcmVwYXJlZE1lYXN1cmUpIHsgcHJlcGFyZWRNZWFzdXJlID0gcHJlcGFyZU1lYXN1cmVGb3JMaW5lKGNtLCBsaW5lT2JqKTsgfVxuICAgIGZ1bmN0aW9uIGdldChjaCwgcmlnaHQpIHtcbiAgICAgIHZhciBtID0gbWVhc3VyZUNoYXJQcmVwYXJlZChjbSwgcHJlcGFyZWRNZWFzdXJlLCBjaCwgcmlnaHQgPyBcInJpZ2h0XCIgOiBcImxlZnRcIiwgdmFySGVpZ2h0KTtcbiAgICAgIGlmIChyaWdodCkgeyBtLmxlZnQgPSBtLnJpZ2h0OyB9IGVsc2UgeyBtLnJpZ2h0ID0gbS5sZWZ0OyB9XG4gICAgICByZXR1cm4gaW50b0Nvb3JkU3lzdGVtKGNtLCBsaW5lT2JqLCBtLCBjb250ZXh0KVxuICAgIH1cbiAgICB2YXIgb3JkZXIgPSBnZXRPcmRlcihsaW5lT2JqLCBjbS5kb2MuZGlyZWN0aW9uKSwgY2ggPSBwb3MuY2gsIHN0aWNreSA9IHBvcy5zdGlja3k7XG4gICAgaWYgKGNoID49IGxpbmVPYmoudGV4dC5sZW5ndGgpIHtcbiAgICAgIGNoID0gbGluZU9iai50ZXh0Lmxlbmd0aDtcbiAgICAgIHN0aWNreSA9IFwiYmVmb3JlXCI7XG4gICAgfSBlbHNlIGlmIChjaCA8PSAwKSB7XG4gICAgICBjaCA9IDA7XG4gICAgICBzdGlja3kgPSBcImFmdGVyXCI7XG4gICAgfVxuICAgIGlmICghb3JkZXIpIHsgcmV0dXJuIGdldChzdGlja3kgPT0gXCJiZWZvcmVcIiA/IGNoIC0gMSA6IGNoLCBzdGlja3kgPT0gXCJiZWZvcmVcIikgfVxuXG4gICAgZnVuY3Rpb24gZ2V0QmlkaShjaCwgcGFydFBvcywgaW52ZXJ0KSB7XG4gICAgICB2YXIgcGFydCA9IG9yZGVyW3BhcnRQb3NdLCByaWdodCA9IHBhcnQubGV2ZWwgPT0gMTtcbiAgICAgIHJldHVybiBnZXQoaW52ZXJ0ID8gY2ggLSAxIDogY2gsIHJpZ2h0ICE9IGludmVydClcbiAgICB9XG4gICAgdmFyIHBhcnRQb3MgPSBnZXRCaWRpUGFydEF0KG9yZGVyLCBjaCwgc3RpY2t5KTtcbiAgICB2YXIgb3RoZXIgPSBiaWRpT3RoZXI7XG4gICAgdmFyIHZhbCA9IGdldEJpZGkoY2gsIHBhcnRQb3MsIHN0aWNreSA9PSBcImJlZm9yZVwiKTtcbiAgICBpZiAob3RoZXIgIT0gbnVsbCkgeyB2YWwub3RoZXIgPSBnZXRCaWRpKGNoLCBvdGhlciwgc3RpY2t5ICE9IFwiYmVmb3JlXCIpOyB9XG4gICAgcmV0dXJuIHZhbFxuICB9XG5cbiAgLy8gVXNlZCB0byBjaGVhcGx5IGVzdGltYXRlIHRoZSBjb29yZGluYXRlcyBmb3IgYSBwb3NpdGlvbi4gVXNlZCBmb3JcbiAgLy8gaW50ZXJtZWRpYXRlIHNjcm9sbCB1cGRhdGVzLlxuICBmdW5jdGlvbiBlc3RpbWF0ZUNvb3JkcyhjbSwgcG9zKSB7XG4gICAgdmFyIGxlZnQgPSAwO1xuICAgIHBvcyA9IGNsaXBQb3MoY20uZG9jLCBwb3MpO1xuICAgIGlmICghY20ub3B0aW9ucy5saW5lV3JhcHBpbmcpIHsgbGVmdCA9IGNoYXJXaWR0aChjbS5kaXNwbGF5KSAqIHBvcy5jaDsgfVxuICAgIHZhciBsaW5lT2JqID0gZ2V0TGluZShjbS5kb2MsIHBvcy5saW5lKTtcbiAgICB2YXIgdG9wID0gaGVpZ2h0QXRMaW5lKGxpbmVPYmopICsgcGFkZGluZ1RvcChjbS5kaXNwbGF5KTtcbiAgICByZXR1cm4ge2xlZnQ6IGxlZnQsIHJpZ2h0OiBsZWZ0LCB0b3A6IHRvcCwgYm90dG9tOiB0b3AgKyBsaW5lT2JqLmhlaWdodH1cbiAgfVxuXG4gIC8vIFBvc2l0aW9ucyByZXR1cm5lZCBieSBjb29yZHNDaGFyIGNvbnRhaW4gc29tZSBleHRyYSBpbmZvcm1hdGlvbi5cbiAgLy8geFJlbCBpcyB0aGUgcmVsYXRpdmUgeCBwb3NpdGlvbiBvZiB0aGUgaW5wdXQgY29vcmRpbmF0ZXMgY29tcGFyZWRcbiAgLy8gdG8gdGhlIGZvdW5kIHBvc2l0aW9uIChzbyB4UmVsID4gMCBtZWFucyB0aGUgY29vcmRpbmF0ZXMgYXJlIHRvXG4gIC8vIHRoZSByaWdodCBvZiB0aGUgY2hhcmFjdGVyIHBvc2l0aW9uLCBmb3IgZXhhbXBsZSkuIFdoZW4gb3V0c2lkZVxuICAvLyBpcyB0cnVlLCB0aGF0IG1lYW5zIHRoZSBjb29yZGluYXRlcyBsaWUgb3V0c2lkZSB0aGUgbGluZSdzXG4gIC8vIHZlcnRpY2FsIHJhbmdlLlxuICBmdW5jdGlvbiBQb3NXaXRoSW5mbyhsaW5lLCBjaCwgc3RpY2t5LCBvdXRzaWRlLCB4UmVsKSB7XG4gICAgdmFyIHBvcyA9IFBvcyhsaW5lLCBjaCwgc3RpY2t5KTtcbiAgICBwb3MueFJlbCA9IHhSZWw7XG4gICAgaWYgKG91dHNpZGUpIHsgcG9zLm91dHNpZGUgPSBvdXRzaWRlOyB9XG4gICAgcmV0dXJuIHBvc1xuICB9XG5cbiAgLy8gQ29tcHV0ZSB0aGUgY2hhcmFjdGVyIHBvc2l0aW9uIGNsb3Nlc3QgdG8gdGhlIGdpdmVuIGNvb3JkaW5hdGVzLlxuICAvLyBJbnB1dCBtdXN0IGJlIGxpbmVTcGFjZS1sb2NhbCAoXCJkaXZcIiBjb29yZGluYXRlIHN5c3RlbSkuXG4gIGZ1bmN0aW9uIGNvb3Jkc0NoYXIoY20sIHgsIHkpIHtcbiAgICB2YXIgZG9jID0gY20uZG9jO1xuICAgIHkgKz0gY20uZGlzcGxheS52aWV3T2Zmc2V0O1xuICAgIGlmICh5IDwgMCkgeyByZXR1cm4gUG9zV2l0aEluZm8oZG9jLmZpcnN0LCAwLCBudWxsLCAtMSwgLTEpIH1cbiAgICB2YXIgbGluZU4gPSBsaW5lQXRIZWlnaHQoZG9jLCB5KSwgbGFzdCA9IGRvYy5maXJzdCArIGRvYy5zaXplIC0gMTtcbiAgICBpZiAobGluZU4gPiBsYXN0KVxuICAgICAgeyByZXR1cm4gUG9zV2l0aEluZm8oZG9jLmZpcnN0ICsgZG9jLnNpemUgLSAxLCBnZXRMaW5lKGRvYywgbGFzdCkudGV4dC5sZW5ndGgsIG51bGwsIDEsIDEpIH1cbiAgICBpZiAoeCA8IDApIHsgeCA9IDA7IH1cblxuICAgIHZhciBsaW5lT2JqID0gZ2V0TGluZShkb2MsIGxpbmVOKTtcbiAgICBmb3IgKDs7KSB7XG4gICAgICB2YXIgZm91bmQgPSBjb29yZHNDaGFySW5uZXIoY20sIGxpbmVPYmosIGxpbmVOLCB4LCB5KTtcbiAgICAgIHZhciBjb2xsYXBzZWQgPSBjb2xsYXBzZWRTcGFuQXJvdW5kKGxpbmVPYmosIGZvdW5kLmNoICsgKGZvdW5kLnhSZWwgPiAwIHx8IGZvdW5kLm91dHNpZGUgPiAwID8gMSA6IDApKTtcbiAgICAgIGlmICghY29sbGFwc2VkKSB7IHJldHVybiBmb3VuZCB9XG4gICAgICB2YXIgcmFuZ2VFbmQgPSBjb2xsYXBzZWQuZmluZCgxKTtcbiAgICAgIGlmIChyYW5nZUVuZC5saW5lID09IGxpbmVOKSB7IHJldHVybiByYW5nZUVuZCB9XG4gICAgICBsaW5lT2JqID0gZ2V0TGluZShkb2MsIGxpbmVOID0gcmFuZ2VFbmQubGluZSk7XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gd3JhcHBlZExpbmVFeHRlbnQoY20sIGxpbmVPYmosIHByZXBhcmVkTWVhc3VyZSwgeSkge1xuICAgIHkgLT0gd2lkZ2V0VG9wSGVpZ2h0KGxpbmVPYmopO1xuICAgIHZhciBlbmQgPSBsaW5lT2JqLnRleHQubGVuZ3RoO1xuICAgIHZhciBiZWdpbiA9IGZpbmRGaXJzdChmdW5jdGlvbiAoY2gpIHsgcmV0dXJuIG1lYXN1cmVDaGFyUHJlcGFyZWQoY20sIHByZXBhcmVkTWVhc3VyZSwgY2ggLSAxKS5ib3R0b20gPD0geTsgfSwgZW5kLCAwKTtcbiAgICBlbmQgPSBmaW5kRmlyc3QoZnVuY3Rpb24gKGNoKSB7IHJldHVybiBtZWFzdXJlQ2hhclByZXBhcmVkKGNtLCBwcmVwYXJlZE1lYXN1cmUsIGNoKS50b3AgPiB5OyB9LCBiZWdpbiwgZW5kKTtcbiAgICByZXR1cm4ge2JlZ2luOiBiZWdpbiwgZW5kOiBlbmR9XG4gIH1cblxuICBmdW5jdGlvbiB3cmFwcGVkTGluZUV4dGVudENoYXIoY20sIGxpbmVPYmosIHByZXBhcmVkTWVhc3VyZSwgdGFyZ2V0KSB7XG4gICAgaWYgKCFwcmVwYXJlZE1lYXN1cmUpIHsgcHJlcGFyZWRNZWFzdXJlID0gcHJlcGFyZU1lYXN1cmVGb3JMaW5lKGNtLCBsaW5lT2JqKTsgfVxuICAgIHZhciB0YXJnZXRUb3AgPSBpbnRvQ29vcmRTeXN0ZW0oY20sIGxpbmVPYmosIG1lYXN1cmVDaGFyUHJlcGFyZWQoY20sIHByZXBhcmVkTWVhc3VyZSwgdGFyZ2V0KSwgXCJsaW5lXCIpLnRvcDtcbiAgICByZXR1cm4gd3JhcHBlZExpbmVFeHRlbnQoY20sIGxpbmVPYmosIHByZXBhcmVkTWVhc3VyZSwgdGFyZ2V0VG9wKVxuICB9XG5cbiAgLy8gUmV0dXJucyB0cnVlIGlmIHRoZSBnaXZlbiBzaWRlIG9mIGEgYm94IGlzIGFmdGVyIHRoZSBnaXZlblxuICAvLyBjb29yZGluYXRlcywgaW4gdG9wLXRvLWJvdHRvbSwgbGVmdC10by1yaWdodCBvcmRlci5cbiAgZnVuY3Rpb24gYm94SXNBZnRlcihib3gsIHgsIHksIGxlZnQpIHtcbiAgICByZXR1cm4gYm94LmJvdHRvbSA8PSB5ID8gZmFsc2UgOiBib3gudG9wID4geSA/IHRydWUgOiAobGVmdCA/IGJveC5sZWZ0IDogYm94LnJpZ2h0KSA+IHhcbiAgfVxuXG4gIGZ1bmN0aW9uIGNvb3Jkc0NoYXJJbm5lcihjbSwgbGluZU9iaiwgbGluZU5vJCQxLCB4LCB5KSB7XG4gICAgLy8gTW92ZSB5IGludG8gbGluZS1sb2NhbCBjb29yZGluYXRlIHNwYWNlXG4gICAgeSAtPSBoZWlnaHRBdExpbmUobGluZU9iaik7XG4gICAgdmFyIHByZXBhcmVkTWVhc3VyZSA9IHByZXBhcmVNZWFzdXJlRm9yTGluZShjbSwgbGluZU9iaik7XG4gICAgLy8gV2hlbiBkaXJlY3RseSBjYWxsaW5nIGBtZWFzdXJlQ2hhclByZXBhcmVkYCwgd2UgaGF2ZSB0byBhZGp1c3RcbiAgICAvLyBmb3IgdGhlIHdpZGdldHMgYXQgdGhpcyBsaW5lLlxuICAgIHZhciB3aWRnZXRIZWlnaHQkJDEgPSB3aWRnZXRUb3BIZWlnaHQobGluZU9iaik7XG4gICAgdmFyIGJlZ2luID0gMCwgZW5kID0gbGluZU9iai50ZXh0Lmxlbmd0aCwgbHRyID0gdHJ1ZTtcblxuICAgIHZhciBvcmRlciA9IGdldE9yZGVyKGxpbmVPYmosIGNtLmRvYy5kaXJlY3Rpb24pO1xuICAgIC8vIElmIHRoZSBsaW5lIGlzbid0IHBsYWluIGxlZnQtdG8tcmlnaHQgdGV4dCwgZmlyc3QgZmlndXJlIG91dFxuICAgIC8vIHdoaWNoIGJpZGkgc2VjdGlvbiB0aGUgY29vcmRpbmF0ZXMgZmFsbCBpbnRvLlxuICAgIGlmIChvcmRlcikge1xuICAgICAgdmFyIHBhcnQgPSAoY20ub3B0aW9ucy5saW5lV3JhcHBpbmcgPyBjb29yZHNCaWRpUGFydFdyYXBwZWQgOiBjb29yZHNCaWRpUGFydClcbiAgICAgICAgICAgICAgICAgICAoY20sIGxpbmVPYmosIGxpbmVObyQkMSwgcHJlcGFyZWRNZWFzdXJlLCBvcmRlciwgeCwgeSk7XG4gICAgICBsdHIgPSBwYXJ0LmxldmVsICE9IDE7XG4gICAgICAvLyBUaGUgYXdrd2FyZCAtMSBvZmZzZXRzIGFyZSBuZWVkZWQgYmVjYXVzZSBmaW5kRmlyc3QgKGNhbGxlZFxuICAgICAgLy8gb24gdGhlc2UgYmVsb3cpIHdpbGwgdHJlYXQgaXRzIGZpcnN0IGJvdW5kIGFzIGluY2x1c2l2ZSxcbiAgICAgIC8vIHNlY29uZCBhcyBleGNsdXNpdmUsIGJ1dCB3ZSB3YW50IHRvIGFjdHVhbGx5IGFkZHJlc3MgdGhlXG4gICAgICAvLyBjaGFyYWN0ZXJzIGluIHRoZSBwYXJ0J3MgcmFuZ2VcbiAgICAgIGJlZ2luID0gbHRyID8gcGFydC5mcm9tIDogcGFydC50byAtIDE7XG4gICAgICBlbmQgPSBsdHIgPyBwYXJ0LnRvIDogcGFydC5mcm9tIC0gMTtcbiAgICB9XG5cbiAgICAvLyBBIGJpbmFyeSBzZWFyY2ggdG8gZmluZCB0aGUgZmlyc3QgY2hhcmFjdGVyIHdob3NlIGJvdW5kaW5nIGJveFxuICAgIC8vIHN0YXJ0cyBhZnRlciB0aGUgY29vcmRpbmF0ZXMuIElmIHdlIHJ1biBhY3Jvc3MgYW55IHdob3NlIGJveCB3cmFwXG4gICAgLy8gdGhlIGNvb3JkaW5hdGVzLCBzdG9yZSB0aGF0LlxuICAgIHZhciBjaEFyb3VuZCA9IG51bGwsIGJveEFyb3VuZCA9IG51bGw7XG4gICAgdmFyIGNoID0gZmluZEZpcnN0KGZ1bmN0aW9uIChjaCkge1xuICAgICAgdmFyIGJveCA9IG1lYXN1cmVDaGFyUHJlcGFyZWQoY20sIHByZXBhcmVkTWVhc3VyZSwgY2gpO1xuICAgICAgYm94LnRvcCArPSB3aWRnZXRIZWlnaHQkJDE7IGJveC5ib3R0b20gKz0gd2lkZ2V0SGVpZ2h0JCQxO1xuICAgICAgaWYgKCFib3hJc0FmdGVyKGJveCwgeCwgeSwgZmFsc2UpKSB7IHJldHVybiBmYWxzZSB9XG4gICAgICBpZiAoYm94LnRvcCA8PSB5ICYmIGJveC5sZWZ0IDw9IHgpIHtcbiAgICAgICAgY2hBcm91bmQgPSBjaDtcbiAgICAgICAgYm94QXJvdW5kID0gYm94O1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRydWVcbiAgICB9LCBiZWdpbiwgZW5kKTtcblxuICAgIHZhciBiYXNlWCwgc3RpY2t5LCBvdXRzaWRlID0gZmFsc2U7XG4gICAgLy8gSWYgYSBib3ggYXJvdW5kIHRoZSBjb29yZGluYXRlcyB3YXMgZm91bmQsIHVzZSB0aGF0XG4gICAgaWYgKGJveEFyb3VuZCkge1xuICAgICAgLy8gRGlzdGluZ3Vpc2ggY29vcmRpbmF0ZXMgbmVhcmVyIHRvIHRoZSBsZWZ0IG9yIHJpZ2h0IHNpZGUgb2YgdGhlIGJveFxuICAgICAgdmFyIGF0TGVmdCA9IHggLSBib3hBcm91bmQubGVmdCA8IGJveEFyb3VuZC5yaWdodCAtIHgsIGF0U3RhcnQgPSBhdExlZnQgPT0gbHRyO1xuICAgICAgY2ggPSBjaEFyb3VuZCArIChhdFN0YXJ0ID8gMCA6IDEpO1xuICAgICAgc3RpY2t5ID0gYXRTdGFydCA/IFwiYWZ0ZXJcIiA6IFwiYmVmb3JlXCI7XG4gICAgICBiYXNlWCA9IGF0TGVmdCA/IGJveEFyb3VuZC5sZWZ0IDogYm94QXJvdW5kLnJpZ2h0O1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyAoQWRqdXN0IGZvciBleHRlbmRlZCBib3VuZCwgaWYgbmVjZXNzYXJ5LilcbiAgICAgIGlmICghbHRyICYmIChjaCA9PSBlbmQgfHwgY2ggPT0gYmVnaW4pKSB7IGNoKys7IH1cbiAgICAgIC8vIFRvIGRldGVybWluZSB3aGljaCBzaWRlIHRvIGFzc29jaWF0ZSB3aXRoLCBnZXQgdGhlIGJveCB0byB0aGVcbiAgICAgIC8vIGxlZnQgb2YgdGhlIGNoYXJhY3RlciBhbmQgY29tcGFyZSBpdCdzIHZlcnRpY2FsIHBvc2l0aW9uIHRvIHRoZVxuICAgICAgLy8gY29vcmRpbmF0ZXNcbiAgICAgIHN0aWNreSA9IGNoID09IDAgPyBcImFmdGVyXCIgOiBjaCA9PSBsaW5lT2JqLnRleHQubGVuZ3RoID8gXCJiZWZvcmVcIiA6XG4gICAgICAgIChtZWFzdXJlQ2hhclByZXBhcmVkKGNtLCBwcmVwYXJlZE1lYXN1cmUsIGNoIC0gKGx0ciA/IDEgOiAwKSkuYm90dG9tICsgd2lkZ2V0SGVpZ2h0JCQxIDw9IHkpID09IGx0ciA/XG4gICAgICAgIFwiYWZ0ZXJcIiA6IFwiYmVmb3JlXCI7XG4gICAgICAvLyBOb3cgZ2V0IGFjY3VyYXRlIGNvb3JkaW5hdGVzIGZvciB0aGlzIHBsYWNlLCBpbiBvcmRlciB0byBnZXQgYVxuICAgICAgLy8gYmFzZSBYIHBvc2l0aW9uXG4gICAgICB2YXIgY29vcmRzID0gY3Vyc29yQ29vcmRzKGNtLCBQb3MobGluZU5vJCQxLCBjaCwgc3RpY2t5KSwgXCJsaW5lXCIsIGxpbmVPYmosIHByZXBhcmVkTWVhc3VyZSk7XG4gICAgICBiYXNlWCA9IGNvb3Jkcy5sZWZ0O1xuICAgICAgb3V0c2lkZSA9IHkgPCBjb29yZHMudG9wID8gLTEgOiB5ID49IGNvb3Jkcy5ib3R0b20gPyAxIDogMDtcbiAgICB9XG5cbiAgICBjaCA9IHNraXBFeHRlbmRpbmdDaGFycyhsaW5lT2JqLnRleHQsIGNoLCAxKTtcbiAgICByZXR1cm4gUG9zV2l0aEluZm8obGluZU5vJCQxLCBjaCwgc3RpY2t5LCBvdXRzaWRlLCB4IC0gYmFzZVgpXG4gIH1cblxuICBmdW5jdGlvbiBjb29yZHNCaWRpUGFydChjbSwgbGluZU9iaiwgbGluZU5vJCQxLCBwcmVwYXJlZE1lYXN1cmUsIG9yZGVyLCB4LCB5KSB7XG4gICAgLy8gQmlkaSBwYXJ0cyBhcmUgc29ydGVkIGxlZnQtdG8tcmlnaHQsIGFuZCBpbiBhIG5vbi1saW5lLXdyYXBwaW5nXG4gICAgLy8gc2l0dWF0aW9uLCB3ZSBjYW4gdGFrZSB0aGlzIG9yZGVyaW5nIHRvIGNvcnJlc3BvbmQgdG8gdGhlIHZpc3VhbFxuICAgIC8vIG9yZGVyaW5nLiBUaGlzIGZpbmRzIHRoZSBmaXJzdCBwYXJ0IHdob3NlIGVuZCBpcyBhZnRlciB0aGUgZ2l2ZW5cbiAgICAvLyBjb29yZGluYXRlcy5cbiAgICB2YXIgaW5kZXggPSBmaW5kRmlyc3QoZnVuY3Rpb24gKGkpIHtcbiAgICAgIHZhciBwYXJ0ID0gb3JkZXJbaV0sIGx0ciA9IHBhcnQubGV2ZWwgIT0gMTtcbiAgICAgIHJldHVybiBib3hJc0FmdGVyKGN1cnNvckNvb3JkcyhjbSwgUG9zKGxpbmVObyQkMSwgbHRyID8gcGFydC50byA6IHBhcnQuZnJvbSwgbHRyID8gXCJiZWZvcmVcIiA6IFwiYWZ0ZXJcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJsaW5lXCIsIGxpbmVPYmosIHByZXBhcmVkTWVhc3VyZSksIHgsIHksIHRydWUpXG4gICAgfSwgMCwgb3JkZXIubGVuZ3RoIC0gMSk7XG4gICAgdmFyIHBhcnQgPSBvcmRlcltpbmRleF07XG4gICAgLy8gSWYgdGhpcyBpc24ndCB0aGUgZmlyc3QgcGFydCwgdGhlIHBhcnQncyBzdGFydCBpcyBhbHNvIGFmdGVyXG4gICAgLy8gdGhlIGNvb3JkaW5hdGVzLCBhbmQgdGhlIGNvb3JkaW5hdGVzIGFyZW4ndCBvbiB0aGUgc2FtZSBsaW5lIGFzXG4gICAgLy8gdGhhdCBzdGFydCwgbW92ZSBvbmUgcGFydCBiYWNrLlxuICAgIGlmIChpbmRleCA+IDApIHtcbiAgICAgIHZhciBsdHIgPSBwYXJ0LmxldmVsICE9IDE7XG4gICAgICB2YXIgc3RhcnQgPSBjdXJzb3JDb29yZHMoY20sIFBvcyhsaW5lTm8kJDEsIGx0ciA/IHBhcnQuZnJvbSA6IHBhcnQudG8sIGx0ciA/IFwiYWZ0ZXJcIiA6IFwiYmVmb3JlXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwibGluZVwiLCBsaW5lT2JqLCBwcmVwYXJlZE1lYXN1cmUpO1xuICAgICAgaWYgKGJveElzQWZ0ZXIoc3RhcnQsIHgsIHksIHRydWUpICYmIHN0YXJ0LnRvcCA+IHkpXG4gICAgICAgIHsgcGFydCA9IG9yZGVyW2luZGV4IC0gMV07IH1cbiAgICB9XG4gICAgcmV0dXJuIHBhcnRcbiAgfVxuXG4gIGZ1bmN0aW9uIGNvb3Jkc0JpZGlQYXJ0V3JhcHBlZChjbSwgbGluZU9iaiwgX2xpbmVObywgcHJlcGFyZWRNZWFzdXJlLCBvcmRlciwgeCwgeSkge1xuICAgIC8vIEluIGEgd3JhcHBlZCBsaW5lLCBydGwgdGV4dCBvbiB3cmFwcGluZyBib3VuZGFyaWVzIGNhbiBkbyB0aGluZ3NcbiAgICAvLyB0aGF0IGRvbid0IGNvcnJlc3BvbmQgdG8gdGhlIG9yZGVyaW5nIGluIG91ciBgb3JkZXJgIGFycmF5IGF0XG4gICAgLy8gYWxsLCBzbyBhIGJpbmFyeSBzZWFyY2ggZG9lc24ndCB3b3JrLCBhbmQgd2Ugd2FudCB0byByZXR1cm4gYVxuICAgIC8vIHBhcnQgdGhhdCBvbmx5IHNwYW5zIG9uZSBsaW5lIHNvIHRoYXQgdGhlIGJpbmFyeSBzZWFyY2ggaW5cbiAgICAvLyBjb29yZHNDaGFySW5uZXIgaXMgc2FmZS4gQXMgc3VjaCwgd2UgZmlyc3QgZmluZCB0aGUgZXh0ZW50IG9mIHRoZVxuICAgIC8vIHdyYXBwZWQgbGluZSwgYW5kIHRoZW4gZG8gYSBmbGF0IHNlYXJjaCBpbiB3aGljaCB3ZSBkaXNjYXJkIGFueVxuICAgIC8vIHNwYW5zIHRoYXQgYXJlbid0IG9uIHRoZSBsaW5lLlxuICAgIHZhciByZWYgPSB3cmFwcGVkTGluZUV4dGVudChjbSwgbGluZU9iaiwgcHJlcGFyZWRNZWFzdXJlLCB5KTtcbiAgICB2YXIgYmVnaW4gPSByZWYuYmVnaW47XG4gICAgdmFyIGVuZCA9IHJlZi5lbmQ7XG4gICAgaWYgKC9cXHMvLnRlc3QobGluZU9iai50ZXh0LmNoYXJBdChlbmQgLSAxKSkpIHsgZW5kLS07IH1cbiAgICB2YXIgcGFydCA9IG51bGwsIGNsb3Nlc3REaXN0ID0gbnVsbDtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IG9yZGVyLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIgcCA9IG9yZGVyW2ldO1xuICAgICAgaWYgKHAuZnJvbSA+PSBlbmQgfHwgcC50byA8PSBiZWdpbikgeyBjb250aW51ZSB9XG4gICAgICB2YXIgbHRyID0gcC5sZXZlbCAhPSAxO1xuICAgICAgdmFyIGVuZFggPSBtZWFzdXJlQ2hhclByZXBhcmVkKGNtLCBwcmVwYXJlZE1lYXN1cmUsIGx0ciA/IE1hdGgubWluKGVuZCwgcC50bykgLSAxIDogTWF0aC5tYXgoYmVnaW4sIHAuZnJvbSkpLnJpZ2h0O1xuICAgICAgLy8gV2VpZ2ggYWdhaW5zdCBzcGFucyBlbmRpbmcgYmVmb3JlIHRoaXMsIHNvIHRoYXQgdGhleSBhcmUgb25seVxuICAgICAgLy8gcGlja2VkIGlmIG5vdGhpbmcgZW5kcyBhZnRlclxuICAgICAgdmFyIGRpc3QgPSBlbmRYIDwgeCA/IHggLSBlbmRYICsgMWU5IDogZW5kWCAtIHg7XG4gICAgICBpZiAoIXBhcnQgfHwgY2xvc2VzdERpc3QgPiBkaXN0KSB7XG4gICAgICAgIHBhcnQgPSBwO1xuICAgICAgICBjbG9zZXN0RGlzdCA9IGRpc3Q7XG4gICAgICB9XG4gICAgfVxuICAgIGlmICghcGFydCkgeyBwYXJ0ID0gb3JkZXJbb3JkZXIubGVuZ3RoIC0gMV07IH1cbiAgICAvLyBDbGlwIHRoZSBwYXJ0IHRvIHRoZSB3cmFwcGVkIGxpbmUuXG4gICAgaWYgKHBhcnQuZnJvbSA8IGJlZ2luKSB7IHBhcnQgPSB7ZnJvbTogYmVnaW4sIHRvOiBwYXJ0LnRvLCBsZXZlbDogcGFydC5sZXZlbH07IH1cbiAgICBpZiAocGFydC50byA+IGVuZCkgeyBwYXJ0ID0ge2Zyb206IHBhcnQuZnJvbSwgdG86IGVuZCwgbGV2ZWw6IHBhcnQubGV2ZWx9OyB9XG4gICAgcmV0dXJuIHBhcnRcbiAgfVxuXG4gIHZhciBtZWFzdXJlVGV4dDtcbiAgLy8gQ29tcHV0ZSB0aGUgZGVmYXVsdCB0ZXh0IGhlaWdodC5cbiAgZnVuY3Rpb24gdGV4dEhlaWdodChkaXNwbGF5KSB7XG4gICAgaWYgKGRpc3BsYXkuY2FjaGVkVGV4dEhlaWdodCAhPSBudWxsKSB7IHJldHVybiBkaXNwbGF5LmNhY2hlZFRleHRIZWlnaHQgfVxuICAgIGlmIChtZWFzdXJlVGV4dCA9PSBudWxsKSB7XG4gICAgICBtZWFzdXJlVGV4dCA9IGVsdChcInByZVwiLCBudWxsLCBcIkNvZGVNaXJyb3ItbGluZS1saWtlXCIpO1xuICAgICAgLy8gTWVhc3VyZSBhIGJ1bmNoIG9mIGxpbmVzLCBmb3IgYnJvd3NlcnMgdGhhdCBjb21wdXRlXG4gICAgICAvLyBmcmFjdGlvbmFsIGhlaWdodHMuXG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IDQ5OyArK2kpIHtcbiAgICAgICAgbWVhc3VyZVRleHQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoXCJ4XCIpKTtcbiAgICAgICAgbWVhc3VyZVRleHQuYXBwZW5kQ2hpbGQoZWx0KFwiYnJcIikpO1xuICAgICAgfVxuICAgICAgbWVhc3VyZVRleHQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoXCJ4XCIpKTtcbiAgICB9XG4gICAgcmVtb3ZlQ2hpbGRyZW5BbmRBZGQoZGlzcGxheS5tZWFzdXJlLCBtZWFzdXJlVGV4dCk7XG4gICAgdmFyIGhlaWdodCA9IG1lYXN1cmVUZXh0Lm9mZnNldEhlaWdodCAvIDUwO1xuICAgIGlmIChoZWlnaHQgPiAzKSB7IGRpc3BsYXkuY2FjaGVkVGV4dEhlaWdodCA9IGhlaWdodDsgfVxuICAgIHJlbW92ZUNoaWxkcmVuKGRpc3BsYXkubWVhc3VyZSk7XG4gICAgcmV0dXJuIGhlaWdodCB8fCAxXG4gIH1cblxuICAvLyBDb21wdXRlIHRoZSBkZWZhdWx0IGNoYXJhY3RlciB3aWR0aC5cbiAgZnVuY3Rpb24gY2hhcldpZHRoKGRpc3BsYXkpIHtcbiAgICBpZiAoZGlzcGxheS5jYWNoZWRDaGFyV2lkdGggIT0gbnVsbCkgeyByZXR1cm4gZGlzcGxheS5jYWNoZWRDaGFyV2lkdGggfVxuICAgIHZhciBhbmNob3IgPSBlbHQoXCJzcGFuXCIsIFwieHh4eHh4eHh4eFwiKTtcbiAgICB2YXIgcHJlID0gZWx0KFwicHJlXCIsIFthbmNob3JdLCBcIkNvZGVNaXJyb3ItbGluZS1saWtlXCIpO1xuICAgIHJlbW92ZUNoaWxkcmVuQW5kQWRkKGRpc3BsYXkubWVhc3VyZSwgcHJlKTtcbiAgICB2YXIgcmVjdCA9IGFuY2hvci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSwgd2lkdGggPSAocmVjdC5yaWdodCAtIHJlY3QubGVmdCkgLyAxMDtcbiAgICBpZiAod2lkdGggPiAyKSB7IGRpc3BsYXkuY2FjaGVkQ2hhcldpZHRoID0gd2lkdGg7IH1cbiAgICByZXR1cm4gd2lkdGggfHwgMTBcbiAgfVxuXG4gIC8vIERvIGEgYnVsay1yZWFkIG9mIHRoZSBET00gcG9zaXRpb25zIGFuZCBzaXplcyBuZWVkZWQgdG8gZHJhdyB0aGVcbiAgLy8gdmlldywgc28gdGhhdCB3ZSBkb24ndCBpbnRlcmxlYXZlIHJlYWRpbmcgYW5kIHdyaXRpbmcgdG8gdGhlIERPTS5cbiAgZnVuY3Rpb24gZ2V0RGltZW5zaW9ucyhjbSkge1xuICAgIHZhciBkID0gY20uZGlzcGxheSwgbGVmdCA9IHt9LCB3aWR0aCA9IHt9O1xuICAgIHZhciBndXR0ZXJMZWZ0ID0gZC5ndXR0ZXJzLmNsaWVudExlZnQ7XG4gICAgZm9yICh2YXIgbiA9IGQuZ3V0dGVycy5maXJzdENoaWxkLCBpID0gMDsgbjsgbiA9IG4ubmV4dFNpYmxpbmcsICsraSkge1xuICAgICAgdmFyIGlkID0gY20uZGlzcGxheS5ndXR0ZXJTcGVjc1tpXS5jbGFzc05hbWU7XG4gICAgICBsZWZ0W2lkXSA9IG4ub2Zmc2V0TGVmdCArIG4uY2xpZW50TGVmdCArIGd1dHRlckxlZnQ7XG4gICAgICB3aWR0aFtpZF0gPSBuLmNsaWVudFdpZHRoO1xuICAgIH1cbiAgICByZXR1cm4ge2ZpeGVkUG9zOiBjb21wZW5zYXRlRm9ySFNjcm9sbChkKSxcbiAgICAgICAgICAgIGd1dHRlclRvdGFsV2lkdGg6IGQuZ3V0dGVycy5vZmZzZXRXaWR0aCxcbiAgICAgICAgICAgIGd1dHRlckxlZnQ6IGxlZnQsXG4gICAgICAgICAgICBndXR0ZXJXaWR0aDogd2lkdGgsXG4gICAgICAgICAgICB3cmFwcGVyV2lkdGg6IGQud3JhcHBlci5jbGllbnRXaWR0aH1cbiAgfVxuXG4gIC8vIENvbXB1dGVzIGRpc3BsYXkuc2Nyb2xsZXIuc2Nyb2xsTGVmdCArIGRpc3BsYXkuZ3V0dGVycy5vZmZzZXRXaWR0aCxcbiAgLy8gYnV0IHVzaW5nIGdldEJvdW5kaW5nQ2xpZW50UmVjdCB0byBnZXQgYSBzdWItcGl4ZWwtYWNjdXJhdGVcbiAgLy8gcmVzdWx0LlxuICBmdW5jdGlvbiBjb21wZW5zYXRlRm9ySFNjcm9sbChkaXNwbGF5KSB7XG4gICAgcmV0dXJuIGRpc3BsYXkuc2Nyb2xsZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkubGVmdCAtIGRpc3BsYXkuc2l6ZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkubGVmdFxuICB9XG5cbiAgLy8gUmV0dXJucyBhIGZ1bmN0aW9uIHRoYXQgZXN0aW1hdGVzIHRoZSBoZWlnaHQgb2YgYSBsaW5lLCB0byB1c2UgYXNcbiAgLy8gZmlyc3QgYXBwcm94aW1hdGlvbiB1bnRpbCB0aGUgbGluZSBiZWNvbWVzIHZpc2libGUgKGFuZCBpcyB0aHVzXG4gIC8vIHByb3Blcmx5IG1lYXN1cmFibGUpLlxuICBmdW5jdGlvbiBlc3RpbWF0ZUhlaWdodChjbSkge1xuICAgIHZhciB0aCA9IHRleHRIZWlnaHQoY20uZGlzcGxheSksIHdyYXBwaW5nID0gY20ub3B0aW9ucy5saW5lV3JhcHBpbmc7XG4gICAgdmFyIHBlckxpbmUgPSB3cmFwcGluZyAmJiBNYXRoLm1heCg1LCBjbS5kaXNwbGF5LnNjcm9sbGVyLmNsaWVudFdpZHRoIC8gY2hhcldpZHRoKGNtLmRpc3BsYXkpIC0gMyk7XG4gICAgcmV0dXJuIGZ1bmN0aW9uIChsaW5lKSB7XG4gICAgICBpZiAobGluZUlzSGlkZGVuKGNtLmRvYywgbGluZSkpIHsgcmV0dXJuIDAgfVxuXG4gICAgICB2YXIgd2lkZ2V0c0hlaWdodCA9IDA7XG4gICAgICBpZiAobGluZS53aWRnZXRzKSB7IGZvciAodmFyIGkgPSAwOyBpIDwgbGluZS53aWRnZXRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGlmIChsaW5lLndpZGdldHNbaV0uaGVpZ2h0KSB7IHdpZGdldHNIZWlnaHQgKz0gbGluZS53aWRnZXRzW2ldLmhlaWdodDsgfVxuICAgICAgfSB9XG5cbiAgICAgIGlmICh3cmFwcGluZylcbiAgICAgICAgeyByZXR1cm4gd2lkZ2V0c0hlaWdodCArIChNYXRoLmNlaWwobGluZS50ZXh0Lmxlbmd0aCAvIHBlckxpbmUpIHx8IDEpICogdGggfVxuICAgICAgZWxzZVxuICAgICAgICB7IHJldHVybiB3aWRnZXRzSGVpZ2h0ICsgdGggfVxuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIGVzdGltYXRlTGluZUhlaWdodHMoY20pIHtcbiAgICB2YXIgZG9jID0gY20uZG9jLCBlc3QgPSBlc3RpbWF0ZUhlaWdodChjbSk7XG4gICAgZG9jLml0ZXIoZnVuY3Rpb24gKGxpbmUpIHtcbiAgICAgIHZhciBlc3RIZWlnaHQgPSBlc3QobGluZSk7XG4gICAgICBpZiAoZXN0SGVpZ2h0ICE9IGxpbmUuaGVpZ2h0KSB7IHVwZGF0ZUxpbmVIZWlnaHQobGluZSwgZXN0SGVpZ2h0KTsgfVxuICAgIH0pO1xuICB9XG5cbiAgLy8gR2l2ZW4gYSBtb3VzZSBldmVudCwgZmluZCB0aGUgY29ycmVzcG9uZGluZyBwb3NpdGlvbi4gSWYgbGliZXJhbFxuICAvLyBpcyBmYWxzZSwgaXQgY2hlY2tzIHdoZXRoZXIgYSBndXR0ZXIgb3Igc2Nyb2xsYmFyIHdhcyBjbGlja2VkLFxuICAvLyBhbmQgcmV0dXJucyBudWxsIGlmIGl0IHdhcy4gZm9yUmVjdCBpcyB1c2VkIGJ5IHJlY3Rhbmd1bGFyXG4gIC8vIHNlbGVjdGlvbnMsIGFuZCB0cmllcyB0byBlc3RpbWF0ZSBhIGNoYXJhY3RlciBwb3NpdGlvbiBldmVuIGZvclxuICAvLyBjb29yZGluYXRlcyBiZXlvbmQgdGhlIHJpZ2h0IG9mIHRoZSB0ZXh0LlxuICBmdW5jdGlvbiBwb3NGcm9tTW91c2UoY20sIGUsIGxpYmVyYWwsIGZvclJlY3QpIHtcbiAgICB2YXIgZGlzcGxheSA9IGNtLmRpc3BsYXk7XG4gICAgaWYgKCFsaWJlcmFsICYmIGVfdGFyZ2V0KGUpLmdldEF0dHJpYnV0ZShcImNtLW5vdC1jb250ZW50XCIpID09IFwidHJ1ZVwiKSB7IHJldHVybiBudWxsIH1cblxuICAgIHZhciB4LCB5LCBzcGFjZSA9IGRpc3BsYXkubGluZVNwYWNlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIC8vIEZhaWxzIHVucHJlZGljdGFibHkgb24gSUVbNjddIHdoZW4gbW91c2UgaXMgZHJhZ2dlZCBhcm91bmQgcXVpY2tseS5cbiAgICB0cnkgeyB4ID0gZS5jbGllbnRYIC0gc3BhY2UubGVmdDsgeSA9IGUuY2xpZW50WSAtIHNwYWNlLnRvcDsgfVxuICAgIGNhdGNoIChlKSB7IHJldHVybiBudWxsIH1cbiAgICB2YXIgY29vcmRzID0gY29vcmRzQ2hhcihjbSwgeCwgeSksIGxpbmU7XG4gICAgaWYgKGZvclJlY3QgJiYgY29vcmRzLnhSZWwgPT0gMSAmJiAobGluZSA9IGdldExpbmUoY20uZG9jLCBjb29yZHMubGluZSkudGV4dCkubGVuZ3RoID09IGNvb3Jkcy5jaCkge1xuICAgICAgdmFyIGNvbERpZmYgPSBjb3VudENvbHVtbihsaW5lLCBsaW5lLmxlbmd0aCwgY20ub3B0aW9ucy50YWJTaXplKSAtIGxpbmUubGVuZ3RoO1xuICAgICAgY29vcmRzID0gUG9zKGNvb3Jkcy5saW5lLCBNYXRoLm1heCgwLCBNYXRoLnJvdW5kKCh4IC0gcGFkZGluZ0goY20uZGlzcGxheSkubGVmdCkgLyBjaGFyV2lkdGgoY20uZGlzcGxheSkpIC0gY29sRGlmZikpO1xuICAgIH1cbiAgICByZXR1cm4gY29vcmRzXG4gIH1cblxuICAvLyBGaW5kIHRoZSB2aWV3IGVsZW1lbnQgY29ycmVzcG9uZGluZyB0byBhIGdpdmVuIGxpbmUuIFJldHVybiBudWxsXG4gIC8vIHdoZW4gdGhlIGxpbmUgaXNuJ3QgdmlzaWJsZS5cbiAgZnVuY3Rpb24gZmluZFZpZXdJbmRleChjbSwgbikge1xuICAgIGlmIChuID49IGNtLmRpc3BsYXkudmlld1RvKSB7IHJldHVybiBudWxsIH1cbiAgICBuIC09IGNtLmRpc3BsYXkudmlld0Zyb207XG4gICAgaWYgKG4gPCAwKSB7IHJldHVybiBudWxsIH1cbiAgICB2YXIgdmlldyA9IGNtLmRpc3BsYXkudmlldztcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHZpZXcubGVuZ3RoOyBpKyspIHtcbiAgICAgIG4gLT0gdmlld1tpXS5zaXplO1xuICAgICAgaWYgKG4gPCAwKSB7IHJldHVybiBpIH1cbiAgICB9XG4gIH1cblxuICAvLyBVcGRhdGVzIHRoZSBkaXNwbGF5LnZpZXcgZGF0YSBzdHJ1Y3R1cmUgZm9yIGEgZ2l2ZW4gY2hhbmdlIHRvIHRoZVxuICAvLyBkb2N1bWVudC4gRnJvbSBhbmQgdG8gYXJlIGluIHByZS1jaGFuZ2UgY29vcmRpbmF0ZXMuIExlbmRpZmYgaXNcbiAgLy8gdGhlIGFtb3VudCBvZiBsaW5lcyBhZGRlZCBvciBzdWJ0cmFjdGVkIGJ5IHRoZSBjaGFuZ2UuIFRoaXMgaXNcbiAgLy8gdXNlZCBmb3IgY2hhbmdlcyB0aGF0IHNwYW4gbXVsdGlwbGUgbGluZXMsIG9yIGNoYW5nZSB0aGUgd2F5XG4gIC8vIGxpbmVzIGFyZSBkaXZpZGVkIGludG8gdmlzdWFsIGxpbmVzLiByZWdMaW5lQ2hhbmdlIChiZWxvdylcbiAgLy8gcmVnaXN0ZXJzIHNpbmdsZS1saW5lIGNoYW5nZXMuXG4gIGZ1bmN0aW9uIHJlZ0NoYW5nZShjbSwgZnJvbSwgdG8sIGxlbmRpZmYpIHtcbiAgICBpZiAoZnJvbSA9PSBudWxsKSB7IGZyb20gPSBjbS5kb2MuZmlyc3Q7IH1cbiAgICBpZiAodG8gPT0gbnVsbCkgeyB0byA9IGNtLmRvYy5maXJzdCArIGNtLmRvYy5zaXplOyB9XG4gICAgaWYgKCFsZW5kaWZmKSB7IGxlbmRpZmYgPSAwOyB9XG5cbiAgICB2YXIgZGlzcGxheSA9IGNtLmRpc3BsYXk7XG4gICAgaWYgKGxlbmRpZmYgJiYgdG8gPCBkaXNwbGF5LnZpZXdUbyAmJlxuICAgICAgICAoZGlzcGxheS51cGRhdGVMaW5lTnVtYmVycyA9PSBudWxsIHx8IGRpc3BsYXkudXBkYXRlTGluZU51bWJlcnMgPiBmcm9tKSlcbiAgICAgIHsgZGlzcGxheS51cGRhdGVMaW5lTnVtYmVycyA9IGZyb207IH1cblxuICAgIGNtLmN1ck9wLnZpZXdDaGFuZ2VkID0gdHJ1ZTtcblxuICAgIGlmIChmcm9tID49IGRpc3BsYXkudmlld1RvKSB7IC8vIENoYW5nZSBhZnRlclxuICAgICAgaWYgKHNhd0NvbGxhcHNlZFNwYW5zICYmIHZpc3VhbExpbmVObyhjbS5kb2MsIGZyb20pIDwgZGlzcGxheS52aWV3VG8pXG4gICAgICAgIHsgcmVzZXRWaWV3KGNtKTsgfVxuICAgIH0gZWxzZSBpZiAodG8gPD0gZGlzcGxheS52aWV3RnJvbSkgeyAvLyBDaGFuZ2UgYmVmb3JlXG4gICAgICBpZiAoc2F3Q29sbGFwc2VkU3BhbnMgJiYgdmlzdWFsTGluZUVuZE5vKGNtLmRvYywgdG8gKyBsZW5kaWZmKSA+IGRpc3BsYXkudmlld0Zyb20pIHtcbiAgICAgICAgcmVzZXRWaWV3KGNtKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGRpc3BsYXkudmlld0Zyb20gKz0gbGVuZGlmZjtcbiAgICAgICAgZGlzcGxheS52aWV3VG8gKz0gbGVuZGlmZjtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGZyb20gPD0gZGlzcGxheS52aWV3RnJvbSAmJiB0byA+PSBkaXNwbGF5LnZpZXdUbykgeyAvLyBGdWxsIG92ZXJsYXBcbiAgICAgIHJlc2V0VmlldyhjbSk7XG4gICAgfSBlbHNlIGlmIChmcm9tIDw9IGRpc3BsYXkudmlld0Zyb20pIHsgLy8gVG9wIG92ZXJsYXBcbiAgICAgIHZhciBjdXQgPSB2aWV3Q3V0dGluZ1BvaW50KGNtLCB0bywgdG8gKyBsZW5kaWZmLCAxKTtcbiAgICAgIGlmIChjdXQpIHtcbiAgICAgICAgZGlzcGxheS52aWV3ID0gZGlzcGxheS52aWV3LnNsaWNlKGN1dC5pbmRleCk7XG4gICAgICAgIGRpc3BsYXkudmlld0Zyb20gPSBjdXQubGluZU47XG4gICAgICAgIGRpc3BsYXkudmlld1RvICs9IGxlbmRpZmY7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXNldFZpZXcoY20pO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAodG8gPj0gZGlzcGxheS52aWV3VG8pIHsgLy8gQm90dG9tIG92ZXJsYXBcbiAgICAgIHZhciBjdXQkMSA9IHZpZXdDdXR0aW5nUG9pbnQoY20sIGZyb20sIGZyb20sIC0xKTtcbiAgICAgIGlmIChjdXQkMSkge1xuICAgICAgICBkaXNwbGF5LnZpZXcgPSBkaXNwbGF5LnZpZXcuc2xpY2UoMCwgY3V0JDEuaW5kZXgpO1xuICAgICAgICBkaXNwbGF5LnZpZXdUbyA9IGN1dCQxLmxpbmVOO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVzZXRWaWV3KGNtKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgeyAvLyBHYXAgaW4gdGhlIG1pZGRsZVxuICAgICAgdmFyIGN1dFRvcCA9IHZpZXdDdXR0aW5nUG9pbnQoY20sIGZyb20sIGZyb20sIC0xKTtcbiAgICAgIHZhciBjdXRCb3QgPSB2aWV3Q3V0dGluZ1BvaW50KGNtLCB0bywgdG8gKyBsZW5kaWZmLCAxKTtcbiAgICAgIGlmIChjdXRUb3AgJiYgY3V0Qm90KSB7XG4gICAgICAgIGRpc3BsYXkudmlldyA9IGRpc3BsYXkudmlldy5zbGljZSgwLCBjdXRUb3AuaW5kZXgpXG4gICAgICAgICAgLmNvbmNhdChidWlsZFZpZXdBcnJheShjbSwgY3V0VG9wLmxpbmVOLCBjdXRCb3QubGluZU4pKVxuICAgICAgICAgIC5jb25jYXQoZGlzcGxheS52aWV3LnNsaWNlKGN1dEJvdC5pbmRleCkpO1xuICAgICAgICBkaXNwbGF5LnZpZXdUbyArPSBsZW5kaWZmO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVzZXRWaWV3KGNtKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB2YXIgZXh0ID0gZGlzcGxheS5leHRlcm5hbE1lYXN1cmVkO1xuICAgIGlmIChleHQpIHtcbiAgICAgIGlmICh0byA8IGV4dC5saW5lTilcbiAgICAgICAgeyBleHQubGluZU4gKz0gbGVuZGlmZjsgfVxuICAgICAgZWxzZSBpZiAoZnJvbSA8IGV4dC5saW5lTiArIGV4dC5zaXplKVxuICAgICAgICB7IGRpc3BsYXkuZXh0ZXJuYWxNZWFzdXJlZCA9IG51bGw7IH1cbiAgICB9XG4gIH1cblxuICAvLyBSZWdpc3RlciBhIGNoYW5nZSB0byBhIHNpbmdsZSBsaW5lLiBUeXBlIG11c3QgYmUgb25lIG9mIFwidGV4dFwiLFxuICAvLyBcImd1dHRlclwiLCBcImNsYXNzXCIsIFwid2lkZ2V0XCJcbiAgZnVuY3Rpb24gcmVnTGluZUNoYW5nZShjbSwgbGluZSwgdHlwZSkge1xuICAgIGNtLmN1ck9wLnZpZXdDaGFuZ2VkID0gdHJ1ZTtcbiAgICB2YXIgZGlzcGxheSA9IGNtLmRpc3BsYXksIGV4dCA9IGNtLmRpc3BsYXkuZXh0ZXJuYWxNZWFzdXJlZDtcbiAgICBpZiAoZXh0ICYmIGxpbmUgPj0gZXh0LmxpbmVOICYmIGxpbmUgPCBleHQubGluZU4gKyBleHQuc2l6ZSlcbiAgICAgIHsgZGlzcGxheS5leHRlcm5hbE1lYXN1cmVkID0gbnVsbDsgfVxuXG4gICAgaWYgKGxpbmUgPCBkaXNwbGF5LnZpZXdGcm9tIHx8IGxpbmUgPj0gZGlzcGxheS52aWV3VG8pIHsgcmV0dXJuIH1cbiAgICB2YXIgbGluZVZpZXcgPSBkaXNwbGF5LnZpZXdbZmluZFZpZXdJbmRleChjbSwgbGluZSldO1xuICAgIGlmIChsaW5lVmlldy5ub2RlID09IG51bGwpIHsgcmV0dXJuIH1cbiAgICB2YXIgYXJyID0gbGluZVZpZXcuY2hhbmdlcyB8fCAobGluZVZpZXcuY2hhbmdlcyA9IFtdKTtcbiAgICBpZiAoaW5kZXhPZihhcnIsIHR5cGUpID09IC0xKSB7IGFyci5wdXNoKHR5cGUpOyB9XG4gIH1cblxuICAvLyBDbGVhciB0aGUgdmlldy5cbiAgZnVuY3Rpb24gcmVzZXRWaWV3KGNtKSB7XG4gICAgY20uZGlzcGxheS52aWV3RnJvbSA9IGNtLmRpc3BsYXkudmlld1RvID0gY20uZG9jLmZpcnN0O1xuICAgIGNtLmRpc3BsYXkudmlldyA9IFtdO1xuICAgIGNtLmRpc3BsYXkudmlld09mZnNldCA9IDA7XG4gIH1cblxuICBmdW5jdGlvbiB2aWV3Q3V0dGluZ1BvaW50KGNtLCBvbGROLCBuZXdOLCBkaXIpIHtcbiAgICB2YXIgaW5kZXggPSBmaW5kVmlld0luZGV4KGNtLCBvbGROKSwgZGlmZiwgdmlldyA9IGNtLmRpc3BsYXkudmlldztcbiAgICBpZiAoIXNhd0NvbGxhcHNlZFNwYW5zIHx8IG5ld04gPT0gY20uZG9jLmZpcnN0ICsgY20uZG9jLnNpemUpXG4gICAgICB7IHJldHVybiB7aW5kZXg6IGluZGV4LCBsaW5lTjogbmV3Tn0gfVxuICAgIHZhciBuID0gY20uZGlzcGxheS52aWV3RnJvbTtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGluZGV4OyBpKyspXG4gICAgICB7IG4gKz0gdmlld1tpXS5zaXplOyB9XG4gICAgaWYgKG4gIT0gb2xkTikge1xuICAgICAgaWYgKGRpciA+IDApIHtcbiAgICAgICAgaWYgKGluZGV4ID09IHZpZXcubGVuZ3RoIC0gMSkgeyByZXR1cm4gbnVsbCB9XG4gICAgICAgIGRpZmYgPSAobiArIHZpZXdbaW5kZXhdLnNpemUpIC0gb2xkTjtcbiAgICAgICAgaW5kZXgrKztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGRpZmYgPSBuIC0gb2xkTjtcbiAgICAgIH1cbiAgICAgIG9sZE4gKz0gZGlmZjsgbmV3TiArPSBkaWZmO1xuICAgIH1cbiAgICB3aGlsZSAodmlzdWFsTGluZU5vKGNtLmRvYywgbmV3TikgIT0gbmV3Tikge1xuICAgICAgaWYgKGluZGV4ID09IChkaXIgPCAwID8gMCA6IHZpZXcubGVuZ3RoIC0gMSkpIHsgcmV0dXJuIG51bGwgfVxuICAgICAgbmV3TiArPSBkaXIgKiB2aWV3W2luZGV4IC0gKGRpciA8IDAgPyAxIDogMCldLnNpemU7XG4gICAgICBpbmRleCArPSBkaXI7XG4gICAgfVxuICAgIHJldHVybiB7aW5kZXg6IGluZGV4LCBsaW5lTjogbmV3Tn1cbiAgfVxuXG4gIC8vIEZvcmNlIHRoZSB2aWV3IHRvIGNvdmVyIGEgZ2l2ZW4gcmFuZ2UsIGFkZGluZyBlbXB0eSB2aWV3IGVsZW1lbnRcbiAgLy8gb3IgY2xpcHBpbmcgb2ZmIGV4aXN0aW5nIG9uZXMgYXMgbmVlZGVkLlxuICBmdW5jdGlvbiBhZGp1c3RWaWV3KGNtLCBmcm9tLCB0bykge1xuICAgIHZhciBkaXNwbGF5ID0gY20uZGlzcGxheSwgdmlldyA9IGRpc3BsYXkudmlldztcbiAgICBpZiAodmlldy5sZW5ndGggPT0gMCB8fCBmcm9tID49IGRpc3BsYXkudmlld1RvIHx8IHRvIDw9IGRpc3BsYXkudmlld0Zyb20pIHtcbiAgICAgIGRpc3BsYXkudmlldyA9IGJ1aWxkVmlld0FycmF5KGNtLCBmcm9tLCB0byk7XG4gICAgICBkaXNwbGF5LnZpZXdGcm9tID0gZnJvbTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKGRpc3BsYXkudmlld0Zyb20gPiBmcm9tKVxuICAgICAgICB7IGRpc3BsYXkudmlldyA9IGJ1aWxkVmlld0FycmF5KGNtLCBmcm9tLCBkaXNwbGF5LnZpZXdGcm9tKS5jb25jYXQoZGlzcGxheS52aWV3KTsgfVxuICAgICAgZWxzZSBpZiAoZGlzcGxheS52aWV3RnJvbSA8IGZyb20pXG4gICAgICAgIHsgZGlzcGxheS52aWV3ID0gZGlzcGxheS52aWV3LnNsaWNlKGZpbmRWaWV3SW5kZXgoY20sIGZyb20pKTsgfVxuICAgICAgZGlzcGxheS52aWV3RnJvbSA9IGZyb207XG4gICAgICBpZiAoZGlzcGxheS52aWV3VG8gPCB0bylcbiAgICAgICAgeyBkaXNwbGF5LnZpZXcgPSBkaXNwbGF5LnZpZXcuY29uY2F0KGJ1aWxkVmlld0FycmF5KGNtLCBkaXNwbGF5LnZpZXdUbywgdG8pKTsgfVxuICAgICAgZWxzZSBpZiAoZGlzcGxheS52aWV3VG8gPiB0bylcbiAgICAgICAgeyBkaXNwbGF5LnZpZXcgPSBkaXNwbGF5LnZpZXcuc2xpY2UoMCwgZmluZFZpZXdJbmRleChjbSwgdG8pKTsgfVxuICAgIH1cbiAgICBkaXNwbGF5LnZpZXdUbyA9IHRvO1xuICB9XG5cbiAgLy8gQ291bnQgdGhlIG51bWJlciBvZiBsaW5lcyBpbiB0aGUgdmlldyB3aG9zZSBET00gcmVwcmVzZW50YXRpb24gaXNcbiAgLy8gb3V0IG9mIGRhdGUgKG9yIG5vbmV4aXN0ZW50KS5cbiAgZnVuY3Rpb24gY291bnREaXJ0eVZpZXcoY20pIHtcbiAgICB2YXIgdmlldyA9IGNtLmRpc3BsYXkudmlldywgZGlydHkgPSAwO1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdmlldy5sZW5ndGg7IGkrKykge1xuICAgICAgdmFyIGxpbmVWaWV3ID0gdmlld1tpXTtcbiAgICAgIGlmICghbGluZVZpZXcuaGlkZGVuICYmICghbGluZVZpZXcubm9kZSB8fCBsaW5lVmlldy5jaGFuZ2VzKSkgeyArK2RpcnR5OyB9XG4gICAgfVxuICAgIHJldHVybiBkaXJ0eVxuICB9XG5cbiAgZnVuY3Rpb24gdXBkYXRlU2VsZWN0aW9uKGNtKSB7XG4gICAgY20uZGlzcGxheS5pbnB1dC5zaG93U2VsZWN0aW9uKGNtLmRpc3BsYXkuaW5wdXQucHJlcGFyZVNlbGVjdGlvbigpKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIHByZXBhcmVTZWxlY3Rpb24oY20sIHByaW1hcnkpIHtcbiAgICBpZiAoIHByaW1hcnkgPT09IHZvaWQgMCApIHByaW1hcnkgPSB0cnVlO1xuXG4gICAgdmFyIGRvYyA9IGNtLmRvYywgcmVzdWx0ID0ge307XG4gICAgdmFyIGN1ckZyYWdtZW50ID0gcmVzdWx0LmN1cnNvcnMgPSBkb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk7XG4gICAgdmFyIHNlbEZyYWdtZW50ID0gcmVzdWx0LnNlbGVjdGlvbiA9IGRvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTtcblxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZG9jLnNlbC5yYW5nZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGlmICghcHJpbWFyeSAmJiBpID09IGRvYy5zZWwucHJpbUluZGV4KSB7IGNvbnRpbnVlIH1cbiAgICAgIHZhciByYW5nZSQkMSA9IGRvYy5zZWwucmFuZ2VzW2ldO1xuICAgICAgaWYgKHJhbmdlJCQxLmZyb20oKS5saW5lID49IGNtLmRpc3BsYXkudmlld1RvIHx8IHJhbmdlJCQxLnRvKCkubGluZSA8IGNtLmRpc3BsYXkudmlld0Zyb20pIHsgY29udGludWUgfVxuICAgICAgdmFyIGNvbGxhcHNlZCA9IHJhbmdlJCQxLmVtcHR5KCk7XG4gICAgICBpZiAoY29sbGFwc2VkIHx8IGNtLm9wdGlvbnMuc2hvd0N1cnNvcldoZW5TZWxlY3RpbmcpXG4gICAgICAgIHsgZHJhd1NlbGVjdGlvbkN1cnNvcihjbSwgcmFuZ2UkJDEuaGVhZCwgY3VyRnJhZ21lbnQpOyB9XG4gICAgICBpZiAoIWNvbGxhcHNlZClcbiAgICAgICAgeyBkcmF3U2VsZWN0aW9uUmFuZ2UoY20sIHJhbmdlJCQxLCBzZWxGcmFnbWVudCk7IH1cbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdFxuICB9XG5cbiAgLy8gRHJhd3MgYSBjdXJzb3IgZm9yIHRoZSBnaXZlbiByYW5nZVxuICBmdW5jdGlvbiBkcmF3U2VsZWN0aW9uQ3Vyc29yKGNtLCBoZWFkLCBvdXRwdXQpIHtcbiAgICB2YXIgcG9zID0gY3Vyc29yQ29vcmRzKGNtLCBoZWFkLCBcImRpdlwiLCBudWxsLCBudWxsLCAhY20ub3B0aW9ucy5zaW5nbGVDdXJzb3JIZWlnaHRQZXJMaW5lKTtcblxuICAgIHZhciBjdXJzb3IgPSBvdXRwdXQuYXBwZW5kQ2hpbGQoZWx0KFwiZGl2XCIsIFwiXFx1MDBhMFwiLCBcIkNvZGVNaXJyb3ItY3Vyc29yXCIpKTtcbiAgICBjdXJzb3Iuc3R5bGUubGVmdCA9IHBvcy5sZWZ0ICsgXCJweFwiO1xuICAgIGN1cnNvci5zdHlsZS50b3AgPSBwb3MudG9wICsgXCJweFwiO1xuICAgIGN1cnNvci5zdHlsZS5oZWlnaHQgPSBNYXRoLm1heCgwLCBwb3MuYm90dG9tIC0gcG9zLnRvcCkgKiBjbS5vcHRpb25zLmN1cnNvckhlaWdodCArIFwicHhcIjtcblxuICAgIGlmIChwb3Mub3RoZXIpIHtcbiAgICAgIC8vIFNlY29uZGFyeSBjdXJzb3IsIHNob3duIHdoZW4gb24gYSAnanVtcCcgaW4gYmktZGlyZWN0aW9uYWwgdGV4dFxuICAgICAgdmFyIG90aGVyQ3Vyc29yID0gb3V0cHV0LmFwcGVuZENoaWxkKGVsdChcImRpdlwiLCBcIlxcdTAwYTBcIiwgXCJDb2RlTWlycm9yLWN1cnNvciBDb2RlTWlycm9yLXNlY29uZGFyeWN1cnNvclwiKSk7XG4gICAgICBvdGhlckN1cnNvci5zdHlsZS5kaXNwbGF5ID0gXCJcIjtcbiAgICAgIG90aGVyQ3Vyc29yLnN0eWxlLmxlZnQgPSBwb3Mub3RoZXIubGVmdCArIFwicHhcIjtcbiAgICAgIG90aGVyQ3Vyc29yLnN0eWxlLnRvcCA9IHBvcy5vdGhlci50b3AgKyBcInB4XCI7XG4gICAgICBvdGhlckN1cnNvci5zdHlsZS5oZWlnaHQgPSAocG9zLm90aGVyLmJvdHRvbSAtIHBvcy5vdGhlci50b3ApICogLjg1ICsgXCJweFwiO1xuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIGNtcENvb3JkcyhhLCBiKSB7IHJldHVybiBhLnRvcCAtIGIudG9wIHx8IGEubGVmdCAtIGIubGVmdCB9XG5cbiAgLy8gRHJhd3MgdGhlIGdpdmVuIHJhbmdlIGFzIGEgaGlnaGxpZ2h0ZWQgc2VsZWN0aW9uXG4gIGZ1bmN0aW9uIGRyYXdTZWxlY3Rpb25SYW5nZShjbSwgcmFuZ2UkJDEsIG91dHB1dCkge1xuICAgIHZhciBkaXNwbGF5ID0gY20uZGlzcGxheSwgZG9jID0gY20uZG9jO1xuICAgIHZhciBmcmFnbWVudCA9IGRvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTtcbiAgICB2YXIgcGFkZGluZyA9IHBhZGRpbmdIKGNtLmRpc3BsYXkpLCBsZWZ0U2lkZSA9IHBhZGRpbmcubGVmdDtcbiAgICB2YXIgcmlnaHRTaWRlID0gTWF0aC5tYXgoZGlzcGxheS5zaXplcldpZHRoLCBkaXNwbGF5V2lkdGgoY20pIC0gZGlzcGxheS5zaXplci5vZmZzZXRMZWZ0KSAtIHBhZGRpbmcucmlnaHQ7XG4gICAgdmFyIGRvY0xUUiA9IGRvYy5kaXJlY3Rpb24gPT0gXCJsdHJcIjtcblxuICAgIGZ1bmN0aW9uIGFkZChsZWZ0LCB0b3AsIHdpZHRoLCBib3R0b20pIHtcbiAgICAgIGlmICh0b3AgPCAwKSB7IHRvcCA9IDA7IH1cbiAgICAgIHRvcCA9IE1hdGgucm91bmQodG9wKTtcbiAgICAgIGJvdHRvbSA9IE1hdGgucm91bmQoYm90dG9tKTtcbiAgICAgIGZyYWdtZW50LmFwcGVuZENoaWxkKGVsdChcImRpdlwiLCBudWxsLCBcIkNvZGVNaXJyb3Itc2VsZWN0ZWRcIiwgKFwicG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiBcIiArIGxlZnQgKyBcInB4O1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiBcIiArIHRvcCArIFwicHg7IHdpZHRoOiBcIiArICh3aWR0aCA9PSBudWxsID8gcmlnaHRTaWRlIC0gbGVmdCA6IHdpZHRoKSArIFwicHg7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IFwiICsgKGJvdHRvbSAtIHRvcCkgKyBcInB4XCIpKSk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gZHJhd0ZvckxpbmUobGluZSwgZnJvbUFyZywgdG9BcmcpIHtcbiAgICAgIHZhciBsaW5lT2JqID0gZ2V0TGluZShkb2MsIGxpbmUpO1xuICAgICAgdmFyIGxpbmVMZW4gPSBsaW5lT2JqLnRleHQubGVuZ3RoO1xuICAgICAgdmFyIHN0YXJ0LCBlbmQ7XG4gICAgICBmdW5jdGlvbiBjb29yZHMoY2gsIGJpYXMpIHtcbiAgICAgICAgcmV0dXJuIGNoYXJDb29yZHMoY20sIFBvcyhsaW5lLCBjaCksIFwiZGl2XCIsIGxpbmVPYmosIGJpYXMpXG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIHdyYXBYKHBvcywgZGlyLCBzaWRlKSB7XG4gICAgICAgIHZhciBleHRlbnQgPSB3cmFwcGVkTGluZUV4dGVudENoYXIoY20sIGxpbmVPYmosIG51bGwsIHBvcyk7XG4gICAgICAgIHZhciBwcm9wID0gKGRpciA9PSBcImx0clwiKSA9PSAoc2lkZSA9PSBcImFmdGVyXCIpID8gXCJsZWZ0XCIgOiBcInJpZ2h0XCI7XG4gICAgICAgIHZhciBjaCA9IHNpZGUgPT0gXCJhZnRlclwiID8gZXh0ZW50LmJlZ2luIDogZXh0ZW50LmVuZCAtICgvXFxzLy50ZXN0KGxpbmVPYmoudGV4dC5jaGFyQXQoZXh0ZW50LmVuZCAtIDEpKSA/IDIgOiAxKTtcbiAgICAgICAgcmV0dXJuIGNvb3JkcyhjaCwgcHJvcClbcHJvcF1cbiAgICAgIH1cblxuICAgICAgdmFyIG9yZGVyID0gZ2V0T3JkZXIobGluZU9iaiwgZG9jLmRpcmVjdGlvbik7XG4gICAgICBpdGVyYXRlQmlkaVNlY3Rpb25zKG9yZGVyLCBmcm9tQXJnIHx8IDAsIHRvQXJnID09IG51bGwgPyBsaW5lTGVuIDogdG9BcmcsIGZ1bmN0aW9uIChmcm9tLCB0bywgZGlyLCBpKSB7XG4gICAgICAgIHZhciBsdHIgPSBkaXIgPT0gXCJsdHJcIjtcbiAgICAgICAgdmFyIGZyb21Qb3MgPSBjb29yZHMoZnJvbSwgbHRyID8gXCJsZWZ0XCIgOiBcInJpZ2h0XCIpO1xuICAgICAgICB2YXIgdG9Qb3MgPSBjb29yZHModG8gLSAxLCBsdHIgPyBcInJpZ2h0XCIgOiBcImxlZnRcIik7XG5cbiAgICAgICAgdmFyIG9wZW5TdGFydCA9IGZyb21BcmcgPT0gbnVsbCAmJiBmcm9tID09IDAsIG9wZW5FbmQgPSB0b0FyZyA9PSBudWxsICYmIHRvID09IGxpbmVMZW47XG4gICAgICAgIHZhciBmaXJzdCA9IGkgPT0gMCwgbGFzdCA9ICFvcmRlciB8fCBpID09IG9yZGVyLmxlbmd0aCAtIDE7XG4gICAgICAgIGlmICh0b1Bvcy50b3AgLSBmcm9tUG9zLnRvcCA8PSAzKSB7IC8vIFNpbmdsZSBsaW5lXG4gICAgICAgICAgdmFyIG9wZW5MZWZ0ID0gKGRvY0xUUiA/IG9wZW5TdGFydCA6IG9wZW5FbmQpICYmIGZpcnN0O1xuICAgICAgICAgIHZhciBvcGVuUmlnaHQgPSAoZG9jTFRSID8gb3BlbkVuZCA6IG9wZW5TdGFydCkgJiYgbGFzdDtcbiAgICAgICAgICB2YXIgbGVmdCA9IG9wZW5MZWZ0ID8gbGVmdFNpZGUgOiAobHRyID8gZnJvbVBvcyA6IHRvUG9zKS5sZWZ0O1xuICAgICAgICAgIHZhciByaWdodCA9IG9wZW5SaWdodCA/IHJpZ2h0U2lkZSA6IChsdHIgPyB0b1BvcyA6IGZyb21Qb3MpLnJpZ2h0O1xuICAgICAgICAgIGFkZChsZWZ0LCBmcm9tUG9zLnRvcCwgcmlnaHQgLSBsZWZ0LCBmcm9tUG9zLmJvdHRvbSk7XG4gICAgICAgIH0gZWxzZSB7IC8vIE11bHRpcGxlIGxpbmVzXG4gICAgICAgICAgdmFyIHRvcExlZnQsIHRvcFJpZ2h0LCBib3RMZWZ0LCBib3RSaWdodDtcbiAgICAgICAgICBpZiAobHRyKSB7XG4gICAgICAgICAgICB0b3BMZWZ0ID0gZG9jTFRSICYmIG9wZW5TdGFydCAmJiBmaXJzdCA/IGxlZnRTaWRlIDogZnJvbVBvcy5sZWZ0O1xuICAgICAgICAgICAgdG9wUmlnaHQgPSBkb2NMVFIgPyByaWdodFNpZGUgOiB3cmFwWChmcm9tLCBkaXIsIFwiYmVmb3JlXCIpO1xuICAgICAgICAgICAgYm90TGVmdCA9IGRvY0xUUiA/IGxlZnRTaWRlIDogd3JhcFgodG8sIGRpciwgXCJhZnRlclwiKTtcbiAgICAgICAgICAgIGJvdFJpZ2h0ID0gZG9jTFRSICYmIG9wZW5FbmQgJiYgbGFzdCA/IHJpZ2h0U2lkZSA6IHRvUG9zLnJpZ2h0O1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0b3BMZWZ0ID0gIWRvY0xUUiA/IGxlZnRTaWRlIDogd3JhcFgoZnJvbSwgZGlyLCBcImJlZm9yZVwiKTtcbiAgICAgICAgICAgIHRvcFJpZ2h0ID0gIWRvY0xUUiAmJiBvcGVuU3RhcnQgJiYgZmlyc3QgPyByaWdodFNpZGUgOiBmcm9tUG9zLnJpZ2h0O1xuICAgICAgICAgICAgYm90TGVmdCA9ICFkb2NMVFIgJiYgb3BlbkVuZCAmJiBsYXN0ID8gbGVmdFNpZGUgOiB0b1Bvcy5sZWZ0O1xuICAgICAgICAgICAgYm90UmlnaHQgPSAhZG9jTFRSID8gcmlnaHRTaWRlIDogd3JhcFgodG8sIGRpciwgXCJhZnRlclwiKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgYWRkKHRvcExlZnQsIGZyb21Qb3MudG9wLCB0b3BSaWdodCAtIHRvcExlZnQsIGZyb21Qb3MuYm90dG9tKTtcbiAgICAgICAgICBpZiAoZnJvbVBvcy5ib3R0b20gPCB0b1Bvcy50b3ApIHsgYWRkKGxlZnRTaWRlLCBmcm9tUG9zLmJvdHRvbSwgbnVsbCwgdG9Qb3MudG9wKTsgfVxuICAgICAgICAgIGFkZChib3RMZWZ0LCB0b1Bvcy50b3AsIGJvdFJpZ2h0IC0gYm90TGVmdCwgdG9Qb3MuYm90dG9tKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghc3RhcnQgfHwgY21wQ29vcmRzKGZyb21Qb3MsIHN0YXJ0KSA8IDApIHsgc3RhcnQgPSBmcm9tUG9zOyB9XG4gICAgICAgIGlmIChjbXBDb29yZHModG9Qb3MsIHN0YXJ0KSA8IDApIHsgc3RhcnQgPSB0b1BvczsgfVxuICAgICAgICBpZiAoIWVuZCB8fCBjbXBDb29yZHMoZnJvbVBvcywgZW5kKSA8IDApIHsgZW5kID0gZnJvbVBvczsgfVxuICAgICAgICBpZiAoY21wQ29vcmRzKHRvUG9zLCBlbmQpIDwgMCkgeyBlbmQgPSB0b1BvczsgfVxuICAgICAgfSk7XG4gICAgICByZXR1cm4ge3N0YXJ0OiBzdGFydCwgZW5kOiBlbmR9XG4gICAgfVxuXG4gICAgdmFyIHNGcm9tID0gcmFuZ2UkJDEuZnJvbSgpLCBzVG8gPSByYW5nZSQkMS50bygpO1xuICAgIGlmIChzRnJvbS5saW5lID09IHNUby5saW5lKSB7XG4gICAgICBkcmF3Rm9yTGluZShzRnJvbS5saW5lLCBzRnJvbS5jaCwgc1RvLmNoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdmFyIGZyb21MaW5lID0gZ2V0TGluZShkb2MsIHNGcm9tLmxpbmUpLCB0b0xpbmUgPSBnZXRMaW5lKGRvYywgc1RvLmxpbmUpO1xuICAgICAgdmFyIHNpbmdsZVZMaW5lID0gdmlzdWFsTGluZShmcm9tTGluZSkgPT0gdmlzdWFsTGluZSh0b0xpbmUpO1xuICAgICAgdmFyIGxlZnRFbmQgPSBkcmF3Rm9yTGluZShzRnJvbS5saW5lLCBzRnJvbS5jaCwgc2luZ2xlVkxpbmUgPyBmcm9tTGluZS50ZXh0Lmxlbmd0aCArIDEgOiBudWxsKS5lbmQ7XG4gICAgICB2YXIgcmlnaHRTdGFydCA9IGRyYXdGb3JMaW5lKHNUby5saW5lLCBzaW5nbGVWTGluZSA/IDAgOiBudWxsLCBzVG8uY2gpLnN0YXJ0O1xuICAgICAgaWYgKHNpbmdsZVZMaW5lKSB7XG4gICAgICAgIGlmIChsZWZ0RW5kLnRvcCA8IHJpZ2h0U3RhcnQudG9wIC0gMikge1xuICAgICAgICAgIGFkZChsZWZ0RW5kLnJpZ2h0LCBsZWZ0RW5kLnRvcCwgbnVsbCwgbGVmdEVuZC5ib3R0b20pO1xuICAgICAgICAgIGFkZChsZWZ0U2lkZSwgcmlnaHRTdGFydC50b3AsIHJpZ2h0U3RhcnQubGVmdCwgcmlnaHRTdGFydC5ib3R0b20pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGFkZChsZWZ0RW5kLnJpZ2h0LCBsZWZ0RW5kLnRvcCwgcmlnaHRTdGFydC5sZWZ0IC0gbGVmdEVuZC5yaWdodCwgbGVmdEVuZC5ib3R0b20pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAobGVmdEVuZC5ib3R0b20gPCByaWdodFN0YXJ0LnRvcClcbiAgICAgICAgeyBhZGQobGVmdFNpZGUsIGxlZnRFbmQuYm90dG9tLCBudWxsLCByaWdodFN0YXJ0LnRvcCk7IH1cbiAgICB9XG5cbiAgICBvdXRwdXQuYXBwZW5kQ2hpbGQoZnJhZ21lbnQpO1xuICB9XG5cbiAgLy8gQ3Vyc29yLWJsaW5raW5nXG4gIGZ1bmN0aW9uIHJlc3RhcnRCbGluayhjbSkge1xuICAgIGlmICghY20uc3RhdGUuZm9jdXNlZCkgeyByZXR1cm4gfVxuICAgIHZhciBkaXNwbGF5ID0gY20uZGlzcGxheTtcbiAgICBjbGVhckludGVydmFsKGRpc3BsYXkuYmxpbmtlcik7XG4gICAgdmFyIG9uID0gdHJ1ZTtcbiAgICBkaXNwbGF5LmN1cnNvckRpdi5zdHlsZS52aXNpYmlsaXR5ID0gXCJcIjtcbiAgICBpZiAoY20ub3B0aW9ucy5jdXJzb3JCbGlua1JhdGUgPiAwKVxuICAgICAgeyBkaXNwbGF5LmJsaW5rZXIgPSBzZXRJbnRlcnZhbChmdW5jdGlvbiAoKSB7IHJldHVybiBkaXNwbGF5LmN1cnNvckRpdi5zdHlsZS52aXNpYmlsaXR5ID0gKG9uID0gIW9uKSA/IFwiXCIgOiBcImhpZGRlblwiOyB9LFxuICAgICAgICBjbS5vcHRpb25zLmN1cnNvckJsaW5rUmF0ZSk7IH1cbiAgICBlbHNlIGlmIChjbS5vcHRpb25zLmN1cnNvckJsaW5rUmF0ZSA8IDApXG4gICAgICB7IGRpc3BsYXkuY3Vyc29yRGl2LnN0eWxlLnZpc2liaWxpdHkgPSBcImhpZGRlblwiOyB9XG4gIH1cblxuICBmdW5jdGlvbiBlbnN1cmVGb2N1cyhjbSkge1xuICAgIGlmICghY20uc3RhdGUuZm9jdXNlZCkgeyBjbS5kaXNwbGF5LmlucHV0LmZvY3VzKCk7IG9uRm9jdXMoY20pOyB9XG4gIH1cblxuICBmdW5jdGlvbiBkZWxheUJsdXJFdmVudChjbSkge1xuICAgIGNtLnN0YXRlLmRlbGF5aW5nQmx1ckV2ZW50ID0gdHJ1ZTtcbiAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsgaWYgKGNtLnN0YXRlLmRlbGF5aW5nQmx1ckV2ZW50KSB7XG4gICAgICBjbS5zdGF0ZS5kZWxheWluZ0JsdXJFdmVudCA9IGZhbHNlO1xuICAgICAgb25CbHVyKGNtKTtcbiAgICB9IH0sIDEwMCk7XG4gIH1cblxuICBmdW5jdGlvbiBvbkZvY3VzKGNtLCBlKSB7XG4gICAgaWYgKGNtLnN0YXRlLmRlbGF5aW5nQmx1ckV2ZW50KSB7IGNtLnN0YXRlLmRlbGF5aW5nQmx1ckV2ZW50ID0gZmFsc2U7IH1cblxuICAgIGlmIChjbS5vcHRpb25zLnJlYWRPbmx5ID09IFwibm9jdXJzb3JcIikgeyByZXR1cm4gfVxuICAgIGlmICghY20uc3RhdGUuZm9jdXNlZCkge1xuICAgICAgc2lnbmFsKGNtLCBcImZvY3VzXCIsIGNtLCBlKTtcbiAgICAgIGNtLnN0YXRlLmZvY3VzZWQgPSB0cnVlO1xuICAgICAgYWRkQ2xhc3MoY20uZGlzcGxheS53cmFwcGVyLCBcIkNvZGVNaXJyb3ItZm9jdXNlZFwiKTtcbiAgICAgIC8vIFRoaXMgdGVzdCBwcmV2ZW50cyB0aGlzIGZyb20gZmlyaW5nIHdoZW4gYSBjb250ZXh0XG4gICAgICAvLyBtZW51IGlzIGNsb3NlZCAoc2luY2UgdGhlIGlucHV0IHJlc2V0IHdvdWxkIGtpbGwgdGhlXG4gICAgICAvLyBzZWxlY3QtYWxsIGRldGVjdGlvbiBoYWNrKVxuICAgICAgaWYgKCFjbS5jdXJPcCAmJiBjbS5kaXNwbGF5LnNlbEZvckNvbnRleHRNZW51ICE9IGNtLmRvYy5zZWwpIHtcbiAgICAgICAgY20uZGlzcGxheS5pbnB1dC5yZXNldCgpO1xuICAgICAgICBpZiAod2Via2l0KSB7IHNldFRpbWVvdXQoZnVuY3Rpb24gKCkgeyByZXR1cm4gY20uZGlzcGxheS5pbnB1dC5yZXNldCh0cnVlKTsgfSwgMjApOyB9IC8vIElzc3VlICMxNzMwXG4gICAgICB9XG4gICAgICBjbS5kaXNwbGF5LmlucHV0LnJlY2VpdmVkRm9jdXMoKTtcbiAgICB9XG4gICAgcmVzdGFydEJsaW5rKGNtKTtcbiAgfVxuICBmdW5jdGlvbiBvbkJsdXIoY20sIGUpIHtcbiAgICBpZiAoY20uc3RhdGUuZGVsYXlpbmdCbHVyRXZlbnQpIHsgcmV0dXJuIH1cblxuICAgIGlmIChjbS5zdGF0ZS5mb2N1c2VkKSB7XG4gICAgICBzaWduYWwoY20sIFwiYmx1clwiLCBjbSwgZSk7XG4gICAgICBjbS5zdGF0ZS5mb2N1c2VkID0gZmFsc2U7XG4gICAgICBybUNsYXNzKGNtLmRpc3BsYXkud3JhcHBlciwgXCJDb2RlTWlycm9yLWZvY3VzZWRcIik7XG4gICAgfVxuICAgIGNsZWFySW50ZXJ2YWwoY20uZGlzcGxheS5ibGlua2VyKTtcbiAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsgaWYgKCFjbS5zdGF0ZS5mb2N1c2VkKSB7IGNtLmRpc3BsYXkuc2hpZnQgPSBmYWxzZTsgfSB9LCAxNTApO1xuICB9XG5cbiAgLy8gUmVhZCB0aGUgYWN0dWFsIGhlaWdodHMgb2YgdGhlIHJlbmRlcmVkIGxpbmVzLCBhbmQgdXBkYXRlIHRoZWlyXG4gIC8vIHN0b3JlZCBoZWlnaHRzIHRvIG1hdGNoLlxuICBmdW5jdGlvbiB1cGRhdGVIZWlnaHRzSW5WaWV3cG9ydChjbSkge1xuICAgIHZhciBkaXNwbGF5ID0gY20uZGlzcGxheTtcbiAgICB2YXIgcHJldkJvdHRvbSA9IGRpc3BsYXkubGluZURpdi5vZmZzZXRUb3A7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBkaXNwbGF5LnZpZXcubGVuZ3RoOyBpKyspIHtcbiAgICAgIHZhciBjdXIgPSBkaXNwbGF5LnZpZXdbaV0sIHdyYXBwaW5nID0gY20ub3B0aW9ucy5saW5lV3JhcHBpbmc7XG4gICAgICB2YXIgaGVpZ2h0ID0gKHZvaWQgMCksIHdpZHRoID0gMDtcbiAgICAgIGlmIChjdXIuaGlkZGVuKSB7IGNvbnRpbnVlIH1cbiAgICAgIGlmIChpZSAmJiBpZV92ZXJzaW9uIDwgOCkge1xuICAgICAgICB2YXIgYm90ID0gY3VyLm5vZGUub2Zmc2V0VG9wICsgY3VyLm5vZGUub2Zmc2V0SGVpZ2h0O1xuICAgICAgICBoZWlnaHQgPSBib3QgLSBwcmV2Qm90dG9tO1xuICAgICAgICBwcmV2Qm90dG9tID0gYm90O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdmFyIGJveCA9IGN1ci5ub2RlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICBoZWlnaHQgPSBib3guYm90dG9tIC0gYm94LnRvcDtcbiAgICAgICAgLy8gQ2hlY2sgdGhhdCBsaW5lcyBkb24ndCBleHRlbmQgcGFzdCB0aGUgcmlnaHQgb2YgdGhlIGN1cnJlbnRcbiAgICAgICAgLy8gZWRpdG9yIHdpZHRoXG4gICAgICAgIGlmICghd3JhcHBpbmcgJiYgY3VyLnRleHQuZmlyc3RDaGlsZClcbiAgICAgICAgICB7IHdpZHRoID0gY3VyLnRleHQuZmlyc3RDaGlsZC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5yaWdodCAtIGJveC5sZWZ0IC0gMTsgfVxuICAgICAgfVxuICAgICAgdmFyIGRpZmYgPSBjdXIubGluZS5oZWlnaHQgLSBoZWlnaHQ7XG4gICAgICBpZiAoZGlmZiA+IC4wMDUgfHwgZGlmZiA8IC0uMDA1KSB7XG4gICAgICAgIHVwZGF0ZUxpbmVIZWlnaHQoY3VyLmxpbmUsIGhlaWdodCk7XG4gICAgICAgIHVwZGF0ZVdpZGdldEhlaWdodChjdXIubGluZSk7XG4gICAgICAgIGlmIChjdXIucmVzdCkgeyBmb3IgKHZhciBqID0gMDsgaiA8IGN1ci5yZXN0Lmxlbmd0aDsgaisrKVxuICAgICAgICAgIHsgdXBkYXRlV2lkZ2V0SGVpZ2h0KGN1ci5yZXN0W2pdKTsgfSB9XG4gICAgICB9XG4gICAgICBpZiAod2lkdGggPiBjbS5kaXNwbGF5LnNpemVyV2lkdGgpIHtcbiAgICAgICAgdmFyIGNoV2lkdGggPSBNYXRoLmNlaWwod2lkdGggLyBjaGFyV2lkdGgoY20uZGlzcGxheSkpO1xuICAgICAgICBpZiAoY2hXaWR0aCA+IGNtLmRpc3BsYXkubWF4TGluZUxlbmd0aCkge1xuICAgICAgICAgIGNtLmRpc3BsYXkubWF4TGluZUxlbmd0aCA9IGNoV2lkdGg7XG4gICAgICAgICAgY20uZGlzcGxheS5tYXhMaW5lID0gY3VyLmxpbmU7XG4gICAgICAgICAgY20uZGlzcGxheS5tYXhMaW5lQ2hhbmdlZCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBSZWFkIGFuZCBzdG9yZSB0aGUgaGVpZ2h0IG9mIGxpbmUgd2lkZ2V0cyBhc3NvY2lhdGVkIHdpdGggdGhlXG4gIC8vIGdpdmVuIGxpbmUuXG4gIGZ1bmN0aW9uIHVwZGF0ZVdpZGdldEhlaWdodChsaW5lKSB7XG4gICAgaWYgKGxpbmUud2lkZ2V0cykgeyBmb3IgKHZhciBpID0gMDsgaSA8IGxpbmUud2lkZ2V0cy5sZW5ndGg7ICsraSkge1xuICAgICAgdmFyIHcgPSBsaW5lLndpZGdldHNbaV0sIHBhcmVudCA9IHcubm9kZS5wYXJlbnROb2RlO1xuICAgICAgaWYgKHBhcmVudCkgeyB3LmhlaWdodCA9IHBhcmVudC5vZmZzZXRIZWlnaHQ7IH1cbiAgICB9IH1cbiAgfVxuXG4gIC8vIENvbXB1dGUgdGhlIGxpbmVzIHRoYXQgYXJlIHZpc2libGUgaW4gYSBnaXZlbiB2aWV3cG9ydCAoZGVmYXVsdHNcbiAgLy8gdGhlIHRoZSBjdXJyZW50IHNjcm9sbCBwb3NpdGlvbikuIHZpZXdwb3J0IG1heSBjb250YWluIHRvcCxcbiAgLy8gaGVpZ2h0LCBhbmQgZW5zdXJlIChzZWUgb3Auc2Nyb2xsVG9Qb3MpIHByb3BlcnRpZXMuXG4gIGZ1bmN0aW9uIHZpc2libGVMaW5lcyhkaXNwbGF5LCBkb2MsIHZpZXdwb3J0KSB7XG4gICAgdmFyIHRvcCA9IHZpZXdwb3J0ICYmIHZpZXdwb3J0LnRvcCAhPSBudWxsID8gTWF0aC5tYXgoMCwgdmlld3BvcnQudG9wKSA6IGRpc3BsYXkuc2Nyb2xsZXIuc2Nyb2xsVG9wO1xuICAgIHRvcCA9IE1hdGguZmxvb3IodG9wIC0gcGFkZGluZ1RvcChkaXNwbGF5KSk7XG4gICAgdmFyIGJvdHRvbSA9IHZpZXdwb3J0ICYmIHZpZXdwb3J0LmJvdHRvbSAhPSBudWxsID8gdmlld3BvcnQuYm90dG9tIDogdG9wICsgZGlzcGxheS53cmFwcGVyLmNsaWVudEhlaWdodDtcblxuICAgIHZhciBmcm9tID0gbGluZUF0SGVpZ2h0KGRvYywgdG9wKSwgdG8gPSBsaW5lQXRIZWlnaHQoZG9jLCBib3R0b20pO1xuICAgIC8vIEVuc3VyZSBpcyBhIHtmcm9tOiB7bGluZSwgY2h9LCB0bzoge2xpbmUsIGNofX0gb2JqZWN0LCBhbmRcbiAgICAvLyBmb3JjZXMgdGhvc2UgbGluZXMgaW50byB0aGUgdmlld3BvcnQgKGlmIHBvc3NpYmxlKS5cbiAgICBpZiAodmlld3BvcnQgJiYgdmlld3BvcnQuZW5zdXJlKSB7XG4gICAgICB2YXIgZW5zdXJlRnJvbSA9IHZpZXdwb3J0LmVuc3VyZS5mcm9tLmxpbmUsIGVuc3VyZVRvID0gdmlld3BvcnQuZW5zdXJlLnRvLmxpbmU7XG4gICAgICBpZiAoZW5zdXJlRnJvbSA8IGZyb20pIHtcbiAgICAgICAgZnJvbSA9IGVuc3VyZUZyb207XG4gICAgICAgIHRvID0gbGluZUF0SGVpZ2h0KGRvYywgaGVpZ2h0QXRMaW5lKGdldExpbmUoZG9jLCBlbnN1cmVGcm9tKSkgKyBkaXNwbGF5LndyYXBwZXIuY2xpZW50SGVpZ2h0KTtcbiAgICAgIH0gZWxzZSBpZiAoTWF0aC5taW4oZW5zdXJlVG8sIGRvYy5sYXN0TGluZSgpKSA+PSB0bykge1xuICAgICAgICBmcm9tID0gbGluZUF0SGVpZ2h0KGRvYywgaGVpZ2h0QXRMaW5lKGdldExpbmUoZG9jLCBlbnN1cmVUbykpIC0gZGlzcGxheS53cmFwcGVyLmNsaWVudEhlaWdodCk7XG4gICAgICAgIHRvID0gZW5zdXJlVG87XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB7ZnJvbTogZnJvbSwgdG86IE1hdGgubWF4KHRvLCBmcm9tICsgMSl9XG4gIH1cblxuICAvLyBTQ1JPTExJTkcgVEhJTkdTIElOVE8gVklFV1xuXG4gIC8vIElmIGFuIGVkaXRvciBzaXRzIG9uIHRoZSB0b3Agb3IgYm90dG9tIG9mIHRoZSB3aW5kb3csIHBhcnRpYWxseVxuICAvLyBzY3JvbGxlZCBvdXQgb2YgdmlldywgdGhpcyBlbnN1cmVzIHRoYXQgdGhlIGN1cnNvciBpcyB2aXNpYmxlLlxuICBmdW5jdGlvbiBtYXliZVNjcm9sbFdpbmRvdyhjbSwgcmVjdCkge1xuICAgIGlmIChzaWduYWxET01FdmVudChjbSwgXCJzY3JvbGxDdXJzb3JJbnRvVmlld1wiKSkgeyByZXR1cm4gfVxuXG4gICAgdmFyIGRpc3BsYXkgPSBjbS5kaXNwbGF5LCBib3ggPSBkaXNwbGF5LnNpemVyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLCBkb1Njcm9sbCA9IG51bGw7XG4gICAgaWYgKHJlY3QudG9wICsgYm94LnRvcCA8IDApIHsgZG9TY3JvbGwgPSB0cnVlOyB9XG4gICAgZWxzZSBpZiAocmVjdC5ib3R0b20gKyBib3gudG9wID4gKHdpbmRvdy5pbm5lckhlaWdodCB8fCBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0KSkgeyBkb1Njcm9sbCA9IGZhbHNlOyB9XG4gICAgaWYgKGRvU2Nyb2xsICE9IG51bGwgJiYgIXBoYW50b20pIHtcbiAgICAgIHZhciBzY3JvbGxOb2RlID0gZWx0KFwiZGl2XCIsIFwiXFx1MjAwYlwiLCBudWxsLCAoXCJwb3NpdGlvbjogYWJzb2x1dGU7XFxuICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogXCIgKyAocmVjdC50b3AgLSBkaXNwbGF5LnZpZXdPZmZzZXQgLSBwYWRkaW5nVG9wKGNtLmRpc3BsYXkpKSArIFwicHg7XFxuICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogXCIgKyAocmVjdC5ib3R0b20gLSByZWN0LnRvcCArIHNjcm9sbEdhcChjbSkgKyBkaXNwbGF5LmJhckhlaWdodCkgKyBcInB4O1xcbiAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiBcIiArIChyZWN0LmxlZnQpICsgXCJweDsgd2lkdGg6IFwiICsgKE1hdGgubWF4KDIsIHJlY3QucmlnaHQgLSByZWN0LmxlZnQpKSArIFwicHg7XCIpKTtcbiAgICAgIGNtLmRpc3BsYXkubGluZVNwYWNlLmFwcGVuZENoaWxkKHNjcm9sbE5vZGUpO1xuICAgICAgc2Nyb2xsTm9kZS5zY3JvbGxJbnRvVmlldyhkb1Njcm9sbCk7XG4gICAgICBjbS5kaXNwbGF5LmxpbmVTcGFjZS5yZW1vdmVDaGlsZChzY3JvbGxOb2RlKTtcbiAgICB9XG4gIH1cblxuICAvLyBTY3JvbGwgYSBnaXZlbiBwb3NpdGlvbiBpbnRvIHZpZXcgKGltbWVkaWF0ZWx5KSwgdmVyaWZ5aW5nIHRoYXRcbiAgLy8gaXQgYWN0dWFsbHkgYmVjYW1lIHZpc2libGUgKGFzIGxpbmUgaGVpZ2h0cyBhcmUgYWNjdXJhdGVseVxuICAvLyBtZWFzdXJlZCwgdGhlIHBvc2l0aW9uIG9mIHNvbWV0aGluZyBtYXkgJ2RyaWZ0JyBkdXJpbmcgZHJhd2luZykuXG4gIGZ1bmN0aW9uIHNjcm9sbFBvc0ludG9WaWV3KGNtLCBwb3MsIGVuZCwgbWFyZ2luKSB7XG4gICAgaWYgKG1hcmdpbiA9PSBudWxsKSB7IG1hcmdpbiA9IDA7IH1cbiAgICB2YXIgcmVjdDtcbiAgICBpZiAoIWNtLm9wdGlvbnMubGluZVdyYXBwaW5nICYmIHBvcyA9PSBlbmQpIHtcbiAgICAgIC8vIFNldCBwb3MgYW5kIGVuZCB0byB0aGUgY3Vyc29yIHBvc2l0aW9ucyBhcm91bmQgdGhlIGNoYXJhY3RlciBwb3Mgc3RpY2tzIHRvXG4gICAgICAvLyBJZiBwb3Muc3RpY2t5ID09IFwiYmVmb3JlXCIsIHRoYXQgaXMgYXJvdW5kIHBvcy5jaCAtIDEsIG90aGVyd2lzZSBhcm91bmQgcG9zLmNoXG4gICAgICAvLyBJZiBwb3MgPT0gUG9zKF8sIDAsIFwiYmVmb3JlXCIpLCBwb3MgYW5kIGVuZCBhcmUgdW5jaGFuZ2VkXG4gICAgICBwb3MgPSBwb3MuY2ggPyBQb3MocG9zLmxpbmUsIHBvcy5zdGlja3kgPT0gXCJiZWZvcmVcIiA/IHBvcy5jaCAtIDEgOiBwb3MuY2gsIFwiYWZ0ZXJcIikgOiBwb3M7XG4gICAgICBlbmQgPSBwb3Muc3RpY2t5ID09IFwiYmVmb3JlXCIgPyBQb3MocG9zLmxpbmUsIHBvcy5jaCArIDEsIFwiYmVmb3JlXCIpIDogcG9zO1xuICAgIH1cbiAgICBmb3IgKHZhciBsaW1pdCA9IDA7IGxpbWl0IDwgNTsgbGltaXQrKykge1xuICAgICAgdmFyIGNoYW5nZWQgPSBmYWxzZTtcbiAgICAgIHZhciBjb29yZHMgPSBjdXJzb3JDb29yZHMoY20sIHBvcyk7XG4gICAgICB2YXIgZW5kQ29vcmRzID0gIWVuZCB8fCBlbmQgPT0gcG9zID8gY29vcmRzIDogY3Vyc29yQ29vcmRzKGNtLCBlbmQpO1xuICAgICAgcmVjdCA9IHtsZWZ0OiBNYXRoLm1pbihjb29yZHMubGVmdCwgZW5kQ29vcmRzLmxlZnQpLFxuICAgICAgICAgICAgICB0b3A6IE1hdGgubWluKGNvb3Jkcy50b3AsIGVuZENvb3Jkcy50b3ApIC0gbWFyZ2luLFxuICAgICAgICAgICAgICByaWdodDogTWF0aC5tYXgoY29vcmRzLmxlZnQsIGVuZENvb3Jkcy5sZWZ0KSxcbiAgICAgICAgICAgICAgYm90dG9tOiBNYXRoLm1heChjb29yZHMuYm90dG9tLCBlbmRDb29yZHMuYm90dG9tKSArIG1hcmdpbn07XG4gICAgICB2YXIgc2Nyb2xsUG9zID0gY2FsY3VsYXRlU2Nyb2xsUG9zKGNtLCByZWN0KTtcbiAgICAgIHZhciBzdGFydFRvcCA9IGNtLmRvYy5zY3JvbGxUb3AsIHN0YXJ0TGVmdCA9IGNtLmRvYy5zY3JvbGxMZWZ0O1xuICAgICAgaWYgKHNjcm9sbFBvcy5zY3JvbGxUb3AgIT0gbnVsbCkge1xuICAgICAgICB1cGRhdGVTY3JvbGxUb3AoY20sIHNjcm9sbFBvcy5zY3JvbGxUb3ApO1xuICAgICAgICBpZiAoTWF0aC5hYnMoY20uZG9jLnNjcm9sbFRvcCAtIHN0YXJ0VG9wKSA+IDEpIHsgY2hhbmdlZCA9IHRydWU7IH1cbiAgICAgIH1cbiAgICAgIGlmIChzY3JvbGxQb3Muc2Nyb2xsTGVmdCAhPSBudWxsKSB7XG4gICAgICAgIHNldFNjcm9sbExlZnQoY20sIHNjcm9sbFBvcy5zY3JvbGxMZWZ0KTtcbiAgICAgICAgaWYgKE1hdGguYWJzKGNtLmRvYy5zY3JvbGxMZWZ0IC0gc3RhcnRMZWZ0KSA+IDEpIHsgY2hhbmdlZCA9IHRydWU7IH1cbiAgICAgIH1cbiAgICAgIGlmICghY2hhbmdlZCkgeyBicmVhayB9XG4gICAgfVxuICAgIHJldHVybiByZWN0XG4gIH1cblxuICAvLyBTY3JvbGwgYSBnaXZlbiBzZXQgb2YgY29vcmRpbmF0ZXMgaW50byB2aWV3IChpbW1lZGlhdGVseSkuXG4gIGZ1bmN0aW9uIHNjcm9sbEludG9WaWV3KGNtLCByZWN0KSB7XG4gICAgdmFyIHNjcm9sbFBvcyA9IGNhbGN1bGF0ZVNjcm9sbFBvcyhjbSwgcmVjdCk7XG4gICAgaWYgKHNjcm9sbFBvcy5zY3JvbGxUb3AgIT0gbnVsbCkgeyB1cGRhdGVTY3JvbGxUb3AoY20sIHNjcm9sbFBvcy5zY3JvbGxUb3ApOyB9XG4gICAgaWYgKHNjcm9sbFBvcy5zY3JvbGxMZWZ0ICE9IG51bGwpIHsgc2V0U2Nyb2xsTGVmdChjbSwgc2Nyb2xsUG9zLnNjcm9sbExlZnQpOyB9XG4gIH1cblxuICAvLyBDYWxjdWxhdGUgYSBuZXcgc2Nyb2xsIHBvc2l0aW9uIG5lZWRlZCB0byBzY3JvbGwgdGhlIGdpdmVuXG4gIC8vIHJlY3RhbmdsZSBpbnRvIHZpZXcuIFJldHVybnMgYW4gb2JqZWN0IHdpdGggc2Nyb2xsVG9wIGFuZFxuICAvLyBzY3JvbGxMZWZ0IHByb3BlcnRpZXMuIFdoZW4gdGhlc2UgYXJlIHVuZGVmaW5lZCwgdGhlXG4gIC8vIHZlcnRpY2FsL2hvcml6b250YWwgcG9zaXRpb24gZG9lcyBub3QgbmVlZCB0byBiZSBhZGp1c3RlZC5cbiAgZnVuY3Rpb24gY2FsY3VsYXRlU2Nyb2xsUG9zKGNtLCByZWN0KSB7XG4gICAgdmFyIGRpc3BsYXkgPSBjbS5kaXNwbGF5LCBzbmFwTWFyZ2luID0gdGV4dEhlaWdodChjbS5kaXNwbGF5KTtcbiAgICBpZiAocmVjdC50b3AgPCAwKSB7IHJlY3QudG9wID0gMDsgfVxuICAgIHZhciBzY3JlZW50b3AgPSBjbS5jdXJPcCAmJiBjbS5jdXJPcC5zY3JvbGxUb3AgIT0gbnVsbCA/IGNtLmN1ck9wLnNjcm9sbFRvcCA6IGRpc3BsYXkuc2Nyb2xsZXIuc2Nyb2xsVG9wO1xuICAgIHZhciBzY3JlZW4gPSBkaXNwbGF5SGVpZ2h0KGNtKSwgcmVzdWx0ID0ge307XG4gICAgaWYgKHJlY3QuYm90dG9tIC0gcmVjdC50b3AgPiBzY3JlZW4pIHsgcmVjdC5ib3R0b20gPSByZWN0LnRvcCArIHNjcmVlbjsgfVxuICAgIHZhciBkb2NCb3R0b20gPSBjbS5kb2MuaGVpZ2h0ICsgcGFkZGluZ1ZlcnQoZGlzcGxheSk7XG4gICAgdmFyIGF0VG9wID0gcmVjdC50b3AgPCBzbmFwTWFyZ2luLCBhdEJvdHRvbSA9IHJlY3QuYm90dG9tID4gZG9jQm90dG9tIC0gc25hcE1hcmdpbjtcbiAgICBpZiAocmVjdC50b3AgPCBzY3JlZW50b3ApIHtcbiAgICAgIHJlc3VsdC5zY3JvbGxUb3AgPSBhdFRvcCA/IDAgOiByZWN0LnRvcDtcbiAgICB9IGVsc2UgaWYgKHJlY3QuYm90dG9tID4gc2NyZWVudG9wICsgc2NyZWVuKSB7XG4gICAgICB2YXIgbmV3VG9wID0gTWF0aC5taW4ocmVjdC50b3AsIChhdEJvdHRvbSA/IGRvY0JvdHRvbSA6IHJlY3QuYm90dG9tKSAtIHNjcmVlbik7XG4gICAgICBpZiAobmV3VG9wICE9IHNjcmVlbnRvcCkgeyByZXN1bHQuc2Nyb2xsVG9wID0gbmV3VG9wOyB9XG4gICAgfVxuXG4gICAgdmFyIHNjcmVlbmxlZnQgPSBjbS5jdXJPcCAmJiBjbS5jdXJPcC5zY3JvbGxMZWZ0ICE9IG51bGwgPyBjbS5jdXJPcC5zY3JvbGxMZWZ0IDogZGlzcGxheS5zY3JvbGxlci5zY3JvbGxMZWZ0O1xuICAgIHZhciBzY3JlZW53ID0gZGlzcGxheVdpZHRoKGNtKSAtIChjbS5vcHRpb25zLmZpeGVkR3V0dGVyID8gZGlzcGxheS5ndXR0ZXJzLm9mZnNldFdpZHRoIDogMCk7XG4gICAgdmFyIHRvb1dpZGUgPSByZWN0LnJpZ2h0IC0gcmVjdC5sZWZ0ID4gc2NyZWVudztcbiAgICBpZiAodG9vV2lkZSkgeyByZWN0LnJpZ2h0ID0gcmVjdC5sZWZ0ICsgc2NyZWVudzsgfVxuICAgIGlmIChyZWN0LmxlZnQgPCAxMClcbiAgICAgIHsgcmVzdWx0LnNjcm9sbExlZnQgPSAwOyB9XG4gICAgZWxzZSBpZiAocmVjdC5sZWZ0IDwgc2NyZWVubGVmdClcbiAgICAgIHsgcmVzdWx0LnNjcm9sbExlZnQgPSBNYXRoLm1heCgwLCByZWN0LmxlZnQgLSAodG9vV2lkZSA/IDAgOiAxMCkpOyB9XG4gICAgZWxzZSBpZiAocmVjdC5yaWdodCA+IHNjcmVlbncgKyBzY3JlZW5sZWZ0IC0gMylcbiAgICAgIHsgcmVzdWx0LnNjcm9sbExlZnQgPSByZWN0LnJpZ2h0ICsgKHRvb1dpZGUgPyAwIDogMTApIC0gc2NyZWVudzsgfVxuICAgIHJldHVybiByZXN1bHRcbiAgfVxuXG4gIC8vIFN0b3JlIGEgcmVsYXRpdmUgYWRqdXN0bWVudCB0byB0aGUgc2Nyb2xsIHBvc2l0aW9uIGluIHRoZSBjdXJyZW50XG4gIC8vIG9wZXJhdGlvbiAodG8gYmUgYXBwbGllZCB3aGVuIHRoZSBvcGVyYXRpb24gZmluaXNoZXMpLlxuICBmdW5jdGlvbiBhZGRUb1Njcm9sbFRvcChjbSwgdG9wKSB7XG4gICAgaWYgKHRvcCA9PSBudWxsKSB7IHJldHVybiB9XG4gICAgcmVzb2x2ZVNjcm9sbFRvUG9zKGNtKTtcbiAgICBjbS5jdXJPcC5zY3JvbGxUb3AgPSAoY20uY3VyT3Auc2Nyb2xsVG9wID09IG51bGwgPyBjbS5kb2Muc2Nyb2xsVG9wIDogY20uY3VyT3Auc2Nyb2xsVG9wKSArIHRvcDtcbiAgfVxuXG4gIC8vIE1ha2Ugc3VyZSB0aGF0IGF0IHRoZSBlbmQgb2YgdGhlIG9wZXJhdGlvbiB0aGUgY3VycmVudCBjdXJzb3IgaXNcbiAgLy8gc2hvd24uXG4gIGZ1bmN0aW9uIGVuc3VyZUN1cnNvclZpc2libGUoY20pIHtcbiAgICByZXNvbHZlU2Nyb2xsVG9Qb3MoY20pO1xuICAgIHZhciBjdXIgPSBjbS5nZXRDdXJzb3IoKTtcbiAgICBjbS5jdXJPcC5zY3JvbGxUb1BvcyA9IHtmcm9tOiBjdXIsIHRvOiBjdXIsIG1hcmdpbjogY20ub3B0aW9ucy5jdXJzb3JTY3JvbGxNYXJnaW59O1xuICB9XG5cbiAgZnVuY3Rpb24gc2Nyb2xsVG9Db29yZHMoY20sIHgsIHkpIHtcbiAgICBpZiAoeCAhPSBudWxsIHx8IHkgIT0gbnVsbCkgeyByZXNvbHZlU2Nyb2xsVG9Qb3MoY20pOyB9XG4gICAgaWYgKHggIT0gbnVsbCkgeyBjbS5jdXJPcC5zY3JvbGxMZWZ0ID0geDsgfVxuICAgIGlmICh5ICE9IG51bGwpIHsgY20uY3VyT3Auc2Nyb2xsVG9wID0geTsgfVxuICB9XG5cbiAgZnVuY3Rpb24gc2Nyb2xsVG9SYW5nZShjbSwgcmFuZ2UkJDEpIHtcbiAgICByZXNvbHZlU2Nyb2xsVG9Qb3MoY20pO1xuICAgIGNtLmN1ck9wLnNjcm9sbFRvUG9zID0gcmFuZ2UkJDE7XG4gIH1cblxuICAvLyBXaGVuIGFuIG9wZXJhdGlvbiBoYXMgaXRzIHNjcm9sbFRvUG9zIHByb3BlcnR5IHNldCwgYW5kIGFub3RoZXJcbiAgLy8gc2Nyb2xsIGFjdGlvbiBpcyBhcHBsaWVkIGJlZm9yZSB0aGUgZW5kIG9mIHRoZSBvcGVyYXRpb24sIHRoaXNcbiAgLy8gJ3NpbXVsYXRlcycgc2Nyb2xsaW5nIHRoYXQgcG9zaXRpb24gaW50byB2aWV3IGluIGEgY2hlYXAgd2F5LCBzb1xuICAvLyB0aGF0IHRoZSBlZmZlY3Qgb2YgaW50ZXJtZWRpYXRlIHNjcm9sbCBjb21tYW5kcyBpcyBub3QgaWdub3JlZC5cbiAgZnVuY3Rpb24gcmVzb2x2ZVNjcm9sbFRvUG9zKGNtKSB7XG4gICAgdmFyIHJhbmdlJCQxID0gY20uY3VyT3Auc2Nyb2xsVG9Qb3M7XG4gICAgaWYgKHJhbmdlJCQxKSB7XG4gICAgICBjbS5jdXJPcC5zY3JvbGxUb1BvcyA9IG51bGw7XG4gICAgICB2YXIgZnJvbSA9IGVzdGltYXRlQ29vcmRzKGNtLCByYW5nZSQkMS5mcm9tKSwgdG8gPSBlc3RpbWF0ZUNvb3JkcyhjbSwgcmFuZ2UkJDEudG8pO1xuICAgICAgc2Nyb2xsVG9Db29yZHNSYW5nZShjbSwgZnJvbSwgdG8sIHJhbmdlJCQxLm1hcmdpbik7XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gc2Nyb2xsVG9Db29yZHNSYW5nZShjbSwgZnJvbSwgdG8sIG1hcmdpbikge1xuICAgIHZhciBzUG9zID0gY2FsY3VsYXRlU2Nyb2xsUG9zKGNtLCB7XG4gICAgICBsZWZ0OiBNYXRoLm1pbihmcm9tLmxlZnQsIHRvLmxlZnQpLFxuICAgICAgdG9wOiBNYXRoLm1pbihmcm9tLnRvcCwgdG8udG9wKSAtIG1hcmdpbixcbiAgICAgIHJpZ2h0OiBNYXRoLm1heChmcm9tLnJpZ2h0LCB0by5yaWdodCksXG4gICAgICBib3R0b206IE1hdGgubWF4KGZyb20uYm90dG9tLCB0by5ib3R0b20pICsgbWFyZ2luXG4gICAgfSk7XG4gICAgc2Nyb2xsVG9Db29yZHMoY20sIHNQb3Muc2Nyb2xsTGVmdCwgc1Bvcy5zY3JvbGxUb3ApO1xuICB9XG5cbiAgLy8gU3luYyB0aGUgc2Nyb2xsYWJsZSBhcmVhIGFuZCBzY3JvbGxiYXJzLCBlbnN1cmUgdGhlIHZpZXdwb3J0XG4gIC8vIGNvdmVycyB0aGUgdmlzaWJsZSBhcmVhLlxuICBmdW5jdGlvbiB1cGRhdGVTY3JvbGxUb3AoY20sIHZhbCkge1xuICAgIGlmIChNYXRoLmFicyhjbS5kb2Muc2Nyb2xsVG9wIC0gdmFsKSA8IDIpIHsgcmV0dXJuIH1cbiAgICBpZiAoIWdlY2tvKSB7IHVwZGF0ZURpc3BsYXlTaW1wbGUoY20sIHt0b3A6IHZhbH0pOyB9XG4gICAgc2V0U2Nyb2xsVG9wKGNtLCB2YWwsIHRydWUpO1xuICAgIGlmIChnZWNrbykgeyB1cGRhdGVEaXNwbGF5U2ltcGxlKGNtKTsgfVxuICAgIHN0YXJ0V29ya2VyKGNtLCAxMDApO1xuICB9XG5cbiAgZnVuY3Rpb24gc2V0U2Nyb2xsVG9wKGNtLCB2YWwsIGZvcmNlU2Nyb2xsKSB7XG4gICAgdmFsID0gTWF0aC5taW4oY20uZGlzcGxheS5zY3JvbGxlci5zY3JvbGxIZWlnaHQgLSBjbS5kaXNwbGF5LnNjcm9sbGVyLmNsaWVudEhlaWdodCwgdmFsKTtcbiAgICBpZiAoY20uZGlzcGxheS5zY3JvbGxlci5zY3JvbGxUb3AgPT0gdmFsICYmICFmb3JjZVNjcm9sbCkgeyByZXR1cm4gfVxuICAgIGNtLmRvYy5zY3JvbGxUb3AgPSB2YWw7XG4gICAgY20uZGlzcGxheS5zY3JvbGxiYXJzLnNldFNjcm9sbFRvcCh2YWwpO1xuICAgIGlmIChjbS5kaXNwbGF5LnNjcm9sbGVyLnNjcm9sbFRvcCAhPSB2YWwpIHsgY20uZGlzcGxheS5zY3JvbGxlci5zY3JvbGxUb3AgPSB2YWw7IH1cbiAgfVxuXG4gIC8vIFN5bmMgc2Nyb2xsZXIgYW5kIHNjcm9sbGJhciwgZW5zdXJlIHRoZSBndXR0ZXIgZWxlbWVudHMgYXJlXG4gIC8vIGFsaWduZWQuXG4gIGZ1bmN0aW9uIHNldFNjcm9sbExlZnQoY20sIHZhbCwgaXNTY3JvbGxlciwgZm9yY2VTY3JvbGwpIHtcbiAgICB2YWwgPSBNYXRoLm1pbih2YWwsIGNtLmRpc3BsYXkuc2Nyb2xsZXIuc2Nyb2xsV2lkdGggLSBjbS5kaXNwbGF5LnNjcm9sbGVyLmNsaWVudFdpZHRoKTtcbiAgICBpZiAoKGlzU2Nyb2xsZXIgPyB2YWwgPT0gY20uZG9jLnNjcm9sbExlZnQgOiBNYXRoLmFicyhjbS5kb2Muc2Nyb2xsTGVmdCAtIHZhbCkgPCAyKSAmJiAhZm9yY2VTY3JvbGwpIHsgcmV0dXJuIH1cbiAgICBjbS5kb2Muc2Nyb2xsTGVmdCA9IHZhbDtcbiAgICBhbGlnbkhvcml6b250YWxseShjbSk7XG4gICAgaWYgKGNtLmRpc3BsYXkuc2Nyb2xsZXIuc2Nyb2xsTGVmdCAhPSB2YWwpIHsgY20uZGlzcGxheS5zY3JvbGxlci5zY3JvbGxMZWZ0ID0gdmFsOyB9XG4gICAgY20uZGlzcGxheS5zY3JvbGxiYXJzLnNldFNjcm9sbExlZnQodmFsKTtcbiAgfVxuXG4gIC8vIFNDUk9MTEJBUlNcblxuICAvLyBQcmVwYXJlIERPTSByZWFkcyBuZWVkZWQgdG8gdXBkYXRlIHRoZSBzY3JvbGxiYXJzLiBEb25lIGluIG9uZVxuICAvLyBzaG90IHRvIG1pbmltaXplIHVwZGF0ZS9tZWFzdXJlIHJvdW5kdHJpcHMuXG4gIGZ1bmN0aW9uIG1lYXN1cmVGb3JTY3JvbGxiYXJzKGNtKSB7XG4gICAgdmFyIGQgPSBjbS5kaXNwbGF5LCBndXR0ZXJXID0gZC5ndXR0ZXJzLm9mZnNldFdpZHRoO1xuICAgIHZhciBkb2NIID0gTWF0aC5yb3VuZChjbS5kb2MuaGVpZ2h0ICsgcGFkZGluZ1ZlcnQoY20uZGlzcGxheSkpO1xuICAgIHJldHVybiB7XG4gICAgICBjbGllbnRIZWlnaHQ6IGQuc2Nyb2xsZXIuY2xpZW50SGVpZ2h0LFxuICAgICAgdmlld0hlaWdodDogZC53cmFwcGVyLmNsaWVudEhlaWdodCxcbiAgICAgIHNjcm9sbFdpZHRoOiBkLnNjcm9sbGVyLnNjcm9sbFdpZHRoLCBjbGllbnRXaWR0aDogZC5zY3JvbGxlci5jbGllbnRXaWR0aCxcbiAgICAgIHZpZXdXaWR0aDogZC53cmFwcGVyLmNsaWVudFdpZHRoLFxuICAgICAgYmFyTGVmdDogY20ub3B0aW9ucy5maXhlZEd1dHRlciA/IGd1dHRlclcgOiAwLFxuICAgICAgZG9jSGVpZ2h0OiBkb2NILFxuICAgICAgc2Nyb2xsSGVpZ2h0OiBkb2NIICsgc2Nyb2xsR2FwKGNtKSArIGQuYmFySGVpZ2h0LFxuICAgICAgbmF0aXZlQmFyV2lkdGg6IGQubmF0aXZlQmFyV2lkdGgsXG4gICAgICBndXR0ZXJXaWR0aDogZ3V0dGVyV1xuICAgIH1cbiAgfVxuXG4gIHZhciBOYXRpdmVTY3JvbGxiYXJzID0gZnVuY3Rpb24ocGxhY2UsIHNjcm9sbCwgY20pIHtcbiAgICB0aGlzLmNtID0gY207XG4gICAgdmFyIHZlcnQgPSB0aGlzLnZlcnQgPSBlbHQoXCJkaXZcIiwgW2VsdChcImRpdlwiLCBudWxsLCBudWxsLCBcIm1pbi13aWR0aDogMXB4XCIpXSwgXCJDb2RlTWlycm9yLXZzY3JvbGxiYXJcIik7XG4gICAgdmFyIGhvcml6ID0gdGhpcy5ob3JpeiA9IGVsdChcImRpdlwiLCBbZWx0KFwiZGl2XCIsIG51bGwsIG51bGwsIFwiaGVpZ2h0OiAxMDAlOyBtaW4taGVpZ2h0OiAxcHhcIildLCBcIkNvZGVNaXJyb3ItaHNjcm9sbGJhclwiKTtcbiAgICB2ZXJ0LnRhYkluZGV4ID0gaG9yaXoudGFiSW5kZXggPSAtMTtcbiAgICBwbGFjZSh2ZXJ0KTsgcGxhY2UoaG9yaXopO1xuXG4gICAgb24odmVydCwgXCJzY3JvbGxcIiwgZnVuY3Rpb24gKCkge1xuICAgICAgaWYgKHZlcnQuY2xpZW50SGVpZ2h0KSB7IHNjcm9sbCh2ZXJ0LnNjcm9sbFRvcCwgXCJ2ZXJ0aWNhbFwiKTsgfVxuICAgIH0pO1xuICAgIG9uKGhvcml6LCBcInNjcm9sbFwiLCBmdW5jdGlvbiAoKSB7XG4gICAgICBpZiAoaG9yaXouY2xpZW50V2lkdGgpIHsgc2Nyb2xsKGhvcml6LnNjcm9sbExlZnQsIFwiaG9yaXpvbnRhbFwiKTsgfVxuICAgIH0pO1xuXG4gICAgdGhpcy5jaGVja2VkWmVyb1dpZHRoID0gZmFsc2U7XG4gICAgLy8gTmVlZCB0byBzZXQgYSBtaW5pbXVtIHdpZHRoIHRvIHNlZSB0aGUgc2Nyb2xsYmFyIG9uIElFNyAoYnV0IG11c3Qgbm90IHNldCBpdCBvbiBJRTgpLlxuICAgIGlmIChpZSAmJiBpZV92ZXJzaW9uIDwgOCkgeyB0aGlzLmhvcml6LnN0eWxlLm1pbkhlaWdodCA9IHRoaXMudmVydC5zdHlsZS5taW5XaWR0aCA9IFwiMThweFwiOyB9XG4gIH07XG5cbiAgTmF0aXZlU2Nyb2xsYmFycy5wcm90b3R5cGUudXBkYXRlID0gZnVuY3Rpb24gKG1lYXN1cmUpIHtcbiAgICB2YXIgbmVlZHNIID0gbWVhc3VyZS5zY3JvbGxXaWR0aCA+IG1lYXN1cmUuY2xpZW50V2lkdGggKyAxO1xuICAgIHZhciBuZWVkc1YgPSBtZWFzdXJlLnNjcm9sbEhlaWdodCA+IG1lYXN1cmUuY2xpZW50SGVpZ2h0ICsgMTtcbiAgICB2YXIgc1dpZHRoID0gbWVhc3VyZS5uYXRpdmVCYXJXaWR0aDtcblxuICAgIGlmIChuZWVkc1YpIHtcbiAgICAgIHRoaXMudmVydC5zdHlsZS5kaXNwbGF5ID0gXCJibG9ja1wiO1xuICAgICAgdGhpcy52ZXJ0LnN0eWxlLmJvdHRvbSA9IG5lZWRzSCA/IHNXaWR0aCArIFwicHhcIiA6IFwiMFwiO1xuICAgICAgdmFyIHRvdGFsSGVpZ2h0ID0gbWVhc3VyZS52aWV3SGVpZ2h0IC0gKG5lZWRzSCA/IHNXaWR0aCA6IDApO1xuICAgICAgLy8gQSBidWcgaW4gSUU4IGNhbiBjYXVzZSB0aGlzIHZhbHVlIHRvIGJlIG5lZ2F0aXZlLCBzbyBndWFyZCBpdC5cbiAgICAgIHRoaXMudmVydC5maXJzdENoaWxkLnN0eWxlLmhlaWdodCA9XG4gICAgICAgIE1hdGgubWF4KDAsIG1lYXN1cmUuc2Nyb2xsSGVpZ2h0IC0gbWVhc3VyZS5jbGllbnRIZWlnaHQgKyB0b3RhbEhlaWdodCkgKyBcInB4XCI7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudmVydC5zdHlsZS5kaXNwbGF5ID0gXCJcIjtcbiAgICAgIHRoaXMudmVydC5maXJzdENoaWxkLnN0eWxlLmhlaWdodCA9IFwiMFwiO1xuICAgIH1cblxuICAgIGlmIChuZWVkc0gpIHtcbiAgICAgIHRoaXMuaG9yaXouc3R5bGUuZGlzcGxheSA9IFwiYmxvY2tcIjtcbiAgICAgIHRoaXMuaG9yaXouc3R5bGUucmlnaHQgPSBuZWVkc1YgPyBzV2lkdGggKyBcInB4XCIgOiBcIjBcIjtcbiAgICAgIHRoaXMuaG9yaXouc3R5bGUubGVmdCA9IG1lYXN1cmUuYmFyTGVmdCArIFwicHhcIjtcbiAgICAgIHZhciB0b3RhbFdpZHRoID0gbWVhc3VyZS52aWV3V2lkdGggLSBtZWFzdXJlLmJhckxlZnQgLSAobmVlZHNWID8gc1dpZHRoIDogMCk7XG4gICAgICB0aGlzLmhvcml6LmZpcnN0Q2hpbGQuc3R5bGUud2lkdGggPVxuICAgICAgICBNYXRoLm1heCgwLCBtZWFzdXJlLnNjcm9sbFdpZHRoIC0gbWVhc3VyZS5jbGllbnRXaWR0aCArIHRvdGFsV2lkdGgpICsgXCJweFwiO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmhvcml6LnN0eWxlLmRpc3BsYXkgPSBcIlwiO1xuICAgICAgdGhpcy5ob3Jpei5maXJzdENoaWxkLnN0eWxlLndpZHRoID0gXCIwXCI7XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLmNoZWNrZWRaZXJvV2lkdGggJiYgbWVhc3VyZS5jbGllbnRIZWlnaHQgPiAwKSB7XG4gICAgICBpZiAoc1dpZHRoID09IDApIHsgdGhpcy56ZXJvV2lkdGhIYWNrKCk7IH1cbiAgICAgIHRoaXMuY2hlY2tlZFplcm9XaWR0aCA9IHRydWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtyaWdodDogbmVlZHNWID8gc1dpZHRoIDogMCwgYm90dG9tOiBuZWVkc0ggPyBzV2lkdGggOiAwfVxuICB9O1xuXG4gIE5hdGl2ZVNjcm9sbGJhcnMucHJvdG90eXBlLnNldFNjcm9sbExlZnQgPSBmdW5jdGlvbiAocG9zKSB7XG4gICAgaWYgKHRoaXMuaG9yaXouc2Nyb2xsTGVmdCAhPSBwb3MpIHsgdGhpcy5ob3Jpei5zY3JvbGxMZWZ0ID0gcG9zOyB9XG4gICAgaWYgKHRoaXMuZGlzYWJsZUhvcml6KSB7IHRoaXMuZW5hYmxlWmVyb1dpZHRoQmFyKHRoaXMuaG9yaXosIHRoaXMuZGlzYWJsZUhvcml6LCBcImhvcml6XCIpOyB9XG4gIH07XG5cbiAgTmF0aXZlU2Nyb2xsYmFycy5wcm90b3R5cGUuc2V0U2Nyb2xsVG9wID0gZnVuY3Rpb24gKHBvcykge1xuICAgIGlmICh0aGlzLnZlcnQuc2Nyb2xsVG9wICE9IHBvcykgeyB0aGlzLnZlcnQuc2Nyb2xsVG9wID0gcG9zOyB9XG4gICAgaWYgKHRoaXMuZGlzYWJsZVZlcnQpIHsgdGhpcy5lbmFibGVaZXJvV2lkdGhCYXIodGhpcy52ZXJ0LCB0aGlzLmRpc2FibGVWZXJ0LCBcInZlcnRcIik7IH1cbiAgfTtcblxuICBOYXRpdmVTY3JvbGxiYXJzLnByb3RvdHlwZS56ZXJvV2lkdGhIYWNrID0gZnVuY3Rpb24gKCkge1xuICAgIHZhciB3ID0gbWFjICYmICFtYWNfZ2VNb3VudGFpbkxpb24gPyBcIjEycHhcIiA6IFwiMThweFwiO1xuICAgIHRoaXMuaG9yaXouc3R5bGUuaGVpZ2h0ID0gdGhpcy52ZXJ0LnN0eWxlLndpZHRoID0gdztcbiAgICB0aGlzLmhvcml6LnN0eWxlLnBvaW50ZXJFdmVudHMgPSB0aGlzLnZlcnQuc3R5bGUucG9pbnRlckV2ZW50cyA9IFwibm9uZVwiO1xuICAgIHRoaXMuZGlzYWJsZUhvcml6ID0gbmV3IERlbGF5ZWQ7XG4gICAgdGhpcy5kaXNhYmxlVmVydCA9IG5ldyBEZWxheWVkO1xuICB9O1xuXG4gIE5hdGl2ZVNjcm9sbGJhcnMucHJvdG90eXBlLmVuYWJsZVplcm9XaWR0aEJhciA9IGZ1bmN0aW9uIChiYXIsIGRlbGF5LCB0eXBlKSB7XG4gICAgYmFyLnN0eWxlLnBvaW50ZXJFdmVudHMgPSBcImF1dG9cIjtcbiAgICBmdW5jdGlvbiBtYXliZURpc2FibGUoKSB7XG4gICAgICAvLyBUbyBmaW5kIG91dCB3aGV0aGVyIHRoZSBzY3JvbGxiYXIgaXMgc3RpbGwgdmlzaWJsZSwgd2VcbiAgICAgIC8vIGNoZWNrIHdoZXRoZXIgdGhlIGVsZW1lbnQgdW5kZXIgdGhlIHBpeGVsIGluIHRoZSBib3R0b21cbiAgICAgIC8vIHJpZ2h0IGNvcm5lciBvZiB0aGUgc2Nyb2xsYmFyIGJveCBpcyB0aGUgc2Nyb2xsYmFyIGJveFxuICAgICAgLy8gaXRzZWxmICh3aGVuIHRoZSBiYXIgaXMgc3RpbGwgdmlzaWJsZSkgb3IgaXRzIGZpbGxlciBjaGlsZFxuICAgICAgLy8gKHdoZW4gdGhlIGJhciBpcyBoaWRkZW4pLiBJZiBpdCBpcyBzdGlsbCB2aXNpYmxlLCB3ZSBrZWVwXG4gICAgICAvLyBpdCBlbmFibGVkLCBpZiBpdCdzIGhpZGRlbiwgd2UgZGlzYWJsZSBwb2ludGVyIGV2ZW50cy5cbiAgICAgIHZhciBib3ggPSBiYXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICB2YXIgZWx0JCQxID0gdHlwZSA9PSBcInZlcnRcIiA/IGRvY3VtZW50LmVsZW1lbnRGcm9tUG9pbnQoYm94LnJpZ2h0IC0gMSwgKGJveC50b3AgKyBib3guYm90dG9tKSAvIDIpXG4gICAgICAgICAgOiBkb2N1bWVudC5lbGVtZW50RnJvbVBvaW50KChib3gucmlnaHQgKyBib3gubGVmdCkgLyAyLCBib3guYm90dG9tIC0gMSk7XG4gICAgICBpZiAoZWx0JCQxICE9IGJhcikgeyBiYXIuc3R5bGUucG9pbnRlckV2ZW50cyA9IFwibm9uZVwiOyB9XG4gICAgICBlbHNlIHsgZGVsYXkuc2V0KDEwMDAsIG1heWJlRGlzYWJsZSk7IH1cbiAgICB9XG4gICAgZGVsYXkuc2V0KDEwMDAsIG1heWJlRGlzYWJsZSk7XG4gIH07XG5cbiAgTmF0aXZlU2Nyb2xsYmFycy5wcm90b3R5cGUuY2xlYXIgPSBmdW5jdGlvbiAoKSB7XG4gICAgdmFyIHBhcmVudCA9IHRoaXMuaG9yaXoucGFyZW50Tm9kZTtcbiAgICBwYXJlbnQucmVtb3ZlQ2hpbGQodGhpcy5ob3Jpeik7XG4gICAgcGFyZW50LnJlbW92ZUNoaWxkKHRoaXMudmVydCk7XG4gIH07XG5cbiAgdmFyIE51bGxTY3JvbGxiYXJzID0gZnVuY3Rpb24gKCkge307XG5cbiAgTnVsbFNjcm9sbGJhcnMucHJvdG90eXBlLnVwZGF0ZSA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHtib3R0b206IDAsIHJpZ2h0OiAwfSB9O1xuICBOdWxsU2Nyb2xsYmFycy5wcm90b3R5cGUuc2V0U2Nyb2xsTGVmdCA9IGZ1bmN0aW9uICgpIHt9O1xuICBOdWxsU2Nyb2xsYmFycy5wcm90b3R5cGUuc2V0U2Nyb2xsVG9wID0gZnVuY3Rpb24gKCkge307XG4gIE51bGxTY3JvbGxiYXJzLnByb3RvdHlwZS5jbGVhciA9IGZ1bmN0aW9uICgpIHt9O1xuXG4gIGZ1bmN0aW9uIHVwZGF0ZVNjcm9sbGJhcnMoY20sIG1lYXN1cmUpIHtcbiAgICBpZiAoIW1lYXN1cmUpIHsgbWVhc3VyZSA9IG1lYXN1cmVGb3JTY3JvbGxiYXJzKGNtKTsgfVxuICAgIHZhciBzdGFydFdpZHRoID0gY20uZGlzcGxheS5iYXJXaWR0aCwgc3RhcnRIZWlnaHQgPSBjbS5kaXNwbGF5LmJhckhlaWdodDtcbiAgICB1cGRhdGVTY3JvbGxiYXJzSW5uZXIoY20sIG1lYXN1cmUpO1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgNCAmJiBzdGFydFdpZHRoICE9IGNtLmRpc3BsYXkuYmFyV2lkdGggfHwgc3RhcnRIZWlnaHQgIT0gY20uZGlzcGxheS5iYXJIZWlnaHQ7IGkrKykge1xuICAgICAgaWYgKHN0YXJ0V2lkdGggIT0gY20uZGlzcGxheS5iYXJXaWR0aCAmJiBjbS5vcHRpb25zLmxpbmVXcmFwcGluZylcbiAgICAgICAgeyB1cGRhdGVIZWlnaHRzSW5WaWV3cG9ydChjbSk7IH1cbiAgICAgIHVwZGF0ZVNjcm9sbGJhcnNJbm5lcihjbSwgbWVhc3VyZUZvclNjcm9sbGJhcnMoY20pKTtcbiAgICAgIHN0YXJ0V2lkdGggPSBjbS5kaXNwbGF5LmJhcldpZHRoOyBzdGFydEhlaWdodCA9IGNtLmRpc3BsYXkuYmFySGVpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlLXN5bmNocm9uaXplIHRoZSBmYWtlIHNjcm9sbGJhcnMgd2l0aCB0aGUgYWN0dWFsIHNpemUgb2YgdGhlXG4gIC8vIGNvbnRlbnQuXG4gIGZ1bmN0aW9uIHVwZGF0ZVNjcm9sbGJhcnNJbm5lcihjbSwgbWVhc3VyZSkge1xuICAgIHZhciBkID0gY20uZGlzcGxheTtcbiAgICB2YXIgc2l6ZXMgPSBkLnNjcm9sbGJhcnMudXBkYXRlKG1lYXN1cmUpO1xuXG4gICAgZC5zaXplci5zdHlsZS5wYWRkaW5nUmlnaHQgPSAoZC5iYXJXaWR0aCA9IHNpemVzLnJpZ2h0KSArIFwicHhcIjtcbiAgICBkLnNpemVyLnN0eWxlLnBhZGRpbmdCb3R0b20gPSAoZC5iYXJIZWlnaHQgPSBzaXplcy5ib3R0b20pICsgXCJweFwiO1xuICAgIGQuaGVpZ2h0Rm9yY2VyLnN0eWxlLmJvcmRlckJvdHRvbSA9IHNpemVzLmJvdHRvbSArIFwicHggc29saWQgdHJhbnNwYXJlbnRcIjtcblxuICAgIGlmIChzaXplcy5yaWdodCAmJiBzaXplcy5ib3R0b20pIHtcbiAgICAgIGQuc2Nyb2xsYmFyRmlsbGVyLnN0eWxlLmRpc3BsYXkgPSBcImJsb2NrXCI7XG4gICAgICBkLnNjcm9sbGJhckZpbGxlci5zdHlsZS5oZWlnaHQgPSBzaXplcy5ib3R0b20gKyBcInB4XCI7XG4gICAgICBkLnNjcm9sbGJhckZpbGxlci5zdHlsZS53aWR0aCA9IHNpemVzLnJpZ2h0ICsgXCJweFwiO1xuICAgIH0gZWxzZSB7IGQuc2Nyb2xsYmFyRmlsbGVyLnN0eWxlLmRpc3BsYXkgPSBcIlwiOyB9XG4gICAgaWYgKHNpemVzLmJvdHRvbSAmJiBjbS5vcHRpb25zLmNvdmVyR3V0dGVyTmV4dFRvU2Nyb2xsYmFyICYmIGNtLm9wdGlvbnMuZml4ZWRHdXR0ZXIpIHtcbiAgICAgIGQuZ3V0dGVyRmlsbGVyLnN0eWxlLmRpc3BsYXkgPSBcImJsb2NrXCI7XG4gICAgICBkLmd1dHRlckZpbGxlci5zdHlsZS5oZWlnaHQgPSBzaXplcy5ib3R0b20gKyBcInB4XCI7XG4gICAgICBkLmd1dHRlckZpbGxlci5zdHlsZS53aWR0aCA9IG1lYXN1cmUuZ3V0dGVyV2lkdGggKyBcInB4XCI7XG4gICAgfSBlbHNlIHsgZC5ndXR0ZXJGaWxsZXIuc3R5bGUuZGlzcGxheSA9IFwiXCI7IH1cbiAgfVxuXG4gIHZhciBzY3JvbGxiYXJNb2RlbCA9IHtcIm5hdGl2ZVwiOiBOYXRpdmVTY3JvbGxiYXJzLCBcIm51bGxcIjogTnVsbFNjcm9sbGJhcnN9O1xuXG4gIGZ1bmN0aW9uIGluaXRTY3JvbGxiYXJzKGNtKSB7XG4gICAgaWYgKGNtLmRpc3BsYXkuc2Nyb2xsYmFycykge1xuICAgICAgY20uZGlzcGxheS5zY3JvbGxiYXJzLmNsZWFyKCk7XG4gICAgICBpZiAoY20uZGlzcGxheS5zY3JvbGxiYXJzLmFkZENsYXNzKVxuICAgICAgICB7IHJtQ2xhc3MoY20uZGlzcGxheS53cmFwcGVyLCBjbS5kaXNwbGF5LnNjcm9sbGJhcnMuYWRkQ2xhc3MpOyB9XG4gICAgfVxuXG4gICAgY20uZGlzcGxheS5zY3JvbGxiYXJzID0gbmV3IHNjcm9sbGJhck1vZGVsW2NtLm9wdGlvbnMuc2Nyb2xsYmFyU3R5bGVdKGZ1bmN0aW9uIChub2RlKSB7XG4gICAgICBjbS5kaXNwbGF5LndyYXBwZXIuaW5zZXJ0QmVmb3JlKG5vZGUsIGNtLmRpc3BsYXkuc2Nyb2xsYmFyRmlsbGVyKTtcbiAgICAgIC8vIFByZXZlbnQgY2xpY2tzIGluIHRoZSBzY3JvbGxiYXJzIGZyb20ga2lsbGluZyBmb2N1c1xuICAgICAgb24obm9kZSwgXCJtb3VzZWRvd25cIiwgZnVuY3Rpb24gKCkge1xuICAgICAgICBpZiAoY20uc3RhdGUuZm9jdXNlZCkgeyBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsgcmV0dXJuIGNtLmRpc3BsYXkuaW5wdXQuZm9jdXMoKTsgfSwgMCk7IH1cbiAgICAgIH0pO1xuICAgICAgbm9kZS5zZXRBdHRyaWJ1dGUoXCJjbS1ub3QtY29udGVudFwiLCBcInRydWVcIik7XG4gICAgfSwgZnVuY3Rpb24gKHBvcywgYXhpcykge1xuICAgICAgaWYgKGF4aXMgPT0gXCJob3Jpem9udGFsXCIpIHsgc2V0U2Nyb2xsTGVmdChjbSwgcG9zKTsgfVxuICAgICAgZWxzZSB7IHVwZGF0ZVNjcm9sbFRvcChjbSwgcG9zKTsgfVxuICAgIH0sIGNtKTtcbiAgICBpZiAoY20uZGlzcGxheS5zY3JvbGxiYXJzLmFkZENsYXNzKVxuICAgICAgeyBhZGRDbGFzcyhjbS5kaXNwbGF5LndyYXBwZXIsIGNtLmRpc3BsYXkuc2Nyb2xsYmFycy5hZGRDbGFzcyk7IH1cbiAgfVxuXG4gIC8vIE9wZXJhdGlvbnMgYXJlIHVzZWQgdG8gd3JhcCBhIHNlcmllcyBvZiBjaGFuZ2VzIHRvIHRoZSBlZGl0b3JcbiAgLy8gc3RhdGUgaW4gc3VjaCBhIHdheSB0aGF0IGVhY2ggY2hhbmdlIHdvbid0IGhhdmUgdG8gdXBkYXRlIHRoZVxuICAvLyBjdXJzb3IgYW5kIGRpc3BsYXkgKHdoaWNoIHdvdWxkIGJlIGF3a3dhcmQsIHNsb3csIGFuZFxuICAvLyBlcnJvci1wcm9uZSkuIEluc3RlYWQsIGRpc3BsYXkgdXBkYXRlcyBhcmUgYmF0Y2hlZCBhbmQgdGhlbiBhbGxcbiAgLy8gY29tYmluZWQgYW5kIGV4ZWN1dGVkIGF0IG9uY2UuXG5cbiAgdmFyIG5leHRPcElkID0gMDtcbiAgLy8gU3RhcnQgYSBuZXcgb3BlcmF0aW9uLlxuICBmdW5jdGlvbiBzdGFydE9wZXJhdGlvbihjbSkge1xuICAgIGNtLmN1ck9wID0ge1xuICAgICAgY206IGNtLFxuICAgICAgdmlld0NoYW5nZWQ6IGZhbHNlLCAgICAgIC8vIEZsYWcgdGhhdCBpbmRpY2F0ZXMgdGhhdCBsaW5lcyBtaWdodCBuZWVkIHRvIGJlIHJlZHJhd25cbiAgICAgIHN0YXJ0SGVpZ2h0OiBjbS5kb2MuaGVpZ2h0LCAvLyBVc2VkIHRvIGRldGVjdCBuZWVkIHRvIHVwZGF0ZSBzY3JvbGxiYXJcbiAgICAgIGZvcmNlVXBkYXRlOiBmYWxzZSwgICAgICAvLyBVc2VkIHRvIGZvcmNlIGEgcmVkcmF3XG4gICAgICB1cGRhdGVJbnB1dDogMCwgICAgICAgLy8gV2hldGhlciB0byByZXNldCB0aGUgaW5wdXQgdGV4dGFyZWFcbiAgICAgIHR5cGluZzogZmFsc2UsICAgICAgICAgICAvLyBXaGV0aGVyIHRoaXMgcmVzZXQgc2hvdWxkIGJlIGNhcmVmdWwgdG8gbGVhdmUgZXhpc3RpbmcgdGV4dCAoZm9yIGNvbXBvc2l0aW5nKVxuICAgICAgY2hhbmdlT2JqczogbnVsbCwgICAgICAgIC8vIEFjY3VtdWxhdGVkIGNoYW5nZXMsIGZvciBmaXJpbmcgY2hhbmdlIGV2ZW50c1xuICAgICAgY3Vyc29yQWN0aXZpdHlIYW5kbGVyczogbnVsbCwgLy8gU2V0IG9mIGhhbmRsZXJzIHRvIGZpcmUgY3Vyc29yQWN0aXZpdHkgb25cbiAgICAgIGN1cnNvckFjdGl2aXR5Q2FsbGVkOiAwLCAvLyBUcmFja3Mgd2hpY2ggY3Vyc29yQWN0aXZpdHkgaGFuZGxlcnMgaGF2ZSBiZWVuIGNhbGxlZCBhbHJlYWR5XG4gICAgICBzZWxlY3Rpb25DaGFuZ2VkOiBmYWxzZSwgLy8gV2hldGhlciB0aGUgc2VsZWN0aW9uIG5lZWRzIHRvIGJlIHJlZHJhd25cbiAgICAgIHVwZGF0ZU1heExpbmU6IGZhbHNlLCAgICAvLyBTZXQgd2hlbiB0aGUgd2lkZXN0IGxpbmUgbmVlZHMgdG8gYmUgZGV0ZXJtaW5lZCBhbmV3XG4gICAgICBzY3JvbGxMZWZ0OiBudWxsLCBzY3JvbGxUb3A6IG51bGwsIC8vIEludGVybWVkaWF0ZSBzY3JvbGwgcG9zaXRpb24sIG5vdCBwdXNoZWQgdG8gRE9NIHlldFxuICAgICAgc2Nyb2xsVG9Qb3M6IG51bGwsICAgICAgIC8vIFVzZWQgdG8gc2Nyb2xsIHRvIGEgc3BlY2lmaWMgcG9zaXRpb25cbiAgICAgIGZvY3VzOiBmYWxzZSxcbiAgICAgIGlkOiArK25leHRPcElkICAgICAgICAgICAvLyBVbmlxdWUgSURcbiAgICB9O1xuICAgIHB1c2hPcGVyYXRpb24oY20uY3VyT3ApO1xuICB9XG5cbiAgLy8gRmluaXNoIGFuIG9wZXJhdGlvbiwgdXBkYXRpbmcgdGhlIGRpc3BsYXkgYW5kIHNpZ25hbGxpbmcgZGVsYXllZCBldmVudHNcbiAgZnVuY3Rpb24gZW5kT3BlcmF0aW9uKGNtKSB7XG4gICAgdmFyIG9wID0gY20uY3VyT3A7XG4gICAgaWYgKG9wKSB7IGZpbmlzaE9wZXJhdGlvbihvcCwgZnVuY3Rpb24gKGdyb3VwKSB7XG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGdyb3VwLm9wcy5sZW5ndGg7IGkrKylcbiAgICAgICAgeyBncm91cC5vcHNbaV0uY20uY3VyT3AgPSBudWxsOyB9XG4gICAgICBlbmRPcGVyYXRpb25zKGdyb3VwKTtcbiAgICB9KTsgfVxuICB9XG5cbiAgLy8gVGhlIERPTSB1cGRhdGVzIGRvbmUgd2hlbiBhbiBvcGVyYXRpb24gZmluaXNoZXMgYXJlIGJhdGNoZWQgc29cbiAgLy8gdGhhdCB0aGUgbWluaW11bSBudW1iZXIgb2YgcmVsYXlvdXRzIGFyZSByZXF1aXJlZC5cbiAgZnVuY3Rpb24gZW5kT3BlcmF0aW9ucyhncm91cCkge1xuICAgIHZhciBvcHMgPSBncm91cC5vcHM7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBvcHMubGVuZ3RoOyBpKyspIC8vIFJlYWQgRE9NXG4gICAgICB7IGVuZE9wZXJhdGlvbl9SMShvcHNbaV0pOyB9XG4gICAgZm9yICh2YXIgaSQxID0gMDsgaSQxIDwgb3BzLmxlbmd0aDsgaSQxKyspIC8vIFdyaXRlIERPTSAobWF5YmUpXG4gICAgICB7IGVuZE9wZXJhdGlvbl9XMShvcHNbaSQxXSk7IH1cbiAgICBmb3IgKHZhciBpJDIgPSAwOyBpJDIgPCBvcHMubGVuZ3RoOyBpJDIrKykgLy8gUmVhZCBET01cbiAgICAgIHsgZW5kT3BlcmF0aW9uX1IyKG9wc1tpJDJdKTsgfVxuICAgIGZvciAodmFyIGkkMyA9IDA7IGkkMyA8IG9wcy5sZW5ndGg7IGkkMysrKSAvLyBXcml0ZSBET00gKG1heWJlKVxuICAgICAgeyBlbmRPcGVyYXRpb25fVzIob3BzW2kkM10pOyB9XG4gICAgZm9yICh2YXIgaSQ0ID0gMDsgaSQ0IDwgb3BzLmxlbmd0aDsgaSQ0KyspIC8vIFJlYWQgRE9NXG4gICAgICB7IGVuZE9wZXJhdGlvbl9maW5pc2gob3BzW2kkNF0pOyB9XG4gIH1cblxuICBmdW5jdGlvbiBlbmRPcGVyYXRpb25fUjEob3ApIHtcbiAgICB2YXIgY20gPSBvcC5jbSwgZGlzcGxheSA9IGNtLmRpc3BsYXk7XG4gICAgbWF5YmVDbGlwU2Nyb2xsYmFycyhjbSk7XG4gICAgaWYgKG9wLnVwZGF0ZU1heExpbmUpIHsgZmluZE1heExpbmUoY20pOyB9XG5cbiAgICBvcC5tdXN0VXBkYXRlID0gb3Audmlld0NoYW5nZWQgfHwgb3AuZm9yY2VVcGRhdGUgfHwgb3Auc2Nyb2xsVG9wICE9IG51bGwgfHxcbiAgICAgIG9wLnNjcm9sbFRvUG9zICYmIChvcC5zY3JvbGxUb1Bvcy5mcm9tLmxpbmUgPCBkaXNwbGF5LnZpZXdGcm9tIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgb3Auc2Nyb2xsVG9Qb3MudG8ubGluZSA+PSBkaXNwbGF5LnZpZXdUbykgfHxcbiAgICAgIGRpc3BsYXkubWF4TGluZUNoYW5nZWQgJiYgY20ub3B0aW9ucy5saW5lV3JhcHBpbmc7XG4gICAgb3AudXBkYXRlID0gb3AubXVzdFVwZGF0ZSAmJlxuICAgICAgbmV3IERpc3BsYXlVcGRhdGUoY20sIG9wLm11c3RVcGRhdGUgJiYge3RvcDogb3Auc2Nyb2xsVG9wLCBlbnN1cmU6IG9wLnNjcm9sbFRvUG9zfSwgb3AuZm9yY2VVcGRhdGUpO1xuICB9XG5cbiAgZnVuY3Rpb24gZW5kT3BlcmF0aW9uX1cxKG9wKSB7XG4gICAgb3AudXBkYXRlZERpc3BsYXkgPSBvcC5tdXN0VXBkYXRlICYmIHVwZGF0ZURpc3BsYXlJZk5lZWRlZChvcC5jbSwgb3AudXBkYXRlKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGVuZE9wZXJhdGlvbl9SMihvcCkge1xuICAgIHZhciBjbSA9IG9wLmNtLCBkaXNwbGF5ID0gY20uZGlzcGxheTtcbiAgICBpZiAob3AudXBkYXRlZERpc3BsYXkpIHsgdXBkYXRlSGVpZ2h0c0luVmlld3BvcnQoY20pOyB9XG5cbiAgICBvcC5iYXJNZWFzdXJlID0gbWVhc3VyZUZvclNjcm9sbGJhcnMoY20pO1xuXG4gICAgLy8gSWYgdGhlIG1heCBsaW5lIGNoYW5nZWQgc2luY2UgaXQgd2FzIGxhc3QgbWVhc3VyZWQsIG1lYXN1cmUgaXQsXG4gICAgLy8gYW5kIGVuc3VyZSB0aGUgZG9jdW1lbnQncyB3aWR0aCBtYXRjaGVzIGl0LlxuICAgIC8vIHVwZGF0ZURpc3BsYXlfVzIgd2lsbCB1c2UgdGhlc2UgcHJvcGVydGllcyB0byBkbyB0aGUgYWN0dWFsIHJlc2l6aW5nXG4gICAgaWYgKGRpc3BsYXkubWF4TGluZUNoYW5nZWQgJiYgIWNtLm9wdGlvbnMubGluZVdyYXBwaW5nKSB7XG4gICAgICBvcC5hZGp1c3RXaWR0aFRvID0gbWVhc3VyZUNoYXIoY20sIGRpc3BsYXkubWF4TGluZSwgZGlzcGxheS5tYXhMaW5lLnRleHQubGVuZ3RoKS5sZWZ0ICsgMztcbiAgICAgIGNtLmRpc3BsYXkuc2l6ZXJXaWR0aCA9IG9wLmFkanVzdFdpZHRoVG87XG4gICAgICBvcC5iYXJNZWFzdXJlLnNjcm9sbFdpZHRoID1cbiAgICAgICAgTWF0aC5tYXgoZGlzcGxheS5zY3JvbGxlci5jbGllbnRXaWR0aCwgZGlzcGxheS5zaXplci5vZmZzZXRMZWZ0ICsgb3AuYWRqdXN0V2lkdGhUbyArIHNjcm9sbEdhcChjbSkgKyBjbS5kaXNwbGF5LmJhcldpZHRoKTtcbiAgICAgIG9wLm1heFNjcm9sbExlZnQgPSBNYXRoLm1heCgwLCBkaXNwbGF5LnNpemVyLm9mZnNldExlZnQgKyBvcC5hZGp1c3RXaWR0aFRvIC0gZGlzcGxheVdpZHRoKGNtKSk7XG4gICAgfVxuXG4gICAgaWYgKG9wLnVwZGF0ZWREaXNwbGF5IHx8IG9wLnNlbGVjdGlvbkNoYW5nZWQpXG4gICAgICB7IG9wLnByZXBhcmVkU2VsZWN0aW9uID0gZGlzcGxheS5pbnB1dC5wcmVwYXJlU2VsZWN0aW9uKCk7IH1cbiAgfVxuXG4gIGZ1bmN0aW9uIGVuZE9wZXJhdGlvbl9XMihvcCkge1xuICAgIHZhciBjbSA9IG9wLmNtO1xuXG4gICAgaWYgKG9wLmFkanVzdFdpZHRoVG8gIT0gbnVsbCkge1xuICAgICAgY20uZGlzcGxheS5zaXplci5zdHlsZS5taW5XaWR0aCA9IG9wLmFkanVzdFdpZHRoVG8gKyBcInB4XCI7XG4gICAgICBpZiAob3AubWF4U2Nyb2xsTGVmdCA8IGNtLmRvYy5zY3JvbGxMZWZ0KVxuICAgICAgICB7IHNldFNjcm9sbExlZnQoY20sIE1hdGgubWluKGNtLmRpc3BsYXkuc2Nyb2xsZXIuc2Nyb2xsTGVmdCwgb3AubWF4U2Nyb2xsTGVmdCksIHRydWUpOyB9XG4gICAgICBjbS5kaXNwbGF5Lm1heExpbmVDaGFuZ2VkID0gZmFsc2U7XG4gICAgfVxuXG4gICAgdmFyIHRha2VGb2N1cyA9IG9wLmZvY3VzICYmIG9wLmZvY3VzID09IGFjdGl2ZUVsdCgpO1xuICAgIGlmIChvcC5wcmVwYXJlZFNlbGVjdGlvbilcbiAgICAgIHsgY20uZGlzcGxheS5pbnB1dC5zaG93U2VsZWN0aW9uKG9wLnByZXBhcmVkU2VsZWN0aW9uLCB0YWtlRm9jdXMpOyB9XG4gICAgaWYgKG9wLnVwZGF0ZWREaXNwbGF5IHx8IG9wLnN0YXJ0SGVpZ2h0ICE9IGNtLmRvYy5oZWlnaHQpXG4gICAgICB7IHVwZGF0ZVNjcm9sbGJhcnMoY20sIG9wLmJhck1lYXN1cmUpOyB9XG4gICAgaWYgKG9wLnVwZGF0ZWREaXNwbGF5KVxuICAgICAgeyBzZXREb2N1bWVudEhlaWdodChjbSwgb3AuYmFyTWVhc3VyZSk7IH1cblxuICAgIGlmIChvcC5zZWxlY3Rpb25DaGFuZ2VkKSB7IHJlc3RhcnRCbGluayhjbSk7IH1cblxuICAgIGlmIChjbS5zdGF0ZS5mb2N1c2VkICYmIG9wLnVwZGF0ZUlucHV0KVxuICAgICAgeyBjbS5kaXNwbGF5LmlucHV0LnJlc2V0KG9wLnR5cGluZyk7IH1cbiAgICBpZiAodGFrZUZvY3VzKSB7IGVuc3VyZUZvY3VzKG9wLmNtKTsgfVxuICB9XG5cbiAgZnVuY3Rpb24gZW5kT3BlcmF0aW9uX2ZpbmlzaChvcCkge1xuICAgIHZhciBjbSA9IG9wLmNtLCBkaXNwbGF5ID0gY20uZGlzcGxheSwgZG9jID0gY20uZG9jO1xuXG4gICAgaWYgKG9wLnVwZGF0ZWREaXNwbGF5KSB7IHBvc3RVcGRhdGVEaXNwbGF5KGNtLCBvcC51cGRhdGUpOyB9XG5cbiAgICAvLyBBYm9ydCBtb3VzZSB3aGVlbCBkZWx0YSBtZWFzdXJlbWVudCwgd2hlbiBzY3JvbGxpbmcgZXhwbGljaXRseVxuICAgIGlmIChkaXNwbGF5LndoZWVsU3RhcnRYICE9IG51bGwgJiYgKG9wLnNjcm9sbFRvcCAhPSBudWxsIHx8IG9wLnNjcm9sbExlZnQgIT0gbnVsbCB8fCBvcC5zY3JvbGxUb1BvcykpXG4gICAgICB7IGRpc3BsYXkud2hlZWxTdGFydFggPSBkaXNwbGF5LndoZWVsU3RhcnRZID0gbnVsbDsgfVxuXG4gICAgLy8gUHJvcGFnYXRlIHRoZSBzY3JvbGwgcG9zaXRpb24gdG8gdGhlIGFjdHVhbCBET00gc2Nyb2xsZXJcbiAgICBpZiAob3Auc2Nyb2xsVG9wICE9IG51bGwpIHsgc2V0U2Nyb2xsVG9wKGNtLCBvcC5zY3JvbGxUb3AsIG9wLmZvcmNlU2Nyb2xsKTsgfVxuXG4gICAgaWYgKG9wLnNjcm9sbExlZnQgIT0gbnVsbCkgeyBzZXRTY3JvbGxMZWZ0KGNtLCBvcC5zY3JvbGxMZWZ0LCB0cnVlLCB0cnVlKTsgfVxuICAgIC8vIElmIHdlIG5lZWQgdG8gc2Nyb2xsIGEgc3BlY2lmaWMgcG9zaXRpb24gaW50byB2aWV3LCBkbyBzby5cbiAgICBpZiAob3Auc2Nyb2xsVG9Qb3MpIHtcbiAgICAgIHZhciByZWN0ID0gc2Nyb2xsUG9zSW50b1ZpZXcoY20sIGNsaXBQb3MoZG9jLCBvcC5zY3JvbGxUb1Bvcy5mcm9tKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xpcFBvcyhkb2MsIG9wLnNjcm9sbFRvUG9zLnRvKSwgb3Auc2Nyb2xsVG9Qb3MubWFyZ2luKTtcbiAgICAgIG1heWJlU2Nyb2xsV2luZG93KGNtLCByZWN0KTtcbiAgICB9XG5cbiAgICAvLyBGaXJlIGV2ZW50cyBmb3IgbWFya2VycyB0aGF0IGFyZSBoaWRkZW4vdW5pZGRlbiBieSBlZGl0aW5nIG9yXG4gICAgLy8gdW5kb2luZ1xuICAgIHZhciBoaWRkZW4gPSBvcC5tYXliZUhpZGRlbk1hcmtlcnMsIHVuaGlkZGVuID0gb3AubWF5YmVVbmhpZGRlbk1hcmtlcnM7XG4gICAgaWYgKGhpZGRlbikgeyBmb3IgKHZhciBpID0gMDsgaSA8IGhpZGRlbi5sZW5ndGg7ICsraSlcbiAgICAgIHsgaWYgKCFoaWRkZW5baV0ubGluZXMubGVuZ3RoKSB7IHNpZ25hbChoaWRkZW5baV0sIFwiaGlkZVwiKTsgfSB9IH1cbiAgICBpZiAodW5oaWRkZW4pIHsgZm9yICh2YXIgaSQxID0gMDsgaSQxIDwgdW5oaWRkZW4ubGVuZ3RoOyArK2kkMSlcbiAgICAgIHsgaWYgKHVuaGlkZGVuW2kkMV0ubGluZXMubGVuZ3RoKSB7IHNpZ25hbCh1bmhpZGRlbltpJDFdLCBcInVuaGlkZVwiKTsgfSB9IH1cblxuICAgIGlmIChkaXNwbGF5LndyYXBwZXIub2Zmc2V0SGVpZ2h0KVxuICAgICAgeyBkb2Muc2Nyb2xsVG9wID0gY20uZGlzcGxheS5zY3JvbGxlci5zY3JvbGxUb3A7IH1cblxuICAgIC8vIEZpcmUgY2hhbmdlIGV2ZW50cywgYW5kIGRlbGF5ZWQgZXZlbnQgaGFuZGxlcnNcbiAgICBpZiAob3AuY2hhbmdlT2JqcylcbiAgICAgIHsgc2lnbmFsKGNtLCBcImNoYW5nZXNcIiwgY20sIG9wLmNoYW5nZU9ianMpOyB9XG4gICAgaWYgKG9wLnVwZGF0ZSlcbiAgICAgIHsgb3AudXBkYXRlLmZpbmlzaCgpOyB9XG4gIH1cblxuICAvLyBSdW4gdGhlIGdpdmVuIGZ1bmN0aW9uIGluIGFuIG9wZXJhdGlvblxuICBmdW5jdGlvbiBydW5Jbk9wKGNtLCBmKSB7XG4gICAgaWYgKGNtLmN1ck9wKSB7IHJldHVybiBmKCkgfVxuICAgIHN0YXJ0T3BlcmF0aW9uKGNtKTtcbiAgICB0cnkgeyByZXR1cm4gZigpIH1cbiAgICBmaW5hbGx5IHsgZW5kT3BlcmF0aW9uKGNtKTsgfVxuICB9XG4gIC8vIFdyYXBzIGEgZnVuY3Rpb24gaW4gYW4gb3BlcmF0aW9uLiBSZXR1cm5zIHRoZSB3cmFwcGVkIGZ1bmN0aW9uLlxuICBmdW5jdGlvbiBvcGVyYXRpb24oY20sIGYpIHtcbiAgICByZXR1cm4gZnVuY3Rpb24oKSB7XG4gICAgICBpZiAoY20uY3VyT3ApIHsgcmV0dXJuIGYuYXBwbHkoY20sIGFyZ3VtZW50cykgfVxuICAgICAgc3RhcnRPcGVyYXRpb24oY20pO1xuICAgICAgdHJ5IHsgcmV0dXJuIGYuYXBwbHkoY20sIGFyZ3VtZW50cykgfVxuICAgICAgZmluYWxseSB7IGVuZE9wZXJhdGlvbihjbSk7IH1cbiAgICB9XG4gIH1cbiAgLy8gVXNlZCB0byBhZGQgbWV0aG9kcyB0byBlZGl0b3IgYW5kIGRvYyBpbnN0YW5jZXMsIHdyYXBwaW5nIHRoZW0gaW5cbiAgLy8gb3BlcmF0aW9ucy5cbiAgZnVuY3Rpb24gbWV0aG9kT3AoZikge1xuICAgIHJldHVybiBmdW5jdGlvbigpIHtcbiAgICAgIGlmICh0aGlzLmN1ck9wKSB7IHJldHVybiBmLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykgfVxuICAgICAgc3RhcnRPcGVyYXRpb24odGhpcyk7XG4gICAgICB0cnkgeyByZXR1cm4gZi5hcHBseSh0aGlzLCBhcmd1bWVudHMpIH1cbiAgICAgIGZpbmFsbHkgeyBlbmRPcGVyYXRpb24odGhpcyk7IH1cbiAgICB9XG4gIH1cbiAgZnVuY3Rpb24gZG9jTWV0aG9kT3AoZikge1xuICAgIHJldHVybiBmdW5jdGlvbigpIHtcbiAgICAgIHZhciBjbSA9IHRoaXMuY207XG4gICAgICBpZiAoIWNtIHx8IGNtLmN1ck9wKSB7IHJldHVybiBmLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykgfVxuICAgICAgc3RhcnRPcGVyYXRpb24oY20pO1xuICAgICAgdHJ5IHsgcmV0dXJuIGYuYXBwbHkodGhpcywgYXJndW1lbnRzKSB9XG4gICAgICBmaW5hbGx5IHsgZW5kT3BlcmF0aW9uKGNtKTsgfVxuICAgIH1cbiAgfVxuXG4gIC8vIEhJR0hMSUdIVCBXT1JLRVJcblxuICBmdW5jdGlvbiBzdGFydFdvcmtlcihjbSwgdGltZSkge1xuICAgIGlmIChjbS5kb2MuaGlnaGxpZ2h0RnJvbnRpZXIgPCBjbS5kaXNwbGF5LnZpZXdUbylcbiAgICAgIHsgY20uc3RhdGUuaGlnaGxpZ2h0LnNldCh0aW1lLCBiaW5kKGhpZ2hsaWdodFdvcmtlciwgY20pKTsgfVxuICB9XG5cbiAgZnVuY3Rpb24gaGlnaGxpZ2h0V29ya2VyKGNtKSB7XG4gICAgdmFyIGRvYyA9IGNtLmRvYztcbiAgICBpZiAoZG9jLmhpZ2hsaWdodEZyb250aWVyID49IGNtLmRpc3BsYXkudmlld1RvKSB7IHJldHVybiB9XG4gICAgdmFyIGVuZCA9ICtuZXcgRGF0ZSArIGNtLm9wdGlvbnMud29ya1RpbWU7XG4gICAgdmFyIGNvbnRleHQgPSBnZXRDb250ZXh0QmVmb3JlKGNtLCBkb2MuaGlnaGxpZ2h0RnJvbnRpZXIpO1xuICAgIHZhciBjaGFuZ2VkTGluZXMgPSBbXTtcblxuICAgIGRvYy5pdGVyKGNvbnRleHQubGluZSwgTWF0aC5taW4oZG9jLmZpcnN0ICsgZG9jLnNpemUsIGNtLmRpc3BsYXkudmlld1RvICsgNTAwKSwgZnVuY3Rpb24gKGxpbmUpIHtcbiAgICAgIGlmIChjb250ZXh0LmxpbmUgPj0gY20uZGlzcGxheS52aWV3RnJvbSkgeyAvLyBWaXNpYmxlXG4gICAgICAgIHZhciBvbGRTdHlsZXMgPSBsaW5lLnN0eWxlcztcbiAgICAgICAgdmFyIHJlc2V0U3RhdGUgPSBsaW5lLnRleHQubGVuZ3RoID4gY20ub3B0aW9ucy5tYXhIaWdobGlnaHRMZW5ndGggPyBjb3B5U3RhdGUoZG9jLm1vZGUsIGNvbnRleHQuc3RhdGUpIDogbnVsbDtcbiAgICAgICAgdmFyIGhpZ2hsaWdodGVkID0gaGlnaGxpZ2h0TGluZShjbSwgbGluZSwgY29udGV4dCwgdHJ1ZSk7XG4gICAgICAgIGlmIChyZXNldFN0YXRlKSB7IGNvbnRleHQuc3RhdGUgPSByZXNldFN0YXRlOyB9XG4gICAgICAgIGxpbmUuc3R5bGVzID0gaGlnaGxpZ2h0ZWQuc3R5bGVzO1xuICAgICAgICB2YXIgb2xkQ2xzID0gbGluZS5zdHlsZUNsYXNzZXMsIG5ld0NscyA9IGhpZ2hsaWdodGVkLmNsYXNzZXM7XG4gICAgICAgIGlmIChuZXdDbHMpIHsgbGluZS5zdHlsZUNsYXNzZXMgPSBuZXdDbHM7IH1cbiAgICAgICAgZWxzZSBpZiAob2xkQ2xzKSB7IGxpbmUuc3R5bGVDbGFzc2VzID0gbnVsbDsgfVxuICAgICAgICB2YXIgaXNjaGFuZ2UgPSAhb2xkU3R5bGVzIHx8IG9sZFN0eWxlcy5sZW5ndGggIT0gbGluZS5zdHlsZXMubGVuZ3RoIHx8XG4gICAgICAgICAgb2xkQ2xzICE9IG5ld0NscyAmJiAoIW9sZENscyB8fCAhbmV3Q2xzIHx8IG9sZENscy5iZ0NsYXNzICE9IG5ld0Nscy5iZ0NsYXNzIHx8IG9sZENscy50ZXh0Q2xhc3MgIT0gbmV3Q2xzLnRleHRDbGFzcyk7XG4gICAgICAgIGZvciAodmFyIGkgPSAwOyAhaXNjaGFuZ2UgJiYgaSA8IG9sZFN0eWxlcy5sZW5ndGg7ICsraSkgeyBpc2NoYW5nZSA9IG9sZFN0eWxlc1tpXSAhPSBsaW5lLnN0eWxlc1tpXTsgfVxuICAgICAgICBpZiAoaXNjaGFuZ2UpIHsgY2hhbmdlZExpbmVzLnB1c2goY29udGV4dC5saW5lKTsgfVxuICAgICAgICBsaW5lLnN0YXRlQWZ0ZXIgPSBjb250ZXh0LnNhdmUoKTtcbiAgICAgICAgY29udGV4dC5uZXh0TGluZSgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKGxpbmUudGV4dC5sZW5ndGggPD0gY20ub3B0aW9ucy5tYXhIaWdobGlnaHRMZW5ndGgpXG4gICAgICAgICAgeyBwcm9jZXNzTGluZShjbSwgbGluZS50ZXh0LCBjb250ZXh0KTsgfVxuICAgICAgICBsaW5lLnN0YXRlQWZ0ZXIgPSBjb250ZXh0LmxpbmUgJSA1ID09IDAgPyBjb250ZXh0LnNhdmUoKSA6IG51bGw7XG4gICAgICAgIGNvbnRleHQubmV4dExpbmUoKTtcbiAgICAgIH1cbiAgICAgIGlmICgrbmV3IERhdGUgPiBlbmQpIHtcbiAgICAgICAgc3RhcnRXb3JrZXIoY20sIGNtLm9wdGlvbnMud29ya0RlbGF5KTtcbiAgICAgICAgcmV0dXJuIHRydWVcbiAgICAgIH1cbiAgICB9KTtcbiAgICBkb2MuaGlnaGxpZ2h0RnJvbnRpZXIgPSBjb250ZXh0LmxpbmU7XG4gICAgZG9jLm1vZGVGcm9udGllciA9IE1hdGgubWF4KGRvYy5tb2RlRnJvbnRpZXIsIGNvbnRleHQubGluZSk7XG4gICAgaWYgKGNoYW5nZWRMaW5lcy5sZW5ndGgpIHsgcnVuSW5PcChjbSwgZnVuY3Rpb24gKCkge1xuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjaGFuZ2VkTGluZXMubGVuZ3RoOyBpKyspXG4gICAgICAgIHsgcmVnTGluZUNoYW5nZShjbSwgY2hhbmdlZExpbmVzW2ldLCBcInRleHRcIik7IH1cbiAgICB9KTsgfVxuICB9XG5cbiAgLy8gRElTUExBWSBEUkFXSU5HXG5cbiAgdmFyIERpc3BsYXlVcGRhdGUgPSBmdW5jdGlvbihjbSwgdmlld3BvcnQsIGZvcmNlKSB7XG4gICAgdmFyIGRpc3BsYXkgPSBjbS5kaXNwbGF5O1xuXG4gICAgdGhpcy52aWV3cG9ydCA9IHZpZXdwb3J0O1xuICAgIC8vIFN0b3JlIHNvbWUgdmFsdWVzIHRoYXQgd2UnbGwgbmVlZCBsYXRlciAoYnV0IGRvbid0IHdhbnQgdG8gZm9yY2UgYSByZWxheW91dCBmb3IpXG4gICAgdGhpcy52aXNpYmxlID0gdmlzaWJsZUxpbmVzKGRpc3BsYXksIGNtLmRvYywgdmlld3BvcnQpO1xuICAgIHRoaXMuZWRpdG9ySXNIaWRkZW4gPSAhZGlzcGxheS53cmFwcGVyLm9mZnNldFdpZHRoO1xuICAgIHRoaXMud3JhcHBlckhlaWdodCA9IGRpc3BsYXkud3JhcHBlci5jbGllbnRIZWlnaHQ7XG4gICAgdGhpcy53cmFwcGVyV2lkdGggPSBkaXNwbGF5LndyYXBwZXIuY2xpZW50V2lkdGg7XG4gICAgdGhpcy5vbGREaXNwbGF5V2lkdGggPSBkaXNwbGF5V2lkdGgoY20pO1xuICAgIHRoaXMuZm9yY2UgPSBmb3JjZTtcbiAgICB0aGlzLmRpbXMgPSBnZXREaW1lbnNpb25zKGNtKTtcbiAgICB0aGlzLmV2ZW50cyA9IFtdO1xuICB9O1xuXG4gIERpc3BsYXlVcGRhdGUucHJvdG90eXBlLnNpZ25hbCA9IGZ1bmN0aW9uIChlbWl0dGVyLCB0eXBlKSB7XG4gICAgaWYgKGhhc0hhbmRsZXIoZW1pdHRlciwgdHlwZSkpXG4gICAgICB7IHRoaXMuZXZlbnRzLnB1c2goYXJndW1lbnRzKTsgfVxuICB9O1xuICBEaXNwbGF5VXBkYXRlLnByb3RvdHlwZS5maW5pc2ggPSBmdW5jdGlvbiAoKSB7XG4gICAgICB2YXIgdGhpcyQxID0gdGhpcztcblxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5ldmVudHMubGVuZ3RoOyBpKyspXG4gICAgICB7IHNpZ25hbC5hcHBseShudWxsLCB0aGlzJDEuZXZlbnRzW2ldKTsgfVxuICB9O1xuXG4gIGZ1bmN0aW9uIG1heWJlQ2xpcFNjcm9sbGJhcnMoY20pIHtcbiAgICB2YXIgZGlzcGxheSA9IGNtLmRpc3BsYXk7XG4gICAgaWYgKCFkaXNwbGF5LnNjcm9sbGJhcnNDbGlwcGVkICYmIGRpc3BsYXkuc2Nyb2xsZXIub2Zmc2V0V2lkdGgpIHtcbiAgICAgIGRpc3BsYXkubmF0aXZlQmFyV2lkdGggPSBkaXNwbGF5LnNjcm9sbGVyLm9mZnNldFdpZHRoIC0gZGlzcGxheS5zY3JvbGxlci5jbGllbnRXaWR0aDtcbiAgICAgIGRpc3BsYXkuaGVpZ2h0Rm9yY2VyLnN0eWxlLmhlaWdodCA9IHNjcm9sbEdhcChjbSkgKyBcInB4XCI7XG4gICAgICBkaXNwbGF5LnNpemVyLnN0eWxlLm1hcmdpbkJvdHRvbSA9IC1kaXNwbGF5Lm5hdGl2ZUJhcldpZHRoICsgXCJweFwiO1xuICAgICAgZGlzcGxheS5zaXplci5zdHlsZS5ib3JkZXJSaWdodFdpZHRoID0gc2Nyb2xsR2FwKGNtKSArIFwicHhcIjtcbiAgICAgIGRpc3BsYXkuc2Nyb2xsYmFyc0NsaXBwZWQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIHNlbGVjdGlvblNuYXBzaG90KGNtKSB7XG4gICAgaWYgKGNtLmhhc0ZvY3VzKCkpIHsgcmV0dXJuIG51bGwgfVxuICAgIHZhciBhY3RpdmUgPSBhY3RpdmVFbHQoKTtcbiAgICBpZiAoIWFjdGl2ZSB8fCAhY29udGFpbnMoY20uZGlzcGxheS5saW5lRGl2LCBhY3RpdmUpKSB7IHJldHVybiBudWxsIH1cbiAgICB2YXIgcmVzdWx0ID0ge2FjdGl2ZUVsdDogYWN0aXZlfTtcbiAgICBpZiAod2luZG93LmdldFNlbGVjdGlvbikge1xuICAgICAgdmFyIHNlbCA9IHdpbmRvdy5nZXRTZWxlY3Rpb24oKTtcbiAgICAgIGlmIChzZWwuYW5jaG9yTm9kZSAmJiBzZWwuZXh0ZW5kICYmIGNvbnRhaW5zKGNtLmRpc3BsYXkubGluZURpdiwgc2VsLmFuY2hvck5vZGUpKSB7XG4gICAgICAgIHJlc3VsdC5hbmNob3JOb2RlID0gc2VsLmFuY2hvck5vZGU7XG4gICAgICAgIHJlc3VsdC5hbmNob3JPZmZzZXQgPSBzZWwuYW5jaG9yT2Zmc2V0O1xuICAgICAgICByZXN1bHQuZm9jdXNOb2RlID0gc2VsLmZvY3VzTm9kZTtcbiAgICAgICAgcmVzdWx0LmZvY3VzT2Zmc2V0ID0gc2VsLmZvY3VzT2Zmc2V0O1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0XG4gIH1cblxuICBmdW5jdGlvbiByZXN0b3JlU2VsZWN0aW9uKHNuYXBzaG90KSB7XG4gICAgaWYgKCFzbmFwc2hvdCB8fCAhc25hcHNob3QuYWN0aXZlRWx0IHx8IHNuYXBzaG90LmFjdGl2ZUVsdCA9PSBhY3RpdmVFbHQoKSkgeyByZXR1cm4gfVxuICAgIHNuYXBzaG90LmFjdGl2ZUVsdC5mb2N1cygpO1xuICAgIGlmIChzbmFwc2hvdC5hbmNob3JOb2RlICYmIGNvbnRhaW5zKGRvY3VtZW50LmJvZHksIHNuYXBzaG90LmFuY2hvck5vZGUpICYmIGNvbnRhaW5zKGRvY3VtZW50LmJvZHksIHNuYXBzaG90LmZvY3VzTm9kZSkpIHtcbiAgICAgIHZhciBzZWwgPSB3aW5kb3cuZ2V0U2VsZWN0aW9uKCksIHJhbmdlJCQxID0gZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTtcbiAgICAgIHJhbmdlJCQxLnNldEVuZChzbmFwc2hvdC5hbmNob3JOb2RlLCBzbmFwc2hvdC5hbmNob3JPZmZzZXQpO1xuICAgICAgcmFuZ2UkJDEuY29sbGFwc2UoZmFsc2UpO1xuICAgICAgc2VsLnJlbW92ZUFsbFJhbmdlcygpO1xuICAgICAgc2VsLmFkZFJhbmdlKHJhbmdlJCQxKTtcbiAgICAgIHNlbC5leHRlbmQoc25hcHNob3QuZm9jdXNOb2RlLCBzbmFwc2hvdC5mb2N1c09mZnNldCk7XG4gICAgfVxuICB9XG5cbiAgLy8gRG9lcyB0aGUgYWN0dWFsIHVwZGF0aW5nIG9mIHRoZSBsaW5lIGRpc3BsYXkuIEJhaWxzIG91dFxuICAvLyAocmV0dXJuaW5nIGZhbHNlKSB3aGVuIHRoZXJlIGlzIG5vdGhpbmcgdG8gYmUgZG9uZSBhbmQgZm9yY2VkIGlzXG4gIC8vIGZhbHNlLlxuICBmdW5jdGlvbiB1cGRhdGVEaXNwbGF5SWZOZWVkZWQoY20sIHVwZGF0ZSkge1xuICAgIHZhciBkaXNwbGF5ID0gY20uZGlzcGxheSwgZG9jID0gY20uZG9jO1xuXG4gICAgaWYgKHVwZGF0ZS5lZGl0b3JJc0hpZGRlbikge1xuICAgICAgcmVzZXRWaWV3KGNtKTtcbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH1cblxuICAgIC8vIEJhaWwgb3V0IGlmIHRoZSB2aXNpYmxlIGFyZWEgaXMgYWxyZWFkeSByZW5kZXJlZCBhbmQgbm90aGluZyBjaGFuZ2VkLlxuICAgIGlmICghdXBkYXRlLmZvcmNlICYmXG4gICAgICAgIHVwZGF0ZS52aXNpYmxlLmZyb20gPj0gZGlzcGxheS52aWV3RnJvbSAmJiB1cGRhdGUudmlzaWJsZS50byA8PSBkaXNwbGF5LnZpZXdUbyAmJlxuICAgICAgICAoZGlzcGxheS51cGRhdGVMaW5lTnVtYmVycyA9PSBudWxsIHx8IGRpc3BsYXkudXBkYXRlTGluZU51bWJlcnMgPj0gZGlzcGxheS52aWV3VG8pICYmXG4gICAgICAgIGRpc3BsYXkucmVuZGVyZWRWaWV3ID09IGRpc3BsYXkudmlldyAmJiBjb3VudERpcnR5VmlldyhjbSkgPT0gMClcbiAgICAgIHsgcmV0dXJuIGZhbHNlIH1cblxuICAgIGlmIChtYXliZVVwZGF0ZUxpbmVOdW1iZXJXaWR0aChjbSkpIHtcbiAgICAgIHJlc2V0VmlldyhjbSk7XG4gICAgICB1cGRhdGUuZGltcyA9IGdldERpbWVuc2lvbnMoY20pO1xuICAgIH1cblxuICAgIC8vIENvbXB1dGUgYSBzdWl0YWJsZSBuZXcgdmlld3BvcnQgKGZyb20gJiB0bylcbiAgICB2YXIgZW5kID0gZG9jLmZpcnN0ICsgZG9jLnNpemU7XG4gICAgdmFyIGZyb20gPSBNYXRoLm1heCh1cGRhdGUudmlzaWJsZS5mcm9tIC0gY20ub3B0aW9ucy52aWV3cG9ydE1hcmdpbiwgZG9jLmZpcnN0KTtcbiAgICB2YXIgdG8gPSBNYXRoLm1pbihlbmQsIHVwZGF0ZS52aXNpYmxlLnRvICsgY20ub3B0aW9ucy52aWV3cG9ydE1hcmdpbik7XG4gICAgaWYgKGRpc3BsYXkudmlld0Zyb20gPCBmcm9tICYmIGZyb20gLSBkaXNwbGF5LnZpZXdGcm9tIDwgMjApIHsgZnJvbSA9IE1hdGgubWF4KGRvYy5maXJzdCwgZGlzcGxheS52aWV3RnJvbSk7IH1cbiAgICBpZiAoZGlzcGxheS52aWV3VG8gPiB0byAmJiBkaXNwbGF5LnZpZXdUbyAtIHRvIDwgMjApIHsgdG8gPSBNYXRoLm1pbihlbmQsIGRpc3BsYXkudmlld1RvKTsgfVxuICAgIGlmIChzYXdDb2xsYXBzZWRTcGFucykge1xuICAgICAgZnJvbSA9IHZpc3VhbExpbmVObyhjbS5kb2MsIGZyb20pO1xuICAgICAgdG8gPSB2aXN1YWxMaW5lRW5kTm8oY20uZG9jLCB0byk7XG4gICAgfVxuXG4gICAgdmFyIGRpZmZlcmVudCA9IGZyb20gIT0gZGlzcGxheS52aWV3RnJvbSB8fCB0byAhPSBkaXNwbGF5LnZpZXdUbyB8fFxuICAgICAgZGlzcGxheS5sYXN0V3JhcEhlaWdodCAhPSB1cGRhdGUud3JhcHBlckhlaWdodCB8fCBkaXNwbGF5Lmxhc3RXcmFwV2lkdGggIT0gdXBkYXRlLndyYXBwZXJXaWR0aDtcbiAgICBhZGp1c3RWaWV3KGNtLCBmcm9tLCB0byk7XG5cbiAgICBkaXNwbGF5LnZpZXdPZmZzZXQgPSBoZWlnaHRBdExpbmUoZ2V0TGluZShjbS5kb2MsIGRpc3BsYXkudmlld0Zyb20pKTtcbiAgICAvLyBQb3NpdGlvbiB0aGUgbW92ZXIgZGl2IHRvIGFsaWduIHdpdGggdGhlIGN1cnJlbnQgc2Nyb2xsIHBvc2l0aW9uXG4gICAgY20uZGlzcGxheS5tb3Zlci5zdHlsZS50b3AgPSBkaXNwbGF5LnZpZXdPZmZzZXQgKyBcInB4XCI7XG5cbiAgICB2YXIgdG9VcGRhdGUgPSBjb3VudERpcnR5VmlldyhjbSk7XG4gICAgaWYgKCFkaWZmZXJlbnQgJiYgdG9VcGRhdGUgPT0gMCAmJiAhdXBkYXRlLmZvcmNlICYmIGRpc3BsYXkucmVuZGVyZWRWaWV3ID09IGRpc3BsYXkudmlldyAmJlxuICAgICAgICAoZGlzcGxheS51cGRhdGVMaW5lTnVtYmVycyA9PSBudWxsIHx8IGRpc3BsYXkudXBkYXRlTGluZU51bWJlcnMgPj0gZGlzcGxheS52aWV3VG8pKVxuICAgICAgeyByZXR1cm4gZmFsc2UgfVxuXG4gICAgLy8gRm9yIGJpZyBjaGFuZ2VzLCB3ZSBoaWRlIHRoZSBlbmNsb3NpbmcgZWxlbWVudCBkdXJpbmcgdGhlXG4gICAgLy8gdXBkYXRlLCBzaW5jZSB0aGF0IHNwZWVkcyB1cCB0aGUgb3BlcmF0aW9ucyBvbiBtb3N0IGJyb3dzZXJzLlxuICAgIHZhciBzZWxTbmFwc2hvdCA9IHNlbGVjdGlvblNuYXBzaG90KGNtKTtcbiAgICBpZiAodG9VcGRhdGUgPiA0KSB7IGRpc3BsYXkubGluZURpdi5zdHlsZS5kaXNwbGF5ID0gXCJub25lXCI7IH1cbiAgICBwYXRjaERpc3BsYXkoY20sIGRpc3BsYXkudXBkYXRlTGluZU51bWJlcnMsIHVwZGF0ZS5kaW1zKTtcbiAgICBpZiAodG9VcGRhdGUgPiA0KSB7IGRpc3BsYXkubGluZURpdi5zdHlsZS5kaXNwbGF5ID0gXCJcIjsgfVxuICAgIGRpc3BsYXkucmVuZGVyZWRWaWV3ID0gZGlzcGxheS52aWV3O1xuICAgIC8vIFRoZXJlIG1pZ2h0IGhhdmUgYmVlbiBhIHdpZGdldCB3aXRoIGEgZm9jdXNlZCBlbGVtZW50IHRoYXQgZ290XG4gICAgLy8gaGlkZGVuIG9yIHVwZGF0ZWQsIGlmIHNvIHJlLWZvY3VzIGl0LlxuICAgIHJlc3RvcmVTZWxlY3Rpb24oc2VsU25hcHNob3QpO1xuXG4gICAgLy8gUHJldmVudCBzZWxlY3Rpb24gYW5kIGN1cnNvcnMgZnJvbSBpbnRlcmZlcmluZyB3aXRoIHRoZSBzY3JvbGxcbiAgICAvLyB3aWR0aCBhbmQgaGVpZ2h0LlxuICAgIHJlbW92ZUNoaWxkcmVuKGRpc3BsYXkuY3Vyc29yRGl2KTtcbiAgICByZW1vdmVDaGlsZHJlbihkaXNwbGF5LnNlbGVjdGlvbkRpdik7XG4gICAgZGlzcGxheS5ndXR0ZXJzLnN0eWxlLmhlaWdodCA9IGRpc3BsYXkuc2l6ZXIuc3R5bGUubWluSGVpZ2h0ID0gMDtcblxuICAgIGlmIChkaWZmZXJlbnQpIHtcbiAgICAgIGRpc3BsYXkubGFzdFdyYXBIZWlnaHQgPSB1cGRhdGUud3JhcHBlckhlaWdodDtcbiAgICAgIGRpc3BsYXkubGFzdFdyYXBXaWR0aCA9IHVwZGF0ZS53cmFwcGVyV2lkdGg7XG4gICAgICBzdGFydFdvcmtlcihjbSwgNDAwKTtcbiAgICB9XG5cbiAgICBkaXNwbGF5LnVwZGF0ZUxpbmVOdW1iZXJzID0gbnVsbDtcblxuICAgIHJldHVybiB0cnVlXG4gIH1cblxuICBmdW5jdGlvbiBwb3N0VXBkYXRlRGlzcGxheShjbSwgdXBkYXRlKSB7XG4gICAgdmFyIHZpZXdwb3J0ID0gdXBkYXRlLnZpZXdwb3J0O1xuXG4gICAgZm9yICh2YXIgZmlyc3QgPSB0cnVlOzsgZmlyc3QgPSBmYWxzZSkge1xuICAgICAgaWYgKCFmaXJzdCB8fCAhY20ub3B0aW9ucy5saW5lV3JhcHBpbmcgfHwgdXBkYXRlLm9sZERpc3BsYXlXaWR0aCA9PSBkaXNwbGF5V2lkdGgoY20pKSB7XG4gICAgICAgIC8vIENsaXAgZm9yY2VkIHZpZXdwb3J0IHRvIGFjdHVhbCBzY3JvbGxhYmxlIGFyZWEuXG4gICAgICAgIGlmICh2aWV3cG9ydCAmJiB2aWV3cG9ydC50b3AgIT0gbnVsbClcbiAgICAgICAgICB7IHZpZXdwb3J0ID0ge3RvcDogTWF0aC5taW4oY20uZG9jLmhlaWdodCArIHBhZGRpbmdWZXJ0KGNtLmRpc3BsYXkpIC0gZGlzcGxheUhlaWdodChjbSksIHZpZXdwb3J0LnRvcCl9OyB9XG4gICAgICAgIC8vIFVwZGF0ZWQgbGluZSBoZWlnaHRzIG1pZ2h0IHJlc3VsdCBpbiB0aGUgZHJhd24gYXJlYSBub3RcbiAgICAgICAgLy8gYWN0dWFsbHkgY292ZXJpbmcgdGhlIHZpZXdwb3J0LiBLZWVwIGxvb3BpbmcgdW50aWwgaXQgZG9lcy5cbiAgICAgICAgdXBkYXRlLnZpc2libGUgPSB2aXNpYmxlTGluZXMoY20uZGlzcGxheSwgY20uZG9jLCB2aWV3cG9ydCk7XG4gICAgICAgIGlmICh1cGRhdGUudmlzaWJsZS5mcm9tID49IGNtLmRpc3BsYXkudmlld0Zyb20gJiYgdXBkYXRlLnZpc2libGUudG8gPD0gY20uZGlzcGxheS52aWV3VG8pXG4gICAgICAgICAgeyBicmVhayB9XG4gICAgICB9XG4gICAgICBpZiAoIXVwZGF0ZURpc3BsYXlJZk5lZWRlZChjbSwgdXBkYXRlKSkgeyBicmVhayB9XG4gICAgICB1cGRhdGVIZWlnaHRzSW5WaWV3cG9ydChjbSk7XG4gICAgICB2YXIgYmFyTWVhc3VyZSA9IG1lYXN1cmVGb3JTY3JvbGxiYXJzKGNtKTtcbiAgICAgIHVwZGF0ZVNlbGVjdGlvbihjbSk7XG4gICAgICB1cGRhdGVTY3JvbGxiYXJzKGNtLCBiYXJNZWFzdXJlKTtcbiAgICAgIHNldERvY3VtZW50SGVpZ2h0KGNtLCBiYXJNZWFzdXJlKTtcbiAgICAgIHVwZGF0ZS5mb3JjZSA9IGZhbHNlO1xuICAgIH1cblxuICAgIHVwZGF0ZS5zaWduYWwoY20sIFwidXBkYXRlXCIsIGNtKTtcbiAgICBpZiAoY20uZGlzcGxheS52aWV3RnJvbSAhPSBjbS5kaXNwbGF5LnJlcG9ydGVkVmlld0Zyb20gfHwgY20uZGlzcGxheS52aWV3VG8gIT0gY20uZGlzcGxheS5yZXBvcnRlZFZpZXdUbykge1xuICAgICAgdXBkYXRlLnNpZ25hbChjbSwgXCJ2aWV3cG9ydENoYW5nZVwiLCBjbSwgY20uZGlzcGxheS52aWV3RnJvbSwgY20uZGlzcGxheS52aWV3VG8pO1xuICAgICAgY20uZGlzcGxheS5yZXBvcnRlZFZpZXdGcm9tID0gY20uZGlzcGxheS52aWV3RnJvbTsgY20uZGlzcGxheS5yZXBvcnRlZFZpZXdUbyA9IGNtLmRpc3BsYXkudmlld1RvO1xuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIHVwZGF0ZURpc3BsYXlTaW1wbGUoY20sIHZpZXdwb3J0KSB7XG4gICAgdmFyIHVwZGF0ZSA9IG5ldyBEaXNwbGF5VXBkYXRlKGNtLCB2aWV3cG9ydCk7XG4gICAgaWYgKHVwZGF0ZURpc3BsYXlJZk5lZWRlZChjbSwgdXBkYXRlKSkge1xuICAgICAgdXBkYXRlSGVpZ2h0c0luVmlld3BvcnQoY20pO1xuICAgICAgcG9zdFVwZGF0ZURpc3BsYXkoY20sIHVwZGF0ZSk7XG4gICAgICB2YXIgYmFyTWVhc3VyZSA9IG1lYXN1cmVGb3JTY3JvbGxiYXJzKGNtKTtcbiAgICAgIHVwZGF0ZVNlbGVjdGlvbihjbSk7XG4gICAgICB1cGRhdGVTY3JvbGxiYXJzKGNtLCBiYXJNZWFzdXJlKTtcbiAgICAgIHNldERvY3VtZW50SGVpZ2h0KGNtLCBiYXJNZWFzdXJlKTtcbiAgICAgIHVwZGF0ZS5maW5pc2goKTtcbiAgICB9XG4gIH1cblxuICAvLyBTeW5jIHRoZSBhY3R1YWwgZGlzcGxheSBET00gc3RydWN0dXJlIHdpdGggZGlzcGxheS52aWV3LCByZW1vdmluZ1xuICAvLyBub2RlcyBmb3IgbGluZXMgdGhhdCBhcmUgbm8gbG9uZ2VyIGluIHZpZXcsIGFuZCBjcmVhdGluZyB0aGUgb25lc1xuICAvLyB0aGF0IGFyZSBub3QgdGhlcmUgeWV0LCBhbmQgdXBkYXRpbmcgdGhlIG9uZXMgdGhhdCBhcmUgb3V0IG9mXG4gIC8vIGRhdGUuXG4gIGZ1bmN0aW9uIHBhdGNoRGlzcGxheShjbSwgdXBkYXRlTnVtYmVyc0Zyb20sIGRpbXMpIHtcbiAgICB2YXIgZGlzcGxheSA9IGNtLmRpc3BsYXksIGxpbmVOdW1iZXJzID0gY20ub3B0aW9ucy5saW5lTnVtYmVycztcbiAgICB2YXIgY29udGFpbmVyID0gZGlzcGxheS5saW5lRGl2LCBjdXIgPSBjb250YWluZXIuZmlyc3RDaGlsZDtcblxuICAgIGZ1bmN0aW9uIHJtKG5vZGUpIHtcbiAgICAgIHZhciBuZXh0ID0gbm9kZS5uZXh0U2libGluZztcbiAgICAgIC8vIFdvcmtzIGFyb3VuZCBhIHRocm93LXNjcm9sbCBidWcgaW4gT1MgWCBXZWJraXRcbiAgICAgIGlmICh3ZWJraXQgJiYgbWFjICYmIGNtLmRpc3BsYXkuY3VycmVudFdoZWVsVGFyZ2V0ID09IG5vZGUpXG4gICAgICAgIHsgbm9kZS5zdHlsZS5kaXNwbGF5ID0gXCJub25lXCI7IH1cbiAgICAgIGVsc2VcbiAgICAgICAgeyBub2RlLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQobm9kZSk7IH1cbiAgICAgIHJldHVybiBuZXh0XG4gICAgfVxuXG4gICAgdmFyIHZpZXcgPSBkaXNwbGF5LnZpZXcsIGxpbmVOID0gZGlzcGxheS52aWV3RnJvbTtcbiAgICAvLyBMb29wIG92ZXIgdGhlIGVsZW1lbnRzIGluIHRoZSB2aWV3LCBzeW5jaW5nIGN1ciAodGhlIERPTSBub2Rlc1xuICAgIC8vIGluIGRpc3BsYXkubGluZURpdikgd2l0aCB0aGUgdmlldyBhcyB3ZSBnby5cbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHZpZXcubGVuZ3RoOyBpKyspIHtcbiAgICAgIHZhciBsaW5lVmlldyA9IHZpZXdbaV07XG4gICAgICBpZiAobGluZVZpZXcuaGlkZGVuKSA7IGVsc2UgaWYgKCFsaW5lVmlldy5ub2RlIHx8IGxpbmVWaWV3Lm5vZGUucGFyZW50Tm9kZSAhPSBjb250YWluZXIpIHsgLy8gTm90IGRyYXduIHlldFxuICAgICAgICB2YXIgbm9kZSA9IGJ1aWxkTGluZUVsZW1lbnQoY20sIGxpbmVWaWV3LCBsaW5lTiwgZGltcyk7XG4gICAgICAgIGNvbnRhaW5lci5pbnNlcnRCZWZvcmUobm9kZSwgY3VyKTtcbiAgICAgIH0gZWxzZSB7IC8vIEFscmVhZHkgZHJhd25cbiAgICAgICAgd2hpbGUgKGN1ciAhPSBsaW5lVmlldy5ub2RlKSB7IGN1ciA9IHJtKGN1cik7IH1cbiAgICAgICAgdmFyIHVwZGF0ZU51bWJlciA9IGxpbmVOdW1iZXJzICYmIHVwZGF0ZU51bWJlcnNGcm9tICE9IG51bGwgJiZcbiAgICAgICAgICB1cGRhdGVOdW1iZXJzRnJvbSA8PSBsaW5lTiAmJiBsaW5lVmlldy5saW5lTnVtYmVyO1xuICAgICAgICBpZiAobGluZVZpZXcuY2hhbmdlcykge1xuICAgICAgICAgIGlmIChpbmRleE9mKGxpbmVWaWV3LmNoYW5nZXMsIFwiZ3V0dGVyXCIpID4gLTEpIHsgdXBkYXRlTnVtYmVyID0gZmFsc2U7IH1cbiAgICAgICAgICB1cGRhdGVMaW5lRm9yQ2hhbmdlcyhjbSwgbGluZVZpZXcsIGxpbmVOLCBkaW1zKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodXBkYXRlTnVtYmVyKSB7XG4gICAgICAgICAgcmVtb3ZlQ2hpbGRyZW4obGluZVZpZXcubGluZU51bWJlcik7XG4gICAgICAgICAgbGluZVZpZXcubGluZU51bWJlci5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShsaW5lTnVtYmVyRm9yKGNtLm9wdGlvbnMsIGxpbmVOKSkpO1xuICAgICAgICB9XG4gICAgICAgIGN1ciA9IGxpbmVWaWV3Lm5vZGUubmV4dFNpYmxpbmc7XG4gICAgICB9XG4gICAgICBsaW5lTiArPSBsaW5lVmlldy5zaXplO1xuICAgIH1cbiAgICB3aGlsZSAoY3VyKSB7IGN1ciA9IHJtKGN1cik7IH1cbiAgfVxuXG4gIGZ1bmN0aW9uIHVwZGF0ZUd1dHRlclNwYWNlKGRpc3BsYXkpIHtcbiAgICB2YXIgd2lkdGggPSBkaXNwbGF5Lmd1dHRlcnMub2Zmc2V0V2lkdGg7XG4gICAgZGlzcGxheS5zaXplci5zdHlsZS5tYXJnaW5MZWZ0ID0gd2lkdGggKyBcInB4XCI7XG4gIH1cblxuICBmdW5jdGlvbiBzZXREb2N1bWVudEhlaWdodChjbSwgbWVhc3VyZSkge1xuICAgIGNtLmRpc3BsYXkuc2l6ZXIuc3R5bGUubWluSGVpZ2h0ID0gbWVhc3VyZS5kb2NIZWlnaHQgKyBcInB4XCI7XG4gICAgY20uZGlzcGxheS5oZWlnaHRGb3JjZXIuc3R5bGUudG9wID0gbWVhc3VyZS5kb2NIZWlnaHQgKyBcInB4XCI7XG4gICAgY20uZGlzcGxheS5ndXR0ZXJzLnN0eWxlLmhlaWdodCA9IChtZWFzdXJlLmRvY0hlaWdodCArIGNtLmRpc3BsYXkuYmFySGVpZ2h0ICsgc2Nyb2xsR2FwKGNtKSkgKyBcInB4XCI7XG4gIH1cblxuICAvLyBSZS1hbGlnbiBsaW5lIG51bWJlcnMgYW5kIGd1dHRlciBtYXJrcyB0byBjb21wZW5zYXRlIGZvclxuICAvLyBob3Jpem9udGFsIHNjcm9sbGluZy5cbiAgZnVuY3Rpb24gYWxpZ25Ib3Jpem9udGFsbHkoY20pIHtcbiAgICB2YXIgZGlzcGxheSA9IGNtLmRpc3BsYXksIHZpZXcgPSBkaXNwbGF5LnZpZXc7XG4gICAgaWYgKCFkaXNwbGF5LmFsaWduV2lkZ2V0cyAmJiAoIWRpc3BsYXkuZ3V0dGVycy5maXJzdENoaWxkIHx8ICFjbS5vcHRpb25zLmZpeGVkR3V0dGVyKSkgeyByZXR1cm4gfVxuICAgIHZhciBjb21wID0gY29tcGVuc2F0ZUZvckhTY3JvbGwoZGlzcGxheSkgLSBkaXNwbGF5LnNjcm9sbGVyLnNjcm9sbExlZnQgKyBjbS5kb2Muc2Nyb2xsTGVmdDtcbiAgICB2YXIgZ3V0dGVyVyA9IGRpc3BsYXkuZ3V0dGVycy5vZmZzZXRXaWR0aCwgbGVmdCA9IGNvbXAgKyBcInB4XCI7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB2aWV3Lmxlbmd0aDsgaSsrKSB7IGlmICghdmlld1tpXS5oaWRkZW4pIHtcbiAgICAgIGlmIChjbS5vcHRpb25zLmZpeGVkR3V0dGVyKSB7XG4gICAgICAgIGlmICh2aWV3W2ldLmd1dHRlcilcbiAgICAgICAgICB7IHZpZXdbaV0uZ3V0dGVyLnN0eWxlLmxlZnQgPSBsZWZ0OyB9XG4gICAgICAgIGlmICh2aWV3W2ldLmd1dHRlckJhY2tncm91bmQpXG4gICAgICAgICAgeyB2aWV3W2ldLmd1dHRlckJhY2tncm91bmQuc3R5bGUubGVmdCA9IGxlZnQ7IH1cbiAgICAgIH1cbiAgICAgIHZhciBhbGlnbiA9IHZpZXdbaV0uYWxpZ25hYmxlO1xuICAgICAgaWYgKGFsaWduKSB7IGZvciAodmFyIGogPSAwOyBqIDwgYWxpZ24ubGVuZ3RoOyBqKyspXG4gICAgICAgIHsgYWxpZ25bal0uc3R5bGUubGVmdCA9IGxlZnQ7IH0gfVxuICAgIH0gfVxuICAgIGlmIChjbS5vcHRpb25zLmZpeGVkR3V0dGVyKVxuICAgICAgeyBkaXNwbGF5Lmd1dHRlcnMuc3R5bGUubGVmdCA9IChjb21wICsgZ3V0dGVyVykgKyBcInB4XCI7IH1cbiAgfVxuXG4gIC8vIFVzZWQgdG8gZW5zdXJlIHRoYXQgdGhlIGxpbmUgbnVtYmVyIGd1dHRlciBpcyBzdGlsbCB0aGUgcmlnaHRcbiAgLy8gc2l6ZSBmb3IgdGhlIGN1cnJlbnQgZG9jdW1lbnQgc2l6ZS4gUmV0dXJucyB0cnVlIHdoZW4gYW4gdXBkYXRlXG4gIC8vIGlzIG5lZWRlZC5cbiAgZnVuY3Rpb24gbWF5YmVVcGRhdGVMaW5lTnVtYmVyV2lkdGgoY20pIHtcbiAgICBpZiAoIWNtLm9wdGlvbnMubGluZU51bWJlcnMpIHsgcmV0dXJuIGZhbHNlIH1cbiAgICB2YXIgZG9jID0gY20uZG9jLCBsYXN0ID0gbGluZU51bWJlckZvcihjbS5vcHRpb25zLCBkb2MuZmlyc3QgKyBkb2Muc2l6ZSAtIDEpLCBkaXNwbGF5ID0gY20uZGlzcGxheTtcbiAgICBpZiAobGFzdC5sZW5ndGggIT0gZGlzcGxheS5saW5lTnVtQ2hhcnMpIHtcbiAgICAgIHZhciB0ZXN0ID0gZGlzcGxheS5tZWFzdXJlLmFwcGVuZENoaWxkKGVsdChcImRpdlwiLCBbZWx0KFwiZGl2XCIsIGxhc3QpXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIkNvZGVNaXJyb3ItbGluZW51bWJlciBDb2RlTWlycm9yLWd1dHRlci1lbHRcIikpO1xuICAgICAgdmFyIGlubmVyVyA9IHRlc3QuZmlyc3RDaGlsZC5vZmZzZXRXaWR0aCwgcGFkZGluZyA9IHRlc3Qub2Zmc2V0V2lkdGggLSBpbm5lclc7XG4gICAgICBkaXNwbGF5LmxpbmVHdXR0ZXIuc3R5bGUud2lkdGggPSBcIlwiO1xuICAgICAgZGlzcGxheS5saW5lTnVtSW5uZXJXaWR0aCA9IE1hdGgubWF4KGlubmVyVywgZGlzcGxheS5saW5lR3V0dGVyLm9mZnNldFdpZHRoIC0gcGFkZGluZykgKyAxO1xuICAgICAgZGlzcGxheS5saW5lTnVtV2lkdGggPSBkaXNwbGF5LmxpbmVOdW1Jbm5lcldpZHRoICsgcGFkZGluZztcbiAgICAgIGRpc3BsYXkubGluZU51bUNoYXJzID0gZGlzcGxheS5saW5lTnVtSW5uZXJXaWR0aCA/IGxhc3QubGVuZ3RoIDogLTE7XG4gICAgICBkaXNwbGF5LmxpbmVHdXR0ZXIuc3R5bGUud2lkdGggPSBkaXNwbGF5LmxpbmVOdW1XaWR0aCArIFwicHhcIjtcbiAgICAgIHVwZGF0ZUd1dHRlclNwYWNlKGNtLmRpc3BsYXkpO1xuICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cblxuICBmdW5jdGlvbiBnZXRHdXR0ZXJzKGd1dHRlcnMsIGxpbmVOdW1iZXJzKSB7XG4gICAgdmFyIHJlc3VsdCA9IFtdLCBzYXdMaW5lTnVtYmVycyA9IGZhbHNlO1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZ3V0dGVycy5sZW5ndGg7IGkrKykge1xuICAgICAgdmFyIG5hbWUgPSBndXR0ZXJzW2ldLCBzdHlsZSA9IG51bGw7XG4gICAgICBpZiAodHlwZW9mIG5hbWUgIT0gXCJzdHJpbmdcIikgeyBzdHlsZSA9IG5hbWUuc3R5bGU7IG5hbWUgPSBuYW1lLmNsYXNzTmFtZTsgfVxuICAgICAgaWYgKG5hbWUgPT0gXCJDb2RlTWlycm9yLWxpbmVudW1iZXJzXCIpIHtcbiAgICAgICAgaWYgKCFsaW5lTnVtYmVycykgeyBjb250aW51ZSB9XG4gICAgICAgIGVsc2UgeyBzYXdMaW5lTnVtYmVycyA9IHRydWU7IH1cbiAgICAgIH1cbiAgICAgIHJlc3VsdC5wdXNoKHtjbGFzc05hbWU6IG5hbWUsIHN0eWxlOiBzdHlsZX0pO1xuICAgIH1cbiAgICBpZiAobGluZU51bWJlcnMgJiYgIXNhd0xpbmVOdW1iZXJzKSB7IHJlc3VsdC5wdXNoKHtjbGFzc05hbWU6IFwiQ29kZU1pcnJvci1saW5lbnVtYmVyc1wiLCBzdHlsZTogbnVsbH0pOyB9XG4gICAgcmV0dXJuIHJlc3VsdFxuICB9XG5cbiAgLy8gUmVidWlsZCB0aGUgZ3V0dGVyIGVsZW1lbnRzLCBlbnN1cmUgdGhlIG1hcmdpbiB0byB0aGUgbGVmdCBvZiB0aGVcbiAgLy8gY29kZSBtYXRjaGVzIHRoZWlyIHdpZHRoLlxuICBmdW5jdGlvbiByZW5kZXJHdXR0ZXJzKGRpc3BsYXkpIHtcbiAgICB2YXIgZ3V0dGVycyA9IGRpc3BsYXkuZ3V0dGVycywgc3BlY3MgPSBkaXNwbGF5Lmd1dHRlclNwZWNzO1xuICAgIHJlbW92ZUNoaWxkcmVuKGd1dHRlcnMpO1xuICAgIGRpc3BsYXkubGluZUd1dHRlciA9IG51bGw7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzcGVjcy5sZW5ndGg7ICsraSkge1xuICAgICAgdmFyIHJlZiA9IHNwZWNzW2ldO1xuICAgICAgdmFyIGNsYXNzTmFtZSA9IHJlZi5jbGFzc05hbWU7XG4gICAgICB2YXIgc3R5bGUgPSByZWYuc3R5bGU7XG4gICAgICB2YXIgZ0VsdCA9IGd1dHRlcnMuYXBwZW5kQ2hpbGQoZWx0KFwiZGl2XCIsIG51bGwsIFwiQ29kZU1pcnJvci1ndXR0ZXIgXCIgKyBjbGFzc05hbWUpKTtcbiAgICAgIGlmIChzdHlsZSkgeyBnRWx0LnN0eWxlLmNzc1RleHQgPSBzdHlsZTsgfVxuICAgICAgaWYgKGNsYXNzTmFtZSA9PSBcIkNvZGVNaXJyb3ItbGluZW51bWJlcnNcIikge1xuICAgICAgICBkaXNwbGF5LmxpbmVHdXR0ZXIgPSBnRWx0O1xuICAgICAgICBnRWx0LnN0eWxlLndpZHRoID0gKGRpc3BsYXkubGluZU51bVdpZHRoIHx8IDEpICsgXCJweFwiO1xuICAgICAgfVxuICAgIH1cbiAgICBndXR0ZXJzLnN0eWxlLmRpc3BsYXkgPSBzcGVjcy5sZW5ndGggPyBcIlwiIDogXCJub25lXCI7XG4gICAgdXBkYXRlR3V0dGVyU3BhY2UoZGlzcGxheSk7XG4gIH1cblxuICBmdW5jdGlvbiB1cGRhdGVHdXR0ZXJzKGNtKSB7XG4gICAgcmVuZGVyR3V0dGVycyhjbS5kaXNwbGF5KTtcbiAgICByZWdDaGFuZ2UoY20pO1xuICAgIGFsaWduSG9yaXpvbnRhbGx5KGNtKTtcbiAgfVxuXG4gIC8vIFRoZSBkaXNwbGF5IGhhbmRsZXMgdGhlIERPTSBpbnRlZ3JhdGlvbiwgYm90aCBmb3IgaW5wdXQgcmVhZGluZ1xuICAvLyBhbmQgY29udGVudCBkcmF3aW5nLiBJdCBob2xkcyByZWZlcmVuY2VzIHRvIERPTSBub2RlcyBhbmRcbiAgLy8gZGlzcGxheS1yZWxhdGVkIHN0YXRlLlxuXG4gIGZ1bmN0aW9uIERpc3BsYXkocGxhY2UsIGRvYywgaW5wdXQsIG9wdGlvbnMpIHtcbiAgICB2YXIgZCA9IHRoaXM7XG4gICAgdGhpcy5pbnB1dCA9IGlucHV0O1xuXG4gICAgLy8gQ292ZXJzIGJvdHRvbS1yaWdodCBzcXVhcmUgd2hlbiBib3RoIHNjcm9sbGJhcnMgYXJlIHByZXNlbnQuXG4gICAgZC5zY3JvbGxiYXJGaWxsZXIgPSBlbHQoXCJkaXZcIiwgbnVsbCwgXCJDb2RlTWlycm9yLXNjcm9sbGJhci1maWxsZXJcIik7XG4gICAgZC5zY3JvbGxiYXJGaWxsZXIuc2V0QXR0cmlidXRlKFwiY20tbm90LWNvbnRlbnRcIiwgXCJ0cnVlXCIpO1xuICAgIC8vIENvdmVycyBib3R0b20gb2YgZ3V0dGVyIHdoZW4gY292ZXJHdXR0ZXJOZXh0VG9TY3JvbGxiYXIgaXMgb25cbiAgICAvLyBhbmQgaCBzY3JvbGxiYXIgaXMgcHJlc2VudC5cbiAgICBkLmd1dHRlckZpbGxlciA9IGVsdChcImRpdlwiLCBudWxsLCBcIkNvZGVNaXJyb3ItZ3V0dGVyLWZpbGxlclwiKTtcbiAgICBkLmd1dHRlckZpbGxlci5zZXRBdHRyaWJ1dGUoXCJjbS1ub3QtY29udGVudFwiLCBcInRydWVcIik7XG4gICAgLy8gV2lsbCBjb250YWluIHRoZSBhY3R1YWwgY29kZSwgcG9zaXRpb25lZCB0byBjb3ZlciB0aGUgdmlld3BvcnQuXG4gICAgZC5saW5lRGl2ID0gZWx0UChcImRpdlwiLCBudWxsLCBcIkNvZGVNaXJyb3ItY29kZVwiKTtcbiAgICAvLyBFbGVtZW50cyBhcmUgYWRkZWQgdG8gdGhlc2UgdG8gcmVwcmVzZW50IHNlbGVjdGlvbiBhbmQgY3Vyc29ycy5cbiAgICBkLnNlbGVjdGlvbkRpdiA9IGVsdChcImRpdlwiLCBudWxsLCBudWxsLCBcInBvc2l0aW9uOiByZWxhdGl2ZTsgei1pbmRleDogMVwiKTtcbiAgICBkLmN1cnNvckRpdiA9IGVsdChcImRpdlwiLCBudWxsLCBcIkNvZGVNaXJyb3ItY3Vyc29yc1wiKTtcbiAgICAvLyBBIHZpc2liaWxpdHk6IGhpZGRlbiBlbGVtZW50IHVzZWQgdG8gZmluZCB0aGUgc2l6ZSBvZiB0aGluZ3MuXG4gICAgZC5tZWFzdXJlID0gZWx0KFwiZGl2XCIsIG51bGwsIFwiQ29kZU1pcnJvci1tZWFzdXJlXCIpO1xuICAgIC8vIFdoZW4gbGluZXMgb3V0c2lkZSBvZiB0aGUgdmlld3BvcnQgYXJlIG1lYXN1cmVkLCB0aGV5IGFyZSBkcmF3biBpbiB0aGlzLlxuICAgIGQubGluZU1lYXN1cmUgPSBlbHQoXCJkaXZcIiwgbnVsbCwgXCJDb2RlTWlycm9yLW1lYXN1cmVcIik7XG4gICAgLy8gV3JhcHMgZXZlcnl0aGluZyB0aGF0IG5lZWRzIHRvIGV4aXN0IGluc2lkZSB0aGUgdmVydGljYWxseS1wYWRkZWQgY29vcmRpbmF0ZSBzeXN0ZW1cbiAgICBkLmxpbmVTcGFjZSA9IGVsdFAoXCJkaXZcIiwgW2QubWVhc3VyZSwgZC5saW5lTWVhc3VyZSwgZC5zZWxlY3Rpb25EaXYsIGQuY3Vyc29yRGl2LCBkLmxpbmVEaXZdLFxuICAgICAgICAgICAgICAgICAgICAgIG51bGwsIFwicG9zaXRpb246IHJlbGF0aXZlOyBvdXRsaW5lOiBub25lXCIpO1xuICAgIHZhciBsaW5lcyA9IGVsdFAoXCJkaXZcIiwgW2QubGluZVNwYWNlXSwgXCJDb2RlTWlycm9yLWxpbmVzXCIpO1xuICAgIC8vIE1vdmVkIGFyb3VuZCBpdHMgcGFyZW50IHRvIGNvdmVyIHZpc2libGUgdmlldy5cbiAgICBkLm1vdmVyID0gZWx0KFwiZGl2XCIsIFtsaW5lc10sIG51bGwsIFwicG9zaXRpb246IHJlbGF0aXZlXCIpO1xuICAgIC8vIFNldCB0byB0aGUgaGVpZ2h0IG9mIHRoZSBkb2N1bWVudCwgYWxsb3dpbmcgc2Nyb2xsaW5nLlxuICAgIGQuc2l6ZXIgPSBlbHQoXCJkaXZcIiwgW2QubW92ZXJdLCBcIkNvZGVNaXJyb3Itc2l6ZXJcIik7XG4gICAgZC5zaXplcldpZHRoID0gbnVsbDtcbiAgICAvLyBCZWhhdmlvciBvZiBlbHRzIHdpdGggb3ZlcmZsb3c6IGF1dG8gYW5kIHBhZGRpbmcgaXNcbiAgICAvLyBpbmNvbnNpc3RlbnQgYWNyb3NzIGJyb3dzZXJzLiBUaGlzIGlzIHVzZWQgdG8gZW5zdXJlIHRoZVxuICAgIC8vIHNjcm9sbGFibGUgYXJlYSBpcyBiaWcgZW5vdWdoLlxuICAgIGQuaGVpZ2h0Rm9yY2VyID0gZWx0KFwiZGl2XCIsIG51bGwsIG51bGwsIFwicG9zaXRpb246IGFic29sdXRlOyBoZWlnaHQ6IFwiICsgc2Nyb2xsZXJHYXAgKyBcInB4OyB3aWR0aDogMXB4O1wiKTtcbiAgICAvLyBXaWxsIGNvbnRhaW4gdGhlIGd1dHRlcnMsIGlmIGFueS5cbiAgICBkLmd1dHRlcnMgPSBlbHQoXCJkaXZcIiwgbnVsbCwgXCJDb2RlTWlycm9yLWd1dHRlcnNcIik7XG4gICAgZC5saW5lR3V0dGVyID0gbnVsbDtcbiAgICAvLyBBY3R1YWwgc2Nyb2xsYWJsZSBlbGVtZW50LlxuICAgIGQuc2Nyb2xsZXIgPSBlbHQoXCJkaXZcIiwgW2Quc2l6ZXIsIGQuaGVpZ2h0Rm9yY2VyLCBkLmd1dHRlcnNdLCBcIkNvZGVNaXJyb3Itc2Nyb2xsXCIpO1xuICAgIGQuc2Nyb2xsZXIuc2V0QXR0cmlidXRlKFwidGFiSW5kZXhcIiwgXCItMVwiKTtcbiAgICAvLyBUaGUgZWxlbWVudCBpbiB3aGljaCB0aGUgZWRpdG9yIGxpdmVzLlxuICAgIGQud3JhcHBlciA9IGVsdChcImRpdlwiLCBbZC5zY3JvbGxiYXJGaWxsZXIsIGQuZ3V0dGVyRmlsbGVyLCBkLnNjcm9sbGVyXSwgXCJDb2RlTWlycm9yXCIpO1xuXG4gICAgLy8gV29yayBhcm91bmQgSUU3IHotaW5kZXggYnVnIChub3QgcGVyZmVjdCwgaGVuY2UgSUU3IG5vdCByZWFsbHkgYmVpbmcgc3VwcG9ydGVkKVxuICAgIGlmIChpZSAmJiBpZV92ZXJzaW9uIDwgOCkgeyBkLmd1dHRlcnMuc3R5bGUuekluZGV4ID0gLTE7IGQuc2Nyb2xsZXIuc3R5bGUucGFkZGluZ1JpZ2h0ID0gMDsgfVxuICAgIGlmICghd2Via2l0ICYmICEoZ2Vja28gJiYgbW9iaWxlKSkgeyBkLnNjcm9sbGVyLmRyYWdnYWJsZSA9IHRydWU7IH1cblxuICAgIGlmIChwbGFjZSkge1xuICAgICAgaWYgKHBsYWNlLmFwcGVuZENoaWxkKSB7IHBsYWNlLmFwcGVuZENoaWxkKGQud3JhcHBlcik7IH1cbiAgICAgIGVsc2UgeyBwbGFjZShkLndyYXBwZXIpOyB9XG4gICAgfVxuXG4gICAgLy8gQ3VycmVudCByZW5kZXJlZCByYW5nZSAobWF5IGJlIGJpZ2dlciB0aGFuIHRoZSB2aWV3IHdpbmRvdykuXG4gICAgZC52aWV3RnJvbSA9IGQudmlld1RvID0gZG9jLmZpcnN0O1xuICAgIGQucmVwb3J0ZWRWaWV3RnJvbSA9IGQucmVwb3J0ZWRWaWV3VG8gPSBkb2MuZmlyc3Q7XG4gICAgLy8gSW5mb3JtYXRpb24gYWJvdXQgdGhlIHJlbmRlcmVkIGxpbmVzLlxuICAgIGQudmlldyA9IFtdO1xuICAgIGQucmVuZGVyZWRWaWV3ID0gbnVsbDtcbiAgICAvLyBIb2xkcyBpbmZvIGFib3V0IGEgc2luZ2xlIHJlbmRlcmVkIGxpbmUgd2hlbiBpdCB3YXMgcmVuZGVyZWRcbiAgICAvLyBmb3IgbWVhc3VyZW1lbnQsIHdoaWxlIG5vdCBpbiB2aWV3LlxuICAgIGQuZXh0ZXJuYWxNZWFzdXJlZCA9IG51bGw7XG4gICAgLy8gRW1wdHkgc3BhY2UgKGluIHBpeGVscykgYWJvdmUgdGhlIHZpZXdcbiAgICBkLnZpZXdPZmZzZXQgPSAwO1xuICAgIGQubGFzdFdyYXBIZWlnaHQgPSBkLmxhc3RXcmFwV2lkdGggPSAwO1xuICAgIGQudXBkYXRlTGluZU51bWJlcnMgPSBudWxsO1xuXG4gICAgZC5uYXRpdmVCYXJXaWR0aCA9IGQuYmFySGVpZ2h0ID0gZC5iYXJXaWR0aCA9IDA7XG4gICAgZC5zY3JvbGxiYXJzQ2xpcHBlZCA9IGZhbHNlO1xuXG4gICAgLy8gVXNlZCB0byBvbmx5IHJlc2l6ZSB0aGUgbGluZSBudW1iZXIgZ3V0dGVyIHdoZW4gbmVjZXNzYXJ5ICh3aGVuXG4gICAgLy8gdGhlIGFtb3VudCBvZiBsaW5lcyBjcm9zc2VzIGEgYm91bmRhcnkgdGhhdCBtYWtlcyBpdHMgd2lkdGggY2hhbmdlKVxuICAgIGQubGluZU51bVdpZHRoID0gZC5saW5lTnVtSW5uZXJXaWR0aCA9IGQubGluZU51bUNoYXJzID0gbnVsbDtcbiAgICAvLyBTZXQgdG8gdHJ1ZSB3aGVuIGEgbm9uLWhvcml6b250YWwtc2Nyb2xsaW5nIGxpbmUgd2lkZ2V0IGlzXG4gICAgLy8gYWRkZWQuIEFzIGFuIG9wdGltaXphdGlvbiwgbGluZSB3aWRnZXQgYWxpZ25pbmcgaXMgc2tpcHBlZCB3aGVuXG4gICAgLy8gdGhpcyBpcyBmYWxzZS5cbiAgICBkLmFsaWduV2lkZ2V0cyA9IGZhbHNlO1xuXG4gICAgZC5jYWNoZWRDaGFyV2lkdGggPSBkLmNhY2hlZFRleHRIZWlnaHQgPSBkLmNhY2hlZFBhZGRpbmdIID0gbnVsbDtcblxuICAgIC8vIFRyYWNrcyB0aGUgbWF4aW11bSBsaW5lIGxlbmd0aCBzbyB0aGF0IHRoZSBob3Jpem9udGFsIHNjcm9sbGJhclxuICAgIC8vIGNhbiBiZSBrZXB0IHN0YXRpYyB3aGVuIHNjcm9sbGluZy5cbiAgICBkLm1heExpbmUgPSBudWxsO1xuICAgIGQubWF4TGluZUxlbmd0aCA9IDA7XG4gICAgZC5tYXhMaW5lQ2hhbmdlZCA9IGZhbHNlO1xuXG4gICAgLy8gVXNlZCBmb3IgbWVhc3VyaW5nIHdoZWVsIHNjcm9sbGluZyBncmFudWxhcml0eVxuICAgIGQud2hlZWxEWCA9IGQud2hlZWxEWSA9IGQud2hlZWxTdGFydFggPSBkLndoZWVsU3RhcnRZID0gbnVsbDtcblxuICAgIC8vIFRydWUgd2hlbiBzaGlmdCBpcyBoZWxkIGRvd24uXG4gICAgZC5zaGlmdCA9IGZhbHNlO1xuXG4gICAgLy8gVXNlZCB0byB0cmFjayB3aGV0aGVyIGFueXRoaW5nIGhhcHBlbmVkIHNpbmNlIHRoZSBjb250ZXh0IG1lbnVcbiAgICAvLyB3YXMgb3BlbmVkLlxuICAgIGQuc2VsRm9yQ29udGV4dE1lbnUgPSBudWxsO1xuXG4gICAgZC5hY3RpdmVUb3VjaCA9IG51bGw7XG5cbiAgICBkLmd1dHRlclNwZWNzID0gZ2V0R3V0dGVycyhvcHRpb25zLmd1dHRlcnMsIG9wdGlvbnMubGluZU51bWJlcnMpO1xuICAgIHJlbmRlckd1dHRlcnMoZCk7XG5cbiAgICBpbnB1dC5pbml0KGQpO1xuICB9XG5cbiAgLy8gU2luY2UgdGhlIGRlbHRhIHZhbHVlcyByZXBvcnRlZCBvbiBtb3VzZSB3aGVlbCBldmVudHMgYXJlXG4gIC8vIHVuc3RhbmRhcmRpemVkIGJldHdlZW4gYnJvd3NlcnMgYW5kIGV2ZW4gYnJvd3NlciB2ZXJzaW9ucywgYW5kXG4gIC8vIGdlbmVyYWxseSBob3JyaWJseSB1bnByZWRpY3RhYmxlLCB0aGlzIGNvZGUgc3RhcnRzIGJ5IG1lYXN1cmluZ1xuICAvLyB0aGUgc2Nyb2xsIGVmZmVjdCB0aGF0IHRoZSBmaXJzdCBmZXcgbW91c2Ugd2hlZWwgZXZlbnRzIGhhdmUsXG4gIC8vIGFuZCwgZnJvbSB0aGF0LCBkZXRlY3RzIHRoZSB3YXkgaXQgY2FuIGNvbnZlcnQgZGVsdGFzIHRvIHBpeGVsXG4gIC8vIG9mZnNldHMgYWZ0ZXJ3YXJkcy5cbiAgLy9cbiAgLy8gVGhlIHJlYXNvbiB3ZSB3YW50IHRvIGtub3cgdGhlIGFtb3VudCBhIHdoZWVsIGV2ZW50IHdpbGwgc2Nyb2xsXG4gIC8vIGlzIHRoYXQgaXQgZ2l2ZXMgdXMgYSBjaGFuY2UgdG8gdXBkYXRlIHRoZSBkaXNwbGF5IGJlZm9yZSB0aGVcbiAgLy8gYWN0dWFsIHNjcm9sbGluZyBoYXBwZW5zLCByZWR1Y2luZyBmbGlja2VyaW5nLlxuXG4gIHZhciB3aGVlbFNhbXBsZXMgPSAwLCB3aGVlbFBpeGVsc1BlclVuaXQgPSBudWxsO1xuICAvLyBGaWxsIGluIGEgYnJvd3Nlci1kZXRlY3RlZCBzdGFydGluZyB2YWx1ZSBvbiBicm93c2VycyB3aGVyZSB3ZVxuICAvLyBrbm93IG9uZS4gVGhlc2UgZG9uJ3QgaGF2ZSB0byBiZSBhY2N1cmF0ZSAtLSB0aGUgcmVzdWx0IG9mIHRoZW1cbiAgLy8gYmVpbmcgd3Jvbmcgd291bGQganVzdCBiZSBhIHNsaWdodCBmbGlja2VyIG9uIHRoZSBmaXJzdCB3aGVlbFxuICAvLyBzY3JvbGwgKGlmIGl0IGlzIGxhcmdlIGVub3VnaCkuXG4gIGlmIChpZSkgeyB3aGVlbFBpeGVsc1BlclVuaXQgPSAtLjUzOyB9XG4gIGVsc2UgaWYgKGdlY2tvKSB7IHdoZWVsUGl4ZWxzUGVyVW5pdCA9IDE1OyB9XG4gIGVsc2UgaWYgKGNocm9tZSkgeyB3aGVlbFBpeGVsc1BlclVuaXQgPSAtLjc7IH1cbiAgZWxzZSBpZiAoc2FmYXJpKSB7IHdoZWVsUGl4ZWxzUGVyVW5pdCA9IC0xLzM7IH1cblxuICBmdW5jdGlvbiB3aGVlbEV2ZW50RGVsdGEoZSkge1xuICAgIHZhciBkeCA9IGUud2hlZWxEZWx0YVgsIGR5ID0gZS53aGVlbERlbHRhWTtcbiAgICBpZiAoZHggPT0gbnVsbCAmJiBlLmRldGFpbCAmJiBlLmF4aXMgPT0gZS5IT1JJWk9OVEFMX0FYSVMpIHsgZHggPSBlLmRldGFpbDsgfVxuICAgIGlmIChkeSA9PSBudWxsICYmIGUuZGV0YWlsICYmIGUuYXhpcyA9PSBlLlZFUlRJQ0FMX0FYSVMpIHsgZHkgPSBlLmRldGFpbDsgfVxuICAgIGVsc2UgaWYgKGR5ID09IG51bGwpIHsgZHkgPSBlLndoZWVsRGVsdGE7IH1cbiAgICByZXR1cm4ge3g6IGR4LCB5OiBkeX1cbiAgfVxuICBmdW5jdGlvbiB3aGVlbEV2ZW50UGl4ZWxzKGUpIHtcbiAgICB2YXIgZGVsdGEgPSB3aGVlbEV2ZW50RGVsdGEoZSk7XG4gICAgZGVsdGEueCAqPSB3aGVlbFBpeGVsc1BlclVuaXQ7XG4gICAgZGVsdGEueSAqPSB3aGVlbFBpeGVsc1BlclVuaXQ7XG4gICAgcmV0dXJuIGRlbHRhXG4gIH1cblxuICBmdW5jdGlvbiBvblNjcm9sbFdoZWVsKGNtLCBlKSB7XG4gICAgdmFyIGRlbHRhID0gd2hlZWxFdmVudERlbHRhKGUpLCBkeCA9IGRlbHRhLngsIGR5ID0gZGVsdGEueTtcblxuICAgIHZhciBkaXNwbGF5ID0gY20uZGlzcGxheSwgc2Nyb2xsID0gZGlzcGxheS5zY3JvbGxlcjtcbiAgICAvLyBRdWl0IGlmIHRoZXJlJ3Mgbm90aGluZyB0byBzY3JvbGwgaGVyZVxuICAgIHZhciBjYW5TY3JvbGxYID0gc2Nyb2xsLnNjcm9sbFdpZHRoID4gc2Nyb2xsLmNsaWVudFdpZHRoO1xuICAgIHZhciBjYW5TY3JvbGxZID0gc2Nyb2xsLnNjcm9sbEhlaWdodCA+IHNjcm9sbC5jbGllbnRIZWlnaHQ7XG4gICAgaWYgKCEoZHggJiYgY2FuU2Nyb2xsWCB8fCBkeSAmJiBjYW5TY3JvbGxZKSkgeyByZXR1cm4gfVxuXG4gICAgLy8gV2Via2l0IGJyb3dzZXJzIG9uIE9TIFggYWJvcnQgbW9tZW50dW0gc2Nyb2xscyB3aGVuIHRoZSB0YXJnZXRcbiAgICAvLyBvZiB0aGUgc2Nyb2xsIGV2ZW50IGlzIHJlbW92ZWQgZnJvbSB0aGUgc2Nyb2xsYWJsZSBlbGVtZW50LlxuICAgIC8vIFRoaXMgaGFjayAoc2VlIHJlbGF0ZWQgY29kZSBpbiBwYXRjaERpc3BsYXkpIG1ha2VzIHN1cmUgdGhlXG4gICAgLy8gZWxlbWVudCBpcyBrZXB0IGFyb3VuZC5cbiAgICBpZiAoZHkgJiYgbWFjICYmIHdlYmtpdCkge1xuICAgICAgb3V0ZXI6IGZvciAodmFyIGN1ciA9IGUudGFyZ2V0LCB2aWV3ID0gZGlzcGxheS52aWV3OyBjdXIgIT0gc2Nyb2xsOyBjdXIgPSBjdXIucGFyZW50Tm9kZSkge1xuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHZpZXcubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICBpZiAodmlld1tpXS5ub2RlID09IGN1cikge1xuICAgICAgICAgICAgY20uZGlzcGxheS5jdXJyZW50V2hlZWxUYXJnZXQgPSBjdXI7XG4gICAgICAgICAgICBicmVhayBvdXRlclxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE9uIHNvbWUgYnJvd3NlcnMsIGhvcml6b250YWwgc2Nyb2xsaW5nIHdpbGwgY2F1c2UgcmVkcmF3cyB0b1xuICAgIC8vIGhhcHBlbiBiZWZvcmUgdGhlIGd1dHRlciBoYXMgYmVlbiByZWFsaWduZWQsIGNhdXNpbmcgaXQgdG9cbiAgICAvLyB3cmlnZ2xlIGFyb3VuZCBpbiBhIG1vc3QgdW5zZWVtbHkgd2F5LiBXaGVuIHdlIGhhdmUgYW5cbiAgICAvLyBlc3RpbWF0ZWQgcGl4ZWxzL2RlbHRhIHZhbHVlLCB3ZSBqdXN0IGhhbmRsZSBob3Jpem9udGFsXG4gICAgLy8gc2Nyb2xsaW5nIGVudGlyZWx5IGhlcmUuIEl0J2xsIGJlIHNsaWdodGx5IG9mZiBmcm9tIG5hdGl2ZSwgYnV0XG4gICAgLy8gYmV0dGVyIHRoYW4gZ2xpdGNoaW5nIG91dC5cbiAgICBpZiAoZHggJiYgIWdlY2tvICYmICFwcmVzdG8gJiYgd2hlZWxQaXhlbHNQZXJVbml0ICE9IG51bGwpIHtcbiAgICAgIGlmIChkeSAmJiBjYW5TY3JvbGxZKVxuICAgICAgICB7IHVwZGF0ZVNjcm9sbFRvcChjbSwgTWF0aC5tYXgoMCwgc2Nyb2xsLnNjcm9sbFRvcCArIGR5ICogd2hlZWxQaXhlbHNQZXJVbml0KSk7IH1cbiAgICAgIHNldFNjcm9sbExlZnQoY20sIE1hdGgubWF4KDAsIHNjcm9sbC5zY3JvbGxMZWZ0ICsgZHggKiB3aGVlbFBpeGVsc1BlclVuaXQpKTtcbiAgICAgIC8vIE9ubHkgcHJldmVudCBkZWZhdWx0IHNjcm9sbGluZyBpZiB2ZXJ0aWNhbCBzY3JvbGxpbmcgaXNcbiAgICAgIC8vIGFjdHVhbGx5IHBvc3NpYmxlLiBPdGhlcndpc2UsIGl0IGNhdXNlcyB2ZXJ0aWNhbCBzY3JvbGxcbiAgICAgIC8vIGppdHRlciBvbiBPU1ggdHJhY2twYWRzIHdoZW4gZGVsdGFYIGlzIHNtYWxsIGFuZCBkZWx0YVlcbiAgICAgIC8vIGlzIGxhcmdlIChpc3N1ZSAjMzU3OSlcbiAgICAgIGlmICghZHkgfHwgKGR5ICYmIGNhblNjcm9sbFkpKVxuICAgICAgICB7IGVfcHJldmVudERlZmF1bHQoZSk7IH1cbiAgICAgIGRpc3BsYXkud2hlZWxTdGFydFggPSBudWxsOyAvLyBBYm9ydCBtZWFzdXJlbWVudCwgaWYgaW4gcHJvZ3Jlc3NcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIC8vICdQcm9qZWN0JyB0aGUgdmlzaWJsZSB2aWV3cG9ydCB0byBjb3ZlciB0aGUgYXJlYSB0aGF0IGlzIGJlaW5nXG4gICAgLy8gc2Nyb2xsZWQgaW50byB2aWV3IChpZiB3ZSBrbm93IGVub3VnaCB0byBlc3RpbWF0ZSBpdCkuXG4gICAgaWYgKGR5ICYmIHdoZWVsUGl4ZWxzUGVyVW5pdCAhPSBudWxsKSB7XG4gICAgICB2YXIgcGl4ZWxzID0gZHkgKiB3aGVlbFBpeGVsc1BlclVuaXQ7XG4gICAgICB2YXIgdG9wID0gY20uZG9jLnNjcm9sbFRvcCwgYm90ID0gdG9wICsgZGlzcGxheS53cmFwcGVyLmNsaWVudEhlaWdodDtcbiAgICAgIGlmIChwaXhlbHMgPCAwKSB7IHRvcCA9IE1hdGgubWF4KDAsIHRvcCArIHBpeGVscyAtIDUwKTsgfVxuICAgICAgZWxzZSB7IGJvdCA9IE1hdGgubWluKGNtLmRvYy5oZWlnaHQsIGJvdCArIHBpeGVscyArIDUwKTsgfVxuICAgICAgdXBkYXRlRGlzcGxheVNpbXBsZShjbSwge3RvcDogdG9wLCBib3R0b206IGJvdH0pO1xuICAgIH1cblxuICAgIGlmICh3aGVlbFNhbXBsZXMgPCAyMCkge1xuICAgICAgaWYgKGRpc3BsYXkud2hlZWxTdGFydFggPT0gbnVsbCkge1xuICAgICAgICBkaXNwbGF5LndoZWVsU3RhcnRYID0gc2Nyb2xsLnNjcm9sbExlZnQ7IGRpc3BsYXkud2hlZWxTdGFydFkgPSBzY3JvbGwuc2Nyb2xsVG9wO1xuICAgICAgICBkaXNwbGF5LndoZWVsRFggPSBkeDsgZGlzcGxheS53aGVlbERZID0gZHk7XG4gICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgICAgIGlmIChkaXNwbGF5LndoZWVsU3RhcnRYID09IG51bGwpIHsgcmV0dXJuIH1cbiAgICAgICAgICB2YXIgbW92ZWRYID0gc2Nyb2xsLnNjcm9sbExlZnQgLSBkaXNwbGF5LndoZWVsU3RhcnRYO1xuICAgICAgICAgIHZhciBtb3ZlZFkgPSBzY3JvbGwuc2Nyb2xsVG9wIC0gZGlzcGxheS53aGVlbFN0YXJ0WTtcbiAgICAgICAgICB2YXIgc2FtcGxlID0gKG1vdmVkWSAmJiBkaXNwbGF5LndoZWVsRFkgJiYgbW92ZWRZIC8gZGlzcGxheS53aGVlbERZKSB8fFxuICAgICAgICAgICAgKG1vdmVkWCAmJiBkaXNwbGF5LndoZWVsRFggJiYgbW92ZWRYIC8gZGlzcGxheS53aGVlbERYKTtcbiAgICAgICAgICBkaXNwbGF5LndoZWVsU3RhcnRYID0gZGlzcGxheS53aGVlbFN0YXJ0WSA9IG51bGw7XG4gICAgICAgICAgaWYgKCFzYW1wbGUpIHsgcmV0dXJuIH1cbiAgICAgICAgICB3aGVlbFBpeGVsc1BlclVuaXQgPSAod2hlZWxQaXhlbHNQZXJVbml0ICogd2hlZWxTYW1wbGVzICsgc2FtcGxlKSAvICh3aGVlbFNhbXBsZXMgKyAxKTtcbiAgICAgICAgICArK3doZWVsU2FtcGxlcztcbiAgICAgICAgfSwgMjAwKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGRpc3BsYXkud2hlZWxEWCArPSBkeDsgZGlzcGxheS53aGVlbERZICs9IGR5O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFNlbGVjdGlvbiBvYmplY3RzIGFyZSBpbW11dGFibGUuIEEgbmV3IG9uZSBpcyBjcmVhdGVkIGV2ZXJ5IHRpbWVcbiAgLy8gdGhlIHNlbGVjdGlvbiBjaGFuZ2VzLiBBIHNlbGVjdGlvbiBpcyBvbmUgb3IgbW9yZSBub24tb3ZlcmxhcHBpbmdcbiAgLy8gKGFuZCBub24tdG91Y2hpbmcpIHJhbmdlcywgc29ydGVkLCBhbmQgYW4gaW50ZWdlciB0aGF0IGluZGljYXRlc1xuICAvLyB3aGljaCBvbmUgaXMgdGhlIHByaW1hcnkgc2VsZWN0aW9uICh0aGUgb25lIHRoYXQncyBzY3JvbGxlZCBpbnRvXG4gIC8vIHZpZXcsIHRoYXQgZ2V0Q3Vyc29yIHJldHVybnMsIGV0YykuXG4gIHZhciBTZWxlY3Rpb24gPSBmdW5jdGlvbihyYW5nZXMsIHByaW1JbmRleCkge1xuICAgIHRoaXMucmFuZ2VzID0gcmFuZ2VzO1xuICAgIHRoaXMucHJpbUluZGV4ID0gcHJpbUluZGV4O1xuICB9O1xuXG4gIFNlbGVjdGlvbi5wcm90b3R5cGUucHJpbWFyeSA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRoaXMucmFuZ2VzW3RoaXMucHJpbUluZGV4XSB9O1xuXG4gIFNlbGVjdGlvbi5wcm90b3R5cGUuZXF1YWxzID0gZnVuY3Rpb24gKG90aGVyKSB7XG4gICAgICB2YXIgdGhpcyQxID0gdGhpcztcblxuICAgIGlmIChvdGhlciA9PSB0aGlzKSB7IHJldHVybiB0cnVlIH1cbiAgICBpZiAob3RoZXIucHJpbUluZGV4ICE9IHRoaXMucHJpbUluZGV4IHx8IG90aGVyLnJhbmdlcy5sZW5ndGggIT0gdGhpcy5yYW5nZXMubGVuZ3RoKSB7IHJldHVybiBmYWxzZSB9XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLnJhbmdlcy5sZW5ndGg7IGkrKykge1xuICAgICAgdmFyIGhlcmUgPSB0aGlzJDEucmFuZ2VzW2ldLCB0aGVyZSA9IG90aGVyLnJhbmdlc1tpXTtcbiAgICAgIGlmICghZXF1YWxDdXJzb3JQb3MoaGVyZS5hbmNob3IsIHRoZXJlLmFuY2hvcikgfHwgIWVxdWFsQ3Vyc29yUG9zKGhlcmUuaGVhZCwgdGhlcmUuaGVhZCkpIHsgcmV0dXJuIGZhbHNlIH1cbiAgICB9XG4gICAgcmV0dXJuIHRydWVcbiAgfTtcblxuICBTZWxlY3Rpb24ucHJvdG90eXBlLmRlZXBDb3B5ID0gZnVuY3Rpb24gKCkge1xuICAgICAgdmFyIHRoaXMkMSA9IHRoaXM7XG5cbiAgICB2YXIgb3V0ID0gW107XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLnJhbmdlcy5sZW5ndGg7IGkrKylcbiAgICAgIHsgb3V0W2ldID0gbmV3IFJhbmdlKGNvcHlQb3ModGhpcyQxLnJhbmdlc1tpXS5hbmNob3IpLCBjb3B5UG9zKHRoaXMkMS5yYW5nZXNbaV0uaGVhZCkpOyB9XG4gICAgcmV0dXJuIG5ldyBTZWxlY3Rpb24ob3V0LCB0aGlzLnByaW1JbmRleClcbiAgfTtcblxuICBTZWxlY3Rpb24ucHJvdG90eXBlLnNvbWV0aGluZ1NlbGVjdGVkID0gZnVuY3Rpb24gKCkge1xuICAgICAgdmFyIHRoaXMkMSA9IHRoaXM7XG5cbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMucmFuZ2VzLmxlbmd0aDsgaSsrKVxuICAgICAgeyBpZiAoIXRoaXMkMS5yYW5nZXNbaV0uZW1wdHkoKSkgeyByZXR1cm4gdHJ1ZSB9IH1cbiAgICByZXR1cm4gZmFsc2VcbiAgfTtcblxuICBTZWxlY3Rpb24ucHJvdG90eXBlLmNvbnRhaW5zID0gZnVuY3Rpb24gKHBvcywgZW5kKSB7XG4gICAgICB2YXIgdGhpcyQxID0gdGhpcztcblxuICAgIGlmICghZW5kKSB7IGVuZCA9IHBvczsgfVxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5yYW5nZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIHZhciByYW5nZSA9IHRoaXMkMS5yYW5nZXNbaV07XG4gICAgICBpZiAoY21wKGVuZCwgcmFuZ2UuZnJvbSgpKSA+PSAwICYmIGNtcChwb3MsIHJhbmdlLnRvKCkpIDw9IDApXG4gICAgICAgIHsgcmV0dXJuIGkgfVxuICAgIH1cbiAgICByZXR1cm4gLTFcbiAgfTtcblxuICB2YXIgUmFuZ2UgPSBmdW5jdGlvbihhbmNob3IsIGhlYWQpIHtcbiAgICB0aGlzLmFuY2hvciA9IGFuY2hvcjsgdGhpcy5oZWFkID0gaGVhZDtcbiAgfTtcblxuICBSYW5nZS5wcm90b3R5cGUuZnJvbSA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIG1pblBvcyh0aGlzLmFuY2hvciwgdGhpcy5oZWFkKSB9O1xuICBSYW5nZS5wcm90b3R5cGUudG8gPSBmdW5jdGlvbiAoKSB7IHJldHVybiBtYXhQb3ModGhpcy5hbmNob3IsIHRoaXMuaGVhZCkgfTtcbiAgUmFuZ2UucHJvdG90eXBlLmVtcHR5ID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gdGhpcy5oZWFkLmxpbmUgPT0gdGhpcy5hbmNob3IubGluZSAmJiB0aGlzLmhlYWQuY2ggPT0gdGhpcy5hbmNob3IuY2ggfTtcblxuICAvLyBUYWtlIGFuIHVuc29ydGVkLCBwb3RlbnRpYWxseSBvdmVybGFwcGluZyBzZXQgb2YgcmFuZ2VzLCBhbmRcbiAgLy8gYnVpbGQgYSBzZWxlY3Rpb24gb3V0IG9mIGl0LiAnQ29uc3VtZXMnIHJhbmdlcyBhcnJheSAobW9kaWZ5aW5nXG4gIC8vIGl0KS5cbiAgZnVuY3Rpb24gbm9ybWFsaXplU2VsZWN0aW9uKGNtLCByYW5nZXMsIHByaW1JbmRleCkge1xuICAgIHZhciBtYXlUb3VjaCA9IGNtICYmIGNtLm9wdGlvbnMuc2VsZWN0aW9uc01heVRvdWNoO1xuICAgIHZhciBwcmltID0gcmFuZ2VzW3ByaW1JbmRleF07XG4gICAgcmFuZ2VzLnNvcnQoZnVuY3Rpb24gKGEsIGIpIHsgcmV0dXJuIGNtcChhLmZyb20oKSwgYi5mcm9tKCkpOyB9KTtcbiAgICBwcmltSW5kZXggPSBpbmRleE9mKHJhbmdlcywgcHJpbSk7XG4gICAgZm9yICh2YXIgaSA9IDE7IGkgPCByYW5nZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIHZhciBjdXIgPSByYW5nZXNbaV0sIHByZXYgPSByYW5nZXNbaSAtIDFdO1xuICAgICAgdmFyIGRpZmYgPSBjbXAocHJldi50bygpLCBjdXIuZnJvbSgpKTtcbiAgICAgIGlmIChtYXlUb3VjaCAmJiAhY3VyLmVtcHR5KCkgPyBkaWZmID4gMCA6IGRpZmYgPj0gMCkge1xuICAgICAgICB2YXIgZnJvbSA9IG1pblBvcyhwcmV2LmZyb20oKSwgY3VyLmZyb20oKSksIHRvID0gbWF4UG9zKHByZXYudG8oKSwgY3VyLnRvKCkpO1xuICAgICAgICB2YXIgaW52ID0gcHJldi5lbXB0eSgpID8gY3VyLmZyb20oKSA9PSBjdXIuaGVhZCA6IHByZXYuZnJvbSgpID09IHByZXYuaGVhZDtcbiAgICAgICAgaWYgKGkgPD0gcHJpbUluZGV4KSB7IC0tcHJpbUluZGV4OyB9XG4gICAgICAgIHJhbmdlcy5zcGxpY2UoLS1pLCAyLCBuZXcgUmFuZ2UoaW52ID8gdG8gOiBmcm9tLCBpbnYgPyBmcm9tIDogdG8pKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG5ldyBTZWxlY3Rpb24ocmFuZ2VzLCBwcmltSW5kZXgpXG4gIH1cblxuICBmdW5jdGlvbiBzaW1wbGVTZWxlY3Rpb24oYW5jaG9yLCBoZWFkKSB7XG4gICAgcmV0dXJuIG5ldyBTZWxlY3Rpb24oW25ldyBSYW5nZShhbmNob3IsIGhlYWQgfHwgYW5jaG9yKV0sIDApXG4gIH1cblxuICAvLyBDb21wdXRlIHRoZSBwb3NpdGlvbiBvZiB0aGUgZW5kIG9mIGEgY2hhbmdlIChpdHMgJ3RvJyBwcm9wZXJ0eVxuICAvLyByZWZlcnMgdG8gdGhlIHByZS1jaGFuZ2UgZW5kKS5cbiAgZnVuY3Rpb24gY2hhbmdlRW5kKGNoYW5nZSkge1xuICAgIGlmICghY2hhbmdlLnRleHQpIHsgcmV0dXJuIGNoYW5nZS50byB9XG4gICAgcmV0dXJuIFBvcyhjaGFuZ2UuZnJvbS5saW5lICsgY2hhbmdlLnRleHQubGVuZ3RoIC0gMSxcbiAgICAgICAgICAgICAgIGxzdChjaGFuZ2UudGV4dCkubGVuZ3RoICsgKGNoYW5nZS50ZXh0Lmxlbmd0aCA9PSAxID8gY2hhbmdlLmZyb20uY2ggOiAwKSlcbiAgfVxuXG4gIC8vIEFkanVzdCBhIHBvc2l0aW9uIHRvIHJlZmVyIHRvIHRoZSBwb3N0LWNoYW5nZSBwb3NpdGlvbiBvZiB0aGVcbiAgLy8gc2FtZSB0ZXh0LCBvciB0aGUgZW5kIG9mIHRoZSBjaGFuZ2UgaWYgdGhlIGNoYW5nZSBjb3ZlcnMgaXQuXG4gIGZ1bmN0aW9uIGFkanVzdEZvckNoYW5nZShwb3MsIGNoYW5nZSkge1xuICAgIGlmIChjbXAocG9zLCBjaGFuZ2UuZnJvbSkgPCAwKSB7IHJldHVybiBwb3MgfVxuICAgIGlmIChjbXAocG9zLCBjaGFuZ2UudG8pIDw9IDApIHsgcmV0dXJuIGNoYW5nZUVuZChjaGFuZ2UpIH1cblxuICAgIHZhciBsaW5lID0gcG9zLmxpbmUgKyBjaGFuZ2UudGV4dC5sZW5ndGggLSAoY2hhbmdlLnRvLmxpbmUgLSBjaGFuZ2UuZnJvbS5saW5lKSAtIDEsIGNoID0gcG9zLmNoO1xuICAgIGlmIChwb3MubGluZSA9PSBjaGFuZ2UudG8ubGluZSkgeyBjaCArPSBjaGFuZ2VFbmQoY2hhbmdlKS5jaCAtIGNoYW5nZS50by5jaDsgfVxuICAgIHJldHVybiBQb3MobGluZSwgY2gpXG4gIH1cblxuICBmdW5jdGlvbiBjb21wdXRlU2VsQWZ0ZXJDaGFuZ2UoZG9jLCBjaGFuZ2UpIHtcbiAgICB2YXIgb3V0ID0gW107XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBkb2Muc2VsLnJhbmdlcy5sZW5ndGg7IGkrKykge1xuICAgICAgdmFyIHJhbmdlID0gZG9jLnNlbC5yYW5nZXNbaV07XG4gICAgICBvdXQucHVzaChuZXcgUmFuZ2UoYWRqdXN0Rm9yQ2hhbmdlKHJhbmdlLmFuY2hvciwgY2hhbmdlKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICBhZGp1c3RGb3JDaGFuZ2UocmFuZ2UuaGVhZCwgY2hhbmdlKSkpO1xuICAgIH1cbiAgICByZXR1cm4gbm9ybWFsaXplU2VsZWN0aW9uKGRvYy5jbSwgb3V0LCBkb2Muc2VsLnByaW1JbmRleClcbiAgfVxuXG4gIGZ1bmN0aW9uIG9mZnNldFBvcyhwb3MsIG9sZCwgbncpIHtcbiAgICBpZiAocG9zLmxpbmUgPT0gb2xkLmxpbmUpXG4gICAgICB7IHJldHVybiBQb3MobncubGluZSwgcG9zLmNoIC0gb2xkLmNoICsgbncuY2gpIH1cbiAgICBlbHNlXG4gICAgICB7IHJldHVybiBQb3MobncubGluZSArIChwb3MubGluZSAtIG9sZC5saW5lKSwgcG9zLmNoKSB9XG4gIH1cblxuICAvLyBVc2VkIGJ5IHJlcGxhY2VTZWxlY3Rpb25zIHRvIGFsbG93IG1vdmluZyB0aGUgc2VsZWN0aW9uIHRvIHRoZVxuICAvLyBzdGFydCBvciBhcm91bmQgdGhlIHJlcGxhY2VkIHRlc3QuIEhpbnQgbWF5IGJlIFwic3RhcnRcIiBvciBcImFyb3VuZFwiLlxuICBmdW5jdGlvbiBjb21wdXRlUmVwbGFjZWRTZWwoZG9jLCBjaGFuZ2VzLCBoaW50KSB7XG4gICAgdmFyIG91dCA9IFtdO1xuICAgIHZhciBvbGRQcmV2ID0gUG9zKGRvYy5maXJzdCwgMCksIG5ld1ByZXYgPSBvbGRQcmV2O1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgY2hhbmdlcy5sZW5ndGg7IGkrKykge1xuICAgICAgdmFyIGNoYW5nZSA9IGNoYW5nZXNbaV07XG4gICAgICB2YXIgZnJvbSA9IG9mZnNldFBvcyhjaGFuZ2UuZnJvbSwgb2xkUHJldiwgbmV3UHJldik7XG4gICAgICB2YXIgdG8gPSBvZmZzZXRQb3MoY2hhbmdlRW5kKGNoYW5nZSksIG9sZFByZXYsIG5ld1ByZXYpO1xuICAgICAgb2xkUHJldiA9IGNoYW5nZS50bztcbiAgICAgIG5ld1ByZXYgPSB0bztcbiAgICAgIGlmIChoaW50ID09IFwiYXJvdW5kXCIpIHtcbiAgICAgICAgdmFyIHJhbmdlID0gZG9jLnNlbC5yYW5nZXNbaV0sIGludiA9IGNtcChyYW5nZS5oZWFkLCByYW5nZS5hbmNob3IpIDwgMDtcbiAgICAgICAgb3V0W2ldID0gbmV3IFJhbmdlKGludiA/IHRvIDogZnJvbSwgaW52ID8gZnJvbSA6IHRvKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG91dFtpXSA9IG5ldyBSYW5nZShmcm9tLCBmcm9tKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG5ldyBTZWxlY3Rpb24ob3V0LCBkb2Muc2VsLnByaW1JbmRleClcbiAgfVxuXG4gIC8vIFVzZWQgdG8gZ2V0IHRoZSBlZGl0b3IgaW50byBhIGNvbnNpc3RlbnQgc3RhdGUgYWdhaW4gd2hlbiBvcHRpb25zIGNoYW5nZS5cblxuICBmdW5jdGlvbiBsb2FkTW9kZShjbSkge1xuICAgIGNtLmRvYy5tb2RlID0gZ2V0TW9kZShjbS5vcHRpb25zLCBjbS5kb2MubW9kZU9wdGlvbik7XG4gICAgcmVzZXRNb2RlU3RhdGUoY20pO1xuICB9XG5cbiAgZnVuY3Rpb24gcmVzZXRNb2RlU3RhdGUoY20pIHtcbiAgICBjbS5kb2MuaXRlcihmdW5jdGlvbiAobGluZSkge1xuICAgICAgaWYgKGxpbmUuc3RhdGVBZnRlcikgeyBsaW5lLnN0YXRlQWZ0ZXIgPSBudWxsOyB9XG4gICAgICBpZiAobGluZS5zdHlsZXMpIHsgbGluZS5zdHlsZXMgPSBudWxsOyB9XG4gICAgfSk7XG4gICAgY20uZG9jLm1vZGVGcm9udGllciA9IGNtLmRvYy5oaWdobGlnaHRGcm9udGllciA9IGNtLmRvYy5maXJzdDtcbiAgICBzdGFydFdvcmtlcihjbSwgMTAwKTtcbiAgICBjbS5zdGF0ZS5tb2RlR2VuKys7XG4gICAgaWYgKGNtLmN1ck9wKSB7IHJlZ0NoYW5nZShjbSk7IH1cbiAgfVxuXG4gIC8vIERPQ1VNRU5UIERBVEEgU1RSVUNUVVJFXG5cbiAgLy8gQnkgZGVmYXVsdCwgdXBkYXRlcyB0aGF0IHN0YXJ0IGFuZCBlbmQgYXQgdGhlIGJlZ2lubmluZyBvZiBhIGxpbmVcbiAgLy8gYXJlIHRyZWF0ZWQgc3BlY2lhbGx5LCBpbiBvcmRlciB0byBtYWtlIHRoZSBhc3NvY2lhdGlvbiBvZiBsaW5lXG4gIC8vIHdpZGdldHMgYW5kIG1hcmtlciBlbGVtZW50cyB3aXRoIHRoZSB0ZXh0IGJlaGF2ZSBtb3JlIGludHVpdGl2ZS5cbiAgZnVuY3Rpb24gaXNXaG9sZUxpbmVVcGRhdGUoZG9jLCBjaGFuZ2UpIHtcbiAgICByZXR1cm4gY2hhbmdlLmZyb20uY2ggPT0gMCAmJiBjaGFuZ2UudG8uY2ggPT0gMCAmJiBsc3QoY2hhbmdlLnRleHQpID09IFwiXCIgJiZcbiAgICAgICghZG9jLmNtIHx8IGRvYy5jbS5vcHRpb25zLndob2xlTGluZVVwZGF0ZUJlZm9yZSlcbiAgfVxuXG4gIC8vIFBlcmZvcm0gYSBjaGFuZ2Ugb24gdGhlIGRvY3VtZW50IGRhdGEgc3RydWN0dXJlLlxuICBmdW5jdGlvbiB1cGRhdGVEb2MoZG9jLCBjaGFuZ2UsIG1hcmtlZFNwYW5zLCBlc3RpbWF0ZUhlaWdodCQkMSkge1xuICAgIGZ1bmN0aW9uIHNwYW5zRm9yKG4pIHtyZXR1cm4gbWFya2VkU3BhbnMgPyBtYXJrZWRTcGFuc1tuXSA6IG51bGx9XG4gICAgZnVuY3Rpb24gdXBkYXRlKGxpbmUsIHRleHQsIHNwYW5zKSB7XG4gICAgICB1cGRhdGVMaW5lKGxpbmUsIHRleHQsIHNwYW5zLCBlc3RpbWF0ZUhlaWdodCQkMSk7XG4gICAgICBzaWduYWxMYXRlcihsaW5lLCBcImNoYW5nZVwiLCBsaW5lLCBjaGFuZ2UpO1xuICAgIH1cbiAgICBmdW5jdGlvbiBsaW5lc0ZvcihzdGFydCwgZW5kKSB7XG4gICAgICB2YXIgcmVzdWx0ID0gW107XG4gICAgICBmb3IgKHZhciBpID0gc3RhcnQ7IGkgPCBlbmQ7ICsraSlcbiAgICAgICAgeyByZXN1bHQucHVzaChuZXcgTGluZSh0ZXh0W2ldLCBzcGFuc0ZvcihpKSwgZXN0aW1hdGVIZWlnaHQkJDEpKTsgfVxuICAgICAgcmV0dXJuIHJlc3VsdFxuICAgIH1cblxuICAgIHZhciBmcm9tID0gY2hhbmdlLmZyb20sIHRvID0gY2hhbmdlLnRvLCB0ZXh0ID0gY2hhbmdlLnRleHQ7XG4gICAgdmFyIGZpcnN0TGluZSA9IGdldExpbmUoZG9jLCBmcm9tLmxpbmUpLCBsYXN0TGluZSA9IGdldExpbmUoZG9jLCB0by5saW5lKTtcbiAgICB2YXIgbGFzdFRleHQgPSBsc3QodGV4dCksIGxhc3RTcGFucyA9IHNwYW5zRm9yKHRleHQubGVuZ3RoIC0gMSksIG5saW5lcyA9IHRvLmxpbmUgLSBmcm9tLmxpbmU7XG5cbiAgICAvLyBBZGp1c3QgdGhlIGxpbmUgc3RydWN0dXJlXG4gICAgaWYgKGNoYW5nZS5mdWxsKSB7XG4gICAgICBkb2MuaW5zZXJ0KDAsIGxpbmVzRm9yKDAsIHRleHQubGVuZ3RoKSk7XG4gICAgICBkb2MucmVtb3ZlKHRleHQubGVuZ3RoLCBkb2Muc2l6ZSAtIHRleHQubGVuZ3RoKTtcbiAgICB9IGVsc2UgaWYgKGlzV2hvbGVMaW5lVXBkYXRlKGRvYywgY2hhbmdlKSkge1xuICAgICAgLy8gVGhpcyBpcyBhIHdob2xlLWxpbmUgcmVwbGFjZS4gVHJlYXRlZCBzcGVjaWFsbHkgdG8gbWFrZVxuICAgICAgLy8gc3VyZSBsaW5lIG9iamVjdHMgbW92ZSB0aGUgd2F5IHRoZXkgYXJlIHN1cHBvc2VkIHRvLlxuICAgICAgdmFyIGFkZGVkID0gbGluZXNGb3IoMCwgdGV4dC5sZW5ndGggLSAxKTtcbiAgICAgIHVwZGF0ZShsYXN0TGluZSwgbGFzdExpbmUudGV4dCwgbGFzdFNwYW5zKTtcbiAgICAgIGlmIChubGluZXMpIHsgZG9jLnJlbW92ZShmcm9tLmxpbmUsIG5saW5lcyk7IH1cbiAgICAgIGlmIChhZGRlZC5sZW5ndGgpIHsgZG9jLmluc2VydChmcm9tLmxpbmUsIGFkZGVkKTsgfVxuICAgIH0gZWxzZSBpZiAoZmlyc3RMaW5lID09IGxhc3RMaW5lKSB7XG4gICAgICBpZiAodGV4dC5sZW5ndGggPT0gMSkge1xuICAgICAgICB1cGRhdGUoZmlyc3RMaW5lLCBmaXJzdExpbmUudGV4dC5zbGljZSgwLCBmcm9tLmNoKSArIGxhc3RUZXh0ICsgZmlyc3RMaW5lLnRleHQuc2xpY2UodG8uY2gpLCBsYXN0U3BhbnMpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdmFyIGFkZGVkJDEgPSBsaW5lc0ZvcigxLCB0ZXh0Lmxlbmd0aCAtIDEpO1xuICAgICAgICBhZGRlZCQxLnB1c2gobmV3IExpbmUobGFzdFRleHQgKyBmaXJzdExpbmUudGV4dC5zbGljZSh0by5jaCksIGxhc3RTcGFucywgZXN0aW1hdGVIZWlnaHQkJDEpKTtcbiAgICAgICAgdXBkYXRlKGZpcnN0TGluZSwgZmlyc3RMaW5lLnRleHQuc2xpY2UoMCwgZnJvbS5jaCkgKyB0ZXh0WzBdLCBzcGFuc0ZvcigwKSk7XG4gICAgICAgIGRvYy5pbnNlcnQoZnJvbS5saW5lICsgMSwgYWRkZWQkMSk7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmICh0ZXh0Lmxlbmd0aCA9PSAxKSB7XG4gICAgICB1cGRhdGUoZmlyc3RMaW5lLCBmaXJzdExpbmUudGV4dC5zbGljZSgwLCBmcm9tLmNoKSArIHRleHRbMF0gKyBsYXN0TGluZS50ZXh0LnNsaWNlKHRvLmNoKSwgc3BhbnNGb3IoMCkpO1xuICAgICAgZG9jLnJlbW92ZShmcm9tLmxpbmUgKyAxLCBubGluZXMpO1xuICAgIH0gZWxzZSB7XG4gICAgICB1cGRhdGUoZmlyc3RMaW5lLCBmaXJzdExpbmUudGV4dC5zbGljZSgwLCBmcm9tLmNoKSArIHRleHRbMF0sIHNwYW5zRm9yKDApKTtcbiAgICAgIHVwZGF0ZShsYXN0TGluZSwgbGFzdFRleHQgKyBsYXN0TGluZS50ZXh0LnNsaWNlKHRvLmNoKSwgbGFzdFNwYW5zKTtcbiAgICAgIHZhciBhZGRlZCQyID0gbGluZXNGb3IoMSwgdGV4dC5sZW5ndGggLSAxKTtcbiAgICAgIGlmIChubGluZXMgPiAxKSB7IGRvYy5yZW1vdmUoZnJvbS5saW5lICsgMSwgbmxpbmVzIC0gMSk7IH1cbiAgICAgIGRvYy5pbnNlcnQoZnJvbS5saW5lICsgMSwgYWRkZWQkMik7XG4gICAgfVxuXG4gICAgc2lnbmFsTGF0ZXIoZG9jLCBcImNoYW5nZVwiLCBkb2MsIGNoYW5nZSk7XG4gIH1cblxuICAvLyBDYWxsIGYgZm9yIGFsbCBsaW5rZWQgZG9jdW1lbnRzLlxuICBmdW5jdGlvbiBsaW5rZWREb2NzKGRvYywgZiwgc2hhcmVkSGlzdE9ubHkpIHtcbiAgICBmdW5jdGlvbiBwcm9wYWdhdGUoZG9jLCBza2lwLCBzaGFyZWRIaXN0KSB7XG4gICAgICBpZiAoZG9jLmxpbmtlZCkgeyBmb3IgKHZhciBpID0gMDsgaSA8IGRvYy5saW5rZWQubGVuZ3RoOyArK2kpIHtcbiAgICAgICAgdmFyIHJlbCA9IGRvYy5saW5rZWRbaV07XG4gICAgICAgIGlmIChyZWwuZG9jID09IHNraXApIHsgY29udGludWUgfVxuICAgICAgICB2YXIgc2hhcmVkID0gc2hhcmVkSGlzdCAmJiByZWwuc2hhcmVkSGlzdDtcbiAgICAgICAgaWYgKHNoYXJlZEhpc3RPbmx5ICYmICFzaGFyZWQpIHsgY29udGludWUgfVxuICAgICAgICBmKHJlbC5kb2MsIHNoYXJlZCk7XG4gICAgICAgIHByb3BhZ2F0ZShyZWwuZG9jLCBkb2MsIHNoYXJlZCk7XG4gICAgICB9IH1cbiAgICB9XG4gICAgcHJvcGFnYXRlKGRvYywgbnVsbCwgdHJ1ZSk7XG4gIH1cblxuICAvLyBBdHRhY2ggYSBkb2N1bWVudCB0byBhbiBlZGl0b3IuXG4gIGZ1bmN0aW9uIGF0dGFjaERvYyhjbSwgZG9jKSB7XG4gICAgaWYgKGRvYy5jbSkgeyB0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIGRvY3VtZW50IGlzIGFscmVhZHkgaW4gdXNlLlwiKSB9XG4gICAgY20uZG9jID0gZG9jO1xuICAgIGRvYy5jbSA9IGNtO1xuICAgIGVzdGltYXRlTGluZUhlaWdodHMoY20pO1xuICAgIGxvYWRNb2RlKGNtKTtcbiAgICBzZXREaXJlY3Rpb25DbGFzcyhjbSk7XG4gICAgaWYgKCFjbS5vcHRpb25zLmxpbmVXcmFwcGluZykgeyBmaW5kTWF4TGluZShjbSk7IH1cbiAgICBjbS5vcHRpb25zLm1vZGUgPSBkb2MubW9kZU9wdGlvbjtcbiAgICByZWdDaGFuZ2UoY20pO1xuICB9XG5cbiAgZnVuY3Rpb24gc2V0RGlyZWN0aW9uQ2xhc3MoY20pIHtcbiAgKGNtLmRvYy5kaXJlY3Rpb24gPT0gXCJydGxcIiA/IGFkZENsYXNzIDogcm1DbGFzcykoY20uZGlzcGxheS5saW5lRGl2LCBcIkNvZGVNaXJyb3ItcnRsXCIpO1xuICB9XG5cbiAgZnVuY3Rpb24gZGlyZWN0aW9uQ2hhbmdlZChjbSkge1xuICAgIHJ1bkluT3AoY20sIGZ1bmN0aW9uICgpIHtcbiAgICAgIHNldERpcmVjdGlvbkNsYXNzKGNtKTtcbiAgICAgIHJlZ0NoYW5nZShjbSk7XG4gICAgfSk7XG4gIH1cblxuICBmdW5jdGlvbiBIaXN0b3J5KHN0YXJ0R2VuKSB7XG4gICAgLy8gQXJyYXlzIG9mIGNoYW5nZSBldmVudHMgYW5kIHNlbGVjdGlvbnMuIERvaW5nIHNvbWV0aGluZyBhZGRzIGFuXG4gICAgLy8gZXZlbnQgdG8gZG9uZSBhbmQgY2xlYXJzIHVuZG8uIFVuZG9pbmcgbW92ZXMgZXZlbnRzIGZyb20gZG9uZVxuICAgIC8vIHRvIHVuZG9uZSwgcmVkb2luZyBtb3ZlcyB0aGVtIGluIHRoZSBvdGhlciBkaXJlY3Rpb24uXG4gICAgdGhpcy5kb25lID0gW107IHRoaXMudW5kb25lID0gW107XG4gICAgdGhpcy51bmRvRGVwdGggPSBJbmZpbml0eTtcbiAgICAvLyBVc2VkIHRvIHRyYWNrIHdoZW4gY2hhbmdlcyBjYW4gYmUgbWVyZ2VkIGludG8gYSBzaW5nbGUgdW5kb1xuICAgIC8vIGV2ZW50XG4gICAgdGhpcy5sYXN0TW9kVGltZSA9IHRoaXMubGFzdFNlbFRpbWUgPSAwO1xuICAgIHRoaXMubGFzdE9wID0gdGhpcy5sYXN0U2VsT3AgPSBudWxsO1xuICAgIHRoaXMubGFzdE9yaWdpbiA9IHRoaXMubGFzdFNlbE9yaWdpbiA9IG51bGw7XG4gICAgLy8gVXNlZCBieSB0aGUgaXNDbGVhbigpIG1ldGhvZFxuICAgIHRoaXMuZ2VuZXJhdGlvbiA9IHRoaXMubWF4R2VuZXJhdGlvbiA9IHN0YXJ0R2VuIHx8IDE7XG4gIH1cblxuICAvLyBDcmVhdGUgYSBoaXN0b3J5IGNoYW5nZSBldmVudCBmcm9tIGFuIHVwZGF0ZURvYy1zdHlsZSBjaGFuZ2VcbiAgLy8gb2JqZWN0LlxuICBmdW5jdGlvbiBoaXN0b3J5Q2hhbmdlRnJvbUNoYW5nZShkb2MsIGNoYW5nZSkge1xuICAgIHZhciBoaXN0Q2hhbmdlID0ge2Zyb206IGNvcHlQb3MoY2hhbmdlLmZyb20pLCB0bzogY2hhbmdlRW5kKGNoYW5nZSksIHRleHQ6IGdldEJldHdlZW4oZG9jLCBjaGFuZ2UuZnJvbSwgY2hhbmdlLnRvKX07XG4gICAgYXR0YWNoTG9jYWxTcGFucyhkb2MsIGhpc3RDaGFuZ2UsIGNoYW5nZS5mcm9tLmxpbmUsIGNoYW5nZS50by5saW5lICsgMSk7XG4gICAgbGlua2VkRG9jcyhkb2MsIGZ1bmN0aW9uIChkb2MpIHsgcmV0dXJuIGF0dGFjaExvY2FsU3BhbnMoZG9jLCBoaXN0Q2hhbmdlLCBjaGFuZ2UuZnJvbS5saW5lLCBjaGFuZ2UudG8ubGluZSArIDEpOyB9LCB0cnVlKTtcbiAgICByZXR1cm4gaGlzdENoYW5nZVxuICB9XG5cbiAgLy8gUG9wIGFsbCBzZWxlY3Rpb24gZXZlbnRzIG9mZiB0aGUgZW5kIG9mIGEgaGlzdG9yeSBhcnJheS4gU3RvcCBhdFxuICAvLyBhIGNoYW5nZSBldmVudC5cbiAgZnVuY3Rpb24gY2xlYXJTZWxlY3Rpb25FdmVudHMoYXJyYXkpIHtcbiAgICB3aGlsZSAoYXJyYXkubGVuZ3RoKSB7XG4gICAgICB2YXIgbGFzdCA9IGxzdChhcnJheSk7XG4gICAgICBpZiAobGFzdC5yYW5nZXMpIHsgYXJyYXkucG9wKCk7IH1cbiAgICAgIGVsc2UgeyBicmVhayB9XG4gICAgfVxuICB9XG5cbiAgLy8gRmluZCB0aGUgdG9wIGNoYW5nZSBldmVudCBpbiB0aGUgaGlzdG9yeS4gUG9wIG9mZiBzZWxlY3Rpb25cbiAgLy8gZXZlbnRzIHRoYXQgYXJlIGluIHRoZSB3YXkuXG4gIGZ1bmN0aW9uIGxhc3RDaGFuZ2VFdmVudChoaXN0LCBmb3JjZSkge1xuICAgIGlmIChmb3JjZSkge1xuICAgICAgY2xlYXJTZWxlY3Rpb25FdmVudHMoaGlzdC5kb25lKTtcbiAgICAgIHJldHVybiBsc3QoaGlzdC5kb25lKVxuICAgIH0gZWxzZSBpZiAoaGlzdC5kb25lLmxlbmd0aCAmJiAhbHN0KGhpc3QuZG9uZSkucmFuZ2VzKSB7XG4gICAgICByZXR1cm4gbHN0KGhpc3QuZG9uZSlcbiAgICB9IGVsc2UgaWYgKGhpc3QuZG9uZS5sZW5ndGggPiAxICYmICFoaXN0LmRvbmVbaGlzdC5kb25lLmxlbmd0aCAtIDJdLnJhbmdlcykge1xuICAgICAgaGlzdC5kb25lLnBvcCgpO1xuICAgICAgcmV0dXJuIGxzdChoaXN0LmRvbmUpXG4gICAgfVxuICB9XG5cbiAgLy8gUmVnaXN0ZXIgYSBjaGFuZ2UgaW4gdGhlIGhpc3RvcnkuIE1lcmdlcyBjaGFuZ2VzIHRoYXQgYXJlIHdpdGhpblxuICAvLyBhIHNpbmdsZSBvcGVyYXRpb24sIG9yIGFyZSBjbG9zZSB0b2dldGhlciB3aXRoIGFuIG9yaWdpbiB0aGF0XG4gIC8vIGFsbG93cyBtZXJnaW5nIChzdGFydGluZyB3aXRoIFwiK1wiKSBpbnRvIGEgc2luZ2xlIGV2ZW50LlxuICBmdW5jdGlvbiBhZGRDaGFuZ2VUb0hpc3RvcnkoZG9jLCBjaGFuZ2UsIHNlbEFmdGVyLCBvcElkKSB7XG4gICAgdmFyIGhpc3QgPSBkb2MuaGlzdG9yeTtcbiAgICBoaXN0LnVuZG9uZS5sZW5ndGggPSAwO1xuICAgIHZhciB0aW1lID0gK25ldyBEYXRlLCBjdXI7XG4gICAgdmFyIGxhc3Q7XG5cbiAgICBpZiAoKGhpc3QubGFzdE9wID09IG9wSWQgfHxcbiAgICAgICAgIGhpc3QubGFzdE9yaWdpbiA9PSBjaGFuZ2Uub3JpZ2luICYmIGNoYW5nZS5vcmlnaW4gJiZcbiAgICAgICAgICgoY2hhbmdlLm9yaWdpbi5jaGFyQXQoMCkgPT0gXCIrXCIgJiYgaGlzdC5sYXN0TW9kVGltZSA+IHRpbWUgLSAoZG9jLmNtID8gZG9jLmNtLm9wdGlvbnMuaGlzdG9yeUV2ZW50RGVsYXkgOiA1MDApKSB8fFxuICAgICAgICAgIGNoYW5nZS5vcmlnaW4uY2hhckF0KDApID09IFwiKlwiKSkgJiZcbiAgICAgICAgKGN1ciA9IGxhc3RDaGFuZ2VFdmVudChoaXN0LCBoaXN0Lmxhc3RPcCA9PSBvcElkKSkpIHtcbiAgICAgIC8vIE1lcmdlIHRoaXMgY2hhbmdlIGludG8gdGhlIGxhc3QgZXZlbnRcbiAgICAgIGxhc3QgPSBsc3QoY3VyLmNoYW5nZXMpO1xuICAgICAgaWYgKGNtcChjaGFuZ2UuZnJvbSwgY2hhbmdlLnRvKSA9PSAwICYmIGNtcChjaGFuZ2UuZnJvbSwgbGFzdC50bykgPT0gMCkge1xuICAgICAgICAvLyBPcHRpbWl6ZWQgY2FzZSBmb3Igc2ltcGxlIGluc2VydGlvbiAtLSBkb24ndCB3YW50IHRvIGFkZFxuICAgICAgICAvLyBuZXcgY2hhbmdlc2V0cyBmb3IgZXZlcnkgY2hhcmFjdGVyIHR5cGVkXG4gICAgICAgIGxhc3QudG8gPSBjaGFuZ2VFbmQoY2hhbmdlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIEFkZCBuZXcgc3ViLWV2ZW50XG4gICAgICAgIGN1ci5jaGFuZ2VzLnB1c2goaGlzdG9yeUNoYW5nZUZyb21DaGFuZ2UoZG9jLCBjaGFuZ2UpKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgLy8gQ2FuIG5vdCBiZSBtZXJnZWQsIHN0YXJ0IGEgbmV3IGV2ZW50LlxuICAgICAgdmFyIGJlZm9yZSA9IGxzdChoaXN0LmRvbmUpO1xuICAgICAgaWYgKCFiZWZvcmUgfHwgIWJlZm9yZS5yYW5nZXMpXG4gICAgICAgIHsgcHVzaFNlbGVjdGlvblRvSGlzdG9yeShkb2Muc2VsLCBoaXN0LmRvbmUpOyB9XG4gICAgICBjdXIgPSB7Y2hhbmdlczogW2hpc3RvcnlDaGFuZ2VGcm9tQ2hhbmdlKGRvYywgY2hhbmdlKV0sXG4gICAgICAgICAgICAgZ2VuZXJhdGlvbjogaGlzdC5nZW5lcmF0aW9ufTtcbiAgICAgIGhpc3QuZG9uZS5wdXNoKGN1cik7XG4gICAgICB3aGlsZSAoaGlzdC5kb25lLmxlbmd0aCA+IGhpc3QudW5kb0RlcHRoKSB7XG4gICAgICAgIGhpc3QuZG9uZS5zaGlmdCgpO1xuICAgICAgICBpZiAoIWhpc3QuZG9uZVswXS5yYW5nZXMpIHsgaGlzdC5kb25lLnNoaWZ0KCk7IH1cbiAgICAgIH1cbiAgICB9XG4gICAgaGlzdC5kb25lLnB1c2goc2VsQWZ0ZXIpO1xuICAgIGhpc3QuZ2VuZXJhdGlvbiA9ICsraGlzdC5tYXhHZW5lcmF0aW9uO1xuICAgIGhpc3QubGFzdE1vZFRpbWUgPSBoaXN0Lmxhc3RTZWxUaW1lID0gdGltZTtcbiAgICBoaXN0Lmxhc3RPcCA9IGhpc3QubGFzdFNlbE9wID0gb3BJZDtcbiAgICBoaXN0Lmxhc3RPcmlnaW4gPSBoaXN0Lmxhc3RTZWxPcmlnaW4gPSBjaGFuZ2Uub3JpZ2luO1xuXG4gICAgaWYgKCFsYXN0KSB7IHNpZ25hbChkb2MsIFwiaGlzdG9yeUFkZGVkXCIpOyB9XG4gIH1cblxuICBmdW5jdGlvbiBzZWxlY3Rpb25FdmVudENhbkJlTWVyZ2VkKGRvYywgb3JpZ2luLCBwcmV2LCBzZWwpIHtcbiAgICB2YXIgY2ggPSBvcmlnaW4uY2hhckF0KDApO1xuICAgIHJldHVybiBjaCA9PSBcIipcIiB8fFxuICAgICAgY2ggPT0gXCIrXCIgJiZcbiAgICAgIHByZXYucmFuZ2VzLmxlbmd0aCA9PSBzZWwucmFuZ2VzLmxlbmd0aCAmJlxuICAgICAgcHJldi5zb21ldGhpbmdTZWxlY3RlZCgpID09IHNlbC5zb21ldGhpbmdTZWxlY3RlZCgpICYmXG4gICAgICBuZXcgRGF0ZSAtIGRvYy5oaXN0b3J5Lmxhc3RTZWxUaW1lIDw9IChkb2MuY20gPyBkb2MuY20ub3B0aW9ucy5oaXN0b3J5RXZlbnREZWxheSA6IDUwMClcbiAgfVxuXG4gIC8vIENhbGxlZCB3aGVuZXZlciB0aGUgc2VsZWN0aW9uIGNoYW5nZXMsIHNldHMgdGhlIG5ldyBzZWxlY3Rpb24gYXNcbiAgLy8gdGhlIHBlbmRpbmcgc2VsZWN0aW9uIGluIHRoZSBoaXN0b3J5LCBhbmQgcHVzaGVzIHRoZSBvbGQgcGVuZGluZ1xuICAvLyBzZWxlY3Rpb24gaW50byB0aGUgJ2RvbmUnIGFycmF5IHdoZW4gaXQgd2FzIHNpZ25pZmljYW50bHlcbiAgLy8gZGlmZmVyZW50IChpbiBudW1iZXIgb2Ygc2VsZWN0ZWQgcmFuZ2VzLCBlbXB0aW5lc3MsIG9yIHRpbWUpLlxuICBmdW5jdGlvbiBhZGRTZWxlY3Rpb25Ub0hpc3RvcnkoZG9jLCBzZWwsIG9wSWQsIG9wdGlvbnMpIHtcbiAgICB2YXIgaGlzdCA9IGRvYy5oaXN0b3J5LCBvcmlnaW4gPSBvcHRpb25zICYmIG9wdGlvbnMub3JpZ2luO1xuXG4gICAgLy8gQSBuZXcgZXZlbnQgaXMgc3RhcnRlZCB3aGVuIHRoZSBwcmV2aW91cyBvcmlnaW4gZG9lcyBub3QgbWF0Y2hcbiAgICAvLyB0aGUgY3VycmVudCwgb3IgdGhlIG9yaWdpbnMgZG9uJ3QgYWxsb3cgbWF0Y2hpbmcuIE9yaWdpbnNcbiAgICAvLyBzdGFydGluZyB3aXRoICogYXJlIGFsd2F5cyBtZXJnZWQsIHRob3NlIHN0YXJ0aW5nIHdpdGggKyBhcmVcbiAgICAvLyBtZXJnZWQgd2hlbiBzaW1pbGFyIGFuZCBjbG9zZSB0b2dldGhlciBpbiB0aW1lLlxuICAgIGlmIChvcElkID09IGhpc3QubGFzdFNlbE9wIHx8XG4gICAgICAgIChvcmlnaW4gJiYgaGlzdC5sYXN0U2VsT3JpZ2luID09IG9yaWdpbiAmJlxuICAgICAgICAgKGhpc3QubGFzdE1vZFRpbWUgPT0gaGlzdC5sYXN0U2VsVGltZSAmJiBoaXN0Lmxhc3RPcmlnaW4gPT0gb3JpZ2luIHx8XG4gICAgICAgICAgc2VsZWN0aW9uRXZlbnRDYW5CZU1lcmdlZChkb2MsIG9yaWdpbiwgbHN0KGhpc3QuZG9uZSksIHNlbCkpKSlcbiAgICAgIHsgaGlzdC5kb25lW2hpc3QuZG9uZS5sZW5ndGggLSAxXSA9IHNlbDsgfVxuICAgIGVsc2VcbiAgICAgIHsgcHVzaFNlbGVjdGlvblRvSGlzdG9yeShzZWwsIGhpc3QuZG9uZSk7IH1cblxuICAgIGhpc3QubGFzdFNlbFRpbWUgPSArbmV3IERhdGU7XG4gICAgaGlzdC5sYXN0U2VsT3JpZ2luID0gb3JpZ2luO1xuICAgIGhpc3QubGFzdFNlbE9wID0gb3BJZDtcbiAgICBpZiAob3B0aW9ucyAmJiBvcHRpb25zLmNsZWFyUmVkbyAhPT0gZmFsc2UpXG4gICAgICB7IGNsZWFyU2VsZWN0aW9uRXZlbnRzKGhpc3QudW5kb25lKTsgfVxuICB9XG5cbiAgZnVuY3Rpb24gcHVzaFNlbGVjdGlvblRvSGlzdG9yeShzZWwsIGRlc3QpIHtcbiAgICB2YXIgdG9wID0gbHN0KGRlc3QpO1xuICAgIGlmICghKHRvcCAmJiB0b3AucmFuZ2VzICYmIHRvcC5lcXVhbHMoc2VsKSkpXG4gICAgICB7IGRlc3QucHVzaChzZWwpOyB9XG4gIH1cblxuICAvLyBVc2VkIHRvIHN0b3JlIG1hcmtlZCBzcGFuIGluZm9ybWF0aW9uIGluIHRoZSBoaXN0b3J5LlxuICBmdW5jdGlvbiBhdHRhY2hMb2NhbFNwYW5zKGRvYywgY2hhbmdlLCBmcm9tLCB0bykge1xuICAgIHZhciBleGlzdGluZyA9IGNoYW5nZVtcInNwYW5zX1wiICsgZG9jLmlkXSwgbiA9IDA7XG4gICAgZG9jLml0ZXIoTWF0aC5tYXgoZG9jLmZpcnN0LCBmcm9tKSwgTWF0aC5taW4oZG9jLmZpcnN0ICsgZG9jLnNpemUsIHRvKSwgZnVuY3Rpb24gKGxpbmUpIHtcbiAgICAgIGlmIChsaW5lLm1hcmtlZFNwYW5zKVxuICAgICAgICB7IChleGlzdGluZyB8fCAoZXhpc3RpbmcgPSBjaGFuZ2VbXCJzcGFuc19cIiArIGRvYy5pZF0gPSB7fSkpW25dID0gbGluZS5tYXJrZWRTcGFuczsgfVxuICAgICAgKytuO1xuICAgIH0pO1xuICB9XG5cbiAgLy8gV2hlbiB1bi9yZS1kb2luZyByZXN0b3JlcyB0ZXh0IGNvbnRhaW5pbmcgbWFya2VkIHNwYW5zLCB0aG9zZVxuICAvLyB0aGF0IGhhdmUgYmVlbiBleHBsaWNpdGx5IGNsZWFyZWQgc2hvdWxkIG5vdCBiZSByZXN0b3JlZC5cbiAgZnVuY3Rpb24gcmVtb3ZlQ2xlYXJlZFNwYW5zKHNwYW5zKSB7XG4gICAgaWYgKCFzcGFucykgeyByZXR1cm4gbnVsbCB9XG4gICAgdmFyIG91dDtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHNwYW5zLmxlbmd0aDsgKytpKSB7XG4gICAgICBpZiAoc3BhbnNbaV0ubWFya2VyLmV4cGxpY2l0bHlDbGVhcmVkKSB7IGlmICghb3V0KSB7IG91dCA9IHNwYW5zLnNsaWNlKDAsIGkpOyB9IH1cbiAgICAgIGVsc2UgaWYgKG91dCkgeyBvdXQucHVzaChzcGFuc1tpXSk7IH1cbiAgICB9XG4gICAgcmV0dXJuICFvdXQgPyBzcGFucyA6IG91dC5sZW5ndGggPyBvdXQgOiBudWxsXG4gIH1cblxuICAvLyBSZXRyaWV2ZSBhbmQgZmlsdGVyIHRoZSBvbGQgbWFya2VkIHNwYW5zIHN0b3JlZCBpbiBhIGNoYW5nZSBldmVudC5cbiAgZnVuY3Rpb24gZ2V0T2xkU3BhbnMoZG9jLCBjaGFuZ2UpIHtcbiAgICB2YXIgZm91bmQgPSBjaGFuZ2VbXCJzcGFuc19cIiArIGRvYy5pZF07XG4gICAgaWYgKCFmb3VuZCkgeyByZXR1cm4gbnVsbCB9XG4gICAgdmFyIG53ID0gW107XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjaGFuZ2UudGV4dC5sZW5ndGg7ICsraSlcbiAgICAgIHsgbncucHVzaChyZW1vdmVDbGVhcmVkU3BhbnMoZm91bmRbaV0pKTsgfVxuICAgIHJldHVybiBud1xuICB9XG5cbiAgLy8gVXNlZCBmb3IgdW4vcmUtZG9pbmcgY2hhbmdlcyBmcm9tIHRoZSBoaXN0b3J5LiBDb21iaW5lcyB0aGVcbiAgLy8gcmVzdWx0IG9mIGNvbXB1dGluZyB0aGUgZXhpc3Rpbmcgc3BhbnMgd2l0aCB0aGUgc2V0IG9mIHNwYW5zIHRoYXRcbiAgLy8gZXhpc3RlZCBpbiB0aGUgaGlzdG9yeSAoc28gdGhhdCBkZWxldGluZyBhcm91bmQgYSBzcGFuIGFuZCB0aGVuXG4gIC8vIHVuZG9pbmcgYnJpbmdzIGJhY2sgdGhlIHNwYW4pLlxuICBmdW5jdGlvbiBtZXJnZU9sZFNwYW5zKGRvYywgY2hhbmdlKSB7XG4gICAgdmFyIG9sZCA9IGdldE9sZFNwYW5zKGRvYywgY2hhbmdlKTtcbiAgICB2YXIgc3RyZXRjaGVkID0gc3RyZXRjaFNwYW5zT3ZlckNoYW5nZShkb2MsIGNoYW5nZSk7XG4gICAgaWYgKCFvbGQpIHsgcmV0dXJuIHN0cmV0Y2hlZCB9XG4gICAgaWYgKCFzdHJldGNoZWQpIHsgcmV0dXJuIG9sZCB9XG5cbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IG9sZC5sZW5ndGg7ICsraSkge1xuICAgICAgdmFyIG9sZEN1ciA9IG9sZFtpXSwgc3RyZXRjaEN1ciA9IHN0cmV0Y2hlZFtpXTtcbiAgICAgIGlmIChvbGRDdXIgJiYgc3RyZXRjaEN1cikge1xuICAgICAgICBzcGFuczogZm9yICh2YXIgaiA9IDA7IGogPCBzdHJldGNoQ3VyLmxlbmd0aDsgKytqKSB7XG4gICAgICAgICAgdmFyIHNwYW4gPSBzdHJldGNoQ3VyW2pdO1xuICAgICAgICAgIGZvciAodmFyIGsgPSAwOyBrIDwgb2xkQ3VyLmxlbmd0aDsgKytrKVxuICAgICAgICAgICAgeyBpZiAob2xkQ3VyW2tdLm1hcmtlciA9PSBzcGFuLm1hcmtlcikgeyBjb250aW51ZSBzcGFucyB9IH1cbiAgICAgICAgICBvbGRDdXIucHVzaChzcGFuKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChzdHJldGNoQ3VyKSB7XG4gICAgICAgIG9sZFtpXSA9IHN0cmV0Y2hDdXI7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBvbGRcbiAgfVxuXG4gIC8vIFVzZWQgYm90aCB0byBwcm92aWRlIGEgSlNPTi1zYWZlIG9iamVjdCBpbiAuZ2V0SGlzdG9yeSwgYW5kLCB3aGVuXG4gIC8vIGRldGFjaGluZyBhIGRvY3VtZW50LCB0byBzcGxpdCB0aGUgaGlzdG9yeSBpbiB0d29cbiAgZnVuY3Rpb24gY29weUhpc3RvcnlBcnJheShldmVudHMsIG5ld0dyb3VwLCBpbnN0YW50aWF0ZVNlbCkge1xuICAgIHZhciBjb3B5ID0gW107XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBldmVudHMubGVuZ3RoOyArK2kpIHtcbiAgICAgIHZhciBldmVudCA9IGV2ZW50c1tpXTtcbiAgICAgIGlmIChldmVudC5yYW5nZXMpIHtcbiAgICAgICAgY29weS5wdXNoKGluc3RhbnRpYXRlU2VsID8gU2VsZWN0aW9uLnByb3RvdHlwZS5kZWVwQ29weS5jYWxsKGV2ZW50KSA6IGV2ZW50KTtcbiAgICAgICAgY29udGludWVcbiAgICAgIH1cbiAgICAgIHZhciBjaGFuZ2VzID0gZXZlbnQuY2hhbmdlcywgbmV3Q2hhbmdlcyA9IFtdO1xuICAgICAgY29weS5wdXNoKHtjaGFuZ2VzOiBuZXdDaGFuZ2VzfSk7XG4gICAgICBmb3IgKHZhciBqID0gMDsgaiA8IGNoYW5nZXMubGVuZ3RoOyArK2opIHtcbiAgICAgICAgdmFyIGNoYW5nZSA9IGNoYW5nZXNbal0sIG0gPSAodm9pZCAwKTtcbiAgICAgICAgbmV3Q2hhbmdlcy5wdXNoKHtmcm9tOiBjaGFuZ2UuZnJvbSwgdG86IGNoYW5nZS50bywgdGV4dDogY2hhbmdlLnRleHR9KTtcbiAgICAgICAgaWYgKG5ld0dyb3VwKSB7IGZvciAodmFyIHByb3AgaW4gY2hhbmdlKSB7IGlmIChtID0gcHJvcC5tYXRjaCgvXnNwYW5zXyhcXGQrKSQvKSkge1xuICAgICAgICAgIGlmIChpbmRleE9mKG5ld0dyb3VwLCBOdW1iZXIobVsxXSkpID4gLTEpIHtcbiAgICAgICAgICAgIGxzdChuZXdDaGFuZ2VzKVtwcm9wXSA9IGNoYW5nZVtwcm9wXTtcbiAgICAgICAgICAgIGRlbGV0ZSBjaGFuZ2VbcHJvcF07XG4gICAgICAgICAgfVxuICAgICAgICB9IH0gfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gY29weVxuICB9XG5cbiAgLy8gVGhlICdzY3JvbGwnIHBhcmFtZXRlciBnaXZlbiB0byBtYW55IG9mIHRoZXNlIGluZGljYXRlZCB3aGV0aGVyXG4gIC8vIHRoZSBuZXcgY3Vyc29yIHBvc2l0aW9uIHNob3VsZCBiZSBzY3JvbGxlZCBpbnRvIHZpZXcgYWZ0ZXJcbiAgLy8gbW9kaWZ5aW5nIHRoZSBzZWxlY3Rpb24uXG5cbiAgLy8gSWYgc2hpZnQgaXMgaGVsZCBvciB0aGUgZXh0ZW5kIGZsYWcgaXMgc2V0LCBleHRlbmRzIGEgcmFuZ2UgdG9cbiAgLy8gaW5jbHVkZSBhIGdpdmVuIHBvc2l0aW9uIChhbmQgb3B0aW9uYWxseSBhIHNlY29uZCBwb3NpdGlvbikuXG4gIC8vIE90aGVyd2lzZSwgc2ltcGx5IHJldHVybnMgdGhlIHJhbmdlIGJldHdlZW4gdGhlIGdpdmVuIHBvc2l0aW9ucy5cbiAgLy8gVXNlZCBmb3IgY3Vyc29yIG1vdGlvbiBhbmQgc3VjaC5cbiAgZnVuY3Rpb24gZXh0ZW5kUmFuZ2UocmFuZ2UsIGhlYWQsIG90aGVyLCBleHRlbmQpIHtcbiAgICBpZiAoZXh0ZW5kKSB7XG4gICAgICB2YXIgYW5jaG9yID0gcmFuZ2UuYW5jaG9yO1xuICAgICAgaWYgKG90aGVyKSB7XG4gICAgICAgIHZhciBwb3NCZWZvcmUgPSBjbXAoaGVhZCwgYW5jaG9yKSA8IDA7XG4gICAgICAgIGlmIChwb3NCZWZvcmUgIT0gKGNtcChvdGhlciwgYW5jaG9yKSA8IDApKSB7XG4gICAgICAgICAgYW5jaG9yID0gaGVhZDtcbiAgICAgICAgICBoZWFkID0gb3RoZXI7XG4gICAgICAgIH0gZWxzZSBpZiAocG9zQmVmb3JlICE9IChjbXAoaGVhZCwgb3RoZXIpIDwgMCkpIHtcbiAgICAgICAgICBoZWFkID0gb3RoZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBuZXcgUmFuZ2UoYW5jaG9yLCBoZWFkKVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gbmV3IFJhbmdlKG90aGVyIHx8IGhlYWQsIGhlYWQpXG4gICAgfVxuICB9XG5cbiAgLy8gRXh0ZW5kIHRoZSBwcmltYXJ5IHNlbGVjdGlvbiByYW5nZSwgZGlzY2FyZCB0aGUgcmVzdC5cbiAgZnVuY3Rpb24gZXh0ZW5kU2VsZWN0aW9uKGRvYywgaGVhZCwgb3RoZXIsIG9wdGlvbnMsIGV4dGVuZCkge1xuICAgIGlmIChleHRlbmQgPT0gbnVsbCkgeyBleHRlbmQgPSBkb2MuY20gJiYgKGRvYy5jbS5kaXNwbGF5LnNoaWZ0IHx8IGRvYy5leHRlbmQpOyB9XG4gICAgc2V0U2VsZWN0aW9uKGRvYywgbmV3IFNlbGVjdGlvbihbZXh0ZW5kUmFuZ2UoZG9jLnNlbC5wcmltYXJ5KCksIGhlYWQsIG90aGVyLCBleHRlbmQpXSwgMCksIG9wdGlvbnMpO1xuICB9XG5cbiAgLy8gRXh0ZW5kIGFsbCBzZWxlY3Rpb25zIChwb3MgaXMgYW4gYXJyYXkgb2Ygc2VsZWN0aW9ucyB3aXRoIGxlbmd0aFxuICAvLyBlcXVhbCB0aGUgbnVtYmVyIG9mIHNlbGVjdGlvbnMpXG4gIGZ1bmN0aW9uIGV4dGVuZFNlbGVjdGlvbnMoZG9jLCBoZWFkcywgb3B0aW9ucykge1xuICAgIHZhciBvdXQgPSBbXTtcbiAgICB2YXIgZXh0ZW5kID0gZG9jLmNtICYmIChkb2MuY20uZGlzcGxheS5zaGlmdCB8fCBkb2MuZXh0ZW5kKTtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGRvYy5zZWwucmFuZ2VzLmxlbmd0aDsgaSsrKVxuICAgICAgeyBvdXRbaV0gPSBleHRlbmRSYW5nZShkb2Muc2VsLnJhbmdlc1tpXSwgaGVhZHNbaV0sIG51bGwsIGV4dGVuZCk7IH1cbiAgICB2YXIgbmV3U2VsID0gbm9ybWFsaXplU2VsZWN0aW9uKGRvYy5jbSwgb3V0LCBkb2Muc2VsLnByaW1JbmRleCk7XG4gICAgc2V0U2VsZWN0aW9uKGRvYywgbmV3U2VsLCBvcHRpb25zKTtcbiAgfVxuXG4gIC8vIFVwZGF0ZXMgYSBzaW5nbGUgcmFuZ2UgaW4gdGhlIHNlbGVjdGlvbi5cbiAgZnVuY3Rpb24gcmVwbGFjZU9uZVNlbGVjdGlvbihkb2MsIGksIHJhbmdlLCBvcHRpb25zKSB7XG4gICAgdmFyIHJhbmdlcyA9IGRvYy5zZWwucmFuZ2VzLnNsaWNlKDApO1xuICAgIHJhbmdlc1tpXSA9IHJhbmdlO1xuICAgIHNldFNlbGVjdGlvbihkb2MsIG5vcm1hbGl6ZVNlbGVjdGlvbihkb2MuY20sIHJhbmdlcywgZG9jLnNlbC5wcmltSW5kZXgpLCBvcHRpb25zKTtcbiAgfVxuXG4gIC8vIFJlc2V0IHRoZSBzZWxlY3Rpb24gdG8gYSBzaW5nbGUgcmFuZ2UuXG4gIGZ1bmN0aW9uIHNldFNpbXBsZVNlbGVjdGlvbihkb2MsIGFuY2hvciwgaGVhZCwgb3B0aW9ucykge1xuICAgIHNldFNlbGVjdGlvbihkb2MsIHNpbXBsZVNlbGVjdGlvbihhbmNob3IsIGhlYWQpLCBvcHRpb25zKTtcbiAgfVxuXG4gIC8vIEdpdmUgYmVmb3JlU2VsZWN0aW9uQ2hhbmdlIGhhbmRsZXJzIGEgY2hhbmdlIHRvIGluZmx1ZW5jZSBhXG4gIC8vIHNlbGVjdGlvbiB1cGRhdGUuXG4gIGZ1bmN0aW9uIGZpbHRlclNlbGVjdGlvbkNoYW5nZShkb2MsIHNlbCwgb3B0aW9ucykge1xuICAgIHZhciBvYmogPSB7XG4gICAgICByYW5nZXM6IHNlbC5yYW5nZXMsXG4gICAgICB1cGRhdGU6IGZ1bmN0aW9uKHJhbmdlcykge1xuICAgICAgICB2YXIgdGhpcyQxID0gdGhpcztcblxuICAgICAgICB0aGlzLnJhbmdlcyA9IFtdO1xuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJhbmdlcy5sZW5ndGg7IGkrKylcbiAgICAgICAgICB7IHRoaXMkMS5yYW5nZXNbaV0gPSBuZXcgUmFuZ2UoY2xpcFBvcyhkb2MsIHJhbmdlc1tpXS5hbmNob3IpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsaXBQb3MoZG9jLCByYW5nZXNbaV0uaGVhZCkpOyB9XG4gICAgICB9LFxuICAgICAgb3JpZ2luOiBvcHRpb25zICYmIG9wdGlvbnMub3JpZ2luXG4gICAgfTtcbiAgICBzaWduYWwoZG9jLCBcImJlZm9yZVNlbGVjdGlvbkNoYW5nZVwiLCBkb2MsIG9iaik7XG4gICAgaWYgKGRvYy5jbSkgeyBzaWduYWwoZG9jLmNtLCBcImJlZm9yZVNlbGVjdGlvbkNoYW5nZVwiLCBkb2MuY20sIG9iaik7IH1cbiAgICBpZiAob2JqLnJhbmdlcyAhPSBzZWwucmFuZ2VzKSB7IHJldHVybiBub3JtYWxpemVTZWxlY3Rpb24oZG9jLmNtLCBvYmoucmFuZ2VzLCBvYmoucmFuZ2VzLmxlbmd0aCAtIDEpIH1cbiAgICBlbHNlIHsgcmV0dXJuIHNlbCB9XG4gIH1cblxuICBmdW5jdGlvbiBzZXRTZWxlY3Rpb25SZXBsYWNlSGlzdG9yeShkb2MsIHNlbCwgb3B0aW9ucykge1xuICAgIHZhciBkb25lID0gZG9jLmhpc3RvcnkuZG9uZSwgbGFzdCA9IGxzdChkb25lKTtcbiAgICBpZiAobGFzdCAmJiBsYXN0LnJhbmdlcykge1xuICAgICAgZG9uZVtkb25lLmxlbmd0aCAtIDFdID0gc2VsO1xuICAgICAgc2V0U2VsZWN0aW9uTm9VbmRvKGRvYywgc2VsLCBvcHRpb25zKTtcbiAgICB9IGVsc2Uge1xuICAgICAgc2V0U2VsZWN0aW9uKGRvYywgc2VsLCBvcHRpb25zKTtcbiAgICB9XG4gIH1cblxuICAvLyBTZXQgYSBuZXcgc2VsZWN0aW9uLlxuICBmdW5jdGlvbiBzZXRTZWxlY3Rpb24oZG9jLCBzZWwsIG9wdGlvbnMpIHtcbiAgICBzZXRTZWxlY3Rpb25Ob1VuZG8oZG9jLCBzZWwsIG9wdGlvbnMpO1xuICAgIGFkZFNlbGVjdGlvblRvSGlzdG9yeShkb2MsIGRvYy5zZWwsIGRvYy5jbSA/IGRvYy5jbS5jdXJPcC5pZCA6IE5hTiwgb3B0aW9ucyk7XG4gIH1cblxuICBmdW5jdGlvbiBzZXRTZWxlY3Rpb25Ob1VuZG8oZG9jLCBzZWwsIG9wdGlvbnMpIHtcbiAgICBpZiAoaGFzSGFuZGxlcihkb2MsIFwiYmVmb3JlU2VsZWN0aW9uQ2hhbmdlXCIpIHx8IGRvYy5jbSAmJiBoYXNIYW5kbGVyKGRvYy5jbSwgXCJiZWZvcmVTZWxlY3Rpb25DaGFuZ2VcIikpXG4gICAgICB7IHNlbCA9IGZpbHRlclNlbGVjdGlvbkNoYW5nZShkb2MsIHNlbCwgb3B0aW9ucyk7IH1cblxuICAgIHZhciBiaWFzID0gb3B0aW9ucyAmJiBvcHRpb25zLmJpYXMgfHxcbiAgICAgIChjbXAoc2VsLnByaW1hcnkoKS5oZWFkLCBkb2Muc2VsLnByaW1hcnkoKS5oZWFkKSA8IDAgPyAtMSA6IDEpO1xuICAgIHNldFNlbGVjdGlvbklubmVyKGRvYywgc2tpcEF0b21pY0luU2VsZWN0aW9uKGRvYywgc2VsLCBiaWFzLCB0cnVlKSk7XG5cbiAgICBpZiAoIShvcHRpb25zICYmIG9wdGlvbnMuc2Nyb2xsID09PSBmYWxzZSkgJiYgZG9jLmNtKVxuICAgICAgeyBlbnN1cmVDdXJzb3JWaXNpYmxlKGRvYy5jbSk7IH1cbiAgfVxuXG4gIGZ1bmN0aW9uIHNldFNlbGVjdGlvbklubmVyKGRvYywgc2VsKSB7XG4gICAgaWYgKHNlbC5lcXVhbHMoZG9jLnNlbCkpIHsgcmV0dXJuIH1cblxuICAgIGRvYy5zZWwgPSBzZWw7XG5cbiAgICBpZiAoZG9jLmNtKSB7XG4gICAgICBkb2MuY20uY3VyT3AudXBkYXRlSW5wdXQgPSAxO1xuICAgICAgZG9jLmNtLmN1ck9wLnNlbGVjdGlvbkNoYW5nZWQgPSB0cnVlO1xuICAgICAgc2lnbmFsQ3Vyc29yQWN0aXZpdHkoZG9jLmNtKTtcbiAgICB9XG4gICAgc2lnbmFsTGF0ZXIoZG9jLCBcImN1cnNvckFjdGl2aXR5XCIsIGRvYyk7XG4gIH1cblxuICAvLyBWZXJpZnkgdGhhdCB0aGUgc2VsZWN0aW9uIGRvZXMgbm90IHBhcnRpYWxseSBzZWxlY3QgYW55IGF0b21pY1xuICAvLyBtYXJrZWQgcmFuZ2VzLlxuICBmdW5jdGlvbiByZUNoZWNrU2VsZWN0aW9uKGRvYykge1xuICAgIHNldFNlbGVjdGlvbklubmVyKGRvYywgc2tpcEF0b21pY0luU2VsZWN0aW9uKGRvYywgZG9jLnNlbCwgbnVsbCwgZmFsc2UpKTtcbiAgfVxuXG4gIC8vIFJldHVybiBhIHNlbGVjdGlvbiB0aGF0IGRvZXMgbm90IHBhcnRpYWxseSBzZWxlY3QgYW55IGF0b21pY1xuICAvLyByYW5nZXMuXG4gIGZ1bmN0aW9uIHNraXBBdG9taWNJblNlbGVjdGlvbihkb2MsIHNlbCwgYmlhcywgbWF5Q2xlYXIpIHtcbiAgICB2YXIgb3V0O1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc2VsLnJhbmdlcy5sZW5ndGg7IGkrKykge1xuICAgICAgdmFyIHJhbmdlID0gc2VsLnJhbmdlc1tpXTtcbiAgICAgIHZhciBvbGQgPSBzZWwucmFuZ2VzLmxlbmd0aCA9PSBkb2Muc2VsLnJhbmdlcy5sZW5ndGggJiYgZG9jLnNlbC5yYW5nZXNbaV07XG4gICAgICB2YXIgbmV3QW5jaG9yID0gc2tpcEF0b21pYyhkb2MsIHJhbmdlLmFuY2hvciwgb2xkICYmIG9sZC5hbmNob3IsIGJpYXMsIG1heUNsZWFyKTtcbiAgICAgIHZhciBuZXdIZWFkID0gc2tpcEF0b21pYyhkb2MsIHJhbmdlLmhlYWQsIG9sZCAmJiBvbGQuaGVhZCwgYmlhcywgbWF5Q2xlYXIpO1xuICAgICAgaWYgKG91dCB8fCBuZXdBbmNob3IgIT0gcmFuZ2UuYW5jaG9yIHx8IG5ld0hlYWQgIT0gcmFuZ2UuaGVhZCkge1xuICAgICAgICBpZiAoIW91dCkgeyBvdXQgPSBzZWwucmFuZ2VzLnNsaWNlKDAsIGkpOyB9XG4gICAgICAgIG91dFtpXSA9IG5ldyBSYW5nZShuZXdBbmNob3IsIG5ld0hlYWQpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gb3V0ID8gbm9ybWFsaXplU2VsZWN0aW9uKGRvYy5jbSwgb3V0LCBzZWwucHJpbUluZGV4KSA6IHNlbFxuICB9XG5cbiAgZnVuY3Rpb24gc2tpcEF0b21pY0lubmVyKGRvYywgcG9zLCBvbGRQb3MsIGRpciwgbWF5Q2xlYXIpIHtcbiAgICB2YXIgbGluZSA9IGdldExpbmUoZG9jLCBwb3MubGluZSk7XG4gICAgaWYgKGxpbmUubWFya2VkU3BhbnMpIHsgZm9yICh2YXIgaSA9IDA7IGkgPCBsaW5lLm1hcmtlZFNwYW5zLmxlbmd0aDsgKytpKSB7XG4gICAgICB2YXIgc3AgPSBsaW5lLm1hcmtlZFNwYW5zW2ldLCBtID0gc3AubWFya2VyO1xuXG4gICAgICAvLyBEZXRlcm1pbmUgaWYgd2Ugc2hvdWxkIHByZXZlbnQgdGhlIGN1cnNvciBiZWluZyBwbGFjZWQgdG8gdGhlIGxlZnQvcmlnaHQgb2YgYW4gYXRvbWljIG1hcmtlclxuICAgICAgLy8gSGlzdG9yaWNhbGx5IHRoaXMgd2FzIGRldGVybWluZWQgdXNpbmcgdGhlIGluY2x1c2l2ZUxlZnQvUmlnaHQgb3B0aW9uLCBidXQgdGhlIG5ldyB3YXkgdG8gY29udHJvbCBpdFxuICAgICAgLy8gaXMgd2l0aCBzZWxlY3RMZWZ0L1JpZ2h0XG4gICAgICB2YXIgcHJldmVudEN1cnNvckxlZnQgPSAoXCJzZWxlY3RMZWZ0XCIgaW4gbSkgPyAhbS5zZWxlY3RMZWZ0IDogbS5pbmNsdXNpdmVMZWZ0O1xuICAgICAgdmFyIHByZXZlbnRDdXJzb3JSaWdodCA9IChcInNlbGVjdFJpZ2h0XCIgaW4gbSkgPyAhbS5zZWxlY3RSaWdodCA6IG0uaW5jbHVzaXZlUmlnaHQ7XG5cbiAgICAgIGlmICgoc3AuZnJvbSA9PSBudWxsIHx8IChwcmV2ZW50Q3Vyc29yTGVmdCA/IHNwLmZyb20gPD0gcG9zLmNoIDogc3AuZnJvbSA8IHBvcy5jaCkpICYmXG4gICAgICAgICAgKHNwLnRvID09IG51bGwgfHwgKHByZXZlbnRDdXJzb3JSaWdodCA/IHNwLnRvID49IHBvcy5jaCA6IHNwLnRvID4gcG9zLmNoKSkpIHtcbiAgICAgICAgaWYgKG1heUNsZWFyKSB7XG4gICAgICAgICAgc2lnbmFsKG0sIFwiYmVmb3JlQ3Vyc29yRW50ZXJcIik7XG4gICAgICAgICAgaWYgKG0uZXhwbGljaXRseUNsZWFyZWQpIHtcbiAgICAgICAgICAgIGlmICghbGluZS5tYXJrZWRTcGFucykgeyBicmVhayB9XG4gICAgICAgICAgICBlbHNlIHstLWk7IGNvbnRpbnVlfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoIW0uYXRvbWljKSB7IGNvbnRpbnVlIH1cblxuICAgICAgICBpZiAob2xkUG9zKSB7XG4gICAgICAgICAgdmFyIG5lYXIgPSBtLmZpbmQoZGlyIDwgMCA/IDEgOiAtMSksIGRpZmYgPSAodm9pZCAwKTtcbiAgICAgICAgICBpZiAoZGlyIDwgMCA/IHByZXZlbnRDdXJzb3JSaWdodCA6IHByZXZlbnRDdXJzb3JMZWZ0KVxuICAgICAgICAgICAgeyBuZWFyID0gbW92ZVBvcyhkb2MsIG5lYXIsIC1kaXIsIG5lYXIgJiYgbmVhci5saW5lID09IHBvcy5saW5lID8gbGluZSA6IG51bGwpOyB9XG4gICAgICAgICAgaWYgKG5lYXIgJiYgbmVhci5saW5lID09IHBvcy5saW5lICYmIChkaWZmID0gY21wKG5lYXIsIG9sZFBvcykpICYmIChkaXIgPCAwID8gZGlmZiA8IDAgOiBkaWZmID4gMCkpXG4gICAgICAgICAgICB7IHJldHVybiBza2lwQXRvbWljSW5uZXIoZG9jLCBuZWFyLCBwb3MsIGRpciwgbWF5Q2xlYXIpIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBmYXIgPSBtLmZpbmQoZGlyIDwgMCA/IC0xIDogMSk7XG4gICAgICAgIGlmIChkaXIgPCAwID8gcHJldmVudEN1cnNvckxlZnQgOiBwcmV2ZW50Q3Vyc29yUmlnaHQpXG4gICAgICAgICAgeyBmYXIgPSBtb3ZlUG9zKGRvYywgZmFyLCBkaXIsIGZhci5saW5lID09IHBvcy5saW5lID8gbGluZSA6IG51bGwpOyB9XG4gICAgICAgIHJldHVybiBmYXIgPyBza2lwQXRvbWljSW5uZXIoZG9jLCBmYXIsIHBvcywgZGlyLCBtYXlDbGVhcikgOiBudWxsXG4gICAgICB9XG4gICAgfSB9XG4gICAgcmV0dXJuIHBvc1xuICB9XG5cbiAgLy8gRW5zdXJlIGEgZ2l2ZW4gcG9zaXRpb24gaXMgbm90IGluc2lkZSBhbiBhdG9taWMgcmFuZ2UuXG4gIGZ1bmN0aW9uIHNraXBBdG9taWMoZG9jLCBwb3MsIG9sZFBvcywgYmlhcywgbWF5Q2xlYXIpIHtcbiAgICB2YXIgZGlyID0gYmlhcyB8fCAxO1xuICAgIHZhciBmb3VuZCA9IHNraXBBdG9taWNJbm5lcihkb2MsIHBvcywgb2xkUG9zLCBkaXIsIG1heUNsZWFyKSB8fFxuICAgICAgICAoIW1heUNsZWFyICYmIHNraXBBdG9taWNJbm5lcihkb2MsIHBvcywgb2xkUG9zLCBkaXIsIHRydWUpKSB8fFxuICAgICAgICBza2lwQXRvbWljSW5uZXIoZG9jLCBwb3MsIG9sZFBvcywgLWRpciwgbWF5Q2xlYXIpIHx8XG4gICAgICAgICghbWF5Q2xlYXIgJiYgc2tpcEF0b21pY0lubmVyKGRvYywgcG9zLCBvbGRQb3MsIC1kaXIsIHRydWUpKTtcbiAgICBpZiAoIWZvdW5kKSB7XG4gICAgICBkb2MuY2FudEVkaXQgPSB0cnVlO1xuICAgICAgcmV0dXJuIFBvcyhkb2MuZmlyc3QsIDApXG4gICAgfVxuICAgIHJldHVybiBmb3VuZFxuICB9XG5cbiAgZnVuY3Rpb24gbW92ZVBvcyhkb2MsIHBvcywgZGlyLCBsaW5lKSB7XG4gICAgaWYgKGRpciA8IDAgJiYgcG9zLmNoID09IDApIHtcbiAgICAgIGlmIChwb3MubGluZSA+IGRvYy5maXJzdCkgeyByZXR1cm4gY2xpcFBvcyhkb2MsIFBvcyhwb3MubGluZSAtIDEpKSB9XG4gICAgICBlbHNlIHsgcmV0dXJuIG51bGwgfVxuICAgIH0gZWxzZSBpZiAoZGlyID4gMCAmJiBwb3MuY2ggPT0gKGxpbmUgfHwgZ2V0TGluZShkb2MsIHBvcy5saW5lKSkudGV4dC5sZW5ndGgpIHtcbiAgICAgIGlmIChwb3MubGluZSA8IGRvYy5maXJzdCArIGRvYy5zaXplIC0gMSkgeyByZXR1cm4gUG9zKHBvcy5saW5lICsgMSwgMCkgfVxuICAgICAgZWxzZSB7IHJldHVybiBudWxsIH1cbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG5ldyBQb3MocG9zLmxpbmUsIHBvcy5jaCArIGRpcilcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBzZWxlY3RBbGwoY20pIHtcbiAgICBjbS5zZXRTZWxlY3Rpb24oUG9zKGNtLmZpcnN0TGluZSgpLCAwKSwgUG9zKGNtLmxhc3RMaW5lKCkpLCBzZWxfZG9udFNjcm9sbCk7XG4gIH1cblxuICAvLyBVUERBVElOR1xuXG4gIC8vIEFsbG93IFwiYmVmb3JlQ2hhbmdlXCIgZXZlbnQgaGFuZGxlcnMgdG8gaW5mbHVlbmNlIGEgY2hhbmdlXG4gIGZ1bmN0aW9uIGZpbHRlckNoYW5nZShkb2MsIGNoYW5nZSwgdXBkYXRlKSB7XG4gICAgdmFyIG9iaiA9IHtcbiAgICAgIGNhbmNlbGVkOiBmYWxzZSxcbiAgICAgIGZyb206IGNoYW5nZS5mcm9tLFxuICAgICAgdG86IGNoYW5nZS50byxcbiAgICAgIHRleHQ6IGNoYW5nZS50ZXh0LFxuICAgICAgb3JpZ2luOiBjaGFuZ2Uub3JpZ2luLFxuICAgICAgY2FuY2VsOiBmdW5jdGlvbiAoKSB7IHJldHVybiBvYmouY2FuY2VsZWQgPSB0cnVlOyB9XG4gICAgfTtcbiAgICBpZiAodXBkYXRlKSB7IG9iai51cGRhdGUgPSBmdW5jdGlvbiAoZnJvbSwgdG8sIHRleHQsIG9yaWdpbikge1xuICAgICAgaWYgKGZyb20pIHsgb2JqLmZyb20gPSBjbGlwUG9zKGRvYywgZnJvbSk7IH1cbiAgICAgIGlmICh0bykgeyBvYmoudG8gPSBjbGlwUG9zKGRvYywgdG8pOyB9XG4gICAgICBpZiAodGV4dCkgeyBvYmoudGV4dCA9IHRleHQ7IH1cbiAgICAgIGlmIChvcmlnaW4gIT09IHVuZGVmaW5lZCkgeyBvYmoub3JpZ2luID0gb3JpZ2luOyB9XG4gICAgfTsgfVxuICAgIHNpZ25hbChkb2MsIFwiYmVmb3JlQ2hhbmdlXCIsIGRvYywgb2JqKTtcbiAgICBpZiAoZG9jLmNtKSB7IHNpZ25hbChkb2MuY20sIFwiYmVmb3JlQ2hhbmdlXCIsIGRvYy5jbSwgb2JqKTsgfVxuXG4gICAgaWYgKG9iai5jYW5jZWxlZCkge1xuICAgICAgaWYgKGRvYy5jbSkgeyBkb2MuY20uY3VyT3AudXBkYXRlSW5wdXQgPSAyOyB9XG4gICAgICByZXR1cm4gbnVsbFxuICAgIH1cbiAgICByZXR1cm4ge2Zyb206IG9iai5mcm9tLCB0bzogb2JqLnRvLCB0ZXh0OiBvYmoudGV4dCwgb3JpZ2luOiBvYmoub3JpZ2lufVxuICB9XG5cbiAgLy8gQXBwbHkgYSBjaGFuZ2UgdG8gYSBkb2N1bWVudCwgYW5kIGFkZCBpdCB0byB0aGUgZG9jdW1lbnQnc1xuICAvLyBoaXN0b3J5LCBhbmQgcHJvcGFnYXRpbmcgaXQgdG8gYWxsIGxpbmtlZCBkb2N1bWVudHMuXG4gIGZ1bmN0aW9uIG1ha2VDaGFuZ2UoZG9jLCBjaGFuZ2UsIGlnbm9yZVJlYWRPbmx5KSB7XG4gICAgaWYgKGRvYy5jbSkge1xuICAgICAgaWYgKCFkb2MuY20uY3VyT3ApIHsgcmV0dXJuIG9wZXJhdGlvbihkb2MuY20sIG1ha2VDaGFuZ2UpKGRvYywgY2hhbmdlLCBpZ25vcmVSZWFkT25seSkgfVxuICAgICAgaWYgKGRvYy5jbS5zdGF0ZS5zdXBwcmVzc0VkaXRzKSB7IHJldHVybiB9XG4gICAgfVxuXG4gICAgaWYgKGhhc0hhbmRsZXIoZG9jLCBcImJlZm9yZUNoYW5nZVwiKSB8fCBkb2MuY20gJiYgaGFzSGFuZGxlcihkb2MuY20sIFwiYmVmb3JlQ2hhbmdlXCIpKSB7XG4gICAgICBjaGFuZ2UgPSBmaWx0ZXJDaGFuZ2UoZG9jLCBjaGFuZ2UsIHRydWUpO1xuICAgICAgaWYgKCFjaGFuZ2UpIHsgcmV0dXJuIH1cbiAgICB9XG5cbiAgICAvLyBQb3NzaWJseSBzcGxpdCBvciBzdXBwcmVzcyB0aGUgdXBkYXRlIGJhc2VkIG9uIHRoZSBwcmVzZW5jZVxuICAgIC8vIG9mIHJlYWQtb25seSBzcGFucyBpbiBpdHMgcmFuZ2UuXG4gICAgdmFyIHNwbGl0ID0gc2F3UmVhZE9ubHlTcGFucyAmJiAhaWdub3JlUmVhZE9ubHkgJiYgcmVtb3ZlUmVhZE9ubHlSYW5nZXMoZG9jLCBjaGFuZ2UuZnJvbSwgY2hhbmdlLnRvKTtcbiAgICBpZiAoc3BsaXQpIHtcbiAgICAgIGZvciAodmFyIGkgPSBzcGxpdC5sZW5ndGggLSAxOyBpID49IDA7IC0taSlcbiAgICAgICAgeyBtYWtlQ2hhbmdlSW5uZXIoZG9jLCB7ZnJvbTogc3BsaXRbaV0uZnJvbSwgdG86IHNwbGl0W2ldLnRvLCB0ZXh0OiBpID8gW1wiXCJdIDogY2hhbmdlLnRleHQsIG9yaWdpbjogY2hhbmdlLm9yaWdpbn0pOyB9XG4gICAgfSBlbHNlIHtcbiAgICAgIG1ha2VDaGFuZ2VJbm5lcihkb2MsIGNoYW5nZSk7XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gbWFrZUNoYW5nZUlubmVyKGRvYywgY2hhbmdlKSB7XG4gICAgaWYgKGNoYW5nZS50ZXh0Lmxlbmd0aCA9PSAxICYmIGNoYW5nZS50ZXh0WzBdID09IFwiXCIgJiYgY21wKGNoYW5nZS5mcm9tLCBjaGFuZ2UudG8pID09IDApIHsgcmV0dXJuIH1cbiAgICB2YXIgc2VsQWZ0ZXIgPSBjb21wdXRlU2VsQWZ0ZXJDaGFuZ2UoZG9jLCBjaGFuZ2UpO1xuICAgIGFkZENoYW5nZVRvSGlzdG9yeShkb2MsIGNoYW5nZSwgc2VsQWZ0ZXIsIGRvYy5jbSA/IGRvYy5jbS5jdXJPcC5pZCA6IE5hTik7XG5cbiAgICBtYWtlQ2hhbmdlU2luZ2xlRG9jKGRvYywgY2hhbmdlLCBzZWxBZnRlciwgc3RyZXRjaFNwYW5zT3ZlckNoYW5nZShkb2MsIGNoYW5nZSkpO1xuICAgIHZhciByZWJhc2VkID0gW107XG5cbiAgICBsaW5rZWREb2NzKGRvYywgZnVuY3Rpb24gKGRvYywgc2hhcmVkSGlzdCkge1xuICAgICAgaWYgKCFzaGFyZWRIaXN0ICYmIGluZGV4T2YocmViYXNlZCwgZG9jLmhpc3RvcnkpID09IC0xKSB7XG4gICAgICAgIHJlYmFzZUhpc3QoZG9jLmhpc3RvcnksIGNoYW5nZSk7XG4gICAgICAgIHJlYmFzZWQucHVzaChkb2MuaGlzdG9yeSk7XG4gICAgICB9XG4gICAgICBtYWtlQ2hhbmdlU2luZ2xlRG9jKGRvYywgY2hhbmdlLCBudWxsLCBzdHJldGNoU3BhbnNPdmVyQ2hhbmdlKGRvYywgY2hhbmdlKSk7XG4gICAgfSk7XG4gIH1cblxuICAvLyBSZXZlcnQgYSBjaGFuZ2Ugc3RvcmVkIGluIGEgZG9jdW1lbnQncyBoaXN0b3J5LlxuICBmdW5jdGlvbiBtYWtlQ2hhbmdlRnJvbUhpc3RvcnkoZG9jLCB0eXBlLCBhbGxvd1NlbGVjdGlvbk9ubHkpIHtcbiAgICB2YXIgc3VwcHJlc3MgPSBkb2MuY20gJiYgZG9jLmNtLnN0YXRlLnN1cHByZXNzRWRpdHM7XG4gICAgaWYgKHN1cHByZXNzICYmICFhbGxvd1NlbGVjdGlvbk9ubHkpIHsgcmV0dXJuIH1cblxuICAgIHZhciBoaXN0ID0gZG9jLmhpc3RvcnksIGV2ZW50LCBzZWxBZnRlciA9IGRvYy5zZWw7XG4gICAgdmFyIHNvdXJjZSA9IHR5cGUgPT0gXCJ1bmRvXCIgPyBoaXN0LmRvbmUgOiBoaXN0LnVuZG9uZSwgZGVzdCA9IHR5cGUgPT0gXCJ1bmRvXCIgPyBoaXN0LnVuZG9uZSA6IGhpc3QuZG9uZTtcblxuICAgIC8vIFZlcmlmeSB0aGF0IHRoZXJlIGlzIGEgdXNlYWJsZSBldmVudCAoc28gdGhhdCBjdHJsLXogd29uJ3RcbiAgICAvLyBuZWVkbGVzc2x5IGNsZWFyIHNlbGVjdGlvbiBldmVudHMpXG4gICAgdmFyIGkgPSAwO1xuICAgIGZvciAoOyBpIDwgc291cmNlLmxlbmd0aDsgaSsrKSB7XG4gICAgICBldmVudCA9IHNvdXJjZVtpXTtcbiAgICAgIGlmIChhbGxvd1NlbGVjdGlvbk9ubHkgPyBldmVudC5yYW5nZXMgJiYgIWV2ZW50LmVxdWFscyhkb2Muc2VsKSA6ICFldmVudC5yYW5nZXMpXG4gICAgICAgIHsgYnJlYWsgfVxuICAgIH1cbiAgICBpZiAoaSA9PSBzb3VyY2UubGVuZ3RoKSB7IHJldHVybiB9XG4gICAgaGlzdC5sYXN0T3JpZ2luID0gaGlzdC5sYXN0U2VsT3JpZ2luID0gbnVsbDtcblxuICAgIGZvciAoOzspIHtcbiAgICAgIGV2ZW50ID0gc291cmNlLnBvcCgpO1xuICAgICAgaWYgKGV2ZW50LnJhbmdlcykge1xuICAgICAgICBwdXNoU2VsZWN0aW9uVG9IaXN0b3J5KGV2ZW50LCBkZXN0KTtcbiAgICAgICAgaWYgKGFsbG93U2VsZWN0aW9uT25seSAmJiAhZXZlbnQuZXF1YWxzKGRvYy5zZWwpKSB7XG4gICAgICAgICAgc2V0U2VsZWN0aW9uKGRvYywgZXZlbnQsIHtjbGVhclJlZG86IGZhbHNlfSk7XG4gICAgICAgICAgcmV0dXJuXG4gICAgICAgIH1cbiAgICAgICAgc2VsQWZ0ZXIgPSBldmVudDtcbiAgICAgIH0gZWxzZSBpZiAoc3VwcHJlc3MpIHtcbiAgICAgICAgc291cmNlLnB1c2goZXZlbnQpO1xuICAgICAgICByZXR1cm5cbiAgICAgIH0gZWxzZSB7IGJyZWFrIH1cbiAgICB9XG5cbiAgICAvLyBCdWlsZCB1cCBhIHJldmVyc2UgY2hhbmdlIG9iamVjdCB0byBhZGQgdG8gdGhlIG9wcG9zaXRlIGhpc3RvcnlcbiAgICAvLyBzdGFjayAocmVkbyB3aGVuIHVuZG9pbmcsIGFuZCB2aWNlIHZlcnNhKS5cbiAgICB2YXIgYW50aUNoYW5nZXMgPSBbXTtcbiAgICBwdXNoU2VsZWN0aW9uVG9IaXN0b3J5KHNlbEFmdGVyLCBkZXN0KTtcbiAgICBkZXN0LnB1c2goe2NoYW5nZXM6IGFudGlDaGFuZ2VzLCBnZW5lcmF0aW9uOiBoaXN0LmdlbmVyYXRpb259KTtcbiAgICBoaXN0LmdlbmVyYXRpb24gPSBldmVudC5nZW5lcmF0aW9uIHx8ICsraGlzdC5tYXhHZW5lcmF0aW9uO1xuXG4gICAgdmFyIGZpbHRlciA9IGhhc0hhbmRsZXIoZG9jLCBcImJlZm9yZUNoYW5nZVwiKSB8fCBkb2MuY20gJiYgaGFzSGFuZGxlcihkb2MuY20sIFwiYmVmb3JlQ2hhbmdlXCIpO1xuXG4gICAgdmFyIGxvb3AgPSBmdW5jdGlvbiAoIGkgKSB7XG4gICAgICB2YXIgY2hhbmdlID0gZXZlbnQuY2hhbmdlc1tpXTtcbiAgICAgIGNoYW5nZS5vcmlnaW4gPSB0eXBlO1xuICAgICAgaWYgKGZpbHRlciAmJiAhZmlsdGVyQ2hhbmdlKGRvYywgY2hhbmdlLCBmYWxzZSkpIHtcbiAgICAgICAgc291cmNlLmxlbmd0aCA9IDA7XG4gICAgICAgIHJldHVybiB7fVxuICAgICAgfVxuXG4gICAgICBhbnRpQ2hhbmdlcy5wdXNoKGhpc3RvcnlDaGFuZ2VGcm9tQ2hhbmdlKGRvYywgY2hhbmdlKSk7XG5cbiAgICAgIHZhciBhZnRlciA9IGkgPyBjb21wdXRlU2VsQWZ0ZXJDaGFuZ2UoZG9jLCBjaGFuZ2UpIDogbHN0KHNvdXJjZSk7XG4gICAgICBtYWtlQ2hhbmdlU2luZ2xlRG9jKGRvYywgY2hhbmdlLCBhZnRlciwgbWVyZ2VPbGRTcGFucyhkb2MsIGNoYW5nZSkpO1xuICAgICAgaWYgKCFpICYmIGRvYy5jbSkgeyBkb2MuY20uc2Nyb2xsSW50b1ZpZXcoe2Zyb206IGNoYW5nZS5mcm9tLCB0bzogY2hhbmdlRW5kKGNoYW5nZSl9KTsgfVxuICAgICAgdmFyIHJlYmFzZWQgPSBbXTtcblxuICAgICAgLy8gUHJvcGFnYXRlIHRvIHRoZSBsaW5rZWQgZG9jdW1lbnRzXG4gICAgICBsaW5rZWREb2NzKGRvYywgZnVuY3Rpb24gKGRvYywgc2hhcmVkSGlzdCkge1xuICAgICAgICBpZiAoIXNoYXJlZEhpc3QgJiYgaW5kZXhPZihyZWJhc2VkLCBkb2MuaGlzdG9yeSkgPT0gLTEpIHtcbiAgICAgICAgICByZWJhc2VIaXN0KGRvYy5oaXN0b3J5LCBjaGFuZ2UpO1xuICAgICAgICAgIHJlYmFzZWQucHVzaChkb2MuaGlzdG9yeSk7XG4gICAgICAgIH1cbiAgICAgICAgbWFrZUNoYW5nZVNpbmdsZURvYyhkb2MsIGNoYW5nZSwgbnVsbCwgbWVyZ2VPbGRTcGFucyhkb2MsIGNoYW5nZSkpO1xuICAgICAgfSk7XG4gICAgfTtcblxuICAgIGZvciAodmFyIGkkMSA9IGV2ZW50LmNoYW5nZXMubGVuZ3RoIC0gMTsgaSQxID49IDA7IC0taSQxKSB7XG4gICAgICB2YXIgcmV0dXJuZWQgPSBsb29wKCBpJDEgKTtcblxuICAgICAgaWYgKCByZXR1cm5lZCApIHJldHVybiByZXR1cm5lZC52O1xuICAgIH1cbiAgfVxuXG4gIC8vIFN1Yi12aWV3cyBuZWVkIHRoZWlyIGxpbmUgbnVtYmVycyBzaGlmdGVkIHdoZW4gdGV4dCBpcyBhZGRlZFxuICAvLyBhYm92ZSBvciBiZWxvdyB0aGVtIGluIHRoZSBwYXJlbnQgZG9jdW1lbnQuXG4gIGZ1bmN0aW9uIHNoaWZ0RG9jKGRvYywgZGlzdGFuY2UpIHtcbiAgICBpZiAoZGlzdGFuY2UgPT0gMCkgeyByZXR1cm4gfVxuICAgIGRvYy5maXJzdCArPSBkaXN0YW5jZTtcbiAgICBkb2Muc2VsID0gbmV3IFNlbGVjdGlvbihtYXAoZG9jLnNlbC5yYW5nZXMsIGZ1bmN0aW9uIChyYW5nZSkgeyByZXR1cm4gbmV3IFJhbmdlKFxuICAgICAgUG9zKHJhbmdlLmFuY2hvci5saW5lICsgZGlzdGFuY2UsIHJhbmdlLmFuY2hvci5jaCksXG4gICAgICBQb3MocmFuZ2UuaGVhZC5saW5lICsgZGlzdGFuY2UsIHJhbmdlLmhlYWQuY2gpXG4gICAgKTsgfSksIGRvYy5zZWwucHJpbUluZGV4KTtcbiAgICBpZiAoZG9jLmNtKSB7XG4gICAgICByZWdDaGFuZ2UoZG9jLmNtLCBkb2MuZmlyc3QsIGRvYy5maXJzdCAtIGRpc3RhbmNlLCBkaXN0YW5jZSk7XG4gICAgICBmb3IgKHZhciBkID0gZG9jLmNtLmRpc3BsYXksIGwgPSBkLnZpZXdGcm9tOyBsIDwgZC52aWV3VG87IGwrKylcbiAgICAgICAgeyByZWdMaW5lQ2hhbmdlKGRvYy5jbSwgbCwgXCJndXR0ZXJcIik7IH1cbiAgICB9XG4gIH1cblxuICAvLyBNb3JlIGxvd2VyLWxldmVsIGNoYW5nZSBmdW5jdGlvbiwgaGFuZGxpbmcgb25seSBhIHNpbmdsZSBkb2N1bWVudFxuICAvLyAobm90IGxpbmtlZCBvbmVzKS5cbiAgZnVuY3Rpb24gbWFrZUNoYW5nZVNpbmdsZURvYyhkb2MsIGNoYW5nZSwgc2VsQWZ0ZXIsIHNwYW5zKSB7XG4gICAgaWYgKGRvYy5jbSAmJiAhZG9jLmNtLmN1ck9wKVxuICAgICAgeyByZXR1cm4gb3BlcmF0aW9uKGRvYy5jbSwgbWFrZUNoYW5nZVNpbmdsZURvYykoZG9jLCBjaGFuZ2UsIHNlbEFmdGVyLCBzcGFucykgfVxuXG4gICAgaWYgKGNoYW5nZS50by5saW5lIDwgZG9jLmZpcnN0KSB7XG4gICAgICBzaGlmdERvYyhkb2MsIGNoYW5nZS50ZXh0Lmxlbmd0aCAtIDEgLSAoY2hhbmdlLnRvLmxpbmUgLSBjaGFuZ2UuZnJvbS5saW5lKSk7XG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgaWYgKGNoYW5nZS5mcm9tLmxpbmUgPiBkb2MubGFzdExpbmUoKSkgeyByZXR1cm4gfVxuXG4gICAgLy8gQ2xpcCB0aGUgY2hhbmdlIHRvIHRoZSBzaXplIG9mIHRoaXMgZG9jXG4gICAgaWYgKGNoYW5nZS5mcm9tLmxpbmUgPCBkb2MuZmlyc3QpIHtcbiAgICAgIHZhciBzaGlmdCA9IGNoYW5nZS50ZXh0Lmxlbmd0aCAtIDEgLSAoZG9jLmZpcnN0IC0gY2hhbmdlLmZyb20ubGluZSk7XG4gICAgICBzaGlmdERvYyhkb2MsIHNoaWZ0KTtcbiAgICAgIGNoYW5nZSA9IHtmcm9tOiBQb3MoZG9jLmZpcnN0LCAwKSwgdG86IFBvcyhjaGFuZ2UudG8ubGluZSArIHNoaWZ0LCBjaGFuZ2UudG8uY2gpLFxuICAgICAgICAgICAgICAgIHRleHQ6IFtsc3QoY2hhbmdlLnRleHQpXSwgb3JpZ2luOiBjaGFuZ2Uub3JpZ2lufTtcbiAgICB9XG4gICAgdmFyIGxhc3QgPSBkb2MubGFzdExpbmUoKTtcbiAgICBpZiAoY2hhbmdlLnRvLmxpbmUgPiBsYXN0KSB7XG4gICAgICBjaGFuZ2UgPSB7ZnJvbTogY2hhbmdlLmZyb20sIHRvOiBQb3MobGFzdCwgZ2V0TGluZShkb2MsIGxhc3QpLnRleHQubGVuZ3RoKSxcbiAgICAgICAgICAgICAgICB0ZXh0OiBbY2hhbmdlLnRleHRbMF1dLCBvcmlnaW46IGNoYW5nZS5vcmlnaW59O1xuICAgIH1cblxuICAgIGNoYW5nZS5yZW1vdmVkID0gZ2V0QmV0d2Vlbihkb2MsIGNoYW5nZS5mcm9tLCBjaGFuZ2UudG8pO1xuXG4gICAgaWYgKCFzZWxBZnRlcikgeyBzZWxBZnRlciA9IGNvbXB1dGVTZWxBZnRlckNoYW5nZShkb2MsIGNoYW5nZSk7IH1cbiAgICBpZiAoZG9jLmNtKSB7IG1ha2VDaGFuZ2VTaW5nbGVEb2NJbkVkaXRvcihkb2MuY20sIGNoYW5nZSwgc3BhbnMpOyB9XG4gICAgZWxzZSB7IHVwZGF0ZURvYyhkb2MsIGNoYW5nZSwgc3BhbnMpOyB9XG4gICAgc2V0U2VsZWN0aW9uTm9VbmRvKGRvYywgc2VsQWZ0ZXIsIHNlbF9kb250U2Nyb2xsKTtcblxuICAgIGlmIChkb2MuY2FudEVkaXQgJiYgc2tpcEF0b21pYyhkb2MsIFBvcyhkb2MuZmlyc3RMaW5lKCksIDApKSlcbiAgICAgIHsgZG9jLmNhbnRFZGl0ID0gZmFsc2U7IH1cbiAgfVxuXG4gIC8vIEhhbmRsZSB0aGUgaW50ZXJhY3Rpb24gb2YgYSBjaGFuZ2UgdG8gYSBkb2N1bWVudCB3aXRoIHRoZSBlZGl0b3JcbiAgLy8gdGhhdCB0aGlzIGRvY3VtZW50IGlzIHBhcnQgb2YuXG4gIGZ1bmN0aW9uIG1ha2VDaGFuZ2VTaW5nbGVEb2NJbkVkaXRvcihjbSwgY2hhbmdlLCBzcGFucykge1xuICAgIHZhciBkb2MgPSBjbS5kb2MsIGRpc3BsYXkgPSBjbS5kaXNwbGF5LCBmcm9tID0gY2hhbmdlLmZyb20sIHRvID0gY2hhbmdlLnRvO1xuXG4gICAgdmFyIHJlY29tcHV0ZU1heExlbmd0aCA9IGZhbHNlLCBjaGVja1dpZHRoU3RhcnQgPSBmcm9tLmxpbmU7XG4gICAgaWYgKCFjbS5vcHRpb25zLmxpbmVXcmFwcGluZykge1xuICAgICAgY2hlY2tXaWR0aFN0YXJ0ID0gbGluZU5vKHZpc3VhbExpbmUoZ2V0TGluZShkb2MsIGZyb20ubGluZSkpKTtcbiAgICAgIGRvYy5pdGVyKGNoZWNrV2lkdGhTdGFydCwgdG8ubGluZSArIDEsIGZ1bmN0aW9uIChsaW5lKSB7XG4gICAgICAgIGlmIChsaW5lID09IGRpc3BsYXkubWF4TGluZSkge1xuICAgICAgICAgIHJlY29tcHV0ZU1heExlbmd0aCA9IHRydWU7XG4gICAgICAgICAgcmV0dXJuIHRydWVcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKGRvYy5zZWwuY29udGFpbnMoY2hhbmdlLmZyb20sIGNoYW5nZS50bykgPiAtMSlcbiAgICAgIHsgc2lnbmFsQ3Vyc29yQWN0aXZpdHkoY20pOyB9XG5cbiAgICB1cGRhdGVEb2MoZG9jLCBjaGFuZ2UsIHNwYW5zLCBlc3RpbWF0ZUhlaWdodChjbSkpO1xuXG4gICAgaWYgKCFjbS5vcHRpb25zLmxpbmVXcmFwcGluZykge1xuICAgICAgZG9jLml0ZXIoY2hlY2tXaWR0aFN0YXJ0LCBmcm9tLmxpbmUgKyBjaGFuZ2UudGV4dC5sZW5ndGgsIGZ1bmN0aW9uIChsaW5lKSB7XG4gICAgICAgIHZhciBsZW4gPSBsaW5lTGVuZ3RoKGxpbmUpO1xuICAgICAgICBpZiAobGVuID4gZGlzcGxheS5tYXhMaW5lTGVuZ3RoKSB7XG4gICAgICAgICAgZGlzcGxheS5tYXhMaW5lID0gbGluZTtcbiAgICAgICAgICBkaXNwbGF5Lm1heExpbmVMZW5ndGggPSBsZW47XG4gICAgICAgICAgZGlzcGxheS5tYXhMaW5lQ2hhbmdlZCA9IHRydWU7XG4gICAgICAgICAgcmVjb21wdXRlTWF4TGVuZ3RoID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgaWYgKHJlY29tcHV0ZU1heExlbmd0aCkgeyBjbS5jdXJPcC51cGRhdGVNYXhMaW5lID0gdHJ1ZTsgfVxuICAgIH1cblxuICAgIHJldHJlYXRGcm9udGllcihkb2MsIGZyb20ubGluZSk7XG4gICAgc3RhcnRXb3JrZXIoY20sIDQwMCk7XG5cbiAgICB2YXIgbGVuZGlmZiA9IGNoYW5nZS50ZXh0Lmxlbmd0aCAtICh0by5saW5lIC0gZnJvbS5saW5lKSAtIDE7XG4gICAgLy8gUmVtZW1iZXIgdGhhdCB0aGVzZSBsaW5lcyBjaGFuZ2VkLCBmb3IgdXBkYXRpbmcgdGhlIGRpc3BsYXlcbiAgICBpZiAoY2hhbmdlLmZ1bGwpXG4gICAgICB7IHJlZ0NoYW5nZShjbSk7IH1cbiAgICBlbHNlIGlmIChmcm9tLmxpbmUgPT0gdG8ubGluZSAmJiBjaGFuZ2UudGV4dC5sZW5ndGggPT0gMSAmJiAhaXNXaG9sZUxpbmVVcGRhdGUoY20uZG9jLCBjaGFuZ2UpKVxuICAgICAgeyByZWdMaW5lQ2hhbmdlKGNtLCBmcm9tLmxpbmUsIFwidGV4dFwiKTsgfVxuICAgIGVsc2VcbiAgICAgIHsgcmVnQ2hhbmdlKGNtLCBmcm9tLmxpbmUsIHRvLmxpbmUgKyAxLCBsZW5kaWZmKTsgfVxuXG4gICAgdmFyIGNoYW5nZXNIYW5kbGVyID0gaGFzSGFuZGxlcihjbSwgXCJjaGFuZ2VzXCIpLCBjaGFuZ2VIYW5kbGVyID0gaGFzSGFuZGxlcihjbSwgXCJjaGFuZ2VcIik7XG4gICAgaWYgKGNoYW5nZUhhbmRsZXIgfHwgY2hhbmdlc0hhbmRsZXIpIHtcbiAgICAgIHZhciBvYmogPSB7XG4gICAgICAgIGZyb206IGZyb20sIHRvOiB0byxcbiAgICAgICAgdGV4dDogY2hhbmdlLnRleHQsXG4gICAgICAgIHJlbW92ZWQ6IGNoYW5nZS5yZW1vdmVkLFxuICAgICAgICBvcmlnaW46IGNoYW5nZS5vcmlnaW5cbiAgICAgIH07XG4gICAgICBpZiAoY2hhbmdlSGFuZGxlcikgeyBzaWduYWxMYXRlcihjbSwgXCJjaGFuZ2VcIiwgY20sIG9iaik7IH1cbiAgICAgIGlmIChjaGFuZ2VzSGFuZGxlcikgeyAoY20uY3VyT3AuY2hhbmdlT2JqcyB8fCAoY20uY3VyT3AuY2hhbmdlT2JqcyA9IFtdKSkucHVzaChvYmopOyB9XG4gICAgfVxuICAgIGNtLmRpc3BsYXkuc2VsRm9yQ29udGV4dE1lbnUgPSBudWxsO1xuICB9XG5cbiAgZnVuY3Rpb24gcmVwbGFjZVJhbmdlKGRvYywgY29kZSwgZnJvbSwgdG8sIG9yaWdpbikge1xuICAgIHZhciBhc3NpZ247XG5cbiAgICBpZiAoIXRvKSB7IHRvID0gZnJvbTsgfVxuICAgIGlmIChjbXAodG8sIGZyb20pIDwgMCkgeyAoYXNzaWduID0gW3RvLCBmcm9tXSwgZnJvbSA9IGFzc2lnblswXSwgdG8gPSBhc3NpZ25bMV0pOyB9XG4gICAgaWYgKHR5cGVvZiBjb2RlID09IFwic3RyaW5nXCIpIHsgY29kZSA9IGRvYy5zcGxpdExpbmVzKGNvZGUpOyB9XG4gICAgbWFrZUNoYW5nZShkb2MsIHtmcm9tOiBmcm9tLCB0bzogdG8sIHRleHQ6IGNvZGUsIG9yaWdpbjogb3JpZ2lufSk7XG4gIH1cblxuICAvLyBSZWJhc2luZy9yZXNldHRpbmcgaGlzdG9yeSB0byBkZWFsIHdpdGggZXh0ZXJuYWxseS1zb3VyY2VkIGNoYW5nZXNcblxuICBmdW5jdGlvbiByZWJhc2VIaXN0U2VsU2luZ2xlKHBvcywgZnJvbSwgdG8sIGRpZmYpIHtcbiAgICBpZiAodG8gPCBwb3MubGluZSkge1xuICAgICAgcG9zLmxpbmUgKz0gZGlmZjtcbiAgICB9IGVsc2UgaWYgKGZyb20gPCBwb3MubGluZSkge1xuICAgICAgcG9zLmxpbmUgPSBmcm9tO1xuICAgICAgcG9zLmNoID0gMDtcbiAgICB9XG4gIH1cblxuICAvLyBUcmllcyB0byByZWJhc2UgYW4gYXJyYXkgb2YgaGlzdG9yeSBldmVudHMgZ2l2ZW4gYSBjaGFuZ2UgaW4gdGhlXG4gIC8vIGRvY3VtZW50LiBJZiB0aGUgY2hhbmdlIHRvdWNoZXMgdGhlIHNhbWUgbGluZXMgYXMgdGhlIGV2ZW50LCB0aGVcbiAgLy8gZXZlbnQsIGFuZCBldmVyeXRoaW5nICdiZWhpbmQnIGl0LCBpcyBkaXNjYXJkZWQuIElmIHRoZSBjaGFuZ2UgaXNcbiAgLy8gYmVmb3JlIHRoZSBldmVudCwgdGhlIGV2ZW50J3MgcG9zaXRpb25zIGFyZSB1cGRhdGVkLiBVc2VzIGFcbiAgLy8gY29weS1vbi13cml0ZSBzY2hlbWUgZm9yIHRoZSBwb3NpdGlvbnMsIHRvIGF2b2lkIGhhdmluZyB0b1xuICAvLyByZWFsbG9jYXRlIHRoZW0gYWxsIG9uIGV2ZXJ5IHJlYmFzZSwgYnV0IGFsc28gYXZvaWQgcHJvYmxlbXMgd2l0aFxuICAvLyBzaGFyZWQgcG9zaXRpb24gb2JqZWN0cyBiZWluZyB1bnNhZmVseSB1cGRhdGVkLlxuICBmdW5jdGlvbiByZWJhc2VIaXN0QXJyYXkoYXJyYXksIGZyb20sIHRvLCBkaWZmKSB7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBhcnJheS5sZW5ndGg7ICsraSkge1xuICAgICAgdmFyIHN1YiA9IGFycmF5W2ldLCBvayA9IHRydWU7XG4gICAgICBpZiAoc3ViLnJhbmdlcykge1xuICAgICAgICBpZiAoIXN1Yi5jb3BpZWQpIHsgc3ViID0gYXJyYXlbaV0gPSBzdWIuZGVlcENvcHkoKTsgc3ViLmNvcGllZCA9IHRydWU7IH1cbiAgICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCBzdWIucmFuZ2VzLmxlbmd0aDsgaisrKSB7XG4gICAgICAgICAgcmViYXNlSGlzdFNlbFNpbmdsZShzdWIucmFuZ2VzW2pdLmFuY2hvciwgZnJvbSwgdG8sIGRpZmYpO1xuICAgICAgICAgIHJlYmFzZUhpc3RTZWxTaW5nbGUoc3ViLnJhbmdlc1tqXS5oZWFkLCBmcm9tLCB0bywgZGlmZik7XG4gICAgICAgIH1cbiAgICAgICAgY29udGludWVcbiAgICAgIH1cbiAgICAgIGZvciAodmFyIGokMSA9IDA7IGokMSA8IHN1Yi5jaGFuZ2VzLmxlbmd0aDsgKytqJDEpIHtcbiAgICAgICAgdmFyIGN1ciA9IHN1Yi5jaGFuZ2VzW2okMV07XG4gICAgICAgIGlmICh0byA8IGN1ci5mcm9tLmxpbmUpIHtcbiAgICAgICAgICBjdXIuZnJvbSA9IFBvcyhjdXIuZnJvbS5saW5lICsgZGlmZiwgY3VyLmZyb20uY2gpO1xuICAgICAgICAgIGN1ci50byA9IFBvcyhjdXIudG8ubGluZSArIGRpZmYsIGN1ci50by5jaCk7XG4gICAgICAgIH0gZWxzZSBpZiAoZnJvbSA8PSBjdXIudG8ubGluZSkge1xuICAgICAgICAgIG9rID0gZmFsc2U7XG4gICAgICAgICAgYnJlYWtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKCFvaykge1xuICAgICAgICBhcnJheS5zcGxpY2UoMCwgaSArIDEpO1xuICAgICAgICBpID0gMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiByZWJhc2VIaXN0KGhpc3QsIGNoYW5nZSkge1xuICAgIHZhciBmcm9tID0gY2hhbmdlLmZyb20ubGluZSwgdG8gPSBjaGFuZ2UudG8ubGluZSwgZGlmZiA9IGNoYW5nZS50ZXh0Lmxlbmd0aCAtICh0byAtIGZyb20pIC0gMTtcbiAgICByZWJhc2VIaXN0QXJyYXkoaGlzdC5kb25lLCBmcm9tLCB0bywgZGlmZik7XG4gICAgcmViYXNlSGlzdEFycmF5KGhpc3QudW5kb25lLCBmcm9tLCB0bywgZGlmZik7XG4gIH1cblxuICAvLyBVdGlsaXR5IGZvciBhcHBseWluZyBhIGNoYW5nZSB0byBhIGxpbmUgYnkgaGFuZGxlIG9yIG51bWJlcixcbiAgLy8gcmV0dXJuaW5nIHRoZSBudW1iZXIgYW5kIG9wdGlvbmFsbHkgcmVnaXN0ZXJpbmcgdGhlIGxpbmUgYXNcbiAgLy8gY2hhbmdlZC5cbiAgZnVuY3Rpb24gY2hhbmdlTGluZShkb2MsIGhhbmRsZSwgY2hhbmdlVHlwZSwgb3ApIHtcbiAgICB2YXIgbm8gPSBoYW5kbGUsIGxpbmUgPSBoYW5kbGU7XG4gICAgaWYgKHR5cGVvZiBoYW5kbGUgPT0gXCJudW1iZXJcIikgeyBsaW5lID0gZ2V0TGluZShkb2MsIGNsaXBMaW5lKGRvYywgaGFuZGxlKSk7IH1cbiAgICBlbHNlIHsgbm8gPSBsaW5lTm8oaGFuZGxlKTsgfVxuICAgIGlmIChubyA9PSBudWxsKSB7IHJldHVybiBudWxsIH1cbiAgICBpZiAob3AobGluZSwgbm8pICYmIGRvYy5jbSkgeyByZWdMaW5lQ2hhbmdlKGRvYy5jbSwgbm8sIGNoYW5nZVR5cGUpOyB9XG4gICAgcmV0dXJuIGxpbmVcbiAgfVxuXG4gIC8vIFRoZSBkb2N1bWVudCBpcyByZXByZXNlbnRlZCBhcyBhIEJUcmVlIGNvbnNpc3Rpbmcgb2YgbGVhdmVzLCB3aXRoXG4gIC8vIGNodW5rIG9mIGxpbmVzIGluIHRoZW0sIGFuZCBicmFuY2hlcywgd2l0aCB1cCB0byB0ZW4gbGVhdmVzIG9yXG4gIC8vIG90aGVyIGJyYW5jaCBub2RlcyBiZWxvdyB0aGVtLiBUaGUgdG9wIG5vZGUgaXMgYWx3YXlzIGEgYnJhbmNoXG4gIC8vIG5vZGUsIGFuZCBpcyB0aGUgZG9jdW1lbnQgb2JqZWN0IGl0c2VsZiAobWVhbmluZyBpdCBoYXNcbiAgLy8gYWRkaXRpb25hbCBtZXRob2RzIGFuZCBwcm9wZXJ0aWVzKS5cbiAgLy9cbiAgLy8gQWxsIG5vZGVzIGhhdmUgcGFyZW50IGxpbmtzLiBUaGUgdHJlZSBpcyB1c2VkIGJvdGggdG8gZ28gZnJvbVxuICAvLyBsaW5lIG51bWJlcnMgdG8gbGluZSBvYmplY3RzLCBhbmQgdG8gZ28gZnJvbSBvYmplY3RzIHRvIG51bWJlcnMuXG4gIC8vIEl0IGFsc28gaW5kZXhlcyBieSBoZWlnaHQsIGFuZCBpcyB1c2VkIHRvIGNvbnZlcnQgYmV0d2VlbiBoZWlnaHRcbiAgLy8gYW5kIGxpbmUgb2JqZWN0LCBhbmQgdG8gZmluZCB0aGUgdG90YWwgaGVpZ2h0IG9mIHRoZSBkb2N1bWVudC5cbiAgLy9cbiAgLy8gU2VlIGFsc28gaHR0cDovL21hcmlqbmhhdmVyYmVrZS5ubC9ibG9nL2NvZGVtaXJyb3ItbGluZS10cmVlLmh0bWxcblxuICBmdW5jdGlvbiBMZWFmQ2h1bmsobGluZXMpIHtcbiAgICB2YXIgdGhpcyQxID0gdGhpcztcblxuICAgIHRoaXMubGluZXMgPSBsaW5lcztcbiAgICB0aGlzLnBhcmVudCA9IG51bGw7XG4gICAgdmFyIGhlaWdodCA9IDA7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsaW5lcy5sZW5ndGg7ICsraSkge1xuICAgICAgbGluZXNbaV0ucGFyZW50ID0gdGhpcyQxO1xuICAgICAgaGVpZ2h0ICs9IGxpbmVzW2ldLmhlaWdodDtcbiAgICB9XG4gICAgdGhpcy5oZWlnaHQgPSBoZWlnaHQ7XG4gIH1cblxuICBMZWFmQ2h1bmsucHJvdG90eXBlID0ge1xuICAgIGNodW5rU2l6ZTogZnVuY3Rpb24oKSB7IHJldHVybiB0aGlzLmxpbmVzLmxlbmd0aCB9LFxuXG4gICAgLy8gUmVtb3ZlIHRoZSBuIGxpbmVzIGF0IG9mZnNldCAnYXQnLlxuICAgIHJlbW92ZUlubmVyOiBmdW5jdGlvbihhdCwgbikge1xuICAgICAgdmFyIHRoaXMkMSA9IHRoaXM7XG5cbiAgICAgIGZvciAodmFyIGkgPSBhdCwgZSA9IGF0ICsgbjsgaSA8IGU7ICsraSkge1xuICAgICAgICB2YXIgbGluZSA9IHRoaXMkMS5saW5lc1tpXTtcbiAgICAgICAgdGhpcyQxLmhlaWdodCAtPSBsaW5lLmhlaWdodDtcbiAgICAgICAgY2xlYW5VcExpbmUobGluZSk7XG4gICAgICAgIHNpZ25hbExhdGVyKGxpbmUsIFwiZGVsZXRlXCIpO1xuICAgICAgfVxuICAgICAgdGhpcy5saW5lcy5zcGxpY2UoYXQsIG4pO1xuICAgIH0sXG5cbiAgICAvLyBIZWxwZXIgdXNlZCB0byBjb2xsYXBzZSBhIHNtYWxsIGJyYW5jaCBpbnRvIGEgc2luZ2xlIGxlYWYuXG4gICAgY29sbGFwc2U6IGZ1bmN0aW9uKGxpbmVzKSB7XG4gICAgICBsaW5lcy5wdXNoLmFwcGx5KGxpbmVzLCB0aGlzLmxpbmVzKTtcbiAgICB9LFxuXG4gICAgLy8gSW5zZXJ0IHRoZSBnaXZlbiBhcnJheSBvZiBsaW5lcyBhdCBvZmZzZXQgJ2F0JywgY291bnQgdGhlbSBhc1xuICAgIC8vIGhhdmluZyB0aGUgZ2l2ZW4gaGVpZ2h0LlxuICAgIGluc2VydElubmVyOiBmdW5jdGlvbihhdCwgbGluZXMsIGhlaWdodCkge1xuICAgICAgdmFyIHRoaXMkMSA9IHRoaXM7XG5cbiAgICAgIHRoaXMuaGVpZ2h0ICs9IGhlaWdodDtcbiAgICAgIHRoaXMubGluZXMgPSB0aGlzLmxpbmVzLnNsaWNlKDAsIGF0KS5jb25jYXQobGluZXMpLmNvbmNhdCh0aGlzLmxpbmVzLnNsaWNlKGF0KSk7XG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxpbmVzLmxlbmd0aDsgKytpKSB7IGxpbmVzW2ldLnBhcmVudCA9IHRoaXMkMTsgfVxuICAgIH0sXG5cbiAgICAvLyBVc2VkIHRvIGl0ZXJhdGUgb3ZlciBhIHBhcnQgb2YgdGhlIHRyZWUuXG4gICAgaXRlck46IGZ1bmN0aW9uKGF0LCBuLCBvcCkge1xuICAgICAgdmFyIHRoaXMkMSA9IHRoaXM7XG5cbiAgICAgIGZvciAodmFyIGUgPSBhdCArIG47IGF0IDwgZTsgKythdClcbiAgICAgICAgeyBpZiAob3AodGhpcyQxLmxpbmVzW2F0XSkpIHsgcmV0dXJuIHRydWUgfSB9XG4gICAgfVxuICB9O1xuXG4gIGZ1bmN0aW9uIEJyYW5jaENodW5rKGNoaWxkcmVuKSB7XG4gICAgdmFyIHRoaXMkMSA9IHRoaXM7XG5cbiAgICB0aGlzLmNoaWxkcmVuID0gY2hpbGRyZW47XG4gICAgdmFyIHNpemUgPSAwLCBoZWlnaHQgPSAwO1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgY2hpbGRyZW4ubGVuZ3RoOyArK2kpIHtcbiAgICAgIHZhciBjaCA9IGNoaWxkcmVuW2ldO1xuICAgICAgc2l6ZSArPSBjaC5jaHVua1NpemUoKTsgaGVpZ2h0ICs9IGNoLmhlaWdodDtcbiAgICAgIGNoLnBhcmVudCA9IHRoaXMkMTtcbiAgICB9XG4gICAgdGhpcy5zaXplID0gc2l6ZTtcbiAgICB0aGlzLmhlaWdodCA9IGhlaWdodDtcbiAgICB0aGlzLnBhcmVudCA9IG51bGw7XG4gIH1cblxuICBCcmFuY2hDaHVuay5wcm90b3R5cGUgPSB7XG4gICAgY2h1bmtTaXplOiBmdW5jdGlvbigpIHsgcmV0dXJuIHRoaXMuc2l6ZSB9LFxuXG4gICAgcmVtb3ZlSW5uZXI6IGZ1bmN0aW9uKGF0LCBuKSB7XG4gICAgICB2YXIgdGhpcyQxID0gdGhpcztcblxuICAgICAgdGhpcy5zaXplIC09IG47XG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuY2hpbGRyZW4ubGVuZ3RoOyArK2kpIHtcbiAgICAgICAgdmFyIGNoaWxkID0gdGhpcyQxLmNoaWxkcmVuW2ldLCBzeiA9IGNoaWxkLmNodW5rU2l6ZSgpO1xuICAgICAgICBpZiAoYXQgPCBzeikge1xuICAgICAgICAgIHZhciBybSA9IE1hdGgubWluKG4sIHN6IC0gYXQpLCBvbGRIZWlnaHQgPSBjaGlsZC5oZWlnaHQ7XG4gICAgICAgICAgY2hpbGQucmVtb3ZlSW5uZXIoYXQsIHJtKTtcbiAgICAgICAgICB0aGlzJDEuaGVpZ2h0IC09IG9sZEhlaWdodCAtIGNoaWxkLmhlaWdodDtcbiAgICAgICAgICBpZiAoc3ogPT0gcm0pIHsgdGhpcyQxLmNoaWxkcmVuLnNwbGljZShpLS0sIDEpOyBjaGlsZC5wYXJlbnQgPSBudWxsOyB9XG4gICAgICAgICAgaWYgKChuIC09IHJtKSA9PSAwKSB7IGJyZWFrIH1cbiAgICAgICAgICBhdCA9IDA7XG4gICAgICAgIH0gZWxzZSB7IGF0IC09IHN6OyB9XG4gICAgICB9XG4gICAgICAvLyBJZiB0aGUgcmVzdWx0IGlzIHNtYWxsZXIgdGhhbiAyNSBsaW5lcywgZW5zdXJlIHRoYXQgaXQgaXMgYVxuICAgICAgLy8gc2luZ2xlIGxlYWYgbm9kZS5cbiAgICAgIGlmICh0aGlzLnNpemUgLSBuIDwgMjUgJiZcbiAgICAgICAgICAodGhpcy5jaGlsZHJlbi5sZW5ndGggPiAxIHx8ICEodGhpcy5jaGlsZHJlblswXSBpbnN0YW5jZW9mIExlYWZDaHVuaykpKSB7XG4gICAgICAgIHZhciBsaW5lcyA9IFtdO1xuICAgICAgICB0aGlzLmNvbGxhcHNlKGxpbmVzKTtcbiAgICAgICAgdGhpcy5jaGlsZHJlbiA9IFtuZXcgTGVhZkNodW5rKGxpbmVzKV07XG4gICAgICAgIHRoaXMuY2hpbGRyZW5bMF0ucGFyZW50ID0gdGhpcztcbiAgICAgIH1cbiAgICB9LFxuXG4gICAgY29sbGFwc2U6IGZ1bmN0aW9uKGxpbmVzKSB7XG4gICAgICB2YXIgdGhpcyQxID0gdGhpcztcblxuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmNoaWxkcmVuLmxlbmd0aDsgKytpKSB7IHRoaXMkMS5jaGlsZHJlbltpXS5jb2xsYXBzZShsaW5lcyk7IH1cbiAgICB9LFxuXG4gICAgaW5zZXJ0SW5uZXI6IGZ1bmN0aW9uKGF0LCBsaW5lcywgaGVpZ2h0KSB7XG4gICAgICB2YXIgdGhpcyQxID0gdGhpcztcblxuICAgICAgdGhpcy5zaXplICs9IGxpbmVzLmxlbmd0aDtcbiAgICAgIHRoaXMuaGVpZ2h0ICs9IGhlaWdodDtcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5jaGlsZHJlbi5sZW5ndGg7ICsraSkge1xuICAgICAgICB2YXIgY2hpbGQgPSB0aGlzJDEuY2hpbGRyZW5baV0sIHN6ID0gY2hpbGQuY2h1bmtTaXplKCk7XG4gICAgICAgIGlmIChhdCA8PSBzeikge1xuICAgICAgICAgIGNoaWxkLmluc2VydElubmVyKGF0LCBsaW5lcywgaGVpZ2h0KTtcbiAgICAgICAgICBpZiAoY2hpbGQubGluZXMgJiYgY2hpbGQubGluZXMubGVuZ3RoID4gNTApIHtcbiAgICAgICAgICAgIC8vIFRvIGF2b2lkIG1lbW9yeSB0aHJhc2hpbmcgd2hlbiBjaGlsZC5saW5lcyBpcyBodWdlIChlLmcuIGZpcnN0IHZpZXcgb2YgYSBsYXJnZSBmaWxlKSwgaXQncyBuZXZlciBzcGxpY2VkLlxuICAgICAgICAgICAgLy8gSW5zdGVhZCwgc21hbGwgc2xpY2VzIGFyZSB0YWtlbi4gVGhleSdyZSB0YWtlbiBpbiBvcmRlciBiZWNhdXNlIHNlcXVlbnRpYWwgbWVtb3J5IGFjY2Vzc2VzIGFyZSBmYXN0ZXN0LlxuICAgICAgICAgICAgdmFyIHJlbWFpbmluZyA9IGNoaWxkLmxpbmVzLmxlbmd0aCAlIDI1ICsgMjU7XG4gICAgICAgICAgICBmb3IgKHZhciBwb3MgPSByZW1haW5pbmc7IHBvcyA8IGNoaWxkLmxpbmVzLmxlbmd0aDspIHtcbiAgICAgICAgICAgICAgdmFyIGxlYWYgPSBuZXcgTGVhZkNodW5rKGNoaWxkLmxpbmVzLnNsaWNlKHBvcywgcG9zICs9IDI1KSk7XG4gICAgICAgICAgICAgIGNoaWxkLmhlaWdodCAtPSBsZWFmLmhlaWdodDtcbiAgICAgICAgICAgICAgdGhpcyQxLmNoaWxkcmVuLnNwbGljZSgrK2ksIDAsIGxlYWYpO1xuICAgICAgICAgICAgICBsZWFmLnBhcmVudCA9IHRoaXMkMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNoaWxkLmxpbmVzID0gY2hpbGQubGluZXMuc2xpY2UoMCwgcmVtYWluaW5nKTtcbiAgICAgICAgICAgIHRoaXMkMS5tYXliZVNwaWxsKCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGJyZWFrXG4gICAgICAgIH1cbiAgICAgICAgYXQgLT0gc3o7XG4gICAgICB9XG4gICAgfSxcblxuICAgIC8vIFdoZW4gYSBub2RlIGhhcyBncm93biwgY2hlY2sgd2hldGhlciBpdCBzaG91bGQgYmUgc3BsaXQuXG4gICAgbWF5YmVTcGlsbDogZnVuY3Rpb24oKSB7XG4gICAgICBpZiAodGhpcy5jaGlsZHJlbi5sZW5ndGggPD0gMTApIHsgcmV0dXJuIH1cbiAgICAgIHZhciBtZSA9IHRoaXM7XG4gICAgICBkbyB7XG4gICAgICAgIHZhciBzcGlsbGVkID0gbWUuY2hpbGRyZW4uc3BsaWNlKG1lLmNoaWxkcmVuLmxlbmd0aCAtIDUsIDUpO1xuICAgICAgICB2YXIgc2libGluZyA9IG5ldyBCcmFuY2hDaHVuayhzcGlsbGVkKTtcbiAgICAgICAgaWYgKCFtZS5wYXJlbnQpIHsgLy8gQmVjb21lIHRoZSBwYXJlbnQgbm9kZVxuICAgICAgICAgIHZhciBjb3B5ID0gbmV3IEJyYW5jaENodW5rKG1lLmNoaWxkcmVuKTtcbiAgICAgICAgICBjb3B5LnBhcmVudCA9IG1lO1xuICAgICAgICAgIG1lLmNoaWxkcmVuID0gW2NvcHksIHNpYmxpbmddO1xuICAgICAgICAgIG1lID0gY29weTtcbiAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIG1lLnNpemUgLT0gc2libGluZy5zaXplO1xuICAgICAgICAgIG1lLmhlaWdodCAtPSBzaWJsaW5nLmhlaWdodDtcbiAgICAgICAgICB2YXIgbXlJbmRleCA9IGluZGV4T2YobWUucGFyZW50LmNoaWxkcmVuLCBtZSk7XG4gICAgICAgICAgbWUucGFyZW50LmNoaWxkcmVuLnNwbGljZShteUluZGV4ICsgMSwgMCwgc2libGluZyk7XG4gICAgICAgIH1cbiAgICAgICAgc2libGluZy5wYXJlbnQgPSBtZS5wYXJlbnQ7XG4gICAgICB9IHdoaWxlIChtZS5jaGlsZHJlbi5sZW5ndGggPiAxMClcbiAgICAgIG1lLnBhcmVudC5tYXliZVNwaWxsKCk7XG4gICAgfSxcblxuICAgIGl0ZXJOOiBmdW5jdGlvbihhdCwgbiwgb3ApIHtcbiAgICAgIHZhciB0aGlzJDEgPSB0aGlzO1xuXG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuY2hpbGRyZW4ubGVuZ3RoOyArK2kpIHtcbiAgICAgICAgdmFyIGNoaWxkID0gdGhpcyQxLmNoaWxkcmVuW2ldLCBzeiA9IGNoaWxkLmNodW5rU2l6ZSgpO1xuICAgICAgICBpZiAoYXQgPCBzeikge1xuICAgICAgICAgIHZhciB1c2VkID0gTWF0aC5taW4obiwgc3ogLSBhdCk7XG4gICAgICAgICAgaWYgKGNoaWxkLml0ZXJOKGF0LCB1c2VkLCBvcCkpIHsgcmV0dXJuIHRydWUgfVxuICAgICAgICAgIGlmICgobiAtPSB1c2VkKSA9PSAwKSB7IGJyZWFrIH1cbiAgICAgICAgICBhdCA9IDA7XG4gICAgICAgIH0gZWxzZSB7IGF0IC09IHN6OyB9XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIC8vIExpbmUgd2lkZ2V0cyBhcmUgYmxvY2sgZWxlbWVudHMgZGlzcGxheWVkIGFib3ZlIG9yIGJlbG93IGEgbGluZS5cblxuICB2YXIgTGluZVdpZGdldCA9IGZ1bmN0aW9uKGRvYywgbm9kZSwgb3B0aW9ucykge1xuICAgIHZhciB0aGlzJDEgPSB0aGlzO1xuXG4gICAgaWYgKG9wdGlvbnMpIHsgZm9yICh2YXIgb3B0IGluIG9wdGlvbnMpIHsgaWYgKG9wdGlvbnMuaGFzT3duUHJvcGVydHkob3B0KSlcbiAgICAgIHsgdGhpcyQxW29wdF0gPSBvcHRpb25zW29wdF07IH0gfSB9XG4gICAgdGhpcy5kb2MgPSBkb2M7XG4gICAgdGhpcy5ub2RlID0gbm9kZTtcbiAgfTtcblxuICBMaW5lV2lkZ2V0LnByb3RvdHlwZS5jbGVhciA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIHZhciB0aGlzJDEgPSB0aGlzO1xuXG4gICAgdmFyIGNtID0gdGhpcy5kb2MuY20sIHdzID0gdGhpcy5saW5lLndpZGdldHMsIGxpbmUgPSB0aGlzLmxpbmUsIG5vID0gbGluZU5vKGxpbmUpO1xuICAgIGlmIChubyA9PSBudWxsIHx8ICF3cykgeyByZXR1cm4gfVxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgd3MubGVuZ3RoOyArK2kpIHsgaWYgKHdzW2ldID09IHRoaXMkMSkgeyB3cy5zcGxpY2UoaS0tLCAxKTsgfSB9XG4gICAgaWYgKCF3cy5sZW5ndGgpIHsgbGluZS53aWRnZXRzID0gbnVsbDsgfVxuICAgIHZhciBoZWlnaHQgPSB3aWRnZXRIZWlnaHQodGhpcyk7XG4gICAgdXBkYXRlTGluZUhlaWdodChsaW5lLCBNYXRoLm1heCgwLCBsaW5lLmhlaWdodCAtIGhlaWdodCkpO1xuICAgIGlmIChjbSkge1xuICAgICAgcnVuSW5PcChjbSwgZnVuY3Rpb24gKCkge1xuICAgICAgICBhZGp1c3RTY3JvbGxXaGVuQWJvdmVWaXNpYmxlKGNtLCBsaW5lLCAtaGVpZ2h0KTtcbiAgICAgICAgcmVnTGluZUNoYW5nZShjbSwgbm8sIFwid2lkZ2V0XCIpO1xuICAgICAgfSk7XG4gICAgICBzaWduYWxMYXRlcihjbSwgXCJsaW5lV2lkZ2V0Q2xlYXJlZFwiLCBjbSwgdGhpcywgbm8pO1xuICAgIH1cbiAgfTtcblxuICBMaW5lV2lkZ2V0LnByb3RvdHlwZS5jaGFuZ2VkID0gZnVuY3Rpb24gKCkge1xuICAgICAgdmFyIHRoaXMkMSA9IHRoaXM7XG5cbiAgICB2YXIgb2xkSCA9IHRoaXMuaGVpZ2h0LCBjbSA9IHRoaXMuZG9jLmNtLCBsaW5lID0gdGhpcy5saW5lO1xuICAgIHRoaXMuaGVpZ2h0ID0gbnVsbDtcbiAgICB2YXIgZGlmZiA9IHdpZGdldEhlaWdodCh0aGlzKSAtIG9sZEg7XG4gICAgaWYgKCFkaWZmKSB7IHJldHVybiB9XG4gICAgaWYgKCFsaW5lSXNIaWRkZW4odGhpcy5kb2MsIGxpbmUpKSB7IHVwZGF0ZUxpbmVIZWlnaHQobGluZSwgbGluZS5oZWlnaHQgKyBkaWZmKTsgfVxuICAgIGlmIChjbSkge1xuICAgICAgcnVuSW5PcChjbSwgZnVuY3Rpb24gKCkge1xuICAgICAgICBjbS5jdXJPcC5mb3JjZVVwZGF0ZSA9IHRydWU7XG4gICAgICAgIGFkanVzdFNjcm9sbFdoZW5BYm92ZVZpc2libGUoY20sIGxpbmUsIGRpZmYpO1xuICAgICAgICBzaWduYWxMYXRlcihjbSwgXCJsaW5lV2lkZ2V0Q2hhbmdlZFwiLCBjbSwgdGhpcyQxLCBsaW5lTm8obGluZSkpO1xuICAgICAgfSk7XG4gICAgfVxuICB9O1xuICBldmVudE1peGluKExpbmVXaWRnZXQpO1xuXG4gIGZ1bmN0aW9uIGFkanVzdFNjcm9sbFdoZW5BYm92ZVZpc2libGUoY20sIGxpbmUsIGRpZmYpIHtcbiAgICBpZiAoaGVpZ2h0QXRMaW5lKGxpbmUpIDwgKChjbS5jdXJPcCAmJiBjbS5jdXJPcC5zY3JvbGxUb3ApIHx8IGNtLmRvYy5zY3JvbGxUb3ApKVxuICAgICAgeyBhZGRUb1Njcm9sbFRvcChjbSwgZGlmZik7IH1cbiAgfVxuXG4gIGZ1bmN0aW9uIGFkZExpbmVXaWRnZXQoZG9jLCBoYW5kbGUsIG5vZGUsIG9wdGlvbnMpIHtcbiAgICB2YXIgd2lkZ2V0ID0gbmV3IExpbmVXaWRnZXQoZG9jLCBub2RlLCBvcHRpb25zKTtcbiAgICB2YXIgY20gPSBkb2MuY207XG4gICAgaWYgKGNtICYmIHdpZGdldC5ub0hTY3JvbGwpIHsgY20uZGlzcGxheS5hbGlnbldpZGdldHMgPSB0cnVlOyB9XG4gICAgY2hhbmdlTGluZShkb2MsIGhhbmRsZSwgXCJ3aWRnZXRcIiwgZnVuY3Rpb24gKGxpbmUpIHtcbiAgICAgIHZhciB3aWRnZXRzID0gbGluZS53aWRnZXRzIHx8IChsaW5lLndpZGdldHMgPSBbXSk7XG4gICAgICBpZiAod2lkZ2V0Lmluc2VydEF0ID09IG51bGwpIHsgd2lkZ2V0cy5wdXNoKHdpZGdldCk7IH1cbiAgICAgIGVsc2UgeyB3aWRnZXRzLnNwbGljZShNYXRoLm1pbih3aWRnZXRzLmxlbmd0aCAtIDEsIE1hdGgubWF4KDAsIHdpZGdldC5pbnNlcnRBdCkpLCAwLCB3aWRnZXQpOyB9XG4gICAgICB3aWRnZXQubGluZSA9IGxpbmU7XG4gICAgICBpZiAoY20gJiYgIWxpbmVJc0hpZGRlbihkb2MsIGxpbmUpKSB7XG4gICAgICAgIHZhciBhYm92ZVZpc2libGUgPSBoZWlnaHRBdExpbmUobGluZSkgPCBkb2Muc2Nyb2xsVG9wO1xuICAgICAgICB1cGRhdGVMaW5lSGVpZ2h0KGxpbmUsIGxpbmUuaGVpZ2h0ICsgd2lkZ2V0SGVpZ2h0KHdpZGdldCkpO1xuICAgICAgICBpZiAoYWJvdmVWaXNpYmxlKSB7IGFkZFRvU2Nyb2xsVG9wKGNtLCB3aWRnZXQuaGVpZ2h0KTsgfVxuICAgICAgICBjbS5jdXJPcC5mb3JjZVVwZGF0ZSA9IHRydWU7XG4gICAgICB9XG4gICAgICByZXR1cm4gdHJ1ZVxuICAgIH0pO1xuICAgIGlmIChjbSkgeyBzaWduYWxMYXRlcihjbSwgXCJsaW5lV2lkZ2V0QWRkZWRcIiwgY20sIHdpZGdldCwgdHlwZW9mIGhhbmRsZSA9PSBcIm51bWJlclwiID8gaGFuZGxlIDogbGluZU5vKGhhbmRsZSkpOyB9XG4gICAgcmV0dXJuIHdpZGdldFxuICB9XG5cbiAgLy8gVEVYVE1BUktFUlNcblxuICAvLyBDcmVhdGVkIHdpdGggbWFya1RleHQgYW5kIHNldEJvb2ttYXJrIG1ldGhvZHMuIEEgVGV4dE1hcmtlciBpcyBhXG4gIC8vIGhhbmRsZSB0aGF0IGNhbiBiZSB1c2VkIHRvIGNsZWFyIG9yIGZpbmQgYSBtYXJrZWQgcG9zaXRpb24gaW4gdGhlXG4gIC8vIGRvY3VtZW50LiBMaW5lIG9iamVjdHMgaG9sZCBhcnJheXMgKG1hcmtlZFNwYW5zKSBjb250YWluaW5nXG4gIC8vIHtmcm9tLCB0bywgbWFya2VyfSBvYmplY3QgcG9pbnRpbmcgdG8gc3VjaCBtYXJrZXIgb2JqZWN0cywgYW5kXG4gIC8vIGluZGljYXRpbmcgdGhhdCBzdWNoIGEgbWFya2VyIGlzIHByZXNlbnQgb24gdGhhdCBsaW5lLiBNdWx0aXBsZVxuICAvLyBsaW5lcyBtYXkgcG9pbnQgdG8gdGhlIHNhbWUgbWFya2VyIHdoZW4gaXQgc3BhbnMgYWNyb3NzIGxpbmVzLlxuICAvLyBUaGUgc3BhbnMgd2lsbCBoYXZlIG51bGwgZm9yIHRoZWlyIGZyb20vdG8gcHJvcGVydGllcyB3aGVuIHRoZVxuICAvLyBtYXJrZXIgY29udGludWVzIGJleW9uZCB0aGUgc3RhcnQvZW5kIG9mIHRoZSBsaW5lLiBNYXJrZXJzIGhhdmVcbiAgLy8gbGlua3MgYmFjayB0byB0aGUgbGluZXMgdGhleSBjdXJyZW50bHkgdG91Y2guXG5cbiAgLy8gQ29sbGFwc2VkIG1hcmtlcnMgaGF2ZSB1bmlxdWUgaWRzLCBpbiBvcmRlciB0byBiZSBhYmxlIHRvIG9yZGVyXG4gIC8vIHRoZW0sIHdoaWNoIGlzIG5lZWRlZCBmb3IgdW5pcXVlbHkgZGV0ZXJtaW5pbmcgYW4gb3V0ZXIgbWFya2VyXG4gIC8vIHdoZW4gdGhleSBvdmVybGFwICh0aGV5IG1heSBuZXN0LCBidXQgbm90IHBhcnRpYWxseSBvdmVybGFwKS5cbiAgdmFyIG5leHRNYXJrZXJJZCA9IDA7XG5cbiAgdmFyIFRleHRNYXJrZXIgPSBmdW5jdGlvbihkb2MsIHR5cGUpIHtcbiAgICB0aGlzLmxpbmVzID0gW107XG4gICAgdGhpcy50eXBlID0gdHlwZTtcbiAgICB0aGlzLmRvYyA9IGRvYztcbiAgICB0aGlzLmlkID0gKytuZXh0TWFya2VySWQ7XG4gIH07XG5cbiAgLy8gQ2xlYXIgdGhlIG1hcmtlci5cbiAgVGV4dE1hcmtlci5wcm90b3R5cGUuY2xlYXIgPSBmdW5jdGlvbiAoKSB7XG4gICAgICB2YXIgdGhpcyQxID0gdGhpcztcblxuICAgIGlmICh0aGlzLmV4cGxpY2l0bHlDbGVhcmVkKSB7IHJldHVybiB9XG4gICAgdmFyIGNtID0gdGhpcy5kb2MuY20sIHdpdGhPcCA9IGNtICYmICFjbS5jdXJPcDtcbiAgICBpZiAod2l0aE9wKSB7IHN0YXJ0T3BlcmF0aW9uKGNtKTsgfVxuICAgIGlmIChoYXNIYW5kbGVyKHRoaXMsIFwiY2xlYXJcIikpIHtcbiAgICAgIHZhciBmb3VuZCA9IHRoaXMuZmluZCgpO1xuICAgICAgaWYgKGZvdW5kKSB7IHNpZ25hbExhdGVyKHRoaXMsIFwiY2xlYXJcIiwgZm91bmQuZnJvbSwgZm91bmQudG8pOyB9XG4gICAgfVxuICAgIHZhciBtaW4gPSBudWxsLCBtYXggPSBudWxsO1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5saW5lcy5sZW5ndGg7ICsraSkge1xuICAgICAgdmFyIGxpbmUgPSB0aGlzJDEubGluZXNbaV07XG4gICAgICB2YXIgc3BhbiA9IGdldE1hcmtlZFNwYW5Gb3IobGluZS5tYXJrZWRTcGFucywgdGhpcyQxKTtcbiAgICAgIGlmIChjbSAmJiAhdGhpcyQxLmNvbGxhcHNlZCkgeyByZWdMaW5lQ2hhbmdlKGNtLCBsaW5lTm8obGluZSksIFwidGV4dFwiKTsgfVxuICAgICAgZWxzZSBpZiAoY20pIHtcbiAgICAgICAgaWYgKHNwYW4udG8gIT0gbnVsbCkgeyBtYXggPSBsaW5lTm8obGluZSk7IH1cbiAgICAgICAgaWYgKHNwYW4uZnJvbSAhPSBudWxsKSB7IG1pbiA9IGxpbmVObyhsaW5lKTsgfVxuICAgICAgfVxuICAgICAgbGluZS5tYXJrZWRTcGFucyA9IHJlbW92ZU1hcmtlZFNwYW4obGluZS5tYXJrZWRTcGFucywgc3Bhbik7XG4gICAgICBpZiAoc3Bhbi5mcm9tID09IG51bGwgJiYgdGhpcyQxLmNvbGxhcHNlZCAmJiAhbGluZUlzSGlkZGVuKHRoaXMkMS5kb2MsIGxpbmUpICYmIGNtKVxuICAgICAgICB7IHVwZGF0ZUxpbmVIZWlnaHQobGluZSwgdGV4dEhlaWdodChjbS5kaXNwbGF5KSk7IH1cbiAgICB9XG4gICAgaWYgKGNtICYmIHRoaXMuY29sbGFwc2VkICYmICFjbS5vcHRpb25zLmxpbmVXcmFwcGluZykgeyBmb3IgKHZhciBpJDEgPSAwOyBpJDEgPCB0aGlzLmxpbmVzLmxlbmd0aDsgKytpJDEpIHtcbiAgICAgIHZhciB2aXN1YWwgPSB2aXN1YWxMaW5lKHRoaXMkMS5saW5lc1tpJDFdKSwgbGVuID0gbGluZUxlbmd0aCh2aXN1YWwpO1xuICAgICAgaWYgKGxlbiA+IGNtLmRpc3BsYXkubWF4TGluZUxlbmd0aCkge1xuICAgICAgICBjbS5kaXNwbGF5Lm1heExpbmUgPSB2aXN1YWw7XG4gICAgICAgIGNtLmRpc3BsYXkubWF4TGluZUxlbmd0aCA9IGxlbjtcbiAgICAgICAgY20uZGlzcGxheS5tYXhMaW5lQ2hhbmdlZCA9IHRydWU7XG4gICAgICB9XG4gICAgfSB9XG5cbiAgICBpZiAobWluICE9IG51bGwgJiYgY20gJiYgdGhpcy5jb2xsYXBzZWQpIHsgcmVnQ2hhbmdlKGNtLCBtaW4sIG1heCArIDEpOyB9XG4gICAgdGhpcy5saW5lcy5sZW5ndGggPSAwO1xuICAgIHRoaXMuZXhwbGljaXRseUNsZWFyZWQgPSB0cnVlO1xuICAgIGlmICh0aGlzLmF0b21pYyAmJiB0aGlzLmRvYy5jYW50RWRpdCkge1xuICAgICAgdGhpcy5kb2MuY2FudEVkaXQgPSBmYWxzZTtcbiAgICAgIGlmIChjbSkgeyByZUNoZWNrU2VsZWN0aW9uKGNtLmRvYyk7IH1cbiAgICB9XG4gICAgaWYgKGNtKSB7IHNpZ25hbExhdGVyKGNtLCBcIm1hcmtlckNsZWFyZWRcIiwgY20sIHRoaXMsIG1pbiwgbWF4KTsgfVxuICAgIGlmICh3aXRoT3ApIHsgZW5kT3BlcmF0aW9uKGNtKTsgfVxuICAgIGlmICh0aGlzLnBhcmVudCkgeyB0aGlzLnBhcmVudC5jbGVhcigpOyB9XG4gIH07XG5cbiAgLy8gRmluZCB0aGUgcG9zaXRpb24gb2YgdGhlIG1hcmtlciBpbiB0aGUgZG9jdW1lbnQuIFJldHVybnMgYSB7ZnJvbSxcbiAgLy8gdG99IG9iamVjdCBieSBkZWZhdWx0LiBTaWRlIGNhbiBiZSBwYXNzZWQgdG8gZ2V0IGEgc3BlY2lmaWMgc2lkZVxuICAvLyAtLSAwIChib3RoKSwgLTEgKGxlZnQpLCBvciAxIChyaWdodCkuIFdoZW4gbGluZU9iaiBpcyB0cnVlLCB0aGVcbiAgLy8gUG9zIG9iamVjdHMgcmV0dXJuZWQgY29udGFpbiBhIGxpbmUgb2JqZWN0LCByYXRoZXIgdGhhbiBhIGxpbmVcbiAgLy8gbnVtYmVyICh1c2VkIHRvIHByZXZlbnQgbG9va2luZyB1cCB0aGUgc2FtZSBsaW5lIHR3aWNlKS5cbiAgVGV4dE1hcmtlci5wcm90b3R5cGUuZmluZCA9IGZ1bmN0aW9uIChzaWRlLCBsaW5lT2JqKSB7XG4gICAgICB2YXIgdGhpcyQxID0gdGhpcztcblxuICAgIGlmIChzaWRlID09IG51bGwgJiYgdGhpcy50eXBlID09IFwiYm9va21hcmtcIikgeyBzaWRlID0gMTsgfVxuICAgIHZhciBmcm9tLCB0bztcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMubGluZXMubGVuZ3RoOyArK2kpIHtcbiAgICAgIHZhciBsaW5lID0gdGhpcyQxLmxpbmVzW2ldO1xuICAgICAgdmFyIHNwYW4gPSBnZXRNYXJrZWRTcGFuRm9yKGxpbmUubWFya2VkU3BhbnMsIHRoaXMkMSk7XG4gICAgICBpZiAoc3Bhbi5mcm9tICE9IG51bGwpIHtcbiAgICAgICAgZnJvbSA9IFBvcyhsaW5lT2JqID8gbGluZSA6IGxpbmVObyhsaW5lKSwgc3Bhbi5mcm9tKTtcbiAgICAgICAgaWYgKHNpZGUgPT0gLTEpIHsgcmV0dXJuIGZyb20gfVxuICAgICAgfVxuICAgICAgaWYgKHNwYW4udG8gIT0gbnVsbCkge1xuICAgICAgICB0byA9IFBvcyhsaW5lT2JqID8gbGluZSA6IGxpbmVObyhsaW5lKSwgc3Bhbi50byk7XG4gICAgICAgIGlmIChzaWRlID09IDEpIHsgcmV0dXJuIHRvIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZyb20gJiYge2Zyb206IGZyb20sIHRvOiB0b31cbiAgfTtcblxuICAvLyBTaWduYWxzIHRoYXQgdGhlIG1hcmtlcidzIHdpZGdldCBjaGFuZ2VkLCBhbmQgc3Vycm91bmRpbmcgbGF5b3V0XG4gIC8vIHNob3VsZCBiZSByZWNvbXB1dGVkLlxuICBUZXh0TWFya2VyLnByb3RvdHlwZS5jaGFuZ2VkID0gZnVuY3Rpb24gKCkge1xuICAgICAgdmFyIHRoaXMkMSA9IHRoaXM7XG5cbiAgICB2YXIgcG9zID0gdGhpcy5maW5kKC0xLCB0cnVlKSwgd2lkZ2V0ID0gdGhpcywgY20gPSB0aGlzLmRvYy5jbTtcbiAgICBpZiAoIXBvcyB8fCAhY20pIHsgcmV0dXJuIH1cbiAgICBydW5Jbk9wKGNtLCBmdW5jdGlvbiAoKSB7XG4gICAgICB2YXIgbGluZSA9IHBvcy5saW5lLCBsaW5lTiA9IGxpbmVObyhwb3MubGluZSk7XG4gICAgICB2YXIgdmlldyA9IGZpbmRWaWV3Rm9yTGluZShjbSwgbGluZU4pO1xuICAgICAgaWYgKHZpZXcpIHtcbiAgICAgICAgY2xlYXJMaW5lTWVhc3VyZW1lbnRDYWNoZUZvcih2aWV3KTtcbiAgICAgICAgY20uY3VyT3Auc2VsZWN0aW9uQ2hhbmdlZCA9IGNtLmN1ck9wLmZvcmNlVXBkYXRlID0gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIGNtLmN1ck9wLnVwZGF0ZU1heExpbmUgPSB0cnVlO1xuICAgICAgaWYgKCFsaW5lSXNIaWRkZW4od2lkZ2V0LmRvYywgbGluZSkgJiYgd2lkZ2V0LmhlaWdodCAhPSBudWxsKSB7XG4gICAgICAgIHZhciBvbGRIZWlnaHQgPSB3aWRnZXQuaGVpZ2h0O1xuICAgICAgICB3aWRnZXQuaGVpZ2h0ID0gbnVsbDtcbiAgICAgICAgdmFyIGRIZWlnaHQgPSB3aWRnZXRIZWlnaHQod2lkZ2V0KSAtIG9sZEhlaWdodDtcbiAgICAgICAgaWYgKGRIZWlnaHQpXG4gICAgICAgICAgeyB1cGRhdGVMaW5lSGVpZ2h0KGxpbmUsIGxpbmUuaGVpZ2h0ICsgZEhlaWdodCk7IH1cbiAgICAgIH1cbiAgICAgIHNpZ25hbExhdGVyKGNtLCBcIm1hcmtlckNoYW5nZWRcIiwgY20sIHRoaXMkMSk7XG4gICAgfSk7XG4gIH07XG5cbiAgVGV4dE1hcmtlci5wcm90b3R5cGUuYXR0YWNoTGluZSA9IGZ1bmN0aW9uIChsaW5lKSB7XG4gICAgaWYgKCF0aGlzLmxpbmVzLmxlbmd0aCAmJiB0aGlzLmRvYy5jbSkge1xuICAgICAgdmFyIG9wID0gdGhpcy5kb2MuY20uY3VyT3A7XG4gICAgICBpZiAoIW9wLm1heWJlSGlkZGVuTWFya2VycyB8fCBpbmRleE9mKG9wLm1heWJlSGlkZGVuTWFya2VycywgdGhpcykgPT0gLTEpXG4gICAgICAgIHsgKG9wLm1heWJlVW5oaWRkZW5NYXJrZXJzIHx8IChvcC5tYXliZVVuaGlkZGVuTWFya2VycyA9IFtdKSkucHVzaCh0aGlzKTsgfVxuICAgIH1cbiAgICB0aGlzLmxpbmVzLnB1c2gobGluZSk7XG4gIH07XG5cbiAgVGV4dE1hcmtlci5wcm90b3R5cGUuZGV0YWNoTGluZSA9IGZ1bmN0aW9uIChsaW5lKSB7XG4gICAgdGhpcy5saW5lcy5zcGxpY2UoaW5kZXhPZih0aGlzLmxpbmVzLCBsaW5lKSwgMSk7XG4gICAgaWYgKCF0aGlzLmxpbmVzLmxlbmd0aCAmJiB0aGlzLmRvYy5jbSkge1xuICAgICAgdmFyIG9wID0gdGhpcy5kb2MuY20uY3VyT3BcbiAgICAgIDsob3AubWF5YmVIaWRkZW5NYXJrZXJzIHx8IChvcC5tYXliZUhpZGRlbk1hcmtlcnMgPSBbXSkpLnB1c2godGhpcyk7XG4gICAgfVxuICB9O1xuICBldmVudE1peGluKFRleHRNYXJrZXIpO1xuXG4gIC8vIENyZWF0ZSBhIG1hcmtlciwgd2lyZSBpdCB1cCB0byB0aGUgcmlnaHQgbGluZXMsIGFuZFxuICBmdW5jdGlvbiBtYXJrVGV4dChkb2MsIGZyb20sIHRvLCBvcHRpb25zLCB0eXBlKSB7XG4gICAgLy8gU2hhcmVkIG1hcmtlcnMgKGFjcm9zcyBsaW5rZWQgZG9jdW1lbnRzKSBhcmUgaGFuZGxlZCBzZXBhcmF0ZWx5XG4gICAgLy8gKG1hcmtUZXh0U2hhcmVkIHdpbGwgY2FsbCBvdXQgdG8gdGhpcyBhZ2Fpbiwgb25jZSBwZXJcbiAgICAvLyBkb2N1bWVudCkuXG4gICAgaWYgKG9wdGlvbnMgJiYgb3B0aW9ucy5zaGFyZWQpIHsgcmV0dXJuIG1hcmtUZXh0U2hhcmVkKGRvYywgZnJvbSwgdG8sIG9wdGlvbnMsIHR5cGUpIH1cbiAgICAvLyBFbnN1cmUgd2UgYXJlIGluIGFuIG9wZXJhdGlvbi5cbiAgICBpZiAoZG9jLmNtICYmICFkb2MuY20uY3VyT3ApIHsgcmV0dXJuIG9wZXJhdGlvbihkb2MuY20sIG1hcmtUZXh0KShkb2MsIGZyb20sIHRvLCBvcHRpb25zLCB0eXBlKSB9XG5cbiAgICB2YXIgbWFya2VyID0gbmV3IFRleHRNYXJrZXIoZG9jLCB0eXBlKSwgZGlmZiA9IGNtcChmcm9tLCB0byk7XG4gICAgaWYgKG9wdGlvbnMpIHsgY29weU9iaihvcHRpb25zLCBtYXJrZXIsIGZhbHNlKTsgfVxuICAgIC8vIERvbid0IGNvbm5lY3QgZW1wdHkgbWFya2VycyB1bmxlc3MgY2xlYXJXaGVuRW1wdHkgaXMgZmFsc2VcbiAgICBpZiAoZGlmZiA+IDAgfHwgZGlmZiA9PSAwICYmIG1hcmtlci5jbGVhcldoZW5FbXB0eSAhPT0gZmFsc2UpXG4gICAgICB7IHJldHVybiBtYXJrZXIgfVxuICAgIGlmIChtYXJrZXIucmVwbGFjZWRXaXRoKSB7XG4gICAgICAvLyBTaG93aW5nIHVwIGFzIGEgd2lkZ2V0IGltcGxpZXMgY29sbGFwc2VkICh3aWRnZXQgcmVwbGFjZXMgdGV4dClcbiAgICAgIG1hcmtlci5jb2xsYXBzZWQgPSB0cnVlO1xuICAgICAgbWFya2VyLndpZGdldE5vZGUgPSBlbHRQKFwic3BhblwiLCBbbWFya2VyLnJlcGxhY2VkV2l0aF0sIFwiQ29kZU1pcnJvci13aWRnZXRcIik7XG4gICAgICBpZiAoIW9wdGlvbnMuaGFuZGxlTW91c2VFdmVudHMpIHsgbWFya2VyLndpZGdldE5vZGUuc2V0QXR0cmlidXRlKFwiY20taWdub3JlLWV2ZW50c1wiLCBcInRydWVcIik7IH1cbiAgICAgIGlmIChvcHRpb25zLmluc2VydExlZnQpIHsgbWFya2VyLndpZGdldE5vZGUuaW5zZXJ0TGVmdCA9IHRydWU7IH1cbiAgICB9XG4gICAgaWYgKG1hcmtlci5jb2xsYXBzZWQpIHtcbiAgICAgIGlmIChjb25mbGljdGluZ0NvbGxhcHNlZFJhbmdlKGRvYywgZnJvbS5saW5lLCBmcm9tLCB0bywgbWFya2VyKSB8fFxuICAgICAgICAgIGZyb20ubGluZSAhPSB0by5saW5lICYmIGNvbmZsaWN0aW5nQ29sbGFwc2VkUmFuZ2UoZG9jLCB0by5saW5lLCBmcm9tLCB0bywgbWFya2VyKSlcbiAgICAgICAgeyB0aHJvdyBuZXcgRXJyb3IoXCJJbnNlcnRpbmcgY29sbGFwc2VkIG1hcmtlciBwYXJ0aWFsbHkgb3ZlcmxhcHBpbmcgYW4gZXhpc3Rpbmcgb25lXCIpIH1cbiAgICAgIHNlZUNvbGxhcHNlZFNwYW5zKCk7XG4gICAgfVxuXG4gICAgaWYgKG1hcmtlci5hZGRUb0hpc3RvcnkpXG4gICAgICB7IGFkZENoYW5nZVRvSGlzdG9yeShkb2MsIHtmcm9tOiBmcm9tLCB0bzogdG8sIG9yaWdpbjogXCJtYXJrVGV4dFwifSwgZG9jLnNlbCwgTmFOKTsgfVxuXG4gICAgdmFyIGN1ckxpbmUgPSBmcm9tLmxpbmUsIGNtID0gZG9jLmNtLCB1cGRhdGVNYXhMaW5lO1xuICAgIGRvYy5pdGVyKGN1ckxpbmUsIHRvLmxpbmUgKyAxLCBmdW5jdGlvbiAobGluZSkge1xuICAgICAgaWYgKGNtICYmIG1hcmtlci5jb2xsYXBzZWQgJiYgIWNtLm9wdGlvbnMubGluZVdyYXBwaW5nICYmIHZpc3VhbExpbmUobGluZSkgPT0gY20uZGlzcGxheS5tYXhMaW5lKVxuICAgICAgICB7IHVwZGF0ZU1heExpbmUgPSB0cnVlOyB9XG4gICAgICBpZiAobWFya2VyLmNvbGxhcHNlZCAmJiBjdXJMaW5lICE9IGZyb20ubGluZSkgeyB1cGRhdGVMaW5lSGVpZ2h0KGxpbmUsIDApOyB9XG4gICAgICBhZGRNYXJrZWRTcGFuKGxpbmUsIG5ldyBNYXJrZWRTcGFuKG1hcmtlcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VyTGluZSA9PSBmcm9tLmxpbmUgPyBmcm9tLmNoIDogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VyTGluZSA9PSB0by5saW5lID8gdG8uY2ggOiBudWxsKSk7XG4gICAgICArK2N1ckxpbmU7XG4gICAgfSk7XG4gICAgLy8gbGluZUlzSGlkZGVuIGRlcGVuZHMgb24gdGhlIHByZXNlbmNlIG9mIHRoZSBzcGFucywgc28gbmVlZHMgYSBzZWNvbmQgcGFzc1xuICAgIGlmIChtYXJrZXIuY29sbGFwc2VkKSB7IGRvYy5pdGVyKGZyb20ubGluZSwgdG8ubGluZSArIDEsIGZ1bmN0aW9uIChsaW5lKSB7XG4gICAgICBpZiAobGluZUlzSGlkZGVuKGRvYywgbGluZSkpIHsgdXBkYXRlTGluZUhlaWdodChsaW5lLCAwKTsgfVxuICAgIH0pOyB9XG5cbiAgICBpZiAobWFya2VyLmNsZWFyT25FbnRlcikgeyBvbihtYXJrZXIsIFwiYmVmb3JlQ3Vyc29yRW50ZXJcIiwgZnVuY3Rpb24gKCkgeyByZXR1cm4gbWFya2VyLmNsZWFyKCk7IH0pOyB9XG5cbiAgICBpZiAobWFya2VyLnJlYWRPbmx5KSB7XG4gICAgICBzZWVSZWFkT25seVNwYW5zKCk7XG4gICAgICBpZiAoZG9jLmhpc3RvcnkuZG9uZS5sZW5ndGggfHwgZG9jLmhpc3RvcnkudW5kb25lLmxlbmd0aClcbiAgICAgICAgeyBkb2MuY2xlYXJIaXN0b3J5KCk7IH1cbiAgICB9XG4gICAgaWYgKG1hcmtlci5jb2xsYXBzZWQpIHtcbiAgICAgIG1hcmtlci5pZCA9ICsrbmV4dE1hcmtlcklkO1xuICAgICAgbWFya2VyLmF0b21pYyA9IHRydWU7XG4gICAgfVxuICAgIGlmIChjbSkge1xuICAgICAgLy8gU3luYyBlZGl0b3Igc3RhdGVcbiAgICAgIGlmICh1cGRhdGVNYXhMaW5lKSB7IGNtLmN1ck9wLnVwZGF0ZU1heExpbmUgPSB0cnVlOyB9XG4gICAgICBpZiAobWFya2VyLmNvbGxhcHNlZClcbiAgICAgICAgeyByZWdDaGFuZ2UoY20sIGZyb20ubGluZSwgdG8ubGluZSArIDEpOyB9XG4gICAgICBlbHNlIGlmIChtYXJrZXIuY2xhc3NOYW1lIHx8IG1hcmtlci5zdGFydFN0eWxlIHx8IG1hcmtlci5lbmRTdHlsZSB8fCBtYXJrZXIuY3NzIHx8XG4gICAgICAgICAgICAgICBtYXJrZXIuYXR0cmlidXRlcyB8fCBtYXJrZXIudGl0bGUpXG4gICAgICAgIHsgZm9yICh2YXIgaSA9IGZyb20ubGluZTsgaSA8PSB0by5saW5lOyBpKyspIHsgcmVnTGluZUNoYW5nZShjbSwgaSwgXCJ0ZXh0XCIpOyB9IH1cbiAgICAgIGlmIChtYXJrZXIuYXRvbWljKSB7IHJlQ2hlY2tTZWxlY3Rpb24oY20uZG9jKTsgfVxuICAgICAgc2lnbmFsTGF0ZXIoY20sIFwibWFya2VyQWRkZWRcIiwgY20sIG1hcmtlcik7XG4gICAgfVxuICAgIHJldHVybiBtYXJrZXJcbiAgfVxuXG4gIC8vIFNIQVJFRCBURVhUTUFSS0VSU1xuXG4gIC8vIEEgc2hhcmVkIG1hcmtlciBzcGFucyBtdWx0aXBsZSBsaW5rZWQgZG9jdW1lbnRzLiBJdCBpc1xuICAvLyBpbXBsZW1lbnRlZCBhcyBhIG1ldGEtbWFya2VyLW9iamVjdCBjb250cm9sbGluZyBtdWx0aXBsZSBub3JtYWxcbiAgLy8gbWFya2Vycy5cbiAgdmFyIFNoYXJlZFRleHRNYXJrZXIgPSBmdW5jdGlvbihtYXJrZXJzLCBwcmltYXJ5KSB7XG4gICAgdmFyIHRoaXMkMSA9IHRoaXM7XG5cbiAgICB0aGlzLm1hcmtlcnMgPSBtYXJrZXJzO1xuICAgIHRoaXMucHJpbWFyeSA9IHByaW1hcnk7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBtYXJrZXJzLmxlbmd0aDsgKytpKVxuICAgICAgeyBtYXJrZXJzW2ldLnBhcmVudCA9IHRoaXMkMTsgfVxuICB9O1xuXG4gIFNoYXJlZFRleHRNYXJrZXIucHJvdG90eXBlLmNsZWFyID0gZnVuY3Rpb24gKCkge1xuICAgICAgdmFyIHRoaXMkMSA9IHRoaXM7XG5cbiAgICBpZiAodGhpcy5leHBsaWNpdGx5Q2xlYXJlZCkgeyByZXR1cm4gfVxuICAgIHRoaXMuZXhwbGljaXRseUNsZWFyZWQgPSB0cnVlO1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5tYXJrZXJzLmxlbmd0aDsgKytpKVxuICAgICAgeyB0aGlzJDEubWFya2Vyc1tpXS5jbGVhcigpOyB9XG4gICAgc2lnbmFsTGF0ZXIodGhpcywgXCJjbGVhclwiKTtcbiAgfTtcblxuICBTaGFyZWRUZXh0TWFya2VyLnByb3RvdHlwZS5maW5kID0gZnVuY3Rpb24gKHNpZGUsIGxpbmVPYmopIHtcbiAgICByZXR1cm4gdGhpcy5wcmltYXJ5LmZpbmQoc2lkZSwgbGluZU9iailcbiAgfTtcbiAgZXZlbnRNaXhpbihTaGFyZWRUZXh0TWFya2VyKTtcblxuICBmdW5jdGlvbiBtYXJrVGV4dFNoYXJlZChkb2MsIGZyb20sIHRvLCBvcHRpb25zLCB0eXBlKSB7XG4gICAgb3B0aW9ucyA9IGNvcHlPYmoob3B0aW9ucyk7XG4gICAgb3B0aW9ucy5zaGFyZWQgPSBmYWxzZTtcbiAgICB2YXIgbWFya2VycyA9IFttYXJrVGV4dChkb2MsIGZyb20sIHRvLCBvcHRpb25zLCB0eXBlKV0sIHByaW1hcnkgPSBtYXJrZXJzWzBdO1xuICAgIHZhciB3aWRnZXQgPSBvcHRpb25zLndpZGdldE5vZGU7XG4gICAgbGlua2VkRG9jcyhkb2MsIGZ1bmN0aW9uIChkb2MpIHtcbiAgICAgIGlmICh3aWRnZXQpIHsgb3B0aW9ucy53aWRnZXROb2RlID0gd2lkZ2V0LmNsb25lTm9kZSh0cnVlKTsgfVxuICAgICAgbWFya2Vycy5wdXNoKG1hcmtUZXh0KGRvYywgY2xpcFBvcyhkb2MsIGZyb20pLCBjbGlwUG9zKGRvYywgdG8pLCBvcHRpb25zLCB0eXBlKSk7XG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGRvYy5saW5rZWQubGVuZ3RoOyArK2kpXG4gICAgICAgIHsgaWYgKGRvYy5saW5rZWRbaV0uaXNQYXJlbnQpIHsgcmV0dXJuIH0gfVxuICAgICAgcHJpbWFyeSA9IGxzdChtYXJrZXJzKTtcbiAgICB9KTtcbiAgICByZXR1cm4gbmV3IFNoYXJlZFRleHRNYXJrZXIobWFya2VycywgcHJpbWFyeSlcbiAgfVxuXG4gIGZ1bmN0aW9uIGZpbmRTaGFyZWRNYXJrZXJzKGRvYykge1xuICAgIHJldHVybiBkb2MuZmluZE1hcmtzKFBvcyhkb2MuZmlyc3QsIDApLCBkb2MuY2xpcFBvcyhQb3MoZG9jLmxhc3RMaW5lKCkpKSwgZnVuY3Rpb24gKG0pIHsgcmV0dXJuIG0ucGFyZW50OyB9KVxuICB9XG5cbiAgZnVuY3Rpb24gY29weVNoYXJlZE1hcmtlcnMoZG9jLCBtYXJrZXJzKSB7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBtYXJrZXJzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIgbWFya2VyID0gbWFya2Vyc1tpXSwgcG9zID0gbWFya2VyLmZpbmQoKTtcbiAgICAgIHZhciBtRnJvbSA9IGRvYy5jbGlwUG9zKHBvcy5mcm9tKSwgbVRvID0gZG9jLmNsaXBQb3MocG9zLnRvKTtcbiAgICAgIGlmIChjbXAobUZyb20sIG1UbykpIHtcbiAgICAgICAgdmFyIHN1Yk1hcmsgPSBtYXJrVGV4dChkb2MsIG1Gcm9tLCBtVG8sIG1hcmtlci5wcmltYXJ5LCBtYXJrZXIucHJpbWFyeS50eXBlKTtcbiAgICAgICAgbWFya2VyLm1hcmtlcnMucHVzaChzdWJNYXJrKTtcbiAgICAgICAgc3ViTWFyay5wYXJlbnQgPSBtYXJrZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gZGV0YWNoU2hhcmVkTWFya2VycyhtYXJrZXJzKSB7XG4gICAgdmFyIGxvb3AgPSBmdW5jdGlvbiAoIGkgKSB7XG4gICAgICB2YXIgbWFya2VyID0gbWFya2Vyc1tpXSwgbGlua2VkID0gW21hcmtlci5wcmltYXJ5LmRvY107XG4gICAgICBsaW5rZWREb2NzKG1hcmtlci5wcmltYXJ5LmRvYywgZnVuY3Rpb24gKGQpIHsgcmV0dXJuIGxpbmtlZC5wdXNoKGQpOyB9KTtcbiAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgbWFya2VyLm1hcmtlcnMubGVuZ3RoOyBqKyspIHtcbiAgICAgICAgdmFyIHN1Yk1hcmtlciA9IG1hcmtlci5tYXJrZXJzW2pdO1xuICAgICAgICBpZiAoaW5kZXhPZihsaW5rZWQsIHN1Yk1hcmtlci5kb2MpID09IC0xKSB7XG4gICAgICAgICAgc3ViTWFya2VyLnBhcmVudCA9IG51bGw7XG4gICAgICAgICAgbWFya2VyLm1hcmtlcnMuc3BsaWNlKGotLSwgMSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9O1xuXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBtYXJrZXJzLmxlbmd0aDsgaSsrKSBsb29wKCBpICk7XG4gIH1cblxuICB2YXIgbmV4dERvY0lkID0gMDtcbiAgdmFyIERvYyA9IGZ1bmN0aW9uKHRleHQsIG1vZGUsIGZpcnN0TGluZSwgbGluZVNlcCwgZGlyZWN0aW9uKSB7XG4gICAgaWYgKCEodGhpcyBpbnN0YW5jZW9mIERvYykpIHsgcmV0dXJuIG5ldyBEb2ModGV4dCwgbW9kZSwgZmlyc3RMaW5lLCBsaW5lU2VwLCBkaXJlY3Rpb24pIH1cbiAgICBpZiAoZmlyc3RMaW5lID09IG51bGwpIHsgZmlyc3RMaW5lID0gMDsgfVxuXG4gICAgQnJhbmNoQ2h1bmsuY2FsbCh0aGlzLCBbbmV3IExlYWZDaHVuayhbbmV3IExpbmUoXCJcIiwgbnVsbCldKV0pO1xuICAgIHRoaXMuZmlyc3QgPSBmaXJzdExpbmU7XG4gICAgdGhpcy5zY3JvbGxUb3AgPSB0aGlzLnNjcm9sbExlZnQgPSAwO1xuICAgIHRoaXMuY2FudEVkaXQgPSBmYWxzZTtcbiAgICB0aGlzLmNsZWFuR2VuZXJhdGlvbiA9IDE7XG4gICAgdGhpcy5tb2RlRnJvbnRpZXIgPSB0aGlzLmhpZ2hsaWdodEZyb250aWVyID0gZmlyc3RMaW5lO1xuICAgIHZhciBzdGFydCA9IFBvcyhmaXJzdExpbmUsIDApO1xuICAgIHRoaXMuc2VsID0gc2ltcGxlU2VsZWN0aW9uKHN0YXJ0KTtcbiAgICB0aGlzLmhpc3RvcnkgPSBuZXcgSGlzdG9yeShudWxsKTtcbiAgICB0aGlzLmlkID0gKytuZXh0RG9jSWQ7XG4gICAgdGhpcy5tb2RlT3B0aW9uID0gbW9kZTtcbiAgICB0aGlzLmxpbmVTZXAgPSBsaW5lU2VwO1xuICAgIHRoaXMuZGlyZWN0aW9uID0gKGRpcmVjdGlvbiA9PSBcInJ0bFwiKSA/IFwicnRsXCIgOiBcImx0clwiO1xuICAgIHRoaXMuZXh0ZW5kID0gZmFsc2U7XG5cbiAgICBpZiAodHlwZW9mIHRleHQgPT0gXCJzdHJpbmdcIikgeyB0ZXh0ID0gdGhpcy5zcGxpdExpbmVzKHRleHQpOyB9XG4gICAgdXBkYXRlRG9jKHRoaXMsIHtmcm9tOiBzdGFydCwgdG86IHN0YXJ0LCB0ZXh0OiB0ZXh0fSk7XG4gICAgc2V0U2VsZWN0aW9uKHRoaXMsIHNpbXBsZVNlbGVjdGlvbihzdGFydCksIHNlbF9kb250U2Nyb2xsKTtcbiAgfTtcblxuICBEb2MucHJvdG90eXBlID0gY3JlYXRlT2JqKEJyYW5jaENodW5rLnByb3RvdHlwZSwge1xuICAgIGNvbnN0cnVjdG9yOiBEb2MsXG4gICAgLy8gSXRlcmF0ZSBvdmVyIHRoZSBkb2N1bWVudC4gU3VwcG9ydHMgdHdvIGZvcm1zIC0tIHdpdGggb25seSBvbmVcbiAgICAvLyBhcmd1bWVudCwgaXQgY2FsbHMgdGhhdCBmb3IgZWFjaCBsaW5lIGluIHRoZSBkb2N1bWVudC4gV2l0aFxuICAgIC8vIHRocmVlLCBpdCBpdGVyYXRlcyBvdmVyIHRoZSByYW5nZSBnaXZlbiBieSB0aGUgZmlyc3QgdHdvICh3aXRoXG4gICAgLy8gdGhlIHNlY29uZCBiZWluZyBub24taW5jbHVzaXZlKS5cbiAgICBpdGVyOiBmdW5jdGlvbihmcm9tLCB0bywgb3ApIHtcbiAgICAgIGlmIChvcCkgeyB0aGlzLml0ZXJOKGZyb20gLSB0aGlzLmZpcnN0LCB0byAtIGZyb20sIG9wKTsgfVxuICAgICAgZWxzZSB7IHRoaXMuaXRlck4odGhpcy5maXJzdCwgdGhpcy5maXJzdCArIHRoaXMuc2l6ZSwgZnJvbSk7IH1cbiAgICB9LFxuXG4gICAgLy8gTm9uLXB1YmxpYyBpbnRlcmZhY2UgZm9yIGFkZGluZyBhbmQgcmVtb3ZpbmcgbGluZXMuXG4gICAgaW5zZXJ0OiBmdW5jdGlvbihhdCwgbGluZXMpIHtcbiAgICAgIHZhciBoZWlnaHQgPSAwO1xuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsaW5lcy5sZW5ndGg7ICsraSkgeyBoZWlnaHQgKz0gbGluZXNbaV0uaGVpZ2h0OyB9XG4gICAgICB0aGlzLmluc2VydElubmVyKGF0IC0gdGhpcy5maXJzdCwgbGluZXMsIGhlaWdodCk7XG4gICAgfSxcbiAgICByZW1vdmU6IGZ1bmN0aW9uKGF0LCBuKSB7IHRoaXMucmVtb3ZlSW5uZXIoYXQgLSB0aGlzLmZpcnN0LCBuKTsgfSxcblxuICAgIC8vIEZyb20gaGVyZSwgdGhlIG1ldGhvZHMgYXJlIHBhcnQgb2YgdGhlIHB1YmxpYyBpbnRlcmZhY2UuIE1vc3RcbiAgICAvLyBhcmUgYWxzbyBhdmFpbGFibGUgZnJvbSBDb2RlTWlycm9yIChlZGl0b3IpIGluc3RhbmNlcy5cblxuICAgIGdldFZhbHVlOiBmdW5jdGlvbihsaW5lU2VwKSB7XG4gICAgICB2YXIgbGluZXMgPSBnZXRMaW5lcyh0aGlzLCB0aGlzLmZpcnN0LCB0aGlzLmZpcnN0ICsgdGhpcy5zaXplKTtcbiAgICAgIGlmIChsaW5lU2VwID09PSBmYWxzZSkgeyByZXR1cm4gbGluZXMgfVxuICAgICAgcmV0dXJuIGxpbmVzLmpvaW4obGluZVNlcCB8fCB0aGlzLmxpbmVTZXBhcmF0b3IoKSlcbiAgICB9LFxuICAgIHNldFZhbHVlOiBkb2NNZXRob2RPcChmdW5jdGlvbihjb2RlKSB7XG4gICAgICB2YXIgdG9wID0gUG9zKHRoaXMuZmlyc3QsIDApLCBsYXN0ID0gdGhpcy5maXJzdCArIHRoaXMuc2l6ZSAtIDE7XG4gICAgICBtYWtlQ2hhbmdlKHRoaXMsIHtmcm9tOiB0b3AsIHRvOiBQb3MobGFzdCwgZ2V0TGluZSh0aGlzLCBsYXN0KS50ZXh0Lmxlbmd0aCksXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0OiB0aGlzLnNwbGl0TGluZXMoY29kZSksIG9yaWdpbjogXCJzZXRWYWx1ZVwiLCBmdWxsOiB0cnVlfSwgdHJ1ZSk7XG4gICAgICBpZiAodGhpcy5jbSkgeyBzY3JvbGxUb0Nvb3Jkcyh0aGlzLmNtLCAwLCAwKTsgfVxuICAgICAgc2V0U2VsZWN0aW9uKHRoaXMsIHNpbXBsZVNlbGVjdGlvbih0b3ApLCBzZWxfZG9udFNjcm9sbCk7XG4gICAgfSksXG4gICAgcmVwbGFjZVJhbmdlOiBmdW5jdGlvbihjb2RlLCBmcm9tLCB0bywgb3JpZ2luKSB7XG4gICAgICBmcm9tID0gY2xpcFBvcyh0aGlzLCBmcm9tKTtcbiAgICAgIHRvID0gdG8gPyBjbGlwUG9zKHRoaXMsIHRvKSA6IGZyb207XG4gICAgICByZXBsYWNlUmFuZ2UodGhpcywgY29kZSwgZnJvbSwgdG8sIG9yaWdpbik7XG4gICAgfSxcbiAgICBnZXRSYW5nZTogZnVuY3Rpb24oZnJvbSwgdG8sIGxpbmVTZXApIHtcbiAgICAgIHZhciBsaW5lcyA9IGdldEJldHdlZW4odGhpcywgY2xpcFBvcyh0aGlzLCBmcm9tKSwgY2xpcFBvcyh0aGlzLCB0bykpO1xuICAgICAgaWYgKGxpbmVTZXAgPT09IGZhbHNlKSB7IHJldHVybiBsaW5lcyB9XG4gICAgICByZXR1cm4gbGluZXMuam9pbihsaW5lU2VwIHx8IHRoaXMubGluZVNlcGFyYXRvcigpKVxuICAgIH0sXG5cbiAgICBnZXRMaW5lOiBmdW5jdGlvbihsaW5lKSB7dmFyIGwgPSB0aGlzLmdldExpbmVIYW5kbGUobGluZSk7IHJldHVybiBsICYmIGwudGV4dH0sXG5cbiAgICBnZXRMaW5lSGFuZGxlOiBmdW5jdGlvbihsaW5lKSB7aWYgKGlzTGluZSh0aGlzLCBsaW5lKSkgeyByZXR1cm4gZ2V0TGluZSh0aGlzLCBsaW5lKSB9fSxcbiAgICBnZXRMaW5lTnVtYmVyOiBmdW5jdGlvbihsaW5lKSB7cmV0dXJuIGxpbmVObyhsaW5lKX0sXG5cbiAgICBnZXRMaW5lSGFuZGxlVmlzdWFsU3RhcnQ6IGZ1bmN0aW9uKGxpbmUpIHtcbiAgICAgIGlmICh0eXBlb2YgbGluZSA9PSBcIm51bWJlclwiKSB7IGxpbmUgPSBnZXRMaW5lKHRoaXMsIGxpbmUpOyB9XG4gICAgICByZXR1cm4gdmlzdWFsTGluZShsaW5lKVxuICAgIH0sXG5cbiAgICBsaW5lQ291bnQ6IGZ1bmN0aW9uKCkge3JldHVybiB0aGlzLnNpemV9LFxuICAgIGZpcnN0TGluZTogZnVuY3Rpb24oKSB7cmV0dXJuIHRoaXMuZmlyc3R9LFxuICAgIGxhc3RMaW5lOiBmdW5jdGlvbigpIHtyZXR1cm4gdGhpcy5maXJzdCArIHRoaXMuc2l6ZSAtIDF9LFxuXG4gICAgY2xpcFBvczogZnVuY3Rpb24ocG9zKSB7cmV0dXJuIGNsaXBQb3ModGhpcywgcG9zKX0sXG5cbiAgICBnZXRDdXJzb3I6IGZ1bmN0aW9uKHN0YXJ0KSB7XG4gICAgICB2YXIgcmFuZ2UkJDEgPSB0aGlzLnNlbC5wcmltYXJ5KCksIHBvcztcbiAgICAgIGlmIChzdGFydCA9PSBudWxsIHx8IHN0YXJ0ID09IFwiaGVhZFwiKSB7IHBvcyA9IHJhbmdlJCQxLmhlYWQ7IH1cbiAgICAgIGVsc2UgaWYgKHN0YXJ0ID09IFwiYW5jaG9yXCIpIHsgcG9zID0gcmFuZ2UkJDEuYW5jaG9yOyB9XG4gICAgICBlbHNlIGlmIChzdGFydCA9PSBcImVuZFwiIHx8IHN0YXJ0ID09IFwidG9cIiB8fCBzdGFydCA9PT0gZmFsc2UpIHsgcG9zID0gcmFuZ2UkJDEudG8oKTsgfVxuICAgICAgZWxzZSB7IHBvcyA9IHJhbmdlJCQxLmZyb20oKTsgfVxuICAgICAgcmV0dXJuIHBvc1xuICAgIH0sXG4gICAgbGlzdFNlbGVjdGlvbnM6IGZ1bmN0aW9uKCkgeyByZXR1cm4gdGhpcy5zZWwucmFuZ2VzIH0sXG4gICAgc29tZXRoaW5nU2VsZWN0ZWQ6IGZ1bmN0aW9uKCkge3JldHVybiB0aGlzLnNlbC5zb21ldGhpbmdTZWxlY3RlZCgpfSxcblxuICAgIHNldEN1cnNvcjogZG9jTWV0aG9kT3AoZnVuY3Rpb24obGluZSwgY2gsIG9wdGlvbnMpIHtcbiAgICAgIHNldFNpbXBsZVNlbGVjdGlvbih0aGlzLCBjbGlwUG9zKHRoaXMsIHR5cGVvZiBsaW5lID09IFwibnVtYmVyXCIgPyBQb3MobGluZSwgY2ggfHwgMCkgOiBsaW5lKSwgbnVsbCwgb3B0aW9ucyk7XG4gICAgfSksXG4gICAgc2V0U2VsZWN0aW9uOiBkb2NNZXRob2RPcChmdW5jdGlvbihhbmNob3IsIGhlYWQsIG9wdGlvbnMpIHtcbiAgICAgIHNldFNpbXBsZVNlbGVjdGlvbih0aGlzLCBjbGlwUG9zKHRoaXMsIGFuY2hvciksIGNsaXBQb3ModGhpcywgaGVhZCB8fCBhbmNob3IpLCBvcHRpb25zKTtcbiAgICB9KSxcbiAgICBleHRlbmRTZWxlY3Rpb246IGRvY01ldGhvZE9wKGZ1bmN0aW9uKGhlYWQsIG90aGVyLCBvcHRpb25zKSB7XG4gICAgICBleHRlbmRTZWxlY3Rpb24odGhpcywgY2xpcFBvcyh0aGlzLCBoZWFkKSwgb3RoZXIgJiYgY2xpcFBvcyh0aGlzLCBvdGhlciksIG9wdGlvbnMpO1xuICAgIH0pLFxuICAgIGV4dGVuZFNlbGVjdGlvbnM6IGRvY01ldGhvZE9wKGZ1bmN0aW9uKGhlYWRzLCBvcHRpb25zKSB7XG4gICAgICBleHRlbmRTZWxlY3Rpb25zKHRoaXMsIGNsaXBQb3NBcnJheSh0aGlzLCBoZWFkcyksIG9wdGlvbnMpO1xuICAgIH0pLFxuICAgIGV4dGVuZFNlbGVjdGlvbnNCeTogZG9jTWV0aG9kT3AoZnVuY3Rpb24oZiwgb3B0aW9ucykge1xuICAgICAgdmFyIGhlYWRzID0gbWFwKHRoaXMuc2VsLnJhbmdlcywgZik7XG4gICAgICBleHRlbmRTZWxlY3Rpb25zKHRoaXMsIGNsaXBQb3NBcnJheSh0aGlzLCBoZWFkcyksIG9wdGlvbnMpO1xuICAgIH0pLFxuICAgIHNldFNlbGVjdGlvbnM6IGRvY01ldGhvZE9wKGZ1bmN0aW9uKHJhbmdlcywgcHJpbWFyeSwgb3B0aW9ucykge1xuICAgICAgdmFyIHRoaXMkMSA9IHRoaXM7XG5cbiAgICAgIGlmICghcmFuZ2VzLmxlbmd0aCkgeyByZXR1cm4gfVxuICAgICAgdmFyIG91dCA9IFtdO1xuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCByYW5nZXMubGVuZ3RoOyBpKyspXG4gICAgICAgIHsgb3V0W2ldID0gbmV3IFJhbmdlKGNsaXBQb3ModGhpcyQxLCByYW5nZXNbaV0uYW5jaG9yKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsaXBQb3ModGhpcyQxLCByYW5nZXNbaV0uaGVhZCkpOyB9XG4gICAgICBpZiAocHJpbWFyeSA9PSBudWxsKSB7IHByaW1hcnkgPSBNYXRoLm1pbihyYW5nZXMubGVuZ3RoIC0gMSwgdGhpcy5zZWwucHJpbUluZGV4KTsgfVxuICAgICAgc2V0U2VsZWN0aW9uKHRoaXMsIG5vcm1hbGl6ZVNlbGVjdGlvbih0aGlzLmNtLCBvdXQsIHByaW1hcnkpLCBvcHRpb25zKTtcbiAgICB9KSxcbiAgICBhZGRTZWxlY3Rpb246IGRvY01ldGhvZE9wKGZ1bmN0aW9uKGFuY2hvciwgaGVhZCwgb3B0aW9ucykge1xuICAgICAgdmFyIHJhbmdlcyA9IHRoaXMuc2VsLnJhbmdlcy5zbGljZSgwKTtcbiAgICAgIHJhbmdlcy5wdXNoKG5ldyBSYW5nZShjbGlwUG9zKHRoaXMsIGFuY2hvciksIGNsaXBQb3ModGhpcywgaGVhZCB8fCBhbmNob3IpKSk7XG4gICAgICBzZXRTZWxlY3Rpb24odGhpcywgbm9ybWFsaXplU2VsZWN0aW9uKHRoaXMuY20sIHJhbmdlcywgcmFuZ2VzLmxlbmd0aCAtIDEpLCBvcHRpb25zKTtcbiAgICB9KSxcblxuICAgIGdldFNlbGVjdGlvbjogZnVuY3Rpb24obGluZVNlcCkge1xuICAgICAgdmFyIHRoaXMkMSA9IHRoaXM7XG5cbiAgICAgIHZhciByYW5nZXMgPSB0aGlzLnNlbC5yYW5nZXMsIGxpbmVzO1xuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCByYW5nZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgdmFyIHNlbCA9IGdldEJldHdlZW4odGhpcyQxLCByYW5nZXNbaV0uZnJvbSgpLCByYW5nZXNbaV0udG8oKSk7XG4gICAgICAgIGxpbmVzID0gbGluZXMgPyBsaW5lcy5jb25jYXQoc2VsKSA6IHNlbDtcbiAgICAgIH1cbiAgICAgIGlmIChsaW5lU2VwID09PSBmYWxzZSkgeyByZXR1cm4gbGluZXMgfVxuICAgICAgZWxzZSB7IHJldHVybiBsaW5lcy5qb2luKGxpbmVTZXAgfHwgdGhpcy5saW5lU2VwYXJhdG9yKCkpIH1cbiAgICB9LFxuICAgIGdldFNlbGVjdGlvbnM6IGZ1bmN0aW9uKGxpbmVTZXApIHtcbiAgICAgIHZhciB0aGlzJDEgPSB0aGlzO1xuXG4gICAgICB2YXIgcGFydHMgPSBbXSwgcmFuZ2VzID0gdGhpcy5zZWwucmFuZ2VzO1xuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCByYW5nZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgdmFyIHNlbCA9IGdldEJldHdlZW4odGhpcyQxLCByYW5nZXNbaV0uZnJvbSgpLCByYW5nZXNbaV0udG8oKSk7XG4gICAgICAgIGlmIChsaW5lU2VwICE9PSBmYWxzZSkgeyBzZWwgPSBzZWwuam9pbihsaW5lU2VwIHx8IHRoaXMkMS5saW5lU2VwYXJhdG9yKCkpOyB9XG4gICAgICAgIHBhcnRzW2ldID0gc2VsO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHBhcnRzXG4gICAgfSxcbiAgICByZXBsYWNlU2VsZWN0aW9uOiBmdW5jdGlvbihjb2RlLCBjb2xsYXBzZSwgb3JpZ2luKSB7XG4gICAgICB2YXIgZHVwID0gW107XG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuc2VsLnJhbmdlcy5sZW5ndGg7IGkrKylcbiAgICAgICAgeyBkdXBbaV0gPSBjb2RlOyB9XG4gICAgICB0aGlzLnJlcGxhY2VTZWxlY3Rpb25zKGR1cCwgY29sbGFwc2UsIG9yaWdpbiB8fCBcIitpbnB1dFwiKTtcbiAgICB9LFxuICAgIHJlcGxhY2VTZWxlY3Rpb25zOiBkb2NNZXRob2RPcChmdW5jdGlvbihjb2RlLCBjb2xsYXBzZSwgb3JpZ2luKSB7XG4gICAgICB2YXIgdGhpcyQxID0gdGhpcztcblxuICAgICAgdmFyIGNoYW5nZXMgPSBbXSwgc2VsID0gdGhpcy5zZWw7XG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHNlbC5yYW5nZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgdmFyIHJhbmdlJCQxID0gc2VsLnJhbmdlc1tpXTtcbiAgICAgICAgY2hhbmdlc1tpXSA9IHtmcm9tOiByYW5nZSQkMS5mcm9tKCksIHRvOiByYW5nZSQkMS50bygpLCB0ZXh0OiB0aGlzJDEuc3BsaXRMaW5lcyhjb2RlW2ldKSwgb3JpZ2luOiBvcmlnaW59O1xuICAgICAgfVxuICAgICAgdmFyIG5ld1NlbCA9IGNvbGxhcHNlICYmIGNvbGxhcHNlICE9IFwiZW5kXCIgJiYgY29tcHV0ZVJlcGxhY2VkU2VsKHRoaXMsIGNoYW5nZXMsIGNvbGxhcHNlKTtcbiAgICAgIGZvciAodmFyIGkkMSA9IGNoYW5nZXMubGVuZ3RoIC0gMTsgaSQxID49IDA7IGkkMS0tKVxuICAgICAgICB7IG1ha2VDaGFuZ2UodGhpcyQxLCBjaGFuZ2VzW2kkMV0pOyB9XG4gICAgICBpZiAobmV3U2VsKSB7IHNldFNlbGVjdGlvblJlcGxhY2VIaXN0b3J5KHRoaXMsIG5ld1NlbCk7IH1cbiAgICAgIGVsc2UgaWYgKHRoaXMuY20pIHsgZW5zdXJlQ3Vyc29yVmlzaWJsZSh0aGlzLmNtKTsgfVxuICAgIH0pLFxuICAgIHVuZG86IGRvY01ldGhvZE9wKGZ1bmN0aW9uKCkge21ha2VDaGFuZ2VGcm9tSGlzdG9yeSh0aGlzLCBcInVuZG9cIik7fSksXG4gICAgcmVkbzogZG9jTWV0aG9kT3AoZnVuY3Rpb24oKSB7bWFrZUNoYW5nZUZyb21IaXN0b3J5KHRoaXMsIFwicmVkb1wiKTt9KSxcbiAgICB1bmRvU2VsZWN0aW9uOiBkb2NNZXRob2RPcChmdW5jdGlvbigpIHttYWtlQ2hhbmdlRnJvbUhpc3RvcnkodGhpcywgXCJ1bmRvXCIsIHRydWUpO30pLFxuICAgIHJlZG9TZWxlY3Rpb246IGRvY01ldGhvZE9wKGZ1bmN0aW9uKCkge21ha2VDaGFuZ2VGcm9tSGlzdG9yeSh0aGlzLCBcInJlZG9cIiwgdHJ1ZSk7fSksXG5cbiAgICBzZXRFeHRlbmRpbmc6IGZ1bmN0aW9uKHZhbCkge3RoaXMuZXh0ZW5kID0gdmFsO30sXG4gICAgZ2V0RXh0ZW5kaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gdGhpcy5leHRlbmR9LFxuXG4gICAgaGlzdG9yeVNpemU6IGZ1bmN0aW9uKCkge1xuICAgICAgdmFyIGhpc3QgPSB0aGlzLmhpc3RvcnksIGRvbmUgPSAwLCB1bmRvbmUgPSAwO1xuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBoaXN0LmRvbmUubGVuZ3RoOyBpKyspIHsgaWYgKCFoaXN0LmRvbmVbaV0ucmFuZ2VzKSB7ICsrZG9uZTsgfSB9XG4gICAgICBmb3IgKHZhciBpJDEgPSAwOyBpJDEgPCBoaXN0LnVuZG9uZS5sZW5ndGg7IGkkMSsrKSB7IGlmICghaGlzdC51bmRvbmVbaSQxXS5yYW5nZXMpIHsgKyt1bmRvbmU7IH0gfVxuICAgICAgcmV0dXJuIHt1bmRvOiBkb25lLCByZWRvOiB1bmRvbmV9XG4gICAgfSxcbiAgICBjbGVhckhpc3Rvcnk6IGZ1bmN0aW9uKCkge3RoaXMuaGlzdG9yeSA9IG5ldyBIaXN0b3J5KHRoaXMuaGlzdG9yeS5tYXhHZW5lcmF0aW9uKTt9LFxuXG4gICAgbWFya0NsZWFuOiBmdW5jdGlvbigpIHtcbiAgICAgIHRoaXMuY2xlYW5HZW5lcmF0aW9uID0gdGhpcy5jaGFuZ2VHZW5lcmF0aW9uKHRydWUpO1xuICAgIH0sXG4gICAgY2hhbmdlR2VuZXJhdGlvbjogZnVuY3Rpb24oZm9yY2VTcGxpdCkge1xuICAgICAgaWYgKGZvcmNlU3BsaXQpXG4gICAgICAgIHsgdGhpcy5oaXN0b3J5Lmxhc3RPcCA9IHRoaXMuaGlzdG9yeS5sYXN0U2VsT3AgPSB0aGlzLmhpc3RvcnkubGFzdE9yaWdpbiA9IG51bGw7IH1cbiAgICAgIHJldHVybiB0aGlzLmhpc3RvcnkuZ2VuZXJhdGlvblxuICAgIH0sXG4gICAgaXNDbGVhbjogZnVuY3Rpb24gKGdlbikge1xuICAgICAgcmV0dXJuIHRoaXMuaGlzdG9yeS5nZW5lcmF0aW9uID09IChnZW4gfHwgdGhpcy5jbGVhbkdlbmVyYXRpb24pXG4gICAgfSxcblxuICAgIGdldEhpc3Rvcnk6IGZ1bmN0aW9uKCkge1xuICAgICAgcmV0dXJuIHtkb25lOiBjb3B5SGlzdG9yeUFycmF5KHRoaXMuaGlzdG9yeS5kb25lKSxcbiAgICAgICAgICAgICAgdW5kb25lOiBjb3B5SGlzdG9yeUFycmF5KHRoaXMuaGlzdG9yeS51bmRvbmUpfVxuICAgIH0sXG4gICAgc2V0SGlzdG9yeTogZnVuY3Rpb24oaGlzdERhdGEpIHtcbiAgICAgIHZhciBoaXN0ID0gdGhpcy5oaXN0b3J5ID0gbmV3IEhpc3RvcnkodGhpcy5oaXN0b3J5Lm1heEdlbmVyYXRpb24pO1xuICAgICAgaGlzdC5kb25lID0gY29weUhpc3RvcnlBcnJheShoaXN0RGF0YS5kb25lLnNsaWNlKDApLCBudWxsLCB0cnVlKTtcbiAgICAgIGhpc3QudW5kb25lID0gY29weUhpc3RvcnlBcnJheShoaXN0RGF0YS51bmRvbmUuc2xpY2UoMCksIG51bGwsIHRydWUpO1xuICAgIH0sXG5cbiAgICBzZXRHdXR0ZXJNYXJrZXI6IGRvY01ldGhvZE9wKGZ1bmN0aW9uKGxpbmUsIGd1dHRlcklELCB2YWx1ZSkge1xuICAgICAgcmV0dXJuIGNoYW5nZUxpbmUodGhpcywgbGluZSwgXCJndXR0ZXJcIiwgZnVuY3Rpb24gKGxpbmUpIHtcbiAgICAgICAgdmFyIG1hcmtlcnMgPSBsaW5lLmd1dHRlck1hcmtlcnMgfHwgKGxpbmUuZ3V0dGVyTWFya2VycyA9IHt9KTtcbiAgICAgICAgbWFya2Vyc1tndXR0ZXJJRF0gPSB2YWx1ZTtcbiAgICAgICAgaWYgKCF2YWx1ZSAmJiBpc0VtcHR5KG1hcmtlcnMpKSB7IGxpbmUuZ3V0dGVyTWFya2VycyA9IG51bGw7IH1cbiAgICAgICAgcmV0dXJuIHRydWVcbiAgICAgIH0pXG4gICAgfSksXG5cbiAgICBjbGVhckd1dHRlcjogZG9jTWV0aG9kT3AoZnVuY3Rpb24oZ3V0dGVySUQpIHtcbiAgICAgIHZhciB0aGlzJDEgPSB0aGlzO1xuXG4gICAgICB0aGlzLml0ZXIoZnVuY3Rpb24gKGxpbmUpIHtcbiAgICAgICAgaWYgKGxpbmUuZ3V0dGVyTWFya2VycyAmJiBsaW5lLmd1dHRlck1hcmtlcnNbZ3V0dGVySURdKSB7XG4gICAgICAgICAgY2hhbmdlTGluZSh0aGlzJDEsIGxpbmUsIFwiZ3V0dGVyXCIsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIGxpbmUuZ3V0dGVyTWFya2Vyc1tndXR0ZXJJRF0gPSBudWxsO1xuICAgICAgICAgICAgaWYgKGlzRW1wdHkobGluZS5ndXR0ZXJNYXJrZXJzKSkgeyBsaW5lLmd1dHRlck1hcmtlcnMgPSBudWxsOyB9XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9KSxcblxuICAgIGxpbmVJbmZvOiBmdW5jdGlvbihsaW5lKSB7XG4gICAgICB2YXIgbjtcbiAgICAgIGlmICh0eXBlb2YgbGluZSA9PSBcIm51bWJlclwiKSB7XG4gICAgICAgIGlmICghaXNMaW5lKHRoaXMsIGxpbmUpKSB7IHJldHVybiBudWxsIH1cbiAgICAgICAgbiA9IGxpbmU7XG4gICAgICAgIGxpbmUgPSBnZXRMaW5lKHRoaXMsIGxpbmUpO1xuICAgICAgICBpZiAoIWxpbmUpIHsgcmV0dXJuIG51bGwgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbiA9IGxpbmVObyhsaW5lKTtcbiAgICAgICAgaWYgKG4gPT0gbnVsbCkgeyByZXR1cm4gbnVsbCB9XG4gICAgICB9XG4gICAgICByZXR1cm4ge2xpbmU6IG4sIGhhbmRsZTogbGluZSwgdGV4dDogbGluZS50ZXh0LCBndXR0ZXJNYXJrZXJzOiBsaW5lLmd1dHRlck1hcmtlcnMsXG4gICAgICAgICAgICAgIHRleHRDbGFzczogbGluZS50ZXh0Q2xhc3MsIGJnQ2xhc3M6IGxpbmUuYmdDbGFzcywgd3JhcENsYXNzOiBsaW5lLndyYXBDbGFzcyxcbiAgICAgICAgICAgICAgd2lkZ2V0czogbGluZS53aWRnZXRzfVxuICAgIH0sXG5cbiAgICBhZGRMaW5lQ2xhc3M6IGRvY01ldGhvZE9wKGZ1bmN0aW9uKGhhbmRsZSwgd2hlcmUsIGNscykge1xuICAgICAgcmV0dXJuIGNoYW5nZUxpbmUodGhpcywgaGFuZGxlLCB3aGVyZSA9PSBcImd1dHRlclwiID8gXCJndXR0ZXJcIiA6IFwiY2xhc3NcIiwgZnVuY3Rpb24gKGxpbmUpIHtcbiAgICAgICAgdmFyIHByb3AgPSB3aGVyZSA9PSBcInRleHRcIiA/IFwidGV4dENsYXNzXCJcbiAgICAgICAgICAgICAgICAgOiB3aGVyZSA9PSBcImJhY2tncm91bmRcIiA/IFwiYmdDbGFzc1wiXG4gICAgICAgICAgICAgICAgIDogd2hlcmUgPT0gXCJndXR0ZXJcIiA/IFwiZ3V0dGVyQ2xhc3NcIiA6IFwid3JhcENsYXNzXCI7XG4gICAgICAgIGlmICghbGluZVtwcm9wXSkgeyBsaW5lW3Byb3BdID0gY2xzOyB9XG4gICAgICAgIGVsc2UgaWYgKGNsYXNzVGVzdChjbHMpLnRlc3QobGluZVtwcm9wXSkpIHsgcmV0dXJuIGZhbHNlIH1cbiAgICAgICAgZWxzZSB7IGxpbmVbcHJvcF0gKz0gXCIgXCIgKyBjbHM7IH1cbiAgICAgICAgcmV0dXJuIHRydWVcbiAgICAgIH0pXG4gICAgfSksXG4gICAgcmVtb3ZlTGluZUNsYXNzOiBkb2NNZXRob2RPcChmdW5jdGlvbihoYW5kbGUsIHdoZXJlLCBjbHMpIHtcbiAgICAgIHJldHVybiBjaGFuZ2VMaW5lKHRoaXMsIGhhbmRsZSwgd2hlcmUgPT0gXCJndXR0ZXJcIiA/IFwiZ3V0dGVyXCIgOiBcImNsYXNzXCIsIGZ1bmN0aW9uIChsaW5lKSB7XG4gICAgICAgIHZhciBwcm9wID0gd2hlcmUgPT0gXCJ0ZXh0XCIgPyBcInRleHRDbGFzc1wiXG4gICAgICAgICAgICAgICAgIDogd2hlcmUgPT0gXCJiYWNrZ3JvdW5kXCIgPyBcImJnQ2xhc3NcIlxuICAgICAgICAgICAgICAgICA6IHdoZXJlID09IFwiZ3V0dGVyXCIgPyBcImd1dHRlckNsYXNzXCIgOiBcIndyYXBDbGFzc1wiO1xuICAgICAgICB2YXIgY3VyID0gbGluZVtwcm9wXTtcbiAgICAgICAgaWYgKCFjdXIpIHsgcmV0dXJuIGZhbHNlIH1cbiAgICAgICAgZWxzZSBpZiAoY2xzID09IG51bGwpIHsgbGluZVtwcm9wXSA9IG51bGw7IH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgdmFyIGZvdW5kID0gY3VyLm1hdGNoKGNsYXNzVGVzdChjbHMpKTtcbiAgICAgICAgICBpZiAoIWZvdW5kKSB7IHJldHVybiBmYWxzZSB9XG4gICAgICAgICAgdmFyIGVuZCA9IGZvdW5kLmluZGV4ICsgZm91bmRbMF0ubGVuZ3RoO1xuICAgICAgICAgIGxpbmVbcHJvcF0gPSBjdXIuc2xpY2UoMCwgZm91bmQuaW5kZXgpICsgKCFmb3VuZC5pbmRleCB8fCBlbmQgPT0gY3VyLmxlbmd0aCA/IFwiXCIgOiBcIiBcIikgKyBjdXIuc2xpY2UoZW5kKSB8fCBudWxsO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0cnVlXG4gICAgICB9KVxuICAgIH0pLFxuXG4gICAgYWRkTGluZVdpZGdldDogZG9jTWV0aG9kT3AoZnVuY3Rpb24oaGFuZGxlLCBub2RlLCBvcHRpb25zKSB7XG4gICAgICByZXR1cm4gYWRkTGluZVdpZGdldCh0aGlzLCBoYW5kbGUsIG5vZGUsIG9wdGlvbnMpXG4gICAgfSksXG4gICAgcmVtb3ZlTGluZVdpZGdldDogZnVuY3Rpb24od2lkZ2V0KSB7IHdpZGdldC5jbGVhcigpOyB9LFxuXG4gICAgbWFya1RleHQ6IGZ1bmN0aW9uKGZyb20sIHRvLCBvcHRpb25zKSB7XG4gICAgICByZXR1cm4gbWFya1RleHQodGhpcywgY2xpcFBvcyh0aGlzLCBmcm9tKSwgY2xpcFBvcyh0aGlzLCB0byksIG9wdGlvbnMsIG9wdGlvbnMgJiYgb3B0aW9ucy50eXBlIHx8IFwicmFuZ2VcIilcbiAgICB9LFxuICAgIHNldEJvb2ttYXJrOiBmdW5jdGlvbihwb3MsIG9wdGlvbnMpIHtcbiAgICAgIHZhciByZWFsT3B0cyA9IHtyZXBsYWNlZFdpdGg6IG9wdGlvbnMgJiYgKG9wdGlvbnMubm9kZVR5cGUgPT0gbnVsbCA/IG9wdGlvbnMud2lkZ2V0IDogb3B0aW9ucyksXG4gICAgICAgICAgICAgICAgICAgICAgaW5zZXJ0TGVmdDogb3B0aW9ucyAmJiBvcHRpb25zLmluc2VydExlZnQsXG4gICAgICAgICAgICAgICAgICAgICAgY2xlYXJXaGVuRW1wdHk6IGZhbHNlLCBzaGFyZWQ6IG9wdGlvbnMgJiYgb3B0aW9ucy5zaGFyZWQsXG4gICAgICAgICAgICAgICAgICAgICAgaGFuZGxlTW91c2VFdmVudHM6IG9wdGlvbnMgJiYgb3B0aW9ucy5oYW5kbGVNb3VzZUV2ZW50c307XG4gICAgICBwb3MgPSBjbGlwUG9zKHRoaXMsIHBvcyk7XG4gICAgICByZXR1cm4gbWFya1RleHQodGhpcywgcG9zLCBwb3MsIHJlYWxPcHRzLCBcImJvb2ttYXJrXCIpXG4gICAgfSxcbiAgICBmaW5kTWFya3NBdDogZnVuY3Rpb24ocG9zKSB7XG4gICAgICBwb3MgPSBjbGlwUG9zKHRoaXMsIHBvcyk7XG4gICAgICB2YXIgbWFya2VycyA9IFtdLCBzcGFucyA9IGdldExpbmUodGhpcywgcG9zLmxpbmUpLm1hcmtlZFNwYW5zO1xuICAgICAgaWYgKHNwYW5zKSB7IGZvciAodmFyIGkgPSAwOyBpIDwgc3BhbnMubGVuZ3RoOyArK2kpIHtcbiAgICAgICAgdmFyIHNwYW4gPSBzcGFuc1tpXTtcbiAgICAgICAgaWYgKChzcGFuLmZyb20gPT0gbnVsbCB8fCBzcGFuLmZyb20gPD0gcG9zLmNoKSAmJlxuICAgICAgICAgICAgKHNwYW4udG8gPT0gbnVsbCB8fCBzcGFuLnRvID49IHBvcy5jaCkpXG4gICAgICAgICAgeyBtYXJrZXJzLnB1c2goc3Bhbi5tYXJrZXIucGFyZW50IHx8IHNwYW4ubWFya2VyKTsgfVxuICAgICAgfSB9XG4gICAgICByZXR1cm4gbWFya2Vyc1xuICAgIH0sXG4gICAgZmluZE1hcmtzOiBmdW5jdGlvbihmcm9tLCB0bywgZmlsdGVyKSB7XG4gICAgICBmcm9tID0gY2xpcFBvcyh0aGlzLCBmcm9tKTsgdG8gPSBjbGlwUG9zKHRoaXMsIHRvKTtcbiAgICAgIHZhciBmb3VuZCA9IFtdLCBsaW5lTm8kJDEgPSBmcm9tLmxpbmU7XG4gICAgICB0aGlzLml0ZXIoZnJvbS5saW5lLCB0by5saW5lICsgMSwgZnVuY3Rpb24gKGxpbmUpIHtcbiAgICAgICAgdmFyIHNwYW5zID0gbGluZS5tYXJrZWRTcGFucztcbiAgICAgICAgaWYgKHNwYW5zKSB7IGZvciAodmFyIGkgPSAwOyBpIDwgc3BhbnMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICB2YXIgc3BhbiA9IHNwYW5zW2ldO1xuICAgICAgICAgIGlmICghKHNwYW4udG8gIT0gbnVsbCAmJiBsaW5lTm8kJDEgPT0gZnJvbS5saW5lICYmIGZyb20uY2ggPj0gc3Bhbi50byB8fFxuICAgICAgICAgICAgICAgIHNwYW4uZnJvbSA9PSBudWxsICYmIGxpbmVObyQkMSAhPSBmcm9tLmxpbmUgfHxcbiAgICAgICAgICAgICAgICBzcGFuLmZyb20gIT0gbnVsbCAmJiBsaW5lTm8kJDEgPT0gdG8ubGluZSAmJiBzcGFuLmZyb20gPj0gdG8uY2gpICYmXG4gICAgICAgICAgICAgICghZmlsdGVyIHx8IGZpbHRlcihzcGFuLm1hcmtlcikpKVxuICAgICAgICAgICAgeyBmb3VuZC5wdXNoKHNwYW4ubWFya2VyLnBhcmVudCB8fCBzcGFuLm1hcmtlcik7IH1cbiAgICAgICAgfSB9XG4gICAgICAgICsrbGluZU5vJCQxO1xuICAgICAgfSk7XG4gICAgICByZXR1cm4gZm91bmRcbiAgICB9LFxuICAgIGdldEFsbE1hcmtzOiBmdW5jdGlvbigpIHtcbiAgICAgIHZhciBtYXJrZXJzID0gW107XG4gICAgICB0aGlzLml0ZXIoZnVuY3Rpb24gKGxpbmUpIHtcbiAgICAgICAgdmFyIHNwcyA9IGxpbmUubWFya2VkU3BhbnM7XG4gICAgICAgIGlmIChzcHMpIHsgZm9yICh2YXIgaSA9IDA7IGkgPCBzcHMubGVuZ3RoOyArK2kpXG4gICAgICAgICAgeyBpZiAoc3BzW2ldLmZyb20gIT0gbnVsbCkgeyBtYXJrZXJzLnB1c2goc3BzW2ldLm1hcmtlcik7IH0gfSB9XG4gICAgICB9KTtcbiAgICAgIHJldHVybiBtYXJrZXJzXG4gICAgfSxcblxuICAgIHBvc0Zyb21JbmRleDogZnVuY3Rpb24ob2ZmKSB7XG4gICAgICB2YXIgY2gsIGxpbmVObyQkMSA9IHRoaXMuZmlyc3QsIHNlcFNpemUgPSB0aGlzLmxpbmVTZXBhcmF0b3IoKS5sZW5ndGg7XG4gICAgICB0aGlzLml0ZXIoZnVuY3Rpb24gKGxpbmUpIHtcbiAgICAgICAgdmFyIHN6ID0gbGluZS50ZXh0Lmxlbmd0aCArIHNlcFNpemU7XG4gICAgICAgIGlmIChzeiA+IG9mZikgeyBjaCA9IG9mZjsgcmV0dXJuIHRydWUgfVxuICAgICAgICBvZmYgLT0gc3o7XG4gICAgICAgICsrbGluZU5vJCQxO1xuICAgICAgfSk7XG4gICAgICByZXR1cm4gY2xpcFBvcyh0aGlzLCBQb3MobGluZU5vJCQxLCBjaCkpXG4gICAgfSxcbiAgICBpbmRleEZyb21Qb3M6IGZ1bmN0aW9uIChjb29yZHMpIHtcbiAgICAgIGNvb3JkcyA9IGNsaXBQb3ModGhpcywgY29vcmRzKTtcbiAgICAgIHZhciBpbmRleCA9IGNvb3Jkcy5jaDtcbiAgICAgIGlmIChjb29yZHMubGluZSA8IHRoaXMuZmlyc3QgfHwgY29vcmRzLmNoIDwgMCkgeyByZXR1cm4gMCB9XG4gICAgICB2YXIgc2VwU2l6ZSA9IHRoaXMubGluZVNlcGFyYXRvcigpLmxlbmd0aDtcbiAgICAgIHRoaXMuaXRlcih0aGlzLmZpcnN0LCBjb29yZHMubGluZSwgZnVuY3Rpb24gKGxpbmUpIHsgLy8gaXRlciBhYm9ydHMgd2hlbiBjYWxsYmFjayByZXR1cm5zIGEgdHJ1dGh5IHZhbHVlXG4gICAgICAgIGluZGV4ICs9IGxpbmUudGV4dC5sZW5ndGggKyBzZXBTaXplO1xuICAgICAgfSk7XG4gICAgICByZXR1cm4gaW5kZXhcbiAgICB9LFxuXG4gICAgY29weTogZnVuY3Rpb24oY29weUhpc3RvcnkpIHtcbiAgICAgIHZhciBkb2MgPSBuZXcgRG9jKGdldExpbmVzKHRoaXMsIHRoaXMuZmlyc3QsIHRoaXMuZmlyc3QgKyB0aGlzLnNpemUpLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5tb2RlT3B0aW9uLCB0aGlzLmZpcnN0LCB0aGlzLmxpbmVTZXAsIHRoaXMuZGlyZWN0aW9uKTtcbiAgICAgIGRvYy5zY3JvbGxUb3AgPSB0aGlzLnNjcm9sbFRvcDsgZG9jLnNjcm9sbExlZnQgPSB0aGlzLnNjcm9sbExlZnQ7XG4gICAgICBkb2Muc2VsID0gdGhpcy5zZWw7XG4gICAgICBkb2MuZXh0ZW5kID0gZmFsc2U7XG4gICAgICBpZiAoY29weUhpc3RvcnkpIHtcbiAgICAgICAgZG9jLmhpc3RvcnkudW5kb0RlcHRoID0gdGhpcy5oaXN0b3J5LnVuZG9EZXB0aDtcbiAgICAgICAgZG9jLnNldEhpc3RvcnkodGhpcy5nZXRIaXN0b3J5KCkpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGRvY1xuICAgIH0sXG5cbiAgICBsaW5rZWREb2M6IGZ1bmN0aW9uKG9wdGlvbnMpIHtcbiAgICAgIGlmICghb3B0aW9ucykgeyBvcHRpb25zID0ge307IH1cbiAgICAgIHZhciBmcm9tID0gdGhpcy5maXJzdCwgdG8gPSB0aGlzLmZpcnN0ICsgdGhpcy5zaXplO1xuICAgICAgaWYgKG9wdGlvbnMuZnJvbSAhPSBudWxsICYmIG9wdGlvbnMuZnJvbSA+IGZyb20pIHsgZnJvbSA9IG9wdGlvbnMuZnJvbTsgfVxuICAgICAgaWYgKG9wdGlvbnMudG8gIT0gbnVsbCAmJiBvcHRpb25zLnRvIDwgdG8pIHsgdG8gPSBvcHRpb25zLnRvOyB9XG4gICAgICB2YXIgY29weSA9IG5ldyBEb2MoZ2V0TGluZXModGhpcywgZnJvbSwgdG8pLCBvcHRpb25zLm1vZGUgfHwgdGhpcy5tb2RlT3B0aW9uLCBmcm9tLCB0aGlzLmxpbmVTZXAsIHRoaXMuZGlyZWN0aW9uKTtcbiAgICAgIGlmIChvcHRpb25zLnNoYXJlZEhpc3QpIHsgY29weS5oaXN0b3J5ID0gdGhpcy5oaXN0b3J5XG4gICAgICA7IH0odGhpcy5saW5rZWQgfHwgKHRoaXMubGlua2VkID0gW10pKS5wdXNoKHtkb2M6IGNvcHksIHNoYXJlZEhpc3Q6IG9wdGlvbnMuc2hhcmVkSGlzdH0pO1xuICAgICAgY29weS5saW5rZWQgPSBbe2RvYzogdGhpcywgaXNQYXJlbnQ6IHRydWUsIHNoYXJlZEhpc3Q6IG9wdGlvbnMuc2hhcmVkSGlzdH1dO1xuICAgICAgY29weVNoYXJlZE1hcmtlcnMoY29weSwgZmluZFNoYXJlZE1hcmtlcnModGhpcykpO1xuICAgICAgcmV0dXJuIGNvcHlcbiAgICB9LFxuICAgIHVubGlua0RvYzogZnVuY3Rpb24ob3RoZXIpIHtcbiAgICAgIHZhciB0aGlzJDEgPSB0aGlzO1xuXG4gICAgICBpZiAob3RoZXIgaW5zdGFuY2VvZiBDb2RlTWlycm9yKSB7IG90aGVyID0gb3RoZXIuZG9jOyB9XG4gICAgICBpZiAodGhpcy5saW5rZWQpIHsgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmxpbmtlZC5sZW5ndGg7ICsraSkge1xuICAgICAgICB2YXIgbGluayA9IHRoaXMkMS5saW5rZWRbaV07XG4gICAgICAgIGlmIChsaW5rLmRvYyAhPSBvdGhlcikgeyBjb250aW51ZSB9XG4gICAgICAgIHRoaXMkMS5saW5rZWQuc3BsaWNlKGksIDEpO1xuICAgICAgICBvdGhlci51bmxpbmtEb2ModGhpcyQxKTtcbiAgICAgICAgZGV0YWNoU2hhcmVkTWFya2VycyhmaW5kU2hhcmVkTWFya2Vycyh0aGlzJDEpKTtcbiAgICAgICAgYnJlYWtcbiAgICAgIH0gfVxuICAgICAgLy8gSWYgdGhlIGhpc3RvcmllcyB3ZXJlIHNoYXJlZCwgc3BsaXQgdGhlbSBhZ2FpblxuICAgICAgaWYgKG90aGVyLmhpc3RvcnkgPT0gdGhpcy5oaXN0b3J5KSB7XG4gICAgICAgIHZhciBzcGxpdElkcyA9IFtvdGhlci5pZF07XG4gICAgICAgIGxpbmtlZERvY3Mob3RoZXIsIGZ1bmN0aW9uIChkb2MpIHsgcmV0dXJuIHNwbGl0SWRzLnB1c2goZG9jLmlkKTsgfSwgdHJ1ZSk7XG4gICAgICAgIG90aGVyLmhpc3RvcnkgPSBuZXcgSGlzdG9yeShudWxsKTtcbiAgICAgICAgb3RoZXIuaGlzdG9yeS5kb25lID0gY29weUhpc3RvcnlBcnJheSh0aGlzLmhpc3RvcnkuZG9uZSwgc3BsaXRJZHMpO1xuICAgICAgICBvdGhlci5oaXN0b3J5LnVuZG9uZSA9IGNvcHlIaXN0b3J5QXJyYXkodGhpcy5oaXN0b3J5LnVuZG9uZSwgc3BsaXRJZHMpO1xuICAgICAgfVxuICAgIH0sXG4gICAgaXRlckxpbmtlZERvY3M6IGZ1bmN0aW9uKGYpIHtsaW5rZWREb2NzKHRoaXMsIGYpO30sXG5cbiAgICBnZXRNb2RlOiBmdW5jdGlvbigpIHtyZXR1cm4gdGhpcy5tb2RlfSxcbiAgICBnZXRFZGl0b3I6IGZ1bmN0aW9uKCkge3JldHVybiB0aGlzLmNtfSxcblxuICAgIHNwbGl0TGluZXM6IGZ1bmN0aW9uKHN0cikge1xuICAgICAgaWYgKHRoaXMubGluZVNlcCkgeyByZXR1cm4gc3RyLnNwbGl0KHRoaXMubGluZVNlcCkgfVxuICAgICAgcmV0dXJuIHNwbGl0TGluZXNBdXRvKHN0cilcbiAgICB9LFxuICAgIGxpbmVTZXBhcmF0b3I6IGZ1bmN0aW9uKCkgeyByZXR1cm4gdGhpcy5saW5lU2VwIHx8IFwiXFxuXCIgfSxcblxuICAgIHNldERpcmVjdGlvbjogZG9jTWV0aG9kT3AoZnVuY3Rpb24gKGRpcikge1xuICAgICAgaWYgKGRpciAhPSBcInJ0bFwiKSB7IGRpciA9IFwibHRyXCI7IH1cbiAgICAgIGlmIChkaXIgPT0gdGhpcy5kaXJlY3Rpb24pIHsgcmV0dXJuIH1cbiAgICAgIHRoaXMuZGlyZWN0aW9uID0gZGlyO1xuICAgICAgdGhpcy5pdGVyKGZ1bmN0aW9uIChsaW5lKSB7IHJldHVybiBsaW5lLm9yZGVyID0gbnVsbDsgfSk7XG4gICAgICBpZiAodGhpcy5jbSkgeyBkaXJlY3Rpb25DaGFuZ2VkKHRoaXMuY20pOyB9XG4gICAgfSlcbiAgfSk7XG5cbiAgLy8gUHVibGljIGFsaWFzLlxuICBEb2MucHJvdG90eXBlLmVhY2hMaW5lID0gRG9jLnByb3RvdHlwZS5pdGVyO1xuXG4gIC8vIEtsdWRnZSB0byB3b3JrIGFyb3VuZCBzdHJhbmdlIElFIGJlaGF2aW9yIHdoZXJlIGl0J2xsIHNvbWV0aW1lc1xuICAvLyByZS1maXJlIGEgc2VyaWVzIG9mIGRyYWctcmVsYXRlZCBldmVudHMgcmlnaHQgYWZ0ZXIgdGhlIGRyb3AgKCMxNTUxKVxuICB2YXIgbGFzdERyb3AgPSAwO1xuXG4gIGZ1bmN0aW9uIG9uRHJvcChlKSB7XG4gICAgdmFyIGNtID0gdGhpcztcbiAgICBjbGVhckRyYWdDdXJzb3IoY20pO1xuICAgIGlmIChzaWduYWxET01FdmVudChjbSwgZSkgfHwgZXZlbnRJbldpZGdldChjbS5kaXNwbGF5LCBlKSlcbiAgICAgIHsgcmV0dXJuIH1cbiAgICBlX3ByZXZlbnREZWZhdWx0KGUpO1xuICAgIGlmIChpZSkgeyBsYXN0RHJvcCA9ICtuZXcgRGF0ZTsgfVxuICAgIHZhciBwb3MgPSBwb3NGcm9tTW91c2UoY20sIGUsIHRydWUpLCBmaWxlcyA9IGUuZGF0YVRyYW5zZmVyLmZpbGVzO1xuICAgIGlmICghcG9zIHx8IGNtLmlzUmVhZE9ubHkoKSkgeyByZXR1cm4gfVxuICAgIC8vIE1pZ2h0IGJlIGEgZmlsZSBkcm9wLCBpbiB3aGljaCBjYXNlIHdlIHNpbXBseSBleHRyYWN0IHRoZSB0ZXh0XG4gICAgLy8gYW5kIGluc2VydCBpdC5cbiAgICBpZiAoZmlsZXMgJiYgZmlsZXMubGVuZ3RoICYmIHdpbmRvdy5GaWxlUmVhZGVyICYmIHdpbmRvdy5GaWxlKSB7XG4gICAgICB2YXIgbiA9IGZpbGVzLmxlbmd0aCwgdGV4dCA9IEFycmF5KG4pLCByZWFkID0gMDtcbiAgICAgIHZhciBsb2FkRmlsZSA9IGZ1bmN0aW9uIChmaWxlLCBpKSB7XG4gICAgICAgIGlmIChjbS5vcHRpb25zLmFsbG93RHJvcEZpbGVUeXBlcyAmJlxuICAgICAgICAgICAgaW5kZXhPZihjbS5vcHRpb25zLmFsbG93RHJvcEZpbGVUeXBlcywgZmlsZS50eXBlKSA9PSAtMSlcbiAgICAgICAgICB7IHJldHVybiB9XG5cbiAgICAgICAgdmFyIHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyO1xuICAgICAgICByZWFkZXIub25sb2FkID0gb3BlcmF0aW9uKGNtLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgdmFyIGNvbnRlbnQgPSByZWFkZXIucmVzdWx0O1xuICAgICAgICAgIGlmICgvW1xceDAwLVxceDA4XFx4MGUtXFx4MWZdezJ9Ly50ZXN0KGNvbnRlbnQpKSB7IGNvbnRlbnQgPSBcIlwiOyB9XG4gICAgICAgICAgdGV4dFtpXSA9IGNvbnRlbnQ7XG4gICAgICAgICAgaWYgKCsrcmVhZCA9PSBuKSB7XG4gICAgICAgICAgICBwb3MgPSBjbGlwUG9zKGNtLmRvYywgcG9zKTtcbiAgICAgICAgICAgIHZhciBjaGFuZ2UgPSB7ZnJvbTogcG9zLCB0bzogcG9zLFxuICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0OiBjbS5kb2Muc3BsaXRMaW5lcyh0ZXh0LmpvaW4oY20uZG9jLmxpbmVTZXBhcmF0b3IoKSkpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBvcmlnaW46IFwicGFzdGVcIn07XG4gICAgICAgICAgICBtYWtlQ2hhbmdlKGNtLmRvYywgY2hhbmdlKTtcbiAgICAgICAgICAgIHNldFNlbGVjdGlvblJlcGxhY2VIaXN0b3J5KGNtLmRvYywgc2ltcGxlU2VsZWN0aW9uKHBvcywgY2hhbmdlRW5kKGNoYW5nZSkpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICByZWFkZXIucmVhZEFzVGV4dChmaWxlKTtcbiAgICAgIH07XG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IG47ICsraSkgeyBsb2FkRmlsZShmaWxlc1tpXSwgaSk7IH1cbiAgICB9IGVsc2UgeyAvLyBOb3JtYWwgZHJvcFxuICAgICAgLy8gRG9uJ3QgZG8gYSByZXBsYWNlIGlmIHRoZSBkcm9wIGhhcHBlbmVkIGluc2lkZSBvZiB0aGUgc2VsZWN0ZWQgdGV4dC5cbiAgICAgIGlmIChjbS5zdGF0ZS5kcmFnZ2luZ1RleHQgJiYgY20uZG9jLnNlbC5jb250YWlucyhwb3MpID4gLTEpIHtcbiAgICAgICAgY20uc3RhdGUuZHJhZ2dpbmdUZXh0KGUpO1xuICAgICAgICAvLyBFbnN1cmUgdGhlIGVkaXRvciBpcyByZS1mb2N1c2VkXG4gICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkgeyByZXR1cm4gY20uZGlzcGxheS5pbnB1dC5mb2N1cygpOyB9LCAyMCk7XG4gICAgICAgIHJldHVyblxuICAgICAgfVxuICAgICAgdHJ5IHtcbiAgICAgICAgdmFyIHRleHQkMSA9IGUuZGF0YVRyYW5zZmVyLmdldERhdGEoXCJUZXh0XCIpO1xuICAgICAgICBpZiAodGV4dCQxKSB7XG4gICAgICAgICAgdmFyIHNlbGVjdGVkO1xuICAgICAgICAgIGlmIChjbS5zdGF0ZS5kcmFnZ2luZ1RleHQgJiYgIWNtLnN0YXRlLmRyYWdnaW5nVGV4dC5jb3B5KVxuICAgICAgICAgICAgeyBzZWxlY3RlZCA9IGNtLmxpc3RTZWxlY3Rpb25zKCk7IH1cbiAgICAgICAgICBzZXRTZWxlY3Rpb25Ob1VuZG8oY20uZG9jLCBzaW1wbGVTZWxlY3Rpb24ocG9zLCBwb3MpKTtcbiAgICAgICAgICBpZiAoc2VsZWN0ZWQpIHsgZm9yICh2YXIgaSQxID0gMDsgaSQxIDwgc2VsZWN0ZWQubGVuZ3RoOyArK2kkMSlcbiAgICAgICAgICAgIHsgcmVwbGFjZVJhbmdlKGNtLmRvYywgXCJcIiwgc2VsZWN0ZWRbaSQxXS5hbmNob3IsIHNlbGVjdGVkW2kkMV0uaGVhZCwgXCJkcmFnXCIpOyB9IH1cbiAgICAgICAgICBjbS5yZXBsYWNlU2VsZWN0aW9uKHRleHQkMSwgXCJhcm91bmRcIiwgXCJwYXN0ZVwiKTtcbiAgICAgICAgICBjbS5kaXNwbGF5LmlucHV0LmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGNhdGNoKGUpe31cbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBvbkRyYWdTdGFydChjbSwgZSkge1xuICAgIGlmIChpZSAmJiAoIWNtLnN0YXRlLmRyYWdnaW5nVGV4dCB8fCArbmV3IERhdGUgLSBsYXN0RHJvcCA8IDEwMCkpIHsgZV9zdG9wKGUpOyByZXR1cm4gfVxuICAgIGlmIChzaWduYWxET01FdmVudChjbSwgZSkgfHwgZXZlbnRJbldpZGdldChjbS5kaXNwbGF5LCBlKSkgeyByZXR1cm4gfVxuXG4gICAgZS5kYXRhVHJhbnNmZXIuc2V0RGF0YShcIlRleHRcIiwgY20uZ2V0U2VsZWN0aW9uKCkpO1xuICAgIGUuZGF0YVRyYW5zZmVyLmVmZmVjdEFsbG93ZWQgPSBcImNvcHlNb3ZlXCI7XG5cbiAgICAvLyBVc2UgZHVtbXkgaW1hZ2UgaW5zdGVhZCBvZiBkZWZhdWx0IGJyb3dzZXJzIGltYWdlLlxuICAgIC8vIFJlY2VudCBTYWZhcmkgKH42LjAuMikgaGF2ZSBhIHRlbmRlbmN5IHRvIHNlZ2ZhdWx0IHdoZW4gdGhpcyBoYXBwZW5zLCBzbyB3ZSBkb24ndCBkbyBpdCB0aGVyZS5cbiAgICBpZiAoZS5kYXRhVHJhbnNmZXIuc2V0RHJhZ0ltYWdlICYmICFzYWZhcmkpIHtcbiAgICAgIHZhciBpbWcgPSBlbHQoXCJpbWdcIiwgbnVsbCwgbnVsbCwgXCJwb3NpdGlvbjogZml4ZWQ7IGxlZnQ6IDA7IHRvcDogMDtcIik7XG4gICAgICBpbWcuc3JjID0gXCJkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhBUUFCQUFBQUFDSDVCQUVLQUFFQUxBQUFBQUFCQUFFQUFBSUNUQUVBT3c9PVwiO1xuICAgICAgaWYgKHByZXN0bykge1xuICAgICAgICBpbWcud2lkdGggPSBpbWcuaGVpZ2h0ID0gMTtcbiAgICAgICAgY20uZGlzcGxheS53cmFwcGVyLmFwcGVuZENoaWxkKGltZyk7XG4gICAgICAgIC8vIEZvcmNlIGEgcmVsYXlvdXQsIG9yIE9wZXJhIHdvbid0IHVzZSBvdXIgaW1hZ2UgZm9yIHNvbWUgb2JzY3VyZSByZWFzb25cbiAgICAgICAgaW1nLl90b3AgPSBpbWcub2Zmc2V0VG9wO1xuICAgICAgfVxuICAgICAgZS5kYXRhVHJhbnNmZXIuc2V0RHJhZ0ltYWdlKGltZywgMCwgMCk7XG4gICAgICBpZiAocHJlc3RvKSB7IGltZy5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGltZyk7IH1cbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBvbkRyYWdPdmVyKGNtLCBlKSB7XG4gICAgdmFyIHBvcyA9IHBvc0Zyb21Nb3VzZShjbSwgZSk7XG4gICAgaWYgKCFwb3MpIHsgcmV0dXJuIH1cbiAgICB2YXIgZnJhZyA9IGRvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTtcbiAgICBkcmF3U2VsZWN0aW9uQ3Vyc29yKGNtLCBwb3MsIGZyYWcpO1xuICAgIGlmICghY20uZGlzcGxheS5kcmFnQ3Vyc29yKSB7XG4gICAgICBjbS5kaXNwbGF5LmRyYWdDdXJzb3IgPSBlbHQoXCJkaXZcIiwgbnVsbCwgXCJDb2RlTWlycm9yLWN1cnNvcnMgQ29kZU1pcnJvci1kcmFnY3Vyc29yc1wiKTtcbiAgICAgIGNtLmRpc3BsYXkubGluZVNwYWNlLmluc2VydEJlZm9yZShjbS5kaXNwbGF5LmRyYWdDdXJzb3IsIGNtLmRpc3BsYXkuY3Vyc29yRGl2KTtcbiAgICB9XG4gICAgcmVtb3ZlQ2hpbGRyZW5BbmRBZGQoY20uZGlzcGxheS5kcmFnQ3Vyc29yLCBmcmFnKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGNsZWFyRHJhZ0N1cnNvcihjbSkge1xuICAgIGlmIChjbS5kaXNwbGF5LmRyYWdDdXJzb3IpIHtcbiAgICAgIGNtLmRpc3BsYXkubGluZVNwYWNlLnJlbW92ZUNoaWxkKGNtLmRpc3BsYXkuZHJhZ0N1cnNvcik7XG4gICAgICBjbS5kaXNwbGF5LmRyYWdDdXJzb3IgPSBudWxsO1xuICAgIH1cbiAgfVxuXG4gIC8vIFRoZXNlIG11c3QgYmUgaGFuZGxlZCBjYXJlZnVsbHksIGJlY2F1c2UgbmFpdmVseSByZWdpc3RlcmluZyBhXG4gIC8vIGhhbmRsZXIgZm9yIGVhY2ggZWRpdG9yIHdpbGwgY2F1c2UgdGhlIGVkaXRvcnMgdG8gbmV2ZXIgYmVcbiAgLy8gZ2FyYmFnZSBjb2xsZWN0ZWQuXG5cbiAgZnVuY3Rpb24gZm9yRWFjaENvZGVNaXJyb3IoZikge1xuICAgIGlmICghZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSkgeyByZXR1cm4gfVxuICAgIHZhciBieUNsYXNzID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShcIkNvZGVNaXJyb3JcIiksIGVkaXRvcnMgPSBbXTtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGJ5Q2xhc3MubGVuZ3RoOyBpKyspIHtcbiAgICAgIHZhciBjbSA9IGJ5Q2xhc3NbaV0uQ29kZU1pcnJvcjtcbiAgICAgIGlmIChjbSkgeyBlZGl0b3JzLnB1c2goY20pOyB9XG4gICAgfVxuICAgIGlmIChlZGl0b3JzLmxlbmd0aCkgeyBlZGl0b3JzWzBdLm9wZXJhdGlvbihmdW5jdGlvbiAoKSB7XG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGVkaXRvcnMubGVuZ3RoOyBpKyspIHsgZihlZGl0b3JzW2ldKTsgfVxuICAgIH0pOyB9XG4gIH1cblxuICB2YXIgZ2xvYmFsc1JlZ2lzdGVyZWQgPSBmYWxzZTtcbiAgZnVuY3Rpb24gZW5zdXJlR2xvYmFsSGFuZGxlcnMoKSB7XG4gICAgaWYgKGdsb2JhbHNSZWdpc3RlcmVkKSB7IHJldHVybiB9XG4gICAgcmVnaXN0ZXJHbG9iYWxIYW5kbGVycygpO1xuICAgIGdsb2JhbHNSZWdpc3RlcmVkID0gdHJ1ZTtcbiAgfVxuICBmdW5jdGlvbiByZWdpc3Rlckdsb2JhbEhhbmRsZXJzKCkge1xuICAgIC8vIFdoZW4gdGhlIHdpbmRvdyByZXNpemVzLCB3ZSBuZWVkIHRvIHJlZnJlc2ggYWN0aXZlIGVkaXRvcnMuXG4gICAgdmFyIHJlc2l6ZVRpbWVyO1xuICAgIG9uKHdpbmRvdywgXCJyZXNpemVcIiwgZnVuY3Rpb24gKCkge1xuICAgICAgaWYgKHJlc2l6ZVRpbWVyID09IG51bGwpIHsgcmVzaXplVGltZXIgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgcmVzaXplVGltZXIgPSBudWxsO1xuICAgICAgICBmb3JFYWNoQ29kZU1pcnJvcihvblJlc2l6ZSk7XG4gICAgICB9LCAxMDApOyB9XG4gICAgfSk7XG4gICAgLy8gV2hlbiB0aGUgd2luZG93IGxvc2VzIGZvY3VzLCB3ZSB3YW50IHRvIHNob3cgdGhlIGVkaXRvciBhcyBibHVycmVkXG4gICAgb24od2luZG93LCBcImJsdXJcIiwgZnVuY3Rpb24gKCkgeyByZXR1cm4gZm9yRWFjaENvZGVNaXJyb3Iob25CbHVyKTsgfSk7XG4gIH1cbiAgLy8gQ2FsbGVkIHdoZW4gdGhlIHdpbmRvdyByZXNpemVzXG4gIGZ1bmN0aW9uIG9uUmVzaXplKGNtKSB7XG4gICAgdmFyIGQgPSBjbS5kaXNwbGF5O1xuICAgIC8vIE1pZ2h0IGJlIGEgdGV4dCBzY2FsaW5nIG9wZXJhdGlvbiwgY2xlYXIgc2l6ZSBjYWNoZXMuXG4gICAgZC5jYWNoZWRDaGFyV2lkdGggPSBkLmNhY2hlZFRleHRIZWlnaHQgPSBkLmNhY2hlZFBhZGRpbmdIID0gbnVsbDtcbiAgICBkLnNjcm9sbGJhcnNDbGlwcGVkID0gZmFsc2U7XG4gICAgY20uc2V0U2l6ZSgpO1xuICB9XG5cbiAgdmFyIGtleU5hbWVzID0ge1xuICAgIDM6IFwiUGF1c2VcIiwgODogXCJCYWNrc3BhY2VcIiwgOTogXCJUYWJcIiwgMTM6IFwiRW50ZXJcIiwgMTY6IFwiU2hpZnRcIiwgMTc6IFwiQ3RybFwiLCAxODogXCJBbHRcIixcbiAgICAxOTogXCJQYXVzZVwiLCAyMDogXCJDYXBzTG9ja1wiLCAyNzogXCJFc2NcIiwgMzI6IFwiU3BhY2VcIiwgMzM6IFwiUGFnZVVwXCIsIDM0OiBcIlBhZ2VEb3duXCIsIDM1OiBcIkVuZFwiLFxuICAgIDM2OiBcIkhvbWVcIiwgMzc6IFwiTGVmdFwiLCAzODogXCJVcFwiLCAzOTogXCJSaWdodFwiLCA0MDogXCJEb3duXCIsIDQ0OiBcIlByaW50U2NyblwiLCA0NTogXCJJbnNlcnRcIixcbiAgICA0NjogXCJEZWxldGVcIiwgNTk6IFwiO1wiLCA2MTogXCI9XCIsIDkxOiBcIk1vZFwiLCA5MjogXCJNb2RcIiwgOTM6IFwiTW9kXCIsXG4gICAgMTA2OiBcIipcIiwgMTA3OiBcIj1cIiwgMTA5OiBcIi1cIiwgMTEwOiBcIi5cIiwgMTExOiBcIi9cIiwgMTQ1OiBcIlNjcm9sbExvY2tcIixcbiAgICAxNzM6IFwiLVwiLCAxODY6IFwiO1wiLCAxODc6IFwiPVwiLCAxODg6IFwiLFwiLCAxODk6IFwiLVwiLCAxOTA6IFwiLlwiLCAxOTE6IFwiL1wiLCAxOTI6IFwiYFwiLCAyMTk6IFwiW1wiLCAyMjA6IFwiXFxcXFwiLFxuICAgIDIyMTogXCJdXCIsIDIyMjogXCInXCIsIDYzMjMyOiBcIlVwXCIsIDYzMjMzOiBcIkRvd25cIiwgNjMyMzQ6IFwiTGVmdFwiLCA2MzIzNTogXCJSaWdodFwiLCA2MzI3MjogXCJEZWxldGVcIixcbiAgICA2MzI3MzogXCJIb21lXCIsIDYzMjc1OiBcIkVuZFwiLCA2MzI3NjogXCJQYWdlVXBcIiwgNjMyNzc6IFwiUGFnZURvd25cIiwgNjMzMDI6IFwiSW5zZXJ0XCJcbiAgfTtcblxuICAvLyBOdW1iZXIga2V5c1xuICBmb3IgKHZhciBpID0gMDsgaSA8IDEwOyBpKyspIHsga2V5TmFtZXNbaSArIDQ4XSA9IGtleU5hbWVzW2kgKyA5Nl0gPSBTdHJpbmcoaSk7IH1cbiAgLy8gQWxwaGFiZXRpYyBrZXlzXG4gIGZvciAodmFyIGkkMSA9IDY1OyBpJDEgPD0gOTA7IGkkMSsrKSB7IGtleU5hbWVzW2kkMV0gPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGkkMSk7IH1cbiAgLy8gRnVuY3Rpb24ga2V5c1xuICBmb3IgKHZhciBpJDIgPSAxOyBpJDIgPD0gMTI7IGkkMisrKSB7IGtleU5hbWVzW2kkMiArIDExMV0gPSBrZXlOYW1lc1tpJDIgKyA2MzIzNV0gPSBcIkZcIiArIGkkMjsgfVxuXG4gIHZhciBrZXlNYXAgPSB7fTtcblxuICBrZXlNYXAuYmFzaWMgPSB7XG4gICAgXCJMZWZ0XCI6IFwiZ29DaGFyTGVmdFwiLCBcIlJpZ2h0XCI6IFwiZ29DaGFyUmlnaHRcIiwgXCJVcFwiOiBcImdvTGluZVVwXCIsIFwiRG93blwiOiBcImdvTGluZURvd25cIixcbiAgICBcIkVuZFwiOiBcImdvTGluZUVuZFwiLCBcIkhvbWVcIjogXCJnb0xpbmVTdGFydFNtYXJ0XCIsIFwiUGFnZVVwXCI6IFwiZ29QYWdlVXBcIiwgXCJQYWdlRG93blwiOiBcImdvUGFnZURvd25cIixcbiAgICBcIkRlbGV0ZVwiOiBcImRlbENoYXJBZnRlclwiLCBcIkJhY2tzcGFjZVwiOiBcImRlbENoYXJCZWZvcmVcIiwgXCJTaGlmdC1CYWNrc3BhY2VcIjogXCJkZWxDaGFyQmVmb3JlXCIsXG4gICAgXCJUYWJcIjogXCJkZWZhdWx0VGFiXCIsIFwiU2hpZnQtVGFiXCI6IFwiaW5kZW50QXV0b1wiLFxuICAgIFwiRW50ZXJcIjogXCJuZXdsaW5lQW5kSW5kZW50XCIsIFwiSW5zZXJ0XCI6IFwidG9nZ2xlT3ZlcndyaXRlXCIsXG4gICAgXCJFc2NcIjogXCJzaW5nbGVTZWxlY3Rpb25cIlxuICB9O1xuICAvLyBOb3RlIHRoYXQgdGhlIHNhdmUgYW5kIGZpbmQtcmVsYXRlZCBjb21tYW5kcyBhcmVuJ3QgZGVmaW5lZCBieVxuICAvLyBkZWZhdWx0LiBVc2VyIGNvZGUgb3IgYWRkb25zIGNhbiBkZWZpbmUgdGhlbS4gVW5rbm93biBjb21tYW5kc1xuICAvLyBhcmUgc2ltcGx5IGlnbm9yZWQuXG4gIGtleU1hcC5wY0RlZmF1bHQgPSB7XG4gICAgXCJDdHJsLUFcIjogXCJzZWxlY3RBbGxcIiwgXCJDdHJsLURcIjogXCJkZWxldGVMaW5lXCIsIFwiQ3RybC1aXCI6IFwidW5kb1wiLCBcIlNoaWZ0LUN0cmwtWlwiOiBcInJlZG9cIiwgXCJDdHJsLVlcIjogXCJyZWRvXCIsXG4gICAgXCJDdHJsLUhvbWVcIjogXCJnb0RvY1N0YXJ0XCIsIFwiQ3RybC1FbmRcIjogXCJnb0RvY0VuZFwiLCBcIkN0cmwtVXBcIjogXCJnb0xpbmVVcFwiLCBcIkN0cmwtRG93blwiOiBcImdvTGluZURvd25cIixcbiAgICBcIkN0cmwtTGVmdFwiOiBcImdvR3JvdXBMZWZ0XCIsIFwiQ3RybC1SaWdodFwiOiBcImdvR3JvdXBSaWdodFwiLCBcIkFsdC1MZWZ0XCI6IFwiZ29MaW5lU3RhcnRcIiwgXCJBbHQtUmlnaHRcIjogXCJnb0xpbmVFbmRcIixcbiAgICBcIkN0cmwtQmFja3NwYWNlXCI6IFwiZGVsR3JvdXBCZWZvcmVcIiwgXCJDdHJsLURlbGV0ZVwiOiBcImRlbEdyb3VwQWZ0ZXJcIiwgXCJDdHJsLVNcIjogXCJzYXZlXCIsIFwiQ3RybC1GXCI6IFwiZmluZFwiLFxuICAgIFwiQ3RybC1HXCI6IFwiZmluZE5leHRcIiwgXCJTaGlmdC1DdHJsLUdcIjogXCJmaW5kUHJldlwiLCBcIlNoaWZ0LUN0cmwtRlwiOiBcInJlcGxhY2VcIiwgXCJTaGlmdC1DdHJsLVJcIjogXCJyZXBsYWNlQWxsXCIsXG4gICAgXCJDdHJsLVtcIjogXCJpbmRlbnRMZXNzXCIsIFwiQ3RybC1dXCI6IFwiaW5kZW50TW9yZVwiLFxuICAgIFwiQ3RybC1VXCI6IFwidW5kb1NlbGVjdGlvblwiLCBcIlNoaWZ0LUN0cmwtVVwiOiBcInJlZG9TZWxlY3Rpb25cIiwgXCJBbHQtVVwiOiBcInJlZG9TZWxlY3Rpb25cIixcbiAgICBcImZhbGx0aHJvdWdoXCI6IFwiYmFzaWNcIlxuICB9O1xuICAvLyBWZXJ5IGJhc2ljIHJlYWRsaW5lL2VtYWNzLXN0eWxlIGJpbmRpbmdzLCB3aGljaCBhcmUgc3RhbmRhcmQgb24gTWFjLlxuICBrZXlNYXAuZW1hY3N5ID0ge1xuICAgIFwiQ3RybC1GXCI6IFwiZ29DaGFyUmlnaHRcIiwgXCJDdHJsLUJcIjogXCJnb0NoYXJMZWZ0XCIsIFwiQ3RybC1QXCI6IFwiZ29MaW5lVXBcIiwgXCJDdHJsLU5cIjogXCJnb0xpbmVEb3duXCIsXG4gICAgXCJBbHQtRlwiOiBcImdvV29yZFJpZ2h0XCIsIFwiQWx0LUJcIjogXCJnb1dvcmRMZWZ0XCIsIFwiQ3RybC1BXCI6IFwiZ29MaW5lU3RhcnRcIiwgXCJDdHJsLUVcIjogXCJnb0xpbmVFbmRcIixcbiAgICBcIkN0cmwtVlwiOiBcImdvUGFnZURvd25cIiwgXCJTaGlmdC1DdHJsLVZcIjogXCJnb1BhZ2VVcFwiLCBcIkN0cmwtRFwiOiBcImRlbENoYXJBZnRlclwiLCBcIkN0cmwtSFwiOiBcImRlbENoYXJCZWZvcmVcIixcbiAgICBcIkFsdC1EXCI6IFwiZGVsV29yZEFmdGVyXCIsIFwiQWx0LUJhY2tzcGFjZVwiOiBcImRlbFdvcmRCZWZvcmVcIiwgXCJDdHJsLUtcIjogXCJraWxsTGluZVwiLCBcIkN0cmwtVFwiOiBcInRyYW5zcG9zZUNoYXJzXCIsXG4gICAgXCJDdHJsLU9cIjogXCJvcGVuTGluZVwiXG4gIH07XG4gIGtleU1hcC5tYWNEZWZhdWx0ID0ge1xuICAgIFwiQ21kLUFcIjogXCJzZWxlY3RBbGxcIiwgXCJDbWQtRFwiOiBcImRlbGV0ZUxpbmVcIiwgXCJDbWQtWlwiOiBcInVuZG9cIiwgXCJTaGlmdC1DbWQtWlwiOiBcInJlZG9cIiwgXCJDbWQtWVwiOiBcInJlZG9cIixcbiAgICBcIkNtZC1Ib21lXCI6IFwiZ29Eb2NTdGFydFwiLCBcIkNtZC1VcFwiOiBcImdvRG9jU3RhcnRcIiwgXCJDbWQtRW5kXCI6IFwiZ29Eb2NFbmRcIiwgXCJDbWQtRG93blwiOiBcImdvRG9jRW5kXCIsIFwiQWx0LUxlZnRcIjogXCJnb0dyb3VwTGVmdFwiLFxuICAgIFwiQWx0LVJpZ2h0XCI6IFwiZ29Hcm91cFJpZ2h0XCIsIFwiQ21kLUxlZnRcIjogXCJnb0xpbmVMZWZ0XCIsIFwiQ21kLVJpZ2h0XCI6IFwiZ29MaW5lUmlnaHRcIiwgXCJBbHQtQmFja3NwYWNlXCI6IFwiZGVsR3JvdXBCZWZvcmVcIixcbiAgICBcIkN0cmwtQWx0LUJhY2tzcGFjZVwiOiBcImRlbEdyb3VwQWZ0ZXJcIiwgXCJBbHQtRGVsZXRlXCI6IFwiZGVsR3JvdXBBZnRlclwiLCBcIkNtZC1TXCI6IFwic2F2ZVwiLCBcIkNtZC1GXCI6IFwiZmluZFwiLFxuICAgIFwiQ21kLUdcIjogXCJmaW5kTmV4dFwiLCBcIlNoaWZ0LUNtZC1HXCI6IFwiZmluZFByZXZcIiwgXCJDbWQtQWx0LUZcIjogXCJyZXBsYWNlXCIsIFwiU2hpZnQtQ21kLUFsdC1GXCI6IFwicmVwbGFjZUFsbFwiLFxuICAgIFwiQ21kLVtcIjogXCJpbmRlbnRMZXNzXCIsIFwiQ21kLV1cIjogXCJpbmRlbnRNb3JlXCIsIFwiQ21kLUJhY2tzcGFjZVwiOiBcImRlbFdyYXBwZWRMaW5lTGVmdFwiLCBcIkNtZC1EZWxldGVcIjogXCJkZWxXcmFwcGVkTGluZVJpZ2h0XCIsXG4gICAgXCJDbWQtVVwiOiBcInVuZG9TZWxlY3Rpb25cIiwgXCJTaGlmdC1DbWQtVVwiOiBcInJlZG9TZWxlY3Rpb25cIiwgXCJDdHJsLVVwXCI6IFwiZ29Eb2NTdGFydFwiLCBcIkN0cmwtRG93blwiOiBcImdvRG9jRW5kXCIsXG4gICAgXCJmYWxsdGhyb3VnaFwiOiBbXCJiYXNpY1wiLCBcImVtYWNzeVwiXVxuICB9O1xuICBrZXlNYXBbXCJkZWZhdWx0XCJdID0gbWFjID8ga2V5TWFwLm1hY0RlZmF1bHQgOiBrZXlNYXAucGNEZWZhdWx0O1xuXG4gIC8vIEtFWU1BUCBESVNQQVRDSFxuXG4gIGZ1bmN0aW9uIG5vcm1hbGl6ZUtleU5hbWUobmFtZSkge1xuICAgIHZhciBwYXJ0cyA9IG5hbWUuc3BsaXQoLy0oPyEkKS8pO1xuICAgIG5hbWUgPSBwYXJ0c1twYXJ0cy5sZW5ndGggLSAxXTtcbiAgICB2YXIgYWx0LCBjdHJsLCBzaGlmdCwgY21kO1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcGFydHMubGVuZ3RoIC0gMTsgaSsrKSB7XG4gICAgICB2YXIgbW9kID0gcGFydHNbaV07XG4gICAgICBpZiAoL14oY21kfG1ldGF8bSkkL2kudGVzdChtb2QpKSB7IGNtZCA9IHRydWU7IH1cbiAgICAgIGVsc2UgaWYgKC9eYShsdCk/JC9pLnRlc3QobW9kKSkgeyBhbHQgPSB0cnVlOyB9XG4gICAgICBlbHNlIGlmICgvXihjfGN0cmx8Y29udHJvbCkkL2kudGVzdChtb2QpKSB7IGN0cmwgPSB0cnVlOyB9XG4gICAgICBlbHNlIGlmICgvXnMoaGlmdCk/JC9pLnRlc3QobW9kKSkgeyBzaGlmdCA9IHRydWU7IH1cbiAgICAgIGVsc2UgeyB0aHJvdyBuZXcgRXJyb3IoXCJVbnJlY29nbml6ZWQgbW9kaWZpZXIgbmFtZTogXCIgKyBtb2QpIH1cbiAgICB9XG4gICAgaWYgKGFsdCkgeyBuYW1lID0gXCJBbHQtXCIgKyBuYW1lOyB9XG4gICAgaWYgKGN0cmwpIHsgbmFtZSA9IFwiQ3RybC1cIiArIG5hbWU7IH1cbiAgICBpZiAoY21kKSB7IG5hbWUgPSBcIkNtZC1cIiArIG5hbWU7IH1cbiAgICBpZiAoc2hpZnQpIHsgbmFtZSA9IFwiU2hpZnQtXCIgKyBuYW1lOyB9XG4gICAgcmV0dXJuIG5hbWVcbiAgfVxuXG4gIC8vIFRoaXMgaXMgYSBrbHVkZ2UgdG8ga2VlcCBrZXltYXBzIG1vc3RseSB3b3JraW5nIGFzIHJhdyBvYmplY3RzXG4gIC8vIChiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSkgd2hpbGUgYXQgdGhlIHNhbWUgdGltZSBzdXBwb3J0IGZlYXR1cmVzXG4gIC8vIGxpa2Ugbm9ybWFsaXphdGlvbiBhbmQgbXVsdGktc3Ryb2tlIGtleSBiaW5kaW5ncy4gSXQgY29tcGlsZXMgYVxuICAvLyBuZXcgbm9ybWFsaXplZCBrZXltYXAsIGFuZCB0aGVuIHVwZGF0ZXMgdGhlIG9sZCBvYmplY3QgdG8gcmVmbGVjdFxuICAvLyB0aGlzLlxuICBmdW5jdGlvbiBub3JtYWxpemVLZXlNYXAoa2V5bWFwKSB7XG4gICAgdmFyIGNvcHkgPSB7fTtcbiAgICBmb3IgKHZhciBrZXluYW1lIGluIGtleW1hcCkgeyBpZiAoa2V5bWFwLmhhc093blByb3BlcnR5KGtleW5hbWUpKSB7XG4gICAgICB2YXIgdmFsdWUgPSBrZXltYXBba2V5bmFtZV07XG4gICAgICBpZiAoL14obmFtZXxmYWxsdGhyb3VnaHwoZGV8YXQpdGFjaCkkLy50ZXN0KGtleW5hbWUpKSB7IGNvbnRpbnVlIH1cbiAgICAgIGlmICh2YWx1ZSA9PSBcIi4uLlwiKSB7IGRlbGV0ZSBrZXltYXBba2V5bmFtZV07IGNvbnRpbnVlIH1cblxuICAgICAgdmFyIGtleXMgPSBtYXAoa2V5bmFtZS5zcGxpdChcIiBcIiksIG5vcm1hbGl6ZUtleU5hbWUpO1xuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBrZXlzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHZhciB2YWwgPSAodm9pZCAwKSwgbmFtZSA9ICh2b2lkIDApO1xuICAgICAgICBpZiAoaSA9PSBrZXlzLmxlbmd0aCAtIDEpIHtcbiAgICAgICAgICBuYW1lID0ga2V5cy5qb2luKFwiIFwiKTtcbiAgICAgICAgICB2YWwgPSB2YWx1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBuYW1lID0ga2V5cy5zbGljZSgwLCBpICsgMSkuam9pbihcIiBcIik7XG4gICAgICAgICAgdmFsID0gXCIuLi5cIjtcbiAgICAgICAgfVxuICAgICAgICB2YXIgcHJldiA9IGNvcHlbbmFtZV07XG4gICAgICAgIGlmICghcHJldikgeyBjb3B5W25hbWVdID0gdmFsOyB9XG4gICAgICAgIGVsc2UgaWYgKHByZXYgIT0gdmFsKSB7IHRocm93IG5ldyBFcnJvcihcIkluY29uc2lzdGVudCBiaW5kaW5ncyBmb3IgXCIgKyBuYW1lKSB9XG4gICAgICB9XG4gICAgICBkZWxldGUga2V5bWFwW2tleW5hbWVdO1xuICAgIH0gfVxuICAgIGZvciAodmFyIHByb3AgaW4gY29weSkgeyBrZXltYXBbcHJvcF0gPSBjb3B5W3Byb3BdOyB9XG4gICAgcmV0dXJuIGtleW1hcFxuICB9XG5cbiAgZnVuY3Rpb24gbG9va3VwS2V5KGtleSwgbWFwJCQxLCBoYW5kbGUsIGNvbnRleHQpIHtcbiAgICBtYXAkJDEgPSBnZXRLZXlNYXAobWFwJCQxKTtcbiAgICB2YXIgZm91bmQgPSBtYXAkJDEuY2FsbCA/IG1hcCQkMS5jYWxsKGtleSwgY29udGV4dCkgOiBtYXAkJDFba2V5XTtcbiAgICBpZiAoZm91bmQgPT09IGZhbHNlKSB7IHJldHVybiBcIm5vdGhpbmdcIiB9XG4gICAgaWYgKGZvdW5kID09PSBcIi4uLlwiKSB7IHJldHVybiBcIm11bHRpXCIgfVxuICAgIGlmIChmb3VuZCAhPSBudWxsICYmIGhhbmRsZShmb3VuZCkpIHsgcmV0dXJuIFwiaGFuZGxlZFwiIH1cblxuICAgIGlmIChtYXAkJDEuZmFsbHRocm91Z2gpIHtcbiAgICAgIGlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwobWFwJCQxLmZhbGx0aHJvdWdoKSAhPSBcIltvYmplY3QgQXJyYXldXCIpXG4gICAgICAgIHsgcmV0dXJuIGxvb2t1cEtleShrZXksIG1hcCQkMS5mYWxsdGhyb3VnaCwgaGFuZGxlLCBjb250ZXh0KSB9XG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IG1hcCQkMS5mYWxsdGhyb3VnaC5sZW5ndGg7IGkrKykge1xuICAgICAgICB2YXIgcmVzdWx0ID0gbG9va3VwS2V5KGtleSwgbWFwJCQxLmZhbGx0aHJvdWdoW2ldLCBoYW5kbGUsIGNvbnRleHQpO1xuICAgICAgICBpZiAocmVzdWx0KSB7IHJldHVybiByZXN1bHQgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIE1vZGlmaWVyIGtleSBwcmVzc2VzIGRvbid0IGNvdW50IGFzICdyZWFsJyBrZXkgcHJlc3NlcyBmb3IgdGhlXG4gIC8vIHB1cnBvc2Ugb2Yga2V5bWFwIGZhbGx0aHJvdWdoLlxuICBmdW5jdGlvbiBpc01vZGlmaWVyS2V5KHZhbHVlKSB7XG4gICAgdmFyIG5hbWUgPSB0eXBlb2YgdmFsdWUgPT0gXCJzdHJpbmdcIiA/IHZhbHVlIDoga2V5TmFtZXNbdmFsdWUua2V5Q29kZV07XG4gICAgcmV0dXJuIG5hbWUgPT0gXCJDdHJsXCIgfHwgbmFtZSA9PSBcIkFsdFwiIHx8IG5hbWUgPT0gXCJTaGlmdFwiIHx8IG5hbWUgPT0gXCJNb2RcIlxuICB9XG5cbiAgZnVuY3Rpb24gYWRkTW9kaWZpZXJOYW1lcyhuYW1lLCBldmVudCwgbm9TaGlmdCkge1xuICAgIHZhciBiYXNlID0gbmFtZTtcbiAgICBpZiAoZXZlbnQuYWx0S2V5ICYmIGJhc2UgIT0gXCJBbHRcIikgeyBuYW1lID0gXCJBbHQtXCIgKyBuYW1lOyB9XG4gICAgaWYgKChmbGlwQ3RybENtZCA/IGV2ZW50Lm1ldGFLZXkgOiBldmVudC5jdHJsS2V5KSAmJiBiYXNlICE9IFwiQ3RybFwiKSB7IG5hbWUgPSBcIkN0cmwtXCIgKyBuYW1lOyB9XG4gICAgaWYgKChmbGlwQ3RybENtZCA/IGV2ZW50LmN0cmxLZXkgOiBldmVudC5tZXRhS2V5KSAmJiBiYXNlICE9IFwiQ21kXCIpIHsgbmFtZSA9IFwiQ21kLVwiICsgbmFtZTsgfVxuICAgIGlmICghbm9TaGlmdCAmJiBldmVudC5zaGlmdEtleSAmJiBiYXNlICE9IFwiU2hpZnRcIikgeyBuYW1lID0gXCJTaGlmdC1cIiArIG5hbWU7IH1cbiAgICByZXR1cm4gbmFtZVxuICB9XG5cbiAgLy8gTG9vayB1cCB0aGUgbmFtZSBvZiBhIGtleSBhcyBpbmRpY2F0ZWQgYnkgYW4gZXZlbnQgb2JqZWN0LlxuICBmdW5jdGlvbiBrZXlOYW1lKGV2ZW50LCBub1NoaWZ0KSB7XG4gICAgaWYgKHByZXN0byAmJiBldmVudC5rZXlDb2RlID09IDM0ICYmIGV2ZW50W1wiY2hhclwiXSkgeyByZXR1cm4gZmFsc2UgfVxuICAgIHZhciBuYW1lID0ga2V5TmFtZXNbZXZlbnQua2V5Q29kZV07XG4gICAgaWYgKG5hbWUgPT0gbnVsbCB8fCBldmVudC5hbHRHcmFwaEtleSkgeyByZXR1cm4gZmFsc2UgfVxuICAgIC8vIEN0cmwtU2Nyb2xsTG9jayBoYXMga2V5Q29kZSAzLCBzYW1lIGFzIEN0cmwtUGF1c2UsXG4gICAgLy8gc28gd2UnbGwgdXNlIGV2ZW50LmNvZGUgd2hlbiBhdmFpbGFibGUgKENocm9tZSA0OCssIEZGIDM4KywgU2FmYXJpIDEwLjErKVxuICAgIGlmIChldmVudC5rZXlDb2RlID09IDMgJiYgZXZlbnQuY29kZSkgeyBuYW1lID0gZXZlbnQuY29kZTsgfVxuICAgIHJldHVybiBhZGRNb2RpZmllck5hbWVzKG5hbWUsIGV2ZW50LCBub1NoaWZ0KVxuICB9XG5cbiAgZnVuY3Rpb24gZ2V0S2V5TWFwKHZhbCkge1xuICAgIHJldHVybiB0eXBlb2YgdmFsID09IFwic3RyaW5nXCIgPyBrZXlNYXBbdmFsXSA6IHZhbFxuICB9XG5cbiAgLy8gSGVscGVyIGZvciBkZWxldGluZyB0ZXh0IG5lYXIgdGhlIHNlbGVjdGlvbihzKSwgdXNlZCB0byBpbXBsZW1lbnRcbiAgLy8gYmFja3NwYWNlLCBkZWxldGUsIGFuZCBzaW1pbGFyIGZ1bmN0aW9uYWxpdHkuXG4gIGZ1bmN0aW9uIGRlbGV0ZU5lYXJTZWxlY3Rpb24oY20sIGNvbXB1dGUpIHtcbiAgICB2YXIgcmFuZ2VzID0gY20uZG9jLnNlbC5yYW5nZXMsIGtpbGwgPSBbXTtcbiAgICAvLyBCdWlsZCB1cCBhIHNldCBvZiByYW5nZXMgdG8ga2lsbCBmaXJzdCwgbWVyZ2luZyBvdmVybGFwcGluZ1xuICAgIC8vIHJhbmdlcy5cbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJhbmdlcy5sZW5ndGg7IGkrKykge1xuICAgICAgdmFyIHRvS2lsbCA9IGNvbXB1dGUocmFuZ2VzW2ldKTtcbiAgICAgIHdoaWxlIChraWxsLmxlbmd0aCAmJiBjbXAodG9LaWxsLmZyb20sIGxzdChraWxsKS50bykgPD0gMCkge1xuICAgICAgICB2YXIgcmVwbGFjZWQgPSBraWxsLnBvcCgpO1xuICAgICAgICBpZiAoY21wKHJlcGxhY2VkLmZyb20sIHRvS2lsbC5mcm9tKSA8IDApIHtcbiAgICAgICAgICB0b0tpbGwuZnJvbSA9IHJlcGxhY2VkLmZyb207XG4gICAgICAgICAgYnJlYWtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAga2lsbC5wdXNoKHRvS2lsbCk7XG4gICAgfVxuICAgIC8vIE5leHQsIHJlbW92ZSB0aG9zZSBhY3R1YWwgcmFuZ2VzLlxuICAgIHJ1bkluT3AoY20sIGZ1bmN0aW9uICgpIHtcbiAgICAgIGZvciAodmFyIGkgPSBraWxsLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKVxuICAgICAgICB7IHJlcGxhY2VSYW5nZShjbS5kb2MsIFwiXCIsIGtpbGxbaV0uZnJvbSwga2lsbFtpXS50bywgXCIrZGVsZXRlXCIpOyB9XG4gICAgICBlbnN1cmVDdXJzb3JWaXNpYmxlKGNtKTtcbiAgICB9KTtcbiAgfVxuXG4gIGZ1bmN0aW9uIG1vdmVDaGFyTG9naWNhbGx5KGxpbmUsIGNoLCBkaXIpIHtcbiAgICB2YXIgdGFyZ2V0ID0gc2tpcEV4dGVuZGluZ0NoYXJzKGxpbmUudGV4dCwgY2ggKyBkaXIsIGRpcik7XG4gICAgcmV0dXJuIHRhcmdldCA8IDAgfHwgdGFyZ2V0ID4gbGluZS50ZXh0Lmxlbmd0aCA/IG51bGwgOiB0YXJnZXRcbiAgfVxuXG4gIGZ1bmN0aW9uIG1vdmVMb2dpY2FsbHkobGluZSwgc3RhcnQsIGRpcikge1xuICAgIHZhciBjaCA9IG1vdmVDaGFyTG9naWNhbGx5KGxpbmUsIHN0YXJ0LmNoLCBkaXIpO1xuICAgIHJldHVybiBjaCA9PSBudWxsID8gbnVsbCA6IG5ldyBQb3Moc3RhcnQubGluZSwgY2gsIGRpciA8IDAgPyBcImFmdGVyXCIgOiBcImJlZm9yZVwiKVxuICB9XG5cbiAgZnVuY3Rpb24gZW5kT2ZMaW5lKHZpc3VhbGx5LCBjbSwgbGluZU9iaiwgbGluZU5vLCBkaXIpIHtcbiAgICBpZiAodmlzdWFsbHkpIHtcbiAgICAgIHZhciBvcmRlciA9IGdldE9yZGVyKGxpbmVPYmosIGNtLmRvYy5kaXJlY3Rpb24pO1xuICAgICAgaWYgKG9yZGVyKSB7XG4gICAgICAgIHZhciBwYXJ0ID0gZGlyIDwgMCA/IGxzdChvcmRlcikgOiBvcmRlclswXTtcbiAgICAgICAgdmFyIG1vdmVJblN0b3JhZ2VPcmRlciA9IChkaXIgPCAwKSA9PSAocGFydC5sZXZlbCA9PSAxKTtcbiAgICAgICAgdmFyIHN0aWNreSA9IG1vdmVJblN0b3JhZ2VPcmRlciA/IFwiYWZ0ZXJcIiA6IFwiYmVmb3JlXCI7XG4gICAgICAgIHZhciBjaDtcbiAgICAgICAgLy8gV2l0aCBhIHdyYXBwZWQgcnRsIGNodW5rIChwb3NzaWJseSBzcGFubmluZyBtdWx0aXBsZSBiaWRpIHBhcnRzKSxcbiAgICAgICAgLy8gaXQgY291bGQgYmUgdGhhdCB0aGUgbGFzdCBiaWRpIHBhcnQgaXMgbm90IG9uIHRoZSBsYXN0IHZpc3VhbCBsaW5lLFxuICAgICAgICAvLyBzaW5jZSB2aXN1YWwgbGluZXMgY29udGFpbiBjb250ZW50IG9yZGVyLWNvbnNlY3V0aXZlIGNodW5rcy5cbiAgICAgICAgLy8gVGh1cywgaW4gcnRsLCB3ZSBhcmUgbG9va2luZyBmb3IgdGhlIGZpcnN0IChjb250ZW50LW9yZGVyKSBjaGFyYWN0ZXJcbiAgICAgICAgLy8gaW4gdGhlIHJ0bCBjaHVuayB0aGF0IGlzIG9uIHRoZSBsYXN0IGxpbmUgKHRoYXQgaXMsIHRoZSBzYW1lIGxpbmVcbiAgICAgICAgLy8gYXMgdGhlIGxhc3QgKGNvbnRlbnQtb3JkZXIpIGNoYXJhY3RlcikuXG4gICAgICAgIGlmIChwYXJ0LmxldmVsID4gMCB8fCBjbS5kb2MuZGlyZWN0aW9uID09IFwicnRsXCIpIHtcbiAgICAgICAgICB2YXIgcHJlcCA9IHByZXBhcmVNZWFzdXJlRm9yTGluZShjbSwgbGluZU9iaik7XG4gICAgICAgICAgY2ggPSBkaXIgPCAwID8gbGluZU9iai50ZXh0Lmxlbmd0aCAtIDEgOiAwO1xuICAgICAgICAgIHZhciB0YXJnZXRUb3AgPSBtZWFzdXJlQ2hhclByZXBhcmVkKGNtLCBwcmVwLCBjaCkudG9wO1xuICAgICAgICAgIGNoID0gZmluZEZpcnN0KGZ1bmN0aW9uIChjaCkgeyByZXR1cm4gbWVhc3VyZUNoYXJQcmVwYXJlZChjbSwgcHJlcCwgY2gpLnRvcCA9PSB0YXJnZXRUb3A7IH0sIChkaXIgPCAwKSA9PSAocGFydC5sZXZlbCA9PSAxKSA/IHBhcnQuZnJvbSA6IHBhcnQudG8gLSAxLCBjaCk7XG4gICAgICAgICAgaWYgKHN0aWNreSA9PSBcImJlZm9yZVwiKSB7IGNoID0gbW92ZUNoYXJMb2dpY2FsbHkobGluZU9iaiwgY2gsIDEpOyB9XG4gICAgICAgIH0gZWxzZSB7IGNoID0gZGlyIDwgMCA/IHBhcnQudG8gOiBwYXJ0LmZyb207IH1cbiAgICAgICAgcmV0dXJuIG5ldyBQb3MobGluZU5vLCBjaCwgc3RpY2t5KVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbmV3IFBvcyhsaW5lTm8sIGRpciA8IDAgPyBsaW5lT2JqLnRleHQubGVuZ3RoIDogMCwgZGlyIDwgMCA/IFwiYmVmb3JlXCIgOiBcImFmdGVyXCIpXG4gIH1cblxuICBmdW5jdGlvbiBtb3ZlVmlzdWFsbHkoY20sIGxpbmUsIHN0YXJ0LCBkaXIpIHtcbiAgICB2YXIgYmlkaSA9IGdldE9yZGVyKGxpbmUsIGNtLmRvYy5kaXJlY3Rpb24pO1xuICAgIGlmICghYmlkaSkgeyByZXR1cm4gbW92ZUxvZ2ljYWxseShsaW5lLCBzdGFydCwgZGlyKSB9XG4gICAgaWYgKHN0YXJ0LmNoID49IGxpbmUudGV4dC5sZW5ndGgpIHtcbiAgICAgIHN0YXJ0LmNoID0gbGluZS50ZXh0Lmxlbmd0aDtcbiAgICAgIHN0YXJ0LnN0aWNreSA9IFwiYmVmb3JlXCI7XG4gICAgfSBlbHNlIGlmIChzdGFydC5jaCA8PSAwKSB7XG4gICAgICBzdGFydC5jaCA9IDA7XG4gICAgICBzdGFydC5zdGlja3kgPSBcImFmdGVyXCI7XG4gICAgfVxuICAgIHZhciBwYXJ0UG9zID0gZ2V0QmlkaVBhcnRBdChiaWRpLCBzdGFydC5jaCwgc3RhcnQuc3RpY2t5KSwgcGFydCA9IGJpZGlbcGFydFBvc107XG4gICAgaWYgKGNtLmRvYy5kaXJlY3Rpb24gPT0gXCJsdHJcIiAmJiBwYXJ0LmxldmVsICUgMiA9PSAwICYmIChkaXIgPiAwID8gcGFydC50byA+IHN0YXJ0LmNoIDogcGFydC5mcm9tIDwgc3RhcnQuY2gpKSB7XG4gICAgICAvLyBDYXNlIDE6IFdlIG1vdmUgd2l0aGluIGFuIGx0ciBwYXJ0IGluIGFuIGx0ciBlZGl0b3IuIEV2ZW4gd2l0aCB3cmFwcGVkIGxpbmVzLFxuICAgICAgLy8gbm90aGluZyBpbnRlcmVzdGluZyBoYXBwZW5zLlxuICAgICAgcmV0dXJuIG1vdmVMb2dpY2FsbHkobGluZSwgc3RhcnQsIGRpcilcbiAgICB9XG5cbiAgICB2YXIgbXYgPSBmdW5jdGlvbiAocG9zLCBkaXIpIHsgcmV0dXJuIG1vdmVDaGFyTG9naWNhbGx5KGxpbmUsIHBvcyBpbnN0YW5jZW9mIFBvcyA/IHBvcy5jaCA6IHBvcywgZGlyKTsgfTtcbiAgICB2YXIgcHJlcDtcbiAgICB2YXIgZ2V0V3JhcHBlZExpbmVFeHRlbnQgPSBmdW5jdGlvbiAoY2gpIHtcbiAgICAgIGlmICghY20ub3B0aW9ucy5saW5lV3JhcHBpbmcpIHsgcmV0dXJuIHtiZWdpbjogMCwgZW5kOiBsaW5lLnRleHQubGVuZ3RofSB9XG4gICAgICBwcmVwID0gcHJlcCB8fCBwcmVwYXJlTWVhc3VyZUZvckxpbmUoY20sIGxpbmUpO1xuICAgICAgcmV0dXJuIHdyYXBwZWRMaW5lRXh0ZW50Q2hhcihjbSwgbGluZSwgcHJlcCwgY2gpXG4gICAgfTtcbiAgICB2YXIgd3JhcHBlZExpbmVFeHRlbnQgPSBnZXRXcmFwcGVkTGluZUV4dGVudChzdGFydC5zdGlja3kgPT0gXCJiZWZvcmVcIiA/IG12KHN0YXJ0LCAtMSkgOiBzdGFydC5jaCk7XG5cbiAgICBpZiAoY20uZG9jLmRpcmVjdGlvbiA9PSBcInJ0bFwiIHx8IHBhcnQubGV2ZWwgPT0gMSkge1xuICAgICAgdmFyIG1vdmVJblN0b3JhZ2VPcmRlciA9IChwYXJ0LmxldmVsID09IDEpID09IChkaXIgPCAwKTtcbiAgICAgIHZhciBjaCA9IG12KHN0YXJ0LCBtb3ZlSW5TdG9yYWdlT3JkZXIgPyAxIDogLTEpO1xuICAgICAgaWYgKGNoICE9IG51bGwgJiYgKCFtb3ZlSW5TdG9yYWdlT3JkZXIgPyBjaCA+PSBwYXJ0LmZyb20gJiYgY2ggPj0gd3JhcHBlZExpbmVFeHRlbnQuYmVnaW4gOiBjaCA8PSBwYXJ0LnRvICYmIGNoIDw9IHdyYXBwZWRMaW5lRXh0ZW50LmVuZCkpIHtcbiAgICAgICAgLy8gQ2FzZSAyOiBXZSBtb3ZlIHdpdGhpbiBhbiBydGwgcGFydCBvciBpbiBhbiBydGwgZWRpdG9yIG9uIHRoZSBzYW1lIHZpc3VhbCBsaW5lXG4gICAgICAgIHZhciBzdGlja3kgPSBtb3ZlSW5TdG9yYWdlT3JkZXIgPyBcImJlZm9yZVwiIDogXCJhZnRlclwiO1xuICAgICAgICByZXR1cm4gbmV3IFBvcyhzdGFydC5saW5lLCBjaCwgc3RpY2t5KVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIENhc2UgMzogQ291bGQgbm90IG1vdmUgd2l0aGluIHRoaXMgYmlkaSBwYXJ0IGluIHRoaXMgdmlzdWFsIGxpbmUsIHNvIGxlYXZlXG4gICAgLy8gdGhlIGN1cnJlbnQgYmlkaSBwYXJ0XG5cbiAgICB2YXIgc2VhcmNoSW5WaXN1YWxMaW5lID0gZnVuY3Rpb24gKHBhcnRQb3MsIGRpciwgd3JhcHBlZExpbmVFeHRlbnQpIHtcbiAgICAgIHZhciBnZXRSZXMgPSBmdW5jdGlvbiAoY2gsIG1vdmVJblN0b3JhZ2VPcmRlcikgeyByZXR1cm4gbW92ZUluU3RvcmFnZU9yZGVyXG4gICAgICAgID8gbmV3IFBvcyhzdGFydC5saW5lLCBtdihjaCwgMSksIFwiYmVmb3JlXCIpXG4gICAgICAgIDogbmV3IFBvcyhzdGFydC5saW5lLCBjaCwgXCJhZnRlclwiKTsgfTtcblxuICAgICAgZm9yICg7IHBhcnRQb3MgPj0gMCAmJiBwYXJ0UG9zIDwgYmlkaS5sZW5ndGg7IHBhcnRQb3MgKz0gZGlyKSB7XG4gICAgICAgIHZhciBwYXJ0ID0gYmlkaVtwYXJ0UG9zXTtcbiAgICAgICAgdmFyIG1vdmVJblN0b3JhZ2VPcmRlciA9IChkaXIgPiAwKSA9PSAocGFydC5sZXZlbCAhPSAxKTtcbiAgICAgICAgdmFyIGNoID0gbW92ZUluU3RvcmFnZU9yZGVyID8gd3JhcHBlZExpbmVFeHRlbnQuYmVnaW4gOiBtdih3cmFwcGVkTGluZUV4dGVudC5lbmQsIC0xKTtcbiAgICAgICAgaWYgKHBhcnQuZnJvbSA8PSBjaCAmJiBjaCA8IHBhcnQudG8pIHsgcmV0dXJuIGdldFJlcyhjaCwgbW92ZUluU3RvcmFnZU9yZGVyKSB9XG4gICAgICAgIGNoID0gbW92ZUluU3RvcmFnZU9yZGVyID8gcGFydC5mcm9tIDogbXYocGFydC50bywgLTEpO1xuICAgICAgICBpZiAod3JhcHBlZExpbmVFeHRlbnQuYmVnaW4gPD0gY2ggJiYgY2ggPCB3cmFwcGVkTGluZUV4dGVudC5lbmQpIHsgcmV0dXJuIGdldFJlcyhjaCwgbW92ZUluU3RvcmFnZU9yZGVyKSB9XG4gICAgICB9XG4gICAgfTtcblxuICAgIC8vIENhc2UgM2E6IExvb2sgZm9yIG90aGVyIGJpZGkgcGFydHMgb24gdGhlIHNhbWUgdmlzdWFsIGxpbmVcbiAgICB2YXIgcmVzID0gc2VhcmNoSW5WaXN1YWxMaW5lKHBhcnRQb3MgKyBkaXIsIGRpciwgd3JhcHBlZExpbmVFeHRlbnQpO1xuICAgIGlmIChyZXMpIHsgcmV0dXJuIHJlcyB9XG5cbiAgICAvLyBDYXNlIDNiOiBMb29rIGZvciBvdGhlciBiaWRpIHBhcnRzIG9uIHRoZSBuZXh0IHZpc3VhbCBsaW5lXG4gICAgdmFyIG5leHRDaCA9IGRpciA+IDAgPyB3cmFwcGVkTGluZUV4dGVudC5lbmQgOiBtdih3cmFwcGVkTGluZUV4dGVudC5iZWdpbiwgLTEpO1xuICAgIGlmIChuZXh0Q2ggIT0gbnVsbCAmJiAhKGRpciA+IDAgJiYgbmV4dENoID09IGxpbmUudGV4dC5sZW5ndGgpKSB7XG4gICAgICByZXMgPSBzZWFyY2hJblZpc3VhbExpbmUoZGlyID4gMCA/IDAgOiBiaWRpLmxlbmd0aCAtIDEsIGRpciwgZ2V0V3JhcHBlZExpbmVFeHRlbnQobmV4dENoKSk7XG4gICAgICBpZiAocmVzKSB7IHJldHVybiByZXMgfVxuICAgIH1cblxuICAgIC8vIENhc2UgNDogTm93aGVyZSB0byBtb3ZlXG4gICAgcmV0dXJuIG51bGxcbiAgfVxuXG4gIC8vIENvbW1hbmRzIGFyZSBwYXJhbWV0ZXItbGVzcyBhY3Rpb25zIHRoYXQgY2FuIGJlIHBlcmZvcm1lZCBvbiBhblxuICAvLyBlZGl0b3IsIG1vc3RseSB1c2VkIGZvciBrZXliaW5kaW5ncy5cbiAgdmFyIGNvbW1hbmRzID0ge1xuICAgIHNlbGVjdEFsbDogc2VsZWN0QWxsLFxuICAgIHNpbmdsZVNlbGVjdGlvbjogZnVuY3Rpb24gKGNtKSB7IHJldHVybiBjbS5zZXRTZWxlY3Rpb24oY20uZ2V0Q3Vyc29yKFwiYW5jaG9yXCIpLCBjbS5nZXRDdXJzb3IoXCJoZWFkXCIpLCBzZWxfZG9udFNjcm9sbCk7IH0sXG4gICAga2lsbExpbmU6IGZ1bmN0aW9uIChjbSkgeyByZXR1cm4gZGVsZXRlTmVhclNlbGVjdGlvbihjbSwgZnVuY3Rpb24gKHJhbmdlKSB7XG4gICAgICBpZiAocmFuZ2UuZW1wdHkoKSkge1xuICAgICAgICB2YXIgbGVuID0gZ2V0TGluZShjbS5kb2MsIHJhbmdlLmhlYWQubGluZSkudGV4dC5sZW5ndGg7XG4gICAgICAgIGlmIChyYW5nZS5oZWFkLmNoID09IGxlbiAmJiByYW5nZS5oZWFkLmxpbmUgPCBjbS5sYXN0TGluZSgpKVxuICAgICAgICAgIHsgcmV0dXJuIHtmcm9tOiByYW5nZS5oZWFkLCB0bzogUG9zKHJhbmdlLmhlYWQubGluZSArIDEsIDApfSB9XG4gICAgICAgIGVsc2VcbiAgICAgICAgICB7IHJldHVybiB7ZnJvbTogcmFuZ2UuaGVhZCwgdG86IFBvcyhyYW5nZS5oZWFkLmxpbmUsIGxlbil9IH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiB7ZnJvbTogcmFuZ2UuZnJvbSgpLCB0bzogcmFuZ2UudG8oKX1cbiAgICAgIH1cbiAgICB9KTsgfSxcbiAgICBkZWxldGVMaW5lOiBmdW5jdGlvbiAoY20pIHsgcmV0dXJuIGRlbGV0ZU5lYXJTZWxlY3Rpb24oY20sIGZ1bmN0aW9uIChyYW5nZSkgeyByZXR1cm4gKHtcbiAgICAgIGZyb206IFBvcyhyYW5nZS5mcm9tKCkubGluZSwgMCksXG4gICAgICB0bzogY2xpcFBvcyhjbS5kb2MsIFBvcyhyYW5nZS50bygpLmxpbmUgKyAxLCAwKSlcbiAgICB9KTsgfSk7IH0sXG4gICAgZGVsTGluZUxlZnQ6IGZ1bmN0aW9uIChjbSkgeyByZXR1cm4gZGVsZXRlTmVhclNlbGVjdGlvbihjbSwgZnVuY3Rpb24gKHJhbmdlKSB7IHJldHVybiAoe1xuICAgICAgZnJvbTogUG9zKHJhbmdlLmZyb20oKS5saW5lLCAwKSwgdG86IHJhbmdlLmZyb20oKVxuICAgIH0pOyB9KTsgfSxcbiAgICBkZWxXcmFwcGVkTGluZUxlZnQ6IGZ1bmN0aW9uIChjbSkgeyByZXR1cm4gZGVsZXRlTmVhclNlbGVjdGlvbihjbSwgZnVuY3Rpb24gKHJhbmdlKSB7XG4gICAgICB2YXIgdG9wID0gY20uY2hhckNvb3JkcyhyYW5nZS5oZWFkLCBcImRpdlwiKS50b3AgKyA1O1xuICAgICAgdmFyIGxlZnRQb3MgPSBjbS5jb29yZHNDaGFyKHtsZWZ0OiAwLCB0b3A6IHRvcH0sIFwiZGl2XCIpO1xuICAgICAgcmV0dXJuIHtmcm9tOiBsZWZ0UG9zLCB0bzogcmFuZ2UuZnJvbSgpfVxuICAgIH0pOyB9LFxuICAgIGRlbFdyYXBwZWRMaW5lUmlnaHQ6IGZ1bmN0aW9uIChjbSkgeyByZXR1cm4gZGVsZXRlTmVhclNlbGVjdGlvbihjbSwgZnVuY3Rpb24gKHJhbmdlKSB7XG4gICAgICB2YXIgdG9wID0gY20uY2hhckNvb3JkcyhyYW5nZS5oZWFkLCBcImRpdlwiKS50b3AgKyA1O1xuICAgICAgdmFyIHJpZ2h0UG9zID0gY20uY29vcmRzQ2hhcih7bGVmdDogY20uZGlzcGxheS5saW5lRGl2Lm9mZnNldFdpZHRoICsgMTAwLCB0b3A6IHRvcH0sIFwiZGl2XCIpO1xuICAgICAgcmV0dXJuIHtmcm9tOiByYW5nZS5mcm9tKCksIHRvOiByaWdodFBvcyB9XG4gICAgfSk7IH0sXG4gICAgdW5kbzogZnVuY3Rpb24gKGNtKSB7IHJldHVybiBjbS51bmRvKCk7IH0sXG4gICAgcmVkbzogZnVuY3Rpb24gKGNtKSB7IHJldHVybiBjbS5yZWRvKCk7IH0sXG4gICAgdW5kb1NlbGVjdGlvbjogZnVuY3Rpb24gKGNtKSB7IHJldHVybiBjbS51bmRvU2VsZWN0aW9uKCk7IH0sXG4gICAgcmVkb1NlbGVjdGlvbjogZnVuY3Rpb24gKGNtKSB7IHJldHVybiBjbS5yZWRvU2VsZWN0aW9uKCk7IH0sXG4gICAgZ29Eb2NTdGFydDogZnVuY3Rpb24gKGNtKSB7IHJldHVybiBjbS5leHRlbmRTZWxlY3Rpb24oUG9zKGNtLmZpcnN0TGluZSgpLCAwKSk7IH0sXG4gICAgZ29Eb2NFbmQ6IGZ1bmN0aW9uIChjbSkgeyByZXR1cm4gY20uZXh0ZW5kU2VsZWN0aW9uKFBvcyhjbS5sYXN0TGluZSgpKSk7IH0sXG4gICAgZ29MaW5lU3RhcnQ6IGZ1bmN0aW9uIChjbSkgeyByZXR1cm4gY20uZXh0ZW5kU2VsZWN0aW9uc0J5KGZ1bmN0aW9uIChyYW5nZSkgeyByZXR1cm4gbGluZVN0YXJ0KGNtLCByYW5nZS5oZWFkLmxpbmUpOyB9LFxuICAgICAge29yaWdpbjogXCIrbW92ZVwiLCBiaWFzOiAxfVxuICAgICk7IH0sXG4gICAgZ29MaW5lU3RhcnRTbWFydDogZnVuY3Rpb24gKGNtKSB7IHJldHVybiBjbS5leHRlbmRTZWxlY3Rpb25zQnkoZnVuY3Rpb24gKHJhbmdlKSB7IHJldHVybiBsaW5lU3RhcnRTbWFydChjbSwgcmFuZ2UuaGVhZCk7IH0sXG4gICAgICB7b3JpZ2luOiBcIittb3ZlXCIsIGJpYXM6IDF9XG4gICAgKTsgfSxcbiAgICBnb0xpbmVFbmQ6IGZ1bmN0aW9uIChjbSkgeyByZXR1cm4gY20uZXh0ZW5kU2VsZWN0aW9uc0J5KGZ1bmN0aW9uIChyYW5nZSkgeyByZXR1cm4gbGluZUVuZChjbSwgcmFuZ2UuaGVhZC5saW5lKTsgfSxcbiAgICAgIHtvcmlnaW46IFwiK21vdmVcIiwgYmlhczogLTF9XG4gICAgKTsgfSxcbiAgICBnb0xpbmVSaWdodDogZnVuY3Rpb24gKGNtKSB7IHJldHVybiBjbS5leHRlbmRTZWxlY3Rpb25zQnkoZnVuY3Rpb24gKHJhbmdlKSB7XG4gICAgICB2YXIgdG9wID0gY20uY3Vyc29yQ29vcmRzKHJhbmdlLmhlYWQsIFwiZGl2XCIpLnRvcCArIDU7XG4gICAgICByZXR1cm4gY20uY29vcmRzQ2hhcih7bGVmdDogY20uZGlzcGxheS5saW5lRGl2Lm9mZnNldFdpZHRoICsgMTAwLCB0b3A6IHRvcH0sIFwiZGl2XCIpXG4gICAgfSwgc2VsX21vdmUpOyB9LFxuICAgIGdvTGluZUxlZnQ6IGZ1bmN0aW9uIChjbSkgeyByZXR1cm4gY20uZXh0ZW5kU2VsZWN0aW9uc0J5KGZ1bmN0aW9uIChyYW5nZSkge1xuICAgICAgdmFyIHRvcCA9IGNtLmN1cnNvckNvb3JkcyhyYW5nZS5oZWFkLCBcImRpdlwiKS50b3AgKyA1O1xuICAgICAgcmV0dXJuIGNtLmNvb3Jkc0NoYXIoe2xlZnQ6IDAsIHRvcDogdG9wfSwgXCJkaXZcIilcbiAgICB9LCBzZWxfbW92ZSk7IH0sXG4gICAgZ29MaW5lTGVmdFNtYXJ0OiBmdW5jdGlvbiAoY20pIHsgcmV0dXJuIGNtLmV4dGVuZFNlbGVjdGlvbnNCeShmdW5jdGlvbiAocmFuZ2UpIHtcbiAgICAgIHZhciB0b3AgPSBjbS5jdXJzb3JDb29yZHMocmFuZ2UuaGVhZCwgXCJkaXZcIikudG9wICsgNTtcbiAgICAgIHZhciBwb3MgPSBjbS5jb29yZHNDaGFyKHtsZWZ0OiAwLCB0b3A6IHRvcH0sIFwiZGl2XCIpO1xuICAgICAgaWYgKHBvcy5jaCA8IGNtLmdldExpbmUocG9zLmxpbmUpLnNlYXJjaCgvXFxTLykpIHsgcmV0dXJuIGxpbmVTdGFydFNtYXJ0KGNtLCByYW5nZS5oZWFkKSB9XG4gICAgICByZXR1cm4gcG9zXG4gICAgfSwgc2VsX21vdmUpOyB9LFxuICAgIGdvTGluZVVwOiBmdW5jdGlvbiAoY20pIHsgcmV0dXJuIGNtLm1vdmVWKC0xLCBcImxpbmVcIik7IH0sXG4gICAgZ29MaW5lRG93bjogZnVuY3Rpb24gKGNtKSB7IHJldHVybiBjbS5tb3ZlVigxLCBcImxpbmVcIik7IH0sXG4gICAgZ29QYWdlVXA6IGZ1bmN0aW9uIChjbSkgeyByZXR1cm4gY20ubW92ZVYoLTEsIFwicGFnZVwiKTsgfSxcbiAgICBnb1BhZ2VEb3duOiBmdW5jdGlvbiAoY20pIHsgcmV0dXJuIGNtLm1vdmVWKDEsIFwicGFnZVwiKTsgfSxcbiAgICBnb0NoYXJMZWZ0OiBmdW5jdGlvbiAoY20pIHsgcmV0dXJuIGNtLm1vdmVIKC0xLCBcImNoYXJcIik7IH0sXG4gICAgZ29DaGFyUmlnaHQ6IGZ1bmN0aW9uIChjbSkgeyByZXR1cm4gY20ubW92ZUgoMSwgXCJjaGFyXCIpOyB9LFxuICAgIGdvQ29sdW1uTGVmdDogZnVuY3Rpb24gKGNtKSB7IHJldHVybiBjbS5tb3ZlSCgtMSwgXCJjb2x1bW5cIik7IH0sXG4gICAgZ29Db2x1bW5SaWdodDogZnVuY3Rpb24gKGNtKSB7IHJldHVybiBjbS5tb3ZlSCgxLCBcImNvbHVtblwiKTsgfSxcbiAgICBnb1dvcmRMZWZ0OiBmdW5jdGlvbiAoY20pIHsgcmV0dXJuIGNtLm1vdmVIKC0xLCBcIndvcmRcIik7IH0sXG4gICAgZ29Hcm91cFJpZ2h0OiBmdW5jdGlvbiAoY20pIHsgcmV0dXJuIGNtLm1vdmVIKDEsIFwiZ3JvdXBcIik7IH0sXG4gICAgZ29Hcm91cExlZnQ6IGZ1bmN0aW9uIChjbSkgeyByZXR1cm4gY20ubW92ZUgoLTEsIFwiZ3JvdXBcIik7IH0sXG4gICAgZ29Xb3JkUmlnaHQ6IGZ1bmN0aW9uIChjbSkgeyByZXR1cm4gY20ubW92ZUgoMSwgXCJ3b3JkXCIpOyB9LFxuICAgIGRlbENoYXJCZWZvcmU6IGZ1bmN0aW9uIChjbSkgeyByZXR1cm4gY20uZGVsZXRlSCgtMSwgXCJjaGFyXCIpOyB9LFxuICAgIGRlbENoYXJBZnRlcjogZnVuY3Rpb24gKGNtKSB7IHJldHVybiBjbS5kZWxldGVIKDEsIFwiY2hhclwiKTsgfSxcbiAgICBkZWxXb3JkQmVmb3JlOiBmdW5jdGlvbiAoY20pIHsgcmV0dXJuIGNtLmRlbGV0ZUgoLTEsIFwid29yZFwiKTsgfSxcbiAgICBkZWxXb3JkQWZ0ZXI6IGZ1bmN0aW9uIChjbSkgeyByZXR1cm4gY20uZGVsZXRlSCgxLCBcIndvcmRcIik7IH0sXG4gICAgZGVsR3JvdXBCZWZvcmU6IGZ1bmN0aW9uIChjbSkgeyByZXR1cm4gY20uZGVsZXRlSCgtMSwgXCJncm91cFwiKTsgfSxcbiAgICBkZWxHcm91cEFmdGVyOiBmdW5jdGlvbiAoY20pIHsgcmV0dXJuIGNtLmRlbGV0ZUgoMSwgXCJncm91cFwiKTsgfSxcbiAgICBpbmRlbnRBdXRvOiBmdW5jdGlvbiAoY20pIHsgcmV0dXJuIGNtLmluZGVudFNlbGVjdGlvbihcInNtYXJ0XCIpOyB9LFxuICAgIGluZGVudE1vcmU6IGZ1bmN0aW9uIChjbSkgeyByZXR1cm4gY20uaW5kZW50U2VsZWN0aW9uKFwiYWRkXCIpOyB9LFxuICAgIGluZGVudExlc3M6IGZ1bmN0aW9uIChjbSkgeyByZXR1cm4gY20uaW5kZW50U2VsZWN0aW9uKFwic3VidHJhY3RcIik7IH0sXG4gICAgaW5zZXJ0VGFiOiBmdW5jdGlvbiAoY20pIHsgcmV0dXJuIGNtLnJlcGxhY2VTZWxlY3Rpb24oXCJcXHRcIik7IH0sXG4gICAgaW5zZXJ0U29mdFRhYjogZnVuY3Rpb24gKGNtKSB7XG4gICAgICB2YXIgc3BhY2VzID0gW10sIHJhbmdlcyA9IGNtLmxpc3RTZWxlY3Rpb25zKCksIHRhYlNpemUgPSBjbS5vcHRpb25zLnRhYlNpemU7XG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJhbmdlcy5sZW5ndGg7IGkrKykge1xuICAgICAgICB2YXIgcG9zID0gcmFuZ2VzW2ldLmZyb20oKTtcbiAgICAgICAgdmFyIGNvbCA9IGNvdW50Q29sdW1uKGNtLmdldExpbmUocG9zLmxpbmUpLCBwb3MuY2gsIHRhYlNpemUpO1xuICAgICAgICBzcGFjZXMucHVzaChzcGFjZVN0cih0YWJTaXplIC0gY29sICUgdGFiU2l6ZSkpO1xuICAgICAgfVxuICAgICAgY20ucmVwbGFjZVNlbGVjdGlvbnMoc3BhY2VzKTtcbiAgICB9LFxuICAgIGRlZmF1bHRUYWI6IGZ1bmN0aW9uIChjbSkge1xuICAgICAgaWYgKGNtLnNvbWV0aGluZ1NlbGVjdGVkKCkpIHsgY20uaW5kZW50U2VsZWN0aW9uKFwiYWRkXCIpOyB9XG4gICAgICBlbHNlIHsgY20uZXhlY0NvbW1hbmQoXCJpbnNlcnRUYWJcIik7IH1cbiAgICB9LFxuICAgIC8vIFN3YXAgdGhlIHR3byBjaGFycyBsZWZ0IGFuZCByaWdodCBvZiBlYWNoIHNlbGVjdGlvbidzIGhlYWQuXG4gICAgLy8gTW92ZSBjdXJzb3IgYmVoaW5kIHRoZSB0d28gc3dhcHBlZCBjaGFyYWN0ZXJzIGFmdGVyd2FyZHMuXG4gICAgLy9cbiAgICAvLyBEb2Vzbid0IGNvbnNpZGVyIGxpbmUgZmVlZHMgYSBjaGFyYWN0ZXIuXG4gICAgLy8gRG9lc24ndCBzY2FuIG1vcmUgdGhhbiBvbmUgbGluZSBhYm92ZSB0byBmaW5kIGEgY2hhcmFjdGVyLlxuICAgIC8vIERvZXNuJ3QgZG8gYW55dGhpbmcgb24gYW4gZW1wdHkgbGluZS5cbiAgICAvLyBEb2Vzbid0IGRvIGFueXRoaW5nIHdpdGggbm9uLWVtcHR5IHNlbGVjdGlvbnMuXG4gICAgdHJhbnNwb3NlQ2hhcnM6IGZ1bmN0aW9uIChjbSkgeyByZXR1cm4gcnVuSW5PcChjbSwgZnVuY3Rpb24gKCkge1xuICAgICAgdmFyIHJhbmdlcyA9IGNtLmxpc3RTZWxlY3Rpb25zKCksIG5ld1NlbCA9IFtdO1xuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCByYW5nZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgaWYgKCFyYW5nZXNbaV0uZW1wdHkoKSkgeyBjb250aW51ZSB9XG4gICAgICAgIHZhciBjdXIgPSByYW5nZXNbaV0uaGVhZCwgbGluZSA9IGdldExpbmUoY20uZG9jLCBjdXIubGluZSkudGV4dDtcbiAgICAgICAgaWYgKGxpbmUpIHtcbiAgICAgICAgICBpZiAoY3VyLmNoID09IGxpbmUubGVuZ3RoKSB7IGN1ciA9IG5ldyBQb3MoY3VyLmxpbmUsIGN1ci5jaCAtIDEpOyB9XG4gICAgICAgICAgaWYgKGN1ci5jaCA+IDApIHtcbiAgICAgICAgICAgIGN1ciA9IG5ldyBQb3MoY3VyLmxpbmUsIGN1ci5jaCArIDEpO1xuICAgICAgICAgICAgY20ucmVwbGFjZVJhbmdlKGxpbmUuY2hhckF0KGN1ci5jaCAtIDEpICsgbGluZS5jaGFyQXQoY3VyLmNoIC0gMiksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgUG9zKGN1ci5saW5lLCBjdXIuY2ggLSAyKSwgY3VyLCBcIit0cmFuc3Bvc2VcIik7XG4gICAgICAgICAgfSBlbHNlIGlmIChjdXIubGluZSA+IGNtLmRvYy5maXJzdCkge1xuICAgICAgICAgICAgdmFyIHByZXYgPSBnZXRMaW5lKGNtLmRvYywgY3VyLmxpbmUgLSAxKS50ZXh0O1xuICAgICAgICAgICAgaWYgKHByZXYpIHtcbiAgICAgICAgICAgICAgY3VyID0gbmV3IFBvcyhjdXIubGluZSwgMSk7XG4gICAgICAgICAgICAgIGNtLnJlcGxhY2VSYW5nZShsaW5lLmNoYXJBdCgwKSArIGNtLmRvYy5saW5lU2VwYXJhdG9yKCkgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJldi5jaGFyQXQocHJldi5sZW5ndGggLSAxKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBvcyhjdXIubGluZSAtIDEsIHByZXYubGVuZ3RoIC0gMSksIGN1ciwgXCIrdHJhbnNwb3NlXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBuZXdTZWwucHVzaChuZXcgUmFuZ2UoY3VyLCBjdXIpKTtcbiAgICAgIH1cbiAgICAgIGNtLnNldFNlbGVjdGlvbnMobmV3U2VsKTtcbiAgICB9KTsgfSxcbiAgICBuZXdsaW5lQW5kSW5kZW50OiBmdW5jdGlvbiAoY20pIHsgcmV0dXJuIHJ1bkluT3AoY20sIGZ1bmN0aW9uICgpIHtcbiAgICAgIHZhciBzZWxzID0gY20ubGlzdFNlbGVjdGlvbnMoKTtcbiAgICAgIGZvciAodmFyIGkgPSBzZWxzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKVxuICAgICAgICB7IGNtLnJlcGxhY2VSYW5nZShjbS5kb2MubGluZVNlcGFyYXRvcigpLCBzZWxzW2ldLmFuY2hvciwgc2Vsc1tpXS5oZWFkLCBcIitpbnB1dFwiKTsgfVxuICAgICAgc2VscyA9IGNtLmxpc3RTZWxlY3Rpb25zKCk7XG4gICAgICBmb3IgKHZhciBpJDEgPSAwOyBpJDEgPCBzZWxzLmxlbmd0aDsgaSQxKyspXG4gICAgICAgIHsgY20uaW5kZW50TGluZShzZWxzW2kkMV0uZnJvbSgpLmxpbmUsIG51bGwsIHRydWUpOyB9XG4gICAgICBlbnN1cmVDdXJzb3JWaXNpYmxlKGNtKTtcbiAgICB9KTsgfSxcbiAgICBvcGVuTGluZTogZnVuY3Rpb24gKGNtKSB7IHJldHVybiBjbS5yZXBsYWNlU2VsZWN0aW9uKFwiXFxuXCIsIFwic3RhcnRcIik7IH0sXG4gICAgdG9nZ2xlT3ZlcndyaXRlOiBmdW5jdGlvbiAoY20pIHsgcmV0dXJuIGNtLnRvZ2dsZU92ZXJ3cml0ZSgpOyB9XG4gIH07XG5cblxuICBmdW5jdGlvbiBsaW5lU3RhcnQoY20sIGxpbmVOKSB7XG4gICAgdmFyIGxpbmUgPSBnZXRMaW5lKGNtLmRvYywgbGluZU4pO1xuICAgIHZhciB2aXN1YWwgPSB2aXN1YWxMaW5lKGxpbmUpO1xuICAgIGlmICh2aXN1YWwgIT0gbGluZSkgeyBsaW5lTiA9IGxpbmVObyh2aXN1YWwpOyB9XG4gICAgcmV0dXJuIGVuZE9mTGluZSh0cnVlLCBjbSwgdmlzdWFsLCBsaW5lTiwgMSlcbiAgfVxuICBmdW5jdGlvbiBsaW5lRW5kKGNtLCBsaW5lTikge1xuICAgIHZhciBsaW5lID0gZ2V0TGluZShjbS5kb2MsIGxpbmVOKTtcbiAgICB2YXIgdmlzdWFsID0gdmlzdWFsTGluZUVuZChsaW5lKTtcbiAgICBpZiAodmlzdWFsICE9IGxpbmUpIHsgbGluZU4gPSBsaW5lTm8odmlzdWFsKTsgfVxuICAgIHJldHVybiBlbmRPZkxpbmUodHJ1ZSwgY20sIGxpbmUsIGxpbmVOLCAtMSlcbiAgfVxuICBmdW5jdGlvbiBsaW5lU3RhcnRTbWFydChjbSwgcG9zKSB7XG4gICAgdmFyIHN0YXJ0ID0gbGluZVN0YXJ0KGNtLCBwb3MubGluZSk7XG4gICAgdmFyIGxpbmUgPSBnZXRMaW5lKGNtLmRvYywgc3RhcnQubGluZSk7XG4gICAgdmFyIG9yZGVyID0gZ2V0T3JkZXIobGluZSwgY20uZG9jLmRpcmVjdGlvbik7XG4gICAgaWYgKCFvcmRlciB8fCBvcmRlclswXS5sZXZlbCA9PSAwKSB7XG4gICAgICB2YXIgZmlyc3ROb25XUyA9IE1hdGgubWF4KDAsIGxpbmUudGV4dC5zZWFyY2goL1xcUy8pKTtcbiAgICAgIHZhciBpbldTID0gcG9zLmxpbmUgPT0gc3RhcnQubGluZSAmJiBwb3MuY2ggPD0gZmlyc3ROb25XUyAmJiBwb3MuY2g7XG4gICAgICByZXR1cm4gUG9zKHN0YXJ0LmxpbmUsIGluV1MgPyAwIDogZmlyc3ROb25XUywgc3RhcnQuc3RpY2t5KVxuICAgIH1cbiAgICByZXR1cm4gc3RhcnRcbiAgfVxuXG4gIC8vIFJ1biBhIGhhbmRsZXIgdGhhdCB3YXMgYm91bmQgdG8gYSBrZXkuXG4gIGZ1bmN0aW9uIGRvSGFuZGxlQmluZGluZyhjbSwgYm91bmQsIGRyb3BTaGlmdCkge1xuICAgIGlmICh0eXBlb2YgYm91bmQgPT0gXCJzdHJpbmdcIikge1xuICAgICAgYm91bmQgPSBjb21tYW5kc1tib3VuZF07XG4gICAgICBpZiAoIWJvdW5kKSB7IHJldHVybiBmYWxzZSB9XG4gICAgfVxuICAgIC8vIEVuc3VyZSBwcmV2aW91cyBpbnB1dCBoYXMgYmVlbiByZWFkLCBzbyB0aGF0IHRoZSBoYW5kbGVyIHNlZXMgYVxuICAgIC8vIGNvbnNpc3RlbnQgdmlldyBvZiB0aGUgZG9jdW1lbnRcbiAgICBjbS5kaXNwbGF5LmlucHV0LmVuc3VyZVBvbGxlZCgpO1xuICAgIHZhciBwcmV2U2hpZnQgPSBjbS5kaXNwbGF5LnNoaWZ0LCBkb25lID0gZmFsc2U7XG4gICAgdHJ5IHtcbiAgICAgIGlmIChjbS5pc1JlYWRPbmx5KCkpIHsgY20uc3RhdGUuc3VwcHJlc3NFZGl0cyA9IHRydWU7IH1cbiAgICAgIGlmIChkcm9wU2hpZnQpIHsgY20uZGlzcGxheS5zaGlmdCA9IGZhbHNlOyB9XG4gICAgICBkb25lID0gYm91bmQoY20pICE9IFBhc3M7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIGNtLmRpc3BsYXkuc2hpZnQgPSBwcmV2U2hpZnQ7XG4gICAgICBjbS5zdGF0ZS5zdXBwcmVzc0VkaXRzID0gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiBkb25lXG4gIH1cblxuICBmdW5jdGlvbiBsb29rdXBLZXlGb3JFZGl0b3IoY20sIG5hbWUsIGhhbmRsZSkge1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgY20uc3RhdGUua2V5TWFwcy5sZW5ndGg7IGkrKykge1xuICAgICAgdmFyIHJlc3VsdCA9IGxvb2t1cEtleShuYW1lLCBjbS5zdGF0ZS5rZXlNYXBzW2ldLCBoYW5kbGUsIGNtKTtcbiAgICAgIGlmIChyZXN1bHQpIHsgcmV0dXJuIHJlc3VsdCB9XG4gICAgfVxuICAgIHJldHVybiAoY20ub3B0aW9ucy5leHRyYUtleXMgJiYgbG9va3VwS2V5KG5hbWUsIGNtLm9wdGlvbnMuZXh0cmFLZXlzLCBoYW5kbGUsIGNtKSlcbiAgICAgIHx8IGxvb2t1cEtleShuYW1lLCBjbS5vcHRpb25zLmtleU1hcCwgaGFuZGxlLCBjbSlcbiAgfVxuXG4gIC8vIE5vdGUgdGhhdCwgZGVzcGl0ZSB0aGUgbmFtZSwgdGhpcyBmdW5jdGlvbiBpcyBhbHNvIHVzZWQgdG8gY2hlY2tcbiAgLy8gZm9yIGJvdW5kIG1vdXNlIGNsaWNrcy5cblxuICB2YXIgc3RvcFNlcSA9IG5ldyBEZWxheWVkO1xuXG4gIGZ1bmN0aW9uIGRpc3BhdGNoS2V5KGNtLCBuYW1lLCBlLCBoYW5kbGUpIHtcbiAgICB2YXIgc2VxID0gY20uc3RhdGUua2V5U2VxO1xuICAgIGlmIChzZXEpIHtcbiAgICAgIGlmIChpc01vZGlmaWVyS2V5KG5hbWUpKSB7IHJldHVybiBcImhhbmRsZWRcIiB9XG4gICAgICBpZiAoL1xcJyQvLnRlc3QobmFtZSkpXG4gICAgICAgIHsgY20uc3RhdGUua2V5U2VxID0gbnVsbDsgfVxuICAgICAgZWxzZVxuICAgICAgICB7IHN0b3BTZXEuc2V0KDUwLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgaWYgKGNtLnN0YXRlLmtleVNlcSA9PSBzZXEpIHtcbiAgICAgICAgICAgIGNtLnN0YXRlLmtleVNlcSA9IG51bGw7XG4gICAgICAgICAgICBjbS5kaXNwbGF5LmlucHV0LnJlc2V0KCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTsgfVxuICAgICAgaWYgKGRpc3BhdGNoS2V5SW5uZXIoY20sIHNlcSArIFwiIFwiICsgbmFtZSwgZSwgaGFuZGxlKSkgeyByZXR1cm4gdHJ1ZSB9XG4gICAgfVxuICAgIHJldHVybiBkaXNwYXRjaEtleUlubmVyKGNtLCBuYW1lLCBlLCBoYW5kbGUpXG4gIH1cblxuICBmdW5jdGlvbiBkaXNwYXRjaEtleUlubmVyKGNtLCBuYW1lLCBlLCBoYW5kbGUpIHtcbiAgICB2YXIgcmVzdWx0ID0gbG9va3VwS2V5Rm9yRWRpdG9yKGNtLCBuYW1lLCBoYW5kbGUpO1xuXG4gICAgaWYgKHJlc3VsdCA9PSBcIm11bHRpXCIpXG4gICAgICB7IGNtLnN0YXRlLmtleVNlcSA9IG5hbWU7IH1cbiAgICBpZiAocmVzdWx0ID09IFwiaGFuZGxlZFwiKVxuICAgICAgeyBzaWduYWxMYXRlcihjbSwgXCJrZXlIYW5kbGVkXCIsIGNtLCBuYW1lLCBlKTsgfVxuXG4gICAgaWYgKHJlc3VsdCA9PSBcImhhbmRsZWRcIiB8fCByZXN1bHQgPT0gXCJtdWx0aVwiKSB7XG4gICAgICBlX3ByZXZlbnREZWZhdWx0KGUpO1xuICAgICAgcmVzdGFydEJsaW5rKGNtKTtcbiAgICB9XG5cbiAgICByZXR1cm4gISFyZXN1bHRcbiAgfVxuXG4gIC8vIEhhbmRsZSBhIGtleSBmcm9tIHRoZSBrZXlkb3duIGV2ZW50LlxuICBmdW5jdGlvbiBoYW5kbGVLZXlCaW5kaW5nKGNtLCBlKSB7XG4gICAgdmFyIG5hbWUgPSBrZXlOYW1lKGUsIHRydWUpO1xuICAgIGlmICghbmFtZSkgeyByZXR1cm4gZmFsc2UgfVxuXG4gICAgaWYgKGUuc2hpZnRLZXkgJiYgIWNtLnN0YXRlLmtleVNlcSkge1xuICAgICAgLy8gRmlyc3QgdHJ5IHRvIHJlc29sdmUgZnVsbCBuYW1lIChpbmNsdWRpbmcgJ1NoaWZ0LScpLiBGYWlsaW5nXG4gICAgICAvLyB0aGF0LCBzZWUgaWYgdGhlcmUgaXMgYSBjdXJzb3ItbW90aW9uIGNvbW1hbmQgKHN0YXJ0aW5nIHdpdGhcbiAgICAgIC8vICdnbycpIGJvdW5kIHRvIHRoZSBrZXluYW1lIHdpdGhvdXQgJ1NoaWZ0LScuXG4gICAgICByZXR1cm4gZGlzcGF0Y2hLZXkoY20sIFwiU2hpZnQtXCIgKyBuYW1lLCBlLCBmdW5jdGlvbiAoYikgeyByZXR1cm4gZG9IYW5kbGVCaW5kaW5nKGNtLCBiLCB0cnVlKTsgfSlcbiAgICAgICAgICB8fCBkaXNwYXRjaEtleShjbSwgbmFtZSwgZSwgZnVuY3Rpb24gKGIpIHtcbiAgICAgICAgICAgICAgIGlmICh0eXBlb2YgYiA9PSBcInN0cmluZ1wiID8gL15nb1tBLVpdLy50ZXN0KGIpIDogYi5tb3Rpb24pXG4gICAgICAgICAgICAgICAgIHsgcmV0dXJuIGRvSGFuZGxlQmluZGluZyhjbSwgYikgfVxuICAgICAgICAgICAgIH0pXG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBkaXNwYXRjaEtleShjbSwgbmFtZSwgZSwgZnVuY3Rpb24gKGIpIHsgcmV0dXJuIGRvSGFuZGxlQmluZGluZyhjbSwgYik7IH0pXG4gICAgfVxuICB9XG5cbiAgLy8gSGFuZGxlIGEga2V5IGZyb20gdGhlIGtleXByZXNzIGV2ZW50XG4gIGZ1bmN0aW9uIGhhbmRsZUNoYXJCaW5kaW5nKGNtLCBlLCBjaCkge1xuICAgIHJldHVybiBkaXNwYXRjaEtleShjbSwgXCInXCIgKyBjaCArIFwiJ1wiLCBlLCBmdW5jdGlvbiAoYikgeyByZXR1cm4gZG9IYW5kbGVCaW5kaW5nKGNtLCBiLCB0cnVlKTsgfSlcbiAgfVxuXG4gIHZhciBsYXN0U3RvcHBlZEtleSA9IG51bGw7XG4gIGZ1bmN0aW9uIG9uS2V5RG93bihlKSB7XG4gICAgdmFyIGNtID0gdGhpcztcbiAgICBjbS5jdXJPcC5mb2N1cyA9IGFjdGl2ZUVsdCgpO1xuICAgIGlmIChzaWduYWxET01FdmVudChjbSwgZSkpIHsgcmV0dXJuIH1cbiAgICAvLyBJRSBkb2VzIHN0cmFuZ2UgdGhpbmdzIHdpdGggZXNjYXBlLlxuICAgIGlmIChpZSAmJiBpZV92ZXJzaW9uIDwgMTEgJiYgZS5rZXlDb2RlID09IDI3KSB7IGUucmV0dXJuVmFsdWUgPSBmYWxzZTsgfVxuICAgIHZhciBjb2RlID0gZS5rZXlDb2RlO1xuICAgIGNtLmRpc3BsYXkuc2hpZnQgPSBjb2RlID09IDE2IHx8IGUuc2hpZnRLZXk7XG4gICAgdmFyIGhhbmRsZWQgPSBoYW5kbGVLZXlCaW5kaW5nKGNtLCBlKTtcbiAgICBpZiAocHJlc3RvKSB7XG4gICAgICBsYXN0U3RvcHBlZEtleSA9IGhhbmRsZWQgPyBjb2RlIDogbnVsbDtcbiAgICAgIC8vIE9wZXJhIGhhcyBubyBjdXQgZXZlbnQuLi4gd2UgdHJ5IHRvIGF0IGxlYXN0IGNhdGNoIHRoZSBrZXkgY29tYm9cbiAgICAgIGlmICghaGFuZGxlZCAmJiBjb2RlID09IDg4ICYmICFoYXNDb3B5RXZlbnQgJiYgKG1hYyA/IGUubWV0YUtleSA6IGUuY3RybEtleSkpXG4gICAgICAgIHsgY20ucmVwbGFjZVNlbGVjdGlvbihcIlwiLCBudWxsLCBcImN1dFwiKTsgfVxuICAgIH1cblxuICAgIC8vIFR1cm4gbW91c2UgaW50byBjcm9zc2hhaXIgd2hlbiBBbHQgaXMgaGVsZCBvbiBNYWMuXG4gICAgaWYgKGNvZGUgPT0gMTggJiYgIS9cXGJDb2RlTWlycm9yLWNyb3NzaGFpclxcYi8udGVzdChjbS5kaXNwbGF5LmxpbmVEaXYuY2xhc3NOYW1lKSlcbiAgICAgIHsgc2hvd0Nyb3NzSGFpcihjbSk7IH1cbiAgfVxuXG4gIGZ1bmN0aW9uIHNob3dDcm9zc0hhaXIoY20pIHtcbiAgICB2YXIgbGluZURpdiA9IGNtLmRpc3BsYXkubGluZURpdjtcbiAgICBhZGRDbGFzcyhsaW5lRGl2LCBcIkNvZGVNaXJyb3ItY3Jvc3NoYWlyXCIpO1xuXG4gICAgZnVuY3Rpb24gdXAoZSkge1xuICAgICAgaWYgKGUua2V5Q29kZSA9PSAxOCB8fCAhZS5hbHRLZXkpIHtcbiAgICAgICAgcm1DbGFzcyhsaW5lRGl2LCBcIkNvZGVNaXJyb3ItY3Jvc3NoYWlyXCIpO1xuICAgICAgICBvZmYoZG9jdW1lbnQsIFwia2V5dXBcIiwgdXApO1xuICAgICAgICBvZmYoZG9jdW1lbnQsIFwibW91c2VvdmVyXCIsIHVwKTtcbiAgICAgIH1cbiAgICB9XG4gICAgb24oZG9jdW1lbnQsIFwia2V5dXBcIiwgdXApO1xuICAgIG9uKGRvY3VtZW50LCBcIm1vdXNlb3ZlclwiLCB1cCk7XG4gIH1cblxuICBmdW5jdGlvbiBvbktleVVwKGUpIHtcbiAgICBpZiAoZS5rZXlDb2RlID09IDE2KSB7IHRoaXMuZG9jLnNlbC5zaGlmdCA9IGZhbHNlOyB9XG4gICAgc2lnbmFsRE9NRXZlbnQodGhpcywgZSk7XG4gIH1cblxuICBmdW5jdGlvbiBvbktleVByZXNzKGUpIHtcbiAgICB2YXIgY20gPSB0aGlzO1xuICAgIGlmIChldmVudEluV2lkZ2V0KGNtLmRpc3BsYXksIGUpIHx8IHNpZ25hbERPTUV2ZW50KGNtLCBlKSB8fCBlLmN0cmxLZXkgJiYgIWUuYWx0S2V5IHx8IG1hYyAmJiBlLm1ldGFLZXkpIHsgcmV0dXJuIH1cbiAgICB2YXIga2V5Q29kZSA9IGUua2V5Q29kZSwgY2hhckNvZGUgPSBlLmNoYXJDb2RlO1xuICAgIGlmIChwcmVzdG8gJiYga2V5Q29kZSA9PSBsYXN0U3RvcHBlZEtleSkge2xhc3RTdG9wcGVkS2V5ID0gbnVsbDsgZV9wcmV2ZW50RGVmYXVsdChlKTsgcmV0dXJufVxuICAgIGlmICgocHJlc3RvICYmICghZS53aGljaCB8fCBlLndoaWNoIDwgMTApKSAmJiBoYW5kbGVLZXlCaW5kaW5nKGNtLCBlKSkgeyByZXR1cm4gfVxuICAgIHZhciBjaCA9IFN0cmluZy5mcm9tQ2hhckNvZGUoY2hhckNvZGUgPT0gbnVsbCA/IGtleUNvZGUgOiBjaGFyQ29kZSk7XG4gICAgLy8gU29tZSBicm93c2VycyBmaXJlIGtleXByZXNzIGV2ZW50cyBmb3IgYmFja3NwYWNlXG4gICAgaWYgKGNoID09IFwiXFx4MDhcIikgeyByZXR1cm4gfVxuICAgIGlmIChoYW5kbGVDaGFyQmluZGluZyhjbSwgZSwgY2gpKSB7IHJldHVybiB9XG4gICAgY20uZGlzcGxheS5pbnB1dC5vbktleVByZXNzKGUpO1xuICB9XG5cbiAgdmFyIERPVUJMRUNMSUNLX0RFTEFZID0gNDAwO1xuXG4gIHZhciBQYXN0Q2xpY2sgPSBmdW5jdGlvbih0aW1lLCBwb3MsIGJ1dHRvbikge1xuICAgIHRoaXMudGltZSA9IHRpbWU7XG4gICAgdGhpcy5wb3MgPSBwb3M7XG4gICAgdGhpcy5idXR0b24gPSBidXR0b247XG4gIH07XG5cbiAgUGFzdENsaWNrLnByb3RvdHlwZS5jb21wYXJlID0gZnVuY3Rpb24gKHRpbWUsIHBvcywgYnV0dG9uKSB7XG4gICAgcmV0dXJuIHRoaXMudGltZSArIERPVUJMRUNMSUNLX0RFTEFZID4gdGltZSAmJlxuICAgICAgY21wKHBvcywgdGhpcy5wb3MpID09IDAgJiYgYnV0dG9uID09IHRoaXMuYnV0dG9uXG4gIH07XG5cbiAgdmFyIGxhc3RDbGljaywgbGFzdERvdWJsZUNsaWNrO1xuICBmdW5jdGlvbiBjbGlja1JlcGVhdChwb3MsIGJ1dHRvbikge1xuICAgIHZhciBub3cgPSArbmV3IERhdGU7XG4gICAgaWYgKGxhc3REb3VibGVDbGljayAmJiBsYXN0RG91YmxlQ2xpY2suY29tcGFyZShub3csIHBvcywgYnV0dG9uKSkge1xuICAgICAgbGFzdENsaWNrID0gbGFzdERvdWJsZUNsaWNrID0gbnVsbDtcbiAgICAgIHJldHVybiBcInRyaXBsZVwiXG4gICAgfSBlbHNlIGlmIChsYXN0Q2xpY2sgJiYgbGFzdENsaWNrLmNvbXBhcmUobm93LCBwb3MsIGJ1dHRvbikpIHtcbiAgICAgIGxhc3REb3VibGVDbGljayA9IG5ldyBQYXN0Q2xpY2sobm93LCBwb3MsIGJ1dHRvbik7XG4gICAgICBsYXN0Q2xpY2sgPSBudWxsO1xuICAgICAgcmV0dXJuIFwiZG91YmxlXCJcbiAgICB9IGVsc2Uge1xuICAgICAgbGFzdENsaWNrID0gbmV3IFBhc3RDbGljayhub3csIHBvcywgYnV0dG9uKTtcbiAgICAgIGxhc3REb3VibGVDbGljayA9IG51bGw7XG4gICAgICByZXR1cm4gXCJzaW5nbGVcIlxuICAgIH1cbiAgfVxuXG4gIC8vIEEgbW91c2UgZG93biBjYW4gYmUgYSBzaW5nbGUgY2xpY2ssIGRvdWJsZSBjbGljaywgdHJpcGxlIGNsaWNrLFxuICAvLyBzdGFydCBvZiBzZWxlY3Rpb24gZHJhZywgc3RhcnQgb2YgdGV4dCBkcmFnLCBuZXcgY3Vyc29yXG4gIC8vIChjdHJsLWNsaWNrKSwgcmVjdGFuZ2xlIGRyYWcgKGFsdC1kcmFnKSwgb3IgeHdpblxuICAvLyBtaWRkbGUtY2xpY2stcGFzdGUuIE9yIGl0IG1pZ2h0IGJlIGEgY2xpY2sgb24gc29tZXRoaW5nIHdlIHNob3VsZFxuICAvLyBub3QgaW50ZXJmZXJlIHdpdGgsIHN1Y2ggYXMgYSBzY3JvbGxiYXIgb3Igd2lkZ2V0LlxuICBmdW5jdGlvbiBvbk1vdXNlRG93bihlKSB7XG4gICAgdmFyIGNtID0gdGhpcywgZGlzcGxheSA9IGNtLmRpc3BsYXk7XG4gICAgaWYgKHNpZ25hbERPTUV2ZW50KGNtLCBlKSB8fCBkaXNwbGF5LmFjdGl2ZVRvdWNoICYmIGRpc3BsYXkuaW5wdXQuc3VwcG9ydHNUb3VjaCgpKSB7IHJldHVybiB9XG4gICAgZGlzcGxheS5pbnB1dC5lbnN1cmVQb2xsZWQoKTtcbiAgICBkaXNwbGF5LnNoaWZ0ID0gZS5zaGlmdEtleTtcblxuICAgIGlmIChldmVudEluV2lkZ2V0KGRpc3BsYXksIGUpKSB7XG4gICAgICBpZiAoIXdlYmtpdCkge1xuICAgICAgICAvLyBCcmllZmx5IHR1cm4gb2ZmIGRyYWdnYWJpbGl0eSwgdG8gYWxsb3cgd2lkZ2V0cyB0byBkb1xuICAgICAgICAvLyBub3JtYWwgZHJhZ2dpbmcgdGhpbmdzLlxuICAgICAgICBkaXNwbGF5LnNjcm9sbGVyLmRyYWdnYWJsZSA9IGZhbHNlO1xuICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsgcmV0dXJuIGRpc3BsYXkuc2Nyb2xsZXIuZHJhZ2dhYmxlID0gdHJ1ZTsgfSwgMTAwKTtcbiAgICAgIH1cbiAgICAgIHJldHVyblxuICAgIH1cbiAgICBpZiAoY2xpY2tJbkd1dHRlcihjbSwgZSkpIHsgcmV0dXJuIH1cbiAgICB2YXIgcG9zID0gcG9zRnJvbU1vdXNlKGNtLCBlKSwgYnV0dG9uID0gZV9idXR0b24oZSksIHJlcGVhdCA9IHBvcyA/IGNsaWNrUmVwZWF0KHBvcywgYnV0dG9uKSA6IFwic2luZ2xlXCI7XG4gICAgd2luZG93LmZvY3VzKCk7XG5cbiAgICAvLyAjMzI2MTogbWFrZSBzdXJlLCB0aGF0IHdlJ3JlIG5vdCBzdGFydGluZyBhIHNlY29uZCBzZWxlY3Rpb25cbiAgICBpZiAoYnV0dG9uID09IDEgJiYgY20uc3RhdGUuc2VsZWN0aW5nVGV4dClcbiAgICAgIHsgY20uc3RhdGUuc2VsZWN0aW5nVGV4dChlKTsgfVxuXG4gICAgaWYgKHBvcyAmJiBoYW5kbGVNYXBwZWRCdXR0b24oY20sIGJ1dHRvbiwgcG9zLCByZXBlYXQsIGUpKSB7IHJldHVybiB9XG5cbiAgICBpZiAoYnV0dG9uID09IDEpIHtcbiAgICAgIGlmIChwb3MpIHsgbGVmdEJ1dHRvbkRvd24oY20sIHBvcywgcmVwZWF0LCBlKTsgfVxuICAgICAgZWxzZSBpZiAoZV90YXJnZXQoZSkgPT0gZGlzcGxheS5zY3JvbGxlcikgeyBlX3ByZXZlbnREZWZhdWx0KGUpOyB9XG4gICAgfSBlbHNlIGlmIChidXR0b24gPT0gMikge1xuICAgICAgaWYgKHBvcykgeyBleHRlbmRTZWxlY3Rpb24oY20uZG9jLCBwb3MpOyB9XG4gICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsgcmV0dXJuIGRpc3BsYXkuaW5wdXQuZm9jdXMoKTsgfSwgMjApO1xuICAgIH0gZWxzZSBpZiAoYnV0dG9uID09IDMpIHtcbiAgICAgIGlmIChjYXB0dXJlUmlnaHRDbGljaykgeyBjbS5kaXNwbGF5LmlucHV0Lm9uQ29udGV4dE1lbnUoZSk7IH1cbiAgICAgIGVsc2UgeyBkZWxheUJsdXJFdmVudChjbSk7IH1cbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBoYW5kbGVNYXBwZWRCdXR0b24oY20sIGJ1dHRvbiwgcG9zLCByZXBlYXQsIGV2ZW50KSB7XG4gICAgdmFyIG5hbWUgPSBcIkNsaWNrXCI7XG4gICAgaWYgKHJlcGVhdCA9PSBcImRvdWJsZVwiKSB7IG5hbWUgPSBcIkRvdWJsZVwiICsgbmFtZTsgfVxuICAgIGVsc2UgaWYgKHJlcGVhdCA9PSBcInRyaXBsZVwiKSB7IG5hbWUgPSBcIlRyaXBsZVwiICsgbmFtZTsgfVxuICAgIG5hbWUgPSAoYnV0dG9uID09IDEgPyBcIkxlZnRcIiA6IGJ1dHRvbiA9PSAyID8gXCJNaWRkbGVcIiA6IFwiUmlnaHRcIikgKyBuYW1lO1xuXG4gICAgcmV0dXJuIGRpc3BhdGNoS2V5KGNtLCAgYWRkTW9kaWZpZXJOYW1lcyhuYW1lLCBldmVudCksIGV2ZW50LCBmdW5jdGlvbiAoYm91bmQpIHtcbiAgICAgIGlmICh0eXBlb2YgYm91bmQgPT0gXCJzdHJpbmdcIikgeyBib3VuZCA9IGNvbW1hbmRzW2JvdW5kXTsgfVxuICAgICAgaWYgKCFib3VuZCkgeyByZXR1cm4gZmFsc2UgfVxuICAgICAgdmFyIGRvbmUgPSBmYWxzZTtcbiAgICAgIHRyeSB7XG4gICAgICAgIGlmIChjbS5pc1JlYWRPbmx5KCkpIHsgY20uc3RhdGUuc3VwcHJlc3NFZGl0cyA9IHRydWU7IH1cbiAgICAgICAgZG9uZSA9IGJvdW5kKGNtLCBwb3MpICE9IFBhc3M7XG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICBjbS5zdGF0ZS5zdXBwcmVzc0VkaXRzID0gZmFsc2U7XG4gICAgICB9XG4gICAgICByZXR1cm4gZG9uZVxuICAgIH0pXG4gIH1cblxuICBmdW5jdGlvbiBjb25maWd1cmVNb3VzZShjbSwgcmVwZWF0LCBldmVudCkge1xuICAgIHZhciBvcHRpb24gPSBjbS5nZXRPcHRpb24oXCJjb25maWd1cmVNb3VzZVwiKTtcbiAgICB2YXIgdmFsdWUgPSBvcHRpb24gPyBvcHRpb24oY20sIHJlcGVhdCwgZXZlbnQpIDoge307XG4gICAgaWYgKHZhbHVlLnVuaXQgPT0gbnVsbCkge1xuICAgICAgdmFyIHJlY3QgPSBjaHJvbWVPUyA/IGV2ZW50LnNoaWZ0S2V5ICYmIGV2ZW50Lm1ldGFLZXkgOiBldmVudC5hbHRLZXk7XG4gICAgICB2YWx1ZS51bml0ID0gcmVjdCA/IFwicmVjdGFuZ2xlXCIgOiByZXBlYXQgPT0gXCJzaW5nbGVcIiA/IFwiY2hhclwiIDogcmVwZWF0ID09IFwiZG91YmxlXCIgPyBcIndvcmRcIiA6IFwibGluZVwiO1xuICAgIH1cbiAgICBpZiAodmFsdWUuZXh0ZW5kID09IG51bGwgfHwgY20uZG9jLmV4dGVuZCkgeyB2YWx1ZS5leHRlbmQgPSBjbS5kb2MuZXh0ZW5kIHx8IGV2ZW50LnNoaWZ0S2V5OyB9XG4gICAgaWYgKHZhbHVlLmFkZE5ldyA9PSBudWxsKSB7IHZhbHVlLmFkZE5ldyA9IG1hYyA/IGV2ZW50Lm1ldGFLZXkgOiBldmVudC5jdHJsS2V5OyB9XG4gICAgaWYgKHZhbHVlLm1vdmVPbkRyYWcgPT0gbnVsbCkgeyB2YWx1ZS5tb3ZlT25EcmFnID0gIShtYWMgPyBldmVudC5hbHRLZXkgOiBldmVudC5jdHJsS2V5KTsgfVxuICAgIHJldHVybiB2YWx1ZVxuICB9XG5cbiAgZnVuY3Rpb24gbGVmdEJ1dHRvbkRvd24oY20sIHBvcywgcmVwZWF0LCBldmVudCkge1xuICAgIGlmIChpZSkgeyBzZXRUaW1lb3V0KGJpbmQoZW5zdXJlRm9jdXMsIGNtKSwgMCk7IH1cbiAgICBlbHNlIHsgY20uY3VyT3AuZm9jdXMgPSBhY3RpdmVFbHQoKTsgfVxuXG4gICAgdmFyIGJlaGF2aW9yID0gY29uZmlndXJlTW91c2UoY20sIHJlcGVhdCwgZXZlbnQpO1xuXG4gICAgdmFyIHNlbCA9IGNtLmRvYy5zZWwsIGNvbnRhaW5lZDtcbiAgICBpZiAoY20ub3B0aW9ucy5kcmFnRHJvcCAmJiBkcmFnQW5kRHJvcCAmJiAhY20uaXNSZWFkT25seSgpICYmXG4gICAgICAgIHJlcGVhdCA9PSBcInNpbmdsZVwiICYmIChjb250YWluZWQgPSBzZWwuY29udGFpbnMocG9zKSkgPiAtMSAmJlxuICAgICAgICAoY21wKChjb250YWluZWQgPSBzZWwucmFuZ2VzW2NvbnRhaW5lZF0pLmZyb20oKSwgcG9zKSA8IDAgfHwgcG9zLnhSZWwgPiAwKSAmJlxuICAgICAgICAoY21wKGNvbnRhaW5lZC50bygpLCBwb3MpID4gMCB8fCBwb3MueFJlbCA8IDApKVxuICAgICAgeyBsZWZ0QnV0dG9uU3RhcnREcmFnKGNtLCBldmVudCwgcG9zLCBiZWhhdmlvcik7IH1cbiAgICBlbHNlXG4gICAgICB7IGxlZnRCdXR0b25TZWxlY3QoY20sIGV2ZW50LCBwb3MsIGJlaGF2aW9yKTsgfVxuICB9XG5cbiAgLy8gU3RhcnQgYSB0ZXh0IGRyYWcuIFdoZW4gaXQgZW5kcywgc2VlIGlmIGFueSBkcmFnZ2luZyBhY3R1YWxseVxuICAvLyBoYXBwZW4sIGFuZCB0cmVhdCBhcyBhIGNsaWNrIGlmIGl0IGRpZG4ndC5cbiAgZnVuY3Rpb24gbGVmdEJ1dHRvblN0YXJ0RHJhZyhjbSwgZXZlbnQsIHBvcywgYmVoYXZpb3IpIHtcbiAgICB2YXIgZGlzcGxheSA9IGNtLmRpc3BsYXksIG1vdmVkID0gZmFsc2U7XG4gICAgdmFyIGRyYWdFbmQgPSBvcGVyYXRpb24oY20sIGZ1bmN0aW9uIChlKSB7XG4gICAgICBpZiAod2Via2l0KSB7IGRpc3BsYXkuc2Nyb2xsZXIuZHJhZ2dhYmxlID0gZmFsc2U7IH1cbiAgICAgIGNtLnN0YXRlLmRyYWdnaW5nVGV4dCA9IGZhbHNlO1xuICAgICAgb2ZmKGRpc3BsYXkud3JhcHBlci5vd25lckRvY3VtZW50LCBcIm1vdXNldXBcIiwgZHJhZ0VuZCk7XG4gICAgICBvZmYoZGlzcGxheS53cmFwcGVyLm93bmVyRG9jdW1lbnQsIFwibW91c2Vtb3ZlXCIsIG1vdXNlTW92ZSk7XG4gICAgICBvZmYoZGlzcGxheS5zY3JvbGxlciwgXCJkcmFnc3RhcnRcIiwgZHJhZ1N0YXJ0KTtcbiAgICAgIG9mZihkaXNwbGF5LnNjcm9sbGVyLCBcImRyb3BcIiwgZHJhZ0VuZCk7XG4gICAgICBpZiAoIW1vdmVkKSB7XG4gICAgICAgIGVfcHJldmVudERlZmF1bHQoZSk7XG4gICAgICAgIGlmICghYmVoYXZpb3IuYWRkTmV3KVxuICAgICAgICAgIHsgZXh0ZW5kU2VsZWN0aW9uKGNtLmRvYywgcG9zLCBudWxsLCBudWxsLCBiZWhhdmlvci5leHRlbmQpOyB9XG4gICAgICAgIC8vIFdvcmsgYXJvdW5kIHVuZXhwbGFpbmFibGUgZm9jdXMgcHJvYmxlbSBpbiBJRTkgKCMyMTI3KSBhbmQgQ2hyb21lICgjMzA4MSlcbiAgICAgICAgaWYgKHdlYmtpdCB8fCBpZSAmJiBpZV92ZXJzaW9uID09IDkpXG4gICAgICAgICAgeyBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtkaXNwbGF5LndyYXBwZXIub3duZXJEb2N1bWVudC5ib2R5LmZvY3VzKCk7IGRpc3BsYXkuaW5wdXQuZm9jdXMoKTt9LCAyMCk7IH1cbiAgICAgICAgZWxzZVxuICAgICAgICAgIHsgZGlzcGxheS5pbnB1dC5mb2N1cygpOyB9XG4gICAgICB9XG4gICAgfSk7XG4gICAgdmFyIG1vdXNlTW92ZSA9IGZ1bmN0aW9uKGUyKSB7XG4gICAgICBtb3ZlZCA9IG1vdmVkIHx8IE1hdGguYWJzKGV2ZW50LmNsaWVudFggLSBlMi5jbGllbnRYKSArIE1hdGguYWJzKGV2ZW50LmNsaWVudFkgLSBlMi5jbGllbnRZKSA+PSAxMDtcbiAgICB9O1xuICAgIHZhciBkcmFnU3RhcnQgPSBmdW5jdGlvbiAoKSB7IHJldHVybiBtb3ZlZCA9IHRydWU7IH07XG4gICAgLy8gTGV0IHRoZSBkcmFnIGhhbmRsZXIgaGFuZGxlIHRoaXMuXG4gICAgaWYgKHdlYmtpdCkgeyBkaXNwbGF5LnNjcm9sbGVyLmRyYWdnYWJsZSA9IHRydWU7IH1cbiAgICBjbS5zdGF0ZS5kcmFnZ2luZ1RleHQgPSBkcmFnRW5kO1xuICAgIGRyYWdFbmQuY29weSA9ICFiZWhhdmlvci5tb3ZlT25EcmFnO1xuICAgIC8vIElFJ3MgYXBwcm9hY2ggdG8gZHJhZ2dhYmxlXG4gICAgaWYgKGRpc3BsYXkuc2Nyb2xsZXIuZHJhZ0Ryb3ApIHsgZGlzcGxheS5zY3JvbGxlci5kcmFnRHJvcCgpOyB9XG4gICAgb24oZGlzcGxheS53cmFwcGVyLm93bmVyRG9jdW1lbnQsIFwibW91c2V1cFwiLCBkcmFnRW5kKTtcbiAgICBvbihkaXNwbGF5LndyYXBwZXIub3duZXJEb2N1bWVudCwgXCJtb3VzZW1vdmVcIiwgbW91c2VNb3ZlKTtcbiAgICBvbihkaXNwbGF5LnNjcm9sbGVyLCBcImRyYWdzdGFydFwiLCBkcmFnU3RhcnQpO1xuICAgIG9uKGRpc3BsYXkuc2Nyb2xsZXIsIFwiZHJvcFwiLCBkcmFnRW5kKTtcblxuICAgIGRlbGF5Qmx1ckV2ZW50KGNtKTtcbiAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsgcmV0dXJuIGRpc3BsYXkuaW5wdXQuZm9jdXMoKTsgfSwgMjApO1xuICB9XG5cbiAgZnVuY3Rpb24gcmFuZ2VGb3JVbml0KGNtLCBwb3MsIHVuaXQpIHtcbiAgICBpZiAodW5pdCA9PSBcImNoYXJcIikgeyByZXR1cm4gbmV3IFJhbmdlKHBvcywgcG9zKSB9XG4gICAgaWYgKHVuaXQgPT0gXCJ3b3JkXCIpIHsgcmV0dXJuIGNtLmZpbmRXb3JkQXQocG9zKSB9XG4gICAgaWYgKHVuaXQgPT0gXCJsaW5lXCIpIHsgcmV0dXJuIG5ldyBSYW5nZShQb3MocG9zLmxpbmUsIDApLCBjbGlwUG9zKGNtLmRvYywgUG9zKHBvcy5saW5lICsgMSwgMCkpKSB9XG4gICAgdmFyIHJlc3VsdCA9IHVuaXQoY20sIHBvcyk7XG4gICAgcmV0dXJuIG5ldyBSYW5nZShyZXN1bHQuZnJvbSwgcmVzdWx0LnRvKVxuICB9XG5cbiAgLy8gTm9ybWFsIHNlbGVjdGlvbiwgYXMgb3Bwb3NlZCB0byB0ZXh0IGRyYWdnaW5nLlxuICBmdW5jdGlvbiBsZWZ0QnV0dG9uU2VsZWN0KGNtLCBldmVudCwgc3RhcnQsIGJlaGF2aW9yKSB7XG4gICAgdmFyIGRpc3BsYXkgPSBjbS5kaXNwbGF5LCBkb2MgPSBjbS5kb2M7XG4gICAgZV9wcmV2ZW50RGVmYXVsdChldmVudCk7XG5cbiAgICB2YXIgb3VyUmFuZ2UsIG91ckluZGV4LCBzdGFydFNlbCA9IGRvYy5zZWwsIHJhbmdlcyA9IHN0YXJ0U2VsLnJhbmdlcztcbiAgICBpZiAoYmVoYXZpb3IuYWRkTmV3ICYmICFiZWhhdmlvci5leHRlbmQpIHtcbiAgICAgIG91ckluZGV4ID0gZG9jLnNlbC5jb250YWlucyhzdGFydCk7XG4gICAgICBpZiAob3VySW5kZXggPiAtMSlcbiAgICAgICAgeyBvdXJSYW5nZSA9IHJhbmdlc1tvdXJJbmRleF07IH1cbiAgICAgIGVsc2VcbiAgICAgICAgeyBvdXJSYW5nZSA9IG5ldyBSYW5nZShzdGFydCwgc3RhcnQpOyB9XG4gICAgfSBlbHNlIHtcbiAgICAgIG91clJhbmdlID0gZG9jLnNlbC5wcmltYXJ5KCk7XG4gICAgICBvdXJJbmRleCA9IGRvYy5zZWwucHJpbUluZGV4O1xuICAgIH1cblxuICAgIGlmIChiZWhhdmlvci51bml0ID09IFwicmVjdGFuZ2xlXCIpIHtcbiAgICAgIGlmICghYmVoYXZpb3IuYWRkTmV3KSB7IG91clJhbmdlID0gbmV3IFJhbmdlKHN0YXJ0LCBzdGFydCk7IH1cbiAgICAgIHN0YXJ0ID0gcG9zRnJvbU1vdXNlKGNtLCBldmVudCwgdHJ1ZSwgdHJ1ZSk7XG4gICAgICBvdXJJbmRleCA9IC0xO1xuICAgIH0gZWxzZSB7XG4gICAgICB2YXIgcmFuZ2UkJDEgPSByYW5nZUZvclVuaXQoY20sIHN0YXJ0LCBiZWhhdmlvci51bml0KTtcbiAgICAgIGlmIChiZWhhdmlvci5leHRlbmQpXG4gICAgICAgIHsgb3VyUmFuZ2UgPSBleHRlbmRSYW5nZShvdXJSYW5nZSwgcmFuZ2UkJDEuYW5jaG9yLCByYW5nZSQkMS5oZWFkLCBiZWhhdmlvci5leHRlbmQpOyB9XG4gICAgICBlbHNlXG4gICAgICAgIHsgb3VyUmFuZ2UgPSByYW5nZSQkMTsgfVxuICAgIH1cblxuICAgIGlmICghYmVoYXZpb3IuYWRkTmV3KSB7XG4gICAgICBvdXJJbmRleCA9IDA7XG4gICAgICBzZXRTZWxlY3Rpb24oZG9jLCBuZXcgU2VsZWN0aW9uKFtvdXJSYW5nZV0sIDApLCBzZWxfbW91c2UpO1xuICAgICAgc3RhcnRTZWwgPSBkb2Muc2VsO1xuICAgIH0gZWxzZSBpZiAob3VySW5kZXggPT0gLTEpIHtcbiAgICAgIG91ckluZGV4ID0gcmFuZ2VzLmxlbmd0aDtcbiAgICAgIHNldFNlbGVjdGlvbihkb2MsIG5vcm1hbGl6ZVNlbGVjdGlvbihjbSwgcmFuZ2VzLmNvbmNhdChbb3VyUmFuZ2VdKSwgb3VySW5kZXgpLFxuICAgICAgICAgICAgICAgICAgIHtzY3JvbGw6IGZhbHNlLCBvcmlnaW46IFwiKm1vdXNlXCJ9KTtcbiAgICB9IGVsc2UgaWYgKHJhbmdlcy5sZW5ndGggPiAxICYmIHJhbmdlc1tvdXJJbmRleF0uZW1wdHkoKSAmJiBiZWhhdmlvci51bml0ID09IFwiY2hhclwiICYmICFiZWhhdmlvci5leHRlbmQpIHtcbiAgICAgIHNldFNlbGVjdGlvbihkb2MsIG5vcm1hbGl6ZVNlbGVjdGlvbihjbSwgcmFuZ2VzLnNsaWNlKDAsIG91ckluZGV4KS5jb25jYXQocmFuZ2VzLnNsaWNlKG91ckluZGV4ICsgMSkpLCAwKSxcbiAgICAgICAgICAgICAgICAgICB7c2Nyb2xsOiBmYWxzZSwgb3JpZ2luOiBcIiptb3VzZVwifSk7XG4gICAgICBzdGFydFNlbCA9IGRvYy5zZWw7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlcGxhY2VPbmVTZWxlY3Rpb24oZG9jLCBvdXJJbmRleCwgb3VyUmFuZ2UsIHNlbF9tb3VzZSk7XG4gICAgfVxuXG4gICAgdmFyIGxhc3RQb3MgPSBzdGFydDtcbiAgICBmdW5jdGlvbiBleHRlbmRUbyhwb3MpIHtcbiAgICAgIGlmIChjbXAobGFzdFBvcywgcG9zKSA9PSAwKSB7IHJldHVybiB9XG4gICAgICBsYXN0UG9zID0gcG9zO1xuXG4gICAgICBpZiAoYmVoYXZpb3IudW5pdCA9PSBcInJlY3RhbmdsZVwiKSB7XG4gICAgICAgIHZhciByYW5nZXMgPSBbXSwgdGFiU2l6ZSA9IGNtLm9wdGlvbnMudGFiU2l6ZTtcbiAgICAgICAgdmFyIHN0YXJ0Q29sID0gY291bnRDb2x1bW4oZ2V0TGluZShkb2MsIHN0YXJ0LmxpbmUpLnRleHQsIHN0YXJ0LmNoLCB0YWJTaXplKTtcbiAgICAgICAgdmFyIHBvc0NvbCA9IGNvdW50Q29sdW1uKGdldExpbmUoZG9jLCBwb3MubGluZSkudGV4dCwgcG9zLmNoLCB0YWJTaXplKTtcbiAgICAgICAgdmFyIGxlZnQgPSBNYXRoLm1pbihzdGFydENvbCwgcG9zQ29sKSwgcmlnaHQgPSBNYXRoLm1heChzdGFydENvbCwgcG9zQ29sKTtcbiAgICAgICAgZm9yICh2YXIgbGluZSA9IE1hdGgubWluKHN0YXJ0LmxpbmUsIHBvcy5saW5lKSwgZW5kID0gTWF0aC5taW4oY20ubGFzdExpbmUoKSwgTWF0aC5tYXgoc3RhcnQubGluZSwgcG9zLmxpbmUpKTtcbiAgICAgICAgICAgICBsaW5lIDw9IGVuZDsgbGluZSsrKSB7XG4gICAgICAgICAgdmFyIHRleHQgPSBnZXRMaW5lKGRvYywgbGluZSkudGV4dCwgbGVmdFBvcyA9IGZpbmRDb2x1bW4odGV4dCwgbGVmdCwgdGFiU2l6ZSk7XG4gICAgICAgICAgaWYgKGxlZnQgPT0gcmlnaHQpXG4gICAgICAgICAgICB7IHJhbmdlcy5wdXNoKG5ldyBSYW5nZShQb3MobGluZSwgbGVmdFBvcyksIFBvcyhsaW5lLCBsZWZ0UG9zKSkpOyB9XG4gICAgICAgICAgZWxzZSBpZiAodGV4dC5sZW5ndGggPiBsZWZ0UG9zKVxuICAgICAgICAgICAgeyByYW5nZXMucHVzaChuZXcgUmFuZ2UoUG9zKGxpbmUsIGxlZnRQb3MpLCBQb3MobGluZSwgZmluZENvbHVtbih0ZXh0LCByaWdodCwgdGFiU2l6ZSkpKSk7IH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoIXJhbmdlcy5sZW5ndGgpIHsgcmFuZ2VzLnB1c2gobmV3IFJhbmdlKHN0YXJ0LCBzdGFydCkpOyB9XG4gICAgICAgIHNldFNlbGVjdGlvbihkb2MsIG5vcm1hbGl6ZVNlbGVjdGlvbihjbSwgc3RhcnRTZWwucmFuZ2VzLnNsaWNlKDAsIG91ckluZGV4KS5jb25jYXQocmFuZ2VzKSwgb3VySW5kZXgpLFxuICAgICAgICAgICAgICAgICAgICAge29yaWdpbjogXCIqbW91c2VcIiwgc2Nyb2xsOiBmYWxzZX0pO1xuICAgICAgICBjbS5zY3JvbGxJbnRvVmlldyhwb3MpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdmFyIG9sZFJhbmdlID0gb3VyUmFuZ2U7XG4gICAgICAgIHZhciByYW5nZSQkMSA9IHJhbmdlRm9yVW5pdChjbSwgcG9zLCBiZWhhdmlvci51bml0KTtcbiAgICAgICAgdmFyIGFuY2hvciA9IG9sZFJhbmdlLmFuY2hvciwgaGVhZDtcbiAgICAgICAgaWYgKGNtcChyYW5nZSQkMS5hbmNob3IsIGFuY2hvcikgPiAwKSB7XG4gICAgICAgICAgaGVhZCA9IHJhbmdlJCQxLmhlYWQ7XG4gICAgICAgICAgYW5jaG9yID0gbWluUG9zKG9sZFJhbmdlLmZyb20oKSwgcmFuZ2UkJDEuYW5jaG9yKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBoZWFkID0gcmFuZ2UkJDEuYW5jaG9yO1xuICAgICAgICAgIGFuY2hvciA9IG1heFBvcyhvbGRSYW5nZS50bygpLCByYW5nZSQkMS5oZWFkKTtcbiAgICAgICAgfVxuICAgICAgICB2YXIgcmFuZ2VzJDEgPSBzdGFydFNlbC5yYW5nZXMuc2xpY2UoMCk7XG4gICAgICAgIHJhbmdlcyQxW291ckluZGV4XSA9IGJpZGlTaW1wbGlmeShjbSwgbmV3IFJhbmdlKGNsaXBQb3MoZG9jLCBhbmNob3IpLCBoZWFkKSk7XG4gICAgICAgIHNldFNlbGVjdGlvbihkb2MsIG5vcm1hbGl6ZVNlbGVjdGlvbihjbSwgcmFuZ2VzJDEsIG91ckluZGV4KSwgc2VsX21vdXNlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB2YXIgZWRpdG9yU2l6ZSA9IGRpc3BsYXkud3JhcHBlci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAvLyBVc2VkIHRvIGVuc3VyZSB0aW1lb3V0IHJlLXRyaWVzIGRvbid0IGZpcmUgd2hlbiBhbm90aGVyIGV4dGVuZFxuICAgIC8vIGhhcHBlbmVkIGluIHRoZSBtZWFudGltZSAoY2xlYXJUaW1lb3V0IGlzbid0IHJlbGlhYmxlIC0tIGF0XG4gICAgLy8gbGVhc3Qgb24gQ2hyb21lLCB0aGUgdGltZW91dHMgc3RpbGwgaGFwcGVuIGV2ZW4gd2hlbiBjbGVhcmVkLFxuICAgIC8vIGlmIHRoZSBjbGVhciBoYXBwZW5zIGFmdGVyIHRoZWlyIHNjaGVkdWxlZCBmaXJpbmcgdGltZSkuXG4gICAgdmFyIGNvdW50ZXIgPSAwO1xuXG4gICAgZnVuY3Rpb24gZXh0ZW5kKGUpIHtcbiAgICAgIHZhciBjdXJDb3VudCA9ICsrY291bnRlcjtcbiAgICAgIHZhciBjdXIgPSBwb3NGcm9tTW91c2UoY20sIGUsIHRydWUsIGJlaGF2aW9yLnVuaXQgPT0gXCJyZWN0YW5nbGVcIik7XG4gICAgICBpZiAoIWN1cikgeyByZXR1cm4gfVxuICAgICAgaWYgKGNtcChjdXIsIGxhc3RQb3MpICE9IDApIHtcbiAgICAgICAgY20uY3VyT3AuZm9jdXMgPSBhY3RpdmVFbHQoKTtcbiAgICAgICAgZXh0ZW5kVG8oY3VyKTtcbiAgICAgICAgdmFyIHZpc2libGUgPSB2aXNpYmxlTGluZXMoZGlzcGxheSwgZG9jKTtcbiAgICAgICAgaWYgKGN1ci5saW5lID49IHZpc2libGUudG8gfHwgY3VyLmxpbmUgPCB2aXNpYmxlLmZyb20pXG4gICAgICAgICAgeyBzZXRUaW1lb3V0KG9wZXJhdGlvbihjbSwgZnVuY3Rpb24gKCkge2lmIChjb3VudGVyID09IGN1ckNvdW50KSB7IGV4dGVuZChlKTsgfX0pLCAxNTApOyB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB2YXIgb3V0c2lkZSA9IGUuY2xpZW50WSA8IGVkaXRvclNpemUudG9wID8gLTIwIDogZS5jbGllbnRZID4gZWRpdG9yU2l6ZS5ib3R0b20gPyAyMCA6IDA7XG4gICAgICAgIGlmIChvdXRzaWRlKSB7IHNldFRpbWVvdXQob3BlcmF0aW9uKGNtLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgaWYgKGNvdW50ZXIgIT0gY3VyQ291bnQpIHsgcmV0dXJuIH1cbiAgICAgICAgICBkaXNwbGF5LnNjcm9sbGVyLnNjcm9sbFRvcCArPSBvdXRzaWRlO1xuICAgICAgICAgIGV4dGVuZChlKTtcbiAgICAgICAgfSksIDUwKTsgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGZ1bmN0aW9uIGRvbmUoZSkge1xuICAgICAgY20uc3RhdGUuc2VsZWN0aW5nVGV4dCA9IGZhbHNlO1xuICAgICAgY291bnRlciA9IEluZmluaXR5O1xuICAgICAgLy8gSWYgZSBpcyBudWxsIG9yIHVuZGVmaW5lZCB3ZSBpbnRlcnByZXQgdGhpcyBhcyBzb21lb25lIHRyeWluZ1xuICAgICAgLy8gdG8gZXhwbGljaXRseSBjYW5jZWwgdGhlIHNlbGVjdGlvbiByYXRoZXIgdGhhbiB0aGUgdXNlclxuICAgICAgLy8gbGV0dGluZyBnbyBvZiB0aGUgbW91c2UgYnV0dG9uLlxuICAgICAgaWYgKGUpIHtcbiAgICAgICAgZV9wcmV2ZW50RGVmYXVsdChlKTtcbiAgICAgICAgZGlzcGxheS5pbnB1dC5mb2N1cygpO1xuICAgICAgfVxuICAgICAgb2ZmKGRpc3BsYXkud3JhcHBlci5vd25lckRvY3VtZW50LCBcIm1vdXNlbW92ZVwiLCBtb3ZlKTtcbiAgICAgIG9mZihkaXNwbGF5LndyYXBwZXIub3duZXJEb2N1bWVudCwgXCJtb3VzZXVwXCIsIHVwKTtcbiAgICAgIGRvYy5oaXN0b3J5Lmxhc3RTZWxPcmlnaW4gPSBudWxsO1xuICAgIH1cblxuICAgIHZhciBtb3ZlID0gb3BlcmF0aW9uKGNtLCBmdW5jdGlvbiAoZSkge1xuICAgICAgaWYgKGUuYnV0dG9ucyA9PT0gMCB8fCAhZV9idXR0b24oZSkpIHsgZG9uZShlKTsgfVxuICAgICAgZWxzZSB7IGV4dGVuZChlKTsgfVxuICAgIH0pO1xuICAgIHZhciB1cCA9IG9wZXJhdGlvbihjbSwgZG9uZSk7XG4gICAgY20uc3RhdGUuc2VsZWN0aW5nVGV4dCA9IHVwO1xuICAgIG9uKGRpc3BsYXkud3JhcHBlci5vd25lckRvY3VtZW50LCBcIm1vdXNlbW92ZVwiLCBtb3ZlKTtcbiAgICBvbihkaXNwbGF5LndyYXBwZXIub3duZXJEb2N1bWVudCwgXCJtb3VzZXVwXCIsIHVwKTtcbiAgfVxuXG4gIC8vIFVzZWQgd2hlbiBtb3VzZS1zZWxlY3RpbmcgdG8gYWRqdXN0IHRoZSBhbmNob3IgdG8gdGhlIHByb3BlciBzaWRlXG4gIC8vIG9mIGEgYmlkaSBqdW1wIGRlcGVuZGluZyBvbiB0aGUgdmlzdWFsIHBvc2l0aW9uIG9mIHRoZSBoZWFkLlxuICBmdW5jdGlvbiBiaWRpU2ltcGxpZnkoY20sIHJhbmdlJCQxKSB7XG4gICAgdmFyIGFuY2hvciA9IHJhbmdlJCQxLmFuY2hvcjtcbiAgICB2YXIgaGVhZCA9IHJhbmdlJCQxLmhlYWQ7XG4gICAgdmFyIGFuY2hvckxpbmUgPSBnZXRMaW5lKGNtLmRvYywgYW5jaG9yLmxpbmUpO1xuICAgIGlmIChjbXAoYW5jaG9yLCBoZWFkKSA9PSAwICYmIGFuY2hvci5zdGlja3kgPT0gaGVhZC5zdGlja3kpIHsgcmV0dXJuIHJhbmdlJCQxIH1cbiAgICB2YXIgb3JkZXIgPSBnZXRPcmRlcihhbmNob3JMaW5lKTtcbiAgICBpZiAoIW9yZGVyKSB7IHJldHVybiByYW5nZSQkMSB9XG4gICAgdmFyIGluZGV4ID0gZ2V0QmlkaVBhcnRBdChvcmRlciwgYW5jaG9yLmNoLCBhbmNob3Iuc3RpY2t5KSwgcGFydCA9IG9yZGVyW2luZGV4XTtcbiAgICBpZiAocGFydC5mcm9tICE9IGFuY2hvci5jaCAmJiBwYXJ0LnRvICE9IGFuY2hvci5jaCkgeyByZXR1cm4gcmFuZ2UkJDEgfVxuICAgIHZhciBib3VuZGFyeSA9IGluZGV4ICsgKChwYXJ0LmZyb20gPT0gYW5jaG9yLmNoKSA9PSAocGFydC5sZXZlbCAhPSAxKSA/IDAgOiAxKTtcbiAgICBpZiAoYm91bmRhcnkgPT0gMCB8fCBib3VuZGFyeSA9PSBvcmRlci5sZW5ndGgpIHsgcmV0dXJuIHJhbmdlJCQxIH1cblxuICAgIC8vIENvbXB1dGUgdGhlIHJlbGF0aXZlIHZpc3VhbCBwb3NpdGlvbiBvZiB0aGUgaGVhZCBjb21wYXJlZCB0byB0aGVcbiAgICAvLyBhbmNob3IgKDwwIGlzIHRvIHRoZSBsZWZ0LCA+MCB0byB0aGUgcmlnaHQpXG4gICAgdmFyIGxlZnRTaWRlO1xuICAgIGlmIChoZWFkLmxpbmUgIT0gYW5jaG9yLmxpbmUpIHtcbiAgICAgIGxlZnRTaWRlID0gKGhlYWQubGluZSAtIGFuY2hvci5saW5lKSAqIChjbS5kb2MuZGlyZWN0aW9uID09IFwibHRyXCIgPyAxIDogLTEpID4gMDtcbiAgICB9IGVsc2Uge1xuICAgICAgdmFyIGhlYWRJbmRleCA9IGdldEJpZGlQYXJ0QXQob3JkZXIsIGhlYWQuY2gsIGhlYWQuc3RpY2t5KTtcbiAgICAgIHZhciBkaXIgPSBoZWFkSW5kZXggLSBpbmRleCB8fCAoaGVhZC5jaCAtIGFuY2hvci5jaCkgKiAocGFydC5sZXZlbCA9PSAxID8gLTEgOiAxKTtcbiAgICAgIGlmIChoZWFkSW5kZXggPT0gYm91bmRhcnkgLSAxIHx8IGhlYWRJbmRleCA9PSBib3VuZGFyeSlcbiAgICAgICAgeyBsZWZ0U2lkZSA9IGRpciA8IDA7IH1cbiAgICAgIGVsc2VcbiAgICAgICAgeyBsZWZ0U2lkZSA9IGRpciA+IDA7IH1cbiAgICB9XG5cbiAgICB2YXIgdXNlUGFydCA9IG9yZGVyW2JvdW5kYXJ5ICsgKGxlZnRTaWRlID8gLTEgOiAwKV07XG4gICAgdmFyIGZyb20gPSBsZWZ0U2lkZSA9PSAodXNlUGFydC5sZXZlbCA9PSAxKTtcbiAgICB2YXIgY2ggPSBmcm9tID8gdXNlUGFydC5mcm9tIDogdXNlUGFydC50bywgc3RpY2t5ID0gZnJvbSA/IFwiYWZ0ZXJcIiA6IFwiYmVmb3JlXCI7XG4gICAgcmV0dXJuIGFuY2hvci5jaCA9PSBjaCAmJiBhbmNob3Iuc3RpY2t5ID09IHN0aWNreSA/IHJhbmdlJCQxIDogbmV3IFJhbmdlKG5ldyBQb3MoYW5jaG9yLmxpbmUsIGNoLCBzdGlja3kpLCBoZWFkKVxuICB9XG5cblxuICAvLyBEZXRlcm1pbmVzIHdoZXRoZXIgYW4gZXZlbnQgaGFwcGVuZWQgaW4gdGhlIGd1dHRlciwgYW5kIGZpcmVzIHRoZVxuICAvLyBoYW5kbGVycyBmb3IgdGhlIGNvcnJlc3BvbmRpbmcgZXZlbnQuXG4gIGZ1bmN0aW9uIGd1dHRlckV2ZW50KGNtLCBlLCB0eXBlLCBwcmV2ZW50KSB7XG4gICAgdmFyIG1YLCBtWTtcbiAgICBpZiAoZS50b3VjaGVzKSB7XG4gICAgICBtWCA9IGUudG91Y2hlc1swXS5jbGllbnRYO1xuICAgICAgbVkgPSBlLnRvdWNoZXNbMF0uY2xpZW50WTtcbiAgICB9IGVsc2Uge1xuICAgICAgdHJ5IHsgbVggPSBlLmNsaWVudFg7IG1ZID0gZS5jbGllbnRZOyB9XG4gICAgICBjYXRjaChlKSB7IHJldHVybiBmYWxzZSB9XG4gICAgfVxuICAgIGlmIChtWCA+PSBNYXRoLmZsb29yKGNtLmRpc3BsYXkuZ3V0dGVycy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5yaWdodCkpIHsgcmV0dXJuIGZhbHNlIH1cbiAgICBpZiAocHJldmVudCkgeyBlX3ByZXZlbnREZWZhdWx0KGUpOyB9XG5cbiAgICB2YXIgZGlzcGxheSA9IGNtLmRpc3BsYXk7XG4gICAgdmFyIGxpbmVCb3ggPSBkaXNwbGF5LmxpbmVEaXYuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cbiAgICBpZiAobVkgPiBsaW5lQm94LmJvdHRvbSB8fCAhaGFzSGFuZGxlcihjbSwgdHlwZSkpIHsgcmV0dXJuIGVfZGVmYXVsdFByZXZlbnRlZChlKSB9XG4gICAgbVkgLT0gbGluZUJveC50b3AgLSBkaXNwbGF5LnZpZXdPZmZzZXQ7XG5cbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNtLmRpc3BsYXkuZ3V0dGVyU3BlY3MubGVuZ3RoOyArK2kpIHtcbiAgICAgIHZhciBnID0gZGlzcGxheS5ndXR0ZXJzLmNoaWxkTm9kZXNbaV07XG4gICAgICBpZiAoZyAmJiBnLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnJpZ2h0ID49IG1YKSB7XG4gICAgICAgIHZhciBsaW5lID0gbGluZUF0SGVpZ2h0KGNtLmRvYywgbVkpO1xuICAgICAgICB2YXIgZ3V0dGVyID0gY20uZGlzcGxheS5ndXR0ZXJTcGVjc1tpXTtcbiAgICAgICAgc2lnbmFsKGNtLCB0eXBlLCBjbSwgbGluZSwgZ3V0dGVyLmNsYXNzTmFtZSwgZSk7XG4gICAgICAgIHJldHVybiBlX2RlZmF1bHRQcmV2ZW50ZWQoZSlcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBjbGlja0luR3V0dGVyKGNtLCBlKSB7XG4gICAgcmV0dXJuIGd1dHRlckV2ZW50KGNtLCBlLCBcImd1dHRlckNsaWNrXCIsIHRydWUpXG4gIH1cblxuICAvLyBDT05URVhUIE1FTlUgSEFORExJTkdcblxuICAvLyBUbyBtYWtlIHRoZSBjb250ZXh0IG1lbnUgd29yaywgd2UgbmVlZCB0byBicmllZmx5IHVuaGlkZSB0aGVcbiAgLy8gdGV4dGFyZWEgKG1ha2luZyBpdCBhcyB1bm9idHJ1c2l2ZSBhcyBwb3NzaWJsZSkgdG8gbGV0IHRoZVxuICAvLyByaWdodC1jbGljayB0YWtlIGVmZmVjdCBvbiBpdC5cbiAgZnVuY3Rpb24gb25Db250ZXh0TWVudShjbSwgZSkge1xuICAgIGlmIChldmVudEluV2lkZ2V0KGNtLmRpc3BsYXksIGUpIHx8IGNvbnRleHRNZW51SW5HdXR0ZXIoY20sIGUpKSB7IHJldHVybiB9XG4gICAgaWYgKHNpZ25hbERPTUV2ZW50KGNtLCBlLCBcImNvbnRleHRtZW51XCIpKSB7IHJldHVybiB9XG4gICAgaWYgKCFjYXB0dXJlUmlnaHRDbGljaykgeyBjbS5kaXNwbGF5LmlucHV0Lm9uQ29udGV4dE1lbnUoZSk7IH1cbiAgfVxuXG4gIGZ1bmN0aW9uIGNvbnRleHRNZW51SW5HdXR0ZXIoY20sIGUpIHtcbiAgICBpZiAoIWhhc0hhbmRsZXIoY20sIFwiZ3V0dGVyQ29udGV4dE1lbnVcIikpIHsgcmV0dXJuIGZhbHNlIH1cbiAgICByZXR1cm4gZ3V0dGVyRXZlbnQoY20sIGUsIFwiZ3V0dGVyQ29udGV4dE1lbnVcIiwgZmFsc2UpXG4gIH1cblxuICBmdW5jdGlvbiB0aGVtZUNoYW5nZWQoY20pIHtcbiAgICBjbS5kaXNwbGF5LndyYXBwZXIuY2xhc3NOYW1lID0gY20uZGlzcGxheS53cmFwcGVyLmNsYXNzTmFtZS5yZXBsYWNlKC9cXHMqY20tcy1cXFMrL2csIFwiXCIpICtcbiAgICAgIGNtLm9wdGlvbnMudGhlbWUucmVwbGFjZSgvKF58XFxzKVxccyovZywgXCIgY20tcy1cIik7XG4gICAgY2xlYXJDYWNoZXMoY20pO1xuICB9XG5cbiAgdmFyIEluaXQgPSB7dG9TdHJpbmc6IGZ1bmN0aW9uKCl7cmV0dXJuIFwiQ29kZU1pcnJvci5Jbml0XCJ9fTtcblxuICB2YXIgZGVmYXVsdHMgPSB7fTtcbiAgdmFyIG9wdGlvbkhhbmRsZXJzID0ge307XG5cbiAgZnVuY3Rpb24gZGVmaW5lT3B0aW9ucyhDb2RlTWlycm9yKSB7XG4gICAgdmFyIG9wdGlvbkhhbmRsZXJzID0gQ29kZU1pcnJvci5vcHRpb25IYW5kbGVycztcblxuICAgIGZ1bmN0aW9uIG9wdGlvbihuYW1lLCBkZWZsdCwgaGFuZGxlLCBub3RPbkluaXQpIHtcbiAgICAgIENvZGVNaXJyb3IuZGVmYXVsdHNbbmFtZV0gPSBkZWZsdDtcbiAgICAgIGlmIChoYW5kbGUpIHsgb3B0aW9uSGFuZGxlcnNbbmFtZV0gPVxuICAgICAgICBub3RPbkluaXQgPyBmdW5jdGlvbiAoY20sIHZhbCwgb2xkKSB7aWYgKG9sZCAhPSBJbml0KSB7IGhhbmRsZShjbSwgdmFsLCBvbGQpOyB9fSA6IGhhbmRsZTsgfVxuICAgIH1cblxuICAgIENvZGVNaXJyb3IuZGVmaW5lT3B0aW9uID0gb3B0aW9uO1xuXG4gICAgLy8gUGFzc2VkIHRvIG9wdGlvbiBoYW5kbGVycyB3aGVuIHRoZXJlIGlzIG5vIG9sZCB2YWx1ZS5cbiAgICBDb2RlTWlycm9yLkluaXQgPSBJbml0O1xuXG4gICAgLy8gVGhlc2UgdHdvIGFyZSwgb24gaW5pdCwgY2FsbGVkIGZyb20gdGhlIGNvbnN0cnVjdG9yIGJlY2F1c2UgdGhleVxuICAgIC8vIGhhdmUgdG8gYmUgaW5pdGlhbGl6ZWQgYmVmb3JlIHRoZSBlZGl0b3IgY2FuIHN0YXJ0IGF0IGFsbC5cbiAgICBvcHRpb24oXCJ2YWx1ZVwiLCBcIlwiLCBmdW5jdGlvbiAoY20sIHZhbCkgeyByZXR1cm4gY20uc2V0VmFsdWUodmFsKTsgfSwgdHJ1ZSk7XG4gICAgb3B0aW9uKFwibW9kZVwiLCBudWxsLCBmdW5jdGlvbiAoY20sIHZhbCkge1xuICAgICAgY20uZG9jLm1vZGVPcHRpb24gPSB2YWw7XG4gICAgICBsb2FkTW9kZShjbSk7XG4gICAgfSwgdHJ1ZSk7XG5cbiAgICBvcHRpb24oXCJpbmRlbnRVbml0XCIsIDIsIGxvYWRNb2RlLCB0cnVlKTtcbiAgICBvcHRpb24oXCJpbmRlbnRXaXRoVGFic1wiLCBmYWxzZSk7XG4gICAgb3B0aW9uKFwic21hcnRJbmRlbnRcIiwgdHJ1ZSk7XG4gICAgb3B0aW9uKFwidGFiU2l6ZVwiLCA0LCBmdW5jdGlvbiAoY20pIHtcbiAgICAgIHJlc2V0TW9kZVN0YXRlKGNtKTtcbiAgICAgIGNsZWFyQ2FjaGVzKGNtKTtcbiAgICAgIHJlZ0NoYW5nZShjbSk7XG4gICAgfSwgdHJ1ZSk7XG5cbiAgICBvcHRpb24oXCJsaW5lU2VwYXJhdG9yXCIsIG51bGwsIGZ1bmN0aW9uIChjbSwgdmFsKSB7XG4gICAgICBjbS5kb2MubGluZVNlcCA9IHZhbDtcbiAgICAgIGlmICghdmFsKSB7IHJldHVybiB9XG4gICAgICB2YXIgbmV3QnJlYWtzID0gW10sIGxpbmVObyA9IGNtLmRvYy5maXJzdDtcbiAgICAgIGNtLmRvYy5pdGVyKGZ1bmN0aW9uIChsaW5lKSB7XG4gICAgICAgIGZvciAodmFyIHBvcyA9IDA7Oykge1xuICAgICAgICAgIHZhciBmb3VuZCA9IGxpbmUudGV4dC5pbmRleE9mKHZhbCwgcG9zKTtcbiAgICAgICAgICBpZiAoZm91bmQgPT0gLTEpIHsgYnJlYWsgfVxuICAgICAgICAgIHBvcyA9IGZvdW5kICsgdmFsLmxlbmd0aDtcbiAgICAgICAgICBuZXdCcmVha3MucHVzaChQb3MobGluZU5vLCBmb3VuZCkpO1xuICAgICAgICB9XG4gICAgICAgIGxpbmVObysrO1xuICAgICAgfSk7XG4gICAgICBmb3IgKHZhciBpID0gbmV3QnJlYWtzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKVxuICAgICAgICB7IHJlcGxhY2VSYW5nZShjbS5kb2MsIHZhbCwgbmV3QnJlYWtzW2ldLCBQb3MobmV3QnJlYWtzW2ldLmxpbmUsIG5ld0JyZWFrc1tpXS5jaCArIHZhbC5sZW5ndGgpKTsgfVxuICAgIH0pO1xuICAgIG9wdGlvbihcInNwZWNpYWxDaGFyc1wiLCAvW1xcdTAwMDAtXFx1MDAxZlxcdTAwN2YtXFx1MDA5ZlxcdTAwYWRcXHUwNjFjXFx1MjAwYi1cXHUyMDBmXFx1MjAyOFxcdTIwMjlcXHVmZWZmXFx1ZmZmOS1cXHVmZmZjXS9nLCBmdW5jdGlvbiAoY20sIHZhbCwgb2xkKSB7XG4gICAgICBjbS5zdGF0ZS5zcGVjaWFsQ2hhcnMgPSBuZXcgUmVnRXhwKHZhbC5zb3VyY2UgKyAodmFsLnRlc3QoXCJcXHRcIikgPyBcIlwiIDogXCJ8XFx0XCIpLCBcImdcIik7XG4gICAgICBpZiAob2xkICE9IEluaXQpIHsgY20ucmVmcmVzaCgpOyB9XG4gICAgfSk7XG4gICAgb3B0aW9uKFwic3BlY2lhbENoYXJQbGFjZWhvbGRlclwiLCBkZWZhdWx0U3BlY2lhbENoYXJQbGFjZWhvbGRlciwgZnVuY3Rpb24gKGNtKSB7IHJldHVybiBjbS5yZWZyZXNoKCk7IH0sIHRydWUpO1xuICAgIG9wdGlvbihcImVsZWN0cmljQ2hhcnNcIiwgdHJ1ZSk7XG4gICAgb3B0aW9uKFwiaW5wdXRTdHlsZVwiLCBtb2JpbGUgPyBcImNvbnRlbnRlZGl0YWJsZVwiIDogXCJ0ZXh0YXJlYVwiLCBmdW5jdGlvbiAoKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJpbnB1dFN0eWxlIGNhbiBub3QgKHlldCkgYmUgY2hhbmdlZCBpbiBhIHJ1bm5pbmcgZWRpdG9yXCIpIC8vIEZJWE1FXG4gICAgfSwgdHJ1ZSk7XG4gICAgb3B0aW9uKFwic3BlbGxjaGVja1wiLCBmYWxzZSwgZnVuY3Rpb24gKGNtLCB2YWwpIHsgcmV0dXJuIGNtLmdldElucHV0RmllbGQoKS5zcGVsbGNoZWNrID0gdmFsOyB9LCB0cnVlKTtcbiAgICBvcHRpb24oXCJhdXRvY29ycmVjdFwiLCBmYWxzZSwgZnVuY3Rpb24gKGNtLCB2YWwpIHsgcmV0dXJuIGNtLmdldElucHV0RmllbGQoKS5hdXRvY29ycmVjdCA9IHZhbDsgfSwgdHJ1ZSk7XG4gICAgb3B0aW9uKFwiYXV0b2NhcGl0YWxpemVcIiwgZmFsc2UsIGZ1bmN0aW9uIChjbSwgdmFsKSB7IHJldHVybiBjbS5nZXRJbnB1dEZpZWxkKCkuYXV0b2NhcGl0YWxpemUgPSB2YWw7IH0sIHRydWUpO1xuICAgIG9wdGlvbihcInJ0bE1vdmVWaXN1YWxseVwiLCAhd2luZG93cyk7XG4gICAgb3B0aW9uKFwid2hvbGVMaW5lVXBkYXRlQmVmb3JlXCIsIHRydWUpO1xuXG4gICAgb3B0aW9uKFwidGhlbWVcIiwgXCJkZWZhdWx0XCIsIGZ1bmN0aW9uIChjbSkge1xuICAgICAgdGhlbWVDaGFuZ2VkKGNtKTtcbiAgICAgIHVwZGF0ZUd1dHRlcnMoY20pO1xuICAgIH0sIHRydWUpO1xuICAgIG9wdGlvbihcImtleU1hcFwiLCBcImRlZmF1bHRcIiwgZnVuY3Rpb24gKGNtLCB2YWwsIG9sZCkge1xuICAgICAgdmFyIG5leHQgPSBnZXRLZXlNYXAodmFsKTtcbiAgICAgIHZhciBwcmV2ID0gb2xkICE9IEluaXQgJiYgZ2V0S2V5TWFwKG9sZCk7XG4gICAgICBpZiAocHJldiAmJiBwcmV2LmRldGFjaCkgeyBwcmV2LmRldGFjaChjbSwgbmV4dCk7IH1cbiAgICAgIGlmIChuZXh0LmF0dGFjaCkgeyBuZXh0LmF0dGFjaChjbSwgcHJldiB8fCBudWxsKTsgfVxuICAgIH0pO1xuICAgIG9wdGlvbihcImV4dHJhS2V5c1wiLCBudWxsKTtcbiAgICBvcHRpb24oXCJjb25maWd1cmVNb3VzZVwiLCBudWxsKTtcblxuICAgIG9wdGlvbihcImxpbmVXcmFwcGluZ1wiLCBmYWxzZSwgd3JhcHBpbmdDaGFuZ2VkLCB0cnVlKTtcbiAgICBvcHRpb24oXCJndXR0ZXJzXCIsIFtdLCBmdW5jdGlvbiAoY20sIHZhbCkge1xuICAgICAgY20uZGlzcGxheS5ndXR0ZXJTcGVjcyA9IGdldEd1dHRlcnModmFsLCBjbS5vcHRpb25zLmxpbmVOdW1iZXJzKTtcbiAgICAgIHVwZGF0ZUd1dHRlcnMoY20pO1xuICAgIH0sIHRydWUpO1xuICAgIG9wdGlvbihcImZpeGVkR3V0dGVyXCIsIHRydWUsIGZ1bmN0aW9uIChjbSwgdmFsKSB7XG4gICAgICBjbS5kaXNwbGF5Lmd1dHRlcnMuc3R5bGUubGVmdCA9IHZhbCA/IGNvbXBlbnNhdGVGb3JIU2Nyb2xsKGNtLmRpc3BsYXkpICsgXCJweFwiIDogXCIwXCI7XG4gICAgICBjbS5yZWZyZXNoKCk7XG4gICAgfSwgdHJ1ZSk7XG4gICAgb3B0aW9uKFwiY292ZXJHdXR0ZXJOZXh0VG9TY3JvbGxiYXJcIiwgZmFsc2UsIGZ1bmN0aW9uIChjbSkgeyByZXR1cm4gdXBkYXRlU2Nyb2xsYmFycyhjbSk7IH0sIHRydWUpO1xuICAgIG9wdGlvbihcInNjcm9sbGJhclN0eWxlXCIsIFwibmF0aXZlXCIsIGZ1bmN0aW9uIChjbSkge1xuICAgICAgaW5pdFNjcm9sbGJhcnMoY20pO1xuICAgICAgdXBkYXRlU2Nyb2xsYmFycyhjbSk7XG4gICAgICBjbS5kaXNwbGF5LnNjcm9sbGJhcnMuc2V0U2Nyb2xsVG9wKGNtLmRvYy5zY3JvbGxUb3ApO1xuICAgICAgY20uZGlzcGxheS5zY3JvbGxiYXJzLnNldFNjcm9sbExlZnQoY20uZG9jLnNjcm9sbExlZnQpO1xuICAgIH0sIHRydWUpO1xuICAgIG9wdGlvbihcImxpbmVOdW1iZXJzXCIsIGZhbHNlLCBmdW5jdGlvbiAoY20sIHZhbCkge1xuICAgICAgY20uZGlzcGxheS5ndXR0ZXJTcGVjcyA9IGdldEd1dHRlcnMoY20ub3B0aW9ucy5ndXR0ZXJzLCB2YWwpO1xuICAgICAgdXBkYXRlR3V0dGVycyhjbSk7XG4gICAgfSwgdHJ1ZSk7XG4gICAgb3B0aW9uKFwiZmlyc3RMaW5lTnVtYmVyXCIsIDEsIHVwZGF0ZUd1dHRlcnMsIHRydWUpO1xuICAgIG9wdGlvbihcImxpbmVOdW1iZXJGb3JtYXR0ZXJcIiwgZnVuY3Rpb24gKGludGVnZXIpIHsgcmV0dXJuIGludGVnZXI7IH0sIHVwZGF0ZUd1dHRlcnMsIHRydWUpO1xuICAgIG9wdGlvbihcInNob3dDdXJzb3JXaGVuU2VsZWN0aW5nXCIsIGZhbHNlLCB1cGRhdGVTZWxlY3Rpb24sIHRydWUpO1xuXG4gICAgb3B0aW9uKFwicmVzZXRTZWxlY3Rpb25PbkNvbnRleHRNZW51XCIsIHRydWUpO1xuICAgIG9wdGlvbihcImxpbmVXaXNlQ29weUN1dFwiLCB0cnVlKTtcbiAgICBvcHRpb24oXCJwYXN0ZUxpbmVzUGVyU2VsZWN0aW9uXCIsIHRydWUpO1xuICAgIG9wdGlvbihcInNlbGVjdGlvbnNNYXlUb3VjaFwiLCBmYWxzZSk7XG5cbiAgICBvcHRpb24oXCJyZWFkT25seVwiLCBmYWxzZSwgZnVuY3Rpb24gKGNtLCB2YWwpIHtcbiAgICAgIGlmICh2YWwgPT0gXCJub2N1cnNvclwiKSB7XG4gICAgICAgIG9uQmx1cihjbSk7XG4gICAgICAgIGNtLmRpc3BsYXkuaW5wdXQuYmx1cigpO1xuICAgICAgfVxuICAgICAgY20uZGlzcGxheS5pbnB1dC5yZWFkT25seUNoYW5nZWQodmFsKTtcbiAgICB9KTtcbiAgICBvcHRpb24oXCJkaXNhYmxlSW5wdXRcIiwgZmFsc2UsIGZ1bmN0aW9uIChjbSwgdmFsKSB7aWYgKCF2YWwpIHsgY20uZGlzcGxheS5pbnB1dC5yZXNldCgpOyB9fSwgdHJ1ZSk7XG4gICAgb3B0aW9uKFwiZHJhZ0Ryb3BcIiwgdHJ1ZSwgZHJhZ0Ryb3BDaGFuZ2VkKTtcbiAgICBvcHRpb24oXCJhbGxvd0Ryb3BGaWxlVHlwZXNcIiwgbnVsbCk7XG5cbiAgICBvcHRpb24oXCJjdXJzb3JCbGlua1JhdGVcIiwgNTMwKTtcbiAgICBvcHRpb24oXCJjdXJzb3JTY3JvbGxNYXJnaW5cIiwgMCk7XG4gICAgb3B0aW9uKFwiY3Vyc29ySGVpZ2h0XCIsIDEsIHVwZGF0ZVNlbGVjdGlvbiwgdHJ1ZSk7XG4gICAgb3B0aW9uKFwic2luZ2xlQ3Vyc29ySGVpZ2h0UGVyTGluZVwiLCB0cnVlLCB1cGRhdGVTZWxlY3Rpb24sIHRydWUpO1xuICAgIG9wdGlvbihcIndvcmtUaW1lXCIsIDEwMCk7XG4gICAgb3B0aW9uKFwid29ya0RlbGF5XCIsIDEwMCk7XG4gICAgb3B0aW9uKFwiZmxhdHRlblNwYW5zXCIsIHRydWUsIHJlc2V0TW9kZVN0YXRlLCB0cnVlKTtcbiAgICBvcHRpb24oXCJhZGRNb2RlQ2xhc3NcIiwgZmFsc2UsIHJlc2V0TW9kZVN0YXRlLCB0cnVlKTtcbiAgICBvcHRpb24oXCJwb2xsSW50ZXJ2YWxcIiwgMTAwKTtcbiAgICBvcHRpb24oXCJ1bmRvRGVwdGhcIiwgMjAwLCBmdW5jdGlvbiAoY20sIHZhbCkgeyByZXR1cm4gY20uZG9jLmhpc3RvcnkudW5kb0RlcHRoID0gdmFsOyB9KTtcbiAgICBvcHRpb24oXCJoaXN0b3J5RXZlbnREZWxheVwiLCAxMjUwKTtcbiAgICBvcHRpb24oXCJ2aWV3cG9ydE1hcmdpblwiLCAxMCwgZnVuY3Rpb24gKGNtKSB7IHJldHVybiBjbS5yZWZyZXNoKCk7IH0sIHRydWUpO1xuICAgIG9wdGlvbihcIm1heEhpZ2hsaWdodExlbmd0aFwiLCAxMDAwMCwgcmVzZXRNb2RlU3RhdGUsIHRydWUpO1xuICAgIG9wdGlvbihcIm1vdmVJbnB1dFdpdGhDdXJzb3JcIiwgdHJ1ZSwgZnVuY3Rpb24gKGNtLCB2YWwpIHtcbiAgICAgIGlmICghdmFsKSB7IGNtLmRpc3BsYXkuaW5wdXQucmVzZXRQb3NpdGlvbigpOyB9XG4gICAgfSk7XG5cbiAgICBvcHRpb24oXCJ0YWJpbmRleFwiLCBudWxsLCBmdW5jdGlvbiAoY20sIHZhbCkgeyByZXR1cm4gY20uZGlzcGxheS5pbnB1dC5nZXRGaWVsZCgpLnRhYkluZGV4ID0gdmFsIHx8IFwiXCI7IH0pO1xuICAgIG9wdGlvbihcImF1dG9mb2N1c1wiLCBudWxsKTtcbiAgICBvcHRpb24oXCJkaXJlY3Rpb25cIiwgXCJsdHJcIiwgZnVuY3Rpb24gKGNtLCB2YWwpIHsgcmV0dXJuIGNtLmRvYy5zZXREaXJlY3Rpb24odmFsKTsgfSwgdHJ1ZSk7XG4gICAgb3B0aW9uKFwicGhyYXNlc1wiLCBudWxsKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGRyYWdEcm9wQ2hhbmdlZChjbSwgdmFsdWUsIG9sZCkge1xuICAgIHZhciB3YXNPbiA9IG9sZCAmJiBvbGQgIT0gSW5pdDtcbiAgICBpZiAoIXZhbHVlICE9ICF3YXNPbikge1xuICAgICAgdmFyIGZ1bmNzID0gY20uZGlzcGxheS5kcmFnRnVuY3Rpb25zO1xuICAgICAgdmFyIHRvZ2dsZSA9IHZhbHVlID8gb24gOiBvZmY7XG4gICAgICB0b2dnbGUoY20uZGlzcGxheS5zY3JvbGxlciwgXCJkcmFnc3RhcnRcIiwgZnVuY3Muc3RhcnQpO1xuICAgICAgdG9nZ2xlKGNtLmRpc3BsYXkuc2Nyb2xsZXIsIFwiZHJhZ2VudGVyXCIsIGZ1bmNzLmVudGVyKTtcbiAgICAgIHRvZ2dsZShjbS5kaXNwbGF5LnNjcm9sbGVyLCBcImRyYWdvdmVyXCIsIGZ1bmNzLm92ZXIpO1xuICAgICAgdG9nZ2xlKGNtLmRpc3BsYXkuc2Nyb2xsZXIsIFwiZHJhZ2xlYXZlXCIsIGZ1bmNzLmxlYXZlKTtcbiAgICAgIHRvZ2dsZShjbS5kaXNwbGF5LnNjcm9sbGVyLCBcImRyb3BcIiwgZnVuY3MuZHJvcCk7XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gd3JhcHBpbmdDaGFuZ2VkKGNtKSB7XG4gICAgaWYgKGNtLm9wdGlvbnMubGluZVdyYXBwaW5nKSB7XG4gICAgICBhZGRDbGFzcyhjbS5kaXNwbGF5LndyYXBwZXIsIFwiQ29kZU1pcnJvci13cmFwXCIpO1xuICAgICAgY20uZGlzcGxheS5zaXplci5zdHlsZS5taW5XaWR0aCA9IFwiXCI7XG4gICAgICBjbS5kaXNwbGF5LnNpemVyV2lkdGggPSBudWxsO1xuICAgIH0gZWxzZSB7XG4gICAgICBybUNsYXNzKGNtLmRpc3BsYXkud3JhcHBlciwgXCJDb2RlTWlycm9yLXdyYXBcIik7XG4gICAgICBmaW5kTWF4TGluZShjbSk7XG4gICAgfVxuICAgIGVzdGltYXRlTGluZUhlaWdodHMoY20pO1xuICAgIHJlZ0NoYW5nZShjbSk7XG4gICAgY2xlYXJDYWNoZXMoY20pO1xuICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkgeyByZXR1cm4gdXBkYXRlU2Nyb2xsYmFycyhjbSk7IH0sIDEwMCk7XG4gIH1cblxuICAvLyBBIENvZGVNaXJyb3IgaW5zdGFuY2UgcmVwcmVzZW50cyBhbiBlZGl0b3IuIFRoaXMgaXMgdGhlIG9iamVjdFxuICAvLyB0aGF0IHVzZXIgY29kZSBpcyB1c3VhbGx5IGRlYWxpbmcgd2l0aC5cblxuICBmdW5jdGlvbiBDb2RlTWlycm9yKHBsYWNlLCBvcHRpb25zKSB7XG4gICAgdmFyIHRoaXMkMSA9IHRoaXM7XG5cbiAgICBpZiAoISh0aGlzIGluc3RhbmNlb2YgQ29kZU1pcnJvcikpIHsgcmV0dXJuIG5ldyBDb2RlTWlycm9yKHBsYWNlLCBvcHRpb25zKSB9XG5cbiAgICB0aGlzLm9wdGlvbnMgPSBvcHRpb25zID0gb3B0aW9ucyA/IGNvcHlPYmoob3B0aW9ucykgOiB7fTtcbiAgICAvLyBEZXRlcm1pbmUgZWZmZWN0aXZlIG9wdGlvbnMgYmFzZWQgb24gZ2l2ZW4gdmFsdWVzIGFuZCBkZWZhdWx0cy5cbiAgICBjb3B5T2JqKGRlZmF1bHRzLCBvcHRpb25zLCBmYWxzZSk7XG5cbiAgICB2YXIgZG9jID0gb3B0aW9ucy52YWx1ZTtcbiAgICBpZiAodHlwZW9mIGRvYyA9PSBcInN0cmluZ1wiKSB7IGRvYyA9IG5ldyBEb2MoZG9jLCBvcHRpb25zLm1vZGUsIG51bGwsIG9wdGlvbnMubGluZVNlcGFyYXRvciwgb3B0aW9ucy5kaXJlY3Rpb24pOyB9XG4gICAgZWxzZSBpZiAob3B0aW9ucy5tb2RlKSB7IGRvYy5tb2RlT3B0aW9uID0gb3B0aW9ucy5tb2RlOyB9XG4gICAgdGhpcy5kb2MgPSBkb2M7XG5cbiAgICB2YXIgaW5wdXQgPSBuZXcgQ29kZU1pcnJvci5pbnB1dFN0eWxlc1tvcHRpb25zLmlucHV0U3R5bGVdKHRoaXMpO1xuICAgIHZhciBkaXNwbGF5ID0gdGhpcy5kaXNwbGF5ID0gbmV3IERpc3BsYXkocGxhY2UsIGRvYywgaW5wdXQsIG9wdGlvbnMpO1xuICAgIGRpc3BsYXkud3JhcHBlci5Db2RlTWlycm9yID0gdGhpcztcbiAgICB0aGVtZUNoYW5nZWQodGhpcyk7XG4gICAgaWYgKG9wdGlvbnMubGluZVdyYXBwaW5nKVxuICAgICAgeyB0aGlzLmRpc3BsYXkud3JhcHBlci5jbGFzc05hbWUgKz0gXCIgQ29kZU1pcnJvci13cmFwXCI7IH1cbiAgICBpbml0U2Nyb2xsYmFycyh0aGlzKTtcblxuICAgIHRoaXMuc3RhdGUgPSB7XG4gICAgICBrZXlNYXBzOiBbXSwgIC8vIHN0b3JlcyBtYXBzIGFkZGVkIGJ5IGFkZEtleU1hcFxuICAgICAgb3ZlcmxheXM6IFtdLCAvLyBoaWdobGlnaHRpbmcgb3ZlcmxheXMsIGFzIGFkZGVkIGJ5IGFkZE92ZXJsYXlcbiAgICAgIG1vZGVHZW46IDAsICAgLy8gYnVtcGVkIHdoZW4gbW9kZS9vdmVybGF5IGNoYW5nZXMsIHVzZWQgdG8gaW52YWxpZGF0ZSBoaWdobGlnaHRpbmcgaW5mb1xuICAgICAgb3ZlcndyaXRlOiBmYWxzZSxcbiAgICAgIGRlbGF5aW5nQmx1ckV2ZW50OiBmYWxzZSxcbiAgICAgIGZvY3VzZWQ6IGZhbHNlLFxuICAgICAgc3VwcHJlc3NFZGl0czogZmFsc2UsIC8vIHVzZWQgdG8gZGlzYWJsZSBlZGl0aW5nIGR1cmluZyBrZXkgaGFuZGxlcnMgd2hlbiBpbiByZWFkT25seSBtb2RlXG4gICAgICBwYXN0ZUluY29taW5nOiAtMSwgY3V0SW5jb21pbmc6IC0xLCAvLyBoZWxwIHJlY29nbml6ZSBwYXN0ZS9jdXQgZWRpdHMgaW4gaW5wdXQucG9sbFxuICAgICAgc2VsZWN0aW5nVGV4dDogZmFsc2UsXG4gICAgICBkcmFnZ2luZ1RleHQ6IGZhbHNlLFxuICAgICAgaGlnaGxpZ2h0OiBuZXcgRGVsYXllZCgpLCAvLyBzdG9yZXMgaGlnaGxpZ2h0IHdvcmtlciB0aW1lb3V0XG4gICAgICBrZXlTZXE6IG51bGwsICAvLyBVbmZpbmlzaGVkIGtleSBzZXF1ZW5jZVxuICAgICAgc3BlY2lhbENoYXJzOiBudWxsXG4gICAgfTtcblxuICAgIGlmIChvcHRpb25zLmF1dG9mb2N1cyAmJiAhbW9iaWxlKSB7IGRpc3BsYXkuaW5wdXQuZm9jdXMoKTsgfVxuXG4gICAgLy8gT3ZlcnJpZGUgbWFnaWMgdGV4dGFyZWEgY29udGVudCByZXN0b3JlIHRoYXQgSUUgc29tZXRpbWVzIGRvZXNcbiAgICAvLyBvbiBvdXIgaGlkZGVuIHRleHRhcmVhIG9uIHJlbG9hZFxuICAgIGlmIChpZSAmJiBpZV92ZXJzaW9uIDwgMTEpIHsgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7IHJldHVybiB0aGlzJDEuZGlzcGxheS5pbnB1dC5yZXNldCh0cnVlKTsgfSwgMjApOyB9XG5cbiAgICByZWdpc3RlckV2ZW50SGFuZGxlcnModGhpcyk7XG4gICAgZW5zdXJlR2xvYmFsSGFuZGxlcnMoKTtcblxuICAgIHN0YXJ0T3BlcmF0aW9uKHRoaXMpO1xuICAgIHRoaXMuY3VyT3AuZm9yY2VVcGRhdGUgPSB0cnVlO1xuICAgIGF0dGFjaERvYyh0aGlzLCBkb2MpO1xuXG4gICAgaWYgKChvcHRpb25zLmF1dG9mb2N1cyAmJiAhbW9iaWxlKSB8fCB0aGlzLmhhc0ZvY3VzKCkpXG4gICAgICB7IHNldFRpbWVvdXQoYmluZChvbkZvY3VzLCB0aGlzKSwgMjApOyB9XG4gICAgZWxzZVxuICAgICAgeyBvbkJsdXIodGhpcyk7IH1cblxuICAgIGZvciAodmFyIG9wdCBpbiBvcHRpb25IYW5kbGVycykgeyBpZiAob3B0aW9uSGFuZGxlcnMuaGFzT3duUHJvcGVydHkob3B0KSlcbiAgICAgIHsgb3B0aW9uSGFuZGxlcnNbb3B0XSh0aGlzJDEsIG9wdGlvbnNbb3B0XSwgSW5pdCk7IH0gfVxuICAgIG1heWJlVXBkYXRlTGluZU51bWJlcldpZHRoKHRoaXMpO1xuICAgIGlmIChvcHRpb25zLmZpbmlzaEluaXQpIHsgb3B0aW9ucy5maW5pc2hJbml0KHRoaXMpOyB9XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBpbml0SG9va3MubGVuZ3RoOyArK2kpIHsgaW5pdEhvb2tzW2ldKHRoaXMkMSk7IH1cbiAgICBlbmRPcGVyYXRpb24odGhpcyk7XG4gICAgLy8gU3VwcHJlc3Mgb3B0aW1pemVsZWdpYmlsaXR5IGluIFdlYmtpdCwgc2luY2UgaXQgYnJlYWtzIHRleHRcbiAgICAvLyBtZWFzdXJpbmcgb24gbGluZSB3cmFwcGluZyBib3VuZGFyaWVzLlxuICAgIGlmICh3ZWJraXQgJiYgb3B0aW9ucy5saW5lV3JhcHBpbmcgJiZcbiAgICAgICAgZ2V0Q29tcHV0ZWRTdHlsZShkaXNwbGF5LmxpbmVEaXYpLnRleHRSZW5kZXJpbmcgPT0gXCJvcHRpbWl6ZWxlZ2liaWxpdHlcIilcbiAgICAgIHsgZGlzcGxheS5saW5lRGl2LnN0eWxlLnRleHRSZW5kZXJpbmcgPSBcImF1dG9cIjsgfVxuICB9XG5cbiAgLy8gVGhlIGRlZmF1bHQgY29uZmlndXJhdGlvbiBvcHRpb25zLlxuICBDb2RlTWlycm9yLmRlZmF1bHRzID0gZGVmYXVsdHM7XG4gIC8vIEZ1bmN0aW9ucyB0byBydW4gd2hlbiBvcHRpb25zIGFyZSBjaGFuZ2VkLlxuICBDb2RlTWlycm9yLm9wdGlvbkhhbmRsZXJzID0gb3B0aW9uSGFuZGxlcnM7XG5cbiAgLy8gQXR0YWNoIHRoZSBuZWNlc3NhcnkgZXZlbnQgaGFuZGxlcnMgd2hlbiBpbml0aWFsaXppbmcgdGhlIGVkaXRvclxuICBmdW5jdGlvbiByZWdpc3RlckV2ZW50SGFuZGxlcnMoY20pIHtcbiAgICB2YXIgZCA9IGNtLmRpc3BsYXk7XG4gICAgb24oZC5zY3JvbGxlciwgXCJtb3VzZWRvd25cIiwgb3BlcmF0aW9uKGNtLCBvbk1vdXNlRG93bikpO1xuICAgIC8vIE9sZGVyIElFJ3Mgd2lsbCBub3QgZmlyZSBhIHNlY29uZCBtb3VzZWRvd24gZm9yIGEgZG91YmxlIGNsaWNrXG4gICAgaWYgKGllICYmIGllX3ZlcnNpb24gPCAxMSlcbiAgICAgIHsgb24oZC5zY3JvbGxlciwgXCJkYmxjbGlja1wiLCBvcGVyYXRpb24oY20sIGZ1bmN0aW9uIChlKSB7XG4gICAgICAgIGlmIChzaWduYWxET01FdmVudChjbSwgZSkpIHsgcmV0dXJuIH1cbiAgICAgICAgdmFyIHBvcyA9IHBvc0Zyb21Nb3VzZShjbSwgZSk7XG4gICAgICAgIGlmICghcG9zIHx8IGNsaWNrSW5HdXR0ZXIoY20sIGUpIHx8IGV2ZW50SW5XaWRnZXQoY20uZGlzcGxheSwgZSkpIHsgcmV0dXJuIH1cbiAgICAgICAgZV9wcmV2ZW50RGVmYXVsdChlKTtcbiAgICAgICAgdmFyIHdvcmQgPSBjbS5maW5kV29yZEF0KHBvcyk7XG4gICAgICAgIGV4dGVuZFNlbGVjdGlvbihjbS5kb2MsIHdvcmQuYW5jaG9yLCB3b3JkLmhlYWQpO1xuICAgICAgfSkpOyB9XG4gICAgZWxzZVxuICAgICAgeyBvbihkLnNjcm9sbGVyLCBcImRibGNsaWNrXCIsIGZ1bmN0aW9uIChlKSB7IHJldHVybiBzaWduYWxET01FdmVudChjbSwgZSkgfHwgZV9wcmV2ZW50RGVmYXVsdChlKTsgfSk7IH1cbiAgICAvLyBTb21lIGJyb3dzZXJzIGZpcmUgY29udGV4dG1lbnUgKmFmdGVyKiBvcGVuaW5nIHRoZSBtZW51LCBhdFxuICAgIC8vIHdoaWNoIHBvaW50IHdlIGNhbid0IG1lc3Mgd2l0aCBpdCBhbnltb3JlLiBDb250ZXh0IG1lbnUgaXNcbiAgICAvLyBoYW5kbGVkIGluIG9uTW91c2VEb3duIGZvciB0aGVzZSBicm93c2Vycy5cbiAgICBvbihkLnNjcm9sbGVyLCBcImNvbnRleHRtZW51XCIsIGZ1bmN0aW9uIChlKSB7IHJldHVybiBvbkNvbnRleHRNZW51KGNtLCBlKTsgfSk7XG5cbiAgICAvLyBVc2VkIHRvIHN1cHByZXNzIG1vdXNlIGV2ZW50IGhhbmRsaW5nIHdoZW4gYSB0b3VjaCBoYXBwZW5zXG4gICAgdmFyIHRvdWNoRmluaXNoZWQsIHByZXZUb3VjaCA9IHtlbmQ6IDB9O1xuICAgIGZ1bmN0aW9uIGZpbmlzaFRvdWNoKCkge1xuICAgICAgaWYgKGQuYWN0aXZlVG91Y2gpIHtcbiAgICAgICAgdG91Y2hGaW5pc2hlZCA9IHNldFRpbWVvdXQoZnVuY3Rpb24gKCkgeyByZXR1cm4gZC5hY3RpdmVUb3VjaCA9IG51bGw7IH0sIDEwMDApO1xuICAgICAgICBwcmV2VG91Y2ggPSBkLmFjdGl2ZVRvdWNoO1xuICAgICAgICBwcmV2VG91Y2guZW5kID0gK25ldyBEYXRlO1xuICAgICAgfVxuICAgIH1cbiAgICBmdW5jdGlvbiBpc01vdXNlTGlrZVRvdWNoRXZlbnQoZSkge1xuICAgICAgaWYgKGUudG91Y2hlcy5sZW5ndGggIT0gMSkgeyByZXR1cm4gZmFsc2UgfVxuICAgICAgdmFyIHRvdWNoID0gZS50b3VjaGVzWzBdO1xuICAgICAgcmV0dXJuIHRvdWNoLnJhZGl1c1ggPD0gMSAmJiB0b3VjaC5yYWRpdXNZIDw9IDFcbiAgICB9XG4gICAgZnVuY3Rpb24gZmFyQXdheSh0b3VjaCwgb3RoZXIpIHtcbiAgICAgIGlmIChvdGhlci5sZWZ0ID09IG51bGwpIHsgcmV0dXJuIHRydWUgfVxuICAgICAgdmFyIGR4ID0gb3RoZXIubGVmdCAtIHRvdWNoLmxlZnQsIGR5ID0gb3RoZXIudG9wIC0gdG91Y2gudG9wO1xuICAgICAgcmV0dXJuIGR4ICogZHggKyBkeSAqIGR5ID4gMjAgKiAyMFxuICAgIH1cbiAgICBvbihkLnNjcm9sbGVyLCBcInRvdWNoc3RhcnRcIiwgZnVuY3Rpb24gKGUpIHtcbiAgICAgIGlmICghc2lnbmFsRE9NRXZlbnQoY20sIGUpICYmICFpc01vdXNlTGlrZVRvdWNoRXZlbnQoZSkgJiYgIWNsaWNrSW5HdXR0ZXIoY20sIGUpKSB7XG4gICAgICAgIGQuaW5wdXQuZW5zdXJlUG9sbGVkKCk7XG4gICAgICAgIGNsZWFyVGltZW91dCh0b3VjaEZpbmlzaGVkKTtcbiAgICAgICAgdmFyIG5vdyA9ICtuZXcgRGF0ZTtcbiAgICAgICAgZC5hY3RpdmVUb3VjaCA9IHtzdGFydDogbm93LCBtb3ZlZDogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgcHJldjogbm93IC0gcHJldlRvdWNoLmVuZCA8PSAzMDAgPyBwcmV2VG91Y2ggOiBudWxsfTtcbiAgICAgICAgaWYgKGUudG91Y2hlcy5sZW5ndGggPT0gMSkge1xuICAgICAgICAgIGQuYWN0aXZlVG91Y2gubGVmdCA9IGUudG91Y2hlc1swXS5wYWdlWDtcbiAgICAgICAgICBkLmFjdGl2ZVRvdWNoLnRvcCA9IGUudG91Y2hlc1swXS5wYWdlWTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICAgIG9uKGQuc2Nyb2xsZXIsIFwidG91Y2htb3ZlXCIsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGlmIChkLmFjdGl2ZVRvdWNoKSB7IGQuYWN0aXZlVG91Y2gubW92ZWQgPSB0cnVlOyB9XG4gICAgfSk7XG4gICAgb24oZC5zY3JvbGxlciwgXCJ0b3VjaGVuZFwiLCBmdW5jdGlvbiAoZSkge1xuICAgICAgdmFyIHRvdWNoID0gZC5hY3RpdmVUb3VjaDtcbiAgICAgIGlmICh0b3VjaCAmJiAhZXZlbnRJbldpZGdldChkLCBlKSAmJiB0b3VjaC5sZWZ0ICE9IG51bGwgJiZcbiAgICAgICAgICAhdG91Y2gubW92ZWQgJiYgbmV3IERhdGUgLSB0b3VjaC5zdGFydCA8IDMwMCkge1xuICAgICAgICB2YXIgcG9zID0gY20uY29vcmRzQ2hhcihkLmFjdGl2ZVRvdWNoLCBcInBhZ2VcIiksIHJhbmdlO1xuICAgICAgICBpZiAoIXRvdWNoLnByZXYgfHwgZmFyQXdheSh0b3VjaCwgdG91Y2gucHJldikpIC8vIFNpbmdsZSB0YXBcbiAgICAgICAgICB7IHJhbmdlID0gbmV3IFJhbmdlKHBvcywgcG9zKTsgfVxuICAgICAgICBlbHNlIGlmICghdG91Y2gucHJldi5wcmV2IHx8IGZhckF3YXkodG91Y2gsIHRvdWNoLnByZXYucHJldikpIC8vIERvdWJsZSB0YXBcbiAgICAgICAgICB7IHJhbmdlID0gY20uZmluZFdvcmRBdChwb3MpOyB9XG4gICAgICAgIGVsc2UgLy8gVHJpcGxlIHRhcFxuICAgICAgICAgIHsgcmFuZ2UgPSBuZXcgUmFuZ2UoUG9zKHBvcy5saW5lLCAwKSwgY2xpcFBvcyhjbS5kb2MsIFBvcyhwb3MubGluZSArIDEsIDApKSk7IH1cbiAgICAgICAgY20uc2V0U2VsZWN0aW9uKHJhbmdlLmFuY2hvciwgcmFuZ2UuaGVhZCk7XG4gICAgICAgIGNtLmZvY3VzKCk7XG4gICAgICAgIGVfcHJldmVudERlZmF1bHQoZSk7XG4gICAgICB9XG4gICAgICBmaW5pc2hUb3VjaCgpO1xuICAgIH0pO1xuICAgIG9uKGQuc2Nyb2xsZXIsIFwidG91Y2hjYW5jZWxcIiwgZmluaXNoVG91Y2gpO1xuXG4gICAgLy8gU3luYyBzY3JvbGxpbmcgYmV0d2VlbiBmYWtlIHNjcm9sbGJhcnMgYW5kIHJlYWwgc2Nyb2xsYWJsZVxuICAgIC8vIGFyZWEsIGVuc3VyZSB2aWV3cG9ydCBpcyB1cGRhdGVkIHdoZW4gc2Nyb2xsaW5nLlxuICAgIG9uKGQuc2Nyb2xsZXIsIFwic2Nyb2xsXCIsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGlmIChkLnNjcm9sbGVyLmNsaWVudEhlaWdodCkge1xuICAgICAgICB1cGRhdGVTY3JvbGxUb3AoY20sIGQuc2Nyb2xsZXIuc2Nyb2xsVG9wKTtcbiAgICAgICAgc2V0U2Nyb2xsTGVmdChjbSwgZC5zY3JvbGxlci5zY3JvbGxMZWZ0LCB0cnVlKTtcbiAgICAgICAgc2lnbmFsKGNtLCBcInNjcm9sbFwiLCBjbSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICAvLyBMaXN0ZW4gdG8gd2hlZWwgZXZlbnRzIGluIG9yZGVyIHRvIHRyeSBhbmQgdXBkYXRlIHRoZSB2aWV3cG9ydCBvbiB0aW1lLlxuICAgIG9uKGQuc2Nyb2xsZXIsIFwibW91c2V3aGVlbFwiLCBmdW5jdGlvbiAoZSkgeyByZXR1cm4gb25TY3JvbGxXaGVlbChjbSwgZSk7IH0pO1xuICAgIG9uKGQuc2Nyb2xsZXIsIFwiRE9NTW91c2VTY3JvbGxcIiwgZnVuY3Rpb24gKGUpIHsgcmV0dXJuIG9uU2Nyb2xsV2hlZWwoY20sIGUpOyB9KTtcblxuICAgIC8vIFByZXZlbnQgd3JhcHBlciBmcm9tIGV2ZXIgc2Nyb2xsaW5nXG4gICAgb24oZC53cmFwcGVyLCBcInNjcm9sbFwiLCBmdW5jdGlvbiAoKSB7IHJldHVybiBkLndyYXBwZXIuc2Nyb2xsVG9wID0gZC53cmFwcGVyLnNjcm9sbExlZnQgPSAwOyB9KTtcblxuICAgIGQuZHJhZ0Z1bmN0aW9ucyA9IHtcbiAgICAgIGVudGVyOiBmdW5jdGlvbiAoZSkge2lmICghc2lnbmFsRE9NRXZlbnQoY20sIGUpKSB7IGVfc3RvcChlKTsgfX0sXG4gICAgICBvdmVyOiBmdW5jdGlvbiAoZSkge2lmICghc2lnbmFsRE9NRXZlbnQoY20sIGUpKSB7IG9uRHJhZ092ZXIoY20sIGUpOyBlX3N0b3AoZSk7IH19LFxuICAgICAgc3RhcnQ6IGZ1bmN0aW9uIChlKSB7IHJldHVybiBvbkRyYWdTdGFydChjbSwgZSk7IH0sXG4gICAgICBkcm9wOiBvcGVyYXRpb24oY20sIG9uRHJvcCksXG4gICAgICBsZWF2ZTogZnVuY3Rpb24gKGUpIHtpZiAoIXNpZ25hbERPTUV2ZW50KGNtLCBlKSkgeyBjbGVhckRyYWdDdXJzb3IoY20pOyB9fVxuICAgIH07XG5cbiAgICB2YXIgaW5wID0gZC5pbnB1dC5nZXRGaWVsZCgpO1xuICAgIG9uKGlucCwgXCJrZXl1cFwiLCBmdW5jdGlvbiAoZSkgeyByZXR1cm4gb25LZXlVcC5jYWxsKGNtLCBlKTsgfSk7XG4gICAgb24oaW5wLCBcImtleWRvd25cIiwgb3BlcmF0aW9uKGNtLCBvbktleURvd24pKTtcbiAgICBvbihpbnAsIFwia2V5cHJlc3NcIiwgb3BlcmF0aW9uKGNtLCBvbktleVByZXNzKSk7XG4gICAgb24oaW5wLCBcImZvY3VzXCIsIGZ1bmN0aW9uIChlKSB7IHJldHVybiBvbkZvY3VzKGNtLCBlKTsgfSk7XG4gICAgb24oaW5wLCBcImJsdXJcIiwgZnVuY3Rpb24gKGUpIHsgcmV0dXJuIG9uQmx1cihjbSwgZSk7IH0pO1xuICB9XG5cbiAgdmFyIGluaXRIb29rcyA9IFtdO1xuICBDb2RlTWlycm9yLmRlZmluZUluaXRIb29rID0gZnVuY3Rpb24gKGYpIHsgcmV0dXJuIGluaXRIb29rcy5wdXNoKGYpOyB9O1xuXG4gIC8vIEluZGVudCB0aGUgZ2l2ZW4gbGluZS4gVGhlIGhvdyBwYXJhbWV0ZXIgY2FuIGJlIFwic21hcnRcIixcbiAgLy8gXCJhZGRcIi9udWxsLCBcInN1YnRyYWN0XCIsIG9yIFwicHJldlwiLiBXaGVuIGFnZ3Jlc3NpdmUgaXMgZmFsc2VcbiAgLy8gKHR5cGljYWxseSBzZXQgdG8gdHJ1ZSBmb3IgZm9yY2VkIHNpbmdsZS1saW5lIGluZGVudHMpLCBlbXB0eVxuICAvLyBsaW5lcyBhcmUgbm90IGluZGVudGVkLCBhbmQgcGxhY2VzIHdoZXJlIHRoZSBtb2RlIHJldHVybnMgUGFzc1xuICAvLyBhcmUgbGVmdCBhbG9uZS5cbiAgZnVuY3Rpb24gaW5kZW50TGluZShjbSwgbiwgaG93LCBhZ2dyZXNzaXZlKSB7XG4gICAgdmFyIGRvYyA9IGNtLmRvYywgc3RhdGU7XG4gICAgaWYgKGhvdyA9PSBudWxsKSB7IGhvdyA9IFwiYWRkXCI7IH1cbiAgICBpZiAoaG93ID09IFwic21hcnRcIikge1xuICAgICAgLy8gRmFsbCBiYWNrIHRvIFwicHJldlwiIHdoZW4gdGhlIG1vZGUgZG9lc24ndCBoYXZlIGFuIGluZGVudGF0aW9uXG4gICAgICAvLyBtZXRob2QuXG4gICAgICBpZiAoIWRvYy5tb2RlLmluZGVudCkgeyBob3cgPSBcInByZXZcIjsgfVxuICAgICAgZWxzZSB7IHN0YXRlID0gZ2V0Q29udGV4dEJlZm9yZShjbSwgbikuc3RhdGU7IH1cbiAgICB9XG5cbiAgICB2YXIgdGFiU2l6ZSA9IGNtLm9wdGlvbnMudGFiU2l6ZTtcbiAgICB2YXIgbGluZSA9IGdldExpbmUoZG9jLCBuKSwgY3VyU3BhY2UgPSBjb3VudENvbHVtbihsaW5lLnRleHQsIG51bGwsIHRhYlNpemUpO1xuICAgIGlmIChsaW5lLnN0YXRlQWZ0ZXIpIHsgbGluZS5zdGF0ZUFmdGVyID0gbnVsbDsgfVxuICAgIHZhciBjdXJTcGFjZVN0cmluZyA9IGxpbmUudGV4dC5tYXRjaCgvXlxccyovKVswXSwgaW5kZW50YXRpb247XG4gICAgaWYgKCFhZ2dyZXNzaXZlICYmICEvXFxTLy50ZXN0KGxpbmUudGV4dCkpIHtcbiAgICAgIGluZGVudGF0aW9uID0gMDtcbiAgICAgIGhvdyA9IFwibm90XCI7XG4gICAgfSBlbHNlIGlmIChob3cgPT0gXCJzbWFydFwiKSB7XG4gICAgICBpbmRlbnRhdGlvbiA9IGRvYy5tb2RlLmluZGVudChzdGF0ZSwgbGluZS50ZXh0LnNsaWNlKGN1clNwYWNlU3RyaW5nLmxlbmd0aCksIGxpbmUudGV4dCk7XG4gICAgICBpZiAoaW5kZW50YXRpb24gPT0gUGFzcyB8fCBpbmRlbnRhdGlvbiA+IDE1MCkge1xuICAgICAgICBpZiAoIWFnZ3Jlc3NpdmUpIHsgcmV0dXJuIH1cbiAgICAgICAgaG93ID0gXCJwcmV2XCI7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChob3cgPT0gXCJwcmV2XCIpIHtcbiAgICAgIGlmIChuID4gZG9jLmZpcnN0KSB7IGluZGVudGF0aW9uID0gY291bnRDb2x1bW4oZ2V0TGluZShkb2MsIG4tMSkudGV4dCwgbnVsbCwgdGFiU2l6ZSk7IH1cbiAgICAgIGVsc2UgeyBpbmRlbnRhdGlvbiA9IDA7IH1cbiAgICB9IGVsc2UgaWYgKGhvdyA9PSBcImFkZFwiKSB7XG4gICAgICBpbmRlbnRhdGlvbiA9IGN1clNwYWNlICsgY20ub3B0aW9ucy5pbmRlbnRVbml0O1xuICAgIH0gZWxzZSBpZiAoaG93ID09IFwic3VidHJhY3RcIikge1xuICAgICAgaW5kZW50YXRpb24gPSBjdXJTcGFjZSAtIGNtLm9wdGlvbnMuaW5kZW50VW5pdDtcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBob3cgPT0gXCJudW1iZXJcIikge1xuICAgICAgaW5kZW50YXRpb24gPSBjdXJTcGFjZSArIGhvdztcbiAgICB9XG4gICAgaW5kZW50YXRpb24gPSBNYXRoLm1heCgwLCBpbmRlbnRhdGlvbik7XG5cbiAgICB2YXIgaW5kZW50U3RyaW5nID0gXCJcIiwgcG9zID0gMDtcbiAgICBpZiAoY20ub3B0aW9ucy5pbmRlbnRXaXRoVGFicylcbiAgICAgIHsgZm9yICh2YXIgaSA9IE1hdGguZmxvb3IoaW5kZW50YXRpb24gLyB0YWJTaXplKTsgaTsgLS1pKSB7cG9zICs9IHRhYlNpemU7IGluZGVudFN0cmluZyArPSBcIlxcdFwiO30gfVxuICAgIGlmIChwb3MgPCBpbmRlbnRhdGlvbikgeyBpbmRlbnRTdHJpbmcgKz0gc3BhY2VTdHIoaW5kZW50YXRpb24gLSBwb3MpOyB9XG5cbiAgICBpZiAoaW5kZW50U3RyaW5nICE9IGN1clNwYWNlU3RyaW5nKSB7XG4gICAgICByZXBsYWNlUmFuZ2UoZG9jLCBpbmRlbnRTdHJpbmcsIFBvcyhuLCAwKSwgUG9zKG4sIGN1clNwYWNlU3RyaW5nLmxlbmd0aCksIFwiK2lucHV0XCIpO1xuICAgICAgbGluZS5zdGF0ZUFmdGVyID0gbnVsbDtcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIEVuc3VyZSB0aGF0LCBpZiB0aGUgY3Vyc29yIHdhcyBpbiB0aGUgd2hpdGVzcGFjZSBhdCB0aGUgc3RhcnRcbiAgICAgIC8vIG9mIHRoZSBsaW5lLCBpdCBpcyBtb3ZlZCB0byB0aGUgZW5kIG9mIHRoYXQgc3BhY2UuXG4gICAgICBmb3IgKHZhciBpJDEgPSAwOyBpJDEgPCBkb2Muc2VsLnJhbmdlcy5sZW5ndGg7IGkkMSsrKSB7XG4gICAgICAgIHZhciByYW5nZSA9IGRvYy5zZWwucmFuZ2VzW2kkMV07XG4gICAgICAgIGlmIChyYW5nZS5oZWFkLmxpbmUgPT0gbiAmJiByYW5nZS5oZWFkLmNoIDwgY3VyU3BhY2VTdHJpbmcubGVuZ3RoKSB7XG4gICAgICAgICAgdmFyIHBvcyQxID0gUG9zKG4sIGN1clNwYWNlU3RyaW5nLmxlbmd0aCk7XG4gICAgICAgICAgcmVwbGFjZU9uZVNlbGVjdGlvbihkb2MsIGkkMSwgbmV3IFJhbmdlKHBvcyQxLCBwb3MkMSkpO1xuICAgICAgICAgIGJyZWFrXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBUaGlzIHdpbGwgYmUgc2V0IHRvIGEge2xpbmVXaXNlOiBib29sLCB0ZXh0OiBbc3RyaW5nXX0gb2JqZWN0LCBzb1xuICAvLyB0aGF0LCB3aGVuIHBhc3RpbmcsIHdlIGtub3cgd2hhdCBraW5kIG9mIHNlbGVjdGlvbnMgdGhlIGNvcGllZFxuICAvLyB0ZXh0IHdhcyBtYWRlIG91dCBvZi5cbiAgdmFyIGxhc3RDb3BpZWQgPSBudWxsO1xuXG4gIGZ1bmN0aW9uIHNldExhc3RDb3BpZWQobmV3TGFzdENvcGllZCkge1xuICAgIGxhc3RDb3BpZWQgPSBuZXdMYXN0Q29waWVkO1xuICB9XG5cbiAgZnVuY3Rpb24gYXBwbHlUZXh0SW5wdXQoY20sIGluc2VydGVkLCBkZWxldGVkLCBzZWwsIG9yaWdpbikge1xuICAgIHZhciBkb2MgPSBjbS5kb2M7XG4gICAgY20uZGlzcGxheS5zaGlmdCA9IGZhbHNlO1xuICAgIGlmICghc2VsKSB7IHNlbCA9IGRvYy5zZWw7IH1cblxuICAgIHZhciByZWNlbnQgPSArbmV3IERhdGUgLSAyMDA7XG4gICAgdmFyIHBhc3RlID0gb3JpZ2luID09IFwicGFzdGVcIiB8fCBjbS5zdGF0ZS5wYXN0ZUluY29taW5nID4gcmVjZW50O1xuICAgIHZhciB0ZXh0TGluZXMgPSBzcGxpdExpbmVzQXV0byhpbnNlcnRlZCksIG11bHRpUGFzdGUgPSBudWxsO1xuICAgIC8vIFdoZW4gcGFzdGluZyBOIGxpbmVzIGludG8gTiBzZWxlY3Rpb25zLCBpbnNlcnQgb25lIGxpbmUgcGVyIHNlbGVjdGlvblxuICAgIGlmIChwYXN0ZSAmJiBzZWwucmFuZ2VzLmxlbmd0aCA+IDEpIHtcbiAgICAgIGlmIChsYXN0Q29waWVkICYmIGxhc3RDb3BpZWQudGV4dC5qb2luKFwiXFxuXCIpID09IGluc2VydGVkKSB7XG4gICAgICAgIGlmIChzZWwucmFuZ2VzLmxlbmd0aCAlIGxhc3RDb3BpZWQudGV4dC5sZW5ndGggPT0gMCkge1xuICAgICAgICAgIG11bHRpUGFzdGUgPSBbXTtcbiAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxhc3RDb3BpZWQudGV4dC5sZW5ndGg7IGkrKylcbiAgICAgICAgICAgIHsgbXVsdGlQYXN0ZS5wdXNoKGRvYy5zcGxpdExpbmVzKGxhc3RDb3BpZWQudGV4dFtpXSkpOyB9XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAodGV4dExpbmVzLmxlbmd0aCA9PSBzZWwucmFuZ2VzLmxlbmd0aCAmJiBjbS5vcHRpb25zLnBhc3RlTGluZXNQZXJTZWxlY3Rpb24pIHtcbiAgICAgICAgbXVsdGlQYXN0ZSA9IG1hcCh0ZXh0TGluZXMsIGZ1bmN0aW9uIChsKSB7IHJldHVybiBbbF07IH0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIHZhciB1cGRhdGVJbnB1dCA9IGNtLmN1ck9wLnVwZGF0ZUlucHV0O1xuICAgIC8vIE5vcm1hbCBiZWhhdmlvciBpcyB0byBpbnNlcnQgdGhlIG5ldyB0ZXh0IGludG8gZXZlcnkgc2VsZWN0aW9uXG4gICAgZm9yICh2YXIgaSQxID0gc2VsLnJhbmdlcy5sZW5ndGggLSAxOyBpJDEgPj0gMDsgaSQxLS0pIHtcbiAgICAgIHZhciByYW5nZSQkMSA9IHNlbC5yYW5nZXNbaSQxXTtcbiAgICAgIHZhciBmcm9tID0gcmFuZ2UkJDEuZnJvbSgpLCB0byA9IHJhbmdlJCQxLnRvKCk7XG4gICAgICBpZiAocmFuZ2UkJDEuZW1wdHkoKSkge1xuICAgICAgICBpZiAoZGVsZXRlZCAmJiBkZWxldGVkID4gMCkgLy8gSGFuZGxlIGRlbGV0aW9uXG4gICAgICAgICAgeyBmcm9tID0gUG9zKGZyb20ubGluZSwgZnJvbS5jaCAtIGRlbGV0ZWQpOyB9XG4gICAgICAgIGVsc2UgaWYgKGNtLnN0YXRlLm92ZXJ3cml0ZSAmJiAhcGFzdGUpIC8vIEhhbmRsZSBvdmVyd3JpdGVcbiAgICAgICAgICB7IHRvID0gUG9zKHRvLmxpbmUsIE1hdGgubWluKGdldExpbmUoZG9jLCB0by5saW5lKS50ZXh0Lmxlbmd0aCwgdG8uY2ggKyBsc3QodGV4dExpbmVzKS5sZW5ndGgpKTsgfVxuICAgICAgICBlbHNlIGlmIChwYXN0ZSAmJiBsYXN0Q29waWVkICYmIGxhc3RDb3BpZWQubGluZVdpc2UgJiYgbGFzdENvcGllZC50ZXh0LmpvaW4oXCJcXG5cIikgPT0gaW5zZXJ0ZWQpXG4gICAgICAgICAgeyBmcm9tID0gdG8gPSBQb3MoZnJvbS5saW5lLCAwKTsgfVxuICAgICAgfVxuICAgICAgdmFyIGNoYW5nZUV2ZW50ID0ge2Zyb206IGZyb20sIHRvOiB0bywgdGV4dDogbXVsdGlQYXN0ZSA/IG11bHRpUGFzdGVbaSQxICUgbXVsdGlQYXN0ZS5sZW5ndGhdIDogdGV4dExpbmVzLFxuICAgICAgICAgICAgICAgICAgICAgICAgIG9yaWdpbjogb3JpZ2luIHx8IChwYXN0ZSA/IFwicGFzdGVcIiA6IGNtLnN0YXRlLmN1dEluY29taW5nID4gcmVjZW50ID8gXCJjdXRcIiA6IFwiK2lucHV0XCIpfTtcbiAgICAgIG1ha2VDaGFuZ2UoY20uZG9jLCBjaGFuZ2VFdmVudCk7XG4gICAgICBzaWduYWxMYXRlcihjbSwgXCJpbnB1dFJlYWRcIiwgY20sIGNoYW5nZUV2ZW50KTtcbiAgICB9XG4gICAgaWYgKGluc2VydGVkICYmICFwYXN0ZSlcbiAgICAgIHsgdHJpZ2dlckVsZWN0cmljKGNtLCBpbnNlcnRlZCk7IH1cblxuICAgIGVuc3VyZUN1cnNvclZpc2libGUoY20pO1xuICAgIGlmIChjbS5jdXJPcC51cGRhdGVJbnB1dCA8IDIpIHsgY20uY3VyT3AudXBkYXRlSW5wdXQgPSB1cGRhdGVJbnB1dDsgfVxuICAgIGNtLmN1ck9wLnR5cGluZyA9IHRydWU7XG4gICAgY20uc3RhdGUucGFzdGVJbmNvbWluZyA9IGNtLnN0YXRlLmN1dEluY29taW5nID0gLTE7XG4gIH1cblxuICBmdW5jdGlvbiBoYW5kbGVQYXN0ZShlLCBjbSkge1xuICAgIHZhciBwYXN0ZWQgPSBlLmNsaXBib2FyZERhdGEgJiYgZS5jbGlwYm9hcmREYXRhLmdldERhdGEoXCJUZXh0XCIpO1xuICAgIGlmIChwYXN0ZWQpIHtcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGlmICghY20uaXNSZWFkT25seSgpICYmICFjbS5vcHRpb25zLmRpc2FibGVJbnB1dClcbiAgICAgICAgeyBydW5Jbk9wKGNtLCBmdW5jdGlvbiAoKSB7IHJldHVybiBhcHBseVRleHRJbnB1dChjbSwgcGFzdGVkLCAwLCBudWxsLCBcInBhc3RlXCIpOyB9KTsgfVxuICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiB0cmlnZ2VyRWxlY3RyaWMoY20sIGluc2VydGVkKSB7XG4gICAgLy8gV2hlbiBhbiAnZWxlY3RyaWMnIGNoYXJhY3RlciBpcyBpbnNlcnRlZCwgaW1tZWRpYXRlbHkgdHJpZ2dlciBhIHJlaW5kZW50XG4gICAgaWYgKCFjbS5vcHRpb25zLmVsZWN0cmljQ2hhcnMgfHwgIWNtLm9wdGlvbnMuc21hcnRJbmRlbnQpIHsgcmV0dXJuIH1cbiAgICB2YXIgc2VsID0gY20uZG9jLnNlbDtcblxuICAgIGZvciAodmFyIGkgPSBzZWwucmFuZ2VzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XG4gICAgICB2YXIgcmFuZ2UkJDEgPSBzZWwucmFuZ2VzW2ldO1xuICAgICAgaWYgKHJhbmdlJCQxLmhlYWQuY2ggPiAxMDAgfHwgKGkgJiYgc2VsLnJhbmdlc1tpIC0gMV0uaGVhZC5saW5lID09IHJhbmdlJCQxLmhlYWQubGluZSkpIHsgY29udGludWUgfVxuICAgICAgdmFyIG1vZGUgPSBjbS5nZXRNb2RlQXQocmFuZ2UkJDEuaGVhZCk7XG4gICAgICB2YXIgaW5kZW50ZWQgPSBmYWxzZTtcbiAgICAgIGlmIChtb2RlLmVsZWN0cmljQ2hhcnMpIHtcbiAgICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCBtb2RlLmVsZWN0cmljQ2hhcnMubGVuZ3RoOyBqKyspXG4gICAgICAgICAgeyBpZiAoaW5zZXJ0ZWQuaW5kZXhPZihtb2RlLmVsZWN0cmljQ2hhcnMuY2hhckF0KGopKSA+IC0xKSB7XG4gICAgICAgICAgICBpbmRlbnRlZCA9IGluZGVudExpbmUoY20sIHJhbmdlJCQxLmhlYWQubGluZSwgXCJzbWFydFwiKTtcbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfSB9XG4gICAgICB9IGVsc2UgaWYgKG1vZGUuZWxlY3RyaWNJbnB1dCkge1xuICAgICAgICBpZiAobW9kZS5lbGVjdHJpY0lucHV0LnRlc3QoZ2V0TGluZShjbS5kb2MsIHJhbmdlJCQxLmhlYWQubGluZSkudGV4dC5zbGljZSgwLCByYW5nZSQkMS5oZWFkLmNoKSkpXG4gICAgICAgICAgeyBpbmRlbnRlZCA9IGluZGVudExpbmUoY20sIHJhbmdlJCQxLmhlYWQubGluZSwgXCJzbWFydFwiKTsgfVxuICAgICAgfVxuICAgICAgaWYgKGluZGVudGVkKSB7IHNpZ25hbExhdGVyKGNtLCBcImVsZWN0cmljSW5wdXRcIiwgY20sIHJhbmdlJCQxLmhlYWQubGluZSk7IH1cbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBjb3B5YWJsZVJhbmdlcyhjbSkge1xuICAgIHZhciB0ZXh0ID0gW10sIHJhbmdlcyA9IFtdO1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgY20uZG9jLnNlbC5yYW5nZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIHZhciBsaW5lID0gY20uZG9jLnNlbC5yYW5nZXNbaV0uaGVhZC5saW5lO1xuICAgICAgdmFyIGxpbmVSYW5nZSA9IHthbmNob3I6IFBvcyhsaW5lLCAwKSwgaGVhZDogUG9zKGxpbmUgKyAxLCAwKX07XG4gICAgICByYW5nZXMucHVzaChsaW5lUmFuZ2UpO1xuICAgICAgdGV4dC5wdXNoKGNtLmdldFJhbmdlKGxpbmVSYW5nZS5hbmNob3IsIGxpbmVSYW5nZS5oZWFkKSk7XG4gICAgfVxuICAgIHJldHVybiB7dGV4dDogdGV4dCwgcmFuZ2VzOiByYW5nZXN9XG4gIH1cblxuICBmdW5jdGlvbiBkaXNhYmxlQnJvd3Nlck1hZ2ljKGZpZWxkLCBzcGVsbGNoZWNrLCBhdXRvY29ycmVjdCwgYXV0b2NhcGl0YWxpemUpIHtcbiAgICBmaWVsZC5zZXRBdHRyaWJ1dGUoXCJhdXRvY29ycmVjdFwiLCBhdXRvY29ycmVjdCA/IFwiXCIgOiBcIm9mZlwiKTtcbiAgICBmaWVsZC5zZXRBdHRyaWJ1dGUoXCJhdXRvY2FwaXRhbGl6ZVwiLCBhdXRvY2FwaXRhbGl6ZSA/IFwiXCIgOiBcIm9mZlwiKTtcbiAgICBmaWVsZC5zZXRBdHRyaWJ1dGUoXCJzcGVsbGNoZWNrXCIsICEhc3BlbGxjaGVjayk7XG4gIH1cblxuICBmdW5jdGlvbiBoaWRkZW5UZXh0YXJlYSgpIHtcbiAgICB2YXIgdGUgPSBlbHQoXCJ0ZXh0YXJlYVwiLCBudWxsLCBudWxsLCBcInBvc2l0aW9uOiBhYnNvbHV0ZTsgYm90dG9tOiAtMWVtOyBwYWRkaW5nOiAwOyB3aWR0aDogMXB4OyBoZWlnaHQ6IDFlbTsgb3V0bGluZTogbm9uZVwiKTtcbiAgICB2YXIgZGl2ID0gZWx0KFwiZGl2XCIsIFt0ZV0sIG51bGwsIFwib3ZlcmZsb3c6IGhpZGRlbjsgcG9zaXRpb246IHJlbGF0aXZlOyB3aWR0aDogM3B4OyBoZWlnaHQ6IDBweDtcIik7XG4gICAgLy8gVGhlIHRleHRhcmVhIGlzIGtlcHQgcG9zaXRpb25lZCBuZWFyIHRoZSBjdXJzb3IgdG8gcHJldmVudCB0aGVcbiAgICAvLyBmYWN0IHRoYXQgaXQnbGwgYmUgc2Nyb2xsZWQgaW50byB2aWV3IG9uIGlucHV0IGZyb20gc2Nyb2xsaW5nXG4gICAgLy8gb3VyIGZha2UgY3Vyc29yIG91dCBvZiB2aWV3LiBPbiB3ZWJraXQsIHdoZW4gd3JhcD1vZmYsIHBhc3RlIGlzXG4gICAgLy8gdmVyeSBzbG93LiBTbyBtYWtlIHRoZSBhcmVhIHdpZGUgaW5zdGVhZC5cbiAgICBpZiAod2Via2l0KSB7IHRlLnN0eWxlLndpZHRoID0gXCIxMDAwcHhcIjsgfVxuICAgIGVsc2UgeyB0ZS5zZXRBdHRyaWJ1dGUoXCJ3cmFwXCIsIFwib2ZmXCIpOyB9XG4gICAgLy8gSWYgYm9yZGVyOiAwOyAtLSBpT1MgZmFpbHMgdG8gb3BlbiBrZXlib2FyZCAoaXNzdWUgIzEyODcpXG4gICAgaWYgKGlvcykgeyB0ZS5zdHlsZS5ib3JkZXIgPSBcIjFweCBzb2xpZCBibGFja1wiOyB9XG4gICAgZGlzYWJsZUJyb3dzZXJNYWdpYyh0ZSk7XG4gICAgcmV0dXJuIGRpdlxuICB9XG5cbiAgLy8gVGhlIHB1YmxpY2x5IHZpc2libGUgQVBJLiBOb3RlIHRoYXQgbWV0aG9kT3AoZikgbWVhbnNcbiAgLy8gJ3dyYXAgZiBpbiBhbiBvcGVyYXRpb24sIHBlcmZvcm1lZCBvbiBpdHMgYHRoaXNgIHBhcmFtZXRlcicuXG5cbiAgLy8gVGhpcyBpcyBub3QgdGhlIGNvbXBsZXRlIHNldCBvZiBlZGl0b3IgbWV0aG9kcy4gTW9zdCBvZiB0aGVcbiAgLy8gbWV0aG9kcyBkZWZpbmVkIG9uIHRoZSBEb2MgdHlwZSBhcmUgYWxzbyBpbmplY3RlZCBpbnRvXG4gIC8vIENvZGVNaXJyb3IucHJvdG90eXBlLCBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgYW5kXG4gIC8vIGNvbnZlbmllbmNlLlxuXG4gIGZ1bmN0aW9uIGFkZEVkaXRvck1ldGhvZHMoQ29kZU1pcnJvcikge1xuICAgIHZhciBvcHRpb25IYW5kbGVycyA9IENvZGVNaXJyb3Iub3B0aW9uSGFuZGxlcnM7XG5cbiAgICB2YXIgaGVscGVycyA9IENvZGVNaXJyb3IuaGVscGVycyA9IHt9O1xuXG4gICAgQ29kZU1pcnJvci5wcm90b3R5cGUgPSB7XG4gICAgICBjb25zdHJ1Y3RvcjogQ29kZU1pcnJvcixcbiAgICAgIGZvY3VzOiBmdW5jdGlvbigpe3dpbmRvdy5mb2N1cygpOyB0aGlzLmRpc3BsYXkuaW5wdXQuZm9jdXMoKTt9LFxuXG4gICAgICBzZXRPcHRpb246IGZ1bmN0aW9uKG9wdGlvbiwgdmFsdWUpIHtcbiAgICAgICAgdmFyIG9wdGlvbnMgPSB0aGlzLm9wdGlvbnMsIG9sZCA9IG9wdGlvbnNbb3B0aW9uXTtcbiAgICAgICAgaWYgKG9wdGlvbnNbb3B0aW9uXSA9PSB2YWx1ZSAmJiBvcHRpb24gIT0gXCJtb2RlXCIpIHsgcmV0dXJuIH1cbiAgICAgICAgb3B0aW9uc1tvcHRpb25dID0gdmFsdWU7XG4gICAgICAgIGlmIChvcHRpb25IYW5kbGVycy5oYXNPd25Qcm9wZXJ0eShvcHRpb24pKVxuICAgICAgICAgIHsgb3BlcmF0aW9uKHRoaXMsIG9wdGlvbkhhbmRsZXJzW29wdGlvbl0pKHRoaXMsIHZhbHVlLCBvbGQpOyB9XG4gICAgICAgIHNpZ25hbCh0aGlzLCBcIm9wdGlvbkNoYW5nZVwiLCB0aGlzLCBvcHRpb24pO1xuICAgICAgfSxcblxuICAgICAgZ2V0T3B0aW9uOiBmdW5jdGlvbihvcHRpb24pIHtyZXR1cm4gdGhpcy5vcHRpb25zW29wdGlvbl19LFxuICAgICAgZ2V0RG9jOiBmdW5jdGlvbigpIHtyZXR1cm4gdGhpcy5kb2N9LFxuXG4gICAgICBhZGRLZXlNYXA6IGZ1bmN0aW9uKG1hcCQkMSwgYm90dG9tKSB7XG4gICAgICAgIHRoaXMuc3RhdGUua2V5TWFwc1tib3R0b20gPyBcInB1c2hcIiA6IFwidW5zaGlmdFwiXShnZXRLZXlNYXAobWFwJCQxKSk7XG4gICAgICB9LFxuICAgICAgcmVtb3ZlS2V5TWFwOiBmdW5jdGlvbihtYXAkJDEpIHtcbiAgICAgICAgdmFyIG1hcHMgPSB0aGlzLnN0YXRlLmtleU1hcHM7XG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbWFwcy5sZW5ndGg7ICsraSlcbiAgICAgICAgICB7IGlmIChtYXBzW2ldID09IG1hcCQkMSB8fCBtYXBzW2ldLm5hbWUgPT0gbWFwJCQxKSB7XG4gICAgICAgICAgICBtYXBzLnNwbGljZShpLCAxKTtcbiAgICAgICAgICAgIHJldHVybiB0cnVlXG4gICAgICAgICAgfSB9XG4gICAgICB9LFxuXG4gICAgICBhZGRPdmVybGF5OiBtZXRob2RPcChmdW5jdGlvbihzcGVjLCBvcHRpb25zKSB7XG4gICAgICAgIHZhciBtb2RlID0gc3BlYy50b2tlbiA/IHNwZWMgOiBDb2RlTWlycm9yLmdldE1vZGUodGhpcy5vcHRpb25zLCBzcGVjKTtcbiAgICAgICAgaWYgKG1vZGUuc3RhcnRTdGF0ZSkgeyB0aHJvdyBuZXcgRXJyb3IoXCJPdmVybGF5cyBtYXkgbm90IGJlIHN0YXRlZnVsLlwiKSB9XG4gICAgICAgIGluc2VydFNvcnRlZCh0aGlzLnN0YXRlLm92ZXJsYXlzLFxuICAgICAgICAgICAgICAgICAgICAge21vZGU6IG1vZGUsIG1vZGVTcGVjOiBzcGVjLCBvcGFxdWU6IG9wdGlvbnMgJiYgb3B0aW9ucy5vcGFxdWUsXG4gICAgICAgICAgICAgICAgICAgICAgcHJpb3JpdHk6IChvcHRpb25zICYmIG9wdGlvbnMucHJpb3JpdHkpIHx8IDB9LFxuICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gKG92ZXJsYXkpIHsgcmV0dXJuIG92ZXJsYXkucHJpb3JpdHk7IH0pO1xuICAgICAgICB0aGlzLnN0YXRlLm1vZGVHZW4rKztcbiAgICAgICAgcmVnQ2hhbmdlKHRoaXMpO1xuICAgICAgfSksXG4gICAgICByZW1vdmVPdmVybGF5OiBtZXRob2RPcChmdW5jdGlvbihzcGVjKSB7XG4gICAgICAgIHZhciB0aGlzJDEgPSB0aGlzO1xuXG4gICAgICAgIHZhciBvdmVybGF5cyA9IHRoaXMuc3RhdGUub3ZlcmxheXM7XG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgb3ZlcmxheXMubGVuZ3RoOyArK2kpIHtcbiAgICAgICAgICB2YXIgY3VyID0gb3ZlcmxheXNbaV0ubW9kZVNwZWM7XG4gICAgICAgICAgaWYgKGN1ciA9PSBzcGVjIHx8IHR5cGVvZiBzcGVjID09IFwic3RyaW5nXCIgJiYgY3VyLm5hbWUgPT0gc3BlYykge1xuICAgICAgICAgICAgb3ZlcmxheXMuc3BsaWNlKGksIDEpO1xuICAgICAgICAgICAgdGhpcyQxLnN0YXRlLm1vZGVHZW4rKztcbiAgICAgICAgICAgIHJlZ0NoYW5nZSh0aGlzJDEpO1xuICAgICAgICAgICAgcmV0dXJuXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KSxcblxuICAgICAgaW5kZW50TGluZTogbWV0aG9kT3AoZnVuY3Rpb24obiwgZGlyLCBhZ2dyZXNzaXZlKSB7XG4gICAgICAgIGlmICh0eXBlb2YgZGlyICE9IFwic3RyaW5nXCIgJiYgdHlwZW9mIGRpciAhPSBcIm51bWJlclwiKSB7XG4gICAgICAgICAgaWYgKGRpciA9PSBudWxsKSB7IGRpciA9IHRoaXMub3B0aW9ucy5zbWFydEluZGVudCA/IFwic21hcnRcIiA6IFwicHJldlwiOyB9XG4gICAgICAgICAgZWxzZSB7IGRpciA9IGRpciA/IFwiYWRkXCIgOiBcInN1YnRyYWN0XCI7IH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoaXNMaW5lKHRoaXMuZG9jLCBuKSkgeyBpbmRlbnRMaW5lKHRoaXMsIG4sIGRpciwgYWdncmVzc2l2ZSk7IH1cbiAgICAgIH0pLFxuICAgICAgaW5kZW50U2VsZWN0aW9uOiBtZXRob2RPcChmdW5jdGlvbihob3cpIHtcbiAgICAgICAgdmFyIHRoaXMkMSA9IHRoaXM7XG5cbiAgICAgICAgdmFyIHJhbmdlcyA9IHRoaXMuZG9jLnNlbC5yYW5nZXMsIGVuZCA9IC0xO1xuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJhbmdlcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgIHZhciByYW5nZSQkMSA9IHJhbmdlc1tpXTtcbiAgICAgICAgICBpZiAoIXJhbmdlJCQxLmVtcHR5KCkpIHtcbiAgICAgICAgICAgIHZhciBmcm9tID0gcmFuZ2UkJDEuZnJvbSgpLCB0byA9IHJhbmdlJCQxLnRvKCk7XG4gICAgICAgICAgICB2YXIgc3RhcnQgPSBNYXRoLm1heChlbmQsIGZyb20ubGluZSk7XG4gICAgICAgICAgICBlbmQgPSBNYXRoLm1pbih0aGlzJDEubGFzdExpbmUoKSwgdG8ubGluZSAtICh0by5jaCA/IDAgOiAxKSkgKyAxO1xuICAgICAgICAgICAgZm9yICh2YXIgaiA9IHN0YXJ0OyBqIDwgZW5kOyArK2opXG4gICAgICAgICAgICAgIHsgaW5kZW50TGluZSh0aGlzJDEsIGosIGhvdyk7IH1cbiAgICAgICAgICAgIHZhciBuZXdSYW5nZXMgPSB0aGlzJDEuZG9jLnNlbC5yYW5nZXM7XG4gICAgICAgICAgICBpZiAoZnJvbS5jaCA9PSAwICYmIHJhbmdlcy5sZW5ndGggPT0gbmV3UmFuZ2VzLmxlbmd0aCAmJiBuZXdSYW5nZXNbaV0uZnJvbSgpLmNoID4gMClcbiAgICAgICAgICAgICAgeyByZXBsYWNlT25lU2VsZWN0aW9uKHRoaXMkMS5kb2MsIGksIG5ldyBSYW5nZShmcm9tLCBuZXdSYW5nZXNbaV0udG8oKSksIHNlbF9kb250U2Nyb2xsKTsgfVxuICAgICAgICAgIH0gZWxzZSBpZiAocmFuZ2UkJDEuaGVhZC5saW5lID4gZW5kKSB7XG4gICAgICAgICAgICBpbmRlbnRMaW5lKHRoaXMkMSwgcmFuZ2UkJDEuaGVhZC5saW5lLCBob3csIHRydWUpO1xuICAgICAgICAgICAgZW5kID0gcmFuZ2UkJDEuaGVhZC5saW5lO1xuICAgICAgICAgICAgaWYgKGkgPT0gdGhpcyQxLmRvYy5zZWwucHJpbUluZGV4KSB7IGVuc3VyZUN1cnNvclZpc2libGUodGhpcyQxKTsgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSksXG5cbiAgICAgIC8vIEZldGNoIHRoZSBwYXJzZXIgdG9rZW4gZm9yIGEgZ2l2ZW4gY2hhcmFjdGVyLiBVc2VmdWwgZm9yIGhhY2tzXG4gICAgICAvLyB0aGF0IHdhbnQgdG8gaW5zcGVjdCB0aGUgbW9kZSBzdGF0ZSAoc2F5LCBmb3IgY29tcGxldGlvbikuXG4gICAgICBnZXRUb2tlbkF0OiBmdW5jdGlvbihwb3MsIHByZWNpc2UpIHtcbiAgICAgICAgcmV0dXJuIHRha2VUb2tlbih0aGlzLCBwb3MsIHByZWNpc2UpXG4gICAgICB9LFxuXG4gICAgICBnZXRMaW5lVG9rZW5zOiBmdW5jdGlvbihsaW5lLCBwcmVjaXNlKSB7XG4gICAgICAgIHJldHVybiB0YWtlVG9rZW4odGhpcywgUG9zKGxpbmUpLCBwcmVjaXNlLCB0cnVlKVxuICAgICAgfSxcblxuICAgICAgZ2V0VG9rZW5UeXBlQXQ6IGZ1bmN0aW9uKHBvcykge1xuICAgICAgICBwb3MgPSBjbGlwUG9zKHRoaXMuZG9jLCBwb3MpO1xuICAgICAgICB2YXIgc3R5bGVzID0gZ2V0TGluZVN0eWxlcyh0aGlzLCBnZXRMaW5lKHRoaXMuZG9jLCBwb3MubGluZSkpO1xuICAgICAgICB2YXIgYmVmb3JlID0gMCwgYWZ0ZXIgPSAoc3R5bGVzLmxlbmd0aCAtIDEpIC8gMiwgY2ggPSBwb3MuY2g7XG4gICAgICAgIHZhciB0eXBlO1xuICAgICAgICBpZiAoY2ggPT0gMCkgeyB0eXBlID0gc3R5bGVzWzJdOyB9XG4gICAgICAgIGVsc2UgeyBmb3IgKDs7KSB7XG4gICAgICAgICAgdmFyIG1pZCA9IChiZWZvcmUgKyBhZnRlcikgPj4gMTtcbiAgICAgICAgICBpZiAoKG1pZCA/IHN0eWxlc1ttaWQgKiAyIC0gMV0gOiAwKSA+PSBjaCkgeyBhZnRlciA9IG1pZDsgfVxuICAgICAgICAgIGVsc2UgaWYgKHN0eWxlc1ttaWQgKiAyICsgMV0gPCBjaCkgeyBiZWZvcmUgPSBtaWQgKyAxOyB9XG4gICAgICAgICAgZWxzZSB7IHR5cGUgPSBzdHlsZXNbbWlkICogMiArIDJdOyBicmVhayB9XG4gICAgICAgIH0gfVxuICAgICAgICB2YXIgY3V0ID0gdHlwZSA/IHR5cGUuaW5kZXhPZihcIm92ZXJsYXkgXCIpIDogLTE7XG4gICAgICAgIHJldHVybiBjdXQgPCAwID8gdHlwZSA6IGN1dCA9PSAwID8gbnVsbCA6IHR5cGUuc2xpY2UoMCwgY3V0IC0gMSlcbiAgICAgIH0sXG5cbiAgICAgIGdldE1vZGVBdDogZnVuY3Rpb24ocG9zKSB7XG4gICAgICAgIHZhciBtb2RlID0gdGhpcy5kb2MubW9kZTtcbiAgICAgICAgaWYgKCFtb2RlLmlubmVyTW9kZSkgeyByZXR1cm4gbW9kZSB9XG4gICAgICAgIHJldHVybiBDb2RlTWlycm9yLmlubmVyTW9kZShtb2RlLCB0aGlzLmdldFRva2VuQXQocG9zKS5zdGF0ZSkubW9kZVxuICAgICAgfSxcblxuICAgICAgZ2V0SGVscGVyOiBmdW5jdGlvbihwb3MsIHR5cGUpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0SGVscGVycyhwb3MsIHR5cGUpWzBdXG4gICAgICB9LFxuXG4gICAgICBnZXRIZWxwZXJzOiBmdW5jdGlvbihwb3MsIHR5cGUpIHtcbiAgICAgICAgdmFyIHRoaXMkMSA9IHRoaXM7XG5cbiAgICAgICAgdmFyIGZvdW5kID0gW107XG4gICAgICAgIGlmICghaGVscGVycy5oYXNPd25Qcm9wZXJ0eSh0eXBlKSkgeyByZXR1cm4gZm91bmQgfVxuICAgICAgICB2YXIgaGVscCA9IGhlbHBlcnNbdHlwZV0sIG1vZGUgPSB0aGlzLmdldE1vZGVBdChwb3MpO1xuICAgICAgICBpZiAodHlwZW9mIG1vZGVbdHlwZV0gPT0gXCJzdHJpbmdcIikge1xuICAgICAgICAgIGlmIChoZWxwW21vZGVbdHlwZV1dKSB7IGZvdW5kLnB1c2goaGVscFttb2RlW3R5cGVdXSk7IH1cbiAgICAgICAgfSBlbHNlIGlmIChtb2RlW3R5cGVdKSB7XG4gICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBtb2RlW3R5cGVdLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICB2YXIgdmFsID0gaGVscFttb2RlW3R5cGVdW2ldXTtcbiAgICAgICAgICAgIGlmICh2YWwpIHsgZm91bmQucHVzaCh2YWwpOyB9XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKG1vZGUuaGVscGVyVHlwZSAmJiBoZWxwW21vZGUuaGVscGVyVHlwZV0pIHtcbiAgICAgICAgICBmb3VuZC5wdXNoKGhlbHBbbW9kZS5oZWxwZXJUeXBlXSk7XG4gICAgICAgIH0gZWxzZSBpZiAoaGVscFttb2RlLm5hbWVdKSB7XG4gICAgICAgICAgZm91bmQucHVzaChoZWxwW21vZGUubmFtZV0pO1xuICAgICAgICB9XG4gICAgICAgIGZvciAodmFyIGkkMSA9IDA7IGkkMSA8IGhlbHAuX2dsb2JhbC5sZW5ndGg7IGkkMSsrKSB7XG4gICAgICAgICAgdmFyIGN1ciA9IGhlbHAuX2dsb2JhbFtpJDFdO1xuICAgICAgICAgIGlmIChjdXIucHJlZChtb2RlLCB0aGlzJDEpICYmIGluZGV4T2YoZm91bmQsIGN1ci52YWwpID09IC0xKVxuICAgICAgICAgICAgeyBmb3VuZC5wdXNoKGN1ci52YWwpOyB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZvdW5kXG4gICAgICB9LFxuXG4gICAgICBnZXRTdGF0ZUFmdGVyOiBmdW5jdGlvbihsaW5lLCBwcmVjaXNlKSB7XG4gICAgICAgIHZhciBkb2MgPSB0aGlzLmRvYztcbiAgICAgICAgbGluZSA9IGNsaXBMaW5lKGRvYywgbGluZSA9PSBudWxsID8gZG9jLmZpcnN0ICsgZG9jLnNpemUgLSAxOiBsaW5lKTtcbiAgICAgICAgcmV0dXJuIGdldENvbnRleHRCZWZvcmUodGhpcywgbGluZSArIDEsIHByZWNpc2UpLnN0YXRlXG4gICAgICB9LFxuXG4gICAgICBjdXJzb3JDb29yZHM6IGZ1bmN0aW9uKHN0YXJ0LCBtb2RlKSB7XG4gICAgICAgIHZhciBwb3MsIHJhbmdlJCQxID0gdGhpcy5kb2Muc2VsLnByaW1hcnkoKTtcbiAgICAgICAgaWYgKHN0YXJ0ID09IG51bGwpIHsgcG9zID0gcmFuZ2UkJDEuaGVhZDsgfVxuICAgICAgICBlbHNlIGlmICh0eXBlb2Ygc3RhcnQgPT0gXCJvYmplY3RcIikgeyBwb3MgPSBjbGlwUG9zKHRoaXMuZG9jLCBzdGFydCk7IH1cbiAgICAgICAgZWxzZSB7IHBvcyA9IHN0YXJ0ID8gcmFuZ2UkJDEuZnJvbSgpIDogcmFuZ2UkJDEudG8oKTsgfVxuICAgICAgICByZXR1cm4gY3Vyc29yQ29vcmRzKHRoaXMsIHBvcywgbW9kZSB8fCBcInBhZ2VcIilcbiAgICAgIH0sXG5cbiAgICAgIGNoYXJDb29yZHM6IGZ1bmN0aW9uKHBvcywgbW9kZSkge1xuICAgICAgICByZXR1cm4gY2hhckNvb3Jkcyh0aGlzLCBjbGlwUG9zKHRoaXMuZG9jLCBwb3MpLCBtb2RlIHx8IFwicGFnZVwiKVxuICAgICAgfSxcblxuICAgICAgY29vcmRzQ2hhcjogZnVuY3Rpb24oY29vcmRzLCBtb2RlKSB7XG4gICAgICAgIGNvb3JkcyA9IGZyb21Db29yZFN5c3RlbSh0aGlzLCBjb29yZHMsIG1vZGUgfHwgXCJwYWdlXCIpO1xuICAgICAgICByZXR1cm4gY29vcmRzQ2hhcih0aGlzLCBjb29yZHMubGVmdCwgY29vcmRzLnRvcClcbiAgICAgIH0sXG5cbiAgICAgIGxpbmVBdEhlaWdodDogZnVuY3Rpb24oaGVpZ2h0LCBtb2RlKSB7XG4gICAgICAgIGhlaWdodCA9IGZyb21Db29yZFN5c3RlbSh0aGlzLCB7dG9wOiBoZWlnaHQsIGxlZnQ6IDB9LCBtb2RlIHx8IFwicGFnZVwiKS50b3A7XG4gICAgICAgIHJldHVybiBsaW5lQXRIZWlnaHQodGhpcy5kb2MsIGhlaWdodCArIHRoaXMuZGlzcGxheS52aWV3T2Zmc2V0KVxuICAgICAgfSxcbiAgICAgIGhlaWdodEF0TGluZTogZnVuY3Rpb24obGluZSwgbW9kZSwgaW5jbHVkZVdpZGdldHMpIHtcbiAgICAgICAgdmFyIGVuZCA9IGZhbHNlLCBsaW5lT2JqO1xuICAgICAgICBpZiAodHlwZW9mIGxpbmUgPT0gXCJudW1iZXJcIikge1xuICAgICAgICAgIHZhciBsYXN0ID0gdGhpcy5kb2MuZmlyc3QgKyB0aGlzLmRvYy5zaXplIC0gMTtcbiAgICAgICAgICBpZiAobGluZSA8IHRoaXMuZG9jLmZpcnN0KSB7IGxpbmUgPSB0aGlzLmRvYy5maXJzdDsgfVxuICAgICAgICAgIGVsc2UgaWYgKGxpbmUgPiBsYXN0KSB7IGxpbmUgPSBsYXN0OyBlbmQgPSB0cnVlOyB9XG4gICAgICAgICAgbGluZU9iaiA9IGdldExpbmUodGhpcy5kb2MsIGxpbmUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGxpbmVPYmogPSBsaW5lO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBpbnRvQ29vcmRTeXN0ZW0odGhpcywgbGluZU9iaiwge3RvcDogMCwgbGVmdDogMH0sIG1vZGUgfHwgXCJwYWdlXCIsIGluY2x1ZGVXaWRnZXRzIHx8IGVuZCkudG9wICtcbiAgICAgICAgICAoZW5kID8gdGhpcy5kb2MuaGVpZ2h0IC0gaGVpZ2h0QXRMaW5lKGxpbmVPYmopIDogMClcbiAgICAgIH0sXG5cbiAgICAgIGRlZmF1bHRUZXh0SGVpZ2h0OiBmdW5jdGlvbigpIHsgcmV0dXJuIHRleHRIZWlnaHQodGhpcy5kaXNwbGF5KSB9LFxuICAgICAgZGVmYXVsdENoYXJXaWR0aDogZnVuY3Rpb24oKSB7IHJldHVybiBjaGFyV2lkdGgodGhpcy5kaXNwbGF5KSB9LFxuXG4gICAgICBnZXRWaWV3cG9ydDogZnVuY3Rpb24oKSB7IHJldHVybiB7ZnJvbTogdGhpcy5kaXNwbGF5LnZpZXdGcm9tLCB0bzogdGhpcy5kaXNwbGF5LnZpZXdUb319LFxuXG4gICAgICBhZGRXaWRnZXQ6IGZ1bmN0aW9uKHBvcywgbm9kZSwgc2Nyb2xsLCB2ZXJ0LCBob3Jpeikge1xuICAgICAgICB2YXIgZGlzcGxheSA9IHRoaXMuZGlzcGxheTtcbiAgICAgICAgcG9zID0gY3Vyc29yQ29vcmRzKHRoaXMsIGNsaXBQb3ModGhpcy5kb2MsIHBvcykpO1xuICAgICAgICB2YXIgdG9wID0gcG9zLmJvdHRvbSwgbGVmdCA9IHBvcy5sZWZ0O1xuICAgICAgICBub2RlLnN0eWxlLnBvc2l0aW9uID0gXCJhYnNvbHV0ZVwiO1xuICAgICAgICBub2RlLnNldEF0dHJpYnV0ZShcImNtLWlnbm9yZS1ldmVudHNcIiwgXCJ0cnVlXCIpO1xuICAgICAgICB0aGlzLmRpc3BsYXkuaW5wdXQuc2V0VW5lZGl0YWJsZShub2RlKTtcbiAgICAgICAgZGlzcGxheS5zaXplci5hcHBlbmRDaGlsZChub2RlKTtcbiAgICAgICAgaWYgKHZlcnQgPT0gXCJvdmVyXCIpIHtcbiAgICAgICAgICB0b3AgPSBwb3MudG9wO1xuICAgICAgICB9IGVsc2UgaWYgKHZlcnQgPT0gXCJhYm92ZVwiIHx8IHZlcnQgPT0gXCJuZWFyXCIpIHtcbiAgICAgICAgICB2YXIgdnNwYWNlID0gTWF0aC5tYXgoZGlzcGxheS53cmFwcGVyLmNsaWVudEhlaWdodCwgdGhpcy5kb2MuaGVpZ2h0KSxcbiAgICAgICAgICBoc3BhY2UgPSBNYXRoLm1heChkaXNwbGF5LnNpemVyLmNsaWVudFdpZHRoLCBkaXNwbGF5LmxpbmVTcGFjZS5jbGllbnRXaWR0aCk7XG4gICAgICAgICAgLy8gRGVmYXVsdCB0byBwb3NpdGlvbmluZyBhYm92ZSAoaWYgc3BlY2lmaWVkIGFuZCBwb3NzaWJsZSk7IG90aGVyd2lzZSBkZWZhdWx0IHRvIHBvc2l0aW9uaW5nIGJlbG93XG4gICAgICAgICAgaWYgKCh2ZXJ0ID09ICdhYm92ZScgfHwgcG9zLmJvdHRvbSArIG5vZGUub2Zmc2V0SGVpZ2h0ID4gdnNwYWNlKSAmJiBwb3MudG9wID4gbm9kZS5vZmZzZXRIZWlnaHQpXG4gICAgICAgICAgICB7IHRvcCA9IHBvcy50b3AgLSBub2RlLm9mZnNldEhlaWdodDsgfVxuICAgICAgICAgIGVsc2UgaWYgKHBvcy5ib3R0b20gKyBub2RlLm9mZnNldEhlaWdodCA8PSB2c3BhY2UpXG4gICAgICAgICAgICB7IHRvcCA9IHBvcy5ib3R0b207IH1cbiAgICAgICAgICBpZiAobGVmdCArIG5vZGUub2Zmc2V0V2lkdGggPiBoc3BhY2UpXG4gICAgICAgICAgICB7IGxlZnQgPSBoc3BhY2UgLSBub2RlLm9mZnNldFdpZHRoOyB9XG4gICAgICAgIH1cbiAgICAgICAgbm9kZS5zdHlsZS50b3AgPSB0b3AgKyBcInB4XCI7XG4gICAgICAgIG5vZGUuc3R5bGUubGVmdCA9IG5vZGUuc3R5bGUucmlnaHQgPSBcIlwiO1xuICAgICAgICBpZiAoaG9yaXogPT0gXCJyaWdodFwiKSB7XG4gICAgICAgICAgbGVmdCA9IGRpc3BsYXkuc2l6ZXIuY2xpZW50V2lkdGggLSBub2RlLm9mZnNldFdpZHRoO1xuICAgICAgICAgIG5vZGUuc3R5bGUucmlnaHQgPSBcIjBweFwiO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGlmIChob3JpeiA9PSBcImxlZnRcIikgeyBsZWZ0ID0gMDsgfVxuICAgICAgICAgIGVsc2UgaWYgKGhvcml6ID09IFwibWlkZGxlXCIpIHsgbGVmdCA9IChkaXNwbGF5LnNpemVyLmNsaWVudFdpZHRoIC0gbm9kZS5vZmZzZXRXaWR0aCkgLyAyOyB9XG4gICAgICAgICAgbm9kZS5zdHlsZS5sZWZ0ID0gbGVmdCArIFwicHhcIjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoc2Nyb2xsKVxuICAgICAgICAgIHsgc2Nyb2xsSW50b1ZpZXcodGhpcywge2xlZnQ6IGxlZnQsIHRvcDogdG9wLCByaWdodDogbGVmdCArIG5vZGUub2Zmc2V0V2lkdGgsIGJvdHRvbTogdG9wICsgbm9kZS5vZmZzZXRIZWlnaHR9KTsgfVxuICAgICAgfSxcblxuICAgICAgdHJpZ2dlck9uS2V5RG93bjogbWV0aG9kT3Aob25LZXlEb3duKSxcbiAgICAgIHRyaWdnZXJPbktleVByZXNzOiBtZXRob2RPcChvbktleVByZXNzKSxcbiAgICAgIHRyaWdnZXJPbktleVVwOiBvbktleVVwLFxuICAgICAgdHJpZ2dlck9uTW91c2VEb3duOiBtZXRob2RPcChvbk1vdXNlRG93biksXG5cbiAgICAgIGV4ZWNDb21tYW5kOiBmdW5jdGlvbihjbWQpIHtcbiAgICAgICAgaWYgKGNvbW1hbmRzLmhhc093blByb3BlcnR5KGNtZCkpXG4gICAgICAgICAgeyByZXR1cm4gY29tbWFuZHNbY21kXS5jYWxsKG51bGwsIHRoaXMpIH1cbiAgICAgIH0sXG5cbiAgICAgIHRyaWdnZXJFbGVjdHJpYzogbWV0aG9kT3AoZnVuY3Rpb24odGV4dCkgeyB0cmlnZ2VyRWxlY3RyaWModGhpcywgdGV4dCk7IH0pLFxuXG4gICAgICBmaW5kUG9zSDogZnVuY3Rpb24oZnJvbSwgYW1vdW50LCB1bml0LCB2aXN1YWxseSkge1xuICAgICAgICB2YXIgdGhpcyQxID0gdGhpcztcblxuICAgICAgICB2YXIgZGlyID0gMTtcbiAgICAgICAgaWYgKGFtb3VudCA8IDApIHsgZGlyID0gLTE7IGFtb3VudCA9IC1hbW91bnQ7IH1cbiAgICAgICAgdmFyIGN1ciA9IGNsaXBQb3ModGhpcy5kb2MsIGZyb20pO1xuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGFtb3VudDsgKytpKSB7XG4gICAgICAgICAgY3VyID0gZmluZFBvc0godGhpcyQxLmRvYywgY3VyLCBkaXIsIHVuaXQsIHZpc3VhbGx5KTtcbiAgICAgICAgICBpZiAoY3VyLmhpdFNpZGUpIHsgYnJlYWsgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBjdXJcbiAgICAgIH0sXG5cbiAgICAgIG1vdmVIOiBtZXRob2RPcChmdW5jdGlvbihkaXIsIHVuaXQpIHtcbiAgICAgICAgdmFyIHRoaXMkMSA9IHRoaXM7XG5cbiAgICAgICAgdGhpcy5leHRlbmRTZWxlY3Rpb25zQnkoZnVuY3Rpb24gKHJhbmdlJCQxKSB7XG4gICAgICAgICAgaWYgKHRoaXMkMS5kaXNwbGF5LnNoaWZ0IHx8IHRoaXMkMS5kb2MuZXh0ZW5kIHx8IHJhbmdlJCQxLmVtcHR5KCkpXG4gICAgICAgICAgICB7IHJldHVybiBmaW5kUG9zSCh0aGlzJDEuZG9jLCByYW5nZSQkMS5oZWFkLCBkaXIsIHVuaXQsIHRoaXMkMS5vcHRpb25zLnJ0bE1vdmVWaXN1YWxseSkgfVxuICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgIHsgcmV0dXJuIGRpciA8IDAgPyByYW5nZSQkMS5mcm9tKCkgOiByYW5nZSQkMS50bygpIH1cbiAgICAgICAgfSwgc2VsX21vdmUpO1xuICAgICAgfSksXG5cbiAgICAgIGRlbGV0ZUg6IG1ldGhvZE9wKGZ1bmN0aW9uKGRpciwgdW5pdCkge1xuICAgICAgICB2YXIgc2VsID0gdGhpcy5kb2Muc2VsLCBkb2MgPSB0aGlzLmRvYztcbiAgICAgICAgaWYgKHNlbC5zb21ldGhpbmdTZWxlY3RlZCgpKVxuICAgICAgICAgIHsgZG9jLnJlcGxhY2VTZWxlY3Rpb24oXCJcIiwgbnVsbCwgXCIrZGVsZXRlXCIpOyB9XG4gICAgICAgIGVsc2VcbiAgICAgICAgICB7IGRlbGV0ZU5lYXJTZWxlY3Rpb24odGhpcywgZnVuY3Rpb24gKHJhbmdlJCQxKSB7XG4gICAgICAgICAgICB2YXIgb3RoZXIgPSBmaW5kUG9zSChkb2MsIHJhbmdlJCQxLmhlYWQsIGRpciwgdW5pdCwgZmFsc2UpO1xuICAgICAgICAgICAgcmV0dXJuIGRpciA8IDAgPyB7ZnJvbTogb3RoZXIsIHRvOiByYW5nZSQkMS5oZWFkfSA6IHtmcm9tOiByYW5nZSQkMS5oZWFkLCB0bzogb3RoZXJ9XG4gICAgICAgICAgfSk7IH1cbiAgICAgIH0pLFxuXG4gICAgICBmaW5kUG9zVjogZnVuY3Rpb24oZnJvbSwgYW1vdW50LCB1bml0LCBnb2FsQ29sdW1uKSB7XG4gICAgICAgIHZhciB0aGlzJDEgPSB0aGlzO1xuXG4gICAgICAgIHZhciBkaXIgPSAxLCB4ID0gZ29hbENvbHVtbjtcbiAgICAgICAgaWYgKGFtb3VudCA8IDApIHsgZGlyID0gLTE7IGFtb3VudCA9IC1hbW91bnQ7IH1cbiAgICAgICAgdmFyIGN1ciA9IGNsaXBQb3ModGhpcy5kb2MsIGZyb20pO1xuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGFtb3VudDsgKytpKSB7XG4gICAgICAgICAgdmFyIGNvb3JkcyA9IGN1cnNvckNvb3Jkcyh0aGlzJDEsIGN1ciwgXCJkaXZcIik7XG4gICAgICAgICAgaWYgKHggPT0gbnVsbCkgeyB4ID0gY29vcmRzLmxlZnQ7IH1cbiAgICAgICAgICBlbHNlIHsgY29vcmRzLmxlZnQgPSB4OyB9XG4gICAgICAgICAgY3VyID0gZmluZFBvc1YodGhpcyQxLCBjb29yZHMsIGRpciwgdW5pdCk7XG4gICAgICAgICAgaWYgKGN1ci5oaXRTaWRlKSB7IGJyZWFrIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gY3VyXG4gICAgICB9LFxuXG4gICAgICBtb3ZlVjogbWV0aG9kT3AoZnVuY3Rpb24oZGlyLCB1bml0KSB7XG4gICAgICAgIHZhciB0aGlzJDEgPSB0aGlzO1xuXG4gICAgICAgIHZhciBkb2MgPSB0aGlzLmRvYywgZ29hbHMgPSBbXTtcbiAgICAgICAgdmFyIGNvbGxhcHNlID0gIXRoaXMuZGlzcGxheS5zaGlmdCAmJiAhZG9jLmV4dGVuZCAmJiBkb2Muc2VsLnNvbWV0aGluZ1NlbGVjdGVkKCk7XG4gICAgICAgIGRvYy5leHRlbmRTZWxlY3Rpb25zQnkoZnVuY3Rpb24gKHJhbmdlJCQxKSB7XG4gICAgICAgICAgaWYgKGNvbGxhcHNlKVxuICAgICAgICAgICAgeyByZXR1cm4gZGlyIDwgMCA/IHJhbmdlJCQxLmZyb20oKSA6IHJhbmdlJCQxLnRvKCkgfVxuICAgICAgICAgIHZhciBoZWFkUG9zID0gY3Vyc29yQ29vcmRzKHRoaXMkMSwgcmFuZ2UkJDEuaGVhZCwgXCJkaXZcIik7XG4gICAgICAgICAgaWYgKHJhbmdlJCQxLmdvYWxDb2x1bW4gIT0gbnVsbCkgeyBoZWFkUG9zLmxlZnQgPSByYW5nZSQkMS5nb2FsQ29sdW1uOyB9XG4gICAgICAgICAgZ29hbHMucHVzaChoZWFkUG9zLmxlZnQpO1xuICAgICAgICAgIHZhciBwb3MgPSBmaW5kUG9zVih0aGlzJDEsIGhlYWRQb3MsIGRpciwgdW5pdCk7XG4gICAgICAgICAgaWYgKHVuaXQgPT0gXCJwYWdlXCIgJiYgcmFuZ2UkJDEgPT0gZG9jLnNlbC5wcmltYXJ5KCkpXG4gICAgICAgICAgICB7IGFkZFRvU2Nyb2xsVG9wKHRoaXMkMSwgY2hhckNvb3Jkcyh0aGlzJDEsIHBvcywgXCJkaXZcIikudG9wIC0gaGVhZFBvcy50b3ApOyB9XG4gICAgICAgICAgcmV0dXJuIHBvc1xuICAgICAgICB9LCBzZWxfbW92ZSk7XG4gICAgICAgIGlmIChnb2Fscy5sZW5ndGgpIHsgZm9yICh2YXIgaSA9IDA7IGkgPCBkb2Muc2VsLnJhbmdlcy5sZW5ndGg7IGkrKylcbiAgICAgICAgICB7IGRvYy5zZWwucmFuZ2VzW2ldLmdvYWxDb2x1bW4gPSBnb2Fsc1tpXTsgfSB9XG4gICAgICB9KSxcblxuICAgICAgLy8gRmluZCB0aGUgd29yZCBhdCB0aGUgZ2l2ZW4gcG9zaXRpb24gKGFzIHJldHVybmVkIGJ5IGNvb3Jkc0NoYXIpLlxuICAgICAgZmluZFdvcmRBdDogZnVuY3Rpb24ocG9zKSB7XG4gICAgICAgIHZhciBkb2MgPSB0aGlzLmRvYywgbGluZSA9IGdldExpbmUoZG9jLCBwb3MubGluZSkudGV4dDtcbiAgICAgICAgdmFyIHN0YXJ0ID0gcG9zLmNoLCBlbmQgPSBwb3MuY2g7XG4gICAgICAgIGlmIChsaW5lKSB7XG4gICAgICAgICAgdmFyIGhlbHBlciA9IHRoaXMuZ2V0SGVscGVyKHBvcywgXCJ3b3JkQ2hhcnNcIik7XG4gICAgICAgICAgaWYgKChwb3Muc3RpY2t5ID09IFwiYmVmb3JlXCIgfHwgZW5kID09IGxpbmUubGVuZ3RoKSAmJiBzdGFydCkgeyAtLXN0YXJ0OyB9IGVsc2UgeyArK2VuZDsgfVxuICAgICAgICAgIHZhciBzdGFydENoYXIgPSBsaW5lLmNoYXJBdChzdGFydCk7XG4gICAgICAgICAgdmFyIGNoZWNrID0gaXNXb3JkQ2hhcihzdGFydENoYXIsIGhlbHBlcilcbiAgICAgICAgICAgID8gZnVuY3Rpb24gKGNoKSB7IHJldHVybiBpc1dvcmRDaGFyKGNoLCBoZWxwZXIpOyB9XG4gICAgICAgICAgICA6IC9cXHMvLnRlc3Qoc3RhcnRDaGFyKSA/IGZ1bmN0aW9uIChjaCkgeyByZXR1cm4gL1xccy8udGVzdChjaCk7IH1cbiAgICAgICAgICAgIDogZnVuY3Rpb24gKGNoKSB7IHJldHVybiAoIS9cXHMvLnRlc3QoY2gpICYmICFpc1dvcmRDaGFyKGNoKSk7IH07XG4gICAgICAgICAgd2hpbGUgKHN0YXJ0ID4gMCAmJiBjaGVjayhsaW5lLmNoYXJBdChzdGFydCAtIDEpKSkgeyAtLXN0YXJ0OyB9XG4gICAgICAgICAgd2hpbGUgKGVuZCA8IGxpbmUubGVuZ3RoICYmIGNoZWNrKGxpbmUuY2hhckF0KGVuZCkpKSB7ICsrZW5kOyB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG5ldyBSYW5nZShQb3MocG9zLmxpbmUsIHN0YXJ0KSwgUG9zKHBvcy5saW5lLCBlbmQpKVxuICAgICAgfSxcblxuICAgICAgdG9nZ2xlT3ZlcndyaXRlOiBmdW5jdGlvbih2YWx1ZSkge1xuICAgICAgICBpZiAodmFsdWUgIT0gbnVsbCAmJiB2YWx1ZSA9PSB0aGlzLnN0YXRlLm92ZXJ3cml0ZSkgeyByZXR1cm4gfVxuICAgICAgICBpZiAodGhpcy5zdGF0ZS5vdmVyd3JpdGUgPSAhdGhpcy5zdGF0ZS5vdmVyd3JpdGUpXG4gICAgICAgICAgeyBhZGRDbGFzcyh0aGlzLmRpc3BsYXkuY3Vyc29yRGl2LCBcIkNvZGVNaXJyb3Itb3ZlcndyaXRlXCIpOyB9XG4gICAgICAgIGVsc2VcbiAgICAgICAgICB7IHJtQ2xhc3ModGhpcy5kaXNwbGF5LmN1cnNvckRpdiwgXCJDb2RlTWlycm9yLW92ZXJ3cml0ZVwiKTsgfVxuXG4gICAgICAgIHNpZ25hbCh0aGlzLCBcIm92ZXJ3cml0ZVRvZ2dsZVwiLCB0aGlzLCB0aGlzLnN0YXRlLm92ZXJ3cml0ZSk7XG4gICAgICB9LFxuICAgICAgaGFzRm9jdXM6IGZ1bmN0aW9uKCkgeyByZXR1cm4gdGhpcy5kaXNwbGF5LmlucHV0LmdldEZpZWxkKCkgPT0gYWN0aXZlRWx0KCkgfSxcbiAgICAgIGlzUmVhZE9ubHk6IGZ1bmN0aW9uKCkgeyByZXR1cm4gISEodGhpcy5vcHRpb25zLnJlYWRPbmx5IHx8IHRoaXMuZG9jLmNhbnRFZGl0KSB9LFxuXG4gICAgICBzY3JvbGxUbzogbWV0aG9kT3AoZnVuY3Rpb24gKHgsIHkpIHsgc2Nyb2xsVG9Db29yZHModGhpcywgeCwgeSk7IH0pLFxuICAgICAgZ2V0U2Nyb2xsSW5mbzogZnVuY3Rpb24oKSB7XG4gICAgICAgIHZhciBzY3JvbGxlciA9IHRoaXMuZGlzcGxheS5zY3JvbGxlcjtcbiAgICAgICAgcmV0dXJuIHtsZWZ0OiBzY3JvbGxlci5zY3JvbGxMZWZ0LCB0b3A6IHNjcm9sbGVyLnNjcm9sbFRvcCxcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IHNjcm9sbGVyLnNjcm9sbEhlaWdodCAtIHNjcm9sbEdhcCh0aGlzKSAtIHRoaXMuZGlzcGxheS5iYXJIZWlnaHQsXG4gICAgICAgICAgICAgICAgd2lkdGg6IHNjcm9sbGVyLnNjcm9sbFdpZHRoIC0gc2Nyb2xsR2FwKHRoaXMpIC0gdGhpcy5kaXNwbGF5LmJhcldpZHRoLFxuICAgICAgICAgICAgICAgIGNsaWVudEhlaWdodDogZGlzcGxheUhlaWdodCh0aGlzKSwgY2xpZW50V2lkdGg6IGRpc3BsYXlXaWR0aCh0aGlzKX1cbiAgICAgIH0sXG5cbiAgICAgIHNjcm9sbEludG9WaWV3OiBtZXRob2RPcChmdW5jdGlvbihyYW5nZSQkMSwgbWFyZ2luKSB7XG4gICAgICAgIGlmIChyYW5nZSQkMSA9PSBudWxsKSB7XG4gICAgICAgICAgcmFuZ2UkJDEgPSB7ZnJvbTogdGhpcy5kb2Muc2VsLnByaW1hcnkoKS5oZWFkLCB0bzogbnVsbH07XG4gICAgICAgICAgaWYgKG1hcmdpbiA9PSBudWxsKSB7IG1hcmdpbiA9IHRoaXMub3B0aW9ucy5jdXJzb3JTY3JvbGxNYXJnaW47IH1cbiAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgcmFuZ2UkJDEgPT0gXCJudW1iZXJcIikge1xuICAgICAgICAgIHJhbmdlJCQxID0ge2Zyb206IFBvcyhyYW5nZSQkMSwgMCksIHRvOiBudWxsfTtcbiAgICAgICAgfSBlbHNlIGlmIChyYW5nZSQkMS5mcm9tID09IG51bGwpIHtcbiAgICAgICAgICByYW5nZSQkMSA9IHtmcm9tOiByYW5nZSQkMSwgdG86IG51bGx9O1xuICAgICAgICB9XG4gICAgICAgIGlmICghcmFuZ2UkJDEudG8pIHsgcmFuZ2UkJDEudG8gPSByYW5nZSQkMS5mcm9tOyB9XG4gICAgICAgIHJhbmdlJCQxLm1hcmdpbiA9IG1hcmdpbiB8fCAwO1xuXG4gICAgICAgIGlmIChyYW5nZSQkMS5mcm9tLmxpbmUgIT0gbnVsbCkge1xuICAgICAgICAgIHNjcm9sbFRvUmFuZ2UodGhpcywgcmFuZ2UkJDEpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHNjcm9sbFRvQ29vcmRzUmFuZ2UodGhpcywgcmFuZ2UkJDEuZnJvbSwgcmFuZ2UkJDEudG8sIHJhbmdlJCQxLm1hcmdpbik7XG4gICAgICAgIH1cbiAgICAgIH0pLFxuXG4gICAgICBzZXRTaXplOiBtZXRob2RPcChmdW5jdGlvbih3aWR0aCwgaGVpZ2h0KSB7XG4gICAgICAgIHZhciB0aGlzJDEgPSB0aGlzO1xuXG4gICAgICAgIHZhciBpbnRlcnByZXQgPSBmdW5jdGlvbiAodmFsKSB7IHJldHVybiB0eXBlb2YgdmFsID09IFwibnVtYmVyXCIgfHwgL15cXGQrJC8udGVzdChTdHJpbmcodmFsKSkgPyB2YWwgKyBcInB4XCIgOiB2YWw7IH07XG4gICAgICAgIGlmICh3aWR0aCAhPSBudWxsKSB7IHRoaXMuZGlzcGxheS53cmFwcGVyLnN0eWxlLndpZHRoID0gaW50ZXJwcmV0KHdpZHRoKTsgfVxuICAgICAgICBpZiAoaGVpZ2h0ICE9IG51bGwpIHsgdGhpcy5kaXNwbGF5LndyYXBwZXIuc3R5bGUuaGVpZ2h0ID0gaW50ZXJwcmV0KGhlaWdodCk7IH1cbiAgICAgICAgaWYgKHRoaXMub3B0aW9ucy5saW5lV3JhcHBpbmcpIHsgY2xlYXJMaW5lTWVhc3VyZW1lbnRDYWNoZSh0aGlzKTsgfVxuICAgICAgICB2YXIgbGluZU5vJCQxID0gdGhpcy5kaXNwbGF5LnZpZXdGcm9tO1xuICAgICAgICB0aGlzLmRvYy5pdGVyKGxpbmVObyQkMSwgdGhpcy5kaXNwbGF5LnZpZXdUbywgZnVuY3Rpb24gKGxpbmUpIHtcbiAgICAgICAgICBpZiAobGluZS53aWRnZXRzKSB7IGZvciAodmFyIGkgPSAwOyBpIDwgbGluZS53aWRnZXRzLmxlbmd0aDsgaSsrKVxuICAgICAgICAgICAgeyBpZiAobGluZS53aWRnZXRzW2ldLm5vSFNjcm9sbCkgeyByZWdMaW5lQ2hhbmdlKHRoaXMkMSwgbGluZU5vJCQxLCBcIndpZGdldFwiKTsgYnJlYWsgfSB9IH1cbiAgICAgICAgICArK2xpbmVObyQkMTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuY3VyT3AuZm9yY2VVcGRhdGUgPSB0cnVlO1xuICAgICAgICBzaWduYWwodGhpcywgXCJyZWZyZXNoXCIsIHRoaXMpO1xuICAgICAgfSksXG5cbiAgICAgIG9wZXJhdGlvbjogZnVuY3Rpb24oZil7cmV0dXJuIHJ1bkluT3AodGhpcywgZil9LFxuICAgICAgc3RhcnRPcGVyYXRpb246IGZ1bmN0aW9uKCl7cmV0dXJuIHN0YXJ0T3BlcmF0aW9uKHRoaXMpfSxcbiAgICAgIGVuZE9wZXJhdGlvbjogZnVuY3Rpb24oKXtyZXR1cm4gZW5kT3BlcmF0aW9uKHRoaXMpfSxcblxuICAgICAgcmVmcmVzaDogbWV0aG9kT3AoZnVuY3Rpb24oKSB7XG4gICAgICAgIHZhciBvbGRIZWlnaHQgPSB0aGlzLmRpc3BsYXkuY2FjaGVkVGV4dEhlaWdodDtcbiAgICAgICAgcmVnQ2hhbmdlKHRoaXMpO1xuICAgICAgICB0aGlzLmN1ck9wLmZvcmNlVXBkYXRlID0gdHJ1ZTtcbiAgICAgICAgY2xlYXJDYWNoZXModGhpcyk7XG4gICAgICAgIHNjcm9sbFRvQ29vcmRzKHRoaXMsIHRoaXMuZG9jLnNjcm9sbExlZnQsIHRoaXMuZG9jLnNjcm9sbFRvcCk7XG4gICAgICAgIHVwZGF0ZUd1dHRlclNwYWNlKHRoaXMuZGlzcGxheSk7XG4gICAgICAgIGlmIChvbGRIZWlnaHQgPT0gbnVsbCB8fCBNYXRoLmFicyhvbGRIZWlnaHQgLSB0ZXh0SGVpZ2h0KHRoaXMuZGlzcGxheSkpID4gLjUpXG4gICAgICAgICAgeyBlc3RpbWF0ZUxpbmVIZWlnaHRzKHRoaXMpOyB9XG4gICAgICAgIHNpZ25hbCh0aGlzLCBcInJlZnJlc2hcIiwgdGhpcyk7XG4gICAgICB9KSxcblxuICAgICAgc3dhcERvYzogbWV0aG9kT3AoZnVuY3Rpb24oZG9jKSB7XG4gICAgICAgIHZhciBvbGQgPSB0aGlzLmRvYztcbiAgICAgICAgb2xkLmNtID0gbnVsbDtcbiAgICAgICAgLy8gQ2FuY2VsIHRoZSBjdXJyZW50IHRleHQgc2VsZWN0aW9uIGlmIGFueSAoIzU4MjEpXG4gICAgICAgIGlmICh0aGlzLnN0YXRlLnNlbGVjdGluZ1RleHQpIHsgdGhpcy5zdGF0ZS5zZWxlY3RpbmdUZXh0KCk7IH1cbiAgICAgICAgYXR0YWNoRG9jKHRoaXMsIGRvYyk7XG4gICAgICAgIGNsZWFyQ2FjaGVzKHRoaXMpO1xuICAgICAgICB0aGlzLmRpc3BsYXkuaW5wdXQucmVzZXQoKTtcbiAgICAgICAgc2Nyb2xsVG9Db29yZHModGhpcywgZG9jLnNjcm9sbExlZnQsIGRvYy5zY3JvbGxUb3ApO1xuICAgICAgICB0aGlzLmN1ck9wLmZvcmNlU2Nyb2xsID0gdHJ1ZTtcbiAgICAgICAgc2lnbmFsTGF0ZXIodGhpcywgXCJzd2FwRG9jXCIsIHRoaXMsIG9sZCk7XG4gICAgICAgIHJldHVybiBvbGRcbiAgICAgIH0pLFxuXG4gICAgICBwaHJhc2U6IGZ1bmN0aW9uKHBocmFzZVRleHQpIHtcbiAgICAgICAgdmFyIHBocmFzZXMgPSB0aGlzLm9wdGlvbnMucGhyYXNlcztcbiAgICAgICAgcmV0dXJuIHBocmFzZXMgJiYgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHBocmFzZXMsIHBocmFzZVRleHQpID8gcGhyYXNlc1twaHJhc2VUZXh0XSA6IHBocmFzZVRleHRcbiAgICAgIH0sXG5cbiAgICAgIGdldElucHV0RmllbGQ6IGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZGlzcGxheS5pbnB1dC5nZXRGaWVsZCgpfSxcbiAgICAgIGdldFdyYXBwZXJFbGVtZW50OiBmdW5jdGlvbigpe3JldHVybiB0aGlzLmRpc3BsYXkud3JhcHBlcn0sXG4gICAgICBnZXRTY3JvbGxlckVsZW1lbnQ6IGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZGlzcGxheS5zY3JvbGxlcn0sXG4gICAgICBnZXRHdXR0ZXJFbGVtZW50OiBmdW5jdGlvbigpe3JldHVybiB0aGlzLmRpc3BsYXkuZ3V0dGVyc31cbiAgICB9O1xuICAgIGV2ZW50TWl4aW4oQ29kZU1pcnJvcik7XG5cbiAgICBDb2RlTWlycm9yLnJlZ2lzdGVySGVscGVyID0gZnVuY3Rpb24odHlwZSwgbmFtZSwgdmFsdWUpIHtcbiAgICAgIGlmICghaGVscGVycy5oYXNPd25Qcm9wZXJ0eSh0eXBlKSkgeyBoZWxwZXJzW3R5cGVdID0gQ29kZU1pcnJvclt0eXBlXSA9IHtfZ2xvYmFsOiBbXX07IH1cbiAgICAgIGhlbHBlcnNbdHlwZV1bbmFtZV0gPSB2YWx1ZTtcbiAgICB9O1xuICAgIENvZGVNaXJyb3IucmVnaXN0ZXJHbG9iYWxIZWxwZXIgPSBmdW5jdGlvbih0eXBlLCBuYW1lLCBwcmVkaWNhdGUsIHZhbHVlKSB7XG4gICAgICBDb2RlTWlycm9yLnJlZ2lzdGVySGVscGVyKHR5cGUsIG5hbWUsIHZhbHVlKTtcbiAgICAgIGhlbHBlcnNbdHlwZV0uX2dsb2JhbC5wdXNoKHtwcmVkOiBwcmVkaWNhdGUsIHZhbDogdmFsdWV9KTtcbiAgICB9O1xuICB9XG5cbiAgLy8gVXNlZCBmb3IgaG9yaXpvbnRhbCByZWxhdGl2ZSBtb3Rpb24uIERpciBpcyAtMSBvciAxIChsZWZ0IG9yXG4gIC8vIHJpZ2h0KSwgdW5pdCBjYW4gYmUgXCJjaGFyXCIsIFwiY29sdW1uXCIgKGxpa2UgY2hhciwgYnV0IGRvZXNuJ3RcbiAgLy8gY3Jvc3MgbGluZSBib3VuZGFyaWVzKSwgXCJ3b3JkXCIgKGFjcm9zcyBuZXh0IHdvcmQpLCBvciBcImdyb3VwXCIgKHRvXG4gIC8vIHRoZSBzdGFydCBvZiBuZXh0IGdyb3VwIG9mIHdvcmQgb3Igbm9uLXdvcmQtbm9uLXdoaXRlc3BhY2VcbiAgLy8gY2hhcnMpLiBUaGUgdmlzdWFsbHkgcGFyYW0gY29udHJvbHMgd2hldGhlciwgaW4gcmlnaHQtdG8tbGVmdFxuICAvLyB0ZXh0LCBkaXJlY3Rpb24gMSBtZWFucyB0byBtb3ZlIHRvd2FyZHMgdGhlIG5leHQgaW5kZXggaW4gdGhlXG4gIC8vIHN0cmluZywgb3IgdG93YXJkcyB0aGUgY2hhcmFjdGVyIHRvIHRoZSByaWdodCBvZiB0aGUgY3VycmVudFxuICAvLyBwb3NpdGlvbi4gVGhlIHJlc3VsdGluZyBwb3NpdGlvbiB3aWxsIGhhdmUgYSBoaXRTaWRlPXRydWVcbiAgLy8gcHJvcGVydHkgaWYgaXQgcmVhY2hlZCB0aGUgZW5kIG9mIHRoZSBkb2N1bWVudC5cbiAgZnVuY3Rpb24gZmluZFBvc0goZG9jLCBwb3MsIGRpciwgdW5pdCwgdmlzdWFsbHkpIHtcbiAgICB2YXIgb2xkUG9zID0gcG9zO1xuICAgIHZhciBvcmlnRGlyID0gZGlyO1xuICAgIHZhciBsaW5lT2JqID0gZ2V0TGluZShkb2MsIHBvcy5saW5lKTtcbiAgICBmdW5jdGlvbiBmaW5kTmV4dExpbmUoKSB7XG4gICAgICB2YXIgbCA9IHBvcy5saW5lICsgZGlyO1xuICAgICAgaWYgKGwgPCBkb2MuZmlyc3QgfHwgbCA+PSBkb2MuZmlyc3QgKyBkb2Muc2l6ZSkgeyByZXR1cm4gZmFsc2UgfVxuICAgICAgcG9zID0gbmV3IFBvcyhsLCBwb3MuY2gsIHBvcy5zdGlja3kpO1xuICAgICAgcmV0dXJuIGxpbmVPYmogPSBnZXRMaW5lKGRvYywgbClcbiAgICB9XG4gICAgZnVuY3Rpb24gbW92ZU9uY2UoYm91bmRUb0xpbmUpIHtcbiAgICAgIHZhciBuZXh0O1xuICAgICAgaWYgKHZpc3VhbGx5KSB7XG4gICAgICAgIG5leHQgPSBtb3ZlVmlzdWFsbHkoZG9jLmNtLCBsaW5lT2JqLCBwb3MsIGRpcik7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBuZXh0ID0gbW92ZUxvZ2ljYWxseShsaW5lT2JqLCBwb3MsIGRpcik7XG4gICAgICB9XG4gICAgICBpZiAobmV4dCA9PSBudWxsKSB7XG4gICAgICAgIGlmICghYm91bmRUb0xpbmUgJiYgZmluZE5leHRMaW5lKCkpXG4gICAgICAgICAgeyBwb3MgPSBlbmRPZkxpbmUodmlzdWFsbHksIGRvYy5jbSwgbGluZU9iaiwgcG9zLmxpbmUsIGRpcik7IH1cbiAgICAgICAgZWxzZVxuICAgICAgICAgIHsgcmV0dXJuIGZhbHNlIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHBvcyA9IG5leHQ7XG4gICAgICB9XG4gICAgICByZXR1cm4gdHJ1ZVxuICAgIH1cblxuICAgIGlmICh1bml0ID09IFwiY2hhclwiKSB7XG4gICAgICBtb3ZlT25jZSgpO1xuICAgIH0gZWxzZSBpZiAodW5pdCA9PSBcImNvbHVtblwiKSB7XG4gICAgICBtb3ZlT25jZSh0cnVlKTtcbiAgICB9IGVsc2UgaWYgKHVuaXQgPT0gXCJ3b3JkXCIgfHwgdW5pdCA9PSBcImdyb3VwXCIpIHtcbiAgICAgIHZhciBzYXdUeXBlID0gbnVsbCwgZ3JvdXAgPSB1bml0ID09IFwiZ3JvdXBcIjtcbiAgICAgIHZhciBoZWxwZXIgPSBkb2MuY20gJiYgZG9jLmNtLmdldEhlbHBlcihwb3MsIFwid29yZENoYXJzXCIpO1xuICAgICAgZm9yICh2YXIgZmlyc3QgPSB0cnVlOzsgZmlyc3QgPSBmYWxzZSkge1xuICAgICAgICBpZiAoZGlyIDwgMCAmJiAhbW92ZU9uY2UoIWZpcnN0KSkgeyBicmVhayB9XG4gICAgICAgIHZhciBjdXIgPSBsaW5lT2JqLnRleHQuY2hhckF0KHBvcy5jaCkgfHwgXCJcXG5cIjtcbiAgICAgICAgdmFyIHR5cGUgPSBpc1dvcmRDaGFyKGN1ciwgaGVscGVyKSA/IFwid1wiXG4gICAgICAgICAgOiBncm91cCAmJiBjdXIgPT0gXCJcXG5cIiA/IFwiblwiXG4gICAgICAgICAgOiAhZ3JvdXAgfHwgL1xccy8udGVzdChjdXIpID8gbnVsbFxuICAgICAgICAgIDogXCJwXCI7XG4gICAgICAgIGlmIChncm91cCAmJiAhZmlyc3QgJiYgIXR5cGUpIHsgdHlwZSA9IFwic1wiOyB9XG4gICAgICAgIGlmIChzYXdUeXBlICYmIHNhd1R5cGUgIT0gdHlwZSkge1xuICAgICAgICAgIGlmIChkaXIgPCAwKSB7ZGlyID0gMTsgbW92ZU9uY2UoKTsgcG9zLnN0aWNreSA9IFwiYWZ0ZXJcIjt9XG4gICAgICAgICAgYnJlYWtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0eXBlKSB7IHNhd1R5cGUgPSB0eXBlOyB9XG4gICAgICAgIGlmIChkaXIgPiAwICYmICFtb3ZlT25jZSghZmlyc3QpKSB7IGJyZWFrIH1cbiAgICAgIH1cbiAgICB9XG4gICAgdmFyIHJlc3VsdCA9IHNraXBBdG9taWMoZG9jLCBwb3MsIG9sZFBvcywgb3JpZ0RpciwgdHJ1ZSk7XG4gICAgaWYgKGVxdWFsQ3Vyc29yUG9zKG9sZFBvcywgcmVzdWx0KSkgeyByZXN1bHQuaGl0U2lkZSA9IHRydWU7IH1cbiAgICByZXR1cm4gcmVzdWx0XG4gIH1cblxuICAvLyBGb3IgcmVsYXRpdmUgdmVydGljYWwgbW92ZW1lbnQuIERpciBtYXkgYmUgLTEgb3IgMS4gVW5pdCBjYW4gYmVcbiAgLy8gXCJwYWdlXCIgb3IgXCJsaW5lXCIuIFRoZSByZXN1bHRpbmcgcG9zaXRpb24gd2lsbCBoYXZlIGEgaGl0U2lkZT10cnVlXG4gIC8vIHByb3BlcnR5IGlmIGl0IHJlYWNoZWQgdGhlIGVuZCBvZiB0aGUgZG9jdW1lbnQuXG4gIGZ1bmN0aW9uIGZpbmRQb3NWKGNtLCBwb3MsIGRpciwgdW5pdCkge1xuICAgIHZhciBkb2MgPSBjbS5kb2MsIHggPSBwb3MubGVmdCwgeTtcbiAgICBpZiAodW5pdCA9PSBcInBhZ2VcIikge1xuICAgICAgdmFyIHBhZ2VTaXplID0gTWF0aC5taW4oY20uZGlzcGxheS53cmFwcGVyLmNsaWVudEhlaWdodCwgd2luZG93LmlubmVySGVpZ2h0IHx8IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQpO1xuICAgICAgdmFyIG1vdmVBbW91bnQgPSBNYXRoLm1heChwYWdlU2l6ZSAtIC41ICogdGV4dEhlaWdodChjbS5kaXNwbGF5KSwgMyk7XG4gICAgICB5ID0gKGRpciA+IDAgPyBwb3MuYm90dG9tIDogcG9zLnRvcCkgKyBkaXIgKiBtb3ZlQW1vdW50O1xuXG4gICAgfSBlbHNlIGlmICh1bml0ID09IFwibGluZVwiKSB7XG4gICAgICB5ID0gZGlyID4gMCA/IHBvcy5ib3R0b20gKyAzIDogcG9zLnRvcCAtIDM7XG4gICAgfVxuICAgIHZhciB0YXJnZXQ7XG4gICAgZm9yICg7Oykge1xuICAgICAgdGFyZ2V0ID0gY29vcmRzQ2hhcihjbSwgeCwgeSk7XG4gICAgICBpZiAoIXRhcmdldC5vdXRzaWRlKSB7IGJyZWFrIH1cbiAgICAgIGlmIChkaXIgPCAwID8geSA8PSAwIDogeSA+PSBkb2MuaGVpZ2h0KSB7IHRhcmdldC5oaXRTaWRlID0gdHJ1ZTsgYnJlYWsgfVxuICAgICAgeSArPSBkaXIgKiA1O1xuICAgIH1cbiAgICByZXR1cm4gdGFyZ2V0XG4gIH1cblxuICAvLyBDT05URU5URURJVEFCTEUgSU5QVVQgU1RZTEVcblxuICB2YXIgQ29udGVudEVkaXRhYmxlSW5wdXQgPSBmdW5jdGlvbihjbSkge1xuICAgIHRoaXMuY20gPSBjbTtcbiAgICB0aGlzLmxhc3RBbmNob3JOb2RlID0gdGhpcy5sYXN0QW5jaG9yT2Zmc2V0ID0gdGhpcy5sYXN0Rm9jdXNOb2RlID0gdGhpcy5sYXN0Rm9jdXNPZmZzZXQgPSBudWxsO1xuICAgIHRoaXMucG9sbGluZyA9IG5ldyBEZWxheWVkKCk7XG4gICAgdGhpcy5jb21wb3NpbmcgPSBudWxsO1xuICAgIHRoaXMuZ3JhY2VQZXJpb2QgPSBmYWxzZTtcbiAgICB0aGlzLnJlYWRET01UaW1lb3V0ID0gbnVsbDtcbiAgfTtcblxuICBDb250ZW50RWRpdGFibGVJbnB1dC5wcm90b3R5cGUuaW5pdCA9IGZ1bmN0aW9uIChkaXNwbGF5KSB7XG4gICAgICB2YXIgdGhpcyQxID0gdGhpcztcblxuICAgIHZhciBpbnB1dCA9IHRoaXMsIGNtID0gaW5wdXQuY207XG4gICAgdmFyIGRpdiA9IGlucHV0LmRpdiA9IGRpc3BsYXkubGluZURpdjtcbiAgICBkaXNhYmxlQnJvd3Nlck1hZ2ljKGRpdiwgY20ub3B0aW9ucy5zcGVsbGNoZWNrLCBjbS5vcHRpb25zLmF1dG9jb3JyZWN0LCBjbS5vcHRpb25zLmF1dG9jYXBpdGFsaXplKTtcblxuICAgIG9uKGRpdiwgXCJwYXN0ZVwiLCBmdW5jdGlvbiAoZSkge1xuICAgICAgaWYgKHNpZ25hbERPTUV2ZW50KGNtLCBlKSB8fCBoYW5kbGVQYXN0ZShlLCBjbSkpIHsgcmV0dXJuIH1cbiAgICAgIC8vIElFIGRvZXNuJ3QgZmlyZSBpbnB1dCBldmVudHMsIHNvIHdlIHNjaGVkdWxlIGEgcmVhZCBmb3IgdGhlIHBhc3RlZCBjb250ZW50IGluIHRoaXMgd2F5XG4gICAgICBpZiAoaWVfdmVyc2lvbiA8PSAxMSkgeyBzZXRUaW1lb3V0KG9wZXJhdGlvbihjbSwgZnVuY3Rpb24gKCkgeyByZXR1cm4gdGhpcyQxLnVwZGF0ZUZyb21ET00oKTsgfSksIDIwKTsgfVxuICAgIH0pO1xuXG4gICAgb24oZGl2LCBcImNvbXBvc2l0aW9uc3RhcnRcIiwgZnVuY3Rpb24gKGUpIHtcbiAgICAgIHRoaXMkMS5jb21wb3NpbmcgPSB7ZGF0YTogZS5kYXRhLCBkb25lOiBmYWxzZX07XG4gICAgfSk7XG4gICAgb24oZGl2LCBcImNvbXBvc2l0aW9udXBkYXRlXCIsIGZ1bmN0aW9uIChlKSB7XG4gICAgICBpZiAoIXRoaXMkMS5jb21wb3NpbmcpIHsgdGhpcyQxLmNvbXBvc2luZyA9IHtkYXRhOiBlLmRhdGEsIGRvbmU6IGZhbHNlfTsgfVxuICAgIH0pO1xuICAgIG9uKGRpdiwgXCJjb21wb3NpdGlvbmVuZFwiLCBmdW5jdGlvbiAoZSkge1xuICAgICAgaWYgKHRoaXMkMS5jb21wb3NpbmcpIHtcbiAgICAgICAgaWYgKGUuZGF0YSAhPSB0aGlzJDEuY29tcG9zaW5nLmRhdGEpIHsgdGhpcyQxLnJlYWRGcm9tRE9NU29vbigpOyB9XG4gICAgICAgIHRoaXMkMS5jb21wb3NpbmcuZG9uZSA9IHRydWU7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBvbihkaXYsIFwidG91Y2hzdGFydFwiLCBmdW5jdGlvbiAoKSB7IHJldHVybiBpbnB1dC5mb3JjZUNvbXBvc2l0aW9uRW5kKCk7IH0pO1xuXG4gICAgb24oZGl2LCBcImlucHV0XCIsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGlmICghdGhpcyQxLmNvbXBvc2luZykgeyB0aGlzJDEucmVhZEZyb21ET01Tb29uKCk7IH1cbiAgICB9KTtcblxuICAgIGZ1bmN0aW9uIG9uQ29weUN1dChlKSB7XG4gICAgICBpZiAoc2lnbmFsRE9NRXZlbnQoY20sIGUpKSB7IHJldHVybiB9XG4gICAgICBpZiAoY20uc29tZXRoaW5nU2VsZWN0ZWQoKSkge1xuICAgICAgICBzZXRMYXN0Q29waWVkKHtsaW5lV2lzZTogZmFsc2UsIHRleHQ6IGNtLmdldFNlbGVjdGlvbnMoKX0pO1xuICAgICAgICBpZiAoZS50eXBlID09IFwiY3V0XCIpIHsgY20ucmVwbGFjZVNlbGVjdGlvbihcIlwiLCBudWxsLCBcImN1dFwiKTsgfVxuICAgICAgfSBlbHNlIGlmICghY20ub3B0aW9ucy5saW5lV2lzZUNvcHlDdXQpIHtcbiAgICAgICAgcmV0dXJuXG4gICAgICB9IGVsc2Uge1xuICAgICAgICB2YXIgcmFuZ2VzID0gY29weWFibGVSYW5nZXMoY20pO1xuICAgICAgICBzZXRMYXN0Q29waWVkKHtsaW5lV2lzZTogdHJ1ZSwgdGV4dDogcmFuZ2VzLnRleHR9KTtcbiAgICAgICAgaWYgKGUudHlwZSA9PSBcImN1dFwiKSB7XG4gICAgICAgICAgY20ub3BlcmF0aW9uKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIGNtLnNldFNlbGVjdGlvbnMocmFuZ2VzLnJhbmdlcywgMCwgc2VsX2RvbnRTY3JvbGwpO1xuICAgICAgICAgICAgY20ucmVwbGFjZVNlbGVjdGlvbihcIlwiLCBudWxsLCBcImN1dFwiKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKGUuY2xpcGJvYXJkRGF0YSkge1xuICAgICAgICBlLmNsaXBib2FyZERhdGEuY2xlYXJEYXRhKCk7XG4gICAgICAgIHZhciBjb250ZW50ID0gbGFzdENvcGllZC50ZXh0LmpvaW4oXCJcXG5cIik7XG4gICAgICAgIC8vIGlPUyBleHBvc2VzIHRoZSBjbGlwYm9hcmQgQVBJLCBidXQgc2VlbXMgdG8gZGlzY2FyZCBjb250ZW50IGluc2VydGVkIGludG8gaXRcbiAgICAgICAgZS5jbGlwYm9hcmREYXRhLnNldERhdGEoXCJUZXh0XCIsIGNvbnRlbnQpO1xuICAgICAgICBpZiAoZS5jbGlwYm9hcmREYXRhLmdldERhdGEoXCJUZXh0XCIpID09IGNvbnRlbnQpIHtcbiAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgcmV0dXJuXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC8vIE9sZC1mYXNoaW9uZWQgYnJpZWZseS1mb2N1cy1hLXRleHRhcmVhIGhhY2tcbiAgICAgIHZhciBrbHVkZ2UgPSBoaWRkZW5UZXh0YXJlYSgpLCB0ZSA9IGtsdWRnZS5maXJzdENoaWxkO1xuICAgICAgY20uZGlzcGxheS5saW5lU3BhY2UuaW5zZXJ0QmVmb3JlKGtsdWRnZSwgY20uZGlzcGxheS5saW5lU3BhY2UuZmlyc3RDaGlsZCk7XG4gICAgICB0ZS52YWx1ZSA9IGxhc3RDb3BpZWQudGV4dC5qb2luKFwiXFxuXCIpO1xuICAgICAgdmFyIGhhZEZvY3VzID0gZG9jdW1lbnQuYWN0aXZlRWxlbWVudDtcbiAgICAgIHNlbGVjdElucHV0KHRlKTtcbiAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgICBjbS5kaXNwbGF5LmxpbmVTcGFjZS5yZW1vdmVDaGlsZChrbHVkZ2UpO1xuICAgICAgICBoYWRGb2N1cy5mb2N1cygpO1xuICAgICAgICBpZiAoaGFkRm9jdXMgPT0gZGl2KSB7IGlucHV0LnNob3dQcmltYXJ5U2VsZWN0aW9uKCk7IH1cbiAgICAgIH0sIDUwKTtcbiAgICB9XG4gICAgb24oZGl2LCBcImNvcHlcIiwgb25Db3B5Q3V0KTtcbiAgICBvbihkaXYsIFwiY3V0XCIsIG9uQ29weUN1dCk7XG4gIH07XG5cbiAgQ29udGVudEVkaXRhYmxlSW5wdXQucHJvdG90eXBlLnByZXBhcmVTZWxlY3Rpb24gPSBmdW5jdGlvbiAoKSB7XG4gICAgdmFyIHJlc3VsdCA9IHByZXBhcmVTZWxlY3Rpb24odGhpcy5jbSwgZmFsc2UpO1xuICAgIHJlc3VsdC5mb2N1cyA9IHRoaXMuY20uc3RhdGUuZm9jdXNlZDtcbiAgICByZXR1cm4gcmVzdWx0XG4gIH07XG5cbiAgQ29udGVudEVkaXRhYmxlSW5wdXQucHJvdG90eXBlLnNob3dTZWxlY3Rpb24gPSBmdW5jdGlvbiAoaW5mbywgdGFrZUZvY3VzKSB7XG4gICAgaWYgKCFpbmZvIHx8ICF0aGlzLmNtLmRpc3BsYXkudmlldy5sZW5ndGgpIHsgcmV0dXJuIH1cbiAgICBpZiAoaW5mby5mb2N1cyB8fCB0YWtlRm9jdXMpIHsgdGhpcy5zaG93UHJpbWFyeVNlbGVjdGlvbigpOyB9XG4gICAgdGhpcy5zaG93TXVsdGlwbGVTZWxlY3Rpb25zKGluZm8pO1xuICB9O1xuXG4gIENvbnRlbnRFZGl0YWJsZUlucHV0LnByb3RvdHlwZS5nZXRTZWxlY3Rpb24gPSBmdW5jdGlvbiAoKSB7XG4gICAgcmV0dXJuIHRoaXMuY20uZGlzcGxheS53cmFwcGVyLm93bmVyRG9jdW1lbnQuZ2V0U2VsZWN0aW9uKClcbiAgfTtcblxuICBDb250ZW50RWRpdGFibGVJbnB1dC5wcm90b3R5cGUuc2hvd1ByaW1hcnlTZWxlY3Rpb24gPSBmdW5jdGlvbiAoKSB7XG4gICAgdmFyIHNlbCA9IHRoaXMuZ2V0U2VsZWN0aW9uKCksIGNtID0gdGhpcy5jbSwgcHJpbSA9IGNtLmRvYy5zZWwucHJpbWFyeSgpO1xuICAgIHZhciBmcm9tID0gcHJpbS5mcm9tKCksIHRvID0gcHJpbS50bygpO1xuXG4gICAgaWYgKGNtLmRpc3BsYXkudmlld1RvID09IGNtLmRpc3BsYXkudmlld0Zyb20gfHwgZnJvbS5saW5lID49IGNtLmRpc3BsYXkudmlld1RvIHx8IHRvLmxpbmUgPCBjbS5kaXNwbGF5LnZpZXdGcm9tKSB7XG4gICAgICBzZWwucmVtb3ZlQWxsUmFuZ2VzKCk7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICB2YXIgY3VyQW5jaG9yID0gZG9tVG9Qb3MoY20sIHNlbC5hbmNob3JOb2RlLCBzZWwuYW5jaG9yT2Zmc2V0KTtcbiAgICB2YXIgY3VyRm9jdXMgPSBkb21Ub1BvcyhjbSwgc2VsLmZvY3VzTm9kZSwgc2VsLmZvY3VzT2Zmc2V0KTtcbiAgICBpZiAoY3VyQW5jaG9yICYmICFjdXJBbmNob3IuYmFkICYmIGN1ckZvY3VzICYmICFjdXJGb2N1cy5iYWQgJiZcbiAgICAgICAgY21wKG1pblBvcyhjdXJBbmNob3IsIGN1ckZvY3VzKSwgZnJvbSkgPT0gMCAmJlxuICAgICAgICBjbXAobWF4UG9zKGN1ckFuY2hvciwgY3VyRm9jdXMpLCB0bykgPT0gMClcbiAgICAgIHsgcmV0dXJuIH1cblxuICAgIHZhciB2aWV3ID0gY20uZGlzcGxheS52aWV3O1xuICAgIHZhciBzdGFydCA9IChmcm9tLmxpbmUgPj0gY20uZGlzcGxheS52aWV3RnJvbSAmJiBwb3NUb0RPTShjbSwgZnJvbSkpIHx8XG4gICAgICAgIHtub2RlOiB2aWV3WzBdLm1lYXN1cmUubWFwWzJdLCBvZmZzZXQ6IDB9O1xuICAgIHZhciBlbmQgPSB0by5saW5lIDwgY20uZGlzcGxheS52aWV3VG8gJiYgcG9zVG9ET00oY20sIHRvKTtcbiAgICBpZiAoIWVuZCkge1xuICAgICAgdmFyIG1lYXN1cmUgPSB2aWV3W3ZpZXcubGVuZ3RoIC0gMV0ubWVhc3VyZTtcbiAgICAgIHZhciBtYXAkJDEgPSBtZWFzdXJlLm1hcHMgPyBtZWFzdXJlLm1hcHNbbWVhc3VyZS5tYXBzLmxlbmd0aCAtIDFdIDogbWVhc3VyZS5tYXA7XG4gICAgICBlbmQgPSB7bm9kZTogbWFwJCQxW21hcCQkMS5sZW5ndGggLSAxXSwgb2Zmc2V0OiBtYXAkJDFbbWFwJCQxLmxlbmd0aCAtIDJdIC0gbWFwJCQxW21hcCQkMS5sZW5ndGggLSAzXX07XG4gICAgfVxuXG4gICAgaWYgKCFzdGFydCB8fCAhZW5kKSB7XG4gICAgICBzZWwucmVtb3ZlQWxsUmFuZ2VzKCk7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICB2YXIgb2xkID0gc2VsLnJhbmdlQ291bnQgJiYgc2VsLmdldFJhbmdlQXQoMCksIHJuZztcbiAgICB0cnkgeyBybmcgPSByYW5nZShzdGFydC5ub2RlLCBzdGFydC5vZmZzZXQsIGVuZC5vZmZzZXQsIGVuZC5ub2RlKTsgfVxuICAgIGNhdGNoKGUpIHt9IC8vIE91ciBtb2RlbCBvZiB0aGUgRE9NIG1pZ2h0IGJlIG91dGRhdGVkLCBpbiB3aGljaCBjYXNlIHRoZSByYW5nZSB3ZSB0cnkgdG8gc2V0IGNhbiBiZSBpbXBvc3NpYmxlXG4gICAgaWYgKHJuZykge1xuICAgICAgaWYgKCFnZWNrbyAmJiBjbS5zdGF0ZS5mb2N1c2VkKSB7XG4gICAgICAgIHNlbC5jb2xsYXBzZShzdGFydC5ub2RlLCBzdGFydC5vZmZzZXQpO1xuICAgICAgICBpZiAoIXJuZy5jb2xsYXBzZWQpIHtcbiAgICAgICAgICBzZWwucmVtb3ZlQWxsUmFuZ2VzKCk7XG4gICAgICAgICAgc2VsLmFkZFJhbmdlKHJuZyk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNlbC5yZW1vdmVBbGxSYW5nZXMoKTtcbiAgICAgICAgc2VsLmFkZFJhbmdlKHJuZyk7XG4gICAgICB9XG4gICAgICBpZiAob2xkICYmIHNlbC5hbmNob3JOb2RlID09IG51bGwpIHsgc2VsLmFkZFJhbmdlKG9sZCk7IH1cbiAgICAgIGVsc2UgaWYgKGdlY2tvKSB7IHRoaXMuc3RhcnRHcmFjZVBlcmlvZCgpOyB9XG4gICAgfVxuICAgIHRoaXMucmVtZW1iZXJTZWxlY3Rpb24oKTtcbiAgfTtcblxuICBDb250ZW50RWRpdGFibGVJbnB1dC5wcm90b3R5cGUuc3RhcnRHcmFjZVBlcmlvZCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIHZhciB0aGlzJDEgPSB0aGlzO1xuXG4gICAgY2xlYXJUaW1lb3V0KHRoaXMuZ3JhY2VQZXJpb2QpO1xuICAgIHRoaXMuZ3JhY2VQZXJpb2QgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICAgIHRoaXMkMS5ncmFjZVBlcmlvZCA9IGZhbHNlO1xuICAgICAgaWYgKHRoaXMkMS5zZWxlY3Rpb25DaGFuZ2VkKCkpXG4gICAgICAgIHsgdGhpcyQxLmNtLm9wZXJhdGlvbihmdW5jdGlvbiAoKSB7IHJldHVybiB0aGlzJDEuY20uY3VyT3Auc2VsZWN0aW9uQ2hhbmdlZCA9IHRydWU7IH0pOyB9XG4gICAgfSwgMjApO1xuICB9O1xuXG4gIENvbnRlbnRFZGl0YWJsZUlucHV0LnByb3RvdHlwZS5zaG93TXVsdGlwbGVTZWxlY3Rpb25zID0gZnVuY3Rpb24gKGluZm8pIHtcbiAgICByZW1vdmVDaGlsZHJlbkFuZEFkZCh0aGlzLmNtLmRpc3BsYXkuY3Vyc29yRGl2LCBpbmZvLmN1cnNvcnMpO1xuICAgIHJlbW92ZUNoaWxkcmVuQW5kQWRkKHRoaXMuY20uZGlzcGxheS5zZWxlY3Rpb25EaXYsIGluZm8uc2VsZWN0aW9uKTtcbiAgfTtcblxuICBDb250ZW50RWRpdGFibGVJbnB1dC5wcm90b3R5cGUucmVtZW1iZXJTZWxlY3Rpb24gPSBmdW5jdGlvbiAoKSB7XG4gICAgdmFyIHNlbCA9IHRoaXMuZ2V0U2VsZWN0aW9uKCk7XG4gICAgdGhpcy5sYXN0QW5jaG9yTm9kZSA9IHNlbC5hbmNob3JOb2RlOyB0aGlzLmxhc3RBbmNob3JPZmZzZXQgPSBzZWwuYW5jaG9yT2Zmc2V0O1xuICAgIHRoaXMubGFzdEZvY3VzTm9kZSA9IHNlbC5mb2N1c05vZGU7IHRoaXMubGFzdEZvY3VzT2Zmc2V0ID0gc2VsLmZvY3VzT2Zmc2V0O1xuICB9O1xuXG4gIENvbnRlbnRFZGl0YWJsZUlucHV0LnByb3RvdHlwZS5zZWxlY3Rpb25JbkVkaXRvciA9IGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgc2VsID0gdGhpcy5nZXRTZWxlY3Rpb24oKTtcbiAgICBpZiAoIXNlbC5yYW5nZUNvdW50KSB7IHJldHVybiBmYWxzZSB9XG4gICAgdmFyIG5vZGUgPSBzZWwuZ2V0UmFuZ2VBdCgwKS5jb21tb25BbmNlc3RvckNvbnRhaW5lcjtcbiAgICByZXR1cm4gY29udGFpbnModGhpcy5kaXYsIG5vZGUpXG4gIH07XG5cbiAgQ29udGVudEVkaXRhYmxlSW5wdXQucHJvdG90eXBlLmZvY3VzID0gZnVuY3Rpb24gKCkge1xuICAgIGlmICh0aGlzLmNtLm9wdGlvbnMucmVhZE9ubHkgIT0gXCJub2N1cnNvclwiKSB7XG4gICAgICBpZiAoIXRoaXMuc2VsZWN0aW9uSW5FZGl0b3IoKSlcbiAgICAgICAgeyB0aGlzLnNob3dTZWxlY3Rpb24odGhpcy5wcmVwYXJlU2VsZWN0aW9uKCksIHRydWUpOyB9XG4gICAgICB0aGlzLmRpdi5mb2N1cygpO1xuICAgIH1cbiAgfTtcbiAgQ29udGVudEVkaXRhYmxlSW5wdXQucHJvdG90eXBlLmJsdXIgPSBmdW5jdGlvbiAoKSB7IHRoaXMuZGl2LmJsdXIoKTsgfTtcbiAgQ29udGVudEVkaXRhYmxlSW5wdXQucHJvdG90eXBlLmdldEZpZWxkID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gdGhpcy5kaXYgfTtcblxuICBDb250ZW50RWRpdGFibGVJbnB1dC5wcm90b3R5cGUuc3VwcG9ydHNUb3VjaCA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRydWUgfTtcblxuICBDb250ZW50RWRpdGFibGVJbnB1dC5wcm90b3R5cGUucmVjZWl2ZWRGb2N1cyA9IGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgaW5wdXQgPSB0aGlzO1xuICAgIGlmICh0aGlzLnNlbGVjdGlvbkluRWRpdG9yKCkpXG4gICAgICB7IHRoaXMucG9sbFNlbGVjdGlvbigpOyB9XG4gICAgZWxzZVxuICAgICAgeyBydW5Jbk9wKHRoaXMuY20sIGZ1bmN0aW9uICgpIHsgcmV0dXJuIGlucHV0LmNtLmN1ck9wLnNlbGVjdGlvbkNoYW5nZWQgPSB0cnVlOyB9KTsgfVxuXG4gICAgZnVuY3Rpb24gcG9sbCgpIHtcbiAgICAgIGlmIChpbnB1dC5jbS5zdGF0ZS5mb2N1c2VkKSB7XG4gICAgICAgIGlucHV0LnBvbGxTZWxlY3Rpb24oKTtcbiAgICAgICAgaW5wdXQucG9sbGluZy5zZXQoaW5wdXQuY20ub3B0aW9ucy5wb2xsSW50ZXJ2YWwsIHBvbGwpO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLnBvbGxpbmcuc2V0KHRoaXMuY20ub3B0aW9ucy5wb2xsSW50ZXJ2YWwsIHBvbGwpO1xuICB9O1xuXG4gIENvbnRlbnRFZGl0YWJsZUlucHV0LnByb3RvdHlwZS5zZWxlY3Rpb25DaGFuZ2VkID0gZnVuY3Rpb24gKCkge1xuICAgIHZhciBzZWwgPSB0aGlzLmdldFNlbGVjdGlvbigpO1xuICAgIHJldHVybiBzZWwuYW5jaG9yTm9kZSAhPSB0aGlzLmxhc3RBbmNob3JOb2RlIHx8IHNlbC5hbmNob3JPZmZzZXQgIT0gdGhpcy5sYXN0QW5jaG9yT2Zmc2V0IHx8XG4gICAgICBzZWwuZm9jdXNOb2RlICE9IHRoaXMubGFzdEZvY3VzTm9kZSB8fCBzZWwuZm9jdXNPZmZzZXQgIT0gdGhpcy5sYXN0Rm9jdXNPZmZzZXRcbiAgfTtcblxuICBDb250ZW50RWRpdGFibGVJbnB1dC5wcm90b3R5cGUucG9sbFNlbGVjdGlvbiA9IGZ1bmN0aW9uICgpIHtcbiAgICBpZiAodGhpcy5yZWFkRE9NVGltZW91dCAhPSBudWxsIHx8IHRoaXMuZ3JhY2VQZXJpb2QgfHwgIXRoaXMuc2VsZWN0aW9uQ2hhbmdlZCgpKSB7IHJldHVybiB9XG4gICAgdmFyIHNlbCA9IHRoaXMuZ2V0U2VsZWN0aW9uKCksIGNtID0gdGhpcy5jbTtcbiAgICAvLyBPbiBBbmRyb2lkIENocm9tZSAodmVyc2lvbiA1NiwgYXQgbGVhc3QpLCBiYWNrc3BhY2luZyBpbnRvIGFuXG4gICAgLy8gdW5lZGl0YWJsZSBibG9jayBlbGVtZW50IHdpbGwgcHV0IHRoZSBjdXJzb3IgaW4gdGhhdCBlbGVtZW50LFxuICAgIC8vIGFuZCB0aGVuLCBiZWNhdXNlIGl0J3Mgbm90IGVkaXRhYmxlLCBoaWRlIHRoZSB2aXJ0dWFsIGtleWJvYXJkLlxuICAgIC8vIEJlY2F1c2UgQW5kcm9pZCBkb2Vzbid0IGFsbG93IHVzIHRvIGFjdHVhbGx5IGRldGVjdCBiYWNrc3BhY2VcbiAgICAvLyBwcmVzc2VzIGluIGEgc2FuZSB3YXksIHRoaXMgY29kZSBjaGVja3MgZm9yIHdoZW4gdGhhdCBoYXBwZW5zXG4gICAgLy8gYW5kIHNpbXVsYXRlcyBhIGJhY2tzcGFjZSBwcmVzcyBpbiB0aGlzIGNhc2UuXG4gICAgaWYgKGFuZHJvaWQgJiYgY2hyb21lICYmIHRoaXMuY20uZGlzcGxheS5ndXR0ZXJTcGVjcy5sZW5ndGggJiYgaXNJbkd1dHRlcihzZWwuYW5jaG9yTm9kZSkpIHtcbiAgICAgIHRoaXMuY20udHJpZ2dlck9uS2V5RG93bih7dHlwZTogXCJrZXlkb3duXCIsIGtleUNvZGU6IDgsIHByZXZlbnREZWZhdWx0OiBNYXRoLmFic30pO1xuICAgICAgdGhpcy5ibHVyKCk7XG4gICAgICB0aGlzLmZvY3VzKCk7XG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgaWYgKHRoaXMuY29tcG9zaW5nKSB7IHJldHVybiB9XG4gICAgdGhpcy5yZW1lbWJlclNlbGVjdGlvbigpO1xuICAgIHZhciBhbmNob3IgPSBkb21Ub1BvcyhjbSwgc2VsLmFuY2hvck5vZGUsIHNlbC5hbmNob3JPZmZzZXQpO1xuICAgIHZhciBoZWFkID0gZG9tVG9Qb3MoY20sIHNlbC5mb2N1c05vZGUsIHNlbC5mb2N1c09mZnNldCk7XG4gICAgaWYgKGFuY2hvciAmJiBoZWFkKSB7IHJ1bkluT3AoY20sIGZ1bmN0aW9uICgpIHtcbiAgICAgIHNldFNlbGVjdGlvbihjbS5kb2MsIHNpbXBsZVNlbGVjdGlvbihhbmNob3IsIGhlYWQpLCBzZWxfZG9udFNjcm9sbCk7XG4gICAgICBpZiAoYW5jaG9yLmJhZCB8fCBoZWFkLmJhZCkgeyBjbS5jdXJPcC5zZWxlY3Rpb25DaGFuZ2VkID0gdHJ1ZTsgfVxuICAgIH0pOyB9XG4gIH07XG5cbiAgQ29udGVudEVkaXRhYmxlSW5wdXQucHJvdG90eXBlLnBvbGxDb250ZW50ID0gZnVuY3Rpb24gKCkge1xuICAgIGlmICh0aGlzLnJlYWRET01UaW1lb3V0ICE9IG51bGwpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLnJlYWRET01UaW1lb3V0KTtcbiAgICAgIHRoaXMucmVhZERPTVRpbWVvdXQgPSBudWxsO1xuICAgIH1cblxuICAgIHZhciBjbSA9IHRoaXMuY20sIGRpc3BsYXkgPSBjbS5kaXNwbGF5LCBzZWwgPSBjbS5kb2Muc2VsLnByaW1hcnkoKTtcbiAgICB2YXIgZnJvbSA9IHNlbC5mcm9tKCksIHRvID0gc2VsLnRvKCk7XG4gICAgaWYgKGZyb20uY2ggPT0gMCAmJiBmcm9tLmxpbmUgPiBjbS5maXJzdExpbmUoKSlcbiAgICAgIHsgZnJvbSA9IFBvcyhmcm9tLmxpbmUgLSAxLCBnZXRMaW5lKGNtLmRvYywgZnJvbS5saW5lIC0gMSkubGVuZ3RoKTsgfVxuICAgIGlmICh0by5jaCA9PSBnZXRMaW5lKGNtLmRvYywgdG8ubGluZSkudGV4dC5sZW5ndGggJiYgdG8ubGluZSA8IGNtLmxhc3RMaW5lKCkpXG4gICAgICB7IHRvID0gUG9zKHRvLmxpbmUgKyAxLCAwKTsgfVxuICAgIGlmIChmcm9tLmxpbmUgPCBkaXNwbGF5LnZpZXdGcm9tIHx8IHRvLmxpbmUgPiBkaXNwbGF5LnZpZXdUbyAtIDEpIHsgcmV0dXJuIGZhbHNlIH1cblxuICAgIHZhciBmcm9tSW5kZXgsIGZyb21MaW5lLCBmcm9tTm9kZTtcbiAgICBpZiAoZnJvbS5saW5lID09IGRpc3BsYXkudmlld0Zyb20gfHwgKGZyb21JbmRleCA9IGZpbmRWaWV3SW5kZXgoY20sIGZyb20ubGluZSkpID09IDApIHtcbiAgICAgIGZyb21MaW5lID0gbGluZU5vKGRpc3BsYXkudmlld1swXS5saW5lKTtcbiAgICAgIGZyb21Ob2RlID0gZGlzcGxheS52aWV3WzBdLm5vZGU7XG4gICAgfSBlbHNlIHtcbiAgICAgIGZyb21MaW5lID0gbGluZU5vKGRpc3BsYXkudmlld1tmcm9tSW5kZXhdLmxpbmUpO1xuICAgICAgZnJvbU5vZGUgPSBkaXNwbGF5LnZpZXdbZnJvbUluZGV4IC0gMV0ubm9kZS5uZXh0U2libGluZztcbiAgICB9XG4gICAgdmFyIHRvSW5kZXggPSBmaW5kVmlld0luZGV4KGNtLCB0by5saW5lKTtcbiAgICB2YXIgdG9MaW5lLCB0b05vZGU7XG4gICAgaWYgKHRvSW5kZXggPT0gZGlzcGxheS52aWV3Lmxlbmd0aCAtIDEpIHtcbiAgICAgIHRvTGluZSA9IGRpc3BsYXkudmlld1RvIC0gMTtcbiAgICAgIHRvTm9kZSA9IGRpc3BsYXkubGluZURpdi5sYXN0Q2hpbGQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRvTGluZSA9IGxpbmVObyhkaXNwbGF5LnZpZXdbdG9JbmRleCArIDFdLmxpbmUpIC0gMTtcbiAgICAgIHRvTm9kZSA9IGRpc3BsYXkudmlld1t0b0luZGV4ICsgMV0ubm9kZS5wcmV2aW91c1NpYmxpbmc7XG4gICAgfVxuXG4gICAgaWYgKCFmcm9tTm9kZSkgeyByZXR1cm4gZmFsc2UgfVxuICAgIHZhciBuZXdUZXh0ID0gY20uZG9jLnNwbGl0TGluZXMoZG9tVGV4dEJldHdlZW4oY20sIGZyb21Ob2RlLCB0b05vZGUsIGZyb21MaW5lLCB0b0xpbmUpKTtcbiAgICB2YXIgb2xkVGV4dCA9IGdldEJldHdlZW4oY20uZG9jLCBQb3MoZnJvbUxpbmUsIDApLCBQb3ModG9MaW5lLCBnZXRMaW5lKGNtLmRvYywgdG9MaW5lKS50ZXh0Lmxlbmd0aCkpO1xuICAgIHdoaWxlIChuZXdUZXh0Lmxlbmd0aCA+IDEgJiYgb2xkVGV4dC5sZW5ndGggPiAxKSB7XG4gICAgICBpZiAobHN0KG5ld1RleHQpID09IGxzdChvbGRUZXh0KSkgeyBuZXdUZXh0LnBvcCgpOyBvbGRUZXh0LnBvcCgpOyB0b0xpbmUtLTsgfVxuICAgICAgZWxzZSBpZiAobmV3VGV4dFswXSA9PSBvbGRUZXh0WzBdKSB7IG5ld1RleHQuc2hpZnQoKTsgb2xkVGV4dC5zaGlmdCgpOyBmcm9tTGluZSsrOyB9XG4gICAgICBlbHNlIHsgYnJlYWsgfVxuICAgIH1cblxuICAgIHZhciBjdXRGcm9udCA9IDAsIGN1dEVuZCA9IDA7XG4gICAgdmFyIG5ld1RvcCA9IG5ld1RleHRbMF0sIG9sZFRvcCA9IG9sZFRleHRbMF0sIG1heEN1dEZyb250ID0gTWF0aC5taW4obmV3VG9wLmxlbmd0aCwgb2xkVG9wLmxlbmd0aCk7XG4gICAgd2hpbGUgKGN1dEZyb250IDwgbWF4Q3V0RnJvbnQgJiYgbmV3VG9wLmNoYXJDb2RlQXQoY3V0RnJvbnQpID09IG9sZFRvcC5jaGFyQ29kZUF0KGN1dEZyb250KSlcbiAgICAgIHsgKytjdXRGcm9udDsgfVxuICAgIHZhciBuZXdCb3QgPSBsc3QobmV3VGV4dCksIG9sZEJvdCA9IGxzdChvbGRUZXh0KTtcbiAgICB2YXIgbWF4Q3V0RW5kID0gTWF0aC5taW4obmV3Qm90Lmxlbmd0aCAtIChuZXdUZXh0Lmxlbmd0aCA9PSAxID8gY3V0RnJvbnQgOiAwKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2xkQm90Lmxlbmd0aCAtIChvbGRUZXh0Lmxlbmd0aCA9PSAxID8gY3V0RnJvbnQgOiAwKSk7XG4gICAgd2hpbGUgKGN1dEVuZCA8IG1heEN1dEVuZCAmJlxuICAgICAgICAgICBuZXdCb3QuY2hhckNvZGVBdChuZXdCb3QubGVuZ3RoIC0gY3V0RW5kIC0gMSkgPT0gb2xkQm90LmNoYXJDb2RlQXQob2xkQm90Lmxlbmd0aCAtIGN1dEVuZCAtIDEpKVxuICAgICAgeyArK2N1dEVuZDsgfVxuICAgIC8vIFRyeSB0byBtb3ZlIHN0YXJ0IG9mIGNoYW5nZSB0byBzdGFydCBvZiBzZWxlY3Rpb24gaWYgYW1iaWd1b3VzXG4gICAgaWYgKG5ld1RleHQubGVuZ3RoID09IDEgJiYgb2xkVGV4dC5sZW5ndGggPT0gMSAmJiBmcm9tTGluZSA9PSBmcm9tLmxpbmUpIHtcbiAgICAgIHdoaWxlIChjdXRGcm9udCAmJiBjdXRGcm9udCA+IGZyb20uY2ggJiZcbiAgICAgICAgICAgICBuZXdCb3QuY2hhckNvZGVBdChuZXdCb3QubGVuZ3RoIC0gY3V0RW5kIC0gMSkgPT0gb2xkQm90LmNoYXJDb2RlQXQob2xkQm90Lmxlbmd0aCAtIGN1dEVuZCAtIDEpKSB7XG4gICAgICAgIGN1dEZyb250LS07XG4gICAgICAgIGN1dEVuZCsrO1xuICAgICAgfVxuICAgIH1cblxuICAgIG5ld1RleHRbbmV3VGV4dC5sZW5ndGggLSAxXSA9IG5ld0JvdC5zbGljZSgwLCBuZXdCb3QubGVuZ3RoIC0gY3V0RW5kKS5yZXBsYWNlKC9eXFx1MjAwYisvLCBcIlwiKTtcbiAgICBuZXdUZXh0WzBdID0gbmV3VGV4dFswXS5zbGljZShjdXRGcm9udCkucmVwbGFjZSgvXFx1MjAwYiskLywgXCJcIik7XG5cbiAgICB2YXIgY2hGcm9tID0gUG9zKGZyb21MaW5lLCBjdXRGcm9udCk7XG4gICAgdmFyIGNoVG8gPSBQb3ModG9MaW5lLCBvbGRUZXh0Lmxlbmd0aCA/IGxzdChvbGRUZXh0KS5sZW5ndGggLSBjdXRFbmQgOiAwKTtcbiAgICBpZiAobmV3VGV4dC5sZW5ndGggPiAxIHx8IG5ld1RleHRbMF0gfHwgY21wKGNoRnJvbSwgY2hUbykpIHtcbiAgICAgIHJlcGxhY2VSYW5nZShjbS5kb2MsIG5ld1RleHQsIGNoRnJvbSwgY2hUbywgXCIraW5wdXRcIik7XG4gICAgICByZXR1cm4gdHJ1ZVxuICAgIH1cbiAgfTtcblxuICBDb250ZW50RWRpdGFibGVJbnB1dC5wcm90b3R5cGUuZW5zdXJlUG9sbGVkID0gZnVuY3Rpb24gKCkge1xuICAgIHRoaXMuZm9yY2VDb21wb3NpdGlvbkVuZCgpO1xuICB9O1xuICBDb250ZW50RWRpdGFibGVJbnB1dC5wcm90b3R5cGUucmVzZXQgPSBmdW5jdGlvbiAoKSB7XG4gICAgdGhpcy5mb3JjZUNvbXBvc2l0aW9uRW5kKCk7XG4gIH07XG4gIENvbnRlbnRFZGl0YWJsZUlucHV0LnByb3RvdHlwZS5mb3JjZUNvbXBvc2l0aW9uRW5kID0gZnVuY3Rpb24gKCkge1xuICAgIGlmICghdGhpcy5jb21wb3NpbmcpIHsgcmV0dXJuIH1cbiAgICBjbGVhclRpbWVvdXQodGhpcy5yZWFkRE9NVGltZW91dCk7XG4gICAgdGhpcy5jb21wb3NpbmcgPSBudWxsO1xuICAgIHRoaXMudXBkYXRlRnJvbURPTSgpO1xuICAgIHRoaXMuZGl2LmJsdXIoKTtcbiAgICB0aGlzLmRpdi5mb2N1cygpO1xuICB9O1xuICBDb250ZW50RWRpdGFibGVJbnB1dC5wcm90b3R5cGUucmVhZEZyb21ET01Tb29uID0gZnVuY3Rpb24gKCkge1xuICAgICAgdmFyIHRoaXMkMSA9IHRoaXM7XG5cbiAgICBpZiAodGhpcy5yZWFkRE9NVGltZW91dCAhPSBudWxsKSB7IHJldHVybiB9XG4gICAgdGhpcy5yZWFkRE9NVGltZW91dCA9IHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgdGhpcyQxLnJlYWRET01UaW1lb3V0ID0gbnVsbDtcbiAgICAgIGlmICh0aGlzJDEuY29tcG9zaW5nKSB7XG4gICAgICAgIGlmICh0aGlzJDEuY29tcG9zaW5nLmRvbmUpIHsgdGhpcyQxLmNvbXBvc2luZyA9IG51bGw7IH1cbiAgICAgICAgZWxzZSB7IHJldHVybiB9XG4gICAgICB9XG4gICAgICB0aGlzJDEudXBkYXRlRnJvbURPTSgpO1xuICAgIH0sIDgwKTtcbiAgfTtcblxuICBDb250ZW50RWRpdGFibGVJbnB1dC5wcm90b3R5cGUudXBkYXRlRnJvbURPTSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIHZhciB0aGlzJDEgPSB0aGlzO1xuXG4gICAgaWYgKHRoaXMuY20uaXNSZWFkT25seSgpIHx8ICF0aGlzLnBvbGxDb250ZW50KCkpXG4gICAgICB7IHJ1bkluT3AodGhpcy5jbSwgZnVuY3Rpb24gKCkgeyByZXR1cm4gcmVnQ2hhbmdlKHRoaXMkMS5jbSk7IH0pOyB9XG4gIH07XG5cbiAgQ29udGVudEVkaXRhYmxlSW5wdXQucHJvdG90eXBlLnNldFVuZWRpdGFibGUgPSBmdW5jdGlvbiAobm9kZSkge1xuICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gXCJmYWxzZVwiO1xuICB9O1xuXG4gIENvbnRlbnRFZGl0YWJsZUlucHV0LnByb3RvdHlwZS5vbktleVByZXNzID0gZnVuY3Rpb24gKGUpIHtcbiAgICBpZiAoZS5jaGFyQ29kZSA9PSAwIHx8IHRoaXMuY29tcG9zaW5nKSB7IHJldHVybiB9XG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGlmICghdGhpcy5jbS5pc1JlYWRPbmx5KCkpXG4gICAgICB7IG9wZXJhdGlvbih0aGlzLmNtLCBhcHBseVRleHRJbnB1dCkodGhpcy5jbSwgU3RyaW5nLmZyb21DaGFyQ29kZShlLmNoYXJDb2RlID09IG51bGwgPyBlLmtleUNvZGUgOiBlLmNoYXJDb2RlKSwgMCk7IH1cbiAgfTtcblxuICBDb250ZW50RWRpdGFibGVJbnB1dC5wcm90b3R5cGUucmVhZE9ubHlDaGFuZ2VkID0gZnVuY3Rpb24gKHZhbCkge1xuICAgIHRoaXMuZGl2LmNvbnRlbnRFZGl0YWJsZSA9IFN0cmluZyh2YWwgIT0gXCJub2N1cnNvclwiKTtcbiAgfTtcblxuICBDb250ZW50RWRpdGFibGVJbnB1dC5wcm90b3R5cGUub25Db250ZXh0TWVudSA9IGZ1bmN0aW9uICgpIHt9O1xuICBDb250ZW50RWRpdGFibGVJbnB1dC5wcm90b3R5cGUucmVzZXRQb3NpdGlvbiA9IGZ1bmN0aW9uICgpIHt9O1xuXG4gIENvbnRlbnRFZGl0YWJsZUlucHV0LnByb3RvdHlwZS5uZWVkc0NvbnRlbnRBdHRyaWJ1dGUgPSB0cnVlO1xuXG4gIGZ1bmN0aW9uIHBvc1RvRE9NKGNtLCBwb3MpIHtcbiAgICB2YXIgdmlldyA9IGZpbmRWaWV3Rm9yTGluZShjbSwgcG9zLmxpbmUpO1xuICAgIGlmICghdmlldyB8fCB2aWV3LmhpZGRlbikgeyByZXR1cm4gbnVsbCB9XG4gICAgdmFyIGxpbmUgPSBnZXRMaW5lKGNtLmRvYywgcG9zLmxpbmUpO1xuICAgIHZhciBpbmZvID0gbWFwRnJvbUxpbmVWaWV3KHZpZXcsIGxpbmUsIHBvcy5saW5lKTtcblxuICAgIHZhciBvcmRlciA9IGdldE9yZGVyKGxpbmUsIGNtLmRvYy5kaXJlY3Rpb24pLCBzaWRlID0gXCJsZWZ0XCI7XG4gICAgaWYgKG9yZGVyKSB7XG4gICAgICB2YXIgcGFydFBvcyA9IGdldEJpZGlQYXJ0QXQob3JkZXIsIHBvcy5jaCk7XG4gICAgICBzaWRlID0gcGFydFBvcyAlIDIgPyBcInJpZ2h0XCIgOiBcImxlZnRcIjtcbiAgICB9XG4gICAgdmFyIHJlc3VsdCA9IG5vZGVBbmRPZmZzZXRJbkxpbmVNYXAoaW5mby5tYXAsIHBvcy5jaCwgc2lkZSk7XG4gICAgcmVzdWx0Lm9mZnNldCA9IHJlc3VsdC5jb2xsYXBzZSA9PSBcInJpZ2h0XCIgPyByZXN1bHQuZW5kIDogcmVzdWx0LnN0YXJ0O1xuICAgIHJldHVybiByZXN1bHRcbiAgfVxuXG4gIGZ1bmN0aW9uIGlzSW5HdXR0ZXIobm9kZSkge1xuICAgIGZvciAodmFyIHNjYW4gPSBub2RlOyBzY2FuOyBzY2FuID0gc2Nhbi5wYXJlbnROb2RlKVxuICAgICAgeyBpZiAoL0NvZGVNaXJyb3ItZ3V0dGVyLXdyYXBwZXIvLnRlc3Qoc2Nhbi5jbGFzc05hbWUpKSB7IHJldHVybiB0cnVlIH0gfVxuICAgIHJldHVybiBmYWxzZVxuICB9XG5cbiAgZnVuY3Rpb24gYmFkUG9zKHBvcywgYmFkKSB7IGlmIChiYWQpIHsgcG9zLmJhZCA9IHRydWU7IH0gcmV0dXJuIHBvcyB9XG5cbiAgZnVuY3Rpb24gZG9tVGV4dEJldHdlZW4oY20sIGZyb20sIHRvLCBmcm9tTGluZSwgdG9MaW5lKSB7XG4gICAgdmFyIHRleHQgPSBcIlwiLCBjbG9zaW5nID0gZmFsc2UsIGxpbmVTZXAgPSBjbS5kb2MubGluZVNlcGFyYXRvcigpLCBleHRyYUxpbmVicmVhayA9IGZhbHNlO1xuICAgIGZ1bmN0aW9uIHJlY29nbml6ZU1hcmtlcihpZCkgeyByZXR1cm4gZnVuY3Rpb24gKG1hcmtlcikgeyByZXR1cm4gbWFya2VyLmlkID09IGlkOyB9IH1cbiAgICBmdW5jdGlvbiBjbG9zZSgpIHtcbiAgICAgIGlmIChjbG9zaW5nKSB7XG4gICAgICAgIHRleHQgKz0gbGluZVNlcDtcbiAgICAgICAgaWYgKGV4dHJhTGluZWJyZWFrKSB7IHRleHQgKz0gbGluZVNlcDsgfVxuICAgICAgICBjbG9zaW5nID0gZXh0cmFMaW5lYnJlYWsgPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gICAgZnVuY3Rpb24gYWRkVGV4dChzdHIpIHtcbiAgICAgIGlmIChzdHIpIHtcbiAgICAgICAgY2xvc2UoKTtcbiAgICAgICAgdGV4dCArPSBzdHI7XG4gICAgICB9XG4gICAgfVxuICAgIGZ1bmN0aW9uIHdhbGsobm9kZSkge1xuICAgICAgaWYgKG5vZGUubm9kZVR5cGUgPT0gMSkge1xuICAgICAgICB2YXIgY21UZXh0ID0gbm9kZS5nZXRBdHRyaWJ1dGUoXCJjbS10ZXh0XCIpO1xuICAgICAgICBpZiAoY21UZXh0KSB7XG4gICAgICAgICAgYWRkVGV4dChjbVRleHQpO1xuICAgICAgICAgIHJldHVyblxuICAgICAgICB9XG4gICAgICAgIHZhciBtYXJrZXJJRCA9IG5vZGUuZ2V0QXR0cmlidXRlKFwiY20tbWFya2VyXCIpLCByYW5nZSQkMTtcbiAgICAgICAgaWYgKG1hcmtlcklEKSB7XG4gICAgICAgICAgdmFyIGZvdW5kID0gY20uZmluZE1hcmtzKFBvcyhmcm9tTGluZSwgMCksIFBvcyh0b0xpbmUgKyAxLCAwKSwgcmVjb2duaXplTWFya2VyKCttYXJrZXJJRCkpO1xuICAgICAgICAgIGlmIChmb3VuZC5sZW5ndGggJiYgKHJhbmdlJCQxID0gZm91bmRbMF0uZmluZCgwKSkpXG4gICAgICAgICAgICB7IGFkZFRleHQoZ2V0QmV0d2VlbihjbS5kb2MsIHJhbmdlJCQxLmZyb20sIHJhbmdlJCQxLnRvKS5qb2luKGxpbmVTZXApKTsgfVxuICAgICAgICAgIHJldHVyblxuICAgICAgICB9XG4gICAgICAgIGlmIChub2RlLmdldEF0dHJpYnV0ZShcImNvbnRlbnRlZGl0YWJsZVwiKSA9PSBcImZhbHNlXCIpIHsgcmV0dXJuIH1cbiAgICAgICAgdmFyIGlzQmxvY2sgPSAvXihwcmV8ZGl2fHB8bGl8dGFibGV8YnIpJC9pLnRlc3Qobm9kZS5ub2RlTmFtZSk7XG4gICAgICAgIGlmICghL15iciQvaS50ZXN0KG5vZGUubm9kZU5hbWUpICYmIG5vZGUudGV4dENvbnRlbnQubGVuZ3RoID09IDApIHsgcmV0dXJuIH1cblxuICAgICAgICBpZiAoaXNCbG9jaykgeyBjbG9zZSgpOyB9XG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbm9kZS5jaGlsZE5vZGVzLmxlbmd0aDsgaSsrKVxuICAgICAgICAgIHsgd2Fsayhub2RlLmNoaWxkTm9kZXNbaV0pOyB9XG5cbiAgICAgICAgaWYgKC9eKHByZXxwKSQvaS50ZXN0KG5vZGUubm9kZU5hbWUpKSB7IGV4dHJhTGluZWJyZWFrID0gdHJ1ZTsgfVxuICAgICAgICBpZiAoaXNCbG9jaykgeyBjbG9zaW5nID0gdHJ1ZTsgfVxuICAgICAgfSBlbHNlIGlmIChub2RlLm5vZGVUeXBlID09IDMpIHtcbiAgICAgICAgYWRkVGV4dChub2RlLm5vZGVWYWx1ZS5yZXBsYWNlKC9cXHUyMDBiL2csIFwiXCIpLnJlcGxhY2UoL1xcdTAwYTAvZywgXCIgXCIpKTtcbiAgICAgIH1cbiAgICB9XG4gICAgZm9yICg7Oykge1xuICAgICAgd2Fsayhmcm9tKTtcbiAgICAgIGlmIChmcm9tID09IHRvKSB7IGJyZWFrIH1cbiAgICAgIGZyb20gPSBmcm9tLm5leHRTaWJsaW5nO1xuICAgICAgZXh0cmFMaW5lYnJlYWsgPSBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIHRleHRcbiAgfVxuXG4gIGZ1bmN0aW9uIGRvbVRvUG9zKGNtLCBub2RlLCBvZmZzZXQpIHtcbiAgICB2YXIgbGluZU5vZGU7XG4gICAgaWYgKG5vZGUgPT0gY20uZGlzcGxheS5saW5lRGl2KSB7XG4gICAgICBsaW5lTm9kZSA9IGNtLmRpc3BsYXkubGluZURpdi5jaGlsZE5vZGVzW29mZnNldF07XG4gICAgICBpZiAoIWxpbmVOb2RlKSB7IHJldHVybiBiYWRQb3MoY20uY2xpcFBvcyhQb3MoY20uZGlzcGxheS52aWV3VG8gLSAxKSksIHRydWUpIH1cbiAgICAgIG5vZGUgPSBudWxsOyBvZmZzZXQgPSAwO1xuICAgIH0gZWxzZSB7XG4gICAgICBmb3IgKGxpbmVOb2RlID0gbm9kZTs7IGxpbmVOb2RlID0gbGluZU5vZGUucGFyZW50Tm9kZSkge1xuICAgICAgICBpZiAoIWxpbmVOb2RlIHx8IGxpbmVOb2RlID09IGNtLmRpc3BsYXkubGluZURpdikgeyByZXR1cm4gbnVsbCB9XG4gICAgICAgIGlmIChsaW5lTm9kZS5wYXJlbnROb2RlICYmIGxpbmVOb2RlLnBhcmVudE5vZGUgPT0gY20uZGlzcGxheS5saW5lRGl2KSB7IGJyZWFrIH1cbiAgICAgIH1cbiAgICB9XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjbS5kaXNwbGF5LnZpZXcubGVuZ3RoOyBpKyspIHtcbiAgICAgIHZhciBsaW5lVmlldyA9IGNtLmRpc3BsYXkudmlld1tpXTtcbiAgICAgIGlmIChsaW5lVmlldy5ub2RlID09IGxpbmVOb2RlKVxuICAgICAgICB7IHJldHVybiBsb2NhdGVOb2RlSW5MaW5lVmlldyhsaW5lVmlldywgbm9kZSwgb2Zmc2V0KSB9XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gbG9jYXRlTm9kZUluTGluZVZpZXcobGluZVZpZXcsIG5vZGUsIG9mZnNldCkge1xuICAgIHZhciB3cmFwcGVyID0gbGluZVZpZXcudGV4dC5maXJzdENoaWxkLCBiYWQgPSBmYWxzZTtcbiAgICBpZiAoIW5vZGUgfHwgIWNvbnRhaW5zKHdyYXBwZXIsIG5vZGUpKSB7IHJldHVybiBiYWRQb3MoUG9zKGxpbmVObyhsaW5lVmlldy5saW5lKSwgMCksIHRydWUpIH1cbiAgICBpZiAobm9kZSA9PSB3cmFwcGVyKSB7XG4gICAgICBiYWQgPSB0cnVlO1xuICAgICAgbm9kZSA9IHdyYXBwZXIuY2hpbGROb2Rlc1tvZmZzZXRdO1xuICAgICAgb2Zmc2V0ID0gMDtcbiAgICAgIGlmICghbm9kZSkge1xuICAgICAgICB2YXIgbGluZSA9IGxpbmVWaWV3LnJlc3QgPyBsc3QobGluZVZpZXcucmVzdCkgOiBsaW5lVmlldy5saW5lO1xuICAgICAgICByZXR1cm4gYmFkUG9zKFBvcyhsaW5lTm8obGluZSksIGxpbmUudGV4dC5sZW5ndGgpLCBiYWQpXG4gICAgICB9XG4gICAgfVxuXG4gICAgdmFyIHRleHROb2RlID0gbm9kZS5ub2RlVHlwZSA9PSAzID8gbm9kZSA6IG51bGwsIHRvcE5vZGUgPSBub2RlO1xuICAgIGlmICghdGV4dE5vZGUgJiYgbm9kZS5jaGlsZE5vZGVzLmxlbmd0aCA9PSAxICYmIG5vZGUuZmlyc3RDaGlsZC5ub2RlVHlwZSA9PSAzKSB7XG4gICAgICB0ZXh0Tm9kZSA9IG5vZGUuZmlyc3RDaGlsZDtcbiAgICAgIGlmIChvZmZzZXQpIHsgb2Zmc2V0ID0gdGV4dE5vZGUubm9kZVZhbHVlLmxlbmd0aDsgfVxuICAgIH1cbiAgICB3aGlsZSAodG9wTm9kZS5wYXJlbnROb2RlICE9IHdyYXBwZXIpIHsgdG9wTm9kZSA9IHRvcE5vZGUucGFyZW50Tm9kZTsgfVxuICAgIHZhciBtZWFzdXJlID0gbGluZVZpZXcubWVhc3VyZSwgbWFwcyA9IG1lYXN1cmUubWFwcztcblxuICAgIGZ1bmN0aW9uIGZpbmQodGV4dE5vZGUsIHRvcE5vZGUsIG9mZnNldCkge1xuICAgICAgZm9yICh2YXIgaSA9IC0xOyBpIDwgKG1hcHMgPyBtYXBzLmxlbmd0aCA6IDApOyBpKyspIHtcbiAgICAgICAgdmFyIG1hcCQkMSA9IGkgPCAwID8gbWVhc3VyZS5tYXAgOiBtYXBzW2ldO1xuICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8IG1hcCQkMS5sZW5ndGg7IGogKz0gMykge1xuICAgICAgICAgIHZhciBjdXJOb2RlID0gbWFwJCQxW2ogKyAyXTtcbiAgICAgICAgICBpZiAoY3VyTm9kZSA9PSB0ZXh0Tm9kZSB8fCBjdXJOb2RlID09IHRvcE5vZGUpIHtcbiAgICAgICAgICAgIHZhciBsaW5lID0gbGluZU5vKGkgPCAwID8gbGluZVZpZXcubGluZSA6IGxpbmVWaWV3LnJlc3RbaV0pO1xuICAgICAgICAgICAgdmFyIGNoID0gbWFwJCQxW2pdICsgb2Zmc2V0O1xuICAgICAgICAgICAgaWYgKG9mZnNldCA8IDAgfHwgY3VyTm9kZSAhPSB0ZXh0Tm9kZSkgeyBjaCA9IG1hcCQkMVtqICsgKG9mZnNldCA/IDEgOiAwKV07IH1cbiAgICAgICAgICAgIHJldHVybiBQb3MobGluZSwgY2gpXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHZhciBmb3VuZCA9IGZpbmQodGV4dE5vZGUsIHRvcE5vZGUsIG9mZnNldCk7XG4gICAgaWYgKGZvdW5kKSB7IHJldHVybiBiYWRQb3MoZm91bmQsIGJhZCkgfVxuXG4gICAgLy8gRklYTUUgdGhpcyBpcyBhbGwgcmVhbGx5IHNoYWt5LiBtaWdodCBoYW5kbGUgdGhlIGZldyBjYXNlcyBpdCBuZWVkcyB0byBoYW5kbGUsIGJ1dCBsaWtlbHkgdG8gY2F1c2UgcHJvYmxlbXNcbiAgICBmb3IgKHZhciBhZnRlciA9IHRvcE5vZGUubmV4dFNpYmxpbmcsIGRpc3QgPSB0ZXh0Tm9kZSA/IHRleHROb2RlLm5vZGVWYWx1ZS5sZW5ndGggLSBvZmZzZXQgOiAwOyBhZnRlcjsgYWZ0ZXIgPSBhZnRlci5uZXh0U2libGluZykge1xuICAgICAgZm91bmQgPSBmaW5kKGFmdGVyLCBhZnRlci5maXJzdENoaWxkLCAwKTtcbiAgICAgIGlmIChmb3VuZClcbiAgICAgICAgeyByZXR1cm4gYmFkUG9zKFBvcyhmb3VuZC5saW5lLCBmb3VuZC5jaCAtIGRpc3QpLCBiYWQpIH1cbiAgICAgIGVsc2VcbiAgICAgICAgeyBkaXN0ICs9IGFmdGVyLnRleHRDb250ZW50Lmxlbmd0aDsgfVxuICAgIH1cbiAgICBmb3IgKHZhciBiZWZvcmUgPSB0b3BOb2RlLnByZXZpb3VzU2libGluZywgZGlzdCQxID0gb2Zmc2V0OyBiZWZvcmU7IGJlZm9yZSA9IGJlZm9yZS5wcmV2aW91c1NpYmxpbmcpIHtcbiAgICAgIGZvdW5kID0gZmluZChiZWZvcmUsIGJlZm9yZS5maXJzdENoaWxkLCAtMSk7XG4gICAgICBpZiAoZm91bmQpXG4gICAgICAgIHsgcmV0dXJuIGJhZFBvcyhQb3MoZm91bmQubGluZSwgZm91bmQuY2ggKyBkaXN0JDEpLCBiYWQpIH1cbiAgICAgIGVsc2VcbiAgICAgICAgeyBkaXN0JDEgKz0gYmVmb3JlLnRleHRDb250ZW50Lmxlbmd0aDsgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFRFWFRBUkVBIElOUFVUIFNUWUxFXG5cbiAgdmFyIFRleHRhcmVhSW5wdXQgPSBmdW5jdGlvbihjbSkge1xuICAgIHRoaXMuY20gPSBjbTtcbiAgICAvLyBTZWUgaW5wdXQucG9sbCBhbmQgaW5wdXQucmVzZXRcbiAgICB0aGlzLnByZXZJbnB1dCA9IFwiXCI7XG5cbiAgICAvLyBGbGFnIHRoYXQgaW5kaWNhdGVzIHdoZXRoZXIgd2UgZXhwZWN0IGlucHV0IHRvIGFwcGVhciByZWFsIHNvb25cbiAgICAvLyBub3cgKGFmdGVyIHNvbWUgZXZlbnQgbGlrZSAna2V5cHJlc3MnIG9yICdpbnB1dCcpIGFuZCBhcmVcbiAgICAvLyBwb2xsaW5nIGludGVuc2l2ZWx5LlxuICAgIHRoaXMucG9sbGluZ0Zhc3QgPSBmYWxzZTtcbiAgICAvLyBTZWxmLXJlc2V0dGluZyB0aW1lb3V0IGZvciB0aGUgcG9sbGVyXG4gICAgdGhpcy5wb2xsaW5nID0gbmV3IERlbGF5ZWQoKTtcbiAgICAvLyBVc2VkIHRvIHdvcmsgYXJvdW5kIElFIGlzc3VlIHdpdGggc2VsZWN0aW9uIGJlaW5nIGZvcmdvdHRlbiB3aGVuIGZvY3VzIG1vdmVzIGF3YXkgZnJvbSB0ZXh0YXJlYVxuICAgIHRoaXMuaGFzU2VsZWN0aW9uID0gZmFsc2U7XG4gICAgdGhpcy5jb21wb3NpbmcgPSBudWxsO1xuICB9O1xuXG4gIFRleHRhcmVhSW5wdXQucHJvdG90eXBlLmluaXQgPSBmdW5jdGlvbiAoZGlzcGxheSkge1xuICAgICAgdmFyIHRoaXMkMSA9IHRoaXM7XG5cbiAgICB2YXIgaW5wdXQgPSB0aGlzLCBjbSA9IHRoaXMuY207XG4gICAgdGhpcy5jcmVhdGVGaWVsZChkaXNwbGF5KTtcbiAgICB2YXIgdGUgPSB0aGlzLnRleHRhcmVhO1xuXG4gICAgZGlzcGxheS53cmFwcGVyLmluc2VydEJlZm9yZSh0aGlzLndyYXBwZXIsIGRpc3BsYXkud3JhcHBlci5maXJzdENoaWxkKTtcblxuICAgIC8vIE5lZWRlZCB0byBoaWRlIGJpZyBibHVlIGJsaW5raW5nIGN1cnNvciBvbiBNb2JpbGUgU2FmYXJpIChkb2Vzbid0IHNlZW0gdG8gd29yayBpbiBpT1MgOCBhbnltb3JlKVxuICAgIGlmIChpb3MpIHsgdGUuc3R5bGUud2lkdGggPSBcIjBweFwiOyB9XG5cbiAgICBvbih0ZSwgXCJpbnB1dFwiLCBmdW5jdGlvbiAoKSB7XG4gICAgICBpZiAoaWUgJiYgaWVfdmVyc2lvbiA+PSA5ICYmIHRoaXMkMS5oYXNTZWxlY3Rpb24pIHsgdGhpcyQxLmhhc1NlbGVjdGlvbiA9IG51bGw7IH1cbiAgICAgIGlucHV0LnBvbGwoKTtcbiAgICB9KTtcblxuICAgIG9uKHRlLCBcInBhc3RlXCIsIGZ1bmN0aW9uIChlKSB7XG4gICAgICBpZiAoc2lnbmFsRE9NRXZlbnQoY20sIGUpIHx8IGhhbmRsZVBhc3RlKGUsIGNtKSkgeyByZXR1cm4gfVxuXG4gICAgICBjbS5zdGF0ZS5wYXN0ZUluY29taW5nID0gK25ldyBEYXRlO1xuICAgICAgaW5wdXQuZmFzdFBvbGwoKTtcbiAgICB9KTtcblxuICAgIGZ1bmN0aW9uIHByZXBhcmVDb3B5Q3V0KGUpIHtcbiAgICAgIGlmIChzaWduYWxET01FdmVudChjbSwgZSkpIHsgcmV0dXJuIH1cbiAgICAgIGlmIChjbS5zb21ldGhpbmdTZWxlY3RlZCgpKSB7XG4gICAgICAgIHNldExhc3RDb3BpZWQoe2xpbmVXaXNlOiBmYWxzZSwgdGV4dDogY20uZ2V0U2VsZWN0aW9ucygpfSk7XG4gICAgICB9IGVsc2UgaWYgKCFjbS5vcHRpb25zLmxpbmVXaXNlQ29weUN1dCkge1xuICAgICAgICByZXR1cm5cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHZhciByYW5nZXMgPSBjb3B5YWJsZVJhbmdlcyhjbSk7XG4gICAgICAgIHNldExhc3RDb3BpZWQoe2xpbmVXaXNlOiB0cnVlLCB0ZXh0OiByYW5nZXMudGV4dH0pO1xuICAgICAgICBpZiAoZS50eXBlID09IFwiY3V0XCIpIHtcbiAgICAgICAgICBjbS5zZXRTZWxlY3Rpb25zKHJhbmdlcy5yYW5nZXMsIG51bGwsIHNlbF9kb250U2Nyb2xsKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpbnB1dC5wcmV2SW5wdXQgPSBcIlwiO1xuICAgICAgICAgIHRlLnZhbHVlID0gcmFuZ2VzLnRleHQuam9pbihcIlxcblwiKTtcbiAgICAgICAgICBzZWxlY3RJbnB1dCh0ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmIChlLnR5cGUgPT0gXCJjdXRcIikgeyBjbS5zdGF0ZS5jdXRJbmNvbWluZyA9ICtuZXcgRGF0ZTsgfVxuICAgIH1cbiAgICBvbih0ZSwgXCJjdXRcIiwgcHJlcGFyZUNvcHlDdXQpO1xuICAgIG9uKHRlLCBcImNvcHlcIiwgcHJlcGFyZUNvcHlDdXQpO1xuXG4gICAgb24oZGlzcGxheS5zY3JvbGxlciwgXCJwYXN0ZVwiLCBmdW5jdGlvbiAoZSkge1xuICAgICAgaWYgKGV2ZW50SW5XaWRnZXQoZGlzcGxheSwgZSkgfHwgc2lnbmFsRE9NRXZlbnQoY20sIGUpKSB7IHJldHVybiB9XG4gICAgICBpZiAoIXRlLmRpc3BhdGNoRXZlbnQpIHtcbiAgICAgICAgY20uc3RhdGUucGFzdGVJbmNvbWluZyA9ICtuZXcgRGF0ZTtcbiAgICAgICAgaW5wdXQuZm9jdXMoKTtcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG5cbiAgICAgIC8vIFBhc3MgdGhlIGBwYXN0ZWAgZXZlbnQgdG8gdGhlIHRleHRhcmVhIHNvIGl0J3MgaGFuZGxlZCBieSBpdHMgZXZlbnQgbGlzdGVuZXIuXG4gICAgICB2YXIgZXZlbnQgPSBuZXcgRXZlbnQoXCJwYXN0ZVwiKTtcbiAgICAgIGV2ZW50LmNsaXBib2FyZERhdGEgPSBlLmNsaXBib2FyZERhdGE7XG4gICAgICB0ZS5kaXNwYXRjaEV2ZW50KGV2ZW50KTtcbiAgICB9KTtcblxuICAgIC8vIFByZXZlbnQgbm9ybWFsIHNlbGVjdGlvbiBpbiB0aGUgZWRpdG9yICh3ZSBoYW5kbGUgb3VyIG93bilcbiAgICBvbihkaXNwbGF5LmxpbmVTcGFjZSwgXCJzZWxlY3RzdGFydFwiLCBmdW5jdGlvbiAoZSkge1xuICAgICAgaWYgKCFldmVudEluV2lkZ2V0KGRpc3BsYXksIGUpKSB7IGVfcHJldmVudERlZmF1bHQoZSk7IH1cbiAgICB9KTtcblxuICAgIG9uKHRlLCBcImNvbXBvc2l0aW9uc3RhcnRcIiwgZnVuY3Rpb24gKCkge1xuICAgICAgdmFyIHN0YXJ0ID0gY20uZ2V0Q3Vyc29yKFwiZnJvbVwiKTtcbiAgICAgIGlmIChpbnB1dC5jb21wb3NpbmcpIHsgaW5wdXQuY29tcG9zaW5nLnJhbmdlLmNsZWFyKCk7IH1cbiAgICAgIGlucHV0LmNvbXBvc2luZyA9IHtcbiAgICAgICAgc3RhcnQ6IHN0YXJ0LFxuICAgICAgICByYW5nZTogY20ubWFya1RleHQoc3RhcnQsIGNtLmdldEN1cnNvcihcInRvXCIpLCB7Y2xhc3NOYW1lOiBcIkNvZGVNaXJyb3ItY29tcG9zaW5nXCJ9KVxuICAgICAgfTtcbiAgICB9KTtcbiAgICBvbih0ZSwgXCJjb21wb3NpdGlvbmVuZFwiLCBmdW5jdGlvbiAoKSB7XG4gICAgICBpZiAoaW5wdXQuY29tcG9zaW5nKSB7XG4gICAgICAgIGlucHV0LnBvbGwoKTtcbiAgICAgICAgaW5wdXQuY29tcG9zaW5nLnJhbmdlLmNsZWFyKCk7XG4gICAgICAgIGlucHV0LmNvbXBvc2luZyA9IG51bGw7XG4gICAgICB9XG4gICAgfSk7XG4gIH07XG5cbiAgVGV4dGFyZWFJbnB1dC5wcm90b3R5cGUuY3JlYXRlRmllbGQgPSBmdW5jdGlvbiAoX2Rpc3BsYXkpIHtcbiAgICAvLyBXcmFwcyBhbmQgaGlkZXMgaW5wdXQgdGV4dGFyZWFcbiAgICB0aGlzLndyYXBwZXIgPSBoaWRkZW5UZXh0YXJlYSgpO1xuICAgIC8vIFRoZSBzZW1paGlkZGVuIHRleHRhcmVhIHRoYXQgaXMgZm9jdXNlZCB3aGVuIHRoZSBlZGl0b3IgaXNcbiAgICAvLyBmb2N1c2VkLCBhbmQgcmVjZWl2ZXMgaW5wdXQuXG4gICAgdGhpcy50ZXh0YXJlYSA9IHRoaXMud3JhcHBlci5maXJzdENoaWxkO1xuICB9O1xuXG4gIFRleHRhcmVhSW5wdXQucHJvdG90eXBlLnByZXBhcmVTZWxlY3Rpb24gPSBmdW5jdGlvbiAoKSB7XG4gICAgLy8gUmVkcmF3IHRoZSBzZWxlY3Rpb24gYW5kL29yIGN1cnNvclxuICAgIHZhciBjbSA9IHRoaXMuY20sIGRpc3BsYXkgPSBjbS5kaXNwbGF5LCBkb2MgPSBjbS5kb2M7XG4gICAgdmFyIHJlc3VsdCA9IHByZXBhcmVTZWxlY3Rpb24oY20pO1xuXG4gICAgLy8gTW92ZSB0aGUgaGlkZGVuIHRleHRhcmVhIG5lYXIgdGhlIGN1cnNvciB0byBwcmV2ZW50IHNjcm9sbGluZyBhcnRpZmFjdHNcbiAgICBpZiAoY20ub3B0aW9ucy5tb3ZlSW5wdXRXaXRoQ3Vyc29yKSB7XG4gICAgICB2YXIgaGVhZFBvcyA9IGN1cnNvckNvb3JkcyhjbSwgZG9jLnNlbC5wcmltYXJ5KCkuaGVhZCwgXCJkaXZcIik7XG4gICAgICB2YXIgd3JhcE9mZiA9IGRpc3BsYXkud3JhcHBlci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSwgbGluZU9mZiA9IGRpc3BsYXkubGluZURpdi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgIHJlc3VsdC50ZVRvcCA9IE1hdGgubWF4KDAsIE1hdGgubWluKGRpc3BsYXkud3JhcHBlci5jbGllbnRIZWlnaHQgLSAxMCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlYWRQb3MudG9wICsgbGluZU9mZi50b3AgLSB3cmFwT2ZmLnRvcCkpO1xuICAgICAgcmVzdWx0LnRlTGVmdCA9IE1hdGgubWF4KDAsIE1hdGgubWluKGRpc3BsYXkud3JhcHBlci5jbGllbnRXaWR0aCAtIDEwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlYWRQb3MubGVmdCArIGxpbmVPZmYubGVmdCAtIHdyYXBPZmYubGVmdCkpO1xuICAgIH1cblxuICAgIHJldHVybiByZXN1bHRcbiAgfTtcblxuICBUZXh0YXJlYUlucHV0LnByb3RvdHlwZS5zaG93U2VsZWN0aW9uID0gZnVuY3Rpb24gKGRyYXduKSB7XG4gICAgdmFyIGNtID0gdGhpcy5jbSwgZGlzcGxheSA9IGNtLmRpc3BsYXk7XG4gICAgcmVtb3ZlQ2hpbGRyZW5BbmRBZGQoZGlzcGxheS5jdXJzb3JEaXYsIGRyYXduLmN1cnNvcnMpO1xuICAgIHJlbW92ZUNoaWxkcmVuQW5kQWRkKGRpc3BsYXkuc2VsZWN0aW9uRGl2LCBkcmF3bi5zZWxlY3Rpb24pO1xuICAgIGlmIChkcmF3bi50ZVRvcCAhPSBudWxsKSB7XG4gICAgICB0aGlzLndyYXBwZXIuc3R5bGUudG9wID0gZHJhd24udGVUb3AgKyBcInB4XCI7XG4gICAgICB0aGlzLndyYXBwZXIuc3R5bGUubGVmdCA9IGRyYXduLnRlTGVmdCArIFwicHhcIjtcbiAgICB9XG4gIH07XG5cbiAgLy8gUmVzZXQgdGhlIGlucHV0IHRvIGNvcnJlc3BvbmQgdG8gdGhlIHNlbGVjdGlvbiAob3IgdG8gYmUgZW1wdHksXG4gIC8vIHdoZW4gbm90IHR5cGluZyBhbmQgbm90aGluZyBpcyBzZWxlY3RlZClcbiAgVGV4dGFyZWFJbnB1dC5wcm90b3R5cGUucmVzZXQgPSBmdW5jdGlvbiAodHlwaW5nKSB7XG4gICAgaWYgKHRoaXMuY29udGV4dE1lbnVQZW5kaW5nIHx8IHRoaXMuY29tcG9zaW5nKSB7IHJldHVybiB9XG4gICAgdmFyIGNtID0gdGhpcy5jbTtcbiAgICBpZiAoY20uc29tZXRoaW5nU2VsZWN0ZWQoKSkge1xuICAgICAgdGhpcy5wcmV2SW5wdXQgPSBcIlwiO1xuICAgICAgdmFyIGNvbnRlbnQgPSBjbS5nZXRTZWxlY3Rpb24oKTtcbiAgICAgIHRoaXMudGV4dGFyZWEudmFsdWUgPSBjb250ZW50O1xuICAgICAgaWYgKGNtLnN0YXRlLmZvY3VzZWQpIHsgc2VsZWN0SW5wdXQodGhpcy50ZXh0YXJlYSk7IH1cbiAgICAgIGlmIChpZSAmJiBpZV92ZXJzaW9uID49IDkpIHsgdGhpcy5oYXNTZWxlY3Rpb24gPSBjb250ZW50OyB9XG4gICAgfSBlbHNlIGlmICghdHlwaW5nKSB7XG4gICAgICB0aGlzLnByZXZJbnB1dCA9IHRoaXMudGV4dGFyZWEudmFsdWUgPSBcIlwiO1xuICAgICAgaWYgKGllICYmIGllX3ZlcnNpb24gPj0gOSkgeyB0aGlzLmhhc1NlbGVjdGlvbiA9IG51bGw7IH1cbiAgICB9XG4gIH07XG5cbiAgVGV4dGFyZWFJbnB1dC5wcm90b3R5cGUuZ2V0RmllbGQgPSBmdW5jdGlvbiAoKSB7IHJldHVybiB0aGlzLnRleHRhcmVhIH07XG5cbiAgVGV4dGFyZWFJbnB1dC5wcm90b3R5cGUuc3VwcG9ydHNUb3VjaCA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGZhbHNlIH07XG5cbiAgVGV4dGFyZWFJbnB1dC5wcm90b3R5cGUuZm9jdXMgPSBmdW5jdGlvbiAoKSB7XG4gICAgaWYgKHRoaXMuY20ub3B0aW9ucy5yZWFkT25seSAhPSBcIm5vY3Vyc29yXCIgJiYgKCFtb2JpbGUgfHwgYWN0aXZlRWx0KCkgIT0gdGhpcy50ZXh0YXJlYSkpIHtcbiAgICAgIHRyeSB7IHRoaXMudGV4dGFyZWEuZm9jdXMoKTsgfVxuICAgICAgY2F0Y2ggKGUpIHt9IC8vIElFOCB3aWxsIHRocm93IGlmIHRoZSB0ZXh0YXJlYSBpcyBkaXNwbGF5OiBub25lIG9yIG5vdCBpbiBET01cbiAgICB9XG4gIH07XG5cbiAgVGV4dGFyZWFJbnB1dC5wcm90b3R5cGUuYmx1ciA9IGZ1bmN0aW9uICgpIHsgdGhpcy50ZXh0YXJlYS5ibHVyKCk7IH07XG5cbiAgVGV4dGFyZWFJbnB1dC5wcm90b3R5cGUucmVzZXRQb3NpdGlvbiA9IGZ1bmN0aW9uICgpIHtcbiAgICB0aGlzLndyYXBwZXIuc3R5bGUudG9wID0gdGhpcy53cmFwcGVyLnN0eWxlLmxlZnQgPSAwO1xuICB9O1xuXG4gIFRleHRhcmVhSW5wdXQucHJvdG90eXBlLnJlY2VpdmVkRm9jdXMgPSBmdW5jdGlvbiAoKSB7IHRoaXMuc2xvd1BvbGwoKTsgfTtcblxuICAvLyBQb2xsIGZvciBpbnB1dCBjaGFuZ2VzLCB1c2luZyB0aGUgbm9ybWFsIHJhdGUgb2YgcG9sbGluZy4gVGhpc1xuICAvLyBydW5zIGFzIGxvbmcgYXMgdGhlIGVkaXRvciBpcyBmb2N1c2VkLlxuICBUZXh0YXJlYUlucHV0LnByb3RvdHlwZS5zbG93UG9sbCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIHZhciB0aGlzJDEgPSB0aGlzO1xuXG4gICAgaWYgKHRoaXMucG9sbGluZ0Zhc3QpIHsgcmV0dXJuIH1cbiAgICB0aGlzLnBvbGxpbmcuc2V0KHRoaXMuY20ub3B0aW9ucy5wb2xsSW50ZXJ2YWwsIGZ1bmN0aW9uICgpIHtcbiAgICAgIHRoaXMkMS5wb2xsKCk7XG4gICAgICBpZiAodGhpcyQxLmNtLnN0YXRlLmZvY3VzZWQpIHsgdGhpcyQxLnNsb3dQb2xsKCk7IH1cbiAgICB9KTtcbiAgfTtcblxuICAvLyBXaGVuIGFuIGV2ZW50IGhhcyBqdXN0IGNvbWUgaW4gdGhhdCBpcyBsaWtlbHkgdG8gYWRkIG9yIGNoYW5nZVxuICAvLyBzb21ldGhpbmcgaW4gdGhlIGlucHV0IHRleHRhcmVhLCB3ZSBwb2xsIGZhc3RlciwgdG8gZW5zdXJlIHRoYXRcbiAgLy8gdGhlIGNoYW5nZSBhcHBlYXJzIG9uIHRoZSBzY3JlZW4gcXVpY2tseS5cbiAgVGV4dGFyZWFJbnB1dC5wcm90b3R5cGUuZmFzdFBvbGwgPSBmdW5jdGlvbiAoKSB7XG4gICAgdmFyIG1pc3NlZCA9IGZhbHNlLCBpbnB1dCA9IHRoaXM7XG4gICAgaW5wdXQucG9sbGluZ0Zhc3QgPSB0cnVlO1xuICAgIGZ1bmN0aW9uIHAoKSB7XG4gICAgICB2YXIgY2hhbmdlZCA9IGlucHV0LnBvbGwoKTtcbiAgICAgIGlmICghY2hhbmdlZCAmJiAhbWlzc2VkKSB7bWlzc2VkID0gdHJ1ZTsgaW5wdXQucG9sbGluZy5zZXQoNjAsIHApO31cbiAgICAgIGVsc2Uge2lucHV0LnBvbGxpbmdGYXN0ID0gZmFsc2U7IGlucHV0LnNsb3dQb2xsKCk7fVxuICAgIH1cbiAgICBpbnB1dC5wb2xsaW5nLnNldCgyMCwgcCk7XG4gIH07XG5cbiAgLy8gUmVhZCBpbnB1dCBmcm9tIHRoZSB0ZXh0YXJlYSwgYW5kIHVwZGF0ZSB0aGUgZG9jdW1lbnQgdG8gbWF0Y2guXG4gIC8vIFdoZW4gc29tZXRoaW5nIGlzIHNlbGVjdGVkLCBpdCBpcyBwcmVzZW50IGluIHRoZSB0ZXh0YXJlYSwgYW5kXG4gIC8vIHNlbGVjdGVkICh1bmxlc3MgaXQgaXMgaHVnZSwgaW4gd2hpY2ggY2FzZSBhIHBsYWNlaG9sZGVyIGlzXG4gIC8vIHVzZWQpLiBXaGVuIG5vdGhpbmcgaXMgc2VsZWN0ZWQsIHRoZSBjdXJzb3Igc2l0cyBhZnRlciBwcmV2aW91c2x5XG4gIC8vIHNlZW4gdGV4dCAoY2FuIGJlIGVtcHR5KSwgd2hpY2ggaXMgc3RvcmVkIGluIHByZXZJbnB1dCAod2UgbXVzdFxuICAvLyBub3QgcmVzZXQgdGhlIHRleHRhcmVhIHdoZW4gdHlwaW5nLCBiZWNhdXNlIHRoYXQgYnJlYWtzIElNRSkuXG4gIFRleHRhcmVhSW5wdXQucHJvdG90eXBlLnBvbGwgPSBmdW5jdGlvbiAoKSB7XG4gICAgICB2YXIgdGhpcyQxID0gdGhpcztcblxuICAgIHZhciBjbSA9IHRoaXMuY20sIGlucHV0ID0gdGhpcy50ZXh0YXJlYSwgcHJldklucHV0ID0gdGhpcy5wcmV2SW5wdXQ7XG4gICAgLy8gU2luY2UgdGhpcyBpcyBjYWxsZWQgYSAqbG90KiwgdHJ5IHRvIGJhaWwgb3V0IGFzIGNoZWFwbHkgYXNcbiAgICAvLyBwb3NzaWJsZSB3aGVuIGl0IGlzIGNsZWFyIHRoYXQgbm90aGluZyBoYXBwZW5lZC4gaGFzU2VsZWN0aW9uXG4gICAgLy8gd2lsbCBiZSB0aGUgY2FzZSB3aGVuIHRoZXJlIGlzIGEgbG90IG9mIHRleHQgaW4gdGhlIHRleHRhcmVhLFxuICAgIC8vIGluIHdoaWNoIGNhc2UgcmVhZGluZyBpdHMgdmFsdWUgd291bGQgYmUgZXhwZW5zaXZlLlxuICAgIGlmICh0aGlzLmNvbnRleHRNZW51UGVuZGluZyB8fCAhY20uc3RhdGUuZm9jdXNlZCB8fFxuICAgICAgICAoaGFzU2VsZWN0aW9uKGlucHV0KSAmJiAhcHJldklucHV0ICYmICF0aGlzLmNvbXBvc2luZykgfHxcbiAgICAgICAgY20uaXNSZWFkT25seSgpIHx8IGNtLm9wdGlvbnMuZGlzYWJsZUlucHV0IHx8IGNtLnN0YXRlLmtleVNlcSlcbiAgICAgIHsgcmV0dXJuIGZhbHNlIH1cblxuICAgIHZhciB0ZXh0ID0gaW5wdXQudmFsdWU7XG4gICAgLy8gSWYgbm90aGluZyBjaGFuZ2VkLCBiYWlsLlxuICAgIGlmICh0ZXh0ID09IHByZXZJbnB1dCAmJiAhY20uc29tZXRoaW5nU2VsZWN0ZWQoKSkgeyByZXR1cm4gZmFsc2UgfVxuICAgIC8vIFdvcmsgYXJvdW5kIG5vbnNlbnNpY2FsIHNlbGVjdGlvbiByZXNldHRpbmcgaW4gSUU5LzEwLCBhbmRcbiAgICAvLyBpbmV4cGxpY2FibGUgYXBwZWFyYW5jZSBvZiBwcml2YXRlIGFyZWEgdW5pY29kZSBjaGFyYWN0ZXJzIG9uXG4gICAgLy8gc29tZSBrZXkgY29tYm9zIGluIE1hYyAoIzI2ODkpLlxuICAgIGlmIChpZSAmJiBpZV92ZXJzaW9uID49IDkgJiYgdGhpcy5oYXNTZWxlY3Rpb24gPT09IHRleHQgfHxcbiAgICAgICAgbWFjICYmIC9bXFx1ZjcwMC1cXHVmN2ZmXS8udGVzdCh0ZXh0KSkge1xuICAgICAgY20uZGlzcGxheS5pbnB1dC5yZXNldCgpO1xuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfVxuXG4gICAgaWYgKGNtLmRvYy5zZWwgPT0gY20uZGlzcGxheS5zZWxGb3JDb250ZXh0TWVudSkge1xuICAgICAgdmFyIGZpcnN0ID0gdGV4dC5jaGFyQ29kZUF0KDApO1xuICAgICAgaWYgKGZpcnN0ID09IDB4MjAwYiAmJiAhcHJldklucHV0KSB7IHByZXZJbnB1dCA9IFwiXFx1MjAwYlwiOyB9XG4gICAgICBpZiAoZmlyc3QgPT0gMHgyMWRhKSB7IHRoaXMucmVzZXQoKTsgcmV0dXJuIHRoaXMuY20uZXhlY0NvbW1hbmQoXCJ1bmRvXCIpIH1cbiAgICB9XG4gICAgLy8gRmluZCB0aGUgcGFydCBvZiB0aGUgaW5wdXQgdGhhdCBpcyBhY3R1YWxseSBuZXdcbiAgICB2YXIgc2FtZSA9IDAsIGwgPSBNYXRoLm1pbihwcmV2SW5wdXQubGVuZ3RoLCB0ZXh0Lmxlbmd0aCk7XG4gICAgd2hpbGUgKHNhbWUgPCBsICYmIHByZXZJbnB1dC5jaGFyQ29kZUF0KHNhbWUpID09IHRleHQuY2hhckNvZGVBdChzYW1lKSkgeyArK3NhbWU7IH1cblxuICAgIHJ1bkluT3AoY20sIGZ1bmN0aW9uICgpIHtcbiAgICAgIGFwcGx5VGV4dElucHV0KGNtLCB0ZXh0LnNsaWNlKHNhbWUpLCBwcmV2SW5wdXQubGVuZ3RoIC0gc2FtZSxcbiAgICAgICAgICAgICAgICAgICAgIG51bGwsIHRoaXMkMS5jb21wb3NpbmcgPyBcIipjb21wb3NlXCIgOiBudWxsKTtcblxuICAgICAgLy8gRG9uJ3QgbGVhdmUgbG9uZyB0ZXh0IGluIHRoZSB0ZXh0YXJlYSwgc2luY2UgaXQgbWFrZXMgZnVydGhlciBwb2xsaW5nIHNsb3dcbiAgICAgIGlmICh0ZXh0Lmxlbmd0aCA+IDEwMDAgfHwgdGV4dC5pbmRleE9mKFwiXFxuXCIpID4gLTEpIHsgaW5wdXQudmFsdWUgPSB0aGlzJDEucHJldklucHV0ID0gXCJcIjsgfVxuICAgICAgZWxzZSB7IHRoaXMkMS5wcmV2SW5wdXQgPSB0ZXh0OyB9XG5cbiAgICAgIGlmICh0aGlzJDEuY29tcG9zaW5nKSB7XG4gICAgICAgIHRoaXMkMS5jb21wb3NpbmcucmFuZ2UuY2xlYXIoKTtcbiAgICAgICAgdGhpcyQxLmNvbXBvc2luZy5yYW5nZSA9IGNtLm1hcmtUZXh0KHRoaXMkMS5jb21wb3Npbmcuc3RhcnQsIGNtLmdldEN1cnNvcihcInRvXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtjbGFzc05hbWU6IFwiQ29kZU1pcnJvci1jb21wb3NpbmdcIn0pO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiB0cnVlXG4gIH07XG5cbiAgVGV4dGFyZWFJbnB1dC5wcm90b3R5cGUuZW5zdXJlUG9sbGVkID0gZnVuY3Rpb24gKCkge1xuICAgIGlmICh0aGlzLnBvbGxpbmdGYXN0ICYmIHRoaXMucG9sbCgpKSB7IHRoaXMucG9sbGluZ0Zhc3QgPSBmYWxzZTsgfVxuICB9O1xuXG4gIFRleHRhcmVhSW5wdXQucHJvdG90eXBlLm9uS2V5UHJlc3MgPSBmdW5jdGlvbiAoKSB7XG4gICAgaWYgKGllICYmIGllX3ZlcnNpb24gPj0gOSkgeyB0aGlzLmhhc1NlbGVjdGlvbiA9IG51bGw7IH1cbiAgICB0aGlzLmZhc3RQb2xsKCk7XG4gIH07XG5cbiAgVGV4dGFyZWFJbnB1dC5wcm90b3R5cGUub25Db250ZXh0TWVudSA9IGZ1bmN0aW9uIChlKSB7XG4gICAgdmFyIGlucHV0ID0gdGhpcywgY20gPSBpbnB1dC5jbSwgZGlzcGxheSA9IGNtLmRpc3BsYXksIHRlID0gaW5wdXQudGV4dGFyZWE7XG4gICAgaWYgKGlucHV0LmNvbnRleHRNZW51UGVuZGluZykgeyBpbnB1dC5jb250ZXh0TWVudVBlbmRpbmcoKTsgfVxuICAgIHZhciBwb3MgPSBwb3NGcm9tTW91c2UoY20sIGUpLCBzY3JvbGxQb3MgPSBkaXNwbGF5LnNjcm9sbGVyLnNjcm9sbFRvcDtcbiAgICBpZiAoIXBvcyB8fCBwcmVzdG8pIHsgcmV0dXJuIH0gLy8gT3BlcmEgaXMgZGlmZmljdWx0LlxuXG4gICAgLy8gUmVzZXQgdGhlIGN1cnJlbnQgdGV4dCBzZWxlY3Rpb24gb25seSBpZiB0aGUgY2xpY2sgaXMgZG9uZSBvdXRzaWRlIG9mIHRoZSBzZWxlY3Rpb25cbiAgICAvLyBhbmQgJ3Jlc2V0U2VsZWN0aW9uT25Db250ZXh0TWVudScgb3B0aW9uIGlzIHRydWUuXG4gICAgdmFyIHJlc2V0ID0gY20ub3B0aW9ucy5yZXNldFNlbGVjdGlvbk9uQ29udGV4dE1lbnU7XG4gICAgaWYgKHJlc2V0ICYmIGNtLmRvYy5zZWwuY29udGFpbnMocG9zKSA9PSAtMSlcbiAgICAgIHsgb3BlcmF0aW9uKGNtLCBzZXRTZWxlY3Rpb24pKGNtLmRvYywgc2ltcGxlU2VsZWN0aW9uKHBvcyksIHNlbF9kb250U2Nyb2xsKTsgfVxuXG4gICAgdmFyIG9sZENTUyA9IHRlLnN0eWxlLmNzc1RleHQsIG9sZFdyYXBwZXJDU1MgPSBpbnB1dC53cmFwcGVyLnN0eWxlLmNzc1RleHQ7XG4gICAgdmFyIHdyYXBwZXJCb3ggPSBpbnB1dC53cmFwcGVyLm9mZnNldFBhcmVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICBpbnB1dC53cmFwcGVyLnN0eWxlLmNzc1RleHQgPSBcInBvc2l0aW9uOiBzdGF0aWNcIjtcbiAgICB0ZS5zdHlsZS5jc3NUZXh0ID0gXCJwb3NpdGlvbjogYWJzb2x1dGU7IHdpZHRoOiAzMHB4OyBoZWlnaHQ6IDMwcHg7XFxuICAgICAgdG9wOiBcIiArIChlLmNsaWVudFkgLSB3cmFwcGVyQm94LnRvcCAtIDUpICsgXCJweDsgbGVmdDogXCIgKyAoZS5jbGllbnRYIC0gd3JhcHBlckJveC5sZWZ0IC0gNSkgKyBcInB4O1xcbiAgICAgIHotaW5kZXg6IDEwMDA7IGJhY2tncm91bmQ6IFwiICsgKGllID8gXCJyZ2JhKDI1NSwgMjU1LCAyNTUsIC4wNSlcIiA6IFwidHJhbnNwYXJlbnRcIikgKyBcIjtcXG4gICAgICBvdXRsaW5lOiBub25lOyBib3JkZXItd2lkdGg6IDA7IG91dGxpbmU6IG5vbmU7IG92ZXJmbG93OiBoaWRkZW47IG9wYWNpdHk6IC4wNTsgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTUpO1wiO1xuICAgIHZhciBvbGRTY3JvbGxZO1xuICAgIGlmICh3ZWJraXQpIHsgb2xkU2Nyb2xsWSA9IHdpbmRvdy5zY3JvbGxZOyB9IC8vIFdvcmsgYXJvdW5kIENocm9tZSBpc3N1ZSAoIzI3MTIpXG4gICAgZGlzcGxheS5pbnB1dC5mb2N1cygpO1xuICAgIGlmICh3ZWJraXQpIHsgd2luZG93LnNjcm9sbFRvKG51bGwsIG9sZFNjcm9sbFkpOyB9XG4gICAgZGlzcGxheS5pbnB1dC5yZXNldCgpO1xuICAgIC8vIEFkZHMgXCJTZWxlY3QgYWxsXCIgdG8gY29udGV4dCBtZW51IGluIEZGXG4gICAgaWYgKCFjbS5zb21ldGhpbmdTZWxlY3RlZCgpKSB7IHRlLnZhbHVlID0gaW5wdXQucHJldklucHV0ID0gXCIgXCI7IH1cbiAgICBpbnB1dC5jb250ZXh0TWVudVBlbmRpbmcgPSByZWhpZGU7XG4gICAgZGlzcGxheS5zZWxGb3JDb250ZXh0TWVudSA9IGNtLmRvYy5zZWw7XG4gICAgY2xlYXJUaW1lb3V0KGRpc3BsYXkuZGV0ZWN0aW5nU2VsZWN0QWxsKTtcblxuICAgIC8vIFNlbGVjdC1hbGwgd2lsbCBiZSBncmV5ZWQgb3V0IGlmIHRoZXJlJ3Mgbm90aGluZyB0byBzZWxlY3QsIHNvXG4gICAgLy8gdGhpcyBhZGRzIGEgemVyby13aWR0aCBzcGFjZSBzbyB0aGF0IHdlIGNhbiBsYXRlciBjaGVjayB3aGV0aGVyXG4gICAgLy8gaXQgZ290IHNlbGVjdGVkLlxuICAgIGZ1bmN0aW9uIHByZXBhcmVTZWxlY3RBbGxIYWNrKCkge1xuICAgICAgaWYgKHRlLnNlbGVjdGlvblN0YXJ0ICE9IG51bGwpIHtcbiAgICAgICAgdmFyIHNlbGVjdGVkID0gY20uc29tZXRoaW5nU2VsZWN0ZWQoKTtcbiAgICAgICAgdmFyIGV4dHZhbCA9IFwiXFx1MjAwYlwiICsgKHNlbGVjdGVkID8gdGUudmFsdWUgOiBcIlwiKTtcbiAgICAgICAgdGUudmFsdWUgPSBcIlxcdTIxZGFcIjsgLy8gVXNlZCB0byBjYXRjaCBjb250ZXh0LW1lbnUgdW5kb1xuICAgICAgICB0ZS52YWx1ZSA9IGV4dHZhbDtcbiAgICAgICAgaW5wdXQucHJldklucHV0ID0gc2VsZWN0ZWQgPyBcIlwiIDogXCJcXHUyMDBiXCI7XG4gICAgICAgIHRlLnNlbGVjdGlvblN0YXJ0ID0gMTsgdGUuc2VsZWN0aW9uRW5kID0gZXh0dmFsLmxlbmd0aDtcbiAgICAgICAgLy8gUmUtc2V0IHRoaXMsIGluIGNhc2Ugc29tZSBvdGhlciBoYW5kbGVyIHRvdWNoZWQgdGhlXG4gICAgICAgIC8vIHNlbGVjdGlvbiBpbiB0aGUgbWVhbnRpbWUuXG4gICAgICAgIGRpc3BsYXkuc2VsRm9yQ29udGV4dE1lbnUgPSBjbS5kb2Muc2VsO1xuICAgICAgfVxuICAgIH1cbiAgICBmdW5jdGlvbiByZWhpZGUoKSB7XG4gICAgICBpZiAoaW5wdXQuY29udGV4dE1lbnVQZW5kaW5nICE9IHJlaGlkZSkgeyByZXR1cm4gfVxuICAgICAgaW5wdXQuY29udGV4dE1lbnVQZW5kaW5nID0gZmFsc2U7XG4gICAgICBpbnB1dC53cmFwcGVyLnN0eWxlLmNzc1RleHQgPSBvbGRXcmFwcGVyQ1NTO1xuICAgICAgdGUuc3R5bGUuY3NzVGV4dCA9IG9sZENTUztcbiAgICAgIGlmIChpZSAmJiBpZV92ZXJzaW9uIDwgOSkgeyBkaXNwbGF5LnNjcm9sbGJhcnMuc2V0U2Nyb2xsVG9wKGRpc3BsYXkuc2Nyb2xsZXIuc2Nyb2xsVG9wID0gc2Nyb2xsUG9zKTsgfVxuXG4gICAgICAvLyBUcnkgdG8gZGV0ZWN0IHRoZSB1c2VyIGNob29zaW5nIHNlbGVjdC1hbGxcbiAgICAgIGlmICh0ZS5zZWxlY3Rpb25TdGFydCAhPSBudWxsKSB7XG4gICAgICAgIGlmICghaWUgfHwgKGllICYmIGllX3ZlcnNpb24gPCA5KSkgeyBwcmVwYXJlU2VsZWN0QWxsSGFjaygpOyB9XG4gICAgICAgIHZhciBpID0gMCwgcG9sbCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICBpZiAoZGlzcGxheS5zZWxGb3JDb250ZXh0TWVudSA9PSBjbS5kb2Muc2VsICYmIHRlLnNlbGVjdGlvblN0YXJ0ID09IDAgJiZcbiAgICAgICAgICAgICAgdGUuc2VsZWN0aW9uRW5kID4gMCAmJiBpbnB1dC5wcmV2SW5wdXQgPT0gXCJcXHUyMDBiXCIpIHtcbiAgICAgICAgICAgIG9wZXJhdGlvbihjbSwgc2VsZWN0QWxsKShjbSk7XG4gICAgICAgICAgfSBlbHNlIGlmIChpKysgPCAxMCkge1xuICAgICAgICAgICAgZGlzcGxheS5kZXRlY3RpbmdTZWxlY3RBbGwgPSBzZXRUaW1lb3V0KHBvbGwsIDUwMCk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGRpc3BsYXkuc2VsRm9yQ29udGV4dE1lbnUgPSBudWxsO1xuICAgICAgICAgICAgZGlzcGxheS5pbnB1dC5yZXNldCgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgICAgZGlzcGxheS5kZXRlY3RpbmdTZWxlY3RBbGwgPSBzZXRUaW1lb3V0KHBvbGwsIDIwMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGllICYmIGllX3ZlcnNpb24gPj0gOSkgeyBwcmVwYXJlU2VsZWN0QWxsSGFjaygpOyB9XG4gICAgaWYgKGNhcHR1cmVSaWdodENsaWNrKSB7XG4gICAgICBlX3N0b3AoZSk7XG4gICAgICB2YXIgbW91c2V1cCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgb2ZmKHdpbmRvdywgXCJtb3VzZXVwXCIsIG1vdXNldXApO1xuICAgICAgICBzZXRUaW1lb3V0KHJlaGlkZSwgMjApO1xuICAgICAgfTtcbiAgICAgIG9uKHdpbmRvdywgXCJtb3VzZXVwXCIsIG1vdXNldXApO1xuICAgIH0gZWxzZSB7XG4gICAgICBzZXRUaW1lb3V0KHJlaGlkZSwgNTApO1xuICAgIH1cbiAgfTtcblxuICBUZXh0YXJlYUlucHV0LnByb3RvdHlwZS5yZWFkT25seUNoYW5nZWQgPSBmdW5jdGlvbiAodmFsKSB7XG4gICAgaWYgKCF2YWwpIHsgdGhpcy5yZXNldCgpOyB9XG4gICAgdGhpcy50ZXh0YXJlYS5kaXNhYmxlZCA9IHZhbCA9PSBcIm5vY3Vyc29yXCI7XG4gIH07XG5cbiAgVGV4dGFyZWFJbnB1dC5wcm90b3R5cGUuc2V0VW5lZGl0YWJsZSA9IGZ1bmN0aW9uICgpIHt9O1xuXG4gIFRleHRhcmVhSW5wdXQucHJvdG90eXBlLm5lZWRzQ29udGVudEF0dHJpYnV0ZSA9IGZhbHNlO1xuXG4gIGZ1bmN0aW9uIGZyb21UZXh0QXJlYSh0ZXh0YXJlYSwgb3B0aW9ucykge1xuICAgIG9wdGlvbnMgPSBvcHRpb25zID8gY29weU9iaihvcHRpb25zKSA6IHt9O1xuICAgIG9wdGlvbnMudmFsdWUgPSB0ZXh0YXJlYS52YWx1ZTtcbiAgICBpZiAoIW9wdGlvbnMudGFiaW5kZXggJiYgdGV4dGFyZWEudGFiSW5kZXgpXG4gICAgICB7IG9wdGlvbnMudGFiaW5kZXggPSB0ZXh0YXJlYS50YWJJbmRleDsgfVxuICAgIGlmICghb3B0aW9ucy5wbGFjZWhvbGRlciAmJiB0ZXh0YXJlYS5wbGFjZWhvbGRlcilcbiAgICAgIHsgb3B0aW9ucy5wbGFjZWhvbGRlciA9IHRleHRhcmVhLnBsYWNlaG9sZGVyOyB9XG4gICAgLy8gU2V0IGF1dG9mb2N1cyB0byB0cnVlIGlmIHRoaXMgdGV4dGFyZWEgaXMgZm9jdXNlZCwgb3IgaWYgaXQgaGFzXG4gICAgLy8gYXV0b2ZvY3VzIGFuZCBubyBvdGhlciBlbGVtZW50IGlzIGZvY3VzZWQuXG4gICAgaWYgKG9wdGlvbnMuYXV0b2ZvY3VzID09IG51bGwpIHtcbiAgICAgIHZhciBoYXNGb2N1cyA9IGFjdGl2ZUVsdCgpO1xuICAgICAgb3B0aW9ucy5hdXRvZm9jdXMgPSBoYXNGb2N1cyA9PSB0ZXh0YXJlYSB8fFxuICAgICAgICB0ZXh0YXJlYS5nZXRBdHRyaWJ1dGUoXCJhdXRvZm9jdXNcIikgIT0gbnVsbCAmJiBoYXNGb2N1cyA9PSBkb2N1bWVudC5ib2R5O1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIHNhdmUoKSB7dGV4dGFyZWEudmFsdWUgPSBjbS5nZXRWYWx1ZSgpO31cblxuICAgIHZhciByZWFsU3VibWl0O1xuICAgIGlmICh0ZXh0YXJlYS5mb3JtKSB7XG4gICAgICBvbih0ZXh0YXJlYS5mb3JtLCBcInN1Ym1pdFwiLCBzYXZlKTtcbiAgICAgIC8vIERlcGxvcmFibGUgaGFjayB0byBtYWtlIHRoZSBzdWJtaXQgbWV0aG9kIGRvIHRoZSByaWdodCB0aGluZy5cbiAgICAgIGlmICghb3B0aW9ucy5sZWF2ZVN1Ym1pdE1ldGhvZEFsb25lKSB7XG4gICAgICAgIHZhciBmb3JtID0gdGV4dGFyZWEuZm9ybTtcbiAgICAgICAgcmVhbFN1Ym1pdCA9IGZvcm0uc3VibWl0O1xuICAgICAgICB0cnkge1xuICAgICAgICAgIHZhciB3cmFwcGVkU3VibWl0ID0gZm9ybS5zdWJtaXQgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICBzYXZlKCk7XG4gICAgICAgICAgICBmb3JtLnN1Ym1pdCA9IHJlYWxTdWJtaXQ7XG4gICAgICAgICAgICBmb3JtLnN1Ym1pdCgpO1xuICAgICAgICAgICAgZm9ybS5zdWJtaXQgPSB3cmFwcGVkU3VibWl0O1xuICAgICAgICAgIH07XG4gICAgICAgIH0gY2F0Y2goZSkge31cbiAgICAgIH1cbiAgICB9XG5cbiAgICBvcHRpb25zLmZpbmlzaEluaXQgPSBmdW5jdGlvbiAoY20pIHtcbiAgICAgIGNtLnNhdmUgPSBzYXZlO1xuICAgICAgY20uZ2V0VGV4dEFyZWEgPSBmdW5jdGlvbiAoKSB7IHJldHVybiB0ZXh0YXJlYTsgfTtcbiAgICAgIGNtLnRvVGV4dEFyZWEgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGNtLnRvVGV4dEFyZWEgPSBpc05hTjsgLy8gUHJldmVudCB0aGlzIGZyb20gYmVpbmcgcmFuIHR3aWNlXG4gICAgICAgIHNhdmUoKTtcbiAgICAgICAgdGV4dGFyZWEucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChjbS5nZXRXcmFwcGVyRWxlbWVudCgpKTtcbiAgICAgICAgdGV4dGFyZWEuc3R5bGUuZGlzcGxheSA9IFwiXCI7XG4gICAgICAgIGlmICh0ZXh0YXJlYS5mb3JtKSB7XG4gICAgICAgICAgb2ZmKHRleHRhcmVhLmZvcm0sIFwic3VibWl0XCIsIHNhdmUpO1xuICAgICAgICAgIGlmICh0eXBlb2YgdGV4dGFyZWEuZm9ybS5zdWJtaXQgPT0gXCJmdW5jdGlvblwiKVxuICAgICAgICAgICAgeyB0ZXh0YXJlYS5mb3JtLnN1Ym1pdCA9IHJlYWxTdWJtaXQ7IH1cbiAgICAgICAgfVxuICAgICAgfTtcbiAgICB9O1xuXG4gICAgdGV4dGFyZWEuc3R5bGUuZGlzcGxheSA9IFwibm9uZVwiO1xuICAgIHZhciBjbSA9IENvZGVNaXJyb3IoZnVuY3Rpb24gKG5vZGUpIHsgcmV0dXJuIHRleHRhcmVhLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKG5vZGUsIHRleHRhcmVhLm5leHRTaWJsaW5nKTsgfSxcbiAgICAgIG9wdGlvbnMpO1xuICAgIHJldHVybiBjbVxuICB9XG5cbiAgZnVuY3Rpb24gYWRkTGVnYWN5UHJvcHMoQ29kZU1pcnJvcikge1xuICAgIENvZGVNaXJyb3Iub2ZmID0gb2ZmO1xuICAgIENvZGVNaXJyb3Iub24gPSBvbjtcbiAgICBDb2RlTWlycm9yLndoZWVsRXZlbnRQaXhlbHMgPSB3aGVlbEV2ZW50UGl4ZWxzO1xuICAgIENvZGVNaXJyb3IuRG9jID0gRG9jO1xuICAgIENvZGVNaXJyb3Iuc3BsaXRMaW5lcyA9IHNwbGl0TGluZXNBdXRvO1xuICAgIENvZGVNaXJyb3IuY291bnRDb2x1bW4gPSBjb3VudENvbHVtbjtcbiAgICBDb2RlTWlycm9yLmZpbmRDb2x1bW4gPSBmaW5kQ29sdW1uO1xuICAgIENvZGVNaXJyb3IuaXNXb3JkQ2hhciA9IGlzV29yZENoYXJCYXNpYztcbiAgICBDb2RlTWlycm9yLlBhc3MgPSBQYXNzO1xuICAgIENvZGVNaXJyb3Iuc2lnbmFsID0gc2lnbmFsO1xuICAgIENvZGVNaXJyb3IuTGluZSA9IExpbmU7XG4gICAgQ29kZU1pcnJvci5jaGFuZ2VFbmQgPSBjaGFuZ2VFbmQ7XG4gICAgQ29kZU1pcnJvci5zY3JvbGxiYXJNb2RlbCA9IHNjcm9sbGJhck1vZGVsO1xuICAgIENvZGVNaXJyb3IuUG9zID0gUG9zO1xuICAgIENvZGVNaXJyb3IuY21wUG9zID0gY21wO1xuICAgIENvZGVNaXJyb3IubW9kZXMgPSBtb2RlcztcbiAgICBDb2RlTWlycm9yLm1pbWVNb2RlcyA9IG1pbWVNb2RlcztcbiAgICBDb2RlTWlycm9yLnJlc29sdmVNb2RlID0gcmVzb2x2ZU1vZGU7XG4gICAgQ29kZU1pcnJvci5nZXRNb2RlID0gZ2V0TW9kZTtcbiAgICBDb2RlTWlycm9yLm1vZGVFeHRlbnNpb25zID0gbW9kZUV4dGVuc2lvbnM7XG4gICAgQ29kZU1pcnJvci5leHRlbmRNb2RlID0gZXh0ZW5kTW9kZTtcbiAgICBDb2RlTWlycm9yLmNvcHlTdGF0ZSA9IGNvcHlTdGF0ZTtcbiAgICBDb2RlTWlycm9yLnN0YXJ0U3RhdGUgPSBzdGFydFN0YXRlO1xuICAgIENvZGVNaXJyb3IuaW5uZXJNb2RlID0gaW5uZXJNb2RlO1xuICAgIENvZGVNaXJyb3IuY29tbWFuZHMgPSBjb21tYW5kcztcbiAgICBDb2RlTWlycm9yLmtleU1hcCA9IGtleU1hcDtcbiAgICBDb2RlTWlycm9yLmtleU5hbWUgPSBrZXlOYW1lO1xuICAgIENvZGVNaXJyb3IuaXNNb2RpZmllcktleSA9IGlzTW9kaWZpZXJLZXk7XG4gICAgQ29kZU1pcnJvci5sb29rdXBLZXkgPSBsb29rdXBLZXk7XG4gICAgQ29kZU1pcnJvci5ub3JtYWxpemVLZXlNYXAgPSBub3JtYWxpemVLZXlNYXA7XG4gICAgQ29kZU1pcnJvci5TdHJpbmdTdHJlYW0gPSBTdHJpbmdTdHJlYW07XG4gICAgQ29kZU1pcnJvci5TaGFyZWRUZXh0TWFya2VyID0gU2hhcmVkVGV4dE1hcmtlcjtcbiAgICBDb2RlTWlycm9yLlRleHRNYXJrZXIgPSBUZXh0TWFya2VyO1xuICAgIENvZGVNaXJyb3IuTGluZVdpZGdldCA9IExpbmVXaWRnZXQ7XG4gICAgQ29kZU1pcnJvci5lX3ByZXZlbnREZWZhdWx0ID0gZV9wcmV2ZW50RGVmYXVsdDtcbiAgICBDb2RlTWlycm9yLmVfc3RvcFByb3BhZ2F0aW9uID0gZV9zdG9wUHJvcGFnYXRpb247XG4gICAgQ29kZU1pcnJvci5lX3N0b3AgPSBlX3N0b3A7XG4gICAgQ29kZU1pcnJvci5hZGRDbGFzcyA9IGFkZENsYXNzO1xuICAgIENvZGVNaXJyb3IuY29udGFpbnMgPSBjb250YWlucztcbiAgICBDb2RlTWlycm9yLnJtQ2xhc3MgPSBybUNsYXNzO1xuICAgIENvZGVNaXJyb3Iua2V5TmFtZXMgPSBrZXlOYW1lcztcbiAgfVxuXG4gIC8vIEVESVRPUiBDT05TVFJVQ1RPUlxuXG4gIGRlZmluZU9wdGlvbnMoQ29kZU1pcnJvcik7XG5cbiAgYWRkRWRpdG9yTWV0aG9kcyhDb2RlTWlycm9yKTtcblxuICAvLyBTZXQgdXAgbWV0aG9kcyBvbiBDb2RlTWlycm9yJ3MgcHJvdG90eXBlIHRvIHJlZGlyZWN0IHRvIHRoZSBlZGl0b3IncyBkb2N1bWVudC5cbiAgdmFyIGRvbnREZWxlZ2F0ZSA9IFwiaXRlciBpbnNlcnQgcmVtb3ZlIGNvcHkgZ2V0RWRpdG9yIGNvbnN0cnVjdG9yXCIuc3BsaXQoXCIgXCIpO1xuICBmb3IgKHZhciBwcm9wIGluIERvYy5wcm90b3R5cGUpIHsgaWYgKERvYy5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkocHJvcCkgJiYgaW5kZXhPZihkb250RGVsZWdhdGUsIHByb3ApIDwgMClcbiAgICB7IENvZGVNaXJyb3IucHJvdG90eXBlW3Byb3BdID0gKGZ1bmN0aW9uKG1ldGhvZCkge1xuICAgICAgcmV0dXJuIGZ1bmN0aW9uKCkge3JldHVybiBtZXRob2QuYXBwbHkodGhpcy5kb2MsIGFyZ3VtZW50cyl9XG4gICAgfSkoRG9jLnByb3RvdHlwZVtwcm9wXSk7IH0gfVxuXG4gIGV2ZW50TWl4aW4oRG9jKTtcbiAgQ29kZU1pcnJvci5pbnB1dFN0eWxlcyA9IHtcInRleHRhcmVhXCI6IFRleHRhcmVhSW5wdXQsIFwiY29udGVudGVkaXRhYmxlXCI6IENvbnRlbnRFZGl0YWJsZUlucHV0fTtcblxuICAvLyBFeHRyYSBhcmd1bWVudHMgYXJlIHN0b3JlZCBhcyB0aGUgbW9kZSdzIGRlcGVuZGVuY2llcywgd2hpY2ggaXNcbiAgLy8gdXNlZCBieSAobGVnYWN5KSBtZWNoYW5pc21zIGxpa2UgbG9hZG1vZGUuanMgdG8gYXV0b21hdGljYWxseVxuICAvLyBsb2FkIGEgbW9kZS4gKFByZWZlcnJlZCBtZWNoYW5pc20gaXMgdGhlIHJlcXVpcmUvZGVmaW5lIGNhbGxzLilcbiAgQ29kZU1pcnJvci5kZWZpbmVNb2RlID0gZnVuY3Rpb24obmFtZS8qLCBtb2RlLCDigKYqLykge1xuICAgIGlmICghQ29kZU1pcnJvci5kZWZhdWx0cy5tb2RlICYmIG5hbWUgIT0gXCJudWxsXCIpIHsgQ29kZU1pcnJvci5kZWZhdWx0cy5tb2RlID0gbmFtZTsgfVxuICAgIGRlZmluZU1vZGUuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAgfTtcblxuICBDb2RlTWlycm9yLmRlZmluZU1JTUUgPSBkZWZpbmVNSU1FO1xuXG4gIC8vIE1pbmltYWwgZGVmYXVsdCBtb2RlLlxuICBDb2RlTWlycm9yLmRlZmluZU1vZGUoXCJudWxsXCIsIGZ1bmN0aW9uICgpIHsgcmV0dXJuICh7dG9rZW46IGZ1bmN0aW9uIChzdHJlYW0pIHsgcmV0dXJuIHN0cmVhbS5za2lwVG9FbmQoKTsgfX0pOyB9KTtcbiAgQ29kZU1pcnJvci5kZWZpbmVNSU1FKFwidGV4dC9wbGFpblwiLCBcIm51bGxcIik7XG5cbiAgLy8gRVhURU5TSU9OU1xuXG4gIENvZGVNaXJyb3IuZGVmaW5lRXh0ZW5zaW9uID0gZnVuY3Rpb24gKG5hbWUsIGZ1bmMpIHtcbiAgICBDb2RlTWlycm9yLnByb3RvdHlwZVtuYW1lXSA9IGZ1bmM7XG4gIH07XG4gIENvZGVNaXJyb3IuZGVmaW5lRG9jRXh0ZW5zaW9uID0gZnVuY3Rpb24gKG5hbWUsIGZ1bmMpIHtcbiAgICBEb2MucHJvdG90eXBlW25hbWVdID0gZnVuYztcbiAgfTtcblxuICBDb2RlTWlycm9yLmZyb21UZXh0QXJlYSA9IGZyb21UZXh0QXJlYTtcblxuICBhZGRMZWdhY3lQcm9wcyhDb2RlTWlycm9yKTtcblxuICBDb2RlTWlycm9yLnZlcnNpb24gPSBcIjUuNDguNFwiO1xuXG4gIHJldHVybiBDb2RlTWlycm9yO1xuXG59KSkpO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/codemirror/lib/codemirror.js\n"); /***/ }), /***/ "./node_modules/codemirror/mode/clike/clike.js": /*!*****************************************************!*\ !*** ./node_modules/codemirror/mode/clike/clike.js ***! \*****************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ \"./node_modules/codemirror/lib/codemirror.js\"));\n else {}\n})(function(CodeMirror) {\n\"use strict\";\n\nfunction Context(indented, column, type, info, align, prev) {\n this.indented = indented;\n this.column = column;\n this.type = type;\n this.info = info;\n this.align = align;\n this.prev = prev;\n}\nfunction pushContext(state, col, type, info) {\n var indent = state.indented;\n if (state.context && state.context.type == \"statement\" && type != \"statement\")\n indent = state.context.indented;\n return state.context = new Context(indent, col, type, info, null, state.context);\n}\nfunction popContext(state) {\n var t = state.context.type;\n if (t == \")\" || t == \"]\" || t == \"}\")\n state.indented = state.context.indented;\n return state.context = state.context.prev;\n}\n\nfunction typeBefore(stream, state, pos) {\n if (state.prevToken == \"variable\" || state.prevToken == \"type\") return true;\n if (/\\S(?:[^- ]>|[*\\]])\\s*$|\\*$/.test(stream.string.slice(0, pos))) return true;\n if (state.typeAtEndOfLine && stream.column() == stream.indentation()) return true;\n}\n\nfunction isTopScope(context) {\n for (;;) {\n if (!context || context.type == \"top\") return true;\n if (context.type == \"}\" && context.prev.info != \"namespace\") return false;\n context = context.prev;\n }\n}\n\nCodeMirror.defineMode(\"clike\", function(config, parserConfig) {\n var indentUnit = config.indentUnit,\n statementIndentUnit = parserConfig.statementIndentUnit || indentUnit,\n dontAlignCalls = parserConfig.dontAlignCalls,\n keywords = parserConfig.keywords || {},\n types = parserConfig.types || {},\n builtin = parserConfig.builtin || {},\n blockKeywords = parserConfig.blockKeywords || {},\n defKeywords = parserConfig.defKeywords || {},\n atoms = parserConfig.atoms || {},\n hooks = parserConfig.hooks || {},\n multiLineStrings = parserConfig.multiLineStrings,\n indentStatements = parserConfig.indentStatements !== false,\n indentSwitch = parserConfig.indentSwitch !== false,\n namespaceSeparator = parserConfig.namespaceSeparator,\n isPunctuationChar = parserConfig.isPunctuationChar || /[\\[\\]{}\\(\\),;\\:\\.]/,\n numberStart = parserConfig.numberStart || /[\\d\\.]/,\n number = parserConfig.number || /^(?:0x[a-f\\d]+|0b[01]+|(?:\\d+\\.?\\d*|\\.\\d+)(?:e[-+]?\\d+)?)(u|ll?|l|f)?/i,\n isOperatorChar = parserConfig.isOperatorChar || /[+\\-*&%=<>!?|\\/]/,\n isIdentifierChar = parserConfig.isIdentifierChar || /[\\w\\$_\\xa1-\\uffff]/,\n // An optional function that takes a {string} token and returns true if it\n // should be treated as a builtin.\n isReservedIdentifier = parserConfig.isReservedIdentifier || false;\n\n var curPunc, isDefKeyword;\n\n function tokenBase(stream, state) {\n var ch = stream.next();\n if (hooks[ch]) {\n var result = hooks[ch](stream, state);\n if (result !== false) return result;\n }\n if (ch == '\"' || ch == \"'\") {\n state.tokenize = tokenString(ch);\n return state.tokenize(stream, state);\n }\n if (isPunctuationChar.test(ch)) {\n curPunc = ch;\n return null;\n }\n if (numberStart.test(ch)) {\n stream.backUp(1)\n if (stream.match(number)) return \"number\"\n stream.next()\n }\n if (ch == \"/\") {\n if (stream.eat(\"*\")) {\n state.tokenize = tokenComment;\n return tokenComment(stream, state);\n }\n if (stream.eat(\"/\")) {\n stream.skipToEnd();\n return \"comment\";\n }\n }\n if (isOperatorChar.test(ch)) {\n while (!stream.match(/^\\/[\\/*]/, false) && stream.eat(isOperatorChar)) {}\n return \"operator\";\n }\n stream.eatWhile(isIdentifierChar);\n if (namespaceSeparator) while (stream.match(namespaceSeparator))\n stream.eatWhile(isIdentifierChar);\n\n var cur = stream.current();\n if (contains(keywords, cur)) {\n if (contains(blockKeywords, cur)) curPunc = \"newstatement\";\n if (contains(defKeywords, cur)) isDefKeyword = true;\n return \"keyword\";\n }\n if (contains(types, cur)) return \"type\";\n if (contains(builtin, cur)\n || (isReservedIdentifier && isReservedIdentifier(cur))) {\n if (contains(blockKeywords, cur)) curPunc = \"newstatement\";\n return \"builtin\";\n }\n if (contains(atoms, cur)) return \"atom\";\n return \"variable\";\n }\n\n function tokenString(quote) {\n return function(stream, state) {\n var escaped = false, next, end = false;\n while ((next = stream.next()) != null) {\n if (next == quote && !escaped) {end = true; break;}\n escaped = !escaped && next == \"\\\\\";\n }\n if (end || !(escaped || multiLineStrings))\n state.tokenize = null;\n return \"string\";\n };\n }\n\n function tokenComment(stream, state) {\n var maybeEnd = false, ch;\n while (ch = stream.next()) {\n if (ch == \"/\" && maybeEnd) {\n state.tokenize = null;\n break;\n }\n maybeEnd = (ch == \"*\");\n }\n return \"comment\";\n }\n\n function maybeEOL(stream, state) {\n if (parserConfig.typeFirstDefinitions && stream.eol() && isTopScope(state.context))\n state.typeAtEndOfLine = typeBefore(stream, state, stream.pos)\n }\n\n // Interface\n\n return {\n startState: function(basecolumn) {\n return {\n tokenize: null,\n context: new Context((basecolumn || 0) - indentUnit, 0, \"top\", null, false),\n indented: 0,\n startOfLine: true,\n prevToken: null\n };\n },\n\n token: function(stream, state) {\n var ctx = state.context;\n if (stream.sol()) {\n if (ctx.align == null) ctx.align = false;\n state.indented = stream.indentation();\n state.startOfLine = true;\n }\n if (stream.eatSpace()) { maybeEOL(stream, state); return null; }\n curPunc = isDefKeyword = null;\n var style = (state.tokenize || tokenBase)(stream, state);\n if (style == \"comment\" || style == \"meta\") return style;\n if (ctx.align == null) ctx.align = true;\n\n if (curPunc == \";\" || curPunc == \":\" || (curPunc == \",\" && stream.match(/^\\s*(?:\\/\\/.*)?$/, false)))\n while (state.context.type == \"statement\") popContext(state);\n else if (curPunc == \"{\") pushContext(state, stream.column(), \"}\");\n else if (curPunc == \"[\") pushContext(state, stream.column(), \"]\");\n else if (curPunc == \"(\") pushContext(state, stream.column(), \")\");\n else if (curPunc == \"}\") {\n while (ctx.type == \"statement\") ctx = popContext(state);\n if (ctx.type == \"}\") ctx = popContext(state);\n while (ctx.type == \"statement\") ctx = popContext(state);\n }\n else if (curPunc == ctx.type) popContext(state);\n else if (indentStatements &&\n (((ctx.type == \"}\" || ctx.type == \"top\") && curPunc != \";\") ||\n (ctx.type == \"statement\" && curPunc == \"newstatement\"))) {\n pushContext(state, stream.column(), \"statement\", stream.current());\n }\n\n if (style == \"variable\" &&\n ((state.prevToken == \"def\" ||\n (parserConfig.typeFirstDefinitions && typeBefore(stream, state, stream.start) &&\n isTopScope(state.context) && stream.match(/^\\s*\\(/, false)))))\n style = \"def\";\n\n if (hooks.token) {\n var result = hooks.token(stream, state, style);\n if (result !== undefined) style = result;\n }\n\n if (style == \"def\" && parserConfig.styleDefs === false) style = \"variable\";\n\n state.startOfLine = false;\n state.prevToken = isDefKeyword ? \"def\" : style || curPunc;\n maybeEOL(stream, state);\n return style;\n },\n\n indent: function(state, textAfter) {\n if (state.tokenize != tokenBase && state.tokenize != null || state.typeAtEndOfLine) return CodeMirror.Pass;\n var ctx = state.context, firstChar = textAfter && textAfter.charAt(0);\n var closing = firstChar == ctx.type;\n if (ctx.type == \"statement\" && firstChar == \"}\") ctx = ctx.prev;\n if (parserConfig.dontIndentStatements)\n while (ctx.type == \"statement\" && parserConfig.dontIndentStatements.test(ctx.info))\n ctx = ctx.prev\n if (hooks.indent) {\n var hook = hooks.indent(state, ctx, textAfter, indentUnit);\n if (typeof hook == \"number\") return hook\n }\n var switchBlock = ctx.prev && ctx.prev.info == \"switch\";\n if (parserConfig.allmanIndentation && /[{(]/.test(firstChar)) {\n while (ctx.type != \"top\" && ctx.type != \"}\") ctx = ctx.prev\n return ctx.indented\n }\n if (ctx.type == \"statement\")\n return ctx.indented + (firstChar == \"{\" ? 0 : statementIndentUnit);\n if (ctx.align && (!dontAlignCalls || ctx.type != \")\"))\n return ctx.column + (closing ? 0 : 1);\n if (ctx.type == \")\" && !closing)\n return ctx.indented + statementIndentUnit;\n\n return ctx.indented + (closing ? 0 : indentUnit) +\n (!closing && switchBlock && !/^(?:case|default)\\b/.test(textAfter) ? indentUnit : 0);\n },\n\n electricInput: indentSwitch ? /^\\s*(?:case .*?:|default:|\\{\\}?|\\})$/ : /^\\s*[{}]$/,\n blockCommentStart: \"/*\",\n blockCommentEnd: \"*/\",\n blockCommentContinue: \" * \",\n lineComment: \"//\",\n fold: \"brace\"\n };\n});\n\n function words(str) {\n var obj = {}, words = str.split(\" \");\n for (var i = 0; i < words.length; ++i) obj[words[i]] = true;\n return obj;\n }\n function contains(words, word) {\n if (typeof words === \"function\") {\n return words(word);\n } else {\n return words.propertyIsEnumerable(word);\n }\n }\n var cKeywords = \"auto if break case register continue return default do sizeof \" +\n \"static else struct switch extern typedef union for goto while enum const \" +\n \"volatile inline restrict asm fortran\";\n\n // Do not use this. Use the cTypes function below. This is global just to avoid\n // excessive calls when cTypes is being called multiple times during a parse.\n var basicCTypes = words(\"int long char short double float unsigned signed \" +\n \"void bool\");\n\n // Do not use this. Use the objCTypes function below. This is global just to avoid\n // excessive calls when objCTypes is being called multiple times during a parse.\n var basicObjCTypes = words(\"SEL instancetype id Class Protocol BOOL\");\n\n // Returns true if identifier is a \"C\" type.\n // C type is defined as those that are reserved by the compiler (basicTypes),\n // and those that end in _t (Reserved by POSIX for types)\n // http://www.gnu.org/software/libc/manual/html_node/Reserved-Names.html\n function cTypes(identifier) {\n return contains(basicCTypes, identifier) || /.+_t$/.test(identifier);\n }\n\n // Returns true if identifier is a \"Objective C\" type.\n function objCTypes(identifier) {\n return cTypes(identifier) || contains(basicObjCTypes, identifier);\n }\n\n var cBlockKeywords = \"case do else for if switch while struct enum union\";\n var cDefKeywords = \"struct enum union\";\n\n function cppHook(stream, state) {\n if (!state.startOfLine) return false\n for (var ch, next = null; ch = stream.peek();) {\n if (ch == \"\\\\\" && stream.match(/^.$/)) {\n next = cppHook\n break\n } else if (ch == \"/\" && stream.match(/^\\/[\\/\\*]/, false)) {\n break\n }\n stream.next()\n }\n state.tokenize = next\n return \"meta\"\n }\n\n function pointerHook(_stream, state) {\n if (state.prevToken == \"type\") return \"type\";\n return false;\n }\n\n // For C and C++ (and ObjC): identifiers starting with __\n // or _ followed by a capital letter are reserved for the compiler.\n function cIsReservedIdentifier(token) {\n if (!token || token.length < 2) return false;\n if (token[0] != '_') return false;\n return (token[1] == '_') || (token[1] !== token[1].toLowerCase());\n }\n\n function cpp14Literal(stream) {\n stream.eatWhile(/[\\w\\.']/);\n return \"number\";\n }\n\n function cpp11StringHook(stream, state) {\n stream.backUp(1);\n // Raw strings.\n if (stream.match(/(R|u8R|uR|UR|LR)/)) {\n var match = stream.match(/\"([^\\s\\\\()]{0,16})\\(/);\n if (!match) {\n return false;\n }\n state.cpp11RawStringDelim = match[1];\n state.tokenize = tokenRawString;\n return tokenRawString(stream, state);\n }\n // Unicode strings/chars.\n if (stream.match(/(u8|u|U|L)/)) {\n if (stream.match(/[\"']/, /* eat */ false)) {\n return \"string\";\n }\n return false;\n }\n // Ignore this hook.\n stream.next();\n return false;\n }\n\n function cppLooksLikeConstructor(word) {\n var lastTwo = /(\\w+)::~?(\\w+)$/.exec(word);\n return lastTwo && lastTwo[1] == lastTwo[2];\n }\n\n // C#-style strings where \"\" escapes a quote.\n function tokenAtString(stream, state) {\n var next;\n while ((next = stream.next()) != null) {\n if (next == '\"' && !stream.eat('\"')) {\n state.tokenize = null;\n break;\n }\n }\n return \"string\";\n }\n\n // C++11 raw string literal is \"( anything )\", where\n // can be a string up to 16 characters long.\n function tokenRawString(stream, state) {\n // Escape characters that have special regex meanings.\n var delim = state.cpp11RawStringDelim.replace(/[^\\w\\s]/g, '\\\\$&');\n var match = stream.match(new RegExp(\".*?\\\\)\" + delim + '\"'));\n if (match)\n state.tokenize = null;\n else\n stream.skipToEnd();\n return \"string\";\n }\n\n function def(mimes, mode) {\n if (typeof mimes == \"string\") mimes = [mimes];\n var words = [];\n function add(obj) {\n if (obj) for (var prop in obj) if (obj.hasOwnProperty(prop))\n words.push(prop);\n }\n add(mode.keywords);\n add(mode.types);\n add(mode.builtin);\n add(mode.atoms);\n if (words.length) {\n mode.helperType = mimes[0];\n CodeMirror.registerHelper(\"hintWords\", mimes[0], words);\n }\n\n for (var i = 0; i < mimes.length; ++i)\n CodeMirror.defineMIME(mimes[i], mode);\n }\n\n def([\"text/x-csrc\", \"text/x-c\", \"text/x-chdr\"], {\n name: \"clike\",\n keywords: words(cKeywords),\n types: cTypes,\n blockKeywords: words(cBlockKeywords),\n defKeywords: words(cDefKeywords),\n typeFirstDefinitions: true,\n atoms: words(\"NULL true false\"),\n isReservedIdentifier: cIsReservedIdentifier,\n hooks: {\n \"#\": cppHook,\n \"*\": pointerHook,\n },\n modeProps: {fold: [\"brace\", \"include\"]}\n });\n\n def([\"text/x-c++src\", \"text/x-c++hdr\"], {\n name: \"clike\",\n // Keywords from https://en.cppreference.com/w/cpp/keyword includes C++20.\n keywords: words(cKeywords + \"alignas alignof and and_eq audit axiom bitand bitor catch \" +\n \"class compl concept constexpr const_cast decltype delete dynamic_cast \" +\n \"explicit export final friend import module mutable namespace new noexcept \" +\n \"not not_eq operator or or_eq override private protected public \" +\n \"reinterpret_cast requires static_assert static_cast template this \" +\n \"thread_local throw try typeid typename using virtual xor xor_eq\"),\n types: cTypes,\n blockKeywords: words(cBlockKeywords + \" class try catch\"),\n defKeywords: words(cDefKeywords + \" class namespace\"),\n typeFirstDefinitions: true,\n atoms: words(\"true false NULL nullptr\"),\n dontIndentStatements: /^template$/,\n isIdentifierChar: /[\\w\\$_~\\xa1-\\uffff]/,\n isReservedIdentifier: cIsReservedIdentifier,\n hooks: {\n \"#\": cppHook,\n \"*\": pointerHook,\n \"u\": cpp11StringHook,\n \"U\": cpp11StringHook,\n \"L\": cpp11StringHook,\n \"R\": cpp11StringHook,\n \"0\": cpp14Literal,\n \"1\": cpp14Literal,\n \"2\": cpp14Literal,\n \"3\": cpp14Literal,\n \"4\": cpp14Literal,\n \"5\": cpp14Literal,\n \"6\": cpp14Literal,\n \"7\": cpp14Literal,\n \"8\": cpp14Literal,\n \"9\": cpp14Literal,\n token: function(stream, state, style) {\n if (style == \"variable\" && stream.peek() == \"(\" &&\n (state.prevToken == \";\" || state.prevToken == null ||\n state.prevToken == \"}\") &&\n cppLooksLikeConstructor(stream.current()))\n return \"def\";\n }\n },\n namespaceSeparator: \"::\",\n modeProps: {fold: [\"brace\", \"include\"]}\n });\n\n def(\"text/x-java\", {\n name: \"clike\",\n keywords: words(\"abstract assert break case catch class const continue default \" +\n \"do else enum extends final finally for goto if implements import \" +\n \"instanceof interface native new package private protected public \" +\n \"return static strictfp super switch synchronized this throw throws transient \" +\n \"try volatile while @interface\"),\n types: words(\"byte short int long float double boolean char void Boolean Byte Character Double Float \" +\n \"Integer Long Number Object Short String StringBuffer StringBuilder Void\"),\n blockKeywords: words(\"catch class do else finally for if switch try while\"),\n defKeywords: words(\"class interface enum @interface\"),\n typeFirstDefinitions: true,\n atoms: words(\"true false null\"),\n number: /^(?:0x[a-f\\d_]+|0b[01_]+|(?:[\\d_]+\\.?\\d*|\\.\\d+)(?:e[-+]?[\\d_]+)?)(u|ll?|l|f)?/i,\n hooks: {\n \"@\": function(stream) {\n // Don't match the @interface keyword.\n if (stream.match('interface', false)) return false;\n\n stream.eatWhile(/[\\w\\$_]/);\n return \"meta\";\n }\n },\n modeProps: {fold: [\"brace\", \"import\"]}\n });\n\n def(\"text/x-csharp\", {\n name: \"clike\",\n keywords: words(\"abstract as async await base break case catch checked class const continue\" +\n \" default delegate do else enum event explicit extern finally fixed for\" +\n \" foreach goto if implicit in interface internal is lock namespace new\" +\n \" operator out override params private protected public readonly ref return sealed\" +\n \" sizeof stackalloc static struct switch this throw try typeof unchecked\" +\n \" unsafe using virtual void volatile while add alias ascending descending dynamic from get\" +\n \" global group into join let orderby partial remove select set value var yield\"),\n types: words(\"Action Boolean Byte Char DateTime DateTimeOffset Decimal Double Func\" +\n \" Guid Int16 Int32 Int64 Object SByte Single String Task TimeSpan UInt16 UInt32\" +\n \" UInt64 bool byte char decimal double short int long object\" +\n \" sbyte float string ushort uint ulong\"),\n blockKeywords: words(\"catch class do else finally for foreach if struct switch try while\"),\n defKeywords: words(\"class interface namespace struct var\"),\n typeFirstDefinitions: true,\n atoms: words(\"true false null\"),\n hooks: {\n \"@\": function(stream, state) {\n if (stream.eat('\"')) {\n state.tokenize = tokenAtString;\n return tokenAtString(stream, state);\n }\n stream.eatWhile(/[\\w\\$_]/);\n return \"meta\";\n }\n }\n });\n\n function tokenTripleString(stream, state) {\n var escaped = false;\n while (!stream.eol()) {\n if (!escaped && stream.match('\"\"\"')) {\n state.tokenize = null;\n break;\n }\n escaped = stream.next() == \"\\\\\" && !escaped;\n }\n return \"string\";\n }\n\n function tokenNestedComment(depth) {\n return function (stream, state) {\n var ch\n while (ch = stream.next()) {\n if (ch == \"*\" && stream.eat(\"/\")) {\n if (depth == 1) {\n state.tokenize = null\n break\n } else {\n state.tokenize = tokenNestedComment(depth - 1)\n return state.tokenize(stream, state)\n }\n } else if (ch == \"/\" && stream.eat(\"*\")) {\n state.tokenize = tokenNestedComment(depth + 1)\n return state.tokenize(stream, state)\n }\n }\n return \"comment\"\n }\n }\n\n def(\"text/x-scala\", {\n name: \"clike\",\n keywords: words(\n /* scala */\n \"abstract case catch class def do else extends final finally for forSome if \" +\n \"implicit import lazy match new null object override package private protected return \" +\n \"sealed super this throw trait try type val var while with yield _ \" +\n\n /* package scala */\n \"assert assume require print println printf readLine readBoolean readByte readShort \" +\n \"readChar readInt readLong readFloat readDouble\"\n ),\n types: words(\n \"AnyVal App Application Array BufferedIterator BigDecimal BigInt Char Console Either \" +\n \"Enumeration Equiv Error Exception Fractional Function IndexedSeq Int Integral Iterable \" +\n \"Iterator List Map Numeric Nil NotNull Option Ordered Ordering PartialFunction PartialOrdering \" +\n \"Product Proxy Range Responder Seq Serializable Set Specializable Stream StringBuilder \" +\n \"StringContext Symbol Throwable Traversable TraversableOnce Tuple Unit Vector \" +\n\n /* package java.lang */\n \"Boolean Byte Character CharSequence Class ClassLoader Cloneable Comparable \" +\n \"Compiler Double Exception Float Integer Long Math Number Object Package Pair Process \" +\n \"Runtime Runnable SecurityManager Short StackTraceElement StrictMath String \" +\n \"StringBuffer System Thread ThreadGroup ThreadLocal Throwable Triple Void\"\n ),\n multiLineStrings: true,\n blockKeywords: words(\"catch class enum do else finally for forSome if match switch try while\"),\n defKeywords: words(\"class enum def object package trait type val var\"),\n atoms: words(\"true false null\"),\n indentStatements: false,\n indentSwitch: false,\n isOperatorChar: /[+\\-*&%=<>!?|\\/#:@]/,\n hooks: {\n \"@\": function(stream) {\n stream.eatWhile(/[\\w\\$_]/);\n return \"meta\";\n },\n '\"': function(stream, state) {\n if (!stream.match('\"\"')) return false;\n state.tokenize = tokenTripleString;\n return state.tokenize(stream, state);\n },\n \"'\": function(stream) {\n stream.eatWhile(/[\\w\\$_\\xa1-\\uffff]/);\n return \"atom\";\n },\n \"=\": function(stream, state) {\n var cx = state.context\n if (cx.type == \"}\" && cx.align && stream.eat(\">\")) {\n state.context = new Context(cx.indented, cx.column, cx.type, cx.info, null, cx.prev)\n return \"operator\"\n } else {\n return false\n }\n },\n\n \"/\": function(stream, state) {\n if (!stream.eat(\"*\")) return false\n state.tokenize = tokenNestedComment(1)\n return state.tokenize(stream, state)\n }\n },\n modeProps: {closeBrackets: {pairs: '()[]{}\"\"', triples: '\"'}}\n });\n\n function tokenKotlinString(tripleString){\n return function (stream, state) {\n var escaped = false, next, end = false;\n while (!stream.eol()) {\n if (!tripleString && !escaped && stream.match('\"') ) {end = true; break;}\n if (tripleString && stream.match('\"\"\"')) {end = true; break;}\n next = stream.next();\n if(!escaped && next == \"$\" && stream.match('{'))\n stream.skipTo(\"}\");\n escaped = !escaped && next == \"\\\\\" && !tripleString;\n }\n if (end || !tripleString)\n state.tokenize = null;\n return \"string\";\n }\n }\n\n def(\"text/x-kotlin\", {\n name: \"clike\",\n keywords: words(\n /*keywords*/\n \"package as typealias class interface this super val operator \" +\n \"var fun for is in This throw return annotation \" +\n \"break continue object if else while do try when !in !is as? \" +\n\n /*soft keywords*/\n \"file import where by get set abstract enum open inner override private public internal \" +\n \"protected catch finally out final vararg reified dynamic companion constructor init \" +\n \"sealed field property receiver param sparam lateinit data inline noinline tailrec \" +\n \"external annotation crossinline const operator infix suspend actual expect setparam\"\n ),\n types: words(\n /* package java.lang */\n \"Boolean Byte Character CharSequence Class ClassLoader Cloneable Comparable \" +\n \"Compiler Double Exception Float Integer Long Math Number Object Package Pair Process \" +\n \"Runtime Runnable SecurityManager Short StackTraceElement StrictMath String \" +\n \"StringBuffer System Thread ThreadGroup ThreadLocal Throwable Triple Void Annotation Any BooleanArray \" +\n \"ByteArray Char CharArray DeprecationLevel DoubleArray Enum FloatArray Function Int IntArray Lazy \" +\n \"LazyThreadSafetyMode LongArray Nothing ShortArray Unit\"\n ),\n intendSwitch: false,\n indentStatements: false,\n multiLineStrings: true,\n number: /^(?:0x[a-f\\d_]+|0b[01_]+|(?:[\\d_]+(\\.\\d+)?|\\.\\d+)(?:e[-+]?[\\d_]+)?)(u|ll?|l|f)?/i,\n blockKeywords: words(\"catch class do else finally for if where try while enum\"),\n defKeywords: words(\"class val var object interface fun\"),\n atoms: words(\"true false null this\"),\n hooks: {\n \"@\": function(stream) {\n stream.eatWhile(/[\\w\\$_]/);\n return \"meta\";\n },\n '*': function(_stream, state) {\n return state.prevToken == '.' ? 'variable' : 'operator';\n },\n '\"': function(stream, state) {\n state.tokenize = tokenKotlinString(stream.match('\"\"'));\n return state.tokenize(stream, state);\n },\n indent: function(state, ctx, textAfter, indentUnit) {\n var firstChar = textAfter && textAfter.charAt(0);\n if ((state.prevToken == \"}\" || state.prevToken == \")\") && textAfter == \"\")\n return state.indented;\n if (state.prevToken == \"operator\" && textAfter != \"}\" ||\n state.prevToken == \"variable\" && firstChar == \".\" ||\n (state.prevToken == \"}\" || state.prevToken == \")\") && firstChar == \".\")\n return indentUnit * 2 + ctx.indented;\n if (ctx.align && ctx.type == \"}\")\n return ctx.indented + (state.context.type == (textAfter || \"\").charAt(0) ? 0 : indentUnit);\n }\n },\n modeProps: {closeBrackets: {triples: '\"'}}\n });\n\n def([\"x-shader/x-vertex\", \"x-shader/x-fragment\"], {\n name: \"clike\",\n keywords: words(\"sampler1D sampler2D sampler3D samplerCube \" +\n \"sampler1DShadow sampler2DShadow \" +\n \"const attribute uniform varying \" +\n \"break continue discard return \" +\n \"for while do if else struct \" +\n \"in out inout\"),\n types: words(\"float int bool void \" +\n \"vec2 vec3 vec4 ivec2 ivec3 ivec4 bvec2 bvec3 bvec4 \" +\n \"mat2 mat3 mat4\"),\n blockKeywords: words(\"for while do if else struct\"),\n builtin: words(\"radians degrees sin cos tan asin acos atan \" +\n \"pow exp log exp2 sqrt inversesqrt \" +\n \"abs sign floor ceil fract mod min max clamp mix step smoothstep \" +\n \"length distance dot cross normalize ftransform faceforward \" +\n \"reflect refract matrixCompMult \" +\n \"lessThan lessThanEqual greaterThan greaterThanEqual \" +\n \"equal notEqual any all not \" +\n \"texture1D texture1DProj texture1DLod texture1DProjLod \" +\n \"texture2D texture2DProj texture2DLod texture2DProjLod \" +\n \"texture3D texture3DProj texture3DLod texture3DProjLod \" +\n \"textureCube textureCubeLod \" +\n \"shadow1D shadow2D shadow1DProj shadow2DProj \" +\n \"shadow1DLod shadow2DLod shadow1DProjLod shadow2DProjLod \" +\n \"dFdx dFdy fwidth \" +\n \"noise1 noise2 noise3 noise4\"),\n atoms: words(\"true false \" +\n \"gl_FragColor gl_SecondaryColor gl_Normal gl_Vertex \" +\n \"gl_MultiTexCoord0 gl_MultiTexCoord1 gl_MultiTexCoord2 gl_MultiTexCoord3 \" +\n \"gl_MultiTexCoord4 gl_MultiTexCoord5 gl_MultiTexCoord6 gl_MultiTexCoord7 \" +\n \"gl_FogCoord gl_PointCoord \" +\n \"gl_Position gl_PointSize gl_ClipVertex \" +\n \"gl_FrontColor gl_BackColor gl_FrontSecondaryColor gl_BackSecondaryColor \" +\n \"gl_TexCoord gl_FogFragCoord \" +\n \"gl_FragCoord gl_FrontFacing \" +\n \"gl_FragData gl_FragDepth \" +\n \"gl_ModelViewMatrix gl_ProjectionMatrix gl_ModelViewProjectionMatrix \" +\n \"gl_TextureMatrix gl_NormalMatrix gl_ModelViewMatrixInverse \" +\n \"gl_ProjectionMatrixInverse gl_ModelViewProjectionMatrixInverse \" +\n \"gl_TexureMatrixTranspose gl_ModelViewMatrixInverseTranspose \" +\n \"gl_ProjectionMatrixInverseTranspose \" +\n \"gl_ModelViewProjectionMatrixInverseTranspose \" +\n \"gl_TextureMatrixInverseTranspose \" +\n \"gl_NormalScale gl_DepthRange gl_ClipPlane \" +\n \"gl_Point gl_FrontMaterial gl_BackMaterial gl_LightSource gl_LightModel \" +\n \"gl_FrontLightModelProduct gl_BackLightModelProduct \" +\n \"gl_TextureColor gl_EyePlaneS gl_EyePlaneT gl_EyePlaneR gl_EyePlaneQ \" +\n \"gl_FogParameters \" +\n \"gl_MaxLights gl_MaxClipPlanes gl_MaxTextureUnits gl_MaxTextureCoords \" +\n \"gl_MaxVertexAttribs gl_MaxVertexUniformComponents gl_MaxVaryingFloats \" +\n \"gl_MaxVertexTextureImageUnits gl_MaxTextureImageUnits \" +\n \"gl_MaxFragmentUniformComponents gl_MaxCombineTextureImageUnits \" +\n \"gl_MaxDrawBuffers\"),\n indentSwitch: false,\n hooks: {\"#\": cppHook},\n modeProps: {fold: [\"brace\", \"include\"]}\n });\n\n def(\"text/x-nesc\", {\n name: \"clike\",\n keywords: words(cKeywords + \" as atomic async call command component components configuration event generic \" +\n \"implementation includes interface module new norace nx_struct nx_union post provides \" +\n \"signal task uses abstract extends\"),\n types: cTypes,\n blockKeywords: words(cBlockKeywords),\n atoms: words(\"null true false\"),\n hooks: {\"#\": cppHook},\n modeProps: {fold: [\"brace\", \"include\"]}\n });\n\n def(\"text/x-objectivec\", {\n name: \"clike\",\n keywords: words(cKeywords + \" bycopy byref in inout oneway out self super atomic nonatomic retain copy \" +\n \"readwrite readonly strong weak assign typeof nullable nonnull null_resettable _cmd \" +\n \"@interface @implementation @end @protocol @encode @property @synthesize @dynamic @class \" +\n \"@public @package @private @protected @required @optional @try @catch @finally @import \" +\n \"@selector @encode @defs @synchronized @autoreleasepool @compatibility_alias @available\"),\n types: objCTypes,\n builtin: words(\"FOUNDATION_EXPORT FOUNDATION_EXTERN NS_INLINE NS_FORMAT_FUNCTION NS_RETURNS_RETAINED \" +\n \"NS_ERROR_ENUM NS_RETURNS_NOT_RETAINED NS_RETURNS_INNER_POINTER NS_DESIGNATED_INITIALIZER \" +\n \"NS_ENUM NS_OPTIONS NS_REQUIRES_NIL_TERMINATION NS_ASSUME_NONNULL_BEGIN \" +\n \"NS_ASSUME_NONNULL_END NS_SWIFT_NAME NS_REFINED_FOR_SWIFT\"),\n blockKeywords: words(cBlockKeywords + \" @synthesize @try @catch @finally @autoreleasepool @synchronized\"),\n defKeywords: words(cDefKeywords + \" @interface @implementation @protocol @class\"),\n dontIndentStatements: /^@.*$/,\n typeFirstDefinitions: true,\n atoms: words(\"YES NO NULL Nil nil true false nullptr\"),\n isReservedIdentifier: cIsReservedIdentifier,\n hooks: {\n \"#\": cppHook,\n \"*\": pointerHook,\n },\n modeProps: {fold: [\"brace\", \"include\"]}\n });\n\n def(\"text/x-squirrel\", {\n name: \"clike\",\n keywords: words(\"base break clone continue const default delete enum extends function in class\" +\n \" foreach local resume return this throw typeof yield constructor instanceof static\"),\n types: cTypes,\n blockKeywords: words(\"case catch class else for foreach if switch try while\"),\n defKeywords: words(\"function local class\"),\n typeFirstDefinitions: true,\n atoms: words(\"true false null\"),\n hooks: {\"#\": cppHook},\n modeProps: {fold: [\"brace\", \"include\"]}\n });\n\n // Ceylon Strings need to deal with interpolation\n var stringTokenizer = null;\n function tokenCeylonString(type) {\n return function(stream, state) {\n var escaped = false, next, end = false;\n while (!stream.eol()) {\n if (!escaped && stream.match('\"') &&\n (type == \"single\" || stream.match('\"\"'))) {\n end = true;\n break;\n }\n if (!escaped && stream.match('``')) {\n stringTokenizer = tokenCeylonString(type);\n end = true;\n break;\n }\n next = stream.next();\n escaped = type == \"single\" && !escaped && next == \"\\\\\";\n }\n if (end)\n state.tokenize = null;\n return \"string\";\n }\n }\n\n def(\"text/x-ceylon\", {\n name: \"clike\",\n keywords: words(\"abstracts alias assembly assert assign break case catch class continue dynamic else\" +\n \" exists extends finally for function given if import in interface is let module new\" +\n \" nonempty object of out outer package return satisfies super switch then this throw\" +\n \" try value void while\"),\n types: function(word) {\n // In Ceylon all identifiers that start with an uppercase are types\n var first = word.charAt(0);\n return (first === first.toUpperCase() && first !== first.toLowerCase());\n },\n blockKeywords: words(\"case catch class dynamic else finally for function if interface module new object switch try while\"),\n defKeywords: words(\"class dynamic function interface module object package value\"),\n builtin: words(\"abstract actual aliased annotation by default deprecated doc final formal late license\" +\n \" native optional sealed see serializable shared suppressWarnings tagged throws variable\"),\n isPunctuationChar: /[\\[\\]{}\\(\\),;\\:\\.`]/,\n isOperatorChar: /[+\\-*&%=<>!?|^~:\\/]/,\n numberStart: /[\\d#$]/,\n number: /^(?:#[\\da-fA-F_]+|\\$[01_]+|[\\d_]+[kMGTPmunpf]?|[\\d_]+\\.[\\d_]+(?:[eE][-+]?\\d+|[kMGTPmunpf]|)|)/i,\n multiLineStrings: true,\n typeFirstDefinitions: true,\n atoms: words(\"true false null larger smaller equal empty finished\"),\n indentSwitch: false,\n styleDefs: false,\n hooks: {\n \"@\": function(stream) {\n stream.eatWhile(/[\\w\\$_]/);\n return \"meta\";\n },\n '\"': function(stream, state) {\n state.tokenize = tokenCeylonString(stream.match('\"\"') ? \"triple\" : \"single\");\n return state.tokenize(stream, state);\n },\n '`': function(stream, state) {\n if (!stringTokenizer || !stream.match('`')) return false;\n state.tokenize = stringTokenizer;\n stringTokenizer = null;\n return state.tokenize(stream, state);\n },\n \"'\": function(stream) {\n stream.eatWhile(/[\\w\\$_\\xa1-\\uffff]/);\n return \"atom\";\n },\n token: function(_stream, state, style) {\n if ((style == \"variable\" || style == \"type\") &&\n state.prevToken == \".\") {\n return \"variable-2\";\n }\n }\n },\n modeProps: {\n fold: [\"brace\", \"import\"],\n closeBrackets: {triples: '\"'}\n }\n });\n\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9tb2RlL2NsaWtlL2NsaWtlLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvZGVtaXJyb3IvbW9kZS9jbGlrZS9jbGlrZS5qcz80YmE2Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIENvZGVNaXJyb3IsIGNvcHlyaWdodCAoYykgYnkgTWFyaWpuIEhhdmVyYmVrZSBhbmQgb3RoZXJzXG4vLyBEaXN0cmlidXRlZCB1bmRlciBhbiBNSVQgbGljZW5zZTogaHR0cHM6Ly9jb2RlbWlycm9yLm5ldC9MSUNFTlNFXG5cbihmdW5jdGlvbihtb2QpIHtcbiAgaWYgKHR5cGVvZiBleHBvcnRzID09IFwib2JqZWN0XCIgJiYgdHlwZW9mIG1vZHVsZSA9PSBcIm9iamVjdFwiKSAvLyBDb21tb25KU1xuICAgIG1vZChyZXF1aXJlKFwiLi4vLi4vbGliL2NvZGVtaXJyb3JcIikpO1xuICBlbHNlIGlmICh0eXBlb2YgZGVmaW5lID09IFwiZnVuY3Rpb25cIiAmJiBkZWZpbmUuYW1kKSAvLyBBTURcbiAgICBkZWZpbmUoW1wiLi4vLi4vbGliL2NvZGVtaXJyb3JcIl0sIG1vZCk7XG4gIGVsc2UgLy8gUGxhaW4gYnJvd3NlciBlbnZcbiAgICBtb2QoQ29kZU1pcnJvcik7XG59KShmdW5jdGlvbihDb2RlTWlycm9yKSB7XG5cInVzZSBzdHJpY3RcIjtcblxuZnVuY3Rpb24gQ29udGV4dChpbmRlbnRlZCwgY29sdW1uLCB0eXBlLCBpbmZvLCBhbGlnbiwgcHJldikge1xuICB0aGlzLmluZGVudGVkID0gaW5kZW50ZWQ7XG4gIHRoaXMuY29sdW1uID0gY29sdW1uO1xuICB0aGlzLnR5cGUgPSB0eXBlO1xuICB0aGlzLmluZm8gPSBpbmZvO1xuICB0aGlzLmFsaWduID0gYWxpZ247XG4gIHRoaXMucHJldiA9IHByZXY7XG59XG5mdW5jdGlvbiBwdXNoQ29udGV4dChzdGF0ZSwgY29sLCB0eXBlLCBpbmZvKSB7XG4gIHZhciBpbmRlbnQgPSBzdGF0ZS5pbmRlbnRlZDtcbiAgaWYgKHN0YXRlLmNvbnRleHQgJiYgc3RhdGUuY29udGV4dC50eXBlID09IFwic3RhdGVtZW50XCIgJiYgdHlwZSAhPSBcInN0YXRlbWVudFwiKVxuICAgIGluZGVudCA9IHN0YXRlLmNvbnRleHQuaW5kZW50ZWQ7XG4gIHJldHVybiBzdGF0ZS5jb250ZXh0ID0gbmV3IENvbnRleHQoaW5kZW50LCBjb2wsIHR5cGUsIGluZm8sIG51bGwsIHN0YXRlLmNvbnRleHQpO1xufVxuZnVuY3Rpb24gcG9wQ29udGV4dChzdGF0ZSkge1xuICB2YXIgdCA9IHN0YXRlLmNvbnRleHQudHlwZTtcbiAgaWYgKHQgPT0gXCIpXCIgfHwgdCA9PSBcIl1cIiB8fCB0ID09IFwifVwiKVxuICAgIHN0YXRlLmluZGVudGVkID0gc3RhdGUuY29udGV4dC5pbmRlbnRlZDtcbiAgcmV0dXJuIHN0YXRlLmNvbnRleHQgPSBzdGF0ZS5jb250ZXh0LnByZXY7XG59XG5cbmZ1bmN0aW9uIHR5cGVCZWZvcmUoc3RyZWFtLCBzdGF0ZSwgcG9zKSB7XG4gIGlmIChzdGF0ZS5wcmV2VG9rZW4gPT0gXCJ2YXJpYWJsZVwiIHx8IHN0YXRlLnByZXZUb2tlbiA9PSBcInR5cGVcIikgcmV0dXJuIHRydWU7XG4gIGlmICgvXFxTKD86W14tIF0+fFsqXFxdXSlcXHMqJHxcXCokLy50ZXN0KHN0cmVhbS5zdHJpbmcuc2xpY2UoMCwgcG9zKSkpIHJldHVybiB0cnVlO1xuICBpZiAoc3RhdGUudHlwZUF0RW5kT2ZMaW5lICYmIHN0cmVhbS5jb2x1bW4oKSA9PSBzdHJlYW0uaW5kZW50YXRpb24oKSkgcmV0dXJuIHRydWU7XG59XG5cbmZ1bmN0aW9uIGlzVG9wU2NvcGUoY29udGV4dCkge1xuICBmb3IgKDs7KSB7XG4gICAgaWYgKCFjb250ZXh0IHx8IGNvbnRleHQudHlwZSA9PSBcInRvcFwiKSByZXR1cm4gdHJ1ZTtcbiAgICBpZiAoY29udGV4dC50eXBlID09IFwifVwiICYmIGNvbnRleHQucHJldi5pbmZvICE9IFwibmFtZXNwYWNlXCIpIHJldHVybiBmYWxzZTtcbiAgICBjb250ZXh0ID0gY29udGV4dC5wcmV2O1xuICB9XG59XG5cbkNvZGVNaXJyb3IuZGVmaW5lTW9kZShcImNsaWtlXCIsIGZ1bmN0aW9uKGNvbmZpZywgcGFyc2VyQ29uZmlnKSB7XG4gIHZhciBpbmRlbnRVbml0ID0gY29uZmlnLmluZGVudFVuaXQsXG4gICAgICBzdGF0ZW1lbnRJbmRlbnRVbml0ID0gcGFyc2VyQ29uZmlnLnN0YXRlbWVudEluZGVudFVuaXQgfHwgaW5kZW50VW5pdCxcbiAgICAgIGRvbnRBbGlnbkNhbGxzID0gcGFyc2VyQ29uZmlnLmRvbnRBbGlnbkNhbGxzLFxuICAgICAga2V5d29yZHMgPSBwYXJzZXJDb25maWcua2V5d29yZHMgfHwge30sXG4gICAgICB0eXBlcyA9IHBhcnNlckNvbmZpZy50eXBlcyB8fCB7fSxcbiAgICAgIGJ1aWx0aW4gPSBwYXJzZXJDb25maWcuYnVpbHRpbiB8fCB7fSxcbiAgICAgIGJsb2NrS2V5d29yZHMgPSBwYXJzZXJDb25maWcuYmxvY2tLZXl3b3JkcyB8fCB7fSxcbiAgICAgIGRlZktleXdvcmRzID0gcGFyc2VyQ29uZmlnLmRlZktleXdvcmRzIHx8IHt9LFxuICAgICAgYXRvbXMgPSBwYXJzZXJDb25maWcuYXRvbXMgfHwge30sXG4gICAgICBob29rcyA9IHBhcnNlckNvbmZpZy5ob29rcyB8fCB7fSxcbiAgICAgIG11bHRpTGluZVN0cmluZ3MgPSBwYXJzZXJDb25maWcubXVsdGlMaW5lU3RyaW5ncyxcbiAgICAgIGluZGVudFN0YXRlbWVudHMgPSBwYXJzZXJDb25maWcuaW5kZW50U3RhdGVtZW50cyAhPT0gZmFsc2UsXG4gICAgICBpbmRlbnRTd2l0Y2ggPSBwYXJzZXJDb25maWcuaW5kZW50U3dpdGNoICE9PSBmYWxzZSxcbiAgICAgIG5hbWVzcGFjZVNlcGFyYXRvciA9IHBhcnNlckNvbmZpZy5uYW1lc3BhY2VTZXBhcmF0b3IsXG4gICAgICBpc1B1bmN0dWF0aW9uQ2hhciA9IHBhcnNlckNvbmZpZy5pc1B1bmN0dWF0aW9uQ2hhciB8fCAvW1xcW1xcXXt9XFwoXFwpLDtcXDpcXC5dLyxcbiAgICAgIG51bWJlclN0YXJ0ID0gcGFyc2VyQ29uZmlnLm51bWJlclN0YXJ0IHx8IC9bXFxkXFwuXS8sXG4gICAgICBudW1iZXIgPSBwYXJzZXJDb25maWcubnVtYmVyIHx8IC9eKD86MHhbYS1mXFxkXSt8MGJbMDFdK3woPzpcXGQrXFwuP1xcZCp8XFwuXFxkKykoPzplWy0rXT9cXGQrKT8pKHV8bGw/fGx8Zik/L2ksXG4gICAgICBpc09wZXJhdG9yQ2hhciA9IHBhcnNlckNvbmZpZy5pc09wZXJhdG9yQ2hhciB8fCAvWytcXC0qJiU9PD4hP3xcXC9dLyxcbiAgICAgIGlzSWRlbnRpZmllckNoYXIgPSBwYXJzZXJDb25maWcuaXNJZGVudGlmaWVyQ2hhciB8fCAvW1xcd1xcJF9cXHhhMS1cXHVmZmZmXS8sXG4gICAgICAvLyBBbiBvcHRpb25hbCBmdW5jdGlvbiB0aGF0IHRha2VzIGEge3N0cmluZ30gdG9rZW4gYW5kIHJldHVybnMgdHJ1ZSBpZiBpdFxuICAgICAgLy8gc2hvdWxkIGJlIHRyZWF0ZWQgYXMgYSBidWlsdGluLlxuICAgICAgaXNSZXNlcnZlZElkZW50aWZpZXIgPSBwYXJzZXJDb25maWcuaXNSZXNlcnZlZElkZW50aWZpZXIgfHwgZmFsc2U7XG5cbiAgdmFyIGN1clB1bmMsIGlzRGVmS2V5d29yZDtcblxuICBmdW5jdGlvbiB0b2tlbkJhc2Uoc3RyZWFtLCBzdGF0ZSkge1xuICAgIHZhciBjaCA9IHN0cmVhbS5uZXh0KCk7XG4gICAgaWYgKGhvb2tzW2NoXSkge1xuICAgICAgdmFyIHJlc3VsdCA9IGhvb2tzW2NoXShzdHJlYW0sIHN0YXRlKTtcbiAgICAgIGlmIChyZXN1bHQgIT09IGZhbHNlKSByZXR1cm4gcmVzdWx0O1xuICAgIH1cbiAgICBpZiAoY2ggPT0gJ1wiJyB8fCBjaCA9PSBcIidcIikge1xuICAgICAgc3RhdGUudG9rZW5pemUgPSB0b2tlblN0cmluZyhjaCk7XG4gICAgICByZXR1cm4gc3RhdGUudG9rZW5pemUoc3RyZWFtLCBzdGF0ZSk7XG4gICAgfVxuICAgIGlmIChpc1B1bmN0dWF0aW9uQ2hhci50ZXN0KGNoKSkge1xuICAgICAgY3VyUHVuYyA9IGNoO1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIGlmIChudW1iZXJTdGFydC50ZXN0KGNoKSkge1xuICAgICAgc3RyZWFtLmJhY2tVcCgxKVxuICAgICAgaWYgKHN0cmVhbS5tYXRjaChudW1iZXIpKSByZXR1cm4gXCJudW1iZXJcIlxuICAgICAgc3RyZWFtLm5leHQoKVxuICAgIH1cbiAgICBpZiAoY2ggPT0gXCIvXCIpIHtcbiAgICAgIGlmIChzdHJlYW0uZWF0KFwiKlwiKSkge1xuICAgICAgICBzdGF0ZS50b2tlbml6ZSA9IHRva2VuQ29tbWVudDtcbiAgICAgICAgcmV0dXJuIHRva2VuQ29tbWVudChzdHJlYW0sIHN0YXRlKTtcbiAgICAgIH1cbiAgICAgIGlmIChzdHJlYW0uZWF0KFwiL1wiKSkge1xuICAgICAgICBzdHJlYW0uc2tpcFRvRW5kKCk7XG4gICAgICAgIHJldHVybiBcImNvbW1lbnRcIjtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKGlzT3BlcmF0b3JDaGFyLnRlc3QoY2gpKSB7XG4gICAgICB3aGlsZSAoIXN0cmVhbS5tYXRjaCgvXlxcL1tcXC8qXS8sIGZhbHNlKSAmJiBzdHJlYW0uZWF0KGlzT3BlcmF0b3JDaGFyKSkge31cbiAgICAgIHJldHVybiBcIm9wZXJhdG9yXCI7XG4gICAgfVxuICAgIHN0cmVhbS5lYXRXaGlsZShpc0lkZW50aWZpZXJDaGFyKTtcbiAgICBpZiAobmFtZXNwYWNlU2VwYXJhdG9yKSB3aGlsZSAoc3RyZWFtLm1hdGNoKG5hbWVzcGFjZVNlcGFyYXRvcikpXG4gICAgICBzdHJlYW0uZWF0V2hpbGUoaXNJZGVudGlmaWVyQ2hhcik7XG5cbiAgICB2YXIgY3VyID0gc3RyZWFtLmN1cnJlbnQoKTtcbiAgICBpZiAoY29udGFpbnMoa2V5d29yZHMsIGN1cikpIHtcbiAgICAgIGlmIChjb250YWlucyhibG9ja0tleXdvcmRzLCBjdXIpKSBjdXJQdW5jID0gXCJuZXdzdGF0ZW1lbnRcIjtcbiAgICAgIGlmIChjb250YWlucyhkZWZLZXl3b3JkcywgY3VyKSkgaXNEZWZLZXl3b3JkID0gdHJ1ZTtcbiAgICAgIHJldHVybiBcImtleXdvcmRcIjtcbiAgICB9XG4gICAgaWYgKGNvbnRhaW5zKHR5cGVzLCBjdXIpKSByZXR1cm4gXCJ0eXBlXCI7XG4gICAgaWYgKGNvbnRhaW5zKGJ1aWx0aW4sIGN1cilcbiAgICAgICAgfHwgKGlzUmVzZXJ2ZWRJZGVudGlmaWVyICYmIGlzUmVzZXJ2ZWRJZGVudGlmaWVyKGN1cikpKSB7XG4gICAgICBpZiAoY29udGFpbnMoYmxvY2tLZXl3b3JkcywgY3VyKSkgY3VyUHVuYyA9IFwibmV3c3RhdGVtZW50XCI7XG4gICAgICByZXR1cm4gXCJidWlsdGluXCI7XG4gICAgfVxuICAgIGlmIChjb250YWlucyhhdG9tcywgY3VyKSkgcmV0dXJuIFwiYXRvbVwiO1xuICAgIHJldHVybiBcInZhcmlhYmxlXCI7XG4gIH1cblxuICBmdW5jdGlvbiB0b2tlblN0cmluZyhxdW90ZSkge1xuICAgIHJldHVybiBmdW5jdGlvbihzdHJlYW0sIHN0YXRlKSB7XG4gICAgICB2YXIgZXNjYXBlZCA9IGZhbHNlLCBuZXh0LCBlbmQgPSBmYWxzZTtcbiAgICAgIHdoaWxlICgobmV4dCA9IHN0cmVhbS5uZXh0KCkpICE9IG51bGwpIHtcbiAgICAgICAgaWYgKG5leHQgPT0gcXVvdGUgJiYgIWVzY2FwZWQpIHtlbmQgPSB0cnVlOyBicmVhazt9XG4gICAgICAgIGVzY2FwZWQgPSAhZXNjYXBlZCAmJiBuZXh0ID09IFwiXFxcXFwiO1xuICAgICAgfVxuICAgICAgaWYgKGVuZCB8fCAhKGVzY2FwZWQgfHwgbXVsdGlMaW5lU3RyaW5ncykpXG4gICAgICAgIHN0YXRlLnRva2VuaXplID0gbnVsbDtcbiAgICAgIHJldHVybiBcInN0cmluZ1wiO1xuICAgIH07XG4gIH1cblxuICBmdW5jdGlvbiB0b2tlbkNvbW1lbnQoc3RyZWFtLCBzdGF0ZSkge1xuICAgIHZhciBtYXliZUVuZCA9IGZhbHNlLCBjaDtcbiAgICB3aGlsZSAoY2ggPSBzdHJlYW0ubmV4dCgpKSB7XG4gICAgICBpZiAoY2ggPT0gXCIvXCIgJiYgbWF5YmVFbmQpIHtcbiAgICAgICAgc3RhdGUudG9rZW5pemUgPSBudWxsO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIG1heWJlRW5kID0gKGNoID09IFwiKlwiKTtcbiAgICB9XG4gICAgcmV0dXJuIFwiY29tbWVudFwiO1xuICB9XG5cbiAgZnVuY3Rpb24gbWF5YmVFT0woc3RyZWFtLCBzdGF0ZSkge1xuICAgIGlmIChwYXJzZXJDb25maWcudHlwZUZpcnN0RGVmaW5pdGlvbnMgJiYgc3RyZWFtLmVvbCgpICYmIGlzVG9wU2NvcGUoc3RhdGUuY29udGV4dCkpXG4gICAgICBzdGF0ZS50eXBlQXRFbmRPZkxpbmUgPSB0eXBlQmVmb3JlKHN0cmVhbSwgc3RhdGUsIHN0cmVhbS5wb3MpXG4gIH1cblxuICAvLyBJbnRlcmZhY2VcblxuICByZXR1cm4ge1xuICAgIHN0YXJ0U3RhdGU6IGZ1bmN0aW9uKGJhc2Vjb2x1bW4pIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHRva2VuaXplOiBudWxsLFxuICAgICAgICBjb250ZXh0OiBuZXcgQ29udGV4dCgoYmFzZWNvbHVtbiB8fCAwKSAtIGluZGVudFVuaXQsIDAsIFwidG9wXCIsIG51bGwsIGZhbHNlKSxcbiAgICAgICAgaW5kZW50ZWQ6IDAsXG4gICAgICAgIHN0YXJ0T2ZMaW5lOiB0cnVlLFxuICAgICAgICBwcmV2VG9rZW46IG51bGxcbiAgICAgIH07XG4gICAgfSxcblxuICAgIHRva2VuOiBmdW5jdGlvbihzdHJlYW0sIHN0YXRlKSB7XG4gICAgICB2YXIgY3R4ID0gc3RhdGUuY29udGV4dDtcbiAgICAgIGlmIChzdHJlYW0uc29sKCkpIHtcbiAgICAgICAgaWYgKGN0eC5hbGlnbiA9PSBudWxsKSBjdHguYWxpZ24gPSBmYWxzZTtcbiAgICAgICAgc3RhdGUuaW5kZW50ZWQgPSBzdHJlYW0uaW5kZW50YXRpb24oKTtcbiAgICAgICAgc3RhdGUuc3RhcnRPZkxpbmUgPSB0cnVlO1xuICAgICAgfVxuICAgICAgaWYgKHN0cmVhbS5lYXRTcGFjZSgpKSB7IG1heWJlRU9MKHN0cmVhbSwgc3RhdGUpOyByZXR1cm4gbnVsbDsgfVxuICAgICAgY3VyUHVuYyA9IGlzRGVmS2V5d29yZCA9IG51bGw7XG4gICAgICB2YXIgc3R5bGUgPSAoc3RhdGUudG9rZW5pemUgfHwgdG9rZW5CYXNlKShzdHJlYW0sIHN0YXRlKTtcbiAgICAgIGlmIChzdHlsZSA9PSBcImNvbW1lbnRcIiB8fCBzdHlsZSA9PSBcIm1ldGFcIikgcmV0dXJuIHN0eWxlO1xuICAgICAgaWYgKGN0eC5hbGlnbiA9PSBudWxsKSBjdHguYWxpZ24gPSB0cnVlO1xuXG4gICAgICBpZiAoY3VyUHVuYyA9PSBcIjtcIiB8fCBjdXJQdW5jID09IFwiOlwiIHx8IChjdXJQdW5jID09IFwiLFwiICYmIHN0cmVhbS5tYXRjaCgvXlxccyooPzpcXC9cXC8uKik/JC8sIGZhbHNlKSkpXG4gICAgICAgIHdoaWxlIChzdGF0ZS5jb250ZXh0LnR5cGUgPT0gXCJzdGF0ZW1lbnRcIikgcG9wQ29udGV4dChzdGF0ZSk7XG4gICAgICBlbHNlIGlmIChjdXJQdW5jID09IFwie1wiKSBwdXNoQ29udGV4dChzdGF0ZSwgc3RyZWFtLmNvbHVtbigpLCBcIn1cIik7XG4gICAgICBlbHNlIGlmIChjdXJQdW5jID09IFwiW1wiKSBwdXNoQ29udGV4dChzdGF0ZSwgc3RyZWFtLmNvbHVtbigpLCBcIl1cIik7XG4gICAgICBlbHNlIGlmIChjdXJQdW5jID09IFwiKFwiKSBwdXNoQ29udGV4dChzdGF0ZSwgc3RyZWFtLmNvbHVtbigpLCBcIilcIik7XG4gICAgICBlbHNlIGlmIChjdXJQdW5jID09IFwifVwiKSB7XG4gICAgICAgIHdoaWxlIChjdHgudHlwZSA9PSBcInN0YXRlbWVudFwiKSBjdHggPSBwb3BDb250ZXh0KHN0YXRlKTtcbiAgICAgICAgaWYgKGN0eC50eXBlID09IFwifVwiKSBjdHggPSBwb3BDb250ZXh0KHN0YXRlKTtcbiAgICAgICAgd2hpbGUgKGN0eC50eXBlID09IFwic3RhdGVtZW50XCIpIGN0eCA9IHBvcENvbnRleHQoc3RhdGUpO1xuICAgICAgfVxuICAgICAgZWxzZSBpZiAoY3VyUHVuYyA9PSBjdHgudHlwZSkgcG9wQ29udGV4dChzdGF0ZSk7XG4gICAgICBlbHNlIGlmIChpbmRlbnRTdGF0ZW1lbnRzICYmXG4gICAgICAgICAgICAgICAoKChjdHgudHlwZSA9PSBcIn1cIiB8fCBjdHgudHlwZSA9PSBcInRvcFwiKSAmJiBjdXJQdW5jICE9IFwiO1wiKSB8fFxuICAgICAgICAgICAgICAgIChjdHgudHlwZSA9PSBcInN0YXRlbWVudFwiICYmIGN1clB1bmMgPT0gXCJuZXdzdGF0ZW1lbnRcIikpKSB7XG4gICAgICAgIHB1c2hDb250ZXh0KHN0YXRlLCBzdHJlYW0uY29sdW1uKCksIFwic3RhdGVtZW50XCIsIHN0cmVhbS5jdXJyZW50KCkpO1xuICAgICAgfVxuXG4gICAgICBpZiAoc3R5bGUgPT0gXCJ2YXJpYWJsZVwiICYmXG4gICAgICAgICAgKChzdGF0ZS5wcmV2VG9rZW4gPT0gXCJkZWZcIiB8fFxuICAgICAgICAgICAgKHBhcnNlckNvbmZpZy50eXBlRmlyc3REZWZpbml0aW9ucyAmJiB0eXBlQmVmb3JlKHN0cmVhbSwgc3RhdGUsIHN0cmVhbS5zdGFydCkgJiZcbiAgICAgICAgICAgICBpc1RvcFNjb3BlKHN0YXRlLmNvbnRleHQpICYmIHN0cmVhbS5tYXRjaCgvXlxccypcXCgvLCBmYWxzZSkpKSkpXG4gICAgICAgIHN0eWxlID0gXCJkZWZcIjtcblxuICAgICAgaWYgKGhvb2tzLnRva2VuKSB7XG4gICAgICAgIHZhciByZXN1bHQgPSBob29rcy50b2tlbihzdHJlYW0sIHN0YXRlLCBzdHlsZSk7XG4gICAgICAgIGlmIChyZXN1bHQgIT09IHVuZGVmaW5lZCkgc3R5bGUgPSByZXN1bHQ7XG4gICAgICB9XG5cbiAgICAgIGlmIChzdHlsZSA9PSBcImRlZlwiICYmIHBhcnNlckNvbmZpZy5zdHlsZURlZnMgPT09IGZhbHNlKSBzdHlsZSA9IFwidmFyaWFibGVcIjtcblxuICAgICAgc3RhdGUuc3RhcnRPZkxpbmUgPSBmYWxzZTtcbiAgICAgIHN0YXRlLnByZXZUb2tlbiA9IGlzRGVmS2V5d29yZCA/IFwiZGVmXCIgOiBzdHlsZSB8fCBjdXJQdW5jO1xuICAgICAgbWF5YmVFT0woc3RyZWFtLCBzdGF0ZSk7XG4gICAgICByZXR1cm4gc3R5bGU7XG4gICAgfSxcblxuICAgIGluZGVudDogZnVuY3Rpb24oc3RhdGUsIHRleHRBZnRlcikge1xuICAgICAgaWYgKHN0YXRlLnRva2VuaXplICE9IHRva2VuQmFzZSAmJiBzdGF0ZS50b2tlbml6ZSAhPSBudWxsIHx8IHN0YXRlLnR5cGVBdEVuZE9mTGluZSkgcmV0dXJuIENvZGVNaXJyb3IuUGFzcztcbiAgICAgIHZhciBjdHggPSBzdGF0ZS5jb250ZXh0LCBmaXJzdENoYXIgPSB0ZXh0QWZ0ZXIgJiYgdGV4dEFmdGVyLmNoYXJBdCgwKTtcbiAgICAgIHZhciBjbG9zaW5nID0gZmlyc3RDaGFyID09IGN0eC50eXBlO1xuICAgICAgaWYgKGN0eC50eXBlID09IFwic3RhdGVtZW50XCIgJiYgZmlyc3RDaGFyID09IFwifVwiKSBjdHggPSBjdHgucHJldjtcbiAgICAgIGlmIChwYXJzZXJDb25maWcuZG9udEluZGVudFN0YXRlbWVudHMpXG4gICAgICAgIHdoaWxlIChjdHgudHlwZSA9PSBcInN0YXRlbWVudFwiICYmIHBhcnNlckNvbmZpZy5kb250SW5kZW50U3RhdGVtZW50cy50ZXN0KGN0eC5pbmZvKSlcbiAgICAgICAgICBjdHggPSBjdHgucHJldlxuICAgICAgaWYgKGhvb2tzLmluZGVudCkge1xuICAgICAgICB2YXIgaG9vayA9IGhvb2tzLmluZGVudChzdGF0ZSwgY3R4LCB0ZXh0QWZ0ZXIsIGluZGVudFVuaXQpO1xuICAgICAgICBpZiAodHlwZW9mIGhvb2sgPT0gXCJudW1iZXJcIikgcmV0dXJuIGhvb2tcbiAgICAgIH1cbiAgICAgIHZhciBzd2l0Y2hCbG9jayA9IGN0eC5wcmV2ICYmIGN0eC5wcmV2LmluZm8gPT0gXCJzd2l0Y2hcIjtcbiAgICAgIGlmIChwYXJzZXJDb25maWcuYWxsbWFuSW5kZW50YXRpb24gJiYgL1t7KF0vLnRlc3QoZmlyc3RDaGFyKSkge1xuICAgICAgICB3aGlsZSAoY3R4LnR5cGUgIT0gXCJ0b3BcIiAmJiBjdHgudHlwZSAhPSBcIn1cIikgY3R4ID0gY3R4LnByZXZcbiAgICAgICAgcmV0dXJuIGN0eC5pbmRlbnRlZFxuICAgICAgfVxuICAgICAgaWYgKGN0eC50eXBlID09IFwic3RhdGVtZW50XCIpXG4gICAgICAgIHJldHVybiBjdHguaW5kZW50ZWQgKyAoZmlyc3RDaGFyID09IFwie1wiID8gMCA6IHN0YXRlbWVudEluZGVudFVuaXQpO1xuICAgICAgaWYgKGN0eC5hbGlnbiAmJiAoIWRvbnRBbGlnbkNhbGxzIHx8IGN0eC50eXBlICE9IFwiKVwiKSlcbiAgICAgICAgcmV0dXJuIGN0eC5jb2x1bW4gKyAoY2xvc2luZyA/IDAgOiAxKTtcbiAgICAgIGlmIChjdHgudHlwZSA9PSBcIilcIiAmJiAhY2xvc2luZylcbiAgICAgICAgcmV0dXJuIGN0eC5pbmRlbnRlZCArIHN0YXRlbWVudEluZGVudFVuaXQ7XG5cbiAgICAgIHJldHVybiBjdHguaW5kZW50ZWQgKyAoY2xvc2luZyA/IDAgOiBpbmRlbnRVbml0KSArXG4gICAgICAgICghY2xvc2luZyAmJiBzd2l0Y2hCbG9jayAmJiAhL14oPzpjYXNlfGRlZmF1bHQpXFxiLy50ZXN0KHRleHRBZnRlcikgPyBpbmRlbnRVbml0IDogMCk7XG4gICAgfSxcblxuICAgIGVsZWN0cmljSW5wdXQ6IGluZGVudFN3aXRjaCA/IC9eXFxzKig/OmNhc2UgLio/OnxkZWZhdWx0OnxcXHtcXH0/fFxcfSkkLyA6IC9eXFxzKlt7fV0kLyxcbiAgICBibG9ja0NvbW1lbnRTdGFydDogXCIvKlwiLFxuICAgIGJsb2NrQ29tbWVudEVuZDogXCIqL1wiLFxuICAgIGJsb2NrQ29tbWVudENvbnRpbnVlOiBcIiAqIFwiLFxuICAgIGxpbmVDb21tZW50OiBcIi8vXCIsXG4gICAgZm9sZDogXCJicmFjZVwiXG4gIH07XG59KTtcblxuICBmdW5jdGlvbiB3b3JkcyhzdHIpIHtcbiAgICB2YXIgb2JqID0ge30sIHdvcmRzID0gc3RyLnNwbGl0KFwiIFwiKTtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHdvcmRzLmxlbmd0aDsgKytpKSBvYmpbd29yZHNbaV1dID0gdHJ1ZTtcbiAgICByZXR1cm4gb2JqO1xuICB9XG4gIGZ1bmN0aW9uIGNvbnRhaW5zKHdvcmRzLCB3b3JkKSB7XG4gICAgaWYgKHR5cGVvZiB3b3JkcyA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICByZXR1cm4gd29yZHMod29yZCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB3b3Jkcy5wcm9wZXJ0eUlzRW51bWVyYWJsZSh3b3JkKTtcbiAgICB9XG4gIH1cbiAgdmFyIGNLZXl3b3JkcyA9IFwiYXV0byBpZiBicmVhayBjYXNlIHJlZ2lzdGVyIGNvbnRpbnVlIHJldHVybiBkZWZhdWx0IGRvIHNpemVvZiBcIiArXG4gICAgXCJzdGF0aWMgZWxzZSBzdHJ1Y3Qgc3dpdGNoIGV4dGVybiB0eXBlZGVmIHVuaW9uIGZvciBnb3RvIHdoaWxlIGVudW0gY29uc3QgXCIgK1xuICAgIFwidm9sYXRpbGUgaW5saW5lIHJlc3RyaWN0IGFzbSBmb3J0cmFuXCI7XG5cbiAgLy8gRG8gbm90IHVzZSB0aGlzLiBVc2UgdGhlIGNUeXBlcyBmdW5jdGlvbiBiZWxvdy4gVGhpcyBpcyBnbG9iYWwganVzdCB0byBhdm9pZFxuICAvLyBleGNlc3NpdmUgY2FsbHMgd2hlbiBjVHlwZXMgaXMgYmVpbmcgY2FsbGVkIG11bHRpcGxlIHRpbWVzIGR1cmluZyBhIHBhcnNlLlxuICB2YXIgYmFzaWNDVHlwZXMgPSB3b3JkcyhcImludCBsb25nIGNoYXIgc2hvcnQgZG91YmxlIGZsb2F0IHVuc2lnbmVkIHNpZ25lZCBcIiArXG4gICAgXCJ2b2lkIGJvb2xcIik7XG5cbiAgLy8gRG8gbm90IHVzZSB0aGlzLiBVc2UgdGhlIG9iakNUeXBlcyBmdW5jdGlvbiBiZWxvdy4gVGhpcyBpcyBnbG9iYWwganVzdCB0byBhdm9pZFxuICAvLyBleGNlc3NpdmUgY2FsbHMgd2hlbiBvYmpDVHlwZXMgaXMgYmVpbmcgY2FsbGVkIG11bHRpcGxlIHRpbWVzIGR1cmluZyBhIHBhcnNlLlxuICB2YXIgYmFzaWNPYmpDVHlwZXMgPSB3b3JkcyhcIlNFTCBpbnN0YW5jZXR5cGUgaWQgQ2xhc3MgUHJvdG9jb2wgQk9PTFwiKTtcblxuICAvLyBSZXR1cm5zIHRydWUgaWYgaWRlbnRpZmllciBpcyBhIFwiQ1wiIHR5cGUuXG4gIC8vIEMgdHlwZSBpcyBkZWZpbmVkIGFzIHRob3NlIHRoYXQgYXJlIHJlc2VydmVkIGJ5IHRoZSBjb21waWxlciAoYmFzaWNUeXBlcyksXG4gIC8vIGFuZCB0aG9zZSB0aGF0IGVuZCBpbiBfdCAoUmVzZXJ2ZWQgYnkgUE9TSVggZm9yIHR5cGVzKVxuICAvLyBodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvbGliYy9tYW51YWwvaHRtbF9ub2RlL1Jlc2VydmVkLU5hbWVzLmh0bWxcbiAgZnVuY3Rpb24gY1R5cGVzKGlkZW50aWZpZXIpIHtcbiAgICByZXR1cm4gY29udGFpbnMoYmFzaWNDVHlwZXMsIGlkZW50aWZpZXIpIHx8IC8uK190JC8udGVzdChpZGVudGlmaWVyKTtcbiAgfVxuXG4gIC8vIFJldHVybnMgdHJ1ZSBpZiBpZGVudGlmaWVyIGlzIGEgXCJPYmplY3RpdmUgQ1wiIHR5cGUuXG4gIGZ1bmN0aW9uIG9iakNUeXBlcyhpZGVudGlmaWVyKSB7XG4gICAgcmV0dXJuIGNUeXBlcyhpZGVudGlmaWVyKSB8fCBjb250YWlucyhiYXNpY09iakNUeXBlcywgaWRlbnRpZmllcik7XG4gIH1cblxuICB2YXIgY0Jsb2NrS2V5d29yZHMgPSBcImNhc2UgZG8gZWxzZSBmb3IgaWYgc3dpdGNoIHdoaWxlIHN0cnVjdCBlbnVtIHVuaW9uXCI7XG4gIHZhciBjRGVmS2V5d29yZHMgPSBcInN0cnVjdCBlbnVtIHVuaW9uXCI7XG5cbiAgZnVuY3Rpb24gY3BwSG9vayhzdHJlYW0sIHN0YXRlKSB7XG4gICAgaWYgKCFzdGF0ZS5zdGFydE9mTGluZSkgcmV0dXJuIGZhbHNlXG4gICAgZm9yICh2YXIgY2gsIG5leHQgPSBudWxsOyBjaCA9IHN0cmVhbS5wZWVrKCk7KSB7XG4gICAgICBpZiAoY2ggPT0gXCJcXFxcXCIgJiYgc3RyZWFtLm1hdGNoKC9eLiQvKSkge1xuICAgICAgICBuZXh0ID0gY3BwSG9va1xuICAgICAgICBicmVha1xuICAgICAgfSBlbHNlIGlmIChjaCA9PSBcIi9cIiAmJiBzdHJlYW0ubWF0Y2goL15cXC9bXFwvXFwqXS8sIGZhbHNlKSkge1xuICAgICAgICBicmVha1xuICAgICAgfVxuICAgICAgc3RyZWFtLm5leHQoKVxuICAgIH1cbiAgICBzdGF0ZS50b2tlbml6ZSA9IG5leHRcbiAgICByZXR1cm4gXCJtZXRhXCJcbiAgfVxuXG4gIGZ1bmN0aW9uIHBvaW50ZXJIb29rKF9zdHJlYW0sIHN0YXRlKSB7XG4gICAgaWYgKHN0YXRlLnByZXZUb2tlbiA9PSBcInR5cGVcIikgcmV0dXJuIFwidHlwZVwiO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIC8vIEZvciBDIGFuZCBDKysgKGFuZCBPYmpDKTogaWRlbnRpZmllcnMgc3RhcnRpbmcgd2l0aCBfX1xuICAvLyBvciBfIGZvbGxvd2VkIGJ5IGEgY2FwaXRhbCBsZXR0ZXIgYXJlIHJlc2VydmVkIGZvciB0aGUgY29tcGlsZXIuXG4gIGZ1bmN0aW9uIGNJc1Jlc2VydmVkSWRlbnRpZmllcih0b2tlbikge1xuICAgIGlmICghdG9rZW4gfHwgdG9rZW4ubGVuZ3RoIDwgMikgcmV0dXJuIGZhbHNlO1xuICAgIGlmICh0b2tlblswXSAhPSAnXycpIHJldHVybiBmYWxzZTtcbiAgICByZXR1cm4gKHRva2VuWzFdID09ICdfJykgfHwgKHRva2VuWzFdICE9PSB0b2tlblsxXS50b0xvd2VyQ2FzZSgpKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGNwcDE0TGl0ZXJhbChzdHJlYW0pIHtcbiAgICBzdHJlYW0uZWF0V2hpbGUoL1tcXHdcXC4nXS8pO1xuICAgIHJldHVybiBcIm51bWJlclwiO1xuICB9XG5cbiAgZnVuY3Rpb24gY3BwMTFTdHJpbmdIb29rKHN0cmVhbSwgc3RhdGUpIHtcbiAgICBzdHJlYW0uYmFja1VwKDEpO1xuICAgIC8vIFJhdyBzdHJpbmdzLlxuICAgIGlmIChzdHJlYW0ubWF0Y2goLyhSfHU4Unx1UnxVUnxMUikvKSkge1xuICAgICAgdmFyIG1hdGNoID0gc3RyZWFtLm1hdGNoKC9cIihbXlxcc1xcXFwoKV17MCwxNn0pXFwoLyk7XG4gICAgICBpZiAoIW1hdGNoKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIHN0YXRlLmNwcDExUmF3U3RyaW5nRGVsaW0gPSBtYXRjaFsxXTtcbiAgICAgIHN0YXRlLnRva2VuaXplID0gdG9rZW5SYXdTdHJpbmc7XG4gICAgICByZXR1cm4gdG9rZW5SYXdTdHJpbmcoc3RyZWFtLCBzdGF0ZSk7XG4gICAgfVxuICAgIC8vIFVuaWNvZGUgc3RyaW5ncy9jaGFycy5cbiAgICBpZiAoc3RyZWFtLm1hdGNoKC8odTh8dXxVfEwpLykpIHtcbiAgICAgIGlmIChzdHJlYW0ubWF0Y2goL1tcIiddLywgLyogZWF0ICovIGZhbHNlKSkge1xuICAgICAgICByZXR1cm4gXCJzdHJpbmdcIjtcbiAgICAgIH1cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgLy8gSWdub3JlIHRoaXMgaG9vay5cbiAgICBzdHJlYW0ubmV4dCgpO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGNwcExvb2tzTGlrZUNvbnN0cnVjdG9yKHdvcmQpIHtcbiAgICB2YXIgbGFzdFR3byA9IC8oXFx3Kyk6On4/KFxcdyspJC8uZXhlYyh3b3JkKTtcbiAgICByZXR1cm4gbGFzdFR3byAmJiBsYXN0VHdvWzFdID09IGxhc3RUd29bMl07XG4gIH1cblxuICAvLyBDIy1zdHlsZSBzdHJpbmdzIHdoZXJlIFwiXCIgZXNjYXBlcyBhIHF1b3RlLlxuICBmdW5jdGlvbiB0b2tlbkF0U3RyaW5nKHN0cmVhbSwgc3RhdGUpIHtcbiAgICB2YXIgbmV4dDtcbiAgICB3aGlsZSAoKG5leHQgPSBzdHJlYW0ubmV4dCgpKSAhPSBudWxsKSB7XG4gICAgICBpZiAobmV4dCA9PSAnXCInICYmICFzdHJlYW0uZWF0KCdcIicpKSB7XG4gICAgICAgIHN0YXRlLnRva2VuaXplID0gbnVsbDtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBcInN0cmluZ1wiO1xuICB9XG5cbiAgLy8gQysrMTEgcmF3IHN0cmluZyBsaXRlcmFsIGlzIDxwcmVmaXg+XCI8ZGVsaW0+KCBhbnl0aGluZyApPGRlbGltPlwiLCB3aGVyZVxuICAvLyA8ZGVsaW0+IGNhbiBiZSBhIHN0cmluZyB1cCB0byAxNiBjaGFyYWN0ZXJzIGxvbmcuXG4gIGZ1bmN0aW9uIHRva2VuUmF3U3RyaW5nKHN0cmVhbSwgc3RhdGUpIHtcbiAgICAvLyBFc2NhcGUgY2hhcmFjdGVycyB0aGF0IGhhdmUgc3BlY2lhbCByZWdleCBtZWFuaW5ncy5cbiAgICB2YXIgZGVsaW0gPSBzdGF0ZS5jcHAxMVJhd1N0cmluZ0RlbGltLnJlcGxhY2UoL1teXFx3XFxzXS9nLCAnXFxcXCQmJyk7XG4gICAgdmFyIG1hdGNoID0gc3RyZWFtLm1hdGNoKG5ldyBSZWdFeHAoXCIuKj9cXFxcKVwiICsgZGVsaW0gKyAnXCInKSk7XG4gICAgaWYgKG1hdGNoKVxuICAgICAgc3RhdGUudG9rZW5pemUgPSBudWxsO1xuICAgIGVsc2VcbiAgICAgIHN0cmVhbS5za2lwVG9FbmQoKTtcbiAgICByZXR1cm4gXCJzdHJpbmdcIjtcbiAgfVxuXG4gIGZ1bmN0aW9uIGRlZihtaW1lcywgbW9kZSkge1xuICAgIGlmICh0eXBlb2YgbWltZXMgPT0gXCJzdHJpbmdcIikgbWltZXMgPSBbbWltZXNdO1xuICAgIHZhciB3b3JkcyA9IFtdO1xuICAgIGZ1bmN0aW9uIGFkZChvYmopIHtcbiAgICAgIGlmIChvYmopIGZvciAodmFyIHByb3AgaW4gb2JqKSBpZiAob2JqLmhhc093blByb3BlcnR5KHByb3ApKVxuICAgICAgICB3b3Jkcy5wdXNoKHByb3ApO1xuICAgIH1cbiAgICBhZGQobW9kZS5rZXl3b3Jkcyk7XG4gICAgYWRkKG1vZGUudHlwZXMpO1xuICAgIGFkZChtb2RlLmJ1aWx0aW4pO1xuICAgIGFkZChtb2RlLmF0b21zKTtcbiAgICBpZiAod29yZHMubGVuZ3RoKSB7XG4gICAgICBtb2RlLmhlbHBlclR5cGUgPSBtaW1lc1swXTtcbiAgICAgIENvZGVNaXJyb3IucmVnaXN0ZXJIZWxwZXIoXCJoaW50V29yZHNcIiwgbWltZXNbMF0sIHdvcmRzKTtcbiAgICB9XG5cbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IG1pbWVzLmxlbmd0aDsgKytpKVxuICAgICAgQ29kZU1pcnJvci5kZWZpbmVNSU1FKG1pbWVzW2ldLCBtb2RlKTtcbiAgfVxuXG4gIGRlZihbXCJ0ZXh0L3gtY3NyY1wiLCBcInRleHQveC1jXCIsIFwidGV4dC94LWNoZHJcIl0sIHtcbiAgICBuYW1lOiBcImNsaWtlXCIsXG4gICAga2V5d29yZHM6IHdvcmRzKGNLZXl3b3JkcyksXG4gICAgdHlwZXM6IGNUeXBlcyxcbiAgICBibG9ja0tleXdvcmRzOiB3b3JkcyhjQmxvY2tLZXl3b3JkcyksXG4gICAgZGVmS2V5d29yZHM6IHdvcmRzKGNEZWZLZXl3b3JkcyksXG4gICAgdHlwZUZpcnN0RGVmaW5pdGlvbnM6IHRydWUsXG4gICAgYXRvbXM6IHdvcmRzKFwiTlVMTCB0cnVlIGZhbHNlXCIpLFxuICAgIGlzUmVzZXJ2ZWRJZGVudGlmaWVyOiBjSXNSZXNlcnZlZElkZW50aWZpZXIsXG4gICAgaG9va3M6IHtcbiAgICAgIFwiI1wiOiBjcHBIb29rLFxuICAgICAgXCIqXCI6IHBvaW50ZXJIb29rLFxuICAgIH0sXG4gICAgbW9kZVByb3BzOiB7Zm9sZDogW1wiYnJhY2VcIiwgXCJpbmNsdWRlXCJdfVxuICB9KTtcblxuICBkZWYoW1widGV4dC94LWMrK3NyY1wiLCBcInRleHQveC1jKytoZHJcIl0sIHtcbiAgICBuYW1lOiBcImNsaWtlXCIsXG4gICAgLy8gS2V5d29yZHMgZnJvbSBodHRwczovL2VuLmNwcHJlZmVyZW5jZS5jb20vdy9jcHAva2V5d29yZCBpbmNsdWRlcyBDKysyMC5cbiAgICBrZXl3b3Jkczogd29yZHMoY0tleXdvcmRzICsgXCJhbGlnbmFzIGFsaWdub2YgYW5kIGFuZF9lcSBhdWRpdCBheGlvbSBiaXRhbmQgYml0b3IgY2F0Y2ggXCIgK1xuICAgICAgICAgICAgICAgICAgICBcImNsYXNzIGNvbXBsIGNvbmNlcHQgY29uc3RleHByIGNvbnN0X2Nhc3QgZGVjbHR5cGUgZGVsZXRlIGR5bmFtaWNfY2FzdCBcIiArXG4gICAgICAgICAgICAgICAgICAgIFwiZXhwbGljaXQgZXhwb3J0IGZpbmFsIGZyaWVuZCBpbXBvcnQgbW9kdWxlIG11dGFibGUgbmFtZXNwYWNlIG5ldyBub2V4Y2VwdCBcIiArXG4gICAgICAgICAgICAgICAgICAgIFwibm90IG5vdF9lcSBvcGVyYXRvciBvciBvcl9lcSBvdmVycmlkZSBwcml2YXRlIHByb3RlY3RlZCBwdWJsaWMgXCIgK1xuICAgICAgICAgICAgICAgICAgICBcInJlaW50ZXJwcmV0X2Nhc3QgcmVxdWlyZXMgc3RhdGljX2Fzc2VydCBzdGF0aWNfY2FzdCB0ZW1wbGF0ZSB0aGlzIFwiICtcbiAgICAgICAgICAgICAgICAgICAgXCJ0aHJlYWRfbG9jYWwgdGhyb3cgdHJ5IHR5cGVpZCB0eXBlbmFtZSB1c2luZyB2aXJ0dWFsIHhvciB4b3JfZXFcIiksXG4gICAgdHlwZXM6IGNUeXBlcyxcbiAgICBibG9ja0tleXdvcmRzOiB3b3JkcyhjQmxvY2tLZXl3b3JkcyArIFwiIGNsYXNzIHRyeSBjYXRjaFwiKSxcbiAgICBkZWZLZXl3b3Jkczogd29yZHMoY0RlZktleXdvcmRzICsgXCIgY2xhc3MgbmFtZXNwYWNlXCIpLFxuICAgIHR5cGVGaXJzdERlZmluaXRpb25zOiB0cnVlLFxuICAgIGF0b21zOiB3b3JkcyhcInRydWUgZmFsc2UgTlVMTCBudWxscHRyXCIpLFxuICAgIGRvbnRJbmRlbnRTdGF0ZW1lbnRzOiAvXnRlbXBsYXRlJC8sXG4gICAgaXNJZGVudGlmaWVyQ2hhcjogL1tcXHdcXCRfflxceGExLVxcdWZmZmZdLyxcbiAgICBpc1Jlc2VydmVkSWRlbnRpZmllcjogY0lzUmVzZXJ2ZWRJZGVudGlmaWVyLFxuICAgIGhvb2tzOiB7XG4gICAgICBcIiNcIjogY3BwSG9vayxcbiAgICAgIFwiKlwiOiBwb2ludGVySG9vayxcbiAgICAgIFwidVwiOiBjcHAxMVN0cmluZ0hvb2ssXG4gICAgICBcIlVcIjogY3BwMTFTdHJpbmdIb29rLFxuICAgICAgXCJMXCI6IGNwcDExU3RyaW5nSG9vayxcbiAgICAgIFwiUlwiOiBjcHAxMVN0cmluZ0hvb2ssXG4gICAgICBcIjBcIjogY3BwMTRMaXRlcmFsLFxuICAgICAgXCIxXCI6IGNwcDE0TGl0ZXJhbCxcbiAgICAgIFwiMlwiOiBjcHAxNExpdGVyYWwsXG4gICAgICBcIjNcIjogY3BwMTRMaXRlcmFsLFxuICAgICAgXCI0XCI6IGNwcDE0TGl0ZXJhbCxcbiAgICAgIFwiNVwiOiBjcHAxNExpdGVyYWwsXG4gICAgICBcIjZcIjogY3BwMTRMaXRlcmFsLFxuICAgICAgXCI3XCI6IGNwcDE0TGl0ZXJhbCxcbiAgICAgIFwiOFwiOiBjcHAxNExpdGVyYWwsXG4gICAgICBcIjlcIjogY3BwMTRMaXRlcmFsLFxuICAgICAgdG9rZW46IGZ1bmN0aW9uKHN0cmVhbSwgc3RhdGUsIHN0eWxlKSB7XG4gICAgICAgIGlmIChzdHlsZSA9PSBcInZhcmlhYmxlXCIgJiYgc3RyZWFtLnBlZWsoKSA9PSBcIihcIiAmJlxuICAgICAgICAgICAgKHN0YXRlLnByZXZUb2tlbiA9PSBcIjtcIiB8fCBzdGF0ZS5wcmV2VG9rZW4gPT0gbnVsbCB8fFxuICAgICAgICAgICAgIHN0YXRlLnByZXZUb2tlbiA9PSBcIn1cIikgJiZcbiAgICAgICAgICAgIGNwcExvb2tzTGlrZUNvbnN0cnVjdG9yKHN0cmVhbS5jdXJyZW50KCkpKVxuICAgICAgICAgIHJldHVybiBcImRlZlwiO1xuICAgICAgfVxuICAgIH0sXG4gICAgbmFtZXNwYWNlU2VwYXJhdG9yOiBcIjo6XCIsXG4gICAgbW9kZVByb3BzOiB7Zm9sZDogW1wiYnJhY2VcIiwgXCJpbmNsdWRlXCJdfVxuICB9KTtcblxuICBkZWYoXCJ0ZXh0L3gtamF2YVwiLCB7XG4gICAgbmFtZTogXCJjbGlrZVwiLFxuICAgIGtleXdvcmRzOiB3b3JkcyhcImFic3RyYWN0IGFzc2VydCBicmVhayBjYXNlIGNhdGNoIGNsYXNzIGNvbnN0IGNvbnRpbnVlIGRlZmF1bHQgXCIgK1xuICAgICAgICAgICAgICAgICAgICBcImRvIGVsc2UgZW51bSBleHRlbmRzIGZpbmFsIGZpbmFsbHkgZm9yIGdvdG8gaWYgaW1wbGVtZW50cyBpbXBvcnQgXCIgK1xuICAgICAgICAgICAgICAgICAgICBcImluc3RhbmNlb2YgaW50ZXJmYWNlIG5hdGl2ZSBuZXcgcGFja2FnZSBwcml2YXRlIHByb3RlY3RlZCBwdWJsaWMgXCIgK1xuICAgICAgICAgICAgICAgICAgICBcInJldHVybiBzdGF0aWMgc3RyaWN0ZnAgc3VwZXIgc3dpdGNoIHN5bmNocm9uaXplZCB0aGlzIHRocm93IHRocm93cyB0cmFuc2llbnQgXCIgK1xuICAgICAgICAgICAgICAgICAgICBcInRyeSB2b2xhdGlsZSB3aGlsZSBAaW50ZXJmYWNlXCIpLFxuICAgIHR5cGVzOiB3b3JkcyhcImJ5dGUgc2hvcnQgaW50IGxvbmcgZmxvYXQgZG91YmxlIGJvb2xlYW4gY2hhciB2b2lkIEJvb2xlYW4gQnl0ZSBDaGFyYWN0ZXIgRG91YmxlIEZsb2F0IFwiICtcbiAgICAgICAgICAgICAgICAgXCJJbnRlZ2VyIExvbmcgTnVtYmVyIE9iamVjdCBTaG9ydCBTdHJpbmcgU3RyaW5nQnVmZmVyIFN0cmluZ0J1aWxkZXIgVm9pZFwiKSxcbiAgICBibG9ja0tleXdvcmRzOiB3b3JkcyhcImNhdGNoIGNsYXNzIGRvIGVsc2UgZmluYWxseSBmb3IgaWYgc3dpdGNoIHRyeSB3aGlsZVwiKSxcbiAgICBkZWZLZXl3b3Jkczogd29yZHMoXCJjbGFzcyBpbnRlcmZhY2UgZW51bSBAaW50ZXJmYWNlXCIpLFxuICAgIHR5cGVGaXJzdERlZmluaXRpb25zOiB0cnVlLFxuICAgIGF0b21zOiB3b3JkcyhcInRydWUgZmFsc2UgbnVsbFwiKSxcbiAgICBudW1iZXI6IC9eKD86MHhbYS1mXFxkX10rfDBiWzAxX10rfCg/OltcXGRfXStcXC4/XFxkKnxcXC5cXGQrKSg/OmVbLStdP1tcXGRfXSspPykodXxsbD98bHxmKT8vaSxcbiAgICBob29rczoge1xuICAgICAgXCJAXCI6IGZ1bmN0aW9uKHN0cmVhbSkge1xuICAgICAgICAvLyBEb24ndCBtYXRjaCB0aGUgQGludGVyZmFjZSBrZXl3b3JkLlxuICAgICAgICBpZiAoc3RyZWFtLm1hdGNoKCdpbnRlcmZhY2UnLCBmYWxzZSkpIHJldHVybiBmYWxzZTtcblxuICAgICAgICBzdHJlYW0uZWF0V2hpbGUoL1tcXHdcXCRfXS8pO1xuICAgICAgICByZXR1cm4gXCJtZXRhXCI7XG4gICAgICB9XG4gICAgfSxcbiAgICBtb2RlUHJvcHM6IHtmb2xkOiBbXCJicmFjZVwiLCBcImltcG9ydFwiXX1cbiAgfSk7XG5cbiAgZGVmKFwidGV4dC94LWNzaGFycFwiLCB7XG4gICAgbmFtZTogXCJjbGlrZVwiLFxuICAgIGtleXdvcmRzOiB3b3JkcyhcImFic3RyYWN0IGFzIGFzeW5jIGF3YWl0IGJhc2UgYnJlYWsgY2FzZSBjYXRjaCBjaGVja2VkIGNsYXNzIGNvbnN0IGNvbnRpbnVlXCIgK1xuICAgICAgICAgICAgICAgICAgICBcIiBkZWZhdWx0IGRlbGVnYXRlIGRvIGVsc2UgZW51bSBldmVudCBleHBsaWNpdCBleHRlcm4gZmluYWxseSBmaXhlZCBmb3JcIiArXG4gICAgICAgICAgICAgICAgICAgIFwiIGZvcmVhY2ggZ290byBpZiBpbXBsaWNpdCBpbiBpbnRlcmZhY2UgaW50ZXJuYWwgaXMgbG9jayBuYW1lc3BhY2UgbmV3XCIgK1xuICAgICAgICAgICAgICAgICAgICBcIiBvcGVyYXRvciBvdXQgb3ZlcnJpZGUgcGFyYW1zIHByaXZhdGUgcHJvdGVjdGVkIHB1YmxpYyByZWFkb25seSByZWYgcmV0dXJuIHNlYWxlZFwiICtcbiAgICAgICAgICAgICAgICAgICAgXCIgc2l6ZW9mIHN0YWNrYWxsb2Mgc3RhdGljIHN0cnVjdCBzd2l0Y2ggdGhpcyB0aHJvdyB0cnkgdHlwZW9mIHVuY2hlY2tlZFwiICtcbiAgICAgICAgICAgICAgICAgICAgXCIgdW5zYWZlIHVzaW5nIHZpcnR1YWwgdm9pZCB2b2xhdGlsZSB3aGlsZSBhZGQgYWxpYXMgYXNjZW5kaW5nIGRlc2NlbmRpbmcgZHluYW1pYyBmcm9tIGdldFwiICtcbiAgICAgICAgICAgICAgICAgICAgXCIgZ2xvYmFsIGdyb3VwIGludG8gam9pbiBsZXQgb3JkZXJieSBwYXJ0aWFsIHJlbW92ZSBzZWxlY3Qgc2V0IHZhbHVlIHZhciB5aWVsZFwiKSxcbiAgICB0eXBlczogd29yZHMoXCJBY3Rpb24gQm9vbGVhbiBCeXRlIENoYXIgRGF0ZVRpbWUgRGF0ZVRpbWVPZmZzZXQgRGVjaW1hbCBEb3VibGUgRnVuY1wiICtcbiAgICAgICAgICAgICAgICAgXCIgR3VpZCBJbnQxNiBJbnQzMiBJbnQ2NCBPYmplY3QgU0J5dGUgU2luZ2xlIFN0cmluZyBUYXNrIFRpbWVTcGFuIFVJbnQxNiBVSW50MzJcIiArXG4gICAgICAgICAgICAgICAgIFwiIFVJbnQ2NCBib29sIGJ5dGUgY2hhciBkZWNpbWFsIGRvdWJsZSBzaG9ydCBpbnQgbG9uZyBvYmplY3RcIiAgK1xuICAgICAgICAgICAgICAgICBcIiBzYnl0ZSBmbG9hdCBzdHJpbmcgdXNob3J0IHVpbnQgdWxvbmdcIiksXG4gICAgYmxvY2tLZXl3b3Jkczogd29yZHMoXCJjYXRjaCBjbGFzcyBkbyBlbHNlIGZpbmFsbHkgZm9yIGZvcmVhY2ggaWYgc3RydWN0IHN3aXRjaCB0cnkgd2hpbGVcIiksXG4gICAgZGVmS2V5d29yZHM6IHdvcmRzKFwiY2xhc3MgaW50ZXJmYWNlIG5hbWVzcGFjZSBzdHJ1Y3QgdmFyXCIpLFxuICAgIHR5cGVGaXJzdERlZmluaXRpb25zOiB0cnVlLFxuICAgIGF0b21zOiB3b3JkcyhcInRydWUgZmFsc2UgbnVsbFwiKSxcbiAgICBob29rczoge1xuICAgICAgXCJAXCI6IGZ1bmN0aW9uKHN0cmVhbSwgc3RhdGUpIHtcbiAgICAgICAgaWYgKHN0cmVhbS5lYXQoJ1wiJykpIHtcbiAgICAgICAgICBzdGF0ZS50b2tlbml6ZSA9IHRva2VuQXRTdHJpbmc7XG4gICAgICAgICAgcmV0dXJuIHRva2VuQXRTdHJpbmcoc3RyZWFtLCBzdGF0ZSk7XG4gICAgICAgIH1cbiAgICAgICAgc3RyZWFtLmVhdFdoaWxlKC9bXFx3XFwkX10vKTtcbiAgICAgICAgcmV0dXJuIFwibWV0YVwiO1xuICAgICAgfVxuICAgIH1cbiAgfSk7XG5cbiAgZnVuY3Rpb24gdG9rZW5UcmlwbGVTdHJpbmcoc3RyZWFtLCBzdGF0ZSkge1xuICAgIHZhciBlc2NhcGVkID0gZmFsc2U7XG4gICAgd2hpbGUgKCFzdHJlYW0uZW9sKCkpIHtcbiAgICAgIGlmICghZXNjYXBlZCAmJiBzdHJlYW0ubWF0Y2goJ1wiXCJcIicpKSB7XG4gICAgICAgIHN0YXRlLnRva2VuaXplID0gbnVsbDtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBlc2NhcGVkID0gc3RyZWFtLm5leHQoKSA9PSBcIlxcXFxcIiAmJiAhZXNjYXBlZDtcbiAgICB9XG4gICAgcmV0dXJuIFwic3RyaW5nXCI7XG4gIH1cblxuICBmdW5jdGlvbiB0b2tlbk5lc3RlZENvbW1lbnQoZGVwdGgpIHtcbiAgICByZXR1cm4gZnVuY3Rpb24gKHN0cmVhbSwgc3RhdGUpIHtcbiAgICAgIHZhciBjaFxuICAgICAgd2hpbGUgKGNoID0gc3RyZWFtLm5leHQoKSkge1xuICAgICAgICBpZiAoY2ggPT0gXCIqXCIgJiYgc3RyZWFtLmVhdChcIi9cIikpIHtcbiAgICAgICAgICBpZiAoZGVwdGggPT0gMSkge1xuICAgICAgICAgICAgc3RhdGUudG9rZW5pemUgPSBudWxsXG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzdGF0ZS50b2tlbml6ZSA9IHRva2VuTmVzdGVkQ29tbWVudChkZXB0aCAtIDEpXG4gICAgICAgICAgICByZXR1cm4gc3RhdGUudG9rZW5pemUoc3RyZWFtLCBzdGF0ZSlcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAoY2ggPT0gXCIvXCIgJiYgc3RyZWFtLmVhdChcIipcIikpIHtcbiAgICAgICAgICBzdGF0ZS50b2tlbml6ZSA9IHRva2VuTmVzdGVkQ29tbWVudChkZXB0aCArIDEpXG4gICAgICAgICAgcmV0dXJuIHN0YXRlLnRva2VuaXplKHN0cmVhbSwgc3RhdGUpXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBcImNvbW1lbnRcIlxuICAgIH1cbiAgfVxuXG4gIGRlZihcInRleHQveC1zY2FsYVwiLCB7XG4gICAgbmFtZTogXCJjbGlrZVwiLFxuICAgIGtleXdvcmRzOiB3b3JkcyhcbiAgICAgIC8qIHNjYWxhICovXG4gICAgICBcImFic3RyYWN0IGNhc2UgY2F0Y2ggY2xhc3MgZGVmIGRvIGVsc2UgZXh0ZW5kcyBmaW5hbCBmaW5hbGx5IGZvciBmb3JTb21lIGlmIFwiICtcbiAgICAgIFwiaW1wbGljaXQgaW1wb3J0IGxhenkgbWF0Y2ggbmV3IG51bGwgb2JqZWN0IG92ZXJyaWRlIHBhY2thZ2UgcHJpdmF0ZSBwcm90ZWN0ZWQgcmV0dXJuIFwiICtcbiAgICAgIFwic2VhbGVkIHN1cGVyIHRoaXMgdGhyb3cgdHJhaXQgdHJ5IHR5cGUgdmFsIHZhciB3aGlsZSB3aXRoIHlpZWxkIF8gXCIgK1xuXG4gICAgICAvKiBwYWNrYWdlIHNjYWxhICovXG4gICAgICBcImFzc2VydCBhc3N1bWUgcmVxdWlyZSBwcmludCBwcmludGxuIHByaW50ZiByZWFkTGluZSByZWFkQm9vbGVhbiByZWFkQnl0ZSByZWFkU2hvcnQgXCIgK1xuICAgICAgXCJyZWFkQ2hhciByZWFkSW50IHJlYWRMb25nIHJlYWRGbG9hdCByZWFkRG91YmxlXCJcbiAgICApLFxuICAgIHR5cGVzOiB3b3JkcyhcbiAgICAgIFwiQW55VmFsIEFwcCBBcHBsaWNhdGlvbiBBcnJheSBCdWZmZXJlZEl0ZXJhdG9yIEJpZ0RlY2ltYWwgQmlnSW50IENoYXIgQ29uc29sZSBFaXRoZXIgXCIgK1xuICAgICAgXCJFbnVtZXJhdGlvbiBFcXVpdiBFcnJvciBFeGNlcHRpb24gRnJhY3Rpb25hbCBGdW5jdGlvbiBJbmRleGVkU2VxIEludCBJbnRlZ3JhbCBJdGVyYWJsZSBcIiArXG4gICAgICBcIkl0ZXJhdG9yIExpc3QgTWFwIE51bWVyaWMgTmlsIE5vdE51bGwgT3B0aW9uIE9yZGVyZWQgT3JkZXJpbmcgUGFydGlhbEZ1bmN0aW9uIFBhcnRpYWxPcmRlcmluZyBcIiArXG4gICAgICBcIlByb2R1Y3QgUHJveHkgUmFuZ2UgUmVzcG9uZGVyIFNlcSBTZXJpYWxpemFibGUgU2V0IFNwZWNpYWxpemFibGUgU3RyZWFtIFN0cmluZ0J1aWxkZXIgXCIgK1xuICAgICAgXCJTdHJpbmdDb250ZXh0IFN5bWJvbCBUaHJvd2FibGUgVHJhdmVyc2FibGUgVHJhdmVyc2FibGVPbmNlIFR1cGxlIFVuaXQgVmVjdG9yIFwiICtcblxuICAgICAgLyogcGFja2FnZSBqYXZhLmxhbmcgKi9cbiAgICAgIFwiQm9vbGVhbiBCeXRlIENoYXJhY3RlciBDaGFyU2VxdWVuY2UgQ2xhc3MgQ2xhc3NMb2FkZXIgQ2xvbmVhYmxlIENvbXBhcmFibGUgXCIgK1xuICAgICAgXCJDb21waWxlciBEb3VibGUgRXhjZXB0aW9uIEZsb2F0IEludGVnZXIgTG9uZyBNYXRoIE51bWJlciBPYmplY3QgUGFja2FnZSBQYWlyIFByb2Nlc3MgXCIgK1xuICAgICAgXCJSdW50aW1lIFJ1bm5hYmxlIFNlY3VyaXR5TWFuYWdlciBTaG9ydCBTdGFja1RyYWNlRWxlbWVudCBTdHJpY3RNYXRoIFN0cmluZyBcIiArXG4gICAgICBcIlN0cmluZ0J1ZmZlciBTeXN0ZW0gVGhyZWFkIFRocmVhZEdyb3VwIFRocmVhZExvY2FsIFRocm93YWJsZSBUcmlwbGUgVm9pZFwiXG4gICAgKSxcbiAgICBtdWx0aUxpbmVTdHJpbmdzOiB0cnVlLFxuICAgIGJsb2NrS2V5d29yZHM6IHdvcmRzKFwiY2F0Y2ggY2xhc3MgZW51bSBkbyBlbHNlIGZpbmFsbHkgZm9yIGZvclNvbWUgaWYgbWF0Y2ggc3dpdGNoIHRyeSB3aGlsZVwiKSxcbiAgICBkZWZLZXl3b3Jkczogd29yZHMoXCJjbGFzcyBlbnVtIGRlZiBvYmplY3QgcGFja2FnZSB0cmFpdCB0eXBlIHZhbCB2YXJcIiksXG4gICAgYXRvbXM6IHdvcmRzKFwidHJ1ZSBmYWxzZSBudWxsXCIpLFxuICAgIGluZGVudFN0YXRlbWVudHM6IGZhbHNlLFxuICAgIGluZGVudFN3aXRjaDogZmFsc2UsXG4gICAgaXNPcGVyYXRvckNoYXI6IC9bK1xcLSomJT08PiE/fFxcLyM6QF0vLFxuICAgIGhvb2tzOiB7XG4gICAgICBcIkBcIjogZnVuY3Rpb24oc3RyZWFtKSB7XG4gICAgICAgIHN0cmVhbS5lYXRXaGlsZSgvW1xcd1xcJF9dLyk7XG4gICAgICAgIHJldHVybiBcIm1ldGFcIjtcbiAgICAgIH0sXG4gICAgICAnXCInOiBmdW5jdGlvbihzdHJlYW0sIHN0YXRlKSB7XG4gICAgICAgIGlmICghc3RyZWFtLm1hdGNoKCdcIlwiJykpIHJldHVybiBmYWxzZTtcbiAgICAgICAgc3RhdGUudG9rZW5pemUgPSB0b2tlblRyaXBsZVN0cmluZztcbiAgICAgICAgcmV0dXJuIHN0YXRlLnRva2VuaXplKHN0cmVhbSwgc3RhdGUpO1xuICAgICAgfSxcbiAgICAgIFwiJ1wiOiBmdW5jdGlvbihzdHJlYW0pIHtcbiAgICAgICAgc3RyZWFtLmVhdFdoaWxlKC9bXFx3XFwkX1xceGExLVxcdWZmZmZdLyk7XG4gICAgICAgIHJldHVybiBcImF0b21cIjtcbiAgICAgIH0sXG4gICAgICBcIj1cIjogZnVuY3Rpb24oc3RyZWFtLCBzdGF0ZSkge1xuICAgICAgICB2YXIgY3ggPSBzdGF0ZS5jb250ZXh0XG4gICAgICAgIGlmIChjeC50eXBlID09IFwifVwiICYmIGN4LmFsaWduICYmIHN0cmVhbS5lYXQoXCI+XCIpKSB7XG4gICAgICAgICAgc3RhdGUuY29udGV4dCA9IG5ldyBDb250ZXh0KGN4LmluZGVudGVkLCBjeC5jb2x1bW4sIGN4LnR5cGUsIGN4LmluZm8sIG51bGwsIGN4LnByZXYpXG4gICAgICAgICAgcmV0dXJuIFwib3BlcmF0b3JcIlxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiBmYWxzZVxuICAgICAgICB9XG4gICAgICB9LFxuXG4gICAgICBcIi9cIjogZnVuY3Rpb24oc3RyZWFtLCBzdGF0ZSkge1xuICAgICAgICBpZiAoIXN0cmVhbS5lYXQoXCIqXCIpKSByZXR1cm4gZmFsc2VcbiAgICAgICAgc3RhdGUudG9rZW5pemUgPSB0b2tlbk5lc3RlZENvbW1lbnQoMSlcbiAgICAgICAgcmV0dXJuIHN0YXRlLnRva2VuaXplKHN0cmVhbSwgc3RhdGUpXG4gICAgICB9XG4gICAgfSxcbiAgICBtb2RlUHJvcHM6IHtjbG9zZUJyYWNrZXRzOiB7cGFpcnM6ICcoKVtde31cIlwiJywgdHJpcGxlczogJ1wiJ319XG4gIH0pO1xuXG4gIGZ1bmN0aW9uIHRva2VuS290bGluU3RyaW5nKHRyaXBsZVN0cmluZyl7XG4gICAgcmV0dXJuIGZ1bmN0aW9uIChzdHJlYW0sIHN0YXRlKSB7XG4gICAgICB2YXIgZXNjYXBlZCA9IGZhbHNlLCBuZXh0LCBlbmQgPSBmYWxzZTtcbiAgICAgIHdoaWxlICghc3RyZWFtLmVvbCgpKSB7XG4gICAgICAgIGlmICghdHJpcGxlU3RyaW5nICYmICFlc2NhcGVkICYmIHN0cmVhbS5tYXRjaCgnXCInKSApIHtlbmQgPSB0cnVlOyBicmVhazt9XG4gICAgICAgIGlmICh0cmlwbGVTdHJpbmcgJiYgc3RyZWFtLm1hdGNoKCdcIlwiXCInKSkge2VuZCA9IHRydWU7IGJyZWFrO31cbiAgICAgICAgbmV4dCA9IHN0cmVhbS5uZXh0KCk7XG4gICAgICAgIGlmKCFlc2NhcGVkICYmIG5leHQgPT0gXCIkXCIgJiYgc3RyZWFtLm1hdGNoKCd7JykpXG4gICAgICAgICAgc3RyZWFtLnNraXBUbyhcIn1cIik7XG4gICAgICAgIGVzY2FwZWQgPSAhZXNjYXBlZCAmJiBuZXh0ID09IFwiXFxcXFwiICYmICF0cmlwbGVTdHJpbmc7XG4gICAgICB9XG4gICAgICBpZiAoZW5kIHx8ICF0cmlwbGVTdHJpbmcpXG4gICAgICAgIHN0YXRlLnRva2VuaXplID0gbnVsbDtcbiAgICAgIHJldHVybiBcInN0cmluZ1wiO1xuICAgIH1cbiAgfVxuXG4gIGRlZihcInRleHQveC1rb3RsaW5cIiwge1xuICAgIG5hbWU6IFwiY2xpa2VcIixcbiAgICBrZXl3b3Jkczogd29yZHMoXG4gICAgICAvKmtleXdvcmRzKi9cbiAgICAgIFwicGFja2FnZSBhcyB0eXBlYWxpYXMgY2xhc3MgaW50ZXJmYWNlIHRoaXMgc3VwZXIgdmFsIG9wZXJhdG9yIFwiICtcbiAgICAgIFwidmFyIGZ1biBmb3IgaXMgaW4gVGhpcyB0aHJvdyByZXR1cm4gYW5ub3RhdGlvbiBcIiArXG4gICAgICBcImJyZWFrIGNvbnRpbnVlIG9iamVjdCBpZiBlbHNlIHdoaWxlIGRvIHRyeSB3aGVuICFpbiAhaXMgYXM/IFwiICtcblxuICAgICAgLypzb2Z0IGtleXdvcmRzKi9cbiAgICAgIFwiZmlsZSBpbXBvcnQgd2hlcmUgYnkgZ2V0IHNldCBhYnN0cmFjdCBlbnVtIG9wZW4gaW5uZXIgb3ZlcnJpZGUgcHJpdmF0ZSBwdWJsaWMgaW50ZXJuYWwgXCIgK1xuICAgICAgXCJwcm90ZWN0ZWQgY2F0Y2ggZmluYWxseSBvdXQgZmluYWwgdmFyYXJnIHJlaWZpZWQgZHluYW1pYyBjb21wYW5pb24gY29uc3RydWN0b3IgaW5pdCBcIiArXG4gICAgICBcInNlYWxlZCBmaWVsZCBwcm9wZXJ0eSByZWNlaXZlciBwYXJhbSBzcGFyYW0gbGF0ZWluaXQgZGF0YSBpbmxpbmUgbm9pbmxpbmUgdGFpbHJlYyBcIiArXG4gICAgICBcImV4dGVybmFsIGFubm90YXRpb24gY3Jvc3NpbmxpbmUgY29uc3Qgb3BlcmF0b3IgaW5maXggc3VzcGVuZCBhY3R1YWwgZXhwZWN0IHNldHBhcmFtXCJcbiAgICApLFxuICAgIHR5cGVzOiB3b3JkcyhcbiAgICAgIC8qIHBhY2thZ2UgamF2YS5sYW5nICovXG4gICAgICBcIkJvb2xlYW4gQnl0ZSBDaGFyYWN0ZXIgQ2hhclNlcXVlbmNlIENsYXNzIENsYXNzTG9hZGVyIENsb25lYWJsZSBDb21wYXJhYmxlIFwiICtcbiAgICAgIFwiQ29tcGlsZXIgRG91YmxlIEV4Y2VwdGlvbiBGbG9hdCBJbnRlZ2VyIExvbmcgTWF0aCBOdW1iZXIgT2JqZWN0IFBhY2thZ2UgUGFpciBQcm9jZXNzIFwiICtcbiAgICAgIFwiUnVudGltZSBSdW5uYWJsZSBTZWN1cml0eU1hbmFnZXIgU2hvcnQgU3RhY2tUcmFjZUVsZW1lbnQgU3RyaWN0TWF0aCBTdHJpbmcgXCIgK1xuICAgICAgXCJTdHJpbmdCdWZmZXIgU3lzdGVtIFRocmVhZCBUaHJlYWRHcm91cCBUaHJlYWRMb2NhbCBUaHJvd2FibGUgVHJpcGxlIFZvaWQgQW5ub3RhdGlvbiBBbnkgQm9vbGVhbkFycmF5IFwiICtcbiAgICAgIFwiQnl0ZUFycmF5IENoYXIgQ2hhckFycmF5IERlcHJlY2F0aW9uTGV2ZWwgRG91YmxlQXJyYXkgRW51bSBGbG9hdEFycmF5IEZ1bmN0aW9uIEludCBJbnRBcnJheSBMYXp5IFwiICtcbiAgICAgIFwiTGF6eVRocmVhZFNhZmV0eU1vZGUgTG9uZ0FycmF5IE5vdGhpbmcgU2hvcnRBcnJheSBVbml0XCJcbiAgICApLFxuICAgIGludGVuZFN3aXRjaDogZmFsc2UsXG4gICAgaW5kZW50U3RhdGVtZW50czogZmFsc2UsXG4gICAgbXVsdGlMaW5lU3RyaW5nczogdHJ1ZSxcbiAgICBudW1iZXI6IC9eKD86MHhbYS1mXFxkX10rfDBiWzAxX10rfCg/OltcXGRfXSsoXFwuXFxkKyk/fFxcLlxcZCspKD86ZVstK10/W1xcZF9dKyk/KSh1fGxsP3xsfGYpPy9pLFxuICAgIGJsb2NrS2V5d29yZHM6IHdvcmRzKFwiY2F0Y2ggY2xhc3MgZG8gZWxzZSBmaW5hbGx5IGZvciBpZiB3aGVyZSB0cnkgd2hpbGUgZW51bVwiKSxcbiAgICBkZWZLZXl3b3Jkczogd29yZHMoXCJjbGFzcyB2YWwgdmFyIG9iamVjdCBpbnRlcmZhY2UgZnVuXCIpLFxuICAgIGF0b21zOiB3b3JkcyhcInRydWUgZmFsc2UgbnVsbCB0aGlzXCIpLFxuICAgIGhvb2tzOiB7XG4gICAgICBcIkBcIjogZnVuY3Rpb24oc3RyZWFtKSB7XG4gICAgICAgIHN0cmVhbS5lYXRXaGlsZSgvW1xcd1xcJF9dLyk7XG4gICAgICAgIHJldHVybiBcIm1ldGFcIjtcbiAgICAgIH0sXG4gICAgICAnKic6IGZ1bmN0aW9uKF9zdHJlYW0sIHN0YXRlKSB7XG4gICAgICAgIHJldHVybiBzdGF0ZS5wcmV2VG9rZW4gPT0gJy4nID8gJ3ZhcmlhYmxlJyA6ICdvcGVyYXRvcic7XG4gICAgICB9LFxuICAgICAgJ1wiJzogZnVuY3Rpb24oc3RyZWFtLCBzdGF0ZSkge1xuICAgICAgICBzdGF0ZS50b2tlbml6ZSA9IHRva2VuS290bGluU3RyaW5nKHN0cmVhbS5tYXRjaCgnXCJcIicpKTtcbiAgICAgICAgcmV0dXJuIHN0YXRlLnRva2VuaXplKHN0cmVhbSwgc3RhdGUpO1xuICAgICAgfSxcbiAgICAgIGluZGVudDogZnVuY3Rpb24oc3RhdGUsIGN0eCwgdGV4dEFmdGVyLCBpbmRlbnRVbml0KSB7XG4gICAgICAgIHZhciBmaXJzdENoYXIgPSB0ZXh0QWZ0ZXIgJiYgdGV4dEFmdGVyLmNoYXJBdCgwKTtcbiAgICAgICAgaWYgKChzdGF0ZS5wcmV2VG9rZW4gPT0gXCJ9XCIgfHwgc3RhdGUucHJldlRva2VuID09IFwiKVwiKSAmJiB0ZXh0QWZ0ZXIgPT0gXCJcIilcbiAgICAgICAgICByZXR1cm4gc3RhdGUuaW5kZW50ZWQ7XG4gICAgICAgIGlmIChzdGF0ZS5wcmV2VG9rZW4gPT0gXCJvcGVyYXRvclwiICYmIHRleHRBZnRlciAhPSBcIn1cIiB8fFxuICAgICAgICAgIHN0YXRlLnByZXZUb2tlbiA9PSBcInZhcmlhYmxlXCIgJiYgZmlyc3RDaGFyID09IFwiLlwiIHx8XG4gICAgICAgICAgKHN0YXRlLnByZXZUb2tlbiA9PSBcIn1cIiB8fCBzdGF0ZS5wcmV2VG9rZW4gPT0gXCIpXCIpICYmIGZpcnN0Q2hhciA9PSBcIi5cIilcbiAgICAgICAgICByZXR1cm4gaW5kZW50VW5pdCAqIDIgKyBjdHguaW5kZW50ZWQ7XG4gICAgICAgIGlmIChjdHguYWxpZ24gJiYgY3R4LnR5cGUgPT0gXCJ9XCIpXG4gICAgICAgICAgcmV0dXJuIGN0eC5pbmRlbnRlZCArIChzdGF0ZS5jb250ZXh0LnR5cGUgPT0gKHRleHRBZnRlciB8fCBcIlwiKS5jaGFyQXQoMCkgPyAwIDogaW5kZW50VW5pdCk7XG4gICAgICB9XG4gICAgfSxcbiAgICBtb2RlUHJvcHM6IHtjbG9zZUJyYWNrZXRzOiB7dHJpcGxlczogJ1wiJ319XG4gIH0pO1xuXG4gIGRlZihbXCJ4LXNoYWRlci94LXZlcnRleFwiLCBcIngtc2hhZGVyL3gtZnJhZ21lbnRcIl0sIHtcbiAgICBuYW1lOiBcImNsaWtlXCIsXG4gICAga2V5d29yZHM6IHdvcmRzKFwic2FtcGxlcjFEIHNhbXBsZXIyRCBzYW1wbGVyM0Qgc2FtcGxlckN1YmUgXCIgK1xuICAgICAgICAgICAgICAgICAgICBcInNhbXBsZXIxRFNoYWRvdyBzYW1wbGVyMkRTaGFkb3cgXCIgK1xuICAgICAgICAgICAgICAgICAgICBcImNvbnN0IGF0dHJpYnV0ZSB1bmlmb3JtIHZhcnlpbmcgXCIgK1xuICAgICAgICAgICAgICAgICAgICBcImJyZWFrIGNvbnRpbnVlIGRpc2NhcmQgcmV0dXJuIFwiICtcbiAgICAgICAgICAgICAgICAgICAgXCJmb3Igd2hpbGUgZG8gaWYgZWxzZSBzdHJ1Y3QgXCIgK1xuICAgICAgICAgICAgICAgICAgICBcImluIG91dCBpbm91dFwiKSxcbiAgICB0eXBlczogd29yZHMoXCJmbG9hdCBpbnQgYm9vbCB2b2lkIFwiICtcbiAgICAgICAgICAgICAgICAgXCJ2ZWMyIHZlYzMgdmVjNCBpdmVjMiBpdmVjMyBpdmVjNCBidmVjMiBidmVjMyBidmVjNCBcIiArXG4gICAgICAgICAgICAgICAgIFwibWF0MiBtYXQzIG1hdDRcIiksXG4gICAgYmxvY2tLZXl3b3Jkczogd29yZHMoXCJmb3Igd2hpbGUgZG8gaWYgZWxzZSBzdHJ1Y3RcIiksXG4gICAgYnVpbHRpbjogd29yZHMoXCJyYWRpYW5zIGRlZ3JlZXMgc2luIGNvcyB0YW4gYXNpbiBhY29zIGF0YW4gXCIgK1xuICAgICAgICAgICAgICAgICAgICBcInBvdyBleHAgbG9nIGV4cDIgc3FydCBpbnZlcnNlc3FydCBcIiArXG4gICAgICAgICAgICAgICAgICAgIFwiYWJzIHNpZ24gZmxvb3IgY2VpbCBmcmFjdCBtb2QgbWluIG1heCBjbGFtcCBtaXggc3RlcCBzbW9vdGhzdGVwIFwiICtcbiAgICAgICAgICAgICAgICAgICAgXCJsZW5ndGggZGlzdGFuY2UgZG90IGNyb3NzIG5vcm1hbGl6ZSBmdHJhbnNmb3JtIGZhY2Vmb3J3YXJkIFwiICtcbiAgICAgICAgICAgICAgICAgICAgXCJyZWZsZWN0IHJlZnJhY3QgbWF0cml4Q29tcE11bHQgXCIgK1xuICAgICAgICAgICAgICAgICAgICBcImxlc3NUaGFuIGxlc3NUaGFuRXF1YWwgZ3JlYXRlclRoYW4gZ3JlYXRlclRoYW5FcXVhbCBcIiArXG4gICAgICAgICAgICAgICAgICAgIFwiZXF1YWwgbm90RXF1YWwgYW55IGFsbCBub3QgXCIgK1xuICAgICAgICAgICAgICAgICAgICBcInRleHR1cmUxRCB0ZXh0dXJlMURQcm9qIHRleHR1cmUxRExvZCB0ZXh0dXJlMURQcm9qTG9kIFwiICtcbiAgICAgICAgICAgICAgICAgICAgXCJ0ZXh0dXJlMkQgdGV4dHVyZTJEUHJvaiB0ZXh0dXJlMkRMb2QgdGV4dHVyZTJEUHJvakxvZCBcIiArXG4gICAgICAgICAgICAgICAgICAgIFwidGV4dHVyZTNEIHRleHR1cmUzRFByb2ogdGV4dHVyZTNETG9kIHRleHR1cmUzRFByb2pMb2QgXCIgK1xuICAgICAgICAgICAgICAgICAgICBcInRleHR1cmVDdWJlIHRleHR1cmVDdWJlTG9kIFwiICtcbiAgICAgICAgICAgICAgICAgICAgXCJzaGFkb3cxRCBzaGFkb3cyRCBzaGFkb3cxRFByb2ogc2hhZG93MkRQcm9qIFwiICtcbiAgICAgICAgICAgICAgICAgICAgXCJzaGFkb3cxRExvZCBzaGFkb3cyRExvZCBzaGFkb3cxRFByb2pMb2Qgc2hhZG93MkRQcm9qTG9kIFwiICtcbiAgICAgICAgICAgICAgICAgICAgXCJkRmR4IGRGZHkgZndpZHRoIFwiICtcbiAgICAgICAgICAgICAgICAgICAgXCJub2lzZTEgbm9pc2UyIG5vaXNlMyBub2lzZTRcIiksXG4gICAgYXRvbXM6IHdvcmRzKFwidHJ1ZSBmYWxzZSBcIiArXG4gICAgICAgICAgICAgICAgXCJnbF9GcmFnQ29sb3IgZ2xfU2Vjb25kYXJ5Q29sb3IgZ2xfTm9ybWFsIGdsX1ZlcnRleCBcIiArXG4gICAgICAgICAgICAgICAgXCJnbF9NdWx0aVRleENvb3JkMCBnbF9NdWx0aVRleENvb3JkMSBnbF9NdWx0aVRleENvb3JkMiBnbF9NdWx0aVRleENvb3JkMyBcIiArXG4gICAgICAgICAgICAgICAgXCJnbF9NdWx0aVRleENvb3JkNCBnbF9NdWx0aVRleENvb3JkNSBnbF9NdWx0aVRleENvb3JkNiBnbF9NdWx0aVRleENvb3JkNyBcIiArXG4gICAgICAgICAgICAgICAgXCJnbF9Gb2dDb29yZCBnbF9Qb2ludENvb3JkIFwiICtcbiAgICAgICAgICAgICAgICBcImdsX1Bvc2l0aW9uIGdsX1BvaW50U2l6ZSBnbF9DbGlwVmVydGV4IFwiICtcbiAgICAgICAgICAgICAgICBcImdsX0Zyb250Q29sb3IgZ2xfQmFja0NvbG9yIGdsX0Zyb250U2Vjb25kYXJ5Q29sb3IgZ2xfQmFja1NlY29uZGFyeUNvbG9yIFwiICtcbiAgICAgICAgICAgICAgICBcImdsX1RleENvb3JkIGdsX0ZvZ0ZyYWdDb29yZCBcIiArXG4gICAgICAgICAgICAgICAgXCJnbF9GcmFnQ29vcmQgZ2xfRnJvbnRGYWNpbmcgXCIgK1xuICAgICAgICAgICAgICAgIFwiZ2xfRnJhZ0RhdGEgZ2xfRnJhZ0RlcHRoIFwiICtcbiAgICAgICAgICAgICAgICBcImdsX01vZGVsVmlld01hdHJpeCBnbF9Qcm9qZWN0aW9uTWF0cml4IGdsX01vZGVsVmlld1Byb2plY3Rpb25NYXRyaXggXCIgK1xuICAgICAgICAgICAgICAgIFwiZ2xfVGV4dHVyZU1hdHJpeCBnbF9Ob3JtYWxNYXRyaXggZ2xfTW9kZWxWaWV3TWF0cml4SW52ZXJzZSBcIiArXG4gICAgICAgICAgICAgICAgXCJnbF9Qcm9qZWN0aW9uTWF0cml4SW52ZXJzZSBnbF9Nb2RlbFZpZXdQcm9qZWN0aW9uTWF0cml4SW52ZXJzZSBcIiArXG4gICAgICAgICAgICAgICAgXCJnbF9UZXh1cmVNYXRyaXhUcmFuc3Bvc2UgZ2xfTW9kZWxWaWV3TWF0cml4SW52ZXJzZVRyYW5zcG9zZSBcIiArXG4gICAgICAgICAgICAgICAgXCJnbF9Qcm9qZWN0aW9uTWF0cml4SW52ZXJzZVRyYW5zcG9zZSBcIiArXG4gICAgICAgICAgICAgICAgXCJnbF9Nb2RlbFZpZXdQcm9qZWN0aW9uTWF0cml4SW52ZXJzZVRyYW5zcG9zZSBcIiArXG4gICAgICAgICAgICAgICAgXCJnbF9UZXh0dXJlTWF0cml4SW52ZXJzZVRyYW5zcG9zZSBcIiArXG4gICAgICAgICAgICAgICAgXCJnbF9Ob3JtYWxTY2FsZSBnbF9EZXB0aFJhbmdlIGdsX0NsaXBQbGFuZSBcIiArXG4gICAgICAgICAgICAgICAgXCJnbF9Qb2ludCBnbF9Gcm9udE1hdGVyaWFsIGdsX0JhY2tNYXRlcmlhbCBnbF9MaWdodFNvdXJjZSBnbF9MaWdodE1vZGVsIFwiICtcbiAgICAgICAgICAgICAgICBcImdsX0Zyb250TGlnaHRNb2RlbFByb2R1Y3QgZ2xfQmFja0xpZ2h0TW9kZWxQcm9kdWN0IFwiICtcbiAgICAgICAgICAgICAgICBcImdsX1RleHR1cmVDb2xvciBnbF9FeWVQbGFuZVMgZ2xfRXllUGxhbmVUIGdsX0V5ZVBsYW5lUiBnbF9FeWVQbGFuZVEgXCIgK1xuICAgICAgICAgICAgICAgIFwiZ2xfRm9nUGFyYW1ldGVycyBcIiArXG4gICAgICAgICAgICAgICAgXCJnbF9NYXhMaWdodHMgZ2xfTWF4Q2xpcFBsYW5lcyBnbF9NYXhUZXh0dXJlVW5pdHMgZ2xfTWF4VGV4dHVyZUNvb3JkcyBcIiArXG4gICAgICAgICAgICAgICAgXCJnbF9NYXhWZXJ0ZXhBdHRyaWJzIGdsX01heFZlcnRleFVuaWZvcm1Db21wb25lbnRzIGdsX01heFZhcnlpbmdGbG9hdHMgXCIgK1xuICAgICAgICAgICAgICAgIFwiZ2xfTWF4VmVydGV4VGV4dHVyZUltYWdlVW5pdHMgZ2xfTWF4VGV4dHVyZUltYWdlVW5pdHMgXCIgK1xuICAgICAgICAgICAgICAgIFwiZ2xfTWF4RnJhZ21lbnRVbmlmb3JtQ29tcG9uZW50cyBnbF9NYXhDb21iaW5lVGV4dHVyZUltYWdlVW5pdHMgXCIgK1xuICAgICAgICAgICAgICAgIFwiZ2xfTWF4RHJhd0J1ZmZlcnNcIiksXG4gICAgaW5kZW50U3dpdGNoOiBmYWxzZSxcbiAgICBob29rczoge1wiI1wiOiBjcHBIb29rfSxcbiAgICBtb2RlUHJvcHM6IHtmb2xkOiBbXCJicmFjZVwiLCBcImluY2x1ZGVcIl19XG4gIH0pO1xuXG4gIGRlZihcInRleHQveC1uZXNjXCIsIHtcbiAgICBuYW1lOiBcImNsaWtlXCIsXG4gICAga2V5d29yZHM6IHdvcmRzKGNLZXl3b3JkcyArIFwiIGFzIGF0b21pYyBhc3luYyBjYWxsIGNvbW1hbmQgY29tcG9uZW50IGNvbXBvbmVudHMgY29uZmlndXJhdGlvbiBldmVudCBnZW5lcmljIFwiICtcbiAgICAgICAgICAgICAgICAgICAgXCJpbXBsZW1lbnRhdGlvbiBpbmNsdWRlcyBpbnRlcmZhY2UgbW9kdWxlIG5ldyBub3JhY2Ugbnhfc3RydWN0IG54X3VuaW9uIHBvc3QgcHJvdmlkZXMgXCIgK1xuICAgICAgICAgICAgICAgICAgICBcInNpZ25hbCB0YXNrIHVzZXMgYWJzdHJhY3QgZXh0ZW5kc1wiKSxcbiAgICB0eXBlczogY1R5cGVzLFxuICAgIGJsb2NrS2V5d29yZHM6IHdvcmRzKGNCbG9ja0tleXdvcmRzKSxcbiAgICBhdG9tczogd29yZHMoXCJudWxsIHRydWUgZmFsc2VcIiksXG4gICAgaG9va3M6IHtcIiNcIjogY3BwSG9va30sXG4gICAgbW9kZVByb3BzOiB7Zm9sZDogW1wiYnJhY2VcIiwgXCJpbmNsdWRlXCJdfVxuICB9KTtcblxuICBkZWYoXCJ0ZXh0L3gtb2JqZWN0aXZlY1wiLCB7XG4gICAgbmFtZTogXCJjbGlrZVwiLFxuICAgIGtleXdvcmRzOiB3b3JkcyhjS2V5d29yZHMgKyBcIiBieWNvcHkgYnlyZWYgaW4gaW5vdXQgb25ld2F5IG91dCBzZWxmIHN1cGVyIGF0b21pYyBub25hdG9taWMgcmV0YWluIGNvcHkgXCIgK1xuICAgICAgICAgICAgICAgICAgICBcInJlYWR3cml0ZSByZWFkb25seSBzdHJvbmcgd2VhayBhc3NpZ24gdHlwZW9mIG51bGxhYmxlIG5vbm51bGwgbnVsbF9yZXNldHRhYmxlIF9jbWQgXCIgK1xuICAgICAgICAgICAgICAgICAgICBcIkBpbnRlcmZhY2UgQGltcGxlbWVudGF0aW9uIEBlbmQgQHByb3RvY29sIEBlbmNvZGUgQHByb3BlcnR5IEBzeW50aGVzaXplIEBkeW5hbWljIEBjbGFzcyBcIiArXG4gICAgICAgICAgICAgICAgICAgIFwiQHB1YmxpYyBAcGFja2FnZSBAcHJpdmF0ZSBAcHJvdGVjdGVkIEByZXF1aXJlZCBAb3B0aW9uYWwgQHRyeSBAY2F0Y2ggQGZpbmFsbHkgQGltcG9ydCBcIiArXG4gICAgICAgICAgICAgICAgICAgIFwiQHNlbGVjdG9yIEBlbmNvZGUgQGRlZnMgQHN5bmNocm9uaXplZCBAYXV0b3JlbGVhc2Vwb29sIEBjb21wYXRpYmlsaXR5X2FsaWFzIEBhdmFpbGFibGVcIiksXG4gICAgdHlwZXM6IG9iakNUeXBlcyxcbiAgICBidWlsdGluOiB3b3JkcyhcIkZPVU5EQVRJT05fRVhQT1JUIEZPVU5EQVRJT05fRVhURVJOIE5TX0lOTElORSBOU19GT1JNQVRfRlVOQ1RJT04gTlNfUkVUVVJOU19SRVRBSU5FRCBcIiArXG4gICAgICAgICAgICAgICAgICAgXCJOU19FUlJPUl9FTlVNIE5TX1JFVFVSTlNfTk9UX1JFVEFJTkVEIE5TX1JFVFVSTlNfSU5ORVJfUE9JTlRFUiBOU19ERVNJR05BVEVEX0lOSVRJQUxJWkVSIFwiICtcbiAgICAgICAgICAgICAgICAgICBcIk5TX0VOVU0gTlNfT1BUSU9OUyBOU19SRVFVSVJFU19OSUxfVEVSTUlOQVRJT04gTlNfQVNTVU1FX05PTk5VTExfQkVHSU4gXCIgK1xuICAgICAgICAgICAgICAgICAgIFwiTlNfQVNTVU1FX05PTk5VTExfRU5EIE5TX1NXSUZUX05BTUUgTlNfUkVGSU5FRF9GT1JfU1dJRlRcIiksXG4gICAgYmxvY2tLZXl3b3Jkczogd29yZHMoY0Jsb2NrS2V5d29yZHMgKyBcIiBAc3ludGhlc2l6ZSBAdHJ5IEBjYXRjaCBAZmluYWxseSBAYXV0b3JlbGVhc2Vwb29sIEBzeW5jaHJvbml6ZWRcIiksXG4gICAgZGVmS2V5d29yZHM6IHdvcmRzKGNEZWZLZXl3b3JkcyArIFwiIEBpbnRlcmZhY2UgQGltcGxlbWVudGF0aW9uIEBwcm90b2NvbCBAY2xhc3NcIiksXG4gICAgZG9udEluZGVudFN0YXRlbWVudHM6IC9eQC4qJC8sXG4gICAgdHlwZUZpcnN0RGVmaW5pdGlvbnM6IHRydWUsXG4gICAgYXRvbXM6IHdvcmRzKFwiWUVTIE5PIE5VTEwgTmlsIG5pbCB0cnVlIGZhbHNlIG51bGxwdHJcIiksXG4gICAgaXNSZXNlcnZlZElkZW50aWZpZXI6IGNJc1Jlc2VydmVkSWRlbnRpZmllcixcbiAgICBob29rczoge1xuICAgICAgXCIjXCI6IGNwcEhvb2ssXG4gICAgICBcIipcIjogcG9pbnRlckhvb2ssXG4gICAgfSxcbiAgICBtb2RlUHJvcHM6IHtmb2xkOiBbXCJicmFjZVwiLCBcImluY2x1ZGVcIl19XG4gIH0pO1xuXG4gIGRlZihcInRleHQveC1zcXVpcnJlbFwiLCB7XG4gICAgbmFtZTogXCJjbGlrZVwiLFxuICAgIGtleXdvcmRzOiB3b3JkcyhcImJhc2UgYnJlYWsgY2xvbmUgY29udGludWUgY29uc3QgZGVmYXVsdCBkZWxldGUgZW51bSBleHRlbmRzIGZ1bmN0aW9uIGluIGNsYXNzXCIgK1xuICAgICAgICAgICAgICAgICAgICBcIiBmb3JlYWNoIGxvY2FsIHJlc3VtZSByZXR1cm4gdGhpcyB0aHJvdyB0eXBlb2YgeWllbGQgY29uc3RydWN0b3IgaW5zdGFuY2VvZiBzdGF0aWNcIiksXG4gICAgdHlwZXM6IGNUeXBlcyxcbiAgICBibG9ja0tleXdvcmRzOiB3b3JkcyhcImNhc2UgY2F0Y2ggY2xhc3MgZWxzZSBmb3IgZm9yZWFjaCBpZiBzd2l0Y2ggdHJ5IHdoaWxlXCIpLFxuICAgIGRlZktleXdvcmRzOiB3b3JkcyhcImZ1bmN0aW9uIGxvY2FsIGNsYXNzXCIpLFxuICAgIHR5cGVGaXJzdERlZmluaXRpb25zOiB0cnVlLFxuICAgIGF0b21zOiB3b3JkcyhcInRydWUgZmFsc2UgbnVsbFwiKSxcbiAgICBob29rczoge1wiI1wiOiBjcHBIb29rfSxcbiAgICBtb2RlUHJvcHM6IHtmb2xkOiBbXCJicmFjZVwiLCBcImluY2x1ZGVcIl19XG4gIH0pO1xuXG4gIC8vIENleWxvbiBTdHJpbmdzIG5lZWQgdG8gZGVhbCB3aXRoIGludGVycG9sYXRpb25cbiAgdmFyIHN0cmluZ1Rva2VuaXplciA9IG51bGw7XG4gIGZ1bmN0aW9uIHRva2VuQ2V5bG9uU3RyaW5nKHR5cGUpIHtcbiAgICByZXR1cm4gZnVuY3Rpb24oc3RyZWFtLCBzdGF0ZSkge1xuICAgICAgdmFyIGVzY2FwZWQgPSBmYWxzZSwgbmV4dCwgZW5kID0gZmFsc2U7XG4gICAgICB3aGlsZSAoIXN0cmVhbS5lb2woKSkge1xuICAgICAgICBpZiAoIWVzY2FwZWQgJiYgc3RyZWFtLm1hdGNoKCdcIicpICYmXG4gICAgICAgICAgICAgICh0eXBlID09IFwic2luZ2xlXCIgfHwgc3RyZWFtLm1hdGNoKCdcIlwiJykpKSB7XG4gICAgICAgICAgZW5kID0gdHJ1ZTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWVzY2FwZWQgJiYgc3RyZWFtLm1hdGNoKCdgYCcpKSB7XG4gICAgICAgICAgc3RyaW5nVG9rZW5pemVyID0gdG9rZW5DZXlsb25TdHJpbmcodHlwZSk7XG4gICAgICAgICAgZW5kID0gdHJ1ZTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBuZXh0ID0gc3RyZWFtLm5leHQoKTtcbiAgICAgICAgZXNjYXBlZCA9IHR5cGUgPT0gXCJzaW5nbGVcIiAmJiAhZXNjYXBlZCAmJiBuZXh0ID09IFwiXFxcXFwiO1xuICAgICAgfVxuICAgICAgaWYgKGVuZClcbiAgICAgICAgICBzdGF0ZS50b2tlbml6ZSA9IG51bGw7XG4gICAgICByZXR1cm4gXCJzdHJpbmdcIjtcbiAgICB9XG4gIH1cblxuICBkZWYoXCJ0ZXh0L3gtY2V5bG9uXCIsIHtcbiAgICBuYW1lOiBcImNsaWtlXCIsXG4gICAga2V5d29yZHM6IHdvcmRzKFwiYWJzdHJhY3RzIGFsaWFzIGFzc2VtYmx5IGFzc2VydCBhc3NpZ24gYnJlYWsgY2FzZSBjYXRjaCBjbGFzcyBjb250aW51ZSBkeW5hbWljIGVsc2VcIiArXG4gICAgICAgICAgICAgICAgICAgIFwiIGV4aXN0cyBleHRlbmRzIGZpbmFsbHkgZm9yIGZ1bmN0aW9uIGdpdmVuIGlmIGltcG9ydCBpbiBpbnRlcmZhY2UgaXMgbGV0IG1vZHVsZSBuZXdcIiArXG4gICAgICAgICAgICAgICAgICAgIFwiIG5vbmVtcHR5IG9iamVjdCBvZiBvdXQgb3V0ZXIgcGFja2FnZSByZXR1cm4gc2F0aXNmaWVzIHN1cGVyIHN3aXRjaCB0aGVuIHRoaXMgdGhyb3dcIiArXG4gICAgICAgICAgICAgICAgICAgIFwiIHRyeSB2YWx1ZSB2b2lkIHdoaWxlXCIpLFxuICAgIHR5cGVzOiBmdW5jdGlvbih3b3JkKSB7XG4gICAgICAgIC8vIEluIENleWxvbiBhbGwgaWRlbnRpZmllcnMgdGhhdCBzdGFydCB3aXRoIGFuIHVwcGVyY2FzZSBhcmUgdHlwZXNcbiAgICAgICAgdmFyIGZpcnN0ID0gd29yZC5jaGFyQXQoMCk7XG4gICAgICAgIHJldHVybiAoZmlyc3QgPT09IGZpcnN0LnRvVXBwZXJDYXNlKCkgJiYgZmlyc3QgIT09IGZpcnN0LnRvTG93ZXJDYXNlKCkpO1xuICAgIH0sXG4gICAgYmxvY2tLZXl3b3Jkczogd29yZHMoXCJjYXNlIGNhdGNoIGNsYXNzIGR5bmFtaWMgZWxzZSBmaW5hbGx5IGZvciBmdW5jdGlvbiBpZiBpbnRlcmZhY2UgbW9kdWxlIG5ldyBvYmplY3Qgc3dpdGNoIHRyeSB3aGlsZVwiKSxcbiAgICBkZWZLZXl3b3Jkczogd29yZHMoXCJjbGFzcyBkeW5hbWljIGZ1bmN0aW9uIGludGVyZmFjZSBtb2R1bGUgb2JqZWN0IHBhY2thZ2UgdmFsdWVcIiksXG4gICAgYnVpbHRpbjogd29yZHMoXCJhYnN0cmFjdCBhY3R1YWwgYWxpYXNlZCBhbm5vdGF0aW9uIGJ5IGRlZmF1bHQgZGVwcmVjYXRlZCBkb2MgZmluYWwgZm9ybWFsIGxhdGUgbGljZW5zZVwiICtcbiAgICAgICAgICAgICAgICAgICBcIiBuYXRpdmUgb3B0aW9uYWwgc2VhbGVkIHNlZSBzZXJpYWxpemFibGUgc2hhcmVkIHN1cHByZXNzV2FybmluZ3MgdGFnZ2VkIHRocm93cyB2YXJpYWJsZVwiKSxcbiAgICBpc1B1bmN0dWF0aW9uQ2hhcjogL1tcXFtcXF17fVxcKFxcKSw7XFw6XFwuYF0vLFxuICAgIGlzT3BlcmF0b3JDaGFyOiAvWytcXC0qJiU9PD4hP3xefjpcXC9dLyxcbiAgICBudW1iZXJTdGFydDogL1tcXGQjJF0vLFxuICAgIG51bWJlcjogL14oPzojW1xcZGEtZkEtRl9dK3xcXCRbMDFfXSt8W1xcZF9dK1trTUdUUG11bnBmXT98W1xcZF9dK1xcLltcXGRfXSsoPzpbZUVdWy0rXT9cXGQrfFtrTUdUUG11bnBmXXwpfCkvaSxcbiAgICBtdWx0aUxpbmVTdHJpbmdzOiB0cnVlLFxuICAgIHR5cGVGaXJzdERlZmluaXRpb25zOiB0cnVlLFxuICAgIGF0b21zOiB3b3JkcyhcInRydWUgZmFsc2UgbnVsbCBsYXJnZXIgc21hbGxlciBlcXVhbCBlbXB0eSBmaW5pc2hlZFwiKSxcbiAgICBpbmRlbnRTd2l0Y2g6IGZhbHNlLFxuICAgIHN0eWxlRGVmczogZmFsc2UsXG4gICAgaG9va3M6IHtcbiAgICAgIFwiQFwiOiBmdW5jdGlvbihzdHJlYW0pIHtcbiAgICAgICAgc3RyZWFtLmVhdFdoaWxlKC9bXFx3XFwkX10vKTtcbiAgICAgICAgcmV0dXJuIFwibWV0YVwiO1xuICAgICAgfSxcbiAgICAgICdcIic6IGZ1bmN0aW9uKHN0cmVhbSwgc3RhdGUpIHtcbiAgICAgICAgICBzdGF0ZS50b2tlbml6ZSA9IHRva2VuQ2V5bG9uU3RyaW5nKHN0cmVhbS5tYXRjaCgnXCJcIicpID8gXCJ0cmlwbGVcIiA6IFwic2luZ2xlXCIpO1xuICAgICAgICAgIHJldHVybiBzdGF0ZS50b2tlbml6ZShzdHJlYW0sIHN0YXRlKTtcbiAgICAgICAgfSxcbiAgICAgICdgJzogZnVuY3Rpb24oc3RyZWFtLCBzdGF0ZSkge1xuICAgICAgICAgIGlmICghc3RyaW5nVG9rZW5pemVyIHx8ICFzdHJlYW0ubWF0Y2goJ2AnKSkgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgIHN0YXRlLnRva2VuaXplID0gc3RyaW5nVG9rZW5pemVyO1xuICAgICAgICAgIHN0cmluZ1Rva2VuaXplciA9IG51bGw7XG4gICAgICAgICAgcmV0dXJuIHN0YXRlLnRva2VuaXplKHN0cmVhbSwgc3RhdGUpO1xuICAgICAgICB9LFxuICAgICAgXCInXCI6IGZ1bmN0aW9uKHN0cmVhbSkge1xuICAgICAgICBzdHJlYW0uZWF0V2hpbGUoL1tcXHdcXCRfXFx4YTEtXFx1ZmZmZl0vKTtcbiAgICAgICAgcmV0dXJuIFwiYXRvbVwiO1xuICAgICAgfSxcbiAgICAgIHRva2VuOiBmdW5jdGlvbihfc3RyZWFtLCBzdGF0ZSwgc3R5bGUpIHtcbiAgICAgICAgICBpZiAoKHN0eWxlID09IFwidmFyaWFibGVcIiB8fCBzdHlsZSA9PSBcInR5cGVcIikgJiZcbiAgICAgICAgICAgICAgc3RhdGUucHJldlRva2VuID09IFwiLlwiKSB7XG4gICAgICAgICAgICByZXR1cm4gXCJ2YXJpYWJsZS0yXCI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSxcbiAgICBtb2RlUHJvcHM6IHtcbiAgICAgICAgZm9sZDogW1wiYnJhY2VcIiwgXCJpbXBvcnRcIl0sXG4gICAgICAgIGNsb3NlQnJhY2tldHM6IHt0cmlwbGVzOiAnXCInfVxuICAgIH1cbiAgfSk7XG5cbn0pO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/codemirror/mode/clike/clike.js\n"); /***/ }), /***/ "./node_modules/codemirror/mode/coffeescript/coffeescript.js": /*!*******************************************************************!*\ !*** ./node_modules/codemirror/mode/coffeescript/coffeescript.js ***! \*******************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n/**\n * Link to the project's GitHub page:\n * https://github.com/pickhardt/coffeescript-codemirror-mode\n */\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ \"./node_modules/codemirror/lib/codemirror.js\"));\n else {}\n})(function(CodeMirror) {\n\"use strict\";\n\nCodeMirror.defineMode(\"coffeescript\", function(conf, parserConf) {\n var ERRORCLASS = \"error\";\n\n function wordRegexp(words) {\n return new RegExp(\"^((\" + words.join(\")|(\") + \"))\\\\b\");\n }\n\n var operators = /^(?:->|=>|\\+[+=]?|-[\\-=]?|\\*[\\*=]?|\\/[\\/=]?|[=!]=|<[><]?=?|>>?=?|%=?|&=?|\\|=?|\\^=?|\\~|!|\\?|(or|and|\\|\\||&&|\\?)=)/;\n var delimiters = /^(?:[()\\[\\]{},:`=;]|\\.\\.?\\.?)/;\n var identifiers = /^[_A-Za-z$][_A-Za-z$0-9]*/;\n var atProp = /^@[_A-Za-z$][_A-Za-z$0-9]*/;\n\n var wordOperators = wordRegexp([\"and\", \"or\", \"not\",\n \"is\", \"isnt\", \"in\",\n \"instanceof\", \"typeof\"]);\n var indentKeywords = [\"for\", \"while\", \"loop\", \"if\", \"unless\", \"else\",\n \"switch\", \"try\", \"catch\", \"finally\", \"class\"];\n var commonKeywords = [\"break\", \"by\", \"continue\", \"debugger\", \"delete\",\n \"do\", \"in\", \"of\", \"new\", \"return\", \"then\",\n \"this\", \"@\", \"throw\", \"when\", \"until\", \"extends\"];\n\n var keywords = wordRegexp(indentKeywords.concat(commonKeywords));\n\n indentKeywords = wordRegexp(indentKeywords);\n\n\n var stringPrefixes = /^('{3}|\\\"{3}|['\\\"])/;\n var regexPrefixes = /^(\\/{3}|\\/)/;\n var commonConstants = [\"Infinity\", \"NaN\", \"undefined\", \"null\", \"true\", \"false\", \"on\", \"off\", \"yes\", \"no\"];\n var constants = wordRegexp(commonConstants);\n\n // Tokenizers\n function tokenBase(stream, state) {\n // Handle scope changes\n if (stream.sol()) {\n if (state.scope.align === null) state.scope.align = false;\n var scopeOffset = state.scope.offset;\n if (stream.eatSpace()) {\n var lineOffset = stream.indentation();\n if (lineOffset > scopeOffset && state.scope.type == \"coffee\") {\n return \"indent\";\n } else if (lineOffset < scopeOffset) {\n return \"dedent\";\n }\n return null;\n } else {\n if (scopeOffset > 0) {\n dedent(stream, state);\n }\n }\n }\n if (stream.eatSpace()) {\n return null;\n }\n\n var ch = stream.peek();\n\n // Handle docco title comment (single line)\n if (stream.match(\"####\")) {\n stream.skipToEnd();\n return \"comment\";\n }\n\n // Handle multi line comments\n if (stream.match(\"###\")) {\n state.tokenize = longComment;\n return state.tokenize(stream, state);\n }\n\n // Single line comment\n if (ch === \"#\") {\n stream.skipToEnd();\n return \"comment\";\n }\n\n // Handle number literals\n if (stream.match(/^-?[0-9\\.]/, false)) {\n var floatLiteral = false;\n // Floats\n if (stream.match(/^-?\\d*\\.\\d+(e[\\+\\-]?\\d+)?/i)) {\n floatLiteral = true;\n }\n if (stream.match(/^-?\\d+\\.\\d*/)) {\n floatLiteral = true;\n }\n if (stream.match(/^-?\\.\\d+/)) {\n floatLiteral = true;\n }\n\n if (floatLiteral) {\n // prevent from getting extra . on 1..\n if (stream.peek() == \".\"){\n stream.backUp(1);\n }\n return \"number\";\n }\n // Integers\n var intLiteral = false;\n // Hex\n if (stream.match(/^-?0x[0-9a-f]+/i)) {\n intLiteral = true;\n }\n // Decimal\n if (stream.match(/^-?[1-9]\\d*(e[\\+\\-]?\\d+)?/)) {\n intLiteral = true;\n }\n // Zero by itself with no other piece of number.\n if (stream.match(/^-?0(?![\\dx])/i)) {\n intLiteral = true;\n }\n if (intLiteral) {\n return \"number\";\n }\n }\n\n // Handle strings\n if (stream.match(stringPrefixes)) {\n state.tokenize = tokenFactory(stream.current(), false, \"string\");\n return state.tokenize(stream, state);\n }\n // Handle regex literals\n if (stream.match(regexPrefixes)) {\n if (stream.current() != \"/\" || stream.match(/^.*\\//, false)) { // prevent highlight of division\n state.tokenize = tokenFactory(stream.current(), true, \"string-2\");\n return state.tokenize(stream, state);\n } else {\n stream.backUp(1);\n }\n }\n\n\n\n // Handle operators and delimiters\n if (stream.match(operators) || stream.match(wordOperators)) {\n return \"operator\";\n }\n if (stream.match(delimiters)) {\n return \"punctuation\";\n }\n\n if (stream.match(constants)) {\n return \"atom\";\n }\n\n if (stream.match(atProp) || state.prop && stream.match(identifiers)) {\n return \"property\";\n }\n\n if (stream.match(keywords)) {\n return \"keyword\";\n }\n\n if (stream.match(identifiers)) {\n return \"variable\";\n }\n\n // Handle non-detected items\n stream.next();\n return ERRORCLASS;\n }\n\n function tokenFactory(delimiter, singleline, outclass) {\n return function(stream, state) {\n while (!stream.eol()) {\n stream.eatWhile(/[^'\"\\/\\\\]/);\n if (stream.eat(\"\\\\\")) {\n stream.next();\n if (singleline && stream.eol()) {\n return outclass;\n }\n } else if (stream.match(delimiter)) {\n state.tokenize = tokenBase;\n return outclass;\n } else {\n stream.eat(/['\"\\/]/);\n }\n }\n if (singleline) {\n if (parserConf.singleLineStringErrors) {\n outclass = ERRORCLASS;\n } else {\n state.tokenize = tokenBase;\n }\n }\n return outclass;\n };\n }\n\n function longComment(stream, state) {\n while (!stream.eol()) {\n stream.eatWhile(/[^#]/);\n if (stream.match(\"###\")) {\n state.tokenize = tokenBase;\n break;\n }\n stream.eatWhile(\"#\");\n }\n return \"comment\";\n }\n\n function indent(stream, state, type) {\n type = type || \"coffee\";\n var offset = 0, align = false, alignOffset = null;\n for (var scope = state.scope; scope; scope = scope.prev) {\n if (scope.type === \"coffee\" || scope.type == \"}\") {\n offset = scope.offset + conf.indentUnit;\n break;\n }\n }\n if (type !== \"coffee\") {\n align = null;\n alignOffset = stream.column() + stream.current().length;\n } else if (state.scope.align) {\n state.scope.align = false;\n }\n state.scope = {\n offset: offset,\n type: type,\n prev: state.scope,\n align: align,\n alignOffset: alignOffset\n };\n }\n\n function dedent(stream, state) {\n if (!state.scope.prev) return;\n if (state.scope.type === \"coffee\") {\n var _indent = stream.indentation();\n var matched = false;\n for (var scope = state.scope; scope; scope = scope.prev) {\n if (_indent === scope.offset) {\n matched = true;\n break;\n }\n }\n if (!matched) {\n return true;\n }\n while (state.scope.prev && state.scope.offset !== _indent) {\n state.scope = state.scope.prev;\n }\n return false;\n } else {\n state.scope = state.scope.prev;\n return false;\n }\n }\n\n function tokenLexer(stream, state) {\n var style = state.tokenize(stream, state);\n var current = stream.current();\n\n // Handle scope changes.\n if (current === \"return\") {\n state.dedent = true;\n }\n if (((current === \"->\" || current === \"=>\") && stream.eol())\n || style === \"indent\") {\n indent(stream, state);\n }\n var delimiter_index = \"[({\".indexOf(current);\n if (delimiter_index !== -1) {\n indent(stream, state, \"])}\".slice(delimiter_index, delimiter_index+1));\n }\n if (indentKeywords.exec(current)){\n indent(stream, state);\n }\n if (current == \"then\"){\n dedent(stream, state);\n }\n\n\n if (style === \"dedent\") {\n if (dedent(stream, state)) {\n return ERRORCLASS;\n }\n }\n delimiter_index = \"])}\".indexOf(current);\n if (delimiter_index !== -1) {\n while (state.scope.type == \"coffee\" && state.scope.prev)\n state.scope = state.scope.prev;\n if (state.scope.type == current)\n state.scope = state.scope.prev;\n }\n if (state.dedent && stream.eol()) {\n if (state.scope.type == \"coffee\" && state.scope.prev)\n state.scope = state.scope.prev;\n state.dedent = false;\n }\n\n return style;\n }\n\n var external = {\n startState: function(basecolumn) {\n return {\n tokenize: tokenBase,\n scope: {offset:basecolumn || 0, type:\"coffee\", prev: null, align: false},\n prop: false,\n dedent: 0\n };\n },\n\n token: function(stream, state) {\n var fillAlign = state.scope.align === null && state.scope;\n if (fillAlign && stream.sol()) fillAlign.align = false;\n\n var style = tokenLexer(stream, state);\n if (style && style != \"comment\") {\n if (fillAlign) fillAlign.align = true;\n state.prop = style == \"punctuation\" && stream.current() == \".\"\n }\n\n return style;\n },\n\n indent: function(state, text) {\n if (state.tokenize != tokenBase) return 0;\n var scope = state.scope;\n var closer = text && \"])}\".indexOf(text.charAt(0)) > -1;\n if (closer) while (scope.type == \"coffee\" && scope.prev) scope = scope.prev;\n var closes = closer && scope.type === text.charAt(0);\n if (scope.align)\n return scope.alignOffset - (closes ? 1 : 0);\n else\n return (closes ? scope.prev : scope).offset;\n },\n\n lineComment: \"#\",\n fold: \"indent\"\n };\n return external;\n});\n\n// IANA registered media type\n// https://www.iana.org/assignments/media-types/\nCodeMirror.defineMIME(\"application/vnd.coffeescript\", \"coffeescript\");\n\nCodeMirror.defineMIME(\"text/x-coffeescript\", \"coffeescript\");\nCodeMirror.defineMIME(\"text/coffeescript\", \"coffeescript\");\n\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9tb2RlL2NvZmZlZXNjcmlwdC9jb2ZmZWVzY3JpcHQuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9tb2RlL2NvZmZlZXNjcmlwdC9jb2ZmZWVzY3JpcHQuanM/YTBiZCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb2RlTWlycm9yLCBjb3B5cmlnaHQgKGMpIGJ5IE1hcmlqbiBIYXZlcmJla2UgYW5kIG90aGVyc1xuLy8gRGlzdHJpYnV0ZWQgdW5kZXIgYW4gTUlUIGxpY2Vuc2U6IGh0dHBzOi8vY29kZW1pcnJvci5uZXQvTElDRU5TRVxuXG4vKipcbiAqIExpbmsgdG8gdGhlIHByb2plY3QncyBHaXRIdWIgcGFnZTpcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9waWNraGFyZHQvY29mZmVlc2NyaXB0LWNvZGVtaXJyb3ItbW9kZVxuICovXG4oZnVuY3Rpb24obW9kKSB7XG4gIGlmICh0eXBlb2YgZXhwb3J0cyA9PSBcIm9iamVjdFwiICYmIHR5cGVvZiBtb2R1bGUgPT0gXCJvYmplY3RcIikgLy8gQ29tbW9uSlNcbiAgICBtb2QocmVxdWlyZShcIi4uLy4uL2xpYi9jb2RlbWlycm9yXCIpKTtcbiAgZWxzZSBpZiAodHlwZW9mIGRlZmluZSA9PSBcImZ1bmN0aW9uXCIgJiYgZGVmaW5lLmFtZCkgLy8gQU1EXG4gICAgZGVmaW5lKFtcIi4uLy4uL2xpYi9jb2RlbWlycm9yXCJdLCBtb2QpO1xuICBlbHNlIC8vIFBsYWluIGJyb3dzZXIgZW52XG4gICAgbW9kKENvZGVNaXJyb3IpO1xufSkoZnVuY3Rpb24oQ29kZU1pcnJvcikge1xuXCJ1c2Ugc3RyaWN0XCI7XG5cbkNvZGVNaXJyb3IuZGVmaW5lTW9kZShcImNvZmZlZXNjcmlwdFwiLCBmdW5jdGlvbihjb25mLCBwYXJzZXJDb25mKSB7XG4gIHZhciBFUlJPUkNMQVNTID0gXCJlcnJvclwiO1xuXG4gIGZ1bmN0aW9uIHdvcmRSZWdleHAod29yZHMpIHtcbiAgICByZXR1cm4gbmV3IFJlZ0V4cChcIl4oKFwiICsgd29yZHMuam9pbihcIil8KFwiKSArIFwiKSlcXFxcYlwiKTtcbiAgfVxuXG4gIHZhciBvcGVyYXRvcnMgPSAvXig/Oi0+fD0+fFxcK1srPV0/fC1bXFwtPV0/fFxcKltcXCo9XT98XFwvW1xcLz1dP3xbPSFdPXw8Wz48XT89P3w+Pj89P3wlPT98Jj0/fFxcfD0/fFxcXj0/fFxcfnwhfFxcP3wob3J8YW5kfFxcfFxcfHwmJnxcXD8pPSkvO1xuICB2YXIgZGVsaW1pdGVycyA9IC9eKD86WygpXFxbXFxde30sOmA9O118XFwuXFwuP1xcLj8pLztcbiAgdmFyIGlkZW50aWZpZXJzID0gL15bX0EtWmEteiRdW19BLVphLXokMC05XSovO1xuICB2YXIgYXRQcm9wID0gL15AW19BLVphLXokXVtfQS1aYS16JDAtOV0qLztcblxuICB2YXIgd29yZE9wZXJhdG9ycyA9IHdvcmRSZWdleHAoW1wiYW5kXCIsIFwib3JcIiwgXCJub3RcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImlzXCIsIFwiaXNudFwiLCBcImluXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJpbnN0YW5jZW9mXCIsIFwidHlwZW9mXCJdKTtcbiAgdmFyIGluZGVudEtleXdvcmRzID0gW1wiZm9yXCIsIFwid2hpbGVcIiwgXCJsb29wXCIsIFwiaWZcIiwgXCJ1bmxlc3NcIiwgXCJlbHNlXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBcInN3aXRjaFwiLCBcInRyeVwiLCBcImNhdGNoXCIsIFwiZmluYWxseVwiLCBcImNsYXNzXCJdO1xuICB2YXIgY29tbW9uS2V5d29yZHMgPSBbXCJicmVha1wiLCBcImJ5XCIsIFwiY29udGludWVcIiwgXCJkZWJ1Z2dlclwiLCBcImRlbGV0ZVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJkb1wiLCBcImluXCIsIFwib2ZcIiwgXCJuZXdcIiwgXCJyZXR1cm5cIiwgXCJ0aGVuXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBcInRoaXNcIiwgXCJAXCIsIFwidGhyb3dcIiwgXCJ3aGVuXCIsIFwidW50aWxcIiwgXCJleHRlbmRzXCJdO1xuXG4gIHZhciBrZXl3b3JkcyA9IHdvcmRSZWdleHAoaW5kZW50S2V5d29yZHMuY29uY2F0KGNvbW1vbktleXdvcmRzKSk7XG5cbiAgaW5kZW50S2V5d29yZHMgPSB3b3JkUmVnZXhwKGluZGVudEtleXdvcmRzKTtcblxuXG4gIHZhciBzdHJpbmdQcmVmaXhlcyA9IC9eKCd7M318XFxcInszfXxbJ1xcXCJdKS87XG4gIHZhciByZWdleFByZWZpeGVzID0gL14oXFwvezN9fFxcLykvO1xuICB2YXIgY29tbW9uQ29uc3RhbnRzID0gW1wiSW5maW5pdHlcIiwgXCJOYU5cIiwgXCJ1bmRlZmluZWRcIiwgXCJudWxsXCIsIFwidHJ1ZVwiLCBcImZhbHNlXCIsIFwib25cIiwgXCJvZmZcIiwgXCJ5ZXNcIiwgXCJub1wiXTtcbiAgdmFyIGNvbnN0YW50cyA9IHdvcmRSZWdleHAoY29tbW9uQ29uc3RhbnRzKTtcblxuICAvLyBUb2tlbml6ZXJzXG4gIGZ1bmN0aW9uIHRva2VuQmFzZShzdHJlYW0sIHN0YXRlKSB7XG4gICAgLy8gSGFuZGxlIHNjb3BlIGNoYW5nZXNcbiAgICBpZiAoc3RyZWFtLnNvbCgpKSB7XG4gICAgICBpZiAoc3RhdGUuc2NvcGUuYWxpZ24gPT09IG51bGwpIHN0YXRlLnNjb3BlLmFsaWduID0gZmFsc2U7XG4gICAgICB2YXIgc2NvcGVPZmZzZXQgPSBzdGF0ZS5zY29wZS5vZmZzZXQ7XG4gICAgICBpZiAoc3RyZWFtLmVhdFNwYWNlKCkpIHtcbiAgICAgICAgdmFyIGxpbmVPZmZzZXQgPSBzdHJlYW0uaW5kZW50YXRpb24oKTtcbiAgICAgICAgaWYgKGxpbmVPZmZzZXQgPiBzY29wZU9mZnNldCAmJiBzdGF0ZS5zY29wZS50eXBlID09IFwiY29mZmVlXCIpIHtcbiAgICAgICAgICByZXR1cm4gXCJpbmRlbnRcIjtcbiAgICAgICAgfSBlbHNlIGlmIChsaW5lT2Zmc2V0IDwgc2NvcGVPZmZzZXQpIHtcbiAgICAgICAgICByZXR1cm4gXCJkZWRlbnRcIjtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmIChzY29wZU9mZnNldCA+IDApIHtcbiAgICAgICAgICBkZWRlbnQoc3RyZWFtLCBzdGF0ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHN0cmVhbS5lYXRTcGFjZSgpKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICB2YXIgY2ggPSBzdHJlYW0ucGVlaygpO1xuXG4gICAgLy8gSGFuZGxlIGRvY2NvIHRpdGxlIGNvbW1lbnQgKHNpbmdsZSBsaW5lKVxuICAgIGlmIChzdHJlYW0ubWF0Y2goXCIjIyMjXCIpKSB7XG4gICAgICBzdHJlYW0uc2tpcFRvRW5kKCk7XG4gICAgICByZXR1cm4gXCJjb21tZW50XCI7XG4gICAgfVxuXG4gICAgLy8gSGFuZGxlIG11bHRpIGxpbmUgY29tbWVudHNcbiAgICBpZiAoc3RyZWFtLm1hdGNoKFwiIyMjXCIpKSB7XG4gICAgICBzdGF0ZS50b2tlbml6ZSA9IGxvbmdDb21tZW50O1xuICAgICAgcmV0dXJuIHN0YXRlLnRva2VuaXplKHN0cmVhbSwgc3RhdGUpO1xuICAgIH1cblxuICAgIC8vIFNpbmdsZSBsaW5lIGNvbW1lbnRcbiAgICBpZiAoY2ggPT09IFwiI1wiKSB7XG4gICAgICBzdHJlYW0uc2tpcFRvRW5kKCk7XG4gICAgICByZXR1cm4gXCJjb21tZW50XCI7XG4gICAgfVxuXG4gICAgLy8gSGFuZGxlIG51bWJlciBsaXRlcmFsc1xuICAgIGlmIChzdHJlYW0ubWF0Y2goL14tP1swLTlcXC5dLywgZmFsc2UpKSB7XG4gICAgICB2YXIgZmxvYXRMaXRlcmFsID0gZmFsc2U7XG4gICAgICAvLyBGbG9hdHNcbiAgICAgIGlmIChzdHJlYW0ubWF0Y2goL14tP1xcZCpcXC5cXGQrKGVbXFwrXFwtXT9cXGQrKT8vaSkpIHtcbiAgICAgICAgZmxvYXRMaXRlcmFsID0gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIGlmIChzdHJlYW0ubWF0Y2goL14tP1xcZCtcXC5cXGQqLykpIHtcbiAgICAgICAgZmxvYXRMaXRlcmFsID0gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIGlmIChzdHJlYW0ubWF0Y2goL14tP1xcLlxcZCsvKSkge1xuICAgICAgICBmbG9hdExpdGVyYWwgPSB0cnVlO1xuICAgICAgfVxuXG4gICAgICBpZiAoZmxvYXRMaXRlcmFsKSB7XG4gICAgICAgIC8vIHByZXZlbnQgZnJvbSBnZXR0aW5nIGV4dHJhIC4gb24gMS4uXG4gICAgICAgIGlmIChzdHJlYW0ucGVlaygpID09IFwiLlwiKXtcbiAgICAgICAgICBzdHJlYW0uYmFja1VwKDEpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBcIm51bWJlclwiO1xuICAgICAgfVxuICAgICAgLy8gSW50ZWdlcnNcbiAgICAgIHZhciBpbnRMaXRlcmFsID0gZmFsc2U7XG4gICAgICAvLyBIZXhcbiAgICAgIGlmIChzdHJlYW0ubWF0Y2goL14tPzB4WzAtOWEtZl0rL2kpKSB7XG4gICAgICAgIGludExpdGVyYWwgPSB0cnVlO1xuICAgICAgfVxuICAgICAgLy8gRGVjaW1hbFxuICAgICAgaWYgKHN0cmVhbS5tYXRjaCgvXi0/WzEtOV1cXGQqKGVbXFwrXFwtXT9cXGQrKT8vKSkge1xuICAgICAgICBpbnRMaXRlcmFsID0gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIC8vIFplcm8gYnkgaXRzZWxmIHdpdGggbm8gb3RoZXIgcGllY2Ugb2YgbnVtYmVyLlxuICAgICAgaWYgKHN0cmVhbS5tYXRjaCgvXi0/MCg/IVtcXGR4XSkvaSkpIHtcbiAgICAgICAgaW50TGl0ZXJhbCA9IHRydWU7XG4gICAgICB9XG4gICAgICBpZiAoaW50TGl0ZXJhbCkge1xuICAgICAgICByZXR1cm4gXCJudW1iZXJcIjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBIYW5kbGUgc3RyaW5nc1xuICAgIGlmIChzdHJlYW0ubWF0Y2goc3RyaW5nUHJlZml4ZXMpKSB7XG4gICAgICBzdGF0ZS50b2tlbml6ZSA9IHRva2VuRmFjdG9yeShzdHJlYW0uY3VycmVudCgpLCBmYWxzZSwgXCJzdHJpbmdcIik7XG4gICAgICByZXR1cm4gc3RhdGUudG9rZW5pemUoc3RyZWFtLCBzdGF0ZSk7XG4gICAgfVxuICAgIC8vIEhhbmRsZSByZWdleCBsaXRlcmFsc1xuICAgIGlmIChzdHJlYW0ubWF0Y2gocmVnZXhQcmVmaXhlcykpIHtcbiAgICAgIGlmIChzdHJlYW0uY3VycmVudCgpICE9IFwiL1wiIHx8IHN0cmVhbS5tYXRjaCgvXi4qXFwvLywgZmFsc2UpKSB7IC8vIHByZXZlbnQgaGlnaGxpZ2h0IG9mIGRpdmlzaW9uXG4gICAgICAgIHN0YXRlLnRva2VuaXplID0gdG9rZW5GYWN0b3J5KHN0cmVhbS5jdXJyZW50KCksIHRydWUsIFwic3RyaW5nLTJcIik7XG4gICAgICAgIHJldHVybiBzdGF0ZS50b2tlbml6ZShzdHJlYW0sIHN0YXRlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHN0cmVhbS5iYWNrVXAoMSk7XG4gICAgICB9XG4gICAgfVxuXG5cblxuICAgIC8vIEhhbmRsZSBvcGVyYXRvcnMgYW5kIGRlbGltaXRlcnNcbiAgICBpZiAoc3RyZWFtLm1hdGNoKG9wZXJhdG9ycykgfHwgc3RyZWFtLm1hdGNoKHdvcmRPcGVyYXRvcnMpKSB7XG4gICAgICByZXR1cm4gXCJvcGVyYXRvclwiO1xuICAgIH1cbiAgICBpZiAoc3RyZWFtLm1hdGNoKGRlbGltaXRlcnMpKSB7XG4gICAgICByZXR1cm4gXCJwdW5jdHVhdGlvblwiO1xuICAgIH1cblxuICAgIGlmIChzdHJlYW0ubWF0Y2goY29uc3RhbnRzKSkge1xuICAgICAgcmV0dXJuIFwiYXRvbVwiO1xuICAgIH1cblxuICAgIGlmIChzdHJlYW0ubWF0Y2goYXRQcm9wKSB8fCBzdGF0ZS5wcm9wICYmIHN0cmVhbS5tYXRjaChpZGVudGlmaWVycykpIHtcbiAgICAgIHJldHVybiBcInByb3BlcnR5XCI7XG4gICAgfVxuXG4gICAgaWYgKHN0cmVhbS5tYXRjaChrZXl3b3JkcykpIHtcbiAgICAgIHJldHVybiBcImtleXdvcmRcIjtcbiAgICB9XG5cbiAgICBpZiAoc3RyZWFtLm1hdGNoKGlkZW50aWZpZXJzKSkge1xuICAgICAgcmV0dXJuIFwidmFyaWFibGVcIjtcbiAgICB9XG5cbiAgICAvLyBIYW5kbGUgbm9uLWRldGVjdGVkIGl0ZW1zXG4gICAgc3RyZWFtLm5leHQoKTtcbiAgICByZXR1cm4gRVJST1JDTEFTUztcbiAgfVxuXG4gIGZ1bmN0aW9uIHRva2VuRmFjdG9yeShkZWxpbWl0ZXIsIHNpbmdsZWxpbmUsIG91dGNsYXNzKSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uKHN0cmVhbSwgc3RhdGUpIHtcbiAgICAgIHdoaWxlICghc3RyZWFtLmVvbCgpKSB7XG4gICAgICAgIHN0cmVhbS5lYXRXaGlsZSgvW14nXCJcXC9cXFxcXS8pO1xuICAgICAgICBpZiAoc3RyZWFtLmVhdChcIlxcXFxcIikpIHtcbiAgICAgICAgICBzdHJlYW0ubmV4dCgpO1xuICAgICAgICAgIGlmIChzaW5nbGVsaW5lICYmIHN0cmVhbS5lb2woKSkge1xuICAgICAgICAgICAgcmV0dXJuIG91dGNsYXNzO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmIChzdHJlYW0ubWF0Y2goZGVsaW1pdGVyKSkge1xuICAgICAgICAgIHN0YXRlLnRva2VuaXplID0gdG9rZW5CYXNlO1xuICAgICAgICAgIHJldHVybiBvdXRjbGFzcztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBzdHJlYW0uZWF0KC9bJ1wiXFwvXS8pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoc2luZ2xlbGluZSkge1xuICAgICAgICBpZiAocGFyc2VyQ29uZi5zaW5nbGVMaW5lU3RyaW5nRXJyb3JzKSB7XG4gICAgICAgICAgb3V0Y2xhc3MgPSBFUlJPUkNMQVNTO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHN0YXRlLnRva2VuaXplID0gdG9rZW5CYXNlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gb3V0Y2xhc3M7XG4gICAgfTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGxvbmdDb21tZW50KHN0cmVhbSwgc3RhdGUpIHtcbiAgICB3aGlsZSAoIXN0cmVhbS5lb2woKSkge1xuICAgICAgc3RyZWFtLmVhdFdoaWxlKC9bXiNdLyk7XG4gICAgICBpZiAoc3RyZWFtLm1hdGNoKFwiIyMjXCIpKSB7XG4gICAgICAgIHN0YXRlLnRva2VuaXplID0gdG9rZW5CYXNlO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIHN0cmVhbS5lYXRXaGlsZShcIiNcIik7XG4gICAgfVxuICAgIHJldHVybiBcImNvbW1lbnRcIjtcbiAgfVxuXG4gIGZ1bmN0aW9uIGluZGVudChzdHJlYW0sIHN0YXRlLCB0eXBlKSB7XG4gICAgdHlwZSA9IHR5cGUgfHwgXCJjb2ZmZWVcIjtcbiAgICB2YXIgb2Zmc2V0ID0gMCwgYWxpZ24gPSBmYWxzZSwgYWxpZ25PZmZzZXQgPSBudWxsO1xuICAgIGZvciAodmFyIHNjb3BlID0gc3RhdGUuc2NvcGU7IHNjb3BlOyBzY29wZSA9IHNjb3BlLnByZXYpIHtcbiAgICAgIGlmIChzY29wZS50eXBlID09PSBcImNvZmZlZVwiIHx8IHNjb3BlLnR5cGUgPT0gXCJ9XCIpIHtcbiAgICAgICAgb2Zmc2V0ID0gc2NvcGUub2Zmc2V0ICsgY29uZi5pbmRlbnRVbml0O1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHR5cGUgIT09IFwiY29mZmVlXCIpIHtcbiAgICAgIGFsaWduID0gbnVsbDtcbiAgICAgIGFsaWduT2Zmc2V0ID0gc3RyZWFtLmNvbHVtbigpICsgc3RyZWFtLmN1cnJlbnQoKS5sZW5ndGg7XG4gICAgfSBlbHNlIGlmIChzdGF0ZS5zY29wZS5hbGlnbikge1xuICAgICAgc3RhdGUuc2NvcGUuYWxpZ24gPSBmYWxzZTtcbiAgICB9XG4gICAgc3RhdGUuc2NvcGUgPSB7XG4gICAgICBvZmZzZXQ6IG9mZnNldCxcbiAgICAgIHR5cGU6IHR5cGUsXG4gICAgICBwcmV2OiBzdGF0ZS5zY29wZSxcbiAgICAgIGFsaWduOiBhbGlnbixcbiAgICAgIGFsaWduT2Zmc2V0OiBhbGlnbk9mZnNldFxuICAgIH07XG4gIH1cblxuICBmdW5jdGlvbiBkZWRlbnQoc3RyZWFtLCBzdGF0ZSkge1xuICAgIGlmICghc3RhdGUuc2NvcGUucHJldikgcmV0dXJuO1xuICAgIGlmIChzdGF0ZS5zY29wZS50eXBlID09PSBcImNvZmZlZVwiKSB7XG4gICAgICB2YXIgX2luZGVudCA9IHN0cmVhbS5pbmRlbnRhdGlvbigpO1xuICAgICAgdmFyIG1hdGNoZWQgPSBmYWxzZTtcbiAgICAgIGZvciAodmFyIHNjb3BlID0gc3RhdGUuc2NvcGU7IHNjb3BlOyBzY29wZSA9IHNjb3BlLnByZXYpIHtcbiAgICAgICAgaWYgKF9pbmRlbnQgPT09IHNjb3BlLm9mZnNldCkge1xuICAgICAgICAgIG1hdGNoZWQgPSB0cnVlO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoIW1hdGNoZWQpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgICB3aGlsZSAoc3RhdGUuc2NvcGUucHJldiAmJiBzdGF0ZS5zY29wZS5vZmZzZXQgIT09IF9pbmRlbnQpIHtcbiAgICAgICAgc3RhdGUuc2NvcGUgPSBzdGF0ZS5zY29wZS5wcmV2O1xuICAgICAgfVxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0gZWxzZSB7XG4gICAgICBzdGF0ZS5zY29wZSA9IHN0YXRlLnNjb3BlLnByZXY7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gdG9rZW5MZXhlcihzdHJlYW0sIHN0YXRlKSB7XG4gICAgdmFyIHN0eWxlID0gc3RhdGUudG9rZW5pemUoc3RyZWFtLCBzdGF0ZSk7XG4gICAgdmFyIGN1cnJlbnQgPSBzdHJlYW0uY3VycmVudCgpO1xuXG4gICAgLy8gSGFuZGxlIHNjb3BlIGNoYW5nZXMuXG4gICAgaWYgKGN1cnJlbnQgPT09IFwicmV0dXJuXCIpIHtcbiAgICAgIHN0YXRlLmRlZGVudCA9IHRydWU7XG4gICAgfVxuICAgIGlmICgoKGN1cnJlbnQgPT09IFwiLT5cIiB8fCBjdXJyZW50ID09PSBcIj0+XCIpICYmIHN0cmVhbS5lb2woKSlcbiAgICAgICAgfHwgc3R5bGUgPT09IFwiaW5kZW50XCIpIHtcbiAgICAgIGluZGVudChzdHJlYW0sIHN0YXRlKTtcbiAgICB9XG4gICAgdmFyIGRlbGltaXRlcl9pbmRleCA9IFwiWyh7XCIuaW5kZXhPZihjdXJyZW50KTtcbiAgICBpZiAoZGVsaW1pdGVyX2luZGV4ICE9PSAtMSkge1xuICAgICAgaW5kZW50KHN0cmVhbSwgc3RhdGUsIFwiXSl9XCIuc2xpY2UoZGVsaW1pdGVyX2luZGV4LCBkZWxpbWl0ZXJfaW5kZXgrMSkpO1xuICAgIH1cbiAgICBpZiAoaW5kZW50S2V5d29yZHMuZXhlYyhjdXJyZW50KSl7XG4gICAgICBpbmRlbnQoc3RyZWFtLCBzdGF0ZSk7XG4gICAgfVxuICAgIGlmIChjdXJyZW50ID09IFwidGhlblwiKXtcbiAgICAgIGRlZGVudChzdHJlYW0sIHN0YXRlKTtcbiAgICB9XG5cblxuICAgIGlmIChzdHlsZSA9PT0gXCJkZWRlbnRcIikge1xuICAgICAgaWYgKGRlZGVudChzdHJlYW0sIHN0YXRlKSkge1xuICAgICAgICByZXR1cm4gRVJST1JDTEFTUztcbiAgICAgIH1cbiAgICB9XG4gICAgZGVsaW1pdGVyX2luZGV4ID0gXCJdKX1cIi5pbmRleE9mKGN1cnJlbnQpO1xuICAgIGlmIChkZWxpbWl0ZXJfaW5kZXggIT09IC0xKSB7XG4gICAgICB3aGlsZSAoc3RhdGUuc2NvcGUudHlwZSA9PSBcImNvZmZlZVwiICYmIHN0YXRlLnNjb3BlLnByZXYpXG4gICAgICAgIHN0YXRlLnNjb3BlID0gc3RhdGUuc2NvcGUucHJldjtcbiAgICAgIGlmIChzdGF0ZS5zY29wZS50eXBlID09IGN1cnJlbnQpXG4gICAgICAgIHN0YXRlLnNjb3BlID0gc3RhdGUuc2NvcGUucHJldjtcbiAgICB9XG4gICAgaWYgKHN0YXRlLmRlZGVudCAmJiBzdHJlYW0uZW9sKCkpIHtcbiAgICAgIGlmIChzdGF0ZS5zY29wZS50eXBlID09IFwiY29mZmVlXCIgJiYgc3RhdGUuc2NvcGUucHJldilcbiAgICAgICAgc3RhdGUuc2NvcGUgPSBzdGF0ZS5zY29wZS5wcmV2O1xuICAgICAgc3RhdGUuZGVkZW50ID0gZmFsc2U7XG4gICAgfVxuXG4gICAgcmV0dXJuIHN0eWxlO1xuICB9XG5cbiAgdmFyIGV4dGVybmFsID0ge1xuICAgIHN0YXJ0U3RhdGU6IGZ1bmN0aW9uKGJhc2Vjb2x1bW4pIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHRva2VuaXplOiB0b2tlbkJhc2UsXG4gICAgICAgIHNjb3BlOiB7b2Zmc2V0OmJhc2Vjb2x1bW4gfHwgMCwgdHlwZTpcImNvZmZlZVwiLCBwcmV2OiBudWxsLCBhbGlnbjogZmFsc2V9LFxuICAgICAgICBwcm9wOiBmYWxzZSxcbiAgICAgICAgZGVkZW50OiAwXG4gICAgICB9O1xuICAgIH0sXG5cbiAgICB0b2tlbjogZnVuY3Rpb24oc3RyZWFtLCBzdGF0ZSkge1xuICAgICAgdmFyIGZpbGxBbGlnbiA9IHN0YXRlLnNjb3BlLmFsaWduID09PSBudWxsICYmIHN0YXRlLnNjb3BlO1xuICAgICAgaWYgKGZpbGxBbGlnbiAmJiBzdHJlYW0uc29sKCkpIGZpbGxBbGlnbi5hbGlnbiA9IGZhbHNlO1xuXG4gICAgICB2YXIgc3R5bGUgPSB0b2tlbkxleGVyKHN0cmVhbSwgc3RhdGUpO1xuICAgICAgaWYgKHN0eWxlICYmIHN0eWxlICE9IFwiY29tbWVudFwiKSB7XG4gICAgICAgIGlmIChmaWxsQWxpZ24pIGZpbGxBbGlnbi5hbGlnbiA9IHRydWU7XG4gICAgICAgIHN0YXRlLnByb3AgPSBzdHlsZSA9PSBcInB1bmN0dWF0aW9uXCIgJiYgc3RyZWFtLmN1cnJlbnQoKSA9PSBcIi5cIlxuICAgICAgfVxuXG4gICAgICByZXR1cm4gc3R5bGU7XG4gICAgfSxcblxuICAgIGluZGVudDogZnVuY3Rpb24oc3RhdGUsIHRleHQpIHtcbiAgICAgIGlmIChzdGF0ZS50b2tlbml6ZSAhPSB0b2tlbkJhc2UpIHJldHVybiAwO1xuICAgICAgdmFyIHNjb3BlID0gc3RhdGUuc2NvcGU7XG4gICAgICB2YXIgY2xvc2VyID0gdGV4dCAmJiBcIl0pfVwiLmluZGV4T2YodGV4dC5jaGFyQXQoMCkpID4gLTE7XG4gICAgICBpZiAoY2xvc2VyKSB3aGlsZSAoc2NvcGUudHlwZSA9PSBcImNvZmZlZVwiICYmIHNjb3BlLnByZXYpIHNjb3BlID0gc2NvcGUucHJldjtcbiAgICAgIHZhciBjbG9zZXMgPSBjbG9zZXIgJiYgc2NvcGUudHlwZSA9PT0gdGV4dC5jaGFyQXQoMCk7XG4gICAgICBpZiAoc2NvcGUuYWxpZ24pXG4gICAgICAgIHJldHVybiBzY29wZS5hbGlnbk9mZnNldCAtIChjbG9zZXMgPyAxIDogMCk7XG4gICAgICBlbHNlXG4gICAgICAgIHJldHVybiAoY2xvc2VzID8gc2NvcGUucHJldiA6IHNjb3BlKS5vZmZzZXQ7XG4gICAgfSxcblxuICAgIGxpbmVDb21tZW50OiBcIiNcIixcbiAgICBmb2xkOiBcImluZGVudFwiXG4gIH07XG4gIHJldHVybiBleHRlcm5hbDtcbn0pO1xuXG4vLyBJQU5BIHJlZ2lzdGVyZWQgbWVkaWEgdHlwZVxuLy8gaHR0cHM6Ly93d3cuaWFuYS5vcmcvYXNzaWdubWVudHMvbWVkaWEtdHlwZXMvXG5Db2RlTWlycm9yLmRlZmluZU1JTUUoXCJhcHBsaWNhdGlvbi92bmQuY29mZmVlc2NyaXB0XCIsIFwiY29mZmVlc2NyaXB0XCIpO1xuXG5Db2RlTWlycm9yLmRlZmluZU1JTUUoXCJ0ZXh0L3gtY29mZmVlc2NyaXB0XCIsIFwiY29mZmVlc2NyaXB0XCIpO1xuQ29kZU1pcnJvci5kZWZpbmVNSU1FKFwidGV4dC9jb2ZmZWVzY3JpcHRcIiwgXCJjb2ZmZWVzY3JpcHRcIik7XG5cbn0pO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/codemirror/mode/coffeescript/coffeescript.js\n"); /***/ }), /***/ "./node_modules/codemirror/mode/css/css.js": /*!*************************************************!*\ !*** ./node_modules/codemirror/mode/css/css.js ***! \*************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ \"./node_modules/codemirror/lib/codemirror.js\"));\n else {}\n})(function(CodeMirror) {\n\"use strict\";\n\nCodeMirror.defineMode(\"css\", function(config, parserConfig) {\n var inline = parserConfig.inline\n if (!parserConfig.propertyKeywords) parserConfig = CodeMirror.resolveMode(\"text/css\");\n\n var indentUnit = config.indentUnit,\n tokenHooks = parserConfig.tokenHooks,\n documentTypes = parserConfig.documentTypes || {},\n mediaTypes = parserConfig.mediaTypes || {},\n mediaFeatures = parserConfig.mediaFeatures || {},\n mediaValueKeywords = parserConfig.mediaValueKeywords || {},\n propertyKeywords = parserConfig.propertyKeywords || {},\n nonStandardPropertyKeywords = parserConfig.nonStandardPropertyKeywords || {},\n fontProperties = parserConfig.fontProperties || {},\n counterDescriptors = parserConfig.counterDescriptors || {},\n colorKeywords = parserConfig.colorKeywords || {},\n valueKeywords = parserConfig.valueKeywords || {},\n allowNested = parserConfig.allowNested,\n lineComment = parserConfig.lineComment,\n supportsAtComponent = parserConfig.supportsAtComponent === true;\n\n var type, override;\n function ret(style, tp) { type = tp; return style; }\n\n // Tokenizers\n\n function tokenBase(stream, state) {\n var ch = stream.next();\n if (tokenHooks[ch]) {\n var result = tokenHooks[ch](stream, state);\n if (result !== false) return result;\n }\n if (ch == \"@\") {\n stream.eatWhile(/[\\w\\\\\\-]/);\n return ret(\"def\", stream.current());\n } else if (ch == \"=\" || (ch == \"~\" || ch == \"|\") && stream.eat(\"=\")) {\n return ret(null, \"compare\");\n } else if (ch == \"\\\"\" || ch == \"'\") {\n state.tokenize = tokenString(ch);\n return state.tokenize(stream, state);\n } else if (ch == \"#\") {\n stream.eatWhile(/[\\w\\\\\\-]/);\n return ret(\"atom\", \"hash\");\n } else if (ch == \"!\") {\n stream.match(/^\\s*\\w*/);\n return ret(\"keyword\", \"important\");\n } else if (/\\d/.test(ch) || ch == \".\" && stream.eat(/\\d/)) {\n stream.eatWhile(/[\\w.%]/);\n return ret(\"number\", \"unit\");\n } else if (ch === \"-\") {\n if (/[\\d.]/.test(stream.peek())) {\n stream.eatWhile(/[\\w.%]/);\n return ret(\"number\", \"unit\");\n } else if (stream.match(/^-[\\w\\\\\\-]*/)) {\n stream.eatWhile(/[\\w\\\\\\-]/);\n if (stream.match(/^\\s*:/, false))\n return ret(\"variable-2\", \"variable-definition\");\n return ret(\"variable-2\", \"variable\");\n } else if (stream.match(/^\\w+-/)) {\n return ret(\"meta\", \"meta\");\n }\n } else if (/[,+>*\\/]/.test(ch)) {\n return ret(null, \"select-op\");\n } else if (ch == \".\" && stream.match(/^-?[_a-z][_a-z0-9-]*/i)) {\n return ret(\"qualifier\", \"qualifier\");\n } else if (/[:;{}\\[\\]\\(\\)]/.test(ch)) {\n return ret(null, ch);\n } else if (stream.match(/[\\w-.]+(?=\\()/)) {\n if (/^(url(-prefix)?|domain|regexp)$/.test(stream.current().toLowerCase())) {\n state.tokenize = tokenParenthesized;\n }\n return ret(\"variable callee\", \"variable\");\n } else if (/[\\w\\\\\\-]/.test(ch)) {\n stream.eatWhile(/[\\w\\\\\\-]/);\n return ret(\"property\", \"word\");\n } else {\n return ret(null, null);\n }\n }\n\n function tokenString(quote) {\n return function(stream, state) {\n var escaped = false, ch;\n while ((ch = stream.next()) != null) {\n if (ch == quote && !escaped) {\n if (quote == \")\") stream.backUp(1);\n break;\n }\n escaped = !escaped && ch == \"\\\\\";\n }\n if (ch == quote || !escaped && quote != \")\") state.tokenize = null;\n return ret(\"string\", \"string\");\n };\n }\n\n function tokenParenthesized(stream, state) {\n stream.next(); // Must be '('\n if (!stream.match(/\\s*[\\\"\\')]/, false))\n state.tokenize = tokenString(\")\");\n else\n state.tokenize = null;\n return ret(null, \"(\");\n }\n\n // Context management\n\n function Context(type, indent, prev) {\n this.type = type;\n this.indent = indent;\n this.prev = prev;\n }\n\n function pushContext(state, stream, type, indent) {\n state.context = new Context(type, stream.indentation() + (indent === false ? 0 : indentUnit), state.context);\n return type;\n }\n\n function popContext(state) {\n if (state.context.prev)\n state.context = state.context.prev;\n return state.context.type;\n }\n\n function pass(type, stream, state) {\n return states[state.context.type](type, stream, state);\n }\n function popAndPass(type, stream, state, n) {\n for (var i = n || 1; i > 0; i--)\n state.context = state.context.prev;\n return pass(type, stream, state);\n }\n\n // Parser\n\n function wordAsValue(stream) {\n var word = stream.current().toLowerCase();\n if (valueKeywords.hasOwnProperty(word))\n override = \"atom\";\n else if (colorKeywords.hasOwnProperty(word))\n override = \"keyword\";\n else\n override = \"variable\";\n }\n\n var states = {};\n\n states.top = function(type, stream, state) {\n if (type == \"{\") {\n return pushContext(state, stream, \"block\");\n } else if (type == \"}\" && state.context.prev) {\n return popContext(state);\n } else if (supportsAtComponent && /@component/i.test(type)) {\n return pushContext(state, stream, \"atComponentBlock\");\n } else if (/^@(-moz-)?document$/i.test(type)) {\n return pushContext(state, stream, \"documentTypes\");\n } else if (/^@(media|supports|(-moz-)?document|import)$/i.test(type)) {\n return pushContext(state, stream, \"atBlock\");\n } else if (/^@(font-face|counter-style)/i.test(type)) {\n state.stateArg = type;\n return \"restricted_atBlock_before\";\n } else if (/^@(-(moz|ms|o|webkit)-)?keyframes$/i.test(type)) {\n return \"keyframes\";\n } else if (type && type.charAt(0) == \"@\") {\n return pushContext(state, stream, \"at\");\n } else if (type == \"hash\") {\n override = \"builtin\";\n } else if (type == \"word\") {\n override = \"tag\";\n } else if (type == \"variable-definition\") {\n return \"maybeprop\";\n } else if (type == \"interpolation\") {\n return pushContext(state, stream, \"interpolation\");\n } else if (type == \":\") {\n return \"pseudo\";\n } else if (allowNested && type == \"(\") {\n return pushContext(state, stream, \"parens\");\n }\n return state.context.type;\n };\n\n states.block = function(type, stream, state) {\n if (type == \"word\") {\n var word = stream.current().toLowerCase();\n if (propertyKeywords.hasOwnProperty(word)) {\n override = \"property\";\n return \"maybeprop\";\n } else if (nonStandardPropertyKeywords.hasOwnProperty(word)) {\n override = \"string-2\";\n return \"maybeprop\";\n } else if (allowNested) {\n override = stream.match(/^\\s*:(?:\\s|$)/, false) ? \"property\" : \"tag\";\n return \"block\";\n } else {\n override += \" error\";\n return \"maybeprop\";\n }\n } else if (type == \"meta\") {\n return \"block\";\n } else if (!allowNested && (type == \"hash\" || type == \"qualifier\")) {\n override = \"error\";\n return \"block\";\n } else {\n return states.top(type, stream, state);\n }\n };\n\n states.maybeprop = function(type, stream, state) {\n if (type == \":\") return pushContext(state, stream, \"prop\");\n return pass(type, stream, state);\n };\n\n states.prop = function(type, stream, state) {\n if (type == \";\") return popContext(state);\n if (type == \"{\" && allowNested) return pushContext(state, stream, \"propBlock\");\n if (type == \"}\" || type == \"{\") return popAndPass(type, stream, state);\n if (type == \"(\") return pushContext(state, stream, \"parens\");\n\n if (type == \"hash\" && !/^#([0-9a-fA-f]{3,4}|[0-9a-fA-f]{6}|[0-9a-fA-f]{8})$/.test(stream.current())) {\n override += \" error\";\n } else if (type == \"word\") {\n wordAsValue(stream);\n } else if (type == \"interpolation\") {\n return pushContext(state, stream, \"interpolation\");\n }\n return \"prop\";\n };\n\n states.propBlock = function(type, _stream, state) {\n if (type == \"}\") return popContext(state);\n if (type == \"word\") { override = \"property\"; return \"maybeprop\"; }\n return state.context.type;\n };\n\n states.parens = function(type, stream, state) {\n if (type == \"{\" || type == \"}\") return popAndPass(type, stream, state);\n if (type == \")\") return popContext(state);\n if (type == \"(\") return pushContext(state, stream, \"parens\");\n if (type == \"interpolation\") return pushContext(state, stream, \"interpolation\");\n if (type == \"word\") wordAsValue(stream);\n return \"parens\";\n };\n\n states.pseudo = function(type, stream, state) {\n if (type == \"meta\") return \"pseudo\";\n\n if (type == \"word\") {\n override = \"variable-3\";\n return state.context.type;\n }\n return pass(type, stream, state);\n };\n\n states.documentTypes = function(type, stream, state) {\n if (type == \"word\" && documentTypes.hasOwnProperty(stream.current())) {\n override = \"tag\";\n return state.context.type;\n } else {\n return states.atBlock(type, stream, state);\n }\n };\n\n states.atBlock = function(type, stream, state) {\n if (type == \"(\") return pushContext(state, stream, \"atBlock_parens\");\n if (type == \"}\" || type == \";\") return popAndPass(type, stream, state);\n if (type == \"{\") return popContext(state) && pushContext(state, stream, allowNested ? \"block\" : \"top\");\n\n if (type == \"interpolation\") return pushContext(state, stream, \"interpolation\");\n\n if (type == \"word\") {\n var word = stream.current().toLowerCase();\n if (word == \"only\" || word == \"not\" || word == \"and\" || word == \"or\")\n override = \"keyword\";\n else if (mediaTypes.hasOwnProperty(word))\n override = \"attribute\";\n else if (mediaFeatures.hasOwnProperty(word))\n override = \"property\";\n else if (mediaValueKeywords.hasOwnProperty(word))\n override = \"keyword\";\n else if (propertyKeywords.hasOwnProperty(word))\n override = \"property\";\n else if (nonStandardPropertyKeywords.hasOwnProperty(word))\n override = \"string-2\";\n else if (valueKeywords.hasOwnProperty(word))\n override = \"atom\";\n else if (colorKeywords.hasOwnProperty(word))\n override = \"keyword\";\n else\n override = \"error\";\n }\n return state.context.type;\n };\n\n states.atComponentBlock = function(type, stream, state) {\n if (type == \"}\")\n return popAndPass(type, stream, state);\n if (type == \"{\")\n return popContext(state) && pushContext(state, stream, allowNested ? \"block\" : \"top\", false);\n if (type == \"word\")\n override = \"error\";\n return state.context.type;\n };\n\n states.atBlock_parens = function(type, stream, state) {\n if (type == \")\") return popContext(state);\n if (type == \"{\" || type == \"}\") return popAndPass(type, stream, state, 2);\n return states.atBlock(type, stream, state);\n };\n\n states.restricted_atBlock_before = function(type, stream, state) {\n if (type == \"{\")\n return pushContext(state, stream, \"restricted_atBlock\");\n if (type == \"word\" && state.stateArg == \"@counter-style\") {\n override = \"variable\";\n return \"restricted_atBlock_before\";\n }\n return pass(type, stream, state);\n };\n\n states.restricted_atBlock = function(type, stream, state) {\n if (type == \"}\") {\n state.stateArg = null;\n return popContext(state);\n }\n if (type == \"word\") {\n if ((state.stateArg == \"@font-face\" && !fontProperties.hasOwnProperty(stream.current().toLowerCase())) ||\n (state.stateArg == \"@counter-style\" && !counterDescriptors.hasOwnProperty(stream.current().toLowerCase())))\n override = \"error\";\n else\n override = \"property\";\n return \"maybeprop\";\n }\n return \"restricted_atBlock\";\n };\n\n states.keyframes = function(type, stream, state) {\n if (type == \"word\") { override = \"variable\"; return \"keyframes\"; }\n if (type == \"{\") return pushContext(state, stream, \"top\");\n return pass(type, stream, state);\n };\n\n states.at = function(type, stream, state) {\n if (type == \";\") return popContext(state);\n if (type == \"{\" || type == \"}\") return popAndPass(type, stream, state);\n if (type == \"word\") override = \"tag\";\n else if (type == \"hash\") override = \"builtin\";\n return \"at\";\n };\n\n states.interpolation = function(type, stream, state) {\n if (type == \"}\") return popContext(state);\n if (type == \"{\" || type == \";\") return popAndPass(type, stream, state);\n if (type == \"word\") override = \"variable\";\n else if (type != \"variable\" && type != \"(\" && type != \")\") override = \"error\";\n return \"interpolation\";\n };\n\n return {\n startState: function(base) {\n return {tokenize: null,\n state: inline ? \"block\" : \"top\",\n stateArg: null,\n context: new Context(inline ? \"block\" : \"top\", base || 0, null)};\n },\n\n token: function(stream, state) {\n if (!state.tokenize && stream.eatSpace()) return null;\n var style = (state.tokenize || tokenBase)(stream, state);\n if (style && typeof style == \"object\") {\n type = style[1];\n style = style[0];\n }\n override = style;\n if (type != \"comment\")\n state.state = states[state.state](type, stream, state);\n return override;\n },\n\n indent: function(state, textAfter) {\n var cx = state.context, ch = textAfter && textAfter.charAt(0);\n var indent = cx.indent;\n if (cx.type == \"prop\" && (ch == \"}\" || ch == \")\")) cx = cx.prev;\n if (cx.prev) {\n if (ch == \"}\" && (cx.type == \"block\" || cx.type == \"top\" ||\n cx.type == \"interpolation\" || cx.type == \"restricted_atBlock\")) {\n // Resume indentation from parent context.\n cx = cx.prev;\n indent = cx.indent;\n } else if (ch == \")\" && (cx.type == \"parens\" || cx.type == \"atBlock_parens\") ||\n ch == \"{\" && (cx.type == \"at\" || cx.type == \"atBlock\")) {\n // Dedent relative to current context.\n indent = Math.max(0, cx.indent - indentUnit);\n }\n }\n return indent;\n },\n\n electricChars: \"}\",\n blockCommentStart: \"/*\",\n blockCommentEnd: \"*/\",\n blockCommentContinue: \" * \",\n lineComment: lineComment,\n fold: \"brace\"\n };\n});\n\n function keySet(array) {\n var keys = {};\n for (var i = 0; i < array.length; ++i) {\n keys[array[i].toLowerCase()] = true;\n }\n return keys;\n }\n\n var documentTypes_ = [\n \"domain\", \"regexp\", \"url\", \"url-prefix\"\n ], documentTypes = keySet(documentTypes_);\n\n var mediaTypes_ = [\n \"all\", \"aural\", \"braille\", \"handheld\", \"print\", \"projection\", \"screen\",\n \"tty\", \"tv\", \"embossed\"\n ], mediaTypes = keySet(mediaTypes_);\n\n var mediaFeatures_ = [\n \"width\", \"min-width\", \"max-width\", \"height\", \"min-height\", \"max-height\",\n \"device-width\", \"min-device-width\", \"max-device-width\", \"device-height\",\n \"min-device-height\", \"max-device-height\", \"aspect-ratio\",\n \"min-aspect-ratio\", \"max-aspect-ratio\", \"device-aspect-ratio\",\n \"min-device-aspect-ratio\", \"max-device-aspect-ratio\", \"color\", \"min-color\",\n \"max-color\", \"color-index\", \"min-color-index\", \"max-color-index\",\n \"monochrome\", \"min-monochrome\", \"max-monochrome\", \"resolution\",\n \"min-resolution\", \"max-resolution\", \"scan\", \"grid\", \"orientation\",\n \"device-pixel-ratio\", \"min-device-pixel-ratio\", \"max-device-pixel-ratio\",\n \"pointer\", \"any-pointer\", \"hover\", \"any-hover\"\n ], mediaFeatures = keySet(mediaFeatures_);\n\n var mediaValueKeywords_ = [\n \"landscape\", \"portrait\", \"none\", \"coarse\", \"fine\", \"on-demand\", \"hover\",\n \"interlace\", \"progressive\"\n ], mediaValueKeywords = keySet(mediaValueKeywords_);\n\n var propertyKeywords_ = [\n \"align-content\", \"align-items\", \"align-self\", \"alignment-adjust\",\n \"alignment-baseline\", \"anchor-point\", \"animation\", \"animation-delay\",\n \"animation-direction\", \"animation-duration\", \"animation-fill-mode\",\n \"animation-iteration-count\", \"animation-name\", \"animation-play-state\",\n \"animation-timing-function\", \"appearance\", \"azimuth\", \"backface-visibility\",\n \"background\", \"background-attachment\", \"background-blend-mode\", \"background-clip\",\n \"background-color\", \"background-image\", \"background-origin\", \"background-position\",\n \"background-repeat\", \"background-size\", \"baseline-shift\", \"binding\",\n \"bleed\", \"bookmark-label\", \"bookmark-level\", \"bookmark-state\",\n \"bookmark-target\", \"border\", \"border-bottom\", \"border-bottom-color\",\n \"border-bottom-left-radius\", \"border-bottom-right-radius\",\n \"border-bottom-style\", \"border-bottom-width\", \"border-collapse\",\n \"border-color\", \"border-image\", \"border-image-outset\",\n \"border-image-repeat\", \"border-image-slice\", \"border-image-source\",\n \"border-image-width\", \"border-left\", \"border-left-color\",\n \"border-left-style\", \"border-left-width\", \"border-radius\", \"border-right\",\n \"border-right-color\", \"border-right-style\", \"border-right-width\",\n \"border-spacing\", \"border-style\", \"border-top\", \"border-top-color\",\n \"border-top-left-radius\", \"border-top-right-radius\", \"border-top-style\",\n \"border-top-width\", \"border-width\", \"bottom\", \"box-decoration-break\",\n \"box-shadow\", \"box-sizing\", \"break-after\", \"break-before\", \"break-inside\",\n \"caption-side\", \"caret-color\", \"clear\", \"clip\", \"color\", \"color-profile\", \"column-count\",\n \"column-fill\", \"column-gap\", \"column-rule\", \"column-rule-color\",\n \"column-rule-style\", \"column-rule-width\", \"column-span\", \"column-width\",\n \"columns\", \"content\", \"counter-increment\", \"counter-reset\", \"crop\", \"cue\",\n \"cue-after\", \"cue-before\", \"cursor\", \"direction\", \"display\",\n \"dominant-baseline\", \"drop-initial-after-adjust\",\n \"drop-initial-after-align\", \"drop-initial-before-adjust\",\n \"drop-initial-before-align\", \"drop-initial-size\", \"drop-initial-value\",\n \"elevation\", \"empty-cells\", \"fit\", \"fit-position\", \"flex\", \"flex-basis\",\n \"flex-direction\", \"flex-flow\", \"flex-grow\", \"flex-shrink\", \"flex-wrap\",\n \"float\", \"float-offset\", \"flow-from\", \"flow-into\", \"font\", \"font-feature-settings\",\n \"font-family\", \"font-kerning\", \"font-language-override\", \"font-size\", \"font-size-adjust\",\n \"font-stretch\", \"font-style\", \"font-synthesis\", \"font-variant\",\n \"font-variant-alternates\", \"font-variant-caps\", \"font-variant-east-asian\",\n \"font-variant-ligatures\", \"font-variant-numeric\", \"font-variant-position\",\n \"font-weight\", \"grid\", \"grid-area\", \"grid-auto-columns\", \"grid-auto-flow\",\n \"grid-auto-rows\", \"grid-column\", \"grid-column-end\", \"grid-column-gap\",\n \"grid-column-start\", \"grid-gap\", \"grid-row\", \"grid-row-end\", \"grid-row-gap\",\n \"grid-row-start\", \"grid-template\", \"grid-template-areas\", \"grid-template-columns\",\n \"grid-template-rows\", \"hanging-punctuation\", \"height\", \"hyphens\",\n \"icon\", \"image-orientation\", \"image-rendering\", \"image-resolution\",\n \"inline-box-align\", \"justify-content\", \"justify-items\", \"justify-self\", \"left\", \"letter-spacing\",\n \"line-break\", \"line-height\", \"line-stacking\", \"line-stacking-ruby\",\n \"line-stacking-shift\", \"line-stacking-strategy\", \"list-style\",\n \"list-style-image\", \"list-style-position\", \"list-style-type\", \"margin\",\n \"margin-bottom\", \"margin-left\", \"margin-right\", \"margin-top\",\n \"marks\", \"marquee-direction\", \"marquee-loop\",\n \"marquee-play-count\", \"marquee-speed\", \"marquee-style\", \"max-height\",\n \"max-width\", \"min-height\", \"min-width\", \"mix-blend-mode\", \"move-to\", \"nav-down\", \"nav-index\",\n \"nav-left\", \"nav-right\", \"nav-up\", \"object-fit\", \"object-position\",\n \"opacity\", \"order\", \"orphans\", \"outline\",\n \"outline-color\", \"outline-offset\", \"outline-style\", \"outline-width\",\n \"overflow\", \"overflow-style\", \"overflow-wrap\", \"overflow-x\", \"overflow-y\",\n \"padding\", \"padding-bottom\", \"padding-left\", \"padding-right\", \"padding-top\",\n \"page\", \"page-break-after\", \"page-break-before\", \"page-break-inside\",\n \"page-policy\", \"pause\", \"pause-after\", \"pause-before\", \"perspective\",\n \"perspective-origin\", \"pitch\", \"pitch-range\", \"place-content\", \"place-items\", \"place-self\", \"play-during\", \"position\",\n \"presentation-level\", \"punctuation-trim\", \"quotes\", \"region-break-after\",\n \"region-break-before\", \"region-break-inside\", \"region-fragment\",\n \"rendering-intent\", \"resize\", \"rest\", \"rest-after\", \"rest-before\", \"richness\",\n \"right\", \"rotation\", \"rotation-point\", \"ruby-align\", \"ruby-overhang\",\n \"ruby-position\", \"ruby-span\", \"shape-image-threshold\", \"shape-inside\", \"shape-margin\",\n \"shape-outside\", \"size\", \"speak\", \"speak-as\", \"speak-header\",\n \"speak-numeral\", \"speak-punctuation\", \"speech-rate\", \"stress\", \"string-set\",\n \"tab-size\", \"table-layout\", \"target\", \"target-name\", \"target-new\",\n \"target-position\", \"text-align\", \"text-align-last\", \"text-decoration\",\n \"text-decoration-color\", \"text-decoration-line\", \"text-decoration-skip\",\n \"text-decoration-style\", \"text-emphasis\", \"text-emphasis-color\",\n \"text-emphasis-position\", \"text-emphasis-style\", \"text-height\",\n \"text-indent\", \"text-justify\", \"text-outline\", \"text-overflow\", \"text-shadow\",\n \"text-size-adjust\", \"text-space-collapse\", \"text-transform\", \"text-underline-position\",\n \"text-wrap\", \"top\", \"transform\", \"transform-origin\", \"transform-style\",\n \"transition\", \"transition-delay\", \"transition-duration\",\n \"transition-property\", \"transition-timing-function\", \"unicode-bidi\",\n \"user-select\", \"vertical-align\", \"visibility\", \"voice-balance\", \"voice-duration\",\n \"voice-family\", \"voice-pitch\", \"voice-range\", \"voice-rate\", \"voice-stress\",\n \"voice-volume\", \"volume\", \"white-space\", \"widows\", \"width\", \"will-change\", \"word-break\",\n \"word-spacing\", \"word-wrap\", \"z-index\",\n // SVG-specific\n \"clip-path\", \"clip-rule\", \"mask\", \"enable-background\", \"filter\", \"flood-color\",\n \"flood-opacity\", \"lighting-color\", \"stop-color\", \"stop-opacity\", \"pointer-events\",\n \"color-interpolation\", \"color-interpolation-filters\",\n \"color-rendering\", \"fill\", \"fill-opacity\", \"fill-rule\", \"image-rendering\",\n \"marker\", \"marker-end\", \"marker-mid\", \"marker-start\", \"shape-rendering\", \"stroke\",\n \"stroke-dasharray\", \"stroke-dashoffset\", \"stroke-linecap\", \"stroke-linejoin\",\n \"stroke-miterlimit\", \"stroke-opacity\", \"stroke-width\", \"text-rendering\",\n \"baseline-shift\", \"dominant-baseline\", \"glyph-orientation-horizontal\",\n \"glyph-orientation-vertical\", \"text-anchor\", \"writing-mode\"\n ], propertyKeywords = keySet(propertyKeywords_);\n\n var nonStandardPropertyKeywords_ = [\n \"scrollbar-arrow-color\", \"scrollbar-base-color\", \"scrollbar-dark-shadow-color\",\n \"scrollbar-face-color\", \"scrollbar-highlight-color\", \"scrollbar-shadow-color\",\n \"scrollbar-3d-light-color\", \"scrollbar-track-color\", \"shape-inside\",\n \"searchfield-cancel-button\", \"searchfield-decoration\", \"searchfield-results-button\",\n \"searchfield-results-decoration\", \"zoom\"\n ], nonStandardPropertyKeywords = keySet(nonStandardPropertyKeywords_);\n\n var fontProperties_ = [\n \"font-family\", \"src\", \"unicode-range\", \"font-variant\", \"font-feature-settings\",\n \"font-stretch\", \"font-weight\", \"font-style\"\n ], fontProperties = keySet(fontProperties_);\n\n var counterDescriptors_ = [\n \"additive-symbols\", \"fallback\", \"negative\", \"pad\", \"prefix\", \"range\",\n \"speak-as\", \"suffix\", \"symbols\", \"system\"\n ], counterDescriptors = keySet(counterDescriptors_);\n\n var colorKeywords_ = [\n \"aliceblue\", \"antiquewhite\", \"aqua\", \"aquamarine\", \"azure\", \"beige\",\n \"bisque\", \"black\", \"blanchedalmond\", \"blue\", \"blueviolet\", \"brown\",\n \"burlywood\", \"cadetblue\", \"chartreuse\", \"chocolate\", \"coral\", \"cornflowerblue\",\n \"cornsilk\", \"crimson\", \"cyan\", \"darkblue\", \"darkcyan\", \"darkgoldenrod\",\n \"darkgray\", \"darkgreen\", \"darkkhaki\", \"darkmagenta\", \"darkolivegreen\",\n \"darkorange\", \"darkorchid\", \"darkred\", \"darksalmon\", \"darkseagreen\",\n \"darkslateblue\", \"darkslategray\", \"darkturquoise\", \"darkviolet\",\n \"deeppink\", \"deepskyblue\", \"dimgray\", \"dodgerblue\", \"firebrick\",\n \"floralwhite\", \"forestgreen\", \"fuchsia\", \"gainsboro\", \"ghostwhite\",\n \"gold\", \"goldenrod\", \"gray\", \"grey\", \"green\", \"greenyellow\", \"honeydew\",\n \"hotpink\", \"indianred\", \"indigo\", \"ivory\", \"khaki\", \"lavender\",\n \"lavenderblush\", \"lawngreen\", \"lemonchiffon\", \"lightblue\", \"lightcoral\",\n \"lightcyan\", \"lightgoldenrodyellow\", \"lightgray\", \"lightgreen\", \"lightpink\",\n \"lightsalmon\", \"lightseagreen\", \"lightskyblue\", \"lightslategray\",\n \"lightsteelblue\", \"lightyellow\", \"lime\", \"limegreen\", \"linen\", \"magenta\",\n \"maroon\", \"mediumaquamarine\", \"mediumblue\", \"mediumorchid\", \"mediumpurple\",\n \"mediumseagreen\", \"mediumslateblue\", \"mediumspringgreen\", \"mediumturquoise\",\n \"mediumvioletred\", \"midnightblue\", \"mintcream\", \"mistyrose\", \"moccasin\",\n \"navajowhite\", \"navy\", \"oldlace\", \"olive\", \"olivedrab\", \"orange\", \"orangered\",\n \"orchid\", \"palegoldenrod\", \"palegreen\", \"paleturquoise\", \"palevioletred\",\n \"papayawhip\", \"peachpuff\", \"peru\", \"pink\", \"plum\", \"powderblue\",\n \"purple\", \"rebeccapurple\", \"red\", \"rosybrown\", \"royalblue\", \"saddlebrown\",\n \"salmon\", \"sandybrown\", \"seagreen\", \"seashell\", \"sienna\", \"silver\", \"skyblue\",\n \"slateblue\", \"slategray\", \"snow\", \"springgreen\", \"steelblue\", \"tan\",\n \"teal\", \"thistle\", \"tomato\", \"turquoise\", \"violet\", \"wheat\", \"white\",\n \"whitesmoke\", \"yellow\", \"yellowgreen\"\n ], colorKeywords = keySet(colorKeywords_);\n\n var valueKeywords_ = [\n \"above\", \"absolute\", \"activeborder\", \"additive\", \"activecaption\", \"afar\",\n \"after-white-space\", \"ahead\", \"alias\", \"all\", \"all-scroll\", \"alphabetic\", \"alternate\",\n \"always\", \"amharic\", \"amharic-abegede\", \"antialiased\", \"appworkspace\",\n \"arabic-indic\", \"armenian\", \"asterisks\", \"attr\", \"auto\", \"auto-flow\", \"avoid\", \"avoid-column\", \"avoid-page\",\n \"avoid-region\", \"background\", \"backwards\", \"baseline\", \"below\", \"bidi-override\", \"binary\",\n \"bengali\", \"blink\", \"block\", \"block-axis\", \"bold\", \"bolder\", \"border\", \"border-box\",\n \"both\", \"bottom\", \"break\", \"break-all\", \"break-word\", \"bullets\", \"button\", \"button-bevel\",\n \"buttonface\", \"buttonhighlight\", \"buttonshadow\", \"buttontext\", \"calc\", \"cambodian\",\n \"capitalize\", \"caps-lock-indicator\", \"caption\", \"captiontext\", \"caret\",\n \"cell\", \"center\", \"checkbox\", \"circle\", \"cjk-decimal\", \"cjk-earthly-branch\",\n \"cjk-heavenly-stem\", \"cjk-ideographic\", \"clear\", \"clip\", \"close-quote\",\n \"col-resize\", \"collapse\", \"color\", \"color-burn\", \"color-dodge\", \"column\", \"column-reverse\",\n \"compact\", \"condensed\", \"contain\", \"content\", \"contents\",\n \"content-box\", \"context-menu\", \"continuous\", \"copy\", \"counter\", \"counters\", \"cover\", \"crop\",\n \"cross\", \"crosshair\", \"currentcolor\", \"cursive\", \"cyclic\", \"darken\", \"dashed\", \"decimal\",\n \"decimal-leading-zero\", \"default\", \"default-button\", \"dense\", \"destination-atop\",\n \"destination-in\", \"destination-out\", \"destination-over\", \"devanagari\", \"difference\",\n \"disc\", \"discard\", \"disclosure-closed\", \"disclosure-open\", \"document\",\n \"dot-dash\", \"dot-dot-dash\",\n \"dotted\", \"double\", \"down\", \"e-resize\", \"ease\", \"ease-in\", \"ease-in-out\", \"ease-out\",\n \"element\", \"ellipse\", \"ellipsis\", \"embed\", \"end\", \"ethiopic\", \"ethiopic-abegede\",\n \"ethiopic-abegede-am-et\", \"ethiopic-abegede-gez\", \"ethiopic-abegede-ti-er\",\n \"ethiopic-abegede-ti-et\", \"ethiopic-halehame-aa-er\",\n \"ethiopic-halehame-aa-et\", \"ethiopic-halehame-am-et\",\n \"ethiopic-halehame-gez\", \"ethiopic-halehame-om-et\",\n \"ethiopic-halehame-sid-et\", \"ethiopic-halehame-so-et\",\n \"ethiopic-halehame-ti-er\", \"ethiopic-halehame-ti-et\", \"ethiopic-halehame-tig\",\n \"ethiopic-numeric\", \"ew-resize\", \"exclusion\", \"expanded\", \"extends\", \"extra-condensed\",\n \"extra-expanded\", \"fantasy\", \"fast\", \"fill\", \"fixed\", \"flat\", \"flex\", \"flex-end\", \"flex-start\", \"footnotes\",\n \"forwards\", \"from\", \"geometricPrecision\", \"georgian\", \"graytext\", \"grid\", \"groove\",\n \"gujarati\", \"gurmukhi\", \"hand\", \"hangul\", \"hangul-consonant\", \"hard-light\", \"hebrew\",\n \"help\", \"hidden\", \"hide\", \"higher\", \"highlight\", \"highlighttext\",\n \"hiragana\", \"hiragana-iroha\", \"horizontal\", \"hsl\", \"hsla\", \"hue\", \"icon\", \"ignore\",\n \"inactiveborder\", \"inactivecaption\", \"inactivecaptiontext\", \"infinite\",\n \"infobackground\", \"infotext\", \"inherit\", \"initial\", \"inline\", \"inline-axis\",\n \"inline-block\", \"inline-flex\", \"inline-grid\", \"inline-table\", \"inset\", \"inside\", \"intrinsic\", \"invert\",\n \"italic\", \"japanese-formal\", \"japanese-informal\", \"justify\", \"kannada\",\n \"katakana\", \"katakana-iroha\", \"keep-all\", \"khmer\",\n \"korean-hangul-formal\", \"korean-hanja-formal\", \"korean-hanja-informal\",\n \"landscape\", \"lao\", \"large\", \"larger\", \"left\", \"level\", \"lighter\", \"lighten\",\n \"line-through\", \"linear\", \"linear-gradient\", \"lines\", \"list-item\", \"listbox\", \"listitem\",\n \"local\", \"logical\", \"loud\", \"lower\", \"lower-alpha\", \"lower-armenian\",\n \"lower-greek\", \"lower-hexadecimal\", \"lower-latin\", \"lower-norwegian\",\n \"lower-roman\", \"lowercase\", \"ltr\", \"luminosity\", \"malayalam\", \"match\", \"matrix\", \"matrix3d\",\n \"media-controls-background\", \"media-current-time-display\",\n \"media-fullscreen-button\", \"media-mute-button\", \"media-play-button\",\n \"media-return-to-realtime-button\", \"media-rewind-button\",\n \"media-seek-back-button\", \"media-seek-forward-button\", \"media-slider\",\n \"media-sliderthumb\", \"media-time-remaining-display\", \"media-volume-slider\",\n \"media-volume-slider-container\", \"media-volume-sliderthumb\", \"medium\",\n \"menu\", \"menulist\", \"menulist-button\", \"menulist-text\",\n \"menulist-textfield\", \"menutext\", \"message-box\", \"middle\", \"min-intrinsic\",\n \"mix\", \"mongolian\", \"monospace\", \"move\", \"multiple\", \"multiply\", \"myanmar\", \"n-resize\",\n \"narrower\", \"ne-resize\", \"nesw-resize\", \"no-close-quote\", \"no-drop\",\n \"no-open-quote\", \"no-repeat\", \"none\", \"normal\", \"not-allowed\", \"nowrap\",\n \"ns-resize\", \"numbers\", \"numeric\", \"nw-resize\", \"nwse-resize\", \"oblique\", \"octal\", \"opacity\", \"open-quote\",\n \"optimizeLegibility\", \"optimizeSpeed\", \"oriya\", \"oromo\", \"outset\",\n \"outside\", \"outside-shape\", \"overlay\", \"overline\", \"padding\", \"padding-box\",\n \"painted\", \"page\", \"paused\", \"persian\", \"perspective\", \"plus-darker\", \"plus-lighter\",\n \"pointer\", \"polygon\", \"portrait\", \"pre\", \"pre-line\", \"pre-wrap\", \"preserve-3d\",\n \"progress\", \"push-button\", \"radial-gradient\", \"radio\", \"read-only\",\n \"read-write\", \"read-write-plaintext-only\", \"rectangle\", \"region\",\n \"relative\", \"repeat\", \"repeating-linear-gradient\",\n \"repeating-radial-gradient\", \"repeat-x\", \"repeat-y\", \"reset\", \"reverse\",\n \"rgb\", \"rgba\", \"ridge\", \"right\", \"rotate\", \"rotate3d\", \"rotateX\", \"rotateY\",\n \"rotateZ\", \"round\", \"row\", \"row-resize\", \"row-reverse\", \"rtl\", \"run-in\", \"running\",\n \"s-resize\", \"sans-serif\", \"saturation\", \"scale\", \"scale3d\", \"scaleX\", \"scaleY\", \"scaleZ\", \"screen\",\n \"scroll\", \"scrollbar\", \"scroll-position\", \"se-resize\", \"searchfield\",\n \"searchfield-cancel-button\", \"searchfield-decoration\",\n \"searchfield-results-button\", \"searchfield-results-decoration\", \"self-start\", \"self-end\",\n \"semi-condensed\", \"semi-expanded\", \"separate\", \"serif\", \"show\", \"sidama\",\n \"simp-chinese-formal\", \"simp-chinese-informal\", \"single\",\n \"skew\", \"skewX\", \"skewY\", \"skip-white-space\", \"slide\", \"slider-horizontal\",\n \"slider-vertical\", \"sliderthumb-horizontal\", \"sliderthumb-vertical\", \"slow\",\n \"small\", \"small-caps\", \"small-caption\", \"smaller\", \"soft-light\", \"solid\", \"somali\",\n \"source-atop\", \"source-in\", \"source-out\", \"source-over\", \"space\", \"space-around\", \"space-between\", \"space-evenly\", \"spell-out\", \"square\",\n \"square-button\", \"start\", \"static\", \"status-bar\", \"stretch\", \"stroke\", \"sub\",\n \"subpixel-antialiased\", \"super\", \"sw-resize\", \"symbolic\", \"symbols\", \"system-ui\", \"table\",\n \"table-caption\", \"table-cell\", \"table-column\", \"table-column-group\",\n \"table-footer-group\", \"table-header-group\", \"table-row\", \"table-row-group\",\n \"tamil\",\n \"telugu\", \"text\", \"text-bottom\", \"text-top\", \"textarea\", \"textfield\", \"thai\",\n \"thick\", \"thin\", \"threeddarkshadow\", \"threedface\", \"threedhighlight\",\n \"threedlightshadow\", \"threedshadow\", \"tibetan\", \"tigre\", \"tigrinya-er\",\n \"tigrinya-er-abegede\", \"tigrinya-et\", \"tigrinya-et-abegede\", \"to\", \"top\",\n \"trad-chinese-formal\", \"trad-chinese-informal\", \"transform\",\n \"translate\", \"translate3d\", \"translateX\", \"translateY\", \"translateZ\",\n \"transparent\", \"ultra-condensed\", \"ultra-expanded\", \"underline\", \"unset\", \"up\",\n \"upper-alpha\", \"upper-armenian\", \"upper-greek\", \"upper-hexadecimal\",\n \"upper-latin\", \"upper-norwegian\", \"upper-roman\", \"uppercase\", \"urdu\", \"url\",\n \"var\", \"vertical\", \"vertical-text\", \"visible\", \"visibleFill\", \"visiblePainted\",\n \"visibleStroke\", \"visual\", \"w-resize\", \"wait\", \"wave\", \"wider\",\n \"window\", \"windowframe\", \"windowtext\", \"words\", \"wrap\", \"wrap-reverse\", \"x-large\", \"x-small\", \"xor\",\n \"xx-large\", \"xx-small\"\n ], valueKeywords = keySet(valueKeywords_);\n\n var allWords = documentTypes_.concat(mediaTypes_).concat(mediaFeatures_).concat(mediaValueKeywords_)\n .concat(propertyKeywords_).concat(nonStandardPropertyKeywords_).concat(colorKeywords_)\n .concat(valueKeywords_);\n CodeMirror.registerHelper(\"hintWords\", \"css\", allWords);\n\n function tokenCComment(stream, state) {\n var maybeEnd = false, ch;\n while ((ch = stream.next()) != null) {\n if (maybeEnd && ch == \"/\") {\n state.tokenize = null;\n break;\n }\n maybeEnd = (ch == \"*\");\n }\n return [\"comment\", \"comment\"];\n }\n\n CodeMirror.defineMIME(\"text/css\", {\n documentTypes: documentTypes,\n mediaTypes: mediaTypes,\n mediaFeatures: mediaFeatures,\n mediaValueKeywords: mediaValueKeywords,\n propertyKeywords: propertyKeywords,\n nonStandardPropertyKeywords: nonStandardPropertyKeywords,\n fontProperties: fontProperties,\n counterDescriptors: counterDescriptors,\n colorKeywords: colorKeywords,\n valueKeywords: valueKeywords,\n tokenHooks: {\n \"/\": function(stream, state) {\n if (!stream.eat(\"*\")) return false;\n state.tokenize = tokenCComment;\n return tokenCComment(stream, state);\n }\n },\n name: \"css\"\n });\n\n CodeMirror.defineMIME(\"text/x-scss\", {\n mediaTypes: mediaTypes,\n mediaFeatures: mediaFeatures,\n mediaValueKeywords: mediaValueKeywords,\n propertyKeywords: propertyKeywords,\n nonStandardPropertyKeywords: nonStandardPropertyKeywords,\n colorKeywords: colorKeywords,\n valueKeywords: valueKeywords,\n fontProperties: fontProperties,\n allowNested: true,\n lineComment: \"//\",\n tokenHooks: {\n \"/\": function(stream, state) {\n if (stream.eat(\"/\")) {\n stream.skipToEnd();\n return [\"comment\", \"comment\"];\n } else if (stream.eat(\"*\")) {\n state.tokenize = tokenCComment;\n return tokenCComment(stream, state);\n } else {\n return [\"operator\", \"operator\"];\n }\n },\n \":\": function(stream) {\n if (stream.match(/\\s*\\{/, false))\n return [null, null]\n return false;\n },\n \"$\": function(stream) {\n stream.match(/^[\\w-]+/);\n if (stream.match(/^\\s*:/, false))\n return [\"variable-2\", \"variable-definition\"];\n return [\"variable-2\", \"variable\"];\n },\n \"#\": function(stream) {\n if (!stream.eat(\"{\")) return false;\n return [null, \"interpolation\"];\n }\n },\n name: \"css\",\n helperType: \"scss\"\n });\n\n CodeMirror.defineMIME(\"text/x-less\", {\n mediaTypes: mediaTypes,\n mediaFeatures: mediaFeatures,\n mediaValueKeywords: mediaValueKeywords,\n propertyKeywords: propertyKeywords,\n nonStandardPropertyKeywords: nonStandardPropertyKeywords,\n colorKeywords: colorKeywords,\n valueKeywords: valueKeywords,\n fontProperties: fontProperties,\n allowNested: true,\n lineComment: \"//\",\n tokenHooks: {\n \"/\": function(stream, state) {\n if (stream.eat(\"/\")) {\n stream.skipToEnd();\n return [\"comment\", \"comment\"];\n } else if (stream.eat(\"*\")) {\n state.tokenize = tokenCComment;\n return tokenCComment(stream, state);\n } else {\n return [\"operator\", \"operator\"];\n }\n },\n \"@\": function(stream) {\n if (stream.eat(\"{\")) return [null, \"interpolation\"];\n if (stream.match(/^(charset|document|font-face|import|(-(moz|ms|o|webkit)-)?keyframes|media|namespace|page|supports)\\b/i, false)) return false;\n stream.eatWhile(/[\\w\\\\\\-]/);\n if (stream.match(/^\\s*:/, false))\n return [\"variable-2\", \"variable-definition\"];\n return [\"variable-2\", \"variable\"];\n },\n \"&\": function() {\n return [\"atom\", \"atom\"];\n }\n },\n name: \"css\",\n helperType: \"less\"\n });\n\n CodeMirror.defineMIME(\"text/x-gss\", {\n documentTypes: documentTypes,\n mediaTypes: mediaTypes,\n mediaFeatures: mediaFeatures,\n propertyKeywords: propertyKeywords,\n nonStandardPropertyKeywords: nonStandardPropertyKeywords,\n fontProperties: fontProperties,\n counterDescriptors: counterDescriptors,\n colorKeywords: colorKeywords,\n valueKeywords: valueKeywords,\n supportsAtComponent: true,\n tokenHooks: {\n \"/\": function(stream, state) {\n if (!stream.eat(\"*\")) return false;\n state.tokenize = tokenCComment;\n return tokenCComment(stream, state);\n }\n },\n name: \"css\",\n helperType: \"gss\"\n });\n\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9tb2RlL2Nzcy9jc3MuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9tb2RlL2Nzcy9jc3MuanM/N2IwMCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb2RlTWlycm9yLCBjb3B5cmlnaHQgKGMpIGJ5IE1hcmlqbiBIYXZlcmJla2UgYW5kIG90aGVyc1xuLy8gRGlzdHJpYnV0ZWQgdW5kZXIgYW4gTUlUIGxpY2Vuc2U6IGh0dHBzOi8vY29kZW1pcnJvci5uZXQvTElDRU5TRVxuXG4oZnVuY3Rpb24obW9kKSB7XG4gIGlmICh0eXBlb2YgZXhwb3J0cyA9PSBcIm9iamVjdFwiICYmIHR5cGVvZiBtb2R1bGUgPT0gXCJvYmplY3RcIikgLy8gQ29tbW9uSlNcbiAgICBtb2QocmVxdWlyZShcIi4uLy4uL2xpYi9jb2RlbWlycm9yXCIpKTtcbiAgZWxzZSBpZiAodHlwZW9mIGRlZmluZSA9PSBcImZ1bmN0aW9uXCIgJiYgZGVmaW5lLmFtZCkgLy8gQU1EXG4gICAgZGVmaW5lKFtcIi4uLy4uL2xpYi9jb2RlbWlycm9yXCJdLCBtb2QpO1xuICBlbHNlIC8vIFBsYWluIGJyb3dzZXIgZW52XG4gICAgbW9kKENvZGVNaXJyb3IpO1xufSkoZnVuY3Rpb24oQ29kZU1pcnJvcikge1xuXCJ1c2Ugc3RyaWN0XCI7XG5cbkNvZGVNaXJyb3IuZGVmaW5lTW9kZShcImNzc1wiLCBmdW5jdGlvbihjb25maWcsIHBhcnNlckNvbmZpZykge1xuICB2YXIgaW5saW5lID0gcGFyc2VyQ29uZmlnLmlubGluZVxuICBpZiAoIXBhcnNlckNvbmZpZy5wcm9wZXJ0eUtleXdvcmRzKSBwYXJzZXJDb25maWcgPSBDb2RlTWlycm9yLnJlc29sdmVNb2RlKFwidGV4dC9jc3NcIik7XG5cbiAgdmFyIGluZGVudFVuaXQgPSBjb25maWcuaW5kZW50VW5pdCxcbiAgICAgIHRva2VuSG9va3MgPSBwYXJzZXJDb25maWcudG9rZW5Ib29rcyxcbiAgICAgIGRvY3VtZW50VHlwZXMgPSBwYXJzZXJDb25maWcuZG9jdW1lbnRUeXBlcyB8fCB7fSxcbiAgICAgIG1lZGlhVHlwZXMgPSBwYXJzZXJDb25maWcubWVkaWFUeXBlcyB8fCB7fSxcbiAgICAgIG1lZGlhRmVhdHVyZXMgPSBwYXJzZXJDb25maWcubWVkaWFGZWF0dXJlcyB8fCB7fSxcbiAgICAgIG1lZGlhVmFsdWVLZXl3b3JkcyA9IHBhcnNlckNvbmZpZy5tZWRpYVZhbHVlS2V5d29yZHMgfHwge30sXG4gICAgICBwcm9wZXJ0eUtleXdvcmRzID0gcGFyc2VyQ29uZmlnLnByb3BlcnR5S2V5d29yZHMgfHwge30sXG4gICAgICBub25TdGFuZGFyZFByb3BlcnR5S2V5d29yZHMgPSBwYXJzZXJDb25maWcubm9uU3RhbmRhcmRQcm9wZXJ0eUtleXdvcmRzIHx8IHt9LFxuICAgICAgZm9udFByb3BlcnRpZXMgPSBwYXJzZXJDb25maWcuZm9udFByb3BlcnRpZXMgfHwge30sXG4gICAgICBjb3VudGVyRGVzY3JpcHRvcnMgPSBwYXJzZXJDb25maWcuY291bnRlckRlc2NyaXB0b3JzIHx8IHt9LFxuICAgICAgY29sb3JLZXl3b3JkcyA9IHBhcnNlckNvbmZpZy5jb2xvcktleXdvcmRzIHx8IHt9LFxuICAgICAgdmFsdWVLZXl3b3JkcyA9IHBhcnNlckNvbmZpZy52YWx1ZUtleXdvcmRzIHx8IHt9LFxuICAgICAgYWxsb3dOZXN0ZWQgPSBwYXJzZXJDb25maWcuYWxsb3dOZXN0ZWQsXG4gICAgICBsaW5lQ29tbWVudCA9IHBhcnNlckNvbmZpZy5saW5lQ29tbWVudCxcbiAgICAgIHN1cHBvcnRzQXRDb21wb25lbnQgPSBwYXJzZXJDb25maWcuc3VwcG9ydHNBdENvbXBvbmVudCA9PT0gdHJ1ZTtcblxuICB2YXIgdHlwZSwgb3ZlcnJpZGU7XG4gIGZ1bmN0aW9uIHJldChzdHlsZSwgdHApIHsgdHlwZSA9IHRwOyByZXR1cm4gc3R5bGU7IH1cblxuICAvLyBUb2tlbml6ZXJzXG5cbiAgZnVuY3Rpb24gdG9rZW5CYXNlKHN0cmVhbSwgc3RhdGUpIHtcbiAgICB2YXIgY2ggPSBzdHJlYW0ubmV4dCgpO1xuICAgIGlmICh0b2tlbkhvb2tzW2NoXSkge1xuICAgICAgdmFyIHJlc3VsdCA9IHRva2VuSG9va3NbY2hdKHN0cmVhbSwgc3RhdGUpO1xuICAgICAgaWYgKHJlc3VsdCAhPT0gZmFsc2UpIHJldHVybiByZXN1bHQ7XG4gICAgfVxuICAgIGlmIChjaCA9PSBcIkBcIikge1xuICAgICAgc3RyZWFtLmVhdFdoaWxlKC9bXFx3XFxcXFxcLV0vKTtcbiAgICAgIHJldHVybiByZXQoXCJkZWZcIiwgc3RyZWFtLmN1cnJlbnQoKSk7XG4gICAgfSBlbHNlIGlmIChjaCA9PSBcIj1cIiB8fCAoY2ggPT0gXCJ+XCIgfHwgY2ggPT0gXCJ8XCIpICYmIHN0cmVhbS5lYXQoXCI9XCIpKSB7XG4gICAgICByZXR1cm4gcmV0KG51bGwsIFwiY29tcGFyZVwiKTtcbiAgICB9IGVsc2UgaWYgKGNoID09IFwiXFxcIlwiIHx8IGNoID09IFwiJ1wiKSB7XG4gICAgICBzdGF0ZS50b2tlbml6ZSA9IHRva2VuU3RyaW5nKGNoKTtcbiAgICAgIHJldHVybiBzdGF0ZS50b2tlbml6ZShzdHJlYW0sIHN0YXRlKTtcbiAgICB9IGVsc2UgaWYgKGNoID09IFwiI1wiKSB7XG4gICAgICBzdHJlYW0uZWF0V2hpbGUoL1tcXHdcXFxcXFwtXS8pO1xuICAgICAgcmV0dXJuIHJldChcImF0b21cIiwgXCJoYXNoXCIpO1xuICAgIH0gZWxzZSBpZiAoY2ggPT0gXCIhXCIpIHtcbiAgICAgIHN0cmVhbS5tYXRjaCgvXlxccypcXHcqLyk7XG4gICAgICByZXR1cm4gcmV0KFwia2V5d29yZFwiLCBcImltcG9ydGFudFwiKTtcbiAgICB9IGVsc2UgaWYgKC9cXGQvLnRlc3QoY2gpIHx8IGNoID09IFwiLlwiICYmIHN0cmVhbS5lYXQoL1xcZC8pKSB7XG4gICAgICBzdHJlYW0uZWF0V2hpbGUoL1tcXHcuJV0vKTtcbiAgICAgIHJldHVybiByZXQoXCJudW1iZXJcIiwgXCJ1bml0XCIpO1xuICAgIH0gZWxzZSBpZiAoY2ggPT09IFwiLVwiKSB7XG4gICAgICBpZiAoL1tcXGQuXS8udGVzdChzdHJlYW0ucGVlaygpKSkge1xuICAgICAgICBzdHJlYW0uZWF0V2hpbGUoL1tcXHcuJV0vKTtcbiAgICAgICAgcmV0dXJuIHJldChcIm51bWJlclwiLCBcInVuaXRcIik7XG4gICAgICB9IGVsc2UgaWYgKHN0cmVhbS5tYXRjaCgvXi1bXFx3XFxcXFxcLV0qLykpIHtcbiAgICAgICAgc3RyZWFtLmVhdFdoaWxlKC9bXFx3XFxcXFxcLV0vKTtcbiAgICAgICAgaWYgKHN0cmVhbS5tYXRjaCgvXlxccyo6LywgZmFsc2UpKVxuICAgICAgICAgIHJldHVybiByZXQoXCJ2YXJpYWJsZS0yXCIsIFwidmFyaWFibGUtZGVmaW5pdGlvblwiKTtcbiAgICAgICAgcmV0dXJuIHJldChcInZhcmlhYmxlLTJcIiwgXCJ2YXJpYWJsZVwiKTtcbiAgICAgIH0gZWxzZSBpZiAoc3RyZWFtLm1hdGNoKC9eXFx3Ky0vKSkge1xuICAgICAgICByZXR1cm4gcmV0KFwibWV0YVwiLCBcIm1ldGFcIik7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmICgvWywrPipcXC9dLy50ZXN0KGNoKSkge1xuICAgICAgcmV0dXJuIHJldChudWxsLCBcInNlbGVjdC1vcFwiKTtcbiAgICB9IGVsc2UgaWYgKGNoID09IFwiLlwiICYmIHN0cmVhbS5tYXRjaCgvXi0/W19hLXpdW19hLXowLTktXSovaSkpIHtcbiAgICAgIHJldHVybiByZXQoXCJxdWFsaWZpZXJcIiwgXCJxdWFsaWZpZXJcIik7XG4gICAgfSBlbHNlIGlmICgvWzo7e31cXFtcXF1cXChcXCldLy50ZXN0KGNoKSkge1xuICAgICAgcmV0dXJuIHJldChudWxsLCBjaCk7XG4gICAgfSBlbHNlIGlmIChzdHJlYW0ubWF0Y2goL1tcXHctLl0rKD89XFwoKS8pKSB7XG4gICAgICBpZiAoL14odXJsKC1wcmVmaXgpP3xkb21haW58cmVnZXhwKSQvLnRlc3Qoc3RyZWFtLmN1cnJlbnQoKS50b0xvd2VyQ2FzZSgpKSkge1xuICAgICAgICBzdGF0ZS50b2tlbml6ZSA9IHRva2VuUGFyZW50aGVzaXplZDtcbiAgICAgIH1cbiAgICAgIHJldHVybiByZXQoXCJ2YXJpYWJsZSBjYWxsZWVcIiwgXCJ2YXJpYWJsZVwiKTtcbiAgICB9IGVsc2UgaWYgKC9bXFx3XFxcXFxcLV0vLnRlc3QoY2gpKSB7XG4gICAgICBzdHJlYW0uZWF0V2hpbGUoL1tcXHdcXFxcXFwtXS8pO1xuICAgICAgcmV0dXJuIHJldChcInByb3BlcnR5XCIsIFwid29yZFwiKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHJldChudWxsLCBudWxsKTtcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiB0b2tlblN0cmluZyhxdW90ZSkge1xuICAgIHJldHVybiBmdW5jdGlvbihzdHJlYW0sIHN0YXRlKSB7XG4gICAgICB2YXIgZXNjYXBlZCA9IGZhbHNlLCBjaDtcbiAgICAgIHdoaWxlICgoY2ggPSBzdHJlYW0ubmV4dCgpKSAhPSBudWxsKSB7XG4gICAgICAgIGlmIChjaCA9PSBxdW90ZSAmJiAhZXNjYXBlZCkge1xuICAgICAgICAgIGlmIChxdW90ZSA9PSBcIilcIikgc3RyZWFtLmJhY2tVcCgxKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBlc2NhcGVkID0gIWVzY2FwZWQgJiYgY2ggPT0gXCJcXFxcXCI7XG4gICAgICB9XG4gICAgICBpZiAoY2ggPT0gcXVvdGUgfHwgIWVzY2FwZWQgJiYgcXVvdGUgIT0gXCIpXCIpIHN0YXRlLnRva2VuaXplID0gbnVsbDtcbiAgICAgIHJldHVybiByZXQoXCJzdHJpbmdcIiwgXCJzdHJpbmdcIik7XG4gICAgfTtcbiAgfVxuXG4gIGZ1bmN0aW9uIHRva2VuUGFyZW50aGVzaXplZChzdHJlYW0sIHN0YXRlKSB7XG4gICAgc3RyZWFtLm5leHQoKTsgLy8gTXVzdCBiZSAnKCdcbiAgICBpZiAoIXN0cmVhbS5tYXRjaCgvXFxzKltcXFwiXFwnKV0vLCBmYWxzZSkpXG4gICAgICBzdGF0ZS50b2tlbml6ZSA9IHRva2VuU3RyaW5nKFwiKVwiKTtcbiAgICBlbHNlXG4gICAgICBzdGF0ZS50b2tlbml6ZSA9IG51bGw7XG4gICAgcmV0dXJuIHJldChudWxsLCBcIihcIik7XG4gIH1cblxuICAvLyBDb250ZXh0IG1hbmFnZW1lbnRcblxuICBmdW5jdGlvbiBDb250ZXh0KHR5cGUsIGluZGVudCwgcHJldikge1xuICAgIHRoaXMudHlwZSA9IHR5cGU7XG4gICAgdGhpcy5pbmRlbnQgPSBpbmRlbnQ7XG4gICAgdGhpcy5wcmV2ID0gcHJldjtcbiAgfVxuXG4gIGZ1bmN0aW9uIHB1c2hDb250ZXh0KHN0YXRlLCBzdHJlYW0sIHR5cGUsIGluZGVudCkge1xuICAgIHN0YXRlLmNvbnRleHQgPSBuZXcgQ29udGV4dCh0eXBlLCBzdHJlYW0uaW5kZW50YXRpb24oKSArIChpbmRlbnQgPT09IGZhbHNlID8gMCA6IGluZGVudFVuaXQpLCBzdGF0ZS5jb250ZXh0KTtcbiAgICByZXR1cm4gdHlwZTtcbiAgfVxuXG4gIGZ1bmN0aW9uIHBvcENvbnRleHQoc3RhdGUpIHtcbiAgICBpZiAoc3RhdGUuY29udGV4dC5wcmV2KVxuICAgICAgc3RhdGUuY29udGV4dCA9IHN0YXRlLmNvbnRleHQucHJldjtcbiAgICByZXR1cm4gc3RhdGUuY29udGV4dC50eXBlO1xuICB9XG5cbiAgZnVuY3Rpb24gcGFzcyh0eXBlLCBzdHJlYW0sIHN0YXRlKSB7XG4gICAgcmV0dXJuIHN0YXRlc1tzdGF0ZS5jb250ZXh0LnR5cGVdKHR5cGUsIHN0cmVhbSwgc3RhdGUpO1xuICB9XG4gIGZ1bmN0aW9uIHBvcEFuZFBhc3ModHlwZSwgc3RyZWFtLCBzdGF0ZSwgbikge1xuICAgIGZvciAodmFyIGkgPSBuIHx8IDE7IGkgPiAwOyBpLS0pXG4gICAgICBzdGF0ZS5jb250ZXh0ID0gc3RhdGUuY29udGV4dC5wcmV2O1xuICAgIHJldHVybiBwYXNzKHR5cGUsIHN0cmVhbSwgc3RhdGUpO1xuICB9XG5cbiAgLy8gUGFyc2VyXG5cbiAgZnVuY3Rpb24gd29yZEFzVmFsdWUoc3RyZWFtKSB7XG4gICAgdmFyIHdvcmQgPSBzdHJlYW0uY3VycmVudCgpLnRvTG93ZXJDYXNlKCk7XG4gICAgaWYgKHZhbHVlS2V5d29yZHMuaGFzT3duUHJvcGVydHkod29yZCkpXG4gICAgICBvdmVycmlkZSA9IFwiYXRvbVwiO1xuICAgIGVsc2UgaWYgKGNvbG9yS2V5d29yZHMuaGFzT3duUHJvcGVydHkod29yZCkpXG4gICAgICBvdmVycmlkZSA9IFwia2V5d29yZFwiO1xuICAgIGVsc2VcbiAgICAgIG92ZXJyaWRlID0gXCJ2YXJpYWJsZVwiO1xuICB9XG5cbiAgdmFyIHN0YXRlcyA9IHt9O1xuXG4gIHN0YXRlcy50b3AgPSBmdW5jdGlvbih0eXBlLCBzdHJlYW0sIHN0YXRlKSB7XG4gICAgaWYgKHR5cGUgPT0gXCJ7XCIpIHtcbiAgICAgIHJldHVybiBwdXNoQ29udGV4dChzdGF0ZSwgc3RyZWFtLCBcImJsb2NrXCIpO1xuICAgIH0gZWxzZSBpZiAodHlwZSA9PSBcIn1cIiAmJiBzdGF0ZS5jb250ZXh0LnByZXYpIHtcbiAgICAgIHJldHVybiBwb3BDb250ZXh0KHN0YXRlKTtcbiAgICB9IGVsc2UgaWYgKHN1cHBvcnRzQXRDb21wb25lbnQgJiYgL0Bjb21wb25lbnQvaS50ZXN0KHR5cGUpKSB7XG4gICAgICByZXR1cm4gcHVzaENvbnRleHQoc3RhdGUsIHN0cmVhbSwgXCJhdENvbXBvbmVudEJsb2NrXCIpO1xuICAgIH0gZWxzZSBpZiAoL15AKC1tb3otKT9kb2N1bWVudCQvaS50ZXN0KHR5cGUpKSB7XG4gICAgICByZXR1cm4gcHVzaENvbnRleHQoc3RhdGUsIHN0cmVhbSwgXCJkb2N1bWVudFR5cGVzXCIpO1xuICAgIH0gZWxzZSBpZiAoL15AKG1lZGlhfHN1cHBvcnRzfCgtbW96LSk/ZG9jdW1lbnR8aW1wb3J0KSQvaS50ZXN0KHR5cGUpKSB7XG4gICAgICByZXR1cm4gcHVzaENvbnRleHQoc3RhdGUsIHN0cmVhbSwgXCJhdEJsb2NrXCIpO1xuICAgIH0gZWxzZSBpZiAoL15AKGZvbnQtZmFjZXxjb3VudGVyLXN0eWxlKS9pLnRlc3QodHlwZSkpIHtcbiAgICAgIHN0YXRlLnN0YXRlQXJnID0gdHlwZTtcbiAgICAgIHJldHVybiBcInJlc3RyaWN0ZWRfYXRCbG9ja19iZWZvcmVcIjtcbiAgICB9IGVsc2UgaWYgKC9eQCgtKG1venxtc3xvfHdlYmtpdCktKT9rZXlmcmFtZXMkL2kudGVzdCh0eXBlKSkge1xuICAgICAgcmV0dXJuIFwia2V5ZnJhbWVzXCI7XG4gICAgfSBlbHNlIGlmICh0eXBlICYmIHR5cGUuY2hhckF0KDApID09IFwiQFwiKSB7XG4gICAgICByZXR1cm4gcHVzaENvbnRleHQoc3RhdGUsIHN0cmVhbSwgXCJhdFwiKTtcbiAgICB9IGVsc2UgaWYgKHR5cGUgPT0gXCJoYXNoXCIpIHtcbiAgICAgIG92ZXJyaWRlID0gXCJidWlsdGluXCI7XG4gICAgfSBlbHNlIGlmICh0eXBlID09IFwid29yZFwiKSB7XG4gICAgICBvdmVycmlkZSA9IFwidGFnXCI7XG4gICAgfSBlbHNlIGlmICh0eXBlID09IFwidmFyaWFibGUtZGVmaW5pdGlvblwiKSB7XG4gICAgICByZXR1cm4gXCJtYXliZXByb3BcIjtcbiAgICB9IGVsc2UgaWYgKHR5cGUgPT0gXCJpbnRlcnBvbGF0aW9uXCIpIHtcbiAgICAgIHJldHVybiBwdXNoQ29udGV4dChzdGF0ZSwgc3RyZWFtLCBcImludGVycG9sYXRpb25cIik7XG4gICAgfSBlbHNlIGlmICh0eXBlID09IFwiOlwiKSB7XG4gICAgICByZXR1cm4gXCJwc2V1ZG9cIjtcbiAgICB9IGVsc2UgaWYgKGFsbG93TmVzdGVkICYmIHR5cGUgPT0gXCIoXCIpIHtcbiAgICAgIHJldHVybiBwdXNoQ29udGV4dChzdGF0ZSwgc3RyZWFtLCBcInBhcmVuc1wiKTtcbiAgICB9XG4gICAgcmV0dXJuIHN0YXRlLmNvbnRleHQudHlwZTtcbiAgfTtcblxuICBzdGF0ZXMuYmxvY2sgPSBmdW5jdGlvbih0eXBlLCBzdHJlYW0sIHN0YXRlKSB7XG4gICAgaWYgKHR5cGUgPT0gXCJ3b3JkXCIpIHtcbiAgICAgIHZhciB3b3JkID0gc3RyZWFtLmN1cnJlbnQoKS50b0xvd2VyQ2FzZSgpO1xuICAgICAgaWYgKHByb3BlcnR5S2V5d29yZHMuaGFzT3duUHJvcGVydHkod29yZCkpIHtcbiAgICAgICAgb3ZlcnJpZGUgPSBcInByb3BlcnR5XCI7XG4gICAgICAgIHJldHVybiBcIm1heWJlcHJvcFwiO1xuICAgICAgfSBlbHNlIGlmIChub25TdGFuZGFyZFByb3BlcnR5S2V5d29yZHMuaGFzT3duUHJvcGVydHkod29yZCkpIHtcbiAgICAgICAgb3ZlcnJpZGUgPSBcInN0cmluZy0yXCI7XG4gICAgICAgIHJldHVybiBcIm1heWJlcHJvcFwiO1xuICAgICAgfSBlbHNlIGlmIChhbGxvd05lc3RlZCkge1xuICAgICAgICBvdmVycmlkZSA9IHN0cmVhbS5tYXRjaCgvXlxccyo6KD86XFxzfCQpLywgZmFsc2UpID8gXCJwcm9wZXJ0eVwiIDogXCJ0YWdcIjtcbiAgICAgICAgcmV0dXJuIFwiYmxvY2tcIjtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG92ZXJyaWRlICs9IFwiIGVycm9yXCI7XG4gICAgICAgIHJldHVybiBcIm1heWJlcHJvcFwiO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAodHlwZSA9PSBcIm1ldGFcIikge1xuICAgICAgcmV0dXJuIFwiYmxvY2tcIjtcbiAgICB9IGVsc2UgaWYgKCFhbGxvd05lc3RlZCAmJiAodHlwZSA9PSBcImhhc2hcIiB8fCB0eXBlID09IFwicXVhbGlmaWVyXCIpKSB7XG4gICAgICBvdmVycmlkZSA9IFwiZXJyb3JcIjtcbiAgICAgIHJldHVybiBcImJsb2NrXCI7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBzdGF0ZXMudG9wKHR5cGUsIHN0cmVhbSwgc3RhdGUpO1xuICAgIH1cbiAgfTtcblxuICBzdGF0ZXMubWF5YmVwcm9wID0gZnVuY3Rpb24odHlwZSwgc3RyZWFtLCBzdGF0ZSkge1xuICAgIGlmICh0eXBlID09IFwiOlwiKSByZXR1cm4gcHVzaENvbnRleHQoc3RhdGUsIHN0cmVhbSwgXCJwcm9wXCIpO1xuICAgIHJldHVybiBwYXNzKHR5cGUsIHN0cmVhbSwgc3RhdGUpO1xuICB9O1xuXG4gIHN0YXRlcy5wcm9wID0gZnVuY3Rpb24odHlwZSwgc3RyZWFtLCBzdGF0ZSkge1xuICAgIGlmICh0eXBlID09IFwiO1wiKSByZXR1cm4gcG9wQ29udGV4dChzdGF0ZSk7XG4gICAgaWYgKHR5cGUgPT0gXCJ7XCIgJiYgYWxsb3dOZXN0ZWQpIHJldHVybiBwdXNoQ29udGV4dChzdGF0ZSwgc3RyZWFtLCBcInByb3BCbG9ja1wiKTtcbiAgICBpZiAodHlwZSA9PSBcIn1cIiB8fCB0eXBlID09IFwie1wiKSByZXR1cm4gcG9wQW5kUGFzcyh0eXBlLCBzdHJlYW0sIHN0YXRlKTtcbiAgICBpZiAodHlwZSA9PSBcIihcIikgcmV0dXJuIHB1c2hDb250ZXh0KHN0YXRlLCBzdHJlYW0sIFwicGFyZW5zXCIpO1xuXG4gICAgaWYgKHR5cGUgPT0gXCJoYXNoXCIgJiYgIS9eIyhbMC05YS1mQS1mXXszLDR9fFswLTlhLWZBLWZdezZ9fFswLTlhLWZBLWZdezh9KSQvLnRlc3Qoc3RyZWFtLmN1cnJlbnQoKSkpIHtcbiAgICAgIG92ZXJyaWRlICs9IFwiIGVycm9yXCI7XG4gICAgfSBlbHNlIGlmICh0eXBlID09IFwid29yZFwiKSB7XG4gICAgICB3b3JkQXNWYWx1ZShzdHJlYW0pO1xuICAgIH0gZWxzZSBpZiAodHlwZSA9PSBcImludGVycG9sYXRpb25cIikge1xuICAgICAgcmV0dXJuIHB1c2hDb250ZXh0KHN0YXRlLCBzdHJlYW0sIFwiaW50ZXJwb2xhdGlvblwiKTtcbiAgICB9XG4gICAgcmV0dXJuIFwicHJvcFwiO1xuICB9O1xuXG4gIHN0YXRlcy5wcm9wQmxvY2sgPSBmdW5jdGlvbih0eXBlLCBfc3RyZWFtLCBzdGF0ZSkge1xuICAgIGlmICh0eXBlID09IFwifVwiKSByZXR1cm4gcG9wQ29udGV4dChzdGF0ZSk7XG4gICAgaWYgKHR5cGUgPT0gXCJ3b3JkXCIpIHsgb3ZlcnJpZGUgPSBcInByb3BlcnR5XCI7IHJldHVybiBcIm1heWJlcHJvcFwiOyB9XG4gICAgcmV0dXJuIHN0YXRlLmNvbnRleHQudHlwZTtcbiAgfTtcblxuICBzdGF0ZXMucGFyZW5zID0gZnVuY3Rpb24odHlwZSwgc3RyZWFtLCBzdGF0ZSkge1xuICAgIGlmICh0eXBlID09IFwie1wiIHx8IHR5cGUgPT0gXCJ9XCIpIHJldHVybiBwb3BBbmRQYXNzKHR5cGUsIHN0cmVhbSwgc3RhdGUpO1xuICAgIGlmICh0eXBlID09IFwiKVwiKSByZXR1cm4gcG9wQ29udGV4dChzdGF0ZSk7XG4gICAgaWYgKHR5cGUgPT0gXCIoXCIpIHJldHVybiBwdXNoQ29udGV4dChzdGF0ZSwgc3RyZWFtLCBcInBhcmVuc1wiKTtcbiAgICBpZiAodHlwZSA9PSBcImludGVycG9sYXRpb25cIikgcmV0dXJuIHB1c2hDb250ZXh0KHN0YXRlLCBzdHJlYW0sIFwiaW50ZXJwb2xhdGlvblwiKTtcbiAgICBpZiAodHlwZSA9PSBcIndvcmRcIikgd29yZEFzVmFsdWUoc3RyZWFtKTtcbiAgICByZXR1cm4gXCJwYXJlbnNcIjtcbiAgfTtcblxuICBzdGF0ZXMucHNldWRvID0gZnVuY3Rpb24odHlwZSwgc3RyZWFtLCBzdGF0ZSkge1xuICAgIGlmICh0eXBlID09IFwibWV0YVwiKSByZXR1cm4gXCJwc2V1ZG9cIjtcblxuICAgIGlmICh0eXBlID09IFwid29yZFwiKSB7XG4gICAgICBvdmVycmlkZSA9IFwidmFyaWFibGUtM1wiO1xuICAgICAgcmV0dXJuIHN0YXRlLmNvbnRleHQudHlwZTtcbiAgICB9XG4gICAgcmV0dXJuIHBhc3ModHlwZSwgc3RyZWFtLCBzdGF0ZSk7XG4gIH07XG5cbiAgc3RhdGVzLmRvY3VtZW50VHlwZXMgPSBmdW5jdGlvbih0eXBlLCBzdHJlYW0sIHN0YXRlKSB7XG4gICAgaWYgKHR5cGUgPT0gXCJ3b3JkXCIgJiYgZG9jdW1lbnRUeXBlcy5oYXNPd25Qcm9wZXJ0eShzdHJlYW0uY3VycmVudCgpKSkge1xuICAgICAgb3ZlcnJpZGUgPSBcInRhZ1wiO1xuICAgICAgcmV0dXJuIHN0YXRlLmNvbnRleHQudHlwZTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHN0YXRlcy5hdEJsb2NrKHR5cGUsIHN0cmVhbSwgc3RhdGUpO1xuICAgIH1cbiAgfTtcblxuICBzdGF0ZXMuYXRCbG9jayA9IGZ1bmN0aW9uKHR5cGUsIHN0cmVhbSwgc3RhdGUpIHtcbiAgICBpZiAodHlwZSA9PSBcIihcIikgcmV0dXJuIHB1c2hDb250ZXh0KHN0YXRlLCBzdHJlYW0sIFwiYXRCbG9ja19wYXJlbnNcIik7XG4gICAgaWYgKHR5cGUgPT0gXCJ9XCIgfHwgdHlwZSA9PSBcIjtcIikgcmV0dXJuIHBvcEFuZFBhc3ModHlwZSwgc3RyZWFtLCBzdGF0ZSk7XG4gICAgaWYgKHR5cGUgPT0gXCJ7XCIpIHJldHVybiBwb3BDb250ZXh0KHN0YXRlKSAmJiBwdXNoQ29udGV4dChzdGF0ZSwgc3RyZWFtLCBhbGxvd05lc3RlZCA/IFwiYmxvY2tcIiA6IFwidG9wXCIpO1xuXG4gICAgaWYgKHR5cGUgPT0gXCJpbnRlcnBvbGF0aW9uXCIpIHJldHVybiBwdXNoQ29udGV4dChzdGF0ZSwgc3RyZWFtLCBcImludGVycG9sYXRpb25cIik7XG5cbiAgICBpZiAodHlwZSA9PSBcIndvcmRcIikge1xuICAgICAgdmFyIHdvcmQgPSBzdHJlYW0uY3VycmVudCgpLnRvTG93ZXJDYXNlKCk7XG4gICAgICBpZiAod29yZCA9PSBcIm9ubHlcIiB8fCB3b3JkID09IFwibm90XCIgfHwgd29yZCA9PSBcImFuZFwiIHx8IHdvcmQgPT0gXCJvclwiKVxuICAgICAgICBvdmVycmlkZSA9IFwia2V5d29yZFwiO1xuICAgICAgZWxzZSBpZiAobWVkaWFUeXBlcy5oYXNPd25Qcm9wZXJ0eSh3b3JkKSlcbiAgICAgICAgb3ZlcnJpZGUgPSBcImF0dHJpYnV0ZVwiO1xuICAgICAgZWxzZSBpZiAobWVkaWFGZWF0dXJlcy5oYXNPd25Qcm9wZXJ0eSh3b3JkKSlcbiAgICAgICAgb3ZlcnJpZGUgPSBcInByb3BlcnR5XCI7XG4gICAgICBlbHNlIGlmIChtZWRpYVZhbHVlS2V5d29yZHMuaGFzT3duUHJvcGVydHkod29yZCkpXG4gICAgICAgIG92ZXJyaWRlID0gXCJrZXl3b3JkXCI7XG4gICAgICBlbHNlIGlmIChwcm9wZXJ0eUtleXdvcmRzLmhhc093blByb3BlcnR5KHdvcmQpKVxuICAgICAgICBvdmVycmlkZSA9IFwicHJvcGVydHlcIjtcbiAgICAgIGVsc2UgaWYgKG5vblN0YW5kYXJkUHJvcGVydHlLZXl3b3Jkcy5oYXNPd25Qcm9wZXJ0eSh3b3JkKSlcbiAgICAgICAgb3ZlcnJpZGUgPSBcInN0cmluZy0yXCI7XG4gICAgICBlbHNlIGlmICh2YWx1ZUtleXdvcmRzLmhhc093blByb3BlcnR5KHdvcmQpKVxuICAgICAgICBvdmVycmlkZSA9IFwiYXRvbVwiO1xuICAgICAgZWxzZSBpZiAoY29sb3JLZXl3b3Jkcy5oYXNPd25Qcm9wZXJ0eSh3b3JkKSlcbiAgICAgICAgb3ZlcnJpZGUgPSBcImtleXdvcmRcIjtcbiAgICAgIGVsc2VcbiAgICAgICAgb3ZlcnJpZGUgPSBcImVycm9yXCI7XG4gICAgfVxuICAgIHJldHVybiBzdGF0ZS5jb250ZXh0LnR5cGU7XG4gIH07XG5cbiAgc3RhdGVzLmF0Q29tcG9uZW50QmxvY2sgPSBmdW5jdGlvbih0eXBlLCBzdHJlYW0sIHN0YXRlKSB7XG4gICAgaWYgKHR5cGUgPT0gXCJ9XCIpXG4gICAgICByZXR1cm4gcG9wQW5kUGFzcyh0eXBlLCBzdHJlYW0sIHN0YXRlKTtcbiAgICBpZiAodHlwZSA9PSBcIntcIilcbiAgICAgIHJldHVybiBwb3BDb250ZXh0KHN0YXRlKSAmJiBwdXNoQ29udGV4dChzdGF0ZSwgc3RyZWFtLCBhbGxvd05lc3RlZCA/IFwiYmxvY2tcIiA6IFwidG9wXCIsIGZhbHNlKTtcbiAgICBpZiAodHlwZSA9PSBcIndvcmRcIilcbiAgICAgIG92ZXJyaWRlID0gXCJlcnJvclwiO1xuICAgIHJldHVybiBzdGF0ZS5jb250ZXh0LnR5cGU7XG4gIH07XG5cbiAgc3RhdGVzLmF0QmxvY2tfcGFyZW5zID0gZnVuY3Rpb24odHlwZSwgc3RyZWFtLCBzdGF0ZSkge1xuICAgIGlmICh0eXBlID09IFwiKVwiKSByZXR1cm4gcG9wQ29udGV4dChzdGF0ZSk7XG4gICAgaWYgKHR5cGUgPT0gXCJ7XCIgfHwgdHlwZSA9PSBcIn1cIikgcmV0dXJuIHBvcEFuZFBhc3ModHlwZSwgc3RyZWFtLCBzdGF0ZSwgMik7XG4gICAgcmV0dXJuIHN0YXRlcy5hdEJsb2NrKHR5cGUsIHN0cmVhbSwgc3RhdGUpO1xuICB9O1xuXG4gIHN0YXRlcy5yZXN0cmljdGVkX2F0QmxvY2tfYmVmb3JlID0gZnVuY3Rpb24odHlwZSwgc3RyZWFtLCBzdGF0ZSkge1xuICAgIGlmICh0eXBlID09IFwie1wiKVxuICAgICAgcmV0dXJuIHB1c2hDb250ZXh0KHN0YXRlLCBzdHJlYW0sIFwicmVzdHJpY3RlZF9hdEJsb2NrXCIpO1xuICAgIGlmICh0eXBlID09IFwid29yZFwiICYmIHN0YXRlLnN0YXRlQXJnID09IFwiQGNvdW50ZXItc3R5bGVcIikge1xuICAgICAgb3ZlcnJpZGUgPSBcInZhcmlhYmxlXCI7XG4gICAgICByZXR1cm4gXCJyZXN0cmljdGVkX2F0QmxvY2tfYmVmb3JlXCI7XG4gICAgfVxuICAgIHJldHVybiBwYXNzKHR5cGUsIHN0cmVhbSwgc3RhdGUpO1xuICB9O1xuXG4gIHN0YXRlcy5yZXN0cmljdGVkX2F0QmxvY2sgPSBmdW5jdGlvbih0eXBlLCBzdHJlYW0sIHN0YXRlKSB7XG4gICAgaWYgKHR5cGUgPT0gXCJ9XCIpIHtcbiAgICAgIHN0YXRlLnN0YXRlQXJnID0gbnVsbDtcbiAgICAgIHJldHVybiBwb3BDb250ZXh0KHN0YXRlKTtcbiAgICB9XG4gICAgaWYgKHR5cGUgPT0gXCJ3b3JkXCIpIHtcbiAgICAgIGlmICgoc3RhdGUuc3RhdGVBcmcgPT0gXCJAZm9udC1mYWNlXCIgJiYgIWZvbnRQcm9wZXJ0aWVzLmhhc093blByb3BlcnR5KHN0cmVhbS5jdXJyZW50KCkudG9Mb3dlckNhc2UoKSkpIHx8XG4gICAgICAgICAgKHN0YXRlLnN0YXRlQXJnID09IFwiQGNvdW50ZXItc3R5bGVcIiAmJiAhY291bnRlckRlc2NyaXB0b3JzLmhhc093blByb3BlcnR5KHN0cmVhbS5jdXJyZW50KCkudG9Mb3dlckNhc2UoKSkpKVxuICAgICAgICBvdmVycmlkZSA9IFwiZXJyb3JcIjtcbiAgICAgIGVsc2VcbiAgICAgICAgb3ZlcnJpZGUgPSBcInByb3BlcnR5XCI7XG4gICAgICByZXR1cm4gXCJtYXliZXByb3BcIjtcbiAgICB9XG4gICAgcmV0dXJuIFwicmVzdHJpY3RlZF9hdEJsb2NrXCI7XG4gIH07XG5cbiAgc3RhdGVzLmtleWZyYW1lcyA9IGZ1bmN0aW9uKHR5cGUsIHN0cmVhbSwgc3RhdGUpIHtcbiAgICBpZiAodHlwZSA9PSBcIndvcmRcIikgeyBvdmVycmlkZSA9IFwidmFyaWFibGVcIjsgcmV0dXJuIFwia2V5ZnJhbWVzXCI7IH1cbiAgICBpZiAodHlwZSA9PSBcIntcIikgcmV0dXJuIHB1c2hDb250ZXh0KHN0YXRlLCBzdHJlYW0sIFwidG9wXCIpO1xuICAgIHJldHVybiBwYXNzKHR5cGUsIHN0cmVhbSwgc3RhdGUpO1xuICB9O1xuXG4gIHN0YXRlcy5hdCA9IGZ1bmN0aW9uKHR5cGUsIHN0cmVhbSwgc3RhdGUpIHtcbiAgICBpZiAodHlwZSA9PSBcIjtcIikgcmV0dXJuIHBvcENvbnRleHQoc3RhdGUpO1xuICAgIGlmICh0eXBlID09IFwie1wiIHx8IHR5cGUgPT0gXCJ9XCIpIHJldHVybiBwb3BBbmRQYXNzKHR5cGUsIHN0cmVhbSwgc3RhdGUpO1xuICAgIGlmICh0eXBlID09IFwid29yZFwiKSBvdmVycmlkZSA9IFwidGFnXCI7XG4gICAgZWxzZSBpZiAodHlwZSA9PSBcImhhc2hcIikgb3ZlcnJpZGUgPSBcImJ1aWx0aW5cIjtcbiAgICByZXR1cm4gXCJhdFwiO1xuICB9O1xuXG4gIHN0YXRlcy5pbnRlcnBvbGF0aW9uID0gZnVuY3Rpb24odHlwZSwgc3RyZWFtLCBzdGF0ZSkge1xuICAgIGlmICh0eXBlID09IFwifVwiKSByZXR1cm4gcG9wQ29udGV4dChzdGF0ZSk7XG4gICAgaWYgKHR5cGUgPT0gXCJ7XCIgfHwgdHlwZSA9PSBcIjtcIikgcmV0dXJuIHBvcEFuZFBhc3ModHlwZSwgc3RyZWFtLCBzdGF0ZSk7XG4gICAgaWYgKHR5cGUgPT0gXCJ3b3JkXCIpIG92ZXJyaWRlID0gXCJ2YXJpYWJsZVwiO1xuICAgIGVsc2UgaWYgKHR5cGUgIT0gXCJ2YXJpYWJsZVwiICYmIHR5cGUgIT0gXCIoXCIgJiYgdHlwZSAhPSBcIilcIikgb3ZlcnJpZGUgPSBcImVycm9yXCI7XG4gICAgcmV0dXJuIFwiaW50ZXJwb2xhdGlvblwiO1xuICB9O1xuXG4gIHJldHVybiB7XG4gICAgc3RhcnRTdGF0ZTogZnVuY3Rpb24oYmFzZSkge1xuICAgICAgcmV0dXJuIHt0b2tlbml6ZTogbnVsbCxcbiAgICAgICAgICAgICAgc3RhdGU6IGlubGluZSA/IFwiYmxvY2tcIiA6IFwidG9wXCIsXG4gICAgICAgICAgICAgIHN0YXRlQXJnOiBudWxsLFxuICAgICAgICAgICAgICBjb250ZXh0OiBuZXcgQ29udGV4dChpbmxpbmUgPyBcImJsb2NrXCIgOiBcInRvcFwiLCBiYXNlIHx8IDAsIG51bGwpfTtcbiAgICB9LFxuXG4gICAgdG9rZW46IGZ1bmN0aW9uKHN0cmVhbSwgc3RhdGUpIHtcbiAgICAgIGlmICghc3RhdGUudG9rZW5pemUgJiYgc3RyZWFtLmVhdFNwYWNlKCkpIHJldHVybiBudWxsO1xuICAgICAgdmFyIHN0eWxlID0gKHN0YXRlLnRva2VuaXplIHx8IHRva2VuQmFzZSkoc3RyZWFtLCBzdGF0ZSk7XG4gICAgICBpZiAoc3R5bGUgJiYgdHlwZW9mIHN0eWxlID09IFwib2JqZWN0XCIpIHtcbiAgICAgICAgdHlwZSA9IHN0eWxlWzFdO1xuICAgICAgICBzdHlsZSA9IHN0eWxlWzBdO1xuICAgICAgfVxuICAgICAgb3ZlcnJpZGUgPSBzdHlsZTtcbiAgICAgIGlmICh0eXBlICE9IFwiY29tbWVudFwiKVxuICAgICAgICBzdGF0ZS5zdGF0ZSA9IHN0YXRlc1tzdGF0ZS5zdGF0ZV0odHlwZSwgc3RyZWFtLCBzdGF0ZSk7XG4gICAgICByZXR1cm4gb3ZlcnJpZGU7XG4gICAgfSxcblxuICAgIGluZGVudDogZnVuY3Rpb24oc3RhdGUsIHRleHRBZnRlcikge1xuICAgICAgdmFyIGN4ID0gc3RhdGUuY29udGV4dCwgY2ggPSB0ZXh0QWZ0ZXIgJiYgdGV4dEFmdGVyLmNoYXJBdCgwKTtcbiAgICAgIHZhciBpbmRlbnQgPSBjeC5pbmRlbnQ7XG4gICAgICBpZiAoY3gudHlwZSA9PSBcInByb3BcIiAmJiAoY2ggPT0gXCJ9XCIgfHwgY2ggPT0gXCIpXCIpKSBjeCA9IGN4LnByZXY7XG4gICAgICBpZiAoY3gucHJldikge1xuICAgICAgICBpZiAoY2ggPT0gXCJ9XCIgJiYgKGN4LnR5cGUgPT0gXCJibG9ja1wiIHx8IGN4LnR5cGUgPT0gXCJ0b3BcIiB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICBjeC50eXBlID09IFwiaW50ZXJwb2xhdGlvblwiIHx8IGN4LnR5cGUgPT0gXCJyZXN0cmljdGVkX2F0QmxvY2tcIikpIHtcbiAgICAgICAgICAvLyBSZXN1bWUgaW5kZW50YXRpb24gZnJvbSBwYXJlbnQgY29udGV4dC5cbiAgICAgICAgICBjeCA9IGN4LnByZXY7XG4gICAgICAgICAgaW5kZW50ID0gY3guaW5kZW50O1xuICAgICAgICB9IGVsc2UgaWYgKGNoID09IFwiKVwiICYmIChjeC50eXBlID09IFwicGFyZW5zXCIgfHwgY3gudHlwZSA9PSBcImF0QmxvY2tfcGFyZW5zXCIpIHx8XG4gICAgICAgICAgICBjaCA9PSBcIntcIiAmJiAoY3gudHlwZSA9PSBcImF0XCIgfHwgY3gudHlwZSA9PSBcImF0QmxvY2tcIikpIHtcbiAgICAgICAgICAvLyBEZWRlbnQgcmVsYXRpdmUgdG8gY3VycmVudCBjb250ZXh0LlxuICAgICAgICAgIGluZGVudCA9IE1hdGgubWF4KDAsIGN4LmluZGVudCAtIGluZGVudFVuaXQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gaW5kZW50O1xuICAgIH0sXG5cbiAgICBlbGVjdHJpY0NoYXJzOiBcIn1cIixcbiAgICBibG9ja0NvbW1lbnRTdGFydDogXCIvKlwiLFxuICAgIGJsb2NrQ29tbWVudEVuZDogXCIqL1wiLFxuICAgIGJsb2NrQ29tbWVudENvbnRpbnVlOiBcIiAqIFwiLFxuICAgIGxpbmVDb21tZW50OiBsaW5lQ29tbWVudCxcbiAgICBmb2xkOiBcImJyYWNlXCJcbiAgfTtcbn0pO1xuXG4gIGZ1bmN0aW9uIGtleVNldChhcnJheSkge1xuICAgIHZhciBrZXlzID0ge307XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBhcnJheS5sZW5ndGg7ICsraSkge1xuICAgICAga2V5c1thcnJheVtpXS50b0xvd2VyQ2FzZSgpXSA9IHRydWU7XG4gICAgfVxuICAgIHJldHVybiBrZXlzO1xuICB9XG5cbiAgdmFyIGRvY3VtZW50VHlwZXNfID0gW1xuICAgIFwiZG9tYWluXCIsIFwicmVnZXhwXCIsIFwidXJsXCIsIFwidXJsLXByZWZpeFwiXG4gIF0sIGRvY3VtZW50VHlwZXMgPSBrZXlTZXQoZG9jdW1lbnRUeXBlc18pO1xuXG4gIHZhciBtZWRpYVR5cGVzXyA9IFtcbiAgICBcImFsbFwiLCBcImF1cmFsXCIsIFwiYnJhaWxsZVwiLCBcImhhbmRoZWxkXCIsIFwicHJpbnRcIiwgXCJwcm9qZWN0aW9uXCIsIFwic2NyZWVuXCIsXG4gICAgXCJ0dHlcIiwgXCJ0dlwiLCBcImVtYm9zc2VkXCJcbiAgXSwgbWVkaWFUeXBlcyA9IGtleVNldChtZWRpYVR5cGVzXyk7XG5cbiAgdmFyIG1lZGlhRmVhdHVyZXNfID0gW1xuICAgIFwid2lkdGhcIiwgXCJtaW4td2lkdGhcIiwgXCJtYXgtd2lkdGhcIiwgXCJoZWlnaHRcIiwgXCJtaW4taGVpZ2h0XCIsIFwibWF4LWhlaWdodFwiLFxuICAgIFwiZGV2aWNlLXdpZHRoXCIsIFwibWluLWRldmljZS13aWR0aFwiLCBcIm1heC1kZXZpY2Utd2lkdGhcIiwgXCJkZXZpY2UtaGVpZ2h0XCIsXG4gICAgXCJtaW4tZGV2aWNlLWhlaWdodFwiLCBcIm1heC1kZXZpY2UtaGVpZ2h0XCIsIFwiYXNwZWN0LXJhdGlvXCIsXG4gICAgXCJtaW4tYXNwZWN0LXJhdGlvXCIsIFwibWF4LWFzcGVjdC1yYXRpb1wiLCBcImRldmljZS1hc3BlY3QtcmF0aW9cIixcbiAgICBcIm1pbi1kZXZpY2UtYXNwZWN0LXJhdGlvXCIsIFwibWF4LWRldmljZS1hc3BlY3QtcmF0aW9cIiwgXCJjb2xvclwiLCBcIm1pbi1jb2xvclwiLFxuICAgIFwibWF4LWNvbG9yXCIsIFwiY29sb3ItaW5kZXhcIiwgXCJtaW4tY29sb3ItaW5kZXhcIiwgXCJtYXgtY29sb3ItaW5kZXhcIixcbiAgICBcIm1vbm9jaHJvbWVcIiwgXCJtaW4tbW9ub2Nocm9tZVwiLCBcIm1heC1tb25vY2hyb21lXCIsIFwicmVzb2x1dGlvblwiLFxuICAgIFwibWluLXJlc29sdXRpb25cIiwgXCJtYXgtcmVzb2x1dGlvblwiLCBcInNjYW5cIiwgXCJncmlkXCIsIFwib3JpZW50YXRpb25cIixcbiAgICBcImRldmljZS1waXhlbC1yYXRpb1wiLCBcIm1pbi1kZXZpY2UtcGl4ZWwtcmF0aW9cIiwgXCJtYXgtZGV2aWNlLXBpeGVsLXJhdGlvXCIsXG4gICAgXCJwb2ludGVyXCIsIFwiYW55LXBvaW50ZXJcIiwgXCJob3ZlclwiLCBcImFueS1ob3ZlclwiXG4gIF0sIG1lZGlhRmVhdHVyZXMgPSBrZXlTZXQobWVkaWFGZWF0dXJlc18pO1xuXG4gIHZhciBtZWRpYVZhbHVlS2V5d29yZHNfID0gW1xuICAgIFwibGFuZHNjYXBlXCIsIFwicG9ydHJhaXRcIiwgXCJub25lXCIsIFwiY29hcnNlXCIsIFwiZmluZVwiLCBcIm9uLWRlbWFuZFwiLCBcImhvdmVyXCIsXG4gICAgXCJpbnRlcmxhY2VcIiwgXCJwcm9ncmVzc2l2ZVwiXG4gIF0sIG1lZGlhVmFsdWVLZXl3b3JkcyA9IGtleVNldChtZWRpYVZhbHVlS2V5d29yZHNfKTtcblxuICB2YXIgcHJvcGVydHlLZXl3b3Jkc18gPSBbXG4gICAgXCJhbGlnbi1jb250ZW50XCIsIFwiYWxpZ24taXRlbXNcIiwgXCJhbGlnbi1zZWxmXCIsIFwiYWxpZ25tZW50LWFkanVzdFwiLFxuICAgIFwiYWxpZ25tZW50LWJhc2VsaW5lXCIsIFwiYW5jaG9yLXBvaW50XCIsIFwiYW5pbWF0aW9uXCIsIFwiYW5pbWF0aW9uLWRlbGF5XCIsXG4gICAgXCJhbmltYXRpb24tZGlyZWN0aW9uXCIsIFwiYW5pbWF0aW9uLWR1cmF0aW9uXCIsIFwiYW5pbWF0aW9uLWZpbGwtbW9kZVwiLFxuICAgIFwiYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudFwiLCBcImFuaW1hdGlvbi1uYW1lXCIsIFwiYW5pbWF0aW9uLXBsYXktc3RhdGVcIixcbiAgICBcImFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb25cIiwgXCJhcHBlYXJhbmNlXCIsIFwiYXppbXV0aFwiLCBcImJhY2tmYWNlLXZpc2liaWxpdHlcIixcbiAgICBcImJhY2tncm91bmRcIiwgXCJiYWNrZ3JvdW5kLWF0dGFjaG1lbnRcIiwgXCJiYWNrZ3JvdW5kLWJsZW5kLW1vZGVcIiwgXCJiYWNrZ3JvdW5kLWNsaXBcIixcbiAgICBcImJhY2tncm91bmQtY29sb3JcIiwgXCJiYWNrZ3JvdW5kLWltYWdlXCIsIFwiYmFja2dyb3VuZC1vcmlnaW5cIiwgXCJiYWNrZ3JvdW5kLXBvc2l0aW9uXCIsXG4gICAgXCJiYWNrZ3JvdW5kLXJlcGVhdFwiLCBcImJhY2tncm91bmQtc2l6ZVwiLCBcImJhc2VsaW5lLXNoaWZ0XCIsIFwiYmluZGluZ1wiLFxuICAgIFwiYmxlZWRcIiwgXCJib29rbWFyay1sYWJlbFwiLCBcImJvb2ttYXJrLWxldmVsXCIsIFwiYm9va21hcmstc3RhdGVcIixcbiAgICBcImJvb2ttYXJrLXRhcmdldFwiLCBcImJvcmRlclwiLCBcImJvcmRlci1ib3R0b21cIiwgXCJib3JkZXItYm90dG9tLWNvbG9yXCIsXG4gICAgXCJib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzXCIsIFwiYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXNcIixcbiAgICBcImJvcmRlci1ib3R0b20tc3R5bGVcIiwgXCJib3JkZXItYm90dG9tLXdpZHRoXCIsIFwiYm9yZGVyLWNvbGxhcHNlXCIsXG4gICAgXCJib3JkZXItY29sb3JcIiwgXCJib3JkZXItaW1hZ2VcIiwgXCJib3JkZXItaW1hZ2Utb3V0c2V0XCIsXG4gICAgXCJib3JkZXItaW1hZ2UtcmVwZWF0XCIsIFwiYm9yZGVyLWltYWdlLXNsaWNlXCIsIFwiYm9yZGVyLWltYWdlLXNvdXJjZVwiLFxuICAgIFwiYm9yZGVyLWltYWdlLXdpZHRoXCIsIFwiYm9yZGVyLWxlZnRcIiwgXCJib3JkZXItbGVmdC1jb2xvclwiLFxuICAgIFwiYm9yZGVyLWxlZnQtc3R5bGVcIiwgXCJib3JkZXItbGVmdC13aWR0aFwiLCBcImJvcmRlci1yYWRpdXNcIiwgXCJib3JkZXItcmlnaHRcIixcbiAgICBcImJvcmRlci1yaWdodC1jb2xvclwiLCBcImJvcmRlci1yaWdodC1zdHlsZVwiLCBcImJvcmRlci1yaWdodC13aWR0aFwiLFxuICAgIFwiYm9yZGVyLXNwYWNpbmdcIiwgXCJib3JkZXItc3R5bGVcIiwgXCJib3JkZXItdG9wXCIsIFwiYm9yZGVyLXRvcC1jb2xvclwiLFxuICAgIFwiYm9yZGVyLXRvcC1sZWZ0LXJhZGl1c1wiLCBcImJvcmRlci10b3AtcmlnaHQtcmFkaXVzXCIsIFwiYm9yZGVyLXRvcC1zdHlsZVwiLFxuICAgIFwiYm9yZGVyLXRvcC13aWR0aFwiLCBcImJvcmRlci13aWR0aFwiLCBcImJvdHRvbVwiLCBcImJveC1kZWNvcmF0aW9uLWJyZWFrXCIsXG4gICAgXCJib3gtc2hhZG93XCIsIFwiYm94LXNpemluZ1wiLCBcImJyZWFrLWFmdGVyXCIsIFwiYnJlYWstYmVmb3JlXCIsIFwiYnJlYWstaW5zaWRlXCIsXG4gICAgXCJjYXB0aW9uLXNpZGVcIiwgXCJjYXJldC1jb2xvclwiLCBcImNsZWFyXCIsIFwiY2xpcFwiLCBcImNvbG9yXCIsIFwiY29sb3ItcHJvZmlsZVwiLCBcImNvbHVtbi1jb3VudFwiLFxuICAgIFwiY29sdW1uLWZpbGxcIiwgXCJjb2x1bW4tZ2FwXCIsIFwiY29sdW1uLXJ1bGVcIiwgXCJjb2x1bW4tcnVsZS1jb2xvclwiLFxuICAgIFwiY29sdW1uLXJ1bGUtc3R5bGVcIiwgXCJjb2x1bW4tcnVsZS13aWR0aFwiLCBcImNvbHVtbi1zcGFuXCIsIFwiY29sdW1uLXdpZHRoXCIsXG4gICAgXCJjb2x1bW5zXCIsIFwiY29udGVudFwiLCBcImNvdW50ZXItaW5jcmVtZW50XCIsIFwiY291bnRlci1yZXNldFwiLCBcImNyb3BcIiwgXCJjdWVcIixcbiAgICBcImN1ZS1hZnRlclwiLCBcImN1ZS1iZWZvcmVcIiwgXCJjdXJzb3JcIiwgXCJkaXJlY3Rpb25cIiwgXCJkaXNwbGF5XCIsXG4gICAgXCJkb21pbmFudC1iYXNlbGluZVwiLCBcImRyb3AtaW5pdGlhbC1hZnRlci1hZGp1c3RcIixcbiAgICBcImRyb3AtaW5pdGlhbC1hZnRlci1hbGlnblwiLCBcImRyb3AtaW5pdGlhbC1iZWZvcmUtYWRqdXN0XCIsXG4gICAgXCJkcm9wLWluaXRpYWwtYmVmb3JlLWFsaWduXCIsIFwiZHJvcC1pbml0aWFsLXNpemVcIiwgXCJkcm9wLWluaXRpYWwtdmFsdWVcIixcbiAgICBcImVsZXZhdGlvblwiLCBcImVtcHR5LWNlbGxzXCIsIFwiZml0XCIsIFwiZml0LXBvc2l0aW9uXCIsIFwiZmxleFwiLCBcImZsZXgtYmFzaXNcIixcbiAgICBcImZsZXgtZGlyZWN0aW9uXCIsIFwiZmxleC1mbG93XCIsIFwiZmxleC1ncm93XCIsIFwiZmxleC1zaHJpbmtcIiwgXCJmbGV4LXdyYXBcIixcbiAgICBcImZsb2F0XCIsIFwiZmxvYXQtb2Zmc2V0XCIsIFwiZmxvdy1mcm9tXCIsIFwiZmxvdy1pbnRvXCIsIFwiZm9udFwiLCBcImZvbnQtZmVhdHVyZS1zZXR0aW5nc1wiLFxuICAgIFwiZm9udC1mYW1pbHlcIiwgXCJmb250LWtlcm5pbmdcIiwgXCJmb250LWxhbmd1YWdlLW92ZXJyaWRlXCIsIFwiZm9udC1zaXplXCIsIFwiZm9udC1zaXplLWFkanVzdFwiLFxuICAgIFwiZm9udC1zdHJldGNoXCIsIFwiZm9udC1zdHlsZVwiLCBcImZvbnQtc3ludGhlc2lzXCIsIFwiZm9udC12YXJpYW50XCIsXG4gICAgXCJmb250LXZhcmlhbnQtYWx0ZXJuYXRlc1wiLCBcImZvbnQtdmFyaWFudC1jYXBzXCIsIFwiZm9udC12YXJpYW50LWVhc3QtYXNpYW5cIixcbiAgICBcImZvbnQtdmFyaWFudC1saWdhdHVyZXNcIiwgXCJmb250LXZhcmlhbnQtbnVtZXJpY1wiLCBcImZvbnQtdmFyaWFudC1wb3NpdGlvblwiLFxuICAgIFwiZm9udC13ZWlnaHRcIiwgXCJncmlkXCIsIFwiZ3JpZC1hcmVhXCIsIFwiZ3JpZC1hdXRvLWNvbHVtbnNcIiwgXCJncmlkLWF1dG8tZmxvd1wiLFxuICAgIFwiZ3JpZC1hdXRvLXJvd3NcIiwgXCJncmlkLWNvbHVtblwiLCBcImdyaWQtY29sdW1uLWVuZFwiLCBcImdyaWQtY29sdW1uLWdhcFwiLFxuICAgIFwiZ3JpZC1jb2x1bW4tc3RhcnRcIiwgXCJncmlkLWdhcFwiLCBcImdyaWQtcm93XCIsIFwiZ3JpZC1yb3ctZW5kXCIsIFwiZ3JpZC1yb3ctZ2FwXCIsXG4gICAgXCJncmlkLXJvdy1zdGFydFwiLCBcImdyaWQtdGVtcGxhdGVcIiwgXCJncmlkLXRlbXBsYXRlLWFyZWFzXCIsIFwiZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zXCIsXG4gICAgXCJncmlkLXRlbXBsYXRlLXJvd3NcIiwgXCJoYW5naW5nLXB1bmN0dWF0aW9uXCIsIFwiaGVpZ2h0XCIsIFwiaHlwaGVuc1wiLFxuICAgIFwiaWNvblwiLCBcImltYWdlLW9yaWVudGF0aW9uXCIsIFwiaW1hZ2UtcmVuZGVyaW5nXCIsIFwiaW1hZ2UtcmVzb2x1dGlvblwiLFxuICAgIFwiaW5saW5lLWJveC1hbGlnblwiLCBcImp1c3RpZnktY29udGVudFwiLCBcImp1c3RpZnktaXRlbXNcIiwgXCJqdXN0aWZ5LXNlbGZcIiwgXCJsZWZ0XCIsIFwibGV0dGVyLXNwYWNpbmdcIixcbiAgICBcImxpbmUtYnJlYWtcIiwgXCJsaW5lLWhlaWdodFwiLCBcImxpbmUtc3RhY2tpbmdcIiwgXCJsaW5lLXN0YWNraW5nLXJ1YnlcIixcbiAgICBcImxpbmUtc3RhY2tpbmctc2hpZnRcIiwgXCJsaW5lLXN0YWNraW5nLXN0cmF0ZWd5XCIsIFwibGlzdC1zdHlsZVwiLFxuICAgIFwibGlzdC1zdHlsZS1pbWFnZVwiLCBcImxpc3Qtc3R5bGUtcG9zaXRpb25cIiwgXCJsaXN0LXN0eWxlLXR5cGVcIiwgXCJtYXJnaW5cIixcbiAgICBcIm1hcmdpbi1ib3R0b21cIiwgXCJtYXJnaW4tbGVmdFwiLCBcIm1hcmdpbi1yaWdodFwiLCBcIm1hcmdpbi10b3BcIixcbiAgICBcIm1hcmtzXCIsIFwibWFycXVlZS1kaXJlY3Rpb25cIiwgXCJtYXJxdWVlLWxvb3BcIixcbiAgICBcIm1hcnF1ZWUtcGxheS1jb3VudFwiLCBcIm1hcnF1ZWUtc3BlZWRcIiwgXCJtYXJxdWVlLXN0eWxlXCIsIFwibWF4LWhlaWdodFwiLFxuICAgIFwibWF4LXdpZHRoXCIsIFwibWluLWhlaWdodFwiLCBcIm1pbi13aWR0aFwiLCBcIm1peC1ibGVuZC1tb2RlXCIsIFwibW92ZS10b1wiLCBcIm5hdi1kb3duXCIsIFwibmF2LWluZGV4XCIsXG4gICAgXCJuYXYtbGVmdFwiLCBcIm5hdi1yaWdodFwiLCBcIm5hdi11cFwiLCBcIm9iamVjdC1maXRcIiwgXCJvYmplY3QtcG9zaXRpb25cIixcbiAgICBcIm9wYWNpdHlcIiwgXCJvcmRlclwiLCBcIm9ycGhhbnNcIiwgXCJvdXRsaW5lXCIsXG4gICAgXCJvdXRsaW5lLWNvbG9yXCIsIFwib3V0bGluZS1vZmZzZXRcIiwgXCJvdXRsaW5lLXN0eWxlXCIsIFwib3V0bGluZS13aWR0aFwiLFxuICAgIFwib3ZlcmZsb3dcIiwgXCJvdmVyZmxvdy1zdHlsZVwiLCBcIm92ZXJmbG93LXdyYXBcIiwgXCJvdmVyZmxvdy14XCIsIFwib3ZlcmZsb3cteVwiLFxuICAgIFwicGFkZGluZ1wiLCBcInBhZGRpbmctYm90dG9tXCIsIFwicGFkZGluZy1sZWZ0XCIsIFwicGFkZGluZy1yaWdodFwiLCBcInBhZGRpbmctdG9wXCIsXG4gICAgXCJwYWdlXCIsIFwicGFnZS1icmVhay1hZnRlclwiLCBcInBhZ2UtYnJlYWstYmVmb3JlXCIsIFwicGFnZS1icmVhay1pbnNpZGVcIixcbiAgICBcInBhZ2UtcG9saWN5XCIsIFwicGF1c2VcIiwgXCJwYXVzZS1hZnRlclwiLCBcInBhdXNlLWJlZm9yZVwiLCBcInBlcnNwZWN0aXZlXCIsXG4gICAgXCJwZXJzcGVjdGl2ZS1vcmlnaW5cIiwgXCJwaXRjaFwiLCBcInBpdGNoLXJhbmdlXCIsIFwicGxhY2UtY29udGVudFwiLCBcInBsYWNlLWl0ZW1zXCIsIFwicGxhY2Utc2VsZlwiLCBcInBsYXktZHVyaW5nXCIsIFwicG9zaXRpb25cIixcbiAgICBcInByZXNlbnRhdGlvbi1sZXZlbFwiLCBcInB1bmN0dWF0aW9uLXRyaW1cIiwgXCJxdW90ZXNcIiwgXCJyZWdpb24tYnJlYWstYWZ0ZXJcIixcbiAgICBcInJlZ2lvbi1icmVhay1iZWZvcmVcIiwgXCJyZWdpb24tYnJlYWstaW5zaWRlXCIsIFwicmVnaW9uLWZyYWdtZW50XCIsXG4gICAgXCJyZW5kZXJpbmctaW50ZW50XCIsIFwicmVzaXplXCIsIFwicmVzdFwiLCBcInJlc3QtYWZ0ZXJcIiwgXCJyZXN0LWJlZm9yZVwiLCBcInJpY2huZXNzXCIsXG4gICAgXCJyaWdodFwiLCBcInJvdGF0aW9uXCIsIFwicm90YXRpb24tcG9pbnRcIiwgXCJydWJ5LWFsaWduXCIsIFwicnVieS1vdmVyaGFuZ1wiLFxuICAgIFwicnVieS1wb3NpdGlvblwiLCBcInJ1Ynktc3BhblwiLCBcInNoYXBlLWltYWdlLXRocmVzaG9sZFwiLCBcInNoYXBlLWluc2lkZVwiLCBcInNoYXBlLW1hcmdpblwiLFxuICAgIFwic2hhcGUtb3V0c2lkZVwiLCBcInNpemVcIiwgXCJzcGVha1wiLCBcInNwZWFrLWFzXCIsIFwic3BlYWstaGVhZGVyXCIsXG4gICAgXCJzcGVhay1udW1lcmFsXCIsIFwic3BlYWstcHVuY3R1YXRpb25cIiwgXCJzcGVlY2gtcmF0ZVwiLCBcInN0cmVzc1wiLCBcInN0cmluZy1zZXRcIixcbiAgICBcInRhYi1zaXplXCIsIFwidGFibGUtbGF5b3V0XCIsIFwidGFyZ2V0XCIsIFwidGFyZ2V0LW5hbWVcIiwgXCJ0YXJnZXQtbmV3XCIsXG4gICAgXCJ0YXJnZXQtcG9zaXRpb25cIiwgXCJ0ZXh0LWFsaWduXCIsIFwidGV4dC1hbGlnbi1sYXN0XCIsIFwidGV4dC1kZWNvcmF0aW9uXCIsXG4gICAgXCJ0ZXh0LWRlY29yYXRpb24tY29sb3JcIiwgXCJ0ZXh0LWRlY29yYXRpb24tbGluZVwiLCBcInRleHQtZGVjb3JhdGlvbi1za2lwXCIsXG4gICAgXCJ0ZXh0LWRlY29yYXRpb24tc3R5bGVcIiwgXCJ0ZXh0LWVtcGhhc2lzXCIsIFwidGV4dC1lbXBoYXNpcy1jb2xvclwiLFxuICAgIFwidGV4dC1lbXBoYXNpcy1wb3NpdGlvblwiLCBcInRleHQtZW1waGFzaXMtc3R5bGVcIiwgXCJ0ZXh0LWhlaWdodFwiLFxuICAgIFwidGV4dC1pbmRlbnRcIiwgXCJ0ZXh0LWp1c3RpZnlcIiwgXCJ0ZXh0LW91dGxpbmVcIiwgXCJ0ZXh0LW92ZXJmbG93XCIsIFwidGV4dC1zaGFkb3dcIixcbiAgICBcInRleHQtc2l6ZS1hZGp1c3RcIiwgXCJ0ZXh0LXNwYWNlLWNvbGxhcHNlXCIsIFwidGV4dC10cmFuc2Zvcm1cIiwgXCJ0ZXh0LXVuZGVybGluZS1wb3NpdGlvblwiLFxuICAgIFwidGV4dC13cmFwXCIsIFwidG9wXCIsIFwidHJhbnNmb3JtXCIsIFwidHJhbnNmb3JtLW9yaWdpblwiLCBcInRyYW5zZm9ybS1zdHlsZVwiLFxuICAgIFwidHJhbnNpdGlvblwiLCBcInRyYW5zaXRpb24tZGVsYXlcIiwgXCJ0cmFuc2l0aW9uLWR1cmF0aW9uXCIsXG4gICAgXCJ0cmFuc2l0aW9uLXByb3BlcnR5XCIsIFwidHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb25cIiwgXCJ1bmljb2RlLWJpZGlcIixcbiAgICBcInVzZXItc2VsZWN0XCIsIFwidmVydGljYWwtYWxpZ25cIiwgXCJ2aXNpYmlsaXR5XCIsIFwidm9pY2UtYmFsYW5jZVwiLCBcInZvaWNlLWR1cmF0aW9uXCIsXG4gICAgXCJ2b2ljZS1mYW1pbHlcIiwgXCJ2b2ljZS1waXRjaFwiLCBcInZvaWNlLXJhbmdlXCIsIFwidm9pY2UtcmF0ZVwiLCBcInZvaWNlLXN0cmVzc1wiLFxuICAgIFwidm9pY2Utdm9sdW1lXCIsIFwidm9sdW1lXCIsIFwid2hpdGUtc3BhY2VcIiwgXCJ3aWRvd3NcIiwgXCJ3aWR0aFwiLCBcIndpbGwtY2hhbmdlXCIsIFwid29yZC1icmVha1wiLFxuICAgIFwid29yZC1zcGFjaW5nXCIsIFwid29yZC13cmFwXCIsIFwiei1pbmRleFwiLFxuICAgIC8vIFNWRy1zcGVjaWZpY1xuICAgIFwiY2xpcC1wYXRoXCIsIFwiY2xpcC1ydWxlXCIsIFwibWFza1wiLCBcImVuYWJsZS1iYWNrZ3JvdW5kXCIsIFwiZmlsdGVyXCIsIFwiZmxvb2QtY29sb3JcIixcbiAgICBcImZsb29kLW9wYWNpdHlcIiwgXCJsaWdodGluZy1jb2xvclwiLCBcInN0b3AtY29sb3JcIiwgXCJzdG9wLW9wYWNpdHlcIiwgXCJwb2ludGVyLWV2ZW50c1wiLFxuICAgIFwiY29sb3ItaW50ZXJwb2xhdGlvblwiLCBcImNvbG9yLWludGVycG9sYXRpb24tZmlsdGVyc1wiLFxuICAgIFwiY29sb3ItcmVuZGVyaW5nXCIsIFwiZmlsbFwiLCBcImZpbGwtb3BhY2l0eVwiLCBcImZpbGwtcnVsZVwiLCBcImltYWdlLXJlbmRlcmluZ1wiLFxuICAgIFwibWFya2VyXCIsIFwibWFya2VyLWVuZFwiLCBcIm1hcmtlci1taWRcIiwgXCJtYXJrZXItc3RhcnRcIiwgXCJzaGFwZS1yZW5kZXJpbmdcIiwgXCJzdHJva2VcIixcbiAgICBcInN0cm9rZS1kYXNoYXJyYXlcIiwgXCJzdHJva2UtZGFzaG9mZnNldFwiLCBcInN0cm9rZS1saW5lY2FwXCIsIFwic3Ryb2tlLWxpbmVqb2luXCIsXG4gICAgXCJzdHJva2UtbWl0ZXJsaW1pdFwiLCBcInN0cm9rZS1vcGFjaXR5XCIsIFwic3Ryb2tlLXdpZHRoXCIsIFwidGV4dC1yZW5kZXJpbmdcIixcbiAgICBcImJhc2VsaW5lLXNoaWZ0XCIsIFwiZG9taW5hbnQtYmFzZWxpbmVcIiwgXCJnbHlwaC1vcmllbnRhdGlvbi1ob3Jpem9udGFsXCIsXG4gICAgXCJnbHlwaC1vcmllbnRhdGlvbi12ZXJ0aWNhbFwiLCBcInRleHQtYW5jaG9yXCIsIFwid3JpdGluZy1tb2RlXCJcbiAgXSwgcHJvcGVydHlLZXl3b3JkcyA9IGtleVNldChwcm9wZXJ0eUtleXdvcmRzXyk7XG5cbiAgdmFyIG5vblN0YW5kYXJkUHJvcGVydHlLZXl3b3Jkc18gPSBbXG4gICAgXCJzY3JvbGxiYXItYXJyb3ctY29sb3JcIiwgXCJzY3JvbGxiYXItYmFzZS1jb2xvclwiLCBcInNjcm9sbGJhci1kYXJrLXNoYWRvdy1jb2xvclwiLFxuICAgIFwic2Nyb2xsYmFyLWZhY2UtY29sb3JcIiwgXCJzY3JvbGxiYXItaGlnaGxpZ2h0LWNvbG9yXCIsIFwic2Nyb2xsYmFyLXNoYWRvdy1jb2xvclwiLFxuICAgIFwic2Nyb2xsYmFyLTNkLWxpZ2h0LWNvbG9yXCIsIFwic2Nyb2xsYmFyLXRyYWNrLWNvbG9yXCIsIFwic2hhcGUtaW5zaWRlXCIsXG4gICAgXCJzZWFyY2hmaWVsZC1jYW5jZWwtYnV0dG9uXCIsIFwic2VhcmNoZmllbGQtZGVjb3JhdGlvblwiLCBcInNlYXJjaGZpZWxkLXJlc3VsdHMtYnV0dG9uXCIsXG4gICAgXCJzZWFyY2hmaWVsZC1yZXN1bHRzLWRlY29yYXRpb25cIiwgXCJ6b29tXCJcbiAgXSwgbm9uU3RhbmRhcmRQcm9wZXJ0eUtleXdvcmRzID0ga2V5U2V0KG5vblN0YW5kYXJkUHJvcGVydHlLZXl3b3Jkc18pO1xuXG4gIHZhciBmb250UHJvcGVydGllc18gPSBbXG4gICAgXCJmb250LWZhbWlseVwiLCBcInNyY1wiLCBcInVuaWNvZGUtcmFuZ2VcIiwgXCJmb250LXZhcmlhbnRcIiwgXCJmb250LWZlYXR1cmUtc2V0dGluZ3NcIixcbiAgICBcImZvbnQtc3RyZXRjaFwiLCBcImZvbnQtd2VpZ2h0XCIsIFwiZm9udC1zdHlsZVwiXG4gIF0sIGZvbnRQcm9wZXJ0aWVzID0ga2V5U2V0KGZvbnRQcm9wZXJ0aWVzXyk7XG5cbiAgdmFyIGNvdW50ZXJEZXNjcmlwdG9yc18gPSBbXG4gICAgXCJhZGRpdGl2ZS1zeW1ib2xzXCIsIFwiZmFsbGJhY2tcIiwgXCJuZWdhdGl2ZVwiLCBcInBhZFwiLCBcInByZWZpeFwiLCBcInJhbmdlXCIsXG4gICAgXCJzcGVhay1hc1wiLCBcInN1ZmZpeFwiLCBcInN5bWJvbHNcIiwgXCJzeXN0ZW1cIlxuICBdLCBjb3VudGVyRGVzY3JpcHRvcnMgPSBrZXlTZXQoY291bnRlckRlc2NyaXB0b3JzXyk7XG5cbiAgdmFyIGNvbG9yS2V5d29yZHNfID0gW1xuICAgIFwiYWxpY2VibHVlXCIsIFwiYW50aXF1ZXdoaXRlXCIsIFwiYXF1YVwiLCBcImFxdWFtYXJpbmVcIiwgXCJhenVyZVwiLCBcImJlaWdlXCIsXG4gICAgXCJiaXNxdWVcIiwgXCJibGFja1wiLCBcImJsYW5jaGVkYWxtb25kXCIsIFwiYmx1ZVwiLCBcImJsdWV2aW9sZXRcIiwgXCJicm93blwiLFxuICAgIFwiYnVybHl3b29kXCIsIFwiY2FkZXRibHVlXCIsIFwiY2hhcnRyZXVzZVwiLCBcImNob2NvbGF0ZVwiLCBcImNvcmFsXCIsIFwiY29ybmZsb3dlcmJsdWVcIixcbiAgICBcImNvcm5zaWxrXCIsIFwiY3JpbXNvblwiLCBcImN5YW5cIiwgXCJkYXJrYmx1ZVwiLCBcImRhcmtjeWFuXCIsIFwiZGFya2dvbGRlbnJvZFwiLFxuICAgIFwiZGFya2dyYXlcIiwgXCJkYXJrZ3JlZW5cIiwgXCJkYXJra2hha2lcIiwgXCJkYXJrbWFnZW50YVwiLCBcImRhcmtvbGl2ZWdyZWVuXCIsXG4gICAgXCJkYXJrb3JhbmdlXCIsIFwiZGFya29yY2hpZFwiLCBcImRhcmtyZWRcIiwgXCJkYXJrc2FsbW9uXCIsIFwiZGFya3NlYWdyZWVuXCIsXG4gICAgXCJkYXJrc2xhdGVibHVlXCIsIFwiZGFya3NsYXRlZ3JheVwiLCBcImRhcmt0dXJxdW9pc2VcIiwgXCJkYXJrdmlvbGV0XCIsXG4gICAgXCJkZWVwcGlua1wiLCBcImRlZXBza3libHVlXCIsIFwiZGltZ3JheVwiLCBcImRvZGdlcmJsdWVcIiwgXCJmaXJlYnJpY2tcIixcbiAgICBcImZsb3JhbHdoaXRlXCIsIFwiZm9yZXN0Z3JlZW5cIiwgXCJmdWNoc2lhXCIsIFwiZ2FpbnNib3JvXCIsIFwiZ2hvc3R3aGl0ZVwiLFxuICAgIFwiZ29sZFwiLCBcImdvbGRlbnJvZFwiLCBcImdyYXlcIiwgXCJncmV5XCIsIFwiZ3JlZW5cIiwgXCJncmVlbnllbGxvd1wiLCBcImhvbmV5ZGV3XCIsXG4gICAgXCJob3RwaW5rXCIsIFwiaW5kaWFucmVkXCIsIFwiaW5kaWdvXCIsIFwiaXZvcnlcIiwgXCJraGFraVwiLCBcImxhdmVuZGVyXCIsXG4gICAgXCJsYXZlbmRlcmJsdXNoXCIsIFwibGF3bmdyZWVuXCIsIFwibGVtb25jaGlmZm9uXCIsIFwibGlnaHRibHVlXCIsIFwibGlnaHRjb3JhbFwiLFxuICAgIFwibGlnaHRjeWFuXCIsIFwibGlnaHRnb2xkZW5yb2R5ZWxsb3dcIiwgXCJsaWdodGdyYXlcIiwgXCJsaWdodGdyZWVuXCIsIFwibGlnaHRwaW5rXCIsXG4gICAgXCJsaWdodHNhbG1vblwiLCBcImxpZ2h0c2VhZ3JlZW5cIiwgXCJsaWdodHNreWJsdWVcIiwgXCJsaWdodHNsYXRlZ3JheVwiLFxuICAgIFwibGlnaHRzdGVlbGJsdWVcIiwgXCJsaWdodHllbGxvd1wiLCBcImxpbWVcIiwgXCJsaW1lZ3JlZW5cIiwgXCJsaW5lblwiLCBcIm1hZ2VudGFcIixcbiAgICBcIm1hcm9vblwiLCBcIm1lZGl1bWFxdWFtYXJpbmVcIiwgXCJtZWRpdW1ibHVlXCIsIFwibWVkaXVtb3JjaGlkXCIsIFwibWVkaXVtcHVycGxlXCIsXG4gICAgXCJtZWRpdW1zZWFncmVlblwiLCBcIm1lZGl1bXNsYXRlYmx1ZVwiLCBcIm1lZGl1bXNwcmluZ2dyZWVuXCIsIFwibWVkaXVtdHVycXVvaXNlXCIsXG4gICAgXCJtZWRpdW12aW9sZXRyZWRcIiwgXCJtaWRuaWdodGJsdWVcIiwgXCJtaW50Y3JlYW1cIiwgXCJtaXN0eXJvc2VcIiwgXCJtb2NjYXNpblwiLFxuICAgIFwibmF2YWpvd2hpdGVcIiwgXCJuYXZ5XCIsIFwib2xkbGFjZVwiLCBcIm9saXZlXCIsIFwib2xpdmVkcmFiXCIsIFwib3JhbmdlXCIsIFwib3JhbmdlcmVkXCIsXG4gICAgXCJvcmNoaWRcIiwgXCJwYWxlZ29sZGVucm9kXCIsIFwicGFsZWdyZWVuXCIsIFwicGFsZXR1cnF1b2lzZVwiLCBcInBhbGV2aW9sZXRyZWRcIixcbiAgICBcInBhcGF5YXdoaXBcIiwgXCJwZWFjaHB1ZmZcIiwgXCJwZXJ1XCIsIFwicGlua1wiLCBcInBsdW1cIiwgXCJwb3dkZXJibHVlXCIsXG4gICAgXCJwdXJwbGVcIiwgXCJyZWJlY2NhcHVycGxlXCIsIFwicmVkXCIsIFwicm9zeWJyb3duXCIsIFwicm95YWxibHVlXCIsIFwic2FkZGxlYnJvd25cIixcbiAgICBcInNhbG1vblwiLCBcInNhbmR5YnJvd25cIiwgXCJzZWFncmVlblwiLCBcInNlYXNoZWxsXCIsIFwic2llbm5hXCIsIFwic2lsdmVyXCIsIFwic2t5Ymx1ZVwiLFxuICAgIFwic2xhdGVibHVlXCIsIFwic2xhdGVncmF5XCIsIFwic25vd1wiLCBcInNwcmluZ2dyZWVuXCIsIFwic3RlZWxibHVlXCIsIFwidGFuXCIsXG4gICAgXCJ0ZWFsXCIsIFwidGhpc3RsZVwiLCBcInRvbWF0b1wiLCBcInR1cnF1b2lzZVwiLCBcInZpb2xldFwiLCBcIndoZWF0XCIsIFwid2hpdGVcIixcbiAgICBcIndoaXRlc21va2VcIiwgXCJ5ZWxsb3dcIiwgXCJ5ZWxsb3dncmVlblwiXG4gIF0sIGNvbG9yS2V5d29yZHMgPSBrZXlTZXQoY29sb3JLZXl3b3Jkc18pO1xuXG4gIHZhciB2YWx1ZUtleXdvcmRzXyA9IFtcbiAgICBcImFib3ZlXCIsIFwiYWJzb2x1dGVcIiwgXCJhY3RpdmVib3JkZXJcIiwgXCJhZGRpdGl2ZVwiLCBcImFjdGl2ZWNhcHRpb25cIiwgXCJhZmFyXCIsXG4gICAgXCJhZnRlci13aGl0ZS1zcGFjZVwiLCBcImFoZWFkXCIsIFwiYWxpYXNcIiwgXCJhbGxcIiwgXCJhbGwtc2Nyb2xsXCIsIFwiYWxwaGFiZXRpY1wiLCBcImFsdGVybmF0ZVwiLFxuICAgIFwiYWx3YXlzXCIsIFwiYW1oYXJpY1wiLCBcImFtaGFyaWMtYWJlZ2VkZVwiLCBcImFudGlhbGlhc2VkXCIsIFwiYXBwd29ya3NwYWNlXCIsXG4gICAgXCJhcmFiaWMtaW5kaWNcIiwgXCJhcm1lbmlhblwiLCBcImFzdGVyaXNrc1wiLCBcImF0dHJcIiwgXCJhdXRvXCIsIFwiYXV0by1mbG93XCIsIFwiYXZvaWRcIiwgXCJhdm9pZC1jb2x1bW5cIiwgXCJhdm9pZC1wYWdlXCIsXG4gICAgXCJhdm9pZC1yZWdpb25cIiwgXCJiYWNrZ3JvdW5kXCIsIFwiYmFja3dhcmRzXCIsIFwiYmFzZWxpbmVcIiwgXCJiZWxvd1wiLCBcImJpZGktb3ZlcnJpZGVcIiwgXCJiaW5hcnlcIixcbiAgICBcImJlbmdhbGlcIiwgXCJibGlua1wiLCBcImJsb2NrXCIsIFwiYmxvY2stYXhpc1wiLCBcImJvbGRcIiwgXCJib2xkZXJcIiwgXCJib3JkZXJcIiwgXCJib3JkZXItYm94XCIsXG4gICAgXCJib3RoXCIsIFwiYm90dG9tXCIsIFwiYnJlYWtcIiwgXCJicmVhay1hbGxcIiwgXCJicmVhay13b3JkXCIsIFwiYnVsbGV0c1wiLCBcImJ1dHRvblwiLCBcImJ1dHRvbi1iZXZlbFwiLFxuICAgIFwiYnV0dG9uZmFjZVwiLCBcImJ1dHRvbmhpZ2hsaWdodFwiLCBcImJ1dHRvbnNoYWRvd1wiLCBcImJ1dHRvbnRleHRcIiwgXCJjYWxjXCIsIFwiY2FtYm9kaWFuXCIsXG4gICAgXCJjYXBpdGFsaXplXCIsIFwiY2Fwcy1sb2NrLWluZGljYXRvclwiLCBcImNhcHRpb25cIiwgXCJjYXB0aW9udGV4dFwiLCBcImNhcmV0XCIsXG4gICAgXCJjZWxsXCIsIFwiY2VudGVyXCIsIFwiY2hlY2tib3hcIiwgXCJjaXJjbGVcIiwgXCJjamstZGVjaW1hbFwiLCBcImNqay1lYXJ0aGx5LWJyYW5jaFwiLFxuICAgIFwiY2prLWhlYXZlbmx5LXN0ZW1cIiwgXCJjamstaWRlb2dyYXBoaWNcIiwgXCJjbGVhclwiLCBcImNsaXBcIiwgXCJjbG9zZS1xdW90ZVwiLFxuICAgIFwiY29sLXJlc2l6ZVwiLCBcImNvbGxhcHNlXCIsIFwiY29sb3JcIiwgXCJjb2xvci1idXJuXCIsIFwiY29sb3ItZG9kZ2VcIiwgXCJjb2x1bW5cIiwgXCJjb2x1bW4tcmV2ZXJzZVwiLFxuICAgIFwiY29tcGFjdFwiLCBcImNvbmRlbnNlZFwiLCBcImNvbnRhaW5cIiwgXCJjb250ZW50XCIsIFwiY29udGVudHNcIixcbiAgICBcImNvbnRlbnQtYm94XCIsIFwiY29udGV4dC1tZW51XCIsIFwiY29udGludW91c1wiLCBcImNvcHlcIiwgXCJjb3VudGVyXCIsIFwiY291bnRlcnNcIiwgXCJjb3ZlclwiLCBcImNyb3BcIixcbiAgICBcImNyb3NzXCIsIFwiY3Jvc3NoYWlyXCIsIFwiY3VycmVudGNvbG9yXCIsIFwiY3Vyc2l2ZVwiLCBcImN5Y2xpY1wiLCBcImRhcmtlblwiLCBcImRhc2hlZFwiLCBcImRlY2ltYWxcIixcbiAgICBcImRlY2ltYWwtbGVhZGluZy16ZXJvXCIsIFwiZGVmYXVsdFwiLCBcImRlZmF1bHQtYnV0dG9uXCIsIFwiZGVuc2VcIiwgXCJkZXN0aW5hdGlvbi1hdG9wXCIsXG4gICAgXCJkZXN0aW5hdGlvbi1pblwiLCBcImRlc3RpbmF0aW9uLW91dFwiLCBcImRlc3RpbmF0aW9uLW92ZXJcIiwgXCJkZXZhbmFnYXJpXCIsIFwiZGlmZmVyZW5jZVwiLFxuICAgIFwiZGlzY1wiLCBcImRpc2NhcmRcIiwgXCJkaXNjbG9zdXJlLWNsb3NlZFwiLCBcImRpc2Nsb3N1cmUtb3BlblwiLCBcImRvY3VtZW50XCIsXG4gICAgXCJkb3QtZGFzaFwiLCBcImRvdC1kb3QtZGFzaFwiLFxuICAgIFwiZG90dGVkXCIsIFwiZG91YmxlXCIsIFwiZG93blwiLCBcImUtcmVzaXplXCIsIFwiZWFzZVwiLCBcImVhc2UtaW5cIiwgXCJlYXNlLWluLW91dFwiLCBcImVhc2Utb3V0XCIsXG4gICAgXCJlbGVtZW50XCIsIFwiZWxsaXBzZVwiLCBcImVsbGlwc2lzXCIsIFwiZW1iZWRcIiwgXCJlbmRcIiwgXCJldGhpb3BpY1wiLCBcImV0aGlvcGljLWFiZWdlZGVcIixcbiAgICBcImV0aGlvcGljLWFiZWdlZGUtYW0tZXRcIiwgXCJldGhpb3BpYy1hYmVnZWRlLWdlelwiLCBcImV0aGlvcGljLWFiZWdlZGUtdGktZXJcIixcbiAgICBcImV0aGlvcGljLWFiZWdlZGUtdGktZXRcIiwgXCJldGhpb3BpYy1oYWxlaGFtZS1hYS1lclwiLFxuICAgIFwiZXRoaW9waWMtaGFsZWhhbWUtYWEtZXRcIiwgXCJldGhpb3BpYy1oYWxlaGFtZS1hbS1ldFwiLFxuICAgIFwiZXRoaW9waWMtaGFsZWhhbWUtZ2V6XCIsIFwiZXRoaW9waWMtaGFsZWhhbWUtb20tZXRcIixcbiAgICBcImV0aGlvcGljLWhhbGVoYW1lLXNpZC1ldFwiLCBcImV0aGlvcGljLWhhbGVoYW1lLXNvLWV0XCIsXG4gICAgXCJldGhpb3BpYy1oYWxlaGFtZS10aS1lclwiLCBcImV0aGlvcGljLWhhbGVoYW1lLXRpLWV0XCIsIFwiZXRoaW9waWMtaGFsZWhhbWUtdGlnXCIsXG4gICAgXCJldGhpb3BpYy1udW1lcmljXCIsIFwiZXctcmVzaXplXCIsIFwiZXhjbHVzaW9uXCIsIFwiZXhwYW5kZWRcIiwgXCJleHRlbmRzXCIsIFwiZXh0cmEtY29uZGVuc2VkXCIsXG4gICAgXCJleHRyYS1leHBhbmRlZFwiLCBcImZhbnRhc3lcIiwgXCJmYXN0XCIsIFwiZmlsbFwiLCBcImZpeGVkXCIsIFwiZmxhdFwiLCBcImZsZXhcIiwgXCJmbGV4LWVuZFwiLCBcImZsZXgtc3RhcnRcIiwgXCJmb290bm90ZXNcIixcbiAgICBcImZvcndhcmRzXCIsIFwiZnJvbVwiLCBcImdlb21ldHJpY1ByZWNpc2lvblwiLCBcImdlb3JnaWFuXCIsIFwiZ3JheXRleHRcIiwgXCJncmlkXCIsIFwiZ3Jvb3ZlXCIsXG4gICAgXCJndWphcmF0aVwiLCBcImd1cm11a2hpXCIsIFwiaGFuZFwiLCBcImhhbmd1bFwiLCBcImhhbmd1bC1jb25zb25hbnRcIiwgXCJoYXJkLWxpZ2h0XCIsIFwiaGVicmV3XCIsXG4gICAgXCJoZWxwXCIsIFwiaGlkZGVuXCIsIFwiaGlkZVwiLCBcImhpZ2hlclwiLCBcImhpZ2hsaWdodFwiLCBcImhpZ2hsaWdodHRleHRcIixcbiAgICBcImhpcmFnYW5hXCIsIFwiaGlyYWdhbmEtaXJvaGFcIiwgXCJob3Jpem9udGFsXCIsIFwiaHNsXCIsIFwiaHNsYVwiLCBcImh1ZVwiLCBcImljb25cIiwgXCJpZ25vcmVcIixcbiAgICBcImluYWN0aXZlYm9yZGVyXCIsIFwiaW5hY3RpdmVjYXB0aW9uXCIsIFwiaW5hY3RpdmVjYXB0aW9udGV4dFwiLCBcImluZmluaXRlXCIsXG4gICAgXCJpbmZvYmFja2dyb3VuZFwiLCBcImluZm90ZXh0XCIsIFwiaW5oZXJpdFwiLCBcImluaXRpYWxcIiwgXCJpbmxpbmVcIiwgXCJpbmxpbmUtYXhpc1wiLFxuICAgIFwiaW5saW5lLWJsb2NrXCIsIFwiaW5saW5lLWZsZXhcIiwgXCJpbmxpbmUtZ3JpZFwiLCBcImlubGluZS10YWJsZVwiLCBcImluc2V0XCIsIFwiaW5zaWRlXCIsIFwiaW50cmluc2ljXCIsIFwiaW52ZXJ0XCIsXG4gICAgXCJpdGFsaWNcIiwgXCJqYXBhbmVzZS1mb3JtYWxcIiwgXCJqYXBhbmVzZS1pbmZvcm1hbFwiLCBcImp1c3RpZnlcIiwgXCJrYW5uYWRhXCIsXG4gICAgXCJrYXRha2FuYVwiLCBcImthdGFrYW5hLWlyb2hhXCIsIFwia2VlcC1hbGxcIiwgXCJraG1lclwiLFxuICAgIFwia29yZWFuLWhhbmd1bC1mb3JtYWxcIiwgXCJrb3JlYW4taGFuamEtZm9ybWFsXCIsIFwia29yZWFuLWhhbmphLWluZm9ybWFsXCIsXG4gICAgXCJsYW5kc2NhcGVcIiwgXCJsYW9cIiwgXCJsYXJnZVwiLCBcImxhcmdlclwiLCBcImxlZnRcIiwgXCJsZXZlbFwiLCBcImxpZ2h0ZXJcIiwgXCJsaWdodGVuXCIsXG4gICAgXCJsaW5lLXRocm91Z2hcIiwgXCJsaW5lYXJcIiwgXCJsaW5lYXItZ3JhZGllbnRcIiwgXCJsaW5lc1wiLCBcImxpc3QtaXRlbVwiLCBcImxpc3Rib3hcIiwgXCJsaXN0aXRlbVwiLFxuICAgIFwibG9jYWxcIiwgXCJsb2dpY2FsXCIsIFwibG91ZFwiLCBcImxvd2VyXCIsIFwibG93ZXItYWxwaGFcIiwgXCJsb3dlci1hcm1lbmlhblwiLFxuICAgIFwibG93ZXItZ3JlZWtcIiwgXCJsb3dlci1oZXhhZGVjaW1hbFwiLCBcImxvd2VyLWxhdGluXCIsIFwibG93ZXItbm9yd2VnaWFuXCIsXG4gICAgXCJsb3dlci1yb21hblwiLCBcImxvd2VyY2FzZVwiLCBcImx0clwiLCBcImx1bWlub3NpdHlcIiwgXCJtYWxheWFsYW1cIiwgXCJtYXRjaFwiLCBcIm1hdHJpeFwiLCBcIm1hdHJpeDNkXCIsXG4gICAgXCJtZWRpYS1jb250cm9scy1iYWNrZ3JvdW5kXCIsIFwibWVkaWEtY3VycmVudC10aW1lLWRpc3BsYXlcIixcbiAgICBcIm1lZGlhLWZ1bGxzY3JlZW4tYnV0dG9uXCIsIFwibWVkaWEtbXV0ZS1idXR0b25cIiwgXCJtZWRpYS1wbGF5LWJ1dHRvblwiLFxuICAgIFwibWVkaWEtcmV0dXJuLXRvLXJlYWx0aW1lLWJ1dHRvblwiLCBcIm1lZGlhLXJld2luZC1idXR0b25cIixcbiAgICBcIm1lZGlhLXNlZWstYmFjay1idXR0b25cIiwgXCJtZWRpYS1zZWVrLWZvcndhcmQtYnV0dG9uXCIsIFwibWVkaWEtc2xpZGVyXCIsXG4gICAgXCJtZWRpYS1zbGlkZXJ0aHVtYlwiLCBcIm1lZGlhLXRpbWUtcmVtYWluaW5nLWRpc3BsYXlcIiwgXCJtZWRpYS12b2x1bWUtc2xpZGVyXCIsXG4gICAgXCJtZWRpYS12b2x1bWUtc2xpZGVyLWNvbnRhaW5lclwiLCBcIm1lZGlhLXZvbHVtZS1zbGlkZXJ0aHVtYlwiLCBcIm1lZGl1bVwiLFxuICAgIFwibWVudVwiLCBcIm1lbnVsaXN0XCIsIFwibWVudWxpc3QtYnV0dG9uXCIsIFwibWVudWxpc3QtdGV4dFwiLFxuICAgIFwibWVudWxpc3QtdGV4dGZpZWxkXCIsIFwibWVudXRleHRcIiwgXCJtZXNzYWdlLWJveFwiLCBcIm1pZGRsZVwiLCBcIm1pbi1pbnRyaW5zaWNcIixcbiAgICBcIm1peFwiLCBcIm1vbmdvbGlhblwiLCBcIm1vbm9zcGFjZVwiLCBcIm1vdmVcIiwgXCJtdWx0aXBsZVwiLCBcIm11bHRpcGx5XCIsIFwibXlhbm1hclwiLCBcIm4tcmVzaXplXCIsXG4gICAgXCJuYXJyb3dlclwiLCBcIm5lLXJlc2l6ZVwiLCBcIm5lc3ctcmVzaXplXCIsIFwibm8tY2xvc2UtcXVvdGVcIiwgXCJuby1kcm9wXCIsXG4gICAgXCJuby1vcGVuLXF1b3RlXCIsIFwibm8tcmVwZWF0XCIsIFwibm9uZVwiLCBcIm5vcm1hbFwiLCBcIm5vdC1hbGxvd2VkXCIsIFwibm93cmFwXCIsXG4gICAgXCJucy1yZXNpemVcIiwgXCJudW1iZXJzXCIsIFwibnVtZXJpY1wiLCBcIm53LXJlc2l6ZVwiLCBcIm53c2UtcmVzaXplXCIsIFwib2JsaXF1ZVwiLCBcIm9jdGFsXCIsIFwib3BhY2l0eVwiLCBcIm9wZW4tcXVvdGVcIixcbiAgICBcIm9wdGltaXplTGVnaWJpbGl0eVwiLCBcIm9wdGltaXplU3BlZWRcIiwgXCJvcml5YVwiLCBcIm9yb21vXCIsIFwib3V0c2V0XCIsXG4gICAgXCJvdXRzaWRlXCIsIFwib3V0c2lkZS1zaGFwZVwiLCBcIm92ZXJsYXlcIiwgXCJvdmVybGluZVwiLCBcInBhZGRpbmdcIiwgXCJwYWRkaW5nLWJveFwiLFxuICAgIFwicGFpbnRlZFwiLCBcInBhZ2VcIiwgXCJwYXVzZWRcIiwgXCJwZXJzaWFuXCIsIFwicGVyc3BlY3RpdmVcIiwgXCJwbHVzLWRhcmtlclwiLCBcInBsdXMtbGlnaHRlclwiLFxuICAgIFwicG9pbnRlclwiLCBcInBvbHlnb25cIiwgXCJwb3J0cmFpdFwiLCBcInByZVwiLCBcInByZS1saW5lXCIsIFwicHJlLXdyYXBcIiwgXCJwcmVzZXJ2ZS0zZFwiLFxuICAgIFwicHJvZ3Jlc3NcIiwgXCJwdXNoLWJ1dHRvblwiLCBcInJhZGlhbC1ncmFkaWVudFwiLCBcInJhZGlvXCIsIFwicmVhZC1vbmx5XCIsXG4gICAgXCJyZWFkLXdyaXRlXCIsIFwicmVhZC13cml0ZS1wbGFpbnRleHQtb25seVwiLCBcInJlY3RhbmdsZVwiLCBcInJlZ2lvblwiLFxuICAgIFwicmVsYXRpdmVcIiwgXCJyZXBlYXRcIiwgXCJyZXBlYXRpbmctbGluZWFyLWdyYWRpZW50XCIsXG4gICAgXCJyZXBlYXRpbmctcmFkaWFsLWdyYWRpZW50XCIsIFwicmVwZWF0LXhcIiwgXCJyZXBlYXQteVwiLCBcInJlc2V0XCIsIFwicmV2ZXJzZVwiLFxuICAgIFwicmdiXCIsIFwicmdiYVwiLCBcInJpZGdlXCIsIFwicmlnaHRcIiwgXCJyb3RhdGVcIiwgXCJyb3RhdGUzZFwiLCBcInJvdGF0ZVhcIiwgXCJyb3RhdGVZXCIsXG4gICAgXCJyb3RhdGVaXCIsIFwicm91bmRcIiwgXCJyb3dcIiwgXCJyb3ctcmVzaXplXCIsIFwicm93LXJldmVyc2VcIiwgXCJydGxcIiwgXCJydW4taW5cIiwgXCJydW5uaW5nXCIsXG4gICAgXCJzLXJlc2l6ZVwiLCBcInNhbnMtc2VyaWZcIiwgXCJzYXR1cmF0aW9uXCIsIFwic2NhbGVcIiwgXCJzY2FsZTNkXCIsIFwic2NhbGVYXCIsIFwic2NhbGVZXCIsIFwic2NhbGVaXCIsIFwic2NyZWVuXCIsXG4gICAgXCJzY3JvbGxcIiwgXCJzY3JvbGxiYXJcIiwgXCJzY3JvbGwtcG9zaXRpb25cIiwgXCJzZS1yZXNpemVcIiwgXCJzZWFyY2hmaWVsZFwiLFxuICAgIFwic2VhcmNoZmllbGQtY2FuY2VsLWJ1dHRvblwiLCBcInNlYXJjaGZpZWxkLWRlY29yYXRpb25cIixcbiAgICBcInNlYXJjaGZpZWxkLXJlc3VsdHMtYnV0dG9uXCIsIFwic2VhcmNoZmllbGQtcmVzdWx0cy1kZWNvcmF0aW9uXCIsIFwic2VsZi1zdGFydFwiLCBcInNlbGYtZW5kXCIsXG4gICAgXCJzZW1pLWNvbmRlbnNlZFwiLCBcInNlbWktZXhwYW5kZWRcIiwgXCJzZXBhcmF0ZVwiLCBcInNlcmlmXCIsIFwic2hvd1wiLCBcInNpZGFtYVwiLFxuICAgIFwic2ltcC1jaGluZXNlLWZvcm1hbFwiLCBcInNpbXAtY2hpbmVzZS1pbmZvcm1hbFwiLCBcInNpbmdsZVwiLFxuICAgIFwic2tld1wiLCBcInNrZXdYXCIsIFwic2tld1lcIiwgXCJza2lwLXdoaXRlLXNwYWNlXCIsIFwic2xpZGVcIiwgXCJzbGlkZXItaG9yaXpvbnRhbFwiLFxuICAgIFwic2xpZGVyLXZlcnRpY2FsXCIsIFwic2xpZGVydGh1bWItaG9yaXpvbnRhbFwiLCBcInNsaWRlcnRodW1iLXZlcnRpY2FsXCIsIFwic2xvd1wiLFxuICAgIFwic21hbGxcIiwgXCJzbWFsbC1jYXBzXCIsIFwic21hbGwtY2FwdGlvblwiLCBcInNtYWxsZXJcIiwgXCJzb2Z0LWxpZ2h0XCIsIFwic29saWRcIiwgXCJzb21hbGlcIixcbiAgICBcInNvdXJjZS1hdG9wXCIsIFwic291cmNlLWluXCIsIFwic291cmNlLW91dFwiLCBcInNvdXJjZS1vdmVyXCIsIFwic3BhY2VcIiwgXCJzcGFjZS1hcm91bmRcIiwgXCJzcGFjZS1iZXR3ZWVuXCIsIFwic3BhY2UtZXZlbmx5XCIsIFwic3BlbGwtb3V0XCIsIFwic3F1YXJlXCIsXG4gICAgXCJzcXVhcmUtYnV0dG9uXCIsIFwic3RhcnRcIiwgXCJzdGF0aWNcIiwgXCJzdGF0dXMtYmFyXCIsIFwic3RyZXRjaFwiLCBcInN0cm9rZVwiLCBcInN1YlwiLFxuICAgIFwic3VicGl4ZWwtYW50aWFsaWFzZWRcIiwgXCJzdXBlclwiLCBcInN3LXJlc2l6ZVwiLCBcInN5bWJvbGljXCIsIFwic3ltYm9sc1wiLCBcInN5c3RlbS11aVwiLCBcInRhYmxlXCIsXG4gICAgXCJ0YWJsZS1jYXB0aW9uXCIsIFwidGFibGUtY2VsbFwiLCBcInRhYmxlLWNvbHVtblwiLCBcInRhYmxlLWNvbHVtbi1ncm91cFwiLFxuICAgIFwidGFibGUtZm9vdGVyLWdyb3VwXCIsIFwidGFibGUtaGVhZGVyLWdyb3VwXCIsIFwidGFibGUtcm93XCIsIFwidGFibGUtcm93LWdyb3VwXCIsXG4gICAgXCJ0YW1pbFwiLFxuICAgIFwidGVsdWd1XCIsIFwidGV4dFwiLCBcInRleHQtYm90dG9tXCIsIFwidGV4dC10b3BcIiwgXCJ0ZXh0YXJlYVwiLCBcInRleHRmaWVsZFwiLCBcInRoYWlcIixcbiAgICBcInRoaWNrXCIsIFwidGhpblwiLCBcInRocmVlZGRhcmtzaGFkb3dcIiwgXCJ0aHJlZWRmYWNlXCIsIFwidGhyZWVkaGlnaGxpZ2h0XCIsXG4gICAgXCJ0aHJlZWRsaWdodHNoYWRvd1wiLCBcInRocmVlZHNoYWRvd1wiLCBcInRpYmV0YW5cIiwgXCJ0aWdyZVwiLCBcInRpZ3JpbnlhLWVyXCIsXG4gICAgXCJ0aWdyaW55YS1lci1hYmVnZWRlXCIsIFwidGlncmlueWEtZXRcIiwgXCJ0aWdyaW55YS1ldC1hYmVnZWRlXCIsIFwidG9cIiwgXCJ0b3BcIixcbiAgICBcInRyYWQtY2hpbmVzZS1mb3JtYWxcIiwgXCJ0cmFkLWNoaW5lc2UtaW5mb3JtYWxcIiwgXCJ0cmFuc2Zvcm1cIixcbiAgICBcInRyYW5zbGF0ZVwiLCBcInRyYW5zbGF0ZTNkXCIsIFwidHJhbnNsYXRlWFwiLCBcInRyYW5zbGF0ZVlcIiwgXCJ0cmFuc2xhdGVaXCIsXG4gICAgXCJ0cmFuc3BhcmVudFwiLCBcInVsdHJhLWNvbmRlbnNlZFwiLCBcInVsdHJhLWV4cGFuZGVkXCIsIFwidW5kZXJsaW5lXCIsIFwidW5zZXRcIiwgXCJ1cFwiLFxuICAgIFwidXBwZXItYWxwaGFcIiwgXCJ1cHBlci1hcm1lbmlhblwiLCBcInVwcGVyLWdyZWVrXCIsIFwidXBwZXItaGV4YWRlY2ltYWxcIixcbiAgICBcInVwcGVyLWxhdGluXCIsIFwidXBwZXItbm9yd2VnaWFuXCIsIFwidXBwZXItcm9tYW5cIiwgXCJ1cHBlcmNhc2VcIiwgXCJ1cmR1XCIsIFwidXJsXCIsXG4gICAgXCJ2YXJcIiwgXCJ2ZXJ0aWNhbFwiLCBcInZlcnRpY2FsLXRleHRcIiwgXCJ2aXNpYmxlXCIsIFwidmlzaWJsZUZpbGxcIiwgXCJ2aXNpYmxlUGFpbnRlZFwiLFxuICAgIFwidmlzaWJsZVN0cm9rZVwiLCBcInZpc3VhbFwiLCBcInctcmVzaXplXCIsIFwid2FpdFwiLCBcIndhdmVcIiwgXCJ3aWRlclwiLFxuICAgIFwid2luZG93XCIsIFwid2luZG93ZnJhbWVcIiwgXCJ3aW5kb3d0ZXh0XCIsIFwid29yZHNcIiwgXCJ3cmFwXCIsIFwid3JhcC1yZXZlcnNlXCIsIFwieC1sYXJnZVwiLCBcIngtc21hbGxcIiwgXCJ4b3JcIixcbiAgICBcInh4LWxhcmdlXCIsIFwieHgtc21hbGxcIlxuICBdLCB2YWx1ZUtleXdvcmRzID0ga2V5U2V0KHZhbHVlS2V5d29yZHNfKTtcblxuICB2YXIgYWxsV29yZHMgPSBkb2N1bWVudFR5cGVzXy5jb25jYXQobWVkaWFUeXBlc18pLmNvbmNhdChtZWRpYUZlYXR1cmVzXykuY29uY2F0KG1lZGlhVmFsdWVLZXl3b3Jkc18pXG4gICAgLmNvbmNhdChwcm9wZXJ0eUtleXdvcmRzXykuY29uY2F0KG5vblN0YW5kYXJkUHJvcGVydHlLZXl3b3Jkc18pLmNvbmNhdChjb2xvcktleXdvcmRzXylcbiAgICAuY29uY2F0KHZhbHVlS2V5d29yZHNfKTtcbiAgQ29kZU1pcnJvci5yZWdpc3RlckhlbHBlcihcImhpbnRXb3Jkc1wiLCBcImNzc1wiLCBhbGxXb3Jkcyk7XG5cbiAgZnVuY3Rpb24gdG9rZW5DQ29tbWVudChzdHJlYW0sIHN0YXRlKSB7XG4gICAgdmFyIG1heWJlRW5kID0gZmFsc2UsIGNoO1xuICAgIHdoaWxlICgoY2ggPSBzdHJlYW0ubmV4dCgpKSAhPSBudWxsKSB7XG4gICAgICBpZiAobWF5YmVFbmQgJiYgY2ggPT0gXCIvXCIpIHtcbiAgICAgICAgc3RhdGUudG9rZW5pemUgPSBudWxsO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIG1heWJlRW5kID0gKGNoID09IFwiKlwiKTtcbiAgICB9XG4gICAgcmV0dXJuIFtcImNvbW1lbnRcIiwgXCJjb21tZW50XCJdO1xuICB9XG5cbiAgQ29kZU1pcnJvci5kZWZpbmVNSU1FKFwidGV4dC9jc3NcIiwge1xuICAgIGRvY3VtZW50VHlwZXM6IGRvY3VtZW50VHlwZXMsXG4gICAgbWVkaWFUeXBlczogbWVkaWFUeXBlcyxcbiAgICBtZWRpYUZlYXR1cmVzOiBtZWRpYUZlYXR1cmVzLFxuICAgIG1lZGlhVmFsdWVLZXl3b3JkczogbWVkaWFWYWx1ZUtleXdvcmRzLFxuICAgIHByb3BlcnR5S2V5d29yZHM6IHByb3BlcnR5S2V5d29yZHMsXG4gICAgbm9uU3RhbmRhcmRQcm9wZXJ0eUtleXdvcmRzOiBub25TdGFuZGFyZFByb3BlcnR5S2V5d29yZHMsXG4gICAgZm9udFByb3BlcnRpZXM6IGZvbnRQcm9wZXJ0aWVzLFxuICAgIGNvdW50ZXJEZXNjcmlwdG9yczogY291bnRlckRlc2NyaXB0b3JzLFxuICAgIGNvbG9yS2V5d29yZHM6IGNvbG9yS2V5d29yZHMsXG4gICAgdmFsdWVLZXl3b3JkczogdmFsdWVLZXl3b3JkcyxcbiAgICB0b2tlbkhvb2tzOiB7XG4gICAgICBcIi9cIjogZnVuY3Rpb24oc3RyZWFtLCBzdGF0ZSkge1xuICAgICAgICBpZiAoIXN0cmVhbS5lYXQoXCIqXCIpKSByZXR1cm4gZmFsc2U7XG4gICAgICAgIHN0YXRlLnRva2VuaXplID0gdG9rZW5DQ29tbWVudDtcbiAgICAgICAgcmV0dXJuIHRva2VuQ0NvbW1lbnQoc3RyZWFtLCBzdGF0ZSk7XG4gICAgICB9XG4gICAgfSxcbiAgICBuYW1lOiBcImNzc1wiXG4gIH0pO1xuXG4gIENvZGVNaXJyb3IuZGVmaW5lTUlNRShcInRleHQveC1zY3NzXCIsIHtcbiAgICBtZWRpYVR5cGVzOiBtZWRpYVR5cGVzLFxuICAgIG1lZGlhRmVhdHVyZXM6IG1lZGlhRmVhdHVyZXMsXG4gICAgbWVkaWFWYWx1ZUtleXdvcmRzOiBtZWRpYVZhbHVlS2V5d29yZHMsXG4gICAgcHJvcGVydHlLZXl3b3JkczogcHJvcGVydHlLZXl3b3JkcyxcbiAgICBub25TdGFuZGFyZFByb3BlcnR5S2V5d29yZHM6IG5vblN0YW5kYXJkUHJvcGVydHlLZXl3b3JkcyxcbiAgICBjb2xvcktleXdvcmRzOiBjb2xvcktleXdvcmRzLFxuICAgIHZhbHVlS2V5d29yZHM6IHZhbHVlS2V5d29yZHMsXG4gICAgZm9udFByb3BlcnRpZXM6IGZvbnRQcm9wZXJ0aWVzLFxuICAgIGFsbG93TmVzdGVkOiB0cnVlLFxuICAgIGxpbmVDb21tZW50OiBcIi8vXCIsXG4gICAgdG9rZW5Ib29rczoge1xuICAgICAgXCIvXCI6IGZ1bmN0aW9uKHN0cmVhbSwgc3RhdGUpIHtcbiAgICAgICAgaWYgKHN0cmVhbS5lYXQoXCIvXCIpKSB7XG4gICAgICAgICAgc3RyZWFtLnNraXBUb0VuZCgpO1xuICAgICAgICAgIHJldHVybiBbXCJjb21tZW50XCIsIFwiY29tbWVudFwiXTtcbiAgICAgICAgfSBlbHNlIGlmIChzdHJlYW0uZWF0KFwiKlwiKSkge1xuICAgICAgICAgIHN0YXRlLnRva2VuaXplID0gdG9rZW5DQ29tbWVudDtcbiAgICAgICAgICByZXR1cm4gdG9rZW5DQ29tbWVudChzdHJlYW0sIHN0YXRlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gW1wib3BlcmF0b3JcIiwgXCJvcGVyYXRvclwiXTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiOlwiOiBmdW5jdGlvbihzdHJlYW0pIHtcbiAgICAgICAgaWYgKHN0cmVhbS5tYXRjaCgvXFxzKlxcey8sIGZhbHNlKSlcbiAgICAgICAgICByZXR1cm4gW251bGwsIG51bGxdXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH0sXG4gICAgICBcIiRcIjogZnVuY3Rpb24oc3RyZWFtKSB7XG4gICAgICAgIHN0cmVhbS5tYXRjaCgvXltcXHctXSsvKTtcbiAgICAgICAgaWYgKHN0cmVhbS5tYXRjaCgvXlxccyo6LywgZmFsc2UpKVxuICAgICAgICAgIHJldHVybiBbXCJ2YXJpYWJsZS0yXCIsIFwidmFyaWFibGUtZGVmaW5pdGlvblwiXTtcbiAgICAgICAgcmV0dXJuIFtcInZhcmlhYmxlLTJcIiwgXCJ2YXJpYWJsZVwiXTtcbiAgICAgIH0sXG4gICAgICBcIiNcIjogZnVuY3Rpb24oc3RyZWFtKSB7XG4gICAgICAgIGlmICghc3RyZWFtLmVhdChcIntcIikpIHJldHVybiBmYWxzZTtcbiAgICAgICAgcmV0dXJuIFtudWxsLCBcImludGVycG9sYXRpb25cIl07XG4gICAgICB9XG4gICAgfSxcbiAgICBuYW1lOiBcImNzc1wiLFxuICAgIGhlbHBlclR5cGU6IFwic2Nzc1wiXG4gIH0pO1xuXG4gIENvZGVNaXJyb3IuZGVmaW5lTUlNRShcInRleHQveC1sZXNzXCIsIHtcbiAgICBtZWRpYVR5cGVzOiBtZWRpYVR5cGVzLFxuICAgIG1lZGlhRmVhdHVyZXM6IG1lZGlhRmVhdHVyZXMsXG4gICAgbWVkaWFWYWx1ZUtleXdvcmRzOiBtZWRpYVZhbHVlS2V5d29yZHMsXG4gICAgcHJvcGVydHlLZXl3b3JkczogcHJvcGVydHlLZXl3b3JkcyxcbiAgICBub25TdGFuZGFyZFByb3BlcnR5S2V5d29yZHM6IG5vblN0YW5kYXJkUHJvcGVydHlLZXl3b3JkcyxcbiAgICBjb2xvcktleXdvcmRzOiBjb2xvcktleXdvcmRzLFxuICAgIHZhbHVlS2V5d29yZHM6IHZhbHVlS2V5d29yZHMsXG4gICAgZm9udFByb3BlcnRpZXM6IGZvbnRQcm9wZXJ0aWVzLFxuICAgIGFsbG93TmVzdGVkOiB0cnVlLFxuICAgIGxpbmVDb21tZW50OiBcIi8vXCIsXG4gICAgdG9rZW5Ib29rczoge1xuICAgICAgXCIvXCI6IGZ1bmN0aW9uKHN0cmVhbSwgc3RhdGUpIHtcbiAgICAgICAgaWYgKHN0cmVhbS5lYXQoXCIvXCIpKSB7XG4gICAgICAgICAgc3RyZWFtLnNraXBUb0VuZCgpO1xuICAgICAgICAgIHJldHVybiBbXCJjb21tZW50XCIsIFwiY29tbWVudFwiXTtcbiAgICAgICAgfSBlbHNlIGlmIChzdHJlYW0uZWF0KFwiKlwiKSkge1xuICAgICAgICAgIHN0YXRlLnRva2VuaXplID0gdG9rZW5DQ29tbWVudDtcbiAgICAgICAgICByZXR1cm4gdG9rZW5DQ29tbWVudChzdHJlYW0sIHN0YXRlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gW1wib3BlcmF0b3JcIiwgXCJvcGVyYXRvclwiXTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiQFwiOiBmdW5jdGlvbihzdHJlYW0pIHtcbiAgICAgICAgaWYgKHN0cmVhbS5lYXQoXCJ7XCIpKSByZXR1cm4gW251bGwsIFwiaW50ZXJwb2xhdGlvblwiXTtcbiAgICAgICAgaWYgKHN0cmVhbS5tYXRjaCgvXihjaGFyc2V0fGRvY3VtZW50fGZvbnQtZmFjZXxpbXBvcnR8KC0obW96fG1zfG98d2Via2l0KS0pP2tleWZyYW1lc3xtZWRpYXxuYW1lc3BhY2V8cGFnZXxzdXBwb3J0cylcXGIvaSwgZmFsc2UpKSByZXR1cm4gZmFsc2U7XG4gICAgICAgIHN0cmVhbS5lYXRXaGlsZSgvW1xcd1xcXFxcXC1dLyk7XG4gICAgICAgIGlmIChzdHJlYW0ubWF0Y2goL15cXHMqOi8sIGZhbHNlKSlcbiAgICAgICAgICByZXR1cm4gW1widmFyaWFibGUtMlwiLCBcInZhcmlhYmxlLWRlZmluaXRpb25cIl07XG4gICAgICAgIHJldHVybiBbXCJ2YXJpYWJsZS0yXCIsIFwidmFyaWFibGVcIl07XG4gICAgICB9LFxuICAgICAgXCImXCI6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gW1wiYXRvbVwiLCBcImF0b21cIl07XG4gICAgICB9XG4gICAgfSxcbiAgICBuYW1lOiBcImNzc1wiLFxuICAgIGhlbHBlclR5cGU6IFwibGVzc1wiXG4gIH0pO1xuXG4gIENvZGVNaXJyb3IuZGVmaW5lTUlNRShcInRleHQveC1nc3NcIiwge1xuICAgIGRvY3VtZW50VHlwZXM6IGRvY3VtZW50VHlwZXMsXG4gICAgbWVkaWFUeXBlczogbWVkaWFUeXBlcyxcbiAgICBtZWRpYUZlYXR1cmVzOiBtZWRpYUZlYXR1cmVzLFxuICAgIHByb3BlcnR5S2V5d29yZHM6IHByb3BlcnR5S2V5d29yZHMsXG4gICAgbm9uU3RhbmRhcmRQcm9wZXJ0eUtleXdvcmRzOiBub25TdGFuZGFyZFByb3BlcnR5S2V5d29yZHMsXG4gICAgZm9udFByb3BlcnRpZXM6IGZvbnRQcm9wZXJ0aWVzLFxuICAgIGNvdW50ZXJEZXNjcmlwdG9yczogY291bnRlckRlc2NyaXB0b3JzLFxuICAgIGNvbG9yS2V5d29yZHM6IGNvbG9yS2V5d29yZHMsXG4gICAgdmFsdWVLZXl3b3JkczogdmFsdWVLZXl3b3JkcyxcbiAgICBzdXBwb3J0c0F0Q29tcG9uZW50OiB0cnVlLFxuICAgIHRva2VuSG9va3M6IHtcbiAgICAgIFwiL1wiOiBmdW5jdGlvbihzdHJlYW0sIHN0YXRlKSB7XG4gICAgICAgIGlmICghc3RyZWFtLmVhdChcIipcIikpIHJldHVybiBmYWxzZTtcbiAgICAgICAgc3RhdGUudG9rZW5pemUgPSB0b2tlbkNDb21tZW50O1xuICAgICAgICByZXR1cm4gdG9rZW5DQ29tbWVudChzdHJlYW0sIHN0YXRlKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIG5hbWU6IFwiY3NzXCIsXG4gICAgaGVscGVyVHlwZTogXCJnc3NcIlxuICB9KTtcblxufSk7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/codemirror/mode/css/css.js\n"); /***/ }), /***/ "./node_modules/codemirror/mode/django/django.js": /*!*******************************************************!*\ !*** ./node_modules/codemirror/mode/django/django.js ***! \*******************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ \"./node_modules/codemirror/lib/codemirror.js\"), __webpack_require__(/*! ../htmlmixed/htmlmixed */ \"./node_modules/codemirror/mode/htmlmixed/htmlmixed.js\"),\n __webpack_require__(/*! ../../addon/mode/overlay */ \"./node_modules/codemirror/addon/mode/overlay.js\"));\n else {}\n})(function(CodeMirror) {\n \"use strict\";\n\n CodeMirror.defineMode(\"django:inner\", function() {\n var keywords = [\"block\", \"endblock\", \"for\", \"endfor\", \"true\", \"false\", \"filter\", \"endfilter\",\n \"loop\", \"none\", \"self\", \"super\", \"if\", \"elif\", \"endif\", \"as\", \"else\", \"import\",\n \"with\", \"endwith\", \"without\", \"context\", \"ifequal\", \"endifequal\", \"ifnotequal\",\n \"endifnotequal\", \"extends\", \"include\", \"load\", \"comment\", \"endcomment\",\n \"empty\", \"url\", \"static\", \"trans\", \"blocktrans\", \"endblocktrans\", \"now\",\n \"regroup\", \"lorem\", \"ifchanged\", \"endifchanged\", \"firstof\", \"debug\", \"cycle\",\n \"csrf_token\", \"autoescape\", \"endautoescape\", \"spaceless\", \"endspaceless\",\n \"ssi\", \"templatetag\", \"verbatim\", \"endverbatim\", \"widthratio\"],\n filters = [\"add\", \"addslashes\", \"capfirst\", \"center\", \"cut\", \"date\",\n \"default\", \"default_if_none\", \"dictsort\",\n \"dictsortreversed\", \"divisibleby\", \"escape\", \"escapejs\",\n \"filesizeformat\", \"first\", \"floatformat\", \"force_escape\",\n \"get_digit\", \"iriencode\", \"join\", \"last\", \"length\",\n \"length_is\", \"linebreaks\", \"linebreaksbr\", \"linenumbers\",\n \"ljust\", \"lower\", \"make_list\", \"phone2numeric\", \"pluralize\",\n \"pprint\", \"random\", \"removetags\", \"rjust\", \"safe\",\n \"safeseq\", \"slice\", \"slugify\", \"stringformat\", \"striptags\",\n \"time\", \"timesince\", \"timeuntil\", \"title\", \"truncatechars\",\n \"truncatechars_html\", \"truncatewords\", \"truncatewords_html\",\n \"unordered_list\", \"upper\", \"urlencode\", \"urlize\",\n \"urlizetrunc\", \"wordcount\", \"wordwrap\", \"yesno\"],\n operators = [\"==\", \"!=\", \"<\", \">\", \"<=\", \">=\"],\n wordOperators = [\"in\", \"not\", \"or\", \"and\"];\n\n keywords = new RegExp(\"^\\\\b(\" + keywords.join(\"|\") + \")\\\\b\");\n filters = new RegExp(\"^\\\\b(\" + filters.join(\"|\") + \")\\\\b\");\n operators = new RegExp(\"^\\\\b(\" + operators.join(\"|\") + \")\\\\b\");\n wordOperators = new RegExp(\"^\\\\b(\" + wordOperators.join(\"|\") + \")\\\\b\");\n\n // We have to return \"null\" instead of null, in order to avoid string\n // styling as the default, when using Django templates inside HTML\n // element attributes\n function tokenBase (stream, state) {\n // Attempt to identify a variable, template or comment tag respectively\n if (stream.match(\"{{\")) {\n state.tokenize = inVariable;\n return \"tag\";\n } else if (stream.match(\"{%\")) {\n state.tokenize = inTag;\n return \"tag\";\n } else if (stream.match(\"{#\")) {\n state.tokenize = inComment;\n return \"comment\";\n }\n\n // Ignore completely any stream series that do not match the\n // Django template opening tags.\n while (stream.next() != null && !stream.match(/\\{[{%#]/, false)) {}\n return null;\n }\n\n // A string can be included in either single or double quotes (this is\n // the delimiter). Mark everything as a string until the start delimiter\n // occurs again.\n function inString (delimiter, previousTokenizer) {\n return function (stream, state) {\n if (!state.escapeNext && stream.eat(delimiter)) {\n state.tokenize = previousTokenizer;\n } else {\n if (state.escapeNext) {\n state.escapeNext = false;\n }\n\n var ch = stream.next();\n\n // Take into account the backslash for escaping characters, such as\n // the string delimiter.\n if (ch == \"\\\\\") {\n state.escapeNext = true;\n }\n }\n\n return \"string\";\n };\n }\n\n // Apply Django template variable syntax highlighting\n function inVariable (stream, state) {\n // Attempt to match a dot that precedes a property\n if (state.waitDot) {\n state.waitDot = false;\n\n if (stream.peek() != \".\") {\n return \"null\";\n }\n\n // Dot followed by a non-word character should be considered an error.\n if (stream.match(/\\.\\W+/)) {\n return \"error\";\n } else if (stream.eat(\".\")) {\n state.waitProperty = true;\n return \"null\";\n } else {\n throw Error (\"Unexpected error while waiting for property.\");\n }\n }\n\n // Attempt to match a pipe that precedes a filter\n if (state.waitPipe) {\n state.waitPipe = false;\n\n if (stream.peek() != \"|\") {\n return \"null\";\n }\n\n // Pipe followed by a non-word character should be considered an error.\n if (stream.match(/\\.\\W+/)) {\n return \"error\";\n } else if (stream.eat(\"|\")) {\n state.waitFilter = true;\n return \"null\";\n } else {\n throw Error (\"Unexpected error while waiting for filter.\");\n }\n }\n\n // Highlight properties\n if (state.waitProperty) {\n state.waitProperty = false;\n if (stream.match(/\\b(\\w+)\\b/)) {\n state.waitDot = true; // A property can be followed by another property\n state.waitPipe = true; // A property can be followed by a filter\n return \"property\";\n }\n }\n\n // Highlight filters\n if (state.waitFilter) {\n state.waitFilter = false;\n if (stream.match(filters)) {\n return \"variable-2\";\n }\n }\n\n // Ignore all white spaces\n if (stream.eatSpace()) {\n state.waitProperty = false;\n return \"null\";\n }\n\n // Identify numbers\n if (stream.match(/\\b\\d+(\\.\\d+)?\\b/)) {\n return \"number\";\n }\n\n // Identify strings\n if (stream.match(\"'\")) {\n state.tokenize = inString(\"'\", state.tokenize);\n return \"string\";\n } else if (stream.match('\"')) {\n state.tokenize = inString('\"', state.tokenize);\n return \"string\";\n }\n\n // Attempt to find the variable\n if (stream.match(/\\b(\\w+)\\b/) && !state.foundVariable) {\n state.waitDot = true;\n state.waitPipe = true; // A property can be followed by a filter\n return \"variable\";\n }\n\n // If found closing tag reset\n if (stream.match(\"}}\")) {\n state.waitProperty = null;\n state.waitFilter = null;\n state.waitDot = null;\n state.waitPipe = null;\n state.tokenize = tokenBase;\n return \"tag\";\n }\n\n // If nothing was found, advance to the next character\n stream.next();\n return \"null\";\n }\n\n function inTag (stream, state) {\n // Attempt to match a dot that precedes a property\n if (state.waitDot) {\n state.waitDot = false;\n\n if (stream.peek() != \".\") {\n return \"null\";\n }\n\n // Dot followed by a non-word character should be considered an error.\n if (stream.match(/\\.\\W+/)) {\n return \"error\";\n } else if (stream.eat(\".\")) {\n state.waitProperty = true;\n return \"null\";\n } else {\n throw Error (\"Unexpected error while waiting for property.\");\n }\n }\n\n // Attempt to match a pipe that precedes a filter\n if (state.waitPipe) {\n state.waitPipe = false;\n\n if (stream.peek() != \"|\") {\n return \"null\";\n }\n\n // Pipe followed by a non-word character should be considered an error.\n if (stream.match(/\\.\\W+/)) {\n return \"error\";\n } else if (stream.eat(\"|\")) {\n state.waitFilter = true;\n return \"null\";\n } else {\n throw Error (\"Unexpected error while waiting for filter.\");\n }\n }\n\n // Highlight properties\n if (state.waitProperty) {\n state.waitProperty = false;\n if (stream.match(/\\b(\\w+)\\b/)) {\n state.waitDot = true; // A property can be followed by another property\n state.waitPipe = true; // A property can be followed by a filter\n return \"property\";\n }\n }\n\n // Highlight filters\n if (state.waitFilter) {\n state.waitFilter = false;\n if (stream.match(filters)) {\n return \"variable-2\";\n }\n }\n\n // Ignore all white spaces\n if (stream.eatSpace()) {\n state.waitProperty = false;\n return \"null\";\n }\n\n // Identify numbers\n if (stream.match(/\\b\\d+(\\.\\d+)?\\b/)) {\n return \"number\";\n }\n\n // Identify strings\n if (stream.match(\"'\")) {\n state.tokenize = inString(\"'\", state.tokenize);\n return \"string\";\n } else if (stream.match('\"')) {\n state.tokenize = inString('\"', state.tokenize);\n return \"string\";\n }\n\n // Attempt to match an operator\n if (stream.match(operators)) {\n return \"operator\";\n }\n\n // Attempt to match a word operator\n if (stream.match(wordOperators)) {\n return \"keyword\";\n }\n\n // Attempt to match a keyword\n var keywordMatch = stream.match(keywords);\n if (keywordMatch) {\n if (keywordMatch[0] == \"comment\") {\n state.blockCommentTag = true;\n }\n return \"keyword\";\n }\n\n // Attempt to match a variable\n if (stream.match(/\\b(\\w+)\\b/)) {\n state.waitDot = true;\n state.waitPipe = true; // A property can be followed by a filter\n return \"variable\";\n }\n\n // If found closing tag reset\n if (stream.match(\"%}\")) {\n state.waitProperty = null;\n state.waitFilter = null;\n state.waitDot = null;\n state.waitPipe = null;\n // If the tag that closes is a block comment tag, we want to mark the\n // following code as comment, until the tag closes.\n if (state.blockCommentTag) {\n state.blockCommentTag = false; // Release the \"lock\"\n state.tokenize = inBlockComment;\n } else {\n state.tokenize = tokenBase;\n }\n return \"tag\";\n }\n\n // If nothing was found, advance to the next character\n stream.next();\n return \"null\";\n }\n\n // Mark everything as comment inside the tag and the tag itself.\n function inComment (stream, state) {\n if (stream.match(/^.*?#\\}/)) state.tokenize = tokenBase\n else stream.skipToEnd()\n return \"comment\";\n }\n\n // Mark everything as a comment until the `blockcomment` tag closes.\n function inBlockComment (stream, state) {\n if (stream.match(/\\{%\\s*endcomment\\s*%\\}/, false)) {\n state.tokenize = inTag;\n stream.match(\"{%\");\n return \"tag\";\n } else {\n stream.next();\n return \"comment\";\n }\n }\n\n return {\n startState: function () {\n return {tokenize: tokenBase};\n },\n token: function (stream, state) {\n return state.tokenize(stream, state);\n },\n blockCommentStart: \"{% comment %}\",\n blockCommentEnd: \"{% endcomment %}\"\n };\n });\n\n CodeMirror.defineMode(\"django\", function(config) {\n var htmlBase = CodeMirror.getMode(config, \"text/html\");\n var djangoInner = CodeMirror.getMode(config, \"django:inner\");\n return CodeMirror.overlayMode(htmlBase, djangoInner);\n });\n\n CodeMirror.defineMIME(\"text/x-django\", \"django\");\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9tb2RlL2RqYW5nby9kamFuZ28uanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9tb2RlL2RqYW5nby9kamFuZ28uanM/NGIzNCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb2RlTWlycm9yLCBjb3B5cmlnaHQgKGMpIGJ5IE1hcmlqbiBIYXZlcmJla2UgYW5kIG90aGVyc1xuLy8gRGlzdHJpYnV0ZWQgdW5kZXIgYW4gTUlUIGxpY2Vuc2U6IGh0dHBzOi8vY29kZW1pcnJvci5uZXQvTElDRU5TRVxuXG4oZnVuY3Rpb24obW9kKSB7XG4gIGlmICh0eXBlb2YgZXhwb3J0cyA9PSBcIm9iamVjdFwiICYmIHR5cGVvZiBtb2R1bGUgPT0gXCJvYmplY3RcIikgLy8gQ29tbW9uSlNcbiAgICBtb2QocmVxdWlyZShcIi4uLy4uL2xpYi9jb2RlbWlycm9yXCIpLCByZXF1aXJlKFwiLi4vaHRtbG1peGVkL2h0bWxtaXhlZFwiKSxcbiAgICAgICAgcmVxdWlyZShcIi4uLy4uL2FkZG9uL21vZGUvb3ZlcmxheVwiKSk7XG4gIGVsc2UgaWYgKHR5cGVvZiBkZWZpbmUgPT0gXCJmdW5jdGlvblwiICYmIGRlZmluZS5hbWQpIC8vIEFNRFxuICAgIGRlZmluZShbXCIuLi8uLi9saWIvY29kZW1pcnJvclwiLCBcIi4uL2h0bWxtaXhlZC9odG1sbWl4ZWRcIixcbiAgICAgICAgICAgIFwiLi4vLi4vYWRkb24vbW9kZS9vdmVybGF5XCJdLCBtb2QpO1xuICBlbHNlIC8vIFBsYWluIGJyb3dzZXIgZW52XG4gICAgbW9kKENvZGVNaXJyb3IpO1xufSkoZnVuY3Rpb24oQ29kZU1pcnJvcikge1xuICBcInVzZSBzdHJpY3RcIjtcblxuICBDb2RlTWlycm9yLmRlZmluZU1vZGUoXCJkamFuZ286aW5uZXJcIiwgZnVuY3Rpb24oKSB7XG4gICAgdmFyIGtleXdvcmRzID0gW1wiYmxvY2tcIiwgXCJlbmRibG9ja1wiLCBcImZvclwiLCBcImVuZGZvclwiLCBcInRydWVcIiwgXCJmYWxzZVwiLCBcImZpbHRlclwiLCBcImVuZGZpbHRlclwiLFxuICAgICAgICAgICAgICAgICAgICBcImxvb3BcIiwgXCJub25lXCIsIFwic2VsZlwiLCBcInN1cGVyXCIsIFwiaWZcIiwgXCJlbGlmXCIsIFwiZW5kaWZcIiwgXCJhc1wiLCBcImVsc2VcIiwgXCJpbXBvcnRcIixcbiAgICAgICAgICAgICAgICAgICAgXCJ3aXRoXCIsIFwiZW5kd2l0aFwiLCBcIndpdGhvdXRcIiwgXCJjb250ZXh0XCIsIFwiaWZlcXVhbFwiLCBcImVuZGlmZXF1YWxcIiwgXCJpZm5vdGVxdWFsXCIsXG4gICAgICAgICAgICAgICAgICAgIFwiZW5kaWZub3RlcXVhbFwiLCBcImV4dGVuZHNcIiwgXCJpbmNsdWRlXCIsIFwibG9hZFwiLCBcImNvbW1lbnRcIiwgXCJlbmRjb21tZW50XCIsXG4gICAgICAgICAgICAgICAgICAgIFwiZW1wdHlcIiwgXCJ1cmxcIiwgXCJzdGF0aWNcIiwgXCJ0cmFuc1wiLCBcImJsb2NrdHJhbnNcIiwgXCJlbmRibG9ja3RyYW5zXCIsIFwibm93XCIsXG4gICAgICAgICAgICAgICAgICAgIFwicmVncm91cFwiLCBcImxvcmVtXCIsIFwiaWZjaGFuZ2VkXCIsIFwiZW5kaWZjaGFuZ2VkXCIsIFwiZmlyc3RvZlwiLCBcImRlYnVnXCIsIFwiY3ljbGVcIixcbiAgICAgICAgICAgICAgICAgICAgXCJjc3JmX3Rva2VuXCIsIFwiYXV0b2VzY2FwZVwiLCBcImVuZGF1dG9lc2NhcGVcIiwgXCJzcGFjZWxlc3NcIiwgXCJlbmRzcGFjZWxlc3NcIixcbiAgICAgICAgICAgICAgICAgICAgXCJzc2lcIiwgXCJ0ZW1wbGF0ZXRhZ1wiLCBcInZlcmJhdGltXCIsIFwiZW5kdmVyYmF0aW1cIiwgXCJ3aWR0aHJhdGlvXCJdLFxuICAgICAgICBmaWx0ZXJzID0gW1wiYWRkXCIsIFwiYWRkc2xhc2hlc1wiLCBcImNhcGZpcnN0XCIsIFwiY2VudGVyXCIsIFwiY3V0XCIsIFwiZGF0ZVwiLFxuICAgICAgICAgICAgICAgICAgIFwiZGVmYXVsdFwiLCBcImRlZmF1bHRfaWZfbm9uZVwiLCBcImRpY3Rzb3J0XCIsXG4gICAgICAgICAgICAgICAgICAgXCJkaWN0c29ydHJldmVyc2VkXCIsIFwiZGl2aXNpYmxlYnlcIiwgXCJlc2NhcGVcIiwgXCJlc2NhcGVqc1wiLFxuICAgICAgICAgICAgICAgICAgIFwiZmlsZXNpemVmb3JtYXRcIiwgXCJmaXJzdFwiLCBcImZsb2F0Zm9ybWF0XCIsIFwiZm9yY2VfZXNjYXBlXCIsXG4gICAgICAgICAgICAgICAgICAgXCJnZXRfZGlnaXRcIiwgXCJpcmllbmNvZGVcIiwgXCJqb2luXCIsIFwibGFzdFwiLCBcImxlbmd0aFwiLFxuICAgICAgICAgICAgICAgICAgIFwibGVuZ3RoX2lzXCIsIFwibGluZWJyZWFrc1wiLCBcImxpbmVicmVha3NiclwiLCBcImxpbmVudW1iZXJzXCIsXG4gICAgICAgICAgICAgICAgICAgXCJsanVzdFwiLCBcImxvd2VyXCIsIFwibWFrZV9saXN0XCIsIFwicGhvbmUybnVtZXJpY1wiLCBcInBsdXJhbGl6ZVwiLFxuICAgICAgICAgICAgICAgICAgIFwicHByaW50XCIsIFwicmFuZG9tXCIsIFwicmVtb3ZldGFnc1wiLCBcInJqdXN0XCIsIFwic2FmZVwiLFxuICAgICAgICAgICAgICAgICAgIFwic2FmZXNlcVwiLCBcInNsaWNlXCIsIFwic2x1Z2lmeVwiLCBcInN0cmluZ2Zvcm1hdFwiLCBcInN0cmlwdGFnc1wiLFxuICAgICAgICAgICAgICAgICAgIFwidGltZVwiLCBcInRpbWVzaW5jZVwiLCBcInRpbWV1bnRpbFwiLCBcInRpdGxlXCIsIFwidHJ1bmNhdGVjaGFyc1wiLFxuICAgICAgICAgICAgICAgICAgIFwidHJ1bmNhdGVjaGFyc19odG1sXCIsIFwidHJ1bmNhdGV3b3Jkc1wiLCBcInRydW5jYXRld29yZHNfaHRtbFwiLFxuICAgICAgICAgICAgICAgICAgIFwidW5vcmRlcmVkX2xpc3RcIiwgXCJ1cHBlclwiLCBcInVybGVuY29kZVwiLCBcInVybGl6ZVwiLFxuICAgICAgICAgICAgICAgICAgIFwidXJsaXpldHJ1bmNcIiwgXCJ3b3JkY291bnRcIiwgXCJ3b3Jkd3JhcFwiLCBcInllc25vXCJdLFxuICAgICAgICBvcGVyYXRvcnMgPSBbXCI9PVwiLCBcIiE9XCIsIFwiPFwiLCBcIj5cIiwgXCI8PVwiLCBcIj49XCJdLFxuICAgICAgICB3b3JkT3BlcmF0b3JzID0gW1wiaW5cIiwgXCJub3RcIiwgXCJvclwiLCBcImFuZFwiXTtcblxuICAgIGtleXdvcmRzID0gbmV3IFJlZ0V4cChcIl5cXFxcYihcIiArIGtleXdvcmRzLmpvaW4oXCJ8XCIpICsgXCIpXFxcXGJcIik7XG4gICAgZmlsdGVycyA9IG5ldyBSZWdFeHAoXCJeXFxcXGIoXCIgKyBmaWx0ZXJzLmpvaW4oXCJ8XCIpICsgXCIpXFxcXGJcIik7XG4gICAgb3BlcmF0b3JzID0gbmV3IFJlZ0V4cChcIl5cXFxcYihcIiArIG9wZXJhdG9ycy5qb2luKFwifFwiKSArIFwiKVxcXFxiXCIpO1xuICAgIHdvcmRPcGVyYXRvcnMgPSBuZXcgUmVnRXhwKFwiXlxcXFxiKFwiICsgd29yZE9wZXJhdG9ycy5qb2luKFwifFwiKSArIFwiKVxcXFxiXCIpO1xuXG4gICAgLy8gV2UgaGF2ZSB0byByZXR1cm4gXCJudWxsXCIgaW5zdGVhZCBvZiBudWxsLCBpbiBvcmRlciB0byBhdm9pZCBzdHJpbmdcbiAgICAvLyBzdHlsaW5nIGFzIHRoZSBkZWZhdWx0LCB3aGVuIHVzaW5nIERqYW5nbyB0ZW1wbGF0ZXMgaW5zaWRlIEhUTUxcbiAgICAvLyBlbGVtZW50IGF0dHJpYnV0ZXNcbiAgICBmdW5jdGlvbiB0b2tlbkJhc2UgKHN0cmVhbSwgc3RhdGUpIHtcbiAgICAgIC8vIEF0dGVtcHQgdG8gaWRlbnRpZnkgYSB2YXJpYWJsZSwgdGVtcGxhdGUgb3IgY29tbWVudCB0YWcgcmVzcGVjdGl2ZWx5XG4gICAgICBpZiAoc3RyZWFtLm1hdGNoKFwie3tcIikpIHtcbiAgICAgICAgc3RhdGUudG9rZW5pemUgPSBpblZhcmlhYmxlO1xuICAgICAgICByZXR1cm4gXCJ0YWdcIjtcbiAgICAgIH0gZWxzZSBpZiAoc3RyZWFtLm1hdGNoKFwieyVcIikpIHtcbiAgICAgICAgc3RhdGUudG9rZW5pemUgPSBpblRhZztcbiAgICAgICAgcmV0dXJuIFwidGFnXCI7XG4gICAgICB9IGVsc2UgaWYgKHN0cmVhbS5tYXRjaChcInsjXCIpKSB7XG4gICAgICAgIHN0YXRlLnRva2VuaXplID0gaW5Db21tZW50O1xuICAgICAgICByZXR1cm4gXCJjb21tZW50XCI7XG4gICAgICB9XG5cbiAgICAgIC8vIElnbm9yZSBjb21wbGV0ZWx5IGFueSBzdHJlYW0gc2VyaWVzIHRoYXQgZG8gbm90IG1hdGNoIHRoZVxuICAgICAgLy8gRGphbmdvIHRlbXBsYXRlIG9wZW5pbmcgdGFncy5cbiAgICAgIHdoaWxlIChzdHJlYW0ubmV4dCgpICE9IG51bGwgJiYgIXN0cmVhbS5tYXRjaCgvXFx7W3slI10vLCBmYWxzZSkpIHt9XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICAvLyBBIHN0cmluZyBjYW4gYmUgaW5jbHVkZWQgaW4gZWl0aGVyIHNpbmdsZSBvciBkb3VibGUgcXVvdGVzICh0aGlzIGlzXG4gICAgLy8gdGhlIGRlbGltaXRlcikuIE1hcmsgZXZlcnl0aGluZyBhcyBhIHN0cmluZyB1bnRpbCB0aGUgc3RhcnQgZGVsaW1pdGVyXG4gICAgLy8gb2NjdXJzIGFnYWluLlxuICAgIGZ1bmN0aW9uIGluU3RyaW5nIChkZWxpbWl0ZXIsIHByZXZpb3VzVG9rZW5pemVyKSB7XG4gICAgICByZXR1cm4gZnVuY3Rpb24gKHN0cmVhbSwgc3RhdGUpIHtcbiAgICAgICAgaWYgKCFzdGF0ZS5lc2NhcGVOZXh0ICYmIHN0cmVhbS5lYXQoZGVsaW1pdGVyKSkge1xuICAgICAgICAgIHN0YXRlLnRva2VuaXplID0gcHJldmlvdXNUb2tlbml6ZXI7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaWYgKHN0YXRlLmVzY2FwZU5leHQpIHtcbiAgICAgICAgICAgIHN0YXRlLmVzY2FwZU5leHQgPSBmYWxzZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB2YXIgY2ggPSBzdHJlYW0ubmV4dCgpO1xuXG4gICAgICAgICAgLy8gVGFrZSBpbnRvIGFjY291bnQgdGhlIGJhY2tzbGFzaCBmb3IgZXNjYXBpbmcgY2hhcmFjdGVycywgc3VjaCBhc1xuICAgICAgICAgIC8vIHRoZSBzdHJpbmcgZGVsaW1pdGVyLlxuICAgICAgICAgIGlmIChjaCA9PSBcIlxcXFxcIikge1xuICAgICAgICAgICAgc3RhdGUuZXNjYXBlTmV4dCA9IHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIFwic3RyaW5nXCI7XG4gICAgICB9O1xuICAgIH1cblxuICAgIC8vIEFwcGx5IERqYW5nbyB0ZW1wbGF0ZSB2YXJpYWJsZSBzeW50YXggaGlnaGxpZ2h0aW5nXG4gICAgZnVuY3Rpb24gaW5WYXJpYWJsZSAoc3RyZWFtLCBzdGF0ZSkge1xuICAgICAgLy8gQXR0ZW1wdCB0byBtYXRjaCBhIGRvdCB0aGF0IHByZWNlZGVzIGEgcHJvcGVydHlcbiAgICAgIGlmIChzdGF0ZS53YWl0RG90KSB7XG4gICAgICAgIHN0YXRlLndhaXREb3QgPSBmYWxzZTtcblxuICAgICAgICBpZiAoc3RyZWFtLnBlZWsoKSAhPSBcIi5cIikge1xuICAgICAgICAgIHJldHVybiBcIm51bGxcIjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIERvdCBmb2xsb3dlZCBieSBhIG5vbi13b3JkIGNoYXJhY3RlciBzaG91bGQgYmUgY29uc2lkZXJlZCBhbiBlcnJvci5cbiAgICAgICAgaWYgKHN0cmVhbS5tYXRjaCgvXFwuXFxXKy8pKSB7XG4gICAgICAgICAgcmV0dXJuIFwiZXJyb3JcIjtcbiAgICAgICAgfSBlbHNlIGlmIChzdHJlYW0uZWF0KFwiLlwiKSkge1xuICAgICAgICAgIHN0YXRlLndhaXRQcm9wZXJ0eSA9IHRydWU7XG4gICAgICAgICAgcmV0dXJuIFwibnVsbFwiO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRocm93IEVycm9yIChcIlVuZXhwZWN0ZWQgZXJyb3Igd2hpbGUgd2FpdGluZyBmb3IgcHJvcGVydHkuXCIpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIEF0dGVtcHQgdG8gbWF0Y2ggYSBwaXBlIHRoYXQgcHJlY2VkZXMgYSBmaWx0ZXJcbiAgICAgIGlmIChzdGF0ZS53YWl0UGlwZSkge1xuICAgICAgICBzdGF0ZS53YWl0UGlwZSA9IGZhbHNlO1xuXG4gICAgICAgIGlmIChzdHJlYW0ucGVlaygpICE9IFwifFwiKSB7XG4gICAgICAgICAgcmV0dXJuIFwibnVsbFwiO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gUGlwZSBmb2xsb3dlZCBieSBhIG5vbi13b3JkIGNoYXJhY3RlciBzaG91bGQgYmUgY29uc2lkZXJlZCBhbiBlcnJvci5cbiAgICAgICAgaWYgKHN0cmVhbS5tYXRjaCgvXFwuXFxXKy8pKSB7XG4gICAgICAgICAgcmV0dXJuIFwiZXJyb3JcIjtcbiAgICAgICAgfSBlbHNlIGlmIChzdHJlYW0uZWF0KFwifFwiKSkge1xuICAgICAgICAgIHN0YXRlLndhaXRGaWx0ZXIgPSB0cnVlO1xuICAgICAgICAgIHJldHVybiBcIm51bGxcIjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aHJvdyBFcnJvciAoXCJVbmV4cGVjdGVkIGVycm9yIHdoaWxlIHdhaXRpbmcgZm9yIGZpbHRlci5cIik7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gSGlnaGxpZ2h0IHByb3BlcnRpZXNcbiAgICAgIGlmIChzdGF0ZS53YWl0UHJvcGVydHkpIHtcbiAgICAgICAgc3RhdGUud2FpdFByb3BlcnR5ID0gZmFsc2U7XG4gICAgICAgIGlmIChzdHJlYW0ubWF0Y2goL1xcYihcXHcrKVxcYi8pKSB7XG4gICAgICAgICAgc3RhdGUud2FpdERvdCA9IHRydWU7ICAvLyBBIHByb3BlcnR5IGNhbiBiZSBmb2xsb3dlZCBieSBhbm90aGVyIHByb3BlcnR5XG4gICAgICAgICAgc3RhdGUud2FpdFBpcGUgPSB0cnVlOyAgLy8gQSBwcm9wZXJ0eSBjYW4gYmUgZm9sbG93ZWQgYnkgYSBmaWx0ZXJcbiAgICAgICAgICByZXR1cm4gXCJwcm9wZXJ0eVwiO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIEhpZ2hsaWdodCBmaWx0ZXJzXG4gICAgICBpZiAoc3RhdGUud2FpdEZpbHRlcikge1xuICAgICAgICAgIHN0YXRlLndhaXRGaWx0ZXIgPSBmYWxzZTtcbiAgICAgICAgaWYgKHN0cmVhbS5tYXRjaChmaWx0ZXJzKSkge1xuICAgICAgICAgIHJldHVybiBcInZhcmlhYmxlLTJcIjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBJZ25vcmUgYWxsIHdoaXRlIHNwYWNlc1xuICAgICAgaWYgKHN0cmVhbS5lYXRTcGFjZSgpKSB7XG4gICAgICAgIHN0YXRlLndhaXRQcm9wZXJ0eSA9IGZhbHNlO1xuICAgICAgICByZXR1cm4gXCJudWxsXCI7XG4gICAgICB9XG5cbiAgICAgIC8vIElkZW50aWZ5IG51bWJlcnNcbiAgICAgIGlmIChzdHJlYW0ubWF0Y2goL1xcYlxcZCsoXFwuXFxkKyk/XFxiLykpIHtcbiAgICAgICAgcmV0dXJuIFwibnVtYmVyXCI7XG4gICAgICB9XG5cbiAgICAgIC8vIElkZW50aWZ5IHN0cmluZ3NcbiAgICAgIGlmIChzdHJlYW0ubWF0Y2goXCInXCIpKSB7XG4gICAgICAgIHN0YXRlLnRva2VuaXplID0gaW5TdHJpbmcoXCInXCIsIHN0YXRlLnRva2VuaXplKTtcbiAgICAgICAgcmV0dXJuIFwic3RyaW5nXCI7XG4gICAgICB9IGVsc2UgaWYgKHN0cmVhbS5tYXRjaCgnXCInKSkge1xuICAgICAgICBzdGF0ZS50b2tlbml6ZSA9IGluU3RyaW5nKCdcIicsIHN0YXRlLnRva2VuaXplKTtcbiAgICAgICAgcmV0dXJuIFwic3RyaW5nXCI7XG4gICAgICB9XG5cbiAgICAgIC8vIEF0dGVtcHQgdG8gZmluZCB0aGUgdmFyaWFibGVcbiAgICAgIGlmIChzdHJlYW0ubWF0Y2goL1xcYihcXHcrKVxcYi8pICYmICFzdGF0ZS5mb3VuZFZhcmlhYmxlKSB7XG4gICAgICAgIHN0YXRlLndhaXREb3QgPSB0cnVlO1xuICAgICAgICBzdGF0ZS53YWl0UGlwZSA9IHRydWU7ICAvLyBBIHByb3BlcnR5IGNhbiBiZSBmb2xsb3dlZCBieSBhIGZpbHRlclxuICAgICAgICByZXR1cm4gXCJ2YXJpYWJsZVwiO1xuICAgICAgfVxuXG4gICAgICAvLyBJZiBmb3VuZCBjbG9zaW5nIHRhZyByZXNldFxuICAgICAgaWYgKHN0cmVhbS5tYXRjaChcIn19XCIpKSB7XG4gICAgICAgIHN0YXRlLndhaXRQcm9wZXJ0eSA9IG51bGw7XG4gICAgICAgIHN0YXRlLndhaXRGaWx0ZXIgPSBudWxsO1xuICAgICAgICBzdGF0ZS53YWl0RG90ID0gbnVsbDtcbiAgICAgICAgc3RhdGUud2FpdFBpcGUgPSBudWxsO1xuICAgICAgICBzdGF0ZS50b2tlbml6ZSA9IHRva2VuQmFzZTtcbiAgICAgICAgcmV0dXJuIFwidGFnXCI7XG4gICAgICB9XG5cbiAgICAgIC8vIElmIG5vdGhpbmcgd2FzIGZvdW5kLCBhZHZhbmNlIHRvIHRoZSBuZXh0IGNoYXJhY3RlclxuICAgICAgc3RyZWFtLm5leHQoKTtcbiAgICAgIHJldHVybiBcIm51bGxcIjtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBpblRhZyAoc3RyZWFtLCBzdGF0ZSkge1xuICAgICAgLy8gQXR0ZW1wdCB0byBtYXRjaCBhIGRvdCB0aGF0IHByZWNlZGVzIGEgcHJvcGVydHlcbiAgICAgIGlmIChzdGF0ZS53YWl0RG90KSB7XG4gICAgICAgIHN0YXRlLndhaXREb3QgPSBmYWxzZTtcblxuICAgICAgICBpZiAoc3RyZWFtLnBlZWsoKSAhPSBcIi5cIikge1xuICAgICAgICAgIHJldHVybiBcIm51bGxcIjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIERvdCBmb2xsb3dlZCBieSBhIG5vbi13b3JkIGNoYXJhY3RlciBzaG91bGQgYmUgY29uc2lkZXJlZCBhbiBlcnJvci5cbiAgICAgICAgaWYgKHN0cmVhbS5tYXRjaCgvXFwuXFxXKy8pKSB7XG4gICAgICAgICAgcmV0dXJuIFwiZXJyb3JcIjtcbiAgICAgICAgfSBlbHNlIGlmIChzdHJlYW0uZWF0KFwiLlwiKSkge1xuICAgICAgICAgIHN0YXRlLndhaXRQcm9wZXJ0eSA9IHRydWU7XG4gICAgICAgICAgcmV0dXJuIFwibnVsbFwiO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRocm93IEVycm9yIChcIlVuZXhwZWN0ZWQgZXJyb3Igd2hpbGUgd2FpdGluZyBmb3IgcHJvcGVydHkuXCIpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIEF0dGVtcHQgdG8gbWF0Y2ggYSBwaXBlIHRoYXQgcHJlY2VkZXMgYSBmaWx0ZXJcbiAgICAgIGlmIChzdGF0ZS53YWl0UGlwZSkge1xuICAgICAgICBzdGF0ZS53YWl0UGlwZSA9IGZhbHNlO1xuXG4gICAgICAgIGlmIChzdHJlYW0ucGVlaygpICE9IFwifFwiKSB7XG4gICAgICAgICAgcmV0dXJuIFwibnVsbFwiO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gUGlwZSBmb2xsb3dlZCBieSBhIG5vbi13b3JkIGNoYXJhY3RlciBzaG91bGQgYmUgY29uc2lkZXJlZCBhbiBlcnJvci5cbiAgICAgICAgaWYgKHN0cmVhbS5tYXRjaCgvXFwuXFxXKy8pKSB7XG4gICAgICAgICAgcmV0dXJuIFwiZXJyb3JcIjtcbiAgICAgICAgfSBlbHNlIGlmIChzdHJlYW0uZWF0KFwifFwiKSkge1xuICAgICAgICAgIHN0YXRlLndhaXRGaWx0ZXIgPSB0cnVlO1xuICAgICAgICAgIHJldHVybiBcIm51bGxcIjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aHJvdyBFcnJvciAoXCJVbmV4cGVjdGVkIGVycm9yIHdoaWxlIHdhaXRpbmcgZm9yIGZpbHRlci5cIik7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gSGlnaGxpZ2h0IHByb3BlcnRpZXNcbiAgICAgIGlmIChzdGF0ZS53YWl0UHJvcGVydHkpIHtcbiAgICAgICAgc3RhdGUud2FpdFByb3BlcnR5ID0gZmFsc2U7XG4gICAgICAgIGlmIChzdHJlYW0ubWF0Y2goL1xcYihcXHcrKVxcYi8pKSB7XG4gICAgICAgICAgc3RhdGUud2FpdERvdCA9IHRydWU7ICAvLyBBIHByb3BlcnR5IGNhbiBiZSBmb2xsb3dlZCBieSBhbm90aGVyIHByb3BlcnR5XG4gICAgICAgICAgc3RhdGUud2FpdFBpcGUgPSB0cnVlOyAgLy8gQSBwcm9wZXJ0eSBjYW4gYmUgZm9sbG93ZWQgYnkgYSBmaWx0ZXJcbiAgICAgICAgICByZXR1cm4gXCJwcm9wZXJ0eVwiO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIEhpZ2hsaWdodCBmaWx0ZXJzXG4gICAgICBpZiAoc3RhdGUud2FpdEZpbHRlcikge1xuICAgICAgICAgIHN0YXRlLndhaXRGaWx0ZXIgPSBmYWxzZTtcbiAgICAgICAgaWYgKHN0cmVhbS5tYXRjaChmaWx0ZXJzKSkge1xuICAgICAgICAgIHJldHVybiBcInZhcmlhYmxlLTJcIjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBJZ25vcmUgYWxsIHdoaXRlIHNwYWNlc1xuICAgICAgaWYgKHN0cmVhbS5lYXRTcGFjZSgpKSB7XG4gICAgICAgIHN0YXRlLndhaXRQcm9wZXJ0eSA9IGZhbHNlO1xuICAgICAgICByZXR1cm4gXCJudWxsXCI7XG4gICAgICB9XG5cbiAgICAgIC8vIElkZW50aWZ5IG51bWJlcnNcbiAgICAgIGlmIChzdHJlYW0ubWF0Y2goL1xcYlxcZCsoXFwuXFxkKyk/XFxiLykpIHtcbiAgICAgICAgcmV0dXJuIFwibnVtYmVyXCI7XG4gICAgICB9XG5cbiAgICAgIC8vIElkZW50aWZ5IHN0cmluZ3NcbiAgICAgIGlmIChzdHJlYW0ubWF0Y2goXCInXCIpKSB7XG4gICAgICAgIHN0YXRlLnRva2VuaXplID0gaW5TdHJpbmcoXCInXCIsIHN0YXRlLnRva2VuaXplKTtcbiAgICAgICAgcmV0dXJuIFwic3RyaW5nXCI7XG4gICAgICB9IGVsc2UgaWYgKHN0cmVhbS5tYXRjaCgnXCInKSkge1xuICAgICAgICBzdGF0ZS50b2tlbml6ZSA9IGluU3RyaW5nKCdcIicsIHN0YXRlLnRva2VuaXplKTtcbiAgICAgICAgcmV0dXJuIFwic3RyaW5nXCI7XG4gICAgICB9XG5cbiAgICAgIC8vIEF0dGVtcHQgdG8gbWF0Y2ggYW4gb3BlcmF0b3JcbiAgICAgIGlmIChzdHJlYW0ubWF0Y2gob3BlcmF0b3JzKSkge1xuICAgICAgICByZXR1cm4gXCJvcGVyYXRvclwiO1xuICAgICAgfVxuXG4gICAgICAvLyBBdHRlbXB0IHRvIG1hdGNoIGEgd29yZCBvcGVyYXRvclxuICAgICAgaWYgKHN0cmVhbS5tYXRjaCh3b3JkT3BlcmF0b3JzKSkge1xuICAgICAgICByZXR1cm4gXCJrZXl3b3JkXCI7XG4gICAgICB9XG5cbiAgICAgIC8vIEF0dGVtcHQgdG8gbWF0Y2ggYSBrZXl3b3JkXG4gICAgICB2YXIga2V5d29yZE1hdGNoID0gc3RyZWFtLm1hdGNoKGtleXdvcmRzKTtcbiAgICAgIGlmIChrZXl3b3JkTWF0Y2gpIHtcbiAgICAgICAgaWYgKGtleXdvcmRNYXRjaFswXSA9PSBcImNvbW1lbnRcIikge1xuICAgICAgICAgIHN0YXRlLmJsb2NrQ29tbWVudFRhZyA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIFwia2V5d29yZFwiO1xuICAgICAgfVxuXG4gICAgICAvLyBBdHRlbXB0IHRvIG1hdGNoIGEgdmFyaWFibGVcbiAgICAgIGlmIChzdHJlYW0ubWF0Y2goL1xcYihcXHcrKVxcYi8pKSB7XG4gICAgICAgIHN0YXRlLndhaXREb3QgPSB0cnVlO1xuICAgICAgICBzdGF0ZS53YWl0UGlwZSA9IHRydWU7ICAvLyBBIHByb3BlcnR5IGNhbiBiZSBmb2xsb3dlZCBieSBhIGZpbHRlclxuICAgICAgICByZXR1cm4gXCJ2YXJpYWJsZVwiO1xuICAgICAgfVxuXG4gICAgICAvLyBJZiBmb3VuZCBjbG9zaW5nIHRhZyByZXNldFxuICAgICAgaWYgKHN0cmVhbS5tYXRjaChcIiV9XCIpKSB7XG4gICAgICAgIHN0YXRlLndhaXRQcm9wZXJ0eSA9IG51bGw7XG4gICAgICAgIHN0YXRlLndhaXRGaWx0ZXIgPSBudWxsO1xuICAgICAgICBzdGF0ZS53YWl0RG90ID0gbnVsbDtcbiAgICAgICAgc3RhdGUud2FpdFBpcGUgPSBudWxsO1xuICAgICAgICAvLyBJZiB0aGUgdGFnIHRoYXQgY2xvc2VzIGlzIGEgYmxvY2sgY29tbWVudCB0YWcsIHdlIHdhbnQgdG8gbWFyayB0aGVcbiAgICAgICAgLy8gZm9sbG93aW5nIGNvZGUgYXMgY29tbWVudCwgdW50aWwgdGhlIHRhZyBjbG9zZXMuXG4gICAgICAgIGlmIChzdGF0ZS5ibG9ja0NvbW1lbnRUYWcpIHtcbiAgICAgICAgICBzdGF0ZS5ibG9ja0NvbW1lbnRUYWcgPSBmYWxzZTsgIC8vIFJlbGVhc2UgdGhlIFwibG9ja1wiXG4gICAgICAgICAgc3RhdGUudG9rZW5pemUgPSBpbkJsb2NrQ29tbWVudDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBzdGF0ZS50b2tlbml6ZSA9IHRva2VuQmFzZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gXCJ0YWdcIjtcbiAgICAgIH1cblxuICAgICAgLy8gSWYgbm90aGluZyB3YXMgZm91bmQsIGFkdmFuY2UgdG8gdGhlIG5leHQgY2hhcmFjdGVyXG4gICAgICBzdHJlYW0ubmV4dCgpO1xuICAgICAgcmV0dXJuIFwibnVsbFwiO1xuICAgIH1cblxuICAgIC8vIE1hcmsgZXZlcnl0aGluZyBhcyBjb21tZW50IGluc2lkZSB0aGUgdGFnIGFuZCB0aGUgdGFnIGl0c2VsZi5cbiAgICBmdW5jdGlvbiBpbkNvbW1lbnQgKHN0cmVhbSwgc3RhdGUpIHtcbiAgICAgIGlmIChzdHJlYW0ubWF0Y2goL14uKj8jXFx9LykpIHN0YXRlLnRva2VuaXplID0gdG9rZW5CYXNlXG4gICAgICBlbHNlIHN0cmVhbS5za2lwVG9FbmQoKVxuICAgICAgcmV0dXJuIFwiY29tbWVudFwiO1xuICAgIH1cblxuICAgIC8vIE1hcmsgZXZlcnl0aGluZyBhcyBhIGNvbW1lbnQgdW50aWwgdGhlIGBibG9ja2NvbW1lbnRgIHRhZyBjbG9zZXMuXG4gICAgZnVuY3Rpb24gaW5CbG9ja0NvbW1lbnQgKHN0cmVhbSwgc3RhdGUpIHtcbiAgICAgIGlmIChzdHJlYW0ubWF0Y2goL1xceyVcXHMqZW5kY29tbWVudFxccyolXFx9LywgZmFsc2UpKSB7XG4gICAgICAgIHN0YXRlLnRva2VuaXplID0gaW5UYWc7XG4gICAgICAgIHN0cmVhbS5tYXRjaChcInslXCIpO1xuICAgICAgICByZXR1cm4gXCJ0YWdcIjtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHN0cmVhbS5uZXh0KCk7XG4gICAgICAgIHJldHVybiBcImNvbW1lbnRcIjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgc3RhcnRTdGF0ZTogZnVuY3Rpb24gKCkge1xuICAgICAgICByZXR1cm4ge3Rva2VuaXplOiB0b2tlbkJhc2V9O1xuICAgICAgfSxcbiAgICAgIHRva2VuOiBmdW5jdGlvbiAoc3RyZWFtLCBzdGF0ZSkge1xuICAgICAgICByZXR1cm4gc3RhdGUudG9rZW5pemUoc3RyZWFtLCBzdGF0ZSk7XG4gICAgICB9LFxuICAgICAgYmxvY2tDb21tZW50U3RhcnQ6IFwieyUgY29tbWVudCAlfVwiLFxuICAgICAgYmxvY2tDb21tZW50RW5kOiBcInslIGVuZGNvbW1lbnQgJX1cIlxuICAgIH07XG4gIH0pO1xuXG4gIENvZGVNaXJyb3IuZGVmaW5lTW9kZShcImRqYW5nb1wiLCBmdW5jdGlvbihjb25maWcpIHtcbiAgICB2YXIgaHRtbEJhc2UgPSBDb2RlTWlycm9yLmdldE1vZGUoY29uZmlnLCBcInRleHQvaHRtbFwiKTtcbiAgICB2YXIgZGphbmdvSW5uZXIgPSBDb2RlTWlycm9yLmdldE1vZGUoY29uZmlnLCBcImRqYW5nbzppbm5lclwiKTtcbiAgICByZXR1cm4gQ29kZU1pcnJvci5vdmVybGF5TW9kZShodG1sQmFzZSwgZGphbmdvSW5uZXIpO1xuICB9KTtcblxuICBDb2RlTWlycm9yLmRlZmluZU1JTUUoXCJ0ZXh0L3gtZGphbmdvXCIsIFwiZGphbmdvXCIpO1xufSk7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/codemirror/mode/django/django.js\n"); /***/ }), /***/ "./node_modules/codemirror/mode/erlang/erlang.js": /*!*******************************************************!*\ !*** ./node_modules/codemirror/mode/erlang/erlang.js ***! \*******************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n/*jshint unused:true, eqnull:true, curly:true, bitwise:true */\n/*jshint undef:true, latedef:true, trailing:true */\n/*global CodeMirror:true */\n\n// erlang mode.\n// tokenizer -> token types -> CodeMirror styles\n// tokenizer maintains a parse stack\n// indenter uses the parse stack\n\n// TODO indenter:\n// bit syntax\n// old guard/bif/conversion clashes (e.g. \"float/1\")\n// type/spec/opaque\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ \"./node_modules/codemirror/lib/codemirror.js\"));\n else {}\n})(function(CodeMirror) {\n\"use strict\";\n\nCodeMirror.defineMIME(\"text/x-erlang\", \"erlang\");\n\nCodeMirror.defineMode(\"erlang\", function(cmCfg) {\n \"use strict\";\n\n/////////////////////////////////////////////////////////////////////////////\n// constants\n\n var typeWords = [\n \"-type\", \"-spec\", \"-export_type\", \"-opaque\"];\n\n var keywordWords = [\n \"after\",\"begin\",\"catch\",\"case\",\"cond\",\"end\",\"fun\",\"if\",\n \"let\",\"of\",\"query\",\"receive\",\"try\",\"when\"];\n\n var separatorRE = /[\\->,;]/;\n var separatorWords = [\n \"->\",\";\",\",\"];\n\n var operatorAtomWords = [\n \"and\",\"andalso\",\"band\",\"bnot\",\"bor\",\"bsl\",\"bsr\",\"bxor\",\n \"div\",\"not\",\"or\",\"orelse\",\"rem\",\"xor\"];\n\n var operatorSymbolRE = /[\\+\\-\\*\\/<>=\\|:!]/;\n var operatorSymbolWords = [\n \"=\",\"+\",\"-\",\"*\",\"/\",\">\",\">=\",\"<\",\"=<\",\"=:=\",\"==\",\"=/=\",\"/=\",\"||\",\"<-\",\"!\"];\n\n var openParenRE = /[<\\(\\[\\{]/;\n var openParenWords = [\n \"<<\",\"(\",\"[\",\"{\"];\n\n var closeParenRE = /[>\\)\\]\\}]/;\n var closeParenWords = [\n \"}\",\"]\",\")\",\">>\"];\n\n var guardWords = [\n \"is_atom\",\"is_binary\",\"is_bitstring\",\"is_boolean\",\"is_float\",\n \"is_function\",\"is_integer\",\"is_list\",\"is_number\",\"is_pid\",\n \"is_port\",\"is_record\",\"is_reference\",\"is_tuple\",\n \"atom\",\"binary\",\"bitstring\",\"boolean\",\"function\",\"integer\",\"list\",\n \"number\",\"pid\",\"port\",\"record\",\"reference\",\"tuple\"];\n\n var bifWords = [\n \"abs\",\"adler32\",\"adler32_combine\",\"alive\",\"apply\",\"atom_to_binary\",\n \"atom_to_list\",\"binary_to_atom\",\"binary_to_existing_atom\",\n \"binary_to_list\",\"binary_to_term\",\"bit_size\",\"bitstring_to_list\",\n \"byte_size\",\"check_process_code\",\"contact_binary\",\"crc32\",\n \"crc32_combine\",\"date\",\"decode_packet\",\"delete_module\",\n \"disconnect_node\",\"element\",\"erase\",\"exit\",\"float\",\"float_to_list\",\n \"garbage_collect\",\"get\",\"get_keys\",\"group_leader\",\"halt\",\"hd\",\n \"integer_to_list\",\"internal_bif\",\"iolist_size\",\"iolist_to_binary\",\n \"is_alive\",\"is_atom\",\"is_binary\",\"is_bitstring\",\"is_boolean\",\n \"is_float\",\"is_function\",\"is_integer\",\"is_list\",\"is_number\",\"is_pid\",\n \"is_port\",\"is_process_alive\",\"is_record\",\"is_reference\",\"is_tuple\",\n \"length\",\"link\",\"list_to_atom\",\"list_to_binary\",\"list_to_bitstring\",\n \"list_to_existing_atom\",\"list_to_float\",\"list_to_integer\",\n \"list_to_pid\",\"list_to_tuple\",\"load_module\",\"make_ref\",\"module_loaded\",\n \"monitor_node\",\"node\",\"node_link\",\"node_unlink\",\"nodes\",\"notalive\",\n \"now\",\"open_port\",\"pid_to_list\",\"port_close\",\"port_command\",\n \"port_connect\",\"port_control\",\"pre_loaded\",\"process_flag\",\n \"process_info\",\"processes\",\"purge_module\",\"put\",\"register\",\n \"registered\",\"round\",\"self\",\"setelement\",\"size\",\"spawn\",\"spawn_link\",\n \"spawn_monitor\",\"spawn_opt\",\"split_binary\",\"statistics\",\n \"term_to_binary\",\"time\",\"throw\",\"tl\",\"trunc\",\"tuple_size\",\n \"tuple_to_list\",\"unlink\",\"unregister\",\"whereis\"];\n\n// upper case: [A-Z] [Ø-Þ] [À-Ö]\n// lower case: [a-z] [ß-ö] [ø-ÿ]\n var anumRE = /[\\w@Ø-ÞÀ-Öß-öø-ÿ]/;\n var escapesRE =\n /[0-7]{1,3}|[bdefnrstv\\\\\"']|\\^[a-zA-Z]|x[0-9a-zA-Z]{2}|x{[0-9a-zA-Z]+}/;\n\n/////////////////////////////////////////////////////////////////////////////\n// tokenizer\n\n function tokenizer(stream,state) {\n // in multi-line string\n if (state.in_string) {\n state.in_string = (!doubleQuote(stream));\n return rval(state,stream,\"string\");\n }\n\n // in multi-line atom\n if (state.in_atom) {\n state.in_atom = (!singleQuote(stream));\n return rval(state,stream,\"atom\");\n }\n\n // whitespace\n if (stream.eatSpace()) {\n return rval(state,stream,\"whitespace\");\n }\n\n // attributes and type specs\n if (!peekToken(state) &&\n stream.match(/-\\s*[a-zß-öø-ÿ][\\wØ-ÞÀ-Öß-öø-ÿ]*/)) {\n if (is_member(stream.current(),typeWords)) {\n return rval(state,stream,\"type\");\n }else{\n return rval(state,stream,\"attribute\");\n }\n }\n\n var ch = stream.next();\n\n // comment\n if (ch == '%') {\n stream.skipToEnd();\n return rval(state,stream,\"comment\");\n }\n\n // colon\n if (ch == \":\") {\n return rval(state,stream,\"colon\");\n }\n\n // macro\n if (ch == '?') {\n stream.eatSpace();\n stream.eatWhile(anumRE);\n return rval(state,stream,\"macro\");\n }\n\n // record\n if (ch == \"#\") {\n stream.eatSpace();\n stream.eatWhile(anumRE);\n return rval(state,stream,\"record\");\n }\n\n // dollar escape\n if (ch == \"$\") {\n if (stream.next() == \"\\\\\" && !stream.match(escapesRE)) {\n return rval(state,stream,\"error\");\n }\n return rval(state,stream,\"number\");\n }\n\n // dot\n if (ch == \".\") {\n return rval(state,stream,\"dot\");\n }\n\n // quoted atom\n if (ch == '\\'') {\n if (!(state.in_atom = (!singleQuote(stream)))) {\n if (stream.match(/\\s*\\/\\s*[0-9]/,false)) {\n stream.match(/\\s*\\/\\s*[0-9]/,true);\n return rval(state,stream,\"fun\"); // 'f'/0 style fun\n }\n if (stream.match(/\\s*\\(/,false) || stream.match(/\\s*:/,false)) {\n return rval(state,stream,\"function\");\n }\n }\n return rval(state,stream,\"atom\");\n }\n\n // string\n if (ch == '\"') {\n state.in_string = (!doubleQuote(stream));\n return rval(state,stream,\"string\");\n }\n\n // variable\n if (/[A-Z_Ø-ÞÀ-Ö]/.test(ch)) {\n stream.eatWhile(anumRE);\n return rval(state,stream,\"variable\");\n }\n\n // atom/keyword/BIF/function\n if (/[a-z_ß-öø-ÿ]/.test(ch)) {\n stream.eatWhile(anumRE);\n\n if (stream.match(/\\s*\\/\\s*[0-9]/,false)) {\n stream.match(/\\s*\\/\\s*[0-9]/,true);\n return rval(state,stream,\"fun\"); // f/0 style fun\n }\n\n var w = stream.current();\n\n if (is_member(w,keywordWords)) {\n return rval(state,stream,\"keyword\");\n }else if (is_member(w,operatorAtomWords)) {\n return rval(state,stream,\"operator\");\n }else if (stream.match(/\\s*\\(/,false)) {\n // 'put' and 'erlang:put' are bifs, 'foo:put' is not\n if (is_member(w,bifWords) &&\n ((peekToken(state).token != \":\") ||\n (peekToken(state,2).token == \"erlang\"))) {\n return rval(state,stream,\"builtin\");\n }else if (is_member(w,guardWords)) {\n return rval(state,stream,\"guard\");\n }else{\n return rval(state,stream,\"function\");\n }\n }else if (lookahead(stream) == \":\") {\n if (w == \"erlang\") {\n return rval(state,stream,\"builtin\");\n } else {\n return rval(state,stream,\"function\");\n }\n }else if (is_member(w,[\"true\",\"false\"])) {\n return rval(state,stream,\"boolean\");\n }else{\n return rval(state,stream,\"atom\");\n }\n }\n\n // number\n var digitRE = /[0-9]/;\n var radixRE = /[0-9a-zA-Z]/; // 36#zZ style int\n if (digitRE.test(ch)) {\n stream.eatWhile(digitRE);\n if (stream.eat('#')) { // 36#aZ style integer\n if (!stream.eatWhile(radixRE)) {\n stream.backUp(1); //\"36#\" - syntax error\n }\n } else if (stream.eat('.')) { // float\n if (!stream.eatWhile(digitRE)) {\n stream.backUp(1); // \"3.\" - probably end of function\n } else {\n if (stream.eat(/[eE]/)) { // float with exponent\n if (stream.eat(/[-+]/)) {\n if (!stream.eatWhile(digitRE)) {\n stream.backUp(2); // \"2e-\" - syntax error\n }\n } else {\n if (!stream.eatWhile(digitRE)) {\n stream.backUp(1); // \"2e\" - syntax error\n }\n }\n }\n }\n }\n return rval(state,stream,\"number\"); // normal integer\n }\n\n // open parens\n if (nongreedy(stream,openParenRE,openParenWords)) {\n return rval(state,stream,\"open_paren\");\n }\n\n // close parens\n if (nongreedy(stream,closeParenRE,closeParenWords)) {\n return rval(state,stream,\"close_paren\");\n }\n\n // separators\n if (greedy(stream,separatorRE,separatorWords)) {\n return rval(state,stream,\"separator\");\n }\n\n // operators\n if (greedy(stream,operatorSymbolRE,operatorSymbolWords)) {\n return rval(state,stream,\"operator\");\n }\n\n return rval(state,stream,null);\n }\n\n/////////////////////////////////////////////////////////////////////////////\n// utilities\n function nongreedy(stream,re,words) {\n if (stream.current().length == 1 && re.test(stream.current())) {\n stream.backUp(1);\n while (re.test(stream.peek())) {\n stream.next();\n if (is_member(stream.current(),words)) {\n return true;\n }\n }\n stream.backUp(stream.current().length-1);\n }\n return false;\n }\n\n function greedy(stream,re,words) {\n if (stream.current().length == 1 && re.test(stream.current())) {\n while (re.test(stream.peek())) {\n stream.next();\n }\n while (0 < stream.current().length) {\n if (is_member(stream.current(),words)) {\n return true;\n }else{\n stream.backUp(1);\n }\n }\n stream.next();\n }\n return false;\n }\n\n function doubleQuote(stream) {\n return quote(stream, '\"', '\\\\');\n }\n\n function singleQuote(stream) {\n return quote(stream,'\\'','\\\\');\n }\n\n function quote(stream,quoteChar,escapeChar) {\n while (!stream.eol()) {\n var ch = stream.next();\n if (ch == quoteChar) {\n return true;\n }else if (ch == escapeChar) {\n stream.next();\n }\n }\n return false;\n }\n\n function lookahead(stream) {\n var m = stream.match(/([\\n\\s]+|%[^\\n]*\\n)*(.)/,false);\n return m ? m.pop() : \"\";\n }\n\n function is_member(element,list) {\n return (-1 < list.indexOf(element));\n }\n\n function rval(state,stream,type) {\n\n // parse stack\n pushToken(state,realToken(type,stream));\n\n // map erlang token type to CodeMirror style class\n // erlang -> CodeMirror tag\n switch (type) {\n case \"atom\": return \"atom\";\n case \"attribute\": return \"attribute\";\n case \"boolean\": return \"atom\";\n case \"builtin\": return \"builtin\";\n case \"close_paren\": return null;\n case \"colon\": return null;\n case \"comment\": return \"comment\";\n case \"dot\": return null;\n case \"error\": return \"error\";\n case \"fun\": return \"meta\";\n case \"function\": return \"tag\";\n case \"guard\": return \"property\";\n case \"keyword\": return \"keyword\";\n case \"macro\": return \"variable-2\";\n case \"number\": return \"number\";\n case \"open_paren\": return null;\n case \"operator\": return \"operator\";\n case \"record\": return \"bracket\";\n case \"separator\": return null;\n case \"string\": return \"string\";\n case \"type\": return \"def\";\n case \"variable\": return \"variable\";\n default: return null;\n }\n }\n\n function aToken(tok,col,ind,typ) {\n return {token: tok,\n column: col,\n indent: ind,\n type: typ};\n }\n\n function realToken(type,stream) {\n return aToken(stream.current(),\n stream.column(),\n stream.indentation(),\n type);\n }\n\n function fakeToken(type) {\n return aToken(type,0,0,type);\n }\n\n function peekToken(state,depth) {\n var len = state.tokenStack.length;\n var dep = (depth ? depth : 1);\n\n if (len < dep) {\n return false;\n }else{\n return state.tokenStack[len-dep];\n }\n }\n\n function pushToken(state,token) {\n\n if (!(token.type == \"comment\" || token.type == \"whitespace\")) {\n state.tokenStack = maybe_drop_pre(state.tokenStack,token);\n state.tokenStack = maybe_drop_post(state.tokenStack);\n }\n }\n\n function maybe_drop_pre(s,token) {\n var last = s.length-1;\n\n if (0 < last && s[last].type === \"record\" && token.type === \"dot\") {\n s.pop();\n }else if (0 < last && s[last].type === \"group\") {\n s.pop();\n s.push(token);\n }else{\n s.push(token);\n }\n return s;\n }\n\n function maybe_drop_post(s) {\n if (!s.length) return s\n var last = s.length-1;\n\n if (s[last].type === \"dot\") {\n return [];\n }\n if (last > 1 && s[last].type === \"fun\" && s[last-1].token === \"fun\") {\n return s.slice(0,last-1);\n }\n switch (s[last].token) {\n case \"}\": return d(s,{g:[\"{\"]});\n case \"]\": return d(s,{i:[\"[\"]});\n case \")\": return d(s,{i:[\"(\"]});\n case \">>\": return d(s,{i:[\"<<\"]});\n case \"end\": return d(s,{i:[\"begin\",\"case\",\"fun\",\"if\",\"receive\",\"try\"]});\n case \",\": return d(s,{e:[\"begin\",\"try\",\"when\",\"->\",\n \",\",\"(\",\"[\",\"{\",\"<<\"]});\n case \"->\": return d(s,{r:[\"when\"],\n m:[\"try\",\"if\",\"case\",\"receive\"]});\n case \";\": return d(s,{E:[\"case\",\"fun\",\"if\",\"receive\",\"try\",\"when\"]});\n case \"catch\":return d(s,{e:[\"try\"]});\n case \"of\": return d(s,{e:[\"case\"]});\n case \"after\":return d(s,{e:[\"receive\",\"try\"]});\n default: return s;\n }\n }\n\n function d(stack,tt) {\n // stack is a stack of Token objects.\n // tt is an object; {type:tokens}\n // type is a char, tokens is a list of token strings.\n // The function returns (possibly truncated) stack.\n // It will descend the stack, looking for a Token such that Token.token\n // is a member of tokens. If it does not find that, it will normally (but\n // see \"E\" below) return stack. If it does find a match, it will remove\n // all the Tokens between the top and the matched Token.\n // If type is \"m\", that is all it does.\n // If type is \"i\", it will also remove the matched Token and the top Token.\n // If type is \"g\", like \"i\", but add a fake \"group\" token at the top.\n // If type is \"r\", it will remove the matched Token, but not the top Token.\n // If type is \"e\", it will keep the matched Token but not the top Token.\n // If type is \"E\", it behaves as for type \"e\", except if there is no match,\n // in which case it will return an empty stack.\n\n for (var type in tt) {\n var len = stack.length-1;\n var tokens = tt[type];\n for (var i = len-1; -1 < i ; i--) {\n if (is_member(stack[i].token,tokens)) {\n var ss = stack.slice(0,i);\n switch (type) {\n case \"m\": return ss.concat(stack[i]).concat(stack[len]);\n case \"r\": return ss.concat(stack[len]);\n case \"i\": return ss;\n case \"g\": return ss.concat(fakeToken(\"group\"));\n case \"E\": return ss.concat(stack[i]);\n case \"e\": return ss.concat(stack[i]);\n }\n }\n }\n }\n return (type == \"E\" ? [] : stack);\n }\n\n/////////////////////////////////////////////////////////////////////////////\n// indenter\n\n function indenter(state,textAfter) {\n var t;\n var unit = cmCfg.indentUnit;\n var wordAfter = wordafter(textAfter);\n var currT = peekToken(state,1);\n var prevT = peekToken(state,2);\n\n if (state.in_string || state.in_atom) {\n return CodeMirror.Pass;\n }else if (!prevT) {\n return 0;\n }else if (currT.token == \"when\") {\n return currT.column+unit;\n }else if (wordAfter === \"when\" && prevT.type === \"function\") {\n return prevT.indent+unit;\n }else if (wordAfter === \"(\" && currT.token === \"fun\") {\n return currT.column+3;\n }else if (wordAfter === \"catch\" && (t = getToken(state,[\"try\"]))) {\n return t.column;\n }else if (is_member(wordAfter,[\"end\",\"after\",\"of\"])) {\n t = getToken(state,[\"begin\",\"case\",\"fun\",\"if\",\"receive\",\"try\"]);\n return t ? t.column : CodeMirror.Pass;\n }else if (is_member(wordAfter,closeParenWords)) {\n t = getToken(state,openParenWords);\n return t ? t.column : CodeMirror.Pass;\n }else if (is_member(currT.token,[\",\",\"|\",\"||\"]) ||\n is_member(wordAfter,[\",\",\"|\",\"||\"])) {\n t = postcommaToken(state);\n return t ? t.column+t.token.length : unit;\n }else if (currT.token == \"->\") {\n if (is_member(prevT.token, [\"receive\",\"case\",\"if\",\"try\"])) {\n return prevT.column+unit+unit;\n }else{\n return prevT.column+unit;\n }\n }else if (is_member(currT.token,openParenWords)) {\n return currT.column+currT.token.length;\n }else{\n t = defaultToken(state);\n return truthy(t) ? t.column+unit : 0;\n }\n }\n\n function wordafter(str) {\n var m = str.match(/,|[a-z]+|\\}|\\]|\\)|>>|\\|+|\\(/);\n\n return truthy(m) && (m.index === 0) ? m[0] : \"\";\n }\n\n function postcommaToken(state) {\n var objs = state.tokenStack.slice(0,-1);\n var i = getTokenIndex(objs,\"type\",[\"open_paren\"]);\n\n return truthy(objs[i]) ? objs[i] : false;\n }\n\n function defaultToken(state) {\n var objs = state.tokenStack;\n var stop = getTokenIndex(objs,\"type\",[\"open_paren\",\"separator\",\"keyword\"]);\n var oper = getTokenIndex(objs,\"type\",[\"operator\"]);\n\n if (truthy(stop) && truthy(oper) && stop < oper) {\n return objs[stop+1];\n } else if (truthy(stop)) {\n return objs[stop];\n } else {\n return false;\n }\n }\n\n function getToken(state,tokens) {\n var objs = state.tokenStack;\n var i = getTokenIndex(objs,\"token\",tokens);\n\n return truthy(objs[i]) ? objs[i] : false;\n }\n\n function getTokenIndex(objs,propname,propvals) {\n\n for (var i = objs.length-1; -1 < i ; i--) {\n if (is_member(objs[i][propname],propvals)) {\n return i;\n }\n }\n return false;\n }\n\n function truthy(x) {\n return (x !== false) && (x != null);\n }\n\n/////////////////////////////////////////////////////////////////////////////\n// this object defines the mode\n\n return {\n startState:\n function() {\n return {tokenStack: [],\n in_string: false,\n in_atom: false};\n },\n\n token:\n function(stream, state) {\n return tokenizer(stream, state);\n },\n\n indent:\n function(state, textAfter) {\n return indenter(state,textAfter);\n },\n\n lineComment: \"%\"\n };\n});\n\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9tb2RlL2VybGFuZy9lcmxhbmcuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9tb2RlL2VybGFuZy9lcmxhbmcuanM/ZjUxNCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb2RlTWlycm9yLCBjb3B5cmlnaHQgKGMpIGJ5IE1hcmlqbiBIYXZlcmJla2UgYW5kIG90aGVyc1xuLy8gRGlzdHJpYnV0ZWQgdW5kZXIgYW4gTUlUIGxpY2Vuc2U6IGh0dHBzOi8vY29kZW1pcnJvci5uZXQvTElDRU5TRVxuXG4vKmpzaGludCB1bnVzZWQ6dHJ1ZSwgZXFudWxsOnRydWUsIGN1cmx5OnRydWUsIGJpdHdpc2U6dHJ1ZSAqL1xuLypqc2hpbnQgdW5kZWY6dHJ1ZSwgbGF0ZWRlZjp0cnVlLCB0cmFpbGluZzp0cnVlICovXG4vKmdsb2JhbCBDb2RlTWlycm9yOnRydWUgKi9cblxuLy8gZXJsYW5nIG1vZGUuXG4vLyB0b2tlbml6ZXIgLT4gdG9rZW4gdHlwZXMgLT4gQ29kZU1pcnJvciBzdHlsZXNcbi8vIHRva2VuaXplciBtYWludGFpbnMgYSBwYXJzZSBzdGFja1xuLy8gaW5kZW50ZXIgdXNlcyB0aGUgcGFyc2Ugc3RhY2tcblxuLy8gVE9ETyBpbmRlbnRlcjpcbi8vICAgYml0IHN5bnRheFxuLy8gICBvbGQgZ3VhcmQvYmlmL2NvbnZlcnNpb24gY2xhc2hlcyAoZS5nLiBcImZsb2F0LzFcIilcbi8vICAgdHlwZS9zcGVjL29wYXF1ZVxuXG4oZnVuY3Rpb24obW9kKSB7XG4gIGlmICh0eXBlb2YgZXhwb3J0cyA9PSBcIm9iamVjdFwiICYmIHR5cGVvZiBtb2R1bGUgPT0gXCJvYmplY3RcIikgLy8gQ29tbW9uSlNcbiAgICBtb2QocmVxdWlyZShcIi4uLy4uL2xpYi9jb2RlbWlycm9yXCIpKTtcbiAgZWxzZSBpZiAodHlwZW9mIGRlZmluZSA9PSBcImZ1bmN0aW9uXCIgJiYgZGVmaW5lLmFtZCkgLy8gQU1EXG4gICAgZGVmaW5lKFtcIi4uLy4uL2xpYi9jb2RlbWlycm9yXCJdLCBtb2QpO1xuICBlbHNlIC8vIFBsYWluIGJyb3dzZXIgZW52XG4gICAgbW9kKENvZGVNaXJyb3IpO1xufSkoZnVuY3Rpb24oQ29kZU1pcnJvcikge1xuXCJ1c2Ugc3RyaWN0XCI7XG5cbkNvZGVNaXJyb3IuZGVmaW5lTUlNRShcInRleHQveC1lcmxhbmdcIiwgXCJlcmxhbmdcIik7XG5cbkNvZGVNaXJyb3IuZGVmaW5lTW9kZShcImVybGFuZ1wiLCBmdW5jdGlvbihjbUNmZykge1xuICBcInVzZSBzdHJpY3RcIjtcblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIGNvbnN0YW50c1xuXG4gIHZhciB0eXBlV29yZHMgPSBbXG4gICAgXCItdHlwZVwiLCBcIi1zcGVjXCIsIFwiLWV4cG9ydF90eXBlXCIsIFwiLW9wYXF1ZVwiXTtcblxuICB2YXIga2V5d29yZFdvcmRzID0gW1xuICAgIFwiYWZ0ZXJcIixcImJlZ2luXCIsXCJjYXRjaFwiLFwiY2FzZVwiLFwiY29uZFwiLFwiZW5kXCIsXCJmdW5cIixcImlmXCIsXG4gICAgXCJsZXRcIixcIm9mXCIsXCJxdWVyeVwiLFwicmVjZWl2ZVwiLFwidHJ5XCIsXCJ3aGVuXCJdO1xuXG4gIHZhciBzZXBhcmF0b3JSRSAgICA9IC9bXFwtPiw7XS87XG4gIHZhciBzZXBhcmF0b3JXb3JkcyA9IFtcbiAgICBcIi0+XCIsXCI7XCIsXCIsXCJdO1xuXG4gIHZhciBvcGVyYXRvckF0b21Xb3JkcyA9IFtcbiAgICBcImFuZFwiLFwiYW5kYWxzb1wiLFwiYmFuZFwiLFwiYm5vdFwiLFwiYm9yXCIsXCJic2xcIixcImJzclwiLFwiYnhvclwiLFxuICAgIFwiZGl2XCIsXCJub3RcIixcIm9yXCIsXCJvcmVsc2VcIixcInJlbVwiLFwieG9yXCJdO1xuXG4gIHZhciBvcGVyYXRvclN5bWJvbFJFICAgID0gL1tcXCtcXC1cXCpcXC88Pj1cXHw6IV0vO1xuICB2YXIgb3BlcmF0b3JTeW1ib2xXb3JkcyA9IFtcbiAgICBcIj1cIixcIitcIixcIi1cIixcIipcIixcIi9cIixcIj5cIixcIj49XCIsXCI8XCIsXCI9PFwiLFwiPTo9XCIsXCI9PVwiLFwiPS89XCIsXCIvPVwiLFwifHxcIixcIjwtXCIsXCIhXCJdO1xuXG4gIHZhciBvcGVuUGFyZW5SRSAgICA9IC9bPFxcKFxcW1xce10vO1xuICB2YXIgb3BlblBhcmVuV29yZHMgPSBbXG4gICAgXCI8PFwiLFwiKFwiLFwiW1wiLFwie1wiXTtcblxuICB2YXIgY2xvc2VQYXJlblJFICAgID0gL1s+XFwpXFxdXFx9XS87XG4gIHZhciBjbG9zZVBhcmVuV29yZHMgPSBbXG4gICAgXCJ9XCIsXCJdXCIsXCIpXCIsXCI+PlwiXTtcblxuICB2YXIgZ3VhcmRXb3JkcyA9IFtcbiAgICBcImlzX2F0b21cIixcImlzX2JpbmFyeVwiLFwiaXNfYml0c3RyaW5nXCIsXCJpc19ib29sZWFuXCIsXCJpc19mbG9hdFwiLFxuICAgIFwiaXNfZnVuY3Rpb25cIixcImlzX2ludGVnZXJcIixcImlzX2xpc3RcIixcImlzX251bWJlclwiLFwiaXNfcGlkXCIsXG4gICAgXCJpc19wb3J0XCIsXCJpc19yZWNvcmRcIixcImlzX3JlZmVyZW5jZVwiLFwiaXNfdHVwbGVcIixcbiAgICBcImF0b21cIixcImJpbmFyeVwiLFwiYml0c3RyaW5nXCIsXCJib29sZWFuXCIsXCJmdW5jdGlvblwiLFwiaW50ZWdlclwiLFwibGlzdFwiLFxuICAgIFwibnVtYmVyXCIsXCJwaWRcIixcInBvcnRcIixcInJlY29yZFwiLFwicmVmZXJlbmNlXCIsXCJ0dXBsZVwiXTtcblxuICB2YXIgYmlmV29yZHMgPSBbXG4gICAgXCJhYnNcIixcImFkbGVyMzJcIixcImFkbGVyMzJfY29tYmluZVwiLFwiYWxpdmVcIixcImFwcGx5XCIsXCJhdG9tX3RvX2JpbmFyeVwiLFxuICAgIFwiYXRvbV90b19saXN0XCIsXCJiaW5hcnlfdG9fYXRvbVwiLFwiYmluYXJ5X3RvX2V4aXN0aW5nX2F0b21cIixcbiAgICBcImJpbmFyeV90b19saXN0XCIsXCJiaW5hcnlfdG9fdGVybVwiLFwiYml0X3NpemVcIixcImJpdHN0cmluZ190b19saXN0XCIsXG4gICAgXCJieXRlX3NpemVcIixcImNoZWNrX3Byb2Nlc3NfY29kZVwiLFwiY29udGFjdF9iaW5hcnlcIixcImNyYzMyXCIsXG4gICAgXCJjcmMzMl9jb21iaW5lXCIsXCJkYXRlXCIsXCJkZWNvZGVfcGFja2V0XCIsXCJkZWxldGVfbW9kdWxlXCIsXG4gICAgXCJkaXNjb25uZWN0X25vZGVcIixcImVsZW1lbnRcIixcImVyYXNlXCIsXCJleGl0XCIsXCJmbG9hdFwiLFwiZmxvYXRfdG9fbGlzdFwiLFxuICAgIFwiZ2FyYmFnZV9jb2xsZWN0XCIsXCJnZXRcIixcImdldF9rZXlzXCIsXCJncm91cF9sZWFkZXJcIixcImhhbHRcIixcImhkXCIsXG4gICAgXCJpbnRlZ2VyX3RvX2xpc3RcIixcImludGVybmFsX2JpZlwiLFwiaW9saXN0X3NpemVcIixcImlvbGlzdF90b19iaW5hcnlcIixcbiAgICBcImlzX2FsaXZlXCIsXCJpc19hdG9tXCIsXCJpc19iaW5hcnlcIixcImlzX2JpdHN0cmluZ1wiLFwiaXNfYm9vbGVhblwiLFxuICAgIFwiaXNfZmxvYXRcIixcImlzX2Z1bmN0aW9uXCIsXCJpc19pbnRlZ2VyXCIsXCJpc19saXN0XCIsXCJpc19udW1iZXJcIixcImlzX3BpZFwiLFxuICAgIFwiaXNfcG9ydFwiLFwiaXNfcHJvY2Vzc19hbGl2ZVwiLFwiaXNfcmVjb3JkXCIsXCJpc19yZWZlcmVuY2VcIixcImlzX3R1cGxlXCIsXG4gICAgXCJsZW5ndGhcIixcImxpbmtcIixcImxpc3RfdG9fYXRvbVwiLFwibGlzdF90b19iaW5hcnlcIixcImxpc3RfdG9fYml0c3RyaW5nXCIsXG4gICAgXCJsaXN0X3RvX2V4aXN0aW5nX2F0b21cIixcImxpc3RfdG9fZmxvYXRcIixcImxpc3RfdG9faW50ZWdlclwiLFxuICAgIFwibGlzdF90b19waWRcIixcImxpc3RfdG9fdHVwbGVcIixcImxvYWRfbW9kdWxlXCIsXCJtYWtlX3JlZlwiLFwibW9kdWxlX2xvYWRlZFwiLFxuICAgIFwibW9uaXRvcl9ub2RlXCIsXCJub2RlXCIsXCJub2RlX2xpbmtcIixcIm5vZGVfdW5saW5rXCIsXCJub2Rlc1wiLFwibm90YWxpdmVcIixcbiAgICBcIm5vd1wiLFwib3Blbl9wb3J0XCIsXCJwaWRfdG9fbGlzdFwiLFwicG9ydF9jbG9zZVwiLFwicG9ydF9jb21tYW5kXCIsXG4gICAgXCJwb3J0X2Nvbm5lY3RcIixcInBvcnRfY29udHJvbFwiLFwicHJlX2xvYWRlZFwiLFwicHJvY2Vzc19mbGFnXCIsXG4gICAgXCJwcm9jZXNzX2luZm9cIixcInByb2Nlc3Nlc1wiLFwicHVyZ2VfbW9kdWxlXCIsXCJwdXRcIixcInJlZ2lzdGVyXCIsXG4gICAgXCJyZWdpc3RlcmVkXCIsXCJyb3VuZFwiLFwic2VsZlwiLFwic2V0ZWxlbWVudFwiLFwic2l6ZVwiLFwic3Bhd25cIixcInNwYXduX2xpbmtcIixcbiAgICBcInNwYXduX21vbml0b3JcIixcInNwYXduX29wdFwiLFwic3BsaXRfYmluYXJ5XCIsXCJzdGF0aXN0aWNzXCIsXG4gICAgXCJ0ZXJtX3RvX2JpbmFyeVwiLFwidGltZVwiLFwidGhyb3dcIixcInRsXCIsXCJ0cnVuY1wiLFwidHVwbGVfc2l6ZVwiLFxuICAgIFwidHVwbGVfdG9fbGlzdFwiLFwidW5saW5rXCIsXCJ1bnJlZ2lzdGVyXCIsXCJ3aGVyZWlzXCJdO1xuXG4vLyB1cHBlciBjYXNlOiBbQS1aXSBbw5gtw55dIFvDgC3Dll1cbi8vIGxvd2VyIGNhc2U6IFthLXpdIFvDny3Dtl0gW8O4LcO/XVxuICB2YXIgYW51bVJFICAgICAgID0gL1tcXHdAw5gtw57DgC3DlsOfLcO2w7gtw79dLztcbiAgdmFyIGVzY2FwZXNSRSAgICA9XG4gICAgL1swLTddezEsM318W2JkZWZucnN0dlxcXFxcIiddfFxcXlthLXpBLVpdfHhbMC05YS16QS1aXXsyfXx4e1swLTlhLXpBLVpdK30vO1xuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gdG9rZW5pemVyXG5cbiAgZnVuY3Rpb24gdG9rZW5pemVyKHN0cmVhbSxzdGF0ZSkge1xuICAgIC8vIGluIG11bHRpLWxpbmUgc3RyaW5nXG4gICAgaWYgKHN0YXRlLmluX3N0cmluZykge1xuICAgICAgc3RhdGUuaW5fc3RyaW5nID0gKCFkb3VibGVRdW90ZShzdHJlYW0pKTtcbiAgICAgIHJldHVybiBydmFsKHN0YXRlLHN0cmVhbSxcInN0cmluZ1wiKTtcbiAgICB9XG5cbiAgICAvLyBpbiBtdWx0aS1saW5lIGF0b21cbiAgICBpZiAoc3RhdGUuaW5fYXRvbSkge1xuICAgICAgc3RhdGUuaW5fYXRvbSA9ICghc2luZ2xlUXVvdGUoc3RyZWFtKSk7XG4gICAgICByZXR1cm4gcnZhbChzdGF0ZSxzdHJlYW0sXCJhdG9tXCIpO1xuICAgIH1cblxuICAgIC8vIHdoaXRlc3BhY2VcbiAgICBpZiAoc3RyZWFtLmVhdFNwYWNlKCkpIHtcbiAgICAgIHJldHVybiBydmFsKHN0YXRlLHN0cmVhbSxcIndoaXRlc3BhY2VcIik7XG4gICAgfVxuXG4gICAgLy8gYXR0cmlidXRlcyBhbmQgdHlwZSBzcGVjc1xuICAgIGlmICghcGVla1Rva2VuKHN0YXRlKSAmJlxuICAgICAgICBzdHJlYW0ubWF0Y2goLy1cXHMqW2EtesOfLcO2w7gtw79dW1xcd8OYLcOew4Atw5bDny3DtsO4LcO/XSovKSkge1xuICAgICAgaWYgKGlzX21lbWJlcihzdHJlYW0uY3VycmVudCgpLHR5cGVXb3JkcykpIHtcbiAgICAgICAgcmV0dXJuIHJ2YWwoc3RhdGUsc3RyZWFtLFwidHlwZVwiKTtcbiAgICAgIH1lbHNle1xuICAgICAgICByZXR1cm4gcnZhbChzdGF0ZSxzdHJlYW0sXCJhdHRyaWJ1dGVcIik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdmFyIGNoID0gc3RyZWFtLm5leHQoKTtcblxuICAgIC8vIGNvbW1lbnRcbiAgICBpZiAoY2ggPT0gJyUnKSB7XG4gICAgICBzdHJlYW0uc2tpcFRvRW5kKCk7XG4gICAgICByZXR1cm4gcnZhbChzdGF0ZSxzdHJlYW0sXCJjb21tZW50XCIpO1xuICAgIH1cblxuICAgIC8vIGNvbG9uXG4gICAgaWYgKGNoID09IFwiOlwiKSB7XG4gICAgICByZXR1cm4gcnZhbChzdGF0ZSxzdHJlYW0sXCJjb2xvblwiKTtcbiAgICB9XG5cbiAgICAvLyBtYWNyb1xuICAgIGlmIChjaCA9PSAnPycpIHtcbiAgICAgIHN0cmVhbS5lYXRTcGFjZSgpO1xuICAgICAgc3RyZWFtLmVhdFdoaWxlKGFudW1SRSk7XG4gICAgICByZXR1cm4gcnZhbChzdGF0ZSxzdHJlYW0sXCJtYWNyb1wiKTtcbiAgICB9XG5cbiAgICAvLyByZWNvcmRcbiAgICBpZiAoY2ggPT0gXCIjXCIpIHtcbiAgICAgIHN0cmVhbS5lYXRTcGFjZSgpO1xuICAgICAgc3RyZWFtLmVhdFdoaWxlKGFudW1SRSk7XG4gICAgICByZXR1cm4gcnZhbChzdGF0ZSxzdHJlYW0sXCJyZWNvcmRcIik7XG4gICAgfVxuXG4gICAgLy8gZG9sbGFyIGVzY2FwZVxuICAgIGlmIChjaCA9PSBcIiRcIikge1xuICAgICAgaWYgKHN0cmVhbS5uZXh0KCkgPT0gXCJcXFxcXCIgJiYgIXN0cmVhbS5tYXRjaChlc2NhcGVzUkUpKSB7XG4gICAgICAgIHJldHVybiBydmFsKHN0YXRlLHN0cmVhbSxcImVycm9yXCIpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHJ2YWwoc3RhdGUsc3RyZWFtLFwibnVtYmVyXCIpO1xuICAgIH1cblxuICAgIC8vIGRvdFxuICAgIGlmIChjaCA9PSBcIi5cIikge1xuICAgICAgcmV0dXJuIHJ2YWwoc3RhdGUsc3RyZWFtLFwiZG90XCIpO1xuICAgIH1cblxuICAgIC8vIHF1b3RlZCBhdG9tXG4gICAgaWYgKGNoID09ICdcXCcnKSB7XG4gICAgICBpZiAoIShzdGF0ZS5pbl9hdG9tID0gKCFzaW5nbGVRdW90ZShzdHJlYW0pKSkpIHtcbiAgICAgICAgaWYgKHN0cmVhbS5tYXRjaCgvXFxzKlxcL1xccypbMC05XS8sZmFsc2UpKSB7XG4gICAgICAgICAgc3RyZWFtLm1hdGNoKC9cXHMqXFwvXFxzKlswLTldLyx0cnVlKTtcbiAgICAgICAgICByZXR1cm4gcnZhbChzdGF0ZSxzdHJlYW0sXCJmdW5cIik7ICAgICAgLy8gJ2YnLzAgc3R5bGUgZnVuXG4gICAgICAgIH1cbiAgICAgICAgaWYgKHN0cmVhbS5tYXRjaCgvXFxzKlxcKC8sZmFsc2UpIHx8IHN0cmVhbS5tYXRjaCgvXFxzKjovLGZhbHNlKSkge1xuICAgICAgICAgIHJldHVybiBydmFsKHN0YXRlLHN0cmVhbSxcImZ1bmN0aW9uXCIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gcnZhbChzdGF0ZSxzdHJlYW0sXCJhdG9tXCIpO1xuICAgIH1cblxuICAgIC8vIHN0cmluZ1xuICAgIGlmIChjaCA9PSAnXCInKSB7XG4gICAgICBzdGF0ZS5pbl9zdHJpbmcgPSAoIWRvdWJsZVF1b3RlKHN0cmVhbSkpO1xuICAgICAgcmV0dXJuIHJ2YWwoc3RhdGUsc3RyZWFtLFwic3RyaW5nXCIpO1xuICAgIH1cblxuICAgIC8vIHZhcmlhYmxlXG4gICAgaWYgKC9bQS1aX8OYLcOew4Atw5ZdLy50ZXN0KGNoKSkge1xuICAgICAgc3RyZWFtLmVhdFdoaWxlKGFudW1SRSk7XG4gICAgICByZXR1cm4gcnZhbChzdGF0ZSxzdHJlYW0sXCJ2YXJpYWJsZVwiKTtcbiAgICB9XG5cbiAgICAvLyBhdG9tL2tleXdvcmQvQklGL2Z1bmN0aW9uXG4gICAgaWYgKC9bYS16X8OfLcO2w7gtw79dLy50ZXN0KGNoKSkge1xuICAgICAgc3RyZWFtLmVhdFdoaWxlKGFudW1SRSk7XG5cbiAgICAgIGlmIChzdHJlYW0ubWF0Y2goL1xccypcXC9cXHMqWzAtOV0vLGZhbHNlKSkge1xuICAgICAgICBzdHJlYW0ubWF0Y2goL1xccypcXC9cXHMqWzAtOV0vLHRydWUpO1xuICAgICAgICByZXR1cm4gcnZhbChzdGF0ZSxzdHJlYW0sXCJmdW5cIik7ICAgICAgLy8gZi8wIHN0eWxlIGZ1blxuICAgICAgfVxuXG4gICAgICB2YXIgdyA9IHN0cmVhbS5jdXJyZW50KCk7XG5cbiAgICAgIGlmIChpc19tZW1iZXIodyxrZXl3b3JkV29yZHMpKSB7XG4gICAgICAgIHJldHVybiBydmFsKHN0YXRlLHN0cmVhbSxcImtleXdvcmRcIik7XG4gICAgICB9ZWxzZSBpZiAoaXNfbWVtYmVyKHcsb3BlcmF0b3JBdG9tV29yZHMpKSB7XG4gICAgICAgIHJldHVybiBydmFsKHN0YXRlLHN0cmVhbSxcIm9wZXJhdG9yXCIpO1xuICAgICAgfWVsc2UgaWYgKHN0cmVhbS5tYXRjaCgvXFxzKlxcKC8sZmFsc2UpKSB7XG4gICAgICAgIC8vICdwdXQnIGFuZCAnZXJsYW5nOnB1dCcgYXJlIGJpZnMsICdmb286cHV0JyBpcyBub3RcbiAgICAgICAgaWYgKGlzX21lbWJlcih3LGJpZldvcmRzKSAmJlxuICAgICAgICAgICAgKChwZWVrVG9rZW4oc3RhdGUpLnRva2VuICE9IFwiOlwiKSB8fFxuICAgICAgICAgICAgIChwZWVrVG9rZW4oc3RhdGUsMikudG9rZW4gPT0gXCJlcmxhbmdcIikpKSB7XG4gICAgICAgICAgcmV0dXJuIHJ2YWwoc3RhdGUsc3RyZWFtLFwiYnVpbHRpblwiKTtcbiAgICAgICAgfWVsc2UgaWYgKGlzX21lbWJlcih3LGd1YXJkV29yZHMpKSB7XG4gICAgICAgICAgcmV0dXJuIHJ2YWwoc3RhdGUsc3RyZWFtLFwiZ3VhcmRcIik7XG4gICAgICAgIH1lbHNle1xuICAgICAgICAgIHJldHVybiBydmFsKHN0YXRlLHN0cmVhbSxcImZ1bmN0aW9uXCIpO1xuICAgICAgICB9XG4gICAgICB9ZWxzZSBpZiAobG9va2FoZWFkKHN0cmVhbSkgPT0gXCI6XCIpIHtcbiAgICAgICAgaWYgKHcgPT0gXCJlcmxhbmdcIikge1xuICAgICAgICAgIHJldHVybiBydmFsKHN0YXRlLHN0cmVhbSxcImJ1aWx0aW5cIik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIHJ2YWwoc3RhdGUsc3RyZWFtLFwiZnVuY3Rpb25cIik7XG4gICAgICAgIH1cbiAgICAgIH1lbHNlIGlmIChpc19tZW1iZXIodyxbXCJ0cnVlXCIsXCJmYWxzZVwiXSkpIHtcbiAgICAgICAgcmV0dXJuIHJ2YWwoc3RhdGUsc3RyZWFtLFwiYm9vbGVhblwiKTtcbiAgICAgIH1lbHNle1xuICAgICAgICByZXR1cm4gcnZhbChzdGF0ZSxzdHJlYW0sXCJhdG9tXCIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIG51bWJlclxuICAgIHZhciBkaWdpdFJFICAgICAgPSAvWzAtOV0vO1xuICAgIHZhciByYWRpeFJFICAgICAgPSAvWzAtOWEtekEtWl0vOyAgICAgICAgIC8vIDM2I3paIHN0eWxlIGludFxuICAgIGlmIChkaWdpdFJFLnRlc3QoY2gpKSB7XG4gICAgICBzdHJlYW0uZWF0V2hpbGUoZGlnaXRSRSk7XG4gICAgICBpZiAoc3RyZWFtLmVhdCgnIycpKSB7ICAgICAgICAgICAgICAgIC8vIDM2I2FaICBzdHlsZSBpbnRlZ2VyXG4gICAgICAgIGlmICghc3RyZWFtLmVhdFdoaWxlKHJhZGl4UkUpKSB7XG4gICAgICAgICAgc3RyZWFtLmJhY2tVcCgxKTsgICAgICAgICAgICAgICAgIC8vXCIzNiNcIiAtIHN5bnRheCBlcnJvclxuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKHN0cmVhbS5lYXQoJy4nKSkgeyAgICAgICAvLyBmbG9hdFxuICAgICAgICBpZiAoIXN0cmVhbS5lYXRXaGlsZShkaWdpdFJFKSkge1xuICAgICAgICAgIHN0cmVhbS5iYWNrVXAoMSk7ICAgICAgICAvLyBcIjMuXCIgLSBwcm9iYWJseSBlbmQgb2YgZnVuY3Rpb25cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpZiAoc3RyZWFtLmVhdCgvW2VFXS8pKSB7ICAgICAgICAvLyBmbG9hdCB3aXRoIGV4cG9uZW50XG4gICAgICAgICAgICBpZiAoc3RyZWFtLmVhdCgvWy0rXS8pKSB7XG4gICAgICAgICAgICAgIGlmICghc3RyZWFtLmVhdFdoaWxlKGRpZ2l0UkUpKSB7XG4gICAgICAgICAgICAgICAgc3RyZWFtLmJhY2tVcCgyKTsgICAgICAgICAgICAvLyBcIjJlLVwiIC0gc3ludGF4IGVycm9yXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGlmICghc3RyZWFtLmVhdFdoaWxlKGRpZ2l0UkUpKSB7XG4gICAgICAgICAgICAgICAgc3RyZWFtLmJhY2tVcCgxKTsgICAgICAgICAgICAvLyBcIjJlXCIgLSBzeW50YXggZXJyb3JcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIHJ2YWwoc3RhdGUsc3RyZWFtLFwibnVtYmVyXCIpOyAgIC8vIG5vcm1hbCBpbnRlZ2VyXG4gICAgfVxuXG4gICAgLy8gb3BlbiBwYXJlbnNcbiAgICBpZiAobm9uZ3JlZWR5KHN0cmVhbSxvcGVuUGFyZW5SRSxvcGVuUGFyZW5Xb3JkcykpIHtcbiAgICAgIHJldHVybiBydmFsKHN0YXRlLHN0cmVhbSxcIm9wZW5fcGFyZW5cIik7XG4gICAgfVxuXG4gICAgLy8gY2xvc2UgcGFyZW5zXG4gICAgaWYgKG5vbmdyZWVkeShzdHJlYW0sY2xvc2VQYXJlblJFLGNsb3NlUGFyZW5Xb3JkcykpIHtcbiAgICAgIHJldHVybiBydmFsKHN0YXRlLHN0cmVhbSxcImNsb3NlX3BhcmVuXCIpO1xuICAgIH1cblxuICAgIC8vIHNlcGFyYXRvcnNcbiAgICBpZiAoZ3JlZWR5KHN0cmVhbSxzZXBhcmF0b3JSRSxzZXBhcmF0b3JXb3JkcykpIHtcbiAgICAgIHJldHVybiBydmFsKHN0YXRlLHN0cmVhbSxcInNlcGFyYXRvclwiKTtcbiAgICB9XG5cbiAgICAvLyBvcGVyYXRvcnNcbiAgICBpZiAoZ3JlZWR5KHN0cmVhbSxvcGVyYXRvclN5bWJvbFJFLG9wZXJhdG9yU3ltYm9sV29yZHMpKSB7XG4gICAgICByZXR1cm4gcnZhbChzdGF0ZSxzdHJlYW0sXCJvcGVyYXRvclwiKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcnZhbChzdGF0ZSxzdHJlYW0sbnVsbCk7XG4gIH1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHV0aWxpdGllc1xuICBmdW5jdGlvbiBub25ncmVlZHkoc3RyZWFtLHJlLHdvcmRzKSB7XG4gICAgaWYgKHN0cmVhbS5jdXJyZW50KCkubGVuZ3RoID09IDEgJiYgcmUudGVzdChzdHJlYW0uY3VycmVudCgpKSkge1xuICAgICAgc3RyZWFtLmJhY2tVcCgxKTtcbiAgICAgIHdoaWxlIChyZS50ZXN0KHN0cmVhbS5wZWVrKCkpKSB7XG4gICAgICAgIHN0cmVhbS5uZXh0KCk7XG4gICAgICAgIGlmIChpc19tZW1iZXIoc3RyZWFtLmN1cnJlbnQoKSx3b3JkcykpIHtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgc3RyZWFtLmJhY2tVcChzdHJlYW0uY3VycmVudCgpLmxlbmd0aC0xKTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgZnVuY3Rpb24gZ3JlZWR5KHN0cmVhbSxyZSx3b3Jkcykge1xuICAgIGlmIChzdHJlYW0uY3VycmVudCgpLmxlbmd0aCA9PSAxICYmIHJlLnRlc3Qoc3RyZWFtLmN1cnJlbnQoKSkpIHtcbiAgICAgIHdoaWxlIChyZS50ZXN0KHN0cmVhbS5wZWVrKCkpKSB7XG4gICAgICAgIHN0cmVhbS5uZXh0KCk7XG4gICAgICB9XG4gICAgICB3aGlsZSAoMCA8IHN0cmVhbS5jdXJyZW50KCkubGVuZ3RoKSB7XG4gICAgICAgIGlmIChpc19tZW1iZXIoc3RyZWFtLmN1cnJlbnQoKSx3b3JkcykpIHtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfWVsc2V7XG4gICAgICAgICAgc3RyZWFtLmJhY2tVcCgxKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgc3RyZWFtLm5leHQoKTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgZnVuY3Rpb24gZG91YmxlUXVvdGUoc3RyZWFtKSB7XG4gICAgcmV0dXJuIHF1b3RlKHN0cmVhbSwgJ1wiJywgJ1xcXFwnKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIHNpbmdsZVF1b3RlKHN0cmVhbSkge1xuICAgIHJldHVybiBxdW90ZShzdHJlYW0sJ1xcJycsJ1xcXFwnKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIHF1b3RlKHN0cmVhbSxxdW90ZUNoYXIsZXNjYXBlQ2hhcikge1xuICAgIHdoaWxlICghc3RyZWFtLmVvbCgpKSB7XG4gICAgICB2YXIgY2ggPSBzdHJlYW0ubmV4dCgpO1xuICAgICAgaWYgKGNoID09IHF1b3RlQ2hhcikge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1lbHNlIGlmIChjaCA9PSBlc2NhcGVDaGFyKSB7XG4gICAgICAgIHN0cmVhbS5uZXh0KCk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGxvb2thaGVhZChzdHJlYW0pIHtcbiAgICB2YXIgbSA9IHN0cmVhbS5tYXRjaCgvKFtcXG5cXHNdK3wlW15cXG5dKlxcbikqKC4pLyxmYWxzZSk7XG4gICAgcmV0dXJuIG0gPyBtLnBvcCgpIDogXCJcIjtcbiAgfVxuXG4gIGZ1bmN0aW9uIGlzX21lbWJlcihlbGVtZW50LGxpc3QpIHtcbiAgICByZXR1cm4gKC0xIDwgbGlzdC5pbmRleE9mKGVsZW1lbnQpKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIHJ2YWwoc3RhdGUsc3RyZWFtLHR5cGUpIHtcblxuICAgIC8vIHBhcnNlIHN0YWNrXG4gICAgcHVzaFRva2VuKHN0YXRlLHJlYWxUb2tlbih0eXBlLHN0cmVhbSkpO1xuXG4gICAgLy8gbWFwIGVybGFuZyB0b2tlbiB0eXBlIHRvIENvZGVNaXJyb3Igc3R5bGUgY2xhc3NcbiAgICAvLyAgICAgZXJsYW5nICAgICAgICAgICAgIC0+IENvZGVNaXJyb3IgdGFnXG4gICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICBjYXNlIFwiYXRvbVwiOiAgICAgICAgcmV0dXJuIFwiYXRvbVwiO1xuICAgICAgY2FzZSBcImF0dHJpYnV0ZVwiOiAgIHJldHVybiBcImF0dHJpYnV0ZVwiO1xuICAgICAgY2FzZSBcImJvb2xlYW5cIjogICAgIHJldHVybiBcImF0b21cIjtcbiAgICAgIGNhc2UgXCJidWlsdGluXCI6ICAgICByZXR1cm4gXCJidWlsdGluXCI7XG4gICAgICBjYXNlIFwiY2xvc2VfcGFyZW5cIjogcmV0dXJuIG51bGw7XG4gICAgICBjYXNlIFwiY29sb25cIjogICAgICAgcmV0dXJuIG51bGw7XG4gICAgICBjYXNlIFwiY29tbWVudFwiOiAgICAgcmV0dXJuIFwiY29tbWVudFwiO1xuICAgICAgY2FzZSBcImRvdFwiOiAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgY2FzZSBcImVycm9yXCI6ICAgICAgIHJldHVybiBcImVycm9yXCI7XG4gICAgICBjYXNlIFwiZnVuXCI6ICAgICAgICAgcmV0dXJuIFwibWV0YVwiO1xuICAgICAgY2FzZSBcImZ1bmN0aW9uXCI6ICAgIHJldHVybiBcInRhZ1wiO1xuICAgICAgY2FzZSBcImd1YXJkXCI6ICAgICAgIHJldHVybiBcInByb3BlcnR5XCI7XG4gICAgICBjYXNlIFwia2V5d29yZFwiOiAgICAgcmV0dXJuIFwia2V5d29yZFwiO1xuICAgICAgY2FzZSBcIm1hY3JvXCI6ICAgICAgIHJldHVybiBcInZhcmlhYmxlLTJcIjtcbiAgICAgIGNhc2UgXCJudW1iZXJcIjogICAgICByZXR1cm4gXCJudW1iZXJcIjtcbiAgICAgIGNhc2UgXCJvcGVuX3BhcmVuXCI6ICByZXR1cm4gbnVsbDtcbiAgICAgIGNhc2UgXCJvcGVyYXRvclwiOiAgICByZXR1cm4gXCJvcGVyYXRvclwiO1xuICAgICAgY2FzZSBcInJlY29yZFwiOiAgICAgIHJldHVybiBcImJyYWNrZXRcIjtcbiAgICAgIGNhc2UgXCJzZXBhcmF0b3JcIjogICByZXR1cm4gbnVsbDtcbiAgICAgIGNhc2UgXCJzdHJpbmdcIjogICAgICByZXR1cm4gXCJzdHJpbmdcIjtcbiAgICAgIGNhc2UgXCJ0eXBlXCI6ICAgICAgICByZXR1cm4gXCJkZWZcIjtcbiAgICAgIGNhc2UgXCJ2YXJpYWJsZVwiOiAgICByZXR1cm4gXCJ2YXJpYWJsZVwiO1xuICAgICAgZGVmYXVsdDogICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBhVG9rZW4odG9rLGNvbCxpbmQsdHlwKSB7XG4gICAgcmV0dXJuIHt0b2tlbjogIHRvayxcbiAgICAgICAgICAgIGNvbHVtbjogY29sLFxuICAgICAgICAgICAgaW5kZW50OiBpbmQsXG4gICAgICAgICAgICB0eXBlOiAgIHR5cH07XG4gIH1cblxuICBmdW5jdGlvbiByZWFsVG9rZW4odHlwZSxzdHJlYW0pIHtcbiAgICByZXR1cm4gYVRva2VuKHN0cmVhbS5jdXJyZW50KCksXG4gICAgICAgICAgICAgICAgIHN0cmVhbS5jb2x1bW4oKSxcbiAgICAgICAgICAgICAgICAgc3RyZWFtLmluZGVudGF0aW9uKCksXG4gICAgICAgICAgICAgICAgIHR5cGUpO1xuICB9XG5cbiAgZnVuY3Rpb24gZmFrZVRva2VuKHR5cGUpIHtcbiAgICByZXR1cm4gYVRva2VuKHR5cGUsMCwwLHR5cGUpO1xuICB9XG5cbiAgZnVuY3Rpb24gcGVla1Rva2VuKHN0YXRlLGRlcHRoKSB7XG4gICAgdmFyIGxlbiA9IHN0YXRlLnRva2VuU3RhY2subGVuZ3RoO1xuICAgIHZhciBkZXAgPSAoZGVwdGggPyBkZXB0aCA6IDEpO1xuXG4gICAgaWYgKGxlbiA8IGRlcCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1lbHNle1xuICAgICAgcmV0dXJuIHN0YXRlLnRva2VuU3RhY2tbbGVuLWRlcF07XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gcHVzaFRva2VuKHN0YXRlLHRva2VuKSB7XG5cbiAgICBpZiAoISh0b2tlbi50eXBlID09IFwiY29tbWVudFwiIHx8IHRva2VuLnR5cGUgPT0gXCJ3aGl0ZXNwYWNlXCIpKSB7XG4gICAgICBzdGF0ZS50b2tlblN0YWNrID0gbWF5YmVfZHJvcF9wcmUoc3RhdGUudG9rZW5TdGFjayx0b2tlbik7XG4gICAgICBzdGF0ZS50b2tlblN0YWNrID0gbWF5YmVfZHJvcF9wb3N0KHN0YXRlLnRva2VuU3RhY2spO1xuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIG1heWJlX2Ryb3BfcHJlKHMsdG9rZW4pIHtcbiAgICB2YXIgbGFzdCA9IHMubGVuZ3RoLTE7XG5cbiAgICBpZiAoMCA8IGxhc3QgJiYgc1tsYXN0XS50eXBlID09PSBcInJlY29yZFwiICYmIHRva2VuLnR5cGUgPT09IFwiZG90XCIpIHtcbiAgICAgIHMucG9wKCk7XG4gICAgfWVsc2UgaWYgKDAgPCBsYXN0ICYmIHNbbGFzdF0udHlwZSA9PT0gXCJncm91cFwiKSB7XG4gICAgICBzLnBvcCgpO1xuICAgICAgcy5wdXNoKHRva2VuKTtcbiAgICB9ZWxzZXtcbiAgICAgIHMucHVzaCh0b2tlbik7XG4gICAgfVxuICAgIHJldHVybiBzO1xuICB9XG5cbiAgZnVuY3Rpb24gbWF5YmVfZHJvcF9wb3N0KHMpIHtcbiAgICBpZiAoIXMubGVuZ3RoKSByZXR1cm4gc1xuICAgIHZhciBsYXN0ID0gcy5sZW5ndGgtMTtcblxuICAgIGlmIChzW2xhc3RdLnR5cGUgPT09IFwiZG90XCIpIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG4gICAgaWYgKGxhc3QgPiAxICYmIHNbbGFzdF0udHlwZSA9PT0gXCJmdW5cIiAmJiBzW2xhc3QtMV0udG9rZW4gPT09IFwiZnVuXCIpIHtcbiAgICAgIHJldHVybiBzLnNsaWNlKDAsbGFzdC0xKTtcbiAgICB9XG4gICAgc3dpdGNoIChzW2xhc3RdLnRva2VuKSB7XG4gICAgICBjYXNlIFwifVwiOiAgICByZXR1cm4gZChzLHtnOltcIntcIl19KTtcbiAgICAgIGNhc2UgXCJdXCI6ICAgIHJldHVybiBkKHMse2k6W1wiW1wiXX0pO1xuICAgICAgY2FzZSBcIilcIjogICAgcmV0dXJuIGQocyx7aTpbXCIoXCJdfSk7XG4gICAgICBjYXNlIFwiPj5cIjogICByZXR1cm4gZChzLHtpOltcIjw8XCJdfSk7XG4gICAgICBjYXNlIFwiZW5kXCI6ICByZXR1cm4gZChzLHtpOltcImJlZ2luXCIsXCJjYXNlXCIsXCJmdW5cIixcImlmXCIsXCJyZWNlaXZlXCIsXCJ0cnlcIl19KTtcbiAgICAgIGNhc2UgXCIsXCI6ICAgIHJldHVybiBkKHMse2U6W1wiYmVnaW5cIixcInRyeVwiLFwid2hlblwiLFwiLT5cIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIixcIixcIihcIixcIltcIixcIntcIixcIjw8XCJdfSk7XG4gICAgICBjYXNlIFwiLT5cIjogICByZXR1cm4gZChzLHtyOltcIndoZW5cIl0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbTpbXCJ0cnlcIixcImlmXCIsXCJjYXNlXCIsXCJyZWNlaXZlXCJdfSk7XG4gICAgICBjYXNlIFwiO1wiOiAgICByZXR1cm4gZChzLHtFOltcImNhc2VcIixcImZ1blwiLFwiaWZcIixcInJlY2VpdmVcIixcInRyeVwiLFwid2hlblwiXX0pO1xuICAgICAgY2FzZSBcImNhdGNoXCI6cmV0dXJuIGQocyx7ZTpbXCJ0cnlcIl19KTtcbiAgICAgIGNhc2UgXCJvZlwiOiAgIHJldHVybiBkKHMse2U6W1wiY2FzZVwiXX0pO1xuICAgICAgY2FzZSBcImFmdGVyXCI6cmV0dXJuIGQocyx7ZTpbXCJyZWNlaXZlXCIsXCJ0cnlcIl19KTtcbiAgICAgIGRlZmF1bHQ6ICAgICByZXR1cm4gcztcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBkKHN0YWNrLHR0KSB7XG4gICAgLy8gc3RhY2sgaXMgYSBzdGFjayBvZiBUb2tlbiBvYmplY3RzLlxuICAgIC8vIHR0IGlzIGFuIG9iamVjdDsge3R5cGU6dG9rZW5zfVxuICAgIC8vIHR5cGUgaXMgYSBjaGFyLCB0b2tlbnMgaXMgYSBsaXN0IG9mIHRva2VuIHN0cmluZ3MuXG4gICAgLy8gVGhlIGZ1bmN0aW9uIHJldHVybnMgKHBvc3NpYmx5IHRydW5jYXRlZCkgc3RhY2suXG4gICAgLy8gSXQgd2lsbCBkZXNjZW5kIHRoZSBzdGFjaywgbG9va2luZyBmb3IgYSBUb2tlbiBzdWNoIHRoYXQgVG9rZW4udG9rZW5cbiAgICAvLyAgaXMgYSBtZW1iZXIgb2YgdG9rZW5zLiBJZiBpdCBkb2VzIG5vdCBmaW5kIHRoYXQsIGl0IHdpbGwgbm9ybWFsbHkgKGJ1dFxuICAgIC8vICBzZWUgXCJFXCIgYmVsb3cpIHJldHVybiBzdGFjay4gSWYgaXQgZG9lcyBmaW5kIGEgbWF0Y2gsIGl0IHdpbGwgcmVtb3ZlXG4gICAgLy8gIGFsbCB0aGUgVG9rZW5zIGJldHdlZW4gdGhlIHRvcCBhbmQgdGhlIG1hdGNoZWQgVG9rZW4uXG4gICAgLy8gSWYgdHlwZSBpcyBcIm1cIiwgdGhhdCBpcyBhbGwgaXQgZG9lcy5cbiAgICAvLyBJZiB0eXBlIGlzIFwiaVwiLCBpdCB3aWxsIGFsc28gcmVtb3ZlIHRoZSBtYXRjaGVkIFRva2VuIGFuZCB0aGUgdG9wIFRva2VuLlxuICAgIC8vIElmIHR5cGUgaXMgXCJnXCIsIGxpa2UgXCJpXCIsIGJ1dCBhZGQgYSBmYWtlIFwiZ3JvdXBcIiB0b2tlbiBhdCB0aGUgdG9wLlxuICAgIC8vIElmIHR5cGUgaXMgXCJyXCIsIGl0IHdpbGwgcmVtb3ZlIHRoZSBtYXRjaGVkIFRva2VuLCBidXQgbm90IHRoZSB0b3AgVG9rZW4uXG4gICAgLy8gSWYgdHlwZSBpcyBcImVcIiwgaXQgd2lsbCBrZWVwIHRoZSBtYXRjaGVkIFRva2VuIGJ1dCBub3QgdGhlIHRvcCBUb2tlbi5cbiAgICAvLyBJZiB0eXBlIGlzIFwiRVwiLCBpdCBiZWhhdmVzIGFzIGZvciB0eXBlIFwiZVwiLCBleGNlcHQgaWYgdGhlcmUgaXMgbm8gbWF0Y2gsXG4gICAgLy8gIGluIHdoaWNoIGNhc2UgaXQgd2lsbCByZXR1cm4gYW4gZW1wdHkgc3RhY2suXG5cbiAgICBmb3IgKHZhciB0eXBlIGluIHR0KSB7XG4gICAgICB2YXIgbGVuID0gc3RhY2subGVuZ3RoLTE7XG4gICAgICB2YXIgdG9rZW5zID0gdHRbdHlwZV07XG4gICAgICBmb3IgKHZhciBpID0gbGVuLTE7IC0xIDwgaSA7IGktLSkge1xuICAgICAgICBpZiAoaXNfbWVtYmVyKHN0YWNrW2ldLnRva2VuLHRva2VucykpIHtcbiAgICAgICAgICB2YXIgc3MgPSBzdGFjay5zbGljZSgwLGkpO1xuICAgICAgICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgICAgICAgICBjYXNlIFwibVwiOiByZXR1cm4gc3MuY29uY2F0KHN0YWNrW2ldKS5jb25jYXQoc3RhY2tbbGVuXSk7XG4gICAgICAgICAgICAgIGNhc2UgXCJyXCI6IHJldHVybiBzcy5jb25jYXQoc3RhY2tbbGVuXSk7XG4gICAgICAgICAgICAgIGNhc2UgXCJpXCI6IHJldHVybiBzcztcbiAgICAgICAgICAgICAgY2FzZSBcImdcIjogcmV0dXJuIHNzLmNvbmNhdChmYWtlVG9rZW4oXCJncm91cFwiKSk7XG4gICAgICAgICAgICAgIGNhc2UgXCJFXCI6IHJldHVybiBzcy5jb25jYXQoc3RhY2tbaV0pO1xuICAgICAgICAgICAgICBjYXNlIFwiZVwiOiByZXR1cm4gc3MuY29uY2F0KHN0YWNrW2ldKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuICh0eXBlID09IFwiRVwiID8gW10gOiBzdGFjayk7XG4gIH1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIGluZGVudGVyXG5cbiAgZnVuY3Rpb24gaW5kZW50ZXIoc3RhdGUsdGV4dEFmdGVyKSB7XG4gICAgdmFyIHQ7XG4gICAgdmFyIHVuaXQgPSBjbUNmZy5pbmRlbnRVbml0O1xuICAgIHZhciB3b3JkQWZ0ZXIgPSB3b3JkYWZ0ZXIodGV4dEFmdGVyKTtcbiAgICB2YXIgY3VyclQgPSBwZWVrVG9rZW4oc3RhdGUsMSk7XG4gICAgdmFyIHByZXZUID0gcGVla1Rva2VuKHN0YXRlLDIpO1xuXG4gICAgaWYgKHN0YXRlLmluX3N0cmluZyB8fCBzdGF0ZS5pbl9hdG9tKSB7XG4gICAgICByZXR1cm4gQ29kZU1pcnJvci5QYXNzO1xuICAgIH1lbHNlIGlmICghcHJldlQpIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH1lbHNlIGlmIChjdXJyVC50b2tlbiA9PSBcIndoZW5cIikge1xuICAgICAgcmV0dXJuIGN1cnJULmNvbHVtbit1bml0O1xuICAgIH1lbHNlIGlmICh3b3JkQWZ0ZXIgPT09IFwid2hlblwiICYmIHByZXZULnR5cGUgPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgcmV0dXJuIHByZXZULmluZGVudCt1bml0O1xuICAgIH1lbHNlIGlmICh3b3JkQWZ0ZXIgPT09IFwiKFwiICYmIGN1cnJULnRva2VuID09PSBcImZ1blwiKSB7XG4gICAgICByZXR1cm4gIGN1cnJULmNvbHVtbiszO1xuICAgIH1lbHNlIGlmICh3b3JkQWZ0ZXIgPT09IFwiY2F0Y2hcIiAmJiAodCA9IGdldFRva2VuKHN0YXRlLFtcInRyeVwiXSkpKSB7XG4gICAgICByZXR1cm4gdC5jb2x1bW47XG4gICAgfWVsc2UgaWYgKGlzX21lbWJlcih3b3JkQWZ0ZXIsW1wiZW5kXCIsXCJhZnRlclwiLFwib2ZcIl0pKSB7XG4gICAgICB0ID0gZ2V0VG9rZW4oc3RhdGUsW1wiYmVnaW5cIixcImNhc2VcIixcImZ1blwiLFwiaWZcIixcInJlY2VpdmVcIixcInRyeVwiXSk7XG4gICAgICByZXR1cm4gdCA/IHQuY29sdW1uIDogQ29kZU1pcnJvci5QYXNzO1xuICAgIH1lbHNlIGlmIChpc19tZW1iZXIod29yZEFmdGVyLGNsb3NlUGFyZW5Xb3JkcykpIHtcbiAgICAgIHQgPSBnZXRUb2tlbihzdGF0ZSxvcGVuUGFyZW5Xb3Jkcyk7XG4gICAgICByZXR1cm4gdCA/IHQuY29sdW1uIDogQ29kZU1pcnJvci5QYXNzO1xuICAgIH1lbHNlIGlmIChpc19tZW1iZXIoY3VyclQudG9rZW4sW1wiLFwiLFwifFwiLFwifHxcIl0pIHx8XG4gICAgICAgICAgICAgIGlzX21lbWJlcih3b3JkQWZ0ZXIsW1wiLFwiLFwifFwiLFwifHxcIl0pKSB7XG4gICAgICB0ID0gcG9zdGNvbW1hVG9rZW4oc3RhdGUpO1xuICAgICAgcmV0dXJuIHQgPyB0LmNvbHVtbit0LnRva2VuLmxlbmd0aCA6IHVuaXQ7XG4gICAgfWVsc2UgaWYgKGN1cnJULnRva2VuID09IFwiLT5cIikge1xuICAgICAgaWYgKGlzX21lbWJlcihwcmV2VC50b2tlbiwgW1wicmVjZWl2ZVwiLFwiY2FzZVwiLFwiaWZcIixcInRyeVwiXSkpIHtcbiAgICAgICAgcmV0dXJuIHByZXZULmNvbHVtbit1bml0K3VuaXQ7XG4gICAgICB9ZWxzZXtcbiAgICAgICAgcmV0dXJuIHByZXZULmNvbHVtbit1bml0O1xuICAgICAgfVxuICAgIH1lbHNlIGlmIChpc19tZW1iZXIoY3VyclQudG9rZW4sb3BlblBhcmVuV29yZHMpKSB7XG4gICAgICByZXR1cm4gY3VyclQuY29sdW1uK2N1cnJULnRva2VuLmxlbmd0aDtcbiAgICB9ZWxzZXtcbiAgICAgIHQgPSBkZWZhdWx0VG9rZW4oc3RhdGUpO1xuICAgICAgcmV0dXJuIHRydXRoeSh0KSA/IHQuY29sdW1uK3VuaXQgOiAwO1xuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIHdvcmRhZnRlcihzdHIpIHtcbiAgICB2YXIgbSA9IHN0ci5tYXRjaCgvLHxbYS16XSt8XFx9fFxcXXxcXCl8Pj58XFx8K3xcXCgvKTtcblxuICAgIHJldHVybiB0cnV0aHkobSkgJiYgKG0uaW5kZXggPT09IDApID8gbVswXSA6IFwiXCI7XG4gIH1cblxuICBmdW5jdGlvbiBwb3N0Y29tbWFUb2tlbihzdGF0ZSkge1xuICAgIHZhciBvYmpzID0gc3RhdGUudG9rZW5TdGFjay5zbGljZSgwLC0xKTtcbiAgICB2YXIgaSA9IGdldFRva2VuSW5kZXgob2JqcyxcInR5cGVcIixbXCJvcGVuX3BhcmVuXCJdKTtcblxuICAgIHJldHVybiB0cnV0aHkob2Jqc1tpXSkgPyBvYmpzW2ldIDogZmFsc2U7XG4gIH1cblxuICBmdW5jdGlvbiBkZWZhdWx0VG9rZW4oc3RhdGUpIHtcbiAgICB2YXIgb2JqcyA9IHN0YXRlLnRva2VuU3RhY2s7XG4gICAgdmFyIHN0b3AgPSBnZXRUb2tlbkluZGV4KG9ianMsXCJ0eXBlXCIsW1wib3Blbl9wYXJlblwiLFwic2VwYXJhdG9yXCIsXCJrZXl3b3JkXCJdKTtcbiAgICB2YXIgb3BlciA9IGdldFRva2VuSW5kZXgob2JqcyxcInR5cGVcIixbXCJvcGVyYXRvclwiXSk7XG5cbiAgICBpZiAodHJ1dGh5KHN0b3ApICYmIHRydXRoeShvcGVyKSAmJiBzdG9wIDwgb3Blcikge1xuICAgICAgcmV0dXJuIG9ianNbc3RvcCsxXTtcbiAgICB9IGVsc2UgaWYgKHRydXRoeShzdG9wKSkge1xuICAgICAgcmV0dXJuIG9ianNbc3RvcF07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBnZXRUb2tlbihzdGF0ZSx0b2tlbnMpIHtcbiAgICB2YXIgb2JqcyA9IHN0YXRlLnRva2VuU3RhY2s7XG4gICAgdmFyIGkgPSBnZXRUb2tlbkluZGV4KG9ianMsXCJ0b2tlblwiLHRva2Vucyk7XG5cbiAgICByZXR1cm4gdHJ1dGh5KG9ianNbaV0pID8gb2Jqc1tpXSA6IGZhbHNlO1xuICB9XG5cbiAgZnVuY3Rpb24gZ2V0VG9rZW5JbmRleChvYmpzLHByb3BuYW1lLHByb3B2YWxzKSB7XG5cbiAgICBmb3IgKHZhciBpID0gb2Jqcy5sZW5ndGgtMTsgLTEgPCBpIDsgaS0tKSB7XG4gICAgICBpZiAoaXNfbWVtYmVyKG9ianNbaV1bcHJvcG5hbWVdLHByb3B2YWxzKSkge1xuICAgICAgICByZXR1cm4gaTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgZnVuY3Rpb24gdHJ1dGh5KHgpIHtcbiAgICByZXR1cm4gKHggIT09IGZhbHNlKSAmJiAoeCAhPSBudWxsKTtcbiAgfVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gdGhpcyBvYmplY3QgZGVmaW5lcyB0aGUgbW9kZVxuXG4gIHJldHVybiB7XG4gICAgc3RhcnRTdGF0ZTpcbiAgICAgIGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4ge3Rva2VuU3RhY2s6IFtdLFxuICAgICAgICAgICAgICAgIGluX3N0cmluZzogIGZhbHNlLFxuICAgICAgICAgICAgICAgIGluX2F0b206ICAgIGZhbHNlfTtcbiAgICAgIH0sXG5cbiAgICB0b2tlbjpcbiAgICAgIGZ1bmN0aW9uKHN0cmVhbSwgc3RhdGUpIHtcbiAgICAgICAgcmV0dXJuIHRva2VuaXplcihzdHJlYW0sIHN0YXRlKTtcbiAgICAgIH0sXG5cbiAgICBpbmRlbnQ6XG4gICAgICBmdW5jdGlvbihzdGF0ZSwgdGV4dEFmdGVyKSB7XG4gICAgICAgIHJldHVybiBpbmRlbnRlcihzdGF0ZSx0ZXh0QWZ0ZXIpO1xuICAgICAgfSxcblxuICAgIGxpbmVDb21tZW50OiBcIiVcIlxuICB9O1xufSk7XG5cbn0pO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/codemirror/mode/erlang/erlang.js\n"); /***/ }), /***/ "./node_modules/codemirror/mode/gfm/gfm.js": /*!*************************************************!*\ !*** ./node_modules/codemirror/mode/gfm/gfm.js ***! \*************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ \"./node_modules/codemirror/lib/codemirror.js\"), __webpack_require__(/*! ../markdown/markdown */ \"./node_modules/codemirror/mode/markdown/markdown.js\"), __webpack_require__(/*! ../../addon/mode/overlay */ \"./node_modules/codemirror/addon/mode/overlay.js\"));\n else {}\n})(function(CodeMirror) {\n\"use strict\";\n\nvar urlRE = /^((?:(?:aaas?|about|acap|adiumxtra|af[ps]|aim|apt|attachment|aw|beshare|bitcoin|bolo|callto|cap|chrome(?:-extension)?|cid|coap|com-eventbrite-attendee|content|crid|cvs|data|dav|dict|dlna-(?:playcontainer|playsingle)|dns|doi|dtn|dvb|ed2k|facetime|feed|file|finger|fish|ftp|geo|gg|git|gizmoproject|go|gopher|gtalk|h323|hcp|https?|iax|icap|icon|im|imap|info|ipn|ipp|irc[6s]?|iris(?:\\.beep|\\.lwz|\\.xpc|\\.xpcs)?|itms|jar|javascript|jms|keyparc|lastfm|ldaps?|magnet|mailto|maps|market|message|mid|mms|ms-help|msnim|msrps?|mtqp|mumble|mupdate|mvn|news|nfs|nih?|nntp|notes|oid|opaquelocktoken|palm|paparazzi|platform|pop|pres|proxy|psyc|query|res(?:ource)?|rmi|rsync|rtmp|rtsp|secondlife|service|session|sftp|sgn|shttp|sieve|sips?|skype|sm[bs]|snmp|soap\\.beeps?|soldat|spotify|ssh|steam|svn|tag|teamspeak|tel(?:net)?|tftp|things|thismessage|tip|tn3270|tv|udp|unreal|urn|ut2004|vemmi|ventrilo|view-source|webcal|wss?|wtai|wyciwyg|xcon(?:-userid)?|xfire|xmlrpc\\.beeps?|xmpp|xri|ymsgr|z39\\.50[rs]?):(?:\\/{1,3}|[a-z0-9%])|www\\d{0,3}[.]|[a-z0-9.\\-]+[.][a-z]{2,4}\\/)(?:[^\\s()<>]|\\([^\\s()<>]*\\))+(?:\\([^\\s()<>]*\\)|[^\\s`*!()\\[\\]{};:'\".,<>?«»“”‘’]))/i\n\nCodeMirror.defineMode(\"gfm\", function(config, modeConfig) {\n var codeDepth = 0;\n function blankLine(state) {\n state.code = false;\n return null;\n }\n var gfmOverlay = {\n startState: function() {\n return {\n code: false,\n codeBlock: false,\n ateSpace: false\n };\n },\n copyState: function(s) {\n return {\n code: s.code,\n codeBlock: s.codeBlock,\n ateSpace: s.ateSpace\n };\n },\n token: function(stream, state) {\n state.combineTokens = null;\n\n // Hack to prevent formatting override inside code blocks (block and inline)\n if (state.codeBlock) {\n if (stream.match(/^```+/)) {\n state.codeBlock = false;\n return null;\n }\n stream.skipToEnd();\n return null;\n }\n if (stream.sol()) {\n state.code = false;\n }\n if (stream.sol() && stream.match(/^```+/)) {\n stream.skipToEnd();\n state.codeBlock = true;\n return null;\n }\n // If this block is changed, it may need to be updated in Markdown mode\n if (stream.peek() === '`') {\n stream.next();\n var before = stream.pos;\n stream.eatWhile('`');\n var difference = 1 + stream.pos - before;\n if (!state.code) {\n codeDepth = difference;\n state.code = true;\n } else {\n if (difference === codeDepth) { // Must be exact\n state.code = false;\n }\n }\n return null;\n } else if (state.code) {\n stream.next();\n return null;\n }\n // Check if space. If so, links can be formatted later on\n if (stream.eatSpace()) {\n state.ateSpace = true;\n return null;\n }\n if (stream.sol() || state.ateSpace) {\n state.ateSpace = false;\n if (modeConfig.gitHubSpice !== false) {\n if(stream.match(/^(?:[a-zA-Z0-9\\-_]+\\/)?(?:[a-zA-Z0-9\\-_]+@)?(?=.{0,6}\\d)(?:[a-f0-9]{7,40}\\b)/)) {\n // User/Project@SHA\n // User@SHA\n // SHA\n state.combineTokens = true;\n return \"link\";\n } else if (stream.match(/^(?:[a-zA-Z0-9\\-_]+\\/)?(?:[a-zA-Z0-9\\-_]+)?#[0-9]+\\b/)) {\n // User/Project#Num\n // User#Num\n // #Num\n state.combineTokens = true;\n return \"link\";\n }\n }\n }\n if (stream.match(urlRE) &&\n stream.string.slice(stream.start - 2, stream.start) != \"](\" &&\n (stream.start == 0 || /\\W/.test(stream.string.charAt(stream.start - 1)))) {\n // URLs\n // Taken from http://daringfireball.net/2010/07/improved_regex_for_matching_urls\n // And then (issue #1160) simplified to make it not crash the Chrome Regexp engine\n // And then limited url schemes to the CommonMark list, so foo:bar isn't matched as a URL\n state.combineTokens = true;\n return \"link\";\n }\n stream.next();\n return null;\n },\n blankLine: blankLine\n };\n\n var markdownConfig = {\n taskLists: true,\n strikethrough: true,\n emoji: true\n };\n for (var attr in modeConfig) {\n markdownConfig[attr] = modeConfig[attr];\n }\n markdownConfig.name = \"markdown\";\n return CodeMirror.overlayMode(CodeMirror.getMode(config, markdownConfig), gfmOverlay);\n\n}, \"markdown\");\n\n CodeMirror.defineMIME(\"text/x-gfm\", \"gfm\");\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9tb2RlL2dmbS9nZm0uanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9tb2RlL2dmbS9nZm0uanM/NDRhMCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb2RlTWlycm9yLCBjb3B5cmlnaHQgKGMpIGJ5IE1hcmlqbiBIYXZlcmJla2UgYW5kIG90aGVyc1xuLy8gRGlzdHJpYnV0ZWQgdW5kZXIgYW4gTUlUIGxpY2Vuc2U6IGh0dHBzOi8vY29kZW1pcnJvci5uZXQvTElDRU5TRVxuXG4oZnVuY3Rpb24obW9kKSB7XG4gIGlmICh0eXBlb2YgZXhwb3J0cyA9PSBcIm9iamVjdFwiICYmIHR5cGVvZiBtb2R1bGUgPT0gXCJvYmplY3RcIikgLy8gQ29tbW9uSlNcbiAgICBtb2QocmVxdWlyZShcIi4uLy4uL2xpYi9jb2RlbWlycm9yXCIpLCByZXF1aXJlKFwiLi4vbWFya2Rvd24vbWFya2Rvd25cIiksIHJlcXVpcmUoXCIuLi8uLi9hZGRvbi9tb2RlL292ZXJsYXlcIikpO1xuICBlbHNlIGlmICh0eXBlb2YgZGVmaW5lID09IFwiZnVuY3Rpb25cIiAmJiBkZWZpbmUuYW1kKSAvLyBBTURcbiAgICBkZWZpbmUoW1wiLi4vLi4vbGliL2NvZGVtaXJyb3JcIiwgXCIuLi9tYXJrZG93bi9tYXJrZG93blwiLCBcIi4uLy4uL2FkZG9uL21vZGUvb3ZlcmxheVwiXSwgbW9kKTtcbiAgZWxzZSAvLyBQbGFpbiBicm93c2VyIGVudlxuICAgIG1vZChDb2RlTWlycm9yKTtcbn0pKGZ1bmN0aW9uKENvZGVNaXJyb3IpIHtcblwidXNlIHN0cmljdFwiO1xuXG52YXIgdXJsUkUgPSAvXigoPzooPzphYWFzP3xhYm91dHxhY2FwfGFkaXVteHRyYXxhZltwc118YWltfGFwdHxhdHRhY2htZW50fGF3fGJlc2hhcmV8Yml0Y29pbnxib2xvfGNhbGx0b3xjYXB8Y2hyb21lKD86LWV4dGVuc2lvbik/fGNpZHxjb2FwfGNvbS1ldmVudGJyaXRlLWF0dGVuZGVlfGNvbnRlbnR8Y3JpZHxjdnN8ZGF0YXxkYXZ8ZGljdHxkbG5hLSg/OnBsYXljb250YWluZXJ8cGxheXNpbmdsZSl8ZG5zfGRvaXxkdG58ZHZifGVkMmt8ZmFjZXRpbWV8ZmVlZHxmaWxlfGZpbmdlcnxmaXNofGZ0cHxnZW98Z2d8Z2l0fGdpem1vcHJvamVjdHxnb3xnb3BoZXJ8Z3RhbGt8aDMyM3xoY3B8aHR0cHM/fGlheHxpY2FwfGljb258aW18aW1hcHxpbmZvfGlwbnxpcHB8aXJjWzZzXT98aXJpcyg/OlxcLmJlZXB8XFwubHd6fFxcLnhwY3xcXC54cGNzKT98aXRtc3xqYXJ8amF2YXNjcmlwdHxqbXN8a2V5cGFyY3xsYXN0Zm18bGRhcHM/fG1hZ25ldHxtYWlsdG98bWFwc3xtYXJrZXR8bWVzc2FnZXxtaWR8bW1zfG1zLWhlbHB8bXNuaW18bXNycHM/fG10cXB8bXVtYmxlfG11cGRhdGV8bXZufG5ld3N8bmZzfG5paD98bm50cHxub3Rlc3xvaWR8b3BhcXVlbG9ja3Rva2VufHBhbG18cGFwYXJhenppfHBsYXRmb3JtfHBvcHxwcmVzfHByb3h5fHBzeWN8cXVlcnl8cmVzKD86b3VyY2UpP3xybWl8cnN5bmN8cnRtcHxydHNwfHNlY29uZGxpZmV8c2VydmljZXxzZXNzaW9ufHNmdHB8c2dufHNodHRwfHNpZXZlfHNpcHM/fHNreXBlfHNtW2JzXXxzbm1wfHNvYXBcXC5iZWVwcz98c29sZGF0fHNwb3RpZnl8c3NofHN0ZWFtfHN2bnx0YWd8dGVhbXNwZWFrfHRlbCg/Om5ldCk/fHRmdHB8dGhpbmdzfHRoaXNtZXNzYWdlfHRpcHx0bjMyNzB8dHZ8dWRwfHVucmVhbHx1cm58dXQyMDA0fHZlbW1pfHZlbnRyaWxvfHZpZXctc291cmNlfHdlYmNhbHx3c3M/fHd0YWl8d3ljaXd5Z3x4Y29uKD86LXVzZXJpZCk/fHhmaXJlfHhtbHJwY1xcLmJlZXBzP3x4bXBwfHhyaXx5bXNncnx6MzlcXC41MFtyc10/KTooPzpcXC97MSwzfXxbYS16MC05JV0pfHd3d1xcZHswLDN9Wy5dfFthLXowLTkuXFwtXStbLl1bYS16XXsyLDR9XFwvKSg/OlteXFxzKCk8Pl18XFwoW15cXHMoKTw+XSpcXCkpKyg/OlxcKFteXFxzKCk8Pl0qXFwpfFteXFxzYCohKClcXFtcXF17fTs6J1wiLiw8Pj/Cq8K74oCc4oCd4oCY4oCZXSkpL2lcblxuQ29kZU1pcnJvci5kZWZpbmVNb2RlKFwiZ2ZtXCIsIGZ1bmN0aW9uKGNvbmZpZywgbW9kZUNvbmZpZykge1xuICB2YXIgY29kZURlcHRoID0gMDtcbiAgZnVuY3Rpb24gYmxhbmtMaW5lKHN0YXRlKSB7XG4gICAgc3RhdGUuY29kZSA9IGZhbHNlO1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIHZhciBnZm1PdmVybGF5ID0ge1xuICAgIHN0YXJ0U3RhdGU6IGZ1bmN0aW9uKCkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgY29kZTogZmFsc2UsXG4gICAgICAgIGNvZGVCbG9jazogZmFsc2UsXG4gICAgICAgIGF0ZVNwYWNlOiBmYWxzZVxuICAgICAgfTtcbiAgICB9LFxuICAgIGNvcHlTdGF0ZTogZnVuY3Rpb24ocykge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgY29kZTogcy5jb2RlLFxuICAgICAgICBjb2RlQmxvY2s6IHMuY29kZUJsb2NrLFxuICAgICAgICBhdGVTcGFjZTogcy5hdGVTcGFjZVxuICAgICAgfTtcbiAgICB9LFxuICAgIHRva2VuOiBmdW5jdGlvbihzdHJlYW0sIHN0YXRlKSB7XG4gICAgICBzdGF0ZS5jb21iaW5lVG9rZW5zID0gbnVsbDtcblxuICAgICAgLy8gSGFjayB0byBwcmV2ZW50IGZvcm1hdHRpbmcgb3ZlcnJpZGUgaW5zaWRlIGNvZGUgYmxvY2tzIChibG9jayBhbmQgaW5saW5lKVxuICAgICAgaWYgKHN0YXRlLmNvZGVCbG9jaykge1xuICAgICAgICBpZiAoc3RyZWFtLm1hdGNoKC9eYGBgKy8pKSB7XG4gICAgICAgICAgc3RhdGUuY29kZUJsb2NrID0gZmFsc2U7XG4gICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgc3RyZWFtLnNraXBUb0VuZCgpO1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICAgIGlmIChzdHJlYW0uc29sKCkpIHtcbiAgICAgICAgc3RhdGUuY29kZSA9IGZhbHNlO1xuICAgICAgfVxuICAgICAgaWYgKHN0cmVhbS5zb2woKSAmJiBzdHJlYW0ubWF0Y2goL15gYGArLykpIHtcbiAgICAgICAgc3RyZWFtLnNraXBUb0VuZCgpO1xuICAgICAgICBzdGF0ZS5jb2RlQmxvY2sgPSB0cnVlO1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICAgIC8vIElmIHRoaXMgYmxvY2sgaXMgY2hhbmdlZCwgaXQgbWF5IG5lZWQgdG8gYmUgdXBkYXRlZCBpbiBNYXJrZG93biBtb2RlXG4gICAgICBpZiAoc3RyZWFtLnBlZWsoKSA9PT0gJ2AnKSB7XG4gICAgICAgIHN0cmVhbS5uZXh0KCk7XG4gICAgICAgIHZhciBiZWZvcmUgPSBzdHJlYW0ucG9zO1xuICAgICAgICBzdHJlYW0uZWF0V2hpbGUoJ2AnKTtcbiAgICAgICAgdmFyIGRpZmZlcmVuY2UgPSAxICsgc3RyZWFtLnBvcyAtIGJlZm9yZTtcbiAgICAgICAgaWYgKCFzdGF0ZS5jb2RlKSB7XG4gICAgICAgICAgY29kZURlcHRoID0gZGlmZmVyZW5jZTtcbiAgICAgICAgICBzdGF0ZS5jb2RlID0gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpZiAoZGlmZmVyZW5jZSA9PT0gY29kZURlcHRoKSB7IC8vIE11c3QgYmUgZXhhY3RcbiAgICAgICAgICAgIHN0YXRlLmNvZGUgPSBmYWxzZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9IGVsc2UgaWYgKHN0YXRlLmNvZGUpIHtcbiAgICAgICAgc3RyZWFtLm5leHQoKTtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgICAvLyBDaGVjayBpZiBzcGFjZS4gSWYgc28sIGxpbmtzIGNhbiBiZSBmb3JtYXR0ZWQgbGF0ZXIgb25cbiAgICAgIGlmIChzdHJlYW0uZWF0U3BhY2UoKSkge1xuICAgICAgICBzdGF0ZS5hdGVTcGFjZSA9IHRydWU7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgICAgaWYgKHN0cmVhbS5zb2woKSB8fCBzdGF0ZS5hdGVTcGFjZSkge1xuICAgICAgICBzdGF0ZS5hdGVTcGFjZSA9IGZhbHNlO1xuICAgICAgICBpZiAobW9kZUNvbmZpZy5naXRIdWJTcGljZSAhPT0gZmFsc2UpIHtcbiAgICAgICAgICBpZihzdHJlYW0ubWF0Y2goL14oPzpbYS16QS1aMC05XFwtX10rXFwvKT8oPzpbYS16QS1aMC05XFwtX10rQCk/KD89LnswLDZ9XFxkKSg/OlthLWYwLTldezcsNDB9XFxiKS8pKSB7XG4gICAgICAgICAgICAvLyBVc2VyL1Byb2plY3RAU0hBXG4gICAgICAgICAgICAvLyBVc2VyQFNIQVxuICAgICAgICAgICAgLy8gU0hBXG4gICAgICAgICAgICBzdGF0ZS5jb21iaW5lVG9rZW5zID0gdHJ1ZTtcbiAgICAgICAgICAgIHJldHVybiBcImxpbmtcIjtcbiAgICAgICAgICB9IGVsc2UgaWYgKHN0cmVhbS5tYXRjaCgvXig/OlthLXpBLVowLTlcXC1fXStcXC8pPyg/OlthLXpBLVowLTlcXC1fXSspPyNbMC05XStcXGIvKSkge1xuICAgICAgICAgICAgLy8gVXNlci9Qcm9qZWN0I051bVxuICAgICAgICAgICAgLy8gVXNlciNOdW1cbiAgICAgICAgICAgIC8vICNOdW1cbiAgICAgICAgICAgIHN0YXRlLmNvbWJpbmVUb2tlbnMgPSB0cnVlO1xuICAgICAgICAgICAgcmV0dXJuIFwibGlua1wiO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKHN0cmVhbS5tYXRjaCh1cmxSRSkgJiZcbiAgICAgICAgICBzdHJlYW0uc3RyaW5nLnNsaWNlKHN0cmVhbS5zdGFydCAtIDIsIHN0cmVhbS5zdGFydCkgIT0gXCJdKFwiICYmXG4gICAgICAgICAgKHN0cmVhbS5zdGFydCA9PSAwIHx8IC9cXFcvLnRlc3Qoc3RyZWFtLnN0cmluZy5jaGFyQXQoc3RyZWFtLnN0YXJ0IC0gMSkpKSkge1xuICAgICAgICAvLyBVUkxzXG4gICAgICAgIC8vIFRha2VuIGZyb20gaHR0cDovL2RhcmluZ2ZpcmViYWxsLm5ldC8yMDEwLzA3L2ltcHJvdmVkX3JlZ2V4X2Zvcl9tYXRjaGluZ191cmxzXG4gICAgICAgIC8vIEFuZCB0aGVuIChpc3N1ZSAjMTE2MCkgc2ltcGxpZmllZCB0byBtYWtlIGl0IG5vdCBjcmFzaCB0aGUgQ2hyb21lIFJlZ2V4cCBlbmdpbmVcbiAgICAgICAgLy8gQW5kIHRoZW4gbGltaXRlZCB1cmwgc2NoZW1lcyB0byB0aGUgQ29tbW9uTWFyayBsaXN0LCBzbyBmb286YmFyIGlzbid0IG1hdGNoZWQgYXMgYSBVUkxcbiAgICAgICAgc3RhdGUuY29tYmluZVRva2VucyA9IHRydWU7XG4gICAgICAgIHJldHVybiBcImxpbmtcIjtcbiAgICAgIH1cbiAgICAgIHN0cmVhbS5uZXh0KCk7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9LFxuICAgIGJsYW5rTGluZTogYmxhbmtMaW5lXG4gIH07XG5cbiAgdmFyIG1hcmtkb3duQ29uZmlnID0ge1xuICAgIHRhc2tMaXN0czogdHJ1ZSxcbiAgICBzdHJpa2V0aHJvdWdoOiB0cnVlLFxuICAgIGVtb2ppOiB0cnVlXG4gIH07XG4gIGZvciAodmFyIGF0dHIgaW4gbW9kZUNvbmZpZykge1xuICAgIG1hcmtkb3duQ29uZmlnW2F0dHJdID0gbW9kZUNvbmZpZ1thdHRyXTtcbiAgfVxuICBtYXJrZG93bkNvbmZpZy5uYW1lID0gXCJtYXJrZG93blwiO1xuICByZXR1cm4gQ29kZU1pcnJvci5vdmVybGF5TW9kZShDb2RlTWlycm9yLmdldE1vZGUoY29uZmlnLCBtYXJrZG93bkNvbmZpZyksIGdmbU92ZXJsYXkpO1xuXG59LCBcIm1hcmtkb3duXCIpO1xuXG4gIENvZGVNaXJyb3IuZGVmaW5lTUlNRShcInRleHQveC1nZm1cIiwgXCJnZm1cIik7XG59KTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/codemirror/mode/gfm/gfm.js\n"); /***/ }), /***/ "./node_modules/codemirror/mode/go/go.js": /*!***********************************************!*\ !*** ./node_modules/codemirror/mode/go/go.js ***! \***********************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ \"./node_modules/codemirror/lib/codemirror.js\"));\n else {}\n})(function(CodeMirror) {\n\"use strict\";\n\nCodeMirror.defineMode(\"go\", function(config) {\n var indentUnit = config.indentUnit;\n\n var keywords = {\n \"break\":true, \"case\":true, \"chan\":true, \"const\":true, \"continue\":true,\n \"default\":true, \"defer\":true, \"else\":true, \"fallthrough\":true, \"for\":true,\n \"func\":true, \"go\":true, \"goto\":true, \"if\":true, \"import\":true,\n \"interface\":true, \"map\":true, \"package\":true, \"range\":true, \"return\":true,\n \"select\":true, \"struct\":true, \"switch\":true, \"type\":true, \"var\":true,\n \"bool\":true, \"byte\":true, \"complex64\":true, \"complex128\":true,\n \"float32\":true, \"float64\":true, \"int8\":true, \"int16\":true, \"int32\":true,\n \"int64\":true, \"string\":true, \"uint8\":true, \"uint16\":true, \"uint32\":true,\n \"uint64\":true, \"int\":true, \"uint\":true, \"uintptr\":true, \"error\": true,\n \"rune\":true\n };\n\n var atoms = {\n \"true\":true, \"false\":true, \"iota\":true, \"nil\":true, \"append\":true,\n \"cap\":true, \"close\":true, \"complex\":true, \"copy\":true, \"delete\":true, \"imag\":true,\n \"len\":true, \"make\":true, \"new\":true, \"panic\":true, \"print\":true,\n \"println\":true, \"real\":true, \"recover\":true\n };\n\n var isOperatorChar = /[+\\-*&^%:=<>!|\\/]/;\n\n var curPunc;\n\n function tokenBase(stream, state) {\n var ch = stream.next();\n if (ch == '\"' || ch == \"'\" || ch == \"`\") {\n state.tokenize = tokenString(ch);\n return state.tokenize(stream, state);\n }\n if (/[\\d\\.]/.test(ch)) {\n if (ch == \".\") {\n stream.match(/^[0-9]+([eE][\\-+]?[0-9]+)?/);\n } else if (ch == \"0\") {\n stream.match(/^[xX][0-9a-fA-F]+/) || stream.match(/^0[0-7]+/);\n } else {\n stream.match(/^[0-9]*\\.?[0-9]*([eE][\\-+]?[0-9]+)?/);\n }\n return \"number\";\n }\n if (/[\\[\\]{}\\(\\),;\\:\\.]/.test(ch)) {\n curPunc = ch;\n return null;\n }\n if (ch == \"/\") {\n if (stream.eat(\"*\")) {\n state.tokenize = tokenComment;\n return tokenComment(stream, state);\n }\n if (stream.eat(\"/\")) {\n stream.skipToEnd();\n return \"comment\";\n }\n }\n if (isOperatorChar.test(ch)) {\n stream.eatWhile(isOperatorChar);\n return \"operator\";\n }\n stream.eatWhile(/[\\w\\$_\\xa1-\\uffff]/);\n var cur = stream.current();\n if (keywords.propertyIsEnumerable(cur)) {\n if (cur == \"case\" || cur == \"default\") curPunc = \"case\";\n return \"keyword\";\n }\n if (atoms.propertyIsEnumerable(cur)) return \"atom\";\n return \"variable\";\n }\n\n function tokenString(quote) {\n return function(stream, state) {\n var escaped = false, next, end = false;\n while ((next = stream.next()) != null) {\n if (next == quote && !escaped) {end = true; break;}\n escaped = !escaped && quote != \"`\" && next == \"\\\\\";\n }\n if (end || !(escaped || quote == \"`\"))\n state.tokenize = tokenBase;\n return \"string\";\n };\n }\n\n function tokenComment(stream, state) {\n var maybeEnd = false, ch;\n while (ch = stream.next()) {\n if (ch == \"/\" && maybeEnd) {\n state.tokenize = tokenBase;\n break;\n }\n maybeEnd = (ch == \"*\");\n }\n return \"comment\";\n }\n\n function Context(indented, column, type, align, prev) {\n this.indented = indented;\n this.column = column;\n this.type = type;\n this.align = align;\n this.prev = prev;\n }\n function pushContext(state, col, type) {\n return state.context = new Context(state.indented, col, type, null, state.context);\n }\n function popContext(state) {\n if (!state.context.prev) return;\n var t = state.context.type;\n if (t == \")\" || t == \"]\" || t == \"}\")\n state.indented = state.context.indented;\n return state.context = state.context.prev;\n }\n\n // Interface\n\n return {\n startState: function(basecolumn) {\n return {\n tokenize: null,\n context: new Context((basecolumn || 0) - indentUnit, 0, \"top\", false),\n indented: 0,\n startOfLine: true\n };\n },\n\n token: function(stream, state) {\n var ctx = state.context;\n if (stream.sol()) {\n if (ctx.align == null) ctx.align = false;\n state.indented = stream.indentation();\n state.startOfLine = true;\n if (ctx.type == \"case\") ctx.type = \"}\";\n }\n if (stream.eatSpace()) return null;\n curPunc = null;\n var style = (state.tokenize || tokenBase)(stream, state);\n if (style == \"comment\") return style;\n if (ctx.align == null) ctx.align = true;\n\n if (curPunc == \"{\") pushContext(state, stream.column(), \"}\");\n else if (curPunc == \"[\") pushContext(state, stream.column(), \"]\");\n else if (curPunc == \"(\") pushContext(state, stream.column(), \")\");\n else if (curPunc == \"case\") ctx.type = \"case\";\n else if (curPunc == \"}\" && ctx.type == \"}\") popContext(state);\n else if (curPunc == ctx.type) popContext(state);\n state.startOfLine = false;\n return style;\n },\n\n indent: function(state, textAfter) {\n if (state.tokenize != tokenBase && state.tokenize != null) return CodeMirror.Pass;\n var ctx = state.context, firstChar = textAfter && textAfter.charAt(0);\n if (ctx.type == \"case\" && /^(?:case|default)\\b/.test(textAfter)) {\n state.context.type = \"}\";\n return ctx.indented;\n }\n var closing = firstChar == ctx.type;\n if (ctx.align) return ctx.column + (closing ? 0 : 1);\n else return ctx.indented + (closing ? 0 : indentUnit);\n },\n\n electricChars: \"{}):\",\n closeBrackets: \"()[]{}''\\\"\\\"``\",\n fold: \"brace\",\n blockCommentStart: \"/*\",\n blockCommentEnd: \"*/\",\n lineComment: \"//\"\n };\n});\n\nCodeMirror.defineMIME(\"text/x-go\", \"go\");\n\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9tb2RlL2dvL2dvLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvZGVtaXJyb3IvbW9kZS9nby9nby5qcz80ZmY0Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIENvZGVNaXJyb3IsIGNvcHlyaWdodCAoYykgYnkgTWFyaWpuIEhhdmVyYmVrZSBhbmQgb3RoZXJzXG4vLyBEaXN0cmlidXRlZCB1bmRlciBhbiBNSVQgbGljZW5zZTogaHR0cHM6Ly9jb2RlbWlycm9yLm5ldC9MSUNFTlNFXG5cbihmdW5jdGlvbihtb2QpIHtcbiAgaWYgKHR5cGVvZiBleHBvcnRzID09IFwib2JqZWN0XCIgJiYgdHlwZW9mIG1vZHVsZSA9PSBcIm9iamVjdFwiKSAvLyBDb21tb25KU1xuICAgIG1vZChyZXF1aXJlKFwiLi4vLi4vbGliL2NvZGVtaXJyb3JcIikpO1xuICBlbHNlIGlmICh0eXBlb2YgZGVmaW5lID09IFwiZnVuY3Rpb25cIiAmJiBkZWZpbmUuYW1kKSAvLyBBTURcbiAgICBkZWZpbmUoW1wiLi4vLi4vbGliL2NvZGVtaXJyb3JcIl0sIG1vZCk7XG4gIGVsc2UgLy8gUGxhaW4gYnJvd3NlciBlbnZcbiAgICBtb2QoQ29kZU1pcnJvcik7XG59KShmdW5jdGlvbihDb2RlTWlycm9yKSB7XG5cInVzZSBzdHJpY3RcIjtcblxuQ29kZU1pcnJvci5kZWZpbmVNb2RlKFwiZ29cIiwgZnVuY3Rpb24oY29uZmlnKSB7XG4gIHZhciBpbmRlbnRVbml0ID0gY29uZmlnLmluZGVudFVuaXQ7XG5cbiAgdmFyIGtleXdvcmRzID0ge1xuICAgIFwiYnJlYWtcIjp0cnVlLCBcImNhc2VcIjp0cnVlLCBcImNoYW5cIjp0cnVlLCBcImNvbnN0XCI6dHJ1ZSwgXCJjb250aW51ZVwiOnRydWUsXG4gICAgXCJkZWZhdWx0XCI6dHJ1ZSwgXCJkZWZlclwiOnRydWUsIFwiZWxzZVwiOnRydWUsIFwiZmFsbHRocm91Z2hcIjp0cnVlLCBcImZvclwiOnRydWUsXG4gICAgXCJmdW5jXCI6dHJ1ZSwgXCJnb1wiOnRydWUsIFwiZ290b1wiOnRydWUsIFwiaWZcIjp0cnVlLCBcImltcG9ydFwiOnRydWUsXG4gICAgXCJpbnRlcmZhY2VcIjp0cnVlLCBcIm1hcFwiOnRydWUsIFwicGFja2FnZVwiOnRydWUsIFwicmFuZ2VcIjp0cnVlLCBcInJldHVyblwiOnRydWUsXG4gICAgXCJzZWxlY3RcIjp0cnVlLCBcInN0cnVjdFwiOnRydWUsIFwic3dpdGNoXCI6dHJ1ZSwgXCJ0eXBlXCI6dHJ1ZSwgXCJ2YXJcIjp0cnVlLFxuICAgIFwiYm9vbFwiOnRydWUsIFwiYnl0ZVwiOnRydWUsIFwiY29tcGxleDY0XCI6dHJ1ZSwgXCJjb21wbGV4MTI4XCI6dHJ1ZSxcbiAgICBcImZsb2F0MzJcIjp0cnVlLCBcImZsb2F0NjRcIjp0cnVlLCBcImludDhcIjp0cnVlLCBcImludDE2XCI6dHJ1ZSwgXCJpbnQzMlwiOnRydWUsXG4gICAgXCJpbnQ2NFwiOnRydWUsIFwic3RyaW5nXCI6dHJ1ZSwgXCJ1aW50OFwiOnRydWUsIFwidWludDE2XCI6dHJ1ZSwgXCJ1aW50MzJcIjp0cnVlLFxuICAgIFwidWludDY0XCI6dHJ1ZSwgXCJpbnRcIjp0cnVlLCBcInVpbnRcIjp0cnVlLCBcInVpbnRwdHJcIjp0cnVlLCBcImVycm9yXCI6IHRydWUsXG4gICAgXCJydW5lXCI6dHJ1ZVxuICB9O1xuXG4gIHZhciBhdG9tcyA9IHtcbiAgICBcInRydWVcIjp0cnVlLCBcImZhbHNlXCI6dHJ1ZSwgXCJpb3RhXCI6dHJ1ZSwgXCJuaWxcIjp0cnVlLCBcImFwcGVuZFwiOnRydWUsXG4gICAgXCJjYXBcIjp0cnVlLCBcImNsb3NlXCI6dHJ1ZSwgXCJjb21wbGV4XCI6dHJ1ZSwgXCJjb3B5XCI6dHJ1ZSwgXCJkZWxldGVcIjp0cnVlLCBcImltYWdcIjp0cnVlLFxuICAgIFwibGVuXCI6dHJ1ZSwgXCJtYWtlXCI6dHJ1ZSwgXCJuZXdcIjp0cnVlLCBcInBhbmljXCI6dHJ1ZSwgXCJwcmludFwiOnRydWUsXG4gICAgXCJwcmludGxuXCI6dHJ1ZSwgXCJyZWFsXCI6dHJ1ZSwgXCJyZWNvdmVyXCI6dHJ1ZVxuICB9O1xuXG4gIHZhciBpc09wZXJhdG9yQ2hhciA9IC9bK1xcLSomXiU6PTw+IXxcXC9dLztcblxuICB2YXIgY3VyUHVuYztcblxuICBmdW5jdGlvbiB0b2tlbkJhc2Uoc3RyZWFtLCBzdGF0ZSkge1xuICAgIHZhciBjaCA9IHN0cmVhbS5uZXh0KCk7XG4gICAgaWYgKGNoID09ICdcIicgfHwgY2ggPT0gXCInXCIgfHwgY2ggPT0gXCJgXCIpIHtcbiAgICAgIHN0YXRlLnRva2VuaXplID0gdG9rZW5TdHJpbmcoY2gpO1xuICAgICAgcmV0dXJuIHN0YXRlLnRva2VuaXplKHN0cmVhbSwgc3RhdGUpO1xuICAgIH1cbiAgICBpZiAoL1tcXGRcXC5dLy50ZXN0KGNoKSkge1xuICAgICAgaWYgKGNoID09IFwiLlwiKSB7XG4gICAgICAgIHN0cmVhbS5tYXRjaCgvXlswLTldKyhbZUVdW1xcLStdP1swLTldKyk/Lyk7XG4gICAgICB9IGVsc2UgaWYgKGNoID09IFwiMFwiKSB7XG4gICAgICAgIHN0cmVhbS5tYXRjaCgvXlt4WF1bMC05YS1mQS1GXSsvKSB8fCBzdHJlYW0ubWF0Y2goL14wWzAtN10rLyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzdHJlYW0ubWF0Y2goL15bMC05XSpcXC4/WzAtOV0qKFtlRV1bXFwtK10/WzAtOV0rKT8vKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBcIm51bWJlclwiO1xuICAgIH1cbiAgICBpZiAoL1tcXFtcXF17fVxcKFxcKSw7XFw6XFwuXS8udGVzdChjaCkpIHtcbiAgICAgIGN1clB1bmMgPSBjaDtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBpZiAoY2ggPT0gXCIvXCIpIHtcbiAgICAgIGlmIChzdHJlYW0uZWF0KFwiKlwiKSkge1xuICAgICAgICBzdGF0ZS50b2tlbml6ZSA9IHRva2VuQ29tbWVudDtcbiAgICAgICAgcmV0dXJuIHRva2VuQ29tbWVudChzdHJlYW0sIHN0YXRlKTtcbiAgICAgIH1cbiAgICAgIGlmIChzdHJlYW0uZWF0KFwiL1wiKSkge1xuICAgICAgICBzdHJlYW0uc2tpcFRvRW5kKCk7XG4gICAgICAgIHJldHVybiBcImNvbW1lbnRcIjtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKGlzT3BlcmF0b3JDaGFyLnRlc3QoY2gpKSB7XG4gICAgICBzdHJlYW0uZWF0V2hpbGUoaXNPcGVyYXRvckNoYXIpO1xuICAgICAgcmV0dXJuIFwib3BlcmF0b3JcIjtcbiAgICB9XG4gICAgc3RyZWFtLmVhdFdoaWxlKC9bXFx3XFwkX1xceGExLVxcdWZmZmZdLyk7XG4gICAgdmFyIGN1ciA9IHN0cmVhbS5jdXJyZW50KCk7XG4gICAgaWYgKGtleXdvcmRzLnByb3BlcnR5SXNFbnVtZXJhYmxlKGN1cikpIHtcbiAgICAgIGlmIChjdXIgPT0gXCJjYXNlXCIgfHwgY3VyID09IFwiZGVmYXVsdFwiKSBjdXJQdW5jID0gXCJjYXNlXCI7XG4gICAgICByZXR1cm4gXCJrZXl3b3JkXCI7XG4gICAgfVxuICAgIGlmIChhdG9tcy5wcm9wZXJ0eUlzRW51bWVyYWJsZShjdXIpKSByZXR1cm4gXCJhdG9tXCI7XG4gICAgcmV0dXJuIFwidmFyaWFibGVcIjtcbiAgfVxuXG4gIGZ1bmN0aW9uIHRva2VuU3RyaW5nKHF1b3RlKSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uKHN0cmVhbSwgc3RhdGUpIHtcbiAgICAgIHZhciBlc2NhcGVkID0gZmFsc2UsIG5leHQsIGVuZCA9IGZhbHNlO1xuICAgICAgd2hpbGUgKChuZXh0ID0gc3RyZWFtLm5leHQoKSkgIT0gbnVsbCkge1xuICAgICAgICBpZiAobmV4dCA9PSBxdW90ZSAmJiAhZXNjYXBlZCkge2VuZCA9IHRydWU7IGJyZWFrO31cbiAgICAgICAgZXNjYXBlZCA9ICFlc2NhcGVkICYmIHF1b3RlICE9IFwiYFwiICYmIG5leHQgPT0gXCJcXFxcXCI7XG4gICAgICB9XG4gICAgICBpZiAoZW5kIHx8ICEoZXNjYXBlZCB8fCBxdW90ZSA9PSBcImBcIikpXG4gICAgICAgIHN0YXRlLnRva2VuaXplID0gdG9rZW5CYXNlO1xuICAgICAgcmV0dXJuIFwic3RyaW5nXCI7XG4gICAgfTtcbiAgfVxuXG4gIGZ1bmN0aW9uIHRva2VuQ29tbWVudChzdHJlYW0sIHN0YXRlKSB7XG4gICAgdmFyIG1heWJlRW5kID0gZmFsc2UsIGNoO1xuICAgIHdoaWxlIChjaCA9IHN0cmVhbS5uZXh0KCkpIHtcbiAgICAgIGlmIChjaCA9PSBcIi9cIiAmJiBtYXliZUVuZCkge1xuICAgICAgICBzdGF0ZS50b2tlbml6ZSA9IHRva2VuQmFzZTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBtYXliZUVuZCA9IChjaCA9PSBcIipcIik7XG4gICAgfVxuICAgIHJldHVybiBcImNvbW1lbnRcIjtcbiAgfVxuXG4gIGZ1bmN0aW9uIENvbnRleHQoaW5kZW50ZWQsIGNvbHVtbiwgdHlwZSwgYWxpZ24sIHByZXYpIHtcbiAgICB0aGlzLmluZGVudGVkID0gaW5kZW50ZWQ7XG4gICAgdGhpcy5jb2x1bW4gPSBjb2x1bW47XG4gICAgdGhpcy50eXBlID0gdHlwZTtcbiAgICB0aGlzLmFsaWduID0gYWxpZ247XG4gICAgdGhpcy5wcmV2ID0gcHJldjtcbiAgfVxuICBmdW5jdGlvbiBwdXNoQ29udGV4dChzdGF0ZSwgY29sLCB0eXBlKSB7XG4gICAgcmV0dXJuIHN0YXRlLmNvbnRleHQgPSBuZXcgQ29udGV4dChzdGF0ZS5pbmRlbnRlZCwgY29sLCB0eXBlLCBudWxsLCBzdGF0ZS5jb250ZXh0KTtcbiAgfVxuICBmdW5jdGlvbiBwb3BDb250ZXh0KHN0YXRlKSB7XG4gICAgaWYgKCFzdGF0ZS5jb250ZXh0LnByZXYpIHJldHVybjtcbiAgICB2YXIgdCA9IHN0YXRlLmNvbnRleHQudHlwZTtcbiAgICBpZiAodCA9PSBcIilcIiB8fCB0ID09IFwiXVwiIHx8IHQgPT0gXCJ9XCIpXG4gICAgICBzdGF0ZS5pbmRlbnRlZCA9IHN0YXRlLmNvbnRleHQuaW5kZW50ZWQ7XG4gICAgcmV0dXJuIHN0YXRlLmNvbnRleHQgPSBzdGF0ZS5jb250ZXh0LnByZXY7XG4gIH1cblxuICAvLyBJbnRlcmZhY2VcblxuICByZXR1cm4ge1xuICAgIHN0YXJ0U3RhdGU6IGZ1bmN0aW9uKGJhc2Vjb2x1bW4pIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHRva2VuaXplOiBudWxsLFxuICAgICAgICBjb250ZXh0OiBuZXcgQ29udGV4dCgoYmFzZWNvbHVtbiB8fCAwKSAtIGluZGVudFVuaXQsIDAsIFwidG9wXCIsIGZhbHNlKSxcbiAgICAgICAgaW5kZW50ZWQ6IDAsXG4gICAgICAgIHN0YXJ0T2ZMaW5lOiB0cnVlXG4gICAgICB9O1xuICAgIH0sXG5cbiAgICB0b2tlbjogZnVuY3Rpb24oc3RyZWFtLCBzdGF0ZSkge1xuICAgICAgdmFyIGN0eCA9IHN0YXRlLmNvbnRleHQ7XG4gICAgICBpZiAoc3RyZWFtLnNvbCgpKSB7XG4gICAgICAgIGlmIChjdHguYWxpZ24gPT0gbnVsbCkgY3R4LmFsaWduID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLmluZGVudGVkID0gc3RyZWFtLmluZGVudGF0aW9uKCk7XG4gICAgICAgIHN0YXRlLnN0YXJ0T2ZMaW5lID0gdHJ1ZTtcbiAgICAgICAgaWYgKGN0eC50eXBlID09IFwiY2FzZVwiKSBjdHgudHlwZSA9IFwifVwiO1xuICAgICAgfVxuICAgICAgaWYgKHN0cmVhbS5lYXRTcGFjZSgpKSByZXR1cm4gbnVsbDtcbiAgICAgIGN1clB1bmMgPSBudWxsO1xuICAgICAgdmFyIHN0eWxlID0gKHN0YXRlLnRva2VuaXplIHx8IHRva2VuQmFzZSkoc3RyZWFtLCBzdGF0ZSk7XG4gICAgICBpZiAoc3R5bGUgPT0gXCJjb21tZW50XCIpIHJldHVybiBzdHlsZTtcbiAgICAgIGlmIChjdHguYWxpZ24gPT0gbnVsbCkgY3R4LmFsaWduID0gdHJ1ZTtcblxuICAgICAgaWYgKGN1clB1bmMgPT0gXCJ7XCIpIHB1c2hDb250ZXh0KHN0YXRlLCBzdHJlYW0uY29sdW1uKCksIFwifVwiKTtcbiAgICAgIGVsc2UgaWYgKGN1clB1bmMgPT0gXCJbXCIpIHB1c2hDb250ZXh0KHN0YXRlLCBzdHJlYW0uY29sdW1uKCksIFwiXVwiKTtcbiAgICAgIGVsc2UgaWYgKGN1clB1bmMgPT0gXCIoXCIpIHB1c2hDb250ZXh0KHN0YXRlLCBzdHJlYW0uY29sdW1uKCksIFwiKVwiKTtcbiAgICAgIGVsc2UgaWYgKGN1clB1bmMgPT0gXCJjYXNlXCIpIGN0eC50eXBlID0gXCJjYXNlXCI7XG4gICAgICBlbHNlIGlmIChjdXJQdW5jID09IFwifVwiICYmIGN0eC50eXBlID09IFwifVwiKSBwb3BDb250ZXh0KHN0YXRlKTtcbiAgICAgIGVsc2UgaWYgKGN1clB1bmMgPT0gY3R4LnR5cGUpIHBvcENvbnRleHQoc3RhdGUpO1xuICAgICAgc3RhdGUuc3RhcnRPZkxpbmUgPSBmYWxzZTtcbiAgICAgIHJldHVybiBzdHlsZTtcbiAgICB9LFxuXG4gICAgaW5kZW50OiBmdW5jdGlvbihzdGF0ZSwgdGV4dEFmdGVyKSB7XG4gICAgICBpZiAoc3RhdGUudG9rZW5pemUgIT0gdG9rZW5CYXNlICYmIHN0YXRlLnRva2VuaXplICE9IG51bGwpIHJldHVybiBDb2RlTWlycm9yLlBhc3M7XG4gICAgICB2YXIgY3R4ID0gc3RhdGUuY29udGV4dCwgZmlyc3RDaGFyID0gdGV4dEFmdGVyICYmIHRleHRBZnRlci5jaGFyQXQoMCk7XG4gICAgICBpZiAoY3R4LnR5cGUgPT0gXCJjYXNlXCIgJiYgL14oPzpjYXNlfGRlZmF1bHQpXFxiLy50ZXN0KHRleHRBZnRlcikpIHtcbiAgICAgICAgc3RhdGUuY29udGV4dC50eXBlID0gXCJ9XCI7XG4gICAgICAgIHJldHVybiBjdHguaW5kZW50ZWQ7XG4gICAgICB9XG4gICAgICB2YXIgY2xvc2luZyA9IGZpcnN0Q2hhciA9PSBjdHgudHlwZTtcbiAgICAgIGlmIChjdHguYWxpZ24pIHJldHVybiBjdHguY29sdW1uICsgKGNsb3NpbmcgPyAwIDogMSk7XG4gICAgICBlbHNlIHJldHVybiBjdHguaW5kZW50ZWQgKyAoY2xvc2luZyA/IDAgOiBpbmRlbnRVbml0KTtcbiAgICB9LFxuXG4gICAgZWxlY3RyaWNDaGFyczogXCJ7fSk6XCIsXG4gICAgY2xvc2VCcmFja2V0czogXCIoKVtde30nJ1xcXCJcXFwiYGBcIixcbiAgICBmb2xkOiBcImJyYWNlXCIsXG4gICAgYmxvY2tDb21tZW50U3RhcnQ6IFwiLypcIixcbiAgICBibG9ja0NvbW1lbnRFbmQ6IFwiKi9cIixcbiAgICBsaW5lQ29tbWVudDogXCIvL1wiXG4gIH07XG59KTtcblxuQ29kZU1pcnJvci5kZWZpbmVNSU1FKFwidGV4dC94LWdvXCIsIFwiZ29cIik7XG5cbn0pO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/codemirror/mode/go/go.js\n"); /***/ }), /***/ "./node_modules/codemirror/mode/handlebars/handlebars.js": /*!***************************************************************!*\ !*** ./node_modules/codemirror/mode/handlebars/handlebars.js ***! \***************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ \"./node_modules/codemirror/lib/codemirror.js\"), __webpack_require__(/*! ../../addon/mode/simple */ \"./node_modules/codemirror/addon/mode/simple.js\"), __webpack_require__(/*! ../../addon/mode/multiplex */ \"./node_modules/codemirror/addon/mode/multiplex.js\"));\n else {}\n})(function(CodeMirror) {\n \"use strict\";\n\n CodeMirror.defineSimpleMode(\"handlebars-tags\", {\n start: [\n { regex: /\\{\\{\\{/, push: \"handlebars_raw\", token: \"tag\" },\n { regex: /\\{\\{!--/, push: \"dash_comment\", token: \"comment\" },\n { regex: /\\{\\{!/, push: \"comment\", token: \"comment\" },\n { regex: /\\{\\{/, push: \"handlebars\", token: \"tag\" }\n ],\n handlebars_raw: [\n { regex: /\\}\\}\\}/, pop: true, token: \"tag\" },\n ],\n handlebars: [\n { regex: /\\}\\}/, pop: true, token: \"tag\" },\n\n // Double and single quotes\n { regex: /\"(?:[^\\\\\"]|\\\\.)*\"?/, token: \"string\" },\n { regex: /'(?:[^\\\\']|\\\\.)*'?/, token: \"string\" },\n\n // Handlebars keywords\n { regex: />|[#\\/]([A-Za-z_]\\w*)/, token: \"keyword\" },\n { regex: /(?:else|this)\\b/, token: \"keyword\" },\n\n // Numeral\n { regex: /\\d+/i, token: \"number\" },\n\n // Atoms like = and .\n { regex: /=|~|@|true|false/, token: \"atom\" },\n\n // Paths\n { regex: /(?:\\.\\.\\/)*(?:[A-Za-z_][\\w\\.]*)+/, token: \"variable-2\" }\n ],\n dash_comment: [\n { regex: /--\\}\\}/, pop: true, token: \"comment\" },\n\n // Commented code\n { regex: /./, token: \"comment\"}\n ],\n comment: [\n { regex: /\\}\\}/, pop: true, token: \"comment\" },\n { regex: /./, token: \"comment\" }\n ],\n meta: {\n blockCommentStart: \"{{--\",\n blockCommentEnd: \"--}}\"\n }\n });\n\n CodeMirror.defineMode(\"handlebars\", function(config, parserConfig) {\n var handlebars = CodeMirror.getMode(config, \"handlebars-tags\");\n if (!parserConfig || !parserConfig.base) return handlebars;\n return CodeMirror.multiplexingMode(\n CodeMirror.getMode(config, parserConfig.base),\n {open: \"{{\", close: \"}}\", mode: handlebars, parseDelimiters: true}\n );\n });\n\n CodeMirror.defineMIME(\"text/x-handlebars-template\", \"handlebars\");\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9tb2RlL2hhbmRsZWJhcnMvaGFuZGxlYmFycy5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb2RlbWlycm9yL21vZGUvaGFuZGxlYmFycy9oYW5kbGViYXJzLmpzP2UxZGUiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29kZU1pcnJvciwgY29weXJpZ2h0IChjKSBieSBNYXJpam4gSGF2ZXJiZWtlIGFuZCBvdGhlcnNcbi8vIERpc3RyaWJ1dGVkIHVuZGVyIGFuIE1JVCBsaWNlbnNlOiBodHRwczovL2NvZGVtaXJyb3IubmV0L0xJQ0VOU0VcblxuKGZ1bmN0aW9uKG1vZCkge1xuICBpZiAodHlwZW9mIGV4cG9ydHMgPT0gXCJvYmplY3RcIiAmJiB0eXBlb2YgbW9kdWxlID09IFwib2JqZWN0XCIpIC8vIENvbW1vbkpTXG4gICAgbW9kKHJlcXVpcmUoXCIuLi8uLi9saWIvY29kZW1pcnJvclwiKSwgcmVxdWlyZShcIi4uLy4uL2FkZG9uL21vZGUvc2ltcGxlXCIpLCByZXF1aXJlKFwiLi4vLi4vYWRkb24vbW9kZS9tdWx0aXBsZXhcIikpO1xuICBlbHNlIGlmICh0eXBlb2YgZGVmaW5lID09IFwiZnVuY3Rpb25cIiAmJiBkZWZpbmUuYW1kKSAvLyBBTURcbiAgICBkZWZpbmUoW1wiLi4vLi4vbGliL2NvZGVtaXJyb3JcIiwgXCIuLi8uLi9hZGRvbi9tb2RlL3NpbXBsZVwiLCBcIi4uLy4uL2FkZG9uL21vZGUvbXVsdGlwbGV4XCJdLCBtb2QpO1xuICBlbHNlIC8vIFBsYWluIGJyb3dzZXIgZW52XG4gICAgbW9kKENvZGVNaXJyb3IpO1xufSkoZnVuY3Rpb24oQ29kZU1pcnJvcikge1xuICBcInVzZSBzdHJpY3RcIjtcblxuICBDb2RlTWlycm9yLmRlZmluZVNpbXBsZU1vZGUoXCJoYW5kbGViYXJzLXRhZ3NcIiwge1xuICAgIHN0YXJ0OiBbXG4gICAgICB7IHJlZ2V4OiAvXFx7XFx7XFx7LywgcHVzaDogXCJoYW5kbGViYXJzX3Jhd1wiLCB0b2tlbjogXCJ0YWdcIiB9LFxuICAgICAgeyByZWdleDogL1xce1xceyEtLS8sIHB1c2g6IFwiZGFzaF9jb21tZW50XCIsIHRva2VuOiBcImNvbW1lbnRcIiB9LFxuICAgICAgeyByZWdleDogL1xce1xceyEvLCAgIHB1c2g6IFwiY29tbWVudFwiLCB0b2tlbjogXCJjb21tZW50XCIgfSxcbiAgICAgIHsgcmVnZXg6IC9cXHtcXHsvLCAgICBwdXNoOiBcImhhbmRsZWJhcnNcIiwgdG9rZW46IFwidGFnXCIgfVxuICAgIF0sXG4gICAgaGFuZGxlYmFyc19yYXc6IFtcbiAgICAgIHsgcmVnZXg6IC9cXH1cXH1cXH0vLCBwb3A6IHRydWUsIHRva2VuOiBcInRhZ1wiIH0sXG4gICAgXSxcbiAgICBoYW5kbGViYXJzOiBbXG4gICAgICB7IHJlZ2V4OiAvXFx9XFx9LywgcG9wOiB0cnVlLCB0b2tlbjogXCJ0YWdcIiB9LFxuXG4gICAgICAvLyBEb3VibGUgYW5kIHNpbmdsZSBxdW90ZXNcbiAgICAgIHsgcmVnZXg6IC9cIig/OlteXFxcXFwiXXxcXFxcLikqXCI/LywgdG9rZW46IFwic3RyaW5nXCIgfSxcbiAgICAgIHsgcmVnZXg6IC8nKD86W15cXFxcJ118XFxcXC4pKic/LywgdG9rZW46IFwic3RyaW5nXCIgfSxcblxuICAgICAgLy8gSGFuZGxlYmFycyBrZXl3b3Jkc1xuICAgICAgeyByZWdleDogLz58WyNcXC9dKFtBLVphLXpfXVxcdyopLywgdG9rZW46IFwia2V5d29yZFwiIH0sXG4gICAgICB7IHJlZ2V4OiAvKD86ZWxzZXx0aGlzKVxcYi8sIHRva2VuOiBcImtleXdvcmRcIiB9LFxuXG4gICAgICAvLyBOdW1lcmFsXG4gICAgICB7IHJlZ2V4OiAvXFxkKy9pLCB0b2tlbjogXCJudW1iZXJcIiB9LFxuXG4gICAgICAvLyBBdG9tcyBsaWtlID0gYW5kIC5cbiAgICAgIHsgcmVnZXg6IC89fH58QHx0cnVlfGZhbHNlLywgdG9rZW46IFwiYXRvbVwiIH0sXG5cbiAgICAgIC8vIFBhdGhzXG4gICAgICB7IHJlZ2V4OiAvKD86XFwuXFwuXFwvKSooPzpbQS1aYS16X11bXFx3XFwuXSopKy8sIHRva2VuOiBcInZhcmlhYmxlLTJcIiB9XG4gICAgXSxcbiAgICBkYXNoX2NvbW1lbnQ6IFtcbiAgICAgIHsgcmVnZXg6IC8tLVxcfVxcfS8sIHBvcDogdHJ1ZSwgdG9rZW46IFwiY29tbWVudFwiIH0sXG5cbiAgICAgIC8vIENvbW1lbnRlZCBjb2RlXG4gICAgICB7IHJlZ2V4OiAvLi8sIHRva2VuOiBcImNvbW1lbnRcIn1cbiAgICBdLFxuICAgIGNvbW1lbnQ6IFtcbiAgICAgIHsgcmVnZXg6IC9cXH1cXH0vLCBwb3A6IHRydWUsIHRva2VuOiBcImNvbW1lbnRcIiB9LFxuICAgICAgeyByZWdleDogLy4vLCB0b2tlbjogXCJjb21tZW50XCIgfVxuICAgIF0sXG4gICAgbWV0YToge1xuICAgICAgYmxvY2tDb21tZW50U3RhcnQ6IFwie3stLVwiLFxuICAgICAgYmxvY2tDb21tZW50RW5kOiBcIi0tfX1cIlxuICAgIH1cbiAgfSk7XG5cbiAgQ29kZU1pcnJvci5kZWZpbmVNb2RlKFwiaGFuZGxlYmFyc1wiLCBmdW5jdGlvbihjb25maWcsIHBhcnNlckNvbmZpZykge1xuICAgIHZhciBoYW5kbGViYXJzID0gQ29kZU1pcnJvci5nZXRNb2RlKGNvbmZpZywgXCJoYW5kbGViYXJzLXRhZ3NcIik7XG4gICAgaWYgKCFwYXJzZXJDb25maWcgfHwgIXBhcnNlckNvbmZpZy5iYXNlKSByZXR1cm4gaGFuZGxlYmFycztcbiAgICByZXR1cm4gQ29kZU1pcnJvci5tdWx0aXBsZXhpbmdNb2RlKFxuICAgICAgQ29kZU1pcnJvci5nZXRNb2RlKGNvbmZpZywgcGFyc2VyQ29uZmlnLmJhc2UpLFxuICAgICAge29wZW46IFwie3tcIiwgY2xvc2U6IFwifX1cIiwgbW9kZTogaGFuZGxlYmFycywgcGFyc2VEZWxpbWl0ZXJzOiB0cnVlfVxuICAgICk7XG4gIH0pO1xuXG4gIENvZGVNaXJyb3IuZGVmaW5lTUlNRShcInRleHQveC1oYW5kbGViYXJzLXRlbXBsYXRlXCIsIFwiaGFuZGxlYmFyc1wiKTtcbn0pO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/codemirror/mode/handlebars/handlebars.js\n"); /***/ }), /***/ "./node_modules/codemirror/mode/htmlmixed/htmlmixed.js": /*!*************************************************************!*\ !*** ./node_modules/codemirror/mode/htmlmixed/htmlmixed.js ***! \*************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ \"./node_modules/codemirror/lib/codemirror.js\"), __webpack_require__(/*! ../xml/xml */ \"./node_modules/codemirror/mode/xml/xml.js\"), __webpack_require__(/*! ../javascript/javascript */ \"./node_modules/codemirror/mode/javascript/javascript.js\"), __webpack_require__(/*! ../css/css */ \"./node_modules/codemirror/mode/css/css.js\"));\n else {}\n})(function(CodeMirror) {\n \"use strict\";\n\n var defaultTags = {\n script: [\n [\"lang\", /(javascript|babel)/i, \"javascript\"],\n [\"type\", /^(?:text|application)\\/(?:x-)?(?:java|ecma)script$|^module$|^$/i, \"javascript\"],\n [\"type\", /./, \"text/plain\"],\n [null, null, \"javascript\"]\n ],\n style: [\n [\"lang\", /^css$/i, \"css\"],\n [\"type\", /^(text\\/)?(x-)?(stylesheet|css)$/i, \"css\"],\n [\"type\", /./, \"text/plain\"],\n [null, null, \"css\"]\n ]\n };\n\n function maybeBackup(stream, pat, style) {\n var cur = stream.current(), close = cur.search(pat);\n if (close > -1) {\n stream.backUp(cur.length - close);\n } else if (cur.match(/<\\/?$/)) {\n stream.backUp(cur.length);\n if (!stream.match(pat, false)) stream.match(cur);\n }\n return style;\n }\n\n var attrRegexpCache = {};\n function getAttrRegexp(attr) {\n var regexp = attrRegexpCache[attr];\n if (regexp) return regexp;\n return attrRegexpCache[attr] = new RegExp(\"\\\\s+\" + attr + \"\\\\s*=\\\\s*('|\\\")?([^'\\\"]+)('|\\\")?\\\\s*\");\n }\n\n function getAttrValue(text, attr) {\n var match = text.match(getAttrRegexp(attr))\n return match ? /^\\s*(.*?)\\s*$/.exec(match[2])[1] : \"\"\n }\n\n function getTagRegexp(tagName, anchored) {\n return new RegExp((anchored ? \"^\" : \"\") + \"<\\/\\s*\" + tagName + \"\\s*>\", \"i\");\n }\n\n function addTags(from, to) {\n for (var tag in from) {\n var dest = to[tag] || (to[tag] = []);\n var source = from[tag];\n for (var i = source.length - 1; i >= 0; i--)\n dest.unshift(source[i])\n }\n }\n\n function findMatchingMode(tagInfo, tagText) {\n for (var i = 0; i < tagInfo.length; i++) {\n var spec = tagInfo[i];\n if (!spec[0] || spec[1].test(getAttrValue(tagText, spec[0]))) return spec[2];\n }\n }\n\n CodeMirror.defineMode(\"htmlmixed\", function (config, parserConfig) {\n var htmlMode = CodeMirror.getMode(config, {\n name: \"xml\",\n htmlMode: true,\n multilineTagIndentFactor: parserConfig.multilineTagIndentFactor,\n multilineTagIndentPastTag: parserConfig.multilineTagIndentPastTag\n });\n\n var tags = {};\n var configTags = parserConfig && parserConfig.tags, configScript = parserConfig && parserConfig.scriptTypes;\n addTags(defaultTags, tags);\n if (configTags) addTags(configTags, tags);\n if (configScript) for (var i = configScript.length - 1; i >= 0; i--)\n tags.script.unshift([\"type\", configScript[i].matches, configScript[i].mode])\n\n function html(stream, state) {\n var style = htmlMode.token(stream, state.htmlState), tag = /\\btag\\b/.test(style), tagName\n if (tag && !/[<>\\s\\/]/.test(stream.current()) &&\n (tagName = state.htmlState.tagName && state.htmlState.tagName.toLowerCase()) &&\n tags.hasOwnProperty(tagName)) {\n state.inTag = tagName + \" \"\n } else if (state.inTag && tag && />$/.test(stream.current())) {\n var inTag = /^([\\S]+) (.*)/.exec(state.inTag)\n state.inTag = null\n var modeSpec = stream.current() == \">\" && findMatchingMode(tags[inTag[1]], inTag[2])\n var mode = CodeMirror.getMode(config, modeSpec)\n var endTagA = getTagRegexp(inTag[1], true), endTag = getTagRegexp(inTag[1], false);\n state.token = function (stream, state) {\n if (stream.match(endTagA, false)) {\n state.token = html;\n state.localState = state.localMode = null;\n return null;\n }\n return maybeBackup(stream, endTag, state.localMode.token(stream, state.localState));\n };\n state.localMode = mode;\n state.localState = CodeMirror.startState(mode, htmlMode.indent(state.htmlState, \"\", \"\"));\n } else if (state.inTag) {\n state.inTag += stream.current()\n if (stream.eol()) state.inTag += \" \"\n }\n return style;\n };\n\n return {\n startState: function () {\n var state = CodeMirror.startState(htmlMode);\n return {token: html, inTag: null, localMode: null, localState: null, htmlState: state};\n },\n\n copyState: function (state) {\n var local;\n if (state.localState) {\n local = CodeMirror.copyState(state.localMode, state.localState);\n }\n return {token: state.token, inTag: state.inTag,\n localMode: state.localMode, localState: local,\n htmlState: CodeMirror.copyState(htmlMode, state.htmlState)};\n },\n\n token: function (stream, state) {\n return state.token(stream, state);\n },\n\n indent: function (state, textAfter, line) {\n if (!state.localMode || /^\\s*<\\//.test(textAfter))\n return htmlMode.indent(state.htmlState, textAfter, line);\n else if (state.localMode.indent)\n return state.localMode.indent(state.localState, textAfter, line);\n else\n return CodeMirror.Pass;\n },\n\n innerMode: function (state) {\n return {state: state.localState || state.htmlState, mode: state.localMode || htmlMode};\n }\n };\n }, \"xml\", \"javascript\", \"css\");\n\n CodeMirror.defineMIME(\"text/html\", \"htmlmixed\");\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9tb2RlL2h0bWxtaXhlZC9odG1sbWl4ZWQuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9tb2RlL2h0bWxtaXhlZC9odG1sbWl4ZWQuanM/ZDY5ZiJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb2RlTWlycm9yLCBjb3B5cmlnaHQgKGMpIGJ5IE1hcmlqbiBIYXZlcmJla2UgYW5kIG90aGVyc1xuLy8gRGlzdHJpYnV0ZWQgdW5kZXIgYW4gTUlUIGxpY2Vuc2U6IGh0dHBzOi8vY29kZW1pcnJvci5uZXQvTElDRU5TRVxuXG4oZnVuY3Rpb24obW9kKSB7XG4gIGlmICh0eXBlb2YgZXhwb3J0cyA9PSBcIm9iamVjdFwiICYmIHR5cGVvZiBtb2R1bGUgPT0gXCJvYmplY3RcIikgLy8gQ29tbW9uSlNcbiAgICBtb2QocmVxdWlyZShcIi4uLy4uL2xpYi9jb2RlbWlycm9yXCIpLCByZXF1aXJlKFwiLi4veG1sL3htbFwiKSwgcmVxdWlyZShcIi4uL2phdmFzY3JpcHQvamF2YXNjcmlwdFwiKSwgcmVxdWlyZShcIi4uL2Nzcy9jc3NcIikpO1xuICBlbHNlIGlmICh0eXBlb2YgZGVmaW5lID09IFwiZnVuY3Rpb25cIiAmJiBkZWZpbmUuYW1kKSAvLyBBTURcbiAgICBkZWZpbmUoW1wiLi4vLi4vbGliL2NvZGVtaXJyb3JcIiwgXCIuLi94bWwveG1sXCIsIFwiLi4vamF2YXNjcmlwdC9qYXZhc2NyaXB0XCIsIFwiLi4vY3NzL2Nzc1wiXSwgbW9kKTtcbiAgZWxzZSAvLyBQbGFpbiBicm93c2VyIGVudlxuICAgIG1vZChDb2RlTWlycm9yKTtcbn0pKGZ1bmN0aW9uKENvZGVNaXJyb3IpIHtcbiAgXCJ1c2Ugc3RyaWN0XCI7XG5cbiAgdmFyIGRlZmF1bHRUYWdzID0ge1xuICAgIHNjcmlwdDogW1xuICAgICAgW1wibGFuZ1wiLCAvKGphdmFzY3JpcHR8YmFiZWwpL2ksIFwiamF2YXNjcmlwdFwiXSxcbiAgICAgIFtcInR5cGVcIiwgL14oPzp0ZXh0fGFwcGxpY2F0aW9uKVxcLyg/OngtKT8oPzpqYXZhfGVjbWEpc2NyaXB0JHxebW9kdWxlJHxeJC9pLCBcImphdmFzY3JpcHRcIl0sXG4gICAgICBbXCJ0eXBlXCIsIC8uLywgXCJ0ZXh0L3BsYWluXCJdLFxuICAgICAgW251bGwsIG51bGwsIFwiamF2YXNjcmlwdFwiXVxuICAgIF0sXG4gICAgc3R5bGU6ICBbXG4gICAgICBbXCJsYW5nXCIsIC9eY3NzJC9pLCBcImNzc1wiXSxcbiAgICAgIFtcInR5cGVcIiwgL14odGV4dFxcLyk/KHgtKT8oc3R5bGVzaGVldHxjc3MpJC9pLCBcImNzc1wiXSxcbiAgICAgIFtcInR5cGVcIiwgLy4vLCBcInRleHQvcGxhaW5cIl0sXG4gICAgICBbbnVsbCwgbnVsbCwgXCJjc3NcIl1cbiAgICBdXG4gIH07XG5cbiAgZnVuY3Rpb24gbWF5YmVCYWNrdXAoc3RyZWFtLCBwYXQsIHN0eWxlKSB7XG4gICAgdmFyIGN1ciA9IHN0cmVhbS5jdXJyZW50KCksIGNsb3NlID0gY3VyLnNlYXJjaChwYXQpO1xuICAgIGlmIChjbG9zZSA+IC0xKSB7XG4gICAgICBzdHJlYW0uYmFja1VwKGN1ci5sZW5ndGggLSBjbG9zZSk7XG4gICAgfSBlbHNlIGlmIChjdXIubWF0Y2goLzxcXC8/JC8pKSB7XG4gICAgICBzdHJlYW0uYmFja1VwKGN1ci5sZW5ndGgpO1xuICAgICAgaWYgKCFzdHJlYW0ubWF0Y2gocGF0LCBmYWxzZSkpIHN0cmVhbS5tYXRjaChjdXIpO1xuICAgIH1cbiAgICByZXR1cm4gc3R5bGU7XG4gIH1cblxuICB2YXIgYXR0clJlZ2V4cENhY2hlID0ge307XG4gIGZ1bmN0aW9uIGdldEF0dHJSZWdleHAoYXR0cikge1xuICAgIHZhciByZWdleHAgPSBhdHRyUmVnZXhwQ2FjaGVbYXR0cl07XG4gICAgaWYgKHJlZ2V4cCkgcmV0dXJuIHJlZ2V4cDtcbiAgICByZXR1cm4gYXR0clJlZ2V4cENhY2hlW2F0dHJdID0gbmV3IFJlZ0V4cChcIlxcXFxzK1wiICsgYXR0ciArIFwiXFxcXHMqPVxcXFxzKignfFxcXCIpPyhbXidcXFwiXSspKCd8XFxcIik/XFxcXHMqXCIpO1xuICB9XG5cbiAgZnVuY3Rpb24gZ2V0QXR0clZhbHVlKHRleHQsIGF0dHIpIHtcbiAgICB2YXIgbWF0Y2ggPSB0ZXh0Lm1hdGNoKGdldEF0dHJSZWdleHAoYXR0cikpXG4gICAgcmV0dXJuIG1hdGNoID8gL15cXHMqKC4qPylcXHMqJC8uZXhlYyhtYXRjaFsyXSlbMV0gOiBcIlwiXG4gIH1cblxuICBmdW5jdGlvbiBnZXRUYWdSZWdleHAodGFnTmFtZSwgYW5jaG9yZWQpIHtcbiAgICByZXR1cm4gbmV3IFJlZ0V4cCgoYW5jaG9yZWQgPyBcIl5cIiA6IFwiXCIpICsgXCI8XFwvXFxzKlwiICsgdGFnTmFtZSArIFwiXFxzKj5cIiwgXCJpXCIpO1xuICB9XG5cbiAgZnVuY3Rpb24gYWRkVGFncyhmcm9tLCB0bykge1xuICAgIGZvciAodmFyIHRhZyBpbiBmcm9tKSB7XG4gICAgICB2YXIgZGVzdCA9IHRvW3RhZ10gfHwgKHRvW3RhZ10gPSBbXSk7XG4gICAgICB2YXIgc291cmNlID0gZnJvbVt0YWddO1xuICAgICAgZm9yICh2YXIgaSA9IHNvdXJjZS5sZW5ndGggLSAxOyBpID49IDA7IGktLSlcbiAgICAgICAgZGVzdC51bnNoaWZ0KHNvdXJjZVtpXSlcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBmaW5kTWF0Y2hpbmdNb2RlKHRhZ0luZm8sIHRhZ1RleHQpIHtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRhZ0luZm8ubGVuZ3RoOyBpKyspIHtcbiAgICAgIHZhciBzcGVjID0gdGFnSW5mb1tpXTtcbiAgICAgIGlmICghc3BlY1swXSB8fCBzcGVjWzFdLnRlc3QoZ2V0QXR0clZhbHVlKHRhZ1RleHQsIHNwZWNbMF0pKSkgcmV0dXJuIHNwZWNbMl07XG4gICAgfVxuICB9XG5cbiAgQ29kZU1pcnJvci5kZWZpbmVNb2RlKFwiaHRtbG1peGVkXCIsIGZ1bmN0aW9uIChjb25maWcsIHBhcnNlckNvbmZpZykge1xuICAgIHZhciBodG1sTW9kZSA9IENvZGVNaXJyb3IuZ2V0TW9kZShjb25maWcsIHtcbiAgICAgIG5hbWU6IFwieG1sXCIsXG4gICAgICBodG1sTW9kZTogdHJ1ZSxcbiAgICAgIG11bHRpbGluZVRhZ0luZGVudEZhY3RvcjogcGFyc2VyQ29uZmlnLm11bHRpbGluZVRhZ0luZGVudEZhY3RvcixcbiAgICAgIG11bHRpbGluZVRhZ0luZGVudFBhc3RUYWc6IHBhcnNlckNvbmZpZy5tdWx0aWxpbmVUYWdJbmRlbnRQYXN0VGFnXG4gICAgfSk7XG5cbiAgICB2YXIgdGFncyA9IHt9O1xuICAgIHZhciBjb25maWdUYWdzID0gcGFyc2VyQ29uZmlnICYmIHBhcnNlckNvbmZpZy50YWdzLCBjb25maWdTY3JpcHQgPSBwYXJzZXJDb25maWcgJiYgcGFyc2VyQ29uZmlnLnNjcmlwdFR5cGVzO1xuICAgIGFkZFRhZ3MoZGVmYXVsdFRhZ3MsIHRhZ3MpO1xuICAgIGlmIChjb25maWdUYWdzKSBhZGRUYWdzKGNvbmZpZ1RhZ3MsIHRhZ3MpO1xuICAgIGlmIChjb25maWdTY3JpcHQpIGZvciAodmFyIGkgPSBjb25maWdTY3JpcHQubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pXG4gICAgICB0YWdzLnNjcmlwdC51bnNoaWZ0KFtcInR5cGVcIiwgY29uZmlnU2NyaXB0W2ldLm1hdGNoZXMsIGNvbmZpZ1NjcmlwdFtpXS5tb2RlXSlcblxuICAgIGZ1bmN0aW9uIGh0bWwoc3RyZWFtLCBzdGF0ZSkge1xuICAgICAgdmFyIHN0eWxlID0gaHRtbE1vZGUudG9rZW4oc3RyZWFtLCBzdGF0ZS5odG1sU3RhdGUpLCB0YWcgPSAvXFxidGFnXFxiLy50ZXN0KHN0eWxlKSwgdGFnTmFtZVxuICAgICAgaWYgKHRhZyAmJiAhL1s8Plxcc1xcL10vLnRlc3Qoc3RyZWFtLmN1cnJlbnQoKSkgJiZcbiAgICAgICAgICAodGFnTmFtZSA9IHN0YXRlLmh0bWxTdGF0ZS50YWdOYW1lICYmIHN0YXRlLmh0bWxTdGF0ZS50YWdOYW1lLnRvTG93ZXJDYXNlKCkpICYmXG4gICAgICAgICAgdGFncy5oYXNPd25Qcm9wZXJ0eSh0YWdOYW1lKSkge1xuICAgICAgICBzdGF0ZS5pblRhZyA9IHRhZ05hbWUgKyBcIiBcIlxuICAgICAgfSBlbHNlIGlmIChzdGF0ZS5pblRhZyAmJiB0YWcgJiYgLz4kLy50ZXN0KHN0cmVhbS5jdXJyZW50KCkpKSB7XG4gICAgICAgIHZhciBpblRhZyA9IC9eKFtcXFNdKykgKC4qKS8uZXhlYyhzdGF0ZS5pblRhZylcbiAgICAgICAgc3RhdGUuaW5UYWcgPSBudWxsXG4gICAgICAgIHZhciBtb2RlU3BlYyA9IHN0cmVhbS5jdXJyZW50KCkgPT0gXCI+XCIgJiYgZmluZE1hdGNoaW5nTW9kZSh0YWdzW2luVGFnWzFdXSwgaW5UYWdbMl0pXG4gICAgICAgIHZhciBtb2RlID0gQ29kZU1pcnJvci5nZXRNb2RlKGNvbmZpZywgbW9kZVNwZWMpXG4gICAgICAgIHZhciBlbmRUYWdBID0gZ2V0VGFnUmVnZXhwKGluVGFnWzFdLCB0cnVlKSwgZW5kVGFnID0gZ2V0VGFnUmVnZXhwKGluVGFnWzFdLCBmYWxzZSk7XG4gICAgICAgIHN0YXRlLnRva2VuID0gZnVuY3Rpb24gKHN0cmVhbSwgc3RhdGUpIHtcbiAgICAgICAgICBpZiAoc3RyZWFtLm1hdGNoKGVuZFRhZ0EsIGZhbHNlKSkge1xuICAgICAgICAgICAgc3RhdGUudG9rZW4gPSBodG1sO1xuICAgICAgICAgICAgc3RhdGUubG9jYWxTdGF0ZSA9IHN0YXRlLmxvY2FsTW9kZSA9IG51bGw7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIG1heWJlQmFja3VwKHN0cmVhbSwgZW5kVGFnLCBzdGF0ZS5sb2NhbE1vZGUudG9rZW4oc3RyZWFtLCBzdGF0ZS5sb2NhbFN0YXRlKSk7XG4gICAgICAgIH07XG4gICAgICAgIHN0YXRlLmxvY2FsTW9kZSA9IG1vZGU7XG4gICAgICAgIHN0YXRlLmxvY2FsU3RhdGUgPSBDb2RlTWlycm9yLnN0YXJ0U3RhdGUobW9kZSwgaHRtbE1vZGUuaW5kZW50KHN0YXRlLmh0bWxTdGF0ZSwgXCJcIiwgXCJcIikpO1xuICAgICAgfSBlbHNlIGlmIChzdGF0ZS5pblRhZykge1xuICAgICAgICBzdGF0ZS5pblRhZyArPSBzdHJlYW0uY3VycmVudCgpXG4gICAgICAgIGlmIChzdHJlYW0uZW9sKCkpIHN0YXRlLmluVGFnICs9IFwiIFwiXG4gICAgICB9XG4gICAgICByZXR1cm4gc3R5bGU7XG4gICAgfTtcblxuICAgIHJldHVybiB7XG4gICAgICBzdGFydFN0YXRlOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBzdGF0ZSA9IENvZGVNaXJyb3Iuc3RhcnRTdGF0ZShodG1sTW9kZSk7XG4gICAgICAgIHJldHVybiB7dG9rZW46IGh0bWwsIGluVGFnOiBudWxsLCBsb2NhbE1vZGU6IG51bGwsIGxvY2FsU3RhdGU6IG51bGwsIGh0bWxTdGF0ZTogc3RhdGV9O1xuICAgICAgfSxcblxuICAgICAgY29weVN0YXRlOiBmdW5jdGlvbiAoc3RhdGUpIHtcbiAgICAgICAgdmFyIGxvY2FsO1xuICAgICAgICBpZiAoc3RhdGUubG9jYWxTdGF0ZSkge1xuICAgICAgICAgIGxvY2FsID0gQ29kZU1pcnJvci5jb3B5U3RhdGUoc3RhdGUubG9jYWxNb2RlLCBzdGF0ZS5sb2NhbFN0YXRlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4ge3Rva2VuOiBzdGF0ZS50b2tlbiwgaW5UYWc6IHN0YXRlLmluVGFnLFxuICAgICAgICAgICAgICAgIGxvY2FsTW9kZTogc3RhdGUubG9jYWxNb2RlLCBsb2NhbFN0YXRlOiBsb2NhbCxcbiAgICAgICAgICAgICAgICBodG1sU3RhdGU6IENvZGVNaXJyb3IuY29weVN0YXRlKGh0bWxNb2RlLCBzdGF0ZS5odG1sU3RhdGUpfTtcbiAgICAgIH0sXG5cbiAgICAgIHRva2VuOiBmdW5jdGlvbiAoc3RyZWFtLCBzdGF0ZSkge1xuICAgICAgICByZXR1cm4gc3RhdGUudG9rZW4oc3RyZWFtLCBzdGF0ZSk7XG4gICAgICB9LFxuXG4gICAgICBpbmRlbnQ6IGZ1bmN0aW9uIChzdGF0ZSwgdGV4dEFmdGVyLCBsaW5lKSB7XG4gICAgICAgIGlmICghc3RhdGUubG9jYWxNb2RlIHx8IC9eXFxzKjxcXC8vLnRlc3QodGV4dEFmdGVyKSlcbiAgICAgICAgICByZXR1cm4gaHRtbE1vZGUuaW5kZW50KHN0YXRlLmh0bWxTdGF0ZSwgdGV4dEFmdGVyLCBsaW5lKTtcbiAgICAgICAgZWxzZSBpZiAoc3RhdGUubG9jYWxNb2RlLmluZGVudClcbiAgICAgICAgICByZXR1cm4gc3RhdGUubG9jYWxNb2RlLmluZGVudChzdGF0ZS5sb2NhbFN0YXRlLCB0ZXh0QWZ0ZXIsIGxpbmUpO1xuICAgICAgICBlbHNlXG4gICAgICAgICAgcmV0dXJuIENvZGVNaXJyb3IuUGFzcztcbiAgICAgIH0sXG5cbiAgICAgIGlubmVyTW9kZTogZnVuY3Rpb24gKHN0YXRlKSB7XG4gICAgICAgIHJldHVybiB7c3RhdGU6IHN0YXRlLmxvY2FsU3RhdGUgfHwgc3RhdGUuaHRtbFN0YXRlLCBtb2RlOiBzdGF0ZS5sb2NhbE1vZGUgfHwgaHRtbE1vZGV9O1xuICAgICAgfVxuICAgIH07XG4gIH0sIFwieG1sXCIsIFwiamF2YXNjcmlwdFwiLCBcImNzc1wiKTtcblxuICBDb2RlTWlycm9yLmRlZmluZU1JTUUoXCJ0ZXh0L2h0bWxcIiwgXCJodG1sbWl4ZWRcIik7XG59KTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/codemirror/mode/htmlmixed/htmlmixed.js\n"); /***/ }), /***/ "./node_modules/codemirror/mode/javascript/javascript.js": /*!***************************************************************!*\ !*** ./node_modules/codemirror/mode/javascript/javascript.js ***! \***************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ \"./node_modules/codemirror/lib/codemirror.js\"));\n else {}\n})(function(CodeMirror) {\n\"use strict\";\n\nCodeMirror.defineMode(\"javascript\", function(config, parserConfig) {\n var indentUnit = config.indentUnit;\n var statementIndent = parserConfig.statementIndent;\n var jsonldMode = parserConfig.jsonld;\n var jsonMode = parserConfig.json || jsonldMode;\n var isTS = parserConfig.typescript;\n var wordRE = parserConfig.wordCharacters || /[\\w$\\xa1-\\uffff]/;\n\n // Tokenizer\n\n var keywords = function(){\n function kw(type) {return {type: type, style: \"keyword\"};}\n var A = kw(\"keyword a\"), B = kw(\"keyword b\"), C = kw(\"keyword c\"), D = kw(\"keyword d\");\n var operator = kw(\"operator\"), atom = {type: \"atom\", style: \"atom\"};\n\n return {\n \"if\": kw(\"if\"), \"while\": A, \"with\": A, \"else\": B, \"do\": B, \"try\": B, \"finally\": B,\n \"return\": D, \"break\": D, \"continue\": D, \"new\": kw(\"new\"), \"delete\": C, \"void\": C, \"throw\": C,\n \"debugger\": kw(\"debugger\"), \"var\": kw(\"var\"), \"const\": kw(\"var\"), \"let\": kw(\"var\"),\n \"function\": kw(\"function\"), \"catch\": kw(\"catch\"),\n \"for\": kw(\"for\"), \"switch\": kw(\"switch\"), \"case\": kw(\"case\"), \"default\": kw(\"default\"),\n \"in\": operator, \"typeof\": operator, \"instanceof\": operator,\n \"true\": atom, \"false\": atom, \"null\": atom, \"undefined\": atom, \"NaN\": atom, \"Infinity\": atom,\n \"this\": kw(\"this\"), \"class\": kw(\"class\"), \"super\": kw(\"atom\"),\n \"yield\": C, \"export\": kw(\"export\"), \"import\": kw(\"import\"), \"extends\": C,\n \"await\": C\n };\n }();\n\n var isOperatorChar = /[+\\-*&%=<>!?|~^@]/;\n var isJsonldKeyword = /^@(context|id|value|language|type|container|list|set|reverse|index|base|vocab|graph)\"/;\n\n function readRegexp(stream) {\n var escaped = false, next, inSet = false;\n while ((next = stream.next()) != null) {\n if (!escaped) {\n if (next == \"/\" && !inSet) return;\n if (next == \"[\") inSet = true;\n else if (inSet && next == \"]\") inSet = false;\n }\n escaped = !escaped && next == \"\\\\\";\n }\n }\n\n // Used as scratch variables to communicate multiple values without\n // consing up tons of objects.\n var type, content;\n function ret(tp, style, cont) {\n type = tp; content = cont;\n return style;\n }\n function tokenBase(stream, state) {\n var ch = stream.next();\n if (ch == '\"' || ch == \"'\") {\n state.tokenize = tokenString(ch);\n return state.tokenize(stream, state);\n } else if (ch == \".\" && stream.match(/^\\d[\\d_]*(?:[eE][+\\-]?[\\d_]+)?/)) {\n return ret(\"number\", \"number\");\n } else if (ch == \".\" && stream.match(\"..\")) {\n return ret(\"spread\", \"meta\");\n } else if (/[\\[\\]{}\\(\\),;\\:\\.]/.test(ch)) {\n return ret(ch);\n } else if (ch == \"=\" && stream.eat(\">\")) {\n return ret(\"=>\", \"operator\");\n } else if (ch == \"0\" && stream.match(/^(?:x[\\dA-Fa-f_]+|o[0-7_]+|b[01_]+)n?/)) {\n return ret(\"number\", \"number\");\n } else if (/\\d/.test(ch)) {\n stream.match(/^[\\d_]*(?:n|(?:\\.[\\d_]*)?(?:[eE][+\\-]?[\\d_]+)?)?/);\n return ret(\"number\", \"number\");\n } else if (ch == \"/\") {\n if (stream.eat(\"*\")) {\n state.tokenize = tokenComment;\n return tokenComment(stream, state);\n } else if (stream.eat(\"/\")) {\n stream.skipToEnd();\n return ret(\"comment\", \"comment\");\n } else if (expressionAllowed(stream, state, 1)) {\n readRegexp(stream);\n stream.match(/^\\b(([gimyus])(?![gimyus]*\\2))+\\b/);\n return ret(\"regexp\", \"string-2\");\n } else {\n stream.eat(\"=\");\n return ret(\"operator\", \"operator\", stream.current());\n }\n } else if (ch == \"`\") {\n state.tokenize = tokenQuasi;\n return tokenQuasi(stream, state);\n } else if (ch == \"#\") {\n stream.skipToEnd();\n return ret(\"error\", \"error\");\n } else if (isOperatorChar.test(ch)) {\n if (ch != \">\" || !state.lexical || state.lexical.type != \">\") {\n if (stream.eat(\"=\")) {\n if (ch == \"!\" || ch == \"=\") stream.eat(\"=\")\n } else if (/[<>*+\\-]/.test(ch)) {\n stream.eat(ch)\n if (ch == \">\") stream.eat(ch)\n }\n }\n return ret(\"operator\", \"operator\", stream.current());\n } else if (wordRE.test(ch)) {\n stream.eatWhile(wordRE);\n var word = stream.current()\n if (state.lastType != \".\") {\n if (keywords.propertyIsEnumerable(word)) {\n var kw = keywords[word]\n return ret(kw.type, kw.style, word)\n }\n if (word == \"async\" && stream.match(/^(\\s|\\/\\*.*?\\*\\/)*[\\[\\(\\w]/, false))\n return ret(\"async\", \"keyword\", word)\n }\n return ret(\"variable\", \"variable\", word)\n }\n }\n\n function tokenString(quote) {\n return function(stream, state) {\n var escaped = false, next;\n if (jsonldMode && stream.peek() == \"@\" && stream.match(isJsonldKeyword)){\n state.tokenize = tokenBase;\n return ret(\"jsonld-keyword\", \"meta\");\n }\n while ((next = stream.next()) != null) {\n if (next == quote && !escaped) break;\n escaped = !escaped && next == \"\\\\\";\n }\n if (!escaped) state.tokenize = tokenBase;\n return ret(\"string\", \"string\");\n };\n }\n\n function tokenComment(stream, state) {\n var maybeEnd = false, ch;\n while (ch = stream.next()) {\n if (ch == \"/\" && maybeEnd) {\n state.tokenize = tokenBase;\n break;\n }\n maybeEnd = (ch == \"*\");\n }\n return ret(\"comment\", \"comment\");\n }\n\n function tokenQuasi(stream, state) {\n var escaped = false, next;\n while ((next = stream.next()) != null) {\n if (!escaped && (next == \"`\" || next == \"$\" && stream.eat(\"{\"))) {\n state.tokenize = tokenBase;\n break;\n }\n escaped = !escaped && next == \"\\\\\";\n }\n return ret(\"quasi\", \"string-2\", stream.current());\n }\n\n var brackets = \"([{}])\";\n // This is a crude lookahead trick to try and notice that we're\n // parsing the argument patterns for a fat-arrow function before we\n // actually hit the arrow token. It only works if the arrow is on\n // the same line as the arguments and there's no strange noise\n // (comments) in between. Fallback is to only notice when we hit the\n // arrow, and not declare the arguments as locals for the arrow\n // body.\n function findFatArrow(stream, state) {\n if (state.fatArrowAt) state.fatArrowAt = null;\n var arrow = stream.string.indexOf(\"=>\", stream.start);\n if (arrow < 0) return;\n\n if (isTS) { // Try to skip TypeScript return type declarations after the arguments\n var m = /:\\s*(?:\\w+(?:<[^>]*>|\\[\\])?|\\{[^}]*\\})\\s*$/.exec(stream.string.slice(stream.start, arrow))\n if (m) arrow = m.index\n }\n\n var depth = 0, sawSomething = false;\n for (var pos = arrow - 1; pos >= 0; --pos) {\n var ch = stream.string.charAt(pos);\n var bracket = brackets.indexOf(ch);\n if (bracket >= 0 && bracket < 3) {\n if (!depth) { ++pos; break; }\n if (--depth == 0) { if (ch == \"(\") sawSomething = true; break; }\n } else if (bracket >= 3 && bracket < 6) {\n ++depth;\n } else if (wordRE.test(ch)) {\n sawSomething = true;\n } else if (/[\"'\\/`]/.test(ch)) {\n for (;; --pos) {\n if (pos == 0) return\n var next = stream.string.charAt(pos - 1)\n if (next == ch && stream.string.charAt(pos - 2) != \"\\\\\") { pos--; break }\n }\n } else if (sawSomething && !depth) {\n ++pos;\n break;\n }\n }\n if (sawSomething && !depth) state.fatArrowAt = pos;\n }\n\n // Parser\n\n var atomicTypes = {\"atom\": true, \"number\": true, \"variable\": true, \"string\": true, \"regexp\": true, \"this\": true, \"jsonld-keyword\": true};\n\n function JSLexical(indented, column, type, align, prev, info) {\n this.indented = indented;\n this.column = column;\n this.type = type;\n this.prev = prev;\n this.info = info;\n if (align != null) this.align = align;\n }\n\n function inScope(state, varname) {\n for (var v = state.localVars; v; v = v.next)\n if (v.name == varname) return true;\n for (var cx = state.context; cx; cx = cx.prev) {\n for (var v = cx.vars; v; v = v.next)\n if (v.name == varname) return true;\n }\n }\n\n function parseJS(state, style, type, content, stream) {\n var cc = state.cc;\n // Communicate our context to the combinators.\n // (Less wasteful than consing up a hundred closures on every call.)\n cx.state = state; cx.stream = stream; cx.marked = null, cx.cc = cc; cx.style = style;\n\n if (!state.lexical.hasOwnProperty(\"align\"))\n state.lexical.align = true;\n\n while(true) {\n var combinator = cc.length ? cc.pop() : jsonMode ? expression : statement;\n if (combinator(type, content)) {\n while(cc.length && cc[cc.length - 1].lex)\n cc.pop()();\n if (cx.marked) return cx.marked;\n if (type == \"variable\" && inScope(state, content)) return \"variable-2\";\n return style;\n }\n }\n }\n\n // Combinator utils\n\n var cx = {state: null, column: null, marked: null, cc: null};\n function pass() {\n for (var i = arguments.length - 1; i >= 0; i--) cx.cc.push(arguments[i]);\n }\n function cont() {\n pass.apply(null, arguments);\n return true;\n }\n function inList(name, list) {\n for (var v = list; v; v = v.next) if (v.name == name) return true\n return false;\n }\n function register(varname) {\n var state = cx.state;\n cx.marked = \"def\";\n if (state.context) {\n if (state.lexical.info == \"var\" && state.context && state.context.block) {\n // FIXME function decls are also not block scoped\n var newContext = registerVarScoped(varname, state.context)\n if (newContext != null) {\n state.context = newContext\n return\n }\n } else if (!inList(varname, state.localVars)) {\n state.localVars = new Var(varname, state.localVars)\n return\n }\n }\n // Fall through means this is global\n if (parserConfig.globalVars && !inList(varname, state.globalVars))\n state.globalVars = new Var(varname, state.globalVars)\n }\n function registerVarScoped(varname, context) {\n if (!context) {\n return null\n } else if (context.block) {\n var inner = registerVarScoped(varname, context.prev)\n if (!inner) return null\n if (inner == context.prev) return context\n return new Context(inner, context.vars, true)\n } else if (inList(varname, context.vars)) {\n return context\n } else {\n return new Context(context.prev, new Var(varname, context.vars), false)\n }\n }\n\n function isModifier(name) {\n return name == \"public\" || name == \"private\" || name == \"protected\" || name == \"abstract\" || name == \"readonly\"\n }\n\n // Combinators\n\n function Context(prev, vars, block) { this.prev = prev; this.vars = vars; this.block = block }\n function Var(name, next) { this.name = name; this.next = next }\n\n var defaultVars = new Var(\"this\", new Var(\"arguments\", null))\n function pushcontext() {\n cx.state.context = new Context(cx.state.context, cx.state.localVars, false)\n cx.state.localVars = defaultVars\n }\n function pushblockcontext() {\n cx.state.context = new Context(cx.state.context, cx.state.localVars, true)\n cx.state.localVars = null\n }\n function popcontext() {\n cx.state.localVars = cx.state.context.vars\n cx.state.context = cx.state.context.prev\n }\n popcontext.lex = true\n function pushlex(type, info) {\n var result = function() {\n var state = cx.state, indent = state.indented;\n if (state.lexical.type == \"stat\") indent = state.lexical.indented;\n else for (var outer = state.lexical; outer && outer.type == \")\" && outer.align; outer = outer.prev)\n indent = outer.indented;\n state.lexical = new JSLexical(indent, cx.stream.column(), type, null, state.lexical, info);\n };\n result.lex = true;\n return result;\n }\n function poplex() {\n var state = cx.state;\n if (state.lexical.prev) {\n if (state.lexical.type == \")\")\n state.indented = state.lexical.indented;\n state.lexical = state.lexical.prev;\n }\n }\n poplex.lex = true;\n\n function expect(wanted) {\n function exp(type) {\n if (type == wanted) return cont();\n else if (wanted == \";\" || type == \"}\" || type == \")\" || type == \"]\") return pass();\n else return cont(exp);\n };\n return exp;\n }\n\n function statement(type, value) {\n if (type == \"var\") return cont(pushlex(\"vardef\", value), vardef, expect(\";\"), poplex);\n if (type == \"keyword a\") return cont(pushlex(\"form\"), parenExpr, statement, poplex);\n if (type == \"keyword b\") return cont(pushlex(\"form\"), statement, poplex);\n if (type == \"keyword d\") return cx.stream.match(/^\\s*$/, false) ? cont() : cont(pushlex(\"stat\"), maybeexpression, expect(\";\"), poplex);\n if (type == \"debugger\") return cont(expect(\";\"));\n if (type == \"{\") return cont(pushlex(\"}\"), pushblockcontext, block, poplex, popcontext);\n if (type == \";\") return cont();\n if (type == \"if\") {\n if (cx.state.lexical.info == \"else\" && cx.state.cc[cx.state.cc.length - 1] == poplex)\n cx.state.cc.pop()();\n return cont(pushlex(\"form\"), parenExpr, statement, poplex, maybeelse);\n }\n if (type == \"function\") return cont(functiondef);\n if (type == \"for\") return cont(pushlex(\"form\"), forspec, statement, poplex);\n if (type == \"class\" || (isTS && value == \"interface\")) {\n cx.marked = \"keyword\"\n return cont(pushlex(\"form\", type == \"class\" ? type : value), className, poplex)\n }\n if (type == \"variable\") {\n if (isTS && value == \"declare\") {\n cx.marked = \"keyword\"\n return cont(statement)\n } else if (isTS && (value == \"module\" || value == \"enum\" || value == \"type\") && cx.stream.match(/^\\s*\\w/, false)) {\n cx.marked = \"keyword\"\n if (value == \"enum\") return cont(enumdef);\n else if (value == \"type\") return cont(typename, expect(\"operator\"), typeexpr, expect(\";\"));\n else return cont(pushlex(\"form\"), pattern, expect(\"{\"), pushlex(\"}\"), block, poplex, poplex)\n } else if (isTS && value == \"namespace\") {\n cx.marked = \"keyword\"\n return cont(pushlex(\"form\"), expression, statement, poplex)\n } else if (isTS && value == \"abstract\") {\n cx.marked = \"keyword\"\n return cont(statement)\n } else {\n return cont(pushlex(\"stat\"), maybelabel);\n }\n }\n if (type == \"switch\") return cont(pushlex(\"form\"), parenExpr, expect(\"{\"), pushlex(\"}\", \"switch\"), pushblockcontext,\n block, poplex, poplex, popcontext);\n if (type == \"case\") return cont(expression, expect(\":\"));\n if (type == \"default\") return cont(expect(\":\"));\n if (type == \"catch\") return cont(pushlex(\"form\"), pushcontext, maybeCatchBinding, statement, poplex, popcontext);\n if (type == \"export\") return cont(pushlex(\"stat\"), afterExport, poplex);\n if (type == \"import\") return cont(pushlex(\"stat\"), afterImport, poplex);\n if (type == \"async\") return cont(statement)\n if (value == \"@\") return cont(expression, statement)\n return pass(pushlex(\"stat\"), expression, expect(\";\"), poplex);\n }\n function maybeCatchBinding(type) {\n if (type == \"(\") return cont(funarg, expect(\")\"))\n }\n function expression(type, value) {\n return expressionInner(type, value, false);\n }\n function expressionNoComma(type, value) {\n return expressionInner(type, value, true);\n }\n function parenExpr(type) {\n if (type != \"(\") return pass()\n return cont(pushlex(\")\"), expression, expect(\")\"), poplex)\n }\n function expressionInner(type, value, noComma) {\n if (cx.state.fatArrowAt == cx.stream.start) {\n var body = noComma ? arrowBodyNoComma : arrowBody;\n if (type == \"(\") return cont(pushcontext, pushlex(\")\"), commasep(funarg, \")\"), poplex, expect(\"=>\"), body, popcontext);\n else if (type == \"variable\") return pass(pushcontext, pattern, expect(\"=>\"), body, popcontext);\n }\n\n var maybeop = noComma ? maybeoperatorNoComma : maybeoperatorComma;\n if (atomicTypes.hasOwnProperty(type)) return cont(maybeop);\n if (type == \"function\") return cont(functiondef, maybeop);\n if (type == \"class\" || (isTS && value == \"interface\")) { cx.marked = \"keyword\"; return cont(pushlex(\"form\"), classExpression, poplex); }\n if (type == \"keyword c\" || type == \"async\") return cont(noComma ? expressionNoComma : expression);\n if (type == \"(\") return cont(pushlex(\")\"), maybeexpression, expect(\")\"), poplex, maybeop);\n if (type == \"operator\" || type == \"spread\") return cont(noComma ? expressionNoComma : expression);\n if (type == \"[\") return cont(pushlex(\"]\"), arrayLiteral, poplex, maybeop);\n if (type == \"{\") return contCommasep(objprop, \"}\", null, maybeop);\n if (type == \"quasi\") return pass(quasi, maybeop);\n if (type == \"new\") return cont(maybeTarget(noComma));\n if (type == \"import\") return cont(expression);\n return cont();\n }\n function maybeexpression(type) {\n if (type.match(/[;\\}\\)\\],]/)) return pass();\n return pass(expression);\n }\n\n function maybeoperatorComma(type, value) {\n if (type == \",\") return cont(expression);\n return maybeoperatorNoComma(type, value, false);\n }\n function maybeoperatorNoComma(type, value, noComma) {\n var me = noComma == false ? maybeoperatorComma : maybeoperatorNoComma;\n var expr = noComma == false ? expression : expressionNoComma;\n if (type == \"=>\") return cont(pushcontext, noComma ? arrowBodyNoComma : arrowBody, popcontext);\n if (type == \"operator\") {\n if (/\\+\\+|--/.test(value) || isTS && value == \"!\") return cont(me);\n if (isTS && value == \"<\" && cx.stream.match(/^([^>]|<.*?>)*>\\s*\\(/, false))\n return cont(pushlex(\">\"), commasep(typeexpr, \">\"), poplex, me);\n if (value == \"?\") return cont(expression, expect(\":\"), expr);\n return cont(expr);\n }\n if (type == \"quasi\") { return pass(quasi, me); }\n if (type == \";\") return;\n if (type == \"(\") return contCommasep(expressionNoComma, \")\", \"call\", me);\n if (type == \".\") return cont(property, me);\n if (type == \"[\") return cont(pushlex(\"]\"), maybeexpression, expect(\"]\"), poplex, me);\n if (isTS && value == \"as\") { cx.marked = \"keyword\"; return cont(typeexpr, me) }\n if (type == \"regexp\") {\n cx.state.lastType = cx.marked = \"operator\"\n cx.stream.backUp(cx.stream.pos - cx.stream.start - 1)\n return cont(expr)\n }\n }\n function quasi(type, value) {\n if (type != \"quasi\") return pass();\n if (value.slice(value.length - 2) != \"${\") return cont(quasi);\n return cont(expression, continueQuasi);\n }\n function continueQuasi(type) {\n if (type == \"}\") {\n cx.marked = \"string-2\";\n cx.state.tokenize = tokenQuasi;\n return cont(quasi);\n }\n }\n function arrowBody(type) {\n findFatArrow(cx.stream, cx.state);\n return pass(type == \"{\" ? statement : expression);\n }\n function arrowBodyNoComma(type) {\n findFatArrow(cx.stream, cx.state);\n return pass(type == \"{\" ? statement : expressionNoComma);\n }\n function maybeTarget(noComma) {\n return function(type) {\n if (type == \".\") return cont(noComma ? targetNoComma : target);\n else if (type == \"variable\" && isTS) return cont(maybeTypeArgs, noComma ? maybeoperatorNoComma : maybeoperatorComma)\n else return pass(noComma ? expressionNoComma : expression);\n };\n }\n function target(_, value) {\n if (value == \"target\") { cx.marked = \"keyword\"; return cont(maybeoperatorComma); }\n }\n function targetNoComma(_, value) {\n if (value == \"target\") { cx.marked = \"keyword\"; return cont(maybeoperatorNoComma); }\n }\n function maybelabel(type) {\n if (type == \":\") return cont(poplex, statement);\n return pass(maybeoperatorComma, expect(\";\"), poplex);\n }\n function property(type) {\n if (type == \"variable\") {cx.marked = \"property\"; return cont();}\n }\n function objprop(type, value) {\n if (type == \"async\") {\n cx.marked = \"property\";\n return cont(objprop);\n } else if (type == \"variable\" || cx.style == \"keyword\") {\n cx.marked = \"property\";\n if (value == \"get\" || value == \"set\") return cont(getterSetter);\n var m // Work around fat-arrow-detection complication for detecting typescript typed arrow params\n if (isTS && cx.state.fatArrowAt == cx.stream.start && (m = cx.stream.match(/^\\s*:\\s*/, false)))\n cx.state.fatArrowAt = cx.stream.pos + m[0].length\n return cont(afterprop);\n } else if (type == \"number\" || type == \"string\") {\n cx.marked = jsonldMode ? \"property\" : (cx.style + \" property\");\n return cont(afterprop);\n } else if (type == \"jsonld-keyword\") {\n return cont(afterprop);\n } else if (isTS && isModifier(value)) {\n cx.marked = \"keyword\"\n return cont(objprop)\n } else if (type == \"[\") {\n return cont(expression, maybetype, expect(\"]\"), afterprop);\n } else if (type == \"spread\") {\n return cont(expressionNoComma, afterprop);\n } else if (value == \"*\") {\n cx.marked = \"keyword\";\n return cont(objprop);\n } else if (type == \":\") {\n return pass(afterprop)\n }\n }\n function getterSetter(type) {\n if (type != \"variable\") return pass(afterprop);\n cx.marked = \"property\";\n return cont(functiondef);\n }\n function afterprop(type) {\n if (type == \":\") return cont(expressionNoComma);\n if (type == \"(\") return pass(functiondef);\n }\n function commasep(what, end, sep) {\n function proceed(type, value) {\n if (sep ? sep.indexOf(type) > -1 : type == \",\") {\n var lex = cx.state.lexical;\n if (lex.info == \"call\") lex.pos = (lex.pos || 0) + 1;\n return cont(function(type, value) {\n if (type == end || value == end) return pass()\n return pass(what)\n }, proceed);\n }\n if (type == end || value == end) return cont();\n if (sep && sep.indexOf(\";\") > -1) return pass(what)\n return cont(expect(end));\n }\n return function(type, value) {\n if (type == end || value == end) return cont();\n return pass(what, proceed);\n };\n }\n function contCommasep(what, end, info) {\n for (var i = 3; i < arguments.length; i++)\n cx.cc.push(arguments[i]);\n return cont(pushlex(end, info), commasep(what, end), poplex);\n }\n function block(type) {\n if (type == \"}\") return cont();\n return pass(statement, block);\n }\n function maybetype(type, value) {\n if (isTS) {\n if (type == \":\") return cont(typeexpr);\n if (value == \"?\") return cont(maybetype);\n }\n }\n function maybetypeOrIn(type, value) {\n if (isTS && (type == \":\" || value == \"in\")) return cont(typeexpr)\n }\n function mayberettype(type) {\n if (isTS && type == \":\") {\n if (cx.stream.match(/^\\s*\\w+\\s+is\\b/, false)) return cont(expression, isKW, typeexpr)\n else return cont(typeexpr)\n }\n }\n function isKW(_, value) {\n if (value == \"is\") {\n cx.marked = \"keyword\"\n return cont()\n }\n }\n function typeexpr(type, value) {\n if (value == \"keyof\" || value == \"typeof\" || value == \"infer\") {\n cx.marked = \"keyword\"\n return cont(value == \"typeof\" ? expressionNoComma : typeexpr)\n }\n if (type == \"variable\" || value == \"void\") {\n cx.marked = \"type\"\n return cont(afterType)\n }\n if (value == \"|\" || value == \"&\") return cont(typeexpr)\n if (type == \"string\" || type == \"number\" || type == \"atom\") return cont(afterType);\n if (type == \"[\") return cont(pushlex(\"]\"), commasep(typeexpr, \"]\", \",\"), poplex, afterType)\n if (type == \"{\") return cont(pushlex(\"}\"), commasep(typeprop, \"}\", \",;\"), poplex, afterType)\n if (type == \"(\") return cont(commasep(typearg, \")\"), maybeReturnType, afterType)\n if (type == \"<\") return cont(commasep(typeexpr, \">\"), typeexpr)\n }\n function maybeReturnType(type) {\n if (type == \"=>\") return cont(typeexpr)\n }\n function typeprop(type, value) {\n if (type == \"variable\" || cx.style == \"keyword\") {\n cx.marked = \"property\"\n return cont(typeprop)\n } else if (value == \"?\" || type == \"number\" || type == \"string\") {\n return cont(typeprop)\n } else if (type == \":\") {\n return cont(typeexpr)\n } else if (type == \"[\") {\n return cont(expect(\"variable\"), maybetypeOrIn, expect(\"]\"), typeprop)\n } else if (type == \"(\") {\n return pass(functiondecl, typeprop)\n }\n }\n function typearg(type, value) {\n if (type == \"variable\" && cx.stream.match(/^\\s*[?:]/, false) || value == \"?\") return cont(typearg)\n if (type == \":\") return cont(typeexpr)\n if (type == \"spread\") return cont(typearg)\n return pass(typeexpr)\n }\n function afterType(type, value) {\n if (value == \"<\") return cont(pushlex(\">\"), commasep(typeexpr, \">\"), poplex, afterType)\n if (value == \"|\" || type == \".\" || value == \"&\") return cont(typeexpr)\n if (type == \"[\") return cont(typeexpr, expect(\"]\"), afterType)\n if (value == \"extends\" || value == \"implements\") { cx.marked = \"keyword\"; return cont(typeexpr) }\n if (value == \"?\") return cont(typeexpr, expect(\":\"), typeexpr)\n }\n function maybeTypeArgs(_, value) {\n if (value == \"<\") return cont(pushlex(\">\"), commasep(typeexpr, \">\"), poplex, afterType)\n }\n function typeparam() {\n return pass(typeexpr, maybeTypeDefault)\n }\n function maybeTypeDefault(_, value) {\n if (value == \"=\") return cont(typeexpr)\n }\n function vardef(_, value) {\n if (value == \"enum\") {cx.marked = \"keyword\"; return cont(enumdef)}\n return pass(pattern, maybetype, maybeAssign, vardefCont);\n }\n function pattern(type, value) {\n if (isTS && isModifier(value)) { cx.marked = \"keyword\"; return cont(pattern) }\n if (type == \"variable\") { register(value); return cont(); }\n if (type == \"spread\") return cont(pattern);\n if (type == \"[\") return contCommasep(eltpattern, \"]\");\n if (type == \"{\") return contCommasep(proppattern, \"}\");\n }\n function proppattern(type, value) {\n if (type == \"variable\" && !cx.stream.match(/^\\s*:/, false)) {\n register(value);\n return cont(maybeAssign);\n }\n if (type == \"variable\") cx.marked = \"property\";\n if (type == \"spread\") return cont(pattern);\n if (type == \"}\") return pass();\n if (type == \"[\") return cont(expression, expect(']'), expect(':'), proppattern);\n return cont(expect(\":\"), pattern, maybeAssign);\n }\n function eltpattern() {\n return pass(pattern, maybeAssign)\n }\n function maybeAssign(_type, value) {\n if (value == \"=\") return cont(expressionNoComma);\n }\n function vardefCont(type) {\n if (type == \",\") return cont(vardef);\n }\n function maybeelse(type, value) {\n if (type == \"keyword b\" && value == \"else\") return cont(pushlex(\"form\", \"else\"), statement, poplex);\n }\n function forspec(type, value) {\n if (value == \"await\") return cont(forspec);\n if (type == \"(\") return cont(pushlex(\")\"), forspec1, poplex);\n }\n function forspec1(type) {\n if (type == \"var\") return cont(vardef, forspec2);\n if (type == \"variable\") return cont(forspec2);\n return pass(forspec2)\n }\n function forspec2(type, value) {\n if (type == \")\") return cont()\n if (type == \";\") return cont(forspec2)\n if (value == \"in\" || value == \"of\") { cx.marked = \"keyword\"; return cont(expression, forspec2) }\n return pass(expression, forspec2)\n }\n function functiondef(type, value) {\n if (value == \"*\") {cx.marked = \"keyword\"; return cont(functiondef);}\n if (type == \"variable\") {register(value); return cont(functiondef);}\n if (type == \"(\") return cont(pushcontext, pushlex(\")\"), commasep(funarg, \")\"), poplex, mayberettype, statement, popcontext);\n if (isTS && value == \"<\") return cont(pushlex(\">\"), commasep(typeparam, \">\"), poplex, functiondef)\n }\n function functiondecl(type, value) {\n if (value == \"*\") {cx.marked = \"keyword\"; return cont(functiondecl);}\n if (type == \"variable\") {register(value); return cont(functiondecl);}\n if (type == \"(\") return cont(pushcontext, pushlex(\")\"), commasep(funarg, \")\"), poplex, mayberettype, popcontext);\n if (isTS && value == \"<\") return cont(pushlex(\">\"), commasep(typeparam, \">\"), poplex, functiondecl)\n }\n function typename(type, value) {\n if (type == \"keyword\" || type == \"variable\") {\n cx.marked = \"type\"\n return cont(typename)\n } else if (value == \"<\") {\n return cont(pushlex(\">\"), commasep(typeparam, \">\"), poplex)\n }\n }\n function funarg(type, value) {\n if (value == \"@\") cont(expression, funarg)\n if (type == \"spread\") return cont(funarg);\n if (isTS && isModifier(value)) { cx.marked = \"keyword\"; return cont(funarg); }\n if (isTS && type == \"this\") return cont(maybetype, maybeAssign)\n return pass(pattern, maybetype, maybeAssign);\n }\n function classExpression(type, value) {\n // Class expressions may have an optional name.\n if (type == \"variable\") return className(type, value);\n return classNameAfter(type, value);\n }\n function className(type, value) {\n if (type == \"variable\") {register(value); return cont(classNameAfter);}\n }\n function classNameAfter(type, value) {\n if (value == \"<\") return cont(pushlex(\">\"), commasep(typeparam, \">\"), poplex, classNameAfter)\n if (value == \"extends\" || value == \"implements\" || (isTS && type == \",\")) {\n if (value == \"implements\") cx.marked = \"keyword\";\n return cont(isTS ? typeexpr : expression, classNameAfter);\n }\n if (type == \"{\") return cont(pushlex(\"}\"), classBody, poplex);\n }\n function classBody(type, value) {\n if (type == \"async\" ||\n (type == \"variable\" &&\n (value == \"static\" || value == \"get\" || value == \"set\" || (isTS && isModifier(value))) &&\n cx.stream.match(/^\\s+[\\w$\\xa1-\\uffff]/, false))) {\n cx.marked = \"keyword\";\n return cont(classBody);\n }\n if (type == \"variable\" || cx.style == \"keyword\") {\n cx.marked = \"property\";\n return cont(isTS ? classfield : functiondef, classBody);\n }\n if (type == \"number\" || type == \"string\") return cont(isTS ? classfield : functiondef, classBody);\n if (type == \"[\")\n return cont(expression, maybetype, expect(\"]\"), isTS ? classfield : functiondef, classBody)\n if (value == \"*\") {\n cx.marked = \"keyword\";\n return cont(classBody);\n }\n if (isTS && type == \"(\") return pass(functiondecl, classBody)\n if (type == \";\" || type == \",\") return cont(classBody);\n if (type == \"}\") return cont();\n if (value == \"@\") return cont(expression, classBody)\n }\n function classfield(type, value) {\n if (value == \"?\") return cont(classfield)\n if (type == \":\") return cont(typeexpr, maybeAssign)\n if (value == \"=\") return cont(expressionNoComma)\n var context = cx.state.lexical.prev, isInterface = context && context.info == \"interface\"\n return pass(isInterface ? functiondecl : functiondef)\n }\n function afterExport(type, value) {\n if (value == \"*\") { cx.marked = \"keyword\"; return cont(maybeFrom, expect(\";\")); }\n if (value == \"default\") { cx.marked = \"keyword\"; return cont(expression, expect(\";\")); }\n if (type == \"{\") return cont(commasep(exportField, \"}\"), maybeFrom, expect(\";\"));\n return pass(statement);\n }\n function exportField(type, value) {\n if (value == \"as\") { cx.marked = \"keyword\"; return cont(expect(\"variable\")); }\n if (type == \"variable\") return pass(expressionNoComma, exportField);\n }\n function afterImport(type) {\n if (type == \"string\") return cont();\n if (type == \"(\") return pass(expression);\n return pass(importSpec, maybeMoreImports, maybeFrom);\n }\n function importSpec(type, value) {\n if (type == \"{\") return contCommasep(importSpec, \"}\");\n if (type == \"variable\") register(value);\n if (value == \"*\") cx.marked = \"keyword\";\n return cont(maybeAs);\n }\n function maybeMoreImports(type) {\n if (type == \",\") return cont(importSpec, maybeMoreImports)\n }\n function maybeAs(_type, value) {\n if (value == \"as\") { cx.marked = \"keyword\"; return cont(importSpec); }\n }\n function maybeFrom(_type, value) {\n if (value == \"from\") { cx.marked = \"keyword\"; return cont(expression); }\n }\n function arrayLiteral(type) {\n if (type == \"]\") return cont();\n return pass(commasep(expressionNoComma, \"]\"));\n }\n function enumdef() {\n return pass(pushlex(\"form\"), pattern, expect(\"{\"), pushlex(\"}\"), commasep(enummember, \"}\"), poplex, poplex)\n }\n function enummember() {\n return pass(pattern, maybeAssign);\n }\n\n function isContinuedStatement(state, textAfter) {\n return state.lastType == \"operator\" || state.lastType == \",\" ||\n isOperatorChar.test(textAfter.charAt(0)) ||\n /[,.]/.test(textAfter.charAt(0));\n }\n\n function expressionAllowed(stream, state, backUp) {\n return state.tokenize == tokenBase &&\n /^(?:operator|sof|keyword [bcd]|case|new|export|default|spread|[\\[{}\\(,;:]|=>)$/.test(state.lastType) ||\n (state.lastType == \"quasi\" && /\\{\\s*$/.test(stream.string.slice(0, stream.pos - (backUp || 0))))\n }\n\n // Interface\n\n return {\n startState: function(basecolumn) {\n var state = {\n tokenize: tokenBase,\n lastType: \"sof\",\n cc: [],\n lexical: new JSLexical((basecolumn || 0) - indentUnit, 0, \"block\", false),\n localVars: parserConfig.localVars,\n context: parserConfig.localVars && new Context(null, null, false),\n indented: basecolumn || 0\n };\n if (parserConfig.globalVars && typeof parserConfig.globalVars == \"object\")\n state.globalVars = parserConfig.globalVars;\n return state;\n },\n\n token: function(stream, state) {\n if (stream.sol()) {\n if (!state.lexical.hasOwnProperty(\"align\"))\n state.lexical.align = false;\n state.indented = stream.indentation();\n findFatArrow(stream, state);\n }\n if (state.tokenize != tokenComment && stream.eatSpace()) return null;\n var style = state.tokenize(stream, state);\n if (type == \"comment\") return style;\n state.lastType = type == \"operator\" && (content == \"++\" || content == \"--\") ? \"incdec\" : type;\n return parseJS(state, style, type, content, stream);\n },\n\n indent: function(state, textAfter) {\n if (state.tokenize == tokenComment) return CodeMirror.Pass;\n if (state.tokenize != tokenBase) return 0;\n var firstChar = textAfter && textAfter.charAt(0), lexical = state.lexical, top\n // Kludge to prevent 'maybelse' from blocking lexical scope pops\n if (!/^\\s*else\\b/.test(textAfter)) for (var i = state.cc.length - 1; i >= 0; --i) {\n var c = state.cc[i];\n if (c == poplex) lexical = lexical.prev;\n else if (c != maybeelse) break;\n }\n while ((lexical.type == \"stat\" || lexical.type == \"form\") &&\n (firstChar == \"}\" || ((top = state.cc[state.cc.length - 1]) &&\n (top == maybeoperatorComma || top == maybeoperatorNoComma) &&\n !/^[,\\.=+\\-*:?[\\(]/.test(textAfter))))\n lexical = lexical.prev;\n if (statementIndent && lexical.type == \")\" && lexical.prev.type == \"stat\")\n lexical = lexical.prev;\n var type = lexical.type, closing = firstChar == type;\n\n if (type == \"vardef\") return lexical.indented + (state.lastType == \"operator\" || state.lastType == \",\" ? lexical.info.length + 1 : 0);\n else if (type == \"form\" && firstChar == \"{\") return lexical.indented;\n else if (type == \"form\") return lexical.indented + indentUnit;\n else if (type == \"stat\")\n return lexical.indented + (isContinuedStatement(state, textAfter) ? statementIndent || indentUnit : 0);\n else if (lexical.info == \"switch\" && !closing && parserConfig.doubleIndentSwitch != false)\n return lexical.indented + (/^(?:case|default)\\b/.test(textAfter) ? indentUnit : 2 * indentUnit);\n else if (lexical.align) return lexical.column + (closing ? 0 : 1);\n else return lexical.indented + (closing ? 0 : indentUnit);\n },\n\n electricInput: /^\\s*(?:case .*?:|default:|\\{|\\})$/,\n blockCommentStart: jsonMode ? null : \"/*\",\n blockCommentEnd: jsonMode ? null : \"*/\",\n blockCommentContinue: jsonMode ? null : \" * \",\n lineComment: jsonMode ? null : \"//\",\n fold: \"brace\",\n closeBrackets: \"()[]{}''\\\"\\\"``\",\n\n helperType: jsonMode ? \"json\" : \"javascript\",\n jsonldMode: jsonldMode,\n jsonMode: jsonMode,\n\n expressionAllowed: expressionAllowed,\n\n skipExpression: function(state) {\n var top = state.cc[state.cc.length - 1]\n if (top == expression || top == expressionNoComma) state.cc.pop()\n }\n };\n});\n\nCodeMirror.registerHelper(\"wordChars\", \"javascript\", /[\\w$]/);\n\nCodeMirror.defineMIME(\"text/javascript\", \"javascript\");\nCodeMirror.defineMIME(\"text/ecmascript\", \"javascript\");\nCodeMirror.defineMIME(\"application/javascript\", \"javascript\");\nCodeMirror.defineMIME(\"application/x-javascript\", \"javascript\");\nCodeMirror.defineMIME(\"application/ecmascript\", \"javascript\");\nCodeMirror.defineMIME(\"application/json\", {name: \"javascript\", json: true});\nCodeMirror.defineMIME(\"application/x-json\", {name: \"javascript\", json: true});\nCodeMirror.defineMIME(\"application/ld+json\", {name: \"javascript\", jsonld: true});\nCodeMirror.defineMIME(\"text/typescript\", { name: \"javascript\", typescript: true });\nCodeMirror.defineMIME(\"application/typescript\", { name: \"javascript\", typescript: true });\n\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9tb2RlL2phdmFzY3JpcHQvamF2YXNjcmlwdC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb2RlbWlycm9yL21vZGUvamF2YXNjcmlwdC9qYXZhc2NyaXB0LmpzP2Y5ZDQiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29kZU1pcnJvciwgY29weXJpZ2h0IChjKSBieSBNYXJpam4gSGF2ZXJiZWtlIGFuZCBvdGhlcnNcbi8vIERpc3RyaWJ1dGVkIHVuZGVyIGFuIE1JVCBsaWNlbnNlOiBodHRwczovL2NvZGVtaXJyb3IubmV0L0xJQ0VOU0VcblxuKGZ1bmN0aW9uKG1vZCkge1xuICBpZiAodHlwZW9mIGV4cG9ydHMgPT0gXCJvYmplY3RcIiAmJiB0eXBlb2YgbW9kdWxlID09IFwib2JqZWN0XCIpIC8vIENvbW1vbkpTXG4gICAgbW9kKHJlcXVpcmUoXCIuLi8uLi9saWIvY29kZW1pcnJvclwiKSk7XG4gIGVsc2UgaWYgKHR5cGVvZiBkZWZpbmUgPT0gXCJmdW5jdGlvblwiICYmIGRlZmluZS5hbWQpIC8vIEFNRFxuICAgIGRlZmluZShbXCIuLi8uLi9saWIvY29kZW1pcnJvclwiXSwgbW9kKTtcbiAgZWxzZSAvLyBQbGFpbiBicm93c2VyIGVudlxuICAgIG1vZChDb2RlTWlycm9yKTtcbn0pKGZ1bmN0aW9uKENvZGVNaXJyb3IpIHtcblwidXNlIHN0cmljdFwiO1xuXG5Db2RlTWlycm9yLmRlZmluZU1vZGUoXCJqYXZhc2NyaXB0XCIsIGZ1bmN0aW9uKGNvbmZpZywgcGFyc2VyQ29uZmlnKSB7XG4gIHZhciBpbmRlbnRVbml0ID0gY29uZmlnLmluZGVudFVuaXQ7XG4gIHZhciBzdGF0ZW1lbnRJbmRlbnQgPSBwYXJzZXJDb25maWcuc3RhdGVtZW50SW5kZW50O1xuICB2YXIganNvbmxkTW9kZSA9IHBhcnNlckNvbmZpZy5qc29ubGQ7XG4gIHZhciBqc29uTW9kZSA9IHBhcnNlckNvbmZpZy5qc29uIHx8IGpzb25sZE1vZGU7XG4gIHZhciBpc1RTID0gcGFyc2VyQ29uZmlnLnR5cGVzY3JpcHQ7XG4gIHZhciB3b3JkUkUgPSBwYXJzZXJDb25maWcud29yZENoYXJhY3RlcnMgfHwgL1tcXHckXFx4YTEtXFx1ZmZmZl0vO1xuXG4gIC8vIFRva2VuaXplclxuXG4gIHZhciBrZXl3b3JkcyA9IGZ1bmN0aW9uKCl7XG4gICAgZnVuY3Rpb24ga3codHlwZSkge3JldHVybiB7dHlwZTogdHlwZSwgc3R5bGU6IFwia2V5d29yZFwifTt9XG4gICAgdmFyIEEgPSBrdyhcImtleXdvcmQgYVwiKSwgQiA9IGt3KFwia2V5d29yZCBiXCIpLCBDID0ga3coXCJrZXl3b3JkIGNcIiksIEQgPSBrdyhcImtleXdvcmQgZFwiKTtcbiAgICB2YXIgb3BlcmF0b3IgPSBrdyhcIm9wZXJhdG9yXCIpLCBhdG9tID0ge3R5cGU6IFwiYXRvbVwiLCBzdHlsZTogXCJhdG9tXCJ9O1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIFwiaWZcIjoga3coXCJpZlwiKSwgXCJ3aGlsZVwiOiBBLCBcIndpdGhcIjogQSwgXCJlbHNlXCI6IEIsIFwiZG9cIjogQiwgXCJ0cnlcIjogQiwgXCJmaW5hbGx5XCI6IEIsXG4gICAgICBcInJldHVyblwiOiBELCBcImJyZWFrXCI6IEQsIFwiY29udGludWVcIjogRCwgXCJuZXdcIjoga3coXCJuZXdcIiksIFwiZGVsZXRlXCI6IEMsIFwidm9pZFwiOiBDLCBcInRocm93XCI6IEMsXG4gICAgICBcImRlYnVnZ2VyXCI6IGt3KFwiZGVidWdnZXJcIiksIFwidmFyXCI6IGt3KFwidmFyXCIpLCBcImNvbnN0XCI6IGt3KFwidmFyXCIpLCBcImxldFwiOiBrdyhcInZhclwiKSxcbiAgICAgIFwiZnVuY3Rpb25cIjoga3coXCJmdW5jdGlvblwiKSwgXCJjYXRjaFwiOiBrdyhcImNhdGNoXCIpLFxuICAgICAgXCJmb3JcIjoga3coXCJmb3JcIiksIFwic3dpdGNoXCI6IGt3KFwic3dpdGNoXCIpLCBcImNhc2VcIjoga3coXCJjYXNlXCIpLCBcImRlZmF1bHRcIjoga3coXCJkZWZhdWx0XCIpLFxuICAgICAgXCJpblwiOiBvcGVyYXRvciwgXCJ0eXBlb2ZcIjogb3BlcmF0b3IsIFwiaW5zdGFuY2VvZlwiOiBvcGVyYXRvcixcbiAgICAgIFwidHJ1ZVwiOiBhdG9tLCBcImZhbHNlXCI6IGF0b20sIFwibnVsbFwiOiBhdG9tLCBcInVuZGVmaW5lZFwiOiBhdG9tLCBcIk5hTlwiOiBhdG9tLCBcIkluZmluaXR5XCI6IGF0b20sXG4gICAgICBcInRoaXNcIjoga3coXCJ0aGlzXCIpLCBcImNsYXNzXCI6IGt3KFwiY2xhc3NcIiksIFwic3VwZXJcIjoga3coXCJhdG9tXCIpLFxuICAgICAgXCJ5aWVsZFwiOiBDLCBcImV4cG9ydFwiOiBrdyhcImV4cG9ydFwiKSwgXCJpbXBvcnRcIjoga3coXCJpbXBvcnRcIiksIFwiZXh0ZW5kc1wiOiBDLFxuICAgICAgXCJhd2FpdFwiOiBDXG4gICAgfTtcbiAgfSgpO1xuXG4gIHZhciBpc09wZXJhdG9yQ2hhciA9IC9bK1xcLSomJT08PiE/fH5eQF0vO1xuICB2YXIgaXNKc29ubGRLZXl3b3JkID0gL15AKGNvbnRleHR8aWR8dmFsdWV8bGFuZ3VhZ2V8dHlwZXxjb250YWluZXJ8bGlzdHxzZXR8cmV2ZXJzZXxpbmRleHxiYXNlfHZvY2FifGdyYXBoKVwiLztcblxuICBmdW5jdGlvbiByZWFkUmVnZXhwKHN0cmVhbSkge1xuICAgIHZhciBlc2NhcGVkID0gZmFsc2UsIG5leHQsIGluU2V0ID0gZmFsc2U7XG4gICAgd2hpbGUgKChuZXh0ID0gc3RyZWFtLm5leHQoKSkgIT0gbnVsbCkge1xuICAgICAgaWYgKCFlc2NhcGVkKSB7XG4gICAgICAgIGlmIChuZXh0ID09IFwiL1wiICYmICFpblNldCkgcmV0dXJuO1xuICAgICAgICBpZiAobmV4dCA9PSBcIltcIikgaW5TZXQgPSB0cnVlO1xuICAgICAgICBlbHNlIGlmIChpblNldCAmJiBuZXh0ID09IFwiXVwiKSBpblNldCA9IGZhbHNlO1xuICAgICAgfVxuICAgICAgZXNjYXBlZCA9ICFlc2NhcGVkICYmIG5leHQgPT0gXCJcXFxcXCI7XG4gICAgfVxuICB9XG5cbiAgLy8gVXNlZCBhcyBzY3JhdGNoIHZhcmlhYmxlcyB0byBjb21tdW5pY2F0ZSBtdWx0aXBsZSB2YWx1ZXMgd2l0aG91dFxuICAvLyBjb25zaW5nIHVwIHRvbnMgb2Ygb2JqZWN0cy5cbiAgdmFyIHR5cGUsIGNvbnRlbnQ7XG4gIGZ1bmN0aW9uIHJldCh0cCwgc3R5bGUsIGNvbnQpIHtcbiAgICB0eXBlID0gdHA7IGNvbnRlbnQgPSBjb250O1xuICAgIHJldHVybiBzdHlsZTtcbiAgfVxuICBmdW5jdGlvbiB0b2tlbkJhc2Uoc3RyZWFtLCBzdGF0ZSkge1xuICAgIHZhciBjaCA9IHN0cmVhbS5uZXh0KCk7XG4gICAgaWYgKGNoID09ICdcIicgfHwgY2ggPT0gXCInXCIpIHtcbiAgICAgIHN0YXRlLnRva2VuaXplID0gdG9rZW5TdHJpbmcoY2gpO1xuICAgICAgcmV0dXJuIHN0YXRlLnRva2VuaXplKHN0cmVhbSwgc3RhdGUpO1xuICAgIH0gZWxzZSBpZiAoY2ggPT0gXCIuXCIgJiYgc3RyZWFtLm1hdGNoKC9eXFxkW1xcZF9dKig/OltlRV1bK1xcLV0/W1xcZF9dKyk/LykpIHtcbiAgICAgIHJldHVybiByZXQoXCJudW1iZXJcIiwgXCJudW1iZXJcIik7XG4gICAgfSBlbHNlIGlmIChjaCA9PSBcIi5cIiAmJiBzdHJlYW0ubWF0Y2goXCIuLlwiKSkge1xuICAgICAgcmV0dXJuIHJldChcInNwcmVhZFwiLCBcIm1ldGFcIik7XG4gICAgfSBlbHNlIGlmICgvW1xcW1xcXXt9XFwoXFwpLDtcXDpcXC5dLy50ZXN0KGNoKSkge1xuICAgICAgcmV0dXJuIHJldChjaCk7XG4gICAgfSBlbHNlIGlmIChjaCA9PSBcIj1cIiAmJiBzdHJlYW0uZWF0KFwiPlwiKSkge1xuICAgICAgcmV0dXJuIHJldChcIj0+XCIsIFwib3BlcmF0b3JcIik7XG4gICAgfSBlbHNlIGlmIChjaCA9PSBcIjBcIiAmJiBzdHJlYW0ubWF0Y2goL14oPzp4W1xcZEEtRmEtZl9dK3xvWzAtN19dK3xiWzAxX10rKW4/LykpIHtcbiAgICAgIHJldHVybiByZXQoXCJudW1iZXJcIiwgXCJudW1iZXJcIik7XG4gICAgfSBlbHNlIGlmICgvXFxkLy50ZXN0KGNoKSkge1xuICAgICAgc3RyZWFtLm1hdGNoKC9eW1xcZF9dKig/Om58KD86XFwuW1xcZF9dKik/KD86W2VFXVsrXFwtXT9bXFxkX10rKT8pPy8pO1xuICAgICAgcmV0dXJuIHJldChcIm51bWJlclwiLCBcIm51bWJlclwiKTtcbiAgICB9IGVsc2UgaWYgKGNoID09IFwiL1wiKSB7XG4gICAgICBpZiAoc3RyZWFtLmVhdChcIipcIikpIHtcbiAgICAgICAgc3RhdGUudG9rZW5pemUgPSB0b2tlbkNvbW1lbnQ7XG4gICAgICAgIHJldHVybiB0b2tlbkNvbW1lbnQoc3RyZWFtLCBzdGF0ZSk7XG4gICAgICB9IGVsc2UgaWYgKHN0cmVhbS5lYXQoXCIvXCIpKSB7XG4gICAgICAgIHN0cmVhbS5za2lwVG9FbmQoKTtcbiAgICAgICAgcmV0dXJuIHJldChcImNvbW1lbnRcIiwgXCJjb21tZW50XCIpO1xuICAgICAgfSBlbHNlIGlmIChleHByZXNzaW9uQWxsb3dlZChzdHJlYW0sIHN0YXRlLCAxKSkge1xuICAgICAgICByZWFkUmVnZXhwKHN0cmVhbSk7XG4gICAgICAgIHN0cmVhbS5tYXRjaCgvXlxcYigoW2dpbXl1c10pKD8hW2dpbXl1c10qXFwyKSkrXFxiLyk7XG4gICAgICAgIHJldHVybiByZXQoXCJyZWdleHBcIiwgXCJzdHJpbmctMlwiKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHN0cmVhbS5lYXQoXCI9XCIpO1xuICAgICAgICByZXR1cm4gcmV0KFwib3BlcmF0b3JcIiwgXCJvcGVyYXRvclwiLCBzdHJlYW0uY3VycmVudCgpKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGNoID09IFwiYFwiKSB7XG4gICAgICBzdGF0ZS50b2tlbml6ZSA9IHRva2VuUXVhc2k7XG4gICAgICByZXR1cm4gdG9rZW5RdWFzaShzdHJlYW0sIHN0YXRlKTtcbiAgICB9IGVsc2UgaWYgKGNoID09IFwiI1wiKSB7XG4gICAgICBzdHJlYW0uc2tpcFRvRW5kKCk7XG4gICAgICByZXR1cm4gcmV0KFwiZXJyb3JcIiwgXCJlcnJvclwiKTtcbiAgICB9IGVsc2UgaWYgKGlzT3BlcmF0b3JDaGFyLnRlc3QoY2gpKSB7XG4gICAgICBpZiAoY2ggIT0gXCI+XCIgfHwgIXN0YXRlLmxleGljYWwgfHwgc3RhdGUubGV4aWNhbC50eXBlICE9IFwiPlwiKSB7XG4gICAgICAgIGlmIChzdHJlYW0uZWF0KFwiPVwiKSkge1xuICAgICAgICAgIGlmIChjaCA9PSBcIiFcIiB8fCBjaCA9PSBcIj1cIikgc3RyZWFtLmVhdChcIj1cIilcbiAgICAgICAgfSBlbHNlIGlmICgvWzw+KitcXC1dLy50ZXN0KGNoKSkge1xuICAgICAgICAgIHN0cmVhbS5lYXQoY2gpXG4gICAgICAgICAgaWYgKGNoID09IFwiPlwiKSBzdHJlYW0uZWF0KGNoKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gcmV0KFwib3BlcmF0b3JcIiwgXCJvcGVyYXRvclwiLCBzdHJlYW0uY3VycmVudCgpKTtcbiAgICB9IGVsc2UgaWYgKHdvcmRSRS50ZXN0KGNoKSkge1xuICAgICAgc3RyZWFtLmVhdFdoaWxlKHdvcmRSRSk7XG4gICAgICB2YXIgd29yZCA9IHN0cmVhbS5jdXJyZW50KClcbiAgICAgIGlmIChzdGF0ZS5sYXN0VHlwZSAhPSBcIi5cIikge1xuICAgICAgICBpZiAoa2V5d29yZHMucHJvcGVydHlJc0VudW1lcmFibGUod29yZCkpIHtcbiAgICAgICAgICB2YXIga3cgPSBrZXl3b3Jkc1t3b3JkXVxuICAgICAgICAgIHJldHVybiByZXQoa3cudHlwZSwga3cuc3R5bGUsIHdvcmQpXG4gICAgICAgIH1cbiAgICAgICAgaWYgKHdvcmQgPT0gXCJhc3luY1wiICYmIHN0cmVhbS5tYXRjaCgvXihcXHN8XFwvXFwqLio/XFwqXFwvKSpbXFxbXFwoXFx3XS8sIGZhbHNlKSlcbiAgICAgICAgICByZXR1cm4gcmV0KFwiYXN5bmNcIiwgXCJrZXl3b3JkXCIsIHdvcmQpXG4gICAgICB9XG4gICAgICByZXR1cm4gcmV0KFwidmFyaWFibGVcIiwgXCJ2YXJpYWJsZVwiLCB3b3JkKVxuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIHRva2VuU3RyaW5nKHF1b3RlKSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uKHN0cmVhbSwgc3RhdGUpIHtcbiAgICAgIHZhciBlc2NhcGVkID0gZmFsc2UsIG5leHQ7XG4gICAgICBpZiAoanNvbmxkTW9kZSAmJiBzdHJlYW0ucGVlaygpID09IFwiQFwiICYmIHN0cmVhbS5tYXRjaChpc0pzb25sZEtleXdvcmQpKXtcbiAgICAgICAgc3RhdGUudG9rZW5pemUgPSB0b2tlbkJhc2U7XG4gICAgICAgIHJldHVybiByZXQoXCJqc29ubGQta2V5d29yZFwiLCBcIm1ldGFcIik7XG4gICAgICB9XG4gICAgICB3aGlsZSAoKG5leHQgPSBzdHJlYW0ubmV4dCgpKSAhPSBudWxsKSB7XG4gICAgICAgIGlmIChuZXh0ID09IHF1b3RlICYmICFlc2NhcGVkKSBicmVhaztcbiAgICAgICAgZXNjYXBlZCA9ICFlc2NhcGVkICYmIG5leHQgPT0gXCJcXFxcXCI7XG4gICAgICB9XG4gICAgICBpZiAoIWVzY2FwZWQpIHN0YXRlLnRva2VuaXplID0gdG9rZW5CYXNlO1xuICAgICAgcmV0dXJuIHJldChcInN0cmluZ1wiLCBcInN0cmluZ1wiKTtcbiAgICB9O1xuICB9XG5cbiAgZnVuY3Rpb24gdG9rZW5Db21tZW50KHN0cmVhbSwgc3RhdGUpIHtcbiAgICB2YXIgbWF5YmVFbmQgPSBmYWxzZSwgY2g7XG4gICAgd2hpbGUgKGNoID0gc3RyZWFtLm5leHQoKSkge1xuICAgICAgaWYgKGNoID09IFwiL1wiICYmIG1heWJlRW5kKSB7XG4gICAgICAgIHN0YXRlLnRva2VuaXplID0gdG9rZW5CYXNlO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIG1heWJlRW5kID0gKGNoID09IFwiKlwiKTtcbiAgICB9XG4gICAgcmV0dXJuIHJldChcImNvbW1lbnRcIiwgXCJjb21tZW50XCIpO1xuICB9XG5cbiAgZnVuY3Rpb24gdG9rZW5RdWFzaShzdHJlYW0sIHN0YXRlKSB7XG4gICAgdmFyIGVzY2FwZWQgPSBmYWxzZSwgbmV4dDtcbiAgICB3aGlsZSAoKG5leHQgPSBzdHJlYW0ubmV4dCgpKSAhPSBudWxsKSB7XG4gICAgICBpZiAoIWVzY2FwZWQgJiYgKG5leHQgPT0gXCJgXCIgfHwgbmV4dCA9PSBcIiRcIiAmJiBzdHJlYW0uZWF0KFwie1wiKSkpIHtcbiAgICAgICAgc3RhdGUudG9rZW5pemUgPSB0b2tlbkJhc2U7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgZXNjYXBlZCA9ICFlc2NhcGVkICYmIG5leHQgPT0gXCJcXFxcXCI7XG4gICAgfVxuICAgIHJldHVybiByZXQoXCJxdWFzaVwiLCBcInN0cmluZy0yXCIsIHN0cmVhbS5jdXJyZW50KCkpO1xuICB9XG5cbiAgdmFyIGJyYWNrZXRzID0gXCIoW3t9XSlcIjtcbiAgLy8gVGhpcyBpcyBhIGNydWRlIGxvb2thaGVhZCB0cmljayB0byB0cnkgYW5kIG5vdGljZSB0aGF0IHdlJ3JlXG4gIC8vIHBhcnNpbmcgdGhlIGFyZ3VtZW50IHBhdHRlcm5zIGZvciBhIGZhdC1hcnJvdyBmdW5jdGlvbiBiZWZvcmUgd2VcbiAgLy8gYWN0dWFsbHkgaGl0IHRoZSBhcnJvdyB0b2tlbi4gSXQgb25seSB3b3JrcyBpZiB0aGUgYXJyb3cgaXMgb25cbiAgLy8gdGhlIHNhbWUgbGluZSBhcyB0aGUgYXJndW1lbnRzIGFuZCB0aGVyZSdzIG5vIHN0cmFuZ2Ugbm9pc2VcbiAgLy8gKGNvbW1lbnRzKSBpbiBiZXR3ZWVuLiBGYWxsYmFjayBpcyB0byBvbmx5IG5vdGljZSB3aGVuIHdlIGhpdCB0aGVcbiAgLy8gYXJyb3csIGFuZCBub3QgZGVjbGFyZSB0aGUgYXJndW1lbnRzIGFzIGxvY2FscyBmb3IgdGhlIGFycm93XG4gIC8vIGJvZHkuXG4gIGZ1bmN0aW9uIGZpbmRGYXRBcnJvdyhzdHJlYW0sIHN0YXRlKSB7XG4gICAgaWYgKHN0YXRlLmZhdEFycm93QXQpIHN0YXRlLmZhdEFycm93QXQgPSBudWxsO1xuICAgIHZhciBhcnJvdyA9IHN0cmVhbS5zdHJpbmcuaW5kZXhPZihcIj0+XCIsIHN0cmVhbS5zdGFydCk7XG4gICAgaWYgKGFycm93IDwgMCkgcmV0dXJuO1xuXG4gICAgaWYgKGlzVFMpIHsgLy8gVHJ5IHRvIHNraXAgVHlwZVNjcmlwdCByZXR1cm4gdHlwZSBkZWNsYXJhdGlvbnMgYWZ0ZXIgdGhlIGFyZ3VtZW50c1xuICAgICAgdmFyIG0gPSAvOlxccyooPzpcXHcrKD86PFtePl0qPnxcXFtcXF0pP3xcXHtbXn1dKlxcfSlcXHMqJC8uZXhlYyhzdHJlYW0uc3RyaW5nLnNsaWNlKHN0cmVhbS5zdGFydCwgYXJyb3cpKVxuICAgICAgaWYgKG0pIGFycm93ID0gbS5pbmRleFxuICAgIH1cblxuICAgIHZhciBkZXB0aCA9IDAsIHNhd1NvbWV0aGluZyA9IGZhbHNlO1xuICAgIGZvciAodmFyIHBvcyA9IGFycm93IC0gMTsgcG9zID49IDA7IC0tcG9zKSB7XG4gICAgICB2YXIgY2ggPSBzdHJlYW0uc3RyaW5nLmNoYXJBdChwb3MpO1xuICAgICAgdmFyIGJyYWNrZXQgPSBicmFja2V0cy5pbmRleE9mKGNoKTtcbiAgICAgIGlmIChicmFja2V0ID49IDAgJiYgYnJhY2tldCA8IDMpIHtcbiAgICAgICAgaWYgKCFkZXB0aCkgeyArK3BvczsgYnJlYWs7IH1cbiAgICAgICAgaWYgKC0tZGVwdGggPT0gMCkgeyBpZiAoY2ggPT0gXCIoXCIpIHNhd1NvbWV0aGluZyA9IHRydWU7IGJyZWFrOyB9XG4gICAgICB9IGVsc2UgaWYgKGJyYWNrZXQgPj0gMyAmJiBicmFja2V0IDwgNikge1xuICAgICAgICArK2RlcHRoO1xuICAgICAgfSBlbHNlIGlmICh3b3JkUkUudGVzdChjaCkpIHtcbiAgICAgICAgc2F3U29tZXRoaW5nID0gdHJ1ZTtcbiAgICAgIH0gZWxzZSBpZiAoL1tcIidcXC9gXS8udGVzdChjaCkpIHtcbiAgICAgICAgZm9yICg7OyAtLXBvcykge1xuICAgICAgICAgIGlmIChwb3MgPT0gMCkgcmV0dXJuXG4gICAgICAgICAgdmFyIG5leHQgPSBzdHJlYW0uc3RyaW5nLmNoYXJBdChwb3MgLSAxKVxuICAgICAgICAgIGlmIChuZXh0ID09IGNoICYmIHN0cmVhbS5zdHJpbmcuY2hhckF0KHBvcyAtIDIpICE9IFwiXFxcXFwiKSB7IHBvcy0tOyBicmVhayB9XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoc2F3U29tZXRoaW5nICYmICFkZXB0aCkge1xuICAgICAgICArK3BvcztcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChzYXdTb21ldGhpbmcgJiYgIWRlcHRoKSBzdGF0ZS5mYXRBcnJvd0F0ID0gcG9zO1xuICB9XG5cbiAgLy8gUGFyc2VyXG5cbiAgdmFyIGF0b21pY1R5cGVzID0ge1wiYXRvbVwiOiB0cnVlLCBcIm51bWJlclwiOiB0cnVlLCBcInZhcmlhYmxlXCI6IHRydWUsIFwic3RyaW5nXCI6IHRydWUsIFwicmVnZXhwXCI6IHRydWUsIFwidGhpc1wiOiB0cnVlLCBcImpzb25sZC1rZXl3b3JkXCI6IHRydWV9O1xuXG4gIGZ1bmN0aW9uIEpTTGV4aWNhbChpbmRlbnRlZCwgY29sdW1uLCB0eXBlLCBhbGlnbiwgcHJldiwgaW5mbykge1xuICAgIHRoaXMuaW5kZW50ZWQgPSBpbmRlbnRlZDtcbiAgICB0aGlzLmNvbHVtbiA9IGNvbHVtbjtcbiAgICB0aGlzLnR5cGUgPSB0eXBlO1xuICAgIHRoaXMucHJldiA9IHByZXY7XG4gICAgdGhpcy5pbmZvID0gaW5mbztcbiAgICBpZiAoYWxpZ24gIT0gbnVsbCkgdGhpcy5hbGlnbiA9IGFsaWduO1xuICB9XG5cbiAgZnVuY3Rpb24gaW5TY29wZShzdGF0ZSwgdmFybmFtZSkge1xuICAgIGZvciAodmFyIHYgPSBzdGF0ZS5sb2NhbFZhcnM7IHY7IHYgPSB2Lm5leHQpXG4gICAgICBpZiAodi5uYW1lID09IHZhcm5hbWUpIHJldHVybiB0cnVlO1xuICAgIGZvciAodmFyIGN4ID0gc3RhdGUuY29udGV4dDsgY3g7IGN4ID0gY3gucHJldikge1xuICAgICAgZm9yICh2YXIgdiA9IGN4LnZhcnM7IHY7IHYgPSB2Lm5leHQpXG4gICAgICAgIGlmICh2Lm5hbWUgPT0gdmFybmFtZSkgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gcGFyc2VKUyhzdGF0ZSwgc3R5bGUsIHR5cGUsIGNvbnRlbnQsIHN0cmVhbSkge1xuICAgIHZhciBjYyA9IHN0YXRlLmNjO1xuICAgIC8vIENvbW11bmljYXRlIG91ciBjb250ZXh0IHRvIHRoZSBjb21iaW5hdG9ycy5cbiAgICAvLyAoTGVzcyB3YXN0ZWZ1bCB0aGFuIGNvbnNpbmcgdXAgYSBodW5kcmVkIGNsb3N1cmVzIG9uIGV2ZXJ5IGNhbGwuKVxuICAgIGN4LnN0YXRlID0gc3RhdGU7IGN4LnN0cmVhbSA9IHN0cmVhbTsgY3gubWFya2VkID0gbnVsbCwgY3guY2MgPSBjYzsgY3guc3R5bGUgPSBzdHlsZTtcblxuICAgIGlmICghc3RhdGUubGV4aWNhbC5oYXNPd25Qcm9wZXJ0eShcImFsaWduXCIpKVxuICAgICAgc3RhdGUubGV4aWNhbC5hbGlnbiA9IHRydWU7XG5cbiAgICB3aGlsZSh0cnVlKSB7XG4gICAgICB2YXIgY29tYmluYXRvciA9IGNjLmxlbmd0aCA/IGNjLnBvcCgpIDoganNvbk1vZGUgPyBleHByZXNzaW9uIDogc3RhdGVtZW50O1xuICAgICAgaWYgKGNvbWJpbmF0b3IodHlwZSwgY29udGVudCkpIHtcbiAgICAgICAgd2hpbGUoY2MubGVuZ3RoICYmIGNjW2NjLmxlbmd0aCAtIDFdLmxleClcbiAgICAgICAgICBjYy5wb3AoKSgpO1xuICAgICAgICBpZiAoY3gubWFya2VkKSByZXR1cm4gY3gubWFya2VkO1xuICAgICAgICBpZiAodHlwZSA9PSBcInZhcmlhYmxlXCIgJiYgaW5TY29wZShzdGF0ZSwgY29udGVudCkpIHJldHVybiBcInZhcmlhYmxlLTJcIjtcbiAgICAgICAgcmV0dXJuIHN0eWxlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIENvbWJpbmF0b3IgdXRpbHNcblxuICB2YXIgY3ggPSB7c3RhdGU6IG51bGwsIGNvbHVtbjogbnVsbCwgbWFya2VkOiBudWxsLCBjYzogbnVsbH07XG4gIGZ1bmN0aW9uIHBhc3MoKSB7XG4gICAgZm9yICh2YXIgaSA9IGFyZ3VtZW50cy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkgY3guY2MucHVzaChhcmd1bWVudHNbaV0pO1xuICB9XG4gIGZ1bmN0aW9uIGNvbnQoKSB7XG4gICAgcGFzcy5hcHBseShudWxsLCBhcmd1bWVudHMpO1xuICAgIHJldHVybiB0cnVlO1xuICB9XG4gIGZ1bmN0aW9uIGluTGlzdChuYW1lLCBsaXN0KSB7XG4gICAgZm9yICh2YXIgdiA9IGxpc3Q7IHY7IHYgPSB2Lm5leHQpIGlmICh2Lm5hbWUgPT0gbmFtZSkgcmV0dXJuIHRydWVcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgZnVuY3Rpb24gcmVnaXN0ZXIodmFybmFtZSkge1xuICAgIHZhciBzdGF0ZSA9IGN4LnN0YXRlO1xuICAgIGN4Lm1hcmtlZCA9IFwiZGVmXCI7XG4gICAgaWYgKHN0YXRlLmNvbnRleHQpIHtcbiAgICAgIGlmIChzdGF0ZS5sZXhpY2FsLmluZm8gPT0gXCJ2YXJcIiAmJiBzdGF0ZS5jb250ZXh0ICYmIHN0YXRlLmNvbnRleHQuYmxvY2spIHtcbiAgICAgICAgLy8gRklYTUUgZnVuY3Rpb24gZGVjbHMgYXJlIGFsc28gbm90IGJsb2NrIHNjb3BlZFxuICAgICAgICB2YXIgbmV3Q29udGV4dCA9IHJlZ2lzdGVyVmFyU2NvcGVkKHZhcm5hbWUsIHN0YXRlLmNvbnRleHQpXG4gICAgICAgIGlmIChuZXdDb250ZXh0ICE9IG51bGwpIHtcbiAgICAgICAgICBzdGF0ZS5jb250ZXh0ID0gbmV3Q29udGV4dFxuICAgICAgICAgIHJldHVyblxuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKCFpbkxpc3QodmFybmFtZSwgc3RhdGUubG9jYWxWYXJzKSkge1xuICAgICAgICBzdGF0ZS5sb2NhbFZhcnMgPSBuZXcgVmFyKHZhcm5hbWUsIHN0YXRlLmxvY2FsVmFycylcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG4gICAgfVxuICAgIC8vIEZhbGwgdGhyb3VnaCBtZWFucyB0aGlzIGlzIGdsb2JhbFxuICAgIGlmIChwYXJzZXJDb25maWcuZ2xvYmFsVmFycyAmJiAhaW5MaXN0KHZhcm5hbWUsIHN0YXRlLmdsb2JhbFZhcnMpKVxuICAgICAgc3RhdGUuZ2xvYmFsVmFycyA9IG5ldyBWYXIodmFybmFtZSwgc3RhdGUuZ2xvYmFsVmFycylcbiAgfVxuICBmdW5jdGlvbiByZWdpc3RlclZhclNjb3BlZCh2YXJuYW1lLCBjb250ZXh0KSB7XG4gICAgaWYgKCFjb250ZXh0KSB7XG4gICAgICByZXR1cm4gbnVsbFxuICAgIH0gZWxzZSBpZiAoY29udGV4dC5ibG9jaykge1xuICAgICAgdmFyIGlubmVyID0gcmVnaXN0ZXJWYXJTY29wZWQodmFybmFtZSwgY29udGV4dC5wcmV2KVxuICAgICAgaWYgKCFpbm5lcikgcmV0dXJuIG51bGxcbiAgICAgIGlmIChpbm5lciA9PSBjb250ZXh0LnByZXYpIHJldHVybiBjb250ZXh0XG4gICAgICByZXR1cm4gbmV3IENvbnRleHQoaW5uZXIsIGNvbnRleHQudmFycywgdHJ1ZSlcbiAgICB9IGVsc2UgaWYgKGluTGlzdCh2YXJuYW1lLCBjb250ZXh0LnZhcnMpKSB7XG4gICAgICByZXR1cm4gY29udGV4dFxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gbmV3IENvbnRleHQoY29udGV4dC5wcmV2LCBuZXcgVmFyKHZhcm5hbWUsIGNvbnRleHQudmFycyksIGZhbHNlKVxuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIGlzTW9kaWZpZXIobmFtZSkge1xuICAgIHJldHVybiBuYW1lID09IFwicHVibGljXCIgfHwgbmFtZSA9PSBcInByaXZhdGVcIiB8fCBuYW1lID09IFwicHJvdGVjdGVkXCIgfHwgbmFtZSA9PSBcImFic3RyYWN0XCIgfHwgbmFtZSA9PSBcInJlYWRvbmx5XCJcbiAgfVxuXG4gIC8vIENvbWJpbmF0b3JzXG5cbiAgZnVuY3Rpb24gQ29udGV4dChwcmV2LCB2YXJzLCBibG9jaykgeyB0aGlzLnByZXYgPSBwcmV2OyB0aGlzLnZhcnMgPSB2YXJzOyB0aGlzLmJsb2NrID0gYmxvY2sgfVxuICBmdW5jdGlvbiBWYXIobmFtZSwgbmV4dCkgeyB0aGlzLm5hbWUgPSBuYW1lOyB0aGlzLm5leHQgPSBuZXh0IH1cblxuICB2YXIgZGVmYXVsdFZhcnMgPSBuZXcgVmFyKFwidGhpc1wiLCBuZXcgVmFyKFwiYXJndW1lbnRzXCIsIG51bGwpKVxuICBmdW5jdGlvbiBwdXNoY29udGV4dCgpIHtcbiAgICBjeC5zdGF0ZS5jb250ZXh0ID0gbmV3IENvbnRleHQoY3guc3RhdGUuY29udGV4dCwgY3guc3RhdGUubG9jYWxWYXJzLCBmYWxzZSlcbiAgICBjeC5zdGF0ZS5sb2NhbFZhcnMgPSBkZWZhdWx0VmFyc1xuICB9XG4gIGZ1bmN0aW9uIHB1c2hibG9ja2NvbnRleHQoKSB7XG4gICAgY3guc3RhdGUuY29udGV4dCA9IG5ldyBDb250ZXh0KGN4LnN0YXRlLmNvbnRleHQsIGN4LnN0YXRlLmxvY2FsVmFycywgdHJ1ZSlcbiAgICBjeC5zdGF0ZS5sb2NhbFZhcnMgPSBudWxsXG4gIH1cbiAgZnVuY3Rpb24gcG9wY29udGV4dCgpIHtcbiAgICBjeC5zdGF0ZS5sb2NhbFZhcnMgPSBjeC5zdGF0ZS5jb250ZXh0LnZhcnNcbiAgICBjeC5zdGF0ZS5jb250ZXh0ID0gY3guc3RhdGUuY29udGV4dC5wcmV2XG4gIH1cbiAgcG9wY29udGV4dC5sZXggPSB0cnVlXG4gIGZ1bmN0aW9uIHB1c2hsZXgodHlwZSwgaW5mbykge1xuICAgIHZhciByZXN1bHQgPSBmdW5jdGlvbigpIHtcbiAgICAgIHZhciBzdGF0ZSA9IGN4LnN0YXRlLCBpbmRlbnQgPSBzdGF0ZS5pbmRlbnRlZDtcbiAgICAgIGlmIChzdGF0ZS5sZXhpY2FsLnR5cGUgPT0gXCJzdGF0XCIpIGluZGVudCA9IHN0YXRlLmxleGljYWwuaW5kZW50ZWQ7XG4gICAgICBlbHNlIGZvciAodmFyIG91dGVyID0gc3RhdGUubGV4aWNhbDsgb3V0ZXIgJiYgb3V0ZXIudHlwZSA9PSBcIilcIiAmJiBvdXRlci5hbGlnbjsgb3V0ZXIgPSBvdXRlci5wcmV2KVxuICAgICAgICBpbmRlbnQgPSBvdXRlci5pbmRlbnRlZDtcbiAgICAgIHN0YXRlLmxleGljYWwgPSBuZXcgSlNMZXhpY2FsKGluZGVudCwgY3guc3RyZWFtLmNvbHVtbigpLCB0eXBlLCBudWxsLCBzdGF0ZS5sZXhpY2FsLCBpbmZvKTtcbiAgICB9O1xuICAgIHJlc3VsdC5sZXggPSB0cnVlO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cbiAgZnVuY3Rpb24gcG9wbGV4KCkge1xuICAgIHZhciBzdGF0ZSA9IGN4LnN0YXRlO1xuICAgIGlmIChzdGF0ZS5sZXhpY2FsLnByZXYpIHtcbiAgICAgIGlmIChzdGF0ZS5sZXhpY2FsLnR5cGUgPT0gXCIpXCIpXG4gICAgICAgIHN0YXRlLmluZGVudGVkID0gc3RhdGUubGV4aWNhbC5pbmRlbnRlZDtcbiAgICAgIHN0YXRlLmxleGljYWwgPSBzdGF0ZS5sZXhpY2FsLnByZXY7XG4gICAgfVxuICB9XG4gIHBvcGxleC5sZXggPSB0cnVlO1xuXG4gIGZ1bmN0aW9uIGV4cGVjdCh3YW50ZWQpIHtcbiAgICBmdW5jdGlvbiBleHAodHlwZSkge1xuICAgICAgaWYgKHR5cGUgPT0gd2FudGVkKSByZXR1cm4gY29udCgpO1xuICAgICAgZWxzZSBpZiAod2FudGVkID09IFwiO1wiIHx8IHR5cGUgPT0gXCJ9XCIgfHwgdHlwZSA9PSBcIilcIiB8fCB0eXBlID09IFwiXVwiKSByZXR1cm4gcGFzcygpO1xuICAgICAgZWxzZSByZXR1cm4gY29udChleHApO1xuICAgIH07XG4gICAgcmV0dXJuIGV4cDtcbiAgfVxuXG4gIGZ1bmN0aW9uIHN0YXRlbWVudCh0eXBlLCB2YWx1ZSkge1xuICAgIGlmICh0eXBlID09IFwidmFyXCIpIHJldHVybiBjb250KHB1c2hsZXgoXCJ2YXJkZWZcIiwgdmFsdWUpLCB2YXJkZWYsIGV4cGVjdChcIjtcIiksIHBvcGxleCk7XG4gICAgaWYgKHR5cGUgPT0gXCJrZXl3b3JkIGFcIikgcmV0dXJuIGNvbnQocHVzaGxleChcImZvcm1cIiksIHBhcmVuRXhwciwgc3RhdGVtZW50LCBwb3BsZXgpO1xuICAgIGlmICh0eXBlID09IFwia2V5d29yZCBiXCIpIHJldHVybiBjb250KHB1c2hsZXgoXCJmb3JtXCIpLCBzdGF0ZW1lbnQsIHBvcGxleCk7XG4gICAgaWYgKHR5cGUgPT0gXCJrZXl3b3JkIGRcIikgcmV0dXJuIGN4LnN0cmVhbS5tYXRjaCgvXlxccyokLywgZmFsc2UpID8gY29udCgpIDogY29udChwdXNobGV4KFwic3RhdFwiKSwgbWF5YmVleHByZXNzaW9uLCBleHBlY3QoXCI7XCIpLCBwb3BsZXgpO1xuICAgIGlmICh0eXBlID09IFwiZGVidWdnZXJcIikgcmV0dXJuIGNvbnQoZXhwZWN0KFwiO1wiKSk7XG4gICAgaWYgKHR5cGUgPT0gXCJ7XCIpIHJldHVybiBjb250KHB1c2hsZXgoXCJ9XCIpLCBwdXNoYmxvY2tjb250ZXh0LCBibG9jaywgcG9wbGV4LCBwb3Bjb250ZXh0KTtcbiAgICBpZiAodHlwZSA9PSBcIjtcIikgcmV0dXJuIGNvbnQoKTtcbiAgICBpZiAodHlwZSA9PSBcImlmXCIpIHtcbiAgICAgIGlmIChjeC5zdGF0ZS5sZXhpY2FsLmluZm8gPT0gXCJlbHNlXCIgJiYgY3guc3RhdGUuY2NbY3guc3RhdGUuY2MubGVuZ3RoIC0gMV0gPT0gcG9wbGV4KVxuICAgICAgICBjeC5zdGF0ZS5jYy5wb3AoKSgpO1xuICAgICAgcmV0dXJuIGNvbnQocHVzaGxleChcImZvcm1cIiksIHBhcmVuRXhwciwgc3RhdGVtZW50LCBwb3BsZXgsIG1heWJlZWxzZSk7XG4gICAgfVxuICAgIGlmICh0eXBlID09IFwiZnVuY3Rpb25cIikgcmV0dXJuIGNvbnQoZnVuY3Rpb25kZWYpO1xuICAgIGlmICh0eXBlID09IFwiZm9yXCIpIHJldHVybiBjb250KHB1c2hsZXgoXCJmb3JtXCIpLCBmb3JzcGVjLCBzdGF0ZW1lbnQsIHBvcGxleCk7XG4gICAgaWYgKHR5cGUgPT0gXCJjbGFzc1wiIHx8IChpc1RTICYmIHZhbHVlID09IFwiaW50ZXJmYWNlXCIpKSB7XG4gICAgICBjeC5tYXJrZWQgPSBcImtleXdvcmRcIlxuICAgICAgcmV0dXJuIGNvbnQocHVzaGxleChcImZvcm1cIiwgdHlwZSA9PSBcImNsYXNzXCIgPyB0eXBlIDogdmFsdWUpLCBjbGFzc05hbWUsIHBvcGxleClcbiAgICB9XG4gICAgaWYgKHR5cGUgPT0gXCJ2YXJpYWJsZVwiKSB7XG4gICAgICBpZiAoaXNUUyAmJiB2YWx1ZSA9PSBcImRlY2xhcmVcIikge1xuICAgICAgICBjeC5tYXJrZWQgPSBcImtleXdvcmRcIlxuICAgICAgICByZXR1cm4gY29udChzdGF0ZW1lbnQpXG4gICAgICB9IGVsc2UgaWYgKGlzVFMgJiYgKHZhbHVlID09IFwibW9kdWxlXCIgfHwgdmFsdWUgPT0gXCJlbnVtXCIgfHwgdmFsdWUgPT0gXCJ0eXBlXCIpICYmIGN4LnN0cmVhbS5tYXRjaCgvXlxccypcXHcvLCBmYWxzZSkpIHtcbiAgICAgICAgY3gubWFya2VkID0gXCJrZXl3b3JkXCJcbiAgICAgICAgaWYgKHZhbHVlID09IFwiZW51bVwiKSByZXR1cm4gY29udChlbnVtZGVmKTtcbiAgICAgICAgZWxzZSBpZiAodmFsdWUgPT0gXCJ0eXBlXCIpIHJldHVybiBjb250KHR5cGVuYW1lLCBleHBlY3QoXCJvcGVyYXRvclwiKSwgdHlwZWV4cHIsIGV4cGVjdChcIjtcIikpO1xuICAgICAgICBlbHNlIHJldHVybiBjb250KHB1c2hsZXgoXCJmb3JtXCIpLCBwYXR0ZXJuLCBleHBlY3QoXCJ7XCIpLCBwdXNobGV4KFwifVwiKSwgYmxvY2ssIHBvcGxleCwgcG9wbGV4KVxuICAgICAgfSBlbHNlIGlmIChpc1RTICYmIHZhbHVlID09IFwibmFtZXNwYWNlXCIpIHtcbiAgICAgICAgY3gubWFya2VkID0gXCJrZXl3b3JkXCJcbiAgICAgICAgcmV0dXJuIGNvbnQocHVzaGxleChcImZvcm1cIiksIGV4cHJlc3Npb24sIHN0YXRlbWVudCwgcG9wbGV4KVxuICAgICAgfSBlbHNlIGlmIChpc1RTICYmIHZhbHVlID09IFwiYWJzdHJhY3RcIikge1xuICAgICAgICBjeC5tYXJrZWQgPSBcImtleXdvcmRcIlxuICAgICAgICByZXR1cm4gY29udChzdGF0ZW1lbnQpXG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gY29udChwdXNobGV4KFwic3RhdFwiKSwgbWF5YmVsYWJlbCk7XG4gICAgICB9XG4gICAgfVxuICAgIGlmICh0eXBlID09IFwic3dpdGNoXCIpIHJldHVybiBjb250KHB1c2hsZXgoXCJmb3JtXCIpLCBwYXJlbkV4cHIsIGV4cGVjdChcIntcIiksIHB1c2hsZXgoXCJ9XCIsIFwic3dpdGNoXCIpLCBwdXNoYmxvY2tjb250ZXh0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibG9jaywgcG9wbGV4LCBwb3BsZXgsIHBvcGNvbnRleHQpO1xuICAgIGlmICh0eXBlID09IFwiY2FzZVwiKSByZXR1cm4gY29udChleHByZXNzaW9uLCBleHBlY3QoXCI6XCIpKTtcbiAgICBpZiAodHlwZSA9PSBcImRlZmF1bHRcIikgcmV0dXJuIGNvbnQoZXhwZWN0KFwiOlwiKSk7XG4gICAgaWYgKHR5cGUgPT0gXCJjYXRjaFwiKSByZXR1cm4gY29udChwdXNobGV4KFwiZm9ybVwiKSwgcHVzaGNvbnRleHQsIG1heWJlQ2F0Y2hCaW5kaW5nLCBzdGF0ZW1lbnQsIHBvcGxleCwgcG9wY29udGV4dCk7XG4gICAgaWYgKHR5cGUgPT0gXCJleHBvcnRcIikgcmV0dXJuIGNvbnQocHVzaGxleChcInN0YXRcIiksIGFmdGVyRXhwb3J0LCBwb3BsZXgpO1xuICAgIGlmICh0eXBlID09IFwiaW1wb3J0XCIpIHJldHVybiBjb250KHB1c2hsZXgoXCJzdGF0XCIpLCBhZnRlckltcG9ydCwgcG9wbGV4KTtcbiAgICBpZiAodHlwZSA9PSBcImFzeW5jXCIpIHJldHVybiBjb250KHN0YXRlbWVudClcbiAgICBpZiAodmFsdWUgPT0gXCJAXCIpIHJldHVybiBjb250KGV4cHJlc3Npb24sIHN0YXRlbWVudClcbiAgICByZXR1cm4gcGFzcyhwdXNobGV4KFwic3RhdFwiKSwgZXhwcmVzc2lvbiwgZXhwZWN0KFwiO1wiKSwgcG9wbGV4KTtcbiAgfVxuICBmdW5jdGlvbiBtYXliZUNhdGNoQmluZGluZyh0eXBlKSB7XG4gICAgaWYgKHR5cGUgPT0gXCIoXCIpIHJldHVybiBjb250KGZ1bmFyZywgZXhwZWN0KFwiKVwiKSlcbiAgfVxuICBmdW5jdGlvbiBleHByZXNzaW9uKHR5cGUsIHZhbHVlKSB7XG4gICAgcmV0dXJuIGV4cHJlc3Npb25Jbm5lcih0eXBlLCB2YWx1ZSwgZmFsc2UpO1xuICB9XG4gIGZ1bmN0aW9uIGV4cHJlc3Npb25Ob0NvbW1hKHR5cGUsIHZhbHVlKSB7XG4gICAgcmV0dXJuIGV4cHJlc3Npb25Jbm5lcih0eXBlLCB2YWx1ZSwgdHJ1ZSk7XG4gIH1cbiAgZnVuY3Rpb24gcGFyZW5FeHByKHR5cGUpIHtcbiAgICBpZiAodHlwZSAhPSBcIihcIikgcmV0dXJuIHBhc3MoKVxuICAgIHJldHVybiBjb250KHB1c2hsZXgoXCIpXCIpLCBleHByZXNzaW9uLCBleHBlY3QoXCIpXCIpLCBwb3BsZXgpXG4gIH1cbiAgZnVuY3Rpb24gZXhwcmVzc2lvbklubmVyKHR5cGUsIHZhbHVlLCBub0NvbW1hKSB7XG4gICAgaWYgKGN4LnN0YXRlLmZhdEFycm93QXQgPT0gY3guc3RyZWFtLnN0YXJ0KSB7XG4gICAgICB2YXIgYm9keSA9IG5vQ29tbWEgPyBhcnJvd0JvZHlOb0NvbW1hIDogYXJyb3dCb2R5O1xuICAgICAgaWYgKHR5cGUgPT0gXCIoXCIpIHJldHVybiBjb250KHB1c2hjb250ZXh0LCBwdXNobGV4KFwiKVwiKSwgY29tbWFzZXAoZnVuYXJnLCBcIilcIiksIHBvcGxleCwgZXhwZWN0KFwiPT5cIiksIGJvZHksIHBvcGNvbnRleHQpO1xuICAgICAgZWxzZSBpZiAodHlwZSA9PSBcInZhcmlhYmxlXCIpIHJldHVybiBwYXNzKHB1c2hjb250ZXh0LCBwYXR0ZXJuLCBleHBlY3QoXCI9PlwiKSwgYm9keSwgcG9wY29udGV4dCk7XG4gICAgfVxuXG4gICAgdmFyIG1heWJlb3AgPSBub0NvbW1hID8gbWF5YmVvcGVyYXRvck5vQ29tbWEgOiBtYXliZW9wZXJhdG9yQ29tbWE7XG4gICAgaWYgKGF0b21pY1R5cGVzLmhhc093blByb3BlcnR5KHR5cGUpKSByZXR1cm4gY29udChtYXliZW9wKTtcbiAgICBpZiAodHlwZSA9PSBcImZ1bmN0aW9uXCIpIHJldHVybiBjb250KGZ1bmN0aW9uZGVmLCBtYXliZW9wKTtcbiAgICBpZiAodHlwZSA9PSBcImNsYXNzXCIgfHwgKGlzVFMgJiYgdmFsdWUgPT0gXCJpbnRlcmZhY2VcIikpIHsgY3gubWFya2VkID0gXCJrZXl3b3JkXCI7IHJldHVybiBjb250KHB1c2hsZXgoXCJmb3JtXCIpLCBjbGFzc0V4cHJlc3Npb24sIHBvcGxleCk7IH1cbiAgICBpZiAodHlwZSA9PSBcImtleXdvcmQgY1wiIHx8IHR5cGUgPT0gXCJhc3luY1wiKSByZXR1cm4gY29udChub0NvbW1hID8gZXhwcmVzc2lvbk5vQ29tbWEgOiBleHByZXNzaW9uKTtcbiAgICBpZiAodHlwZSA9PSBcIihcIikgcmV0dXJuIGNvbnQocHVzaGxleChcIilcIiksIG1heWJlZXhwcmVzc2lvbiwgZXhwZWN0KFwiKVwiKSwgcG9wbGV4LCBtYXliZW9wKTtcbiAgICBpZiAodHlwZSA9PSBcIm9wZXJhdG9yXCIgfHwgdHlwZSA9PSBcInNwcmVhZFwiKSByZXR1cm4gY29udChub0NvbW1hID8gZXhwcmVzc2lvbk5vQ29tbWEgOiBleHByZXNzaW9uKTtcbiAgICBpZiAodHlwZSA9PSBcIltcIikgcmV0dXJuIGNvbnQocHVzaGxleChcIl1cIiksIGFycmF5TGl0ZXJhbCwgcG9wbGV4LCBtYXliZW9wKTtcbiAgICBpZiAodHlwZSA9PSBcIntcIikgcmV0dXJuIGNvbnRDb21tYXNlcChvYmpwcm9wLCBcIn1cIiwgbnVsbCwgbWF5YmVvcCk7XG4gICAgaWYgKHR5cGUgPT0gXCJxdWFzaVwiKSByZXR1cm4gcGFzcyhxdWFzaSwgbWF5YmVvcCk7XG4gICAgaWYgKHR5cGUgPT0gXCJuZXdcIikgcmV0dXJuIGNvbnQobWF5YmVUYXJnZXQobm9Db21tYSkpO1xuICAgIGlmICh0eXBlID09IFwiaW1wb3J0XCIpIHJldHVybiBjb250KGV4cHJlc3Npb24pO1xuICAgIHJldHVybiBjb250KCk7XG4gIH1cbiAgZnVuY3Rpb24gbWF5YmVleHByZXNzaW9uKHR5cGUpIHtcbiAgICBpZiAodHlwZS5tYXRjaCgvWztcXH1cXClcXF0sXS8pKSByZXR1cm4gcGFzcygpO1xuICAgIHJldHVybiBwYXNzKGV4cHJlc3Npb24pO1xuICB9XG5cbiAgZnVuY3Rpb24gbWF5YmVvcGVyYXRvckNvbW1hKHR5cGUsIHZhbHVlKSB7XG4gICAgaWYgKHR5cGUgPT0gXCIsXCIpIHJldHVybiBjb250KGV4cHJlc3Npb24pO1xuICAgIHJldHVybiBtYXliZW9wZXJhdG9yTm9Db21tYSh0eXBlLCB2YWx1ZSwgZmFsc2UpO1xuICB9XG4gIGZ1bmN0aW9uIG1heWJlb3BlcmF0b3JOb0NvbW1hKHR5cGUsIHZhbHVlLCBub0NvbW1hKSB7XG4gICAgdmFyIG1lID0gbm9Db21tYSA9PSBmYWxzZSA/IG1heWJlb3BlcmF0b3JDb21tYSA6IG1heWJlb3BlcmF0b3JOb0NvbW1hO1xuICAgIHZhciBleHByID0gbm9Db21tYSA9PSBmYWxzZSA/IGV4cHJlc3Npb24gOiBleHByZXNzaW9uTm9Db21tYTtcbiAgICBpZiAodHlwZSA9PSBcIj0+XCIpIHJldHVybiBjb250KHB1c2hjb250ZXh0LCBub0NvbW1hID8gYXJyb3dCb2R5Tm9Db21tYSA6IGFycm93Qm9keSwgcG9wY29udGV4dCk7XG4gICAgaWYgKHR5cGUgPT0gXCJvcGVyYXRvclwiKSB7XG4gICAgICBpZiAoL1xcK1xcK3wtLS8udGVzdCh2YWx1ZSkgfHwgaXNUUyAmJiB2YWx1ZSA9PSBcIiFcIikgcmV0dXJuIGNvbnQobWUpO1xuICAgICAgaWYgKGlzVFMgJiYgdmFsdWUgPT0gXCI8XCIgJiYgY3guc3RyZWFtLm1hdGNoKC9eKFtePl18PC4qPz4pKj5cXHMqXFwoLywgZmFsc2UpKVxuICAgICAgICByZXR1cm4gY29udChwdXNobGV4KFwiPlwiKSwgY29tbWFzZXAodHlwZWV4cHIsIFwiPlwiKSwgcG9wbGV4LCBtZSk7XG4gICAgICBpZiAodmFsdWUgPT0gXCI/XCIpIHJldHVybiBjb250KGV4cHJlc3Npb24sIGV4cGVjdChcIjpcIiksIGV4cHIpO1xuICAgICAgcmV0dXJuIGNvbnQoZXhwcik7XG4gICAgfVxuICAgIGlmICh0eXBlID09IFwicXVhc2lcIikgeyByZXR1cm4gcGFzcyhxdWFzaSwgbWUpOyB9XG4gICAgaWYgKHR5cGUgPT0gXCI7XCIpIHJldHVybjtcbiAgICBpZiAodHlwZSA9PSBcIihcIikgcmV0dXJuIGNvbnRDb21tYXNlcChleHByZXNzaW9uTm9Db21tYSwgXCIpXCIsIFwiY2FsbFwiLCBtZSk7XG4gICAgaWYgKHR5cGUgPT0gXCIuXCIpIHJldHVybiBjb250KHByb3BlcnR5LCBtZSk7XG4gICAgaWYgKHR5cGUgPT0gXCJbXCIpIHJldHVybiBjb250KHB1c2hsZXgoXCJdXCIpLCBtYXliZWV4cHJlc3Npb24sIGV4cGVjdChcIl1cIiksIHBvcGxleCwgbWUpO1xuICAgIGlmIChpc1RTICYmIHZhbHVlID09IFwiYXNcIikgeyBjeC5tYXJrZWQgPSBcImtleXdvcmRcIjsgcmV0dXJuIGNvbnQodHlwZWV4cHIsIG1lKSB9XG4gICAgaWYgKHR5cGUgPT0gXCJyZWdleHBcIikge1xuICAgICAgY3guc3RhdGUubGFzdFR5cGUgPSBjeC5tYXJrZWQgPSBcIm9wZXJhdG9yXCJcbiAgICAgIGN4LnN0cmVhbS5iYWNrVXAoY3guc3RyZWFtLnBvcyAtIGN4LnN0cmVhbS5zdGFydCAtIDEpXG4gICAgICByZXR1cm4gY29udChleHByKVxuICAgIH1cbiAgfVxuICBmdW5jdGlvbiBxdWFzaSh0eXBlLCB2YWx1ZSkge1xuICAgIGlmICh0eXBlICE9IFwicXVhc2lcIikgcmV0dXJuIHBhc3MoKTtcbiAgICBpZiAodmFsdWUuc2xpY2UodmFsdWUubGVuZ3RoIC0gMikgIT0gXCIke1wiKSByZXR1cm4gY29udChxdWFzaSk7XG4gICAgcmV0dXJuIGNvbnQoZXhwcmVzc2lvbiwgY29udGludWVRdWFzaSk7XG4gIH1cbiAgZnVuY3Rpb24gY29udGludWVRdWFzaSh0eXBlKSB7XG4gICAgaWYgKHR5cGUgPT0gXCJ9XCIpIHtcbiAgICAgIGN4Lm1hcmtlZCA9IFwic3RyaW5nLTJcIjtcbiAgICAgIGN4LnN0YXRlLnRva2VuaXplID0gdG9rZW5RdWFzaTtcbiAgICAgIHJldHVybiBjb250KHF1YXNpKTtcbiAgICB9XG4gIH1cbiAgZnVuY3Rpb24gYXJyb3dCb2R5KHR5cGUpIHtcbiAgICBmaW5kRmF0QXJyb3coY3guc3RyZWFtLCBjeC5zdGF0ZSk7XG4gICAgcmV0dXJuIHBhc3ModHlwZSA9PSBcIntcIiA/IHN0YXRlbWVudCA6IGV4cHJlc3Npb24pO1xuICB9XG4gIGZ1bmN0aW9uIGFycm93Qm9keU5vQ29tbWEodHlwZSkge1xuICAgIGZpbmRGYXRBcnJvdyhjeC5zdHJlYW0sIGN4LnN0YXRlKTtcbiAgICByZXR1cm4gcGFzcyh0eXBlID09IFwie1wiID8gc3RhdGVtZW50IDogZXhwcmVzc2lvbk5vQ29tbWEpO1xuICB9XG4gIGZ1bmN0aW9uIG1heWJlVGFyZ2V0KG5vQ29tbWEpIHtcbiAgICByZXR1cm4gZnVuY3Rpb24odHlwZSkge1xuICAgICAgaWYgKHR5cGUgPT0gXCIuXCIpIHJldHVybiBjb250KG5vQ29tbWEgPyB0YXJnZXROb0NvbW1hIDogdGFyZ2V0KTtcbiAgICAgIGVsc2UgaWYgKHR5cGUgPT0gXCJ2YXJpYWJsZVwiICYmIGlzVFMpIHJldHVybiBjb250KG1heWJlVHlwZUFyZ3MsIG5vQ29tbWEgPyBtYXliZW9wZXJhdG9yTm9Db21tYSA6IG1heWJlb3BlcmF0b3JDb21tYSlcbiAgICAgIGVsc2UgcmV0dXJuIHBhc3Mobm9Db21tYSA/IGV4cHJlc3Npb25Ob0NvbW1hIDogZXhwcmVzc2lvbik7XG4gICAgfTtcbiAgfVxuICBmdW5jdGlvbiB0YXJnZXQoXywgdmFsdWUpIHtcbiAgICBpZiAodmFsdWUgPT0gXCJ0YXJnZXRcIikgeyBjeC5tYXJrZWQgPSBcImtleXdvcmRcIjsgcmV0dXJuIGNvbnQobWF5YmVvcGVyYXRvckNvbW1hKTsgfVxuICB9XG4gIGZ1bmN0aW9uIHRhcmdldE5vQ29tbWEoXywgdmFsdWUpIHtcbiAgICBpZiAodmFsdWUgPT0gXCJ0YXJnZXRcIikgeyBjeC5tYXJrZWQgPSBcImtleXdvcmRcIjsgcmV0dXJuIGNvbnQobWF5YmVvcGVyYXRvck5vQ29tbWEpOyB9XG4gIH1cbiAgZnVuY3Rpb24gbWF5YmVsYWJlbCh0eXBlKSB7XG4gICAgaWYgKHR5cGUgPT0gXCI6XCIpIHJldHVybiBjb250KHBvcGxleCwgc3RhdGVtZW50KTtcbiAgICByZXR1cm4gcGFzcyhtYXliZW9wZXJhdG9yQ29tbWEsIGV4cGVjdChcIjtcIiksIHBvcGxleCk7XG4gIH1cbiAgZnVuY3Rpb24gcHJvcGVydHkodHlwZSkge1xuICAgIGlmICh0eXBlID09IFwidmFyaWFibGVcIikge2N4Lm1hcmtlZCA9IFwicHJvcGVydHlcIjsgcmV0dXJuIGNvbnQoKTt9XG4gIH1cbiAgZnVuY3Rpb24gb2JqcHJvcCh0eXBlLCB2YWx1ZSkge1xuICAgIGlmICh0eXBlID09IFwiYXN5bmNcIikge1xuICAgICAgY3gubWFya2VkID0gXCJwcm9wZXJ0eVwiO1xuICAgICAgcmV0dXJuIGNvbnQob2JqcHJvcCk7XG4gICAgfSBlbHNlIGlmICh0eXBlID09IFwidmFyaWFibGVcIiB8fCBjeC5zdHlsZSA9PSBcImtleXdvcmRcIikge1xuICAgICAgY3gubWFya2VkID0gXCJwcm9wZXJ0eVwiO1xuICAgICAgaWYgKHZhbHVlID09IFwiZ2V0XCIgfHwgdmFsdWUgPT0gXCJzZXRcIikgcmV0dXJuIGNvbnQoZ2V0dGVyU2V0dGVyKTtcbiAgICAgIHZhciBtIC8vIFdvcmsgYXJvdW5kIGZhdC1hcnJvdy1kZXRlY3Rpb24gY29tcGxpY2F0aW9uIGZvciBkZXRlY3RpbmcgdHlwZXNjcmlwdCB0eXBlZCBhcnJvdyBwYXJhbXNcbiAgICAgIGlmIChpc1RTICYmIGN4LnN0YXRlLmZhdEFycm93QXQgPT0gY3guc3RyZWFtLnN0YXJ0ICYmIChtID0gY3guc3RyZWFtLm1hdGNoKC9eXFxzKjpcXHMqLywgZmFsc2UpKSlcbiAgICAgICAgY3guc3RhdGUuZmF0QXJyb3dBdCA9IGN4LnN0cmVhbS5wb3MgKyBtWzBdLmxlbmd0aFxuICAgICAgcmV0dXJuIGNvbnQoYWZ0ZXJwcm9wKTtcbiAgICB9IGVsc2UgaWYgKHR5cGUgPT0gXCJudW1iZXJcIiB8fCB0eXBlID09IFwic3RyaW5nXCIpIHtcbiAgICAgIGN4Lm1hcmtlZCA9IGpzb25sZE1vZGUgPyBcInByb3BlcnR5XCIgOiAoY3guc3R5bGUgKyBcIiBwcm9wZXJ0eVwiKTtcbiAgICAgIHJldHVybiBjb250KGFmdGVycHJvcCk7XG4gICAgfSBlbHNlIGlmICh0eXBlID09IFwianNvbmxkLWtleXdvcmRcIikge1xuICAgICAgcmV0dXJuIGNvbnQoYWZ0ZXJwcm9wKTtcbiAgICB9IGVsc2UgaWYgKGlzVFMgJiYgaXNNb2RpZmllcih2YWx1ZSkpIHtcbiAgICAgIGN4Lm1hcmtlZCA9IFwia2V5d29yZFwiXG4gICAgICByZXR1cm4gY29udChvYmpwcm9wKVxuICAgIH0gZWxzZSBpZiAodHlwZSA9PSBcIltcIikge1xuICAgICAgcmV0dXJuIGNvbnQoZXhwcmVzc2lvbiwgbWF5YmV0eXBlLCBleHBlY3QoXCJdXCIpLCBhZnRlcnByb3ApO1xuICAgIH0gZWxzZSBpZiAodHlwZSA9PSBcInNwcmVhZFwiKSB7XG4gICAgICByZXR1cm4gY29udChleHByZXNzaW9uTm9Db21tYSwgYWZ0ZXJwcm9wKTtcbiAgICB9IGVsc2UgaWYgKHZhbHVlID09IFwiKlwiKSB7XG4gICAgICBjeC5tYXJrZWQgPSBcImtleXdvcmRcIjtcbiAgICAgIHJldHVybiBjb250KG9ianByb3ApO1xuICAgIH0gZWxzZSBpZiAodHlwZSA9PSBcIjpcIikge1xuICAgICAgcmV0dXJuIHBhc3MoYWZ0ZXJwcm9wKVxuICAgIH1cbiAgfVxuICBmdW5jdGlvbiBnZXR0ZXJTZXR0ZXIodHlwZSkge1xuICAgIGlmICh0eXBlICE9IFwidmFyaWFibGVcIikgcmV0dXJuIHBhc3MoYWZ0ZXJwcm9wKTtcbiAgICBjeC5tYXJrZWQgPSBcInByb3BlcnR5XCI7XG4gICAgcmV0dXJuIGNvbnQoZnVuY3Rpb25kZWYpO1xuICB9XG4gIGZ1bmN0aW9uIGFmdGVycHJvcCh0eXBlKSB7XG4gICAgaWYgKHR5cGUgPT0gXCI6XCIpIHJldHVybiBjb250KGV4cHJlc3Npb25Ob0NvbW1hKTtcbiAgICBpZiAodHlwZSA9PSBcIihcIikgcmV0dXJuIHBhc3MoZnVuY3Rpb25kZWYpO1xuICB9XG4gIGZ1bmN0aW9uIGNvbW1hc2VwKHdoYXQsIGVuZCwgc2VwKSB7XG4gICAgZnVuY3Rpb24gcHJvY2VlZCh0eXBlLCB2YWx1ZSkge1xuICAgICAgaWYgKHNlcCA/IHNlcC5pbmRleE9mKHR5cGUpID4gLTEgOiB0eXBlID09IFwiLFwiKSB7XG4gICAgICAgIHZhciBsZXggPSBjeC5zdGF0ZS5sZXhpY2FsO1xuICAgICAgICBpZiAobGV4LmluZm8gPT0gXCJjYWxsXCIpIGxleC5wb3MgPSAobGV4LnBvcyB8fCAwKSArIDE7XG4gICAgICAgIHJldHVybiBjb250KGZ1bmN0aW9uKHR5cGUsIHZhbHVlKSB7XG4gICAgICAgICAgaWYgKHR5cGUgPT0gZW5kIHx8IHZhbHVlID09IGVuZCkgcmV0dXJuIHBhc3MoKVxuICAgICAgICAgIHJldHVybiBwYXNzKHdoYXQpXG4gICAgICAgIH0sIHByb2NlZWQpO1xuICAgICAgfVxuICAgICAgaWYgKHR5cGUgPT0gZW5kIHx8IHZhbHVlID09IGVuZCkgcmV0dXJuIGNvbnQoKTtcbiAgICAgIGlmIChzZXAgJiYgc2VwLmluZGV4T2YoXCI7XCIpID4gLTEpIHJldHVybiBwYXNzKHdoYXQpXG4gICAgICByZXR1cm4gY29udChleHBlY3QoZW5kKSk7XG4gICAgfVxuICAgIHJldHVybiBmdW5jdGlvbih0eXBlLCB2YWx1ZSkge1xuICAgICAgaWYgKHR5cGUgPT0gZW5kIHx8IHZhbHVlID09IGVuZCkgcmV0dXJuIGNvbnQoKTtcbiAgICAgIHJldHVybiBwYXNzKHdoYXQsIHByb2NlZWQpO1xuICAgIH07XG4gIH1cbiAgZnVuY3Rpb24gY29udENvbW1hc2VwKHdoYXQsIGVuZCwgaW5mbykge1xuICAgIGZvciAodmFyIGkgPSAzOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKVxuICAgICAgY3guY2MucHVzaChhcmd1bWVudHNbaV0pO1xuICAgIHJldHVybiBjb250KHB1c2hsZXgoZW5kLCBpbmZvKSwgY29tbWFzZXAod2hhdCwgZW5kKSwgcG9wbGV4KTtcbiAgfVxuICBmdW5jdGlvbiBibG9jayh0eXBlKSB7XG4gICAgaWYgKHR5cGUgPT0gXCJ9XCIpIHJldHVybiBjb250KCk7XG4gICAgcmV0dXJuIHBhc3Moc3RhdGVtZW50LCBibG9jayk7XG4gIH1cbiAgZnVuY3Rpb24gbWF5YmV0eXBlKHR5cGUsIHZhbHVlKSB7XG4gICAgaWYgKGlzVFMpIHtcbiAgICAgIGlmICh0eXBlID09IFwiOlwiKSByZXR1cm4gY29udCh0eXBlZXhwcik7XG4gICAgICBpZiAodmFsdWUgPT0gXCI/XCIpIHJldHVybiBjb250KG1heWJldHlwZSk7XG4gICAgfVxuICB9XG4gIGZ1bmN0aW9uIG1heWJldHlwZU9ySW4odHlwZSwgdmFsdWUpIHtcbiAgICBpZiAoaXNUUyAmJiAodHlwZSA9PSBcIjpcIiB8fCB2YWx1ZSA9PSBcImluXCIpKSByZXR1cm4gY29udCh0eXBlZXhwcilcbiAgfVxuICBmdW5jdGlvbiBtYXliZXJldHR5cGUodHlwZSkge1xuICAgIGlmIChpc1RTICYmIHR5cGUgPT0gXCI6XCIpIHtcbiAgICAgIGlmIChjeC5zdHJlYW0ubWF0Y2goL15cXHMqXFx3K1xccytpc1xcYi8sIGZhbHNlKSkgcmV0dXJuIGNvbnQoZXhwcmVzc2lvbiwgaXNLVywgdHlwZWV4cHIpXG4gICAgICBlbHNlIHJldHVybiBjb250KHR5cGVleHByKVxuICAgIH1cbiAgfVxuICBmdW5jdGlvbiBpc0tXKF8sIHZhbHVlKSB7XG4gICAgaWYgKHZhbHVlID09IFwiaXNcIikge1xuICAgICAgY3gubWFya2VkID0gXCJrZXl3b3JkXCJcbiAgICAgIHJldHVybiBjb250KClcbiAgICB9XG4gIH1cbiAgZnVuY3Rpb24gdHlwZWV4cHIodHlwZSwgdmFsdWUpIHtcbiAgICBpZiAodmFsdWUgPT0gXCJrZXlvZlwiIHx8IHZhbHVlID09IFwidHlwZW9mXCIgfHwgdmFsdWUgPT0gXCJpbmZlclwiKSB7XG4gICAgICBjeC5tYXJrZWQgPSBcImtleXdvcmRcIlxuICAgICAgcmV0dXJuIGNvbnQodmFsdWUgPT0gXCJ0eXBlb2ZcIiA/IGV4cHJlc3Npb25Ob0NvbW1hIDogdHlwZWV4cHIpXG4gICAgfVxuICAgIGlmICh0eXBlID09IFwidmFyaWFibGVcIiB8fCB2YWx1ZSA9PSBcInZvaWRcIikge1xuICAgICAgY3gubWFya2VkID0gXCJ0eXBlXCJcbiAgICAgIHJldHVybiBjb250KGFmdGVyVHlwZSlcbiAgICB9XG4gICAgaWYgKHZhbHVlID09IFwifFwiIHx8IHZhbHVlID09IFwiJlwiKSByZXR1cm4gY29udCh0eXBlZXhwcilcbiAgICBpZiAodHlwZSA9PSBcInN0cmluZ1wiIHx8IHR5cGUgPT0gXCJudW1iZXJcIiB8fCB0eXBlID09IFwiYXRvbVwiKSByZXR1cm4gY29udChhZnRlclR5cGUpO1xuICAgIGlmICh0eXBlID09IFwiW1wiKSByZXR1cm4gY29udChwdXNobGV4KFwiXVwiKSwgY29tbWFzZXAodHlwZWV4cHIsIFwiXVwiLCBcIixcIiksIHBvcGxleCwgYWZ0ZXJUeXBlKVxuICAgIGlmICh0eXBlID09IFwie1wiKSByZXR1cm4gY29udChwdXNobGV4KFwifVwiKSwgY29tbWFzZXAodHlwZXByb3AsIFwifVwiLCBcIiw7XCIpLCBwb3BsZXgsIGFmdGVyVHlwZSlcbiAgICBpZiAodHlwZSA9PSBcIihcIikgcmV0dXJuIGNvbnQoY29tbWFzZXAodHlwZWFyZywgXCIpXCIpLCBtYXliZVJldHVyblR5cGUsIGFmdGVyVHlwZSlcbiAgICBpZiAodHlwZSA9PSBcIjxcIikgcmV0dXJuIGNvbnQoY29tbWFzZXAodHlwZWV4cHIsIFwiPlwiKSwgdHlwZWV4cHIpXG4gIH1cbiAgZnVuY3Rpb24gbWF5YmVSZXR1cm5UeXBlKHR5cGUpIHtcbiAgICBpZiAodHlwZSA9PSBcIj0+XCIpIHJldHVybiBjb250KHR5cGVleHByKVxuICB9XG4gIGZ1bmN0aW9uIHR5cGVwcm9wKHR5cGUsIHZhbHVlKSB7XG4gICAgaWYgKHR5cGUgPT0gXCJ2YXJpYWJsZVwiIHx8IGN4LnN0eWxlID09IFwia2V5d29yZFwiKSB7XG4gICAgICBjeC5tYXJrZWQgPSBcInByb3BlcnR5XCJcbiAgICAgIHJldHVybiBjb250KHR5cGVwcm9wKVxuICAgIH0gZWxzZSBpZiAodmFsdWUgPT0gXCI/XCIgfHwgdHlwZSA9PSBcIm51bWJlclwiIHx8IHR5cGUgPT0gXCJzdHJpbmdcIikge1xuICAgICAgcmV0dXJuIGNvbnQodHlwZXByb3ApXG4gICAgfSBlbHNlIGlmICh0eXBlID09IFwiOlwiKSB7XG4gICAgICByZXR1cm4gY29udCh0eXBlZXhwcilcbiAgICB9IGVsc2UgaWYgKHR5cGUgPT0gXCJbXCIpIHtcbiAgICAgIHJldHVybiBjb250KGV4cGVjdChcInZhcmlhYmxlXCIpLCBtYXliZXR5cGVPckluLCBleHBlY3QoXCJdXCIpLCB0eXBlcHJvcClcbiAgICB9IGVsc2UgaWYgKHR5cGUgPT0gXCIoXCIpIHtcbiAgICAgIHJldHVybiBwYXNzKGZ1bmN0aW9uZGVjbCwgdHlwZXByb3ApXG4gICAgfVxuICB9XG4gIGZ1bmN0aW9uIHR5cGVhcmcodHlwZSwgdmFsdWUpIHtcbiAgICBpZiAodHlwZSA9PSBcInZhcmlhYmxlXCIgJiYgY3guc3RyZWFtLm1hdGNoKC9eXFxzKls/Ol0vLCBmYWxzZSkgfHwgdmFsdWUgPT0gXCI/XCIpIHJldHVybiBjb250KHR5cGVhcmcpXG4gICAgaWYgKHR5cGUgPT0gXCI6XCIpIHJldHVybiBjb250KHR5cGVleHByKVxuICAgIGlmICh0eXBlID09IFwic3ByZWFkXCIpIHJldHVybiBjb250KHR5cGVhcmcpXG4gICAgcmV0dXJuIHBhc3ModHlwZWV4cHIpXG4gIH1cbiAgZnVuY3Rpb24gYWZ0ZXJUeXBlKHR5cGUsIHZhbHVlKSB7XG4gICAgaWYgKHZhbHVlID09IFwiPFwiKSByZXR1cm4gY29udChwdXNobGV4KFwiPlwiKSwgY29tbWFzZXAodHlwZWV4cHIsIFwiPlwiKSwgcG9wbGV4LCBhZnRlclR5cGUpXG4gICAgaWYgKHZhbHVlID09IFwifFwiIHx8IHR5cGUgPT0gXCIuXCIgfHwgdmFsdWUgPT0gXCImXCIpIHJldHVybiBjb250KHR5cGVleHByKVxuICAgIGlmICh0eXBlID09IFwiW1wiKSByZXR1cm4gY29udCh0eXBlZXhwciwgZXhwZWN0KFwiXVwiKSwgYWZ0ZXJUeXBlKVxuICAgIGlmICh2YWx1ZSA9PSBcImV4dGVuZHNcIiB8fCB2YWx1ZSA9PSBcImltcGxlbWVudHNcIikgeyBjeC5tYXJrZWQgPSBcImtleXdvcmRcIjsgcmV0dXJuIGNvbnQodHlwZWV4cHIpIH1cbiAgICBpZiAodmFsdWUgPT0gXCI/XCIpIHJldHVybiBjb250KHR5cGVleHByLCBleHBlY3QoXCI6XCIpLCB0eXBlZXhwcilcbiAgfVxuICBmdW5jdGlvbiBtYXliZVR5cGVBcmdzKF8sIHZhbHVlKSB7XG4gICAgaWYgKHZhbHVlID09IFwiPFwiKSByZXR1cm4gY29udChwdXNobGV4KFwiPlwiKSwgY29tbWFzZXAodHlwZWV4cHIsIFwiPlwiKSwgcG9wbGV4LCBhZnRlclR5cGUpXG4gIH1cbiAgZnVuY3Rpb24gdHlwZXBhcmFtKCkge1xuICAgIHJldHVybiBwYXNzKHR5cGVleHByLCBtYXliZVR5cGVEZWZhdWx0KVxuICB9XG4gIGZ1bmN0aW9uIG1heWJlVHlwZURlZmF1bHQoXywgdmFsdWUpIHtcbiAgICBpZiAodmFsdWUgPT0gXCI9XCIpIHJldHVybiBjb250KHR5cGVleHByKVxuICB9XG4gIGZ1bmN0aW9uIHZhcmRlZihfLCB2YWx1ZSkge1xuICAgIGlmICh2YWx1ZSA9PSBcImVudW1cIikge2N4Lm1hcmtlZCA9IFwia2V5d29yZFwiOyByZXR1cm4gY29udChlbnVtZGVmKX1cbiAgICByZXR1cm4gcGFzcyhwYXR0ZXJuLCBtYXliZXR5cGUsIG1heWJlQXNzaWduLCB2YXJkZWZDb250KTtcbiAgfVxuICBmdW5jdGlvbiBwYXR0ZXJuKHR5cGUsIHZhbHVlKSB7XG4gICAgaWYgKGlzVFMgJiYgaXNNb2RpZmllcih2YWx1ZSkpIHsgY3gubWFya2VkID0gXCJrZXl3b3JkXCI7IHJldHVybiBjb250KHBhdHRlcm4pIH1cbiAgICBpZiAodHlwZSA9PSBcInZhcmlhYmxlXCIpIHsgcmVnaXN0ZXIodmFsdWUpOyByZXR1cm4gY29udCgpOyB9XG4gICAgaWYgKHR5cGUgPT0gXCJzcHJlYWRcIikgcmV0dXJuIGNvbnQocGF0dGVybik7XG4gICAgaWYgKHR5cGUgPT0gXCJbXCIpIHJldHVybiBjb250Q29tbWFzZXAoZWx0cGF0dGVybiwgXCJdXCIpO1xuICAgIGlmICh0eXBlID09IFwie1wiKSByZXR1cm4gY29udENvbW1hc2VwKHByb3BwYXR0ZXJuLCBcIn1cIik7XG4gIH1cbiAgZnVuY3Rpb24gcHJvcHBhdHRlcm4odHlwZSwgdmFsdWUpIHtcbiAgICBpZiAodHlwZSA9PSBcInZhcmlhYmxlXCIgJiYgIWN4LnN0cmVhbS5tYXRjaCgvXlxccyo6LywgZmFsc2UpKSB7XG4gICAgICByZWdpc3Rlcih2YWx1ZSk7XG4gICAgICByZXR1cm4gY29udChtYXliZUFzc2lnbik7XG4gICAgfVxuICAgIGlmICh0eXBlID09IFwidmFyaWFibGVcIikgY3gubWFya2VkID0gXCJwcm9wZXJ0eVwiO1xuICAgIGlmICh0eXBlID09IFwic3ByZWFkXCIpIHJldHVybiBjb250KHBhdHRlcm4pO1xuICAgIGlmICh0eXBlID09IFwifVwiKSByZXR1cm4gcGFzcygpO1xuICAgIGlmICh0eXBlID09IFwiW1wiKSByZXR1cm4gY29udChleHByZXNzaW9uLCBleHBlY3QoJ10nKSwgZXhwZWN0KCc6JyksIHByb3BwYXR0ZXJuKTtcbiAgICByZXR1cm4gY29udChleHBlY3QoXCI6XCIpLCBwYXR0ZXJuLCBtYXliZUFzc2lnbik7XG4gIH1cbiAgZnVuY3Rpb24gZWx0cGF0dGVybigpIHtcbiAgICByZXR1cm4gcGFzcyhwYXR0ZXJuLCBtYXliZUFzc2lnbilcbiAgfVxuICBmdW5jdGlvbiBtYXliZUFzc2lnbihfdHlwZSwgdmFsdWUpIHtcbiAgICBpZiAodmFsdWUgPT0gXCI9XCIpIHJldHVybiBjb250KGV4cHJlc3Npb25Ob0NvbW1hKTtcbiAgfVxuICBmdW5jdGlvbiB2YXJkZWZDb250KHR5cGUpIHtcbiAgICBpZiAodHlwZSA9PSBcIixcIikgcmV0dXJuIGNvbnQodmFyZGVmKTtcbiAgfVxuICBmdW5jdGlvbiBtYXliZWVsc2UodHlwZSwgdmFsdWUpIHtcbiAgICBpZiAodHlwZSA9PSBcImtleXdvcmQgYlwiICYmIHZhbHVlID09IFwiZWxzZVwiKSByZXR1cm4gY29udChwdXNobGV4KFwiZm9ybVwiLCBcImVsc2VcIiksIHN0YXRlbWVudCwgcG9wbGV4KTtcbiAgfVxuICBmdW5jdGlvbiBmb3JzcGVjKHR5cGUsIHZhbHVlKSB7XG4gICAgaWYgKHZhbHVlID09IFwiYXdhaXRcIikgcmV0dXJuIGNvbnQoZm9yc3BlYyk7XG4gICAgaWYgKHR5cGUgPT0gXCIoXCIpIHJldHVybiBjb250KHB1c2hsZXgoXCIpXCIpLCBmb3JzcGVjMSwgcG9wbGV4KTtcbiAgfVxuICBmdW5jdGlvbiBmb3JzcGVjMSh0eXBlKSB7XG4gICAgaWYgKHR5cGUgPT0gXCJ2YXJcIikgcmV0dXJuIGNvbnQodmFyZGVmLCBmb3JzcGVjMik7XG4gICAgaWYgKHR5cGUgPT0gXCJ2YXJpYWJsZVwiKSByZXR1cm4gY29udChmb3JzcGVjMik7XG4gICAgcmV0dXJuIHBhc3MoZm9yc3BlYzIpXG4gIH1cbiAgZnVuY3Rpb24gZm9yc3BlYzIodHlwZSwgdmFsdWUpIHtcbiAgICBpZiAodHlwZSA9PSBcIilcIikgcmV0dXJuIGNvbnQoKVxuICAgIGlmICh0eXBlID09IFwiO1wiKSByZXR1cm4gY29udChmb3JzcGVjMilcbiAgICBpZiAodmFsdWUgPT0gXCJpblwiIHx8IHZhbHVlID09IFwib2ZcIikgeyBjeC5tYXJrZWQgPSBcImtleXdvcmRcIjsgcmV0dXJuIGNvbnQoZXhwcmVzc2lvbiwgZm9yc3BlYzIpIH1cbiAgICByZXR1cm4gcGFzcyhleHByZXNzaW9uLCBmb3JzcGVjMilcbiAgfVxuICBmdW5jdGlvbiBmdW5jdGlvbmRlZih0eXBlLCB2YWx1ZSkge1xuICAgIGlmICh2YWx1ZSA9PSBcIipcIikge2N4Lm1hcmtlZCA9IFwia2V5d29yZFwiOyByZXR1cm4gY29udChmdW5jdGlvbmRlZik7fVxuICAgIGlmICh0eXBlID09IFwidmFyaWFibGVcIikge3JlZ2lzdGVyKHZhbHVlKTsgcmV0dXJuIGNvbnQoZnVuY3Rpb25kZWYpO31cbiAgICBpZiAodHlwZSA9PSBcIihcIikgcmV0dXJuIGNvbnQocHVzaGNvbnRleHQsIHB1c2hsZXgoXCIpXCIpLCBjb21tYXNlcChmdW5hcmcsIFwiKVwiKSwgcG9wbGV4LCBtYXliZXJldHR5cGUsIHN0YXRlbWVudCwgcG9wY29udGV4dCk7XG4gICAgaWYgKGlzVFMgJiYgdmFsdWUgPT0gXCI8XCIpIHJldHVybiBjb250KHB1c2hsZXgoXCI+XCIpLCBjb21tYXNlcCh0eXBlcGFyYW0sIFwiPlwiKSwgcG9wbGV4LCBmdW5jdGlvbmRlZilcbiAgfVxuICBmdW5jdGlvbiBmdW5jdGlvbmRlY2wodHlwZSwgdmFsdWUpIHtcbiAgICBpZiAodmFsdWUgPT0gXCIqXCIpIHtjeC5tYXJrZWQgPSBcImtleXdvcmRcIjsgcmV0dXJuIGNvbnQoZnVuY3Rpb25kZWNsKTt9XG4gICAgaWYgKHR5cGUgPT0gXCJ2YXJpYWJsZVwiKSB7cmVnaXN0ZXIodmFsdWUpOyByZXR1cm4gY29udChmdW5jdGlvbmRlY2wpO31cbiAgICBpZiAodHlwZSA9PSBcIihcIikgcmV0dXJuIGNvbnQocHVzaGNvbnRleHQsIHB1c2hsZXgoXCIpXCIpLCBjb21tYXNlcChmdW5hcmcsIFwiKVwiKSwgcG9wbGV4LCBtYXliZXJldHR5cGUsIHBvcGNvbnRleHQpO1xuICAgIGlmIChpc1RTICYmIHZhbHVlID09IFwiPFwiKSByZXR1cm4gY29udChwdXNobGV4KFwiPlwiKSwgY29tbWFzZXAodHlwZXBhcmFtLCBcIj5cIiksIHBvcGxleCwgZnVuY3Rpb25kZWNsKVxuICB9XG4gIGZ1bmN0aW9uIHR5cGVuYW1lKHR5cGUsIHZhbHVlKSB7XG4gICAgaWYgKHR5cGUgPT0gXCJrZXl3b3JkXCIgfHwgdHlwZSA9PSBcInZhcmlhYmxlXCIpIHtcbiAgICAgIGN4Lm1hcmtlZCA9IFwidHlwZVwiXG4gICAgICByZXR1cm4gY29udCh0eXBlbmFtZSlcbiAgICB9IGVsc2UgaWYgKHZhbHVlID09IFwiPFwiKSB7XG4gICAgICByZXR1cm4gY29udChwdXNobGV4KFwiPlwiKSwgY29tbWFzZXAodHlwZXBhcmFtLCBcIj5cIiksIHBvcGxleClcbiAgICB9XG4gIH1cbiAgZnVuY3Rpb24gZnVuYXJnKHR5cGUsIHZhbHVlKSB7XG4gICAgaWYgKHZhbHVlID09IFwiQFwiKSBjb250KGV4cHJlc3Npb24sIGZ1bmFyZylcbiAgICBpZiAodHlwZSA9PSBcInNwcmVhZFwiKSByZXR1cm4gY29udChmdW5hcmcpO1xuICAgIGlmIChpc1RTICYmIGlzTW9kaWZpZXIodmFsdWUpKSB7IGN4Lm1hcmtlZCA9IFwia2V5d29yZFwiOyByZXR1cm4gY29udChmdW5hcmcpOyB9XG4gICAgaWYgKGlzVFMgJiYgdHlwZSA9PSBcInRoaXNcIikgcmV0dXJuIGNvbnQobWF5YmV0eXBlLCBtYXliZUFzc2lnbilcbiAgICByZXR1cm4gcGFzcyhwYXR0ZXJuLCBtYXliZXR5cGUsIG1heWJlQXNzaWduKTtcbiAgfVxuICBmdW5jdGlvbiBjbGFzc0V4cHJlc3Npb24odHlwZSwgdmFsdWUpIHtcbiAgICAvLyBDbGFzcyBleHByZXNzaW9ucyBtYXkgaGF2ZSBhbiBvcHRpb25hbCBuYW1lLlxuICAgIGlmICh0eXBlID09IFwidmFyaWFibGVcIikgcmV0dXJuIGNsYXNzTmFtZSh0eXBlLCB2YWx1ZSk7XG4gICAgcmV0dXJuIGNsYXNzTmFtZUFmdGVyKHR5cGUsIHZhbHVlKTtcbiAgfVxuICBmdW5jdGlvbiBjbGFzc05hbWUodHlwZSwgdmFsdWUpIHtcbiAgICBpZiAodHlwZSA9PSBcInZhcmlhYmxlXCIpIHtyZWdpc3Rlcih2YWx1ZSk7IHJldHVybiBjb250KGNsYXNzTmFtZUFmdGVyKTt9XG4gIH1cbiAgZnVuY3Rpb24gY2xhc3NOYW1lQWZ0ZXIodHlwZSwgdmFsdWUpIHtcbiAgICBpZiAodmFsdWUgPT0gXCI8XCIpIHJldHVybiBjb250KHB1c2hsZXgoXCI+XCIpLCBjb21tYXNlcCh0eXBlcGFyYW0sIFwiPlwiKSwgcG9wbGV4LCBjbGFzc05hbWVBZnRlcilcbiAgICBpZiAodmFsdWUgPT0gXCJleHRlbmRzXCIgfHwgdmFsdWUgPT0gXCJpbXBsZW1lbnRzXCIgfHwgKGlzVFMgJiYgdHlwZSA9PSBcIixcIikpIHtcbiAgICAgIGlmICh2YWx1ZSA9PSBcImltcGxlbWVudHNcIikgY3gubWFya2VkID0gXCJrZXl3b3JkXCI7XG4gICAgICByZXR1cm4gY29udChpc1RTID8gdHlwZWV4cHIgOiBleHByZXNzaW9uLCBjbGFzc05hbWVBZnRlcik7XG4gICAgfVxuICAgIGlmICh0eXBlID09IFwie1wiKSByZXR1cm4gY29udChwdXNobGV4KFwifVwiKSwgY2xhc3NCb2R5LCBwb3BsZXgpO1xuICB9XG4gIGZ1bmN0aW9uIGNsYXNzQm9keSh0eXBlLCB2YWx1ZSkge1xuICAgIGlmICh0eXBlID09IFwiYXN5bmNcIiB8fFxuICAgICAgICAodHlwZSA9PSBcInZhcmlhYmxlXCIgJiZcbiAgICAgICAgICh2YWx1ZSA9PSBcInN0YXRpY1wiIHx8IHZhbHVlID09IFwiZ2V0XCIgfHwgdmFsdWUgPT0gXCJzZXRcIiB8fCAoaXNUUyAmJiBpc01vZGlmaWVyKHZhbHVlKSkpICYmXG4gICAgICAgICBjeC5zdHJlYW0ubWF0Y2goL15cXHMrW1xcdyRcXHhhMS1cXHVmZmZmXS8sIGZhbHNlKSkpIHtcbiAgICAgIGN4Lm1hcmtlZCA9IFwia2V5d29yZFwiO1xuICAgICAgcmV0dXJuIGNvbnQoY2xhc3NCb2R5KTtcbiAgICB9XG4gICAgaWYgKHR5cGUgPT0gXCJ2YXJpYWJsZVwiIHx8IGN4LnN0eWxlID09IFwia2V5d29yZFwiKSB7XG4gICAgICBjeC5tYXJrZWQgPSBcInByb3BlcnR5XCI7XG4gICAgICByZXR1cm4gY29udChpc1RTID8gY2xhc3NmaWVsZCA6IGZ1bmN0aW9uZGVmLCBjbGFzc0JvZHkpO1xuICAgIH1cbiAgICBpZiAodHlwZSA9PSBcIm51bWJlclwiIHx8IHR5cGUgPT0gXCJzdHJpbmdcIikgcmV0dXJuIGNvbnQoaXNUUyA/IGNsYXNzZmllbGQgOiBmdW5jdGlvbmRlZiwgY2xhc3NCb2R5KTtcbiAgICBpZiAodHlwZSA9PSBcIltcIilcbiAgICAgIHJldHVybiBjb250KGV4cHJlc3Npb24sIG1heWJldHlwZSwgZXhwZWN0KFwiXVwiKSwgaXNUUyA/IGNsYXNzZmllbGQgOiBmdW5jdGlvbmRlZiwgY2xhc3NCb2R5KVxuICAgIGlmICh2YWx1ZSA9PSBcIipcIikge1xuICAgICAgY3gubWFya2VkID0gXCJrZXl3b3JkXCI7XG4gICAgICByZXR1cm4gY29udChjbGFzc0JvZHkpO1xuICAgIH1cbiAgICBpZiAoaXNUUyAmJiB0eXBlID09IFwiKFwiKSByZXR1cm4gcGFzcyhmdW5jdGlvbmRlY2wsIGNsYXNzQm9keSlcbiAgICBpZiAodHlwZSA9PSBcIjtcIiB8fCB0eXBlID09IFwiLFwiKSByZXR1cm4gY29udChjbGFzc0JvZHkpO1xuICAgIGlmICh0eXBlID09IFwifVwiKSByZXR1cm4gY29udCgpO1xuICAgIGlmICh2YWx1ZSA9PSBcIkBcIikgcmV0dXJuIGNvbnQoZXhwcmVzc2lvbiwgY2xhc3NCb2R5KVxuICB9XG4gIGZ1bmN0aW9uIGNsYXNzZmllbGQodHlwZSwgdmFsdWUpIHtcbiAgICBpZiAodmFsdWUgPT0gXCI/XCIpIHJldHVybiBjb250KGNsYXNzZmllbGQpXG4gICAgaWYgKHR5cGUgPT0gXCI6XCIpIHJldHVybiBjb250KHR5cGVleHByLCBtYXliZUFzc2lnbilcbiAgICBpZiAodmFsdWUgPT0gXCI9XCIpIHJldHVybiBjb250KGV4cHJlc3Npb25Ob0NvbW1hKVxuICAgIHZhciBjb250ZXh0ID0gY3guc3RhdGUubGV4aWNhbC5wcmV2LCBpc0ludGVyZmFjZSA9IGNvbnRleHQgJiYgY29udGV4dC5pbmZvID09IFwiaW50ZXJmYWNlXCJcbiAgICByZXR1cm4gcGFzcyhpc0ludGVyZmFjZSA/IGZ1bmN0aW9uZGVjbCA6IGZ1bmN0aW9uZGVmKVxuICB9XG4gIGZ1bmN0aW9uIGFmdGVyRXhwb3J0KHR5cGUsIHZhbHVlKSB7XG4gICAgaWYgKHZhbHVlID09IFwiKlwiKSB7IGN4Lm1hcmtlZCA9IFwia2V5d29yZFwiOyByZXR1cm4gY29udChtYXliZUZyb20sIGV4cGVjdChcIjtcIikpOyB9XG4gICAgaWYgKHZhbHVlID09IFwiZGVmYXVsdFwiKSB7IGN4Lm1hcmtlZCA9IFwia2V5d29yZFwiOyByZXR1cm4gY29udChleHByZXNzaW9uLCBleHBlY3QoXCI7XCIpKTsgfVxuICAgIGlmICh0eXBlID09IFwie1wiKSByZXR1cm4gY29udChjb21tYXNlcChleHBvcnRGaWVsZCwgXCJ9XCIpLCBtYXliZUZyb20sIGV4cGVjdChcIjtcIikpO1xuICAgIHJldHVybiBwYXNzKHN0YXRlbWVudCk7XG4gIH1cbiAgZnVuY3Rpb24gZXhwb3J0RmllbGQodHlwZSwgdmFsdWUpIHtcbiAgICBpZiAodmFsdWUgPT0gXCJhc1wiKSB7IGN4Lm1hcmtlZCA9IFwia2V5d29yZFwiOyByZXR1cm4gY29udChleHBlY3QoXCJ2YXJpYWJsZVwiKSk7IH1cbiAgICBpZiAodHlwZSA9PSBcInZhcmlhYmxlXCIpIHJldHVybiBwYXNzKGV4cHJlc3Npb25Ob0NvbW1hLCBleHBvcnRGaWVsZCk7XG4gIH1cbiAgZnVuY3Rpb24gYWZ0ZXJJbXBvcnQodHlwZSkge1xuICAgIGlmICh0eXBlID09IFwic3RyaW5nXCIpIHJldHVybiBjb250KCk7XG4gICAgaWYgKHR5cGUgPT0gXCIoXCIpIHJldHVybiBwYXNzKGV4cHJlc3Npb24pO1xuICAgIHJldHVybiBwYXNzKGltcG9ydFNwZWMsIG1heWJlTW9yZUltcG9ydHMsIG1heWJlRnJvbSk7XG4gIH1cbiAgZnVuY3Rpb24gaW1wb3J0U3BlYyh0eXBlLCB2YWx1ZSkge1xuICAgIGlmICh0eXBlID09IFwie1wiKSByZXR1cm4gY29udENvbW1hc2VwKGltcG9ydFNwZWMsIFwifVwiKTtcbiAgICBpZiAodHlwZSA9PSBcInZhcmlhYmxlXCIpIHJlZ2lzdGVyKHZhbHVlKTtcbiAgICBpZiAodmFsdWUgPT0gXCIqXCIpIGN4Lm1hcmtlZCA9IFwia2V5d29yZFwiO1xuICAgIHJldHVybiBjb250KG1heWJlQXMpO1xuICB9XG4gIGZ1bmN0aW9uIG1heWJlTW9yZUltcG9ydHModHlwZSkge1xuICAgIGlmICh0eXBlID09IFwiLFwiKSByZXR1cm4gY29udChpbXBvcnRTcGVjLCBtYXliZU1vcmVJbXBvcnRzKVxuICB9XG4gIGZ1bmN0aW9uIG1heWJlQXMoX3R5cGUsIHZhbHVlKSB7XG4gICAgaWYgKHZhbHVlID09IFwiYXNcIikgeyBjeC5tYXJrZWQgPSBcImtleXdvcmRcIjsgcmV0dXJuIGNvbnQoaW1wb3J0U3BlYyk7IH1cbiAgfVxuICBmdW5jdGlvbiBtYXliZUZyb20oX3R5cGUsIHZhbHVlKSB7XG4gICAgaWYgKHZhbHVlID09IFwiZnJvbVwiKSB7IGN4Lm1hcmtlZCA9IFwia2V5d29yZFwiOyByZXR1cm4gY29udChleHByZXNzaW9uKTsgfVxuICB9XG4gIGZ1bmN0aW9uIGFycmF5TGl0ZXJhbCh0eXBlKSB7XG4gICAgaWYgKHR5cGUgPT0gXCJdXCIpIHJldHVybiBjb250KCk7XG4gICAgcmV0dXJuIHBhc3MoY29tbWFzZXAoZXhwcmVzc2lvbk5vQ29tbWEsIFwiXVwiKSk7XG4gIH1cbiAgZnVuY3Rpb24gZW51bWRlZigpIHtcbiAgICByZXR1cm4gcGFzcyhwdXNobGV4KFwiZm9ybVwiKSwgcGF0dGVybiwgZXhwZWN0KFwie1wiKSwgcHVzaGxleChcIn1cIiksIGNvbW1hc2VwKGVudW1tZW1iZXIsIFwifVwiKSwgcG9wbGV4LCBwb3BsZXgpXG4gIH1cbiAgZnVuY3Rpb24gZW51bW1lbWJlcigpIHtcbiAgICByZXR1cm4gcGFzcyhwYXR0ZXJuLCBtYXliZUFzc2lnbik7XG4gIH1cblxuICBmdW5jdGlvbiBpc0NvbnRpbnVlZFN0YXRlbWVudChzdGF0ZSwgdGV4dEFmdGVyKSB7XG4gICAgcmV0dXJuIHN0YXRlLmxhc3RUeXBlID09IFwib3BlcmF0b3JcIiB8fCBzdGF0ZS5sYXN0VHlwZSA9PSBcIixcIiB8fFxuICAgICAgaXNPcGVyYXRvckNoYXIudGVzdCh0ZXh0QWZ0ZXIuY2hhckF0KDApKSB8fFxuICAgICAgL1ssLl0vLnRlc3QodGV4dEFmdGVyLmNoYXJBdCgwKSk7XG4gIH1cblxuICBmdW5jdGlvbiBleHByZXNzaW9uQWxsb3dlZChzdHJlYW0sIHN0YXRlLCBiYWNrVXApIHtcbiAgICByZXR1cm4gc3RhdGUudG9rZW5pemUgPT0gdG9rZW5CYXNlICYmXG4gICAgICAvXig/Om9wZXJhdG9yfHNvZnxrZXl3b3JkIFtiY2RdfGNhc2V8bmV3fGV4cG9ydHxkZWZhdWx0fHNwcmVhZHxbXFxbe31cXCgsOzpdfD0+KSQvLnRlc3Qoc3RhdGUubGFzdFR5cGUpIHx8XG4gICAgICAoc3RhdGUubGFzdFR5cGUgPT0gXCJxdWFzaVwiICYmIC9cXHtcXHMqJC8udGVzdChzdHJlYW0uc3RyaW5nLnNsaWNlKDAsIHN0cmVhbS5wb3MgLSAoYmFja1VwIHx8IDApKSkpXG4gIH1cblxuICAvLyBJbnRlcmZhY2VcblxuICByZXR1cm4ge1xuICAgIHN0YXJ0U3RhdGU6IGZ1bmN0aW9uKGJhc2Vjb2x1bW4pIHtcbiAgICAgIHZhciBzdGF0ZSA9IHtcbiAgICAgICAgdG9rZW5pemU6IHRva2VuQmFzZSxcbiAgICAgICAgbGFzdFR5cGU6IFwic29mXCIsXG4gICAgICAgIGNjOiBbXSxcbiAgICAgICAgbGV4aWNhbDogbmV3IEpTTGV4aWNhbCgoYmFzZWNvbHVtbiB8fCAwKSAtIGluZGVudFVuaXQsIDAsIFwiYmxvY2tcIiwgZmFsc2UpLFxuICAgICAgICBsb2NhbFZhcnM6IHBhcnNlckNvbmZpZy5sb2NhbFZhcnMsXG4gICAgICAgIGNvbnRleHQ6IHBhcnNlckNvbmZpZy5sb2NhbFZhcnMgJiYgbmV3IENvbnRleHQobnVsbCwgbnVsbCwgZmFsc2UpLFxuICAgICAgICBpbmRlbnRlZDogYmFzZWNvbHVtbiB8fCAwXG4gICAgICB9O1xuICAgICAgaWYgKHBhcnNlckNvbmZpZy5nbG9iYWxWYXJzICYmIHR5cGVvZiBwYXJzZXJDb25maWcuZ2xvYmFsVmFycyA9PSBcIm9iamVjdFwiKVxuICAgICAgICBzdGF0ZS5nbG9iYWxWYXJzID0gcGFyc2VyQ29uZmlnLmdsb2JhbFZhcnM7XG4gICAgICByZXR1cm4gc3RhdGU7XG4gICAgfSxcblxuICAgIHRva2VuOiBmdW5jdGlvbihzdHJlYW0sIHN0YXRlKSB7XG4gICAgICBpZiAoc3RyZWFtLnNvbCgpKSB7XG4gICAgICAgIGlmICghc3RhdGUubGV4aWNhbC5oYXNPd25Qcm9wZXJ0eShcImFsaWduXCIpKVxuICAgICAgICAgIHN0YXRlLmxleGljYWwuYWxpZ24gPSBmYWxzZTtcbiAgICAgICAgc3RhdGUuaW5kZW50ZWQgPSBzdHJlYW0uaW5kZW50YXRpb24oKTtcbiAgICAgICAgZmluZEZhdEFycm93KHN0cmVhbSwgc3RhdGUpO1xuICAgICAgfVxuICAgICAgaWYgKHN0YXRlLnRva2VuaXplICE9IHRva2VuQ29tbWVudCAmJiBzdHJlYW0uZWF0U3BhY2UoKSkgcmV0dXJuIG51bGw7XG4gICAgICB2YXIgc3R5bGUgPSBzdGF0ZS50b2tlbml6ZShzdHJlYW0sIHN0YXRlKTtcbiAgICAgIGlmICh0eXBlID09IFwiY29tbWVudFwiKSByZXR1cm4gc3R5bGU7XG4gICAgICBzdGF0ZS5sYXN0VHlwZSA9IHR5cGUgPT0gXCJvcGVyYXRvclwiICYmIChjb250ZW50ID09IFwiKytcIiB8fCBjb250ZW50ID09IFwiLS1cIikgPyBcImluY2RlY1wiIDogdHlwZTtcbiAgICAgIHJldHVybiBwYXJzZUpTKHN0YXRlLCBzdHlsZSwgdHlwZSwgY29udGVudCwgc3RyZWFtKTtcbiAgICB9LFxuXG4gICAgaW5kZW50OiBmdW5jdGlvbihzdGF0ZSwgdGV4dEFmdGVyKSB7XG4gICAgICBpZiAoc3RhdGUudG9rZW5pemUgPT0gdG9rZW5Db21tZW50KSByZXR1cm4gQ29kZU1pcnJvci5QYXNzO1xuICAgICAgaWYgKHN0YXRlLnRva2VuaXplICE9IHRva2VuQmFzZSkgcmV0dXJuIDA7XG4gICAgICB2YXIgZmlyc3RDaGFyID0gdGV4dEFmdGVyICYmIHRleHRBZnRlci5jaGFyQXQoMCksIGxleGljYWwgPSBzdGF0ZS5sZXhpY2FsLCB0b3BcbiAgICAgIC8vIEtsdWRnZSB0byBwcmV2ZW50ICdtYXliZWxzZScgZnJvbSBibG9ja2luZyBsZXhpY2FsIHNjb3BlIHBvcHNcbiAgICAgIGlmICghL15cXHMqZWxzZVxcYi8udGVzdCh0ZXh0QWZ0ZXIpKSBmb3IgKHZhciBpID0gc3RhdGUuY2MubGVuZ3RoIC0gMTsgaSA+PSAwOyAtLWkpIHtcbiAgICAgICAgdmFyIGMgPSBzdGF0ZS5jY1tpXTtcbiAgICAgICAgaWYgKGMgPT0gcG9wbGV4KSBsZXhpY2FsID0gbGV4aWNhbC5wcmV2O1xuICAgICAgICBlbHNlIGlmIChjICE9IG1heWJlZWxzZSkgYnJlYWs7XG4gICAgICB9XG4gICAgICB3aGlsZSAoKGxleGljYWwudHlwZSA9PSBcInN0YXRcIiB8fCBsZXhpY2FsLnR5cGUgPT0gXCJmb3JtXCIpICYmXG4gICAgICAgICAgICAgKGZpcnN0Q2hhciA9PSBcIn1cIiB8fCAoKHRvcCA9IHN0YXRlLmNjW3N0YXRlLmNjLmxlbmd0aCAtIDFdKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodG9wID09IG1heWJlb3BlcmF0b3JDb21tYSB8fCB0b3AgPT0gbWF5YmVvcGVyYXRvck5vQ29tbWEpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICEvXlssXFwuPStcXC0qOj9bXFwoXS8udGVzdCh0ZXh0QWZ0ZXIpKSkpXG4gICAgICAgIGxleGljYWwgPSBsZXhpY2FsLnByZXY7XG4gICAgICBpZiAoc3RhdGVtZW50SW5kZW50ICYmIGxleGljYWwudHlwZSA9PSBcIilcIiAmJiBsZXhpY2FsLnByZXYudHlwZSA9PSBcInN0YXRcIilcbiAgICAgICAgbGV4aWNhbCA9IGxleGljYWwucHJldjtcbiAgICAgIHZhciB0eXBlID0gbGV4aWNhbC50eXBlLCBjbG9zaW5nID0gZmlyc3RDaGFyID09IHR5cGU7XG5cbiAgICAgIGlmICh0eXBlID09IFwidmFyZGVmXCIpIHJldHVybiBsZXhpY2FsLmluZGVudGVkICsgKHN0YXRlLmxhc3RUeXBlID09IFwib3BlcmF0b3JcIiB8fCBzdGF0ZS5sYXN0VHlwZSA9PSBcIixcIiA/IGxleGljYWwuaW5mby5sZW5ndGggKyAxIDogMCk7XG4gICAgICBlbHNlIGlmICh0eXBlID09IFwiZm9ybVwiICYmIGZpcnN0Q2hhciA9PSBcIntcIikgcmV0dXJuIGxleGljYWwuaW5kZW50ZWQ7XG4gICAgICBlbHNlIGlmICh0eXBlID09IFwiZm9ybVwiKSByZXR1cm4gbGV4aWNhbC5pbmRlbnRlZCArIGluZGVudFVuaXQ7XG4gICAgICBlbHNlIGlmICh0eXBlID09IFwic3RhdFwiKVxuICAgICAgICByZXR1cm4gbGV4aWNhbC5pbmRlbnRlZCArIChpc0NvbnRpbnVlZFN0YXRlbWVudChzdGF0ZSwgdGV4dEFmdGVyKSA/IHN0YXRlbWVudEluZGVudCB8fCBpbmRlbnRVbml0IDogMCk7XG4gICAgICBlbHNlIGlmIChsZXhpY2FsLmluZm8gPT0gXCJzd2l0Y2hcIiAmJiAhY2xvc2luZyAmJiBwYXJzZXJDb25maWcuZG91YmxlSW5kZW50U3dpdGNoICE9IGZhbHNlKVxuICAgICAgICByZXR1cm4gbGV4aWNhbC5pbmRlbnRlZCArICgvXig/OmNhc2V8ZGVmYXVsdClcXGIvLnRlc3QodGV4dEFmdGVyKSA/IGluZGVudFVuaXQgOiAyICogaW5kZW50VW5pdCk7XG4gICAgICBlbHNlIGlmIChsZXhpY2FsLmFsaWduKSByZXR1cm4gbGV4aWNhbC5jb2x1bW4gKyAoY2xvc2luZyA/IDAgOiAxKTtcbiAgICAgIGVsc2UgcmV0dXJuIGxleGljYWwuaW5kZW50ZWQgKyAoY2xvc2luZyA/IDAgOiBpbmRlbnRVbml0KTtcbiAgICB9LFxuXG4gICAgZWxlY3RyaWNJbnB1dDogL15cXHMqKD86Y2FzZSAuKj86fGRlZmF1bHQ6fFxce3xcXH0pJC8sXG4gICAgYmxvY2tDb21tZW50U3RhcnQ6IGpzb25Nb2RlID8gbnVsbCA6IFwiLypcIixcbiAgICBibG9ja0NvbW1lbnRFbmQ6IGpzb25Nb2RlID8gbnVsbCA6IFwiKi9cIixcbiAgICBibG9ja0NvbW1lbnRDb250aW51ZToganNvbk1vZGUgPyBudWxsIDogXCIgKiBcIixcbiAgICBsaW5lQ29tbWVudDoganNvbk1vZGUgPyBudWxsIDogXCIvL1wiLFxuICAgIGZvbGQ6IFwiYnJhY2VcIixcbiAgICBjbG9zZUJyYWNrZXRzOiBcIigpW117fScnXFxcIlxcXCJgYFwiLFxuXG4gICAgaGVscGVyVHlwZToganNvbk1vZGUgPyBcImpzb25cIiA6IFwiamF2YXNjcmlwdFwiLFxuICAgIGpzb25sZE1vZGU6IGpzb25sZE1vZGUsXG4gICAganNvbk1vZGU6IGpzb25Nb2RlLFxuXG4gICAgZXhwcmVzc2lvbkFsbG93ZWQ6IGV4cHJlc3Npb25BbGxvd2VkLFxuXG4gICAgc2tpcEV4cHJlc3Npb246IGZ1bmN0aW9uKHN0YXRlKSB7XG4gICAgICB2YXIgdG9wID0gc3RhdGUuY2Nbc3RhdGUuY2MubGVuZ3RoIC0gMV1cbiAgICAgIGlmICh0b3AgPT0gZXhwcmVzc2lvbiB8fCB0b3AgPT0gZXhwcmVzc2lvbk5vQ29tbWEpIHN0YXRlLmNjLnBvcCgpXG4gICAgfVxuICB9O1xufSk7XG5cbkNvZGVNaXJyb3IucmVnaXN0ZXJIZWxwZXIoXCJ3b3JkQ2hhcnNcIiwgXCJqYXZhc2NyaXB0XCIsIC9bXFx3JF0vKTtcblxuQ29kZU1pcnJvci5kZWZpbmVNSU1FKFwidGV4dC9qYXZhc2NyaXB0XCIsIFwiamF2YXNjcmlwdFwiKTtcbkNvZGVNaXJyb3IuZGVmaW5lTUlNRShcInRleHQvZWNtYXNjcmlwdFwiLCBcImphdmFzY3JpcHRcIik7XG5Db2RlTWlycm9yLmRlZmluZU1JTUUoXCJhcHBsaWNhdGlvbi9qYXZhc2NyaXB0XCIsIFwiamF2YXNjcmlwdFwiKTtcbkNvZGVNaXJyb3IuZGVmaW5lTUlNRShcImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdFwiLCBcImphdmFzY3JpcHRcIik7XG5Db2RlTWlycm9yLmRlZmluZU1JTUUoXCJhcHBsaWNhdGlvbi9lY21hc2NyaXB0XCIsIFwiamF2YXNjcmlwdFwiKTtcbkNvZGVNaXJyb3IuZGVmaW5lTUlNRShcImFwcGxpY2F0aW9uL2pzb25cIiwge25hbWU6IFwiamF2YXNjcmlwdFwiLCBqc29uOiB0cnVlfSk7XG5Db2RlTWlycm9yLmRlZmluZU1JTUUoXCJhcHBsaWNhdGlvbi94LWpzb25cIiwge25hbWU6IFwiamF2YXNjcmlwdFwiLCBqc29uOiB0cnVlfSk7XG5Db2RlTWlycm9yLmRlZmluZU1JTUUoXCJhcHBsaWNhdGlvbi9sZCtqc29uXCIsIHtuYW1lOiBcImphdmFzY3JpcHRcIiwganNvbmxkOiB0cnVlfSk7XG5Db2RlTWlycm9yLmRlZmluZU1JTUUoXCJ0ZXh0L3R5cGVzY3JpcHRcIiwgeyBuYW1lOiBcImphdmFzY3JpcHRcIiwgdHlwZXNjcmlwdDogdHJ1ZSB9KTtcbkNvZGVNaXJyb3IuZGVmaW5lTUlNRShcImFwcGxpY2F0aW9uL3R5cGVzY3JpcHRcIiwgeyBuYW1lOiBcImphdmFzY3JpcHRcIiwgdHlwZXNjcmlwdDogdHJ1ZSB9KTtcblxufSk7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/codemirror/mode/javascript/javascript.js\n"); /***/ }), /***/ "./node_modules/codemirror/mode/jsx/jsx.js": /*!*************************************************!*\ !*** ./node_modules/codemirror/mode/jsx/jsx.js ***! \*************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ \"./node_modules/codemirror/lib/codemirror.js\"), __webpack_require__(/*! ../xml/xml */ \"./node_modules/codemirror/mode/xml/xml.js\"), __webpack_require__(/*! ../javascript/javascript */ \"./node_modules/codemirror/mode/javascript/javascript.js\"))\n else {}\n})(function(CodeMirror) {\n \"use strict\"\n\n // Depth means the amount of open braces in JS context, in XML\n // context 0 means not in tag, 1 means in tag, and 2 means in tag\n // and js block comment.\n function Context(state, mode, depth, prev) {\n this.state = state; this.mode = mode; this.depth = depth; this.prev = prev\n }\n\n function copyContext(context) {\n return new Context(CodeMirror.copyState(context.mode, context.state),\n context.mode,\n context.depth,\n context.prev && copyContext(context.prev))\n }\n\n CodeMirror.defineMode(\"jsx\", function(config, modeConfig) {\n var xmlMode = CodeMirror.getMode(config, {name: \"xml\", allowMissing: true, multilineTagIndentPastTag: false, allowMissingTagName: true})\n var jsMode = CodeMirror.getMode(config, modeConfig && modeConfig.base || \"javascript\")\n\n function flatXMLIndent(state) {\n var tagName = state.tagName\n state.tagName = null\n var result = xmlMode.indent(state, \"\", \"\")\n state.tagName = tagName\n return result\n }\n\n function token(stream, state) {\n if (state.context.mode == xmlMode)\n return xmlToken(stream, state, state.context)\n else\n return jsToken(stream, state, state.context)\n }\n\n function xmlToken(stream, state, cx) {\n if (cx.depth == 2) { // Inside a JS /* */ comment\n if (stream.match(/^.*?\\*\\//)) cx.depth = 1\n else stream.skipToEnd()\n return \"comment\"\n }\n\n if (stream.peek() == \"{\") {\n xmlMode.skipAttribute(cx.state)\n\n var indent = flatXMLIndent(cx.state), xmlContext = cx.state.context\n // If JS starts on same line as tag\n if (xmlContext && stream.match(/^[^>]*>\\s*$/, false)) {\n while (xmlContext.prev && !xmlContext.startOfLine)\n xmlContext = xmlContext.prev\n // If tag starts the line, use XML indentation level\n if (xmlContext.startOfLine) indent -= config.indentUnit\n // Else use JS indentation level\n else if (cx.prev.state.lexical) indent = cx.prev.state.lexical.indented\n // Else if inside of tag\n } else if (cx.depth == 1) {\n indent += config.indentUnit\n }\n\n state.context = new Context(CodeMirror.startState(jsMode, indent),\n jsMode, 0, state.context)\n return null\n }\n\n if (cx.depth == 1) { // Inside of tag\n if (stream.peek() == \"<\") { // Tag inside of tag\n xmlMode.skipAttribute(cx.state)\n state.context = new Context(CodeMirror.startState(xmlMode, flatXMLIndent(cx.state)),\n xmlMode, 0, state.context)\n return null\n } else if (stream.match(\"//\")) {\n stream.skipToEnd()\n return \"comment\"\n } else if (stream.match(\"/*\")) {\n cx.depth = 2\n return token(stream, state)\n }\n }\n\n var style = xmlMode.token(stream, cx.state), cur = stream.current(), stop\n if (/\\btag\\b/.test(style)) {\n if (/>$/.test(cur)) {\n if (cx.state.context) cx.depth = 0\n else state.context = state.context.prev\n } else if (/^ -1) {\n stream.backUp(cur.length - stop)\n }\n return style\n }\n\n function jsToken(stream, state, cx) {\n if (stream.peek() == \"<\" && jsMode.expressionAllowed(stream, cx.state)) {\n jsMode.skipExpression(cx.state)\n state.context = new Context(CodeMirror.startState(xmlMode, jsMode.indent(cx.state, \"\", \"\")),\n xmlMode, 0, state.context)\n return null\n }\n\n var style = jsMode.token(stream, cx.state)\n if (!style && cx.depth != null) {\n var cur = stream.current()\n if (cur == \"{\") {\n cx.depth++\n } else if (cur == \"}\") {\n if (--cx.depth == 0) state.context = state.context.prev\n }\n }\n return style\n }\n\n return {\n startState: function() {\n return {context: new Context(CodeMirror.startState(jsMode), jsMode)}\n },\n\n copyState: function(state) {\n return {context: copyContext(state.context)}\n },\n\n token: token,\n\n indent: function(state, textAfter, fullLine) {\n return state.context.mode.indent(state.context.state, textAfter, fullLine)\n },\n\n innerMode: function(state) {\n return state.context\n }\n }\n }, \"xml\", \"javascript\")\n\n CodeMirror.defineMIME(\"text/jsx\", \"jsx\")\n CodeMirror.defineMIME(\"text/typescript-jsx\", {name: \"jsx\", base: {name: \"javascript\", typescript: true}})\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9tb2RlL2pzeC9qc3guanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9tb2RlL2pzeC9qc3guanM/YTI3OSJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb2RlTWlycm9yLCBjb3B5cmlnaHQgKGMpIGJ5IE1hcmlqbiBIYXZlcmJla2UgYW5kIG90aGVyc1xuLy8gRGlzdHJpYnV0ZWQgdW5kZXIgYW4gTUlUIGxpY2Vuc2U6IGh0dHBzOi8vY29kZW1pcnJvci5uZXQvTElDRU5TRVxuXG4oZnVuY3Rpb24obW9kKSB7XG4gIGlmICh0eXBlb2YgZXhwb3J0cyA9PSBcIm9iamVjdFwiICYmIHR5cGVvZiBtb2R1bGUgPT0gXCJvYmplY3RcIikgLy8gQ29tbW9uSlNcbiAgICBtb2QocmVxdWlyZShcIi4uLy4uL2xpYi9jb2RlbWlycm9yXCIpLCByZXF1aXJlKFwiLi4veG1sL3htbFwiKSwgcmVxdWlyZShcIi4uL2phdmFzY3JpcHQvamF2YXNjcmlwdFwiKSlcbiAgZWxzZSBpZiAodHlwZW9mIGRlZmluZSA9PSBcImZ1bmN0aW9uXCIgJiYgZGVmaW5lLmFtZCkgLy8gQU1EXG4gICAgZGVmaW5lKFtcIi4uLy4uL2xpYi9jb2RlbWlycm9yXCIsIFwiLi4veG1sL3htbFwiLCBcIi4uL2phdmFzY3JpcHQvamF2YXNjcmlwdFwiXSwgbW9kKVxuICBlbHNlIC8vIFBsYWluIGJyb3dzZXIgZW52XG4gICAgbW9kKENvZGVNaXJyb3IpXG59KShmdW5jdGlvbihDb2RlTWlycm9yKSB7XG4gIFwidXNlIHN0cmljdFwiXG5cbiAgLy8gRGVwdGggbWVhbnMgdGhlIGFtb3VudCBvZiBvcGVuIGJyYWNlcyBpbiBKUyBjb250ZXh0LCBpbiBYTUxcbiAgLy8gY29udGV4dCAwIG1lYW5zIG5vdCBpbiB0YWcsIDEgbWVhbnMgaW4gdGFnLCBhbmQgMiBtZWFucyBpbiB0YWdcbiAgLy8gYW5kIGpzIGJsb2NrIGNvbW1lbnQuXG4gIGZ1bmN0aW9uIENvbnRleHQoc3RhdGUsIG1vZGUsIGRlcHRoLCBwcmV2KSB7XG4gICAgdGhpcy5zdGF0ZSA9IHN0YXRlOyB0aGlzLm1vZGUgPSBtb2RlOyB0aGlzLmRlcHRoID0gZGVwdGg7IHRoaXMucHJldiA9IHByZXZcbiAgfVxuXG4gIGZ1bmN0aW9uIGNvcHlDb250ZXh0KGNvbnRleHQpIHtcbiAgICByZXR1cm4gbmV3IENvbnRleHQoQ29kZU1pcnJvci5jb3B5U3RhdGUoY29udGV4dC5tb2RlLCBjb250ZXh0LnN0YXRlKSxcbiAgICAgICAgICAgICAgICAgICAgICAgY29udGV4dC5tb2RlLFxuICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0LmRlcHRoLFxuICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0LnByZXYgJiYgY29weUNvbnRleHQoY29udGV4dC5wcmV2KSlcbiAgfVxuXG4gIENvZGVNaXJyb3IuZGVmaW5lTW9kZShcImpzeFwiLCBmdW5jdGlvbihjb25maWcsIG1vZGVDb25maWcpIHtcbiAgICB2YXIgeG1sTW9kZSA9IENvZGVNaXJyb3IuZ2V0TW9kZShjb25maWcsIHtuYW1lOiBcInhtbFwiLCBhbGxvd01pc3Npbmc6IHRydWUsIG11bHRpbGluZVRhZ0luZGVudFBhc3RUYWc6IGZhbHNlLCBhbGxvd01pc3NpbmdUYWdOYW1lOiB0cnVlfSlcbiAgICB2YXIganNNb2RlID0gQ29kZU1pcnJvci5nZXRNb2RlKGNvbmZpZywgbW9kZUNvbmZpZyAmJiBtb2RlQ29uZmlnLmJhc2UgfHwgXCJqYXZhc2NyaXB0XCIpXG5cbiAgICBmdW5jdGlvbiBmbGF0WE1MSW5kZW50KHN0YXRlKSB7XG4gICAgICB2YXIgdGFnTmFtZSA9IHN0YXRlLnRhZ05hbWVcbiAgICAgIHN0YXRlLnRhZ05hbWUgPSBudWxsXG4gICAgICB2YXIgcmVzdWx0ID0geG1sTW9kZS5pbmRlbnQoc3RhdGUsIFwiXCIsIFwiXCIpXG4gICAgICBzdGF0ZS50YWdOYW1lID0gdGFnTmFtZVxuICAgICAgcmV0dXJuIHJlc3VsdFxuICAgIH1cblxuICAgIGZ1bmN0aW9uIHRva2VuKHN0cmVhbSwgc3RhdGUpIHtcbiAgICAgIGlmIChzdGF0ZS5jb250ZXh0Lm1vZGUgPT0geG1sTW9kZSlcbiAgICAgICAgcmV0dXJuIHhtbFRva2VuKHN0cmVhbSwgc3RhdGUsIHN0YXRlLmNvbnRleHQpXG4gICAgICBlbHNlXG4gICAgICAgIHJldHVybiBqc1Rva2VuKHN0cmVhbSwgc3RhdGUsIHN0YXRlLmNvbnRleHQpXG4gICAgfVxuXG4gICAgZnVuY3Rpb24geG1sVG9rZW4oc3RyZWFtLCBzdGF0ZSwgY3gpIHtcbiAgICAgIGlmIChjeC5kZXB0aCA9PSAyKSB7IC8vIEluc2lkZSBhIEpTIC8qICovIGNvbW1lbnRcbiAgICAgICAgaWYgKHN0cmVhbS5tYXRjaCgvXi4qP1xcKlxcLy8pKSBjeC5kZXB0aCA9IDFcbiAgICAgICAgZWxzZSBzdHJlYW0uc2tpcFRvRW5kKClcbiAgICAgICAgcmV0dXJuIFwiY29tbWVudFwiXG4gICAgICB9XG5cbiAgICAgIGlmIChzdHJlYW0ucGVlaygpID09IFwie1wiKSB7XG4gICAgICAgIHhtbE1vZGUuc2tpcEF0dHJpYnV0ZShjeC5zdGF0ZSlcblxuICAgICAgICB2YXIgaW5kZW50ID0gZmxhdFhNTEluZGVudChjeC5zdGF0ZSksIHhtbENvbnRleHQgPSBjeC5zdGF0ZS5jb250ZXh0XG4gICAgICAgIC8vIElmIEpTIHN0YXJ0cyBvbiBzYW1lIGxpbmUgYXMgdGFnXG4gICAgICAgIGlmICh4bWxDb250ZXh0ICYmIHN0cmVhbS5tYXRjaCgvXltePl0qPlxccyokLywgZmFsc2UpKSB7XG4gICAgICAgICAgd2hpbGUgKHhtbENvbnRleHQucHJldiAmJiAheG1sQ29udGV4dC5zdGFydE9mTGluZSlcbiAgICAgICAgICAgIHhtbENvbnRleHQgPSB4bWxDb250ZXh0LnByZXZcbiAgICAgICAgICAvLyBJZiB0YWcgc3RhcnRzIHRoZSBsaW5lLCB1c2UgWE1MIGluZGVudGF0aW9uIGxldmVsXG4gICAgICAgICAgaWYgKHhtbENvbnRleHQuc3RhcnRPZkxpbmUpIGluZGVudCAtPSBjb25maWcuaW5kZW50VW5pdFxuICAgICAgICAgIC8vIEVsc2UgdXNlIEpTIGluZGVudGF0aW9uIGxldmVsXG4gICAgICAgICAgZWxzZSBpZiAoY3gucHJldi5zdGF0ZS5sZXhpY2FsKSBpbmRlbnQgPSBjeC5wcmV2LnN0YXRlLmxleGljYWwuaW5kZW50ZWRcbiAgICAgICAgLy8gRWxzZSBpZiBpbnNpZGUgb2YgdGFnXG4gICAgICAgIH0gZWxzZSBpZiAoY3guZGVwdGggPT0gMSkge1xuICAgICAgICAgIGluZGVudCArPSBjb25maWcuaW5kZW50VW5pdFxuICAgICAgICB9XG5cbiAgICAgICAgc3RhdGUuY29udGV4dCA9IG5ldyBDb250ZXh0KENvZGVNaXJyb3Iuc3RhcnRTdGF0ZShqc01vZGUsIGluZGVudCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBqc01vZGUsIDAsIHN0YXRlLmNvbnRleHQpXG4gICAgICAgIHJldHVybiBudWxsXG4gICAgICB9XG5cbiAgICAgIGlmIChjeC5kZXB0aCA9PSAxKSB7IC8vIEluc2lkZSBvZiB0YWdcbiAgICAgICAgaWYgKHN0cmVhbS5wZWVrKCkgPT0gXCI8XCIpIHsgLy8gVGFnIGluc2lkZSBvZiB0YWdcbiAgICAgICAgICB4bWxNb2RlLnNraXBBdHRyaWJ1dGUoY3guc3RhdGUpXG4gICAgICAgICAgc3RhdGUuY29udGV4dCA9IG5ldyBDb250ZXh0KENvZGVNaXJyb3Iuc3RhcnRTdGF0ZSh4bWxNb2RlLCBmbGF0WE1MSW5kZW50KGN4LnN0YXRlKSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbE1vZGUsIDAsIHN0YXRlLmNvbnRleHQpXG4gICAgICAgICAgcmV0dXJuIG51bGxcbiAgICAgICAgfSBlbHNlIGlmIChzdHJlYW0ubWF0Y2goXCIvL1wiKSkge1xuICAgICAgICAgIHN0cmVhbS5za2lwVG9FbmQoKVxuICAgICAgICAgIHJldHVybiBcImNvbW1lbnRcIlxuICAgICAgICB9IGVsc2UgaWYgKHN0cmVhbS5tYXRjaChcIi8qXCIpKSB7XG4gICAgICAgICAgY3guZGVwdGggPSAyXG4gICAgICAgICAgcmV0dXJuIHRva2VuKHN0cmVhbSwgc3RhdGUpXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgdmFyIHN0eWxlID0geG1sTW9kZS50b2tlbihzdHJlYW0sIGN4LnN0YXRlKSwgY3VyID0gc3RyZWFtLmN1cnJlbnQoKSwgc3RvcFxuICAgICAgaWYgKC9cXGJ0YWdcXGIvLnRlc3Qoc3R5bGUpKSB7XG4gICAgICAgIGlmICgvPiQvLnRlc3QoY3VyKSkge1xuICAgICAgICAgIGlmIChjeC5zdGF0ZS5jb250ZXh0KSBjeC5kZXB0aCA9IDBcbiAgICAgICAgICBlbHNlIHN0YXRlLmNvbnRleHQgPSBzdGF0ZS5jb250ZXh0LnByZXZcbiAgICAgICAgfSBlbHNlIGlmICgvXjwvLnRlc3QoY3VyKSkge1xuICAgICAgICAgIGN4LmRlcHRoID0gMVxuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKCFzdHlsZSAmJiAoc3RvcCA9IGN1ci5pbmRleE9mKFwie1wiKSkgPiAtMSkge1xuICAgICAgICBzdHJlYW0uYmFja1VwKGN1ci5sZW5ndGggLSBzdG9wKVxuICAgICAgfVxuICAgICAgcmV0dXJuIHN0eWxlXG4gICAgfVxuXG4gICAgZnVuY3Rpb24ganNUb2tlbihzdHJlYW0sIHN0YXRlLCBjeCkge1xuICAgICAgaWYgKHN0cmVhbS5wZWVrKCkgPT0gXCI8XCIgJiYganNNb2RlLmV4cHJlc3Npb25BbGxvd2VkKHN0cmVhbSwgY3guc3RhdGUpKSB7XG4gICAgICAgIGpzTW9kZS5za2lwRXhwcmVzc2lvbihjeC5zdGF0ZSlcbiAgICAgICAgc3RhdGUuY29udGV4dCA9IG5ldyBDb250ZXh0KENvZGVNaXJyb3Iuc3RhcnRTdGF0ZSh4bWxNb2RlLCBqc01vZGUuaW5kZW50KGN4LnN0YXRlLCBcIlwiLCBcIlwiKSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxNb2RlLCAwLCBzdGF0ZS5jb250ZXh0KVxuICAgICAgICByZXR1cm4gbnVsbFxuICAgICAgfVxuXG4gICAgICB2YXIgc3R5bGUgPSBqc01vZGUudG9rZW4oc3RyZWFtLCBjeC5zdGF0ZSlcbiAgICAgIGlmICghc3R5bGUgJiYgY3guZGVwdGggIT0gbnVsbCkge1xuICAgICAgICB2YXIgY3VyID0gc3RyZWFtLmN1cnJlbnQoKVxuICAgICAgICBpZiAoY3VyID09IFwie1wiKSB7XG4gICAgICAgICAgY3guZGVwdGgrK1xuICAgICAgICB9IGVsc2UgaWYgKGN1ciA9PSBcIn1cIikge1xuICAgICAgICAgIGlmICgtLWN4LmRlcHRoID09IDApIHN0YXRlLmNvbnRleHQgPSBzdGF0ZS5jb250ZXh0LnByZXZcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIHN0eWxlXG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIHN0YXJ0U3RhdGU6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4ge2NvbnRleHQ6IG5ldyBDb250ZXh0KENvZGVNaXJyb3Iuc3RhcnRTdGF0ZShqc01vZGUpLCBqc01vZGUpfVxuICAgICAgfSxcblxuICAgICAgY29weVN0YXRlOiBmdW5jdGlvbihzdGF0ZSkge1xuICAgICAgICByZXR1cm4ge2NvbnRleHQ6IGNvcHlDb250ZXh0KHN0YXRlLmNvbnRleHQpfVxuICAgICAgfSxcblxuICAgICAgdG9rZW46IHRva2VuLFxuXG4gICAgICBpbmRlbnQ6IGZ1bmN0aW9uKHN0YXRlLCB0ZXh0QWZ0ZXIsIGZ1bGxMaW5lKSB7XG4gICAgICAgIHJldHVybiBzdGF0ZS5jb250ZXh0Lm1vZGUuaW5kZW50KHN0YXRlLmNvbnRleHQuc3RhdGUsIHRleHRBZnRlciwgZnVsbExpbmUpXG4gICAgICB9LFxuXG4gICAgICBpbm5lck1vZGU6IGZ1bmN0aW9uKHN0YXRlKSB7XG4gICAgICAgIHJldHVybiBzdGF0ZS5jb250ZXh0XG4gICAgICB9XG4gICAgfVxuICB9LCBcInhtbFwiLCBcImphdmFzY3JpcHRcIilcblxuICBDb2RlTWlycm9yLmRlZmluZU1JTUUoXCJ0ZXh0L2pzeFwiLCBcImpzeFwiKVxuICBDb2RlTWlycm9yLmRlZmluZU1JTUUoXCJ0ZXh0L3R5cGVzY3JpcHQtanN4XCIsIHtuYW1lOiBcImpzeFwiLCBiYXNlOiB7bmFtZTogXCJqYXZhc2NyaXB0XCIsIHR5cGVzY3JpcHQ6IHRydWV9fSlcbn0pO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/codemirror/mode/jsx/jsx.js\n"); /***/ }), /***/ "./node_modules/codemirror/mode/markdown/markdown.js": /*!***********************************************************!*\ !*** ./node_modules/codemirror/mode/markdown/markdown.js ***! \***********************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ \"./node_modules/codemirror/lib/codemirror.js\"), __webpack_require__(/*! ../xml/xml */ \"./node_modules/codemirror/mode/xml/xml.js\"), __webpack_require__(/*! ../meta */ \"./node_modules/codemirror/mode/meta.js\"));\n else {}\n})(function(CodeMirror) {\n\"use strict\";\n\nCodeMirror.defineMode(\"markdown\", function(cmCfg, modeCfg) {\n\n var htmlMode = CodeMirror.getMode(cmCfg, \"text/html\");\n var htmlModeMissing = htmlMode.name == \"null\"\n\n function getMode(name) {\n if (CodeMirror.findModeByName) {\n var found = CodeMirror.findModeByName(name);\n if (found) name = found.mime || found.mimes[0];\n }\n var mode = CodeMirror.getMode(cmCfg, name);\n return mode.name == \"null\" ? null : mode;\n }\n\n // Should characters that affect highlighting be highlighted separate?\n // Does not include characters that will be output (such as `1.` and `-` for lists)\n if (modeCfg.highlightFormatting === undefined)\n modeCfg.highlightFormatting = false;\n\n // Maximum number of nested blockquotes. Set to 0 for infinite nesting.\n // Excess `>` will emit `error` token.\n if (modeCfg.maxBlockquoteDepth === undefined)\n modeCfg.maxBlockquoteDepth = 0;\n\n // Turn on task lists? (\"- [ ] \" and \"- [x] \")\n if (modeCfg.taskLists === undefined) modeCfg.taskLists = false;\n\n // Turn on strikethrough syntax\n if (modeCfg.strikethrough === undefined)\n modeCfg.strikethrough = false;\n\n if (modeCfg.emoji === undefined)\n modeCfg.emoji = false;\n\n if (modeCfg.fencedCodeBlockHighlighting === undefined)\n modeCfg.fencedCodeBlockHighlighting = true;\n\n if (modeCfg.xml === undefined)\n modeCfg.xml = true;\n\n // Allow token types to be overridden by user-provided token types.\n if (modeCfg.tokenTypeOverrides === undefined)\n modeCfg.tokenTypeOverrides = {};\n\n var tokenTypes = {\n header: \"header\",\n code: \"comment\",\n quote: \"quote\",\n list1: \"variable-2\",\n list2: \"variable-3\",\n list3: \"keyword\",\n hr: \"hr\",\n image: \"image\",\n imageAltText: \"image-alt-text\",\n imageMarker: \"image-marker\",\n formatting: \"formatting\",\n linkInline: \"link\",\n linkEmail: \"link\",\n linkText: \"link\",\n linkHref: \"string\",\n em: \"em\",\n strong: \"strong\",\n strikethrough: \"strikethrough\",\n emoji: \"builtin\"\n };\n\n for (var tokenType in tokenTypes) {\n if (tokenTypes.hasOwnProperty(tokenType) && modeCfg.tokenTypeOverrides[tokenType]) {\n tokenTypes[tokenType] = modeCfg.tokenTypeOverrides[tokenType];\n }\n }\n\n var hrRE = /^([*\\-_])(?:\\s*\\1){2,}\\s*$/\n , listRE = /^(?:[*\\-+]|^[0-9]+([.)]))\\s+/\n , taskListRE = /^\\[(x| )\\](?=\\s)/i // Must follow listRE\n , atxHeaderRE = modeCfg.allowAtxHeaderWithoutSpace ? /^(#+)/ : /^(#+)(?: |$)/\n , setextHeaderRE = /^ *(?:\\={1,}|-{1,})\\s*$/\n , textRE = /^[^#!\\[\\]*_\\\\<>` \"'(~:]+/\n , fencedCodeRE = /^(~~~+|```+)[ \\t]*([\\w+#-]*)[^\\n`]*$/\n , linkDefRE = /^\\s*\\[[^\\]]+?\\]:.*$/ // naive link-definition\n , punctuation = /[!\"#$%&'()*+,\\-.\\/:;<=>?@\\[\\\\\\]^_`{|}~\\xA1\\xA7\\xAB\\xB6\\xB7\\xBB\\xBF\\u037E\\u0387\\u055A-\\u055F\\u0589\\u058A\\u05BE\\u05C0\\u05C3\\u05C6\\u05F3\\u05F4\\u0609\\u060A\\u060C\\u060D\\u061B\\u061E\\u061F\\u066A-\\u066D\\u06D4\\u0700-\\u070D\\u07F7-\\u07F9\\u0830-\\u083E\\u085E\\u0964\\u0965\\u0970\\u0AF0\\u0DF4\\u0E4F\\u0E5A\\u0E5B\\u0F04-\\u0F12\\u0F14\\u0F3A-\\u0F3D\\u0F85\\u0FD0-\\u0FD4\\u0FD9\\u0FDA\\u104A-\\u104F\\u10FB\\u1360-\\u1368\\u1400\\u166D\\u166E\\u169B\\u169C\\u16EB-\\u16ED\\u1735\\u1736\\u17D4-\\u17D6\\u17D8-\\u17DA\\u1800-\\u180A\\u1944\\u1945\\u1A1E\\u1A1F\\u1AA0-\\u1AA6\\u1AA8-\\u1AAD\\u1B5A-\\u1B60\\u1BFC-\\u1BFF\\u1C3B-\\u1C3F\\u1C7E\\u1C7F\\u1CC0-\\u1CC7\\u1CD3\\u2010-\\u2027\\u2030-\\u2043\\u2045-\\u2051\\u2053-\\u205E\\u207D\\u207E\\u208D\\u208E\\u2308-\\u230B\\u2329\\u232A\\u2768-\\u2775\\u27C5\\u27C6\\u27E6-\\u27EF\\u2983-\\u2998\\u29D8-\\u29DB\\u29FC\\u29FD\\u2CF9-\\u2CFC\\u2CFE\\u2CFF\\u2D70\\u2E00-\\u2E2E\\u2E30-\\u2E42\\u3001-\\u3003\\u3008-\\u3011\\u3014-\\u301F\\u3030\\u303D\\u30A0\\u30FB\\uA4FE\\uA4FF\\uA60D-\\uA60F\\uA673\\uA67E\\uA6F2-\\uA6F7\\uA874-\\uA877\\uA8CE\\uA8CF\\uA8F8-\\uA8FA\\uA8FC\\uA92E\\uA92F\\uA95F\\uA9C1-\\uA9CD\\uA9DE\\uA9DF\\uAA5C-\\uAA5F\\uAADE\\uAADF\\uAAF0\\uAAF1\\uABEB\\uFD3E\\uFD3F\\uFE10-\\uFE19\\uFE30-\\uFE52\\uFE54-\\uFE61\\uFE63\\uFE68\\uFE6A\\uFE6B\\uFF01-\\uFF03\\uFF05-\\uFF0A\\uFF0C-\\uFF0F\\uFF1A\\uFF1B\\uFF1F\\uFF20\\uFF3B-\\uFF3D\\uFF3F\\uFF5B\\uFF5D\\uFF5F-\\uFF65]|\\uD800[\\uDD00-\\uDD02\\uDF9F\\uDFD0]|\\uD801\\uDD6F|\\uD802[\\uDC57\\uDD1F\\uDD3F\\uDE50-\\uDE58\\uDE7F\\uDEF0-\\uDEF6\\uDF39-\\uDF3F\\uDF99-\\uDF9C]|\\uD804[\\uDC47-\\uDC4D\\uDCBB\\uDCBC\\uDCBE-\\uDCC1\\uDD40-\\uDD43\\uDD74\\uDD75\\uDDC5-\\uDDC9\\uDDCD\\uDDDB\\uDDDD-\\uDDDF\\uDE38-\\uDE3D\\uDEA9]|\\uD805[\\uDCC6\\uDDC1-\\uDDD7\\uDE41-\\uDE43\\uDF3C-\\uDF3E]|\\uD809[\\uDC70-\\uDC74]|\\uD81A[\\uDE6E\\uDE6F\\uDEF5\\uDF37-\\uDF3B\\uDF44]|\\uD82F\\uDC9F|\\uD836[\\uDE87-\\uDE8B]/\n , expandedTab = \" \" // CommonMark specifies tab as 4 spaces\n\n function switchInline(stream, state, f) {\n state.f = state.inline = f;\n return f(stream, state);\n }\n\n function switchBlock(stream, state, f) {\n state.f = state.block = f;\n return f(stream, state);\n }\n\n function lineIsEmpty(line) {\n return !line || !/\\S/.test(line.string)\n }\n\n // Blocks\n\n function blankLine(state) {\n // Reset linkTitle state\n state.linkTitle = false;\n state.linkHref = false;\n state.linkText = false;\n // Reset EM state\n state.em = false;\n // Reset STRONG state\n state.strong = false;\n // Reset strikethrough state\n state.strikethrough = false;\n // Reset state.quote\n state.quote = 0;\n // Reset state.indentedCode\n state.indentedCode = false;\n if (state.f == htmlBlock) {\n var exit = htmlModeMissing\n if (!exit) {\n var inner = CodeMirror.innerMode(htmlMode, state.htmlState)\n exit = inner.mode.name == \"xml\" && inner.state.tagStart === null &&\n (!inner.state.context && inner.state.tokenize.isInText)\n }\n if (exit) {\n state.f = inlineNormal;\n state.block = blockNormal;\n state.htmlState = null;\n }\n }\n // Reset state.trailingSpace\n state.trailingSpace = 0;\n state.trailingSpaceNewLine = false;\n // Mark this line as blank\n state.prevLine = state.thisLine\n state.thisLine = {stream: null}\n return null;\n }\n\n function blockNormal(stream, state) {\n var firstTokenOnLine = stream.column() === state.indentation;\n var prevLineLineIsEmpty = lineIsEmpty(state.prevLine.stream);\n var prevLineIsIndentedCode = state.indentedCode;\n var prevLineIsHr = state.prevLine.hr;\n var prevLineIsList = state.list !== false;\n var maxNonCodeIndentation = (state.listStack[state.listStack.length - 1] || 0) + 3;\n\n state.indentedCode = false;\n\n var lineIndentation = state.indentation;\n // compute once per line (on first token)\n if (state.indentationDiff === null) {\n state.indentationDiff = state.indentation;\n if (prevLineIsList) {\n // Reset inline styles which shouldn't propagate aross list items\n state.em = false;\n state.strong = false;\n state.code = false;\n state.strikethrough = false;\n\n state.list = null;\n // While this list item's marker's indentation is less than the deepest\n // list item's content's indentation,pop the deepest list item\n // indentation off the stack, and update block indentation state\n while (lineIndentation < state.listStack[state.listStack.length - 1]) {\n state.listStack.pop();\n if (state.listStack.length) {\n state.indentation = state.listStack[state.listStack.length - 1];\n // less than the first list's indent -> the line is no longer a list\n } else {\n state.list = false;\n }\n }\n if (state.list !== false) {\n state.indentationDiff = lineIndentation - state.listStack[state.listStack.length - 1]\n }\n }\n }\n\n // not comprehensive (currently only for setext detection purposes)\n var allowsInlineContinuation = (\n !prevLineLineIsEmpty && !prevLineIsHr && !state.prevLine.header &&\n (!prevLineIsList || !prevLineIsIndentedCode) &&\n !state.prevLine.fencedCodeEnd\n );\n\n var isHr = (state.list === false || prevLineIsHr || prevLineLineIsEmpty) &&\n state.indentation <= maxNonCodeIndentation && stream.match(hrRE);\n\n var match = null;\n if (state.indentationDiff >= 4 && (prevLineIsIndentedCode || state.prevLine.fencedCodeEnd ||\n state.prevLine.header || prevLineLineIsEmpty)) {\n stream.skipToEnd();\n state.indentedCode = true;\n return tokenTypes.code;\n } else if (stream.eatSpace()) {\n return null;\n } else if (firstTokenOnLine && state.indentation <= maxNonCodeIndentation && (match = stream.match(atxHeaderRE)) && match[1].length <= 6) {\n state.quote = 0;\n state.header = match[1].length;\n state.thisLine.header = true;\n if (modeCfg.highlightFormatting) state.formatting = \"header\";\n state.f = state.inline;\n return getType(state);\n } else if (state.indentation <= maxNonCodeIndentation && stream.eat('>')) {\n state.quote = firstTokenOnLine ? 1 : state.quote + 1;\n if (modeCfg.highlightFormatting) state.formatting = \"quote\";\n stream.eatSpace();\n return getType(state);\n } else if (!isHr && !state.setext && firstTokenOnLine && state.indentation <= maxNonCodeIndentation && (match = stream.match(listRE))) {\n var listType = match[1] ? \"ol\" : \"ul\";\n\n state.indentation = lineIndentation + stream.current().length;\n state.list = true;\n state.quote = 0;\n\n // Add this list item's content's indentation to the stack\n state.listStack.push(state.indentation);\n\n if (modeCfg.taskLists && stream.match(taskListRE, false)) {\n state.taskList = true;\n }\n state.f = state.inline;\n if (modeCfg.highlightFormatting) state.formatting = [\"list\", \"list-\" + listType];\n return getType(state);\n } else if (firstTokenOnLine && state.indentation <= maxNonCodeIndentation && (match = stream.match(fencedCodeRE, true))) {\n state.quote = 0;\n state.fencedEndRE = new RegExp(match[1] + \"+ *$\");\n // try switching mode\n state.localMode = modeCfg.fencedCodeBlockHighlighting && getMode(match[2]);\n if (state.localMode) state.localState = CodeMirror.startState(state.localMode);\n state.f = state.block = local;\n if (modeCfg.highlightFormatting) state.formatting = \"code-block\";\n state.code = -1\n return getType(state);\n // SETEXT has lowest block-scope precedence after HR, so check it after\n // the others (code, blockquote, list...)\n } else if (\n // if setext set, indicates line after ---/===\n state.setext || (\n // line before ---/===\n (!allowsInlineContinuation || !prevLineIsList) && !state.quote && state.list === false &&\n !state.code && !isHr && !linkDefRE.test(stream.string) &&\n (match = stream.lookAhead(1)) && (match = match.match(setextHeaderRE))\n )\n ) {\n if ( !state.setext ) {\n state.header = match[0].charAt(0) == '=' ? 1 : 2;\n state.setext = state.header;\n } else {\n state.header = state.setext;\n // has no effect on type so we can reset it now\n state.setext = 0;\n stream.skipToEnd();\n if (modeCfg.highlightFormatting) state.formatting = \"header\";\n }\n state.thisLine.header = true;\n state.f = state.inline;\n return getType(state);\n } else if (isHr) {\n stream.skipToEnd();\n state.hr = true;\n state.thisLine.hr = true;\n return tokenTypes.hr;\n } else if (stream.peek() === '[') {\n return switchInline(stream, state, footnoteLink);\n }\n\n return switchInline(stream, state, state.inline);\n }\n\n function htmlBlock(stream, state) {\n var style = htmlMode.token(stream, state.htmlState);\n if (!htmlModeMissing) {\n var inner = CodeMirror.innerMode(htmlMode, state.htmlState)\n if ((inner.mode.name == \"xml\" && inner.state.tagStart === null &&\n (!inner.state.context && inner.state.tokenize.isInText)) ||\n (state.md_inside && stream.current().indexOf(\">\") > -1)) {\n state.f = inlineNormal;\n state.block = blockNormal;\n state.htmlState = null;\n }\n }\n return style;\n }\n\n function local(stream, state) {\n var currListInd = state.listStack[state.listStack.length - 1] || 0;\n var hasExitedList = state.indentation < currListInd;\n var maxFencedEndInd = currListInd + 3;\n if (state.fencedEndRE && state.indentation <= maxFencedEndInd && (hasExitedList || stream.match(state.fencedEndRE))) {\n if (modeCfg.highlightFormatting) state.formatting = \"code-block\";\n var returnType;\n if (!hasExitedList) returnType = getType(state)\n state.localMode = state.localState = null;\n state.block = blockNormal;\n state.f = inlineNormal;\n state.fencedEndRE = null;\n state.code = 0\n state.thisLine.fencedCodeEnd = true;\n if (hasExitedList) return switchBlock(stream, state, state.block);\n return returnType;\n } else if (state.localMode) {\n return state.localMode.token(stream, state.localState);\n } else {\n stream.skipToEnd();\n return tokenTypes.code;\n }\n }\n\n // Inline\n function getType(state) {\n var styles = [];\n\n if (state.formatting) {\n styles.push(tokenTypes.formatting);\n\n if (typeof state.formatting === \"string\") state.formatting = [state.formatting];\n\n for (var i = 0; i < state.formatting.length; i++) {\n styles.push(tokenTypes.formatting + \"-\" + state.formatting[i]);\n\n if (state.formatting[i] === \"header\") {\n styles.push(tokenTypes.formatting + \"-\" + state.formatting[i] + \"-\" + state.header);\n }\n\n // Add `formatting-quote` and `formatting-quote-#` for blockquotes\n // Add `error` instead if the maximum blockquote nesting depth is passed\n if (state.formatting[i] === \"quote\") {\n if (!modeCfg.maxBlockquoteDepth || modeCfg.maxBlockquoteDepth >= state.quote) {\n styles.push(tokenTypes.formatting + \"-\" + state.formatting[i] + \"-\" + state.quote);\n } else {\n styles.push(\"error\");\n }\n }\n }\n }\n\n if (state.taskOpen) {\n styles.push(\"meta\");\n return styles.length ? styles.join(' ') : null;\n }\n if (state.taskClosed) {\n styles.push(\"property\");\n return styles.length ? styles.join(' ') : null;\n }\n\n if (state.linkHref) {\n styles.push(tokenTypes.linkHref, \"url\");\n } else { // Only apply inline styles to non-url text\n if (state.strong) { styles.push(tokenTypes.strong); }\n if (state.em) { styles.push(tokenTypes.em); }\n if (state.strikethrough) { styles.push(tokenTypes.strikethrough); }\n if (state.emoji) { styles.push(tokenTypes.emoji); }\n if (state.linkText) { styles.push(tokenTypes.linkText); }\n if (state.code) { styles.push(tokenTypes.code); }\n if (state.image) { styles.push(tokenTypes.image); }\n if (state.imageAltText) { styles.push(tokenTypes.imageAltText, \"link\"); }\n if (state.imageMarker) { styles.push(tokenTypes.imageMarker); }\n }\n\n if (state.header) { styles.push(tokenTypes.header, tokenTypes.header + \"-\" + state.header); }\n\n if (state.quote) {\n styles.push(tokenTypes.quote);\n\n // Add `quote-#` where the maximum for `#` is modeCfg.maxBlockquoteDepth\n if (!modeCfg.maxBlockquoteDepth || modeCfg.maxBlockquoteDepth >= state.quote) {\n styles.push(tokenTypes.quote + \"-\" + state.quote);\n } else {\n styles.push(tokenTypes.quote + \"-\" + modeCfg.maxBlockquoteDepth);\n }\n }\n\n if (state.list !== false) {\n var listMod = (state.listStack.length - 1) % 3;\n if (!listMod) {\n styles.push(tokenTypes.list1);\n } else if (listMod === 1) {\n styles.push(tokenTypes.list2);\n } else {\n styles.push(tokenTypes.list3);\n }\n }\n\n if (state.trailingSpaceNewLine) {\n styles.push(\"trailing-space-new-line\");\n } else if (state.trailingSpace) {\n styles.push(\"trailing-space-\" + (state.trailingSpace % 2 ? \"a\" : \"b\"));\n }\n\n return styles.length ? styles.join(' ') : null;\n }\n\n function handleText(stream, state) {\n if (stream.match(textRE, true)) {\n return getType(state);\n }\n return undefined;\n }\n\n function inlineNormal(stream, state) {\n var style = state.text(stream, state);\n if (typeof style !== 'undefined')\n return style;\n\n if (state.list) { // List marker (*, +, -, 1., etc)\n state.list = null;\n return getType(state);\n }\n\n if (state.taskList) {\n var taskOpen = stream.match(taskListRE, true)[1] === \" \";\n if (taskOpen) state.taskOpen = true;\n else state.taskClosed = true;\n if (modeCfg.highlightFormatting) state.formatting = \"task\";\n state.taskList = false;\n return getType(state);\n }\n\n state.taskOpen = false;\n state.taskClosed = false;\n\n if (state.header && stream.match(/^#+$/, true)) {\n if (modeCfg.highlightFormatting) state.formatting = \"header\";\n return getType(state);\n }\n\n var ch = stream.next();\n\n // Matches link titles present on next line\n if (state.linkTitle) {\n state.linkTitle = false;\n var matchCh = ch;\n if (ch === '(') {\n matchCh = ')';\n }\n matchCh = (matchCh+'').replace(/([.?*+^\\[\\]\\\\(){}|-])/g, \"\\\\$1\");\n var regex = '^\\\\s*(?:[^' + matchCh + '\\\\\\\\]+|\\\\\\\\\\\\\\\\|\\\\\\\\.)' + matchCh;\n if (stream.match(new RegExp(regex), true)) {\n return tokenTypes.linkHref;\n }\n }\n\n // If this block is changed, it may need to be updated in GFM mode\n if (ch === '`') {\n var previousFormatting = state.formatting;\n if (modeCfg.highlightFormatting) state.formatting = \"code\";\n stream.eatWhile('`');\n var count = stream.current().length\n if (state.code == 0 && (!state.quote || count == 1)) {\n state.code = count\n return getType(state)\n } else if (count == state.code) { // Must be exact\n var t = getType(state)\n state.code = 0\n return t\n } else {\n state.formatting = previousFormatting\n return getType(state)\n }\n } else if (state.code) {\n return getType(state);\n }\n\n if (ch === '\\\\') {\n stream.next();\n if (modeCfg.highlightFormatting) {\n var type = getType(state);\n var formattingEscape = tokenTypes.formatting + \"-escape\";\n return type ? type + \" \" + formattingEscape : formattingEscape;\n }\n }\n\n if (ch === '!' && stream.match(/\\[[^\\]]*\\] ?(?:\\(|\\[)/, false)) {\n state.imageMarker = true;\n state.image = true;\n if (modeCfg.highlightFormatting) state.formatting = \"image\";\n return getType(state);\n }\n\n if (ch === '[' && state.imageMarker && stream.match(/[^\\]]*\\](\\(.*?\\)| ?\\[.*?\\])/, false)) {\n state.imageMarker = false;\n state.imageAltText = true\n if (modeCfg.highlightFormatting) state.formatting = \"image\";\n return getType(state);\n }\n\n if (ch === ']' && state.imageAltText) {\n if (modeCfg.highlightFormatting) state.formatting = \"image\";\n var type = getType(state);\n state.imageAltText = false;\n state.image = false;\n state.inline = state.f = linkHref;\n return type;\n }\n\n if (ch === '[' && !state.image) {\n if (state.linkText && stream.match(/^.*?\\]/)) return getType(state)\n state.linkText = true;\n if (modeCfg.highlightFormatting) state.formatting = \"link\";\n return getType(state);\n }\n\n if (ch === ']' && state.linkText) {\n if (modeCfg.highlightFormatting) state.formatting = \"link\";\n var type = getType(state);\n state.linkText = false;\n state.inline = state.f = stream.match(/\\(.*?\\)| ?\\[.*?\\]/, false) ? linkHref : inlineNormal\n return type;\n }\n\n if (ch === '<' && stream.match(/^(https?|ftps?):\\/\\/(?:[^\\\\>]|\\\\.)+>/, false)) {\n state.f = state.inline = linkInline;\n if (modeCfg.highlightFormatting) state.formatting = \"link\";\n var type = getType(state);\n if (type){\n type += \" \";\n } else {\n type = \"\";\n }\n return type + tokenTypes.linkInline;\n }\n\n if (ch === '<' && stream.match(/^[^> \\\\]+@(?:[^\\\\>]|\\\\.)+>/, false)) {\n state.f = state.inline = linkInline;\n if (modeCfg.highlightFormatting) state.formatting = \"link\";\n var type = getType(state);\n if (type){\n type += \" \";\n } else {\n type = \"\";\n }\n return type + tokenTypes.linkEmail;\n }\n\n if (modeCfg.xml && ch === '<' && stream.match(/^(!--|\\?|!\\[CDATA\\[|[a-z][a-z0-9-]*(?:\\s+[a-z_:.\\-]+(?:\\s*=\\s*[^>]+)?)*\\s*(?:>|$))/i, false)) {\n var end = stream.string.indexOf(\">\", stream.pos);\n if (end != -1) {\n var atts = stream.string.substring(stream.start, end);\n if (/markdown\\s*=\\s*('|\"){0,1}1('|\"){0,1}/.test(atts)) state.md_inside = true;\n }\n stream.backUp(1);\n state.htmlState = CodeMirror.startState(htmlMode);\n return switchBlock(stream, state, htmlBlock);\n }\n\n if (modeCfg.xml && ch === '<' && stream.match(/^\\/\\w*?>/)) {\n state.md_inside = false;\n return \"tag\";\n } else if (ch === \"*\" || ch === \"_\") {\n var len = 1, before = stream.pos == 1 ? \" \" : stream.string.charAt(stream.pos - 2)\n while (len < 3 && stream.eat(ch)) len++\n var after = stream.peek() || \" \"\n // See http://spec.commonmark.org/0.27/#emphasis-and-strong-emphasis\n var leftFlanking = !/\\s/.test(after) && (!punctuation.test(after) || /\\s/.test(before) || punctuation.test(before))\n var rightFlanking = !/\\s/.test(before) && (!punctuation.test(before) || /\\s/.test(after) || punctuation.test(after))\n var setEm = null, setStrong = null\n if (len % 2) { // Em\n if (!state.em && leftFlanking && (ch === \"*\" || !rightFlanking || punctuation.test(before)))\n setEm = true\n else if (state.em == ch && rightFlanking && (ch === \"*\" || !leftFlanking || punctuation.test(after)))\n setEm = false\n }\n if (len > 1) { // Strong\n if (!state.strong && leftFlanking && (ch === \"*\" || !rightFlanking || punctuation.test(before)))\n setStrong = true\n else if (state.strong == ch && rightFlanking && (ch === \"*\" || !leftFlanking || punctuation.test(after)))\n setStrong = false\n }\n if (setStrong != null || setEm != null) {\n if (modeCfg.highlightFormatting) state.formatting = setEm == null ? \"strong\" : setStrong == null ? \"em\" : \"strong em\"\n if (setEm === true) state.em = ch\n if (setStrong === true) state.strong = ch\n var t = getType(state)\n if (setEm === false) state.em = false\n if (setStrong === false) state.strong = false\n return t\n }\n } else if (ch === ' ') {\n if (stream.eat('*') || stream.eat('_')) { // Probably surrounded by spaces\n if (stream.peek() === ' ') { // Surrounded by spaces, ignore\n return getType(state);\n } else { // Not surrounded by spaces, back up pointer\n stream.backUp(1);\n }\n }\n }\n\n if (modeCfg.strikethrough) {\n if (ch === '~' && stream.eatWhile(ch)) {\n if (state.strikethrough) {// Remove strikethrough\n if (modeCfg.highlightFormatting) state.formatting = \"strikethrough\";\n var t = getType(state);\n state.strikethrough = false;\n return t;\n } else if (stream.match(/^[^\\s]/, false)) {// Add strikethrough\n state.strikethrough = true;\n if (modeCfg.highlightFormatting) state.formatting = \"strikethrough\";\n return getType(state);\n }\n } else if (ch === ' ') {\n if (stream.match(/^~~/, true)) { // Probably surrounded by space\n if (stream.peek() === ' ') { // Surrounded by spaces, ignore\n return getType(state);\n } else { // Not surrounded by spaces, back up pointer\n stream.backUp(2);\n }\n }\n }\n }\n\n if (modeCfg.emoji && ch === \":\" && stream.match(/^(?:[a-z_\\d+][a-z_\\d+-]*|\\-[a-z_\\d+][a-z_\\d+-]*):/)) {\n state.emoji = true;\n if (modeCfg.highlightFormatting) state.formatting = \"emoji\";\n var retType = getType(state);\n state.emoji = false;\n return retType;\n }\n\n if (ch === ' ') {\n if (stream.match(/^ +$/, false)) {\n state.trailingSpace++;\n } else if (state.trailingSpace) {\n state.trailingSpaceNewLine = true;\n }\n }\n\n return getType(state);\n }\n\n function linkInline(stream, state) {\n var ch = stream.next();\n\n if (ch === \">\") {\n state.f = state.inline = inlineNormal;\n if (modeCfg.highlightFormatting) state.formatting = \"link\";\n var type = getType(state);\n if (type){\n type += \" \";\n } else {\n type = \"\";\n }\n return type + tokenTypes.linkInline;\n }\n\n stream.match(/^[^>]+/, true);\n\n return tokenTypes.linkInline;\n }\n\n function linkHref(stream, state) {\n // Check if space, and return NULL if so (to avoid marking the space)\n if(stream.eatSpace()){\n return null;\n }\n var ch = stream.next();\n if (ch === '(' || ch === '[') {\n state.f = state.inline = getLinkHrefInside(ch === \"(\" ? \")\" : \"]\");\n if (modeCfg.highlightFormatting) state.formatting = \"link-string\";\n state.linkHref = true;\n return getType(state);\n }\n return 'error';\n }\n\n var linkRE = {\n \")\": /^(?:[^\\\\\\(\\)]|\\\\.|\\((?:[^\\\\\\(\\)]|\\\\.)*\\))*?(?=\\))/,\n \"]\": /^(?:[^\\\\\\[\\]]|\\\\.|\\[(?:[^\\\\\\[\\]]|\\\\.)*\\])*?(?=\\])/\n }\n\n function getLinkHrefInside(endChar) {\n return function(stream, state) {\n var ch = stream.next();\n\n if (ch === endChar) {\n state.f = state.inline = inlineNormal;\n if (modeCfg.highlightFormatting) state.formatting = \"link-string\";\n var returnState = getType(state);\n state.linkHref = false;\n return returnState;\n }\n\n stream.match(linkRE[endChar])\n state.linkHref = true;\n return getType(state);\n };\n }\n\n function footnoteLink(stream, state) {\n if (stream.match(/^([^\\]\\\\]|\\\\.)*\\]:/, false)) {\n state.f = footnoteLinkInside;\n stream.next(); // Consume [\n if (modeCfg.highlightFormatting) state.formatting = \"link\";\n state.linkText = true;\n return getType(state);\n }\n return switchInline(stream, state, inlineNormal);\n }\n\n function footnoteLinkInside(stream, state) {\n if (stream.match(/^\\]:/, true)) {\n state.f = state.inline = footnoteUrl;\n if (modeCfg.highlightFormatting) state.formatting = \"link\";\n var returnType = getType(state);\n state.linkText = false;\n return returnType;\n }\n\n stream.match(/^([^\\]\\\\]|\\\\.)+/, true);\n\n return tokenTypes.linkText;\n }\n\n function footnoteUrl(stream, state) {\n // Check if space, and return NULL if so (to avoid marking the space)\n if(stream.eatSpace()){\n return null;\n }\n // Match URL\n stream.match(/^[^\\s]+/, true);\n // Check for link title\n if (stream.peek() === undefined) { // End of line, set flag to check next line\n state.linkTitle = true;\n } else { // More content on line, check if link title\n stream.match(/^(?:\\s+(?:\"(?:[^\"\\\\]|\\\\\\\\|\\\\.)+\"|'(?:[^'\\\\]|\\\\\\\\|\\\\.)+'|\\((?:[^)\\\\]|\\\\\\\\|\\\\.)+\\)))?/, true);\n }\n state.f = state.inline = inlineNormal;\n return tokenTypes.linkHref + \" url\";\n }\n\n var mode = {\n startState: function() {\n return {\n f: blockNormal,\n\n prevLine: {stream: null},\n thisLine: {stream: null},\n\n block: blockNormal,\n htmlState: null,\n indentation: 0,\n\n inline: inlineNormal,\n text: handleText,\n\n formatting: false,\n linkText: false,\n linkHref: false,\n linkTitle: false,\n code: 0,\n em: false,\n strong: false,\n header: 0,\n setext: 0,\n hr: false,\n taskList: false,\n list: false,\n listStack: [],\n quote: 0,\n trailingSpace: 0,\n trailingSpaceNewLine: false,\n strikethrough: false,\n emoji: false,\n fencedEndRE: null\n };\n },\n\n copyState: function(s) {\n return {\n f: s.f,\n\n prevLine: s.prevLine,\n thisLine: s.thisLine,\n\n block: s.block,\n htmlState: s.htmlState && CodeMirror.copyState(htmlMode, s.htmlState),\n indentation: s.indentation,\n\n localMode: s.localMode,\n localState: s.localMode ? CodeMirror.copyState(s.localMode, s.localState) : null,\n\n inline: s.inline,\n text: s.text,\n formatting: false,\n linkText: s.linkText,\n linkTitle: s.linkTitle,\n linkHref: s.linkHref,\n code: s.code,\n em: s.em,\n strong: s.strong,\n strikethrough: s.strikethrough,\n emoji: s.emoji,\n header: s.header,\n setext: s.setext,\n hr: s.hr,\n taskList: s.taskList,\n list: s.list,\n listStack: s.listStack.slice(0),\n quote: s.quote,\n indentedCode: s.indentedCode,\n trailingSpace: s.trailingSpace,\n trailingSpaceNewLine: s.trailingSpaceNewLine,\n md_inside: s.md_inside,\n fencedEndRE: s.fencedEndRE\n };\n },\n\n token: function(stream, state) {\n\n // Reset state.formatting\n state.formatting = false;\n\n if (stream != state.thisLine.stream) {\n state.header = 0;\n state.hr = false;\n\n if (stream.match(/^\\s*$/, true)) {\n blankLine(state);\n return null;\n }\n\n state.prevLine = state.thisLine\n state.thisLine = {stream: stream}\n\n // Reset state.taskList\n state.taskList = false;\n\n // Reset state.trailingSpace\n state.trailingSpace = 0;\n state.trailingSpaceNewLine = false;\n\n if (!state.localState) {\n state.f = state.block;\n if (state.f != htmlBlock) {\n var indentation = stream.match(/^\\s*/, true)[0].replace(/\\t/g, expandedTab).length;\n state.indentation = indentation;\n state.indentationDiff = null;\n if (indentation > 0) return null;\n }\n }\n }\n return state.f(stream, state);\n },\n\n innerMode: function(state) {\n if (state.block == htmlBlock) return {state: state.htmlState, mode: htmlMode};\n if (state.localState) return {state: state.localState, mode: state.localMode};\n return {state: state, mode: mode};\n },\n\n indent: function(state, textAfter, line) {\n if (state.block == htmlBlock && htmlMode.indent) return htmlMode.indent(state.htmlState, textAfter, line)\n if (state.localState && state.localMode.indent) return state.localMode.indent(state.localState, textAfter, line)\n return CodeMirror.Pass\n },\n\n blankLine: blankLine,\n\n getType: getType,\n\n blockCommentStart: \"\",\n closeBrackets: \"()[]{}''\\\"\\\"``\",\n fold: \"markdown\"\n };\n return mode;\n}, \"xml\");\n\nCodeMirror.defineMIME(\"text/markdown\", \"markdown\");\n\nCodeMirror.defineMIME(\"text/x-markdown\", \"markdown\");\n\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9tb2RlL21hcmtkb3duL21hcmtkb3duLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvZGVtaXJyb3IvbW9kZS9tYXJrZG93bi9tYXJrZG93bi5qcz85NTliIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIENvZGVNaXJyb3IsIGNvcHlyaWdodCAoYykgYnkgTWFyaWpuIEhhdmVyYmVrZSBhbmQgb3RoZXJzXG4vLyBEaXN0cmlidXRlZCB1bmRlciBhbiBNSVQgbGljZW5zZTogaHR0cHM6Ly9jb2RlbWlycm9yLm5ldC9MSUNFTlNFXG5cbihmdW5jdGlvbihtb2QpIHtcbiAgaWYgKHR5cGVvZiBleHBvcnRzID09IFwib2JqZWN0XCIgJiYgdHlwZW9mIG1vZHVsZSA9PSBcIm9iamVjdFwiKSAvLyBDb21tb25KU1xuICAgIG1vZChyZXF1aXJlKFwiLi4vLi4vbGliL2NvZGVtaXJyb3JcIiksIHJlcXVpcmUoXCIuLi94bWwveG1sXCIpLCByZXF1aXJlKFwiLi4vbWV0YVwiKSk7XG4gIGVsc2UgaWYgKHR5cGVvZiBkZWZpbmUgPT0gXCJmdW5jdGlvblwiICYmIGRlZmluZS5hbWQpIC8vIEFNRFxuICAgIGRlZmluZShbXCIuLi8uLi9saWIvY29kZW1pcnJvclwiLCBcIi4uL3htbC94bWxcIiwgXCIuLi9tZXRhXCJdLCBtb2QpO1xuICBlbHNlIC8vIFBsYWluIGJyb3dzZXIgZW52XG4gICAgbW9kKENvZGVNaXJyb3IpO1xufSkoZnVuY3Rpb24oQ29kZU1pcnJvcikge1xuXCJ1c2Ugc3RyaWN0XCI7XG5cbkNvZGVNaXJyb3IuZGVmaW5lTW9kZShcIm1hcmtkb3duXCIsIGZ1bmN0aW9uKGNtQ2ZnLCBtb2RlQ2ZnKSB7XG5cbiAgdmFyIGh0bWxNb2RlID0gQ29kZU1pcnJvci5nZXRNb2RlKGNtQ2ZnLCBcInRleHQvaHRtbFwiKTtcbiAgdmFyIGh0bWxNb2RlTWlzc2luZyA9IGh0bWxNb2RlLm5hbWUgPT0gXCJudWxsXCJcblxuICBmdW5jdGlvbiBnZXRNb2RlKG5hbWUpIHtcbiAgICBpZiAoQ29kZU1pcnJvci5maW5kTW9kZUJ5TmFtZSkge1xuICAgICAgdmFyIGZvdW5kID0gQ29kZU1pcnJvci5maW5kTW9kZUJ5TmFtZShuYW1lKTtcbiAgICAgIGlmIChmb3VuZCkgbmFtZSA9IGZvdW5kLm1pbWUgfHwgZm91bmQubWltZXNbMF07XG4gICAgfVxuICAgIHZhciBtb2RlID0gQ29kZU1pcnJvci5nZXRNb2RlKGNtQ2ZnLCBuYW1lKTtcbiAgICByZXR1cm4gbW9kZS5uYW1lID09IFwibnVsbFwiID8gbnVsbCA6IG1vZGU7XG4gIH1cblxuICAvLyBTaG91bGQgY2hhcmFjdGVycyB0aGF0IGFmZmVjdCBoaWdobGlnaHRpbmcgYmUgaGlnaGxpZ2h0ZWQgc2VwYXJhdGU/XG4gIC8vIERvZXMgbm90IGluY2x1ZGUgY2hhcmFjdGVycyB0aGF0IHdpbGwgYmUgb3V0cHV0IChzdWNoIGFzIGAxLmAgYW5kIGAtYCBmb3IgbGlzdHMpXG4gIGlmIChtb2RlQ2ZnLmhpZ2hsaWdodEZvcm1hdHRpbmcgPT09IHVuZGVmaW5lZClcbiAgICBtb2RlQ2ZnLmhpZ2hsaWdodEZvcm1hdHRpbmcgPSBmYWxzZTtcblxuICAvLyBNYXhpbXVtIG51bWJlciBvZiBuZXN0ZWQgYmxvY2txdW90ZXMuIFNldCB0byAwIGZvciBpbmZpbml0ZSBuZXN0aW5nLlxuICAvLyBFeGNlc3MgYD5gIHdpbGwgZW1pdCBgZXJyb3JgIHRva2VuLlxuICBpZiAobW9kZUNmZy5tYXhCbG9ja3F1b3RlRGVwdGggPT09IHVuZGVmaW5lZClcbiAgICBtb2RlQ2ZnLm1heEJsb2NrcXVvdGVEZXB0aCA9IDA7XG5cbiAgLy8gVHVybiBvbiB0YXNrIGxpc3RzPyAoXCItIFsgXSBcIiBhbmQgXCItIFt4XSBcIilcbiAgaWYgKG1vZGVDZmcudGFza0xpc3RzID09PSB1bmRlZmluZWQpIG1vZGVDZmcudGFza0xpc3RzID0gZmFsc2U7XG5cbiAgLy8gVHVybiBvbiBzdHJpa2V0aHJvdWdoIHN5bnRheFxuICBpZiAobW9kZUNmZy5zdHJpa2V0aHJvdWdoID09PSB1bmRlZmluZWQpXG4gICAgbW9kZUNmZy5zdHJpa2V0aHJvdWdoID0gZmFsc2U7XG5cbiAgaWYgKG1vZGVDZmcuZW1vamkgPT09IHVuZGVmaW5lZClcbiAgICBtb2RlQ2ZnLmVtb2ppID0gZmFsc2U7XG5cbiAgaWYgKG1vZGVDZmcuZmVuY2VkQ29kZUJsb2NrSGlnaGxpZ2h0aW5nID09PSB1bmRlZmluZWQpXG4gICAgbW9kZUNmZy5mZW5jZWRDb2RlQmxvY2tIaWdobGlnaHRpbmcgPSB0cnVlO1xuXG4gIGlmIChtb2RlQ2ZnLnhtbCA9PT0gdW5kZWZpbmVkKVxuICAgIG1vZGVDZmcueG1sID0gdHJ1ZTtcblxuICAvLyBBbGxvdyB0b2tlbiB0eXBlcyB0byBiZSBvdmVycmlkZGVuIGJ5IHVzZXItcHJvdmlkZWQgdG9rZW4gdHlwZXMuXG4gIGlmIChtb2RlQ2ZnLnRva2VuVHlwZU92ZXJyaWRlcyA9PT0gdW5kZWZpbmVkKVxuICAgIG1vZGVDZmcudG9rZW5UeXBlT3ZlcnJpZGVzID0ge307XG5cbiAgdmFyIHRva2VuVHlwZXMgPSB7XG4gICAgaGVhZGVyOiBcImhlYWRlclwiLFxuICAgIGNvZGU6IFwiY29tbWVudFwiLFxuICAgIHF1b3RlOiBcInF1b3RlXCIsXG4gICAgbGlzdDE6IFwidmFyaWFibGUtMlwiLFxuICAgIGxpc3QyOiBcInZhcmlhYmxlLTNcIixcbiAgICBsaXN0MzogXCJrZXl3b3JkXCIsXG4gICAgaHI6IFwiaHJcIixcbiAgICBpbWFnZTogXCJpbWFnZVwiLFxuICAgIGltYWdlQWx0VGV4dDogXCJpbWFnZS1hbHQtdGV4dFwiLFxuICAgIGltYWdlTWFya2VyOiBcImltYWdlLW1hcmtlclwiLFxuICAgIGZvcm1hdHRpbmc6IFwiZm9ybWF0dGluZ1wiLFxuICAgIGxpbmtJbmxpbmU6IFwibGlua1wiLFxuICAgIGxpbmtFbWFpbDogXCJsaW5rXCIsXG4gICAgbGlua1RleHQ6IFwibGlua1wiLFxuICAgIGxpbmtIcmVmOiBcInN0cmluZ1wiLFxuICAgIGVtOiBcImVtXCIsXG4gICAgc3Ryb25nOiBcInN0cm9uZ1wiLFxuICAgIHN0cmlrZXRocm91Z2g6IFwic3RyaWtldGhyb3VnaFwiLFxuICAgIGVtb2ppOiBcImJ1aWx0aW5cIlxuICB9O1xuXG4gIGZvciAodmFyIHRva2VuVHlwZSBpbiB0b2tlblR5cGVzKSB7XG4gICAgaWYgKHRva2VuVHlwZXMuaGFzT3duUHJvcGVydHkodG9rZW5UeXBlKSAmJiBtb2RlQ2ZnLnRva2VuVHlwZU92ZXJyaWRlc1t0b2tlblR5cGVdKSB7XG4gICAgICB0b2tlblR5cGVzW3Rva2VuVHlwZV0gPSBtb2RlQ2ZnLnRva2VuVHlwZU92ZXJyaWRlc1t0b2tlblR5cGVdO1xuICAgIH1cbiAgfVxuXG4gIHZhciBoclJFID0gL14oWypcXC1fXSkoPzpcXHMqXFwxKXsyLH1cXHMqJC9cbiAgLCAgIGxpc3RSRSA9IC9eKD86WypcXC0rXXxeWzAtOV0rKFsuKV0pKVxccysvXG4gICwgICB0YXNrTGlzdFJFID0gL15cXFsoeHwgKVxcXSg/PVxccykvaSAvLyBNdXN0IGZvbGxvdyBsaXN0UkVcbiAgLCAgIGF0eEhlYWRlclJFID0gbW9kZUNmZy5hbGxvd0F0eEhlYWRlcldpdGhvdXRTcGFjZSA/IC9eKCMrKS8gOiAvXigjKykoPzogfCQpL1xuICAsICAgc2V0ZXh0SGVhZGVyUkUgPSAvXiAqKD86XFw9ezEsfXwtezEsfSlcXHMqJC9cbiAgLCAgIHRleHRSRSA9IC9eW14jIVxcW1xcXSpfXFxcXDw+YCBcIicofjpdKy9cbiAgLCAgIGZlbmNlZENvZGVSRSA9IC9eKH5+fit8YGBgKylbIFxcdF0qKFtcXHcrIy1dKilbXlxcbmBdKiQvXG4gICwgICBsaW5rRGVmUkUgPSAvXlxccypcXFtbXlxcXV0rP1xcXTouKiQvIC8vIG5haXZlIGxpbmstZGVmaW5pdGlvblxuICAsICAgcHVuY3R1YXRpb24gPSAvWyFcIiMkJSYnKCkqKyxcXC0uXFwvOjs8PT4/QFxcW1xcXFxcXF1eX2B7fH1+XFx4QTFcXHhBN1xceEFCXFx4QjZcXHhCN1xceEJCXFx4QkZcXHUwMzdFXFx1MDM4N1xcdTA1NUEtXFx1MDU1RlxcdTA1ODlcXHUwNThBXFx1MDVCRVxcdTA1QzBcXHUwNUMzXFx1MDVDNlxcdTA1RjNcXHUwNUY0XFx1MDYwOVxcdTA2MEFcXHUwNjBDXFx1MDYwRFxcdTA2MUJcXHUwNjFFXFx1MDYxRlxcdTA2NkEtXFx1MDY2RFxcdTA2RDRcXHUwNzAwLVxcdTA3MERcXHUwN0Y3LVxcdTA3RjlcXHUwODMwLVxcdTA4M0VcXHUwODVFXFx1MDk2NFxcdTA5NjVcXHUwOTcwXFx1MEFGMFxcdTBERjRcXHUwRTRGXFx1MEU1QVxcdTBFNUJcXHUwRjA0LVxcdTBGMTJcXHUwRjE0XFx1MEYzQS1cXHUwRjNEXFx1MEY4NVxcdTBGRDAtXFx1MEZENFxcdTBGRDlcXHUwRkRBXFx1MTA0QS1cXHUxMDRGXFx1MTBGQlxcdTEzNjAtXFx1MTM2OFxcdTE0MDBcXHUxNjZEXFx1MTY2RVxcdTE2OUJcXHUxNjlDXFx1MTZFQi1cXHUxNkVEXFx1MTczNVxcdTE3MzZcXHUxN0Q0LVxcdTE3RDZcXHUxN0Q4LVxcdTE3REFcXHUxODAwLVxcdTE4MEFcXHUxOTQ0XFx1MTk0NVxcdTFBMUVcXHUxQTFGXFx1MUFBMC1cXHUxQUE2XFx1MUFBOC1cXHUxQUFEXFx1MUI1QS1cXHUxQjYwXFx1MUJGQy1cXHUxQkZGXFx1MUMzQi1cXHUxQzNGXFx1MUM3RVxcdTFDN0ZcXHUxQ0MwLVxcdTFDQzdcXHUxQ0QzXFx1MjAxMC1cXHUyMDI3XFx1MjAzMC1cXHUyMDQzXFx1MjA0NS1cXHUyMDUxXFx1MjA1My1cXHUyMDVFXFx1MjA3RFxcdTIwN0VcXHUyMDhEXFx1MjA4RVxcdTIzMDgtXFx1MjMwQlxcdTIzMjlcXHUyMzJBXFx1Mjc2OC1cXHUyNzc1XFx1MjdDNVxcdTI3QzZcXHUyN0U2LVxcdTI3RUZcXHUyOTgzLVxcdTI5OThcXHUyOUQ4LVxcdTI5REJcXHUyOUZDXFx1MjlGRFxcdTJDRjktXFx1MkNGQ1xcdTJDRkVcXHUyQ0ZGXFx1MkQ3MFxcdTJFMDAtXFx1MkUyRVxcdTJFMzAtXFx1MkU0MlxcdTMwMDEtXFx1MzAwM1xcdTMwMDgtXFx1MzAxMVxcdTMwMTQtXFx1MzAxRlxcdTMwMzBcXHUzMDNEXFx1MzBBMFxcdTMwRkJcXHVBNEZFXFx1QTRGRlxcdUE2MEQtXFx1QTYwRlxcdUE2NzNcXHVBNjdFXFx1QTZGMi1cXHVBNkY3XFx1QTg3NC1cXHVBODc3XFx1QThDRVxcdUE4Q0ZcXHVBOEY4LVxcdUE4RkFcXHVBOEZDXFx1QTkyRVxcdUE5MkZcXHVBOTVGXFx1QTlDMS1cXHVBOUNEXFx1QTlERVxcdUE5REZcXHVBQTVDLVxcdUFBNUZcXHVBQURFXFx1QUFERlxcdUFBRjBcXHVBQUYxXFx1QUJFQlxcdUZEM0VcXHVGRDNGXFx1RkUxMC1cXHVGRTE5XFx1RkUzMC1cXHVGRTUyXFx1RkU1NC1cXHVGRTYxXFx1RkU2M1xcdUZFNjhcXHVGRTZBXFx1RkU2QlxcdUZGMDEtXFx1RkYwM1xcdUZGMDUtXFx1RkYwQVxcdUZGMEMtXFx1RkYwRlxcdUZGMUFcXHVGRjFCXFx1RkYxRlxcdUZGMjBcXHVGRjNCLVxcdUZGM0RcXHVGRjNGXFx1RkY1QlxcdUZGNURcXHVGRjVGLVxcdUZGNjVdfFxcdUQ4MDBbXFx1REQwMC1cXHVERDAyXFx1REY5RlxcdURGRDBdfFxcdUQ4MDFcXHVERDZGfFxcdUQ4MDJbXFx1REM1N1xcdUREMUZcXHVERDNGXFx1REU1MC1cXHVERTU4XFx1REU3RlxcdURFRjAtXFx1REVGNlxcdURGMzktXFx1REYzRlxcdURGOTktXFx1REY5Q118XFx1RDgwNFtcXHVEQzQ3LVxcdURDNERcXHVEQ0JCXFx1RENCQ1xcdURDQkUtXFx1RENDMVxcdURENDAtXFx1REQ0M1xcdURENzRcXHVERDc1XFx1RERDNS1cXHVEREM5XFx1RERDRFxcdUREREJcXHVERERELVxcdUREREZcXHVERTM4LVxcdURFM0RcXHVERUE5XXxcXHVEODA1W1xcdURDQzZcXHVEREMxLVxcdURERDdcXHVERTQxLVxcdURFNDNcXHVERjNDLVxcdURGM0VdfFxcdUQ4MDlbXFx1REM3MC1cXHVEQzc0XXxcXHVEODFBW1xcdURFNkVcXHVERTZGXFx1REVGNVxcdURGMzctXFx1REYzQlxcdURGNDRdfFxcdUQ4MkZcXHVEQzlGfFxcdUQ4MzZbXFx1REU4Ny1cXHVERThCXS9cbiAgLCAgIGV4cGFuZGVkVGFiID0gXCIgICAgXCIgLy8gQ29tbW9uTWFyayBzcGVjaWZpZXMgdGFiIGFzIDQgc3BhY2VzXG5cbiAgZnVuY3Rpb24gc3dpdGNoSW5saW5lKHN0cmVhbSwgc3RhdGUsIGYpIHtcbiAgICBzdGF0ZS5mID0gc3RhdGUuaW5saW5lID0gZjtcbiAgICByZXR1cm4gZihzdHJlYW0sIHN0YXRlKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIHN3aXRjaEJsb2NrKHN0cmVhbSwgc3RhdGUsIGYpIHtcbiAgICBzdGF0ZS5mID0gc3RhdGUuYmxvY2sgPSBmO1xuICAgIHJldHVybiBmKHN0cmVhbSwgc3RhdGUpO1xuICB9XG5cbiAgZnVuY3Rpb24gbGluZUlzRW1wdHkobGluZSkge1xuICAgIHJldHVybiAhbGluZSB8fCAhL1xcUy8udGVzdChsaW5lLnN0cmluZylcbiAgfVxuXG4gIC8vIEJsb2Nrc1xuXG4gIGZ1bmN0aW9uIGJsYW5rTGluZShzdGF0ZSkge1xuICAgIC8vIFJlc2V0IGxpbmtUaXRsZSBzdGF0ZVxuICAgIHN0YXRlLmxpbmtUaXRsZSA9IGZhbHNlO1xuICAgIHN0YXRlLmxpbmtIcmVmID0gZmFsc2U7XG4gICAgc3RhdGUubGlua1RleHQgPSBmYWxzZTtcbiAgICAvLyBSZXNldCBFTSBzdGF0ZVxuICAgIHN0YXRlLmVtID0gZmFsc2U7XG4gICAgLy8gUmVzZXQgU1RST05HIHN0YXRlXG4gICAgc3RhdGUuc3Ryb25nID0gZmFsc2U7XG4gICAgLy8gUmVzZXQgc3RyaWtldGhyb3VnaCBzdGF0ZVxuICAgIHN0YXRlLnN0cmlrZXRocm91Z2ggPSBmYWxzZTtcbiAgICAvLyBSZXNldCBzdGF0ZS5xdW90ZVxuICAgIHN0YXRlLnF1b3RlID0gMDtcbiAgICAvLyBSZXNldCBzdGF0ZS5pbmRlbnRlZENvZGVcbiAgICBzdGF0ZS5pbmRlbnRlZENvZGUgPSBmYWxzZTtcbiAgICBpZiAoc3RhdGUuZiA9PSBodG1sQmxvY2spIHtcbiAgICAgIHZhciBleGl0ID0gaHRtbE1vZGVNaXNzaW5nXG4gICAgICBpZiAoIWV4aXQpIHtcbiAgICAgICAgdmFyIGlubmVyID0gQ29kZU1pcnJvci5pbm5lck1vZGUoaHRtbE1vZGUsIHN0YXRlLmh0bWxTdGF0ZSlcbiAgICAgICAgZXhpdCA9IGlubmVyLm1vZGUubmFtZSA9PSBcInhtbFwiICYmIGlubmVyLnN0YXRlLnRhZ1N0YXJ0ID09PSBudWxsICYmXG4gICAgICAgICAgKCFpbm5lci5zdGF0ZS5jb250ZXh0ICYmIGlubmVyLnN0YXRlLnRva2VuaXplLmlzSW5UZXh0KVxuICAgICAgfVxuICAgICAgaWYgKGV4aXQpIHtcbiAgICAgICAgc3RhdGUuZiA9IGlubGluZU5vcm1hbDtcbiAgICAgICAgc3RhdGUuYmxvY2sgPSBibG9ja05vcm1hbDtcbiAgICAgICAgc3RhdGUuaHRtbFN0YXRlID0gbnVsbDtcbiAgICAgIH1cbiAgICB9XG4gICAgLy8gUmVzZXQgc3RhdGUudHJhaWxpbmdTcGFjZVxuICAgIHN0YXRlLnRyYWlsaW5nU3BhY2UgPSAwO1xuICAgIHN0YXRlLnRyYWlsaW5nU3BhY2VOZXdMaW5lID0gZmFsc2U7XG4gICAgLy8gTWFyayB0aGlzIGxpbmUgYXMgYmxhbmtcbiAgICBzdGF0ZS5wcmV2TGluZSA9IHN0YXRlLnRoaXNMaW5lXG4gICAgc3RhdGUudGhpc0xpbmUgPSB7c3RyZWFtOiBudWxsfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgZnVuY3Rpb24gYmxvY2tOb3JtYWwoc3RyZWFtLCBzdGF0ZSkge1xuICAgIHZhciBmaXJzdFRva2VuT25MaW5lID0gc3RyZWFtLmNvbHVtbigpID09PSBzdGF0ZS5pbmRlbnRhdGlvbjtcbiAgICB2YXIgcHJldkxpbmVMaW5lSXNFbXB0eSA9IGxpbmVJc0VtcHR5KHN0YXRlLnByZXZMaW5lLnN0cmVhbSk7XG4gICAgdmFyIHByZXZMaW5lSXNJbmRlbnRlZENvZGUgPSBzdGF0ZS5pbmRlbnRlZENvZGU7XG4gICAgdmFyIHByZXZMaW5lSXNIciA9IHN0YXRlLnByZXZMaW5lLmhyO1xuICAgIHZhciBwcmV2TGluZUlzTGlzdCA9IHN0YXRlLmxpc3QgIT09IGZhbHNlO1xuICAgIHZhciBtYXhOb25Db2RlSW5kZW50YXRpb24gPSAoc3RhdGUubGlzdFN0YWNrW3N0YXRlLmxpc3RTdGFjay5sZW5ndGggLSAxXSB8fCAwKSArIDM7XG5cbiAgICBzdGF0ZS5pbmRlbnRlZENvZGUgPSBmYWxzZTtcblxuICAgIHZhciBsaW5lSW5kZW50YXRpb24gPSBzdGF0ZS5pbmRlbnRhdGlvbjtcbiAgICAvLyBjb21wdXRlIG9uY2UgcGVyIGxpbmUgKG9uIGZpcnN0IHRva2VuKVxuICAgIGlmIChzdGF0ZS5pbmRlbnRhdGlvbkRpZmYgPT09IG51bGwpIHtcbiAgICAgIHN0YXRlLmluZGVudGF0aW9uRGlmZiA9IHN0YXRlLmluZGVudGF0aW9uO1xuICAgICAgaWYgKHByZXZMaW5lSXNMaXN0KSB7XG4gICAgICAgIC8vIFJlc2V0IGlubGluZSBzdHlsZXMgd2hpY2ggc2hvdWxkbid0IHByb3BhZ2F0ZSBhcm9zcyBsaXN0IGl0ZW1zXG4gICAgICAgIHN0YXRlLmVtID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnN0cm9uZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5jb2RlID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnN0cmlrZXRocm91Z2ggPSBmYWxzZTtcblxuICAgICAgICBzdGF0ZS5saXN0ID0gbnVsbDtcbiAgICAgICAgLy8gV2hpbGUgdGhpcyBsaXN0IGl0ZW0ncyBtYXJrZXIncyBpbmRlbnRhdGlvbiBpcyBsZXNzIHRoYW4gdGhlIGRlZXBlc3RcbiAgICAgICAgLy8gIGxpc3QgaXRlbSdzIGNvbnRlbnQncyBpbmRlbnRhdGlvbixwb3AgdGhlIGRlZXBlc3QgbGlzdCBpdGVtXG4gICAgICAgIC8vICBpbmRlbnRhdGlvbiBvZmYgdGhlIHN0YWNrLCBhbmQgdXBkYXRlIGJsb2NrIGluZGVudGF0aW9uIHN0YXRlXG4gICAgICAgIHdoaWxlIChsaW5lSW5kZW50YXRpb24gPCBzdGF0ZS5saXN0U3RhY2tbc3RhdGUubGlzdFN0YWNrLmxlbmd0aCAtIDFdKSB7XG4gICAgICAgICAgc3RhdGUubGlzdFN0YWNrLnBvcCgpO1xuICAgICAgICAgIGlmIChzdGF0ZS5saXN0U3RhY2subGVuZ3RoKSB7XG4gICAgICAgICAgICBzdGF0ZS5pbmRlbnRhdGlvbiA9IHN0YXRlLmxpc3RTdGFja1tzdGF0ZS5saXN0U3RhY2subGVuZ3RoIC0gMV07XG4gICAgICAgICAgLy8gbGVzcyB0aGFuIHRoZSBmaXJzdCBsaXN0J3MgaW5kZW50IC0+IHRoZSBsaW5lIGlzIG5vIGxvbmdlciBhIGxpc3RcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc3RhdGUubGlzdCA9IGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoc3RhdGUubGlzdCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICBzdGF0ZS5pbmRlbnRhdGlvbkRpZmYgPSBsaW5lSW5kZW50YXRpb24gLSBzdGF0ZS5saXN0U3RhY2tbc3RhdGUubGlzdFN0YWNrLmxlbmd0aCAtIDFdXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBub3QgY29tcHJlaGVuc2l2ZSAoY3VycmVudGx5IG9ubHkgZm9yIHNldGV4dCBkZXRlY3Rpb24gcHVycG9zZXMpXG4gICAgdmFyIGFsbG93c0lubGluZUNvbnRpbnVhdGlvbiA9IChcbiAgICAgICAgIXByZXZMaW5lTGluZUlzRW1wdHkgJiYgIXByZXZMaW5lSXNIciAmJiAhc3RhdGUucHJldkxpbmUuaGVhZGVyICYmXG4gICAgICAgICghcHJldkxpbmVJc0xpc3QgfHwgIXByZXZMaW5lSXNJbmRlbnRlZENvZGUpICYmXG4gICAgICAgICFzdGF0ZS5wcmV2TGluZS5mZW5jZWRDb2RlRW5kXG4gICAgKTtcblxuICAgIHZhciBpc0hyID0gKHN0YXRlLmxpc3QgPT09IGZhbHNlIHx8IHByZXZMaW5lSXNIciB8fCBwcmV2TGluZUxpbmVJc0VtcHR5KSAmJlxuICAgICAgc3RhdGUuaW5kZW50YXRpb24gPD0gbWF4Tm9uQ29kZUluZGVudGF0aW9uICYmIHN0cmVhbS5tYXRjaChoclJFKTtcblxuICAgIHZhciBtYXRjaCA9IG51bGw7XG4gICAgaWYgKHN0YXRlLmluZGVudGF0aW9uRGlmZiA+PSA0ICYmIChwcmV2TGluZUlzSW5kZW50ZWRDb2RlIHx8IHN0YXRlLnByZXZMaW5lLmZlbmNlZENvZGVFbmQgfHxcbiAgICAgICAgIHN0YXRlLnByZXZMaW5lLmhlYWRlciB8fCBwcmV2TGluZUxpbmVJc0VtcHR5KSkge1xuICAgICAgc3RyZWFtLnNraXBUb0VuZCgpO1xuICAgICAgc3RhdGUuaW5kZW50ZWRDb2RlID0gdHJ1ZTtcbiAgICAgIHJldHVybiB0b2tlblR5cGVzLmNvZGU7XG4gICAgfSBlbHNlIGlmIChzdHJlYW0uZWF0U3BhY2UoKSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfSBlbHNlIGlmIChmaXJzdFRva2VuT25MaW5lICYmIHN0YXRlLmluZGVudGF0aW9uIDw9IG1heE5vbkNvZGVJbmRlbnRhdGlvbiAmJiAobWF0Y2ggPSBzdHJlYW0ubWF0Y2goYXR4SGVhZGVyUkUpKSAmJiBtYXRjaFsxXS5sZW5ndGggPD0gNikge1xuICAgICAgc3RhdGUucXVvdGUgPSAwO1xuICAgICAgc3RhdGUuaGVhZGVyID0gbWF0Y2hbMV0ubGVuZ3RoO1xuICAgICAgc3RhdGUudGhpc0xpbmUuaGVhZGVyID0gdHJ1ZTtcbiAgICAgIGlmIChtb2RlQ2ZnLmhpZ2hsaWdodEZvcm1hdHRpbmcpIHN0YXRlLmZvcm1hdHRpbmcgPSBcImhlYWRlclwiO1xuICAgICAgc3RhdGUuZiA9IHN0YXRlLmlubGluZTtcbiAgICAgIHJldHVybiBnZXRUeXBlKHN0YXRlKTtcbiAgICB9IGVsc2UgaWYgKHN0YXRlLmluZGVudGF0aW9uIDw9IG1heE5vbkNvZGVJbmRlbnRhdGlvbiAmJiBzdHJlYW0uZWF0KCc+JykpIHtcbiAgICAgIHN0YXRlLnF1b3RlID0gZmlyc3RUb2tlbk9uTGluZSA/IDEgOiBzdGF0ZS5xdW90ZSArIDE7XG4gICAgICBpZiAobW9kZUNmZy5oaWdobGlnaHRGb3JtYXR0aW5nKSBzdGF0ZS5mb3JtYXR0aW5nID0gXCJxdW90ZVwiO1xuICAgICAgc3RyZWFtLmVhdFNwYWNlKCk7XG4gICAgICByZXR1cm4gZ2V0VHlwZShzdGF0ZSk7XG4gICAgfSBlbHNlIGlmICghaXNIciAmJiAhc3RhdGUuc2V0ZXh0ICYmIGZpcnN0VG9rZW5PbkxpbmUgJiYgc3RhdGUuaW5kZW50YXRpb24gPD0gbWF4Tm9uQ29kZUluZGVudGF0aW9uICYmIChtYXRjaCA9IHN0cmVhbS5tYXRjaChsaXN0UkUpKSkge1xuICAgICAgdmFyIGxpc3RUeXBlID0gbWF0Y2hbMV0gPyBcIm9sXCIgOiBcInVsXCI7XG5cbiAgICAgIHN0YXRlLmluZGVudGF0aW9uID0gbGluZUluZGVudGF0aW9uICsgc3RyZWFtLmN1cnJlbnQoKS5sZW5ndGg7XG4gICAgICBzdGF0ZS5saXN0ID0gdHJ1ZTtcbiAgICAgIHN0YXRlLnF1b3RlID0gMDtcblxuICAgICAgLy8gQWRkIHRoaXMgbGlzdCBpdGVtJ3MgY29udGVudCdzIGluZGVudGF0aW9uIHRvIHRoZSBzdGFja1xuICAgICAgc3RhdGUubGlzdFN0YWNrLnB1c2goc3RhdGUuaW5kZW50YXRpb24pO1xuXG4gICAgICBpZiAobW9kZUNmZy50YXNrTGlzdHMgJiYgc3RyZWFtLm1hdGNoKHRhc2tMaXN0UkUsIGZhbHNlKSkge1xuICAgICAgICBzdGF0ZS50YXNrTGlzdCA9IHRydWU7XG4gICAgICB9XG4gICAgICBzdGF0ZS5mID0gc3RhdGUuaW5saW5lO1xuICAgICAgaWYgKG1vZGVDZmcuaGlnaGxpZ2h0Rm9ybWF0dGluZykgc3RhdGUuZm9ybWF0dGluZyA9IFtcImxpc3RcIiwgXCJsaXN0LVwiICsgbGlzdFR5cGVdO1xuICAgICAgcmV0dXJuIGdldFR5cGUoc3RhdGUpO1xuICAgIH0gZWxzZSBpZiAoZmlyc3RUb2tlbk9uTGluZSAmJiBzdGF0ZS5pbmRlbnRhdGlvbiA8PSBtYXhOb25Db2RlSW5kZW50YXRpb24gJiYgKG1hdGNoID0gc3RyZWFtLm1hdGNoKGZlbmNlZENvZGVSRSwgdHJ1ZSkpKSB7XG4gICAgICBzdGF0ZS5xdW90ZSA9IDA7XG4gICAgICBzdGF0ZS5mZW5jZWRFbmRSRSA9IG5ldyBSZWdFeHAobWF0Y2hbMV0gKyBcIisgKiRcIik7XG4gICAgICAvLyB0cnkgc3dpdGNoaW5nIG1vZGVcbiAgICAgIHN0YXRlLmxvY2FsTW9kZSA9IG1vZGVDZmcuZmVuY2VkQ29kZUJsb2NrSGlnaGxpZ2h0aW5nICYmIGdldE1vZGUobWF0Y2hbMl0pO1xuICAgICAgaWYgKHN0YXRlLmxvY2FsTW9kZSkgc3RhdGUubG9jYWxTdGF0ZSA9IENvZGVNaXJyb3Iuc3RhcnRTdGF0ZShzdGF0ZS5sb2NhbE1vZGUpO1xuICAgICAgc3RhdGUuZiA9IHN0YXRlLmJsb2NrID0gbG9jYWw7XG4gICAgICBpZiAobW9kZUNmZy5oaWdobGlnaHRGb3JtYXR0aW5nKSBzdGF0ZS5mb3JtYXR0aW5nID0gXCJjb2RlLWJsb2NrXCI7XG4gICAgICBzdGF0ZS5jb2RlID0gLTFcbiAgICAgIHJldHVybiBnZXRUeXBlKHN0YXRlKTtcbiAgICAvLyBTRVRFWFQgaGFzIGxvd2VzdCBibG9jay1zY29wZSBwcmVjZWRlbmNlIGFmdGVyIEhSLCBzbyBjaGVjayBpdCBhZnRlclxuICAgIC8vICB0aGUgb3RoZXJzIChjb2RlLCBibG9ja3F1b3RlLCBsaXN0Li4uKVxuICAgIH0gZWxzZSBpZiAoXG4gICAgICAvLyBpZiBzZXRleHQgc2V0LCBpbmRpY2F0ZXMgbGluZSBhZnRlciAtLS0vPT09XG4gICAgICBzdGF0ZS5zZXRleHQgfHwgKFxuICAgICAgICAvLyBsaW5lIGJlZm9yZSAtLS0vPT09XG4gICAgICAgICghYWxsb3dzSW5saW5lQ29udGludWF0aW9uIHx8ICFwcmV2TGluZUlzTGlzdCkgJiYgIXN0YXRlLnF1b3RlICYmIHN0YXRlLmxpc3QgPT09IGZhbHNlICYmXG4gICAgICAgICFzdGF0ZS5jb2RlICYmICFpc0hyICYmICFsaW5rRGVmUkUudGVzdChzdHJlYW0uc3RyaW5nKSAmJlxuICAgICAgICAobWF0Y2ggPSBzdHJlYW0ubG9va0FoZWFkKDEpKSAmJiAobWF0Y2ggPSBtYXRjaC5tYXRjaChzZXRleHRIZWFkZXJSRSkpXG4gICAgICApXG4gICAgKSB7XG4gICAgICBpZiAoICFzdGF0ZS5zZXRleHQgKSB7XG4gICAgICAgIHN0YXRlLmhlYWRlciA9IG1hdGNoWzBdLmNoYXJBdCgwKSA9PSAnPScgPyAxIDogMjtcbiAgICAgICAgc3RhdGUuc2V0ZXh0ID0gc3RhdGUuaGVhZGVyO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc3RhdGUuaGVhZGVyID0gc3RhdGUuc2V0ZXh0O1xuICAgICAgICAvLyBoYXMgbm8gZWZmZWN0IG9uIHR5cGUgc28gd2UgY2FuIHJlc2V0IGl0IG5vd1xuICAgICAgICBzdGF0ZS5zZXRleHQgPSAwO1xuICAgICAgICBzdHJlYW0uc2tpcFRvRW5kKCk7XG4gICAgICAgIGlmIChtb2RlQ2ZnLmhpZ2hsaWdodEZvcm1hdHRpbmcpIHN0YXRlLmZvcm1hdHRpbmcgPSBcImhlYWRlclwiO1xuICAgICAgfVxuICAgICAgc3RhdGUudGhpc0xpbmUuaGVhZGVyID0gdHJ1ZTtcbiAgICAgIHN0YXRlLmYgPSBzdGF0ZS5pbmxpbmU7XG4gICAgICByZXR1cm4gZ2V0VHlwZShzdGF0ZSk7XG4gICAgfSBlbHNlIGlmIChpc0hyKSB7XG4gICAgICBzdHJlYW0uc2tpcFRvRW5kKCk7XG4gICAgICBzdGF0ZS5ociA9IHRydWU7XG4gICAgICBzdGF0ZS50aGlzTGluZS5ociA9IHRydWU7XG4gICAgICByZXR1cm4gdG9rZW5UeXBlcy5ocjtcbiAgICB9IGVsc2UgaWYgKHN0cmVhbS5wZWVrKCkgPT09ICdbJykge1xuICAgICAgcmV0dXJuIHN3aXRjaElubGluZShzdHJlYW0sIHN0YXRlLCBmb290bm90ZUxpbmspO1xuICAgIH1cblxuICAgIHJldHVybiBzd2l0Y2hJbmxpbmUoc3RyZWFtLCBzdGF0ZSwgc3RhdGUuaW5saW5lKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGh0bWxCbG9jayhzdHJlYW0sIHN0YXRlKSB7XG4gICAgdmFyIHN0eWxlID0gaHRtbE1vZGUudG9rZW4oc3RyZWFtLCBzdGF0ZS5odG1sU3RhdGUpO1xuICAgIGlmICghaHRtbE1vZGVNaXNzaW5nKSB7XG4gICAgICB2YXIgaW5uZXIgPSBDb2RlTWlycm9yLmlubmVyTW9kZShodG1sTW9kZSwgc3RhdGUuaHRtbFN0YXRlKVxuICAgICAgaWYgKChpbm5lci5tb2RlLm5hbWUgPT0gXCJ4bWxcIiAmJiBpbm5lci5zdGF0ZS50YWdTdGFydCA9PT0gbnVsbCAmJlxuICAgICAgICAgICAoIWlubmVyLnN0YXRlLmNvbnRleHQgJiYgaW5uZXIuc3RhdGUudG9rZW5pemUuaXNJblRleHQpKSB8fFxuICAgICAgICAgIChzdGF0ZS5tZF9pbnNpZGUgJiYgc3RyZWFtLmN1cnJlbnQoKS5pbmRleE9mKFwiPlwiKSA+IC0xKSkge1xuICAgICAgICBzdGF0ZS5mID0gaW5saW5lTm9ybWFsO1xuICAgICAgICBzdGF0ZS5ibG9jayA9IGJsb2NrTm9ybWFsO1xuICAgICAgICBzdGF0ZS5odG1sU3RhdGUgPSBudWxsO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gc3R5bGU7XG4gIH1cblxuICBmdW5jdGlvbiBsb2NhbChzdHJlYW0sIHN0YXRlKSB7XG4gICAgdmFyIGN1cnJMaXN0SW5kID0gc3RhdGUubGlzdFN0YWNrW3N0YXRlLmxpc3RTdGFjay5sZW5ndGggLSAxXSB8fCAwO1xuICAgIHZhciBoYXNFeGl0ZWRMaXN0ID0gc3RhdGUuaW5kZW50YXRpb24gPCBjdXJyTGlzdEluZDtcbiAgICB2YXIgbWF4RmVuY2VkRW5kSW5kID0gY3Vyckxpc3RJbmQgKyAzO1xuICAgIGlmIChzdGF0ZS5mZW5jZWRFbmRSRSAmJiBzdGF0ZS5pbmRlbnRhdGlvbiA8PSBtYXhGZW5jZWRFbmRJbmQgJiYgKGhhc0V4aXRlZExpc3QgfHwgc3RyZWFtLm1hdGNoKHN0YXRlLmZlbmNlZEVuZFJFKSkpIHtcbiAgICAgIGlmIChtb2RlQ2ZnLmhpZ2hsaWdodEZvcm1hdHRpbmcpIHN0YXRlLmZvcm1hdHRpbmcgPSBcImNvZGUtYmxvY2tcIjtcbiAgICAgIHZhciByZXR1cm5UeXBlO1xuICAgICAgaWYgKCFoYXNFeGl0ZWRMaXN0KSByZXR1cm5UeXBlID0gZ2V0VHlwZShzdGF0ZSlcbiAgICAgIHN0YXRlLmxvY2FsTW9kZSA9IHN0YXRlLmxvY2FsU3RhdGUgPSBudWxsO1xuICAgICAgc3RhdGUuYmxvY2sgPSBibG9ja05vcm1hbDtcbiAgICAgIHN0YXRlLmYgPSBpbmxpbmVOb3JtYWw7XG4gICAgICBzdGF0ZS5mZW5jZWRFbmRSRSA9IG51bGw7XG4gICAgICBzdGF0ZS5jb2RlID0gMFxuICAgICAgc3RhdGUudGhpc0xpbmUuZmVuY2VkQ29kZUVuZCA9IHRydWU7XG4gICAgICBpZiAoaGFzRXhpdGVkTGlzdCkgcmV0dXJuIHN3aXRjaEJsb2NrKHN0cmVhbSwgc3RhdGUsIHN0YXRlLmJsb2NrKTtcbiAgICAgIHJldHVybiByZXR1cm5UeXBlO1xuICAgIH0gZWxzZSBpZiAoc3RhdGUubG9jYWxNb2RlKSB7XG4gICAgICByZXR1cm4gc3RhdGUubG9jYWxNb2RlLnRva2VuKHN0cmVhbSwgc3RhdGUubG9jYWxTdGF0ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHN0cmVhbS5za2lwVG9FbmQoKTtcbiAgICAgIHJldHVybiB0b2tlblR5cGVzLmNvZGU7XG4gICAgfVxuICB9XG5cbiAgLy8gSW5saW5lXG4gIGZ1bmN0aW9uIGdldFR5cGUoc3RhdGUpIHtcbiAgICB2YXIgc3R5bGVzID0gW107XG5cbiAgICBpZiAoc3RhdGUuZm9ybWF0dGluZykge1xuICAgICAgc3R5bGVzLnB1c2godG9rZW5UeXBlcy5mb3JtYXR0aW5nKTtcblxuICAgICAgaWYgKHR5cGVvZiBzdGF0ZS5mb3JtYXR0aW5nID09PSBcInN0cmluZ1wiKSBzdGF0ZS5mb3JtYXR0aW5nID0gW3N0YXRlLmZvcm1hdHRpbmddO1xuXG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHN0YXRlLmZvcm1hdHRpbmcubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgc3R5bGVzLnB1c2godG9rZW5UeXBlcy5mb3JtYXR0aW5nICsgXCItXCIgKyBzdGF0ZS5mb3JtYXR0aW5nW2ldKTtcblxuICAgICAgICBpZiAoc3RhdGUuZm9ybWF0dGluZ1tpXSA9PT0gXCJoZWFkZXJcIikge1xuICAgICAgICAgIHN0eWxlcy5wdXNoKHRva2VuVHlwZXMuZm9ybWF0dGluZyArIFwiLVwiICsgc3RhdGUuZm9ybWF0dGluZ1tpXSArIFwiLVwiICsgc3RhdGUuaGVhZGVyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEFkZCBgZm9ybWF0dGluZy1xdW90ZWAgYW5kIGBmb3JtYXR0aW5nLXF1b3RlLSNgIGZvciBibG9ja3F1b3Rlc1xuICAgICAgICAvLyBBZGQgYGVycm9yYCBpbnN0ZWFkIGlmIHRoZSBtYXhpbXVtIGJsb2NrcXVvdGUgbmVzdGluZyBkZXB0aCBpcyBwYXNzZWRcbiAgICAgICAgaWYgKHN0YXRlLmZvcm1hdHRpbmdbaV0gPT09IFwicXVvdGVcIikge1xuICAgICAgICAgIGlmICghbW9kZUNmZy5tYXhCbG9ja3F1b3RlRGVwdGggfHwgbW9kZUNmZy5tYXhCbG9ja3F1b3RlRGVwdGggPj0gc3RhdGUucXVvdGUpIHtcbiAgICAgICAgICAgIHN0eWxlcy5wdXNoKHRva2VuVHlwZXMuZm9ybWF0dGluZyArIFwiLVwiICsgc3RhdGUuZm9ybWF0dGluZ1tpXSArIFwiLVwiICsgc3RhdGUucXVvdGUpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzdHlsZXMucHVzaChcImVycm9yXCIpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChzdGF0ZS50YXNrT3Blbikge1xuICAgICAgc3R5bGVzLnB1c2goXCJtZXRhXCIpO1xuICAgICAgcmV0dXJuIHN0eWxlcy5sZW5ndGggPyBzdHlsZXMuam9pbignICcpIDogbnVsbDtcbiAgICB9XG4gICAgaWYgKHN0YXRlLnRhc2tDbG9zZWQpIHtcbiAgICAgIHN0eWxlcy5wdXNoKFwicHJvcGVydHlcIik7XG4gICAgICByZXR1cm4gc3R5bGVzLmxlbmd0aCA/IHN0eWxlcy5qb2luKCcgJykgOiBudWxsO1xuICAgIH1cblxuICAgIGlmIChzdGF0ZS5saW5rSHJlZikge1xuICAgICAgc3R5bGVzLnB1c2godG9rZW5UeXBlcy5saW5rSHJlZiwgXCJ1cmxcIik7XG4gICAgfSBlbHNlIHsgLy8gT25seSBhcHBseSBpbmxpbmUgc3R5bGVzIHRvIG5vbi11cmwgdGV4dFxuICAgICAgaWYgKHN0YXRlLnN0cm9uZykgeyBzdHlsZXMucHVzaCh0b2tlblR5cGVzLnN0cm9uZyk7IH1cbiAgICAgIGlmIChzdGF0ZS5lbSkgeyBzdHlsZXMucHVzaCh0b2tlblR5cGVzLmVtKTsgfVxuICAgICAgaWYgKHN0YXRlLnN0cmlrZXRocm91Z2gpIHsgc3R5bGVzLnB1c2godG9rZW5UeXBlcy5zdHJpa2V0aHJvdWdoKTsgfVxuICAgICAgaWYgKHN0YXRlLmVtb2ppKSB7IHN0eWxlcy5wdXNoKHRva2VuVHlwZXMuZW1vamkpOyB9XG4gICAgICBpZiAoc3RhdGUubGlua1RleHQpIHsgc3R5bGVzLnB1c2godG9rZW5UeXBlcy5saW5rVGV4dCk7IH1cbiAgICAgIGlmIChzdGF0ZS5jb2RlKSB7IHN0eWxlcy5wdXNoKHRva2VuVHlwZXMuY29kZSk7IH1cbiAgICAgIGlmIChzdGF0ZS5pbWFnZSkgeyBzdHlsZXMucHVzaCh0b2tlblR5cGVzLmltYWdlKTsgfVxuICAgICAgaWYgKHN0YXRlLmltYWdlQWx0VGV4dCkgeyBzdHlsZXMucHVzaCh0b2tlblR5cGVzLmltYWdlQWx0VGV4dCwgXCJsaW5rXCIpOyB9XG4gICAgICBpZiAoc3RhdGUuaW1hZ2VNYXJrZXIpIHsgc3R5bGVzLnB1c2godG9rZW5UeXBlcy5pbWFnZU1hcmtlcik7IH1cbiAgICB9XG5cbiAgICBpZiAoc3RhdGUuaGVhZGVyKSB7IHN0eWxlcy5wdXNoKHRva2VuVHlwZXMuaGVhZGVyLCB0b2tlblR5cGVzLmhlYWRlciArIFwiLVwiICsgc3RhdGUuaGVhZGVyKTsgfVxuXG4gICAgaWYgKHN0YXRlLnF1b3RlKSB7XG4gICAgICBzdHlsZXMucHVzaCh0b2tlblR5cGVzLnF1b3RlKTtcblxuICAgICAgLy8gQWRkIGBxdW90ZS0jYCB3aGVyZSB0aGUgbWF4aW11bSBmb3IgYCNgIGlzIG1vZGVDZmcubWF4QmxvY2txdW90ZURlcHRoXG4gICAgICBpZiAoIW1vZGVDZmcubWF4QmxvY2txdW90ZURlcHRoIHx8IG1vZGVDZmcubWF4QmxvY2txdW90ZURlcHRoID49IHN0YXRlLnF1b3RlKSB7XG4gICAgICAgIHN0eWxlcy5wdXNoKHRva2VuVHlwZXMucXVvdGUgKyBcIi1cIiArIHN0YXRlLnF1b3RlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHN0eWxlcy5wdXNoKHRva2VuVHlwZXMucXVvdGUgKyBcIi1cIiArIG1vZGVDZmcubWF4QmxvY2txdW90ZURlcHRoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoc3RhdGUubGlzdCAhPT0gZmFsc2UpIHtcbiAgICAgIHZhciBsaXN0TW9kID0gKHN0YXRlLmxpc3RTdGFjay5sZW5ndGggLSAxKSAlIDM7XG4gICAgICBpZiAoIWxpc3RNb2QpIHtcbiAgICAgICAgc3R5bGVzLnB1c2godG9rZW5UeXBlcy5saXN0MSk7XG4gICAgICB9IGVsc2UgaWYgKGxpc3RNb2QgPT09IDEpIHtcbiAgICAgICAgc3R5bGVzLnB1c2godG9rZW5UeXBlcy5saXN0Mik7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzdHlsZXMucHVzaCh0b2tlblR5cGVzLmxpc3QzKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoc3RhdGUudHJhaWxpbmdTcGFjZU5ld0xpbmUpIHtcbiAgICAgIHN0eWxlcy5wdXNoKFwidHJhaWxpbmctc3BhY2UtbmV3LWxpbmVcIik7XG4gICAgfSBlbHNlIGlmIChzdGF0ZS50cmFpbGluZ1NwYWNlKSB7XG4gICAgICBzdHlsZXMucHVzaChcInRyYWlsaW5nLXNwYWNlLVwiICsgKHN0YXRlLnRyYWlsaW5nU3BhY2UgJSAyID8gXCJhXCIgOiBcImJcIikpO1xuICAgIH1cblxuICAgIHJldHVybiBzdHlsZXMubGVuZ3RoID8gc3R5bGVzLmpvaW4oJyAnKSA6IG51bGw7XG4gIH1cblxuICBmdW5jdGlvbiBoYW5kbGVUZXh0KHN0cmVhbSwgc3RhdGUpIHtcbiAgICBpZiAoc3RyZWFtLm1hdGNoKHRleHRSRSwgdHJ1ZSkpIHtcbiAgICAgIHJldHVybiBnZXRUeXBlKHN0YXRlKTtcbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIGZ1bmN0aW9uIGlubGluZU5vcm1hbChzdHJlYW0sIHN0YXRlKSB7XG4gICAgdmFyIHN0eWxlID0gc3RhdGUudGV4dChzdHJlYW0sIHN0YXRlKTtcbiAgICBpZiAodHlwZW9mIHN0eWxlICE9PSAndW5kZWZpbmVkJylcbiAgICAgIHJldHVybiBzdHlsZTtcblxuICAgIGlmIChzdGF0ZS5saXN0KSB7IC8vIExpc3QgbWFya2VyICgqLCArLCAtLCAxLiwgZXRjKVxuICAgICAgc3RhdGUubGlzdCA9IG51bGw7XG4gICAgICByZXR1cm4gZ2V0VHlwZShzdGF0ZSk7XG4gICAgfVxuXG4gICAgaWYgKHN0YXRlLnRhc2tMaXN0KSB7XG4gICAgICB2YXIgdGFza09wZW4gPSBzdHJlYW0ubWF0Y2godGFza0xpc3RSRSwgdHJ1ZSlbMV0gPT09IFwiIFwiO1xuICAgICAgaWYgKHRhc2tPcGVuKSBzdGF0ZS50YXNrT3BlbiA9IHRydWU7XG4gICAgICBlbHNlIHN0YXRlLnRhc2tDbG9zZWQgPSB0cnVlO1xuICAgICAgaWYgKG1vZGVDZmcuaGlnaGxpZ2h0Rm9ybWF0dGluZykgc3RhdGUuZm9ybWF0dGluZyA9IFwidGFza1wiO1xuICAgICAgc3RhdGUudGFza0xpc3QgPSBmYWxzZTtcbiAgICAgIHJldHVybiBnZXRUeXBlKHN0YXRlKTtcbiAgICB9XG5cbiAgICBzdGF0ZS50YXNrT3BlbiA9IGZhbHNlO1xuICAgIHN0YXRlLnRhc2tDbG9zZWQgPSBmYWxzZTtcblxuICAgIGlmIChzdGF0ZS5oZWFkZXIgJiYgc3RyZWFtLm1hdGNoKC9eIyskLywgdHJ1ZSkpIHtcbiAgICAgIGlmIChtb2RlQ2ZnLmhpZ2hsaWdodEZvcm1hdHRpbmcpIHN0YXRlLmZvcm1hdHRpbmcgPSBcImhlYWRlclwiO1xuICAgICAgcmV0dXJuIGdldFR5cGUoc3RhdGUpO1xuICAgIH1cblxuICAgIHZhciBjaCA9IHN0cmVhbS5uZXh0KCk7XG5cbiAgICAvLyBNYXRjaGVzIGxpbmsgdGl0bGVzIHByZXNlbnQgb24gbmV4dCBsaW5lXG4gICAgaWYgKHN0YXRlLmxpbmtUaXRsZSkge1xuICAgICAgc3RhdGUubGlua1RpdGxlID0gZmFsc2U7XG4gICAgICB2YXIgbWF0Y2hDaCA9IGNoO1xuICAgICAgaWYgKGNoID09PSAnKCcpIHtcbiAgICAgICAgbWF0Y2hDaCA9ICcpJztcbiAgICAgIH1cbiAgICAgIG1hdGNoQ2ggPSAobWF0Y2hDaCsnJykucmVwbGFjZSgvKFsuPyorXlxcW1xcXVxcXFwoKXt9fC1dKS9nLCBcIlxcXFwkMVwiKTtcbiAgICAgIHZhciByZWdleCA9ICdeXFxcXHMqKD86W14nICsgbWF0Y2hDaCArICdcXFxcXFxcXF0rfFxcXFxcXFxcXFxcXFxcXFx8XFxcXFxcXFwuKScgKyBtYXRjaENoO1xuICAgICAgaWYgKHN0cmVhbS5tYXRjaChuZXcgUmVnRXhwKHJlZ2V4KSwgdHJ1ZSkpIHtcbiAgICAgICAgcmV0dXJuIHRva2VuVHlwZXMubGlua0hyZWY7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSWYgdGhpcyBibG9jayBpcyBjaGFuZ2VkLCBpdCBtYXkgbmVlZCB0byBiZSB1cGRhdGVkIGluIEdGTSBtb2RlXG4gICAgaWYgKGNoID09PSAnYCcpIHtcbiAgICAgIHZhciBwcmV2aW91c0Zvcm1hdHRpbmcgPSBzdGF0ZS5mb3JtYXR0aW5nO1xuICAgICAgaWYgKG1vZGVDZmcuaGlnaGxpZ2h0Rm9ybWF0dGluZykgc3RhdGUuZm9ybWF0dGluZyA9IFwiY29kZVwiO1xuICAgICAgc3RyZWFtLmVhdFdoaWxlKCdgJyk7XG4gICAgICB2YXIgY291bnQgPSBzdHJlYW0uY3VycmVudCgpLmxlbmd0aFxuICAgICAgaWYgKHN0YXRlLmNvZGUgPT0gMCAmJiAoIXN0YXRlLnF1b3RlIHx8IGNvdW50ID09IDEpKSB7XG4gICAgICAgIHN0YXRlLmNvZGUgPSBjb3VudFxuICAgICAgICByZXR1cm4gZ2V0VHlwZShzdGF0ZSlcbiAgICAgIH0gZWxzZSBpZiAoY291bnQgPT0gc3RhdGUuY29kZSkgeyAvLyBNdXN0IGJlIGV4YWN0XG4gICAgICAgIHZhciB0ID0gZ2V0VHlwZShzdGF0ZSlcbiAgICAgICAgc3RhdGUuY29kZSA9IDBcbiAgICAgICAgcmV0dXJuIHRcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHN0YXRlLmZvcm1hdHRpbmcgPSBwcmV2aW91c0Zvcm1hdHRpbmdcbiAgICAgICAgcmV0dXJuIGdldFR5cGUoc3RhdGUpXG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChzdGF0ZS5jb2RlKSB7XG4gICAgICByZXR1cm4gZ2V0VHlwZShzdGF0ZSk7XG4gICAgfVxuXG4gICAgaWYgKGNoID09PSAnXFxcXCcpIHtcbiAgICAgIHN0cmVhbS5uZXh0KCk7XG4gICAgICBpZiAobW9kZUNmZy5oaWdobGlnaHRGb3JtYXR0aW5nKSB7XG4gICAgICAgIHZhciB0eXBlID0gZ2V0VHlwZShzdGF0ZSk7XG4gICAgICAgIHZhciBmb3JtYXR0aW5nRXNjYXBlID0gdG9rZW5UeXBlcy5mb3JtYXR0aW5nICsgXCItZXNjYXBlXCI7XG4gICAgICAgIHJldHVybiB0eXBlID8gdHlwZSArIFwiIFwiICsgZm9ybWF0dGluZ0VzY2FwZSA6IGZvcm1hdHRpbmdFc2NhcGU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGNoID09PSAnIScgJiYgc3RyZWFtLm1hdGNoKC9cXFtbXlxcXV0qXFxdID8oPzpcXCh8XFxbKS8sIGZhbHNlKSkge1xuICAgICAgc3RhdGUuaW1hZ2VNYXJrZXIgPSB0cnVlO1xuICAgICAgc3RhdGUuaW1hZ2UgPSB0cnVlO1xuICAgICAgaWYgKG1vZGVDZmcuaGlnaGxpZ2h0Rm9ybWF0dGluZykgc3RhdGUuZm9ybWF0dGluZyA9IFwiaW1hZ2VcIjtcbiAgICAgIHJldHVybiBnZXRUeXBlKHN0YXRlKTtcbiAgICB9XG5cbiAgICBpZiAoY2ggPT09ICdbJyAmJiBzdGF0ZS5pbWFnZU1hcmtlciAmJiBzdHJlYW0ubWF0Y2goL1teXFxdXSpcXF0oXFwoLio/XFwpfCA/XFxbLio/XFxdKS8sIGZhbHNlKSkge1xuICAgICAgc3RhdGUuaW1hZ2VNYXJrZXIgPSBmYWxzZTtcbiAgICAgIHN0YXRlLmltYWdlQWx0VGV4dCA9IHRydWVcbiAgICAgIGlmIChtb2RlQ2ZnLmhpZ2hsaWdodEZvcm1hdHRpbmcpIHN0YXRlLmZvcm1hdHRpbmcgPSBcImltYWdlXCI7XG4gICAgICByZXR1cm4gZ2V0VHlwZShzdGF0ZSk7XG4gICAgfVxuXG4gICAgaWYgKGNoID09PSAnXScgJiYgc3RhdGUuaW1hZ2VBbHRUZXh0KSB7XG4gICAgICBpZiAobW9kZUNmZy5oaWdobGlnaHRGb3JtYXR0aW5nKSBzdGF0ZS5mb3JtYXR0aW5nID0gXCJpbWFnZVwiO1xuICAgICAgdmFyIHR5cGUgPSBnZXRUeXBlKHN0YXRlKTtcbiAgICAgIHN0YXRlLmltYWdlQWx0VGV4dCA9IGZhbHNlO1xuICAgICAgc3RhdGUuaW1hZ2UgPSBmYWxzZTtcbiAgICAgIHN0YXRlLmlubGluZSA9IHN0YXRlLmYgPSBsaW5rSHJlZjtcbiAgICAgIHJldHVybiB0eXBlO1xuICAgIH1cblxuICAgIGlmIChjaCA9PT0gJ1snICYmICFzdGF0ZS5pbWFnZSkge1xuICAgICAgaWYgKHN0YXRlLmxpbmtUZXh0ICYmIHN0cmVhbS5tYXRjaCgvXi4qP1xcXS8pKSByZXR1cm4gZ2V0VHlwZShzdGF0ZSlcbiAgICAgIHN0YXRlLmxpbmtUZXh0ID0gdHJ1ZTtcbiAgICAgIGlmIChtb2RlQ2ZnLmhpZ2hsaWdodEZvcm1hdHRpbmcpIHN0YXRlLmZvcm1hdHRpbmcgPSBcImxpbmtcIjtcbiAgICAgIHJldHVybiBnZXRUeXBlKHN0YXRlKTtcbiAgICB9XG5cbiAgICBpZiAoY2ggPT09ICddJyAmJiBzdGF0ZS5saW5rVGV4dCkge1xuICAgICAgaWYgKG1vZGVDZmcuaGlnaGxpZ2h0Rm9ybWF0dGluZykgc3RhdGUuZm9ybWF0dGluZyA9IFwibGlua1wiO1xuICAgICAgdmFyIHR5cGUgPSBnZXRUeXBlKHN0YXRlKTtcbiAgICAgIHN0YXRlLmxpbmtUZXh0ID0gZmFsc2U7XG4gICAgICBzdGF0ZS5pbmxpbmUgPSBzdGF0ZS5mID0gc3RyZWFtLm1hdGNoKC9cXCguKj9cXCl8ID9cXFsuKj9cXF0vLCBmYWxzZSkgPyBsaW5rSHJlZiA6IGlubGluZU5vcm1hbFxuICAgICAgcmV0dXJuIHR5cGU7XG4gICAgfVxuXG4gICAgaWYgKGNoID09PSAnPCcgJiYgc3RyZWFtLm1hdGNoKC9eKGh0dHBzP3xmdHBzPyk6XFwvXFwvKD86W15cXFxcPl18XFxcXC4pKz4vLCBmYWxzZSkpIHtcbiAgICAgIHN0YXRlLmYgPSBzdGF0ZS5pbmxpbmUgPSBsaW5rSW5saW5lO1xuICAgICAgaWYgKG1vZGVDZmcuaGlnaGxpZ2h0Rm9ybWF0dGluZykgc3RhdGUuZm9ybWF0dGluZyA9IFwibGlua1wiO1xuICAgICAgdmFyIHR5cGUgPSBnZXRUeXBlKHN0YXRlKTtcbiAgICAgIGlmICh0eXBlKXtcbiAgICAgICAgdHlwZSArPSBcIiBcIjtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHR5cGUgPSBcIlwiO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHR5cGUgKyB0b2tlblR5cGVzLmxpbmtJbmxpbmU7XG4gICAgfVxuXG4gICAgaWYgKGNoID09PSAnPCcgJiYgc3RyZWFtLm1hdGNoKC9eW14+IFxcXFxdK0AoPzpbXlxcXFw+XXxcXFxcLikrPi8sIGZhbHNlKSkge1xuICAgICAgc3RhdGUuZiA9IHN0YXRlLmlubGluZSA9IGxpbmtJbmxpbmU7XG4gICAgICBpZiAobW9kZUNmZy5oaWdobGlnaHRGb3JtYXR0aW5nKSBzdGF0ZS5mb3JtYXR0aW5nID0gXCJsaW5rXCI7XG4gICAgICB2YXIgdHlwZSA9IGdldFR5cGUoc3RhdGUpO1xuICAgICAgaWYgKHR5cGUpe1xuICAgICAgICB0eXBlICs9IFwiIFwiO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdHlwZSA9IFwiXCI7XG4gICAgICB9XG4gICAgICByZXR1cm4gdHlwZSArIHRva2VuVHlwZXMubGlua0VtYWlsO1xuICAgIH1cblxuICAgIGlmIChtb2RlQ2ZnLnhtbCAmJiBjaCA9PT0gJzwnICYmIHN0cmVhbS5tYXRjaCgvXighLS18XFw/fCFcXFtDREFUQVxcW3xbYS16XVthLXowLTktXSooPzpcXHMrW2Etel86LlxcLV0rKD86XFxzKj1cXHMqW14+XSspPykqXFxzKig/Oj58JCkpL2ksIGZhbHNlKSkge1xuICAgICAgdmFyIGVuZCA9IHN0cmVhbS5zdHJpbmcuaW5kZXhPZihcIj5cIiwgc3RyZWFtLnBvcyk7XG4gICAgICBpZiAoZW5kICE9IC0xKSB7XG4gICAgICAgIHZhciBhdHRzID0gc3RyZWFtLnN0cmluZy5zdWJzdHJpbmcoc3RyZWFtLnN0YXJ0LCBlbmQpO1xuICAgICAgICBpZiAoL21hcmtkb3duXFxzKj1cXHMqKCd8XCIpezAsMX0xKCd8XCIpezAsMX0vLnRlc3QoYXR0cykpIHN0YXRlLm1kX2luc2lkZSA9IHRydWU7XG4gICAgICB9XG4gICAgICBzdHJlYW0uYmFja1VwKDEpO1xuICAgICAgc3RhdGUuaHRtbFN0YXRlID0gQ29kZU1pcnJvci5zdGFydFN0YXRlKGh0bWxNb2RlKTtcbiAgICAgIHJldHVybiBzd2l0Y2hCbG9jayhzdHJlYW0sIHN0YXRlLCBodG1sQmxvY2spO1xuICAgIH1cblxuICAgIGlmIChtb2RlQ2ZnLnhtbCAmJiBjaCA9PT0gJzwnICYmIHN0cmVhbS5tYXRjaCgvXlxcL1xcdyo/Pi8pKSB7XG4gICAgICBzdGF0ZS5tZF9pbnNpZGUgPSBmYWxzZTtcbiAgICAgIHJldHVybiBcInRhZ1wiO1xuICAgIH0gZWxzZSBpZiAoY2ggPT09IFwiKlwiIHx8IGNoID09PSBcIl9cIikge1xuICAgICAgdmFyIGxlbiA9IDEsIGJlZm9yZSA9IHN0cmVhbS5wb3MgPT0gMSA/IFwiIFwiIDogc3RyZWFtLnN0cmluZy5jaGFyQXQoc3RyZWFtLnBvcyAtIDIpXG4gICAgICB3aGlsZSAobGVuIDwgMyAmJiBzdHJlYW0uZWF0KGNoKSkgbGVuKytcbiAgICAgIHZhciBhZnRlciA9IHN0cmVhbS5wZWVrKCkgfHwgXCIgXCJcbiAgICAgIC8vIFNlZSBodHRwOi8vc3BlYy5jb21tb25tYXJrLm9yZy8wLjI3LyNlbXBoYXNpcy1hbmQtc3Ryb25nLWVtcGhhc2lzXG4gICAgICB2YXIgbGVmdEZsYW5raW5nID0gIS9cXHMvLnRlc3QoYWZ0ZXIpICYmICghcHVuY3R1YXRpb24udGVzdChhZnRlcikgfHwgL1xccy8udGVzdChiZWZvcmUpIHx8IHB1bmN0dWF0aW9uLnRlc3QoYmVmb3JlKSlcbiAgICAgIHZhciByaWdodEZsYW5raW5nID0gIS9cXHMvLnRlc3QoYmVmb3JlKSAmJiAoIXB1bmN0dWF0aW9uLnRlc3QoYmVmb3JlKSB8fCAvXFxzLy50ZXN0KGFmdGVyKSB8fCBwdW5jdHVhdGlvbi50ZXN0KGFmdGVyKSlcbiAgICAgIHZhciBzZXRFbSA9IG51bGwsIHNldFN0cm9uZyA9IG51bGxcbiAgICAgIGlmIChsZW4gJSAyKSB7IC8vIEVtXG4gICAgICAgIGlmICghc3RhdGUuZW0gJiYgbGVmdEZsYW5raW5nICYmIChjaCA9PT0gXCIqXCIgfHwgIXJpZ2h0RmxhbmtpbmcgfHwgcHVuY3R1YXRpb24udGVzdChiZWZvcmUpKSlcbiAgICAgICAgICBzZXRFbSA9IHRydWVcbiAgICAgICAgZWxzZSBpZiAoc3RhdGUuZW0gPT0gY2ggJiYgcmlnaHRGbGFua2luZyAmJiAoY2ggPT09IFwiKlwiIHx8ICFsZWZ0RmxhbmtpbmcgfHwgcHVuY3R1YXRpb24udGVzdChhZnRlcikpKVxuICAgICAgICAgIHNldEVtID0gZmFsc2VcbiAgICAgIH1cbiAgICAgIGlmIChsZW4gPiAxKSB7IC8vIFN0cm9uZ1xuICAgICAgICBpZiAoIXN0YXRlLnN0cm9uZyAmJiBsZWZ0RmxhbmtpbmcgJiYgKGNoID09PSBcIipcIiB8fCAhcmlnaHRGbGFua2luZyB8fCBwdW5jdHVhdGlvbi50ZXN0KGJlZm9yZSkpKVxuICAgICAgICAgIHNldFN0cm9uZyA9IHRydWVcbiAgICAgICAgZWxzZSBpZiAoc3RhdGUuc3Ryb25nID09IGNoICYmIHJpZ2h0RmxhbmtpbmcgJiYgKGNoID09PSBcIipcIiB8fCAhbGVmdEZsYW5raW5nIHx8IHB1bmN0dWF0aW9uLnRlc3QoYWZ0ZXIpKSlcbiAgICAgICAgICBzZXRTdHJvbmcgPSBmYWxzZVxuICAgICAgfVxuICAgICAgaWYgKHNldFN0cm9uZyAhPSBudWxsIHx8IHNldEVtICE9IG51bGwpIHtcbiAgICAgICAgaWYgKG1vZGVDZmcuaGlnaGxpZ2h0Rm9ybWF0dGluZykgc3RhdGUuZm9ybWF0dGluZyA9IHNldEVtID09IG51bGwgPyBcInN0cm9uZ1wiIDogc2V0U3Ryb25nID09IG51bGwgPyBcImVtXCIgOiBcInN0cm9uZyBlbVwiXG4gICAgICAgIGlmIChzZXRFbSA9PT0gdHJ1ZSkgc3RhdGUuZW0gPSBjaFxuICAgICAgICBpZiAoc2V0U3Ryb25nID09PSB0cnVlKSBzdGF0ZS5zdHJvbmcgPSBjaFxuICAgICAgICB2YXIgdCA9IGdldFR5cGUoc3RhdGUpXG4gICAgICAgIGlmIChzZXRFbSA9PT0gZmFsc2UpIHN0YXRlLmVtID0gZmFsc2VcbiAgICAgICAgaWYgKHNldFN0cm9uZyA9PT0gZmFsc2UpIHN0YXRlLnN0cm9uZyA9IGZhbHNlXG4gICAgICAgIHJldHVybiB0XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChjaCA9PT0gJyAnKSB7XG4gICAgICBpZiAoc3RyZWFtLmVhdCgnKicpIHx8IHN0cmVhbS5lYXQoJ18nKSkgeyAvLyBQcm9iYWJseSBzdXJyb3VuZGVkIGJ5IHNwYWNlc1xuICAgICAgICBpZiAoc3RyZWFtLnBlZWsoKSA9PT0gJyAnKSB7IC8vIFN1cnJvdW5kZWQgYnkgc3BhY2VzLCBpZ25vcmVcbiAgICAgICAgICByZXR1cm4gZ2V0VHlwZShzdGF0ZSk7XG4gICAgICAgIH0gZWxzZSB7IC8vIE5vdCBzdXJyb3VuZGVkIGJ5IHNwYWNlcywgYmFjayB1cCBwb2ludGVyXG4gICAgICAgICAgc3RyZWFtLmJhY2tVcCgxKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChtb2RlQ2ZnLnN0cmlrZXRocm91Z2gpIHtcbiAgICAgIGlmIChjaCA9PT0gJ34nICYmIHN0cmVhbS5lYXRXaGlsZShjaCkpIHtcbiAgICAgICAgaWYgKHN0YXRlLnN0cmlrZXRocm91Z2gpIHsvLyBSZW1vdmUgc3RyaWtldGhyb3VnaFxuICAgICAgICAgIGlmIChtb2RlQ2ZnLmhpZ2hsaWdodEZvcm1hdHRpbmcpIHN0YXRlLmZvcm1hdHRpbmcgPSBcInN0cmlrZXRocm91Z2hcIjtcbiAgICAgICAgICB2YXIgdCA9IGdldFR5cGUoc3RhdGUpO1xuICAgICAgICAgIHN0YXRlLnN0cmlrZXRocm91Z2ggPSBmYWxzZTtcbiAgICAgICAgICByZXR1cm4gdDtcbiAgICAgICAgfSBlbHNlIGlmIChzdHJlYW0ubWF0Y2goL15bXlxcc10vLCBmYWxzZSkpIHsvLyBBZGQgc3RyaWtldGhyb3VnaFxuICAgICAgICAgIHN0YXRlLnN0cmlrZXRocm91Z2ggPSB0cnVlO1xuICAgICAgICAgIGlmIChtb2RlQ2ZnLmhpZ2hsaWdodEZvcm1hdHRpbmcpIHN0YXRlLmZvcm1hdHRpbmcgPSBcInN0cmlrZXRocm91Z2hcIjtcbiAgICAgICAgICByZXR1cm4gZ2V0VHlwZShzdGF0ZSk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoY2ggPT09ICcgJykge1xuICAgICAgICBpZiAoc3RyZWFtLm1hdGNoKC9efn4vLCB0cnVlKSkgeyAvLyBQcm9iYWJseSBzdXJyb3VuZGVkIGJ5IHNwYWNlXG4gICAgICAgICAgaWYgKHN0cmVhbS5wZWVrKCkgPT09ICcgJykgeyAvLyBTdXJyb3VuZGVkIGJ5IHNwYWNlcywgaWdub3JlXG4gICAgICAgICAgICByZXR1cm4gZ2V0VHlwZShzdGF0ZSk7XG4gICAgICAgICAgfSBlbHNlIHsgLy8gTm90IHN1cnJvdW5kZWQgYnkgc3BhY2VzLCBiYWNrIHVwIHBvaW50ZXJcbiAgICAgICAgICAgIHN0cmVhbS5iYWNrVXAoMik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKG1vZGVDZmcuZW1vamkgJiYgY2ggPT09IFwiOlwiICYmIHN0cmVhbS5tYXRjaCgvXig/OlthLXpfXFxkK11bYS16X1xcZCstXSp8XFwtW2Etel9cXGQrXVthLXpfXFxkKy1dKik6LykpIHtcbiAgICAgIHN0YXRlLmVtb2ppID0gdHJ1ZTtcbiAgICAgIGlmIChtb2RlQ2ZnLmhpZ2hsaWdodEZvcm1hdHRpbmcpIHN0YXRlLmZvcm1hdHRpbmcgPSBcImVtb2ppXCI7XG4gICAgICB2YXIgcmV0VHlwZSA9IGdldFR5cGUoc3RhdGUpO1xuICAgICAgc3RhdGUuZW1vamkgPSBmYWxzZTtcbiAgICAgIHJldHVybiByZXRUeXBlO1xuICAgIH1cblxuICAgIGlmIChjaCA9PT0gJyAnKSB7XG4gICAgICBpZiAoc3RyZWFtLm1hdGNoKC9eICskLywgZmFsc2UpKSB7XG4gICAgICAgIHN0YXRlLnRyYWlsaW5nU3BhY2UrKztcbiAgICAgIH0gZWxzZSBpZiAoc3RhdGUudHJhaWxpbmdTcGFjZSkge1xuICAgICAgICBzdGF0ZS50cmFpbGluZ1NwYWNlTmV3TGluZSA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGdldFR5cGUoc3RhdGUpO1xuICB9XG5cbiAgZnVuY3Rpb24gbGlua0lubGluZShzdHJlYW0sIHN0YXRlKSB7XG4gICAgdmFyIGNoID0gc3RyZWFtLm5leHQoKTtcblxuICAgIGlmIChjaCA9PT0gXCI+XCIpIHtcbiAgICAgIHN0YXRlLmYgPSBzdGF0ZS5pbmxpbmUgPSBpbmxpbmVOb3JtYWw7XG4gICAgICBpZiAobW9kZUNmZy5oaWdobGlnaHRGb3JtYXR0aW5nKSBzdGF0ZS5mb3JtYXR0aW5nID0gXCJsaW5rXCI7XG4gICAgICB2YXIgdHlwZSA9IGdldFR5cGUoc3RhdGUpO1xuICAgICAgaWYgKHR5cGUpe1xuICAgICAgICB0eXBlICs9IFwiIFwiO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdHlwZSA9IFwiXCI7XG4gICAgICB9XG4gICAgICByZXR1cm4gdHlwZSArIHRva2VuVHlwZXMubGlua0lubGluZTtcbiAgICB9XG5cbiAgICBzdHJlYW0ubWF0Y2goL15bXj5dKy8sIHRydWUpO1xuXG4gICAgcmV0dXJuIHRva2VuVHlwZXMubGlua0lubGluZTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGxpbmtIcmVmKHN0cmVhbSwgc3RhdGUpIHtcbiAgICAvLyBDaGVjayBpZiBzcGFjZSwgYW5kIHJldHVybiBOVUxMIGlmIHNvICh0byBhdm9pZCBtYXJraW5nIHRoZSBzcGFjZSlcbiAgICBpZihzdHJlYW0uZWF0U3BhY2UoKSl7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgdmFyIGNoID0gc3RyZWFtLm5leHQoKTtcbiAgICBpZiAoY2ggPT09ICcoJyB8fCBjaCA9PT0gJ1snKSB7XG4gICAgICBzdGF0ZS5mID0gc3RhdGUuaW5saW5lID0gZ2V0TGlua0hyZWZJbnNpZGUoY2ggPT09IFwiKFwiID8gXCIpXCIgOiBcIl1cIik7XG4gICAgICBpZiAobW9kZUNmZy5oaWdobGlnaHRGb3JtYXR0aW5nKSBzdGF0ZS5mb3JtYXR0aW5nID0gXCJsaW5rLXN0cmluZ1wiO1xuICAgICAgc3RhdGUubGlua0hyZWYgPSB0cnVlO1xuICAgICAgcmV0dXJuIGdldFR5cGUoc3RhdGUpO1xuICAgIH1cbiAgICByZXR1cm4gJ2Vycm9yJztcbiAgfVxuXG4gIHZhciBsaW5rUkUgPSB7XG4gICAgXCIpXCI6IC9eKD86W15cXFxcXFwoXFwpXXxcXFxcLnxcXCgoPzpbXlxcXFxcXChcXCldfFxcXFwuKSpcXCkpKj8oPz1cXCkpLyxcbiAgICBcIl1cIjogL14oPzpbXlxcXFxcXFtcXF1dfFxcXFwufFxcWyg/OlteXFxcXFxcW1xcXV18XFxcXC4pKlxcXSkqPyg/PVxcXSkvXG4gIH1cblxuICBmdW5jdGlvbiBnZXRMaW5rSHJlZkluc2lkZShlbmRDaGFyKSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uKHN0cmVhbSwgc3RhdGUpIHtcbiAgICAgIHZhciBjaCA9IHN0cmVhbS5uZXh0KCk7XG5cbiAgICAgIGlmIChjaCA9PT0gZW5kQ2hhcikge1xuICAgICAgICBzdGF0ZS5mID0gc3RhdGUuaW5saW5lID0gaW5saW5lTm9ybWFsO1xuICAgICAgICBpZiAobW9kZUNmZy5oaWdobGlnaHRGb3JtYXR0aW5nKSBzdGF0ZS5mb3JtYXR0aW5nID0gXCJsaW5rLXN0cmluZ1wiO1xuICAgICAgICB2YXIgcmV0dXJuU3RhdGUgPSBnZXRUeXBlKHN0YXRlKTtcbiAgICAgICAgc3RhdGUubGlua0hyZWYgPSBmYWxzZTtcbiAgICAgICAgcmV0dXJuIHJldHVyblN0YXRlO1xuICAgICAgfVxuXG4gICAgICBzdHJlYW0ubWF0Y2gobGlua1JFW2VuZENoYXJdKVxuICAgICAgc3RhdGUubGlua0hyZWYgPSB0cnVlO1xuICAgICAgcmV0dXJuIGdldFR5cGUoc3RhdGUpO1xuICAgIH07XG4gIH1cblxuICBmdW5jdGlvbiBmb290bm90ZUxpbmsoc3RyZWFtLCBzdGF0ZSkge1xuICAgIGlmIChzdHJlYW0ubWF0Y2goL14oW15cXF1cXFxcXXxcXFxcLikqXFxdOi8sIGZhbHNlKSkge1xuICAgICAgc3RhdGUuZiA9IGZvb3Rub3RlTGlua0luc2lkZTtcbiAgICAgIHN0cmVhbS5uZXh0KCk7IC8vIENvbnN1bWUgW1xuICAgICAgaWYgKG1vZGVDZmcuaGlnaGxpZ2h0Rm9ybWF0dGluZykgc3RhdGUuZm9ybWF0dGluZyA9IFwibGlua1wiO1xuICAgICAgc3RhdGUubGlua1RleHQgPSB0cnVlO1xuICAgICAgcmV0dXJuIGdldFR5cGUoc3RhdGUpO1xuICAgIH1cbiAgICByZXR1cm4gc3dpdGNoSW5saW5lKHN0cmVhbSwgc3RhdGUsIGlubGluZU5vcm1hbCk7XG4gIH1cblxuICBmdW5jdGlvbiBmb290bm90ZUxpbmtJbnNpZGUoc3RyZWFtLCBzdGF0ZSkge1xuICAgIGlmIChzdHJlYW0ubWF0Y2goL15cXF06LywgdHJ1ZSkpIHtcbiAgICAgIHN0YXRlLmYgPSBzdGF0ZS5pbmxpbmUgPSBmb290bm90ZVVybDtcbiAgICAgIGlmIChtb2RlQ2ZnLmhpZ2hsaWdodEZvcm1hdHRpbmcpIHN0YXRlLmZvcm1hdHRpbmcgPSBcImxpbmtcIjtcbiAgICAgIHZhciByZXR1cm5UeXBlID0gZ2V0VHlwZShzdGF0ZSk7XG4gICAgICBzdGF0ZS5saW5rVGV4dCA9IGZhbHNlO1xuICAgICAgcmV0dXJuIHJldHVyblR5cGU7XG4gICAgfVxuXG4gICAgc3RyZWFtLm1hdGNoKC9eKFteXFxdXFxcXF18XFxcXC4pKy8sIHRydWUpO1xuXG4gICAgcmV0dXJuIHRva2VuVHlwZXMubGlua1RleHQ7XG4gIH1cblxuICBmdW5jdGlvbiBmb290bm90ZVVybChzdHJlYW0sIHN0YXRlKSB7XG4gICAgLy8gQ2hlY2sgaWYgc3BhY2UsIGFuZCByZXR1cm4gTlVMTCBpZiBzbyAodG8gYXZvaWQgbWFya2luZyB0aGUgc3BhY2UpXG4gICAgaWYoc3RyZWFtLmVhdFNwYWNlKCkpe1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIC8vIE1hdGNoIFVSTFxuICAgIHN0cmVhbS5tYXRjaCgvXlteXFxzXSsvLCB0cnVlKTtcbiAgICAvLyBDaGVjayBmb3IgbGluayB0aXRsZVxuICAgIGlmIChzdHJlYW0ucGVlaygpID09PSB1bmRlZmluZWQpIHsgLy8gRW5kIG9mIGxpbmUsIHNldCBmbGFnIHRvIGNoZWNrIG5leHQgbGluZVxuICAgICAgc3RhdGUubGlua1RpdGxlID0gdHJ1ZTtcbiAgICB9IGVsc2UgeyAvLyBNb3JlIGNvbnRlbnQgb24gbGluZSwgY2hlY2sgaWYgbGluayB0aXRsZVxuICAgICAgc3RyZWFtLm1hdGNoKC9eKD86XFxzKyg/OlwiKD86W15cIlxcXFxdfFxcXFxcXFxcfFxcXFwuKStcInwnKD86W14nXFxcXF18XFxcXFxcXFx8XFxcXC4pKyd8XFwoKD86W14pXFxcXF18XFxcXFxcXFx8XFxcXC4pK1xcKSkpPy8sIHRydWUpO1xuICAgIH1cbiAgICBzdGF0ZS5mID0gc3RhdGUuaW5saW5lID0gaW5saW5lTm9ybWFsO1xuICAgIHJldHVybiB0b2tlblR5cGVzLmxpbmtIcmVmICsgXCIgdXJsXCI7XG4gIH1cblxuICB2YXIgbW9kZSA9IHtcbiAgICBzdGFydFN0YXRlOiBmdW5jdGlvbigpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGY6IGJsb2NrTm9ybWFsLFxuXG4gICAgICAgIHByZXZMaW5lOiB7c3RyZWFtOiBudWxsfSxcbiAgICAgICAgdGhpc0xpbmU6IHtzdHJlYW06IG51bGx9LFxuXG4gICAgICAgIGJsb2NrOiBibG9ja05vcm1hbCxcbiAgICAgICAgaHRtbFN0YXRlOiBudWxsLFxuICAgICAgICBpbmRlbnRhdGlvbjogMCxcblxuICAgICAgICBpbmxpbmU6IGlubGluZU5vcm1hbCxcbiAgICAgICAgdGV4dDogaGFuZGxlVGV4dCxcblxuICAgICAgICBmb3JtYXR0aW5nOiBmYWxzZSxcbiAgICAgICAgbGlua1RleHQ6IGZhbHNlLFxuICAgICAgICBsaW5rSHJlZjogZmFsc2UsXG4gICAgICAgIGxpbmtUaXRsZTogZmFsc2UsXG4gICAgICAgIGNvZGU6IDAsXG4gICAgICAgIGVtOiBmYWxzZSxcbiAgICAgICAgc3Ryb25nOiBmYWxzZSxcbiAgICAgICAgaGVhZGVyOiAwLFxuICAgICAgICBzZXRleHQ6IDAsXG4gICAgICAgIGhyOiBmYWxzZSxcbiAgICAgICAgdGFza0xpc3Q6IGZhbHNlLFxuICAgICAgICBsaXN0OiBmYWxzZSxcbiAgICAgICAgbGlzdFN0YWNrOiBbXSxcbiAgICAgICAgcXVvdGU6IDAsXG4gICAgICAgIHRyYWlsaW5nU3BhY2U6IDAsXG4gICAgICAgIHRyYWlsaW5nU3BhY2VOZXdMaW5lOiBmYWxzZSxcbiAgICAgICAgc3RyaWtldGhyb3VnaDogZmFsc2UsXG4gICAgICAgIGVtb2ppOiBmYWxzZSxcbiAgICAgICAgZmVuY2VkRW5kUkU6IG51bGxcbiAgICAgIH07XG4gICAgfSxcblxuICAgIGNvcHlTdGF0ZTogZnVuY3Rpb24ocykge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgZjogcy5mLFxuXG4gICAgICAgIHByZXZMaW5lOiBzLnByZXZMaW5lLFxuICAgICAgICB0aGlzTGluZTogcy50aGlzTGluZSxcblxuICAgICAgICBibG9jazogcy5ibG9jayxcbiAgICAgICAgaHRtbFN0YXRlOiBzLmh0bWxTdGF0ZSAmJiBDb2RlTWlycm9yLmNvcHlTdGF0ZShodG1sTW9kZSwgcy5odG1sU3RhdGUpLFxuICAgICAgICBpbmRlbnRhdGlvbjogcy5pbmRlbnRhdGlvbixcblxuICAgICAgICBsb2NhbE1vZGU6IHMubG9jYWxNb2RlLFxuICAgICAgICBsb2NhbFN0YXRlOiBzLmxvY2FsTW9kZSA/IENvZGVNaXJyb3IuY29weVN0YXRlKHMubG9jYWxNb2RlLCBzLmxvY2FsU3RhdGUpIDogbnVsbCxcblxuICAgICAgICBpbmxpbmU6IHMuaW5saW5lLFxuICAgICAgICB0ZXh0OiBzLnRleHQsXG4gICAgICAgIGZvcm1hdHRpbmc6IGZhbHNlLFxuICAgICAgICBsaW5rVGV4dDogcy5saW5rVGV4dCxcbiAgICAgICAgbGlua1RpdGxlOiBzLmxpbmtUaXRsZSxcbiAgICAgICAgbGlua0hyZWY6IHMubGlua0hyZWYsXG4gICAgICAgIGNvZGU6IHMuY29kZSxcbiAgICAgICAgZW06IHMuZW0sXG4gICAgICAgIHN0cm9uZzogcy5zdHJvbmcsXG4gICAgICAgIHN0cmlrZXRocm91Z2g6IHMuc3RyaWtldGhyb3VnaCxcbiAgICAgICAgZW1vamk6IHMuZW1vamksXG4gICAgICAgIGhlYWRlcjogcy5oZWFkZXIsXG4gICAgICAgIHNldGV4dDogcy5zZXRleHQsXG4gICAgICAgIGhyOiBzLmhyLFxuICAgICAgICB0YXNrTGlzdDogcy50YXNrTGlzdCxcbiAgICAgICAgbGlzdDogcy5saXN0LFxuICAgICAgICBsaXN0U3RhY2s6IHMubGlzdFN0YWNrLnNsaWNlKDApLFxuICAgICAgICBxdW90ZTogcy5xdW90ZSxcbiAgICAgICAgaW5kZW50ZWRDb2RlOiBzLmluZGVudGVkQ29kZSxcbiAgICAgICAgdHJhaWxpbmdTcGFjZTogcy50cmFpbGluZ1NwYWNlLFxuICAgICAgICB0cmFpbGluZ1NwYWNlTmV3TGluZTogcy50cmFpbGluZ1NwYWNlTmV3TGluZSxcbiAgICAgICAgbWRfaW5zaWRlOiBzLm1kX2luc2lkZSxcbiAgICAgICAgZmVuY2VkRW5kUkU6IHMuZmVuY2VkRW5kUkVcbiAgICAgIH07XG4gICAgfSxcblxuICAgIHRva2VuOiBmdW5jdGlvbihzdHJlYW0sIHN0YXRlKSB7XG5cbiAgICAgIC8vIFJlc2V0IHN0YXRlLmZvcm1hdHRpbmdcbiAgICAgIHN0YXRlLmZvcm1hdHRpbmcgPSBmYWxzZTtcblxuICAgICAgaWYgKHN0cmVhbSAhPSBzdGF0ZS50aGlzTGluZS5zdHJlYW0pIHtcbiAgICAgICAgc3RhdGUuaGVhZGVyID0gMDtcbiAgICAgICAgc3RhdGUuaHIgPSBmYWxzZTtcblxuICAgICAgICBpZiAoc3RyZWFtLm1hdGNoKC9eXFxzKiQvLCB0cnVlKSkge1xuICAgICAgICAgIGJsYW5rTGluZShzdGF0ZSk7XG4gICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBzdGF0ZS5wcmV2TGluZSA9IHN0YXRlLnRoaXNMaW5lXG4gICAgICAgIHN0YXRlLnRoaXNMaW5lID0ge3N0cmVhbTogc3RyZWFtfVxuXG4gICAgICAgIC8vIFJlc2V0IHN0YXRlLnRhc2tMaXN0XG4gICAgICAgIHN0YXRlLnRhc2tMaXN0ID0gZmFsc2U7XG5cbiAgICAgICAgLy8gUmVzZXQgc3RhdGUudHJhaWxpbmdTcGFjZVxuICAgICAgICBzdGF0ZS50cmFpbGluZ1NwYWNlID0gMDtcbiAgICAgICAgc3RhdGUudHJhaWxpbmdTcGFjZU5ld0xpbmUgPSBmYWxzZTtcblxuICAgICAgICBpZiAoIXN0YXRlLmxvY2FsU3RhdGUpIHtcbiAgICAgICAgICBzdGF0ZS5mID0gc3RhdGUuYmxvY2s7XG4gICAgICAgICAgaWYgKHN0YXRlLmYgIT0gaHRtbEJsb2NrKSB7XG4gICAgICAgICAgICB2YXIgaW5kZW50YXRpb24gPSBzdHJlYW0ubWF0Y2goL15cXHMqLywgdHJ1ZSlbMF0ucmVwbGFjZSgvXFx0L2csIGV4cGFuZGVkVGFiKS5sZW5ndGg7XG4gICAgICAgICAgICBzdGF0ZS5pbmRlbnRhdGlvbiA9IGluZGVudGF0aW9uO1xuICAgICAgICAgICAgc3RhdGUuaW5kZW50YXRpb25EaWZmID0gbnVsbDtcbiAgICAgICAgICAgIGlmIChpbmRlbnRhdGlvbiA+IDApIHJldHVybiBudWxsO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIHN0YXRlLmYoc3RyZWFtLCBzdGF0ZSk7XG4gICAgfSxcblxuICAgIGlubmVyTW9kZTogZnVuY3Rpb24oc3RhdGUpIHtcbiAgICAgIGlmIChzdGF0ZS5ibG9jayA9PSBodG1sQmxvY2spIHJldHVybiB7c3RhdGU6IHN0YXRlLmh0bWxTdGF0ZSwgbW9kZTogaHRtbE1vZGV9O1xuICAgICAgaWYgKHN0YXRlLmxvY2FsU3RhdGUpIHJldHVybiB7c3RhdGU6IHN0YXRlLmxvY2FsU3RhdGUsIG1vZGU6IHN0YXRlLmxvY2FsTW9kZX07XG4gICAgICByZXR1cm4ge3N0YXRlOiBzdGF0ZSwgbW9kZTogbW9kZX07XG4gICAgfSxcblxuICAgIGluZGVudDogZnVuY3Rpb24oc3RhdGUsIHRleHRBZnRlciwgbGluZSkge1xuICAgICAgaWYgKHN0YXRlLmJsb2NrID09IGh0bWxCbG9jayAmJiBodG1sTW9kZS5pbmRlbnQpIHJldHVybiBodG1sTW9kZS5pbmRlbnQoc3RhdGUuaHRtbFN0YXRlLCB0ZXh0QWZ0ZXIsIGxpbmUpXG4gICAgICBpZiAoc3RhdGUubG9jYWxTdGF0ZSAmJiBzdGF0ZS5sb2NhbE1vZGUuaW5kZW50KSByZXR1cm4gc3RhdGUubG9jYWxNb2RlLmluZGVudChzdGF0ZS5sb2NhbFN0YXRlLCB0ZXh0QWZ0ZXIsIGxpbmUpXG4gICAgICByZXR1cm4gQ29kZU1pcnJvci5QYXNzXG4gICAgfSxcblxuICAgIGJsYW5rTGluZTogYmxhbmtMaW5lLFxuXG4gICAgZ2V0VHlwZTogZ2V0VHlwZSxcblxuICAgIGJsb2NrQ29tbWVudFN0YXJ0OiBcIjwhLS1cIixcbiAgICBibG9ja0NvbW1lbnRFbmQ6IFwiLS0+XCIsXG4gICAgY2xvc2VCcmFja2V0czogXCIoKVtde30nJ1xcXCJcXFwiYGBcIixcbiAgICBmb2xkOiBcIm1hcmtkb3duXCJcbiAgfTtcbiAgcmV0dXJuIG1vZGU7XG59LCBcInhtbFwiKTtcblxuQ29kZU1pcnJvci5kZWZpbmVNSU1FKFwidGV4dC9tYXJrZG93blwiLCBcIm1hcmtkb3duXCIpO1xuXG5Db2RlTWlycm9yLmRlZmluZU1JTUUoXCJ0ZXh0L3gtbWFya2Rvd25cIiwgXCJtYXJrZG93blwiKTtcblxufSk7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/codemirror/mode/markdown/markdown.js\n"); /***/ }), /***/ "./node_modules/codemirror/mode/mathematica/mathematica.js": /*!*****************************************************************!*\ !*** ./node_modules/codemirror/mode/mathematica/mathematica.js ***! \*****************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n// Mathematica mode copyright (c) 2015 by Calin Barbat\n// Based on code by Patrick Scheibe (halirutan)\n// See: https://github.com/halirutan/Mathematica-Source-Highlighting/tree/master/src/lang-mma.js\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ \"./node_modules/codemirror/lib/codemirror.js\"));\n else {}\n})(function(CodeMirror) {\n\"use strict\";\n\nCodeMirror.defineMode('mathematica', function(_config, _parserConfig) {\n\n // used pattern building blocks\n var Identifier = '[a-zA-Z\\\\$][a-zA-Z0-9\\\\$]*';\n var pBase = \"(?:\\\\d+)\";\n var pFloat = \"(?:\\\\.\\\\d+|\\\\d+\\\\.\\\\d*|\\\\d+)\";\n var pFloatBase = \"(?:\\\\.\\\\w+|\\\\w+\\\\.\\\\w*|\\\\w+)\";\n var pPrecision = \"(?:`(?:`?\"+pFloat+\")?)\";\n\n // regular expressions\n var reBaseForm = new RegExp('(?:'+pBase+'(?:\\\\^\\\\^'+pFloatBase+pPrecision+'?(?:\\\\*\\\\^[+-]?\\\\d+)?))');\n var reFloatForm = new RegExp('(?:' + pFloat + pPrecision + '?(?:\\\\*\\\\^[+-]?\\\\d+)?)');\n var reIdInContext = new RegExp('(?:`?)(?:' + Identifier + ')(?:`(?:' + Identifier + '))*(?:`?)');\n\n function tokenBase(stream, state) {\n var ch;\n\n // get next character\n ch = stream.next();\n\n // string\n if (ch === '\"') {\n state.tokenize = tokenString;\n return state.tokenize(stream, state);\n }\n\n // comment\n if (ch === '(') {\n if (stream.eat('*')) {\n state.commentLevel++;\n state.tokenize = tokenComment;\n return state.tokenize(stream, state);\n }\n }\n\n // go back one character\n stream.backUp(1);\n\n // look for numbers\n // Numbers in a baseform\n if (stream.match(reBaseForm, true, false)) {\n return 'number';\n }\n\n // Mathematica numbers. Floats (1.2, .2, 1.) can have optionally a precision (`float) or an accuracy definition\n // (``float). Note: while 1.2` is possible 1.2`` is not. At the end an exponent (float*^+12) can follow.\n if (stream.match(reFloatForm, true, false)) {\n return 'number';\n }\n\n /* In[23] and Out[34] */\n if (stream.match(/(?:In|Out)\\[[0-9]*\\]/, true, false)) {\n return 'atom';\n }\n\n // usage\n if (stream.match(/([a-zA-Z\\$][a-zA-Z0-9\\$]*(?:`[a-zA-Z0-9\\$]+)*::usage)/, true, false)) {\n return 'meta';\n }\n\n // message\n if (stream.match(/([a-zA-Z\\$][a-zA-Z0-9\\$]*(?:`[a-zA-Z0-9\\$]+)*::[a-zA-Z\\$][a-zA-Z0-9\\$]*):?/, true, false)) {\n return 'string-2';\n }\n\n // this makes a look-ahead match for something like variable:{_Integer}\n // the match is then forwarded to the mma-patterns tokenizer.\n if (stream.match(/([a-zA-Z\\$][a-zA-Z0-9\\$]*\\s*:)(?:(?:[a-zA-Z\\$][a-zA-Z0-9\\$]*)|(?:[^:=>~@\\^\\&\\*\\)\\[\\]'\\?,\\|])).*/, true, false)) {\n return 'variable-2';\n }\n\n // catch variables which are used together with Blank (_), BlankSequence (__) or BlankNullSequence (___)\n // Cannot start with a number, but can have numbers at any other position. Examples\n // blub__Integer, a1_, b34_Integer32\n if (stream.match(/[a-zA-Z\\$][a-zA-Z0-9\\$]*_+[a-zA-Z\\$][a-zA-Z0-9\\$]*/, true, false)) {\n return 'variable-2';\n }\n if (stream.match(/[a-zA-Z\\$][a-zA-Z0-9\\$]*_+/, true, false)) {\n return 'variable-2';\n }\n if (stream.match(/_+[a-zA-Z\\$][a-zA-Z0-9\\$]*/, true, false)) {\n return 'variable-2';\n }\n\n // Named characters in Mathematica, like \\[Gamma].\n if (stream.match(/\\\\\\[[a-zA-Z\\$][a-zA-Z0-9\\$]*\\]/, true, false)) {\n return 'variable-3';\n }\n\n // Match all braces separately\n if (stream.match(/(?:\\[|\\]|{|}|\\(|\\))/, true, false)) {\n return 'bracket';\n }\n\n // Catch Slots (#, ##, #3, ##9 and the V10 named slots #name). I have never seen someone using more than one digit after #, so we match\n // only one.\n if (stream.match(/(?:#[a-zA-Z\\$][a-zA-Z0-9\\$]*|#+[0-9]?)/, true, false)) {\n return 'variable-2';\n }\n\n // Literals like variables, keywords, functions\n if (stream.match(reIdInContext, true, false)) {\n return 'keyword';\n }\n\n // operators. Note that operators like @@ or /; are matched separately for each symbol.\n if (stream.match(/(?:\\\\|\\+|\\-|\\*|\\/|,|;|\\.|:|@|~|=|>|<|&|\\||_|`|'|\\^|\\?|!|%)/, true, false)) {\n return 'operator';\n }\n\n // everything else is an error\n stream.next(); // advance the stream.\n return 'error';\n }\n\n function tokenString(stream, state) {\n var next, end = false, escaped = false;\n while ((next = stream.next()) != null) {\n if (next === '\"' && !escaped) {\n end = true;\n break;\n }\n escaped = !escaped && next === '\\\\';\n }\n if (end && !escaped) {\n state.tokenize = tokenBase;\n }\n return 'string';\n };\n\n function tokenComment(stream, state) {\n var prev, next;\n while(state.commentLevel > 0 && (next = stream.next()) != null) {\n if (prev === '(' && next === '*') state.commentLevel++;\n if (prev === '*' && next === ')') state.commentLevel--;\n prev = next;\n }\n if (state.commentLevel <= 0) {\n state.tokenize = tokenBase;\n }\n return 'comment';\n }\n\n return {\n startState: function() {return {tokenize: tokenBase, commentLevel: 0};},\n token: function(stream, state) {\n if (stream.eatSpace()) return null;\n return state.tokenize(stream, state);\n },\n blockCommentStart: \"(*\",\n blockCommentEnd: \"*)\"\n };\n});\n\nCodeMirror.defineMIME('text/x-mathematica', {\n name: 'mathematica'\n});\n\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9tb2RlL21hdGhlbWF0aWNhL21hdGhlbWF0aWNhLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvZGVtaXJyb3IvbW9kZS9tYXRoZW1hdGljYS9tYXRoZW1hdGljYS5qcz9jZWQ2Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIENvZGVNaXJyb3IsIGNvcHlyaWdodCAoYykgYnkgTWFyaWpuIEhhdmVyYmVrZSBhbmQgb3RoZXJzXG4vLyBEaXN0cmlidXRlZCB1bmRlciBhbiBNSVQgbGljZW5zZTogaHR0cHM6Ly9jb2RlbWlycm9yLm5ldC9MSUNFTlNFXG5cbi8vIE1hdGhlbWF0aWNhIG1vZGUgY29weXJpZ2h0IChjKSAyMDE1IGJ5IENhbGluIEJhcmJhdFxuLy8gQmFzZWQgb24gY29kZSBieSBQYXRyaWNrIFNjaGVpYmUgKGhhbGlydXRhbilcbi8vIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL2hhbGlydXRhbi9NYXRoZW1hdGljYS1Tb3VyY2UtSGlnaGxpZ2h0aW5nL3RyZWUvbWFzdGVyL3NyYy9sYW5nLW1tYS5qc1xuXG4oZnVuY3Rpb24obW9kKSB7XG4gIGlmICh0eXBlb2YgZXhwb3J0cyA9PSBcIm9iamVjdFwiICYmIHR5cGVvZiBtb2R1bGUgPT0gXCJvYmplY3RcIikgLy8gQ29tbW9uSlNcbiAgICBtb2QocmVxdWlyZShcIi4uLy4uL2xpYi9jb2RlbWlycm9yXCIpKTtcbiAgZWxzZSBpZiAodHlwZW9mIGRlZmluZSA9PSBcImZ1bmN0aW9uXCIgJiYgZGVmaW5lLmFtZCkgLy8gQU1EXG4gICAgZGVmaW5lKFtcIi4uLy4uL2xpYi9jb2RlbWlycm9yXCJdLCBtb2QpO1xuICBlbHNlIC8vIFBsYWluIGJyb3dzZXIgZW52XG4gICAgbW9kKENvZGVNaXJyb3IpO1xufSkoZnVuY3Rpb24oQ29kZU1pcnJvcikge1xuXCJ1c2Ugc3RyaWN0XCI7XG5cbkNvZGVNaXJyb3IuZGVmaW5lTW9kZSgnbWF0aGVtYXRpY2EnLCBmdW5jdGlvbihfY29uZmlnLCBfcGFyc2VyQ29uZmlnKSB7XG5cbiAgLy8gdXNlZCBwYXR0ZXJuIGJ1aWxkaW5nIGJsb2Nrc1xuICB2YXIgSWRlbnRpZmllciA9ICdbYS16QS1aXFxcXCRdW2EtekEtWjAtOVxcXFwkXSonO1xuICB2YXIgcEJhc2UgICAgICA9IFwiKD86XFxcXGQrKVwiO1xuICB2YXIgcEZsb2F0ICAgICA9IFwiKD86XFxcXC5cXFxcZCt8XFxcXGQrXFxcXC5cXFxcZCp8XFxcXGQrKVwiO1xuICB2YXIgcEZsb2F0QmFzZSA9IFwiKD86XFxcXC5cXFxcdyt8XFxcXHcrXFxcXC5cXFxcdyp8XFxcXHcrKVwiO1xuICB2YXIgcFByZWNpc2lvbiA9IFwiKD86YCg/OmA/XCIrcEZsb2F0K1wiKT8pXCI7XG5cbiAgLy8gcmVndWxhciBleHByZXNzaW9uc1xuICB2YXIgcmVCYXNlRm9ybSAgICAgICAgPSBuZXcgUmVnRXhwKCcoPzonK3BCYXNlKycoPzpcXFxcXlxcXFxeJytwRmxvYXRCYXNlK3BQcmVjaXNpb24rJz8oPzpcXFxcKlxcXFxeWystXT9cXFxcZCspPykpJyk7XG4gIHZhciByZUZsb2F0Rm9ybSAgICAgICA9IG5ldyBSZWdFeHAoJyg/OicgKyBwRmxvYXQgKyBwUHJlY2lzaW9uICsgJz8oPzpcXFxcKlxcXFxeWystXT9cXFxcZCspPyknKTtcbiAgdmFyIHJlSWRJbkNvbnRleHQgICAgID0gbmV3IFJlZ0V4cCgnKD86YD8pKD86JyArIElkZW50aWZpZXIgKyAnKSg/OmAoPzonICsgSWRlbnRpZmllciArICcpKSooPzpgPyknKTtcblxuICBmdW5jdGlvbiB0b2tlbkJhc2Uoc3RyZWFtLCBzdGF0ZSkge1xuICAgIHZhciBjaDtcblxuICAgIC8vIGdldCBuZXh0IGNoYXJhY3RlclxuICAgIGNoID0gc3RyZWFtLm5leHQoKTtcblxuICAgIC8vIHN0cmluZ1xuICAgIGlmIChjaCA9PT0gJ1wiJykge1xuICAgICAgc3RhdGUudG9rZW5pemUgPSB0b2tlblN0cmluZztcbiAgICAgIHJldHVybiBzdGF0ZS50b2tlbml6ZShzdHJlYW0sIHN0YXRlKTtcbiAgICB9XG5cbiAgICAvLyBjb21tZW50XG4gICAgaWYgKGNoID09PSAnKCcpIHtcbiAgICAgIGlmIChzdHJlYW0uZWF0KCcqJykpIHtcbiAgICAgICAgc3RhdGUuY29tbWVudExldmVsKys7XG4gICAgICAgIHN0YXRlLnRva2VuaXplID0gdG9rZW5Db21tZW50O1xuICAgICAgICByZXR1cm4gc3RhdGUudG9rZW5pemUoc3RyZWFtLCBzdGF0ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gZ28gYmFjayBvbmUgY2hhcmFjdGVyXG4gICAgc3RyZWFtLmJhY2tVcCgxKTtcblxuICAgIC8vIGxvb2sgZm9yIG51bWJlcnNcbiAgICAvLyBOdW1iZXJzIGluIGEgYmFzZWZvcm1cbiAgICBpZiAoc3RyZWFtLm1hdGNoKHJlQmFzZUZvcm0sIHRydWUsIGZhbHNlKSkge1xuICAgICAgcmV0dXJuICdudW1iZXInO1xuICAgIH1cblxuICAgIC8vIE1hdGhlbWF0aWNhIG51bWJlcnMuIEZsb2F0cyAoMS4yLCAuMiwgMS4pIGNhbiBoYXZlIG9wdGlvbmFsbHkgYSBwcmVjaXNpb24gKGBmbG9hdCkgb3IgYW4gYWNjdXJhY3kgZGVmaW5pdGlvblxuICAgIC8vIChgYGZsb2F0KS4gTm90ZTogd2hpbGUgMS4yYCBpcyBwb3NzaWJsZSAxLjJgYCBpcyBub3QuIEF0IHRoZSBlbmQgYW4gZXhwb25lbnQgKGZsb2F0Kl4rMTIpIGNhbiBmb2xsb3cuXG4gICAgaWYgKHN0cmVhbS5tYXRjaChyZUZsb2F0Rm9ybSwgdHJ1ZSwgZmFsc2UpKSB7XG4gICAgICByZXR1cm4gJ251bWJlcic7XG4gICAgfVxuXG4gICAgLyogSW5bMjNdIGFuZCBPdXRbMzRdICovXG4gICAgaWYgKHN0cmVhbS5tYXRjaCgvKD86SW58T3V0KVxcW1swLTldKlxcXS8sIHRydWUsIGZhbHNlKSkge1xuICAgICAgcmV0dXJuICdhdG9tJztcbiAgICB9XG5cbiAgICAvLyB1c2FnZVxuICAgIGlmIChzdHJlYW0ubWF0Y2goLyhbYS16QS1aXFwkXVthLXpBLVowLTlcXCRdKig/OmBbYS16QS1aMC05XFwkXSspKjo6dXNhZ2UpLywgdHJ1ZSwgZmFsc2UpKSB7XG4gICAgICByZXR1cm4gJ21ldGEnO1xuICAgIH1cblxuICAgIC8vIG1lc3NhZ2VcbiAgICBpZiAoc3RyZWFtLm1hdGNoKC8oW2EtekEtWlxcJF1bYS16QS1aMC05XFwkXSooPzpgW2EtekEtWjAtOVxcJF0rKSo6OlthLXpBLVpcXCRdW2EtekEtWjAtOVxcJF0qKTo/LywgdHJ1ZSwgZmFsc2UpKSB7XG4gICAgICByZXR1cm4gJ3N0cmluZy0yJztcbiAgICB9XG5cbiAgICAvLyB0aGlzIG1ha2VzIGEgbG9vay1haGVhZCBtYXRjaCBmb3Igc29tZXRoaW5nIGxpa2UgdmFyaWFibGU6e19JbnRlZ2VyfVxuICAgIC8vIHRoZSBtYXRjaCBpcyB0aGVuIGZvcndhcmRlZCB0byB0aGUgbW1hLXBhdHRlcm5zIHRva2VuaXplci5cbiAgICBpZiAoc3RyZWFtLm1hdGNoKC8oW2EtekEtWlxcJF1bYS16QS1aMC05XFwkXSpcXHMqOikoPzooPzpbYS16QS1aXFwkXVthLXpBLVowLTlcXCRdKil8KD86W146PT5+QFxcXlxcJlxcKlxcKVxcW1xcXSdcXD8sXFx8XSkpLiovLCB0cnVlLCBmYWxzZSkpIHtcbiAgICAgIHJldHVybiAndmFyaWFibGUtMic7XG4gICAgfVxuXG4gICAgLy8gY2F0Y2ggdmFyaWFibGVzIHdoaWNoIGFyZSB1c2VkIHRvZ2V0aGVyIHdpdGggQmxhbmsgKF8pLCBCbGFua1NlcXVlbmNlIChfXykgb3IgQmxhbmtOdWxsU2VxdWVuY2UgKF9fXylcbiAgICAvLyBDYW5ub3Qgc3RhcnQgd2l0aCBhIG51bWJlciwgYnV0IGNhbiBoYXZlIG51bWJlcnMgYXQgYW55IG90aGVyIHBvc2l0aW9uLiBFeGFtcGxlc1xuICAgIC8vIGJsdWJfX0ludGVnZXIsIGExXywgYjM0X0ludGVnZXIzMlxuICAgIGlmIChzdHJlYW0ubWF0Y2goL1thLXpBLVpcXCRdW2EtekEtWjAtOVxcJF0qXytbYS16QS1aXFwkXVthLXpBLVowLTlcXCRdKi8sIHRydWUsIGZhbHNlKSkge1xuICAgICAgcmV0dXJuICd2YXJpYWJsZS0yJztcbiAgICB9XG4gICAgaWYgKHN0cmVhbS5tYXRjaCgvW2EtekEtWlxcJF1bYS16QS1aMC05XFwkXSpfKy8sIHRydWUsIGZhbHNlKSkge1xuICAgICAgcmV0dXJuICd2YXJpYWJsZS0yJztcbiAgICB9XG4gICAgaWYgKHN0cmVhbS5tYXRjaCgvXytbYS16QS1aXFwkXVthLXpBLVowLTlcXCRdKi8sIHRydWUsIGZhbHNlKSkge1xuICAgICAgcmV0dXJuICd2YXJpYWJsZS0yJztcbiAgICB9XG5cbiAgICAvLyBOYW1lZCBjaGFyYWN0ZXJzIGluIE1hdGhlbWF0aWNhLCBsaWtlIFxcW0dhbW1hXS5cbiAgICBpZiAoc3RyZWFtLm1hdGNoKC9cXFxcXFxbW2EtekEtWlxcJF1bYS16QS1aMC05XFwkXSpcXF0vLCB0cnVlLCBmYWxzZSkpIHtcbiAgICAgIHJldHVybiAndmFyaWFibGUtMyc7XG4gICAgfVxuXG4gICAgLy8gTWF0Y2ggYWxsIGJyYWNlcyBzZXBhcmF0ZWx5XG4gICAgaWYgKHN0cmVhbS5tYXRjaCgvKD86XFxbfFxcXXx7fH18XFwofFxcKSkvLCB0cnVlLCBmYWxzZSkpIHtcbiAgICAgIHJldHVybiAnYnJhY2tldCc7XG4gICAgfVxuXG4gICAgLy8gQ2F0Y2ggU2xvdHMgKCMsICMjLCAjMywgIyM5IGFuZCB0aGUgVjEwIG5hbWVkIHNsb3RzICNuYW1lKS4gSSBoYXZlIG5ldmVyIHNlZW4gc29tZW9uZSB1c2luZyBtb3JlIHRoYW4gb25lIGRpZ2l0IGFmdGVyICMsIHNvIHdlIG1hdGNoXG4gICAgLy8gb25seSBvbmUuXG4gICAgaWYgKHN0cmVhbS5tYXRjaCgvKD86I1thLXpBLVpcXCRdW2EtekEtWjAtOVxcJF0qfCMrWzAtOV0/KS8sIHRydWUsIGZhbHNlKSkge1xuICAgICAgcmV0dXJuICd2YXJpYWJsZS0yJztcbiAgICB9XG5cbiAgICAvLyBMaXRlcmFscyBsaWtlIHZhcmlhYmxlcywga2V5d29yZHMsIGZ1bmN0aW9uc1xuICAgIGlmIChzdHJlYW0ubWF0Y2gocmVJZEluQ29udGV4dCwgdHJ1ZSwgZmFsc2UpKSB7XG4gICAgICByZXR1cm4gJ2tleXdvcmQnO1xuICAgIH1cblxuICAgIC8vIG9wZXJhdG9ycy4gTm90ZSB0aGF0IG9wZXJhdG9ycyBsaWtlIEBAIG9yIC87IGFyZSBtYXRjaGVkIHNlcGFyYXRlbHkgZm9yIGVhY2ggc3ltYm9sLlxuICAgIGlmIChzdHJlYW0ubWF0Y2goLyg/OlxcXFx8XFwrfFxcLXxcXCp8XFwvfCx8O3xcXC58OnxAfH58PXw+fDx8JnxcXHx8X3xgfCd8XFxefFxcP3whfCUpLywgdHJ1ZSwgZmFsc2UpKSB7XG4gICAgICByZXR1cm4gJ29wZXJhdG9yJztcbiAgICB9XG5cbiAgICAvLyBldmVyeXRoaW5nIGVsc2UgaXMgYW4gZXJyb3JcbiAgICBzdHJlYW0ubmV4dCgpOyAvLyBhZHZhbmNlIHRoZSBzdHJlYW0uXG4gICAgcmV0dXJuICdlcnJvcic7XG4gIH1cblxuICBmdW5jdGlvbiB0b2tlblN0cmluZyhzdHJlYW0sIHN0YXRlKSB7XG4gICAgdmFyIG5leHQsIGVuZCA9IGZhbHNlLCBlc2NhcGVkID0gZmFsc2U7XG4gICAgd2hpbGUgKChuZXh0ID0gc3RyZWFtLm5leHQoKSkgIT0gbnVsbCkge1xuICAgICAgaWYgKG5leHQgPT09ICdcIicgJiYgIWVzY2FwZWQpIHtcbiAgICAgICAgZW5kID0gdHJ1ZTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBlc2NhcGVkID0gIWVzY2FwZWQgJiYgbmV4dCA9PT0gJ1xcXFwnO1xuICAgIH1cbiAgICBpZiAoZW5kICYmICFlc2NhcGVkKSB7XG4gICAgICBzdGF0ZS50b2tlbml6ZSA9IHRva2VuQmFzZTtcbiAgICB9XG4gICAgcmV0dXJuICdzdHJpbmcnO1xuICB9O1xuXG4gIGZ1bmN0aW9uIHRva2VuQ29tbWVudChzdHJlYW0sIHN0YXRlKSB7XG4gICAgdmFyIHByZXYsIG5leHQ7XG4gICAgd2hpbGUoc3RhdGUuY29tbWVudExldmVsID4gMCAmJiAobmV4dCA9IHN0cmVhbS5uZXh0KCkpICE9IG51bGwpIHtcbiAgICAgIGlmIChwcmV2ID09PSAnKCcgJiYgbmV4dCA9PT0gJyonKSBzdGF0ZS5jb21tZW50TGV2ZWwrKztcbiAgICAgIGlmIChwcmV2ID09PSAnKicgJiYgbmV4dCA9PT0gJyknKSBzdGF0ZS5jb21tZW50TGV2ZWwtLTtcbiAgICAgIHByZXYgPSBuZXh0O1xuICAgIH1cbiAgICBpZiAoc3RhdGUuY29tbWVudExldmVsIDw9IDApIHtcbiAgICAgIHN0YXRlLnRva2VuaXplID0gdG9rZW5CYXNlO1xuICAgIH1cbiAgICByZXR1cm4gJ2NvbW1lbnQnO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBzdGFydFN0YXRlOiBmdW5jdGlvbigpIHtyZXR1cm4ge3Rva2VuaXplOiB0b2tlbkJhc2UsIGNvbW1lbnRMZXZlbDogMH07fSxcbiAgICB0b2tlbjogZnVuY3Rpb24oc3RyZWFtLCBzdGF0ZSkge1xuICAgICAgaWYgKHN0cmVhbS5lYXRTcGFjZSgpKSByZXR1cm4gbnVsbDtcbiAgICAgIHJldHVybiBzdGF0ZS50b2tlbml6ZShzdHJlYW0sIHN0YXRlKTtcbiAgICB9LFxuICAgIGJsb2NrQ29tbWVudFN0YXJ0OiBcIigqXCIsXG4gICAgYmxvY2tDb21tZW50RW5kOiBcIiopXCJcbiAgfTtcbn0pO1xuXG5Db2RlTWlycm9yLmRlZmluZU1JTUUoJ3RleHQveC1tYXRoZW1hdGljYScsIHtcbiAgbmFtZTogJ21hdGhlbWF0aWNhJ1xufSk7XG5cbn0pO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/codemirror/mode/mathematica/mathematica.js\n"); /***/ }), /***/ "./node_modules/codemirror/mode/meta.js": /*!**********************************************!*\ !*** ./node_modules/codemirror/mode/meta.js ***! \**********************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../lib/codemirror */ \"./node_modules/codemirror/lib/codemirror.js\"));\n else {}\n})(function(CodeMirror) {\n \"use strict\";\n\n CodeMirror.modeInfo = [\n {name: \"APL\", mime: \"text/apl\", mode: \"apl\", ext: [\"dyalog\", \"apl\"]},\n {name: \"PGP\", mimes: [\"application/pgp\", \"application/pgp-encrypted\", \"application/pgp-keys\", \"application/pgp-signature\"], mode: \"asciiarmor\", ext: [\"asc\", \"pgp\", \"sig\"]},\n {name: \"ASN.1\", mime: \"text/x-ttcn-asn\", mode: \"asn.1\", ext: [\"asn\", \"asn1\"]},\n {name: \"Asterisk\", mime: \"text/x-asterisk\", mode: \"asterisk\", file: /^extensions\\.conf$/i},\n {name: \"Brainfuck\", mime: \"text/x-brainfuck\", mode: \"brainfuck\", ext: [\"b\", \"bf\"]},\n {name: \"C\", mime: \"text/x-csrc\", mode: \"clike\", ext: [\"c\", \"h\", \"ino\"]},\n {name: \"C++\", mime: \"text/x-c++src\", mode: \"clike\", ext: [\"cpp\", \"c++\", \"cc\", \"cxx\", \"hpp\", \"h++\", \"hh\", \"hxx\"], alias: [\"cpp\"]},\n {name: \"Cobol\", mime: \"text/x-cobol\", mode: \"cobol\", ext: [\"cob\", \"cpy\"]},\n {name: \"C#\", mime: \"text/x-csharp\", mode: \"clike\", ext: [\"cs\"], alias: [\"csharp\", \"cs\"]},\n {name: \"Clojure\", mime: \"text/x-clojure\", mode: \"clojure\", ext: [\"clj\", \"cljc\", \"cljx\"]},\n {name: \"ClojureScript\", mime: \"text/x-clojurescript\", mode: \"clojure\", ext: [\"cljs\"]},\n {name: \"Closure Stylesheets (GSS)\", mime: \"text/x-gss\", mode: \"css\", ext: [\"gss\"]},\n {name: \"CMake\", mime: \"text/x-cmake\", mode: \"cmake\", ext: [\"cmake\", \"cmake.in\"], file: /^CMakeLists.txt$/},\n {name: \"CoffeeScript\", mimes: [\"application/vnd.coffeescript\", \"text/coffeescript\", \"text/x-coffeescript\"], mode: \"coffeescript\", ext: [\"coffee\"], alias: [\"coffee\", \"coffee-script\"]},\n {name: \"Common Lisp\", mime: \"text/x-common-lisp\", mode: \"commonlisp\", ext: [\"cl\", \"lisp\", \"el\"], alias: [\"lisp\"]},\n {name: \"Cypher\", mime: \"application/x-cypher-query\", mode: \"cypher\", ext: [\"cyp\", \"cypher\"]},\n {name: \"Cython\", mime: \"text/x-cython\", mode: \"python\", ext: [\"pyx\", \"pxd\", \"pxi\"]},\n {name: \"Crystal\", mime: \"text/x-crystal\", mode: \"crystal\", ext: [\"cr\"]},\n {name: \"CSS\", mime: \"text/css\", mode: \"css\", ext: [\"css\"]},\n {name: \"CQL\", mime: \"text/x-cassandra\", mode: \"sql\", ext: [\"cql\"]},\n {name: \"D\", mime: \"text/x-d\", mode: \"d\", ext: [\"d\"]},\n {name: \"Dart\", mimes: [\"application/dart\", \"text/x-dart\"], mode: \"dart\", ext: [\"dart\"]},\n {name: \"diff\", mime: \"text/x-diff\", mode: \"diff\", ext: [\"diff\", \"patch\"]},\n {name: \"Django\", mime: \"text/x-django\", mode: \"django\"},\n {name: \"Dockerfile\", mime: \"text/x-dockerfile\", mode: \"dockerfile\", file: /^Dockerfile$/},\n {name: \"DTD\", mime: \"application/xml-dtd\", mode: \"dtd\", ext: [\"dtd\"]},\n {name: \"Dylan\", mime: \"text/x-dylan\", mode: \"dylan\", ext: [\"dylan\", \"dyl\", \"intr\"]},\n {name: \"EBNF\", mime: \"text/x-ebnf\", mode: \"ebnf\"},\n {name: \"ECL\", mime: \"text/x-ecl\", mode: \"ecl\", ext: [\"ecl\"]},\n {name: \"edn\", mime: \"application/edn\", mode: \"clojure\", ext: [\"edn\"]},\n {name: \"Eiffel\", mime: \"text/x-eiffel\", mode: \"eiffel\", ext: [\"e\"]},\n {name: \"Elm\", mime: \"text/x-elm\", mode: \"elm\", ext: [\"elm\"]},\n {name: \"Embedded Javascript\", mime: \"application/x-ejs\", mode: \"htmlembedded\", ext: [\"ejs\"]},\n {name: \"Embedded Ruby\", mime: \"application/x-erb\", mode: \"htmlembedded\", ext: [\"erb\"]},\n {name: \"Erlang\", mime: \"text/x-erlang\", mode: \"erlang\", ext: [\"erl\"]},\n {name: \"Esper\", mime: \"text/x-esper\", mode: \"sql\"},\n {name: \"Factor\", mime: \"text/x-factor\", mode: \"factor\", ext: [\"factor\"]},\n {name: \"FCL\", mime: \"text/x-fcl\", mode: \"fcl\"},\n {name: \"Forth\", mime: \"text/x-forth\", mode: \"forth\", ext: [\"forth\", \"fth\", \"4th\"]},\n {name: \"Fortran\", mime: \"text/x-fortran\", mode: \"fortran\", ext: [\"f\", \"for\", \"f77\", \"f90\", \"f95\"]},\n {name: \"F#\", mime: \"text/x-fsharp\", mode: \"mllike\", ext: [\"fs\"], alias: [\"fsharp\"]},\n {name: \"Gas\", mime: \"text/x-gas\", mode: \"gas\", ext: [\"s\"]},\n {name: \"Gherkin\", mime: \"text/x-feature\", mode: \"gherkin\", ext: [\"feature\"]},\n {name: \"GitHub Flavored Markdown\", mime: \"text/x-gfm\", mode: \"gfm\", file: /^(readme|contributing|history).md$/i},\n {name: \"Go\", mime: \"text/x-go\", mode: \"go\", ext: [\"go\"]},\n {name: \"Groovy\", mime: \"text/x-groovy\", mode: \"groovy\", ext: [\"groovy\", \"gradle\"], file: /^Jenkinsfile$/},\n {name: \"HAML\", mime: \"text/x-haml\", mode: \"haml\", ext: [\"haml\"]},\n {name: \"Haskell\", mime: \"text/x-haskell\", mode: \"haskell\", ext: [\"hs\"]},\n {name: \"Haskell (Literate)\", mime: \"text/x-literate-haskell\", mode: \"haskell-literate\", ext: [\"lhs\"]},\n {name: \"Haxe\", mime: \"text/x-haxe\", mode: \"haxe\", ext: [\"hx\"]},\n {name: \"HXML\", mime: \"text/x-hxml\", mode: \"haxe\", ext: [\"hxml\"]},\n {name: \"ASP.NET\", mime: \"application/x-aspx\", mode: \"htmlembedded\", ext: [\"aspx\"], alias: [\"asp\", \"aspx\"]},\n {name: \"HTML\", mime: \"text/html\", mode: \"htmlmixed\", ext: [\"html\", \"htm\", \"handlebars\", \"hbs\"], alias: [\"xhtml\"]},\n {name: \"HTTP\", mime: \"message/http\", mode: \"http\"},\n {name: \"IDL\", mime: \"text/x-idl\", mode: \"idl\", ext: [\"pro\"]},\n {name: \"Pug\", mime: \"text/x-pug\", mode: \"pug\", ext: [\"jade\", \"pug\"], alias: [\"jade\"]},\n {name: \"Java\", mime: \"text/x-java\", mode: \"clike\", ext: [\"java\"]},\n {name: \"Java Server Pages\", mime: \"application/x-jsp\", mode: \"htmlembedded\", ext: [\"jsp\"], alias: [\"jsp\"]},\n {name: \"JavaScript\", mimes: [\"text/javascript\", \"text/ecmascript\", \"application/javascript\", \"application/x-javascript\", \"application/ecmascript\"],\n mode: \"javascript\", ext: [\"js\"], alias: [\"ecmascript\", \"js\", \"node\"]},\n {name: \"JSON\", mimes: [\"application/json\", \"application/x-json\"], mode: \"javascript\", ext: [\"json\", \"map\"], alias: [\"json5\"]},\n {name: \"JSON-LD\", mime: \"application/ld+json\", mode: \"javascript\", ext: [\"jsonld\"], alias: [\"jsonld\"]},\n {name: \"JSX\", mime: \"text/jsx\", mode: \"jsx\", ext: [\"jsx\"]},\n {name: \"Jinja2\", mime: \"text/jinja2\", mode: \"jinja2\", ext: [\"j2\", \"jinja\", \"jinja2\"]},\n {name: \"Julia\", mime: \"text/x-julia\", mode: \"julia\", ext: [\"jl\"]},\n {name: \"Kotlin\", mime: \"text/x-kotlin\", mode: \"clike\", ext: [\"kt\"]},\n {name: \"LESS\", mime: \"text/x-less\", mode: \"css\", ext: [\"less\"]},\n {name: \"LiveScript\", mime: \"text/x-livescript\", mode: \"livescript\", ext: [\"ls\"], alias: [\"ls\"]},\n {name: \"Lua\", mime: \"text/x-lua\", mode: \"lua\", ext: [\"lua\"]},\n {name: \"Markdown\", mime: \"text/x-markdown\", mode: \"markdown\", ext: [\"markdown\", \"md\", \"mkd\"]},\n {name: \"mIRC\", mime: \"text/mirc\", mode: \"mirc\"},\n {name: \"MariaDB SQL\", mime: \"text/x-mariadb\", mode: \"sql\"},\n {name: \"Mathematica\", mime: \"text/x-mathematica\", mode: \"mathematica\", ext: [\"m\", \"nb\"]},\n {name: \"Modelica\", mime: \"text/x-modelica\", mode: \"modelica\", ext: [\"mo\"]},\n {name: \"MUMPS\", mime: \"text/x-mumps\", mode: \"mumps\", ext: [\"mps\"]},\n {name: \"MS SQL\", mime: \"text/x-mssql\", mode: \"sql\"},\n {name: \"mbox\", mime: \"application/mbox\", mode: \"mbox\", ext: [\"mbox\"]},\n {name: \"MySQL\", mime: \"text/x-mysql\", mode: \"sql\"},\n {name: \"Nginx\", mime: \"text/x-nginx-conf\", mode: \"nginx\", file: /nginx.*\\.conf$/i},\n {name: \"NSIS\", mime: \"text/x-nsis\", mode: \"nsis\", ext: [\"nsh\", \"nsi\"]},\n {name: \"NTriples\", mimes: [\"application/n-triples\", \"application/n-quads\", \"text/n-triples\"],\n mode: \"ntriples\", ext: [\"nt\", \"nq\"]},\n {name: \"Objective-C\", mime: \"text/x-objectivec\", mode: \"clike\", ext: [\"m\", \"mm\"], alias: [\"objective-c\", \"objc\"]},\n {name: \"OCaml\", mime: \"text/x-ocaml\", mode: \"mllike\", ext: [\"ml\", \"mli\", \"mll\", \"mly\"]},\n {name: \"Octave\", mime: \"text/x-octave\", mode: \"octave\", ext: [\"m\"]},\n {name: \"Oz\", mime: \"text/x-oz\", mode: \"oz\", ext: [\"oz\"]},\n {name: \"Pascal\", mime: \"text/x-pascal\", mode: \"pascal\", ext: [\"p\", \"pas\"]},\n {name: \"PEG.js\", mime: \"null\", mode: \"pegjs\", ext: [\"jsonld\"]},\n {name: \"Perl\", mime: \"text/x-perl\", mode: \"perl\", ext: [\"pl\", \"pm\"]},\n {name: \"PHP\", mimes: [\"text/x-php\", \"application/x-httpd-php\", \"application/x-httpd-php-open\"], mode: \"php\", ext: [\"php\", \"php3\", \"php4\", \"php5\", \"php7\", \"phtml\"]},\n {name: \"Pig\", mime: \"text/x-pig\", mode: \"pig\", ext: [\"pig\"]},\n {name: \"Plain Text\", mime: \"text/plain\", mode: \"null\", ext: [\"txt\", \"text\", \"conf\", \"def\", \"list\", \"log\"]},\n {name: \"PLSQL\", mime: \"text/x-plsql\", mode: \"sql\", ext: [\"pls\"]},\n {name: \"PostgreSQL\", mime: \"text/x-pgsql\", mode: \"sql\"},\n {name: \"PowerShell\", mime: \"application/x-powershell\", mode: \"powershell\", ext: [\"ps1\", \"psd1\", \"psm1\"]},\n {name: \"Properties files\", mime: \"text/x-properties\", mode: \"properties\", ext: [\"properties\", \"ini\", \"in\"], alias: [\"ini\", \"properties\"]},\n {name: \"ProtoBuf\", mime: \"text/x-protobuf\", mode: \"protobuf\", ext: [\"proto\"]},\n {name: \"Python\", mime: \"text/x-python\", mode: \"python\", ext: [\"BUILD\", \"bzl\", \"py\", \"pyw\"], file: /^(BUCK|BUILD)$/},\n {name: \"Puppet\", mime: \"text/x-puppet\", mode: \"puppet\", ext: [\"pp\"]},\n {name: \"Q\", mime: \"text/x-q\", mode: \"q\", ext: [\"q\"]},\n {name: \"R\", mime: \"text/x-rsrc\", mode: \"r\", ext: [\"r\", \"R\"], alias: [\"rscript\"]},\n {name: \"reStructuredText\", mime: \"text/x-rst\", mode: \"rst\", ext: [\"rst\"], alias: [\"rst\"]},\n {name: \"RPM Changes\", mime: \"text/x-rpm-changes\", mode: \"rpm\"},\n {name: \"RPM Spec\", mime: \"text/x-rpm-spec\", mode: \"rpm\", ext: [\"spec\"]},\n {name: \"Ruby\", mime: \"text/x-ruby\", mode: \"ruby\", ext: [\"rb\"], alias: [\"jruby\", \"macruby\", \"rake\", \"rb\", \"rbx\"]},\n {name: \"Rust\", mime: \"text/x-rustsrc\", mode: \"rust\", ext: [\"rs\"]},\n {name: \"SAS\", mime: \"text/x-sas\", mode: \"sas\", ext: [\"sas\"]},\n {name: \"Sass\", mime: \"text/x-sass\", mode: \"sass\", ext: [\"sass\"]},\n {name: \"Scala\", mime: \"text/x-scala\", mode: \"clike\", ext: [\"scala\"]},\n {name: \"Scheme\", mime: \"text/x-scheme\", mode: \"scheme\", ext: [\"scm\", \"ss\"]},\n {name: \"SCSS\", mime: \"text/x-scss\", mode: \"css\", ext: [\"scss\"]},\n {name: \"Shell\", mimes: [\"text/x-sh\", \"application/x-sh\"], mode: \"shell\", ext: [\"sh\", \"ksh\", \"bash\"], alias: [\"bash\", \"sh\", \"zsh\"], file: /^PKGBUILD$/},\n {name: \"Sieve\", mime: \"application/sieve\", mode: \"sieve\", ext: [\"siv\", \"sieve\"]},\n {name: \"Slim\", mimes: [\"text/x-slim\", \"application/x-slim\"], mode: \"slim\", ext: [\"slim\"]},\n {name: \"Smalltalk\", mime: \"text/x-stsrc\", mode: \"smalltalk\", ext: [\"st\"]},\n {name: \"Smarty\", mime: \"text/x-smarty\", mode: \"smarty\", ext: [\"tpl\"]},\n {name: \"Solr\", mime: \"text/x-solr\", mode: \"solr\"},\n {name: \"SML\", mime: \"text/x-sml\", mode: \"mllike\", ext: [\"sml\", \"sig\", \"fun\", \"smackspec\"]},\n {name: \"Soy\", mime: \"text/x-soy\", mode: \"soy\", ext: [\"soy\"], alias: [\"closure template\"]},\n {name: \"SPARQL\", mime: \"application/sparql-query\", mode: \"sparql\", ext: [\"rq\", \"sparql\"], alias: [\"sparul\"]},\n {name: \"Spreadsheet\", mime: \"text/x-spreadsheet\", mode: \"spreadsheet\", alias: [\"excel\", \"formula\"]},\n {name: \"SQL\", mime: \"text/x-sql\", mode: \"sql\", ext: [\"sql\"]},\n {name: \"SQLite\", mime: \"text/x-sqlite\", mode: \"sql\"},\n {name: \"Squirrel\", mime: \"text/x-squirrel\", mode: \"clike\", ext: [\"nut\"]},\n {name: \"Stylus\", mime: \"text/x-styl\", mode: \"stylus\", ext: [\"styl\"]},\n {name: \"Swift\", mime: \"text/x-swift\", mode: \"swift\", ext: [\"swift\"]},\n {name: \"sTeX\", mime: \"text/x-stex\", mode: \"stex\"},\n {name: \"LaTeX\", mime: \"text/x-latex\", mode: \"stex\", ext: [\"text\", \"ltx\", \"tex\"], alias: [\"tex\"]},\n {name: \"SystemVerilog\", mime: \"text/x-systemverilog\", mode: \"verilog\", ext: [\"v\", \"sv\", \"svh\"]},\n {name: \"Tcl\", mime: \"text/x-tcl\", mode: \"tcl\", ext: [\"tcl\"]},\n {name: \"Textile\", mime: \"text/x-textile\", mode: \"textile\", ext: [\"textile\"]},\n {name: \"TiddlyWiki \", mime: \"text/x-tiddlywiki\", mode: \"tiddlywiki\"},\n {name: \"Tiki wiki\", mime: \"text/tiki\", mode: \"tiki\"},\n {name: \"TOML\", mime: \"text/x-toml\", mode: \"toml\", ext: [\"toml\"]},\n {name: \"Tornado\", mime: \"text/x-tornado\", mode: \"tornado\"},\n {name: \"troff\", mime: \"text/troff\", mode: \"troff\", ext: [\"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\"]},\n {name: \"TTCN\", mime: \"text/x-ttcn\", mode: \"ttcn\", ext: [\"ttcn\", \"ttcn3\", \"ttcnpp\"]},\n {name: \"TTCN_CFG\", mime: \"text/x-ttcn-cfg\", mode: \"ttcn-cfg\", ext: [\"cfg\"]},\n {name: \"Turtle\", mime: \"text/turtle\", mode: \"turtle\", ext: [\"ttl\"]},\n {name: \"TypeScript\", mime: \"application/typescript\", mode: \"javascript\", ext: [\"ts\"], alias: [\"ts\"]},\n {name: \"TypeScript-JSX\", mime: \"text/typescript-jsx\", mode: \"jsx\", ext: [\"tsx\"], alias: [\"tsx\"]},\n {name: \"Twig\", mime: \"text/x-twig\", mode: \"twig\"},\n {name: \"Web IDL\", mime: \"text/x-webidl\", mode: \"webidl\", ext: [\"webidl\"]},\n {name: \"VB.NET\", mime: \"text/x-vb\", mode: \"vb\", ext: [\"vb\"]},\n {name: \"VBScript\", mime: \"text/vbscript\", mode: \"vbscript\", ext: [\"vbs\"]},\n {name: \"Velocity\", mime: \"text/velocity\", mode: \"velocity\", ext: [\"vtl\"]},\n {name: \"Verilog\", mime: \"text/x-verilog\", mode: \"verilog\", ext: [\"v\"]},\n {name: \"VHDL\", mime: \"text/x-vhdl\", mode: \"vhdl\", ext: [\"vhd\", \"vhdl\"]},\n {name: \"Vue.js Component\", mimes: [\"script/x-vue\", \"text/x-vue\"], mode: \"vue\", ext: [\"vue\"]},\n {name: \"XML\", mimes: [\"application/xml\", \"text/xml\"], mode: \"xml\", ext: [\"xml\", \"xsl\", \"xsd\", \"svg\"], alias: [\"rss\", \"wsdl\", \"xsd\"]},\n {name: \"XQuery\", mime: \"application/xquery\", mode: \"xquery\", ext: [\"xy\", \"xquery\"]},\n {name: \"Yacas\", mime: \"text/x-yacas\", mode: \"yacas\", ext: [\"ys\"]},\n {name: \"YAML\", mimes: [\"text/x-yaml\", \"text/yaml\"], mode: \"yaml\", ext: [\"yaml\", \"yml\"], alias: [\"yml\"]},\n {name: \"Z80\", mime: \"text/x-z80\", mode: \"z80\", ext: [\"z80\"]},\n {name: \"mscgen\", mime: \"text/x-mscgen\", mode: \"mscgen\", ext: [\"mscgen\", \"mscin\", \"msc\"]},\n {name: \"xu\", mime: \"text/x-xu\", mode: \"mscgen\", ext: [\"xu\"]},\n {name: \"msgenny\", mime: \"text/x-msgenny\", mode: \"mscgen\", ext: [\"msgenny\"]}\n ];\n // Ensure all modes have a mime property for backwards compatibility\n for (var i = 0; i < CodeMirror.modeInfo.length; i++) {\n var info = CodeMirror.modeInfo[i];\n if (info.mimes) info.mime = info.mimes[0];\n }\n\n CodeMirror.findModeByMIME = function(mime) {\n mime = mime.toLowerCase();\n for (var i = 0; i < CodeMirror.modeInfo.length; i++) {\n var info = CodeMirror.modeInfo[i];\n if (info.mime == mime) return info;\n if (info.mimes) for (var j = 0; j < info.mimes.length; j++)\n if (info.mimes[j] == mime) return info;\n }\n if (/\\+xml$/.test(mime)) return CodeMirror.findModeByMIME(\"application/xml\")\n if (/\\+json$/.test(mime)) return CodeMirror.findModeByMIME(\"application/json\")\n };\n\n CodeMirror.findModeByExtension = function(ext) {\n for (var i = 0; i < CodeMirror.modeInfo.length; i++) {\n var info = CodeMirror.modeInfo[i];\n if (info.ext) for (var j = 0; j < info.ext.length; j++)\n if (info.ext[j] == ext) return info;\n }\n };\n\n CodeMirror.findModeByFileName = function(filename) {\n for (var i = 0; i < CodeMirror.modeInfo.length; i++) {\n var info = CodeMirror.modeInfo[i];\n if (info.file && info.file.test(filename)) return info;\n }\n var dot = filename.lastIndexOf(\".\");\n var ext = dot > -1 && filename.substring(dot + 1, filename.length);\n if (ext) return CodeMirror.findModeByExtension(ext);\n };\n\n CodeMirror.findModeByName = function(name) {\n name = name.toLowerCase();\n for (var i = 0; i < CodeMirror.modeInfo.length; i++) {\n var info = CodeMirror.modeInfo[i];\n if (info.name.toLowerCase() == name) return info;\n if (info.alias) for (var j = 0; j < info.alias.length; j++)\n if (info.alias[j].toLowerCase() == name) return info;\n }\n };\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9tb2RlL21ldGEuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9tb2RlL21ldGEuanM/ZjA0MCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb2RlTWlycm9yLCBjb3B5cmlnaHQgKGMpIGJ5IE1hcmlqbiBIYXZlcmJla2UgYW5kIG90aGVyc1xuLy8gRGlzdHJpYnV0ZWQgdW5kZXIgYW4gTUlUIGxpY2Vuc2U6IGh0dHBzOi8vY29kZW1pcnJvci5uZXQvTElDRU5TRVxuXG4oZnVuY3Rpb24obW9kKSB7XG4gIGlmICh0eXBlb2YgZXhwb3J0cyA9PSBcIm9iamVjdFwiICYmIHR5cGVvZiBtb2R1bGUgPT0gXCJvYmplY3RcIikgLy8gQ29tbW9uSlNcbiAgICBtb2QocmVxdWlyZShcIi4uL2xpYi9jb2RlbWlycm9yXCIpKTtcbiAgZWxzZSBpZiAodHlwZW9mIGRlZmluZSA9PSBcImZ1bmN0aW9uXCIgJiYgZGVmaW5lLmFtZCkgLy8gQU1EXG4gICAgZGVmaW5lKFtcIi4uL2xpYi9jb2RlbWlycm9yXCJdLCBtb2QpO1xuICBlbHNlIC8vIFBsYWluIGJyb3dzZXIgZW52XG4gICAgbW9kKENvZGVNaXJyb3IpO1xufSkoZnVuY3Rpb24oQ29kZU1pcnJvcikge1xuICBcInVzZSBzdHJpY3RcIjtcblxuICBDb2RlTWlycm9yLm1vZGVJbmZvID0gW1xuICAgIHtuYW1lOiBcIkFQTFwiLCBtaW1lOiBcInRleHQvYXBsXCIsIG1vZGU6IFwiYXBsXCIsIGV4dDogW1wiZHlhbG9nXCIsIFwiYXBsXCJdfSxcbiAgICB7bmFtZTogXCJQR1BcIiwgbWltZXM6IFtcImFwcGxpY2F0aW9uL3BncFwiLCBcImFwcGxpY2F0aW9uL3BncC1lbmNyeXB0ZWRcIiwgXCJhcHBsaWNhdGlvbi9wZ3Ata2V5c1wiLCBcImFwcGxpY2F0aW9uL3BncC1zaWduYXR1cmVcIl0sIG1vZGU6IFwiYXNjaWlhcm1vclwiLCBleHQ6IFtcImFzY1wiLCBcInBncFwiLCBcInNpZ1wiXX0sXG4gICAge25hbWU6IFwiQVNOLjFcIiwgbWltZTogXCJ0ZXh0L3gtdHRjbi1hc25cIiwgbW9kZTogXCJhc24uMVwiLCBleHQ6IFtcImFzblwiLCBcImFzbjFcIl19LFxuICAgIHtuYW1lOiBcIkFzdGVyaXNrXCIsIG1pbWU6IFwidGV4dC94LWFzdGVyaXNrXCIsIG1vZGU6IFwiYXN0ZXJpc2tcIiwgZmlsZTogL15leHRlbnNpb25zXFwuY29uZiQvaX0sXG4gICAge25hbWU6IFwiQnJhaW5mdWNrXCIsIG1pbWU6IFwidGV4dC94LWJyYWluZnVja1wiLCBtb2RlOiBcImJyYWluZnVja1wiLCBleHQ6IFtcImJcIiwgXCJiZlwiXX0sXG4gICAge25hbWU6IFwiQ1wiLCBtaW1lOiBcInRleHQveC1jc3JjXCIsIG1vZGU6IFwiY2xpa2VcIiwgZXh0OiBbXCJjXCIsIFwiaFwiLCBcImlub1wiXX0sXG4gICAge25hbWU6IFwiQysrXCIsIG1pbWU6IFwidGV4dC94LWMrK3NyY1wiLCBtb2RlOiBcImNsaWtlXCIsIGV4dDogW1wiY3BwXCIsIFwiYysrXCIsIFwiY2NcIiwgXCJjeHhcIiwgXCJocHBcIiwgXCJoKytcIiwgXCJoaFwiLCBcImh4eFwiXSwgYWxpYXM6IFtcImNwcFwiXX0sXG4gICAge25hbWU6IFwiQ29ib2xcIiwgbWltZTogXCJ0ZXh0L3gtY29ib2xcIiwgbW9kZTogXCJjb2JvbFwiLCBleHQ6IFtcImNvYlwiLCBcImNweVwiXX0sXG4gICAge25hbWU6IFwiQyNcIiwgbWltZTogXCJ0ZXh0L3gtY3NoYXJwXCIsIG1vZGU6IFwiY2xpa2VcIiwgZXh0OiBbXCJjc1wiXSwgYWxpYXM6IFtcImNzaGFycFwiLCBcImNzXCJdfSxcbiAgICB7bmFtZTogXCJDbG9qdXJlXCIsIG1pbWU6IFwidGV4dC94LWNsb2p1cmVcIiwgbW9kZTogXCJjbG9qdXJlXCIsIGV4dDogW1wiY2xqXCIsIFwiY2xqY1wiLCBcImNsanhcIl19LFxuICAgIHtuYW1lOiBcIkNsb2p1cmVTY3JpcHRcIiwgbWltZTogXCJ0ZXh0L3gtY2xvanVyZXNjcmlwdFwiLCBtb2RlOiBcImNsb2p1cmVcIiwgZXh0OiBbXCJjbGpzXCJdfSxcbiAgICB7bmFtZTogXCJDbG9zdXJlIFN0eWxlc2hlZXRzIChHU1MpXCIsIG1pbWU6IFwidGV4dC94LWdzc1wiLCBtb2RlOiBcImNzc1wiLCBleHQ6IFtcImdzc1wiXX0sXG4gICAge25hbWU6IFwiQ01ha2VcIiwgbWltZTogXCJ0ZXh0L3gtY21ha2VcIiwgbW9kZTogXCJjbWFrZVwiLCBleHQ6IFtcImNtYWtlXCIsIFwiY21ha2UuaW5cIl0sIGZpbGU6IC9eQ01ha2VMaXN0cy50eHQkL30sXG4gICAge25hbWU6IFwiQ29mZmVlU2NyaXB0XCIsIG1pbWVzOiBbXCJhcHBsaWNhdGlvbi92bmQuY29mZmVlc2NyaXB0XCIsIFwidGV4dC9jb2ZmZWVzY3JpcHRcIiwgXCJ0ZXh0L3gtY29mZmVlc2NyaXB0XCJdLCBtb2RlOiBcImNvZmZlZXNjcmlwdFwiLCBleHQ6IFtcImNvZmZlZVwiXSwgYWxpYXM6IFtcImNvZmZlZVwiLCBcImNvZmZlZS1zY3JpcHRcIl19LFxuICAgIHtuYW1lOiBcIkNvbW1vbiBMaXNwXCIsIG1pbWU6IFwidGV4dC94LWNvbW1vbi1saXNwXCIsIG1vZGU6IFwiY29tbW9ubGlzcFwiLCBleHQ6IFtcImNsXCIsIFwibGlzcFwiLCBcImVsXCJdLCBhbGlhczogW1wibGlzcFwiXX0sXG4gICAge25hbWU6IFwiQ3lwaGVyXCIsIG1pbWU6IFwiYXBwbGljYXRpb24veC1jeXBoZXItcXVlcnlcIiwgbW9kZTogXCJjeXBoZXJcIiwgZXh0OiBbXCJjeXBcIiwgXCJjeXBoZXJcIl19LFxuICAgIHtuYW1lOiBcIkN5dGhvblwiLCBtaW1lOiBcInRleHQveC1jeXRob25cIiwgbW9kZTogXCJweXRob25cIiwgZXh0OiBbXCJweXhcIiwgXCJweGRcIiwgXCJweGlcIl19LFxuICAgIHtuYW1lOiBcIkNyeXN0YWxcIiwgbWltZTogXCJ0ZXh0L3gtY3J5c3RhbFwiLCBtb2RlOiBcImNyeXN0YWxcIiwgZXh0OiBbXCJjclwiXX0sXG4gICAge25hbWU6IFwiQ1NTXCIsIG1pbWU6IFwidGV4dC9jc3NcIiwgbW9kZTogXCJjc3NcIiwgZXh0OiBbXCJjc3NcIl19LFxuICAgIHtuYW1lOiBcIkNRTFwiLCBtaW1lOiBcInRleHQveC1jYXNzYW5kcmFcIiwgbW9kZTogXCJzcWxcIiwgZXh0OiBbXCJjcWxcIl19LFxuICAgIHtuYW1lOiBcIkRcIiwgbWltZTogXCJ0ZXh0L3gtZFwiLCBtb2RlOiBcImRcIiwgZXh0OiBbXCJkXCJdfSxcbiAgICB7bmFtZTogXCJEYXJ0XCIsIG1pbWVzOiBbXCJhcHBsaWNhdGlvbi9kYXJ0XCIsIFwidGV4dC94LWRhcnRcIl0sIG1vZGU6IFwiZGFydFwiLCBleHQ6IFtcImRhcnRcIl19LFxuICAgIHtuYW1lOiBcImRpZmZcIiwgbWltZTogXCJ0ZXh0L3gtZGlmZlwiLCBtb2RlOiBcImRpZmZcIiwgZXh0OiBbXCJkaWZmXCIsIFwicGF0Y2hcIl19LFxuICAgIHtuYW1lOiBcIkRqYW5nb1wiLCBtaW1lOiBcInRleHQveC1kamFuZ29cIiwgbW9kZTogXCJkamFuZ29cIn0sXG4gICAge25hbWU6IFwiRG9ja2VyZmlsZVwiLCBtaW1lOiBcInRleHQveC1kb2NrZXJmaWxlXCIsIG1vZGU6IFwiZG9ja2VyZmlsZVwiLCBmaWxlOiAvXkRvY2tlcmZpbGUkL30sXG4gICAge25hbWU6IFwiRFREXCIsIG1pbWU6IFwiYXBwbGljYXRpb24veG1sLWR0ZFwiLCBtb2RlOiBcImR0ZFwiLCBleHQ6IFtcImR0ZFwiXX0sXG4gICAge25hbWU6IFwiRHlsYW5cIiwgbWltZTogXCJ0ZXh0L3gtZHlsYW5cIiwgbW9kZTogXCJkeWxhblwiLCBleHQ6IFtcImR5bGFuXCIsIFwiZHlsXCIsIFwiaW50clwiXX0sXG4gICAge25hbWU6IFwiRUJORlwiLCBtaW1lOiBcInRleHQveC1lYm5mXCIsIG1vZGU6IFwiZWJuZlwifSxcbiAgICB7bmFtZTogXCJFQ0xcIiwgbWltZTogXCJ0ZXh0L3gtZWNsXCIsIG1vZGU6IFwiZWNsXCIsIGV4dDogW1wiZWNsXCJdfSxcbiAgICB7bmFtZTogXCJlZG5cIiwgbWltZTogXCJhcHBsaWNhdGlvbi9lZG5cIiwgbW9kZTogXCJjbG9qdXJlXCIsIGV4dDogW1wiZWRuXCJdfSxcbiAgICB7bmFtZTogXCJFaWZmZWxcIiwgbWltZTogXCJ0ZXh0L3gtZWlmZmVsXCIsIG1vZGU6IFwiZWlmZmVsXCIsIGV4dDogW1wiZVwiXX0sXG4gICAge25hbWU6IFwiRWxtXCIsIG1pbWU6IFwidGV4dC94LWVsbVwiLCBtb2RlOiBcImVsbVwiLCBleHQ6IFtcImVsbVwiXX0sXG4gICAge25hbWU6IFwiRW1iZWRkZWQgSmF2YXNjcmlwdFwiLCBtaW1lOiBcImFwcGxpY2F0aW9uL3gtZWpzXCIsIG1vZGU6IFwiaHRtbGVtYmVkZGVkXCIsIGV4dDogW1wiZWpzXCJdfSxcbiAgICB7bmFtZTogXCJFbWJlZGRlZCBSdWJ5XCIsIG1pbWU6IFwiYXBwbGljYXRpb24veC1lcmJcIiwgbW9kZTogXCJodG1sZW1iZWRkZWRcIiwgZXh0OiBbXCJlcmJcIl19LFxuICAgIHtuYW1lOiBcIkVybGFuZ1wiLCBtaW1lOiBcInRleHQveC1lcmxhbmdcIiwgbW9kZTogXCJlcmxhbmdcIiwgZXh0OiBbXCJlcmxcIl19LFxuICAgIHtuYW1lOiBcIkVzcGVyXCIsIG1pbWU6IFwidGV4dC94LWVzcGVyXCIsIG1vZGU6IFwic3FsXCJ9LFxuICAgIHtuYW1lOiBcIkZhY3RvclwiLCBtaW1lOiBcInRleHQveC1mYWN0b3JcIiwgbW9kZTogXCJmYWN0b3JcIiwgZXh0OiBbXCJmYWN0b3JcIl19LFxuICAgIHtuYW1lOiBcIkZDTFwiLCBtaW1lOiBcInRleHQveC1mY2xcIiwgbW9kZTogXCJmY2xcIn0sXG4gICAge25hbWU6IFwiRm9ydGhcIiwgbWltZTogXCJ0ZXh0L3gtZm9ydGhcIiwgbW9kZTogXCJmb3J0aFwiLCBleHQ6IFtcImZvcnRoXCIsIFwiZnRoXCIsIFwiNHRoXCJdfSxcbiAgICB7bmFtZTogXCJGb3J0cmFuXCIsIG1pbWU6IFwidGV4dC94LWZvcnRyYW5cIiwgbW9kZTogXCJmb3J0cmFuXCIsIGV4dDogW1wiZlwiLCBcImZvclwiLCBcImY3N1wiLCBcImY5MFwiLCBcImY5NVwiXX0sXG4gICAge25hbWU6IFwiRiNcIiwgbWltZTogXCJ0ZXh0L3gtZnNoYXJwXCIsIG1vZGU6IFwibWxsaWtlXCIsIGV4dDogW1wiZnNcIl0sIGFsaWFzOiBbXCJmc2hhcnBcIl19LFxuICAgIHtuYW1lOiBcIkdhc1wiLCBtaW1lOiBcInRleHQveC1nYXNcIiwgbW9kZTogXCJnYXNcIiwgZXh0OiBbXCJzXCJdfSxcbiAgICB7bmFtZTogXCJHaGVya2luXCIsIG1pbWU6IFwidGV4dC94LWZlYXR1cmVcIiwgbW9kZTogXCJnaGVya2luXCIsIGV4dDogW1wiZmVhdHVyZVwiXX0sXG4gICAge25hbWU6IFwiR2l0SHViIEZsYXZvcmVkIE1hcmtkb3duXCIsIG1pbWU6IFwidGV4dC94LWdmbVwiLCBtb2RlOiBcImdmbVwiLCBmaWxlOiAvXihyZWFkbWV8Y29udHJpYnV0aW5nfGhpc3RvcnkpLm1kJC9pfSxcbiAgICB7bmFtZTogXCJHb1wiLCBtaW1lOiBcInRleHQveC1nb1wiLCBtb2RlOiBcImdvXCIsIGV4dDogW1wiZ29cIl19LFxuICAgIHtuYW1lOiBcIkdyb292eVwiLCBtaW1lOiBcInRleHQveC1ncm9vdnlcIiwgbW9kZTogXCJncm9vdnlcIiwgZXh0OiBbXCJncm9vdnlcIiwgXCJncmFkbGVcIl0sIGZpbGU6IC9eSmVua2luc2ZpbGUkL30sXG4gICAge25hbWU6IFwiSEFNTFwiLCBtaW1lOiBcInRleHQveC1oYW1sXCIsIG1vZGU6IFwiaGFtbFwiLCBleHQ6IFtcImhhbWxcIl19LFxuICAgIHtuYW1lOiBcIkhhc2tlbGxcIiwgbWltZTogXCJ0ZXh0L3gtaGFza2VsbFwiLCBtb2RlOiBcImhhc2tlbGxcIiwgZXh0OiBbXCJoc1wiXX0sXG4gICAge25hbWU6IFwiSGFza2VsbCAoTGl0ZXJhdGUpXCIsIG1pbWU6IFwidGV4dC94LWxpdGVyYXRlLWhhc2tlbGxcIiwgbW9kZTogXCJoYXNrZWxsLWxpdGVyYXRlXCIsIGV4dDogW1wibGhzXCJdfSxcbiAgICB7bmFtZTogXCJIYXhlXCIsIG1pbWU6IFwidGV4dC94LWhheGVcIiwgbW9kZTogXCJoYXhlXCIsIGV4dDogW1wiaHhcIl19LFxuICAgIHtuYW1lOiBcIkhYTUxcIiwgbWltZTogXCJ0ZXh0L3gtaHhtbFwiLCBtb2RlOiBcImhheGVcIiwgZXh0OiBbXCJoeG1sXCJdfSxcbiAgICB7bmFtZTogXCJBU1AuTkVUXCIsIG1pbWU6IFwiYXBwbGljYXRpb24veC1hc3B4XCIsIG1vZGU6IFwiaHRtbGVtYmVkZGVkXCIsIGV4dDogW1wiYXNweFwiXSwgYWxpYXM6IFtcImFzcFwiLCBcImFzcHhcIl19LFxuICAgIHtuYW1lOiBcIkhUTUxcIiwgbWltZTogXCJ0ZXh0L2h0bWxcIiwgbW9kZTogXCJodG1sbWl4ZWRcIiwgZXh0OiBbXCJodG1sXCIsIFwiaHRtXCIsIFwiaGFuZGxlYmFyc1wiLCBcImhic1wiXSwgYWxpYXM6IFtcInhodG1sXCJdfSxcbiAgICB7bmFtZTogXCJIVFRQXCIsIG1pbWU6IFwibWVzc2FnZS9odHRwXCIsIG1vZGU6IFwiaHR0cFwifSxcbiAgICB7bmFtZTogXCJJRExcIiwgbWltZTogXCJ0ZXh0L3gtaWRsXCIsIG1vZGU6IFwiaWRsXCIsIGV4dDogW1wicHJvXCJdfSxcbiAgICB7bmFtZTogXCJQdWdcIiwgbWltZTogXCJ0ZXh0L3gtcHVnXCIsIG1vZGU6IFwicHVnXCIsIGV4dDogW1wiamFkZVwiLCBcInB1Z1wiXSwgYWxpYXM6IFtcImphZGVcIl19LFxuICAgIHtuYW1lOiBcIkphdmFcIiwgbWltZTogXCJ0ZXh0L3gtamF2YVwiLCBtb2RlOiBcImNsaWtlXCIsIGV4dDogW1wiamF2YVwiXX0sXG4gICAge25hbWU6IFwiSmF2YSBTZXJ2ZXIgUGFnZXNcIiwgbWltZTogXCJhcHBsaWNhdGlvbi94LWpzcFwiLCBtb2RlOiBcImh0bWxlbWJlZGRlZFwiLCBleHQ6IFtcImpzcFwiXSwgYWxpYXM6IFtcImpzcFwiXX0sXG4gICAge25hbWU6IFwiSmF2YVNjcmlwdFwiLCBtaW1lczogW1widGV4dC9qYXZhc2NyaXB0XCIsIFwidGV4dC9lY21hc2NyaXB0XCIsIFwiYXBwbGljYXRpb24vamF2YXNjcmlwdFwiLCBcImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdFwiLCBcImFwcGxpY2F0aW9uL2VjbWFzY3JpcHRcIl0sXG4gICAgIG1vZGU6IFwiamF2YXNjcmlwdFwiLCBleHQ6IFtcImpzXCJdLCBhbGlhczogW1wiZWNtYXNjcmlwdFwiLCBcImpzXCIsIFwibm9kZVwiXX0sXG4gICAge25hbWU6IFwiSlNPTlwiLCBtaW1lczogW1wiYXBwbGljYXRpb24vanNvblwiLCBcImFwcGxpY2F0aW9uL3gtanNvblwiXSwgbW9kZTogXCJqYXZhc2NyaXB0XCIsIGV4dDogW1wianNvblwiLCBcIm1hcFwiXSwgYWxpYXM6IFtcImpzb241XCJdfSxcbiAgICB7bmFtZTogXCJKU09OLUxEXCIsIG1pbWU6IFwiYXBwbGljYXRpb24vbGQranNvblwiLCBtb2RlOiBcImphdmFzY3JpcHRcIiwgZXh0OiBbXCJqc29ubGRcIl0sIGFsaWFzOiBbXCJqc29ubGRcIl19LFxuICAgIHtuYW1lOiBcIkpTWFwiLCBtaW1lOiBcInRleHQvanN4XCIsIG1vZGU6IFwianN4XCIsIGV4dDogW1wianN4XCJdfSxcbiAgICB7bmFtZTogXCJKaW5qYTJcIiwgbWltZTogXCJ0ZXh0L2ppbmphMlwiLCBtb2RlOiBcImppbmphMlwiLCBleHQ6IFtcImoyXCIsIFwiamluamFcIiwgXCJqaW5qYTJcIl19LFxuICAgIHtuYW1lOiBcIkp1bGlhXCIsIG1pbWU6IFwidGV4dC94LWp1bGlhXCIsIG1vZGU6IFwianVsaWFcIiwgZXh0OiBbXCJqbFwiXX0sXG4gICAge25hbWU6IFwiS290bGluXCIsIG1pbWU6IFwidGV4dC94LWtvdGxpblwiLCBtb2RlOiBcImNsaWtlXCIsIGV4dDogW1wia3RcIl19LFxuICAgIHtuYW1lOiBcIkxFU1NcIiwgbWltZTogXCJ0ZXh0L3gtbGVzc1wiLCBtb2RlOiBcImNzc1wiLCBleHQ6IFtcImxlc3NcIl19LFxuICAgIHtuYW1lOiBcIkxpdmVTY3JpcHRcIiwgbWltZTogXCJ0ZXh0L3gtbGl2ZXNjcmlwdFwiLCBtb2RlOiBcImxpdmVzY3JpcHRcIiwgZXh0OiBbXCJsc1wiXSwgYWxpYXM6IFtcImxzXCJdfSxcbiAgICB7bmFtZTogXCJMdWFcIiwgbWltZTogXCJ0ZXh0L3gtbHVhXCIsIG1vZGU6IFwibHVhXCIsIGV4dDogW1wibHVhXCJdfSxcbiAgICB7bmFtZTogXCJNYXJrZG93blwiLCBtaW1lOiBcInRleHQveC1tYXJrZG93blwiLCBtb2RlOiBcIm1hcmtkb3duXCIsIGV4dDogW1wibWFya2Rvd25cIiwgXCJtZFwiLCBcIm1rZFwiXX0sXG4gICAge25hbWU6IFwibUlSQ1wiLCBtaW1lOiBcInRleHQvbWlyY1wiLCBtb2RlOiBcIm1pcmNcIn0sXG4gICAge25hbWU6IFwiTWFyaWFEQiBTUUxcIiwgbWltZTogXCJ0ZXh0L3gtbWFyaWFkYlwiLCBtb2RlOiBcInNxbFwifSxcbiAgICB7bmFtZTogXCJNYXRoZW1hdGljYVwiLCBtaW1lOiBcInRleHQveC1tYXRoZW1hdGljYVwiLCBtb2RlOiBcIm1hdGhlbWF0aWNhXCIsIGV4dDogW1wibVwiLCBcIm5iXCJdfSxcbiAgICB7bmFtZTogXCJNb2RlbGljYVwiLCBtaW1lOiBcInRleHQveC1tb2RlbGljYVwiLCBtb2RlOiBcIm1vZGVsaWNhXCIsIGV4dDogW1wibW9cIl19LFxuICAgIHtuYW1lOiBcIk1VTVBTXCIsIG1pbWU6IFwidGV4dC94LW11bXBzXCIsIG1vZGU6IFwibXVtcHNcIiwgZXh0OiBbXCJtcHNcIl19LFxuICAgIHtuYW1lOiBcIk1TIFNRTFwiLCBtaW1lOiBcInRleHQveC1tc3NxbFwiLCBtb2RlOiBcInNxbFwifSxcbiAgICB7bmFtZTogXCJtYm94XCIsIG1pbWU6IFwiYXBwbGljYXRpb24vbWJveFwiLCBtb2RlOiBcIm1ib3hcIiwgZXh0OiBbXCJtYm94XCJdfSxcbiAgICB7bmFtZTogXCJNeVNRTFwiLCBtaW1lOiBcInRleHQveC1teXNxbFwiLCBtb2RlOiBcInNxbFwifSxcbiAgICB7bmFtZTogXCJOZ2lueFwiLCBtaW1lOiBcInRleHQveC1uZ2lueC1jb25mXCIsIG1vZGU6IFwibmdpbnhcIiwgZmlsZTogL25naW54LipcXC5jb25mJC9pfSxcbiAgICB7bmFtZTogXCJOU0lTXCIsIG1pbWU6IFwidGV4dC94LW5zaXNcIiwgbW9kZTogXCJuc2lzXCIsIGV4dDogW1wibnNoXCIsIFwibnNpXCJdfSxcbiAgICB7bmFtZTogXCJOVHJpcGxlc1wiLCBtaW1lczogW1wiYXBwbGljYXRpb24vbi10cmlwbGVzXCIsIFwiYXBwbGljYXRpb24vbi1xdWFkc1wiLCBcInRleHQvbi10cmlwbGVzXCJdLFxuICAgICBtb2RlOiBcIm50cmlwbGVzXCIsIGV4dDogW1wibnRcIiwgXCJucVwiXX0sXG4gICAge25hbWU6IFwiT2JqZWN0aXZlLUNcIiwgbWltZTogXCJ0ZXh0L3gtb2JqZWN0aXZlY1wiLCBtb2RlOiBcImNsaWtlXCIsIGV4dDogW1wibVwiLCBcIm1tXCJdLCBhbGlhczogW1wib2JqZWN0aXZlLWNcIiwgXCJvYmpjXCJdfSxcbiAgICB7bmFtZTogXCJPQ2FtbFwiLCBtaW1lOiBcInRleHQveC1vY2FtbFwiLCBtb2RlOiBcIm1sbGlrZVwiLCBleHQ6IFtcIm1sXCIsIFwibWxpXCIsIFwibWxsXCIsIFwibWx5XCJdfSxcbiAgICB7bmFtZTogXCJPY3RhdmVcIiwgbWltZTogXCJ0ZXh0L3gtb2N0YXZlXCIsIG1vZGU6IFwib2N0YXZlXCIsIGV4dDogW1wibVwiXX0sXG4gICAge25hbWU6IFwiT3pcIiwgbWltZTogXCJ0ZXh0L3gtb3pcIiwgbW9kZTogXCJvelwiLCBleHQ6IFtcIm96XCJdfSxcbiAgICB7bmFtZTogXCJQYXNjYWxcIiwgbWltZTogXCJ0ZXh0L3gtcGFzY2FsXCIsIG1vZGU6IFwicGFzY2FsXCIsIGV4dDogW1wicFwiLCBcInBhc1wiXX0sXG4gICAge25hbWU6IFwiUEVHLmpzXCIsIG1pbWU6IFwibnVsbFwiLCBtb2RlOiBcInBlZ2pzXCIsIGV4dDogW1wianNvbmxkXCJdfSxcbiAgICB7bmFtZTogXCJQZXJsXCIsIG1pbWU6IFwidGV4dC94LXBlcmxcIiwgbW9kZTogXCJwZXJsXCIsIGV4dDogW1wicGxcIiwgXCJwbVwiXX0sXG4gICAge25hbWU6IFwiUEhQXCIsIG1pbWVzOiBbXCJ0ZXh0L3gtcGhwXCIsIFwiYXBwbGljYXRpb24veC1odHRwZC1waHBcIiwgXCJhcHBsaWNhdGlvbi94LWh0dHBkLXBocC1vcGVuXCJdLCBtb2RlOiBcInBocFwiLCBleHQ6IFtcInBocFwiLCBcInBocDNcIiwgXCJwaHA0XCIsIFwicGhwNVwiLCBcInBocDdcIiwgXCJwaHRtbFwiXX0sXG4gICAge25hbWU6IFwiUGlnXCIsIG1pbWU6IFwidGV4dC94LXBpZ1wiLCBtb2RlOiBcInBpZ1wiLCBleHQ6IFtcInBpZ1wiXX0sXG4gICAge25hbWU6IFwiUGxhaW4gVGV4dFwiLCBtaW1lOiBcInRleHQvcGxhaW5cIiwgbW9kZTogXCJudWxsXCIsIGV4dDogW1widHh0XCIsIFwidGV4dFwiLCBcImNvbmZcIiwgXCJkZWZcIiwgXCJsaXN0XCIsIFwibG9nXCJdfSxcbiAgICB7bmFtZTogXCJQTFNRTFwiLCBtaW1lOiBcInRleHQveC1wbHNxbFwiLCBtb2RlOiBcInNxbFwiLCBleHQ6IFtcInBsc1wiXX0sXG4gICAge25hbWU6IFwiUG9zdGdyZVNRTFwiLCBtaW1lOiBcInRleHQveC1wZ3NxbFwiLCBtb2RlOiBcInNxbFwifSxcbiAgICB7bmFtZTogXCJQb3dlclNoZWxsXCIsIG1pbWU6IFwiYXBwbGljYXRpb24veC1wb3dlcnNoZWxsXCIsIG1vZGU6IFwicG93ZXJzaGVsbFwiLCBleHQ6IFtcInBzMVwiLCBcInBzZDFcIiwgXCJwc20xXCJdfSxcbiAgICB7bmFtZTogXCJQcm9wZXJ0aWVzIGZpbGVzXCIsIG1pbWU6IFwidGV4dC94LXByb3BlcnRpZXNcIiwgbW9kZTogXCJwcm9wZXJ0aWVzXCIsIGV4dDogW1wicHJvcGVydGllc1wiLCBcImluaVwiLCBcImluXCJdLCBhbGlhczogW1wiaW5pXCIsIFwicHJvcGVydGllc1wiXX0sXG4gICAge25hbWU6IFwiUHJvdG9CdWZcIiwgbWltZTogXCJ0ZXh0L3gtcHJvdG9idWZcIiwgbW9kZTogXCJwcm90b2J1ZlwiLCBleHQ6IFtcInByb3RvXCJdfSxcbiAgICB7bmFtZTogXCJQeXRob25cIiwgbWltZTogXCJ0ZXh0L3gtcHl0aG9uXCIsIG1vZGU6IFwicHl0aG9uXCIsIGV4dDogW1wiQlVJTERcIiwgXCJiemxcIiwgXCJweVwiLCBcInB5d1wiXSwgZmlsZTogL14oQlVDS3xCVUlMRCkkL30sXG4gICAge25hbWU6IFwiUHVwcGV0XCIsIG1pbWU6IFwidGV4dC94LXB1cHBldFwiLCBtb2RlOiBcInB1cHBldFwiLCBleHQ6IFtcInBwXCJdfSxcbiAgICB7bmFtZTogXCJRXCIsIG1pbWU6IFwidGV4dC94LXFcIiwgbW9kZTogXCJxXCIsIGV4dDogW1wicVwiXX0sXG4gICAge25hbWU6IFwiUlwiLCBtaW1lOiBcInRleHQveC1yc3JjXCIsIG1vZGU6IFwiclwiLCBleHQ6IFtcInJcIiwgXCJSXCJdLCBhbGlhczogW1wicnNjcmlwdFwiXX0sXG4gICAge25hbWU6IFwicmVTdHJ1Y3R1cmVkVGV4dFwiLCBtaW1lOiBcInRleHQveC1yc3RcIiwgbW9kZTogXCJyc3RcIiwgZXh0OiBbXCJyc3RcIl0sIGFsaWFzOiBbXCJyc3RcIl19LFxuICAgIHtuYW1lOiBcIlJQTSBDaGFuZ2VzXCIsIG1pbWU6IFwidGV4dC94LXJwbS1jaGFuZ2VzXCIsIG1vZGU6IFwicnBtXCJ9LFxuICAgIHtuYW1lOiBcIlJQTSBTcGVjXCIsIG1pbWU6IFwidGV4dC94LXJwbS1zcGVjXCIsIG1vZGU6IFwicnBtXCIsIGV4dDogW1wic3BlY1wiXX0sXG4gICAge25hbWU6IFwiUnVieVwiLCBtaW1lOiBcInRleHQveC1ydWJ5XCIsIG1vZGU6IFwicnVieVwiLCBleHQ6IFtcInJiXCJdLCBhbGlhczogW1wianJ1YnlcIiwgXCJtYWNydWJ5XCIsIFwicmFrZVwiLCBcInJiXCIsIFwicmJ4XCJdfSxcbiAgICB7bmFtZTogXCJSdXN0XCIsIG1pbWU6IFwidGV4dC94LXJ1c3RzcmNcIiwgbW9kZTogXCJydXN0XCIsIGV4dDogW1wicnNcIl19LFxuICAgIHtuYW1lOiBcIlNBU1wiLCBtaW1lOiBcInRleHQveC1zYXNcIiwgbW9kZTogXCJzYXNcIiwgZXh0OiBbXCJzYXNcIl19LFxuICAgIHtuYW1lOiBcIlNhc3NcIiwgbWltZTogXCJ0ZXh0L3gtc2Fzc1wiLCBtb2RlOiBcInNhc3NcIiwgZXh0OiBbXCJzYXNzXCJdfSxcbiAgICB7bmFtZTogXCJTY2FsYVwiLCBtaW1lOiBcInRleHQveC1zY2FsYVwiLCBtb2RlOiBcImNsaWtlXCIsIGV4dDogW1wic2NhbGFcIl19LFxuICAgIHtuYW1lOiBcIlNjaGVtZVwiLCBtaW1lOiBcInRleHQveC1zY2hlbWVcIiwgbW9kZTogXCJzY2hlbWVcIiwgZXh0OiBbXCJzY21cIiwgXCJzc1wiXX0sXG4gICAge25hbWU6IFwiU0NTU1wiLCBtaW1lOiBcInRleHQveC1zY3NzXCIsIG1vZGU6IFwiY3NzXCIsIGV4dDogW1wic2Nzc1wiXX0sXG4gICAge25hbWU6IFwiU2hlbGxcIiwgbWltZXM6IFtcInRleHQveC1zaFwiLCBcImFwcGxpY2F0aW9uL3gtc2hcIl0sIG1vZGU6IFwic2hlbGxcIiwgZXh0OiBbXCJzaFwiLCBcImtzaFwiLCBcImJhc2hcIl0sIGFsaWFzOiBbXCJiYXNoXCIsIFwic2hcIiwgXCJ6c2hcIl0sIGZpbGU6IC9eUEtHQlVJTEQkL30sXG4gICAge25hbWU6IFwiU2lldmVcIiwgbWltZTogXCJhcHBsaWNhdGlvbi9zaWV2ZVwiLCBtb2RlOiBcInNpZXZlXCIsIGV4dDogW1wic2l2XCIsIFwic2lldmVcIl19LFxuICAgIHtuYW1lOiBcIlNsaW1cIiwgbWltZXM6IFtcInRleHQveC1zbGltXCIsIFwiYXBwbGljYXRpb24veC1zbGltXCJdLCBtb2RlOiBcInNsaW1cIiwgZXh0OiBbXCJzbGltXCJdfSxcbiAgICB7bmFtZTogXCJTbWFsbHRhbGtcIiwgbWltZTogXCJ0ZXh0L3gtc3RzcmNcIiwgbW9kZTogXCJzbWFsbHRhbGtcIiwgZXh0OiBbXCJzdFwiXX0sXG4gICAge25hbWU6IFwiU21hcnR5XCIsIG1pbWU6IFwidGV4dC94LXNtYXJ0eVwiLCBtb2RlOiBcInNtYXJ0eVwiLCBleHQ6IFtcInRwbFwiXX0sXG4gICAge25hbWU6IFwiU29sclwiLCBtaW1lOiBcInRleHQveC1zb2xyXCIsIG1vZGU6IFwic29sclwifSxcbiAgICB7bmFtZTogXCJTTUxcIiwgbWltZTogXCJ0ZXh0L3gtc21sXCIsIG1vZGU6IFwibWxsaWtlXCIsIGV4dDogW1wic21sXCIsIFwic2lnXCIsIFwiZnVuXCIsIFwic21hY2tzcGVjXCJdfSxcbiAgICB7bmFtZTogXCJTb3lcIiwgbWltZTogXCJ0ZXh0L3gtc295XCIsIG1vZGU6IFwic295XCIsIGV4dDogW1wic295XCJdLCBhbGlhczogW1wiY2xvc3VyZSB0ZW1wbGF0ZVwiXX0sXG4gICAge25hbWU6IFwiU1BBUlFMXCIsIG1pbWU6IFwiYXBwbGljYXRpb24vc3BhcnFsLXF1ZXJ5XCIsIG1vZGU6IFwic3BhcnFsXCIsIGV4dDogW1wicnFcIiwgXCJzcGFycWxcIl0sIGFsaWFzOiBbXCJzcGFydWxcIl19LFxuICAgIHtuYW1lOiBcIlNwcmVhZHNoZWV0XCIsIG1pbWU6IFwidGV4dC94LXNwcmVhZHNoZWV0XCIsIG1vZGU6IFwic3ByZWFkc2hlZXRcIiwgYWxpYXM6IFtcImV4Y2VsXCIsIFwiZm9ybXVsYVwiXX0sXG4gICAge25hbWU6IFwiU1FMXCIsIG1pbWU6IFwidGV4dC94LXNxbFwiLCBtb2RlOiBcInNxbFwiLCBleHQ6IFtcInNxbFwiXX0sXG4gICAge25hbWU6IFwiU1FMaXRlXCIsIG1pbWU6IFwidGV4dC94LXNxbGl0ZVwiLCBtb2RlOiBcInNxbFwifSxcbiAgICB7bmFtZTogXCJTcXVpcnJlbFwiLCBtaW1lOiBcInRleHQveC1zcXVpcnJlbFwiLCBtb2RlOiBcImNsaWtlXCIsIGV4dDogW1wibnV0XCJdfSxcbiAgICB7bmFtZTogXCJTdHlsdXNcIiwgbWltZTogXCJ0ZXh0L3gtc3R5bFwiLCBtb2RlOiBcInN0eWx1c1wiLCBleHQ6IFtcInN0eWxcIl19LFxuICAgIHtuYW1lOiBcIlN3aWZ0XCIsIG1pbWU6IFwidGV4dC94LXN3aWZ0XCIsIG1vZGU6IFwic3dpZnRcIiwgZXh0OiBbXCJzd2lmdFwiXX0sXG4gICAge25hbWU6IFwic1RlWFwiLCBtaW1lOiBcInRleHQveC1zdGV4XCIsIG1vZGU6IFwic3RleFwifSxcbiAgICB7bmFtZTogXCJMYVRlWFwiLCBtaW1lOiBcInRleHQveC1sYXRleFwiLCBtb2RlOiBcInN0ZXhcIiwgZXh0OiBbXCJ0ZXh0XCIsIFwibHR4XCIsIFwidGV4XCJdLCBhbGlhczogW1widGV4XCJdfSxcbiAgICB7bmFtZTogXCJTeXN0ZW1WZXJpbG9nXCIsIG1pbWU6IFwidGV4dC94LXN5c3RlbXZlcmlsb2dcIiwgbW9kZTogXCJ2ZXJpbG9nXCIsIGV4dDogW1widlwiLCBcInN2XCIsIFwic3ZoXCJdfSxcbiAgICB7bmFtZTogXCJUY2xcIiwgbWltZTogXCJ0ZXh0L3gtdGNsXCIsIG1vZGU6IFwidGNsXCIsIGV4dDogW1widGNsXCJdfSxcbiAgICB7bmFtZTogXCJUZXh0aWxlXCIsIG1pbWU6IFwidGV4dC94LXRleHRpbGVcIiwgbW9kZTogXCJ0ZXh0aWxlXCIsIGV4dDogW1widGV4dGlsZVwiXX0sXG4gICAge25hbWU6IFwiVGlkZGx5V2lraSBcIiwgbWltZTogXCJ0ZXh0L3gtdGlkZGx5d2lraVwiLCBtb2RlOiBcInRpZGRseXdpa2lcIn0sXG4gICAge25hbWU6IFwiVGlraSB3aWtpXCIsIG1pbWU6IFwidGV4dC90aWtpXCIsIG1vZGU6IFwidGlraVwifSxcbiAgICB7bmFtZTogXCJUT01MXCIsIG1pbWU6IFwidGV4dC94LXRvbWxcIiwgbW9kZTogXCJ0b21sXCIsIGV4dDogW1widG9tbFwiXX0sXG4gICAge25hbWU6IFwiVG9ybmFkb1wiLCBtaW1lOiBcInRleHQveC10b3JuYWRvXCIsIG1vZGU6IFwidG9ybmFkb1wifSxcbiAgICB7bmFtZTogXCJ0cm9mZlwiLCBtaW1lOiBcInRleHQvdHJvZmZcIiwgbW9kZTogXCJ0cm9mZlwiLCBleHQ6IFtcIjFcIiwgXCIyXCIsIFwiM1wiLCBcIjRcIiwgXCI1XCIsIFwiNlwiLCBcIjdcIiwgXCI4XCIsIFwiOVwiXX0sXG4gICAge25hbWU6IFwiVFRDTlwiLCBtaW1lOiBcInRleHQveC10dGNuXCIsIG1vZGU6IFwidHRjblwiLCBleHQ6IFtcInR0Y25cIiwgXCJ0dGNuM1wiLCBcInR0Y25wcFwiXX0sXG4gICAge25hbWU6IFwiVFRDTl9DRkdcIiwgbWltZTogXCJ0ZXh0L3gtdHRjbi1jZmdcIiwgbW9kZTogXCJ0dGNuLWNmZ1wiLCBleHQ6IFtcImNmZ1wiXX0sXG4gICAge25hbWU6IFwiVHVydGxlXCIsIG1pbWU6IFwidGV4dC90dXJ0bGVcIiwgbW9kZTogXCJ0dXJ0bGVcIiwgZXh0OiBbXCJ0dGxcIl19LFxuICAgIHtuYW1lOiBcIlR5cGVTY3JpcHRcIiwgbWltZTogXCJhcHBsaWNhdGlvbi90eXBlc2NyaXB0XCIsIG1vZGU6IFwiamF2YXNjcmlwdFwiLCBleHQ6IFtcInRzXCJdLCBhbGlhczogW1widHNcIl19LFxuICAgIHtuYW1lOiBcIlR5cGVTY3JpcHQtSlNYXCIsIG1pbWU6IFwidGV4dC90eXBlc2NyaXB0LWpzeFwiLCBtb2RlOiBcImpzeFwiLCBleHQ6IFtcInRzeFwiXSwgYWxpYXM6IFtcInRzeFwiXX0sXG4gICAge25hbWU6IFwiVHdpZ1wiLCBtaW1lOiBcInRleHQveC10d2lnXCIsIG1vZGU6IFwidHdpZ1wifSxcbiAgICB7bmFtZTogXCJXZWIgSURMXCIsIG1pbWU6IFwidGV4dC94LXdlYmlkbFwiLCBtb2RlOiBcIndlYmlkbFwiLCBleHQ6IFtcIndlYmlkbFwiXX0sXG4gICAge25hbWU6IFwiVkIuTkVUXCIsIG1pbWU6IFwidGV4dC94LXZiXCIsIG1vZGU6IFwidmJcIiwgZXh0OiBbXCJ2YlwiXX0sXG4gICAge25hbWU6IFwiVkJTY3JpcHRcIiwgbWltZTogXCJ0ZXh0L3Zic2NyaXB0XCIsIG1vZGU6IFwidmJzY3JpcHRcIiwgZXh0OiBbXCJ2YnNcIl19LFxuICAgIHtuYW1lOiBcIlZlbG9jaXR5XCIsIG1pbWU6IFwidGV4dC92ZWxvY2l0eVwiLCBtb2RlOiBcInZlbG9jaXR5XCIsIGV4dDogW1widnRsXCJdfSxcbiAgICB7bmFtZTogXCJWZXJpbG9nXCIsIG1pbWU6IFwidGV4dC94LXZlcmlsb2dcIiwgbW9kZTogXCJ2ZXJpbG9nXCIsIGV4dDogW1widlwiXX0sXG4gICAge25hbWU6IFwiVkhETFwiLCBtaW1lOiBcInRleHQveC12aGRsXCIsIG1vZGU6IFwidmhkbFwiLCBleHQ6IFtcInZoZFwiLCBcInZoZGxcIl19LFxuICAgIHtuYW1lOiBcIlZ1ZS5qcyBDb21wb25lbnRcIiwgbWltZXM6IFtcInNjcmlwdC94LXZ1ZVwiLCBcInRleHQveC12dWVcIl0sIG1vZGU6IFwidnVlXCIsIGV4dDogW1widnVlXCJdfSxcbiAgICB7bmFtZTogXCJYTUxcIiwgbWltZXM6IFtcImFwcGxpY2F0aW9uL3htbFwiLCBcInRleHQveG1sXCJdLCBtb2RlOiBcInhtbFwiLCBleHQ6IFtcInhtbFwiLCBcInhzbFwiLCBcInhzZFwiLCBcInN2Z1wiXSwgYWxpYXM6IFtcInJzc1wiLCBcIndzZGxcIiwgXCJ4c2RcIl19LFxuICAgIHtuYW1lOiBcIlhRdWVyeVwiLCBtaW1lOiBcImFwcGxpY2F0aW9uL3hxdWVyeVwiLCBtb2RlOiBcInhxdWVyeVwiLCBleHQ6IFtcInh5XCIsIFwieHF1ZXJ5XCJdfSxcbiAgICB7bmFtZTogXCJZYWNhc1wiLCBtaW1lOiBcInRleHQveC15YWNhc1wiLCBtb2RlOiBcInlhY2FzXCIsIGV4dDogW1wieXNcIl19LFxuICAgIHtuYW1lOiBcIllBTUxcIiwgbWltZXM6IFtcInRleHQveC15YW1sXCIsIFwidGV4dC95YW1sXCJdLCBtb2RlOiBcInlhbWxcIiwgZXh0OiBbXCJ5YW1sXCIsIFwieW1sXCJdLCBhbGlhczogW1wieW1sXCJdfSxcbiAgICB7bmFtZTogXCJaODBcIiwgbWltZTogXCJ0ZXh0L3gtejgwXCIsIG1vZGU6IFwiejgwXCIsIGV4dDogW1wiejgwXCJdfSxcbiAgICB7bmFtZTogXCJtc2NnZW5cIiwgbWltZTogXCJ0ZXh0L3gtbXNjZ2VuXCIsIG1vZGU6IFwibXNjZ2VuXCIsIGV4dDogW1wibXNjZ2VuXCIsIFwibXNjaW5cIiwgXCJtc2NcIl19LFxuICAgIHtuYW1lOiBcInh1XCIsIG1pbWU6IFwidGV4dC94LXh1XCIsIG1vZGU6IFwibXNjZ2VuXCIsIGV4dDogW1wieHVcIl19LFxuICAgIHtuYW1lOiBcIm1zZ2VubnlcIiwgbWltZTogXCJ0ZXh0L3gtbXNnZW5ueVwiLCBtb2RlOiBcIm1zY2dlblwiLCBleHQ6IFtcIm1zZ2VubnlcIl19XG4gIF07XG4gIC8vIEVuc3VyZSBhbGwgbW9kZXMgaGF2ZSBhIG1pbWUgcHJvcGVydHkgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5XG4gIGZvciAodmFyIGkgPSAwOyBpIDwgQ29kZU1pcnJvci5tb2RlSW5mby5sZW5ndGg7IGkrKykge1xuICAgIHZhciBpbmZvID0gQ29kZU1pcnJvci5tb2RlSW5mb1tpXTtcbiAgICBpZiAoaW5mby5taW1lcykgaW5mby5taW1lID0gaW5mby5taW1lc1swXTtcbiAgfVxuXG4gIENvZGVNaXJyb3IuZmluZE1vZGVCeU1JTUUgPSBmdW5jdGlvbihtaW1lKSB7XG4gICAgbWltZSA9IG1pbWUudG9Mb3dlckNhc2UoKTtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IENvZGVNaXJyb3IubW9kZUluZm8ubGVuZ3RoOyBpKyspIHtcbiAgICAgIHZhciBpbmZvID0gQ29kZU1pcnJvci5tb2RlSW5mb1tpXTtcbiAgICAgIGlmIChpbmZvLm1pbWUgPT0gbWltZSkgcmV0dXJuIGluZm87XG4gICAgICBpZiAoaW5mby5taW1lcykgZm9yICh2YXIgaiA9IDA7IGogPCBpbmZvLm1pbWVzLmxlbmd0aDsgaisrKVxuICAgICAgICBpZiAoaW5mby5taW1lc1tqXSA9PSBtaW1lKSByZXR1cm4gaW5mbztcbiAgICB9XG4gICAgaWYgKC9cXCt4bWwkLy50ZXN0KG1pbWUpKSByZXR1cm4gQ29kZU1pcnJvci5maW5kTW9kZUJ5TUlNRShcImFwcGxpY2F0aW9uL3htbFwiKVxuICAgIGlmICgvXFwranNvbiQvLnRlc3QobWltZSkpIHJldHVybiBDb2RlTWlycm9yLmZpbmRNb2RlQnlNSU1FKFwiYXBwbGljYXRpb24vanNvblwiKVxuICB9O1xuXG4gIENvZGVNaXJyb3IuZmluZE1vZGVCeUV4dGVuc2lvbiA9IGZ1bmN0aW9uKGV4dCkge1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgQ29kZU1pcnJvci5tb2RlSW5mby5sZW5ndGg7IGkrKykge1xuICAgICAgdmFyIGluZm8gPSBDb2RlTWlycm9yLm1vZGVJbmZvW2ldO1xuICAgICAgaWYgKGluZm8uZXh0KSBmb3IgKHZhciBqID0gMDsgaiA8IGluZm8uZXh0Lmxlbmd0aDsgaisrKVxuICAgICAgICBpZiAoaW5mby5leHRbal0gPT0gZXh0KSByZXR1cm4gaW5mbztcbiAgICB9XG4gIH07XG5cbiAgQ29kZU1pcnJvci5maW5kTW9kZUJ5RmlsZU5hbWUgPSBmdW5jdGlvbihmaWxlbmFtZSkge1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgQ29kZU1pcnJvci5tb2RlSW5mby5sZW5ndGg7IGkrKykge1xuICAgICAgdmFyIGluZm8gPSBDb2RlTWlycm9yLm1vZGVJbmZvW2ldO1xuICAgICAgaWYgKGluZm8uZmlsZSAmJiBpbmZvLmZpbGUudGVzdChmaWxlbmFtZSkpIHJldHVybiBpbmZvO1xuICAgIH1cbiAgICB2YXIgZG90ID0gZmlsZW5hbWUubGFzdEluZGV4T2YoXCIuXCIpO1xuICAgIHZhciBleHQgPSBkb3QgPiAtMSAmJiBmaWxlbmFtZS5zdWJzdHJpbmcoZG90ICsgMSwgZmlsZW5hbWUubGVuZ3RoKTtcbiAgICBpZiAoZXh0KSByZXR1cm4gQ29kZU1pcnJvci5maW5kTW9kZUJ5RXh0ZW5zaW9uKGV4dCk7XG4gIH07XG5cbiAgQ29kZU1pcnJvci5maW5kTW9kZUJ5TmFtZSA9IGZ1bmN0aW9uKG5hbWUpIHtcbiAgICBuYW1lID0gbmFtZS50b0xvd2VyQ2FzZSgpO1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgQ29kZU1pcnJvci5tb2RlSW5mby5sZW5ndGg7IGkrKykge1xuICAgICAgdmFyIGluZm8gPSBDb2RlTWlycm9yLm1vZGVJbmZvW2ldO1xuICAgICAgaWYgKGluZm8ubmFtZS50b0xvd2VyQ2FzZSgpID09IG5hbWUpIHJldHVybiBpbmZvO1xuICAgICAgaWYgKGluZm8uYWxpYXMpIGZvciAodmFyIGogPSAwOyBqIDwgaW5mby5hbGlhcy5sZW5ndGg7IGorKylcbiAgICAgICAgaWYgKGluZm8uYWxpYXNbal0udG9Mb3dlckNhc2UoKSA9PSBuYW1lKSByZXR1cm4gaW5mbztcbiAgICB9XG4gIH07XG59KTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/codemirror/mode/meta.js\n"); /***/ }), /***/ "./node_modules/codemirror/mode/nginx/nginx.js": /*!*****************************************************!*\ !*** ./node_modules/codemirror/mode/nginx/nginx.js ***! \*****************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ \"./node_modules/codemirror/lib/codemirror.js\"));\n else {}\n})(function(CodeMirror) {\n\"use strict\";\n\nCodeMirror.defineMode(\"nginx\", function(config) {\n\n function words(str) {\n var obj = {}, words = str.split(\" \");\n for (var i = 0; i < words.length; ++i) obj[words[i]] = true;\n return obj;\n }\n\n var keywords = words(\n /* ngxDirectiveControl */ \"break return rewrite set\" +\n /* ngxDirective */ \" accept_mutex accept_mutex_delay access_log add_after_body add_before_body add_header addition_types aio alias allow ancient_browser ancient_browser_value auth_basic auth_basic_user_file auth_http auth_http_header auth_http_timeout autoindex autoindex_exact_size autoindex_localtime charset charset_types client_body_buffer_size client_body_in_file_only client_body_in_single_buffer client_body_temp_path client_body_timeout client_header_buffer_size client_header_timeout client_max_body_size connection_pool_size create_full_put_path daemon dav_access dav_methods debug_connection debug_points default_type degradation degrade deny devpoll_changes devpoll_events directio directio_alignment empty_gif env epoll_events error_log eventport_events expires fastcgi_bind fastcgi_buffer_size fastcgi_buffers fastcgi_busy_buffers_size fastcgi_cache fastcgi_cache_key fastcgi_cache_methods fastcgi_cache_min_uses fastcgi_cache_path fastcgi_cache_use_stale fastcgi_cache_valid fastcgi_catch_stderr fastcgi_connect_timeout fastcgi_hide_header fastcgi_ignore_client_abort fastcgi_ignore_headers fastcgi_index fastcgi_intercept_errors fastcgi_max_temp_file_size fastcgi_next_upstream fastcgi_param fastcgi_pass_header fastcgi_pass_request_body fastcgi_pass_request_headers fastcgi_read_timeout fastcgi_send_lowat fastcgi_send_timeout fastcgi_split_path_info fastcgi_store fastcgi_store_access fastcgi_temp_file_write_size fastcgi_temp_path fastcgi_upstream_fail_timeout fastcgi_upstream_max_fails flv geoip_city geoip_country google_perftools_profiles gzip gzip_buffers gzip_comp_level gzip_disable gzip_hash gzip_http_version gzip_min_length gzip_no_buffer gzip_proxied gzip_static gzip_types gzip_vary gzip_window if_modified_since ignore_invalid_headers image_filter image_filter_buffer image_filter_jpeg_quality image_filter_transparency imap_auth imap_capabilities imap_client_buffer index ip_hash keepalive_requests keepalive_timeout kqueue_changes kqueue_events large_client_header_buffers limit_conn limit_conn_log_level limit_rate limit_rate_after limit_req limit_req_log_level limit_req_zone limit_zone lingering_time lingering_timeout lock_file log_format log_not_found log_subrequest map_hash_bucket_size map_hash_max_size master_process memcached_bind memcached_buffer_size memcached_connect_timeout memcached_next_upstream memcached_read_timeout memcached_send_timeout memcached_upstream_fail_timeout memcached_upstream_max_fails merge_slashes min_delete_depth modern_browser modern_browser_value msie_padding msie_refresh multi_accept open_file_cache open_file_cache_errors open_file_cache_events open_file_cache_min_uses open_file_cache_valid open_log_file_cache output_buffers override_charset perl perl_modules perl_require perl_set pid pop3_auth pop3_capabilities port_in_redirect postpone_gzipping postpone_output protocol proxy proxy_bind proxy_buffer proxy_buffer_size proxy_buffering proxy_buffers proxy_busy_buffers_size proxy_cache proxy_cache_key proxy_cache_methods proxy_cache_min_uses proxy_cache_path proxy_cache_use_stale proxy_cache_valid proxy_connect_timeout proxy_headers_hash_bucket_size proxy_headers_hash_max_size proxy_hide_header proxy_ignore_client_abort proxy_ignore_headers proxy_intercept_errors proxy_max_temp_file_size proxy_method proxy_next_upstream proxy_pass_error_message proxy_pass_header proxy_pass_request_body proxy_pass_request_headers proxy_read_timeout proxy_redirect proxy_send_lowat proxy_send_timeout proxy_set_body proxy_set_header proxy_ssl_session_reuse proxy_store proxy_store_access proxy_temp_file_write_size proxy_temp_path proxy_timeout proxy_upstream_fail_timeout proxy_upstream_max_fails random_index read_ahead real_ip_header recursive_error_pages request_pool_size reset_timedout_connection resolver resolver_timeout rewrite_log rtsig_overflow_events rtsig_overflow_test rtsig_overflow_threshold rtsig_signo satisfy secure_link_secret send_lowat send_timeout sendfile sendfile_max_chunk server_name_in_redirect server_names_hash_bucket_size server_names_hash_max_size server_tokens set_real_ip_from smtp_auth smtp_capabilities smtp_client_buffer smtp_greeting_delay so_keepalive source_charset ssi ssi_ignore_recycled_buffers ssi_min_file_chunk ssi_silent_errors ssi_types ssi_value_length ssl ssl_certificate ssl_certificate_key ssl_ciphers ssl_client_certificate ssl_crl ssl_dhparam ssl_engine ssl_prefer_server_ciphers ssl_protocols ssl_session_cache ssl_session_timeout ssl_verify_client ssl_verify_depth starttls stub_status sub_filter sub_filter_once sub_filter_types tcp_nodelay tcp_nopush thread_stack_size timeout timer_resolution types_hash_bucket_size types_hash_max_size underscores_in_headers uninitialized_variable_warn use user userid userid_domain userid_expires userid_mark userid_name userid_p3p userid_path userid_service valid_referers variables_hash_bucket_size variables_hash_max_size worker_connections worker_cpu_affinity worker_priority worker_processes worker_rlimit_core worker_rlimit_nofile worker_rlimit_sigpending worker_threads working_directory xclient xml_entities xslt_stylesheet xslt_typesdrew@li229-23\"\n );\n\n var keywords_block = words(\n /* ngxDirectiveBlock */ \"http mail events server types location upstream charset_map limit_except if geo map\"\n );\n\n var keywords_important = words(\n /* ngxDirectiveImportant */ \"include root server server_name listen internal proxy_pass memcached_pass fastcgi_pass try_files\"\n );\n\n var indentUnit = config.indentUnit, type;\n function ret(style, tp) {type = tp; return style;}\n\n function tokenBase(stream, state) {\n\n\n stream.eatWhile(/[\\w\\$_]/);\n\n var cur = stream.current();\n\n\n if (keywords.propertyIsEnumerable(cur)) {\n return \"keyword\";\n }\n else if (keywords_block.propertyIsEnumerable(cur)) {\n return \"variable-2\";\n }\n else if (keywords_important.propertyIsEnumerable(cur)) {\n return \"string-2\";\n }\n /**/\n\n var ch = stream.next();\n if (ch == \"@\") {stream.eatWhile(/[\\w\\\\\\-]/); return ret(\"meta\", stream.current());}\n else if (ch == \"/\" && stream.eat(\"*\")) {\n state.tokenize = tokenCComment;\n return tokenCComment(stream, state);\n }\n else if (ch == \"<\" && stream.eat(\"!\")) {\n state.tokenize = tokenSGMLComment;\n return tokenSGMLComment(stream, state);\n }\n else if (ch == \"=\") ret(null, \"compare\");\n else if ((ch == \"~\" || ch == \"|\") && stream.eat(\"=\")) return ret(null, \"compare\");\n else if (ch == \"\\\"\" || ch == \"'\") {\n state.tokenize = tokenString(ch);\n return state.tokenize(stream, state);\n }\n else if (ch == \"#\") {\n stream.skipToEnd();\n return ret(\"comment\", \"comment\");\n }\n else if (ch == \"!\") {\n stream.match(/^\\s*\\w*/);\n return ret(\"keyword\", \"important\");\n }\n else if (/\\d/.test(ch)) {\n stream.eatWhile(/[\\w.%]/);\n return ret(\"number\", \"unit\");\n }\n else if (/[,.+>*\\/]/.test(ch)) {\n return ret(null, \"select-op\");\n }\n else if (/[;{}:\\[\\]]/.test(ch)) {\n return ret(null, ch);\n }\n else {\n stream.eatWhile(/[\\w\\\\\\-]/);\n return ret(\"variable\", \"variable\");\n }\n }\n\n function tokenCComment(stream, state) {\n var maybeEnd = false, ch;\n while ((ch = stream.next()) != null) {\n if (maybeEnd && ch == \"/\") {\n state.tokenize = tokenBase;\n break;\n }\n maybeEnd = (ch == \"*\");\n }\n return ret(\"comment\", \"comment\");\n }\n\n function tokenSGMLComment(stream, state) {\n var dashes = 0, ch;\n while ((ch = stream.next()) != null) {\n if (dashes >= 2 && ch == \">\") {\n state.tokenize = tokenBase;\n break;\n }\n dashes = (ch == \"-\") ? dashes + 1 : 0;\n }\n return ret(\"comment\", \"comment\");\n }\n\n function tokenString(quote) {\n return function(stream, state) {\n var escaped = false, ch;\n while ((ch = stream.next()) != null) {\n if (ch == quote && !escaped)\n break;\n escaped = !escaped && ch == \"\\\\\";\n }\n if (!escaped) state.tokenize = tokenBase;\n return ret(\"string\", \"string\");\n };\n }\n\n return {\n startState: function(base) {\n return {tokenize: tokenBase,\n baseIndent: base || 0,\n stack: []};\n },\n\n token: function(stream, state) {\n if (stream.eatSpace()) return null;\n type = null;\n var style = state.tokenize(stream, state);\n\n var context = state.stack[state.stack.length-1];\n if (type == \"hash\" && context == \"rule\") style = \"atom\";\n else if (style == \"variable\") {\n if (context == \"rule\") style = \"number\";\n else if (!context || context == \"@media{\") style = \"tag\";\n }\n\n if (context == \"rule\" && /^[\\{\\};]$/.test(type))\n state.stack.pop();\n if (type == \"{\") {\n if (context == \"@media\") state.stack[state.stack.length-1] = \"@media{\";\n else state.stack.push(\"{\");\n }\n else if (type == \"}\") state.stack.pop();\n else if (type == \"@media\") state.stack.push(\"@media\");\n else if (context == \"{\" && type != \"comment\") state.stack.push(\"rule\");\n return style;\n },\n\n indent: function(state, textAfter) {\n var n = state.stack.length;\n if (/^\\}/.test(textAfter))\n n -= state.stack[state.stack.length-1] == \"rule\" ? 2 : 1;\n return state.baseIndent + n * indentUnit;\n },\n\n electricChars: \"}\"\n };\n});\n\nCodeMirror.defineMIME(\"text/x-nginx-conf\", \"nginx\");\n\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9tb2RlL25naW54L25naW54LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvZGVtaXJyb3IvbW9kZS9uZ2lueC9uZ2lueC5qcz9iMmI5Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIENvZGVNaXJyb3IsIGNvcHlyaWdodCAoYykgYnkgTWFyaWpuIEhhdmVyYmVrZSBhbmQgb3RoZXJzXG4vLyBEaXN0cmlidXRlZCB1bmRlciBhbiBNSVQgbGljZW5zZTogaHR0cHM6Ly9jb2RlbWlycm9yLm5ldC9MSUNFTlNFXG5cbihmdW5jdGlvbihtb2QpIHtcbiAgaWYgKHR5cGVvZiBleHBvcnRzID09IFwib2JqZWN0XCIgJiYgdHlwZW9mIG1vZHVsZSA9PSBcIm9iamVjdFwiKSAvLyBDb21tb25KU1xuICAgIG1vZChyZXF1aXJlKFwiLi4vLi4vbGliL2NvZGVtaXJyb3JcIikpO1xuICBlbHNlIGlmICh0eXBlb2YgZGVmaW5lID09IFwiZnVuY3Rpb25cIiAmJiBkZWZpbmUuYW1kKSAvLyBBTURcbiAgICBkZWZpbmUoW1wiLi4vLi4vbGliL2NvZGVtaXJyb3JcIl0sIG1vZCk7XG4gIGVsc2UgLy8gUGxhaW4gYnJvd3NlciBlbnZcbiAgICBtb2QoQ29kZU1pcnJvcik7XG59KShmdW5jdGlvbihDb2RlTWlycm9yKSB7XG5cInVzZSBzdHJpY3RcIjtcblxuQ29kZU1pcnJvci5kZWZpbmVNb2RlKFwibmdpbnhcIiwgZnVuY3Rpb24oY29uZmlnKSB7XG5cbiAgZnVuY3Rpb24gd29yZHMoc3RyKSB7XG4gICAgdmFyIG9iaiA9IHt9LCB3b3JkcyA9IHN0ci5zcGxpdChcIiBcIik7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB3b3Jkcy5sZW5ndGg7ICsraSkgb2JqW3dvcmRzW2ldXSA9IHRydWU7XG4gICAgcmV0dXJuIG9iajtcbiAgfVxuXG4gIHZhciBrZXl3b3JkcyA9IHdvcmRzKFxuICAgIC8qIG5neERpcmVjdGl2ZUNvbnRyb2wgKi8gXCJicmVhayByZXR1cm4gcmV3cml0ZSBzZXRcIiArXG4gICAgLyogbmd4RGlyZWN0aXZlICovIFwiIGFjY2VwdF9tdXRleCBhY2NlcHRfbXV0ZXhfZGVsYXkgYWNjZXNzX2xvZyBhZGRfYWZ0ZXJfYm9keSBhZGRfYmVmb3JlX2JvZHkgYWRkX2hlYWRlciBhZGRpdGlvbl90eXBlcyBhaW8gYWxpYXMgYWxsb3cgYW5jaWVudF9icm93c2VyIGFuY2llbnRfYnJvd3Nlcl92YWx1ZSBhdXRoX2Jhc2ljIGF1dGhfYmFzaWNfdXNlcl9maWxlIGF1dGhfaHR0cCBhdXRoX2h0dHBfaGVhZGVyIGF1dGhfaHR0cF90aW1lb3V0IGF1dG9pbmRleCBhdXRvaW5kZXhfZXhhY3Rfc2l6ZSBhdXRvaW5kZXhfbG9jYWx0aW1lIGNoYXJzZXQgY2hhcnNldF90eXBlcyBjbGllbnRfYm9keV9idWZmZXJfc2l6ZSBjbGllbnRfYm9keV9pbl9maWxlX29ubHkgY2xpZW50X2JvZHlfaW5fc2luZ2xlX2J1ZmZlciBjbGllbnRfYm9keV90ZW1wX3BhdGggY2xpZW50X2JvZHlfdGltZW91dCBjbGllbnRfaGVhZGVyX2J1ZmZlcl9zaXplIGNsaWVudF9oZWFkZXJfdGltZW91dCBjbGllbnRfbWF4X2JvZHlfc2l6ZSBjb25uZWN0aW9uX3Bvb2xfc2l6ZSBjcmVhdGVfZnVsbF9wdXRfcGF0aCBkYWVtb24gZGF2X2FjY2VzcyBkYXZfbWV0aG9kcyBkZWJ1Z19jb25uZWN0aW9uIGRlYnVnX3BvaW50cyBkZWZhdWx0X3R5cGUgZGVncmFkYXRpb24gZGVncmFkZSBkZW55IGRldnBvbGxfY2hhbmdlcyBkZXZwb2xsX2V2ZW50cyBkaXJlY3RpbyBkaXJlY3Rpb19hbGlnbm1lbnQgZW1wdHlfZ2lmIGVudiBlcG9sbF9ldmVudHMgZXJyb3JfbG9nIGV2ZW50cG9ydF9ldmVudHMgZXhwaXJlcyBmYXN0Y2dpX2JpbmQgZmFzdGNnaV9idWZmZXJfc2l6ZSBmYXN0Y2dpX2J1ZmZlcnMgZmFzdGNnaV9idXN5X2J1ZmZlcnNfc2l6ZSBmYXN0Y2dpX2NhY2hlIGZhc3RjZ2lfY2FjaGVfa2V5IGZhc3RjZ2lfY2FjaGVfbWV0aG9kcyBmYXN0Y2dpX2NhY2hlX21pbl91c2VzIGZhc3RjZ2lfY2FjaGVfcGF0aCBmYXN0Y2dpX2NhY2hlX3VzZV9zdGFsZSBmYXN0Y2dpX2NhY2hlX3ZhbGlkIGZhc3RjZ2lfY2F0Y2hfc3RkZXJyIGZhc3RjZ2lfY29ubmVjdF90aW1lb3V0IGZhc3RjZ2lfaGlkZV9oZWFkZXIgZmFzdGNnaV9pZ25vcmVfY2xpZW50X2Fib3J0IGZhc3RjZ2lfaWdub3JlX2hlYWRlcnMgZmFzdGNnaV9pbmRleCBmYXN0Y2dpX2ludGVyY2VwdF9lcnJvcnMgZmFzdGNnaV9tYXhfdGVtcF9maWxlX3NpemUgZmFzdGNnaV9uZXh0X3Vwc3RyZWFtIGZhc3RjZ2lfcGFyYW0gZmFzdGNnaV9wYXNzX2hlYWRlciBmYXN0Y2dpX3Bhc3NfcmVxdWVzdF9ib2R5IGZhc3RjZ2lfcGFzc19yZXF1ZXN0X2hlYWRlcnMgZmFzdGNnaV9yZWFkX3RpbWVvdXQgZmFzdGNnaV9zZW5kX2xvd2F0IGZhc3RjZ2lfc2VuZF90aW1lb3V0IGZhc3RjZ2lfc3BsaXRfcGF0aF9pbmZvIGZhc3RjZ2lfc3RvcmUgZmFzdGNnaV9zdG9yZV9hY2Nlc3MgZmFzdGNnaV90ZW1wX2ZpbGVfd3JpdGVfc2l6ZSBmYXN0Y2dpX3RlbXBfcGF0aCBmYXN0Y2dpX3Vwc3RyZWFtX2ZhaWxfdGltZW91dCBmYXN0Y2dpX3Vwc3RyZWFtX21heF9mYWlscyBmbHYgZ2VvaXBfY2l0eSBnZW9pcF9jb3VudHJ5IGdvb2dsZV9wZXJmdG9vbHNfcHJvZmlsZXMgZ3ppcCBnemlwX2J1ZmZlcnMgZ3ppcF9jb21wX2xldmVsIGd6aXBfZGlzYWJsZSBnemlwX2hhc2ggZ3ppcF9odHRwX3ZlcnNpb24gZ3ppcF9taW5fbGVuZ3RoIGd6aXBfbm9fYnVmZmVyIGd6aXBfcHJveGllZCBnemlwX3N0YXRpYyBnemlwX3R5cGVzIGd6aXBfdmFyeSBnemlwX3dpbmRvdyBpZl9tb2RpZmllZF9zaW5jZSBpZ25vcmVfaW52YWxpZF9oZWFkZXJzIGltYWdlX2ZpbHRlciBpbWFnZV9maWx0ZXJfYnVmZmVyIGltYWdlX2ZpbHRlcl9qcGVnX3F1YWxpdHkgaW1hZ2VfZmlsdGVyX3RyYW5zcGFyZW5jeSBpbWFwX2F1dGggaW1hcF9jYXBhYmlsaXRpZXMgaW1hcF9jbGllbnRfYnVmZmVyIGluZGV4IGlwX2hhc2gga2VlcGFsaXZlX3JlcXVlc3RzIGtlZXBhbGl2ZV90aW1lb3V0IGtxdWV1ZV9jaGFuZ2VzIGtxdWV1ZV9ldmVudHMgbGFyZ2VfY2xpZW50X2hlYWRlcl9idWZmZXJzIGxpbWl0X2Nvbm4gbGltaXRfY29ubl9sb2dfbGV2ZWwgbGltaXRfcmF0ZSBsaW1pdF9yYXRlX2FmdGVyIGxpbWl0X3JlcSBsaW1pdF9yZXFfbG9nX2xldmVsIGxpbWl0X3JlcV96b25lIGxpbWl0X3pvbmUgbGluZ2VyaW5nX3RpbWUgbGluZ2VyaW5nX3RpbWVvdXQgbG9ja19maWxlIGxvZ19mb3JtYXQgbG9nX25vdF9mb3VuZCBsb2dfc3VicmVxdWVzdCBtYXBfaGFzaF9idWNrZXRfc2l6ZSBtYXBfaGFzaF9tYXhfc2l6ZSBtYXN0ZXJfcHJvY2VzcyBtZW1jYWNoZWRfYmluZCBtZW1jYWNoZWRfYnVmZmVyX3NpemUgbWVtY2FjaGVkX2Nvbm5lY3RfdGltZW91dCBtZW1jYWNoZWRfbmV4dF91cHN0cmVhbSBtZW1jYWNoZWRfcmVhZF90aW1lb3V0IG1lbWNhY2hlZF9zZW5kX3RpbWVvdXQgbWVtY2FjaGVkX3Vwc3RyZWFtX2ZhaWxfdGltZW91dCBtZW1jYWNoZWRfdXBzdHJlYW1fbWF4X2ZhaWxzIG1lcmdlX3NsYXNoZXMgbWluX2RlbGV0ZV9kZXB0aCBtb2Rlcm5fYnJvd3NlciBtb2Rlcm5fYnJvd3Nlcl92YWx1ZSBtc2llX3BhZGRpbmcgbXNpZV9yZWZyZXNoIG11bHRpX2FjY2VwdCBvcGVuX2ZpbGVfY2FjaGUgb3Blbl9maWxlX2NhY2hlX2Vycm9ycyBvcGVuX2ZpbGVfY2FjaGVfZXZlbnRzIG9wZW5fZmlsZV9jYWNoZV9taW5fdXNlcyBvcGVuX2ZpbGVfY2FjaGVfdmFsaWQgb3Blbl9sb2dfZmlsZV9jYWNoZSBvdXRwdXRfYnVmZmVycyBvdmVycmlkZV9jaGFyc2V0IHBlcmwgcGVybF9tb2R1bGVzIHBlcmxfcmVxdWlyZSBwZXJsX3NldCBwaWQgcG9wM19hdXRoIHBvcDNfY2FwYWJpbGl0aWVzIHBvcnRfaW5fcmVkaXJlY3QgcG9zdHBvbmVfZ3ppcHBpbmcgcG9zdHBvbmVfb3V0cHV0IHByb3RvY29sIHByb3h5IHByb3h5X2JpbmQgcHJveHlfYnVmZmVyIHByb3h5X2J1ZmZlcl9zaXplIHByb3h5X2J1ZmZlcmluZyBwcm94eV9idWZmZXJzIHByb3h5X2J1c3lfYnVmZmVyc19zaXplIHByb3h5X2NhY2hlIHByb3h5X2NhY2hlX2tleSBwcm94eV9jYWNoZV9tZXRob2RzIHByb3h5X2NhY2hlX21pbl91c2VzIHByb3h5X2NhY2hlX3BhdGggcHJveHlfY2FjaGVfdXNlX3N0YWxlIHByb3h5X2NhY2hlX3ZhbGlkIHByb3h5X2Nvbm5lY3RfdGltZW91dCBwcm94eV9oZWFkZXJzX2hhc2hfYnVja2V0X3NpemUgcHJveHlfaGVhZGVyc19oYXNoX21heF9zaXplIHByb3h5X2hpZGVfaGVhZGVyIHByb3h5X2lnbm9yZV9jbGllbnRfYWJvcnQgcHJveHlfaWdub3JlX2hlYWRlcnMgcHJveHlfaW50ZXJjZXB0X2Vycm9ycyBwcm94eV9tYXhfdGVtcF9maWxlX3NpemUgcHJveHlfbWV0aG9kIHByb3h5X25leHRfdXBzdHJlYW0gcHJveHlfcGFzc19lcnJvcl9tZXNzYWdlIHByb3h5X3Bhc3NfaGVhZGVyIHByb3h5X3Bhc3NfcmVxdWVzdF9ib2R5IHByb3h5X3Bhc3NfcmVxdWVzdF9oZWFkZXJzIHByb3h5X3JlYWRfdGltZW91dCBwcm94eV9yZWRpcmVjdCBwcm94eV9zZW5kX2xvd2F0IHByb3h5X3NlbmRfdGltZW91dCBwcm94eV9zZXRfYm9keSBwcm94eV9zZXRfaGVhZGVyIHByb3h5X3NzbF9zZXNzaW9uX3JldXNlIHByb3h5X3N0b3JlIHByb3h5X3N0b3JlX2FjY2VzcyBwcm94eV90ZW1wX2ZpbGVfd3JpdGVfc2l6ZSBwcm94eV90ZW1wX3BhdGggcHJveHlfdGltZW91dCBwcm94eV91cHN0cmVhbV9mYWlsX3RpbWVvdXQgcHJveHlfdXBzdHJlYW1fbWF4X2ZhaWxzIHJhbmRvbV9pbmRleCByZWFkX2FoZWFkIHJlYWxfaXBfaGVhZGVyIHJlY3Vyc2l2ZV9lcnJvcl9wYWdlcyByZXF1ZXN0X3Bvb2xfc2l6ZSByZXNldF90aW1lZG91dF9jb25uZWN0aW9uIHJlc29sdmVyIHJlc29sdmVyX3RpbWVvdXQgcmV3cml0ZV9sb2cgcnRzaWdfb3ZlcmZsb3dfZXZlbnRzIHJ0c2lnX292ZXJmbG93X3Rlc3QgcnRzaWdfb3ZlcmZsb3dfdGhyZXNob2xkIHJ0c2lnX3NpZ25vIHNhdGlzZnkgc2VjdXJlX2xpbmtfc2VjcmV0IHNlbmRfbG93YXQgc2VuZF90aW1lb3V0IHNlbmRmaWxlIHNlbmRmaWxlX21heF9jaHVuayBzZXJ2ZXJfbmFtZV9pbl9yZWRpcmVjdCBzZXJ2ZXJfbmFtZXNfaGFzaF9idWNrZXRfc2l6ZSBzZXJ2ZXJfbmFtZXNfaGFzaF9tYXhfc2l6ZSBzZXJ2ZXJfdG9rZW5zIHNldF9yZWFsX2lwX2Zyb20gc210cF9hdXRoIHNtdHBfY2FwYWJpbGl0aWVzIHNtdHBfY2xpZW50X2J1ZmZlciBzbXRwX2dyZWV0aW5nX2RlbGF5IHNvX2tlZXBhbGl2ZSBzb3VyY2VfY2hhcnNldCBzc2kgc3NpX2lnbm9yZV9yZWN5Y2xlZF9idWZmZXJzIHNzaV9taW5fZmlsZV9jaHVuayBzc2lfc2lsZW50X2Vycm9ycyBzc2lfdHlwZXMgc3NpX3ZhbHVlX2xlbmd0aCBzc2wgc3NsX2NlcnRpZmljYXRlIHNzbF9jZXJ0aWZpY2F0ZV9rZXkgc3NsX2NpcGhlcnMgc3NsX2NsaWVudF9jZXJ0aWZpY2F0ZSBzc2xfY3JsIHNzbF9kaHBhcmFtIHNzbF9lbmdpbmUgc3NsX3ByZWZlcl9zZXJ2ZXJfY2lwaGVycyBzc2xfcHJvdG9jb2xzIHNzbF9zZXNzaW9uX2NhY2hlIHNzbF9zZXNzaW9uX3RpbWVvdXQgc3NsX3ZlcmlmeV9jbGllbnQgc3NsX3ZlcmlmeV9kZXB0aCBzdGFydHRscyBzdHViX3N0YXR1cyBzdWJfZmlsdGVyIHN1Yl9maWx0ZXJfb25jZSBzdWJfZmlsdGVyX3R5cGVzIHRjcF9ub2RlbGF5IHRjcF9ub3B1c2ggdGhyZWFkX3N0YWNrX3NpemUgdGltZW91dCB0aW1lcl9yZXNvbHV0aW9uIHR5cGVzX2hhc2hfYnVja2V0X3NpemUgdHlwZXNfaGFzaF9tYXhfc2l6ZSB1bmRlcnNjb3Jlc19pbl9oZWFkZXJzIHVuaW5pdGlhbGl6ZWRfdmFyaWFibGVfd2FybiB1c2UgdXNlciB1c2VyaWQgdXNlcmlkX2RvbWFpbiB1c2VyaWRfZXhwaXJlcyB1c2VyaWRfbWFyayB1c2VyaWRfbmFtZSB1c2VyaWRfcDNwIHVzZXJpZF9wYXRoIHVzZXJpZF9zZXJ2aWNlIHZhbGlkX3JlZmVyZXJzIHZhcmlhYmxlc19oYXNoX2J1Y2tldF9zaXplIHZhcmlhYmxlc19oYXNoX21heF9zaXplIHdvcmtlcl9jb25uZWN0aW9ucyB3b3JrZXJfY3B1X2FmZmluaXR5IHdvcmtlcl9wcmlvcml0eSB3b3JrZXJfcHJvY2Vzc2VzIHdvcmtlcl9ybGltaXRfY29yZSB3b3JrZXJfcmxpbWl0X25vZmlsZSB3b3JrZXJfcmxpbWl0X3NpZ3BlbmRpbmcgd29ya2VyX3RocmVhZHMgd29ya2luZ19kaXJlY3RvcnkgeGNsaWVudCB4bWxfZW50aXRpZXMgeHNsdF9zdHlsZXNoZWV0IHhzbHRfdHlwZXNkcmV3QGxpMjI5LTIzXCJcbiAgICApO1xuXG4gIHZhciBrZXl3b3Jkc19ibG9jayA9IHdvcmRzKFxuICAgIC8qIG5neERpcmVjdGl2ZUJsb2NrICovIFwiaHR0cCBtYWlsIGV2ZW50cyBzZXJ2ZXIgdHlwZXMgbG9jYXRpb24gdXBzdHJlYW0gY2hhcnNldF9tYXAgbGltaXRfZXhjZXB0IGlmIGdlbyBtYXBcIlxuICAgICk7XG5cbiAgdmFyIGtleXdvcmRzX2ltcG9ydGFudCA9IHdvcmRzKFxuICAgIC8qIG5neERpcmVjdGl2ZUltcG9ydGFudCAqLyBcImluY2x1ZGUgcm9vdCBzZXJ2ZXIgc2VydmVyX25hbWUgbGlzdGVuIGludGVybmFsIHByb3h5X3Bhc3MgbWVtY2FjaGVkX3Bhc3MgZmFzdGNnaV9wYXNzIHRyeV9maWxlc1wiXG4gICAgKTtcblxuICB2YXIgaW5kZW50VW5pdCA9IGNvbmZpZy5pbmRlbnRVbml0LCB0eXBlO1xuICBmdW5jdGlvbiByZXQoc3R5bGUsIHRwKSB7dHlwZSA9IHRwOyByZXR1cm4gc3R5bGU7fVxuXG4gIGZ1bmN0aW9uIHRva2VuQmFzZShzdHJlYW0sIHN0YXRlKSB7XG5cblxuICAgIHN0cmVhbS5lYXRXaGlsZSgvW1xcd1xcJF9dLyk7XG5cbiAgICB2YXIgY3VyID0gc3RyZWFtLmN1cnJlbnQoKTtcblxuXG4gICAgaWYgKGtleXdvcmRzLnByb3BlcnR5SXNFbnVtZXJhYmxlKGN1cikpIHtcbiAgICAgIHJldHVybiBcImtleXdvcmRcIjtcbiAgICB9XG4gICAgZWxzZSBpZiAoa2V5d29yZHNfYmxvY2sucHJvcGVydHlJc0VudW1lcmFibGUoY3VyKSkge1xuICAgICAgcmV0dXJuIFwidmFyaWFibGUtMlwiO1xuICAgIH1cbiAgICBlbHNlIGlmIChrZXl3b3Jkc19pbXBvcnRhbnQucHJvcGVydHlJc0VudW1lcmFibGUoY3VyKSkge1xuICAgICAgcmV0dXJuIFwic3RyaW5nLTJcIjtcbiAgICB9XG4gICAgLyoqL1xuXG4gICAgdmFyIGNoID0gc3RyZWFtLm5leHQoKTtcbiAgICBpZiAoY2ggPT0gXCJAXCIpIHtzdHJlYW0uZWF0V2hpbGUoL1tcXHdcXFxcXFwtXS8pOyByZXR1cm4gcmV0KFwibWV0YVwiLCBzdHJlYW0uY3VycmVudCgpKTt9XG4gICAgZWxzZSBpZiAoY2ggPT0gXCIvXCIgJiYgc3RyZWFtLmVhdChcIipcIikpIHtcbiAgICAgIHN0YXRlLnRva2VuaXplID0gdG9rZW5DQ29tbWVudDtcbiAgICAgIHJldHVybiB0b2tlbkNDb21tZW50KHN0cmVhbSwgc3RhdGUpO1xuICAgIH1cbiAgICBlbHNlIGlmIChjaCA9PSBcIjxcIiAmJiBzdHJlYW0uZWF0KFwiIVwiKSkge1xuICAgICAgc3RhdGUudG9rZW5pemUgPSB0b2tlblNHTUxDb21tZW50O1xuICAgICAgcmV0dXJuIHRva2VuU0dNTENvbW1lbnQoc3RyZWFtLCBzdGF0ZSk7XG4gICAgfVxuICAgIGVsc2UgaWYgKGNoID09IFwiPVwiKSByZXQobnVsbCwgXCJjb21wYXJlXCIpO1xuICAgIGVsc2UgaWYgKChjaCA9PSBcIn5cIiB8fCBjaCA9PSBcInxcIikgJiYgc3RyZWFtLmVhdChcIj1cIikpIHJldHVybiByZXQobnVsbCwgXCJjb21wYXJlXCIpO1xuICAgIGVsc2UgaWYgKGNoID09IFwiXFxcIlwiIHx8IGNoID09IFwiJ1wiKSB7XG4gICAgICBzdGF0ZS50b2tlbml6ZSA9IHRva2VuU3RyaW5nKGNoKTtcbiAgICAgIHJldHVybiBzdGF0ZS50b2tlbml6ZShzdHJlYW0sIHN0YXRlKTtcbiAgICB9XG4gICAgZWxzZSBpZiAoY2ggPT0gXCIjXCIpIHtcbiAgICAgIHN0cmVhbS5za2lwVG9FbmQoKTtcbiAgICAgIHJldHVybiByZXQoXCJjb21tZW50XCIsIFwiY29tbWVudFwiKTtcbiAgICB9XG4gICAgZWxzZSBpZiAoY2ggPT0gXCIhXCIpIHtcbiAgICAgIHN0cmVhbS5tYXRjaCgvXlxccypcXHcqLyk7XG4gICAgICByZXR1cm4gcmV0KFwia2V5d29yZFwiLCBcImltcG9ydGFudFwiKTtcbiAgICB9XG4gICAgZWxzZSBpZiAoL1xcZC8udGVzdChjaCkpIHtcbiAgICAgIHN0cmVhbS5lYXRXaGlsZSgvW1xcdy4lXS8pO1xuICAgICAgcmV0dXJuIHJldChcIm51bWJlclwiLCBcInVuaXRcIik7XG4gICAgfVxuICAgIGVsc2UgaWYgKC9bLC4rPipcXC9dLy50ZXN0KGNoKSkge1xuICAgICAgcmV0dXJuIHJldChudWxsLCBcInNlbGVjdC1vcFwiKTtcbiAgICB9XG4gICAgZWxzZSBpZiAoL1s7e306XFxbXFxdXS8udGVzdChjaCkpIHtcbiAgICAgIHJldHVybiByZXQobnVsbCwgY2gpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIHN0cmVhbS5lYXRXaGlsZSgvW1xcd1xcXFxcXC1dLyk7XG4gICAgICByZXR1cm4gcmV0KFwidmFyaWFibGVcIiwgXCJ2YXJpYWJsZVwiKTtcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiB0b2tlbkNDb21tZW50KHN0cmVhbSwgc3RhdGUpIHtcbiAgICB2YXIgbWF5YmVFbmQgPSBmYWxzZSwgY2g7XG4gICAgd2hpbGUgKChjaCA9IHN0cmVhbS5uZXh0KCkpICE9IG51bGwpIHtcbiAgICAgIGlmIChtYXliZUVuZCAmJiBjaCA9PSBcIi9cIikge1xuICAgICAgICBzdGF0ZS50b2tlbml6ZSA9IHRva2VuQmFzZTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBtYXliZUVuZCA9IChjaCA9PSBcIipcIik7XG4gICAgfVxuICAgIHJldHVybiByZXQoXCJjb21tZW50XCIsIFwiY29tbWVudFwiKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIHRva2VuU0dNTENvbW1lbnQoc3RyZWFtLCBzdGF0ZSkge1xuICAgIHZhciBkYXNoZXMgPSAwLCBjaDtcbiAgICB3aGlsZSAoKGNoID0gc3RyZWFtLm5leHQoKSkgIT0gbnVsbCkge1xuICAgICAgaWYgKGRhc2hlcyA+PSAyICYmIGNoID09IFwiPlwiKSB7XG4gICAgICAgIHN0YXRlLnRva2VuaXplID0gdG9rZW5CYXNlO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGRhc2hlcyA9IChjaCA9PSBcIi1cIikgPyBkYXNoZXMgKyAxIDogMDtcbiAgICB9XG4gICAgcmV0dXJuIHJldChcImNvbW1lbnRcIiwgXCJjb21tZW50XCIpO1xuICB9XG5cbiAgZnVuY3Rpb24gdG9rZW5TdHJpbmcocXVvdGUpIHtcbiAgICByZXR1cm4gZnVuY3Rpb24oc3RyZWFtLCBzdGF0ZSkge1xuICAgICAgdmFyIGVzY2FwZWQgPSBmYWxzZSwgY2g7XG4gICAgICB3aGlsZSAoKGNoID0gc3RyZWFtLm5leHQoKSkgIT0gbnVsbCkge1xuICAgICAgICBpZiAoY2ggPT0gcXVvdGUgJiYgIWVzY2FwZWQpXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGVzY2FwZWQgPSAhZXNjYXBlZCAmJiBjaCA9PSBcIlxcXFxcIjtcbiAgICAgIH1cbiAgICAgIGlmICghZXNjYXBlZCkgc3RhdGUudG9rZW5pemUgPSB0b2tlbkJhc2U7XG4gICAgICByZXR1cm4gcmV0KFwic3RyaW5nXCIsIFwic3RyaW5nXCIpO1xuICAgIH07XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHN0YXJ0U3RhdGU6IGZ1bmN0aW9uKGJhc2UpIHtcbiAgICAgIHJldHVybiB7dG9rZW5pemU6IHRva2VuQmFzZSxcbiAgICAgICAgICAgICAgYmFzZUluZGVudDogYmFzZSB8fCAwLFxuICAgICAgICAgICAgICBzdGFjazogW119O1xuICAgIH0sXG5cbiAgICB0b2tlbjogZnVuY3Rpb24oc3RyZWFtLCBzdGF0ZSkge1xuICAgICAgaWYgKHN0cmVhbS5lYXRTcGFjZSgpKSByZXR1cm4gbnVsbDtcbiAgICAgIHR5cGUgPSBudWxsO1xuICAgICAgdmFyIHN0eWxlID0gc3RhdGUudG9rZW5pemUoc3RyZWFtLCBzdGF0ZSk7XG5cbiAgICAgIHZhciBjb250ZXh0ID0gc3RhdGUuc3RhY2tbc3RhdGUuc3RhY2subGVuZ3RoLTFdO1xuICAgICAgaWYgKHR5cGUgPT0gXCJoYXNoXCIgJiYgY29udGV4dCA9PSBcInJ1bGVcIikgc3R5bGUgPSBcImF0b21cIjtcbiAgICAgIGVsc2UgaWYgKHN0eWxlID09IFwidmFyaWFibGVcIikge1xuICAgICAgICBpZiAoY29udGV4dCA9PSBcInJ1bGVcIikgc3R5bGUgPSBcIm51bWJlclwiO1xuICAgICAgICBlbHNlIGlmICghY29udGV4dCB8fCBjb250ZXh0ID09IFwiQG1lZGlhe1wiKSBzdHlsZSA9IFwidGFnXCI7XG4gICAgICB9XG5cbiAgICAgIGlmIChjb250ZXh0ID09IFwicnVsZVwiICYmIC9eW1xce1xcfTtdJC8udGVzdCh0eXBlKSlcbiAgICAgICAgc3RhdGUuc3RhY2sucG9wKCk7XG4gICAgICBpZiAodHlwZSA9PSBcIntcIikge1xuICAgICAgICBpZiAoY29udGV4dCA9PSBcIkBtZWRpYVwiKSBzdGF0ZS5zdGFja1tzdGF0ZS5zdGFjay5sZW5ndGgtMV0gPSBcIkBtZWRpYXtcIjtcbiAgICAgICAgZWxzZSBzdGF0ZS5zdGFjay5wdXNoKFwie1wiKTtcbiAgICAgIH1cbiAgICAgIGVsc2UgaWYgKHR5cGUgPT0gXCJ9XCIpIHN0YXRlLnN0YWNrLnBvcCgpO1xuICAgICAgZWxzZSBpZiAodHlwZSA9PSBcIkBtZWRpYVwiKSBzdGF0ZS5zdGFjay5wdXNoKFwiQG1lZGlhXCIpO1xuICAgICAgZWxzZSBpZiAoY29udGV4dCA9PSBcIntcIiAmJiB0eXBlICE9IFwiY29tbWVudFwiKSBzdGF0ZS5zdGFjay5wdXNoKFwicnVsZVwiKTtcbiAgICAgIHJldHVybiBzdHlsZTtcbiAgICB9LFxuXG4gICAgaW5kZW50OiBmdW5jdGlvbihzdGF0ZSwgdGV4dEFmdGVyKSB7XG4gICAgICB2YXIgbiA9IHN0YXRlLnN0YWNrLmxlbmd0aDtcbiAgICAgIGlmICgvXlxcfS8udGVzdCh0ZXh0QWZ0ZXIpKVxuICAgICAgICBuIC09IHN0YXRlLnN0YWNrW3N0YXRlLnN0YWNrLmxlbmd0aC0xXSA9PSBcInJ1bGVcIiA/IDIgOiAxO1xuICAgICAgcmV0dXJuIHN0YXRlLmJhc2VJbmRlbnQgKyBuICogaW5kZW50VW5pdDtcbiAgICB9LFxuXG4gICAgZWxlY3RyaWNDaGFyczogXCJ9XCJcbiAgfTtcbn0pO1xuXG5Db2RlTWlycm9yLmRlZmluZU1JTUUoXCJ0ZXh0L3gtbmdpbngtY29uZlwiLCBcIm5naW54XCIpO1xuXG59KTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/codemirror/mode/nginx/nginx.js\n"); /***/ }), /***/ "./node_modules/codemirror/mode/perl/perl.js": /*!***************************************************!*\ !*** ./node_modules/codemirror/mode/perl/perl.js ***! \***************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n// CodeMirror2 mode/perl/perl.js (text/x-perl) beta 0.10 (2011-11-08)\n// This is a part of CodeMirror from https://github.com/sabaca/CodeMirror_mode_perl (mail@sabaca.com)\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ \"./node_modules/codemirror/lib/codemirror.js\"));\n else {}\n})(function(CodeMirror) {\n\"use strict\";\n\nCodeMirror.defineMode(\"perl\",function(){\n // http://perldoc.perl.org\n var PERL={ // null - magic touch\n // 1 - keyword\n // 2 - def\n // 3 - atom\n // 4 - operator\n // 5 - variable-2 (predefined)\n // [x,y] - x=1,2,3; y=must be defined if x{...}\n // PERL operators\n '->' : 4,\n '++' : 4,\n '--' : 4,\n '**' : 4,\n // ! ~ \\ and unary + and -\n '=~' : 4,\n '!~' : 4,\n '*' : 4,\n '/' : 4,\n '%' : 4,\n 'x' : 4,\n '+' : 4,\n '-' : 4,\n '.' : 4,\n '<<' : 4,\n '>>' : 4,\n // named unary operators\n '<' : 4,\n '>' : 4,\n '<=' : 4,\n '>=' : 4,\n 'lt' : 4,\n 'gt' : 4,\n 'le' : 4,\n 'ge' : 4,\n '==' : 4,\n '!=' : 4,\n '<=>' : 4,\n 'eq' : 4,\n 'ne' : 4,\n 'cmp' : 4,\n '~~' : 4,\n '&' : 4,\n '|' : 4,\n '^' : 4,\n '&&' : 4,\n '||' : 4,\n '//' : 4,\n '..' : 4,\n '...' : 4,\n '?' : 4,\n ':' : 4,\n '=' : 4,\n '+=' : 4,\n '-=' : 4,\n '*=' : 4, // etc. ???\n ',' : 4,\n '=>' : 4,\n '::' : 4,\n // list operators (rightward)\n 'not' : 4,\n 'and' : 4,\n 'or' : 4,\n 'xor' : 4,\n // PERL predefined variables (I know, what this is a paranoid idea, but may be needed for people, who learn PERL, and for me as well, ...and may be for you?;)\n 'BEGIN' : [5,1],\n 'END' : [5,1],\n 'PRINT' : [5,1],\n 'PRINTF' : [5,1],\n 'GETC' : [5,1],\n 'READ' : [5,1],\n 'READLINE' : [5,1],\n 'DESTROY' : [5,1],\n 'TIE' : [5,1],\n 'TIEHANDLE' : [5,1],\n 'UNTIE' : [5,1],\n 'STDIN' : 5,\n 'STDIN_TOP' : 5,\n 'STDOUT' : 5,\n 'STDOUT_TOP' : 5,\n 'STDERR' : 5,\n 'STDERR_TOP' : 5,\n '$ARG' : 5,\n '$_' : 5,\n '@ARG' : 5,\n '@_' : 5,\n '$LIST_SEPARATOR' : 5,\n '$\"' : 5,\n '$PROCESS_ID' : 5,\n '$PID' : 5,\n '$$' : 5,\n '$REAL_GROUP_ID' : 5,\n '$GID' : 5,\n '$(' : 5,\n '$EFFECTIVE_GROUP_ID' : 5,\n '$EGID' : 5,\n '$)' : 5,\n '$PROGRAM_NAME' : 5,\n '$0' : 5,\n '$SUBSCRIPT_SEPARATOR' : 5,\n '$SUBSEP' : 5,\n '$;' : 5,\n '$REAL_USER_ID' : 5,\n '$UID' : 5,\n '$<' : 5,\n '$EFFECTIVE_USER_ID' : 5,\n '$EUID' : 5,\n '$>' : 5,\n '$a' : 5,\n '$b' : 5,\n '$COMPILING' : 5,\n '$^C' : 5,\n '$DEBUGGING' : 5,\n '$^D' : 5,\n '${^ENCODING}' : 5,\n '$ENV' : 5,\n '%ENV' : 5,\n '$SYSTEM_FD_MAX' : 5,\n '$^F' : 5,\n '@F' : 5,\n '${^GLOBAL_PHASE}' : 5,\n '$^H' : 5,\n '%^H' : 5,\n '@INC' : 5,\n '%INC' : 5,\n '$INPLACE_EDIT' : 5,\n '$^I' : 5,\n '$^M' : 5,\n '$OSNAME' : 5,\n '$^O' : 5,\n '${^OPEN}' : 5,\n '$PERLDB' : 5,\n '$^P' : 5,\n '$SIG' : 5,\n '%SIG' : 5,\n '$BASETIME' : 5,\n '$^T' : 5,\n '${^TAINT}' : 5,\n '${^UNICODE}' : 5,\n '${^UTF8CACHE}' : 5,\n '${^UTF8LOCALE}' : 5,\n '$PERL_VERSION' : 5,\n '$^V' : 5,\n '${^WIN32_SLOPPY_STAT}' : 5,\n '$EXECUTABLE_NAME' : 5,\n '$^X' : 5,\n '$1' : 5, // - regexp $1, $2...\n '$MATCH' : 5,\n '$&' : 5,\n '${^MATCH}' : 5,\n '$PREMATCH' : 5,\n '$`' : 5,\n '${^PREMATCH}' : 5,\n '$POSTMATCH' : 5,\n \"$'\" : 5,\n '${^POSTMATCH}' : 5,\n '$LAST_PAREN_MATCH' : 5,\n '$+' : 5,\n '$LAST_SUBMATCH_RESULT' : 5,\n '$^N' : 5,\n '@LAST_MATCH_END' : 5,\n '@+' : 5,\n '%LAST_PAREN_MATCH' : 5,\n '%+' : 5,\n '@LAST_MATCH_START' : 5,\n '@-' : 5,\n '%LAST_MATCH_START' : 5,\n '%-' : 5,\n '$LAST_REGEXP_CODE_RESULT' : 5,\n '$^R' : 5,\n '${^RE_DEBUG_FLAGS}' : 5,\n '${^RE_TRIE_MAXBUF}' : 5,\n '$ARGV' : 5,\n '@ARGV' : 5,\n 'ARGV' : 5,\n 'ARGVOUT' : 5,\n '$OUTPUT_FIELD_SEPARATOR' : 5,\n '$OFS' : 5,\n '$,' : 5,\n '$INPUT_LINE_NUMBER' : 5,\n '$NR' : 5,\n '$.' : 5,\n '$INPUT_RECORD_SEPARATOR' : 5,\n '$RS' : 5,\n '$/' : 5,\n '$OUTPUT_RECORD_SEPARATOR' : 5,\n '$ORS' : 5,\n '$\\\\' : 5,\n '$OUTPUT_AUTOFLUSH' : 5,\n '$|' : 5,\n '$ACCUMULATOR' : 5,\n '$^A' : 5,\n '$FORMAT_FORMFEED' : 5,\n '$^L' : 5,\n '$FORMAT_PAGE_NUMBER' : 5,\n '$%' : 5,\n '$FORMAT_LINES_LEFT' : 5,\n '$-' : 5,\n '$FORMAT_LINE_BREAK_CHARACTERS' : 5,\n '$:' : 5,\n '$FORMAT_LINES_PER_PAGE' : 5,\n '$=' : 5,\n '$FORMAT_TOP_NAME' : 5,\n '$^' : 5,\n '$FORMAT_NAME' : 5,\n '$~' : 5,\n '${^CHILD_ERROR_NATIVE}' : 5,\n '$EXTENDED_OS_ERROR' : 5,\n '$^E' : 5,\n '$EXCEPTIONS_BEING_CAUGHT' : 5,\n '$^S' : 5,\n '$WARNING' : 5,\n '$^W' : 5,\n '${^WARNING_BITS}' : 5,\n '$OS_ERROR' : 5,\n '$ERRNO' : 5,\n '$!' : 5,\n '%OS_ERROR' : 5,\n '%ERRNO' : 5,\n '%!' : 5,\n '$CHILD_ERROR' : 5,\n '$?' : 5,\n '$EVAL_ERROR' : 5,\n '$@' : 5,\n '$OFMT' : 5,\n '$#' : 5,\n '$*' : 5,\n '$ARRAY_BASE' : 5,\n '$[' : 5,\n '$OLD_PERL_VERSION' : 5,\n '$]' : 5,\n // PERL blocks\n 'if' :[1,1],\n elsif :[1,1],\n 'else' :[1,1],\n 'while' :[1,1],\n unless :[1,1],\n 'for' :[1,1],\n foreach :[1,1],\n // PERL functions\n 'abs' :1, // - absolute value function\n accept :1, // - accept an incoming socket connect\n alarm :1, // - schedule a SIGALRM\n 'atan2' :1, // - arctangent of Y/X in the range -PI to PI\n bind :1, // - binds an address to a socket\n binmode :1, // - prepare binary files for I/O\n bless :1, // - create an object\n bootstrap :1, //\n 'break' :1, // - break out of a \"given\" block\n caller :1, // - get context of the current subroutine call\n chdir :1, // - change your current working directory\n chmod :1, // - changes the permissions on a list of files\n chomp :1, // - remove a trailing record separator from a string\n chop :1, // - remove the last character from a string\n chown :1, // - change the ownership on a list of files\n chr :1, // - get character this number represents\n chroot :1, // - make directory new root for path lookups\n close :1, // - close file (or pipe or socket) handle\n closedir :1, // - close directory handle\n connect :1, // - connect to a remote socket\n 'continue' :[1,1], // - optional trailing block in a while or foreach\n 'cos' :1, // - cosine function\n crypt :1, // - one-way passwd-style encryption\n dbmclose :1, // - breaks binding on a tied dbm file\n dbmopen :1, // - create binding on a tied dbm file\n 'default' :1, //\n defined :1, // - test whether a value, variable, or function is defined\n 'delete' :1, // - deletes a value from a hash\n die :1, // - raise an exception or bail out\n 'do' :1, // - turn a BLOCK into a TERM\n dump :1, // - create an immediate core dump\n each :1, // - retrieve the next key/value pair from a hash\n endgrent :1, // - be done using group file\n endhostent :1, // - be done using hosts file\n endnetent :1, // - be done using networks file\n endprotoent :1, // - be done using protocols file\n endpwent :1, // - be done using passwd file\n endservent :1, // - be done using services file\n eof :1, // - test a filehandle for its end\n 'eval' :1, // - catch exceptions or compile and run code\n 'exec' :1, // - abandon this program to run another\n exists :1, // - test whether a hash key is present\n exit :1, // - terminate this program\n 'exp' :1, // - raise I to a power\n fcntl :1, // - file control system call\n fileno :1, // - return file descriptor from filehandle\n flock :1, // - lock an entire file with an advisory lock\n fork :1, // - create a new process just like this one\n format :1, // - declare a picture format with use by the write() function\n formline :1, // - internal function used for formats\n getc :1, // - get the next character from the filehandle\n getgrent :1, // - get next group record\n getgrgid :1, // - get group record given group user ID\n getgrnam :1, // - get group record given group name\n gethostbyaddr :1, // - get host record given its address\n gethostbyname :1, // - get host record given name\n gethostent :1, // - get next hosts record\n getlogin :1, // - return who logged in at this tty\n getnetbyaddr :1, // - get network record given its address\n getnetbyname :1, // - get networks record given name\n getnetent :1, // - get next networks record\n getpeername :1, // - find the other end of a socket connection\n getpgrp :1, // - get process group\n getppid :1, // - get parent process ID\n getpriority :1, // - get current nice value\n getprotobyname :1, // - get protocol record given name\n getprotobynumber :1, // - get protocol record numeric protocol\n getprotoent :1, // - get next protocols record\n getpwent :1, // - get next passwd record\n getpwnam :1, // - get passwd record given user login name\n getpwuid :1, // - get passwd record given user ID\n getservbyname :1, // - get services record given its name\n getservbyport :1, // - get services record given numeric port\n getservent :1, // - get next services record\n getsockname :1, // - retrieve the sockaddr for a given socket\n getsockopt :1, // - get socket options on a given socket\n given :1, //\n glob :1, // - expand filenames using wildcards\n gmtime :1, // - convert UNIX time into record or string using Greenwich time\n 'goto' :1, // - create spaghetti code\n grep :1, // - locate elements in a list test true against a given criterion\n hex :1, // - convert a string to a hexadecimal number\n 'import' :1, // - patch a module's namespace into your own\n index :1, // - find a substring within a string\n 'int' :1, // - get the integer portion of a number\n ioctl :1, // - system-dependent device control system call\n 'join' :1, // - join a list into a string using a separator\n keys :1, // - retrieve list of indices from a hash\n kill :1, // - send a signal to a process or process group\n last :1, // - exit a block prematurely\n lc :1, // - return lower-case version of a string\n lcfirst :1, // - return a string with just the next letter in lower case\n length :1, // - return the number of bytes in a string\n 'link' :1, // - create a hard link in the filesytem\n listen :1, // - register your socket as a server\n local : 2, // - create a temporary value for a global variable (dynamic scoping)\n localtime :1, // - convert UNIX time into record or string using local time\n lock :1, // - get a thread lock on a variable, subroutine, or method\n 'log' :1, // - retrieve the natural logarithm for a number\n lstat :1, // - stat a symbolic link\n m :null, // - match a string with a regular expression pattern\n map :1, // - apply a change to a list to get back a new list with the changes\n mkdir :1, // - create a directory\n msgctl :1, // - SysV IPC message control operations\n msgget :1, // - get SysV IPC message queue\n msgrcv :1, // - receive a SysV IPC message from a message queue\n msgsnd :1, // - send a SysV IPC message to a message queue\n my : 2, // - declare and assign a local variable (lexical scoping)\n 'new' :1, //\n next :1, // - iterate a block prematurely\n no :1, // - unimport some module symbols or semantics at compile time\n oct :1, // - convert a string to an octal number\n open :1, // - open a file, pipe, or descriptor\n opendir :1, // - open a directory\n ord :1, // - find a character's numeric representation\n our : 2, // - declare and assign a package variable (lexical scoping)\n pack :1, // - convert a list into a binary representation\n 'package' :1, // - declare a separate global namespace\n pipe :1, // - open a pair of connected filehandles\n pop :1, // - remove the last element from an array and return it\n pos :1, // - find or set the offset for the last/next m//g search\n print :1, // - output a list to a filehandle\n printf :1, // - output a formatted list to a filehandle\n prototype :1, // - get the prototype (if any) of a subroutine\n push :1, // - append one or more elements to an array\n q :null, // - singly quote a string\n qq :null, // - doubly quote a string\n qr :null, // - Compile pattern\n quotemeta :null, // - quote regular expression magic characters\n qw :null, // - quote a list of words\n qx :null, // - backquote quote a string\n rand :1, // - retrieve the next pseudorandom number\n read :1, // - fixed-length buffered input from a filehandle\n readdir :1, // - get a directory from a directory handle\n readline :1, // - fetch a record from a file\n readlink :1, // - determine where a symbolic link is pointing\n readpipe :1, // - execute a system command and collect standard output\n recv :1, // - receive a message over a Socket\n redo :1, // - start this loop iteration over again\n ref :1, // - find out the type of thing being referenced\n rename :1, // - change a filename\n require :1, // - load in external functions from a library at runtime\n reset :1, // - clear all variables of a given name\n 'return' :1, // - get out of a function early\n reverse :1, // - flip a string or a list\n rewinddir :1, // - reset directory handle\n rindex :1, // - right-to-left substring search\n rmdir :1, // - remove a directory\n s :null, // - replace a pattern with a string\n say :1, // - print with newline\n scalar :1, // - force a scalar context\n seek :1, // - reposition file pointer for random-access I/O\n seekdir :1, // - reposition directory pointer\n select :1, // - reset default output or do I/O multiplexing\n semctl :1, // - SysV semaphore control operations\n semget :1, // - get set of SysV semaphores\n semop :1, // - SysV semaphore operations\n send :1, // - send a message over a socket\n setgrent :1, // - prepare group file for use\n sethostent :1, // - prepare hosts file for use\n setnetent :1, // - prepare networks file for use\n setpgrp :1, // - set the process group of a process\n setpriority :1, // - set a process's nice value\n setprotoent :1, // - prepare protocols file for use\n setpwent :1, // - prepare passwd file for use\n setservent :1, // - prepare services file for use\n setsockopt :1, // - set some socket options\n shift :1, // - remove the first element of an array, and return it\n shmctl :1, // - SysV shared memory operations\n shmget :1, // - get SysV shared memory segment identifier\n shmread :1, // - read SysV shared memory\n shmwrite :1, // - write SysV shared memory\n shutdown :1, // - close down just half of a socket connection\n 'sin' :1, // - return the sine of a number\n sleep :1, // - block for some number of seconds\n socket :1, // - create a socket\n socketpair :1, // - create a pair of sockets\n 'sort' :1, // - sort a list of values\n splice :1, // - add or remove elements anywhere in an array\n 'split' :1, // - split up a string using a regexp delimiter\n sprintf :1, // - formatted print into a string\n 'sqrt' :1, // - square root function\n srand :1, // - seed the random number generator\n stat :1, // - get a file's status information\n state :1, // - declare and assign a state variable (persistent lexical scoping)\n study :1, // - optimize input data for repeated searches\n 'sub' :1, // - declare a subroutine, possibly anonymously\n 'substr' :1, // - get or alter a portion of a stirng\n symlink :1, // - create a symbolic link to a file\n syscall :1, // - execute an arbitrary system call\n sysopen :1, // - open a file, pipe, or descriptor\n sysread :1, // - fixed-length unbuffered input from a filehandle\n sysseek :1, // - position I/O pointer on handle used with sysread and syswrite\n system :1, // - run a separate program\n syswrite :1, // - fixed-length unbuffered output to a filehandle\n tell :1, // - get current seekpointer on a filehandle\n telldir :1, // - get current seekpointer on a directory handle\n tie :1, // - bind a variable to an object class\n tied :1, // - get a reference to the object underlying a tied variable\n time :1, // - return number of seconds since 1970\n times :1, // - return elapsed time for self and child processes\n tr :null, // - transliterate a string\n truncate :1, // - shorten a file\n uc :1, // - return upper-case version of a string\n ucfirst :1, // - return a string with just the next letter in upper case\n umask :1, // - set file creation mode mask\n undef :1, // - remove a variable or function definition\n unlink :1, // - remove one link to a file\n unpack :1, // - convert binary structure into normal perl variables\n unshift :1, // - prepend more elements to the beginning of a list\n untie :1, // - break a tie binding to a variable\n use :1, // - load in a module at compile time\n utime :1, // - set a file's last access and modify times\n values :1, // - return a list of the values in a hash\n vec :1, // - test or set particular bits in a string\n wait :1, // - wait for any child process to die\n waitpid :1, // - wait for a particular child process to die\n wantarray :1, // - get void vs scalar vs list context of current subroutine call\n warn :1, // - print debugging info\n when :1, //\n write :1, // - print a picture record\n y :null}; // - transliterate a string\n\n var RXstyle=\"string-2\";\n var RXmodifiers=/[goseximacplud]/; // NOTE: \"m\", \"s\", \"y\" and \"tr\" need to correct real modifiers for each regexp type\n\n function tokenChain(stream,state,chain,style,tail){ // NOTE: chain.length > 2 is not working now (it's for s[...][...]geos;)\n state.chain=null; // 12 3tail\n state.style=null;\n state.tail=null;\n state.tokenize=function(stream,state){\n var e=false,c,i=0;\n while(c=stream.next()){\n if(c===chain[i]&&!e){\n if(chain[++i]!==undefined){\n state.chain=chain[i];\n state.style=style;\n state.tail=tail;}\n else if(tail)\n stream.eatWhile(tail);\n state.tokenize=tokenPerl;\n return style;}\n e=!e&&c==\"\\\\\";}\n return style;};\n return state.tokenize(stream,state);}\n\n function tokenSOMETHING(stream,state,string){\n state.tokenize=function(stream,state){\n if(stream.string==string)\n state.tokenize=tokenPerl;\n stream.skipToEnd();\n return \"string\";};\n return state.tokenize(stream,state);}\n\n function tokenPerl(stream,state){\n if(stream.eatSpace())\n return null;\n if(state.chain)\n return tokenChain(stream,state,state.chain,state.style,state.tail);\n if(stream.match(/^\\-?[\\d\\.]/,false))\n if(stream.match(/^(\\-?(\\d*\\.\\d+(e[+-]?\\d+)?|\\d+\\.\\d*)|0x[\\da-fA-F]+|0b[01]+|\\d+(e[+-]?\\d+)?)/))\n return 'number';\n if(stream.match(/^<<(?=\\w)/)){ // NOTE: <\"],RXstyle,RXmodifiers);}\n if(/[\\^'\"!~\\/]/.test(c)){\n eatSuffix(stream, 1);\n return tokenChain(stream,state,[stream.eat(c)],RXstyle,RXmodifiers);}}\n else if(c==\"q\"){\n c=look(stream, 1);\n if(c==\"(\"){\n eatSuffix(stream, 2);\n return tokenChain(stream,state,[\")\"],\"string\");}\n if(c==\"[\"){\n eatSuffix(stream, 2);\n return tokenChain(stream,state,[\"]\"],\"string\");}\n if(c==\"{\"){\n eatSuffix(stream, 2);\n return tokenChain(stream,state,[\"}\"],\"string\");}\n if(c==\"<\"){\n eatSuffix(stream, 2);\n return tokenChain(stream,state,[\">\"],\"string\");}\n if(/[\\^'\"!~\\/]/.test(c)){\n eatSuffix(stream, 1);\n return tokenChain(stream,state,[stream.eat(c)],\"string\");}}\n else if(c==\"w\"){\n c=look(stream, 1);\n if(c==\"(\"){\n eatSuffix(stream, 2);\n return tokenChain(stream,state,[\")\"],\"bracket\");}\n if(c==\"[\"){\n eatSuffix(stream, 2);\n return tokenChain(stream,state,[\"]\"],\"bracket\");}\n if(c==\"{\"){\n eatSuffix(stream, 2);\n return tokenChain(stream,state,[\"}\"],\"bracket\");}\n if(c==\"<\"){\n eatSuffix(stream, 2);\n return tokenChain(stream,state,[\">\"],\"bracket\");}\n if(/[\\^'\"!~\\/]/.test(c)){\n eatSuffix(stream, 1);\n return tokenChain(stream,state,[stream.eat(c)],\"bracket\");}}\n else if(c==\"r\"){\n c=look(stream, 1);\n if(c==\"(\"){\n eatSuffix(stream, 2);\n return tokenChain(stream,state,[\")\"],RXstyle,RXmodifiers);}\n if(c==\"[\"){\n eatSuffix(stream, 2);\n return tokenChain(stream,state,[\"]\"],RXstyle,RXmodifiers);}\n if(c==\"{\"){\n eatSuffix(stream, 2);\n return tokenChain(stream,state,[\"}\"],RXstyle,RXmodifiers);}\n if(c==\"<\"){\n eatSuffix(stream, 2);\n return tokenChain(stream,state,[\">\"],RXstyle,RXmodifiers);}\n if(/[\\^'\"!~\\/]/.test(c)){\n eatSuffix(stream, 1);\n return tokenChain(stream,state,[stream.eat(c)],RXstyle,RXmodifiers);}}\n else if(/[\\^'\"!~\\/(\\[{<]/.test(c)){\n if(c==\"(\"){\n eatSuffix(stream, 1);\n return tokenChain(stream,state,[\")\"],\"string\");}\n if(c==\"[\"){\n eatSuffix(stream, 1);\n return tokenChain(stream,state,[\"]\"],\"string\");}\n if(c==\"{\"){\n eatSuffix(stream, 1);\n return tokenChain(stream,state,[\"}\"],\"string\");}\n if(c==\"<\"){\n eatSuffix(stream, 1);\n return tokenChain(stream,state,[\">\"],\"string\");}\n if(/[\\^'\"!~\\/]/.test(c)){\n return tokenChain(stream,state,[stream.eat(c)],\"string\");}}}}\n if(ch==\"m\"){\n var c=look(stream, -2);\n if(!(c&&/\\w/.test(c))){\n c=stream.eat(/[(\\[{<\\^'\"!~\\/]/);\n if(c){\n if(/[\\^'\"!~\\/]/.test(c)){\n return tokenChain(stream,state,[c],RXstyle,RXmodifiers);}\n if(c==\"(\"){\n return tokenChain(stream,state,[\")\"],RXstyle,RXmodifiers);}\n if(c==\"[\"){\n return tokenChain(stream,state,[\"]\"],RXstyle,RXmodifiers);}\n if(c==\"{\"){\n return tokenChain(stream,state,[\"}\"],RXstyle,RXmodifiers);}\n if(c==\"<\"){\n return tokenChain(stream,state,[\">\"],RXstyle,RXmodifiers);}}}}\n if(ch==\"s\"){\n var c=/[\\/>\\]})\\w]/.test(look(stream, -2));\n if(!c){\n c=stream.eat(/[(\\[{<\\^'\"!~\\/]/);\n if(c){\n if(c==\"[\")\n return tokenChain(stream,state,[\"]\",\"]\"],RXstyle,RXmodifiers);\n if(c==\"{\")\n return tokenChain(stream,state,[\"}\",\"}\"],RXstyle,RXmodifiers);\n if(c==\"<\")\n return tokenChain(stream,state,[\">\",\">\"],RXstyle,RXmodifiers);\n if(c==\"(\")\n return tokenChain(stream,state,[\")\",\")\"],RXstyle,RXmodifiers);\n return tokenChain(stream,state,[c,c],RXstyle,RXmodifiers);}}}\n if(ch==\"y\"){\n var c=/[\\/>\\]})\\w]/.test(look(stream, -2));\n if(!c){\n c=stream.eat(/[(\\[{<\\^'\"!~\\/]/);\n if(c){\n if(c==\"[\")\n return tokenChain(stream,state,[\"]\",\"]\"],RXstyle,RXmodifiers);\n if(c==\"{\")\n return tokenChain(stream,state,[\"}\",\"}\"],RXstyle,RXmodifiers);\n if(c==\"<\")\n return tokenChain(stream,state,[\">\",\">\"],RXstyle,RXmodifiers);\n if(c==\"(\")\n return tokenChain(stream,state,[\")\",\")\"],RXstyle,RXmodifiers);\n return tokenChain(stream,state,[c,c],RXstyle,RXmodifiers);}}}\n if(ch==\"t\"){\n var c=/[\\/>\\]})\\w]/.test(look(stream, -2));\n if(!c){\n c=stream.eat(\"r\");if(c){\n c=stream.eat(/[(\\[{<\\^'\"!~\\/]/);\n if(c){\n if(c==\"[\")\n return tokenChain(stream,state,[\"]\",\"]\"],RXstyle,RXmodifiers);\n if(c==\"{\")\n return tokenChain(stream,state,[\"}\",\"}\"],RXstyle,RXmodifiers);\n if(c==\"<\")\n return tokenChain(stream,state,[\">\",\">\"],RXstyle,RXmodifiers);\n if(c==\"(\")\n return tokenChain(stream,state,[\")\",\")\"],RXstyle,RXmodifiers);\n return tokenChain(stream,state,[c,c],RXstyle,RXmodifiers);}}}}\n if(ch==\"`\"){\n return tokenChain(stream,state,[ch],\"variable-2\");}\n if(ch==\"/\"){\n if(!/~\\s*$/.test(prefix(stream)))\n return \"operator\";\n else\n return tokenChain(stream,state,[ch],RXstyle,RXmodifiers);}\n if(ch==\"$\"){\n var p=stream.pos;\n if(stream.eatWhile(/\\d/)||stream.eat(\"{\")&&stream.eatWhile(/\\d/)&&stream.eat(\"}\"))\n return \"variable-2\";\n else\n stream.pos=p;}\n if(/[$@%]/.test(ch)){\n var p=stream.pos;\n if(stream.eat(\"^\")&&stream.eat(/[A-Z]/)||!/[@$%&]/.test(look(stream, -2))&&stream.eat(/[=|\\\\\\-#?@;:&`~\\^!\\[\\]*'\"$+.,\\/<>()]/)){\n var c=stream.current();\n if(PERL[c])\n return \"variable-2\";}\n stream.pos=p;}\n if(/[$@%&]/.test(ch)){\n if(stream.eatWhile(/[\\w$\\[\\]]/)||stream.eat(\"{\")&&stream.eatWhile(/[\\w$\\[\\]]/)&&stream.eat(\"}\")){\n var c=stream.current();\n if(PERL[c])\n return \"variable-2\";\n else\n return \"variable\";}}\n if(ch==\"#\"){\n if(look(stream, -2)!=\"$\"){\n stream.skipToEnd();\n return \"comment\";}}\n if(/[:+\\-\\^*$&%@=<>!?|\\/~\\.]/.test(ch)){\n var p=stream.pos;\n stream.eatWhile(/[:+\\-\\^*$&%@=<>!?|\\/~\\.]/);\n if(PERL[stream.current()])\n return \"operator\";\n else\n stream.pos=p;}\n if(ch==\"_\"){\n if(stream.pos==1){\n if(suffix(stream, 6)==\"_END__\"){\n return tokenChain(stream,state,['\\0'],\"comment\");}\n else if(suffix(stream, 7)==\"_DATA__\"){\n return tokenChain(stream,state,['\\0'],\"variable-2\");}\n else if(suffix(stream, 7)==\"_C__\"){\n return tokenChain(stream,state,['\\0'],\"string\");}}}\n if(/\\w/.test(ch)){\n var p=stream.pos;\n if(look(stream, -2)==\"{\"&&(look(stream, 0)==\"}\"||stream.eatWhile(/\\w/)&&look(stream, 0)==\"}\"))\n return \"string\";\n else\n stream.pos=p;}\n if(/[A-Z]/.test(ch)){\n var l=look(stream, -2);\n var p=stream.pos;\n stream.eatWhile(/[A-Z_]/);\n if(/[\\da-z]/.test(look(stream, 0))){\n stream.pos=p;}\n else{\n var c=PERL[stream.current()];\n if(!c)\n return \"meta\";\n if(c[1])\n c=c[0];\n if(l!=\":\"){\n if(c==1)\n return \"keyword\";\n else if(c==2)\n return \"def\";\n else if(c==3)\n return \"atom\";\n else if(c==4)\n return \"operator\";\n else if(c==5)\n return \"variable-2\";\n else\n return \"meta\";}\n else\n return \"meta\";}}\n if(/[a-zA-Z_]/.test(ch)){\n var l=look(stream, -2);\n stream.eatWhile(/\\w/);\n var c=PERL[stream.current()];\n if(!c)\n return \"meta\";\n if(c[1])\n c=c[0];\n if(l!=\":\"){\n if(c==1)\n return \"keyword\";\n else if(c==2)\n return \"def\";\n else if(c==3)\n return \"atom\";\n else if(c==4)\n return \"operator\";\n else if(c==5)\n return \"variable-2\";\n else\n return \"meta\";}\n else\n return \"meta\";}\n return null;}\n\n return {\n startState: function() {\n return {\n tokenize: tokenPerl,\n chain: null,\n style: null,\n tail: null\n };\n },\n token: function(stream, state) {\n return (state.tokenize || tokenPerl)(stream, state);\n },\n lineComment: '#'\n };\n});\n\nCodeMirror.registerHelper(\"wordChars\", \"perl\", /[\\w$]/);\n\nCodeMirror.defineMIME(\"text/x-perl\", \"perl\");\n\n// it's like \"peek\", but need for look-ahead or look-behind if index < 0\nfunction look(stream, c){\n return stream.string.charAt(stream.pos+(c||0));\n}\n\n// return a part of prefix of current stream from current position\nfunction prefix(stream, c){\n if(c){\n var x=stream.pos-c;\n return stream.string.substr((x>=0?x:0),c);}\n else{\n return stream.string.substr(0,stream.pos-1);\n }\n}\n\n// return a part of suffix of current stream from current position\nfunction suffix(stream, c){\n var y=stream.string.length;\n var x=y-stream.pos+1;\n return stream.string.substr(stream.pos,(c&&c=(y=stream.string.length-1))\n stream.pos=y;\n else\n stream.pos=x;\n}\n\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9tb2RlL3BlcmwvcGVybC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb2RlbWlycm9yL21vZGUvcGVybC9wZXJsLmpzPzkwNmYiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29kZU1pcnJvciwgY29weXJpZ2h0IChjKSBieSBNYXJpam4gSGF2ZXJiZWtlIGFuZCBvdGhlcnNcbi8vIERpc3RyaWJ1dGVkIHVuZGVyIGFuIE1JVCBsaWNlbnNlOiBodHRwczovL2NvZGVtaXJyb3IubmV0L0xJQ0VOU0VcblxuLy8gQ29kZU1pcnJvcjIgbW9kZS9wZXJsL3BlcmwuanMgKHRleHQveC1wZXJsKSBiZXRhIDAuMTAgKDIwMTEtMTEtMDgpXG4vLyBUaGlzIGlzIGEgcGFydCBvZiBDb2RlTWlycm9yIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL3NhYmFjYS9Db2RlTWlycm9yX21vZGVfcGVybCAobWFpbEBzYWJhY2EuY29tKVxuXG4oZnVuY3Rpb24obW9kKSB7XG4gIGlmICh0eXBlb2YgZXhwb3J0cyA9PSBcIm9iamVjdFwiICYmIHR5cGVvZiBtb2R1bGUgPT0gXCJvYmplY3RcIikgLy8gQ29tbW9uSlNcbiAgICBtb2QocmVxdWlyZShcIi4uLy4uL2xpYi9jb2RlbWlycm9yXCIpKTtcbiAgZWxzZSBpZiAodHlwZW9mIGRlZmluZSA9PSBcImZ1bmN0aW9uXCIgJiYgZGVmaW5lLmFtZCkgLy8gQU1EXG4gICAgZGVmaW5lKFtcIi4uLy4uL2xpYi9jb2RlbWlycm9yXCJdLCBtb2QpO1xuICBlbHNlIC8vIFBsYWluIGJyb3dzZXIgZW52XG4gICAgbW9kKENvZGVNaXJyb3IpO1xufSkoZnVuY3Rpb24oQ29kZU1pcnJvcikge1xuXCJ1c2Ugc3RyaWN0XCI7XG5cbkNvZGVNaXJyb3IuZGVmaW5lTW9kZShcInBlcmxcIixmdW5jdGlvbigpe1xuICAgICAgICAvLyBodHRwOi8vcGVybGRvYy5wZXJsLm9yZ1xuICAgICAgICB2YXIgUEVSTD17ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAgIG51bGwgLSBtYWdpYyB0b3VjaFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAgIDEgLSBrZXl3b3JkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vICAgMiAtIGRlZlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAgIDMgLSBhdG9tXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vICAgNCAtIG9wZXJhdG9yXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vICAgNSAtIHZhcmlhYmxlLTIgKHByZWRlZmluZWQpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vICAgW3gseV0gLSB4PTEsMiwzOyB5PW11c3QgYmUgZGVmaW5lZCBpZiB4ey4uLn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vICAgICAgUEVSTCBvcGVyYXRvcnNcbiAgICAgICAgICAgICAgICAnLT4nICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogICA0LFxuICAgICAgICAgICAgICAgICcrKycgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAgIDQsXG4gICAgICAgICAgICAgICAgJy0tJyAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICAgNCxcbiAgICAgICAgICAgICAgICAnKionICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogICA0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAgICEgfiBcXCBhbmQgdW5hcnkgKyBhbmQgLVxuICAgICAgICAgICAgICAgICc9ficgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAgIDQsXG4gICAgICAgICAgICAgICAgJyF+JyAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICAgNCxcbiAgICAgICAgICAgICAgICAnKicgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogICA0LFxuICAgICAgICAgICAgICAgICcvJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAgIDQsXG4gICAgICAgICAgICAgICAgJyUnICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICAgNCxcbiAgICAgICAgICAgICAgICAneCcgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogICA0LFxuICAgICAgICAgICAgICAgICcrJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAgIDQsXG4gICAgICAgICAgICAgICAgJy0nICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICAgNCxcbiAgICAgICAgICAgICAgICAnLicgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogICA0LFxuICAgICAgICAgICAgICAgICc8PCcgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAgIDQsXG4gICAgICAgICAgICAgICAgJz4+JyAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICAgNCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gICBuYW1lZCB1bmFyeSBvcGVyYXRvcnNcbiAgICAgICAgICAgICAgICAnPCcgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogICA0LFxuICAgICAgICAgICAgICAgICc+JyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAgIDQsXG4gICAgICAgICAgICAgICAgJzw9JyAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICAgNCxcbiAgICAgICAgICAgICAgICAnPj0nICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogICA0LFxuICAgICAgICAgICAgICAgICdsdCcgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAgIDQsXG4gICAgICAgICAgICAgICAgJ2d0JyAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICAgNCxcbiAgICAgICAgICAgICAgICAnbGUnICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogICA0LFxuICAgICAgICAgICAgICAgICdnZScgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAgIDQsXG4gICAgICAgICAgICAgICAgJz09JyAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICAgNCxcbiAgICAgICAgICAgICAgICAnIT0nICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogICA0LFxuICAgICAgICAgICAgICAgICc8PT4nICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAgIDQsXG4gICAgICAgICAgICAgICAgJ2VxJyAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICAgNCxcbiAgICAgICAgICAgICAgICAnbmUnICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogICA0LFxuICAgICAgICAgICAgICAgICdjbXAnICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAgIDQsXG4gICAgICAgICAgICAgICAgJ35+JyAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICAgNCxcbiAgICAgICAgICAgICAgICAnJicgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogICA0LFxuICAgICAgICAgICAgICAgICd8JyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAgIDQsXG4gICAgICAgICAgICAgICAgJ14nICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICAgNCxcbiAgICAgICAgICAgICAgICAnJiYnICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogICA0LFxuICAgICAgICAgICAgICAgICd8fCcgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAgIDQsXG4gICAgICAgICAgICAgICAgJy8vJyAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICAgNCxcbiAgICAgICAgICAgICAgICAnLi4nICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogICA0LFxuICAgICAgICAgICAgICAgICcuLi4nICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAgIDQsXG4gICAgICAgICAgICAgICAgJz8nICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICAgNCxcbiAgICAgICAgICAgICAgICAnOicgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogICA0LFxuICAgICAgICAgICAgICAgICc9JyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAgIDQsXG4gICAgICAgICAgICAgICAgJys9JyAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICAgNCxcbiAgICAgICAgICAgICAgICAnLT0nICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogICA0LFxuICAgICAgICAgICAgICAgICcqPScgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAgIDQsICAvLyAgIGV0Yy4gPz8/XG4gICAgICAgICAgICAgICAgJywnICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICAgNCxcbiAgICAgICAgICAgICAgICAnPT4nICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogICA0LFxuICAgICAgICAgICAgICAgICc6OicgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAgIDQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vICAgbGlzdCBvcGVyYXRvcnMgKHJpZ2h0d2FyZClcbiAgICAgICAgICAgICAgICAnbm90JyAgICAgICAgICAgICAgICAgICAgICAgICAgIDogICA0LFxuICAgICAgICAgICAgICAgICdhbmQnICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAgIDQsXG4gICAgICAgICAgICAgICAgJ29yJyAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICAgNCxcbiAgICAgICAgICAgICAgICAneG9yJyAgICAgICAgICAgICAgICAgICAgICAgICAgIDogICA0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gICAgICBQRVJMIHByZWRlZmluZWQgdmFyaWFibGVzIChJIGtub3csIHdoYXQgdGhpcyBpcyBhIHBhcmFub2lkIGlkZWEsIGJ1dCBtYXkgYmUgbmVlZGVkIGZvciBwZW9wbGUsIHdobyBsZWFybiBQRVJMLCBhbmQgZm9yIG1lIGFzIHdlbGwsIC4uLmFuZCBtYXkgYmUgZm9yIHlvdT87KVxuICAgICAgICAgICAgICAgICdCRUdJTicgICAgICAgICAgICAgICAgICAgICAgICAgOiAgIFs1LDFdLFxuICAgICAgICAgICAgICAgICdFTkQnICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAgIFs1LDFdLFxuICAgICAgICAgICAgICAgICdQUklOVCcgICAgICAgICAgICAgICAgICAgICAgICAgOiAgIFs1LDFdLFxuICAgICAgICAgICAgICAgICdQUklOVEYnICAgICAgICAgICAgICAgICAgICAgICAgOiAgIFs1LDFdLFxuICAgICAgICAgICAgICAgICdHRVRDJyAgICAgICAgICAgICAgICAgICAgICAgICAgOiAgIFs1LDFdLFxuICAgICAgICAgICAgICAgICdSRUFEJyAgICAgICAgICAgICAgICAgICAgICAgICAgOiAgIFs1LDFdLFxuICAgICAgICAgICAgICAgICdSRUFETElORScgICAgICAgICAgICAgICAgICAgICAgOiAgIFs1LDFdLFxuICAgICAgICAgICAgICAgICdERVNUUk9ZJyAgICAgICAgICAgICAgICAgICAgICAgOiAgIFs1LDFdLFxuICAgICAgICAgICAgICAgICdUSUUnICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAgIFs1LDFdLFxuICAgICAgICAgICAgICAgICdUSUVIQU5ETEUnICAgICAgICAgICAgICAgICAgICAgOiAgIFs1LDFdLFxuICAgICAgICAgICAgICAgICdVTlRJRScgICAgICAgICAgICAgICAgICAgICAgICAgOiAgIFs1LDFdLFxuICAgICAgICAgICAgICAgICdTVERJTicgICAgICAgICAgICAgICAgICAgICAgICAgOiAgICA1LFxuICAgICAgICAgICAgICAgICdTVERJTl9UT1AnICAgICAgICAgICAgICAgICAgICAgOiAgICA1LFxuICAgICAgICAgICAgICAgICdTVERPVVQnICAgICAgICAgICAgICAgICAgICAgICAgOiAgICA1LFxuICAgICAgICAgICAgICAgICdTVERPVVRfVE9QJyAgICAgICAgICAgICAgICAgICAgOiAgICA1LFxuICAgICAgICAgICAgICAgICdTVERFUlInICAgICAgICAgICAgICAgICAgICAgICAgOiAgICA1LFxuICAgICAgICAgICAgICAgICdTVERFUlJfVE9QJyAgICAgICAgICAgICAgICAgICAgOiAgICA1LFxuICAgICAgICAgICAgICAgICckQVJHJyAgICAgICAgICAgICAgICAgICAgICAgICAgOiAgICA1LFxuICAgICAgICAgICAgICAgICckXycgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAgICA1LFxuICAgICAgICAgICAgICAgICdAQVJHJyAgICAgICAgICAgICAgICAgICAgICAgICAgOiAgICA1LFxuICAgICAgICAgICAgICAgICdAXycgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAgICA1LFxuICAgICAgICAgICAgICAgICckTElTVF9TRVBBUkFUT1InICAgICAgICAgICAgICAgOiAgICA1LFxuICAgICAgICAgICAgICAgICckXCInICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogICAgNSxcbiAgICAgICAgICAgICAgICAnJFBST0NFU1NfSUQnICAgICAgICAgICAgICAgICAgIDogICAgNSxcbiAgICAgICAgICAgICAgICAnJFBJRCcgICAgICAgICAgICAgICAgICAgICAgICAgIDogICAgNSxcbiAgICAgICAgICAgICAgICAnJCQnICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogICAgNSxcbiAgICAgICAgICAgICAgICAnJFJFQUxfR1JPVVBfSUQnICAgICAgICAgICAgICAgIDogICAgNSxcbiAgICAgICAgICAgICAgICAnJEdJRCcgICAgICAgICAgICAgICAgICAgICAgICAgIDogICAgNSxcbiAgICAgICAgICAgICAgICAnJCgnICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogICAgNSxcbiAgICAgICAgICAgICAgICAnJEVGRkVDVElWRV9HUk9VUF9JRCcgICAgICAgICAgIDogICAgNSxcbiAgICAgICAgICAgICAgICAnJEVHSUQnICAgICAgICAgICAgICAgICAgICAgICAgIDogICAgNSxcbiAgICAgICAgICAgICAgICAnJCknICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogICAgNSxcbiAgICAgICAgICAgICAgICAnJFBST0dSQU1fTkFNRScgICAgICAgICAgICAgICAgIDogICAgNSxcbiAgICAgICAgICAgICAgICAnJDAnICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogICAgNSxcbiAgICAgICAgICAgICAgICAnJFNVQlNDUklQVF9TRVBBUkFUT1InICAgICAgICAgIDogICAgNSxcbiAgICAgICAgICAgICAgICAnJFNVQlNFUCcgICAgICAgICAgICAgICAgICAgICAgIDogICAgNSxcbiAgICAgICAgICAgICAgICAnJDsnICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogICAgNSxcbiAgICAgICAgICAgICAgICAnJFJFQUxfVVNFUl9JRCcgICAgICAgICAgICAgICAgIDogICAgNSxcbiAgICAgICAgICAgICAgICAnJFVJRCcgICAgICAgICAgICAgICAgICAgICAgICAgIDogICAgNSxcbiAgICAgICAgICAgICAgICAnJDwnICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogICAgNSxcbiAgICAgICAgICAgICAgICAnJEVGRkVDVElWRV9VU0VSX0lEJyAgICAgICAgICAgIDogICAgNSxcbiAgICAgICAgICAgICAgICAnJEVVSUQnICAgICAgICAgICAgICAgICAgICAgICAgIDogICAgNSxcbiAgICAgICAgICAgICAgICAnJD4nICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogICAgNSxcbiAgICAgICAgICAgICAgICAnJGEnICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogICAgNSxcbiAgICAgICAgICAgICAgICAnJGInICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogICAgNSxcbiAgICAgICAgICAgICAgICAnJENPTVBJTElORycgICAgICAgICAgICAgICAgICAgIDogICAgNSxcbiAgICAgICAgICAgICAgICAnJF5DJyAgICAgICAgICAgICAgICAgICAgICAgICAgIDogICAgNSxcbiAgICAgICAgICAgICAgICAnJERFQlVHR0lORycgICAgICAgICAgICAgICAgICAgIDogICAgNSxcbiAgICAgICAgICAgICAgICAnJF5EJyAgICAgICAgICAgICAgICAgICAgICAgICAgIDogICAgNSxcbiAgICAgICAgICAgICAgICAnJHteRU5DT0RJTkd9JyAgICAgICAgICAgICAgICAgIDogICAgNSxcbiAgICAgICAgICAgICAgICAnJEVOVicgICAgICAgICAgICAgICAgICAgICAgICAgIDogICAgNSxcbiAgICAgICAgICAgICAgICAnJUVOVicgICAgICAgICAgICAgICAgICAgICAgICAgIDogICAgNSxcbiAgICAgICAgICAgICAgICAnJFNZU1RFTV9GRF9NQVgnICAgICAgICAgICAgICAgIDogICAgNSxcbiAgICAgICAgICAgICAgICAnJF5GJyAgICAgICAgICAgICAgICAgICAgICAgICAgIDogICAgNSxcbiAgICAgICAgICAgICAgICAnQEYnICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogICAgNSxcbiAgICAgICAgICAgICAgICAnJHteR0xPQkFMX1BIQVNFfScgICAgICAgICAgICAgIDogICAgNSxcbiAgICAgICAgICAgICAgICAnJF5IJyAgICAgICAgICAgICAgICAgICAgICAgICAgIDogICAgNSxcbiAgICAgICAgICAgICAgICAnJV5IJyAgICAgICAgICAgICAgICAgICAgICAgICAgIDogICAgNSxcbiAgICAgICAgICAgICAgICAnQElOQycgICAgICAgICAgICAgICAgICAgICAgICAgIDogICAgNSxcbiAgICAgICAgICAgICAgICAnJUlOQycgICAgICAgICAgICAgICAgICAgICAgICAgIDogICAgNSxcbiAgICAgICAgICAgICAgICAnJElOUExBQ0VfRURJVCcgICAgICAgICAgICAgICAgIDogICAgNSxcbiAgICAgICAgICAgICAgICAnJF5JJyAgICAgICAgICAgICAgICAgICAgICAgICAgIDogICAgNSxcbiAgICAgICAgICAgICAgICAnJF5NJyAgICAgICAgICAgICAgICAgICAgICAgICAgIDogICAgNSxcbiAgICAgICAgICAgICAgICAnJE9TTkFNRScgICAgICAgICAgICAgICAgICAgICAgIDogICAgNSxcbiAgICAgICAgICAgICAgICAnJF5PJyAgICAgICAgICAgICAgICAgICAgICAgICAgIDogICAgNSxcbiAgICAgICAgICAgICAgICAnJHteT1BFTn0nICAgICAgICAgICAgICAgICAgICAgIDogICAgNSxcbiAgICAgICAgICAgICAgICAnJFBFUkxEQicgICAgICAgICAgICAgICAgICAgICAgIDogICAgNSxcbiAgICAgICAgICAgICAgICAnJF5QJyAgICAgICAgICAgICAgICAgICAgICAgICAgIDogICAgNSxcbiAgICAgICAgICAgICAgICAnJFNJRycgICAgICAgICAgICAgICAgICAgICAgICAgIDogICAgNSxcbiAgICAgICAgICAgICAgICAnJVNJRycgICAgICAgICAgICAgICAgICAgICAgICAgIDogICAgNSxcbiAgICAgICAgICAgICAgICAnJEJBU0VUSU1FJyAgICAgICAgICAgICAgICAgICAgIDogICAgNSxcbiAgICAgICAgICAgICAgICAnJF5UJyAgICAgICAgICAgICAgICAgICAgICAgICAgIDogICAgNSxcbiAgICAgICAgICAgICAgICAnJHteVEFJTlR9JyAgICAgICAgICAgICAgICAgICAgIDogICAgNSxcbiAgICAgICAgICAgICAgICAnJHteVU5JQ09ERX0nICAgICAgICAgICAgICAgICAgIDogICAgNSxcbiAgICAgICAgICAgICAgICAnJHteVVRGOENBQ0hFfScgICAgICAgICAgICAgICAgIDogICAgNSxcbiAgICAgICAgICAgICAgICAnJHteVVRGOExPQ0FMRX0nICAgICAgICAgICAgICAgIDogICAgNSxcbiAgICAgICAgICAgICAgICAnJFBFUkxfVkVSU0lPTicgICAgICAgICAgICAgICAgIDogICAgNSxcbiAgICAgICAgICAgICAgICAnJF5WJyAgICAgICAgICAgICAgICAgICAgICAgICAgIDogICAgNSxcbiAgICAgICAgICAgICAgICAnJHteV0lOMzJfU0xPUFBZX1NUQVR9JyAgICAgICAgIDogICAgNSxcbiAgICAgICAgICAgICAgICAnJEVYRUNVVEFCTEVfTkFNRScgICAgICAgICAgICAgIDogICAgNSxcbiAgICAgICAgICAgICAgICAnJF5YJyAgICAgICAgICAgICAgICAgICAgICAgICAgIDogICAgNSxcbiAgICAgICAgICAgICAgICAnJDEnICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogICAgNSwgLy8gLSByZWdleHAgJDEsICQyLi4uXG4gICAgICAgICAgICAgICAgJyRNQVRDSCcgICAgICAgICAgICAgICAgICAgICAgICA6ICAgIDUsXG4gICAgICAgICAgICAgICAgJyQmJyAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICAgIDUsXG4gICAgICAgICAgICAgICAgJyR7Xk1BVENIfScgICAgICAgICAgICAgICAgICAgICA6ICAgIDUsXG4gICAgICAgICAgICAgICAgJyRQUkVNQVRDSCcgICAgICAgICAgICAgICAgICAgICA6ICAgIDUsXG4gICAgICAgICAgICAgICAgJyRgJyAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICAgIDUsXG4gICAgICAgICAgICAgICAgJyR7XlBSRU1BVENIfScgICAgICAgICAgICAgICAgICA6ICAgIDUsXG4gICAgICAgICAgICAgICAgJyRQT1NUTUFUQ0gnICAgICAgICAgICAgICAgICAgICA6ICAgIDUsXG4gICAgICAgICAgICAgICAgXCIkJ1wiICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogICAgNSxcbiAgICAgICAgICAgICAgICAnJHteUE9TVE1BVENIfScgICAgICAgICAgICAgICAgIDogICAgNSxcbiAgICAgICAgICAgICAgICAnJExBU1RfUEFSRU5fTUFUQ0gnICAgICAgICAgICAgIDogICAgNSxcbiAgICAgICAgICAgICAgICAnJCsnICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogICAgNSxcbiAgICAgICAgICAgICAgICAnJExBU1RfU1VCTUFUQ0hfUkVTVUxUJyAgICAgICAgIDogICAgNSxcbiAgICAgICAgICAgICAgICAnJF5OJyAgICAgICAgICAgICAgICAgICAgICAgICAgIDogICAgNSxcbiAgICAgICAgICAgICAgICAnQExBU1RfTUFUQ0hfRU5EJyAgICAgICAgICAgICAgIDogICAgNSxcbiAgICAgICAgICAgICAgICAnQCsnICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogICAgNSxcbiAgICAgICAgICAgICAgICAnJUxBU1RfUEFSRU5fTUFUQ0gnICAgICAgICAgICAgIDogICAgNSxcbiAgICAgICAgICAgICAgICAnJSsnICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogICAgNSxcbiAgICAgICAgICAgICAgICAnQExBU1RfTUFUQ0hfU1RBUlQnICAgICAgICAgICAgIDogICAgNSxcbiAgICAgICAgICAgICAgICAnQC0nICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogICAgNSxcbiAgICAgICAgICAgICAgICAnJUxBU1RfTUFUQ0hfU1RBUlQnICAgICAgICAgICAgIDogICAgNSxcbiAgICAgICAgICAgICAgICAnJS0nICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogICAgNSxcbiAgICAgICAgICAgICAgICAnJExBU1RfUkVHRVhQX0NPREVfUkVTVUxUJyAgICAgIDogICAgNSxcbiAgICAgICAgICAgICAgICAnJF5SJyAgICAgICAgICAgICAgICAgICAgICAgICAgIDogICAgNSxcbiAgICAgICAgICAgICAgICAnJHteUkVfREVCVUdfRkxBR1N9JyAgICAgICAgICAgIDogICAgNSxcbiAgICAgICAgICAgICAgICAnJHteUkVfVFJJRV9NQVhCVUZ9JyAgICAgICAgICAgIDogICAgNSxcbiAgICAgICAgICAgICAgICAnJEFSR1YnICAgICAgICAgICAgICAgICAgICAgICAgIDogICAgNSxcbiAgICAgICAgICAgICAgICAnQEFSR1YnICAgICAgICAgICAgICAgICAgICAgICAgIDogICAgNSxcbiAgICAgICAgICAgICAgICAnQVJHVicgICAgICAgICAgICAgICAgICAgICAgICAgIDogICAgNSxcbiAgICAgICAgICAgICAgICAnQVJHVk9VVCcgICAgICAgICAgICAgICAgICAgICAgIDogICAgNSxcbiAgICAgICAgICAgICAgICAnJE9VVFBVVF9GSUVMRF9TRVBBUkFUT1InICAgICAgIDogICAgNSxcbiAgICAgICAgICAgICAgICAnJE9GUycgICAgICAgICAgICAgICAgICAgICAgICAgIDogICAgNSxcbiAgICAgICAgICAgICAgICAnJCwnICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogICAgNSxcbiAgICAgICAgICAgICAgICAnJElOUFVUX0xJTkVfTlVNQkVSJyAgICAgICAgICAgIDogICAgNSxcbiAgICAgICAgICAgICAgICAnJE5SJyAgICAgICAgICAgICAgICAgICAgICAgICAgIDogICAgNSxcbiAgICAgICAgICAgICAgICAnJC4nICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogICAgNSxcbiAgICAgICAgICAgICAgICAnJElOUFVUX1JFQ09SRF9TRVBBUkFUT1InICAgICAgIDogICAgNSxcbiAgICAgICAgICAgICAgICAnJFJTJyAgICAgICAgICAgICAgICAgICAgICAgICAgIDogICAgNSxcbiAgICAgICAgICAgICAgICAnJC8nICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogICAgNSxcbiAgICAgICAgICAgICAgICAnJE9VVFBVVF9SRUNPUkRfU0VQQVJBVE9SJyAgICAgIDogICAgNSxcbiAgICAgICAgICAgICAgICAnJE9SUycgICAgICAgICAgICAgICAgICAgICAgICAgIDogICAgNSxcbiAgICAgICAgICAgICAgICAnJFxcXFwnICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAgICA1LFxuICAgICAgICAgICAgICAgICckT1VUUFVUX0FVVE9GTFVTSCcgICAgICAgICAgICAgOiAgICA1LFxuICAgICAgICAgICAgICAgICckfCcgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAgICA1LFxuICAgICAgICAgICAgICAgICckQUNDVU1VTEFUT1InICAgICAgICAgICAgICAgICAgOiAgICA1LFxuICAgICAgICAgICAgICAgICckXkEnICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAgICA1LFxuICAgICAgICAgICAgICAgICckRk9STUFUX0ZPUk1GRUVEJyAgICAgICAgICAgICAgOiAgICA1LFxuICAgICAgICAgICAgICAgICckXkwnICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAgICA1LFxuICAgICAgICAgICAgICAgICckRk9STUFUX1BBR0VfTlVNQkVSJyAgICAgICAgICAgOiAgICA1LFxuICAgICAgICAgICAgICAgICckJScgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAgICA1LFxuICAgICAgICAgICAgICAgICckRk9STUFUX0xJTkVTX0xFRlQnICAgICAgICAgICAgOiAgICA1LFxuICAgICAgICAgICAgICAgICckLScgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAgICA1LFxuICAgICAgICAgICAgICAgICckRk9STUFUX0xJTkVfQlJFQUtfQ0hBUkFDVEVSUycgOiAgICA1LFxuICAgICAgICAgICAgICAgICckOicgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAgICA1LFxuICAgICAgICAgICAgICAgICckRk9STUFUX0xJTkVTX1BFUl9QQUdFJyAgICAgICAgOiAgICA1LFxuICAgICAgICAgICAgICAgICckPScgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAgICA1LFxuICAgICAgICAgICAgICAgICckRk9STUFUX1RPUF9OQU1FJyAgICAgICAgICAgICAgOiAgICA1LFxuICAgICAgICAgICAgICAgICckXicgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAgICA1LFxuICAgICAgICAgICAgICAgICckRk9STUFUX05BTUUnICAgICAgICAgICAgICAgICAgOiAgICA1LFxuICAgICAgICAgICAgICAgICckficgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAgICA1LFxuICAgICAgICAgICAgICAgICcke15DSElMRF9FUlJPUl9OQVRJVkV9JyAgICAgICAgOiAgICA1LFxuICAgICAgICAgICAgICAgICckRVhURU5ERURfT1NfRVJST1InICAgICAgICAgICAgOiAgICA1LFxuICAgICAgICAgICAgICAgICckXkUnICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAgICA1LFxuICAgICAgICAgICAgICAgICckRVhDRVBUSU9OU19CRUlOR19DQVVHSFQnICAgICAgOiAgICA1LFxuICAgICAgICAgICAgICAgICckXlMnICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAgICA1LFxuICAgICAgICAgICAgICAgICckV0FSTklORycgICAgICAgICAgICAgICAgICAgICAgOiAgICA1LFxuICAgICAgICAgICAgICAgICckXlcnICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAgICA1LFxuICAgICAgICAgICAgICAgICcke15XQVJOSU5HX0JJVFN9JyAgICAgICAgICAgICAgOiAgICA1LFxuICAgICAgICAgICAgICAgICckT1NfRVJST1InICAgICAgICAgICAgICAgICAgICAgOiAgICA1LFxuICAgICAgICAgICAgICAgICckRVJSTk8nICAgICAgICAgICAgICAgICAgICAgICAgOiAgICA1LFxuICAgICAgICAgICAgICAgICckIScgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAgICA1LFxuICAgICAgICAgICAgICAgICclT1NfRVJST1InICAgICAgICAgICAgICAgICAgICAgOiAgICA1LFxuICAgICAgICAgICAgICAgICclRVJSTk8nICAgICAgICAgICAgICAgICAgICAgICAgOiAgICA1LFxuICAgICAgICAgICAgICAgICclIScgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAgICA1LFxuICAgICAgICAgICAgICAgICckQ0hJTERfRVJST1InICAgICAgICAgICAgICAgICAgOiAgICA1LFxuICAgICAgICAgICAgICAgICckPycgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAgICA1LFxuICAgICAgICAgICAgICAgICckRVZBTF9FUlJPUicgICAgICAgICAgICAgICAgICAgOiAgICA1LFxuICAgICAgICAgICAgICAgICckQCcgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAgICA1LFxuICAgICAgICAgICAgICAgICckT0ZNVCcgICAgICAgICAgICAgICAgICAgICAgICAgOiAgICA1LFxuICAgICAgICAgICAgICAgICckIycgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAgICA1LFxuICAgICAgICAgICAgICAgICckKicgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAgICA1LFxuICAgICAgICAgICAgICAgICckQVJSQVlfQkFTRScgICAgICAgICAgICAgICAgICAgOiAgICA1LFxuICAgICAgICAgICAgICAgICckWycgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAgICA1LFxuICAgICAgICAgICAgICAgICckT0xEX1BFUkxfVkVSU0lPTicgICAgICAgICAgICAgOiAgICA1LFxuICAgICAgICAgICAgICAgICckXScgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAgICA1LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gICAgICBQRVJMIGJsb2Nrc1xuICAgICAgICAgICAgICAgICdpZicgICAgICAgICAgICAgICAgICAgICAgICAgICAgOlsxLDFdLFxuICAgICAgICAgICAgICAgIGVsc2lmICAgICAgICAgICAgICAgICAgICAgICAgICAgOlsxLDFdLFxuICAgICAgICAgICAgICAgICdlbHNlJyAgICAgICAgICAgICAgICAgICAgICAgICAgOlsxLDFdLFxuICAgICAgICAgICAgICAgICd3aGlsZScgICAgICAgICAgICAgICAgICAgICAgICAgOlsxLDFdLFxuICAgICAgICAgICAgICAgIHVubGVzcyAgICAgICAgICAgICAgICAgICAgICAgICAgOlsxLDFdLFxuICAgICAgICAgICAgICAgICdmb3InICAgICAgICAgICAgICAgICAgICAgICAgICAgOlsxLDFdLFxuICAgICAgICAgICAgICAgIGZvcmVhY2ggICAgICAgICAgICAgICAgICAgICAgICAgOlsxLDFdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gICAgICBQRVJMIGZ1bmN0aW9uc1xuICAgICAgICAgICAgICAgICdhYnMnICAgICAgICAgICAgICAgICAgICAgICAgICAgOjEsICAgICAvLyAtIGFic29sdXRlIHZhbHVlIGZ1bmN0aW9uXG4gICAgICAgICAgICAgICAgYWNjZXB0ICAgICAgICAgICAgICAgICAgICAgICAgICA6MSwgICAgIC8vIC0gYWNjZXB0IGFuIGluY29taW5nIHNvY2tldCBjb25uZWN0XG4gICAgICAgICAgICAgICAgYWxhcm0gICAgICAgICAgICAgICAgICAgICAgICAgICA6MSwgICAgIC8vIC0gc2NoZWR1bGUgYSBTSUdBTFJNXG4gICAgICAgICAgICAgICAgJ2F0YW4yJyAgICAgICAgICAgICAgICAgICAgICAgICA6MSwgICAgIC8vIC0gYXJjdGFuZ2VudCBvZiBZL1ggaW4gdGhlIHJhbmdlIC1QSSB0byBQSVxuICAgICAgICAgICAgICAgIGJpbmQgICAgICAgICAgICAgICAgICAgICAgICAgICAgOjEsICAgICAvLyAtIGJpbmRzIGFuIGFkZHJlc3MgdG8gYSBzb2NrZXRcbiAgICAgICAgICAgICAgICBiaW5tb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDoxLCAgICAgLy8gLSBwcmVwYXJlIGJpbmFyeSBmaWxlcyBmb3IgSS9PXG4gICAgICAgICAgICAgICAgYmxlc3MgICAgICAgICAgICAgICAgICAgICAgICAgICA6MSwgICAgIC8vIC0gY3JlYXRlIGFuIG9iamVjdFxuICAgICAgICAgICAgICAgIGJvb3RzdHJhcCAgICAgICAgICAgICAgICAgICAgICAgOjEsICAgICAvL1xuICAgICAgICAgICAgICAgICdicmVhaycgICAgICAgICAgICAgICAgICAgICAgICAgOjEsICAgICAvLyAtIGJyZWFrIG91dCBvZiBhIFwiZ2l2ZW5cIiBibG9ja1xuICAgICAgICAgICAgICAgIGNhbGxlciAgICAgICAgICAgICAgICAgICAgICAgICAgOjEsICAgICAvLyAtIGdldCBjb250ZXh0IG9mIHRoZSBjdXJyZW50IHN1YnJvdXRpbmUgY2FsbFxuICAgICAgICAgICAgICAgIGNoZGlyICAgICAgICAgICAgICAgICAgICAgICAgICAgOjEsICAgICAvLyAtIGNoYW5nZSB5b3VyIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnlcbiAgICAgICAgICAgICAgICBjaG1vZCAgICAgICAgICAgICAgICAgICAgICAgICAgIDoxLCAgICAgLy8gLSBjaGFuZ2VzIHRoZSBwZXJtaXNzaW9ucyBvbiBhIGxpc3Qgb2YgZmlsZXNcbiAgICAgICAgICAgICAgICBjaG9tcCAgICAgICAgICAgICAgICAgICAgICAgICAgIDoxLCAgICAgLy8gLSByZW1vdmUgYSB0cmFpbGluZyByZWNvcmQgc2VwYXJhdG9yIGZyb20gYSBzdHJpbmdcbiAgICAgICAgICAgICAgICBjaG9wICAgICAgICAgICAgICAgICAgICAgICAgICAgIDoxLCAgICAgLy8gLSByZW1vdmUgdGhlIGxhc3QgY2hhcmFjdGVyIGZyb20gYSBzdHJpbmdcbiAgICAgICAgICAgICAgICBjaG93biAgICAgICAgICAgICAgICAgICAgICAgICAgIDoxLCAgICAgLy8gLSBjaGFuZ2UgdGhlIG93bmVyc2hpcCBvbiBhIGxpc3Qgb2YgZmlsZXNcbiAgICAgICAgICAgICAgICBjaHIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDoxLCAgICAgLy8gLSBnZXQgY2hhcmFjdGVyIHRoaXMgbnVtYmVyIHJlcHJlc2VudHNcbiAgICAgICAgICAgICAgICBjaHJvb3QgICAgICAgICAgICAgICAgICAgICAgICAgIDoxLCAgICAgLy8gLSBtYWtlIGRpcmVjdG9yeSBuZXcgcm9vdCBmb3IgcGF0aCBsb29rdXBzXG4gICAgICAgICAgICAgICAgY2xvc2UgICAgICAgICAgICAgICAgICAgICAgICAgICA6MSwgICAgIC8vIC0gY2xvc2UgZmlsZSAob3IgcGlwZSBvciBzb2NrZXQpIGhhbmRsZVxuICAgICAgICAgICAgICAgIGNsb3NlZGlyICAgICAgICAgICAgICAgICAgICAgICAgOjEsICAgICAvLyAtIGNsb3NlIGRpcmVjdG9yeSBoYW5kbGVcbiAgICAgICAgICAgICAgICBjb25uZWN0ICAgICAgICAgICAgICAgICAgICAgICAgIDoxLCAgICAgLy8gLSBjb25uZWN0IHRvIGEgcmVtb3RlIHNvY2tldFxuICAgICAgICAgICAgICAgICdjb250aW51ZScgICAgICAgICAgICAgICAgICAgICAgOlsxLDFdLCAvLyAtIG9wdGlvbmFsIHRyYWlsaW5nIGJsb2NrIGluIGEgd2hpbGUgb3IgZm9yZWFjaFxuICAgICAgICAgICAgICAgICdjb3MnICAgICAgICAgICAgICAgICAgICAgICAgICAgOjEsICAgICAvLyAtIGNvc2luZSBmdW5jdGlvblxuICAgICAgICAgICAgICAgIGNyeXB0ICAgICAgICAgICAgICAgICAgICAgICAgICAgOjEsICAgICAvLyAtIG9uZS13YXkgcGFzc3dkLXN0eWxlIGVuY3J5cHRpb25cbiAgICAgICAgICAgICAgICBkYm1jbG9zZSAgICAgICAgICAgICAgICAgICAgICAgIDoxLCAgICAgLy8gLSBicmVha3MgYmluZGluZyBvbiBhIHRpZWQgZGJtIGZpbGVcbiAgICAgICAgICAgICAgICBkYm1vcGVuICAgICAgICAgICAgICAgICAgICAgICAgIDoxLCAgICAgLy8gLSBjcmVhdGUgYmluZGluZyBvbiBhIHRpZWQgZGJtIGZpbGVcbiAgICAgICAgICAgICAgICAnZGVmYXVsdCcgICAgICAgICAgICAgICAgICAgICAgIDoxLCAgICAgLy9cbiAgICAgICAgICAgICAgICBkZWZpbmVkICAgICAgICAgICAgICAgICAgICAgICAgIDoxLCAgICAgLy8gLSB0ZXN0IHdoZXRoZXIgYSB2YWx1ZSwgdmFyaWFibGUsIG9yIGZ1bmN0aW9uIGlzIGRlZmluZWRcbiAgICAgICAgICAgICAgICAnZGVsZXRlJyAgICAgICAgICAgICAgICAgICAgICAgIDoxLCAgICAgLy8gLSBkZWxldGVzIGEgdmFsdWUgZnJvbSBhIGhhc2hcbiAgICAgICAgICAgICAgICBkaWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDoxLCAgICAgLy8gLSByYWlzZSBhbiBleGNlcHRpb24gb3IgYmFpbCBvdXRcbiAgICAgICAgICAgICAgICAnZG8nICAgICAgICAgICAgICAgICAgICAgICAgICAgIDoxLCAgICAgLy8gLSB0dXJuIGEgQkxPQ0sgaW50byBhIFRFUk1cbiAgICAgICAgICAgICAgICBkdW1wICAgICAgICAgICAgICAgICAgICAgICAgICAgIDoxLCAgICAgLy8gLSBjcmVhdGUgYW4gaW1tZWRpYXRlIGNvcmUgZHVtcFxuICAgICAgICAgICAgICAgIGVhY2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgOjEsICAgICAvLyAtIHJldHJpZXZlIHRoZSBuZXh0IGtleS92YWx1ZSBwYWlyIGZyb20gYSBoYXNoXG4gICAgICAgICAgICAgICAgZW5kZ3JlbnQgICAgICAgICAgICAgICAgICAgICAgICA6MSwgICAgIC8vIC0gYmUgZG9uZSB1c2luZyBncm91cCBmaWxlXG4gICAgICAgICAgICAgICAgZW5kaG9zdGVudCAgICAgICAgICAgICAgICAgICAgICA6MSwgICAgIC8vIC0gYmUgZG9uZSB1c2luZyBob3N0cyBmaWxlXG4gICAgICAgICAgICAgICAgZW5kbmV0ZW50ICAgICAgICAgICAgICAgICAgICAgICA6MSwgICAgIC8vIC0gYmUgZG9uZSB1c2luZyBuZXR3b3JrcyBmaWxlXG4gICAgICAgICAgICAgICAgZW5kcHJvdG9lbnQgICAgICAgICAgICAgICAgICAgICA6MSwgICAgIC8vIC0gYmUgZG9uZSB1c2luZyBwcm90b2NvbHMgZmlsZVxuICAgICAgICAgICAgICAgIGVuZHB3ZW50ICAgICAgICAgICAgICAgICAgICAgICAgOjEsICAgICAvLyAtIGJlIGRvbmUgdXNpbmcgcGFzc3dkIGZpbGVcbiAgICAgICAgICAgICAgICBlbmRzZXJ2ZW50ICAgICAgICAgICAgICAgICAgICAgIDoxLCAgICAgLy8gLSBiZSBkb25lIHVzaW5nIHNlcnZpY2VzIGZpbGVcbiAgICAgICAgICAgICAgICBlb2YgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDoxLCAgICAgLy8gLSB0ZXN0IGEgZmlsZWhhbmRsZSBmb3IgaXRzIGVuZFxuICAgICAgICAgICAgICAgICdldmFsJyAgICAgICAgICAgICAgICAgICAgICAgICAgOjEsICAgICAvLyAtIGNhdGNoIGV4Y2VwdGlvbnMgb3IgY29tcGlsZSBhbmQgcnVuIGNvZGVcbiAgICAgICAgICAgICAgICAnZXhlYycgICAgICAgICAgICAgICAgICAgICAgICAgIDoxLCAgICAgLy8gLSBhYmFuZG9uIHRoaXMgcHJvZ3JhbSB0byBydW4gYW5vdGhlclxuICAgICAgICAgICAgICAgIGV4aXN0cyAgICAgICAgICAgICAgICAgICAgICAgICAgOjEsICAgICAvLyAtIHRlc3Qgd2hldGhlciBhIGhhc2gga2V5IGlzIHByZXNlbnRcbiAgICAgICAgICAgICAgICBleGl0ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDoxLCAgICAgLy8gLSB0ZXJtaW5hdGUgdGhpcyBwcm9ncmFtXG4gICAgICAgICAgICAgICAgJ2V4cCcgICAgICAgICAgICAgICAgICAgICAgICAgICA6MSwgICAgIC8vIC0gcmFpc2UgSSB0byBhIHBvd2VyXG4gICAgICAgICAgICAgICAgZmNudGwgICAgICAgICAgICAgICAgICAgICAgICAgICA6MSwgICAgIC8vIC0gZmlsZSBjb250cm9sIHN5c3RlbSBjYWxsXG4gICAgICAgICAgICAgICAgZmlsZW5vICAgICAgICAgICAgICAgICAgICAgICAgICA6MSwgICAgIC8vIC0gcmV0dXJuIGZpbGUgZGVzY3JpcHRvciBmcm9tIGZpbGVoYW5kbGVcbiAgICAgICAgICAgICAgICBmbG9jayAgICAgICAgICAgICAgICAgICAgICAgICAgIDoxLCAgICAgLy8gLSBsb2NrIGFuIGVudGlyZSBmaWxlIHdpdGggYW4gYWR2aXNvcnkgbG9ja1xuICAgICAgICAgICAgICAgIGZvcmsgICAgICAgICAgICAgICAgICAgICAgICAgICAgOjEsICAgICAvLyAtIGNyZWF0ZSBhIG5ldyBwcm9jZXNzIGp1c3QgbGlrZSB0aGlzIG9uZVxuICAgICAgICAgICAgICAgIGZvcm1hdCAgICAgICAgICAgICAgICAgICAgICAgICAgOjEsICAgICAvLyAtIGRlY2xhcmUgYSBwaWN0dXJlIGZvcm1hdCB3aXRoIHVzZSBieSB0aGUgd3JpdGUoKSBmdW5jdGlvblxuICAgICAgICAgICAgICAgIGZvcm1saW5lICAgICAgICAgICAgICAgICAgICAgICAgOjEsICAgICAvLyAtIGludGVybmFsIGZ1bmN0aW9uIHVzZWQgZm9yIGZvcm1hdHNcbiAgICAgICAgICAgICAgICBnZXRjICAgICAgICAgICAgICAgICAgICAgICAgICAgIDoxLCAgICAgLy8gLSBnZXQgdGhlIG5leHQgY2hhcmFjdGVyIGZyb20gdGhlIGZpbGVoYW5kbGVcbiAgICAgICAgICAgICAgICBnZXRncmVudCAgICAgICAgICAgICAgICAgICAgICAgIDoxLCAgICAgLy8gLSBnZXQgbmV4dCBncm91cCByZWNvcmRcbiAgICAgICAgICAgICAgICBnZXRncmdpZCAgICAgICAgICAgICAgICAgICAgICAgIDoxLCAgICAgLy8gLSBnZXQgZ3JvdXAgcmVjb3JkIGdpdmVuIGdyb3VwIHVzZXIgSURcbiAgICAgICAgICAgICAgICBnZXRncm5hbSAgICAgICAgICAgICAgICAgICAgICAgIDoxLCAgICAgLy8gLSBnZXQgZ3JvdXAgcmVjb3JkIGdpdmVuIGdyb3VwIG5hbWVcbiAgICAgICAgICAgICAgICBnZXRob3N0YnlhZGRyICAgICAgICAgICAgICAgICAgIDoxLCAgICAgLy8gLSBnZXQgaG9zdCByZWNvcmQgZ2l2ZW4gaXRzIGFkZHJlc3NcbiAgICAgICAgICAgICAgICBnZXRob3N0YnluYW1lICAgICAgICAgICAgICAgICAgIDoxLCAgICAgLy8gLSBnZXQgaG9zdCByZWNvcmQgZ2l2ZW4gbmFtZVxuICAgICAgICAgICAgICAgIGdldGhvc3RlbnQgICAgICAgICAgICAgICAgICAgICAgOjEsICAgICAvLyAtIGdldCBuZXh0IGhvc3RzIHJlY29yZFxuICAgICAgICAgICAgICAgIGdldGxvZ2luICAgICAgICAgICAgICAgICAgICAgICAgOjEsICAgICAvLyAtIHJldHVybiB3aG8gbG9nZ2VkIGluIGF0IHRoaXMgdHR5XG4gICAgICAgICAgICAgICAgZ2V0bmV0YnlhZGRyICAgICAgICAgICAgICAgICAgICA6MSwgICAgIC8vIC0gZ2V0IG5ldHdvcmsgcmVjb3JkIGdpdmVuIGl0cyBhZGRyZXNzXG4gICAgICAgICAgICAgICAgZ2V0bmV0YnluYW1lICAgICAgICAgICAgICAgICAgICA6MSwgICAgIC8vIC0gZ2V0IG5ldHdvcmtzIHJlY29yZCBnaXZlbiBuYW1lXG4gICAgICAgICAgICAgICAgZ2V0bmV0ZW50ICAgICAgICAgICAgICAgICAgICAgICA6MSwgICAgIC8vIC0gZ2V0IG5leHQgbmV0d29ya3MgcmVjb3JkXG4gICAgICAgICAgICAgICAgZ2V0cGVlcm5hbWUgICAgICAgICAgICAgICAgICAgICA6MSwgICAgIC8vIC0gZmluZCB0aGUgb3RoZXIgZW5kIG9mIGEgc29ja2V0IGNvbm5lY3Rpb25cbiAgICAgICAgICAgICAgICBnZXRwZ3JwICAgICAgICAgICAgICAgICAgICAgICAgIDoxLCAgICAgLy8gLSBnZXQgcHJvY2VzcyBncm91cFxuICAgICAgICAgICAgICAgIGdldHBwaWQgICAgICAgICAgICAgICAgICAgICAgICAgOjEsICAgICAvLyAtIGdldCBwYXJlbnQgcHJvY2VzcyBJRFxuICAgICAgICAgICAgICAgIGdldHByaW9yaXR5ICAgICAgICAgICAgICAgICAgICAgOjEsICAgICAvLyAtIGdldCBjdXJyZW50IG5pY2UgdmFsdWVcbiAgICAgICAgICAgICAgICBnZXRwcm90b2J5bmFtZSAgICAgICAgICAgICAgICAgIDoxLCAgICAgLy8gLSBnZXQgcHJvdG9jb2wgcmVjb3JkIGdpdmVuIG5hbWVcbiAgICAgICAgICAgICAgICBnZXRwcm90b2J5bnVtYmVyICAgICAgICAgICAgICAgIDoxLCAgICAgLy8gLSBnZXQgcHJvdG9jb2wgcmVjb3JkIG51bWVyaWMgcHJvdG9jb2xcbiAgICAgICAgICAgICAgICBnZXRwcm90b2VudCAgICAgICAgICAgICAgICAgICAgIDoxLCAgICAgLy8gLSBnZXQgbmV4dCBwcm90b2NvbHMgcmVjb3JkXG4gICAgICAgICAgICAgICAgZ2V0cHdlbnQgICAgICAgICAgICAgICAgICAgICAgICA6MSwgICAgIC8vIC0gZ2V0IG5leHQgcGFzc3dkIHJlY29yZFxuICAgICAgICAgICAgICAgIGdldHB3bmFtICAgICAgICAgICAgICAgICAgICAgICAgOjEsICAgICAvLyAtIGdldCBwYXNzd2QgcmVjb3JkIGdpdmVuIHVzZXIgbG9naW4gbmFtZVxuICAgICAgICAgICAgICAgIGdldHB3dWlkICAgICAgICAgICAgICAgICAgICAgICAgOjEsICAgICAvLyAtIGdldCBwYXNzd2QgcmVjb3JkIGdpdmVuIHVzZXIgSURcbiAgICAgICAgICAgICAgICBnZXRzZXJ2YnluYW1lICAgICAgICAgICAgICAgICAgIDoxLCAgICAgLy8gLSBnZXQgc2VydmljZXMgcmVjb3JkIGdpdmVuIGl0cyBuYW1lXG4gICAgICAgICAgICAgICAgZ2V0c2VydmJ5cG9ydCAgICAgICAgICAgICAgICAgICA6MSwgICAgIC8vIC0gZ2V0IHNlcnZpY2VzIHJlY29yZCBnaXZlbiBudW1lcmljIHBvcnRcbiAgICAgICAgICAgICAgICBnZXRzZXJ2ZW50ICAgICAgICAgICAgICAgICAgICAgIDoxLCAgICAgLy8gLSBnZXQgbmV4dCBzZXJ2aWNlcyByZWNvcmRcbiAgICAgICAgICAgICAgICBnZXRzb2NrbmFtZSAgICAgICAgICAgICAgICAgICAgIDoxLCAgICAgLy8gLSByZXRyaWV2ZSB0aGUgc29ja2FkZHIgZm9yIGEgZ2l2ZW4gc29ja2V0XG4gICAgICAgICAgICAgICAgZ2V0c29ja29wdCAgICAgICAgICAgICAgICAgICAgICA6MSwgICAgIC8vIC0gZ2V0IHNvY2tldCBvcHRpb25zIG9uIGEgZ2l2ZW4gc29ja2V0XG4gICAgICAgICAgICAgICAgZ2l2ZW4gICAgICAgICAgICAgICAgICAgICAgICAgICA6MSwgICAgIC8vXG4gICAgICAgICAgICAgICAgZ2xvYiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6MSwgICAgIC8vIC0gZXhwYW5kIGZpbGVuYW1lcyB1c2luZyB3aWxkY2FyZHNcbiAgICAgICAgICAgICAgICBnbXRpbWUgICAgICAgICAgICAgICAgICAgICAgICAgIDoxLCAgICAgLy8gLSBjb252ZXJ0IFVOSVggdGltZSBpbnRvIHJlY29yZCBvciBzdHJpbmcgdXNpbmcgR3JlZW53aWNoIHRpbWVcbiAgICAgICAgICAgICAgICAnZ290bycgICAgICAgICAgICAgICAgICAgICAgICAgIDoxLCAgICAgLy8gLSBjcmVhdGUgc3BhZ2hldHRpIGNvZGVcbiAgICAgICAgICAgICAgICBncmVwICAgICAgICAgICAgICAgICAgICAgICAgICAgIDoxLCAgICAgLy8gLSBsb2NhdGUgZWxlbWVudHMgaW4gYSBsaXN0IHRlc3QgdHJ1ZSBhZ2FpbnN0IGEgZ2l2ZW4gY3JpdGVyaW9uXG4gICAgICAgICAgICAgICAgaGV4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6MSwgICAgIC8vIC0gY29udmVydCBhIHN0cmluZyB0byBhIGhleGFkZWNpbWFsIG51bWJlclxuICAgICAgICAgICAgICAgICdpbXBvcnQnICAgICAgICAgICAgICAgICAgICAgICAgOjEsICAgICAvLyAtIHBhdGNoIGEgbW9kdWxlJ3MgbmFtZXNwYWNlIGludG8geW91ciBvd25cbiAgICAgICAgICAgICAgICBpbmRleCAgICAgICAgICAgICAgICAgICAgICAgICAgIDoxLCAgICAgLy8gLSBmaW5kIGEgc3Vic3RyaW5nIHdpdGhpbiBhIHN0cmluZ1xuICAgICAgICAgICAgICAgICdpbnQnICAgICAgICAgICAgICAgICAgICAgICAgICAgOjEsICAgICAvLyAtIGdldCB0aGUgaW50ZWdlciBwb3J0aW9uIG9mIGEgbnVtYmVyXG4gICAgICAgICAgICAgICAgaW9jdGwgICAgICAgICAgICAgICAgICAgICAgICAgICA6MSwgICAgIC8vIC0gc3lzdGVtLWRlcGVuZGVudCBkZXZpY2UgY29udHJvbCBzeXN0ZW0gY2FsbFxuICAgICAgICAgICAgICAgICdqb2luJyAgICAgICAgICAgICAgICAgICAgICAgICAgOjEsICAgICAvLyAtIGpvaW4gYSBsaXN0IGludG8gYSBzdHJpbmcgdXNpbmcgYSBzZXBhcmF0b3JcbiAgICAgICAgICAgICAgICBrZXlzICAgICAgICAgICAgICAgICAgICAgICAgICAgIDoxLCAgICAgLy8gLSByZXRyaWV2ZSBsaXN0IG9mIGluZGljZXMgZnJvbSBhIGhhc2hcbiAgICAgICAgICAgICAgICBraWxsICAgICAgICAgICAgICAgICAgICAgICAgICAgIDoxLCAgICAgLy8gLSBzZW5kIGEgc2lnbmFsIHRvIGEgcHJvY2VzcyBvciBwcm9jZXNzIGdyb3VwXG4gICAgICAgICAgICAgICAgbGFzdCAgICAgICAgICAgICAgICAgICAgICAgICAgICA6MSwgICAgIC8vIC0gZXhpdCBhIGJsb2NrIHByZW1hdHVyZWx5XG4gICAgICAgICAgICAgICAgbGMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6MSwgICAgIC8vIC0gcmV0dXJuIGxvd2VyLWNhc2UgdmVyc2lvbiBvZiBhIHN0cmluZ1xuICAgICAgICAgICAgICAgIGxjZmlyc3QgICAgICAgICAgICAgICAgICAgICAgICAgOjEsICAgICAvLyAtIHJldHVybiBhIHN0cmluZyB3aXRoIGp1c3QgdGhlIG5leHQgbGV0dGVyIGluIGxvd2VyIGNhc2VcbiAgICAgICAgICAgICAgICBsZW5ndGggICAgICAgICAgICAgICAgICAgICAgICAgIDoxLCAgICAgLy8gLSByZXR1cm4gdGhlIG51bWJlciBvZiBieXRlcyBpbiBhIHN0cmluZ1xuICAgICAgICAgICAgICAgICdsaW5rJyAgICAgICAgICAgICAgICAgICAgICAgICAgOjEsICAgICAvLyAtIGNyZWF0ZSBhIGhhcmQgbGluayBpbiB0aGUgZmlsZXN5dGVtXG4gICAgICAgICAgICAgICAgbGlzdGVuICAgICAgICAgICAgICAgICAgICAgICAgICA6MSwgICAgIC8vIC0gcmVnaXN0ZXIgeW91ciBzb2NrZXQgYXMgYSBzZXJ2ZXJcbiAgICAgICAgICAgICAgICBsb2NhbCAgICAgICAgICAgICAgICAgICAgICAgICAgIDogMiwgICAgLy8gLSBjcmVhdGUgYSB0ZW1wb3JhcnkgdmFsdWUgZm9yIGEgZ2xvYmFsIHZhcmlhYmxlIChkeW5hbWljIHNjb3BpbmcpXG4gICAgICAgICAgICAgICAgbG9jYWx0aW1lICAgICAgICAgICAgICAgICAgICAgICA6MSwgICAgIC8vIC0gY29udmVydCBVTklYIHRpbWUgaW50byByZWNvcmQgb3Igc3RyaW5nIHVzaW5nIGxvY2FsIHRpbWVcbiAgICAgICAgICAgICAgICBsb2NrICAgICAgICAgICAgICAgICAgICAgICAgICAgIDoxLCAgICAgLy8gLSBnZXQgYSB0aHJlYWQgbG9jayBvbiBhIHZhcmlhYmxlLCBzdWJyb3V0aW5lLCBvciBtZXRob2RcbiAgICAgICAgICAgICAgICAnbG9nJyAgICAgICAgICAgICAgICAgICAgICAgICAgIDoxLCAgICAgLy8gLSByZXRyaWV2ZSB0aGUgbmF0dXJhbCBsb2dhcml0aG0gZm9yIGEgbnVtYmVyXG4gICAgICAgICAgICAgICAgbHN0YXQgICAgICAgICAgICAgICAgICAgICAgICAgICA6MSwgICAgIC8vIC0gc3RhdCBhIHN5bWJvbGljIGxpbmtcbiAgICAgICAgICAgICAgICBtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpudWxsLCAgLy8gLSBtYXRjaCBhIHN0cmluZyB3aXRoIGEgcmVndWxhciBleHByZXNzaW9uIHBhdHRlcm5cbiAgICAgICAgICAgICAgICBtYXAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDoxLCAgICAgLy8gLSBhcHBseSBhIGNoYW5nZSB0byBhIGxpc3QgdG8gZ2V0IGJhY2sgYSBuZXcgbGlzdCB3aXRoIHRoZSBjaGFuZ2VzXG4gICAgICAgICAgICAgICAgbWtkaXIgICAgICAgICAgICAgICAgICAgICAgICAgICA6MSwgICAgIC8vIC0gY3JlYXRlIGEgZGlyZWN0b3J5XG4gICAgICAgICAgICAgICAgbXNnY3RsICAgICAgICAgICAgICAgICAgICAgICAgICA6MSwgICAgIC8vIC0gU3lzViBJUEMgbWVzc2FnZSBjb250cm9sIG9wZXJhdGlvbnNcbiAgICAgICAgICAgICAgICBtc2dnZXQgICAgICAgICAgICAgICAgICAgICAgICAgIDoxLCAgICAgLy8gLSBnZXQgU3lzViBJUEMgbWVzc2FnZSBxdWV1ZVxuICAgICAgICAgICAgICAgIG1zZ3JjdiAgICAgICAgICAgICAgICAgICAgICAgICAgOjEsICAgICAvLyAtIHJlY2VpdmUgYSBTeXNWIElQQyBtZXNzYWdlIGZyb20gYSBtZXNzYWdlIHF1ZXVlXG4gICAgICAgICAgICAgICAgbXNnc25kICAgICAgICAgICAgICAgICAgICAgICAgICA6MSwgICAgIC8vIC0gc2VuZCBhIFN5c1YgSVBDIG1lc3NhZ2UgdG8gYSBtZXNzYWdlIHF1ZXVlXG4gICAgICAgICAgICAgICAgbXkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IDIsICAgIC8vIC0gZGVjbGFyZSBhbmQgYXNzaWduIGEgbG9jYWwgdmFyaWFibGUgKGxleGljYWwgc2NvcGluZylcbiAgICAgICAgICAgICAgICAnbmV3JyAgICAgICAgICAgICAgICAgICAgICAgICAgIDoxLCAgICAgLy9cbiAgICAgICAgICAgICAgICBuZXh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDoxLCAgICAgLy8gLSBpdGVyYXRlIGEgYmxvY2sgcHJlbWF0dXJlbHlcbiAgICAgICAgICAgICAgICBubyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDoxLCAgICAgLy8gLSB1bmltcG9ydCBzb21lIG1vZHVsZSBzeW1ib2xzIG9yIHNlbWFudGljcyBhdCBjb21waWxlIHRpbWVcbiAgICAgICAgICAgICAgICBvY3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDoxLCAgICAgLy8gLSBjb252ZXJ0IGEgc3RyaW5nIHRvIGFuIG9jdGFsIG51bWJlclxuICAgICAgICAgICAgICAgIG9wZW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOjEsICAgICAvLyAtIG9wZW4gYSBmaWxlLCBwaXBlLCBvciBkZXNjcmlwdG9yXG4gICAgICAgICAgICAgICAgb3BlbmRpciAgICAgICAgICAgICAgICAgICAgICAgICA6MSwgICAgIC8vIC0gb3BlbiBhIGRpcmVjdG9yeVxuICAgICAgICAgICAgICAgIG9yZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOjEsICAgICAvLyAtIGZpbmQgYSBjaGFyYWN0ZXIncyBudW1lcmljIHJlcHJlc2VudGF0aW9uXG4gICAgICAgICAgICAgICAgb3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IDIsICAgIC8vIC0gZGVjbGFyZSBhbmQgYXNzaWduIGEgcGFja2FnZSB2YXJpYWJsZSAobGV4aWNhbCBzY29waW5nKVxuICAgICAgICAgICAgICAgIHBhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgOjEsICAgICAvLyAtIGNvbnZlcnQgYSBsaXN0IGludG8gYSBiaW5hcnkgcmVwcmVzZW50YXRpb25cbiAgICAgICAgICAgICAgICAncGFja2FnZScgICAgICAgICAgICAgICAgICAgICAgIDoxLCAgICAgLy8gLSBkZWNsYXJlIGEgc2VwYXJhdGUgZ2xvYmFsIG5hbWVzcGFjZVxuICAgICAgICAgICAgICAgIHBpcGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgOjEsICAgICAvLyAtIG9wZW4gYSBwYWlyIG9mIGNvbm5lY3RlZCBmaWxlaGFuZGxlc1xuICAgICAgICAgICAgICAgIHBvcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOjEsICAgICAvLyAtIHJlbW92ZSB0aGUgbGFzdCBlbGVtZW50IGZyb20gYW4gYXJyYXkgYW5kIHJldHVybiBpdFxuICAgICAgICAgICAgICAgIHBvcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOjEsICAgICAvLyAtIGZpbmQgb3Igc2V0IHRoZSBvZmZzZXQgZm9yIHRoZSBsYXN0L25leHQgbS8vZyBzZWFyY2hcbiAgICAgICAgICAgICAgICBwcmludCAgICAgICAgICAgICAgICAgICAgICAgICAgIDoxLCAgICAgLy8gLSBvdXRwdXQgYSBsaXN0IHRvIGEgZmlsZWhhbmRsZVxuICAgICAgICAgICAgICAgIHByaW50ZiAgICAgICAgICAgICAgICAgICAgICAgICAgOjEsICAgICAvLyAtIG91dHB1dCBhIGZvcm1hdHRlZCBsaXN0IHRvIGEgZmlsZWhhbmRsZVxuICAgICAgICAgICAgICAgIHByb3RvdHlwZSAgICAgICAgICAgICAgICAgICAgICAgOjEsICAgICAvLyAtIGdldCB0aGUgcHJvdG90eXBlIChpZiBhbnkpIG9mIGEgc3Vicm91dGluZVxuICAgICAgICAgICAgICAgIHB1c2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgOjEsICAgICAvLyAtIGFwcGVuZCBvbmUgb3IgbW9yZSBlbGVtZW50cyB0byBhbiBhcnJheVxuICAgICAgICAgICAgICAgIHEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOm51bGwsICAvLyAtIHNpbmdseSBxdW90ZSBhIHN0cmluZ1xuICAgICAgICAgICAgICAgIHFxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOm51bGwsICAvLyAtIGRvdWJseSBxdW90ZSBhIHN0cmluZ1xuICAgICAgICAgICAgICAgIHFyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOm51bGwsICAvLyAtIENvbXBpbGUgcGF0dGVyblxuICAgICAgICAgICAgICAgIHF1b3RlbWV0YSAgICAgICAgICAgICAgICAgICAgICAgOm51bGwsICAvLyAtIHF1b3RlIHJlZ3VsYXIgZXhwcmVzc2lvbiBtYWdpYyBjaGFyYWN0ZXJzXG4gICAgICAgICAgICAgICAgcXcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6bnVsbCwgIC8vIC0gcXVvdGUgYSBsaXN0IG9mIHdvcmRzXG4gICAgICAgICAgICAgICAgcXggICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6bnVsbCwgIC8vIC0gYmFja3F1b3RlIHF1b3RlIGEgc3RyaW5nXG4gICAgICAgICAgICAgICAgcmFuZCAgICAgICAgICAgICAgICAgICAgICAgICAgICA6MSwgICAgIC8vIC0gcmV0cmlldmUgdGhlIG5leHQgcHNldWRvcmFuZG9tIG51bWJlclxuICAgICAgICAgICAgICAgIHJlYWQgICAgICAgICAgICAgICAgICAgICAgICAgICAgOjEsICAgICAvLyAtIGZpeGVkLWxlbmd0aCBidWZmZXJlZCBpbnB1dCBmcm9tIGEgZmlsZWhhbmRsZVxuICAgICAgICAgICAgICAgIHJlYWRkaXIgICAgICAgICAgICAgICAgICAgICAgICAgOjEsICAgICAvLyAtIGdldCBhIGRpcmVjdG9yeSBmcm9tIGEgZGlyZWN0b3J5IGhhbmRsZVxuICAgICAgICAgICAgICAgIHJlYWRsaW5lICAgICAgICAgICAgICAgICAgICAgICAgOjEsICAgICAvLyAtIGZldGNoIGEgcmVjb3JkIGZyb20gYSBmaWxlXG4gICAgICAgICAgICAgICAgcmVhZGxpbmsgICAgICAgICAgICAgICAgICAgICAgICA6MSwgICAgIC8vIC0gZGV0ZXJtaW5lIHdoZXJlIGEgc3ltYm9saWMgbGluayBpcyBwb2ludGluZ1xuICAgICAgICAgICAgICAgIHJlYWRwaXBlICAgICAgICAgICAgICAgICAgICAgICAgOjEsICAgICAvLyAtIGV4ZWN1dGUgYSBzeXN0ZW0gY29tbWFuZCBhbmQgY29sbGVjdCBzdGFuZGFyZCBvdXRwdXRcbiAgICAgICAgICAgICAgICByZWN2ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDoxLCAgICAgLy8gLSByZWNlaXZlIGEgbWVzc2FnZSBvdmVyIGEgU29ja2V0XG4gICAgICAgICAgICAgICAgcmVkbyAgICAgICAgICAgICAgICAgICAgICAgICAgICA6MSwgICAgIC8vIC0gc3RhcnQgdGhpcyBsb29wIGl0ZXJhdGlvbiBvdmVyIGFnYWluXG4gICAgICAgICAgICAgICAgcmVmICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6MSwgICAgIC8vIC0gZmluZCBvdXQgdGhlIHR5cGUgb2YgdGhpbmcgYmVpbmcgcmVmZXJlbmNlZFxuICAgICAgICAgICAgICAgIHJlbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgOjEsICAgICAvLyAtIGNoYW5nZSBhIGZpbGVuYW1lXG4gICAgICAgICAgICAgICAgcmVxdWlyZSAgICAgICAgICAgICAgICAgICAgICAgICA6MSwgICAgIC8vIC0gbG9hZCBpbiBleHRlcm5hbCBmdW5jdGlvbnMgZnJvbSBhIGxpYnJhcnkgYXQgcnVudGltZVxuICAgICAgICAgICAgICAgIHJlc2V0ICAgICAgICAgICAgICAgICAgICAgICAgICAgOjEsICAgICAvLyAtIGNsZWFyIGFsbCB2YXJpYWJsZXMgb2YgYSBnaXZlbiBuYW1lXG4gICAgICAgICAgICAgICAgJ3JldHVybicgICAgICAgICAgICAgICAgICAgICAgICA6MSwgICAgIC8vIC0gZ2V0IG91dCBvZiBhIGZ1bmN0aW9uIGVhcmx5XG4gICAgICAgICAgICAgICAgcmV2ZXJzZSAgICAgICAgICAgICAgICAgICAgICAgICA6MSwgICAgIC8vIC0gZmxpcCBhIHN0cmluZyBvciBhIGxpc3RcbiAgICAgICAgICAgICAgICByZXdpbmRkaXIgICAgICAgICAgICAgICAgICAgICAgIDoxLCAgICAgLy8gLSByZXNldCBkaXJlY3RvcnkgaGFuZGxlXG4gICAgICAgICAgICAgICAgcmluZGV4ICAgICAgICAgICAgICAgICAgICAgICAgICA6MSwgICAgIC8vIC0gcmlnaHQtdG8tbGVmdCBzdWJzdHJpbmcgc2VhcmNoXG4gICAgICAgICAgICAgICAgcm1kaXIgICAgICAgICAgICAgICAgICAgICAgICAgICA6MSwgICAgIC8vIC0gcmVtb3ZlIGEgZGlyZWN0b3J5XG4gICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6bnVsbCwgIC8vIC0gcmVwbGFjZSBhIHBhdHRlcm4gd2l0aCBhIHN0cmluZ1xuICAgICAgICAgICAgICAgIHNheSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOjEsICAgICAvLyAtIHByaW50IHdpdGggbmV3bGluZVxuICAgICAgICAgICAgICAgIHNjYWxhciAgICAgICAgICAgICAgICAgICAgICAgICAgOjEsICAgICAvLyAtIGZvcmNlIGEgc2NhbGFyIGNvbnRleHRcbiAgICAgICAgICAgICAgICBzZWVrICAgICAgICAgICAgICAgICAgICAgICAgICAgIDoxLCAgICAgLy8gLSByZXBvc2l0aW9uIGZpbGUgcG9pbnRlciBmb3IgcmFuZG9tLWFjY2VzcyBJL09cbiAgICAgICAgICAgICAgICBzZWVrZGlyICAgICAgICAgICAgICAgICAgICAgICAgIDoxLCAgICAgLy8gLSByZXBvc2l0aW9uIGRpcmVjdG9yeSBwb2ludGVyXG4gICAgICAgICAgICAgICAgc2VsZWN0ICAgICAgICAgICAgICAgICAgICAgICAgICA6MSwgICAgIC8vIC0gcmVzZXQgZGVmYXVsdCBvdXRwdXQgb3IgZG8gSS9PIG11bHRpcGxleGluZ1xuICAgICAgICAgICAgICAgIHNlbWN0bCAgICAgICAgICAgICAgICAgICAgICAgICAgOjEsICAgICAvLyAtIFN5c1Ygc2VtYXBob3JlIGNvbnRyb2wgb3BlcmF0aW9uc1xuICAgICAgICAgICAgICAgIHNlbWdldCAgICAgICAgICAgICAgICAgICAgICAgICAgOjEsICAgICAvLyAtIGdldCBzZXQgb2YgU3lzViBzZW1hcGhvcmVzXG4gICAgICAgICAgICAgICAgc2Vtb3AgICAgICAgICAgICAgICAgICAgICAgICAgICA6MSwgICAgIC8vIC0gU3lzViBzZW1hcGhvcmUgb3BlcmF0aW9uc1xuICAgICAgICAgICAgICAgIHNlbmQgICAgICAgICAgICAgICAgICAgICAgICAgICAgOjEsICAgICAvLyAtIHNlbmQgYSBtZXNzYWdlIG92ZXIgYSBzb2NrZXRcbiAgICAgICAgICAgICAgICBzZXRncmVudCAgICAgICAgICAgICAgICAgICAgICAgIDoxLCAgICAgLy8gLSBwcmVwYXJlIGdyb3VwIGZpbGUgZm9yIHVzZVxuICAgICAgICAgICAgICAgIHNldGhvc3RlbnQgICAgICAgICAgICAgICAgICAgICAgOjEsICAgICAvLyAtIHByZXBhcmUgaG9zdHMgZmlsZSBmb3IgdXNlXG4gICAgICAgICAgICAgICAgc2V0bmV0ZW50ICAgICAgICAgICAgICAgICAgICAgICA6MSwgICAgIC8vIC0gcHJlcGFyZSBuZXR3b3JrcyBmaWxlIGZvciB1c2VcbiAgICAgICAgICAgICAgICBzZXRwZ3JwICAgICAgICAgICAgICAgICAgICAgICAgIDoxLCAgICAgLy8gLSBzZXQgdGhlIHByb2Nlc3MgZ3JvdXAgb2YgYSBwcm9jZXNzXG4gICAgICAgICAgICAgICAgc2V0cHJpb3JpdHkgICAgICAgICAgICAgICAgICAgICA6MSwgICAgIC8vIC0gc2V0IGEgcHJvY2VzcydzIG5pY2UgdmFsdWVcbiAgICAgICAgICAgICAgICBzZXRwcm90b2VudCAgICAgICAgICAgICAgICAgICAgIDoxLCAgICAgLy8gLSBwcmVwYXJlIHByb3RvY29scyBmaWxlIGZvciB1c2VcbiAgICAgICAgICAgICAgICBzZXRwd2VudCAgICAgICAgICAgICAgICAgICAgICAgIDoxLCAgICAgLy8gLSBwcmVwYXJlIHBhc3N3ZCBmaWxlIGZvciB1c2VcbiAgICAgICAgICAgICAgICBzZXRzZXJ2ZW50ICAgICAgICAgICAgICAgICAgICAgIDoxLCAgICAgLy8gLSBwcmVwYXJlIHNlcnZpY2VzIGZpbGUgZm9yIHVzZVxuICAgICAgICAgICAgICAgIHNldHNvY2tvcHQgICAgICAgICAgICAgICAgICAgICAgOjEsICAgICAvLyAtIHNldCBzb21lIHNvY2tldCBvcHRpb25zXG4gICAgICAgICAgICAgICAgc2hpZnQgICAgICAgICAgICAgICAgICAgICAgICAgICA6MSwgICAgIC8vIC0gcmVtb3ZlIHRoZSBmaXJzdCBlbGVtZW50IG9mIGFuIGFycmF5LCBhbmQgcmV0dXJuIGl0XG4gICAgICAgICAgICAgICAgc2htY3RsICAgICAgICAgICAgICAgICAgICAgICAgICA6MSwgICAgIC8vIC0gU3lzViBzaGFyZWQgbWVtb3J5IG9wZXJhdGlvbnNcbiAgICAgICAgICAgICAgICBzaG1nZXQgICAgICAgICAgICAgICAgICAgICAgICAgIDoxLCAgICAgLy8gLSBnZXQgU3lzViBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgaWRlbnRpZmllclxuICAgICAgICAgICAgICAgIHNobXJlYWQgICAgICAgICAgICAgICAgICAgICAgICAgOjEsICAgICAvLyAtIHJlYWQgU3lzViBzaGFyZWQgbWVtb3J5XG4gICAgICAgICAgICAgICAgc2htd3JpdGUgICAgICAgICAgICAgICAgICAgICAgICA6MSwgICAgIC8vIC0gd3JpdGUgU3lzViBzaGFyZWQgbWVtb3J5XG4gICAgICAgICAgICAgICAgc2h1dGRvd24gICAgICAgICAgICAgICAgICAgICAgICA6MSwgICAgIC8vIC0gY2xvc2UgZG93biBqdXN0IGhhbGYgb2YgYSBzb2NrZXQgY29ubmVjdGlvblxuICAgICAgICAgICAgICAgICdzaW4nICAgICAgICAgICAgICAgICAgICAgICAgICAgOjEsICAgICAvLyAtIHJldHVybiB0aGUgc2luZSBvZiBhIG51bWJlclxuICAgICAgICAgICAgICAgIHNsZWVwICAgICAgICAgICAgICAgICAgICAgICAgICAgOjEsICAgICAvLyAtIGJsb2NrIGZvciBzb21lIG51bWJlciBvZiBzZWNvbmRzXG4gICAgICAgICAgICAgICAgc29ja2V0ICAgICAgICAgICAgICAgICAgICAgICAgICA6MSwgICAgIC8vIC0gY3JlYXRlIGEgc29ja2V0XG4gICAgICAgICAgICAgICAgc29ja2V0cGFpciAgICAgICAgICAgICAgICAgICAgICA6MSwgICAgIC8vIC0gY3JlYXRlIGEgcGFpciBvZiBzb2NrZXRzXG4gICAgICAgICAgICAgICAgJ3NvcnQnICAgICAgICAgICAgICAgICAgICAgICAgICA6MSwgICAgIC8vIC0gc29ydCBhIGxpc3Qgb2YgdmFsdWVzXG4gICAgICAgICAgICAgICAgc3BsaWNlICAgICAgICAgICAgICAgICAgICAgICAgICA6MSwgICAgIC8vIC0gYWRkIG9yIHJlbW92ZSBlbGVtZW50cyBhbnl3aGVyZSBpbiBhbiBhcnJheVxuICAgICAgICAgICAgICAgICdzcGxpdCcgICAgICAgICAgICAgICAgICAgICAgICAgOjEsICAgICAvLyAtIHNwbGl0IHVwIGEgc3RyaW5nIHVzaW5nIGEgcmVnZXhwIGRlbGltaXRlclxuICAgICAgICAgICAgICAgIHNwcmludGYgICAgICAgICAgICAgICAgICAgICAgICAgOjEsICAgICAvLyAtIGZvcm1hdHRlZCBwcmludCBpbnRvIGEgc3RyaW5nXG4gICAgICAgICAgICAgICAgJ3NxcnQnICAgICAgICAgICAgICAgICAgICAgICAgICA6MSwgICAgIC8vIC0gc3F1YXJlIHJvb3QgZnVuY3Rpb25cbiAgICAgICAgICAgICAgICBzcmFuZCAgICAgICAgICAgICAgICAgICAgICAgICAgIDoxLCAgICAgLy8gLSBzZWVkIHRoZSByYW5kb20gbnVtYmVyIGdlbmVyYXRvclxuICAgICAgICAgICAgICAgIHN0YXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgOjEsICAgICAvLyAtIGdldCBhIGZpbGUncyBzdGF0dXMgaW5mb3JtYXRpb25cbiAgICAgICAgICAgICAgICBzdGF0ZSAgICAgICAgICAgICAgICAgICAgICAgICAgIDoxLCAgICAgLy8gLSBkZWNsYXJlIGFuZCBhc3NpZ24gYSBzdGF0ZSB2YXJpYWJsZSAocGVyc2lzdGVudCBsZXhpY2FsIHNjb3BpbmcpXG4gICAgICAgICAgICAgICAgc3R1ZHkgICAgICAgICAgICAgICAgICAgICAgICAgICA6MSwgICAgIC8vIC0gb3B0aW1pemUgaW5wdXQgZGF0YSBmb3IgcmVwZWF0ZWQgc2VhcmNoZXNcbiAgICAgICAgICAgICAgICAnc3ViJyAgICAgICAgICAgICAgICAgICAgICAgICAgIDoxLCAgICAgLy8gLSBkZWNsYXJlIGEgc3Vicm91dGluZSwgcG9zc2libHkgYW5vbnltb3VzbHlcbiAgICAgICAgICAgICAgICAnc3Vic3RyJyAgICAgICAgICAgICAgICAgICAgICAgIDoxLCAgICAgLy8gLSBnZXQgb3IgYWx0ZXIgYSBwb3J0aW9uIG9mIGEgc3Rpcm5nXG4gICAgICAgICAgICAgICAgc3ltbGluayAgICAgICAgICAgICAgICAgICAgICAgICA6MSwgICAgIC8vIC0gY3JlYXRlIGEgc3ltYm9saWMgbGluayB0byBhIGZpbGVcbiAgICAgICAgICAgICAgICBzeXNjYWxsICAgICAgICAgICAgICAgICAgICAgICAgIDoxLCAgICAgLy8gLSBleGVjdXRlIGFuIGFyYml0cmFyeSBzeXN0ZW0gY2FsbFxuICAgICAgICAgICAgICAgIHN5c29wZW4gICAgICAgICAgICAgICAgICAgICAgICAgOjEsICAgICAvLyAtIG9wZW4gYSBmaWxlLCBwaXBlLCBvciBkZXNjcmlwdG9yXG4gICAgICAgICAgICAgICAgc3lzcmVhZCAgICAgICAgICAgICAgICAgICAgICAgICA6MSwgICAgIC8vIC0gZml4ZWQtbGVuZ3RoIHVuYnVmZmVyZWQgaW5wdXQgZnJvbSBhIGZpbGVoYW5kbGVcbiAgICAgICAgICAgICAgICBzeXNzZWVrICAgICAgICAgICAgICAgICAgICAgICAgIDoxLCAgICAgLy8gLSBwb3NpdGlvbiBJL08gcG9pbnRlciBvbiBoYW5kbGUgdXNlZCB3aXRoIHN5c3JlYWQgYW5kIHN5c3dyaXRlXG4gICAgICAgICAgICAgICAgc3lzdGVtICAgICAgICAgICAgICAgICAgICAgICAgICA6MSwgICAgIC8vIC0gcnVuIGEgc2VwYXJhdGUgcHJvZ3JhbVxuICAgICAgICAgICAgICAgIHN5c3dyaXRlICAgICAgICAgICAgICAgICAgICAgICAgOjEsICAgICAvLyAtIGZpeGVkLWxlbmd0aCB1bmJ1ZmZlcmVkIG91dHB1dCB0byBhIGZpbGVoYW5kbGVcbiAgICAgICAgICAgICAgICB0ZWxsICAgICAgICAgICAgICAgICAgICAgICAgICAgIDoxLCAgICAgLy8gLSBnZXQgY3VycmVudCBzZWVrcG9pbnRlciBvbiBhIGZpbGVoYW5kbGVcbiAgICAgICAgICAgICAgICB0ZWxsZGlyICAgICAgICAgICAgICAgICAgICAgICAgIDoxLCAgICAgLy8gLSBnZXQgY3VycmVudCBzZWVrcG9pbnRlciBvbiBhIGRpcmVjdG9yeSBoYW5kbGVcbiAgICAgICAgICAgICAgICB0aWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDoxLCAgICAgLy8gLSBiaW5kIGEgdmFyaWFibGUgdG8gYW4gb2JqZWN0IGNsYXNzXG4gICAgICAgICAgICAgICAgdGllZCAgICAgICAgICAgICAgICAgICAgICAgICAgICA6MSwgICAgIC8vIC0gZ2V0IGEgcmVmZXJlbmNlIHRvIHRoZSBvYmplY3QgdW5kZXJseWluZyBhIHRpZWQgdmFyaWFibGVcbiAgICAgICAgICAgICAgICB0aW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgIDoxLCAgICAgLy8gLSByZXR1cm4gbnVtYmVyIG9mIHNlY29uZHMgc2luY2UgMTk3MFxuICAgICAgICAgICAgICAgIHRpbWVzICAgICAgICAgICAgICAgICAgICAgICAgICAgOjEsICAgICAvLyAtIHJldHVybiBlbGFwc2VkIHRpbWUgZm9yIHNlbGYgYW5kIGNoaWxkIHByb2Nlc3Nlc1xuICAgICAgICAgICAgICAgIHRyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOm51bGwsICAvLyAtIHRyYW5zbGl0ZXJhdGUgYSBzdHJpbmdcbiAgICAgICAgICAgICAgICB0cnVuY2F0ZSAgICAgICAgICAgICAgICAgICAgICAgIDoxLCAgICAgLy8gLSBzaG9ydGVuIGEgZmlsZVxuICAgICAgICAgICAgICAgIHVjICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOjEsICAgICAvLyAtIHJldHVybiB1cHBlci1jYXNlIHZlcnNpb24gb2YgYSBzdHJpbmdcbiAgICAgICAgICAgICAgICB1Y2ZpcnN0ICAgICAgICAgICAgICAgICAgICAgICAgIDoxLCAgICAgLy8gLSByZXR1cm4gYSBzdHJpbmcgd2l0aCBqdXN0IHRoZSBuZXh0IGxldHRlciBpbiB1cHBlciBjYXNlXG4gICAgICAgICAgICAgICAgdW1hc2sgICAgICAgICAgICAgICAgICAgICAgICAgICA6MSwgICAgIC8vIC0gc2V0IGZpbGUgY3JlYXRpb24gbW9kZSBtYXNrXG4gICAgICAgICAgICAgICAgdW5kZWYgICAgICAgICAgICAgICAgICAgICAgICAgICA6MSwgICAgIC8vIC0gcmVtb3ZlIGEgdmFyaWFibGUgb3IgZnVuY3Rpb24gZGVmaW5pdGlvblxuICAgICAgICAgICAgICAgIHVubGluayAgICAgICAgICAgICAgICAgICAgICAgICAgOjEsICAgICAvLyAtIHJlbW92ZSBvbmUgbGluayB0byBhIGZpbGVcbiAgICAgICAgICAgICAgICB1bnBhY2sgICAgICAgICAgICAgICAgICAgICAgICAgIDoxLCAgICAgLy8gLSBjb252ZXJ0IGJpbmFyeSBzdHJ1Y3R1cmUgaW50byBub3JtYWwgcGVybCB2YXJpYWJsZXNcbiAgICAgICAgICAgICAgICB1bnNoaWZ0ICAgICAgICAgICAgICAgICAgICAgICAgIDoxLCAgICAgLy8gLSBwcmVwZW5kIG1vcmUgZWxlbWVudHMgdG8gdGhlIGJlZ2lubmluZyBvZiBhIGxpc3RcbiAgICAgICAgICAgICAgICB1bnRpZSAgICAgICAgICAgICAgICAgICAgICAgICAgIDoxLCAgICAgLy8gLSBicmVhayBhIHRpZSBiaW5kaW5nIHRvIGEgdmFyaWFibGVcbiAgICAgICAgICAgICAgICB1c2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDoxLCAgICAgLy8gLSBsb2FkIGluIGEgbW9kdWxlIGF0IGNvbXBpbGUgdGltZVxuICAgICAgICAgICAgICAgIHV0aW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgOjEsICAgICAvLyAtIHNldCBhIGZpbGUncyBsYXN0IGFjY2VzcyBhbmQgbW9kaWZ5IHRpbWVzXG4gICAgICAgICAgICAgICAgdmFsdWVzICAgICAgICAgICAgICAgICAgICAgICAgICA6MSwgICAgIC8vIC0gcmV0dXJuIGEgbGlzdCBvZiB0aGUgdmFsdWVzIGluIGEgaGFzaFxuICAgICAgICAgICAgICAgIHZlYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOjEsICAgICAvLyAtIHRlc3Qgb3Igc2V0IHBhcnRpY3VsYXIgYml0cyBpbiBhIHN0cmluZ1xuICAgICAgICAgICAgICAgIHdhaXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgOjEsICAgICAvLyAtIHdhaXQgZm9yIGFueSBjaGlsZCBwcm9jZXNzIHRvIGRpZVxuICAgICAgICAgICAgICAgIHdhaXRwaWQgICAgICAgICAgICAgICAgICAgICAgICAgOjEsICAgICAvLyAtIHdhaXQgZm9yIGEgcGFydGljdWxhciBjaGlsZCBwcm9jZXNzIHRvIGRpZVxuICAgICAgICAgICAgICAgIHdhbnRhcnJheSAgICAgICAgICAgICAgICAgICAgICAgOjEsICAgICAvLyAtIGdldCB2b2lkIHZzIHNjYWxhciB2cyBsaXN0IGNvbnRleHQgb2YgY3VycmVudCBzdWJyb3V0aW5lIGNhbGxcbiAgICAgICAgICAgICAgICB3YXJuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDoxLCAgICAgLy8gLSBwcmludCBkZWJ1Z2dpbmcgaW5mb1xuICAgICAgICAgICAgICAgIHdoZW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOjEsICAgICAvL1xuICAgICAgICAgICAgICAgIHdyaXRlICAgICAgICAgICAgICAgICAgICAgICAgICAgOjEsICAgICAvLyAtIHByaW50IGEgcGljdHVyZSByZWNvcmRcbiAgICAgICAgICAgICAgICB5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpudWxsfTsgLy8gLSB0cmFuc2xpdGVyYXRlIGEgc3RyaW5nXG5cbiAgICAgICAgdmFyIFJYc3R5bGU9XCJzdHJpbmctMlwiO1xuICAgICAgICB2YXIgUlhtb2RpZmllcnM9L1tnb3NleGltYWNwbHVkXS87ICAgICAgICAgICAgICAvLyBOT1RFOiBcIm1cIiwgXCJzXCIsIFwieVwiIGFuZCBcInRyXCIgbmVlZCB0byBjb3JyZWN0IHJlYWwgbW9kaWZpZXJzIGZvciBlYWNoIHJlZ2V4cCB0eXBlXG5cbiAgICAgICAgZnVuY3Rpb24gdG9rZW5DaGFpbihzdHJlYW0sc3RhdGUsY2hhaW4sc3R5bGUsdGFpbCl7ICAgICAvLyBOT1RFOiBjaGFpbi5sZW5ndGggPiAyIGlzIG5vdCB3b3JraW5nIG5vdyAoaXQncyBmb3Igc1suLi5dWy4uLl1nZW9zOylcbiAgICAgICAgICAgICAgICBzdGF0ZS5jaGFpbj1udWxsOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMiAgIDN0YWlsXG4gICAgICAgICAgICAgICAgc3RhdGUuc3R5bGU9bnVsbDtcbiAgICAgICAgICAgICAgICBzdGF0ZS50YWlsPW51bGw7XG4gICAgICAgICAgICAgICAgc3RhdGUudG9rZW5pemU9ZnVuY3Rpb24oc3RyZWFtLHN0YXRlKXtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBlPWZhbHNlLGMsaT0wO1xuICAgICAgICAgICAgICAgICAgICAgICAgd2hpbGUoYz1zdHJlYW0ubmV4dCgpKXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoYz09PWNoYWluW2ldJiYhZSl7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoY2hhaW5bKytpXSE9PXVuZGVmaW5lZCl7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZS5jaGFpbj1jaGFpbltpXTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlLnN0eWxlPXN0eWxlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGUudGFpbD10YWlsO31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIGlmKHRhaWwpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJlYW0uZWF0V2hpbGUodGFpbCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGUudG9rZW5pemU9dG9rZW5QZXJsO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBzdHlsZTt9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGU9IWUmJmM9PVwiXFxcXFwiO31cbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBzdHlsZTt9O1xuICAgICAgICAgICAgICAgIHJldHVybiBzdGF0ZS50b2tlbml6ZShzdHJlYW0sc3RhdGUpO31cblxuICAgICAgICBmdW5jdGlvbiB0b2tlblNPTUVUSElORyhzdHJlYW0sc3RhdGUsc3RyaW5nKXtcbiAgICAgICAgICAgICAgICBzdGF0ZS50b2tlbml6ZT1mdW5jdGlvbihzdHJlYW0sc3RhdGUpe1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYoc3RyZWFtLnN0cmluZz09c3RyaW5nKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZS50b2tlbml6ZT10b2tlblBlcmw7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdHJlYW0uc2tpcFRvRW5kKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gXCJzdHJpbmdcIjt9O1xuICAgICAgICAgICAgICAgIHJldHVybiBzdGF0ZS50b2tlbml6ZShzdHJlYW0sc3RhdGUpO31cblxuICAgICAgICBmdW5jdGlvbiB0b2tlblBlcmwoc3RyZWFtLHN0YXRlKXtcbiAgICAgICAgICAgICAgICBpZihzdHJlYW0uZWF0U3BhY2UoKSlcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgICAgIGlmKHN0YXRlLmNoYWluKVxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRva2VuQ2hhaW4oc3RyZWFtLHN0YXRlLHN0YXRlLmNoYWluLHN0YXRlLnN0eWxlLHN0YXRlLnRhaWwpO1xuICAgICAgICAgICAgICAgIGlmKHN0cmVhbS5tYXRjaCgvXlxcLT9bXFxkXFwuXS8sZmFsc2UpKVxuICAgICAgICAgICAgICAgICAgICAgICAgaWYoc3RyZWFtLm1hdGNoKC9eKFxcLT8oXFxkKlxcLlxcZCsoZVsrLV0/XFxkKyk/fFxcZCtcXC5cXGQqKXwweFtcXGRhLWZBLUZdK3wwYlswMV0rfFxcZCsoZVsrLV0/XFxkKyk/KS8pKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ251bWJlcic7XG4gICAgICAgICAgICAgICAgaWYoc3RyZWFtLm1hdGNoKC9ePDwoPz1cXHcpLykpeyAgICAgICAgICAgICAgICAgIC8vIE5PVEU6IDw8U09NRVRISU5HXFxuLi4uXFxuU09NRVRISU5HXFxuXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHJlYW0uZWF0V2hpbGUoL1xcdy8pO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRva2VuU09NRVRISU5HKHN0cmVhbSxzdGF0ZSxzdHJlYW0uY3VycmVudCgpLnN1YnN0cigyKSk7fVxuICAgICAgICAgICAgICAgIGlmKHN0cmVhbS5zb2woKSYmc3RyZWFtLm1hdGNoKC9eXFw9aXRlbSg/IVxcdykvKSl7Ly8gTk9URTogXFxuPWl0ZW0uLi5cXG49Y3V0XFxuXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdG9rZW5TT01FVEhJTkcoc3RyZWFtLHN0YXRlLCc9Y3V0Jyk7fVxuICAgICAgICAgICAgICAgIHZhciBjaD1zdHJlYW0ubmV4dCgpO1xuICAgICAgICAgICAgICAgIGlmKGNoPT0nXCInfHxjaD09XCInXCIpeyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIE5PVEU6ICcgb3IgXCIgb3IgPDwnU09NRVRISU5HJ1xcbi4uLlxcblNPTUVUSElOR1xcbiBvciA8PFwiU09NRVRISU5HXCJcXG4uLi5cXG5TT01FVEhJTkdcXG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmKHByZWZpeChzdHJlYW0sIDMpPT1cIjw8XCIrY2gpe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgcD1zdHJlYW0ucG9zO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJlYW0uZWF0V2hpbGUoL1xcdy8pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgbj1zdHJlYW0uY3VycmVudCgpLnN1YnN0cigxKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYobiYmc3RyZWFtLmVhdChjaCkpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRva2VuU09NRVRISU5HKHN0cmVhbSxzdGF0ZSxuKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyZWFtLnBvcz1wO31cbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0b2tlbkNoYWluKHN0cmVhbSxzdGF0ZSxbY2hdLFwic3RyaW5nXCIpO31cbiAgICAgICAgICAgICAgICBpZihjaD09XCJxXCIpe1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGM9bG9vayhzdHJlYW0sIC0yKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmKCEoYyYmL1xcdy8udGVzdChjKSkpe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjPWxvb2soc3RyZWFtLCAwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoYz09XCJ4XCIpe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGM9bG9vayhzdHJlYW0sIDEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKGM9PVwiKFwiKXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVhdFN1ZmZpeChzdHJlYW0sIDIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRva2VuQ2hhaW4oc3RyZWFtLHN0YXRlLFtcIilcIl0sUlhzdHlsZSxSWG1vZGlmaWVycyk7fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKGM9PVwiW1wiKXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVhdFN1ZmZpeChzdHJlYW0sIDIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRva2VuQ2hhaW4oc3RyZWFtLHN0YXRlLFtcIl1cIl0sUlhzdHlsZSxSWG1vZGlmaWVycyk7fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKGM9PVwie1wiKXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVhdFN1ZmZpeChzdHJlYW0sIDIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRva2VuQ2hhaW4oc3RyZWFtLHN0YXRlLFtcIn1cIl0sUlhzdHlsZSxSWG1vZGlmaWVycyk7fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKGM9PVwiPFwiKXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVhdFN1ZmZpeChzdHJlYW0sIDIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRva2VuQ2hhaW4oc3RyZWFtLHN0YXRlLFtcIj5cIl0sUlhzdHlsZSxSWG1vZGlmaWVycyk7fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKC9bXFxeJ1wiIX5cXC9dLy50ZXN0KGMpKXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVhdFN1ZmZpeChzdHJlYW0sIDEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRva2VuQ2hhaW4oc3RyZWFtLHN0YXRlLFtzdHJlYW0uZWF0KGMpXSxSWHN0eWxlLFJYbW9kaWZpZXJzKTt9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIGlmKGM9PVwicVwiKXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjPWxvb2soc3RyZWFtLCAxKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZihjPT1cIihcIil7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlYXRTdWZmaXgoc3RyZWFtLCAyKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0b2tlbkNoYWluKHN0cmVhbSxzdGF0ZSxbXCIpXCJdLFwic3RyaW5nXCIpO31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZihjPT1cIltcIil7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlYXRTdWZmaXgoc3RyZWFtLCAyKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0b2tlbkNoYWluKHN0cmVhbSxzdGF0ZSxbXCJdXCJdLFwic3RyaW5nXCIpO31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZihjPT1cIntcIil7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlYXRTdWZmaXgoc3RyZWFtLCAyKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0b2tlbkNoYWluKHN0cmVhbSxzdGF0ZSxbXCJ9XCJdLFwic3RyaW5nXCIpO31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZihjPT1cIjxcIil7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlYXRTdWZmaXgoc3RyZWFtLCAyKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0b2tlbkNoYWluKHN0cmVhbSxzdGF0ZSxbXCI+XCJdLFwic3RyaW5nXCIpO31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZigvW1xcXidcIiF+XFwvXS8udGVzdChjKSl7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlYXRTdWZmaXgoc3RyZWFtLCAxKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0b2tlbkNoYWluKHN0cmVhbSxzdGF0ZSxbc3RyZWFtLmVhdChjKV0sXCJzdHJpbmdcIik7fX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZihjPT1cIndcIil7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYz1sb29rKHN0cmVhbSwgMSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoYz09XCIoXCIpe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWF0U3VmZml4KHN0cmVhbSwgMik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdG9rZW5DaGFpbihzdHJlYW0sc3RhdGUsW1wiKVwiXSxcImJyYWNrZXRcIik7fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKGM9PVwiW1wiKXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVhdFN1ZmZpeChzdHJlYW0sIDIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRva2VuQ2hhaW4oc3RyZWFtLHN0YXRlLFtcIl1cIl0sXCJicmFja2V0XCIpO31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZihjPT1cIntcIil7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlYXRTdWZmaXgoc3RyZWFtLCAyKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0b2tlbkNoYWluKHN0cmVhbSxzdGF0ZSxbXCJ9XCJdLFwiYnJhY2tldFwiKTt9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoYz09XCI8XCIpe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWF0U3VmZml4KHN0cmVhbSwgMik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdG9rZW5DaGFpbihzdHJlYW0sc3RhdGUsW1wiPlwiXSxcImJyYWNrZXRcIik7fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKC9bXFxeJ1wiIX5cXC9dLy50ZXN0KGMpKXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVhdFN1ZmZpeChzdHJlYW0sIDEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRva2VuQ2hhaW4oc3RyZWFtLHN0YXRlLFtzdHJlYW0uZWF0KGMpXSxcImJyYWNrZXRcIik7fX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZihjPT1cInJcIil7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYz1sb29rKHN0cmVhbSwgMSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoYz09XCIoXCIpe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWF0U3VmZml4KHN0cmVhbSwgMik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdG9rZW5DaGFpbihzdHJlYW0sc3RhdGUsW1wiKVwiXSxSWHN0eWxlLFJYbW9kaWZpZXJzKTt9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoYz09XCJbXCIpe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWF0U3VmZml4KHN0cmVhbSwgMik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdG9rZW5DaGFpbihzdHJlYW0sc3RhdGUsW1wiXVwiXSxSWHN0eWxlLFJYbW9kaWZpZXJzKTt9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoYz09XCJ7XCIpe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWF0U3VmZml4KHN0cmVhbSwgMik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdG9rZW5DaGFpbihzdHJlYW0sc3RhdGUsW1wifVwiXSxSWHN0eWxlLFJYbW9kaWZpZXJzKTt9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoYz09XCI8XCIpe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWF0U3VmZml4KHN0cmVhbSwgMik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdG9rZW5DaGFpbihzdHJlYW0sc3RhdGUsW1wiPlwiXSxSWHN0eWxlLFJYbW9kaWZpZXJzKTt9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoL1tcXF4nXCIhflxcL10vLnRlc3QoYykpe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWF0U3VmZml4KHN0cmVhbSwgMSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdG9rZW5DaGFpbihzdHJlYW0sc3RhdGUsW3N0cmVhbS5lYXQoYyldLFJYc3R5bGUsUlhtb2RpZmllcnMpO319XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYoL1tcXF4nXCIhflxcLyhcXFt7PF0vLnRlc3QoYykpe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKGM9PVwiKFwiKXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVhdFN1ZmZpeChzdHJlYW0sIDEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRva2VuQ2hhaW4oc3RyZWFtLHN0YXRlLFtcIilcIl0sXCJzdHJpbmdcIik7fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKGM9PVwiW1wiKXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVhdFN1ZmZpeChzdHJlYW0sIDEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRva2VuQ2hhaW4oc3RyZWFtLHN0YXRlLFtcIl1cIl0sXCJzdHJpbmdcIik7fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKGM9PVwie1wiKXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVhdFN1ZmZpeChzdHJlYW0sIDEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRva2VuQ2hhaW4oc3RyZWFtLHN0YXRlLFtcIn1cIl0sXCJzdHJpbmdcIik7fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKGM9PVwiPFwiKXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVhdFN1ZmZpeChzdHJlYW0sIDEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRva2VuQ2hhaW4oc3RyZWFtLHN0YXRlLFtcIj5cIl0sXCJzdHJpbmdcIik7fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKC9bXFxeJ1wiIX5cXC9dLy50ZXN0KGMpKXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0b2tlbkNoYWluKHN0cmVhbSxzdGF0ZSxbc3RyZWFtLmVhdChjKV0sXCJzdHJpbmdcIik7fX19fVxuICAgICAgICAgICAgICAgIGlmKGNoPT1cIm1cIil7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgYz1sb29rKHN0cmVhbSwgLTIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYoIShjJiYvXFx3Ly50ZXN0KGMpKSl7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGM9c3RyZWFtLmVhdCgvWyhcXFt7PFxcXidcIiF+XFwvXS8pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZihjKXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZigvW1xcXidcIiF+XFwvXS8udGVzdChjKSl7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdG9rZW5DaGFpbihzdHJlYW0sc3RhdGUsW2NdLFJYc3R5bGUsUlhtb2RpZmllcnMpO31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZihjPT1cIihcIil7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdG9rZW5DaGFpbihzdHJlYW0sc3RhdGUsW1wiKVwiXSxSWHN0eWxlLFJYbW9kaWZpZXJzKTt9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoYz09XCJbXCIpe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRva2VuQ2hhaW4oc3RyZWFtLHN0YXRlLFtcIl1cIl0sUlhzdHlsZSxSWG1vZGlmaWVycyk7fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKGM9PVwie1wiKXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0b2tlbkNoYWluKHN0cmVhbSxzdGF0ZSxbXCJ9XCJdLFJYc3R5bGUsUlhtb2RpZmllcnMpO31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZihjPT1cIjxcIil7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdG9rZW5DaGFpbihzdHJlYW0sc3RhdGUsW1wiPlwiXSxSWHN0eWxlLFJYbW9kaWZpZXJzKTt9fX19XG4gICAgICAgICAgICAgICAgaWYoY2g9PVwic1wiKXtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBjPS9bXFwvPlxcXX0pXFx3XS8udGVzdChsb29rKHN0cmVhbSwgLTIpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmKCFjKXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYz1zdHJlYW0uZWF0KC9bKFxcW3s8XFxeJ1wiIX5cXC9dLyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKGMpe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKGM9PVwiW1wiKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRva2VuQ2hhaW4oc3RyZWFtLHN0YXRlLFtcIl1cIixcIl1cIl0sUlhzdHlsZSxSWG1vZGlmaWVycyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoYz09XCJ7XCIpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdG9rZW5DaGFpbihzdHJlYW0sc3RhdGUsW1wifVwiLFwifVwiXSxSWHN0eWxlLFJYbW9kaWZpZXJzKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZihjPT1cIjxcIilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0b2tlbkNoYWluKHN0cmVhbSxzdGF0ZSxbXCI+XCIsXCI+XCJdLFJYc3R5bGUsUlhtb2RpZmllcnMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKGM9PVwiKFwiKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRva2VuQ2hhaW4oc3RyZWFtLHN0YXRlLFtcIilcIixcIilcIl0sUlhzdHlsZSxSWG1vZGlmaWVycyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRva2VuQ2hhaW4oc3RyZWFtLHN0YXRlLFtjLGNdLFJYc3R5bGUsUlhtb2RpZmllcnMpO319fVxuICAgICAgICAgICAgICAgIGlmKGNoPT1cInlcIil7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgYz0vW1xcLz5cXF19KVxcd10vLnRlc3QobG9vayhzdHJlYW0sIC0yKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZighYyl7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGM9c3RyZWFtLmVhdCgvWyhcXFt7PFxcXidcIiF+XFwvXS8pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZihjKXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZihjPT1cIltcIilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0b2tlbkNoYWluKHN0cmVhbSxzdGF0ZSxbXCJdXCIsXCJdXCJdLFJYc3R5bGUsUlhtb2RpZmllcnMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKGM9PVwie1wiKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRva2VuQ2hhaW4oc3RyZWFtLHN0YXRlLFtcIn1cIixcIn1cIl0sUlhzdHlsZSxSWG1vZGlmaWVycyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoYz09XCI8XCIpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdG9rZW5DaGFpbihzdHJlYW0sc3RhdGUsW1wiPlwiLFwiPlwiXSxSWHN0eWxlLFJYbW9kaWZpZXJzKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZihjPT1cIihcIilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0b2tlbkNoYWluKHN0cmVhbSxzdGF0ZSxbXCIpXCIsXCIpXCJdLFJYc3R5bGUsUlhtb2RpZmllcnMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0b2tlbkNoYWluKHN0cmVhbSxzdGF0ZSxbYyxjXSxSWHN0eWxlLFJYbW9kaWZpZXJzKTt9fX1cbiAgICAgICAgICAgICAgICBpZihjaD09XCJ0XCIpe1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGM9L1tcXC8+XFxdfSlcXHddLy50ZXN0KGxvb2soc3RyZWFtLCAtMikpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYoIWMpe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjPXN0cmVhbS5lYXQoXCJyXCIpO2lmKGMpe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjPXN0cmVhbS5lYXQoL1soXFxbezxcXF4nXCIhflxcL10vKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoYyl7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoYz09XCJbXCIpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdG9rZW5DaGFpbihzdHJlYW0sc3RhdGUsW1wiXVwiLFwiXVwiXSxSWHN0eWxlLFJYbW9kaWZpZXJzKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZihjPT1cIntcIilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0b2tlbkNoYWluKHN0cmVhbSxzdGF0ZSxbXCJ9XCIsXCJ9XCJdLFJYc3R5bGUsUlhtb2RpZmllcnMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKGM9PVwiPFwiKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRva2VuQ2hhaW4oc3RyZWFtLHN0YXRlLFtcIj5cIixcIj5cIl0sUlhzdHlsZSxSWG1vZGlmaWVycyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoYz09XCIoXCIpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdG9rZW5DaGFpbihzdHJlYW0sc3RhdGUsW1wiKVwiLFwiKVwiXSxSWHN0eWxlLFJYbW9kaWZpZXJzKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdG9rZW5DaGFpbihzdHJlYW0sc3RhdGUsW2MsY10sUlhzdHlsZSxSWG1vZGlmaWVycyk7fX19fVxuICAgICAgICAgICAgICAgIGlmKGNoPT1cImBcIil7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdG9rZW5DaGFpbihzdHJlYW0sc3RhdGUsW2NoXSxcInZhcmlhYmxlLTJcIik7fVxuICAgICAgICAgICAgICAgIGlmKGNoPT1cIi9cIil7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZighL35cXHMqJC8udGVzdChwcmVmaXgoc3RyZWFtKSkpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBcIm9wZXJhdG9yXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0b2tlbkNoYWluKHN0cmVhbSxzdGF0ZSxbY2hdLFJYc3R5bGUsUlhtb2RpZmllcnMpO31cbiAgICAgICAgICAgICAgICBpZihjaD09XCIkXCIpe1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHA9c3RyZWFtLnBvcztcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmKHN0cmVhbS5lYXRXaGlsZSgvXFxkLyl8fHN0cmVhbS5lYXQoXCJ7XCIpJiZzdHJlYW0uZWF0V2hpbGUoL1xcZC8pJiZzdHJlYW0uZWF0KFwifVwiKSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFwidmFyaWFibGUtMlwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJlYW0ucG9zPXA7fVxuICAgICAgICAgICAgICAgIGlmKC9bJEAlXS8udGVzdChjaCkpe1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHA9c3RyZWFtLnBvcztcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmKHN0cmVhbS5lYXQoXCJeXCIpJiZzdHJlYW0uZWF0KC9bQS1aXS8pfHwhL1tAJCUmXS8udGVzdChsb29rKHN0cmVhbSwgLTIpKSYmc3RyZWFtLmVhdCgvWz18XFxcXFxcLSM/QDs6JmB+XFxeIVxcW1xcXSonXCIkKy4sXFwvPD4oKV0vKSl7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBjPXN0cmVhbS5jdXJyZW50KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKFBFUkxbY10pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFwidmFyaWFibGUtMlwiO31cbiAgICAgICAgICAgICAgICAgICAgICAgIHN0cmVhbS5wb3M9cDt9XG4gICAgICAgICAgICAgICAgaWYoL1skQCUmXS8udGVzdChjaCkpe1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYoc3RyZWFtLmVhdFdoaWxlKC9bXFx3JFxcW1xcXV0vKXx8c3RyZWFtLmVhdChcIntcIikmJnN0cmVhbS5lYXRXaGlsZSgvW1xcdyRcXFtcXF1dLykmJnN0cmVhbS5lYXQoXCJ9XCIpKXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGM9c3RyZWFtLmN1cnJlbnQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoUEVSTFtjXSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gXCJ2YXJpYWJsZS0yXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gXCJ2YXJpYWJsZVwiO319XG4gICAgICAgICAgICAgICAgaWYoY2g9PVwiI1wiKXtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmKGxvb2soc3RyZWFtLCAtMikhPVwiJFwiKXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyZWFtLnNraXBUb0VuZCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gXCJjb21tZW50XCI7fX1cbiAgICAgICAgICAgICAgICBpZigvWzorXFwtXFxeKiQmJUA9PD4hP3xcXC9+XFwuXS8udGVzdChjaCkpe1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHA9c3RyZWFtLnBvcztcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0cmVhbS5lYXRXaGlsZSgvWzorXFwtXFxeKiQmJUA9PD4hP3xcXC9+XFwuXS8pO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYoUEVSTFtzdHJlYW0uY3VycmVudCgpXSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFwib3BlcmF0b3JcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyZWFtLnBvcz1wO31cbiAgICAgICAgICAgICAgICBpZihjaD09XCJfXCIpe1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYoc3RyZWFtLnBvcz09MSl7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKHN1ZmZpeChzdHJlYW0sIDYpPT1cIl9FTkRfX1wiKXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdG9rZW5DaGFpbihzdHJlYW0sc3RhdGUsWydcXDAnXSxcImNvbW1lbnRcIik7fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIGlmKHN1ZmZpeChzdHJlYW0sIDcpPT1cIl9EQVRBX19cIil7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRva2VuQ2hhaW4oc3RyZWFtLHN0YXRlLFsnXFwwJ10sXCJ2YXJpYWJsZS0yXCIpO31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZihzdWZmaXgoc3RyZWFtLCA3KT09XCJfQ19fXCIpe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0b2tlbkNoYWluKHN0cmVhbSxzdGF0ZSxbJ1xcMCddLFwic3RyaW5nXCIpO319fVxuICAgICAgICAgICAgICAgIGlmKC9cXHcvLnRlc3QoY2gpKXtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBwPXN0cmVhbS5wb3M7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZihsb29rKHN0cmVhbSwgLTIpPT1cIntcIiYmKGxvb2soc3RyZWFtLCAwKT09XCJ9XCJ8fHN0cmVhbS5lYXRXaGlsZSgvXFx3LykmJmxvb2soc3RyZWFtLCAwKT09XCJ9XCIpKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gXCJzdHJpbmdcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyZWFtLnBvcz1wO31cbiAgICAgICAgICAgICAgICBpZigvW0EtWl0vLnRlc3QoY2gpKXtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBsPWxvb2soc3RyZWFtLCAtMik7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgcD1zdHJlYW0ucG9zO1xuICAgICAgICAgICAgICAgICAgICAgICAgc3RyZWFtLmVhdFdoaWxlKC9bQS1aX10vKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmKC9bXFxkYS16XS8udGVzdChsb29rKHN0cmVhbSwgMCkpKXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyZWFtLnBvcz1wO31cbiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2V7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBjPVBFUkxbc3RyZWFtLmN1cnJlbnQoKV07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKCFjKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBcIm1ldGFcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoY1sxXSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjPWNbMF07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKGwhPVwiOlwiKXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZihjPT0xKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFwia2V5d29yZFwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYoYz09MilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBcImRlZlwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYoYz09MylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBcImF0b21cIjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIGlmKGM9PTQpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gXCJvcGVyYXRvclwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYoYz09NSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBcInZhcmlhYmxlLTJcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gXCJtZXRhXCI7fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFwibWV0YVwiO319XG4gICAgICAgICAgICAgICAgaWYoL1thLXpBLVpfXS8udGVzdChjaCkpe1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGw9bG9vayhzdHJlYW0sIC0yKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0cmVhbS5lYXRXaGlsZSgvXFx3Lyk7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgYz1QRVJMW3N0cmVhbS5jdXJyZW50KCldO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYoIWMpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBcIm1ldGFcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmKGNbMV0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGM9Y1swXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmKGwhPVwiOlwiKXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoYz09MSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gXCJrZXl3b3JkXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYoYz09MilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gXCJkZWZcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZihjPT0zKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBcImF0b21cIjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZihjPT00KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBcIm9wZXJhdG9yXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYoYz09NSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gXCJ2YXJpYWJsZS0yXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gXCJtZXRhXCI7fVxuICAgICAgICAgICAgICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gXCJtZXRhXCI7fVxuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO31cblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgc3RhcnRTdGF0ZTogZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgdG9rZW5pemU6IHRva2VuUGVybCxcbiAgICAgICAgICAgICAgICAgICAgY2hhaW46IG51bGwsXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICB0YWlsOiBudWxsXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB0b2tlbjogZnVuY3Rpb24oc3RyZWFtLCBzdGF0ZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiAoc3RhdGUudG9rZW5pemUgfHwgdG9rZW5QZXJsKShzdHJlYW0sIHN0YXRlKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBsaW5lQ29tbWVudDogJyMnXG4gICAgICAgIH07XG59KTtcblxuQ29kZU1pcnJvci5yZWdpc3RlckhlbHBlcihcIndvcmRDaGFyc1wiLCBcInBlcmxcIiwgL1tcXHckXS8pO1xuXG5Db2RlTWlycm9yLmRlZmluZU1JTUUoXCJ0ZXh0L3gtcGVybFwiLCBcInBlcmxcIik7XG5cbi8vIGl0J3MgbGlrZSBcInBlZWtcIiwgYnV0IG5lZWQgZm9yIGxvb2stYWhlYWQgb3IgbG9vay1iZWhpbmQgaWYgaW5kZXggPCAwXG5mdW5jdGlvbiBsb29rKHN0cmVhbSwgYyl7XG4gIHJldHVybiBzdHJlYW0uc3RyaW5nLmNoYXJBdChzdHJlYW0ucG9zKyhjfHwwKSk7XG59XG5cbi8vIHJldHVybiBhIHBhcnQgb2YgcHJlZml4IG9mIGN1cnJlbnQgc3RyZWFtIGZyb20gY3VycmVudCBwb3NpdGlvblxuZnVuY3Rpb24gcHJlZml4KHN0cmVhbSwgYyl7XG4gIGlmKGMpe1xuICAgIHZhciB4PXN0cmVhbS5wb3MtYztcbiAgICByZXR1cm4gc3RyZWFtLnN0cmluZy5zdWJzdHIoKHg+PTA/eDowKSxjKTt9XG4gIGVsc2V7XG4gICAgcmV0dXJuIHN0cmVhbS5zdHJpbmcuc3Vic3RyKDAsc3RyZWFtLnBvcy0xKTtcbiAgfVxufVxuXG4vLyByZXR1cm4gYSBwYXJ0IG9mIHN1ZmZpeCBvZiBjdXJyZW50IHN0cmVhbSBmcm9tIGN1cnJlbnQgcG9zaXRpb25cbmZ1bmN0aW9uIHN1ZmZpeChzdHJlYW0sIGMpe1xuICB2YXIgeT1zdHJlYW0uc3RyaW5nLmxlbmd0aDtcbiAgdmFyIHg9eS1zdHJlYW0ucG9zKzE7XG4gIHJldHVybiBzdHJlYW0uc3RyaW5nLnN1YnN0cihzdHJlYW0ucG9zLChjJiZjPHk/Yzp4KSk7XG59XG5cbi8vIGVhdGluZyBhbmQgdm9taXRpbmcgYSBwYXJ0IG9mIHN0cmVhbSBmcm9tIGN1cnJlbnQgcG9zaXRpb25cbmZ1bmN0aW9uIGVhdFN1ZmZpeChzdHJlYW0sIGMpe1xuICB2YXIgeD1zdHJlYW0ucG9zK2M7XG4gIHZhciB5O1xuICBpZih4PD0wKVxuICAgIHN0cmVhbS5wb3M9MDtcbiAgZWxzZSBpZih4Pj0oeT1zdHJlYW0uc3RyaW5nLmxlbmd0aC0xKSlcbiAgICBzdHJlYW0ucG9zPXk7XG4gIGVsc2VcbiAgICBzdHJlYW0ucG9zPXg7XG59XG5cbn0pO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/codemirror/mode/perl/perl.js\n"); /***/ }), /***/ "./node_modules/codemirror/mode/php/php.js": /*!*************************************************!*\ !*** ./node_modules/codemirror/mode/php/php.js ***! \*************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ \"./node_modules/codemirror/lib/codemirror.js\"), __webpack_require__(/*! ../htmlmixed/htmlmixed */ \"./node_modules/codemirror/mode/htmlmixed/htmlmixed.js\"), __webpack_require__(/*! ../clike/clike */ \"./node_modules/codemirror/mode/clike/clike.js\"));\n else {}\n})(function(CodeMirror) {\n \"use strict\";\n\n function keywords(str) {\n var obj = {}, words = str.split(\" \");\n for (var i = 0; i < words.length; ++i) obj[words[i]] = true;\n return obj;\n }\n\n // Helper for phpString\n function matchSequence(list, end, escapes) {\n if (list.length == 0) return phpString(end);\n return function (stream, state) {\n var patterns = list[0];\n for (var i = 0; i < patterns.length; i++) if (stream.match(patterns[i][0])) {\n state.tokenize = matchSequence(list.slice(1), end);\n return patterns[i][1];\n }\n state.tokenize = phpString(end, escapes);\n return \"string\";\n };\n }\n function phpString(closing, escapes) {\n return function(stream, state) { return phpString_(stream, state, closing, escapes); };\n }\n function phpString_(stream, state, closing, escapes) {\n // \"Complex\" syntax\n if (escapes !== false && stream.match(\"${\", false) || stream.match(\"{$\", false)) {\n state.tokenize = null;\n return \"string\";\n }\n\n // Simple syntax\n if (escapes !== false && stream.match(/^\\$[a-zA-Z_][a-zA-Z0-9_]*/)) {\n // After the variable name there may appear array or object operator.\n if (stream.match(\"[\", false)) {\n // Match array operator\n state.tokenize = matchSequence([\n [[\"[\", null]],\n [[/\\d[\\w\\.]*/, \"number\"],\n [/\\$[a-zA-Z_][a-zA-Z0-9_]*/, \"variable-2\"],\n [/[\\w\\$]+/, \"variable\"]],\n [[\"]\", null]]\n ], closing, escapes);\n }\n if (stream.match(/\\-\\>\\w/, false)) {\n // Match object operator\n state.tokenize = matchSequence([\n [[\"->\", null]],\n [[/[\\w]+/, \"variable\"]]\n ], closing, escapes);\n }\n return \"variable-2\";\n }\n\n var escaped = false;\n // Normal string\n while (!stream.eol() &&\n (escaped || escapes === false ||\n (!stream.match(\"{$\", false) &&\n !stream.match(/^(\\$[a-zA-Z_][a-zA-Z0-9_]*|\\$\\{)/, false)))) {\n if (!escaped && stream.match(closing)) {\n state.tokenize = null;\n state.tokStack.pop(); state.tokStack.pop();\n break;\n }\n escaped = stream.next() == \"\\\\\" && !escaped;\n }\n return \"string\";\n }\n\n var phpKeywords = \"abstract and array as break case catch class clone const continue declare default \" +\n \"do else elseif enddeclare endfor endforeach endif endswitch endwhile extends final \" +\n \"for foreach function global goto if implements interface instanceof namespace \" +\n \"new or private protected public static switch throw trait try use var while xor \" +\n \"die echo empty exit eval include include_once isset list require require_once return \" +\n \"print unset __halt_compiler self static parent yield insteadof finally\";\n var phpAtoms = \"true false null TRUE FALSE NULL __CLASS__ __DIR__ __FILE__ __LINE__ __METHOD__ __FUNCTION__ __NAMESPACE__ __TRAIT__\";\n var phpBuiltin = \"func_num_args func_get_arg func_get_args strlen strcmp strncmp strcasecmp strncasecmp each error_reporting define defined trigger_error user_error set_error_handler restore_error_handler get_declared_classes get_loaded_extensions extension_loaded get_extension_funcs debug_backtrace constant bin2hex hex2bin sleep usleep time mktime gmmktime strftime gmstrftime strtotime date gmdate getdate localtime checkdate flush wordwrap htmlspecialchars htmlentities html_entity_decode md5 md5_file crc32 getimagesize image_type_to_mime_type phpinfo phpversion phpcredits strnatcmp strnatcasecmp substr_count strspn strcspn strtok strtoupper strtolower strpos strrpos strrev hebrev hebrevc nl2br basename dirname pathinfo stripslashes stripcslashes strstr stristr strrchr str_shuffle str_word_count strcoll substr substr_replace quotemeta ucfirst ucwords strtr addslashes addcslashes rtrim str_replace str_repeat count_chars chunk_split trim ltrim strip_tags similar_text explode implode setlocale localeconv parse_str str_pad chop strchr sprintf printf vprintf vsprintf sscanf fscanf parse_url urlencode urldecode rawurlencode rawurldecode readlink linkinfo link unlink exec system escapeshellcmd escapeshellarg passthru shell_exec proc_open proc_close rand srand getrandmax mt_rand mt_srand mt_getrandmax base64_decode base64_encode abs ceil floor round is_finite is_nan is_infinite bindec hexdec octdec decbin decoct dechex base_convert number_format fmod ip2long long2ip getenv putenv getopt microtime gettimeofday getrusage uniqid quoted_printable_decode set_time_limit get_cfg_var magic_quotes_runtime set_magic_quotes_runtime get_magic_quotes_gpc get_magic_quotes_runtime import_request_variables error_log serialize unserialize memory_get_usage var_dump var_export debug_zval_dump print_r highlight_file show_source highlight_string ini_get ini_get_all ini_set ini_alter ini_restore get_include_path set_include_path restore_include_path setcookie header headers_sent connection_aborted connection_status ignore_user_abort parse_ini_file is_uploaded_file move_uploaded_file intval floatval doubleval strval gettype settype is_null is_resource is_bool is_long is_float is_int is_integer is_double is_real is_numeric is_string is_array is_object is_scalar ereg ereg_replace eregi eregi_replace split spliti join sql_regcase dl pclose popen readfile rewind rmdir umask fclose feof fgetc fgets fgetss fread fopen fpassthru ftruncate fstat fseek ftell fflush fwrite fputs mkdir rename copy tempnam tmpfile file file_get_contents file_put_contents stream_select stream_context_create stream_context_set_params stream_context_set_option stream_context_get_options stream_filter_prepend stream_filter_append fgetcsv flock get_meta_tags stream_set_write_buffer set_file_buffer set_socket_blocking stream_set_blocking socket_set_blocking stream_get_meta_data stream_register_wrapper stream_wrapper_register stream_set_timeout socket_set_timeout socket_get_status realpath fnmatch fsockopen pfsockopen pack unpack get_browser crypt opendir closedir chdir getcwd rewinddir readdir dir glob fileatime filectime filegroup fileinode filemtime fileowner fileperms filesize filetype file_exists is_writable is_writeable is_readable is_executable is_file is_dir is_link stat lstat chown touch clearstatcache mail ob_start ob_flush ob_clean ob_end_flush ob_end_clean ob_get_flush ob_get_clean ob_get_length ob_get_level ob_get_status ob_get_contents ob_implicit_flush ob_list_handlers ksort krsort natsort natcasesort asort arsort sort rsort usort uasort uksort shuffle array_walk count end prev next reset current key min max in_array array_search extract compact array_fill range array_multisort array_push array_pop array_shift array_unshift array_splice array_slice array_merge array_merge_recursive array_keys array_values array_count_values array_reverse array_reduce array_pad array_flip array_change_key_case array_rand array_unique array_intersect array_intersect_assoc array_diff array_diff_assoc array_sum array_filter array_map array_chunk array_key_exists array_intersect_key array_combine array_column pos sizeof key_exists assert assert_options version_compare ftok str_rot13 aggregate session_name session_module_name session_save_path session_id session_regenerate_id session_decode session_register session_unregister session_is_registered session_encode session_start session_destroy session_unset session_set_save_handler session_cache_limiter session_cache_expire session_set_cookie_params session_get_cookie_params session_write_close preg_match preg_match_all preg_replace preg_replace_callback preg_split preg_quote preg_grep overload ctype_alnum ctype_alpha ctype_cntrl ctype_digit ctype_lower ctype_graph ctype_print ctype_punct ctype_space ctype_upper ctype_xdigit virtual apache_request_headers apache_note apache_lookup_uri apache_child_terminate apache_setenv apache_response_headers apache_get_version getallheaders mysql_connect mysql_pconnect mysql_close mysql_select_db mysql_create_db mysql_drop_db mysql_query mysql_unbuffered_query mysql_db_query mysql_list_dbs mysql_list_tables mysql_list_fields mysql_list_processes mysql_error mysql_errno mysql_affected_rows mysql_insert_id mysql_result mysql_num_rows mysql_num_fields mysql_fetch_row mysql_fetch_array mysql_fetch_assoc mysql_fetch_object mysql_data_seek mysql_fetch_lengths mysql_fetch_field mysql_field_seek mysql_free_result mysql_field_name mysql_field_table mysql_field_len mysql_field_type mysql_field_flags mysql_escape_string mysql_real_escape_string mysql_stat mysql_thread_id mysql_client_encoding mysql_get_client_info mysql_get_host_info mysql_get_proto_info mysql_get_server_info mysql_info mysql mysql_fieldname mysql_fieldtable mysql_fieldlen mysql_fieldtype mysql_fieldflags mysql_selectdb mysql_createdb mysql_dropdb mysql_freeresult mysql_numfields mysql_numrows mysql_listdbs mysql_listtables mysql_listfields mysql_db_name mysql_dbname mysql_tablename mysql_table_name pg_connect pg_pconnect pg_close pg_connection_status pg_connection_busy pg_connection_reset pg_host pg_dbname pg_port pg_tty pg_options pg_ping pg_query pg_send_query pg_cancel_query pg_fetch_result pg_fetch_row pg_fetch_assoc pg_fetch_array pg_fetch_object pg_fetch_all pg_affected_rows pg_get_result pg_result_seek pg_result_status pg_free_result pg_last_oid pg_num_rows pg_num_fields pg_field_name pg_field_num pg_field_size pg_field_type pg_field_prtlen pg_field_is_null pg_get_notify pg_get_pid pg_result_error pg_last_error pg_last_notice pg_put_line pg_end_copy pg_copy_to pg_copy_from pg_trace pg_untrace pg_lo_create pg_lo_unlink pg_lo_open pg_lo_close pg_lo_read pg_lo_write pg_lo_read_all pg_lo_import pg_lo_export pg_lo_seek pg_lo_tell pg_escape_string pg_escape_bytea pg_unescape_bytea pg_client_encoding pg_set_client_encoding pg_meta_data pg_convert pg_insert pg_update pg_delete pg_select pg_exec pg_getlastoid pg_cmdtuples pg_errormessage pg_numrows pg_numfields pg_fieldname pg_fieldsize pg_fieldtype pg_fieldnum pg_fieldprtlen pg_fieldisnull pg_freeresult pg_result pg_loreadall pg_locreate pg_lounlink pg_loopen pg_loclose pg_loread pg_lowrite pg_loimport pg_loexport http_response_code get_declared_traits getimagesizefromstring socket_import_stream stream_set_chunk_size trait_exists header_register_callback class_uses session_status session_register_shutdown echo print global static exit array empty eval isset unset die include require include_once require_once json_decode json_encode json_last_error json_last_error_msg curl_close curl_copy_handle curl_errno curl_error curl_escape curl_exec curl_file_create curl_getinfo curl_init curl_multi_add_handle curl_multi_close curl_multi_exec curl_multi_getcontent curl_multi_info_read curl_multi_init curl_multi_remove_handle curl_multi_select curl_multi_setopt curl_multi_strerror curl_pause curl_reset curl_setopt_array curl_setopt curl_share_close curl_share_init curl_share_setopt curl_strerror curl_unescape curl_version mysqli_affected_rows mysqli_autocommit mysqli_change_user mysqli_character_set_name mysqli_close mysqli_commit mysqli_connect_errno mysqli_connect_error mysqli_connect mysqli_data_seek mysqli_debug mysqli_dump_debug_info mysqli_errno mysqli_error_list mysqli_error mysqli_fetch_all mysqli_fetch_array mysqli_fetch_assoc mysqli_fetch_field_direct mysqli_fetch_field mysqli_fetch_fields mysqli_fetch_lengths mysqli_fetch_object mysqli_fetch_row mysqli_field_count mysqli_field_seek mysqli_field_tell mysqli_free_result mysqli_get_charset mysqli_get_client_info mysqli_get_client_stats mysqli_get_client_version mysqli_get_connection_stats mysqli_get_host_info mysqli_get_proto_info mysqli_get_server_info mysqli_get_server_version mysqli_info mysqli_init mysqli_insert_id mysqli_kill mysqli_more_results mysqli_multi_query mysqli_next_result mysqli_num_fields mysqli_num_rows mysqli_options mysqli_ping mysqli_prepare mysqli_query mysqli_real_connect mysqli_real_escape_string mysqli_real_query mysqli_reap_async_query mysqli_refresh mysqli_rollback mysqli_select_db mysqli_set_charset mysqli_set_local_infile_default mysqli_set_local_infile_handler mysqli_sqlstate mysqli_ssl_set mysqli_stat mysqli_stmt_init mysqli_store_result mysqli_thread_id mysqli_thread_safe mysqli_use_result mysqli_warning_count\";\n CodeMirror.registerHelper(\"hintWords\", \"php\", [phpKeywords, phpAtoms, phpBuiltin].join(\" \").split(\" \"));\n CodeMirror.registerHelper(\"wordChars\", \"php\", /[\\w$]/);\n\n var phpConfig = {\n name: \"clike\",\n helperType: \"php\",\n keywords: keywords(phpKeywords),\n blockKeywords: keywords(\"catch do else elseif for foreach if switch try while finally\"),\n defKeywords: keywords(\"class function interface namespace trait\"),\n atoms: keywords(phpAtoms),\n builtin: keywords(phpBuiltin),\n multiLineStrings: true,\n hooks: {\n \"$\": function(stream) {\n stream.eatWhile(/[\\w\\$_]/);\n return \"variable-2\";\n },\n \"<\": function(stream, state) {\n var before;\n if (before = stream.match(/<<\\s*/)) {\n var quoted = stream.eat(/['\"]/);\n stream.eatWhile(/[\\w\\.]/);\n var delim = stream.current().slice(before[0].length + (quoted ? 2 : 1));\n if (quoted) stream.eat(quoted);\n if (delim) {\n (state.tokStack || (state.tokStack = [])).push(delim, 0);\n state.tokenize = phpString(delim, quoted != \"'\");\n return \"string\";\n }\n }\n return false;\n },\n \"#\": function(stream) {\n while (!stream.eol() && !stream.match(\"?>\", false)) stream.next();\n return \"comment\";\n },\n \"/\": function(stream) {\n if (stream.eat(\"/\")) {\n while (!stream.eol() && !stream.match(\"?>\", false)) stream.next();\n return \"comment\";\n }\n return false;\n },\n '\"': function(_stream, state) {\n (state.tokStack || (state.tokStack = [])).push('\"', 0);\n state.tokenize = phpString('\"');\n return \"string\";\n },\n \"{\": function(_stream, state) {\n if (state.tokStack && state.tokStack.length)\n state.tokStack[state.tokStack.length - 1]++;\n return false;\n },\n \"}\": function(_stream, state) {\n if (state.tokStack && state.tokStack.length > 0 &&\n !--state.tokStack[state.tokStack.length - 1]) {\n state.tokenize = phpString(state.tokStack[state.tokStack.length - 2]);\n }\n return false;\n }\n }\n };\n\n CodeMirror.defineMode(\"php\", function(config, parserConfig) {\n var htmlMode = CodeMirror.getMode(config, (parserConfig && parserConfig.htmlMode) || \"text/html\");\n var phpMode = CodeMirror.getMode(config, phpConfig);\n\n function dispatch(stream, state) {\n var isPHP = state.curMode == phpMode;\n if (stream.sol() && state.pending && state.pending != '\"' && state.pending != \"'\") state.pending = null;\n if (!isPHP) {\n if (stream.match(/^<\\?\\w*/)) {\n state.curMode = phpMode;\n if (!state.php) state.php = CodeMirror.startState(phpMode, htmlMode.indent(state.html, \"\", \"\"))\n state.curState = state.php;\n return \"meta\";\n }\n if (state.pending == '\"' || state.pending == \"'\") {\n while (!stream.eol() && stream.next() != state.pending) {}\n var style = \"string\";\n } else if (state.pending && stream.pos < state.pending.end) {\n stream.pos = state.pending.end;\n var style = state.pending.style;\n } else {\n var style = htmlMode.token(stream, state.curState);\n }\n if (state.pending) state.pending = null;\n var cur = stream.current(), openPHP = cur.search(/<\\?/), m;\n if (openPHP != -1) {\n if (style == \"string\" && (m = cur.match(/[\\'\\\"]$/)) && !/\\?>/.test(cur)) state.pending = m[0];\n else state.pending = {end: stream.pos, style: style};\n stream.backUp(cur.length - openPHP);\n }\n return style;\n } else if (isPHP && state.php.tokenize == null && stream.match(\"?>\")) {\n state.curMode = htmlMode;\n state.curState = state.html;\n if (!state.php.context.prev) state.php = null;\n return \"meta\";\n } else {\n return phpMode.token(stream, state.curState);\n }\n }\n\n return {\n startState: function() {\n var html = CodeMirror.startState(htmlMode)\n var php = parserConfig.startOpen ? CodeMirror.startState(phpMode) : null\n return {html: html,\n php: php,\n curMode: parserConfig.startOpen ? phpMode : htmlMode,\n curState: parserConfig.startOpen ? php : html,\n pending: null};\n },\n\n copyState: function(state) {\n var html = state.html, htmlNew = CodeMirror.copyState(htmlMode, html),\n php = state.php, phpNew = php && CodeMirror.copyState(phpMode, php), cur;\n if (state.curMode == htmlMode) cur = htmlNew;\n else cur = phpNew;\n return {html: htmlNew, php: phpNew, curMode: state.curMode, curState: cur,\n pending: state.pending};\n },\n\n token: dispatch,\n\n indent: function(state, textAfter, line) {\n if ((state.curMode != phpMode && /^\\s*<\\//.test(textAfter)) ||\n (state.curMode == phpMode && /^\\?>/.test(textAfter)))\n return htmlMode.indent(state.html, textAfter, line);\n return state.curMode.indent(state.curState, textAfter, line);\n },\n\n blockCommentStart: \"/*\",\n blockCommentEnd: \"*/\",\n lineComment: \"//\",\n\n innerMode: function(state) { return {state: state.curState, mode: state.curMode}; }\n };\n }, \"htmlmixed\", \"clike\");\n\n CodeMirror.defineMIME(\"application/x-httpd-php\", \"php\");\n CodeMirror.defineMIME(\"application/x-httpd-php-open\", {name: \"php\", startOpen: true});\n CodeMirror.defineMIME(\"text/x-php\", phpConfig);\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9tb2RlL3BocC9waHAuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9tb2RlL3BocC9waHAuanM/NDRkNSJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb2RlTWlycm9yLCBjb3B5cmlnaHQgKGMpIGJ5IE1hcmlqbiBIYXZlcmJla2UgYW5kIG90aGVyc1xuLy8gRGlzdHJpYnV0ZWQgdW5kZXIgYW4gTUlUIGxpY2Vuc2U6IGh0dHBzOi8vY29kZW1pcnJvci5uZXQvTElDRU5TRVxuXG4oZnVuY3Rpb24obW9kKSB7XG4gIGlmICh0eXBlb2YgZXhwb3J0cyA9PSBcIm9iamVjdFwiICYmIHR5cGVvZiBtb2R1bGUgPT0gXCJvYmplY3RcIikgLy8gQ29tbW9uSlNcbiAgICBtb2QocmVxdWlyZShcIi4uLy4uL2xpYi9jb2RlbWlycm9yXCIpLCByZXF1aXJlKFwiLi4vaHRtbG1peGVkL2h0bWxtaXhlZFwiKSwgcmVxdWlyZShcIi4uL2NsaWtlL2NsaWtlXCIpKTtcbiAgZWxzZSBpZiAodHlwZW9mIGRlZmluZSA9PSBcImZ1bmN0aW9uXCIgJiYgZGVmaW5lLmFtZCkgLy8gQU1EXG4gICAgZGVmaW5lKFtcIi4uLy4uL2xpYi9jb2RlbWlycm9yXCIsIFwiLi4vaHRtbG1peGVkL2h0bWxtaXhlZFwiLCBcIi4uL2NsaWtlL2NsaWtlXCJdLCBtb2QpO1xuICBlbHNlIC8vIFBsYWluIGJyb3dzZXIgZW52XG4gICAgbW9kKENvZGVNaXJyb3IpO1xufSkoZnVuY3Rpb24oQ29kZU1pcnJvcikge1xuICBcInVzZSBzdHJpY3RcIjtcblxuICBmdW5jdGlvbiBrZXl3b3JkcyhzdHIpIHtcbiAgICB2YXIgb2JqID0ge30sIHdvcmRzID0gc3RyLnNwbGl0KFwiIFwiKTtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHdvcmRzLmxlbmd0aDsgKytpKSBvYmpbd29yZHNbaV1dID0gdHJ1ZTtcbiAgICByZXR1cm4gb2JqO1xuICB9XG5cbiAgLy8gSGVscGVyIGZvciBwaHBTdHJpbmdcbiAgZnVuY3Rpb24gbWF0Y2hTZXF1ZW5jZShsaXN0LCBlbmQsIGVzY2FwZXMpIHtcbiAgICBpZiAobGlzdC5sZW5ndGggPT0gMCkgcmV0dXJuIHBocFN0cmluZyhlbmQpO1xuICAgIHJldHVybiBmdW5jdGlvbiAoc3RyZWFtLCBzdGF0ZSkge1xuICAgICAgdmFyIHBhdHRlcm5zID0gbGlzdFswXTtcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcGF0dGVybnMubGVuZ3RoOyBpKyspIGlmIChzdHJlYW0ubWF0Y2gocGF0dGVybnNbaV1bMF0pKSB7XG4gICAgICAgIHN0YXRlLnRva2VuaXplID0gbWF0Y2hTZXF1ZW5jZShsaXN0LnNsaWNlKDEpLCBlbmQpO1xuICAgICAgICByZXR1cm4gcGF0dGVybnNbaV1bMV07XG4gICAgICB9XG4gICAgICBzdGF0ZS50b2tlbml6ZSA9IHBocFN0cmluZyhlbmQsIGVzY2FwZXMpO1xuICAgICAgcmV0dXJuIFwic3RyaW5nXCI7XG4gICAgfTtcbiAgfVxuICBmdW5jdGlvbiBwaHBTdHJpbmcoY2xvc2luZywgZXNjYXBlcykge1xuICAgIHJldHVybiBmdW5jdGlvbihzdHJlYW0sIHN0YXRlKSB7IHJldHVybiBwaHBTdHJpbmdfKHN0cmVhbSwgc3RhdGUsIGNsb3NpbmcsIGVzY2FwZXMpOyB9O1xuICB9XG4gIGZ1bmN0aW9uIHBocFN0cmluZ18oc3RyZWFtLCBzdGF0ZSwgY2xvc2luZywgZXNjYXBlcykge1xuICAgIC8vIFwiQ29tcGxleFwiIHN5bnRheFxuICAgIGlmIChlc2NhcGVzICE9PSBmYWxzZSAmJiBzdHJlYW0ubWF0Y2goXCIke1wiLCBmYWxzZSkgfHwgc3RyZWFtLm1hdGNoKFwieyRcIiwgZmFsc2UpKSB7XG4gICAgICBzdGF0ZS50b2tlbml6ZSA9IG51bGw7XG4gICAgICByZXR1cm4gXCJzdHJpbmdcIjtcbiAgICB9XG5cbiAgICAvLyBTaW1wbGUgc3ludGF4XG4gICAgaWYgKGVzY2FwZXMgIT09IGZhbHNlICYmIHN0cmVhbS5tYXRjaCgvXlxcJFthLXpBLVpfXVthLXpBLVowLTlfXSovKSkge1xuICAgICAgLy8gQWZ0ZXIgdGhlIHZhcmlhYmxlIG5hbWUgdGhlcmUgbWF5IGFwcGVhciBhcnJheSBvciBvYmplY3Qgb3BlcmF0b3IuXG4gICAgICBpZiAoc3RyZWFtLm1hdGNoKFwiW1wiLCBmYWxzZSkpIHtcbiAgICAgICAgLy8gTWF0Y2ggYXJyYXkgb3BlcmF0b3JcbiAgICAgICAgc3RhdGUudG9rZW5pemUgPSBtYXRjaFNlcXVlbmNlKFtcbiAgICAgICAgICBbW1wiW1wiLCBudWxsXV0sXG4gICAgICAgICAgW1svXFxkW1xcd1xcLl0qLywgXCJudW1iZXJcIl0sXG4gICAgICAgICAgIFsvXFwkW2EtekEtWl9dW2EtekEtWjAtOV9dKi8sIFwidmFyaWFibGUtMlwiXSxcbiAgICAgICAgICAgWy9bXFx3XFwkXSsvLCBcInZhcmlhYmxlXCJdXSxcbiAgICAgICAgICBbW1wiXVwiLCBudWxsXV1cbiAgICAgICAgXSwgY2xvc2luZywgZXNjYXBlcyk7XG4gICAgICB9XG4gICAgICBpZiAoc3RyZWFtLm1hdGNoKC9cXC1cXD5cXHcvLCBmYWxzZSkpIHtcbiAgICAgICAgLy8gTWF0Y2ggb2JqZWN0IG9wZXJhdG9yXG4gICAgICAgIHN0YXRlLnRva2VuaXplID0gbWF0Y2hTZXF1ZW5jZShbXG4gICAgICAgICAgW1tcIi0+XCIsIG51bGxdXSxcbiAgICAgICAgICBbWy9bXFx3XSsvLCBcInZhcmlhYmxlXCJdXVxuICAgICAgICBdLCBjbG9zaW5nLCBlc2NhcGVzKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBcInZhcmlhYmxlLTJcIjtcbiAgICB9XG5cbiAgICB2YXIgZXNjYXBlZCA9IGZhbHNlO1xuICAgIC8vIE5vcm1hbCBzdHJpbmdcbiAgICB3aGlsZSAoIXN0cmVhbS5lb2woKSAmJlxuICAgICAgICAgICAoZXNjYXBlZCB8fCBlc2NhcGVzID09PSBmYWxzZSB8fFxuICAgICAgICAgICAgKCFzdHJlYW0ubWF0Y2goXCJ7JFwiLCBmYWxzZSkgJiZcbiAgICAgICAgICAgICAhc3RyZWFtLm1hdGNoKC9eKFxcJFthLXpBLVpfXVthLXpBLVowLTlfXSp8XFwkXFx7KS8sIGZhbHNlKSkpKSB7XG4gICAgICBpZiAoIWVzY2FwZWQgJiYgc3RyZWFtLm1hdGNoKGNsb3NpbmcpKSB7XG4gICAgICAgIHN0YXRlLnRva2VuaXplID0gbnVsbDtcbiAgICAgICAgc3RhdGUudG9rU3RhY2sucG9wKCk7IHN0YXRlLnRva1N0YWNrLnBvcCgpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGVzY2FwZWQgPSBzdHJlYW0ubmV4dCgpID09IFwiXFxcXFwiICYmICFlc2NhcGVkO1xuICAgIH1cbiAgICByZXR1cm4gXCJzdHJpbmdcIjtcbiAgfVxuXG4gIHZhciBwaHBLZXl3b3JkcyA9IFwiYWJzdHJhY3QgYW5kIGFycmF5IGFzIGJyZWFrIGNhc2UgY2F0Y2ggY2xhc3MgY2xvbmUgY29uc3QgY29udGludWUgZGVjbGFyZSBkZWZhdWx0IFwiICtcbiAgICBcImRvIGVsc2UgZWxzZWlmIGVuZGRlY2xhcmUgZW5kZm9yIGVuZGZvcmVhY2ggZW5kaWYgZW5kc3dpdGNoIGVuZHdoaWxlIGV4dGVuZHMgZmluYWwgXCIgK1xuICAgIFwiZm9yIGZvcmVhY2ggZnVuY3Rpb24gZ2xvYmFsIGdvdG8gaWYgaW1wbGVtZW50cyBpbnRlcmZhY2UgaW5zdGFuY2VvZiBuYW1lc3BhY2UgXCIgK1xuICAgIFwibmV3IG9yIHByaXZhdGUgcHJvdGVjdGVkIHB1YmxpYyBzdGF0aWMgc3dpdGNoIHRocm93IHRyYWl0IHRyeSB1c2UgdmFyIHdoaWxlIHhvciBcIiArXG4gICAgXCJkaWUgZWNobyBlbXB0eSBleGl0IGV2YWwgaW5jbHVkZSBpbmNsdWRlX29uY2UgaXNzZXQgbGlzdCByZXF1aXJlIHJlcXVpcmVfb25jZSByZXR1cm4gXCIgK1xuICAgIFwicHJpbnQgdW5zZXQgX19oYWx0X2NvbXBpbGVyIHNlbGYgc3RhdGljIHBhcmVudCB5aWVsZCBpbnN0ZWFkb2YgZmluYWxseVwiO1xuICB2YXIgcGhwQXRvbXMgPSBcInRydWUgZmFsc2UgbnVsbCBUUlVFIEZBTFNFIE5VTEwgX19DTEFTU19fIF9fRElSX18gX19GSUxFX18gX19MSU5FX18gX19NRVRIT0RfXyBfX0ZVTkNUSU9OX18gX19OQU1FU1BBQ0VfXyBfX1RSQUlUX19cIjtcbiAgdmFyIHBocEJ1aWx0aW4gPSBcImZ1bmNfbnVtX2FyZ3MgZnVuY19nZXRfYXJnIGZ1bmNfZ2V0X2FyZ3Mgc3RybGVuIHN0cmNtcCBzdHJuY21wIHN0cmNhc2VjbXAgc3RybmNhc2VjbXAgZWFjaCBlcnJvcl9yZXBvcnRpbmcgZGVmaW5lIGRlZmluZWQgdHJpZ2dlcl9lcnJvciB1c2VyX2Vycm9yIHNldF9lcnJvcl9oYW5kbGVyIHJlc3RvcmVfZXJyb3JfaGFuZGxlciBnZXRfZGVjbGFyZWRfY2xhc3NlcyBnZXRfbG9hZGVkX2V4dGVuc2lvbnMgZXh0ZW5zaW9uX2xvYWRlZCBnZXRfZXh0ZW5zaW9uX2Z1bmNzIGRlYnVnX2JhY2t0cmFjZSBjb25zdGFudCBiaW4yaGV4IGhleDJiaW4gc2xlZXAgdXNsZWVwIHRpbWUgbWt0aW1lIGdtbWt0aW1lIHN0cmZ0aW1lIGdtc3RyZnRpbWUgc3RydG90aW1lIGRhdGUgZ21kYXRlIGdldGRhdGUgbG9jYWx0aW1lIGNoZWNrZGF0ZSBmbHVzaCB3b3Jkd3JhcCBodG1sc3BlY2lhbGNoYXJzIGh0bWxlbnRpdGllcyBodG1sX2VudGl0eV9kZWNvZGUgbWQ1IG1kNV9maWxlIGNyYzMyIGdldGltYWdlc2l6ZSBpbWFnZV90eXBlX3RvX21pbWVfdHlwZSBwaHBpbmZvIHBocHZlcnNpb24gcGhwY3JlZGl0cyBzdHJuYXRjbXAgc3RybmF0Y2FzZWNtcCBzdWJzdHJfY291bnQgc3Ryc3BuIHN0cmNzcG4gc3RydG9rIHN0cnRvdXBwZXIgc3RydG9sb3dlciBzdHJwb3Mgc3RycnBvcyBzdHJyZXYgaGVicmV2IGhlYnJldmMgbmwyYnIgYmFzZW5hbWUgZGlybmFtZSBwYXRoaW5mbyBzdHJpcHNsYXNoZXMgc3RyaXBjc2xhc2hlcyBzdHJzdHIgc3RyaXN0ciBzdHJyY2hyIHN0cl9zaHVmZmxlIHN0cl93b3JkX2NvdW50IHN0cmNvbGwgc3Vic3RyIHN1YnN0cl9yZXBsYWNlIHF1b3RlbWV0YSB1Y2ZpcnN0IHVjd29yZHMgc3RydHIgYWRkc2xhc2hlcyBhZGRjc2xhc2hlcyBydHJpbSBzdHJfcmVwbGFjZSBzdHJfcmVwZWF0IGNvdW50X2NoYXJzIGNodW5rX3NwbGl0IHRyaW0gbHRyaW0gc3RyaXBfdGFncyBzaW1pbGFyX3RleHQgZXhwbG9kZSBpbXBsb2RlIHNldGxvY2FsZSBsb2NhbGVjb252IHBhcnNlX3N0ciBzdHJfcGFkIGNob3Agc3RyY2hyIHNwcmludGYgcHJpbnRmIHZwcmludGYgdnNwcmludGYgc3NjYW5mIGZzY2FuZiBwYXJzZV91cmwgdXJsZW5jb2RlIHVybGRlY29kZSByYXd1cmxlbmNvZGUgcmF3dXJsZGVjb2RlIHJlYWRsaW5rIGxpbmtpbmZvIGxpbmsgdW5saW5rIGV4ZWMgc3lzdGVtIGVzY2FwZXNoZWxsY21kIGVzY2FwZXNoZWxsYXJnIHBhc3N0aHJ1IHNoZWxsX2V4ZWMgcHJvY19vcGVuIHByb2NfY2xvc2UgcmFuZCBzcmFuZCBnZXRyYW5kbWF4IG10X3JhbmQgbXRfc3JhbmQgbXRfZ2V0cmFuZG1heCBiYXNlNjRfZGVjb2RlIGJhc2U2NF9lbmNvZGUgYWJzIGNlaWwgZmxvb3Igcm91bmQgaXNfZmluaXRlIGlzX25hbiBpc19pbmZpbml0ZSBiaW5kZWMgaGV4ZGVjIG9jdGRlYyBkZWNiaW4gZGVjb2N0IGRlY2hleCBiYXNlX2NvbnZlcnQgbnVtYmVyX2Zvcm1hdCBmbW9kIGlwMmxvbmcgbG9uZzJpcCBnZXRlbnYgcHV0ZW52IGdldG9wdCBtaWNyb3RpbWUgZ2V0dGltZW9mZGF5IGdldHJ1c2FnZSB1bmlxaWQgcXVvdGVkX3ByaW50YWJsZV9kZWNvZGUgc2V0X3RpbWVfbGltaXQgZ2V0X2NmZ192YXIgbWFnaWNfcXVvdGVzX3J1bnRpbWUgc2V0X21hZ2ljX3F1b3Rlc19ydW50aW1lIGdldF9tYWdpY19xdW90ZXNfZ3BjIGdldF9tYWdpY19xdW90ZXNfcnVudGltZSBpbXBvcnRfcmVxdWVzdF92YXJpYWJsZXMgZXJyb3JfbG9nIHNlcmlhbGl6ZSB1bnNlcmlhbGl6ZSBtZW1vcnlfZ2V0X3VzYWdlIHZhcl9kdW1wIHZhcl9leHBvcnQgZGVidWdfenZhbF9kdW1wIHByaW50X3IgaGlnaGxpZ2h0X2ZpbGUgc2hvd19zb3VyY2UgaGlnaGxpZ2h0X3N0cmluZyBpbmlfZ2V0IGluaV9nZXRfYWxsIGluaV9zZXQgaW5pX2FsdGVyIGluaV9yZXN0b3JlIGdldF9pbmNsdWRlX3BhdGggc2V0X2luY2x1ZGVfcGF0aCByZXN0b3JlX2luY2x1ZGVfcGF0aCBzZXRjb29raWUgaGVhZGVyIGhlYWRlcnNfc2VudCBjb25uZWN0aW9uX2Fib3J0ZWQgY29ubmVjdGlvbl9zdGF0dXMgaWdub3JlX3VzZXJfYWJvcnQgcGFyc2VfaW5pX2ZpbGUgaXNfdXBsb2FkZWRfZmlsZSBtb3ZlX3VwbG9hZGVkX2ZpbGUgaW50dmFsIGZsb2F0dmFsIGRvdWJsZXZhbCBzdHJ2YWwgZ2V0dHlwZSBzZXR0eXBlIGlzX251bGwgaXNfcmVzb3VyY2UgaXNfYm9vbCBpc19sb25nIGlzX2Zsb2F0IGlzX2ludCBpc19pbnRlZ2VyIGlzX2RvdWJsZSBpc19yZWFsIGlzX251bWVyaWMgaXNfc3RyaW5nIGlzX2FycmF5IGlzX29iamVjdCBpc19zY2FsYXIgZXJlZyBlcmVnX3JlcGxhY2UgZXJlZ2kgZXJlZ2lfcmVwbGFjZSBzcGxpdCBzcGxpdGkgam9pbiBzcWxfcmVnY2FzZSBkbCBwY2xvc2UgcG9wZW4gcmVhZGZpbGUgcmV3aW5kIHJtZGlyIHVtYXNrIGZjbG9zZSBmZW9mIGZnZXRjIGZnZXRzIGZnZXRzcyBmcmVhZCBmb3BlbiBmcGFzc3RocnUgZnRydW5jYXRlIGZzdGF0IGZzZWVrIGZ0ZWxsIGZmbHVzaCBmd3JpdGUgZnB1dHMgbWtkaXIgcmVuYW1lIGNvcHkgdGVtcG5hbSB0bXBmaWxlIGZpbGUgZmlsZV9nZXRfY29udGVudHMgZmlsZV9wdXRfY29udGVudHMgc3RyZWFtX3NlbGVjdCBzdHJlYW1fY29udGV4dF9jcmVhdGUgc3RyZWFtX2NvbnRleHRfc2V0X3BhcmFtcyBzdHJlYW1fY29udGV4dF9zZXRfb3B0aW9uIHN0cmVhbV9jb250ZXh0X2dldF9vcHRpb25zIHN0cmVhbV9maWx0ZXJfcHJlcGVuZCBzdHJlYW1fZmlsdGVyX2FwcGVuZCBmZ2V0Y3N2IGZsb2NrIGdldF9tZXRhX3RhZ3Mgc3RyZWFtX3NldF93cml0ZV9idWZmZXIgc2V0X2ZpbGVfYnVmZmVyIHNldF9zb2NrZXRfYmxvY2tpbmcgc3RyZWFtX3NldF9ibG9ja2luZyBzb2NrZXRfc2V0X2Jsb2NraW5nIHN0cmVhbV9nZXRfbWV0YV9kYXRhIHN0cmVhbV9yZWdpc3Rlcl93cmFwcGVyIHN0cmVhbV93cmFwcGVyX3JlZ2lzdGVyIHN0cmVhbV9zZXRfdGltZW91dCBzb2NrZXRfc2V0X3RpbWVvdXQgc29ja2V0X2dldF9zdGF0dXMgcmVhbHBhdGggZm5tYXRjaCBmc29ja29wZW4gcGZzb2Nrb3BlbiBwYWNrIHVucGFjayBnZXRfYnJvd3NlciBjcnlwdCBvcGVuZGlyIGNsb3NlZGlyIGNoZGlyIGdldGN3ZCByZXdpbmRkaXIgcmVhZGRpciBkaXIgZ2xvYiBmaWxlYXRpbWUgZmlsZWN0aW1lIGZpbGVncm91cCBmaWxlaW5vZGUgZmlsZW10aW1lIGZpbGVvd25lciBmaWxlcGVybXMgZmlsZXNpemUgZmlsZXR5cGUgZmlsZV9leGlzdHMgaXNfd3JpdGFibGUgaXNfd3JpdGVhYmxlIGlzX3JlYWRhYmxlIGlzX2V4ZWN1dGFibGUgaXNfZmlsZSBpc19kaXIgaXNfbGluayBzdGF0IGxzdGF0IGNob3duIHRvdWNoIGNsZWFyc3RhdGNhY2hlIG1haWwgb2Jfc3RhcnQgb2JfZmx1c2ggb2JfY2xlYW4gb2JfZW5kX2ZsdXNoIG9iX2VuZF9jbGVhbiBvYl9nZXRfZmx1c2ggb2JfZ2V0X2NsZWFuIG9iX2dldF9sZW5ndGggb2JfZ2V0X2xldmVsIG9iX2dldF9zdGF0dXMgb2JfZ2V0X2NvbnRlbnRzIG9iX2ltcGxpY2l0X2ZsdXNoIG9iX2xpc3RfaGFuZGxlcnMga3NvcnQga3Jzb3J0IG5hdHNvcnQgbmF0Y2FzZXNvcnQgYXNvcnQgYXJzb3J0IHNvcnQgcnNvcnQgdXNvcnQgdWFzb3J0IHVrc29ydCBzaHVmZmxlIGFycmF5X3dhbGsgY291bnQgZW5kIHByZXYgbmV4dCByZXNldCBjdXJyZW50IGtleSBtaW4gbWF4IGluX2FycmF5IGFycmF5X3NlYXJjaCBleHRyYWN0IGNvbXBhY3QgYXJyYXlfZmlsbCByYW5nZSBhcnJheV9tdWx0aXNvcnQgYXJyYXlfcHVzaCBhcnJheV9wb3AgYXJyYXlfc2hpZnQgYXJyYXlfdW5zaGlmdCBhcnJheV9zcGxpY2UgYXJyYXlfc2xpY2UgYXJyYXlfbWVyZ2UgYXJyYXlfbWVyZ2VfcmVjdXJzaXZlIGFycmF5X2tleXMgYXJyYXlfdmFsdWVzIGFycmF5X2NvdW50X3ZhbHVlcyBhcnJheV9yZXZlcnNlIGFycmF5X3JlZHVjZSBhcnJheV9wYWQgYXJyYXlfZmxpcCBhcnJheV9jaGFuZ2Vfa2V5X2Nhc2UgYXJyYXlfcmFuZCBhcnJheV91bmlxdWUgYXJyYXlfaW50ZXJzZWN0IGFycmF5X2ludGVyc2VjdF9hc3NvYyBhcnJheV9kaWZmIGFycmF5X2RpZmZfYXNzb2MgYXJyYXlfc3VtIGFycmF5X2ZpbHRlciBhcnJheV9tYXAgYXJyYXlfY2h1bmsgYXJyYXlfa2V5X2V4aXN0cyBhcnJheV9pbnRlcnNlY3Rfa2V5IGFycmF5X2NvbWJpbmUgYXJyYXlfY29sdW1uIHBvcyBzaXplb2Yga2V5X2V4aXN0cyBhc3NlcnQgYXNzZXJ0X29wdGlvbnMgdmVyc2lvbl9jb21wYXJlIGZ0b2sgc3RyX3JvdDEzIGFnZ3JlZ2F0ZSBzZXNzaW9uX25hbWUgc2Vzc2lvbl9tb2R1bGVfbmFtZSBzZXNzaW9uX3NhdmVfcGF0aCBzZXNzaW9uX2lkIHNlc3Npb25fcmVnZW5lcmF0ZV9pZCBzZXNzaW9uX2RlY29kZSBzZXNzaW9uX3JlZ2lzdGVyIHNlc3Npb25fdW5yZWdpc3RlciBzZXNzaW9uX2lzX3JlZ2lzdGVyZWQgc2Vzc2lvbl9lbmNvZGUgc2Vzc2lvbl9zdGFydCBzZXNzaW9uX2Rlc3Ryb3kgc2Vzc2lvbl91bnNldCBzZXNzaW9uX3NldF9zYXZlX2hhbmRsZXIgc2Vzc2lvbl9jYWNoZV9saW1pdGVyIHNlc3Npb25fY2FjaGVfZXhwaXJlIHNlc3Npb25fc2V0X2Nvb2tpZV9wYXJhbXMgc2Vzc2lvbl9nZXRfY29va2llX3BhcmFtcyBzZXNzaW9uX3dyaXRlX2Nsb3NlIHByZWdfbWF0Y2ggcHJlZ19tYXRjaF9hbGwgcHJlZ19yZXBsYWNlIHByZWdfcmVwbGFjZV9jYWxsYmFjayBwcmVnX3NwbGl0IHByZWdfcXVvdGUgcHJlZ19ncmVwIG92ZXJsb2FkIGN0eXBlX2FsbnVtIGN0eXBlX2FscGhhIGN0eXBlX2NudHJsIGN0eXBlX2RpZ2l0IGN0eXBlX2xvd2VyIGN0eXBlX2dyYXBoIGN0eXBlX3ByaW50IGN0eXBlX3B1bmN0IGN0eXBlX3NwYWNlIGN0eXBlX3VwcGVyIGN0eXBlX3hkaWdpdCB2aXJ0dWFsIGFwYWNoZV9yZXF1ZXN0X2hlYWRlcnMgYXBhY2hlX25vdGUgYXBhY2hlX2xvb2t1cF91cmkgYXBhY2hlX2NoaWxkX3Rlcm1pbmF0ZSBhcGFjaGVfc2V0ZW52IGFwYWNoZV9yZXNwb25zZV9oZWFkZXJzIGFwYWNoZV9nZXRfdmVyc2lvbiBnZXRhbGxoZWFkZXJzIG15c3FsX2Nvbm5lY3QgbXlzcWxfcGNvbm5lY3QgbXlzcWxfY2xvc2UgbXlzcWxfc2VsZWN0X2RiIG15c3FsX2NyZWF0ZV9kYiBteXNxbF9kcm9wX2RiIG15c3FsX3F1ZXJ5IG15c3FsX3VuYnVmZmVyZWRfcXVlcnkgbXlzcWxfZGJfcXVlcnkgbXlzcWxfbGlzdF9kYnMgbXlzcWxfbGlzdF90YWJsZXMgbXlzcWxfbGlzdF9maWVsZHMgbXlzcWxfbGlzdF9wcm9jZXNzZXMgbXlzcWxfZXJyb3IgbXlzcWxfZXJybm8gbXlzcWxfYWZmZWN0ZWRfcm93cyBteXNxbF9pbnNlcnRfaWQgbXlzcWxfcmVzdWx0IG15c3FsX251bV9yb3dzIG15c3FsX251bV9maWVsZHMgbXlzcWxfZmV0Y2hfcm93IG15c3FsX2ZldGNoX2FycmF5IG15c3FsX2ZldGNoX2Fzc29jIG15c3FsX2ZldGNoX29iamVjdCBteXNxbF9kYXRhX3NlZWsgbXlzcWxfZmV0Y2hfbGVuZ3RocyBteXNxbF9mZXRjaF9maWVsZCBteXNxbF9maWVsZF9zZWVrIG15c3FsX2ZyZWVfcmVzdWx0IG15c3FsX2ZpZWxkX25hbWUgbXlzcWxfZmllbGRfdGFibGUgbXlzcWxfZmllbGRfbGVuIG15c3FsX2ZpZWxkX3R5cGUgbXlzcWxfZmllbGRfZmxhZ3MgbXlzcWxfZXNjYXBlX3N0cmluZyBteXNxbF9yZWFsX2VzY2FwZV9zdHJpbmcgbXlzcWxfc3RhdCBteXNxbF90aHJlYWRfaWQgbXlzcWxfY2xpZW50X2VuY29kaW5nIG15c3FsX2dldF9jbGllbnRfaW5mbyBteXNxbF9nZXRfaG9zdF9pbmZvIG15c3FsX2dldF9wcm90b19pbmZvIG15c3FsX2dldF9zZXJ2ZXJfaW5mbyBteXNxbF9pbmZvIG15c3FsIG15c3FsX2ZpZWxkbmFtZSBteXNxbF9maWVsZHRhYmxlIG15c3FsX2ZpZWxkbGVuIG15c3FsX2ZpZWxkdHlwZSBteXNxbF9maWVsZGZsYWdzIG15c3FsX3NlbGVjdGRiIG15c3FsX2NyZWF0ZWRiIG15c3FsX2Ryb3BkYiBteXNxbF9mcmVlcmVzdWx0IG15c3FsX251bWZpZWxkcyBteXNxbF9udW1yb3dzIG15c3FsX2xpc3RkYnMgbXlzcWxfbGlzdHRhYmxlcyBteXNxbF9saXN0ZmllbGRzIG15c3FsX2RiX25hbWUgbXlzcWxfZGJuYW1lIG15c3FsX3RhYmxlbmFtZSBteXNxbF90YWJsZV9uYW1lIHBnX2Nvbm5lY3QgcGdfcGNvbm5lY3QgcGdfY2xvc2UgcGdfY29ubmVjdGlvbl9zdGF0dXMgcGdfY29ubmVjdGlvbl9idXN5IHBnX2Nvbm5lY3Rpb25fcmVzZXQgcGdfaG9zdCBwZ19kYm5hbWUgcGdfcG9ydCBwZ190dHkgcGdfb3B0aW9ucyBwZ19waW5nIHBnX3F1ZXJ5IHBnX3NlbmRfcXVlcnkgcGdfY2FuY2VsX3F1ZXJ5IHBnX2ZldGNoX3Jlc3VsdCBwZ19mZXRjaF9yb3cgcGdfZmV0Y2hfYXNzb2MgcGdfZmV0Y2hfYXJyYXkgcGdfZmV0Y2hfb2JqZWN0IHBnX2ZldGNoX2FsbCBwZ19hZmZlY3RlZF9yb3dzIHBnX2dldF9yZXN1bHQgcGdfcmVzdWx0X3NlZWsgcGdfcmVzdWx0X3N0YXR1cyBwZ19mcmVlX3Jlc3VsdCBwZ19sYXN0X29pZCBwZ19udW1fcm93cyBwZ19udW1fZmllbGRzIHBnX2ZpZWxkX25hbWUgcGdfZmllbGRfbnVtIHBnX2ZpZWxkX3NpemUgcGdfZmllbGRfdHlwZSBwZ19maWVsZF9wcnRsZW4gcGdfZmllbGRfaXNfbnVsbCBwZ19nZXRfbm90aWZ5IHBnX2dldF9waWQgcGdfcmVzdWx0X2Vycm9yIHBnX2xhc3RfZXJyb3IgcGdfbGFzdF9ub3RpY2UgcGdfcHV0X2xpbmUgcGdfZW5kX2NvcHkgcGdfY29weV90byBwZ19jb3B5X2Zyb20gcGdfdHJhY2UgcGdfdW50cmFjZSBwZ19sb19jcmVhdGUgcGdfbG9fdW5saW5rIHBnX2xvX29wZW4gcGdfbG9fY2xvc2UgcGdfbG9fcmVhZCBwZ19sb193cml0ZSBwZ19sb19yZWFkX2FsbCBwZ19sb19pbXBvcnQgcGdfbG9fZXhwb3J0IHBnX2xvX3NlZWsgcGdfbG9fdGVsbCBwZ19lc2NhcGVfc3RyaW5nIHBnX2VzY2FwZV9ieXRlYSBwZ191bmVzY2FwZV9ieXRlYSBwZ19jbGllbnRfZW5jb2RpbmcgcGdfc2V0X2NsaWVudF9lbmNvZGluZyBwZ19tZXRhX2RhdGEgcGdfY29udmVydCBwZ19pbnNlcnQgcGdfdXBkYXRlIHBnX2RlbGV0ZSBwZ19zZWxlY3QgcGdfZXhlYyBwZ19nZXRsYXN0b2lkIHBnX2NtZHR1cGxlcyBwZ19lcnJvcm1lc3NhZ2UgcGdfbnVtcm93cyBwZ19udW1maWVsZHMgcGdfZmllbGRuYW1lIHBnX2ZpZWxkc2l6ZSBwZ19maWVsZHR5cGUgcGdfZmllbGRudW0gcGdfZmllbGRwcnRsZW4gcGdfZmllbGRpc251bGwgcGdfZnJlZXJlc3VsdCBwZ19yZXN1bHQgcGdfbG9yZWFkYWxsIHBnX2xvY3JlYXRlIHBnX2xvdW5saW5rIHBnX2xvb3BlbiBwZ19sb2Nsb3NlIHBnX2xvcmVhZCBwZ19sb3dyaXRlIHBnX2xvaW1wb3J0IHBnX2xvZXhwb3J0IGh0dHBfcmVzcG9uc2VfY29kZSBnZXRfZGVjbGFyZWRfdHJhaXRzIGdldGltYWdlc2l6ZWZyb21zdHJpbmcgc29ja2V0X2ltcG9ydF9zdHJlYW0gc3RyZWFtX3NldF9jaHVua19zaXplIHRyYWl0X2V4aXN0cyBoZWFkZXJfcmVnaXN0ZXJfY2FsbGJhY2sgY2xhc3NfdXNlcyBzZXNzaW9uX3N0YXR1cyBzZXNzaW9uX3JlZ2lzdGVyX3NodXRkb3duIGVjaG8gcHJpbnQgZ2xvYmFsIHN0YXRpYyBleGl0IGFycmF5IGVtcHR5IGV2YWwgaXNzZXQgdW5zZXQgZGllIGluY2x1ZGUgcmVxdWlyZSBpbmNsdWRlX29uY2UgcmVxdWlyZV9vbmNlIGpzb25fZGVjb2RlIGpzb25fZW5jb2RlIGpzb25fbGFzdF9lcnJvciBqc29uX2xhc3RfZXJyb3JfbXNnIGN1cmxfY2xvc2UgY3VybF9jb3B5X2hhbmRsZSBjdXJsX2Vycm5vIGN1cmxfZXJyb3IgY3VybF9lc2NhcGUgY3VybF9leGVjIGN1cmxfZmlsZV9jcmVhdGUgY3VybF9nZXRpbmZvIGN1cmxfaW5pdCBjdXJsX211bHRpX2FkZF9oYW5kbGUgY3VybF9tdWx0aV9jbG9zZSBjdXJsX211bHRpX2V4ZWMgY3VybF9tdWx0aV9nZXRjb250ZW50IGN1cmxfbXVsdGlfaW5mb19yZWFkIGN1cmxfbXVsdGlfaW5pdCBjdXJsX211bHRpX3JlbW92ZV9oYW5kbGUgY3VybF9tdWx0aV9zZWxlY3QgY3VybF9tdWx0aV9zZXRvcHQgY3VybF9tdWx0aV9zdHJlcnJvciBjdXJsX3BhdXNlIGN1cmxfcmVzZXQgY3VybF9zZXRvcHRfYXJyYXkgY3VybF9zZXRvcHQgY3VybF9zaGFyZV9jbG9zZSBjdXJsX3NoYXJlX2luaXQgY3VybF9zaGFyZV9zZXRvcHQgY3VybF9zdHJlcnJvciBjdXJsX3VuZXNjYXBlIGN1cmxfdmVyc2lvbiBteXNxbGlfYWZmZWN0ZWRfcm93cyBteXNxbGlfYXV0b2NvbW1pdCBteXNxbGlfY2hhbmdlX3VzZXIgbXlzcWxpX2NoYXJhY3Rlcl9zZXRfbmFtZSBteXNxbGlfY2xvc2UgbXlzcWxpX2NvbW1pdCBteXNxbGlfY29ubmVjdF9lcnJubyBteXNxbGlfY29ubmVjdF9lcnJvciBteXNxbGlfY29ubmVjdCBteXNxbGlfZGF0YV9zZWVrIG15c3FsaV9kZWJ1ZyBteXNxbGlfZHVtcF9kZWJ1Z19pbmZvIG15c3FsaV9lcnJubyBteXNxbGlfZXJyb3JfbGlzdCBteXNxbGlfZXJyb3IgbXlzcWxpX2ZldGNoX2FsbCBteXNxbGlfZmV0Y2hfYXJyYXkgbXlzcWxpX2ZldGNoX2Fzc29jIG15c3FsaV9mZXRjaF9maWVsZF9kaXJlY3QgbXlzcWxpX2ZldGNoX2ZpZWxkIG15c3FsaV9mZXRjaF9maWVsZHMgbXlzcWxpX2ZldGNoX2xlbmd0aHMgbXlzcWxpX2ZldGNoX29iamVjdCBteXNxbGlfZmV0Y2hfcm93IG15c3FsaV9maWVsZF9jb3VudCBteXNxbGlfZmllbGRfc2VlayBteXNxbGlfZmllbGRfdGVsbCBteXNxbGlfZnJlZV9yZXN1bHQgbXlzcWxpX2dldF9jaGFyc2V0IG15c3FsaV9nZXRfY2xpZW50X2luZm8gbXlzcWxpX2dldF9jbGllbnRfc3RhdHMgbXlzcWxpX2dldF9jbGllbnRfdmVyc2lvbiBteXNxbGlfZ2V0X2Nvbm5lY3Rpb25fc3RhdHMgbXlzcWxpX2dldF9ob3N0X2luZm8gbXlzcWxpX2dldF9wcm90b19pbmZvIG15c3FsaV9nZXRfc2VydmVyX2luZm8gbXlzcWxpX2dldF9zZXJ2ZXJfdmVyc2lvbiBteXNxbGlfaW5mbyBteXNxbGlfaW5pdCBteXNxbGlfaW5zZXJ0X2lkIG15c3FsaV9raWxsIG15c3FsaV9tb3JlX3Jlc3VsdHMgbXlzcWxpX211bHRpX3F1ZXJ5IG15c3FsaV9uZXh0X3Jlc3VsdCBteXNxbGlfbnVtX2ZpZWxkcyBteXNxbGlfbnVtX3Jvd3MgbXlzcWxpX29wdGlvbnMgbXlzcWxpX3BpbmcgbXlzcWxpX3ByZXBhcmUgbXlzcWxpX3F1ZXJ5IG15c3FsaV9yZWFsX2Nvbm5lY3QgbXlzcWxpX3JlYWxfZXNjYXBlX3N0cmluZyBteXNxbGlfcmVhbF9xdWVyeSBteXNxbGlfcmVhcF9hc3luY19xdWVyeSBteXNxbGlfcmVmcmVzaCBteXNxbGlfcm9sbGJhY2sgbXlzcWxpX3NlbGVjdF9kYiBteXNxbGlfc2V0X2NoYXJzZXQgbXlzcWxpX3NldF9sb2NhbF9pbmZpbGVfZGVmYXVsdCBteXNxbGlfc2V0X2xvY2FsX2luZmlsZV9oYW5kbGVyIG15c3FsaV9zcWxzdGF0ZSBteXNxbGlfc3NsX3NldCBteXNxbGlfc3RhdCBteXNxbGlfc3RtdF9pbml0IG15c3FsaV9zdG9yZV9yZXN1bHQgbXlzcWxpX3RocmVhZF9pZCBteXNxbGlfdGhyZWFkX3NhZmUgbXlzcWxpX3VzZV9yZXN1bHQgbXlzcWxpX3dhcm5pbmdfY291bnRcIjtcbiAgQ29kZU1pcnJvci5yZWdpc3RlckhlbHBlcihcImhpbnRXb3Jkc1wiLCBcInBocFwiLCBbcGhwS2V5d29yZHMsIHBocEF0b21zLCBwaHBCdWlsdGluXS5qb2luKFwiIFwiKS5zcGxpdChcIiBcIikpO1xuICBDb2RlTWlycm9yLnJlZ2lzdGVySGVscGVyKFwid29yZENoYXJzXCIsIFwicGhwXCIsIC9bXFx3JF0vKTtcblxuICB2YXIgcGhwQ29uZmlnID0ge1xuICAgIG5hbWU6IFwiY2xpa2VcIixcbiAgICBoZWxwZXJUeXBlOiBcInBocFwiLFxuICAgIGtleXdvcmRzOiBrZXl3b3JkcyhwaHBLZXl3b3JkcyksXG4gICAgYmxvY2tLZXl3b3Jkczoga2V5d29yZHMoXCJjYXRjaCBkbyBlbHNlIGVsc2VpZiBmb3IgZm9yZWFjaCBpZiBzd2l0Y2ggdHJ5IHdoaWxlIGZpbmFsbHlcIiksXG4gICAgZGVmS2V5d29yZHM6IGtleXdvcmRzKFwiY2xhc3MgZnVuY3Rpb24gaW50ZXJmYWNlIG5hbWVzcGFjZSB0cmFpdFwiKSxcbiAgICBhdG9tczoga2V5d29yZHMocGhwQXRvbXMpLFxuICAgIGJ1aWx0aW46IGtleXdvcmRzKHBocEJ1aWx0aW4pLFxuICAgIG11bHRpTGluZVN0cmluZ3M6IHRydWUsXG4gICAgaG9va3M6IHtcbiAgICAgIFwiJFwiOiBmdW5jdGlvbihzdHJlYW0pIHtcbiAgICAgICAgc3RyZWFtLmVhdFdoaWxlKC9bXFx3XFwkX10vKTtcbiAgICAgICAgcmV0dXJuIFwidmFyaWFibGUtMlwiO1xuICAgICAgfSxcbiAgICAgIFwiPFwiOiBmdW5jdGlvbihzdHJlYW0sIHN0YXRlKSB7XG4gICAgICAgIHZhciBiZWZvcmU7XG4gICAgICAgIGlmIChiZWZvcmUgPSBzdHJlYW0ubWF0Y2goLzw8XFxzKi8pKSB7XG4gICAgICAgICAgdmFyIHF1b3RlZCA9IHN0cmVhbS5lYXQoL1snXCJdLyk7XG4gICAgICAgICAgc3RyZWFtLmVhdFdoaWxlKC9bXFx3XFwuXS8pO1xuICAgICAgICAgIHZhciBkZWxpbSA9IHN0cmVhbS5jdXJyZW50KCkuc2xpY2UoYmVmb3JlWzBdLmxlbmd0aCArIChxdW90ZWQgPyAyIDogMSkpO1xuICAgICAgICAgIGlmIChxdW90ZWQpIHN0cmVhbS5lYXQocXVvdGVkKTtcbiAgICAgICAgICBpZiAoZGVsaW0pIHtcbiAgICAgICAgICAgIChzdGF0ZS50b2tTdGFjayB8fCAoc3RhdGUudG9rU3RhY2sgPSBbXSkpLnB1c2goZGVsaW0sIDApO1xuICAgICAgICAgICAgc3RhdGUudG9rZW5pemUgPSBwaHBTdHJpbmcoZGVsaW0sIHF1b3RlZCAhPSBcIidcIik7XG4gICAgICAgICAgICByZXR1cm4gXCJzdHJpbmdcIjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfSxcbiAgICAgIFwiI1wiOiBmdW5jdGlvbihzdHJlYW0pIHtcbiAgICAgICAgd2hpbGUgKCFzdHJlYW0uZW9sKCkgJiYgIXN0cmVhbS5tYXRjaChcIj8+XCIsIGZhbHNlKSkgc3RyZWFtLm5leHQoKTtcbiAgICAgICAgcmV0dXJuIFwiY29tbWVudFwiO1xuICAgICAgfSxcbiAgICAgIFwiL1wiOiBmdW5jdGlvbihzdHJlYW0pIHtcbiAgICAgICAgaWYgKHN0cmVhbS5lYXQoXCIvXCIpKSB7XG4gICAgICAgICAgd2hpbGUgKCFzdHJlYW0uZW9sKCkgJiYgIXN0cmVhbS5tYXRjaChcIj8+XCIsIGZhbHNlKSkgc3RyZWFtLm5leHQoKTtcbiAgICAgICAgICByZXR1cm4gXCJjb21tZW50XCI7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfSxcbiAgICAgICdcIic6IGZ1bmN0aW9uKF9zdHJlYW0sIHN0YXRlKSB7XG4gICAgICAgIChzdGF0ZS50b2tTdGFjayB8fCAoc3RhdGUudG9rU3RhY2sgPSBbXSkpLnB1c2goJ1wiJywgMCk7XG4gICAgICAgIHN0YXRlLnRva2VuaXplID0gcGhwU3RyaW5nKCdcIicpO1xuICAgICAgICByZXR1cm4gXCJzdHJpbmdcIjtcbiAgICAgIH0sXG4gICAgICBcIntcIjogZnVuY3Rpb24oX3N0cmVhbSwgc3RhdGUpIHtcbiAgICAgICAgaWYgKHN0YXRlLnRva1N0YWNrICYmIHN0YXRlLnRva1N0YWNrLmxlbmd0aClcbiAgICAgICAgICBzdGF0ZS50b2tTdGFja1tzdGF0ZS50b2tTdGFjay5sZW5ndGggLSAxXSsrO1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9LFxuICAgICAgXCJ9XCI6IGZ1bmN0aW9uKF9zdHJlYW0sIHN0YXRlKSB7XG4gICAgICAgIGlmIChzdGF0ZS50b2tTdGFjayAmJiBzdGF0ZS50b2tTdGFjay5sZW5ndGggPiAwICYmXG4gICAgICAgICAgICAhLS1zdGF0ZS50b2tTdGFja1tzdGF0ZS50b2tTdGFjay5sZW5ndGggLSAxXSkge1xuICAgICAgICAgIHN0YXRlLnRva2VuaXplID0gcGhwU3RyaW5nKHN0YXRlLnRva1N0YWNrW3N0YXRlLnRva1N0YWNrLmxlbmd0aCAtIDJdKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIENvZGVNaXJyb3IuZGVmaW5lTW9kZShcInBocFwiLCBmdW5jdGlvbihjb25maWcsIHBhcnNlckNvbmZpZykge1xuICAgIHZhciBodG1sTW9kZSA9IENvZGVNaXJyb3IuZ2V0TW9kZShjb25maWcsIChwYXJzZXJDb25maWcgJiYgcGFyc2VyQ29uZmlnLmh0bWxNb2RlKSB8fCBcInRleHQvaHRtbFwiKTtcbiAgICB2YXIgcGhwTW9kZSA9IENvZGVNaXJyb3IuZ2V0TW9kZShjb25maWcsIHBocENvbmZpZyk7XG5cbiAgICBmdW5jdGlvbiBkaXNwYXRjaChzdHJlYW0sIHN0YXRlKSB7XG4gICAgICB2YXIgaXNQSFAgPSBzdGF0ZS5jdXJNb2RlID09IHBocE1vZGU7XG4gICAgICBpZiAoc3RyZWFtLnNvbCgpICYmIHN0YXRlLnBlbmRpbmcgJiYgc3RhdGUucGVuZGluZyAhPSAnXCInICYmIHN0YXRlLnBlbmRpbmcgIT0gXCInXCIpIHN0YXRlLnBlbmRpbmcgPSBudWxsO1xuICAgICAgaWYgKCFpc1BIUCkge1xuICAgICAgICBpZiAoc3RyZWFtLm1hdGNoKC9ePFxcP1xcdyovKSkge1xuICAgICAgICAgIHN0YXRlLmN1ck1vZGUgPSBwaHBNb2RlO1xuICAgICAgICAgIGlmICghc3RhdGUucGhwKSBzdGF0ZS5waHAgPSBDb2RlTWlycm9yLnN0YXJ0U3RhdGUocGhwTW9kZSwgaHRtbE1vZGUuaW5kZW50KHN0YXRlLmh0bWwsIFwiXCIsIFwiXCIpKVxuICAgICAgICAgIHN0YXRlLmN1clN0YXRlID0gc3RhdGUucGhwO1xuICAgICAgICAgIHJldHVybiBcIm1ldGFcIjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoc3RhdGUucGVuZGluZyA9PSAnXCInIHx8IHN0YXRlLnBlbmRpbmcgPT0gXCInXCIpIHtcbiAgICAgICAgICB3aGlsZSAoIXN0cmVhbS5lb2woKSAmJiBzdHJlYW0ubmV4dCgpICE9IHN0YXRlLnBlbmRpbmcpIHt9XG4gICAgICAgICAgdmFyIHN0eWxlID0gXCJzdHJpbmdcIjtcbiAgICAgICAgfSBlbHNlIGlmIChzdGF0ZS5wZW5kaW5nICYmIHN0cmVhbS5wb3MgPCBzdGF0ZS5wZW5kaW5nLmVuZCkge1xuICAgICAgICAgIHN0cmVhbS5wb3MgPSBzdGF0ZS5wZW5kaW5nLmVuZDtcbiAgICAgICAgICB2YXIgc3R5bGUgPSBzdGF0ZS5wZW5kaW5nLnN0eWxlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHZhciBzdHlsZSA9IGh0bWxNb2RlLnRva2VuKHN0cmVhbSwgc3RhdGUuY3VyU3RhdGUpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChzdGF0ZS5wZW5kaW5nKSBzdGF0ZS5wZW5kaW5nID0gbnVsbDtcbiAgICAgICAgdmFyIGN1ciA9IHN0cmVhbS5jdXJyZW50KCksIG9wZW5QSFAgPSBjdXIuc2VhcmNoKC88XFw/LyksIG07XG4gICAgICAgIGlmIChvcGVuUEhQICE9IC0xKSB7XG4gICAgICAgICAgaWYgKHN0eWxlID09IFwic3RyaW5nXCIgJiYgKG0gPSBjdXIubWF0Y2goL1tcXCdcXFwiXSQvKSkgJiYgIS9cXD8+Ly50ZXN0KGN1cikpIHN0YXRlLnBlbmRpbmcgPSBtWzBdO1xuICAgICAgICAgIGVsc2Ugc3RhdGUucGVuZGluZyA9IHtlbmQ6IHN0cmVhbS5wb3MsIHN0eWxlOiBzdHlsZX07XG4gICAgICAgICAgc3RyZWFtLmJhY2tVcChjdXIubGVuZ3RoIC0gb3BlblBIUCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHN0eWxlO1xuICAgICAgfSBlbHNlIGlmIChpc1BIUCAmJiBzdGF0ZS5waHAudG9rZW5pemUgPT0gbnVsbCAmJiBzdHJlYW0ubWF0Y2goXCI/PlwiKSkge1xuICAgICAgICBzdGF0ZS5jdXJNb2RlID0gaHRtbE1vZGU7XG4gICAgICAgIHN0YXRlLmN1clN0YXRlID0gc3RhdGUuaHRtbDtcbiAgICAgICAgaWYgKCFzdGF0ZS5waHAuY29udGV4dC5wcmV2KSBzdGF0ZS5waHAgPSBudWxsO1xuICAgICAgICByZXR1cm4gXCJtZXRhXCI7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gcGhwTW9kZS50b2tlbihzdHJlYW0sIHN0YXRlLmN1clN0YXRlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgc3RhcnRTdGF0ZTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHZhciBodG1sID0gQ29kZU1pcnJvci5zdGFydFN0YXRlKGh0bWxNb2RlKVxuICAgICAgICB2YXIgcGhwID0gcGFyc2VyQ29uZmlnLnN0YXJ0T3BlbiA/IENvZGVNaXJyb3Iuc3RhcnRTdGF0ZShwaHBNb2RlKSA6IG51bGxcbiAgICAgICAgcmV0dXJuIHtodG1sOiBodG1sLFxuICAgICAgICAgICAgICAgIHBocDogcGhwLFxuICAgICAgICAgICAgICAgIGN1ck1vZGU6IHBhcnNlckNvbmZpZy5zdGFydE9wZW4gPyBwaHBNb2RlIDogaHRtbE1vZGUsXG4gICAgICAgICAgICAgICAgY3VyU3RhdGU6IHBhcnNlckNvbmZpZy5zdGFydE9wZW4gPyBwaHAgOiBodG1sLFxuICAgICAgICAgICAgICAgIHBlbmRpbmc6IG51bGx9O1xuICAgICAgfSxcblxuICAgICAgY29weVN0YXRlOiBmdW5jdGlvbihzdGF0ZSkge1xuICAgICAgICB2YXIgaHRtbCA9IHN0YXRlLmh0bWwsIGh0bWxOZXcgPSBDb2RlTWlycm9yLmNvcHlTdGF0ZShodG1sTW9kZSwgaHRtbCksXG4gICAgICAgICAgICBwaHAgPSBzdGF0ZS5waHAsIHBocE5ldyA9IHBocCAmJiBDb2RlTWlycm9yLmNvcHlTdGF0ZShwaHBNb2RlLCBwaHApLCBjdXI7XG4gICAgICAgIGlmIChzdGF0ZS5jdXJNb2RlID09IGh0bWxNb2RlKSBjdXIgPSBodG1sTmV3O1xuICAgICAgICBlbHNlIGN1ciA9IHBocE5ldztcbiAgICAgICAgcmV0dXJuIHtodG1sOiBodG1sTmV3LCBwaHA6IHBocE5ldywgY3VyTW9kZTogc3RhdGUuY3VyTW9kZSwgY3VyU3RhdGU6IGN1cixcbiAgICAgICAgICAgICAgICBwZW5kaW5nOiBzdGF0ZS5wZW5kaW5nfTtcbiAgICAgIH0sXG5cbiAgICAgIHRva2VuOiBkaXNwYXRjaCxcblxuICAgICAgaW5kZW50OiBmdW5jdGlvbihzdGF0ZSwgdGV4dEFmdGVyLCBsaW5lKSB7XG4gICAgICAgIGlmICgoc3RhdGUuY3VyTW9kZSAhPSBwaHBNb2RlICYmIC9eXFxzKjxcXC8vLnRlc3QodGV4dEFmdGVyKSkgfHxcbiAgICAgICAgICAgIChzdGF0ZS5jdXJNb2RlID09IHBocE1vZGUgJiYgL15cXD8+Ly50ZXN0KHRleHRBZnRlcikpKVxuICAgICAgICAgIHJldHVybiBodG1sTW9kZS5pbmRlbnQoc3RhdGUuaHRtbCwgdGV4dEFmdGVyLCBsaW5lKTtcbiAgICAgICAgcmV0dXJuIHN0YXRlLmN1ck1vZGUuaW5kZW50KHN0YXRlLmN1clN0YXRlLCB0ZXh0QWZ0ZXIsIGxpbmUpO1xuICAgICAgfSxcblxuICAgICAgYmxvY2tDb21tZW50U3RhcnQ6IFwiLypcIixcbiAgICAgIGJsb2NrQ29tbWVudEVuZDogXCIqL1wiLFxuICAgICAgbGluZUNvbW1lbnQ6IFwiLy9cIixcblxuICAgICAgaW5uZXJNb2RlOiBmdW5jdGlvbihzdGF0ZSkgeyByZXR1cm4ge3N0YXRlOiBzdGF0ZS5jdXJTdGF0ZSwgbW9kZTogc3RhdGUuY3VyTW9kZX07IH1cbiAgICB9O1xuICB9LCBcImh0bWxtaXhlZFwiLCBcImNsaWtlXCIpO1xuXG4gIENvZGVNaXJyb3IuZGVmaW5lTUlNRShcImFwcGxpY2F0aW9uL3gtaHR0cGQtcGhwXCIsIFwicGhwXCIpO1xuICBDb2RlTWlycm9yLmRlZmluZU1JTUUoXCJhcHBsaWNhdGlvbi94LWh0dHBkLXBocC1vcGVuXCIsIHtuYW1lOiBcInBocFwiLCBzdGFydE9wZW46IHRydWV9KTtcbiAgQ29kZU1pcnJvci5kZWZpbmVNSU1FKFwidGV4dC94LXBocFwiLCBwaHBDb25maWcpO1xufSk7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/codemirror/mode/php/php.js\n"); /***/ }), /***/ "./node_modules/codemirror/mode/pug/pug.js": /*!*************************************************!*\ !*** ./node_modules/codemirror/mode/pug/pug.js ***! \*************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ \"./node_modules/codemirror/lib/codemirror.js\"), __webpack_require__(/*! ../javascript/javascript */ \"./node_modules/codemirror/mode/javascript/javascript.js\"), __webpack_require__(/*! ../css/css */ \"./node_modules/codemirror/mode/css/css.js\"), __webpack_require__(/*! ../htmlmixed/htmlmixed */ \"./node_modules/codemirror/mode/htmlmixed/htmlmixed.js\"));\n else {}\n})(function(CodeMirror) {\n\"use strict\";\n\nCodeMirror.defineMode(\"pug\", function (config) {\n // token types\n var KEYWORD = 'keyword';\n var DOCTYPE = 'meta';\n var ID = 'builtin';\n var CLASS = 'qualifier';\n\n var ATTRS_NEST = {\n '{': '}',\n '(': ')',\n '[': ']'\n };\n\n var jsMode = CodeMirror.getMode(config, 'javascript');\n\n function State() {\n this.javaScriptLine = false;\n this.javaScriptLineExcludesColon = false;\n\n this.javaScriptArguments = false;\n this.javaScriptArgumentsDepth = 0;\n\n this.isInterpolating = false;\n this.interpolationNesting = 0;\n\n this.jsState = CodeMirror.startState(jsMode);\n\n this.restOfLine = '';\n\n this.isIncludeFiltered = false;\n this.isEach = false;\n\n this.lastTag = '';\n this.scriptType = '';\n\n // Attributes Mode\n this.isAttrs = false;\n this.attrsNest = [];\n this.inAttributeName = true;\n this.attributeIsType = false;\n this.attrValue = '';\n\n // Indented Mode\n this.indentOf = Infinity;\n this.indentToken = '';\n\n this.innerMode = null;\n this.innerState = null;\n\n this.innerModeForLine = false;\n }\n /**\n * Safely copy a state\n *\n * @return {State}\n */\n State.prototype.copy = function () {\n var res = new State();\n res.javaScriptLine = this.javaScriptLine;\n res.javaScriptLineExcludesColon = this.javaScriptLineExcludesColon;\n res.javaScriptArguments = this.javaScriptArguments;\n res.javaScriptArgumentsDepth = this.javaScriptArgumentsDepth;\n res.isInterpolating = this.isInterpolating;\n res.interpolationNesting = this.interpolationNesting;\n\n res.jsState = CodeMirror.copyState(jsMode, this.jsState);\n\n res.innerMode = this.innerMode;\n if (this.innerMode && this.innerState) {\n res.innerState = CodeMirror.copyState(this.innerMode, this.innerState);\n }\n\n res.restOfLine = this.restOfLine;\n\n res.isIncludeFiltered = this.isIncludeFiltered;\n res.isEach = this.isEach;\n res.lastTag = this.lastTag;\n res.scriptType = this.scriptType;\n res.isAttrs = this.isAttrs;\n res.attrsNest = this.attrsNest.slice();\n res.inAttributeName = this.inAttributeName;\n res.attributeIsType = this.attributeIsType;\n res.attrValue = this.attrValue;\n res.indentOf = this.indentOf;\n res.indentToken = this.indentToken;\n\n res.innerModeForLine = this.innerModeForLine;\n\n return res;\n };\n\n function javaScript(stream, state) {\n if (stream.sol()) {\n // if javaScriptLine was set at end of line, ignore it\n state.javaScriptLine = false;\n state.javaScriptLineExcludesColon = false;\n }\n if (state.javaScriptLine) {\n if (state.javaScriptLineExcludesColon && stream.peek() === ':') {\n state.javaScriptLine = false;\n state.javaScriptLineExcludesColon = false;\n return;\n }\n var tok = jsMode.token(stream, state.jsState);\n if (stream.eol()) state.javaScriptLine = false;\n return tok || true;\n }\n }\n function javaScriptArguments(stream, state) {\n if (state.javaScriptArguments) {\n if (state.javaScriptArgumentsDepth === 0 && stream.peek() !== '(') {\n state.javaScriptArguments = false;\n return;\n }\n if (stream.peek() === '(') {\n state.javaScriptArgumentsDepth++;\n } else if (stream.peek() === ')') {\n state.javaScriptArgumentsDepth--;\n }\n if (state.javaScriptArgumentsDepth === 0) {\n state.javaScriptArguments = false;\n return;\n }\n\n var tok = jsMode.token(stream, state.jsState);\n return tok || true;\n }\n }\n\n function yieldStatement(stream) {\n if (stream.match(/^yield\\b/)) {\n return 'keyword';\n }\n }\n\n function doctype(stream) {\n if (stream.match(/^(?:doctype) *([^\\n]+)?/)) {\n return DOCTYPE;\n }\n }\n\n function interpolation(stream, state) {\n if (stream.match('#{')) {\n state.isInterpolating = true;\n state.interpolationNesting = 0;\n return 'punctuation';\n }\n }\n\n function interpolationContinued(stream, state) {\n if (state.isInterpolating) {\n if (stream.peek() === '}') {\n state.interpolationNesting--;\n if (state.interpolationNesting < 0) {\n stream.next();\n state.isInterpolating = false;\n return 'punctuation';\n }\n } else if (stream.peek() === '{') {\n state.interpolationNesting++;\n }\n return jsMode.token(stream, state.jsState) || true;\n }\n }\n\n function caseStatement(stream, state) {\n if (stream.match(/^case\\b/)) {\n state.javaScriptLine = true;\n return KEYWORD;\n }\n }\n\n function when(stream, state) {\n if (stream.match(/^when\\b/)) {\n state.javaScriptLine = true;\n state.javaScriptLineExcludesColon = true;\n return KEYWORD;\n }\n }\n\n function defaultStatement(stream) {\n if (stream.match(/^default\\b/)) {\n return KEYWORD;\n }\n }\n\n function extendsStatement(stream, state) {\n if (stream.match(/^extends?\\b/)) {\n state.restOfLine = 'string';\n return KEYWORD;\n }\n }\n\n function append(stream, state) {\n if (stream.match(/^append\\b/)) {\n state.restOfLine = 'variable';\n return KEYWORD;\n }\n }\n function prepend(stream, state) {\n if (stream.match(/^prepend\\b/)) {\n state.restOfLine = 'variable';\n return KEYWORD;\n }\n }\n function block(stream, state) {\n if (stream.match(/^block\\b *(?:(prepend|append)\\b)?/)) {\n state.restOfLine = 'variable';\n return KEYWORD;\n }\n }\n\n function include(stream, state) {\n if (stream.match(/^include\\b/)) {\n state.restOfLine = 'string';\n return KEYWORD;\n }\n }\n\n function includeFiltered(stream, state) {\n if (stream.match(/^include:([a-zA-Z0-9\\-]+)/, false) && stream.match('include')) {\n state.isIncludeFiltered = true;\n return KEYWORD;\n }\n }\n\n function includeFilteredContinued(stream, state) {\n if (state.isIncludeFiltered) {\n var tok = filter(stream, state);\n state.isIncludeFiltered = false;\n state.restOfLine = 'string';\n return tok;\n }\n }\n\n function mixin(stream, state) {\n if (stream.match(/^mixin\\b/)) {\n state.javaScriptLine = true;\n return KEYWORD;\n }\n }\n\n function call(stream, state) {\n if (stream.match(/^\\+([-\\w]+)/)) {\n if (!stream.match(/^\\( *[-\\w]+ *=/, false)) {\n state.javaScriptArguments = true;\n state.javaScriptArgumentsDepth = 0;\n }\n return 'variable';\n }\n if (stream.match(/^\\+#{/, false)) {\n stream.next();\n state.mixinCallAfter = true;\n return interpolation(stream, state);\n }\n }\n function callArguments(stream, state) {\n if (state.mixinCallAfter) {\n state.mixinCallAfter = false;\n if (!stream.match(/^\\( *[-\\w]+ *=/, false)) {\n state.javaScriptArguments = true;\n state.javaScriptArgumentsDepth = 0;\n }\n return true;\n }\n }\n\n function conditional(stream, state) {\n if (stream.match(/^(if|unless|else if|else)\\b/)) {\n state.javaScriptLine = true;\n return KEYWORD;\n }\n }\n\n function each(stream, state) {\n if (stream.match(/^(- *)?(each|for)\\b/)) {\n state.isEach = true;\n return KEYWORD;\n }\n }\n function eachContinued(stream, state) {\n if (state.isEach) {\n if (stream.match(/^ in\\b/)) {\n state.javaScriptLine = true;\n state.isEach = false;\n return KEYWORD;\n } else if (stream.sol() || stream.eol()) {\n state.isEach = false;\n } else if (stream.next()) {\n while (!stream.match(/^ in\\b/, false) && stream.next());\n return 'variable';\n }\n }\n }\n\n function whileStatement(stream, state) {\n if (stream.match(/^while\\b/)) {\n state.javaScriptLine = true;\n return KEYWORD;\n }\n }\n\n function tag(stream, state) {\n var captures;\n if (captures = stream.match(/^(\\w(?:[-:\\w]*\\w)?)\\/?/)) {\n state.lastTag = captures[1].toLowerCase();\n if (state.lastTag === 'script') {\n state.scriptType = 'application/javascript';\n }\n return 'tag';\n }\n }\n\n function filter(stream, state) {\n if (stream.match(/^:([\\w\\-]+)/)) {\n var innerMode;\n if (config && config.innerModes) {\n innerMode = config.innerModes(stream.current().substring(1));\n }\n if (!innerMode) {\n innerMode = stream.current().substring(1);\n }\n if (typeof innerMode === 'string') {\n innerMode = CodeMirror.getMode(config, innerMode);\n }\n setInnerMode(stream, state, innerMode);\n return 'atom';\n }\n }\n\n function code(stream, state) {\n if (stream.match(/^(!?=|-)/)) {\n state.javaScriptLine = true;\n return 'punctuation';\n }\n }\n\n function id(stream) {\n if (stream.match(/^#([\\w-]+)/)) {\n return ID;\n }\n }\n\n function className(stream) {\n if (stream.match(/^\\.([\\w-]+)/)) {\n return CLASS;\n }\n }\n\n function attrs(stream, state) {\n if (stream.peek() == '(') {\n stream.next();\n state.isAttrs = true;\n state.attrsNest = [];\n state.inAttributeName = true;\n state.attrValue = '';\n state.attributeIsType = false;\n return 'punctuation';\n }\n }\n\n function attrsContinued(stream, state) {\n if (state.isAttrs) {\n if (ATTRS_NEST[stream.peek()]) {\n state.attrsNest.push(ATTRS_NEST[stream.peek()]);\n }\n if (state.attrsNest[state.attrsNest.length - 1] === stream.peek()) {\n state.attrsNest.pop();\n } else if (stream.eat(')')) {\n state.isAttrs = false;\n return 'punctuation';\n }\n if (state.inAttributeName && stream.match(/^[^=,\\)!]+/)) {\n if (stream.peek() === '=' || stream.peek() === '!') {\n state.inAttributeName = false;\n state.jsState = CodeMirror.startState(jsMode);\n if (state.lastTag === 'script' && stream.current().trim().toLowerCase() === 'type') {\n state.attributeIsType = true;\n } else {\n state.attributeIsType = false;\n }\n }\n return 'attribute';\n }\n\n var tok = jsMode.token(stream, state.jsState);\n if (state.attributeIsType && tok === 'string') {\n state.scriptType = stream.current().toString();\n }\n if (state.attrsNest.length === 0 && (tok === 'string' || tok === 'variable' || tok === 'keyword')) {\n try {\n Function('', 'var x ' + state.attrValue.replace(/,\\s*$/, '').replace(/^!/, ''));\n state.inAttributeName = true;\n state.attrValue = '';\n stream.backUp(stream.current().length);\n return attrsContinued(stream, state);\n } catch (ex) {\n //not the end of an attribute\n }\n }\n state.attrValue += stream.current();\n return tok || true;\n }\n }\n\n function attributesBlock(stream, state) {\n if (stream.match(/^&attributes\\b/)) {\n state.javaScriptArguments = true;\n state.javaScriptArgumentsDepth = 0;\n return 'keyword';\n }\n }\n\n function indent(stream) {\n if (stream.sol() && stream.eatSpace()) {\n return 'indent';\n }\n }\n\n function comment(stream, state) {\n if (stream.match(/^ *\\/\\/(-)?([^\\n]*)/)) {\n state.indentOf = stream.indentation();\n state.indentToken = 'comment';\n return 'comment';\n }\n }\n\n function colon(stream) {\n if (stream.match(/^: */)) {\n return 'colon';\n }\n }\n\n function text(stream, state) {\n if (stream.match(/^(?:\\| ?| )([^\\n]+)/)) {\n return 'string';\n }\n if (stream.match(/^(<[^\\n]*)/, false)) {\n // html string\n setInnerMode(stream, state, 'htmlmixed');\n state.innerModeForLine = true;\n return innerMode(stream, state, true);\n }\n }\n\n function dot(stream, state) {\n if (stream.eat('.')) {\n var innerMode = null;\n if (state.lastTag === 'script' && state.scriptType.toLowerCase().indexOf('javascript') != -1) {\n innerMode = state.scriptType.toLowerCase().replace(/\"|'/g, '');\n } else if (state.lastTag === 'style') {\n innerMode = 'css';\n }\n setInnerMode(stream, state, innerMode);\n return 'dot';\n }\n }\n\n function fail(stream) {\n stream.next();\n return null;\n }\n\n\n function setInnerMode(stream, state, mode) {\n mode = CodeMirror.mimeModes[mode] || mode;\n mode = config.innerModes ? config.innerModes(mode) || mode : mode;\n mode = CodeMirror.mimeModes[mode] || mode;\n mode = CodeMirror.getMode(config, mode);\n state.indentOf = stream.indentation();\n\n if (mode && mode.name !== 'null') {\n state.innerMode = mode;\n } else {\n state.indentToken = 'string';\n }\n }\n function innerMode(stream, state, force) {\n if (stream.indentation() > state.indentOf || (state.innerModeForLine && !stream.sol()) || force) {\n if (state.innerMode) {\n if (!state.innerState) {\n state.innerState = state.innerMode.startState ? CodeMirror.startState(state.innerMode, stream.indentation()) : {};\n }\n return stream.hideFirstChars(state.indentOf + 2, function () {\n return state.innerMode.token(stream, state.innerState) || true;\n });\n } else {\n stream.skipToEnd();\n return state.indentToken;\n }\n } else if (stream.sol()) {\n state.indentOf = Infinity;\n state.indentToken = null;\n state.innerMode = null;\n state.innerState = null;\n }\n }\n function restOfLine(stream, state) {\n if (stream.sol()) {\n // if restOfLine was set at end of line, ignore it\n state.restOfLine = '';\n }\n if (state.restOfLine) {\n stream.skipToEnd();\n var tok = state.restOfLine;\n state.restOfLine = '';\n return tok;\n }\n }\n\n\n function startState() {\n return new State();\n }\n function copyState(state) {\n return state.copy();\n }\n /**\n * Get the next token in the stream\n *\n * @param {Stream} stream\n * @param {State} state\n */\n function nextToken(stream, state) {\n var tok = innerMode(stream, state)\n || restOfLine(stream, state)\n || interpolationContinued(stream, state)\n || includeFilteredContinued(stream, state)\n || eachContinued(stream, state)\n || attrsContinued(stream, state)\n || javaScript(stream, state)\n || javaScriptArguments(stream, state)\n || callArguments(stream, state)\n\n || yieldStatement(stream, state)\n || doctype(stream, state)\n || interpolation(stream, state)\n || caseStatement(stream, state)\n || when(stream, state)\n || defaultStatement(stream, state)\n || extendsStatement(stream, state)\n || append(stream, state)\n || prepend(stream, state)\n || block(stream, state)\n || include(stream, state)\n || includeFiltered(stream, state)\n || mixin(stream, state)\n || call(stream, state)\n || conditional(stream, state)\n || each(stream, state)\n || whileStatement(stream, state)\n || tag(stream, state)\n || filter(stream, state)\n || code(stream, state)\n || id(stream, state)\n || className(stream, state)\n || attrs(stream, state)\n || attributesBlock(stream, state)\n || indent(stream, state)\n || text(stream, state)\n || comment(stream, state)\n || colon(stream, state)\n || dot(stream, state)\n || fail(stream, state);\n\n return tok === true ? null : tok;\n }\n return {\n startState: startState,\n copyState: copyState,\n token: nextToken\n };\n}, 'javascript', 'css', 'htmlmixed');\n\nCodeMirror.defineMIME('text/x-pug', 'pug');\nCodeMirror.defineMIME('text/x-jade', 'pug');\n\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9tb2RlL3B1Zy9wdWcuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9tb2RlL3B1Zy9wdWcuanM/NWJlZiJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb2RlTWlycm9yLCBjb3B5cmlnaHQgKGMpIGJ5IE1hcmlqbiBIYXZlcmJla2UgYW5kIG90aGVyc1xuLy8gRGlzdHJpYnV0ZWQgdW5kZXIgYW4gTUlUIGxpY2Vuc2U6IGh0dHBzOi8vY29kZW1pcnJvci5uZXQvTElDRU5TRVxuXG4oZnVuY3Rpb24obW9kKSB7XG4gIGlmICh0eXBlb2YgZXhwb3J0cyA9PSBcIm9iamVjdFwiICYmIHR5cGVvZiBtb2R1bGUgPT0gXCJvYmplY3RcIikgLy8gQ29tbW9uSlNcbiAgICBtb2QocmVxdWlyZShcIi4uLy4uL2xpYi9jb2RlbWlycm9yXCIpLCByZXF1aXJlKFwiLi4vamF2YXNjcmlwdC9qYXZhc2NyaXB0XCIpLCByZXF1aXJlKFwiLi4vY3NzL2Nzc1wiKSwgcmVxdWlyZShcIi4uL2h0bWxtaXhlZC9odG1sbWl4ZWRcIikpO1xuICBlbHNlIGlmICh0eXBlb2YgZGVmaW5lID09IFwiZnVuY3Rpb25cIiAmJiBkZWZpbmUuYW1kKSAvLyBBTURcbiAgICBkZWZpbmUoW1wiLi4vLi4vbGliL2NvZGVtaXJyb3JcIiwgXCIuLi9qYXZhc2NyaXB0L2phdmFzY3JpcHRcIiwgXCIuLi9jc3MvY3NzXCIsIFwiLi4vaHRtbG1peGVkL2h0bWxtaXhlZFwiXSwgbW9kKTtcbiAgZWxzZSAvLyBQbGFpbiBicm93c2VyIGVudlxuICAgIG1vZChDb2RlTWlycm9yKTtcbn0pKGZ1bmN0aW9uKENvZGVNaXJyb3IpIHtcblwidXNlIHN0cmljdFwiO1xuXG5Db2RlTWlycm9yLmRlZmluZU1vZGUoXCJwdWdcIiwgZnVuY3Rpb24gKGNvbmZpZykge1xuICAvLyB0b2tlbiB0eXBlc1xuICB2YXIgS0VZV09SRCA9ICdrZXl3b3JkJztcbiAgdmFyIERPQ1RZUEUgPSAnbWV0YSc7XG4gIHZhciBJRCA9ICdidWlsdGluJztcbiAgdmFyIENMQVNTID0gJ3F1YWxpZmllcic7XG5cbiAgdmFyIEFUVFJTX05FU1QgPSB7XG4gICAgJ3snOiAnfScsXG4gICAgJygnOiAnKScsXG4gICAgJ1snOiAnXSdcbiAgfTtcblxuICB2YXIganNNb2RlID0gQ29kZU1pcnJvci5nZXRNb2RlKGNvbmZpZywgJ2phdmFzY3JpcHQnKTtcblxuICBmdW5jdGlvbiBTdGF0ZSgpIHtcbiAgICB0aGlzLmphdmFTY3JpcHRMaW5lID0gZmFsc2U7XG4gICAgdGhpcy5qYXZhU2NyaXB0TGluZUV4Y2x1ZGVzQ29sb24gPSBmYWxzZTtcblxuICAgIHRoaXMuamF2YVNjcmlwdEFyZ3VtZW50cyA9IGZhbHNlO1xuICAgIHRoaXMuamF2YVNjcmlwdEFyZ3VtZW50c0RlcHRoID0gMDtcblxuICAgIHRoaXMuaXNJbnRlcnBvbGF0aW5nID0gZmFsc2U7XG4gICAgdGhpcy5pbnRlcnBvbGF0aW9uTmVzdGluZyA9IDA7XG5cbiAgICB0aGlzLmpzU3RhdGUgPSBDb2RlTWlycm9yLnN0YXJ0U3RhdGUoanNNb2RlKTtcblxuICAgIHRoaXMucmVzdE9mTGluZSA9ICcnO1xuXG4gICAgdGhpcy5pc0luY2x1ZGVGaWx0ZXJlZCA9IGZhbHNlO1xuICAgIHRoaXMuaXNFYWNoID0gZmFsc2U7XG5cbiAgICB0aGlzLmxhc3RUYWcgPSAnJztcbiAgICB0aGlzLnNjcmlwdFR5cGUgPSAnJztcblxuICAgIC8vIEF0dHJpYnV0ZXMgTW9kZVxuICAgIHRoaXMuaXNBdHRycyA9IGZhbHNlO1xuICAgIHRoaXMuYXR0cnNOZXN0ID0gW107XG4gICAgdGhpcy5pbkF0dHJpYnV0ZU5hbWUgPSB0cnVlO1xuICAgIHRoaXMuYXR0cmlidXRlSXNUeXBlID0gZmFsc2U7XG4gICAgdGhpcy5hdHRyVmFsdWUgPSAnJztcblxuICAgIC8vIEluZGVudGVkIE1vZGVcbiAgICB0aGlzLmluZGVudE9mID0gSW5maW5pdHk7XG4gICAgdGhpcy5pbmRlbnRUb2tlbiA9ICcnO1xuXG4gICAgdGhpcy5pbm5lck1vZGUgPSBudWxsO1xuICAgIHRoaXMuaW5uZXJTdGF0ZSA9IG51bGw7XG5cbiAgICB0aGlzLmlubmVyTW9kZUZvckxpbmUgPSBmYWxzZTtcbiAgfVxuICAvKipcbiAgICogU2FmZWx5IGNvcHkgYSBzdGF0ZVxuICAgKlxuICAgKiBAcmV0dXJuIHtTdGF0ZX1cbiAgICovXG4gIFN0YXRlLnByb3RvdHlwZS5jb3B5ID0gZnVuY3Rpb24gKCkge1xuICAgIHZhciByZXMgPSBuZXcgU3RhdGUoKTtcbiAgICByZXMuamF2YVNjcmlwdExpbmUgPSB0aGlzLmphdmFTY3JpcHRMaW5lO1xuICAgIHJlcy5qYXZhU2NyaXB0TGluZUV4Y2x1ZGVzQ29sb24gPSB0aGlzLmphdmFTY3JpcHRMaW5lRXhjbHVkZXNDb2xvbjtcbiAgICByZXMuamF2YVNjcmlwdEFyZ3VtZW50cyA9IHRoaXMuamF2YVNjcmlwdEFyZ3VtZW50cztcbiAgICByZXMuamF2YVNjcmlwdEFyZ3VtZW50c0RlcHRoID0gdGhpcy5qYXZhU2NyaXB0QXJndW1lbnRzRGVwdGg7XG4gICAgcmVzLmlzSW50ZXJwb2xhdGluZyA9IHRoaXMuaXNJbnRlcnBvbGF0aW5nO1xuICAgIHJlcy5pbnRlcnBvbGF0aW9uTmVzdGluZyA9IHRoaXMuaW50ZXJwb2xhdGlvbk5lc3Rpbmc7XG5cbiAgICByZXMuanNTdGF0ZSA9IENvZGVNaXJyb3IuY29weVN0YXRlKGpzTW9kZSwgdGhpcy5qc1N0YXRlKTtcblxuICAgIHJlcy5pbm5lck1vZGUgPSB0aGlzLmlubmVyTW9kZTtcbiAgICBpZiAodGhpcy5pbm5lck1vZGUgJiYgdGhpcy5pbm5lclN0YXRlKSB7XG4gICAgICByZXMuaW5uZXJTdGF0ZSA9IENvZGVNaXJyb3IuY29weVN0YXRlKHRoaXMuaW5uZXJNb2RlLCB0aGlzLmlubmVyU3RhdGUpO1xuICAgIH1cblxuICAgIHJlcy5yZXN0T2ZMaW5lID0gdGhpcy5yZXN0T2ZMaW5lO1xuXG4gICAgcmVzLmlzSW5jbHVkZUZpbHRlcmVkID0gdGhpcy5pc0luY2x1ZGVGaWx0ZXJlZDtcbiAgICByZXMuaXNFYWNoID0gdGhpcy5pc0VhY2g7XG4gICAgcmVzLmxhc3RUYWcgPSB0aGlzLmxhc3RUYWc7XG4gICAgcmVzLnNjcmlwdFR5cGUgPSB0aGlzLnNjcmlwdFR5cGU7XG4gICAgcmVzLmlzQXR0cnMgPSB0aGlzLmlzQXR0cnM7XG4gICAgcmVzLmF0dHJzTmVzdCA9IHRoaXMuYXR0cnNOZXN0LnNsaWNlKCk7XG4gICAgcmVzLmluQXR0cmlidXRlTmFtZSA9IHRoaXMuaW5BdHRyaWJ1dGVOYW1lO1xuICAgIHJlcy5hdHRyaWJ1dGVJc1R5cGUgPSB0aGlzLmF0dHJpYnV0ZUlzVHlwZTtcbiAgICByZXMuYXR0clZhbHVlID0gdGhpcy5hdHRyVmFsdWU7XG4gICAgcmVzLmluZGVudE9mID0gdGhpcy5pbmRlbnRPZjtcbiAgICByZXMuaW5kZW50VG9rZW4gPSB0aGlzLmluZGVudFRva2VuO1xuXG4gICAgcmVzLmlubmVyTW9kZUZvckxpbmUgPSB0aGlzLmlubmVyTW9kZUZvckxpbmU7XG5cbiAgICByZXR1cm4gcmVzO1xuICB9O1xuXG4gIGZ1bmN0aW9uIGphdmFTY3JpcHQoc3RyZWFtLCBzdGF0ZSkge1xuICAgIGlmIChzdHJlYW0uc29sKCkpIHtcbiAgICAgIC8vIGlmIGphdmFTY3JpcHRMaW5lIHdhcyBzZXQgYXQgZW5kIG9mIGxpbmUsIGlnbm9yZSBpdFxuICAgICAgc3RhdGUuamF2YVNjcmlwdExpbmUgPSBmYWxzZTtcbiAgICAgIHN0YXRlLmphdmFTY3JpcHRMaW5lRXhjbHVkZXNDb2xvbiA9IGZhbHNlO1xuICAgIH1cbiAgICBpZiAoc3RhdGUuamF2YVNjcmlwdExpbmUpIHtcbiAgICAgIGlmIChzdGF0ZS5qYXZhU2NyaXB0TGluZUV4Y2x1ZGVzQ29sb24gJiYgc3RyZWFtLnBlZWsoKSA9PT0gJzonKSB7XG4gICAgICAgIHN0YXRlLmphdmFTY3JpcHRMaW5lID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLmphdmFTY3JpcHRMaW5lRXhjbHVkZXNDb2xvbiA9IGZhbHNlO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICB2YXIgdG9rID0ganNNb2RlLnRva2VuKHN0cmVhbSwgc3RhdGUuanNTdGF0ZSk7XG4gICAgICBpZiAoc3RyZWFtLmVvbCgpKSBzdGF0ZS5qYXZhU2NyaXB0TGluZSA9IGZhbHNlO1xuICAgICAgcmV0dXJuIHRvayB8fCB0cnVlO1xuICAgIH1cbiAgfVxuICBmdW5jdGlvbiBqYXZhU2NyaXB0QXJndW1lbnRzKHN0cmVhbSwgc3RhdGUpIHtcbiAgICBpZiAoc3RhdGUuamF2YVNjcmlwdEFyZ3VtZW50cykge1xuICAgICAgaWYgKHN0YXRlLmphdmFTY3JpcHRBcmd1bWVudHNEZXB0aCA9PT0gMCAmJiBzdHJlYW0ucGVlaygpICE9PSAnKCcpIHtcbiAgICAgICAgc3RhdGUuamF2YVNjcmlwdEFyZ3VtZW50cyA9IGZhbHNlO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBpZiAoc3RyZWFtLnBlZWsoKSA9PT0gJygnKSB7XG4gICAgICAgIHN0YXRlLmphdmFTY3JpcHRBcmd1bWVudHNEZXB0aCsrO1xuICAgICAgfSBlbHNlIGlmIChzdHJlYW0ucGVlaygpID09PSAnKScpIHtcbiAgICAgICAgc3RhdGUuamF2YVNjcmlwdEFyZ3VtZW50c0RlcHRoLS07XG4gICAgICB9XG4gICAgICBpZiAoc3RhdGUuamF2YVNjcmlwdEFyZ3VtZW50c0RlcHRoID09PSAwKSB7XG4gICAgICAgIHN0YXRlLmphdmFTY3JpcHRBcmd1bWVudHMgPSBmYWxzZTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB2YXIgdG9rID0ganNNb2RlLnRva2VuKHN0cmVhbSwgc3RhdGUuanNTdGF0ZSk7XG4gICAgICByZXR1cm4gdG9rIHx8IHRydWU7XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24geWllbGRTdGF0ZW1lbnQoc3RyZWFtKSB7XG4gICAgaWYgKHN0cmVhbS5tYXRjaCgvXnlpZWxkXFxiLykpIHtcbiAgICAgICAgcmV0dXJuICdrZXl3b3JkJztcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBkb2N0eXBlKHN0cmVhbSkge1xuICAgIGlmIChzdHJlYW0ubWF0Y2goL14oPzpkb2N0eXBlKSAqKFteXFxuXSspPy8pKSB7XG4gICAgICAgIHJldHVybiBET0NUWVBFO1xuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIGludGVycG9sYXRpb24oc3RyZWFtLCBzdGF0ZSkge1xuICAgIGlmIChzdHJlYW0ubWF0Y2goJyN7JykpIHtcbiAgICAgIHN0YXRlLmlzSW50ZXJwb2xhdGluZyA9IHRydWU7XG4gICAgICBzdGF0ZS5pbnRlcnBvbGF0aW9uTmVzdGluZyA9IDA7XG4gICAgICByZXR1cm4gJ3B1bmN0dWF0aW9uJztcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBpbnRlcnBvbGF0aW9uQ29udGludWVkKHN0cmVhbSwgc3RhdGUpIHtcbiAgICBpZiAoc3RhdGUuaXNJbnRlcnBvbGF0aW5nKSB7XG4gICAgICBpZiAoc3RyZWFtLnBlZWsoKSA9PT0gJ30nKSB7XG4gICAgICAgIHN0YXRlLmludGVycG9sYXRpb25OZXN0aW5nLS07XG4gICAgICAgIGlmIChzdGF0ZS5pbnRlcnBvbGF0aW9uTmVzdGluZyA8IDApIHtcbiAgICAgICAgICBzdHJlYW0ubmV4dCgpO1xuICAgICAgICAgIHN0YXRlLmlzSW50ZXJwb2xhdGluZyA9IGZhbHNlO1xuICAgICAgICAgIHJldHVybiAncHVuY3R1YXRpb24nO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKHN0cmVhbS5wZWVrKCkgPT09ICd7Jykge1xuICAgICAgICBzdGF0ZS5pbnRlcnBvbGF0aW9uTmVzdGluZysrO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGpzTW9kZS50b2tlbihzdHJlYW0sIHN0YXRlLmpzU3RhdGUpIHx8IHRydWU7XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gY2FzZVN0YXRlbWVudChzdHJlYW0sIHN0YXRlKSB7XG4gICAgaWYgKHN0cmVhbS5tYXRjaCgvXmNhc2VcXGIvKSkge1xuICAgICAgc3RhdGUuamF2YVNjcmlwdExpbmUgPSB0cnVlO1xuICAgICAgcmV0dXJuIEtFWVdPUkQ7XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gd2hlbihzdHJlYW0sIHN0YXRlKSB7XG4gICAgaWYgKHN0cmVhbS5tYXRjaCgvXndoZW5cXGIvKSkge1xuICAgICAgc3RhdGUuamF2YVNjcmlwdExpbmUgPSB0cnVlO1xuICAgICAgc3RhdGUuamF2YVNjcmlwdExpbmVFeGNsdWRlc0NvbG9uID0gdHJ1ZTtcbiAgICAgIHJldHVybiBLRVlXT1JEO1xuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIGRlZmF1bHRTdGF0ZW1lbnQoc3RyZWFtKSB7XG4gICAgaWYgKHN0cmVhbS5tYXRjaCgvXmRlZmF1bHRcXGIvKSkge1xuICAgICAgcmV0dXJuIEtFWVdPUkQ7XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gZXh0ZW5kc1N0YXRlbWVudChzdHJlYW0sIHN0YXRlKSB7XG4gICAgaWYgKHN0cmVhbS5tYXRjaCgvXmV4dGVuZHM/XFxiLykpIHtcbiAgICAgIHN0YXRlLnJlc3RPZkxpbmUgPSAnc3RyaW5nJztcbiAgICAgIHJldHVybiBLRVlXT1JEO1xuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIGFwcGVuZChzdHJlYW0sIHN0YXRlKSB7XG4gICAgaWYgKHN0cmVhbS5tYXRjaCgvXmFwcGVuZFxcYi8pKSB7XG4gICAgICBzdGF0ZS5yZXN0T2ZMaW5lID0gJ3ZhcmlhYmxlJztcbiAgICAgIHJldHVybiBLRVlXT1JEO1xuICAgIH1cbiAgfVxuICBmdW5jdGlvbiBwcmVwZW5kKHN0cmVhbSwgc3RhdGUpIHtcbiAgICBpZiAoc3RyZWFtLm1hdGNoKC9ecHJlcGVuZFxcYi8pKSB7XG4gICAgICBzdGF0ZS5yZXN0T2ZMaW5lID0gJ3ZhcmlhYmxlJztcbiAgICAgIHJldHVybiBLRVlXT1JEO1xuICAgIH1cbiAgfVxuICBmdW5jdGlvbiBibG9jayhzdHJlYW0sIHN0YXRlKSB7XG4gICAgaWYgKHN0cmVhbS5tYXRjaCgvXmJsb2NrXFxiICooPzoocHJlcGVuZHxhcHBlbmQpXFxiKT8vKSkge1xuICAgICAgc3RhdGUucmVzdE9mTGluZSA9ICd2YXJpYWJsZSc7XG4gICAgICByZXR1cm4gS0VZV09SRDtcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBpbmNsdWRlKHN0cmVhbSwgc3RhdGUpIHtcbiAgICBpZiAoc3RyZWFtLm1hdGNoKC9eaW5jbHVkZVxcYi8pKSB7XG4gICAgICBzdGF0ZS5yZXN0T2ZMaW5lID0gJ3N0cmluZyc7XG4gICAgICByZXR1cm4gS0VZV09SRDtcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBpbmNsdWRlRmlsdGVyZWQoc3RyZWFtLCBzdGF0ZSkge1xuICAgIGlmIChzdHJlYW0ubWF0Y2goL15pbmNsdWRlOihbYS16QS1aMC05XFwtXSspLywgZmFsc2UpICYmIHN0cmVhbS5tYXRjaCgnaW5jbHVkZScpKSB7XG4gICAgICBzdGF0ZS5pc0luY2x1ZGVGaWx0ZXJlZCA9IHRydWU7XG4gICAgICByZXR1cm4gS0VZV09SRDtcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBpbmNsdWRlRmlsdGVyZWRDb250aW51ZWQoc3RyZWFtLCBzdGF0ZSkge1xuICAgIGlmIChzdGF0ZS5pc0luY2x1ZGVGaWx0ZXJlZCkge1xuICAgICAgdmFyIHRvayA9IGZpbHRlcihzdHJlYW0sIHN0YXRlKTtcbiAgICAgIHN0YXRlLmlzSW5jbHVkZUZpbHRlcmVkID0gZmFsc2U7XG4gICAgICBzdGF0ZS5yZXN0T2ZMaW5lID0gJ3N0cmluZyc7XG4gICAgICByZXR1cm4gdG9rO1xuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIG1peGluKHN0cmVhbSwgc3RhdGUpIHtcbiAgICBpZiAoc3RyZWFtLm1hdGNoKC9ebWl4aW5cXGIvKSkge1xuICAgICAgc3RhdGUuamF2YVNjcmlwdExpbmUgPSB0cnVlO1xuICAgICAgcmV0dXJuIEtFWVdPUkQ7XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gY2FsbChzdHJlYW0sIHN0YXRlKSB7XG4gICAgaWYgKHN0cmVhbS5tYXRjaCgvXlxcKyhbLVxcd10rKS8pKSB7XG4gICAgICBpZiAoIXN0cmVhbS5tYXRjaCgvXlxcKCAqWy1cXHddKyAqPS8sIGZhbHNlKSkge1xuICAgICAgICBzdGF0ZS5qYXZhU2NyaXB0QXJndW1lbnRzID0gdHJ1ZTtcbiAgICAgICAgc3RhdGUuamF2YVNjcmlwdEFyZ3VtZW50c0RlcHRoID0gMDtcbiAgICAgIH1cbiAgICAgIHJldHVybiAndmFyaWFibGUnO1xuICAgIH1cbiAgICBpZiAoc3RyZWFtLm1hdGNoKC9eXFwrI3svLCBmYWxzZSkpIHtcbiAgICAgIHN0cmVhbS5uZXh0KCk7XG4gICAgICBzdGF0ZS5taXhpbkNhbGxBZnRlciA9IHRydWU7XG4gICAgICByZXR1cm4gaW50ZXJwb2xhdGlvbihzdHJlYW0sIHN0YXRlKTtcbiAgICB9XG4gIH1cbiAgZnVuY3Rpb24gY2FsbEFyZ3VtZW50cyhzdHJlYW0sIHN0YXRlKSB7XG4gICAgaWYgKHN0YXRlLm1peGluQ2FsbEFmdGVyKSB7XG4gICAgICBzdGF0ZS5taXhpbkNhbGxBZnRlciA9IGZhbHNlO1xuICAgICAgaWYgKCFzdHJlYW0ubWF0Y2goL15cXCggKlstXFx3XSsgKj0vLCBmYWxzZSkpIHtcbiAgICAgICAgc3RhdGUuamF2YVNjcmlwdEFyZ3VtZW50cyA9IHRydWU7XG4gICAgICAgIHN0YXRlLmphdmFTY3JpcHRBcmd1bWVudHNEZXB0aCA9IDA7XG4gICAgICB9XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBjb25kaXRpb25hbChzdHJlYW0sIHN0YXRlKSB7XG4gICAgaWYgKHN0cmVhbS5tYXRjaCgvXihpZnx1bmxlc3N8ZWxzZSBpZnxlbHNlKVxcYi8pKSB7XG4gICAgICBzdGF0ZS5qYXZhU2NyaXB0TGluZSA9IHRydWU7XG4gICAgICByZXR1cm4gS0VZV09SRDtcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBlYWNoKHN0cmVhbSwgc3RhdGUpIHtcbiAgICBpZiAoc3RyZWFtLm1hdGNoKC9eKC0gKik/KGVhY2h8Zm9yKVxcYi8pKSB7XG4gICAgICBzdGF0ZS5pc0VhY2ggPSB0cnVlO1xuICAgICAgcmV0dXJuIEtFWVdPUkQ7XG4gICAgfVxuICB9XG4gIGZ1bmN0aW9uIGVhY2hDb250aW51ZWQoc3RyZWFtLCBzdGF0ZSkge1xuICAgIGlmIChzdGF0ZS5pc0VhY2gpIHtcbiAgICAgIGlmIChzdHJlYW0ubWF0Y2goL14gaW5cXGIvKSkge1xuICAgICAgICBzdGF0ZS5qYXZhU2NyaXB0TGluZSA9IHRydWU7XG4gICAgICAgIHN0YXRlLmlzRWFjaCA9IGZhbHNlO1xuICAgICAgICByZXR1cm4gS0VZV09SRDtcbiAgICAgIH0gZWxzZSBpZiAoc3RyZWFtLnNvbCgpIHx8IHN0cmVhbS5lb2woKSkge1xuICAgICAgICBzdGF0ZS5pc0VhY2ggPSBmYWxzZTtcbiAgICAgIH0gZWxzZSBpZiAoc3RyZWFtLm5leHQoKSkge1xuICAgICAgICB3aGlsZSAoIXN0cmVhbS5tYXRjaCgvXiBpblxcYi8sIGZhbHNlKSAmJiBzdHJlYW0ubmV4dCgpKTtcbiAgICAgICAgcmV0dXJuICd2YXJpYWJsZSc7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gd2hpbGVTdGF0ZW1lbnQoc3RyZWFtLCBzdGF0ZSkge1xuICAgIGlmIChzdHJlYW0ubWF0Y2goL153aGlsZVxcYi8pKSB7XG4gICAgICBzdGF0ZS5qYXZhU2NyaXB0TGluZSA9IHRydWU7XG4gICAgICByZXR1cm4gS0VZV09SRDtcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiB0YWcoc3RyZWFtLCBzdGF0ZSkge1xuICAgIHZhciBjYXB0dXJlcztcbiAgICBpZiAoY2FwdHVyZXMgPSBzdHJlYW0ubWF0Y2goL14oXFx3KD86Wy06XFx3XSpcXHcpPylcXC8/LykpIHtcbiAgICAgIHN0YXRlLmxhc3RUYWcgPSBjYXB0dXJlc1sxXS50b0xvd2VyQ2FzZSgpO1xuICAgICAgaWYgKHN0YXRlLmxhc3RUYWcgPT09ICdzY3JpcHQnKSB7XG4gICAgICAgIHN0YXRlLnNjcmlwdFR5cGUgPSAnYXBwbGljYXRpb24vamF2YXNjcmlwdCc7XG4gICAgICB9XG4gICAgICByZXR1cm4gJ3RhZyc7XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gZmlsdGVyKHN0cmVhbSwgc3RhdGUpIHtcbiAgICBpZiAoc3RyZWFtLm1hdGNoKC9eOihbXFx3XFwtXSspLykpIHtcbiAgICAgIHZhciBpbm5lck1vZGU7XG4gICAgICBpZiAoY29uZmlnICYmIGNvbmZpZy5pbm5lck1vZGVzKSB7XG4gICAgICAgIGlubmVyTW9kZSA9IGNvbmZpZy5pbm5lck1vZGVzKHN0cmVhbS5jdXJyZW50KCkuc3Vic3RyaW5nKDEpKTtcbiAgICAgIH1cbiAgICAgIGlmICghaW5uZXJNb2RlKSB7XG4gICAgICAgIGlubmVyTW9kZSA9IHN0cmVhbS5jdXJyZW50KCkuc3Vic3RyaW5nKDEpO1xuICAgICAgfVxuICAgICAgaWYgKHR5cGVvZiBpbm5lck1vZGUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIGlubmVyTW9kZSA9IENvZGVNaXJyb3IuZ2V0TW9kZShjb25maWcsIGlubmVyTW9kZSk7XG4gICAgICB9XG4gICAgICBzZXRJbm5lck1vZGUoc3RyZWFtLCBzdGF0ZSwgaW5uZXJNb2RlKTtcbiAgICAgIHJldHVybiAnYXRvbSc7XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gY29kZShzdHJlYW0sIHN0YXRlKSB7XG4gICAgaWYgKHN0cmVhbS5tYXRjaCgvXighPz18LSkvKSkge1xuICAgICAgc3RhdGUuamF2YVNjcmlwdExpbmUgPSB0cnVlO1xuICAgICAgcmV0dXJuICdwdW5jdHVhdGlvbic7XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gaWQoc3RyZWFtKSB7XG4gICAgaWYgKHN0cmVhbS5tYXRjaCgvXiMoW1xcdy1dKykvKSkge1xuICAgICAgcmV0dXJuIElEO1xuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIGNsYXNzTmFtZShzdHJlYW0pIHtcbiAgICBpZiAoc3RyZWFtLm1hdGNoKC9eXFwuKFtcXHctXSspLykpIHtcbiAgICAgIHJldHVybiBDTEFTUztcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBhdHRycyhzdHJlYW0sIHN0YXRlKSB7XG4gICAgaWYgKHN0cmVhbS5wZWVrKCkgPT0gJygnKSB7XG4gICAgICBzdHJlYW0ubmV4dCgpO1xuICAgICAgc3RhdGUuaXNBdHRycyA9IHRydWU7XG4gICAgICBzdGF0ZS5hdHRyc05lc3QgPSBbXTtcbiAgICAgIHN0YXRlLmluQXR0cmlidXRlTmFtZSA9IHRydWU7XG4gICAgICBzdGF0ZS5hdHRyVmFsdWUgPSAnJztcbiAgICAgIHN0YXRlLmF0dHJpYnV0ZUlzVHlwZSA9IGZhbHNlO1xuICAgICAgcmV0dXJuICdwdW5jdHVhdGlvbic7XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gYXR0cnNDb250aW51ZWQoc3RyZWFtLCBzdGF0ZSkge1xuICAgIGlmIChzdGF0ZS5pc0F0dHJzKSB7XG4gICAgICBpZiAoQVRUUlNfTkVTVFtzdHJlYW0ucGVlaygpXSkge1xuICAgICAgICBzdGF0ZS5hdHRyc05lc3QucHVzaChBVFRSU19ORVNUW3N0cmVhbS5wZWVrKCldKTtcbiAgICAgIH1cbiAgICAgIGlmIChzdGF0ZS5hdHRyc05lc3Rbc3RhdGUuYXR0cnNOZXN0Lmxlbmd0aCAtIDFdID09PSBzdHJlYW0ucGVlaygpKSB7XG4gICAgICAgIHN0YXRlLmF0dHJzTmVzdC5wb3AoKTtcbiAgICAgIH0gZWxzZSAgaWYgKHN0cmVhbS5lYXQoJyknKSkge1xuICAgICAgICBzdGF0ZS5pc0F0dHJzID0gZmFsc2U7XG4gICAgICAgIHJldHVybiAncHVuY3R1YXRpb24nO1xuICAgICAgfVxuICAgICAgaWYgKHN0YXRlLmluQXR0cmlidXRlTmFtZSAmJiBzdHJlYW0ubWF0Y2goL15bXj0sXFwpIV0rLykpIHtcbiAgICAgICAgaWYgKHN0cmVhbS5wZWVrKCkgPT09ICc9JyB8fCBzdHJlYW0ucGVlaygpID09PSAnIScpIHtcbiAgICAgICAgICBzdGF0ZS5pbkF0dHJpYnV0ZU5hbWUgPSBmYWxzZTtcbiAgICAgICAgICBzdGF0ZS5qc1N0YXRlID0gQ29kZU1pcnJvci5zdGFydFN0YXRlKGpzTW9kZSk7XG4gICAgICAgICAgaWYgKHN0YXRlLmxhc3RUYWcgPT09ICdzY3JpcHQnICYmIHN0cmVhbS5jdXJyZW50KCkudHJpbSgpLnRvTG93ZXJDYXNlKCkgPT09ICd0eXBlJykge1xuICAgICAgICAgICAgc3RhdGUuYXR0cmlidXRlSXNUeXBlID0gdHJ1ZTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc3RhdGUuYXR0cmlidXRlSXNUeXBlID0gZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiAnYXR0cmlidXRlJztcbiAgICAgIH1cblxuICAgICAgdmFyIHRvayA9IGpzTW9kZS50b2tlbihzdHJlYW0sIHN0YXRlLmpzU3RhdGUpO1xuICAgICAgaWYgKHN0YXRlLmF0dHJpYnV0ZUlzVHlwZSAmJiB0b2sgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHN0YXRlLnNjcmlwdFR5cGUgPSBzdHJlYW0uY3VycmVudCgpLnRvU3RyaW5nKCk7XG4gICAgICB9XG4gICAgICBpZiAoc3RhdGUuYXR0cnNOZXN0Lmxlbmd0aCA9PT0gMCAmJiAodG9rID09PSAnc3RyaW5nJyB8fCB0b2sgPT09ICd2YXJpYWJsZScgfHwgdG9rID09PSAna2V5d29yZCcpKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgRnVuY3Rpb24oJycsICd2YXIgeCAnICsgc3RhdGUuYXR0clZhbHVlLnJlcGxhY2UoLyxcXHMqJC8sICcnKS5yZXBsYWNlKC9eIS8sICcnKSk7XG4gICAgICAgICAgc3RhdGUuaW5BdHRyaWJ1dGVOYW1lID0gdHJ1ZTtcbiAgICAgICAgICBzdGF0ZS5hdHRyVmFsdWUgPSAnJztcbiAgICAgICAgICBzdHJlYW0uYmFja1VwKHN0cmVhbS5jdXJyZW50KCkubGVuZ3RoKTtcbiAgICAgICAgICByZXR1cm4gYXR0cnNDb250aW51ZWQoc3RyZWFtLCBzdGF0ZSk7XG4gICAgICAgIH0gY2F0Y2ggKGV4KSB7XG4gICAgICAgICAgLy9ub3QgdGhlIGVuZCBvZiBhbiBhdHRyaWJ1dGVcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgc3RhdGUuYXR0clZhbHVlICs9IHN0cmVhbS5jdXJyZW50KCk7XG4gICAgICByZXR1cm4gdG9rIHx8IHRydWU7XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gYXR0cmlidXRlc0Jsb2NrKHN0cmVhbSwgc3RhdGUpIHtcbiAgICBpZiAoc3RyZWFtLm1hdGNoKC9eJmF0dHJpYnV0ZXNcXGIvKSkge1xuICAgICAgc3RhdGUuamF2YVNjcmlwdEFyZ3VtZW50cyA9IHRydWU7XG4gICAgICBzdGF0ZS5qYXZhU2NyaXB0QXJndW1lbnRzRGVwdGggPSAwO1xuICAgICAgcmV0dXJuICdrZXl3b3JkJztcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBpbmRlbnQoc3RyZWFtKSB7XG4gICAgaWYgKHN0cmVhbS5zb2woKSAmJiBzdHJlYW0uZWF0U3BhY2UoKSkge1xuICAgICAgcmV0dXJuICdpbmRlbnQnO1xuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIGNvbW1lbnQoc3RyZWFtLCBzdGF0ZSkge1xuICAgIGlmIChzdHJlYW0ubWF0Y2goL14gKlxcL1xcLygtKT8oW15cXG5dKikvKSkge1xuICAgICAgc3RhdGUuaW5kZW50T2YgPSBzdHJlYW0uaW5kZW50YXRpb24oKTtcbiAgICAgIHN0YXRlLmluZGVudFRva2VuID0gJ2NvbW1lbnQnO1xuICAgICAgcmV0dXJuICdjb21tZW50JztcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBjb2xvbihzdHJlYW0pIHtcbiAgICBpZiAoc3RyZWFtLm1hdGNoKC9eOiAqLykpIHtcbiAgICAgIHJldHVybiAnY29sb24nO1xuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIHRleHQoc3RyZWFtLCBzdGF0ZSkge1xuICAgIGlmIChzdHJlYW0ubWF0Y2goL14oPzpcXHwgP3wgKShbXlxcbl0rKS8pKSB7XG4gICAgICByZXR1cm4gJ3N0cmluZyc7XG4gICAgfVxuICAgIGlmIChzdHJlYW0ubWF0Y2goL14oPFteXFxuXSopLywgZmFsc2UpKSB7XG4gICAgICAvLyBodG1sIHN0cmluZ1xuICAgICAgc2V0SW5uZXJNb2RlKHN0cmVhbSwgc3RhdGUsICdodG1sbWl4ZWQnKTtcbiAgICAgIHN0YXRlLmlubmVyTW9kZUZvckxpbmUgPSB0cnVlO1xuICAgICAgcmV0dXJuIGlubmVyTW9kZShzdHJlYW0sIHN0YXRlLCB0cnVlKTtcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBkb3Qoc3RyZWFtLCBzdGF0ZSkge1xuICAgIGlmIChzdHJlYW0uZWF0KCcuJykpIHtcbiAgICAgIHZhciBpbm5lck1vZGUgPSBudWxsO1xuICAgICAgaWYgKHN0YXRlLmxhc3RUYWcgPT09ICdzY3JpcHQnICYmIHN0YXRlLnNjcmlwdFR5cGUudG9Mb3dlckNhc2UoKS5pbmRleE9mKCdqYXZhc2NyaXB0JykgIT0gLTEpIHtcbiAgICAgICAgaW5uZXJNb2RlID0gc3RhdGUuc2NyaXB0VHlwZS50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoL1wifCcvZywgJycpO1xuICAgICAgfSBlbHNlIGlmIChzdGF0ZS5sYXN0VGFnID09PSAnc3R5bGUnKSB7XG4gICAgICAgIGlubmVyTW9kZSA9ICdjc3MnO1xuICAgICAgfVxuICAgICAgc2V0SW5uZXJNb2RlKHN0cmVhbSwgc3RhdGUsIGlubmVyTW9kZSk7XG4gICAgICByZXR1cm4gJ2RvdCc7XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gZmFpbChzdHJlYW0pIHtcbiAgICBzdHJlYW0ubmV4dCgpO1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cblxuICBmdW5jdGlvbiBzZXRJbm5lck1vZGUoc3RyZWFtLCBzdGF0ZSwgbW9kZSkge1xuICAgIG1vZGUgPSBDb2RlTWlycm9yLm1pbWVNb2Rlc1ttb2RlXSB8fCBtb2RlO1xuICAgIG1vZGUgPSBjb25maWcuaW5uZXJNb2RlcyA/IGNvbmZpZy5pbm5lck1vZGVzKG1vZGUpIHx8IG1vZGUgOiBtb2RlO1xuICAgIG1vZGUgPSBDb2RlTWlycm9yLm1pbWVNb2Rlc1ttb2RlXSB8fCBtb2RlO1xuICAgIG1vZGUgPSBDb2RlTWlycm9yLmdldE1vZGUoY29uZmlnLCBtb2RlKTtcbiAgICBzdGF0ZS5pbmRlbnRPZiA9IHN0cmVhbS5pbmRlbnRhdGlvbigpO1xuXG4gICAgaWYgKG1vZGUgJiYgbW9kZS5uYW1lICE9PSAnbnVsbCcpIHtcbiAgICAgIHN0YXRlLmlubmVyTW9kZSA9IG1vZGU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHN0YXRlLmluZGVudFRva2VuID0gJ3N0cmluZyc7XG4gICAgfVxuICB9XG4gIGZ1bmN0aW9uIGlubmVyTW9kZShzdHJlYW0sIHN0YXRlLCBmb3JjZSkge1xuICAgIGlmIChzdHJlYW0uaW5kZW50YXRpb24oKSA+IHN0YXRlLmluZGVudE9mIHx8IChzdGF0ZS5pbm5lck1vZGVGb3JMaW5lICYmICFzdHJlYW0uc29sKCkpIHx8IGZvcmNlKSB7XG4gICAgICBpZiAoc3RhdGUuaW5uZXJNb2RlKSB7XG4gICAgICAgIGlmICghc3RhdGUuaW5uZXJTdGF0ZSkge1xuICAgICAgICAgIHN0YXRlLmlubmVyU3RhdGUgPSBzdGF0ZS5pbm5lck1vZGUuc3RhcnRTdGF0ZSA/IENvZGVNaXJyb3Iuc3RhcnRTdGF0ZShzdGF0ZS5pbm5lck1vZGUsIHN0cmVhbS5pbmRlbnRhdGlvbigpKSA6IHt9O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBzdHJlYW0uaGlkZUZpcnN0Q2hhcnMoc3RhdGUuaW5kZW50T2YgKyAyLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgcmV0dXJuIHN0YXRlLmlubmVyTW9kZS50b2tlbihzdHJlYW0sIHN0YXRlLmlubmVyU3RhdGUpIHx8IHRydWU7XG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc3RyZWFtLnNraXBUb0VuZCgpO1xuICAgICAgICByZXR1cm4gc3RhdGUuaW5kZW50VG9rZW47XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChzdHJlYW0uc29sKCkpIHtcbiAgICAgIHN0YXRlLmluZGVudE9mID0gSW5maW5pdHk7XG4gICAgICBzdGF0ZS5pbmRlbnRUb2tlbiA9IG51bGw7XG4gICAgICBzdGF0ZS5pbm5lck1vZGUgPSBudWxsO1xuICAgICAgc3RhdGUuaW5uZXJTdGF0ZSA9IG51bGw7XG4gICAgfVxuICB9XG4gIGZ1bmN0aW9uIHJlc3RPZkxpbmUoc3RyZWFtLCBzdGF0ZSkge1xuICAgIGlmIChzdHJlYW0uc29sKCkpIHtcbiAgICAgIC8vIGlmIHJlc3RPZkxpbmUgd2FzIHNldCBhdCBlbmQgb2YgbGluZSwgaWdub3JlIGl0XG4gICAgICBzdGF0ZS5yZXN0T2ZMaW5lID0gJyc7XG4gICAgfVxuICAgIGlmIChzdGF0ZS5yZXN0T2ZMaW5lKSB7XG4gICAgICBzdHJlYW0uc2tpcFRvRW5kKCk7XG4gICAgICB2YXIgdG9rID0gc3RhdGUucmVzdE9mTGluZTtcbiAgICAgIHN0YXRlLnJlc3RPZkxpbmUgPSAnJztcbiAgICAgIHJldHVybiB0b2s7XG4gICAgfVxuICB9XG5cblxuICBmdW5jdGlvbiBzdGFydFN0YXRlKCkge1xuICAgIHJldHVybiBuZXcgU3RhdGUoKTtcbiAgfVxuICBmdW5jdGlvbiBjb3B5U3RhdGUoc3RhdGUpIHtcbiAgICByZXR1cm4gc3RhdGUuY29weSgpO1xuICB9XG4gIC8qKlxuICAgKiBHZXQgdGhlIG5leHQgdG9rZW4gaW4gdGhlIHN0cmVhbVxuICAgKlxuICAgKiBAcGFyYW0ge1N0cmVhbX0gc3RyZWFtXG4gICAqIEBwYXJhbSB7U3RhdGV9IHN0YXRlXG4gICAqL1xuICBmdW5jdGlvbiBuZXh0VG9rZW4oc3RyZWFtLCBzdGF0ZSkge1xuICAgIHZhciB0b2sgPSBpbm5lck1vZGUoc3RyZWFtLCBzdGF0ZSlcbiAgICAgIHx8IHJlc3RPZkxpbmUoc3RyZWFtLCBzdGF0ZSlcbiAgICAgIHx8IGludGVycG9sYXRpb25Db250aW51ZWQoc3RyZWFtLCBzdGF0ZSlcbiAgICAgIHx8IGluY2x1ZGVGaWx0ZXJlZENvbnRpbnVlZChzdHJlYW0sIHN0YXRlKVxuICAgICAgfHwgZWFjaENvbnRpbnVlZChzdHJlYW0sIHN0YXRlKVxuICAgICAgfHwgYXR0cnNDb250aW51ZWQoc3RyZWFtLCBzdGF0ZSlcbiAgICAgIHx8IGphdmFTY3JpcHQoc3RyZWFtLCBzdGF0ZSlcbiAgICAgIHx8IGphdmFTY3JpcHRBcmd1bWVudHMoc3RyZWFtLCBzdGF0ZSlcbiAgICAgIHx8IGNhbGxBcmd1bWVudHMoc3RyZWFtLCBzdGF0ZSlcblxuICAgICAgfHwgeWllbGRTdGF0ZW1lbnQoc3RyZWFtLCBzdGF0ZSlcbiAgICAgIHx8IGRvY3R5cGUoc3RyZWFtLCBzdGF0ZSlcbiAgICAgIHx8IGludGVycG9sYXRpb24oc3RyZWFtLCBzdGF0ZSlcbiAgICAgIHx8IGNhc2VTdGF0ZW1lbnQoc3RyZWFtLCBzdGF0ZSlcbiAgICAgIHx8IHdoZW4oc3RyZWFtLCBzdGF0ZSlcbiAgICAgIHx8IGRlZmF1bHRTdGF0ZW1lbnQoc3RyZWFtLCBzdGF0ZSlcbiAgICAgIHx8IGV4dGVuZHNTdGF0ZW1lbnQoc3RyZWFtLCBzdGF0ZSlcbiAgICAgIHx8IGFwcGVuZChzdHJlYW0sIHN0YXRlKVxuICAgICAgfHwgcHJlcGVuZChzdHJlYW0sIHN0YXRlKVxuICAgICAgfHwgYmxvY2soc3RyZWFtLCBzdGF0ZSlcbiAgICAgIHx8IGluY2x1ZGUoc3RyZWFtLCBzdGF0ZSlcbiAgICAgIHx8IGluY2x1ZGVGaWx0ZXJlZChzdHJlYW0sIHN0YXRlKVxuICAgICAgfHwgbWl4aW4oc3RyZWFtLCBzdGF0ZSlcbiAgICAgIHx8IGNhbGwoc3RyZWFtLCBzdGF0ZSlcbiAgICAgIHx8IGNvbmRpdGlvbmFsKHN0cmVhbSwgc3RhdGUpXG4gICAgICB8fCBlYWNoKHN0cmVhbSwgc3RhdGUpXG4gICAgICB8fCB3aGlsZVN0YXRlbWVudChzdHJlYW0sIHN0YXRlKVxuICAgICAgfHwgdGFnKHN0cmVhbSwgc3RhdGUpXG4gICAgICB8fCBmaWx0ZXIoc3RyZWFtLCBzdGF0ZSlcbiAgICAgIHx8IGNvZGUoc3RyZWFtLCBzdGF0ZSlcbiAgICAgIHx8IGlkKHN0cmVhbSwgc3RhdGUpXG4gICAgICB8fCBjbGFzc05hbWUoc3RyZWFtLCBzdGF0ZSlcbiAgICAgIHx8IGF0dHJzKHN0cmVhbSwgc3RhdGUpXG4gICAgICB8fCBhdHRyaWJ1dGVzQmxvY2soc3RyZWFtLCBzdGF0ZSlcbiAgICAgIHx8IGluZGVudChzdHJlYW0sIHN0YXRlKVxuICAgICAgfHwgdGV4dChzdHJlYW0sIHN0YXRlKVxuICAgICAgfHwgY29tbWVudChzdHJlYW0sIHN0YXRlKVxuICAgICAgfHwgY29sb24oc3RyZWFtLCBzdGF0ZSlcbiAgICAgIHx8IGRvdChzdHJlYW0sIHN0YXRlKVxuICAgICAgfHwgZmFpbChzdHJlYW0sIHN0YXRlKTtcblxuICAgIHJldHVybiB0b2sgPT09IHRydWUgPyBudWxsIDogdG9rO1xuICB9XG4gIHJldHVybiB7XG4gICAgc3RhcnRTdGF0ZTogc3RhcnRTdGF0ZSxcbiAgICBjb3B5U3RhdGU6IGNvcHlTdGF0ZSxcbiAgICB0b2tlbjogbmV4dFRva2VuXG4gIH07XG59LCAnamF2YXNjcmlwdCcsICdjc3MnLCAnaHRtbG1peGVkJyk7XG5cbkNvZGVNaXJyb3IuZGVmaW5lTUlNRSgndGV4dC94LXB1ZycsICdwdWcnKTtcbkNvZGVNaXJyb3IuZGVmaW5lTUlNRSgndGV4dC94LWphZGUnLCAncHVnJyk7XG5cbn0pO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/codemirror/mode/pug/pug.js\n"); /***/ }), /***/ "./node_modules/codemirror/mode/python/python.js": /*!*******************************************************!*\ !*** ./node_modules/codemirror/mode/python/python.js ***! \*******************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ \"./node_modules/codemirror/lib/codemirror.js\"));\n else {}\n})(function(CodeMirror) {\n \"use strict\";\n\n function wordRegexp(words) {\n return new RegExp(\"^((\" + words.join(\")|(\") + \"))\\\\b\");\n }\n\n var wordOperators = wordRegexp([\"and\", \"or\", \"not\", \"is\"]);\n var commonKeywords = [\"as\", \"assert\", \"break\", \"class\", \"continue\",\n \"def\", \"del\", \"elif\", \"else\", \"except\", \"finally\",\n \"for\", \"from\", \"global\", \"if\", \"import\",\n \"lambda\", \"pass\", \"raise\", \"return\",\n \"try\", \"while\", \"with\", \"yield\", \"in\"];\n var commonBuiltins = [\"abs\", \"all\", \"any\", \"bin\", \"bool\", \"bytearray\", \"callable\", \"chr\",\n \"classmethod\", \"compile\", \"complex\", \"delattr\", \"dict\", \"dir\", \"divmod\",\n \"enumerate\", \"eval\", \"filter\", \"float\", \"format\", \"frozenset\",\n \"getattr\", \"globals\", \"hasattr\", \"hash\", \"help\", \"hex\", \"id\",\n \"input\", \"int\", \"isinstance\", \"issubclass\", \"iter\", \"len\",\n \"list\", \"locals\", \"map\", \"max\", \"memoryview\", \"min\", \"next\",\n \"object\", \"oct\", \"open\", \"ord\", \"pow\", \"property\", \"range\",\n \"repr\", \"reversed\", \"round\", \"set\", \"setattr\", \"slice\",\n \"sorted\", \"staticmethod\", \"str\", \"sum\", \"super\", \"tuple\",\n \"type\", \"vars\", \"zip\", \"__import__\", \"NotImplemented\",\n \"Ellipsis\", \"__debug__\"];\n CodeMirror.registerHelper(\"hintWords\", \"python\", commonKeywords.concat(commonBuiltins));\n\n function top(state) {\n return state.scopes[state.scopes.length - 1];\n }\n\n CodeMirror.defineMode(\"python\", function(conf, parserConf) {\n var ERRORCLASS = \"error\";\n\n var delimiters = parserConf.delimiters || parserConf.singleDelimiters || /^[\\(\\)\\[\\]\\{\\}@,:`=;\\.\\\\]/;\n // (Backwards-compatiblity with old, cumbersome config system)\n var operators = [parserConf.singleOperators, parserConf.doubleOperators, parserConf.doubleDelimiters, parserConf.tripleDelimiters,\n parserConf.operators || /^([-+*/%\\/&|^]=?|[<>=]+|\\/\\/=?|\\*\\*=?|!=|[~!@]|\\.\\.\\.)/]\n for (var i = 0; i < operators.length; i++) if (!operators[i]) operators.splice(i--, 1)\n\n var hangingIndent = parserConf.hangingIndent || conf.indentUnit;\n\n var myKeywords = commonKeywords, myBuiltins = commonBuiltins;\n if (parserConf.extra_keywords != undefined)\n myKeywords = myKeywords.concat(parserConf.extra_keywords);\n\n if (parserConf.extra_builtins != undefined)\n myBuiltins = myBuiltins.concat(parserConf.extra_builtins);\n\n var py3 = !(parserConf.version && Number(parserConf.version) < 3)\n if (py3) {\n // since http://legacy.python.org/dev/peps/pep-0465/ @ is also an operator\n var identifiers = parserConf.identifiers|| /^[_A-Za-z\\u00A1-\\uFFFF][_A-Za-z0-9\\u00A1-\\uFFFF]*/;\n myKeywords = myKeywords.concat([\"nonlocal\", \"False\", \"True\", \"None\", \"async\", \"await\"]);\n myBuiltins = myBuiltins.concat([\"ascii\", \"bytes\", \"exec\", \"print\"]);\n var stringPrefixes = new RegExp(\"^(([rbuf]|(br)|(fr))?('{3}|\\\"{3}|['\\\"]))\", \"i\");\n } else {\n var identifiers = parserConf.identifiers|| /^[_A-Za-z][_A-Za-z0-9]*/;\n myKeywords = myKeywords.concat([\"exec\", \"print\"]);\n myBuiltins = myBuiltins.concat([\"apply\", \"basestring\", \"buffer\", \"cmp\", \"coerce\", \"execfile\",\n \"file\", \"intern\", \"long\", \"raw_input\", \"reduce\", \"reload\",\n \"unichr\", \"unicode\", \"xrange\", \"False\", \"True\", \"None\"]);\n var stringPrefixes = new RegExp(\"^(([rubf]|(ur)|(br))?('{3}|\\\"{3}|['\\\"]))\", \"i\");\n }\n var keywords = wordRegexp(myKeywords);\n var builtins = wordRegexp(myBuiltins);\n\n // tokenizers\n function tokenBase(stream, state) {\n var sol = stream.sol() && state.lastToken != \"\\\\\"\n if (sol) state.indent = stream.indentation()\n // Handle scope changes\n if (sol && top(state).type == \"py\") {\n var scopeOffset = top(state).offset;\n if (stream.eatSpace()) {\n var lineOffset = stream.indentation();\n if (lineOffset > scopeOffset)\n pushPyScope(state);\n else if (lineOffset < scopeOffset && dedent(stream, state) && stream.peek() != \"#\")\n state.errorToken = true;\n return null;\n } else {\n var style = tokenBaseInner(stream, state);\n if (scopeOffset > 0 && dedent(stream, state))\n style += \" \" + ERRORCLASS;\n return style;\n }\n }\n return tokenBaseInner(stream, state);\n }\n\n function tokenBaseInner(stream, state) {\n if (stream.eatSpace()) return null;\n\n // Handle Comments\n if (stream.match(/^#.*/)) return \"comment\";\n\n // Handle Number Literals\n if (stream.match(/^[0-9\\.]/, false)) {\n var floatLiteral = false;\n // Floats\n if (stream.match(/^[\\d_]*\\.\\d+(e[\\+\\-]?\\d+)?/i)) { floatLiteral = true; }\n if (stream.match(/^[\\d_]+\\.\\d*/)) { floatLiteral = true; }\n if (stream.match(/^\\.\\d+/)) { floatLiteral = true; }\n if (floatLiteral) {\n // Float literals may be \"imaginary\"\n stream.eat(/J/i);\n return \"number\";\n }\n // Integers\n var intLiteral = false;\n // Hex\n if (stream.match(/^0x[0-9a-f_]+/i)) intLiteral = true;\n // Binary\n if (stream.match(/^0b[01_]+/i)) intLiteral = true;\n // Octal\n if (stream.match(/^0o[0-7_]+/i)) intLiteral = true;\n // Decimal\n if (stream.match(/^[1-9][\\d_]*(e[\\+\\-]?[\\d_]+)?/)) {\n // Decimal literals may be \"imaginary\"\n stream.eat(/J/i);\n // TODO - Can you have imaginary longs?\n intLiteral = true;\n }\n // Zero by itself with no other piece of number.\n if (stream.match(/^0(?![\\dx])/i)) intLiteral = true;\n if (intLiteral) {\n // Integer literals may be \"long\"\n stream.eat(/L/i);\n return \"number\";\n }\n }\n\n // Handle Strings\n if (stream.match(stringPrefixes)) {\n var isFmtString = stream.current().toLowerCase().indexOf('f') !== -1;\n if (!isFmtString) {\n state.tokenize = tokenStringFactory(stream.current(), state.tokenize);\n return state.tokenize(stream, state);\n } else {\n state.tokenize = formatStringFactory(stream.current(), state.tokenize);\n return state.tokenize(stream, state);\n }\n }\n\n for (var i = 0; i < operators.length; i++)\n if (stream.match(operators[i])) return \"operator\"\n\n if (stream.match(delimiters)) return \"punctuation\";\n\n if (state.lastToken == \".\" && stream.match(identifiers))\n return \"property\";\n\n if (stream.match(keywords) || stream.match(wordOperators))\n return \"keyword\";\n\n if (stream.match(builtins))\n return \"builtin\";\n\n if (stream.match(/^(self|cls)\\b/))\n return \"variable-2\";\n\n if (stream.match(identifiers)) {\n if (state.lastToken == \"def\" || state.lastToken == \"class\")\n return \"def\";\n return \"variable\";\n }\n\n // Handle non-detected items\n stream.next();\n return ERRORCLASS;\n }\n\n function formatStringFactory(delimiter, tokenOuter) {\n while (\"rubf\".indexOf(delimiter.charAt(0).toLowerCase()) >= 0)\n delimiter = delimiter.substr(1);\n\n var singleline = delimiter.length == 1;\n var OUTCLASS = \"string\";\n\n function tokenNestedExpr(depth) {\n return function(stream, state) {\n var inner = tokenBaseInner(stream, state)\n if (inner == \"punctuation\") {\n if (stream.current() == \"{\") {\n state.tokenize = tokenNestedExpr(depth + 1)\n } else if (stream.current() == \"}\") {\n if (depth > 1) state.tokenize = tokenNestedExpr(depth - 1)\n else state.tokenize = tokenString\n }\n }\n return inner\n }\n }\n\n function tokenString(stream, state) {\n while (!stream.eol()) {\n stream.eatWhile(/[^'\"\\{\\}\\\\]/);\n if (stream.eat(\"\\\\\")) {\n stream.next();\n if (singleline && stream.eol())\n return OUTCLASS;\n } else if (stream.match(delimiter)) {\n state.tokenize = tokenOuter;\n return OUTCLASS;\n } else if (stream.match('{{')) {\n // ignore {{ in f-str\n return OUTCLASS;\n } else if (stream.match('{', false)) {\n // switch to nested mode\n state.tokenize = tokenNestedExpr(0)\n if (stream.current()) return OUTCLASS;\n else return state.tokenize(stream, state)\n } else if (stream.match('}}')) {\n return OUTCLASS;\n } else if (stream.match('}')) {\n // single } in f-string is an error\n return ERRORCLASS;\n } else {\n stream.eat(/['\"]/);\n }\n }\n if (singleline) {\n if (parserConf.singleLineStringErrors)\n return ERRORCLASS;\n else\n state.tokenize = tokenOuter;\n }\n return OUTCLASS;\n }\n tokenString.isString = true;\n return tokenString;\n }\n\n function tokenStringFactory(delimiter, tokenOuter) {\n while (\"rubf\".indexOf(delimiter.charAt(0).toLowerCase()) >= 0)\n delimiter = delimiter.substr(1);\n\n var singleline = delimiter.length == 1;\n var OUTCLASS = \"string\";\n\n function tokenString(stream, state) {\n while (!stream.eol()) {\n stream.eatWhile(/[^'\"\\\\]/);\n if (stream.eat(\"\\\\\")) {\n stream.next();\n if (singleline && stream.eol())\n return OUTCLASS;\n } else if (stream.match(delimiter)) {\n state.tokenize = tokenOuter;\n return OUTCLASS;\n } else {\n stream.eat(/['\"]/);\n }\n }\n if (singleline) {\n if (parserConf.singleLineStringErrors)\n return ERRORCLASS;\n else\n state.tokenize = tokenOuter;\n }\n return OUTCLASS;\n }\n tokenString.isString = true;\n return tokenString;\n }\n\n function pushPyScope(state) {\n while (top(state).type != \"py\") state.scopes.pop()\n state.scopes.push({offset: top(state).offset + conf.indentUnit,\n type: \"py\",\n align: null})\n }\n\n function pushBracketScope(stream, state, type) {\n var align = stream.match(/^([\\s\\[\\{\\(]|#.*)*$/, false) ? null : stream.column() + 1\n state.scopes.push({offset: state.indent + hangingIndent,\n type: type,\n align: align})\n }\n\n function dedent(stream, state) {\n var indented = stream.indentation();\n while (state.scopes.length > 1 && top(state).offset > indented) {\n if (top(state).type != \"py\") return true;\n state.scopes.pop();\n }\n return top(state).offset != indented;\n }\n\n function tokenLexer(stream, state) {\n if (stream.sol()) state.beginningOfLine = true;\n\n var style = state.tokenize(stream, state);\n var current = stream.current();\n\n // Handle decorators\n if (state.beginningOfLine && current == \"@\")\n return stream.match(identifiers, false) ? \"meta\" : py3 ? \"operator\" : ERRORCLASS;\n\n if (/\\S/.test(current)) state.beginningOfLine = false;\n\n if ((style == \"variable\" || style == \"builtin\")\n && state.lastToken == \"meta\")\n style = \"meta\";\n\n // Handle scope changes.\n if (current == \"pass\" || current == \"return\")\n state.dedent += 1;\n\n if (current == \"lambda\") state.lambda = true;\n if (current == \":\" && !state.lambda && top(state).type == \"py\")\n pushPyScope(state);\n\n if (current.length == 1 && !/string|comment/.test(style)) {\n var delimiter_index = \"[({\".indexOf(current);\n if (delimiter_index != -1)\n pushBracketScope(stream, state, \"])}\".slice(delimiter_index, delimiter_index+1));\n\n delimiter_index = \"])}\".indexOf(current);\n if (delimiter_index != -1) {\n if (top(state).type == current) state.indent = state.scopes.pop().offset - hangingIndent\n else return ERRORCLASS;\n }\n }\n if (state.dedent > 0 && stream.eol() && top(state).type == \"py\") {\n if (state.scopes.length > 1) state.scopes.pop();\n state.dedent -= 1;\n }\n\n return style;\n }\n\n var external = {\n startState: function(basecolumn) {\n return {\n tokenize: tokenBase,\n scopes: [{offset: basecolumn || 0, type: \"py\", align: null}],\n indent: basecolumn || 0,\n lastToken: null,\n lambda: false,\n dedent: 0\n };\n },\n\n token: function(stream, state) {\n var addErr = state.errorToken;\n if (addErr) state.errorToken = false;\n var style = tokenLexer(stream, state);\n\n if (style && style != \"comment\")\n state.lastToken = (style == \"keyword\" || style == \"punctuation\") ? stream.current() : style;\n if (style == \"punctuation\") style = null;\n\n if (stream.eol() && state.lambda)\n state.lambda = false;\n return addErr ? style + \" \" + ERRORCLASS : style;\n },\n\n indent: function(state, textAfter) {\n if (state.tokenize != tokenBase)\n return state.tokenize.isString ? CodeMirror.Pass : 0;\n\n var scope = top(state), closing = scope.type == textAfter.charAt(0)\n if (scope.align != null)\n return scope.align - (closing ? 1 : 0)\n else\n return scope.offset - (closing ? hangingIndent : 0)\n },\n\n electricInput: /^\\s*[\\}\\]\\)]$/,\n closeBrackets: {triples: \"'\\\"\"},\n lineComment: \"#\",\n fold: \"indent\"\n };\n return external;\n });\n\n CodeMirror.defineMIME(\"text/x-python\", \"python\");\n\n var words = function(str) { return str.split(\" \"); };\n\n CodeMirror.defineMIME(\"text/x-cython\", {\n name: \"python\",\n extra_keywords: words(\"by cdef cimport cpdef ctypedef enum except \"+\n \"extern gil include nogil property public \"+\n \"readonly struct union DEF IF ELIF ELSE\")\n });\n\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9tb2RlL3B5dGhvbi9weXRob24uanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9tb2RlL3B5dGhvbi9weXRob24uanM/ZGI5MSJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb2RlTWlycm9yLCBjb3B5cmlnaHQgKGMpIGJ5IE1hcmlqbiBIYXZlcmJla2UgYW5kIG90aGVyc1xuLy8gRGlzdHJpYnV0ZWQgdW5kZXIgYW4gTUlUIGxpY2Vuc2U6IGh0dHBzOi8vY29kZW1pcnJvci5uZXQvTElDRU5TRVxuXG4oZnVuY3Rpb24obW9kKSB7XG4gIGlmICh0eXBlb2YgZXhwb3J0cyA9PSBcIm9iamVjdFwiICYmIHR5cGVvZiBtb2R1bGUgPT0gXCJvYmplY3RcIikgLy8gQ29tbW9uSlNcbiAgICBtb2QocmVxdWlyZShcIi4uLy4uL2xpYi9jb2RlbWlycm9yXCIpKTtcbiAgZWxzZSBpZiAodHlwZW9mIGRlZmluZSA9PSBcImZ1bmN0aW9uXCIgJiYgZGVmaW5lLmFtZCkgLy8gQU1EXG4gICAgZGVmaW5lKFtcIi4uLy4uL2xpYi9jb2RlbWlycm9yXCJdLCBtb2QpO1xuICBlbHNlIC8vIFBsYWluIGJyb3dzZXIgZW52XG4gICAgbW9kKENvZGVNaXJyb3IpO1xufSkoZnVuY3Rpb24oQ29kZU1pcnJvcikge1xuICBcInVzZSBzdHJpY3RcIjtcblxuICBmdW5jdGlvbiB3b3JkUmVnZXhwKHdvcmRzKSB7XG4gICAgcmV0dXJuIG5ldyBSZWdFeHAoXCJeKChcIiArIHdvcmRzLmpvaW4oXCIpfChcIikgKyBcIikpXFxcXGJcIik7XG4gIH1cblxuICB2YXIgd29yZE9wZXJhdG9ycyA9IHdvcmRSZWdleHAoW1wiYW5kXCIsIFwib3JcIiwgXCJub3RcIiwgXCJpc1wiXSk7XG4gIHZhciBjb21tb25LZXl3b3JkcyA9IFtcImFzXCIsIFwiYXNzZXJ0XCIsIFwiYnJlYWtcIiwgXCJjbGFzc1wiLCBcImNvbnRpbnVlXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBcImRlZlwiLCBcImRlbFwiLCBcImVsaWZcIiwgXCJlbHNlXCIsIFwiZXhjZXB0XCIsIFwiZmluYWxseVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJmb3JcIiwgXCJmcm9tXCIsIFwiZ2xvYmFsXCIsIFwiaWZcIiwgXCJpbXBvcnRcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIFwibGFtYmRhXCIsIFwicGFzc1wiLCBcInJhaXNlXCIsIFwicmV0dXJuXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBcInRyeVwiLCBcIndoaWxlXCIsIFwid2l0aFwiLCBcInlpZWxkXCIsIFwiaW5cIl07XG4gIHZhciBjb21tb25CdWlsdGlucyA9IFtcImFic1wiLCBcImFsbFwiLCBcImFueVwiLCBcImJpblwiLCBcImJvb2xcIiwgXCJieXRlYXJyYXlcIiwgXCJjYWxsYWJsZVwiLCBcImNoclwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJjbGFzc21ldGhvZFwiLCBcImNvbXBpbGVcIiwgXCJjb21wbGV4XCIsIFwiZGVsYXR0clwiLCBcImRpY3RcIiwgXCJkaXJcIiwgXCJkaXZtb2RcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiZW51bWVyYXRlXCIsIFwiZXZhbFwiLCBcImZpbHRlclwiLCBcImZsb2F0XCIsIFwiZm9ybWF0XCIsIFwiZnJvemVuc2V0XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBcImdldGF0dHJcIiwgXCJnbG9iYWxzXCIsIFwiaGFzYXR0clwiLCBcImhhc2hcIiwgXCJoZWxwXCIsIFwiaGV4XCIsIFwiaWRcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiaW5wdXRcIiwgXCJpbnRcIiwgXCJpc2luc3RhbmNlXCIsIFwiaXNzdWJjbGFzc1wiLCBcIml0ZXJcIiwgXCJsZW5cIixcbiAgICAgICAgICAgICAgICAgICAgICAgIFwibGlzdFwiLCBcImxvY2Fsc1wiLCBcIm1hcFwiLCBcIm1heFwiLCBcIm1lbW9yeXZpZXdcIiwgXCJtaW5cIiwgXCJuZXh0XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBcIm9iamVjdFwiLCBcIm9jdFwiLCBcIm9wZW5cIiwgXCJvcmRcIiwgXCJwb3dcIiwgXCJwcm9wZXJ0eVwiLCBcInJhbmdlXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBcInJlcHJcIiwgXCJyZXZlcnNlZFwiLCBcInJvdW5kXCIsIFwic2V0XCIsIFwic2V0YXR0clwiLCBcInNsaWNlXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBcInNvcnRlZFwiLCBcInN0YXRpY21ldGhvZFwiLCBcInN0clwiLCBcInN1bVwiLCBcInN1cGVyXCIsIFwidHVwbGVcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIFwidHlwZVwiLCBcInZhcnNcIiwgXCJ6aXBcIiwgXCJfX2ltcG9ydF9fXCIsIFwiTm90SW1wbGVtZW50ZWRcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiRWxsaXBzaXNcIiwgXCJfX2RlYnVnX19cIl07XG4gIENvZGVNaXJyb3IucmVnaXN0ZXJIZWxwZXIoXCJoaW50V29yZHNcIiwgXCJweXRob25cIiwgY29tbW9uS2V5d29yZHMuY29uY2F0KGNvbW1vbkJ1aWx0aW5zKSk7XG5cbiAgZnVuY3Rpb24gdG9wKHN0YXRlKSB7XG4gICAgcmV0dXJuIHN0YXRlLnNjb3Blc1tzdGF0ZS5zY29wZXMubGVuZ3RoIC0gMV07XG4gIH1cblxuICBDb2RlTWlycm9yLmRlZmluZU1vZGUoXCJweXRob25cIiwgZnVuY3Rpb24oY29uZiwgcGFyc2VyQ29uZikge1xuICAgIHZhciBFUlJPUkNMQVNTID0gXCJlcnJvclwiO1xuXG4gICAgdmFyIGRlbGltaXRlcnMgPSBwYXJzZXJDb25mLmRlbGltaXRlcnMgfHwgcGFyc2VyQ29uZi5zaW5nbGVEZWxpbWl0ZXJzIHx8IC9eW1xcKFxcKVxcW1xcXVxce1xcfUAsOmA9O1xcLlxcXFxdLztcbiAgICAvLyAgICAgICAgICAgICAgIChCYWNrd2FyZHMtY29tcGF0aWJsaXR5IHdpdGggb2xkLCBjdW1iZXJzb21lIGNvbmZpZyBzeXN0ZW0pXG4gICAgdmFyIG9wZXJhdG9ycyA9IFtwYXJzZXJDb25mLnNpbmdsZU9wZXJhdG9ycywgcGFyc2VyQ29uZi5kb3VibGVPcGVyYXRvcnMsIHBhcnNlckNvbmYuZG91YmxlRGVsaW1pdGVycywgcGFyc2VyQ29uZi50cmlwbGVEZWxpbWl0ZXJzLFxuICAgICAgICAgICAgICAgICAgICAgcGFyc2VyQ29uZi5vcGVyYXRvcnMgfHwgL14oWy0rKi8lXFwvJnxeXT0/fFs8Pj1dK3xcXC9cXC89P3xcXCpcXCo9P3whPXxbfiFAXXxcXC5cXC5cXC4pL11cbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IG9wZXJhdG9ycy5sZW5ndGg7IGkrKykgaWYgKCFvcGVyYXRvcnNbaV0pIG9wZXJhdG9ycy5zcGxpY2UoaS0tLCAxKVxuXG4gICAgdmFyIGhhbmdpbmdJbmRlbnQgPSBwYXJzZXJDb25mLmhhbmdpbmdJbmRlbnQgfHwgY29uZi5pbmRlbnRVbml0O1xuXG4gICAgdmFyIG15S2V5d29yZHMgPSBjb21tb25LZXl3b3JkcywgbXlCdWlsdGlucyA9IGNvbW1vbkJ1aWx0aW5zO1xuICAgIGlmIChwYXJzZXJDb25mLmV4dHJhX2tleXdvcmRzICE9IHVuZGVmaW5lZClcbiAgICAgIG15S2V5d29yZHMgPSBteUtleXdvcmRzLmNvbmNhdChwYXJzZXJDb25mLmV4dHJhX2tleXdvcmRzKTtcblxuICAgIGlmIChwYXJzZXJDb25mLmV4dHJhX2J1aWx0aW5zICE9IHVuZGVmaW5lZClcbiAgICAgIG15QnVpbHRpbnMgPSBteUJ1aWx0aW5zLmNvbmNhdChwYXJzZXJDb25mLmV4dHJhX2J1aWx0aW5zKTtcblxuICAgIHZhciBweTMgPSAhKHBhcnNlckNvbmYudmVyc2lvbiAmJiBOdW1iZXIocGFyc2VyQ29uZi52ZXJzaW9uKSA8IDMpXG4gICAgaWYgKHB5Mykge1xuICAgICAgLy8gc2luY2UgaHR0cDovL2xlZ2FjeS5weXRob24ub3JnL2Rldi9wZXBzL3BlcC0wNDY1LyBAIGlzIGFsc28gYW4gb3BlcmF0b3JcbiAgICAgIHZhciBpZGVudGlmaWVycyA9IHBhcnNlckNvbmYuaWRlbnRpZmllcnN8fCAvXltfQS1aYS16XFx1MDBBMS1cXHVGRkZGXVtfQS1aYS16MC05XFx1MDBBMS1cXHVGRkZGXSovO1xuICAgICAgbXlLZXl3b3JkcyA9IG15S2V5d29yZHMuY29uY2F0KFtcIm5vbmxvY2FsXCIsIFwiRmFsc2VcIiwgXCJUcnVlXCIsIFwiTm9uZVwiLCBcImFzeW5jXCIsIFwiYXdhaXRcIl0pO1xuICAgICAgbXlCdWlsdGlucyA9IG15QnVpbHRpbnMuY29uY2F0KFtcImFzY2lpXCIsIFwiYnl0ZXNcIiwgXCJleGVjXCIsIFwicHJpbnRcIl0pO1xuICAgICAgdmFyIHN0cmluZ1ByZWZpeGVzID0gbmV3IFJlZ0V4cChcIl4oKFtyYnVmXXwoYnIpfChmcikpPygnezN9fFxcXCJ7M318WydcXFwiXSkpXCIsIFwiaVwiKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdmFyIGlkZW50aWZpZXJzID0gcGFyc2VyQ29uZi5pZGVudGlmaWVyc3x8IC9eW19BLVphLXpdW19BLVphLXowLTldKi87XG4gICAgICBteUtleXdvcmRzID0gbXlLZXl3b3Jkcy5jb25jYXQoW1wiZXhlY1wiLCBcInByaW50XCJdKTtcbiAgICAgIG15QnVpbHRpbnMgPSBteUJ1aWx0aW5zLmNvbmNhdChbXCJhcHBseVwiLCBcImJhc2VzdHJpbmdcIiwgXCJidWZmZXJcIiwgXCJjbXBcIiwgXCJjb2VyY2VcIiwgXCJleGVjZmlsZVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImZpbGVcIiwgXCJpbnRlcm5cIiwgXCJsb25nXCIsIFwicmF3X2lucHV0XCIsIFwicmVkdWNlXCIsIFwicmVsb2FkXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwidW5pY2hyXCIsIFwidW5pY29kZVwiLCBcInhyYW5nZVwiLCBcIkZhbHNlXCIsIFwiVHJ1ZVwiLCBcIk5vbmVcIl0pO1xuICAgICAgdmFyIHN0cmluZ1ByZWZpeGVzID0gbmV3IFJlZ0V4cChcIl4oKFtydWJmXXwodXIpfChicikpPygnezN9fFxcXCJ7M318WydcXFwiXSkpXCIsIFwiaVwiKTtcbiAgICB9XG4gICAgdmFyIGtleXdvcmRzID0gd29yZFJlZ2V4cChteUtleXdvcmRzKTtcbiAgICB2YXIgYnVpbHRpbnMgPSB3b3JkUmVnZXhwKG15QnVpbHRpbnMpO1xuXG4gICAgLy8gdG9rZW5pemVyc1xuICAgIGZ1bmN0aW9uIHRva2VuQmFzZShzdHJlYW0sIHN0YXRlKSB7XG4gICAgICB2YXIgc29sID0gc3RyZWFtLnNvbCgpICYmIHN0YXRlLmxhc3RUb2tlbiAhPSBcIlxcXFxcIlxuICAgICAgaWYgKHNvbCkgc3RhdGUuaW5kZW50ID0gc3RyZWFtLmluZGVudGF0aW9uKClcbiAgICAgIC8vIEhhbmRsZSBzY29wZSBjaGFuZ2VzXG4gICAgICBpZiAoc29sICYmIHRvcChzdGF0ZSkudHlwZSA9PSBcInB5XCIpIHtcbiAgICAgICAgdmFyIHNjb3BlT2Zmc2V0ID0gdG9wKHN0YXRlKS5vZmZzZXQ7XG4gICAgICAgIGlmIChzdHJlYW0uZWF0U3BhY2UoKSkge1xuICAgICAgICAgIHZhciBsaW5lT2Zmc2V0ID0gc3RyZWFtLmluZGVudGF0aW9uKCk7XG4gICAgICAgICAgaWYgKGxpbmVPZmZzZXQgPiBzY29wZU9mZnNldClcbiAgICAgICAgICAgIHB1c2hQeVNjb3BlKHN0YXRlKTtcbiAgICAgICAgICBlbHNlIGlmIChsaW5lT2Zmc2V0IDwgc2NvcGVPZmZzZXQgJiYgZGVkZW50KHN0cmVhbSwgc3RhdGUpICYmIHN0cmVhbS5wZWVrKCkgIT0gXCIjXCIpXG4gICAgICAgICAgICBzdGF0ZS5lcnJvclRva2VuID0gdHJ1ZTtcbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB2YXIgc3R5bGUgPSB0b2tlbkJhc2VJbm5lcihzdHJlYW0sIHN0YXRlKTtcbiAgICAgICAgICBpZiAoc2NvcGVPZmZzZXQgPiAwICYmIGRlZGVudChzdHJlYW0sIHN0YXRlKSlcbiAgICAgICAgICAgIHN0eWxlICs9IFwiIFwiICsgRVJST1JDTEFTUztcbiAgICAgICAgICByZXR1cm4gc3R5bGU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiB0b2tlbkJhc2VJbm5lcihzdHJlYW0sIHN0YXRlKTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiB0b2tlbkJhc2VJbm5lcihzdHJlYW0sIHN0YXRlKSB7XG4gICAgICBpZiAoc3RyZWFtLmVhdFNwYWNlKCkpIHJldHVybiBudWxsO1xuXG4gICAgICAvLyBIYW5kbGUgQ29tbWVudHNcbiAgICAgIGlmIChzdHJlYW0ubWF0Y2goL14jLiovKSkgcmV0dXJuIFwiY29tbWVudFwiO1xuXG4gICAgICAvLyBIYW5kbGUgTnVtYmVyIExpdGVyYWxzXG4gICAgICBpZiAoc3RyZWFtLm1hdGNoKC9eWzAtOVxcLl0vLCBmYWxzZSkpIHtcbiAgICAgICAgdmFyIGZsb2F0TGl0ZXJhbCA9IGZhbHNlO1xuICAgICAgICAvLyBGbG9hdHNcbiAgICAgICAgaWYgKHN0cmVhbS5tYXRjaCgvXltcXGRfXSpcXC5cXGQrKGVbXFwrXFwtXT9cXGQrKT8vaSkpIHsgZmxvYXRMaXRlcmFsID0gdHJ1ZTsgfVxuICAgICAgICBpZiAoc3RyZWFtLm1hdGNoKC9eW1xcZF9dK1xcLlxcZCovKSkgeyBmbG9hdExpdGVyYWwgPSB0cnVlOyB9XG4gICAgICAgIGlmIChzdHJlYW0ubWF0Y2goL15cXC5cXGQrLykpIHsgZmxvYXRMaXRlcmFsID0gdHJ1ZTsgfVxuICAgICAgICBpZiAoZmxvYXRMaXRlcmFsKSB7XG4gICAgICAgICAgLy8gRmxvYXQgbGl0ZXJhbHMgbWF5IGJlIFwiaW1hZ2luYXJ5XCJcbiAgICAgICAgICBzdHJlYW0uZWF0KC9KL2kpO1xuICAgICAgICAgIHJldHVybiBcIm51bWJlclwiO1xuICAgICAgICB9XG4gICAgICAgIC8vIEludGVnZXJzXG4gICAgICAgIHZhciBpbnRMaXRlcmFsID0gZmFsc2U7XG4gICAgICAgIC8vIEhleFxuICAgICAgICBpZiAoc3RyZWFtLm1hdGNoKC9eMHhbMC05YS1mX10rL2kpKSBpbnRMaXRlcmFsID0gdHJ1ZTtcbiAgICAgICAgLy8gQmluYXJ5XG4gICAgICAgIGlmIChzdHJlYW0ubWF0Y2goL14wYlswMV9dKy9pKSkgaW50TGl0ZXJhbCA9IHRydWU7XG4gICAgICAgIC8vIE9jdGFsXG4gICAgICAgIGlmIChzdHJlYW0ubWF0Y2goL14wb1swLTdfXSsvaSkpIGludExpdGVyYWwgPSB0cnVlO1xuICAgICAgICAvLyBEZWNpbWFsXG4gICAgICAgIGlmIChzdHJlYW0ubWF0Y2goL15bMS05XVtcXGRfXSooZVtcXCtcXC1dP1tcXGRfXSspPy8pKSB7XG4gICAgICAgICAgLy8gRGVjaW1hbCBsaXRlcmFscyBtYXkgYmUgXCJpbWFnaW5hcnlcIlxuICAgICAgICAgIHN0cmVhbS5lYXQoL0ovaSk7XG4gICAgICAgICAgLy8gVE9ETyAtIENhbiB5b3UgaGF2ZSBpbWFnaW5hcnkgbG9uZ3M/XG4gICAgICAgICAgaW50TGl0ZXJhbCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgLy8gWmVybyBieSBpdHNlbGYgd2l0aCBubyBvdGhlciBwaWVjZSBvZiBudW1iZXIuXG4gICAgICAgIGlmIChzdHJlYW0ubWF0Y2goL14wKD8hW1xcZHhdKS9pKSkgaW50TGl0ZXJhbCA9IHRydWU7XG4gICAgICAgIGlmIChpbnRMaXRlcmFsKSB7XG4gICAgICAgICAgLy8gSW50ZWdlciBsaXRlcmFscyBtYXkgYmUgXCJsb25nXCJcbiAgICAgICAgICBzdHJlYW0uZWF0KC9ML2kpO1xuICAgICAgICAgIHJldHVybiBcIm51bWJlclwiO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIEhhbmRsZSBTdHJpbmdzXG4gICAgICBpZiAoc3RyZWFtLm1hdGNoKHN0cmluZ1ByZWZpeGVzKSkge1xuICAgICAgICB2YXIgaXNGbXRTdHJpbmcgPSBzdHJlYW0uY3VycmVudCgpLnRvTG93ZXJDYXNlKCkuaW5kZXhPZignZicpICE9PSAtMTtcbiAgICAgICAgaWYgKCFpc0ZtdFN0cmluZykge1xuICAgICAgICAgIHN0YXRlLnRva2VuaXplID0gdG9rZW5TdHJpbmdGYWN0b3J5KHN0cmVhbS5jdXJyZW50KCksIHN0YXRlLnRva2VuaXplKTtcbiAgICAgICAgICByZXR1cm4gc3RhdGUudG9rZW5pemUoc3RyZWFtLCBzdGF0ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgc3RhdGUudG9rZW5pemUgPSBmb3JtYXRTdHJpbmdGYWN0b3J5KHN0cmVhbS5jdXJyZW50KCksIHN0YXRlLnRva2VuaXplKTtcbiAgICAgICAgICByZXR1cm4gc3RhdGUudG9rZW5pemUoc3RyZWFtLCBzdGF0ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBvcGVyYXRvcnMubGVuZ3RoOyBpKyspXG4gICAgICAgIGlmIChzdHJlYW0ubWF0Y2gob3BlcmF0b3JzW2ldKSkgcmV0dXJuIFwib3BlcmF0b3JcIlxuXG4gICAgICBpZiAoc3RyZWFtLm1hdGNoKGRlbGltaXRlcnMpKSByZXR1cm4gXCJwdW5jdHVhdGlvblwiO1xuXG4gICAgICBpZiAoc3RhdGUubGFzdFRva2VuID09IFwiLlwiICYmIHN0cmVhbS5tYXRjaChpZGVudGlmaWVycykpXG4gICAgICAgIHJldHVybiBcInByb3BlcnR5XCI7XG5cbiAgICAgIGlmIChzdHJlYW0ubWF0Y2goa2V5d29yZHMpIHx8IHN0cmVhbS5tYXRjaCh3b3JkT3BlcmF0b3JzKSlcbiAgICAgICAgcmV0dXJuIFwia2V5d29yZFwiO1xuXG4gICAgICBpZiAoc3RyZWFtLm1hdGNoKGJ1aWx0aW5zKSlcbiAgICAgICAgcmV0dXJuIFwiYnVpbHRpblwiO1xuXG4gICAgICBpZiAoc3RyZWFtLm1hdGNoKC9eKHNlbGZ8Y2xzKVxcYi8pKVxuICAgICAgICByZXR1cm4gXCJ2YXJpYWJsZS0yXCI7XG5cbiAgICAgIGlmIChzdHJlYW0ubWF0Y2goaWRlbnRpZmllcnMpKSB7XG4gICAgICAgIGlmIChzdGF0ZS5sYXN0VG9rZW4gPT0gXCJkZWZcIiB8fCBzdGF0ZS5sYXN0VG9rZW4gPT0gXCJjbGFzc1wiKVxuICAgICAgICAgIHJldHVybiBcImRlZlwiO1xuICAgICAgICByZXR1cm4gXCJ2YXJpYWJsZVwiO1xuICAgICAgfVxuXG4gICAgICAvLyBIYW5kbGUgbm9uLWRldGVjdGVkIGl0ZW1zXG4gICAgICBzdHJlYW0ubmV4dCgpO1xuICAgICAgcmV0dXJuIEVSUk9SQ0xBU1M7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gZm9ybWF0U3RyaW5nRmFjdG9yeShkZWxpbWl0ZXIsIHRva2VuT3V0ZXIpIHtcbiAgICAgIHdoaWxlIChcInJ1YmZcIi5pbmRleE9mKGRlbGltaXRlci5jaGFyQXQoMCkudG9Mb3dlckNhc2UoKSkgPj0gMClcbiAgICAgICAgZGVsaW1pdGVyID0gZGVsaW1pdGVyLnN1YnN0cigxKTtcblxuICAgICAgdmFyIHNpbmdsZWxpbmUgPSBkZWxpbWl0ZXIubGVuZ3RoID09IDE7XG4gICAgICB2YXIgT1VUQ0xBU1MgPSBcInN0cmluZ1wiO1xuXG4gICAgICBmdW5jdGlvbiB0b2tlbk5lc3RlZEV4cHIoZGVwdGgpIHtcbiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKHN0cmVhbSwgc3RhdGUpIHtcbiAgICAgICAgICB2YXIgaW5uZXIgPSB0b2tlbkJhc2VJbm5lcihzdHJlYW0sIHN0YXRlKVxuICAgICAgICAgIGlmIChpbm5lciA9PSBcInB1bmN0dWF0aW9uXCIpIHtcbiAgICAgICAgICAgIGlmIChzdHJlYW0uY3VycmVudCgpID09IFwie1wiKSB7XG4gICAgICAgICAgICAgIHN0YXRlLnRva2VuaXplID0gdG9rZW5OZXN0ZWRFeHByKGRlcHRoICsgMSlcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoc3RyZWFtLmN1cnJlbnQoKSA9PSBcIn1cIikge1xuICAgICAgICAgICAgICBpZiAoZGVwdGggPiAxKSBzdGF0ZS50b2tlbml6ZSA9IHRva2VuTmVzdGVkRXhwcihkZXB0aCAtIDEpXG4gICAgICAgICAgICAgIGVsc2Ugc3RhdGUudG9rZW5pemUgPSB0b2tlblN0cmluZ1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gaW5uZXJcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiB0b2tlblN0cmluZyhzdHJlYW0sIHN0YXRlKSB7XG4gICAgICAgIHdoaWxlICghc3RyZWFtLmVvbCgpKSB7XG4gICAgICAgICAgc3RyZWFtLmVhdFdoaWxlKC9bXidcIlxce1xcfVxcXFxdLyk7XG4gICAgICAgICAgaWYgKHN0cmVhbS5lYXQoXCJcXFxcXCIpKSB7XG4gICAgICAgICAgICBzdHJlYW0ubmV4dCgpO1xuICAgICAgICAgICAgaWYgKHNpbmdsZWxpbmUgJiYgc3RyZWFtLmVvbCgpKVxuICAgICAgICAgICAgICByZXR1cm4gT1VUQ0xBU1M7XG4gICAgICAgICAgfSBlbHNlIGlmIChzdHJlYW0ubWF0Y2goZGVsaW1pdGVyKSkge1xuICAgICAgICAgICAgc3RhdGUudG9rZW5pemUgPSB0b2tlbk91dGVyO1xuICAgICAgICAgICAgcmV0dXJuIE9VVENMQVNTO1xuICAgICAgICAgIH0gZWxzZSBpZiAoc3RyZWFtLm1hdGNoKCd7eycpKSB7XG4gICAgICAgICAgICAvLyBpZ25vcmUge3sgaW4gZi1zdHJcbiAgICAgICAgICAgIHJldHVybiBPVVRDTEFTUztcbiAgICAgICAgICB9IGVsc2UgaWYgKHN0cmVhbS5tYXRjaCgneycsIGZhbHNlKSkge1xuICAgICAgICAgICAgLy8gc3dpdGNoIHRvIG5lc3RlZCBtb2RlXG4gICAgICAgICAgICBzdGF0ZS50b2tlbml6ZSA9IHRva2VuTmVzdGVkRXhwcigwKVxuICAgICAgICAgICAgaWYgKHN0cmVhbS5jdXJyZW50KCkpIHJldHVybiBPVVRDTEFTUztcbiAgICAgICAgICAgIGVsc2UgcmV0dXJuIHN0YXRlLnRva2VuaXplKHN0cmVhbSwgc3RhdGUpXG4gICAgICAgICAgfSBlbHNlIGlmIChzdHJlYW0ubWF0Y2goJ319JykpIHtcbiAgICAgICAgICAgIHJldHVybiBPVVRDTEFTUztcbiAgICAgICAgICB9IGVsc2UgaWYgKHN0cmVhbS5tYXRjaCgnfScpKSB7XG4gICAgICAgICAgICAvLyBzaW5nbGUgfSBpbiBmLXN0cmluZyBpcyBhbiBlcnJvclxuICAgICAgICAgICAgcmV0dXJuIEVSUk9SQ0xBU1M7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHN0cmVhbS5lYXQoL1snXCJdLyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChzaW5nbGVsaW5lKSB7XG4gICAgICAgICAgaWYgKHBhcnNlckNvbmYuc2luZ2xlTGluZVN0cmluZ0Vycm9ycylcbiAgICAgICAgICAgIHJldHVybiBFUlJPUkNMQVNTO1xuICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgIHN0YXRlLnRva2VuaXplID0gdG9rZW5PdXRlcjtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gT1VUQ0xBU1M7XG4gICAgICB9XG4gICAgICB0b2tlblN0cmluZy5pc1N0cmluZyA9IHRydWU7XG4gICAgICByZXR1cm4gdG9rZW5TdHJpbmc7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gdG9rZW5TdHJpbmdGYWN0b3J5KGRlbGltaXRlciwgdG9rZW5PdXRlcikge1xuICAgICAgd2hpbGUgKFwicnViZlwiLmluZGV4T2YoZGVsaW1pdGVyLmNoYXJBdCgwKS50b0xvd2VyQ2FzZSgpKSA+PSAwKVxuICAgICAgICBkZWxpbWl0ZXIgPSBkZWxpbWl0ZXIuc3Vic3RyKDEpO1xuXG4gICAgICB2YXIgc2luZ2xlbGluZSA9IGRlbGltaXRlci5sZW5ndGggPT0gMTtcbiAgICAgIHZhciBPVVRDTEFTUyA9IFwic3RyaW5nXCI7XG5cbiAgICAgIGZ1bmN0aW9uIHRva2VuU3RyaW5nKHN0cmVhbSwgc3RhdGUpIHtcbiAgICAgICAgd2hpbGUgKCFzdHJlYW0uZW9sKCkpIHtcbiAgICAgICAgICBzdHJlYW0uZWF0V2hpbGUoL1teJ1wiXFxcXF0vKTtcbiAgICAgICAgICBpZiAoc3RyZWFtLmVhdChcIlxcXFxcIikpIHtcbiAgICAgICAgICAgIHN0cmVhbS5uZXh0KCk7XG4gICAgICAgICAgICBpZiAoc2luZ2xlbGluZSAmJiBzdHJlYW0uZW9sKCkpXG4gICAgICAgICAgICAgIHJldHVybiBPVVRDTEFTUztcbiAgICAgICAgICB9IGVsc2UgaWYgKHN0cmVhbS5tYXRjaChkZWxpbWl0ZXIpKSB7XG4gICAgICAgICAgICBzdGF0ZS50b2tlbml6ZSA9IHRva2VuT3V0ZXI7XG4gICAgICAgICAgICByZXR1cm4gT1VUQ0xBU1M7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHN0cmVhbS5lYXQoL1snXCJdLyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChzaW5nbGVsaW5lKSB7XG4gICAgICAgICAgaWYgKHBhcnNlckNvbmYuc2luZ2xlTGluZVN0cmluZ0Vycm9ycylcbiAgICAgICAgICAgIHJldHVybiBFUlJPUkNMQVNTO1xuICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgIHN0YXRlLnRva2VuaXplID0gdG9rZW5PdXRlcjtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gT1VUQ0xBU1M7XG4gICAgICB9XG4gICAgICB0b2tlblN0cmluZy5pc1N0cmluZyA9IHRydWU7XG4gICAgICByZXR1cm4gdG9rZW5TdHJpbmc7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gcHVzaFB5U2NvcGUoc3RhdGUpIHtcbiAgICAgIHdoaWxlICh0b3Aoc3RhdGUpLnR5cGUgIT0gXCJweVwiKSBzdGF0ZS5zY29wZXMucG9wKClcbiAgICAgIHN0YXRlLnNjb3Blcy5wdXNoKHtvZmZzZXQ6IHRvcChzdGF0ZSkub2Zmc2V0ICsgY29uZi5pbmRlbnRVbml0LFxuICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IFwicHlcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICBhbGlnbjogbnVsbH0pXG4gICAgfVxuXG4gICAgZnVuY3Rpb24gcHVzaEJyYWNrZXRTY29wZShzdHJlYW0sIHN0YXRlLCB0eXBlKSB7XG4gICAgICB2YXIgYWxpZ24gPSBzdHJlYW0ubWF0Y2goL14oW1xcc1xcW1xce1xcKF18Iy4qKSokLywgZmFsc2UpID8gbnVsbCA6IHN0cmVhbS5jb2x1bW4oKSArIDFcbiAgICAgIHN0YXRlLnNjb3Blcy5wdXNoKHtvZmZzZXQ6IHN0YXRlLmluZGVudCArIGhhbmdpbmdJbmRlbnQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogdHlwZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICBhbGlnbjogYWxpZ259KVxuICAgIH1cblxuICAgIGZ1bmN0aW9uIGRlZGVudChzdHJlYW0sIHN0YXRlKSB7XG4gICAgICB2YXIgaW5kZW50ZWQgPSBzdHJlYW0uaW5kZW50YXRpb24oKTtcbiAgICAgIHdoaWxlIChzdGF0ZS5zY29wZXMubGVuZ3RoID4gMSAmJiB0b3Aoc3RhdGUpLm9mZnNldCA+IGluZGVudGVkKSB7XG4gICAgICAgIGlmICh0b3Aoc3RhdGUpLnR5cGUgIT0gXCJweVwiKSByZXR1cm4gdHJ1ZTtcbiAgICAgICAgc3RhdGUuc2NvcGVzLnBvcCgpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRvcChzdGF0ZSkub2Zmc2V0ICE9IGluZGVudGVkO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIHRva2VuTGV4ZXIoc3RyZWFtLCBzdGF0ZSkge1xuICAgICAgaWYgKHN0cmVhbS5zb2woKSkgc3RhdGUuYmVnaW5uaW5nT2ZMaW5lID0gdHJ1ZTtcblxuICAgICAgdmFyIHN0eWxlID0gc3RhdGUudG9rZW5pemUoc3RyZWFtLCBzdGF0ZSk7XG4gICAgICB2YXIgY3VycmVudCA9IHN0cmVhbS5jdXJyZW50KCk7XG5cbiAgICAgIC8vIEhhbmRsZSBkZWNvcmF0b3JzXG4gICAgICBpZiAoc3RhdGUuYmVnaW5uaW5nT2ZMaW5lICYmIGN1cnJlbnQgPT0gXCJAXCIpXG4gICAgICAgIHJldHVybiBzdHJlYW0ubWF0Y2goaWRlbnRpZmllcnMsIGZhbHNlKSA/IFwibWV0YVwiIDogcHkzID8gXCJvcGVyYXRvclwiIDogRVJST1JDTEFTUztcblxuICAgICAgaWYgKC9cXFMvLnRlc3QoY3VycmVudCkpIHN0YXRlLmJlZ2lubmluZ09mTGluZSA9IGZhbHNlO1xuXG4gICAgICBpZiAoKHN0eWxlID09IFwidmFyaWFibGVcIiB8fCBzdHlsZSA9PSBcImJ1aWx0aW5cIilcbiAgICAgICAgICAmJiBzdGF0ZS5sYXN0VG9rZW4gPT0gXCJtZXRhXCIpXG4gICAgICAgIHN0eWxlID0gXCJtZXRhXCI7XG5cbiAgICAgIC8vIEhhbmRsZSBzY29wZSBjaGFuZ2VzLlxuICAgICAgaWYgKGN1cnJlbnQgPT0gXCJwYXNzXCIgfHwgY3VycmVudCA9PSBcInJldHVyblwiKVxuICAgICAgICBzdGF0ZS5kZWRlbnQgKz0gMTtcblxuICAgICAgaWYgKGN1cnJlbnQgPT0gXCJsYW1iZGFcIikgc3RhdGUubGFtYmRhID0gdHJ1ZTtcbiAgICAgIGlmIChjdXJyZW50ID09IFwiOlwiICYmICFzdGF0ZS5sYW1iZGEgJiYgdG9wKHN0YXRlKS50eXBlID09IFwicHlcIilcbiAgICAgICAgcHVzaFB5U2NvcGUoc3RhdGUpO1xuXG4gICAgICBpZiAoY3VycmVudC5sZW5ndGggPT0gMSAmJiAhL3N0cmluZ3xjb21tZW50Ly50ZXN0KHN0eWxlKSkge1xuICAgICAgICB2YXIgZGVsaW1pdGVyX2luZGV4ID0gXCJbKHtcIi5pbmRleE9mKGN1cnJlbnQpO1xuICAgICAgICBpZiAoZGVsaW1pdGVyX2luZGV4ICE9IC0xKVxuICAgICAgICAgIHB1c2hCcmFja2V0U2NvcGUoc3RyZWFtLCBzdGF0ZSwgXCJdKX1cIi5zbGljZShkZWxpbWl0ZXJfaW5kZXgsIGRlbGltaXRlcl9pbmRleCsxKSk7XG5cbiAgICAgICAgZGVsaW1pdGVyX2luZGV4ID0gXCJdKX1cIi5pbmRleE9mKGN1cnJlbnQpO1xuICAgICAgICBpZiAoZGVsaW1pdGVyX2luZGV4ICE9IC0xKSB7XG4gICAgICAgICAgaWYgKHRvcChzdGF0ZSkudHlwZSA9PSBjdXJyZW50KSBzdGF0ZS5pbmRlbnQgPSBzdGF0ZS5zY29wZXMucG9wKCkub2Zmc2V0IC0gaGFuZ2luZ0luZGVudFxuICAgICAgICAgIGVsc2UgcmV0dXJuIEVSUk9SQ0xBU1M7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmIChzdGF0ZS5kZWRlbnQgPiAwICYmIHN0cmVhbS5lb2woKSAmJiB0b3Aoc3RhdGUpLnR5cGUgPT0gXCJweVwiKSB7XG4gICAgICAgIGlmIChzdGF0ZS5zY29wZXMubGVuZ3RoID4gMSkgc3RhdGUuc2NvcGVzLnBvcCgpO1xuICAgICAgICBzdGF0ZS5kZWRlbnQgLT0gMTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHN0eWxlO1xuICAgIH1cblxuICAgIHZhciBleHRlcm5hbCA9IHtcbiAgICAgIHN0YXJ0U3RhdGU6IGZ1bmN0aW9uKGJhc2Vjb2x1bW4pIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICB0b2tlbml6ZTogdG9rZW5CYXNlLFxuICAgICAgICAgIHNjb3BlczogW3tvZmZzZXQ6IGJhc2Vjb2x1bW4gfHwgMCwgdHlwZTogXCJweVwiLCBhbGlnbjogbnVsbH1dLFxuICAgICAgICAgIGluZGVudDogYmFzZWNvbHVtbiB8fCAwLFxuICAgICAgICAgIGxhc3RUb2tlbjogbnVsbCxcbiAgICAgICAgICBsYW1iZGE6IGZhbHNlLFxuICAgICAgICAgIGRlZGVudDogMFxuICAgICAgICB9O1xuICAgICAgfSxcblxuICAgICAgdG9rZW46IGZ1bmN0aW9uKHN0cmVhbSwgc3RhdGUpIHtcbiAgICAgICAgdmFyIGFkZEVyciA9IHN0YXRlLmVycm9yVG9rZW47XG4gICAgICAgIGlmIChhZGRFcnIpIHN0YXRlLmVycm9yVG9rZW4gPSBmYWxzZTtcbiAgICAgICAgdmFyIHN0eWxlID0gdG9rZW5MZXhlcihzdHJlYW0sIHN0YXRlKTtcblxuICAgICAgICBpZiAoc3R5bGUgJiYgc3R5bGUgIT0gXCJjb21tZW50XCIpXG4gICAgICAgICAgc3RhdGUubGFzdFRva2VuID0gKHN0eWxlID09IFwia2V5d29yZFwiIHx8IHN0eWxlID09IFwicHVuY3R1YXRpb25cIikgPyBzdHJlYW0uY3VycmVudCgpIDogc3R5bGU7XG4gICAgICAgIGlmIChzdHlsZSA9PSBcInB1bmN0dWF0aW9uXCIpIHN0eWxlID0gbnVsbDtcblxuICAgICAgICBpZiAoc3RyZWFtLmVvbCgpICYmIHN0YXRlLmxhbWJkYSlcbiAgICAgICAgICBzdGF0ZS5sYW1iZGEgPSBmYWxzZTtcbiAgICAgICAgcmV0dXJuIGFkZEVyciA/IHN0eWxlICsgXCIgXCIgKyBFUlJPUkNMQVNTIDogc3R5bGU7XG4gICAgICB9LFxuXG4gICAgICBpbmRlbnQ6IGZ1bmN0aW9uKHN0YXRlLCB0ZXh0QWZ0ZXIpIHtcbiAgICAgICAgaWYgKHN0YXRlLnRva2VuaXplICE9IHRva2VuQmFzZSlcbiAgICAgICAgICByZXR1cm4gc3RhdGUudG9rZW5pemUuaXNTdHJpbmcgPyBDb2RlTWlycm9yLlBhc3MgOiAwO1xuXG4gICAgICAgIHZhciBzY29wZSA9IHRvcChzdGF0ZSksIGNsb3NpbmcgPSBzY29wZS50eXBlID09IHRleHRBZnRlci5jaGFyQXQoMClcbiAgICAgICAgaWYgKHNjb3BlLmFsaWduICE9IG51bGwpXG4gICAgICAgICAgcmV0dXJuIHNjb3BlLmFsaWduIC0gKGNsb3NpbmcgPyAxIDogMClcbiAgICAgICAgZWxzZVxuICAgICAgICAgIHJldHVybiBzY29wZS5vZmZzZXQgLSAoY2xvc2luZyA/IGhhbmdpbmdJbmRlbnQgOiAwKVxuICAgICAgfSxcblxuICAgICAgZWxlY3RyaWNJbnB1dDogL15cXHMqW1xcfVxcXVxcKV0kLyxcbiAgICAgIGNsb3NlQnJhY2tldHM6IHt0cmlwbGVzOiBcIidcXFwiXCJ9LFxuICAgICAgbGluZUNvbW1lbnQ6IFwiI1wiLFxuICAgICAgZm9sZDogXCJpbmRlbnRcIlxuICAgIH07XG4gICAgcmV0dXJuIGV4dGVybmFsO1xuICB9KTtcblxuICBDb2RlTWlycm9yLmRlZmluZU1JTUUoXCJ0ZXh0L3gtcHl0aG9uXCIsIFwicHl0aG9uXCIpO1xuXG4gIHZhciB3b3JkcyA9IGZ1bmN0aW9uKHN0cikgeyByZXR1cm4gc3RyLnNwbGl0KFwiIFwiKTsgfTtcblxuICBDb2RlTWlycm9yLmRlZmluZU1JTUUoXCJ0ZXh0L3gtY3l0aG9uXCIsIHtcbiAgICBuYW1lOiBcInB5dGhvblwiLFxuICAgIGV4dHJhX2tleXdvcmRzOiB3b3JkcyhcImJ5IGNkZWYgY2ltcG9ydCBjcGRlZiBjdHlwZWRlZiBlbnVtIGV4Y2VwdCBcIitcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXCJleHRlcm4gZ2lsIGluY2x1ZGUgbm9naWwgcHJvcGVydHkgcHVibGljIFwiK1xuICAgICAgICAgICAgICAgICAgICAgICAgICBcInJlYWRvbmx5IHN0cnVjdCB1bmlvbiBERUYgSUYgRUxJRiBFTFNFXCIpXG4gIH0pO1xuXG59KTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/codemirror/mode/python/python.js\n"); /***/ }), /***/ "./node_modules/codemirror/mode/r/r.js": /*!*********************************************!*\ !*** ./node_modules/codemirror/mode/r/r.js ***! \*********************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ \"./node_modules/codemirror/lib/codemirror.js\"));\n else {}\n})(function(CodeMirror) {\n\"use strict\";\n\nCodeMirror.registerHelper(\"wordChars\", \"r\", /[\\w.]/);\n\nCodeMirror.defineMode(\"r\", function(config) {\n function wordObj(words) {\n var res = {};\n for (var i = 0; i < words.length; ++i) res[words[i]] = true;\n return res;\n }\n var commonAtoms = [\"NULL\", \"NA\", \"Inf\", \"NaN\", \"NA_integer_\", \"NA_real_\", \"NA_complex_\", \"NA_character_\", \"TRUE\", \"FALSE\"];\n var commonBuiltins = [\"list\", \"quote\", \"bquote\", \"eval\", \"return\", \"call\", \"parse\", \"deparse\"];\n var commonKeywords = [\"if\", \"else\", \"repeat\", \"while\", \"function\", \"for\", \"in\", \"next\", \"break\"];\n var commonBlockKeywords = [\"if\", \"else\", \"repeat\", \"while\", \"function\", \"for\"];\n\n CodeMirror.registerHelper(\"hintWords\", \"r\", commonAtoms.concat(commonBuiltins, commonKeywords));\n\n var atoms = wordObj(commonAtoms);\n var builtins = wordObj(commonBuiltins);\n var keywords = wordObj(commonKeywords);\n var blockkeywords = wordObj(commonBlockKeywords);\n var opChars = /[+\\-*\\/^<>=!&|~$:]/;\n var curPunc;\n\n function tokenBase(stream, state) {\n curPunc = null;\n var ch = stream.next();\n if (ch == \"#\") {\n stream.skipToEnd();\n return \"comment\";\n } else if (ch == \"0\" && stream.eat(\"x\")) {\n stream.eatWhile(/[\\da-f]/i);\n return \"number\";\n } else if (ch == \".\" && stream.eat(/\\d/)) {\n stream.match(/\\d*(?:e[+\\-]?\\d+)?/);\n return \"number\";\n } else if (/\\d/.test(ch)) {\n stream.match(/\\d*(?:\\.\\d+)?(?:e[+\\-]\\d+)?L?/);\n return \"number\";\n } else if (ch == \"'\" || ch == '\"') {\n state.tokenize = tokenString(ch);\n return \"string\";\n } else if (ch == \"`\") {\n stream.match(/[^`]+`/);\n return \"variable-3\";\n } else if (ch == \".\" && stream.match(/.[.\\d]+/)) {\n return \"keyword\";\n } else if (/[\\w\\.]/.test(ch) && ch != \"_\") {\n stream.eatWhile(/[\\w\\.]/);\n var word = stream.current();\n if (atoms.propertyIsEnumerable(word)) return \"atom\";\n if (keywords.propertyIsEnumerable(word)) {\n // Block keywords start new blocks, except 'else if', which only starts\n // one new block for the 'if', no block for the 'else'.\n if (blockkeywords.propertyIsEnumerable(word) &&\n !stream.match(/\\s*if(\\s+|$)/, false))\n curPunc = \"block\";\n return \"keyword\";\n }\n if (builtins.propertyIsEnumerable(word)) return \"builtin\";\n return \"variable\";\n } else if (ch == \"%\") {\n if (stream.skipTo(\"%\")) stream.next();\n return \"operator variable-2\";\n } else if (\n (ch == \"<\" && stream.eat(\"-\")) ||\n (ch == \"<\" && stream.match(\"<-\")) ||\n (ch == \"-\" && stream.match(/>>?/))\n ) {\n return \"operator arrow\";\n } else if (ch == \"=\" && state.ctx.argList) {\n return \"arg-is\";\n } else if (opChars.test(ch)) {\n if (ch == \"$\") return \"operator dollar\";\n stream.eatWhile(opChars);\n return \"operator\";\n } else if (/[\\(\\){}\\[\\];]/.test(ch)) {\n curPunc = ch;\n if (ch == \";\") return \"semi\";\n return null;\n } else {\n return null;\n }\n }\n\n function tokenString(quote) {\n return function(stream, state) {\n if (stream.eat(\"\\\\\")) {\n var ch = stream.next();\n if (ch == \"x\") stream.match(/^[a-f0-9]{2}/i);\n else if ((ch == \"u\" || ch == \"U\") && stream.eat(\"{\") && stream.skipTo(\"}\")) stream.next();\n else if (ch == \"u\") stream.match(/^[a-f0-9]{4}/i);\n else if (ch == \"U\") stream.match(/^[a-f0-9]{8}/i);\n else if (/[0-7]/.test(ch)) stream.match(/^[0-7]{1,2}/);\n return \"string-2\";\n } else {\n var next;\n while ((next = stream.next()) != null) {\n if (next == quote) { state.tokenize = tokenBase; break; }\n if (next == \"\\\\\") { stream.backUp(1); break; }\n }\n return \"string\";\n }\n };\n }\n\n var ALIGN_YES = 1, ALIGN_NO = 2, BRACELESS = 4\n\n function push(state, type, stream) {\n state.ctx = {type: type,\n indent: state.indent,\n flags: 0,\n column: stream.column(),\n prev: state.ctx};\n }\n function setFlag(state, flag) {\n var ctx = state.ctx\n state.ctx = {type: ctx.type,\n indent: ctx.indent,\n flags: ctx.flags | flag,\n column: ctx.column,\n prev: ctx.prev}\n }\n function pop(state) {\n state.indent = state.ctx.indent;\n state.ctx = state.ctx.prev;\n }\n\n return {\n startState: function() {\n return {tokenize: tokenBase,\n ctx: {type: \"top\",\n indent: -config.indentUnit,\n flags: ALIGN_NO},\n indent: 0,\n afterIdent: false};\n },\n\n token: function(stream, state) {\n if (stream.sol()) {\n if ((state.ctx.flags & 3) == 0) state.ctx.flags |= ALIGN_NO\n if (state.ctx.flags & BRACELESS) pop(state)\n state.indent = stream.indentation();\n }\n if (stream.eatSpace()) return null;\n var style = state.tokenize(stream, state);\n if (style != \"comment\" && (state.ctx.flags & ALIGN_NO) == 0) setFlag(state, ALIGN_YES)\n\n if ((curPunc == \";\" || curPunc == \"{\" || curPunc == \"}\") && state.ctx.type == \"block\") pop(state);\n if (curPunc == \"{\") push(state, \"}\", stream);\n else if (curPunc == \"(\") {\n push(state, \")\", stream);\n if (state.afterIdent) state.ctx.argList = true;\n }\n else if (curPunc == \"[\") push(state, \"]\", stream);\n else if (curPunc == \"block\") push(state, \"block\", stream);\n else if (curPunc == state.ctx.type) pop(state);\n else if (state.ctx.type == \"block\" && style != \"comment\") setFlag(state, BRACELESS)\n state.afterIdent = style == \"variable\" || style == \"keyword\";\n return style;\n },\n\n indent: function(state, textAfter) {\n if (state.tokenize != tokenBase) return 0;\n var firstChar = textAfter && textAfter.charAt(0), ctx = state.ctx,\n closing = firstChar == ctx.type;\n if (ctx.flags & BRACELESS) ctx = ctx.prev\n if (ctx.type == \"block\") return ctx.indent + (firstChar == \"{\" ? 0 : config.indentUnit);\n else if (ctx.flags & ALIGN_YES) return ctx.column + (closing ? 0 : 1);\n else return ctx.indent + (closing ? 0 : config.indentUnit);\n },\n\n lineComment: \"#\"\n };\n});\n\nCodeMirror.defineMIME(\"text/x-rsrc\", \"r\");\n\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9tb2RlL3Ivci5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb2RlbWlycm9yL21vZGUvci9yLmpzPzkwM2UiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29kZU1pcnJvciwgY29weXJpZ2h0IChjKSBieSBNYXJpam4gSGF2ZXJiZWtlIGFuZCBvdGhlcnNcbi8vIERpc3RyaWJ1dGVkIHVuZGVyIGFuIE1JVCBsaWNlbnNlOiBodHRwczovL2NvZGVtaXJyb3IubmV0L0xJQ0VOU0VcblxuKGZ1bmN0aW9uKG1vZCkge1xuICBpZiAodHlwZW9mIGV4cG9ydHMgPT0gXCJvYmplY3RcIiAmJiB0eXBlb2YgbW9kdWxlID09IFwib2JqZWN0XCIpIC8vIENvbW1vbkpTXG4gICAgbW9kKHJlcXVpcmUoXCIuLi8uLi9saWIvY29kZW1pcnJvclwiKSk7XG4gIGVsc2UgaWYgKHR5cGVvZiBkZWZpbmUgPT0gXCJmdW5jdGlvblwiICYmIGRlZmluZS5hbWQpIC8vIEFNRFxuICAgIGRlZmluZShbXCIuLi8uLi9saWIvY29kZW1pcnJvclwiXSwgbW9kKTtcbiAgZWxzZSAvLyBQbGFpbiBicm93c2VyIGVudlxuICAgIG1vZChDb2RlTWlycm9yKTtcbn0pKGZ1bmN0aW9uKENvZGVNaXJyb3IpIHtcblwidXNlIHN0cmljdFwiO1xuXG5Db2RlTWlycm9yLnJlZ2lzdGVySGVscGVyKFwid29yZENoYXJzXCIsIFwiclwiLCAvW1xcdy5dLyk7XG5cbkNvZGVNaXJyb3IuZGVmaW5lTW9kZShcInJcIiwgZnVuY3Rpb24oY29uZmlnKSB7XG4gIGZ1bmN0aW9uIHdvcmRPYmood29yZHMpIHtcbiAgICB2YXIgcmVzID0ge307XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB3b3Jkcy5sZW5ndGg7ICsraSkgcmVzW3dvcmRzW2ldXSA9IHRydWU7XG4gICAgcmV0dXJuIHJlcztcbiAgfVxuICB2YXIgY29tbW9uQXRvbXMgPSBbXCJOVUxMXCIsIFwiTkFcIiwgXCJJbmZcIiwgXCJOYU5cIiwgXCJOQV9pbnRlZ2VyX1wiLCBcIk5BX3JlYWxfXCIsIFwiTkFfY29tcGxleF9cIiwgXCJOQV9jaGFyYWN0ZXJfXCIsIFwiVFJVRVwiLCBcIkZBTFNFXCJdO1xuICB2YXIgY29tbW9uQnVpbHRpbnMgPSBbXCJsaXN0XCIsIFwicXVvdGVcIiwgXCJicXVvdGVcIiwgXCJldmFsXCIsIFwicmV0dXJuXCIsIFwiY2FsbFwiLCBcInBhcnNlXCIsIFwiZGVwYXJzZVwiXTtcbiAgdmFyIGNvbW1vbktleXdvcmRzID0gW1wiaWZcIiwgXCJlbHNlXCIsIFwicmVwZWF0XCIsIFwid2hpbGVcIiwgXCJmdW5jdGlvblwiLCBcImZvclwiLCBcImluXCIsIFwibmV4dFwiLCBcImJyZWFrXCJdO1xuICB2YXIgY29tbW9uQmxvY2tLZXl3b3JkcyA9IFtcImlmXCIsIFwiZWxzZVwiLCBcInJlcGVhdFwiLCBcIndoaWxlXCIsIFwiZnVuY3Rpb25cIiwgXCJmb3JcIl07XG5cbiAgQ29kZU1pcnJvci5yZWdpc3RlckhlbHBlcihcImhpbnRXb3Jkc1wiLCBcInJcIiwgY29tbW9uQXRvbXMuY29uY2F0KGNvbW1vbkJ1aWx0aW5zLCBjb21tb25LZXl3b3JkcykpO1xuXG4gIHZhciBhdG9tcyA9IHdvcmRPYmooY29tbW9uQXRvbXMpO1xuICB2YXIgYnVpbHRpbnMgPSB3b3JkT2JqKGNvbW1vbkJ1aWx0aW5zKTtcbiAgdmFyIGtleXdvcmRzID0gd29yZE9iaihjb21tb25LZXl3b3Jkcyk7XG4gIHZhciBibG9ja2tleXdvcmRzID0gd29yZE9iaihjb21tb25CbG9ja0tleXdvcmRzKTtcbiAgdmFyIG9wQ2hhcnMgPSAvWytcXC0qXFwvXjw+PSEmfH4kOl0vO1xuICB2YXIgY3VyUHVuYztcblxuICBmdW5jdGlvbiB0b2tlbkJhc2Uoc3RyZWFtLCBzdGF0ZSkge1xuICAgIGN1clB1bmMgPSBudWxsO1xuICAgIHZhciBjaCA9IHN0cmVhbS5uZXh0KCk7XG4gICAgaWYgKGNoID09IFwiI1wiKSB7XG4gICAgICBzdHJlYW0uc2tpcFRvRW5kKCk7XG4gICAgICByZXR1cm4gXCJjb21tZW50XCI7XG4gICAgfSBlbHNlIGlmIChjaCA9PSBcIjBcIiAmJiBzdHJlYW0uZWF0KFwieFwiKSkge1xuICAgICAgc3RyZWFtLmVhdFdoaWxlKC9bXFxkYS1mXS9pKTtcbiAgICAgIHJldHVybiBcIm51bWJlclwiO1xuICAgIH0gZWxzZSBpZiAoY2ggPT0gXCIuXCIgJiYgc3RyZWFtLmVhdCgvXFxkLykpIHtcbiAgICAgIHN0cmVhbS5tYXRjaCgvXFxkKig/OmVbK1xcLV0/XFxkKyk/Lyk7XG4gICAgICByZXR1cm4gXCJudW1iZXJcIjtcbiAgICB9IGVsc2UgaWYgKC9cXGQvLnRlc3QoY2gpKSB7XG4gICAgICBzdHJlYW0ubWF0Y2goL1xcZCooPzpcXC5cXGQrKT8oPzplWytcXC1dXFxkKyk/TD8vKTtcbiAgICAgIHJldHVybiBcIm51bWJlclwiO1xuICAgIH0gZWxzZSBpZiAoY2ggPT0gXCInXCIgfHwgY2ggPT0gJ1wiJykge1xuICAgICAgc3RhdGUudG9rZW5pemUgPSB0b2tlblN0cmluZyhjaCk7XG4gICAgICByZXR1cm4gXCJzdHJpbmdcIjtcbiAgICB9IGVsc2UgaWYgKGNoID09IFwiYFwiKSB7XG4gICAgICBzdHJlYW0ubWF0Y2goL1teYF0rYC8pO1xuICAgICAgcmV0dXJuIFwidmFyaWFibGUtM1wiO1xuICAgIH0gZWxzZSBpZiAoY2ggPT0gXCIuXCIgJiYgc3RyZWFtLm1hdGNoKC8uWy5cXGRdKy8pKSB7XG4gICAgICByZXR1cm4gXCJrZXl3b3JkXCI7XG4gICAgfSBlbHNlIGlmICgvW1xcd1xcLl0vLnRlc3QoY2gpICYmIGNoICE9IFwiX1wiKSB7XG4gICAgICBzdHJlYW0uZWF0V2hpbGUoL1tcXHdcXC5dLyk7XG4gICAgICB2YXIgd29yZCA9IHN0cmVhbS5jdXJyZW50KCk7XG4gICAgICBpZiAoYXRvbXMucHJvcGVydHlJc0VudW1lcmFibGUod29yZCkpIHJldHVybiBcImF0b21cIjtcbiAgICAgIGlmIChrZXl3b3Jkcy5wcm9wZXJ0eUlzRW51bWVyYWJsZSh3b3JkKSkge1xuICAgICAgICAvLyBCbG9jayBrZXl3b3JkcyBzdGFydCBuZXcgYmxvY2tzLCBleGNlcHQgJ2Vsc2UgaWYnLCB3aGljaCBvbmx5IHN0YXJ0c1xuICAgICAgICAvLyBvbmUgbmV3IGJsb2NrIGZvciB0aGUgJ2lmJywgbm8gYmxvY2sgZm9yIHRoZSAnZWxzZScuXG4gICAgICAgIGlmIChibG9ja2tleXdvcmRzLnByb3BlcnR5SXNFbnVtZXJhYmxlKHdvcmQpICYmXG4gICAgICAgICAgICAhc3RyZWFtLm1hdGNoKC9cXHMqaWYoXFxzK3wkKS8sIGZhbHNlKSlcbiAgICAgICAgICBjdXJQdW5jID0gXCJibG9ja1wiO1xuICAgICAgICByZXR1cm4gXCJrZXl3b3JkXCI7XG4gICAgICB9XG4gICAgICBpZiAoYnVpbHRpbnMucHJvcGVydHlJc0VudW1lcmFibGUod29yZCkpIHJldHVybiBcImJ1aWx0aW5cIjtcbiAgICAgIHJldHVybiBcInZhcmlhYmxlXCI7XG4gICAgfSBlbHNlIGlmIChjaCA9PSBcIiVcIikge1xuICAgICAgaWYgKHN0cmVhbS5za2lwVG8oXCIlXCIpKSBzdHJlYW0ubmV4dCgpO1xuICAgICAgcmV0dXJuIFwib3BlcmF0b3IgdmFyaWFibGUtMlwiO1xuICAgIH0gZWxzZSBpZiAoXG4gICAgICAgIChjaCA9PSBcIjxcIiAmJiBzdHJlYW0uZWF0KFwiLVwiKSkgfHxcbiAgICAgICAgKGNoID09IFwiPFwiICYmIHN0cmVhbS5tYXRjaChcIjwtXCIpKSB8fFxuICAgICAgICAoY2ggPT0gXCItXCIgJiYgc3RyZWFtLm1hdGNoKC8+Pj8vKSlcbiAgICAgICkge1xuICAgICAgcmV0dXJuIFwib3BlcmF0b3IgYXJyb3dcIjtcbiAgICB9IGVsc2UgaWYgKGNoID09IFwiPVwiICYmIHN0YXRlLmN0eC5hcmdMaXN0KSB7XG4gICAgICByZXR1cm4gXCJhcmctaXNcIjtcbiAgICB9IGVsc2UgaWYgKG9wQ2hhcnMudGVzdChjaCkpIHtcbiAgICAgIGlmIChjaCA9PSBcIiRcIikgcmV0dXJuIFwib3BlcmF0b3IgZG9sbGFyXCI7XG4gICAgICBzdHJlYW0uZWF0V2hpbGUob3BDaGFycyk7XG4gICAgICByZXR1cm4gXCJvcGVyYXRvclwiO1xuICAgIH0gZWxzZSBpZiAoL1tcXChcXCl7fVxcW1xcXTtdLy50ZXN0KGNoKSkge1xuICAgICAgY3VyUHVuYyA9IGNoO1xuICAgICAgaWYgKGNoID09IFwiO1wiKSByZXR1cm4gXCJzZW1pXCI7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gdG9rZW5TdHJpbmcocXVvdGUpIHtcbiAgICByZXR1cm4gZnVuY3Rpb24oc3RyZWFtLCBzdGF0ZSkge1xuICAgICAgaWYgKHN0cmVhbS5lYXQoXCJcXFxcXCIpKSB7XG4gICAgICAgIHZhciBjaCA9IHN0cmVhbS5uZXh0KCk7XG4gICAgICAgIGlmIChjaCA9PSBcInhcIikgc3RyZWFtLm1hdGNoKC9eW2EtZjAtOV17Mn0vaSk7XG4gICAgICAgIGVsc2UgaWYgKChjaCA9PSBcInVcIiB8fCBjaCA9PSBcIlVcIikgJiYgc3RyZWFtLmVhdChcIntcIikgJiYgc3RyZWFtLnNraXBUbyhcIn1cIikpIHN0cmVhbS5uZXh0KCk7XG4gICAgICAgIGVsc2UgaWYgKGNoID09IFwidVwiKSBzdHJlYW0ubWF0Y2goL15bYS1mMC05XXs0fS9pKTtcbiAgICAgICAgZWxzZSBpZiAoY2ggPT0gXCJVXCIpIHN0cmVhbS5tYXRjaCgvXlthLWYwLTldezh9L2kpO1xuICAgICAgICBlbHNlIGlmICgvWzAtN10vLnRlc3QoY2gpKSBzdHJlYW0ubWF0Y2goL15bMC03XXsxLDJ9Lyk7XG4gICAgICAgIHJldHVybiBcInN0cmluZy0yXCI7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB2YXIgbmV4dDtcbiAgICAgICAgd2hpbGUgKChuZXh0ID0gc3RyZWFtLm5leHQoKSkgIT0gbnVsbCkge1xuICAgICAgICAgIGlmIChuZXh0ID09IHF1b3RlKSB7IHN0YXRlLnRva2VuaXplID0gdG9rZW5CYXNlOyBicmVhazsgfVxuICAgICAgICAgIGlmIChuZXh0ID09IFwiXFxcXFwiKSB7IHN0cmVhbS5iYWNrVXAoMSk7IGJyZWFrOyB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIFwic3RyaW5nXCI7XG4gICAgICB9XG4gICAgfTtcbiAgfVxuXG4gIHZhciBBTElHTl9ZRVMgPSAxLCBBTElHTl9OTyA9IDIsIEJSQUNFTEVTUyA9IDRcblxuICBmdW5jdGlvbiBwdXNoKHN0YXRlLCB0eXBlLCBzdHJlYW0pIHtcbiAgICBzdGF0ZS5jdHggPSB7dHlwZTogdHlwZSxcbiAgICAgICAgICAgICAgICAgaW5kZW50OiBzdGF0ZS5pbmRlbnQsXG4gICAgICAgICAgICAgICAgIGZsYWdzOiAwLFxuICAgICAgICAgICAgICAgICBjb2x1bW46IHN0cmVhbS5jb2x1bW4oKSxcbiAgICAgICAgICAgICAgICAgcHJldjogc3RhdGUuY3R4fTtcbiAgfVxuICBmdW5jdGlvbiBzZXRGbGFnKHN0YXRlLCBmbGFnKSB7XG4gICAgdmFyIGN0eCA9IHN0YXRlLmN0eFxuICAgIHN0YXRlLmN0eCA9IHt0eXBlOiBjdHgudHlwZSxcbiAgICAgICAgICAgICAgICAgaW5kZW50OiBjdHguaW5kZW50LFxuICAgICAgICAgICAgICAgICBmbGFnczogY3R4LmZsYWdzIHwgZmxhZyxcbiAgICAgICAgICAgICAgICAgY29sdW1uOiBjdHguY29sdW1uLFxuICAgICAgICAgICAgICAgICBwcmV2OiBjdHgucHJldn1cbiAgfVxuICBmdW5jdGlvbiBwb3Aoc3RhdGUpIHtcbiAgICBzdGF0ZS5pbmRlbnQgPSBzdGF0ZS5jdHguaW5kZW50O1xuICAgIHN0YXRlLmN0eCA9IHN0YXRlLmN0eC5wcmV2O1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBzdGFydFN0YXRlOiBmdW5jdGlvbigpIHtcbiAgICAgIHJldHVybiB7dG9rZW5pemU6IHRva2VuQmFzZSxcbiAgICAgICAgICAgICAgY3R4OiB7dHlwZTogXCJ0b3BcIixcbiAgICAgICAgICAgICAgICAgICAgaW5kZW50OiAtY29uZmlnLmluZGVudFVuaXQsXG4gICAgICAgICAgICAgICAgICAgIGZsYWdzOiBBTElHTl9OT30sXG4gICAgICAgICAgICAgIGluZGVudDogMCxcbiAgICAgICAgICAgICAgYWZ0ZXJJZGVudDogZmFsc2V9O1xuICAgIH0sXG5cbiAgICB0b2tlbjogZnVuY3Rpb24oc3RyZWFtLCBzdGF0ZSkge1xuICAgICAgaWYgKHN0cmVhbS5zb2woKSkge1xuICAgICAgICBpZiAoKHN0YXRlLmN0eC5mbGFncyAmIDMpID09IDApIHN0YXRlLmN0eC5mbGFncyB8PSBBTElHTl9OT1xuICAgICAgICBpZiAoc3RhdGUuY3R4LmZsYWdzICYgQlJBQ0VMRVNTKSBwb3Aoc3RhdGUpXG4gICAgICAgIHN0YXRlLmluZGVudCA9IHN0cmVhbS5pbmRlbnRhdGlvbigpO1xuICAgICAgfVxuICAgICAgaWYgKHN0cmVhbS5lYXRTcGFjZSgpKSByZXR1cm4gbnVsbDtcbiAgICAgIHZhciBzdHlsZSA9IHN0YXRlLnRva2VuaXplKHN0cmVhbSwgc3RhdGUpO1xuICAgICAgaWYgKHN0eWxlICE9IFwiY29tbWVudFwiICYmIChzdGF0ZS5jdHguZmxhZ3MgJiBBTElHTl9OTykgPT0gMCkgc2V0RmxhZyhzdGF0ZSwgQUxJR05fWUVTKVxuXG4gICAgICBpZiAoKGN1clB1bmMgPT0gXCI7XCIgfHwgY3VyUHVuYyA9PSBcIntcIiB8fCBjdXJQdW5jID09IFwifVwiKSAmJiBzdGF0ZS5jdHgudHlwZSA9PSBcImJsb2NrXCIpIHBvcChzdGF0ZSk7XG4gICAgICBpZiAoY3VyUHVuYyA9PSBcIntcIikgcHVzaChzdGF0ZSwgXCJ9XCIsIHN0cmVhbSk7XG4gICAgICBlbHNlIGlmIChjdXJQdW5jID09IFwiKFwiKSB7XG4gICAgICAgIHB1c2goc3RhdGUsIFwiKVwiLCBzdHJlYW0pO1xuICAgICAgICBpZiAoc3RhdGUuYWZ0ZXJJZGVudCkgc3RhdGUuY3R4LmFyZ0xpc3QgPSB0cnVlO1xuICAgICAgfVxuICAgICAgZWxzZSBpZiAoY3VyUHVuYyA9PSBcIltcIikgcHVzaChzdGF0ZSwgXCJdXCIsIHN0cmVhbSk7XG4gICAgICBlbHNlIGlmIChjdXJQdW5jID09IFwiYmxvY2tcIikgcHVzaChzdGF0ZSwgXCJibG9ja1wiLCBzdHJlYW0pO1xuICAgICAgZWxzZSBpZiAoY3VyUHVuYyA9PSBzdGF0ZS5jdHgudHlwZSkgcG9wKHN0YXRlKTtcbiAgICAgIGVsc2UgaWYgKHN0YXRlLmN0eC50eXBlID09IFwiYmxvY2tcIiAmJiBzdHlsZSAhPSBcImNvbW1lbnRcIikgc2V0RmxhZyhzdGF0ZSwgQlJBQ0VMRVNTKVxuICAgICAgc3RhdGUuYWZ0ZXJJZGVudCA9IHN0eWxlID09IFwidmFyaWFibGVcIiB8fCBzdHlsZSA9PSBcImtleXdvcmRcIjtcbiAgICAgIHJldHVybiBzdHlsZTtcbiAgICB9LFxuXG4gICAgaW5kZW50OiBmdW5jdGlvbihzdGF0ZSwgdGV4dEFmdGVyKSB7XG4gICAgICBpZiAoc3RhdGUudG9rZW5pemUgIT0gdG9rZW5CYXNlKSByZXR1cm4gMDtcbiAgICAgIHZhciBmaXJzdENoYXIgPSB0ZXh0QWZ0ZXIgJiYgdGV4dEFmdGVyLmNoYXJBdCgwKSwgY3R4ID0gc3RhdGUuY3R4LFxuICAgICAgICAgIGNsb3NpbmcgPSBmaXJzdENoYXIgPT0gY3R4LnR5cGU7XG4gICAgICBpZiAoY3R4LmZsYWdzICYgQlJBQ0VMRVNTKSBjdHggPSBjdHgucHJldlxuICAgICAgaWYgKGN0eC50eXBlID09IFwiYmxvY2tcIikgcmV0dXJuIGN0eC5pbmRlbnQgKyAoZmlyc3RDaGFyID09IFwie1wiID8gMCA6IGNvbmZpZy5pbmRlbnRVbml0KTtcbiAgICAgIGVsc2UgaWYgKGN0eC5mbGFncyAmIEFMSUdOX1lFUykgcmV0dXJuIGN0eC5jb2x1bW4gKyAoY2xvc2luZyA/IDAgOiAxKTtcbiAgICAgIGVsc2UgcmV0dXJuIGN0eC5pbmRlbnQgKyAoY2xvc2luZyA/IDAgOiBjb25maWcuaW5kZW50VW5pdCk7XG4gICAgfSxcblxuICAgIGxpbmVDb21tZW50OiBcIiNcIlxuICB9O1xufSk7XG5cbkNvZGVNaXJyb3IuZGVmaW5lTUlNRShcInRleHQveC1yc3JjXCIsIFwiclwiKTtcblxufSk7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/codemirror/mode/r/r.js\n"); /***/ }), /***/ "./node_modules/codemirror/mode/ruby/ruby.js": /*!***************************************************!*\ !*** ./node_modules/codemirror/mode/ruby/ruby.js ***! \***************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ \"./node_modules/codemirror/lib/codemirror.js\"));\n else {}\n})(function(CodeMirror) {\n\"use strict\";\n\nCodeMirror.defineMode(\"ruby\", function(config) {\n function wordObj(words) {\n var o = {};\n for (var i = 0, e = words.length; i < e; ++i) o[words[i]] = true;\n return o;\n }\n var keywords = wordObj([\n \"alias\", \"and\", \"BEGIN\", \"begin\", \"break\", \"case\", \"class\", \"def\", \"defined?\", \"do\", \"else\",\n \"elsif\", \"END\", \"end\", \"ensure\", \"false\", \"for\", \"if\", \"in\", \"module\", \"next\", \"not\", \"or\",\n \"redo\", \"rescue\", \"retry\", \"return\", \"self\", \"super\", \"then\", \"true\", \"undef\", \"unless\",\n \"until\", \"when\", \"while\", \"yield\", \"nil\", \"raise\", \"throw\", \"catch\", \"fail\", \"loop\", \"callcc\",\n \"caller\", \"lambda\", \"proc\", \"public\", \"protected\", \"private\", \"require\", \"load\",\n \"require_relative\", \"extend\", \"autoload\", \"__END__\", \"__FILE__\", \"__LINE__\", \"__dir__\"\n ]);\n var indentWords = wordObj([\"def\", \"class\", \"case\", \"for\", \"while\", \"until\", \"module\", \"then\",\n \"catch\", \"loop\", \"proc\", \"begin\"]);\n var dedentWords = wordObj([\"end\", \"until\"]);\n var opening = {\"[\": \"]\", \"{\": \"}\", \"(\": \")\"};\n var closing = {\"]\": \"[\", \"}\": \"{\", \")\": \"(\"};\n var curPunc;\n\n function chain(newtok, stream, state) {\n state.tokenize.push(newtok);\n return newtok(stream, state);\n }\n\n function tokenBase(stream, state) {\n if (stream.sol() && stream.match(\"=begin\") && stream.eol()) {\n state.tokenize.push(readBlockComment);\n return \"comment\";\n }\n if (stream.eatSpace()) return null;\n var ch = stream.next(), m;\n if (ch == \"`\" || ch == \"'\" || ch == '\"') {\n return chain(readQuoted(ch, \"string\", ch == '\"' || ch == \"`\"), stream, state);\n } else if (ch == \"/\") {\n if (regexpAhead(stream))\n return chain(readQuoted(ch, \"string-2\", true), stream, state);\n else\n return \"operator\";\n } else if (ch == \"%\") {\n var style = \"string\", embed = true;\n if (stream.eat(\"s\")) style = \"atom\";\n else if (stream.eat(/[WQ]/)) style = \"string\";\n else if (stream.eat(/[r]/)) style = \"string-2\";\n else if (stream.eat(/[wxq]/)) { style = \"string\"; embed = false; }\n var delim = stream.eat(/[^\\w\\s=]/);\n if (!delim) return \"operator\";\n if (opening.propertyIsEnumerable(delim)) delim = opening[delim];\n return chain(readQuoted(delim, style, embed, true), stream, state);\n } else if (ch == \"#\") {\n stream.skipToEnd();\n return \"comment\";\n } else if (ch == \"<\" && (m = stream.match(/^<([-~])[\\`\\\"\\']?([a-zA-Z_?]\\w*)[\\`\\\"\\']?(?:;|$)/))) {\n return chain(readHereDoc(m[2], m[1]), stream, state);\n } else if (ch == \"0\") {\n if (stream.eat(\"x\")) stream.eatWhile(/[\\da-fA-F]/);\n else if (stream.eat(\"b\")) stream.eatWhile(/[01]/);\n else stream.eatWhile(/[0-7]/);\n return \"number\";\n } else if (/\\d/.test(ch)) {\n stream.match(/^[\\d_]*(?:\\.[\\d_]+)?(?:[eE][+\\-]?[\\d_]+)?/);\n return \"number\";\n } else if (ch == \"?\") {\n while (stream.match(/^\\\\[CM]-/)) {}\n if (stream.eat(\"\\\\\")) stream.eatWhile(/\\w/);\n else stream.next();\n return \"string\";\n } else if (ch == \":\") {\n if (stream.eat(\"'\")) return chain(readQuoted(\"'\", \"atom\", false), stream, state);\n if (stream.eat('\"')) return chain(readQuoted('\"', \"atom\", true), stream, state);\n\n // :> :>> :< :<< are valid symbols\n if (stream.eat(/[\\<\\>]/)) {\n stream.eat(/[\\<\\>]/);\n return \"atom\";\n }\n\n // :+ :- :/ :* :| :& :! are valid symbols\n if (stream.eat(/[\\+\\-\\*\\/\\&\\|\\:\\!]/)) {\n return \"atom\";\n }\n\n // Symbols can't start by a digit\n if (stream.eat(/[a-zA-Z$@_\\xa1-\\uffff]/)) {\n stream.eatWhile(/[\\w$\\xa1-\\uffff]/);\n // Only one ? ! = is allowed and only as the last character\n stream.eat(/[\\?\\!\\=]/);\n return \"atom\";\n }\n return \"operator\";\n } else if (ch == \"@\" && stream.match(/^@?[a-zA-Z_\\xa1-\\uffff]/)) {\n stream.eat(\"@\");\n stream.eatWhile(/[\\w\\xa1-\\uffff]/);\n return \"variable-2\";\n } else if (ch == \"$\") {\n if (stream.eat(/[a-zA-Z_]/)) {\n stream.eatWhile(/[\\w]/);\n } else if (stream.eat(/\\d/)) {\n stream.eat(/\\d/);\n } else {\n stream.next(); // Must be a special global like $: or $!\n }\n return \"variable-3\";\n } else if (/[a-zA-Z_\\xa1-\\uffff]/.test(ch)) {\n stream.eatWhile(/[\\w\\xa1-\\uffff]/);\n stream.eat(/[\\?\\!]/);\n if (stream.eat(\":\")) return \"atom\";\n return \"ident\";\n } else if (ch == \"|\" && (state.varList || state.lastTok == \"{\" || state.lastTok == \"do\")) {\n curPunc = \"|\";\n return null;\n } else if (/[\\(\\)\\[\\]{}\\\\;]/.test(ch)) {\n curPunc = ch;\n return null;\n } else if (ch == \"-\" && stream.eat(\">\")) {\n return \"arrow\";\n } else if (/[=+\\-\\/*:\\.^%<>~|]/.test(ch)) {\n var more = stream.eatWhile(/[=+\\-\\/*:\\.^%<>~|]/);\n if (ch == \".\" && !more) curPunc = \".\";\n return \"operator\";\n } else {\n return null;\n }\n }\n\n function regexpAhead(stream) {\n var start = stream.pos, depth = 0, next, found = false, escaped = false\n while ((next = stream.next()) != null) {\n if (!escaped) {\n if (\"[{(\".indexOf(next) > -1) {\n depth++\n } else if (\"]})\".indexOf(next) > -1) {\n depth--\n if (depth < 0) break\n } else if (next == \"/\" && depth == 0) {\n found = true\n break\n }\n escaped = next == \"\\\\\"\n } else {\n escaped = false\n }\n }\n stream.backUp(stream.pos - start)\n return found\n }\n\n function tokenBaseUntilBrace(depth) {\n if (!depth) depth = 1;\n return function(stream, state) {\n if (stream.peek() == \"}\") {\n if (depth == 1) {\n state.tokenize.pop();\n return state.tokenize[state.tokenize.length-1](stream, state);\n } else {\n state.tokenize[state.tokenize.length - 1] = tokenBaseUntilBrace(depth - 1);\n }\n } else if (stream.peek() == \"{\") {\n state.tokenize[state.tokenize.length - 1] = tokenBaseUntilBrace(depth + 1);\n }\n return tokenBase(stream, state);\n };\n }\n function tokenBaseOnce() {\n var alreadyCalled = false;\n return function(stream, state) {\n if (alreadyCalled) {\n state.tokenize.pop();\n return state.tokenize[state.tokenize.length-1](stream, state);\n }\n alreadyCalled = true;\n return tokenBase(stream, state);\n };\n }\n function readQuoted(quote, style, embed, unescaped) {\n return function(stream, state) {\n var escaped = false, ch;\n\n if (state.context.type === 'read-quoted-paused') {\n state.context = state.context.prev;\n stream.eat(\"}\");\n }\n\n while ((ch = stream.next()) != null) {\n if (ch == quote && (unescaped || !escaped)) {\n state.tokenize.pop();\n break;\n }\n if (embed && ch == \"#\" && !escaped) {\n if (stream.eat(\"{\")) {\n if (quote == \"}\") {\n state.context = {prev: state.context, type: 'read-quoted-paused'};\n }\n state.tokenize.push(tokenBaseUntilBrace());\n break;\n } else if (/[@\\$]/.test(stream.peek())) {\n state.tokenize.push(tokenBaseOnce());\n break;\n }\n }\n escaped = !escaped && ch == \"\\\\\";\n }\n return style;\n };\n }\n function readHereDoc(phrase, mayIndent) {\n return function(stream, state) {\n if (mayIndent) stream.eatSpace()\n if (stream.match(phrase)) state.tokenize.pop();\n else stream.skipToEnd();\n return \"string\";\n };\n }\n function readBlockComment(stream, state) {\n if (stream.sol() && stream.match(\"=end\") && stream.eol())\n state.tokenize.pop();\n stream.skipToEnd();\n return \"comment\";\n }\n\n return {\n startState: function() {\n return {tokenize: [tokenBase],\n indented: 0,\n context: {type: \"top\", indented: -config.indentUnit},\n continuedLine: false,\n lastTok: null,\n varList: false};\n },\n\n token: function(stream, state) {\n curPunc = null;\n if (stream.sol()) state.indented = stream.indentation();\n var style = state.tokenize[state.tokenize.length-1](stream, state), kwtype;\n var thisTok = curPunc;\n if (style == \"ident\") {\n var word = stream.current();\n style = state.lastTok == \".\" ? \"property\"\n : keywords.propertyIsEnumerable(stream.current()) ? \"keyword\"\n : /^[A-Z]/.test(word) ? \"tag\"\n : (state.lastTok == \"def\" || state.lastTok == \"class\" || state.varList) ? \"def\"\n : \"variable\";\n if (style == \"keyword\") {\n thisTok = word;\n if (indentWords.propertyIsEnumerable(word)) kwtype = \"indent\";\n else if (dedentWords.propertyIsEnumerable(word)) kwtype = \"dedent\";\n else if ((word == \"if\" || word == \"unless\") && stream.column() == stream.indentation())\n kwtype = \"indent\";\n else if (word == \"do\" && state.context.indented < state.indented)\n kwtype = \"indent\";\n }\n }\n if (curPunc || (style && style != \"comment\")) state.lastTok = thisTok;\n if (curPunc == \"|\") state.varList = !state.varList;\n\n if (kwtype == \"indent\" || /[\\(\\[\\{]/.test(curPunc))\n state.context = {prev: state.context, type: curPunc || style, indented: state.indented};\n else if ((kwtype == \"dedent\" || /[\\)\\]\\}]/.test(curPunc)) && state.context.prev)\n state.context = state.context.prev;\n\n if (stream.eol())\n state.continuedLine = (curPunc == \"\\\\\" || style == \"operator\");\n return style;\n },\n\n indent: function(state, textAfter) {\n if (state.tokenize[state.tokenize.length-1] != tokenBase) return CodeMirror.Pass;\n var firstChar = textAfter && textAfter.charAt(0);\n var ct = state.context;\n var closed = ct.type == closing[firstChar] ||\n ct.type == \"keyword\" && /^(?:end|until|else|elsif|when|rescue)\\b/.test(textAfter);\n return ct.indented + (closed ? 0 : config.indentUnit) +\n (state.continuedLine ? config.indentUnit : 0);\n },\n\n electricInput: /^\\s*(?:end|rescue|elsif|else|\\})$/,\n lineComment: \"#\",\n fold: \"indent\"\n };\n});\n\nCodeMirror.defineMIME(\"text/x-ruby\", \"ruby\");\n\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9tb2RlL3J1YnkvcnVieS5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb2RlbWlycm9yL21vZGUvcnVieS9ydWJ5LmpzPzg1MzYiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29kZU1pcnJvciwgY29weXJpZ2h0IChjKSBieSBNYXJpam4gSGF2ZXJiZWtlIGFuZCBvdGhlcnNcbi8vIERpc3RyaWJ1dGVkIHVuZGVyIGFuIE1JVCBsaWNlbnNlOiBodHRwczovL2NvZGVtaXJyb3IubmV0L0xJQ0VOU0VcblxuKGZ1bmN0aW9uKG1vZCkge1xuICBpZiAodHlwZW9mIGV4cG9ydHMgPT0gXCJvYmplY3RcIiAmJiB0eXBlb2YgbW9kdWxlID09IFwib2JqZWN0XCIpIC8vIENvbW1vbkpTXG4gICAgbW9kKHJlcXVpcmUoXCIuLi8uLi9saWIvY29kZW1pcnJvclwiKSk7XG4gIGVsc2UgaWYgKHR5cGVvZiBkZWZpbmUgPT0gXCJmdW5jdGlvblwiICYmIGRlZmluZS5hbWQpIC8vIEFNRFxuICAgIGRlZmluZShbXCIuLi8uLi9saWIvY29kZW1pcnJvclwiXSwgbW9kKTtcbiAgZWxzZSAvLyBQbGFpbiBicm93c2VyIGVudlxuICAgIG1vZChDb2RlTWlycm9yKTtcbn0pKGZ1bmN0aW9uKENvZGVNaXJyb3IpIHtcblwidXNlIHN0cmljdFwiO1xuXG5Db2RlTWlycm9yLmRlZmluZU1vZGUoXCJydWJ5XCIsIGZ1bmN0aW9uKGNvbmZpZykge1xuICBmdW5jdGlvbiB3b3JkT2JqKHdvcmRzKSB7XG4gICAgdmFyIG8gPSB7fTtcbiAgICBmb3IgKHZhciBpID0gMCwgZSA9IHdvcmRzLmxlbmd0aDsgaSA8IGU7ICsraSkgb1t3b3Jkc1tpXV0gPSB0cnVlO1xuICAgIHJldHVybiBvO1xuICB9XG4gIHZhciBrZXl3b3JkcyA9IHdvcmRPYmooW1xuICAgIFwiYWxpYXNcIiwgXCJhbmRcIiwgXCJCRUdJTlwiLCBcImJlZ2luXCIsIFwiYnJlYWtcIiwgXCJjYXNlXCIsIFwiY2xhc3NcIiwgXCJkZWZcIiwgXCJkZWZpbmVkP1wiLCBcImRvXCIsIFwiZWxzZVwiLFxuICAgIFwiZWxzaWZcIiwgXCJFTkRcIiwgXCJlbmRcIiwgXCJlbnN1cmVcIiwgXCJmYWxzZVwiLCBcImZvclwiLCBcImlmXCIsIFwiaW5cIiwgXCJtb2R1bGVcIiwgXCJuZXh0XCIsIFwibm90XCIsIFwib3JcIixcbiAgICBcInJlZG9cIiwgXCJyZXNjdWVcIiwgXCJyZXRyeVwiLCBcInJldHVyblwiLCBcInNlbGZcIiwgXCJzdXBlclwiLCBcInRoZW5cIiwgXCJ0cnVlXCIsIFwidW5kZWZcIiwgXCJ1bmxlc3NcIixcbiAgICBcInVudGlsXCIsIFwid2hlblwiLCBcIndoaWxlXCIsIFwieWllbGRcIiwgXCJuaWxcIiwgXCJyYWlzZVwiLCBcInRocm93XCIsIFwiY2F0Y2hcIiwgXCJmYWlsXCIsIFwibG9vcFwiLCBcImNhbGxjY1wiLFxuICAgIFwiY2FsbGVyXCIsIFwibGFtYmRhXCIsIFwicHJvY1wiLCBcInB1YmxpY1wiLCBcInByb3RlY3RlZFwiLCBcInByaXZhdGVcIiwgXCJyZXF1aXJlXCIsIFwibG9hZFwiLFxuICAgIFwicmVxdWlyZV9yZWxhdGl2ZVwiLCBcImV4dGVuZFwiLCBcImF1dG9sb2FkXCIsIFwiX19FTkRfX1wiLCBcIl9fRklMRV9fXCIsIFwiX19MSU5FX19cIiwgXCJfX2Rpcl9fXCJcbiAgXSk7XG4gIHZhciBpbmRlbnRXb3JkcyA9IHdvcmRPYmooW1wiZGVmXCIsIFwiY2xhc3NcIiwgXCJjYXNlXCIsIFwiZm9yXCIsIFwid2hpbGVcIiwgXCJ1bnRpbFwiLCBcIm1vZHVsZVwiLCBcInRoZW5cIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJjYXRjaFwiLCBcImxvb3BcIiwgXCJwcm9jXCIsIFwiYmVnaW5cIl0pO1xuICB2YXIgZGVkZW50V29yZHMgPSB3b3JkT2JqKFtcImVuZFwiLCBcInVudGlsXCJdKTtcbiAgdmFyIG9wZW5pbmcgPSB7XCJbXCI6IFwiXVwiLCBcIntcIjogXCJ9XCIsIFwiKFwiOiBcIilcIn07XG4gIHZhciBjbG9zaW5nID0ge1wiXVwiOiBcIltcIiwgXCJ9XCI6IFwie1wiLCBcIilcIjogXCIoXCJ9O1xuICB2YXIgY3VyUHVuYztcblxuICBmdW5jdGlvbiBjaGFpbihuZXd0b2ssIHN0cmVhbSwgc3RhdGUpIHtcbiAgICBzdGF0ZS50b2tlbml6ZS5wdXNoKG5ld3Rvayk7XG4gICAgcmV0dXJuIG5ld3RvayhzdHJlYW0sIHN0YXRlKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIHRva2VuQmFzZShzdHJlYW0sIHN0YXRlKSB7XG4gICAgaWYgKHN0cmVhbS5zb2woKSAmJiBzdHJlYW0ubWF0Y2goXCI9YmVnaW5cIikgJiYgc3RyZWFtLmVvbCgpKSB7XG4gICAgICBzdGF0ZS50b2tlbml6ZS5wdXNoKHJlYWRCbG9ja0NvbW1lbnQpO1xuICAgICAgcmV0dXJuIFwiY29tbWVudFwiO1xuICAgIH1cbiAgICBpZiAoc3RyZWFtLmVhdFNwYWNlKCkpIHJldHVybiBudWxsO1xuICAgIHZhciBjaCA9IHN0cmVhbS5uZXh0KCksIG07XG4gICAgaWYgKGNoID09IFwiYFwiIHx8IGNoID09IFwiJ1wiIHx8IGNoID09ICdcIicpIHtcbiAgICAgIHJldHVybiBjaGFpbihyZWFkUXVvdGVkKGNoLCBcInN0cmluZ1wiLCBjaCA9PSAnXCInIHx8IGNoID09IFwiYFwiKSwgc3RyZWFtLCBzdGF0ZSk7XG4gICAgfSBlbHNlIGlmIChjaCA9PSBcIi9cIikge1xuICAgICAgaWYgKHJlZ2V4cEFoZWFkKHN0cmVhbSkpXG4gICAgICAgIHJldHVybiBjaGFpbihyZWFkUXVvdGVkKGNoLCBcInN0cmluZy0yXCIsIHRydWUpLCBzdHJlYW0sIHN0YXRlKTtcbiAgICAgIGVsc2VcbiAgICAgICAgcmV0dXJuIFwib3BlcmF0b3JcIjtcbiAgICB9IGVsc2UgaWYgKGNoID09IFwiJVwiKSB7XG4gICAgICB2YXIgc3R5bGUgPSBcInN0cmluZ1wiLCBlbWJlZCA9IHRydWU7XG4gICAgICBpZiAoc3RyZWFtLmVhdChcInNcIikpIHN0eWxlID0gXCJhdG9tXCI7XG4gICAgICBlbHNlIGlmIChzdHJlYW0uZWF0KC9bV1FdLykpIHN0eWxlID0gXCJzdHJpbmdcIjtcbiAgICAgIGVsc2UgaWYgKHN0cmVhbS5lYXQoL1tyXS8pKSBzdHlsZSA9IFwic3RyaW5nLTJcIjtcbiAgICAgIGVsc2UgaWYgKHN0cmVhbS5lYXQoL1t3eHFdLykpIHsgc3R5bGUgPSBcInN0cmluZ1wiOyBlbWJlZCA9IGZhbHNlOyB9XG4gICAgICB2YXIgZGVsaW0gPSBzdHJlYW0uZWF0KC9bXlxcd1xccz1dLyk7XG4gICAgICBpZiAoIWRlbGltKSByZXR1cm4gXCJvcGVyYXRvclwiO1xuICAgICAgaWYgKG9wZW5pbmcucHJvcGVydHlJc0VudW1lcmFibGUoZGVsaW0pKSBkZWxpbSA9IG9wZW5pbmdbZGVsaW1dO1xuICAgICAgcmV0dXJuIGNoYWluKHJlYWRRdW90ZWQoZGVsaW0sIHN0eWxlLCBlbWJlZCwgdHJ1ZSksIHN0cmVhbSwgc3RhdGUpO1xuICAgIH0gZWxzZSBpZiAoY2ggPT0gXCIjXCIpIHtcbiAgICAgIHN0cmVhbS5za2lwVG9FbmQoKTtcbiAgICAgIHJldHVybiBcImNvbW1lbnRcIjtcbiAgICB9IGVsc2UgaWYgKGNoID09IFwiPFwiICYmIChtID0gc3RyZWFtLm1hdGNoKC9ePChbLX5dKVtcXGBcXFwiXFwnXT8oW2EtekEtWl8/XVxcdyopW1xcYFxcXCJcXCddPyg/Ojt8JCkvKSkpIHtcbiAgICAgIHJldHVybiBjaGFpbihyZWFkSGVyZURvYyhtWzJdLCBtWzFdKSwgc3RyZWFtLCBzdGF0ZSk7XG4gICAgfSBlbHNlIGlmIChjaCA9PSBcIjBcIikge1xuICAgICAgaWYgKHN0cmVhbS5lYXQoXCJ4XCIpKSBzdHJlYW0uZWF0V2hpbGUoL1tcXGRhLWZBLUZdLyk7XG4gICAgICBlbHNlIGlmIChzdHJlYW0uZWF0KFwiYlwiKSkgc3RyZWFtLmVhdFdoaWxlKC9bMDFdLyk7XG4gICAgICBlbHNlIHN0cmVhbS5lYXRXaGlsZSgvWzAtN10vKTtcbiAgICAgIHJldHVybiBcIm51bWJlclwiO1xuICAgIH0gZWxzZSBpZiAoL1xcZC8udGVzdChjaCkpIHtcbiAgICAgIHN0cmVhbS5tYXRjaCgvXltcXGRfXSooPzpcXC5bXFxkX10rKT8oPzpbZUVdWytcXC1dP1tcXGRfXSspPy8pO1xuICAgICAgcmV0dXJuIFwibnVtYmVyXCI7XG4gICAgfSBlbHNlIGlmIChjaCA9PSBcIj9cIikge1xuICAgICAgd2hpbGUgKHN0cmVhbS5tYXRjaCgvXlxcXFxbQ01dLS8pKSB7fVxuICAgICAgaWYgKHN0cmVhbS5lYXQoXCJcXFxcXCIpKSBzdHJlYW0uZWF0V2hpbGUoL1xcdy8pO1xuICAgICAgZWxzZSBzdHJlYW0ubmV4dCgpO1xuICAgICAgcmV0dXJuIFwic3RyaW5nXCI7XG4gICAgfSBlbHNlIGlmIChjaCA9PSBcIjpcIikge1xuICAgICAgaWYgKHN0cmVhbS5lYXQoXCInXCIpKSByZXR1cm4gY2hhaW4ocmVhZFF1b3RlZChcIidcIiwgXCJhdG9tXCIsIGZhbHNlKSwgc3RyZWFtLCBzdGF0ZSk7XG4gICAgICBpZiAoc3RyZWFtLmVhdCgnXCInKSkgcmV0dXJuIGNoYWluKHJlYWRRdW90ZWQoJ1wiJywgXCJhdG9tXCIsIHRydWUpLCBzdHJlYW0sIHN0YXRlKTtcblxuICAgICAgLy8gOj4gOj4+IDo8IDo8PCBhcmUgdmFsaWQgc3ltYm9sc1xuICAgICAgaWYgKHN0cmVhbS5lYXQoL1tcXDxcXD5dLykpIHtcbiAgICAgICAgc3RyZWFtLmVhdCgvW1xcPFxcPl0vKTtcbiAgICAgICAgcmV0dXJuIFwiYXRvbVwiO1xuICAgICAgfVxuXG4gICAgICAvLyA6KyA6LSA6LyA6KiA6fCA6JiA6ISBhcmUgdmFsaWQgc3ltYm9sc1xuICAgICAgaWYgKHN0cmVhbS5lYXQoL1tcXCtcXC1cXCpcXC9cXCZcXHxcXDpcXCFdLykpIHtcbiAgICAgICAgcmV0dXJuIFwiYXRvbVwiO1xuICAgICAgfVxuXG4gICAgICAvLyBTeW1ib2xzIGNhbid0IHN0YXJ0IGJ5IGEgZGlnaXRcbiAgICAgIGlmIChzdHJlYW0uZWF0KC9bYS16QS1aJEBfXFx4YTEtXFx1ZmZmZl0vKSkge1xuICAgICAgICBzdHJlYW0uZWF0V2hpbGUoL1tcXHckXFx4YTEtXFx1ZmZmZl0vKTtcbiAgICAgICAgLy8gT25seSBvbmUgPyAhID0gaXMgYWxsb3dlZCBhbmQgb25seSBhcyB0aGUgbGFzdCBjaGFyYWN0ZXJcbiAgICAgICAgc3RyZWFtLmVhdCgvW1xcP1xcIVxcPV0vKTtcbiAgICAgICAgcmV0dXJuIFwiYXRvbVwiO1xuICAgICAgfVxuICAgICAgcmV0dXJuIFwib3BlcmF0b3JcIjtcbiAgICB9IGVsc2UgaWYgKGNoID09IFwiQFwiICYmIHN0cmVhbS5tYXRjaCgvXkA/W2EtekEtWl9cXHhhMS1cXHVmZmZmXS8pKSB7XG4gICAgICBzdHJlYW0uZWF0KFwiQFwiKTtcbiAgICAgIHN0cmVhbS5lYXRXaGlsZSgvW1xcd1xceGExLVxcdWZmZmZdLyk7XG4gICAgICByZXR1cm4gXCJ2YXJpYWJsZS0yXCI7XG4gICAgfSBlbHNlIGlmIChjaCA9PSBcIiRcIikge1xuICAgICAgaWYgKHN0cmVhbS5lYXQoL1thLXpBLVpfXS8pKSB7XG4gICAgICAgIHN0cmVhbS5lYXRXaGlsZSgvW1xcd10vKTtcbiAgICAgIH0gZWxzZSBpZiAoc3RyZWFtLmVhdCgvXFxkLykpIHtcbiAgICAgICAgc3RyZWFtLmVhdCgvXFxkLyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzdHJlYW0ubmV4dCgpOyAvLyBNdXN0IGJlIGEgc3BlY2lhbCBnbG9iYWwgbGlrZSAkOiBvciAkIVxuICAgICAgfVxuICAgICAgcmV0dXJuIFwidmFyaWFibGUtM1wiO1xuICAgIH0gZWxzZSBpZiAoL1thLXpBLVpfXFx4YTEtXFx1ZmZmZl0vLnRlc3QoY2gpKSB7XG4gICAgICBzdHJlYW0uZWF0V2hpbGUoL1tcXHdcXHhhMS1cXHVmZmZmXS8pO1xuICAgICAgc3RyZWFtLmVhdCgvW1xcP1xcIV0vKTtcbiAgICAgIGlmIChzdHJlYW0uZWF0KFwiOlwiKSkgcmV0dXJuIFwiYXRvbVwiO1xuICAgICAgcmV0dXJuIFwiaWRlbnRcIjtcbiAgICB9IGVsc2UgaWYgKGNoID09IFwifFwiICYmIChzdGF0ZS52YXJMaXN0IHx8IHN0YXRlLmxhc3RUb2sgPT0gXCJ7XCIgfHwgc3RhdGUubGFzdFRvayA9PSBcImRvXCIpKSB7XG4gICAgICBjdXJQdW5jID0gXCJ8XCI7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9IGVsc2UgaWYgKC9bXFwoXFwpXFxbXFxde31cXFxcO10vLnRlc3QoY2gpKSB7XG4gICAgICBjdXJQdW5jID0gY2g7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9IGVsc2UgaWYgKGNoID09IFwiLVwiICYmIHN0cmVhbS5lYXQoXCI+XCIpKSB7XG4gICAgICByZXR1cm4gXCJhcnJvd1wiO1xuICAgIH0gZWxzZSBpZiAoL1s9K1xcLVxcLyo6XFwuXiU8Pn58XS8udGVzdChjaCkpIHtcbiAgICAgIHZhciBtb3JlID0gc3RyZWFtLmVhdFdoaWxlKC9bPStcXC1cXC8qOlxcLl4lPD5+fF0vKTtcbiAgICAgIGlmIChjaCA9PSBcIi5cIiAmJiAhbW9yZSkgY3VyUHVuYyA9IFwiLlwiO1xuICAgICAgcmV0dXJuIFwib3BlcmF0b3JcIjtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gcmVnZXhwQWhlYWQoc3RyZWFtKSB7XG4gICAgdmFyIHN0YXJ0ID0gc3RyZWFtLnBvcywgZGVwdGggPSAwLCBuZXh0LCBmb3VuZCA9IGZhbHNlLCBlc2NhcGVkID0gZmFsc2VcbiAgICB3aGlsZSAoKG5leHQgPSBzdHJlYW0ubmV4dCgpKSAhPSBudWxsKSB7XG4gICAgICBpZiAoIWVzY2FwZWQpIHtcbiAgICAgICAgaWYgKFwiW3soXCIuaW5kZXhPZihuZXh0KSA+IC0xKSB7XG4gICAgICAgICAgZGVwdGgrK1xuICAgICAgICB9IGVsc2UgaWYgKFwiXX0pXCIuaW5kZXhPZihuZXh0KSA+IC0xKSB7XG4gICAgICAgICAgZGVwdGgtLVxuICAgICAgICAgIGlmIChkZXB0aCA8IDApIGJyZWFrXG4gICAgICAgIH0gZWxzZSBpZiAobmV4dCA9PSBcIi9cIiAmJiBkZXB0aCA9PSAwKSB7XG4gICAgICAgICAgZm91bmQgPSB0cnVlXG4gICAgICAgICAgYnJlYWtcbiAgICAgICAgfVxuICAgICAgICBlc2NhcGVkID0gbmV4dCA9PSBcIlxcXFxcIlxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZXNjYXBlZCA9IGZhbHNlXG4gICAgICB9XG4gICAgfVxuICAgIHN0cmVhbS5iYWNrVXAoc3RyZWFtLnBvcyAtIHN0YXJ0KVxuICAgIHJldHVybiBmb3VuZFxuICB9XG5cbiAgZnVuY3Rpb24gdG9rZW5CYXNlVW50aWxCcmFjZShkZXB0aCkge1xuICAgIGlmICghZGVwdGgpIGRlcHRoID0gMTtcbiAgICByZXR1cm4gZnVuY3Rpb24oc3RyZWFtLCBzdGF0ZSkge1xuICAgICAgaWYgKHN0cmVhbS5wZWVrKCkgPT0gXCJ9XCIpIHtcbiAgICAgICAgaWYgKGRlcHRoID09IDEpIHtcbiAgICAgICAgICBzdGF0ZS50b2tlbml6ZS5wb3AoKTtcbiAgICAgICAgICByZXR1cm4gc3RhdGUudG9rZW5pemVbc3RhdGUudG9rZW5pemUubGVuZ3RoLTFdKHN0cmVhbSwgc3RhdGUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHN0YXRlLnRva2VuaXplW3N0YXRlLnRva2VuaXplLmxlbmd0aCAtIDFdID0gdG9rZW5CYXNlVW50aWxCcmFjZShkZXB0aCAtIDEpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKHN0cmVhbS5wZWVrKCkgPT0gXCJ7XCIpIHtcbiAgICAgICAgc3RhdGUudG9rZW5pemVbc3RhdGUudG9rZW5pemUubGVuZ3RoIC0gMV0gPSB0b2tlbkJhc2VVbnRpbEJyYWNlKGRlcHRoICsgMSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gdG9rZW5CYXNlKHN0cmVhbSwgc3RhdGUpO1xuICAgIH07XG4gIH1cbiAgZnVuY3Rpb24gdG9rZW5CYXNlT25jZSgpIHtcbiAgICB2YXIgYWxyZWFkeUNhbGxlZCA9IGZhbHNlO1xuICAgIHJldHVybiBmdW5jdGlvbihzdHJlYW0sIHN0YXRlKSB7XG4gICAgICBpZiAoYWxyZWFkeUNhbGxlZCkge1xuICAgICAgICBzdGF0ZS50b2tlbml6ZS5wb3AoKTtcbiAgICAgICAgcmV0dXJuIHN0YXRlLnRva2VuaXplW3N0YXRlLnRva2VuaXplLmxlbmd0aC0xXShzdHJlYW0sIHN0YXRlKTtcbiAgICAgIH1cbiAgICAgIGFscmVhZHlDYWxsZWQgPSB0cnVlO1xuICAgICAgcmV0dXJuIHRva2VuQmFzZShzdHJlYW0sIHN0YXRlKTtcbiAgICB9O1xuICB9XG4gIGZ1bmN0aW9uIHJlYWRRdW90ZWQocXVvdGUsIHN0eWxlLCBlbWJlZCwgdW5lc2NhcGVkKSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uKHN0cmVhbSwgc3RhdGUpIHtcbiAgICAgIHZhciBlc2NhcGVkID0gZmFsc2UsIGNoO1xuXG4gICAgICBpZiAoc3RhdGUuY29udGV4dC50eXBlID09PSAncmVhZC1xdW90ZWQtcGF1c2VkJykge1xuICAgICAgICBzdGF0ZS5jb250ZXh0ID0gc3RhdGUuY29udGV4dC5wcmV2O1xuICAgICAgICBzdHJlYW0uZWF0KFwifVwiKTtcbiAgICAgIH1cblxuICAgICAgd2hpbGUgKChjaCA9IHN0cmVhbS5uZXh0KCkpICE9IG51bGwpIHtcbiAgICAgICAgaWYgKGNoID09IHF1b3RlICYmICh1bmVzY2FwZWQgfHwgIWVzY2FwZWQpKSB7XG4gICAgICAgICAgc3RhdGUudG9rZW5pemUucG9wKCk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGVtYmVkICYmIGNoID09IFwiI1wiICYmICFlc2NhcGVkKSB7XG4gICAgICAgICAgaWYgKHN0cmVhbS5lYXQoXCJ7XCIpKSB7XG4gICAgICAgICAgICBpZiAocXVvdGUgPT0gXCJ9XCIpIHtcbiAgICAgICAgICAgICAgc3RhdGUuY29udGV4dCA9IHtwcmV2OiBzdGF0ZS5jb250ZXh0LCB0eXBlOiAncmVhZC1xdW90ZWQtcGF1c2VkJ307XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzdGF0ZS50b2tlbml6ZS5wdXNoKHRva2VuQmFzZVVudGlsQnJhY2UoKSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9IGVsc2UgaWYgKC9bQFxcJF0vLnRlc3Qoc3RyZWFtLnBlZWsoKSkpIHtcbiAgICAgICAgICAgIHN0YXRlLnRva2VuaXplLnB1c2godG9rZW5CYXNlT25jZSgpKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBlc2NhcGVkID0gIWVzY2FwZWQgJiYgY2ggPT0gXCJcXFxcXCI7XG4gICAgICB9XG4gICAgICByZXR1cm4gc3R5bGU7XG4gICAgfTtcbiAgfVxuICBmdW5jdGlvbiByZWFkSGVyZURvYyhwaHJhc2UsIG1heUluZGVudCkge1xuICAgIHJldHVybiBmdW5jdGlvbihzdHJlYW0sIHN0YXRlKSB7XG4gICAgICBpZiAobWF5SW5kZW50KSBzdHJlYW0uZWF0U3BhY2UoKVxuICAgICAgaWYgKHN0cmVhbS5tYXRjaChwaHJhc2UpKSBzdGF0ZS50b2tlbml6ZS5wb3AoKTtcbiAgICAgIGVsc2Ugc3RyZWFtLnNraXBUb0VuZCgpO1xuICAgICAgcmV0dXJuIFwic3RyaW5nXCI7XG4gICAgfTtcbiAgfVxuICBmdW5jdGlvbiByZWFkQmxvY2tDb21tZW50KHN0cmVhbSwgc3RhdGUpIHtcbiAgICBpZiAoc3RyZWFtLnNvbCgpICYmIHN0cmVhbS5tYXRjaChcIj1lbmRcIikgJiYgc3RyZWFtLmVvbCgpKVxuICAgICAgc3RhdGUudG9rZW5pemUucG9wKCk7XG4gICAgc3RyZWFtLnNraXBUb0VuZCgpO1xuICAgIHJldHVybiBcImNvbW1lbnRcIjtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgc3RhcnRTdGF0ZTogZnVuY3Rpb24oKSB7XG4gICAgICByZXR1cm4ge3Rva2VuaXplOiBbdG9rZW5CYXNlXSxcbiAgICAgICAgICAgICAgaW5kZW50ZWQ6IDAsXG4gICAgICAgICAgICAgIGNvbnRleHQ6IHt0eXBlOiBcInRvcFwiLCBpbmRlbnRlZDogLWNvbmZpZy5pbmRlbnRVbml0fSxcbiAgICAgICAgICAgICAgY29udGludWVkTGluZTogZmFsc2UsXG4gICAgICAgICAgICAgIGxhc3RUb2s6IG51bGwsXG4gICAgICAgICAgICAgIHZhckxpc3Q6IGZhbHNlfTtcbiAgICB9LFxuXG4gICAgdG9rZW46IGZ1bmN0aW9uKHN0cmVhbSwgc3RhdGUpIHtcbiAgICAgIGN1clB1bmMgPSBudWxsO1xuICAgICAgaWYgKHN0cmVhbS5zb2woKSkgc3RhdGUuaW5kZW50ZWQgPSBzdHJlYW0uaW5kZW50YXRpb24oKTtcbiAgICAgIHZhciBzdHlsZSA9IHN0YXRlLnRva2VuaXplW3N0YXRlLnRva2VuaXplLmxlbmd0aC0xXShzdHJlYW0sIHN0YXRlKSwga3d0eXBlO1xuICAgICAgdmFyIHRoaXNUb2sgPSBjdXJQdW5jO1xuICAgICAgaWYgKHN0eWxlID09IFwiaWRlbnRcIikge1xuICAgICAgICB2YXIgd29yZCA9IHN0cmVhbS5jdXJyZW50KCk7XG4gICAgICAgIHN0eWxlID0gc3RhdGUubGFzdFRvayA9PSBcIi5cIiA/IFwicHJvcGVydHlcIlxuICAgICAgICAgIDoga2V5d29yZHMucHJvcGVydHlJc0VudW1lcmFibGUoc3RyZWFtLmN1cnJlbnQoKSkgPyBcImtleXdvcmRcIlxuICAgICAgICAgIDogL15bQS1aXS8udGVzdCh3b3JkKSA/IFwidGFnXCJcbiAgICAgICAgICA6IChzdGF0ZS5sYXN0VG9rID09IFwiZGVmXCIgfHwgc3RhdGUubGFzdFRvayA9PSBcImNsYXNzXCIgfHwgc3RhdGUudmFyTGlzdCkgPyBcImRlZlwiXG4gICAgICAgICAgOiBcInZhcmlhYmxlXCI7XG4gICAgICAgIGlmIChzdHlsZSA9PSBcImtleXdvcmRcIikge1xuICAgICAgICAgIHRoaXNUb2sgPSB3b3JkO1xuICAgICAgICAgIGlmIChpbmRlbnRXb3Jkcy5wcm9wZXJ0eUlzRW51bWVyYWJsZSh3b3JkKSkga3d0eXBlID0gXCJpbmRlbnRcIjtcbiAgICAgICAgICBlbHNlIGlmIChkZWRlbnRXb3Jkcy5wcm9wZXJ0eUlzRW51bWVyYWJsZSh3b3JkKSkga3d0eXBlID0gXCJkZWRlbnRcIjtcbiAgICAgICAgICBlbHNlIGlmICgod29yZCA9PSBcImlmXCIgfHwgd29yZCA9PSBcInVubGVzc1wiKSAmJiBzdHJlYW0uY29sdW1uKCkgPT0gc3RyZWFtLmluZGVudGF0aW9uKCkpXG4gICAgICAgICAgICBrd3R5cGUgPSBcImluZGVudFwiO1xuICAgICAgICAgIGVsc2UgaWYgKHdvcmQgPT0gXCJkb1wiICYmIHN0YXRlLmNvbnRleHQuaW5kZW50ZWQgPCBzdGF0ZS5pbmRlbnRlZClcbiAgICAgICAgICAgIGt3dHlwZSA9IFwiaW5kZW50XCI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmIChjdXJQdW5jIHx8IChzdHlsZSAmJiBzdHlsZSAhPSBcImNvbW1lbnRcIikpIHN0YXRlLmxhc3RUb2sgPSB0aGlzVG9rO1xuICAgICAgaWYgKGN1clB1bmMgPT0gXCJ8XCIpIHN0YXRlLnZhckxpc3QgPSAhc3RhdGUudmFyTGlzdDtcblxuICAgICAgaWYgKGt3dHlwZSA9PSBcImluZGVudFwiIHx8IC9bXFwoXFxbXFx7XS8udGVzdChjdXJQdW5jKSlcbiAgICAgICAgc3RhdGUuY29udGV4dCA9IHtwcmV2OiBzdGF0ZS5jb250ZXh0LCB0eXBlOiBjdXJQdW5jIHx8IHN0eWxlLCBpbmRlbnRlZDogc3RhdGUuaW5kZW50ZWR9O1xuICAgICAgZWxzZSBpZiAoKGt3dHlwZSA9PSBcImRlZGVudFwiIHx8IC9bXFwpXFxdXFx9XS8udGVzdChjdXJQdW5jKSkgJiYgc3RhdGUuY29udGV4dC5wcmV2KVxuICAgICAgICBzdGF0ZS5jb250ZXh0ID0gc3RhdGUuY29udGV4dC5wcmV2O1xuXG4gICAgICBpZiAoc3RyZWFtLmVvbCgpKVxuICAgICAgICBzdGF0ZS5jb250aW51ZWRMaW5lID0gKGN1clB1bmMgPT0gXCJcXFxcXCIgfHwgc3R5bGUgPT0gXCJvcGVyYXRvclwiKTtcbiAgICAgIHJldHVybiBzdHlsZTtcbiAgICB9LFxuXG4gICAgaW5kZW50OiBmdW5jdGlvbihzdGF0ZSwgdGV4dEFmdGVyKSB7XG4gICAgICBpZiAoc3RhdGUudG9rZW5pemVbc3RhdGUudG9rZW5pemUubGVuZ3RoLTFdICE9IHRva2VuQmFzZSkgcmV0dXJuIENvZGVNaXJyb3IuUGFzcztcbiAgICAgIHZhciBmaXJzdENoYXIgPSB0ZXh0QWZ0ZXIgJiYgdGV4dEFmdGVyLmNoYXJBdCgwKTtcbiAgICAgIHZhciBjdCA9IHN0YXRlLmNvbnRleHQ7XG4gICAgICB2YXIgY2xvc2VkID0gY3QudHlwZSA9PSBjbG9zaW5nW2ZpcnN0Q2hhcl0gfHxcbiAgICAgICAgY3QudHlwZSA9PSBcImtleXdvcmRcIiAmJiAvXig/OmVuZHx1bnRpbHxlbHNlfGVsc2lmfHdoZW58cmVzY3VlKVxcYi8udGVzdCh0ZXh0QWZ0ZXIpO1xuICAgICAgcmV0dXJuIGN0LmluZGVudGVkICsgKGNsb3NlZCA/IDAgOiBjb25maWcuaW5kZW50VW5pdCkgK1xuICAgICAgICAoc3RhdGUuY29udGludWVkTGluZSA/IGNvbmZpZy5pbmRlbnRVbml0IDogMCk7XG4gICAgfSxcblxuICAgIGVsZWN0cmljSW5wdXQ6IC9eXFxzKig/OmVuZHxyZXNjdWV8ZWxzaWZ8ZWxzZXxcXH0pJC8sXG4gICAgbGluZUNvbW1lbnQ6IFwiI1wiLFxuICAgIGZvbGQ6IFwiaW5kZW50XCJcbiAgfTtcbn0pO1xuXG5Db2RlTWlycm9yLmRlZmluZU1JTUUoXCJ0ZXh0L3gtcnVieVwiLCBcInJ1YnlcIik7XG5cbn0pO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/codemirror/mode/ruby/ruby.js\n"); /***/ }), /***/ "./node_modules/codemirror/mode/rust/rust.js": /*!***************************************************!*\ !*** ./node_modules/codemirror/mode/rust/rust.js ***! \***************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ \"./node_modules/codemirror/lib/codemirror.js\"), __webpack_require__(/*! ../../addon/mode/simple */ \"./node_modules/codemirror/addon/mode/simple.js\"));\n else {}\n})(function(CodeMirror) {\n\"use strict\";\n\nCodeMirror.defineSimpleMode(\"rust\",{\n start: [\n // string and byte string\n {regex: /b?\"/, token: \"string\", next: \"string\"},\n // raw string and raw byte string\n {regex: /b?r\"/, token: \"string\", next: \"string_raw\"},\n {regex: /b?r#+\"/, token: \"string\", next: \"string_raw_hash\"},\n // character\n {regex: /'(?:[^'\\\\]|\\\\(?:[nrt0'\"]|x[\\da-fA-F]{2}|u\\{[\\da-fA-F]{6}\\}))'/, token: \"string-2\"},\n // byte\n {regex: /b'(?:[^']|\\\\(?:['\\\\nrt0]|x[\\da-fA-F]{2}))'/, token: \"string-2\"},\n\n {regex: /(?:(?:[0-9][0-9_]*)(?:(?:[Ee][+-]?[0-9_]+)|\\.[0-9_]+(?:[Ee][+-]?[0-9_]+)?)(?:f32|f64)?)|(?:0(?:b[01_]+|(?:o[0-7_]+)|(?:x[0-9a-fA-F_]+))|(?:[0-9][0-9_]*))(?:u8|u16|u32|u64|i8|i16|i32|i64|isize|usize)?/,\n token: \"number\"},\n {regex: /(let(?:\\s+mut)?|fn|enum|mod|struct|type)(\\s+)([a-zA-Z_][a-zA-Z0-9_]*)/, token: [\"keyword\", null, \"def\"]},\n {regex: /(?:abstract|alignof|as|box|break|continue|const|crate|do|else|enum|extern|fn|for|final|if|impl|in|loop|macro|match|mod|move|offsetof|override|priv|proc|pub|pure|ref|return|self|sizeof|static|struct|super|trait|type|typeof|unsafe|unsized|use|virtual|where|while|yield)\\b/, token: \"keyword\"},\n {regex: /\\b(?:Self|isize|usize|char|bool|u8|u16|u32|u64|f16|f32|f64|i8|i16|i32|i64|str|Option)\\b/, token: \"atom\"},\n {regex: /\\b(?:true|false|Some|None|Ok|Err)\\b/, token: \"builtin\"},\n {regex: /\\b(fn)(\\s+)([a-zA-Z_][a-zA-Z0-9_]*)/,\n token: [\"keyword\", null ,\"def\"]},\n {regex: /#!?\\[.*\\]/, token: \"meta\"},\n {regex: /\\/\\/.*/, token: \"comment\"},\n {regex: /\\/\\*/, token: \"comment\", next: \"comment\"},\n {regex: /[-+\\/*=<>!]+/, token: \"operator\"},\n {regex: /[a-zA-Z_]\\w*!/,token: \"variable-3\"},\n {regex: /[a-zA-Z_]\\w*/, token: \"variable\"},\n {regex: /[\\{\\[\\(]/, indent: true},\n {regex: /[\\}\\]\\)]/, dedent: true}\n ],\n string: [\n {regex: /\"/, token: \"string\", next: \"start\"},\n {regex: /(?:[^\\\\\"]|\\\\(?:.|$))*/, token: \"string\"}\n ],\n string_raw: [\n {regex: /\"/, token: \"string\", next: \"start\"},\n {regex: /[^\"]*/, token: \"string\"}\n ],\n string_raw_hash: [\n {regex: /\"#+/, token: \"string\", next: \"start\"},\n {regex: /(?:[^\"]|\"(?!#))*/, token: \"string\"}\n ],\n comment: [\n {regex: /.*?\\*\\//, token: \"comment\", next: \"start\"},\n {regex: /.*/, token: \"comment\"}\n ],\n meta: {\n dontIndentStates: [\"comment\"],\n electricInput: /^\\s*\\}$/,\n blockCommentStart: \"/*\",\n blockCommentEnd: \"*/\",\n lineComment: \"//\",\n fold: \"brace\"\n }\n});\n\n\nCodeMirror.defineMIME(\"text/x-rustsrc\", \"rust\");\nCodeMirror.defineMIME(\"text/rust\", \"rust\");\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9tb2RlL3J1c3QvcnVzdC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb2RlbWlycm9yL21vZGUvcnVzdC9ydXN0LmpzP2IxOGUiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29kZU1pcnJvciwgY29weXJpZ2h0IChjKSBieSBNYXJpam4gSGF2ZXJiZWtlIGFuZCBvdGhlcnNcbi8vIERpc3RyaWJ1dGVkIHVuZGVyIGFuIE1JVCBsaWNlbnNlOiBodHRwczovL2NvZGVtaXJyb3IubmV0L0xJQ0VOU0VcblxuKGZ1bmN0aW9uKG1vZCkge1xuICBpZiAodHlwZW9mIGV4cG9ydHMgPT0gXCJvYmplY3RcIiAmJiB0eXBlb2YgbW9kdWxlID09IFwib2JqZWN0XCIpIC8vIENvbW1vbkpTXG4gICAgbW9kKHJlcXVpcmUoXCIuLi8uLi9saWIvY29kZW1pcnJvclwiKSwgcmVxdWlyZShcIi4uLy4uL2FkZG9uL21vZGUvc2ltcGxlXCIpKTtcbiAgZWxzZSBpZiAodHlwZW9mIGRlZmluZSA9PSBcImZ1bmN0aW9uXCIgJiYgZGVmaW5lLmFtZCkgLy8gQU1EXG4gICAgZGVmaW5lKFtcIi4uLy4uL2xpYi9jb2RlbWlycm9yXCIsIFwiLi4vLi4vYWRkb24vbW9kZS9zaW1wbGVcIl0sIG1vZCk7XG4gIGVsc2UgLy8gUGxhaW4gYnJvd3NlciBlbnZcbiAgICBtb2QoQ29kZU1pcnJvcik7XG59KShmdW5jdGlvbihDb2RlTWlycm9yKSB7XG5cInVzZSBzdHJpY3RcIjtcblxuQ29kZU1pcnJvci5kZWZpbmVTaW1wbGVNb2RlKFwicnVzdFwiLHtcbiAgc3RhcnQ6IFtcbiAgICAvLyBzdHJpbmcgYW5kIGJ5dGUgc3RyaW5nXG4gICAge3JlZ2V4OiAvYj9cIi8sIHRva2VuOiBcInN0cmluZ1wiLCBuZXh0OiBcInN0cmluZ1wifSxcbiAgICAvLyByYXcgc3RyaW5nIGFuZCByYXcgYnl0ZSBzdHJpbmdcbiAgICB7cmVnZXg6IC9iP3JcIi8sIHRva2VuOiBcInN0cmluZ1wiLCBuZXh0OiBcInN0cmluZ19yYXdcIn0sXG4gICAge3JlZ2V4OiAvYj9yIytcIi8sIHRva2VuOiBcInN0cmluZ1wiLCBuZXh0OiBcInN0cmluZ19yYXdfaGFzaFwifSxcbiAgICAvLyBjaGFyYWN0ZXJcbiAgICB7cmVnZXg6IC8nKD86W14nXFxcXF18XFxcXCg/OltucnQwJ1wiXXx4W1xcZGEtZkEtRl17Mn18dVxce1tcXGRhLWZBLUZdezZ9XFx9KSknLywgdG9rZW46IFwic3RyaW5nLTJcIn0sXG4gICAgLy8gYnl0ZVxuICAgIHtyZWdleDogL2InKD86W14nXXxcXFxcKD86WydcXFxcbnJ0MF18eFtcXGRhLWZBLUZdezJ9KSknLywgdG9rZW46IFwic3RyaW5nLTJcIn0sXG5cbiAgICB7cmVnZXg6IC8oPzooPzpbMC05XVswLTlfXSopKD86KD86W0VlXVsrLV0/WzAtOV9dKyl8XFwuWzAtOV9dKyg/OltFZV1bKy1dP1swLTlfXSspPykoPzpmMzJ8ZjY0KT8pfCg/OjAoPzpiWzAxX10rfCg/Om9bMC03X10rKXwoPzp4WzAtOWEtZkEtRl9dKykpfCg/OlswLTldWzAtOV9dKikpKD86dTh8dTE2fHUzMnx1NjR8aTh8aTE2fGkzMnxpNjR8aXNpemV8dXNpemUpPy8sXG4gICAgIHRva2VuOiBcIm51bWJlclwifSxcbiAgICB7cmVnZXg6IC8obGV0KD86XFxzK211dCk/fGZufGVudW18bW9kfHN0cnVjdHx0eXBlKShcXHMrKShbYS16QS1aX11bYS16QS1aMC05X10qKS8sIHRva2VuOiBbXCJrZXl3b3JkXCIsIG51bGwsIFwiZGVmXCJdfSxcbiAgICB7cmVnZXg6IC8oPzphYnN0cmFjdHxhbGlnbm9mfGFzfGJveHxicmVha3xjb250aW51ZXxjb25zdHxjcmF0ZXxkb3xlbHNlfGVudW18ZXh0ZXJufGZufGZvcnxmaW5hbHxpZnxpbXBsfGlufGxvb3B8bWFjcm98bWF0Y2h8bW9kfG1vdmV8b2Zmc2V0b2Z8b3ZlcnJpZGV8cHJpdnxwcm9jfHB1YnxwdXJlfHJlZnxyZXR1cm58c2VsZnxzaXplb2Z8c3RhdGljfHN0cnVjdHxzdXBlcnx0cmFpdHx0eXBlfHR5cGVvZnx1bnNhZmV8dW5zaXplZHx1c2V8dmlydHVhbHx3aGVyZXx3aGlsZXx5aWVsZClcXGIvLCB0b2tlbjogXCJrZXl3b3JkXCJ9LFxuICAgIHtyZWdleDogL1xcYig/OlNlbGZ8aXNpemV8dXNpemV8Y2hhcnxib29sfHU4fHUxNnx1MzJ8dTY0fGYxNnxmMzJ8ZjY0fGk4fGkxNnxpMzJ8aTY0fHN0cnxPcHRpb24pXFxiLywgdG9rZW46IFwiYXRvbVwifSxcbiAgICB7cmVnZXg6IC9cXGIoPzp0cnVlfGZhbHNlfFNvbWV8Tm9uZXxPa3xFcnIpXFxiLywgdG9rZW46IFwiYnVpbHRpblwifSxcbiAgICB7cmVnZXg6IC9cXGIoZm4pKFxccyspKFthLXpBLVpfXVthLXpBLVowLTlfXSopLyxcbiAgICAgdG9rZW46IFtcImtleXdvcmRcIiwgbnVsbCAsXCJkZWZcIl19LFxuICAgIHtyZWdleDogLyMhP1xcWy4qXFxdLywgdG9rZW46IFwibWV0YVwifSxcbiAgICB7cmVnZXg6IC9cXC9cXC8uKi8sIHRva2VuOiBcImNvbW1lbnRcIn0sXG4gICAge3JlZ2V4OiAvXFwvXFwqLywgdG9rZW46IFwiY29tbWVudFwiLCBuZXh0OiBcImNvbW1lbnRcIn0sXG4gICAge3JlZ2V4OiAvWy0rXFwvKj08PiFdKy8sIHRva2VuOiBcIm9wZXJhdG9yXCJ9LFxuICAgIHtyZWdleDogL1thLXpBLVpfXVxcdyohLyx0b2tlbjogXCJ2YXJpYWJsZS0zXCJ9LFxuICAgIHtyZWdleDogL1thLXpBLVpfXVxcdyovLCB0b2tlbjogXCJ2YXJpYWJsZVwifSxcbiAgICB7cmVnZXg6IC9bXFx7XFxbXFwoXS8sIGluZGVudDogdHJ1ZX0sXG4gICAge3JlZ2V4OiAvW1xcfVxcXVxcKV0vLCBkZWRlbnQ6IHRydWV9XG4gIF0sXG4gIHN0cmluZzogW1xuICAgIHtyZWdleDogL1wiLywgdG9rZW46IFwic3RyaW5nXCIsIG5leHQ6IFwic3RhcnRcIn0sXG4gICAge3JlZ2V4OiAvKD86W15cXFxcXCJdfFxcXFwoPzoufCQpKSovLCB0b2tlbjogXCJzdHJpbmdcIn1cbiAgXSxcbiAgc3RyaW5nX3JhdzogW1xuICAgIHtyZWdleDogL1wiLywgdG9rZW46IFwic3RyaW5nXCIsIG5leHQ6IFwic3RhcnRcIn0sXG4gICAge3JlZ2V4OiAvW15cIl0qLywgdG9rZW46IFwic3RyaW5nXCJ9XG4gIF0sXG4gIHN0cmluZ19yYXdfaGFzaDogW1xuICAgIHtyZWdleDogL1wiIysvLCB0b2tlbjogXCJzdHJpbmdcIiwgbmV4dDogXCJzdGFydFwifSxcbiAgICB7cmVnZXg6IC8oPzpbXlwiXXxcIig/ISMpKSovLCB0b2tlbjogXCJzdHJpbmdcIn1cbiAgXSxcbiAgY29tbWVudDogW1xuICAgIHtyZWdleDogLy4qP1xcKlxcLy8sIHRva2VuOiBcImNvbW1lbnRcIiwgbmV4dDogXCJzdGFydFwifSxcbiAgICB7cmVnZXg6IC8uKi8sIHRva2VuOiBcImNvbW1lbnRcIn1cbiAgXSxcbiAgbWV0YToge1xuICAgIGRvbnRJbmRlbnRTdGF0ZXM6IFtcImNvbW1lbnRcIl0sXG4gICAgZWxlY3RyaWNJbnB1dDogL15cXHMqXFx9JC8sXG4gICAgYmxvY2tDb21tZW50U3RhcnQ6IFwiLypcIixcbiAgICBibG9ja0NvbW1lbnRFbmQ6IFwiKi9cIixcbiAgICBsaW5lQ29tbWVudDogXCIvL1wiLFxuICAgIGZvbGQ6IFwiYnJhY2VcIlxuICB9XG59KTtcblxuXG5Db2RlTWlycm9yLmRlZmluZU1JTUUoXCJ0ZXh0L3gtcnVzdHNyY1wiLCBcInJ1c3RcIik7XG5Db2RlTWlycm9yLmRlZmluZU1JTUUoXCJ0ZXh0L3J1c3RcIiwgXCJydXN0XCIpO1xufSk7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/codemirror/mode/rust/rust.js\n"); /***/ }), /***/ "./node_modules/codemirror/mode/sass/sass.js": /*!***************************************************!*\ !*** ./node_modules/codemirror/mode/sass/sass.js ***! \***************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ \"./node_modules/codemirror/lib/codemirror.js\"), __webpack_require__(/*! ../css/css */ \"./node_modules/codemirror/mode/css/css.js\"));\n else {}\n})(function(CodeMirror) {\n\"use strict\";\n\nCodeMirror.defineMode(\"sass\", function(config) {\n var cssMode = CodeMirror.mimeModes[\"text/css\"];\n var propertyKeywords = cssMode.propertyKeywords || {},\n colorKeywords = cssMode.colorKeywords || {},\n valueKeywords = cssMode.valueKeywords || {},\n fontProperties = cssMode.fontProperties || {};\n\n function tokenRegexp(words) {\n return new RegExp(\"^\" + words.join(\"|\"));\n }\n\n var keywords = [\"true\", \"false\", \"null\", \"auto\"];\n var keywordsRegexp = new RegExp(\"^\" + keywords.join(\"|\"));\n\n var operators = [\"\\\\(\", \"\\\\)\", \"=\", \">\", \"<\", \"==\", \">=\", \"<=\", \"\\\\+\", \"-\",\n \"\\\\!=\", \"/\", \"\\\\*\", \"%\", \"and\", \"or\", \"not\", \";\",\"\\\\{\",\"\\\\}\",\":\"];\n var opRegexp = tokenRegexp(operators);\n\n var pseudoElementsRegexp = /^::?[a-zA-Z_][\\w\\-]*/;\n\n var word;\n\n function isEndLine(stream) {\n return !stream.peek() || stream.match(/\\s+$/, false);\n }\n\n function urlTokens(stream, state) {\n var ch = stream.peek();\n\n if (ch === \")\") {\n stream.next();\n state.tokenizer = tokenBase;\n return \"operator\";\n } else if (ch === \"(\") {\n stream.next();\n stream.eatSpace();\n\n return \"operator\";\n } else if (ch === \"'\" || ch === '\"') {\n state.tokenizer = buildStringTokenizer(stream.next());\n return \"string\";\n } else {\n state.tokenizer = buildStringTokenizer(\")\", false);\n return \"string\";\n }\n }\n function comment(indentation, multiLine) {\n return function(stream, state) {\n if (stream.sol() && stream.indentation() <= indentation) {\n state.tokenizer = tokenBase;\n return tokenBase(stream, state);\n }\n\n if (multiLine && stream.skipTo(\"*/\")) {\n stream.next();\n stream.next();\n state.tokenizer = tokenBase;\n } else {\n stream.skipToEnd();\n }\n\n return \"comment\";\n };\n }\n\n function buildStringTokenizer(quote, greedy) {\n if (greedy == null) { greedy = true; }\n\n function stringTokenizer(stream, state) {\n var nextChar = stream.next();\n var peekChar = stream.peek();\n var previousChar = stream.string.charAt(stream.pos-2);\n\n var endingString = ((nextChar !== \"\\\\\" && peekChar === quote) || (nextChar === quote && previousChar !== \"\\\\\"));\n\n if (endingString) {\n if (nextChar !== quote && greedy) { stream.next(); }\n if (isEndLine(stream)) {\n state.cursorHalf = 0;\n }\n state.tokenizer = tokenBase;\n return \"string\";\n } else if (nextChar === \"#\" && peekChar === \"{\") {\n state.tokenizer = buildInterpolationTokenizer(stringTokenizer);\n stream.next();\n return \"operator\";\n } else {\n return \"string\";\n }\n }\n\n return stringTokenizer;\n }\n\n function buildInterpolationTokenizer(currentTokenizer) {\n return function(stream, state) {\n if (stream.peek() === \"}\") {\n stream.next();\n state.tokenizer = currentTokenizer;\n return \"operator\";\n } else {\n return tokenBase(stream, state);\n }\n };\n }\n\n function indent(state) {\n if (state.indentCount == 0) {\n state.indentCount++;\n var lastScopeOffset = state.scopes[0].offset;\n var currentOffset = lastScopeOffset + config.indentUnit;\n state.scopes.unshift({ offset:currentOffset });\n }\n }\n\n function dedent(state) {\n if (state.scopes.length == 1) return;\n\n state.scopes.shift();\n }\n\n function tokenBase(stream, state) {\n var ch = stream.peek();\n\n // Comment\n if (stream.match(\"/*\")) {\n state.tokenizer = comment(stream.indentation(), true);\n return state.tokenizer(stream, state);\n }\n if (stream.match(\"//\")) {\n state.tokenizer = comment(stream.indentation(), false);\n return state.tokenizer(stream, state);\n }\n\n // Interpolation\n if (stream.match(\"#{\")) {\n state.tokenizer = buildInterpolationTokenizer(tokenBase);\n return \"operator\";\n }\n\n // Strings\n if (ch === '\"' || ch === \"'\") {\n stream.next();\n state.tokenizer = buildStringTokenizer(ch);\n return \"string\";\n }\n\n if(!state.cursorHalf){// state.cursorHalf === 0\n // first half i.e. before : for key-value pairs\n // including selectors\n\n if (ch === \"-\") {\n if (stream.match(/^-\\w+-/)) {\n return \"meta\";\n }\n }\n\n if (ch === \".\") {\n stream.next();\n if (stream.match(/^[\\w-]+/)) {\n indent(state);\n return \"qualifier\";\n } else if (stream.peek() === \"#\") {\n indent(state);\n return \"tag\";\n }\n }\n\n if (ch === \"#\") {\n stream.next();\n // ID selectors\n if (stream.match(/^[\\w-]+/)) {\n indent(state);\n return \"builtin\";\n }\n if (stream.peek() === \"#\") {\n indent(state);\n return \"tag\";\n }\n }\n\n // Variables\n if (ch === \"$\") {\n stream.next();\n stream.eatWhile(/[\\w-]/);\n return \"variable-2\";\n }\n\n // Numbers\n if (stream.match(/^-?[0-9\\.]+/))\n return \"number\";\n\n // Units\n if (stream.match(/^(px|em|in)\\b/))\n return \"unit\";\n\n if (stream.match(keywordsRegexp))\n return \"keyword\";\n\n if (stream.match(/^url/) && stream.peek() === \"(\") {\n state.tokenizer = urlTokens;\n return \"atom\";\n }\n\n if (ch === \"=\") {\n // Match shortcut mixin definition\n if (stream.match(/^=[\\w-]+/)) {\n indent(state);\n return \"meta\";\n }\n }\n\n if (ch === \"+\") {\n // Match shortcut mixin definition\n if (stream.match(/^\\+[\\w-]+/)){\n return \"variable-3\";\n }\n }\n\n if(ch === \"@\"){\n if(stream.match(/@extend/)){\n if(!stream.match(/\\s*[\\w]/))\n dedent(state);\n }\n }\n\n\n // Indent Directives\n if (stream.match(/^@(else if|if|media|else|for|each|while|mixin|function)/)) {\n indent(state);\n return \"def\";\n }\n\n // Other Directives\n if (ch === \"@\") {\n stream.next();\n stream.eatWhile(/[\\w-]/);\n return \"def\";\n }\n\n if (stream.eatWhile(/[\\w-]/)){\n if(stream.match(/ *: *[\\w-\\+\\$#!\\(\"']/,false)){\n word = stream.current().toLowerCase();\n var prop = state.prevProp + \"-\" + word;\n if (propertyKeywords.hasOwnProperty(prop)) {\n return \"property\";\n } else if (propertyKeywords.hasOwnProperty(word)) {\n state.prevProp = word;\n return \"property\";\n } else if (fontProperties.hasOwnProperty(word)) {\n return \"property\";\n }\n return \"tag\";\n }\n else if(stream.match(/ *:/,false)){\n indent(state);\n state.cursorHalf = 1;\n state.prevProp = stream.current().toLowerCase();\n return \"property\";\n }\n else if(stream.match(/ *,/,false)){\n return \"tag\";\n }\n else{\n indent(state);\n return \"tag\";\n }\n }\n\n if(ch === \":\"){\n if (stream.match(pseudoElementsRegexp)){ // could be a pseudo-element\n return \"variable-3\";\n }\n stream.next();\n state.cursorHalf=1;\n return \"operator\";\n }\n\n } // cursorHalf===0 ends here\n else{\n\n if (ch === \"#\") {\n stream.next();\n // Hex numbers\n if (stream.match(/[0-9a-fA-F]{6}|[0-9a-fA-F]{3}/)){\n if (isEndLine(stream)) {\n state.cursorHalf = 0;\n }\n return \"number\";\n }\n }\n\n // Numbers\n if (stream.match(/^-?[0-9\\.]+/)){\n if (isEndLine(stream)) {\n state.cursorHalf = 0;\n }\n return \"number\";\n }\n\n // Units\n if (stream.match(/^(px|em|in)\\b/)){\n if (isEndLine(stream)) {\n state.cursorHalf = 0;\n }\n return \"unit\";\n }\n\n if (stream.match(keywordsRegexp)){\n if (isEndLine(stream)) {\n state.cursorHalf = 0;\n }\n return \"keyword\";\n }\n\n if (stream.match(/^url/) && stream.peek() === \"(\") {\n state.tokenizer = urlTokens;\n if (isEndLine(stream)) {\n state.cursorHalf = 0;\n }\n return \"atom\";\n }\n\n // Variables\n if (ch === \"$\") {\n stream.next();\n stream.eatWhile(/[\\w-]/);\n if (isEndLine(stream)) {\n state.cursorHalf = 0;\n }\n return \"variable-2\";\n }\n\n // bang character for !important, !default, etc.\n if (ch === \"!\") {\n stream.next();\n state.cursorHalf = 0;\n return stream.match(/^[\\w]+/) ? \"keyword\": \"operator\";\n }\n\n if (stream.match(opRegexp)){\n if (isEndLine(stream)) {\n state.cursorHalf = 0;\n }\n return \"operator\";\n }\n\n // attributes\n if (stream.eatWhile(/[\\w-]/)) {\n if (isEndLine(stream)) {\n state.cursorHalf = 0;\n }\n word = stream.current().toLowerCase();\n if (valueKeywords.hasOwnProperty(word)) {\n return \"atom\";\n } else if (colorKeywords.hasOwnProperty(word)) {\n return \"keyword\";\n } else if (propertyKeywords.hasOwnProperty(word)) {\n state.prevProp = stream.current().toLowerCase();\n return \"property\";\n } else {\n return \"tag\";\n }\n }\n\n //stream.eatSpace();\n if (isEndLine(stream)) {\n state.cursorHalf = 0;\n return null;\n }\n\n } // else ends here\n\n if (stream.match(opRegexp))\n return \"operator\";\n\n // If we haven't returned by now, we move 1 character\n // and return an error\n stream.next();\n return null;\n }\n\n function tokenLexer(stream, state) {\n if (stream.sol()) state.indentCount = 0;\n var style = state.tokenizer(stream, state);\n var current = stream.current();\n\n if (current === \"@return\" || current === \"}\"){\n dedent(state);\n }\n\n if (style !== null) {\n var startOfToken = stream.pos - current.length;\n\n var withCurrentIndent = startOfToken + (config.indentUnit * state.indentCount);\n\n var newScopes = [];\n\n for (var i = 0; i < state.scopes.length; i++) {\n var scope = state.scopes[i];\n\n if (scope.offset <= withCurrentIndent)\n newScopes.push(scope);\n }\n\n state.scopes = newScopes;\n }\n\n\n return style;\n }\n\n return {\n startState: function() {\n return {\n tokenizer: tokenBase,\n scopes: [{offset: 0, type: \"sass\"}],\n indentCount: 0,\n cursorHalf: 0, // cursor half tells us if cursor lies after (1)\n // or before (0) colon (well... more or less)\n definedVars: [],\n definedMixins: []\n };\n },\n token: function(stream, state) {\n var style = tokenLexer(stream, state);\n\n state.lastToken = { style: style, content: stream.current() };\n\n return style;\n },\n\n indent: function(state) {\n return state.scopes[0].offset;\n }\n };\n}, \"css\");\n\nCodeMirror.defineMIME(\"text/x-sass\", \"sass\");\n\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9tb2RlL3Nhc3Mvc2Fzcy5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb2RlbWlycm9yL21vZGUvc2Fzcy9zYXNzLmpzPzFiNjMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29kZU1pcnJvciwgY29weXJpZ2h0IChjKSBieSBNYXJpam4gSGF2ZXJiZWtlIGFuZCBvdGhlcnNcbi8vIERpc3RyaWJ1dGVkIHVuZGVyIGFuIE1JVCBsaWNlbnNlOiBodHRwczovL2NvZGVtaXJyb3IubmV0L0xJQ0VOU0VcblxuKGZ1bmN0aW9uKG1vZCkge1xuICBpZiAodHlwZW9mIGV4cG9ydHMgPT0gXCJvYmplY3RcIiAmJiB0eXBlb2YgbW9kdWxlID09IFwib2JqZWN0XCIpIC8vIENvbW1vbkpTXG4gICAgbW9kKHJlcXVpcmUoXCIuLi8uLi9saWIvY29kZW1pcnJvclwiKSwgcmVxdWlyZShcIi4uL2Nzcy9jc3NcIikpO1xuICBlbHNlIGlmICh0eXBlb2YgZGVmaW5lID09IFwiZnVuY3Rpb25cIiAmJiBkZWZpbmUuYW1kKSAvLyBBTURcbiAgICBkZWZpbmUoW1wiLi4vLi4vbGliL2NvZGVtaXJyb3JcIiwgXCIuLi9jc3MvY3NzXCJdLCBtb2QpO1xuICBlbHNlIC8vIFBsYWluIGJyb3dzZXIgZW52XG4gICAgbW9kKENvZGVNaXJyb3IpO1xufSkoZnVuY3Rpb24oQ29kZU1pcnJvcikge1xuXCJ1c2Ugc3RyaWN0XCI7XG5cbkNvZGVNaXJyb3IuZGVmaW5lTW9kZShcInNhc3NcIiwgZnVuY3Rpb24oY29uZmlnKSB7XG4gIHZhciBjc3NNb2RlID0gQ29kZU1pcnJvci5taW1lTW9kZXNbXCJ0ZXh0L2Nzc1wiXTtcbiAgdmFyIHByb3BlcnR5S2V5d29yZHMgPSBjc3NNb2RlLnByb3BlcnR5S2V5d29yZHMgfHwge30sXG4gICAgICBjb2xvcktleXdvcmRzID0gY3NzTW9kZS5jb2xvcktleXdvcmRzIHx8IHt9LFxuICAgICAgdmFsdWVLZXl3b3JkcyA9IGNzc01vZGUudmFsdWVLZXl3b3JkcyB8fCB7fSxcbiAgICAgIGZvbnRQcm9wZXJ0aWVzID0gY3NzTW9kZS5mb250UHJvcGVydGllcyB8fCB7fTtcblxuICBmdW5jdGlvbiB0b2tlblJlZ2V4cCh3b3Jkcykge1xuICAgIHJldHVybiBuZXcgUmVnRXhwKFwiXlwiICsgd29yZHMuam9pbihcInxcIikpO1xuICB9XG5cbiAgdmFyIGtleXdvcmRzID0gW1widHJ1ZVwiLCBcImZhbHNlXCIsIFwibnVsbFwiLCBcImF1dG9cIl07XG4gIHZhciBrZXl3b3Jkc1JlZ2V4cCA9IG5ldyBSZWdFeHAoXCJeXCIgKyBrZXl3b3Jkcy5qb2luKFwifFwiKSk7XG5cbiAgdmFyIG9wZXJhdG9ycyA9IFtcIlxcXFwoXCIsIFwiXFxcXClcIiwgXCI9XCIsIFwiPlwiLCBcIjxcIiwgXCI9PVwiLCBcIj49XCIsIFwiPD1cIiwgXCJcXFxcK1wiLCBcIi1cIixcbiAgICAgICAgICAgICAgICAgICBcIlxcXFwhPVwiLCBcIi9cIiwgXCJcXFxcKlwiLCBcIiVcIiwgXCJhbmRcIiwgXCJvclwiLCBcIm5vdFwiLCBcIjtcIixcIlxcXFx7XCIsXCJcXFxcfVwiLFwiOlwiXTtcbiAgdmFyIG9wUmVnZXhwID0gdG9rZW5SZWdleHAob3BlcmF0b3JzKTtcblxuICB2YXIgcHNldWRvRWxlbWVudHNSZWdleHAgPSAvXjo6P1thLXpBLVpfXVtcXHdcXC1dKi87XG5cbiAgdmFyIHdvcmQ7XG5cbiAgZnVuY3Rpb24gaXNFbmRMaW5lKHN0cmVhbSkge1xuICAgIHJldHVybiAhc3RyZWFtLnBlZWsoKSB8fCBzdHJlYW0ubWF0Y2goL1xccyskLywgZmFsc2UpO1xuICB9XG5cbiAgZnVuY3Rpb24gdXJsVG9rZW5zKHN0cmVhbSwgc3RhdGUpIHtcbiAgICB2YXIgY2ggPSBzdHJlYW0ucGVlaygpO1xuXG4gICAgaWYgKGNoID09PSBcIilcIikge1xuICAgICAgc3RyZWFtLm5leHQoKTtcbiAgICAgIHN0YXRlLnRva2VuaXplciA9IHRva2VuQmFzZTtcbiAgICAgIHJldHVybiBcIm9wZXJhdG9yXCI7XG4gICAgfSBlbHNlIGlmIChjaCA9PT0gXCIoXCIpIHtcbiAgICAgIHN0cmVhbS5uZXh0KCk7XG4gICAgICBzdHJlYW0uZWF0U3BhY2UoKTtcblxuICAgICAgcmV0dXJuIFwib3BlcmF0b3JcIjtcbiAgICB9IGVsc2UgaWYgKGNoID09PSBcIidcIiB8fCBjaCA9PT0gJ1wiJykge1xuICAgICAgc3RhdGUudG9rZW5pemVyID0gYnVpbGRTdHJpbmdUb2tlbml6ZXIoc3RyZWFtLm5leHQoKSk7XG4gICAgICByZXR1cm4gXCJzdHJpbmdcIjtcbiAgICB9IGVsc2Uge1xuICAgICAgc3RhdGUudG9rZW5pemVyID0gYnVpbGRTdHJpbmdUb2tlbml6ZXIoXCIpXCIsIGZhbHNlKTtcbiAgICAgIHJldHVybiBcInN0cmluZ1wiO1xuICAgIH1cbiAgfVxuICBmdW5jdGlvbiBjb21tZW50KGluZGVudGF0aW9uLCBtdWx0aUxpbmUpIHtcbiAgICByZXR1cm4gZnVuY3Rpb24oc3RyZWFtLCBzdGF0ZSkge1xuICAgICAgaWYgKHN0cmVhbS5zb2woKSAmJiBzdHJlYW0uaW5kZW50YXRpb24oKSA8PSBpbmRlbnRhdGlvbikge1xuICAgICAgICBzdGF0ZS50b2tlbml6ZXIgPSB0b2tlbkJhc2U7XG4gICAgICAgIHJldHVybiB0b2tlbkJhc2Uoc3RyZWFtLCBzdGF0ZSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChtdWx0aUxpbmUgJiYgc3RyZWFtLnNraXBUbyhcIiovXCIpKSB7XG4gICAgICAgIHN0cmVhbS5uZXh0KCk7XG4gICAgICAgIHN0cmVhbS5uZXh0KCk7XG4gICAgICAgIHN0YXRlLnRva2VuaXplciA9IHRva2VuQmFzZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHN0cmVhbS5za2lwVG9FbmQoKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIFwiY29tbWVudFwiO1xuICAgIH07XG4gIH1cblxuICBmdW5jdGlvbiBidWlsZFN0cmluZ1Rva2VuaXplcihxdW90ZSwgZ3JlZWR5KSB7XG4gICAgaWYgKGdyZWVkeSA9PSBudWxsKSB7IGdyZWVkeSA9IHRydWU7IH1cblxuICAgIGZ1bmN0aW9uIHN0cmluZ1Rva2VuaXplcihzdHJlYW0sIHN0YXRlKSB7XG4gICAgICB2YXIgbmV4dENoYXIgPSBzdHJlYW0ubmV4dCgpO1xuICAgICAgdmFyIHBlZWtDaGFyID0gc3RyZWFtLnBlZWsoKTtcbiAgICAgIHZhciBwcmV2aW91c0NoYXIgPSBzdHJlYW0uc3RyaW5nLmNoYXJBdChzdHJlYW0ucG9zLTIpO1xuXG4gICAgICB2YXIgZW5kaW5nU3RyaW5nID0gKChuZXh0Q2hhciAhPT0gXCJcXFxcXCIgJiYgcGVla0NoYXIgPT09IHF1b3RlKSB8fCAobmV4dENoYXIgPT09IHF1b3RlICYmIHByZXZpb3VzQ2hhciAhPT0gXCJcXFxcXCIpKTtcblxuICAgICAgaWYgKGVuZGluZ1N0cmluZykge1xuICAgICAgICBpZiAobmV4dENoYXIgIT09IHF1b3RlICYmIGdyZWVkeSkgeyBzdHJlYW0ubmV4dCgpOyB9XG4gICAgICAgIGlmIChpc0VuZExpbmUoc3RyZWFtKSkge1xuICAgICAgICAgIHN0YXRlLmN1cnNvckhhbGYgPSAwO1xuICAgICAgICB9XG4gICAgICAgIHN0YXRlLnRva2VuaXplciA9IHRva2VuQmFzZTtcbiAgICAgICAgcmV0dXJuIFwic3RyaW5nXCI7XG4gICAgICB9IGVsc2UgaWYgKG5leHRDaGFyID09PSBcIiNcIiAmJiBwZWVrQ2hhciA9PT0gXCJ7XCIpIHtcbiAgICAgICAgc3RhdGUudG9rZW5pemVyID0gYnVpbGRJbnRlcnBvbGF0aW9uVG9rZW5pemVyKHN0cmluZ1Rva2VuaXplcik7XG4gICAgICAgIHN0cmVhbS5uZXh0KCk7XG4gICAgICAgIHJldHVybiBcIm9wZXJhdG9yXCI7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gXCJzdHJpbmdcIjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gc3RyaW5nVG9rZW5pemVyO1xuICB9XG5cbiAgZnVuY3Rpb24gYnVpbGRJbnRlcnBvbGF0aW9uVG9rZW5pemVyKGN1cnJlbnRUb2tlbml6ZXIpIHtcbiAgICByZXR1cm4gZnVuY3Rpb24oc3RyZWFtLCBzdGF0ZSkge1xuICAgICAgaWYgKHN0cmVhbS5wZWVrKCkgPT09IFwifVwiKSB7XG4gICAgICAgIHN0cmVhbS5uZXh0KCk7XG4gICAgICAgIHN0YXRlLnRva2VuaXplciA9IGN1cnJlbnRUb2tlbml6ZXI7XG4gICAgICAgIHJldHVybiBcIm9wZXJhdG9yXCI7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gdG9rZW5CYXNlKHN0cmVhbSwgc3RhdGUpO1xuICAgICAgfVxuICAgIH07XG4gIH1cblxuICBmdW5jdGlvbiBpbmRlbnQoc3RhdGUpIHtcbiAgICBpZiAoc3RhdGUuaW5kZW50Q291bnQgPT0gMCkge1xuICAgICAgc3RhdGUuaW5kZW50Q291bnQrKztcbiAgICAgIHZhciBsYXN0U2NvcGVPZmZzZXQgPSBzdGF0ZS5zY29wZXNbMF0ub2Zmc2V0O1xuICAgICAgdmFyIGN1cnJlbnRPZmZzZXQgPSBsYXN0U2NvcGVPZmZzZXQgKyBjb25maWcuaW5kZW50VW5pdDtcbiAgICAgIHN0YXRlLnNjb3Blcy51bnNoaWZ0KHsgb2Zmc2V0OmN1cnJlbnRPZmZzZXQgfSk7XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gZGVkZW50KHN0YXRlKSB7XG4gICAgaWYgKHN0YXRlLnNjb3Blcy5sZW5ndGggPT0gMSkgcmV0dXJuO1xuXG4gICAgc3RhdGUuc2NvcGVzLnNoaWZ0KCk7XG4gIH1cblxuICBmdW5jdGlvbiB0b2tlbkJhc2Uoc3RyZWFtLCBzdGF0ZSkge1xuICAgIHZhciBjaCA9IHN0cmVhbS5wZWVrKCk7XG5cbiAgICAvLyBDb21tZW50XG4gICAgaWYgKHN0cmVhbS5tYXRjaChcIi8qXCIpKSB7XG4gICAgICBzdGF0ZS50b2tlbml6ZXIgPSBjb21tZW50KHN0cmVhbS5pbmRlbnRhdGlvbigpLCB0cnVlKTtcbiAgICAgIHJldHVybiBzdGF0ZS50b2tlbml6ZXIoc3RyZWFtLCBzdGF0ZSk7XG4gICAgfVxuICAgIGlmIChzdHJlYW0ubWF0Y2goXCIvL1wiKSkge1xuICAgICAgc3RhdGUudG9rZW5pemVyID0gY29tbWVudChzdHJlYW0uaW5kZW50YXRpb24oKSwgZmFsc2UpO1xuICAgICAgcmV0dXJuIHN0YXRlLnRva2VuaXplcihzdHJlYW0sIHN0YXRlKTtcbiAgICB9XG5cbiAgICAvLyBJbnRlcnBvbGF0aW9uXG4gICAgaWYgKHN0cmVhbS5tYXRjaChcIiN7XCIpKSB7XG4gICAgICBzdGF0ZS50b2tlbml6ZXIgPSBidWlsZEludGVycG9sYXRpb25Ub2tlbml6ZXIodG9rZW5CYXNlKTtcbiAgICAgIHJldHVybiBcIm9wZXJhdG9yXCI7XG4gICAgfVxuXG4gICAgLy8gU3RyaW5nc1xuICAgIGlmIChjaCA9PT0gJ1wiJyB8fCBjaCA9PT0gXCInXCIpIHtcbiAgICAgIHN0cmVhbS5uZXh0KCk7XG4gICAgICBzdGF0ZS50b2tlbml6ZXIgPSBidWlsZFN0cmluZ1Rva2VuaXplcihjaCk7XG4gICAgICByZXR1cm4gXCJzdHJpbmdcIjtcbiAgICB9XG5cbiAgICBpZighc3RhdGUuY3Vyc29ySGFsZil7Ly8gc3RhdGUuY3Vyc29ySGFsZiA9PT0gMFxuICAgIC8vIGZpcnN0IGhhbGYgaS5lLiBiZWZvcmUgOiBmb3Iga2V5LXZhbHVlIHBhaXJzXG4gICAgLy8gaW5jbHVkaW5nIHNlbGVjdG9yc1xuXG4gICAgICBpZiAoY2ggPT09IFwiLVwiKSB7XG4gICAgICAgIGlmIChzdHJlYW0ubWF0Y2goL14tXFx3Ky0vKSkge1xuICAgICAgICAgIHJldHVybiBcIm1ldGFcIjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoY2ggPT09IFwiLlwiKSB7XG4gICAgICAgIHN0cmVhbS5uZXh0KCk7XG4gICAgICAgIGlmIChzdHJlYW0ubWF0Y2goL15bXFx3LV0rLykpIHtcbiAgICAgICAgICBpbmRlbnQoc3RhdGUpO1xuICAgICAgICAgIHJldHVybiBcInF1YWxpZmllclwiO1xuICAgICAgICB9IGVsc2UgaWYgKHN0cmVhbS5wZWVrKCkgPT09IFwiI1wiKSB7XG4gICAgICAgICAgaW5kZW50KHN0YXRlKTtcbiAgICAgICAgICByZXR1cm4gXCJ0YWdcIjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoY2ggPT09IFwiI1wiKSB7XG4gICAgICAgIHN0cmVhbS5uZXh0KCk7XG4gICAgICAgIC8vIElEIHNlbGVjdG9yc1xuICAgICAgICBpZiAoc3RyZWFtLm1hdGNoKC9eW1xcdy1dKy8pKSB7XG4gICAgICAgICAgaW5kZW50KHN0YXRlKTtcbiAgICAgICAgICByZXR1cm4gXCJidWlsdGluXCI7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHN0cmVhbS5wZWVrKCkgPT09IFwiI1wiKSB7XG4gICAgICAgICAgaW5kZW50KHN0YXRlKTtcbiAgICAgICAgICByZXR1cm4gXCJ0YWdcIjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBWYXJpYWJsZXNcbiAgICAgIGlmIChjaCA9PT0gXCIkXCIpIHtcbiAgICAgICAgc3RyZWFtLm5leHQoKTtcbiAgICAgICAgc3RyZWFtLmVhdFdoaWxlKC9bXFx3LV0vKTtcbiAgICAgICAgcmV0dXJuIFwidmFyaWFibGUtMlwiO1xuICAgICAgfVxuXG4gICAgICAvLyBOdW1iZXJzXG4gICAgICBpZiAoc3RyZWFtLm1hdGNoKC9eLT9bMC05XFwuXSsvKSlcbiAgICAgICAgcmV0dXJuIFwibnVtYmVyXCI7XG5cbiAgICAgIC8vIFVuaXRzXG4gICAgICBpZiAoc3RyZWFtLm1hdGNoKC9eKHB4fGVtfGluKVxcYi8pKVxuICAgICAgICByZXR1cm4gXCJ1bml0XCI7XG5cbiAgICAgIGlmIChzdHJlYW0ubWF0Y2goa2V5d29yZHNSZWdleHApKVxuICAgICAgICByZXR1cm4gXCJrZXl3b3JkXCI7XG5cbiAgICAgIGlmIChzdHJlYW0ubWF0Y2goL151cmwvKSAmJiBzdHJlYW0ucGVlaygpID09PSBcIihcIikge1xuICAgICAgICBzdGF0ZS50b2tlbml6ZXIgPSB1cmxUb2tlbnM7XG4gICAgICAgIHJldHVybiBcImF0b21cIjtcbiAgICAgIH1cblxuICAgICAgaWYgKGNoID09PSBcIj1cIikge1xuICAgICAgICAvLyBNYXRjaCBzaG9ydGN1dCBtaXhpbiBkZWZpbml0aW9uXG4gICAgICAgIGlmIChzdHJlYW0ubWF0Y2goL149W1xcdy1dKy8pKSB7XG4gICAgICAgICAgaW5kZW50KHN0YXRlKTtcbiAgICAgICAgICByZXR1cm4gXCJtZXRhXCI7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKGNoID09PSBcIitcIikge1xuICAgICAgICAvLyBNYXRjaCBzaG9ydGN1dCBtaXhpbiBkZWZpbml0aW9uXG4gICAgICAgIGlmIChzdHJlYW0ubWF0Y2goL15cXCtbXFx3LV0rLykpe1xuICAgICAgICAgIHJldHVybiBcInZhcmlhYmxlLTNcIjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZihjaCA9PT0gXCJAXCIpe1xuICAgICAgICBpZihzdHJlYW0ubWF0Y2goL0BleHRlbmQvKSl7XG4gICAgICAgICAgaWYoIXN0cmVhbS5tYXRjaCgvXFxzKltcXHddLykpXG4gICAgICAgICAgICBkZWRlbnQoc3RhdGUpO1xuICAgICAgICB9XG4gICAgICB9XG5cblxuICAgICAgLy8gSW5kZW50IERpcmVjdGl2ZXNcbiAgICAgIGlmIChzdHJlYW0ubWF0Y2goL15AKGVsc2UgaWZ8aWZ8bWVkaWF8ZWxzZXxmb3J8ZWFjaHx3aGlsZXxtaXhpbnxmdW5jdGlvbikvKSkge1xuICAgICAgICBpbmRlbnQoc3RhdGUpO1xuICAgICAgICByZXR1cm4gXCJkZWZcIjtcbiAgICAgIH1cblxuICAgICAgLy8gT3RoZXIgRGlyZWN0aXZlc1xuICAgICAgaWYgKGNoID09PSBcIkBcIikge1xuICAgICAgICBzdHJlYW0ubmV4dCgpO1xuICAgICAgICBzdHJlYW0uZWF0V2hpbGUoL1tcXHctXS8pO1xuICAgICAgICByZXR1cm4gXCJkZWZcIjtcbiAgICAgIH1cblxuICAgICAgaWYgKHN0cmVhbS5lYXRXaGlsZSgvW1xcdy1dLykpe1xuICAgICAgICBpZihzdHJlYW0ubWF0Y2goLyAqOiAqW1xcdy1cXCtcXCQjIVxcKFwiJ10vLGZhbHNlKSl7XG4gICAgICAgICAgd29yZCA9IHN0cmVhbS5jdXJyZW50KCkudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgICB2YXIgcHJvcCA9IHN0YXRlLnByZXZQcm9wICsgXCItXCIgKyB3b3JkO1xuICAgICAgICAgIGlmIChwcm9wZXJ0eUtleXdvcmRzLmhhc093blByb3BlcnR5KHByb3ApKSB7XG4gICAgICAgICAgICByZXR1cm4gXCJwcm9wZXJ0eVwiO1xuICAgICAgICAgIH0gZWxzZSBpZiAocHJvcGVydHlLZXl3b3Jkcy5oYXNPd25Qcm9wZXJ0eSh3b3JkKSkge1xuICAgICAgICAgICAgc3RhdGUucHJldlByb3AgPSB3b3JkO1xuICAgICAgICAgICAgcmV0dXJuIFwicHJvcGVydHlcIjtcbiAgICAgICAgICB9IGVsc2UgaWYgKGZvbnRQcm9wZXJ0aWVzLmhhc093blByb3BlcnR5KHdvcmQpKSB7XG4gICAgICAgICAgICByZXR1cm4gXCJwcm9wZXJ0eVwiO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gXCJ0YWdcIjtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmKHN0cmVhbS5tYXRjaCgvICo6LyxmYWxzZSkpe1xuICAgICAgICAgIGluZGVudChzdGF0ZSk7XG4gICAgICAgICAgc3RhdGUuY3Vyc29ySGFsZiA9IDE7XG4gICAgICAgICAgc3RhdGUucHJldlByb3AgPSBzdHJlYW0uY3VycmVudCgpLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgICAgcmV0dXJuIFwicHJvcGVydHlcIjtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmKHN0cmVhbS5tYXRjaCgvICosLyxmYWxzZSkpe1xuICAgICAgICAgIHJldHVybiBcInRhZ1wiO1xuICAgICAgICB9XG4gICAgICAgIGVsc2V7XG4gICAgICAgICAgaW5kZW50KHN0YXRlKTtcbiAgICAgICAgICByZXR1cm4gXCJ0YWdcIjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZihjaCA9PT0gXCI6XCIpe1xuICAgICAgICBpZiAoc3RyZWFtLm1hdGNoKHBzZXVkb0VsZW1lbnRzUmVnZXhwKSl7IC8vIGNvdWxkIGJlIGEgcHNldWRvLWVsZW1lbnRcbiAgICAgICAgICByZXR1cm4gXCJ2YXJpYWJsZS0zXCI7XG4gICAgICAgIH1cbiAgICAgICAgc3RyZWFtLm5leHQoKTtcbiAgICAgICAgc3RhdGUuY3Vyc29ySGFsZj0xO1xuICAgICAgICByZXR1cm4gXCJvcGVyYXRvclwiO1xuICAgICAgfVxuXG4gICAgfSAvLyBjdXJzb3JIYWxmPT09MCBlbmRzIGhlcmVcbiAgICBlbHNle1xuXG4gICAgICBpZiAoY2ggPT09IFwiI1wiKSB7XG4gICAgICAgIHN0cmVhbS5uZXh0KCk7XG4gICAgICAgIC8vIEhleCBudW1iZXJzXG4gICAgICAgIGlmIChzdHJlYW0ubWF0Y2goL1swLTlhLWZBLUZdezZ9fFswLTlhLWZBLUZdezN9Lykpe1xuICAgICAgICAgIGlmIChpc0VuZExpbmUoc3RyZWFtKSkge1xuICAgICAgICAgICAgc3RhdGUuY3Vyc29ySGFsZiA9IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBcIm51bWJlclwiO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIE51bWJlcnNcbiAgICAgIGlmIChzdHJlYW0ubWF0Y2goL14tP1swLTlcXC5dKy8pKXtcbiAgICAgICAgaWYgKGlzRW5kTGluZShzdHJlYW0pKSB7XG4gICAgICAgICAgc3RhdGUuY3Vyc29ySGFsZiA9IDA7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIFwibnVtYmVyXCI7XG4gICAgICB9XG5cbiAgICAgIC8vIFVuaXRzXG4gICAgICBpZiAoc3RyZWFtLm1hdGNoKC9eKHB4fGVtfGluKVxcYi8pKXtcbiAgICAgICAgaWYgKGlzRW5kTGluZShzdHJlYW0pKSB7XG4gICAgICAgICAgc3RhdGUuY3Vyc29ySGFsZiA9IDA7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIFwidW5pdFwiO1xuICAgICAgfVxuXG4gICAgICBpZiAoc3RyZWFtLm1hdGNoKGtleXdvcmRzUmVnZXhwKSl7XG4gICAgICAgIGlmIChpc0VuZExpbmUoc3RyZWFtKSkge1xuICAgICAgICAgIHN0YXRlLmN1cnNvckhhbGYgPSAwO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBcImtleXdvcmRcIjtcbiAgICAgIH1cblxuICAgICAgaWYgKHN0cmVhbS5tYXRjaCgvXnVybC8pICYmIHN0cmVhbS5wZWVrKCkgPT09IFwiKFwiKSB7XG4gICAgICAgIHN0YXRlLnRva2VuaXplciA9IHVybFRva2VucztcbiAgICAgICAgaWYgKGlzRW5kTGluZShzdHJlYW0pKSB7XG4gICAgICAgICAgc3RhdGUuY3Vyc29ySGFsZiA9IDA7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIFwiYXRvbVwiO1xuICAgICAgfVxuXG4gICAgICAvLyBWYXJpYWJsZXNcbiAgICAgIGlmIChjaCA9PT0gXCIkXCIpIHtcbiAgICAgICAgc3RyZWFtLm5leHQoKTtcbiAgICAgICAgc3RyZWFtLmVhdFdoaWxlKC9bXFx3LV0vKTtcbiAgICAgICAgaWYgKGlzRW5kTGluZShzdHJlYW0pKSB7XG4gICAgICAgICAgc3RhdGUuY3Vyc29ySGFsZiA9IDA7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIFwidmFyaWFibGUtMlwiO1xuICAgICAgfVxuXG4gICAgICAvLyBiYW5nIGNoYXJhY3RlciBmb3IgIWltcG9ydGFudCwgIWRlZmF1bHQsIGV0Yy5cbiAgICAgIGlmIChjaCA9PT0gXCIhXCIpIHtcbiAgICAgICAgc3RyZWFtLm5leHQoKTtcbiAgICAgICAgc3RhdGUuY3Vyc29ySGFsZiA9IDA7XG4gICAgICAgIHJldHVybiBzdHJlYW0ubWF0Y2goL15bXFx3XSsvKSA/IFwia2V5d29yZFwiOiBcIm9wZXJhdG9yXCI7XG4gICAgICB9XG5cbiAgICAgIGlmIChzdHJlYW0ubWF0Y2gob3BSZWdleHApKXtcbiAgICAgICAgaWYgKGlzRW5kTGluZShzdHJlYW0pKSB7XG4gICAgICAgICAgc3RhdGUuY3Vyc29ySGFsZiA9IDA7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIFwib3BlcmF0b3JcIjtcbiAgICAgIH1cblxuICAgICAgLy8gYXR0cmlidXRlc1xuICAgICAgaWYgKHN0cmVhbS5lYXRXaGlsZSgvW1xcdy1dLykpIHtcbiAgICAgICAgaWYgKGlzRW5kTGluZShzdHJlYW0pKSB7XG4gICAgICAgICAgc3RhdGUuY3Vyc29ySGFsZiA9IDA7XG4gICAgICAgIH1cbiAgICAgICAgd29yZCA9IHN0cmVhbS5jdXJyZW50KCkudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgaWYgKHZhbHVlS2V5d29yZHMuaGFzT3duUHJvcGVydHkod29yZCkpIHtcbiAgICAgICAgICByZXR1cm4gXCJhdG9tXCI7XG4gICAgICAgIH0gZWxzZSBpZiAoY29sb3JLZXl3b3Jkcy5oYXNPd25Qcm9wZXJ0eSh3b3JkKSkge1xuICAgICAgICAgIHJldHVybiBcImtleXdvcmRcIjtcbiAgICAgICAgfSBlbHNlIGlmIChwcm9wZXJ0eUtleXdvcmRzLmhhc093blByb3BlcnR5KHdvcmQpKSB7XG4gICAgICAgICAgc3RhdGUucHJldlByb3AgPSBzdHJlYW0uY3VycmVudCgpLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgICAgcmV0dXJuIFwicHJvcGVydHlcIjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gXCJ0YWdcIjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvL3N0cmVhbS5lYXRTcGFjZSgpO1xuICAgICAgaWYgKGlzRW5kTGluZShzdHJlYW0pKSB7XG4gICAgICAgIHN0YXRlLmN1cnNvckhhbGYgPSAwO1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cblxuICAgIH0gLy8gZWxzZSBlbmRzIGhlcmVcblxuICAgIGlmIChzdHJlYW0ubWF0Y2gob3BSZWdleHApKVxuICAgICAgcmV0dXJuIFwib3BlcmF0b3JcIjtcblxuICAgIC8vIElmIHdlIGhhdmVuJ3QgcmV0dXJuZWQgYnkgbm93LCB3ZSBtb3ZlIDEgY2hhcmFjdGVyXG4gICAgLy8gYW5kIHJldHVybiBhbiBlcnJvclxuICAgIHN0cmVhbS5uZXh0KCk7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBmdW5jdGlvbiB0b2tlbkxleGVyKHN0cmVhbSwgc3RhdGUpIHtcbiAgICBpZiAoc3RyZWFtLnNvbCgpKSBzdGF0ZS5pbmRlbnRDb3VudCA9IDA7XG4gICAgdmFyIHN0eWxlID0gc3RhdGUudG9rZW5pemVyKHN0cmVhbSwgc3RhdGUpO1xuICAgIHZhciBjdXJyZW50ID0gc3RyZWFtLmN1cnJlbnQoKTtcblxuICAgIGlmIChjdXJyZW50ID09PSBcIkByZXR1cm5cIiB8fCBjdXJyZW50ID09PSBcIn1cIil7XG4gICAgICBkZWRlbnQoc3RhdGUpO1xuICAgIH1cblxuICAgIGlmIChzdHlsZSAhPT0gbnVsbCkge1xuICAgICAgdmFyIHN0YXJ0T2ZUb2tlbiA9IHN0cmVhbS5wb3MgLSBjdXJyZW50Lmxlbmd0aDtcblxuICAgICAgdmFyIHdpdGhDdXJyZW50SW5kZW50ID0gc3RhcnRPZlRva2VuICsgKGNvbmZpZy5pbmRlbnRVbml0ICogc3RhdGUuaW5kZW50Q291bnQpO1xuXG4gICAgICB2YXIgbmV3U2NvcGVzID0gW107XG5cbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc3RhdGUuc2NvcGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHZhciBzY29wZSA9IHN0YXRlLnNjb3Blc1tpXTtcblxuICAgICAgICBpZiAoc2NvcGUub2Zmc2V0IDw9IHdpdGhDdXJyZW50SW5kZW50KVxuICAgICAgICAgIG5ld1Njb3Blcy5wdXNoKHNjb3BlKTtcbiAgICAgIH1cblxuICAgICAgc3RhdGUuc2NvcGVzID0gbmV3U2NvcGVzO1xuICAgIH1cblxuXG4gICAgcmV0dXJuIHN0eWxlO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBzdGFydFN0YXRlOiBmdW5jdGlvbigpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHRva2VuaXplcjogdG9rZW5CYXNlLFxuICAgICAgICBzY29wZXM6IFt7b2Zmc2V0OiAwLCB0eXBlOiBcInNhc3NcIn1dLFxuICAgICAgICBpbmRlbnRDb3VudDogMCxcbiAgICAgICAgY3Vyc29ySGFsZjogMCwgIC8vIGN1cnNvciBoYWxmIHRlbGxzIHVzIGlmIGN1cnNvciBsaWVzIGFmdGVyICgxKVxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gb3IgYmVmb3JlICgwKSBjb2xvbiAod2VsbC4uLiBtb3JlIG9yIGxlc3MpXG4gICAgICAgIGRlZmluZWRWYXJzOiBbXSxcbiAgICAgICAgZGVmaW5lZE1peGluczogW11cbiAgICAgIH07XG4gICAgfSxcbiAgICB0b2tlbjogZnVuY3Rpb24oc3RyZWFtLCBzdGF0ZSkge1xuICAgICAgdmFyIHN0eWxlID0gdG9rZW5MZXhlcihzdHJlYW0sIHN0YXRlKTtcblxuICAgICAgc3RhdGUubGFzdFRva2VuID0geyBzdHlsZTogc3R5bGUsIGNvbnRlbnQ6IHN0cmVhbS5jdXJyZW50KCkgfTtcblxuICAgICAgcmV0dXJuIHN0eWxlO1xuICAgIH0sXG5cbiAgICBpbmRlbnQ6IGZ1bmN0aW9uKHN0YXRlKSB7XG4gICAgICByZXR1cm4gc3RhdGUuc2NvcGVzWzBdLm9mZnNldDtcbiAgICB9XG4gIH07XG59LCBcImNzc1wiKTtcblxuQ29kZU1pcnJvci5kZWZpbmVNSU1FKFwidGV4dC94LXNhc3NcIiwgXCJzYXNzXCIpO1xuXG59KTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/codemirror/mode/sass/sass.js\n"); /***/ }), /***/ "./node_modules/codemirror/mode/shell/shell.js": /*!*****************************************************!*\ !*** ./node_modules/codemirror/mode/shell/shell.js ***! \*****************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ \"./node_modules/codemirror/lib/codemirror.js\"));\n else {}\n})(function(CodeMirror) {\n\"use strict\";\n\nCodeMirror.defineMode('shell', function() {\n\n var words = {};\n function define(style, dict) {\n for(var i = 0; i < dict.length; i++) {\n words[dict[i]] = style;\n }\n };\n\n var commonAtoms = [\"true\", \"false\"];\n var commonKeywords = [\"if\", \"then\", \"do\", \"else\", \"elif\", \"while\", \"until\", \"for\", \"in\", \"esac\", \"fi\",\n \"fin\", \"fil\", \"done\", \"exit\", \"set\", \"unset\", \"export\", \"function\"];\n var commonCommands = [\"ab\", \"awk\", \"bash\", \"beep\", \"cat\", \"cc\", \"cd\", \"chown\", \"chmod\", \"chroot\", \"clear\",\n \"cp\", \"curl\", \"cut\", \"diff\", \"echo\", \"find\", \"gawk\", \"gcc\", \"get\", \"git\", \"grep\", \"hg\", \"kill\", \"killall\",\n \"ln\", \"ls\", \"make\", \"mkdir\", \"openssl\", \"mv\", \"nc\", \"nl\", \"node\", \"npm\", \"ping\", \"ps\", \"restart\", \"rm\",\n \"rmdir\", \"sed\", \"service\", \"sh\", \"shopt\", \"shred\", \"source\", \"sort\", \"sleep\", \"ssh\", \"start\", \"stop\",\n \"su\", \"sudo\", \"svn\", \"tee\", \"telnet\", \"top\", \"touch\", \"vi\", \"vim\", \"wall\", \"wc\", \"wget\", \"who\", \"write\",\n \"yes\", \"zsh\"];\n\n CodeMirror.registerHelper(\"hintWords\", \"shell\", commonAtoms.concat(commonKeywords, commonCommands));\n\n define('atom', commonAtoms);\n define('keyword', commonKeywords);\n define('builtin', commonCommands);\n\n function tokenBase(stream, state) {\n if (stream.eatSpace()) return null;\n\n var sol = stream.sol();\n var ch = stream.next();\n\n if (ch === '\\\\') {\n stream.next();\n return null;\n }\n if (ch === '\\'' || ch === '\"' || ch === '`') {\n state.tokens.unshift(tokenString(ch, ch === \"`\" ? \"quote\" : \"string\"));\n return tokenize(stream, state);\n }\n if (ch === '#') {\n if (sol && stream.eat('!')) {\n stream.skipToEnd();\n return 'meta'; // 'comment'?\n }\n stream.skipToEnd();\n return 'comment';\n }\n if (ch === '$') {\n state.tokens.unshift(tokenDollar);\n return tokenize(stream, state);\n }\n if (ch === '+' || ch === '=') {\n return 'operator';\n }\n if (ch === '-') {\n stream.eat('-');\n stream.eatWhile(/\\w/);\n return 'attribute';\n }\n if (/\\d/.test(ch)) {\n stream.eatWhile(/\\d/);\n if(stream.eol() || !/\\w/.test(stream.peek())) {\n return 'number';\n }\n }\n stream.eatWhile(/[\\w-]/);\n var cur = stream.current();\n if (stream.peek() === '=' && /\\w+/.test(cur)) return 'def';\n return words.hasOwnProperty(cur) ? words[cur] : null;\n }\n\n function tokenString(quote, style) {\n var close = quote == \"(\" ? \")\" : quote == \"{\" ? \"}\" : quote\n return function(stream, state) {\n var next, escaped = false;\n while ((next = stream.next()) != null) {\n if (next === close && !escaped) {\n state.tokens.shift();\n break;\n } else if (next === '$' && !escaped && quote !== \"'\" && stream.peek() != close) {\n escaped = true;\n stream.backUp(1);\n state.tokens.unshift(tokenDollar);\n break;\n } else if (!escaped && quote !== close && next === quote) {\n state.tokens.unshift(tokenString(quote, style))\n return tokenize(stream, state)\n } else if (!escaped && /['\"]/.test(next) && !/['\"]/.test(quote)) {\n state.tokens.unshift(tokenStringStart(next, \"string\"));\n stream.backUp(1);\n break;\n }\n escaped = !escaped && next === '\\\\';\n }\n return style;\n };\n };\n\n function tokenStringStart(quote, style) {\n return function(stream, state) {\n state.tokens[0] = tokenString(quote, style)\n stream.next()\n return tokenize(stream, state)\n }\n }\n\n var tokenDollar = function(stream, state) {\n if (state.tokens.length > 1) stream.eat('$');\n var ch = stream.next()\n if (/['\"({]/.test(ch)) {\n state.tokens[0] = tokenString(ch, ch == \"(\" ? \"quote\" : ch == \"{\" ? \"def\" : \"string\");\n return tokenize(stream, state);\n }\n if (!/\\d/.test(ch)) stream.eatWhile(/\\w/);\n state.tokens.shift();\n return 'def';\n };\n\n function tokenize(stream, state) {\n return (state.tokens[0] || tokenBase) (stream, state);\n };\n\n return {\n startState: function() {return {tokens:[]};},\n token: function(stream, state) {\n return tokenize(stream, state);\n },\n closeBrackets: \"()[]{}''\\\"\\\"``\",\n lineComment: '#',\n fold: \"brace\"\n };\n});\n\nCodeMirror.defineMIME('text/x-sh', 'shell');\n// Apache uses a slightly different Media Type for Shell scripts\n// http://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types\nCodeMirror.defineMIME('application/x-sh', 'shell');\n\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9tb2RlL3NoZWxsL3NoZWxsLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvZGVtaXJyb3IvbW9kZS9zaGVsbC9zaGVsbC5qcz8wMmYwIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIENvZGVNaXJyb3IsIGNvcHlyaWdodCAoYykgYnkgTWFyaWpuIEhhdmVyYmVrZSBhbmQgb3RoZXJzXG4vLyBEaXN0cmlidXRlZCB1bmRlciBhbiBNSVQgbGljZW5zZTogaHR0cHM6Ly9jb2RlbWlycm9yLm5ldC9MSUNFTlNFXG5cbihmdW5jdGlvbihtb2QpIHtcbiAgaWYgKHR5cGVvZiBleHBvcnRzID09IFwib2JqZWN0XCIgJiYgdHlwZW9mIG1vZHVsZSA9PSBcIm9iamVjdFwiKSAvLyBDb21tb25KU1xuICAgIG1vZChyZXF1aXJlKFwiLi4vLi4vbGliL2NvZGVtaXJyb3JcIikpO1xuICBlbHNlIGlmICh0eXBlb2YgZGVmaW5lID09IFwiZnVuY3Rpb25cIiAmJiBkZWZpbmUuYW1kKSAvLyBBTURcbiAgICBkZWZpbmUoW1wiLi4vLi4vbGliL2NvZGVtaXJyb3JcIl0sIG1vZCk7XG4gIGVsc2UgLy8gUGxhaW4gYnJvd3NlciBlbnZcbiAgICBtb2QoQ29kZU1pcnJvcik7XG59KShmdW5jdGlvbihDb2RlTWlycm9yKSB7XG5cInVzZSBzdHJpY3RcIjtcblxuQ29kZU1pcnJvci5kZWZpbmVNb2RlKCdzaGVsbCcsIGZ1bmN0aW9uKCkge1xuXG4gIHZhciB3b3JkcyA9IHt9O1xuICBmdW5jdGlvbiBkZWZpbmUoc3R5bGUsIGRpY3QpIHtcbiAgICBmb3IodmFyIGkgPSAwOyBpIDwgZGljdC5sZW5ndGg7IGkrKykge1xuICAgICAgd29yZHNbZGljdFtpXV0gPSBzdHlsZTtcbiAgICB9XG4gIH07XG5cbiAgdmFyIGNvbW1vbkF0b21zID0gW1widHJ1ZVwiLCBcImZhbHNlXCJdO1xuICB2YXIgY29tbW9uS2V5d29yZHMgPSBbXCJpZlwiLCBcInRoZW5cIiwgXCJkb1wiLCBcImVsc2VcIiwgXCJlbGlmXCIsIFwid2hpbGVcIiwgXCJ1bnRpbFwiLCBcImZvclwiLCBcImluXCIsIFwiZXNhY1wiLCBcImZpXCIsXG4gICAgXCJmaW5cIiwgXCJmaWxcIiwgXCJkb25lXCIsIFwiZXhpdFwiLCBcInNldFwiLCBcInVuc2V0XCIsIFwiZXhwb3J0XCIsIFwiZnVuY3Rpb25cIl07XG4gIHZhciBjb21tb25Db21tYW5kcyA9IFtcImFiXCIsIFwiYXdrXCIsIFwiYmFzaFwiLCBcImJlZXBcIiwgXCJjYXRcIiwgXCJjY1wiLCBcImNkXCIsIFwiY2hvd25cIiwgXCJjaG1vZFwiLCBcImNocm9vdFwiLCBcImNsZWFyXCIsXG4gICAgXCJjcFwiLCBcImN1cmxcIiwgXCJjdXRcIiwgXCJkaWZmXCIsIFwiZWNob1wiLCBcImZpbmRcIiwgXCJnYXdrXCIsIFwiZ2NjXCIsIFwiZ2V0XCIsIFwiZ2l0XCIsIFwiZ3JlcFwiLCBcImhnXCIsIFwia2lsbFwiLCBcImtpbGxhbGxcIixcbiAgICBcImxuXCIsIFwibHNcIiwgXCJtYWtlXCIsIFwibWtkaXJcIiwgXCJvcGVuc3NsXCIsIFwibXZcIiwgXCJuY1wiLCBcIm5sXCIsIFwibm9kZVwiLCBcIm5wbVwiLCBcInBpbmdcIiwgXCJwc1wiLCBcInJlc3RhcnRcIiwgXCJybVwiLFxuICAgIFwicm1kaXJcIiwgXCJzZWRcIiwgXCJzZXJ2aWNlXCIsIFwic2hcIiwgXCJzaG9wdFwiLCBcInNocmVkXCIsIFwic291cmNlXCIsIFwic29ydFwiLCBcInNsZWVwXCIsIFwic3NoXCIsIFwic3RhcnRcIiwgXCJzdG9wXCIsXG4gICAgXCJzdVwiLCBcInN1ZG9cIiwgXCJzdm5cIiwgXCJ0ZWVcIiwgXCJ0ZWxuZXRcIiwgXCJ0b3BcIiwgXCJ0b3VjaFwiLCBcInZpXCIsIFwidmltXCIsIFwid2FsbFwiLCBcIndjXCIsIFwid2dldFwiLCBcIndob1wiLCBcIndyaXRlXCIsXG4gICAgXCJ5ZXNcIiwgXCJ6c2hcIl07XG5cbiAgQ29kZU1pcnJvci5yZWdpc3RlckhlbHBlcihcImhpbnRXb3Jkc1wiLCBcInNoZWxsXCIsIGNvbW1vbkF0b21zLmNvbmNhdChjb21tb25LZXl3b3JkcywgY29tbW9uQ29tbWFuZHMpKTtcblxuICBkZWZpbmUoJ2F0b20nLCBjb21tb25BdG9tcyk7XG4gIGRlZmluZSgna2V5d29yZCcsIGNvbW1vbktleXdvcmRzKTtcbiAgZGVmaW5lKCdidWlsdGluJywgY29tbW9uQ29tbWFuZHMpO1xuXG4gIGZ1bmN0aW9uIHRva2VuQmFzZShzdHJlYW0sIHN0YXRlKSB7XG4gICAgaWYgKHN0cmVhbS5lYXRTcGFjZSgpKSByZXR1cm4gbnVsbDtcblxuICAgIHZhciBzb2wgPSBzdHJlYW0uc29sKCk7XG4gICAgdmFyIGNoID0gc3RyZWFtLm5leHQoKTtcblxuICAgIGlmIChjaCA9PT0gJ1xcXFwnKSB7XG4gICAgICBzdHJlYW0ubmV4dCgpO1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIGlmIChjaCA9PT0gJ1xcJycgfHwgY2ggPT09ICdcIicgfHwgY2ggPT09ICdgJykge1xuICAgICAgc3RhdGUudG9rZW5zLnVuc2hpZnQodG9rZW5TdHJpbmcoY2gsIGNoID09PSBcImBcIiA/IFwicXVvdGVcIiA6IFwic3RyaW5nXCIpKTtcbiAgICAgIHJldHVybiB0b2tlbml6ZShzdHJlYW0sIHN0YXRlKTtcbiAgICB9XG4gICAgaWYgKGNoID09PSAnIycpIHtcbiAgICAgIGlmIChzb2wgJiYgc3RyZWFtLmVhdCgnIScpKSB7XG4gICAgICAgIHN0cmVhbS5za2lwVG9FbmQoKTtcbiAgICAgICAgcmV0dXJuICdtZXRhJzsgLy8gJ2NvbW1lbnQnP1xuICAgICAgfVxuICAgICAgc3RyZWFtLnNraXBUb0VuZCgpO1xuICAgICAgcmV0dXJuICdjb21tZW50JztcbiAgICB9XG4gICAgaWYgKGNoID09PSAnJCcpIHtcbiAgICAgIHN0YXRlLnRva2Vucy51bnNoaWZ0KHRva2VuRG9sbGFyKTtcbiAgICAgIHJldHVybiB0b2tlbml6ZShzdHJlYW0sIHN0YXRlKTtcbiAgICB9XG4gICAgaWYgKGNoID09PSAnKycgfHwgY2ggPT09ICc9Jykge1xuICAgICAgcmV0dXJuICdvcGVyYXRvcic7XG4gICAgfVxuICAgIGlmIChjaCA9PT0gJy0nKSB7XG4gICAgICBzdHJlYW0uZWF0KCctJyk7XG4gICAgICBzdHJlYW0uZWF0V2hpbGUoL1xcdy8pO1xuICAgICAgcmV0dXJuICdhdHRyaWJ1dGUnO1xuICAgIH1cbiAgICBpZiAoL1xcZC8udGVzdChjaCkpIHtcbiAgICAgIHN0cmVhbS5lYXRXaGlsZSgvXFxkLyk7XG4gICAgICBpZihzdHJlYW0uZW9sKCkgfHwgIS9cXHcvLnRlc3Qoc3RyZWFtLnBlZWsoKSkpIHtcbiAgICAgICAgcmV0dXJuICdudW1iZXInO1xuICAgICAgfVxuICAgIH1cbiAgICBzdHJlYW0uZWF0V2hpbGUoL1tcXHctXS8pO1xuICAgIHZhciBjdXIgPSBzdHJlYW0uY3VycmVudCgpO1xuICAgIGlmIChzdHJlYW0ucGVlaygpID09PSAnPScgJiYgL1xcdysvLnRlc3QoY3VyKSkgcmV0dXJuICdkZWYnO1xuICAgIHJldHVybiB3b3Jkcy5oYXNPd25Qcm9wZXJ0eShjdXIpID8gd29yZHNbY3VyXSA6IG51bGw7XG4gIH1cblxuICBmdW5jdGlvbiB0b2tlblN0cmluZyhxdW90ZSwgc3R5bGUpIHtcbiAgICB2YXIgY2xvc2UgPSBxdW90ZSA9PSBcIihcIiA/IFwiKVwiIDogcXVvdGUgPT0gXCJ7XCIgPyBcIn1cIiA6IHF1b3RlXG4gICAgcmV0dXJuIGZ1bmN0aW9uKHN0cmVhbSwgc3RhdGUpIHtcbiAgICAgIHZhciBuZXh0LCBlc2NhcGVkID0gZmFsc2U7XG4gICAgICB3aGlsZSAoKG5leHQgPSBzdHJlYW0ubmV4dCgpKSAhPSBudWxsKSB7XG4gICAgICAgIGlmIChuZXh0ID09PSBjbG9zZSAmJiAhZXNjYXBlZCkge1xuICAgICAgICAgIHN0YXRlLnRva2Vucy5zaGlmdCgpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9IGVsc2UgaWYgKG5leHQgPT09ICckJyAmJiAhZXNjYXBlZCAmJiBxdW90ZSAhPT0gXCInXCIgJiYgc3RyZWFtLnBlZWsoKSAhPSBjbG9zZSkge1xuICAgICAgICAgIGVzY2FwZWQgPSB0cnVlO1xuICAgICAgICAgIHN0cmVhbS5iYWNrVXAoMSk7XG4gICAgICAgICAgc3RhdGUudG9rZW5zLnVuc2hpZnQodG9rZW5Eb2xsYXIpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9IGVsc2UgaWYgKCFlc2NhcGVkICYmIHF1b3RlICE9PSBjbG9zZSAmJiBuZXh0ID09PSBxdW90ZSkge1xuICAgICAgICAgIHN0YXRlLnRva2Vucy51bnNoaWZ0KHRva2VuU3RyaW5nKHF1b3RlLCBzdHlsZSkpXG4gICAgICAgICAgcmV0dXJuIHRva2VuaXplKHN0cmVhbSwgc3RhdGUpXG4gICAgICAgIH0gZWxzZSBpZiAoIWVzY2FwZWQgJiYgL1snXCJdLy50ZXN0KG5leHQpICYmICEvWydcIl0vLnRlc3QocXVvdGUpKSB7XG4gICAgICAgICAgc3RhdGUudG9rZW5zLnVuc2hpZnQodG9rZW5TdHJpbmdTdGFydChuZXh0LCBcInN0cmluZ1wiKSk7XG4gICAgICAgICAgc3RyZWFtLmJhY2tVcCgxKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBlc2NhcGVkID0gIWVzY2FwZWQgJiYgbmV4dCA9PT0gJ1xcXFwnO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHN0eWxlO1xuICAgIH07XG4gIH07XG5cbiAgZnVuY3Rpb24gdG9rZW5TdHJpbmdTdGFydChxdW90ZSwgc3R5bGUpIHtcbiAgICByZXR1cm4gZnVuY3Rpb24oc3RyZWFtLCBzdGF0ZSkge1xuICAgICAgc3RhdGUudG9rZW5zWzBdID0gdG9rZW5TdHJpbmcocXVvdGUsIHN0eWxlKVxuICAgICAgc3RyZWFtLm5leHQoKVxuICAgICAgcmV0dXJuIHRva2VuaXplKHN0cmVhbSwgc3RhdGUpXG4gICAgfVxuICB9XG5cbiAgdmFyIHRva2VuRG9sbGFyID0gZnVuY3Rpb24oc3RyZWFtLCBzdGF0ZSkge1xuICAgIGlmIChzdGF0ZS50b2tlbnMubGVuZ3RoID4gMSkgc3RyZWFtLmVhdCgnJCcpO1xuICAgIHZhciBjaCA9IHN0cmVhbS5uZXh0KClcbiAgICBpZiAoL1snXCIoe10vLnRlc3QoY2gpKSB7XG4gICAgICBzdGF0ZS50b2tlbnNbMF0gPSB0b2tlblN0cmluZyhjaCwgY2ggPT0gXCIoXCIgPyBcInF1b3RlXCIgOiBjaCA9PSBcIntcIiA/IFwiZGVmXCIgOiBcInN0cmluZ1wiKTtcbiAgICAgIHJldHVybiB0b2tlbml6ZShzdHJlYW0sIHN0YXRlKTtcbiAgICB9XG4gICAgaWYgKCEvXFxkLy50ZXN0KGNoKSkgc3RyZWFtLmVhdFdoaWxlKC9cXHcvKTtcbiAgICBzdGF0ZS50b2tlbnMuc2hpZnQoKTtcbiAgICByZXR1cm4gJ2RlZic7XG4gIH07XG5cbiAgZnVuY3Rpb24gdG9rZW5pemUoc3RyZWFtLCBzdGF0ZSkge1xuICAgIHJldHVybiAoc3RhdGUudG9rZW5zWzBdIHx8IHRva2VuQmFzZSkgKHN0cmVhbSwgc3RhdGUpO1xuICB9O1xuXG4gIHJldHVybiB7XG4gICAgc3RhcnRTdGF0ZTogZnVuY3Rpb24oKSB7cmV0dXJuIHt0b2tlbnM6W119O30sXG4gICAgdG9rZW46IGZ1bmN0aW9uKHN0cmVhbSwgc3RhdGUpIHtcbiAgICAgIHJldHVybiB0b2tlbml6ZShzdHJlYW0sIHN0YXRlKTtcbiAgICB9LFxuICAgIGNsb3NlQnJhY2tldHM6IFwiKClbXXt9JydcXFwiXFxcImBgXCIsXG4gICAgbGluZUNvbW1lbnQ6ICcjJyxcbiAgICBmb2xkOiBcImJyYWNlXCJcbiAgfTtcbn0pO1xuXG5Db2RlTWlycm9yLmRlZmluZU1JTUUoJ3RleHQveC1zaCcsICdzaGVsbCcpO1xuLy8gQXBhY2hlIHVzZXMgYSBzbGlnaHRseSBkaWZmZXJlbnQgTWVkaWEgVHlwZSBmb3IgU2hlbGwgc2NyaXB0c1xuLy8gaHR0cDovL3N2bi5hcGFjaGUub3JnL3JlcG9zL2FzZi9odHRwZC9odHRwZC90cnVuay9kb2NzL2NvbmYvbWltZS50eXBlc1xuQ29kZU1pcnJvci5kZWZpbmVNSU1FKCdhcHBsaWNhdGlvbi94LXNoJywgJ3NoZWxsJyk7XG5cbn0pO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/codemirror/mode/shell/shell.js\n"); /***/ }), /***/ "./node_modules/codemirror/mode/sql/sql.js": /*!*************************************************!*\ !*** ./node_modules/codemirror/mode/sql/sql.js ***! \*************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ \"./node_modules/codemirror/lib/codemirror.js\"));\n else {}\n})(function(CodeMirror) {\n\"use strict\";\n\nCodeMirror.defineMode(\"sql\", function(config, parserConfig) {\n var client = parserConfig.client || {},\n atoms = parserConfig.atoms || {\"false\": true, \"true\": true, \"null\": true},\n builtin = parserConfig.builtin || set(defaultBuiltin),\n keywords = parserConfig.keywords || set(sqlKeywords),\n operatorChars = parserConfig.operatorChars || /^[*+\\-%<>!=&|~^\\/]/,\n support = parserConfig.support || {},\n hooks = parserConfig.hooks || {},\n dateSQL = parserConfig.dateSQL || {\"date\" : true, \"time\" : true, \"timestamp\" : true},\n backslashStringEscapes = parserConfig.backslashStringEscapes !== false,\n brackets = parserConfig.brackets || /^[\\{}\\(\\)\\[\\]]/,\n punctuation = parserConfig.punctuation || /^[;.,:]/\n\n function tokenBase(stream, state) {\n var ch = stream.next();\n\n // call hooks from the mime type\n if (hooks[ch]) {\n var result = hooks[ch](stream, state);\n if (result !== false) return result;\n }\n\n if (support.hexNumber &&\n ((ch == \"0\" && stream.match(/^[xX][0-9a-fA-F]+/))\n || (ch == \"x\" || ch == \"X\") && stream.match(/^'[0-9a-fA-F]+'/))) {\n // hex\n // ref: http://dev.mysql.com/doc/refman/5.5/en/hexadecimal-literals.html\n return \"number\";\n } else if (support.binaryNumber &&\n (((ch == \"b\" || ch == \"B\") && stream.match(/^'[01]+'/))\n || (ch == \"0\" && stream.match(/^b[01]+/)))) {\n // bitstring\n // ref: http://dev.mysql.com/doc/refman/5.5/en/bit-field-literals.html\n return \"number\";\n } else if (ch.charCodeAt(0) > 47 && ch.charCodeAt(0) < 58) {\n // numbers\n // ref: http://dev.mysql.com/doc/refman/5.5/en/number-literals.html\n stream.match(/^[0-9]*(\\.[0-9]+)?([eE][-+]?[0-9]+)?/);\n support.decimallessFloat && stream.match(/^\\.(?!\\.)/);\n return \"number\";\n } else if (ch == \"?\" && (stream.eatSpace() || stream.eol() || stream.eat(\";\"))) {\n // placeholders\n return \"variable-3\";\n } else if (ch == \"'\" || (ch == '\"' && support.doubleQuote)) {\n // strings\n // ref: http://dev.mysql.com/doc/refman/5.5/en/string-literals.html\n state.tokenize = tokenLiteral(ch);\n return state.tokenize(stream, state);\n } else if ((((support.nCharCast && (ch == \"n\" || ch == \"N\"))\n || (support.charsetCast && ch == \"_\" && stream.match(/[a-z][a-z0-9]*/i)))\n && (stream.peek() == \"'\" || stream.peek() == '\"'))) {\n // charset casting: _utf8'str', N'str', n'str'\n // ref: http://dev.mysql.com/doc/refman/5.5/en/string-literals.html\n return \"keyword\";\n } else if (support.commentSlashSlash && ch == \"/\" && stream.eat(\"/\")) {\n // 1-line comment\n stream.skipToEnd();\n return \"comment\";\n } else if ((support.commentHash && ch == \"#\")\n || (ch == \"-\" && stream.eat(\"-\") && (!support.commentSpaceRequired || stream.eat(\" \")))) {\n // 1-line comments\n // ref: https://kb.askmonty.org/en/comment-syntax/\n stream.skipToEnd();\n return \"comment\";\n } else if (ch == \"/\" && stream.eat(\"*\")) {\n // multi-line comments\n // ref: https://kb.askmonty.org/en/comment-syntax/\n state.tokenize = tokenComment(1);\n return state.tokenize(stream, state);\n } else if (ch == \".\") {\n // .1 for 0.1\n if (support.zerolessFloat && stream.match(/^(?:\\d+(?:e[+-]?\\d+)?)/i))\n return \"number\";\n if (stream.match(/^\\.+/))\n return null\n // .table_name (ODBC)\n // // ref: http://dev.mysql.com/doc/refman/5.6/en/identifier-qualifiers.html\n if (support.ODBCdotTable && stream.match(/^[\\w\\d_]+/))\n return \"variable-2\";\n } else if (operatorChars.test(ch)) {\n // operators\n stream.eatWhile(operatorChars);\n return \"operator\";\n } else if (brackets.test(ch)) {\n // brackets\n return \"bracket\";\n } else if (punctuation.test(ch)) {\n // punctuation\n stream.eatWhile(punctuation);\n return \"punctuation\";\n } else if (ch == '{' &&\n (stream.match(/^( )*(d|D|t|T|ts|TS)( )*'[^']*'( )*}/) || stream.match(/^( )*(d|D|t|T|ts|TS)( )*\"[^\"]*\"( )*}/))) {\n // dates (weird ODBC syntax)\n // ref: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-literals.html\n return \"number\";\n } else {\n stream.eatWhile(/^[_\\w\\d]/);\n var word = stream.current().toLowerCase();\n // dates (standard SQL syntax)\n // ref: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-literals.html\n if (dateSQL.hasOwnProperty(word) && (stream.match(/^( )+'[^']*'/) || stream.match(/^( )+\"[^\"]*\"/)))\n return \"number\";\n if (atoms.hasOwnProperty(word)) return \"atom\";\n if (builtin.hasOwnProperty(word)) return \"builtin\";\n if (keywords.hasOwnProperty(word)) return \"keyword\";\n if (client.hasOwnProperty(word)) return \"string-2\";\n return null;\n }\n }\n\n // 'string', with char specified in quote escaped by '\\'\n function tokenLiteral(quote) {\n return function(stream, state) {\n var escaped = false, ch;\n while ((ch = stream.next()) != null) {\n if (ch == quote && !escaped) {\n state.tokenize = tokenBase;\n break;\n }\n escaped = backslashStringEscapes && !escaped && ch == \"\\\\\";\n }\n return \"string\";\n };\n }\n function tokenComment(depth) {\n return function(stream, state) {\n var m = stream.match(/^.*?(\\/\\*|\\*\\/)/)\n if (!m) stream.skipToEnd()\n else if (m[1] == \"/*\") state.tokenize = tokenComment(depth + 1)\n else if (depth > 1) state.tokenize = tokenComment(depth - 1)\n else state.tokenize = tokenBase\n return \"comment\"\n }\n }\n\n function pushContext(stream, state, type) {\n state.context = {\n prev: state.context,\n indent: stream.indentation(),\n col: stream.column(),\n type: type\n };\n }\n\n function popContext(state) {\n state.indent = state.context.indent;\n state.context = state.context.prev;\n }\n\n return {\n startState: function() {\n return {tokenize: tokenBase, context: null};\n },\n\n token: function(stream, state) {\n if (stream.sol()) {\n if (state.context && state.context.align == null)\n state.context.align = false;\n }\n if (state.tokenize == tokenBase && stream.eatSpace()) return null;\n\n var style = state.tokenize(stream, state);\n if (style == \"comment\") return style;\n\n if (state.context && state.context.align == null)\n state.context.align = true;\n\n var tok = stream.current();\n if (tok == \"(\")\n pushContext(stream, state, \")\");\n else if (tok == \"[\")\n pushContext(stream, state, \"]\");\n else if (state.context && state.context.type == tok)\n popContext(state);\n return style;\n },\n\n indent: function(state, textAfter) {\n var cx = state.context;\n if (!cx) return CodeMirror.Pass;\n var closing = textAfter.charAt(0) == cx.type;\n if (cx.align) return cx.col + (closing ? 0 : 1);\n else return cx.indent + (closing ? 0 : config.indentUnit);\n },\n\n blockCommentStart: \"/*\",\n blockCommentEnd: \"*/\",\n lineComment: support.commentSlashSlash ? \"//\" : support.commentHash ? \"#\" : \"--\",\n closeBrackets: \"()[]{}''\\\"\\\"``\"\n };\n});\n\n // `identifier`\n function hookIdentifier(stream) {\n // MySQL/MariaDB identifiers\n // ref: http://dev.mysql.com/doc/refman/5.6/en/identifier-qualifiers.html\n var ch;\n while ((ch = stream.next()) != null) {\n if (ch == \"`\" && !stream.eat(\"`\")) return \"variable-2\";\n }\n stream.backUp(stream.current().length - 1);\n return stream.eatWhile(/\\w/) ? \"variable-2\" : null;\n }\n\n // \"identifier\"\n function hookIdentifierDoublequote(stream) {\n // Standard SQL /SQLite identifiers\n // ref: http://web.archive.org/web/20160813185132/http://savage.net.au/SQL/sql-99.bnf.html#delimited%20identifier\n // ref: http://sqlite.org/lang_keywords.html\n var ch;\n while ((ch = stream.next()) != null) {\n if (ch == \"\\\"\" && !stream.eat(\"\\\"\")) return \"variable-2\";\n }\n stream.backUp(stream.current().length - 1);\n return stream.eatWhile(/\\w/) ? \"variable-2\" : null;\n }\n\n // variable token\n function hookVar(stream) {\n // variables\n // @@prefix.varName @varName\n // varName can be quoted with ` or ' or \"\n // ref: http://dev.mysql.com/doc/refman/5.5/en/user-variables.html\n if (stream.eat(\"@\")) {\n stream.match(/^session\\./);\n stream.match(/^local\\./);\n stream.match(/^global\\./);\n }\n\n if (stream.eat(\"'\")) {\n stream.match(/^.*'/);\n return \"variable-2\";\n } else if (stream.eat('\"')) {\n stream.match(/^.*\"/);\n return \"variable-2\";\n } else if (stream.eat(\"`\")) {\n stream.match(/^.*`/);\n return \"variable-2\";\n } else if (stream.match(/^[0-9a-zA-Z$\\.\\_]+/)) {\n return \"variable-2\";\n }\n return null;\n };\n\n // short client keyword token\n function hookClient(stream) {\n // \\N means NULL\n // ref: http://dev.mysql.com/doc/refman/5.5/en/null-values.html\n if (stream.eat(\"N\")) {\n return \"atom\";\n }\n // \\g, etc\n // ref: http://dev.mysql.com/doc/refman/5.5/en/mysql-commands.html\n return stream.match(/^[a-zA-Z.#!?]/) ? \"variable-2\" : null;\n }\n\n // these keywords are used by all SQL dialects (however, a mode can still overwrite it)\n var sqlKeywords = \"alter and as asc between by count create delete desc distinct drop from group having in insert into is join like not on or order select set table union update values where limit \";\n\n // turn a space-separated list into an array\n function set(str) {\n var obj = {}, words = str.split(\" \");\n for (var i = 0; i < words.length; ++i) obj[words[i]] = true;\n return obj;\n }\n\n var defaultBuiltin = \"bool boolean bit blob enum long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text bigint int int1 int2 int3 int4 int8 integer float float4 float8 double char varbinary varchar varcharacter precision real date datetime year unsigned signed decimal numeric\"\n\n // A generic SQL Mode. It's not a standard, it just try to support what is generally supported\n CodeMirror.defineMIME(\"text/x-sql\", {\n name: \"sql\",\n keywords: set(sqlKeywords + \"begin\"),\n builtin: set(defaultBuiltin),\n atoms: set(\"false true null unknown\"),\n dateSQL: set(\"date time timestamp\"),\n support: set(\"ODBCdotTable doubleQuote binaryNumber hexNumber\")\n });\n\n CodeMirror.defineMIME(\"text/x-mssql\", {\n name: \"sql\",\n client: set(\"$partition binary_checksum checksum connectionproperty context_info current_request_id error_line error_message error_number error_procedure error_severity error_state formatmessage get_filestream_transaction_context getansinull host_id host_name isnull isnumeric min_active_rowversion newid newsequentialid rowcount_big xact_state object_id\"),\n keywords: set(sqlKeywords + \"begin trigger proc view index for add constraint key primary foreign collate clustered nonclustered declare exec go if use index holdlock nolock nowait paglock readcommitted readcommittedlock readpast readuncommitted repeatableread rowlock serializable snapshot tablock tablockx updlock with\"),\n builtin: set(\"bigint numeric bit smallint decimal smallmoney int tinyint money float real char varchar text nchar nvarchar ntext binary varbinary image cursor timestamp hierarchyid uniqueidentifier sql_variant xml table \"),\n atoms: set(\"is not null like and or in left right between inner outer join all any some cross unpivot pivot exists\"),\n operatorChars: /^[*+\\-%<>!=^\\&|\\/]/,\n brackets: /^[\\{}\\(\\)]/,\n punctuation: /^[;.,:/]/,\n backslashStringEscapes: false,\n dateSQL: set(\"date datetimeoffset datetime2 smalldatetime datetime time\"),\n hooks: {\n \"@\": hookVar\n }\n });\n\n CodeMirror.defineMIME(\"text/x-mysql\", {\n name: \"sql\",\n client: set(\"charset clear connect edit ego exit go help nopager notee nowarning pager print prompt quit rehash source status system tee\"),\n keywords: set(sqlKeywords + \"accessible action add after algorithm all analyze asensitive at authors auto_increment autocommit avg avg_row_length before binary binlog both btree cache call cascade cascaded case catalog_name chain change changed character check checkpoint checksum class_origin client_statistics close coalesce code collate collation collations column columns comment commit committed completion concurrent condition connection consistent constraint contains continue contributors convert cross current current_date current_time current_timestamp current_user cursor data database databases day_hour day_microsecond day_minute day_second deallocate dec declare default delay_key_write delayed delimiter des_key_file describe deterministic dev_pop dev_samp deviance diagnostics directory disable discard distinctrow div dual dumpfile each elseif enable enclosed end ends engine engines enum errors escape escaped even event events every execute exists exit explain extended fast fetch field fields first flush for force foreign found_rows full fulltext function general get global grant grants group group_concat handler hash help high_priority hosts hour_microsecond hour_minute hour_second if ignore ignore_server_ids import index index_statistics infile inner innodb inout insensitive insert_method install interval invoker isolation iterate key keys kill language last leading leave left level limit linear lines list load local localtime localtimestamp lock logs low_priority master master_heartbeat_period master_ssl_verify_server_cert masters match max max_rows maxvalue message_text middleint migrate min min_rows minute_microsecond minute_second mod mode modifies modify mutex mysql_errno natural next no no_write_to_binlog offline offset one online open optimize option optionally out outer outfile pack_keys parser partition partitions password phase plugin plugins prepare preserve prev primary privileges procedure processlist profile profiles purge query quick range read read_write reads real rebuild recover references regexp relaylog release remove rename reorganize repair repeatable replace require resignal restrict resume return returns revoke right rlike rollback rollup row row_format rtree savepoint schedule schema schema_name schemas second_microsecond security sensitive separator serializable server session share show signal slave slow smallint snapshot soname spatial specific sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_no_cache sql_small_result sqlexception sqlstate sqlwarning ssl start starting starts status std stddev stddev_pop stddev_samp storage straight_join subclass_origin sum suspend table_name table_statistics tables tablespace temporary terminated to trailing transaction trigger triggers truncate uncommitted undo uninstall unique unlock upgrade usage use use_frm user user_resources user_statistics using utc_date utc_time utc_timestamp value variables varying view views warnings when while with work write xa xor year_month zerofill begin do then else loop repeat\"),\n builtin: set(\"bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text bigint int int1 int2 int3 int4 int8 integer float float4 float8 double char varbinary varchar varcharacter precision date datetime year unsigned signed numeric\"),\n atoms: set(\"false true null unknown\"),\n operatorChars: /^[*+\\-%<>!=&|^]/,\n dateSQL: set(\"date time timestamp\"),\n support: set(\"ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber doubleQuote nCharCast charsetCast commentHash commentSpaceRequired\"),\n hooks: {\n \"@\": hookVar,\n \"`\": hookIdentifier,\n \"\\\\\": hookClient\n }\n });\n\n CodeMirror.defineMIME(\"text/x-mariadb\", {\n name: \"sql\",\n client: set(\"charset clear connect edit ego exit go help nopager notee nowarning pager print prompt quit rehash source status system tee\"),\n keywords: set(sqlKeywords + \"accessible action add after algorithm all always analyze asensitive at authors auto_increment autocommit avg avg_row_length before binary binlog both btree cache call cascade cascaded case catalog_name chain change changed character check checkpoint checksum class_origin client_statistics close coalesce code collate collation collations column columns comment commit committed completion concurrent condition connection consistent constraint contains continue contributors convert cross current current_date current_time current_timestamp current_user cursor data database databases day_hour day_microsecond day_minute day_second deallocate dec declare default delay_key_write delayed delimiter des_key_file describe deterministic dev_pop dev_samp deviance diagnostics directory disable discard distinctrow div dual dumpfile each elseif enable enclosed end ends engine engines enum errors escape escaped even event events every execute exists exit explain extended fast fetch field fields first flush for force foreign found_rows full fulltext function general generated get global grant grants group groupby_concat handler hard hash help high_priority hosts hour_microsecond hour_minute hour_second if ignore ignore_server_ids import index index_statistics infile inner innodb inout insensitive insert_method install interval invoker isolation iterate key keys kill language last leading leave left level limit linear lines list load local localtime localtimestamp lock logs low_priority master master_heartbeat_period master_ssl_verify_server_cert masters match max max_rows maxvalue message_text middleint migrate min min_rows minute_microsecond minute_second mod mode modifies modify mutex mysql_errno natural next no no_write_to_binlog offline offset one online open optimize option optionally out outer outfile pack_keys parser partition partitions password persistent phase plugin plugins prepare preserve prev primary privileges procedure processlist profile profiles purge query quick range read read_write reads real rebuild recover references regexp relaylog release remove rename reorganize repair repeatable replace require resignal restrict resume return returns revoke right rlike rollback rollup row row_format rtree savepoint schedule schema schema_name schemas second_microsecond security sensitive separator serializable server session share show shutdown signal slave slow smallint snapshot soft soname spatial specific sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_no_cache sql_small_result sqlexception sqlstate sqlwarning ssl start starting starts status std stddev stddev_pop stddev_samp storage straight_join subclass_origin sum suspend table_name table_statistics tables tablespace temporary terminated to trailing transaction trigger triggers truncate uncommitted undo uninstall unique unlock upgrade usage use use_frm user user_resources user_statistics using utc_date utc_time utc_timestamp value variables varying view views virtual warnings when while with work write xa xor year_month zerofill begin do then else loop repeat\"),\n builtin: set(\"bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text bigint int int1 int2 int3 int4 int8 integer float float4 float8 double char varbinary varchar varcharacter precision date datetime year unsigned signed numeric\"),\n atoms: set(\"false true null unknown\"),\n operatorChars: /^[*+\\-%<>!=&|^]/,\n dateSQL: set(\"date time timestamp\"),\n support: set(\"ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber doubleQuote nCharCast charsetCast commentHash commentSpaceRequired\"),\n hooks: {\n \"@\": hookVar,\n \"`\": hookIdentifier,\n \"\\\\\": hookClient\n }\n });\n\n // provided by the phpLiteAdmin project - phpliteadmin.org\n CodeMirror.defineMIME(\"text/x-sqlite\", {\n name: \"sql\",\n // commands of the official SQLite client, ref: https://www.sqlite.org/cli.html#dotcmd\n client: set(\"auth backup bail binary changes check clone databases dbinfo dump echo eqp exit explain fullschema headers help import imposter indexes iotrace limit lint load log mode nullvalue once open output print prompt quit read restore save scanstats schema separator session shell show stats system tables testcase timeout timer trace vfsinfo vfslist vfsname width\"),\n // ref: http://sqlite.org/lang_keywords.html\n keywords: set(sqlKeywords + \"abort action add after all analyze attach autoincrement before begin cascade case cast check collate column commit conflict constraint cross current_date current_time current_timestamp database default deferrable deferred detach each else end escape except exclusive exists explain fail for foreign full glob if ignore immediate index indexed initially inner instead intersect isnull key left limit match natural no notnull null of offset outer plan pragma primary query raise recursive references regexp reindex release rename replace restrict right rollback row savepoint temp temporary then to transaction trigger unique using vacuum view virtual when with without\"),\n // SQLite is weakly typed, ref: http://sqlite.org/datatype3.html. This is just a list of some common types.\n builtin: set(\"bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text clob bigint int int2 int8 integer float double char varchar date datetime year unsigned signed numeric real\"),\n // ref: http://sqlite.org/syntax/literal-value.html\n atoms: set(\"null current_date current_time current_timestamp\"),\n // ref: http://sqlite.org/lang_expr.html#binaryops\n operatorChars: /^[*+\\-%<>!=&|/~]/,\n // SQLite is weakly typed, ref: http://sqlite.org/datatype3.html. This is just a list of some common types.\n dateSQL: set(\"date time timestamp datetime\"),\n support: set(\"decimallessFloat zerolessFloat\"),\n identifierQuote: \"\\\"\", //ref: http://sqlite.org/lang_keywords.html\n hooks: {\n // bind-parameters ref:http://sqlite.org/lang_expr.html#varparam\n \"@\": hookVar,\n \":\": hookVar,\n \"?\": hookVar,\n \"$\": hookVar,\n // The preferred way to escape Identifiers is using double quotes, ref: http://sqlite.org/lang_keywords.html\n \"\\\"\": hookIdentifierDoublequote,\n // there is also support for backtics, ref: http://sqlite.org/lang_keywords.html\n \"`\": hookIdentifier\n }\n });\n\n // the query language used by Apache Cassandra is called CQL, but this mime type\n // is called Cassandra to avoid confusion with Contextual Query Language\n CodeMirror.defineMIME(\"text/x-cassandra\", {\n name: \"sql\",\n client: { },\n keywords: set(\"add all allow alter and any apply as asc authorize batch begin by clustering columnfamily compact consistency count create custom delete desc distinct drop each_quorum exists filtering from grant if in index insert into key keyspace keyspaces level limit local_one local_quorum modify nan norecursive nosuperuser not of on one order password permission permissions primary quorum rename revoke schema select set storage superuser table three to token truncate ttl two type unlogged update use user users using values where with writetime\"),\n builtin: set(\"ascii bigint blob boolean counter decimal double float frozen inet int list map static text timestamp timeuuid tuple uuid varchar varint\"),\n atoms: set(\"false true infinity NaN\"),\n operatorChars: /^[<>=]/,\n dateSQL: { },\n support: set(\"commentSlashSlash decimallessFloat\"),\n hooks: { }\n });\n\n // this is based on Peter Raganitsch's 'plsql' mode\n CodeMirror.defineMIME(\"text/x-plsql\", {\n name: \"sql\",\n client: set(\"appinfo arraysize autocommit autoprint autorecovery autotrace blockterminator break btitle cmdsep colsep compatibility compute concat copycommit copytypecheck define describe echo editfile embedded escape exec execute feedback flagger flush heading headsep instance linesize lno loboffset logsource long longchunksize markup native newpage numformat numwidth pagesize pause pno recsep recsepchar release repfooter repheader serveroutput shiftinout show showmode size spool sqlblanklines sqlcase sqlcode sqlcontinue sqlnumber sqlpluscompatibility sqlprefix sqlprompt sqlterminator suffix tab term termout time timing trimout trimspool ttitle underline verify version wrap\"),\n keywords: set(\"abort accept access add all alter and any array arraylen as asc assert assign at attributes audit authorization avg base_table begin between binary_integer body boolean by case cast char char_base check close cluster clusters colauth column comment commit compress connect connected constant constraint crash create current currval cursor data_base database date dba deallocate debugoff debugon decimal declare default definition delay delete desc digits dispose distinct do drop else elseif elsif enable end entry escape exception exception_init exchange exclusive exists exit external fast fetch file for force form from function generic goto grant group having identified if immediate in increment index indexes indicator initial initrans insert interface intersect into is key level library like limited local lock log logging long loop master maxextents maxtrans member minextents minus mislabel mode modify multiset new next no noaudit nocompress nologging noparallel not nowait number_base object of off offline on online only open option or order out package parallel partition pctfree pctincrease pctused pls_integer positive positiven pragma primary prior private privileges procedure public raise range raw read rebuild record ref references refresh release rename replace resource restrict return returning returns reverse revoke rollback row rowid rowlabel rownum rows run savepoint schema segment select separate session set share snapshot some space split sql start statement storage subtype successful synonym tabauth table tables tablespace task terminate then to trigger truncate type union unique unlimited unrecoverable unusable update use using validate value values variable view views when whenever where while with work\"),\n builtin: set(\"abs acos add_months ascii asin atan atan2 average bfile bfilename bigserial bit blob ceil character chartorowid chr clob concat convert cos cosh count dec decode deref dual dump dup_val_on_index empty error exp false float floor found glb greatest hextoraw initcap instr instrb int integer isopen last_day least length lengthb ln lower lpad ltrim lub make_ref max min mlslabel mod months_between natural naturaln nchar nclob new_time next_day nextval nls_charset_decl_len nls_charset_id nls_charset_name nls_initcap nls_lower nls_sort nls_upper nlssort no_data_found notfound null number numeric nvarchar2 nvl others power rawtohex real reftohex round rowcount rowidtochar rowtype rpad rtrim serial sign signtype sin sinh smallint soundex sqlcode sqlerrm sqrt stddev string substr substrb sum sysdate tan tanh to_char text to_date to_label to_multi_byte to_number to_single_byte translate true trunc uid unlogged upper user userenv varchar varchar2 variance varying vsize xml\"),\n operatorChars: /^[*\\/+\\-%<>!=~]/,\n dateSQL: set(\"date time timestamp\"),\n support: set(\"doubleQuote nCharCast zerolessFloat binaryNumber hexNumber\")\n });\n\n // Created to support specific hive keywords\n CodeMirror.defineMIME(\"text/x-hive\", {\n name: \"sql\",\n keywords: set(\"select alter $elem$ $key$ $value$ add after all analyze and archive as asc before between binary both bucket buckets by cascade case cast change cluster clustered clusterstatus collection column columns comment compute concatenate continue create cross cursor data database databases dbproperties deferred delete delimited desc describe directory disable distinct distribute drop else enable end escaped exclusive exists explain export extended external fetch fields fileformat first format formatted from full function functions grant group having hold_ddltime idxproperties if import in index indexes inpath inputdriver inputformat insert intersect into is items join keys lateral left like limit lines load local location lock locks mapjoin materialized minus msck no_drop nocompress not of offline on option or order out outer outputdriver outputformat overwrite partition partitioned partitions percent plus preserve procedure purge range rcfile read readonly reads rebuild recordreader recordwriter recover reduce regexp rename repair replace restrict revoke right rlike row schema schemas semi sequencefile serde serdeproperties set shared show show_database sort sorted ssl statistics stored streamtable table tables tablesample tblproperties temporary terminated textfile then tmp to touch transform trigger unarchive undo union uniquejoin unlock update use using utc utc_tmestamp view when where while with admin authorization char compact compactions conf cube current current_date current_timestamp day decimal defined dependency directories elem_type exchange file following for grouping hour ignore inner interval jar less logical macro minute month more none noscan over owner partialscan preceding pretty principals protection reload rewrite role roles rollup rows second server sets skewed transactions truncate unbounded unset uri user values window year\"),\n builtin: set(\"bool boolean long timestamp tinyint smallint bigint int float double date datetime unsigned string array struct map uniontype key_type utctimestamp value_type varchar\"),\n atoms: set(\"false true null unknown\"),\n operatorChars: /^[*+\\-%<>!=]/,\n dateSQL: set(\"date timestamp\"),\n support: set(\"ODBCdotTable doubleQuote binaryNumber hexNumber\")\n });\n\n CodeMirror.defineMIME(\"text/x-pgsql\", {\n name: \"sql\",\n client: set(\"source\"),\n // For PostgreSQL - https://www.postgresql.org/docs/11/sql-keywords-appendix.html\n // For pl/pgsql lang - https://github.com/postgres/postgres/blob/REL_11_2/src/pl/plpgsql/src/pl_scanner.c\n keywords: set(sqlKeywords + \"a abort abs absent absolute access according action ada add admin after aggregate alias all allocate also alter always analyse analyze and any are array array_agg array_max_cardinality as asc asensitive assert assertion assignment asymmetric at atomic attach attribute attributes authorization avg backward base64 before begin begin_frame begin_partition bernoulli between bigint binary bit bit_length blob blocked bom boolean both breadth by c cache call called cardinality cascade cascaded case cast catalog catalog_name ceil ceiling chain char char_length character character_length character_set_catalog character_set_name character_set_schema characteristics characters check checkpoint class class_origin clob close cluster coalesce cobol collate collation collation_catalog collation_name collation_schema collect column column_name columns command_function command_function_code comment comments commit committed concurrently condition condition_number configuration conflict connect connection connection_name constant constraint constraint_catalog constraint_name constraint_schema constraints constructor contains content continue control conversion convert copy corr corresponding cost count covar_pop covar_samp create cross csv cube cume_dist current current_catalog current_date current_default_transform_group current_path current_role current_row current_schema current_time current_timestamp current_transform_group_for_type current_user cursor cursor_name cycle data database datalink datatype date datetime_interval_code datetime_interval_precision day db deallocate debug dec decimal declare default defaults deferrable deferred defined definer degree delete delimiter delimiters dense_rank depends depth deref derived desc describe descriptor detach detail deterministic diagnostics dictionary disable discard disconnect dispatch distinct dlnewcopy dlpreviouscopy dlurlcomplete dlurlcompleteonly dlurlcompletewrite dlurlpath dlurlpathonly dlurlpathwrite dlurlscheme dlurlserver dlvalue do document domain double drop dump dynamic dynamic_function dynamic_function_code each element else elseif elsif empty enable encoding encrypted end end_frame end_partition endexec enforced enum equals errcode error escape event every except exception exclude excluding exclusive exec execute exists exit exp explain expression extension external extract false family fetch file filter final first first_value flag float floor following for force foreach foreign fortran forward found frame_row free freeze from fs full function functions fusion g general generated get global go goto grant granted greatest group grouping groups handler having header hex hierarchy hint hold hour id identity if ignore ilike immediate immediately immutable implementation implicit import in include including increment indent index indexes indicator info inherit inherits initially inline inner inout input insensitive insert instance instantiable instead int integer integrity intersect intersection interval into invoker is isnull isolation join k key key_member key_type label lag language large last last_value lateral lead leading leakproof least left length level library like like_regex limit link listen ln load local localtime localtimestamp location locator lock locked log logged loop lower m map mapping match matched materialized max max_cardinality maxvalue member merge message message_length message_octet_length message_text method min minute minvalue mod mode modifies module month more move multiset mumps name names namespace national natural nchar nclob nesting new next nfc nfd nfkc nfkd nil no none normalize normalized not nothing notice notify notnull nowait nth_value ntile null nullable nullif nulls number numeric object occurrences_regex octet_length octets of off offset oids old on only open operator option options or order ordering ordinality others out outer output over overlaps overlay overriding owned owner p pad parallel parameter parameter_mode parameter_name parameter_ordinal_position parameter_specific_catalog parameter_specific_name parameter_specific_schema parser partial partition pascal passing passthrough password path percent percent_rank percentile_cont percentile_disc perform period permission pg_context pg_datatype_name pg_exception_context pg_exception_detail pg_exception_hint placing plans pli policy portion position position_regex power precedes preceding precision prepare prepared preserve primary print_strict_params prior privileges procedural procedure procedures program public publication query quote raise range rank read reads real reassign recheck recovery recursive ref references referencing refresh regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy regr_syy reindex relative release rename repeatable replace replica requiring reset respect restart restore restrict result result_oid return returned_cardinality returned_length returned_octet_length returned_sqlstate returning returns reverse revoke right role rollback rollup routine routine_catalog routine_name routine_schema routines row row_count row_number rows rowtype rule savepoint scale schema schema_name schemas scope scope_catalog scope_name scope_schema scroll search second section security select selective self sensitive sequence sequences serializable server server_name session session_user set setof sets share show similar simple size skip slice smallint snapshot some source space specific specific_name specifictype sql sqlcode sqlerror sqlexception sqlstate sqlwarning sqrt stable stacked standalone start state statement static statistics stddev_pop stddev_samp stdin stdout storage strict strip structure style subclass_origin submultiset subscription substring substring_regex succeeds sum symmetric sysid system system_time system_user t table table_name tables tablesample tablespace temp template temporary text then ties time timestamp timezone_hour timezone_minute to token top_level_count trailing transaction transaction_active transactions_committed transactions_rolled_back transform transforms translate translate_regex translation treat trigger trigger_catalog trigger_name trigger_schema trim trim_array true truncate trusted type types uescape unbounded uncommitted under unencrypted union unique unknown unlink unlisten unlogged unnamed unnest until untyped update upper uri usage use_column use_variable user user_defined_type_catalog user_defined_type_code user_defined_type_name user_defined_type_schema using vacuum valid validate validator value value_of values var_pop var_samp varbinary varchar variable_conflict variadic varying verbose version versioning view views volatile warning when whenever where while whitespace width_bucket window with within without work wrapper write xml xmlagg xmlattributes xmlbinary xmlcast xmlcomment xmlconcat xmldeclaration xmldocument xmlelement xmlexists xmlforest xmliterate xmlnamespaces xmlparse xmlpi xmlquery xmlroot xmlschema xmlserialize xmltable xmltext xmlvalidate year yes zone\"),\n // https://www.postgresql.org/docs/11/datatype.html\n builtin: set(\"bigint int8 bigserial serial8 bit varying varbit boolean bool box bytea character char varchar cidr circle date double precision float8 inet integer int int4 interval json jsonb line lseg macaddr macaddr8 money numeric decimal path pg_lsn point polygon real float4 smallint int2 smallserial serial2 serial serial4 text time without zone with timetz timestamp timestamptz tsquery tsvector txid_snapshot uuid xml\"),\n atoms: set(\"false true null unknown\"),\n operatorChars: /^[*\\/+\\-%<>!=&|^\\/#@?~]/,\n dateSQL: set(\"date time timestamp\"),\n support: set(\"ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber nCharCast charsetCast\")\n });\n\n // Google's SQL-like query language, GQL\n CodeMirror.defineMIME(\"text/x-gql\", {\n name: \"sql\",\n keywords: set(\"ancestor and asc by contains desc descendant distinct from group has in is limit offset on order select superset where\"),\n atoms: set(\"false true\"),\n builtin: set(\"blob datetime first key __key__ string integer double boolean null\"),\n operatorChars: /^[*+\\-%<>!=]/\n });\n\n // Greenplum\n CodeMirror.defineMIME(\"text/x-gpsql\", {\n name: \"sql\",\n client: set(\"source\"),\n //https://github.com/greenplum-db/gpdb/blob/master/src/include/parser/kwlist.h\n keywords: set(\"abort absolute access action active add admin after aggregate all also alter always analyse analyze and any array as asc assertion assignment asymmetric at authorization backward before begin between bigint binary bit boolean both by cache called cascade cascaded case cast chain char character characteristics check checkpoint class close cluster coalesce codegen collate column comment commit committed concurrency concurrently configuration connection constraint constraints contains content continue conversion copy cost cpu_rate_limit create createdb createexttable createrole createuser cross csv cube current current_catalog current_date current_role current_schema current_time current_timestamp current_user cursor cycle data database day deallocate dec decimal declare decode default defaults deferrable deferred definer delete delimiter delimiters deny desc dictionary disable discard distinct distributed do document domain double drop dxl each else enable encoding encrypted end enum errors escape every except exchange exclude excluding exclusive execute exists explain extension external extract false family fetch fields filespace fill filter first float following for force foreign format forward freeze from full function global grant granted greatest group group_id grouping handler hash having header hold host hour identity if ignore ilike immediate immutable implicit in including inclusive increment index indexes inherit inherits initially inline inner inout input insensitive insert instead int integer intersect interval into invoker is isnull isolation join key language large last leading least left level like limit list listen load local localtime localtimestamp location lock log login mapping master match maxvalue median merge minute minvalue missing mode modifies modify month move name names national natural nchar new newline next no nocreatedb nocreateexttable nocreaterole nocreateuser noinherit nologin none noovercommit nosuperuser not nothing notify notnull nowait null nullif nulls numeric object of off offset oids old on only operator option options or order ordered others out outer over overcommit overlaps overlay owned owner parser partial partition partitions passing password percent percentile_cont percentile_disc placing plans position preceding precision prepare prepared preserve primary prior privileges procedural procedure protocol queue quote randomly range read readable reads real reassign recheck recursive ref references reindex reject relative release rename repeatable replace replica reset resource restart restrict returning returns revoke right role rollback rollup rootpartition row rows rule savepoint scatter schema scroll search second security segment select sequence serializable session session_user set setof sets share show similar simple smallint some split sql stable standalone start statement statistics stdin stdout storage strict strip subpartition subpartitions substring superuser symmetric sysid system table tablespace temp template temporary text then threshold ties time timestamp to trailing transaction treat trigger trim true truncate trusted type unbounded uncommitted unencrypted union unique unknown unlisten until update user using vacuum valid validation validator value values varchar variadic varying verbose version view volatile web when where whitespace window with within without work writable write xml xmlattributes xmlconcat xmlelement xmlexists xmlforest xmlparse xmlpi xmlroot xmlserialize year yes zone\"),\n builtin: set(\"bigint int8 bigserial serial8 bit varying varbit boolean bool box bytea character char varchar cidr circle date double precision float float8 inet integer int int4 interval json jsonb line lseg macaddr macaddr8 money numeric decimal path pg_lsn point polygon real float4 smallint int2 smallserial serial2 serial serial4 text time without zone with timetz timestamp timestamptz tsquery tsvector txid_snapshot uuid xml\"),\n atoms: set(\"false true null unknown\"),\n operatorChars: /^[*+\\-%<>!=&|^\\/#@?~]/,\n dateSQL: set(\"date time timestamp\"),\n support: set(\"ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber nCharCast charsetCast\")\n });\n\n // Spark SQL\n CodeMirror.defineMIME(\"text/x-sparksql\", {\n name: \"sql\",\n keywords: set(\"add after all alter analyze and anti archive array as asc at between bucket buckets by cache cascade case cast change clear cluster clustered codegen collection column columns comment commit compact compactions compute concatenate cost create cross cube current current_date current_timestamp database databases datata dbproperties defined delete delimited deny desc describe dfs directories distinct distribute drop else end escaped except exchange exists explain export extended external false fields fileformat first following for format formatted from full function functions global grant group grouping having if ignore import in index indexes inner inpath inputformat insert intersect interval into is items join keys last lateral lazy left like limit lines list load local location lock locks logical macro map minus msck natural no not null nulls of on optimize option options or order out outer outputformat over overwrite partition partitioned partitions percent preceding principals purge range recordreader recordwriter recover reduce refresh regexp rename repair replace reset restrict revoke right rlike role roles rollback rollup row rows schema schemas select semi separated serde serdeproperties set sets show skewed sort sorted start statistics stored stratify struct table tables tablesample tblproperties temp temporary terminated then to touch transaction transactions transform true truncate unarchive unbounded uncache union unlock unset use using values view when where window with\"),\n builtin: set(\"tinyint smallint int bigint boolean float double string binary timestamp decimal array map struct uniontype delimited serde sequencefile textfile rcfile inputformat outputformat\"),\n atoms: set(\"false true null\"),\n operatorChars: /^[*\\/+\\-%<>!=~&|^]/,\n dateSQL: set(\"date time timestamp\"),\n support: set(\"ODBCdotTable doubleQuote zerolessFloat\")\n });\n\n // Esper\n CodeMirror.defineMIME(\"text/x-esper\", {\n name: \"sql\",\n client: set(\"source\"),\n // http://www.espertech.com/esper/release-5.5.0/esper-reference/html/appendix_keywords.html\n keywords: set(\"alter and as asc between by count create delete desc distinct drop from group having in insert into is join like not on or order select set table union update values where limit after all and as at asc avedev avg between by case cast coalesce count create current_timestamp day days delete define desc distinct else end escape events every exists false first from full group having hour hours in inner insert instanceof into irstream is istream join last lastweekday left limit like max match_recognize matches median measures metadatasql min minute minutes msec millisecond milliseconds not null offset on or order outer output partition pattern prev prior regexp retain-union retain-intersection right rstream sec second seconds select set some snapshot sql stddev sum then true unidirectional until update variable weekday when where window\"),\n builtin: {},\n atoms: set(\"false true null\"),\n operatorChars: /^[*+\\-%<>!=&|^\\/#@?~]/,\n dateSQL: set(\"time\"),\n support: set(\"decimallessFloat zerolessFloat binaryNumber hexNumber\")\n });\n});\n\n/*\n How Properties of Mime Types are used by SQL Mode\n =================================================\n\n keywords:\n A list of keywords you want to be highlighted.\n builtin:\n A list of builtin types you want to be highlighted (if you want types to be of class \"builtin\" instead of \"keyword\").\n operatorChars:\n All characters that must be handled as operators.\n client:\n Commands parsed and executed by the client (not the server).\n support:\n A list of supported syntaxes which are not common, but are supported by more than 1 DBMS.\n * ODBCdotTable: .tableName\n * zerolessFloat: .1\n * doubleQuote\n * nCharCast: N'string'\n * charsetCast: _utf8'string'\n * commentHash: use # char for comments\n * commentSlashSlash: use // for comments\n * commentSpaceRequired: require a space after -- for comments\n atoms:\n Keywords that must be highlighted as atoms,. Some DBMS's support more atoms than others:\n UNKNOWN, INFINITY, UNDERFLOW, NaN...\n dateSQL:\n Used for date/time SQL standard syntax, because not all DBMS's support same temporal types.\n*/\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9tb2RlL3NxbC9zcWwuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9tb2RlL3NxbC9zcWwuanM/ZmZkYSJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb2RlTWlycm9yLCBjb3B5cmlnaHQgKGMpIGJ5IE1hcmlqbiBIYXZlcmJla2UgYW5kIG90aGVyc1xuLy8gRGlzdHJpYnV0ZWQgdW5kZXIgYW4gTUlUIGxpY2Vuc2U6IGh0dHBzOi8vY29kZW1pcnJvci5uZXQvTElDRU5TRVxuXG4oZnVuY3Rpb24obW9kKSB7XG4gIGlmICh0eXBlb2YgZXhwb3J0cyA9PSBcIm9iamVjdFwiICYmIHR5cGVvZiBtb2R1bGUgPT0gXCJvYmplY3RcIikgLy8gQ29tbW9uSlNcbiAgICBtb2QocmVxdWlyZShcIi4uLy4uL2xpYi9jb2RlbWlycm9yXCIpKTtcbiAgZWxzZSBpZiAodHlwZW9mIGRlZmluZSA9PSBcImZ1bmN0aW9uXCIgJiYgZGVmaW5lLmFtZCkgLy8gQU1EXG4gICAgZGVmaW5lKFtcIi4uLy4uL2xpYi9jb2RlbWlycm9yXCJdLCBtb2QpO1xuICBlbHNlIC8vIFBsYWluIGJyb3dzZXIgZW52XG4gICAgbW9kKENvZGVNaXJyb3IpO1xufSkoZnVuY3Rpb24oQ29kZU1pcnJvcikge1xuXCJ1c2Ugc3RyaWN0XCI7XG5cbkNvZGVNaXJyb3IuZGVmaW5lTW9kZShcInNxbFwiLCBmdW5jdGlvbihjb25maWcsIHBhcnNlckNvbmZpZykge1xuICB2YXIgY2xpZW50ICAgICAgICAgPSBwYXJzZXJDb25maWcuY2xpZW50IHx8IHt9LFxuICAgICAgYXRvbXMgICAgICAgICAgPSBwYXJzZXJDb25maWcuYXRvbXMgfHwge1wiZmFsc2VcIjogdHJ1ZSwgXCJ0cnVlXCI6IHRydWUsIFwibnVsbFwiOiB0cnVlfSxcbiAgICAgIGJ1aWx0aW4gICAgICAgID0gcGFyc2VyQ29uZmlnLmJ1aWx0aW4gfHwgc2V0KGRlZmF1bHRCdWlsdGluKSxcbiAgICAgIGtleXdvcmRzICAgICAgID0gcGFyc2VyQ29uZmlnLmtleXdvcmRzIHx8IHNldChzcWxLZXl3b3JkcyksXG4gICAgICBvcGVyYXRvckNoYXJzICA9IHBhcnNlckNvbmZpZy5vcGVyYXRvckNoYXJzIHx8IC9eWyorXFwtJTw+IT0mfH5eXFwvXS8sXG4gICAgICBzdXBwb3J0ICAgICAgICA9IHBhcnNlckNvbmZpZy5zdXBwb3J0IHx8IHt9LFxuICAgICAgaG9va3MgICAgICAgICAgPSBwYXJzZXJDb25maWcuaG9va3MgfHwge30sXG4gICAgICBkYXRlU1FMICAgICAgICA9IHBhcnNlckNvbmZpZy5kYXRlU1FMIHx8IHtcImRhdGVcIiA6IHRydWUsIFwidGltZVwiIDogdHJ1ZSwgXCJ0aW1lc3RhbXBcIiA6IHRydWV9LFxuICAgICAgYmFja3NsYXNoU3RyaW5nRXNjYXBlcyA9IHBhcnNlckNvbmZpZy5iYWNrc2xhc2hTdHJpbmdFc2NhcGVzICE9PSBmYWxzZSxcbiAgICAgIGJyYWNrZXRzICAgICAgID0gcGFyc2VyQ29uZmlnLmJyYWNrZXRzIHx8IC9eW1xce31cXChcXClcXFtcXF1dLyxcbiAgICAgIHB1bmN0dWF0aW9uICAgID0gcGFyc2VyQ29uZmlnLnB1bmN0dWF0aW9uIHx8IC9eWzsuLDpdL1xuXG4gIGZ1bmN0aW9uIHRva2VuQmFzZShzdHJlYW0sIHN0YXRlKSB7XG4gICAgdmFyIGNoID0gc3RyZWFtLm5leHQoKTtcblxuICAgIC8vIGNhbGwgaG9va3MgZnJvbSB0aGUgbWltZSB0eXBlXG4gICAgaWYgKGhvb2tzW2NoXSkge1xuICAgICAgdmFyIHJlc3VsdCA9IGhvb2tzW2NoXShzdHJlYW0sIHN0YXRlKTtcbiAgICAgIGlmIChyZXN1bHQgIT09IGZhbHNlKSByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIGlmIChzdXBwb3J0LmhleE51bWJlciAmJlxuICAgICAgKChjaCA9PSBcIjBcIiAmJiBzdHJlYW0ubWF0Y2goL15beFhdWzAtOWEtZkEtRl0rLykpXG4gICAgICB8fCAoY2ggPT0gXCJ4XCIgfHwgY2ggPT0gXCJYXCIpICYmIHN0cmVhbS5tYXRjaCgvXidbMC05YS1mQS1GXSsnLykpKSB7XG4gICAgICAvLyBoZXhcbiAgICAgIC8vIHJlZjogaHR0cDovL2Rldi5teXNxbC5jb20vZG9jL3JlZm1hbi81LjUvZW4vaGV4YWRlY2ltYWwtbGl0ZXJhbHMuaHRtbFxuICAgICAgcmV0dXJuIFwibnVtYmVyXCI7XG4gICAgfSBlbHNlIGlmIChzdXBwb3J0LmJpbmFyeU51bWJlciAmJlxuICAgICAgKCgoY2ggPT0gXCJiXCIgfHwgY2ggPT0gXCJCXCIpICYmIHN0cmVhbS5tYXRjaCgvXidbMDFdKycvKSlcbiAgICAgIHx8IChjaCA9PSBcIjBcIiAmJiBzdHJlYW0ubWF0Y2goL15iWzAxXSsvKSkpKSB7XG4gICAgICAvLyBiaXRzdHJpbmdcbiAgICAgIC8vIHJlZjogaHR0cDovL2Rldi5teXNxbC5jb20vZG9jL3JlZm1hbi81LjUvZW4vYml0LWZpZWxkLWxpdGVyYWxzLmh0bWxcbiAgICAgIHJldHVybiBcIm51bWJlclwiO1xuICAgIH0gZWxzZSBpZiAoY2guY2hhckNvZGVBdCgwKSA+IDQ3ICYmIGNoLmNoYXJDb2RlQXQoMCkgPCA1OCkge1xuICAgICAgLy8gbnVtYmVyc1xuICAgICAgLy8gcmVmOiBodHRwOi8vZGV2Lm15c3FsLmNvbS9kb2MvcmVmbWFuLzUuNS9lbi9udW1iZXItbGl0ZXJhbHMuaHRtbFxuICAgICAgc3RyZWFtLm1hdGNoKC9eWzAtOV0qKFxcLlswLTldKyk/KFtlRV1bLStdP1swLTldKyk/Lyk7XG4gICAgICBzdXBwb3J0LmRlY2ltYWxsZXNzRmxvYXQgJiYgc3RyZWFtLm1hdGNoKC9eXFwuKD8hXFwuKS8pO1xuICAgICAgcmV0dXJuIFwibnVtYmVyXCI7XG4gICAgfSBlbHNlIGlmIChjaCA9PSBcIj9cIiAmJiAoc3RyZWFtLmVhdFNwYWNlKCkgfHwgc3RyZWFtLmVvbCgpIHx8IHN0cmVhbS5lYXQoXCI7XCIpKSkge1xuICAgICAgLy8gcGxhY2Vob2xkZXJzXG4gICAgICByZXR1cm4gXCJ2YXJpYWJsZS0zXCI7XG4gICAgfSBlbHNlIGlmIChjaCA9PSBcIidcIiB8fCAoY2ggPT0gJ1wiJyAmJiBzdXBwb3J0LmRvdWJsZVF1b3RlKSkge1xuICAgICAgLy8gc3RyaW5nc1xuICAgICAgLy8gcmVmOiBodHRwOi8vZGV2Lm15c3FsLmNvbS9kb2MvcmVmbWFuLzUuNS9lbi9zdHJpbmctbGl0ZXJhbHMuaHRtbFxuICAgICAgc3RhdGUudG9rZW5pemUgPSB0b2tlbkxpdGVyYWwoY2gpO1xuICAgICAgcmV0dXJuIHN0YXRlLnRva2VuaXplKHN0cmVhbSwgc3RhdGUpO1xuICAgIH0gZWxzZSBpZiAoKCgoc3VwcG9ydC5uQ2hhckNhc3QgJiYgKGNoID09IFwiblwiIHx8IGNoID09IFwiTlwiKSlcbiAgICAgICAgfHwgKHN1cHBvcnQuY2hhcnNldENhc3QgJiYgY2ggPT0gXCJfXCIgJiYgc3RyZWFtLm1hdGNoKC9bYS16XVthLXowLTldKi9pKSkpXG4gICAgICAgICYmIChzdHJlYW0ucGVlaygpID09IFwiJ1wiIHx8IHN0cmVhbS5wZWVrKCkgPT0gJ1wiJykpKSB7XG4gICAgICAvLyBjaGFyc2V0IGNhc3Rpbmc6IF91dGY4J3N0cicsIE4nc3RyJywgbidzdHInXG4gICAgICAvLyByZWY6IGh0dHA6Ly9kZXYubXlzcWwuY29tL2RvYy9yZWZtYW4vNS41L2VuL3N0cmluZy1saXRlcmFscy5odG1sXG4gICAgICByZXR1cm4gXCJrZXl3b3JkXCI7XG4gICAgfSBlbHNlIGlmIChzdXBwb3J0LmNvbW1lbnRTbGFzaFNsYXNoICYmIGNoID09IFwiL1wiICYmIHN0cmVhbS5lYXQoXCIvXCIpKSB7XG4gICAgICAvLyAxLWxpbmUgY29tbWVudFxuICAgICAgc3RyZWFtLnNraXBUb0VuZCgpO1xuICAgICAgcmV0dXJuIFwiY29tbWVudFwiO1xuICAgIH0gZWxzZSBpZiAoKHN1cHBvcnQuY29tbWVudEhhc2ggJiYgY2ggPT0gXCIjXCIpXG4gICAgICAgIHx8IChjaCA9PSBcIi1cIiAmJiBzdHJlYW0uZWF0KFwiLVwiKSAmJiAoIXN1cHBvcnQuY29tbWVudFNwYWNlUmVxdWlyZWQgfHwgc3RyZWFtLmVhdChcIiBcIikpKSkge1xuICAgICAgLy8gMS1saW5lIGNvbW1lbnRzXG4gICAgICAvLyByZWY6IGh0dHBzOi8va2IuYXNrbW9udHkub3JnL2VuL2NvbW1lbnQtc3ludGF4L1xuICAgICAgc3RyZWFtLnNraXBUb0VuZCgpO1xuICAgICAgcmV0dXJuIFwiY29tbWVudFwiO1xuICAgIH0gZWxzZSBpZiAoY2ggPT0gXCIvXCIgJiYgc3RyZWFtLmVhdChcIipcIikpIHtcbiAgICAgIC8vIG11bHRpLWxpbmUgY29tbWVudHNcbiAgICAgIC8vIHJlZjogaHR0cHM6Ly9rYi5hc2ttb250eS5vcmcvZW4vY29tbWVudC1zeW50YXgvXG4gICAgICBzdGF0ZS50b2tlbml6ZSA9IHRva2VuQ29tbWVudCgxKTtcbiAgICAgIHJldHVybiBzdGF0ZS50b2tlbml6ZShzdHJlYW0sIHN0YXRlKTtcbiAgICB9IGVsc2UgaWYgKGNoID09IFwiLlwiKSB7XG4gICAgICAvLyAuMSBmb3IgMC4xXG4gICAgICBpZiAoc3VwcG9ydC56ZXJvbGVzc0Zsb2F0ICYmIHN0cmVhbS5tYXRjaCgvXig/OlxcZCsoPzplWystXT9cXGQrKT8pL2kpKVxuICAgICAgICByZXR1cm4gXCJudW1iZXJcIjtcbiAgICAgIGlmIChzdHJlYW0ubWF0Y2goL15cXC4rLykpXG4gICAgICAgIHJldHVybiBudWxsXG4gICAgICAvLyAudGFibGVfbmFtZSAoT0RCQylcbiAgICAgIC8vIC8vIHJlZjogaHR0cDovL2Rldi5teXNxbC5jb20vZG9jL3JlZm1hbi81LjYvZW4vaWRlbnRpZmllci1xdWFsaWZpZXJzLmh0bWxcbiAgICAgIGlmIChzdXBwb3J0Lk9EQkNkb3RUYWJsZSAmJiBzdHJlYW0ubWF0Y2goL15bXFx3XFxkX10rLykpXG4gICAgICAgIHJldHVybiBcInZhcmlhYmxlLTJcIjtcbiAgICB9IGVsc2UgaWYgKG9wZXJhdG9yQ2hhcnMudGVzdChjaCkpIHtcbiAgICAgIC8vIG9wZXJhdG9yc1xuICAgICAgc3RyZWFtLmVhdFdoaWxlKG9wZXJhdG9yQ2hhcnMpO1xuICAgICAgcmV0dXJuIFwib3BlcmF0b3JcIjtcbiAgICB9IGVsc2UgaWYgKGJyYWNrZXRzLnRlc3QoY2gpKSB7XG4gICAgICAvLyBicmFja2V0c1xuICAgICAgcmV0dXJuIFwiYnJhY2tldFwiO1xuICAgIH0gZWxzZSBpZiAocHVuY3R1YXRpb24udGVzdChjaCkpIHtcbiAgICAgIC8vIHB1bmN0dWF0aW9uXG4gICAgICBzdHJlYW0uZWF0V2hpbGUocHVuY3R1YXRpb24pO1xuICAgICAgcmV0dXJuIFwicHVuY3R1YXRpb25cIjtcbiAgICB9IGVsc2UgaWYgKGNoID09ICd7JyAmJlxuICAgICAgICAoc3RyZWFtLm1hdGNoKC9eKCApKihkfER8dHxUfHRzfFRTKSggKSonW14nXSonKCApKn0vKSB8fCBzdHJlYW0ubWF0Y2goL14oICkqKGR8RHx0fFR8dHN8VFMpKCApKlwiW15cIl0qXCIoICkqfS8pKSkge1xuICAgICAgLy8gZGF0ZXMgKHdlaXJkIE9EQkMgc3ludGF4KVxuICAgICAgLy8gcmVmOiBodHRwOi8vZGV2Lm15c3FsLmNvbS9kb2MvcmVmbWFuLzUuNS9lbi9kYXRlLWFuZC10aW1lLWxpdGVyYWxzLmh0bWxcbiAgICAgIHJldHVybiBcIm51bWJlclwiO1xuICAgIH0gZWxzZSB7XG4gICAgICBzdHJlYW0uZWF0V2hpbGUoL15bX1xcd1xcZF0vKTtcbiAgICAgIHZhciB3b3JkID0gc3RyZWFtLmN1cnJlbnQoKS50b0xvd2VyQ2FzZSgpO1xuICAgICAgLy8gZGF0ZXMgKHN0YW5kYXJkIFNRTCBzeW50YXgpXG4gICAgICAvLyByZWY6IGh0dHA6Ly9kZXYubXlzcWwuY29tL2RvYy9yZWZtYW4vNS41L2VuL2RhdGUtYW5kLXRpbWUtbGl0ZXJhbHMuaHRtbFxuICAgICAgaWYgKGRhdGVTUUwuaGFzT3duUHJvcGVydHkod29yZCkgJiYgKHN0cmVhbS5tYXRjaCgvXiggKSsnW14nXSonLykgfHwgc3RyZWFtLm1hdGNoKC9eKCApK1wiW15cIl0qXCIvKSkpXG4gICAgICAgIHJldHVybiBcIm51bWJlclwiO1xuICAgICAgaWYgKGF0b21zLmhhc093blByb3BlcnR5KHdvcmQpKSByZXR1cm4gXCJhdG9tXCI7XG4gICAgICBpZiAoYnVpbHRpbi5oYXNPd25Qcm9wZXJ0eSh3b3JkKSkgcmV0dXJuIFwiYnVpbHRpblwiO1xuICAgICAgaWYgKGtleXdvcmRzLmhhc093blByb3BlcnR5KHdvcmQpKSByZXR1cm4gXCJrZXl3b3JkXCI7XG4gICAgICBpZiAoY2xpZW50Lmhhc093blByb3BlcnR5KHdvcmQpKSByZXR1cm4gXCJzdHJpbmctMlwiO1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG5cbiAgLy8gJ3N0cmluZycsIHdpdGggY2hhciBzcGVjaWZpZWQgaW4gcXVvdGUgZXNjYXBlZCBieSAnXFwnXG4gIGZ1bmN0aW9uIHRva2VuTGl0ZXJhbChxdW90ZSkge1xuICAgIHJldHVybiBmdW5jdGlvbihzdHJlYW0sIHN0YXRlKSB7XG4gICAgICB2YXIgZXNjYXBlZCA9IGZhbHNlLCBjaDtcbiAgICAgIHdoaWxlICgoY2ggPSBzdHJlYW0ubmV4dCgpKSAhPSBudWxsKSB7XG4gICAgICAgIGlmIChjaCA9PSBxdW90ZSAmJiAhZXNjYXBlZCkge1xuICAgICAgICAgIHN0YXRlLnRva2VuaXplID0gdG9rZW5CYXNlO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGVzY2FwZWQgPSBiYWNrc2xhc2hTdHJpbmdFc2NhcGVzICYmICFlc2NhcGVkICYmIGNoID09IFwiXFxcXFwiO1xuICAgICAgfVxuICAgICAgcmV0dXJuIFwic3RyaW5nXCI7XG4gICAgfTtcbiAgfVxuICBmdW5jdGlvbiB0b2tlbkNvbW1lbnQoZGVwdGgpIHtcbiAgICByZXR1cm4gZnVuY3Rpb24oc3RyZWFtLCBzdGF0ZSkge1xuICAgICAgdmFyIG0gPSBzdHJlYW0ubWF0Y2goL14uKj8oXFwvXFwqfFxcKlxcLykvKVxuICAgICAgaWYgKCFtKSBzdHJlYW0uc2tpcFRvRW5kKClcbiAgICAgIGVsc2UgaWYgKG1bMV0gPT0gXCIvKlwiKSBzdGF0ZS50b2tlbml6ZSA9IHRva2VuQ29tbWVudChkZXB0aCArIDEpXG4gICAgICBlbHNlIGlmIChkZXB0aCA+IDEpIHN0YXRlLnRva2VuaXplID0gdG9rZW5Db21tZW50KGRlcHRoIC0gMSlcbiAgICAgIGVsc2Ugc3RhdGUudG9rZW5pemUgPSB0b2tlbkJhc2VcbiAgICAgIHJldHVybiBcImNvbW1lbnRcIlxuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIHB1c2hDb250ZXh0KHN0cmVhbSwgc3RhdGUsIHR5cGUpIHtcbiAgICBzdGF0ZS5jb250ZXh0ID0ge1xuICAgICAgcHJldjogc3RhdGUuY29udGV4dCxcbiAgICAgIGluZGVudDogc3RyZWFtLmluZGVudGF0aW9uKCksXG4gICAgICBjb2w6IHN0cmVhbS5jb2x1bW4oKSxcbiAgICAgIHR5cGU6IHR5cGVcbiAgICB9O1xuICB9XG5cbiAgZnVuY3Rpb24gcG9wQ29udGV4dChzdGF0ZSkge1xuICAgIHN0YXRlLmluZGVudCA9IHN0YXRlLmNvbnRleHQuaW5kZW50O1xuICAgIHN0YXRlLmNvbnRleHQgPSBzdGF0ZS5jb250ZXh0LnByZXY7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHN0YXJ0U3RhdGU6IGZ1bmN0aW9uKCkge1xuICAgICAgcmV0dXJuIHt0b2tlbml6ZTogdG9rZW5CYXNlLCBjb250ZXh0OiBudWxsfTtcbiAgICB9LFxuXG4gICAgdG9rZW46IGZ1bmN0aW9uKHN0cmVhbSwgc3RhdGUpIHtcbiAgICAgIGlmIChzdHJlYW0uc29sKCkpIHtcbiAgICAgICAgaWYgKHN0YXRlLmNvbnRleHQgJiYgc3RhdGUuY29udGV4dC5hbGlnbiA9PSBudWxsKVxuICAgICAgICAgIHN0YXRlLmNvbnRleHQuYWxpZ24gPSBmYWxzZTtcbiAgICAgIH1cbiAgICAgIGlmIChzdGF0ZS50b2tlbml6ZSA9PSB0b2tlbkJhc2UgJiYgc3RyZWFtLmVhdFNwYWNlKCkpIHJldHVybiBudWxsO1xuXG4gICAgICB2YXIgc3R5bGUgPSBzdGF0ZS50b2tlbml6ZShzdHJlYW0sIHN0YXRlKTtcbiAgICAgIGlmIChzdHlsZSA9PSBcImNvbW1lbnRcIikgcmV0dXJuIHN0eWxlO1xuXG4gICAgICBpZiAoc3RhdGUuY29udGV4dCAmJiBzdGF0ZS5jb250ZXh0LmFsaWduID09IG51bGwpXG4gICAgICAgIHN0YXRlLmNvbnRleHQuYWxpZ24gPSB0cnVlO1xuXG4gICAgICB2YXIgdG9rID0gc3RyZWFtLmN1cnJlbnQoKTtcbiAgICAgIGlmICh0b2sgPT0gXCIoXCIpXG4gICAgICAgIHB1c2hDb250ZXh0KHN0cmVhbSwgc3RhdGUsIFwiKVwiKTtcbiAgICAgIGVsc2UgaWYgKHRvayA9PSBcIltcIilcbiAgICAgICAgcHVzaENvbnRleHQoc3RyZWFtLCBzdGF0ZSwgXCJdXCIpO1xuICAgICAgZWxzZSBpZiAoc3RhdGUuY29udGV4dCAmJiBzdGF0ZS5jb250ZXh0LnR5cGUgPT0gdG9rKVxuICAgICAgICBwb3BDb250ZXh0KHN0YXRlKTtcbiAgICAgIHJldHVybiBzdHlsZTtcbiAgICB9LFxuXG4gICAgaW5kZW50OiBmdW5jdGlvbihzdGF0ZSwgdGV4dEFmdGVyKSB7XG4gICAgICB2YXIgY3ggPSBzdGF0ZS5jb250ZXh0O1xuICAgICAgaWYgKCFjeCkgcmV0dXJuIENvZGVNaXJyb3IuUGFzcztcbiAgICAgIHZhciBjbG9zaW5nID0gdGV4dEFmdGVyLmNoYXJBdCgwKSA9PSBjeC50eXBlO1xuICAgICAgaWYgKGN4LmFsaWduKSByZXR1cm4gY3guY29sICsgKGNsb3NpbmcgPyAwIDogMSk7XG4gICAgICBlbHNlIHJldHVybiBjeC5pbmRlbnQgKyAoY2xvc2luZyA/IDAgOiBjb25maWcuaW5kZW50VW5pdCk7XG4gICAgfSxcblxuICAgIGJsb2NrQ29tbWVudFN0YXJ0OiBcIi8qXCIsXG4gICAgYmxvY2tDb21tZW50RW5kOiBcIiovXCIsXG4gICAgbGluZUNvbW1lbnQ6IHN1cHBvcnQuY29tbWVudFNsYXNoU2xhc2ggPyBcIi8vXCIgOiBzdXBwb3J0LmNvbW1lbnRIYXNoID8gXCIjXCIgOiBcIi0tXCIsXG4gICAgY2xvc2VCcmFja2V0czogXCIoKVtde30nJ1xcXCJcXFwiYGBcIlxuICB9O1xufSk7XG5cbiAgLy8gYGlkZW50aWZpZXJgXG4gIGZ1bmN0aW9uIGhvb2tJZGVudGlmaWVyKHN0cmVhbSkge1xuICAgIC8vIE15U1FML01hcmlhREIgaWRlbnRpZmllcnNcbiAgICAvLyByZWY6IGh0dHA6Ly9kZXYubXlzcWwuY29tL2RvYy9yZWZtYW4vNS42L2VuL2lkZW50aWZpZXItcXVhbGlmaWVycy5odG1sXG4gICAgdmFyIGNoO1xuICAgIHdoaWxlICgoY2ggPSBzdHJlYW0ubmV4dCgpKSAhPSBudWxsKSB7XG4gICAgICBpZiAoY2ggPT0gXCJgXCIgJiYgIXN0cmVhbS5lYXQoXCJgXCIpKSByZXR1cm4gXCJ2YXJpYWJsZS0yXCI7XG4gICAgfVxuICAgIHN0cmVhbS5iYWNrVXAoc3RyZWFtLmN1cnJlbnQoKS5sZW5ndGggLSAxKTtcbiAgICByZXR1cm4gc3RyZWFtLmVhdFdoaWxlKC9cXHcvKSA/IFwidmFyaWFibGUtMlwiIDogbnVsbDtcbiAgfVxuXG4gIC8vIFwiaWRlbnRpZmllclwiXG4gIGZ1bmN0aW9uIGhvb2tJZGVudGlmaWVyRG91YmxlcXVvdGUoc3RyZWFtKSB7XG4gICAgLy8gU3RhbmRhcmQgU1FMIC9TUUxpdGUgaWRlbnRpZmllcnNcbiAgICAvLyByZWY6IGh0dHA6Ly93ZWIuYXJjaGl2ZS5vcmcvd2ViLzIwMTYwODEzMTg1MTMyL2h0dHA6Ly9zYXZhZ2UubmV0LmF1L1NRTC9zcWwtOTkuYm5mLmh0bWwjZGVsaW1pdGVkJTIwaWRlbnRpZmllclxuICAgIC8vIHJlZjogaHR0cDovL3NxbGl0ZS5vcmcvbGFuZ19rZXl3b3Jkcy5odG1sXG4gICAgdmFyIGNoO1xuICAgIHdoaWxlICgoY2ggPSBzdHJlYW0ubmV4dCgpKSAhPSBudWxsKSB7XG4gICAgICBpZiAoY2ggPT0gXCJcXFwiXCIgJiYgIXN0cmVhbS5lYXQoXCJcXFwiXCIpKSByZXR1cm4gXCJ2YXJpYWJsZS0yXCI7XG4gICAgfVxuICAgIHN0cmVhbS5iYWNrVXAoc3RyZWFtLmN1cnJlbnQoKS5sZW5ndGggLSAxKTtcbiAgICByZXR1cm4gc3RyZWFtLmVhdFdoaWxlKC9cXHcvKSA/IFwidmFyaWFibGUtMlwiIDogbnVsbDtcbiAgfVxuXG4gIC8vIHZhcmlhYmxlIHRva2VuXG4gIGZ1bmN0aW9uIGhvb2tWYXIoc3RyZWFtKSB7XG4gICAgLy8gdmFyaWFibGVzXG4gICAgLy8gQEBwcmVmaXgudmFyTmFtZSBAdmFyTmFtZVxuICAgIC8vIHZhck5hbWUgY2FuIGJlIHF1b3RlZCB3aXRoIGAgb3IgJyBvciBcIlxuICAgIC8vIHJlZjogaHR0cDovL2Rldi5teXNxbC5jb20vZG9jL3JlZm1hbi81LjUvZW4vdXNlci12YXJpYWJsZXMuaHRtbFxuICAgIGlmIChzdHJlYW0uZWF0KFwiQFwiKSkge1xuICAgICAgc3RyZWFtLm1hdGNoKC9ec2Vzc2lvblxcLi8pO1xuICAgICAgc3RyZWFtLm1hdGNoKC9ebG9jYWxcXC4vKTtcbiAgICAgIHN0cmVhbS5tYXRjaCgvXmdsb2JhbFxcLi8pO1xuICAgIH1cblxuICAgIGlmIChzdHJlYW0uZWF0KFwiJ1wiKSkge1xuICAgICAgc3RyZWFtLm1hdGNoKC9eLionLyk7XG4gICAgICByZXR1cm4gXCJ2YXJpYWJsZS0yXCI7XG4gICAgfSBlbHNlIGlmIChzdHJlYW0uZWF0KCdcIicpKSB7XG4gICAgICBzdHJlYW0ubWF0Y2goL14uKlwiLyk7XG4gICAgICByZXR1cm4gXCJ2YXJpYWJsZS0yXCI7XG4gICAgfSBlbHNlIGlmIChzdHJlYW0uZWF0KFwiYFwiKSkge1xuICAgICAgc3RyZWFtLm1hdGNoKC9eLipgLyk7XG4gICAgICByZXR1cm4gXCJ2YXJpYWJsZS0yXCI7XG4gICAgfSBlbHNlIGlmIChzdHJlYW0ubWF0Y2goL15bMC05YS16QS1aJFxcLlxcX10rLykpIHtcbiAgICAgIHJldHVybiBcInZhcmlhYmxlLTJcIjtcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH07XG5cbiAgLy8gc2hvcnQgY2xpZW50IGtleXdvcmQgdG9rZW5cbiAgZnVuY3Rpb24gaG9va0NsaWVudChzdHJlYW0pIHtcbiAgICAvLyBcXE4gbWVhbnMgTlVMTFxuICAgIC8vIHJlZjogaHR0cDovL2Rldi5teXNxbC5jb20vZG9jL3JlZm1hbi81LjUvZW4vbnVsbC12YWx1ZXMuaHRtbFxuICAgIGlmIChzdHJlYW0uZWF0KFwiTlwiKSkge1xuICAgICAgICByZXR1cm4gXCJhdG9tXCI7XG4gICAgfVxuICAgIC8vIFxcZywgZXRjXG4gICAgLy8gcmVmOiBodHRwOi8vZGV2Lm15c3FsLmNvbS9kb2MvcmVmbWFuLzUuNS9lbi9teXNxbC1jb21tYW5kcy5odG1sXG4gICAgcmV0dXJuIHN0cmVhbS5tYXRjaCgvXlthLXpBLVouIyE/XS8pID8gXCJ2YXJpYWJsZS0yXCIgOiBudWxsO1xuICB9XG5cbiAgLy8gdGhlc2Uga2V5d29yZHMgYXJlIHVzZWQgYnkgYWxsIFNRTCBkaWFsZWN0cyAoaG93ZXZlciwgYSBtb2RlIGNhbiBzdGlsbCBvdmVyd3JpdGUgaXQpXG4gIHZhciBzcWxLZXl3b3JkcyA9IFwiYWx0ZXIgYW5kIGFzIGFzYyBiZXR3ZWVuIGJ5IGNvdW50IGNyZWF0ZSBkZWxldGUgZGVzYyBkaXN0aW5jdCBkcm9wIGZyb20gZ3JvdXAgaGF2aW5nIGluIGluc2VydCBpbnRvIGlzIGpvaW4gbGlrZSBub3Qgb24gb3Igb3JkZXIgc2VsZWN0IHNldCB0YWJsZSB1bmlvbiB1cGRhdGUgdmFsdWVzIHdoZXJlIGxpbWl0IFwiO1xuXG4gIC8vIHR1cm4gYSBzcGFjZS1zZXBhcmF0ZWQgbGlzdCBpbnRvIGFuIGFycmF5XG4gIGZ1bmN0aW9uIHNldChzdHIpIHtcbiAgICB2YXIgb2JqID0ge30sIHdvcmRzID0gc3RyLnNwbGl0KFwiIFwiKTtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHdvcmRzLmxlbmd0aDsgKytpKSBvYmpbd29yZHNbaV1dID0gdHJ1ZTtcbiAgICByZXR1cm4gb2JqO1xuICB9XG5cbiAgdmFyIGRlZmF1bHRCdWlsdGluID0gXCJib29sIGJvb2xlYW4gYml0IGJsb2IgZW51bSBsb25nIGxvbmdibG9iIGxvbmd0ZXh0IG1lZGl1bSBtZWRpdW1ibG9iIG1lZGl1bWludCBtZWRpdW10ZXh0IHRpbWUgdGltZXN0YW1wIHRpbnlibG9iIHRpbnlpbnQgdGlueXRleHQgdGV4dCBiaWdpbnQgaW50IGludDEgaW50MiBpbnQzIGludDQgaW50OCBpbnRlZ2VyIGZsb2F0IGZsb2F0NCBmbG9hdDggZG91YmxlIGNoYXIgdmFyYmluYXJ5IHZhcmNoYXIgdmFyY2hhcmFjdGVyIHByZWNpc2lvbiByZWFsIGRhdGUgZGF0ZXRpbWUgeWVhciB1bnNpZ25lZCBzaWduZWQgZGVjaW1hbCBudW1lcmljXCJcblxuICAvLyBBIGdlbmVyaWMgU1FMIE1vZGUuIEl0J3Mgbm90IGEgc3RhbmRhcmQsIGl0IGp1c3QgdHJ5IHRvIHN1cHBvcnQgd2hhdCBpcyBnZW5lcmFsbHkgc3VwcG9ydGVkXG4gIENvZGVNaXJyb3IuZGVmaW5lTUlNRShcInRleHQveC1zcWxcIiwge1xuICAgIG5hbWU6IFwic3FsXCIsXG4gICAga2V5d29yZHM6IHNldChzcWxLZXl3b3JkcyArIFwiYmVnaW5cIiksXG4gICAgYnVpbHRpbjogc2V0KGRlZmF1bHRCdWlsdGluKSxcbiAgICBhdG9tczogc2V0KFwiZmFsc2UgdHJ1ZSBudWxsIHVua25vd25cIiksXG4gICAgZGF0ZVNRTDogc2V0KFwiZGF0ZSB0aW1lIHRpbWVzdGFtcFwiKSxcbiAgICBzdXBwb3J0OiBzZXQoXCJPREJDZG90VGFibGUgZG91YmxlUXVvdGUgYmluYXJ5TnVtYmVyIGhleE51bWJlclwiKVxuICB9KTtcblxuICBDb2RlTWlycm9yLmRlZmluZU1JTUUoXCJ0ZXh0L3gtbXNzcWxcIiwge1xuICAgIG5hbWU6IFwic3FsXCIsXG4gICAgY2xpZW50OiBzZXQoXCIkcGFydGl0aW9uIGJpbmFyeV9jaGVja3N1bSBjaGVja3N1bSBjb25uZWN0aW9ucHJvcGVydHkgY29udGV4dF9pbmZvIGN1cnJlbnRfcmVxdWVzdF9pZCBlcnJvcl9saW5lIGVycm9yX21lc3NhZ2UgZXJyb3JfbnVtYmVyIGVycm9yX3Byb2NlZHVyZSBlcnJvcl9zZXZlcml0eSBlcnJvcl9zdGF0ZSBmb3JtYXRtZXNzYWdlIGdldF9maWxlc3RyZWFtX3RyYW5zYWN0aW9uX2NvbnRleHQgZ2V0YW5zaW51bGwgaG9zdF9pZCBob3N0X25hbWUgaXNudWxsIGlzbnVtZXJpYyBtaW5fYWN0aXZlX3Jvd3ZlcnNpb24gbmV3aWQgbmV3c2VxdWVudGlhbGlkIHJvd2NvdW50X2JpZyB4YWN0X3N0YXRlIG9iamVjdF9pZFwiKSxcbiAgICBrZXl3b3Jkczogc2V0KHNxbEtleXdvcmRzICsgXCJiZWdpbiB0cmlnZ2VyIHByb2MgdmlldyBpbmRleCBmb3IgYWRkIGNvbnN0cmFpbnQga2V5IHByaW1hcnkgZm9yZWlnbiBjb2xsYXRlIGNsdXN0ZXJlZCBub25jbHVzdGVyZWQgZGVjbGFyZSBleGVjIGdvIGlmIHVzZSBpbmRleCBob2xkbG9jayBub2xvY2sgbm93YWl0IHBhZ2xvY2sgcmVhZGNvbW1pdHRlZCByZWFkY29tbWl0dGVkbG9jayByZWFkcGFzdCByZWFkdW5jb21taXR0ZWQgcmVwZWF0YWJsZXJlYWQgcm93bG9jayBzZXJpYWxpemFibGUgc25hcHNob3QgdGFibG9jayB0YWJsb2NreCB1cGRsb2NrIHdpdGhcIiksXG4gICAgYnVpbHRpbjogc2V0KFwiYmlnaW50IG51bWVyaWMgYml0IHNtYWxsaW50IGRlY2ltYWwgc21hbGxtb25leSBpbnQgdGlueWludCBtb25leSBmbG9hdCByZWFsIGNoYXIgdmFyY2hhciB0ZXh0IG5jaGFyIG52YXJjaGFyIG50ZXh0IGJpbmFyeSB2YXJiaW5hcnkgaW1hZ2UgY3Vyc29yIHRpbWVzdGFtcCBoaWVyYXJjaHlpZCB1bmlxdWVpZGVudGlmaWVyIHNxbF92YXJpYW50IHhtbCB0YWJsZSBcIiksXG4gICAgYXRvbXM6IHNldChcImlzIG5vdCBudWxsIGxpa2UgYW5kIG9yIGluIGxlZnQgcmlnaHQgYmV0d2VlbiBpbm5lciBvdXRlciBqb2luIGFsbCBhbnkgc29tZSBjcm9zcyB1bnBpdm90IHBpdm90IGV4aXN0c1wiKSxcbiAgICBvcGVyYXRvckNoYXJzOiAvXlsqK1xcLSU8PiE9XlxcJnxcXC9dLyxcbiAgICBicmFja2V0czogL15bXFx7fVxcKFxcKV0vLFxuICAgIHB1bmN0dWF0aW9uOiAvXls7Liw6L10vLFxuICAgIGJhY2tzbGFzaFN0cmluZ0VzY2FwZXM6IGZhbHNlLFxuICAgIGRhdGVTUUw6IHNldChcImRhdGUgZGF0ZXRpbWVvZmZzZXQgZGF0ZXRpbWUyIHNtYWxsZGF0ZXRpbWUgZGF0ZXRpbWUgdGltZVwiKSxcbiAgICBob29rczoge1xuICAgICAgXCJAXCI6ICAgaG9va1ZhclxuICAgIH1cbiAgfSk7XG5cbiAgQ29kZU1pcnJvci5kZWZpbmVNSU1FKFwidGV4dC94LW15c3FsXCIsIHtcbiAgICBuYW1lOiBcInNxbFwiLFxuICAgIGNsaWVudDogc2V0KFwiY2hhcnNldCBjbGVhciBjb25uZWN0IGVkaXQgZWdvIGV4aXQgZ28gaGVscCBub3BhZ2VyIG5vdGVlIG5vd2FybmluZyBwYWdlciBwcmludCBwcm9tcHQgcXVpdCByZWhhc2ggc291cmNlIHN0YXR1cyBzeXN0ZW0gdGVlXCIpLFxuICAgIGtleXdvcmRzOiBzZXQoc3FsS2V5d29yZHMgKyBcImFjY2Vzc2libGUgYWN0aW9uIGFkZCBhZnRlciBhbGdvcml0aG0gYWxsIGFuYWx5emUgYXNlbnNpdGl2ZSBhdCBhdXRob3JzIGF1dG9faW5jcmVtZW50IGF1dG9jb21taXQgYXZnIGF2Z19yb3dfbGVuZ3RoIGJlZm9yZSBiaW5hcnkgYmlubG9nIGJvdGggYnRyZWUgY2FjaGUgY2FsbCBjYXNjYWRlIGNhc2NhZGVkIGNhc2UgY2F0YWxvZ19uYW1lIGNoYWluIGNoYW5nZSBjaGFuZ2VkIGNoYXJhY3RlciBjaGVjayBjaGVja3BvaW50IGNoZWNrc3VtIGNsYXNzX29yaWdpbiBjbGllbnRfc3RhdGlzdGljcyBjbG9zZSBjb2FsZXNjZSBjb2RlIGNvbGxhdGUgY29sbGF0aW9uIGNvbGxhdGlvbnMgY29sdW1uIGNvbHVtbnMgY29tbWVudCBjb21taXQgY29tbWl0dGVkIGNvbXBsZXRpb24gY29uY3VycmVudCBjb25kaXRpb24gY29ubmVjdGlvbiBjb25zaXN0ZW50IGNvbnN0cmFpbnQgY29udGFpbnMgY29udGludWUgY29udHJpYnV0b3JzIGNvbnZlcnQgY3Jvc3MgY3VycmVudCBjdXJyZW50X2RhdGUgY3VycmVudF90aW1lIGN1cnJlbnRfdGltZXN0YW1wIGN1cnJlbnRfdXNlciBjdXJzb3IgZGF0YSBkYXRhYmFzZSBkYXRhYmFzZXMgZGF5X2hvdXIgZGF5X21pY3Jvc2Vjb25kIGRheV9taW51dGUgZGF5X3NlY29uZCBkZWFsbG9jYXRlIGRlYyBkZWNsYXJlIGRlZmF1bHQgZGVsYXlfa2V5X3dyaXRlIGRlbGF5ZWQgZGVsaW1pdGVyIGRlc19rZXlfZmlsZSBkZXNjcmliZSBkZXRlcm1pbmlzdGljIGRldl9wb3AgZGV2X3NhbXAgZGV2aWFuY2UgZGlhZ25vc3RpY3MgZGlyZWN0b3J5IGRpc2FibGUgZGlzY2FyZCBkaXN0aW5jdHJvdyBkaXYgZHVhbCBkdW1wZmlsZSBlYWNoIGVsc2VpZiBlbmFibGUgZW5jbG9zZWQgZW5kIGVuZHMgZW5naW5lIGVuZ2luZXMgZW51bSBlcnJvcnMgZXNjYXBlIGVzY2FwZWQgZXZlbiBldmVudCBldmVudHMgZXZlcnkgZXhlY3V0ZSBleGlzdHMgZXhpdCBleHBsYWluIGV4dGVuZGVkIGZhc3QgZmV0Y2ggZmllbGQgZmllbGRzIGZpcnN0IGZsdXNoIGZvciBmb3JjZSBmb3JlaWduIGZvdW5kX3Jvd3MgZnVsbCBmdWxsdGV4dCBmdW5jdGlvbiBnZW5lcmFsIGdldCBnbG9iYWwgZ3JhbnQgZ3JhbnRzIGdyb3VwIGdyb3VwX2NvbmNhdCBoYW5kbGVyIGhhc2ggaGVscCBoaWdoX3ByaW9yaXR5IGhvc3RzIGhvdXJfbWljcm9zZWNvbmQgaG91cl9taW51dGUgaG91cl9zZWNvbmQgaWYgaWdub3JlIGlnbm9yZV9zZXJ2ZXJfaWRzIGltcG9ydCBpbmRleCBpbmRleF9zdGF0aXN0aWNzIGluZmlsZSBpbm5lciBpbm5vZGIgaW5vdXQgaW5zZW5zaXRpdmUgaW5zZXJ0X21ldGhvZCBpbnN0YWxsIGludGVydmFsIGludm9rZXIgaXNvbGF0aW9uIGl0ZXJhdGUga2V5IGtleXMga2lsbCBsYW5ndWFnZSBsYXN0IGxlYWRpbmcgbGVhdmUgbGVmdCBsZXZlbCBsaW1pdCBsaW5lYXIgbGluZXMgbGlzdCBsb2FkIGxvY2FsIGxvY2FsdGltZSBsb2NhbHRpbWVzdGFtcCBsb2NrIGxvZ3MgbG93X3ByaW9yaXR5IG1hc3RlciBtYXN0ZXJfaGVhcnRiZWF0X3BlcmlvZCBtYXN0ZXJfc3NsX3ZlcmlmeV9zZXJ2ZXJfY2VydCBtYXN0ZXJzIG1hdGNoIG1heCBtYXhfcm93cyBtYXh2YWx1ZSBtZXNzYWdlX3RleHQgbWlkZGxlaW50IG1pZ3JhdGUgbWluIG1pbl9yb3dzIG1pbnV0ZV9taWNyb3NlY29uZCBtaW51dGVfc2Vjb25kIG1vZCBtb2RlIG1vZGlmaWVzIG1vZGlmeSBtdXRleCBteXNxbF9lcnJubyBuYXR1cmFsIG5leHQgbm8gbm9fd3JpdGVfdG9fYmlubG9nIG9mZmxpbmUgb2Zmc2V0IG9uZSBvbmxpbmUgb3BlbiBvcHRpbWl6ZSBvcHRpb24gb3B0aW9uYWxseSBvdXQgb3V0ZXIgb3V0ZmlsZSBwYWNrX2tleXMgcGFyc2VyIHBhcnRpdGlvbiBwYXJ0aXRpb25zIHBhc3N3b3JkIHBoYXNlIHBsdWdpbiBwbHVnaW5zIHByZXBhcmUgcHJlc2VydmUgcHJldiBwcmltYXJ5IHByaXZpbGVnZXMgcHJvY2VkdXJlIHByb2Nlc3NsaXN0IHByb2ZpbGUgcHJvZmlsZXMgcHVyZ2UgcXVlcnkgcXVpY2sgcmFuZ2UgcmVhZCByZWFkX3dyaXRlIHJlYWRzIHJlYWwgcmVidWlsZCByZWNvdmVyIHJlZmVyZW5jZXMgcmVnZXhwIHJlbGF5bG9nIHJlbGVhc2UgcmVtb3ZlIHJlbmFtZSByZW9yZ2FuaXplIHJlcGFpciByZXBlYXRhYmxlIHJlcGxhY2UgcmVxdWlyZSByZXNpZ25hbCByZXN0cmljdCByZXN1bWUgcmV0dXJuIHJldHVybnMgcmV2b2tlIHJpZ2h0IHJsaWtlIHJvbGxiYWNrIHJvbGx1cCByb3cgcm93X2Zvcm1hdCBydHJlZSBzYXZlcG9pbnQgc2NoZWR1bGUgc2NoZW1hIHNjaGVtYV9uYW1lIHNjaGVtYXMgc2Vjb25kX21pY3Jvc2Vjb25kIHNlY3VyaXR5IHNlbnNpdGl2ZSBzZXBhcmF0b3Igc2VyaWFsaXphYmxlIHNlcnZlciBzZXNzaW9uIHNoYXJlIHNob3cgc2lnbmFsIHNsYXZlIHNsb3cgc21hbGxpbnQgc25hcHNob3Qgc29uYW1lIHNwYXRpYWwgc3BlY2lmaWMgc3FsIHNxbF9iaWdfcmVzdWx0IHNxbF9idWZmZXJfcmVzdWx0IHNxbF9jYWNoZSBzcWxfY2FsY19mb3VuZF9yb3dzIHNxbF9ub19jYWNoZSBzcWxfc21hbGxfcmVzdWx0IHNxbGV4Y2VwdGlvbiBzcWxzdGF0ZSBzcWx3YXJuaW5nIHNzbCBzdGFydCBzdGFydGluZyBzdGFydHMgc3RhdHVzIHN0ZCBzdGRkZXYgc3RkZGV2X3BvcCBzdGRkZXZfc2FtcCBzdG9yYWdlIHN0cmFpZ2h0X2pvaW4gc3ViY2xhc3Nfb3JpZ2luIHN1bSBzdXNwZW5kIHRhYmxlX25hbWUgdGFibGVfc3RhdGlzdGljcyB0YWJsZXMgdGFibGVzcGFjZSB0ZW1wb3JhcnkgdGVybWluYXRlZCB0byB0cmFpbGluZyB0cmFuc2FjdGlvbiB0cmlnZ2VyIHRyaWdnZXJzIHRydW5jYXRlIHVuY29tbWl0dGVkIHVuZG8gdW5pbnN0YWxsIHVuaXF1ZSB1bmxvY2sgdXBncmFkZSB1c2FnZSB1c2UgdXNlX2ZybSB1c2VyIHVzZXJfcmVzb3VyY2VzIHVzZXJfc3RhdGlzdGljcyB1c2luZyB1dGNfZGF0ZSB1dGNfdGltZSB1dGNfdGltZXN0YW1wIHZhbHVlIHZhcmlhYmxlcyB2YXJ5aW5nIHZpZXcgdmlld3Mgd2FybmluZ3Mgd2hlbiB3aGlsZSB3aXRoIHdvcmsgd3JpdGUgeGEgeG9yIHllYXJfbW9udGggemVyb2ZpbGwgYmVnaW4gZG8gdGhlbiBlbHNlIGxvb3AgcmVwZWF0XCIpLFxuICAgIGJ1aWx0aW46IHNldChcImJvb2wgYm9vbGVhbiBiaXQgYmxvYiBkZWNpbWFsIGRvdWJsZSBmbG9hdCBsb25nIGxvbmdibG9iIGxvbmd0ZXh0IG1lZGl1bSBtZWRpdW1ibG9iIG1lZGl1bWludCBtZWRpdW10ZXh0IHRpbWUgdGltZXN0YW1wIHRpbnlibG9iIHRpbnlpbnQgdGlueXRleHQgdGV4dCBiaWdpbnQgaW50IGludDEgaW50MiBpbnQzIGludDQgaW50OCBpbnRlZ2VyIGZsb2F0IGZsb2F0NCBmbG9hdDggZG91YmxlIGNoYXIgdmFyYmluYXJ5IHZhcmNoYXIgdmFyY2hhcmFjdGVyIHByZWNpc2lvbiBkYXRlIGRhdGV0aW1lIHllYXIgdW5zaWduZWQgc2lnbmVkIG51bWVyaWNcIiksXG4gICAgYXRvbXM6IHNldChcImZhbHNlIHRydWUgbnVsbCB1bmtub3duXCIpLFxuICAgIG9wZXJhdG9yQ2hhcnM6IC9eWyorXFwtJTw+IT0mfF5dLyxcbiAgICBkYXRlU1FMOiBzZXQoXCJkYXRlIHRpbWUgdGltZXN0YW1wXCIpLFxuICAgIHN1cHBvcnQ6IHNldChcIk9EQkNkb3RUYWJsZSBkZWNpbWFsbGVzc0Zsb2F0IHplcm9sZXNzRmxvYXQgYmluYXJ5TnVtYmVyIGhleE51bWJlciBkb3VibGVRdW90ZSBuQ2hhckNhc3QgY2hhcnNldENhc3QgY29tbWVudEhhc2ggY29tbWVudFNwYWNlUmVxdWlyZWRcIiksXG4gICAgaG9va3M6IHtcbiAgICAgIFwiQFwiOiAgIGhvb2tWYXIsXG4gICAgICBcImBcIjogICBob29rSWRlbnRpZmllcixcbiAgICAgIFwiXFxcXFwiOiAgaG9va0NsaWVudFxuICAgIH1cbiAgfSk7XG5cbiAgQ29kZU1pcnJvci5kZWZpbmVNSU1FKFwidGV4dC94LW1hcmlhZGJcIiwge1xuICAgIG5hbWU6IFwic3FsXCIsXG4gICAgY2xpZW50OiBzZXQoXCJjaGFyc2V0IGNsZWFyIGNvbm5lY3QgZWRpdCBlZ28gZXhpdCBnbyBoZWxwIG5vcGFnZXIgbm90ZWUgbm93YXJuaW5nIHBhZ2VyIHByaW50IHByb21wdCBxdWl0IHJlaGFzaCBzb3VyY2Ugc3RhdHVzIHN5c3RlbSB0ZWVcIiksXG4gICAga2V5d29yZHM6IHNldChzcWxLZXl3b3JkcyArIFwiYWNjZXNzaWJsZSBhY3Rpb24gYWRkIGFmdGVyIGFsZ29yaXRobSBhbGwgYWx3YXlzIGFuYWx5emUgYXNlbnNpdGl2ZSBhdCBhdXRob3JzIGF1dG9faW5jcmVtZW50IGF1dG9jb21taXQgYXZnIGF2Z19yb3dfbGVuZ3RoIGJlZm9yZSBiaW5hcnkgYmlubG9nIGJvdGggYnRyZWUgY2FjaGUgY2FsbCBjYXNjYWRlIGNhc2NhZGVkIGNhc2UgY2F0YWxvZ19uYW1lIGNoYWluIGNoYW5nZSBjaGFuZ2VkIGNoYXJhY3RlciBjaGVjayBjaGVja3BvaW50IGNoZWNrc3VtIGNsYXNzX29yaWdpbiBjbGllbnRfc3RhdGlzdGljcyBjbG9zZSBjb2FsZXNjZSBjb2RlIGNvbGxhdGUgY29sbGF0aW9uIGNvbGxhdGlvbnMgY29sdW1uIGNvbHVtbnMgY29tbWVudCBjb21taXQgY29tbWl0dGVkIGNvbXBsZXRpb24gY29uY3VycmVudCBjb25kaXRpb24gY29ubmVjdGlvbiBjb25zaXN0ZW50IGNvbnN0cmFpbnQgY29udGFpbnMgY29udGludWUgY29udHJpYnV0b3JzIGNvbnZlcnQgY3Jvc3MgY3VycmVudCBjdXJyZW50X2RhdGUgY3VycmVudF90aW1lIGN1cnJlbnRfdGltZXN0YW1wIGN1cnJlbnRfdXNlciBjdXJzb3IgZGF0YSBkYXRhYmFzZSBkYXRhYmFzZXMgZGF5X2hvdXIgZGF5X21pY3Jvc2Vjb25kIGRheV9taW51dGUgZGF5X3NlY29uZCBkZWFsbG9jYXRlIGRlYyBkZWNsYXJlIGRlZmF1bHQgZGVsYXlfa2V5X3dyaXRlIGRlbGF5ZWQgZGVsaW1pdGVyIGRlc19rZXlfZmlsZSBkZXNjcmliZSBkZXRlcm1pbmlzdGljIGRldl9wb3AgZGV2X3NhbXAgZGV2aWFuY2UgZGlhZ25vc3RpY3MgZGlyZWN0b3J5IGRpc2FibGUgZGlzY2FyZCBkaXN0aW5jdHJvdyBkaXYgZHVhbCBkdW1wZmlsZSBlYWNoIGVsc2VpZiBlbmFibGUgZW5jbG9zZWQgZW5kIGVuZHMgZW5naW5lIGVuZ2luZXMgZW51bSBlcnJvcnMgZXNjYXBlIGVzY2FwZWQgZXZlbiBldmVudCBldmVudHMgZXZlcnkgZXhlY3V0ZSBleGlzdHMgZXhpdCBleHBsYWluIGV4dGVuZGVkIGZhc3QgZmV0Y2ggZmllbGQgZmllbGRzIGZpcnN0IGZsdXNoIGZvciBmb3JjZSBmb3JlaWduIGZvdW5kX3Jvd3MgZnVsbCBmdWxsdGV4dCBmdW5jdGlvbiBnZW5lcmFsIGdlbmVyYXRlZCBnZXQgZ2xvYmFsIGdyYW50IGdyYW50cyBncm91cCBncm91cGJ5X2NvbmNhdCBoYW5kbGVyIGhhcmQgaGFzaCBoZWxwIGhpZ2hfcHJpb3JpdHkgaG9zdHMgaG91cl9taWNyb3NlY29uZCBob3VyX21pbnV0ZSBob3VyX3NlY29uZCBpZiBpZ25vcmUgaWdub3JlX3NlcnZlcl9pZHMgaW1wb3J0IGluZGV4IGluZGV4X3N0YXRpc3RpY3MgaW5maWxlIGlubmVyIGlubm9kYiBpbm91dCBpbnNlbnNpdGl2ZSBpbnNlcnRfbWV0aG9kIGluc3RhbGwgaW50ZXJ2YWwgaW52b2tlciBpc29sYXRpb24gaXRlcmF0ZSBrZXkga2V5cyBraWxsIGxhbmd1YWdlIGxhc3QgbGVhZGluZyBsZWF2ZSBsZWZ0IGxldmVsIGxpbWl0IGxpbmVhciBsaW5lcyBsaXN0IGxvYWQgbG9jYWwgbG9jYWx0aW1lIGxvY2FsdGltZXN0YW1wIGxvY2sgbG9ncyBsb3dfcHJpb3JpdHkgbWFzdGVyIG1hc3Rlcl9oZWFydGJlYXRfcGVyaW9kIG1hc3Rlcl9zc2xfdmVyaWZ5X3NlcnZlcl9jZXJ0IG1hc3RlcnMgbWF0Y2ggbWF4IG1heF9yb3dzIG1heHZhbHVlIG1lc3NhZ2VfdGV4dCBtaWRkbGVpbnQgbWlncmF0ZSBtaW4gbWluX3Jvd3MgbWludXRlX21pY3Jvc2Vjb25kIG1pbnV0ZV9zZWNvbmQgbW9kIG1vZGUgbW9kaWZpZXMgbW9kaWZ5IG11dGV4IG15c3FsX2Vycm5vIG5hdHVyYWwgbmV4dCBubyBub193cml0ZV90b19iaW5sb2cgb2ZmbGluZSBvZmZzZXQgb25lIG9ubGluZSBvcGVuIG9wdGltaXplIG9wdGlvbiBvcHRpb25hbGx5IG91dCBvdXRlciBvdXRmaWxlIHBhY2tfa2V5cyBwYXJzZXIgcGFydGl0aW9uIHBhcnRpdGlvbnMgcGFzc3dvcmQgcGVyc2lzdGVudCBwaGFzZSBwbHVnaW4gcGx1Z2lucyBwcmVwYXJlIHByZXNlcnZlIHByZXYgcHJpbWFyeSBwcml2aWxlZ2VzIHByb2NlZHVyZSBwcm9jZXNzbGlzdCBwcm9maWxlIHByb2ZpbGVzIHB1cmdlIHF1ZXJ5IHF1aWNrIHJhbmdlIHJlYWQgcmVhZF93cml0ZSByZWFkcyByZWFsIHJlYnVpbGQgcmVjb3ZlciByZWZlcmVuY2VzIHJlZ2V4cCByZWxheWxvZyByZWxlYXNlIHJlbW92ZSByZW5hbWUgcmVvcmdhbml6ZSByZXBhaXIgcmVwZWF0YWJsZSByZXBsYWNlIHJlcXVpcmUgcmVzaWduYWwgcmVzdHJpY3QgcmVzdW1lIHJldHVybiByZXR1cm5zIHJldm9rZSByaWdodCBybGlrZSByb2xsYmFjayByb2xsdXAgcm93IHJvd19mb3JtYXQgcnRyZWUgc2F2ZXBvaW50IHNjaGVkdWxlIHNjaGVtYSBzY2hlbWFfbmFtZSBzY2hlbWFzIHNlY29uZF9taWNyb3NlY29uZCBzZWN1cml0eSBzZW5zaXRpdmUgc2VwYXJhdG9yIHNlcmlhbGl6YWJsZSBzZXJ2ZXIgc2Vzc2lvbiBzaGFyZSBzaG93IHNodXRkb3duIHNpZ25hbCBzbGF2ZSBzbG93IHNtYWxsaW50IHNuYXBzaG90IHNvZnQgc29uYW1lIHNwYXRpYWwgc3BlY2lmaWMgc3FsIHNxbF9iaWdfcmVzdWx0IHNxbF9idWZmZXJfcmVzdWx0IHNxbF9jYWNoZSBzcWxfY2FsY19mb3VuZF9yb3dzIHNxbF9ub19jYWNoZSBzcWxfc21hbGxfcmVzdWx0IHNxbGV4Y2VwdGlvbiBzcWxzdGF0ZSBzcWx3YXJuaW5nIHNzbCBzdGFydCBzdGFydGluZyBzdGFydHMgc3RhdHVzIHN0ZCBzdGRkZXYgc3RkZGV2X3BvcCBzdGRkZXZfc2FtcCBzdG9yYWdlIHN0cmFpZ2h0X2pvaW4gc3ViY2xhc3Nfb3JpZ2luIHN1bSBzdXNwZW5kIHRhYmxlX25hbWUgdGFibGVfc3RhdGlzdGljcyB0YWJsZXMgdGFibGVzcGFjZSB0ZW1wb3JhcnkgdGVybWluYXRlZCB0byB0cmFpbGluZyB0cmFuc2FjdGlvbiB0cmlnZ2VyIHRyaWdnZXJzIHRydW5jYXRlIHVuY29tbWl0dGVkIHVuZG8gdW5pbnN0YWxsIHVuaXF1ZSB1bmxvY2sgdXBncmFkZSB1c2FnZSB1c2UgdXNlX2ZybSB1c2VyIHVzZXJfcmVzb3VyY2VzIHVzZXJfc3RhdGlzdGljcyB1c2luZyB1dGNfZGF0ZSB1dGNfdGltZSB1dGNfdGltZXN0YW1wIHZhbHVlIHZhcmlhYmxlcyB2YXJ5aW5nIHZpZXcgdmlld3MgdmlydHVhbCB3YXJuaW5ncyB3aGVuIHdoaWxlIHdpdGggd29yayB3cml0ZSB4YSB4b3IgeWVhcl9tb250aCB6ZXJvZmlsbCBiZWdpbiBkbyB0aGVuIGVsc2UgbG9vcCByZXBlYXRcIiksXG4gICAgYnVpbHRpbjogc2V0KFwiYm9vbCBib29sZWFuIGJpdCBibG9iIGRlY2ltYWwgZG91YmxlIGZsb2F0IGxvbmcgbG9uZ2Jsb2IgbG9uZ3RleHQgbWVkaXVtIG1lZGl1bWJsb2IgbWVkaXVtaW50IG1lZGl1bXRleHQgdGltZSB0aW1lc3RhbXAgdGlueWJsb2IgdGlueWludCB0aW55dGV4dCB0ZXh0IGJpZ2ludCBpbnQgaW50MSBpbnQyIGludDMgaW50NCBpbnQ4IGludGVnZXIgZmxvYXQgZmxvYXQ0IGZsb2F0OCBkb3VibGUgY2hhciB2YXJiaW5hcnkgdmFyY2hhciB2YXJjaGFyYWN0ZXIgcHJlY2lzaW9uIGRhdGUgZGF0ZXRpbWUgeWVhciB1bnNpZ25lZCBzaWduZWQgbnVtZXJpY1wiKSxcbiAgICBhdG9tczogc2V0KFwiZmFsc2UgdHJ1ZSBudWxsIHVua25vd25cIiksXG4gICAgb3BlcmF0b3JDaGFyczogL15bKitcXC0lPD4hPSZ8Xl0vLFxuICAgIGRhdGVTUUw6IHNldChcImRhdGUgdGltZSB0aW1lc3RhbXBcIiksXG4gICAgc3VwcG9ydDogc2V0KFwiT0RCQ2RvdFRhYmxlIGRlY2ltYWxsZXNzRmxvYXQgemVyb2xlc3NGbG9hdCBiaW5hcnlOdW1iZXIgaGV4TnVtYmVyIGRvdWJsZVF1b3RlIG5DaGFyQ2FzdCBjaGFyc2V0Q2FzdCBjb21tZW50SGFzaCBjb21tZW50U3BhY2VSZXF1aXJlZFwiKSxcbiAgICBob29rczoge1xuICAgICAgXCJAXCI6ICAgaG9va1ZhcixcbiAgICAgIFwiYFwiOiAgIGhvb2tJZGVudGlmaWVyLFxuICAgICAgXCJcXFxcXCI6ICBob29rQ2xpZW50XG4gICAgfVxuICB9KTtcblxuICAvLyBwcm92aWRlZCBieSB0aGUgcGhwTGl0ZUFkbWluIHByb2plY3QgLSBwaHBsaXRlYWRtaW4ub3JnXG4gIENvZGVNaXJyb3IuZGVmaW5lTUlNRShcInRleHQveC1zcWxpdGVcIiwge1xuICAgIG5hbWU6IFwic3FsXCIsXG4gICAgLy8gY29tbWFuZHMgb2YgdGhlIG9mZmljaWFsIFNRTGl0ZSBjbGllbnQsIHJlZjogaHR0cHM6Ly93d3cuc3FsaXRlLm9yZy9jbGkuaHRtbCNkb3RjbWRcbiAgICBjbGllbnQ6IHNldChcImF1dGggYmFja3VwIGJhaWwgYmluYXJ5IGNoYW5nZXMgY2hlY2sgY2xvbmUgZGF0YWJhc2VzIGRiaW5mbyBkdW1wIGVjaG8gZXFwIGV4aXQgZXhwbGFpbiBmdWxsc2NoZW1hIGhlYWRlcnMgaGVscCBpbXBvcnQgaW1wb3N0ZXIgaW5kZXhlcyBpb3RyYWNlIGxpbWl0IGxpbnQgbG9hZCBsb2cgbW9kZSBudWxsdmFsdWUgb25jZSBvcGVuIG91dHB1dCBwcmludCBwcm9tcHQgcXVpdCByZWFkIHJlc3RvcmUgc2F2ZSBzY2Fuc3RhdHMgc2NoZW1hIHNlcGFyYXRvciBzZXNzaW9uIHNoZWxsIHNob3cgc3RhdHMgc3lzdGVtIHRhYmxlcyB0ZXN0Y2FzZSB0aW1lb3V0IHRpbWVyIHRyYWNlIHZmc2luZm8gdmZzbGlzdCB2ZnNuYW1lIHdpZHRoXCIpLFxuICAgIC8vIHJlZjogaHR0cDovL3NxbGl0ZS5vcmcvbGFuZ19rZXl3b3Jkcy5odG1sXG4gICAga2V5d29yZHM6IHNldChzcWxLZXl3b3JkcyArIFwiYWJvcnQgYWN0aW9uIGFkZCBhZnRlciBhbGwgYW5hbHl6ZSBhdHRhY2ggYXV0b2luY3JlbWVudCBiZWZvcmUgYmVnaW4gY2FzY2FkZSBjYXNlIGNhc3QgY2hlY2sgY29sbGF0ZSBjb2x1bW4gY29tbWl0IGNvbmZsaWN0IGNvbnN0cmFpbnQgY3Jvc3MgY3VycmVudF9kYXRlIGN1cnJlbnRfdGltZSBjdXJyZW50X3RpbWVzdGFtcCBkYXRhYmFzZSBkZWZhdWx0IGRlZmVycmFibGUgZGVmZXJyZWQgZGV0YWNoIGVhY2ggZWxzZSBlbmQgZXNjYXBlIGV4Y2VwdCBleGNsdXNpdmUgZXhpc3RzIGV4cGxhaW4gZmFpbCBmb3IgZm9yZWlnbiBmdWxsIGdsb2IgaWYgaWdub3JlIGltbWVkaWF0ZSBpbmRleCBpbmRleGVkIGluaXRpYWxseSBpbm5lciBpbnN0ZWFkIGludGVyc2VjdCBpc251bGwga2V5IGxlZnQgbGltaXQgbWF0Y2ggbmF0dXJhbCBubyBub3RudWxsIG51bGwgb2Ygb2Zmc2V0IG91dGVyIHBsYW4gcHJhZ21hIHByaW1hcnkgcXVlcnkgcmFpc2UgcmVjdXJzaXZlIHJlZmVyZW5jZXMgcmVnZXhwIHJlaW5kZXggcmVsZWFzZSByZW5hbWUgcmVwbGFjZSByZXN0cmljdCByaWdodCByb2xsYmFjayByb3cgc2F2ZXBvaW50IHRlbXAgdGVtcG9yYXJ5IHRoZW4gdG8gdHJhbnNhY3Rpb24gdHJpZ2dlciB1bmlxdWUgdXNpbmcgdmFjdXVtIHZpZXcgdmlydHVhbCB3aGVuIHdpdGggd2l0aG91dFwiKSxcbiAgICAvLyBTUUxpdGUgaXMgd2Vha2x5IHR5cGVkLCByZWY6IGh0dHA6Ly9zcWxpdGUub3JnL2RhdGF0eXBlMy5odG1sLiBUaGlzIGlzIGp1c3QgYSBsaXN0IG9mIHNvbWUgY29tbW9uIHR5cGVzLlxuICAgIGJ1aWx0aW46IHNldChcImJvb2wgYm9vbGVhbiBiaXQgYmxvYiBkZWNpbWFsIGRvdWJsZSBmbG9hdCBsb25nIGxvbmdibG9iIGxvbmd0ZXh0IG1lZGl1bSBtZWRpdW1ibG9iIG1lZGl1bWludCBtZWRpdW10ZXh0IHRpbWUgdGltZXN0YW1wIHRpbnlibG9iIHRpbnlpbnQgdGlueXRleHQgdGV4dCBjbG9iIGJpZ2ludCBpbnQgaW50MiBpbnQ4IGludGVnZXIgZmxvYXQgZG91YmxlIGNoYXIgdmFyY2hhciBkYXRlIGRhdGV0aW1lIHllYXIgdW5zaWduZWQgc2lnbmVkIG51bWVyaWMgcmVhbFwiKSxcbiAgICAvLyByZWY6IGh0dHA6Ly9zcWxpdGUub3JnL3N5bnRheC9saXRlcmFsLXZhbHVlLmh0bWxcbiAgICBhdG9tczogc2V0KFwibnVsbCBjdXJyZW50X2RhdGUgY3VycmVudF90aW1lIGN1cnJlbnRfdGltZXN0YW1wXCIpLFxuICAgIC8vIHJlZjogaHR0cDovL3NxbGl0ZS5vcmcvbGFuZ19leHByLmh0bWwjYmluYXJ5b3BzXG4gICAgb3BlcmF0b3JDaGFyczogL15bKitcXC0lPD4hPSZ8L35dLyxcbiAgICAvLyBTUUxpdGUgaXMgd2Vha2x5IHR5cGVkLCByZWY6IGh0dHA6Ly9zcWxpdGUub3JnL2RhdGF0eXBlMy5odG1sLiBUaGlzIGlzIGp1c3QgYSBsaXN0IG9mIHNvbWUgY29tbW9uIHR5cGVzLlxuICAgIGRhdGVTUUw6IHNldChcImRhdGUgdGltZSB0aW1lc3RhbXAgZGF0ZXRpbWVcIiksXG4gICAgc3VwcG9ydDogc2V0KFwiZGVjaW1hbGxlc3NGbG9hdCB6ZXJvbGVzc0Zsb2F0XCIpLFxuICAgIGlkZW50aWZpZXJRdW90ZTogXCJcXFwiXCIsICAvL3JlZjogaHR0cDovL3NxbGl0ZS5vcmcvbGFuZ19rZXl3b3Jkcy5odG1sXG4gICAgaG9va3M6IHtcbiAgICAgIC8vIGJpbmQtcGFyYW1ldGVycyByZWY6aHR0cDovL3NxbGl0ZS5vcmcvbGFuZ19leHByLmh0bWwjdmFycGFyYW1cbiAgICAgIFwiQFwiOiAgIGhvb2tWYXIsXG4gICAgICBcIjpcIjogICBob29rVmFyLFxuICAgICAgXCI/XCI6ICAgaG9va1ZhcixcbiAgICAgIFwiJFwiOiAgIGhvb2tWYXIsXG4gICAgICAvLyBUaGUgcHJlZmVycmVkIHdheSB0byBlc2NhcGUgSWRlbnRpZmllcnMgaXMgdXNpbmcgZG91YmxlIHF1b3RlcywgcmVmOiBodHRwOi8vc3FsaXRlLm9yZy9sYW5nX2tleXdvcmRzLmh0bWxcbiAgICAgIFwiXFxcIlwiOiAgIGhvb2tJZGVudGlmaWVyRG91YmxlcXVvdGUsXG4gICAgICAvLyB0aGVyZSBpcyBhbHNvIHN1cHBvcnQgZm9yIGJhY2t0aWNzLCByZWY6IGh0dHA6Ly9zcWxpdGUub3JnL2xhbmdfa2V5d29yZHMuaHRtbFxuICAgICAgXCJgXCI6ICAgaG9va0lkZW50aWZpZXJcbiAgICB9XG4gIH0pO1xuXG4gIC8vIHRoZSBxdWVyeSBsYW5ndWFnZSB1c2VkIGJ5IEFwYWNoZSBDYXNzYW5kcmEgaXMgY2FsbGVkIENRTCwgYnV0IHRoaXMgbWltZSB0eXBlXG4gIC8vIGlzIGNhbGxlZCBDYXNzYW5kcmEgdG8gYXZvaWQgY29uZnVzaW9uIHdpdGggQ29udGV4dHVhbCBRdWVyeSBMYW5ndWFnZVxuICBDb2RlTWlycm9yLmRlZmluZU1JTUUoXCJ0ZXh0L3gtY2Fzc2FuZHJhXCIsIHtcbiAgICBuYW1lOiBcInNxbFwiLFxuICAgIGNsaWVudDogeyB9LFxuICAgIGtleXdvcmRzOiBzZXQoXCJhZGQgYWxsIGFsbG93IGFsdGVyIGFuZCBhbnkgYXBwbHkgYXMgYXNjIGF1dGhvcml6ZSBiYXRjaCBiZWdpbiBieSBjbHVzdGVyaW5nIGNvbHVtbmZhbWlseSBjb21wYWN0IGNvbnNpc3RlbmN5IGNvdW50IGNyZWF0ZSBjdXN0b20gZGVsZXRlIGRlc2MgZGlzdGluY3QgZHJvcCBlYWNoX3F1b3J1bSBleGlzdHMgZmlsdGVyaW5nIGZyb20gZ3JhbnQgaWYgaW4gaW5kZXggaW5zZXJ0IGludG8ga2V5IGtleXNwYWNlIGtleXNwYWNlcyBsZXZlbCBsaW1pdCBsb2NhbF9vbmUgbG9jYWxfcXVvcnVtIG1vZGlmeSBuYW4gbm9yZWN1cnNpdmUgbm9zdXBlcnVzZXIgbm90IG9mIG9uIG9uZSBvcmRlciBwYXNzd29yZCBwZXJtaXNzaW9uIHBlcm1pc3Npb25zIHByaW1hcnkgcXVvcnVtIHJlbmFtZSByZXZva2Ugc2NoZW1hIHNlbGVjdCBzZXQgc3RvcmFnZSBzdXBlcnVzZXIgdGFibGUgdGhyZWUgdG8gdG9rZW4gdHJ1bmNhdGUgdHRsIHR3byB0eXBlIHVubG9nZ2VkIHVwZGF0ZSB1c2UgdXNlciB1c2VycyB1c2luZyB2YWx1ZXMgd2hlcmUgd2l0aCB3cml0ZXRpbWVcIiksXG4gICAgYnVpbHRpbjogc2V0KFwiYXNjaWkgYmlnaW50IGJsb2IgYm9vbGVhbiBjb3VudGVyIGRlY2ltYWwgZG91YmxlIGZsb2F0IGZyb3plbiBpbmV0IGludCBsaXN0IG1hcCBzdGF0aWMgdGV4dCB0aW1lc3RhbXAgdGltZXV1aWQgdHVwbGUgdXVpZCB2YXJjaGFyIHZhcmludFwiKSxcbiAgICBhdG9tczogc2V0KFwiZmFsc2UgdHJ1ZSBpbmZpbml0eSBOYU5cIiksXG4gICAgb3BlcmF0b3JDaGFyczogL15bPD49XS8sXG4gICAgZGF0ZVNRTDogeyB9LFxuICAgIHN1cHBvcnQ6IHNldChcImNvbW1lbnRTbGFzaFNsYXNoIGRlY2ltYWxsZXNzRmxvYXRcIiksXG4gICAgaG9va3M6IHsgfVxuICB9KTtcblxuICAvLyB0aGlzIGlzIGJhc2VkIG9uIFBldGVyIFJhZ2FuaXRzY2gncyAncGxzcWwnIG1vZGVcbiAgQ29kZU1pcnJvci5kZWZpbmVNSU1FKFwidGV4dC94LXBsc3FsXCIsIHtcbiAgICBuYW1lOiAgICAgICBcInNxbFwiLFxuICAgIGNsaWVudDogICAgIHNldChcImFwcGluZm8gYXJyYXlzaXplIGF1dG9jb21taXQgYXV0b3ByaW50IGF1dG9yZWNvdmVyeSBhdXRvdHJhY2UgYmxvY2t0ZXJtaW5hdG9yIGJyZWFrIGJ0aXRsZSBjbWRzZXAgY29sc2VwIGNvbXBhdGliaWxpdHkgY29tcHV0ZSBjb25jYXQgY29weWNvbW1pdCBjb3B5dHlwZWNoZWNrIGRlZmluZSBkZXNjcmliZSBlY2hvIGVkaXRmaWxlIGVtYmVkZGVkIGVzY2FwZSBleGVjIGV4ZWN1dGUgZmVlZGJhY2sgZmxhZ2dlciBmbHVzaCBoZWFkaW5nIGhlYWRzZXAgaW5zdGFuY2UgbGluZXNpemUgbG5vIGxvYm9mZnNldCBsb2dzb3VyY2UgbG9uZyBsb25nY2h1bmtzaXplIG1hcmt1cCBuYXRpdmUgbmV3cGFnZSBudW1mb3JtYXQgbnVtd2lkdGggcGFnZXNpemUgcGF1c2UgcG5vIHJlY3NlcCByZWNzZXBjaGFyIHJlbGVhc2UgcmVwZm9vdGVyIHJlcGhlYWRlciBzZXJ2ZXJvdXRwdXQgc2hpZnRpbm91dCBzaG93IHNob3dtb2RlIHNpemUgc3Bvb2wgc3FsYmxhbmtsaW5lcyBzcWxjYXNlIHNxbGNvZGUgc3FsY29udGludWUgc3FsbnVtYmVyIHNxbHBsdXNjb21wYXRpYmlsaXR5IHNxbHByZWZpeCBzcWxwcm9tcHQgc3FsdGVybWluYXRvciBzdWZmaXggdGFiIHRlcm0gdGVybW91dCB0aW1lIHRpbWluZyB0cmltb3V0IHRyaW1zcG9vbCB0dGl0bGUgdW5kZXJsaW5lIHZlcmlmeSB2ZXJzaW9uIHdyYXBcIiksXG4gICAga2V5d29yZHM6ICAgc2V0KFwiYWJvcnQgYWNjZXB0IGFjY2VzcyBhZGQgYWxsIGFsdGVyIGFuZCBhbnkgYXJyYXkgYXJyYXlsZW4gYXMgYXNjIGFzc2VydCBhc3NpZ24gYXQgYXR0cmlidXRlcyBhdWRpdCBhdXRob3JpemF0aW9uIGF2ZyBiYXNlX3RhYmxlIGJlZ2luIGJldHdlZW4gYmluYXJ5X2ludGVnZXIgYm9keSBib29sZWFuIGJ5IGNhc2UgY2FzdCBjaGFyIGNoYXJfYmFzZSBjaGVjayBjbG9zZSBjbHVzdGVyIGNsdXN0ZXJzIGNvbGF1dGggY29sdW1uIGNvbW1lbnQgY29tbWl0IGNvbXByZXNzIGNvbm5lY3QgY29ubmVjdGVkIGNvbnN0YW50IGNvbnN0cmFpbnQgY3Jhc2ggY3JlYXRlIGN1cnJlbnQgY3VycnZhbCBjdXJzb3IgZGF0YV9iYXNlIGRhdGFiYXNlIGRhdGUgZGJhIGRlYWxsb2NhdGUgZGVidWdvZmYgZGVidWdvbiBkZWNpbWFsIGRlY2xhcmUgZGVmYXVsdCBkZWZpbml0aW9uIGRlbGF5IGRlbGV0ZSBkZXNjIGRpZ2l0cyBkaXNwb3NlIGRpc3RpbmN0IGRvIGRyb3AgZWxzZSBlbHNlaWYgZWxzaWYgZW5hYmxlIGVuZCBlbnRyeSBlc2NhcGUgZXhjZXB0aW9uIGV4Y2VwdGlvbl9pbml0IGV4Y2hhbmdlIGV4Y2x1c2l2ZSBleGlzdHMgZXhpdCBleHRlcm5hbCBmYXN0IGZldGNoIGZpbGUgZm9yIGZvcmNlIGZvcm0gZnJvbSBmdW5jdGlvbiBnZW5lcmljIGdvdG8gZ3JhbnQgZ3JvdXAgaGF2aW5nIGlkZW50aWZpZWQgaWYgaW1tZWRpYXRlIGluIGluY3JlbWVudCBpbmRleCBpbmRleGVzIGluZGljYXRvciBpbml0aWFsIGluaXRyYW5zIGluc2VydCBpbnRlcmZhY2UgaW50ZXJzZWN0IGludG8gaXMga2V5IGxldmVsIGxpYnJhcnkgbGlrZSBsaW1pdGVkIGxvY2FsIGxvY2sgbG9nIGxvZ2dpbmcgbG9uZyBsb29wIG1hc3RlciBtYXhleHRlbnRzIG1heHRyYW5zIG1lbWJlciBtaW5leHRlbnRzIG1pbnVzIG1pc2xhYmVsIG1vZGUgbW9kaWZ5IG11bHRpc2V0IG5ldyBuZXh0IG5vIG5vYXVkaXQgbm9jb21wcmVzcyBub2xvZ2dpbmcgbm9wYXJhbGxlbCBub3Qgbm93YWl0IG51bWJlcl9iYXNlIG9iamVjdCBvZiBvZmYgb2ZmbGluZSBvbiBvbmxpbmUgb25seSBvcGVuIG9wdGlvbiBvciBvcmRlciBvdXQgcGFja2FnZSBwYXJhbGxlbCBwYXJ0aXRpb24gcGN0ZnJlZSBwY3RpbmNyZWFzZSBwY3R1c2VkIHBsc19pbnRlZ2VyIHBvc2l0aXZlIHBvc2l0aXZlbiBwcmFnbWEgcHJpbWFyeSBwcmlvciBwcml2YXRlIHByaXZpbGVnZXMgcHJvY2VkdXJlIHB1YmxpYyByYWlzZSByYW5nZSByYXcgcmVhZCByZWJ1aWxkIHJlY29yZCByZWYgcmVmZXJlbmNlcyByZWZyZXNoIHJlbGVhc2UgcmVuYW1lIHJlcGxhY2UgcmVzb3VyY2UgcmVzdHJpY3QgcmV0dXJuIHJldHVybmluZyByZXR1cm5zIHJldmVyc2UgcmV2b2tlIHJvbGxiYWNrIHJvdyByb3dpZCByb3dsYWJlbCByb3dudW0gcm93cyBydW4gc2F2ZXBvaW50IHNjaGVtYSBzZWdtZW50IHNlbGVjdCBzZXBhcmF0ZSBzZXNzaW9uIHNldCBzaGFyZSBzbmFwc2hvdCBzb21lIHNwYWNlIHNwbGl0IHNxbCBzdGFydCBzdGF0ZW1lbnQgc3RvcmFnZSBzdWJ0eXBlIHN1Y2Nlc3NmdWwgc3lub255bSB0YWJhdXRoIHRhYmxlIHRhYmxlcyB0YWJsZXNwYWNlIHRhc2sgdGVybWluYXRlIHRoZW4gdG8gdHJpZ2dlciB0cnVuY2F0ZSB0eXBlIHVuaW9uIHVuaXF1ZSB1bmxpbWl0ZWQgdW5yZWNvdmVyYWJsZSB1bnVzYWJsZSB1cGRhdGUgdXNlIHVzaW5nIHZhbGlkYXRlIHZhbHVlIHZhbHVlcyB2YXJpYWJsZSB2aWV3IHZpZXdzIHdoZW4gd2hlbmV2ZXIgd2hlcmUgd2hpbGUgd2l0aCB3b3JrXCIpLFxuICAgIGJ1aWx0aW46ICAgIHNldChcImFicyBhY29zIGFkZF9tb250aHMgYXNjaWkgYXNpbiBhdGFuIGF0YW4yIGF2ZXJhZ2UgYmZpbGUgYmZpbGVuYW1lIGJpZ3NlcmlhbCBiaXQgYmxvYiBjZWlsIGNoYXJhY3RlciBjaGFydG9yb3dpZCBjaHIgY2xvYiBjb25jYXQgY29udmVydCBjb3MgY29zaCBjb3VudCBkZWMgZGVjb2RlIGRlcmVmIGR1YWwgZHVtcCBkdXBfdmFsX29uX2luZGV4IGVtcHR5IGVycm9yIGV4cCBmYWxzZSBmbG9hdCBmbG9vciBmb3VuZCBnbGIgZ3JlYXRlc3QgaGV4dG9yYXcgaW5pdGNhcCBpbnN0ciBpbnN0cmIgaW50IGludGVnZXIgaXNvcGVuIGxhc3RfZGF5IGxlYXN0IGxlbmd0aCBsZW5ndGhiIGxuIGxvd2VyIGxwYWQgbHRyaW0gbHViIG1ha2VfcmVmIG1heCBtaW4gbWxzbGFiZWwgbW9kIG1vbnRoc19iZXR3ZWVuIG5hdHVyYWwgbmF0dXJhbG4gbmNoYXIgbmNsb2IgbmV3X3RpbWUgbmV4dF9kYXkgbmV4dHZhbCBubHNfY2hhcnNldF9kZWNsX2xlbiBubHNfY2hhcnNldF9pZCBubHNfY2hhcnNldF9uYW1lIG5sc19pbml0Y2FwIG5sc19sb3dlciBubHNfc29ydCBubHNfdXBwZXIgbmxzc29ydCBub19kYXRhX2ZvdW5kIG5vdGZvdW5kIG51bGwgbnVtYmVyIG51bWVyaWMgbnZhcmNoYXIyIG52bCBvdGhlcnMgcG93ZXIgcmF3dG9oZXggcmVhbCByZWZ0b2hleCByb3VuZCByb3djb3VudCByb3dpZHRvY2hhciByb3d0eXBlIHJwYWQgcnRyaW0gc2VyaWFsIHNpZ24gc2lnbnR5cGUgc2luIHNpbmggc21hbGxpbnQgc291bmRleCBzcWxjb2RlIHNxbGVycm0gc3FydCBzdGRkZXYgc3RyaW5nIHN1YnN0ciBzdWJzdHJiIHN1bSBzeXNkYXRlIHRhbiB0YW5oIHRvX2NoYXIgdGV4dCB0b19kYXRlIHRvX2xhYmVsIHRvX211bHRpX2J5dGUgdG9fbnVtYmVyIHRvX3NpbmdsZV9ieXRlIHRyYW5zbGF0ZSB0cnVlIHRydW5jIHVpZCB1bmxvZ2dlZCB1cHBlciB1c2VyIHVzZXJlbnYgdmFyY2hhciB2YXJjaGFyMiB2YXJpYW5jZSB2YXJ5aW5nIHZzaXplIHhtbFwiKSxcbiAgICBvcGVyYXRvckNoYXJzOiAvXlsqXFwvK1xcLSU8PiE9fl0vLFxuICAgIGRhdGVTUUw6ICAgIHNldChcImRhdGUgdGltZSB0aW1lc3RhbXBcIiksXG4gICAgc3VwcG9ydDogICAgc2V0KFwiZG91YmxlUXVvdGUgbkNoYXJDYXN0IHplcm9sZXNzRmxvYXQgYmluYXJ5TnVtYmVyIGhleE51bWJlclwiKVxuICB9KTtcblxuICAvLyBDcmVhdGVkIHRvIHN1cHBvcnQgc3BlY2lmaWMgaGl2ZSBrZXl3b3Jkc1xuICBDb2RlTWlycm9yLmRlZmluZU1JTUUoXCJ0ZXh0L3gtaGl2ZVwiLCB7XG4gICAgbmFtZTogXCJzcWxcIixcbiAgICBrZXl3b3Jkczogc2V0KFwic2VsZWN0IGFsdGVyICRlbGVtJCAka2V5JCAkdmFsdWUkIGFkZCBhZnRlciBhbGwgYW5hbHl6ZSBhbmQgYXJjaGl2ZSBhcyBhc2MgYmVmb3JlIGJldHdlZW4gYmluYXJ5IGJvdGggYnVja2V0IGJ1Y2tldHMgYnkgY2FzY2FkZSBjYXNlIGNhc3QgY2hhbmdlIGNsdXN0ZXIgY2x1c3RlcmVkIGNsdXN0ZXJzdGF0dXMgY29sbGVjdGlvbiBjb2x1bW4gY29sdW1ucyBjb21tZW50IGNvbXB1dGUgY29uY2F0ZW5hdGUgY29udGludWUgY3JlYXRlIGNyb3NzIGN1cnNvciBkYXRhIGRhdGFiYXNlIGRhdGFiYXNlcyBkYnByb3BlcnRpZXMgZGVmZXJyZWQgZGVsZXRlIGRlbGltaXRlZCBkZXNjIGRlc2NyaWJlIGRpcmVjdG9yeSBkaXNhYmxlIGRpc3RpbmN0IGRpc3RyaWJ1dGUgZHJvcCBlbHNlIGVuYWJsZSBlbmQgZXNjYXBlZCBleGNsdXNpdmUgZXhpc3RzIGV4cGxhaW4gZXhwb3J0IGV4dGVuZGVkIGV4dGVybmFsIGZldGNoIGZpZWxkcyBmaWxlZm9ybWF0IGZpcnN0IGZvcm1hdCBmb3JtYXR0ZWQgZnJvbSBmdWxsIGZ1bmN0aW9uIGZ1bmN0aW9ucyBncmFudCBncm91cCBoYXZpbmcgaG9sZF9kZGx0aW1lIGlkeHByb3BlcnRpZXMgaWYgaW1wb3J0IGluIGluZGV4IGluZGV4ZXMgaW5wYXRoIGlucHV0ZHJpdmVyIGlucHV0Zm9ybWF0IGluc2VydCBpbnRlcnNlY3QgaW50byBpcyBpdGVtcyBqb2luIGtleXMgbGF0ZXJhbCBsZWZ0IGxpa2UgbGltaXQgbGluZXMgbG9hZCBsb2NhbCBsb2NhdGlvbiBsb2NrIGxvY2tzIG1hcGpvaW4gbWF0ZXJpYWxpemVkIG1pbnVzIG1zY2sgbm9fZHJvcCBub2NvbXByZXNzIG5vdCBvZiBvZmZsaW5lIG9uIG9wdGlvbiBvciBvcmRlciBvdXQgb3V0ZXIgb3V0cHV0ZHJpdmVyIG91dHB1dGZvcm1hdCBvdmVyd3JpdGUgcGFydGl0aW9uIHBhcnRpdGlvbmVkIHBhcnRpdGlvbnMgcGVyY2VudCBwbHVzIHByZXNlcnZlIHByb2NlZHVyZSBwdXJnZSByYW5nZSByY2ZpbGUgcmVhZCByZWFkb25seSByZWFkcyByZWJ1aWxkIHJlY29yZHJlYWRlciByZWNvcmR3cml0ZXIgcmVjb3ZlciByZWR1Y2UgcmVnZXhwIHJlbmFtZSByZXBhaXIgcmVwbGFjZSByZXN0cmljdCByZXZva2UgcmlnaHQgcmxpa2Ugcm93IHNjaGVtYSBzY2hlbWFzIHNlbWkgc2VxdWVuY2VmaWxlIHNlcmRlIHNlcmRlcHJvcGVydGllcyBzZXQgc2hhcmVkIHNob3cgc2hvd19kYXRhYmFzZSBzb3J0IHNvcnRlZCBzc2wgc3RhdGlzdGljcyBzdG9yZWQgc3RyZWFtdGFibGUgdGFibGUgdGFibGVzIHRhYmxlc2FtcGxlIHRibHByb3BlcnRpZXMgdGVtcG9yYXJ5IHRlcm1pbmF0ZWQgdGV4dGZpbGUgdGhlbiB0bXAgdG8gdG91Y2ggdHJhbnNmb3JtIHRyaWdnZXIgdW5hcmNoaXZlIHVuZG8gdW5pb24gdW5pcXVlam9pbiB1bmxvY2sgdXBkYXRlIHVzZSB1c2luZyB1dGMgdXRjX3RtZXN0YW1wIHZpZXcgd2hlbiB3aGVyZSB3aGlsZSB3aXRoIGFkbWluIGF1dGhvcml6YXRpb24gY2hhciBjb21wYWN0IGNvbXBhY3Rpb25zIGNvbmYgY3ViZSBjdXJyZW50IGN1cnJlbnRfZGF0ZSBjdXJyZW50X3RpbWVzdGFtcCBkYXkgZGVjaW1hbCBkZWZpbmVkIGRlcGVuZGVuY3kgZGlyZWN0b3JpZXMgZWxlbV90eXBlIGV4Y2hhbmdlIGZpbGUgZm9sbG93aW5nIGZvciBncm91cGluZyBob3VyIGlnbm9yZSBpbm5lciBpbnRlcnZhbCBqYXIgbGVzcyBsb2dpY2FsIG1hY3JvIG1pbnV0ZSBtb250aCBtb3JlIG5vbmUgbm9zY2FuIG92ZXIgb3duZXIgcGFydGlhbHNjYW4gcHJlY2VkaW5nIHByZXR0eSBwcmluY2lwYWxzIHByb3RlY3Rpb24gcmVsb2FkIHJld3JpdGUgcm9sZSByb2xlcyByb2xsdXAgcm93cyBzZWNvbmQgc2VydmVyIHNldHMgc2tld2VkIHRyYW5zYWN0aW9ucyB0cnVuY2F0ZSB1bmJvdW5kZWQgdW5zZXQgdXJpIHVzZXIgdmFsdWVzIHdpbmRvdyB5ZWFyXCIpLFxuICAgIGJ1aWx0aW46IHNldChcImJvb2wgYm9vbGVhbiBsb25nIHRpbWVzdGFtcCB0aW55aW50IHNtYWxsaW50IGJpZ2ludCBpbnQgZmxvYXQgZG91YmxlIGRhdGUgZGF0ZXRpbWUgdW5zaWduZWQgc3RyaW5nIGFycmF5IHN0cnVjdCBtYXAgdW5pb250eXBlIGtleV90eXBlIHV0Y3RpbWVzdGFtcCB2YWx1ZV90eXBlIHZhcmNoYXJcIiksXG4gICAgYXRvbXM6IHNldChcImZhbHNlIHRydWUgbnVsbCB1bmtub3duXCIpLFxuICAgIG9wZXJhdG9yQ2hhcnM6IC9eWyorXFwtJTw+IT1dLyxcbiAgICBkYXRlU1FMOiBzZXQoXCJkYXRlIHRpbWVzdGFtcFwiKSxcbiAgICBzdXBwb3J0OiBzZXQoXCJPREJDZG90VGFibGUgZG91YmxlUXVvdGUgYmluYXJ5TnVtYmVyIGhleE51bWJlclwiKVxuICB9KTtcblxuICBDb2RlTWlycm9yLmRlZmluZU1JTUUoXCJ0ZXh0L3gtcGdzcWxcIiwge1xuICAgIG5hbWU6IFwic3FsXCIsXG4gICAgY2xpZW50OiBzZXQoXCJzb3VyY2VcIiksXG4gICAgLy8gRm9yIFBvc3RncmVTUUwgLSBodHRwczovL3d3dy5wb3N0Z3Jlc3FsLm9yZy9kb2NzLzExL3NxbC1rZXl3b3Jkcy1hcHBlbmRpeC5odG1sXG4gICAgLy8gRm9yIHBsL3Bnc3FsIGxhbmcgLSBodHRwczovL2dpdGh1Yi5jb20vcG9zdGdyZXMvcG9zdGdyZXMvYmxvYi9SRUxfMTFfMi9zcmMvcGwvcGxwZ3NxbC9zcmMvcGxfc2Nhbm5lci5jXG4gICAga2V5d29yZHM6IHNldChzcWxLZXl3b3JkcyArIFwiYSBhYm9ydCBhYnMgYWJzZW50IGFic29sdXRlIGFjY2VzcyBhY2NvcmRpbmcgYWN0aW9uIGFkYSBhZGQgYWRtaW4gYWZ0ZXIgYWdncmVnYXRlIGFsaWFzIGFsbCBhbGxvY2F0ZSBhbHNvIGFsdGVyIGFsd2F5cyBhbmFseXNlIGFuYWx5emUgYW5kIGFueSBhcmUgYXJyYXkgYXJyYXlfYWdnIGFycmF5X21heF9jYXJkaW5hbGl0eSBhcyBhc2MgYXNlbnNpdGl2ZSBhc3NlcnQgYXNzZXJ0aW9uIGFzc2lnbm1lbnQgYXN5bW1ldHJpYyBhdCBhdG9taWMgYXR0YWNoIGF0dHJpYnV0ZSBhdHRyaWJ1dGVzIGF1dGhvcml6YXRpb24gYXZnIGJhY2t3YXJkIGJhc2U2NCBiZWZvcmUgYmVnaW4gYmVnaW5fZnJhbWUgYmVnaW5fcGFydGl0aW9uIGJlcm5vdWxsaSBiZXR3ZWVuIGJpZ2ludCBiaW5hcnkgYml0IGJpdF9sZW5ndGggYmxvYiBibG9ja2VkIGJvbSBib29sZWFuIGJvdGggYnJlYWR0aCBieSBjIGNhY2hlIGNhbGwgY2FsbGVkIGNhcmRpbmFsaXR5IGNhc2NhZGUgY2FzY2FkZWQgY2FzZSBjYXN0IGNhdGFsb2cgY2F0YWxvZ19uYW1lIGNlaWwgY2VpbGluZyBjaGFpbiBjaGFyIGNoYXJfbGVuZ3RoIGNoYXJhY3RlciBjaGFyYWN0ZXJfbGVuZ3RoIGNoYXJhY3Rlcl9zZXRfY2F0YWxvZyBjaGFyYWN0ZXJfc2V0X25hbWUgY2hhcmFjdGVyX3NldF9zY2hlbWEgY2hhcmFjdGVyaXN0aWNzIGNoYXJhY3RlcnMgY2hlY2sgY2hlY2twb2ludCBjbGFzcyBjbGFzc19vcmlnaW4gY2xvYiBjbG9zZSBjbHVzdGVyIGNvYWxlc2NlIGNvYm9sIGNvbGxhdGUgY29sbGF0aW9uIGNvbGxhdGlvbl9jYXRhbG9nIGNvbGxhdGlvbl9uYW1lIGNvbGxhdGlvbl9zY2hlbWEgY29sbGVjdCBjb2x1bW4gY29sdW1uX25hbWUgY29sdW1ucyBjb21tYW5kX2Z1bmN0aW9uIGNvbW1hbmRfZnVuY3Rpb25fY29kZSBjb21tZW50IGNvbW1lbnRzIGNvbW1pdCBjb21taXR0ZWQgY29uY3VycmVudGx5IGNvbmRpdGlvbiBjb25kaXRpb25fbnVtYmVyIGNvbmZpZ3VyYXRpb24gY29uZmxpY3QgY29ubmVjdCBjb25uZWN0aW9uIGNvbm5lY3Rpb25fbmFtZSBjb25zdGFudCBjb25zdHJhaW50IGNvbnN0cmFpbnRfY2F0YWxvZyBjb25zdHJhaW50X25hbWUgY29uc3RyYWludF9zY2hlbWEgY29uc3RyYWludHMgY29uc3RydWN0b3IgY29udGFpbnMgY29udGVudCBjb250aW51ZSBjb250cm9sIGNvbnZlcnNpb24gY29udmVydCBjb3B5IGNvcnIgY29ycmVzcG9uZGluZyBjb3N0IGNvdW50IGNvdmFyX3BvcCBjb3Zhcl9zYW1wIGNyZWF0ZSBjcm9zcyBjc3YgY3ViZSBjdW1lX2Rpc3QgY3VycmVudCBjdXJyZW50X2NhdGFsb2cgY3VycmVudF9kYXRlIGN1cnJlbnRfZGVmYXVsdF90cmFuc2Zvcm1fZ3JvdXAgY3VycmVudF9wYXRoIGN1cnJlbnRfcm9sZSBjdXJyZW50X3JvdyBjdXJyZW50X3NjaGVtYSBjdXJyZW50X3RpbWUgY3VycmVudF90aW1lc3RhbXAgY3VycmVudF90cmFuc2Zvcm1fZ3JvdXBfZm9yX3R5cGUgY3VycmVudF91c2VyIGN1cnNvciBjdXJzb3JfbmFtZSBjeWNsZSBkYXRhIGRhdGFiYXNlIGRhdGFsaW5rIGRhdGF0eXBlIGRhdGUgZGF0ZXRpbWVfaW50ZXJ2YWxfY29kZSBkYXRldGltZV9pbnRlcnZhbF9wcmVjaXNpb24gZGF5IGRiIGRlYWxsb2NhdGUgZGVidWcgZGVjIGRlY2ltYWwgZGVjbGFyZSBkZWZhdWx0IGRlZmF1bHRzIGRlZmVycmFibGUgZGVmZXJyZWQgZGVmaW5lZCBkZWZpbmVyIGRlZ3JlZSBkZWxldGUgZGVsaW1pdGVyIGRlbGltaXRlcnMgZGVuc2VfcmFuayBkZXBlbmRzIGRlcHRoIGRlcmVmIGRlcml2ZWQgZGVzYyBkZXNjcmliZSBkZXNjcmlwdG9yIGRldGFjaCBkZXRhaWwgZGV0ZXJtaW5pc3RpYyBkaWFnbm9zdGljcyBkaWN0aW9uYXJ5IGRpc2FibGUgZGlzY2FyZCBkaXNjb25uZWN0IGRpc3BhdGNoIGRpc3RpbmN0IGRsbmV3Y29weSBkbHByZXZpb3VzY29weSBkbHVybGNvbXBsZXRlIGRsdXJsY29tcGxldGVvbmx5IGRsdXJsY29tcGxldGV3cml0ZSBkbHVybHBhdGggZGx1cmxwYXRob25seSBkbHVybHBhdGh3cml0ZSBkbHVybHNjaGVtZSBkbHVybHNlcnZlciBkbHZhbHVlIGRvIGRvY3VtZW50IGRvbWFpbiBkb3VibGUgZHJvcCBkdW1wIGR5bmFtaWMgZHluYW1pY19mdW5jdGlvbiBkeW5hbWljX2Z1bmN0aW9uX2NvZGUgZWFjaCBlbGVtZW50IGVsc2UgZWxzZWlmIGVsc2lmIGVtcHR5IGVuYWJsZSBlbmNvZGluZyBlbmNyeXB0ZWQgZW5kIGVuZF9mcmFtZSBlbmRfcGFydGl0aW9uIGVuZGV4ZWMgZW5mb3JjZWQgZW51bSBlcXVhbHMgZXJyY29kZSBlcnJvciBlc2NhcGUgZXZlbnQgZXZlcnkgZXhjZXB0IGV4Y2VwdGlvbiBleGNsdWRlIGV4Y2x1ZGluZyBleGNsdXNpdmUgZXhlYyBleGVjdXRlIGV4aXN0cyBleGl0IGV4cCBleHBsYWluIGV4cHJlc3Npb24gZXh0ZW5zaW9uIGV4dGVybmFsIGV4dHJhY3QgZmFsc2UgZmFtaWx5IGZldGNoIGZpbGUgZmlsdGVyIGZpbmFsIGZpcnN0IGZpcnN0X3ZhbHVlIGZsYWcgZmxvYXQgZmxvb3IgZm9sbG93aW5nIGZvciBmb3JjZSBmb3JlYWNoIGZvcmVpZ24gZm9ydHJhbiBmb3J3YXJkIGZvdW5kIGZyYW1lX3JvdyBmcmVlIGZyZWV6ZSBmcm9tIGZzIGZ1bGwgZnVuY3Rpb24gZnVuY3Rpb25zIGZ1c2lvbiBnIGdlbmVyYWwgZ2VuZXJhdGVkIGdldCBnbG9iYWwgZ28gZ290byBncmFudCBncmFudGVkIGdyZWF0ZXN0IGdyb3VwIGdyb3VwaW5nIGdyb3VwcyBoYW5kbGVyIGhhdmluZyBoZWFkZXIgaGV4IGhpZXJhcmNoeSBoaW50IGhvbGQgaG91ciBpZCBpZGVudGl0eSBpZiBpZ25vcmUgaWxpa2UgaW1tZWRpYXRlIGltbWVkaWF0ZWx5IGltbXV0YWJsZSBpbXBsZW1lbnRhdGlvbiBpbXBsaWNpdCBpbXBvcnQgaW4gaW5jbHVkZSBpbmNsdWRpbmcgaW5jcmVtZW50IGluZGVudCBpbmRleCBpbmRleGVzIGluZGljYXRvciBpbmZvIGluaGVyaXQgaW5oZXJpdHMgaW5pdGlhbGx5IGlubGluZSBpbm5lciBpbm91dCBpbnB1dCBpbnNlbnNpdGl2ZSBpbnNlcnQgaW5zdGFuY2UgaW5zdGFudGlhYmxlIGluc3RlYWQgaW50IGludGVnZXIgaW50ZWdyaXR5IGludGVyc2VjdCBpbnRlcnNlY3Rpb24gaW50ZXJ2YWwgaW50byBpbnZva2VyIGlzIGlzbnVsbCBpc29sYXRpb24gam9pbiBrIGtleSBrZXlfbWVtYmVyIGtleV90eXBlIGxhYmVsIGxhZyBsYW5ndWFnZSBsYXJnZSBsYXN0IGxhc3RfdmFsdWUgbGF0ZXJhbCBsZWFkIGxlYWRpbmcgbGVha3Byb29mIGxlYXN0IGxlZnQgbGVuZ3RoIGxldmVsIGxpYnJhcnkgbGlrZSBsaWtlX3JlZ2V4IGxpbWl0IGxpbmsgbGlzdGVuIGxuIGxvYWQgbG9jYWwgbG9jYWx0aW1lIGxvY2FsdGltZXN0YW1wIGxvY2F0aW9uIGxvY2F0b3IgbG9jayBsb2NrZWQgbG9nIGxvZ2dlZCBsb29wIGxvd2VyIG0gbWFwIG1hcHBpbmcgbWF0Y2ggbWF0Y2hlZCBtYXRlcmlhbGl6ZWQgbWF4IG1heF9jYXJkaW5hbGl0eSBtYXh2YWx1ZSBtZW1iZXIgbWVyZ2UgbWVzc2FnZSBtZXNzYWdlX2xlbmd0aCBtZXNzYWdlX29jdGV0X2xlbmd0aCBtZXNzYWdlX3RleHQgbWV0aG9kIG1pbiBtaW51dGUgbWludmFsdWUgbW9kIG1vZGUgbW9kaWZpZXMgbW9kdWxlIG1vbnRoIG1vcmUgbW92ZSBtdWx0aXNldCBtdW1wcyBuYW1lIG5hbWVzIG5hbWVzcGFjZSBuYXRpb25hbCBuYXR1cmFsIG5jaGFyIG5jbG9iIG5lc3RpbmcgbmV3IG5leHQgbmZjIG5mZCBuZmtjIG5ma2QgbmlsIG5vIG5vbmUgbm9ybWFsaXplIG5vcm1hbGl6ZWQgbm90IG5vdGhpbmcgbm90aWNlIG5vdGlmeSBub3RudWxsIG5vd2FpdCBudGhfdmFsdWUgbnRpbGUgbnVsbCBudWxsYWJsZSBudWxsaWYgbnVsbHMgbnVtYmVyIG51bWVyaWMgb2JqZWN0IG9jY3VycmVuY2VzX3JlZ2V4IG9jdGV0X2xlbmd0aCBvY3RldHMgb2Ygb2ZmIG9mZnNldCBvaWRzIG9sZCBvbiBvbmx5IG9wZW4gb3BlcmF0b3Igb3B0aW9uIG9wdGlvbnMgb3Igb3JkZXIgb3JkZXJpbmcgb3JkaW5hbGl0eSBvdGhlcnMgb3V0IG91dGVyIG91dHB1dCBvdmVyIG92ZXJsYXBzIG92ZXJsYXkgb3ZlcnJpZGluZyBvd25lZCBvd25lciBwIHBhZCBwYXJhbGxlbCBwYXJhbWV0ZXIgcGFyYW1ldGVyX21vZGUgcGFyYW1ldGVyX25hbWUgcGFyYW1ldGVyX29yZGluYWxfcG9zaXRpb24gcGFyYW1ldGVyX3NwZWNpZmljX2NhdGFsb2cgcGFyYW1ldGVyX3NwZWNpZmljX25hbWUgcGFyYW1ldGVyX3NwZWNpZmljX3NjaGVtYSBwYXJzZXIgcGFydGlhbCBwYXJ0aXRpb24gcGFzY2FsIHBhc3NpbmcgcGFzc3Rocm91Z2ggcGFzc3dvcmQgcGF0aCBwZXJjZW50IHBlcmNlbnRfcmFuayBwZXJjZW50aWxlX2NvbnQgcGVyY2VudGlsZV9kaXNjIHBlcmZvcm0gcGVyaW9kIHBlcm1pc3Npb24gcGdfY29udGV4dCBwZ19kYXRhdHlwZV9uYW1lIHBnX2V4Y2VwdGlvbl9jb250ZXh0IHBnX2V4Y2VwdGlvbl9kZXRhaWwgcGdfZXhjZXB0aW9uX2hpbnQgcGxhY2luZyBwbGFucyBwbGkgcG9saWN5IHBvcnRpb24gcG9zaXRpb24gcG9zaXRpb25fcmVnZXggcG93ZXIgcHJlY2VkZXMgcHJlY2VkaW5nIHByZWNpc2lvbiBwcmVwYXJlIHByZXBhcmVkIHByZXNlcnZlIHByaW1hcnkgcHJpbnRfc3RyaWN0X3BhcmFtcyBwcmlvciBwcml2aWxlZ2VzIHByb2NlZHVyYWwgcHJvY2VkdXJlIHByb2NlZHVyZXMgcHJvZ3JhbSBwdWJsaWMgcHVibGljYXRpb24gcXVlcnkgcXVvdGUgcmFpc2UgcmFuZ2UgcmFuayByZWFkIHJlYWRzIHJlYWwgcmVhc3NpZ24gcmVjaGVjayByZWNvdmVyeSByZWN1cnNpdmUgcmVmIHJlZmVyZW5jZXMgcmVmZXJlbmNpbmcgcmVmcmVzaCByZWdyX2F2Z3ggcmVncl9hdmd5IHJlZ3JfY291bnQgcmVncl9pbnRlcmNlcHQgcmVncl9yMiByZWdyX3Nsb3BlIHJlZ3Jfc3h4IHJlZ3Jfc3h5IHJlZ3Jfc3l5IHJlaW5kZXggcmVsYXRpdmUgcmVsZWFzZSByZW5hbWUgcmVwZWF0YWJsZSByZXBsYWNlIHJlcGxpY2EgcmVxdWlyaW5nIHJlc2V0IHJlc3BlY3QgcmVzdGFydCByZXN0b3JlIHJlc3RyaWN0IHJlc3VsdCByZXN1bHRfb2lkIHJldHVybiByZXR1cm5lZF9jYXJkaW5hbGl0eSByZXR1cm5lZF9sZW5ndGggcmV0dXJuZWRfb2N0ZXRfbGVuZ3RoIHJldHVybmVkX3NxbHN0YXRlIHJldHVybmluZyByZXR1cm5zIHJldmVyc2UgcmV2b2tlIHJpZ2h0IHJvbGUgcm9sbGJhY2sgcm9sbHVwIHJvdXRpbmUgcm91dGluZV9jYXRhbG9nIHJvdXRpbmVfbmFtZSByb3V0aW5lX3NjaGVtYSByb3V0aW5lcyByb3cgcm93X2NvdW50IHJvd19udW1iZXIgcm93cyByb3d0eXBlIHJ1bGUgc2F2ZXBvaW50IHNjYWxlIHNjaGVtYSBzY2hlbWFfbmFtZSBzY2hlbWFzIHNjb3BlIHNjb3BlX2NhdGFsb2cgc2NvcGVfbmFtZSBzY29wZV9zY2hlbWEgc2Nyb2xsIHNlYXJjaCBzZWNvbmQgc2VjdGlvbiBzZWN1cml0eSBzZWxlY3Qgc2VsZWN0aXZlIHNlbGYgc2Vuc2l0aXZlIHNlcXVlbmNlIHNlcXVlbmNlcyBzZXJpYWxpemFibGUgc2VydmVyIHNlcnZlcl9uYW1lIHNlc3Npb24gc2Vzc2lvbl91c2VyIHNldCBzZXRvZiBzZXRzIHNoYXJlIHNob3cgc2ltaWxhciBzaW1wbGUgc2l6ZSBza2lwIHNsaWNlIHNtYWxsaW50IHNuYXBzaG90IHNvbWUgc291cmNlIHNwYWNlIHNwZWNpZmljIHNwZWNpZmljX25hbWUgc3BlY2lmaWN0eXBlIHNxbCBzcWxjb2RlIHNxbGVycm9yIHNxbGV4Y2VwdGlvbiBzcWxzdGF0ZSBzcWx3YXJuaW5nIHNxcnQgc3RhYmxlIHN0YWNrZWQgc3RhbmRhbG9uZSBzdGFydCBzdGF0ZSBzdGF0ZW1lbnQgc3RhdGljIHN0YXRpc3RpY3Mgc3RkZGV2X3BvcCBzdGRkZXZfc2FtcCBzdGRpbiBzdGRvdXQgc3RvcmFnZSBzdHJpY3Qgc3RyaXAgc3RydWN0dXJlIHN0eWxlIHN1YmNsYXNzX29yaWdpbiBzdWJtdWx0aXNldCBzdWJzY3JpcHRpb24gc3Vic3RyaW5nIHN1YnN0cmluZ19yZWdleCBzdWNjZWVkcyBzdW0gc3ltbWV0cmljIHN5c2lkIHN5c3RlbSBzeXN0ZW1fdGltZSBzeXN0ZW1fdXNlciB0IHRhYmxlIHRhYmxlX25hbWUgdGFibGVzIHRhYmxlc2FtcGxlIHRhYmxlc3BhY2UgdGVtcCB0ZW1wbGF0ZSB0ZW1wb3JhcnkgdGV4dCB0aGVuIHRpZXMgdGltZSB0aW1lc3RhbXAgdGltZXpvbmVfaG91ciB0aW1lem9uZV9taW51dGUgdG8gdG9rZW4gdG9wX2xldmVsX2NvdW50IHRyYWlsaW5nIHRyYW5zYWN0aW9uIHRyYW5zYWN0aW9uX2FjdGl2ZSB0cmFuc2FjdGlvbnNfY29tbWl0dGVkIHRyYW5zYWN0aW9uc19yb2xsZWRfYmFjayB0cmFuc2Zvcm0gdHJhbnNmb3JtcyB0cmFuc2xhdGUgdHJhbnNsYXRlX3JlZ2V4IHRyYW5zbGF0aW9uIHRyZWF0IHRyaWdnZXIgdHJpZ2dlcl9jYXRhbG9nIHRyaWdnZXJfbmFtZSB0cmlnZ2VyX3NjaGVtYSB0cmltIHRyaW1fYXJyYXkgdHJ1ZSB0cnVuY2F0ZSB0cnVzdGVkIHR5cGUgdHlwZXMgdWVzY2FwZSB1bmJvdW5kZWQgdW5jb21taXR0ZWQgdW5kZXIgdW5lbmNyeXB0ZWQgdW5pb24gdW5pcXVlIHVua25vd24gdW5saW5rIHVubGlzdGVuIHVubG9nZ2VkIHVubmFtZWQgdW5uZXN0IHVudGlsIHVudHlwZWQgdXBkYXRlIHVwcGVyIHVyaSB1c2FnZSB1c2VfY29sdW1uIHVzZV92YXJpYWJsZSB1c2VyIHVzZXJfZGVmaW5lZF90eXBlX2NhdGFsb2cgdXNlcl9kZWZpbmVkX3R5cGVfY29kZSB1c2VyX2RlZmluZWRfdHlwZV9uYW1lIHVzZXJfZGVmaW5lZF90eXBlX3NjaGVtYSB1c2luZyB2YWN1dW0gdmFsaWQgdmFsaWRhdGUgdmFsaWRhdG9yIHZhbHVlIHZhbHVlX29mIHZhbHVlcyB2YXJfcG9wIHZhcl9zYW1wIHZhcmJpbmFyeSB2YXJjaGFyIHZhcmlhYmxlX2NvbmZsaWN0IHZhcmlhZGljIHZhcnlpbmcgdmVyYm9zZSB2ZXJzaW9uIHZlcnNpb25pbmcgdmlldyB2aWV3cyB2b2xhdGlsZSB3YXJuaW5nIHdoZW4gd2hlbmV2ZXIgd2hlcmUgd2hpbGUgd2hpdGVzcGFjZSB3aWR0aF9idWNrZXQgd2luZG93IHdpdGggd2l0aGluIHdpdGhvdXQgd29yayB3cmFwcGVyIHdyaXRlIHhtbCB4bWxhZ2cgeG1sYXR0cmlidXRlcyB4bWxiaW5hcnkgeG1sY2FzdCB4bWxjb21tZW50IHhtbGNvbmNhdCB4bWxkZWNsYXJhdGlvbiB4bWxkb2N1bWVudCB4bWxlbGVtZW50IHhtbGV4aXN0cyB4bWxmb3Jlc3QgeG1saXRlcmF0ZSB4bWxuYW1lc3BhY2VzIHhtbHBhcnNlIHhtbHBpIHhtbHF1ZXJ5IHhtbHJvb3QgeG1sc2NoZW1hIHhtbHNlcmlhbGl6ZSB4bWx0YWJsZSB4bWx0ZXh0IHhtbHZhbGlkYXRlIHllYXIgeWVzIHpvbmVcIiksXG4gICAgLy8gaHR0cHM6Ly93d3cucG9zdGdyZXNxbC5vcmcvZG9jcy8xMS9kYXRhdHlwZS5odG1sXG4gICAgYnVpbHRpbjogc2V0KFwiYmlnaW50IGludDggYmlnc2VyaWFsIHNlcmlhbDggYml0IHZhcnlpbmcgdmFyYml0IGJvb2xlYW4gYm9vbCBib3ggYnl0ZWEgY2hhcmFjdGVyIGNoYXIgdmFyY2hhciBjaWRyIGNpcmNsZSBkYXRlIGRvdWJsZSBwcmVjaXNpb24gZmxvYXQ4IGluZXQgaW50ZWdlciBpbnQgaW50NCBpbnRlcnZhbCBqc29uIGpzb25iIGxpbmUgbHNlZyBtYWNhZGRyIG1hY2FkZHI4IG1vbmV5IG51bWVyaWMgZGVjaW1hbCBwYXRoIHBnX2xzbiBwb2ludCBwb2x5Z29uIHJlYWwgZmxvYXQ0IHNtYWxsaW50IGludDIgc21hbGxzZXJpYWwgc2VyaWFsMiBzZXJpYWwgc2VyaWFsNCB0ZXh0IHRpbWUgd2l0aG91dCB6b25lIHdpdGggdGltZXR6IHRpbWVzdGFtcCB0aW1lc3RhbXB0eiB0c3F1ZXJ5IHRzdmVjdG9yIHR4aWRfc25hcHNob3QgdXVpZCB4bWxcIiksXG4gICAgYXRvbXM6IHNldChcImZhbHNlIHRydWUgbnVsbCB1bmtub3duXCIpLFxuICAgIG9wZXJhdG9yQ2hhcnM6IC9eWypcXC8rXFwtJTw+IT0mfF5cXC8jQD9+XS8sXG4gICAgZGF0ZVNRTDogc2V0KFwiZGF0ZSB0aW1lIHRpbWVzdGFtcFwiKSxcbiAgICBzdXBwb3J0OiBzZXQoXCJPREJDZG90VGFibGUgZGVjaW1hbGxlc3NGbG9hdCB6ZXJvbGVzc0Zsb2F0IGJpbmFyeU51bWJlciBoZXhOdW1iZXIgbkNoYXJDYXN0IGNoYXJzZXRDYXN0XCIpXG4gIH0pO1xuXG4gIC8vIEdvb2dsZSdzIFNRTC1saWtlIHF1ZXJ5IGxhbmd1YWdlLCBHUUxcbiAgQ29kZU1pcnJvci5kZWZpbmVNSU1FKFwidGV4dC94LWdxbFwiLCB7XG4gICAgbmFtZTogXCJzcWxcIixcbiAgICBrZXl3b3Jkczogc2V0KFwiYW5jZXN0b3IgYW5kIGFzYyBieSBjb250YWlucyBkZXNjIGRlc2NlbmRhbnQgZGlzdGluY3QgZnJvbSBncm91cCBoYXMgaW4gaXMgbGltaXQgb2Zmc2V0IG9uIG9yZGVyIHNlbGVjdCBzdXBlcnNldCB3aGVyZVwiKSxcbiAgICBhdG9tczogc2V0KFwiZmFsc2UgdHJ1ZVwiKSxcbiAgICBidWlsdGluOiBzZXQoXCJibG9iIGRhdGV0aW1lIGZpcnN0IGtleSBfX2tleV9fIHN0cmluZyBpbnRlZ2VyIGRvdWJsZSBib29sZWFuIG51bGxcIiksXG4gICAgb3BlcmF0b3JDaGFyczogL15bKitcXC0lPD4hPV0vXG4gIH0pO1xuXG4gIC8vIEdyZWVucGx1bVxuICBDb2RlTWlycm9yLmRlZmluZU1JTUUoXCJ0ZXh0L3gtZ3BzcWxcIiwge1xuICAgIG5hbWU6IFwic3FsXCIsXG4gICAgY2xpZW50OiBzZXQoXCJzb3VyY2VcIiksXG4gICAgLy9odHRwczovL2dpdGh1Yi5jb20vZ3JlZW5wbHVtLWRiL2dwZGIvYmxvYi9tYXN0ZXIvc3JjL2luY2x1ZGUvcGFyc2VyL2t3bGlzdC5oXG4gICAga2V5d29yZHM6IHNldChcImFib3J0IGFic29sdXRlIGFjY2VzcyBhY3Rpb24gYWN0aXZlIGFkZCBhZG1pbiBhZnRlciBhZ2dyZWdhdGUgYWxsIGFsc28gYWx0ZXIgYWx3YXlzIGFuYWx5c2UgYW5hbHl6ZSBhbmQgYW55IGFycmF5IGFzIGFzYyBhc3NlcnRpb24gYXNzaWdubWVudCBhc3ltbWV0cmljIGF0IGF1dGhvcml6YXRpb24gYmFja3dhcmQgYmVmb3JlIGJlZ2luIGJldHdlZW4gYmlnaW50IGJpbmFyeSBiaXQgYm9vbGVhbiBib3RoIGJ5IGNhY2hlIGNhbGxlZCBjYXNjYWRlIGNhc2NhZGVkIGNhc2UgY2FzdCBjaGFpbiBjaGFyIGNoYXJhY3RlciBjaGFyYWN0ZXJpc3RpY3MgY2hlY2sgY2hlY2twb2ludCBjbGFzcyBjbG9zZSBjbHVzdGVyIGNvYWxlc2NlIGNvZGVnZW4gY29sbGF0ZSBjb2x1bW4gY29tbWVudCBjb21taXQgY29tbWl0dGVkIGNvbmN1cnJlbmN5IGNvbmN1cnJlbnRseSBjb25maWd1cmF0aW9uIGNvbm5lY3Rpb24gY29uc3RyYWludCBjb25zdHJhaW50cyBjb250YWlucyBjb250ZW50IGNvbnRpbnVlIGNvbnZlcnNpb24gY29weSBjb3N0IGNwdV9yYXRlX2xpbWl0IGNyZWF0ZSBjcmVhdGVkYiBjcmVhdGVleHR0YWJsZSBjcmVhdGVyb2xlIGNyZWF0ZXVzZXIgY3Jvc3MgY3N2IGN1YmUgY3VycmVudCBjdXJyZW50X2NhdGFsb2cgY3VycmVudF9kYXRlIGN1cnJlbnRfcm9sZSBjdXJyZW50X3NjaGVtYSBjdXJyZW50X3RpbWUgY3VycmVudF90aW1lc3RhbXAgY3VycmVudF91c2VyIGN1cnNvciBjeWNsZSBkYXRhIGRhdGFiYXNlIGRheSBkZWFsbG9jYXRlIGRlYyBkZWNpbWFsIGRlY2xhcmUgZGVjb2RlIGRlZmF1bHQgZGVmYXVsdHMgZGVmZXJyYWJsZSBkZWZlcnJlZCBkZWZpbmVyIGRlbGV0ZSBkZWxpbWl0ZXIgZGVsaW1pdGVycyBkZW55IGRlc2MgZGljdGlvbmFyeSBkaXNhYmxlIGRpc2NhcmQgZGlzdGluY3QgZGlzdHJpYnV0ZWQgZG8gZG9jdW1lbnQgZG9tYWluIGRvdWJsZSBkcm9wIGR4bCBlYWNoIGVsc2UgZW5hYmxlIGVuY29kaW5nIGVuY3J5cHRlZCBlbmQgZW51bSBlcnJvcnMgZXNjYXBlIGV2ZXJ5IGV4Y2VwdCBleGNoYW5nZSBleGNsdWRlIGV4Y2x1ZGluZyBleGNsdXNpdmUgZXhlY3V0ZSBleGlzdHMgZXhwbGFpbiBleHRlbnNpb24gZXh0ZXJuYWwgZXh0cmFjdCBmYWxzZSBmYW1pbHkgZmV0Y2ggZmllbGRzIGZpbGVzcGFjZSBmaWxsIGZpbHRlciBmaXJzdCBmbG9hdCBmb2xsb3dpbmcgZm9yIGZvcmNlIGZvcmVpZ24gZm9ybWF0IGZvcndhcmQgZnJlZXplIGZyb20gZnVsbCBmdW5jdGlvbiBnbG9iYWwgZ3JhbnQgZ3JhbnRlZCBncmVhdGVzdCBncm91cCBncm91cF9pZCBncm91cGluZyBoYW5kbGVyIGhhc2ggaGF2aW5nIGhlYWRlciBob2xkIGhvc3QgaG91ciBpZGVudGl0eSBpZiBpZ25vcmUgaWxpa2UgaW1tZWRpYXRlIGltbXV0YWJsZSBpbXBsaWNpdCBpbiBpbmNsdWRpbmcgaW5jbHVzaXZlIGluY3JlbWVudCBpbmRleCBpbmRleGVzIGluaGVyaXQgaW5oZXJpdHMgaW5pdGlhbGx5IGlubGluZSBpbm5lciBpbm91dCBpbnB1dCBpbnNlbnNpdGl2ZSBpbnNlcnQgaW5zdGVhZCBpbnQgaW50ZWdlciBpbnRlcnNlY3QgaW50ZXJ2YWwgaW50byBpbnZva2VyIGlzIGlzbnVsbCBpc29sYXRpb24gam9pbiBrZXkgbGFuZ3VhZ2UgbGFyZ2UgbGFzdCBsZWFkaW5nIGxlYXN0IGxlZnQgbGV2ZWwgbGlrZSBsaW1pdCBsaXN0IGxpc3RlbiBsb2FkIGxvY2FsIGxvY2FsdGltZSBsb2NhbHRpbWVzdGFtcCBsb2NhdGlvbiBsb2NrIGxvZyBsb2dpbiBtYXBwaW5nIG1hc3RlciBtYXRjaCBtYXh2YWx1ZSBtZWRpYW4gbWVyZ2UgbWludXRlIG1pbnZhbHVlIG1pc3NpbmcgbW9kZSBtb2RpZmllcyBtb2RpZnkgbW9udGggbW92ZSBuYW1lIG5hbWVzIG5hdGlvbmFsIG5hdHVyYWwgbmNoYXIgbmV3IG5ld2xpbmUgbmV4dCBubyBub2NyZWF0ZWRiIG5vY3JlYXRlZXh0dGFibGUgbm9jcmVhdGVyb2xlIG5vY3JlYXRldXNlciBub2luaGVyaXQgbm9sb2dpbiBub25lIG5vb3ZlcmNvbW1pdCBub3N1cGVydXNlciBub3Qgbm90aGluZyBub3RpZnkgbm90bnVsbCBub3dhaXQgbnVsbCBudWxsaWYgbnVsbHMgbnVtZXJpYyBvYmplY3Qgb2Ygb2ZmIG9mZnNldCBvaWRzIG9sZCBvbiBvbmx5IG9wZXJhdG9yIG9wdGlvbiBvcHRpb25zIG9yIG9yZGVyIG9yZGVyZWQgb3RoZXJzIG91dCBvdXRlciBvdmVyIG92ZXJjb21taXQgb3ZlcmxhcHMgb3ZlcmxheSBvd25lZCBvd25lciBwYXJzZXIgcGFydGlhbCBwYXJ0aXRpb24gcGFydGl0aW9ucyBwYXNzaW5nIHBhc3N3b3JkIHBlcmNlbnQgcGVyY2VudGlsZV9jb250IHBlcmNlbnRpbGVfZGlzYyBwbGFjaW5nIHBsYW5zIHBvc2l0aW9uIHByZWNlZGluZyBwcmVjaXNpb24gcHJlcGFyZSBwcmVwYXJlZCBwcmVzZXJ2ZSBwcmltYXJ5IHByaW9yIHByaXZpbGVnZXMgcHJvY2VkdXJhbCBwcm9jZWR1cmUgcHJvdG9jb2wgcXVldWUgcXVvdGUgcmFuZG9tbHkgcmFuZ2UgcmVhZCByZWFkYWJsZSByZWFkcyByZWFsIHJlYXNzaWduIHJlY2hlY2sgcmVjdXJzaXZlIHJlZiByZWZlcmVuY2VzIHJlaW5kZXggcmVqZWN0IHJlbGF0aXZlIHJlbGVhc2UgcmVuYW1lIHJlcGVhdGFibGUgcmVwbGFjZSByZXBsaWNhIHJlc2V0IHJlc291cmNlIHJlc3RhcnQgcmVzdHJpY3QgcmV0dXJuaW5nIHJldHVybnMgcmV2b2tlIHJpZ2h0IHJvbGUgcm9sbGJhY2sgcm9sbHVwIHJvb3RwYXJ0aXRpb24gcm93IHJvd3MgcnVsZSBzYXZlcG9pbnQgc2NhdHRlciBzY2hlbWEgc2Nyb2xsIHNlYXJjaCBzZWNvbmQgc2VjdXJpdHkgc2VnbWVudCBzZWxlY3Qgc2VxdWVuY2Ugc2VyaWFsaXphYmxlIHNlc3Npb24gc2Vzc2lvbl91c2VyIHNldCBzZXRvZiBzZXRzIHNoYXJlIHNob3cgc2ltaWxhciBzaW1wbGUgc21hbGxpbnQgc29tZSBzcGxpdCBzcWwgc3RhYmxlIHN0YW5kYWxvbmUgc3RhcnQgc3RhdGVtZW50IHN0YXRpc3RpY3Mgc3RkaW4gc3Rkb3V0IHN0b3JhZ2Ugc3RyaWN0IHN0cmlwIHN1YnBhcnRpdGlvbiBzdWJwYXJ0aXRpb25zIHN1YnN0cmluZyBzdXBlcnVzZXIgc3ltbWV0cmljIHN5c2lkIHN5c3RlbSB0YWJsZSB0YWJsZXNwYWNlIHRlbXAgdGVtcGxhdGUgdGVtcG9yYXJ5IHRleHQgdGhlbiB0aHJlc2hvbGQgdGllcyB0aW1lIHRpbWVzdGFtcCB0byB0cmFpbGluZyB0cmFuc2FjdGlvbiB0cmVhdCB0cmlnZ2VyIHRyaW0gdHJ1ZSB0cnVuY2F0ZSB0cnVzdGVkIHR5cGUgdW5ib3VuZGVkIHVuY29tbWl0dGVkIHVuZW5jcnlwdGVkIHVuaW9uIHVuaXF1ZSB1bmtub3duIHVubGlzdGVuIHVudGlsIHVwZGF0ZSB1c2VyIHVzaW5nIHZhY3V1bSB2YWxpZCB2YWxpZGF0aW9uIHZhbGlkYXRvciB2YWx1ZSB2YWx1ZXMgdmFyY2hhciB2YXJpYWRpYyB2YXJ5aW5nIHZlcmJvc2UgdmVyc2lvbiB2aWV3IHZvbGF0aWxlIHdlYiB3aGVuIHdoZXJlIHdoaXRlc3BhY2Ugd2luZG93IHdpdGggd2l0aGluIHdpdGhvdXQgd29yayB3cml0YWJsZSB3cml0ZSB4bWwgeG1sYXR0cmlidXRlcyB4bWxjb25jYXQgeG1sZWxlbWVudCB4bWxleGlzdHMgeG1sZm9yZXN0IHhtbHBhcnNlIHhtbHBpIHhtbHJvb3QgeG1sc2VyaWFsaXplIHllYXIgeWVzIHpvbmVcIiksXG4gICAgYnVpbHRpbjogc2V0KFwiYmlnaW50IGludDggYmlnc2VyaWFsIHNlcmlhbDggYml0IHZhcnlpbmcgdmFyYml0IGJvb2xlYW4gYm9vbCBib3ggYnl0ZWEgY2hhcmFjdGVyIGNoYXIgdmFyY2hhciBjaWRyIGNpcmNsZSBkYXRlIGRvdWJsZSBwcmVjaXNpb24gZmxvYXQgZmxvYXQ4IGluZXQgaW50ZWdlciBpbnQgaW50NCBpbnRlcnZhbCBqc29uIGpzb25iIGxpbmUgbHNlZyBtYWNhZGRyIG1hY2FkZHI4IG1vbmV5IG51bWVyaWMgZGVjaW1hbCBwYXRoIHBnX2xzbiBwb2ludCBwb2x5Z29uIHJlYWwgZmxvYXQ0IHNtYWxsaW50IGludDIgc21hbGxzZXJpYWwgc2VyaWFsMiBzZXJpYWwgc2VyaWFsNCB0ZXh0IHRpbWUgd2l0aG91dCB6b25lIHdpdGggdGltZXR6IHRpbWVzdGFtcCB0aW1lc3RhbXB0eiB0c3F1ZXJ5IHRzdmVjdG9yIHR4aWRfc25hcHNob3QgdXVpZCB4bWxcIiksXG4gICAgYXRvbXM6IHNldChcImZhbHNlIHRydWUgbnVsbCB1bmtub3duXCIpLFxuICAgIG9wZXJhdG9yQ2hhcnM6IC9eWyorXFwtJTw+IT0mfF5cXC8jQD9+XS8sXG4gICAgZGF0ZVNRTDogc2V0KFwiZGF0ZSB0aW1lIHRpbWVzdGFtcFwiKSxcbiAgICBzdXBwb3J0OiBzZXQoXCJPREJDZG90VGFibGUgZGVjaW1hbGxlc3NGbG9hdCB6ZXJvbGVzc0Zsb2F0IGJpbmFyeU51bWJlciBoZXhOdW1iZXIgbkNoYXJDYXN0IGNoYXJzZXRDYXN0XCIpXG4gIH0pO1xuXG4gIC8vIFNwYXJrIFNRTFxuICBDb2RlTWlycm9yLmRlZmluZU1JTUUoXCJ0ZXh0L3gtc3BhcmtzcWxcIiwge1xuICAgIG5hbWU6IFwic3FsXCIsXG4gICAga2V5d29yZHM6IHNldChcImFkZCBhZnRlciBhbGwgYWx0ZXIgYW5hbHl6ZSBhbmQgYW50aSBhcmNoaXZlIGFycmF5IGFzIGFzYyBhdCBiZXR3ZWVuIGJ1Y2tldCBidWNrZXRzIGJ5IGNhY2hlIGNhc2NhZGUgY2FzZSBjYXN0IGNoYW5nZSBjbGVhciBjbHVzdGVyIGNsdXN0ZXJlZCBjb2RlZ2VuIGNvbGxlY3Rpb24gY29sdW1uIGNvbHVtbnMgY29tbWVudCBjb21taXQgY29tcGFjdCBjb21wYWN0aW9ucyBjb21wdXRlIGNvbmNhdGVuYXRlIGNvc3QgY3JlYXRlIGNyb3NzIGN1YmUgY3VycmVudCBjdXJyZW50X2RhdGUgY3VycmVudF90aW1lc3RhbXAgZGF0YWJhc2UgZGF0YWJhc2VzIGRhdGF0YSBkYnByb3BlcnRpZXMgZGVmaW5lZCBkZWxldGUgZGVsaW1pdGVkIGRlbnkgZGVzYyBkZXNjcmliZSBkZnMgZGlyZWN0b3JpZXMgZGlzdGluY3QgZGlzdHJpYnV0ZSBkcm9wIGVsc2UgZW5kIGVzY2FwZWQgZXhjZXB0IGV4Y2hhbmdlIGV4aXN0cyBleHBsYWluIGV4cG9ydCBleHRlbmRlZCBleHRlcm5hbCBmYWxzZSBmaWVsZHMgZmlsZWZvcm1hdCBmaXJzdCBmb2xsb3dpbmcgZm9yIGZvcm1hdCBmb3JtYXR0ZWQgZnJvbSBmdWxsIGZ1bmN0aW9uIGZ1bmN0aW9ucyBnbG9iYWwgZ3JhbnQgZ3JvdXAgZ3JvdXBpbmcgaGF2aW5nIGlmIGlnbm9yZSBpbXBvcnQgaW4gaW5kZXggaW5kZXhlcyBpbm5lciBpbnBhdGggaW5wdXRmb3JtYXQgaW5zZXJ0IGludGVyc2VjdCBpbnRlcnZhbCBpbnRvIGlzIGl0ZW1zIGpvaW4ga2V5cyBsYXN0IGxhdGVyYWwgbGF6eSBsZWZ0IGxpa2UgbGltaXQgbGluZXMgbGlzdCBsb2FkIGxvY2FsIGxvY2F0aW9uIGxvY2sgbG9ja3MgbG9naWNhbCBtYWNybyBtYXAgbWludXMgbXNjayBuYXR1cmFsIG5vIG5vdCBudWxsIG51bGxzIG9mIG9uIG9wdGltaXplIG9wdGlvbiBvcHRpb25zIG9yIG9yZGVyIG91dCBvdXRlciBvdXRwdXRmb3JtYXQgb3ZlciBvdmVyd3JpdGUgcGFydGl0aW9uIHBhcnRpdGlvbmVkIHBhcnRpdGlvbnMgcGVyY2VudCBwcmVjZWRpbmcgcHJpbmNpcGFscyBwdXJnZSByYW5nZSByZWNvcmRyZWFkZXIgcmVjb3Jkd3JpdGVyIHJlY292ZXIgcmVkdWNlIHJlZnJlc2ggcmVnZXhwIHJlbmFtZSByZXBhaXIgcmVwbGFjZSByZXNldCByZXN0cmljdCByZXZva2UgcmlnaHQgcmxpa2Ugcm9sZSByb2xlcyByb2xsYmFjayByb2xsdXAgcm93IHJvd3Mgc2NoZW1hIHNjaGVtYXMgc2VsZWN0IHNlbWkgc2VwYXJhdGVkIHNlcmRlIHNlcmRlcHJvcGVydGllcyBzZXQgc2V0cyBzaG93IHNrZXdlZCBzb3J0IHNvcnRlZCBzdGFydCBzdGF0aXN0aWNzIHN0b3JlZCBzdHJhdGlmeSBzdHJ1Y3QgdGFibGUgdGFibGVzIHRhYmxlc2FtcGxlIHRibHByb3BlcnRpZXMgdGVtcCB0ZW1wb3JhcnkgdGVybWluYXRlZCB0aGVuIHRvIHRvdWNoIHRyYW5zYWN0aW9uIHRyYW5zYWN0aW9ucyB0cmFuc2Zvcm0gdHJ1ZSB0cnVuY2F0ZSB1bmFyY2hpdmUgdW5ib3VuZGVkIHVuY2FjaGUgdW5pb24gdW5sb2NrIHVuc2V0IHVzZSB1c2luZyB2YWx1ZXMgdmlldyB3aGVuIHdoZXJlIHdpbmRvdyB3aXRoXCIpLFxuICAgIGJ1aWx0aW46IHNldChcInRpbnlpbnQgc21hbGxpbnQgaW50IGJpZ2ludCBib29sZWFuIGZsb2F0IGRvdWJsZSBzdHJpbmcgYmluYXJ5IHRpbWVzdGFtcCBkZWNpbWFsIGFycmF5IG1hcCBzdHJ1Y3QgdW5pb250eXBlIGRlbGltaXRlZCBzZXJkZSBzZXF1ZW5jZWZpbGUgdGV4dGZpbGUgcmNmaWxlIGlucHV0Zm9ybWF0IG91dHB1dGZvcm1hdFwiKSxcbiAgICBhdG9tczogc2V0KFwiZmFsc2UgdHJ1ZSBudWxsXCIpLFxuICAgIG9wZXJhdG9yQ2hhcnM6IC9eWypcXC8rXFwtJTw+IT1+JnxeXS8sXG4gICAgZGF0ZVNRTDogc2V0KFwiZGF0ZSB0aW1lIHRpbWVzdGFtcFwiKSxcbiAgICBzdXBwb3J0OiBzZXQoXCJPREJDZG90VGFibGUgZG91YmxlUXVvdGUgemVyb2xlc3NGbG9hdFwiKVxuICB9KTtcblxuICAvLyBFc3BlclxuICBDb2RlTWlycm9yLmRlZmluZU1JTUUoXCJ0ZXh0L3gtZXNwZXJcIiwge1xuICAgIG5hbWU6IFwic3FsXCIsXG4gICAgY2xpZW50OiBzZXQoXCJzb3VyY2VcIiksXG4gICAgLy8gaHR0cDovL3d3dy5lc3BlcnRlY2guY29tL2VzcGVyL3JlbGVhc2UtNS41LjAvZXNwZXItcmVmZXJlbmNlL2h0bWwvYXBwZW5kaXhfa2V5d29yZHMuaHRtbFxuICAgIGtleXdvcmRzOiBzZXQoXCJhbHRlciBhbmQgYXMgYXNjIGJldHdlZW4gYnkgY291bnQgY3JlYXRlIGRlbGV0ZSBkZXNjIGRpc3RpbmN0IGRyb3AgZnJvbSBncm91cCBoYXZpbmcgaW4gaW5zZXJ0IGludG8gaXMgam9pbiBsaWtlIG5vdCBvbiBvciBvcmRlciBzZWxlY3Qgc2V0IHRhYmxlIHVuaW9uIHVwZGF0ZSB2YWx1ZXMgd2hlcmUgbGltaXQgYWZ0ZXIgYWxsIGFuZCBhcyBhdCBhc2MgYXZlZGV2IGF2ZyBiZXR3ZWVuIGJ5IGNhc2UgY2FzdCBjb2FsZXNjZSBjb3VudCBjcmVhdGUgY3VycmVudF90aW1lc3RhbXAgZGF5IGRheXMgZGVsZXRlIGRlZmluZSBkZXNjIGRpc3RpbmN0IGVsc2UgZW5kIGVzY2FwZSBldmVudHMgZXZlcnkgZXhpc3RzIGZhbHNlIGZpcnN0IGZyb20gZnVsbCBncm91cCBoYXZpbmcgaG91ciBob3VycyBpbiBpbm5lciBpbnNlcnQgaW5zdGFuY2VvZiBpbnRvIGlyc3RyZWFtIGlzIGlzdHJlYW0gam9pbiBsYXN0IGxhc3R3ZWVrZGF5IGxlZnQgbGltaXQgbGlrZSBtYXggbWF0Y2hfcmVjb2duaXplIG1hdGNoZXMgbWVkaWFuIG1lYXN1cmVzIG1ldGFkYXRhc3FsIG1pbiBtaW51dGUgbWludXRlcyBtc2VjIG1pbGxpc2Vjb25kIG1pbGxpc2Vjb25kcyBub3QgbnVsbCBvZmZzZXQgb24gb3Igb3JkZXIgb3V0ZXIgb3V0cHV0IHBhcnRpdGlvbiBwYXR0ZXJuIHByZXYgcHJpb3IgcmVnZXhwIHJldGFpbi11bmlvbiByZXRhaW4taW50ZXJzZWN0aW9uIHJpZ2h0IHJzdHJlYW0gc2VjIHNlY29uZCBzZWNvbmRzIHNlbGVjdCBzZXQgc29tZSBzbmFwc2hvdCBzcWwgc3RkZGV2IHN1bSB0aGVuIHRydWUgdW5pZGlyZWN0aW9uYWwgdW50aWwgdXBkYXRlIHZhcmlhYmxlIHdlZWtkYXkgd2hlbiB3aGVyZSB3aW5kb3dcIiksXG4gICAgYnVpbHRpbjoge30sXG4gICAgYXRvbXM6IHNldChcImZhbHNlIHRydWUgbnVsbFwiKSxcbiAgICBvcGVyYXRvckNoYXJzOiAvXlsqK1xcLSU8PiE9JnxeXFwvI0A/fl0vLFxuICAgIGRhdGVTUUw6IHNldChcInRpbWVcIiksXG4gICAgc3VwcG9ydDogc2V0KFwiZGVjaW1hbGxlc3NGbG9hdCB6ZXJvbGVzc0Zsb2F0IGJpbmFyeU51bWJlciBoZXhOdW1iZXJcIilcbiAgfSk7XG59KTtcblxuLypcbiAgSG93IFByb3BlcnRpZXMgb2YgTWltZSBUeXBlcyBhcmUgdXNlZCBieSBTUUwgTW9kZVxuICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAga2V5d29yZHM6XG4gICAgQSBsaXN0IG9mIGtleXdvcmRzIHlvdSB3YW50IHRvIGJlIGhpZ2hsaWdodGVkLlxuICBidWlsdGluOlxuICAgIEEgbGlzdCBvZiBidWlsdGluIHR5cGVzIHlvdSB3YW50IHRvIGJlIGhpZ2hsaWdodGVkIChpZiB5b3Ugd2FudCB0eXBlcyB0byBiZSBvZiBjbGFzcyBcImJ1aWx0aW5cIiBpbnN0ZWFkIG9mIFwia2V5d29yZFwiKS5cbiAgb3BlcmF0b3JDaGFyczpcbiAgICBBbGwgY2hhcmFjdGVycyB0aGF0IG11c3QgYmUgaGFuZGxlZCBhcyBvcGVyYXRvcnMuXG4gIGNsaWVudDpcbiAgICBDb21tYW5kcyBwYXJzZWQgYW5kIGV4ZWN1dGVkIGJ5IHRoZSBjbGllbnQgKG5vdCB0aGUgc2VydmVyKS5cbiAgc3VwcG9ydDpcbiAgICBBIGxpc3Qgb2Ygc3VwcG9ydGVkIHN5bnRheGVzIHdoaWNoIGFyZSBub3QgY29tbW9uLCBidXQgYXJlIHN1cHBvcnRlZCBieSBtb3JlIHRoYW4gMSBEQk1TLlxuICAgICogT0RCQ2RvdFRhYmxlOiAudGFibGVOYW1lXG4gICAgKiB6ZXJvbGVzc0Zsb2F0OiAuMVxuICAgICogZG91YmxlUXVvdGVcbiAgICAqIG5DaGFyQ2FzdDogTidzdHJpbmcnXG4gICAgKiBjaGFyc2V0Q2FzdDogX3V0Zjgnc3RyaW5nJ1xuICAgICogY29tbWVudEhhc2g6IHVzZSAjIGNoYXIgZm9yIGNvbW1lbnRzXG4gICAgKiBjb21tZW50U2xhc2hTbGFzaDogdXNlIC8vIGZvciBjb21tZW50c1xuICAgICogY29tbWVudFNwYWNlUmVxdWlyZWQ6IHJlcXVpcmUgYSBzcGFjZSBhZnRlciAtLSBmb3IgY29tbWVudHNcbiAgYXRvbXM6XG4gICAgS2V5d29yZHMgdGhhdCBtdXN0IGJlIGhpZ2hsaWdodGVkIGFzIGF0b21zLC4gU29tZSBEQk1TJ3Mgc3VwcG9ydCBtb3JlIGF0b21zIHRoYW4gb3RoZXJzOlxuICAgIFVOS05PV04sIElORklOSVRZLCBVTkRFUkZMT1csIE5hTi4uLlxuICBkYXRlU1FMOlxuICAgIFVzZWQgZm9yIGRhdGUvdGltZSBTUUwgc3RhbmRhcmQgc3ludGF4LCBiZWNhdXNlIG5vdCBhbGwgREJNUydzIHN1cHBvcnQgc2FtZSB0ZW1wb3JhbCB0eXBlcy5cbiovXG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/codemirror/mode/sql/sql.js\n"); /***/ }), /***/ "./node_modules/codemirror/mode/stex/stex.js": /*!***************************************************!*\ !*** ./node_modules/codemirror/mode/stex/stex.js ***! \***************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n/*\n * Author: Constantin Jucovschi (c.jucovschi@jacobs-university.de)\n * Licence: MIT\n */\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ \"./node_modules/codemirror/lib/codemirror.js\"));\n else {}\n})(function(CodeMirror) {\n \"use strict\";\n\n CodeMirror.defineMode(\"stex\", function(_config, parserConfig) {\n \"use strict\";\n\n function pushCommand(state, command) {\n state.cmdState.push(command);\n }\n\n function peekCommand(state) {\n if (state.cmdState.length > 0) {\n return state.cmdState[state.cmdState.length - 1];\n } else {\n return null;\n }\n }\n\n function popCommand(state) {\n var plug = state.cmdState.pop();\n if (plug) {\n plug.closeBracket();\n }\n }\n\n // returns the non-default plugin closest to the end of the list\n function getMostPowerful(state) {\n var context = state.cmdState;\n for (var i = context.length - 1; i >= 0; i--) {\n var plug = context[i];\n if (plug.name == \"DEFAULT\") {\n continue;\n }\n return plug;\n }\n return { styleIdentifier: function() { return null; } };\n }\n\n function addPluginPattern(pluginName, cmdStyle, styles) {\n return function () {\n this.name = pluginName;\n this.bracketNo = 0;\n this.style = cmdStyle;\n this.styles = styles;\n this.argument = null; // \\begin and \\end have arguments that follow. These are stored in the plugin\n\n this.styleIdentifier = function() {\n return this.styles[this.bracketNo - 1] || null;\n };\n this.openBracket = function() {\n this.bracketNo++;\n return \"bracket\";\n };\n this.closeBracket = function() {};\n };\n }\n\n var plugins = {};\n\n plugins[\"importmodule\"] = addPluginPattern(\"importmodule\", \"tag\", [\"string\", \"builtin\"]);\n plugins[\"documentclass\"] = addPluginPattern(\"documentclass\", \"tag\", [\"\", \"atom\"]);\n plugins[\"usepackage\"] = addPluginPattern(\"usepackage\", \"tag\", [\"atom\"]);\n plugins[\"begin\"] = addPluginPattern(\"begin\", \"tag\", [\"atom\"]);\n plugins[\"end\"] = addPluginPattern(\"end\", \"tag\", [\"atom\"]);\n\n plugins[\"label\" ] = addPluginPattern(\"label\" , \"tag\", [\"atom\"]);\n plugins[\"ref\" ] = addPluginPattern(\"ref\" , \"tag\", [\"atom\"]);\n plugins[\"eqref\" ] = addPluginPattern(\"eqref\" , \"tag\", [\"atom\"]);\n plugins[\"cite\" ] = addPluginPattern(\"cite\" , \"tag\", [\"atom\"]);\n plugins[\"bibitem\" ] = addPluginPattern(\"bibitem\" , \"tag\", [\"atom\"]);\n plugins[\"Bibitem\" ] = addPluginPattern(\"Bibitem\" , \"tag\", [\"atom\"]);\n plugins[\"RBibitem\" ] = addPluginPattern(\"RBibitem\" , \"tag\", [\"atom\"]);\n\n plugins[\"DEFAULT\"] = function () {\n this.name = \"DEFAULT\";\n this.style = \"tag\";\n\n this.styleIdentifier = this.openBracket = this.closeBracket = function() {};\n };\n\n function setState(state, f) {\n state.f = f;\n }\n\n // called when in a normal (no environment) context\n function normal(source, state) {\n var plug;\n // Do we look like '\\command' ? If so, attempt to apply the plugin 'command'\n if (source.match(/^\\\\[a-zA-Z@]+/)) {\n var cmdName = source.current().slice(1);\n plug = plugins[cmdName] || plugins[\"DEFAULT\"];\n plug = new plug();\n pushCommand(state, plug);\n setState(state, beginParams);\n return plug.style;\n }\n\n // escape characters\n if (source.match(/^\\\\[$&%#{}_]/)) {\n return \"tag\";\n }\n\n // white space control characters\n if (source.match(/^\\\\[,;!\\/\\\\]/)) {\n return \"tag\";\n }\n\n // find if we're starting various math modes\n if (source.match(\"\\\\[\")) {\n setState(state, function(source, state){ return inMathMode(source, state, \"\\\\]\"); });\n return \"keyword\";\n }\n if (source.match(\"\\\\(\")) {\n setState(state, function(source, state){ return inMathMode(source, state, \"\\\\)\"); });\n return \"keyword\";\n }\n if (source.match(\"$$\")) {\n setState(state, function(source, state){ return inMathMode(source, state, \"$$\"); });\n return \"keyword\";\n }\n if (source.match(\"$\")) {\n setState(state, function(source, state){ return inMathMode(source, state, \"$\"); });\n return \"keyword\";\n }\n\n var ch = source.next();\n if (ch == \"%\") {\n source.skipToEnd();\n return \"comment\";\n } else if (ch == '}' || ch == ']') {\n plug = peekCommand(state);\n if (plug) {\n plug.closeBracket(ch);\n setState(state, beginParams);\n } else {\n return \"error\";\n }\n return \"bracket\";\n } else if (ch == '{' || ch == '[') {\n plug = plugins[\"DEFAULT\"];\n plug = new plug();\n pushCommand(state, plug);\n return \"bracket\";\n } else if (/\\d/.test(ch)) {\n source.eatWhile(/[\\w.%]/);\n return \"atom\";\n } else {\n source.eatWhile(/[\\w\\-_]/);\n plug = getMostPowerful(state);\n if (plug.name == 'begin') {\n plug.argument = source.current();\n }\n return plug.styleIdentifier();\n }\n }\n\n function inMathMode(source, state, endModeSeq) {\n if (source.eatSpace()) {\n return null;\n }\n if (endModeSeq && source.match(endModeSeq)) {\n setState(state, normal);\n return \"keyword\";\n }\n if (source.match(/^\\\\[a-zA-Z@]+/)) {\n return \"tag\";\n }\n if (source.match(/^[a-zA-Z]+/)) {\n return \"variable-2\";\n }\n // escape characters\n if (source.match(/^\\\\[$&%#{}_]/)) {\n return \"tag\";\n }\n // white space control characters\n if (source.match(/^\\\\[,;!\\/]/)) {\n return \"tag\";\n }\n // special math-mode characters\n if (source.match(/^[\\^_&]/)) {\n return \"tag\";\n }\n // non-special characters\n if (source.match(/^[+\\-<>|=,\\/@!*:;'\"`~#?]/)) {\n return null;\n }\n if (source.match(/^(\\d+\\.\\d*|\\d*\\.\\d+|\\d+)/)) {\n return \"number\";\n }\n var ch = source.next();\n if (ch == \"{\" || ch == \"}\" || ch == \"[\" || ch == \"]\" || ch == \"(\" || ch == \")\") {\n return \"bracket\";\n }\n\n if (ch == \"%\") {\n source.skipToEnd();\n return \"comment\";\n }\n return \"error\";\n }\n\n function beginParams(source, state) {\n var ch = source.peek(), lastPlug;\n if (ch == '{' || ch == '[') {\n lastPlug = peekCommand(state);\n lastPlug.openBracket(ch);\n source.eat(ch);\n setState(state, normal);\n return \"bracket\";\n }\n if (/[ \\t\\r]/.test(ch)) {\n source.eat(ch);\n return null;\n }\n setState(state, normal);\n popCommand(state);\n\n return normal(source, state);\n }\n\n return {\n startState: function() {\n var f = parserConfig.inMathMode ? function(source, state){ return inMathMode(source, state); } : normal;\n return {\n cmdState: [],\n f: f\n };\n },\n copyState: function(s) {\n return {\n cmdState: s.cmdState.slice(),\n f: s.f\n };\n },\n token: function(stream, state) {\n return state.f(stream, state);\n },\n blankLine: function(state) {\n state.f = normal;\n state.cmdState.length = 0;\n },\n lineComment: \"%\"\n };\n });\n\n CodeMirror.defineMIME(\"text/x-stex\", \"stex\");\n CodeMirror.defineMIME(\"text/x-latex\", \"stex\");\n\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9tb2RlL3N0ZXgvc3RleC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb2RlbWlycm9yL21vZGUvc3RleC9zdGV4LmpzP2Y4ZDIiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29kZU1pcnJvciwgY29weXJpZ2h0IChjKSBieSBNYXJpam4gSGF2ZXJiZWtlIGFuZCBvdGhlcnNcbi8vIERpc3RyaWJ1dGVkIHVuZGVyIGFuIE1JVCBsaWNlbnNlOiBodHRwczovL2NvZGVtaXJyb3IubmV0L0xJQ0VOU0VcblxuLypcbiAqIEF1dGhvcjogQ29uc3RhbnRpbiBKdWNvdnNjaGkgKGMuanVjb3ZzY2hpQGphY29icy11bml2ZXJzaXR5LmRlKVxuICogTGljZW5jZTogTUlUXG4gKi9cblxuKGZ1bmN0aW9uKG1vZCkge1xuICBpZiAodHlwZW9mIGV4cG9ydHMgPT0gXCJvYmplY3RcIiAmJiB0eXBlb2YgbW9kdWxlID09IFwib2JqZWN0XCIpIC8vIENvbW1vbkpTXG4gICAgbW9kKHJlcXVpcmUoXCIuLi8uLi9saWIvY29kZW1pcnJvclwiKSk7XG4gIGVsc2UgaWYgKHR5cGVvZiBkZWZpbmUgPT0gXCJmdW5jdGlvblwiICYmIGRlZmluZS5hbWQpIC8vIEFNRFxuICAgIGRlZmluZShbXCIuLi8uLi9saWIvY29kZW1pcnJvclwiXSwgbW9kKTtcbiAgZWxzZSAvLyBQbGFpbiBicm93c2VyIGVudlxuICAgIG1vZChDb2RlTWlycm9yKTtcbn0pKGZ1bmN0aW9uKENvZGVNaXJyb3IpIHtcbiAgXCJ1c2Ugc3RyaWN0XCI7XG5cbiAgQ29kZU1pcnJvci5kZWZpbmVNb2RlKFwic3RleFwiLCBmdW5jdGlvbihfY29uZmlnLCBwYXJzZXJDb25maWcpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcblxuICAgIGZ1bmN0aW9uIHB1c2hDb21tYW5kKHN0YXRlLCBjb21tYW5kKSB7XG4gICAgICBzdGF0ZS5jbWRTdGF0ZS5wdXNoKGNvbW1hbmQpO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIHBlZWtDb21tYW5kKHN0YXRlKSB7XG4gICAgICBpZiAoc3RhdGUuY21kU3RhdGUubGVuZ3RoID4gMCkge1xuICAgICAgICByZXR1cm4gc3RhdGUuY21kU3RhdGVbc3RhdGUuY21kU3RhdGUubGVuZ3RoIC0gMV07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBmdW5jdGlvbiBwb3BDb21tYW5kKHN0YXRlKSB7XG4gICAgICB2YXIgcGx1ZyA9IHN0YXRlLmNtZFN0YXRlLnBvcCgpO1xuICAgICAgaWYgKHBsdWcpIHtcbiAgICAgICAgcGx1Zy5jbG9zZUJyYWNrZXQoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyByZXR1cm5zIHRoZSBub24tZGVmYXVsdCBwbHVnaW4gY2xvc2VzdCB0byB0aGUgZW5kIG9mIHRoZSBsaXN0XG4gICAgZnVuY3Rpb24gZ2V0TW9zdFBvd2VyZnVsKHN0YXRlKSB7XG4gICAgICB2YXIgY29udGV4dCA9IHN0YXRlLmNtZFN0YXRlO1xuICAgICAgZm9yICh2YXIgaSA9IGNvbnRleHQubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcbiAgICAgICAgdmFyIHBsdWcgPSBjb250ZXh0W2ldO1xuICAgICAgICBpZiAocGx1Zy5uYW1lID09IFwiREVGQVVMVFwiKSB7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHBsdWc7XG4gICAgICB9XG4gICAgICByZXR1cm4geyBzdHlsZUlkZW50aWZpZXI6IGZ1bmN0aW9uKCkgeyByZXR1cm4gbnVsbDsgfSB9O1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGFkZFBsdWdpblBhdHRlcm4ocGx1Z2luTmFtZSwgY21kU3R5bGUsIHN0eWxlcykge1xuICAgICAgcmV0dXJuIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdGhpcy5uYW1lID0gcGx1Z2luTmFtZTtcbiAgICAgICAgdGhpcy5icmFja2V0Tm8gPSAwO1xuICAgICAgICB0aGlzLnN0eWxlID0gY21kU3R5bGU7XG4gICAgICAgIHRoaXMuc3R5bGVzID0gc3R5bGVzO1xuICAgICAgICB0aGlzLmFyZ3VtZW50ID0gbnVsbDsgICAvLyBcXGJlZ2luIGFuZCBcXGVuZCBoYXZlIGFyZ3VtZW50cyB0aGF0IGZvbGxvdy4gVGhlc2UgYXJlIHN0b3JlZCBpbiB0aGUgcGx1Z2luXG5cbiAgICAgICAgdGhpcy5zdHlsZUlkZW50aWZpZXIgPSBmdW5jdGlvbigpIHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5zdHlsZXNbdGhpcy5icmFja2V0Tm8gLSAxXSB8fCBudWxsO1xuICAgICAgICB9O1xuICAgICAgICB0aGlzLm9wZW5CcmFja2V0ID0gZnVuY3Rpb24oKSB7XG4gICAgICAgICAgdGhpcy5icmFja2V0Tm8rKztcbiAgICAgICAgICByZXR1cm4gXCJicmFja2V0XCI7XG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuY2xvc2VCcmFja2V0ID0gZnVuY3Rpb24oKSB7fTtcbiAgICAgIH07XG4gICAgfVxuXG4gICAgdmFyIHBsdWdpbnMgPSB7fTtcblxuICAgIHBsdWdpbnNbXCJpbXBvcnRtb2R1bGVcIl0gPSBhZGRQbHVnaW5QYXR0ZXJuKFwiaW1wb3J0bW9kdWxlXCIsIFwidGFnXCIsIFtcInN0cmluZ1wiLCBcImJ1aWx0aW5cIl0pO1xuICAgIHBsdWdpbnNbXCJkb2N1bWVudGNsYXNzXCJdID0gYWRkUGx1Z2luUGF0dGVybihcImRvY3VtZW50Y2xhc3NcIiwgXCJ0YWdcIiwgW1wiXCIsIFwiYXRvbVwiXSk7XG4gICAgcGx1Z2luc1tcInVzZXBhY2thZ2VcIl0gPSBhZGRQbHVnaW5QYXR0ZXJuKFwidXNlcGFja2FnZVwiLCBcInRhZ1wiLCBbXCJhdG9tXCJdKTtcbiAgICBwbHVnaW5zW1wiYmVnaW5cIl0gPSBhZGRQbHVnaW5QYXR0ZXJuKFwiYmVnaW5cIiwgXCJ0YWdcIiwgW1wiYXRvbVwiXSk7XG4gICAgcGx1Z2luc1tcImVuZFwiXSA9IGFkZFBsdWdpblBhdHRlcm4oXCJlbmRcIiwgXCJ0YWdcIiwgW1wiYXRvbVwiXSk7XG5cbiAgICBwbHVnaW5zW1wibGFiZWxcIiAgICBdID0gYWRkUGx1Z2luUGF0dGVybihcImxhYmVsXCIgICAgLCBcInRhZ1wiLCBbXCJhdG9tXCJdKTtcbiAgICBwbHVnaW5zW1wicmVmXCIgICAgICBdID0gYWRkUGx1Z2luUGF0dGVybihcInJlZlwiICAgICAgLCBcInRhZ1wiLCBbXCJhdG9tXCJdKTtcbiAgICBwbHVnaW5zW1wiZXFyZWZcIiAgICBdID0gYWRkUGx1Z2luUGF0dGVybihcImVxcmVmXCIgICAgLCBcInRhZ1wiLCBbXCJhdG9tXCJdKTtcbiAgICBwbHVnaW5zW1wiY2l0ZVwiICAgICBdID0gYWRkUGx1Z2luUGF0dGVybihcImNpdGVcIiAgICAgLCBcInRhZ1wiLCBbXCJhdG9tXCJdKTtcbiAgICBwbHVnaW5zW1wiYmliaXRlbVwiICBdID0gYWRkUGx1Z2luUGF0dGVybihcImJpYml0ZW1cIiAgLCBcInRhZ1wiLCBbXCJhdG9tXCJdKTtcbiAgICBwbHVnaW5zW1wiQmliaXRlbVwiICBdID0gYWRkUGx1Z2luUGF0dGVybihcIkJpYml0ZW1cIiAgLCBcInRhZ1wiLCBbXCJhdG9tXCJdKTtcbiAgICBwbHVnaW5zW1wiUkJpYml0ZW1cIiBdID0gYWRkUGx1Z2luUGF0dGVybihcIlJCaWJpdGVtXCIgLCBcInRhZ1wiLCBbXCJhdG9tXCJdKTtcblxuICAgIHBsdWdpbnNbXCJERUZBVUxUXCJdID0gZnVuY3Rpb24gKCkge1xuICAgICAgdGhpcy5uYW1lID0gXCJERUZBVUxUXCI7XG4gICAgICB0aGlzLnN0eWxlID0gXCJ0YWdcIjtcblxuICAgICAgdGhpcy5zdHlsZUlkZW50aWZpZXIgPSB0aGlzLm9wZW5CcmFja2V0ID0gdGhpcy5jbG9zZUJyYWNrZXQgPSBmdW5jdGlvbigpIHt9O1xuICAgIH07XG5cbiAgICBmdW5jdGlvbiBzZXRTdGF0ZShzdGF0ZSwgZikge1xuICAgICAgc3RhdGUuZiA9IGY7XG4gICAgfVxuXG4gICAgLy8gY2FsbGVkIHdoZW4gaW4gYSBub3JtYWwgKG5vIGVudmlyb25tZW50KSBjb250ZXh0XG4gICAgZnVuY3Rpb24gbm9ybWFsKHNvdXJjZSwgc3RhdGUpIHtcbiAgICAgIHZhciBwbHVnO1xuICAgICAgLy8gRG8gd2UgbG9vayBsaWtlICdcXGNvbW1hbmQnID8gIElmIHNvLCBhdHRlbXB0IHRvIGFwcGx5IHRoZSBwbHVnaW4gJ2NvbW1hbmQnXG4gICAgICBpZiAoc291cmNlLm1hdGNoKC9eXFxcXFthLXpBLVpAXSsvKSkge1xuICAgICAgICB2YXIgY21kTmFtZSA9IHNvdXJjZS5jdXJyZW50KCkuc2xpY2UoMSk7XG4gICAgICAgIHBsdWcgPSBwbHVnaW5zW2NtZE5hbWVdIHx8IHBsdWdpbnNbXCJERUZBVUxUXCJdO1xuICAgICAgICBwbHVnID0gbmV3IHBsdWcoKTtcbiAgICAgICAgcHVzaENvbW1hbmQoc3RhdGUsIHBsdWcpO1xuICAgICAgICBzZXRTdGF0ZShzdGF0ZSwgYmVnaW5QYXJhbXMpO1xuICAgICAgICByZXR1cm4gcGx1Zy5zdHlsZTtcbiAgICAgIH1cblxuICAgICAgLy8gZXNjYXBlIGNoYXJhY3RlcnNcbiAgICAgIGlmIChzb3VyY2UubWF0Y2goL15cXFxcWyQmJSN7fV9dLykpIHtcbiAgICAgICAgcmV0dXJuIFwidGFnXCI7XG4gICAgICB9XG5cbiAgICAgIC8vIHdoaXRlIHNwYWNlIGNvbnRyb2wgY2hhcmFjdGVyc1xuICAgICAgaWYgKHNvdXJjZS5tYXRjaCgvXlxcXFxbLDshXFwvXFxcXF0vKSkge1xuICAgICAgICByZXR1cm4gXCJ0YWdcIjtcbiAgICAgIH1cblxuICAgICAgLy8gZmluZCBpZiB3ZSdyZSBzdGFydGluZyB2YXJpb3VzIG1hdGggbW9kZXNcbiAgICAgIGlmIChzb3VyY2UubWF0Y2goXCJcXFxcW1wiKSkge1xuICAgICAgICBzZXRTdGF0ZShzdGF0ZSwgZnVuY3Rpb24oc291cmNlLCBzdGF0ZSl7IHJldHVybiBpbk1hdGhNb2RlKHNvdXJjZSwgc3RhdGUsIFwiXFxcXF1cIik7IH0pO1xuICAgICAgICByZXR1cm4gXCJrZXl3b3JkXCI7XG4gICAgICB9XG4gICAgICBpZiAoc291cmNlLm1hdGNoKFwiXFxcXChcIikpIHtcbiAgICAgICAgc2V0U3RhdGUoc3RhdGUsIGZ1bmN0aW9uKHNvdXJjZSwgc3RhdGUpeyByZXR1cm4gaW5NYXRoTW9kZShzb3VyY2UsIHN0YXRlLCBcIlxcXFwpXCIpOyB9KTtcbiAgICAgICAgcmV0dXJuIFwia2V5d29yZFwiO1xuICAgICAgfVxuICAgICAgaWYgKHNvdXJjZS5tYXRjaChcIiQkXCIpKSB7XG4gICAgICAgIHNldFN0YXRlKHN0YXRlLCBmdW5jdGlvbihzb3VyY2UsIHN0YXRlKXsgcmV0dXJuIGluTWF0aE1vZGUoc291cmNlLCBzdGF0ZSwgXCIkJFwiKTsgfSk7XG4gICAgICAgIHJldHVybiBcImtleXdvcmRcIjtcbiAgICAgIH1cbiAgICAgIGlmIChzb3VyY2UubWF0Y2goXCIkXCIpKSB7XG4gICAgICAgIHNldFN0YXRlKHN0YXRlLCBmdW5jdGlvbihzb3VyY2UsIHN0YXRlKXsgcmV0dXJuIGluTWF0aE1vZGUoc291cmNlLCBzdGF0ZSwgXCIkXCIpOyB9KTtcbiAgICAgICAgcmV0dXJuIFwia2V5d29yZFwiO1xuICAgICAgfVxuXG4gICAgICB2YXIgY2ggPSBzb3VyY2UubmV4dCgpO1xuICAgICAgaWYgKGNoID09IFwiJVwiKSB7XG4gICAgICAgIHNvdXJjZS5za2lwVG9FbmQoKTtcbiAgICAgICAgcmV0dXJuIFwiY29tbWVudFwiO1xuICAgICAgfSBlbHNlIGlmIChjaCA9PSAnfScgfHwgY2ggPT0gJ10nKSB7XG4gICAgICAgIHBsdWcgPSBwZWVrQ29tbWFuZChzdGF0ZSk7XG4gICAgICAgIGlmIChwbHVnKSB7XG4gICAgICAgICAgcGx1Zy5jbG9zZUJyYWNrZXQoY2gpO1xuICAgICAgICAgIHNldFN0YXRlKHN0YXRlLCBiZWdpblBhcmFtcyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIFwiZXJyb3JcIjtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gXCJicmFja2V0XCI7XG4gICAgICB9IGVsc2UgaWYgKGNoID09ICd7JyB8fCBjaCA9PSAnWycpIHtcbiAgICAgICAgcGx1ZyA9IHBsdWdpbnNbXCJERUZBVUxUXCJdO1xuICAgICAgICBwbHVnID0gbmV3IHBsdWcoKTtcbiAgICAgICAgcHVzaENvbW1hbmQoc3RhdGUsIHBsdWcpO1xuICAgICAgICByZXR1cm4gXCJicmFja2V0XCI7XG4gICAgICB9IGVsc2UgaWYgKC9cXGQvLnRlc3QoY2gpKSB7XG4gICAgICAgIHNvdXJjZS5lYXRXaGlsZSgvW1xcdy4lXS8pO1xuICAgICAgICByZXR1cm4gXCJhdG9tXCI7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzb3VyY2UuZWF0V2hpbGUoL1tcXHdcXC1fXS8pO1xuICAgICAgICBwbHVnID0gZ2V0TW9zdFBvd2VyZnVsKHN0YXRlKTtcbiAgICAgICAgaWYgKHBsdWcubmFtZSA9PSAnYmVnaW4nKSB7XG4gICAgICAgICAgcGx1Zy5hcmd1bWVudCA9IHNvdXJjZS5jdXJyZW50KCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHBsdWcuc3R5bGVJZGVudGlmaWVyKCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gaW5NYXRoTW9kZShzb3VyY2UsIHN0YXRlLCBlbmRNb2RlU2VxKSB7XG4gICAgICBpZiAoc291cmNlLmVhdFNwYWNlKCkpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgICBpZiAoZW5kTW9kZVNlcSAmJiBzb3VyY2UubWF0Y2goZW5kTW9kZVNlcSkpIHtcbiAgICAgICAgc2V0U3RhdGUoc3RhdGUsIG5vcm1hbCk7XG4gICAgICAgIHJldHVybiBcImtleXdvcmRcIjtcbiAgICAgIH1cbiAgICAgIGlmIChzb3VyY2UubWF0Y2goL15cXFxcW2EtekEtWkBdKy8pKSB7XG4gICAgICAgIHJldHVybiBcInRhZ1wiO1xuICAgICAgfVxuICAgICAgaWYgKHNvdXJjZS5tYXRjaCgvXlthLXpBLVpdKy8pKSB7XG4gICAgICAgIHJldHVybiBcInZhcmlhYmxlLTJcIjtcbiAgICAgIH1cbiAgICAgIC8vIGVzY2FwZSBjaGFyYWN0ZXJzXG4gICAgICBpZiAoc291cmNlLm1hdGNoKC9eXFxcXFskJiUje31fXS8pKSB7XG4gICAgICAgIHJldHVybiBcInRhZ1wiO1xuICAgICAgfVxuICAgICAgLy8gd2hpdGUgc3BhY2UgY29udHJvbCBjaGFyYWN0ZXJzXG4gICAgICBpZiAoc291cmNlLm1hdGNoKC9eXFxcXFssOyFcXC9dLykpIHtcbiAgICAgICAgcmV0dXJuIFwidGFnXCI7XG4gICAgICB9XG4gICAgICAvLyBzcGVjaWFsIG1hdGgtbW9kZSBjaGFyYWN0ZXJzXG4gICAgICBpZiAoc291cmNlLm1hdGNoKC9eW1xcXl8mXS8pKSB7XG4gICAgICAgIHJldHVybiBcInRhZ1wiO1xuICAgICAgfVxuICAgICAgLy8gbm9uLXNwZWNpYWwgY2hhcmFjdGVyc1xuICAgICAgaWYgKHNvdXJjZS5tYXRjaCgvXlsrXFwtPD58PSxcXC9AISo6OydcImB+Iz9dLykpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgICBpZiAoc291cmNlLm1hdGNoKC9eKFxcZCtcXC5cXGQqfFxcZCpcXC5cXGQrfFxcZCspLykpIHtcbiAgICAgICAgcmV0dXJuIFwibnVtYmVyXCI7XG4gICAgICB9XG4gICAgICB2YXIgY2ggPSBzb3VyY2UubmV4dCgpO1xuICAgICAgaWYgKGNoID09IFwie1wiIHx8IGNoID09IFwifVwiIHx8IGNoID09IFwiW1wiIHx8IGNoID09IFwiXVwiIHx8IGNoID09IFwiKFwiIHx8IGNoID09IFwiKVwiKSB7XG4gICAgICAgIHJldHVybiBcImJyYWNrZXRcIjtcbiAgICAgIH1cblxuICAgICAgaWYgKGNoID09IFwiJVwiKSB7XG4gICAgICAgIHNvdXJjZS5za2lwVG9FbmQoKTtcbiAgICAgICAgcmV0dXJuIFwiY29tbWVudFwiO1xuICAgICAgfVxuICAgICAgcmV0dXJuIFwiZXJyb3JcIjtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBiZWdpblBhcmFtcyhzb3VyY2UsIHN0YXRlKSB7XG4gICAgICB2YXIgY2ggPSBzb3VyY2UucGVlaygpLCBsYXN0UGx1ZztcbiAgICAgIGlmIChjaCA9PSAneycgfHwgY2ggPT0gJ1snKSB7XG4gICAgICAgIGxhc3RQbHVnID0gcGVla0NvbW1hbmQoc3RhdGUpO1xuICAgICAgICBsYXN0UGx1Zy5vcGVuQnJhY2tldChjaCk7XG4gICAgICAgIHNvdXJjZS5lYXQoY2gpO1xuICAgICAgICBzZXRTdGF0ZShzdGF0ZSwgbm9ybWFsKTtcbiAgICAgICAgcmV0dXJuIFwiYnJhY2tldFwiO1xuICAgICAgfVxuICAgICAgaWYgKC9bIFxcdFxccl0vLnRlc3QoY2gpKSB7XG4gICAgICAgIHNvdXJjZS5lYXQoY2gpO1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICAgIHNldFN0YXRlKHN0YXRlLCBub3JtYWwpO1xuICAgICAgcG9wQ29tbWFuZChzdGF0ZSk7XG5cbiAgICAgIHJldHVybiBub3JtYWwoc291cmNlLCBzdGF0ZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIHN0YXJ0U3RhdGU6IGZ1bmN0aW9uKCkge1xuICAgICAgICB2YXIgZiA9IHBhcnNlckNvbmZpZy5pbk1hdGhNb2RlID8gZnVuY3Rpb24oc291cmNlLCBzdGF0ZSl7IHJldHVybiBpbk1hdGhNb2RlKHNvdXJjZSwgc3RhdGUpOyB9IDogbm9ybWFsO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGNtZFN0YXRlOiBbXSxcbiAgICAgICAgICBmOiBmXG4gICAgICAgIH07XG4gICAgICB9LFxuICAgICAgY29weVN0YXRlOiBmdW5jdGlvbihzKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgY21kU3RhdGU6IHMuY21kU3RhdGUuc2xpY2UoKSxcbiAgICAgICAgICBmOiBzLmZcbiAgICAgICAgfTtcbiAgICAgIH0sXG4gICAgICB0b2tlbjogZnVuY3Rpb24oc3RyZWFtLCBzdGF0ZSkge1xuICAgICAgICByZXR1cm4gc3RhdGUuZihzdHJlYW0sIHN0YXRlKTtcbiAgICAgIH0sXG4gICAgICBibGFua0xpbmU6IGZ1bmN0aW9uKHN0YXRlKSB7XG4gICAgICAgIHN0YXRlLmYgPSBub3JtYWw7XG4gICAgICAgIHN0YXRlLmNtZFN0YXRlLmxlbmd0aCA9IDA7XG4gICAgICB9LFxuICAgICAgbGluZUNvbW1lbnQ6IFwiJVwiXG4gICAgfTtcbiAgfSk7XG5cbiAgQ29kZU1pcnJvci5kZWZpbmVNSU1FKFwidGV4dC94LXN0ZXhcIiwgXCJzdGV4XCIpO1xuICBDb2RlTWlycm9yLmRlZmluZU1JTUUoXCJ0ZXh0L3gtbGF0ZXhcIiwgXCJzdGV4XCIpO1xuXG59KTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/codemirror/mode/stex/stex.js\n"); /***/ }), /***/ "./node_modules/codemirror/mode/stylus/stylus.js": /*!*******************************************************!*\ !*** ./node_modules/codemirror/mode/stylus/stylus.js ***! \*******************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n// Stylus mode created by Dmitry Kiselyov http://git.io/AaRB\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ \"./node_modules/codemirror/lib/codemirror.js\"));\n else {}\n})(function(CodeMirror) {\n \"use strict\";\n\n CodeMirror.defineMode(\"stylus\", function(config) {\n var indentUnit = config.indentUnit,\n indentUnitString = '',\n tagKeywords = keySet(tagKeywords_),\n tagVariablesRegexp = /^(a|b|i|s|col|em)$/i,\n propertyKeywords = keySet(propertyKeywords_),\n nonStandardPropertyKeywords = keySet(nonStandardPropertyKeywords_),\n valueKeywords = keySet(valueKeywords_),\n colorKeywords = keySet(colorKeywords_),\n documentTypes = keySet(documentTypes_),\n documentTypesRegexp = wordRegexp(documentTypes_),\n mediaFeatures = keySet(mediaFeatures_),\n mediaTypes = keySet(mediaTypes_),\n fontProperties = keySet(fontProperties_),\n operatorsRegexp = /^\\s*([.]{2,3}|&&|\\|\\||\\*\\*|[?!=:]?=|[-+*\\/%<>]=?|\\?:|\\~)/,\n wordOperatorKeywordsRegexp = wordRegexp(wordOperatorKeywords_),\n blockKeywords = keySet(blockKeywords_),\n vendorPrefixesRegexp = new RegExp(/^\\-(moz|ms|o|webkit)-/i),\n commonAtoms = keySet(commonAtoms_),\n firstWordMatch = \"\",\n states = {},\n ch,\n style,\n type,\n override;\n\n while (indentUnitString.length < indentUnit) indentUnitString += ' ';\n\n /**\n * Tokenizers\n */\n function tokenBase(stream, state) {\n firstWordMatch = stream.string.match(/(^[\\w-]+\\s*=\\s*$)|(^\\s*[\\w-]+\\s*=\\s*[\\w-])|(^\\s*(\\.|#|@|\\$|\\&|\\[|\\d|\\+|::?|\\{|\\>|~|\\/)?\\s*[\\w-]*([a-z0-9-]|\\*|\\/\\*)(\\(|,)?)/);\n state.context.line.firstWord = firstWordMatch ? firstWordMatch[0].replace(/^\\s*/, \"\") : \"\";\n state.context.line.indent = stream.indentation();\n ch = stream.peek();\n\n // Line comment\n if (stream.match(\"//\")) {\n stream.skipToEnd();\n return [\"comment\", \"comment\"];\n }\n // Block comment\n if (stream.match(\"/*\")) {\n state.tokenize = tokenCComment;\n return tokenCComment(stream, state);\n }\n // String\n if (ch == \"\\\"\" || ch == \"'\") {\n stream.next();\n state.tokenize = tokenString(ch);\n return state.tokenize(stream, state);\n }\n // Def\n if (ch == \"@\") {\n stream.next();\n stream.eatWhile(/[\\w\\\\-]/);\n return [\"def\", stream.current()];\n }\n // ID selector or Hex color\n if (ch == \"#\") {\n stream.next();\n // Hex color\n if (stream.match(/^[0-9a-f]{3}([0-9a-f]([0-9a-f]{2}){0,2})?\\b/i)) {\n return [\"atom\", \"atom\"];\n }\n // ID selector\n if (stream.match(/^[a-z][\\w-]*/i)) {\n return [\"builtin\", \"hash\"];\n }\n }\n // Vendor prefixes\n if (stream.match(vendorPrefixesRegexp)) {\n return [\"meta\", \"vendor-prefixes\"];\n }\n // Numbers\n if (stream.match(/^-?[0-9]?\\.?[0-9]/)) {\n stream.eatWhile(/[a-z%]/i);\n return [\"number\", \"unit\"];\n }\n // !important|optional\n if (ch == \"!\") {\n stream.next();\n return [stream.match(/^(important|optional)/i) ? \"keyword\": \"operator\", \"important\"];\n }\n // Class\n if (ch == \".\" && stream.match(/^\\.[a-z][\\w-]*/i)) {\n return [\"qualifier\", \"qualifier\"];\n }\n // url url-prefix domain regexp\n if (stream.match(documentTypesRegexp)) {\n if (stream.peek() == \"(\") state.tokenize = tokenParenthesized;\n return [\"property\", \"word\"];\n }\n // Mixins / Functions\n if (stream.match(/^[a-z][\\w-]*\\(/i)) {\n stream.backUp(1);\n return [\"keyword\", \"mixin\"];\n }\n // Block mixins\n if (stream.match(/^(\\+|-)[a-z][\\w-]*\\(/i)) {\n stream.backUp(1);\n return [\"keyword\", \"block-mixin\"];\n }\n // Parent Reference BEM naming\n if (stream.string.match(/^\\s*&/) && stream.match(/^[-_]+[a-z][\\w-]*/)) {\n return [\"qualifier\", \"qualifier\"];\n }\n // / Root Reference & Parent Reference\n if (stream.match(/^(\\/|&)(-|_|:|\\.|#|[a-z])/)) {\n stream.backUp(1);\n return [\"variable-3\", \"reference\"];\n }\n if (stream.match(/^&{1}\\s*$/)) {\n return [\"variable-3\", \"reference\"];\n }\n // Word operator\n if (stream.match(wordOperatorKeywordsRegexp)) {\n return [\"operator\", \"operator\"];\n }\n // Word\n if (stream.match(/^\\$?[-_]*[a-z0-9]+[\\w-]*/i)) {\n // Variable\n if (stream.match(/^(\\.|\\[)[\\w-\\'\\\"\\]]+/i, false)) {\n if (!wordIsTag(stream.current())) {\n stream.match(/\\./);\n return [\"variable-2\", \"variable-name\"];\n }\n }\n return [\"variable-2\", \"word\"];\n }\n // Operators\n if (stream.match(operatorsRegexp)) {\n return [\"operator\", stream.current()];\n }\n // Delimiters\n if (/[:;,{}\\[\\]\\(\\)]/.test(ch)) {\n stream.next();\n return [null, ch];\n }\n // Non-detected items\n stream.next();\n return [null, null];\n }\n\n /**\n * Token comment\n */\n function tokenCComment(stream, state) {\n var maybeEnd = false, ch;\n while ((ch = stream.next()) != null) {\n if (maybeEnd && ch == \"/\") {\n state.tokenize = null;\n break;\n }\n maybeEnd = (ch == \"*\");\n }\n return [\"comment\", \"comment\"];\n }\n\n /**\n * Token string\n */\n function tokenString(quote) {\n return function(stream, state) {\n var escaped = false, ch;\n while ((ch = stream.next()) != null) {\n if (ch == quote && !escaped) {\n if (quote == \")\") stream.backUp(1);\n break;\n }\n escaped = !escaped && ch == \"\\\\\";\n }\n if (ch == quote || !escaped && quote != \")\") state.tokenize = null;\n return [\"string\", \"string\"];\n };\n }\n\n /**\n * Token parenthesized\n */\n function tokenParenthesized(stream, state) {\n stream.next(); // Must be \"(\"\n if (!stream.match(/\\s*[\\\"\\')]/, false))\n state.tokenize = tokenString(\")\");\n else\n state.tokenize = null;\n return [null, \"(\"];\n }\n\n /**\n * Context management\n */\n function Context(type, indent, prev, line) {\n this.type = type;\n this.indent = indent;\n this.prev = prev;\n this.line = line || {firstWord: \"\", indent: 0};\n }\n\n function pushContext(state, stream, type, indent) {\n indent = indent >= 0 ? indent : indentUnit;\n state.context = new Context(type, stream.indentation() + indent, state.context);\n return type;\n }\n\n function popContext(state, currentIndent) {\n var contextIndent = state.context.indent - indentUnit;\n currentIndent = currentIndent || false;\n state.context = state.context.prev;\n if (currentIndent) state.context.indent = contextIndent;\n return state.context.type;\n }\n\n function pass(type, stream, state) {\n return states[state.context.type](type, stream, state);\n }\n\n function popAndPass(type, stream, state, n) {\n for (var i = n || 1; i > 0; i--)\n state.context = state.context.prev;\n return pass(type, stream, state);\n }\n\n\n /**\n * Parser\n */\n function wordIsTag(word) {\n return word.toLowerCase() in tagKeywords;\n }\n\n function wordIsProperty(word) {\n word = word.toLowerCase();\n return word in propertyKeywords || word in fontProperties;\n }\n\n function wordIsBlock(word) {\n return word.toLowerCase() in blockKeywords;\n }\n\n function wordIsVendorPrefix(word) {\n return word.toLowerCase().match(vendorPrefixesRegexp);\n }\n\n function wordAsValue(word) {\n var wordLC = word.toLowerCase();\n var override = \"variable-2\";\n if (wordIsTag(word)) override = \"tag\";\n else if (wordIsBlock(word)) override = \"block-keyword\";\n else if (wordIsProperty(word)) override = \"property\";\n else if (wordLC in valueKeywords || wordLC in commonAtoms) override = \"atom\";\n else if (wordLC == \"return\" || wordLC in colorKeywords) override = \"keyword\";\n\n // Font family\n else if (word.match(/^[A-Z]/)) override = \"string\";\n return override;\n }\n\n function typeIsBlock(type, stream) {\n return ((endOfLine(stream) && (type == \"{\" || type == \"]\" || type == \"hash\" || type == \"qualifier\")) || type == \"block-mixin\");\n }\n\n function typeIsInterpolation(type, stream) {\n return type == \"{\" && stream.match(/^\\s*\\$?[\\w-]+/i, false);\n }\n\n function typeIsPseudo(type, stream) {\n return type == \":\" && stream.match(/^[a-z-]+/, false);\n }\n\n function startOfLine(stream) {\n return stream.sol() || stream.string.match(new RegExp(\"^\\\\s*\" + escapeRegExp(stream.current())));\n }\n\n function endOfLine(stream) {\n return stream.eol() || stream.match(/^\\s*$/, false);\n }\n\n function firstWordOfLine(line) {\n var re = /^\\s*[-_]*[a-z0-9]+[\\w-]*/i;\n var result = typeof line == \"string\" ? line.match(re) : line.string.match(re);\n return result ? result[0].replace(/^\\s*/, \"\") : \"\";\n }\n\n\n /**\n * Block\n */\n states.block = function(type, stream, state) {\n if ((type == \"comment\" && startOfLine(stream)) ||\n (type == \",\" && endOfLine(stream)) ||\n type == \"mixin\") {\n return pushContext(state, stream, \"block\", 0);\n }\n if (typeIsInterpolation(type, stream)) {\n return pushContext(state, stream, \"interpolation\");\n }\n if (endOfLine(stream) && type == \"]\") {\n if (!/^\\s*(\\.|#|:|\\[|\\*|&)/.test(stream.string) && !wordIsTag(firstWordOfLine(stream))) {\n return pushContext(state, stream, \"block\", 0);\n }\n }\n if (typeIsBlock(type, stream)) {\n return pushContext(state, stream, \"block\");\n }\n if (type == \"}\" && endOfLine(stream)) {\n return pushContext(state, stream, \"block\", 0);\n }\n if (type == \"variable-name\") {\n if (stream.string.match(/^\\s?\\$[\\w-\\.\\[\\]\\'\\\"]+$/) || wordIsBlock(firstWordOfLine(stream))) {\n return pushContext(state, stream, \"variableName\");\n }\n else {\n return pushContext(state, stream, \"variableName\", 0);\n }\n }\n if (type == \"=\") {\n if (!endOfLine(stream) && !wordIsBlock(firstWordOfLine(stream))) {\n return pushContext(state, stream, \"block\", 0);\n }\n return pushContext(state, stream, \"block\");\n }\n if (type == \"*\") {\n if (endOfLine(stream) || stream.match(/\\s*(,|\\.|#|\\[|:|{)/,false)) {\n override = \"tag\";\n return pushContext(state, stream, \"block\");\n }\n }\n if (typeIsPseudo(type, stream)) {\n return pushContext(state, stream, \"pseudo\");\n }\n if (/@(font-face|media|supports|(-moz-)?document)/.test(type)) {\n return pushContext(state, stream, endOfLine(stream) ? \"block\" : \"atBlock\");\n }\n if (/@(-(moz|ms|o|webkit)-)?keyframes$/.test(type)) {\n return pushContext(state, stream, \"keyframes\");\n }\n if (/@extends?/.test(type)) {\n return pushContext(state, stream, \"extend\", 0);\n }\n if (type && type.charAt(0) == \"@\") {\n\n // Property Lookup\n if (stream.indentation() > 0 && wordIsProperty(stream.current().slice(1))) {\n override = \"variable-2\";\n return \"block\";\n }\n if (/(@import|@require|@charset)/.test(type)) {\n return pushContext(state, stream, \"block\", 0);\n }\n return pushContext(state, stream, \"block\");\n }\n if (type == \"reference\" && endOfLine(stream)) {\n return pushContext(state, stream, \"block\");\n }\n if (type == \"(\") {\n return pushContext(state, stream, \"parens\");\n }\n\n if (type == \"vendor-prefixes\") {\n return pushContext(state, stream, \"vendorPrefixes\");\n }\n if (type == \"word\") {\n var word = stream.current();\n override = wordAsValue(word);\n\n if (override == \"property\") {\n if (startOfLine(stream)) {\n return pushContext(state, stream, \"block\", 0);\n } else {\n override = \"atom\";\n return \"block\";\n }\n }\n\n if (override == \"tag\") {\n\n // tag is a css value\n if (/embed|menu|pre|progress|sub|table/.test(word)) {\n if (wordIsProperty(firstWordOfLine(stream))) {\n override = \"atom\";\n return \"block\";\n }\n }\n\n // tag is an attribute\n if (stream.string.match(new RegExp(\"\\\\[\\\\s*\" + word + \"|\" + word +\"\\\\s*\\\\]\"))) {\n override = \"atom\";\n return \"block\";\n }\n\n // tag is a variable\n if (tagVariablesRegexp.test(word)) {\n if ((startOfLine(stream) && stream.string.match(/=/)) ||\n (!startOfLine(stream) &&\n !stream.string.match(/^(\\s*\\.|#|\\&|\\[|\\/|>|\\*)/) &&\n !wordIsTag(firstWordOfLine(stream)))) {\n override = \"variable-2\";\n if (wordIsBlock(firstWordOfLine(stream))) return \"block\";\n return pushContext(state, stream, \"block\", 0);\n }\n }\n\n if (endOfLine(stream)) return pushContext(state, stream, \"block\");\n }\n if (override == \"block-keyword\") {\n override = \"keyword\";\n\n // Postfix conditionals\n if (stream.current(/(if|unless)/) && !startOfLine(stream)) {\n return \"block\";\n }\n return pushContext(state, stream, \"block\");\n }\n if (word == \"return\") return pushContext(state, stream, \"block\", 0);\n\n // Placeholder selector\n if (override == \"variable-2\" && stream.string.match(/^\\s?\\$[\\w-\\.\\[\\]\\'\\\"]+$/)) {\n return pushContext(state, stream, \"block\");\n }\n }\n return state.context.type;\n };\n\n\n /**\n * Parens\n */\n states.parens = function(type, stream, state) {\n if (type == \"(\") return pushContext(state, stream, \"parens\");\n if (type == \")\") {\n if (state.context.prev.type == \"parens\") {\n return popContext(state);\n }\n if ((stream.string.match(/^[a-z][\\w-]*\\(/i) && endOfLine(stream)) ||\n wordIsBlock(firstWordOfLine(stream)) ||\n /(\\.|#|:|\\[|\\*|&|>|~|\\+|\\/)/.test(firstWordOfLine(stream)) ||\n (!stream.string.match(/^-?[a-z][\\w-\\.\\[\\]\\'\\\"]*\\s*=/) &&\n wordIsTag(firstWordOfLine(stream)))) {\n return pushContext(state, stream, \"block\");\n }\n if (stream.string.match(/^[\\$-]?[a-z][\\w-\\.\\[\\]\\'\\\"]*\\s*=/) ||\n stream.string.match(/^\\s*(\\(|\\)|[0-9])/) ||\n stream.string.match(/^\\s+[a-z][\\w-]*\\(/i) ||\n stream.string.match(/^\\s+[\\$-]?[a-z]/i)) {\n return pushContext(state, stream, \"block\", 0);\n }\n if (endOfLine(stream)) return pushContext(state, stream, \"block\");\n else return pushContext(state, stream, \"block\", 0);\n }\n if (type && type.charAt(0) == \"@\" && wordIsProperty(stream.current().slice(1))) {\n override = \"variable-2\";\n }\n if (type == \"word\") {\n var word = stream.current();\n override = wordAsValue(word);\n if (override == \"tag\" && tagVariablesRegexp.test(word)) {\n override = \"variable-2\";\n }\n if (override == \"property\" || word == \"to\") override = \"atom\";\n }\n if (type == \"variable-name\") {\n return pushContext(state, stream, \"variableName\");\n }\n if (typeIsPseudo(type, stream)) {\n return pushContext(state, stream, \"pseudo\");\n }\n return state.context.type;\n };\n\n\n /**\n * Vendor prefixes\n */\n states.vendorPrefixes = function(type, stream, state) {\n if (type == \"word\") {\n override = \"property\";\n return pushContext(state, stream, \"block\", 0);\n }\n return popContext(state);\n };\n\n\n /**\n * Pseudo\n */\n states.pseudo = function(type, stream, state) {\n if (!wordIsProperty(firstWordOfLine(stream.string))) {\n stream.match(/^[a-z-]+/);\n override = \"variable-3\";\n if (endOfLine(stream)) return pushContext(state, stream, \"block\");\n return popContext(state);\n }\n return popAndPass(type, stream, state);\n };\n\n\n /**\n * atBlock\n */\n states.atBlock = function(type, stream, state) {\n if (type == \"(\") return pushContext(state, stream, \"atBlock_parens\");\n if (typeIsBlock(type, stream)) {\n return pushContext(state, stream, \"block\");\n }\n if (typeIsInterpolation(type, stream)) {\n return pushContext(state, stream, \"interpolation\");\n }\n if (type == \"word\") {\n var word = stream.current().toLowerCase();\n if (/^(only|not|and|or)$/.test(word))\n override = \"keyword\";\n else if (documentTypes.hasOwnProperty(word))\n override = \"tag\";\n else if (mediaTypes.hasOwnProperty(word))\n override = \"attribute\";\n else if (mediaFeatures.hasOwnProperty(word))\n override = \"property\";\n else if (nonStandardPropertyKeywords.hasOwnProperty(word))\n override = \"string-2\";\n else override = wordAsValue(stream.current());\n if (override == \"tag\" && endOfLine(stream)) {\n return pushContext(state, stream, \"block\");\n }\n }\n if (type == \"operator\" && /^(not|and|or)$/.test(stream.current())) {\n override = \"keyword\";\n }\n return state.context.type;\n };\n\n states.atBlock_parens = function(type, stream, state) {\n if (type == \"{\" || type == \"}\") return state.context.type;\n if (type == \")\") {\n if (endOfLine(stream)) return pushContext(state, stream, \"block\");\n else return pushContext(state, stream, \"atBlock\");\n }\n if (type == \"word\") {\n var word = stream.current().toLowerCase();\n override = wordAsValue(word);\n if (/^(max|min)/.test(word)) override = \"property\";\n if (override == \"tag\") {\n tagVariablesRegexp.test(word) ? override = \"variable-2\" : override = \"atom\";\n }\n return state.context.type;\n }\n return states.atBlock(type, stream, state);\n };\n\n\n /**\n * Keyframes\n */\n states.keyframes = function(type, stream, state) {\n if (stream.indentation() == \"0\" && ((type == \"}\" && startOfLine(stream)) || type == \"]\" || type == \"hash\"\n || type == \"qualifier\" || wordIsTag(stream.current()))) {\n return popAndPass(type, stream, state);\n }\n if (type == \"{\") return pushContext(state, stream, \"keyframes\");\n if (type == \"}\") {\n if (startOfLine(stream)) return popContext(state, true);\n else return pushContext(state, stream, \"keyframes\");\n }\n if (type == \"unit\" && /^[0-9]+\\%$/.test(stream.current())) {\n return pushContext(state, stream, \"keyframes\");\n }\n if (type == \"word\") {\n override = wordAsValue(stream.current());\n if (override == \"block-keyword\") {\n override = \"keyword\";\n return pushContext(state, stream, \"keyframes\");\n }\n }\n if (/@(font-face|media|supports|(-moz-)?document)/.test(type)) {\n return pushContext(state, stream, endOfLine(stream) ? \"block\" : \"atBlock\");\n }\n if (type == \"mixin\") {\n return pushContext(state, stream, \"block\", 0);\n }\n return state.context.type;\n };\n\n\n /**\n * Interpolation\n */\n states.interpolation = function(type, stream, state) {\n if (type == \"{\") popContext(state) && pushContext(state, stream, \"block\");\n if (type == \"}\") {\n if (stream.string.match(/^\\s*(\\.|#|:|\\[|\\*|&|>|~|\\+|\\/)/i) ||\n (stream.string.match(/^\\s*[a-z]/i) && wordIsTag(firstWordOfLine(stream)))) {\n return pushContext(state, stream, \"block\");\n }\n if (!stream.string.match(/^(\\{|\\s*\\&)/) ||\n stream.match(/\\s*[\\w-]/,false)) {\n return pushContext(state, stream, \"block\", 0);\n }\n return pushContext(state, stream, \"block\");\n }\n if (type == \"variable-name\") {\n return pushContext(state, stream, \"variableName\", 0);\n }\n if (type == \"word\") {\n override = wordAsValue(stream.current());\n if (override == \"tag\") override = \"atom\";\n }\n return state.context.type;\n };\n\n\n /**\n * Extend/s\n */\n states.extend = function(type, stream, state) {\n if (type == \"[\" || type == \"=\") return \"extend\";\n if (type == \"]\") return popContext(state);\n if (type == \"word\") {\n override = wordAsValue(stream.current());\n return \"extend\";\n }\n return popContext(state);\n };\n\n\n /**\n * Variable name\n */\n states.variableName = function(type, stream, state) {\n if (type == \"string\" || type == \"[\" || type == \"]\" || stream.current().match(/^(\\.|\\$)/)) {\n if (stream.current().match(/^\\.[\\w-]+/i)) override = \"variable-2\";\n return \"variableName\";\n }\n return popAndPass(type, stream, state);\n };\n\n\n return {\n startState: function(base) {\n return {\n tokenize: null,\n state: \"block\",\n context: new Context(\"block\", base || 0, null)\n };\n },\n token: function(stream, state) {\n if (!state.tokenize && stream.eatSpace()) return null;\n style = (state.tokenize || tokenBase)(stream, state);\n if (style && typeof style == \"object\") {\n type = style[1];\n style = style[0];\n }\n override = style;\n state.state = states[state.state](type, stream, state);\n return override;\n },\n indent: function(state, textAfter, line) {\n\n var cx = state.context,\n ch = textAfter && textAfter.charAt(0),\n indent = cx.indent,\n lineFirstWord = firstWordOfLine(textAfter),\n lineIndent = line.match(/^\\s*/)[0].replace(/\\t/g, indentUnitString).length,\n prevLineFirstWord = state.context.prev ? state.context.prev.line.firstWord : \"\",\n prevLineIndent = state.context.prev ? state.context.prev.line.indent : lineIndent;\n\n if (cx.prev &&\n (ch == \"}\" && (cx.type == \"block\" || cx.type == \"atBlock\" || cx.type == \"keyframes\") ||\n ch == \")\" && (cx.type == \"parens\" || cx.type == \"atBlock_parens\") ||\n ch == \"{\" && (cx.type == \"at\"))) {\n indent = cx.indent - indentUnit;\n } else if (!(/(\\})/.test(ch))) {\n if (/@|\\$|\\d/.test(ch) ||\n /^\\{/.test(textAfter) ||\n/^\\s*\\/(\\/|\\*)/.test(textAfter) ||\n /^\\s*\\/\\*/.test(prevLineFirstWord) ||\n /^\\s*[\\w-\\.\\[\\]\\'\\\"]+\\s*(\\?|:|\\+)?=/i.test(textAfter) ||\n/^(\\+|-)?[a-z][\\w-]*\\(/i.test(textAfter) ||\n/^return/.test(textAfter) ||\n wordIsBlock(lineFirstWord)) {\n indent = lineIndent;\n } else if (/(\\.|#|:|\\[|\\*|&|>|~|\\+|\\/)/.test(ch) || wordIsTag(lineFirstWord)) {\n if (/\\,\\s*$/.test(prevLineFirstWord)) {\n indent = prevLineIndent;\n } else if (/^\\s+/.test(line) && (/(\\.|#|:|\\[|\\*|&|>|~|\\+|\\/)/.test(prevLineFirstWord) || wordIsTag(prevLineFirstWord))) {\n indent = lineIndent <= prevLineIndent ? prevLineIndent : prevLineIndent + indentUnit;\n } else {\n indent = lineIndent;\n }\n } else if (!/,\\s*$/.test(line) && (wordIsVendorPrefix(lineFirstWord) || wordIsProperty(lineFirstWord))) {\n if (wordIsBlock(prevLineFirstWord)) {\n indent = lineIndent <= prevLineIndent ? prevLineIndent : prevLineIndent + indentUnit;\n } else if (/^\\{/.test(prevLineFirstWord)) {\n indent = lineIndent <= prevLineIndent ? lineIndent : prevLineIndent + indentUnit;\n } else if (wordIsVendorPrefix(prevLineFirstWord) || wordIsProperty(prevLineFirstWord)) {\n indent = lineIndent >= prevLineIndent ? prevLineIndent : lineIndent;\n } else if (/^(\\.|#|:|\\[|\\*|&|@|\\+|\\-|>|~|\\/)/.test(prevLineFirstWord) ||\n /=\\s*$/.test(prevLineFirstWord) ||\n wordIsTag(prevLineFirstWord) ||\n /^\\$[\\w-\\.\\[\\]\\'\\\"]/.test(prevLineFirstWord)) {\n indent = prevLineIndent + indentUnit;\n } else {\n indent = lineIndent;\n }\n }\n }\n return indent;\n },\n electricChars: \"}\",\n lineComment: \"//\",\n fold: \"indent\"\n };\n });\n\n // developer.mozilla.org/en-US/docs/Web/HTML/Element\n var tagKeywords_ = [\"a\",\"abbr\",\"address\",\"area\",\"article\",\"aside\",\"audio\", \"b\", \"base\",\"bdi\", \"bdo\",\"bgsound\",\"blockquote\",\"body\",\"br\",\"button\",\"canvas\",\"caption\",\"cite\", \"code\",\"col\",\"colgroup\",\"data\",\"datalist\",\"dd\",\"del\",\"details\",\"dfn\",\"div\", \"dl\",\"dt\",\"em\",\"embed\",\"fieldset\",\"figcaption\",\"figure\",\"footer\",\"form\",\"h1\", \"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"head\",\"header\",\"hgroup\",\"hr\",\"html\",\"i\",\"iframe\", \"img\",\"input\",\"ins\",\"kbd\",\"keygen\",\"label\",\"legend\",\"li\",\"link\",\"main\",\"map\", \"mark\",\"marquee\",\"menu\",\"menuitem\",\"meta\",\"meter\",\"nav\",\"nobr\",\"noframes\", \"noscript\",\"object\",\"ol\",\"optgroup\",\"option\",\"output\",\"p\",\"param\",\"pre\", \"progress\",\"q\",\"rp\",\"rt\",\"ruby\",\"s\",\"samp\",\"script\",\"section\",\"select\", \"small\",\"source\",\"span\",\"strong\",\"style\",\"sub\",\"summary\",\"sup\",\"table\",\"tbody\",\"td\",\"textarea\",\"tfoot\",\"th\",\"thead\",\"time\",\"tr\",\"track\", \"u\",\"ul\",\"var\",\"video\"];\n\n // github.com/codemirror/CodeMirror/blob/master/mode/css/css.js\n var documentTypes_ = [\"domain\", \"regexp\", \"url\", \"url-prefix\"];\n var mediaTypes_ = [\"all\",\"aural\",\"braille\",\"handheld\",\"print\",\"projection\",\"screen\",\"tty\",\"tv\",\"embossed\"];\n var mediaFeatures_ = [\"width\",\"min-width\",\"max-width\",\"height\",\"min-height\",\"max-height\",\"device-width\",\"min-device-width\",\"max-device-width\",\"device-height\",\"min-device-height\",\"max-device-height\",\"aspect-ratio\",\"min-aspect-ratio\",\"max-aspect-ratio\",\"device-aspect-ratio\",\"min-device-aspect-ratio\",\"max-device-aspect-ratio\",\"color\",\"min-color\",\"max-color\",\"color-index\",\"min-color-index\",\"max-color-index\",\"monochrome\",\"min-monochrome\",\"max-monochrome\",\"resolution\",\"min-resolution\",\"max-resolution\",\"scan\",\"grid\"];\n var propertyKeywords_ = [\"align-content\",\"align-items\",\"align-self\",\"alignment-adjust\",\"alignment-baseline\",\"anchor-point\",\"animation\",\"animation-delay\",\"animation-direction\",\"animation-duration\",\"animation-fill-mode\",\"animation-iteration-count\",\"animation-name\",\"animation-play-state\",\"animation-timing-function\",\"appearance\",\"azimuth\",\"backface-visibility\",\"background\",\"background-attachment\",\"background-clip\",\"background-color\",\"background-image\",\"background-origin\",\"background-position\",\"background-repeat\",\"background-size\",\"baseline-shift\",\"binding\",\"bleed\",\"bookmark-label\",\"bookmark-level\",\"bookmark-state\",\"bookmark-target\",\"border\",\"border-bottom\",\"border-bottom-color\",\"border-bottom-left-radius\",\"border-bottom-right-radius\",\"border-bottom-style\",\"border-bottom-width\",\"border-collapse\",\"border-color\",\"border-image\",\"border-image-outset\",\"border-image-repeat\",\"border-image-slice\",\"border-image-source\",\"border-image-width\",\"border-left\",\"border-left-color\",\"border-left-style\",\"border-left-width\",\"border-radius\",\"border-right\",\"border-right-color\",\"border-right-style\",\"border-right-width\",\"border-spacing\",\"border-style\",\"border-top\",\"border-top-color\",\"border-top-left-radius\",\"border-top-right-radius\",\"border-top-style\",\"border-top-width\",\"border-width\",\"bottom\",\"box-decoration-break\",\"box-shadow\",\"box-sizing\",\"break-after\",\"break-before\",\"break-inside\",\"caption-side\",\"clear\",\"clip\",\"color\",\"color-profile\",\"column-count\",\"column-fill\",\"column-gap\",\"column-rule\",\"column-rule-color\",\"column-rule-style\",\"column-rule-width\",\"column-span\",\"column-width\",\"columns\",\"content\",\"counter-increment\",\"counter-reset\",\"crop\",\"cue\",\"cue-after\",\"cue-before\",\"cursor\",\"direction\",\"display\",\"dominant-baseline\",\"drop-initial-after-adjust\",\"drop-initial-after-align\",\"drop-initial-before-adjust\",\"drop-initial-before-align\",\"drop-initial-size\",\"drop-initial-value\",\"elevation\",\"empty-cells\",\"fit\",\"fit-position\",\"flex\",\"flex-basis\",\"flex-direction\",\"flex-flow\",\"flex-grow\",\"flex-shrink\",\"flex-wrap\",\"float\",\"float-offset\",\"flow-from\",\"flow-into\",\"font\",\"font-feature-settings\",\"font-family\",\"font-kerning\",\"font-language-override\",\"font-size\",\"font-size-adjust\",\"font-stretch\",\"font-style\",\"font-synthesis\",\"font-variant\",\"font-variant-alternates\",\"font-variant-caps\",\"font-variant-east-asian\",\"font-variant-ligatures\",\"font-variant-numeric\",\"font-variant-position\",\"font-weight\",\"grid\",\"grid-area\",\"grid-auto-columns\",\"grid-auto-flow\",\"grid-auto-position\",\"grid-auto-rows\",\"grid-column\",\"grid-column-end\",\"grid-column-start\",\"grid-row\",\"grid-row-end\",\"grid-row-start\",\"grid-template\",\"grid-template-areas\",\"grid-template-columns\",\"grid-template-rows\",\"hanging-punctuation\",\"height\",\"hyphens\",\"icon\",\"image-orientation\",\"image-rendering\",\"image-resolution\",\"inline-box-align\",\"justify-content\",\"left\",\"letter-spacing\",\"line-break\",\"line-height\",\"line-stacking\",\"line-stacking-ruby\",\"line-stacking-shift\",\"line-stacking-strategy\",\"list-style\",\"list-style-image\",\"list-style-position\",\"list-style-type\",\"margin\",\"margin-bottom\",\"margin-left\",\"margin-right\",\"margin-top\",\"marker-offset\",\"marks\",\"marquee-direction\",\"marquee-loop\",\"marquee-play-count\",\"marquee-speed\",\"marquee-style\",\"max-height\",\"max-width\",\"min-height\",\"min-width\",\"move-to\",\"nav-down\",\"nav-index\",\"nav-left\",\"nav-right\",\"nav-up\",\"object-fit\",\"object-position\",\"opacity\",\"order\",\"orphans\",\"outline\",\"outline-color\",\"outline-offset\",\"outline-style\",\"outline-width\",\"overflow\",\"overflow-style\",\"overflow-wrap\",\"overflow-x\",\"overflow-y\",\"padding\",\"padding-bottom\",\"padding-left\",\"padding-right\",\"padding-top\",\"page\",\"page-break-after\",\"page-break-before\",\"page-break-inside\",\"page-policy\",\"pause\",\"pause-after\",\"pause-before\",\"perspective\",\"perspective-origin\",\"pitch\",\"pitch-range\",\"play-during\",\"position\",\"presentation-level\",\"punctuation-trim\",\"quotes\",\"region-break-after\",\"region-break-before\",\"region-break-inside\",\"region-fragment\",\"rendering-intent\",\"resize\",\"rest\",\"rest-after\",\"rest-before\",\"richness\",\"right\",\"rotation\",\"rotation-point\",\"ruby-align\",\"ruby-overhang\",\"ruby-position\",\"ruby-span\",\"shape-image-threshold\",\"shape-inside\",\"shape-margin\",\"shape-outside\",\"size\",\"speak\",\"speak-as\",\"speak-header\",\"speak-numeral\",\"speak-punctuation\",\"speech-rate\",\"stress\",\"string-set\",\"tab-size\",\"table-layout\",\"target\",\"target-name\",\"target-new\",\"target-position\",\"text-align\",\"text-align-last\",\"text-decoration\",\"text-decoration-color\",\"text-decoration-line\",\"text-decoration-skip\",\"text-decoration-style\",\"text-emphasis\",\"text-emphasis-color\",\"text-emphasis-position\",\"text-emphasis-style\",\"text-height\",\"text-indent\",\"text-justify\",\"text-outline\",\"text-overflow\",\"text-shadow\",\"text-size-adjust\",\"text-space-collapse\",\"text-transform\",\"text-underline-position\",\"text-wrap\",\"top\",\"transform\",\"transform-origin\",\"transform-style\",\"transition\",\"transition-delay\",\"transition-duration\",\"transition-property\",\"transition-timing-function\",\"unicode-bidi\",\"vertical-align\",\"visibility\",\"voice-balance\",\"voice-duration\",\"voice-family\",\"voice-pitch\",\"voice-range\",\"voice-rate\",\"voice-stress\",\"voice-volume\",\"volume\",\"white-space\",\"widows\",\"width\",\"will-change\",\"word-break\",\"word-spacing\",\"word-wrap\",\"z-index\",\"clip-path\",\"clip-rule\",\"mask\",\"enable-background\",\"filter\",\"flood-color\",\"flood-opacity\",\"lighting-color\",\"stop-color\",\"stop-opacity\",\"pointer-events\",\"color-interpolation\",\"color-interpolation-filters\",\"color-rendering\",\"fill\",\"fill-opacity\",\"fill-rule\",\"image-rendering\",\"marker\",\"marker-end\",\"marker-mid\",\"marker-start\",\"shape-rendering\",\"stroke\",\"stroke-dasharray\",\"stroke-dashoffset\",\"stroke-linecap\",\"stroke-linejoin\",\"stroke-miterlimit\",\"stroke-opacity\",\"stroke-width\",\"text-rendering\",\"baseline-shift\",\"dominant-baseline\",\"glyph-orientation-horizontal\",\"glyph-orientation-vertical\",\"text-anchor\",\"writing-mode\",\"font-smoothing\",\"osx-font-smoothing\"];\n var nonStandardPropertyKeywords_ = [\"scrollbar-arrow-color\",\"scrollbar-base-color\",\"scrollbar-dark-shadow-color\",\"scrollbar-face-color\",\"scrollbar-highlight-color\",\"scrollbar-shadow-color\",\"scrollbar-3d-light-color\",\"scrollbar-track-color\",\"shape-inside\",\"searchfield-cancel-button\",\"searchfield-decoration\",\"searchfield-results-button\",\"searchfield-results-decoration\",\"zoom\"];\n var fontProperties_ = [\"font-family\",\"src\",\"unicode-range\",\"font-variant\",\"font-feature-settings\",\"font-stretch\",\"font-weight\",\"font-style\"];\n var colorKeywords_ = [\"aliceblue\",\"antiquewhite\",\"aqua\",\"aquamarine\",\"azure\",\"beige\",\"bisque\",\"black\",\"blanchedalmond\",\"blue\",\"blueviolet\",\"brown\",\"burlywood\",\"cadetblue\",\"chartreuse\",\"chocolate\",\"coral\",\"cornflowerblue\",\"cornsilk\",\"crimson\",\"cyan\",\"darkblue\",\"darkcyan\",\"darkgoldenrod\",\"darkgray\",\"darkgreen\",\"darkkhaki\",\"darkmagenta\",\"darkolivegreen\",\"darkorange\",\"darkorchid\",\"darkred\",\"darksalmon\",\"darkseagreen\",\"darkslateblue\",\"darkslategray\",\"darkturquoise\",\"darkviolet\",\"deeppink\",\"deepskyblue\",\"dimgray\",\"dodgerblue\",\"firebrick\",\"floralwhite\",\"forestgreen\",\"fuchsia\",\"gainsboro\",\"ghostwhite\",\"gold\",\"goldenrod\",\"gray\",\"grey\",\"green\",\"greenyellow\",\"honeydew\",\"hotpink\",\"indianred\",\"indigo\",\"ivory\",\"khaki\",\"lavender\",\"lavenderblush\",\"lawngreen\",\"lemonchiffon\",\"lightblue\",\"lightcoral\",\"lightcyan\",\"lightgoldenrodyellow\",\"lightgray\",\"lightgreen\",\"lightpink\",\"lightsalmon\",\"lightseagreen\",\"lightskyblue\",\"lightslategray\",\"lightsteelblue\",\"lightyellow\",\"lime\",\"limegreen\",\"linen\",\"magenta\",\"maroon\",\"mediumaquamarine\",\"mediumblue\",\"mediumorchid\",\"mediumpurple\",\"mediumseagreen\",\"mediumslateblue\",\"mediumspringgreen\",\"mediumturquoise\",\"mediumvioletred\",\"midnightblue\",\"mintcream\",\"mistyrose\",\"moccasin\",\"navajowhite\",\"navy\",\"oldlace\",\"olive\",\"olivedrab\",\"orange\",\"orangered\",\"orchid\",\"palegoldenrod\",\"palegreen\",\"paleturquoise\",\"palevioletred\",\"papayawhip\",\"peachpuff\",\"peru\",\"pink\",\"plum\",\"powderblue\",\"purple\",\"rebeccapurple\",\"red\",\"rosybrown\",\"royalblue\",\"saddlebrown\",\"salmon\",\"sandybrown\",\"seagreen\",\"seashell\",\"sienna\",\"silver\",\"skyblue\",\"slateblue\",\"slategray\",\"snow\",\"springgreen\",\"steelblue\",\"tan\",\"teal\",\"thistle\",\"tomato\",\"turquoise\",\"violet\",\"wheat\",\"white\",\"whitesmoke\",\"yellow\",\"yellowgreen\"];\n var valueKeywords_ = [\"above\",\"absolute\",\"activeborder\",\"additive\",\"activecaption\",\"afar\",\"after-white-space\",\"ahead\",\"alias\",\"all\",\"all-scroll\",\"alphabetic\",\"alternate\",\"always\",\"amharic\",\"amharic-abegede\",\"antialiased\",\"appworkspace\",\"arabic-indic\",\"armenian\",\"asterisks\",\"attr\",\"auto\",\"avoid\",\"avoid-column\",\"avoid-page\",\"avoid-region\",\"background\",\"backwards\",\"baseline\",\"below\",\"bidi-override\",\"binary\",\"bengali\",\"blink\",\"block\",\"block-axis\",\"bold\",\"bolder\",\"border\",\"border-box\",\"both\",\"bottom\",\"break\",\"break-all\",\"break-word\",\"bullets\",\"button\",\"button-bevel\",\"buttonface\",\"buttonhighlight\",\"buttonshadow\",\"buttontext\",\"calc\",\"cambodian\",\"capitalize\",\"caps-lock-indicator\",\"caption\",\"captiontext\",\"caret\",\"cell\",\"center\",\"checkbox\",\"circle\",\"cjk-decimal\",\"cjk-earthly-branch\",\"cjk-heavenly-stem\",\"cjk-ideographic\",\"clear\",\"clip\",\"close-quote\",\"col-resize\",\"collapse\",\"column\",\"compact\",\"condensed\",\"contain\",\"content\",\"contents\",\"content-box\",\"context-menu\",\"continuous\",\"copy\",\"counter\",\"counters\",\"cover\",\"crop\",\"cross\",\"crosshair\",\"currentcolor\",\"cursive\",\"cyclic\",\"dashed\",\"decimal\",\"decimal-leading-zero\",\"default\",\"default-button\",\"destination-atop\",\"destination-in\",\"destination-out\",\"destination-over\",\"devanagari\",\"disc\",\"discard\",\"disclosure-closed\",\"disclosure-open\",\"document\",\"dot-dash\",\"dot-dot-dash\",\"dotted\",\"double\",\"down\",\"e-resize\",\"ease\",\"ease-in\",\"ease-in-out\",\"ease-out\",\"element\",\"ellipse\",\"ellipsis\",\"embed\",\"end\",\"ethiopic\",\"ethiopic-abegede\",\"ethiopic-abegede-am-et\",\"ethiopic-abegede-gez\",\"ethiopic-abegede-ti-er\",\"ethiopic-abegede-ti-et\",\"ethiopic-halehame-aa-er\",\"ethiopic-halehame-aa-et\",\"ethiopic-halehame-am-et\",\"ethiopic-halehame-gez\",\"ethiopic-halehame-om-et\",\"ethiopic-halehame-sid-et\",\"ethiopic-halehame-so-et\",\"ethiopic-halehame-ti-er\",\"ethiopic-halehame-ti-et\",\"ethiopic-halehame-tig\",\"ethiopic-numeric\",\"ew-resize\",\"expanded\",\"extends\",\"extra-condensed\",\"extra-expanded\",\"fantasy\",\"fast\",\"fill\",\"fixed\",\"flat\",\"flex\",\"footnotes\",\"forwards\",\"from\",\"geometricPrecision\",\"georgian\",\"graytext\",\"groove\",\"gujarati\",\"gurmukhi\",\"hand\",\"hangul\",\"hangul-consonant\",\"hebrew\",\"help\",\"hidden\",\"hide\",\"higher\",\"highlight\",\"highlighttext\",\"hiragana\",\"hiragana-iroha\",\"horizontal\",\"hsl\",\"hsla\",\"icon\",\"ignore\",\"inactiveborder\",\"inactivecaption\",\"inactivecaptiontext\",\"infinite\",\"infobackground\",\"infotext\",\"inherit\",\"initial\",\"inline\",\"inline-axis\",\"inline-block\",\"inline-flex\",\"inline-table\",\"inset\",\"inside\",\"intrinsic\",\"invert\",\"italic\",\"japanese-formal\",\"japanese-informal\",\"justify\",\"kannada\",\"katakana\",\"katakana-iroha\",\"keep-all\",\"khmer\",\"korean-hangul-formal\",\"korean-hanja-formal\",\"korean-hanja-informal\",\"landscape\",\"lao\",\"large\",\"larger\",\"left\",\"level\",\"lighter\",\"line-through\",\"linear\",\"linear-gradient\",\"lines\",\"list-item\",\"listbox\",\"listitem\",\"local\",\"logical\",\"loud\",\"lower\",\"lower-alpha\",\"lower-armenian\",\"lower-greek\",\"lower-hexadecimal\",\"lower-latin\",\"lower-norwegian\",\"lower-roman\",\"lowercase\",\"ltr\",\"malayalam\",\"match\",\"matrix\",\"matrix3d\",\"media-controls-background\",\"media-current-time-display\",\"media-fullscreen-button\",\"media-mute-button\",\"media-play-button\",\"media-return-to-realtime-button\",\"media-rewind-button\",\"media-seek-back-button\",\"media-seek-forward-button\",\"media-slider\",\"media-sliderthumb\",\"media-time-remaining-display\",\"media-volume-slider\",\"media-volume-slider-container\",\"media-volume-sliderthumb\",\"medium\",\"menu\",\"menulist\",\"menulist-button\",\"menulist-text\",\"menulist-textfield\",\"menutext\",\"message-box\",\"middle\",\"min-intrinsic\",\"mix\",\"mongolian\",\"monospace\",\"move\",\"multiple\",\"myanmar\",\"n-resize\",\"narrower\",\"ne-resize\",\"nesw-resize\",\"no-close-quote\",\"no-drop\",\"no-open-quote\",\"no-repeat\",\"none\",\"normal\",\"not-allowed\",\"nowrap\",\"ns-resize\",\"numbers\",\"numeric\",\"nw-resize\",\"nwse-resize\",\"oblique\",\"octal\",\"open-quote\",\"optimizeLegibility\",\"optimizeSpeed\",\"oriya\",\"oromo\",\"outset\",\"outside\",\"outside-shape\",\"overlay\",\"overline\",\"padding\",\"padding-box\",\"painted\",\"page\",\"paused\",\"persian\",\"perspective\",\"plus-darker\",\"plus-lighter\",\"pointer\",\"polygon\",\"portrait\",\"pre\",\"pre-line\",\"pre-wrap\",\"preserve-3d\",\"progress\",\"push-button\",\"radial-gradient\",\"radio\",\"read-only\",\"read-write\",\"read-write-plaintext-only\",\"rectangle\",\"region\",\"relative\",\"repeat\",\"repeating-linear-gradient\",\"repeating-radial-gradient\",\"repeat-x\",\"repeat-y\",\"reset\",\"reverse\",\"rgb\",\"rgba\",\"ridge\",\"right\",\"rotate\",\"rotate3d\",\"rotateX\",\"rotateY\",\"rotateZ\",\"round\",\"row-resize\",\"rtl\",\"run-in\",\"running\",\"s-resize\",\"sans-serif\",\"scale\",\"scale3d\",\"scaleX\",\"scaleY\",\"scaleZ\",\"scroll\",\"scrollbar\",\"scroll-position\",\"se-resize\",\"searchfield\",\"searchfield-cancel-button\",\"searchfield-decoration\",\"searchfield-results-button\",\"searchfield-results-decoration\",\"semi-condensed\",\"semi-expanded\",\"separate\",\"serif\",\"show\",\"sidama\",\"simp-chinese-formal\",\"simp-chinese-informal\",\"single\",\"skew\",\"skewX\",\"skewY\",\"skip-white-space\",\"slide\",\"slider-horizontal\",\"slider-vertical\",\"sliderthumb-horizontal\",\"sliderthumb-vertical\",\"slow\",\"small\",\"small-caps\",\"small-caption\",\"smaller\",\"solid\",\"somali\",\"source-atop\",\"source-in\",\"source-out\",\"source-over\",\"space\",\"spell-out\",\"square\",\"square-button\",\"start\",\"static\",\"status-bar\",\"stretch\",\"stroke\",\"sub\",\"subpixel-antialiased\",\"super\",\"sw-resize\",\"symbolic\",\"symbols\",\"table\",\"table-caption\",\"table-cell\",\"table-column\",\"table-column-group\",\"table-footer-group\",\"table-header-group\",\"table-row\",\"table-row-group\",\"tamil\",\"telugu\",\"text\",\"text-bottom\",\"text-top\",\"textarea\",\"textfield\",\"thai\",\"thick\",\"thin\",\"threeddarkshadow\",\"threedface\",\"threedhighlight\",\"threedlightshadow\",\"threedshadow\",\"tibetan\",\"tigre\",\"tigrinya-er\",\"tigrinya-er-abegede\",\"tigrinya-et\",\"tigrinya-et-abegede\",\"to\",\"top\",\"trad-chinese-formal\",\"trad-chinese-informal\",\"translate\",\"translate3d\",\"translateX\",\"translateY\",\"translateZ\",\"transparent\",\"ultra-condensed\",\"ultra-expanded\",\"underline\",\"up\",\"upper-alpha\",\"upper-armenian\",\"upper-greek\",\"upper-hexadecimal\",\"upper-latin\",\"upper-norwegian\",\"upper-roman\",\"uppercase\",\"urdu\",\"url\",\"var\",\"vertical\",\"vertical-text\",\"visible\",\"visibleFill\",\"visiblePainted\",\"visibleStroke\",\"visual\",\"w-resize\",\"wait\",\"wave\",\"wider\",\"window\",\"windowframe\",\"windowtext\",\"words\",\"x-large\",\"x-small\",\"xor\",\"xx-large\",\"xx-small\",\"bicubic\",\"optimizespeed\",\"grayscale\",\"row\",\"row-reverse\",\"wrap\",\"wrap-reverse\",\"column-reverse\",\"flex-start\",\"flex-end\",\"space-between\",\"space-around\", \"unset\"];\n\n var wordOperatorKeywords_ = [\"in\",\"and\",\"or\",\"not\",\"is not\",\"is a\",\"is\",\"isnt\",\"defined\",\"if unless\"],\n blockKeywords_ = [\"for\",\"if\",\"else\",\"unless\", \"from\", \"to\"],\n commonAtoms_ = [\"null\",\"true\",\"false\",\"href\",\"title\",\"type\",\"not-allowed\",\"readonly\",\"disabled\"],\n commonDef_ = [\"@font-face\", \"@keyframes\", \"@media\", \"@viewport\", \"@page\", \"@host\", \"@supports\", \"@block\", \"@css\"];\n\n var hintWords = tagKeywords_.concat(documentTypes_,mediaTypes_,mediaFeatures_,\n propertyKeywords_,nonStandardPropertyKeywords_,\n colorKeywords_,valueKeywords_,fontProperties_,\n wordOperatorKeywords_,blockKeywords_,\n commonAtoms_,commonDef_);\n\n function wordRegexp(words) {\n words = words.sort(function(a,b){return b > a;});\n return new RegExp(\"^((\" + words.join(\")|(\") + \"))\\\\b\");\n }\n\n function keySet(array) {\n var keys = {};\n for (var i = 0; i < array.length; ++i) keys[array[i]] = true;\n return keys;\n }\n\n function escapeRegExp(text) {\n return text.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, \"\\\\$&\");\n }\n\n CodeMirror.registerHelper(\"hintWords\", \"stylus\", hintWords);\n CodeMirror.defineMIME(\"text/x-styl\", \"stylus\");\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9tb2RlL3N0eWx1cy9zdHlsdXMuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9tb2RlL3N0eWx1cy9zdHlsdXMuanM/NzZkMiJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb2RlTWlycm9yLCBjb3B5cmlnaHQgKGMpIGJ5IE1hcmlqbiBIYXZlcmJla2UgYW5kIG90aGVyc1xuLy8gRGlzdHJpYnV0ZWQgdW5kZXIgYW4gTUlUIGxpY2Vuc2U6IGh0dHBzOi8vY29kZW1pcnJvci5uZXQvTElDRU5TRVxuXG4vLyBTdHlsdXMgbW9kZSBjcmVhdGVkIGJ5IERtaXRyeSBLaXNlbHlvdiBodHRwOi8vZ2l0LmlvL0FhUkJcblxuKGZ1bmN0aW9uKG1vZCkge1xuICBpZiAodHlwZW9mIGV4cG9ydHMgPT0gXCJvYmplY3RcIiAmJiB0eXBlb2YgbW9kdWxlID09IFwib2JqZWN0XCIpIC8vIENvbW1vbkpTXG4gICAgbW9kKHJlcXVpcmUoXCIuLi8uLi9saWIvY29kZW1pcnJvclwiKSk7XG4gIGVsc2UgaWYgKHR5cGVvZiBkZWZpbmUgPT0gXCJmdW5jdGlvblwiICYmIGRlZmluZS5hbWQpIC8vIEFNRFxuICAgIGRlZmluZShbXCIuLi8uLi9saWIvY29kZW1pcnJvclwiXSwgbW9kKTtcbiAgZWxzZSAvLyBQbGFpbiBicm93c2VyIGVudlxuICAgIG1vZChDb2RlTWlycm9yKTtcbn0pKGZ1bmN0aW9uKENvZGVNaXJyb3IpIHtcbiAgXCJ1c2Ugc3RyaWN0XCI7XG5cbiAgQ29kZU1pcnJvci5kZWZpbmVNb2RlKFwic3R5bHVzXCIsIGZ1bmN0aW9uKGNvbmZpZykge1xuICAgIHZhciBpbmRlbnRVbml0ID0gY29uZmlnLmluZGVudFVuaXQsXG4gICAgICAgIGluZGVudFVuaXRTdHJpbmcgPSAnJyxcbiAgICAgICAgdGFnS2V5d29yZHMgPSBrZXlTZXQodGFnS2V5d29yZHNfKSxcbiAgICAgICAgdGFnVmFyaWFibGVzUmVnZXhwID0gL14oYXxifGl8c3xjb2x8ZW0pJC9pLFxuICAgICAgICBwcm9wZXJ0eUtleXdvcmRzID0ga2V5U2V0KHByb3BlcnR5S2V5d29yZHNfKSxcbiAgICAgICAgbm9uU3RhbmRhcmRQcm9wZXJ0eUtleXdvcmRzID0ga2V5U2V0KG5vblN0YW5kYXJkUHJvcGVydHlLZXl3b3Jkc18pLFxuICAgICAgICB2YWx1ZUtleXdvcmRzID0ga2V5U2V0KHZhbHVlS2V5d29yZHNfKSxcbiAgICAgICAgY29sb3JLZXl3b3JkcyA9IGtleVNldChjb2xvcktleXdvcmRzXyksXG4gICAgICAgIGRvY3VtZW50VHlwZXMgPSBrZXlTZXQoZG9jdW1lbnRUeXBlc18pLFxuICAgICAgICBkb2N1bWVudFR5cGVzUmVnZXhwID0gd29yZFJlZ2V4cChkb2N1bWVudFR5cGVzXyksXG4gICAgICAgIG1lZGlhRmVhdHVyZXMgPSBrZXlTZXQobWVkaWFGZWF0dXJlc18pLFxuICAgICAgICBtZWRpYVR5cGVzID0ga2V5U2V0KG1lZGlhVHlwZXNfKSxcbiAgICAgICAgZm9udFByb3BlcnRpZXMgPSBrZXlTZXQoZm9udFByb3BlcnRpZXNfKSxcbiAgICAgICAgb3BlcmF0b3JzUmVnZXhwID0gL15cXHMqKFsuXXsyLDN9fCYmfFxcfFxcfHxcXCpcXCp8Wz8hPTpdPz18Wy0rKlxcLyU8Pl09P3xcXD86fFxcfikvLFxuICAgICAgICB3b3JkT3BlcmF0b3JLZXl3b3Jkc1JlZ2V4cCA9IHdvcmRSZWdleHAod29yZE9wZXJhdG9yS2V5d29yZHNfKSxcbiAgICAgICAgYmxvY2tLZXl3b3JkcyA9IGtleVNldChibG9ja0tleXdvcmRzXyksXG4gICAgICAgIHZlbmRvclByZWZpeGVzUmVnZXhwID0gbmV3IFJlZ0V4cCgvXlxcLShtb3p8bXN8b3x3ZWJraXQpLS9pKSxcbiAgICAgICAgY29tbW9uQXRvbXMgPSBrZXlTZXQoY29tbW9uQXRvbXNfKSxcbiAgICAgICAgZmlyc3RXb3JkTWF0Y2ggPSBcIlwiLFxuICAgICAgICBzdGF0ZXMgPSB7fSxcbiAgICAgICAgY2gsXG4gICAgICAgIHN0eWxlLFxuICAgICAgICB0eXBlLFxuICAgICAgICBvdmVycmlkZTtcblxuICAgIHdoaWxlIChpbmRlbnRVbml0U3RyaW5nLmxlbmd0aCA8IGluZGVudFVuaXQpIGluZGVudFVuaXRTdHJpbmcgKz0gJyAnO1xuXG4gICAgLyoqXG4gICAgICogVG9rZW5pemVyc1xuICAgICAqL1xuICAgIGZ1bmN0aW9uIHRva2VuQmFzZShzdHJlYW0sIHN0YXRlKSB7XG4gICAgICBmaXJzdFdvcmRNYXRjaCA9IHN0cmVhbS5zdHJpbmcubWF0Y2goLyheW1xcdy1dK1xccyo9XFxzKiQpfCheXFxzKltcXHctXStcXHMqPVxccypbXFx3LV0pfCheXFxzKihcXC58I3xAfFxcJHxcXCZ8XFxbfFxcZHxcXCt8Ojo/fFxce3xcXD58fnxcXC8pP1xccypbXFx3LV0qKFthLXowLTktXXxcXCp8XFwvXFwqKShcXCh8LCk/KS8pO1xuICAgICAgc3RhdGUuY29udGV4dC5saW5lLmZpcnN0V29yZCA9IGZpcnN0V29yZE1hdGNoID8gZmlyc3RXb3JkTWF0Y2hbMF0ucmVwbGFjZSgvXlxccyovLCBcIlwiKSA6IFwiXCI7XG4gICAgICBzdGF0ZS5jb250ZXh0LmxpbmUuaW5kZW50ID0gc3RyZWFtLmluZGVudGF0aW9uKCk7XG4gICAgICBjaCA9IHN0cmVhbS5wZWVrKCk7XG5cbiAgICAgIC8vIExpbmUgY29tbWVudFxuICAgICAgaWYgKHN0cmVhbS5tYXRjaChcIi8vXCIpKSB7XG4gICAgICAgIHN0cmVhbS5za2lwVG9FbmQoKTtcbiAgICAgICAgcmV0dXJuIFtcImNvbW1lbnRcIiwgXCJjb21tZW50XCJdO1xuICAgICAgfVxuICAgICAgLy8gQmxvY2sgY29tbWVudFxuICAgICAgaWYgKHN0cmVhbS5tYXRjaChcIi8qXCIpKSB7XG4gICAgICAgIHN0YXRlLnRva2VuaXplID0gdG9rZW5DQ29tbWVudDtcbiAgICAgICAgcmV0dXJuIHRva2VuQ0NvbW1lbnQoc3RyZWFtLCBzdGF0ZSk7XG4gICAgICB9XG4gICAgICAvLyBTdHJpbmdcbiAgICAgIGlmIChjaCA9PSBcIlxcXCJcIiB8fCBjaCA9PSBcIidcIikge1xuICAgICAgICBzdHJlYW0ubmV4dCgpO1xuICAgICAgICBzdGF0ZS50b2tlbml6ZSA9IHRva2VuU3RyaW5nKGNoKTtcbiAgICAgICAgcmV0dXJuIHN0YXRlLnRva2VuaXplKHN0cmVhbSwgc3RhdGUpO1xuICAgICAgfVxuICAgICAgLy8gRGVmXG4gICAgICBpZiAoY2ggPT0gXCJAXCIpIHtcbiAgICAgICAgc3RyZWFtLm5leHQoKTtcbiAgICAgICAgc3RyZWFtLmVhdFdoaWxlKC9bXFx3XFxcXC1dLyk7XG4gICAgICAgIHJldHVybiBbXCJkZWZcIiwgc3RyZWFtLmN1cnJlbnQoKV07XG4gICAgICB9XG4gICAgICAvLyBJRCBzZWxlY3RvciBvciBIZXggY29sb3JcbiAgICAgIGlmIChjaCA9PSBcIiNcIikge1xuICAgICAgICBzdHJlYW0ubmV4dCgpO1xuICAgICAgICAvLyBIZXggY29sb3JcbiAgICAgICAgaWYgKHN0cmVhbS5tYXRjaCgvXlswLTlhLWZdezN9KFswLTlhLWZdKFswLTlhLWZdezJ9KXswLDJ9KT9cXGIvaSkpIHtcbiAgICAgICAgICByZXR1cm4gW1wiYXRvbVwiLCBcImF0b21cIl07XG4gICAgICAgIH1cbiAgICAgICAgLy8gSUQgc2VsZWN0b3JcbiAgICAgICAgaWYgKHN0cmVhbS5tYXRjaCgvXlthLXpdW1xcdy1dKi9pKSkge1xuICAgICAgICAgIHJldHVybiBbXCJidWlsdGluXCIsIFwiaGFzaFwiXTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLy8gVmVuZG9yIHByZWZpeGVzXG4gICAgICBpZiAoc3RyZWFtLm1hdGNoKHZlbmRvclByZWZpeGVzUmVnZXhwKSkge1xuICAgICAgICByZXR1cm4gW1wibWV0YVwiLCBcInZlbmRvci1wcmVmaXhlc1wiXTtcbiAgICAgIH1cbiAgICAgIC8vIE51bWJlcnNcbiAgICAgIGlmIChzdHJlYW0ubWF0Y2goL14tP1swLTldP1xcLj9bMC05XS8pKSB7XG4gICAgICAgIHN0cmVhbS5lYXRXaGlsZSgvW2EteiVdL2kpO1xuICAgICAgICByZXR1cm4gW1wibnVtYmVyXCIsIFwidW5pdFwiXTtcbiAgICAgIH1cbiAgICAgIC8vICFpbXBvcnRhbnR8b3B0aW9uYWxcbiAgICAgIGlmIChjaCA9PSBcIiFcIikge1xuICAgICAgICBzdHJlYW0ubmV4dCgpO1xuICAgICAgICByZXR1cm4gW3N0cmVhbS5tYXRjaCgvXihpbXBvcnRhbnR8b3B0aW9uYWwpL2kpID8gXCJrZXl3b3JkXCI6IFwib3BlcmF0b3JcIiwgXCJpbXBvcnRhbnRcIl07XG4gICAgICB9XG4gICAgICAvLyBDbGFzc1xuICAgICAgaWYgKGNoID09IFwiLlwiICYmIHN0cmVhbS5tYXRjaCgvXlxcLlthLXpdW1xcdy1dKi9pKSkge1xuICAgICAgICByZXR1cm4gW1wicXVhbGlmaWVyXCIsIFwicXVhbGlmaWVyXCJdO1xuICAgICAgfVxuICAgICAgLy8gdXJsIHVybC1wcmVmaXggZG9tYWluIHJlZ2V4cFxuICAgICAgaWYgKHN0cmVhbS5tYXRjaChkb2N1bWVudFR5cGVzUmVnZXhwKSkge1xuICAgICAgICBpZiAoc3RyZWFtLnBlZWsoKSA9PSBcIihcIikgc3RhdGUudG9rZW5pemUgPSB0b2tlblBhcmVudGhlc2l6ZWQ7XG4gICAgICAgIHJldHVybiBbXCJwcm9wZXJ0eVwiLCBcIndvcmRcIl07XG4gICAgICB9XG4gICAgICAvLyBNaXhpbnMgLyBGdW5jdGlvbnNcbiAgICAgIGlmIChzdHJlYW0ubWF0Y2goL15bYS16XVtcXHctXSpcXCgvaSkpIHtcbiAgICAgICAgc3RyZWFtLmJhY2tVcCgxKTtcbiAgICAgICAgcmV0dXJuIFtcImtleXdvcmRcIiwgXCJtaXhpblwiXTtcbiAgICAgIH1cbiAgICAgIC8vIEJsb2NrIG1peGluc1xuICAgICAgaWYgKHN0cmVhbS5tYXRjaCgvXihcXCt8LSlbYS16XVtcXHctXSpcXCgvaSkpIHtcbiAgICAgICAgc3RyZWFtLmJhY2tVcCgxKTtcbiAgICAgICAgcmV0dXJuIFtcImtleXdvcmRcIiwgXCJibG9jay1taXhpblwiXTtcbiAgICAgIH1cbiAgICAgIC8vIFBhcmVudCBSZWZlcmVuY2UgQkVNIG5hbWluZ1xuICAgICAgaWYgKHN0cmVhbS5zdHJpbmcubWF0Y2goL15cXHMqJi8pICYmIHN0cmVhbS5tYXRjaCgvXlstX10rW2Etel1bXFx3LV0qLykpIHtcbiAgICAgICAgcmV0dXJuIFtcInF1YWxpZmllclwiLCBcInF1YWxpZmllclwiXTtcbiAgICAgIH1cbiAgICAgIC8vIC8gUm9vdCBSZWZlcmVuY2UgJiBQYXJlbnQgUmVmZXJlbmNlXG4gICAgICBpZiAoc3RyZWFtLm1hdGNoKC9eKFxcL3wmKSgtfF98OnxcXC58I3xbYS16XSkvKSkge1xuICAgICAgICBzdHJlYW0uYmFja1VwKDEpO1xuICAgICAgICByZXR1cm4gW1widmFyaWFibGUtM1wiLCBcInJlZmVyZW5jZVwiXTtcbiAgICAgIH1cbiAgICAgIGlmIChzdHJlYW0ubWF0Y2goL14mezF9XFxzKiQvKSkge1xuICAgICAgICByZXR1cm4gW1widmFyaWFibGUtM1wiLCBcInJlZmVyZW5jZVwiXTtcbiAgICAgIH1cbiAgICAgIC8vIFdvcmQgb3BlcmF0b3JcbiAgICAgIGlmIChzdHJlYW0ubWF0Y2god29yZE9wZXJhdG9yS2V5d29yZHNSZWdleHApKSB7XG4gICAgICAgIHJldHVybiBbXCJvcGVyYXRvclwiLCBcIm9wZXJhdG9yXCJdO1xuICAgICAgfVxuICAgICAgLy8gV29yZFxuICAgICAgaWYgKHN0cmVhbS5tYXRjaCgvXlxcJD9bLV9dKlthLXowLTldK1tcXHctXSovaSkpIHtcbiAgICAgICAgLy8gVmFyaWFibGVcbiAgICAgICAgaWYgKHN0cmVhbS5tYXRjaCgvXihcXC58XFxbKVtcXHctXFwnXFxcIlxcXV0rL2ksIGZhbHNlKSkge1xuICAgICAgICAgIGlmICghd29yZElzVGFnKHN0cmVhbS5jdXJyZW50KCkpKSB7XG4gICAgICAgICAgICBzdHJlYW0ubWF0Y2goL1xcLi8pO1xuICAgICAgICAgICAgcmV0dXJuIFtcInZhcmlhYmxlLTJcIiwgXCJ2YXJpYWJsZS1uYW1lXCJdO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gW1widmFyaWFibGUtMlwiLCBcIndvcmRcIl07XG4gICAgICB9XG4gICAgICAvLyBPcGVyYXRvcnNcbiAgICAgIGlmIChzdHJlYW0ubWF0Y2gob3BlcmF0b3JzUmVnZXhwKSkge1xuICAgICAgICByZXR1cm4gW1wib3BlcmF0b3JcIiwgc3RyZWFtLmN1cnJlbnQoKV07XG4gICAgICB9XG4gICAgICAvLyBEZWxpbWl0ZXJzXG4gICAgICBpZiAoL1s6Oyx7fVxcW1xcXVxcKFxcKV0vLnRlc3QoY2gpKSB7XG4gICAgICAgIHN0cmVhbS5uZXh0KCk7XG4gICAgICAgIHJldHVybiBbbnVsbCwgY2hdO1xuICAgICAgfVxuICAgICAgLy8gTm9uLWRldGVjdGVkIGl0ZW1zXG4gICAgICBzdHJlYW0ubmV4dCgpO1xuICAgICAgcmV0dXJuIFtudWxsLCBudWxsXTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUb2tlbiBjb21tZW50XG4gICAgICovXG4gICAgZnVuY3Rpb24gdG9rZW5DQ29tbWVudChzdHJlYW0sIHN0YXRlKSB7XG4gICAgICB2YXIgbWF5YmVFbmQgPSBmYWxzZSwgY2g7XG4gICAgICB3aGlsZSAoKGNoID0gc3RyZWFtLm5leHQoKSkgIT0gbnVsbCkge1xuICAgICAgICBpZiAobWF5YmVFbmQgJiYgY2ggPT0gXCIvXCIpIHtcbiAgICAgICAgICBzdGF0ZS50b2tlbml6ZSA9IG51bGw7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgbWF5YmVFbmQgPSAoY2ggPT0gXCIqXCIpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIFtcImNvbW1lbnRcIiwgXCJjb21tZW50XCJdO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRva2VuIHN0cmluZ1xuICAgICAqL1xuICAgIGZ1bmN0aW9uIHRva2VuU3RyaW5nKHF1b3RlKSB7XG4gICAgICByZXR1cm4gZnVuY3Rpb24oc3RyZWFtLCBzdGF0ZSkge1xuICAgICAgICB2YXIgZXNjYXBlZCA9IGZhbHNlLCBjaDtcbiAgICAgICAgd2hpbGUgKChjaCA9IHN0cmVhbS5uZXh0KCkpICE9IG51bGwpIHtcbiAgICAgICAgICBpZiAoY2ggPT0gcXVvdGUgJiYgIWVzY2FwZWQpIHtcbiAgICAgICAgICAgIGlmIChxdW90ZSA9PSBcIilcIikgc3RyZWFtLmJhY2tVcCgxKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgICBlc2NhcGVkID0gIWVzY2FwZWQgJiYgY2ggPT0gXCJcXFxcXCI7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNoID09IHF1b3RlIHx8ICFlc2NhcGVkICYmIHF1b3RlICE9IFwiKVwiKSBzdGF0ZS50b2tlbml6ZSA9IG51bGw7XG4gICAgICAgIHJldHVybiBbXCJzdHJpbmdcIiwgXCJzdHJpbmdcIl07XG4gICAgICB9O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRva2VuIHBhcmVudGhlc2l6ZWRcbiAgICAgKi9cbiAgICBmdW5jdGlvbiB0b2tlblBhcmVudGhlc2l6ZWQoc3RyZWFtLCBzdGF0ZSkge1xuICAgICAgc3RyZWFtLm5leHQoKTsgLy8gTXVzdCBiZSBcIihcIlxuICAgICAgaWYgKCFzdHJlYW0ubWF0Y2goL1xccypbXFxcIlxcJyldLywgZmFsc2UpKVxuICAgICAgICBzdGF0ZS50b2tlbml6ZSA9IHRva2VuU3RyaW5nKFwiKVwiKTtcbiAgICAgIGVsc2VcbiAgICAgICAgc3RhdGUudG9rZW5pemUgPSBudWxsO1xuICAgICAgcmV0dXJuIFtudWxsLCBcIihcIl07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29udGV4dCBtYW5hZ2VtZW50XG4gICAgICovXG4gICAgZnVuY3Rpb24gQ29udGV4dCh0eXBlLCBpbmRlbnQsIHByZXYsIGxpbmUpIHtcbiAgICAgIHRoaXMudHlwZSA9IHR5cGU7XG4gICAgICB0aGlzLmluZGVudCA9IGluZGVudDtcbiAgICAgIHRoaXMucHJldiA9IHByZXY7XG4gICAgICB0aGlzLmxpbmUgPSBsaW5lIHx8IHtmaXJzdFdvcmQ6IFwiXCIsIGluZGVudDogMH07XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gcHVzaENvbnRleHQoc3RhdGUsIHN0cmVhbSwgdHlwZSwgaW5kZW50KSB7XG4gICAgICBpbmRlbnQgPSBpbmRlbnQgPj0gMCA/IGluZGVudCA6IGluZGVudFVuaXQ7XG4gICAgICBzdGF0ZS5jb250ZXh0ID0gbmV3IENvbnRleHQodHlwZSwgc3RyZWFtLmluZGVudGF0aW9uKCkgKyBpbmRlbnQsIHN0YXRlLmNvbnRleHQpO1xuICAgICAgcmV0dXJuIHR5cGU7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gcG9wQ29udGV4dChzdGF0ZSwgY3VycmVudEluZGVudCkge1xuICAgICAgdmFyIGNvbnRleHRJbmRlbnQgPSBzdGF0ZS5jb250ZXh0LmluZGVudCAtIGluZGVudFVuaXQ7XG4gICAgICBjdXJyZW50SW5kZW50ID0gY3VycmVudEluZGVudCB8fCBmYWxzZTtcbiAgICAgIHN0YXRlLmNvbnRleHQgPSBzdGF0ZS5jb250ZXh0LnByZXY7XG4gICAgICBpZiAoY3VycmVudEluZGVudCkgc3RhdGUuY29udGV4dC5pbmRlbnQgPSBjb250ZXh0SW5kZW50O1xuICAgICAgcmV0dXJuIHN0YXRlLmNvbnRleHQudHlwZTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBwYXNzKHR5cGUsIHN0cmVhbSwgc3RhdGUpIHtcbiAgICAgIHJldHVybiBzdGF0ZXNbc3RhdGUuY29udGV4dC50eXBlXSh0eXBlLCBzdHJlYW0sIHN0YXRlKTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBwb3BBbmRQYXNzKHR5cGUsIHN0cmVhbSwgc3RhdGUsIG4pIHtcbiAgICAgIGZvciAodmFyIGkgPSBuIHx8IDE7IGkgPiAwOyBpLS0pXG4gICAgICAgIHN0YXRlLmNvbnRleHQgPSBzdGF0ZS5jb250ZXh0LnByZXY7XG4gICAgICByZXR1cm4gcGFzcyh0eXBlLCBzdHJlYW0sIHN0YXRlKTtcbiAgICB9XG5cblxuICAgIC8qKlxuICAgICAqIFBhcnNlclxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHdvcmRJc1RhZyh3b3JkKSB7XG4gICAgICByZXR1cm4gd29yZC50b0xvd2VyQ2FzZSgpIGluIHRhZ0tleXdvcmRzO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIHdvcmRJc1Byb3BlcnR5KHdvcmQpIHtcbiAgICAgIHdvcmQgPSB3b3JkLnRvTG93ZXJDYXNlKCk7XG4gICAgICByZXR1cm4gd29yZCBpbiBwcm9wZXJ0eUtleXdvcmRzIHx8IHdvcmQgaW4gZm9udFByb3BlcnRpZXM7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gd29yZElzQmxvY2sod29yZCkge1xuICAgICAgcmV0dXJuIHdvcmQudG9Mb3dlckNhc2UoKSBpbiBibG9ja0tleXdvcmRzO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIHdvcmRJc1ZlbmRvclByZWZpeCh3b3JkKSB7XG4gICAgICByZXR1cm4gd29yZC50b0xvd2VyQ2FzZSgpLm1hdGNoKHZlbmRvclByZWZpeGVzUmVnZXhwKTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiB3b3JkQXNWYWx1ZSh3b3JkKSB7XG4gICAgICB2YXIgd29yZExDID0gd29yZC50b0xvd2VyQ2FzZSgpO1xuICAgICAgdmFyIG92ZXJyaWRlID0gXCJ2YXJpYWJsZS0yXCI7XG4gICAgICBpZiAod29yZElzVGFnKHdvcmQpKSBvdmVycmlkZSA9IFwidGFnXCI7XG4gICAgICBlbHNlIGlmICh3b3JkSXNCbG9jayh3b3JkKSkgb3ZlcnJpZGUgPSBcImJsb2NrLWtleXdvcmRcIjtcbiAgICAgIGVsc2UgaWYgKHdvcmRJc1Byb3BlcnR5KHdvcmQpKSBvdmVycmlkZSA9IFwicHJvcGVydHlcIjtcbiAgICAgIGVsc2UgaWYgKHdvcmRMQyBpbiB2YWx1ZUtleXdvcmRzIHx8IHdvcmRMQyBpbiBjb21tb25BdG9tcykgb3ZlcnJpZGUgPSBcImF0b21cIjtcbiAgICAgIGVsc2UgaWYgKHdvcmRMQyA9PSBcInJldHVyblwiIHx8IHdvcmRMQyBpbiBjb2xvcktleXdvcmRzKSBvdmVycmlkZSA9IFwia2V5d29yZFwiO1xuXG4gICAgICAvLyBGb250IGZhbWlseVxuICAgICAgZWxzZSBpZiAod29yZC5tYXRjaCgvXltBLVpdLykpIG92ZXJyaWRlID0gXCJzdHJpbmdcIjtcbiAgICAgIHJldHVybiBvdmVycmlkZTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiB0eXBlSXNCbG9jayh0eXBlLCBzdHJlYW0pIHtcbiAgICAgIHJldHVybiAoKGVuZE9mTGluZShzdHJlYW0pICYmICh0eXBlID09IFwie1wiIHx8IHR5cGUgPT0gXCJdXCIgfHwgdHlwZSA9PSBcImhhc2hcIiB8fCB0eXBlID09IFwicXVhbGlmaWVyXCIpKSB8fCB0eXBlID09IFwiYmxvY2stbWl4aW5cIik7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gdHlwZUlzSW50ZXJwb2xhdGlvbih0eXBlLCBzdHJlYW0pIHtcbiAgICAgIHJldHVybiB0eXBlID09IFwie1wiICYmIHN0cmVhbS5tYXRjaCgvXlxccypcXCQ/W1xcdy1dKy9pLCBmYWxzZSk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gdHlwZUlzUHNldWRvKHR5cGUsIHN0cmVhbSkge1xuICAgICAgcmV0dXJuIHR5cGUgPT0gXCI6XCIgJiYgc3RyZWFtLm1hdGNoKC9eW2Etei1dKy8sIGZhbHNlKTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBzdGFydE9mTGluZShzdHJlYW0pIHtcbiAgICAgIHJldHVybiBzdHJlYW0uc29sKCkgfHwgc3RyZWFtLnN0cmluZy5tYXRjaChuZXcgUmVnRXhwKFwiXlxcXFxzKlwiICsgZXNjYXBlUmVnRXhwKHN0cmVhbS5jdXJyZW50KCkpKSk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gZW5kT2ZMaW5lKHN0cmVhbSkge1xuICAgICAgcmV0dXJuIHN0cmVhbS5lb2woKSB8fCBzdHJlYW0ubWF0Y2goL15cXHMqJC8sIGZhbHNlKTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBmaXJzdFdvcmRPZkxpbmUobGluZSkge1xuICAgICAgdmFyIHJlID0gL15cXHMqWy1fXSpbYS16MC05XStbXFx3LV0qL2k7XG4gICAgICB2YXIgcmVzdWx0ID0gdHlwZW9mIGxpbmUgPT0gXCJzdHJpbmdcIiA/IGxpbmUubWF0Y2gocmUpIDogbGluZS5zdHJpbmcubWF0Y2gocmUpO1xuICAgICAgcmV0dXJuIHJlc3VsdCA/IHJlc3VsdFswXS5yZXBsYWNlKC9eXFxzKi8sIFwiXCIpIDogXCJcIjtcbiAgICB9XG5cblxuICAgIC8qKlxuICAgICAqIEJsb2NrXG4gICAgICovXG4gICAgc3RhdGVzLmJsb2NrID0gZnVuY3Rpb24odHlwZSwgc3RyZWFtLCBzdGF0ZSkge1xuICAgICAgaWYgKCh0eXBlID09IFwiY29tbWVudFwiICYmIHN0YXJ0T2ZMaW5lKHN0cmVhbSkpIHx8XG4gICAgICAgICAgKHR5cGUgPT0gXCIsXCIgJiYgZW5kT2ZMaW5lKHN0cmVhbSkpIHx8XG4gICAgICAgICAgdHlwZSA9PSBcIm1peGluXCIpIHtcbiAgICAgICAgcmV0dXJuIHB1c2hDb250ZXh0KHN0YXRlLCBzdHJlYW0sIFwiYmxvY2tcIiwgMCk7XG4gICAgICB9XG4gICAgICBpZiAodHlwZUlzSW50ZXJwb2xhdGlvbih0eXBlLCBzdHJlYW0pKSB7XG4gICAgICAgIHJldHVybiBwdXNoQ29udGV4dChzdGF0ZSwgc3RyZWFtLCBcImludGVycG9sYXRpb25cIik7XG4gICAgICB9XG4gICAgICBpZiAoZW5kT2ZMaW5lKHN0cmVhbSkgJiYgdHlwZSA9PSBcIl1cIikge1xuICAgICAgICBpZiAoIS9eXFxzKihcXC58I3w6fFxcW3xcXCp8JikvLnRlc3Qoc3RyZWFtLnN0cmluZykgJiYgIXdvcmRJc1RhZyhmaXJzdFdvcmRPZkxpbmUoc3RyZWFtKSkpIHtcbiAgICAgICAgICByZXR1cm4gcHVzaENvbnRleHQoc3RhdGUsIHN0cmVhbSwgXCJibG9ja1wiLCAwKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKHR5cGVJc0Jsb2NrKHR5cGUsIHN0cmVhbSkpIHtcbiAgICAgICAgcmV0dXJuIHB1c2hDb250ZXh0KHN0YXRlLCBzdHJlYW0sIFwiYmxvY2tcIik7XG4gICAgICB9XG4gICAgICBpZiAodHlwZSA9PSBcIn1cIiAmJiBlbmRPZkxpbmUoc3RyZWFtKSkge1xuICAgICAgICByZXR1cm4gcHVzaENvbnRleHQoc3RhdGUsIHN0cmVhbSwgXCJibG9ja1wiLCAwKTtcbiAgICAgIH1cbiAgICAgIGlmICh0eXBlID09IFwidmFyaWFibGUtbmFtZVwiKSB7XG4gICAgICAgIGlmIChzdHJlYW0uc3RyaW5nLm1hdGNoKC9eXFxzP1xcJFtcXHctXFwuXFxbXFxdXFwnXFxcIl0rJC8pIHx8IHdvcmRJc0Jsb2NrKGZpcnN0V29yZE9mTGluZShzdHJlYW0pKSkge1xuICAgICAgICAgIHJldHVybiBwdXNoQ29udGV4dChzdGF0ZSwgc3RyZWFtLCBcInZhcmlhYmxlTmFtZVwiKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gcHVzaENvbnRleHQoc3RhdGUsIHN0cmVhbSwgXCJ2YXJpYWJsZU5hbWVcIiwgMCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmICh0eXBlID09IFwiPVwiKSB7XG4gICAgICAgIGlmICghZW5kT2ZMaW5lKHN0cmVhbSkgJiYgIXdvcmRJc0Jsb2NrKGZpcnN0V29yZE9mTGluZShzdHJlYW0pKSkge1xuICAgICAgICAgIHJldHVybiBwdXNoQ29udGV4dChzdGF0ZSwgc3RyZWFtLCBcImJsb2NrXCIsIDApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBwdXNoQ29udGV4dChzdGF0ZSwgc3RyZWFtLCBcImJsb2NrXCIpO1xuICAgICAgfVxuICAgICAgaWYgKHR5cGUgPT0gXCIqXCIpIHtcbiAgICAgICAgaWYgKGVuZE9mTGluZShzdHJlYW0pIHx8IHN0cmVhbS5tYXRjaCgvXFxzKigsfFxcLnwjfFxcW3w6fHspLyxmYWxzZSkpIHtcbiAgICAgICAgICBvdmVycmlkZSA9IFwidGFnXCI7XG4gICAgICAgICAgcmV0dXJuIHB1c2hDb250ZXh0KHN0YXRlLCBzdHJlYW0sIFwiYmxvY2tcIik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmICh0eXBlSXNQc2V1ZG8odHlwZSwgc3RyZWFtKSkge1xuICAgICAgICByZXR1cm4gcHVzaENvbnRleHQoc3RhdGUsIHN0cmVhbSwgXCJwc2V1ZG9cIik7XG4gICAgICB9XG4gICAgICBpZiAoL0AoZm9udC1mYWNlfG1lZGlhfHN1cHBvcnRzfCgtbW96LSk/ZG9jdW1lbnQpLy50ZXN0KHR5cGUpKSB7XG4gICAgICAgIHJldHVybiBwdXNoQ29udGV4dChzdGF0ZSwgc3RyZWFtLCBlbmRPZkxpbmUoc3RyZWFtKSA/IFwiYmxvY2tcIiA6IFwiYXRCbG9ja1wiKTtcbiAgICAgIH1cbiAgICAgIGlmICgvQCgtKG1venxtc3xvfHdlYmtpdCktKT9rZXlmcmFtZXMkLy50ZXN0KHR5cGUpKSB7XG4gICAgICAgIHJldHVybiBwdXNoQ29udGV4dChzdGF0ZSwgc3RyZWFtLCBcImtleWZyYW1lc1wiKTtcbiAgICAgIH1cbiAgICAgIGlmICgvQGV4dGVuZHM/Ly50ZXN0KHR5cGUpKSB7XG4gICAgICAgIHJldHVybiBwdXNoQ29udGV4dChzdGF0ZSwgc3RyZWFtLCBcImV4dGVuZFwiLCAwKTtcbiAgICAgIH1cbiAgICAgIGlmICh0eXBlICYmIHR5cGUuY2hhckF0KDApID09IFwiQFwiKSB7XG5cbiAgICAgICAgLy8gUHJvcGVydHkgTG9va3VwXG4gICAgICAgIGlmIChzdHJlYW0uaW5kZW50YXRpb24oKSA+IDAgJiYgd29yZElzUHJvcGVydHkoc3RyZWFtLmN1cnJlbnQoKS5zbGljZSgxKSkpIHtcbiAgICAgICAgICBvdmVycmlkZSA9IFwidmFyaWFibGUtMlwiO1xuICAgICAgICAgIHJldHVybiBcImJsb2NrXCI7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKC8oQGltcG9ydHxAcmVxdWlyZXxAY2hhcnNldCkvLnRlc3QodHlwZSkpIHtcbiAgICAgICAgICByZXR1cm4gcHVzaENvbnRleHQoc3RhdGUsIHN0cmVhbSwgXCJibG9ja1wiLCAwKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcHVzaENvbnRleHQoc3RhdGUsIHN0cmVhbSwgXCJibG9ja1wiKTtcbiAgICAgIH1cbiAgICAgIGlmICh0eXBlID09IFwicmVmZXJlbmNlXCIgJiYgZW5kT2ZMaW5lKHN0cmVhbSkpIHtcbiAgICAgICAgcmV0dXJuIHB1c2hDb250ZXh0KHN0YXRlLCBzdHJlYW0sIFwiYmxvY2tcIik7XG4gICAgICB9XG4gICAgICBpZiAodHlwZSA9PSBcIihcIikge1xuICAgICAgICByZXR1cm4gcHVzaENvbnRleHQoc3RhdGUsIHN0cmVhbSwgXCJwYXJlbnNcIik7XG4gICAgICB9XG5cbiAgICAgIGlmICh0eXBlID09IFwidmVuZG9yLXByZWZpeGVzXCIpIHtcbiAgICAgICAgcmV0dXJuIHB1c2hDb250ZXh0KHN0YXRlLCBzdHJlYW0sIFwidmVuZG9yUHJlZml4ZXNcIik7XG4gICAgICB9XG4gICAgICBpZiAodHlwZSA9PSBcIndvcmRcIikge1xuICAgICAgICB2YXIgd29yZCA9IHN0cmVhbS5jdXJyZW50KCk7XG4gICAgICAgIG92ZXJyaWRlID0gd29yZEFzVmFsdWUod29yZCk7XG5cbiAgICAgICAgaWYgKG92ZXJyaWRlID09IFwicHJvcGVydHlcIikge1xuICAgICAgICAgIGlmIChzdGFydE9mTGluZShzdHJlYW0pKSB7XG4gICAgICAgICAgICByZXR1cm4gcHVzaENvbnRleHQoc3RhdGUsIHN0cmVhbSwgXCJibG9ja1wiLCAwKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgb3ZlcnJpZGUgPSBcImF0b21cIjtcbiAgICAgICAgICAgIHJldHVybiBcImJsb2NrXCI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKG92ZXJyaWRlID09IFwidGFnXCIpIHtcblxuICAgICAgICAgIC8vIHRhZyBpcyBhIGNzcyB2YWx1ZVxuICAgICAgICAgIGlmICgvZW1iZWR8bWVudXxwcmV8cHJvZ3Jlc3N8c3VifHRhYmxlLy50ZXN0KHdvcmQpKSB7XG4gICAgICAgICAgICBpZiAod29yZElzUHJvcGVydHkoZmlyc3RXb3JkT2ZMaW5lKHN0cmVhbSkpKSB7XG4gICAgICAgICAgICAgIG92ZXJyaWRlID0gXCJhdG9tXCI7XG4gICAgICAgICAgICAgIHJldHVybiBcImJsb2NrXCI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gdGFnIGlzIGFuIGF0dHJpYnV0ZVxuICAgICAgICAgIGlmIChzdHJlYW0uc3RyaW5nLm1hdGNoKG5ldyBSZWdFeHAoXCJcXFxcW1xcXFxzKlwiICsgd29yZCArIFwifFwiICsgd29yZCArXCJcXFxccypcXFxcXVwiKSkpIHtcbiAgICAgICAgICAgIG92ZXJyaWRlID0gXCJhdG9tXCI7XG4gICAgICAgICAgICByZXR1cm4gXCJibG9ja1wiO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIHRhZyBpcyBhIHZhcmlhYmxlXG4gICAgICAgICAgaWYgKHRhZ1ZhcmlhYmxlc1JlZ2V4cC50ZXN0KHdvcmQpKSB7XG4gICAgICAgICAgICBpZiAoKHN0YXJ0T2ZMaW5lKHN0cmVhbSkgJiYgc3RyZWFtLnN0cmluZy5tYXRjaCgvPS8pKSB8fFxuICAgICAgICAgICAgICAgICghc3RhcnRPZkxpbmUoc3RyZWFtKSAmJlxuICAgICAgICAgICAgICAgICAhc3RyZWFtLnN0cmluZy5tYXRjaCgvXihcXHMqXFwufCN8XFwmfFxcW3xcXC98PnxcXCopLykgJiZcbiAgICAgICAgICAgICAgICAgIXdvcmRJc1RhZyhmaXJzdFdvcmRPZkxpbmUoc3RyZWFtKSkpKSB7XG4gICAgICAgICAgICAgIG92ZXJyaWRlID0gXCJ2YXJpYWJsZS0yXCI7XG4gICAgICAgICAgICAgIGlmICh3b3JkSXNCbG9jayhmaXJzdFdvcmRPZkxpbmUoc3RyZWFtKSkpICByZXR1cm4gXCJibG9ja1wiO1xuICAgICAgICAgICAgICByZXR1cm4gcHVzaENvbnRleHQoc3RhdGUsIHN0cmVhbSwgXCJibG9ja1wiLCAwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoZW5kT2ZMaW5lKHN0cmVhbSkpIHJldHVybiBwdXNoQ29udGV4dChzdGF0ZSwgc3RyZWFtLCBcImJsb2NrXCIpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChvdmVycmlkZSA9PSBcImJsb2NrLWtleXdvcmRcIikge1xuICAgICAgICAgIG92ZXJyaWRlID0gXCJrZXl3b3JkXCI7XG5cbiAgICAgICAgICAvLyBQb3N0Zml4IGNvbmRpdGlvbmFsc1xuICAgICAgICAgIGlmIChzdHJlYW0uY3VycmVudCgvKGlmfHVubGVzcykvKSAmJiAhc3RhcnRPZkxpbmUoc3RyZWFtKSkge1xuICAgICAgICAgICAgcmV0dXJuIFwiYmxvY2tcIjtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHB1c2hDb250ZXh0KHN0YXRlLCBzdHJlYW0sIFwiYmxvY2tcIik7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHdvcmQgPT0gXCJyZXR1cm5cIikgcmV0dXJuIHB1c2hDb250ZXh0KHN0YXRlLCBzdHJlYW0sIFwiYmxvY2tcIiwgMCk7XG5cbiAgICAgICAgLy8gUGxhY2Vob2xkZXIgc2VsZWN0b3JcbiAgICAgICAgaWYgKG92ZXJyaWRlID09IFwidmFyaWFibGUtMlwiICYmIHN0cmVhbS5zdHJpbmcubWF0Y2goL15cXHM/XFwkW1xcdy1cXC5cXFtcXF1cXCdcXFwiXSskLykpIHtcbiAgICAgICAgICByZXR1cm4gcHVzaENvbnRleHQoc3RhdGUsIHN0cmVhbSwgXCJibG9ja1wiKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIHN0YXRlLmNvbnRleHQudHlwZTtcbiAgICB9O1xuXG5cbiAgICAvKipcbiAgICAgKiBQYXJlbnNcbiAgICAgKi9cbiAgICBzdGF0ZXMucGFyZW5zID0gZnVuY3Rpb24odHlwZSwgc3RyZWFtLCBzdGF0ZSkge1xuICAgICAgaWYgKHR5cGUgPT0gXCIoXCIpIHJldHVybiBwdXNoQ29udGV4dChzdGF0ZSwgc3RyZWFtLCBcInBhcmVuc1wiKTtcbiAgICAgIGlmICh0eXBlID09IFwiKVwiKSB7XG4gICAgICAgIGlmIChzdGF0ZS5jb250ZXh0LnByZXYudHlwZSA9PSBcInBhcmVuc1wiKSB7XG4gICAgICAgICAgcmV0dXJuIHBvcENvbnRleHQoc3RhdGUpO1xuICAgICAgICB9XG4gICAgICAgIGlmICgoc3RyZWFtLnN0cmluZy5tYXRjaCgvXlthLXpdW1xcdy1dKlxcKC9pKSAmJiBlbmRPZkxpbmUoc3RyZWFtKSkgfHxcbiAgICAgICAgICAgIHdvcmRJc0Jsb2NrKGZpcnN0V29yZE9mTGluZShzdHJlYW0pKSB8fFxuICAgICAgICAgICAgLyhcXC58I3w6fFxcW3xcXCp8Jnw+fH58XFwrfFxcLykvLnRlc3QoZmlyc3RXb3JkT2ZMaW5lKHN0cmVhbSkpIHx8XG4gICAgICAgICAgICAoIXN0cmVhbS5zdHJpbmcubWF0Y2goL14tP1thLXpdW1xcdy1cXC5cXFtcXF1cXCdcXFwiXSpcXHMqPS8pICYmXG4gICAgICAgICAgICAgd29yZElzVGFnKGZpcnN0V29yZE9mTGluZShzdHJlYW0pKSkpIHtcbiAgICAgICAgICByZXR1cm4gcHVzaENvbnRleHQoc3RhdGUsIHN0cmVhbSwgXCJibG9ja1wiKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoc3RyZWFtLnN0cmluZy5tYXRjaCgvXltcXCQtXT9bYS16XVtcXHctXFwuXFxbXFxdXFwnXFxcIl0qXFxzKj0vKSB8fFxuICAgICAgICAgICAgc3RyZWFtLnN0cmluZy5tYXRjaCgvXlxccyooXFwofFxcKXxbMC05XSkvKSB8fFxuICAgICAgICAgICAgc3RyZWFtLnN0cmluZy5tYXRjaCgvXlxccytbYS16XVtcXHctXSpcXCgvaSkgfHxcbiAgICAgICAgICAgIHN0cmVhbS5zdHJpbmcubWF0Y2goL15cXHMrW1xcJC1dP1thLXpdL2kpKSB7XG4gICAgICAgICAgcmV0dXJuIHB1c2hDb250ZXh0KHN0YXRlLCBzdHJlYW0sIFwiYmxvY2tcIiwgMCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGVuZE9mTGluZShzdHJlYW0pKSByZXR1cm4gcHVzaENvbnRleHQoc3RhdGUsIHN0cmVhbSwgXCJibG9ja1wiKTtcbiAgICAgICAgZWxzZSByZXR1cm4gcHVzaENvbnRleHQoc3RhdGUsIHN0cmVhbSwgXCJibG9ja1wiLCAwKTtcbiAgICAgIH1cbiAgICAgIGlmICh0eXBlICYmIHR5cGUuY2hhckF0KDApID09IFwiQFwiICYmIHdvcmRJc1Byb3BlcnR5KHN0cmVhbS5jdXJyZW50KCkuc2xpY2UoMSkpKSB7XG4gICAgICAgIG92ZXJyaWRlID0gXCJ2YXJpYWJsZS0yXCI7XG4gICAgICB9XG4gICAgICBpZiAodHlwZSA9PSBcIndvcmRcIikge1xuICAgICAgICB2YXIgd29yZCA9IHN0cmVhbS5jdXJyZW50KCk7XG4gICAgICAgIG92ZXJyaWRlID0gd29yZEFzVmFsdWUod29yZCk7XG4gICAgICAgIGlmIChvdmVycmlkZSA9PSBcInRhZ1wiICYmIHRhZ1ZhcmlhYmxlc1JlZ2V4cC50ZXN0KHdvcmQpKSB7XG4gICAgICAgICAgb3ZlcnJpZGUgPSBcInZhcmlhYmxlLTJcIjtcbiAgICAgICAgfVxuICAgICAgICBpZiAob3ZlcnJpZGUgPT0gXCJwcm9wZXJ0eVwiIHx8IHdvcmQgPT0gXCJ0b1wiKSBvdmVycmlkZSA9IFwiYXRvbVwiO1xuICAgICAgfVxuICAgICAgaWYgKHR5cGUgPT0gXCJ2YXJpYWJsZS1uYW1lXCIpIHtcbiAgICAgICAgcmV0dXJuIHB1c2hDb250ZXh0KHN0YXRlLCBzdHJlYW0sIFwidmFyaWFibGVOYW1lXCIpO1xuICAgICAgfVxuICAgICAgaWYgKHR5cGVJc1BzZXVkbyh0eXBlLCBzdHJlYW0pKSB7XG4gICAgICAgIHJldHVybiBwdXNoQ29udGV4dChzdGF0ZSwgc3RyZWFtLCBcInBzZXVkb1wiKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBzdGF0ZS5jb250ZXh0LnR5cGU7XG4gICAgfTtcblxuXG4gICAgLyoqXG4gICAgICogVmVuZG9yIHByZWZpeGVzXG4gICAgICovXG4gICAgc3RhdGVzLnZlbmRvclByZWZpeGVzID0gZnVuY3Rpb24odHlwZSwgc3RyZWFtLCBzdGF0ZSkge1xuICAgICAgaWYgKHR5cGUgPT0gXCJ3b3JkXCIpIHtcbiAgICAgICAgb3ZlcnJpZGUgPSBcInByb3BlcnR5XCI7XG4gICAgICAgIHJldHVybiBwdXNoQ29udGV4dChzdGF0ZSwgc3RyZWFtLCBcImJsb2NrXCIsIDApO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHBvcENvbnRleHQoc3RhdGUpO1xuICAgIH07XG5cblxuICAgIC8qKlxuICAgICAqIFBzZXVkb1xuICAgICAqL1xuICAgIHN0YXRlcy5wc2V1ZG8gPSBmdW5jdGlvbih0eXBlLCBzdHJlYW0sIHN0YXRlKSB7XG4gICAgICBpZiAoIXdvcmRJc1Byb3BlcnR5KGZpcnN0V29yZE9mTGluZShzdHJlYW0uc3RyaW5nKSkpIHtcbiAgICAgICAgc3RyZWFtLm1hdGNoKC9eW2Etei1dKy8pO1xuICAgICAgICBvdmVycmlkZSA9IFwidmFyaWFibGUtM1wiO1xuICAgICAgICBpZiAoZW5kT2ZMaW5lKHN0cmVhbSkpIHJldHVybiBwdXNoQ29udGV4dChzdGF0ZSwgc3RyZWFtLCBcImJsb2NrXCIpO1xuICAgICAgICByZXR1cm4gcG9wQ29udGV4dChzdGF0ZSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gcG9wQW5kUGFzcyh0eXBlLCBzdHJlYW0sIHN0YXRlKTtcbiAgICB9O1xuXG5cbiAgICAvKipcbiAgICAgKiBhdEJsb2NrXG4gICAgICovXG4gICAgc3RhdGVzLmF0QmxvY2sgPSBmdW5jdGlvbih0eXBlLCBzdHJlYW0sIHN0YXRlKSB7XG4gICAgICBpZiAodHlwZSA9PSBcIihcIikgcmV0dXJuIHB1c2hDb250ZXh0KHN0YXRlLCBzdHJlYW0sIFwiYXRCbG9ja19wYXJlbnNcIik7XG4gICAgICBpZiAodHlwZUlzQmxvY2sodHlwZSwgc3RyZWFtKSkge1xuICAgICAgICByZXR1cm4gcHVzaENvbnRleHQoc3RhdGUsIHN0cmVhbSwgXCJibG9ja1wiKTtcbiAgICAgIH1cbiAgICAgIGlmICh0eXBlSXNJbnRlcnBvbGF0aW9uKHR5cGUsIHN0cmVhbSkpIHtcbiAgICAgICAgcmV0dXJuIHB1c2hDb250ZXh0KHN0YXRlLCBzdHJlYW0sIFwiaW50ZXJwb2xhdGlvblwiKTtcbiAgICAgIH1cbiAgICAgIGlmICh0eXBlID09IFwid29yZFwiKSB7XG4gICAgICAgIHZhciB3b3JkID0gc3RyZWFtLmN1cnJlbnQoKS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICBpZiAoL14ob25seXxub3R8YW5kfG9yKSQvLnRlc3Qod29yZCkpXG4gICAgICAgICAgb3ZlcnJpZGUgPSBcImtleXdvcmRcIjtcbiAgICAgICAgZWxzZSBpZiAoZG9jdW1lbnRUeXBlcy5oYXNPd25Qcm9wZXJ0eSh3b3JkKSlcbiAgICAgICAgICBvdmVycmlkZSA9IFwidGFnXCI7XG4gICAgICAgIGVsc2UgaWYgKG1lZGlhVHlwZXMuaGFzT3duUHJvcGVydHkod29yZCkpXG4gICAgICAgICAgb3ZlcnJpZGUgPSBcImF0dHJpYnV0ZVwiO1xuICAgICAgICBlbHNlIGlmIChtZWRpYUZlYXR1cmVzLmhhc093blByb3BlcnR5KHdvcmQpKVxuICAgICAgICAgIG92ZXJyaWRlID0gXCJwcm9wZXJ0eVwiO1xuICAgICAgICBlbHNlIGlmIChub25TdGFuZGFyZFByb3BlcnR5S2V5d29yZHMuaGFzT3duUHJvcGVydHkod29yZCkpXG4gICAgICAgICAgb3ZlcnJpZGUgPSBcInN0cmluZy0yXCI7XG4gICAgICAgIGVsc2Ugb3ZlcnJpZGUgPSB3b3JkQXNWYWx1ZShzdHJlYW0uY3VycmVudCgpKTtcbiAgICAgICAgaWYgKG92ZXJyaWRlID09IFwidGFnXCIgJiYgZW5kT2ZMaW5lKHN0cmVhbSkpIHtcbiAgICAgICAgICByZXR1cm4gcHVzaENvbnRleHQoc3RhdGUsIHN0cmVhbSwgXCJibG9ja1wiKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKHR5cGUgPT0gXCJvcGVyYXRvclwiICYmIC9eKG5vdHxhbmR8b3IpJC8udGVzdChzdHJlYW0uY3VycmVudCgpKSkge1xuICAgICAgICBvdmVycmlkZSA9IFwia2V5d29yZFwiO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHN0YXRlLmNvbnRleHQudHlwZTtcbiAgICB9O1xuXG4gICAgc3RhdGVzLmF0QmxvY2tfcGFyZW5zID0gZnVuY3Rpb24odHlwZSwgc3RyZWFtLCBzdGF0ZSkge1xuICAgICAgaWYgKHR5cGUgPT0gXCJ7XCIgfHwgdHlwZSA9PSBcIn1cIikgcmV0dXJuIHN0YXRlLmNvbnRleHQudHlwZTtcbiAgICAgIGlmICh0eXBlID09IFwiKVwiKSB7XG4gICAgICAgIGlmIChlbmRPZkxpbmUoc3RyZWFtKSkgcmV0dXJuIHB1c2hDb250ZXh0KHN0YXRlLCBzdHJlYW0sIFwiYmxvY2tcIik7XG4gICAgICAgIGVsc2UgcmV0dXJuIHB1c2hDb250ZXh0KHN0YXRlLCBzdHJlYW0sIFwiYXRCbG9ja1wiKTtcbiAgICAgIH1cbiAgICAgIGlmICh0eXBlID09IFwid29yZFwiKSB7XG4gICAgICAgIHZhciB3b3JkID0gc3RyZWFtLmN1cnJlbnQoKS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICBvdmVycmlkZSA9IHdvcmRBc1ZhbHVlKHdvcmQpO1xuICAgICAgICBpZiAoL14obWF4fG1pbikvLnRlc3Qod29yZCkpIG92ZXJyaWRlID0gXCJwcm9wZXJ0eVwiO1xuICAgICAgICBpZiAob3ZlcnJpZGUgPT0gXCJ0YWdcIikge1xuICAgICAgICAgIHRhZ1ZhcmlhYmxlc1JlZ2V4cC50ZXN0KHdvcmQpID8gb3ZlcnJpZGUgPSBcInZhcmlhYmxlLTJcIiA6IG92ZXJyaWRlID0gXCJhdG9tXCI7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHN0YXRlLmNvbnRleHQudHlwZTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBzdGF0ZXMuYXRCbG9jayh0eXBlLCBzdHJlYW0sIHN0YXRlKTtcbiAgICB9O1xuXG5cbiAgICAvKipcbiAgICAgKiBLZXlmcmFtZXNcbiAgICAgKi9cbiAgICBzdGF0ZXMua2V5ZnJhbWVzID0gZnVuY3Rpb24odHlwZSwgc3RyZWFtLCBzdGF0ZSkge1xuICAgICAgaWYgKHN0cmVhbS5pbmRlbnRhdGlvbigpID09IFwiMFwiICYmICgodHlwZSA9PSBcIn1cIiAmJiBzdGFydE9mTGluZShzdHJlYW0pKSB8fCB0eXBlID09IFwiXVwiIHx8IHR5cGUgPT0gXCJoYXNoXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHx8IHR5cGUgPT0gXCJxdWFsaWZpZXJcIiB8fCB3b3JkSXNUYWcoc3RyZWFtLmN1cnJlbnQoKSkpKSB7XG4gICAgICAgIHJldHVybiBwb3BBbmRQYXNzKHR5cGUsIHN0cmVhbSwgc3RhdGUpO1xuICAgICAgfVxuICAgICAgaWYgKHR5cGUgPT0gXCJ7XCIpIHJldHVybiBwdXNoQ29udGV4dChzdGF0ZSwgc3RyZWFtLCBcImtleWZyYW1lc1wiKTtcbiAgICAgIGlmICh0eXBlID09IFwifVwiKSB7XG4gICAgICAgIGlmIChzdGFydE9mTGluZShzdHJlYW0pKSByZXR1cm4gcG9wQ29udGV4dChzdGF0ZSwgdHJ1ZSk7XG4gICAgICAgIGVsc2UgcmV0dXJuIHB1c2hDb250ZXh0KHN0YXRlLCBzdHJlYW0sIFwia2V5ZnJhbWVzXCIpO1xuICAgICAgfVxuICAgICAgaWYgKHR5cGUgPT0gXCJ1bml0XCIgJiYgL15bMC05XStcXCUkLy50ZXN0KHN0cmVhbS5jdXJyZW50KCkpKSB7XG4gICAgICAgIHJldHVybiBwdXNoQ29udGV4dChzdGF0ZSwgc3RyZWFtLCBcImtleWZyYW1lc1wiKTtcbiAgICAgIH1cbiAgICAgIGlmICh0eXBlID09IFwid29yZFwiKSB7XG4gICAgICAgIG92ZXJyaWRlID0gd29yZEFzVmFsdWUoc3RyZWFtLmN1cnJlbnQoKSk7XG4gICAgICAgIGlmIChvdmVycmlkZSA9PSBcImJsb2NrLWtleXdvcmRcIikge1xuICAgICAgICAgIG92ZXJyaWRlID0gXCJrZXl3b3JkXCI7XG4gICAgICAgICAgcmV0dXJuIHB1c2hDb250ZXh0KHN0YXRlLCBzdHJlYW0sIFwia2V5ZnJhbWVzXCIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoL0AoZm9udC1mYWNlfG1lZGlhfHN1cHBvcnRzfCgtbW96LSk/ZG9jdW1lbnQpLy50ZXN0KHR5cGUpKSB7XG4gICAgICAgIHJldHVybiBwdXNoQ29udGV4dChzdGF0ZSwgc3RyZWFtLCBlbmRPZkxpbmUoc3RyZWFtKSA/IFwiYmxvY2tcIiA6IFwiYXRCbG9ja1wiKTtcbiAgICAgIH1cbiAgICAgIGlmICh0eXBlID09IFwibWl4aW5cIikge1xuICAgICAgICByZXR1cm4gcHVzaENvbnRleHQoc3RhdGUsIHN0cmVhbSwgXCJibG9ja1wiLCAwKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBzdGF0ZS5jb250ZXh0LnR5cGU7XG4gICAgfTtcblxuXG4gICAgLyoqXG4gICAgICogSW50ZXJwb2xhdGlvblxuICAgICAqL1xuICAgIHN0YXRlcy5pbnRlcnBvbGF0aW9uID0gZnVuY3Rpb24odHlwZSwgc3RyZWFtLCBzdGF0ZSkge1xuICAgICAgaWYgKHR5cGUgPT0gXCJ7XCIpIHBvcENvbnRleHQoc3RhdGUpICYmIHB1c2hDb250ZXh0KHN0YXRlLCBzdHJlYW0sIFwiYmxvY2tcIik7XG4gICAgICBpZiAodHlwZSA9PSBcIn1cIikge1xuICAgICAgICBpZiAoc3RyZWFtLnN0cmluZy5tYXRjaCgvXlxccyooXFwufCN8OnxcXFt8XFwqfCZ8Pnx+fFxcK3xcXC8pL2kpIHx8XG4gICAgICAgICAgICAoc3RyZWFtLnN0cmluZy5tYXRjaCgvXlxccypbYS16XS9pKSAmJiB3b3JkSXNUYWcoZmlyc3RXb3JkT2ZMaW5lKHN0cmVhbSkpKSkge1xuICAgICAgICAgIHJldHVybiBwdXNoQ29udGV4dChzdGF0ZSwgc3RyZWFtLCBcImJsb2NrXCIpO1xuICAgICAgICB9XG4gICAgICAgIGlmICghc3RyZWFtLnN0cmluZy5tYXRjaCgvXihcXHt8XFxzKlxcJikvKSB8fFxuICAgICAgICAgICAgc3RyZWFtLm1hdGNoKC9cXHMqW1xcdy1dLyxmYWxzZSkpIHtcbiAgICAgICAgICByZXR1cm4gcHVzaENvbnRleHQoc3RhdGUsIHN0cmVhbSwgXCJibG9ja1wiLCAwKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcHVzaENvbnRleHQoc3RhdGUsIHN0cmVhbSwgXCJibG9ja1wiKTtcbiAgICAgIH1cbiAgICAgIGlmICh0eXBlID09IFwidmFyaWFibGUtbmFtZVwiKSB7XG4gICAgICAgIHJldHVybiBwdXNoQ29udGV4dChzdGF0ZSwgc3RyZWFtLCBcInZhcmlhYmxlTmFtZVwiLCAwKTtcbiAgICAgIH1cbiAgICAgIGlmICh0eXBlID09IFwid29yZFwiKSB7XG4gICAgICAgIG92ZXJyaWRlID0gd29yZEFzVmFsdWUoc3RyZWFtLmN1cnJlbnQoKSk7XG4gICAgICAgIGlmIChvdmVycmlkZSA9PSBcInRhZ1wiKSBvdmVycmlkZSA9IFwiYXRvbVwiO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHN0YXRlLmNvbnRleHQudHlwZTtcbiAgICB9O1xuXG5cbiAgICAvKipcbiAgICAgKiBFeHRlbmQvc1xuICAgICAqL1xuICAgIHN0YXRlcy5leHRlbmQgPSBmdW5jdGlvbih0eXBlLCBzdHJlYW0sIHN0YXRlKSB7XG4gICAgICBpZiAodHlwZSA9PSBcIltcIiB8fCB0eXBlID09IFwiPVwiKSByZXR1cm4gXCJleHRlbmRcIjtcbiAgICAgIGlmICh0eXBlID09IFwiXVwiKSByZXR1cm4gcG9wQ29udGV4dChzdGF0ZSk7XG4gICAgICBpZiAodHlwZSA9PSBcIndvcmRcIikge1xuICAgICAgICBvdmVycmlkZSA9IHdvcmRBc1ZhbHVlKHN0cmVhbS5jdXJyZW50KCkpO1xuICAgICAgICByZXR1cm4gXCJleHRlbmRcIjtcbiAgICAgIH1cbiAgICAgIHJldHVybiBwb3BDb250ZXh0KHN0YXRlKTtcbiAgICB9O1xuXG5cbiAgICAvKipcbiAgICAgKiBWYXJpYWJsZSBuYW1lXG4gICAgICovXG4gICAgc3RhdGVzLnZhcmlhYmxlTmFtZSA9IGZ1bmN0aW9uKHR5cGUsIHN0cmVhbSwgc3RhdGUpIHtcbiAgICAgIGlmICh0eXBlID09IFwic3RyaW5nXCIgfHwgdHlwZSA9PSBcIltcIiB8fCB0eXBlID09IFwiXVwiIHx8IHN0cmVhbS5jdXJyZW50KCkubWF0Y2goL14oXFwufFxcJCkvKSkge1xuICAgICAgICBpZiAoc3RyZWFtLmN1cnJlbnQoKS5tYXRjaCgvXlxcLltcXHctXSsvaSkpIG92ZXJyaWRlID0gXCJ2YXJpYWJsZS0yXCI7XG4gICAgICAgIHJldHVybiBcInZhcmlhYmxlTmFtZVwiO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHBvcEFuZFBhc3ModHlwZSwgc3RyZWFtLCBzdGF0ZSk7XG4gICAgfTtcblxuXG4gICAgcmV0dXJuIHtcbiAgICAgIHN0YXJ0U3RhdGU6IGZ1bmN0aW9uKGJhc2UpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICB0b2tlbml6ZTogbnVsbCxcbiAgICAgICAgICBzdGF0ZTogXCJibG9ja1wiLFxuICAgICAgICAgIGNvbnRleHQ6IG5ldyBDb250ZXh0KFwiYmxvY2tcIiwgYmFzZSB8fCAwLCBudWxsKVxuICAgICAgICB9O1xuICAgICAgfSxcbiAgICAgIHRva2VuOiBmdW5jdGlvbihzdHJlYW0sIHN0YXRlKSB7XG4gICAgICAgIGlmICghc3RhdGUudG9rZW5pemUgJiYgc3RyZWFtLmVhdFNwYWNlKCkpIHJldHVybiBudWxsO1xuICAgICAgICBzdHlsZSA9IChzdGF0ZS50b2tlbml6ZSB8fCB0b2tlbkJhc2UpKHN0cmVhbSwgc3RhdGUpO1xuICAgICAgICBpZiAoc3R5bGUgJiYgdHlwZW9mIHN0eWxlID09IFwib2JqZWN0XCIpIHtcbiAgICAgICAgICB0eXBlID0gc3R5bGVbMV07XG4gICAgICAgICAgc3R5bGUgPSBzdHlsZVswXTtcbiAgICAgICAgfVxuICAgICAgICBvdmVycmlkZSA9IHN0eWxlO1xuICAgICAgICBzdGF0ZS5zdGF0ZSA9IHN0YXRlc1tzdGF0ZS5zdGF0ZV0odHlwZSwgc3RyZWFtLCBzdGF0ZSk7XG4gICAgICAgIHJldHVybiBvdmVycmlkZTtcbiAgICAgIH0sXG4gICAgICBpbmRlbnQ6IGZ1bmN0aW9uKHN0YXRlLCB0ZXh0QWZ0ZXIsIGxpbmUpIHtcblxuICAgICAgICB2YXIgY3ggPSBzdGF0ZS5jb250ZXh0LFxuICAgICAgICAgICAgY2ggPSB0ZXh0QWZ0ZXIgJiYgdGV4dEFmdGVyLmNoYXJBdCgwKSxcbiAgICAgICAgICAgIGluZGVudCA9IGN4LmluZGVudCxcbiAgICAgICAgICAgIGxpbmVGaXJzdFdvcmQgPSBmaXJzdFdvcmRPZkxpbmUodGV4dEFmdGVyKSxcbiAgICAgICAgICAgIGxpbmVJbmRlbnQgPSBsaW5lLm1hdGNoKC9eXFxzKi8pWzBdLnJlcGxhY2UoL1xcdC9nLCBpbmRlbnRVbml0U3RyaW5nKS5sZW5ndGgsXG4gICAgICAgICAgICBwcmV2TGluZUZpcnN0V29yZCA9IHN0YXRlLmNvbnRleHQucHJldiA/IHN0YXRlLmNvbnRleHQucHJldi5saW5lLmZpcnN0V29yZCA6IFwiXCIsXG4gICAgICAgICAgICBwcmV2TGluZUluZGVudCA9IHN0YXRlLmNvbnRleHQucHJldiA/IHN0YXRlLmNvbnRleHQucHJldi5saW5lLmluZGVudCA6IGxpbmVJbmRlbnQ7XG5cbiAgICAgICAgaWYgKGN4LnByZXYgJiZcbiAgICAgICAgICAgIChjaCA9PSBcIn1cIiAmJiAoY3gudHlwZSA9PSBcImJsb2NrXCIgfHwgY3gudHlwZSA9PSBcImF0QmxvY2tcIiB8fCBjeC50eXBlID09IFwia2V5ZnJhbWVzXCIpIHx8XG4gICAgICAgICAgICAgY2ggPT0gXCIpXCIgJiYgKGN4LnR5cGUgPT0gXCJwYXJlbnNcIiB8fCBjeC50eXBlID09IFwiYXRCbG9ja19wYXJlbnNcIikgfHxcbiAgICAgICAgICAgICBjaCA9PSBcIntcIiAmJiAoY3gudHlwZSA9PSBcImF0XCIpKSkge1xuICAgICAgICAgIGluZGVudCA9IGN4LmluZGVudCAtIGluZGVudFVuaXQ7XG4gICAgICAgIH0gZWxzZSBpZiAoISgvKFxcfSkvLnRlc3QoY2gpKSkge1xuICAgICAgICAgIGlmICgvQHxcXCR8XFxkLy50ZXN0KGNoKSB8fFxuICAgICAgICAgICAgICAvXlxcey8udGVzdCh0ZXh0QWZ0ZXIpIHx8XG4vXlxccypcXC8oXFwvfFxcKikvLnRlc3QodGV4dEFmdGVyKSB8fFxuICAgICAgICAgICAgICAvXlxccypcXC9cXCovLnRlc3QocHJldkxpbmVGaXJzdFdvcmQpIHx8XG4gICAgICAgICAgICAgIC9eXFxzKltcXHctXFwuXFxbXFxdXFwnXFxcIl0rXFxzKihcXD98OnxcXCspPz0vaS50ZXN0KHRleHRBZnRlcikgfHxcbi9eKFxcK3wtKT9bYS16XVtcXHctXSpcXCgvaS50ZXN0KHRleHRBZnRlcikgfHxcbi9ecmV0dXJuLy50ZXN0KHRleHRBZnRlcikgfHxcbiAgICAgICAgICAgICAgd29yZElzQmxvY2sobGluZUZpcnN0V29yZCkpIHtcbiAgICAgICAgICAgIGluZGVudCA9IGxpbmVJbmRlbnQ7XG4gICAgICAgICAgfSBlbHNlIGlmICgvKFxcLnwjfDp8XFxbfFxcKnwmfD58fnxcXCt8XFwvKS8udGVzdChjaCkgfHwgd29yZElzVGFnKGxpbmVGaXJzdFdvcmQpKSB7XG4gICAgICAgICAgICBpZiAoL1xcLFxccyokLy50ZXN0KHByZXZMaW5lRmlyc3RXb3JkKSkge1xuICAgICAgICAgICAgICBpbmRlbnQgPSBwcmV2TGluZUluZGVudDtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoL15cXHMrLy50ZXN0KGxpbmUpICYmICgvKFxcLnwjfDp8XFxbfFxcKnwmfD58fnxcXCt8XFwvKS8udGVzdChwcmV2TGluZUZpcnN0V29yZCkgfHwgd29yZElzVGFnKHByZXZMaW5lRmlyc3RXb3JkKSkpIHtcbiAgICAgICAgICAgICAgaW5kZW50ID0gbGluZUluZGVudCA8PSBwcmV2TGluZUluZGVudCA/IHByZXZMaW5lSW5kZW50IDogcHJldkxpbmVJbmRlbnQgKyBpbmRlbnRVbml0O1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgaW5kZW50ID0gbGluZUluZGVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2UgaWYgKCEvLFxccyokLy50ZXN0KGxpbmUpICYmICh3b3JkSXNWZW5kb3JQcmVmaXgobGluZUZpcnN0V29yZCkgfHwgd29yZElzUHJvcGVydHkobGluZUZpcnN0V29yZCkpKSB7XG4gICAgICAgICAgICBpZiAod29yZElzQmxvY2socHJldkxpbmVGaXJzdFdvcmQpKSB7XG4gICAgICAgICAgICAgIGluZGVudCA9IGxpbmVJbmRlbnQgPD0gcHJldkxpbmVJbmRlbnQgPyBwcmV2TGluZUluZGVudCA6IHByZXZMaW5lSW5kZW50ICsgaW5kZW50VW5pdDtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoL15cXHsvLnRlc3QocHJldkxpbmVGaXJzdFdvcmQpKSB7XG4gICAgICAgICAgICAgIGluZGVudCA9IGxpbmVJbmRlbnQgPD0gcHJldkxpbmVJbmRlbnQgPyBsaW5lSW5kZW50IDogcHJldkxpbmVJbmRlbnQgKyBpbmRlbnRVbml0O1xuICAgICAgICAgICAgfSBlbHNlIGlmICh3b3JkSXNWZW5kb3JQcmVmaXgocHJldkxpbmVGaXJzdFdvcmQpIHx8IHdvcmRJc1Byb3BlcnR5KHByZXZMaW5lRmlyc3RXb3JkKSkge1xuICAgICAgICAgICAgICBpbmRlbnQgPSBsaW5lSW5kZW50ID49IHByZXZMaW5lSW5kZW50ID8gcHJldkxpbmVJbmRlbnQgOiBsaW5lSW5kZW50O1xuICAgICAgICAgICAgfSBlbHNlIGlmICgvXihcXC58I3w6fFxcW3xcXCp8JnxAfFxcK3xcXC18Pnx+fFxcLykvLnRlc3QocHJldkxpbmVGaXJzdFdvcmQpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgLz1cXHMqJC8udGVzdChwcmV2TGluZUZpcnN0V29yZCkgfHxcbiAgICAgICAgICAgICAgICAgICAgICB3b3JkSXNUYWcocHJldkxpbmVGaXJzdFdvcmQpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgL15cXCRbXFx3LVxcLlxcW1xcXVxcJ1xcXCJdLy50ZXN0KHByZXZMaW5lRmlyc3RXb3JkKSkge1xuICAgICAgICAgICAgICBpbmRlbnQgPSBwcmV2TGluZUluZGVudCArIGluZGVudFVuaXQ7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBpbmRlbnQgPSBsaW5lSW5kZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaW5kZW50O1xuICAgICAgfSxcbiAgICAgIGVsZWN0cmljQ2hhcnM6IFwifVwiLFxuICAgICAgbGluZUNvbW1lbnQ6IFwiLy9cIixcbiAgICAgIGZvbGQ6IFwiaW5kZW50XCJcbiAgICB9O1xuICB9KTtcblxuICAvLyBkZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSFRNTC9FbGVtZW50XG4gIHZhciB0YWdLZXl3b3Jkc18gPSBbXCJhXCIsXCJhYmJyXCIsXCJhZGRyZXNzXCIsXCJhcmVhXCIsXCJhcnRpY2xlXCIsXCJhc2lkZVwiLFwiYXVkaW9cIiwgXCJiXCIsIFwiYmFzZVwiLFwiYmRpXCIsIFwiYmRvXCIsXCJiZ3NvdW5kXCIsXCJibG9ja3F1b3RlXCIsXCJib2R5XCIsXCJiclwiLFwiYnV0dG9uXCIsXCJjYW52YXNcIixcImNhcHRpb25cIixcImNpdGVcIiwgXCJjb2RlXCIsXCJjb2xcIixcImNvbGdyb3VwXCIsXCJkYXRhXCIsXCJkYXRhbGlzdFwiLFwiZGRcIixcImRlbFwiLFwiZGV0YWlsc1wiLFwiZGZuXCIsXCJkaXZcIiwgXCJkbFwiLFwiZHRcIixcImVtXCIsXCJlbWJlZFwiLFwiZmllbGRzZXRcIixcImZpZ2NhcHRpb25cIixcImZpZ3VyZVwiLFwiZm9vdGVyXCIsXCJmb3JtXCIsXCJoMVwiLCBcImgyXCIsXCJoM1wiLFwiaDRcIixcImg1XCIsXCJoNlwiLFwiaGVhZFwiLFwiaGVhZGVyXCIsXCJoZ3JvdXBcIixcImhyXCIsXCJodG1sXCIsXCJpXCIsXCJpZnJhbWVcIiwgXCJpbWdcIixcImlucHV0XCIsXCJpbnNcIixcImtiZFwiLFwia2V5Z2VuXCIsXCJsYWJlbFwiLFwibGVnZW5kXCIsXCJsaVwiLFwibGlua1wiLFwibWFpblwiLFwibWFwXCIsIFwibWFya1wiLFwibWFycXVlZVwiLFwibWVudVwiLFwibWVudWl0ZW1cIixcIm1ldGFcIixcIm1ldGVyXCIsXCJuYXZcIixcIm5vYnJcIixcIm5vZnJhbWVzXCIsIFwibm9zY3JpcHRcIixcIm9iamVjdFwiLFwib2xcIixcIm9wdGdyb3VwXCIsXCJvcHRpb25cIixcIm91dHB1dFwiLFwicFwiLFwicGFyYW1cIixcInByZVwiLCBcInByb2dyZXNzXCIsXCJxXCIsXCJycFwiLFwicnRcIixcInJ1YnlcIixcInNcIixcInNhbXBcIixcInNjcmlwdFwiLFwic2VjdGlvblwiLFwic2VsZWN0XCIsIFwic21hbGxcIixcInNvdXJjZVwiLFwic3BhblwiLFwic3Ryb25nXCIsXCJzdHlsZVwiLFwic3ViXCIsXCJzdW1tYXJ5XCIsXCJzdXBcIixcInRhYmxlXCIsXCJ0Ym9keVwiLFwidGRcIixcInRleHRhcmVhXCIsXCJ0Zm9vdFwiLFwidGhcIixcInRoZWFkXCIsXCJ0aW1lXCIsXCJ0clwiLFwidHJhY2tcIiwgXCJ1XCIsXCJ1bFwiLFwidmFyXCIsXCJ2aWRlb1wiXTtcblxuICAvLyBnaXRodWIuY29tL2NvZGVtaXJyb3IvQ29kZU1pcnJvci9ibG9iL21hc3Rlci9tb2RlL2Nzcy9jc3MuanNcbiAgdmFyIGRvY3VtZW50VHlwZXNfID0gW1wiZG9tYWluXCIsIFwicmVnZXhwXCIsIFwidXJsXCIsIFwidXJsLXByZWZpeFwiXTtcbiAgdmFyIG1lZGlhVHlwZXNfID0gW1wiYWxsXCIsXCJhdXJhbFwiLFwiYnJhaWxsZVwiLFwiaGFuZGhlbGRcIixcInByaW50XCIsXCJwcm9qZWN0aW9uXCIsXCJzY3JlZW5cIixcInR0eVwiLFwidHZcIixcImVtYm9zc2VkXCJdO1xuICB2YXIgbWVkaWFGZWF0dXJlc18gPSBbXCJ3aWR0aFwiLFwibWluLXdpZHRoXCIsXCJtYXgtd2lkdGhcIixcImhlaWdodFwiLFwibWluLWhlaWdodFwiLFwibWF4LWhlaWdodFwiLFwiZGV2aWNlLXdpZHRoXCIsXCJtaW4tZGV2aWNlLXdpZHRoXCIsXCJtYXgtZGV2aWNlLXdpZHRoXCIsXCJkZXZpY2UtaGVpZ2h0XCIsXCJtaW4tZGV2aWNlLWhlaWdodFwiLFwibWF4LWRldmljZS1oZWlnaHRcIixcImFzcGVjdC1yYXRpb1wiLFwibWluLWFzcGVjdC1yYXRpb1wiLFwibWF4LWFzcGVjdC1yYXRpb1wiLFwiZGV2aWNlLWFzcGVjdC1yYXRpb1wiLFwibWluLWRldmljZS1hc3BlY3QtcmF0aW9cIixcIm1heC1kZXZpY2UtYXNwZWN0LXJhdGlvXCIsXCJjb2xvclwiLFwibWluLWNvbG9yXCIsXCJtYXgtY29sb3JcIixcImNvbG9yLWluZGV4XCIsXCJtaW4tY29sb3ItaW5kZXhcIixcIm1heC1jb2xvci1pbmRleFwiLFwibW9ub2Nocm9tZVwiLFwibWluLW1vbm9jaHJvbWVcIixcIm1heC1tb25vY2hyb21lXCIsXCJyZXNvbHV0aW9uXCIsXCJtaW4tcmVzb2x1dGlvblwiLFwibWF4LXJlc29sdXRpb25cIixcInNjYW5cIixcImdyaWRcIl07XG4gIHZhciBwcm9wZXJ0eUtleXdvcmRzXyA9IFtcImFsaWduLWNvbnRlbnRcIixcImFsaWduLWl0ZW1zXCIsXCJhbGlnbi1zZWxmXCIsXCJhbGlnbm1lbnQtYWRqdXN0XCIsXCJhbGlnbm1lbnQtYmFzZWxpbmVcIixcImFuY2hvci1wb2ludFwiLFwiYW5pbWF0aW9uXCIsXCJhbmltYXRpb24tZGVsYXlcIixcImFuaW1hdGlvbi1kaXJlY3Rpb25cIixcImFuaW1hdGlvbi1kdXJhdGlvblwiLFwiYW5pbWF0aW9uLWZpbGwtbW9kZVwiLFwiYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudFwiLFwiYW5pbWF0aW9uLW5hbWVcIixcImFuaW1hdGlvbi1wbGF5LXN0YXRlXCIsXCJhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uXCIsXCJhcHBlYXJhbmNlXCIsXCJhemltdXRoXCIsXCJiYWNrZmFjZS12aXNpYmlsaXR5XCIsXCJiYWNrZ3JvdW5kXCIsXCJiYWNrZ3JvdW5kLWF0dGFjaG1lbnRcIixcImJhY2tncm91bmQtY2xpcFwiLFwiYmFja2dyb3VuZC1jb2xvclwiLFwiYmFja2dyb3VuZC1pbWFnZVwiLFwiYmFja2dyb3VuZC1vcmlnaW5cIixcImJhY2tncm91bmQtcG9zaXRpb25cIixcImJhY2tncm91bmQtcmVwZWF0XCIsXCJiYWNrZ3JvdW5kLXNpemVcIixcImJhc2VsaW5lLXNoaWZ0XCIsXCJiaW5kaW5nXCIsXCJibGVlZFwiLFwiYm9va21hcmstbGFiZWxcIixcImJvb2ttYXJrLWxldmVsXCIsXCJib29rbWFyay1zdGF0ZVwiLFwiYm9va21hcmstdGFyZ2V0XCIsXCJib3JkZXJcIixcImJvcmRlci1ib3R0b21cIixcImJvcmRlci1ib3R0b20tY29sb3JcIixcImJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXNcIixcImJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzXCIsXCJib3JkZXItYm90dG9tLXN0eWxlXCIsXCJib3JkZXItYm90dG9tLXdpZHRoXCIsXCJib3JkZXItY29sbGFwc2VcIixcImJvcmRlci1jb2xvclwiLFwiYm9yZGVyLWltYWdlXCIsXCJib3JkZXItaW1hZ2Utb3V0c2V0XCIsXCJib3JkZXItaW1hZ2UtcmVwZWF0XCIsXCJib3JkZXItaW1hZ2Utc2xpY2VcIixcImJvcmRlci1pbWFnZS1zb3VyY2VcIixcImJvcmRlci1pbWFnZS13aWR0aFwiLFwiYm9yZGVyLWxlZnRcIixcImJvcmRlci1sZWZ0LWNvbG9yXCIsXCJib3JkZXItbGVmdC1zdHlsZVwiLFwiYm9yZGVyLWxlZnQtd2lkdGhcIixcImJvcmRlci1yYWRpdXNcIixcImJvcmRlci1yaWdodFwiLFwiYm9yZGVyLXJpZ2h0LWNvbG9yXCIsXCJib3JkZXItcmlnaHQtc3R5bGVcIixcImJvcmRlci1yaWdodC13aWR0aFwiLFwiYm9yZGVyLXNwYWNpbmdcIixcImJvcmRlci1zdHlsZVwiLFwiYm9yZGVyLXRvcFwiLFwiYm9yZGVyLXRvcC1jb2xvclwiLFwiYm9yZGVyLXRvcC1sZWZ0LXJhZGl1c1wiLFwiYm9yZGVyLXRvcC1yaWdodC1yYWRpdXNcIixcImJvcmRlci10b3Atc3R5bGVcIixcImJvcmRlci10b3Atd2lkdGhcIixcImJvcmRlci13aWR0aFwiLFwiYm90dG9tXCIsXCJib3gtZGVjb3JhdGlvbi1icmVha1wiLFwiYm94LXNoYWRvd1wiLFwiYm94LXNpemluZ1wiLFwiYnJlYWstYWZ0ZXJcIixcImJyZWFrLWJlZm9yZVwiLFwiYnJlYWstaW5zaWRlXCIsXCJjYXB0aW9uLXNpZGVcIixcImNsZWFyXCIsXCJjbGlwXCIsXCJjb2xvclwiLFwiY29sb3ItcHJvZmlsZVwiLFwiY29sdW1uLWNvdW50XCIsXCJjb2x1bW4tZmlsbFwiLFwiY29sdW1uLWdhcFwiLFwiY29sdW1uLXJ1bGVcIixcImNvbHVtbi1ydWxlLWNvbG9yXCIsXCJjb2x1bW4tcnVsZS1zdHlsZVwiLFwiY29sdW1uLXJ1bGUtd2lkdGhcIixcImNvbHVtbi1zcGFuXCIsXCJjb2x1bW4td2lkdGhcIixcImNvbHVtbnNcIixcImNvbnRlbnRcIixcImNvdW50ZXItaW5jcmVtZW50XCIsXCJjb3VudGVyLXJlc2V0XCIsXCJjcm9wXCIsXCJjdWVcIixcImN1ZS1hZnRlclwiLFwiY3VlLWJlZm9yZVwiLFwiY3Vyc29yXCIsXCJkaXJlY3Rpb25cIixcImRpc3BsYXlcIixcImRvbWluYW50LWJhc2VsaW5lXCIsXCJkcm9wLWluaXRpYWwtYWZ0ZXItYWRqdXN0XCIsXCJkcm9wLWluaXRpYWwtYWZ0ZXItYWxpZ25cIixcImRyb3AtaW5pdGlhbC1iZWZvcmUtYWRqdXN0XCIsXCJkcm9wLWluaXRpYWwtYmVmb3JlLWFsaWduXCIsXCJkcm9wLWluaXRpYWwtc2l6ZVwiLFwiZHJvcC1pbml0aWFsLXZhbHVlXCIsXCJlbGV2YXRpb25cIixcImVtcHR5LWNlbGxzXCIsXCJmaXRcIixcImZpdC1wb3NpdGlvblwiLFwiZmxleFwiLFwiZmxleC1iYXNpc1wiLFwiZmxleC1kaXJlY3Rpb25cIixcImZsZXgtZmxvd1wiLFwiZmxleC1ncm93XCIsXCJmbGV4LXNocmlua1wiLFwiZmxleC13cmFwXCIsXCJmbG9hdFwiLFwiZmxvYXQtb2Zmc2V0XCIsXCJmbG93LWZyb21cIixcImZsb3ctaW50b1wiLFwiZm9udFwiLFwiZm9udC1mZWF0dXJlLXNldHRpbmdzXCIsXCJmb250LWZhbWlseVwiLFwiZm9udC1rZXJuaW5nXCIsXCJmb250LWxhbmd1YWdlLW92ZXJyaWRlXCIsXCJmb250LXNpemVcIixcImZvbnQtc2l6ZS1hZGp1c3RcIixcImZvbnQtc3RyZXRjaFwiLFwiZm9udC1zdHlsZVwiLFwiZm9udC1zeW50aGVzaXNcIixcImZvbnQtdmFyaWFudFwiLFwiZm9udC12YXJpYW50LWFsdGVybmF0ZXNcIixcImZvbnQtdmFyaWFudC1jYXBzXCIsXCJmb250LXZhcmlhbnQtZWFzdC1hc2lhblwiLFwiZm9udC12YXJpYW50LWxpZ2F0dXJlc1wiLFwiZm9udC12YXJpYW50LW51bWVyaWNcIixcImZvbnQtdmFyaWFudC1wb3NpdGlvblwiLFwiZm9udC13ZWlnaHRcIixcImdyaWRcIixcImdyaWQtYXJlYVwiLFwiZ3JpZC1hdXRvLWNvbHVtbnNcIixcImdyaWQtYXV0by1mbG93XCIsXCJncmlkLWF1dG8tcG9zaXRpb25cIixcImdyaWQtYXV0by1yb3dzXCIsXCJncmlkLWNvbHVtblwiLFwiZ3JpZC1jb2x1bW4tZW5kXCIsXCJncmlkLWNvbHVtbi1zdGFydFwiLFwiZ3JpZC1yb3dcIixcImdyaWQtcm93LWVuZFwiLFwiZ3JpZC1yb3ctc3RhcnRcIixcImdyaWQtdGVtcGxhdGVcIixcImdyaWQtdGVtcGxhdGUtYXJlYXNcIixcImdyaWQtdGVtcGxhdGUtY29sdW1uc1wiLFwiZ3JpZC10ZW1wbGF0ZS1yb3dzXCIsXCJoYW5naW5nLXB1bmN0dWF0aW9uXCIsXCJoZWlnaHRcIixcImh5cGhlbnNcIixcImljb25cIixcImltYWdlLW9yaWVudGF0aW9uXCIsXCJpbWFnZS1yZW5kZXJpbmdcIixcImltYWdlLXJlc29sdXRpb25cIixcImlubGluZS1ib3gtYWxpZ25cIixcImp1c3RpZnktY29udGVudFwiLFwibGVmdFwiLFwibGV0dGVyLXNwYWNpbmdcIixcImxpbmUtYnJlYWtcIixcImxpbmUtaGVpZ2h0XCIsXCJsaW5lLXN0YWNraW5nXCIsXCJsaW5lLXN0YWNraW5nLXJ1YnlcIixcImxpbmUtc3RhY2tpbmctc2hpZnRcIixcImxpbmUtc3RhY2tpbmctc3RyYXRlZ3lcIixcImxpc3Qtc3R5bGVcIixcImxpc3Qtc3R5bGUtaW1hZ2VcIixcImxpc3Qtc3R5bGUtcG9zaXRpb25cIixcImxpc3Qtc3R5bGUtdHlwZVwiLFwibWFyZ2luXCIsXCJtYXJnaW4tYm90dG9tXCIsXCJtYXJnaW4tbGVmdFwiLFwibWFyZ2luLXJpZ2h0XCIsXCJtYXJnaW4tdG9wXCIsXCJtYXJrZXItb2Zmc2V0XCIsXCJtYXJrc1wiLFwibWFycXVlZS1kaXJlY3Rpb25cIixcIm1hcnF1ZWUtbG9vcFwiLFwibWFycXVlZS1wbGF5LWNvdW50XCIsXCJtYXJxdWVlLXNwZWVkXCIsXCJtYXJxdWVlLXN0eWxlXCIsXCJtYXgtaGVpZ2h0XCIsXCJtYXgtd2lkdGhcIixcIm1pbi1oZWlnaHRcIixcIm1pbi13aWR0aFwiLFwibW92ZS10b1wiLFwibmF2LWRvd25cIixcIm5hdi1pbmRleFwiLFwibmF2LWxlZnRcIixcIm5hdi1yaWdodFwiLFwibmF2LXVwXCIsXCJvYmplY3QtZml0XCIsXCJvYmplY3QtcG9zaXRpb25cIixcIm9wYWNpdHlcIixcIm9yZGVyXCIsXCJvcnBoYW5zXCIsXCJvdXRsaW5lXCIsXCJvdXRsaW5lLWNvbG9yXCIsXCJvdXRsaW5lLW9mZnNldFwiLFwib3V0bGluZS1zdHlsZVwiLFwib3V0bGluZS13aWR0aFwiLFwib3ZlcmZsb3dcIixcIm92ZXJmbG93LXN0eWxlXCIsXCJvdmVyZmxvdy13cmFwXCIsXCJvdmVyZmxvdy14XCIsXCJvdmVyZmxvdy15XCIsXCJwYWRkaW5nXCIsXCJwYWRkaW5nLWJvdHRvbVwiLFwicGFkZGluZy1sZWZ0XCIsXCJwYWRkaW5nLXJpZ2h0XCIsXCJwYWRkaW5nLXRvcFwiLFwicGFnZVwiLFwicGFnZS1icmVhay1hZnRlclwiLFwicGFnZS1icmVhay1iZWZvcmVcIixcInBhZ2UtYnJlYWstaW5zaWRlXCIsXCJwYWdlLXBvbGljeVwiLFwicGF1c2VcIixcInBhdXNlLWFmdGVyXCIsXCJwYXVzZS1iZWZvcmVcIixcInBlcnNwZWN0aXZlXCIsXCJwZXJzcGVjdGl2ZS1vcmlnaW5cIixcInBpdGNoXCIsXCJwaXRjaC1yYW5nZVwiLFwicGxheS1kdXJpbmdcIixcInBvc2l0aW9uXCIsXCJwcmVzZW50YXRpb24tbGV2ZWxcIixcInB1bmN0dWF0aW9uLXRyaW1cIixcInF1b3Rlc1wiLFwicmVnaW9uLWJyZWFrLWFmdGVyXCIsXCJyZWdpb24tYnJlYWstYmVmb3JlXCIsXCJyZWdpb24tYnJlYWstaW5zaWRlXCIsXCJyZWdpb24tZnJhZ21lbnRcIixcInJlbmRlcmluZy1pbnRlbnRcIixcInJlc2l6ZVwiLFwicmVzdFwiLFwicmVzdC1hZnRlclwiLFwicmVzdC1iZWZvcmVcIixcInJpY2huZXNzXCIsXCJyaWdodFwiLFwicm90YXRpb25cIixcInJvdGF0aW9uLXBvaW50XCIsXCJydWJ5LWFsaWduXCIsXCJydWJ5LW92ZXJoYW5nXCIsXCJydWJ5LXBvc2l0aW9uXCIsXCJydWJ5LXNwYW5cIixcInNoYXBlLWltYWdlLXRocmVzaG9sZFwiLFwic2hhcGUtaW5zaWRlXCIsXCJzaGFwZS1tYXJnaW5cIixcInNoYXBlLW91dHNpZGVcIixcInNpemVcIixcInNwZWFrXCIsXCJzcGVhay1hc1wiLFwic3BlYWstaGVhZGVyXCIsXCJzcGVhay1udW1lcmFsXCIsXCJzcGVhay1wdW5jdHVhdGlvblwiLFwic3BlZWNoLXJhdGVcIixcInN0cmVzc1wiLFwic3RyaW5nLXNldFwiLFwidGFiLXNpemVcIixcInRhYmxlLWxheW91dFwiLFwidGFyZ2V0XCIsXCJ0YXJnZXQtbmFtZVwiLFwidGFyZ2V0LW5ld1wiLFwidGFyZ2V0LXBvc2l0aW9uXCIsXCJ0ZXh0LWFsaWduXCIsXCJ0ZXh0LWFsaWduLWxhc3RcIixcInRleHQtZGVjb3JhdGlvblwiLFwidGV4dC1kZWNvcmF0aW9uLWNvbG9yXCIsXCJ0ZXh0LWRlY29yYXRpb24tbGluZVwiLFwidGV4dC1kZWNvcmF0aW9uLXNraXBcIixcInRleHQtZGVjb3JhdGlvbi1zdHlsZVwiLFwidGV4dC1lbXBoYXNpc1wiLFwidGV4dC1lbXBoYXNpcy1jb2xvclwiLFwidGV4dC1lbXBoYXNpcy1wb3NpdGlvblwiLFwidGV4dC1lbXBoYXNpcy1zdHlsZVwiLFwidGV4dC1oZWlnaHRcIixcInRleHQtaW5kZW50XCIsXCJ0ZXh0LWp1c3RpZnlcIixcInRleHQtb3V0bGluZVwiLFwidGV4dC1vdmVyZmxvd1wiLFwidGV4dC1zaGFkb3dcIixcInRleHQtc2l6ZS1hZGp1c3RcIixcInRleHQtc3BhY2UtY29sbGFwc2VcIixcInRleHQtdHJhbnNmb3JtXCIsXCJ0ZXh0LXVuZGVybGluZS1wb3NpdGlvblwiLFwidGV4dC13cmFwXCIsXCJ0b3BcIixcInRyYW5zZm9ybVwiLFwidHJhbnNmb3JtLW9yaWdpblwiLFwidHJhbnNmb3JtLXN0eWxlXCIsXCJ0cmFuc2l0aW9uXCIsXCJ0cmFuc2l0aW9uLWRlbGF5XCIsXCJ0cmFuc2l0aW9uLWR1cmF0aW9uXCIsXCJ0cmFuc2l0aW9uLXByb3BlcnR5XCIsXCJ0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvblwiLFwidW5pY29kZS1iaWRpXCIsXCJ2ZXJ0aWNhbC1hbGlnblwiLFwidmlzaWJpbGl0eVwiLFwidm9pY2UtYmFsYW5jZVwiLFwidm9pY2UtZHVyYXRpb25cIixcInZvaWNlLWZhbWlseVwiLFwidm9pY2UtcGl0Y2hcIixcInZvaWNlLXJhbmdlXCIsXCJ2b2ljZS1yYXRlXCIsXCJ2b2ljZS1zdHJlc3NcIixcInZvaWNlLXZvbHVtZVwiLFwidm9sdW1lXCIsXCJ3aGl0ZS1zcGFjZVwiLFwid2lkb3dzXCIsXCJ3aWR0aFwiLFwid2lsbC1jaGFuZ2VcIixcIndvcmQtYnJlYWtcIixcIndvcmQtc3BhY2luZ1wiLFwid29yZC13cmFwXCIsXCJ6LWluZGV4XCIsXCJjbGlwLXBhdGhcIixcImNsaXAtcnVsZVwiLFwibWFza1wiLFwiZW5hYmxlLWJhY2tncm91bmRcIixcImZpbHRlclwiLFwiZmxvb2QtY29sb3JcIixcImZsb29kLW9wYWNpdHlcIixcImxpZ2h0aW5nLWNvbG9yXCIsXCJzdG9wLWNvbG9yXCIsXCJzdG9wLW9wYWNpdHlcIixcInBvaW50ZXItZXZlbnRzXCIsXCJjb2xvci1pbnRlcnBvbGF0aW9uXCIsXCJjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnNcIixcImNvbG9yLXJlbmRlcmluZ1wiLFwiZmlsbFwiLFwiZmlsbC1vcGFjaXR5XCIsXCJmaWxsLXJ1bGVcIixcImltYWdlLXJlbmRlcmluZ1wiLFwibWFya2VyXCIsXCJtYXJrZXItZW5kXCIsXCJtYXJrZXItbWlkXCIsXCJtYXJrZXItc3RhcnRcIixcInNoYXBlLXJlbmRlcmluZ1wiLFwic3Ryb2tlXCIsXCJzdHJva2UtZGFzaGFycmF5XCIsXCJzdHJva2UtZGFzaG9mZnNldFwiLFwic3Ryb2tlLWxpbmVjYXBcIixcInN0cm9rZS1saW5lam9pblwiLFwic3Ryb2tlLW1pdGVybGltaXRcIixcInN0cm9rZS1vcGFjaXR5XCIsXCJzdHJva2Utd2lkdGhcIixcInRleHQtcmVuZGVyaW5nXCIsXCJiYXNlbGluZS1zaGlmdFwiLFwiZG9taW5hbnQtYmFzZWxpbmVcIixcImdseXBoLW9yaWVudGF0aW9uLWhvcml6b250YWxcIixcImdseXBoLW9yaWVudGF0aW9uLXZlcnRpY2FsXCIsXCJ0ZXh0LWFuY2hvclwiLFwid3JpdGluZy1tb2RlXCIsXCJmb250LXNtb290aGluZ1wiLFwib3N4LWZvbnQtc21vb3RoaW5nXCJdO1xuICB2YXIgbm9uU3RhbmRhcmRQcm9wZXJ0eUtleXdvcmRzXyA9IFtcInNjcm9sbGJhci1hcnJvdy1jb2xvclwiLFwic2Nyb2xsYmFyLWJhc2UtY29sb3JcIixcInNjcm9sbGJhci1kYXJrLXNoYWRvdy1jb2xvclwiLFwic2Nyb2xsYmFyLWZhY2UtY29sb3JcIixcInNjcm9sbGJhci1oaWdobGlnaHQtY29sb3JcIixcInNjcm9sbGJhci1zaGFkb3ctY29sb3JcIixcInNjcm9sbGJhci0zZC1saWdodC1jb2xvclwiLFwic2Nyb2xsYmFyLXRyYWNrLWNvbG9yXCIsXCJzaGFwZS1pbnNpZGVcIixcInNlYXJjaGZpZWxkLWNhbmNlbC1idXR0b25cIixcInNlYXJjaGZpZWxkLWRlY29yYXRpb25cIixcInNlYXJjaGZpZWxkLXJlc3VsdHMtYnV0dG9uXCIsXCJzZWFyY2hmaWVsZC1yZXN1bHRzLWRlY29yYXRpb25cIixcInpvb21cIl07XG4gIHZhciBmb250UHJvcGVydGllc18gPSBbXCJmb250LWZhbWlseVwiLFwic3JjXCIsXCJ1bmljb2RlLXJhbmdlXCIsXCJmb250LXZhcmlhbnRcIixcImZvbnQtZmVhdHVyZS1zZXR0aW5nc1wiLFwiZm9udC1zdHJldGNoXCIsXCJmb250LXdlaWdodFwiLFwiZm9udC1zdHlsZVwiXTtcbiAgdmFyIGNvbG9yS2V5d29yZHNfID0gW1wiYWxpY2VibHVlXCIsXCJhbnRpcXVld2hpdGVcIixcImFxdWFcIixcImFxdWFtYXJpbmVcIixcImF6dXJlXCIsXCJiZWlnZVwiLFwiYmlzcXVlXCIsXCJibGFja1wiLFwiYmxhbmNoZWRhbG1vbmRcIixcImJsdWVcIixcImJsdWV2aW9sZXRcIixcImJyb3duXCIsXCJidXJseXdvb2RcIixcImNhZGV0Ymx1ZVwiLFwiY2hhcnRyZXVzZVwiLFwiY2hvY29sYXRlXCIsXCJjb3JhbFwiLFwiY29ybmZsb3dlcmJsdWVcIixcImNvcm5zaWxrXCIsXCJjcmltc29uXCIsXCJjeWFuXCIsXCJkYXJrYmx1ZVwiLFwiZGFya2N5YW5cIixcImRhcmtnb2xkZW5yb2RcIixcImRhcmtncmF5XCIsXCJkYXJrZ3JlZW5cIixcImRhcmtraGFraVwiLFwiZGFya21hZ2VudGFcIixcImRhcmtvbGl2ZWdyZWVuXCIsXCJkYXJrb3JhbmdlXCIsXCJkYXJrb3JjaGlkXCIsXCJkYXJrcmVkXCIsXCJkYXJrc2FsbW9uXCIsXCJkYXJrc2VhZ3JlZW5cIixcImRhcmtzbGF0ZWJsdWVcIixcImRhcmtzbGF0ZWdyYXlcIixcImRhcmt0dXJxdW9pc2VcIixcImRhcmt2aW9sZXRcIixcImRlZXBwaW5rXCIsXCJkZWVwc2t5Ymx1ZVwiLFwiZGltZ3JheVwiLFwiZG9kZ2VyYmx1ZVwiLFwiZmlyZWJyaWNrXCIsXCJmbG9yYWx3aGl0ZVwiLFwiZm9yZXN0Z3JlZW5cIixcImZ1Y2hzaWFcIixcImdhaW5zYm9yb1wiLFwiZ2hvc3R3aGl0ZVwiLFwiZ29sZFwiLFwiZ29sZGVucm9kXCIsXCJncmF5XCIsXCJncmV5XCIsXCJncmVlblwiLFwiZ3JlZW55ZWxsb3dcIixcImhvbmV5ZGV3XCIsXCJob3RwaW5rXCIsXCJpbmRpYW5yZWRcIixcImluZGlnb1wiLFwiaXZvcnlcIixcImtoYWtpXCIsXCJsYXZlbmRlclwiLFwibGF2ZW5kZXJibHVzaFwiLFwibGF3bmdyZWVuXCIsXCJsZW1vbmNoaWZmb25cIixcImxpZ2h0Ymx1ZVwiLFwibGlnaHRjb3JhbFwiLFwibGlnaHRjeWFuXCIsXCJsaWdodGdvbGRlbnJvZHllbGxvd1wiLFwibGlnaHRncmF5XCIsXCJsaWdodGdyZWVuXCIsXCJsaWdodHBpbmtcIixcImxpZ2h0c2FsbW9uXCIsXCJsaWdodHNlYWdyZWVuXCIsXCJsaWdodHNreWJsdWVcIixcImxpZ2h0c2xhdGVncmF5XCIsXCJsaWdodHN0ZWVsYmx1ZVwiLFwibGlnaHR5ZWxsb3dcIixcImxpbWVcIixcImxpbWVncmVlblwiLFwibGluZW5cIixcIm1hZ2VudGFcIixcIm1hcm9vblwiLFwibWVkaXVtYXF1YW1hcmluZVwiLFwibWVkaXVtYmx1ZVwiLFwibWVkaXVtb3JjaGlkXCIsXCJtZWRpdW1wdXJwbGVcIixcIm1lZGl1bXNlYWdyZWVuXCIsXCJtZWRpdW1zbGF0ZWJsdWVcIixcIm1lZGl1bXNwcmluZ2dyZWVuXCIsXCJtZWRpdW10dXJxdW9pc2VcIixcIm1lZGl1bXZpb2xldHJlZFwiLFwibWlkbmlnaHRibHVlXCIsXCJtaW50Y3JlYW1cIixcIm1pc3R5cm9zZVwiLFwibW9jY2FzaW5cIixcIm5hdmFqb3doaXRlXCIsXCJuYXZ5XCIsXCJvbGRsYWNlXCIsXCJvbGl2ZVwiLFwib2xpdmVkcmFiXCIsXCJvcmFuZ2VcIixcIm9yYW5nZXJlZFwiLFwib3JjaGlkXCIsXCJwYWxlZ29sZGVucm9kXCIsXCJwYWxlZ3JlZW5cIixcInBhbGV0dXJxdW9pc2VcIixcInBhbGV2aW9sZXRyZWRcIixcInBhcGF5YXdoaXBcIixcInBlYWNocHVmZlwiLFwicGVydVwiLFwicGlua1wiLFwicGx1bVwiLFwicG93ZGVyYmx1ZVwiLFwicHVycGxlXCIsXCJyZWJlY2NhcHVycGxlXCIsXCJyZWRcIixcInJvc3licm93blwiLFwicm95YWxibHVlXCIsXCJzYWRkbGVicm93blwiLFwic2FsbW9uXCIsXCJzYW5keWJyb3duXCIsXCJzZWFncmVlblwiLFwic2Vhc2hlbGxcIixcInNpZW5uYVwiLFwic2lsdmVyXCIsXCJza3libHVlXCIsXCJzbGF0ZWJsdWVcIixcInNsYXRlZ3JheVwiLFwic25vd1wiLFwic3ByaW5nZ3JlZW5cIixcInN0ZWVsYmx1ZVwiLFwidGFuXCIsXCJ0ZWFsXCIsXCJ0aGlzdGxlXCIsXCJ0b21hdG9cIixcInR1cnF1b2lzZVwiLFwidmlvbGV0XCIsXCJ3aGVhdFwiLFwid2hpdGVcIixcIndoaXRlc21va2VcIixcInllbGxvd1wiLFwieWVsbG93Z3JlZW5cIl07XG4gIHZhciB2YWx1ZUtleXdvcmRzXyA9IFtcImFib3ZlXCIsXCJhYnNvbHV0ZVwiLFwiYWN0aXZlYm9yZGVyXCIsXCJhZGRpdGl2ZVwiLFwiYWN0aXZlY2FwdGlvblwiLFwiYWZhclwiLFwiYWZ0ZXItd2hpdGUtc3BhY2VcIixcImFoZWFkXCIsXCJhbGlhc1wiLFwiYWxsXCIsXCJhbGwtc2Nyb2xsXCIsXCJhbHBoYWJldGljXCIsXCJhbHRlcm5hdGVcIixcImFsd2F5c1wiLFwiYW1oYXJpY1wiLFwiYW1oYXJpYy1hYmVnZWRlXCIsXCJhbnRpYWxpYXNlZFwiLFwiYXBwd29ya3NwYWNlXCIsXCJhcmFiaWMtaW5kaWNcIixcImFybWVuaWFuXCIsXCJhc3Rlcmlza3NcIixcImF0dHJcIixcImF1dG9cIixcImF2b2lkXCIsXCJhdm9pZC1jb2x1bW5cIixcImF2b2lkLXBhZ2VcIixcImF2b2lkLXJlZ2lvblwiLFwiYmFja2dyb3VuZFwiLFwiYmFja3dhcmRzXCIsXCJiYXNlbGluZVwiLFwiYmVsb3dcIixcImJpZGktb3ZlcnJpZGVcIixcImJpbmFyeVwiLFwiYmVuZ2FsaVwiLFwiYmxpbmtcIixcImJsb2NrXCIsXCJibG9jay1heGlzXCIsXCJib2xkXCIsXCJib2xkZXJcIixcImJvcmRlclwiLFwiYm9yZGVyLWJveFwiLFwiYm90aFwiLFwiYm90dG9tXCIsXCJicmVha1wiLFwiYnJlYWstYWxsXCIsXCJicmVhay13b3JkXCIsXCJidWxsZXRzXCIsXCJidXR0b25cIixcImJ1dHRvbi1iZXZlbFwiLFwiYnV0dG9uZmFjZVwiLFwiYnV0dG9uaGlnaGxpZ2h0XCIsXCJidXR0b25zaGFkb3dcIixcImJ1dHRvbnRleHRcIixcImNhbGNcIixcImNhbWJvZGlhblwiLFwiY2FwaXRhbGl6ZVwiLFwiY2Fwcy1sb2NrLWluZGljYXRvclwiLFwiY2FwdGlvblwiLFwiY2FwdGlvbnRleHRcIixcImNhcmV0XCIsXCJjZWxsXCIsXCJjZW50ZXJcIixcImNoZWNrYm94XCIsXCJjaXJjbGVcIixcImNqay1kZWNpbWFsXCIsXCJjamstZWFydGhseS1icmFuY2hcIixcImNqay1oZWF2ZW5seS1zdGVtXCIsXCJjamstaWRlb2dyYXBoaWNcIixcImNsZWFyXCIsXCJjbGlwXCIsXCJjbG9zZS1xdW90ZVwiLFwiY29sLXJlc2l6ZVwiLFwiY29sbGFwc2VcIixcImNvbHVtblwiLFwiY29tcGFjdFwiLFwiY29uZGVuc2VkXCIsXCJjb250YWluXCIsXCJjb250ZW50XCIsXCJjb250ZW50c1wiLFwiY29udGVudC1ib3hcIixcImNvbnRleHQtbWVudVwiLFwiY29udGludW91c1wiLFwiY29weVwiLFwiY291bnRlclwiLFwiY291bnRlcnNcIixcImNvdmVyXCIsXCJjcm9wXCIsXCJjcm9zc1wiLFwiY3Jvc3NoYWlyXCIsXCJjdXJyZW50Y29sb3JcIixcImN1cnNpdmVcIixcImN5Y2xpY1wiLFwiZGFzaGVkXCIsXCJkZWNpbWFsXCIsXCJkZWNpbWFsLWxlYWRpbmctemVyb1wiLFwiZGVmYXVsdFwiLFwiZGVmYXVsdC1idXR0b25cIixcImRlc3RpbmF0aW9uLWF0b3BcIixcImRlc3RpbmF0aW9uLWluXCIsXCJkZXN0aW5hdGlvbi1vdXRcIixcImRlc3RpbmF0aW9uLW92ZXJcIixcImRldmFuYWdhcmlcIixcImRpc2NcIixcImRpc2NhcmRcIixcImRpc2Nsb3N1cmUtY2xvc2VkXCIsXCJkaXNjbG9zdXJlLW9wZW5cIixcImRvY3VtZW50XCIsXCJkb3QtZGFzaFwiLFwiZG90LWRvdC1kYXNoXCIsXCJkb3R0ZWRcIixcImRvdWJsZVwiLFwiZG93blwiLFwiZS1yZXNpemVcIixcImVhc2VcIixcImVhc2UtaW5cIixcImVhc2UtaW4tb3V0XCIsXCJlYXNlLW91dFwiLFwiZWxlbWVudFwiLFwiZWxsaXBzZVwiLFwiZWxsaXBzaXNcIixcImVtYmVkXCIsXCJlbmRcIixcImV0aGlvcGljXCIsXCJldGhpb3BpYy1hYmVnZWRlXCIsXCJldGhpb3BpYy1hYmVnZWRlLWFtLWV0XCIsXCJldGhpb3BpYy1hYmVnZWRlLWdlelwiLFwiZXRoaW9waWMtYWJlZ2VkZS10aS1lclwiLFwiZXRoaW9waWMtYWJlZ2VkZS10aS1ldFwiLFwiZXRoaW9waWMtaGFsZWhhbWUtYWEtZXJcIixcImV0aGlvcGljLWhhbGVoYW1lLWFhLWV0XCIsXCJldGhpb3BpYy1oYWxlaGFtZS1hbS1ldFwiLFwiZXRoaW9waWMtaGFsZWhhbWUtZ2V6XCIsXCJldGhpb3BpYy1oYWxlaGFtZS1vbS1ldFwiLFwiZXRoaW9waWMtaGFsZWhhbWUtc2lkLWV0XCIsXCJldGhpb3BpYy1oYWxlaGFtZS1zby1ldFwiLFwiZXRoaW9waWMtaGFsZWhhbWUtdGktZXJcIixcImV0aGlvcGljLWhhbGVoYW1lLXRpLWV0XCIsXCJldGhpb3BpYy1oYWxlaGFtZS10aWdcIixcImV0aGlvcGljLW51bWVyaWNcIixcImV3LXJlc2l6ZVwiLFwiZXhwYW5kZWRcIixcImV4dGVuZHNcIixcImV4dHJhLWNvbmRlbnNlZFwiLFwiZXh0cmEtZXhwYW5kZWRcIixcImZhbnRhc3lcIixcImZhc3RcIixcImZpbGxcIixcImZpeGVkXCIsXCJmbGF0XCIsXCJmbGV4XCIsXCJmb290bm90ZXNcIixcImZvcndhcmRzXCIsXCJmcm9tXCIsXCJnZW9tZXRyaWNQcmVjaXNpb25cIixcImdlb3JnaWFuXCIsXCJncmF5dGV4dFwiLFwiZ3Jvb3ZlXCIsXCJndWphcmF0aVwiLFwiZ3VybXVraGlcIixcImhhbmRcIixcImhhbmd1bFwiLFwiaGFuZ3VsLWNvbnNvbmFudFwiLFwiaGVicmV3XCIsXCJoZWxwXCIsXCJoaWRkZW5cIixcImhpZGVcIixcImhpZ2hlclwiLFwiaGlnaGxpZ2h0XCIsXCJoaWdobGlnaHR0ZXh0XCIsXCJoaXJhZ2FuYVwiLFwiaGlyYWdhbmEtaXJvaGFcIixcImhvcml6b250YWxcIixcImhzbFwiLFwiaHNsYVwiLFwiaWNvblwiLFwiaWdub3JlXCIsXCJpbmFjdGl2ZWJvcmRlclwiLFwiaW5hY3RpdmVjYXB0aW9uXCIsXCJpbmFjdGl2ZWNhcHRpb250ZXh0XCIsXCJpbmZpbml0ZVwiLFwiaW5mb2JhY2tncm91bmRcIixcImluZm90ZXh0XCIsXCJpbmhlcml0XCIsXCJpbml0aWFsXCIsXCJpbmxpbmVcIixcImlubGluZS1heGlzXCIsXCJpbmxpbmUtYmxvY2tcIixcImlubGluZS1mbGV4XCIsXCJpbmxpbmUtdGFibGVcIixcImluc2V0XCIsXCJpbnNpZGVcIixcImludHJpbnNpY1wiLFwiaW52ZXJ0XCIsXCJpdGFsaWNcIixcImphcGFuZXNlLWZvcm1hbFwiLFwiamFwYW5lc2UtaW5mb3JtYWxcIixcImp1c3RpZnlcIixcImthbm5hZGFcIixcImthdGFrYW5hXCIsXCJrYXRha2FuYS1pcm9oYVwiLFwia2VlcC1hbGxcIixcImtobWVyXCIsXCJrb3JlYW4taGFuZ3VsLWZvcm1hbFwiLFwia29yZWFuLWhhbmphLWZvcm1hbFwiLFwia29yZWFuLWhhbmphLWluZm9ybWFsXCIsXCJsYW5kc2NhcGVcIixcImxhb1wiLFwibGFyZ2VcIixcImxhcmdlclwiLFwibGVmdFwiLFwibGV2ZWxcIixcImxpZ2h0ZXJcIixcImxpbmUtdGhyb3VnaFwiLFwibGluZWFyXCIsXCJsaW5lYXItZ3JhZGllbnRcIixcImxpbmVzXCIsXCJsaXN0LWl0ZW1cIixcImxpc3Rib3hcIixcImxpc3RpdGVtXCIsXCJsb2NhbFwiLFwibG9naWNhbFwiLFwibG91ZFwiLFwibG93ZXJcIixcImxvd2VyLWFscGhhXCIsXCJsb3dlci1hcm1lbmlhblwiLFwibG93ZXItZ3JlZWtcIixcImxvd2VyLWhleGFkZWNpbWFsXCIsXCJsb3dlci1sYXRpblwiLFwibG93ZXItbm9yd2VnaWFuXCIsXCJsb3dlci1yb21hblwiLFwibG93ZXJjYXNlXCIsXCJsdHJcIixcIm1hbGF5YWxhbVwiLFwibWF0Y2hcIixcIm1hdHJpeFwiLFwibWF0cml4M2RcIixcIm1lZGlhLWNvbnRyb2xzLWJhY2tncm91bmRcIixcIm1lZGlhLWN1cnJlbnQtdGltZS1kaXNwbGF5XCIsXCJtZWRpYS1mdWxsc2NyZWVuLWJ1dHRvblwiLFwibWVkaWEtbXV0ZS1idXR0b25cIixcIm1lZGlhLXBsYXktYnV0dG9uXCIsXCJtZWRpYS1yZXR1cm4tdG8tcmVhbHRpbWUtYnV0dG9uXCIsXCJtZWRpYS1yZXdpbmQtYnV0dG9uXCIsXCJtZWRpYS1zZWVrLWJhY2stYnV0dG9uXCIsXCJtZWRpYS1zZWVrLWZvcndhcmQtYnV0dG9uXCIsXCJtZWRpYS1zbGlkZXJcIixcIm1lZGlhLXNsaWRlcnRodW1iXCIsXCJtZWRpYS10aW1lLXJlbWFpbmluZy1kaXNwbGF5XCIsXCJtZWRpYS12b2x1bWUtc2xpZGVyXCIsXCJtZWRpYS12b2x1bWUtc2xpZGVyLWNvbnRhaW5lclwiLFwibWVkaWEtdm9sdW1lLXNsaWRlcnRodW1iXCIsXCJtZWRpdW1cIixcIm1lbnVcIixcIm1lbnVsaXN0XCIsXCJtZW51bGlzdC1idXR0b25cIixcIm1lbnVsaXN0LXRleHRcIixcIm1lbnVsaXN0LXRleHRmaWVsZFwiLFwibWVudXRleHRcIixcIm1lc3NhZ2UtYm94XCIsXCJtaWRkbGVcIixcIm1pbi1pbnRyaW5zaWNcIixcIm1peFwiLFwibW9uZ29saWFuXCIsXCJtb25vc3BhY2VcIixcIm1vdmVcIixcIm11bHRpcGxlXCIsXCJteWFubWFyXCIsXCJuLXJlc2l6ZVwiLFwibmFycm93ZXJcIixcIm5lLXJlc2l6ZVwiLFwibmVzdy1yZXNpemVcIixcIm5vLWNsb3NlLXF1b3RlXCIsXCJuby1kcm9wXCIsXCJuby1vcGVuLXF1b3RlXCIsXCJuby1yZXBlYXRcIixcIm5vbmVcIixcIm5vcm1hbFwiLFwibm90LWFsbG93ZWRcIixcIm5vd3JhcFwiLFwibnMtcmVzaXplXCIsXCJudW1iZXJzXCIsXCJudW1lcmljXCIsXCJudy1yZXNpemVcIixcIm53c2UtcmVzaXplXCIsXCJvYmxpcXVlXCIsXCJvY3RhbFwiLFwib3Blbi1xdW90ZVwiLFwib3B0aW1pemVMZWdpYmlsaXR5XCIsXCJvcHRpbWl6ZVNwZWVkXCIsXCJvcml5YVwiLFwib3JvbW9cIixcIm91dHNldFwiLFwib3V0c2lkZVwiLFwib3V0c2lkZS1zaGFwZVwiLFwib3ZlcmxheVwiLFwib3ZlcmxpbmVcIixcInBhZGRpbmdcIixcInBhZGRpbmctYm94XCIsXCJwYWludGVkXCIsXCJwYWdlXCIsXCJwYXVzZWRcIixcInBlcnNpYW5cIixcInBlcnNwZWN0aXZlXCIsXCJwbHVzLWRhcmtlclwiLFwicGx1cy1saWdodGVyXCIsXCJwb2ludGVyXCIsXCJwb2x5Z29uXCIsXCJwb3J0cmFpdFwiLFwicHJlXCIsXCJwcmUtbGluZVwiLFwicHJlLXdyYXBcIixcInByZXNlcnZlLTNkXCIsXCJwcm9ncmVzc1wiLFwicHVzaC1idXR0b25cIixcInJhZGlhbC1ncmFkaWVudFwiLFwicmFkaW9cIixcInJlYWQtb25seVwiLFwicmVhZC13cml0ZVwiLFwicmVhZC13cml0ZS1wbGFpbnRleHQtb25seVwiLFwicmVjdGFuZ2xlXCIsXCJyZWdpb25cIixcInJlbGF0aXZlXCIsXCJyZXBlYXRcIixcInJlcGVhdGluZy1saW5lYXItZ3JhZGllbnRcIixcInJlcGVhdGluZy1yYWRpYWwtZ3JhZGllbnRcIixcInJlcGVhdC14XCIsXCJyZXBlYXQteVwiLFwicmVzZXRcIixcInJldmVyc2VcIixcInJnYlwiLFwicmdiYVwiLFwicmlkZ2VcIixcInJpZ2h0XCIsXCJyb3RhdGVcIixcInJvdGF0ZTNkXCIsXCJyb3RhdGVYXCIsXCJyb3RhdGVZXCIsXCJyb3RhdGVaXCIsXCJyb3VuZFwiLFwicm93LXJlc2l6ZVwiLFwicnRsXCIsXCJydW4taW5cIixcInJ1bm5pbmdcIixcInMtcmVzaXplXCIsXCJzYW5zLXNlcmlmXCIsXCJzY2FsZVwiLFwic2NhbGUzZFwiLFwic2NhbGVYXCIsXCJzY2FsZVlcIixcInNjYWxlWlwiLFwic2Nyb2xsXCIsXCJzY3JvbGxiYXJcIixcInNjcm9sbC1wb3NpdGlvblwiLFwic2UtcmVzaXplXCIsXCJzZWFyY2hmaWVsZFwiLFwic2VhcmNoZmllbGQtY2FuY2VsLWJ1dHRvblwiLFwic2VhcmNoZmllbGQtZGVjb3JhdGlvblwiLFwic2VhcmNoZmllbGQtcmVzdWx0cy1idXR0b25cIixcInNlYXJjaGZpZWxkLXJlc3VsdHMtZGVjb3JhdGlvblwiLFwic2VtaS1jb25kZW5zZWRcIixcInNlbWktZXhwYW5kZWRcIixcInNlcGFyYXRlXCIsXCJzZXJpZlwiLFwic2hvd1wiLFwic2lkYW1hXCIsXCJzaW1wLWNoaW5lc2UtZm9ybWFsXCIsXCJzaW1wLWNoaW5lc2UtaW5mb3JtYWxcIixcInNpbmdsZVwiLFwic2tld1wiLFwic2tld1hcIixcInNrZXdZXCIsXCJza2lwLXdoaXRlLXNwYWNlXCIsXCJzbGlkZVwiLFwic2xpZGVyLWhvcml6b250YWxcIixcInNsaWRlci12ZXJ0aWNhbFwiLFwic2xpZGVydGh1bWItaG9yaXpvbnRhbFwiLFwic2xpZGVydGh1bWItdmVydGljYWxcIixcInNsb3dcIixcInNtYWxsXCIsXCJzbWFsbC1jYXBzXCIsXCJzbWFsbC1jYXB0aW9uXCIsXCJzbWFsbGVyXCIsXCJzb2xpZFwiLFwic29tYWxpXCIsXCJzb3VyY2UtYXRvcFwiLFwic291cmNlLWluXCIsXCJzb3VyY2Utb3V0XCIsXCJzb3VyY2Utb3ZlclwiLFwic3BhY2VcIixcInNwZWxsLW91dFwiLFwic3F1YXJlXCIsXCJzcXVhcmUtYnV0dG9uXCIsXCJzdGFydFwiLFwic3RhdGljXCIsXCJzdGF0dXMtYmFyXCIsXCJzdHJldGNoXCIsXCJzdHJva2VcIixcInN1YlwiLFwic3VicGl4ZWwtYW50aWFsaWFzZWRcIixcInN1cGVyXCIsXCJzdy1yZXNpemVcIixcInN5bWJvbGljXCIsXCJzeW1ib2xzXCIsXCJ0YWJsZVwiLFwidGFibGUtY2FwdGlvblwiLFwidGFibGUtY2VsbFwiLFwidGFibGUtY29sdW1uXCIsXCJ0YWJsZS1jb2x1bW4tZ3JvdXBcIixcInRhYmxlLWZvb3Rlci1ncm91cFwiLFwidGFibGUtaGVhZGVyLWdyb3VwXCIsXCJ0YWJsZS1yb3dcIixcInRhYmxlLXJvdy1ncm91cFwiLFwidGFtaWxcIixcInRlbHVndVwiLFwidGV4dFwiLFwidGV4dC1ib3R0b21cIixcInRleHQtdG9wXCIsXCJ0ZXh0YXJlYVwiLFwidGV4dGZpZWxkXCIsXCJ0aGFpXCIsXCJ0aGlja1wiLFwidGhpblwiLFwidGhyZWVkZGFya3NoYWRvd1wiLFwidGhyZWVkZmFjZVwiLFwidGhyZWVkaGlnaGxpZ2h0XCIsXCJ0aHJlZWRsaWdodHNoYWRvd1wiLFwidGhyZWVkc2hhZG93XCIsXCJ0aWJldGFuXCIsXCJ0aWdyZVwiLFwidGlncmlueWEtZXJcIixcInRpZ3JpbnlhLWVyLWFiZWdlZGVcIixcInRpZ3JpbnlhLWV0XCIsXCJ0aWdyaW55YS1ldC1hYmVnZWRlXCIsXCJ0b1wiLFwidG9wXCIsXCJ0cmFkLWNoaW5lc2UtZm9ybWFsXCIsXCJ0cmFkLWNoaW5lc2UtaW5mb3JtYWxcIixcInRyYW5zbGF0ZVwiLFwidHJhbnNsYXRlM2RcIixcInRyYW5zbGF0ZVhcIixcInRyYW5zbGF0ZVlcIixcInRyYW5zbGF0ZVpcIixcInRyYW5zcGFyZW50XCIsXCJ1bHRyYS1jb25kZW5zZWRcIixcInVsdHJhLWV4cGFuZGVkXCIsXCJ1bmRlcmxpbmVcIixcInVwXCIsXCJ1cHBlci1hbHBoYVwiLFwidXBwZXItYXJtZW5pYW5cIixcInVwcGVyLWdyZWVrXCIsXCJ1cHBlci1oZXhhZGVjaW1hbFwiLFwidXBwZXItbGF0aW5cIixcInVwcGVyLW5vcndlZ2lhblwiLFwidXBwZXItcm9tYW5cIixcInVwcGVyY2FzZVwiLFwidXJkdVwiLFwidXJsXCIsXCJ2YXJcIixcInZlcnRpY2FsXCIsXCJ2ZXJ0aWNhbC10ZXh0XCIsXCJ2aXNpYmxlXCIsXCJ2aXNpYmxlRmlsbFwiLFwidmlzaWJsZVBhaW50ZWRcIixcInZpc2libGVTdHJva2VcIixcInZpc3VhbFwiLFwidy1yZXNpemVcIixcIndhaXRcIixcIndhdmVcIixcIndpZGVyXCIsXCJ3aW5kb3dcIixcIndpbmRvd2ZyYW1lXCIsXCJ3aW5kb3d0ZXh0XCIsXCJ3b3Jkc1wiLFwieC1sYXJnZVwiLFwieC1zbWFsbFwiLFwieG9yXCIsXCJ4eC1sYXJnZVwiLFwieHgtc21hbGxcIixcImJpY3ViaWNcIixcIm9wdGltaXplc3BlZWRcIixcImdyYXlzY2FsZVwiLFwicm93XCIsXCJyb3ctcmV2ZXJzZVwiLFwid3JhcFwiLFwid3JhcC1yZXZlcnNlXCIsXCJjb2x1bW4tcmV2ZXJzZVwiLFwiZmxleC1zdGFydFwiLFwiZmxleC1lbmRcIixcInNwYWNlLWJldHdlZW5cIixcInNwYWNlLWFyb3VuZFwiLCBcInVuc2V0XCJdO1xuXG4gIHZhciB3b3JkT3BlcmF0b3JLZXl3b3Jkc18gPSBbXCJpblwiLFwiYW5kXCIsXCJvclwiLFwibm90XCIsXCJpcyBub3RcIixcImlzIGFcIixcImlzXCIsXCJpc250XCIsXCJkZWZpbmVkXCIsXCJpZiB1bmxlc3NcIl0sXG4gICAgICBibG9ja0tleXdvcmRzXyA9IFtcImZvclwiLFwiaWZcIixcImVsc2VcIixcInVubGVzc1wiLCBcImZyb21cIiwgXCJ0b1wiXSxcbiAgICAgIGNvbW1vbkF0b21zXyA9IFtcIm51bGxcIixcInRydWVcIixcImZhbHNlXCIsXCJocmVmXCIsXCJ0aXRsZVwiLFwidHlwZVwiLFwibm90LWFsbG93ZWRcIixcInJlYWRvbmx5XCIsXCJkaXNhYmxlZFwiXSxcbiAgICAgIGNvbW1vbkRlZl8gPSBbXCJAZm9udC1mYWNlXCIsIFwiQGtleWZyYW1lc1wiLCBcIkBtZWRpYVwiLCBcIkB2aWV3cG9ydFwiLCBcIkBwYWdlXCIsIFwiQGhvc3RcIiwgXCJAc3VwcG9ydHNcIiwgXCJAYmxvY2tcIiwgXCJAY3NzXCJdO1xuXG4gIHZhciBoaW50V29yZHMgPSB0YWdLZXl3b3Jkc18uY29uY2F0KGRvY3VtZW50VHlwZXNfLG1lZGlhVHlwZXNfLG1lZGlhRmVhdHVyZXNfLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0eUtleXdvcmRzXyxub25TdGFuZGFyZFByb3BlcnR5S2V5d29yZHNfLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcktleXdvcmRzXyx2YWx1ZUtleXdvcmRzXyxmb250UHJvcGVydGllc18sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdvcmRPcGVyYXRvcktleXdvcmRzXyxibG9ja0tleXdvcmRzXyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tbW9uQXRvbXNfLGNvbW1vbkRlZl8pO1xuXG4gIGZ1bmN0aW9uIHdvcmRSZWdleHAod29yZHMpIHtcbiAgICB3b3JkcyA9IHdvcmRzLnNvcnQoZnVuY3Rpb24oYSxiKXtyZXR1cm4gYiA+IGE7fSk7XG4gICAgcmV0dXJuIG5ldyBSZWdFeHAoXCJeKChcIiArIHdvcmRzLmpvaW4oXCIpfChcIikgKyBcIikpXFxcXGJcIik7XG4gIH1cblxuICBmdW5jdGlvbiBrZXlTZXQoYXJyYXkpIHtcbiAgICB2YXIga2V5cyA9IHt9O1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYXJyYXkubGVuZ3RoOyArK2kpIGtleXNbYXJyYXlbaV1dID0gdHJ1ZTtcbiAgICByZXR1cm4ga2V5cztcbiAgfVxuXG4gIGZ1bmN0aW9uIGVzY2FwZVJlZ0V4cCh0ZXh0KSB7XG4gICAgcmV0dXJuIHRleHQucmVwbGFjZSgvWy1bXFxde30oKSorPy4sXFxcXF4kfCNcXHNdL2csIFwiXFxcXCQmXCIpO1xuICB9XG5cbiAgQ29kZU1pcnJvci5yZWdpc3RlckhlbHBlcihcImhpbnRXb3Jkc1wiLCBcInN0eWx1c1wiLCBoaW50V29yZHMpO1xuICBDb2RlTWlycm9yLmRlZmluZU1JTUUoXCJ0ZXh0L3gtc3R5bFwiLCBcInN0eWx1c1wiKTtcbn0pO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/codemirror/mode/stylus/stylus.js\n"); /***/ }), /***/ "./node_modules/codemirror/mode/swift/swift.js": /*!*****************************************************!*\ !*** ./node_modules/codemirror/mode/swift/swift.js ***! \*****************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n// Swift mode created by Michael Kaminsky https://github.com/mkaminsky11\n\n(function(mod) {\n if (true)\n mod(__webpack_require__(/*! ../../lib/codemirror */ \"./node_modules/codemirror/lib/codemirror.js\"))\n else {}\n})(function(CodeMirror) {\n \"use strict\"\n\n function wordSet(words) {\n var set = {}\n for (var i = 0; i < words.length; i++) set[words[i]] = true\n return set\n }\n\n var keywords = wordSet([\"_\",\"var\",\"let\",\"class\",\"enum\",\"extension\",\"import\",\"protocol\",\"struct\",\"func\",\"typealias\",\"associatedtype\",\n \"open\",\"public\",\"internal\",\"fileprivate\",\"private\",\"deinit\",\"init\",\"new\",\"override\",\"self\",\"subscript\",\"super\",\n \"convenience\",\"dynamic\",\"final\",\"indirect\",\"lazy\",\"required\",\"static\",\"unowned\",\"unowned(safe)\",\"unowned(unsafe)\",\"weak\",\"as\",\"is\",\n \"break\",\"case\",\"continue\",\"default\",\"else\",\"fallthrough\",\"for\",\"guard\",\"if\",\"in\",\"repeat\",\"switch\",\"where\",\"while\",\n \"defer\",\"return\",\"inout\",\"mutating\",\"nonmutating\",\"catch\",\"do\",\"rethrows\",\"throw\",\"throws\",\"try\",\"didSet\",\"get\",\"set\",\"willSet\",\n \"assignment\",\"associativity\",\"infix\",\"left\",\"none\",\"operator\",\"postfix\",\"precedence\",\"precedencegroup\",\"prefix\",\"right\",\n \"Any\",\"AnyObject\",\"Type\",\"dynamicType\",\"Self\",\"Protocol\",\"__COLUMN__\",\"__FILE__\",\"__FUNCTION__\",\"__LINE__\"])\n var definingKeywords = wordSet([\"var\",\"let\",\"class\",\"enum\",\"extension\",\"import\",\"protocol\",\"struct\",\"func\",\"typealias\",\"associatedtype\",\"for\"])\n var atoms = wordSet([\"true\",\"false\",\"nil\",\"self\",\"super\",\"_\"])\n var types = wordSet([\"Array\",\"Bool\",\"Character\",\"Dictionary\",\"Double\",\"Float\",\"Int\",\"Int8\",\"Int16\",\"Int32\",\"Int64\",\"Never\",\"Optional\",\"Set\",\"String\",\n \"UInt8\",\"UInt16\",\"UInt32\",\"UInt64\",\"Void\"])\n var operators = \"+-/*%=|&<>~^?!\"\n var punc = \":;,.(){}[]\"\n var binary = /^\\-?0b[01][01_]*/\n var octal = /^\\-?0o[0-7][0-7_]*/\n var hexadecimal = /^\\-?0x[\\dA-Fa-f][\\dA-Fa-f_]*(?:(?:\\.[\\dA-Fa-f][\\dA-Fa-f_]*)?[Pp]\\-?\\d[\\d_]*)?/\n var decimal = /^\\-?\\d[\\d_]*(?:\\.\\d[\\d_]*)?(?:[Ee]\\-?\\d[\\d_]*)?/\n var identifier = /^\\$\\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\\1/\n var property = /^\\.(?:\\$\\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\\1)/\n var instruction = /^\\#[A-Za-z]+/\n var attribute = /^@(?:\\$\\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\\1)/\n //var regexp = /^\\/(?!\\s)(?:\\/\\/)?(?:\\\\.|[^\\/])+\\//\n\n function tokenBase(stream, state, prev) {\n if (stream.sol()) state.indented = stream.indentation()\n if (stream.eatSpace()) return null\n\n var ch = stream.peek()\n if (ch == \"/\") {\n if (stream.match(\"//\")) {\n stream.skipToEnd()\n return \"comment\"\n }\n if (stream.match(\"/*\")) {\n state.tokenize.push(tokenComment)\n return tokenComment(stream, state)\n }\n }\n if (stream.match(instruction)) return \"builtin\"\n if (stream.match(attribute)) return \"attribute\"\n if (stream.match(binary)) return \"number\"\n if (stream.match(octal)) return \"number\"\n if (stream.match(hexadecimal)) return \"number\"\n if (stream.match(decimal)) return \"number\"\n if (stream.match(property)) return \"property\"\n if (operators.indexOf(ch) > -1) {\n stream.next()\n return \"operator\"\n }\n if (punc.indexOf(ch) > -1) {\n stream.next()\n stream.match(\"..\")\n return \"punctuation\"\n }\n var stringMatch\n if (stringMatch = stream.match(/(\"\"\"|\"|')/)) {\n var tokenize = tokenString.bind(null, stringMatch[0])\n state.tokenize.push(tokenize)\n return tokenize(stream, state)\n }\n\n if (stream.match(identifier)) {\n var ident = stream.current()\n if (types.hasOwnProperty(ident)) return \"variable-2\"\n if (atoms.hasOwnProperty(ident)) return \"atom\"\n if (keywords.hasOwnProperty(ident)) {\n if (definingKeywords.hasOwnProperty(ident))\n state.prev = \"define\"\n return \"keyword\"\n }\n if (prev == \"define\") return \"def\"\n return \"variable\"\n }\n\n stream.next()\n return null\n }\n\n function tokenUntilClosingParen() {\n var depth = 0\n return function(stream, state, prev) {\n var inner = tokenBase(stream, state, prev)\n if (inner == \"punctuation\") {\n if (stream.current() == \"(\") ++depth\n else if (stream.current() == \")\") {\n if (depth == 0) {\n stream.backUp(1)\n state.tokenize.pop()\n return state.tokenize[state.tokenize.length - 1](stream, state)\n }\n else --depth\n }\n }\n return inner\n }\n }\n\n function tokenString(openQuote, stream, state) {\n var singleLine = openQuote.length == 1\n var ch, escaped = false\n while (ch = stream.peek()) {\n if (escaped) {\n stream.next()\n if (ch == \"(\") {\n state.tokenize.push(tokenUntilClosingParen())\n return \"string\"\n }\n escaped = false\n } else if (stream.match(openQuote)) {\n state.tokenize.pop()\n return \"string\"\n } else {\n stream.next()\n escaped = ch == \"\\\\\"\n }\n }\n if (singleLine) {\n state.tokenize.pop()\n }\n return \"string\"\n }\n\n function tokenComment(stream, state) {\n var ch\n while (true) {\n stream.match(/^[^/*]+/, true)\n ch = stream.next()\n if (!ch) break\n if (ch === \"/\" && stream.eat(\"*\")) {\n state.tokenize.push(tokenComment)\n } else if (ch === \"*\" && stream.eat(\"/\")) {\n state.tokenize.pop()\n }\n }\n return \"comment\"\n }\n\n function Context(prev, align, indented) {\n this.prev = prev\n this.align = align\n this.indented = indented\n }\n\n function pushContext(state, stream) {\n var align = stream.match(/^\\s*($|\\/[\\/\\*])/, false) ? null : stream.column() + 1\n state.context = new Context(state.context, align, state.indented)\n }\n\n function popContext(state) {\n if (state.context) {\n state.indented = state.context.indented\n state.context = state.context.prev\n }\n }\n\n CodeMirror.defineMode(\"swift\", function(config) {\n return {\n startState: function() {\n return {\n prev: null,\n context: null,\n indented: 0,\n tokenize: []\n }\n },\n\n token: function(stream, state) {\n var prev = state.prev\n state.prev = null\n var tokenize = state.tokenize[state.tokenize.length - 1] || tokenBase\n var style = tokenize(stream, state, prev)\n if (!style || style == \"comment\") state.prev = prev\n else if (!state.prev) state.prev = style\n\n if (style == \"punctuation\") {\n var bracket = /[\\(\\[\\{]|([\\]\\)\\}])/.exec(stream.current())\n if (bracket) (bracket[1] ? popContext : pushContext)(state, stream)\n }\n\n return style\n },\n\n indent: function(state, textAfter) {\n var cx = state.context\n if (!cx) return 0\n var closing = /^[\\]\\}\\)]/.test(textAfter)\n if (cx.align != null) return cx.align - (closing ? 1 : 0)\n return cx.indented + (closing ? 0 : config.indentUnit)\n },\n\n electricInput: /^\\s*[\\)\\}\\]]$/,\n\n lineComment: \"//\",\n blockCommentStart: \"/*\",\n blockCommentEnd: \"*/\",\n fold: \"brace\",\n closeBrackets: \"()[]{}''\\\"\\\"``\"\n }\n })\n\n CodeMirror.defineMIME(\"text/x-swift\",\"swift\")\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9tb2RlL3N3aWZ0L3N3aWZ0LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvZGVtaXJyb3IvbW9kZS9zd2lmdC9zd2lmdC5qcz9jMGUyIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIENvZGVNaXJyb3IsIGNvcHlyaWdodCAoYykgYnkgTWFyaWpuIEhhdmVyYmVrZSBhbmQgb3RoZXJzXG4vLyBEaXN0cmlidXRlZCB1bmRlciBhbiBNSVQgbGljZW5zZTogaHR0cHM6Ly9jb2RlbWlycm9yLm5ldC9MSUNFTlNFXG5cbi8vIFN3aWZ0IG1vZGUgY3JlYXRlZCBieSBNaWNoYWVsIEthbWluc2t5IGh0dHBzOi8vZ2l0aHViLmNvbS9ta2FtaW5za3kxMVxuXG4oZnVuY3Rpb24obW9kKSB7XG4gIGlmICh0eXBlb2YgZXhwb3J0cyA9PSBcIm9iamVjdFwiICYmIHR5cGVvZiBtb2R1bGUgPT0gXCJvYmplY3RcIilcbiAgICBtb2QocmVxdWlyZShcIi4uLy4uL2xpYi9jb2RlbWlycm9yXCIpKVxuICBlbHNlIGlmICh0eXBlb2YgZGVmaW5lID09IFwiZnVuY3Rpb25cIiAmJiBkZWZpbmUuYW1kKVxuICAgIGRlZmluZShbXCIuLi8uLi9saWIvY29kZW1pcnJvclwiXSwgbW9kKVxuICBlbHNlXG4gICAgbW9kKENvZGVNaXJyb3IpXG59KShmdW5jdGlvbihDb2RlTWlycm9yKSB7XG4gIFwidXNlIHN0cmljdFwiXG5cbiAgZnVuY3Rpb24gd29yZFNldCh3b3Jkcykge1xuICAgIHZhciBzZXQgPSB7fVxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgd29yZHMubGVuZ3RoOyBpKyspIHNldFt3b3Jkc1tpXV0gPSB0cnVlXG4gICAgcmV0dXJuIHNldFxuICB9XG5cbiAgdmFyIGtleXdvcmRzID0gd29yZFNldChbXCJfXCIsXCJ2YXJcIixcImxldFwiLFwiY2xhc3NcIixcImVudW1cIixcImV4dGVuc2lvblwiLFwiaW1wb3J0XCIsXCJwcm90b2NvbFwiLFwic3RydWN0XCIsXCJmdW5jXCIsXCJ0eXBlYWxpYXNcIixcImFzc29jaWF0ZWR0eXBlXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFwib3BlblwiLFwicHVibGljXCIsXCJpbnRlcm5hbFwiLFwiZmlsZXByaXZhdGVcIixcInByaXZhdGVcIixcImRlaW5pdFwiLFwiaW5pdFwiLFwibmV3XCIsXCJvdmVycmlkZVwiLFwic2VsZlwiLFwic3Vic2NyaXB0XCIsXCJzdXBlclwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBcImNvbnZlbmllbmNlXCIsXCJkeW5hbWljXCIsXCJmaW5hbFwiLFwiaW5kaXJlY3RcIixcImxhenlcIixcInJlcXVpcmVkXCIsXCJzdGF0aWNcIixcInVub3duZWRcIixcInVub3duZWQoc2FmZSlcIixcInVub3duZWQodW5zYWZlKVwiLFwid2Vha1wiLFwiYXNcIixcImlzXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFwiYnJlYWtcIixcImNhc2VcIixcImNvbnRpbnVlXCIsXCJkZWZhdWx0XCIsXCJlbHNlXCIsXCJmYWxsdGhyb3VnaFwiLFwiZm9yXCIsXCJndWFyZFwiLFwiaWZcIixcImluXCIsXCJyZXBlYXRcIixcInN3aXRjaFwiLFwid2hlcmVcIixcIndoaWxlXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFwiZGVmZXJcIixcInJldHVyblwiLFwiaW5vdXRcIixcIm11dGF0aW5nXCIsXCJub25tdXRhdGluZ1wiLFwiY2F0Y2hcIixcImRvXCIsXCJyZXRocm93c1wiLFwidGhyb3dcIixcInRocm93c1wiLFwidHJ5XCIsXCJkaWRTZXRcIixcImdldFwiLFwic2V0XCIsXCJ3aWxsU2V0XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFwiYXNzaWdubWVudFwiLFwiYXNzb2NpYXRpdml0eVwiLFwiaW5maXhcIixcImxlZnRcIixcIm5vbmVcIixcIm9wZXJhdG9yXCIsXCJwb3N0Zml4XCIsXCJwcmVjZWRlbmNlXCIsXCJwcmVjZWRlbmNlZ3JvdXBcIixcInByZWZpeFwiLFwicmlnaHRcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXCJBbnlcIixcIkFueU9iamVjdFwiLFwiVHlwZVwiLFwiZHluYW1pY1R5cGVcIixcIlNlbGZcIixcIlByb3RvY29sXCIsXCJfX0NPTFVNTl9fXCIsXCJfX0ZJTEVfX1wiLFwiX19GVU5DVElPTl9fXCIsXCJfX0xJTkVfX1wiXSlcbiAgdmFyIGRlZmluaW5nS2V5d29yZHMgPSB3b3JkU2V0KFtcInZhclwiLFwibGV0XCIsXCJjbGFzc1wiLFwiZW51bVwiLFwiZXh0ZW5zaW9uXCIsXCJpbXBvcnRcIixcInByb3RvY29sXCIsXCJzdHJ1Y3RcIixcImZ1bmNcIixcInR5cGVhbGlhc1wiLFwiYXNzb2NpYXRlZHR5cGVcIixcImZvclwiXSlcbiAgdmFyIGF0b21zID0gd29yZFNldChbXCJ0cnVlXCIsXCJmYWxzZVwiLFwibmlsXCIsXCJzZWxmXCIsXCJzdXBlclwiLFwiX1wiXSlcbiAgdmFyIHR5cGVzID0gd29yZFNldChbXCJBcnJheVwiLFwiQm9vbFwiLFwiQ2hhcmFjdGVyXCIsXCJEaWN0aW9uYXJ5XCIsXCJEb3VibGVcIixcIkZsb2F0XCIsXCJJbnRcIixcIkludDhcIixcIkludDE2XCIsXCJJbnQzMlwiLFwiSW50NjRcIixcIk5ldmVyXCIsXCJPcHRpb25hbFwiLFwiU2V0XCIsXCJTdHJpbmdcIixcbiAgICAgICAgICAgICAgICAgICAgICAgXCJVSW50OFwiLFwiVUludDE2XCIsXCJVSW50MzJcIixcIlVJbnQ2NFwiLFwiVm9pZFwiXSlcbiAgdmFyIG9wZXJhdG9ycyA9IFwiKy0vKiU9fCY8Pn5ePyFcIlxuICB2YXIgcHVuYyA9IFwiOjssLigpe31bXVwiXG4gIHZhciBiaW5hcnkgPSAvXlxcLT8wYlswMV1bMDFfXSovXG4gIHZhciBvY3RhbCA9IC9eXFwtPzBvWzAtN11bMC03X10qL1xuICB2YXIgaGV4YWRlY2ltYWwgPSAvXlxcLT8weFtcXGRBLUZhLWZdW1xcZEEtRmEtZl9dKig/Oig/OlxcLltcXGRBLUZhLWZdW1xcZEEtRmEtZl9dKik/W1BwXVxcLT9cXGRbXFxkX10qKT8vXG4gIHZhciBkZWNpbWFsID0gL15cXC0/XFxkW1xcZF9dKig/OlxcLlxcZFtcXGRfXSopPyg/OltFZV1cXC0/XFxkW1xcZF9dKik/L1xuICB2YXIgaWRlbnRpZmllciA9IC9eXFwkXFxkK3woYD8pW19BLVphLXpdW19BLVphLXokMC05XSpcXDEvXG4gIHZhciBwcm9wZXJ0eSA9IC9eXFwuKD86XFwkXFxkK3woYD8pW19BLVphLXpdW19BLVphLXokMC05XSpcXDEpL1xuICB2YXIgaW5zdHJ1Y3Rpb24gPSAvXlxcI1tBLVphLXpdKy9cbiAgdmFyIGF0dHJpYnV0ZSA9IC9eQCg/OlxcJFxcZCt8KGA/KVtfQS1aYS16XVtfQS1aYS16JDAtOV0qXFwxKS9cbiAgLy92YXIgcmVnZXhwID0gL15cXC8oPyFcXHMpKD86XFwvXFwvKT8oPzpcXFxcLnxbXlxcL10pK1xcLy9cblxuICBmdW5jdGlvbiB0b2tlbkJhc2Uoc3RyZWFtLCBzdGF0ZSwgcHJldikge1xuICAgIGlmIChzdHJlYW0uc29sKCkpIHN0YXRlLmluZGVudGVkID0gc3RyZWFtLmluZGVudGF0aW9uKClcbiAgICBpZiAoc3RyZWFtLmVhdFNwYWNlKCkpIHJldHVybiBudWxsXG5cbiAgICB2YXIgY2ggPSBzdHJlYW0ucGVlaygpXG4gICAgaWYgKGNoID09IFwiL1wiKSB7XG4gICAgICBpZiAoc3RyZWFtLm1hdGNoKFwiLy9cIikpIHtcbiAgICAgICAgc3RyZWFtLnNraXBUb0VuZCgpXG4gICAgICAgIHJldHVybiBcImNvbW1lbnRcIlxuICAgICAgfVxuICAgICAgaWYgKHN0cmVhbS5tYXRjaChcIi8qXCIpKSB7XG4gICAgICAgIHN0YXRlLnRva2VuaXplLnB1c2godG9rZW5Db21tZW50KVxuICAgICAgICByZXR1cm4gdG9rZW5Db21tZW50KHN0cmVhbSwgc3RhdGUpXG4gICAgICB9XG4gICAgfVxuICAgIGlmIChzdHJlYW0ubWF0Y2goaW5zdHJ1Y3Rpb24pKSByZXR1cm4gXCJidWlsdGluXCJcbiAgICBpZiAoc3RyZWFtLm1hdGNoKGF0dHJpYnV0ZSkpIHJldHVybiBcImF0dHJpYnV0ZVwiXG4gICAgaWYgKHN0cmVhbS5tYXRjaChiaW5hcnkpKSByZXR1cm4gXCJudW1iZXJcIlxuICAgIGlmIChzdHJlYW0ubWF0Y2gob2N0YWwpKSByZXR1cm4gXCJudW1iZXJcIlxuICAgIGlmIChzdHJlYW0ubWF0Y2goaGV4YWRlY2ltYWwpKSByZXR1cm4gXCJudW1iZXJcIlxuICAgIGlmIChzdHJlYW0ubWF0Y2goZGVjaW1hbCkpIHJldHVybiBcIm51bWJlclwiXG4gICAgaWYgKHN0cmVhbS5tYXRjaChwcm9wZXJ0eSkpIHJldHVybiBcInByb3BlcnR5XCJcbiAgICBpZiAob3BlcmF0b3JzLmluZGV4T2YoY2gpID4gLTEpIHtcbiAgICAgIHN0cmVhbS5uZXh0KClcbiAgICAgIHJldHVybiBcIm9wZXJhdG9yXCJcbiAgICB9XG4gICAgaWYgKHB1bmMuaW5kZXhPZihjaCkgPiAtMSkge1xuICAgICAgc3RyZWFtLm5leHQoKVxuICAgICAgc3RyZWFtLm1hdGNoKFwiLi5cIilcbiAgICAgIHJldHVybiBcInB1bmN0dWF0aW9uXCJcbiAgICB9XG4gICAgdmFyIHN0cmluZ01hdGNoXG4gICAgaWYgKHN0cmluZ01hdGNoID0gc3RyZWFtLm1hdGNoKC8oXCJcIlwifFwifCcpLykpIHtcbiAgICAgIHZhciB0b2tlbml6ZSA9IHRva2VuU3RyaW5nLmJpbmQobnVsbCwgc3RyaW5nTWF0Y2hbMF0pXG4gICAgICBzdGF0ZS50b2tlbml6ZS5wdXNoKHRva2VuaXplKVxuICAgICAgcmV0dXJuIHRva2VuaXplKHN0cmVhbSwgc3RhdGUpXG4gICAgfVxuXG4gICAgaWYgKHN0cmVhbS5tYXRjaChpZGVudGlmaWVyKSkge1xuICAgICAgdmFyIGlkZW50ID0gc3RyZWFtLmN1cnJlbnQoKVxuICAgICAgaWYgKHR5cGVzLmhhc093blByb3BlcnR5KGlkZW50KSkgcmV0dXJuIFwidmFyaWFibGUtMlwiXG4gICAgICBpZiAoYXRvbXMuaGFzT3duUHJvcGVydHkoaWRlbnQpKSByZXR1cm4gXCJhdG9tXCJcbiAgICAgIGlmIChrZXl3b3Jkcy5oYXNPd25Qcm9wZXJ0eShpZGVudCkpIHtcbiAgICAgICAgaWYgKGRlZmluaW5nS2V5d29yZHMuaGFzT3duUHJvcGVydHkoaWRlbnQpKVxuICAgICAgICAgIHN0YXRlLnByZXYgPSBcImRlZmluZVwiXG4gICAgICAgIHJldHVybiBcImtleXdvcmRcIlxuICAgICAgfVxuICAgICAgaWYgKHByZXYgPT0gXCJkZWZpbmVcIikgcmV0dXJuIFwiZGVmXCJcbiAgICAgIHJldHVybiBcInZhcmlhYmxlXCJcbiAgICB9XG5cbiAgICBzdHJlYW0ubmV4dCgpXG4gICAgcmV0dXJuIG51bGxcbiAgfVxuXG4gIGZ1bmN0aW9uIHRva2VuVW50aWxDbG9zaW5nUGFyZW4oKSB7XG4gICAgdmFyIGRlcHRoID0gMFxuICAgIHJldHVybiBmdW5jdGlvbihzdHJlYW0sIHN0YXRlLCBwcmV2KSB7XG4gICAgICB2YXIgaW5uZXIgPSB0b2tlbkJhc2Uoc3RyZWFtLCBzdGF0ZSwgcHJldilcbiAgICAgIGlmIChpbm5lciA9PSBcInB1bmN0dWF0aW9uXCIpIHtcbiAgICAgICAgaWYgKHN0cmVhbS5jdXJyZW50KCkgPT0gXCIoXCIpICsrZGVwdGhcbiAgICAgICAgZWxzZSBpZiAoc3RyZWFtLmN1cnJlbnQoKSA9PSBcIilcIikge1xuICAgICAgICAgIGlmIChkZXB0aCA9PSAwKSB7XG4gICAgICAgICAgICBzdHJlYW0uYmFja1VwKDEpXG4gICAgICAgICAgICBzdGF0ZS50b2tlbml6ZS5wb3AoKVxuICAgICAgICAgICAgcmV0dXJuIHN0YXRlLnRva2VuaXplW3N0YXRlLnRva2VuaXplLmxlbmd0aCAtIDFdKHN0cmVhbSwgc3RhdGUpXG4gICAgICAgICAgfVxuICAgICAgICAgIGVsc2UgLS1kZXB0aFxuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gaW5uZXJcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiB0b2tlblN0cmluZyhvcGVuUXVvdGUsIHN0cmVhbSwgc3RhdGUpIHtcbiAgICB2YXIgc2luZ2xlTGluZSA9IG9wZW5RdW90ZS5sZW5ndGggPT0gMVxuICAgIHZhciBjaCwgZXNjYXBlZCA9IGZhbHNlXG4gICAgd2hpbGUgKGNoID0gc3RyZWFtLnBlZWsoKSkge1xuICAgICAgaWYgKGVzY2FwZWQpIHtcbiAgICAgICAgc3RyZWFtLm5leHQoKVxuICAgICAgICBpZiAoY2ggPT0gXCIoXCIpIHtcbiAgICAgICAgICBzdGF0ZS50b2tlbml6ZS5wdXNoKHRva2VuVW50aWxDbG9zaW5nUGFyZW4oKSlcbiAgICAgICAgICByZXR1cm4gXCJzdHJpbmdcIlxuICAgICAgICB9XG4gICAgICAgIGVzY2FwZWQgPSBmYWxzZVxuICAgICAgfSBlbHNlIGlmIChzdHJlYW0ubWF0Y2gob3BlblF1b3RlKSkge1xuICAgICAgICBzdGF0ZS50b2tlbml6ZS5wb3AoKVxuICAgICAgICByZXR1cm4gXCJzdHJpbmdcIlxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc3RyZWFtLm5leHQoKVxuICAgICAgICBlc2NhcGVkID0gY2ggPT0gXCJcXFxcXCJcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHNpbmdsZUxpbmUpIHtcbiAgICAgIHN0YXRlLnRva2VuaXplLnBvcCgpXG4gICAgfVxuICAgIHJldHVybiBcInN0cmluZ1wiXG4gIH1cblxuICBmdW5jdGlvbiB0b2tlbkNvbW1lbnQoc3RyZWFtLCBzdGF0ZSkge1xuICAgIHZhciBjaFxuICAgIHdoaWxlICh0cnVlKSB7XG4gICAgICBzdHJlYW0ubWF0Y2goL15bXi8qXSsvLCB0cnVlKVxuICAgICAgY2ggPSBzdHJlYW0ubmV4dCgpXG4gICAgICBpZiAoIWNoKSBicmVha1xuICAgICAgaWYgKGNoID09PSBcIi9cIiAmJiBzdHJlYW0uZWF0KFwiKlwiKSkge1xuICAgICAgICBzdGF0ZS50b2tlbml6ZS5wdXNoKHRva2VuQ29tbWVudClcbiAgICAgIH0gZWxzZSBpZiAoY2ggPT09IFwiKlwiICYmIHN0cmVhbS5lYXQoXCIvXCIpKSB7XG4gICAgICAgIHN0YXRlLnRva2VuaXplLnBvcCgpXG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBcImNvbW1lbnRcIlxuICB9XG5cbiAgZnVuY3Rpb24gQ29udGV4dChwcmV2LCBhbGlnbiwgaW5kZW50ZWQpIHtcbiAgICB0aGlzLnByZXYgPSBwcmV2XG4gICAgdGhpcy5hbGlnbiA9IGFsaWduXG4gICAgdGhpcy5pbmRlbnRlZCA9IGluZGVudGVkXG4gIH1cblxuICBmdW5jdGlvbiBwdXNoQ29udGV4dChzdGF0ZSwgc3RyZWFtKSB7XG4gICAgdmFyIGFsaWduID0gc3RyZWFtLm1hdGNoKC9eXFxzKigkfFxcL1tcXC9cXCpdKS8sIGZhbHNlKSA/IG51bGwgOiBzdHJlYW0uY29sdW1uKCkgKyAxXG4gICAgc3RhdGUuY29udGV4dCA9IG5ldyBDb250ZXh0KHN0YXRlLmNvbnRleHQsIGFsaWduLCBzdGF0ZS5pbmRlbnRlZClcbiAgfVxuXG4gIGZ1bmN0aW9uIHBvcENvbnRleHQoc3RhdGUpIHtcbiAgICBpZiAoc3RhdGUuY29udGV4dCkge1xuICAgICAgc3RhdGUuaW5kZW50ZWQgPSBzdGF0ZS5jb250ZXh0LmluZGVudGVkXG4gICAgICBzdGF0ZS5jb250ZXh0ID0gc3RhdGUuY29udGV4dC5wcmV2XG4gICAgfVxuICB9XG5cbiAgQ29kZU1pcnJvci5kZWZpbmVNb2RlKFwic3dpZnRcIiwgZnVuY3Rpb24oY29uZmlnKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHN0YXJ0U3RhdGU6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHByZXY6IG51bGwsXG4gICAgICAgICAgY29udGV4dDogbnVsbCxcbiAgICAgICAgICBpbmRlbnRlZDogMCxcbiAgICAgICAgICB0b2tlbml6ZTogW11cbiAgICAgICAgfVxuICAgICAgfSxcblxuICAgICAgdG9rZW46IGZ1bmN0aW9uKHN0cmVhbSwgc3RhdGUpIHtcbiAgICAgICAgdmFyIHByZXYgPSBzdGF0ZS5wcmV2XG4gICAgICAgIHN0YXRlLnByZXYgPSBudWxsXG4gICAgICAgIHZhciB0b2tlbml6ZSA9IHN0YXRlLnRva2VuaXplW3N0YXRlLnRva2VuaXplLmxlbmd0aCAtIDFdIHx8IHRva2VuQmFzZVxuICAgICAgICB2YXIgc3R5bGUgPSB0b2tlbml6ZShzdHJlYW0sIHN0YXRlLCBwcmV2KVxuICAgICAgICBpZiAoIXN0eWxlIHx8IHN0eWxlID09IFwiY29tbWVudFwiKSBzdGF0ZS5wcmV2ID0gcHJldlxuICAgICAgICBlbHNlIGlmICghc3RhdGUucHJldikgc3RhdGUucHJldiA9IHN0eWxlXG5cbiAgICAgICAgaWYgKHN0eWxlID09IFwicHVuY3R1YXRpb25cIikge1xuICAgICAgICAgIHZhciBicmFja2V0ID0gL1tcXChcXFtcXHtdfChbXFxdXFwpXFx9XSkvLmV4ZWMoc3RyZWFtLmN1cnJlbnQoKSlcbiAgICAgICAgICBpZiAoYnJhY2tldCkgKGJyYWNrZXRbMV0gPyBwb3BDb250ZXh0IDogcHVzaENvbnRleHQpKHN0YXRlLCBzdHJlYW0pXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gc3R5bGVcbiAgICAgIH0sXG5cbiAgICAgIGluZGVudDogZnVuY3Rpb24oc3RhdGUsIHRleHRBZnRlcikge1xuICAgICAgICB2YXIgY3ggPSBzdGF0ZS5jb250ZXh0XG4gICAgICAgIGlmICghY3gpIHJldHVybiAwXG4gICAgICAgIHZhciBjbG9zaW5nID0gL15bXFxdXFx9XFwpXS8udGVzdCh0ZXh0QWZ0ZXIpXG4gICAgICAgIGlmIChjeC5hbGlnbiAhPSBudWxsKSByZXR1cm4gY3guYWxpZ24gLSAoY2xvc2luZyA/IDEgOiAwKVxuICAgICAgICByZXR1cm4gY3guaW5kZW50ZWQgKyAoY2xvc2luZyA/IDAgOiBjb25maWcuaW5kZW50VW5pdClcbiAgICAgIH0sXG5cbiAgICAgIGVsZWN0cmljSW5wdXQ6IC9eXFxzKltcXClcXH1cXF1dJC8sXG5cbiAgICAgIGxpbmVDb21tZW50OiBcIi8vXCIsXG4gICAgICBibG9ja0NvbW1lbnRTdGFydDogXCIvKlwiLFxuICAgICAgYmxvY2tDb21tZW50RW5kOiBcIiovXCIsXG4gICAgICBmb2xkOiBcImJyYWNlXCIsXG4gICAgICBjbG9zZUJyYWNrZXRzOiBcIigpW117fScnXFxcIlxcXCJgYFwiXG4gICAgfVxuICB9KVxuXG4gIENvZGVNaXJyb3IuZGVmaW5lTUlNRShcInRleHQveC1zd2lmdFwiLFwic3dpZnRcIilcbn0pO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/codemirror/mode/swift/swift.js\n"); /***/ }), /***/ "./node_modules/codemirror/mode/toml/toml.js": /*!***************************************************!*\ !*** ./node_modules/codemirror/mode/toml/toml.js ***! \***************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ \"./node_modules/codemirror/lib/codemirror.js\"));\n else {}\n})(function(CodeMirror) {\n\"use strict\";\n\nCodeMirror.defineMode(\"toml\", function () {\n return {\n startState: function () {\n return {\n inString: false,\n stringType: \"\",\n lhs: true,\n inArray: 0\n };\n },\n token: function (stream, state) {\n //check for state changes\n if (!state.inString && ((stream.peek() == '\"') || (stream.peek() == \"'\"))) {\n state.stringType = stream.peek();\n stream.next(); // Skip quote\n state.inString = true; // Update state\n }\n if (stream.sol() && state.inArray === 0) {\n state.lhs = true;\n }\n //return state\n if (state.inString) {\n while (state.inString && !stream.eol()) {\n if (stream.peek() === state.stringType) {\n stream.next(); // Skip quote\n state.inString = false; // Clear flag\n } else if (stream.peek() === '\\\\') {\n stream.next();\n stream.next();\n } else {\n stream.match(/^.[^\\\\\\\"\\']*/);\n }\n }\n return state.lhs ? \"property string\" : \"string\"; // Token style\n } else if (state.inArray && stream.peek() === ']') {\n stream.next();\n state.inArray--;\n return 'bracket';\n } else if (state.lhs && stream.peek() === '[' && stream.skipTo(']')) {\n stream.next();//skip closing ]\n // array of objects has an extra open & close []\n if (stream.peek() === ']') stream.next();\n return \"atom\";\n } else if (stream.peek() === \"#\") {\n stream.skipToEnd();\n return \"comment\";\n } else if (stream.eatSpace()) {\n return null;\n } else if (state.lhs && stream.eatWhile(function (c) { return c != '=' && c != ' '; })) {\n return \"property\";\n } else if (state.lhs && stream.peek() === \"=\") {\n stream.next();\n state.lhs = false;\n return null;\n } else if (!state.lhs && stream.match(/^\\d\\d\\d\\d[\\d\\-\\:\\.T]*Z/)) {\n return 'atom'; //date\n } else if (!state.lhs && (stream.match('true') || stream.match('false'))) {\n return 'atom';\n } else if (!state.lhs && stream.peek() === '[') {\n state.inArray++;\n stream.next();\n return 'bracket';\n } else if (!state.lhs && stream.match(/^\\-?\\d+(?:\\.\\d+)?/)) {\n return 'number';\n } else if (!stream.eatSpace()) {\n stream.next();\n }\n return null;\n }\n };\n});\n\nCodeMirror.defineMIME('text/x-toml', 'toml');\n\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9tb2RlL3RvbWwvdG9tbC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb2RlbWlycm9yL21vZGUvdG9tbC90b21sLmpzP2QyY2EiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29kZU1pcnJvciwgY29weXJpZ2h0IChjKSBieSBNYXJpam4gSGF2ZXJiZWtlIGFuZCBvdGhlcnNcbi8vIERpc3RyaWJ1dGVkIHVuZGVyIGFuIE1JVCBsaWNlbnNlOiBodHRwczovL2NvZGVtaXJyb3IubmV0L0xJQ0VOU0VcblxuKGZ1bmN0aW9uKG1vZCkge1xuICBpZiAodHlwZW9mIGV4cG9ydHMgPT0gXCJvYmplY3RcIiAmJiB0eXBlb2YgbW9kdWxlID09IFwib2JqZWN0XCIpIC8vIENvbW1vbkpTXG4gICAgbW9kKHJlcXVpcmUoXCIuLi8uLi9saWIvY29kZW1pcnJvclwiKSk7XG4gIGVsc2UgaWYgKHR5cGVvZiBkZWZpbmUgPT0gXCJmdW5jdGlvblwiICYmIGRlZmluZS5hbWQpIC8vIEFNRFxuICAgIGRlZmluZShbXCIuLi8uLi9saWIvY29kZW1pcnJvclwiXSwgbW9kKTtcbiAgZWxzZSAvLyBQbGFpbiBicm93c2VyIGVudlxuICAgIG1vZChDb2RlTWlycm9yKTtcbn0pKGZ1bmN0aW9uKENvZGVNaXJyb3IpIHtcblwidXNlIHN0cmljdFwiO1xuXG5Db2RlTWlycm9yLmRlZmluZU1vZGUoXCJ0b21sXCIsIGZ1bmN0aW9uICgpIHtcbiAgcmV0dXJuIHtcbiAgICBzdGFydFN0YXRlOiBmdW5jdGlvbiAoKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpblN0cmluZzogZmFsc2UsXG4gICAgICAgIHN0cmluZ1R5cGU6IFwiXCIsXG4gICAgICAgIGxoczogdHJ1ZSxcbiAgICAgICAgaW5BcnJheTogMFxuICAgICAgfTtcbiAgICB9LFxuICAgIHRva2VuOiBmdW5jdGlvbiAoc3RyZWFtLCBzdGF0ZSkge1xuICAgICAgLy9jaGVjayBmb3Igc3RhdGUgY2hhbmdlc1xuICAgICAgaWYgKCFzdGF0ZS5pblN0cmluZyAmJiAoKHN0cmVhbS5wZWVrKCkgPT0gJ1wiJykgfHwgKHN0cmVhbS5wZWVrKCkgPT0gXCInXCIpKSkge1xuICAgICAgICBzdGF0ZS5zdHJpbmdUeXBlID0gc3RyZWFtLnBlZWsoKTtcbiAgICAgICAgc3RyZWFtLm5leHQoKTsgLy8gU2tpcCBxdW90ZVxuICAgICAgICBzdGF0ZS5pblN0cmluZyA9IHRydWU7IC8vIFVwZGF0ZSBzdGF0ZVxuICAgICAgfVxuICAgICAgaWYgKHN0cmVhbS5zb2woKSAmJiBzdGF0ZS5pbkFycmF5ID09PSAwKSB7XG4gICAgICAgIHN0YXRlLmxocyA9IHRydWU7XG4gICAgICB9XG4gICAgICAvL3JldHVybiBzdGF0ZVxuICAgICAgaWYgKHN0YXRlLmluU3RyaW5nKSB7XG4gICAgICAgIHdoaWxlIChzdGF0ZS5pblN0cmluZyAmJiAhc3RyZWFtLmVvbCgpKSB7XG4gICAgICAgICAgaWYgKHN0cmVhbS5wZWVrKCkgPT09IHN0YXRlLnN0cmluZ1R5cGUpIHtcbiAgICAgICAgICAgIHN0cmVhbS5uZXh0KCk7IC8vIFNraXAgcXVvdGVcbiAgICAgICAgICAgIHN0YXRlLmluU3RyaW5nID0gZmFsc2U7IC8vIENsZWFyIGZsYWdcbiAgICAgICAgICB9IGVsc2UgaWYgKHN0cmVhbS5wZWVrKCkgPT09ICdcXFxcJykge1xuICAgICAgICAgICAgc3RyZWFtLm5leHQoKTtcbiAgICAgICAgICAgIHN0cmVhbS5uZXh0KCk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHN0cmVhbS5tYXRjaCgvXi5bXlxcXFxcXFwiXFwnXSovKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHN0YXRlLmxocyA/IFwicHJvcGVydHkgc3RyaW5nXCIgOiBcInN0cmluZ1wiOyAvLyBUb2tlbiBzdHlsZVxuICAgICAgfSBlbHNlIGlmIChzdGF0ZS5pbkFycmF5ICYmIHN0cmVhbS5wZWVrKCkgPT09ICddJykge1xuICAgICAgICBzdHJlYW0ubmV4dCgpO1xuICAgICAgICBzdGF0ZS5pbkFycmF5LS07XG4gICAgICAgIHJldHVybiAnYnJhY2tldCc7XG4gICAgICB9IGVsc2UgaWYgKHN0YXRlLmxocyAmJiBzdHJlYW0ucGVlaygpID09PSAnWycgJiYgc3RyZWFtLnNraXBUbygnXScpKSB7XG4gICAgICAgIHN0cmVhbS5uZXh0KCk7Ly9za2lwIGNsb3NpbmcgXVxuICAgICAgICAvLyBhcnJheSBvZiBvYmplY3RzIGhhcyBhbiBleHRyYSBvcGVuICYgY2xvc2UgW11cbiAgICAgICAgaWYgKHN0cmVhbS5wZWVrKCkgPT09ICddJykgc3RyZWFtLm5leHQoKTtcbiAgICAgICAgcmV0dXJuIFwiYXRvbVwiO1xuICAgICAgfSBlbHNlIGlmIChzdHJlYW0ucGVlaygpID09PSBcIiNcIikge1xuICAgICAgICBzdHJlYW0uc2tpcFRvRW5kKCk7XG4gICAgICAgIHJldHVybiBcImNvbW1lbnRcIjtcbiAgICAgIH0gZWxzZSBpZiAoc3RyZWFtLmVhdFNwYWNlKCkpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9IGVsc2UgaWYgKHN0YXRlLmxocyAmJiBzdHJlYW0uZWF0V2hpbGUoZnVuY3Rpb24gKGMpIHsgcmV0dXJuIGMgIT0gJz0nICYmIGMgIT0gJyAnOyB9KSkge1xuICAgICAgICByZXR1cm4gXCJwcm9wZXJ0eVwiO1xuICAgICAgfSBlbHNlIGlmIChzdGF0ZS5saHMgJiYgc3RyZWFtLnBlZWsoKSA9PT0gXCI9XCIpIHtcbiAgICAgICAgc3RyZWFtLm5leHQoKTtcbiAgICAgICAgc3RhdGUubGhzID0gZmFsc2U7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfSBlbHNlIGlmICghc3RhdGUubGhzICYmIHN0cmVhbS5tYXRjaCgvXlxcZFxcZFxcZFxcZFtcXGRcXC1cXDpcXC5UXSpaLykpIHtcbiAgICAgICAgcmV0dXJuICdhdG9tJzsgLy9kYXRlXG4gICAgICB9IGVsc2UgaWYgKCFzdGF0ZS5saHMgJiYgKHN0cmVhbS5tYXRjaCgndHJ1ZScpIHx8IHN0cmVhbS5tYXRjaCgnZmFsc2UnKSkpIHtcbiAgICAgICAgcmV0dXJuICdhdG9tJztcbiAgICAgIH0gZWxzZSBpZiAoIXN0YXRlLmxocyAmJiBzdHJlYW0ucGVlaygpID09PSAnWycpIHtcbiAgICAgICAgc3RhdGUuaW5BcnJheSsrO1xuICAgICAgICBzdHJlYW0ubmV4dCgpO1xuICAgICAgICByZXR1cm4gJ2JyYWNrZXQnO1xuICAgICAgfSBlbHNlIGlmICghc3RhdGUubGhzICYmIHN0cmVhbS5tYXRjaCgvXlxcLT9cXGQrKD86XFwuXFxkKyk/LykpIHtcbiAgICAgICAgcmV0dXJuICdudW1iZXInO1xuICAgICAgfSBlbHNlIGlmICghc3RyZWFtLmVhdFNwYWNlKCkpIHtcbiAgICAgICAgc3RyZWFtLm5leHQoKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfTtcbn0pO1xuXG5Db2RlTWlycm9yLmRlZmluZU1JTUUoJ3RleHQveC10b21sJywgJ3RvbWwnKTtcblxufSk7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/codemirror/mode/toml/toml.js\n"); /***/ }), /***/ "./node_modules/codemirror/mode/vb/vb.js": /*!***********************************************!*\ !*** ./node_modules/codemirror/mode/vb/vb.js ***! \***********************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ \"./node_modules/codemirror/lib/codemirror.js\"));\n else {}\n})(function(CodeMirror) {\n\"use strict\";\n\nCodeMirror.defineMode(\"vb\", function(conf, parserConf) {\n var ERRORCLASS = 'error';\n\n function wordRegexp(words) {\n return new RegExp(\"^((\" + words.join(\")|(\") + \"))\\\\b\", \"i\");\n }\n\n var singleOperators = new RegExp(\"^[\\\\+\\\\-\\\\*/%&\\\\\\\\|\\\\^~<>!]\");\n var singleDelimiters = new RegExp('^[\\\\(\\\\)\\\\[\\\\]\\\\{\\\\}@,:`=;\\\\.]');\n var doubleOperators = new RegExp(\"^((==)|(<>)|(<=)|(>=)|(<>)|(<<)|(>>)|(//)|(\\\\*\\\\*))\");\n var doubleDelimiters = new RegExp(\"^((\\\\+=)|(\\\\-=)|(\\\\*=)|(%=)|(/=)|(&=)|(\\\\|=)|(\\\\^=))\");\n var tripleDelimiters = new RegExp(\"^((//=)|(>>=)|(<<=)|(\\\\*\\\\*=))\");\n var identifiers = new RegExp(\"^[_A-Za-z][_A-Za-z0-9]*\");\n\n var openingKeywords = ['class','module', 'sub','enum','select','while','if','function', 'get','set','property', 'try', 'structure', 'synclock', 'using', 'with'];\n var middleKeywords = ['else','elseif','case', 'catch', 'finally'];\n var endKeywords = ['next','loop'];\n\n var operatorKeywords = ['and', \"andalso\", 'or', 'orelse', 'xor', 'in', 'not', 'is', 'isnot', 'like'];\n var wordOperators = wordRegexp(operatorKeywords);\n\n var commonKeywords = [\"#const\", \"#else\", \"#elseif\", \"#end\", \"#if\", \"#region\", \"addhandler\", \"addressof\", \"alias\", \"as\", \"byref\", \"byval\", \"cbool\", \"cbyte\", \"cchar\", \"cdate\", \"cdbl\", \"cdec\", \"cint\", \"clng\", \"cobj\", \"compare\", \"const\", \"continue\", \"csbyte\", \"cshort\", \"csng\", \"cstr\", \"cuint\", \"culng\", \"cushort\", \"declare\", \"default\", \"delegate\", \"dim\", \"directcast\", \"each\", \"erase\", \"error\", \"event\", \"exit\", \"explicit\", \"false\", \"for\", \"friend\", \"gettype\", \"goto\", \"handles\", \"implements\", \"imports\", \"infer\", \"inherits\", \"interface\", \"isfalse\", \"istrue\", \"lib\", \"me\", \"mod\", \"mustinherit\", \"mustoverride\", \"my\", \"mybase\", \"myclass\", \"namespace\", \"narrowing\", \"new\", \"nothing\", \"notinheritable\", \"notoverridable\", \"of\", \"off\", \"on\", \"operator\", \"option\", \"optional\", \"out\", \"overloads\", \"overridable\", \"overrides\", \"paramarray\", \"partial\", \"private\", \"protected\", \"public\", \"raiseevent\", \"readonly\", \"redim\", \"removehandler\", \"resume\", \"return\", \"shadows\", \"shared\", \"static\", \"step\", \"stop\", \"strict\", \"then\", \"throw\", \"to\", \"true\", \"trycast\", \"typeof\", \"until\", \"until\", \"when\", \"widening\", \"withevents\", \"writeonly\"];\n\n var commontypes = ['object', 'boolean', 'char', 'string', 'byte', 'sbyte', 'short', 'ushort', 'int16', 'uint16', 'integer', 'uinteger', 'int32', 'uint32', 'long', 'ulong', 'int64', 'uint64', 'decimal', 'single', 'double', 'float', 'date', 'datetime', 'intptr', 'uintptr'];\n\n var keywords = wordRegexp(commonKeywords);\n var types = wordRegexp(commontypes);\n var stringPrefixes = '\"';\n\n var opening = wordRegexp(openingKeywords);\n var middle = wordRegexp(middleKeywords);\n var closing = wordRegexp(endKeywords);\n var doubleClosing = wordRegexp(['end']);\n var doOpening = wordRegexp(['do']);\n\n var indentInfo = null;\n\n CodeMirror.registerHelper(\"hintWords\", \"vb\", openingKeywords.concat(middleKeywords).concat(endKeywords)\n .concat(operatorKeywords).concat(commonKeywords).concat(commontypes));\n\n function indent(_stream, state) {\n state.currentIndent++;\n }\n\n function dedent(_stream, state) {\n state.currentIndent--;\n }\n // tokenizers\n function tokenBase(stream, state) {\n if (stream.eatSpace()) {\n return null;\n }\n\n var ch = stream.peek();\n\n // Handle Comments\n if (ch === \"'\") {\n stream.skipToEnd();\n return 'comment';\n }\n\n\n // Handle Number Literals\n if (stream.match(/^((&H)|(&O))?[0-9\\.a-f]/i, false)) {\n var floatLiteral = false;\n // Floats\n if (stream.match(/^\\d*\\.\\d+F?/i)) { floatLiteral = true; }\n else if (stream.match(/^\\d+\\.\\d*F?/)) { floatLiteral = true; }\n else if (stream.match(/^\\.\\d+F?/)) { floatLiteral = true; }\n\n if (floatLiteral) {\n // Float literals may be \"imaginary\"\n stream.eat(/J/i);\n return 'number';\n }\n // Integers\n var intLiteral = false;\n // Hex\n if (stream.match(/^&H[0-9a-f]+/i)) { intLiteral = true; }\n // Octal\n else if (stream.match(/^&O[0-7]+/i)) { intLiteral = true; }\n // Decimal\n else if (stream.match(/^[1-9]\\d*F?/)) {\n // Decimal literals may be \"imaginary\"\n stream.eat(/J/i);\n // TODO - Can you have imaginary longs?\n intLiteral = true;\n }\n // Zero by itself with no other piece of number.\n else if (stream.match(/^0(?![\\dx])/i)) { intLiteral = true; }\n if (intLiteral) {\n // Integer literals may be \"long\"\n stream.eat(/L/i);\n return 'number';\n }\n }\n\n // Handle Strings\n if (stream.match(stringPrefixes)) {\n state.tokenize = tokenStringFactory(stream.current());\n return state.tokenize(stream, state);\n }\n\n // Handle operators and Delimiters\n if (stream.match(tripleDelimiters) || stream.match(doubleDelimiters)) {\n return null;\n }\n if (stream.match(doubleOperators)\n || stream.match(singleOperators)\n || stream.match(wordOperators)) {\n return 'operator';\n }\n if (stream.match(singleDelimiters)) {\n return null;\n }\n if (stream.match(doOpening)) {\n indent(stream,state);\n state.doInCurrentLine = true;\n return 'keyword';\n }\n if (stream.match(opening)) {\n if (! state.doInCurrentLine)\n indent(stream,state);\n else\n state.doInCurrentLine = false;\n return 'keyword';\n }\n if (stream.match(middle)) {\n return 'keyword';\n }\n\n if (stream.match(doubleClosing)) {\n dedent(stream,state);\n dedent(stream,state);\n return 'keyword';\n }\n if (stream.match(closing)) {\n dedent(stream,state);\n return 'keyword';\n }\n\n if (stream.match(types)) {\n return 'keyword';\n }\n\n if (stream.match(keywords)) {\n return 'keyword';\n }\n\n if (stream.match(identifiers)) {\n return 'variable';\n }\n\n // Handle non-detected items\n stream.next();\n return ERRORCLASS;\n }\n\n function tokenStringFactory(delimiter) {\n var singleline = delimiter.length == 1;\n var OUTCLASS = 'string';\n\n return function(stream, state) {\n while (!stream.eol()) {\n stream.eatWhile(/[^'\"]/);\n if (stream.match(delimiter)) {\n state.tokenize = tokenBase;\n return OUTCLASS;\n } else {\n stream.eat(/['\"]/);\n }\n }\n if (singleline) {\n if (parserConf.singleLineStringErrors) {\n return ERRORCLASS;\n } else {\n state.tokenize = tokenBase;\n }\n }\n return OUTCLASS;\n };\n }\n\n\n function tokenLexer(stream, state) {\n var style = state.tokenize(stream, state);\n var current = stream.current();\n\n // Handle '.' connected identifiers\n if (current === '.') {\n style = state.tokenize(stream, state);\n if (style === 'variable') {\n return 'variable';\n } else {\n return ERRORCLASS;\n }\n }\n\n\n var delimiter_index = '[({'.indexOf(current);\n if (delimiter_index !== -1) {\n indent(stream, state );\n }\n if (indentInfo === 'dedent') {\n if (dedent(stream, state)) {\n return ERRORCLASS;\n }\n }\n delimiter_index = '])}'.indexOf(current);\n if (delimiter_index !== -1) {\n if (dedent(stream, state)) {\n return ERRORCLASS;\n }\n }\n\n return style;\n }\n\n var external = {\n electricChars:\"dDpPtTfFeE \",\n startState: function() {\n return {\n tokenize: tokenBase,\n lastToken: null,\n currentIndent: 0,\n nextLineIndent: 0,\n doInCurrentLine: false\n\n\n };\n },\n\n token: function(stream, state) {\n if (stream.sol()) {\n state.currentIndent += state.nextLineIndent;\n state.nextLineIndent = 0;\n state.doInCurrentLine = 0;\n }\n var style = tokenLexer(stream, state);\n\n state.lastToken = {style:style, content: stream.current()};\n\n\n\n return style;\n },\n\n indent: function(state, textAfter) {\n var trueText = textAfter.replace(/^\\s+|\\s+$/g, '') ;\n if (trueText.match(closing) || trueText.match(doubleClosing) || trueText.match(middle)) return conf.indentUnit*(state.currentIndent-1);\n if(state.currentIndent < 0) return 0;\n return state.currentIndent * conf.indentUnit;\n },\n\n lineComment: \"'\"\n };\n return external;\n});\n\nCodeMirror.defineMIME(\"text/x-vb\", \"vb\");\n\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9tb2RlL3ZiL3ZiLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvZGVtaXJyb3IvbW9kZS92Yi92Yi5qcz8yYWJlIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIENvZGVNaXJyb3IsIGNvcHlyaWdodCAoYykgYnkgTWFyaWpuIEhhdmVyYmVrZSBhbmQgb3RoZXJzXG4vLyBEaXN0cmlidXRlZCB1bmRlciBhbiBNSVQgbGljZW5zZTogaHR0cHM6Ly9jb2RlbWlycm9yLm5ldC9MSUNFTlNFXG5cbihmdW5jdGlvbihtb2QpIHtcbiAgaWYgKHR5cGVvZiBleHBvcnRzID09IFwib2JqZWN0XCIgJiYgdHlwZW9mIG1vZHVsZSA9PSBcIm9iamVjdFwiKSAvLyBDb21tb25KU1xuICAgIG1vZChyZXF1aXJlKFwiLi4vLi4vbGliL2NvZGVtaXJyb3JcIikpO1xuICBlbHNlIGlmICh0eXBlb2YgZGVmaW5lID09IFwiZnVuY3Rpb25cIiAmJiBkZWZpbmUuYW1kKSAvLyBBTURcbiAgICBkZWZpbmUoW1wiLi4vLi4vbGliL2NvZGVtaXJyb3JcIl0sIG1vZCk7XG4gIGVsc2UgLy8gUGxhaW4gYnJvd3NlciBlbnZcbiAgICBtb2QoQ29kZU1pcnJvcik7XG59KShmdW5jdGlvbihDb2RlTWlycm9yKSB7XG5cInVzZSBzdHJpY3RcIjtcblxuQ29kZU1pcnJvci5kZWZpbmVNb2RlKFwidmJcIiwgZnVuY3Rpb24oY29uZiwgcGFyc2VyQ29uZikge1xuICAgIHZhciBFUlJPUkNMQVNTID0gJ2Vycm9yJztcblxuICAgIGZ1bmN0aW9uIHdvcmRSZWdleHAod29yZHMpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBSZWdFeHAoXCJeKChcIiArIHdvcmRzLmpvaW4oXCIpfChcIikgKyBcIikpXFxcXGJcIiwgXCJpXCIpO1xuICAgIH1cblxuICAgIHZhciBzaW5nbGVPcGVyYXRvcnMgPSBuZXcgUmVnRXhwKFwiXltcXFxcK1xcXFwtXFxcXCovJSZcXFxcXFxcXHxcXFxcXn48PiFdXCIpO1xuICAgIHZhciBzaW5nbGVEZWxpbWl0ZXJzID0gbmV3IFJlZ0V4cCgnXltcXFxcKFxcXFwpXFxcXFtcXFxcXVxcXFx7XFxcXH1ALDpgPTtcXFxcLl0nKTtcbiAgICB2YXIgZG91YmxlT3BlcmF0b3JzID0gbmV3IFJlZ0V4cChcIl4oKD09KXwoPD4pfCg8PSl8KD49KXwoPD4pfCg8PCl8KD4+KXwoLy8pfChcXFxcKlxcXFwqKSlcIik7XG4gICAgdmFyIGRvdWJsZURlbGltaXRlcnMgPSBuZXcgUmVnRXhwKFwiXigoXFxcXCs9KXwoXFxcXC09KXwoXFxcXCo9KXwoJT0pfCgvPSl8KCY9KXwoXFxcXHw9KXwoXFxcXF49KSlcIik7XG4gICAgdmFyIHRyaXBsZURlbGltaXRlcnMgPSBuZXcgUmVnRXhwKFwiXigoLy89KXwoPj49KXwoPDw9KXwoXFxcXCpcXFxcKj0pKVwiKTtcbiAgICB2YXIgaWRlbnRpZmllcnMgPSBuZXcgUmVnRXhwKFwiXltfQS1aYS16XVtfQS1aYS16MC05XSpcIik7XG5cbiAgICB2YXIgb3BlbmluZ0tleXdvcmRzID0gWydjbGFzcycsJ21vZHVsZScsICdzdWInLCdlbnVtJywnc2VsZWN0Jywnd2hpbGUnLCdpZicsJ2Z1bmN0aW9uJywgJ2dldCcsJ3NldCcsJ3Byb3BlcnR5JywgJ3RyeScsICdzdHJ1Y3R1cmUnLCAnc3luY2xvY2snLCAndXNpbmcnLCAnd2l0aCddO1xuICAgIHZhciBtaWRkbGVLZXl3b3JkcyA9IFsnZWxzZScsJ2Vsc2VpZicsJ2Nhc2UnLCAnY2F0Y2gnLCAnZmluYWxseSddO1xuICAgIHZhciBlbmRLZXl3b3JkcyA9IFsnbmV4dCcsJ2xvb3AnXTtcblxuICAgIHZhciBvcGVyYXRvcktleXdvcmRzID0gWydhbmQnLCBcImFuZGFsc29cIiwgJ29yJywgJ29yZWxzZScsICd4b3InLCAnaW4nLCAnbm90JywgJ2lzJywgJ2lzbm90JywgJ2xpa2UnXTtcbiAgICB2YXIgd29yZE9wZXJhdG9ycyA9IHdvcmRSZWdleHAob3BlcmF0b3JLZXl3b3Jkcyk7XG5cbiAgICB2YXIgY29tbW9uS2V5d29yZHMgPSBbXCIjY29uc3RcIiwgXCIjZWxzZVwiLCBcIiNlbHNlaWZcIiwgXCIjZW5kXCIsIFwiI2lmXCIsIFwiI3JlZ2lvblwiLCBcImFkZGhhbmRsZXJcIiwgXCJhZGRyZXNzb2ZcIiwgXCJhbGlhc1wiLCBcImFzXCIsIFwiYnlyZWZcIiwgXCJieXZhbFwiLCBcImNib29sXCIsIFwiY2J5dGVcIiwgXCJjY2hhclwiLCBcImNkYXRlXCIsIFwiY2RibFwiLCBcImNkZWNcIiwgXCJjaW50XCIsIFwiY2xuZ1wiLCBcImNvYmpcIiwgXCJjb21wYXJlXCIsIFwiY29uc3RcIiwgXCJjb250aW51ZVwiLCBcImNzYnl0ZVwiLCBcImNzaG9ydFwiLCBcImNzbmdcIiwgXCJjc3RyXCIsIFwiY3VpbnRcIiwgXCJjdWxuZ1wiLCBcImN1c2hvcnRcIiwgXCJkZWNsYXJlXCIsIFwiZGVmYXVsdFwiLCBcImRlbGVnYXRlXCIsIFwiZGltXCIsIFwiZGlyZWN0Y2FzdFwiLCBcImVhY2hcIiwgXCJlcmFzZVwiLCBcImVycm9yXCIsIFwiZXZlbnRcIiwgXCJleGl0XCIsIFwiZXhwbGljaXRcIiwgXCJmYWxzZVwiLCBcImZvclwiLCBcImZyaWVuZFwiLCBcImdldHR5cGVcIiwgXCJnb3RvXCIsIFwiaGFuZGxlc1wiLCBcImltcGxlbWVudHNcIiwgXCJpbXBvcnRzXCIsIFwiaW5mZXJcIiwgXCJpbmhlcml0c1wiLCBcImludGVyZmFjZVwiLCBcImlzZmFsc2VcIiwgXCJpc3RydWVcIiwgXCJsaWJcIiwgXCJtZVwiLCBcIm1vZFwiLCBcIm11c3Rpbmhlcml0XCIsIFwibXVzdG92ZXJyaWRlXCIsIFwibXlcIiwgXCJteWJhc2VcIiwgXCJteWNsYXNzXCIsIFwibmFtZXNwYWNlXCIsIFwibmFycm93aW5nXCIsIFwibmV3XCIsIFwibm90aGluZ1wiLCBcIm5vdGluaGVyaXRhYmxlXCIsIFwibm90b3ZlcnJpZGFibGVcIiwgXCJvZlwiLCBcIm9mZlwiLCBcIm9uXCIsIFwib3BlcmF0b3JcIiwgXCJvcHRpb25cIiwgXCJvcHRpb25hbFwiLCBcIm91dFwiLCBcIm92ZXJsb2Fkc1wiLCBcIm92ZXJyaWRhYmxlXCIsIFwib3ZlcnJpZGVzXCIsIFwicGFyYW1hcnJheVwiLCBcInBhcnRpYWxcIiwgXCJwcml2YXRlXCIsIFwicHJvdGVjdGVkXCIsIFwicHVibGljXCIsIFwicmFpc2VldmVudFwiLCBcInJlYWRvbmx5XCIsIFwicmVkaW1cIiwgXCJyZW1vdmVoYW5kbGVyXCIsIFwicmVzdW1lXCIsIFwicmV0dXJuXCIsIFwic2hhZG93c1wiLCBcInNoYXJlZFwiLCBcInN0YXRpY1wiLCBcInN0ZXBcIiwgXCJzdG9wXCIsIFwic3RyaWN0XCIsIFwidGhlblwiLCBcInRocm93XCIsIFwidG9cIiwgXCJ0cnVlXCIsIFwidHJ5Y2FzdFwiLCBcInR5cGVvZlwiLCBcInVudGlsXCIsIFwidW50aWxcIiwgXCJ3aGVuXCIsIFwid2lkZW5pbmdcIiwgXCJ3aXRoZXZlbnRzXCIsIFwid3JpdGVvbmx5XCJdO1xuXG4gICAgdmFyIGNvbW1vbnR5cGVzID0gWydvYmplY3QnLCAnYm9vbGVhbicsICdjaGFyJywgJ3N0cmluZycsICdieXRlJywgJ3NieXRlJywgJ3Nob3J0JywgJ3VzaG9ydCcsICdpbnQxNicsICd1aW50MTYnLCAnaW50ZWdlcicsICd1aW50ZWdlcicsICdpbnQzMicsICd1aW50MzInLCAnbG9uZycsICd1bG9uZycsICdpbnQ2NCcsICd1aW50NjQnLCAnZGVjaW1hbCcsICdzaW5nbGUnLCAnZG91YmxlJywgJ2Zsb2F0JywgJ2RhdGUnLCAnZGF0ZXRpbWUnLCAnaW50cHRyJywgJ3VpbnRwdHInXTtcblxuICAgIHZhciBrZXl3b3JkcyA9IHdvcmRSZWdleHAoY29tbW9uS2V5d29yZHMpO1xuICAgIHZhciB0eXBlcyA9IHdvcmRSZWdleHAoY29tbW9udHlwZXMpO1xuICAgIHZhciBzdHJpbmdQcmVmaXhlcyA9ICdcIic7XG5cbiAgICB2YXIgb3BlbmluZyA9IHdvcmRSZWdleHAob3BlbmluZ0tleXdvcmRzKTtcbiAgICB2YXIgbWlkZGxlID0gd29yZFJlZ2V4cChtaWRkbGVLZXl3b3Jkcyk7XG4gICAgdmFyIGNsb3NpbmcgPSB3b3JkUmVnZXhwKGVuZEtleXdvcmRzKTtcbiAgICB2YXIgZG91YmxlQ2xvc2luZyA9IHdvcmRSZWdleHAoWydlbmQnXSk7XG4gICAgdmFyIGRvT3BlbmluZyA9IHdvcmRSZWdleHAoWydkbyddKTtcblxuICAgIHZhciBpbmRlbnRJbmZvID0gbnVsbDtcblxuICAgIENvZGVNaXJyb3IucmVnaXN0ZXJIZWxwZXIoXCJoaW50V29yZHNcIiwgXCJ2YlwiLCBvcGVuaW5nS2V5d29yZHMuY29uY2F0KG1pZGRsZUtleXdvcmRzKS5jb25jYXQoZW5kS2V5d29yZHMpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5jb25jYXQob3BlcmF0b3JLZXl3b3JkcykuY29uY2F0KGNvbW1vbktleXdvcmRzKS5jb25jYXQoY29tbW9udHlwZXMpKTtcblxuICAgIGZ1bmN0aW9uIGluZGVudChfc3RyZWFtLCBzdGF0ZSkge1xuICAgICAgc3RhdGUuY3VycmVudEluZGVudCsrO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGRlZGVudChfc3RyZWFtLCBzdGF0ZSkge1xuICAgICAgc3RhdGUuY3VycmVudEluZGVudC0tO1xuICAgIH1cbiAgICAvLyB0b2tlbml6ZXJzXG4gICAgZnVuY3Rpb24gdG9rZW5CYXNlKHN0cmVhbSwgc3RhdGUpIHtcbiAgICAgICAgaWYgKHN0cmVhbS5lYXRTcGFjZSgpKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBjaCA9IHN0cmVhbS5wZWVrKCk7XG5cbiAgICAgICAgLy8gSGFuZGxlIENvbW1lbnRzXG4gICAgICAgIGlmIChjaCA9PT0gXCInXCIpIHtcbiAgICAgICAgICAgIHN0cmVhbS5za2lwVG9FbmQoKTtcbiAgICAgICAgICAgIHJldHVybiAnY29tbWVudCc7XG4gICAgICAgIH1cblxuXG4gICAgICAgIC8vIEhhbmRsZSBOdW1iZXIgTGl0ZXJhbHNcbiAgICAgICAgaWYgKHN0cmVhbS5tYXRjaCgvXigoJkgpfCgmTykpP1swLTlcXC5hLWZdL2ksIGZhbHNlKSkge1xuICAgICAgICAgICAgdmFyIGZsb2F0TGl0ZXJhbCA9IGZhbHNlO1xuICAgICAgICAgICAgLy8gRmxvYXRzXG4gICAgICAgICAgICBpZiAoc3RyZWFtLm1hdGNoKC9eXFxkKlxcLlxcZCtGPy9pKSkgeyBmbG9hdExpdGVyYWwgPSB0cnVlOyB9XG4gICAgICAgICAgICBlbHNlIGlmIChzdHJlYW0ubWF0Y2goL15cXGQrXFwuXFxkKkY/LykpIHsgZmxvYXRMaXRlcmFsID0gdHJ1ZTsgfVxuICAgICAgICAgICAgZWxzZSBpZiAoc3RyZWFtLm1hdGNoKC9eXFwuXFxkK0Y/LykpIHsgZmxvYXRMaXRlcmFsID0gdHJ1ZTsgfVxuXG4gICAgICAgICAgICBpZiAoZmxvYXRMaXRlcmFsKSB7XG4gICAgICAgICAgICAgICAgLy8gRmxvYXQgbGl0ZXJhbHMgbWF5IGJlIFwiaW1hZ2luYXJ5XCJcbiAgICAgICAgICAgICAgICBzdHJlYW0uZWF0KC9KL2kpO1xuICAgICAgICAgICAgICAgIHJldHVybiAnbnVtYmVyJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIEludGVnZXJzXG4gICAgICAgICAgICB2YXIgaW50TGl0ZXJhbCA9IGZhbHNlO1xuICAgICAgICAgICAgLy8gSGV4XG4gICAgICAgICAgICBpZiAoc3RyZWFtLm1hdGNoKC9eJkhbMC05YS1mXSsvaSkpIHsgaW50TGl0ZXJhbCA9IHRydWU7IH1cbiAgICAgICAgICAgIC8vIE9jdGFsXG4gICAgICAgICAgICBlbHNlIGlmIChzdHJlYW0ubWF0Y2goL14mT1swLTddKy9pKSkgeyBpbnRMaXRlcmFsID0gdHJ1ZTsgfVxuICAgICAgICAgICAgLy8gRGVjaW1hbFxuICAgICAgICAgICAgZWxzZSBpZiAoc3RyZWFtLm1hdGNoKC9eWzEtOV1cXGQqRj8vKSkge1xuICAgICAgICAgICAgICAgIC8vIERlY2ltYWwgbGl0ZXJhbHMgbWF5IGJlIFwiaW1hZ2luYXJ5XCJcbiAgICAgICAgICAgICAgICBzdHJlYW0uZWF0KC9KL2kpO1xuICAgICAgICAgICAgICAgIC8vIFRPRE8gLSBDYW4geW91IGhhdmUgaW1hZ2luYXJ5IGxvbmdzP1xuICAgICAgICAgICAgICAgIGludExpdGVyYWwgPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gWmVybyBieSBpdHNlbGYgd2l0aCBubyBvdGhlciBwaWVjZSBvZiBudW1iZXIuXG4gICAgICAgICAgICBlbHNlIGlmIChzdHJlYW0ubWF0Y2goL14wKD8hW1xcZHhdKS9pKSkgeyBpbnRMaXRlcmFsID0gdHJ1ZTsgfVxuICAgICAgICAgICAgaWYgKGludExpdGVyYWwpIHtcbiAgICAgICAgICAgICAgICAvLyBJbnRlZ2VyIGxpdGVyYWxzIG1heSBiZSBcImxvbmdcIlxuICAgICAgICAgICAgICAgIHN0cmVhbS5lYXQoL0wvaSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuICdudW1iZXInO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gSGFuZGxlIFN0cmluZ3NcbiAgICAgICAgaWYgKHN0cmVhbS5tYXRjaChzdHJpbmdQcmVmaXhlcykpIHtcbiAgICAgICAgICAgIHN0YXRlLnRva2VuaXplID0gdG9rZW5TdHJpbmdGYWN0b3J5KHN0cmVhbS5jdXJyZW50KCkpO1xuICAgICAgICAgICAgcmV0dXJuIHN0YXRlLnRva2VuaXplKHN0cmVhbSwgc3RhdGUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gSGFuZGxlIG9wZXJhdG9ycyBhbmQgRGVsaW1pdGVyc1xuICAgICAgICBpZiAoc3RyZWFtLm1hdGNoKHRyaXBsZURlbGltaXRlcnMpIHx8IHN0cmVhbS5tYXRjaChkb3VibGVEZWxpbWl0ZXJzKSkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHN0cmVhbS5tYXRjaChkb3VibGVPcGVyYXRvcnMpXG4gICAgICAgICAgICB8fCBzdHJlYW0ubWF0Y2goc2luZ2xlT3BlcmF0b3JzKVxuICAgICAgICAgICAgfHwgc3RyZWFtLm1hdGNoKHdvcmRPcGVyYXRvcnMpKSB7XG4gICAgICAgICAgICByZXR1cm4gJ29wZXJhdG9yJztcbiAgICAgICAgfVxuICAgICAgICBpZiAoc3RyZWFtLm1hdGNoKHNpbmdsZURlbGltaXRlcnMpKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoc3RyZWFtLm1hdGNoKGRvT3BlbmluZykpIHtcbiAgICAgICAgICAgIGluZGVudChzdHJlYW0sc3RhdGUpO1xuICAgICAgICAgICAgc3RhdGUuZG9JbkN1cnJlbnRMaW5lID0gdHJ1ZTtcbiAgICAgICAgICAgIHJldHVybiAna2V5d29yZCc7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHN0cmVhbS5tYXRjaChvcGVuaW5nKSkge1xuICAgICAgICAgICAgaWYgKCEgc3RhdGUuZG9JbkN1cnJlbnRMaW5lKVxuICAgICAgICAgICAgICBpbmRlbnQoc3RyZWFtLHN0YXRlKTtcbiAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgc3RhdGUuZG9JbkN1cnJlbnRMaW5lID0gZmFsc2U7XG4gICAgICAgICAgICByZXR1cm4gJ2tleXdvcmQnO1xuICAgICAgICB9XG4gICAgICAgIGlmIChzdHJlYW0ubWF0Y2gobWlkZGxlKSkge1xuICAgICAgICAgICAgcmV0dXJuICdrZXl3b3JkJztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChzdHJlYW0ubWF0Y2goZG91YmxlQ2xvc2luZykpIHtcbiAgICAgICAgICAgIGRlZGVudChzdHJlYW0sc3RhdGUpO1xuICAgICAgICAgICAgZGVkZW50KHN0cmVhbSxzdGF0ZSk7XG4gICAgICAgICAgICByZXR1cm4gJ2tleXdvcmQnO1xuICAgICAgICB9XG4gICAgICAgIGlmIChzdHJlYW0ubWF0Y2goY2xvc2luZykpIHtcbiAgICAgICAgICAgIGRlZGVudChzdHJlYW0sc3RhdGUpO1xuICAgICAgICAgICAgcmV0dXJuICdrZXl3b3JkJztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChzdHJlYW0ubWF0Y2godHlwZXMpKSB7XG4gICAgICAgICAgICByZXR1cm4gJ2tleXdvcmQnO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHN0cmVhbS5tYXRjaChrZXl3b3JkcykpIHtcbiAgICAgICAgICAgIHJldHVybiAna2V5d29yZCc7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoc3RyZWFtLm1hdGNoKGlkZW50aWZpZXJzKSkge1xuICAgICAgICAgICAgcmV0dXJuICd2YXJpYWJsZSc7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBIYW5kbGUgbm9uLWRldGVjdGVkIGl0ZW1zXG4gICAgICAgIHN0cmVhbS5uZXh0KCk7XG4gICAgICAgIHJldHVybiBFUlJPUkNMQVNTO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIHRva2VuU3RyaW5nRmFjdG9yeShkZWxpbWl0ZXIpIHtcbiAgICAgICAgdmFyIHNpbmdsZWxpbmUgPSBkZWxpbWl0ZXIubGVuZ3RoID09IDE7XG4gICAgICAgIHZhciBPVVRDTEFTUyA9ICdzdHJpbmcnO1xuXG4gICAgICAgIHJldHVybiBmdW5jdGlvbihzdHJlYW0sIHN0YXRlKSB7XG4gICAgICAgICAgICB3aGlsZSAoIXN0cmVhbS5lb2woKSkge1xuICAgICAgICAgICAgICAgIHN0cmVhbS5lYXRXaGlsZSgvW14nXCJdLyk7XG4gICAgICAgICAgICAgICAgaWYgKHN0cmVhbS5tYXRjaChkZWxpbWl0ZXIpKSB7XG4gICAgICAgICAgICAgICAgICAgIHN0YXRlLnRva2VuaXplID0gdG9rZW5CYXNlO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gT1VUQ0xBU1M7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgc3RyZWFtLmVhdCgvWydcIl0vKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoc2luZ2xlbGluZSkge1xuICAgICAgICAgICAgICAgIGlmIChwYXJzZXJDb25mLnNpbmdsZUxpbmVTdHJpbmdFcnJvcnMpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEVSUk9SQ0xBU1M7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgc3RhdGUudG9rZW5pemUgPSB0b2tlbkJhc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIE9VVENMQVNTO1xuICAgICAgICB9O1xuICAgIH1cblxuXG4gICAgZnVuY3Rpb24gdG9rZW5MZXhlcihzdHJlYW0sIHN0YXRlKSB7XG4gICAgICAgIHZhciBzdHlsZSA9IHN0YXRlLnRva2VuaXplKHN0cmVhbSwgc3RhdGUpO1xuICAgICAgICB2YXIgY3VycmVudCA9IHN0cmVhbS5jdXJyZW50KCk7XG5cbiAgICAgICAgLy8gSGFuZGxlICcuJyBjb25uZWN0ZWQgaWRlbnRpZmllcnNcbiAgICAgICAgaWYgKGN1cnJlbnQgPT09ICcuJykge1xuICAgICAgICAgICAgc3R5bGUgPSBzdGF0ZS50b2tlbml6ZShzdHJlYW0sIHN0YXRlKTtcbiAgICAgICAgICAgIGlmIChzdHlsZSA9PT0gJ3ZhcmlhYmxlJykge1xuICAgICAgICAgICAgICAgIHJldHVybiAndmFyaWFibGUnO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gRVJST1JDTEFTUztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG5cbiAgICAgICAgdmFyIGRlbGltaXRlcl9pbmRleCA9ICdbKHsnLmluZGV4T2YoY3VycmVudCk7XG4gICAgICAgIGlmIChkZWxpbWl0ZXJfaW5kZXggIT09IC0xKSB7XG4gICAgICAgICAgICBpbmRlbnQoc3RyZWFtLCBzdGF0ZSApO1xuICAgICAgICB9XG4gICAgICAgIGlmIChpbmRlbnRJbmZvID09PSAnZGVkZW50Jykge1xuICAgICAgICAgICAgaWYgKGRlZGVudChzdHJlYW0sIHN0YXRlKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBFUlJPUkNMQVNTO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGRlbGltaXRlcl9pbmRleCA9ICddKX0nLmluZGV4T2YoY3VycmVudCk7XG4gICAgICAgIGlmIChkZWxpbWl0ZXJfaW5kZXggIT09IC0xKSB7XG4gICAgICAgICAgICBpZiAoZGVkZW50KHN0cmVhbSwgc3RhdGUpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIEVSUk9SQ0xBU1M7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gc3R5bGU7XG4gICAgfVxuXG4gICAgdmFyIGV4dGVybmFsID0ge1xuICAgICAgICBlbGVjdHJpY0NoYXJzOlwiZERwUHRUZkZlRSBcIixcbiAgICAgICAgc3RhcnRTdGF0ZTogZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICB0b2tlbml6ZTogdG9rZW5CYXNlLFxuICAgICAgICAgICAgICBsYXN0VG9rZW46IG51bGwsXG4gICAgICAgICAgICAgIGN1cnJlbnRJbmRlbnQ6IDAsXG4gICAgICAgICAgICAgIG5leHRMaW5lSW5kZW50OiAwLFxuICAgICAgICAgICAgICBkb0luQ3VycmVudExpbmU6IGZhbHNlXG5cblxuICAgICAgICAgIH07XG4gICAgICAgIH0sXG5cbiAgICAgICAgdG9rZW46IGZ1bmN0aW9uKHN0cmVhbSwgc3RhdGUpIHtcbiAgICAgICAgICAgIGlmIChzdHJlYW0uc29sKCkpIHtcbiAgICAgICAgICAgICAgc3RhdGUuY3VycmVudEluZGVudCArPSBzdGF0ZS5uZXh0TGluZUluZGVudDtcbiAgICAgICAgICAgICAgc3RhdGUubmV4dExpbmVJbmRlbnQgPSAwO1xuICAgICAgICAgICAgICBzdGF0ZS5kb0luQ3VycmVudExpbmUgPSAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdmFyIHN0eWxlID0gdG9rZW5MZXhlcihzdHJlYW0sIHN0YXRlKTtcblxuICAgICAgICAgICAgc3RhdGUubGFzdFRva2VuID0ge3N0eWxlOnN0eWxlLCBjb250ZW50OiBzdHJlYW0uY3VycmVudCgpfTtcblxuXG5cbiAgICAgICAgICAgIHJldHVybiBzdHlsZTtcbiAgICAgICAgfSxcblxuICAgICAgICBpbmRlbnQ6IGZ1bmN0aW9uKHN0YXRlLCB0ZXh0QWZ0ZXIpIHtcbiAgICAgICAgICAgIHZhciB0cnVlVGV4dCA9IHRleHRBZnRlci5yZXBsYWNlKC9eXFxzK3xcXHMrJC9nLCAnJykgO1xuICAgICAgICAgICAgaWYgKHRydWVUZXh0Lm1hdGNoKGNsb3NpbmcpIHx8IHRydWVUZXh0Lm1hdGNoKGRvdWJsZUNsb3NpbmcpIHx8IHRydWVUZXh0Lm1hdGNoKG1pZGRsZSkpIHJldHVybiBjb25mLmluZGVudFVuaXQqKHN0YXRlLmN1cnJlbnRJbmRlbnQtMSk7XG4gICAgICAgICAgICBpZihzdGF0ZS5jdXJyZW50SW5kZW50IDwgMCkgcmV0dXJuIDA7XG4gICAgICAgICAgICByZXR1cm4gc3RhdGUuY3VycmVudEluZGVudCAqIGNvbmYuaW5kZW50VW5pdDtcbiAgICAgICAgfSxcblxuICAgICAgICBsaW5lQ29tbWVudDogXCInXCJcbiAgICB9O1xuICAgIHJldHVybiBleHRlcm5hbDtcbn0pO1xuXG5Db2RlTWlycm9yLmRlZmluZU1JTUUoXCJ0ZXh0L3gtdmJcIiwgXCJ2YlwiKTtcblxufSk7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/codemirror/mode/vb/vb.js\n"); /***/ }), /***/ "./node_modules/codemirror/mode/vue/vue.js": /*!*************************************************!*\ !*** ./node_modules/codemirror/mode/vue/vue.js ***! \*************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function (mod) {\n \"use strict\";\n if (true) {// CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ \"./node_modules/codemirror/lib/codemirror.js\"),\n __webpack_require__(/*! ../../addon/mode/overlay */ \"./node_modules/codemirror/addon/mode/overlay.js\"),\n __webpack_require__(/*! ../xml/xml */ \"./node_modules/codemirror/mode/xml/xml.js\"),\n __webpack_require__(/*! ../javascript/javascript */ \"./node_modules/codemirror/mode/javascript/javascript.js\"),\n __webpack_require__(/*! ../coffeescript/coffeescript */ \"./node_modules/codemirror/mode/coffeescript/coffeescript.js\"),\n __webpack_require__(/*! ../css/css */ \"./node_modules/codemirror/mode/css/css.js\"),\n __webpack_require__(/*! ../sass/sass */ \"./node_modules/codemirror/mode/sass/sass.js\"),\n __webpack_require__(/*! ../stylus/stylus */ \"./node_modules/codemirror/mode/stylus/stylus.js\"),\n __webpack_require__(/*! ../pug/pug */ \"./node_modules/codemirror/mode/pug/pug.js\"),\n __webpack_require__(/*! ../handlebars/handlebars */ \"./node_modules/codemirror/mode/handlebars/handlebars.js\"));\n } else {}\n})(function (CodeMirror) {\n var tagLanguages = {\n script: [\n [\"lang\", /coffee(script)?/, \"coffeescript\"],\n [\"type\", /^(?:text|application)\\/(?:x-)?coffee(?:script)?$/, \"coffeescript\"],\n [\"lang\", /^babel$/, \"javascript\"],\n [\"type\", /^text\\/babel$/, \"javascript\"],\n [\"type\", /^text\\/ecmascript-\\d+$/, \"javascript\"]\n ],\n style: [\n [\"lang\", /^stylus$/i, \"stylus\"],\n [\"lang\", /^sass$/i, \"sass\"],\n [\"lang\", /^less$/i, \"text/x-less\"],\n [\"lang\", /^scss$/i, \"text/x-scss\"],\n [\"type\", /^(text\\/)?(x-)?styl(us)?$/i, \"stylus\"],\n [\"type\", /^text\\/sass/i, \"sass\"],\n [\"type\", /^(text\\/)?(x-)?scss$/i, \"text/x-scss\"],\n [\"type\", /^(text\\/)?(x-)?less$/i, \"text/x-less\"]\n ],\n template: [\n [\"lang\", /^vue-template$/i, \"vue\"],\n [\"lang\", /^pug$/i, \"pug\"],\n [\"lang\", /^handlebars$/i, \"handlebars\"],\n [\"type\", /^(text\\/)?(x-)?pug$/i, \"pug\"],\n [\"type\", /^text\\/x-handlebars-template$/i, \"handlebars\"],\n [null, null, \"vue-template\"]\n ]\n };\n\n CodeMirror.defineMode(\"vue-template\", function (config, parserConfig) {\n var mustacheOverlay = {\n token: function (stream) {\n if (stream.match(/^\\{\\{.*?\\}\\}/)) return \"meta mustache\";\n while (stream.next() && !stream.match(\"{{\", false)) {}\n return null;\n }\n };\n return CodeMirror.overlayMode(CodeMirror.getMode(config, parserConfig.backdrop || \"text/html\"), mustacheOverlay);\n });\n\n CodeMirror.defineMode(\"vue\", function (config) {\n return CodeMirror.getMode(config, {name: \"htmlmixed\", tags: tagLanguages});\n }, \"htmlmixed\", \"xml\", \"javascript\", \"coffeescript\", \"css\", \"sass\", \"stylus\", \"pug\", \"handlebars\");\n\n CodeMirror.defineMIME(\"script/x-vue\", \"vue\");\n CodeMirror.defineMIME(\"text/x-vue\", \"vue\");\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9tb2RlL3Z1ZS92dWUuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9tb2RlL3Z1ZS92dWUuanM/NjkzZCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb2RlTWlycm9yLCBjb3B5cmlnaHQgKGMpIGJ5IE1hcmlqbiBIYXZlcmJla2UgYW5kIG90aGVyc1xuLy8gRGlzdHJpYnV0ZWQgdW5kZXIgYW4gTUlUIGxpY2Vuc2U6IGh0dHBzOi8vY29kZW1pcnJvci5uZXQvTElDRU5TRVxuXG4oZnVuY3Rpb24gKG1vZCkge1xuICBcInVzZSBzdHJpY3RcIjtcbiAgaWYgKHR5cGVvZiBleHBvcnRzID09PSBcIm9iamVjdFwiICYmIHR5cGVvZiBtb2R1bGUgPT09IFwib2JqZWN0XCIpIHsvLyBDb21tb25KU1xuICAgIG1vZChyZXF1aXJlKFwiLi4vLi4vbGliL2NvZGVtaXJyb3JcIiksXG4gICAgICAgIHJlcXVpcmUoXCIuLi8uLi9hZGRvbi9tb2RlL292ZXJsYXlcIiksXG4gICAgICAgIHJlcXVpcmUoXCIuLi94bWwveG1sXCIpLFxuICAgICAgICByZXF1aXJlKFwiLi4vamF2YXNjcmlwdC9qYXZhc2NyaXB0XCIpLFxuICAgICAgICByZXF1aXJlKFwiLi4vY29mZmVlc2NyaXB0L2NvZmZlZXNjcmlwdFwiKSxcbiAgICAgICAgcmVxdWlyZShcIi4uL2Nzcy9jc3NcIiksXG4gICAgICAgIHJlcXVpcmUoXCIuLi9zYXNzL3Nhc3NcIiksXG4gICAgICAgIHJlcXVpcmUoXCIuLi9zdHlsdXMvc3R5bHVzXCIpLFxuICAgICAgICByZXF1aXJlKFwiLi4vcHVnL3B1Z1wiKSxcbiAgICAgICAgcmVxdWlyZShcIi4uL2hhbmRsZWJhcnMvaGFuZGxlYmFyc1wiKSk7XG4gIH0gZWxzZSBpZiAodHlwZW9mIGRlZmluZSA9PT0gXCJmdW5jdGlvblwiICYmIGRlZmluZS5hbWQpIHsgLy8gQU1EXG4gICAgZGVmaW5lKFtcIi4uLy4uL2xpYi9jb2RlbWlycm9yXCIsXG4gICAgICAgICAgICBcIi4uLy4uL2FkZG9uL21vZGUvb3ZlcmxheVwiLFxuICAgICAgICAgICAgXCIuLi94bWwveG1sXCIsXG4gICAgICAgICAgICBcIi4uL2phdmFzY3JpcHQvamF2YXNjcmlwdFwiLFxuICAgICAgICAgICAgXCIuLi9jb2ZmZWVzY3JpcHQvY29mZmVlc2NyaXB0XCIsXG4gICAgICAgICAgICBcIi4uL2Nzcy9jc3NcIixcbiAgICAgICAgICAgIFwiLi4vc2Fzcy9zYXNzXCIsXG4gICAgICAgICAgICBcIi4uL3N0eWx1cy9zdHlsdXNcIixcbiAgICAgICAgICAgIFwiLi4vcHVnL3B1Z1wiLFxuICAgICAgICAgICAgXCIuLi9oYW5kbGViYXJzL2hhbmRsZWJhcnNcIl0sIG1vZCk7XG4gIH0gZWxzZSB7IC8vIFBsYWluIGJyb3dzZXIgZW52XG4gICAgbW9kKENvZGVNaXJyb3IpO1xuICB9XG59KShmdW5jdGlvbiAoQ29kZU1pcnJvcikge1xuICB2YXIgdGFnTGFuZ3VhZ2VzID0ge1xuICAgIHNjcmlwdDogW1xuICAgICAgW1wibGFuZ1wiLCAvY29mZmVlKHNjcmlwdCk/LywgXCJjb2ZmZWVzY3JpcHRcIl0sXG4gICAgICBbXCJ0eXBlXCIsIC9eKD86dGV4dHxhcHBsaWNhdGlvbilcXC8oPzp4LSk/Y29mZmVlKD86c2NyaXB0KT8kLywgXCJjb2ZmZWVzY3JpcHRcIl0sXG4gICAgICBbXCJsYW5nXCIsIC9eYmFiZWwkLywgXCJqYXZhc2NyaXB0XCJdLFxuICAgICAgW1widHlwZVwiLCAvXnRleHRcXC9iYWJlbCQvLCBcImphdmFzY3JpcHRcIl0sXG4gICAgICBbXCJ0eXBlXCIsIC9edGV4dFxcL2VjbWFzY3JpcHQtXFxkKyQvLCBcImphdmFzY3JpcHRcIl1cbiAgICBdLFxuICAgIHN0eWxlOiBbXG4gICAgICBbXCJsYW5nXCIsIC9ec3R5bHVzJC9pLCBcInN0eWx1c1wiXSxcbiAgICAgIFtcImxhbmdcIiwgL15zYXNzJC9pLCBcInNhc3NcIl0sXG4gICAgICBbXCJsYW5nXCIsIC9ebGVzcyQvaSwgXCJ0ZXh0L3gtbGVzc1wiXSxcbiAgICAgIFtcImxhbmdcIiwgL15zY3NzJC9pLCBcInRleHQveC1zY3NzXCJdLFxuICAgICAgW1widHlwZVwiLCAvXih0ZXh0XFwvKT8oeC0pP3N0eWwodXMpPyQvaSwgXCJzdHlsdXNcIl0sXG4gICAgICBbXCJ0eXBlXCIsIC9edGV4dFxcL3Nhc3MvaSwgXCJzYXNzXCJdLFxuICAgICAgW1widHlwZVwiLCAvXih0ZXh0XFwvKT8oeC0pP3Njc3MkL2ksIFwidGV4dC94LXNjc3NcIl0sXG4gICAgICBbXCJ0eXBlXCIsIC9eKHRleHRcXC8pPyh4LSk/bGVzcyQvaSwgXCJ0ZXh0L3gtbGVzc1wiXVxuICAgIF0sXG4gICAgdGVtcGxhdGU6IFtcbiAgICAgIFtcImxhbmdcIiwgL152dWUtdGVtcGxhdGUkL2ksIFwidnVlXCJdLFxuICAgICAgW1wibGFuZ1wiLCAvXnB1ZyQvaSwgXCJwdWdcIl0sXG4gICAgICBbXCJsYW5nXCIsIC9eaGFuZGxlYmFycyQvaSwgXCJoYW5kbGViYXJzXCJdLFxuICAgICAgW1widHlwZVwiLCAvXih0ZXh0XFwvKT8oeC0pP3B1ZyQvaSwgXCJwdWdcIl0sXG4gICAgICBbXCJ0eXBlXCIsIC9edGV4dFxcL3gtaGFuZGxlYmFycy10ZW1wbGF0ZSQvaSwgXCJoYW5kbGViYXJzXCJdLFxuICAgICAgW251bGwsIG51bGwsIFwidnVlLXRlbXBsYXRlXCJdXG4gICAgXVxuICB9O1xuXG4gIENvZGVNaXJyb3IuZGVmaW5lTW9kZShcInZ1ZS10ZW1wbGF0ZVwiLCBmdW5jdGlvbiAoY29uZmlnLCBwYXJzZXJDb25maWcpIHtcbiAgICB2YXIgbXVzdGFjaGVPdmVybGF5ID0ge1xuICAgICAgdG9rZW46IGZ1bmN0aW9uIChzdHJlYW0pIHtcbiAgICAgICAgaWYgKHN0cmVhbS5tYXRjaCgvXlxce1xcey4qP1xcfVxcfS8pKSByZXR1cm4gXCJtZXRhIG11c3RhY2hlXCI7XG4gICAgICAgIHdoaWxlIChzdHJlYW0ubmV4dCgpICYmICFzdHJlYW0ubWF0Y2goXCJ7e1wiLCBmYWxzZSkpIHt9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgIH07XG4gICAgcmV0dXJuIENvZGVNaXJyb3Iub3ZlcmxheU1vZGUoQ29kZU1pcnJvci5nZXRNb2RlKGNvbmZpZywgcGFyc2VyQ29uZmlnLmJhY2tkcm9wIHx8IFwidGV4dC9odG1sXCIpLCBtdXN0YWNoZU92ZXJsYXkpO1xuICB9KTtcblxuICBDb2RlTWlycm9yLmRlZmluZU1vZGUoXCJ2dWVcIiwgZnVuY3Rpb24gKGNvbmZpZykge1xuICAgIHJldHVybiBDb2RlTWlycm9yLmdldE1vZGUoY29uZmlnLCB7bmFtZTogXCJodG1sbWl4ZWRcIiwgdGFnczogdGFnTGFuZ3VhZ2VzfSk7XG4gIH0sIFwiaHRtbG1peGVkXCIsIFwieG1sXCIsIFwiamF2YXNjcmlwdFwiLCBcImNvZmZlZXNjcmlwdFwiLCBcImNzc1wiLCBcInNhc3NcIiwgXCJzdHlsdXNcIiwgXCJwdWdcIiwgXCJoYW5kbGViYXJzXCIpO1xuXG4gIENvZGVNaXJyb3IuZGVmaW5lTUlNRShcInNjcmlwdC94LXZ1ZVwiLCBcInZ1ZVwiKTtcbiAgQ29kZU1pcnJvci5kZWZpbmVNSU1FKFwidGV4dC94LXZ1ZVwiLCBcInZ1ZVwiKTtcbn0pO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBYUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/codemirror/mode/vue/vue.js\n"); /***/ }), /***/ "./node_modules/codemirror/mode/xml/xml.js": /*!*************************************************!*\ !*** ./node_modules/codemirror/mode/xml/xml.js ***! \*************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ \"./node_modules/codemirror/lib/codemirror.js\"));\n else {}\n})(function(CodeMirror) {\n\"use strict\";\n\nvar htmlConfig = {\n autoSelfClosers: {'area': true, 'base': true, 'br': true, 'col': true, 'command': true,\n 'embed': true, 'frame': true, 'hr': true, 'img': true, 'input': true,\n 'keygen': true, 'link': true, 'meta': true, 'param': true, 'source': true,\n 'track': true, 'wbr': true, 'menuitem': true},\n implicitlyClosed: {'dd': true, 'li': true, 'optgroup': true, 'option': true, 'p': true,\n 'rp': true, 'rt': true, 'tbody': true, 'td': true, 'tfoot': true,\n 'th': true, 'tr': true},\n contextGrabbers: {\n 'dd': {'dd': true, 'dt': true},\n 'dt': {'dd': true, 'dt': true},\n 'li': {'li': true},\n 'option': {'option': true, 'optgroup': true},\n 'optgroup': {'optgroup': true},\n 'p': {'address': true, 'article': true, 'aside': true, 'blockquote': true, 'dir': true,\n 'div': true, 'dl': true, 'fieldset': true, 'footer': true, 'form': true,\n 'h1': true, 'h2': true, 'h3': true, 'h4': true, 'h5': true, 'h6': true,\n 'header': true, 'hgroup': true, 'hr': true, 'menu': true, 'nav': true, 'ol': true,\n 'p': true, 'pre': true, 'section': true, 'table': true, 'ul': true},\n 'rp': {'rp': true, 'rt': true},\n 'rt': {'rp': true, 'rt': true},\n 'tbody': {'tbody': true, 'tfoot': true},\n 'td': {'td': true, 'th': true},\n 'tfoot': {'tbody': true},\n 'th': {'td': true, 'th': true},\n 'thead': {'tbody': true, 'tfoot': true},\n 'tr': {'tr': true}\n },\n doNotIndent: {\"pre\": true},\n allowUnquoted: true,\n allowMissing: true,\n caseFold: true\n}\n\nvar xmlConfig = {\n autoSelfClosers: {},\n implicitlyClosed: {},\n contextGrabbers: {},\n doNotIndent: {},\n allowUnquoted: false,\n allowMissing: false,\n allowMissingTagName: false,\n caseFold: false\n}\n\nCodeMirror.defineMode(\"xml\", function(editorConf, config_) {\n var indentUnit = editorConf.indentUnit\n var config = {}\n var defaults = config_.htmlMode ? htmlConfig : xmlConfig\n for (var prop in defaults) config[prop] = defaults[prop]\n for (var prop in config_) config[prop] = config_[prop]\n\n // Return variables for tokenizers\n var type, setStyle;\n\n function inText(stream, state) {\n function chain(parser) {\n state.tokenize = parser;\n return parser(stream, state);\n }\n\n var ch = stream.next();\n if (ch == \"<\") {\n if (stream.eat(\"!\")) {\n if (stream.eat(\"[\")) {\n if (stream.match(\"CDATA[\")) return chain(inBlock(\"atom\", \"]]>\"));\n else return null;\n } else if (stream.match(\"--\")) {\n return chain(inBlock(\"comment\", \"-->\"));\n } else if (stream.match(\"DOCTYPE\", true, true)) {\n stream.eatWhile(/[\\w\\._\\-]/);\n return chain(doctype(1));\n } else {\n return null;\n }\n } else if (stream.eat(\"?\")) {\n stream.eatWhile(/[\\w\\._\\-]/);\n state.tokenize = inBlock(\"meta\", \"?>\");\n return \"meta\";\n } else {\n type = stream.eat(\"/\") ? \"closeTag\" : \"openTag\";\n state.tokenize = inTag;\n return \"tag bracket\";\n }\n } else if (ch == \"&\") {\n var ok;\n if (stream.eat(\"#\")) {\n if (stream.eat(\"x\")) {\n ok = stream.eatWhile(/[a-fA-F\\d]/) && stream.eat(\";\");\n } else {\n ok = stream.eatWhile(/[\\d]/) && stream.eat(\";\");\n }\n } else {\n ok = stream.eatWhile(/[\\w\\.\\-:]/) && stream.eat(\";\");\n }\n return ok ? \"atom\" : \"error\";\n } else {\n stream.eatWhile(/[^&<]/);\n return null;\n }\n }\n inText.isInText = true;\n\n function inTag(stream, state) {\n var ch = stream.next();\n if (ch == \">\" || (ch == \"/\" && stream.eat(\">\"))) {\n state.tokenize = inText;\n type = ch == \">\" ? \"endTag\" : \"selfcloseTag\";\n return \"tag bracket\";\n } else if (ch == \"=\") {\n type = \"equals\";\n return null;\n } else if (ch == \"<\") {\n state.tokenize = inText;\n state.state = baseState;\n state.tagName = state.tagStart = null;\n var next = state.tokenize(stream, state);\n return next ? next + \" tag error\" : \"tag error\";\n } else if (/[\\'\\\"]/.test(ch)) {\n state.tokenize = inAttribute(ch);\n state.stringStartCol = stream.column();\n return state.tokenize(stream, state);\n } else {\n stream.match(/^[^\\s\\u00a0=<>\\\"\\']*[^\\s\\u00a0=<>\\\"\\'\\/]/);\n return \"word\";\n }\n }\n\n function inAttribute(quote) {\n var closure = function(stream, state) {\n while (!stream.eol()) {\n if (stream.next() == quote) {\n state.tokenize = inTag;\n break;\n }\n }\n return \"string\";\n };\n closure.isInAttribute = true;\n return closure;\n }\n\n function inBlock(style, terminator) {\n return function(stream, state) {\n while (!stream.eol()) {\n if (stream.match(terminator)) {\n state.tokenize = inText;\n break;\n }\n stream.next();\n }\n return style;\n }\n }\n\n function doctype(depth) {\n return function(stream, state) {\n var ch;\n while ((ch = stream.next()) != null) {\n if (ch == \"<\") {\n state.tokenize = doctype(depth + 1);\n return state.tokenize(stream, state);\n } else if (ch == \">\") {\n if (depth == 1) {\n state.tokenize = inText;\n break;\n } else {\n state.tokenize = doctype(depth - 1);\n return state.tokenize(stream, state);\n }\n }\n }\n return \"meta\";\n };\n }\n\n function Context(state, tagName, startOfLine) {\n this.prev = state.context;\n this.tagName = tagName;\n this.indent = state.indented;\n this.startOfLine = startOfLine;\n if (config.doNotIndent.hasOwnProperty(tagName) || (state.context && state.context.noIndent))\n this.noIndent = true;\n }\n function popContext(state) {\n if (state.context) state.context = state.context.prev;\n }\n function maybePopContext(state, nextTagName) {\n var parentTagName;\n while (true) {\n if (!state.context) {\n return;\n }\n parentTagName = state.context.tagName;\n if (!config.contextGrabbers.hasOwnProperty(parentTagName) ||\n !config.contextGrabbers[parentTagName].hasOwnProperty(nextTagName)) {\n return;\n }\n popContext(state);\n }\n }\n\n function baseState(type, stream, state) {\n if (type == \"openTag\") {\n state.tagStart = stream.column();\n return tagNameState;\n } else if (type == \"closeTag\") {\n return closeTagNameState;\n } else {\n return baseState;\n }\n }\n function tagNameState(type, stream, state) {\n if (type == \"word\") {\n state.tagName = stream.current();\n setStyle = \"tag\";\n return attrState;\n } else if (config.allowMissingTagName && type == \"endTag\") {\n setStyle = \"tag bracket\";\n return attrState(type, stream, state);\n } else {\n setStyle = \"error\";\n return tagNameState;\n }\n }\n function closeTagNameState(type, stream, state) {\n if (type == \"word\") {\n var tagName = stream.current();\n if (state.context && state.context.tagName != tagName &&\n config.implicitlyClosed.hasOwnProperty(state.context.tagName))\n popContext(state);\n if ((state.context && state.context.tagName == tagName) || config.matchClosing === false) {\n setStyle = \"tag\";\n return closeState;\n } else {\n setStyle = \"tag error\";\n return closeStateErr;\n }\n } else if (config.allowMissingTagName && type == \"endTag\") {\n setStyle = \"tag bracket\";\n return closeState(type, stream, state);\n } else {\n setStyle = \"error\";\n return closeStateErr;\n }\n }\n\n function closeState(type, _stream, state) {\n if (type != \"endTag\") {\n setStyle = \"error\";\n return closeState;\n }\n popContext(state);\n return baseState;\n }\n function closeStateErr(type, stream, state) {\n setStyle = \"error\";\n return closeState(type, stream, state);\n }\n\n function attrState(type, _stream, state) {\n if (type == \"word\") {\n setStyle = \"attribute\";\n return attrEqState;\n } else if (type == \"endTag\" || type == \"selfcloseTag\") {\n var tagName = state.tagName, tagStart = state.tagStart;\n state.tagName = state.tagStart = null;\n if (type == \"selfcloseTag\" ||\n config.autoSelfClosers.hasOwnProperty(tagName)) {\n maybePopContext(state, tagName);\n } else {\n maybePopContext(state, tagName);\n state.context = new Context(state, tagName, tagStart == state.indented);\n }\n return baseState;\n }\n setStyle = \"error\";\n return attrState;\n }\n function attrEqState(type, stream, state) {\n if (type == \"equals\") return attrValueState;\n if (!config.allowMissing) setStyle = \"error\";\n return attrState(type, stream, state);\n }\n function attrValueState(type, stream, state) {\n if (type == \"string\") return attrContinuedState;\n if (type == \"word\" && config.allowUnquoted) {setStyle = \"string\"; return attrState;}\n setStyle = \"error\";\n return attrState(type, stream, state);\n }\n function attrContinuedState(type, stream, state) {\n if (type == \"string\") return attrContinuedState;\n return attrState(type, stream, state);\n }\n\n return {\n startState: function(baseIndent) {\n var state = {tokenize: inText,\n state: baseState,\n indented: baseIndent || 0,\n tagName: null, tagStart: null,\n context: null}\n if (baseIndent != null) state.baseIndent = baseIndent\n return state\n },\n\n token: function(stream, state) {\n if (!state.tagName && stream.sol())\n state.indented = stream.indentation();\n\n if (stream.eatSpace()) return null;\n type = null;\n var style = state.tokenize(stream, state);\n if ((style || type) && style != \"comment\") {\n setStyle = null;\n state.state = state.state(type || style, stream, state);\n if (setStyle)\n style = setStyle == \"error\" ? style + \" error\" : setStyle;\n }\n return style;\n },\n\n indent: function(state, textAfter, fullLine) {\n var context = state.context;\n // Indent multi-line strings (e.g. css).\n if (state.tokenize.isInAttribute) {\n if (state.tagStart == state.indented)\n return state.stringStartCol + 1;\n else\n return state.indented + indentUnit;\n }\n if (context && context.noIndent) return CodeMirror.Pass;\n if (state.tokenize != inTag && state.tokenize != inText)\n return fullLine ? fullLine.match(/^(\\s*)/)[0].length : 0;\n // Indent the starts of attribute names.\n if (state.tagName) {\n if (config.multilineTagIndentPastTag !== false)\n return state.tagStart + state.tagName.length + 2;\n else\n return state.tagStart + indentUnit * (config.multilineTagIndentFactor || 1);\n }\n if (config.alignCDATA && /$/,\n blockCommentStart: \"\",\n\n configuration: config.htmlMode ? \"html\" : \"xml\",\n helperType: config.htmlMode ? \"html\" : \"xml\",\n\n skipAttribute: function(state) {\n if (state.state == attrValueState)\n state.state = attrState\n }\n };\n});\n\nCodeMirror.defineMIME(\"text/xml\", \"xml\");\nCodeMirror.defineMIME(\"application/xml\", \"xml\");\nif (!CodeMirror.mimeModes.hasOwnProperty(\"text/html\"))\n CodeMirror.defineMIME(\"text/html\", {name: \"xml\", htmlMode: true});\n\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9tb2RlL3htbC94bWwuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9tb2RlL3htbC94bWwuanM/ZDVlMCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb2RlTWlycm9yLCBjb3B5cmlnaHQgKGMpIGJ5IE1hcmlqbiBIYXZlcmJla2UgYW5kIG90aGVyc1xuLy8gRGlzdHJpYnV0ZWQgdW5kZXIgYW4gTUlUIGxpY2Vuc2U6IGh0dHBzOi8vY29kZW1pcnJvci5uZXQvTElDRU5TRVxuXG4oZnVuY3Rpb24obW9kKSB7XG4gIGlmICh0eXBlb2YgZXhwb3J0cyA9PSBcIm9iamVjdFwiICYmIHR5cGVvZiBtb2R1bGUgPT0gXCJvYmplY3RcIikgLy8gQ29tbW9uSlNcbiAgICBtb2QocmVxdWlyZShcIi4uLy4uL2xpYi9jb2RlbWlycm9yXCIpKTtcbiAgZWxzZSBpZiAodHlwZW9mIGRlZmluZSA9PSBcImZ1bmN0aW9uXCIgJiYgZGVmaW5lLmFtZCkgLy8gQU1EXG4gICAgZGVmaW5lKFtcIi4uLy4uL2xpYi9jb2RlbWlycm9yXCJdLCBtb2QpO1xuICBlbHNlIC8vIFBsYWluIGJyb3dzZXIgZW52XG4gICAgbW9kKENvZGVNaXJyb3IpO1xufSkoZnVuY3Rpb24oQ29kZU1pcnJvcikge1xuXCJ1c2Ugc3RyaWN0XCI7XG5cbnZhciBodG1sQ29uZmlnID0ge1xuICBhdXRvU2VsZkNsb3NlcnM6IHsnYXJlYSc6IHRydWUsICdiYXNlJzogdHJ1ZSwgJ2JyJzogdHJ1ZSwgJ2NvbCc6IHRydWUsICdjb21tYW5kJzogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgJ2VtYmVkJzogdHJ1ZSwgJ2ZyYW1lJzogdHJ1ZSwgJ2hyJzogdHJ1ZSwgJ2ltZyc6IHRydWUsICdpbnB1dCc6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICdrZXlnZW4nOiB0cnVlLCAnbGluayc6IHRydWUsICdtZXRhJzogdHJ1ZSwgJ3BhcmFtJzogdHJ1ZSwgJ3NvdXJjZSc6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICd0cmFjayc6IHRydWUsICd3YnInOiB0cnVlLCAnbWVudWl0ZW0nOiB0cnVlfSxcbiAgaW1wbGljaXRseUNsb3NlZDogeydkZCc6IHRydWUsICdsaSc6IHRydWUsICdvcHRncm91cCc6IHRydWUsICdvcHRpb24nOiB0cnVlLCAncCc6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAncnAnOiB0cnVlLCAncnQnOiB0cnVlLCAndGJvZHknOiB0cnVlLCAndGQnOiB0cnVlLCAndGZvb3QnOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgJ3RoJzogdHJ1ZSwgJ3RyJzogdHJ1ZX0sXG4gIGNvbnRleHRHcmFiYmVyczoge1xuICAgICdkZCc6IHsnZGQnOiB0cnVlLCAnZHQnOiB0cnVlfSxcbiAgICAnZHQnOiB7J2RkJzogdHJ1ZSwgJ2R0JzogdHJ1ZX0sXG4gICAgJ2xpJzogeydsaSc6IHRydWV9LFxuICAgICdvcHRpb24nOiB7J29wdGlvbic6IHRydWUsICdvcHRncm91cCc6IHRydWV9LFxuICAgICdvcHRncm91cCc6IHsnb3B0Z3JvdXAnOiB0cnVlfSxcbiAgICAncCc6IHsnYWRkcmVzcyc6IHRydWUsICdhcnRpY2xlJzogdHJ1ZSwgJ2FzaWRlJzogdHJ1ZSwgJ2Jsb2NrcXVvdGUnOiB0cnVlLCAnZGlyJzogdHJ1ZSxcbiAgICAgICAgICAnZGl2JzogdHJ1ZSwgJ2RsJzogdHJ1ZSwgJ2ZpZWxkc2V0JzogdHJ1ZSwgJ2Zvb3Rlcic6IHRydWUsICdmb3JtJzogdHJ1ZSxcbiAgICAgICAgICAnaDEnOiB0cnVlLCAnaDInOiB0cnVlLCAnaDMnOiB0cnVlLCAnaDQnOiB0cnVlLCAnaDUnOiB0cnVlLCAnaDYnOiB0cnVlLFxuICAgICAgICAgICdoZWFkZXInOiB0cnVlLCAnaGdyb3VwJzogdHJ1ZSwgJ2hyJzogdHJ1ZSwgJ21lbnUnOiB0cnVlLCAnbmF2JzogdHJ1ZSwgJ29sJzogdHJ1ZSxcbiAgICAgICAgICAncCc6IHRydWUsICdwcmUnOiB0cnVlLCAnc2VjdGlvbic6IHRydWUsICd0YWJsZSc6IHRydWUsICd1bCc6IHRydWV9LFxuICAgICdycCc6IHsncnAnOiB0cnVlLCAncnQnOiB0cnVlfSxcbiAgICAncnQnOiB7J3JwJzogdHJ1ZSwgJ3J0JzogdHJ1ZX0sXG4gICAgJ3Rib2R5Jzogeyd0Ym9keSc6IHRydWUsICd0Zm9vdCc6IHRydWV9LFxuICAgICd0ZCc6IHsndGQnOiB0cnVlLCAndGgnOiB0cnVlfSxcbiAgICAndGZvb3QnOiB7J3Rib2R5JzogdHJ1ZX0sXG4gICAgJ3RoJzogeyd0ZCc6IHRydWUsICd0aCc6IHRydWV9LFxuICAgICd0aGVhZCc6IHsndGJvZHknOiB0cnVlLCAndGZvb3QnOiB0cnVlfSxcbiAgICAndHInOiB7J3RyJzogdHJ1ZX1cbiAgfSxcbiAgZG9Ob3RJbmRlbnQ6IHtcInByZVwiOiB0cnVlfSxcbiAgYWxsb3dVbnF1b3RlZDogdHJ1ZSxcbiAgYWxsb3dNaXNzaW5nOiB0cnVlLFxuICBjYXNlRm9sZDogdHJ1ZVxufVxuXG52YXIgeG1sQ29uZmlnID0ge1xuICBhdXRvU2VsZkNsb3NlcnM6IHt9LFxuICBpbXBsaWNpdGx5Q2xvc2VkOiB7fSxcbiAgY29udGV4dEdyYWJiZXJzOiB7fSxcbiAgZG9Ob3RJbmRlbnQ6IHt9LFxuICBhbGxvd1VucXVvdGVkOiBmYWxzZSxcbiAgYWxsb3dNaXNzaW5nOiBmYWxzZSxcbiAgYWxsb3dNaXNzaW5nVGFnTmFtZTogZmFsc2UsXG4gIGNhc2VGb2xkOiBmYWxzZVxufVxuXG5Db2RlTWlycm9yLmRlZmluZU1vZGUoXCJ4bWxcIiwgZnVuY3Rpb24oZWRpdG9yQ29uZiwgY29uZmlnXykge1xuICB2YXIgaW5kZW50VW5pdCA9IGVkaXRvckNvbmYuaW5kZW50VW5pdFxuICB2YXIgY29uZmlnID0ge31cbiAgdmFyIGRlZmF1bHRzID0gY29uZmlnXy5odG1sTW9kZSA/IGh0bWxDb25maWcgOiB4bWxDb25maWdcbiAgZm9yICh2YXIgcHJvcCBpbiBkZWZhdWx0cykgY29uZmlnW3Byb3BdID0gZGVmYXVsdHNbcHJvcF1cbiAgZm9yICh2YXIgcHJvcCBpbiBjb25maWdfKSBjb25maWdbcHJvcF0gPSBjb25maWdfW3Byb3BdXG5cbiAgLy8gUmV0dXJuIHZhcmlhYmxlcyBmb3IgdG9rZW5pemVyc1xuICB2YXIgdHlwZSwgc2V0U3R5bGU7XG5cbiAgZnVuY3Rpb24gaW5UZXh0KHN0cmVhbSwgc3RhdGUpIHtcbiAgICBmdW5jdGlvbiBjaGFpbihwYXJzZXIpIHtcbiAgICAgIHN0YXRlLnRva2VuaXplID0gcGFyc2VyO1xuICAgICAgcmV0dXJuIHBhcnNlcihzdHJlYW0sIHN0YXRlKTtcbiAgICB9XG5cbiAgICB2YXIgY2ggPSBzdHJlYW0ubmV4dCgpO1xuICAgIGlmIChjaCA9PSBcIjxcIikge1xuICAgICAgaWYgKHN0cmVhbS5lYXQoXCIhXCIpKSB7XG4gICAgICAgIGlmIChzdHJlYW0uZWF0KFwiW1wiKSkge1xuICAgICAgICAgIGlmIChzdHJlYW0ubWF0Y2goXCJDREFUQVtcIikpIHJldHVybiBjaGFpbihpbkJsb2NrKFwiYXRvbVwiLCBcIl1dPlwiKSk7XG4gICAgICAgICAgZWxzZSByZXR1cm4gbnVsbDtcbiAgICAgICAgfSBlbHNlIGlmIChzdHJlYW0ubWF0Y2goXCItLVwiKSkge1xuICAgICAgICAgIHJldHVybiBjaGFpbihpbkJsb2NrKFwiY29tbWVudFwiLCBcIi0tPlwiKSk7XG4gICAgICAgIH0gZWxzZSBpZiAoc3RyZWFtLm1hdGNoKFwiRE9DVFlQRVwiLCB0cnVlLCB0cnVlKSkge1xuICAgICAgICAgIHN0cmVhbS5lYXRXaGlsZSgvW1xcd1xcLl9cXC1dLyk7XG4gICAgICAgICAgcmV0dXJuIGNoYWluKGRvY3R5cGUoMSkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKHN0cmVhbS5lYXQoXCI/XCIpKSB7XG4gICAgICAgIHN0cmVhbS5lYXRXaGlsZSgvW1xcd1xcLl9cXC1dLyk7XG4gICAgICAgIHN0YXRlLnRva2VuaXplID0gaW5CbG9jayhcIm1ldGFcIiwgXCI/PlwiKTtcbiAgICAgICAgcmV0dXJuIFwibWV0YVwiO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdHlwZSA9IHN0cmVhbS5lYXQoXCIvXCIpID8gXCJjbG9zZVRhZ1wiIDogXCJvcGVuVGFnXCI7XG4gICAgICAgIHN0YXRlLnRva2VuaXplID0gaW5UYWc7XG4gICAgICAgIHJldHVybiBcInRhZyBicmFja2V0XCI7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChjaCA9PSBcIiZcIikge1xuICAgICAgdmFyIG9rO1xuICAgICAgaWYgKHN0cmVhbS5lYXQoXCIjXCIpKSB7XG4gICAgICAgIGlmIChzdHJlYW0uZWF0KFwieFwiKSkge1xuICAgICAgICAgIG9rID0gc3RyZWFtLmVhdFdoaWxlKC9bYS1mQS1GXFxkXS8pICYmIHN0cmVhbS5lYXQoXCI7XCIpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIG9rID0gc3RyZWFtLmVhdFdoaWxlKC9bXFxkXS8pICYmIHN0cmVhbS5lYXQoXCI7XCIpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBvayA9IHN0cmVhbS5lYXRXaGlsZSgvW1xcd1xcLlxcLTpdLykgJiYgc3RyZWFtLmVhdChcIjtcIik7XG4gICAgICB9XG4gICAgICByZXR1cm4gb2sgPyBcImF0b21cIiA6IFwiZXJyb3JcIjtcbiAgICB9IGVsc2Uge1xuICAgICAgc3RyZWFtLmVhdFdoaWxlKC9bXiY8XS8pO1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG4gIGluVGV4dC5pc0luVGV4dCA9IHRydWU7XG5cbiAgZnVuY3Rpb24gaW5UYWcoc3RyZWFtLCBzdGF0ZSkge1xuICAgIHZhciBjaCA9IHN0cmVhbS5uZXh0KCk7XG4gICAgaWYgKGNoID09IFwiPlwiIHx8IChjaCA9PSBcIi9cIiAmJiBzdHJlYW0uZWF0KFwiPlwiKSkpIHtcbiAgICAgIHN0YXRlLnRva2VuaXplID0gaW5UZXh0O1xuICAgICAgdHlwZSA9IGNoID09IFwiPlwiID8gXCJlbmRUYWdcIiA6IFwic2VsZmNsb3NlVGFnXCI7XG4gICAgICByZXR1cm4gXCJ0YWcgYnJhY2tldFwiO1xuICAgIH0gZWxzZSBpZiAoY2ggPT0gXCI9XCIpIHtcbiAgICAgIHR5cGUgPSBcImVxdWFsc1wiO1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfSBlbHNlIGlmIChjaCA9PSBcIjxcIikge1xuICAgICAgc3RhdGUudG9rZW5pemUgPSBpblRleHQ7XG4gICAgICBzdGF0ZS5zdGF0ZSA9IGJhc2VTdGF0ZTtcbiAgICAgIHN0YXRlLnRhZ05hbWUgPSBzdGF0ZS50YWdTdGFydCA9IG51bGw7XG4gICAgICB2YXIgbmV4dCA9IHN0YXRlLnRva2VuaXplKHN0cmVhbSwgc3RhdGUpO1xuICAgICAgcmV0dXJuIG5leHQgPyBuZXh0ICsgXCIgdGFnIGVycm9yXCIgOiBcInRhZyBlcnJvclwiO1xuICAgIH0gZWxzZSBpZiAoL1tcXCdcXFwiXS8udGVzdChjaCkpIHtcbiAgICAgIHN0YXRlLnRva2VuaXplID0gaW5BdHRyaWJ1dGUoY2gpO1xuICAgICAgc3RhdGUuc3RyaW5nU3RhcnRDb2wgPSBzdHJlYW0uY29sdW1uKCk7XG4gICAgICByZXR1cm4gc3RhdGUudG9rZW5pemUoc3RyZWFtLCBzdGF0ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHN0cmVhbS5tYXRjaCgvXlteXFxzXFx1MDBhMD08PlxcXCJcXCddKlteXFxzXFx1MDBhMD08PlxcXCJcXCdcXC9dLyk7XG4gICAgICByZXR1cm4gXCJ3b3JkXCI7XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gaW5BdHRyaWJ1dGUocXVvdGUpIHtcbiAgICB2YXIgY2xvc3VyZSA9IGZ1bmN0aW9uKHN0cmVhbSwgc3RhdGUpIHtcbiAgICAgIHdoaWxlICghc3RyZWFtLmVvbCgpKSB7XG4gICAgICAgIGlmIChzdHJlYW0ubmV4dCgpID09IHF1b3RlKSB7XG4gICAgICAgICAgc3RhdGUudG9rZW5pemUgPSBpblRhZztcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIFwic3RyaW5nXCI7XG4gICAgfTtcbiAgICBjbG9zdXJlLmlzSW5BdHRyaWJ1dGUgPSB0cnVlO1xuICAgIHJldHVybiBjbG9zdXJlO1xuICB9XG5cbiAgZnVuY3Rpb24gaW5CbG9jayhzdHlsZSwgdGVybWluYXRvcikge1xuICAgIHJldHVybiBmdW5jdGlvbihzdHJlYW0sIHN0YXRlKSB7XG4gICAgICB3aGlsZSAoIXN0cmVhbS5lb2woKSkge1xuICAgICAgICBpZiAoc3RyZWFtLm1hdGNoKHRlcm1pbmF0b3IpKSB7XG4gICAgICAgICAgc3RhdGUudG9rZW5pemUgPSBpblRleHQ7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgc3RyZWFtLm5leHQoKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBzdHlsZTtcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBkb2N0eXBlKGRlcHRoKSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uKHN0cmVhbSwgc3RhdGUpIHtcbiAgICAgIHZhciBjaDtcbiAgICAgIHdoaWxlICgoY2ggPSBzdHJlYW0ubmV4dCgpKSAhPSBudWxsKSB7XG4gICAgICAgIGlmIChjaCA9PSBcIjxcIikge1xuICAgICAgICAgIHN0YXRlLnRva2VuaXplID0gZG9jdHlwZShkZXB0aCArIDEpO1xuICAgICAgICAgIHJldHVybiBzdGF0ZS50b2tlbml6ZShzdHJlYW0sIHN0YXRlKTtcbiAgICAgICAgfSBlbHNlIGlmIChjaCA9PSBcIj5cIikge1xuICAgICAgICAgIGlmIChkZXB0aCA9PSAxKSB7XG4gICAgICAgICAgICBzdGF0ZS50b2tlbml6ZSA9IGluVGV4dDtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzdGF0ZS50b2tlbml6ZSA9IGRvY3R5cGUoZGVwdGggLSAxKTtcbiAgICAgICAgICAgIHJldHVybiBzdGF0ZS50b2tlbml6ZShzdHJlYW0sIHN0YXRlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBcIm1ldGFcIjtcbiAgICB9O1xuICB9XG5cbiAgZnVuY3Rpb24gQ29udGV4dChzdGF0ZSwgdGFnTmFtZSwgc3RhcnRPZkxpbmUpIHtcbiAgICB0aGlzLnByZXYgPSBzdGF0ZS5jb250ZXh0O1xuICAgIHRoaXMudGFnTmFtZSA9IHRhZ05hbWU7XG4gICAgdGhpcy5pbmRlbnQgPSBzdGF0ZS5pbmRlbnRlZDtcbiAgICB0aGlzLnN0YXJ0T2ZMaW5lID0gc3RhcnRPZkxpbmU7XG4gICAgaWYgKGNvbmZpZy5kb05vdEluZGVudC5oYXNPd25Qcm9wZXJ0eSh0YWdOYW1lKSB8fCAoc3RhdGUuY29udGV4dCAmJiBzdGF0ZS5jb250ZXh0Lm5vSW5kZW50KSlcbiAgICAgIHRoaXMubm9JbmRlbnQgPSB0cnVlO1xuICB9XG4gIGZ1bmN0aW9uIHBvcENvbnRleHQoc3RhdGUpIHtcbiAgICBpZiAoc3RhdGUuY29udGV4dCkgc3RhdGUuY29udGV4dCA9IHN0YXRlLmNvbnRleHQucHJldjtcbiAgfVxuICBmdW5jdGlvbiBtYXliZVBvcENvbnRleHQoc3RhdGUsIG5leHRUYWdOYW1lKSB7XG4gICAgdmFyIHBhcmVudFRhZ05hbWU7XG4gICAgd2hpbGUgKHRydWUpIHtcbiAgICAgIGlmICghc3RhdGUuY29udGV4dCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBwYXJlbnRUYWdOYW1lID0gc3RhdGUuY29udGV4dC50YWdOYW1lO1xuICAgICAgaWYgKCFjb25maWcuY29udGV4dEdyYWJiZXJzLmhhc093blByb3BlcnR5KHBhcmVudFRhZ05hbWUpIHx8XG4gICAgICAgICAgIWNvbmZpZy5jb250ZXh0R3JhYmJlcnNbcGFyZW50VGFnTmFtZV0uaGFzT3duUHJvcGVydHkobmV4dFRhZ05hbWUpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIHBvcENvbnRleHQoc3RhdGUpO1xuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIGJhc2VTdGF0ZSh0eXBlLCBzdHJlYW0sIHN0YXRlKSB7XG4gICAgaWYgKHR5cGUgPT0gXCJvcGVuVGFnXCIpIHtcbiAgICAgIHN0YXRlLnRhZ1N0YXJ0ID0gc3RyZWFtLmNvbHVtbigpO1xuICAgICAgcmV0dXJuIHRhZ05hbWVTdGF0ZTtcbiAgICB9IGVsc2UgaWYgKHR5cGUgPT0gXCJjbG9zZVRhZ1wiKSB7XG4gICAgICByZXR1cm4gY2xvc2VUYWdOYW1lU3RhdGU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBiYXNlU3RhdGU7XG4gICAgfVxuICB9XG4gIGZ1bmN0aW9uIHRhZ05hbWVTdGF0ZSh0eXBlLCBzdHJlYW0sIHN0YXRlKSB7XG4gICAgaWYgKHR5cGUgPT0gXCJ3b3JkXCIpIHtcbiAgICAgIHN0YXRlLnRhZ05hbWUgPSBzdHJlYW0uY3VycmVudCgpO1xuICAgICAgc2V0U3R5bGUgPSBcInRhZ1wiO1xuICAgICAgcmV0dXJuIGF0dHJTdGF0ZTtcbiAgICB9IGVsc2UgaWYgKGNvbmZpZy5hbGxvd01pc3NpbmdUYWdOYW1lICYmIHR5cGUgPT0gXCJlbmRUYWdcIikge1xuICAgICAgc2V0U3R5bGUgPSBcInRhZyBicmFja2V0XCI7XG4gICAgICByZXR1cm4gYXR0clN0YXRlKHR5cGUsIHN0cmVhbSwgc3RhdGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBzZXRTdHlsZSA9IFwiZXJyb3JcIjtcbiAgICAgIHJldHVybiB0YWdOYW1lU3RhdGU7XG4gICAgfVxuICB9XG4gIGZ1bmN0aW9uIGNsb3NlVGFnTmFtZVN0YXRlKHR5cGUsIHN0cmVhbSwgc3RhdGUpIHtcbiAgICBpZiAodHlwZSA9PSBcIndvcmRcIikge1xuICAgICAgdmFyIHRhZ05hbWUgPSBzdHJlYW0uY3VycmVudCgpO1xuICAgICAgaWYgKHN0YXRlLmNvbnRleHQgJiYgc3RhdGUuY29udGV4dC50YWdOYW1lICE9IHRhZ05hbWUgJiZcbiAgICAgICAgICBjb25maWcuaW1wbGljaXRseUNsb3NlZC5oYXNPd25Qcm9wZXJ0eShzdGF0ZS5jb250ZXh0LnRhZ05hbWUpKVxuICAgICAgICBwb3BDb250ZXh0KHN0YXRlKTtcbiAgICAgIGlmICgoc3RhdGUuY29udGV4dCAmJiBzdGF0ZS5jb250ZXh0LnRhZ05hbWUgPT0gdGFnTmFtZSkgfHwgY29uZmlnLm1hdGNoQ2xvc2luZyA9PT0gZmFsc2UpIHtcbiAgICAgICAgc2V0U3R5bGUgPSBcInRhZ1wiO1xuICAgICAgICByZXR1cm4gY2xvc2VTdGF0ZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNldFN0eWxlID0gXCJ0YWcgZXJyb3JcIjtcbiAgICAgICAgcmV0dXJuIGNsb3NlU3RhdGVFcnI7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChjb25maWcuYWxsb3dNaXNzaW5nVGFnTmFtZSAmJiB0eXBlID09IFwiZW5kVGFnXCIpIHtcbiAgICAgIHNldFN0eWxlID0gXCJ0YWcgYnJhY2tldFwiO1xuICAgICAgcmV0dXJuIGNsb3NlU3RhdGUodHlwZSwgc3RyZWFtLCBzdGF0ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHNldFN0eWxlID0gXCJlcnJvclwiO1xuICAgICAgcmV0dXJuIGNsb3NlU3RhdGVFcnI7XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gY2xvc2VTdGF0ZSh0eXBlLCBfc3RyZWFtLCBzdGF0ZSkge1xuICAgIGlmICh0eXBlICE9IFwiZW5kVGFnXCIpIHtcbiAgICAgIHNldFN0eWxlID0gXCJlcnJvclwiO1xuICAgICAgcmV0dXJuIGNsb3NlU3RhdGU7XG4gICAgfVxuICAgIHBvcENvbnRleHQoc3RhdGUpO1xuICAgIHJldHVybiBiYXNlU3RhdGU7XG4gIH1cbiAgZnVuY3Rpb24gY2xvc2VTdGF0ZUVycih0eXBlLCBzdHJlYW0sIHN0YXRlKSB7XG4gICAgc2V0U3R5bGUgPSBcImVycm9yXCI7XG4gICAgcmV0dXJuIGNsb3NlU3RhdGUodHlwZSwgc3RyZWFtLCBzdGF0ZSk7XG4gIH1cblxuICBmdW5jdGlvbiBhdHRyU3RhdGUodHlwZSwgX3N0cmVhbSwgc3RhdGUpIHtcbiAgICBpZiAodHlwZSA9PSBcIndvcmRcIikge1xuICAgICAgc2V0U3R5bGUgPSBcImF0dHJpYnV0ZVwiO1xuICAgICAgcmV0dXJuIGF0dHJFcVN0YXRlO1xuICAgIH0gZWxzZSBpZiAodHlwZSA9PSBcImVuZFRhZ1wiIHx8IHR5cGUgPT0gXCJzZWxmY2xvc2VUYWdcIikge1xuICAgICAgdmFyIHRhZ05hbWUgPSBzdGF0ZS50YWdOYW1lLCB0YWdTdGFydCA9IHN0YXRlLnRhZ1N0YXJ0O1xuICAgICAgc3RhdGUudGFnTmFtZSA9IHN0YXRlLnRhZ1N0YXJ0ID0gbnVsbDtcbiAgICAgIGlmICh0eXBlID09IFwic2VsZmNsb3NlVGFnXCIgfHxcbiAgICAgICAgICBjb25maWcuYXV0b1NlbGZDbG9zZXJzLmhhc093blByb3BlcnR5KHRhZ05hbWUpKSB7XG4gICAgICAgIG1heWJlUG9wQ29udGV4dChzdGF0ZSwgdGFnTmFtZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBtYXliZVBvcENvbnRleHQoc3RhdGUsIHRhZ05hbWUpO1xuICAgICAgICBzdGF0ZS5jb250ZXh0ID0gbmV3IENvbnRleHQoc3RhdGUsIHRhZ05hbWUsIHRhZ1N0YXJ0ID09IHN0YXRlLmluZGVudGVkKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBiYXNlU3RhdGU7XG4gICAgfVxuICAgIHNldFN0eWxlID0gXCJlcnJvclwiO1xuICAgIHJldHVybiBhdHRyU3RhdGU7XG4gIH1cbiAgZnVuY3Rpb24gYXR0ckVxU3RhdGUodHlwZSwgc3RyZWFtLCBzdGF0ZSkge1xuICAgIGlmICh0eXBlID09IFwiZXF1YWxzXCIpIHJldHVybiBhdHRyVmFsdWVTdGF0ZTtcbiAgICBpZiAoIWNvbmZpZy5hbGxvd01pc3NpbmcpIHNldFN0eWxlID0gXCJlcnJvclwiO1xuICAgIHJldHVybiBhdHRyU3RhdGUodHlwZSwgc3RyZWFtLCBzdGF0ZSk7XG4gIH1cbiAgZnVuY3Rpb24gYXR0clZhbHVlU3RhdGUodHlwZSwgc3RyZWFtLCBzdGF0ZSkge1xuICAgIGlmICh0eXBlID09IFwic3RyaW5nXCIpIHJldHVybiBhdHRyQ29udGludWVkU3RhdGU7XG4gICAgaWYgKHR5cGUgPT0gXCJ3b3JkXCIgJiYgY29uZmlnLmFsbG93VW5xdW90ZWQpIHtzZXRTdHlsZSA9IFwic3RyaW5nXCI7IHJldHVybiBhdHRyU3RhdGU7fVxuICAgIHNldFN0eWxlID0gXCJlcnJvclwiO1xuICAgIHJldHVybiBhdHRyU3RhdGUodHlwZSwgc3RyZWFtLCBzdGF0ZSk7XG4gIH1cbiAgZnVuY3Rpb24gYXR0ckNvbnRpbnVlZFN0YXRlKHR5cGUsIHN0cmVhbSwgc3RhdGUpIHtcbiAgICBpZiAodHlwZSA9PSBcInN0cmluZ1wiKSByZXR1cm4gYXR0ckNvbnRpbnVlZFN0YXRlO1xuICAgIHJldHVybiBhdHRyU3RhdGUodHlwZSwgc3RyZWFtLCBzdGF0ZSk7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHN0YXJ0U3RhdGU6IGZ1bmN0aW9uKGJhc2VJbmRlbnQpIHtcbiAgICAgIHZhciBzdGF0ZSA9IHt0b2tlbml6ZTogaW5UZXh0LFxuICAgICAgICAgICAgICAgICAgIHN0YXRlOiBiYXNlU3RhdGUsXG4gICAgICAgICAgICAgICAgICAgaW5kZW50ZWQ6IGJhc2VJbmRlbnQgfHwgMCxcbiAgICAgICAgICAgICAgICAgICB0YWdOYW1lOiBudWxsLCB0YWdTdGFydDogbnVsbCxcbiAgICAgICAgICAgICAgICAgICBjb250ZXh0OiBudWxsfVxuICAgICAgaWYgKGJhc2VJbmRlbnQgIT0gbnVsbCkgc3RhdGUuYmFzZUluZGVudCA9IGJhc2VJbmRlbnRcbiAgICAgIHJldHVybiBzdGF0ZVxuICAgIH0sXG5cbiAgICB0b2tlbjogZnVuY3Rpb24oc3RyZWFtLCBzdGF0ZSkge1xuICAgICAgaWYgKCFzdGF0ZS50YWdOYW1lICYmIHN0cmVhbS5zb2woKSlcbiAgICAgICAgc3RhdGUuaW5kZW50ZWQgPSBzdHJlYW0uaW5kZW50YXRpb24oKTtcblxuICAgICAgaWYgKHN0cmVhbS5lYXRTcGFjZSgpKSByZXR1cm4gbnVsbDtcbiAgICAgIHR5cGUgPSBudWxsO1xuICAgICAgdmFyIHN0eWxlID0gc3RhdGUudG9rZW5pemUoc3RyZWFtLCBzdGF0ZSk7XG4gICAgICBpZiAoKHN0eWxlIHx8IHR5cGUpICYmIHN0eWxlICE9IFwiY29tbWVudFwiKSB7XG4gICAgICAgIHNldFN0eWxlID0gbnVsbDtcbiAgICAgICAgc3RhdGUuc3RhdGUgPSBzdGF0ZS5zdGF0ZSh0eXBlIHx8IHN0eWxlLCBzdHJlYW0sIHN0YXRlKTtcbiAgICAgICAgaWYgKHNldFN0eWxlKVxuICAgICAgICAgIHN0eWxlID0gc2V0U3R5bGUgPT0gXCJlcnJvclwiID8gc3R5bGUgKyBcIiBlcnJvclwiIDogc2V0U3R5bGU7XG4gICAgICB9XG4gICAgICByZXR1cm4gc3R5bGU7XG4gICAgfSxcblxuICAgIGluZGVudDogZnVuY3Rpb24oc3RhdGUsIHRleHRBZnRlciwgZnVsbExpbmUpIHtcbiAgICAgIHZhciBjb250ZXh0ID0gc3RhdGUuY29udGV4dDtcbiAgICAgIC8vIEluZGVudCBtdWx0aS1saW5lIHN0cmluZ3MgKGUuZy4gY3NzKS5cbiAgICAgIGlmIChzdGF0ZS50b2tlbml6ZS5pc0luQXR0cmlidXRlKSB7XG4gICAgICAgIGlmIChzdGF0ZS50YWdTdGFydCA9PSBzdGF0ZS5pbmRlbnRlZClcbiAgICAgICAgICByZXR1cm4gc3RhdGUuc3RyaW5nU3RhcnRDb2wgKyAxO1xuICAgICAgICBlbHNlXG4gICAgICAgICAgcmV0dXJuIHN0YXRlLmluZGVudGVkICsgaW5kZW50VW5pdDtcbiAgICAgIH1cbiAgICAgIGlmIChjb250ZXh0ICYmIGNvbnRleHQubm9JbmRlbnQpIHJldHVybiBDb2RlTWlycm9yLlBhc3M7XG4gICAgICBpZiAoc3RhdGUudG9rZW5pemUgIT0gaW5UYWcgJiYgc3RhdGUudG9rZW5pemUgIT0gaW5UZXh0KVxuICAgICAgICByZXR1cm4gZnVsbExpbmUgPyBmdWxsTGluZS5tYXRjaCgvXihcXHMqKS8pWzBdLmxlbmd0aCA6IDA7XG4gICAgICAvLyBJbmRlbnQgdGhlIHN0YXJ0cyBvZiBhdHRyaWJ1dGUgbmFtZXMuXG4gICAgICBpZiAoc3RhdGUudGFnTmFtZSkge1xuICAgICAgICBpZiAoY29uZmlnLm11bHRpbGluZVRhZ0luZGVudFBhc3RUYWcgIT09IGZhbHNlKVxuICAgICAgICAgIHJldHVybiBzdGF0ZS50YWdTdGFydCArIHN0YXRlLnRhZ05hbWUubGVuZ3RoICsgMjtcbiAgICAgICAgZWxzZVxuICAgICAgICAgIHJldHVybiBzdGF0ZS50YWdTdGFydCArIGluZGVudFVuaXQgKiAoY29uZmlnLm11bHRpbGluZVRhZ0luZGVudEZhY3RvciB8fCAxKTtcbiAgICAgIH1cbiAgICAgIGlmIChjb25maWcuYWxpZ25DREFUQSAmJiAvPCFcXFtDREFUQVxcWy8udGVzdCh0ZXh0QWZ0ZXIpKSByZXR1cm4gMDtcbiAgICAgIHZhciB0YWdBZnRlciA9IHRleHRBZnRlciAmJiAvXjwoXFwvKT8oW1xcd186XFwuLV0qKS8uZXhlYyh0ZXh0QWZ0ZXIpO1xuICAgICAgaWYgKHRhZ0FmdGVyICYmIHRhZ0FmdGVyWzFdKSB7IC8vIENsb3NpbmcgdGFnIHNwb3R0ZWRcbiAgICAgICAgd2hpbGUgKGNvbnRleHQpIHtcbiAgICAgICAgICBpZiAoY29udGV4dC50YWdOYW1lID09IHRhZ0FmdGVyWzJdKSB7XG4gICAgICAgICAgICBjb250ZXh0ID0gY29udGV4dC5wcmV2O1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfSBlbHNlIGlmIChjb25maWcuaW1wbGljaXRseUNsb3NlZC5oYXNPd25Qcm9wZXJ0eShjb250ZXh0LnRhZ05hbWUpKSB7XG4gICAgICAgICAgICBjb250ZXh0ID0gY29udGV4dC5wcmV2O1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAodGFnQWZ0ZXIpIHsgLy8gT3BlbmluZyB0YWcgc3BvdHRlZFxuICAgICAgICB3aGlsZSAoY29udGV4dCkge1xuICAgICAgICAgIHZhciBncmFiYmVycyA9IGNvbmZpZy5jb250ZXh0R3JhYmJlcnNbY29udGV4dC50YWdOYW1lXTtcbiAgICAgICAgICBpZiAoZ3JhYmJlcnMgJiYgZ3JhYmJlcnMuaGFzT3duUHJvcGVydHkodGFnQWZ0ZXJbMl0pKVxuICAgICAgICAgICAgY29udGV4dCA9IGNvbnRleHQucHJldjtcbiAgICAgICAgICBlbHNlXG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgd2hpbGUgKGNvbnRleHQgJiYgY29udGV4dC5wcmV2ICYmICFjb250ZXh0LnN0YXJ0T2ZMaW5lKVxuICAgICAgICBjb250ZXh0ID0gY29udGV4dC5wcmV2O1xuICAgICAgaWYgKGNvbnRleHQpIHJldHVybiBjb250ZXh0LmluZGVudCArIGluZGVudFVuaXQ7XG4gICAgICBlbHNlIHJldHVybiBzdGF0ZS5iYXNlSW5kZW50IHx8IDA7XG4gICAgfSxcblxuICAgIGVsZWN0cmljSW5wdXQ6IC88XFwvW1xcc1xcdzpdKz4kLyxcbiAgICBibG9ja0NvbW1lbnRTdGFydDogXCI8IS0tXCIsXG4gICAgYmxvY2tDb21tZW50RW5kOiBcIi0tPlwiLFxuXG4gICAgY29uZmlndXJhdGlvbjogY29uZmlnLmh0bWxNb2RlID8gXCJodG1sXCIgOiBcInhtbFwiLFxuICAgIGhlbHBlclR5cGU6IGNvbmZpZy5odG1sTW9kZSA/IFwiaHRtbFwiIDogXCJ4bWxcIixcblxuICAgIHNraXBBdHRyaWJ1dGU6IGZ1bmN0aW9uKHN0YXRlKSB7XG4gICAgICBpZiAoc3RhdGUuc3RhdGUgPT0gYXR0clZhbHVlU3RhdGUpXG4gICAgICAgIHN0YXRlLnN0YXRlID0gYXR0clN0YXRlXG4gICAgfVxuICB9O1xufSk7XG5cbkNvZGVNaXJyb3IuZGVmaW5lTUlNRShcInRleHQveG1sXCIsIFwieG1sXCIpO1xuQ29kZU1pcnJvci5kZWZpbmVNSU1FKFwiYXBwbGljYXRpb24veG1sXCIsIFwieG1sXCIpO1xuaWYgKCFDb2RlTWlycm9yLm1pbWVNb2Rlcy5oYXNPd25Qcm9wZXJ0eShcInRleHQvaHRtbFwiKSlcbiAgQ29kZU1pcnJvci5kZWZpbmVNSU1FKFwidGV4dC9odG1sXCIsIHtuYW1lOiBcInhtbFwiLCBodG1sTW9kZTogdHJ1ZX0pO1xuXG59KTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/codemirror/mode/xml/xml.js\n"); /***/ }), /***/ "./node_modules/codemirror/mode/yaml/yaml.js": /*!***************************************************!*\ !*** ./node_modules/codemirror/mode/yaml/yaml.js ***! \***************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ \"./node_modules/codemirror/lib/codemirror.js\"));\n else {}\n})(function(CodeMirror) {\n\"use strict\";\n\nCodeMirror.defineMode(\"yaml\", function() {\n\n var cons = ['true', 'false', 'on', 'off', 'yes', 'no'];\n var keywordRegex = new RegExp(\"\\\\b((\"+cons.join(\")|(\")+\"))$\", 'i');\n\n return {\n token: function(stream, state) {\n var ch = stream.peek();\n var esc = state.escaped;\n state.escaped = false;\n /* comments */\n if (ch == \"#\" && (stream.pos == 0 || /\\s/.test(stream.string.charAt(stream.pos - 1)))) {\n stream.skipToEnd();\n return \"comment\";\n }\n\n if (stream.match(/^('([^']|\\\\.)*'?|\"([^\"]|\\\\.)*\"?)/))\n return \"string\";\n\n if (state.literal && stream.indentation() > state.keyCol) {\n stream.skipToEnd(); return \"string\";\n } else if (state.literal) { state.literal = false; }\n if (stream.sol()) {\n state.keyCol = 0;\n state.pair = false;\n state.pairStart = false;\n /* document start */\n if(stream.match(/---/)) { return \"def\"; }\n /* document end */\n if (stream.match(/\\.\\.\\./)) { return \"def\"; }\n /* array list item */\n if (stream.match(/\\s*-\\s+/)) { return 'meta'; }\n }\n /* inline pairs/lists */\n if (stream.match(/^(\\{|\\}|\\[|\\])/)) {\n if (ch == '{')\n state.inlinePairs++;\n else if (ch == '}')\n state.inlinePairs--;\n else if (ch == '[')\n state.inlineList++;\n else\n state.inlineList--;\n return 'meta';\n }\n\n /* list seperator */\n if (state.inlineList > 0 && !esc && ch == ',') {\n stream.next();\n return 'meta';\n }\n /* pairs seperator */\n if (state.inlinePairs > 0 && !esc && ch == ',') {\n state.keyCol = 0;\n state.pair = false;\n state.pairStart = false;\n stream.next();\n return 'meta';\n }\n\n /* start of value of a pair */\n if (state.pairStart) {\n /* block literals */\n if (stream.match(/^\\s*(\\||\\>)\\s*/)) { state.literal = true; return 'meta'; };\n /* references */\n if (stream.match(/^\\s*(\\&|\\*)[a-z0-9\\._-]+\\b/i)) { return 'variable-2'; }\n /* numbers */\n if (state.inlinePairs == 0 && stream.match(/^\\s*-?[0-9\\.\\,]+\\s?$/)) { return 'number'; }\n if (state.inlinePairs > 0 && stream.match(/^\\s*-?[0-9\\.\\,]+\\s?(?=(,|}))/)) { return 'number'; }\n /* keywords */\n if (stream.match(keywordRegex)) { return 'keyword'; }\n }\n\n /* pairs (associative arrays) -> key */\n if (!state.pair && stream.match(/^\\s*(?:[,\\[\\]{}&*!|>'\"%@`][^\\s'\":]|[^,\\[\\]{}#&*!|>'\"%@`])[^#]*?(?=\\s*:($|\\s))/)) {\n state.pair = true;\n state.keyCol = stream.indentation();\n return \"atom\";\n }\n if (state.pair && stream.match(/^:\\s*/)) { state.pairStart = true; return 'meta'; }\n\n /* nothing found, continue */\n state.pairStart = false;\n state.escaped = (ch == '\\\\');\n stream.next();\n return null;\n },\n startState: function() {\n return {\n pair: false,\n pairStart: false,\n keyCol: 0,\n inlinePairs: 0,\n inlineList: 0,\n literal: false,\n escaped: false\n };\n },\n lineComment: \"#\",\n fold: \"indent\"\n };\n});\n\nCodeMirror.defineMIME(\"text/x-yaml\", \"yaml\");\nCodeMirror.defineMIME(\"text/yaml\", \"yaml\");\n\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9tb2RlL3lhbWwveWFtbC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb2RlbWlycm9yL21vZGUveWFtbC95YW1sLmpzP2NlZDAiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29kZU1pcnJvciwgY29weXJpZ2h0IChjKSBieSBNYXJpam4gSGF2ZXJiZWtlIGFuZCBvdGhlcnNcbi8vIERpc3RyaWJ1dGVkIHVuZGVyIGFuIE1JVCBsaWNlbnNlOiBodHRwczovL2NvZGVtaXJyb3IubmV0L0xJQ0VOU0VcblxuKGZ1bmN0aW9uKG1vZCkge1xuICBpZiAodHlwZW9mIGV4cG9ydHMgPT0gXCJvYmplY3RcIiAmJiB0eXBlb2YgbW9kdWxlID09IFwib2JqZWN0XCIpIC8vIENvbW1vbkpTXG4gICAgbW9kKHJlcXVpcmUoXCIuLi8uLi9saWIvY29kZW1pcnJvclwiKSk7XG4gIGVsc2UgaWYgKHR5cGVvZiBkZWZpbmUgPT0gXCJmdW5jdGlvblwiICYmIGRlZmluZS5hbWQpIC8vIEFNRFxuICAgIGRlZmluZShbXCIuLi8uLi9saWIvY29kZW1pcnJvclwiXSwgbW9kKTtcbiAgZWxzZSAvLyBQbGFpbiBicm93c2VyIGVudlxuICAgIG1vZChDb2RlTWlycm9yKTtcbn0pKGZ1bmN0aW9uKENvZGVNaXJyb3IpIHtcblwidXNlIHN0cmljdFwiO1xuXG5Db2RlTWlycm9yLmRlZmluZU1vZGUoXCJ5YW1sXCIsIGZ1bmN0aW9uKCkge1xuXG4gIHZhciBjb25zID0gWyd0cnVlJywgJ2ZhbHNlJywgJ29uJywgJ29mZicsICd5ZXMnLCAnbm8nXTtcbiAgdmFyIGtleXdvcmRSZWdleCA9IG5ldyBSZWdFeHAoXCJcXFxcYigoXCIrY29ucy5qb2luKFwiKXwoXCIpK1wiKSkkXCIsICdpJyk7XG5cbiAgcmV0dXJuIHtcbiAgICB0b2tlbjogZnVuY3Rpb24oc3RyZWFtLCBzdGF0ZSkge1xuICAgICAgdmFyIGNoID0gc3RyZWFtLnBlZWsoKTtcbiAgICAgIHZhciBlc2MgPSBzdGF0ZS5lc2NhcGVkO1xuICAgICAgc3RhdGUuZXNjYXBlZCA9IGZhbHNlO1xuICAgICAgLyogY29tbWVudHMgKi9cbiAgICAgIGlmIChjaCA9PSBcIiNcIiAmJiAoc3RyZWFtLnBvcyA9PSAwIHx8IC9cXHMvLnRlc3Qoc3RyZWFtLnN0cmluZy5jaGFyQXQoc3RyZWFtLnBvcyAtIDEpKSkpIHtcbiAgICAgICAgc3RyZWFtLnNraXBUb0VuZCgpO1xuICAgICAgICByZXR1cm4gXCJjb21tZW50XCI7XG4gICAgICB9XG5cbiAgICAgIGlmIChzdHJlYW0ubWF0Y2goL14oJyhbXiddfFxcXFwuKSonP3xcIihbXlwiXXxcXFxcLikqXCI/KS8pKVxuICAgICAgICByZXR1cm4gXCJzdHJpbmdcIjtcblxuICAgICAgaWYgKHN0YXRlLmxpdGVyYWwgJiYgc3RyZWFtLmluZGVudGF0aW9uKCkgPiBzdGF0ZS5rZXlDb2wpIHtcbiAgICAgICAgc3RyZWFtLnNraXBUb0VuZCgpOyByZXR1cm4gXCJzdHJpbmdcIjtcbiAgICAgIH0gZWxzZSBpZiAoc3RhdGUubGl0ZXJhbCkgeyBzdGF0ZS5saXRlcmFsID0gZmFsc2U7IH1cbiAgICAgIGlmIChzdHJlYW0uc29sKCkpIHtcbiAgICAgICAgc3RhdGUua2V5Q29sID0gMDtcbiAgICAgICAgc3RhdGUucGFpciA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5wYWlyU3RhcnQgPSBmYWxzZTtcbiAgICAgICAgLyogZG9jdW1lbnQgc3RhcnQgKi9cbiAgICAgICAgaWYoc3RyZWFtLm1hdGNoKC8tLS0vKSkgeyByZXR1cm4gXCJkZWZcIjsgfVxuICAgICAgICAvKiBkb2N1bWVudCBlbmQgKi9cbiAgICAgICAgaWYgKHN0cmVhbS5tYXRjaCgvXFwuXFwuXFwuLykpIHsgcmV0dXJuIFwiZGVmXCI7IH1cbiAgICAgICAgLyogYXJyYXkgbGlzdCBpdGVtICovXG4gICAgICAgIGlmIChzdHJlYW0ubWF0Y2goL1xccyotXFxzKy8pKSB7IHJldHVybiAnbWV0YSc7IH1cbiAgICAgIH1cbiAgICAgIC8qIGlubGluZSBwYWlycy9saXN0cyAqL1xuICAgICAgaWYgKHN0cmVhbS5tYXRjaCgvXihcXHt8XFx9fFxcW3xcXF0pLykpIHtcbiAgICAgICAgaWYgKGNoID09ICd7JylcbiAgICAgICAgICBzdGF0ZS5pbmxpbmVQYWlycysrO1xuICAgICAgICBlbHNlIGlmIChjaCA9PSAnfScpXG4gICAgICAgICAgc3RhdGUuaW5saW5lUGFpcnMtLTtcbiAgICAgICAgZWxzZSBpZiAoY2ggPT0gJ1snKVxuICAgICAgICAgIHN0YXRlLmlubGluZUxpc3QrKztcbiAgICAgICAgZWxzZVxuICAgICAgICAgIHN0YXRlLmlubGluZUxpc3QtLTtcbiAgICAgICAgcmV0dXJuICdtZXRhJztcbiAgICAgIH1cblxuICAgICAgLyogbGlzdCBzZXBlcmF0b3IgKi9cbiAgICAgIGlmIChzdGF0ZS5pbmxpbmVMaXN0ID4gMCAmJiAhZXNjICYmIGNoID09ICcsJykge1xuICAgICAgICBzdHJlYW0ubmV4dCgpO1xuICAgICAgICByZXR1cm4gJ21ldGEnO1xuICAgICAgfVxuICAgICAgLyogcGFpcnMgc2VwZXJhdG9yICovXG4gICAgICBpZiAoc3RhdGUuaW5saW5lUGFpcnMgPiAwICYmICFlc2MgJiYgY2ggPT0gJywnKSB7XG4gICAgICAgIHN0YXRlLmtleUNvbCA9IDA7XG4gICAgICAgIHN0YXRlLnBhaXIgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucGFpclN0YXJ0ID0gZmFsc2U7XG4gICAgICAgIHN0cmVhbS5uZXh0KCk7XG4gICAgICAgIHJldHVybiAnbWV0YSc7XG4gICAgICB9XG5cbiAgICAgIC8qIHN0YXJ0IG9mIHZhbHVlIG9mIGEgcGFpciAqL1xuICAgICAgaWYgKHN0YXRlLnBhaXJTdGFydCkge1xuICAgICAgICAvKiBibG9jayBsaXRlcmFscyAqL1xuICAgICAgICBpZiAoc3RyZWFtLm1hdGNoKC9eXFxzKihcXHx8XFw+KVxccyovKSkgeyBzdGF0ZS5saXRlcmFsID0gdHJ1ZTsgcmV0dXJuICdtZXRhJzsgfTtcbiAgICAgICAgLyogcmVmZXJlbmNlcyAqL1xuICAgICAgICBpZiAoc3RyZWFtLm1hdGNoKC9eXFxzKihcXCZ8XFwqKVthLXowLTlcXC5fLV0rXFxiL2kpKSB7IHJldHVybiAndmFyaWFibGUtMic7IH1cbiAgICAgICAgLyogbnVtYmVycyAqL1xuICAgICAgICBpZiAoc3RhdGUuaW5saW5lUGFpcnMgPT0gMCAmJiBzdHJlYW0ubWF0Y2goL15cXHMqLT9bMC05XFwuXFwsXStcXHM/JC8pKSB7IHJldHVybiAnbnVtYmVyJzsgfVxuICAgICAgICBpZiAoc3RhdGUuaW5saW5lUGFpcnMgPiAwICYmIHN0cmVhbS5tYXRjaCgvXlxccyotP1swLTlcXC5cXCxdK1xccz8oPz0oLHx9KSkvKSkgeyByZXR1cm4gJ251bWJlcic7IH1cbiAgICAgICAgLyoga2V5d29yZHMgKi9cbiAgICAgICAgaWYgKHN0cmVhbS5tYXRjaChrZXl3b3JkUmVnZXgpKSB7IHJldHVybiAna2V5d29yZCc7IH1cbiAgICAgIH1cblxuICAgICAgLyogcGFpcnMgKGFzc29jaWF0aXZlIGFycmF5cykgLT4ga2V5ICovXG4gICAgICBpZiAoIXN0YXRlLnBhaXIgJiYgc3RyZWFtLm1hdGNoKC9eXFxzKig/OlssXFxbXFxde30mKiF8PidcIiVAYF1bXlxccydcIjpdfFteLFxcW1xcXXt9IyYqIXw+J1wiJUBgXSlbXiNdKj8oPz1cXHMqOigkfFxccykpLykpIHtcbiAgICAgICAgc3RhdGUucGFpciA9IHRydWU7XG4gICAgICAgIHN0YXRlLmtleUNvbCA9IHN0cmVhbS5pbmRlbnRhdGlvbigpO1xuICAgICAgICByZXR1cm4gXCJhdG9tXCI7XG4gICAgICB9XG4gICAgICBpZiAoc3RhdGUucGFpciAmJiBzdHJlYW0ubWF0Y2goL146XFxzKi8pKSB7IHN0YXRlLnBhaXJTdGFydCA9IHRydWU7IHJldHVybiAnbWV0YSc7IH1cblxuICAgICAgLyogbm90aGluZyBmb3VuZCwgY29udGludWUgKi9cbiAgICAgIHN0YXRlLnBhaXJTdGFydCA9IGZhbHNlO1xuICAgICAgc3RhdGUuZXNjYXBlZCA9IChjaCA9PSAnXFxcXCcpO1xuICAgICAgc3RyZWFtLm5leHQoKTtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH0sXG4gICAgc3RhcnRTdGF0ZTogZnVuY3Rpb24oKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBwYWlyOiBmYWxzZSxcbiAgICAgICAgcGFpclN0YXJ0OiBmYWxzZSxcbiAgICAgICAga2V5Q29sOiAwLFxuICAgICAgICBpbmxpbmVQYWlyczogMCxcbiAgICAgICAgaW5saW5lTGlzdDogMCxcbiAgICAgICAgbGl0ZXJhbDogZmFsc2UsXG4gICAgICAgIGVzY2FwZWQ6IGZhbHNlXG4gICAgICB9O1xuICAgIH0sXG4gICAgbGluZUNvbW1lbnQ6IFwiI1wiLFxuICAgIGZvbGQ6IFwiaW5kZW50XCJcbiAgfTtcbn0pO1xuXG5Db2RlTWlycm9yLmRlZmluZU1JTUUoXCJ0ZXh0L3gteWFtbFwiLCBcInlhbWxcIik7XG5Db2RlTWlycm9yLmRlZmluZU1JTUUoXCJ0ZXh0L3lhbWxcIiwgXCJ5YW1sXCIpO1xuXG59KTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/codemirror/mode/yaml/yaml.js\n"); /***/ }), /***/ "./node_modules/codemirror/src/display/focus.js": /*!******************************************************!*\ !*** ./node_modules/codemirror/src/display/focus.js ***! \******************************************************/ /*! exports provided: ensureFocus, delayBlurEvent, onFocus, onBlur */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ensureFocus\", function() { return ensureFocus; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"delayBlurEvent\", function() { return delayBlurEvent; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"onFocus\", function() { return onFocus; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"onBlur\", function() { return onBlur; });\n/* harmony import */ var _selection_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./selection.js */ \"./node_modules/codemirror/src/display/selection.js\");\n/* harmony import */ var _util_browser_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../util/browser.js */ \"./node_modules/codemirror/src/util/browser.js\");\n/* harmony import */ var _util_dom_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../util/dom.js */ \"./node_modules/codemirror/src/util/dom.js\");\n/* harmony import */ var _util_event_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../util/event.js */ \"./node_modules/codemirror/src/util/event.js\");\n\n\n\n\nfunction ensureFocus(cm) {\n if (!cm.state.focused) {\n cm.display.input.focus();\n onFocus(cm);\n }\n}\nfunction delayBlurEvent(cm) {\n cm.state.delayingBlurEvent = true;\n setTimeout(() => {\n if (cm.state.delayingBlurEvent) {\n cm.state.delayingBlurEvent = false;\n onBlur(cm);\n }\n }, 100);\n}\nfunction onFocus(cm, e) {\n if (cm.state.delayingBlurEvent) cm.state.delayingBlurEvent = false;\n if (cm.options.readOnly == \"nocursor\") return;\n\n if (!cm.state.focused) {\n Object(_util_event_js__WEBPACK_IMPORTED_MODULE_3__[\"signal\"])(cm, \"focus\", cm, e);\n cm.state.focused = true;\n Object(_util_dom_js__WEBPACK_IMPORTED_MODULE_2__[\"addClass\"])(cm.display.wrapper, \"CodeMirror-focused\"); // This test prevents this from firing when a context\n // menu is closed (since the input reset would kill the\n // select-all detection hack)\n\n if (!cm.curOp && cm.display.selForContextMenu != cm.doc.sel) {\n cm.display.input.reset();\n if (_util_browser_js__WEBPACK_IMPORTED_MODULE_1__[\"webkit\"]) setTimeout(() => cm.display.input.reset(true), 20); // Issue #1730\n }\n\n cm.display.input.receivedFocus();\n }\n\n Object(_selection_js__WEBPACK_IMPORTED_MODULE_0__[\"restartBlink\"])(cm);\n}\nfunction onBlur(cm, e) {\n if (cm.state.delayingBlurEvent) return;\n\n if (cm.state.focused) {\n Object(_util_event_js__WEBPACK_IMPORTED_MODULE_3__[\"signal\"])(cm, \"blur\", cm, e);\n cm.state.focused = false;\n Object(_util_dom_js__WEBPACK_IMPORTED_MODULE_2__[\"rmClass\"])(cm.display.wrapper, \"CodeMirror-focused\");\n }\n\n clearInterval(cm.display.blinker);\n setTimeout(() => {\n if (!cm.state.focused) cm.display.shift = false;\n }, 150);\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9zcmMvZGlzcGxheS9mb2N1cy5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb2RlbWlycm9yL3NyYy9kaXNwbGF5L2ZvY3VzLmpzPzlhMDEiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVzdGFydEJsaW5rIH0gZnJvbSBcIi4vc2VsZWN0aW9uLmpzXCJcbmltcG9ydCB7IHdlYmtpdCB9IGZyb20gXCIuLi91dGlsL2Jyb3dzZXIuanNcIlxuaW1wb3J0IHsgYWRkQ2xhc3MsIHJtQ2xhc3MgfSBmcm9tIFwiLi4vdXRpbC9kb20uanNcIlxuaW1wb3J0IHsgc2lnbmFsIH0gZnJvbSBcIi4uL3V0aWwvZXZlbnQuanNcIlxuXG5leHBvcnQgZnVuY3Rpb24gZW5zdXJlRm9jdXMoY20pIHtcbiAgaWYgKCFjbS5zdGF0ZS5mb2N1c2VkKSB7IGNtLmRpc3BsYXkuaW5wdXQuZm9jdXMoKTsgb25Gb2N1cyhjbSkgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZGVsYXlCbHVyRXZlbnQoY20pIHtcbiAgY20uc3RhdGUuZGVsYXlpbmdCbHVyRXZlbnQgPSB0cnVlXG4gIHNldFRpbWVvdXQoKCkgPT4geyBpZiAoY20uc3RhdGUuZGVsYXlpbmdCbHVyRXZlbnQpIHtcbiAgICBjbS5zdGF0ZS5kZWxheWluZ0JsdXJFdmVudCA9IGZhbHNlXG4gICAgb25CbHVyKGNtKVxuICB9IH0sIDEwMClcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG9uRm9jdXMoY20sIGUpIHtcbiAgaWYgKGNtLnN0YXRlLmRlbGF5aW5nQmx1ckV2ZW50KSBjbS5zdGF0ZS5kZWxheWluZ0JsdXJFdmVudCA9IGZhbHNlXG5cbiAgaWYgKGNtLm9wdGlvbnMucmVhZE9ubHkgPT0gXCJub2N1cnNvclwiKSByZXR1cm5cbiAgaWYgKCFjbS5zdGF0ZS5mb2N1c2VkKSB7XG4gICAgc2lnbmFsKGNtLCBcImZvY3VzXCIsIGNtLCBlKVxuICAgIGNtLnN0YXRlLmZvY3VzZWQgPSB0cnVlXG4gICAgYWRkQ2xhc3MoY20uZGlzcGxheS53cmFwcGVyLCBcIkNvZGVNaXJyb3ItZm9jdXNlZFwiKVxuICAgIC8vIFRoaXMgdGVzdCBwcmV2ZW50cyB0aGlzIGZyb20gZmlyaW5nIHdoZW4gYSBjb250ZXh0XG4gICAgLy8gbWVudSBpcyBjbG9zZWQgKHNpbmNlIHRoZSBpbnB1dCByZXNldCB3b3VsZCBraWxsIHRoZVxuICAgIC8vIHNlbGVjdC1hbGwgZGV0ZWN0aW9uIGhhY2spXG4gICAgaWYgKCFjbS5jdXJPcCAmJiBjbS5kaXNwbGF5LnNlbEZvckNvbnRleHRNZW51ICE9IGNtLmRvYy5zZWwpIHtcbiAgICAgIGNtLmRpc3BsYXkuaW5wdXQucmVzZXQoKVxuICAgICAgaWYgKHdlYmtpdCkgc2V0VGltZW91dCgoKSA9PiBjbS5kaXNwbGF5LmlucHV0LnJlc2V0KHRydWUpLCAyMCkgLy8gSXNzdWUgIzE3MzBcbiAgICB9XG4gICAgY20uZGlzcGxheS5pbnB1dC5yZWNlaXZlZEZvY3VzKClcbiAgfVxuICByZXN0YXJ0QmxpbmsoY20pXG59XG5leHBvcnQgZnVuY3Rpb24gb25CbHVyKGNtLCBlKSB7XG4gIGlmIChjbS5zdGF0ZS5kZWxheWluZ0JsdXJFdmVudCkgcmV0dXJuXG5cbiAgaWYgKGNtLnN0YXRlLmZvY3VzZWQpIHtcbiAgICBzaWduYWwoY20sIFwiYmx1clwiLCBjbSwgZSlcbiAgICBjbS5zdGF0ZS5mb2N1c2VkID0gZmFsc2VcbiAgICBybUNsYXNzKGNtLmRpc3BsYXkud3JhcHBlciwgXCJDb2RlTWlycm9yLWZvY3VzZWRcIilcbiAgfVxuICBjbGVhckludGVydmFsKGNtLmRpc3BsYXkuYmxpbmtlcilcbiAgc2V0VGltZW91dCgoKSA9PiB7IGlmICghY20uc3RhdGUuZm9jdXNlZCkgY20uZGlzcGxheS5zaGlmdCA9IGZhbHNlIH0sIDE1MClcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/codemirror/src/display/focus.js\n"); /***/ }), /***/ "./node_modules/codemirror/src/display/highlight_worker.js": /*!*****************************************************************!*\ !*** ./node_modules/codemirror/src/display/highlight_worker.js ***! \*****************************************************************/ /*! exports provided: startWorker */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"startWorker\", function() { return startWorker; });\n/* harmony import */ var _line_highlight_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../line/highlight.js */ \"./node_modules/codemirror/src/line/highlight.js\");\n/* harmony import */ var _modes_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../modes.js */ \"./node_modules/codemirror/src/modes.js\");\n/* harmony import */ var _util_misc_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../util/misc.js */ \"./node_modules/codemirror/src/util/misc.js\");\n/* harmony import */ var _operations_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./operations.js */ \"./node_modules/codemirror/src/display/operations.js\");\n/* harmony import */ var _view_tracking_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./view_tracking.js */ \"./node_modules/codemirror/src/display/view_tracking.js\");\n\n\n\n\n // HIGHLIGHT WORKER\n\nfunction startWorker(cm, time) {\n if (cm.doc.highlightFrontier < cm.display.viewTo) cm.state.highlight.set(time, Object(_util_misc_js__WEBPACK_IMPORTED_MODULE_2__[\"bind\"])(highlightWorker, cm));\n}\n\nfunction highlightWorker(cm) {\n let doc = cm.doc;\n if (doc.highlightFrontier >= cm.display.viewTo) return;\n let end = +new Date() + cm.options.workTime;\n let context = Object(_line_highlight_js__WEBPACK_IMPORTED_MODULE_0__[\"getContextBefore\"])(cm, doc.highlightFrontier);\n let changedLines = [];\n doc.iter(context.line, Math.min(doc.first + doc.size, cm.display.viewTo + 500), line => {\n if (context.line >= cm.display.viewFrom) {\n // Visible\n let oldStyles = line.styles;\n let resetState = line.text.length > cm.options.maxHighlightLength ? Object(_modes_js__WEBPACK_IMPORTED_MODULE_1__[\"copyState\"])(doc.mode, context.state) : null;\n let highlighted = Object(_line_highlight_js__WEBPACK_IMPORTED_MODULE_0__[\"highlightLine\"])(cm, line, context, true);\n if (resetState) context.state = resetState;\n line.styles = highlighted.styles;\n let oldCls = line.styleClasses,\n newCls = highlighted.classes;\n if (newCls) line.styleClasses = newCls;else if (oldCls) line.styleClasses = null;\n let ischange = !oldStyles || oldStyles.length != line.styles.length || oldCls != newCls && (!oldCls || !newCls || oldCls.bgClass != newCls.bgClass || oldCls.textClass != newCls.textClass);\n\n for (let i = 0; !ischange && i < oldStyles.length; ++i) ischange = oldStyles[i] != line.styles[i];\n\n if (ischange) changedLines.push(context.line);\n line.stateAfter = context.save();\n context.nextLine();\n } else {\n if (line.text.length <= cm.options.maxHighlightLength) Object(_line_highlight_js__WEBPACK_IMPORTED_MODULE_0__[\"processLine\"])(cm, line.text, context);\n line.stateAfter = context.line % 5 == 0 ? context.save() : null;\n context.nextLine();\n }\n\n if (+new Date() > end) {\n startWorker(cm, cm.options.workDelay);\n return true;\n }\n });\n doc.highlightFrontier = context.line;\n doc.modeFrontier = Math.max(doc.modeFrontier, context.line);\n if (changedLines.length) Object(_operations_js__WEBPACK_IMPORTED_MODULE_3__[\"runInOp\"])(cm, () => {\n for (let i = 0; i < changedLines.length; i++) Object(_view_tracking_js__WEBPACK_IMPORTED_MODULE_4__[\"regLineChange\"])(cm, changedLines[i], \"text\");\n });\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9zcmMvZGlzcGxheS9oaWdobGlnaHRfd29ya2VyLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvZGVtaXJyb3Ivc3JjL2Rpc3BsYXkvaGlnaGxpZ2h0X3dvcmtlci5qcz81YjQ0Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdldENvbnRleHRCZWZvcmUsIGhpZ2hsaWdodExpbmUsIHByb2Nlc3NMaW5lIH0gZnJvbSBcIi4uL2xpbmUvaGlnaGxpZ2h0LmpzXCJcbmltcG9ydCB7IGNvcHlTdGF0ZSB9IGZyb20gXCIuLi9tb2Rlcy5qc1wiXG5pbXBvcnQgeyBiaW5kIH0gZnJvbSBcIi4uL3V0aWwvbWlzYy5qc1wiXG5cbmltcG9ydCB7IHJ1bkluT3AgfSBmcm9tIFwiLi9vcGVyYXRpb25zLmpzXCJcbmltcG9ydCB7IHJlZ0xpbmVDaGFuZ2UgfSBmcm9tIFwiLi92aWV3X3RyYWNraW5nLmpzXCJcblxuLy8gSElHSExJR0hUIFdPUktFUlxuXG5leHBvcnQgZnVuY3Rpb24gc3RhcnRXb3JrZXIoY20sIHRpbWUpIHtcbiAgaWYgKGNtLmRvYy5oaWdobGlnaHRGcm9udGllciA8IGNtLmRpc3BsYXkudmlld1RvKVxuICAgIGNtLnN0YXRlLmhpZ2hsaWdodC5zZXQodGltZSwgYmluZChoaWdobGlnaHRXb3JrZXIsIGNtKSlcbn1cblxuZnVuY3Rpb24gaGlnaGxpZ2h0V29ya2VyKGNtKSB7XG4gIGxldCBkb2MgPSBjbS5kb2NcbiAgaWYgKGRvYy5oaWdobGlnaHRGcm9udGllciA+PSBjbS5kaXNwbGF5LnZpZXdUbykgcmV0dXJuXG4gIGxldCBlbmQgPSArbmV3IERhdGUgKyBjbS5vcHRpb25zLndvcmtUaW1lXG4gIGxldCBjb250ZXh0ID0gZ2V0Q29udGV4dEJlZm9yZShjbSwgZG9jLmhpZ2hsaWdodEZyb250aWVyKVxuICBsZXQgY2hhbmdlZExpbmVzID0gW11cblxuICBkb2MuaXRlcihjb250ZXh0LmxpbmUsIE1hdGgubWluKGRvYy5maXJzdCArIGRvYy5zaXplLCBjbS5kaXNwbGF5LnZpZXdUbyArIDUwMCksIGxpbmUgPT4ge1xuICAgIGlmIChjb250ZXh0LmxpbmUgPj0gY20uZGlzcGxheS52aWV3RnJvbSkgeyAvLyBWaXNpYmxlXG4gICAgICBsZXQgb2xkU3R5bGVzID0gbGluZS5zdHlsZXNcbiAgICAgIGxldCByZXNldFN0YXRlID0gbGluZS50ZXh0Lmxlbmd0aCA+IGNtLm9wdGlvbnMubWF4SGlnaGxpZ2h0TGVuZ3RoID8gY29weVN0YXRlKGRvYy5tb2RlLCBjb250ZXh0LnN0YXRlKSA6IG51bGxcbiAgICAgIGxldCBoaWdobGlnaHRlZCA9IGhpZ2hsaWdodExpbmUoY20sIGxpbmUsIGNvbnRleHQsIHRydWUpXG4gICAgICBpZiAocmVzZXRTdGF0ZSkgY29udGV4dC5zdGF0ZSA9IHJlc2V0U3RhdGVcbiAgICAgIGxpbmUuc3R5bGVzID0gaGlnaGxpZ2h0ZWQuc3R5bGVzXG4gICAgICBsZXQgb2xkQ2xzID0gbGluZS5zdHlsZUNsYXNzZXMsIG5ld0NscyA9IGhpZ2hsaWdodGVkLmNsYXNzZXNcbiAgICAgIGlmIChuZXdDbHMpIGxpbmUuc3R5bGVDbGFzc2VzID0gbmV3Q2xzXG4gICAgICBlbHNlIGlmIChvbGRDbHMpIGxpbmUuc3R5bGVDbGFzc2VzID0gbnVsbFxuICAgICAgbGV0IGlzY2hhbmdlID0gIW9sZFN0eWxlcyB8fCBvbGRTdHlsZXMubGVuZ3RoICE9IGxpbmUuc3R5bGVzLmxlbmd0aCB8fFxuICAgICAgICBvbGRDbHMgIT0gbmV3Q2xzICYmICghb2xkQ2xzIHx8ICFuZXdDbHMgfHwgb2xkQ2xzLmJnQ2xhc3MgIT0gbmV3Q2xzLmJnQ2xhc3MgfHwgb2xkQ2xzLnRleHRDbGFzcyAhPSBuZXdDbHMudGV4dENsYXNzKVxuICAgICAgZm9yIChsZXQgaSA9IDA7ICFpc2NoYW5nZSAmJiBpIDwgb2xkU3R5bGVzLmxlbmd0aDsgKytpKSBpc2NoYW5nZSA9IG9sZFN0eWxlc1tpXSAhPSBsaW5lLnN0eWxlc1tpXVxuICAgICAgaWYgKGlzY2hhbmdlKSBjaGFuZ2VkTGluZXMucHVzaChjb250ZXh0LmxpbmUpXG4gICAgICBsaW5lLnN0YXRlQWZ0ZXIgPSBjb250ZXh0LnNhdmUoKVxuICAgICAgY29udGV4dC5uZXh0TGluZSgpXG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChsaW5lLnRleHQubGVuZ3RoIDw9IGNtLm9wdGlvbnMubWF4SGlnaGxpZ2h0TGVuZ3RoKVxuICAgICAgICBwcm9jZXNzTGluZShjbSwgbGluZS50ZXh0LCBjb250ZXh0KVxuICAgICAgbGluZS5zdGF0ZUFmdGVyID0gY29udGV4dC5saW5lICUgNSA9PSAwID8gY29udGV4dC5zYXZlKCkgOiBudWxsXG4gICAgICBjb250ZXh0Lm5leHRMaW5lKClcbiAgICB9XG4gICAgaWYgKCtuZXcgRGF0ZSA+IGVuZCkge1xuICAgICAgc3RhcnRXb3JrZXIoY20sIGNtLm9wdGlvbnMud29ya0RlbGF5KVxuICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG4gIH0pXG4gIGRvYy5oaWdobGlnaHRGcm9udGllciA9IGNvbnRleHQubGluZVxuICBkb2MubW9kZUZyb250aWVyID0gTWF0aC5tYXgoZG9jLm1vZGVGcm9udGllciwgY29udGV4dC5saW5lKVxuICBpZiAoY2hhbmdlZExpbmVzLmxlbmd0aCkgcnVuSW5PcChjbSwgKCkgPT4ge1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY2hhbmdlZExpbmVzLmxlbmd0aDsgaSsrKVxuICAgICAgcmVnTGluZUNoYW5nZShjbSwgY2hhbmdlZExpbmVzW2ldLCBcInRleHRcIilcbiAgfSlcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/codemirror/src/display/highlight_worker.js\n"); /***/ }), /***/ "./node_modules/codemirror/src/display/line_numbers.js": /*!*************************************************************!*\ !*** ./node_modules/codemirror/src/display/line_numbers.js ***! \*************************************************************/ /*! exports provided: alignHorizontally, maybeUpdateLineNumberWidth */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"alignHorizontally\", function() { return alignHorizontally; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"maybeUpdateLineNumberWidth\", function() { return maybeUpdateLineNumberWidth; });\n/* harmony import */ var _line_utils_line_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../line/utils_line.js */ \"./node_modules/codemirror/src/line/utils_line.js\");\n/* harmony import */ var _measurement_position_measurement_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../measurement/position_measurement.js */ \"./node_modules/codemirror/src/measurement/position_measurement.js\");\n/* harmony import */ var _util_dom_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../util/dom.js */ \"./node_modules/codemirror/src/util/dom.js\");\n/* harmony import */ var _update_display_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./update_display.js */ \"./node_modules/codemirror/src/display/update_display.js\");\n\n\n\n // Re-align line numbers and gutter marks to compensate for\n// horizontal scrolling.\n\nfunction alignHorizontally(cm) {\n let display = cm.display,\n view = display.view;\n if (!display.alignWidgets && (!display.gutters.firstChild || !cm.options.fixedGutter)) return;\n let comp = Object(_measurement_position_measurement_js__WEBPACK_IMPORTED_MODULE_1__[\"compensateForHScroll\"])(display) - display.scroller.scrollLeft + cm.doc.scrollLeft;\n let gutterW = display.gutters.offsetWidth,\n left = comp + \"px\";\n\n for (let i = 0; i < view.length; i++) if (!view[i].hidden) {\n if (cm.options.fixedGutter) {\n if (view[i].gutter) view[i].gutter.style.left = left;\n if (view[i].gutterBackground) view[i].gutterBackground.style.left = left;\n }\n\n let align = view[i].alignable;\n if (align) for (let j = 0; j < align.length; j++) align[j].style.left = left;\n }\n\n if (cm.options.fixedGutter) display.gutters.style.left = comp + gutterW + \"px\";\n} // Used to ensure that the line number gutter is still the right\n// size for the current document size. Returns true when an update\n// is needed.\n\nfunction maybeUpdateLineNumberWidth(cm) {\n if (!cm.options.lineNumbers) return false;\n let doc = cm.doc,\n last = Object(_line_utils_line_js__WEBPACK_IMPORTED_MODULE_0__[\"lineNumberFor\"])(cm.options, doc.first + doc.size - 1),\n display = cm.display;\n\n if (last.length != display.lineNumChars) {\n let test = display.measure.appendChild(Object(_util_dom_js__WEBPACK_IMPORTED_MODULE_2__[\"elt\"])(\"div\", [Object(_util_dom_js__WEBPACK_IMPORTED_MODULE_2__[\"elt\"])(\"div\", last)], \"CodeMirror-linenumber CodeMirror-gutter-elt\"));\n let innerW = test.firstChild.offsetWidth,\n padding = test.offsetWidth - innerW;\n display.lineGutter.style.width = \"\";\n display.lineNumInnerWidth = Math.max(innerW, display.lineGutter.offsetWidth - padding) + 1;\n display.lineNumWidth = display.lineNumInnerWidth + padding;\n display.lineNumChars = display.lineNumInnerWidth ? last.length : -1;\n display.lineGutter.style.width = display.lineNumWidth + \"px\";\n Object(_update_display_js__WEBPACK_IMPORTED_MODULE_3__[\"updateGutterSpace\"])(cm.display);\n return true;\n }\n\n return false;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9zcmMvZGlzcGxheS9saW5lX251bWJlcnMuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9zcmMvZGlzcGxheS9saW5lX251bWJlcnMuanM/MzhmMCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBsaW5lTnVtYmVyRm9yIH0gZnJvbSBcIi4uL2xpbmUvdXRpbHNfbGluZS5qc1wiXG5pbXBvcnQgeyBjb21wZW5zYXRlRm9ySFNjcm9sbCB9IGZyb20gXCIuLi9tZWFzdXJlbWVudC9wb3NpdGlvbl9tZWFzdXJlbWVudC5qc1wiXG5pbXBvcnQgeyBlbHQgfSBmcm9tIFwiLi4vdXRpbC9kb20uanNcIlxuXG5pbXBvcnQgeyB1cGRhdGVHdXR0ZXJTcGFjZSB9IGZyb20gXCIuL3VwZGF0ZV9kaXNwbGF5LmpzXCJcblxuLy8gUmUtYWxpZ24gbGluZSBudW1iZXJzIGFuZCBndXR0ZXIgbWFya3MgdG8gY29tcGVuc2F0ZSBmb3Jcbi8vIGhvcml6b250YWwgc2Nyb2xsaW5nLlxuZXhwb3J0IGZ1bmN0aW9uIGFsaWduSG9yaXpvbnRhbGx5KGNtKSB7XG4gIGxldCBkaXNwbGF5ID0gY20uZGlzcGxheSwgdmlldyA9IGRpc3BsYXkudmlld1xuICBpZiAoIWRpc3BsYXkuYWxpZ25XaWRnZXRzICYmICghZGlzcGxheS5ndXR0ZXJzLmZpcnN0Q2hpbGQgfHwgIWNtLm9wdGlvbnMuZml4ZWRHdXR0ZXIpKSByZXR1cm5cbiAgbGV0IGNvbXAgPSBjb21wZW5zYXRlRm9ySFNjcm9sbChkaXNwbGF5KSAtIGRpc3BsYXkuc2Nyb2xsZXIuc2Nyb2xsTGVmdCArIGNtLmRvYy5zY3JvbGxMZWZ0XG4gIGxldCBndXR0ZXJXID0gZGlzcGxheS5ndXR0ZXJzLm9mZnNldFdpZHRoLCBsZWZ0ID0gY29tcCArIFwicHhcIlxuICBmb3IgKGxldCBpID0gMDsgaSA8IHZpZXcubGVuZ3RoOyBpKyspIGlmICghdmlld1tpXS5oaWRkZW4pIHtcbiAgICBpZiAoY20ub3B0aW9ucy5maXhlZEd1dHRlcikge1xuICAgICAgaWYgKHZpZXdbaV0uZ3V0dGVyKVxuICAgICAgICB2aWV3W2ldLmd1dHRlci5zdHlsZS5sZWZ0ID0gbGVmdFxuICAgICAgaWYgKHZpZXdbaV0uZ3V0dGVyQmFja2dyb3VuZClcbiAgICAgICAgdmlld1tpXS5ndXR0ZXJCYWNrZ3JvdW5kLnN0eWxlLmxlZnQgPSBsZWZ0XG4gICAgfVxuICAgIGxldCBhbGlnbiA9IHZpZXdbaV0uYWxpZ25hYmxlXG4gICAgaWYgKGFsaWduKSBmb3IgKGxldCBqID0gMDsgaiA8IGFsaWduLmxlbmd0aDsgaisrKVxuICAgICAgYWxpZ25bal0uc3R5bGUubGVmdCA9IGxlZnRcbiAgfVxuICBpZiAoY20ub3B0aW9ucy5maXhlZEd1dHRlcilcbiAgICBkaXNwbGF5Lmd1dHRlcnMuc3R5bGUubGVmdCA9IChjb21wICsgZ3V0dGVyVykgKyBcInB4XCJcbn1cblxuLy8gVXNlZCB0byBlbnN1cmUgdGhhdCB0aGUgbGluZSBudW1iZXIgZ3V0dGVyIGlzIHN0aWxsIHRoZSByaWdodFxuLy8gc2l6ZSBmb3IgdGhlIGN1cnJlbnQgZG9jdW1lbnQgc2l6ZS4gUmV0dXJucyB0cnVlIHdoZW4gYW4gdXBkYXRlXG4vLyBpcyBuZWVkZWQuXG5leHBvcnQgZnVuY3Rpb24gbWF5YmVVcGRhdGVMaW5lTnVtYmVyV2lkdGgoY20pIHtcbiAgaWYgKCFjbS5vcHRpb25zLmxpbmVOdW1iZXJzKSByZXR1cm4gZmFsc2VcbiAgbGV0IGRvYyA9IGNtLmRvYywgbGFzdCA9IGxpbmVOdW1iZXJGb3IoY20ub3B0aW9ucywgZG9jLmZpcnN0ICsgZG9jLnNpemUgLSAxKSwgZGlzcGxheSA9IGNtLmRpc3BsYXlcbiAgaWYgKGxhc3QubGVuZ3RoICE9IGRpc3BsYXkubGluZU51bUNoYXJzKSB7XG4gICAgbGV0IHRlc3QgPSBkaXNwbGF5Lm1lYXN1cmUuYXBwZW5kQ2hpbGQoZWx0KFwiZGl2XCIsIFtlbHQoXCJkaXZcIiwgbGFzdCldLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIkNvZGVNaXJyb3ItbGluZW51bWJlciBDb2RlTWlycm9yLWd1dHRlci1lbHRcIikpXG4gICAgbGV0IGlubmVyVyA9IHRlc3QuZmlyc3RDaGlsZC5vZmZzZXRXaWR0aCwgcGFkZGluZyA9IHRlc3Qub2Zmc2V0V2lkdGggLSBpbm5lcldcbiAgICBkaXNwbGF5LmxpbmVHdXR0ZXIuc3R5bGUud2lkdGggPSBcIlwiXG4gICAgZGlzcGxheS5saW5lTnVtSW5uZXJXaWR0aCA9IE1hdGgubWF4KGlubmVyVywgZGlzcGxheS5saW5lR3V0dGVyLm9mZnNldFdpZHRoIC0gcGFkZGluZykgKyAxXG4gICAgZGlzcGxheS5saW5lTnVtV2lkdGggPSBkaXNwbGF5LmxpbmVOdW1Jbm5lcldpZHRoICsgcGFkZGluZ1xuICAgIGRpc3BsYXkubGluZU51bUNoYXJzID0gZGlzcGxheS5saW5lTnVtSW5uZXJXaWR0aCA/IGxhc3QubGVuZ3RoIDogLTFcbiAgICBkaXNwbGF5LmxpbmVHdXR0ZXIuc3R5bGUud2lkdGggPSBkaXNwbGF5LmxpbmVOdW1XaWR0aCArIFwicHhcIlxuICAgIHVwZGF0ZUd1dHRlclNwYWNlKGNtLmRpc3BsYXkpXG4gICAgcmV0dXJuIHRydWVcbiAgfVxuICByZXR1cm4gZmFsc2Vcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFFQTtBQUdBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBRUE7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUVBO0FBR0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUVBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/codemirror/src/display/line_numbers.js\n"); /***/ }), /***/ "./node_modules/codemirror/src/display/operations.js": /*!***********************************************************!*\ !*** ./node_modules/codemirror/src/display/operations.js ***! \***********************************************************/ /*! exports provided: startOperation, endOperation, runInOp, operation, methodOp, docMethodOp */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"startOperation\", function() { return startOperation; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"endOperation\", function() { return endOperation; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"runInOp\", function() { return runInOp; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"operation\", function() { return operation; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"methodOp\", function() { return methodOp; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"docMethodOp\", function() { return docMethodOp; });\n/* harmony import */ var _line_pos_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../line/pos.js */ \"./node_modules/codemirror/src/line/pos.js\");\n/* harmony import */ var _line_spans_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../line/spans.js */ \"./node_modules/codemirror/src/line/spans.js\");\n/* harmony import */ var _measurement_position_measurement_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../measurement/position_measurement.js */ \"./node_modules/codemirror/src/measurement/position_measurement.js\");\n/* harmony import */ var _util_event_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../util/event.js */ \"./node_modules/codemirror/src/util/event.js\");\n/* harmony import */ var _util_dom_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../util/dom.js */ \"./node_modules/codemirror/src/util/dom.js\");\n/* harmony import */ var _util_operation_group_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../util/operation_group.js */ \"./node_modules/codemirror/src/util/operation_group.js\");\n/* harmony import */ var _focus_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./focus.js */ \"./node_modules/codemirror/src/display/focus.js\");\n/* harmony import */ var _scrollbars_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./scrollbars.js */ \"./node_modules/codemirror/src/display/scrollbars.js\");\n/* harmony import */ var _selection_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./selection.js */ \"./node_modules/codemirror/src/display/selection.js\");\n/* harmony import */ var _scrolling_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./scrolling.js */ \"./node_modules/codemirror/src/display/scrolling.js\");\n/* harmony import */ var _update_display_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./update_display.js */ \"./node_modules/codemirror/src/display/update_display.js\");\n/* harmony import */ var _update_lines_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./update_lines.js */ \"./node_modules/codemirror/src/display/update_lines.js\");\n\n\n\n\n\n\n\n\n\n\n\n // Operations are used to wrap a series of changes to the editor\n// state in such a way that each change won't have to update the\n// cursor and display (which would be awkward, slow, and\n// error-prone). Instead, display updates are batched and then all\n// combined and executed at once.\n\nlet nextOpId = 0; // Start a new operation.\n\nfunction startOperation(cm) {\n cm.curOp = {\n cm: cm,\n viewChanged: false,\n // Flag that indicates that lines might need to be redrawn\n startHeight: cm.doc.height,\n // Used to detect need to update scrollbar\n forceUpdate: false,\n // Used to force a redraw\n updateInput: 0,\n // Whether to reset the input textarea\n typing: false,\n // Whether this reset should be careful to leave existing text (for compositing)\n changeObjs: null,\n // Accumulated changes, for firing change events\n cursorActivityHandlers: null,\n // Set of handlers to fire cursorActivity on\n cursorActivityCalled: 0,\n // Tracks which cursorActivity handlers have been called already\n selectionChanged: false,\n // Whether the selection needs to be redrawn\n updateMaxLine: false,\n // Set when the widest line needs to be determined anew\n scrollLeft: null,\n scrollTop: null,\n // Intermediate scroll position, not pushed to DOM yet\n scrollToPos: null,\n // Used to scroll to a specific position\n focus: false,\n id: ++nextOpId // Unique ID\n\n };\n Object(_util_operation_group_js__WEBPACK_IMPORTED_MODULE_5__[\"pushOperation\"])(cm.curOp);\n} // Finish an operation, updating the display and signalling delayed events\n\nfunction endOperation(cm) {\n let op = cm.curOp;\n if (op) Object(_util_operation_group_js__WEBPACK_IMPORTED_MODULE_5__[\"finishOperation\"])(op, group => {\n for (let i = 0; i < group.ops.length; i++) group.ops[i].cm.curOp = null;\n\n endOperations(group);\n });\n} // The DOM updates done when an operation finishes are batched so\n// that the minimum number of relayouts are required.\n\nfunction endOperations(group) {\n let ops = group.ops;\n\n for (let i = 0; i < ops.length; i++) // Read DOM\n endOperation_R1(ops[i]);\n\n for (let i = 0; i < ops.length; i++) // Write DOM (maybe)\n endOperation_W1(ops[i]);\n\n for (let i = 0; i < ops.length; i++) // Read DOM\n endOperation_R2(ops[i]);\n\n for (let i = 0; i < ops.length; i++) // Write DOM (maybe)\n endOperation_W2(ops[i]);\n\n for (let i = 0; i < ops.length; i++) // Read DOM\n endOperation_finish(ops[i]);\n}\n\nfunction endOperation_R1(op) {\n let cm = op.cm,\n display = cm.display;\n Object(_update_display_js__WEBPACK_IMPORTED_MODULE_10__[\"maybeClipScrollbars\"])(cm);\n if (op.updateMaxLine) Object(_line_spans_js__WEBPACK_IMPORTED_MODULE_1__[\"findMaxLine\"])(cm);\n op.mustUpdate = op.viewChanged || op.forceUpdate || op.scrollTop != null || op.scrollToPos && (op.scrollToPos.from.line < display.viewFrom || op.scrollToPos.to.line >= display.viewTo) || display.maxLineChanged && cm.options.lineWrapping;\n op.update = op.mustUpdate && new _update_display_js__WEBPACK_IMPORTED_MODULE_10__[\"DisplayUpdate\"](cm, op.mustUpdate && {\n top: op.scrollTop,\n ensure: op.scrollToPos\n }, op.forceUpdate);\n}\n\nfunction endOperation_W1(op) {\n op.updatedDisplay = op.mustUpdate && Object(_update_display_js__WEBPACK_IMPORTED_MODULE_10__[\"updateDisplayIfNeeded\"])(op.cm, op.update);\n}\n\nfunction endOperation_R2(op) {\n let cm = op.cm,\n display = cm.display;\n if (op.updatedDisplay) Object(_update_lines_js__WEBPACK_IMPORTED_MODULE_11__[\"updateHeightsInViewport\"])(cm);\n op.barMeasure = Object(_scrollbars_js__WEBPACK_IMPORTED_MODULE_7__[\"measureForScrollbars\"])(cm); // If the max line changed since it was last measured, measure it,\n // and ensure the document's width matches it.\n // updateDisplay_W2 will use these properties to do the actual resizing\n\n if (display.maxLineChanged && !cm.options.lineWrapping) {\n op.adjustWidthTo = Object(_measurement_position_measurement_js__WEBPACK_IMPORTED_MODULE_2__[\"measureChar\"])(cm, display.maxLine, display.maxLine.text.length).left + 3;\n cm.display.sizerWidth = op.adjustWidthTo;\n op.barMeasure.scrollWidth = Math.max(display.scroller.clientWidth, display.sizer.offsetLeft + op.adjustWidthTo + Object(_measurement_position_measurement_js__WEBPACK_IMPORTED_MODULE_2__[\"scrollGap\"])(cm) + cm.display.barWidth);\n op.maxScrollLeft = Math.max(0, display.sizer.offsetLeft + op.adjustWidthTo - Object(_measurement_position_measurement_js__WEBPACK_IMPORTED_MODULE_2__[\"displayWidth\"])(cm));\n }\n\n if (op.updatedDisplay || op.selectionChanged) op.preparedSelection = display.input.prepareSelection();\n}\n\nfunction endOperation_W2(op) {\n let cm = op.cm;\n\n if (op.adjustWidthTo != null) {\n cm.display.sizer.style.minWidth = op.adjustWidthTo + \"px\";\n if (op.maxScrollLeft < cm.doc.scrollLeft) Object(_scrolling_js__WEBPACK_IMPORTED_MODULE_9__[\"setScrollLeft\"])(cm, Math.min(cm.display.scroller.scrollLeft, op.maxScrollLeft), true);\n cm.display.maxLineChanged = false;\n }\n\n let takeFocus = op.focus && op.focus == Object(_util_dom_js__WEBPACK_IMPORTED_MODULE_4__[\"activeElt\"])();\n if (op.preparedSelection) cm.display.input.showSelection(op.preparedSelection, takeFocus);\n if (op.updatedDisplay || op.startHeight != cm.doc.height) Object(_scrollbars_js__WEBPACK_IMPORTED_MODULE_7__[\"updateScrollbars\"])(cm, op.barMeasure);\n if (op.updatedDisplay) Object(_update_display_js__WEBPACK_IMPORTED_MODULE_10__[\"setDocumentHeight\"])(cm, op.barMeasure);\n if (op.selectionChanged) Object(_selection_js__WEBPACK_IMPORTED_MODULE_8__[\"restartBlink\"])(cm);\n if (cm.state.focused && op.updateInput) cm.display.input.reset(op.typing);\n if (takeFocus) Object(_focus_js__WEBPACK_IMPORTED_MODULE_6__[\"ensureFocus\"])(op.cm);\n}\n\nfunction endOperation_finish(op) {\n let cm = op.cm,\n display = cm.display,\n doc = cm.doc;\n if (op.updatedDisplay) Object(_update_display_js__WEBPACK_IMPORTED_MODULE_10__[\"postUpdateDisplay\"])(cm, op.update); // Abort mouse wheel delta measurement, when scrolling explicitly\n\n if (display.wheelStartX != null && (op.scrollTop != null || op.scrollLeft != null || op.scrollToPos)) display.wheelStartX = display.wheelStartY = null; // Propagate the scroll position to the actual DOM scroller\n\n if (op.scrollTop != null) Object(_scrolling_js__WEBPACK_IMPORTED_MODULE_9__[\"setScrollTop\"])(cm, op.scrollTop, op.forceScroll);\n if (op.scrollLeft != null) Object(_scrolling_js__WEBPACK_IMPORTED_MODULE_9__[\"setScrollLeft\"])(cm, op.scrollLeft, true, true); // If we need to scroll a specific position into view, do so.\n\n if (op.scrollToPos) {\n let rect = Object(_scrolling_js__WEBPACK_IMPORTED_MODULE_9__[\"scrollPosIntoView\"])(cm, Object(_line_pos_js__WEBPACK_IMPORTED_MODULE_0__[\"clipPos\"])(doc, op.scrollToPos.from), Object(_line_pos_js__WEBPACK_IMPORTED_MODULE_0__[\"clipPos\"])(doc, op.scrollToPos.to), op.scrollToPos.margin);\n Object(_scrolling_js__WEBPACK_IMPORTED_MODULE_9__[\"maybeScrollWindow\"])(cm, rect);\n } // Fire events for markers that are hidden/unidden by editing or\n // undoing\n\n\n let hidden = op.maybeHiddenMarkers,\n unhidden = op.maybeUnhiddenMarkers;\n if (hidden) for (let i = 0; i < hidden.length; ++i) if (!hidden[i].lines.length) Object(_util_event_js__WEBPACK_IMPORTED_MODULE_3__[\"signal\"])(hidden[i], \"hide\");\n if (unhidden) for (let i = 0; i < unhidden.length; ++i) if (unhidden[i].lines.length) Object(_util_event_js__WEBPACK_IMPORTED_MODULE_3__[\"signal\"])(unhidden[i], \"unhide\");\n if (display.wrapper.offsetHeight) doc.scrollTop = cm.display.scroller.scrollTop; // Fire change events, and delayed event handlers\n\n if (op.changeObjs) Object(_util_event_js__WEBPACK_IMPORTED_MODULE_3__[\"signal\"])(cm, \"changes\", cm, op.changeObjs);\n if (op.update) op.update.finish();\n} // Run the given function in an operation\n\n\nfunction runInOp(cm, f) {\n if (cm.curOp) return f();\n startOperation(cm);\n\n try {\n return f();\n } finally {\n endOperation(cm);\n }\n} // Wraps a function in an operation. Returns the wrapped function.\n\nfunction operation(cm, f) {\n return function () {\n if (cm.curOp) return f.apply(cm, arguments);\n startOperation(cm);\n\n try {\n return f.apply(cm, arguments);\n } finally {\n endOperation(cm);\n }\n };\n} // Used to add methods to editor and doc instances, wrapping them in\n// operations.\n\nfunction methodOp(f) {\n return function () {\n if (this.curOp) return f.apply(this, arguments);\n startOperation(this);\n\n try {\n return f.apply(this, arguments);\n } finally {\n endOperation(this);\n }\n };\n}\nfunction docMethodOp(f) {\n return function () {\n let cm = this.cm;\n if (!cm || cm.curOp) return f.apply(this, arguments);\n startOperation(cm);\n\n try {\n return f.apply(this, arguments);\n } finally {\n endOperation(cm);\n }\n };\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9zcmMvZGlzcGxheS9vcGVyYXRpb25zLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvZGVtaXJyb3Ivc3JjL2Rpc3BsYXkvb3BlcmF0aW9ucy5qcz81MjViIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNsaXBQb3MgfSBmcm9tIFwiLi4vbGluZS9wb3MuanNcIlxuaW1wb3J0IHsgZmluZE1heExpbmUgfSBmcm9tIFwiLi4vbGluZS9zcGFucy5qc1wiXG5pbXBvcnQgeyBkaXNwbGF5V2lkdGgsIG1lYXN1cmVDaGFyLCBzY3JvbGxHYXAgfSBmcm9tIFwiLi4vbWVhc3VyZW1lbnQvcG9zaXRpb25fbWVhc3VyZW1lbnQuanNcIlxuaW1wb3J0IHsgc2lnbmFsIH0gZnJvbSBcIi4uL3V0aWwvZXZlbnQuanNcIlxuaW1wb3J0IHsgYWN0aXZlRWx0IH0gZnJvbSBcIi4uL3V0aWwvZG9tLmpzXCJcbmltcG9ydCB7IGZpbmlzaE9wZXJhdGlvbiwgcHVzaE9wZXJhdGlvbiB9IGZyb20gXCIuLi91dGlsL29wZXJhdGlvbl9ncm91cC5qc1wiXG5cbmltcG9ydCB7IGVuc3VyZUZvY3VzIH0gZnJvbSBcIi4vZm9jdXMuanNcIlxuaW1wb3J0IHsgbWVhc3VyZUZvclNjcm9sbGJhcnMsIHVwZGF0ZVNjcm9sbGJhcnMgfSBmcm9tIFwiLi9zY3JvbGxiYXJzLmpzXCJcbmltcG9ydCB7IHJlc3RhcnRCbGluayB9IGZyb20gXCIuL3NlbGVjdGlvbi5qc1wiXG5pbXBvcnQgeyBtYXliZVNjcm9sbFdpbmRvdywgc2Nyb2xsUG9zSW50b1ZpZXcsIHNldFNjcm9sbExlZnQsIHNldFNjcm9sbFRvcCB9IGZyb20gXCIuL3Njcm9sbGluZy5qc1wiXG5pbXBvcnQgeyBEaXNwbGF5VXBkYXRlLCBtYXliZUNsaXBTY3JvbGxiYXJzLCBwb3N0VXBkYXRlRGlzcGxheSwgc2V0RG9jdW1lbnRIZWlnaHQsIHVwZGF0ZURpc3BsYXlJZk5lZWRlZCB9IGZyb20gXCIuL3VwZGF0ZV9kaXNwbGF5LmpzXCJcbmltcG9ydCB7IHVwZGF0ZUhlaWdodHNJblZpZXdwb3J0IH0gZnJvbSBcIi4vdXBkYXRlX2xpbmVzLmpzXCJcblxuLy8gT3BlcmF0aW9ucyBhcmUgdXNlZCB0byB3cmFwIGEgc2VyaWVzIG9mIGNoYW5nZXMgdG8gdGhlIGVkaXRvclxuLy8gc3RhdGUgaW4gc3VjaCBhIHdheSB0aGF0IGVhY2ggY2hhbmdlIHdvbid0IGhhdmUgdG8gdXBkYXRlIHRoZVxuLy8gY3Vyc29yIGFuZCBkaXNwbGF5ICh3aGljaCB3b3VsZCBiZSBhd2t3YXJkLCBzbG93LCBhbmRcbi8vIGVycm9yLXByb25lKS4gSW5zdGVhZCwgZGlzcGxheSB1cGRhdGVzIGFyZSBiYXRjaGVkIGFuZCB0aGVuIGFsbFxuLy8gY29tYmluZWQgYW5kIGV4ZWN1dGVkIGF0IG9uY2UuXG5cbmxldCBuZXh0T3BJZCA9IDBcbi8vIFN0YXJ0IGEgbmV3IG9wZXJhdGlvbi5cbmV4cG9ydCBmdW5jdGlvbiBzdGFydE9wZXJhdGlvbihjbSkge1xuICBjbS5jdXJPcCA9IHtcbiAgICBjbTogY20sXG4gICAgdmlld0NoYW5nZWQ6IGZhbHNlLCAgICAgIC8vIEZsYWcgdGhhdCBpbmRpY2F0ZXMgdGhhdCBsaW5lcyBtaWdodCBuZWVkIHRvIGJlIHJlZHJhd25cbiAgICBzdGFydEhlaWdodDogY20uZG9jLmhlaWdodCwgLy8gVXNlZCB0byBkZXRlY3QgbmVlZCB0byB1cGRhdGUgc2Nyb2xsYmFyXG4gICAgZm9yY2VVcGRhdGU6IGZhbHNlLCAgICAgIC8vIFVzZWQgdG8gZm9yY2UgYSByZWRyYXdcbiAgICB1cGRhdGVJbnB1dDogMCwgICAgICAgLy8gV2hldGhlciB0byByZXNldCB0aGUgaW5wdXQgdGV4dGFyZWFcbiAgICB0eXBpbmc6IGZhbHNlLCAgICAgICAgICAgLy8gV2hldGhlciB0aGlzIHJlc2V0IHNob3VsZCBiZSBjYXJlZnVsIHRvIGxlYXZlIGV4aXN0aW5nIHRleHQgKGZvciBjb21wb3NpdGluZylcbiAgICBjaGFuZ2VPYmpzOiBudWxsLCAgICAgICAgLy8gQWNjdW11bGF0ZWQgY2hhbmdlcywgZm9yIGZpcmluZyBjaGFuZ2UgZXZlbnRzXG4gICAgY3Vyc29yQWN0aXZpdHlIYW5kbGVyczogbnVsbCwgLy8gU2V0IG9mIGhhbmRsZXJzIHRvIGZpcmUgY3Vyc29yQWN0aXZpdHkgb25cbiAgICBjdXJzb3JBY3Rpdml0eUNhbGxlZDogMCwgLy8gVHJhY2tzIHdoaWNoIGN1cnNvckFjdGl2aXR5IGhhbmRsZXJzIGhhdmUgYmVlbiBjYWxsZWQgYWxyZWFkeVxuICAgIHNlbGVjdGlvbkNoYW5nZWQ6IGZhbHNlLCAvLyBXaGV0aGVyIHRoZSBzZWxlY3Rpb24gbmVlZHMgdG8gYmUgcmVkcmF3blxuICAgIHVwZGF0ZU1heExpbmU6IGZhbHNlLCAgICAvLyBTZXQgd2hlbiB0aGUgd2lkZXN0IGxpbmUgbmVlZHMgdG8gYmUgZGV0ZXJtaW5lZCBhbmV3XG4gICAgc2Nyb2xsTGVmdDogbnVsbCwgc2Nyb2xsVG9wOiBudWxsLCAvLyBJbnRlcm1lZGlhdGUgc2Nyb2xsIHBvc2l0aW9uLCBub3QgcHVzaGVkIHRvIERPTSB5ZXRcbiAgICBzY3JvbGxUb1BvczogbnVsbCwgICAgICAgLy8gVXNlZCB0byBzY3JvbGwgdG8gYSBzcGVjaWZpYyBwb3NpdGlvblxuICAgIGZvY3VzOiBmYWxzZSxcbiAgICBpZDogKytuZXh0T3BJZCAgICAgICAgICAgLy8gVW5pcXVlIElEXG4gIH1cbiAgcHVzaE9wZXJhdGlvbihjbS5jdXJPcClcbn1cblxuLy8gRmluaXNoIGFuIG9wZXJhdGlvbiwgdXBkYXRpbmcgdGhlIGRpc3BsYXkgYW5kIHNpZ25hbGxpbmcgZGVsYXllZCBldmVudHNcbmV4cG9ydCBmdW5jdGlvbiBlbmRPcGVyYXRpb24oY20pIHtcbiAgbGV0IG9wID0gY20uY3VyT3BcbiAgaWYgKG9wKSBmaW5pc2hPcGVyYXRpb24ob3AsIGdyb3VwID0+IHtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGdyb3VwLm9wcy5sZW5ndGg7IGkrKylcbiAgICAgIGdyb3VwLm9wc1tpXS5jbS5jdXJPcCA9IG51bGxcbiAgICBlbmRPcGVyYXRpb25zKGdyb3VwKVxuICB9KVxufVxuXG4vLyBUaGUgRE9NIHVwZGF0ZXMgZG9uZSB3aGVuIGFuIG9wZXJhdGlvbiBmaW5pc2hlcyBhcmUgYmF0Y2hlZCBzb1xuLy8gdGhhdCB0aGUgbWluaW11bSBudW1iZXIgb2YgcmVsYXlvdXRzIGFyZSByZXF1aXJlZC5cbmZ1bmN0aW9uIGVuZE9wZXJhdGlvbnMoZ3JvdXApIHtcbiAgbGV0IG9wcyA9IGdyb3VwLm9wc1xuICBmb3IgKGxldCBpID0gMDsgaSA8IG9wcy5sZW5ndGg7IGkrKykgLy8gUmVhZCBET01cbiAgICBlbmRPcGVyYXRpb25fUjEob3BzW2ldKVxuICBmb3IgKGxldCBpID0gMDsgaSA8IG9wcy5sZW5ndGg7IGkrKykgLy8gV3JpdGUgRE9NIChtYXliZSlcbiAgICBlbmRPcGVyYXRpb25fVzEob3BzW2ldKVxuICBmb3IgKGxldCBpID0gMDsgaSA8IG9wcy5sZW5ndGg7IGkrKykgLy8gUmVhZCBET01cbiAgICBlbmRPcGVyYXRpb25fUjIob3BzW2ldKVxuICBmb3IgKGxldCBpID0gMDsgaSA8IG9wcy5sZW5ndGg7IGkrKykgLy8gV3JpdGUgRE9NIChtYXliZSlcbiAgICBlbmRPcGVyYXRpb25fVzIob3BzW2ldKVxuICBmb3IgKGxldCBpID0gMDsgaSA8IG9wcy5sZW5ndGg7IGkrKykgLy8gUmVhZCBET01cbiAgICBlbmRPcGVyYXRpb25fZmluaXNoKG9wc1tpXSlcbn1cblxuZnVuY3Rpb24gZW5kT3BlcmF0aW9uX1IxKG9wKSB7XG4gIGxldCBjbSA9IG9wLmNtLCBkaXNwbGF5ID0gY20uZGlzcGxheVxuICBtYXliZUNsaXBTY3JvbGxiYXJzKGNtKVxuICBpZiAob3AudXBkYXRlTWF4TGluZSkgZmluZE1heExpbmUoY20pXG5cbiAgb3AubXVzdFVwZGF0ZSA9IG9wLnZpZXdDaGFuZ2VkIHx8IG9wLmZvcmNlVXBkYXRlIHx8IG9wLnNjcm9sbFRvcCAhPSBudWxsIHx8XG4gICAgb3Auc2Nyb2xsVG9Qb3MgJiYgKG9wLnNjcm9sbFRvUG9zLmZyb20ubGluZSA8IGRpc3BsYXkudmlld0Zyb20gfHxcbiAgICAgICAgICAgICAgICAgICAgICAgb3Auc2Nyb2xsVG9Qb3MudG8ubGluZSA+PSBkaXNwbGF5LnZpZXdUbykgfHxcbiAgICBkaXNwbGF5Lm1heExpbmVDaGFuZ2VkICYmIGNtLm9wdGlvbnMubGluZVdyYXBwaW5nXG4gIG9wLnVwZGF0ZSA9IG9wLm11c3RVcGRhdGUgJiZcbiAgICBuZXcgRGlzcGxheVVwZGF0ZShjbSwgb3AubXVzdFVwZGF0ZSAmJiB7dG9wOiBvcC5zY3JvbGxUb3AsIGVuc3VyZTogb3Auc2Nyb2xsVG9Qb3N9LCBvcC5mb3JjZVVwZGF0ZSlcbn1cblxuZnVuY3Rpb24gZW5kT3BlcmF0aW9uX1cxKG9wKSB7XG4gIG9wLnVwZGF0ZWREaXNwbGF5ID0gb3AubXVzdFVwZGF0ZSAmJiB1cGRhdGVEaXNwbGF5SWZOZWVkZWQob3AuY20sIG9wLnVwZGF0ZSlcbn1cblxuZnVuY3Rpb24gZW5kT3BlcmF0aW9uX1IyKG9wKSB7XG4gIGxldCBjbSA9IG9wLmNtLCBkaXNwbGF5ID0gY20uZGlzcGxheVxuICBpZiAob3AudXBkYXRlZERpc3BsYXkpIHVwZGF0ZUhlaWdodHNJblZpZXdwb3J0KGNtKVxuXG4gIG9wLmJhck1lYXN1cmUgPSBtZWFzdXJlRm9yU2Nyb2xsYmFycyhjbSlcblxuICAvLyBJZiB0aGUgbWF4IGxpbmUgY2hhbmdlZCBzaW5jZSBpdCB3YXMgbGFzdCBtZWFzdXJlZCwgbWVhc3VyZSBpdCxcbiAgLy8gYW5kIGVuc3VyZSB0aGUgZG9jdW1lbnQncyB3aWR0aCBtYXRjaGVzIGl0LlxuICAvLyB1cGRhdGVEaXNwbGF5X1cyIHdpbGwgdXNlIHRoZXNlIHByb3BlcnRpZXMgdG8gZG8gdGhlIGFjdHVhbCByZXNpemluZ1xuICBpZiAoZGlzcGxheS5tYXhMaW5lQ2hhbmdlZCAmJiAhY20ub3B0aW9ucy5saW5lV3JhcHBpbmcpIHtcbiAgICBvcC5hZGp1c3RXaWR0aFRvID0gbWVhc3VyZUNoYXIoY20sIGRpc3BsYXkubWF4TGluZSwgZGlzcGxheS5tYXhMaW5lLnRleHQubGVuZ3RoKS5sZWZ0ICsgM1xuICAgIGNtLmRpc3BsYXkuc2l6ZXJXaWR0aCA9IG9wLmFkanVzdFdpZHRoVG9cbiAgICBvcC5iYXJNZWFzdXJlLnNjcm9sbFdpZHRoID1cbiAgICAgIE1hdGgubWF4KGRpc3BsYXkuc2Nyb2xsZXIuY2xpZW50V2lkdGgsIGRpc3BsYXkuc2l6ZXIub2Zmc2V0TGVmdCArIG9wLmFkanVzdFdpZHRoVG8gKyBzY3JvbGxHYXAoY20pICsgY20uZGlzcGxheS5iYXJXaWR0aClcbiAgICBvcC5tYXhTY3JvbGxMZWZ0ID0gTWF0aC5tYXgoMCwgZGlzcGxheS5zaXplci5vZmZzZXRMZWZ0ICsgb3AuYWRqdXN0V2lkdGhUbyAtIGRpc3BsYXlXaWR0aChjbSkpXG4gIH1cblxuICBpZiAob3AudXBkYXRlZERpc3BsYXkgfHwgb3Auc2VsZWN0aW9uQ2hhbmdlZClcbiAgICBvcC5wcmVwYXJlZFNlbGVjdGlvbiA9IGRpc3BsYXkuaW5wdXQucHJlcGFyZVNlbGVjdGlvbigpXG59XG5cbmZ1bmN0aW9uIGVuZE9wZXJhdGlvbl9XMihvcCkge1xuICBsZXQgY20gPSBvcC5jbVxuXG4gIGlmIChvcC5hZGp1c3RXaWR0aFRvICE9IG51bGwpIHtcbiAgICBjbS5kaXNwbGF5LnNpemVyLnN0eWxlLm1pbldpZHRoID0gb3AuYWRqdXN0V2lkdGhUbyArIFwicHhcIlxuICAgIGlmIChvcC5tYXhTY3JvbGxMZWZ0IDwgY20uZG9jLnNjcm9sbExlZnQpXG4gICAgICBzZXRTY3JvbGxMZWZ0KGNtLCBNYXRoLm1pbihjbS5kaXNwbGF5LnNjcm9sbGVyLnNjcm9sbExlZnQsIG9wLm1heFNjcm9sbExlZnQpLCB0cnVlKVxuICAgIGNtLmRpc3BsYXkubWF4TGluZUNoYW5nZWQgPSBmYWxzZVxuICB9XG5cbiAgbGV0IHRha2VGb2N1cyA9IG9wLmZvY3VzICYmIG9wLmZvY3VzID09IGFjdGl2ZUVsdCgpXG4gIGlmIChvcC5wcmVwYXJlZFNlbGVjdGlvbilcbiAgICBjbS5kaXNwbGF5LmlucHV0LnNob3dTZWxlY3Rpb24ob3AucHJlcGFyZWRTZWxlY3Rpb24sIHRha2VGb2N1cylcbiAgaWYgKG9wLnVwZGF0ZWREaXNwbGF5IHx8IG9wLnN0YXJ0SGVpZ2h0ICE9IGNtLmRvYy5oZWlnaHQpXG4gICAgdXBkYXRlU2Nyb2xsYmFycyhjbSwgb3AuYmFyTWVhc3VyZSlcbiAgaWYgKG9wLnVwZGF0ZWREaXNwbGF5KVxuICAgIHNldERvY3VtZW50SGVpZ2h0KGNtLCBvcC5iYXJNZWFzdXJlKVxuXG4gIGlmIChvcC5zZWxlY3Rpb25DaGFuZ2VkKSByZXN0YXJ0QmxpbmsoY20pXG5cbiAgaWYgKGNtLnN0YXRlLmZvY3VzZWQgJiYgb3AudXBkYXRlSW5wdXQpXG4gICAgY20uZGlzcGxheS5pbnB1dC5yZXNldChvcC50eXBpbmcpXG4gIGlmICh0YWtlRm9jdXMpIGVuc3VyZUZvY3VzKG9wLmNtKVxufVxuXG5mdW5jdGlvbiBlbmRPcGVyYXRpb25fZmluaXNoKG9wKSB7XG4gIGxldCBjbSA9IG9wLmNtLCBkaXNwbGF5ID0gY20uZGlzcGxheSwgZG9jID0gY20uZG9jXG5cbiAgaWYgKG9wLnVwZGF0ZWREaXNwbGF5KSBwb3N0VXBkYXRlRGlzcGxheShjbSwgb3AudXBkYXRlKVxuXG4gIC8vIEFib3J0IG1vdXNlIHdoZWVsIGRlbHRhIG1lYXN1cmVtZW50LCB3aGVuIHNjcm9sbGluZyBleHBsaWNpdGx5XG4gIGlmIChkaXNwbGF5LndoZWVsU3RhcnRYICE9IG51bGwgJiYgKG9wLnNjcm9sbFRvcCAhPSBudWxsIHx8IG9wLnNjcm9sbExlZnQgIT0gbnVsbCB8fCBvcC5zY3JvbGxUb1BvcykpXG4gICAgZGlzcGxheS53aGVlbFN0YXJ0WCA9IGRpc3BsYXkud2hlZWxTdGFydFkgPSBudWxsXG5cbiAgLy8gUHJvcGFnYXRlIHRoZSBzY3JvbGwgcG9zaXRpb24gdG8gdGhlIGFjdHVhbCBET00gc2Nyb2xsZXJcbiAgaWYgKG9wLnNjcm9sbFRvcCAhPSBudWxsKSBzZXRTY3JvbGxUb3AoY20sIG9wLnNjcm9sbFRvcCwgb3AuZm9yY2VTY3JvbGwpXG5cbiAgaWYgKG9wLnNjcm9sbExlZnQgIT0gbnVsbCkgc2V0U2Nyb2xsTGVmdChjbSwgb3Auc2Nyb2xsTGVmdCwgdHJ1ZSwgdHJ1ZSlcbiAgLy8gSWYgd2UgbmVlZCB0byBzY3JvbGwgYSBzcGVjaWZpYyBwb3NpdGlvbiBpbnRvIHZpZXcsIGRvIHNvLlxuICBpZiAob3Auc2Nyb2xsVG9Qb3MpIHtcbiAgICBsZXQgcmVjdCA9IHNjcm9sbFBvc0ludG9WaWV3KGNtLCBjbGlwUG9zKGRvYywgb3Auc2Nyb2xsVG9Qb3MuZnJvbSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGlwUG9zKGRvYywgb3Auc2Nyb2xsVG9Qb3MudG8pLCBvcC5zY3JvbGxUb1Bvcy5tYXJnaW4pXG4gICAgbWF5YmVTY3JvbGxXaW5kb3coY20sIHJlY3QpXG4gIH1cblxuICAvLyBGaXJlIGV2ZW50cyBmb3IgbWFya2VycyB0aGF0IGFyZSBoaWRkZW4vdW5pZGRlbiBieSBlZGl0aW5nIG9yXG4gIC8vIHVuZG9pbmdcbiAgbGV0IGhpZGRlbiA9IG9wLm1heWJlSGlkZGVuTWFya2VycywgdW5oaWRkZW4gPSBvcC5tYXliZVVuaGlkZGVuTWFya2Vyc1xuICBpZiAoaGlkZGVuKSBmb3IgKGxldCBpID0gMDsgaSA8IGhpZGRlbi5sZW5ndGg7ICsraSlcbiAgICBpZiAoIWhpZGRlbltpXS5saW5lcy5sZW5ndGgpIHNpZ25hbChoaWRkZW5baV0sIFwiaGlkZVwiKVxuICBpZiAodW5oaWRkZW4pIGZvciAobGV0IGkgPSAwOyBpIDwgdW5oaWRkZW4ubGVuZ3RoOyArK2kpXG4gICAgaWYgKHVuaGlkZGVuW2ldLmxpbmVzLmxlbmd0aCkgc2lnbmFsKHVuaGlkZGVuW2ldLCBcInVuaGlkZVwiKVxuXG4gIGlmIChkaXNwbGF5LndyYXBwZXIub2Zmc2V0SGVpZ2h0KVxuICAgIGRvYy5zY3JvbGxUb3AgPSBjbS5kaXNwbGF5LnNjcm9sbGVyLnNjcm9sbFRvcFxuXG4gIC8vIEZpcmUgY2hhbmdlIGV2ZW50cywgYW5kIGRlbGF5ZWQgZXZlbnQgaGFuZGxlcnNcbiAgaWYgKG9wLmNoYW5nZU9ianMpXG4gICAgc2lnbmFsKGNtLCBcImNoYW5nZXNcIiwgY20sIG9wLmNoYW5nZU9ianMpXG4gIGlmIChvcC51cGRhdGUpXG4gICAgb3AudXBkYXRlLmZpbmlzaCgpXG59XG5cbi8vIFJ1biB0aGUgZ2l2ZW4gZnVuY3Rpb24gaW4gYW4gb3BlcmF0aW9uXG5leHBvcnQgZnVuY3Rpb24gcnVuSW5PcChjbSwgZikge1xuICBpZiAoY20uY3VyT3ApIHJldHVybiBmKClcbiAgc3RhcnRPcGVyYXRpb24oY20pXG4gIHRyeSB7IHJldHVybiBmKCkgfVxuICBmaW5hbGx5IHsgZW5kT3BlcmF0aW9uKGNtKSB9XG59XG4vLyBXcmFwcyBhIGZ1bmN0aW9uIGluIGFuIG9wZXJhdGlvbi4gUmV0dXJucyB0aGUgd3JhcHBlZCBmdW5jdGlvbi5cbmV4cG9ydCBmdW5jdGlvbiBvcGVyYXRpb24oY20sIGYpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uKCkge1xuICAgIGlmIChjbS5jdXJPcCkgcmV0dXJuIGYuYXBwbHkoY20sIGFyZ3VtZW50cylcbiAgICBzdGFydE9wZXJhdGlvbihjbSlcbiAgICB0cnkgeyByZXR1cm4gZi5hcHBseShjbSwgYXJndW1lbnRzKSB9XG4gICAgZmluYWxseSB7IGVuZE9wZXJhdGlvbihjbSkgfVxuICB9XG59XG4vLyBVc2VkIHRvIGFkZCBtZXRob2RzIHRvIGVkaXRvciBhbmQgZG9jIGluc3RhbmNlcywgd3JhcHBpbmcgdGhlbSBpblxuLy8gb3BlcmF0aW9ucy5cbmV4cG9ydCBmdW5jdGlvbiBtZXRob2RPcChmKSB7XG4gIHJldHVybiBmdW5jdGlvbigpIHtcbiAgICBpZiAodGhpcy5jdXJPcCkgcmV0dXJuIGYuYXBwbHkodGhpcywgYXJndW1lbnRzKVxuICAgIHN0YXJ0T3BlcmF0aW9uKHRoaXMpXG4gICAgdHJ5IHsgcmV0dXJuIGYuYXBwbHkodGhpcywgYXJndW1lbnRzKSB9XG4gICAgZmluYWxseSB7IGVuZE9wZXJhdGlvbih0aGlzKSB9XG4gIH1cbn1cbmV4cG9ydCBmdW5jdGlvbiBkb2NNZXRob2RPcChmKSB7XG4gIHJldHVybiBmdW5jdGlvbigpIHtcbiAgICBsZXQgY20gPSB0aGlzLmNtXG4gICAgaWYgKCFjbSB8fCBjbS5jdXJPcCkgcmV0dXJuIGYuYXBwbHkodGhpcywgYXJndW1lbnRzKVxuICAgIHN0YXJ0T3BlcmF0aW9uKGNtKVxuICAgIHRyeSB7IHJldHVybiBmLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykgfVxuICAgIGZpbmFsbHkgeyBlbmRPcGVyYXRpb24oY20pIH1cbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFoQkE7QUFpQkE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFFQTtBQUlBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFFQTtBQUdBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBRUE7QUFHQTtBQUVBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUdBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBREE7QUFBQTtBQUNBO0FBRUE7QUFHQTtBQUNBO0FBR0E7QUFFQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/codemirror/src/display/operations.js\n"); /***/ }), /***/ "./node_modules/codemirror/src/display/scrollbars.js": /*!***********************************************************!*\ !*** ./node_modules/codemirror/src/display/scrollbars.js ***! \***********************************************************/ /*! exports provided: measureForScrollbars, updateScrollbars, scrollbarModel, initScrollbars */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"measureForScrollbars\", function() { return measureForScrollbars; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"updateScrollbars\", function() { return updateScrollbars; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"scrollbarModel\", function() { return scrollbarModel; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"initScrollbars\", function() { return initScrollbars; });\n/* harmony import */ var _util_dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../util/dom.js */ \"./node_modules/codemirror/src/util/dom.js\");\n/* harmony import */ var _util_event_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../util/event.js */ \"./node_modules/codemirror/src/util/event.js\");\n/* harmony import */ var _measurement_position_measurement_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../measurement/position_measurement.js */ \"./node_modules/codemirror/src/measurement/position_measurement.js\");\n/* harmony import */ var _util_browser_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../util/browser.js */ \"./node_modules/codemirror/src/util/browser.js\");\n/* harmony import */ var _update_lines_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./update_lines.js */ \"./node_modules/codemirror/src/display/update_lines.js\");\n/* harmony import */ var _util_misc_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../util/misc.js */ \"./node_modules/codemirror/src/util/misc.js\");\n/* harmony import */ var _scrolling_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./scrolling.js */ \"./node_modules/codemirror/src/display/scrolling.js\");\n\n\n\n\n\n\n // SCROLLBARS\n// Prepare DOM reads needed to update the scrollbars. Done in one\n// shot to minimize update/measure roundtrips.\n\nfunction measureForScrollbars(cm) {\n let d = cm.display,\n gutterW = d.gutters.offsetWidth;\n let docH = Math.round(cm.doc.height + Object(_measurement_position_measurement_js__WEBPACK_IMPORTED_MODULE_2__[\"paddingVert\"])(cm.display));\n return {\n clientHeight: d.scroller.clientHeight,\n viewHeight: d.wrapper.clientHeight,\n scrollWidth: d.scroller.scrollWidth,\n clientWidth: d.scroller.clientWidth,\n viewWidth: d.wrapper.clientWidth,\n barLeft: cm.options.fixedGutter ? gutterW : 0,\n docHeight: docH,\n scrollHeight: docH + Object(_measurement_position_measurement_js__WEBPACK_IMPORTED_MODULE_2__[\"scrollGap\"])(cm) + d.barHeight,\n nativeBarWidth: d.nativeBarWidth,\n gutterWidth: gutterW\n };\n}\n\nclass NativeScrollbars {\n constructor(place, scroll, cm) {\n this.cm = cm;\n let vert = this.vert = Object(_util_dom_js__WEBPACK_IMPORTED_MODULE_0__[\"elt\"])(\"div\", [Object(_util_dom_js__WEBPACK_IMPORTED_MODULE_0__[\"elt\"])(\"div\", null, null, \"min-width: 1px\")], \"CodeMirror-vscrollbar\");\n let horiz = this.horiz = Object(_util_dom_js__WEBPACK_IMPORTED_MODULE_0__[\"elt\"])(\"div\", [Object(_util_dom_js__WEBPACK_IMPORTED_MODULE_0__[\"elt\"])(\"div\", null, null, \"height: 100%; min-height: 1px\")], \"CodeMirror-hscrollbar\");\n vert.tabIndex = horiz.tabIndex = -1;\n place(vert);\n place(horiz);\n Object(_util_event_js__WEBPACK_IMPORTED_MODULE_1__[\"on\"])(vert, \"scroll\", () => {\n if (vert.clientHeight) scroll(vert.scrollTop, \"vertical\");\n });\n Object(_util_event_js__WEBPACK_IMPORTED_MODULE_1__[\"on\"])(horiz, \"scroll\", () => {\n if (horiz.clientWidth) scroll(horiz.scrollLeft, \"horizontal\");\n });\n this.checkedZeroWidth = false; // Need to set a minimum width to see the scrollbar on IE7 (but must not set it on IE8).\n\n if (_util_browser_js__WEBPACK_IMPORTED_MODULE_3__[\"ie\"] && _util_browser_js__WEBPACK_IMPORTED_MODULE_3__[\"ie_version\"] < 8) this.horiz.style.minHeight = this.vert.style.minWidth = \"18px\";\n }\n\n update(measure) {\n let needsH = measure.scrollWidth > measure.clientWidth + 1;\n let needsV = measure.scrollHeight > measure.clientHeight + 1;\n let sWidth = measure.nativeBarWidth;\n\n if (needsV) {\n this.vert.style.display = \"block\";\n this.vert.style.bottom = needsH ? sWidth + \"px\" : \"0\";\n let totalHeight = measure.viewHeight - (needsH ? sWidth : 0); // A bug in IE8 can cause this value to be negative, so guard it.\n\n this.vert.firstChild.style.height = Math.max(0, measure.scrollHeight - measure.clientHeight + totalHeight) + \"px\";\n } else {\n this.vert.style.display = \"\";\n this.vert.firstChild.style.height = \"0\";\n }\n\n if (needsH) {\n this.horiz.style.display = \"block\";\n this.horiz.style.right = needsV ? sWidth + \"px\" : \"0\";\n this.horiz.style.left = measure.barLeft + \"px\";\n let totalWidth = measure.viewWidth - measure.barLeft - (needsV ? sWidth : 0);\n this.horiz.firstChild.style.width = Math.max(0, measure.scrollWidth - measure.clientWidth + totalWidth) + \"px\";\n } else {\n this.horiz.style.display = \"\";\n this.horiz.firstChild.style.width = \"0\";\n }\n\n if (!this.checkedZeroWidth && measure.clientHeight > 0) {\n if (sWidth == 0) this.zeroWidthHack();\n this.checkedZeroWidth = true;\n }\n\n return {\n right: needsV ? sWidth : 0,\n bottom: needsH ? sWidth : 0\n };\n }\n\n setScrollLeft(pos) {\n if (this.horiz.scrollLeft != pos) this.horiz.scrollLeft = pos;\n if (this.disableHoriz) this.enableZeroWidthBar(this.horiz, this.disableHoriz, \"horiz\");\n }\n\n setScrollTop(pos) {\n if (this.vert.scrollTop != pos) this.vert.scrollTop = pos;\n if (this.disableVert) this.enableZeroWidthBar(this.vert, this.disableVert, \"vert\");\n }\n\n zeroWidthHack() {\n let w = _util_browser_js__WEBPACK_IMPORTED_MODULE_3__[\"mac\"] && !_util_browser_js__WEBPACK_IMPORTED_MODULE_3__[\"mac_geMountainLion\"] ? \"12px\" : \"18px\";\n this.horiz.style.height = this.vert.style.width = w;\n this.horiz.style.pointerEvents = this.vert.style.pointerEvents = \"none\";\n this.disableHoriz = new _util_misc_js__WEBPACK_IMPORTED_MODULE_5__[\"Delayed\"]();\n this.disableVert = new _util_misc_js__WEBPACK_IMPORTED_MODULE_5__[\"Delayed\"]();\n }\n\n enableZeroWidthBar(bar, delay, type) {\n bar.style.pointerEvents = \"auto\";\n\n function maybeDisable() {\n // To find out whether the scrollbar is still visible, we\n // check whether the element under the pixel in the bottom\n // right corner of the scrollbar box is the scrollbar box\n // itself (when the bar is still visible) or its filler child\n // (when the bar is hidden). If it is still visible, we keep\n // it enabled, if it's hidden, we disable pointer events.\n let box = bar.getBoundingClientRect();\n let elt = type == \"vert\" ? document.elementFromPoint(box.right - 1, (box.top + box.bottom) / 2) : document.elementFromPoint((box.right + box.left) / 2, box.bottom - 1);\n if (elt != bar) bar.style.pointerEvents = \"none\";else delay.set(1000, maybeDisable);\n }\n\n delay.set(1000, maybeDisable);\n }\n\n clear() {\n let parent = this.horiz.parentNode;\n parent.removeChild(this.horiz);\n parent.removeChild(this.vert);\n }\n\n}\n\nclass NullScrollbars {\n update() {\n return {\n bottom: 0,\n right: 0\n };\n }\n\n setScrollLeft() {}\n\n setScrollTop() {}\n\n clear() {}\n\n}\n\nfunction updateScrollbars(cm, measure) {\n if (!measure) measure = measureForScrollbars(cm);\n let startWidth = cm.display.barWidth,\n startHeight = cm.display.barHeight;\n updateScrollbarsInner(cm, measure);\n\n for (let i = 0; i < 4 && startWidth != cm.display.barWidth || startHeight != cm.display.barHeight; i++) {\n if (startWidth != cm.display.barWidth && cm.options.lineWrapping) Object(_update_lines_js__WEBPACK_IMPORTED_MODULE_4__[\"updateHeightsInViewport\"])(cm);\n updateScrollbarsInner(cm, measureForScrollbars(cm));\n startWidth = cm.display.barWidth;\n startHeight = cm.display.barHeight;\n }\n} // Re-synchronize the fake scrollbars with the actual size of the\n// content.\n\nfunction updateScrollbarsInner(cm, measure) {\n let d = cm.display;\n let sizes = d.scrollbars.update(measure);\n d.sizer.style.paddingRight = (d.barWidth = sizes.right) + \"px\";\n d.sizer.style.paddingBottom = (d.barHeight = sizes.bottom) + \"px\";\n d.heightForcer.style.borderBottom = sizes.bottom + \"px solid transparent\";\n\n if (sizes.right && sizes.bottom) {\n d.scrollbarFiller.style.display = \"block\";\n d.scrollbarFiller.style.height = sizes.bottom + \"px\";\n d.scrollbarFiller.style.width = sizes.right + \"px\";\n } else d.scrollbarFiller.style.display = \"\";\n\n if (sizes.bottom && cm.options.coverGutterNextToScrollbar && cm.options.fixedGutter) {\n d.gutterFiller.style.display = \"block\";\n d.gutterFiller.style.height = sizes.bottom + \"px\";\n d.gutterFiller.style.width = measure.gutterWidth + \"px\";\n } else d.gutterFiller.style.display = \"\";\n}\n\nlet scrollbarModel = {\n \"native\": NativeScrollbars,\n \"null\": NullScrollbars\n};\nfunction initScrollbars(cm) {\n if (cm.display.scrollbars) {\n cm.display.scrollbars.clear();\n if (cm.display.scrollbars.addClass) Object(_util_dom_js__WEBPACK_IMPORTED_MODULE_0__[\"rmClass\"])(cm.display.wrapper, cm.display.scrollbars.addClass);\n }\n\n cm.display.scrollbars = new scrollbarModel[cm.options.scrollbarStyle](node => {\n cm.display.wrapper.insertBefore(node, cm.display.scrollbarFiller); // Prevent clicks in the scrollbars from killing focus\n\n Object(_util_event_js__WEBPACK_IMPORTED_MODULE_1__[\"on\"])(node, \"mousedown\", () => {\n if (cm.state.focused) setTimeout(() => cm.display.input.focus(), 0);\n });\n node.setAttribute(\"cm-not-content\", \"true\");\n }, (pos, axis) => {\n if (axis == \"horizontal\") Object(_scrolling_js__WEBPACK_IMPORTED_MODULE_6__[\"setScrollLeft\"])(cm, pos);else Object(_scrolling_js__WEBPACK_IMPORTED_MODULE_6__[\"updateScrollTop\"])(cm, pos);\n }, cm);\n if (cm.display.scrollbars.addClass) Object(_util_dom_js__WEBPACK_IMPORTED_MODULE_0__[\"addClass\"])(cm.display.wrapper, cm.display.scrollbars.addClass);\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9zcmMvZGlzcGxheS9zY3JvbGxiYXJzLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvZGVtaXJyb3Ivc3JjL2Rpc3BsYXkvc2Nyb2xsYmFycy5qcz9lY2QwIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFkZENsYXNzLCBlbHQsIHJtQ2xhc3MgfSBmcm9tIFwiLi4vdXRpbC9kb20uanNcIlxuaW1wb3J0IHsgb24gfSBmcm9tIFwiLi4vdXRpbC9ldmVudC5qc1wiXG5pbXBvcnQgeyBzY3JvbGxHYXAsIHBhZGRpbmdWZXJ0IH0gZnJvbSBcIi4uL21lYXN1cmVtZW50L3Bvc2l0aW9uX21lYXN1cmVtZW50LmpzXCJcbmltcG9ydCB7IGllLCBpZV92ZXJzaW9uLCBtYWMsIG1hY19nZU1vdW50YWluTGlvbiB9IGZyb20gXCIuLi91dGlsL2Jyb3dzZXIuanNcIlxuaW1wb3J0IHsgdXBkYXRlSGVpZ2h0c0luVmlld3BvcnQgfSBmcm9tIFwiLi91cGRhdGVfbGluZXMuanNcIlxuaW1wb3J0IHsgRGVsYXllZCB9IGZyb20gXCIuLi91dGlsL21pc2MuanNcIlxuXG5pbXBvcnQgeyBzZXRTY3JvbGxMZWZ0LCB1cGRhdGVTY3JvbGxUb3AgfSBmcm9tIFwiLi9zY3JvbGxpbmcuanNcIlxuXG4vLyBTQ1JPTExCQVJTXG5cbi8vIFByZXBhcmUgRE9NIHJlYWRzIG5lZWRlZCB0byB1cGRhdGUgdGhlIHNjcm9sbGJhcnMuIERvbmUgaW4gb25lXG4vLyBzaG90IHRvIG1pbmltaXplIHVwZGF0ZS9tZWFzdXJlIHJvdW5kdHJpcHMuXG5leHBvcnQgZnVuY3Rpb24gbWVhc3VyZUZvclNjcm9sbGJhcnMoY20pIHtcbiAgbGV0IGQgPSBjbS5kaXNwbGF5LCBndXR0ZXJXID0gZC5ndXR0ZXJzLm9mZnNldFdpZHRoXG4gIGxldCBkb2NIID0gTWF0aC5yb3VuZChjbS5kb2MuaGVpZ2h0ICsgcGFkZGluZ1ZlcnQoY20uZGlzcGxheSkpXG4gIHJldHVybiB7XG4gICAgY2xpZW50SGVpZ2h0OiBkLnNjcm9sbGVyLmNsaWVudEhlaWdodCxcbiAgICB2aWV3SGVpZ2h0OiBkLndyYXBwZXIuY2xpZW50SGVpZ2h0LFxuICAgIHNjcm9sbFdpZHRoOiBkLnNjcm9sbGVyLnNjcm9sbFdpZHRoLCBjbGllbnRXaWR0aDogZC5zY3JvbGxlci5jbGllbnRXaWR0aCxcbiAgICB2aWV3V2lkdGg6IGQud3JhcHBlci5jbGllbnRXaWR0aCxcbiAgICBiYXJMZWZ0OiBjbS5vcHRpb25zLmZpeGVkR3V0dGVyID8gZ3V0dGVyVyA6IDAsXG4gICAgZG9jSGVpZ2h0OiBkb2NILFxuICAgIHNjcm9sbEhlaWdodDogZG9jSCArIHNjcm9sbEdhcChjbSkgKyBkLmJhckhlaWdodCxcbiAgICBuYXRpdmVCYXJXaWR0aDogZC5uYXRpdmVCYXJXaWR0aCxcbiAgICBndXR0ZXJXaWR0aDogZ3V0dGVyV1xuICB9XG59XG5cbmNsYXNzIE5hdGl2ZVNjcm9sbGJhcnMge1xuICBjb25zdHJ1Y3RvcihwbGFjZSwgc2Nyb2xsLCBjbSkge1xuICAgIHRoaXMuY20gPSBjbVxuICAgIGxldCB2ZXJ0ID0gdGhpcy52ZXJ0ID0gZWx0KFwiZGl2XCIsIFtlbHQoXCJkaXZcIiwgbnVsbCwgbnVsbCwgXCJtaW4td2lkdGg6IDFweFwiKV0sIFwiQ29kZU1pcnJvci12c2Nyb2xsYmFyXCIpXG4gICAgbGV0IGhvcml6ID0gdGhpcy5ob3JpeiA9IGVsdChcImRpdlwiLCBbZWx0KFwiZGl2XCIsIG51bGwsIG51bGwsIFwiaGVpZ2h0OiAxMDAlOyBtaW4taGVpZ2h0OiAxcHhcIildLCBcIkNvZGVNaXJyb3ItaHNjcm9sbGJhclwiKVxuICAgIHZlcnQudGFiSW5kZXggPSBob3Jpei50YWJJbmRleCA9IC0xXG4gICAgcGxhY2UodmVydCk7IHBsYWNlKGhvcml6KVxuXG4gICAgb24odmVydCwgXCJzY3JvbGxcIiwgKCkgPT4ge1xuICAgICAgaWYgKHZlcnQuY2xpZW50SGVpZ2h0KSBzY3JvbGwodmVydC5zY3JvbGxUb3AsIFwidmVydGljYWxcIilcbiAgICB9KVxuICAgIG9uKGhvcml6LCBcInNjcm9sbFwiLCAoKSA9PiB7XG4gICAgICBpZiAoaG9yaXouY2xpZW50V2lkdGgpIHNjcm9sbChob3Jpei5zY3JvbGxMZWZ0LCBcImhvcml6b250YWxcIilcbiAgICB9KVxuXG4gICAgdGhpcy5jaGVja2VkWmVyb1dpZHRoID0gZmFsc2VcbiAgICAvLyBOZWVkIHRvIHNldCBhIG1pbmltdW0gd2lkdGggdG8gc2VlIHRoZSBzY3JvbGxiYXIgb24gSUU3IChidXQgbXVzdCBub3Qgc2V0IGl0IG9uIElFOCkuXG4gICAgaWYgKGllICYmIGllX3ZlcnNpb24gPCA4KSB0aGlzLmhvcml6LnN0eWxlLm1pbkhlaWdodCA9IHRoaXMudmVydC5zdHlsZS5taW5XaWR0aCA9IFwiMThweFwiXG4gIH1cblxuICB1cGRhdGUobWVhc3VyZSkge1xuICAgIGxldCBuZWVkc0ggPSBtZWFzdXJlLnNjcm9sbFdpZHRoID4gbWVhc3VyZS5jbGllbnRXaWR0aCArIDFcbiAgICBsZXQgbmVlZHNWID0gbWVhc3VyZS5zY3JvbGxIZWlnaHQgPiBtZWFzdXJlLmNsaWVudEhlaWdodCArIDFcbiAgICBsZXQgc1dpZHRoID0gbWVhc3VyZS5uYXRpdmVCYXJXaWR0aFxuXG4gICAgaWYgKG5lZWRzVikge1xuICAgICAgdGhpcy52ZXJ0LnN0eWxlLmRpc3BsYXkgPSBcImJsb2NrXCJcbiAgICAgIHRoaXMudmVydC5zdHlsZS5ib3R0b20gPSBuZWVkc0ggPyBzV2lkdGggKyBcInB4XCIgOiBcIjBcIlxuICAgICAgbGV0IHRvdGFsSGVpZ2h0ID0gbWVhc3VyZS52aWV3SGVpZ2h0IC0gKG5lZWRzSCA/IHNXaWR0aCA6IDApXG4gICAgICAvLyBBIGJ1ZyBpbiBJRTggY2FuIGNhdXNlIHRoaXMgdmFsdWUgdG8gYmUgbmVnYXRpdmUsIHNvIGd1YXJkIGl0LlxuICAgICAgdGhpcy52ZXJ0LmZpcnN0Q2hpbGQuc3R5bGUuaGVpZ2h0ID1cbiAgICAgICAgTWF0aC5tYXgoMCwgbWVhc3VyZS5zY3JvbGxIZWlnaHQgLSBtZWFzdXJlLmNsaWVudEhlaWdodCArIHRvdGFsSGVpZ2h0KSArIFwicHhcIlxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnZlcnQuc3R5bGUuZGlzcGxheSA9IFwiXCJcbiAgICAgIHRoaXMudmVydC5maXJzdENoaWxkLnN0eWxlLmhlaWdodCA9IFwiMFwiXG4gICAgfVxuXG4gICAgaWYgKG5lZWRzSCkge1xuICAgICAgdGhpcy5ob3Jpei5zdHlsZS5kaXNwbGF5ID0gXCJibG9ja1wiXG4gICAgICB0aGlzLmhvcml6LnN0eWxlLnJpZ2h0ID0gbmVlZHNWID8gc1dpZHRoICsgXCJweFwiIDogXCIwXCJcbiAgICAgIHRoaXMuaG9yaXouc3R5bGUubGVmdCA9IG1lYXN1cmUuYmFyTGVmdCArIFwicHhcIlxuICAgICAgbGV0IHRvdGFsV2lkdGggPSBtZWFzdXJlLnZpZXdXaWR0aCAtIG1lYXN1cmUuYmFyTGVmdCAtIChuZWVkc1YgPyBzV2lkdGggOiAwKVxuICAgICAgdGhpcy5ob3Jpei5maXJzdENoaWxkLnN0eWxlLndpZHRoID1cbiAgICAgICAgTWF0aC5tYXgoMCwgbWVhc3VyZS5zY3JvbGxXaWR0aCAtIG1lYXN1cmUuY2xpZW50V2lkdGggKyB0b3RhbFdpZHRoKSArIFwicHhcIlxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmhvcml6LnN0eWxlLmRpc3BsYXkgPSBcIlwiXG4gICAgICB0aGlzLmhvcml6LmZpcnN0Q2hpbGQuc3R5bGUud2lkdGggPSBcIjBcIlxuICAgIH1cblxuICAgIGlmICghdGhpcy5jaGVja2VkWmVyb1dpZHRoICYmIG1lYXN1cmUuY2xpZW50SGVpZ2h0ID4gMCkge1xuICAgICAgaWYgKHNXaWR0aCA9PSAwKSB0aGlzLnplcm9XaWR0aEhhY2soKVxuICAgICAgdGhpcy5jaGVja2VkWmVyb1dpZHRoID0gdHJ1ZVxuICAgIH1cblxuICAgIHJldHVybiB7cmlnaHQ6IG5lZWRzViA/IHNXaWR0aCA6IDAsIGJvdHRvbTogbmVlZHNIID8gc1dpZHRoIDogMH1cbiAgfVxuXG4gIHNldFNjcm9sbExlZnQocG9zKSB7XG4gICAgaWYgKHRoaXMuaG9yaXouc2Nyb2xsTGVmdCAhPSBwb3MpIHRoaXMuaG9yaXouc2Nyb2xsTGVmdCA9IHBvc1xuICAgIGlmICh0aGlzLmRpc2FibGVIb3JpeikgdGhpcy5lbmFibGVaZXJvV2lkdGhCYXIodGhpcy5ob3JpeiwgdGhpcy5kaXNhYmxlSG9yaXosIFwiaG9yaXpcIilcbiAgfVxuXG4gIHNldFNjcm9sbFRvcChwb3MpIHtcbiAgICBpZiAodGhpcy52ZXJ0LnNjcm9sbFRvcCAhPSBwb3MpIHRoaXMudmVydC5zY3JvbGxUb3AgPSBwb3NcbiAgICBpZiAodGhpcy5kaXNhYmxlVmVydCkgdGhpcy5lbmFibGVaZXJvV2lkdGhCYXIodGhpcy52ZXJ0LCB0aGlzLmRpc2FibGVWZXJ0LCBcInZlcnRcIilcbiAgfVxuXG4gIHplcm9XaWR0aEhhY2soKSB7XG4gICAgbGV0IHcgPSBtYWMgJiYgIW1hY19nZU1vdW50YWluTGlvbiA/IFwiMTJweFwiIDogXCIxOHB4XCJcbiAgICB0aGlzLmhvcml6LnN0eWxlLmhlaWdodCA9IHRoaXMudmVydC5zdHlsZS53aWR0aCA9IHdcbiAgICB0aGlzLmhvcml6LnN0eWxlLnBvaW50ZXJFdmVudHMgPSB0aGlzLnZlcnQuc3R5bGUucG9pbnRlckV2ZW50cyA9IFwibm9uZVwiXG4gICAgdGhpcy5kaXNhYmxlSG9yaXogPSBuZXcgRGVsYXllZFxuICAgIHRoaXMuZGlzYWJsZVZlcnQgPSBuZXcgRGVsYXllZFxuICB9XG5cbiAgZW5hYmxlWmVyb1dpZHRoQmFyKGJhciwgZGVsYXksIHR5cGUpIHtcbiAgICBiYXIuc3R5bGUucG9pbnRlckV2ZW50cyA9IFwiYXV0b1wiXG4gICAgZnVuY3Rpb24gbWF5YmVEaXNhYmxlKCkge1xuICAgICAgLy8gVG8gZmluZCBvdXQgd2hldGhlciB0aGUgc2Nyb2xsYmFyIGlzIHN0aWxsIHZpc2libGUsIHdlXG4gICAgICAvLyBjaGVjayB3aGV0aGVyIHRoZSBlbGVtZW50IHVuZGVyIHRoZSBwaXhlbCBpbiB0aGUgYm90dG9tXG4gICAgICAvLyByaWdodCBjb3JuZXIgb2YgdGhlIHNjcm9sbGJhciBib3ggaXMgdGhlIHNjcm9sbGJhciBib3hcbiAgICAgIC8vIGl0c2VsZiAod2hlbiB0aGUgYmFyIGlzIHN0aWxsIHZpc2libGUpIG9yIGl0cyBmaWxsZXIgY2hpbGRcbiAgICAgIC8vICh3aGVuIHRoZSBiYXIgaXMgaGlkZGVuKS4gSWYgaXQgaXMgc3RpbGwgdmlzaWJsZSwgd2Uga2VlcFxuICAgICAgLy8gaXQgZW5hYmxlZCwgaWYgaXQncyBoaWRkZW4sIHdlIGRpc2FibGUgcG9pbnRlciBldmVudHMuXG4gICAgICBsZXQgYm94ID0gYmFyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpXG4gICAgICBsZXQgZWx0ID0gdHlwZSA9PSBcInZlcnRcIiA/IGRvY3VtZW50LmVsZW1lbnRGcm9tUG9pbnQoYm94LnJpZ2h0IC0gMSwgKGJveC50b3AgKyBib3guYm90dG9tKSAvIDIpXG4gICAgICAgICAgOiBkb2N1bWVudC5lbGVtZW50RnJvbVBvaW50KChib3gucmlnaHQgKyBib3gubGVmdCkgLyAyLCBib3guYm90dG9tIC0gMSlcbiAgICAgIGlmIChlbHQgIT0gYmFyKSBiYXIuc3R5bGUucG9pbnRlckV2ZW50cyA9IFwibm9uZVwiXG4gICAgICBlbHNlIGRlbGF5LnNldCgxMDAwLCBtYXliZURpc2FibGUpXG4gICAgfVxuICAgIGRlbGF5LnNldCgxMDAwLCBtYXliZURpc2FibGUpXG4gIH1cblxuICBjbGVhcigpIHtcbiAgICBsZXQgcGFyZW50ID0gdGhpcy5ob3Jpei5wYXJlbnROb2RlXG4gICAgcGFyZW50LnJlbW92ZUNoaWxkKHRoaXMuaG9yaXopXG4gICAgcGFyZW50LnJlbW92ZUNoaWxkKHRoaXMudmVydClcbiAgfVxufVxuXG5jbGFzcyBOdWxsU2Nyb2xsYmFycyB7XG4gIHVwZGF0ZSgpIHsgcmV0dXJuIHtib3R0b206IDAsIHJpZ2h0OiAwfSB9XG4gIHNldFNjcm9sbExlZnQoKSB7fVxuICBzZXRTY3JvbGxUb3AoKSB7fVxuICBjbGVhcigpIHt9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1cGRhdGVTY3JvbGxiYXJzKGNtLCBtZWFzdXJlKSB7XG4gIGlmICghbWVhc3VyZSkgbWVhc3VyZSA9IG1lYXN1cmVGb3JTY3JvbGxiYXJzKGNtKVxuICBsZXQgc3RhcnRXaWR0aCA9IGNtLmRpc3BsYXkuYmFyV2lkdGgsIHN0YXJ0SGVpZ2h0ID0gY20uZGlzcGxheS5iYXJIZWlnaHRcbiAgdXBkYXRlU2Nyb2xsYmFyc0lubmVyKGNtLCBtZWFzdXJlKVxuICBmb3IgKGxldCBpID0gMDsgaSA8IDQgJiYgc3RhcnRXaWR0aCAhPSBjbS5kaXNwbGF5LmJhcldpZHRoIHx8IHN0YXJ0SGVpZ2h0ICE9IGNtLmRpc3BsYXkuYmFySGVpZ2h0OyBpKyspIHtcbiAgICBpZiAoc3RhcnRXaWR0aCAhPSBjbS5kaXNwbGF5LmJhcldpZHRoICYmIGNtLm9wdGlvbnMubGluZVdyYXBwaW5nKVxuICAgICAgdXBkYXRlSGVpZ2h0c0luVmlld3BvcnQoY20pXG4gICAgdXBkYXRlU2Nyb2xsYmFyc0lubmVyKGNtLCBtZWFzdXJlRm9yU2Nyb2xsYmFycyhjbSkpXG4gICAgc3RhcnRXaWR0aCA9IGNtLmRpc3BsYXkuYmFyV2lkdGg7IHN0YXJ0SGVpZ2h0ID0gY20uZGlzcGxheS5iYXJIZWlnaHRcbiAgfVxufVxuXG4vLyBSZS1zeW5jaHJvbml6ZSB0aGUgZmFrZSBzY3JvbGxiYXJzIHdpdGggdGhlIGFjdHVhbCBzaXplIG9mIHRoZVxuLy8gY29udGVudC5cbmZ1bmN0aW9uIHVwZGF0ZVNjcm9sbGJhcnNJbm5lcihjbSwgbWVhc3VyZSkge1xuICBsZXQgZCA9IGNtLmRpc3BsYXlcbiAgbGV0IHNpemVzID0gZC5zY3JvbGxiYXJzLnVwZGF0ZShtZWFzdXJlKVxuXG4gIGQuc2l6ZXIuc3R5bGUucGFkZGluZ1JpZ2h0ID0gKGQuYmFyV2lkdGggPSBzaXplcy5yaWdodCkgKyBcInB4XCJcbiAgZC5zaXplci5zdHlsZS5wYWRkaW5nQm90dG9tID0gKGQuYmFySGVpZ2h0ID0gc2l6ZXMuYm90dG9tKSArIFwicHhcIlxuICBkLmhlaWdodEZvcmNlci5zdHlsZS5ib3JkZXJCb3R0b20gPSBzaXplcy5ib3R0b20gKyBcInB4IHNvbGlkIHRyYW5zcGFyZW50XCJcblxuICBpZiAoc2l6ZXMucmlnaHQgJiYgc2l6ZXMuYm90dG9tKSB7XG4gICAgZC5zY3JvbGxiYXJGaWxsZXIuc3R5bGUuZGlzcGxheSA9IFwiYmxvY2tcIlxuICAgIGQuc2Nyb2xsYmFyRmlsbGVyLnN0eWxlLmhlaWdodCA9IHNpemVzLmJvdHRvbSArIFwicHhcIlxuICAgIGQuc2Nyb2xsYmFyRmlsbGVyLnN0eWxlLndpZHRoID0gc2l6ZXMucmlnaHQgKyBcInB4XCJcbiAgfSBlbHNlIGQuc2Nyb2xsYmFyRmlsbGVyLnN0eWxlLmRpc3BsYXkgPSBcIlwiXG4gIGlmIChzaXplcy5ib3R0b20gJiYgY20ub3B0aW9ucy5jb3Zlckd1dHRlck5leHRUb1Njcm9sbGJhciAmJiBjbS5vcHRpb25zLmZpeGVkR3V0dGVyKSB7XG4gICAgZC5ndXR0ZXJGaWxsZXIuc3R5bGUuZGlzcGxheSA9IFwiYmxvY2tcIlxuICAgIGQuZ3V0dGVyRmlsbGVyLnN0eWxlLmhlaWdodCA9IHNpemVzLmJvdHRvbSArIFwicHhcIlxuICAgIGQuZ3V0dGVyRmlsbGVyLnN0eWxlLndpZHRoID0gbWVhc3VyZS5ndXR0ZXJXaWR0aCArIFwicHhcIlxuICB9IGVsc2UgZC5ndXR0ZXJGaWxsZXIuc3R5bGUuZGlzcGxheSA9IFwiXCJcbn1cblxuZXhwb3J0IGxldCBzY3JvbGxiYXJNb2RlbCA9IHtcIm5hdGl2ZVwiOiBOYXRpdmVTY3JvbGxiYXJzLCBcIm51bGxcIjogTnVsbFNjcm9sbGJhcnN9XG5cbmV4cG9ydCBmdW5jdGlvbiBpbml0U2Nyb2xsYmFycyhjbSkge1xuICBpZiAoY20uZGlzcGxheS5zY3JvbGxiYXJzKSB7XG4gICAgY20uZGlzcGxheS5zY3JvbGxiYXJzLmNsZWFyKClcbiAgICBpZiAoY20uZGlzcGxheS5zY3JvbGxiYXJzLmFkZENsYXNzKVxuICAgICAgcm1DbGFzcyhjbS5kaXNwbGF5LndyYXBwZXIsIGNtLmRpc3BsYXkuc2Nyb2xsYmFycy5hZGRDbGFzcylcbiAgfVxuXG4gIGNtLmRpc3BsYXkuc2Nyb2xsYmFycyA9IG5ldyBzY3JvbGxiYXJNb2RlbFtjbS5vcHRpb25zLnNjcm9sbGJhclN0eWxlXShub2RlID0+IHtcbiAgICBjbS5kaXNwbGF5LndyYXBwZXIuaW5zZXJ0QmVmb3JlKG5vZGUsIGNtLmRpc3BsYXkuc2Nyb2xsYmFyRmlsbGVyKVxuICAgIC8vIFByZXZlbnQgY2xpY2tzIGluIHRoZSBzY3JvbGxiYXJzIGZyb20ga2lsbGluZyBmb2N1c1xuICAgIG9uKG5vZGUsIFwibW91c2Vkb3duXCIsICgpID0+IHtcbiAgICAgIGlmIChjbS5zdGF0ZS5mb2N1c2VkKSBzZXRUaW1lb3V0KCgpID0+IGNtLmRpc3BsYXkuaW5wdXQuZm9jdXMoKSwgMClcbiAgICB9KVxuICAgIG5vZGUuc2V0QXR0cmlidXRlKFwiY20tbm90LWNvbnRlbnRcIiwgXCJ0cnVlXCIpXG4gIH0sIChwb3MsIGF4aXMpID0+IHtcbiAgICBpZiAoYXhpcyA9PSBcImhvcml6b250YWxcIikgc2V0U2Nyb2xsTGVmdChjbSwgcG9zKVxuICAgIGVsc2UgdXBkYXRlU2Nyb2xsVG9wKGNtLCBwb3MpXG4gIH0sIGNtKVxuICBpZiAoY20uZGlzcGxheS5zY3JvbGxiYXJzLmFkZENsYXNzKVxuICAgIGFkZENsYXNzKGNtLmRpc3BsYXkud3JhcHBlciwgY20uZGlzcGxheS5zY3JvbGxiYXJzLmFkZENsYXNzKVxufVxuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUlBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVRBO0FBV0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQWxHQTtBQUNBO0FBbUdBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFMQTtBQUNBO0FBTUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUVBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/codemirror/src/display/scrollbars.js\n"); /***/ }), /***/ "./node_modules/codemirror/src/display/scrolling.js": /*!**********************************************************!*\ !*** ./node_modules/codemirror/src/display/scrolling.js ***! \**********************************************************/ /*! exports provided: maybeScrollWindow, scrollPosIntoView, scrollIntoView, addToScrollTop, ensureCursorVisible, scrollToCoords, scrollToRange, scrollToCoordsRange, updateScrollTop, setScrollTop, setScrollLeft */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"maybeScrollWindow\", function() { return maybeScrollWindow; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"scrollPosIntoView\", function() { return scrollPosIntoView; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"scrollIntoView\", function() { return scrollIntoView; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"addToScrollTop\", function() { return addToScrollTop; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ensureCursorVisible\", function() { return ensureCursorVisible; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"scrollToCoords\", function() { return scrollToCoords; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"scrollToRange\", function() { return scrollToRange; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"scrollToCoordsRange\", function() { return scrollToCoordsRange; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"updateScrollTop\", function() { return updateScrollTop; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"setScrollTop\", function() { return setScrollTop; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"setScrollLeft\", function() { return setScrollLeft; });\n/* harmony import */ var _line_pos_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../line/pos.js */ \"./node_modules/codemirror/src/line/pos.js\");\n/* harmony import */ var _measurement_position_measurement_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../measurement/position_measurement.js */ \"./node_modules/codemirror/src/measurement/position_measurement.js\");\n/* harmony import */ var _util_browser_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../util/browser.js */ \"./node_modules/codemirror/src/util/browser.js\");\n/* harmony import */ var _util_dom_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../util/dom.js */ \"./node_modules/codemirror/src/util/dom.js\");\n/* harmony import */ var _util_event_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../util/event.js */ \"./node_modules/codemirror/src/util/event.js\");\n/* harmony import */ var _highlight_worker_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./highlight_worker.js */ \"./node_modules/codemirror/src/display/highlight_worker.js\");\n/* harmony import */ var _line_numbers_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./line_numbers.js */ \"./node_modules/codemirror/src/display/line_numbers.js\");\n/* harmony import */ var _update_display_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./update_display.js */ \"./node_modules/codemirror/src/display/update_display.js\");\n\n\n\n\n\n\n\n // SCROLLING THINGS INTO VIEW\n// If an editor sits on the top or bottom of the window, partially\n// scrolled out of view, this ensures that the cursor is visible.\n\nfunction maybeScrollWindow(cm, rect) {\n if (Object(_util_event_js__WEBPACK_IMPORTED_MODULE_4__[\"signalDOMEvent\"])(cm, \"scrollCursorIntoView\")) return;\n let display = cm.display,\n box = display.sizer.getBoundingClientRect(),\n doScroll = null;\n if (rect.top + box.top < 0) doScroll = true;else if (rect.bottom + box.top > (window.innerHeight || document.documentElement.clientHeight)) doScroll = false;\n\n if (doScroll != null && !_util_browser_js__WEBPACK_IMPORTED_MODULE_2__[\"phantom\"]) {\n let scrollNode = Object(_util_dom_js__WEBPACK_IMPORTED_MODULE_3__[\"elt\"])(\"div\", \"\\u200b\", null, `position: absolute;\n top: ${rect.top - display.viewOffset - Object(_measurement_position_measurement_js__WEBPACK_IMPORTED_MODULE_1__[\"paddingTop\"])(cm.display)}px;\n height: ${rect.bottom - rect.top + Object(_measurement_position_measurement_js__WEBPACK_IMPORTED_MODULE_1__[\"scrollGap\"])(cm) + display.barHeight}px;\n left: ${rect.left}px; width: ${Math.max(2, rect.right - rect.left)}px;`);\n cm.display.lineSpace.appendChild(scrollNode);\n scrollNode.scrollIntoView(doScroll);\n cm.display.lineSpace.removeChild(scrollNode);\n }\n} // Scroll a given position into view (immediately), verifying that\n// it actually became visible (as line heights are accurately\n// measured, the position of something may 'drift' during drawing).\n\nfunction scrollPosIntoView(cm, pos, end, margin) {\n if (margin == null) margin = 0;\n let rect;\n\n if (!cm.options.lineWrapping && pos == end) {\n // Set pos and end to the cursor positions around the character pos sticks to\n // If pos.sticky == \"before\", that is around pos.ch - 1, otherwise around pos.ch\n // If pos == Pos(_, 0, \"before\"), pos and end are unchanged\n pos = pos.ch ? Object(_line_pos_js__WEBPACK_IMPORTED_MODULE_0__[\"Pos\"])(pos.line, pos.sticky == \"before\" ? pos.ch - 1 : pos.ch, \"after\") : pos;\n end = pos.sticky == \"before\" ? Object(_line_pos_js__WEBPACK_IMPORTED_MODULE_0__[\"Pos\"])(pos.line, pos.ch + 1, \"before\") : pos;\n }\n\n for (let limit = 0; limit < 5; limit++) {\n let changed = false;\n let coords = Object(_measurement_position_measurement_js__WEBPACK_IMPORTED_MODULE_1__[\"cursorCoords\"])(cm, pos);\n let endCoords = !end || end == pos ? coords : Object(_measurement_position_measurement_js__WEBPACK_IMPORTED_MODULE_1__[\"cursorCoords\"])(cm, end);\n rect = {\n left: Math.min(coords.left, endCoords.left),\n top: Math.min(coords.top, endCoords.top) - margin,\n right: Math.max(coords.left, endCoords.left),\n bottom: Math.max(coords.bottom, endCoords.bottom) + margin\n };\n let scrollPos = calculateScrollPos(cm, rect);\n let startTop = cm.doc.scrollTop,\n startLeft = cm.doc.scrollLeft;\n\n if (scrollPos.scrollTop != null) {\n updateScrollTop(cm, scrollPos.scrollTop);\n if (Math.abs(cm.doc.scrollTop - startTop) > 1) changed = true;\n }\n\n if (scrollPos.scrollLeft != null) {\n setScrollLeft(cm, scrollPos.scrollLeft);\n if (Math.abs(cm.doc.scrollLeft - startLeft) > 1) changed = true;\n }\n\n if (!changed) break;\n }\n\n return rect;\n} // Scroll a given set of coordinates into view (immediately).\n\nfunction scrollIntoView(cm, rect) {\n let scrollPos = calculateScrollPos(cm, rect);\n if (scrollPos.scrollTop != null) updateScrollTop(cm, scrollPos.scrollTop);\n if (scrollPos.scrollLeft != null) setScrollLeft(cm, scrollPos.scrollLeft);\n} // Calculate a new scroll position needed to scroll the given\n// rectangle into view. Returns an object with scrollTop and\n// scrollLeft properties. When these are undefined, the\n// vertical/horizontal position does not need to be adjusted.\n\nfunction calculateScrollPos(cm, rect) {\n let display = cm.display,\n snapMargin = Object(_measurement_position_measurement_js__WEBPACK_IMPORTED_MODULE_1__[\"textHeight\"])(cm.display);\n if (rect.top < 0) rect.top = 0;\n let screentop = cm.curOp && cm.curOp.scrollTop != null ? cm.curOp.scrollTop : display.scroller.scrollTop;\n let screen = Object(_measurement_position_measurement_js__WEBPACK_IMPORTED_MODULE_1__[\"displayHeight\"])(cm),\n result = {};\n if (rect.bottom - rect.top > screen) rect.bottom = rect.top + screen;\n let docBottom = cm.doc.height + Object(_measurement_position_measurement_js__WEBPACK_IMPORTED_MODULE_1__[\"paddingVert\"])(display);\n let atTop = rect.top < snapMargin,\n atBottom = rect.bottom > docBottom - snapMargin;\n\n if (rect.top < screentop) {\n result.scrollTop = atTop ? 0 : rect.top;\n } else if (rect.bottom > screentop + screen) {\n let newTop = Math.min(rect.top, (atBottom ? docBottom : rect.bottom) - screen);\n if (newTop != screentop) result.scrollTop = newTop;\n }\n\n let screenleft = cm.curOp && cm.curOp.scrollLeft != null ? cm.curOp.scrollLeft : display.scroller.scrollLeft;\n let screenw = Object(_measurement_position_measurement_js__WEBPACK_IMPORTED_MODULE_1__[\"displayWidth\"])(cm) - (cm.options.fixedGutter ? display.gutters.offsetWidth : 0);\n let tooWide = rect.right - rect.left > screenw;\n if (tooWide) rect.right = rect.left + screenw;\n if (rect.left < 10) result.scrollLeft = 0;else if (rect.left < screenleft) result.scrollLeft = Math.max(0, rect.left - (tooWide ? 0 : 10));else if (rect.right > screenw + screenleft - 3) result.scrollLeft = rect.right + (tooWide ? 0 : 10) - screenw;\n return result;\n} // Store a relative adjustment to the scroll position in the current\n// operation (to be applied when the operation finishes).\n\n\nfunction addToScrollTop(cm, top) {\n if (top == null) return;\n resolveScrollToPos(cm);\n cm.curOp.scrollTop = (cm.curOp.scrollTop == null ? cm.doc.scrollTop : cm.curOp.scrollTop) + top;\n} // Make sure that at the end of the operation the current cursor is\n// shown.\n\nfunction ensureCursorVisible(cm) {\n resolveScrollToPos(cm);\n let cur = cm.getCursor();\n cm.curOp.scrollToPos = {\n from: cur,\n to: cur,\n margin: cm.options.cursorScrollMargin\n };\n}\nfunction scrollToCoords(cm, x, y) {\n if (x != null || y != null) resolveScrollToPos(cm);\n if (x != null) cm.curOp.scrollLeft = x;\n if (y != null) cm.curOp.scrollTop = y;\n}\nfunction scrollToRange(cm, range) {\n resolveScrollToPos(cm);\n cm.curOp.scrollToPos = range;\n} // When an operation has its scrollToPos property set, and another\n// scroll action is applied before the end of the operation, this\n// 'simulates' scrolling that position into view in a cheap way, so\n// that the effect of intermediate scroll commands is not ignored.\n\nfunction resolveScrollToPos(cm) {\n let range = cm.curOp.scrollToPos;\n\n if (range) {\n cm.curOp.scrollToPos = null;\n let from = Object(_measurement_position_measurement_js__WEBPACK_IMPORTED_MODULE_1__[\"estimateCoords\"])(cm, range.from),\n to = Object(_measurement_position_measurement_js__WEBPACK_IMPORTED_MODULE_1__[\"estimateCoords\"])(cm, range.to);\n scrollToCoordsRange(cm, from, to, range.margin);\n }\n}\n\nfunction scrollToCoordsRange(cm, from, to, margin) {\n let sPos = calculateScrollPos(cm, {\n left: Math.min(from.left, to.left),\n top: Math.min(from.top, to.top) - margin,\n right: Math.max(from.right, to.right),\n bottom: Math.max(from.bottom, to.bottom) + margin\n });\n scrollToCoords(cm, sPos.scrollLeft, sPos.scrollTop);\n} // Sync the scrollable area and scrollbars, ensure the viewport\n// covers the visible area.\n\nfunction updateScrollTop(cm, val) {\n if (Math.abs(cm.doc.scrollTop - val) < 2) return;\n if (!_util_browser_js__WEBPACK_IMPORTED_MODULE_2__[\"gecko\"]) Object(_update_display_js__WEBPACK_IMPORTED_MODULE_7__[\"updateDisplaySimple\"])(cm, {\n top: val\n });\n setScrollTop(cm, val, true);\n if (_util_browser_js__WEBPACK_IMPORTED_MODULE_2__[\"gecko\"]) Object(_update_display_js__WEBPACK_IMPORTED_MODULE_7__[\"updateDisplaySimple\"])(cm);\n Object(_highlight_worker_js__WEBPACK_IMPORTED_MODULE_5__[\"startWorker\"])(cm, 100);\n}\nfunction setScrollTop(cm, val, forceScroll) {\n val = Math.min(cm.display.scroller.scrollHeight - cm.display.scroller.clientHeight, val);\n if (cm.display.scroller.scrollTop == val && !forceScroll) return;\n cm.doc.scrollTop = val;\n cm.display.scrollbars.setScrollTop(val);\n if (cm.display.scroller.scrollTop != val) cm.display.scroller.scrollTop = val;\n} // Sync scroller and scrollbar, ensure the gutter elements are\n// aligned.\n\nfunction setScrollLeft(cm, val, isScroller, forceScroll) {\n val = Math.min(val, cm.display.scroller.scrollWidth - cm.display.scroller.clientWidth);\n if ((isScroller ? val == cm.doc.scrollLeft : Math.abs(cm.doc.scrollLeft - val) < 2) && !forceScroll) return;\n cm.doc.scrollLeft = val;\n Object(_line_numbers_js__WEBPACK_IMPORTED_MODULE_6__[\"alignHorizontally\"])(cm);\n if (cm.display.scroller.scrollLeft != val) cm.display.scroller.scrollLeft = val;\n cm.display.scrollbars.setScrollLeft(val);\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9zcmMvZGlzcGxheS9zY3JvbGxpbmcuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9zcmMvZGlzcGxheS9zY3JvbGxpbmcuanM/ZjNjOSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQb3MgfSBmcm9tIFwiLi4vbGluZS9wb3MuanNcIlxuaW1wb3J0IHsgY3Vyc29yQ29vcmRzLCBkaXNwbGF5SGVpZ2h0LCBkaXNwbGF5V2lkdGgsIGVzdGltYXRlQ29vcmRzLCBwYWRkaW5nVG9wLCBwYWRkaW5nVmVydCwgc2Nyb2xsR2FwLCB0ZXh0SGVpZ2h0IH0gZnJvbSBcIi4uL21lYXN1cmVtZW50L3Bvc2l0aW9uX21lYXN1cmVtZW50LmpzXCJcbmltcG9ydCB7IGdlY2tvLCBwaGFudG9tIH0gZnJvbSBcIi4uL3V0aWwvYnJvd3Nlci5qc1wiXG5pbXBvcnQgeyBlbHQgfSBmcm9tIFwiLi4vdXRpbC9kb20uanNcIlxuaW1wb3J0IHsgc2lnbmFsRE9NRXZlbnQgfSBmcm9tIFwiLi4vdXRpbC9ldmVudC5qc1wiXG5cbmltcG9ydCB7IHN0YXJ0V29ya2VyIH0gZnJvbSBcIi4vaGlnaGxpZ2h0X3dvcmtlci5qc1wiXG5pbXBvcnQgeyBhbGlnbkhvcml6b250YWxseSB9IGZyb20gXCIuL2xpbmVfbnVtYmVycy5qc1wiXG5pbXBvcnQgeyB1cGRhdGVEaXNwbGF5U2ltcGxlIH0gZnJvbSBcIi4vdXBkYXRlX2Rpc3BsYXkuanNcIlxuXG4vLyBTQ1JPTExJTkcgVEhJTkdTIElOVE8gVklFV1xuXG4vLyBJZiBhbiBlZGl0b3Igc2l0cyBvbiB0aGUgdG9wIG9yIGJvdHRvbSBvZiB0aGUgd2luZG93LCBwYXJ0aWFsbHlcbi8vIHNjcm9sbGVkIG91dCBvZiB2aWV3LCB0aGlzIGVuc3VyZXMgdGhhdCB0aGUgY3Vyc29yIGlzIHZpc2libGUuXG5leHBvcnQgZnVuY3Rpb24gbWF5YmVTY3JvbGxXaW5kb3coY20sIHJlY3QpIHtcbiAgaWYgKHNpZ25hbERPTUV2ZW50KGNtLCBcInNjcm9sbEN1cnNvckludG9WaWV3XCIpKSByZXR1cm5cblxuICBsZXQgZGlzcGxheSA9IGNtLmRpc3BsYXksIGJveCA9IGRpc3BsYXkuc2l6ZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksIGRvU2Nyb2xsID0gbnVsbFxuICBpZiAocmVjdC50b3AgKyBib3gudG9wIDwgMCkgZG9TY3JvbGwgPSB0cnVlXG4gIGVsc2UgaWYgKHJlY3QuYm90dG9tICsgYm94LnRvcCA+ICh3aW5kb3cuaW5uZXJIZWlnaHQgfHwgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCkpIGRvU2Nyb2xsID0gZmFsc2VcbiAgaWYgKGRvU2Nyb2xsICE9IG51bGwgJiYgIXBoYW50b20pIHtcbiAgICBsZXQgc2Nyb2xsTm9kZSA9IGVsdChcImRpdlwiLCBcIlxcdTIwMGJcIiwgbnVsbCwgYHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6ICR7cmVjdC50b3AgLSBkaXNwbGF5LnZpZXdPZmZzZXQgLSBwYWRkaW5nVG9wKGNtLmRpc3BsYXkpfXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogJHtyZWN0LmJvdHRvbSAtIHJlY3QudG9wICsgc2Nyb2xsR2FwKGNtKSArIGRpc3BsYXkuYmFySGVpZ2h0fXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6ICR7cmVjdC5sZWZ0fXB4OyB3aWR0aDogJHtNYXRoLm1heCgyLCByZWN0LnJpZ2h0IC0gcmVjdC5sZWZ0KX1weDtgKVxuICAgIGNtLmRpc3BsYXkubGluZVNwYWNlLmFwcGVuZENoaWxkKHNjcm9sbE5vZGUpXG4gICAgc2Nyb2xsTm9kZS5zY3JvbGxJbnRvVmlldyhkb1Njcm9sbClcbiAgICBjbS5kaXNwbGF5LmxpbmVTcGFjZS5yZW1vdmVDaGlsZChzY3JvbGxOb2RlKVxuICB9XG59XG5cbi8vIFNjcm9sbCBhIGdpdmVuIHBvc2l0aW9uIGludG8gdmlldyAoaW1tZWRpYXRlbHkpLCB2ZXJpZnlpbmcgdGhhdFxuLy8gaXQgYWN0dWFsbHkgYmVjYW1lIHZpc2libGUgKGFzIGxpbmUgaGVpZ2h0cyBhcmUgYWNjdXJhdGVseVxuLy8gbWVhc3VyZWQsIHRoZSBwb3NpdGlvbiBvZiBzb21ldGhpbmcgbWF5ICdkcmlmdCcgZHVyaW5nIGRyYXdpbmcpLlxuZXhwb3J0IGZ1bmN0aW9uIHNjcm9sbFBvc0ludG9WaWV3KGNtLCBwb3MsIGVuZCwgbWFyZ2luKSB7XG4gIGlmIChtYXJnaW4gPT0gbnVsbCkgbWFyZ2luID0gMFxuICBsZXQgcmVjdFxuICBpZiAoIWNtLm9wdGlvbnMubGluZVdyYXBwaW5nICYmIHBvcyA9PSBlbmQpIHtcbiAgICAvLyBTZXQgcG9zIGFuZCBlbmQgdG8gdGhlIGN1cnNvciBwb3NpdGlvbnMgYXJvdW5kIHRoZSBjaGFyYWN0ZXIgcG9zIHN0aWNrcyB0b1xuICAgIC8vIElmIHBvcy5zdGlja3kgPT0gXCJiZWZvcmVcIiwgdGhhdCBpcyBhcm91bmQgcG9zLmNoIC0gMSwgb3RoZXJ3aXNlIGFyb3VuZCBwb3MuY2hcbiAgICAvLyBJZiBwb3MgPT0gUG9zKF8sIDAsIFwiYmVmb3JlXCIpLCBwb3MgYW5kIGVuZCBhcmUgdW5jaGFuZ2VkXG4gICAgcG9zID0gcG9zLmNoID8gUG9zKHBvcy5saW5lLCBwb3Muc3RpY2t5ID09IFwiYmVmb3JlXCIgPyBwb3MuY2ggLSAxIDogcG9zLmNoLCBcImFmdGVyXCIpIDogcG9zXG4gICAgZW5kID0gcG9zLnN0aWNreSA9PSBcImJlZm9yZVwiID8gUG9zKHBvcy5saW5lLCBwb3MuY2ggKyAxLCBcImJlZm9yZVwiKSA6IHBvc1xuICB9XG4gIGZvciAobGV0IGxpbWl0ID0gMDsgbGltaXQgPCA1OyBsaW1pdCsrKSB7XG4gICAgbGV0IGNoYW5nZWQgPSBmYWxzZVxuICAgIGxldCBjb29yZHMgPSBjdXJzb3JDb29yZHMoY20sIHBvcylcbiAgICBsZXQgZW5kQ29vcmRzID0gIWVuZCB8fCBlbmQgPT0gcG9zID8gY29vcmRzIDogY3Vyc29yQ29vcmRzKGNtLCBlbmQpXG4gICAgcmVjdCA9IHtsZWZ0OiBNYXRoLm1pbihjb29yZHMubGVmdCwgZW5kQ29vcmRzLmxlZnQpLFxuICAgICAgICAgICAgdG9wOiBNYXRoLm1pbihjb29yZHMudG9wLCBlbmRDb29yZHMudG9wKSAtIG1hcmdpbixcbiAgICAgICAgICAgIHJpZ2h0OiBNYXRoLm1heChjb29yZHMubGVmdCwgZW5kQ29vcmRzLmxlZnQpLFxuICAgICAgICAgICAgYm90dG9tOiBNYXRoLm1heChjb29yZHMuYm90dG9tLCBlbmRDb29yZHMuYm90dG9tKSArIG1hcmdpbn1cbiAgICBsZXQgc2Nyb2xsUG9zID0gY2FsY3VsYXRlU2Nyb2xsUG9zKGNtLCByZWN0KVxuICAgIGxldCBzdGFydFRvcCA9IGNtLmRvYy5zY3JvbGxUb3AsIHN0YXJ0TGVmdCA9IGNtLmRvYy5zY3JvbGxMZWZ0XG4gICAgaWYgKHNjcm9sbFBvcy5zY3JvbGxUb3AgIT0gbnVsbCkge1xuICAgICAgdXBkYXRlU2Nyb2xsVG9wKGNtLCBzY3JvbGxQb3Muc2Nyb2xsVG9wKVxuICAgICAgaWYgKE1hdGguYWJzKGNtLmRvYy5zY3JvbGxUb3AgLSBzdGFydFRvcCkgPiAxKSBjaGFuZ2VkID0gdHJ1ZVxuICAgIH1cbiAgICBpZiAoc2Nyb2xsUG9zLnNjcm9sbExlZnQgIT0gbnVsbCkge1xuICAgICAgc2V0U2Nyb2xsTGVmdChjbSwgc2Nyb2xsUG9zLnNjcm9sbExlZnQpXG4gICAgICBpZiAoTWF0aC5hYnMoY20uZG9jLnNjcm9sbExlZnQgLSBzdGFydExlZnQpID4gMSkgY2hhbmdlZCA9IHRydWVcbiAgICB9XG4gICAgaWYgKCFjaGFuZ2VkKSBicmVha1xuICB9XG4gIHJldHVybiByZWN0XG59XG5cbi8vIFNjcm9sbCBhIGdpdmVuIHNldCBvZiBjb29yZGluYXRlcyBpbnRvIHZpZXcgKGltbWVkaWF0ZWx5KS5cbmV4cG9ydCBmdW5jdGlvbiBzY3JvbGxJbnRvVmlldyhjbSwgcmVjdCkge1xuICBsZXQgc2Nyb2xsUG9zID0gY2FsY3VsYXRlU2Nyb2xsUG9zKGNtLCByZWN0KVxuICBpZiAoc2Nyb2xsUG9zLnNjcm9sbFRvcCAhPSBudWxsKSB1cGRhdGVTY3JvbGxUb3AoY20sIHNjcm9sbFBvcy5zY3JvbGxUb3ApXG4gIGlmIChzY3JvbGxQb3Muc2Nyb2xsTGVmdCAhPSBudWxsKSBzZXRTY3JvbGxMZWZ0KGNtLCBzY3JvbGxQb3Muc2Nyb2xsTGVmdClcbn1cblxuLy8gQ2FsY3VsYXRlIGEgbmV3IHNjcm9sbCBwb3NpdGlvbiBuZWVkZWQgdG8gc2Nyb2xsIHRoZSBnaXZlblxuLy8gcmVjdGFuZ2xlIGludG8gdmlldy4gUmV0dXJucyBhbiBvYmplY3Qgd2l0aCBzY3JvbGxUb3AgYW5kXG4vLyBzY3JvbGxMZWZ0IHByb3BlcnRpZXMuIFdoZW4gdGhlc2UgYXJlIHVuZGVmaW5lZCwgdGhlXG4vLyB2ZXJ0aWNhbC9ob3Jpem9udGFsIHBvc2l0aW9uIGRvZXMgbm90IG5lZWQgdG8gYmUgYWRqdXN0ZWQuXG5mdW5jdGlvbiBjYWxjdWxhdGVTY3JvbGxQb3MoY20sIHJlY3QpIHtcbiAgbGV0IGRpc3BsYXkgPSBjbS5kaXNwbGF5LCBzbmFwTWFyZ2luID0gdGV4dEhlaWdodChjbS5kaXNwbGF5KVxuICBpZiAocmVjdC50b3AgPCAwKSByZWN0LnRvcCA9IDBcbiAgbGV0IHNjcmVlbnRvcCA9IGNtLmN1ck9wICYmIGNtLmN1ck9wLnNjcm9sbFRvcCAhPSBudWxsID8gY20uY3VyT3Auc2Nyb2xsVG9wIDogZGlzcGxheS5zY3JvbGxlci5zY3JvbGxUb3BcbiAgbGV0IHNjcmVlbiA9IGRpc3BsYXlIZWlnaHQoY20pLCByZXN1bHQgPSB7fVxuICBpZiAocmVjdC5ib3R0b20gLSByZWN0LnRvcCA+IHNjcmVlbikgcmVjdC5ib3R0b20gPSByZWN0LnRvcCArIHNjcmVlblxuICBsZXQgZG9jQm90dG9tID0gY20uZG9jLmhlaWdodCArIHBhZGRpbmdWZXJ0KGRpc3BsYXkpXG4gIGxldCBhdFRvcCA9IHJlY3QudG9wIDwgc25hcE1hcmdpbiwgYXRCb3R0b20gPSByZWN0LmJvdHRvbSA+IGRvY0JvdHRvbSAtIHNuYXBNYXJnaW5cbiAgaWYgKHJlY3QudG9wIDwgc2NyZWVudG9wKSB7XG4gICAgcmVzdWx0LnNjcm9sbFRvcCA9IGF0VG9wID8gMCA6IHJlY3QudG9wXG4gIH0gZWxzZSBpZiAocmVjdC5ib3R0b20gPiBzY3JlZW50b3AgKyBzY3JlZW4pIHtcbiAgICBsZXQgbmV3VG9wID0gTWF0aC5taW4ocmVjdC50b3AsIChhdEJvdHRvbSA/IGRvY0JvdHRvbSA6IHJlY3QuYm90dG9tKSAtIHNjcmVlbilcbiAgICBpZiAobmV3VG9wICE9IHNjcmVlbnRvcCkgcmVzdWx0LnNjcm9sbFRvcCA9IG5ld1RvcFxuICB9XG5cbiAgbGV0IHNjcmVlbmxlZnQgPSBjbS5jdXJPcCAmJiBjbS5jdXJPcC5zY3JvbGxMZWZ0ICE9IG51bGwgPyBjbS5jdXJPcC5zY3JvbGxMZWZ0IDogZGlzcGxheS5zY3JvbGxlci5zY3JvbGxMZWZ0XG4gIGxldCBzY3JlZW53ID0gZGlzcGxheVdpZHRoKGNtKSAtIChjbS5vcHRpb25zLmZpeGVkR3V0dGVyID8gZGlzcGxheS5ndXR0ZXJzLm9mZnNldFdpZHRoIDogMClcbiAgbGV0IHRvb1dpZGUgPSByZWN0LnJpZ2h0IC0gcmVjdC5sZWZ0ID4gc2NyZWVud1xuICBpZiAodG9vV2lkZSkgcmVjdC5yaWdodCA9IHJlY3QubGVmdCArIHNjcmVlbndcbiAgaWYgKHJlY3QubGVmdCA8IDEwKVxuICAgIHJlc3VsdC5zY3JvbGxMZWZ0ID0gMFxuICBlbHNlIGlmIChyZWN0LmxlZnQgPCBzY3JlZW5sZWZ0KVxuICAgIHJlc3VsdC5zY3JvbGxMZWZ0ID0gTWF0aC5tYXgoMCwgcmVjdC5sZWZ0IC0gKHRvb1dpZGUgPyAwIDogMTApKVxuICBlbHNlIGlmIChyZWN0LnJpZ2h0ID4gc2NyZWVudyArIHNjcmVlbmxlZnQgLSAzKVxuICAgIHJlc3VsdC5zY3JvbGxMZWZ0ID0gcmVjdC5yaWdodCArICh0b29XaWRlID8gMCA6IDEwKSAtIHNjcmVlbndcbiAgcmV0dXJuIHJlc3VsdFxufVxuXG4vLyBTdG9yZSBhIHJlbGF0aXZlIGFkanVzdG1lbnQgdG8gdGhlIHNjcm9sbCBwb3NpdGlvbiBpbiB0aGUgY3VycmVudFxuLy8gb3BlcmF0aW9uICh0byBiZSBhcHBsaWVkIHdoZW4gdGhlIG9wZXJhdGlvbiBmaW5pc2hlcykuXG5leHBvcnQgZnVuY3Rpb24gYWRkVG9TY3JvbGxUb3AoY20sIHRvcCkge1xuICBpZiAodG9wID09IG51bGwpIHJldHVyblxuICByZXNvbHZlU2Nyb2xsVG9Qb3MoY20pXG4gIGNtLmN1ck9wLnNjcm9sbFRvcCA9IChjbS5jdXJPcC5zY3JvbGxUb3AgPT0gbnVsbCA/IGNtLmRvYy5zY3JvbGxUb3AgOiBjbS5jdXJPcC5zY3JvbGxUb3ApICsgdG9wXG59XG5cbi8vIE1ha2Ugc3VyZSB0aGF0IGF0IHRoZSBlbmQgb2YgdGhlIG9wZXJhdGlvbiB0aGUgY3VycmVudCBjdXJzb3IgaXNcbi8vIHNob3duLlxuZXhwb3J0IGZ1bmN0aW9uIGVuc3VyZUN1cnNvclZpc2libGUoY20pIHtcbiAgcmVzb2x2ZVNjcm9sbFRvUG9zKGNtKVxuICBsZXQgY3VyID0gY20uZ2V0Q3Vyc29yKClcbiAgY20uY3VyT3Auc2Nyb2xsVG9Qb3MgPSB7ZnJvbTogY3VyLCB0bzogY3VyLCBtYXJnaW46IGNtLm9wdGlvbnMuY3Vyc29yU2Nyb2xsTWFyZ2lufVxufVxuXG5leHBvcnQgZnVuY3Rpb24gc2Nyb2xsVG9Db29yZHMoY20sIHgsIHkpIHtcbiAgaWYgKHggIT0gbnVsbCB8fCB5ICE9IG51bGwpIHJlc29sdmVTY3JvbGxUb1BvcyhjbSlcbiAgaWYgKHggIT0gbnVsbCkgY20uY3VyT3Auc2Nyb2xsTGVmdCA9IHhcbiAgaWYgKHkgIT0gbnVsbCkgY20uY3VyT3Auc2Nyb2xsVG9wID0geVxufVxuXG5leHBvcnQgZnVuY3Rpb24gc2Nyb2xsVG9SYW5nZShjbSwgcmFuZ2UpIHtcbiAgcmVzb2x2ZVNjcm9sbFRvUG9zKGNtKVxuICBjbS5jdXJPcC5zY3JvbGxUb1BvcyA9IHJhbmdlXG59XG5cbi8vIFdoZW4gYW4gb3BlcmF0aW9uIGhhcyBpdHMgc2Nyb2xsVG9Qb3MgcHJvcGVydHkgc2V0LCBhbmQgYW5vdGhlclxuLy8gc2Nyb2xsIGFjdGlvbiBpcyBhcHBsaWVkIGJlZm9yZSB0aGUgZW5kIG9mIHRoZSBvcGVyYXRpb24sIHRoaXNcbi8vICdzaW11bGF0ZXMnIHNjcm9sbGluZyB0aGF0IHBvc2l0aW9uIGludG8gdmlldyBpbiBhIGNoZWFwIHdheSwgc29cbi8vIHRoYXQgdGhlIGVmZmVjdCBvZiBpbnRlcm1lZGlhdGUgc2Nyb2xsIGNvbW1hbmRzIGlzIG5vdCBpZ25vcmVkLlxuZnVuY3Rpb24gcmVzb2x2ZVNjcm9sbFRvUG9zKGNtKSB7XG4gIGxldCByYW5nZSA9IGNtLmN1ck9wLnNjcm9sbFRvUG9zXG4gIGlmIChyYW5nZSkge1xuICAgIGNtLmN1ck9wLnNjcm9sbFRvUG9zID0gbnVsbFxuICAgIGxldCBmcm9tID0gZXN0aW1hdGVDb29yZHMoY20sIHJhbmdlLmZyb20pLCB0byA9IGVzdGltYXRlQ29vcmRzKGNtLCByYW5nZS50bylcbiAgICBzY3JvbGxUb0Nvb3Jkc1JhbmdlKGNtLCBmcm9tLCB0bywgcmFuZ2UubWFyZ2luKVxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzY3JvbGxUb0Nvb3Jkc1JhbmdlKGNtLCBmcm9tLCB0bywgbWFyZ2luKSB7XG4gIGxldCBzUG9zID0gY2FsY3VsYXRlU2Nyb2xsUG9zKGNtLCB7XG4gICAgbGVmdDogTWF0aC5taW4oZnJvbS5sZWZ0LCB0by5sZWZ0KSxcbiAgICB0b3A6IE1hdGgubWluKGZyb20udG9wLCB0by50b3ApIC0gbWFyZ2luLFxuICAgIHJpZ2h0OiBNYXRoLm1heChmcm9tLnJpZ2h0LCB0by5yaWdodCksXG4gICAgYm90dG9tOiBNYXRoLm1heChmcm9tLmJvdHRvbSwgdG8uYm90dG9tKSArIG1hcmdpblxuICB9KVxuICBzY3JvbGxUb0Nvb3JkcyhjbSwgc1Bvcy5zY3JvbGxMZWZ0LCBzUG9zLnNjcm9sbFRvcClcbn1cblxuLy8gU3luYyB0aGUgc2Nyb2xsYWJsZSBhcmVhIGFuZCBzY3JvbGxiYXJzLCBlbnN1cmUgdGhlIHZpZXdwb3J0XG4vLyBjb3ZlcnMgdGhlIHZpc2libGUgYXJlYS5cbmV4cG9ydCBmdW5jdGlvbiB1cGRhdGVTY3JvbGxUb3AoY20sIHZhbCkge1xuICBpZiAoTWF0aC5hYnMoY20uZG9jLnNjcm9sbFRvcCAtIHZhbCkgPCAyKSByZXR1cm5cbiAgaWYgKCFnZWNrbykgdXBkYXRlRGlzcGxheVNpbXBsZShjbSwge3RvcDogdmFsfSlcbiAgc2V0U2Nyb2xsVG9wKGNtLCB2YWwsIHRydWUpXG4gIGlmIChnZWNrbykgdXBkYXRlRGlzcGxheVNpbXBsZShjbSlcbiAgc3RhcnRXb3JrZXIoY20sIDEwMClcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNldFNjcm9sbFRvcChjbSwgdmFsLCBmb3JjZVNjcm9sbCkge1xuICB2YWwgPSBNYXRoLm1pbihjbS5kaXNwbGF5LnNjcm9sbGVyLnNjcm9sbEhlaWdodCAtIGNtLmRpc3BsYXkuc2Nyb2xsZXIuY2xpZW50SGVpZ2h0LCB2YWwpXG4gIGlmIChjbS5kaXNwbGF5LnNjcm9sbGVyLnNjcm9sbFRvcCA9PSB2YWwgJiYgIWZvcmNlU2Nyb2xsKSByZXR1cm5cbiAgY20uZG9jLnNjcm9sbFRvcCA9IHZhbFxuICBjbS5kaXNwbGF5LnNjcm9sbGJhcnMuc2V0U2Nyb2xsVG9wKHZhbClcbiAgaWYgKGNtLmRpc3BsYXkuc2Nyb2xsZXIuc2Nyb2xsVG9wICE9IHZhbCkgY20uZGlzcGxheS5zY3JvbGxlci5zY3JvbGxUb3AgPSB2YWxcbn1cblxuLy8gU3luYyBzY3JvbGxlciBhbmQgc2Nyb2xsYmFyLCBlbnN1cmUgdGhlIGd1dHRlciBlbGVtZW50cyBhcmVcbi8vIGFsaWduZWQuXG5leHBvcnQgZnVuY3Rpb24gc2V0U2Nyb2xsTGVmdChjbSwgdmFsLCBpc1Njcm9sbGVyLCBmb3JjZVNjcm9sbCkge1xuICB2YWwgPSBNYXRoLm1pbih2YWwsIGNtLmRpc3BsYXkuc2Nyb2xsZXIuc2Nyb2xsV2lkdGggLSBjbS5kaXNwbGF5LnNjcm9sbGVyLmNsaWVudFdpZHRoKVxuICBpZiAoKGlzU2Nyb2xsZXIgPyB2YWwgPT0gY20uZG9jLnNjcm9sbExlZnQgOiBNYXRoLmFicyhjbS5kb2Muc2Nyb2xsTGVmdCAtIHZhbCkgPCAyKSAmJiAhZm9yY2VTY3JvbGwpIHJldHVyblxuICBjbS5kb2Muc2Nyb2xsTGVmdCA9IHZhbFxuICBhbGlnbkhvcml6b250YWxseShjbSlcbiAgaWYgKGNtLmRpc3BsYXkuc2Nyb2xsZXIuc2Nyb2xsTGVmdCAhPSB2YWwpIGNtLmRpc3BsYXkuc2Nyb2xsZXIuc2Nyb2xsTGVmdCA9IHZhbFxuICBjbS5kaXNwbGF5LnNjcm9sbGJhcnMuc2V0U2Nyb2xsTGVmdCh2YWwpXG59XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUVBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUhBO0FBSUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQU1BO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFEQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUpBO0FBTUE7QUFDQTtBQUdBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/codemirror/src/display/scrolling.js\n"); /***/ }), /***/ "./node_modules/codemirror/src/display/selection.js": /*!**********************************************************!*\ !*** ./node_modules/codemirror/src/display/selection.js ***! \**********************************************************/ /*! exports provided: updateSelection, prepareSelection, drawSelectionCursor, restartBlink */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"updateSelection\", function() { return updateSelection; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"prepareSelection\", function() { return prepareSelection; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"drawSelectionCursor\", function() { return drawSelectionCursor; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"restartBlink\", function() { return restartBlink; });\n/* harmony import */ var _line_pos_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../line/pos.js */ \"./node_modules/codemirror/src/line/pos.js\");\n/* harmony import */ var _line_spans_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../line/spans.js */ \"./node_modules/codemirror/src/line/spans.js\");\n/* harmony import */ var _line_utils_line_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../line/utils_line.js */ \"./node_modules/codemirror/src/line/utils_line.js\");\n/* harmony import */ var _measurement_position_measurement_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../measurement/position_measurement.js */ \"./node_modules/codemirror/src/measurement/position_measurement.js\");\n/* harmony import */ var _util_bidi_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../util/bidi.js */ \"./node_modules/codemirror/src/util/bidi.js\");\n/* harmony import */ var _util_dom_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../util/dom.js */ \"./node_modules/codemirror/src/util/dom.js\");\n\n\n\n\n\n\nfunction updateSelection(cm) {\n cm.display.input.showSelection(cm.display.input.prepareSelection());\n}\nfunction prepareSelection(cm, primary = true) {\n let doc = cm.doc,\n result = {};\n let curFragment = result.cursors = document.createDocumentFragment();\n let selFragment = result.selection = document.createDocumentFragment();\n\n for (let i = 0; i < doc.sel.ranges.length; i++) {\n if (!primary && i == doc.sel.primIndex) continue;\n let range = doc.sel.ranges[i];\n if (range.from().line >= cm.display.viewTo || range.to().line < cm.display.viewFrom) continue;\n let collapsed = range.empty();\n if (collapsed || cm.options.showCursorWhenSelecting) drawSelectionCursor(cm, range.head, curFragment);\n if (!collapsed) drawSelectionRange(cm, range, selFragment);\n }\n\n return result;\n} // Draws a cursor for the given range\n\nfunction drawSelectionCursor(cm, head, output) {\n let pos = Object(_measurement_position_measurement_js__WEBPACK_IMPORTED_MODULE_3__[\"cursorCoords\"])(cm, head, \"div\", null, null, !cm.options.singleCursorHeightPerLine);\n let cursor = output.appendChild(Object(_util_dom_js__WEBPACK_IMPORTED_MODULE_5__[\"elt\"])(\"div\", \"\\u00a0\", \"CodeMirror-cursor\"));\n cursor.style.left = pos.left + \"px\";\n cursor.style.top = pos.top + \"px\";\n cursor.style.height = Math.max(0, pos.bottom - pos.top) * cm.options.cursorHeight + \"px\";\n\n if (pos.other) {\n // Secondary cursor, shown when on a 'jump' in bi-directional text\n let otherCursor = output.appendChild(Object(_util_dom_js__WEBPACK_IMPORTED_MODULE_5__[\"elt\"])(\"div\", \"\\u00a0\", \"CodeMirror-cursor CodeMirror-secondarycursor\"));\n otherCursor.style.display = \"\";\n otherCursor.style.left = pos.other.left + \"px\";\n otherCursor.style.top = pos.other.top + \"px\";\n otherCursor.style.height = (pos.other.bottom - pos.other.top) * .85 + \"px\";\n }\n}\n\nfunction cmpCoords(a, b) {\n return a.top - b.top || a.left - b.left;\n} // Draws the given range as a highlighted selection\n\n\nfunction drawSelectionRange(cm, range, output) {\n let display = cm.display,\n doc = cm.doc;\n let fragment = document.createDocumentFragment();\n let padding = Object(_measurement_position_measurement_js__WEBPACK_IMPORTED_MODULE_3__[\"paddingH\"])(cm.display),\n leftSide = padding.left;\n let rightSide = Math.max(display.sizerWidth, Object(_measurement_position_measurement_js__WEBPACK_IMPORTED_MODULE_3__[\"displayWidth\"])(cm) - display.sizer.offsetLeft) - padding.right;\n let docLTR = doc.direction == \"ltr\";\n\n function add(left, top, width, bottom) {\n if (top < 0) top = 0;\n top = Math.round(top);\n bottom = Math.round(bottom);\n fragment.appendChild(Object(_util_dom_js__WEBPACK_IMPORTED_MODULE_5__[\"elt\"])(\"div\", null, \"CodeMirror-selected\", `position: absolute; left: ${left}px;\n top: ${top}px; width: ${width == null ? rightSide - left : width}px;\n height: ${bottom - top}px`));\n }\n\n function drawForLine(line, fromArg, toArg) {\n let lineObj = Object(_line_utils_line_js__WEBPACK_IMPORTED_MODULE_2__[\"getLine\"])(doc, line);\n let lineLen = lineObj.text.length;\n let start, end;\n\n function coords(ch, bias) {\n return Object(_measurement_position_measurement_js__WEBPACK_IMPORTED_MODULE_3__[\"charCoords\"])(cm, Object(_line_pos_js__WEBPACK_IMPORTED_MODULE_0__[\"Pos\"])(line, ch), \"div\", lineObj, bias);\n }\n\n function wrapX(pos, dir, side) {\n let extent = Object(_measurement_position_measurement_js__WEBPACK_IMPORTED_MODULE_3__[\"wrappedLineExtentChar\"])(cm, lineObj, null, pos);\n let prop = dir == \"ltr\" == (side == \"after\") ? \"left\" : \"right\";\n let ch = side == \"after\" ? extent.begin : extent.end - (/\\s/.test(lineObj.text.charAt(extent.end - 1)) ? 2 : 1);\n return coords(ch, prop)[prop];\n }\n\n let order = Object(_util_bidi_js__WEBPACK_IMPORTED_MODULE_4__[\"getOrder\"])(lineObj, doc.direction);\n Object(_util_bidi_js__WEBPACK_IMPORTED_MODULE_4__[\"iterateBidiSections\"])(order, fromArg || 0, toArg == null ? lineLen : toArg, (from, to, dir, i) => {\n let ltr = dir == \"ltr\";\n let fromPos = coords(from, ltr ? \"left\" : \"right\");\n let toPos = coords(to - 1, ltr ? \"right\" : \"left\");\n let openStart = fromArg == null && from == 0,\n openEnd = toArg == null && to == lineLen;\n let first = i == 0,\n last = !order || i == order.length - 1;\n\n if (toPos.top - fromPos.top <= 3) {\n // Single line\n let openLeft = (docLTR ? openStart : openEnd) && first;\n let openRight = (docLTR ? openEnd : openStart) && last;\n let left = openLeft ? leftSide : (ltr ? fromPos : toPos).left;\n let right = openRight ? rightSide : (ltr ? toPos : fromPos).right;\n add(left, fromPos.top, right - left, fromPos.bottom);\n } else {\n // Multiple lines\n let topLeft, topRight, botLeft, botRight;\n\n if (ltr) {\n topLeft = docLTR && openStart && first ? leftSide : fromPos.left;\n topRight = docLTR ? rightSide : wrapX(from, dir, \"before\");\n botLeft = docLTR ? leftSide : wrapX(to, dir, \"after\");\n botRight = docLTR && openEnd && last ? rightSide : toPos.right;\n } else {\n topLeft = !docLTR ? leftSide : wrapX(from, dir, \"before\");\n topRight = !docLTR && openStart && first ? rightSide : fromPos.right;\n botLeft = !docLTR && openEnd && last ? leftSide : toPos.left;\n botRight = !docLTR ? rightSide : wrapX(to, dir, \"after\");\n }\n\n add(topLeft, fromPos.top, topRight - topLeft, fromPos.bottom);\n if (fromPos.bottom < toPos.top) add(leftSide, fromPos.bottom, null, toPos.top);\n add(botLeft, toPos.top, botRight - botLeft, toPos.bottom);\n }\n\n if (!start || cmpCoords(fromPos, start) < 0) start = fromPos;\n if (cmpCoords(toPos, start) < 0) start = toPos;\n if (!end || cmpCoords(fromPos, end) < 0) end = fromPos;\n if (cmpCoords(toPos, end) < 0) end = toPos;\n });\n return {\n start: start,\n end: end\n };\n }\n\n let sFrom = range.from(),\n sTo = range.to();\n\n if (sFrom.line == sTo.line) {\n drawForLine(sFrom.line, sFrom.ch, sTo.ch);\n } else {\n let fromLine = Object(_line_utils_line_js__WEBPACK_IMPORTED_MODULE_2__[\"getLine\"])(doc, sFrom.line),\n toLine = Object(_line_utils_line_js__WEBPACK_IMPORTED_MODULE_2__[\"getLine\"])(doc, sTo.line);\n let singleVLine = Object(_line_spans_js__WEBPACK_IMPORTED_MODULE_1__[\"visualLine\"])(fromLine) == Object(_line_spans_js__WEBPACK_IMPORTED_MODULE_1__[\"visualLine\"])(toLine);\n let leftEnd = drawForLine(sFrom.line, sFrom.ch, singleVLine ? fromLine.text.length + 1 : null).end;\n let rightStart = drawForLine(sTo.line, singleVLine ? 0 : null, sTo.ch).start;\n\n if (singleVLine) {\n if (leftEnd.top < rightStart.top - 2) {\n add(leftEnd.right, leftEnd.top, null, leftEnd.bottom);\n add(leftSide, rightStart.top, rightStart.left, rightStart.bottom);\n } else {\n add(leftEnd.right, leftEnd.top, rightStart.left - leftEnd.right, leftEnd.bottom);\n }\n }\n\n if (leftEnd.bottom < rightStart.top) add(leftSide, leftEnd.bottom, null, rightStart.top);\n }\n\n output.appendChild(fragment);\n} // Cursor-blinking\n\n\nfunction restartBlink(cm) {\n if (!cm.state.focused) return;\n let display = cm.display;\n clearInterval(display.blinker);\n let on = true;\n display.cursorDiv.style.visibility = \"\";\n if (cm.options.cursorBlinkRate > 0) display.blinker = setInterval(() => display.cursorDiv.style.visibility = (on = !on) ? \"\" : \"hidden\", cm.options.cursorBlinkRate);else if (cm.options.cursorBlinkRate < 0) display.cursorDiv.style.visibility = \"hidden\";\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9zcmMvZGlzcGxheS9zZWxlY3Rpb24uanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9zcmMvZGlzcGxheS9zZWxlY3Rpb24uanM/NGI3MyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQb3MgfSBmcm9tIFwiLi4vbGluZS9wb3MuanNcIlxuaW1wb3J0IHsgdmlzdWFsTGluZSB9IGZyb20gXCIuLi9saW5lL3NwYW5zLmpzXCJcbmltcG9ydCB7IGdldExpbmUgfSBmcm9tIFwiLi4vbGluZS91dGlsc19saW5lLmpzXCJcbmltcG9ydCB7IGNoYXJDb29yZHMsIGN1cnNvckNvb3JkcywgZGlzcGxheVdpZHRoLCBwYWRkaW5nSCwgd3JhcHBlZExpbmVFeHRlbnRDaGFyIH0gZnJvbSBcIi4uL21lYXN1cmVtZW50L3Bvc2l0aW9uX21lYXN1cmVtZW50LmpzXCJcbmltcG9ydCB7IGdldE9yZGVyLCBpdGVyYXRlQmlkaVNlY3Rpb25zIH0gZnJvbSBcIi4uL3V0aWwvYmlkaS5qc1wiXG5pbXBvcnQgeyBlbHQgfSBmcm9tIFwiLi4vdXRpbC9kb20uanNcIlxuXG5leHBvcnQgZnVuY3Rpb24gdXBkYXRlU2VsZWN0aW9uKGNtKSB7XG4gIGNtLmRpc3BsYXkuaW5wdXQuc2hvd1NlbGVjdGlvbihjbS5kaXNwbGF5LmlucHV0LnByZXBhcmVTZWxlY3Rpb24oKSlcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByZXBhcmVTZWxlY3Rpb24oY20sIHByaW1hcnkgPSB0cnVlKSB7XG4gIGxldCBkb2MgPSBjbS5kb2MsIHJlc3VsdCA9IHt9XG4gIGxldCBjdXJGcmFnbWVudCA9IHJlc3VsdC5jdXJzb3JzID0gZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpXG4gIGxldCBzZWxGcmFnbWVudCA9IHJlc3VsdC5zZWxlY3Rpb24gPSBkb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KClcblxuICBmb3IgKGxldCBpID0gMDsgaSA8IGRvYy5zZWwucmFuZ2VzLmxlbmd0aDsgaSsrKSB7XG4gICAgaWYgKCFwcmltYXJ5ICYmIGkgPT0gZG9jLnNlbC5wcmltSW5kZXgpIGNvbnRpbnVlXG4gICAgbGV0IHJhbmdlID0gZG9jLnNlbC5yYW5nZXNbaV1cbiAgICBpZiAocmFuZ2UuZnJvbSgpLmxpbmUgPj0gY20uZGlzcGxheS52aWV3VG8gfHwgcmFuZ2UudG8oKS5saW5lIDwgY20uZGlzcGxheS52aWV3RnJvbSkgY29udGludWVcbiAgICBsZXQgY29sbGFwc2VkID0gcmFuZ2UuZW1wdHkoKVxuICAgIGlmIChjb2xsYXBzZWQgfHwgY20ub3B0aW9ucy5zaG93Q3Vyc29yV2hlblNlbGVjdGluZylcbiAgICAgIGRyYXdTZWxlY3Rpb25DdXJzb3IoY20sIHJhbmdlLmhlYWQsIGN1ckZyYWdtZW50KVxuICAgIGlmICghY29sbGFwc2VkKVxuICAgICAgZHJhd1NlbGVjdGlvblJhbmdlKGNtLCByYW5nZSwgc2VsRnJhZ21lbnQpXG4gIH1cbiAgcmV0dXJuIHJlc3VsdFxufVxuXG4vLyBEcmF3cyBhIGN1cnNvciBmb3IgdGhlIGdpdmVuIHJhbmdlXG5leHBvcnQgZnVuY3Rpb24gZHJhd1NlbGVjdGlvbkN1cnNvcihjbSwgaGVhZCwgb3V0cHV0KSB7XG4gIGxldCBwb3MgPSBjdXJzb3JDb29yZHMoY20sIGhlYWQsIFwiZGl2XCIsIG51bGwsIG51bGwsICFjbS5vcHRpb25zLnNpbmdsZUN1cnNvckhlaWdodFBlckxpbmUpXG5cbiAgbGV0IGN1cnNvciA9IG91dHB1dC5hcHBlbmRDaGlsZChlbHQoXCJkaXZcIiwgXCJcXHUwMGEwXCIsIFwiQ29kZU1pcnJvci1jdXJzb3JcIikpXG4gIGN1cnNvci5zdHlsZS5sZWZ0ID0gcG9zLmxlZnQgKyBcInB4XCJcbiAgY3Vyc29yLnN0eWxlLnRvcCA9IHBvcy50b3AgKyBcInB4XCJcbiAgY3Vyc29yLnN0eWxlLmhlaWdodCA9IE1hdGgubWF4KDAsIHBvcy5ib3R0b20gLSBwb3MudG9wKSAqIGNtLm9wdGlvbnMuY3Vyc29ySGVpZ2h0ICsgXCJweFwiXG5cbiAgaWYgKHBvcy5vdGhlcikge1xuICAgIC8vIFNlY29uZGFyeSBjdXJzb3IsIHNob3duIHdoZW4gb24gYSAnanVtcCcgaW4gYmktZGlyZWN0aW9uYWwgdGV4dFxuICAgIGxldCBvdGhlckN1cnNvciA9IG91dHB1dC5hcHBlbmRDaGlsZChlbHQoXCJkaXZcIiwgXCJcXHUwMGEwXCIsIFwiQ29kZU1pcnJvci1jdXJzb3IgQ29kZU1pcnJvci1zZWNvbmRhcnljdXJzb3JcIikpXG4gICAgb3RoZXJDdXJzb3Iuc3R5bGUuZGlzcGxheSA9IFwiXCJcbiAgICBvdGhlckN1cnNvci5zdHlsZS5sZWZ0ID0gcG9zLm90aGVyLmxlZnQgKyBcInB4XCJcbiAgICBvdGhlckN1cnNvci5zdHlsZS50b3AgPSBwb3Mub3RoZXIudG9wICsgXCJweFwiXG4gICAgb3RoZXJDdXJzb3Iuc3R5bGUuaGVpZ2h0ID0gKHBvcy5vdGhlci5ib3R0b20gLSBwb3Mub3RoZXIudG9wKSAqIC44NSArIFwicHhcIlxuICB9XG59XG5cbmZ1bmN0aW9uIGNtcENvb3JkcyhhLCBiKSB7IHJldHVybiBhLnRvcCAtIGIudG9wIHx8IGEubGVmdCAtIGIubGVmdCB9XG5cbi8vIERyYXdzIHRoZSBnaXZlbiByYW5nZSBhcyBhIGhpZ2hsaWdodGVkIHNlbGVjdGlvblxuZnVuY3Rpb24gZHJhd1NlbGVjdGlvblJhbmdlKGNtLCByYW5nZSwgb3V0cHV0KSB7XG4gIGxldCBkaXNwbGF5ID0gY20uZGlzcGxheSwgZG9jID0gY20uZG9jXG4gIGxldCBmcmFnbWVudCA9IGRvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKVxuICBsZXQgcGFkZGluZyA9IHBhZGRpbmdIKGNtLmRpc3BsYXkpLCBsZWZ0U2lkZSA9IHBhZGRpbmcubGVmdFxuICBsZXQgcmlnaHRTaWRlID0gTWF0aC5tYXgoZGlzcGxheS5zaXplcldpZHRoLCBkaXNwbGF5V2lkdGgoY20pIC0gZGlzcGxheS5zaXplci5vZmZzZXRMZWZ0KSAtIHBhZGRpbmcucmlnaHRcbiAgbGV0IGRvY0xUUiA9IGRvYy5kaXJlY3Rpb24gPT0gXCJsdHJcIlxuXG4gIGZ1bmN0aW9uIGFkZChsZWZ0LCB0b3AsIHdpZHRoLCBib3R0b20pIHtcbiAgICBpZiAodG9wIDwgMCkgdG9wID0gMFxuICAgIHRvcCA9IE1hdGgucm91bmQodG9wKVxuICAgIGJvdHRvbSA9IE1hdGgucm91bmQoYm90dG9tKVxuICAgIGZyYWdtZW50LmFwcGVuZENoaWxkKGVsdChcImRpdlwiLCBudWxsLCBcIkNvZGVNaXJyb3Itc2VsZWN0ZWRcIiwgYHBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogJHtsZWZ0fXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6ICR7dG9wfXB4OyB3aWR0aDogJHt3aWR0aCA9PSBudWxsID8gcmlnaHRTaWRlIC0gbGVmdCA6IHdpZHRofXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6ICR7Ym90dG9tIC0gdG9wfXB4YCkpXG4gIH1cblxuICBmdW5jdGlvbiBkcmF3Rm9yTGluZShsaW5lLCBmcm9tQXJnLCB0b0FyZykge1xuICAgIGxldCBsaW5lT2JqID0gZ2V0TGluZShkb2MsIGxpbmUpXG4gICAgbGV0IGxpbmVMZW4gPSBsaW5lT2JqLnRleHQubGVuZ3RoXG4gICAgbGV0IHN0YXJ0LCBlbmRcbiAgICBmdW5jdGlvbiBjb29yZHMoY2gsIGJpYXMpIHtcbiAgICAgIHJldHVybiBjaGFyQ29vcmRzKGNtLCBQb3MobGluZSwgY2gpLCBcImRpdlwiLCBsaW5lT2JqLCBiaWFzKVxuICAgIH1cblxuICAgIGZ1bmN0aW9uIHdyYXBYKHBvcywgZGlyLCBzaWRlKSB7XG4gICAgICBsZXQgZXh0ZW50ID0gd3JhcHBlZExpbmVFeHRlbnRDaGFyKGNtLCBsaW5lT2JqLCBudWxsLCBwb3MpXG4gICAgICBsZXQgcHJvcCA9IChkaXIgPT0gXCJsdHJcIikgPT0gKHNpZGUgPT0gXCJhZnRlclwiKSA/IFwibGVmdFwiIDogXCJyaWdodFwiXG4gICAgICBsZXQgY2ggPSBzaWRlID09IFwiYWZ0ZXJcIiA/IGV4dGVudC5iZWdpbiA6IGV4dGVudC5lbmQgLSAoL1xccy8udGVzdChsaW5lT2JqLnRleHQuY2hhckF0KGV4dGVudC5lbmQgLSAxKSkgPyAyIDogMSlcbiAgICAgIHJldHVybiBjb29yZHMoY2gsIHByb3ApW3Byb3BdXG4gICAgfVxuXG4gICAgbGV0IG9yZGVyID0gZ2V0T3JkZXIobGluZU9iaiwgZG9jLmRpcmVjdGlvbilcbiAgICBpdGVyYXRlQmlkaVNlY3Rpb25zKG9yZGVyLCBmcm9tQXJnIHx8IDAsIHRvQXJnID09IG51bGwgPyBsaW5lTGVuIDogdG9BcmcsIChmcm9tLCB0bywgZGlyLCBpKSA9PiB7XG4gICAgICBsZXQgbHRyID0gZGlyID09IFwibHRyXCJcbiAgICAgIGxldCBmcm9tUG9zID0gY29vcmRzKGZyb20sIGx0ciA/IFwibGVmdFwiIDogXCJyaWdodFwiKVxuICAgICAgbGV0IHRvUG9zID0gY29vcmRzKHRvIC0gMSwgbHRyID8gXCJyaWdodFwiIDogXCJsZWZ0XCIpXG5cbiAgICAgIGxldCBvcGVuU3RhcnQgPSBmcm9tQXJnID09IG51bGwgJiYgZnJvbSA9PSAwLCBvcGVuRW5kID0gdG9BcmcgPT0gbnVsbCAmJiB0byA9PSBsaW5lTGVuXG4gICAgICBsZXQgZmlyc3QgPSBpID09IDAsIGxhc3QgPSAhb3JkZXIgfHwgaSA9PSBvcmRlci5sZW5ndGggLSAxXG4gICAgICBpZiAodG9Qb3MudG9wIC0gZnJvbVBvcy50b3AgPD0gMykgeyAvLyBTaW5nbGUgbGluZVxuICAgICAgICBsZXQgb3BlbkxlZnQgPSAoZG9jTFRSID8gb3BlblN0YXJ0IDogb3BlbkVuZCkgJiYgZmlyc3RcbiAgICAgICAgbGV0IG9wZW5SaWdodCA9IChkb2NMVFIgPyBvcGVuRW5kIDogb3BlblN0YXJ0KSAmJiBsYXN0XG4gICAgICAgIGxldCBsZWZ0ID0gb3BlbkxlZnQgPyBsZWZ0U2lkZSA6IChsdHIgPyBmcm9tUG9zIDogdG9Qb3MpLmxlZnRcbiAgICAgICAgbGV0IHJpZ2h0ID0gb3BlblJpZ2h0ID8gcmlnaHRTaWRlIDogKGx0ciA/IHRvUG9zIDogZnJvbVBvcykucmlnaHRcbiAgICAgICAgYWRkKGxlZnQsIGZyb21Qb3MudG9wLCByaWdodCAtIGxlZnQsIGZyb21Qb3MuYm90dG9tKVxuICAgICAgfSBlbHNlIHsgLy8gTXVsdGlwbGUgbGluZXNcbiAgICAgICAgbGV0IHRvcExlZnQsIHRvcFJpZ2h0LCBib3RMZWZ0LCBib3RSaWdodFxuICAgICAgICBpZiAobHRyKSB7XG4gICAgICAgICAgdG9wTGVmdCA9IGRvY0xUUiAmJiBvcGVuU3RhcnQgJiYgZmlyc3QgPyBsZWZ0U2lkZSA6IGZyb21Qb3MubGVmdFxuICAgICAgICAgIHRvcFJpZ2h0ID0gZG9jTFRSID8gcmlnaHRTaWRlIDogd3JhcFgoZnJvbSwgZGlyLCBcImJlZm9yZVwiKVxuICAgICAgICAgIGJvdExlZnQgPSBkb2NMVFIgPyBsZWZ0U2lkZSA6IHdyYXBYKHRvLCBkaXIsIFwiYWZ0ZXJcIilcbiAgICAgICAgICBib3RSaWdodCA9IGRvY0xUUiAmJiBvcGVuRW5kICYmIGxhc3QgPyByaWdodFNpZGUgOiB0b1Bvcy5yaWdodFxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRvcExlZnQgPSAhZG9jTFRSID8gbGVmdFNpZGUgOiB3cmFwWChmcm9tLCBkaXIsIFwiYmVmb3JlXCIpXG4gICAgICAgICAgdG9wUmlnaHQgPSAhZG9jTFRSICYmIG9wZW5TdGFydCAmJiBmaXJzdCA/IHJpZ2h0U2lkZSA6IGZyb21Qb3MucmlnaHRcbiAgICAgICAgICBib3RMZWZ0ID0gIWRvY0xUUiAmJiBvcGVuRW5kICYmIGxhc3QgPyBsZWZ0U2lkZSA6IHRvUG9zLmxlZnRcbiAgICAgICAgICBib3RSaWdodCA9ICFkb2NMVFIgPyByaWdodFNpZGUgOiB3cmFwWCh0bywgZGlyLCBcImFmdGVyXCIpXG4gICAgICAgIH1cbiAgICAgICAgYWRkKHRvcExlZnQsIGZyb21Qb3MudG9wLCB0b3BSaWdodCAtIHRvcExlZnQsIGZyb21Qb3MuYm90dG9tKVxuICAgICAgICBpZiAoZnJvbVBvcy5ib3R0b20gPCB0b1Bvcy50b3ApIGFkZChsZWZ0U2lkZSwgZnJvbVBvcy5ib3R0b20sIG51bGwsIHRvUG9zLnRvcClcbiAgICAgICAgYWRkKGJvdExlZnQsIHRvUG9zLnRvcCwgYm90UmlnaHQgLSBib3RMZWZ0LCB0b1Bvcy5ib3R0b20pXG4gICAgICB9XG5cbiAgICAgIGlmICghc3RhcnQgfHwgY21wQ29vcmRzKGZyb21Qb3MsIHN0YXJ0KSA8IDApIHN0YXJ0ID0gZnJvbVBvc1xuICAgICAgaWYgKGNtcENvb3Jkcyh0b1Bvcywgc3RhcnQpIDwgMCkgc3RhcnQgPSB0b1Bvc1xuICAgICAgaWYgKCFlbmQgfHwgY21wQ29vcmRzKGZyb21Qb3MsIGVuZCkgPCAwKSBlbmQgPSBmcm9tUG9zXG4gICAgICBpZiAoY21wQ29vcmRzKHRvUG9zLCBlbmQpIDwgMCkgZW5kID0gdG9Qb3NcbiAgICB9KVxuICAgIHJldHVybiB7c3RhcnQ6IHN0YXJ0LCBlbmQ6IGVuZH1cbiAgfVxuXG4gIGxldCBzRnJvbSA9IHJhbmdlLmZyb20oKSwgc1RvID0gcmFuZ2UudG8oKVxuICBpZiAoc0Zyb20ubGluZSA9PSBzVG8ubGluZSkge1xuICAgIGRyYXdGb3JMaW5lKHNGcm9tLmxpbmUsIHNGcm9tLmNoLCBzVG8uY2gpXG4gIH0gZWxzZSB7XG4gICAgbGV0IGZyb21MaW5lID0gZ2V0TGluZShkb2MsIHNGcm9tLmxpbmUpLCB0b0xpbmUgPSBnZXRMaW5lKGRvYywgc1RvLmxpbmUpXG4gICAgbGV0IHNpbmdsZVZMaW5lID0gdmlzdWFsTGluZShmcm9tTGluZSkgPT0gdmlzdWFsTGluZSh0b0xpbmUpXG4gICAgbGV0IGxlZnRFbmQgPSBkcmF3Rm9yTGluZShzRnJvbS5saW5lLCBzRnJvbS5jaCwgc2luZ2xlVkxpbmUgPyBmcm9tTGluZS50ZXh0Lmxlbmd0aCArIDEgOiBudWxsKS5lbmRcbiAgICBsZXQgcmlnaHRTdGFydCA9IGRyYXdGb3JMaW5lKHNUby5saW5lLCBzaW5nbGVWTGluZSA/IDAgOiBudWxsLCBzVG8uY2gpLnN0YXJ0XG4gICAgaWYgKHNpbmdsZVZMaW5lKSB7XG4gICAgICBpZiAobGVmdEVuZC50b3AgPCByaWdodFN0YXJ0LnRvcCAtIDIpIHtcbiAgICAgICAgYWRkKGxlZnRFbmQucmlnaHQsIGxlZnRFbmQudG9wLCBudWxsLCBsZWZ0RW5kLmJvdHRvbSlcbiAgICAgICAgYWRkKGxlZnRTaWRlLCByaWdodFN0YXJ0LnRvcCwgcmlnaHRTdGFydC5sZWZ0LCByaWdodFN0YXJ0LmJvdHRvbSlcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGFkZChsZWZ0RW5kLnJpZ2h0LCBsZWZ0RW5kLnRvcCwgcmlnaHRTdGFydC5sZWZ0IC0gbGVmdEVuZC5yaWdodCwgbGVmdEVuZC5ib3R0b20pXG4gICAgICB9XG4gICAgfVxuICAgIGlmIChsZWZ0RW5kLmJvdHRvbSA8IHJpZ2h0U3RhcnQudG9wKVxuICAgICAgYWRkKGxlZnRTaWRlLCBsZWZ0RW5kLmJvdHRvbSwgbnVsbCwgcmlnaHRTdGFydC50b3ApXG4gIH1cblxuICBvdXRwdXQuYXBwZW5kQ2hpbGQoZnJhZ21lbnQpXG59XG5cbi8vIEN1cnNvci1ibGlua2luZ1xuZXhwb3J0IGZ1bmN0aW9uIHJlc3RhcnRCbGluayhjbSkge1xuICBpZiAoIWNtLnN0YXRlLmZvY3VzZWQpIHJldHVyblxuICBsZXQgZGlzcGxheSA9IGNtLmRpc3BsYXlcbiAgY2xlYXJJbnRlcnZhbChkaXNwbGF5LmJsaW5rZXIpXG4gIGxldCBvbiA9IHRydWVcbiAgZGlzcGxheS5jdXJzb3JEaXYuc3R5bGUudmlzaWJpbGl0eSA9IFwiXCJcbiAgaWYgKGNtLm9wdGlvbnMuY3Vyc29yQmxpbmtSYXRlID4gMClcbiAgICBkaXNwbGF5LmJsaW5rZXIgPSBzZXRJbnRlcnZhbCgoKSA9PiBkaXNwbGF5LmN1cnNvckRpdi5zdHlsZS52aXNpYmlsaXR5ID0gKG9uID0gIW9uKSA/IFwiXCIgOiBcImhpZGRlblwiLFxuICAgICAgY20ub3B0aW9ucy5jdXJzb3JCbGlua1JhdGUpXG4gIGVsc2UgaWYgKGNtLm9wdGlvbnMuY3Vyc29yQmxpbmtSYXRlIDwgMClcbiAgICBkaXNwbGF5LmN1cnNvckRpdi5zdHlsZS52aXNpYmlsaXR5ID0gXCJoaWRkZW5cIlxufVxuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUtBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/codemirror/src/display/selection.js\n"); /***/ }), /***/ "./node_modules/codemirror/src/display/update_display.js": /*!***************************************************************!*\ !*** ./node_modules/codemirror/src/display/update_display.js ***! \***************************************************************/ /*! exports provided: DisplayUpdate, maybeClipScrollbars, updateDisplayIfNeeded, postUpdateDisplay, updateDisplaySimple, updateGutterSpace, setDocumentHeight */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DisplayUpdate\", function() { return DisplayUpdate; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"maybeClipScrollbars\", function() { return maybeClipScrollbars; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"updateDisplayIfNeeded\", function() { return updateDisplayIfNeeded; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"postUpdateDisplay\", function() { return postUpdateDisplay; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"updateDisplaySimple\", function() { return updateDisplaySimple; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"updateGutterSpace\", function() { return updateGutterSpace; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"setDocumentHeight\", function() { return setDocumentHeight; });\n/* harmony import */ var _line_saw_special_spans_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../line/saw_special_spans.js */ \"./node_modules/codemirror/src/line/saw_special_spans.js\");\n/* harmony import */ var _line_spans_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../line/spans.js */ \"./node_modules/codemirror/src/line/spans.js\");\n/* harmony import */ var _line_utils_line_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../line/utils_line.js */ \"./node_modules/codemirror/src/line/utils_line.js\");\n/* harmony import */ var _measurement_position_measurement_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../measurement/position_measurement.js */ \"./node_modules/codemirror/src/measurement/position_measurement.js\");\n/* harmony import */ var _util_browser_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../util/browser.js */ \"./node_modules/codemirror/src/util/browser.js\");\n/* harmony import */ var _util_dom_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../util/dom.js */ \"./node_modules/codemirror/src/util/dom.js\");\n/* harmony import */ var _util_event_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../util/event.js */ \"./node_modules/codemirror/src/util/event.js\");\n/* harmony import */ var _util_misc_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../util/misc.js */ \"./node_modules/codemirror/src/util/misc.js\");\n/* harmony import */ var _update_line_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./update_line.js */ \"./node_modules/codemirror/src/display/update_line.js\");\n/* harmony import */ var _highlight_worker_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./highlight_worker.js */ \"./node_modules/codemirror/src/display/highlight_worker.js\");\n/* harmony import */ var _line_numbers_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./line_numbers.js */ \"./node_modules/codemirror/src/display/line_numbers.js\");\n/* harmony import */ var _scrollbars_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./scrollbars.js */ \"./node_modules/codemirror/src/display/scrollbars.js\");\n/* harmony import */ var _selection_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./selection.js */ \"./node_modules/codemirror/src/display/selection.js\");\n/* harmony import */ var _update_lines_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./update_lines.js */ \"./node_modules/codemirror/src/display/update_lines.js\");\n/* harmony import */ var _view_tracking_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./view_tracking.js */ \"./node_modules/codemirror/src/display/view_tracking.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n // DISPLAY DRAWING\n\nclass DisplayUpdate {\n constructor(cm, viewport, force) {\n let display = cm.display;\n this.viewport = viewport; // Store some values that we'll need later (but don't want to force a relayout for)\n\n this.visible = Object(_update_lines_js__WEBPACK_IMPORTED_MODULE_13__[\"visibleLines\"])(display, cm.doc, viewport);\n this.editorIsHidden = !display.wrapper.offsetWidth;\n this.wrapperHeight = display.wrapper.clientHeight;\n this.wrapperWidth = display.wrapper.clientWidth;\n this.oldDisplayWidth = Object(_measurement_position_measurement_js__WEBPACK_IMPORTED_MODULE_3__[\"displayWidth\"])(cm);\n this.force = force;\n this.dims = Object(_measurement_position_measurement_js__WEBPACK_IMPORTED_MODULE_3__[\"getDimensions\"])(cm);\n this.events = [];\n }\n\n signal(emitter, type) {\n if (Object(_util_event_js__WEBPACK_IMPORTED_MODULE_6__[\"hasHandler\"])(emitter, type)) this.events.push(arguments);\n }\n\n finish() {\n for (let i = 0; i < this.events.length; i++) _util_event_js__WEBPACK_IMPORTED_MODULE_6__[\"signal\"].apply(null, this.events[i]);\n }\n\n}\nfunction maybeClipScrollbars(cm) {\n let display = cm.display;\n\n if (!display.scrollbarsClipped && display.scroller.offsetWidth) {\n display.nativeBarWidth = display.scroller.offsetWidth - display.scroller.clientWidth;\n display.heightForcer.style.height = Object(_measurement_position_measurement_js__WEBPACK_IMPORTED_MODULE_3__[\"scrollGap\"])(cm) + \"px\";\n display.sizer.style.marginBottom = -display.nativeBarWidth + \"px\";\n display.sizer.style.borderRightWidth = Object(_measurement_position_measurement_js__WEBPACK_IMPORTED_MODULE_3__[\"scrollGap\"])(cm) + \"px\";\n display.scrollbarsClipped = true;\n }\n}\n\nfunction selectionSnapshot(cm) {\n if (cm.hasFocus()) return null;\n let active = Object(_util_dom_js__WEBPACK_IMPORTED_MODULE_5__[\"activeElt\"])();\n if (!active || !Object(_util_dom_js__WEBPACK_IMPORTED_MODULE_5__[\"contains\"])(cm.display.lineDiv, active)) return null;\n let result = {\n activeElt: active\n };\n\n if (window.getSelection) {\n let sel = window.getSelection();\n\n if (sel.anchorNode && sel.extend && Object(_util_dom_js__WEBPACK_IMPORTED_MODULE_5__[\"contains\"])(cm.display.lineDiv, sel.anchorNode)) {\n result.anchorNode = sel.anchorNode;\n result.anchorOffset = sel.anchorOffset;\n result.focusNode = sel.focusNode;\n result.focusOffset = sel.focusOffset;\n }\n }\n\n return result;\n}\n\nfunction restoreSelection(snapshot) {\n if (!snapshot || !snapshot.activeElt || snapshot.activeElt == Object(_util_dom_js__WEBPACK_IMPORTED_MODULE_5__[\"activeElt\"])()) return;\n snapshot.activeElt.focus();\n\n if (snapshot.anchorNode && Object(_util_dom_js__WEBPACK_IMPORTED_MODULE_5__[\"contains\"])(document.body, snapshot.anchorNode) && Object(_util_dom_js__WEBPACK_IMPORTED_MODULE_5__[\"contains\"])(document.body, snapshot.focusNode)) {\n let sel = window.getSelection(),\n range = document.createRange();\n range.setEnd(snapshot.anchorNode, snapshot.anchorOffset);\n range.collapse(false);\n sel.removeAllRanges();\n sel.addRange(range);\n sel.extend(snapshot.focusNode, snapshot.focusOffset);\n }\n} // Does the actual updating of the line display. Bails out\n// (returning false) when there is nothing to be done and forced is\n// false.\n\n\nfunction updateDisplayIfNeeded(cm, update) {\n let display = cm.display,\n doc = cm.doc;\n\n if (update.editorIsHidden) {\n Object(_view_tracking_js__WEBPACK_IMPORTED_MODULE_14__[\"resetView\"])(cm);\n return false;\n } // Bail out if the visible area is already rendered and nothing changed.\n\n\n if (!update.force && update.visible.from >= display.viewFrom && update.visible.to <= display.viewTo && (display.updateLineNumbers == null || display.updateLineNumbers >= display.viewTo) && display.renderedView == display.view && Object(_view_tracking_js__WEBPACK_IMPORTED_MODULE_14__[\"countDirtyView\"])(cm) == 0) return false;\n\n if (Object(_line_numbers_js__WEBPACK_IMPORTED_MODULE_10__[\"maybeUpdateLineNumberWidth\"])(cm)) {\n Object(_view_tracking_js__WEBPACK_IMPORTED_MODULE_14__[\"resetView\"])(cm);\n update.dims = Object(_measurement_position_measurement_js__WEBPACK_IMPORTED_MODULE_3__[\"getDimensions\"])(cm);\n } // Compute a suitable new viewport (from & to)\n\n\n let end = doc.first + doc.size;\n let from = Math.max(update.visible.from - cm.options.viewportMargin, doc.first);\n let to = Math.min(end, update.visible.to + cm.options.viewportMargin);\n if (display.viewFrom < from && from - display.viewFrom < 20) from = Math.max(doc.first, display.viewFrom);\n if (display.viewTo > to && display.viewTo - to < 20) to = Math.min(end, display.viewTo);\n\n if (_line_saw_special_spans_js__WEBPACK_IMPORTED_MODULE_0__[\"sawCollapsedSpans\"]) {\n from = Object(_line_spans_js__WEBPACK_IMPORTED_MODULE_1__[\"visualLineNo\"])(cm.doc, from);\n to = Object(_line_spans_js__WEBPACK_IMPORTED_MODULE_1__[\"visualLineEndNo\"])(cm.doc, to);\n }\n\n let different = from != display.viewFrom || to != display.viewTo || display.lastWrapHeight != update.wrapperHeight || display.lastWrapWidth != update.wrapperWidth;\n Object(_view_tracking_js__WEBPACK_IMPORTED_MODULE_14__[\"adjustView\"])(cm, from, to);\n display.viewOffset = Object(_line_spans_js__WEBPACK_IMPORTED_MODULE_1__[\"heightAtLine\"])(Object(_line_utils_line_js__WEBPACK_IMPORTED_MODULE_2__[\"getLine\"])(cm.doc, display.viewFrom)); // Position the mover div to align with the current scroll position\n\n cm.display.mover.style.top = display.viewOffset + \"px\";\n let toUpdate = Object(_view_tracking_js__WEBPACK_IMPORTED_MODULE_14__[\"countDirtyView\"])(cm);\n if (!different && toUpdate == 0 && !update.force && display.renderedView == display.view && (display.updateLineNumbers == null || display.updateLineNumbers >= display.viewTo)) return false; // For big changes, we hide the enclosing element during the\n // update, since that speeds up the operations on most browsers.\n\n let selSnapshot = selectionSnapshot(cm);\n if (toUpdate > 4) display.lineDiv.style.display = \"none\";\n patchDisplay(cm, display.updateLineNumbers, update.dims);\n if (toUpdate > 4) display.lineDiv.style.display = \"\";\n display.renderedView = display.view; // There might have been a widget with a focused element that got\n // hidden or updated, if so re-focus it.\n\n restoreSelection(selSnapshot); // Prevent selection and cursors from interfering with the scroll\n // width and height.\n\n Object(_util_dom_js__WEBPACK_IMPORTED_MODULE_5__[\"removeChildren\"])(display.cursorDiv);\n Object(_util_dom_js__WEBPACK_IMPORTED_MODULE_5__[\"removeChildren\"])(display.selectionDiv);\n display.gutters.style.height = display.sizer.style.minHeight = 0;\n\n if (different) {\n display.lastWrapHeight = update.wrapperHeight;\n display.lastWrapWidth = update.wrapperWidth;\n Object(_highlight_worker_js__WEBPACK_IMPORTED_MODULE_9__[\"startWorker\"])(cm, 400);\n }\n\n display.updateLineNumbers = null;\n return true;\n}\nfunction postUpdateDisplay(cm, update) {\n let viewport = update.viewport;\n\n for (let first = true;; first = false) {\n if (!first || !cm.options.lineWrapping || update.oldDisplayWidth == Object(_measurement_position_measurement_js__WEBPACK_IMPORTED_MODULE_3__[\"displayWidth\"])(cm)) {\n // Clip forced viewport to actual scrollable area.\n if (viewport && viewport.top != null) viewport = {\n top: Math.min(cm.doc.height + Object(_measurement_position_measurement_js__WEBPACK_IMPORTED_MODULE_3__[\"paddingVert\"])(cm.display) - Object(_measurement_position_measurement_js__WEBPACK_IMPORTED_MODULE_3__[\"displayHeight\"])(cm), viewport.top) // Updated line heights might result in the drawn area not\n // actually covering the viewport. Keep looping until it does.\n\n };\n update.visible = Object(_update_lines_js__WEBPACK_IMPORTED_MODULE_13__[\"visibleLines\"])(cm.display, cm.doc, viewport);\n if (update.visible.from >= cm.display.viewFrom && update.visible.to <= cm.display.viewTo) break;\n }\n\n if (!updateDisplayIfNeeded(cm, update)) break;\n Object(_update_lines_js__WEBPACK_IMPORTED_MODULE_13__[\"updateHeightsInViewport\"])(cm);\n let barMeasure = Object(_scrollbars_js__WEBPACK_IMPORTED_MODULE_11__[\"measureForScrollbars\"])(cm);\n Object(_selection_js__WEBPACK_IMPORTED_MODULE_12__[\"updateSelection\"])(cm);\n Object(_scrollbars_js__WEBPACK_IMPORTED_MODULE_11__[\"updateScrollbars\"])(cm, barMeasure);\n setDocumentHeight(cm, barMeasure);\n update.force = false;\n }\n\n update.signal(cm, \"update\", cm);\n\n if (cm.display.viewFrom != cm.display.reportedViewFrom || cm.display.viewTo != cm.display.reportedViewTo) {\n update.signal(cm, \"viewportChange\", cm, cm.display.viewFrom, cm.display.viewTo);\n cm.display.reportedViewFrom = cm.display.viewFrom;\n cm.display.reportedViewTo = cm.display.viewTo;\n }\n}\nfunction updateDisplaySimple(cm, viewport) {\n let update = new DisplayUpdate(cm, viewport);\n\n if (updateDisplayIfNeeded(cm, update)) {\n Object(_update_lines_js__WEBPACK_IMPORTED_MODULE_13__[\"updateHeightsInViewport\"])(cm);\n postUpdateDisplay(cm, update);\n let barMeasure = Object(_scrollbars_js__WEBPACK_IMPORTED_MODULE_11__[\"measureForScrollbars\"])(cm);\n Object(_selection_js__WEBPACK_IMPORTED_MODULE_12__[\"updateSelection\"])(cm);\n Object(_scrollbars_js__WEBPACK_IMPORTED_MODULE_11__[\"updateScrollbars\"])(cm, barMeasure);\n setDocumentHeight(cm, barMeasure);\n update.finish();\n }\n} // Sync the actual display DOM structure with display.view, removing\n// nodes for lines that are no longer in view, and creating the ones\n// that are not there yet, and updating the ones that are out of\n// date.\n\nfunction patchDisplay(cm, updateNumbersFrom, dims) {\n let display = cm.display,\n lineNumbers = cm.options.lineNumbers;\n let container = display.lineDiv,\n cur = container.firstChild;\n\n function rm(node) {\n let next = node.nextSibling; // Works around a throw-scroll bug in OS X Webkit\n\n if (_util_browser_js__WEBPACK_IMPORTED_MODULE_4__[\"webkit\"] && _util_browser_js__WEBPACK_IMPORTED_MODULE_4__[\"mac\"] && cm.display.currentWheelTarget == node) node.style.display = \"none\";else node.parentNode.removeChild(node);\n return next;\n }\n\n let view = display.view,\n lineN = display.viewFrom; // Loop over the elements in the view, syncing cur (the DOM nodes\n // in display.lineDiv) with the view as we go.\n\n for (let i = 0; i < view.length; i++) {\n let lineView = view[i];\n\n if (lineView.hidden) {} else if (!lineView.node || lineView.node.parentNode != container) {\n // Not drawn yet\n let node = Object(_update_line_js__WEBPACK_IMPORTED_MODULE_8__[\"buildLineElement\"])(cm, lineView, lineN, dims);\n container.insertBefore(node, cur);\n } else {\n // Already drawn\n while (cur != lineView.node) cur = rm(cur);\n\n let updateNumber = lineNumbers && updateNumbersFrom != null && updateNumbersFrom <= lineN && lineView.lineNumber;\n\n if (lineView.changes) {\n if (Object(_util_misc_js__WEBPACK_IMPORTED_MODULE_7__[\"indexOf\"])(lineView.changes, \"gutter\") > -1) updateNumber = false;\n Object(_update_line_js__WEBPACK_IMPORTED_MODULE_8__[\"updateLineForChanges\"])(cm, lineView, lineN, dims);\n }\n\n if (updateNumber) {\n Object(_util_dom_js__WEBPACK_IMPORTED_MODULE_5__[\"removeChildren\"])(lineView.lineNumber);\n lineView.lineNumber.appendChild(document.createTextNode(Object(_line_utils_line_js__WEBPACK_IMPORTED_MODULE_2__[\"lineNumberFor\"])(cm.options, lineN)));\n }\n\n cur = lineView.node.nextSibling;\n }\n\n lineN += lineView.size;\n }\n\n while (cur) cur = rm(cur);\n}\n\nfunction updateGutterSpace(display) {\n let width = display.gutters.offsetWidth;\n display.sizer.style.marginLeft = width + \"px\";\n}\nfunction setDocumentHeight(cm, measure) {\n cm.display.sizer.style.minHeight = measure.docHeight + \"px\";\n cm.display.heightForcer.style.top = measure.docHeight + \"px\";\n cm.display.gutters.style.height = measure.docHeight + cm.display.barHeight + Object(_measurement_position_measurement_js__WEBPACK_IMPORTED_MODULE_3__[\"scrollGap\"])(cm) + \"px\";\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9zcmMvZGlzcGxheS91cGRhdGVfZGlzcGxheS5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb2RlbWlycm9yL3NyYy9kaXNwbGF5L3VwZGF0ZV9kaXNwbGF5LmpzPzA3OTYiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgc2F3Q29sbGFwc2VkU3BhbnMgfSBmcm9tIFwiLi4vbGluZS9zYXdfc3BlY2lhbF9zcGFucy5qc1wiXG5pbXBvcnQgeyBoZWlnaHRBdExpbmUsIHZpc3VhbExpbmVFbmRObywgdmlzdWFsTGluZU5vIH0gZnJvbSBcIi4uL2xpbmUvc3BhbnMuanNcIlxuaW1wb3J0IHsgZ2V0TGluZSwgbGluZU51bWJlckZvciB9IGZyb20gXCIuLi9saW5lL3V0aWxzX2xpbmUuanNcIlxuaW1wb3J0IHsgZGlzcGxheUhlaWdodCwgZGlzcGxheVdpZHRoLCBnZXREaW1lbnNpb25zLCBwYWRkaW5nVmVydCwgc2Nyb2xsR2FwIH0gZnJvbSBcIi4uL21lYXN1cmVtZW50L3Bvc2l0aW9uX21lYXN1cmVtZW50LmpzXCJcbmltcG9ydCB7IG1hYywgd2Via2l0IH0gZnJvbSBcIi4uL3V0aWwvYnJvd3Nlci5qc1wiXG5pbXBvcnQgeyBhY3RpdmVFbHQsIHJlbW92ZUNoaWxkcmVuLCBjb250YWlucyB9IGZyb20gXCIuLi91dGlsL2RvbS5qc1wiXG5pbXBvcnQgeyBoYXNIYW5kbGVyLCBzaWduYWwgfSBmcm9tIFwiLi4vdXRpbC9ldmVudC5qc1wiXG5pbXBvcnQgeyBpbmRleE9mIH0gZnJvbSBcIi4uL3V0aWwvbWlzYy5qc1wiXG5cbmltcG9ydCB7IGJ1aWxkTGluZUVsZW1lbnQsIHVwZGF0ZUxpbmVGb3JDaGFuZ2VzIH0gZnJvbSBcIi4vdXBkYXRlX2xpbmUuanNcIlxuaW1wb3J0IHsgc3RhcnRXb3JrZXIgfSBmcm9tIFwiLi9oaWdobGlnaHRfd29ya2VyLmpzXCJcbmltcG9ydCB7IG1heWJlVXBkYXRlTGluZU51bWJlcldpZHRoIH0gZnJvbSBcIi4vbGluZV9udW1iZXJzLmpzXCJcbmltcG9ydCB7IG1lYXN1cmVGb3JTY3JvbGxiYXJzLCB1cGRhdGVTY3JvbGxiYXJzIH0gZnJvbSBcIi4vc2Nyb2xsYmFycy5qc1wiXG5pbXBvcnQgeyB1cGRhdGVTZWxlY3Rpb24gfSBmcm9tIFwiLi9zZWxlY3Rpb24uanNcIlxuaW1wb3J0IHsgdXBkYXRlSGVpZ2h0c0luVmlld3BvcnQsIHZpc2libGVMaW5lcyB9IGZyb20gXCIuL3VwZGF0ZV9saW5lcy5qc1wiXG5pbXBvcnQgeyBhZGp1c3RWaWV3LCBjb3VudERpcnR5VmlldywgcmVzZXRWaWV3IH0gZnJvbSBcIi4vdmlld190cmFja2luZy5qc1wiXG5cbi8vIERJU1BMQVkgRFJBV0lOR1xuXG5leHBvcnQgY2xhc3MgRGlzcGxheVVwZGF0ZSB7XG4gIGNvbnN0cnVjdG9yKGNtLCB2aWV3cG9ydCwgZm9yY2UpIHtcbiAgICBsZXQgZGlzcGxheSA9IGNtLmRpc3BsYXlcblxuICAgIHRoaXMudmlld3BvcnQgPSB2aWV3cG9ydFxuICAgIC8vIFN0b3JlIHNvbWUgdmFsdWVzIHRoYXQgd2UnbGwgbmVlZCBsYXRlciAoYnV0IGRvbid0IHdhbnQgdG8gZm9yY2UgYSByZWxheW91dCBmb3IpXG4gICAgdGhpcy52aXNpYmxlID0gdmlzaWJsZUxpbmVzKGRpc3BsYXksIGNtLmRvYywgdmlld3BvcnQpXG4gICAgdGhpcy5lZGl0b3JJc0hpZGRlbiA9ICFkaXNwbGF5LndyYXBwZXIub2Zmc2V0V2lkdGhcbiAgICB0aGlzLndyYXBwZXJIZWlnaHQgPSBkaXNwbGF5LndyYXBwZXIuY2xpZW50SGVpZ2h0XG4gICAgdGhpcy53cmFwcGVyV2lkdGggPSBkaXNwbGF5LndyYXBwZXIuY2xpZW50V2lkdGhcbiAgICB0aGlzLm9sZERpc3BsYXlXaWR0aCA9IGRpc3BsYXlXaWR0aChjbSlcbiAgICB0aGlzLmZvcmNlID0gZm9yY2VcbiAgICB0aGlzLmRpbXMgPSBnZXREaW1lbnNpb25zKGNtKVxuICAgIHRoaXMuZXZlbnRzID0gW11cbiAgfVxuXG4gIHNpZ25hbChlbWl0dGVyLCB0eXBlKSB7XG4gICAgaWYgKGhhc0hhbmRsZXIoZW1pdHRlciwgdHlwZSkpXG4gICAgICB0aGlzLmV2ZW50cy5wdXNoKGFyZ3VtZW50cylcbiAgfVxuICBmaW5pc2goKSB7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLmV2ZW50cy5sZW5ndGg7IGkrKylcbiAgICAgIHNpZ25hbC5hcHBseShudWxsLCB0aGlzLmV2ZW50c1tpXSlcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gbWF5YmVDbGlwU2Nyb2xsYmFycyhjbSkge1xuICBsZXQgZGlzcGxheSA9IGNtLmRpc3BsYXlcbiAgaWYgKCFkaXNwbGF5LnNjcm9sbGJhcnNDbGlwcGVkICYmIGRpc3BsYXkuc2Nyb2xsZXIub2Zmc2V0V2lkdGgpIHtcbiAgICBkaXNwbGF5Lm5hdGl2ZUJhcldpZHRoID0gZGlzcGxheS5zY3JvbGxlci5vZmZzZXRXaWR0aCAtIGRpc3BsYXkuc2Nyb2xsZXIuY2xpZW50V2lkdGhcbiAgICBkaXNwbGF5LmhlaWdodEZvcmNlci5zdHlsZS5oZWlnaHQgPSBzY3JvbGxHYXAoY20pICsgXCJweFwiXG4gICAgZGlzcGxheS5zaXplci5zdHlsZS5tYXJnaW5Cb3R0b20gPSAtZGlzcGxheS5uYXRpdmVCYXJXaWR0aCArIFwicHhcIlxuICAgIGRpc3BsYXkuc2l6ZXIuc3R5bGUuYm9yZGVyUmlnaHRXaWR0aCA9IHNjcm9sbEdhcChjbSkgKyBcInB4XCJcbiAgICBkaXNwbGF5LnNjcm9sbGJhcnNDbGlwcGVkID0gdHJ1ZVxuICB9XG59XG5cbmZ1bmN0aW9uIHNlbGVjdGlvblNuYXBzaG90KGNtKSB7XG4gIGlmIChjbS5oYXNGb2N1cygpKSByZXR1cm4gbnVsbFxuICBsZXQgYWN0aXZlID0gYWN0aXZlRWx0KClcbiAgaWYgKCFhY3RpdmUgfHwgIWNvbnRhaW5zKGNtLmRpc3BsYXkubGluZURpdiwgYWN0aXZlKSkgcmV0dXJuIG51bGxcbiAgbGV0IHJlc3VsdCA9IHthY3RpdmVFbHQ6IGFjdGl2ZX1cbiAgaWYgKHdpbmRvdy5nZXRTZWxlY3Rpb24pIHtcbiAgICBsZXQgc2VsID0gd2luZG93LmdldFNlbGVjdGlvbigpXG4gICAgaWYgKHNlbC5hbmNob3JOb2RlICYmIHNlbC5leHRlbmQgJiYgY29udGFpbnMoY20uZGlzcGxheS5saW5lRGl2LCBzZWwuYW5jaG9yTm9kZSkpIHtcbiAgICAgIHJlc3VsdC5hbmNob3JOb2RlID0gc2VsLmFuY2hvck5vZGVcbiAgICAgIHJlc3VsdC5hbmNob3JPZmZzZXQgPSBzZWwuYW5jaG9yT2Zmc2V0XG4gICAgICByZXN1bHQuZm9jdXNOb2RlID0gc2VsLmZvY3VzTm9kZVxuICAgICAgcmVzdWx0LmZvY3VzT2Zmc2V0ID0gc2VsLmZvY3VzT2Zmc2V0XG4gICAgfVxuICB9XG4gIHJldHVybiByZXN1bHRcbn1cblxuZnVuY3Rpb24gcmVzdG9yZVNlbGVjdGlvbihzbmFwc2hvdCkge1xuICBpZiAoIXNuYXBzaG90IHx8ICFzbmFwc2hvdC5hY3RpdmVFbHQgfHwgc25hcHNob3QuYWN0aXZlRWx0ID09IGFjdGl2ZUVsdCgpKSByZXR1cm5cbiAgc25hcHNob3QuYWN0aXZlRWx0LmZvY3VzKClcbiAgaWYgKHNuYXBzaG90LmFuY2hvck5vZGUgJiYgY29udGFpbnMoZG9jdW1lbnQuYm9keSwgc25hcHNob3QuYW5jaG9yTm9kZSkgJiYgY29udGFpbnMoZG9jdW1lbnQuYm9keSwgc25hcHNob3QuZm9jdXNOb2RlKSkge1xuICAgIGxldCBzZWwgPSB3aW5kb3cuZ2V0U2VsZWN0aW9uKCksIHJhbmdlID0gZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKVxuICAgIHJhbmdlLnNldEVuZChzbmFwc2hvdC5hbmNob3JOb2RlLCBzbmFwc2hvdC5hbmNob3JPZmZzZXQpXG4gICAgcmFuZ2UuY29sbGFwc2UoZmFsc2UpXG4gICAgc2VsLnJlbW92ZUFsbFJhbmdlcygpXG4gICAgc2VsLmFkZFJhbmdlKHJhbmdlKVxuICAgIHNlbC5leHRlbmQoc25hcHNob3QuZm9jdXNOb2RlLCBzbmFwc2hvdC5mb2N1c09mZnNldClcbiAgfVxufVxuXG4vLyBEb2VzIHRoZSBhY3R1YWwgdXBkYXRpbmcgb2YgdGhlIGxpbmUgZGlzcGxheS4gQmFpbHMgb3V0XG4vLyAocmV0dXJuaW5nIGZhbHNlKSB3aGVuIHRoZXJlIGlzIG5vdGhpbmcgdG8gYmUgZG9uZSBhbmQgZm9yY2VkIGlzXG4vLyBmYWxzZS5cbmV4cG9ydCBmdW5jdGlvbiB1cGRhdGVEaXNwbGF5SWZOZWVkZWQoY20sIHVwZGF0ZSkge1xuICBsZXQgZGlzcGxheSA9IGNtLmRpc3BsYXksIGRvYyA9IGNtLmRvY1xuXG4gIGlmICh1cGRhdGUuZWRpdG9ySXNIaWRkZW4pIHtcbiAgICByZXNldFZpZXcoY20pXG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cblxuICAvLyBCYWlsIG91dCBpZiB0aGUgdmlzaWJsZSBhcmVhIGlzIGFscmVhZHkgcmVuZGVyZWQgYW5kIG5vdGhpbmcgY2hhbmdlZC5cbiAgaWYgKCF1cGRhdGUuZm9yY2UgJiZcbiAgICAgIHVwZGF0ZS52aXNpYmxlLmZyb20gPj0gZGlzcGxheS52aWV3RnJvbSAmJiB1cGRhdGUudmlzaWJsZS50byA8PSBkaXNwbGF5LnZpZXdUbyAmJlxuICAgICAgKGRpc3BsYXkudXBkYXRlTGluZU51bWJlcnMgPT0gbnVsbCB8fCBkaXNwbGF5LnVwZGF0ZUxpbmVOdW1iZXJzID49IGRpc3BsYXkudmlld1RvKSAmJlxuICAgICAgZGlzcGxheS5yZW5kZXJlZFZpZXcgPT0gZGlzcGxheS52aWV3ICYmIGNvdW50RGlydHlWaWV3KGNtKSA9PSAwKVxuICAgIHJldHVybiBmYWxzZVxuXG4gIGlmIChtYXliZVVwZGF0ZUxpbmVOdW1iZXJXaWR0aChjbSkpIHtcbiAgICByZXNldFZpZXcoY20pXG4gICAgdXBkYXRlLmRpbXMgPSBnZXREaW1lbnNpb25zKGNtKVxuICB9XG5cbiAgLy8gQ29tcHV0ZSBhIHN1aXRhYmxlIG5ldyB2aWV3cG9ydCAoZnJvbSAmIHRvKVxuICBsZXQgZW5kID0gZG9jLmZpcnN0ICsgZG9jLnNpemVcbiAgbGV0IGZyb20gPSBNYXRoLm1heCh1cGRhdGUudmlzaWJsZS5mcm9tIC0gY20ub3B0aW9ucy52aWV3cG9ydE1hcmdpbiwgZG9jLmZpcnN0KVxuICBsZXQgdG8gPSBNYXRoLm1pbihlbmQsIHVwZGF0ZS52aXNpYmxlLnRvICsgY20ub3B0aW9ucy52aWV3cG9ydE1hcmdpbilcbiAgaWYgKGRpc3BsYXkudmlld0Zyb20gPCBmcm9tICYmIGZyb20gLSBkaXNwbGF5LnZpZXdGcm9tIDwgMjApIGZyb20gPSBNYXRoLm1heChkb2MuZmlyc3QsIGRpc3BsYXkudmlld0Zyb20pXG4gIGlmIChkaXNwbGF5LnZpZXdUbyA+IHRvICYmIGRpc3BsYXkudmlld1RvIC0gdG8gPCAyMCkgdG8gPSBNYXRoLm1pbihlbmQsIGRpc3BsYXkudmlld1RvKVxuICBpZiAoc2F3Q29sbGFwc2VkU3BhbnMpIHtcbiAgICBmcm9tID0gdmlzdWFsTGluZU5vKGNtLmRvYywgZnJvbSlcbiAgICB0byA9IHZpc3VhbExpbmVFbmRObyhjbS5kb2MsIHRvKVxuICB9XG5cbiAgbGV0IGRpZmZlcmVudCA9IGZyb20gIT0gZGlzcGxheS52aWV3RnJvbSB8fCB0byAhPSBkaXNwbGF5LnZpZXdUbyB8fFxuICAgIGRpc3BsYXkubGFzdFdyYXBIZWlnaHQgIT0gdXBkYXRlLndyYXBwZXJIZWlnaHQgfHwgZGlzcGxheS5sYXN0V3JhcFdpZHRoICE9IHVwZGF0ZS53cmFwcGVyV2lkdGhcbiAgYWRqdXN0VmlldyhjbSwgZnJvbSwgdG8pXG5cbiAgZGlzcGxheS52aWV3T2Zmc2V0ID0gaGVpZ2h0QXRMaW5lKGdldExpbmUoY20uZG9jLCBkaXNwbGF5LnZpZXdGcm9tKSlcbiAgLy8gUG9zaXRpb24gdGhlIG1vdmVyIGRpdiB0byBhbGlnbiB3aXRoIHRoZSBjdXJyZW50IHNjcm9sbCBwb3NpdGlvblxuICBjbS5kaXNwbGF5Lm1vdmVyLnN0eWxlLnRvcCA9IGRpc3BsYXkudmlld09mZnNldCArIFwicHhcIlxuXG4gIGxldCB0b1VwZGF0ZSA9IGNvdW50RGlydHlWaWV3KGNtKVxuICBpZiAoIWRpZmZlcmVudCAmJiB0b1VwZGF0ZSA9PSAwICYmICF1cGRhdGUuZm9yY2UgJiYgZGlzcGxheS5yZW5kZXJlZFZpZXcgPT0gZGlzcGxheS52aWV3ICYmXG4gICAgICAoZGlzcGxheS51cGRhdGVMaW5lTnVtYmVycyA9PSBudWxsIHx8IGRpc3BsYXkudXBkYXRlTGluZU51bWJlcnMgPj0gZGlzcGxheS52aWV3VG8pKVxuICAgIHJldHVybiBmYWxzZVxuXG4gIC8vIEZvciBiaWcgY2hhbmdlcywgd2UgaGlkZSB0aGUgZW5jbG9zaW5nIGVsZW1lbnQgZHVyaW5nIHRoZVxuICAvLyB1cGRhdGUsIHNpbmNlIHRoYXQgc3BlZWRzIHVwIHRoZSBvcGVyYXRpb25zIG9uIG1vc3QgYnJvd3NlcnMuXG4gIGxldCBzZWxTbmFwc2hvdCA9IHNlbGVjdGlvblNuYXBzaG90KGNtKVxuICBpZiAodG9VcGRhdGUgPiA0KSBkaXNwbGF5LmxpbmVEaXYuc3R5bGUuZGlzcGxheSA9IFwibm9uZVwiXG4gIHBhdGNoRGlzcGxheShjbSwgZGlzcGxheS51cGRhdGVMaW5lTnVtYmVycywgdXBkYXRlLmRpbXMpXG4gIGlmICh0b1VwZGF0ZSA+IDQpIGRpc3BsYXkubGluZURpdi5zdHlsZS5kaXNwbGF5ID0gXCJcIlxuICBkaXNwbGF5LnJlbmRlcmVkVmlldyA9IGRpc3BsYXkudmlld1xuICAvLyBUaGVyZSBtaWdodCBoYXZlIGJlZW4gYSB3aWRnZXQgd2l0aCBhIGZvY3VzZWQgZWxlbWVudCB0aGF0IGdvdFxuICAvLyBoaWRkZW4gb3IgdXBkYXRlZCwgaWYgc28gcmUtZm9jdXMgaXQuXG4gIHJlc3RvcmVTZWxlY3Rpb24oc2VsU25hcHNob3QpXG5cbiAgLy8gUHJldmVudCBzZWxlY3Rpb24gYW5kIGN1cnNvcnMgZnJvbSBpbnRlcmZlcmluZyB3aXRoIHRoZSBzY3JvbGxcbiAgLy8gd2lkdGggYW5kIGhlaWdodC5cbiAgcmVtb3ZlQ2hpbGRyZW4oZGlzcGxheS5jdXJzb3JEaXYpXG4gIHJlbW92ZUNoaWxkcmVuKGRpc3BsYXkuc2VsZWN0aW9uRGl2KVxuICBkaXNwbGF5Lmd1dHRlcnMuc3R5bGUuaGVpZ2h0ID0gZGlzcGxheS5zaXplci5zdHlsZS5taW5IZWlnaHQgPSAwXG5cbiAgaWYgKGRpZmZlcmVudCkge1xuICAgIGRpc3BsYXkubGFzdFdyYXBIZWlnaHQgPSB1cGRhdGUud3JhcHBlckhlaWdodFxuICAgIGRpc3BsYXkubGFzdFdyYXBXaWR0aCA9IHVwZGF0ZS53cmFwcGVyV2lkdGhcbiAgICBzdGFydFdvcmtlcihjbSwgNDAwKVxuICB9XG5cbiAgZGlzcGxheS51cGRhdGVMaW5lTnVtYmVycyA9IG51bGxcblxuICByZXR1cm4gdHJ1ZVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcG9zdFVwZGF0ZURpc3BsYXkoY20sIHVwZGF0ZSkge1xuICBsZXQgdmlld3BvcnQgPSB1cGRhdGUudmlld3BvcnRcblxuICBmb3IgKGxldCBmaXJzdCA9IHRydWU7OyBmaXJzdCA9IGZhbHNlKSB7XG4gICAgaWYgKCFmaXJzdCB8fCAhY20ub3B0aW9ucy5saW5lV3JhcHBpbmcgfHwgdXBkYXRlLm9sZERpc3BsYXlXaWR0aCA9PSBkaXNwbGF5V2lkdGgoY20pKSB7XG4gICAgICAvLyBDbGlwIGZvcmNlZCB2aWV3cG9ydCB0byBhY3R1YWwgc2Nyb2xsYWJsZSBhcmVhLlxuICAgICAgaWYgKHZpZXdwb3J0ICYmIHZpZXdwb3J0LnRvcCAhPSBudWxsKVxuICAgICAgICB2aWV3cG9ydCA9IHt0b3A6IE1hdGgubWluKGNtLmRvYy5oZWlnaHQgKyBwYWRkaW5nVmVydChjbS5kaXNwbGF5KSAtIGRpc3BsYXlIZWlnaHQoY20pLCB2aWV3cG9ydC50b3ApfVxuICAgICAgLy8gVXBkYXRlZCBsaW5lIGhlaWdodHMgbWlnaHQgcmVzdWx0IGluIHRoZSBkcmF3biBhcmVhIG5vdFxuICAgICAgLy8gYWN0dWFsbHkgY292ZXJpbmcgdGhlIHZpZXdwb3J0LiBLZWVwIGxvb3BpbmcgdW50aWwgaXQgZG9lcy5cbiAgICAgIHVwZGF0ZS52aXNpYmxlID0gdmlzaWJsZUxpbmVzKGNtLmRpc3BsYXksIGNtLmRvYywgdmlld3BvcnQpXG4gICAgICBpZiAodXBkYXRlLnZpc2libGUuZnJvbSA+PSBjbS5kaXNwbGF5LnZpZXdGcm9tICYmIHVwZGF0ZS52aXNpYmxlLnRvIDw9IGNtLmRpc3BsYXkudmlld1RvKVxuICAgICAgICBicmVha1xuICAgIH1cbiAgICBpZiAoIXVwZGF0ZURpc3BsYXlJZk5lZWRlZChjbSwgdXBkYXRlKSkgYnJlYWtcbiAgICB1cGRhdGVIZWlnaHRzSW5WaWV3cG9ydChjbSlcbiAgICBsZXQgYmFyTWVhc3VyZSA9IG1lYXN1cmVGb3JTY3JvbGxiYXJzKGNtKVxuICAgIHVwZGF0ZVNlbGVjdGlvbihjbSlcbiAgICB1cGRhdGVTY3JvbGxiYXJzKGNtLCBiYXJNZWFzdXJlKVxuICAgIHNldERvY3VtZW50SGVpZ2h0KGNtLCBiYXJNZWFzdXJlKVxuICAgIHVwZGF0ZS5mb3JjZSA9IGZhbHNlXG4gIH1cblxuICB1cGRhdGUuc2lnbmFsKGNtLCBcInVwZGF0ZVwiLCBjbSlcbiAgaWYgKGNtLmRpc3BsYXkudmlld0Zyb20gIT0gY20uZGlzcGxheS5yZXBvcnRlZFZpZXdGcm9tIHx8IGNtLmRpc3BsYXkudmlld1RvICE9IGNtLmRpc3BsYXkucmVwb3J0ZWRWaWV3VG8pIHtcbiAgICB1cGRhdGUuc2lnbmFsKGNtLCBcInZpZXdwb3J0Q2hhbmdlXCIsIGNtLCBjbS5kaXNwbGF5LnZpZXdGcm9tLCBjbS5kaXNwbGF5LnZpZXdUbylcbiAgICBjbS5kaXNwbGF5LnJlcG9ydGVkVmlld0Zyb20gPSBjbS5kaXNwbGF5LnZpZXdGcm9tOyBjbS5kaXNwbGF5LnJlcG9ydGVkVmlld1RvID0gY20uZGlzcGxheS52aWV3VG9cbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdXBkYXRlRGlzcGxheVNpbXBsZShjbSwgdmlld3BvcnQpIHtcbiAgbGV0IHVwZGF0ZSA9IG5ldyBEaXNwbGF5VXBkYXRlKGNtLCB2aWV3cG9ydClcbiAgaWYgKHVwZGF0ZURpc3BsYXlJZk5lZWRlZChjbSwgdXBkYXRlKSkge1xuICAgIHVwZGF0ZUhlaWdodHNJblZpZXdwb3J0KGNtKVxuICAgIHBvc3RVcGRhdGVEaXNwbGF5KGNtLCB1cGRhdGUpXG4gICAgbGV0IGJhck1lYXN1cmUgPSBtZWFzdXJlRm9yU2Nyb2xsYmFycyhjbSlcbiAgICB1cGRhdGVTZWxlY3Rpb24oY20pXG4gICAgdXBkYXRlU2Nyb2xsYmFycyhjbSwgYmFyTWVhc3VyZSlcbiAgICBzZXREb2N1bWVudEhlaWdodChjbSwgYmFyTWVhc3VyZSlcbiAgICB1cGRhdGUuZmluaXNoKClcbiAgfVxufVxuXG4vLyBTeW5jIHRoZSBhY3R1YWwgZGlzcGxheSBET00gc3RydWN0dXJlIHdpdGggZGlzcGxheS52aWV3LCByZW1vdmluZ1xuLy8gbm9kZXMgZm9yIGxpbmVzIHRoYXQgYXJlIG5vIGxvbmdlciBpbiB2aWV3LCBhbmQgY3JlYXRpbmcgdGhlIG9uZXNcbi8vIHRoYXQgYXJlIG5vdCB0aGVyZSB5ZXQsIGFuZCB1cGRhdGluZyB0aGUgb25lcyB0aGF0IGFyZSBvdXQgb2Zcbi8vIGRhdGUuXG5mdW5jdGlvbiBwYXRjaERpc3BsYXkoY20sIHVwZGF0ZU51bWJlcnNGcm9tLCBkaW1zKSB7XG4gIGxldCBkaXNwbGF5ID0gY20uZGlzcGxheSwgbGluZU51bWJlcnMgPSBjbS5vcHRpb25zLmxpbmVOdW1iZXJzXG4gIGxldCBjb250YWluZXIgPSBkaXNwbGF5LmxpbmVEaXYsIGN1ciA9IGNvbnRhaW5lci5maXJzdENoaWxkXG5cbiAgZnVuY3Rpb24gcm0obm9kZSkge1xuICAgIGxldCBuZXh0ID0gbm9kZS5uZXh0U2libGluZ1xuICAgIC8vIFdvcmtzIGFyb3VuZCBhIHRocm93LXNjcm9sbCBidWcgaW4gT1MgWCBXZWJraXRcbiAgICBpZiAod2Via2l0ICYmIG1hYyAmJiBjbS5kaXNwbGF5LmN1cnJlbnRXaGVlbFRhcmdldCA9PSBub2RlKVxuICAgICAgbm9kZS5zdHlsZS5kaXNwbGF5ID0gXCJub25lXCJcbiAgICBlbHNlXG4gICAgICBub2RlLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQobm9kZSlcbiAgICByZXR1cm4gbmV4dFxuICB9XG5cbiAgbGV0IHZpZXcgPSBkaXNwbGF5LnZpZXcsIGxpbmVOID0gZGlzcGxheS52aWV3RnJvbVxuICAvLyBMb29wIG92ZXIgdGhlIGVsZW1lbnRzIGluIHRoZSB2aWV3LCBzeW5jaW5nIGN1ciAodGhlIERPTSBub2Rlc1xuICAvLyBpbiBkaXNwbGF5LmxpbmVEaXYpIHdpdGggdGhlIHZpZXcgYXMgd2UgZ28uXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgdmlldy5sZW5ndGg7IGkrKykge1xuICAgIGxldCBsaW5lVmlldyA9IHZpZXdbaV1cbiAgICBpZiAobGluZVZpZXcuaGlkZGVuKSB7XG4gICAgfSBlbHNlIGlmICghbGluZVZpZXcubm9kZSB8fCBsaW5lVmlldy5ub2RlLnBhcmVudE5vZGUgIT0gY29udGFpbmVyKSB7IC8vIE5vdCBkcmF3biB5ZXRcbiAgICAgIGxldCBub2RlID0gYnVpbGRMaW5lRWxlbWVudChjbSwgbGluZVZpZXcsIGxpbmVOLCBkaW1zKVxuICAgICAgY29udGFpbmVyLmluc2VydEJlZm9yZShub2RlLCBjdXIpXG4gICAgfSBlbHNlIHsgLy8gQWxyZWFkeSBkcmF3blxuICAgICAgd2hpbGUgKGN1ciAhPSBsaW5lVmlldy5ub2RlKSBjdXIgPSBybShjdXIpXG4gICAgICBsZXQgdXBkYXRlTnVtYmVyID0gbGluZU51bWJlcnMgJiYgdXBkYXRlTnVtYmVyc0Zyb20gIT0gbnVsbCAmJlxuICAgICAgICB1cGRhdGVOdW1iZXJzRnJvbSA8PSBsaW5lTiAmJiBsaW5lVmlldy5saW5lTnVtYmVyXG4gICAgICBpZiAobGluZVZpZXcuY2hhbmdlcykge1xuICAgICAgICBpZiAoaW5kZXhPZihsaW5lVmlldy5jaGFuZ2VzLCBcImd1dHRlclwiKSA+IC0xKSB1cGRhdGVOdW1iZXIgPSBmYWxzZVxuICAgICAgICB1cGRhdGVMaW5lRm9yQ2hhbmdlcyhjbSwgbGluZVZpZXcsIGxpbmVOLCBkaW1zKVxuICAgICAgfVxuICAgICAgaWYgKHVwZGF0ZU51bWJlcikge1xuICAgICAgICByZW1vdmVDaGlsZHJlbihsaW5lVmlldy5saW5lTnVtYmVyKVxuICAgICAgICBsaW5lVmlldy5saW5lTnVtYmVyLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGxpbmVOdW1iZXJGb3IoY20ub3B0aW9ucywgbGluZU4pKSlcbiAgICAgIH1cbiAgICAgIGN1ciA9IGxpbmVWaWV3Lm5vZGUubmV4dFNpYmxpbmdcbiAgICB9XG4gICAgbGluZU4gKz0gbGluZVZpZXcuc2l6ZVxuICB9XG4gIHdoaWxlIChjdXIpIGN1ciA9IHJtKGN1cilcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVwZGF0ZUd1dHRlclNwYWNlKGRpc3BsYXkpIHtcbiAgbGV0IHdpZHRoID0gZGlzcGxheS5ndXR0ZXJzLm9mZnNldFdpZHRoXG4gIGRpc3BsYXkuc2l6ZXIuc3R5bGUubWFyZ2luTGVmdCA9IHdpZHRoICsgXCJweFwiXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXREb2N1bWVudEhlaWdodChjbSwgbWVhc3VyZSkge1xuICBjbS5kaXNwbGF5LnNpemVyLnN0eWxlLm1pbkhlaWdodCA9IG1lYXN1cmUuZG9jSGVpZ2h0ICsgXCJweFwiXG4gIGNtLmRpc3BsYXkuaGVpZ2h0Rm9yY2VyLnN0eWxlLnRvcCA9IG1lYXN1cmUuZG9jSGVpZ2h0ICsgXCJweFwiXG4gIGNtLmRpc3BsYXkuZ3V0dGVycy5zdHlsZS5oZWlnaHQgPSAobWVhc3VyZS5kb2NIZWlnaHQgKyBjbS5kaXNwbGF5LmJhckhlaWdodCArIHNjcm9sbEdhcChjbSkpICsgXCJweFwiXG59XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUVBO0FBQ0E7QUF4QkE7QUEwQkE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFEQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFLQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUVBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFLQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUdBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBSEE7QUFHQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/codemirror/src/display/update_display.js\n"); /***/ }), /***/ "./node_modules/codemirror/src/display/update_line.js": /*!************************************************************!*\ !*** ./node_modules/codemirror/src/display/update_line.js ***! \************************************************************/ /*! exports provided: updateLineForChanges, buildLineElement */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"updateLineForChanges\", function() { return updateLineForChanges; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"buildLineElement\", function() { return buildLineElement; });\n/* harmony import */ var _line_line_data_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../line/line_data.js */ \"./node_modules/codemirror/src/line/line_data.js\");\n/* harmony import */ var _line_utils_line_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../line/utils_line.js */ \"./node_modules/codemirror/src/line/utils_line.js\");\n/* harmony import */ var _util_browser_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../util/browser.js */ \"./node_modules/codemirror/src/util/browser.js\");\n/* harmony import */ var _util_dom_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../util/dom.js */ \"./node_modules/codemirror/src/util/dom.js\");\n/* harmony import */ var _util_operation_group_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../util/operation_group.js */ \"./node_modules/codemirror/src/util/operation_group.js\");\n\n\n\n\n // When an aspect of a line changes, a string is added to\n// lineView.changes. This updates the relevant part of the line's\n// DOM structure.\n\nfunction updateLineForChanges(cm, lineView, lineN, dims) {\n for (let j = 0; j < lineView.changes.length; j++) {\n let type = lineView.changes[j];\n if (type == \"text\") updateLineText(cm, lineView);else if (type == \"gutter\") updateLineGutter(cm, lineView, lineN, dims);else if (type == \"class\") updateLineClasses(cm, lineView);else if (type == \"widget\") updateLineWidgets(cm, lineView, dims);\n }\n\n lineView.changes = null;\n} // Lines with gutter elements, widgets or a background class need to\n// be wrapped, and have the extra elements added to the wrapper div\n\nfunction ensureLineWrapped(lineView) {\n if (lineView.node == lineView.text) {\n lineView.node = Object(_util_dom_js__WEBPACK_IMPORTED_MODULE_3__[\"elt\"])(\"div\", null, null, \"position: relative\");\n if (lineView.text.parentNode) lineView.text.parentNode.replaceChild(lineView.node, lineView.text);\n lineView.node.appendChild(lineView.text);\n if (_util_browser_js__WEBPACK_IMPORTED_MODULE_2__[\"ie\"] && _util_browser_js__WEBPACK_IMPORTED_MODULE_2__[\"ie_version\"] < 8) lineView.node.style.zIndex = 2;\n }\n\n return lineView.node;\n}\n\nfunction updateLineBackground(cm, lineView) {\n let cls = lineView.bgClass ? lineView.bgClass + \" \" + (lineView.line.bgClass || \"\") : lineView.line.bgClass;\n if (cls) cls += \" CodeMirror-linebackground\";\n\n if (lineView.background) {\n if (cls) lineView.background.className = cls;else {\n lineView.background.parentNode.removeChild(lineView.background);\n lineView.background = null;\n }\n } else if (cls) {\n let wrap = ensureLineWrapped(lineView);\n lineView.background = wrap.insertBefore(Object(_util_dom_js__WEBPACK_IMPORTED_MODULE_3__[\"elt\"])(\"div\", null, cls), wrap.firstChild);\n cm.display.input.setUneditable(lineView.background);\n }\n} // Wrapper around buildLineContent which will reuse the structure\n// in display.externalMeasured when possible.\n\n\nfunction getLineContent(cm, lineView) {\n let ext = cm.display.externalMeasured;\n\n if (ext && ext.line == lineView.line) {\n cm.display.externalMeasured = null;\n lineView.measure = ext.measure;\n return ext.built;\n }\n\n return Object(_line_line_data_js__WEBPACK_IMPORTED_MODULE_0__[\"buildLineContent\"])(cm, lineView);\n} // Redraw the line's text. Interacts with the background and text\n// classes because the mode may output tokens that influence these\n// classes.\n\n\nfunction updateLineText(cm, lineView) {\n let cls = lineView.text.className;\n let built = getLineContent(cm, lineView);\n if (lineView.text == lineView.node) lineView.node = built.pre;\n lineView.text.parentNode.replaceChild(built.pre, lineView.text);\n lineView.text = built.pre;\n\n if (built.bgClass != lineView.bgClass || built.textClass != lineView.textClass) {\n lineView.bgClass = built.bgClass;\n lineView.textClass = built.textClass;\n updateLineClasses(cm, lineView);\n } else if (cls) {\n lineView.text.className = cls;\n }\n}\n\nfunction updateLineClasses(cm, lineView) {\n updateLineBackground(cm, lineView);\n if (lineView.line.wrapClass) ensureLineWrapped(lineView).className = lineView.line.wrapClass;else if (lineView.node != lineView.text) lineView.node.className = \"\";\n let textClass = lineView.textClass ? lineView.textClass + \" \" + (lineView.line.textClass || \"\") : lineView.line.textClass;\n lineView.text.className = textClass || \"\";\n}\n\nfunction updateLineGutter(cm, lineView, lineN, dims) {\n if (lineView.gutter) {\n lineView.node.removeChild(lineView.gutter);\n lineView.gutter = null;\n }\n\n if (lineView.gutterBackground) {\n lineView.node.removeChild(lineView.gutterBackground);\n lineView.gutterBackground = null;\n }\n\n if (lineView.line.gutterClass) {\n let wrap = ensureLineWrapped(lineView);\n lineView.gutterBackground = Object(_util_dom_js__WEBPACK_IMPORTED_MODULE_3__[\"elt\"])(\"div\", null, \"CodeMirror-gutter-background \" + lineView.line.gutterClass, `left: ${cm.options.fixedGutter ? dims.fixedPos : -dims.gutterTotalWidth}px; width: ${dims.gutterTotalWidth}px`);\n cm.display.input.setUneditable(lineView.gutterBackground);\n wrap.insertBefore(lineView.gutterBackground, lineView.text);\n }\n\n let markers = lineView.line.gutterMarkers;\n\n if (cm.options.lineNumbers || markers) {\n let wrap = ensureLineWrapped(lineView);\n let gutterWrap = lineView.gutter = Object(_util_dom_js__WEBPACK_IMPORTED_MODULE_3__[\"elt\"])(\"div\", null, \"CodeMirror-gutter-wrapper\", `left: ${cm.options.fixedGutter ? dims.fixedPos : -dims.gutterTotalWidth}px`);\n cm.display.input.setUneditable(gutterWrap);\n wrap.insertBefore(gutterWrap, lineView.text);\n if (lineView.line.gutterClass) gutterWrap.className += \" \" + lineView.line.gutterClass;\n if (cm.options.lineNumbers && (!markers || !markers[\"CodeMirror-linenumbers\"])) lineView.lineNumber = gutterWrap.appendChild(Object(_util_dom_js__WEBPACK_IMPORTED_MODULE_3__[\"elt\"])(\"div\", Object(_line_utils_line_js__WEBPACK_IMPORTED_MODULE_1__[\"lineNumberFor\"])(cm.options, lineN), \"CodeMirror-linenumber CodeMirror-gutter-elt\", `left: ${dims.gutterLeft[\"CodeMirror-linenumbers\"]}px; width: ${cm.display.lineNumInnerWidth}px`));\n if (markers) for (let k = 0; k < cm.display.gutterSpecs.length; ++k) {\n let id = cm.display.gutterSpecs[k].className,\n found = markers.hasOwnProperty(id) && markers[id];\n if (found) gutterWrap.appendChild(Object(_util_dom_js__WEBPACK_IMPORTED_MODULE_3__[\"elt\"])(\"div\", [found], \"CodeMirror-gutter-elt\", `left: ${dims.gutterLeft[id]}px; width: ${dims.gutterWidth[id]}px`));\n }\n }\n}\n\nfunction updateLineWidgets(cm, lineView, dims) {\n if (lineView.alignable) lineView.alignable = null;\n\n for (let node = lineView.node.firstChild, next; node; node = next) {\n next = node.nextSibling;\n if (node.className == \"CodeMirror-linewidget\") lineView.node.removeChild(node);\n }\n\n insertLineWidgets(cm, lineView, dims);\n} // Build a line's DOM representation from scratch\n\n\nfunction buildLineElement(cm, lineView, lineN, dims) {\n let built = getLineContent(cm, lineView);\n lineView.text = lineView.node = built.pre;\n if (built.bgClass) lineView.bgClass = built.bgClass;\n if (built.textClass) lineView.textClass = built.textClass;\n updateLineClasses(cm, lineView);\n updateLineGutter(cm, lineView, lineN, dims);\n insertLineWidgets(cm, lineView, dims);\n return lineView.node;\n} // A lineView may contain multiple logical lines (when merged by\n// collapsed spans). The widgets for all of them need to be drawn.\n\nfunction insertLineWidgets(cm, lineView, dims) {\n insertLineWidgetsFor(cm, lineView.line, lineView, dims, true);\n if (lineView.rest) for (let i = 0; i < lineView.rest.length; i++) insertLineWidgetsFor(cm, lineView.rest[i], lineView, dims, false);\n}\n\nfunction insertLineWidgetsFor(cm, line, lineView, dims, allowAbove) {\n if (!line.widgets) return;\n let wrap = ensureLineWrapped(lineView);\n\n for (let i = 0, ws = line.widgets; i < ws.length; ++i) {\n let widget = ws[i],\n node = Object(_util_dom_js__WEBPACK_IMPORTED_MODULE_3__[\"elt\"])(\"div\", [widget.node], \"CodeMirror-linewidget\");\n if (!widget.handleMouseEvents) node.setAttribute(\"cm-ignore-events\", \"true\");\n positionLineWidget(widget, node, lineView, dims);\n cm.display.input.setUneditable(node);\n if (allowAbove && widget.above) wrap.insertBefore(node, lineView.gutter || lineView.text);else wrap.appendChild(node);\n Object(_util_operation_group_js__WEBPACK_IMPORTED_MODULE_4__[\"signalLater\"])(widget, \"redraw\");\n }\n}\n\nfunction positionLineWidget(widget, node, lineView, dims) {\n if (widget.noHScroll) {\n ;\n (lineView.alignable || (lineView.alignable = [])).push(node);\n let width = dims.wrapperWidth;\n node.style.left = dims.fixedPos + \"px\";\n\n if (!widget.coverGutter) {\n width -= dims.gutterTotalWidth;\n node.style.paddingLeft = dims.gutterTotalWidth + \"px\";\n }\n\n node.style.width = width + \"px\";\n }\n\n if (widget.coverGutter) {\n node.style.zIndex = 5;\n node.style.position = \"relative\";\n if (!widget.noHScroll) node.style.marginLeft = -dims.gutterTotalWidth + \"px\";\n }\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9zcmMvZGlzcGxheS91cGRhdGVfbGluZS5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb2RlbWlycm9yL3NyYy9kaXNwbGF5L3VwZGF0ZV9saW5lLmpzP2NkOTIiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYnVpbGRMaW5lQ29udGVudCB9IGZyb20gXCIuLi9saW5lL2xpbmVfZGF0YS5qc1wiXG5pbXBvcnQgeyBsaW5lTnVtYmVyRm9yIH0gZnJvbSBcIi4uL2xpbmUvdXRpbHNfbGluZS5qc1wiXG5pbXBvcnQgeyBpZSwgaWVfdmVyc2lvbiB9IGZyb20gXCIuLi91dGlsL2Jyb3dzZXIuanNcIlxuaW1wb3J0IHsgZWx0IH0gZnJvbSBcIi4uL3V0aWwvZG9tLmpzXCJcbmltcG9ydCB7IHNpZ25hbExhdGVyIH0gZnJvbSBcIi4uL3V0aWwvb3BlcmF0aW9uX2dyb3VwLmpzXCJcblxuLy8gV2hlbiBhbiBhc3BlY3Qgb2YgYSBsaW5lIGNoYW5nZXMsIGEgc3RyaW5nIGlzIGFkZGVkIHRvXG4vLyBsaW5lVmlldy5jaGFuZ2VzLiBUaGlzIHVwZGF0ZXMgdGhlIHJlbGV2YW50IHBhcnQgb2YgdGhlIGxpbmUnc1xuLy8gRE9NIHN0cnVjdHVyZS5cbmV4cG9ydCBmdW5jdGlvbiB1cGRhdGVMaW5lRm9yQ2hhbmdlcyhjbSwgbGluZVZpZXcsIGxpbmVOLCBkaW1zKSB7XG4gIGZvciAobGV0IGogPSAwOyBqIDwgbGluZVZpZXcuY2hhbmdlcy5sZW5ndGg7IGorKykge1xuICAgIGxldCB0eXBlID0gbGluZVZpZXcuY2hhbmdlc1tqXVxuICAgIGlmICh0eXBlID09IFwidGV4dFwiKSB1cGRhdGVMaW5lVGV4dChjbSwgbGluZVZpZXcpXG4gICAgZWxzZSBpZiAodHlwZSA9PSBcImd1dHRlclwiKSB1cGRhdGVMaW5lR3V0dGVyKGNtLCBsaW5lVmlldywgbGluZU4sIGRpbXMpXG4gICAgZWxzZSBpZiAodHlwZSA9PSBcImNsYXNzXCIpIHVwZGF0ZUxpbmVDbGFzc2VzKGNtLCBsaW5lVmlldylcbiAgICBlbHNlIGlmICh0eXBlID09IFwid2lkZ2V0XCIpIHVwZGF0ZUxpbmVXaWRnZXRzKGNtLCBsaW5lVmlldywgZGltcylcbiAgfVxuICBsaW5lVmlldy5jaGFuZ2VzID0gbnVsbFxufVxuXG4vLyBMaW5lcyB3aXRoIGd1dHRlciBlbGVtZW50cywgd2lkZ2V0cyBvciBhIGJhY2tncm91bmQgY2xhc3MgbmVlZCB0b1xuLy8gYmUgd3JhcHBlZCwgYW5kIGhhdmUgdGhlIGV4dHJhIGVsZW1lbnRzIGFkZGVkIHRvIHRoZSB3cmFwcGVyIGRpdlxuZnVuY3Rpb24gZW5zdXJlTGluZVdyYXBwZWQobGluZVZpZXcpIHtcbiAgaWYgKGxpbmVWaWV3Lm5vZGUgPT0gbGluZVZpZXcudGV4dCkge1xuICAgIGxpbmVWaWV3Lm5vZGUgPSBlbHQoXCJkaXZcIiwgbnVsbCwgbnVsbCwgXCJwb3NpdGlvbjogcmVsYXRpdmVcIilcbiAgICBpZiAobGluZVZpZXcudGV4dC5wYXJlbnROb2RlKVxuICAgICAgbGluZVZpZXcudGV4dC5wYXJlbnROb2RlLnJlcGxhY2VDaGlsZChsaW5lVmlldy5ub2RlLCBsaW5lVmlldy50ZXh0KVxuICAgIGxpbmVWaWV3Lm5vZGUuYXBwZW5kQ2hpbGQobGluZVZpZXcudGV4dClcbiAgICBpZiAoaWUgJiYgaWVfdmVyc2lvbiA8IDgpIGxpbmVWaWV3Lm5vZGUuc3R5bGUuekluZGV4ID0gMlxuICB9XG4gIHJldHVybiBsaW5lVmlldy5ub2RlXG59XG5cbmZ1bmN0aW9uIHVwZGF0ZUxpbmVCYWNrZ3JvdW5kKGNtLCBsaW5lVmlldykge1xuICBsZXQgY2xzID0gbGluZVZpZXcuYmdDbGFzcyA/IGxpbmVWaWV3LmJnQ2xhc3MgKyBcIiBcIiArIChsaW5lVmlldy5saW5lLmJnQ2xhc3MgfHwgXCJcIikgOiBsaW5lVmlldy5saW5lLmJnQ2xhc3NcbiAgaWYgKGNscykgY2xzICs9IFwiIENvZGVNaXJyb3ItbGluZWJhY2tncm91bmRcIlxuICBpZiAobGluZVZpZXcuYmFja2dyb3VuZCkge1xuICAgIGlmIChjbHMpIGxpbmVWaWV3LmJhY2tncm91bmQuY2xhc3NOYW1lID0gY2xzXG4gICAgZWxzZSB7IGxpbmVWaWV3LmJhY2tncm91bmQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChsaW5lVmlldy5iYWNrZ3JvdW5kKTsgbGluZVZpZXcuYmFja2dyb3VuZCA9IG51bGwgfVxuICB9IGVsc2UgaWYgKGNscykge1xuICAgIGxldCB3cmFwID0gZW5zdXJlTGluZVdyYXBwZWQobGluZVZpZXcpXG4gICAgbGluZVZpZXcuYmFja2dyb3VuZCA9IHdyYXAuaW5zZXJ0QmVmb3JlKGVsdChcImRpdlwiLCBudWxsLCBjbHMpLCB3cmFwLmZpcnN0Q2hpbGQpXG4gICAgY20uZGlzcGxheS5pbnB1dC5zZXRVbmVkaXRhYmxlKGxpbmVWaWV3LmJhY2tncm91bmQpXG4gIH1cbn1cblxuLy8gV3JhcHBlciBhcm91bmQgYnVpbGRMaW5lQ29udGVudCB3aGljaCB3aWxsIHJldXNlIHRoZSBzdHJ1Y3R1cmVcbi8vIGluIGRpc3BsYXkuZXh0ZXJuYWxNZWFzdXJlZCB3aGVuIHBvc3NpYmxlLlxuZnVuY3Rpb24gZ2V0TGluZUNvbnRlbnQoY20sIGxpbmVWaWV3KSB7XG4gIGxldCBleHQgPSBjbS5kaXNwbGF5LmV4dGVybmFsTWVhc3VyZWRcbiAgaWYgKGV4dCAmJiBleHQubGluZSA9PSBsaW5lVmlldy5saW5lKSB7XG4gICAgY20uZGlzcGxheS5leHRlcm5hbE1lYXN1cmVkID0gbnVsbFxuICAgIGxpbmVWaWV3Lm1lYXN1cmUgPSBleHQubWVhc3VyZVxuICAgIHJldHVybiBleHQuYnVpbHRcbiAgfVxuICByZXR1cm4gYnVpbGRMaW5lQ29udGVudChjbSwgbGluZVZpZXcpXG59XG5cbi8vIFJlZHJhdyB0aGUgbGluZSdzIHRleHQuIEludGVyYWN0cyB3aXRoIHRoZSBiYWNrZ3JvdW5kIGFuZCB0ZXh0XG4vLyBjbGFzc2VzIGJlY2F1c2UgdGhlIG1vZGUgbWF5IG91dHB1dCB0b2tlbnMgdGhhdCBpbmZsdWVuY2UgdGhlc2Vcbi8vIGNsYXNzZXMuXG5mdW5jdGlvbiB1cGRhdGVMaW5lVGV4dChjbSwgbGluZVZpZXcpIHtcbiAgbGV0IGNscyA9IGxpbmVWaWV3LnRleHQuY2xhc3NOYW1lXG4gIGxldCBidWlsdCA9IGdldExpbmVDb250ZW50KGNtLCBsaW5lVmlldylcbiAgaWYgKGxpbmVWaWV3LnRleHQgPT0gbGluZVZpZXcubm9kZSkgbGluZVZpZXcubm9kZSA9IGJ1aWx0LnByZVxuICBsaW5lVmlldy50ZXh0LnBhcmVudE5vZGUucmVwbGFjZUNoaWxkKGJ1aWx0LnByZSwgbGluZVZpZXcudGV4dClcbiAgbGluZVZpZXcudGV4dCA9IGJ1aWx0LnByZVxuICBpZiAoYnVpbHQuYmdDbGFzcyAhPSBsaW5lVmlldy5iZ0NsYXNzIHx8IGJ1aWx0LnRleHRDbGFzcyAhPSBsaW5lVmlldy50ZXh0Q2xhc3MpIHtcbiAgICBsaW5lVmlldy5iZ0NsYXNzID0gYnVpbHQuYmdDbGFzc1xuICAgIGxpbmVWaWV3LnRleHRDbGFzcyA9IGJ1aWx0LnRleHRDbGFzc1xuICAgIHVwZGF0ZUxpbmVDbGFzc2VzKGNtLCBsaW5lVmlldylcbiAgfSBlbHNlIGlmIChjbHMpIHtcbiAgICBsaW5lVmlldy50ZXh0LmNsYXNzTmFtZSA9IGNsc1xuICB9XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZUxpbmVDbGFzc2VzKGNtLCBsaW5lVmlldykge1xuICB1cGRhdGVMaW5lQmFja2dyb3VuZChjbSwgbGluZVZpZXcpXG4gIGlmIChsaW5lVmlldy5saW5lLndyYXBDbGFzcylcbiAgICBlbnN1cmVMaW5lV3JhcHBlZChsaW5lVmlldykuY2xhc3NOYW1lID0gbGluZVZpZXcubGluZS53cmFwQ2xhc3NcbiAgZWxzZSBpZiAobGluZVZpZXcubm9kZSAhPSBsaW5lVmlldy50ZXh0KVxuICAgIGxpbmVWaWV3Lm5vZGUuY2xhc3NOYW1lID0gXCJcIlxuICBsZXQgdGV4dENsYXNzID0gbGluZVZpZXcudGV4dENsYXNzID8gbGluZVZpZXcudGV4dENsYXNzICsgXCIgXCIgKyAobGluZVZpZXcubGluZS50ZXh0Q2xhc3MgfHwgXCJcIikgOiBsaW5lVmlldy5saW5lLnRleHRDbGFzc1xuICBsaW5lVmlldy50ZXh0LmNsYXNzTmFtZSA9IHRleHRDbGFzcyB8fCBcIlwiXG59XG5cbmZ1bmN0aW9uIHVwZGF0ZUxpbmVHdXR0ZXIoY20sIGxpbmVWaWV3LCBsaW5lTiwgZGltcykge1xuICBpZiAobGluZVZpZXcuZ3V0dGVyKSB7XG4gICAgbGluZVZpZXcubm9kZS5yZW1vdmVDaGlsZChsaW5lVmlldy5ndXR0ZXIpXG4gICAgbGluZVZpZXcuZ3V0dGVyID0gbnVsbFxuICB9XG4gIGlmIChsaW5lVmlldy5ndXR0ZXJCYWNrZ3JvdW5kKSB7XG4gICAgbGluZVZpZXcubm9kZS5yZW1vdmVDaGlsZChsaW5lVmlldy5ndXR0ZXJCYWNrZ3JvdW5kKVxuICAgIGxpbmVWaWV3Lmd1dHRlckJhY2tncm91bmQgPSBudWxsXG4gIH1cbiAgaWYgKGxpbmVWaWV3LmxpbmUuZ3V0dGVyQ2xhc3MpIHtcbiAgICBsZXQgd3JhcCA9IGVuc3VyZUxpbmVXcmFwcGVkKGxpbmVWaWV3KVxuICAgIGxpbmVWaWV3Lmd1dHRlckJhY2tncm91bmQgPSBlbHQoXCJkaXZcIiwgbnVsbCwgXCJDb2RlTWlycm9yLWd1dHRlci1iYWNrZ3JvdW5kIFwiICsgbGluZVZpZXcubGluZS5ndXR0ZXJDbGFzcyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBsZWZ0OiAke2NtLm9wdGlvbnMuZml4ZWRHdXR0ZXIgPyBkaW1zLmZpeGVkUG9zIDogLWRpbXMuZ3V0dGVyVG90YWxXaWR0aH1weDsgd2lkdGg6ICR7ZGltcy5ndXR0ZXJUb3RhbFdpZHRofXB4YClcbiAgICBjbS5kaXNwbGF5LmlucHV0LnNldFVuZWRpdGFibGUobGluZVZpZXcuZ3V0dGVyQmFja2dyb3VuZClcbiAgICB3cmFwLmluc2VydEJlZm9yZShsaW5lVmlldy5ndXR0ZXJCYWNrZ3JvdW5kLCBsaW5lVmlldy50ZXh0KVxuICB9XG4gIGxldCBtYXJrZXJzID0gbGluZVZpZXcubGluZS5ndXR0ZXJNYXJrZXJzXG4gIGlmIChjbS5vcHRpb25zLmxpbmVOdW1iZXJzIHx8IG1hcmtlcnMpIHtcbiAgICBsZXQgd3JhcCA9IGVuc3VyZUxpbmVXcmFwcGVkKGxpbmVWaWV3KVxuICAgIGxldCBndXR0ZXJXcmFwID0gbGluZVZpZXcuZ3V0dGVyID0gZWx0KFwiZGl2XCIsIG51bGwsIFwiQ29kZU1pcnJvci1ndXR0ZXItd3JhcHBlclwiLCBgbGVmdDogJHtjbS5vcHRpb25zLmZpeGVkR3V0dGVyID8gZGltcy5maXhlZFBvcyA6IC1kaW1zLmd1dHRlclRvdGFsV2lkdGh9cHhgKVxuICAgIGNtLmRpc3BsYXkuaW5wdXQuc2V0VW5lZGl0YWJsZShndXR0ZXJXcmFwKVxuICAgIHdyYXAuaW5zZXJ0QmVmb3JlKGd1dHRlcldyYXAsIGxpbmVWaWV3LnRleHQpXG4gICAgaWYgKGxpbmVWaWV3LmxpbmUuZ3V0dGVyQ2xhc3MpXG4gICAgICBndXR0ZXJXcmFwLmNsYXNzTmFtZSArPSBcIiBcIiArIGxpbmVWaWV3LmxpbmUuZ3V0dGVyQ2xhc3NcbiAgICBpZiAoY20ub3B0aW9ucy5saW5lTnVtYmVycyAmJiAoIW1hcmtlcnMgfHwgIW1hcmtlcnNbXCJDb2RlTWlycm9yLWxpbmVudW1iZXJzXCJdKSlcbiAgICAgIGxpbmVWaWV3LmxpbmVOdW1iZXIgPSBndXR0ZXJXcmFwLmFwcGVuZENoaWxkKFxuICAgICAgICBlbHQoXCJkaXZcIiwgbGluZU51bWJlckZvcihjbS5vcHRpb25zLCBsaW5lTiksXG4gICAgICAgICAgICBcIkNvZGVNaXJyb3ItbGluZW51bWJlciBDb2RlTWlycm9yLWd1dHRlci1lbHRcIixcbiAgICAgICAgICAgIGBsZWZ0OiAke2RpbXMuZ3V0dGVyTGVmdFtcIkNvZGVNaXJyb3ItbGluZW51bWJlcnNcIl19cHg7IHdpZHRoOiAke2NtLmRpc3BsYXkubGluZU51bUlubmVyV2lkdGh9cHhgKSlcbiAgICBpZiAobWFya2VycykgZm9yIChsZXQgayA9IDA7IGsgPCBjbS5kaXNwbGF5Lmd1dHRlclNwZWNzLmxlbmd0aDsgKytrKSB7XG4gICAgICBsZXQgaWQgPSBjbS5kaXNwbGF5Lmd1dHRlclNwZWNzW2tdLmNsYXNzTmFtZSwgZm91bmQgPSBtYXJrZXJzLmhhc093blByb3BlcnR5KGlkKSAmJiBtYXJrZXJzW2lkXVxuICAgICAgaWYgKGZvdW5kKVxuICAgICAgICBndXR0ZXJXcmFwLmFwcGVuZENoaWxkKGVsdChcImRpdlwiLCBbZm91bmRdLCBcIkNvZGVNaXJyb3ItZ3V0dGVyLWVsdFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgbGVmdDogJHtkaW1zLmd1dHRlckxlZnRbaWRdfXB4OyB3aWR0aDogJHtkaW1zLmd1dHRlcldpZHRoW2lkXX1weGApKVxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiB1cGRhdGVMaW5lV2lkZ2V0cyhjbSwgbGluZVZpZXcsIGRpbXMpIHtcbiAgaWYgKGxpbmVWaWV3LmFsaWduYWJsZSkgbGluZVZpZXcuYWxpZ25hYmxlID0gbnVsbFxuICBmb3IgKGxldCBub2RlID0gbGluZVZpZXcubm9kZS5maXJzdENoaWxkLCBuZXh0OyBub2RlOyBub2RlID0gbmV4dCkge1xuICAgIG5leHQgPSBub2RlLm5leHRTaWJsaW5nXG4gICAgaWYgKG5vZGUuY2xhc3NOYW1lID09IFwiQ29kZU1pcnJvci1saW5ld2lkZ2V0XCIpXG4gICAgICBsaW5lVmlldy5ub2RlLnJlbW92ZUNoaWxkKG5vZGUpXG4gIH1cbiAgaW5zZXJ0TGluZVdpZGdldHMoY20sIGxpbmVWaWV3LCBkaW1zKVxufVxuXG4vLyBCdWlsZCBhIGxpbmUncyBET00gcmVwcmVzZW50YXRpb24gZnJvbSBzY3JhdGNoXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRMaW5lRWxlbWVudChjbSwgbGluZVZpZXcsIGxpbmVOLCBkaW1zKSB7XG4gIGxldCBidWlsdCA9IGdldExpbmVDb250ZW50KGNtLCBsaW5lVmlldylcbiAgbGluZVZpZXcudGV4dCA9IGxpbmVWaWV3Lm5vZGUgPSBidWlsdC5wcmVcbiAgaWYgKGJ1aWx0LmJnQ2xhc3MpIGxpbmVWaWV3LmJnQ2xhc3MgPSBidWlsdC5iZ0NsYXNzXG4gIGlmIChidWlsdC50ZXh0Q2xhc3MpIGxpbmVWaWV3LnRleHRDbGFzcyA9IGJ1aWx0LnRleHRDbGFzc1xuXG4gIHVwZGF0ZUxpbmVDbGFzc2VzKGNtLCBsaW5lVmlldylcbiAgdXBkYXRlTGluZUd1dHRlcihjbSwgbGluZVZpZXcsIGxpbmVOLCBkaW1zKVxuICBpbnNlcnRMaW5lV2lkZ2V0cyhjbSwgbGluZVZpZXcsIGRpbXMpXG4gIHJldHVybiBsaW5lVmlldy5ub2RlXG59XG5cbi8vIEEgbGluZVZpZXcgbWF5IGNvbnRhaW4gbXVsdGlwbGUgbG9naWNhbCBsaW5lcyAod2hlbiBtZXJnZWQgYnlcbi8vIGNvbGxhcHNlZCBzcGFucykuIFRoZSB3aWRnZXRzIGZvciBhbGwgb2YgdGhlbSBuZWVkIHRvIGJlIGRyYXduLlxuZnVuY3Rpb24gaW5zZXJ0TGluZVdpZGdldHMoY20sIGxpbmVWaWV3LCBkaW1zKSB7XG4gIGluc2VydExpbmVXaWRnZXRzRm9yKGNtLCBsaW5lVmlldy5saW5lLCBsaW5lVmlldywgZGltcywgdHJ1ZSlcbiAgaWYgKGxpbmVWaWV3LnJlc3QpIGZvciAobGV0IGkgPSAwOyBpIDwgbGluZVZpZXcucmVzdC5sZW5ndGg7IGkrKylcbiAgICBpbnNlcnRMaW5lV2lkZ2V0c0ZvcihjbSwgbGluZVZpZXcucmVzdFtpXSwgbGluZVZpZXcsIGRpbXMsIGZhbHNlKVxufVxuXG5mdW5jdGlvbiBpbnNlcnRMaW5lV2lkZ2V0c0ZvcihjbSwgbGluZSwgbGluZVZpZXcsIGRpbXMsIGFsbG93QWJvdmUpIHtcbiAgaWYgKCFsaW5lLndpZGdldHMpIHJldHVyblxuICBsZXQgd3JhcCA9IGVuc3VyZUxpbmVXcmFwcGVkKGxpbmVWaWV3KVxuICBmb3IgKGxldCBpID0gMCwgd3MgPSBsaW5lLndpZGdldHM7IGkgPCB3cy5sZW5ndGg7ICsraSkge1xuICAgIGxldCB3aWRnZXQgPSB3c1tpXSwgbm9kZSA9IGVsdChcImRpdlwiLCBbd2lkZ2V0Lm5vZGVdLCBcIkNvZGVNaXJyb3ItbGluZXdpZGdldFwiKVxuICAgIGlmICghd2lkZ2V0LmhhbmRsZU1vdXNlRXZlbnRzKSBub2RlLnNldEF0dHJpYnV0ZShcImNtLWlnbm9yZS1ldmVudHNcIiwgXCJ0cnVlXCIpXG4gICAgcG9zaXRpb25MaW5lV2lkZ2V0KHdpZGdldCwgbm9kZSwgbGluZVZpZXcsIGRpbXMpXG4gICAgY20uZGlzcGxheS5pbnB1dC5zZXRVbmVkaXRhYmxlKG5vZGUpXG4gICAgaWYgKGFsbG93QWJvdmUgJiYgd2lkZ2V0LmFib3ZlKVxuICAgICAgd3JhcC5pbnNlcnRCZWZvcmUobm9kZSwgbGluZVZpZXcuZ3V0dGVyIHx8IGxpbmVWaWV3LnRleHQpXG4gICAgZWxzZVxuICAgICAgd3JhcC5hcHBlbmRDaGlsZChub2RlKVxuICAgIHNpZ25hbExhdGVyKHdpZGdldCwgXCJyZWRyYXdcIilcbiAgfVxufVxuXG5mdW5jdGlvbiBwb3NpdGlvbkxpbmVXaWRnZXQod2lkZ2V0LCBub2RlLCBsaW5lVmlldywgZGltcykge1xuICBpZiAod2lkZ2V0Lm5vSFNjcm9sbCkge1xuICAgIDsobGluZVZpZXcuYWxpZ25hYmxlIHx8IChsaW5lVmlldy5hbGlnbmFibGUgPSBbXSkpLnB1c2gobm9kZSlcbiAgICBsZXQgd2lkdGggPSBkaW1zLndyYXBwZXJXaWR0aFxuICAgIG5vZGUuc3R5bGUubGVmdCA9IGRpbXMuZml4ZWRQb3MgKyBcInB4XCJcbiAgICBpZiAoIXdpZGdldC5jb3Zlckd1dHRlcikge1xuICAgICAgd2lkdGggLT0gZGltcy5ndXR0ZXJUb3RhbFdpZHRoXG4gICAgICBub2RlLnN0eWxlLnBhZGRpbmdMZWZ0ID0gZGltcy5ndXR0ZXJUb3RhbFdpZHRoICsgXCJweFwiXG4gICAgfVxuICAgIG5vZGUuc3R5bGUud2lkdGggPSB3aWR0aCArIFwicHhcIlxuICB9XG4gIGlmICh3aWRnZXQuY292ZXJHdXR0ZXIpIHtcbiAgICBub2RlLnN0eWxlLnpJbmRleCA9IDVcbiAgICBub2RlLnN0eWxlLnBvc2l0aW9uID0gXCJyZWxhdGl2ZVwiXG4gICAgaWYgKCF3aWRnZXQubm9IU2Nyb2xsKSBub2RlLnN0eWxlLm1hcmdpbkxlZnQgPSAtZGltcy5ndXR0ZXJUb3RhbFdpZHRoICsgXCJweFwiXG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFBQTtBQUNBO0FBR0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFEQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFEQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBS0E7QUFDQTtBQUFBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/codemirror/src/display/update_line.js\n"); /***/ }), /***/ "./node_modules/codemirror/src/display/update_lines.js": /*!*************************************************************!*\ !*** ./node_modules/codemirror/src/display/update_lines.js ***! \*************************************************************/ /*! exports provided: updateHeightsInViewport, visibleLines */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"updateHeightsInViewport\", function() { return updateHeightsInViewport; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"visibleLines\", function() { return visibleLines; });\n/* harmony import */ var _line_spans_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../line/spans.js */ \"./node_modules/codemirror/src/line/spans.js\");\n/* harmony import */ var _line_utils_line_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../line/utils_line.js */ \"./node_modules/codemirror/src/line/utils_line.js\");\n/* harmony import */ var _measurement_position_measurement_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../measurement/position_measurement.js */ \"./node_modules/codemirror/src/measurement/position_measurement.js\");\n/* harmony import */ var _util_browser_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../util/browser.js */ \"./node_modules/codemirror/src/util/browser.js\");\n\n\n\n // Read the actual heights of the rendered lines, and update their\n// stored heights to match.\n\nfunction updateHeightsInViewport(cm) {\n let display = cm.display;\n let prevBottom = display.lineDiv.offsetTop;\n\n for (let i = 0; i < display.view.length; i++) {\n let cur = display.view[i],\n wrapping = cm.options.lineWrapping;\n let height,\n width = 0;\n if (cur.hidden) continue;\n\n if (_util_browser_js__WEBPACK_IMPORTED_MODULE_3__[\"ie\"] && _util_browser_js__WEBPACK_IMPORTED_MODULE_3__[\"ie_version\"] < 8) {\n let bot = cur.node.offsetTop + cur.node.offsetHeight;\n height = bot - prevBottom;\n prevBottom = bot;\n } else {\n let box = cur.node.getBoundingClientRect();\n height = box.bottom - box.top; // Check that lines don't extend past the right of the current\n // editor width\n\n if (!wrapping && cur.text.firstChild) width = cur.text.firstChild.getBoundingClientRect().right - box.left - 1;\n }\n\n let diff = cur.line.height - height;\n\n if (diff > .005 || diff < -.005) {\n Object(_line_utils_line_js__WEBPACK_IMPORTED_MODULE_1__[\"updateLineHeight\"])(cur.line, height);\n updateWidgetHeight(cur.line);\n if (cur.rest) for (let j = 0; j < cur.rest.length; j++) updateWidgetHeight(cur.rest[j]);\n }\n\n if (width > cm.display.sizerWidth) {\n let chWidth = Math.ceil(width / Object(_measurement_position_measurement_js__WEBPACK_IMPORTED_MODULE_2__[\"charWidth\"])(cm.display));\n\n if (chWidth > cm.display.maxLineLength) {\n cm.display.maxLineLength = chWidth;\n cm.display.maxLine = cur.line;\n cm.display.maxLineChanged = true;\n }\n }\n }\n} // Read and store the height of line widgets associated with the\n// given line.\n\nfunction updateWidgetHeight(line) {\n if (line.widgets) for (let i = 0; i < line.widgets.length; ++i) {\n let w = line.widgets[i],\n parent = w.node.parentNode;\n if (parent) w.height = parent.offsetHeight;\n }\n} // Compute the lines that are visible in a given viewport (defaults\n// the the current scroll position). viewport may contain top,\n// height, and ensure (see op.scrollToPos) properties.\n\n\nfunction visibleLines(display, doc, viewport) {\n let top = viewport && viewport.top != null ? Math.max(0, viewport.top) : display.scroller.scrollTop;\n top = Math.floor(top - Object(_measurement_position_measurement_js__WEBPACK_IMPORTED_MODULE_2__[\"paddingTop\"])(display));\n let bottom = viewport && viewport.bottom != null ? viewport.bottom : top + display.wrapper.clientHeight;\n let from = Object(_line_utils_line_js__WEBPACK_IMPORTED_MODULE_1__[\"lineAtHeight\"])(doc, top),\n to = Object(_line_utils_line_js__WEBPACK_IMPORTED_MODULE_1__[\"lineAtHeight\"])(doc, bottom); // Ensure is a {from: {line, ch}, to: {line, ch}} object, and\n // forces those lines into the viewport (if possible).\n\n if (viewport && viewport.ensure) {\n let ensureFrom = viewport.ensure.from.line,\n ensureTo = viewport.ensure.to.line;\n\n if (ensureFrom < from) {\n from = ensureFrom;\n to = Object(_line_utils_line_js__WEBPACK_IMPORTED_MODULE_1__[\"lineAtHeight\"])(doc, Object(_line_spans_js__WEBPACK_IMPORTED_MODULE_0__[\"heightAtLine\"])(Object(_line_utils_line_js__WEBPACK_IMPORTED_MODULE_1__[\"getLine\"])(doc, ensureFrom)) + display.wrapper.clientHeight);\n } else if (Math.min(ensureTo, doc.lastLine()) >= to) {\n from = Object(_line_utils_line_js__WEBPACK_IMPORTED_MODULE_1__[\"lineAtHeight\"])(doc, Object(_line_spans_js__WEBPACK_IMPORTED_MODULE_0__[\"heightAtLine\"])(Object(_line_utils_line_js__WEBPACK_IMPORTED_MODULE_1__[\"getLine\"])(doc, ensureTo)) - display.wrapper.clientHeight);\n to = ensureTo;\n }\n }\n\n return {\n from: from,\n to: Math.max(to, from + 1)\n };\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9zcmMvZGlzcGxheS91cGRhdGVfbGluZXMuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9zcmMvZGlzcGxheS91cGRhdGVfbGluZXMuanM/NGM3ZiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBoZWlnaHRBdExpbmUgfSBmcm9tIFwiLi4vbGluZS9zcGFucy5qc1wiXG5pbXBvcnQgeyBnZXRMaW5lLCBsaW5lQXRIZWlnaHQsIHVwZGF0ZUxpbmVIZWlnaHQgfSBmcm9tIFwiLi4vbGluZS91dGlsc19saW5lLmpzXCJcbmltcG9ydCB7IHBhZGRpbmdUb3AsIGNoYXJXaWR0aCB9IGZyb20gXCIuLi9tZWFzdXJlbWVudC9wb3NpdGlvbl9tZWFzdXJlbWVudC5qc1wiXG5pbXBvcnQgeyBpZSwgaWVfdmVyc2lvbiB9IGZyb20gXCIuLi91dGlsL2Jyb3dzZXIuanNcIlxuXG4vLyBSZWFkIHRoZSBhY3R1YWwgaGVpZ2h0cyBvZiB0aGUgcmVuZGVyZWQgbGluZXMsIGFuZCB1cGRhdGUgdGhlaXJcbi8vIHN0b3JlZCBoZWlnaHRzIHRvIG1hdGNoLlxuZXhwb3J0IGZ1bmN0aW9uIHVwZGF0ZUhlaWdodHNJblZpZXdwb3J0KGNtKSB7XG4gIGxldCBkaXNwbGF5ID0gY20uZGlzcGxheVxuICBsZXQgcHJldkJvdHRvbSA9IGRpc3BsYXkubGluZURpdi5vZmZzZXRUb3BcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBkaXNwbGF5LnZpZXcubGVuZ3RoOyBpKyspIHtcbiAgICBsZXQgY3VyID0gZGlzcGxheS52aWV3W2ldLCB3cmFwcGluZyA9IGNtLm9wdGlvbnMubGluZVdyYXBwaW5nXG4gICAgbGV0IGhlaWdodCwgd2lkdGggPSAwXG4gICAgaWYgKGN1ci5oaWRkZW4pIGNvbnRpbnVlXG4gICAgaWYgKGllICYmIGllX3ZlcnNpb24gPCA4KSB7XG4gICAgICBsZXQgYm90ID0gY3VyLm5vZGUub2Zmc2V0VG9wICsgY3VyLm5vZGUub2Zmc2V0SGVpZ2h0XG4gICAgICBoZWlnaHQgPSBib3QgLSBwcmV2Qm90dG9tXG4gICAgICBwcmV2Qm90dG9tID0gYm90XG4gICAgfSBlbHNlIHtcbiAgICAgIGxldCBib3ggPSBjdXIubm9kZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKVxuICAgICAgaGVpZ2h0ID0gYm94LmJvdHRvbSAtIGJveC50b3BcbiAgICAgIC8vIENoZWNrIHRoYXQgbGluZXMgZG9uJ3QgZXh0ZW5kIHBhc3QgdGhlIHJpZ2h0IG9mIHRoZSBjdXJyZW50XG4gICAgICAvLyBlZGl0b3Igd2lkdGhcbiAgICAgIGlmICghd3JhcHBpbmcgJiYgY3VyLnRleHQuZmlyc3RDaGlsZClcbiAgICAgICAgd2lkdGggPSBjdXIudGV4dC5maXJzdENoaWxkLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnJpZ2h0IC0gYm94LmxlZnQgLSAxXG4gICAgfVxuICAgIGxldCBkaWZmID0gY3VyLmxpbmUuaGVpZ2h0IC0gaGVpZ2h0XG4gICAgaWYgKGRpZmYgPiAuMDA1IHx8IGRpZmYgPCAtLjAwNSkge1xuICAgICAgdXBkYXRlTGluZUhlaWdodChjdXIubGluZSwgaGVpZ2h0KVxuICAgICAgdXBkYXRlV2lkZ2V0SGVpZ2h0KGN1ci5saW5lKVxuICAgICAgaWYgKGN1ci5yZXN0KSBmb3IgKGxldCBqID0gMDsgaiA8IGN1ci5yZXN0Lmxlbmd0aDsgaisrKVxuICAgICAgICB1cGRhdGVXaWRnZXRIZWlnaHQoY3VyLnJlc3Rbal0pXG4gICAgfVxuICAgIGlmICh3aWR0aCA+IGNtLmRpc3BsYXkuc2l6ZXJXaWR0aCkge1xuICAgICAgbGV0IGNoV2lkdGggPSBNYXRoLmNlaWwod2lkdGggLyBjaGFyV2lkdGgoY20uZGlzcGxheSkpXG4gICAgICBpZiAoY2hXaWR0aCA+IGNtLmRpc3BsYXkubWF4TGluZUxlbmd0aCkge1xuICAgICAgICBjbS5kaXNwbGF5Lm1heExpbmVMZW5ndGggPSBjaFdpZHRoXG4gICAgICAgIGNtLmRpc3BsYXkubWF4TGluZSA9IGN1ci5saW5lXG4gICAgICAgIGNtLmRpc3BsYXkubWF4TGluZUNoYW5nZWQgPSB0cnVlXG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFJlYWQgYW5kIHN0b3JlIHRoZSBoZWlnaHQgb2YgbGluZSB3aWRnZXRzIGFzc29jaWF0ZWQgd2l0aCB0aGVcbi8vIGdpdmVuIGxpbmUuXG5mdW5jdGlvbiB1cGRhdGVXaWRnZXRIZWlnaHQobGluZSkge1xuICBpZiAobGluZS53aWRnZXRzKSBmb3IgKGxldCBpID0gMDsgaSA8IGxpbmUud2lkZ2V0cy5sZW5ndGg7ICsraSkge1xuICAgIGxldCB3ID0gbGluZS53aWRnZXRzW2ldLCBwYXJlbnQgPSB3Lm5vZGUucGFyZW50Tm9kZVxuICAgIGlmIChwYXJlbnQpIHcuaGVpZ2h0ID0gcGFyZW50Lm9mZnNldEhlaWdodFxuICB9XG59XG5cbi8vIENvbXB1dGUgdGhlIGxpbmVzIHRoYXQgYXJlIHZpc2libGUgaW4gYSBnaXZlbiB2aWV3cG9ydCAoZGVmYXVsdHNcbi8vIHRoZSB0aGUgY3VycmVudCBzY3JvbGwgcG9zaXRpb24pLiB2aWV3cG9ydCBtYXkgY29udGFpbiB0b3AsXG4vLyBoZWlnaHQsIGFuZCBlbnN1cmUgKHNlZSBvcC5zY3JvbGxUb1BvcykgcHJvcGVydGllcy5cbmV4cG9ydCBmdW5jdGlvbiB2aXNpYmxlTGluZXMoZGlzcGxheSwgZG9jLCB2aWV3cG9ydCkge1xuICBsZXQgdG9wID0gdmlld3BvcnQgJiYgdmlld3BvcnQudG9wICE9IG51bGwgPyBNYXRoLm1heCgwLCB2aWV3cG9ydC50b3ApIDogZGlzcGxheS5zY3JvbGxlci5zY3JvbGxUb3BcbiAgdG9wID0gTWF0aC5mbG9vcih0b3AgLSBwYWRkaW5nVG9wKGRpc3BsYXkpKVxuICBsZXQgYm90dG9tID0gdmlld3BvcnQgJiYgdmlld3BvcnQuYm90dG9tICE9IG51bGwgPyB2aWV3cG9ydC5ib3R0b20gOiB0b3AgKyBkaXNwbGF5LndyYXBwZXIuY2xpZW50SGVpZ2h0XG5cbiAgbGV0IGZyb20gPSBsaW5lQXRIZWlnaHQoZG9jLCB0b3ApLCB0byA9IGxpbmVBdEhlaWdodChkb2MsIGJvdHRvbSlcbiAgLy8gRW5zdXJlIGlzIGEge2Zyb206IHtsaW5lLCBjaH0sIHRvOiB7bGluZSwgY2h9fSBvYmplY3QsIGFuZFxuICAvLyBmb3JjZXMgdGhvc2UgbGluZXMgaW50byB0aGUgdmlld3BvcnQgKGlmIHBvc3NpYmxlKS5cbiAgaWYgKHZpZXdwb3J0ICYmIHZpZXdwb3J0LmVuc3VyZSkge1xuICAgIGxldCBlbnN1cmVGcm9tID0gdmlld3BvcnQuZW5zdXJlLmZyb20ubGluZSwgZW5zdXJlVG8gPSB2aWV3cG9ydC5lbnN1cmUudG8ubGluZVxuICAgIGlmIChlbnN1cmVGcm9tIDwgZnJvbSkge1xuICAgICAgZnJvbSA9IGVuc3VyZUZyb21cbiAgICAgIHRvID0gbGluZUF0SGVpZ2h0KGRvYywgaGVpZ2h0QXRMaW5lKGdldExpbmUoZG9jLCBlbnN1cmVGcm9tKSkgKyBkaXNwbGF5LndyYXBwZXIuY2xpZW50SGVpZ2h0KVxuICAgIH0gZWxzZSBpZiAoTWF0aC5taW4oZW5zdXJlVG8sIGRvYy5sYXN0TGluZSgpKSA+PSB0bykge1xuICAgICAgZnJvbSA9IGxpbmVBdEhlaWdodChkb2MsIGhlaWdodEF0TGluZShnZXRMaW5lKGRvYywgZW5zdXJlVG8pKSAtIGRpc3BsYXkud3JhcHBlci5jbGllbnRIZWlnaHQpXG4gICAgICB0byA9IGVuc3VyZVRvXG4gICAgfVxuICB9XG4gIHJldHVybiB7ZnJvbTogZnJvbSwgdG86IE1hdGgubWF4KHRvLCBmcm9tICsgMSl9XG59XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFEQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQUE7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/codemirror/src/display/update_lines.js\n"); /***/ }), /***/ "./node_modules/codemirror/src/display/view_tracking.js": /*!**************************************************************!*\ !*** ./node_modules/codemirror/src/display/view_tracking.js ***! \**************************************************************/ /*! exports provided: regChange, regLineChange, resetView, adjustView, countDirtyView */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"regChange\", function() { return regChange; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"regLineChange\", function() { return regLineChange; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"resetView\", function() { return resetView; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"adjustView\", function() { return adjustView; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"countDirtyView\", function() { return countDirtyView; });\n/* harmony import */ var _line_line_data_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../line/line_data.js */ \"./node_modules/codemirror/src/line/line_data.js\");\n/* harmony import */ var _line_saw_special_spans_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../line/saw_special_spans.js */ \"./node_modules/codemirror/src/line/saw_special_spans.js\");\n/* harmony import */ var _line_spans_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../line/spans.js */ \"./node_modules/codemirror/src/line/spans.js\");\n/* harmony import */ var _measurement_position_measurement_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../measurement/position_measurement.js */ \"./node_modules/codemirror/src/measurement/position_measurement.js\");\n/* harmony import */ var _util_misc_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../util/misc.js */ \"./node_modules/codemirror/src/util/misc.js\");\n\n\n\n\n // Updates the display.view data structure for a given change to the\n// document. From and to are in pre-change coordinates. Lendiff is\n// the amount of lines added or subtracted by the change. This is\n// used for changes that span multiple lines, or change the way\n// lines are divided into visual lines. regLineChange (below)\n// registers single-line changes.\n\nfunction regChange(cm, from, to, lendiff) {\n if (from == null) from = cm.doc.first;\n if (to == null) to = cm.doc.first + cm.doc.size;\n if (!lendiff) lendiff = 0;\n let display = cm.display;\n if (lendiff && to < display.viewTo && (display.updateLineNumbers == null || display.updateLineNumbers > from)) display.updateLineNumbers = from;\n cm.curOp.viewChanged = true;\n\n if (from >= display.viewTo) {\n // Change after\n if (_line_saw_special_spans_js__WEBPACK_IMPORTED_MODULE_1__[\"sawCollapsedSpans\"] && Object(_line_spans_js__WEBPACK_IMPORTED_MODULE_2__[\"visualLineNo\"])(cm.doc, from) < display.viewTo) resetView(cm);\n } else if (to <= display.viewFrom) {\n // Change before\n if (_line_saw_special_spans_js__WEBPACK_IMPORTED_MODULE_1__[\"sawCollapsedSpans\"] && Object(_line_spans_js__WEBPACK_IMPORTED_MODULE_2__[\"visualLineEndNo\"])(cm.doc, to + lendiff) > display.viewFrom) {\n resetView(cm);\n } else {\n display.viewFrom += lendiff;\n display.viewTo += lendiff;\n }\n } else if (from <= display.viewFrom && to >= display.viewTo) {\n // Full overlap\n resetView(cm);\n } else if (from <= display.viewFrom) {\n // Top overlap\n let cut = viewCuttingPoint(cm, to, to + lendiff, 1);\n\n if (cut) {\n display.view = display.view.slice(cut.index);\n display.viewFrom = cut.lineN;\n display.viewTo += lendiff;\n } else {\n resetView(cm);\n }\n } else if (to >= display.viewTo) {\n // Bottom overlap\n let cut = viewCuttingPoint(cm, from, from, -1);\n\n if (cut) {\n display.view = display.view.slice(0, cut.index);\n display.viewTo = cut.lineN;\n } else {\n resetView(cm);\n }\n } else {\n // Gap in the middle\n let cutTop = viewCuttingPoint(cm, from, from, -1);\n let cutBot = viewCuttingPoint(cm, to, to + lendiff, 1);\n\n if (cutTop && cutBot) {\n display.view = display.view.slice(0, cutTop.index).concat(Object(_line_line_data_js__WEBPACK_IMPORTED_MODULE_0__[\"buildViewArray\"])(cm, cutTop.lineN, cutBot.lineN)).concat(display.view.slice(cutBot.index));\n display.viewTo += lendiff;\n } else {\n resetView(cm);\n }\n }\n\n let ext = display.externalMeasured;\n\n if (ext) {\n if (to < ext.lineN) ext.lineN += lendiff;else if (from < ext.lineN + ext.size) display.externalMeasured = null;\n }\n} // Register a change to a single line. Type must be one of \"text\",\n// \"gutter\", \"class\", \"widget\"\n\nfunction regLineChange(cm, line, type) {\n cm.curOp.viewChanged = true;\n let display = cm.display,\n ext = cm.display.externalMeasured;\n if (ext && line >= ext.lineN && line < ext.lineN + ext.size) display.externalMeasured = null;\n if (line < display.viewFrom || line >= display.viewTo) return;\n let lineView = display.view[Object(_measurement_position_measurement_js__WEBPACK_IMPORTED_MODULE_3__[\"findViewIndex\"])(cm, line)];\n if (lineView.node == null) return;\n let arr = lineView.changes || (lineView.changes = []);\n if (Object(_util_misc_js__WEBPACK_IMPORTED_MODULE_4__[\"indexOf\"])(arr, type) == -1) arr.push(type);\n} // Clear the view.\n\nfunction resetView(cm) {\n cm.display.viewFrom = cm.display.viewTo = cm.doc.first;\n cm.display.view = [];\n cm.display.viewOffset = 0;\n}\n\nfunction viewCuttingPoint(cm, oldN, newN, dir) {\n let index = Object(_measurement_position_measurement_js__WEBPACK_IMPORTED_MODULE_3__[\"findViewIndex\"])(cm, oldN),\n diff,\n view = cm.display.view;\n if (!_line_saw_special_spans_js__WEBPACK_IMPORTED_MODULE_1__[\"sawCollapsedSpans\"] || newN == cm.doc.first + cm.doc.size) return {\n index: index,\n lineN: newN\n };\n let n = cm.display.viewFrom;\n\n for (let i = 0; i < index; i++) n += view[i].size;\n\n if (n != oldN) {\n if (dir > 0) {\n if (index == view.length - 1) return null;\n diff = n + view[index].size - oldN;\n index++;\n } else {\n diff = n - oldN;\n }\n\n oldN += diff;\n newN += diff;\n }\n\n while (Object(_line_spans_js__WEBPACK_IMPORTED_MODULE_2__[\"visualLineNo\"])(cm.doc, newN) != newN) {\n if (index == (dir < 0 ? 0 : view.length - 1)) return null;\n newN += dir * view[index - (dir < 0 ? 1 : 0)].size;\n index += dir;\n }\n\n return {\n index: index,\n lineN: newN\n };\n} // Force the view to cover a given range, adding empty view element\n// or clipping off existing ones as needed.\n\n\nfunction adjustView(cm, from, to) {\n let display = cm.display,\n view = display.view;\n\n if (view.length == 0 || from >= display.viewTo || to <= display.viewFrom) {\n display.view = Object(_line_line_data_js__WEBPACK_IMPORTED_MODULE_0__[\"buildViewArray\"])(cm, from, to);\n display.viewFrom = from;\n } else {\n if (display.viewFrom > from) display.view = Object(_line_line_data_js__WEBPACK_IMPORTED_MODULE_0__[\"buildViewArray\"])(cm, from, display.viewFrom).concat(display.view);else if (display.viewFrom < from) display.view = display.view.slice(Object(_measurement_position_measurement_js__WEBPACK_IMPORTED_MODULE_3__[\"findViewIndex\"])(cm, from));\n display.viewFrom = from;\n if (display.viewTo < to) display.view = display.view.concat(Object(_line_line_data_js__WEBPACK_IMPORTED_MODULE_0__[\"buildViewArray\"])(cm, display.viewTo, to));else if (display.viewTo > to) display.view = display.view.slice(0, Object(_measurement_position_measurement_js__WEBPACK_IMPORTED_MODULE_3__[\"findViewIndex\"])(cm, to));\n }\n\n display.viewTo = to;\n} // Count the number of lines in the view whose DOM representation is\n// out of date (or nonexistent).\n\nfunction countDirtyView(cm) {\n let view = cm.display.view,\n dirty = 0;\n\n for (let i = 0; i < view.length; i++) {\n let lineView = view[i];\n if (!lineView.hidden && (!lineView.node || lineView.changes)) ++dirty;\n }\n\n return dirty;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9zcmMvZGlzcGxheS92aWV3X3RyYWNraW5nLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvZGVtaXJyb3Ivc3JjL2Rpc3BsYXkvdmlld190cmFja2luZy5qcz8yOTk0Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGJ1aWxkVmlld0FycmF5IH0gZnJvbSBcIi4uL2xpbmUvbGluZV9kYXRhLmpzXCJcbmltcG9ydCB7IHNhd0NvbGxhcHNlZFNwYW5zIH0gZnJvbSBcIi4uL2xpbmUvc2F3X3NwZWNpYWxfc3BhbnMuanNcIlxuaW1wb3J0IHsgdmlzdWFsTGluZUVuZE5vLCB2aXN1YWxMaW5lTm8gfSBmcm9tIFwiLi4vbGluZS9zcGFucy5qc1wiXG5pbXBvcnQgeyBmaW5kVmlld0luZGV4IH0gZnJvbSBcIi4uL21lYXN1cmVtZW50L3Bvc2l0aW9uX21lYXN1cmVtZW50LmpzXCJcbmltcG9ydCB7IGluZGV4T2YgfSBmcm9tIFwiLi4vdXRpbC9taXNjLmpzXCJcblxuLy8gVXBkYXRlcyB0aGUgZGlzcGxheS52aWV3IGRhdGEgc3RydWN0dXJlIGZvciBhIGdpdmVuIGNoYW5nZSB0byB0aGVcbi8vIGRvY3VtZW50LiBGcm9tIGFuZCB0byBhcmUgaW4gcHJlLWNoYW5nZSBjb29yZGluYXRlcy4gTGVuZGlmZiBpc1xuLy8gdGhlIGFtb3VudCBvZiBsaW5lcyBhZGRlZCBvciBzdWJ0cmFjdGVkIGJ5IHRoZSBjaGFuZ2UuIFRoaXMgaXNcbi8vIHVzZWQgZm9yIGNoYW5nZXMgdGhhdCBzcGFuIG11bHRpcGxlIGxpbmVzLCBvciBjaGFuZ2UgdGhlIHdheVxuLy8gbGluZXMgYXJlIGRpdmlkZWQgaW50byB2aXN1YWwgbGluZXMuIHJlZ0xpbmVDaGFuZ2UgKGJlbG93KVxuLy8gcmVnaXN0ZXJzIHNpbmdsZS1saW5lIGNoYW5nZXMuXG5leHBvcnQgZnVuY3Rpb24gcmVnQ2hhbmdlKGNtLCBmcm9tLCB0bywgbGVuZGlmZikge1xuICBpZiAoZnJvbSA9PSBudWxsKSBmcm9tID0gY20uZG9jLmZpcnN0XG4gIGlmICh0byA9PSBudWxsKSB0byA9IGNtLmRvYy5maXJzdCArIGNtLmRvYy5zaXplXG4gIGlmICghbGVuZGlmZikgbGVuZGlmZiA9IDBcblxuICBsZXQgZGlzcGxheSA9IGNtLmRpc3BsYXlcbiAgaWYgKGxlbmRpZmYgJiYgdG8gPCBkaXNwbGF5LnZpZXdUbyAmJlxuICAgICAgKGRpc3BsYXkudXBkYXRlTGluZU51bWJlcnMgPT0gbnVsbCB8fCBkaXNwbGF5LnVwZGF0ZUxpbmVOdW1iZXJzID4gZnJvbSkpXG4gICAgZGlzcGxheS51cGRhdGVMaW5lTnVtYmVycyA9IGZyb21cblxuICBjbS5jdXJPcC52aWV3Q2hhbmdlZCA9IHRydWVcblxuICBpZiAoZnJvbSA+PSBkaXNwbGF5LnZpZXdUbykgeyAvLyBDaGFuZ2UgYWZ0ZXJcbiAgICBpZiAoc2F3Q29sbGFwc2VkU3BhbnMgJiYgdmlzdWFsTGluZU5vKGNtLmRvYywgZnJvbSkgPCBkaXNwbGF5LnZpZXdUbylcbiAgICAgIHJlc2V0VmlldyhjbSlcbiAgfSBlbHNlIGlmICh0byA8PSBkaXNwbGF5LnZpZXdGcm9tKSB7IC8vIENoYW5nZSBiZWZvcmVcbiAgICBpZiAoc2F3Q29sbGFwc2VkU3BhbnMgJiYgdmlzdWFsTGluZUVuZE5vKGNtLmRvYywgdG8gKyBsZW5kaWZmKSA+IGRpc3BsYXkudmlld0Zyb20pIHtcbiAgICAgIHJlc2V0VmlldyhjbSlcbiAgICB9IGVsc2Uge1xuICAgICAgZGlzcGxheS52aWV3RnJvbSArPSBsZW5kaWZmXG4gICAgICBkaXNwbGF5LnZpZXdUbyArPSBsZW5kaWZmXG4gICAgfVxuICB9IGVsc2UgaWYgKGZyb20gPD0gZGlzcGxheS52aWV3RnJvbSAmJiB0byA+PSBkaXNwbGF5LnZpZXdUbykgeyAvLyBGdWxsIG92ZXJsYXBcbiAgICByZXNldFZpZXcoY20pXG4gIH0gZWxzZSBpZiAoZnJvbSA8PSBkaXNwbGF5LnZpZXdGcm9tKSB7IC8vIFRvcCBvdmVybGFwXG4gICAgbGV0IGN1dCA9IHZpZXdDdXR0aW5nUG9pbnQoY20sIHRvLCB0byArIGxlbmRpZmYsIDEpXG4gICAgaWYgKGN1dCkge1xuICAgICAgZGlzcGxheS52aWV3ID0gZGlzcGxheS52aWV3LnNsaWNlKGN1dC5pbmRleClcbiAgICAgIGRpc3BsYXkudmlld0Zyb20gPSBjdXQubGluZU5cbiAgICAgIGRpc3BsYXkudmlld1RvICs9IGxlbmRpZmZcbiAgICB9IGVsc2Uge1xuICAgICAgcmVzZXRWaWV3KGNtKVxuICAgIH1cbiAgfSBlbHNlIGlmICh0byA+PSBkaXNwbGF5LnZpZXdUbykgeyAvLyBCb3R0b20gb3ZlcmxhcFxuICAgIGxldCBjdXQgPSB2aWV3Q3V0dGluZ1BvaW50KGNtLCBmcm9tLCBmcm9tLCAtMSlcbiAgICBpZiAoY3V0KSB7XG4gICAgICBkaXNwbGF5LnZpZXcgPSBkaXNwbGF5LnZpZXcuc2xpY2UoMCwgY3V0LmluZGV4KVxuICAgICAgZGlzcGxheS52aWV3VG8gPSBjdXQubGluZU5cbiAgICB9IGVsc2Uge1xuICAgICAgcmVzZXRWaWV3KGNtKVxuICAgIH1cbiAgfSBlbHNlIHsgLy8gR2FwIGluIHRoZSBtaWRkbGVcbiAgICBsZXQgY3V0VG9wID0gdmlld0N1dHRpbmdQb2ludChjbSwgZnJvbSwgZnJvbSwgLTEpXG4gICAgbGV0IGN1dEJvdCA9IHZpZXdDdXR0aW5nUG9pbnQoY20sIHRvLCB0byArIGxlbmRpZmYsIDEpXG4gICAgaWYgKGN1dFRvcCAmJiBjdXRCb3QpIHtcbiAgICAgIGRpc3BsYXkudmlldyA9IGRpc3BsYXkudmlldy5zbGljZSgwLCBjdXRUb3AuaW5kZXgpXG4gICAgICAgIC5jb25jYXQoYnVpbGRWaWV3QXJyYXkoY20sIGN1dFRvcC5saW5lTiwgY3V0Qm90LmxpbmVOKSlcbiAgICAgICAgLmNvbmNhdChkaXNwbGF5LnZpZXcuc2xpY2UoY3V0Qm90LmluZGV4KSlcbiAgICAgIGRpc3BsYXkudmlld1RvICs9IGxlbmRpZmZcbiAgICB9IGVsc2Uge1xuICAgICAgcmVzZXRWaWV3KGNtKVxuICAgIH1cbiAgfVxuXG4gIGxldCBleHQgPSBkaXNwbGF5LmV4dGVybmFsTWVhc3VyZWRcbiAgaWYgKGV4dCkge1xuICAgIGlmICh0byA8IGV4dC5saW5lTilcbiAgICAgIGV4dC5saW5lTiArPSBsZW5kaWZmXG4gICAgZWxzZSBpZiAoZnJvbSA8IGV4dC5saW5lTiArIGV4dC5zaXplKVxuICAgICAgZGlzcGxheS5leHRlcm5hbE1lYXN1cmVkID0gbnVsbFxuICB9XG59XG5cbi8vIFJlZ2lzdGVyIGEgY2hhbmdlIHRvIGEgc2luZ2xlIGxpbmUuIFR5cGUgbXVzdCBiZSBvbmUgb2YgXCJ0ZXh0XCIsXG4vLyBcImd1dHRlclwiLCBcImNsYXNzXCIsIFwid2lkZ2V0XCJcbmV4cG9ydCBmdW5jdGlvbiByZWdMaW5lQ2hhbmdlKGNtLCBsaW5lLCB0eXBlKSB7XG4gIGNtLmN1ck9wLnZpZXdDaGFuZ2VkID0gdHJ1ZVxuICBsZXQgZGlzcGxheSA9IGNtLmRpc3BsYXksIGV4dCA9IGNtLmRpc3BsYXkuZXh0ZXJuYWxNZWFzdXJlZFxuICBpZiAoZXh0ICYmIGxpbmUgPj0gZXh0LmxpbmVOICYmIGxpbmUgPCBleHQubGluZU4gKyBleHQuc2l6ZSlcbiAgICBkaXNwbGF5LmV4dGVybmFsTWVhc3VyZWQgPSBudWxsXG5cbiAgaWYgKGxpbmUgPCBkaXNwbGF5LnZpZXdGcm9tIHx8IGxpbmUgPj0gZGlzcGxheS52aWV3VG8pIHJldHVyblxuICBsZXQgbGluZVZpZXcgPSBkaXNwbGF5LnZpZXdbZmluZFZpZXdJbmRleChjbSwgbGluZSldXG4gIGlmIChsaW5lVmlldy5ub2RlID09IG51bGwpIHJldHVyblxuICBsZXQgYXJyID0gbGluZVZpZXcuY2hhbmdlcyB8fCAobGluZVZpZXcuY2hhbmdlcyA9IFtdKVxuICBpZiAoaW5kZXhPZihhcnIsIHR5cGUpID09IC0xKSBhcnIucHVzaCh0eXBlKVxufVxuXG4vLyBDbGVhciB0aGUgdmlldy5cbmV4cG9ydCBmdW5jdGlvbiByZXNldFZpZXcoY20pIHtcbiAgY20uZGlzcGxheS52aWV3RnJvbSA9IGNtLmRpc3BsYXkudmlld1RvID0gY20uZG9jLmZpcnN0XG4gIGNtLmRpc3BsYXkudmlldyA9IFtdXG4gIGNtLmRpc3BsYXkudmlld09mZnNldCA9IDBcbn1cblxuZnVuY3Rpb24gdmlld0N1dHRpbmdQb2ludChjbSwgb2xkTiwgbmV3TiwgZGlyKSB7XG4gIGxldCBpbmRleCA9IGZpbmRWaWV3SW5kZXgoY20sIG9sZE4pLCBkaWZmLCB2aWV3ID0gY20uZGlzcGxheS52aWV3XG4gIGlmICghc2F3Q29sbGFwc2VkU3BhbnMgfHwgbmV3TiA9PSBjbS5kb2MuZmlyc3QgKyBjbS5kb2Muc2l6ZSlcbiAgICByZXR1cm4ge2luZGV4OiBpbmRleCwgbGluZU46IG5ld059XG4gIGxldCBuID0gY20uZGlzcGxheS52aWV3RnJvbVxuICBmb3IgKGxldCBpID0gMDsgaSA8IGluZGV4OyBpKyspXG4gICAgbiArPSB2aWV3W2ldLnNpemVcbiAgaWYgKG4gIT0gb2xkTikge1xuICAgIGlmIChkaXIgPiAwKSB7XG4gICAgICBpZiAoaW5kZXggPT0gdmlldy5sZW5ndGggLSAxKSByZXR1cm4gbnVsbFxuICAgICAgZGlmZiA9IChuICsgdmlld1tpbmRleF0uc2l6ZSkgLSBvbGROXG4gICAgICBpbmRleCsrXG4gICAgfSBlbHNlIHtcbiAgICAgIGRpZmYgPSBuIC0gb2xkTlxuICAgIH1cbiAgICBvbGROICs9IGRpZmY7IG5ld04gKz0gZGlmZlxuICB9XG4gIHdoaWxlICh2aXN1YWxMaW5lTm8oY20uZG9jLCBuZXdOKSAhPSBuZXdOKSB7XG4gICAgaWYgKGluZGV4ID09IChkaXIgPCAwID8gMCA6IHZpZXcubGVuZ3RoIC0gMSkpIHJldHVybiBudWxsXG4gICAgbmV3TiArPSBkaXIgKiB2aWV3W2luZGV4IC0gKGRpciA8IDAgPyAxIDogMCldLnNpemVcbiAgICBpbmRleCArPSBkaXJcbiAgfVxuICByZXR1cm4ge2luZGV4OiBpbmRleCwgbGluZU46IG5ld059XG59XG5cbi8vIEZvcmNlIHRoZSB2aWV3IHRvIGNvdmVyIGEgZ2l2ZW4gcmFuZ2UsIGFkZGluZyBlbXB0eSB2aWV3IGVsZW1lbnRcbi8vIG9yIGNsaXBwaW5nIG9mZiBleGlzdGluZyBvbmVzIGFzIG5lZWRlZC5cbmV4cG9ydCBmdW5jdGlvbiBhZGp1c3RWaWV3KGNtLCBmcm9tLCB0bykge1xuICBsZXQgZGlzcGxheSA9IGNtLmRpc3BsYXksIHZpZXcgPSBkaXNwbGF5LnZpZXdcbiAgaWYgKHZpZXcubGVuZ3RoID09IDAgfHwgZnJvbSA+PSBkaXNwbGF5LnZpZXdUbyB8fCB0byA8PSBkaXNwbGF5LnZpZXdGcm9tKSB7XG4gICAgZGlzcGxheS52aWV3ID0gYnVpbGRWaWV3QXJyYXkoY20sIGZyb20sIHRvKVxuICAgIGRpc3BsYXkudmlld0Zyb20gPSBmcm9tXG4gIH0gZWxzZSB7XG4gICAgaWYgKGRpc3BsYXkudmlld0Zyb20gPiBmcm9tKVxuICAgICAgZGlzcGxheS52aWV3ID0gYnVpbGRWaWV3QXJyYXkoY20sIGZyb20sIGRpc3BsYXkudmlld0Zyb20pLmNvbmNhdChkaXNwbGF5LnZpZXcpXG4gICAgZWxzZSBpZiAoZGlzcGxheS52aWV3RnJvbSA8IGZyb20pXG4gICAgICBkaXNwbGF5LnZpZXcgPSBkaXNwbGF5LnZpZXcuc2xpY2UoZmluZFZpZXdJbmRleChjbSwgZnJvbSkpXG4gICAgZGlzcGxheS52aWV3RnJvbSA9IGZyb21cbiAgICBpZiAoZGlzcGxheS52aWV3VG8gPCB0bylcbiAgICAgIGRpc3BsYXkudmlldyA9IGRpc3BsYXkudmlldy5jb25jYXQoYnVpbGRWaWV3QXJyYXkoY20sIGRpc3BsYXkudmlld1RvLCB0bykpXG4gICAgZWxzZSBpZiAoZGlzcGxheS52aWV3VG8gPiB0bylcbiAgICAgIGRpc3BsYXkudmlldyA9IGRpc3BsYXkudmlldy5zbGljZSgwLCBmaW5kVmlld0luZGV4KGNtLCB0bykpXG4gIH1cbiAgZGlzcGxheS52aWV3VG8gPSB0b1xufVxuXG4vLyBDb3VudCB0aGUgbnVtYmVyIG9mIGxpbmVzIGluIHRoZSB2aWV3IHdob3NlIERPTSByZXByZXNlbnRhdGlvbiBpc1xuLy8gb3V0IG9mIGRhdGUgKG9yIG5vbmV4aXN0ZW50KS5cbmV4cG9ydCBmdW5jdGlvbiBjb3VudERpcnR5VmlldyhjbSkge1xuICBsZXQgdmlldyA9IGNtLmRpc3BsYXkudmlldywgZGlydHkgPSAwXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgdmlldy5sZW5ndGg7IGkrKykge1xuICAgIGxldCBsaW5lVmlldyA9IHZpZXdbaV1cbiAgICBpZiAoIWxpbmVWaWV3LmhpZGRlbiAmJiAoIWxpbmVWaWV3Lm5vZGUgfHwgbGluZVZpZXcuY2hhbmdlcykpICsrZGlydHlcbiAgfVxuICByZXR1cm4gZGlydHlcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBRUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFJQTtBQUNBO0FBR0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQURBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFJQTtBQUNBO0FBQUE7QUFDQTtBQUdBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/codemirror/src/display/view_tracking.js\n"); /***/ }), /***/ "./node_modules/codemirror/src/line/highlight.js": /*!*******************************************************!*\ !*** ./node_modules/codemirror/src/line/highlight.js ***! \*******************************************************/ /*! exports provided: highlightLine, getLineStyles, getContextBefore, processLine, takeToken, retreatFrontier */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"highlightLine\", function() { return highlightLine; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getLineStyles\", function() { return getLineStyles; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getContextBefore\", function() { return getContextBefore; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"processLine\", function() { return processLine; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"takeToken\", function() { return takeToken; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"retreatFrontier\", function() { return retreatFrontier; });\n/* harmony import */ var _util_misc_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../util/misc.js */ \"./node_modules/codemirror/src/util/misc.js\");\n/* harmony import */ var _modes_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../modes.js */ \"./node_modules/codemirror/src/modes.js\");\n/* harmony import */ var _util_StringStream_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../util/StringStream.js */ \"./node_modules/codemirror/src/util/StringStream.js\");\n/* harmony import */ var _utils_line_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./utils_line.js */ \"./node_modules/codemirror/src/line/utils_line.js\");\n/* harmony import */ var _pos_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./pos.js */ \"./node_modules/codemirror/src/line/pos.js\");\n\n\n\n\n\n\nclass SavedContext {\n constructor(state, lookAhead) {\n this.state = state;\n this.lookAhead = lookAhead;\n }\n\n}\n\nclass Context {\n constructor(doc, state, line, lookAhead) {\n this.state = state;\n this.doc = doc;\n this.line = line;\n this.maxLookAhead = lookAhead || 0;\n this.baseTokens = null;\n this.baseTokenPos = 1;\n }\n\n lookAhead(n) {\n let line = this.doc.getLine(this.line + n);\n if (line != null && n > this.maxLookAhead) this.maxLookAhead = n;\n return line;\n }\n\n baseToken(n) {\n if (!this.baseTokens) return null;\n\n while (this.baseTokens[this.baseTokenPos] <= n) this.baseTokenPos += 2;\n\n let type = this.baseTokens[this.baseTokenPos + 1];\n return {\n type: type && type.replace(/( |^)overlay .*/, \"\"),\n size: this.baseTokens[this.baseTokenPos] - n\n };\n }\n\n nextLine() {\n this.line++;\n if (this.maxLookAhead > 0) this.maxLookAhead--;\n }\n\n static fromSaved(doc, saved, line) {\n if (saved instanceof SavedContext) return new Context(doc, Object(_modes_js__WEBPACK_IMPORTED_MODULE_1__[\"copyState\"])(doc.mode, saved.state), line, saved.lookAhead);else return new Context(doc, Object(_modes_js__WEBPACK_IMPORTED_MODULE_1__[\"copyState\"])(doc.mode, saved), line);\n }\n\n save(copy) {\n let state = copy !== false ? Object(_modes_js__WEBPACK_IMPORTED_MODULE_1__[\"copyState\"])(this.doc.mode, this.state) : this.state;\n return this.maxLookAhead > 0 ? new SavedContext(state, this.maxLookAhead) : state;\n }\n\n} // Compute a style array (an array starting with a mode generation\n// -- for invalidation -- followed by pairs of end positions and\n// style strings), which is used to highlight the tokens on the\n// line.\n\n\nfunction highlightLine(cm, line, context, forceToEnd) {\n // A styles array always starts with a number identifying the\n // mode/overlays that it is based on (for easy invalidation).\n let st = [cm.state.modeGen],\n lineClasses = {}; // Compute the base array of styles\n\n runMode(cm, line.text, cm.doc.mode, context, (end, style) => st.push(end, style), lineClasses, forceToEnd);\n let state = context.state; // Run overlays, adjust style array.\n\n for (let o = 0; o < cm.state.overlays.length; ++o) {\n context.baseTokens = st;\n let overlay = cm.state.overlays[o],\n i = 1,\n at = 0;\n context.state = true;\n runMode(cm, line.text, overlay.mode, context, (end, style) => {\n let start = i; // Ensure there's a token end at the current position, and that i points at it\n\n while (at < end) {\n let i_end = st[i];\n if (i_end > end) st.splice(i, 1, end, st[i + 1], i_end);\n i += 2;\n at = Math.min(end, i_end);\n }\n\n if (!style) return;\n\n if (overlay.opaque) {\n st.splice(start, i - start, end, \"overlay \" + style);\n i = start + 2;\n } else {\n for (; start < i; start += 2) {\n let cur = st[start + 1];\n st[start + 1] = (cur ? cur + \" \" : \"\") + \"overlay \" + style;\n }\n }\n }, lineClasses);\n context.state = state;\n context.baseTokens = null;\n context.baseTokenPos = 1;\n }\n\n return {\n styles: st,\n classes: lineClasses.bgClass || lineClasses.textClass ? lineClasses : null\n };\n}\nfunction getLineStyles(cm, line, updateFrontier) {\n if (!line.styles || line.styles[0] != cm.state.modeGen) {\n let context = getContextBefore(cm, Object(_utils_line_js__WEBPACK_IMPORTED_MODULE_3__[\"lineNo\"])(line));\n let resetState = line.text.length > cm.options.maxHighlightLength && Object(_modes_js__WEBPACK_IMPORTED_MODULE_1__[\"copyState\"])(cm.doc.mode, context.state);\n let result = highlightLine(cm, line, context);\n if (resetState) context.state = resetState;\n line.stateAfter = context.save(!resetState);\n line.styles = result.styles;\n if (result.classes) line.styleClasses = result.classes;else if (line.styleClasses) line.styleClasses = null;\n if (updateFrontier === cm.doc.highlightFrontier) cm.doc.modeFrontier = Math.max(cm.doc.modeFrontier, ++cm.doc.highlightFrontier);\n }\n\n return line.styles;\n}\nfunction getContextBefore(cm, n, precise) {\n let doc = cm.doc,\n display = cm.display;\n if (!doc.mode.startState) return new Context(doc, true, n);\n let start = findStartLine(cm, n, precise);\n let saved = start > doc.first && Object(_utils_line_js__WEBPACK_IMPORTED_MODULE_3__[\"getLine\"])(doc, start - 1).stateAfter;\n let context = saved ? Context.fromSaved(doc, saved, start) : new Context(doc, Object(_modes_js__WEBPACK_IMPORTED_MODULE_1__[\"startState\"])(doc.mode), start);\n doc.iter(start, n, line => {\n processLine(cm, line.text, context);\n let pos = context.line;\n line.stateAfter = pos == n - 1 || pos % 5 == 0 || pos >= display.viewFrom && pos < display.viewTo ? context.save() : null;\n context.nextLine();\n });\n if (precise) doc.modeFrontier = context.line;\n return context;\n} // Lightweight form of highlight -- proceed over this line and\n// update state, but don't save a style array. Used for lines that\n// aren't currently visible.\n\nfunction processLine(cm, text, context, startAt) {\n let mode = cm.doc.mode;\n let stream = new _util_StringStream_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"](text, cm.options.tabSize, context);\n stream.start = stream.pos = startAt || 0;\n if (text == \"\") callBlankLine(mode, context.state);\n\n while (!stream.eol()) {\n readToken(mode, stream, context.state);\n stream.start = stream.pos;\n }\n}\n\nfunction callBlankLine(mode, state) {\n if (mode.blankLine) return mode.blankLine(state);\n if (!mode.innerMode) return;\n let inner = Object(_modes_js__WEBPACK_IMPORTED_MODULE_1__[\"innerMode\"])(mode, state);\n if (inner.mode.blankLine) return inner.mode.blankLine(inner.state);\n}\n\nfunction readToken(mode, stream, state, inner) {\n for (let i = 0; i < 10; i++) {\n if (inner) inner[0] = Object(_modes_js__WEBPACK_IMPORTED_MODULE_1__[\"innerMode\"])(mode, state).mode;\n let style = mode.token(stream, state);\n if (stream.pos > stream.start) return style;\n }\n\n throw new Error(\"Mode \" + mode.name + \" failed to advance stream.\");\n}\n\nclass Token {\n constructor(stream, type, state) {\n this.start = stream.start;\n this.end = stream.pos;\n this.string = stream.current();\n this.type = type || null;\n this.state = state;\n }\n\n} // Utility for getTokenAt and getLineTokens\n\n\nfunction takeToken(cm, pos, precise, asArray) {\n let doc = cm.doc,\n mode = doc.mode,\n style;\n pos = Object(_pos_js__WEBPACK_IMPORTED_MODULE_4__[\"clipPos\"])(doc, pos);\n let line = Object(_utils_line_js__WEBPACK_IMPORTED_MODULE_3__[\"getLine\"])(doc, pos.line),\n context = getContextBefore(cm, pos.line, precise);\n let stream = new _util_StringStream_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"](line.text, cm.options.tabSize, context),\n tokens;\n if (asArray) tokens = [];\n\n while ((asArray || stream.pos < pos.ch) && !stream.eol()) {\n stream.start = stream.pos;\n style = readToken(mode, stream, context.state);\n if (asArray) tokens.push(new Token(stream, style, Object(_modes_js__WEBPACK_IMPORTED_MODULE_1__[\"copyState\"])(doc.mode, context.state)));\n }\n\n return asArray ? tokens : new Token(stream, style, context.state);\n}\n\nfunction extractLineClasses(type, output) {\n if (type) for (;;) {\n let lineClass = type.match(/(?:^|\\s+)line-(background-)?(\\S+)/);\n if (!lineClass) break;\n type = type.slice(0, lineClass.index) + type.slice(lineClass.index + lineClass[0].length);\n let prop = lineClass[1] ? \"bgClass\" : \"textClass\";\n if (output[prop] == null) output[prop] = lineClass[2];else if (!new RegExp(\"(?:^|\\s)\" + lineClass[2] + \"(?:$|\\s)\").test(output[prop])) output[prop] += \" \" + lineClass[2];\n }\n return type;\n} // Run the given mode's parser over a line, calling f for each token.\n\n\nfunction runMode(cm, text, mode, context, f, lineClasses, forceToEnd) {\n let flattenSpans = mode.flattenSpans;\n if (flattenSpans == null) flattenSpans = cm.options.flattenSpans;\n let curStart = 0,\n curStyle = null;\n let stream = new _util_StringStream_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"](text, cm.options.tabSize, context),\n style;\n let inner = cm.options.addModeClass && [null];\n if (text == \"\") extractLineClasses(callBlankLine(mode, context.state), lineClasses);\n\n while (!stream.eol()) {\n if (stream.pos > cm.options.maxHighlightLength) {\n flattenSpans = false;\n if (forceToEnd) processLine(cm, text, context, stream.pos);\n stream.pos = text.length;\n style = null;\n } else {\n style = extractLineClasses(readToken(mode, stream, context.state, inner), lineClasses);\n }\n\n if (inner) {\n let mName = inner[0].name;\n if (mName) style = \"m-\" + (style ? mName + \" \" + style : mName);\n }\n\n if (!flattenSpans || curStyle != style) {\n while (curStart < stream.start) {\n curStart = Math.min(stream.start, curStart + 5000);\n f(curStart, curStyle);\n }\n\n curStyle = style;\n }\n\n stream.start = stream.pos;\n }\n\n while (curStart < stream.pos) {\n // Webkit seems to refuse to render text nodes longer than 57444\n // characters, and returns inaccurate measurements in nodes\n // starting around 5000 chars.\n let pos = Math.min(stream.pos, curStart + 5000);\n f(pos, curStyle);\n curStart = pos;\n }\n} // Finds the line to start with when starting a parse. Tries to\n// find a line with a stateAfter, so that it can start with a\n// valid state. If that fails, it returns the line with the\n// smallest indentation, which tends to need the least context to\n// parse correctly.\n\n\nfunction findStartLine(cm, n, precise) {\n let minindent,\n minline,\n doc = cm.doc;\n let lim = precise ? -1 : n - (cm.doc.mode.innerMode ? 1000 : 100);\n\n for (let search = n; search > lim; --search) {\n if (search <= doc.first) return doc.first;\n let line = Object(_utils_line_js__WEBPACK_IMPORTED_MODULE_3__[\"getLine\"])(doc, search - 1),\n after = line.stateAfter;\n if (after && (!precise || search + (after instanceof SavedContext ? after.lookAhead : 0) <= doc.modeFrontier)) return search;\n let indented = Object(_util_misc_js__WEBPACK_IMPORTED_MODULE_0__[\"countColumn\"])(line.text, null, cm.options.tabSize);\n\n if (minline == null || minindent > indented) {\n minline = search - 1;\n minindent = indented;\n }\n }\n\n return minline;\n}\n\nfunction retreatFrontier(doc, n) {\n doc.modeFrontier = Math.min(doc.modeFrontier, n);\n if (doc.highlightFrontier < n - 10) return;\n let start = doc.first;\n\n for (let line = n - 1; line > start; line--) {\n let saved = Object(_utils_line_js__WEBPACK_IMPORTED_MODULE_3__[\"getLine\"])(doc, line).stateAfter; // change is on 3\n // state on line 1 looked ahead 2 -- so saw 3\n // test 1 + 2 < 3 should cover this\n\n if (saved && (!(saved instanceof SavedContext) || line + saved.lookAhead < n)) {\n start = line + 1;\n break;\n }\n }\n\n doc.highlightFrontier = Math.min(doc.highlightFrontier, start);\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9zcmMvbGluZS9oaWdobGlnaHQuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9zcmMvbGluZS9oaWdobGlnaHQuanM/ZjkwZCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb3VudENvbHVtbiB9IGZyb20gXCIuLi91dGlsL21pc2MuanNcIlxuaW1wb3J0IHsgY29weVN0YXRlLCBpbm5lck1vZGUsIHN0YXJ0U3RhdGUgfSBmcm9tIFwiLi4vbW9kZXMuanNcIlxuaW1wb3J0IFN0cmluZ1N0cmVhbSBmcm9tIFwiLi4vdXRpbC9TdHJpbmdTdHJlYW0uanNcIlxuXG5pbXBvcnQgeyBnZXRMaW5lLCBsaW5lTm8gfSBmcm9tIFwiLi91dGlsc19saW5lLmpzXCJcbmltcG9ydCB7IGNsaXBQb3MgfSBmcm9tIFwiLi9wb3MuanNcIlxuXG5jbGFzcyBTYXZlZENvbnRleHQge1xuICBjb25zdHJ1Y3RvcihzdGF0ZSwgbG9va0FoZWFkKSB7XG4gICAgdGhpcy5zdGF0ZSA9IHN0YXRlXG4gICAgdGhpcy5sb29rQWhlYWQgPSBsb29rQWhlYWRcbiAgfVxufVxuXG5jbGFzcyBDb250ZXh0IHtcbiAgY29uc3RydWN0b3IoZG9jLCBzdGF0ZSwgbGluZSwgbG9va0FoZWFkKSB7XG4gICAgdGhpcy5zdGF0ZSA9IHN0YXRlXG4gICAgdGhpcy5kb2MgPSBkb2NcbiAgICB0aGlzLmxpbmUgPSBsaW5lXG4gICAgdGhpcy5tYXhMb29rQWhlYWQgPSBsb29rQWhlYWQgfHwgMFxuICAgIHRoaXMuYmFzZVRva2VucyA9IG51bGxcbiAgICB0aGlzLmJhc2VUb2tlblBvcyA9IDFcbiAgfVxuXG4gIGxvb2tBaGVhZChuKSB7XG4gICAgbGV0IGxpbmUgPSB0aGlzLmRvYy5nZXRMaW5lKHRoaXMubGluZSArIG4pXG4gICAgaWYgKGxpbmUgIT0gbnVsbCAmJiBuID4gdGhpcy5tYXhMb29rQWhlYWQpIHRoaXMubWF4TG9va0FoZWFkID0gblxuICAgIHJldHVybiBsaW5lXG4gIH1cblxuICBiYXNlVG9rZW4obikge1xuICAgIGlmICghdGhpcy5iYXNlVG9rZW5zKSByZXR1cm4gbnVsbFxuICAgIHdoaWxlICh0aGlzLmJhc2VUb2tlbnNbdGhpcy5iYXNlVG9rZW5Qb3NdIDw9IG4pXG4gICAgICB0aGlzLmJhc2VUb2tlblBvcyArPSAyXG4gICAgbGV0IHR5cGUgPSB0aGlzLmJhc2VUb2tlbnNbdGhpcy5iYXNlVG9rZW5Qb3MgKyAxXVxuICAgIHJldHVybiB7dHlwZTogdHlwZSAmJiB0eXBlLnJlcGxhY2UoLyggfF4pb3ZlcmxheSAuKi8sIFwiXCIpLFxuICAgICAgICAgICAgc2l6ZTogdGhpcy5iYXNlVG9rZW5zW3RoaXMuYmFzZVRva2VuUG9zXSAtIG59XG4gIH1cblxuICBuZXh0TGluZSgpIHtcbiAgICB0aGlzLmxpbmUrK1xuICAgIGlmICh0aGlzLm1heExvb2tBaGVhZCA+IDApIHRoaXMubWF4TG9va0FoZWFkLS1cbiAgfVxuXG4gIHN0YXRpYyBmcm9tU2F2ZWQoZG9jLCBzYXZlZCwgbGluZSkge1xuICAgIGlmIChzYXZlZCBpbnN0YW5jZW9mIFNhdmVkQ29udGV4dClcbiAgICAgIHJldHVybiBuZXcgQ29udGV4dChkb2MsIGNvcHlTdGF0ZShkb2MubW9kZSwgc2F2ZWQuc3RhdGUpLCBsaW5lLCBzYXZlZC5sb29rQWhlYWQpXG4gICAgZWxzZVxuICAgICAgcmV0dXJuIG5ldyBDb250ZXh0KGRvYywgY29weVN0YXRlKGRvYy5tb2RlLCBzYXZlZCksIGxpbmUpXG4gIH1cblxuICBzYXZlKGNvcHkpIHtcbiAgICBsZXQgc3RhdGUgPSBjb3B5ICE9PSBmYWxzZSA/IGNvcHlTdGF0ZSh0aGlzLmRvYy5tb2RlLCB0aGlzLnN0YXRlKSA6IHRoaXMuc3RhdGVcbiAgICByZXR1cm4gdGhpcy5tYXhMb29rQWhlYWQgPiAwID8gbmV3IFNhdmVkQ29udGV4dChzdGF0ZSwgdGhpcy5tYXhMb29rQWhlYWQpIDogc3RhdGVcbiAgfVxufVxuXG5cbi8vIENvbXB1dGUgYSBzdHlsZSBhcnJheSAoYW4gYXJyYXkgc3RhcnRpbmcgd2l0aCBhIG1vZGUgZ2VuZXJhdGlvblxuLy8gLS0gZm9yIGludmFsaWRhdGlvbiAtLSBmb2xsb3dlZCBieSBwYWlycyBvZiBlbmQgcG9zaXRpb25zIGFuZFxuLy8gc3R5bGUgc3RyaW5ncyksIHdoaWNoIGlzIHVzZWQgdG8gaGlnaGxpZ2h0IHRoZSB0b2tlbnMgb24gdGhlXG4vLyBsaW5lLlxuZXhwb3J0IGZ1bmN0aW9uIGhpZ2hsaWdodExpbmUoY20sIGxpbmUsIGNvbnRleHQsIGZvcmNlVG9FbmQpIHtcbiAgLy8gQSBzdHlsZXMgYXJyYXkgYWx3YXlzIHN0YXJ0cyB3aXRoIGEgbnVtYmVyIGlkZW50aWZ5aW5nIHRoZVxuICAvLyBtb2RlL292ZXJsYXlzIHRoYXQgaXQgaXMgYmFzZWQgb24gKGZvciBlYXN5IGludmFsaWRhdGlvbikuXG4gIGxldCBzdCA9IFtjbS5zdGF0ZS5tb2RlR2VuXSwgbGluZUNsYXNzZXMgPSB7fVxuICAvLyBDb21wdXRlIHRoZSBiYXNlIGFycmF5IG9mIHN0eWxlc1xuICBydW5Nb2RlKGNtLCBsaW5lLnRleHQsIGNtLmRvYy5tb2RlLCBjb250ZXh0LCAoZW5kLCBzdHlsZSkgPT4gc3QucHVzaChlbmQsIHN0eWxlKSxcbiAgICAgICAgICBsaW5lQ2xhc3NlcywgZm9yY2VUb0VuZClcbiAgbGV0IHN0YXRlID0gY29udGV4dC5zdGF0ZVxuXG4gIC8vIFJ1biBvdmVybGF5cywgYWRqdXN0IHN0eWxlIGFycmF5LlxuICBmb3IgKGxldCBvID0gMDsgbyA8IGNtLnN0YXRlLm92ZXJsYXlzLmxlbmd0aDsgKytvKSB7XG4gICAgY29udGV4dC5iYXNlVG9rZW5zID0gc3RcbiAgICBsZXQgb3ZlcmxheSA9IGNtLnN0YXRlLm92ZXJsYXlzW29dLCBpID0gMSwgYXQgPSAwXG4gICAgY29udGV4dC5zdGF0ZSA9IHRydWVcbiAgICBydW5Nb2RlKGNtLCBsaW5lLnRleHQsIG92ZXJsYXkubW9kZSwgY29udGV4dCwgKGVuZCwgc3R5bGUpID0+IHtcbiAgICAgIGxldCBzdGFydCA9IGlcbiAgICAgIC8vIEVuc3VyZSB0aGVyZSdzIGEgdG9rZW4gZW5kIGF0IHRoZSBjdXJyZW50IHBvc2l0aW9uLCBhbmQgdGhhdCBpIHBvaW50cyBhdCBpdFxuICAgICAgd2hpbGUgKGF0IDwgZW5kKSB7XG4gICAgICAgIGxldCBpX2VuZCA9IHN0W2ldXG4gICAgICAgIGlmIChpX2VuZCA+IGVuZClcbiAgICAgICAgICBzdC5zcGxpY2UoaSwgMSwgZW5kLCBzdFtpKzFdLCBpX2VuZClcbiAgICAgICAgaSArPSAyXG4gICAgICAgIGF0ID0gTWF0aC5taW4oZW5kLCBpX2VuZClcbiAgICAgIH1cbiAgICAgIGlmICghc3R5bGUpIHJldHVyblxuICAgICAgaWYgKG92ZXJsYXkub3BhcXVlKSB7XG4gICAgICAgIHN0LnNwbGljZShzdGFydCwgaSAtIHN0YXJ0LCBlbmQsIFwib3ZlcmxheSBcIiArIHN0eWxlKVxuICAgICAgICBpID0gc3RhcnQgKyAyXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBmb3IgKDsgc3RhcnQgPCBpOyBzdGFydCArPSAyKSB7XG4gICAgICAgICAgbGV0IGN1ciA9IHN0W3N0YXJ0KzFdXG4gICAgICAgICAgc3Rbc3RhcnQrMV0gPSAoY3VyID8gY3VyICsgXCIgXCIgOiBcIlwiKSArIFwib3ZlcmxheSBcIiArIHN0eWxlXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LCBsaW5lQ2xhc3NlcylcbiAgICBjb250ZXh0LnN0YXRlID0gc3RhdGVcbiAgICBjb250ZXh0LmJhc2VUb2tlbnMgPSBudWxsXG4gICAgY29udGV4dC5iYXNlVG9rZW5Qb3MgPSAxXG4gIH1cblxuICByZXR1cm4ge3N0eWxlczogc3QsIGNsYXNzZXM6IGxpbmVDbGFzc2VzLmJnQ2xhc3MgfHwgbGluZUNsYXNzZXMudGV4dENsYXNzID8gbGluZUNsYXNzZXMgOiBudWxsfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TGluZVN0eWxlcyhjbSwgbGluZSwgdXBkYXRlRnJvbnRpZXIpIHtcbiAgaWYgKCFsaW5lLnN0eWxlcyB8fCBsaW5lLnN0eWxlc1swXSAhPSBjbS5zdGF0ZS5tb2RlR2VuKSB7XG4gICAgbGV0IGNvbnRleHQgPSBnZXRDb250ZXh0QmVmb3JlKGNtLCBsaW5lTm8obGluZSkpXG4gICAgbGV0IHJlc2V0U3RhdGUgPSBsaW5lLnRleHQubGVuZ3RoID4gY20ub3B0aW9ucy5tYXhIaWdobGlnaHRMZW5ndGggJiYgY29weVN0YXRlKGNtLmRvYy5tb2RlLCBjb250ZXh0LnN0YXRlKVxuICAgIGxldCByZXN1bHQgPSBoaWdobGlnaHRMaW5lKGNtLCBsaW5lLCBjb250ZXh0KVxuICAgIGlmIChyZXNldFN0YXRlKSBjb250ZXh0LnN0YXRlID0gcmVzZXRTdGF0ZVxuICAgIGxpbmUuc3RhdGVBZnRlciA9IGNvbnRleHQuc2F2ZSghcmVzZXRTdGF0ZSlcbiAgICBsaW5lLnN0eWxlcyA9IHJlc3VsdC5zdHlsZXNcbiAgICBpZiAocmVzdWx0LmNsYXNzZXMpIGxpbmUuc3R5bGVDbGFzc2VzID0gcmVzdWx0LmNsYXNzZXNcbiAgICBlbHNlIGlmIChsaW5lLnN0eWxlQ2xhc3NlcykgbGluZS5zdHlsZUNsYXNzZXMgPSBudWxsXG4gICAgaWYgKHVwZGF0ZUZyb250aWVyID09PSBjbS5kb2MuaGlnaGxpZ2h0RnJvbnRpZXIpXG4gICAgICBjbS5kb2MubW9kZUZyb250aWVyID0gTWF0aC5tYXgoY20uZG9jLm1vZGVGcm9udGllciwgKytjbS5kb2MuaGlnaGxpZ2h0RnJvbnRpZXIpXG4gIH1cbiAgcmV0dXJuIGxpbmUuc3R5bGVzXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRDb250ZXh0QmVmb3JlKGNtLCBuLCBwcmVjaXNlKSB7XG4gIGxldCBkb2MgPSBjbS5kb2MsIGRpc3BsYXkgPSBjbS5kaXNwbGF5XG4gIGlmICghZG9jLm1vZGUuc3RhcnRTdGF0ZSkgcmV0dXJuIG5ldyBDb250ZXh0KGRvYywgdHJ1ZSwgbilcbiAgbGV0IHN0YXJ0ID0gZmluZFN0YXJ0TGluZShjbSwgbiwgcHJlY2lzZSlcbiAgbGV0IHNhdmVkID0gc3RhcnQgPiBkb2MuZmlyc3QgJiYgZ2V0TGluZShkb2MsIHN0YXJ0IC0gMSkuc3RhdGVBZnRlclxuICBsZXQgY29udGV4dCA9IHNhdmVkID8gQ29udGV4dC5mcm9tU2F2ZWQoZG9jLCBzYXZlZCwgc3RhcnQpIDogbmV3IENvbnRleHQoZG9jLCBzdGFydFN0YXRlKGRvYy5tb2RlKSwgc3RhcnQpXG5cbiAgZG9jLml0ZXIoc3RhcnQsIG4sIGxpbmUgPT4ge1xuICAgIHByb2Nlc3NMaW5lKGNtLCBsaW5lLnRleHQsIGNvbnRleHQpXG4gICAgbGV0IHBvcyA9IGNvbnRleHQubGluZVxuICAgIGxpbmUuc3RhdGVBZnRlciA9IHBvcyA9PSBuIC0gMSB8fCBwb3MgJSA1ID09IDAgfHwgcG9zID49IGRpc3BsYXkudmlld0Zyb20gJiYgcG9zIDwgZGlzcGxheS52aWV3VG8gPyBjb250ZXh0LnNhdmUoKSA6IG51bGxcbiAgICBjb250ZXh0Lm5leHRMaW5lKClcbiAgfSlcbiAgaWYgKHByZWNpc2UpIGRvYy5tb2RlRnJvbnRpZXIgPSBjb250ZXh0LmxpbmVcbiAgcmV0dXJuIGNvbnRleHRcbn1cblxuLy8gTGlnaHR3ZWlnaHQgZm9ybSBvZiBoaWdobGlnaHQgLS0gcHJvY2VlZCBvdmVyIHRoaXMgbGluZSBhbmRcbi8vIHVwZGF0ZSBzdGF0ZSwgYnV0IGRvbid0IHNhdmUgYSBzdHlsZSBhcnJheS4gVXNlZCBmb3IgbGluZXMgdGhhdFxuLy8gYXJlbid0IGN1cnJlbnRseSB2aXNpYmxlLlxuZXhwb3J0IGZ1bmN0aW9uIHByb2Nlc3NMaW5lKGNtLCB0ZXh0LCBjb250ZXh0LCBzdGFydEF0KSB7XG4gIGxldCBtb2RlID0gY20uZG9jLm1vZGVcbiAgbGV0IHN0cmVhbSA9IG5ldyBTdHJpbmdTdHJlYW0odGV4dCwgY20ub3B0aW9ucy50YWJTaXplLCBjb250ZXh0KVxuICBzdHJlYW0uc3RhcnQgPSBzdHJlYW0ucG9zID0gc3RhcnRBdCB8fCAwXG4gIGlmICh0ZXh0ID09IFwiXCIpIGNhbGxCbGFua0xpbmUobW9kZSwgY29udGV4dC5zdGF0ZSlcbiAgd2hpbGUgKCFzdHJlYW0uZW9sKCkpIHtcbiAgICByZWFkVG9rZW4obW9kZSwgc3RyZWFtLCBjb250ZXh0LnN0YXRlKVxuICAgIHN0cmVhbS5zdGFydCA9IHN0cmVhbS5wb3NcbiAgfVxufVxuXG5mdW5jdGlvbiBjYWxsQmxhbmtMaW5lKG1vZGUsIHN0YXRlKSB7XG4gIGlmIChtb2RlLmJsYW5rTGluZSkgcmV0dXJuIG1vZGUuYmxhbmtMaW5lKHN0YXRlKVxuICBpZiAoIW1vZGUuaW5uZXJNb2RlKSByZXR1cm5cbiAgbGV0IGlubmVyID0gaW5uZXJNb2RlKG1vZGUsIHN0YXRlKVxuICBpZiAoaW5uZXIubW9kZS5ibGFua0xpbmUpIHJldHVybiBpbm5lci5tb2RlLmJsYW5rTGluZShpbm5lci5zdGF0ZSlcbn1cblxuZnVuY3Rpb24gcmVhZFRva2VuKG1vZGUsIHN0cmVhbSwgc3RhdGUsIGlubmVyKSB7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgMTA7IGkrKykge1xuICAgIGlmIChpbm5lcikgaW5uZXJbMF0gPSBpbm5lck1vZGUobW9kZSwgc3RhdGUpLm1vZGVcbiAgICBsZXQgc3R5bGUgPSBtb2RlLnRva2VuKHN0cmVhbSwgc3RhdGUpXG4gICAgaWYgKHN0cmVhbS5wb3MgPiBzdHJlYW0uc3RhcnQpIHJldHVybiBzdHlsZVxuICB9XG4gIHRocm93IG5ldyBFcnJvcihcIk1vZGUgXCIgKyBtb2RlLm5hbWUgKyBcIiBmYWlsZWQgdG8gYWR2YW5jZSBzdHJlYW0uXCIpXG59XG5cbmNsYXNzIFRva2VuIHtcbiAgY29uc3RydWN0b3Ioc3RyZWFtLCB0eXBlLCBzdGF0ZSkge1xuICAgIHRoaXMuc3RhcnQgPSBzdHJlYW0uc3RhcnQ7IHRoaXMuZW5kID0gc3RyZWFtLnBvc1xuICAgIHRoaXMuc3RyaW5nID0gc3RyZWFtLmN1cnJlbnQoKVxuICAgIHRoaXMudHlwZSA9IHR5cGUgfHwgbnVsbFxuICAgIHRoaXMuc3RhdGUgPSBzdGF0ZVxuICB9XG59XG5cbi8vIFV0aWxpdHkgZm9yIGdldFRva2VuQXQgYW5kIGdldExpbmVUb2tlbnNcbmV4cG9ydCBmdW5jdGlvbiB0YWtlVG9rZW4oY20sIHBvcywgcHJlY2lzZSwgYXNBcnJheSkge1xuICBsZXQgZG9jID0gY20uZG9jLCBtb2RlID0gZG9jLm1vZGUsIHN0eWxlXG4gIHBvcyA9IGNsaXBQb3MoZG9jLCBwb3MpXG4gIGxldCBsaW5lID0gZ2V0TGluZShkb2MsIHBvcy5saW5lKSwgY29udGV4dCA9IGdldENvbnRleHRCZWZvcmUoY20sIHBvcy5saW5lLCBwcmVjaXNlKVxuICBsZXQgc3RyZWFtID0gbmV3IFN0cmluZ1N0cmVhbShsaW5lLnRleHQsIGNtLm9wdGlvbnMudGFiU2l6ZSwgY29udGV4dCksIHRva2Vuc1xuICBpZiAoYXNBcnJheSkgdG9rZW5zID0gW11cbiAgd2hpbGUgKChhc0FycmF5IHx8IHN0cmVhbS5wb3MgPCBwb3MuY2gpICYmICFzdHJlYW0uZW9sKCkpIHtcbiAgICBzdHJlYW0uc3RhcnQgPSBzdHJlYW0ucG9zXG4gICAgc3R5bGUgPSByZWFkVG9rZW4obW9kZSwgc3RyZWFtLCBjb250ZXh0LnN0YXRlKVxuICAgIGlmIChhc0FycmF5KSB0b2tlbnMucHVzaChuZXcgVG9rZW4oc3RyZWFtLCBzdHlsZSwgY29weVN0YXRlKGRvYy5tb2RlLCBjb250ZXh0LnN0YXRlKSkpXG4gIH1cbiAgcmV0dXJuIGFzQXJyYXkgPyB0b2tlbnMgOiBuZXcgVG9rZW4oc3RyZWFtLCBzdHlsZSwgY29udGV4dC5zdGF0ZSlcbn1cblxuZnVuY3Rpb24gZXh0cmFjdExpbmVDbGFzc2VzKHR5cGUsIG91dHB1dCkge1xuICBpZiAodHlwZSkgZm9yICg7Oykge1xuICAgIGxldCBsaW5lQ2xhc3MgPSB0eXBlLm1hdGNoKC8oPzpefFxccyspbGluZS0oYmFja2dyb3VuZC0pPyhcXFMrKS8pXG4gICAgaWYgKCFsaW5lQ2xhc3MpIGJyZWFrXG4gICAgdHlwZSA9IHR5cGUuc2xpY2UoMCwgbGluZUNsYXNzLmluZGV4KSArIHR5cGUuc2xpY2UobGluZUNsYXNzLmluZGV4ICsgbGluZUNsYXNzWzBdLmxlbmd0aClcbiAgICBsZXQgcHJvcCA9IGxpbmVDbGFzc1sxXSA/IFwiYmdDbGFzc1wiIDogXCJ0ZXh0Q2xhc3NcIlxuICAgIGlmIChvdXRwdXRbcHJvcF0gPT0gbnVsbClcbiAgICAgIG91dHB1dFtwcm9wXSA9IGxpbmVDbGFzc1syXVxuICAgIGVsc2UgaWYgKCEobmV3IFJlZ0V4cChcIig/Ol58XFxzKVwiICsgbGluZUNsYXNzWzJdICsgXCIoPzokfFxccylcIikpLnRlc3Qob3V0cHV0W3Byb3BdKSlcbiAgICAgIG91dHB1dFtwcm9wXSArPSBcIiBcIiArIGxpbmVDbGFzc1syXVxuICB9XG4gIHJldHVybiB0eXBlXG59XG5cbi8vIFJ1biB0aGUgZ2l2ZW4gbW9kZSdzIHBhcnNlciBvdmVyIGEgbGluZSwgY2FsbGluZyBmIGZvciBlYWNoIHRva2VuLlxuZnVuY3Rpb24gcnVuTW9kZShjbSwgdGV4dCwgbW9kZSwgY29udGV4dCwgZiwgbGluZUNsYXNzZXMsIGZvcmNlVG9FbmQpIHtcbiAgbGV0IGZsYXR0ZW5TcGFucyA9IG1vZGUuZmxhdHRlblNwYW5zXG4gIGlmIChmbGF0dGVuU3BhbnMgPT0gbnVsbCkgZmxhdHRlblNwYW5zID0gY20ub3B0aW9ucy5mbGF0dGVuU3BhbnNcbiAgbGV0IGN1clN0YXJ0ID0gMCwgY3VyU3R5bGUgPSBudWxsXG4gIGxldCBzdHJlYW0gPSBuZXcgU3RyaW5nU3RyZWFtKHRleHQsIGNtLm9wdGlvbnMudGFiU2l6ZSwgY29udGV4dCksIHN0eWxlXG4gIGxldCBpbm5lciA9IGNtLm9wdGlvbnMuYWRkTW9kZUNsYXNzICYmIFtudWxsXVxuICBpZiAodGV4dCA9PSBcIlwiKSBleHRyYWN0TGluZUNsYXNzZXMoY2FsbEJsYW5rTGluZShtb2RlLCBjb250ZXh0LnN0YXRlKSwgbGluZUNsYXNzZXMpXG4gIHdoaWxlICghc3RyZWFtLmVvbCgpKSB7XG4gICAgaWYgKHN0cmVhbS5wb3MgPiBjbS5vcHRpb25zLm1heEhpZ2hsaWdodExlbmd0aCkge1xuICAgICAgZmxhdHRlblNwYW5zID0gZmFsc2VcbiAgICAgIGlmIChmb3JjZVRvRW5kKSBwcm9jZXNzTGluZShjbSwgdGV4dCwgY29udGV4dCwgc3RyZWFtLnBvcylcbiAgICAgIHN0cmVhbS5wb3MgPSB0ZXh0Lmxlbmd0aFxuICAgICAgc3R5bGUgPSBudWxsXG4gICAgfSBlbHNlIHtcbiAgICAgIHN0eWxlID0gZXh0cmFjdExpbmVDbGFzc2VzKHJlYWRUb2tlbihtb2RlLCBzdHJlYW0sIGNvbnRleHQuc3RhdGUsIGlubmVyKSwgbGluZUNsYXNzZXMpXG4gICAgfVxuICAgIGlmIChpbm5lcikge1xuICAgICAgbGV0IG1OYW1lID0gaW5uZXJbMF0ubmFtZVxuICAgICAgaWYgKG1OYW1lKSBzdHlsZSA9IFwibS1cIiArIChzdHlsZSA/IG1OYW1lICsgXCIgXCIgKyBzdHlsZSA6IG1OYW1lKVxuICAgIH1cbiAgICBpZiAoIWZsYXR0ZW5TcGFucyB8fCBjdXJTdHlsZSAhPSBzdHlsZSkge1xuICAgICAgd2hpbGUgKGN1clN0YXJ0IDwgc3RyZWFtLnN0YXJ0KSB7XG4gICAgICAgIGN1clN0YXJ0ID0gTWF0aC5taW4oc3RyZWFtLnN0YXJ0LCBjdXJTdGFydCArIDUwMDApXG4gICAgICAgIGYoY3VyU3RhcnQsIGN1clN0eWxlKVxuICAgICAgfVxuICAgICAgY3VyU3R5bGUgPSBzdHlsZVxuICAgIH1cbiAgICBzdHJlYW0uc3RhcnQgPSBzdHJlYW0ucG9zXG4gIH1cbiAgd2hpbGUgKGN1clN0YXJ0IDwgc3RyZWFtLnBvcykge1xuICAgIC8vIFdlYmtpdCBzZWVtcyB0byByZWZ1c2UgdG8gcmVuZGVyIHRleHQgbm9kZXMgbG9uZ2VyIHRoYW4gNTc0NDRcbiAgICAvLyBjaGFyYWN0ZXJzLCBhbmQgcmV0dXJucyBpbmFjY3VyYXRlIG1lYXN1cmVtZW50cyBpbiBub2Rlc1xuICAgIC8vIHN0YXJ0aW5nIGFyb3VuZCA1MDAwIGNoYXJzLlxuICAgIGxldCBwb3MgPSBNYXRoLm1pbihzdHJlYW0ucG9zLCBjdXJTdGFydCArIDUwMDApXG4gICAgZihwb3MsIGN1clN0eWxlKVxuICAgIGN1clN0YXJ0ID0gcG9zXG4gIH1cbn1cblxuLy8gRmluZHMgdGhlIGxpbmUgdG8gc3RhcnQgd2l0aCB3aGVuIHN0YXJ0aW5nIGEgcGFyc2UuIFRyaWVzIHRvXG4vLyBmaW5kIGEgbGluZSB3aXRoIGEgc3RhdGVBZnRlciwgc28gdGhhdCBpdCBjYW4gc3RhcnQgd2l0aCBhXG4vLyB2YWxpZCBzdGF0ZS4gSWYgdGhhdCBmYWlscywgaXQgcmV0dXJucyB0aGUgbGluZSB3aXRoIHRoZVxuLy8gc21hbGxlc3QgaW5kZW50YXRpb24sIHdoaWNoIHRlbmRzIHRvIG5lZWQgdGhlIGxlYXN0IGNvbnRleHQgdG9cbi8vIHBhcnNlIGNvcnJlY3RseS5cbmZ1bmN0aW9uIGZpbmRTdGFydExpbmUoY20sIG4sIHByZWNpc2UpIHtcbiAgbGV0IG1pbmluZGVudCwgbWlubGluZSwgZG9jID0gY20uZG9jXG4gIGxldCBsaW0gPSBwcmVjaXNlID8gLTEgOiBuIC0gKGNtLmRvYy5tb2RlLmlubmVyTW9kZSA/IDEwMDAgOiAxMDApXG4gIGZvciAobGV0IHNlYXJjaCA9IG47IHNlYXJjaCA+IGxpbTsgLS1zZWFyY2gpIHtcbiAgICBpZiAoc2VhcmNoIDw9IGRvYy5maXJzdCkgcmV0dXJuIGRvYy5maXJzdFxuICAgIGxldCBsaW5lID0gZ2V0TGluZShkb2MsIHNlYXJjaCAtIDEpLCBhZnRlciA9IGxpbmUuc3RhdGVBZnRlclxuICAgIGlmIChhZnRlciAmJiAoIXByZWNpc2UgfHwgc2VhcmNoICsgKGFmdGVyIGluc3RhbmNlb2YgU2F2ZWRDb250ZXh0ID8gYWZ0ZXIubG9va0FoZWFkIDogMCkgPD0gZG9jLm1vZGVGcm9udGllcikpXG4gICAgICByZXR1cm4gc2VhcmNoXG4gICAgbGV0IGluZGVudGVkID0gY291bnRDb2x1bW4obGluZS50ZXh0LCBudWxsLCBjbS5vcHRpb25zLnRhYlNpemUpXG4gICAgaWYgKG1pbmxpbmUgPT0gbnVsbCB8fCBtaW5pbmRlbnQgPiBpbmRlbnRlZCkge1xuICAgICAgbWlubGluZSA9IHNlYXJjaCAtIDFcbiAgICAgIG1pbmluZGVudCA9IGluZGVudGVkXG4gICAgfVxuICB9XG4gIHJldHVybiBtaW5saW5lXG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZXRyZWF0RnJvbnRpZXIoZG9jLCBuKSB7XG4gIGRvYy5tb2RlRnJvbnRpZXIgPSBNYXRoLm1pbihkb2MubW9kZUZyb250aWVyLCBuKVxuICBpZiAoZG9jLmhpZ2hsaWdodEZyb250aWVyIDwgbiAtIDEwKSByZXR1cm5cbiAgbGV0IHN0YXJ0ID0gZG9jLmZpcnN0XG4gIGZvciAobGV0IGxpbmUgPSBuIC0gMTsgbGluZSA+IHN0YXJ0OyBsaW5lLS0pIHtcbiAgICBsZXQgc2F2ZWQgPSBnZXRMaW5lKGRvYywgbGluZSkuc3RhdGVBZnRlclxuICAgIC8vIGNoYW5nZSBpcyBvbiAzXG4gICAgLy8gc3RhdGUgb24gbGluZSAxIGxvb2tlZCBhaGVhZCAyIC0tIHNvIHNhdyAzXG4gICAgLy8gdGVzdCAxICsgMiA8IDMgc2hvdWxkIGNvdmVyIHRoaXNcbiAgICBpZiAoc2F2ZWQgJiYgKCEoc2F2ZWQgaW5zdGFuY2VvZiBTYXZlZENvbnRleHQpIHx8IGxpbmUgKyBzYXZlZC5sb29rQWhlYWQgPCBuKSkge1xuICAgICAgc3RhcnQgPSBsaW5lICsgMVxuICAgICAgYnJlYWtcbiAgICB9XG4gIH1cbiAgZG9jLmhpZ2hsaWdodEZyb250aWVyID0gTWF0aC5taW4oZG9jLmhpZ2hsaWdodEZyb250aWVyLCBzdGFydClcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTEE7QUFDQTtBQU1BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBREE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQXpDQTtBQTZDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBREE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFQQTtBQUNBO0FBQ0E7QUFRQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFEQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/codemirror/src/line/highlight.js\n"); /***/ }), /***/ "./node_modules/codemirror/src/line/line_data.js": /*!*******************************************************!*\ !*** ./node_modules/codemirror/src/line/line_data.js ***! \*******************************************************/ /*! exports provided: Line, updateLine, cleanUpLine, buildLineContent, defaultSpecialCharPlaceholder, LineView, buildViewArray */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Line\", function() { return Line; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"updateLine\", function() { return updateLine; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"cleanUpLine\", function() { return cleanUpLine; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"buildLineContent\", function() { return buildLineContent; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"defaultSpecialCharPlaceholder\", function() { return defaultSpecialCharPlaceholder; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"LineView\", function() { return LineView; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"buildViewArray\", function() { return buildViewArray; });\n/* harmony import */ var _util_bidi_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../util/bidi.js */ \"./node_modules/codemirror/src/util/bidi.js\");\n/* harmony import */ var _util_browser_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../util/browser.js */ \"./node_modules/codemirror/src/util/browser.js\");\n/* harmony import */ var _util_dom_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../util/dom.js */ \"./node_modules/codemirror/src/util/dom.js\");\n/* harmony import */ var _util_event_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../util/event.js */ \"./node_modules/codemirror/src/util/event.js\");\n/* harmony import */ var _util_feature_detection_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../util/feature_detection.js */ \"./node_modules/codemirror/src/util/feature_detection.js\");\n/* harmony import */ var _util_misc_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../util/misc.js */ \"./node_modules/codemirror/src/util/misc.js\");\n/* harmony import */ var _highlight_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./highlight.js */ \"./node_modules/codemirror/src/line/highlight.js\");\n/* harmony import */ var _spans_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./spans.js */ \"./node_modules/codemirror/src/line/spans.js\");\n/* harmony import */ var _utils_line_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./utils_line.js */ \"./node_modules/codemirror/src/line/utils_line.js\");\n\n\n\n\n\n\n\n\n // LINE DATA STRUCTURE\n// Line objects. These hold state related to a line, including\n// highlighting info (the styles array).\n\nclass Line {\n constructor(text, markedSpans, estimateHeight) {\n this.text = text;\n Object(_spans_js__WEBPACK_IMPORTED_MODULE_7__[\"attachMarkedSpans\"])(this, markedSpans);\n this.height = estimateHeight ? estimateHeight(this) : 1;\n }\n\n lineNo() {\n return Object(_utils_line_js__WEBPACK_IMPORTED_MODULE_8__[\"lineNo\"])(this);\n }\n\n}\nObject(_util_event_js__WEBPACK_IMPORTED_MODULE_3__[\"eventMixin\"])(Line); // Change the content (text, markers) of a line. Automatically\n// invalidates cached information and tries to re-estimate the\n// line's height.\n\nfunction updateLine(line, text, markedSpans, estimateHeight) {\n line.text = text;\n if (line.stateAfter) line.stateAfter = null;\n if (line.styles) line.styles = null;\n if (line.order != null) line.order = null;\n Object(_spans_js__WEBPACK_IMPORTED_MODULE_7__[\"detachMarkedSpans\"])(line);\n Object(_spans_js__WEBPACK_IMPORTED_MODULE_7__[\"attachMarkedSpans\"])(line, markedSpans);\n let estHeight = estimateHeight ? estimateHeight(line) : 1;\n if (estHeight != line.height) Object(_utils_line_js__WEBPACK_IMPORTED_MODULE_8__[\"updateLineHeight\"])(line, estHeight);\n} // Detach a line from the document tree and its markers.\n\nfunction cleanUpLine(line) {\n line.parent = null;\n Object(_spans_js__WEBPACK_IMPORTED_MODULE_7__[\"detachMarkedSpans\"])(line);\n} // Convert a style as returned by a mode (either null, or a string\n// containing one or more styles) to a CSS style. This is cached,\n// and also looks for line-wide styles.\n\nlet styleToClassCache = {},\n styleToClassCacheWithMode = {};\n\nfunction interpretTokenStyle(style, options) {\n if (!style || /^\\s*$/.test(style)) return null;\n let cache = options.addModeClass ? styleToClassCacheWithMode : styleToClassCache;\n return cache[style] || (cache[style] = style.replace(/\\S+/g, \"cm-$&\"));\n} // Render the DOM representation of the text of a line. Also builds\n// up a 'line map', which points at the DOM nodes that represent\n// specific stretches of text, and is used by the measuring code.\n// The returned object contains the DOM node, this map, and\n// information about line-wide styles that were set by the mode.\n\n\nfunction buildLineContent(cm, lineView) {\n // The padding-right forces the element to have a 'border', which\n // is needed on Webkit to be able to get line-level bounding\n // rectangles for it (in measureChar).\n let content = Object(_util_dom_js__WEBPACK_IMPORTED_MODULE_2__[\"eltP\"])(\"span\", null, null, _util_browser_js__WEBPACK_IMPORTED_MODULE_1__[\"webkit\"] ? \"padding-right: .1px\" : null);\n let builder = {\n pre: Object(_util_dom_js__WEBPACK_IMPORTED_MODULE_2__[\"eltP\"])(\"pre\", [content], \"CodeMirror-line\"),\n content: content,\n col: 0,\n pos: 0,\n cm: cm,\n trailingSpace: false,\n splitSpaces: cm.getOption(\"lineWrapping\")\n };\n lineView.measure = {}; // Iterate over the logical lines that make up this visual line.\n\n for (let i = 0; i <= (lineView.rest ? lineView.rest.length : 0); i++) {\n let line = i ? lineView.rest[i - 1] : lineView.line,\n order;\n builder.pos = 0;\n builder.addToken = buildToken; // Optionally wire in some hacks into the token-rendering\n // algorithm, to deal with browser quirks.\n\n if (Object(_util_feature_detection_js__WEBPACK_IMPORTED_MODULE_4__[\"hasBadBidiRects\"])(cm.display.measure) && (order = Object(_util_bidi_js__WEBPACK_IMPORTED_MODULE_0__[\"getOrder\"])(line, cm.doc.direction))) builder.addToken = buildTokenBadBidi(builder.addToken, order);\n builder.map = [];\n let allowFrontierUpdate = lineView != cm.display.externalMeasured && Object(_utils_line_js__WEBPACK_IMPORTED_MODULE_8__[\"lineNo\"])(line);\n insertLineContent(line, builder, Object(_highlight_js__WEBPACK_IMPORTED_MODULE_6__[\"getLineStyles\"])(cm, line, allowFrontierUpdate));\n\n if (line.styleClasses) {\n if (line.styleClasses.bgClass) builder.bgClass = Object(_util_dom_js__WEBPACK_IMPORTED_MODULE_2__[\"joinClasses\"])(line.styleClasses.bgClass, builder.bgClass || \"\");\n if (line.styleClasses.textClass) builder.textClass = Object(_util_dom_js__WEBPACK_IMPORTED_MODULE_2__[\"joinClasses\"])(line.styleClasses.textClass, builder.textClass || \"\");\n } // Ensure at least a single node is present, for measuring.\n\n\n if (builder.map.length == 0) builder.map.push(0, 0, builder.content.appendChild(Object(_util_feature_detection_js__WEBPACK_IMPORTED_MODULE_4__[\"zeroWidthElement\"])(cm.display.measure))); // Store the map and a cache object for the current logical line\n\n if (i == 0) {\n lineView.measure.map = builder.map;\n lineView.measure.cache = {};\n } else {\n ;\n (lineView.measure.maps || (lineView.measure.maps = [])).push(builder.map);\n (lineView.measure.caches || (lineView.measure.caches = [])).push({});\n }\n } // See issue #2901\n\n\n if (_util_browser_js__WEBPACK_IMPORTED_MODULE_1__[\"webkit\"]) {\n let last = builder.content.lastChild;\n if (/\\bcm-tab\\b/.test(last.className) || last.querySelector && last.querySelector(\".cm-tab\")) builder.content.className = \"cm-tab-wrap-hack\";\n }\n\n Object(_util_event_js__WEBPACK_IMPORTED_MODULE_3__[\"signal\"])(cm, \"renderLine\", cm, lineView.line, builder.pre);\n if (builder.pre.className) builder.textClass = Object(_util_dom_js__WEBPACK_IMPORTED_MODULE_2__[\"joinClasses\"])(builder.pre.className, builder.textClass || \"\");\n return builder;\n}\nfunction defaultSpecialCharPlaceholder(ch) {\n let token = Object(_util_dom_js__WEBPACK_IMPORTED_MODULE_2__[\"elt\"])(\"span\", \"\\u2022\", \"cm-invalidchar\");\n token.title = \"\\\\u\" + ch.charCodeAt(0).toString(16);\n token.setAttribute(\"aria-label\", token.title);\n return token;\n} // Build up the DOM representation for a single token, and add it to\n// the line map. Takes care to render special characters separately.\n\nfunction buildToken(builder, text, style, startStyle, endStyle, css, attributes) {\n if (!text) return;\n let displayText = builder.splitSpaces ? splitSpaces(text, builder.trailingSpace) : text;\n let special = builder.cm.state.specialChars,\n mustWrap = false;\n let content;\n\n if (!special.test(text)) {\n builder.col += text.length;\n content = document.createTextNode(displayText);\n builder.map.push(builder.pos, builder.pos + text.length, content);\n if (_util_browser_js__WEBPACK_IMPORTED_MODULE_1__[\"ie\"] && _util_browser_js__WEBPACK_IMPORTED_MODULE_1__[\"ie_version\"] < 9) mustWrap = true;\n builder.pos += text.length;\n } else {\n content = document.createDocumentFragment();\n let pos = 0;\n\n while (true) {\n special.lastIndex = pos;\n let m = special.exec(text);\n let skipped = m ? m.index - pos : text.length - pos;\n\n if (skipped) {\n let txt = document.createTextNode(displayText.slice(pos, pos + skipped));\n if (_util_browser_js__WEBPACK_IMPORTED_MODULE_1__[\"ie\"] && _util_browser_js__WEBPACK_IMPORTED_MODULE_1__[\"ie_version\"] < 9) content.appendChild(Object(_util_dom_js__WEBPACK_IMPORTED_MODULE_2__[\"elt\"])(\"span\", [txt]));else content.appendChild(txt);\n builder.map.push(builder.pos, builder.pos + skipped, txt);\n builder.col += skipped;\n builder.pos += skipped;\n }\n\n if (!m) break;\n pos += skipped + 1;\n let txt;\n\n if (m[0] == \"\\t\") {\n let tabSize = builder.cm.options.tabSize,\n tabWidth = tabSize - builder.col % tabSize;\n txt = content.appendChild(Object(_util_dom_js__WEBPACK_IMPORTED_MODULE_2__[\"elt\"])(\"span\", Object(_util_misc_js__WEBPACK_IMPORTED_MODULE_5__[\"spaceStr\"])(tabWidth), \"cm-tab\"));\n txt.setAttribute(\"role\", \"presentation\");\n txt.setAttribute(\"cm-text\", \"\\t\");\n builder.col += tabWidth;\n } else if (m[0] == \"\\r\" || m[0] == \"\\n\") {\n txt = content.appendChild(Object(_util_dom_js__WEBPACK_IMPORTED_MODULE_2__[\"elt\"])(\"span\", m[0] == \"\\r\" ? \"\\u240d\" : \"\\u2424\", \"cm-invalidchar\"));\n txt.setAttribute(\"cm-text\", m[0]);\n builder.col += 1;\n } else {\n txt = builder.cm.options.specialCharPlaceholder(m[0]);\n txt.setAttribute(\"cm-text\", m[0]);\n if (_util_browser_js__WEBPACK_IMPORTED_MODULE_1__[\"ie\"] && _util_browser_js__WEBPACK_IMPORTED_MODULE_1__[\"ie_version\"] < 9) content.appendChild(Object(_util_dom_js__WEBPACK_IMPORTED_MODULE_2__[\"elt\"])(\"span\", [txt]));else content.appendChild(txt);\n builder.col += 1;\n }\n\n builder.map.push(builder.pos, builder.pos + 1, txt);\n builder.pos++;\n }\n }\n\n builder.trailingSpace = displayText.charCodeAt(text.length - 1) == 32;\n\n if (style || startStyle || endStyle || mustWrap || css) {\n let fullStyle = style || \"\";\n if (startStyle) fullStyle += startStyle;\n if (endStyle) fullStyle += endStyle;\n let token = Object(_util_dom_js__WEBPACK_IMPORTED_MODULE_2__[\"elt\"])(\"span\", [content], fullStyle, css);\n\n if (attributes) {\n for (let attr in attributes) if (attributes.hasOwnProperty(attr) && attr != \"style\" && attr != \"class\") token.setAttribute(attr, attributes[attr]);\n }\n\n return builder.content.appendChild(token);\n }\n\n builder.content.appendChild(content);\n} // Change some spaces to NBSP to prevent the browser from collapsing\n// trailing spaces at the end of a line when rendering text (issue #1362).\n\n\nfunction splitSpaces(text, trailingBefore) {\n if (text.length > 1 && !/ /.test(text)) return text;\n let spaceBefore = trailingBefore,\n result = \"\";\n\n for (let i = 0; i < text.length; i++) {\n let ch = text.charAt(i);\n if (ch == \" \" && spaceBefore && (i == text.length - 1 || text.charCodeAt(i + 1) == 32)) ch = \"\\u00a0\";\n result += ch;\n spaceBefore = ch == \" \";\n }\n\n return result;\n} // Work around nonsense dimensions being reported for stretches of\n// right-to-left text.\n\n\nfunction buildTokenBadBidi(inner, order) {\n return (builder, text, style, startStyle, endStyle, css, attributes) => {\n style = style ? style + \" cm-force-border\" : \"cm-force-border\";\n let start = builder.pos,\n end = start + text.length;\n\n for (;;) {\n // Find the part that overlaps with the start of this text\n let part;\n\n for (let i = 0; i < order.length; i++) {\n part = order[i];\n if (part.to > start && part.from <= start) break;\n }\n\n if (part.to >= end) return inner(builder, text, style, startStyle, endStyle, css, attributes);\n inner(builder, text.slice(0, part.to - start), style, startStyle, null, css, attributes);\n startStyle = null;\n text = text.slice(part.to - start);\n start = part.to;\n }\n };\n}\n\nfunction buildCollapsedSpan(builder, size, marker, ignoreWidget) {\n let widget = !ignoreWidget && marker.widgetNode;\n if (widget) builder.map.push(builder.pos, builder.pos + size, widget);\n\n if (!ignoreWidget && builder.cm.display.input.needsContentAttribute) {\n if (!widget) widget = builder.content.appendChild(document.createElement(\"span\"));\n widget.setAttribute(\"cm-marker\", marker.id);\n }\n\n if (widget) {\n builder.cm.display.input.setUneditable(widget);\n builder.content.appendChild(widget);\n }\n\n builder.pos += size;\n builder.trailingSpace = false;\n} // Outputs a number of spans to make up a line, taking highlighting\n// and marked text into account.\n\n\nfunction insertLineContent(line, builder, styles) {\n let spans = line.markedSpans,\n allText = line.text,\n at = 0;\n\n if (!spans) {\n for (let i = 1; i < styles.length; i += 2) builder.addToken(builder, allText.slice(at, at = styles[i]), interpretTokenStyle(styles[i + 1], builder.cm.options));\n\n return;\n }\n\n let len = allText.length,\n pos = 0,\n i = 1,\n text = \"\",\n style,\n css;\n let nextChange = 0,\n spanStyle,\n spanEndStyle,\n spanStartStyle,\n collapsed,\n attributes;\n\n for (;;) {\n if (nextChange == pos) {\n // Update current marker set\n spanStyle = spanEndStyle = spanStartStyle = css = \"\";\n attributes = null;\n collapsed = null;\n nextChange = Infinity;\n let foundBookmarks = [],\n endStyles;\n\n for (let j = 0; j < spans.length; ++j) {\n let sp = spans[j],\n m = sp.marker;\n\n if (m.type == \"bookmark\" && sp.from == pos && m.widgetNode) {\n foundBookmarks.push(m);\n } else if (sp.from <= pos && (sp.to == null || sp.to > pos || m.collapsed && sp.to == pos && sp.from == pos)) {\n if (sp.to != null && sp.to != pos && nextChange > sp.to) {\n nextChange = sp.to;\n spanEndStyle = \"\";\n }\n\n if (m.className) spanStyle += \" \" + m.className;\n if (m.css) css = (css ? css + \";\" : \"\") + m.css;\n if (m.startStyle && sp.from == pos) spanStartStyle += \" \" + m.startStyle;\n if (m.endStyle && sp.to == nextChange) (endStyles || (endStyles = [])).push(m.endStyle, sp.to); // support for the old title property\n // https://github.com/codemirror/CodeMirror/pull/5673\n\n if (m.title) (attributes || (attributes = {})).title = m.title;\n\n if (m.attributes) {\n for (let attr in m.attributes) (attributes || (attributes = {}))[attr] = m.attributes[attr];\n }\n\n if (m.collapsed && (!collapsed || Object(_spans_js__WEBPACK_IMPORTED_MODULE_7__[\"compareCollapsedMarkers\"])(collapsed.marker, m) < 0)) collapsed = sp;\n } else if (sp.from > pos && nextChange > sp.from) {\n nextChange = sp.from;\n }\n }\n\n if (endStyles) for (let j = 0; j < endStyles.length; j += 2) if (endStyles[j + 1] == nextChange) spanEndStyle += \" \" + endStyles[j];\n if (!collapsed || collapsed.from == pos) for (let j = 0; j < foundBookmarks.length; ++j) buildCollapsedSpan(builder, 0, foundBookmarks[j]);\n\n if (collapsed && (collapsed.from || 0) == pos) {\n buildCollapsedSpan(builder, (collapsed.to == null ? len + 1 : collapsed.to) - pos, collapsed.marker, collapsed.from == null);\n if (collapsed.to == null) return;\n if (collapsed.to == pos) collapsed = false;\n }\n }\n\n if (pos >= len) break;\n let upto = Math.min(len, nextChange);\n\n while (true) {\n if (text) {\n let end = pos + text.length;\n\n if (!collapsed) {\n let tokenText = end > upto ? text.slice(0, upto - pos) : text;\n builder.addToken(builder, tokenText, style ? style + spanStyle : spanStyle, spanStartStyle, pos + tokenText.length == nextChange ? spanEndStyle : \"\", css, attributes);\n }\n\n if (end >= upto) {\n text = text.slice(upto - pos);\n pos = upto;\n break;\n }\n\n pos = end;\n spanStartStyle = \"\";\n }\n\n text = allText.slice(at, at = styles[i++]);\n style = interpretTokenStyle(styles[i++], builder.cm.options);\n }\n }\n} // These objects are used to represent the visible (currently drawn)\n// part of the document. A LineView may correspond to multiple\n// logical lines, if those are connected by collapsed ranges.\n\n\nfunction LineView(doc, line, lineN) {\n // The starting line\n this.line = line; // Continuing lines, if any\n\n this.rest = Object(_spans_js__WEBPACK_IMPORTED_MODULE_7__[\"visualLineContinued\"])(line); // Number of logical lines in this visual line\n\n this.size = this.rest ? Object(_utils_line_js__WEBPACK_IMPORTED_MODULE_8__[\"lineNo\"])(Object(_util_misc_js__WEBPACK_IMPORTED_MODULE_5__[\"lst\"])(this.rest)) - lineN + 1 : 1;\n this.node = this.text = null;\n this.hidden = Object(_spans_js__WEBPACK_IMPORTED_MODULE_7__[\"lineIsHidden\"])(doc, line);\n} // Create a range of LineView objects for the given lines.\n\nfunction buildViewArray(cm, from, to) {\n let array = [],\n nextPos;\n\n for (let pos = from; pos < to; pos = nextPos) {\n let view = new LineView(cm.doc, Object(_utils_line_js__WEBPACK_IMPORTED_MODULE_8__[\"getLine\"])(cm.doc, pos), pos);\n nextPos = pos + view.size;\n array.push(view);\n }\n\n return array;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9zcmMvbGluZS9saW5lX2RhdGEuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9zcmMvbGluZS9saW5lX2RhdGEuanM/ZWYzNiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBnZXRPcmRlciB9IGZyb20gXCIuLi91dGlsL2JpZGkuanNcIlxuaW1wb3J0IHsgaWUsIGllX3ZlcnNpb24sIHdlYmtpdCB9IGZyb20gXCIuLi91dGlsL2Jyb3dzZXIuanNcIlxuaW1wb3J0IHsgZWx0LCBlbHRQLCBqb2luQ2xhc3NlcyB9IGZyb20gXCIuLi91dGlsL2RvbS5qc1wiXG5pbXBvcnQgeyBldmVudE1peGluLCBzaWduYWwgfSBmcm9tIFwiLi4vdXRpbC9ldmVudC5qc1wiXG5pbXBvcnQgeyBoYXNCYWRCaWRpUmVjdHMsIHplcm9XaWR0aEVsZW1lbnQgfSBmcm9tIFwiLi4vdXRpbC9mZWF0dXJlX2RldGVjdGlvbi5qc1wiXG5pbXBvcnQgeyBsc3QsIHNwYWNlU3RyIH0gZnJvbSBcIi4uL3V0aWwvbWlzYy5qc1wiXG5cbmltcG9ydCB7IGdldExpbmVTdHlsZXMgfSBmcm9tIFwiLi9oaWdobGlnaHQuanNcIlxuaW1wb3J0IHsgYXR0YWNoTWFya2VkU3BhbnMsIGNvbXBhcmVDb2xsYXBzZWRNYXJrZXJzLCBkZXRhY2hNYXJrZWRTcGFucywgbGluZUlzSGlkZGVuLCB2aXN1YWxMaW5lQ29udGludWVkIH0gZnJvbSBcIi4vc3BhbnMuanNcIlxuaW1wb3J0IHsgZ2V0TGluZSwgbGluZU5vLCB1cGRhdGVMaW5lSGVpZ2h0IH0gZnJvbSBcIi4vdXRpbHNfbGluZS5qc1wiXG5cbi8vIExJTkUgREFUQSBTVFJVQ1RVUkVcblxuLy8gTGluZSBvYmplY3RzLiBUaGVzZSBob2xkIHN0YXRlIHJlbGF0ZWQgdG8gYSBsaW5lLCBpbmNsdWRpbmdcbi8vIGhpZ2hsaWdodGluZyBpbmZvICh0aGUgc3R5bGVzIGFycmF5KS5cbmV4cG9ydCBjbGFzcyBMaW5lIHtcbiAgY29uc3RydWN0b3IodGV4dCwgbWFya2VkU3BhbnMsIGVzdGltYXRlSGVpZ2h0KSB7XG4gICAgdGhpcy50ZXh0ID0gdGV4dFxuICAgIGF0dGFjaE1hcmtlZFNwYW5zKHRoaXMsIG1hcmtlZFNwYW5zKVxuICAgIHRoaXMuaGVpZ2h0ID0gZXN0aW1hdGVIZWlnaHQgPyBlc3RpbWF0ZUhlaWdodCh0aGlzKSA6IDFcbiAgfVxuXG4gIGxpbmVObygpIHsgcmV0dXJuIGxpbmVObyh0aGlzKSB9XG59XG5ldmVudE1peGluKExpbmUpXG5cbi8vIENoYW5nZSB0aGUgY29udGVudCAodGV4dCwgbWFya2Vycykgb2YgYSBsaW5lLiBBdXRvbWF0aWNhbGx5XG4vLyBpbnZhbGlkYXRlcyBjYWNoZWQgaW5mb3JtYXRpb24gYW5kIHRyaWVzIHRvIHJlLWVzdGltYXRlIHRoZVxuLy8gbGluZSdzIGhlaWdodC5cbmV4cG9ydCBmdW5jdGlvbiB1cGRhdGVMaW5lKGxpbmUsIHRleHQsIG1hcmtlZFNwYW5zLCBlc3RpbWF0ZUhlaWdodCkge1xuICBsaW5lLnRleHQgPSB0ZXh0XG4gIGlmIChsaW5lLnN0YXRlQWZ0ZXIpIGxpbmUuc3RhdGVBZnRlciA9IG51bGxcbiAgaWYgKGxpbmUuc3R5bGVzKSBsaW5lLnN0eWxlcyA9IG51bGxcbiAgaWYgKGxpbmUub3JkZXIgIT0gbnVsbCkgbGluZS5vcmRlciA9IG51bGxcbiAgZGV0YWNoTWFya2VkU3BhbnMobGluZSlcbiAgYXR0YWNoTWFya2VkU3BhbnMobGluZSwgbWFya2VkU3BhbnMpXG4gIGxldCBlc3RIZWlnaHQgPSBlc3RpbWF0ZUhlaWdodCA/IGVzdGltYXRlSGVpZ2h0KGxpbmUpIDogMVxuICBpZiAoZXN0SGVpZ2h0ICE9IGxpbmUuaGVpZ2h0KSB1cGRhdGVMaW5lSGVpZ2h0KGxpbmUsIGVzdEhlaWdodClcbn1cblxuLy8gRGV0YWNoIGEgbGluZSBmcm9tIHRoZSBkb2N1bWVudCB0cmVlIGFuZCBpdHMgbWFya2Vycy5cbmV4cG9ydCBmdW5jdGlvbiBjbGVhblVwTGluZShsaW5lKSB7XG4gIGxpbmUucGFyZW50ID0gbnVsbFxuICBkZXRhY2hNYXJrZWRTcGFucyhsaW5lKVxufVxuXG4vLyBDb252ZXJ0IGEgc3R5bGUgYXMgcmV0dXJuZWQgYnkgYSBtb2RlIChlaXRoZXIgbnVsbCwgb3IgYSBzdHJpbmdcbi8vIGNvbnRhaW5pbmcgb25lIG9yIG1vcmUgc3R5bGVzKSB0byBhIENTUyBzdHlsZS4gVGhpcyBpcyBjYWNoZWQsXG4vLyBhbmQgYWxzbyBsb29rcyBmb3IgbGluZS13aWRlIHN0eWxlcy5cbmxldCBzdHlsZVRvQ2xhc3NDYWNoZSA9IHt9LCBzdHlsZVRvQ2xhc3NDYWNoZVdpdGhNb2RlID0ge31cbmZ1bmN0aW9uIGludGVycHJldFRva2VuU3R5bGUoc3R5bGUsIG9wdGlvbnMpIHtcbiAgaWYgKCFzdHlsZSB8fCAvXlxccyokLy50ZXN0KHN0eWxlKSkgcmV0dXJuIG51bGxcbiAgbGV0IGNhY2hlID0gb3B0aW9ucy5hZGRNb2RlQ2xhc3MgPyBzdHlsZVRvQ2xhc3NDYWNoZVdpdGhNb2RlIDogc3R5bGVUb0NsYXNzQ2FjaGVcbiAgcmV0dXJuIGNhY2hlW3N0eWxlXSB8fFxuICAgIChjYWNoZVtzdHlsZV0gPSBzdHlsZS5yZXBsYWNlKC9cXFMrL2csIFwiY20tJCZcIikpXG59XG5cbi8vIFJlbmRlciB0aGUgRE9NIHJlcHJlc2VudGF0aW9uIG9mIHRoZSB0ZXh0IG9mIGEgbGluZS4gQWxzbyBidWlsZHNcbi8vIHVwIGEgJ2xpbmUgbWFwJywgd2hpY2ggcG9pbnRzIGF0IHRoZSBET00gbm9kZXMgdGhhdCByZXByZXNlbnRcbi8vIHNwZWNpZmljIHN0cmV0Y2hlcyBvZiB0ZXh0LCBhbmQgaXMgdXNlZCBieSB0aGUgbWVhc3VyaW5nIGNvZGUuXG4vLyBUaGUgcmV0dXJuZWQgb2JqZWN0IGNvbnRhaW5zIHRoZSBET00gbm9kZSwgdGhpcyBtYXAsIGFuZFxuLy8gaW5mb3JtYXRpb24gYWJvdXQgbGluZS13aWRlIHN0eWxlcyB0aGF0IHdlcmUgc2V0IGJ5IHRoZSBtb2RlLlxuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkTGluZUNvbnRlbnQoY20sIGxpbmVWaWV3KSB7XG4gIC8vIFRoZSBwYWRkaW5nLXJpZ2h0IGZvcmNlcyB0aGUgZWxlbWVudCB0byBoYXZlIGEgJ2JvcmRlcicsIHdoaWNoXG4gIC8vIGlzIG5lZWRlZCBvbiBXZWJraXQgdG8gYmUgYWJsZSB0byBnZXQgbGluZS1sZXZlbCBib3VuZGluZ1xuICAvLyByZWN0YW5nbGVzIGZvciBpdCAoaW4gbWVhc3VyZUNoYXIpLlxuICBsZXQgY29udGVudCA9IGVsdFAoXCJzcGFuXCIsIG51bGwsIG51bGwsIHdlYmtpdCA/IFwicGFkZGluZy1yaWdodDogLjFweFwiIDogbnVsbClcbiAgbGV0IGJ1aWxkZXIgPSB7cHJlOiBlbHRQKFwicHJlXCIsIFtjb250ZW50XSwgXCJDb2RlTWlycm9yLWxpbmVcIiksIGNvbnRlbnQ6IGNvbnRlbnQsXG4gICAgICAgICAgICAgICAgIGNvbDogMCwgcG9zOiAwLCBjbTogY20sXG4gICAgICAgICAgICAgICAgIHRyYWlsaW5nU3BhY2U6IGZhbHNlLFxuICAgICAgICAgICAgICAgICBzcGxpdFNwYWNlczogY20uZ2V0T3B0aW9uKFwibGluZVdyYXBwaW5nXCIpfVxuICBsaW5lVmlldy5tZWFzdXJlID0ge31cblxuICAvLyBJdGVyYXRlIG92ZXIgdGhlIGxvZ2ljYWwgbGluZXMgdGhhdCBtYWtlIHVwIHRoaXMgdmlzdWFsIGxpbmUuXG4gIGZvciAobGV0IGkgPSAwOyBpIDw9IChsaW5lVmlldy5yZXN0ID8gbGluZVZpZXcucmVzdC5sZW5ndGggOiAwKTsgaSsrKSB7XG4gICAgbGV0IGxpbmUgPSBpID8gbGluZVZpZXcucmVzdFtpIC0gMV0gOiBsaW5lVmlldy5saW5lLCBvcmRlclxuICAgIGJ1aWxkZXIucG9zID0gMFxuICAgIGJ1aWxkZXIuYWRkVG9rZW4gPSBidWlsZFRva2VuXG4gICAgLy8gT3B0aW9uYWxseSB3aXJlIGluIHNvbWUgaGFja3MgaW50byB0aGUgdG9rZW4tcmVuZGVyaW5nXG4gICAgLy8gYWxnb3JpdGhtLCB0byBkZWFsIHdpdGggYnJvd3NlciBxdWlya3MuXG4gICAgaWYgKGhhc0JhZEJpZGlSZWN0cyhjbS5kaXNwbGF5Lm1lYXN1cmUpICYmIChvcmRlciA9IGdldE9yZGVyKGxpbmUsIGNtLmRvYy5kaXJlY3Rpb24pKSlcbiAgICAgIGJ1aWxkZXIuYWRkVG9rZW4gPSBidWlsZFRva2VuQmFkQmlkaShidWlsZGVyLmFkZFRva2VuLCBvcmRlcilcbiAgICBidWlsZGVyLm1hcCA9IFtdXG4gICAgbGV0IGFsbG93RnJvbnRpZXJVcGRhdGUgPSBsaW5lVmlldyAhPSBjbS5kaXNwbGF5LmV4dGVybmFsTWVhc3VyZWQgJiYgbGluZU5vKGxpbmUpXG4gICAgaW5zZXJ0TGluZUNvbnRlbnQobGluZSwgYnVpbGRlciwgZ2V0TGluZVN0eWxlcyhjbSwgbGluZSwgYWxsb3dGcm9udGllclVwZGF0ZSkpXG4gICAgaWYgKGxpbmUuc3R5bGVDbGFzc2VzKSB7XG4gICAgICBpZiAobGluZS5zdHlsZUNsYXNzZXMuYmdDbGFzcylcbiAgICAgICAgYnVpbGRlci5iZ0NsYXNzID0gam9pbkNsYXNzZXMobGluZS5zdHlsZUNsYXNzZXMuYmdDbGFzcywgYnVpbGRlci5iZ0NsYXNzIHx8IFwiXCIpXG4gICAgICBpZiAobGluZS5zdHlsZUNsYXNzZXMudGV4dENsYXNzKVxuICAgICAgICBidWlsZGVyLnRleHRDbGFzcyA9IGpvaW5DbGFzc2VzKGxpbmUuc3R5bGVDbGFzc2VzLnRleHRDbGFzcywgYnVpbGRlci50ZXh0Q2xhc3MgfHwgXCJcIilcbiAgICB9XG5cbiAgICAvLyBFbnN1cmUgYXQgbGVhc3QgYSBzaW5nbGUgbm9kZSBpcyBwcmVzZW50LCBmb3IgbWVhc3VyaW5nLlxuICAgIGlmIChidWlsZGVyLm1hcC5sZW5ndGggPT0gMClcbiAgICAgIGJ1aWxkZXIubWFwLnB1c2goMCwgMCwgYnVpbGRlci5jb250ZW50LmFwcGVuZENoaWxkKHplcm9XaWR0aEVsZW1lbnQoY20uZGlzcGxheS5tZWFzdXJlKSkpXG5cbiAgICAvLyBTdG9yZSB0aGUgbWFwIGFuZCBhIGNhY2hlIG9iamVjdCBmb3IgdGhlIGN1cnJlbnQgbG9naWNhbCBsaW5lXG4gICAgaWYgKGkgPT0gMCkge1xuICAgICAgbGluZVZpZXcubWVhc3VyZS5tYXAgPSBidWlsZGVyLm1hcFxuICAgICAgbGluZVZpZXcubWVhc3VyZS5jYWNoZSA9IHt9XG4gICAgfSBlbHNlIHtcbiAgICAgIDsobGluZVZpZXcubWVhc3VyZS5tYXBzIHx8IChsaW5lVmlldy5tZWFzdXJlLm1hcHMgPSBbXSkpLnB1c2goYnVpbGRlci5tYXApXG4gICAgICA7KGxpbmVWaWV3Lm1lYXN1cmUuY2FjaGVzIHx8IChsaW5lVmlldy5tZWFzdXJlLmNhY2hlcyA9IFtdKSkucHVzaCh7fSlcbiAgICB9XG4gIH1cblxuICAvLyBTZWUgaXNzdWUgIzI5MDFcbiAgaWYgKHdlYmtpdCkge1xuICAgIGxldCBsYXN0ID0gYnVpbGRlci5jb250ZW50Lmxhc3RDaGlsZFxuICAgIGlmICgvXFxiY20tdGFiXFxiLy50ZXN0KGxhc3QuY2xhc3NOYW1lKSB8fCAobGFzdC5xdWVyeVNlbGVjdG9yICYmIGxhc3QucXVlcnlTZWxlY3RvcihcIi5jbS10YWJcIikpKVxuICAgICAgYnVpbGRlci5jb250ZW50LmNsYXNzTmFtZSA9IFwiY20tdGFiLXdyYXAtaGFja1wiXG4gIH1cblxuICBzaWduYWwoY20sIFwicmVuZGVyTGluZVwiLCBjbSwgbGluZVZpZXcubGluZSwgYnVpbGRlci5wcmUpXG4gIGlmIChidWlsZGVyLnByZS5jbGFzc05hbWUpXG4gICAgYnVpbGRlci50ZXh0Q2xhc3MgPSBqb2luQ2xhc3NlcyhidWlsZGVyLnByZS5jbGFzc05hbWUsIGJ1aWxkZXIudGV4dENsYXNzIHx8IFwiXCIpXG5cbiAgcmV0dXJuIGJ1aWxkZXJcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRlZmF1bHRTcGVjaWFsQ2hhclBsYWNlaG9sZGVyKGNoKSB7XG4gIGxldCB0b2tlbiA9IGVsdChcInNwYW5cIiwgXCJcXHUyMDIyXCIsIFwiY20taW52YWxpZGNoYXJcIilcbiAgdG9rZW4udGl0bGUgPSBcIlxcXFx1XCIgKyBjaC5jaGFyQ29kZUF0KDApLnRvU3RyaW5nKDE2KVxuICB0b2tlbi5zZXRBdHRyaWJ1dGUoXCJhcmlhLWxhYmVsXCIsIHRva2VuLnRpdGxlKVxuICByZXR1cm4gdG9rZW5cbn1cblxuLy8gQnVpbGQgdXAgdGhlIERPTSByZXByZXNlbnRhdGlvbiBmb3IgYSBzaW5nbGUgdG9rZW4sIGFuZCBhZGQgaXQgdG9cbi8vIHRoZSBsaW5lIG1hcC4gVGFrZXMgY2FyZSB0byByZW5kZXIgc3BlY2lhbCBjaGFyYWN0ZXJzIHNlcGFyYXRlbHkuXG5mdW5jdGlvbiBidWlsZFRva2VuKGJ1aWxkZXIsIHRleHQsIHN0eWxlLCBzdGFydFN0eWxlLCBlbmRTdHlsZSwgY3NzLCBhdHRyaWJ1dGVzKSB7XG4gIGlmICghdGV4dCkgcmV0dXJuXG4gIGxldCBkaXNwbGF5VGV4dCA9IGJ1aWxkZXIuc3BsaXRTcGFjZXMgPyBzcGxpdFNwYWNlcyh0ZXh0LCBidWlsZGVyLnRyYWlsaW5nU3BhY2UpIDogdGV4dFxuICBsZXQgc3BlY2lhbCA9IGJ1aWxkZXIuY20uc3RhdGUuc3BlY2lhbENoYXJzLCBtdXN0V3JhcCA9IGZhbHNlXG4gIGxldCBjb250ZW50XG4gIGlmICghc3BlY2lhbC50ZXN0KHRleHQpKSB7XG4gICAgYnVpbGRlci5jb2wgKz0gdGV4dC5sZW5ndGhcbiAgICBjb250ZW50ID0gZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoZGlzcGxheVRleHQpXG4gICAgYnVpbGRlci5tYXAucHVzaChidWlsZGVyLnBvcywgYnVpbGRlci5wb3MgKyB0ZXh0Lmxlbmd0aCwgY29udGVudClcbiAgICBpZiAoaWUgJiYgaWVfdmVyc2lvbiA8IDkpIG11c3RXcmFwID0gdHJ1ZVxuICAgIGJ1aWxkZXIucG9zICs9IHRleHQubGVuZ3RoXG4gIH0gZWxzZSB7XG4gICAgY29udGVudCA9IGRvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKVxuICAgIGxldCBwb3MgPSAwXG4gICAgd2hpbGUgKHRydWUpIHtcbiAgICAgIHNwZWNpYWwubGFzdEluZGV4ID0gcG9zXG4gICAgICBsZXQgbSA9IHNwZWNpYWwuZXhlYyh0ZXh0KVxuICAgICAgbGV0IHNraXBwZWQgPSBtID8gbS5pbmRleCAtIHBvcyA6IHRleHQubGVuZ3RoIC0gcG9zXG4gICAgICBpZiAoc2tpcHBlZCkge1xuICAgICAgICBsZXQgdHh0ID0gZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoZGlzcGxheVRleHQuc2xpY2UocG9zLCBwb3MgKyBza2lwcGVkKSlcbiAgICAgICAgaWYgKGllICYmIGllX3ZlcnNpb24gPCA5KSBjb250ZW50LmFwcGVuZENoaWxkKGVsdChcInNwYW5cIiwgW3R4dF0pKVxuICAgICAgICBlbHNlIGNvbnRlbnQuYXBwZW5kQ2hpbGQodHh0KVxuICAgICAgICBidWlsZGVyLm1hcC5wdXNoKGJ1aWxkZXIucG9zLCBidWlsZGVyLnBvcyArIHNraXBwZWQsIHR4dClcbiAgICAgICAgYnVpbGRlci5jb2wgKz0gc2tpcHBlZFxuICAgICAgICBidWlsZGVyLnBvcyArPSBza2lwcGVkXG4gICAgICB9XG4gICAgICBpZiAoIW0pIGJyZWFrXG4gICAgICBwb3MgKz0gc2tpcHBlZCArIDFcbiAgICAgIGxldCB0eHRcbiAgICAgIGlmIChtWzBdID09IFwiXFx0XCIpIHtcbiAgICAgICAgbGV0IHRhYlNpemUgPSBidWlsZGVyLmNtLm9wdGlvbnMudGFiU2l6ZSwgdGFiV2lkdGggPSB0YWJTaXplIC0gYnVpbGRlci5jb2wgJSB0YWJTaXplXG4gICAgICAgIHR4dCA9IGNvbnRlbnQuYXBwZW5kQ2hpbGQoZWx0KFwic3BhblwiLCBzcGFjZVN0cih0YWJXaWR0aCksIFwiY20tdGFiXCIpKVxuICAgICAgICB0eHQuc2V0QXR0cmlidXRlKFwicm9sZVwiLCBcInByZXNlbnRhdGlvblwiKVxuICAgICAgICB0eHQuc2V0QXR0cmlidXRlKFwiY20tdGV4dFwiLCBcIlxcdFwiKVxuICAgICAgICBidWlsZGVyLmNvbCArPSB0YWJXaWR0aFxuICAgICAgfSBlbHNlIGlmIChtWzBdID09IFwiXFxyXCIgfHwgbVswXSA9PSBcIlxcblwiKSB7XG4gICAgICAgIHR4dCA9IGNvbnRlbnQuYXBwZW5kQ2hpbGQoZWx0KFwic3BhblwiLCBtWzBdID09IFwiXFxyXCIgPyBcIlxcdTI0MGRcIiA6IFwiXFx1MjQyNFwiLCBcImNtLWludmFsaWRjaGFyXCIpKVxuICAgICAgICB0eHQuc2V0QXR0cmlidXRlKFwiY20tdGV4dFwiLCBtWzBdKVxuICAgICAgICBidWlsZGVyLmNvbCArPSAxXG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0eHQgPSBidWlsZGVyLmNtLm9wdGlvbnMuc3BlY2lhbENoYXJQbGFjZWhvbGRlcihtWzBdKVxuICAgICAgICB0eHQuc2V0QXR0cmlidXRlKFwiY20tdGV4dFwiLCBtWzBdKVxuICAgICAgICBpZiAoaWUgJiYgaWVfdmVyc2lvbiA8IDkpIGNvbnRlbnQuYXBwZW5kQ2hpbGQoZWx0KFwic3BhblwiLCBbdHh0XSkpXG4gICAgICAgIGVsc2UgY29udGVudC5hcHBlbmRDaGlsZCh0eHQpXG4gICAgICAgIGJ1aWxkZXIuY29sICs9IDFcbiAgICAgIH1cbiAgICAgIGJ1aWxkZXIubWFwLnB1c2goYnVpbGRlci5wb3MsIGJ1aWxkZXIucG9zICsgMSwgdHh0KVxuICAgICAgYnVpbGRlci5wb3MrK1xuICAgIH1cbiAgfVxuICBidWlsZGVyLnRyYWlsaW5nU3BhY2UgPSBkaXNwbGF5VGV4dC5jaGFyQ29kZUF0KHRleHQubGVuZ3RoIC0gMSkgPT0gMzJcbiAgaWYgKHN0eWxlIHx8IHN0YXJ0U3R5bGUgfHwgZW5kU3R5bGUgfHwgbXVzdFdyYXAgfHwgY3NzKSB7XG4gICAgbGV0IGZ1bGxTdHlsZSA9IHN0eWxlIHx8IFwiXCJcbiAgICBpZiAoc3RhcnRTdHlsZSkgZnVsbFN0eWxlICs9IHN0YXJ0U3R5bGVcbiAgICBpZiAoZW5kU3R5bGUpIGZ1bGxTdHlsZSArPSBlbmRTdHlsZVxuICAgIGxldCB0b2tlbiA9IGVsdChcInNwYW5cIiwgW2NvbnRlbnRdLCBmdWxsU3R5bGUsIGNzcylcbiAgICBpZiAoYXR0cmlidXRlcykge1xuICAgICAgZm9yIChsZXQgYXR0ciBpbiBhdHRyaWJ1dGVzKSBpZiAoYXR0cmlidXRlcy5oYXNPd25Qcm9wZXJ0eShhdHRyKSAmJiBhdHRyICE9IFwic3R5bGVcIiAmJiBhdHRyICE9IFwiY2xhc3NcIilcbiAgICAgICAgdG9rZW4uc2V0QXR0cmlidXRlKGF0dHIsIGF0dHJpYnV0ZXNbYXR0cl0pXG4gICAgfVxuICAgIHJldHVybiBidWlsZGVyLmNvbnRlbnQuYXBwZW5kQ2hpbGQodG9rZW4pXG4gIH1cbiAgYnVpbGRlci5jb250ZW50LmFwcGVuZENoaWxkKGNvbnRlbnQpXG59XG5cbi8vIENoYW5nZSBzb21lIHNwYWNlcyB0byBOQlNQIHRvIHByZXZlbnQgdGhlIGJyb3dzZXIgZnJvbSBjb2xsYXBzaW5nXG4vLyB0cmFpbGluZyBzcGFjZXMgYXQgdGhlIGVuZCBvZiBhIGxpbmUgd2hlbiByZW5kZXJpbmcgdGV4dCAoaXNzdWUgIzEzNjIpLlxuZnVuY3Rpb24gc3BsaXRTcGFjZXModGV4dCwgdHJhaWxpbmdCZWZvcmUpIHtcbiAgaWYgKHRleHQubGVuZ3RoID4gMSAmJiAhLyAgLy50ZXN0KHRleHQpKSByZXR1cm4gdGV4dFxuICBsZXQgc3BhY2VCZWZvcmUgPSB0cmFpbGluZ0JlZm9yZSwgcmVzdWx0ID0gXCJcIlxuICBmb3IgKGxldCBpID0gMDsgaSA8IHRleHQubGVuZ3RoOyBpKyspIHtcbiAgICBsZXQgY2ggPSB0ZXh0LmNoYXJBdChpKVxuICAgIGlmIChjaCA9PSBcIiBcIiAmJiBzcGFjZUJlZm9yZSAmJiAoaSA9PSB0ZXh0Lmxlbmd0aCAtIDEgfHwgdGV4dC5jaGFyQ29kZUF0KGkgKyAxKSA9PSAzMikpXG4gICAgICBjaCA9IFwiXFx1MDBhMFwiXG4gICAgcmVzdWx0ICs9IGNoXG4gICAgc3BhY2VCZWZvcmUgPSBjaCA9PSBcIiBcIlxuICB9XG4gIHJldHVybiByZXN1bHRcbn1cblxuLy8gV29yayBhcm91bmQgbm9uc2Vuc2UgZGltZW5zaW9ucyBiZWluZyByZXBvcnRlZCBmb3Igc3RyZXRjaGVzIG9mXG4vLyByaWdodC10by1sZWZ0IHRleHQuXG5mdW5jdGlvbiBidWlsZFRva2VuQmFkQmlkaShpbm5lciwgb3JkZXIpIHtcbiAgcmV0dXJuIChidWlsZGVyLCB0ZXh0LCBzdHlsZSwgc3RhcnRTdHlsZSwgZW5kU3R5bGUsIGNzcywgYXR0cmlidXRlcykgPT4ge1xuICAgIHN0eWxlID0gc3R5bGUgPyBzdHlsZSArIFwiIGNtLWZvcmNlLWJvcmRlclwiIDogXCJjbS1mb3JjZS1ib3JkZXJcIlxuICAgIGxldCBzdGFydCA9IGJ1aWxkZXIucG9zLCBlbmQgPSBzdGFydCArIHRleHQubGVuZ3RoXG4gICAgZm9yICg7Oykge1xuICAgICAgLy8gRmluZCB0aGUgcGFydCB0aGF0IG92ZXJsYXBzIHdpdGggdGhlIHN0YXJ0IG9mIHRoaXMgdGV4dFxuICAgICAgbGV0IHBhcnRcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgb3JkZXIubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgcGFydCA9IG9yZGVyW2ldXG4gICAgICAgIGlmIChwYXJ0LnRvID4gc3RhcnQgJiYgcGFydC5mcm9tIDw9IHN0YXJ0KSBicmVha1xuICAgICAgfVxuICAgICAgaWYgKHBhcnQudG8gPj0gZW5kKSByZXR1cm4gaW5uZXIoYnVpbGRlciwgdGV4dCwgc3R5bGUsIHN0YXJ0U3R5bGUsIGVuZFN0eWxlLCBjc3MsIGF0dHJpYnV0ZXMpXG4gICAgICBpbm5lcihidWlsZGVyLCB0ZXh0LnNsaWNlKDAsIHBhcnQudG8gLSBzdGFydCksIHN0eWxlLCBzdGFydFN0eWxlLCBudWxsLCBjc3MsIGF0dHJpYnV0ZXMpXG4gICAgICBzdGFydFN0eWxlID0gbnVsbFxuICAgICAgdGV4dCA9IHRleHQuc2xpY2UocGFydC50byAtIHN0YXJ0KVxuICAgICAgc3RhcnQgPSBwYXJ0LnRvXG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGJ1aWxkQ29sbGFwc2VkU3BhbihidWlsZGVyLCBzaXplLCBtYXJrZXIsIGlnbm9yZVdpZGdldCkge1xuICBsZXQgd2lkZ2V0ID0gIWlnbm9yZVdpZGdldCAmJiBtYXJrZXIud2lkZ2V0Tm9kZVxuICBpZiAod2lkZ2V0KSBidWlsZGVyLm1hcC5wdXNoKGJ1aWxkZXIucG9zLCBidWlsZGVyLnBvcyArIHNpemUsIHdpZGdldClcbiAgaWYgKCFpZ25vcmVXaWRnZXQgJiYgYnVpbGRlci5jbS5kaXNwbGF5LmlucHV0Lm5lZWRzQ29udGVudEF0dHJpYnV0ZSkge1xuICAgIGlmICghd2lkZ2V0KVxuICAgICAgd2lkZ2V0ID0gYnVpbGRlci5jb250ZW50LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJzcGFuXCIpKVxuICAgIHdpZGdldC5zZXRBdHRyaWJ1dGUoXCJjbS1tYXJrZXJcIiwgbWFya2VyLmlkKVxuICB9XG4gIGlmICh3aWRnZXQpIHtcbiAgICBidWlsZGVyLmNtLmRpc3BsYXkuaW5wdXQuc2V0VW5lZGl0YWJsZSh3aWRnZXQpXG4gICAgYnVpbGRlci5jb250ZW50LmFwcGVuZENoaWxkKHdpZGdldClcbiAgfVxuICBidWlsZGVyLnBvcyArPSBzaXplXG4gIGJ1aWxkZXIudHJhaWxpbmdTcGFjZSA9IGZhbHNlXG59XG5cbi8vIE91dHB1dHMgYSBudW1iZXIgb2Ygc3BhbnMgdG8gbWFrZSB1cCBhIGxpbmUsIHRha2luZyBoaWdobGlnaHRpbmdcbi8vIGFuZCBtYXJrZWQgdGV4dCBpbnRvIGFjY291bnQuXG5mdW5jdGlvbiBpbnNlcnRMaW5lQ29udGVudChsaW5lLCBidWlsZGVyLCBzdHlsZXMpIHtcbiAgbGV0IHNwYW5zID0gbGluZS5tYXJrZWRTcGFucywgYWxsVGV4dCA9IGxpbmUudGV4dCwgYXQgPSAwXG4gIGlmICghc3BhbnMpIHtcbiAgICBmb3IgKGxldCBpID0gMTsgaSA8IHN0eWxlcy5sZW5ndGg7IGkrPTIpXG4gICAgICBidWlsZGVyLmFkZFRva2VuKGJ1aWxkZXIsIGFsbFRleHQuc2xpY2UoYXQsIGF0ID0gc3R5bGVzW2ldKSwgaW50ZXJwcmV0VG9rZW5TdHlsZShzdHlsZXNbaSsxXSwgYnVpbGRlci5jbS5vcHRpb25zKSlcbiAgICByZXR1cm5cbiAgfVxuXG4gIGxldCBsZW4gPSBhbGxUZXh0Lmxlbmd0aCwgcG9zID0gMCwgaSA9IDEsIHRleHQgPSBcIlwiLCBzdHlsZSwgY3NzXG4gIGxldCBuZXh0Q2hhbmdlID0gMCwgc3BhblN0eWxlLCBzcGFuRW5kU3R5bGUsIHNwYW5TdGFydFN0eWxlLCBjb2xsYXBzZWQsIGF0dHJpYnV0ZXNcbiAgZm9yICg7Oykge1xuICAgIGlmIChuZXh0Q2hhbmdlID09IHBvcykgeyAvLyBVcGRhdGUgY3VycmVudCBtYXJrZXIgc2V0XG4gICAgICBzcGFuU3R5bGUgPSBzcGFuRW5kU3R5bGUgPSBzcGFuU3RhcnRTdHlsZSA9IGNzcyA9IFwiXCJcbiAgICAgIGF0dHJpYnV0ZXMgPSBudWxsXG4gICAgICBjb2xsYXBzZWQgPSBudWxsOyBuZXh0Q2hhbmdlID0gSW5maW5pdHlcbiAgICAgIGxldCBmb3VuZEJvb2ttYXJrcyA9IFtdLCBlbmRTdHlsZXNcbiAgICAgIGZvciAobGV0IGogPSAwOyBqIDwgc3BhbnMubGVuZ3RoOyArK2opIHtcbiAgICAgICAgbGV0IHNwID0gc3BhbnNbal0sIG0gPSBzcC5tYXJrZXJcbiAgICAgICAgaWYgKG0udHlwZSA9PSBcImJvb2ttYXJrXCIgJiYgc3AuZnJvbSA9PSBwb3MgJiYgbS53aWRnZXROb2RlKSB7XG4gICAgICAgICAgZm91bmRCb29rbWFya3MucHVzaChtKVxuICAgICAgICB9IGVsc2UgaWYgKHNwLmZyb20gPD0gcG9zICYmIChzcC50byA9PSBudWxsIHx8IHNwLnRvID4gcG9zIHx8IG0uY29sbGFwc2VkICYmIHNwLnRvID09IHBvcyAmJiBzcC5mcm9tID09IHBvcykpIHtcbiAgICAgICAgICBpZiAoc3AudG8gIT0gbnVsbCAmJiBzcC50byAhPSBwb3MgJiYgbmV4dENoYW5nZSA+IHNwLnRvKSB7XG4gICAgICAgICAgICBuZXh0Q2hhbmdlID0gc3AudG9cbiAgICAgICAgICAgIHNwYW5FbmRTdHlsZSA9IFwiXCJcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKG0uY2xhc3NOYW1lKSBzcGFuU3R5bGUgKz0gXCIgXCIgKyBtLmNsYXNzTmFtZVxuICAgICAgICAgIGlmIChtLmNzcykgY3NzID0gKGNzcyA/IGNzcyArIFwiO1wiIDogXCJcIikgKyBtLmNzc1xuICAgICAgICAgIGlmIChtLnN0YXJ0U3R5bGUgJiYgc3AuZnJvbSA9PSBwb3MpIHNwYW5TdGFydFN0eWxlICs9IFwiIFwiICsgbS5zdGFydFN0eWxlXG4gICAgICAgICAgaWYgKG0uZW5kU3R5bGUgJiYgc3AudG8gPT0gbmV4dENoYW5nZSkgKGVuZFN0eWxlcyB8fCAoZW5kU3R5bGVzID0gW10pKS5wdXNoKG0uZW5kU3R5bGUsIHNwLnRvKVxuICAgICAgICAgIC8vIHN1cHBvcnQgZm9yIHRoZSBvbGQgdGl0bGUgcHJvcGVydHlcbiAgICAgICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vY29kZW1pcnJvci9Db2RlTWlycm9yL3B1bGwvNTY3M1xuICAgICAgICAgIGlmIChtLnRpdGxlKSAoYXR0cmlidXRlcyB8fCAoYXR0cmlidXRlcyA9IHt9KSkudGl0bGUgPSBtLnRpdGxlXG4gICAgICAgICAgaWYgKG0uYXR0cmlidXRlcykge1xuICAgICAgICAgICAgZm9yIChsZXQgYXR0ciBpbiBtLmF0dHJpYnV0ZXMpXG4gICAgICAgICAgICAgIChhdHRyaWJ1dGVzIHx8IChhdHRyaWJ1dGVzID0ge30pKVthdHRyXSA9IG0uYXR0cmlidXRlc1thdHRyXVxuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAobS5jb2xsYXBzZWQgJiYgKCFjb2xsYXBzZWQgfHwgY29tcGFyZUNvbGxhcHNlZE1hcmtlcnMoY29sbGFwc2VkLm1hcmtlciwgbSkgPCAwKSlcbiAgICAgICAgICAgIGNvbGxhcHNlZCA9IHNwXG4gICAgICAgIH0gZWxzZSBpZiAoc3AuZnJvbSA+IHBvcyAmJiBuZXh0Q2hhbmdlID4gc3AuZnJvbSkge1xuICAgICAgICAgIG5leHRDaGFuZ2UgPSBzcC5mcm9tXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmIChlbmRTdHlsZXMpIGZvciAobGV0IGogPSAwOyBqIDwgZW5kU3R5bGVzLmxlbmd0aDsgaiArPSAyKVxuICAgICAgICBpZiAoZW5kU3R5bGVzW2ogKyAxXSA9PSBuZXh0Q2hhbmdlKSBzcGFuRW5kU3R5bGUgKz0gXCIgXCIgKyBlbmRTdHlsZXNbal1cblxuICAgICAgaWYgKCFjb2xsYXBzZWQgfHwgY29sbGFwc2VkLmZyb20gPT0gcG9zKSBmb3IgKGxldCBqID0gMDsgaiA8IGZvdW5kQm9va21hcmtzLmxlbmd0aDsgKytqKVxuICAgICAgICBidWlsZENvbGxhcHNlZFNwYW4oYnVpbGRlciwgMCwgZm91bmRCb29rbWFya3Nbal0pXG4gICAgICBpZiAoY29sbGFwc2VkICYmIChjb2xsYXBzZWQuZnJvbSB8fCAwKSA9PSBwb3MpIHtcbiAgICAgICAgYnVpbGRDb2xsYXBzZWRTcGFuKGJ1aWxkZXIsIChjb2xsYXBzZWQudG8gPT0gbnVsbCA/IGxlbiArIDEgOiBjb2xsYXBzZWQudG8pIC0gcG9zLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sbGFwc2VkLm1hcmtlciwgY29sbGFwc2VkLmZyb20gPT0gbnVsbClcbiAgICAgICAgaWYgKGNvbGxhcHNlZC50byA9PSBudWxsKSByZXR1cm5cbiAgICAgICAgaWYgKGNvbGxhcHNlZC50byA9PSBwb3MpIGNvbGxhcHNlZCA9IGZhbHNlXG4gICAgICB9XG4gICAgfVxuICAgIGlmIChwb3MgPj0gbGVuKSBicmVha1xuXG4gICAgbGV0IHVwdG8gPSBNYXRoLm1pbihsZW4sIG5leHRDaGFuZ2UpXG4gICAgd2hpbGUgKHRydWUpIHtcbiAgICAgIGlmICh0ZXh0KSB7XG4gICAgICAgIGxldCBlbmQgPSBwb3MgKyB0ZXh0Lmxlbmd0aFxuICAgICAgICBpZiAoIWNvbGxhcHNlZCkge1xuICAgICAgICAgIGxldCB0b2tlblRleHQgPSBlbmQgPiB1cHRvID8gdGV4dC5zbGljZSgwLCB1cHRvIC0gcG9zKSA6IHRleHRcbiAgICAgICAgICBidWlsZGVyLmFkZFRva2VuKGJ1aWxkZXIsIHRva2VuVGV4dCwgc3R5bGUgPyBzdHlsZSArIHNwYW5TdHlsZSA6IHNwYW5TdHlsZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIHNwYW5TdGFydFN0eWxlLCBwb3MgKyB0b2tlblRleHQubGVuZ3RoID09IG5leHRDaGFuZ2UgPyBzcGFuRW5kU3R5bGUgOiBcIlwiLCBjc3MsIGF0dHJpYnV0ZXMpXG4gICAgICAgIH1cbiAgICAgICAgaWYgKGVuZCA+PSB1cHRvKSB7dGV4dCA9IHRleHQuc2xpY2UodXB0byAtIHBvcyk7IHBvcyA9IHVwdG87IGJyZWFrfVxuICAgICAgICBwb3MgPSBlbmRcbiAgICAgICAgc3BhblN0YXJ0U3R5bGUgPSBcIlwiXG4gICAgICB9XG4gICAgICB0ZXh0ID0gYWxsVGV4dC5zbGljZShhdCwgYXQgPSBzdHlsZXNbaSsrXSlcbiAgICAgIHN0eWxlID0gaW50ZXJwcmV0VG9rZW5TdHlsZShzdHlsZXNbaSsrXSwgYnVpbGRlci5jbS5vcHRpb25zKVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIFRoZXNlIG9iamVjdHMgYXJlIHVzZWQgdG8gcmVwcmVzZW50IHRoZSB2aXNpYmxlIChjdXJyZW50bHkgZHJhd24pXG4vLyBwYXJ0IG9mIHRoZSBkb2N1bWVudC4gQSBMaW5lVmlldyBtYXkgY29ycmVzcG9uZCB0byBtdWx0aXBsZVxuLy8gbG9naWNhbCBsaW5lcywgaWYgdGhvc2UgYXJlIGNvbm5lY3RlZCBieSBjb2xsYXBzZWQgcmFuZ2VzLlxuZXhwb3J0IGZ1bmN0aW9uIExpbmVWaWV3KGRvYywgbGluZSwgbGluZU4pIHtcbiAgLy8gVGhlIHN0YXJ0aW5nIGxpbmVcbiAgdGhpcy5saW5lID0gbGluZVxuICAvLyBDb250aW51aW5nIGxpbmVzLCBpZiBhbnlcbiAgdGhpcy5yZXN0ID0gdmlzdWFsTGluZUNvbnRpbnVlZChsaW5lKVxuICAvLyBOdW1iZXIgb2YgbG9naWNhbCBsaW5lcyBpbiB0aGlzIHZpc3VhbCBsaW5lXG4gIHRoaXMuc2l6ZSA9IHRoaXMucmVzdCA/IGxpbmVObyhsc3QodGhpcy5yZXN0KSkgLSBsaW5lTiArIDEgOiAxXG4gIHRoaXMubm9kZSA9IHRoaXMudGV4dCA9IG51bGxcbiAgdGhpcy5oaWRkZW4gPSBsaW5lSXNIaWRkZW4oZG9jLCBsaW5lKVxufVxuXG4vLyBDcmVhdGUgYSByYW5nZSBvZiBMaW5lVmlldyBvYmplY3RzIGZvciB0aGUgZ2l2ZW4gbGluZXMuXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRWaWV3QXJyYXkoY20sIGZyb20sIHRvKSB7XG4gIGxldCBhcnJheSA9IFtdLCBuZXh0UG9zXG4gIGZvciAobGV0IHBvcyA9IGZyb207IHBvcyA8IHRvOyBwb3MgPSBuZXh0UG9zKSB7XG4gICAgbGV0IHZpZXcgPSBuZXcgTGluZVZpZXcoY20uZG9jLCBnZXRMaW5lKGNtLmRvYywgcG9zKSwgcG9zKVxuICAgIG5leHRQb3MgPSBwb3MgKyB2aWV3LnNpemVcbiAgICBhcnJheS5wdXNoKHZpZXcpXG4gIH1cbiAgcmV0dXJuIGFycmF5XG59XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBUkE7QUFTQTtBQUdBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFEQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUhBO0FBSUE7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFFQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFEQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBREE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQURBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQURBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/codemirror/src/line/line_data.js\n"); /***/ }), /***/ "./node_modules/codemirror/src/line/pos.js": /*!*************************************************!*\ !*** ./node_modules/codemirror/src/line/pos.js ***! \*************************************************/ /*! exports provided: Pos, cmp, equalCursorPos, copyPos, maxPos, minPos, clipLine, clipPos, clipPosArray */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Pos\", function() { return Pos; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"cmp\", function() { return cmp; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"equalCursorPos\", function() { return equalCursorPos; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"copyPos\", function() { return copyPos; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"maxPos\", function() { return maxPos; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"minPos\", function() { return minPos; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"clipLine\", function() { return clipLine; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"clipPos\", function() { return clipPos; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"clipPosArray\", function() { return clipPosArray; });\n/* harmony import */ var _utils_line_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils_line.js */ \"./node_modules/codemirror/src/line/utils_line.js\");\n // A Pos instance represents a position within the text.\n\nfunction Pos(line, ch, sticky = null) {\n if (!(this instanceof Pos)) return new Pos(line, ch, sticky);\n this.line = line;\n this.ch = ch;\n this.sticky = sticky;\n} // Compare two positions, return 0 if they are the same, a negative\n// number when a is less, and a positive number otherwise.\n\nfunction cmp(a, b) {\n return a.line - b.line || a.ch - b.ch;\n}\nfunction equalCursorPos(a, b) {\n return a.sticky == b.sticky && cmp(a, b) == 0;\n}\nfunction copyPos(x) {\n return Pos(x.line, x.ch);\n}\nfunction maxPos(a, b) {\n return cmp(a, b) < 0 ? b : a;\n}\nfunction minPos(a, b) {\n return cmp(a, b) < 0 ? a : b;\n} // Most of the external API clips given positions to make sure they\n// actually exist within the document.\n\nfunction clipLine(doc, n) {\n return Math.max(doc.first, Math.min(n, doc.first + doc.size - 1));\n}\nfunction clipPos(doc, pos) {\n if (pos.line < doc.first) return Pos(doc.first, 0);\n let last = doc.first + doc.size - 1;\n if (pos.line > last) return Pos(last, Object(_utils_line_js__WEBPACK_IMPORTED_MODULE_0__[\"getLine\"])(doc, last).text.length);\n return clipToLen(pos, Object(_utils_line_js__WEBPACK_IMPORTED_MODULE_0__[\"getLine\"])(doc, pos.line).text.length);\n}\n\nfunction clipToLen(pos, linelen) {\n let ch = pos.ch;\n if (ch == null || ch > linelen) return Pos(pos.line, linelen);else if (ch < 0) return Pos(pos.line, 0);else return pos;\n}\n\nfunction clipPosArray(doc, array) {\n let out = [];\n\n for (let i = 0; i < array.length; i++) out[i] = clipPos(doc, array[i]);\n\n return out;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9zcmMvbGluZS9wb3MuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9zcmMvbGluZS9wb3MuanM/MGY0NyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBnZXRMaW5lIH0gZnJvbSBcIi4vdXRpbHNfbGluZS5qc1wiXG5cbi8vIEEgUG9zIGluc3RhbmNlIHJlcHJlc2VudHMgYSBwb3NpdGlvbiB3aXRoaW4gdGhlIHRleHQuXG5leHBvcnQgZnVuY3Rpb24gUG9zKGxpbmUsIGNoLCBzdGlja3kgPSBudWxsKSB7XG4gIGlmICghKHRoaXMgaW5zdGFuY2VvZiBQb3MpKSByZXR1cm4gbmV3IFBvcyhsaW5lLCBjaCwgc3RpY2t5KVxuICB0aGlzLmxpbmUgPSBsaW5lXG4gIHRoaXMuY2ggPSBjaFxuICB0aGlzLnN0aWNreSA9IHN0aWNreVxufVxuXG4vLyBDb21wYXJlIHR3byBwb3NpdGlvbnMsIHJldHVybiAwIGlmIHRoZXkgYXJlIHRoZSBzYW1lLCBhIG5lZ2F0aXZlXG4vLyBudW1iZXIgd2hlbiBhIGlzIGxlc3MsIGFuZCBhIHBvc2l0aXZlIG51bWJlciBvdGhlcndpc2UuXG5leHBvcnQgZnVuY3Rpb24gY21wKGEsIGIpIHsgcmV0dXJuIGEubGluZSAtIGIubGluZSB8fCBhLmNoIC0gYi5jaCB9XG5cbmV4cG9ydCBmdW5jdGlvbiBlcXVhbEN1cnNvclBvcyhhLCBiKSB7IHJldHVybiBhLnN0aWNreSA9PSBiLnN0aWNreSAmJiBjbXAoYSwgYikgPT0gMCB9XG5cbmV4cG9ydCBmdW5jdGlvbiBjb3B5UG9zKHgpIHtyZXR1cm4gUG9zKHgubGluZSwgeC5jaCl9XG5leHBvcnQgZnVuY3Rpb24gbWF4UG9zKGEsIGIpIHsgcmV0dXJuIGNtcChhLCBiKSA8IDAgPyBiIDogYSB9XG5leHBvcnQgZnVuY3Rpb24gbWluUG9zKGEsIGIpIHsgcmV0dXJuIGNtcChhLCBiKSA8IDAgPyBhIDogYiB9XG5cbi8vIE1vc3Qgb2YgdGhlIGV4dGVybmFsIEFQSSBjbGlwcyBnaXZlbiBwb3NpdGlvbnMgdG8gbWFrZSBzdXJlIHRoZXlcbi8vIGFjdHVhbGx5IGV4aXN0IHdpdGhpbiB0aGUgZG9jdW1lbnQuXG5leHBvcnQgZnVuY3Rpb24gY2xpcExpbmUoZG9jLCBuKSB7cmV0dXJuIE1hdGgubWF4KGRvYy5maXJzdCwgTWF0aC5taW4obiwgZG9jLmZpcnN0ICsgZG9jLnNpemUgLSAxKSl9XG5leHBvcnQgZnVuY3Rpb24gY2xpcFBvcyhkb2MsIHBvcykge1xuICBpZiAocG9zLmxpbmUgPCBkb2MuZmlyc3QpIHJldHVybiBQb3MoZG9jLmZpcnN0LCAwKVxuICBsZXQgbGFzdCA9IGRvYy5maXJzdCArIGRvYy5zaXplIC0gMVxuICBpZiAocG9zLmxpbmUgPiBsYXN0KSByZXR1cm4gUG9zKGxhc3QsIGdldExpbmUoZG9jLCBsYXN0KS50ZXh0Lmxlbmd0aClcbiAgcmV0dXJuIGNsaXBUb0xlbihwb3MsIGdldExpbmUoZG9jLCBwb3MubGluZSkudGV4dC5sZW5ndGgpXG59XG5mdW5jdGlvbiBjbGlwVG9MZW4ocG9zLCBsaW5lbGVuKSB7XG4gIGxldCBjaCA9IHBvcy5jaFxuICBpZiAoY2ggPT0gbnVsbCB8fCBjaCA+IGxpbmVsZW4pIHJldHVybiBQb3MocG9zLmxpbmUsIGxpbmVsZW4pXG4gIGVsc2UgaWYgKGNoIDwgMCkgcmV0dXJuIFBvcyhwb3MubGluZSwgMClcbiAgZWxzZSByZXR1cm4gcG9zXG59XG5leHBvcnQgZnVuY3Rpb24gY2xpcFBvc0FycmF5KGRvYywgYXJyYXkpIHtcbiAgbGV0IG91dCA9IFtdXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgYXJyYXkubGVuZ3RoOyBpKyspIG91dFtpXSA9IGNsaXBQb3MoZG9jLCBhcnJheVtpXSlcbiAgcmV0dXJuIG91dFxufVxuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFHQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/codemirror/src/line/pos.js\n"); /***/ }), /***/ "./node_modules/codemirror/src/line/saw_special_spans.js": /*!***************************************************************!*\ !*** ./node_modules/codemirror/src/line/saw_special_spans.js ***! \***************************************************************/ /*! exports provided: sawReadOnlySpans, sawCollapsedSpans, seeReadOnlySpans, seeCollapsedSpans */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"sawReadOnlySpans\", function() { return sawReadOnlySpans; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"sawCollapsedSpans\", function() { return sawCollapsedSpans; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"seeReadOnlySpans\", function() { return seeReadOnlySpans; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"seeCollapsedSpans\", function() { return seeCollapsedSpans; });\n// Optimize some code when these features are not used.\nlet sawReadOnlySpans = false,\n sawCollapsedSpans = false;\nfunction seeReadOnlySpans() {\n sawReadOnlySpans = true;\n}\nfunction seeCollapsedSpans() {\n sawCollapsedSpans = true;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9zcmMvbGluZS9zYXdfc3BlY2lhbF9zcGFucy5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb2RlbWlycm9yL3NyYy9saW5lL3Nhd19zcGVjaWFsX3NwYW5zLmpzPzk2YTQiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gT3B0aW1pemUgc29tZSBjb2RlIHdoZW4gdGhlc2UgZmVhdHVyZXMgYXJlIG5vdCB1c2VkLlxuZXhwb3J0IGxldCBzYXdSZWFkT25seVNwYW5zID0gZmFsc2UsIHNhd0NvbGxhcHNlZFNwYW5zID0gZmFsc2VcblxuZXhwb3J0IGZ1bmN0aW9uIHNlZVJlYWRPbmx5U3BhbnMoKSB7XG4gIHNhd1JlYWRPbmx5U3BhbnMgPSB0cnVlXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZWVDb2xsYXBzZWRTcGFucygpIHtcbiAgc2F3Q29sbGFwc2VkU3BhbnMgPSB0cnVlXG59XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFFQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/codemirror/src/line/saw_special_spans.js\n"); /***/ }), /***/ "./node_modules/codemirror/src/line/spans.js": /*!***************************************************!*\ !*** ./node_modules/codemirror/src/line/spans.js ***! \***************************************************/ /*! exports provided: MarkedSpan, getMarkedSpanFor, removeMarkedSpan, addMarkedSpan, stretchSpansOverChange, removeReadOnlyRanges, detachMarkedSpans, attachMarkedSpans, compareCollapsedMarkers, collapsedSpanAtStart, collapsedSpanAtEnd, collapsedSpanAround, conflictingCollapsedRange, visualLine, visualLineEnd, visualLineContinued, visualLineNo, visualLineEndNo, lineIsHidden, heightAtLine, lineLength, findMaxLine */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MarkedSpan\", function() { return MarkedSpan; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getMarkedSpanFor\", function() { return getMarkedSpanFor; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"removeMarkedSpan\", function() { return removeMarkedSpan; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"addMarkedSpan\", function() { return addMarkedSpan; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"stretchSpansOverChange\", function() { return stretchSpansOverChange; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"removeReadOnlyRanges\", function() { return removeReadOnlyRanges; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"detachMarkedSpans\", function() { return detachMarkedSpans; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"attachMarkedSpans\", function() { return attachMarkedSpans; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"compareCollapsedMarkers\", function() { return compareCollapsedMarkers; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"collapsedSpanAtStart\", function() { return collapsedSpanAtStart; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"collapsedSpanAtEnd\", function() { return collapsedSpanAtEnd; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"collapsedSpanAround\", function() { return collapsedSpanAround; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"conflictingCollapsedRange\", function() { return conflictingCollapsedRange; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"visualLine\", function() { return visualLine; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"visualLineEnd\", function() { return visualLineEnd; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"visualLineContinued\", function() { return visualLineContinued; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"visualLineNo\", function() { return visualLineNo; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"visualLineEndNo\", function() { return visualLineEndNo; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"lineIsHidden\", function() { return lineIsHidden; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"heightAtLine\", function() { return heightAtLine; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"lineLength\", function() { return lineLength; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"findMaxLine\", function() { return findMaxLine; });\n/* harmony import */ var _util_misc_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../util/misc.js */ \"./node_modules/codemirror/src/util/misc.js\");\n/* harmony import */ var _pos_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./pos.js */ \"./node_modules/codemirror/src/line/pos.js\");\n/* harmony import */ var _saw_special_spans_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./saw_special_spans.js */ \"./node_modules/codemirror/src/line/saw_special_spans.js\");\n/* harmony import */ var _utils_line_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./utils_line.js */ \"./node_modules/codemirror/src/line/utils_line.js\");\n\n\n\n // TEXTMARKER SPANS\n\nfunction MarkedSpan(marker, from, to) {\n this.marker = marker;\n this.from = from;\n this.to = to;\n} // Search an array of spans for a span matching the given marker.\n\nfunction getMarkedSpanFor(spans, marker) {\n if (spans) for (let i = 0; i < spans.length; ++i) {\n let span = spans[i];\n if (span.marker == marker) return span;\n }\n} // Remove a span from an array, returning undefined if no spans are\n// left (we don't store arrays for lines without spans).\n\nfunction removeMarkedSpan(spans, span) {\n let r;\n\n for (let i = 0; i < spans.length; ++i) if (spans[i] != span) (r || (r = [])).push(spans[i]);\n\n return r;\n} // Add a span to a line.\n\nfunction addMarkedSpan(line, span) {\n line.markedSpans = line.markedSpans ? line.markedSpans.concat([span]) : [span];\n span.marker.attachLine(line);\n} // Used for the algorithm that adjusts markers for a change in the\n// document. These functions cut an array of spans at a given\n// character position, returning an array of remaining chunks (or\n// undefined if nothing remains).\n\nfunction markedSpansBefore(old, startCh, isInsert) {\n let nw;\n if (old) for (let i = 0; i < old.length; ++i) {\n let span = old[i],\n marker = span.marker;\n let startsBefore = span.from == null || (marker.inclusiveLeft ? span.from <= startCh : span.from < startCh);\n\n if (startsBefore || span.from == startCh && marker.type == \"bookmark\" && (!isInsert || !span.marker.insertLeft)) {\n let endsAfter = span.to == null || (marker.inclusiveRight ? span.to >= startCh : span.to > startCh);\n (nw || (nw = [])).push(new MarkedSpan(marker, span.from, endsAfter ? null : span.to));\n }\n }\n return nw;\n}\n\nfunction markedSpansAfter(old, endCh, isInsert) {\n let nw;\n if (old) for (let i = 0; i < old.length; ++i) {\n let span = old[i],\n marker = span.marker;\n let endsAfter = span.to == null || (marker.inclusiveRight ? span.to >= endCh : span.to > endCh);\n\n if (endsAfter || span.from == endCh && marker.type == \"bookmark\" && (!isInsert || span.marker.insertLeft)) {\n let startsBefore = span.from == null || (marker.inclusiveLeft ? span.from <= endCh : span.from < endCh);\n (nw || (nw = [])).push(new MarkedSpan(marker, startsBefore ? null : span.from - endCh, span.to == null ? null : span.to - endCh));\n }\n }\n return nw;\n} // Given a change object, compute the new set of marker spans that\n// cover the line in which the change took place. Removes spans\n// entirely within the change, reconnects spans belonging to the\n// same marker that appear on both sides of the change, and cuts off\n// spans partially within the change. Returns an array of span\n// arrays with one element for each line in (after) the change.\n\n\nfunction stretchSpansOverChange(doc, change) {\n if (change.full) return null;\n let oldFirst = Object(_utils_line_js__WEBPACK_IMPORTED_MODULE_3__[\"isLine\"])(doc, change.from.line) && Object(_utils_line_js__WEBPACK_IMPORTED_MODULE_3__[\"getLine\"])(doc, change.from.line).markedSpans;\n let oldLast = Object(_utils_line_js__WEBPACK_IMPORTED_MODULE_3__[\"isLine\"])(doc, change.to.line) && Object(_utils_line_js__WEBPACK_IMPORTED_MODULE_3__[\"getLine\"])(doc, change.to.line).markedSpans;\n if (!oldFirst && !oldLast) return null;\n let startCh = change.from.ch,\n endCh = change.to.ch,\n isInsert = Object(_pos_js__WEBPACK_IMPORTED_MODULE_1__[\"cmp\"])(change.from, change.to) == 0; // Get the spans that 'stick out' on both sides\n\n let first = markedSpansBefore(oldFirst, startCh, isInsert);\n let last = markedSpansAfter(oldLast, endCh, isInsert); // Next, merge those two ends\n\n let sameLine = change.text.length == 1,\n offset = Object(_util_misc_js__WEBPACK_IMPORTED_MODULE_0__[\"lst\"])(change.text).length + (sameLine ? startCh : 0);\n\n if (first) {\n // Fix up .to properties of first\n for (let i = 0; i < first.length; ++i) {\n let span = first[i];\n\n if (span.to == null) {\n let found = getMarkedSpanFor(last, span.marker);\n if (!found) span.to = startCh;else if (sameLine) span.to = found.to == null ? null : found.to + offset;\n }\n }\n }\n\n if (last) {\n // Fix up .from in last (or move them into first in case of sameLine)\n for (let i = 0; i < last.length; ++i) {\n let span = last[i];\n if (span.to != null) span.to += offset;\n\n if (span.from == null) {\n let found = getMarkedSpanFor(first, span.marker);\n\n if (!found) {\n span.from = offset;\n if (sameLine) (first || (first = [])).push(span);\n }\n } else {\n span.from += offset;\n if (sameLine) (first || (first = [])).push(span);\n }\n }\n } // Make sure we didn't create any zero-length spans\n\n\n if (first) first = clearEmptySpans(first);\n if (last && last != first) last = clearEmptySpans(last);\n let newMarkers = [first];\n\n if (!sameLine) {\n // Fill gap with whole-line-spans\n let gap = change.text.length - 2,\n gapMarkers;\n if (gap > 0 && first) for (let i = 0; i < first.length; ++i) if (first[i].to == null) (gapMarkers || (gapMarkers = [])).push(new MarkedSpan(first[i].marker, null, null));\n\n for (let i = 0; i < gap; ++i) newMarkers.push(gapMarkers);\n\n newMarkers.push(last);\n }\n\n return newMarkers;\n} // Remove spans that are empty and don't have a clearWhenEmpty\n// option of false.\n\nfunction clearEmptySpans(spans) {\n for (let i = 0; i < spans.length; ++i) {\n let span = spans[i];\n if (span.from != null && span.from == span.to && span.marker.clearWhenEmpty !== false) spans.splice(i--, 1);\n }\n\n if (!spans.length) return null;\n return spans;\n} // Used to 'clip' out readOnly ranges when making a change.\n\n\nfunction removeReadOnlyRanges(doc, from, to) {\n let markers = null;\n doc.iter(from.line, to.line + 1, line => {\n if (line.markedSpans) for (let i = 0; i < line.markedSpans.length; ++i) {\n let mark = line.markedSpans[i].marker;\n if (mark.readOnly && (!markers || Object(_util_misc_js__WEBPACK_IMPORTED_MODULE_0__[\"indexOf\"])(markers, mark) == -1)) (markers || (markers = [])).push(mark);\n }\n });\n if (!markers) return null;\n let parts = [{\n from: from,\n to: to\n }];\n\n for (let i = 0; i < markers.length; ++i) {\n let mk = markers[i],\n m = mk.find(0);\n\n for (let j = 0; j < parts.length; ++j) {\n let p = parts[j];\n if (Object(_pos_js__WEBPACK_IMPORTED_MODULE_1__[\"cmp\"])(p.to, m.from) < 0 || Object(_pos_js__WEBPACK_IMPORTED_MODULE_1__[\"cmp\"])(p.from, m.to) > 0) continue;\n let newParts = [j, 1],\n dfrom = Object(_pos_js__WEBPACK_IMPORTED_MODULE_1__[\"cmp\"])(p.from, m.from),\n dto = Object(_pos_js__WEBPACK_IMPORTED_MODULE_1__[\"cmp\"])(p.to, m.to);\n if (dfrom < 0 || !mk.inclusiveLeft && !dfrom) newParts.push({\n from: p.from,\n to: m.from\n });\n if (dto > 0 || !mk.inclusiveRight && !dto) newParts.push({\n from: m.to,\n to: p.to\n });\n parts.splice.apply(parts, newParts);\n j += newParts.length - 3;\n }\n }\n\n return parts;\n} // Connect or disconnect spans from a line.\n\nfunction detachMarkedSpans(line) {\n let spans = line.markedSpans;\n if (!spans) return;\n\n for (let i = 0; i < spans.length; ++i) spans[i].marker.detachLine(line);\n\n line.markedSpans = null;\n}\nfunction attachMarkedSpans(line, spans) {\n if (!spans) return;\n\n for (let i = 0; i < spans.length; ++i) spans[i].marker.attachLine(line);\n\n line.markedSpans = spans;\n} // Helpers used when computing which overlapping collapsed span\n// counts as the larger one.\n\nfunction extraLeft(marker) {\n return marker.inclusiveLeft ? -1 : 0;\n}\n\nfunction extraRight(marker) {\n return marker.inclusiveRight ? 1 : 0;\n} // Returns a number indicating which of two overlapping collapsed\n// spans is larger (and thus includes the other). Falls back to\n// comparing ids when the spans cover exactly the same range.\n\n\nfunction compareCollapsedMarkers(a, b) {\n let lenDiff = a.lines.length - b.lines.length;\n if (lenDiff != 0) return lenDiff;\n let aPos = a.find(),\n bPos = b.find();\n let fromCmp = Object(_pos_js__WEBPACK_IMPORTED_MODULE_1__[\"cmp\"])(aPos.from, bPos.from) || extraLeft(a) - extraLeft(b);\n if (fromCmp) return -fromCmp;\n let toCmp = Object(_pos_js__WEBPACK_IMPORTED_MODULE_1__[\"cmp\"])(aPos.to, bPos.to) || extraRight(a) - extraRight(b);\n if (toCmp) return toCmp;\n return b.id - a.id;\n} // Find out whether a line ends or starts in a collapsed span. If\n// so, return the marker for that span.\n\nfunction collapsedSpanAtSide(line, start) {\n let sps = _saw_special_spans_js__WEBPACK_IMPORTED_MODULE_2__[\"sawCollapsedSpans\"] && line.markedSpans,\n found;\n if (sps) for (let sp, i = 0; i < sps.length; ++i) {\n sp = sps[i];\n if (sp.marker.collapsed && (start ? sp.from : sp.to) == null && (!found || compareCollapsedMarkers(found, sp.marker) < 0)) found = sp.marker;\n }\n return found;\n}\n\nfunction collapsedSpanAtStart(line) {\n return collapsedSpanAtSide(line, true);\n}\nfunction collapsedSpanAtEnd(line) {\n return collapsedSpanAtSide(line, false);\n}\nfunction collapsedSpanAround(line, ch) {\n let sps = _saw_special_spans_js__WEBPACK_IMPORTED_MODULE_2__[\"sawCollapsedSpans\"] && line.markedSpans,\n found;\n if (sps) for (let i = 0; i < sps.length; ++i) {\n let sp = sps[i];\n if (sp.marker.collapsed && (sp.from == null || sp.from < ch) && (sp.to == null || sp.to > ch) && (!found || compareCollapsedMarkers(found, sp.marker) < 0)) found = sp.marker;\n }\n return found;\n} // Test whether there exists a collapsed span that partially\n// overlaps (covers the start or end, but not both) of a new span.\n// Such overlap is not allowed.\n\nfunction conflictingCollapsedRange(doc, lineNo, from, to, marker) {\n let line = Object(_utils_line_js__WEBPACK_IMPORTED_MODULE_3__[\"getLine\"])(doc, lineNo);\n let sps = _saw_special_spans_js__WEBPACK_IMPORTED_MODULE_2__[\"sawCollapsedSpans\"] && line.markedSpans;\n if (sps) for (let i = 0; i < sps.length; ++i) {\n let sp = sps[i];\n if (!sp.marker.collapsed) continue;\n let found = sp.marker.find(0);\n let fromCmp = Object(_pos_js__WEBPACK_IMPORTED_MODULE_1__[\"cmp\"])(found.from, from) || extraLeft(sp.marker) - extraLeft(marker);\n let toCmp = Object(_pos_js__WEBPACK_IMPORTED_MODULE_1__[\"cmp\"])(found.to, to) || extraRight(sp.marker) - extraRight(marker);\n if (fromCmp >= 0 && toCmp <= 0 || fromCmp <= 0 && toCmp >= 0) continue;\n if (fromCmp <= 0 && (sp.marker.inclusiveRight && marker.inclusiveLeft ? Object(_pos_js__WEBPACK_IMPORTED_MODULE_1__[\"cmp\"])(found.to, from) >= 0 : Object(_pos_js__WEBPACK_IMPORTED_MODULE_1__[\"cmp\"])(found.to, from) > 0) || fromCmp >= 0 && (sp.marker.inclusiveRight && marker.inclusiveLeft ? Object(_pos_js__WEBPACK_IMPORTED_MODULE_1__[\"cmp\"])(found.from, to) <= 0 : Object(_pos_js__WEBPACK_IMPORTED_MODULE_1__[\"cmp\"])(found.from, to) < 0)) return true;\n }\n} // A visual line is a line as drawn on the screen. Folding, for\n// example, can cause multiple logical lines to appear on the same\n// visual line. This finds the start of the visual line that the\n// given line is part of (usually that is the line itself).\n\nfunction visualLine(line) {\n let merged;\n\n while (merged = collapsedSpanAtStart(line)) line = merged.find(-1, true).line;\n\n return line;\n}\nfunction visualLineEnd(line) {\n let merged;\n\n while (merged = collapsedSpanAtEnd(line)) line = merged.find(1, true).line;\n\n return line;\n} // Returns an array of logical lines that continue the visual line\n// started by the argument, or undefined if there are no such lines.\n\nfunction visualLineContinued(line) {\n let merged, lines;\n\n while (merged = collapsedSpanAtEnd(line)) {\n line = merged.find(1, true).line;\n (lines || (lines = [])).push(line);\n }\n\n return lines;\n} // Get the line number of the start of the visual line that the\n// given line number is part of.\n\nfunction visualLineNo(doc, lineN) {\n let line = Object(_utils_line_js__WEBPACK_IMPORTED_MODULE_3__[\"getLine\"])(doc, lineN),\n vis = visualLine(line);\n if (line == vis) return lineN;\n return Object(_utils_line_js__WEBPACK_IMPORTED_MODULE_3__[\"lineNo\"])(vis);\n} // Get the line number of the start of the next visual line after\n// the given line.\n\nfunction visualLineEndNo(doc, lineN) {\n if (lineN > doc.lastLine()) return lineN;\n let line = Object(_utils_line_js__WEBPACK_IMPORTED_MODULE_3__[\"getLine\"])(doc, lineN),\n merged;\n if (!lineIsHidden(doc, line)) return lineN;\n\n while (merged = collapsedSpanAtEnd(line)) line = merged.find(1, true).line;\n\n return Object(_utils_line_js__WEBPACK_IMPORTED_MODULE_3__[\"lineNo\"])(line) + 1;\n} // Compute whether a line is hidden. Lines count as hidden when they\n// are part of a visual line that starts with another line, or when\n// they are entirely covered by collapsed, non-widget span.\n\nfunction lineIsHidden(doc, line) {\n let sps = _saw_special_spans_js__WEBPACK_IMPORTED_MODULE_2__[\"sawCollapsedSpans\"] && line.markedSpans;\n if (sps) for (let sp, i = 0; i < sps.length; ++i) {\n sp = sps[i];\n if (!sp.marker.collapsed) continue;\n if (sp.from == null) return true;\n if (sp.marker.widgetNode) continue;\n if (sp.from == 0 && sp.marker.inclusiveLeft && lineIsHiddenInner(doc, line, sp)) return true;\n }\n}\n\nfunction lineIsHiddenInner(doc, line, span) {\n if (span.to == null) {\n let end = span.marker.find(1, true);\n return lineIsHiddenInner(doc, end.line, getMarkedSpanFor(end.line.markedSpans, span.marker));\n }\n\n if (span.marker.inclusiveRight && span.to == line.text.length) return true;\n\n for (let sp, i = 0; i < line.markedSpans.length; ++i) {\n sp = line.markedSpans[i];\n if (sp.marker.collapsed && !sp.marker.widgetNode && sp.from == span.to && (sp.to == null || sp.to != span.from) && (sp.marker.inclusiveLeft || span.marker.inclusiveRight) && lineIsHiddenInner(doc, line, sp)) return true;\n }\n} // Find the height above the given line.\n\n\nfunction heightAtLine(lineObj) {\n lineObj = visualLine(lineObj);\n let h = 0,\n chunk = lineObj.parent;\n\n for (let i = 0; i < chunk.lines.length; ++i) {\n let line = chunk.lines[i];\n if (line == lineObj) break;else h += line.height;\n }\n\n for (let p = chunk.parent; p; chunk = p, p = chunk.parent) {\n for (let i = 0; i < p.children.length; ++i) {\n let cur = p.children[i];\n if (cur == chunk) break;else h += cur.height;\n }\n }\n\n return h;\n} // Compute the character length of a line, taking into account\n// collapsed ranges (see markText) that might hide parts, and join\n// other lines onto it.\n\nfunction lineLength(line) {\n if (line.height == 0) return 0;\n let len = line.text.length,\n merged,\n cur = line;\n\n while (merged = collapsedSpanAtStart(cur)) {\n let found = merged.find(0, true);\n cur = found.from.line;\n len += found.from.ch - found.to.ch;\n }\n\n cur = line;\n\n while (merged = collapsedSpanAtEnd(cur)) {\n let found = merged.find(0, true);\n len -= cur.text.length - found.from.ch;\n cur = found.to.line;\n len += cur.text.length - found.to.ch;\n }\n\n return len;\n} // Find the longest line in the document.\n\nfunction findMaxLine(cm) {\n let d = cm.display,\n doc = cm.doc;\n d.maxLine = Object(_utils_line_js__WEBPACK_IMPORTED_MODULE_3__[\"getLine\"])(doc, doc.first);\n d.maxLineLength = lineLength(d.maxLine);\n d.maxLineChanged = true;\n doc.iter(line => {\n let len = lineLength(line);\n\n if (len > d.maxLineLength) {\n d.maxLineLength = len;\n d.maxLine = line;\n }\n });\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9zcmMvbGluZS9zcGFucy5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb2RlbWlycm9yL3NyYy9saW5lL3NwYW5zLmpzPzMzMDIiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5kZXhPZiwgbHN0IH0gZnJvbSBcIi4uL3V0aWwvbWlzYy5qc1wiXG5cbmltcG9ydCB7IGNtcCB9IGZyb20gXCIuL3Bvcy5qc1wiXG5pbXBvcnQgeyBzYXdDb2xsYXBzZWRTcGFucyB9IGZyb20gXCIuL3Nhd19zcGVjaWFsX3NwYW5zLmpzXCJcbmltcG9ydCB7IGdldExpbmUsIGlzTGluZSwgbGluZU5vIH0gZnJvbSBcIi4vdXRpbHNfbGluZS5qc1wiXG5cbi8vIFRFWFRNQVJLRVIgU1BBTlNcblxuZXhwb3J0IGZ1bmN0aW9uIE1hcmtlZFNwYW4obWFya2VyLCBmcm9tLCB0bykge1xuICB0aGlzLm1hcmtlciA9IG1hcmtlclxuICB0aGlzLmZyb20gPSBmcm9tOyB0aGlzLnRvID0gdG9cbn1cblxuLy8gU2VhcmNoIGFuIGFycmF5IG9mIHNwYW5zIGZvciBhIHNwYW4gbWF0Y2hpbmcgdGhlIGdpdmVuIG1hcmtlci5cbmV4cG9ydCBmdW5jdGlvbiBnZXRNYXJrZWRTcGFuRm9yKHNwYW5zLCBtYXJrZXIpIHtcbiAgaWYgKHNwYW5zKSBmb3IgKGxldCBpID0gMDsgaSA8IHNwYW5zLmxlbmd0aDsgKytpKSB7XG4gICAgbGV0IHNwYW4gPSBzcGFuc1tpXVxuICAgIGlmIChzcGFuLm1hcmtlciA9PSBtYXJrZXIpIHJldHVybiBzcGFuXG4gIH1cbn1cbi8vIFJlbW92ZSBhIHNwYW4gZnJvbSBhbiBhcnJheSwgcmV0dXJuaW5nIHVuZGVmaW5lZCBpZiBubyBzcGFucyBhcmVcbi8vIGxlZnQgKHdlIGRvbid0IHN0b3JlIGFycmF5cyBmb3IgbGluZXMgd2l0aG91dCBzcGFucykuXG5leHBvcnQgZnVuY3Rpb24gcmVtb3ZlTWFya2VkU3BhbihzcGFucywgc3Bhbikge1xuICBsZXQgclxuICBmb3IgKGxldCBpID0gMDsgaSA8IHNwYW5zLmxlbmd0aDsgKytpKVxuICAgIGlmIChzcGFuc1tpXSAhPSBzcGFuKSAociB8fCAociA9IFtdKSkucHVzaChzcGFuc1tpXSlcbiAgcmV0dXJuIHJcbn1cbi8vIEFkZCBhIHNwYW4gdG8gYSBsaW5lLlxuZXhwb3J0IGZ1bmN0aW9uIGFkZE1hcmtlZFNwYW4obGluZSwgc3Bhbikge1xuICBsaW5lLm1hcmtlZFNwYW5zID0gbGluZS5tYXJrZWRTcGFucyA/IGxpbmUubWFya2VkU3BhbnMuY29uY2F0KFtzcGFuXSkgOiBbc3Bhbl1cbiAgc3Bhbi5tYXJrZXIuYXR0YWNoTGluZShsaW5lKVxufVxuXG4vLyBVc2VkIGZvciB0aGUgYWxnb3JpdGhtIHRoYXQgYWRqdXN0cyBtYXJrZXJzIGZvciBhIGNoYW5nZSBpbiB0aGVcbi8vIGRvY3VtZW50LiBUaGVzZSBmdW5jdGlvbnMgY3V0IGFuIGFycmF5IG9mIHNwYW5zIGF0IGEgZ2l2ZW5cbi8vIGNoYXJhY3RlciBwb3NpdGlvbiwgcmV0dXJuaW5nIGFuIGFycmF5IG9mIHJlbWFpbmluZyBjaHVua3MgKG9yXG4vLyB1bmRlZmluZWQgaWYgbm90aGluZyByZW1haW5zKS5cbmZ1bmN0aW9uIG1hcmtlZFNwYW5zQmVmb3JlKG9sZCwgc3RhcnRDaCwgaXNJbnNlcnQpIHtcbiAgbGV0IG53XG4gIGlmIChvbGQpIGZvciAobGV0IGkgPSAwOyBpIDwgb2xkLmxlbmd0aDsgKytpKSB7XG4gICAgbGV0IHNwYW4gPSBvbGRbaV0sIG1hcmtlciA9IHNwYW4ubWFya2VyXG4gICAgbGV0IHN0YXJ0c0JlZm9yZSA9IHNwYW4uZnJvbSA9PSBudWxsIHx8IChtYXJrZXIuaW5jbHVzaXZlTGVmdCA/IHNwYW4uZnJvbSA8PSBzdGFydENoIDogc3Bhbi5mcm9tIDwgc3RhcnRDaClcbiAgICBpZiAoc3RhcnRzQmVmb3JlIHx8IHNwYW4uZnJvbSA9PSBzdGFydENoICYmIG1hcmtlci50eXBlID09IFwiYm9va21hcmtcIiAmJiAoIWlzSW5zZXJ0IHx8ICFzcGFuLm1hcmtlci5pbnNlcnRMZWZ0KSkge1xuICAgICAgbGV0IGVuZHNBZnRlciA9IHNwYW4udG8gPT0gbnVsbCB8fCAobWFya2VyLmluY2x1c2l2ZVJpZ2h0ID8gc3Bhbi50byA+PSBzdGFydENoIDogc3Bhbi50byA+IHN0YXJ0Q2gpXG4gICAgICA7KG53IHx8IChudyA9IFtdKSkucHVzaChuZXcgTWFya2VkU3BhbihtYXJrZXIsIHNwYW4uZnJvbSwgZW5kc0FmdGVyID8gbnVsbCA6IHNwYW4udG8pKVxuICAgIH1cbiAgfVxuICByZXR1cm4gbndcbn1cbmZ1bmN0aW9uIG1hcmtlZFNwYW5zQWZ0ZXIob2xkLCBlbmRDaCwgaXNJbnNlcnQpIHtcbiAgbGV0IG53XG4gIGlmIChvbGQpIGZvciAobGV0IGkgPSAwOyBpIDwgb2xkLmxlbmd0aDsgKytpKSB7XG4gICAgbGV0IHNwYW4gPSBvbGRbaV0sIG1hcmtlciA9IHNwYW4ubWFya2VyXG4gICAgbGV0IGVuZHNBZnRlciA9IHNwYW4udG8gPT0gbnVsbCB8fCAobWFya2VyLmluY2x1c2l2ZVJpZ2h0ID8gc3Bhbi50byA+PSBlbmRDaCA6IHNwYW4udG8gPiBlbmRDaClcbiAgICBpZiAoZW5kc0FmdGVyIHx8IHNwYW4uZnJvbSA9PSBlbmRDaCAmJiBtYXJrZXIudHlwZSA9PSBcImJvb2ttYXJrXCIgJiYgKCFpc0luc2VydCB8fCBzcGFuLm1hcmtlci5pbnNlcnRMZWZ0KSkge1xuICAgICAgbGV0IHN0YXJ0c0JlZm9yZSA9IHNwYW4uZnJvbSA9PSBudWxsIHx8IChtYXJrZXIuaW5jbHVzaXZlTGVmdCA/IHNwYW4uZnJvbSA8PSBlbmRDaCA6IHNwYW4uZnJvbSA8IGVuZENoKVxuICAgICAgOyhudyB8fCAobncgPSBbXSkpLnB1c2gobmV3IE1hcmtlZFNwYW4obWFya2VyLCBzdGFydHNCZWZvcmUgPyBudWxsIDogc3Bhbi5mcm9tIC0gZW5kQ2gsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNwYW4udG8gPT0gbnVsbCA/IG51bGwgOiBzcGFuLnRvIC0gZW5kQ2gpKVxuICAgIH1cbiAgfVxuICByZXR1cm4gbndcbn1cblxuLy8gR2l2ZW4gYSBjaGFuZ2Ugb2JqZWN0LCBjb21wdXRlIHRoZSBuZXcgc2V0IG9mIG1hcmtlciBzcGFucyB0aGF0XG4vLyBjb3ZlciB0aGUgbGluZSBpbiB3aGljaCB0aGUgY2hhbmdlIHRvb2sgcGxhY2UuIFJlbW92ZXMgc3BhbnNcbi8vIGVudGlyZWx5IHdpdGhpbiB0aGUgY2hhbmdlLCByZWNvbm5lY3RzIHNwYW5zIGJlbG9uZ2luZyB0byB0aGVcbi8vIHNhbWUgbWFya2VyIHRoYXQgYXBwZWFyIG9uIGJvdGggc2lkZXMgb2YgdGhlIGNoYW5nZSwgYW5kIGN1dHMgb2ZmXG4vLyBzcGFucyBwYXJ0aWFsbHkgd2l0aGluIHRoZSBjaGFuZ2UuIFJldHVybnMgYW4gYXJyYXkgb2Ygc3BhblxuLy8gYXJyYXlzIHdpdGggb25lIGVsZW1lbnQgZm9yIGVhY2ggbGluZSBpbiAoYWZ0ZXIpIHRoZSBjaGFuZ2UuXG5leHBvcnQgZnVuY3Rpb24gc3RyZXRjaFNwYW5zT3ZlckNoYW5nZShkb2MsIGNoYW5nZSkge1xuICBpZiAoY2hhbmdlLmZ1bGwpIHJldHVybiBudWxsXG4gIGxldCBvbGRGaXJzdCA9IGlzTGluZShkb2MsIGNoYW5nZS5mcm9tLmxpbmUpICYmIGdldExpbmUoZG9jLCBjaGFuZ2UuZnJvbS5saW5lKS5tYXJrZWRTcGFuc1xuICBsZXQgb2xkTGFzdCA9IGlzTGluZShkb2MsIGNoYW5nZS50by5saW5lKSAmJiBnZXRMaW5lKGRvYywgY2hhbmdlLnRvLmxpbmUpLm1hcmtlZFNwYW5zXG4gIGlmICghb2xkRmlyc3QgJiYgIW9sZExhc3QpIHJldHVybiBudWxsXG5cbiAgbGV0IHN0YXJ0Q2ggPSBjaGFuZ2UuZnJvbS5jaCwgZW5kQ2ggPSBjaGFuZ2UudG8uY2gsIGlzSW5zZXJ0ID0gY21wKGNoYW5nZS5mcm9tLCBjaGFuZ2UudG8pID09IDBcbiAgLy8gR2V0IHRoZSBzcGFucyB0aGF0ICdzdGljayBvdXQnIG9uIGJvdGggc2lkZXNcbiAgbGV0IGZpcnN0ID0gbWFya2VkU3BhbnNCZWZvcmUob2xkRmlyc3QsIHN0YXJ0Q2gsIGlzSW5zZXJ0KVxuICBsZXQgbGFzdCA9IG1hcmtlZFNwYW5zQWZ0ZXIob2xkTGFzdCwgZW5kQ2gsIGlzSW5zZXJ0KVxuXG4gIC8vIE5leHQsIG1lcmdlIHRob3NlIHR3byBlbmRzXG4gIGxldCBzYW1lTGluZSA9IGNoYW5nZS50ZXh0Lmxlbmd0aCA9PSAxLCBvZmZzZXQgPSBsc3QoY2hhbmdlLnRleHQpLmxlbmd0aCArIChzYW1lTGluZSA/IHN0YXJ0Q2ggOiAwKVxuICBpZiAoZmlyc3QpIHtcbiAgICAvLyBGaXggdXAgLnRvIHByb3BlcnRpZXMgb2YgZmlyc3RcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGZpcnN0Lmxlbmd0aDsgKytpKSB7XG4gICAgICBsZXQgc3BhbiA9IGZpcnN0W2ldXG4gICAgICBpZiAoc3Bhbi50byA9PSBudWxsKSB7XG4gICAgICAgIGxldCBmb3VuZCA9IGdldE1hcmtlZFNwYW5Gb3IobGFzdCwgc3Bhbi5tYXJrZXIpXG4gICAgICAgIGlmICghZm91bmQpIHNwYW4udG8gPSBzdGFydENoXG4gICAgICAgIGVsc2UgaWYgKHNhbWVMaW5lKSBzcGFuLnRvID0gZm91bmQudG8gPT0gbnVsbCA/IG51bGwgOiBmb3VuZC50byArIG9mZnNldFxuICAgICAgfVxuICAgIH1cbiAgfVxuICBpZiAobGFzdCkge1xuICAgIC8vIEZpeCB1cCAuZnJvbSBpbiBsYXN0IChvciBtb3ZlIHRoZW0gaW50byBmaXJzdCBpbiBjYXNlIG9mIHNhbWVMaW5lKVxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGFzdC5sZW5ndGg7ICsraSkge1xuICAgICAgbGV0IHNwYW4gPSBsYXN0W2ldXG4gICAgICBpZiAoc3Bhbi50byAhPSBudWxsKSBzcGFuLnRvICs9IG9mZnNldFxuICAgICAgaWYgKHNwYW4uZnJvbSA9PSBudWxsKSB7XG4gICAgICAgIGxldCBmb3VuZCA9IGdldE1hcmtlZFNwYW5Gb3IoZmlyc3QsIHNwYW4ubWFya2VyKVxuICAgICAgICBpZiAoIWZvdW5kKSB7XG4gICAgICAgICAgc3Bhbi5mcm9tID0gb2Zmc2V0XG4gICAgICAgICAgaWYgKHNhbWVMaW5lKSAoZmlyc3QgfHwgKGZpcnN0ID0gW10pKS5wdXNoKHNwYW4pXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNwYW4uZnJvbSArPSBvZmZzZXRcbiAgICAgICAgaWYgKHNhbWVMaW5lKSAoZmlyc3QgfHwgKGZpcnN0ID0gW10pKS5wdXNoKHNwYW4pXG4gICAgICB9XG4gICAgfVxuICB9XG4gIC8vIE1ha2Ugc3VyZSB3ZSBkaWRuJ3QgY3JlYXRlIGFueSB6ZXJvLWxlbmd0aCBzcGFuc1xuICBpZiAoZmlyc3QpIGZpcnN0ID0gY2xlYXJFbXB0eVNwYW5zKGZpcnN0KVxuICBpZiAobGFzdCAmJiBsYXN0ICE9IGZpcnN0KSBsYXN0ID0gY2xlYXJFbXB0eVNwYW5zKGxhc3QpXG5cbiAgbGV0IG5ld01hcmtlcnMgPSBbZmlyc3RdXG4gIGlmICghc2FtZUxpbmUpIHtcbiAgICAvLyBGaWxsIGdhcCB3aXRoIHdob2xlLWxpbmUtc3BhbnNcbiAgICBsZXQgZ2FwID0gY2hhbmdlLnRleHQubGVuZ3RoIC0gMiwgZ2FwTWFya2Vyc1xuICAgIGlmIChnYXAgPiAwICYmIGZpcnN0KVxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBmaXJzdC5sZW5ndGg7ICsraSlcbiAgICAgICAgaWYgKGZpcnN0W2ldLnRvID09IG51bGwpXG4gICAgICAgICAgKGdhcE1hcmtlcnMgfHwgKGdhcE1hcmtlcnMgPSBbXSkpLnB1c2gobmV3IE1hcmtlZFNwYW4oZmlyc3RbaV0ubWFya2VyLCBudWxsLCBudWxsKSlcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGdhcDsgKytpKVxuICAgICAgbmV3TWFya2Vycy5wdXNoKGdhcE1hcmtlcnMpXG4gICAgbmV3TWFya2Vycy5wdXNoKGxhc3QpXG4gIH1cbiAgcmV0dXJuIG5ld01hcmtlcnNcbn1cblxuLy8gUmVtb3ZlIHNwYW5zIHRoYXQgYXJlIGVtcHR5IGFuZCBkb24ndCBoYXZlIGEgY2xlYXJXaGVuRW1wdHlcbi8vIG9wdGlvbiBvZiBmYWxzZS5cbmZ1bmN0aW9uIGNsZWFyRW1wdHlTcGFucyhzcGFucykge1xuICBmb3IgKGxldCBpID0gMDsgaSA8IHNwYW5zLmxlbmd0aDsgKytpKSB7XG4gICAgbGV0IHNwYW4gPSBzcGFuc1tpXVxuICAgIGlmIChzcGFuLmZyb20gIT0gbnVsbCAmJiBzcGFuLmZyb20gPT0gc3Bhbi50byAmJiBzcGFuLm1hcmtlci5jbGVhcldoZW5FbXB0eSAhPT0gZmFsc2UpXG4gICAgICBzcGFucy5zcGxpY2UoaS0tLCAxKVxuICB9XG4gIGlmICghc3BhbnMubGVuZ3RoKSByZXR1cm4gbnVsbFxuICByZXR1cm4gc3BhbnNcbn1cblxuLy8gVXNlZCB0byAnY2xpcCcgb3V0IHJlYWRPbmx5IHJhbmdlcyB3aGVuIG1ha2luZyBhIGNoYW5nZS5cbmV4cG9ydCBmdW5jdGlvbiByZW1vdmVSZWFkT25seVJhbmdlcyhkb2MsIGZyb20sIHRvKSB7XG4gIGxldCBtYXJrZXJzID0gbnVsbFxuICBkb2MuaXRlcihmcm9tLmxpbmUsIHRvLmxpbmUgKyAxLCBsaW5lID0+IHtcbiAgICBpZiAobGluZS5tYXJrZWRTcGFucykgZm9yIChsZXQgaSA9IDA7IGkgPCBsaW5lLm1hcmtlZFNwYW5zLmxlbmd0aDsgKytpKSB7XG4gICAgICBsZXQgbWFyayA9IGxpbmUubWFya2VkU3BhbnNbaV0ubWFya2VyXG4gICAgICBpZiAobWFyay5yZWFkT25seSAmJiAoIW1hcmtlcnMgfHwgaW5kZXhPZihtYXJrZXJzLCBtYXJrKSA9PSAtMSkpXG4gICAgICAgIChtYXJrZXJzIHx8IChtYXJrZXJzID0gW10pKS5wdXNoKG1hcmspXG4gICAgfVxuICB9KVxuICBpZiAoIW1hcmtlcnMpIHJldHVybiBudWxsXG4gIGxldCBwYXJ0cyA9IFt7ZnJvbTogZnJvbSwgdG86IHRvfV1cbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBtYXJrZXJzLmxlbmd0aDsgKytpKSB7XG4gICAgbGV0IG1rID0gbWFya2Vyc1tpXSwgbSA9IG1rLmZpbmQoMClcbiAgICBmb3IgKGxldCBqID0gMDsgaiA8IHBhcnRzLmxlbmd0aDsgKytqKSB7XG4gICAgICBsZXQgcCA9IHBhcnRzW2pdXG4gICAgICBpZiAoY21wKHAudG8sIG0uZnJvbSkgPCAwIHx8IGNtcChwLmZyb20sIG0udG8pID4gMCkgY29udGludWVcbiAgICAgIGxldCBuZXdQYXJ0cyA9IFtqLCAxXSwgZGZyb20gPSBjbXAocC5mcm9tLCBtLmZyb20pLCBkdG8gPSBjbXAocC50bywgbS50bylcbiAgICAgIGlmIChkZnJvbSA8IDAgfHwgIW1rLmluY2x1c2l2ZUxlZnQgJiYgIWRmcm9tKVxuICAgICAgICBuZXdQYXJ0cy5wdXNoKHtmcm9tOiBwLmZyb20sIHRvOiBtLmZyb219KVxuICAgICAgaWYgKGR0byA+IDAgfHwgIW1rLmluY2x1c2l2ZVJpZ2h0ICYmICFkdG8pXG4gICAgICAgIG5ld1BhcnRzLnB1c2goe2Zyb206IG0udG8sIHRvOiBwLnRvfSlcbiAgICAgIHBhcnRzLnNwbGljZS5hcHBseShwYXJ0cywgbmV3UGFydHMpXG4gICAgICBqICs9IG5ld1BhcnRzLmxlbmd0aCAtIDNcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHBhcnRzXG59XG5cbi8vIENvbm5lY3Qgb3IgZGlzY29ubmVjdCBzcGFucyBmcm9tIGEgbGluZS5cbmV4cG9ydCBmdW5jdGlvbiBkZXRhY2hNYXJrZWRTcGFucyhsaW5lKSB7XG4gIGxldCBzcGFucyA9IGxpbmUubWFya2VkU3BhbnNcbiAgaWYgKCFzcGFucykgcmV0dXJuXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgc3BhbnMubGVuZ3RoOyArK2kpXG4gICAgc3BhbnNbaV0ubWFya2VyLmRldGFjaExpbmUobGluZSlcbiAgbGluZS5tYXJrZWRTcGFucyA9IG51bGxcbn1cbmV4cG9ydCBmdW5jdGlvbiBhdHRhY2hNYXJrZWRTcGFucyhsaW5lLCBzcGFucykge1xuICBpZiAoIXNwYW5zKSByZXR1cm5cbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBzcGFucy5sZW5ndGg7ICsraSlcbiAgICBzcGFuc1tpXS5tYXJrZXIuYXR0YWNoTGluZShsaW5lKVxuICBsaW5lLm1hcmtlZFNwYW5zID0gc3BhbnNcbn1cblxuLy8gSGVscGVycyB1c2VkIHdoZW4gY29tcHV0aW5nIHdoaWNoIG92ZXJsYXBwaW5nIGNvbGxhcHNlZCBzcGFuXG4vLyBjb3VudHMgYXMgdGhlIGxhcmdlciBvbmUuXG5mdW5jdGlvbiBleHRyYUxlZnQobWFya2VyKSB7IHJldHVybiBtYXJrZXIuaW5jbHVzaXZlTGVmdCA/IC0xIDogMCB9XG5mdW5jdGlvbiBleHRyYVJpZ2h0KG1hcmtlcikgeyByZXR1cm4gbWFya2VyLmluY2x1c2l2ZVJpZ2h0ID8gMSA6IDAgfVxuXG4vLyBSZXR1cm5zIGEgbnVtYmVyIGluZGljYXRpbmcgd2hpY2ggb2YgdHdvIG92ZXJsYXBwaW5nIGNvbGxhcHNlZFxuLy8gc3BhbnMgaXMgbGFyZ2VyIChhbmQgdGh1cyBpbmNsdWRlcyB0aGUgb3RoZXIpLiBGYWxscyBiYWNrIHRvXG4vLyBjb21wYXJpbmcgaWRzIHdoZW4gdGhlIHNwYW5zIGNvdmVyIGV4YWN0bHkgdGhlIHNhbWUgcmFuZ2UuXG5leHBvcnQgZnVuY3Rpb24gY29tcGFyZUNvbGxhcHNlZE1hcmtlcnMoYSwgYikge1xuICBsZXQgbGVuRGlmZiA9IGEubGluZXMubGVuZ3RoIC0gYi5saW5lcy5sZW5ndGhcbiAgaWYgKGxlbkRpZmYgIT0gMCkgcmV0dXJuIGxlbkRpZmZcbiAgbGV0IGFQb3MgPSBhLmZpbmQoKSwgYlBvcyA9IGIuZmluZCgpXG4gIGxldCBmcm9tQ21wID0gY21wKGFQb3MuZnJvbSwgYlBvcy5mcm9tKSB8fCBleHRyYUxlZnQoYSkgLSBleHRyYUxlZnQoYilcbiAgaWYgKGZyb21DbXApIHJldHVybiAtZnJvbUNtcFxuICBsZXQgdG9DbXAgPSBjbXAoYVBvcy50bywgYlBvcy50bykgfHwgZXh0cmFSaWdodChhKSAtIGV4dHJhUmlnaHQoYilcbiAgaWYgKHRvQ21wKSByZXR1cm4gdG9DbXBcbiAgcmV0dXJuIGIuaWQgLSBhLmlkXG59XG5cbi8vIEZpbmQgb3V0IHdoZXRoZXIgYSBsaW5lIGVuZHMgb3Igc3RhcnRzIGluIGEgY29sbGFwc2VkIHNwYW4uIElmXG4vLyBzbywgcmV0dXJuIHRoZSBtYXJrZXIgZm9yIHRoYXQgc3Bhbi5cbmZ1bmN0aW9uIGNvbGxhcHNlZFNwYW5BdFNpZGUobGluZSwgc3RhcnQpIHtcbiAgbGV0IHNwcyA9IHNhd0NvbGxhcHNlZFNwYW5zICYmIGxpbmUubWFya2VkU3BhbnMsIGZvdW5kXG4gIGlmIChzcHMpIGZvciAobGV0IHNwLCBpID0gMDsgaSA8IHNwcy5sZW5ndGg7ICsraSkge1xuICAgIHNwID0gc3BzW2ldXG4gICAgaWYgKHNwLm1hcmtlci5jb2xsYXBzZWQgJiYgKHN0YXJ0ID8gc3AuZnJvbSA6IHNwLnRvKSA9PSBudWxsICYmXG4gICAgICAgICghZm91bmQgfHwgY29tcGFyZUNvbGxhcHNlZE1hcmtlcnMoZm91bmQsIHNwLm1hcmtlcikgPCAwKSlcbiAgICAgIGZvdW5kID0gc3AubWFya2VyXG4gIH1cbiAgcmV0dXJuIGZvdW5kXG59XG5leHBvcnQgZnVuY3Rpb24gY29sbGFwc2VkU3BhbkF0U3RhcnQobGluZSkgeyByZXR1cm4gY29sbGFwc2VkU3BhbkF0U2lkZShsaW5lLCB0cnVlKSB9XG5leHBvcnQgZnVuY3Rpb24gY29sbGFwc2VkU3BhbkF0RW5kKGxpbmUpIHsgcmV0dXJuIGNvbGxhcHNlZFNwYW5BdFNpZGUobGluZSwgZmFsc2UpIH1cblxuZXhwb3J0IGZ1bmN0aW9uIGNvbGxhcHNlZFNwYW5Bcm91bmQobGluZSwgY2gpIHtcbiAgbGV0IHNwcyA9IHNhd0NvbGxhcHNlZFNwYW5zICYmIGxpbmUubWFya2VkU3BhbnMsIGZvdW5kXG4gIGlmIChzcHMpIGZvciAobGV0IGkgPSAwOyBpIDwgc3BzLmxlbmd0aDsgKytpKSB7XG4gICAgbGV0IHNwID0gc3BzW2ldXG4gICAgaWYgKHNwLm1hcmtlci5jb2xsYXBzZWQgJiYgKHNwLmZyb20gPT0gbnVsbCB8fCBzcC5mcm9tIDwgY2gpICYmIChzcC50byA9PSBudWxsIHx8IHNwLnRvID4gY2gpICYmXG4gICAgICAgICghZm91bmQgfHwgY29tcGFyZUNvbGxhcHNlZE1hcmtlcnMoZm91bmQsIHNwLm1hcmtlcikgPCAwKSkgZm91bmQgPSBzcC5tYXJrZXJcbiAgfVxuICByZXR1cm4gZm91bmRcbn1cblxuLy8gVGVzdCB3aGV0aGVyIHRoZXJlIGV4aXN0cyBhIGNvbGxhcHNlZCBzcGFuIHRoYXQgcGFydGlhbGx5XG4vLyBvdmVybGFwcyAoY292ZXJzIHRoZSBzdGFydCBvciBlbmQsIGJ1dCBub3QgYm90aCkgb2YgYSBuZXcgc3Bhbi5cbi8vIFN1Y2ggb3ZlcmxhcCBpcyBub3QgYWxsb3dlZC5cbmV4cG9ydCBmdW5jdGlvbiBjb25mbGljdGluZ0NvbGxhcHNlZFJhbmdlKGRvYywgbGluZU5vLCBmcm9tLCB0bywgbWFya2VyKSB7XG4gIGxldCBsaW5lID0gZ2V0TGluZShkb2MsIGxpbmVObylcbiAgbGV0IHNwcyA9IHNhd0NvbGxhcHNlZFNwYW5zICYmIGxpbmUubWFya2VkU3BhbnNcbiAgaWYgKHNwcykgZm9yIChsZXQgaSA9IDA7IGkgPCBzcHMubGVuZ3RoOyArK2kpIHtcbiAgICBsZXQgc3AgPSBzcHNbaV1cbiAgICBpZiAoIXNwLm1hcmtlci5jb2xsYXBzZWQpIGNvbnRpbnVlXG4gICAgbGV0IGZvdW5kID0gc3AubWFya2VyLmZpbmQoMClcbiAgICBsZXQgZnJvbUNtcCA9IGNtcChmb3VuZC5mcm9tLCBmcm9tKSB8fCBleHRyYUxlZnQoc3AubWFya2VyKSAtIGV4dHJhTGVmdChtYXJrZXIpXG4gICAgbGV0IHRvQ21wID0gY21wKGZvdW5kLnRvLCB0bykgfHwgZXh0cmFSaWdodChzcC5tYXJrZXIpIC0gZXh0cmFSaWdodChtYXJrZXIpXG4gICAgaWYgKGZyb21DbXAgPj0gMCAmJiB0b0NtcCA8PSAwIHx8IGZyb21DbXAgPD0gMCAmJiB0b0NtcCA+PSAwKSBjb250aW51ZVxuICAgIGlmIChmcm9tQ21wIDw9IDAgJiYgKHNwLm1hcmtlci5pbmNsdXNpdmVSaWdodCAmJiBtYXJrZXIuaW5jbHVzaXZlTGVmdCA/IGNtcChmb3VuZC50bywgZnJvbSkgPj0gMCA6IGNtcChmb3VuZC50bywgZnJvbSkgPiAwKSB8fFxuICAgICAgICBmcm9tQ21wID49IDAgJiYgKHNwLm1hcmtlci5pbmNsdXNpdmVSaWdodCAmJiBtYXJrZXIuaW5jbHVzaXZlTGVmdCA/IGNtcChmb3VuZC5mcm9tLCB0bykgPD0gMCA6IGNtcChmb3VuZC5mcm9tLCB0bykgPCAwKSlcbiAgICAgIHJldHVybiB0cnVlXG4gIH1cbn1cblxuLy8gQSB2aXN1YWwgbGluZSBpcyBhIGxpbmUgYXMgZHJhd24gb24gdGhlIHNjcmVlbi4gRm9sZGluZywgZm9yXG4vLyBleGFtcGxlLCBjYW4gY2F1c2UgbXVsdGlwbGUgbG9naWNhbCBsaW5lcyB0byBhcHBlYXIgb24gdGhlIHNhbWVcbi8vIHZpc3VhbCBsaW5lLiBUaGlzIGZpbmRzIHRoZSBzdGFydCBvZiB0aGUgdmlzdWFsIGxpbmUgdGhhdCB0aGVcbi8vIGdpdmVuIGxpbmUgaXMgcGFydCBvZiAodXN1YWxseSB0aGF0IGlzIHRoZSBsaW5lIGl0c2VsZikuXG5leHBvcnQgZnVuY3Rpb24gdmlzdWFsTGluZShsaW5lKSB7XG4gIGxldCBtZXJnZWRcbiAgd2hpbGUgKG1lcmdlZCA9IGNvbGxhcHNlZFNwYW5BdFN0YXJ0KGxpbmUpKVxuICAgIGxpbmUgPSBtZXJnZWQuZmluZCgtMSwgdHJ1ZSkubGluZVxuICByZXR1cm4gbGluZVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdmlzdWFsTGluZUVuZChsaW5lKSB7XG4gIGxldCBtZXJnZWRcbiAgd2hpbGUgKG1lcmdlZCA9IGNvbGxhcHNlZFNwYW5BdEVuZChsaW5lKSlcbiAgICBsaW5lID0gbWVyZ2VkLmZpbmQoMSwgdHJ1ZSkubGluZVxuICByZXR1cm4gbGluZVxufVxuXG4vLyBSZXR1cm5zIGFuIGFycmF5IG9mIGxvZ2ljYWwgbGluZXMgdGhhdCBjb250aW51ZSB0aGUgdmlzdWFsIGxpbmVcbi8vIHN0YXJ0ZWQgYnkgdGhlIGFyZ3VtZW50LCBvciB1bmRlZmluZWQgaWYgdGhlcmUgYXJlIG5vIHN1Y2ggbGluZXMuXG5leHBvcnQgZnVuY3Rpb24gdmlzdWFsTGluZUNvbnRpbnVlZChsaW5lKSB7XG4gIGxldCBtZXJnZWQsIGxpbmVzXG4gIHdoaWxlIChtZXJnZWQgPSBjb2xsYXBzZWRTcGFuQXRFbmQobGluZSkpIHtcbiAgICBsaW5lID0gbWVyZ2VkLmZpbmQoMSwgdHJ1ZSkubGluZVxuICAgIDsobGluZXMgfHwgKGxpbmVzID0gW10pKS5wdXNoKGxpbmUpXG4gIH1cbiAgcmV0dXJuIGxpbmVzXG59XG5cbi8vIEdldCB0aGUgbGluZSBudW1iZXIgb2YgdGhlIHN0YXJ0IG9mIHRoZSB2aXN1YWwgbGluZSB0aGF0IHRoZVxuLy8gZ2l2ZW4gbGluZSBudW1iZXIgaXMgcGFydCBvZi5cbmV4cG9ydCBmdW5jdGlvbiB2aXN1YWxMaW5lTm8oZG9jLCBsaW5lTikge1xuICBsZXQgbGluZSA9IGdldExpbmUoZG9jLCBsaW5lTiksIHZpcyA9IHZpc3VhbExpbmUobGluZSlcbiAgaWYgKGxpbmUgPT0gdmlzKSByZXR1cm4gbGluZU5cbiAgcmV0dXJuIGxpbmVObyh2aXMpXG59XG5cbi8vIEdldCB0aGUgbGluZSBudW1iZXIgb2YgdGhlIHN0YXJ0IG9mIHRoZSBuZXh0IHZpc3VhbCBsaW5lIGFmdGVyXG4vLyB0aGUgZ2l2ZW4gbGluZS5cbmV4cG9ydCBmdW5jdGlvbiB2aXN1YWxMaW5lRW5kTm8oZG9jLCBsaW5lTikge1xuICBpZiAobGluZU4gPiBkb2MubGFzdExpbmUoKSkgcmV0dXJuIGxpbmVOXG4gIGxldCBsaW5lID0gZ2V0TGluZShkb2MsIGxpbmVOKSwgbWVyZ2VkXG4gIGlmICghbGluZUlzSGlkZGVuKGRvYywgbGluZSkpIHJldHVybiBsaW5lTlxuICB3aGlsZSAobWVyZ2VkID0gY29sbGFwc2VkU3BhbkF0RW5kKGxpbmUpKVxuICAgIGxpbmUgPSBtZXJnZWQuZmluZCgxLCB0cnVlKS5saW5lXG4gIHJldHVybiBsaW5lTm8obGluZSkgKyAxXG59XG5cbi8vIENvbXB1dGUgd2hldGhlciBhIGxpbmUgaXMgaGlkZGVuLiBMaW5lcyBjb3VudCBhcyBoaWRkZW4gd2hlbiB0aGV5XG4vLyBhcmUgcGFydCBvZiBhIHZpc3VhbCBsaW5lIHRoYXQgc3RhcnRzIHdpdGggYW5vdGhlciBsaW5lLCBvciB3aGVuXG4vLyB0aGV5IGFyZSBlbnRpcmVseSBjb3ZlcmVkIGJ5IGNvbGxhcHNlZCwgbm9uLXdpZGdldCBzcGFuLlxuZXhwb3J0IGZ1bmN0aW9uIGxpbmVJc0hpZGRlbihkb2MsIGxpbmUpIHtcbiAgbGV0IHNwcyA9IHNhd0NvbGxhcHNlZFNwYW5zICYmIGxpbmUubWFya2VkU3BhbnNcbiAgaWYgKHNwcykgZm9yIChsZXQgc3AsIGkgPSAwOyBpIDwgc3BzLmxlbmd0aDsgKytpKSB7XG4gICAgc3AgPSBzcHNbaV1cbiAgICBpZiAoIXNwLm1hcmtlci5jb2xsYXBzZWQpIGNvbnRpbnVlXG4gICAgaWYgKHNwLmZyb20gPT0gbnVsbCkgcmV0dXJuIHRydWVcbiAgICBpZiAoc3AubWFya2VyLndpZGdldE5vZGUpIGNvbnRpbnVlXG4gICAgaWYgKHNwLmZyb20gPT0gMCAmJiBzcC5tYXJrZXIuaW5jbHVzaXZlTGVmdCAmJiBsaW5lSXNIaWRkZW5Jbm5lcihkb2MsIGxpbmUsIHNwKSlcbiAgICAgIHJldHVybiB0cnVlXG4gIH1cbn1cbmZ1bmN0aW9uIGxpbmVJc0hpZGRlbklubmVyKGRvYywgbGluZSwgc3Bhbikge1xuICBpZiAoc3Bhbi50byA9PSBudWxsKSB7XG4gICAgbGV0IGVuZCA9IHNwYW4ubWFya2VyLmZpbmQoMSwgdHJ1ZSlcbiAgICByZXR1cm4gbGluZUlzSGlkZGVuSW5uZXIoZG9jLCBlbmQubGluZSwgZ2V0TWFya2VkU3BhbkZvcihlbmQubGluZS5tYXJrZWRTcGFucywgc3Bhbi5tYXJrZXIpKVxuICB9XG4gIGlmIChzcGFuLm1hcmtlci5pbmNsdXNpdmVSaWdodCAmJiBzcGFuLnRvID09IGxpbmUudGV4dC5sZW5ndGgpXG4gICAgcmV0dXJuIHRydWVcbiAgZm9yIChsZXQgc3AsIGkgPSAwOyBpIDwgbGluZS5tYXJrZWRTcGFucy5sZW5ndGg7ICsraSkge1xuICAgIHNwID0gbGluZS5tYXJrZWRTcGFuc1tpXVxuICAgIGlmIChzcC5tYXJrZXIuY29sbGFwc2VkICYmICFzcC5tYXJrZXIud2lkZ2V0Tm9kZSAmJiBzcC5mcm9tID09IHNwYW4udG8gJiZcbiAgICAgICAgKHNwLnRvID09IG51bGwgfHwgc3AudG8gIT0gc3Bhbi5mcm9tKSAmJlxuICAgICAgICAoc3AubWFya2VyLmluY2x1c2l2ZUxlZnQgfHwgc3Bhbi5tYXJrZXIuaW5jbHVzaXZlUmlnaHQpICYmXG4gICAgICAgIGxpbmVJc0hpZGRlbklubmVyKGRvYywgbGluZSwgc3ApKSByZXR1cm4gdHJ1ZVxuICB9XG59XG5cbi8vIEZpbmQgdGhlIGhlaWdodCBhYm92ZSB0aGUgZ2l2ZW4gbGluZS5cbmV4cG9ydCBmdW5jdGlvbiBoZWlnaHRBdExpbmUobGluZU9iaikge1xuICBsaW5lT2JqID0gdmlzdWFsTGluZShsaW5lT2JqKVxuXG4gIGxldCBoID0gMCwgY2h1bmsgPSBsaW5lT2JqLnBhcmVudFxuICBmb3IgKGxldCBpID0gMDsgaSA8IGNodW5rLmxpbmVzLmxlbmd0aDsgKytpKSB7XG4gICAgbGV0IGxpbmUgPSBjaHVuay5saW5lc1tpXVxuICAgIGlmIChsaW5lID09IGxpbmVPYmopIGJyZWFrXG4gICAgZWxzZSBoICs9IGxpbmUuaGVpZ2h0XG4gIH1cbiAgZm9yIChsZXQgcCA9IGNodW5rLnBhcmVudDsgcDsgY2h1bmsgPSBwLCBwID0gY2h1bmsucGFyZW50KSB7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwLmNoaWxkcmVuLmxlbmd0aDsgKytpKSB7XG4gICAgICBsZXQgY3VyID0gcC5jaGlsZHJlbltpXVxuICAgICAgaWYgKGN1ciA9PSBjaHVuaykgYnJlYWtcbiAgICAgIGVsc2UgaCArPSBjdXIuaGVpZ2h0XG4gICAgfVxuICB9XG4gIHJldHVybiBoXG59XG5cbi8vIENvbXB1dGUgdGhlIGNoYXJhY3RlciBsZW5ndGggb2YgYSBsaW5lLCB0YWtpbmcgaW50byBhY2NvdW50XG4vLyBjb2xsYXBzZWQgcmFuZ2VzIChzZWUgbWFya1RleHQpIHRoYXQgbWlnaHQgaGlkZSBwYXJ0cywgYW5kIGpvaW5cbi8vIG90aGVyIGxpbmVzIG9udG8gaXQuXG5leHBvcnQgZnVuY3Rpb24gbGluZUxlbmd0aChsaW5lKSB7XG4gIGlmIChsaW5lLmhlaWdodCA9PSAwKSByZXR1cm4gMFxuICBsZXQgbGVuID0gbGluZS50ZXh0Lmxlbmd0aCwgbWVyZ2VkLCBjdXIgPSBsaW5lXG4gIHdoaWxlIChtZXJnZWQgPSBjb2xsYXBzZWRTcGFuQXRTdGFydChjdXIpKSB7XG4gICAgbGV0IGZvdW5kID0gbWVyZ2VkLmZpbmQoMCwgdHJ1ZSlcbiAgICBjdXIgPSBmb3VuZC5mcm9tLmxpbmVcbiAgICBsZW4gKz0gZm91bmQuZnJvbS5jaCAtIGZvdW5kLnRvLmNoXG4gIH1cbiAgY3VyID0gbGluZVxuICB3aGlsZSAobWVyZ2VkID0gY29sbGFwc2VkU3BhbkF0RW5kKGN1cikpIHtcbiAgICBsZXQgZm91bmQgPSBtZXJnZWQuZmluZCgwLCB0cnVlKVxuICAgIGxlbiAtPSBjdXIudGV4dC5sZW5ndGggLSBmb3VuZC5mcm9tLmNoXG4gICAgY3VyID0gZm91bmQudG8ubGluZVxuICAgIGxlbiArPSBjdXIudGV4dC5sZW5ndGggLSBmb3VuZC50by5jaFxuICB9XG4gIHJldHVybiBsZW5cbn1cblxuLy8gRmluZCB0aGUgbG9uZ2VzdCBsaW5lIGluIHRoZSBkb2N1bWVudC5cbmV4cG9ydCBmdW5jdGlvbiBmaW5kTWF4TGluZShjbSkge1xuICBsZXQgZCA9IGNtLmRpc3BsYXksIGRvYyA9IGNtLmRvY1xuICBkLm1heExpbmUgPSBnZXRMaW5lKGRvYywgZG9jLmZpcnN0KVxuICBkLm1heExpbmVMZW5ndGggPSBsaW5lTGVuZ3RoKGQubWF4TGluZSlcbiAgZC5tYXhMaW5lQ2hhbmdlZCA9IHRydWVcbiAgZG9jLml0ZXIobGluZSA9PiB7XG4gICAgbGV0IGxlbiA9IGxpbmVMZW5ndGgobGluZSlcbiAgICBpZiAobGVuID4gZC5tYXhMaW5lTGVuZ3RoKSB7XG4gICAgICBkLm1heExpbmVMZW5ndGggPSBsZW5cbiAgICAgIGQubWF4TGluZSA9IGxpbmVcbiAgICB9XG4gIH0pXG59XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFEQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBR0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBREE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBR0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/codemirror/src/line/spans.js\n"); /***/ }), /***/ "./node_modules/codemirror/src/line/utils_line.js": /*!********************************************************!*\ !*** ./node_modules/codemirror/src/line/utils_line.js ***! \********************************************************/ /*! exports provided: getLine, getBetween, getLines, updateLineHeight, lineNo, lineAtHeight, isLine, lineNumberFor */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getLine\", function() { return getLine; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getBetween\", function() { return getBetween; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getLines\", function() { return getLines; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"updateLineHeight\", function() { return updateLineHeight; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"lineNo\", function() { return lineNo; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"lineAtHeight\", function() { return lineAtHeight; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isLine\", function() { return isLine; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"lineNumberFor\", function() { return lineNumberFor; });\n/* harmony import */ var _util_misc_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../util/misc.js */ \"./node_modules/codemirror/src/util/misc.js\");\n // Find the line object corresponding to the given line number.\n\nfunction getLine(doc, n) {\n n -= doc.first;\n if (n < 0 || n >= doc.size) throw new Error(\"There is no line \" + (n + doc.first) + \" in the document.\");\n let chunk = doc;\n\n while (!chunk.lines) {\n for (let i = 0;; ++i) {\n let child = chunk.children[i],\n sz = child.chunkSize();\n\n if (n < sz) {\n chunk = child;\n break;\n }\n\n n -= sz;\n }\n }\n\n return chunk.lines[n];\n} // Get the part of a document between two positions, as an array of\n// strings.\n\nfunction getBetween(doc, start, end) {\n let out = [],\n n = start.line;\n doc.iter(start.line, end.line + 1, line => {\n let text = line.text;\n if (n == end.line) text = text.slice(0, end.ch);\n if (n == start.line) text = text.slice(start.ch);\n out.push(text);\n ++n;\n });\n return out;\n} // Get the lines between from and to, as array of strings.\n\nfunction getLines(doc, from, to) {\n let out = [];\n doc.iter(from, to, line => {\n out.push(line.text);\n }); // iter aborts when callback returns truthy value\n\n return out;\n} // Update the height of a line, propagating the height change\n// upwards to parent nodes.\n\nfunction updateLineHeight(line, height) {\n let diff = height - line.height;\n if (diff) for (let n = line; n; n = n.parent) n.height += diff;\n} // Given a line object, find its line number by walking up through\n// its parent links.\n\nfunction lineNo(line) {\n if (line.parent == null) return null;\n let cur = line.parent,\n no = Object(_util_misc_js__WEBPACK_IMPORTED_MODULE_0__[\"indexOf\"])(cur.lines, line);\n\n for (let chunk = cur.parent; chunk; cur = chunk, chunk = chunk.parent) {\n for (let i = 0;; ++i) {\n if (chunk.children[i] == cur) break;\n no += chunk.children[i].chunkSize();\n }\n }\n\n return no + cur.first;\n} // Find the line at the given vertical position, using the height\n// information in the document tree.\n\nfunction lineAtHeight(chunk, h) {\n let n = chunk.first;\n\n outer: do {\n for (let i = 0; i < chunk.children.length; ++i) {\n let child = chunk.children[i],\n ch = child.height;\n\n if (h < ch) {\n chunk = child;\n continue outer;\n }\n\n h -= ch;\n n += child.chunkSize();\n }\n\n return n;\n } while (!chunk.lines);\n\n let i = 0;\n\n for (; i < chunk.lines.length; ++i) {\n let line = chunk.lines[i],\n lh = line.height;\n if (h < lh) break;\n h -= lh;\n }\n\n return n + i;\n}\nfunction isLine(doc, l) {\n return l >= doc.first && l < doc.first + doc.size;\n}\nfunction lineNumberFor(options, i) {\n return String(options.lineNumberFormatter(i + options.firstLineNumber));\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9zcmMvbGluZS91dGlsc19saW5lLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvZGVtaXJyb3Ivc3JjL2xpbmUvdXRpbHNfbGluZS5qcz85MzVmIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluZGV4T2YgfSBmcm9tIFwiLi4vdXRpbC9taXNjLmpzXCJcblxuLy8gRmluZCB0aGUgbGluZSBvYmplY3QgY29ycmVzcG9uZGluZyB0byB0aGUgZ2l2ZW4gbGluZSBudW1iZXIuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TGluZShkb2MsIG4pIHtcbiAgbiAtPSBkb2MuZmlyc3RcbiAgaWYgKG4gPCAwIHx8IG4gPj0gZG9jLnNpemUpIHRocm93IG5ldyBFcnJvcihcIlRoZXJlIGlzIG5vIGxpbmUgXCIgKyAobiArIGRvYy5maXJzdCkgKyBcIiBpbiB0aGUgZG9jdW1lbnQuXCIpXG4gIGxldCBjaHVuayA9IGRvY1xuICB3aGlsZSAoIWNodW5rLmxpbmVzKSB7XG4gICAgZm9yIChsZXQgaSA9IDA7OyArK2kpIHtcbiAgICAgIGxldCBjaGlsZCA9IGNodW5rLmNoaWxkcmVuW2ldLCBzeiA9IGNoaWxkLmNodW5rU2l6ZSgpXG4gICAgICBpZiAobiA8IHN6KSB7IGNodW5rID0gY2hpbGQ7IGJyZWFrIH1cbiAgICAgIG4gLT0gc3pcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGNodW5rLmxpbmVzW25dXG59XG5cbi8vIEdldCB0aGUgcGFydCBvZiBhIGRvY3VtZW50IGJldHdlZW4gdHdvIHBvc2l0aW9ucywgYXMgYW4gYXJyYXkgb2Zcbi8vIHN0cmluZ3MuXG5leHBvcnQgZnVuY3Rpb24gZ2V0QmV0d2Vlbihkb2MsIHN0YXJ0LCBlbmQpIHtcbiAgbGV0IG91dCA9IFtdLCBuID0gc3RhcnQubGluZVxuICBkb2MuaXRlcihzdGFydC5saW5lLCBlbmQubGluZSArIDEsIGxpbmUgPT4ge1xuICAgIGxldCB0ZXh0ID0gbGluZS50ZXh0XG4gICAgaWYgKG4gPT0gZW5kLmxpbmUpIHRleHQgPSB0ZXh0LnNsaWNlKDAsIGVuZC5jaClcbiAgICBpZiAobiA9PSBzdGFydC5saW5lKSB0ZXh0ID0gdGV4dC5zbGljZShzdGFydC5jaClcbiAgICBvdXQucHVzaCh0ZXh0KVxuICAgICsrblxuICB9KVxuICByZXR1cm4gb3V0XG59XG4vLyBHZXQgdGhlIGxpbmVzIGJldHdlZW4gZnJvbSBhbmQgdG8sIGFzIGFycmF5IG9mIHN0cmluZ3MuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TGluZXMoZG9jLCBmcm9tLCB0bykge1xuICBsZXQgb3V0ID0gW11cbiAgZG9jLml0ZXIoZnJvbSwgdG8sIGxpbmUgPT4geyBvdXQucHVzaChsaW5lLnRleHQpIH0pIC8vIGl0ZXIgYWJvcnRzIHdoZW4gY2FsbGJhY2sgcmV0dXJucyB0cnV0aHkgdmFsdWVcbiAgcmV0dXJuIG91dFxufVxuXG4vLyBVcGRhdGUgdGhlIGhlaWdodCBvZiBhIGxpbmUsIHByb3BhZ2F0aW5nIHRoZSBoZWlnaHQgY2hhbmdlXG4vLyB1cHdhcmRzIHRvIHBhcmVudCBub2Rlcy5cbmV4cG9ydCBmdW5jdGlvbiB1cGRhdGVMaW5lSGVpZ2h0KGxpbmUsIGhlaWdodCkge1xuICBsZXQgZGlmZiA9IGhlaWdodCAtIGxpbmUuaGVpZ2h0XG4gIGlmIChkaWZmKSBmb3IgKGxldCBuID0gbGluZTsgbjsgbiA9IG4ucGFyZW50KSBuLmhlaWdodCArPSBkaWZmXG59XG5cbi8vIEdpdmVuIGEgbGluZSBvYmplY3QsIGZpbmQgaXRzIGxpbmUgbnVtYmVyIGJ5IHdhbGtpbmcgdXAgdGhyb3VnaFxuLy8gaXRzIHBhcmVudCBsaW5rcy5cbmV4cG9ydCBmdW5jdGlvbiBsaW5lTm8obGluZSkge1xuICBpZiAobGluZS5wYXJlbnQgPT0gbnVsbCkgcmV0dXJuIG51bGxcbiAgbGV0IGN1ciA9IGxpbmUucGFyZW50LCBubyA9IGluZGV4T2YoY3VyLmxpbmVzLCBsaW5lKVxuICBmb3IgKGxldCBjaHVuayA9IGN1ci5wYXJlbnQ7IGNodW5rOyBjdXIgPSBjaHVuaywgY2h1bmsgPSBjaHVuay5wYXJlbnQpIHtcbiAgICBmb3IgKGxldCBpID0gMDs7ICsraSkge1xuICAgICAgaWYgKGNodW5rLmNoaWxkcmVuW2ldID09IGN1cikgYnJlYWtcbiAgICAgIG5vICs9IGNodW5rLmNoaWxkcmVuW2ldLmNodW5rU2l6ZSgpXG4gICAgfVxuICB9XG4gIHJldHVybiBubyArIGN1ci5maXJzdFxufVxuXG4vLyBGaW5kIHRoZSBsaW5lIGF0IHRoZSBnaXZlbiB2ZXJ0aWNhbCBwb3NpdGlvbiwgdXNpbmcgdGhlIGhlaWdodFxuLy8gaW5mb3JtYXRpb24gaW4gdGhlIGRvY3VtZW50IHRyZWUuXG5leHBvcnQgZnVuY3Rpb24gbGluZUF0SGVpZ2h0KGNodW5rLCBoKSB7XG4gIGxldCBuID0gY2h1bmsuZmlyc3RcbiAgb3V0ZXI6IGRvIHtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNodW5rLmNoaWxkcmVuLmxlbmd0aDsgKytpKSB7XG4gICAgICBsZXQgY2hpbGQgPSBjaHVuay5jaGlsZHJlbltpXSwgY2ggPSBjaGlsZC5oZWlnaHRcbiAgICAgIGlmIChoIDwgY2gpIHsgY2h1bmsgPSBjaGlsZDsgY29udGludWUgb3V0ZXIgfVxuICAgICAgaCAtPSBjaFxuICAgICAgbiArPSBjaGlsZC5jaHVua1NpemUoKVxuICAgIH1cbiAgICByZXR1cm4gblxuICB9IHdoaWxlICghY2h1bmsubGluZXMpXG4gIGxldCBpID0gMFxuICBmb3IgKDsgaSA8IGNodW5rLmxpbmVzLmxlbmd0aDsgKytpKSB7XG4gICAgbGV0IGxpbmUgPSBjaHVuay5saW5lc1tpXSwgbGggPSBsaW5lLmhlaWdodFxuICAgIGlmIChoIDwgbGgpIGJyZWFrXG4gICAgaCAtPSBsaFxuICB9XG4gIHJldHVybiBuICsgaVxufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNMaW5lKGRvYywgbCkge3JldHVybiBsID49IGRvYy5maXJzdCAmJiBsIDwgZG9jLmZpcnN0ICsgZG9jLnNpemV9XG5cbmV4cG9ydCBmdW5jdGlvbiBsaW5lTnVtYmVyRm9yKG9wdGlvbnMsIGkpIHtcbiAgcmV0dXJuIFN0cmluZyhvcHRpb25zLmxpbmVOdW1iZXJGb3JtYXR0ZXIoaSArIG9wdGlvbnMuZmlyc3RMaW5lTnVtYmVyKSlcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBR0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUdBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBR0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBRUE7QUFBQTtBQUFBO0FBRUE7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/codemirror/src/line/utils_line.js\n"); /***/ }), /***/ "./node_modules/codemirror/src/measurement/position_measurement.js": /*!*************************************************************************!*\ !*** ./node_modules/codemirror/src/measurement/position_measurement.js ***! \*************************************************************************/ /*! exports provided: paddingTop, paddingVert, paddingH, scrollGap, displayWidth, displayHeight, mapFromLineView, measureChar, findViewForLine, prepareMeasureForLine, measureCharPrepared, nodeAndOffsetInLineMap, clearLineMeasurementCacheFor, clearLineMeasurementCache, clearCaches, intoCoordSystem, fromCoordSystem, charCoords, cursorCoords, estimateCoords, coordsChar, wrappedLineExtentChar, textHeight, charWidth, getDimensions, compensateForHScroll, estimateHeight, estimateLineHeights, posFromMouse, findViewIndex */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"paddingTop\", function() { return paddingTop; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"paddingVert\", function() { return paddingVert; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"paddingH\", function() { return paddingH; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"scrollGap\", function() { return scrollGap; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"displayWidth\", function() { return displayWidth; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"displayHeight\", function() { return displayHeight; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"mapFromLineView\", function() { return mapFromLineView; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"measureChar\", function() { return measureChar; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"findViewForLine\", function() { return findViewForLine; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"prepareMeasureForLine\", function() { return prepareMeasureForLine; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"measureCharPrepared\", function() { return measureCharPrepared; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"nodeAndOffsetInLineMap\", function() { return nodeAndOffsetInLineMap; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"clearLineMeasurementCacheFor\", function() { return clearLineMeasurementCacheFor; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"clearLineMeasurementCache\", function() { return clearLineMeasurementCache; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"clearCaches\", function() { return clearCaches; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"intoCoordSystem\", function() { return intoCoordSystem; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"fromCoordSystem\", function() { return fromCoordSystem; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"charCoords\", function() { return charCoords; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"cursorCoords\", function() { return cursorCoords; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"estimateCoords\", function() { return estimateCoords; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"coordsChar\", function() { return coordsChar; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"wrappedLineExtentChar\", function() { return wrappedLineExtentChar; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"textHeight\", function() { return textHeight; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"charWidth\", function() { return charWidth; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getDimensions\", function() { return getDimensions; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"compensateForHScroll\", function() { return compensateForHScroll; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"estimateHeight\", function() { return estimateHeight; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"estimateLineHeights\", function() { return estimateLineHeights; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"posFromMouse\", function() { return posFromMouse; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"findViewIndex\", function() { return findViewIndex; });\n/* harmony import */ var _line_line_data_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../line/line_data.js */ \"./node_modules/codemirror/src/line/line_data.js\");\n/* harmony import */ var _line_pos_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../line/pos.js */ \"./node_modules/codemirror/src/line/pos.js\");\n/* harmony import */ var _line_spans_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../line/spans.js */ \"./node_modules/codemirror/src/line/spans.js\");\n/* harmony import */ var _line_utils_line_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../line/utils_line.js */ \"./node_modules/codemirror/src/line/utils_line.js\");\n/* harmony import */ var _util_bidi_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../util/bidi.js */ \"./node_modules/codemirror/src/util/bidi.js\");\n/* harmony import */ var _util_browser_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../util/browser.js */ \"./node_modules/codemirror/src/util/browser.js\");\n/* harmony import */ var _util_dom_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../util/dom.js */ \"./node_modules/codemirror/src/util/dom.js\");\n/* harmony import */ var _util_event_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../util/event.js */ \"./node_modules/codemirror/src/util/event.js\");\n/* harmony import */ var _util_feature_detection_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../util/feature_detection.js */ \"./node_modules/codemirror/src/util/feature_detection.js\");\n/* harmony import */ var _util_misc_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../util/misc.js */ \"./node_modules/codemirror/src/util/misc.js\");\n/* harmony import */ var _display_update_line_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../display/update_line.js */ \"./node_modules/codemirror/src/display/update_line.js\");\n/* harmony import */ var _widgets_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./widgets.js */ \"./node_modules/codemirror/src/measurement/widgets.js\");\n\n\n\n\n\n\n\n\n\n\n\n // POSITION MEASUREMENT\n\nfunction paddingTop(display) {\n return display.lineSpace.offsetTop;\n}\nfunction paddingVert(display) {\n return display.mover.offsetHeight - display.lineSpace.offsetHeight;\n}\nfunction paddingH(display) {\n if (display.cachedPaddingH) return display.cachedPaddingH;\n let e = Object(_util_dom_js__WEBPACK_IMPORTED_MODULE_6__[\"removeChildrenAndAdd\"])(display.measure, Object(_util_dom_js__WEBPACK_IMPORTED_MODULE_6__[\"elt\"])(\"pre\", \"x\", \"CodeMirror-line-like\"));\n let style = window.getComputedStyle ? window.getComputedStyle(e) : e.currentStyle;\n let data = {\n left: parseInt(style.paddingLeft),\n right: parseInt(style.paddingRight)\n };\n if (!isNaN(data.left) && !isNaN(data.right)) display.cachedPaddingH = data;\n return data;\n}\nfunction scrollGap(cm) {\n return _util_misc_js__WEBPACK_IMPORTED_MODULE_9__[\"scrollerGap\"] - cm.display.nativeBarWidth;\n}\nfunction displayWidth(cm) {\n return cm.display.scroller.clientWidth - scrollGap(cm) - cm.display.barWidth;\n}\nfunction displayHeight(cm) {\n return cm.display.scroller.clientHeight - scrollGap(cm) - cm.display.barHeight;\n} // Ensure the lineView.wrapping.heights array is populated. This is\n// an array of bottom offsets for the lines that make up a drawn\n// line. When lineWrapping is on, there might be more than one\n// height.\n\nfunction ensureLineHeights(cm, lineView, rect) {\n let wrapping = cm.options.lineWrapping;\n let curWidth = wrapping && displayWidth(cm);\n\n if (!lineView.measure.heights || wrapping && lineView.measure.width != curWidth) {\n let heights = lineView.measure.heights = [];\n\n if (wrapping) {\n lineView.measure.width = curWidth;\n let rects = lineView.text.firstChild.getClientRects();\n\n for (let i = 0; i < rects.length - 1; i++) {\n let cur = rects[i],\n next = rects[i + 1];\n if (Math.abs(cur.bottom - next.bottom) > 2) heights.push((cur.bottom + next.top) / 2 - rect.top);\n }\n }\n\n heights.push(rect.bottom - rect.top);\n }\n} // Find a line map (mapping character offsets to text nodes) and a\n// measurement cache for the given line number. (A line view might\n// contain multiple lines when collapsed ranges are present.)\n\n\nfunction mapFromLineView(lineView, line, lineN) {\n if (lineView.line == line) return {\n map: lineView.measure.map,\n cache: lineView.measure.cache\n };\n\n for (let i = 0; i < lineView.rest.length; i++) if (lineView.rest[i] == line) return {\n map: lineView.measure.maps[i],\n cache: lineView.measure.caches[i]\n };\n\n for (let i = 0; i < lineView.rest.length; i++) if (Object(_line_utils_line_js__WEBPACK_IMPORTED_MODULE_3__[\"lineNo\"])(lineView.rest[i]) > lineN) return {\n map: lineView.measure.maps[i],\n cache: lineView.measure.caches[i],\n before: true\n };\n} // Render a line into the hidden node display.externalMeasured. Used\n// when measurement is needed for a line that's not in the viewport.\n\nfunction updateExternalMeasurement(cm, line) {\n line = Object(_line_spans_js__WEBPACK_IMPORTED_MODULE_2__[\"visualLine\"])(line);\n let lineN = Object(_line_utils_line_js__WEBPACK_IMPORTED_MODULE_3__[\"lineNo\"])(line);\n let view = cm.display.externalMeasured = new _line_line_data_js__WEBPACK_IMPORTED_MODULE_0__[\"LineView\"](cm.doc, line, lineN);\n view.lineN = lineN;\n let built = view.built = Object(_line_line_data_js__WEBPACK_IMPORTED_MODULE_0__[\"buildLineContent\"])(cm, view);\n view.text = built.pre;\n Object(_util_dom_js__WEBPACK_IMPORTED_MODULE_6__[\"removeChildrenAndAdd\"])(cm.display.lineMeasure, built.pre);\n return view;\n} // Get a {top, bottom, left, right} box (in line-local coordinates)\n// for a given character.\n\n\nfunction measureChar(cm, line, ch, bias) {\n return measureCharPrepared(cm, prepareMeasureForLine(cm, line), ch, bias);\n} // Find a line view that corresponds to the given line number.\n\nfunction findViewForLine(cm, lineN) {\n if (lineN >= cm.display.viewFrom && lineN < cm.display.viewTo) return cm.display.view[findViewIndex(cm, lineN)];\n let ext = cm.display.externalMeasured;\n if (ext && lineN >= ext.lineN && lineN < ext.lineN + ext.size) return ext;\n} // Measurement can be split in two steps, the set-up work that\n// applies to the whole line, and the measurement of the actual\n// character. Functions like coordsChar, that need to do a lot of\n// measurements in a row, can thus ensure that the set-up work is\n// only done once.\n\nfunction prepareMeasureForLine(cm, line) {\n let lineN = Object(_line_utils_line_js__WEBPACK_IMPORTED_MODULE_3__[\"lineNo\"])(line);\n let view = findViewForLine(cm, lineN);\n\n if (view && !view.text) {\n view = null;\n } else if (view && view.changes) {\n Object(_display_update_line_js__WEBPACK_IMPORTED_MODULE_10__[\"updateLineForChanges\"])(cm, view, lineN, getDimensions(cm));\n cm.curOp.forceUpdate = true;\n }\n\n if (!view) view = updateExternalMeasurement(cm, line);\n let info = mapFromLineView(view, line, lineN);\n return {\n line: line,\n view: view,\n rect: null,\n map: info.map,\n cache: info.cache,\n before: info.before,\n hasHeights: false\n };\n} // Given a prepared measurement object, measures the position of an\n// actual character (or fetches it from the cache).\n\nfunction measureCharPrepared(cm, prepared, ch, bias, varHeight) {\n if (prepared.before) ch = -1;\n let key = ch + (bias || \"\"),\n found;\n\n if (prepared.cache.hasOwnProperty(key)) {\n found = prepared.cache[key];\n } else {\n if (!prepared.rect) prepared.rect = prepared.view.text.getBoundingClientRect();\n\n if (!prepared.hasHeights) {\n ensureLineHeights(cm, prepared.view, prepared.rect);\n prepared.hasHeights = true;\n }\n\n found = measureCharInner(cm, prepared, ch, bias);\n if (!found.bogus) prepared.cache[key] = found;\n }\n\n return {\n left: found.left,\n right: found.right,\n top: varHeight ? found.rtop : found.top,\n bottom: varHeight ? found.rbottom : found.bottom\n };\n}\nlet nullRect = {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n};\nfunction nodeAndOffsetInLineMap(map, ch, bias) {\n let node, start, end, collapse, mStart, mEnd; // First, search the line map for the text node corresponding to,\n // or closest to, the target character.\n\n for (let i = 0; i < map.length; i += 3) {\n mStart = map[i];\n mEnd = map[i + 1];\n\n if (ch < mStart) {\n start = 0;\n end = 1;\n collapse = \"left\";\n } else if (ch < mEnd) {\n start = ch - mStart;\n end = start + 1;\n } else if (i == map.length - 3 || ch == mEnd && map[i + 3] > ch) {\n end = mEnd - mStart;\n start = end - 1;\n if (ch >= mEnd) collapse = \"right\";\n }\n\n if (start != null) {\n node = map[i + 2];\n if (mStart == mEnd && bias == (node.insertLeft ? \"left\" : \"right\")) collapse = bias;\n if (bias == \"left\" && start == 0) while (i && map[i - 2] == map[i - 3] && map[i - 1].insertLeft) {\n node = map[(i -= 3) + 2];\n collapse = \"left\";\n }\n if (bias == \"right\" && start == mEnd - mStart) while (i < map.length - 3 && map[i + 3] == map[i + 4] && !map[i + 5].insertLeft) {\n node = map[(i += 3) + 2];\n collapse = \"right\";\n }\n break;\n }\n }\n\n return {\n node: node,\n start: start,\n end: end,\n collapse: collapse,\n coverStart: mStart,\n coverEnd: mEnd\n };\n}\n\nfunction getUsefulRect(rects, bias) {\n let rect = nullRect;\n if (bias == \"left\") for (let i = 0; i < rects.length; i++) {\n if ((rect = rects[i]).left != rect.right) break;\n } else for (let i = rects.length - 1; i >= 0; i--) {\n if ((rect = rects[i]).left != rect.right) break;\n }\n return rect;\n}\n\nfunction measureCharInner(cm, prepared, ch, bias) {\n let place = nodeAndOffsetInLineMap(prepared.map, ch, bias);\n let node = place.node,\n start = place.start,\n end = place.end,\n collapse = place.collapse;\n let rect;\n\n if (node.nodeType == 3) {\n // If it is a text node, use a range to retrieve the coordinates.\n for (let i = 0; i < 4; i++) {\n // Retry a maximum of 4 times when nonsense rectangles are returned\n while (start && Object(_util_misc_js__WEBPACK_IMPORTED_MODULE_9__[\"isExtendingChar\"])(prepared.line.text.charAt(place.coverStart + start))) --start;\n\n while (place.coverStart + end < place.coverEnd && Object(_util_misc_js__WEBPACK_IMPORTED_MODULE_9__[\"isExtendingChar\"])(prepared.line.text.charAt(place.coverStart + end))) ++end;\n\n if (_util_browser_js__WEBPACK_IMPORTED_MODULE_5__[\"ie\"] && _util_browser_js__WEBPACK_IMPORTED_MODULE_5__[\"ie_version\"] < 9 && start == 0 && end == place.coverEnd - place.coverStart) rect = node.parentNode.getBoundingClientRect();else rect = getUsefulRect(Object(_util_dom_js__WEBPACK_IMPORTED_MODULE_6__[\"range\"])(node, start, end).getClientRects(), bias);\n if (rect.left || rect.right || start == 0) break;\n end = start;\n start = start - 1;\n collapse = \"right\";\n }\n\n if (_util_browser_js__WEBPACK_IMPORTED_MODULE_5__[\"ie\"] && _util_browser_js__WEBPACK_IMPORTED_MODULE_5__[\"ie_version\"] < 11) rect = maybeUpdateRectForZooming(cm.display.measure, rect);\n } else {\n // If it is a widget, simply get the box for the whole widget.\n if (start > 0) collapse = bias = \"right\";\n let rects;\n if (cm.options.lineWrapping && (rects = node.getClientRects()).length > 1) rect = rects[bias == \"right\" ? rects.length - 1 : 0];else rect = node.getBoundingClientRect();\n }\n\n if (_util_browser_js__WEBPACK_IMPORTED_MODULE_5__[\"ie\"] && _util_browser_js__WEBPACK_IMPORTED_MODULE_5__[\"ie_version\"] < 9 && !start && (!rect || !rect.left && !rect.right)) {\n let rSpan = node.parentNode.getClientRects()[0];\n if (rSpan) rect = {\n left: rSpan.left,\n right: rSpan.left + charWidth(cm.display),\n top: rSpan.top,\n bottom: rSpan.bottom\n };else rect = nullRect;\n }\n\n let rtop = rect.top - prepared.rect.top,\n rbot = rect.bottom - prepared.rect.top;\n let mid = (rtop + rbot) / 2;\n let heights = prepared.view.measure.heights;\n let i = 0;\n\n for (; i < heights.length - 1; i++) if (mid < heights[i]) break;\n\n let top = i ? heights[i - 1] : 0,\n bot = heights[i];\n let result = {\n left: (collapse == \"right\" ? rect.right : rect.left) - prepared.rect.left,\n right: (collapse == \"left\" ? rect.left : rect.right) - prepared.rect.left,\n top: top,\n bottom: bot\n };\n if (!rect.left && !rect.right) result.bogus = true;\n\n if (!cm.options.singleCursorHeightPerLine) {\n result.rtop = rtop;\n result.rbottom = rbot;\n }\n\n return result;\n} // Work around problem with bounding client rects on ranges being\n// returned incorrectly when zoomed on IE10 and below.\n\n\nfunction maybeUpdateRectForZooming(measure, rect) {\n if (!window.screen || screen.logicalXDPI == null || screen.logicalXDPI == screen.deviceXDPI || !Object(_util_feature_detection_js__WEBPACK_IMPORTED_MODULE_8__[\"hasBadZoomedRects\"])(measure)) return rect;\n let scaleX = screen.logicalXDPI / screen.deviceXDPI;\n let scaleY = screen.logicalYDPI / screen.deviceYDPI;\n return {\n left: rect.left * scaleX,\n right: rect.right * scaleX,\n top: rect.top * scaleY,\n bottom: rect.bottom * scaleY\n };\n}\n\nfunction clearLineMeasurementCacheFor(lineView) {\n if (lineView.measure) {\n lineView.measure.cache = {};\n lineView.measure.heights = null;\n if (lineView.rest) for (let i = 0; i < lineView.rest.length; i++) lineView.measure.caches[i] = {};\n }\n}\nfunction clearLineMeasurementCache(cm) {\n cm.display.externalMeasure = null;\n Object(_util_dom_js__WEBPACK_IMPORTED_MODULE_6__[\"removeChildren\"])(cm.display.lineMeasure);\n\n for (let i = 0; i < cm.display.view.length; i++) clearLineMeasurementCacheFor(cm.display.view[i]);\n}\nfunction clearCaches(cm) {\n clearLineMeasurementCache(cm);\n cm.display.cachedCharWidth = cm.display.cachedTextHeight = cm.display.cachedPaddingH = null;\n if (!cm.options.lineWrapping) cm.display.maxLineChanged = true;\n cm.display.lineNumChars = null;\n}\n\nfunction pageScrollX() {\n // Work around https://bugs.chromium.org/p/chromium/issues/detail?id=489206\n // which causes page_Offset and bounding client rects to use\n // different reference viewports and invalidate our calculations.\n if (_util_browser_js__WEBPACK_IMPORTED_MODULE_5__[\"chrome\"] && _util_browser_js__WEBPACK_IMPORTED_MODULE_5__[\"android\"]) return -(document.body.getBoundingClientRect().left - parseInt(getComputedStyle(document.body).marginLeft));\n return window.pageXOffset || (document.documentElement || document.body).scrollLeft;\n}\n\nfunction pageScrollY() {\n if (_util_browser_js__WEBPACK_IMPORTED_MODULE_5__[\"chrome\"] && _util_browser_js__WEBPACK_IMPORTED_MODULE_5__[\"android\"]) return -(document.body.getBoundingClientRect().top - parseInt(getComputedStyle(document.body).marginTop));\n return window.pageYOffset || (document.documentElement || document.body).scrollTop;\n}\n\nfunction widgetTopHeight(lineObj) {\n let height = 0;\n if (lineObj.widgets) for (let i = 0; i < lineObj.widgets.length; ++i) if (lineObj.widgets[i].above) height += Object(_widgets_js__WEBPACK_IMPORTED_MODULE_11__[\"widgetHeight\"])(lineObj.widgets[i]);\n return height;\n} // Converts a {top, bottom, left, right} box from line-local\n// coordinates into another coordinate system. Context may be one of\n// \"line\", \"div\" (display.lineDiv), \"local\"./null (editor), \"window\",\n// or \"page\".\n\n\nfunction intoCoordSystem(cm, lineObj, rect, context, includeWidgets) {\n if (!includeWidgets) {\n let height = widgetTopHeight(lineObj);\n rect.top += height;\n rect.bottom += height;\n }\n\n if (context == \"line\") return rect;\n if (!context) context = \"local\";\n let yOff = Object(_line_spans_js__WEBPACK_IMPORTED_MODULE_2__[\"heightAtLine\"])(lineObj);\n if (context == \"local\") yOff += paddingTop(cm.display);else yOff -= cm.display.viewOffset;\n\n if (context == \"page\" || context == \"window\") {\n let lOff = cm.display.lineSpace.getBoundingClientRect();\n yOff += lOff.top + (context == \"window\" ? 0 : pageScrollY());\n let xOff = lOff.left + (context == \"window\" ? 0 : pageScrollX());\n rect.left += xOff;\n rect.right += xOff;\n }\n\n rect.top += yOff;\n rect.bottom += yOff;\n return rect;\n} // Coverts a box from \"div\" coords to another coordinate system.\n// Context may be \"window\", \"page\", \"div\", or \"local\"./null.\n\nfunction fromCoordSystem(cm, coords, context) {\n if (context == \"div\") return coords;\n let left = coords.left,\n top = coords.top; // First move into \"page\" coordinate system\n\n if (context == \"page\") {\n left -= pageScrollX();\n top -= pageScrollY();\n } else if (context == \"local\" || !context) {\n let localBox = cm.display.sizer.getBoundingClientRect();\n left += localBox.left;\n top += localBox.top;\n }\n\n let lineSpaceBox = cm.display.lineSpace.getBoundingClientRect();\n return {\n left: left - lineSpaceBox.left,\n top: top - lineSpaceBox.top\n };\n}\nfunction charCoords(cm, pos, context, lineObj, bias) {\n if (!lineObj) lineObj = Object(_line_utils_line_js__WEBPACK_IMPORTED_MODULE_3__[\"getLine\"])(cm.doc, pos.line);\n return intoCoordSystem(cm, lineObj, measureChar(cm, lineObj, pos.ch, bias), context);\n} // Returns a box for a given cursor position, which may have an\n// 'other' property containing the position of the secondary cursor\n// on a bidi boundary.\n// A cursor Pos(line, char, \"before\") is on the same visual line as `char - 1`\n// and after `char - 1` in writing order of `char - 1`\n// A cursor Pos(line, char, \"after\") is on the same visual line as `char`\n// and before `char` in writing order of `char`\n// Examples (upper-case letters are RTL, lower-case are LTR):\n// Pos(0, 1, ...)\n// before after\n// ab a|b a|b\n// aB a|B aB|\n// Ab |Ab A|b\n// AB B|A B|A\n// Every position after the last character on a line is considered to stick\n// to the last character on the line.\n\nfunction cursorCoords(cm, pos, context, lineObj, preparedMeasure, varHeight) {\n lineObj = lineObj || Object(_line_utils_line_js__WEBPACK_IMPORTED_MODULE_3__[\"getLine\"])(cm.doc, pos.line);\n if (!preparedMeasure) preparedMeasure = prepareMeasureForLine(cm, lineObj);\n\n function get(ch, right) {\n let m = measureCharPrepared(cm, preparedMeasure, ch, right ? \"right\" : \"left\", varHeight);\n if (right) m.left = m.right;else m.right = m.left;\n return intoCoordSystem(cm, lineObj, m, context);\n }\n\n let order = Object(_util_bidi_js__WEBPACK_IMPORTED_MODULE_4__[\"getOrder\"])(lineObj, cm.doc.direction),\n ch = pos.ch,\n sticky = pos.sticky;\n\n if (ch >= lineObj.text.length) {\n ch = lineObj.text.length;\n sticky = \"before\";\n } else if (ch <= 0) {\n ch = 0;\n sticky = \"after\";\n }\n\n if (!order) return get(sticky == \"before\" ? ch - 1 : ch, sticky == \"before\");\n\n function getBidi(ch, partPos, invert) {\n let part = order[partPos],\n right = part.level == 1;\n return get(invert ? ch - 1 : ch, right != invert);\n }\n\n let partPos = Object(_util_bidi_js__WEBPACK_IMPORTED_MODULE_4__[\"getBidiPartAt\"])(order, ch, sticky);\n let other = _util_bidi_js__WEBPACK_IMPORTED_MODULE_4__[\"bidiOther\"];\n let val = getBidi(ch, partPos, sticky == \"before\");\n if (other != null) val.other = getBidi(ch, other, sticky != \"before\");\n return val;\n} // Used to cheaply estimate the coordinates for a position. Used for\n// intermediate scroll updates.\n\nfunction estimateCoords(cm, pos) {\n let left = 0;\n pos = Object(_line_pos_js__WEBPACK_IMPORTED_MODULE_1__[\"clipPos\"])(cm.doc, pos);\n if (!cm.options.lineWrapping) left = charWidth(cm.display) * pos.ch;\n let lineObj = Object(_line_utils_line_js__WEBPACK_IMPORTED_MODULE_3__[\"getLine\"])(cm.doc, pos.line);\n let top = Object(_line_spans_js__WEBPACK_IMPORTED_MODULE_2__[\"heightAtLine\"])(lineObj) + paddingTop(cm.display);\n return {\n left: left,\n right: left,\n top: top,\n bottom: top + lineObj.height\n };\n} // Positions returned by coordsChar contain some extra information.\n// xRel is the relative x position of the input coordinates compared\n// to the found position (so xRel > 0 means the coordinates are to\n// the right of the character position, for example). When outside\n// is true, that means the coordinates lie outside the line's\n// vertical range.\n\nfunction PosWithInfo(line, ch, sticky, outside, xRel) {\n let pos = Object(_line_pos_js__WEBPACK_IMPORTED_MODULE_1__[\"Pos\"])(line, ch, sticky);\n pos.xRel = xRel;\n if (outside) pos.outside = outside;\n return pos;\n} // Compute the character position closest to the given coordinates.\n// Input must be lineSpace-local (\"div\" coordinate system).\n\n\nfunction coordsChar(cm, x, y) {\n let doc = cm.doc;\n y += cm.display.viewOffset;\n if (y < 0) return PosWithInfo(doc.first, 0, null, -1, -1);\n let lineN = Object(_line_utils_line_js__WEBPACK_IMPORTED_MODULE_3__[\"lineAtHeight\"])(doc, y),\n last = doc.first + doc.size - 1;\n if (lineN > last) return PosWithInfo(doc.first + doc.size - 1, Object(_line_utils_line_js__WEBPACK_IMPORTED_MODULE_3__[\"getLine\"])(doc, last).text.length, null, 1, 1);\n if (x < 0) x = 0;\n let lineObj = Object(_line_utils_line_js__WEBPACK_IMPORTED_MODULE_3__[\"getLine\"])(doc, lineN);\n\n for (;;) {\n let found = coordsCharInner(cm, lineObj, lineN, x, y);\n let collapsed = Object(_line_spans_js__WEBPACK_IMPORTED_MODULE_2__[\"collapsedSpanAround\"])(lineObj, found.ch + (found.xRel > 0 || found.outside > 0 ? 1 : 0));\n if (!collapsed) return found;\n let rangeEnd = collapsed.find(1);\n if (rangeEnd.line == lineN) return rangeEnd;\n lineObj = Object(_line_utils_line_js__WEBPACK_IMPORTED_MODULE_3__[\"getLine\"])(doc, lineN = rangeEnd.line);\n }\n}\n\nfunction wrappedLineExtent(cm, lineObj, preparedMeasure, y) {\n y -= widgetTopHeight(lineObj);\n let end = lineObj.text.length;\n let begin = Object(_util_misc_js__WEBPACK_IMPORTED_MODULE_9__[\"findFirst\"])(ch => measureCharPrepared(cm, preparedMeasure, ch - 1).bottom <= y, end, 0);\n end = Object(_util_misc_js__WEBPACK_IMPORTED_MODULE_9__[\"findFirst\"])(ch => measureCharPrepared(cm, preparedMeasure, ch).top > y, begin, end);\n return {\n begin,\n end\n };\n}\n\nfunction wrappedLineExtentChar(cm, lineObj, preparedMeasure, target) {\n if (!preparedMeasure) preparedMeasure = prepareMeasureForLine(cm, lineObj);\n let targetTop = intoCoordSystem(cm, lineObj, measureCharPrepared(cm, preparedMeasure, target), \"line\").top;\n return wrappedLineExtent(cm, lineObj, preparedMeasure, targetTop);\n} // Returns true if the given side of a box is after the given\n// coordinates, in top-to-bottom, left-to-right order.\n\nfunction boxIsAfter(box, x, y, left) {\n return box.bottom <= y ? false : box.top > y ? true : (left ? box.left : box.right) > x;\n}\n\nfunction coordsCharInner(cm, lineObj, lineNo, x, y) {\n // Move y into line-local coordinate space\n y -= Object(_line_spans_js__WEBPACK_IMPORTED_MODULE_2__[\"heightAtLine\"])(lineObj);\n let preparedMeasure = prepareMeasureForLine(cm, lineObj); // When directly calling `measureCharPrepared`, we have to adjust\n // for the widgets at this line.\n\n let widgetHeight = widgetTopHeight(lineObj);\n let begin = 0,\n end = lineObj.text.length,\n ltr = true;\n let order = Object(_util_bidi_js__WEBPACK_IMPORTED_MODULE_4__[\"getOrder\"])(lineObj, cm.doc.direction); // If the line isn't plain left-to-right text, first figure out\n // which bidi section the coordinates fall into.\n\n if (order) {\n let part = (cm.options.lineWrapping ? coordsBidiPartWrapped : coordsBidiPart)(cm, lineObj, lineNo, preparedMeasure, order, x, y);\n ltr = part.level != 1; // The awkward -1 offsets are needed because findFirst (called\n // on these below) will treat its first bound as inclusive,\n // second as exclusive, but we want to actually address the\n // characters in the part's range\n\n begin = ltr ? part.from : part.to - 1;\n end = ltr ? part.to : part.from - 1;\n } // A binary search to find the first character whose bounding box\n // starts after the coordinates. If we run across any whose box wrap\n // the coordinates, store that.\n\n\n let chAround = null,\n boxAround = null;\n let ch = Object(_util_misc_js__WEBPACK_IMPORTED_MODULE_9__[\"findFirst\"])(ch => {\n let box = measureCharPrepared(cm, preparedMeasure, ch);\n box.top += widgetHeight;\n box.bottom += widgetHeight;\n if (!boxIsAfter(box, x, y, false)) return false;\n\n if (box.top <= y && box.left <= x) {\n chAround = ch;\n boxAround = box;\n }\n\n return true;\n }, begin, end);\n let baseX,\n sticky,\n outside = false; // If a box around the coordinates was found, use that\n\n if (boxAround) {\n // Distinguish coordinates nearer to the left or right side of the box\n let atLeft = x - boxAround.left < boxAround.right - x,\n atStart = atLeft == ltr;\n ch = chAround + (atStart ? 0 : 1);\n sticky = atStart ? \"after\" : \"before\";\n baseX = atLeft ? boxAround.left : boxAround.right;\n } else {\n // (Adjust for extended bound, if necessary.)\n if (!ltr && (ch == end || ch == begin)) ch++; // To determine which side to associate with, get the box to the\n // left of the character and compare it's vertical position to the\n // coordinates\n\n sticky = ch == 0 ? \"after\" : ch == lineObj.text.length ? \"before\" : measureCharPrepared(cm, preparedMeasure, ch - (ltr ? 1 : 0)).bottom + widgetHeight <= y == ltr ? \"after\" : \"before\"; // Now get accurate coordinates for this place, in order to get a\n // base X position\n\n let coords = cursorCoords(cm, Object(_line_pos_js__WEBPACK_IMPORTED_MODULE_1__[\"Pos\"])(lineNo, ch, sticky), \"line\", lineObj, preparedMeasure);\n baseX = coords.left;\n outside = y < coords.top ? -1 : y >= coords.bottom ? 1 : 0;\n }\n\n ch = Object(_util_misc_js__WEBPACK_IMPORTED_MODULE_9__[\"skipExtendingChars\"])(lineObj.text, ch, 1);\n return PosWithInfo(lineNo, ch, sticky, outside, x - baseX);\n}\n\nfunction coordsBidiPart(cm, lineObj, lineNo, preparedMeasure, order, x, y) {\n // Bidi parts are sorted left-to-right, and in a non-line-wrapping\n // situation, we can take this ordering to correspond to the visual\n // ordering. This finds the first part whose end is after the given\n // coordinates.\n let index = Object(_util_misc_js__WEBPACK_IMPORTED_MODULE_9__[\"findFirst\"])(i => {\n let part = order[i],\n ltr = part.level != 1;\n return boxIsAfter(cursorCoords(cm, Object(_line_pos_js__WEBPACK_IMPORTED_MODULE_1__[\"Pos\"])(lineNo, ltr ? part.to : part.from, ltr ? \"before\" : \"after\"), \"line\", lineObj, preparedMeasure), x, y, true);\n }, 0, order.length - 1);\n let part = order[index]; // If this isn't the first part, the part's start is also after\n // the coordinates, and the coordinates aren't on the same line as\n // that start, move one part back.\n\n if (index > 0) {\n let ltr = part.level != 1;\n let start = cursorCoords(cm, Object(_line_pos_js__WEBPACK_IMPORTED_MODULE_1__[\"Pos\"])(lineNo, ltr ? part.from : part.to, ltr ? \"after\" : \"before\"), \"line\", lineObj, preparedMeasure);\n if (boxIsAfter(start, x, y, true) && start.top > y) part = order[index - 1];\n }\n\n return part;\n}\n\nfunction coordsBidiPartWrapped(cm, lineObj, _lineNo, preparedMeasure, order, x, y) {\n // In a wrapped line, rtl text on wrapping boundaries can do things\n // that don't correspond to the ordering in our `order` array at\n // all, so a binary search doesn't work, and we want to return a\n // part that only spans one line so that the binary search in\n // coordsCharInner is safe. As such, we first find the extent of the\n // wrapped line, and then do a flat search in which we discard any\n // spans that aren't on the line.\n let {\n begin,\n end\n } = wrappedLineExtent(cm, lineObj, preparedMeasure, y);\n if (/\\s/.test(lineObj.text.charAt(end - 1))) end--;\n let part = null,\n closestDist = null;\n\n for (let i = 0; i < order.length; i++) {\n let p = order[i];\n if (p.from >= end || p.to <= begin) continue;\n let ltr = p.level != 1;\n let endX = measureCharPrepared(cm, preparedMeasure, ltr ? Math.min(end, p.to) - 1 : Math.max(begin, p.from)).right; // Weigh against spans ending before this, so that they are only\n // picked if nothing ends after\n\n let dist = endX < x ? x - endX + 1e9 : endX - x;\n\n if (!part || closestDist > dist) {\n part = p;\n closestDist = dist;\n }\n }\n\n if (!part) part = order[order.length - 1]; // Clip the part to the wrapped line.\n\n if (part.from < begin) part = {\n from: begin,\n to: part.to,\n level: part.level\n };\n if (part.to > end) part = {\n from: part.from,\n to: end,\n level: part.level\n };\n return part;\n}\n\nlet measureText; // Compute the default text height.\n\nfunction textHeight(display) {\n if (display.cachedTextHeight != null) return display.cachedTextHeight;\n\n if (measureText == null) {\n measureText = Object(_util_dom_js__WEBPACK_IMPORTED_MODULE_6__[\"elt\"])(\"pre\", null, \"CodeMirror-line-like\"); // Measure a bunch of lines, for browsers that compute\n // fractional heights.\n\n for (let i = 0; i < 49; ++i) {\n measureText.appendChild(document.createTextNode(\"x\"));\n measureText.appendChild(Object(_util_dom_js__WEBPACK_IMPORTED_MODULE_6__[\"elt\"])(\"br\"));\n }\n\n measureText.appendChild(document.createTextNode(\"x\"));\n }\n\n Object(_util_dom_js__WEBPACK_IMPORTED_MODULE_6__[\"removeChildrenAndAdd\"])(display.measure, measureText);\n let height = measureText.offsetHeight / 50;\n if (height > 3) display.cachedTextHeight = height;\n Object(_util_dom_js__WEBPACK_IMPORTED_MODULE_6__[\"removeChildren\"])(display.measure);\n return height || 1;\n} // Compute the default character width.\n\nfunction charWidth(display) {\n if (display.cachedCharWidth != null) return display.cachedCharWidth;\n let anchor = Object(_util_dom_js__WEBPACK_IMPORTED_MODULE_6__[\"elt\"])(\"span\", \"xxxxxxxxxx\");\n let pre = Object(_util_dom_js__WEBPACK_IMPORTED_MODULE_6__[\"elt\"])(\"pre\", [anchor], \"CodeMirror-line-like\");\n Object(_util_dom_js__WEBPACK_IMPORTED_MODULE_6__[\"removeChildrenAndAdd\"])(display.measure, pre);\n let rect = anchor.getBoundingClientRect(),\n width = (rect.right - rect.left) / 10;\n if (width > 2) display.cachedCharWidth = width;\n return width || 10;\n} // Do a bulk-read of the DOM positions and sizes needed to draw the\n// view, so that we don't interleave reading and writing to the DOM.\n\nfunction getDimensions(cm) {\n let d = cm.display,\n left = {},\n width = {};\n let gutterLeft = d.gutters.clientLeft;\n\n for (let n = d.gutters.firstChild, i = 0; n; n = n.nextSibling, ++i) {\n let id = cm.display.gutterSpecs[i].className;\n left[id] = n.offsetLeft + n.clientLeft + gutterLeft;\n width[id] = n.clientWidth;\n }\n\n return {\n fixedPos: compensateForHScroll(d),\n gutterTotalWidth: d.gutters.offsetWidth,\n gutterLeft: left,\n gutterWidth: width,\n wrapperWidth: d.wrapper.clientWidth\n };\n} // Computes display.scroller.scrollLeft + display.gutters.offsetWidth,\n// but using getBoundingClientRect to get a sub-pixel-accurate\n// result.\n\nfunction compensateForHScroll(display) {\n return display.scroller.getBoundingClientRect().left - display.sizer.getBoundingClientRect().left;\n} // Returns a function that estimates the height of a line, to use as\n// first approximation until the line becomes visible (and is thus\n// properly measurable).\n\nfunction estimateHeight(cm) {\n let th = textHeight(cm.display),\n wrapping = cm.options.lineWrapping;\n let perLine = wrapping && Math.max(5, cm.display.scroller.clientWidth / charWidth(cm.display) - 3);\n return line => {\n if (Object(_line_spans_js__WEBPACK_IMPORTED_MODULE_2__[\"lineIsHidden\"])(cm.doc, line)) return 0;\n let widgetsHeight = 0;\n if (line.widgets) for (let i = 0; i < line.widgets.length; i++) {\n if (line.widgets[i].height) widgetsHeight += line.widgets[i].height;\n }\n if (wrapping) return widgetsHeight + (Math.ceil(line.text.length / perLine) || 1) * th;else return widgetsHeight + th;\n };\n}\nfunction estimateLineHeights(cm) {\n let doc = cm.doc,\n est = estimateHeight(cm);\n doc.iter(line => {\n let estHeight = est(line);\n if (estHeight != line.height) Object(_line_utils_line_js__WEBPACK_IMPORTED_MODULE_3__[\"updateLineHeight\"])(line, estHeight);\n });\n} // Given a mouse event, find the corresponding position. If liberal\n// is false, it checks whether a gutter or scrollbar was clicked,\n// and returns null if it was. forRect is used by rectangular\n// selections, and tries to estimate a character position even for\n// coordinates beyond the right of the text.\n\nfunction posFromMouse(cm, e, liberal, forRect) {\n let display = cm.display;\n if (!liberal && Object(_util_event_js__WEBPACK_IMPORTED_MODULE_7__[\"e_target\"])(e).getAttribute(\"cm-not-content\") == \"true\") return null;\n let x,\n y,\n space = display.lineSpace.getBoundingClientRect(); // Fails unpredictably on IE[67] when mouse is dragged around quickly.\n\n try {\n x = e.clientX - space.left;\n y = e.clientY - space.top;\n } catch (e) {\n return null;\n }\n\n let coords = coordsChar(cm, x, y),\n line;\n\n if (forRect && coords.xRel == 1 && (line = Object(_line_utils_line_js__WEBPACK_IMPORTED_MODULE_3__[\"getLine\"])(cm.doc, coords.line).text).length == coords.ch) {\n let colDiff = Object(_util_misc_js__WEBPACK_IMPORTED_MODULE_9__[\"countColumn\"])(line, line.length, cm.options.tabSize) - line.length;\n coords = Object(_line_pos_js__WEBPACK_IMPORTED_MODULE_1__[\"Pos\"])(coords.line, Math.max(0, Math.round((x - paddingH(cm.display).left) / charWidth(cm.display)) - colDiff));\n }\n\n return coords;\n} // Find the view element corresponding to a given line. Return null\n// when the line isn't visible.\n\nfunction findViewIndex(cm, n) {\n if (n >= cm.display.viewTo) return null;\n n -= cm.display.viewFrom;\n if (n < 0) return null;\n let view = cm.display.view;\n\n for (let i = 0; i < view.length; i++) {\n n -= view[i].size;\n if (n < 0) return i;\n }\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9zcmMvbWVhc3VyZW1lbnQvcG9zaXRpb25fbWVhc3VyZW1lbnQuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9zcmMvbWVhc3VyZW1lbnQvcG9zaXRpb25fbWVhc3VyZW1lbnQuanM/YjE3MCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBidWlsZExpbmVDb250ZW50LCBMaW5lVmlldyB9IGZyb20gXCIuLi9saW5lL2xpbmVfZGF0YS5qc1wiXG5pbXBvcnQgeyBjbGlwUG9zLCBQb3MgfSBmcm9tIFwiLi4vbGluZS9wb3MuanNcIlxuaW1wb3J0IHsgY29sbGFwc2VkU3BhbkFyb3VuZCwgaGVpZ2h0QXRMaW5lLCBsaW5lSXNIaWRkZW4sIHZpc3VhbExpbmUgfSBmcm9tIFwiLi4vbGluZS9zcGFucy5qc1wiXG5pbXBvcnQgeyBnZXRMaW5lLCBsaW5lQXRIZWlnaHQsIGxpbmVObywgdXBkYXRlTGluZUhlaWdodCB9IGZyb20gXCIuLi9saW5lL3V0aWxzX2xpbmUuanNcIlxuaW1wb3J0IHsgYmlkaU90aGVyLCBnZXRCaWRpUGFydEF0LCBnZXRPcmRlciB9IGZyb20gXCIuLi91dGlsL2JpZGkuanNcIlxuaW1wb3J0IHsgY2hyb21lLCBhbmRyb2lkLCBpZSwgaWVfdmVyc2lvbiB9IGZyb20gXCIuLi91dGlsL2Jyb3dzZXIuanNcIlxuaW1wb3J0IHsgZWx0LCByZW1vdmVDaGlsZHJlbiwgcmFuZ2UsIHJlbW92ZUNoaWxkcmVuQW5kQWRkIH0gZnJvbSBcIi4uL3V0aWwvZG9tLmpzXCJcbmltcG9ydCB7IGVfdGFyZ2V0IH0gZnJvbSBcIi4uL3V0aWwvZXZlbnQuanNcIlxuaW1wb3J0IHsgaGFzQmFkWm9vbWVkUmVjdHMgfSBmcm9tIFwiLi4vdXRpbC9mZWF0dXJlX2RldGVjdGlvbi5qc1wiXG5pbXBvcnQgeyBjb3VudENvbHVtbiwgZmluZEZpcnN0LCBpc0V4dGVuZGluZ0NoYXIsIHNjcm9sbGVyR2FwLCBza2lwRXh0ZW5kaW5nQ2hhcnMgfSBmcm9tIFwiLi4vdXRpbC9taXNjLmpzXCJcbmltcG9ydCB7IHVwZGF0ZUxpbmVGb3JDaGFuZ2VzIH0gZnJvbSBcIi4uL2Rpc3BsYXkvdXBkYXRlX2xpbmUuanNcIlxuXG5pbXBvcnQgeyB3aWRnZXRIZWlnaHQgfSBmcm9tIFwiLi93aWRnZXRzLmpzXCJcblxuLy8gUE9TSVRJT04gTUVBU1VSRU1FTlRcblxuZXhwb3J0IGZ1bmN0aW9uIHBhZGRpbmdUb3AoZGlzcGxheSkge3JldHVybiBkaXNwbGF5LmxpbmVTcGFjZS5vZmZzZXRUb3B9XG5leHBvcnQgZnVuY3Rpb24gcGFkZGluZ1ZlcnQoZGlzcGxheSkge3JldHVybiBkaXNwbGF5Lm1vdmVyLm9mZnNldEhlaWdodCAtIGRpc3BsYXkubGluZVNwYWNlLm9mZnNldEhlaWdodH1cbmV4cG9ydCBmdW5jdGlvbiBwYWRkaW5nSChkaXNwbGF5KSB7XG4gIGlmIChkaXNwbGF5LmNhY2hlZFBhZGRpbmdIKSByZXR1cm4gZGlzcGxheS5jYWNoZWRQYWRkaW5nSFxuICBsZXQgZSA9IHJlbW92ZUNoaWxkcmVuQW5kQWRkKGRpc3BsYXkubWVhc3VyZSwgZWx0KFwicHJlXCIsIFwieFwiLCBcIkNvZGVNaXJyb3ItbGluZS1saWtlXCIpKVxuICBsZXQgc3R5bGUgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSA/IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGUpIDogZS5jdXJyZW50U3R5bGVcbiAgbGV0IGRhdGEgPSB7bGVmdDogcGFyc2VJbnQoc3R5bGUucGFkZGluZ0xlZnQpLCByaWdodDogcGFyc2VJbnQoc3R5bGUucGFkZGluZ1JpZ2h0KX1cbiAgaWYgKCFpc05hTihkYXRhLmxlZnQpICYmICFpc05hTihkYXRhLnJpZ2h0KSkgZGlzcGxheS5jYWNoZWRQYWRkaW5nSCA9IGRhdGFcbiAgcmV0dXJuIGRhdGFcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNjcm9sbEdhcChjbSkgeyByZXR1cm4gc2Nyb2xsZXJHYXAgLSBjbS5kaXNwbGF5Lm5hdGl2ZUJhcldpZHRoIH1cbmV4cG9ydCBmdW5jdGlvbiBkaXNwbGF5V2lkdGgoY20pIHtcbiAgcmV0dXJuIGNtLmRpc3BsYXkuc2Nyb2xsZXIuY2xpZW50V2lkdGggLSBzY3JvbGxHYXAoY20pIC0gY20uZGlzcGxheS5iYXJXaWR0aFxufVxuZXhwb3J0IGZ1bmN0aW9uIGRpc3BsYXlIZWlnaHQoY20pIHtcbiAgcmV0dXJuIGNtLmRpc3BsYXkuc2Nyb2xsZXIuY2xpZW50SGVpZ2h0IC0gc2Nyb2xsR2FwKGNtKSAtIGNtLmRpc3BsYXkuYmFySGVpZ2h0XG59XG5cbi8vIEVuc3VyZSB0aGUgbGluZVZpZXcud3JhcHBpbmcuaGVpZ2h0cyBhcnJheSBpcyBwb3B1bGF0ZWQuIFRoaXMgaXNcbi8vIGFuIGFycmF5IG9mIGJvdHRvbSBvZmZzZXRzIGZvciB0aGUgbGluZXMgdGhhdCBtYWtlIHVwIGEgZHJhd25cbi8vIGxpbmUuIFdoZW4gbGluZVdyYXBwaW5nIGlzIG9uLCB0aGVyZSBtaWdodCBiZSBtb3JlIHRoYW4gb25lXG4vLyBoZWlnaHQuXG5mdW5jdGlvbiBlbnN1cmVMaW5lSGVpZ2h0cyhjbSwgbGluZVZpZXcsIHJlY3QpIHtcbiAgbGV0IHdyYXBwaW5nID0gY20ub3B0aW9ucy5saW5lV3JhcHBpbmdcbiAgbGV0IGN1cldpZHRoID0gd3JhcHBpbmcgJiYgZGlzcGxheVdpZHRoKGNtKVxuICBpZiAoIWxpbmVWaWV3Lm1lYXN1cmUuaGVpZ2h0cyB8fCB3cmFwcGluZyAmJiBsaW5lVmlldy5tZWFzdXJlLndpZHRoICE9IGN1cldpZHRoKSB7XG4gICAgbGV0IGhlaWdodHMgPSBsaW5lVmlldy5tZWFzdXJlLmhlaWdodHMgPSBbXVxuICAgIGlmICh3cmFwcGluZykge1xuICAgICAgbGluZVZpZXcubWVhc3VyZS53aWR0aCA9IGN1cldpZHRoXG4gICAgICBsZXQgcmVjdHMgPSBsaW5lVmlldy50ZXh0LmZpcnN0Q2hpbGQuZ2V0Q2xpZW50UmVjdHMoKVxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCByZWN0cy5sZW5ndGggLSAxOyBpKyspIHtcbiAgICAgICAgbGV0IGN1ciA9IHJlY3RzW2ldLCBuZXh0ID0gcmVjdHNbaSArIDFdXG4gICAgICAgIGlmIChNYXRoLmFicyhjdXIuYm90dG9tIC0gbmV4dC5ib3R0b20pID4gMilcbiAgICAgICAgICBoZWlnaHRzLnB1c2goKGN1ci5ib3R0b20gKyBuZXh0LnRvcCkgLyAyIC0gcmVjdC50b3ApXG4gICAgICB9XG4gICAgfVxuICAgIGhlaWdodHMucHVzaChyZWN0LmJvdHRvbSAtIHJlY3QudG9wKVxuICB9XG59XG5cbi8vIEZpbmQgYSBsaW5lIG1hcCAobWFwcGluZyBjaGFyYWN0ZXIgb2Zmc2V0cyB0byB0ZXh0IG5vZGVzKSBhbmQgYVxuLy8gbWVhc3VyZW1lbnQgY2FjaGUgZm9yIHRoZSBnaXZlbiBsaW5lIG51bWJlci4gKEEgbGluZSB2aWV3IG1pZ2h0XG4vLyBjb250YWluIG11bHRpcGxlIGxpbmVzIHdoZW4gY29sbGFwc2VkIHJhbmdlcyBhcmUgcHJlc2VudC4pXG5leHBvcnQgZnVuY3Rpb24gbWFwRnJvbUxpbmVWaWV3KGxpbmVWaWV3LCBsaW5lLCBsaW5lTikge1xuICBpZiAobGluZVZpZXcubGluZSA9PSBsaW5lKVxuICAgIHJldHVybiB7bWFwOiBsaW5lVmlldy5tZWFzdXJlLm1hcCwgY2FjaGU6IGxpbmVWaWV3Lm1lYXN1cmUuY2FjaGV9XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgbGluZVZpZXcucmVzdC5sZW5ndGg7IGkrKylcbiAgICBpZiAobGluZVZpZXcucmVzdFtpXSA9PSBsaW5lKVxuICAgICAgcmV0dXJuIHttYXA6IGxpbmVWaWV3Lm1lYXN1cmUubWFwc1tpXSwgY2FjaGU6IGxpbmVWaWV3Lm1lYXN1cmUuY2FjaGVzW2ldfVxuICBmb3IgKGxldCBpID0gMDsgaSA8IGxpbmVWaWV3LnJlc3QubGVuZ3RoOyBpKyspXG4gICAgaWYgKGxpbmVObyhsaW5lVmlldy5yZXN0W2ldKSA+IGxpbmVOKVxuICAgICAgcmV0dXJuIHttYXA6IGxpbmVWaWV3Lm1lYXN1cmUubWFwc1tpXSwgY2FjaGU6IGxpbmVWaWV3Lm1lYXN1cmUuY2FjaGVzW2ldLCBiZWZvcmU6IHRydWV9XG59XG5cbi8vIFJlbmRlciBhIGxpbmUgaW50byB0aGUgaGlkZGVuIG5vZGUgZGlzcGxheS5leHRlcm5hbE1lYXN1cmVkLiBVc2VkXG4vLyB3aGVuIG1lYXN1cmVtZW50IGlzIG5lZWRlZCBmb3IgYSBsaW5lIHRoYXQncyBub3QgaW4gdGhlIHZpZXdwb3J0LlxuZnVuY3Rpb24gdXBkYXRlRXh0ZXJuYWxNZWFzdXJlbWVudChjbSwgbGluZSkge1xuICBsaW5lID0gdmlzdWFsTGluZShsaW5lKVxuICBsZXQgbGluZU4gPSBsaW5lTm8obGluZSlcbiAgbGV0IHZpZXcgPSBjbS5kaXNwbGF5LmV4dGVybmFsTWVhc3VyZWQgPSBuZXcgTGluZVZpZXcoY20uZG9jLCBsaW5lLCBsaW5lTilcbiAgdmlldy5saW5lTiA9IGxpbmVOXG4gIGxldCBidWlsdCA9IHZpZXcuYnVpbHQgPSBidWlsZExpbmVDb250ZW50KGNtLCB2aWV3KVxuICB2aWV3LnRleHQgPSBidWlsdC5wcmVcbiAgcmVtb3ZlQ2hpbGRyZW5BbmRBZGQoY20uZGlzcGxheS5saW5lTWVhc3VyZSwgYnVpbHQucHJlKVxuICByZXR1cm4gdmlld1xufVxuXG4vLyBHZXQgYSB7dG9wLCBib3R0b20sIGxlZnQsIHJpZ2h0fSBib3ggKGluIGxpbmUtbG9jYWwgY29vcmRpbmF0ZXMpXG4vLyBmb3IgYSBnaXZlbiBjaGFyYWN0ZXIuXG5leHBvcnQgZnVuY3Rpb24gbWVhc3VyZUNoYXIoY20sIGxpbmUsIGNoLCBiaWFzKSB7XG4gIHJldHVybiBtZWFzdXJlQ2hhclByZXBhcmVkKGNtLCBwcmVwYXJlTWVhc3VyZUZvckxpbmUoY20sIGxpbmUpLCBjaCwgYmlhcylcbn1cblxuLy8gRmluZCBhIGxpbmUgdmlldyB0aGF0IGNvcnJlc3BvbmRzIHRvIHRoZSBnaXZlbiBsaW5lIG51bWJlci5cbmV4cG9ydCBmdW5jdGlvbiBmaW5kVmlld0ZvckxpbmUoY20sIGxpbmVOKSB7XG4gIGlmIChsaW5lTiA+PSBjbS5kaXNwbGF5LnZpZXdGcm9tICYmIGxpbmVOIDwgY20uZGlzcGxheS52aWV3VG8pXG4gICAgcmV0dXJuIGNtLmRpc3BsYXkudmlld1tmaW5kVmlld0luZGV4KGNtLCBsaW5lTildXG4gIGxldCBleHQgPSBjbS5kaXNwbGF5LmV4dGVybmFsTWVhc3VyZWRcbiAgaWYgKGV4dCAmJiBsaW5lTiA+PSBleHQubGluZU4gJiYgbGluZU4gPCBleHQubGluZU4gKyBleHQuc2l6ZSlcbiAgICByZXR1cm4gZXh0XG59XG5cbi8vIE1lYXN1cmVtZW50IGNhbiBiZSBzcGxpdCBpbiB0d28gc3RlcHMsIHRoZSBzZXQtdXAgd29yayB0aGF0XG4vLyBhcHBsaWVzIHRvIHRoZSB3aG9sZSBsaW5lLCBhbmQgdGhlIG1lYXN1cmVtZW50IG9mIHRoZSBhY3R1YWxcbi8vIGNoYXJhY3Rlci4gRnVuY3Rpb25zIGxpa2UgY29vcmRzQ2hhciwgdGhhdCBuZWVkIHRvIGRvIGEgbG90IG9mXG4vLyBtZWFzdXJlbWVudHMgaW4gYSByb3csIGNhbiB0aHVzIGVuc3VyZSB0aGF0IHRoZSBzZXQtdXAgd29yayBpc1xuLy8gb25seSBkb25lIG9uY2UuXG5leHBvcnQgZnVuY3Rpb24gcHJlcGFyZU1lYXN1cmVGb3JMaW5lKGNtLCBsaW5lKSB7XG4gIGxldCBsaW5lTiA9IGxpbmVObyhsaW5lKVxuICBsZXQgdmlldyA9IGZpbmRWaWV3Rm9yTGluZShjbSwgbGluZU4pXG4gIGlmICh2aWV3ICYmICF2aWV3LnRleHQpIHtcbiAgICB2aWV3ID0gbnVsbFxuICB9IGVsc2UgaWYgKHZpZXcgJiYgdmlldy5jaGFuZ2VzKSB7XG4gICAgdXBkYXRlTGluZUZvckNoYW5nZXMoY20sIHZpZXcsIGxpbmVOLCBnZXREaW1lbnNpb25zKGNtKSlcbiAgICBjbS5jdXJPcC5mb3JjZVVwZGF0ZSA9IHRydWVcbiAgfVxuICBpZiAoIXZpZXcpXG4gICAgdmlldyA9IHVwZGF0ZUV4dGVybmFsTWVhc3VyZW1lbnQoY20sIGxpbmUpXG5cbiAgbGV0IGluZm8gPSBtYXBGcm9tTGluZVZpZXcodmlldywgbGluZSwgbGluZU4pXG4gIHJldHVybiB7XG4gICAgbGluZTogbGluZSwgdmlldzogdmlldywgcmVjdDogbnVsbCxcbiAgICBtYXA6IGluZm8ubWFwLCBjYWNoZTogaW5mby5jYWNoZSwgYmVmb3JlOiBpbmZvLmJlZm9yZSxcbiAgICBoYXNIZWlnaHRzOiBmYWxzZVxuICB9XG59XG5cbi8vIEdpdmVuIGEgcHJlcGFyZWQgbWVhc3VyZW1lbnQgb2JqZWN0LCBtZWFzdXJlcyB0aGUgcG9zaXRpb24gb2YgYW5cbi8vIGFjdHVhbCBjaGFyYWN0ZXIgKG9yIGZldGNoZXMgaXQgZnJvbSB0aGUgY2FjaGUpLlxuZXhwb3J0IGZ1bmN0aW9uIG1lYXN1cmVDaGFyUHJlcGFyZWQoY20sIHByZXBhcmVkLCBjaCwgYmlhcywgdmFySGVpZ2h0KSB7XG4gIGlmIChwcmVwYXJlZC5iZWZvcmUpIGNoID0gLTFcbiAgbGV0IGtleSA9IGNoICsgKGJpYXMgfHwgXCJcIiksIGZvdW5kXG4gIGlmIChwcmVwYXJlZC5jYWNoZS5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XG4gICAgZm91bmQgPSBwcmVwYXJlZC5jYWNoZVtrZXldXG4gIH0gZWxzZSB7XG4gICAgaWYgKCFwcmVwYXJlZC5yZWN0KVxuICAgICAgcHJlcGFyZWQucmVjdCA9IHByZXBhcmVkLnZpZXcudGV4dC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKVxuICAgIGlmICghcHJlcGFyZWQuaGFzSGVpZ2h0cykge1xuICAgICAgZW5zdXJlTGluZUhlaWdodHMoY20sIHByZXBhcmVkLnZpZXcsIHByZXBhcmVkLnJlY3QpXG4gICAgICBwcmVwYXJlZC5oYXNIZWlnaHRzID0gdHJ1ZVxuICAgIH1cbiAgICBmb3VuZCA9IG1lYXN1cmVDaGFySW5uZXIoY20sIHByZXBhcmVkLCBjaCwgYmlhcylcbiAgICBpZiAoIWZvdW5kLmJvZ3VzKSBwcmVwYXJlZC5jYWNoZVtrZXldID0gZm91bmRcbiAgfVxuICByZXR1cm4ge2xlZnQ6IGZvdW5kLmxlZnQsIHJpZ2h0OiBmb3VuZC5yaWdodCxcbiAgICAgICAgICB0b3A6IHZhckhlaWdodCA/IGZvdW5kLnJ0b3AgOiBmb3VuZC50b3AsXG4gICAgICAgICAgYm90dG9tOiB2YXJIZWlnaHQgPyBmb3VuZC5yYm90dG9tIDogZm91bmQuYm90dG9tfVxufVxuXG5sZXQgbnVsbFJlY3QgPSB7bGVmdDogMCwgcmlnaHQ6IDAsIHRvcDogMCwgYm90dG9tOiAwfVxuXG5leHBvcnQgZnVuY3Rpb24gbm9kZUFuZE9mZnNldEluTGluZU1hcChtYXAsIGNoLCBiaWFzKSB7XG4gIGxldCBub2RlLCBzdGFydCwgZW5kLCBjb2xsYXBzZSwgbVN0YXJ0LCBtRW5kXG4gIC8vIEZpcnN0LCBzZWFyY2ggdGhlIGxpbmUgbWFwIGZvciB0aGUgdGV4dCBub2RlIGNvcnJlc3BvbmRpbmcgdG8sXG4gIC8vIG9yIGNsb3Nlc3QgdG8sIHRoZSB0YXJnZXQgY2hhcmFjdGVyLlxuICBmb3IgKGxldCBpID0gMDsgaSA8IG1hcC5sZW5ndGg7IGkgKz0gMykge1xuICAgIG1TdGFydCA9IG1hcFtpXVxuICAgIG1FbmQgPSBtYXBbaSArIDFdXG4gICAgaWYgKGNoIDwgbVN0YXJ0KSB7XG4gICAgICBzdGFydCA9IDA7IGVuZCA9IDFcbiAgICAgIGNvbGxhcHNlID0gXCJsZWZ0XCJcbiAgICB9IGVsc2UgaWYgKGNoIDwgbUVuZCkge1xuICAgICAgc3RhcnQgPSBjaCAtIG1TdGFydFxuICAgICAgZW5kID0gc3RhcnQgKyAxXG4gICAgfSBlbHNlIGlmIChpID09IG1hcC5sZW5ndGggLSAzIHx8IGNoID09IG1FbmQgJiYgbWFwW2kgKyAzXSA+IGNoKSB7XG4gICAgICBlbmQgPSBtRW5kIC0gbVN0YXJ0XG4gICAgICBzdGFydCA9IGVuZCAtIDFcbiAgICAgIGlmIChjaCA+PSBtRW5kKSBjb2xsYXBzZSA9IFwicmlnaHRcIlxuICAgIH1cbiAgICBpZiAoc3RhcnQgIT0gbnVsbCkge1xuICAgICAgbm9kZSA9IG1hcFtpICsgMl1cbiAgICAgIGlmIChtU3RhcnQgPT0gbUVuZCAmJiBiaWFzID09IChub2RlLmluc2VydExlZnQgPyBcImxlZnRcIiA6IFwicmlnaHRcIikpXG4gICAgICAgIGNvbGxhcHNlID0gYmlhc1xuICAgICAgaWYgKGJpYXMgPT0gXCJsZWZ0XCIgJiYgc3RhcnQgPT0gMClcbiAgICAgICAgd2hpbGUgKGkgJiYgbWFwW2kgLSAyXSA9PSBtYXBbaSAtIDNdICYmIG1hcFtpIC0gMV0uaW5zZXJ0TGVmdCkge1xuICAgICAgICAgIG5vZGUgPSBtYXBbKGkgLT0gMykgKyAyXVxuICAgICAgICAgIGNvbGxhcHNlID0gXCJsZWZ0XCJcbiAgICAgICAgfVxuICAgICAgaWYgKGJpYXMgPT0gXCJyaWdodFwiICYmIHN0YXJ0ID09IG1FbmQgLSBtU3RhcnQpXG4gICAgICAgIHdoaWxlIChpIDwgbWFwLmxlbmd0aCAtIDMgJiYgbWFwW2kgKyAzXSA9PSBtYXBbaSArIDRdICYmICFtYXBbaSArIDVdLmluc2VydExlZnQpIHtcbiAgICAgICAgICBub2RlID0gbWFwWyhpICs9IDMpICsgMl1cbiAgICAgICAgICBjb2xsYXBzZSA9IFwicmlnaHRcIlxuICAgICAgICB9XG4gICAgICBicmVha1xuICAgIH1cbiAgfVxuICByZXR1cm4ge25vZGU6IG5vZGUsIHN0YXJ0OiBzdGFydCwgZW5kOiBlbmQsIGNvbGxhcHNlOiBjb2xsYXBzZSwgY292ZXJTdGFydDogbVN0YXJ0LCBjb3ZlckVuZDogbUVuZH1cbn1cblxuZnVuY3Rpb24gZ2V0VXNlZnVsUmVjdChyZWN0cywgYmlhcykge1xuICBsZXQgcmVjdCA9IG51bGxSZWN0XG4gIGlmIChiaWFzID09IFwibGVmdFwiKSBmb3IgKGxldCBpID0gMDsgaSA8IHJlY3RzLmxlbmd0aDsgaSsrKSB7XG4gICAgaWYgKChyZWN0ID0gcmVjdHNbaV0pLmxlZnQgIT0gcmVjdC5yaWdodCkgYnJlYWtcbiAgfSBlbHNlIGZvciAobGV0IGkgPSByZWN0cy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xuICAgIGlmICgocmVjdCA9IHJlY3RzW2ldKS5sZWZ0ICE9IHJlY3QucmlnaHQpIGJyZWFrXG4gIH1cbiAgcmV0dXJuIHJlY3Rcbn1cblxuZnVuY3Rpb24gbWVhc3VyZUNoYXJJbm5lcihjbSwgcHJlcGFyZWQsIGNoLCBiaWFzKSB7XG4gIGxldCBwbGFjZSA9IG5vZGVBbmRPZmZzZXRJbkxpbmVNYXAocHJlcGFyZWQubWFwLCBjaCwgYmlhcylcbiAgbGV0IG5vZGUgPSBwbGFjZS5ub2RlLCBzdGFydCA9IHBsYWNlLnN0YXJ0LCBlbmQgPSBwbGFjZS5lbmQsIGNvbGxhcHNlID0gcGxhY2UuY29sbGFwc2VcblxuICBsZXQgcmVjdFxuICBpZiAobm9kZS5ub2RlVHlwZSA9PSAzKSB7IC8vIElmIGl0IGlzIGEgdGV4dCBub2RlLCB1c2UgYSByYW5nZSB0byByZXRyaWV2ZSB0aGUgY29vcmRpbmF0ZXMuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCA0OyBpKyspIHsgLy8gUmV0cnkgYSBtYXhpbXVtIG9mIDQgdGltZXMgd2hlbiBub25zZW5zZSByZWN0YW5nbGVzIGFyZSByZXR1cm5lZFxuICAgICAgd2hpbGUgKHN0YXJ0ICYmIGlzRXh0ZW5kaW5nQ2hhcihwcmVwYXJlZC5saW5lLnRleHQuY2hhckF0KHBsYWNlLmNvdmVyU3RhcnQgKyBzdGFydCkpKSAtLXN0YXJ0XG4gICAgICB3aGlsZSAocGxhY2UuY292ZXJTdGFydCArIGVuZCA8IHBsYWNlLmNvdmVyRW5kICYmIGlzRXh0ZW5kaW5nQ2hhcihwcmVwYXJlZC5saW5lLnRleHQuY2hhckF0KHBsYWNlLmNvdmVyU3RhcnQgKyBlbmQpKSkgKytlbmRcbiAgICAgIGlmIChpZSAmJiBpZV92ZXJzaW9uIDwgOSAmJiBzdGFydCA9PSAwICYmIGVuZCA9PSBwbGFjZS5jb3ZlckVuZCAtIHBsYWNlLmNvdmVyU3RhcnQpXG4gICAgICAgIHJlY3QgPSBub2RlLnBhcmVudE5vZGUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KClcbiAgICAgIGVsc2VcbiAgICAgICAgcmVjdCA9IGdldFVzZWZ1bFJlY3QocmFuZ2Uobm9kZSwgc3RhcnQsIGVuZCkuZ2V0Q2xpZW50UmVjdHMoKSwgYmlhcylcbiAgICAgIGlmIChyZWN0LmxlZnQgfHwgcmVjdC5yaWdodCB8fCBzdGFydCA9PSAwKSBicmVha1xuICAgICAgZW5kID0gc3RhcnRcbiAgICAgIHN0YXJ0ID0gc3RhcnQgLSAxXG4gICAgICBjb2xsYXBzZSA9IFwicmlnaHRcIlxuICAgIH1cbiAgICBpZiAoaWUgJiYgaWVfdmVyc2lvbiA8IDExKSByZWN0ID0gbWF5YmVVcGRhdGVSZWN0Rm9yWm9vbWluZyhjbS5kaXNwbGF5Lm1lYXN1cmUsIHJlY3QpXG4gIH0gZWxzZSB7IC8vIElmIGl0IGlzIGEgd2lkZ2V0LCBzaW1wbHkgZ2V0IHRoZSBib3ggZm9yIHRoZSB3aG9sZSB3aWRnZXQuXG4gICAgaWYgKHN0YXJ0ID4gMCkgY29sbGFwc2UgPSBiaWFzID0gXCJyaWdodFwiXG4gICAgbGV0IHJlY3RzXG4gICAgaWYgKGNtLm9wdGlvbnMubGluZVdyYXBwaW5nICYmIChyZWN0cyA9IG5vZGUuZ2V0Q2xpZW50UmVjdHMoKSkubGVuZ3RoID4gMSlcbiAgICAgIHJlY3QgPSByZWN0c1tiaWFzID09IFwicmlnaHRcIiA/IHJlY3RzLmxlbmd0aCAtIDEgOiAwXVxuICAgIGVsc2VcbiAgICAgIHJlY3QgPSBub2RlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpXG4gIH1cbiAgaWYgKGllICYmIGllX3ZlcnNpb24gPCA5ICYmICFzdGFydCAmJiAoIXJlY3QgfHwgIXJlY3QubGVmdCAmJiAhcmVjdC5yaWdodCkpIHtcbiAgICBsZXQgclNwYW4gPSBub2RlLnBhcmVudE5vZGUuZ2V0Q2xpZW50UmVjdHMoKVswXVxuICAgIGlmIChyU3BhbilcbiAgICAgIHJlY3QgPSB7bGVmdDogclNwYW4ubGVmdCwgcmlnaHQ6IHJTcGFuLmxlZnQgKyBjaGFyV2lkdGgoY20uZGlzcGxheSksIHRvcDogclNwYW4udG9wLCBib3R0b206IHJTcGFuLmJvdHRvbX1cbiAgICBlbHNlXG4gICAgICByZWN0ID0gbnVsbFJlY3RcbiAgfVxuXG4gIGxldCBydG9wID0gcmVjdC50b3AgLSBwcmVwYXJlZC5yZWN0LnRvcCwgcmJvdCA9IHJlY3QuYm90dG9tIC0gcHJlcGFyZWQucmVjdC50b3BcbiAgbGV0IG1pZCA9IChydG9wICsgcmJvdCkgLyAyXG4gIGxldCBoZWlnaHRzID0gcHJlcGFyZWQudmlldy5tZWFzdXJlLmhlaWdodHNcbiAgbGV0IGkgPSAwXG4gIGZvciAoOyBpIDwgaGVpZ2h0cy5sZW5ndGggLSAxOyBpKyspXG4gICAgaWYgKG1pZCA8IGhlaWdodHNbaV0pIGJyZWFrXG4gIGxldCB0b3AgPSBpID8gaGVpZ2h0c1tpIC0gMV0gOiAwLCBib3QgPSBoZWlnaHRzW2ldXG4gIGxldCByZXN1bHQgPSB7bGVmdDogKGNvbGxhcHNlID09IFwicmlnaHRcIiA/IHJlY3QucmlnaHQgOiByZWN0LmxlZnQpIC0gcHJlcGFyZWQucmVjdC5sZWZ0LFxuICAgICAgICAgICAgICAgIHJpZ2h0OiAoY29sbGFwc2UgPT0gXCJsZWZ0XCIgPyByZWN0LmxlZnQgOiByZWN0LnJpZ2h0KSAtIHByZXBhcmVkLnJlY3QubGVmdCxcbiAgICAgICAgICAgICAgICB0b3A6IHRvcCwgYm90dG9tOiBib3R9XG4gIGlmICghcmVjdC5sZWZ0ICYmICFyZWN0LnJpZ2h0KSByZXN1bHQuYm9ndXMgPSB0cnVlXG4gIGlmICghY20ub3B0aW9ucy5zaW5nbGVDdXJzb3JIZWlnaHRQZXJMaW5lKSB7IHJlc3VsdC5ydG9wID0gcnRvcDsgcmVzdWx0LnJib3R0b20gPSByYm90IH1cblxuICByZXR1cm4gcmVzdWx0XG59XG5cbi8vIFdvcmsgYXJvdW5kIHByb2JsZW0gd2l0aCBib3VuZGluZyBjbGllbnQgcmVjdHMgb24gcmFuZ2VzIGJlaW5nXG4vLyByZXR1cm5lZCBpbmNvcnJlY3RseSB3aGVuIHpvb21lZCBvbiBJRTEwIGFuZCBiZWxvdy5cbmZ1bmN0aW9uIG1heWJlVXBkYXRlUmVjdEZvclpvb21pbmcobWVhc3VyZSwgcmVjdCkge1xuICBpZiAoIXdpbmRvdy5zY3JlZW4gfHwgc2NyZWVuLmxvZ2ljYWxYRFBJID09IG51bGwgfHxcbiAgICAgIHNjcmVlbi5sb2dpY2FsWERQSSA9PSBzY3JlZW4uZGV2aWNlWERQSSB8fCAhaGFzQmFkWm9vbWVkUmVjdHMobWVhc3VyZSkpXG4gICAgcmV0dXJuIHJlY3RcbiAgbGV0IHNjYWxlWCA9IHNjcmVlbi5sb2dpY2FsWERQSSAvIHNjcmVlbi5kZXZpY2VYRFBJXG4gIGxldCBzY2FsZVkgPSBzY3JlZW4ubG9naWNhbFlEUEkgLyBzY3JlZW4uZGV2aWNlWURQSVxuICByZXR1cm4ge2xlZnQ6IHJlY3QubGVmdCAqIHNjYWxlWCwgcmlnaHQ6IHJlY3QucmlnaHQgKiBzY2FsZVgsXG4gICAgICAgICAgdG9wOiByZWN0LnRvcCAqIHNjYWxlWSwgYm90dG9tOiByZWN0LmJvdHRvbSAqIHNjYWxlWX1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNsZWFyTGluZU1lYXN1cmVtZW50Q2FjaGVGb3IobGluZVZpZXcpIHtcbiAgaWYgKGxpbmVWaWV3Lm1lYXN1cmUpIHtcbiAgICBsaW5lVmlldy5tZWFzdXJlLmNhY2hlID0ge31cbiAgICBsaW5lVmlldy5tZWFzdXJlLmhlaWdodHMgPSBudWxsXG4gICAgaWYgKGxpbmVWaWV3LnJlc3QpIGZvciAobGV0IGkgPSAwOyBpIDwgbGluZVZpZXcucmVzdC5sZW5ndGg7IGkrKylcbiAgICAgIGxpbmVWaWV3Lm1lYXN1cmUuY2FjaGVzW2ldID0ge31cbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gY2xlYXJMaW5lTWVhc3VyZW1lbnRDYWNoZShjbSkge1xuICBjbS5kaXNwbGF5LmV4dGVybmFsTWVhc3VyZSA9IG51bGxcbiAgcmVtb3ZlQ2hpbGRyZW4oY20uZGlzcGxheS5saW5lTWVhc3VyZSlcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBjbS5kaXNwbGF5LnZpZXcubGVuZ3RoOyBpKyspXG4gICAgY2xlYXJMaW5lTWVhc3VyZW1lbnRDYWNoZUZvcihjbS5kaXNwbGF5LnZpZXdbaV0pXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjbGVhckNhY2hlcyhjbSkge1xuICBjbGVhckxpbmVNZWFzdXJlbWVudENhY2hlKGNtKVxuICBjbS5kaXNwbGF5LmNhY2hlZENoYXJXaWR0aCA9IGNtLmRpc3BsYXkuY2FjaGVkVGV4dEhlaWdodCA9IGNtLmRpc3BsYXkuY2FjaGVkUGFkZGluZ0ggPSBudWxsXG4gIGlmICghY20ub3B0aW9ucy5saW5lV3JhcHBpbmcpIGNtLmRpc3BsYXkubWF4TGluZUNoYW5nZWQgPSB0cnVlXG4gIGNtLmRpc3BsYXkubGluZU51bUNoYXJzID0gbnVsbFxufVxuXG5mdW5jdGlvbiBwYWdlU2Nyb2xsWCgpIHtcbiAgLy8gV29yayBhcm91bmQgaHR0cHM6Ly9idWdzLmNocm9taXVtLm9yZy9wL2Nocm9taXVtL2lzc3Vlcy9kZXRhaWw/aWQ9NDg5MjA2XG4gIC8vIHdoaWNoIGNhdXNlcyBwYWdlX09mZnNldCBhbmQgYm91bmRpbmcgY2xpZW50IHJlY3RzIHRvIHVzZVxuICAvLyBkaWZmZXJlbnQgcmVmZXJlbmNlIHZpZXdwb3J0cyBhbmQgaW52YWxpZGF0ZSBvdXIgY2FsY3VsYXRpb25zLlxuICBpZiAoY2hyb21lICYmIGFuZHJvaWQpIHJldHVybiAtKGRvY3VtZW50LmJvZHkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkubGVmdCAtIHBhcnNlSW50KGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuYm9keSkubWFyZ2luTGVmdCkpXG4gIHJldHVybiB3aW5kb3cucGFnZVhPZmZzZXQgfHwgKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCB8fCBkb2N1bWVudC5ib2R5KS5zY3JvbGxMZWZ0XG59XG5mdW5jdGlvbiBwYWdlU2Nyb2xsWSgpIHtcbiAgaWYgKGNocm9tZSAmJiBhbmRyb2lkKSByZXR1cm4gLShkb2N1bWVudC5ib2R5LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcCAtIHBhcnNlSW50KGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuYm9keSkubWFyZ2luVG9wKSlcbiAgcmV0dXJuIHdpbmRvdy5wYWdlWU9mZnNldCB8fCAoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50IHx8IGRvY3VtZW50LmJvZHkpLnNjcm9sbFRvcFxufVxuXG5mdW5jdGlvbiB3aWRnZXRUb3BIZWlnaHQobGluZU9iaikge1xuICBsZXQgaGVpZ2h0ID0gMFxuICBpZiAobGluZU9iai53aWRnZXRzKSBmb3IgKGxldCBpID0gMDsgaSA8IGxpbmVPYmoud2lkZ2V0cy5sZW5ndGg7ICsraSkgaWYgKGxpbmVPYmoud2lkZ2V0c1tpXS5hYm92ZSlcbiAgICBoZWlnaHQgKz0gd2lkZ2V0SGVpZ2h0KGxpbmVPYmoud2lkZ2V0c1tpXSlcbiAgcmV0dXJuIGhlaWdodFxufVxuXG4vLyBDb252ZXJ0cyBhIHt0b3AsIGJvdHRvbSwgbGVmdCwgcmlnaHR9IGJveCBmcm9tIGxpbmUtbG9jYWxcbi8vIGNvb3JkaW5hdGVzIGludG8gYW5vdGhlciBjb29yZGluYXRlIHN5c3RlbS4gQ29udGV4dCBtYXkgYmUgb25lIG9mXG4vLyBcImxpbmVcIiwgXCJkaXZcIiAoZGlzcGxheS5saW5lRGl2KSwgXCJsb2NhbFwiLi9udWxsIChlZGl0b3IpLCBcIndpbmRvd1wiLFxuLy8gb3IgXCJwYWdlXCIuXG5leHBvcnQgZnVuY3Rpb24gaW50b0Nvb3JkU3lzdGVtKGNtLCBsaW5lT2JqLCByZWN0LCBjb250ZXh0LCBpbmNsdWRlV2lkZ2V0cykge1xuICBpZiAoIWluY2x1ZGVXaWRnZXRzKSB7XG4gICAgbGV0IGhlaWdodCA9IHdpZGdldFRvcEhlaWdodChsaW5lT2JqKVxuICAgIHJlY3QudG9wICs9IGhlaWdodDsgcmVjdC5ib3R0b20gKz0gaGVpZ2h0XG4gIH1cbiAgaWYgKGNvbnRleHQgPT0gXCJsaW5lXCIpIHJldHVybiByZWN0XG4gIGlmICghY29udGV4dCkgY29udGV4dCA9IFwibG9jYWxcIlxuICBsZXQgeU9mZiA9IGhlaWdodEF0TGluZShsaW5lT2JqKVxuICBpZiAoY29udGV4dCA9PSBcImxvY2FsXCIpIHlPZmYgKz0gcGFkZGluZ1RvcChjbS5kaXNwbGF5KVxuICBlbHNlIHlPZmYgLT0gY20uZGlzcGxheS52aWV3T2Zmc2V0XG4gIGlmIChjb250ZXh0ID09IFwicGFnZVwiIHx8IGNvbnRleHQgPT0gXCJ3aW5kb3dcIikge1xuICAgIGxldCBsT2ZmID0gY20uZGlzcGxheS5saW5lU3BhY2UuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KClcbiAgICB5T2ZmICs9IGxPZmYudG9wICsgKGNvbnRleHQgPT0gXCJ3aW5kb3dcIiA/IDAgOiBwYWdlU2Nyb2xsWSgpKVxuICAgIGxldCB4T2ZmID0gbE9mZi5sZWZ0ICsgKGNvbnRleHQgPT0gXCJ3aW5kb3dcIiA/IDAgOiBwYWdlU2Nyb2xsWCgpKVxuICAgIHJlY3QubGVmdCArPSB4T2ZmOyByZWN0LnJpZ2h0ICs9IHhPZmZcbiAgfVxuICByZWN0LnRvcCArPSB5T2ZmOyByZWN0LmJvdHRvbSArPSB5T2ZmXG4gIHJldHVybiByZWN0XG59XG5cbi8vIENvdmVydHMgYSBib3ggZnJvbSBcImRpdlwiIGNvb3JkcyB0byBhbm90aGVyIGNvb3JkaW5hdGUgc3lzdGVtLlxuLy8gQ29udGV4dCBtYXkgYmUgXCJ3aW5kb3dcIiwgXCJwYWdlXCIsIFwiZGl2XCIsIG9yIFwibG9jYWxcIi4vbnVsbC5cbmV4cG9ydCBmdW5jdGlvbiBmcm9tQ29vcmRTeXN0ZW0oY20sIGNvb3JkcywgY29udGV4dCkge1xuICBpZiAoY29udGV4dCA9PSBcImRpdlwiKSByZXR1cm4gY29vcmRzXG4gIGxldCBsZWZ0ID0gY29vcmRzLmxlZnQsIHRvcCA9IGNvb3Jkcy50b3BcbiAgLy8gRmlyc3QgbW92ZSBpbnRvIFwicGFnZVwiIGNvb3JkaW5hdGUgc3lzdGVtXG4gIGlmIChjb250ZXh0ID09IFwicGFnZVwiKSB7XG4gICAgbGVmdCAtPSBwYWdlU2Nyb2xsWCgpXG4gICAgdG9wIC09IHBhZ2VTY3JvbGxZKClcbiAgfSBlbHNlIGlmIChjb250ZXh0ID09IFwibG9jYWxcIiB8fCAhY29udGV4dCkge1xuICAgIGxldCBsb2NhbEJveCA9IGNtLmRpc3BsYXkuc2l6ZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KClcbiAgICBsZWZ0ICs9IGxvY2FsQm94LmxlZnRcbiAgICB0b3AgKz0gbG9jYWxCb3gudG9wXG4gIH1cblxuICBsZXQgbGluZVNwYWNlQm94ID0gY20uZGlzcGxheS5saW5lU3BhY2UuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KClcbiAgcmV0dXJuIHtsZWZ0OiBsZWZ0IC0gbGluZVNwYWNlQm94LmxlZnQsIHRvcDogdG9wIC0gbGluZVNwYWNlQm94LnRvcH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNoYXJDb29yZHMoY20sIHBvcywgY29udGV4dCwgbGluZU9iaiwgYmlhcykge1xuICBpZiAoIWxpbmVPYmopIGxpbmVPYmogPSBnZXRMaW5lKGNtLmRvYywgcG9zLmxpbmUpXG4gIHJldHVybiBpbnRvQ29vcmRTeXN0ZW0oY20sIGxpbmVPYmosIG1lYXN1cmVDaGFyKGNtLCBsaW5lT2JqLCBwb3MuY2gsIGJpYXMpLCBjb250ZXh0KVxufVxuXG4vLyBSZXR1cm5zIGEgYm94IGZvciBhIGdpdmVuIGN1cnNvciBwb3NpdGlvbiwgd2hpY2ggbWF5IGhhdmUgYW5cbi8vICdvdGhlcicgcHJvcGVydHkgY29udGFpbmluZyB0aGUgcG9zaXRpb24gb2YgdGhlIHNlY29uZGFyeSBjdXJzb3Jcbi8vIG9uIGEgYmlkaSBib3VuZGFyeS5cbi8vIEEgY3Vyc29yIFBvcyhsaW5lLCBjaGFyLCBcImJlZm9yZVwiKSBpcyBvbiB0aGUgc2FtZSB2aXN1YWwgbGluZSBhcyBgY2hhciAtIDFgXG4vLyBhbmQgYWZ0ZXIgYGNoYXIgLSAxYCBpbiB3cml0aW5nIG9yZGVyIG9mIGBjaGFyIC0gMWBcbi8vIEEgY3Vyc29yIFBvcyhsaW5lLCBjaGFyLCBcImFmdGVyXCIpIGlzIG9uIHRoZSBzYW1lIHZpc3VhbCBsaW5lIGFzIGBjaGFyYFxuLy8gYW5kIGJlZm9yZSBgY2hhcmAgaW4gd3JpdGluZyBvcmRlciBvZiBgY2hhcmBcbi8vIEV4YW1wbGVzICh1cHBlci1jYXNlIGxldHRlcnMgYXJlIFJUTCwgbG93ZXItY2FzZSBhcmUgTFRSKTpcbi8vICAgICBQb3MoMCwgMSwgLi4uKVxuLy8gICAgIGJlZm9yZSAgIGFmdGVyXG4vLyBhYiAgICAgYXxiICAgICBhfGJcbi8vIGFCICAgICBhfEIgICAgIGFCfFxuLy8gQWIgICAgIHxBYiAgICAgQXxiXG4vLyBBQiAgICAgQnxBICAgICBCfEFcbi8vIEV2ZXJ5IHBvc2l0aW9uIGFmdGVyIHRoZSBsYXN0IGNoYXJhY3RlciBvbiBhIGxpbmUgaXMgY29uc2lkZXJlZCB0byBzdGlja1xuLy8gdG8gdGhlIGxhc3QgY2hhcmFjdGVyIG9uIHRoZSBsaW5lLlxuZXhwb3J0IGZ1bmN0aW9uIGN1cnNvckNvb3JkcyhjbSwgcG9zLCBjb250ZXh0LCBsaW5lT2JqLCBwcmVwYXJlZE1lYXN1cmUsIHZhckhlaWdodCkge1xuICBsaW5lT2JqID0gbGluZU9iaiB8fCBnZXRMaW5lKGNtLmRvYywgcG9zLmxpbmUpXG4gIGlmICghcHJlcGFyZWRNZWFzdXJlKSBwcmVwYXJlZE1lYXN1cmUgPSBwcmVwYXJlTWVhc3VyZUZvckxpbmUoY20sIGxpbmVPYmopXG4gIGZ1bmN0aW9uIGdldChjaCwgcmlnaHQpIHtcbiAgICBsZXQgbSA9IG1lYXN1cmVDaGFyUHJlcGFyZWQoY20sIHByZXBhcmVkTWVhc3VyZSwgY2gsIHJpZ2h0ID8gXCJyaWdodFwiIDogXCJsZWZ0XCIsIHZhckhlaWdodClcbiAgICBpZiAocmlnaHQpIG0ubGVmdCA9IG0ucmlnaHQ7IGVsc2UgbS5yaWdodCA9IG0ubGVmdFxuICAgIHJldHVybiBpbnRvQ29vcmRTeXN0ZW0oY20sIGxpbmVPYmosIG0sIGNvbnRleHQpXG4gIH1cbiAgbGV0IG9yZGVyID0gZ2V0T3JkZXIobGluZU9iaiwgY20uZG9jLmRpcmVjdGlvbiksIGNoID0gcG9zLmNoLCBzdGlja3kgPSBwb3Muc3RpY2t5XG4gIGlmIChjaCA+PSBsaW5lT2JqLnRleHQubGVuZ3RoKSB7XG4gICAgY2ggPSBsaW5lT2JqLnRleHQubGVuZ3RoXG4gICAgc3RpY2t5ID0gXCJiZWZvcmVcIlxuICB9IGVsc2UgaWYgKGNoIDw9IDApIHtcbiAgICBjaCA9IDBcbiAgICBzdGlja3kgPSBcImFmdGVyXCJcbiAgfVxuICBpZiAoIW9yZGVyKSByZXR1cm4gZ2V0KHN0aWNreSA9PSBcImJlZm9yZVwiID8gY2ggLSAxIDogY2gsIHN0aWNreSA9PSBcImJlZm9yZVwiKVxuXG4gIGZ1bmN0aW9uIGdldEJpZGkoY2gsIHBhcnRQb3MsIGludmVydCkge1xuICAgIGxldCBwYXJ0ID0gb3JkZXJbcGFydFBvc10sIHJpZ2h0ID0gcGFydC5sZXZlbCA9PSAxXG4gICAgcmV0dXJuIGdldChpbnZlcnQgPyBjaCAtIDEgOiBjaCwgcmlnaHQgIT0gaW52ZXJ0KVxuICB9XG4gIGxldCBwYXJ0UG9zID0gZ2V0QmlkaVBhcnRBdChvcmRlciwgY2gsIHN0aWNreSlcbiAgbGV0IG90aGVyID0gYmlkaU90aGVyXG4gIGxldCB2YWwgPSBnZXRCaWRpKGNoLCBwYXJ0UG9zLCBzdGlja3kgPT0gXCJiZWZvcmVcIilcbiAgaWYgKG90aGVyICE9IG51bGwpIHZhbC5vdGhlciA9IGdldEJpZGkoY2gsIG90aGVyLCBzdGlja3kgIT0gXCJiZWZvcmVcIilcbiAgcmV0dXJuIHZhbFxufVxuXG4vLyBVc2VkIHRvIGNoZWFwbHkgZXN0aW1hdGUgdGhlIGNvb3JkaW5hdGVzIGZvciBhIHBvc2l0aW9uLiBVc2VkIGZvclxuLy8gaW50ZXJtZWRpYXRlIHNjcm9sbCB1cGRhdGVzLlxuZXhwb3J0IGZ1bmN0aW9uIGVzdGltYXRlQ29vcmRzKGNtLCBwb3MpIHtcbiAgbGV0IGxlZnQgPSAwXG4gIHBvcyA9IGNsaXBQb3MoY20uZG9jLCBwb3MpXG4gIGlmICghY20ub3B0aW9ucy5saW5lV3JhcHBpbmcpIGxlZnQgPSBjaGFyV2lkdGgoY20uZGlzcGxheSkgKiBwb3MuY2hcbiAgbGV0IGxpbmVPYmogPSBnZXRMaW5lKGNtLmRvYywgcG9zLmxpbmUpXG4gIGxldCB0b3AgPSBoZWlnaHRBdExpbmUobGluZU9iaikgKyBwYWRkaW5nVG9wKGNtLmRpc3BsYXkpXG4gIHJldHVybiB7bGVmdDogbGVmdCwgcmlnaHQ6IGxlZnQsIHRvcDogdG9wLCBib3R0b206IHRvcCArIGxpbmVPYmouaGVpZ2h0fVxufVxuXG4vLyBQb3NpdGlvbnMgcmV0dXJuZWQgYnkgY29vcmRzQ2hhciBjb250YWluIHNvbWUgZXh0cmEgaW5mb3JtYXRpb24uXG4vLyB4UmVsIGlzIHRoZSByZWxhdGl2ZSB4IHBvc2l0aW9uIG9mIHRoZSBpbnB1dCBjb29yZGluYXRlcyBjb21wYXJlZFxuLy8gdG8gdGhlIGZvdW5kIHBvc2l0aW9uIChzbyB4UmVsID4gMCBtZWFucyB0aGUgY29vcmRpbmF0ZXMgYXJlIHRvXG4vLyB0aGUgcmlnaHQgb2YgdGhlIGNoYXJhY3RlciBwb3NpdGlvbiwgZm9yIGV4YW1wbGUpLiBXaGVuIG91dHNpZGVcbi8vIGlzIHRydWUsIHRoYXQgbWVhbnMgdGhlIGNvb3JkaW5hdGVzIGxpZSBvdXRzaWRlIHRoZSBsaW5lJ3Ncbi8vIHZlcnRpY2FsIHJhbmdlLlxuZnVuY3Rpb24gUG9zV2l0aEluZm8obGluZSwgY2gsIHN0aWNreSwgb3V0c2lkZSwgeFJlbCkge1xuICBsZXQgcG9zID0gUG9zKGxpbmUsIGNoLCBzdGlja3kpXG4gIHBvcy54UmVsID0geFJlbFxuICBpZiAob3V0c2lkZSkgcG9zLm91dHNpZGUgPSBvdXRzaWRlXG4gIHJldHVybiBwb3Ncbn1cblxuLy8gQ29tcHV0ZSB0aGUgY2hhcmFjdGVyIHBvc2l0aW9uIGNsb3Nlc3QgdG8gdGhlIGdpdmVuIGNvb3JkaW5hdGVzLlxuLy8gSW5wdXQgbXVzdCBiZSBsaW5lU3BhY2UtbG9jYWwgKFwiZGl2XCIgY29vcmRpbmF0ZSBzeXN0ZW0pLlxuZXhwb3J0IGZ1bmN0aW9uIGNvb3Jkc0NoYXIoY20sIHgsIHkpIHtcbiAgbGV0IGRvYyA9IGNtLmRvY1xuICB5ICs9IGNtLmRpc3BsYXkudmlld09mZnNldFxuICBpZiAoeSA8IDApIHJldHVybiBQb3NXaXRoSW5mbyhkb2MuZmlyc3QsIDAsIG51bGwsIC0xLCAtMSlcbiAgbGV0IGxpbmVOID0gbGluZUF0SGVpZ2h0KGRvYywgeSksIGxhc3QgPSBkb2MuZmlyc3QgKyBkb2Muc2l6ZSAtIDFcbiAgaWYgKGxpbmVOID4gbGFzdClcbiAgICByZXR1cm4gUG9zV2l0aEluZm8oZG9jLmZpcnN0ICsgZG9jLnNpemUgLSAxLCBnZXRMaW5lKGRvYywgbGFzdCkudGV4dC5sZW5ndGgsIG51bGwsIDEsIDEpXG4gIGlmICh4IDwgMCkgeCA9IDBcblxuICBsZXQgbGluZU9iaiA9IGdldExpbmUoZG9jLCBsaW5lTilcbiAgZm9yICg7Oykge1xuICAgIGxldCBmb3VuZCA9IGNvb3Jkc0NoYXJJbm5lcihjbSwgbGluZU9iaiwgbGluZU4sIHgsIHkpXG4gICAgbGV0IGNvbGxhcHNlZCA9IGNvbGxhcHNlZFNwYW5Bcm91bmQobGluZU9iaiwgZm91bmQuY2ggKyAoZm91bmQueFJlbCA+IDAgfHwgZm91bmQub3V0c2lkZSA+IDAgPyAxIDogMCkpXG4gICAgaWYgKCFjb2xsYXBzZWQpIHJldHVybiBmb3VuZFxuICAgIGxldCByYW5nZUVuZCA9IGNvbGxhcHNlZC5maW5kKDEpXG4gICAgaWYgKHJhbmdlRW5kLmxpbmUgPT0gbGluZU4pIHJldHVybiByYW5nZUVuZFxuICAgIGxpbmVPYmogPSBnZXRMaW5lKGRvYywgbGluZU4gPSByYW5nZUVuZC5saW5lKVxuICB9XG59XG5cbmZ1bmN0aW9uIHdyYXBwZWRMaW5lRXh0ZW50KGNtLCBsaW5lT2JqLCBwcmVwYXJlZE1lYXN1cmUsIHkpIHtcbiAgeSAtPSB3aWRnZXRUb3BIZWlnaHQobGluZU9iailcbiAgbGV0IGVuZCA9IGxpbmVPYmoudGV4dC5sZW5ndGhcbiAgbGV0IGJlZ2luID0gZmluZEZpcnN0KGNoID0+IG1lYXN1cmVDaGFyUHJlcGFyZWQoY20sIHByZXBhcmVkTWVhc3VyZSwgY2ggLSAxKS5ib3R0b20gPD0geSwgZW5kLCAwKVxuICBlbmQgPSBmaW5kRmlyc3QoY2ggPT4gbWVhc3VyZUNoYXJQcmVwYXJlZChjbSwgcHJlcGFyZWRNZWFzdXJlLCBjaCkudG9wID4geSwgYmVnaW4sIGVuZClcbiAgcmV0dXJuIHtiZWdpbiwgZW5kfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gd3JhcHBlZExpbmVFeHRlbnRDaGFyKGNtLCBsaW5lT2JqLCBwcmVwYXJlZE1lYXN1cmUsIHRhcmdldCkge1xuICBpZiAoIXByZXBhcmVkTWVhc3VyZSkgcHJlcGFyZWRNZWFzdXJlID0gcHJlcGFyZU1lYXN1cmVGb3JMaW5lKGNtLCBsaW5lT2JqKVxuICBsZXQgdGFyZ2V0VG9wID0gaW50b0Nvb3JkU3lzdGVtKGNtLCBsaW5lT2JqLCBtZWFzdXJlQ2hhclByZXBhcmVkKGNtLCBwcmVwYXJlZE1lYXN1cmUsIHRhcmdldCksIFwibGluZVwiKS50b3BcbiAgcmV0dXJuIHdyYXBwZWRMaW5lRXh0ZW50KGNtLCBsaW5lT2JqLCBwcmVwYXJlZE1lYXN1cmUsIHRhcmdldFRvcClcbn1cblxuLy8gUmV0dXJucyB0cnVlIGlmIHRoZSBnaXZlbiBzaWRlIG9mIGEgYm94IGlzIGFmdGVyIHRoZSBnaXZlblxuLy8gY29vcmRpbmF0ZXMsIGluIHRvcC10by1ib3R0b20sIGxlZnQtdG8tcmlnaHQgb3JkZXIuXG5mdW5jdGlvbiBib3hJc0FmdGVyKGJveCwgeCwgeSwgbGVmdCkge1xuICByZXR1cm4gYm94LmJvdHRvbSA8PSB5ID8gZmFsc2UgOiBib3gudG9wID4geSA/IHRydWUgOiAobGVmdCA/IGJveC5sZWZ0IDogYm94LnJpZ2h0KSA+IHhcbn1cblxuZnVuY3Rpb24gY29vcmRzQ2hhcklubmVyKGNtLCBsaW5lT2JqLCBsaW5lTm8sIHgsIHkpIHtcbiAgLy8gTW92ZSB5IGludG8gbGluZS1sb2NhbCBjb29yZGluYXRlIHNwYWNlXG4gIHkgLT0gaGVpZ2h0QXRMaW5lKGxpbmVPYmopXG4gIGxldCBwcmVwYXJlZE1lYXN1cmUgPSBwcmVwYXJlTWVhc3VyZUZvckxpbmUoY20sIGxpbmVPYmopXG4gIC8vIFdoZW4gZGlyZWN0bHkgY2FsbGluZyBgbWVhc3VyZUNoYXJQcmVwYXJlZGAsIHdlIGhhdmUgdG8gYWRqdXN0XG4gIC8vIGZvciB0aGUgd2lkZ2V0cyBhdCB0aGlzIGxpbmUuXG4gIGxldCB3aWRnZXRIZWlnaHQgPSB3aWRnZXRUb3BIZWlnaHQobGluZU9iailcbiAgbGV0IGJlZ2luID0gMCwgZW5kID0gbGluZU9iai50ZXh0Lmxlbmd0aCwgbHRyID0gdHJ1ZVxuXG4gIGxldCBvcmRlciA9IGdldE9yZGVyKGxpbmVPYmosIGNtLmRvYy5kaXJlY3Rpb24pXG4gIC8vIElmIHRoZSBsaW5lIGlzbid0IHBsYWluIGxlZnQtdG8tcmlnaHQgdGV4dCwgZmlyc3QgZmlndXJlIG91dFxuICAvLyB3aGljaCBiaWRpIHNlY3Rpb24gdGhlIGNvb3JkaW5hdGVzIGZhbGwgaW50by5cbiAgaWYgKG9yZGVyKSB7XG4gICAgbGV0IHBhcnQgPSAoY20ub3B0aW9ucy5saW5lV3JhcHBpbmcgPyBjb29yZHNCaWRpUGFydFdyYXBwZWQgOiBjb29yZHNCaWRpUGFydClcbiAgICAgICAgICAgICAgICAgKGNtLCBsaW5lT2JqLCBsaW5lTm8sIHByZXBhcmVkTWVhc3VyZSwgb3JkZXIsIHgsIHkpXG4gICAgbHRyID0gcGFydC5sZXZlbCAhPSAxXG4gICAgLy8gVGhlIGF3a3dhcmQgLTEgb2Zmc2V0cyBhcmUgbmVlZGVkIGJlY2F1c2UgZmluZEZpcnN0IChjYWxsZWRcbiAgICAvLyBvbiB0aGVzZSBiZWxvdykgd2lsbCB0cmVhdCBpdHMgZmlyc3QgYm91bmQgYXMgaW5jbHVzaXZlLFxuICAgIC8vIHNlY29uZCBhcyBleGNsdXNpdmUsIGJ1dCB3ZSB3YW50IHRvIGFjdHVhbGx5IGFkZHJlc3MgdGhlXG4gICAgLy8gY2hhcmFjdGVycyBpbiB0aGUgcGFydCdzIHJhbmdlXG4gICAgYmVnaW4gPSBsdHIgPyBwYXJ0LmZyb20gOiBwYXJ0LnRvIC0gMVxuICAgIGVuZCA9IGx0ciA/IHBhcnQudG8gOiBwYXJ0LmZyb20gLSAxXG4gIH1cblxuICAvLyBBIGJpbmFyeSBzZWFyY2ggdG8gZmluZCB0aGUgZmlyc3QgY2hhcmFjdGVyIHdob3NlIGJvdW5kaW5nIGJveFxuICAvLyBzdGFydHMgYWZ0ZXIgdGhlIGNvb3JkaW5hdGVzLiBJZiB3ZSBydW4gYWNyb3NzIGFueSB3aG9zZSBib3ggd3JhcFxuICAvLyB0aGUgY29vcmRpbmF0ZXMsIHN0b3JlIHRoYXQuXG4gIGxldCBjaEFyb3VuZCA9IG51bGwsIGJveEFyb3VuZCA9IG51bGxcbiAgbGV0IGNoID0gZmluZEZpcnN0KGNoID0+IHtcbiAgICBsZXQgYm94ID0gbWVhc3VyZUNoYXJQcmVwYXJlZChjbSwgcHJlcGFyZWRNZWFzdXJlLCBjaClcbiAgICBib3gudG9wICs9IHdpZGdldEhlaWdodDsgYm94LmJvdHRvbSArPSB3aWRnZXRIZWlnaHRcbiAgICBpZiAoIWJveElzQWZ0ZXIoYm94LCB4LCB5LCBmYWxzZSkpIHJldHVybiBmYWxzZVxuICAgIGlmIChib3gudG9wIDw9IHkgJiYgYm94LmxlZnQgPD0geCkge1xuICAgICAgY2hBcm91bmQgPSBjaFxuICAgICAgYm94QXJvdW5kID0gYm94XG4gICAgfVxuICAgIHJldHVybiB0cnVlXG4gIH0sIGJlZ2luLCBlbmQpXG5cbiAgbGV0IGJhc2VYLCBzdGlja3ksIG91dHNpZGUgPSBmYWxzZVxuICAvLyBJZiBhIGJveCBhcm91bmQgdGhlIGNvb3JkaW5hdGVzIHdhcyBmb3VuZCwgdXNlIHRoYXRcbiAgaWYgKGJveEFyb3VuZCkge1xuICAgIC8vIERpc3Rpbmd1aXNoIGNvb3JkaW5hdGVzIG5lYXJlciB0byB0aGUgbGVmdCBvciByaWdodCBzaWRlIG9mIHRoZSBib3hcbiAgICBsZXQgYXRMZWZ0ID0geCAtIGJveEFyb3VuZC5sZWZ0IDwgYm94QXJvdW5kLnJpZ2h0IC0geCwgYXRTdGFydCA9IGF0TGVmdCA9PSBsdHJcbiAgICBjaCA9IGNoQXJvdW5kICsgKGF0U3RhcnQgPyAwIDogMSlcbiAgICBzdGlja3kgPSBhdFN0YXJ0ID8gXCJhZnRlclwiIDogXCJiZWZvcmVcIlxuICAgIGJhc2VYID0gYXRMZWZ0ID8gYm94QXJvdW5kLmxlZnQgOiBib3hBcm91bmQucmlnaHRcbiAgfSBlbHNlIHtcbiAgICAvLyAoQWRqdXN0IGZvciBleHRlbmRlZCBib3VuZCwgaWYgbmVjZXNzYXJ5LilcbiAgICBpZiAoIWx0ciAmJiAoY2ggPT0gZW5kIHx8IGNoID09IGJlZ2luKSkgY2grK1xuICAgIC8vIFRvIGRldGVybWluZSB3aGljaCBzaWRlIHRvIGFzc29jaWF0ZSB3aXRoLCBnZXQgdGhlIGJveCB0byB0aGVcbiAgICAvLyBsZWZ0IG9mIHRoZSBjaGFyYWN0ZXIgYW5kIGNvbXBhcmUgaXQncyB2ZXJ0aWNhbCBwb3NpdGlvbiB0byB0aGVcbiAgICAvLyBjb29yZGluYXRlc1xuICAgIHN0aWNreSA9IGNoID09IDAgPyBcImFmdGVyXCIgOiBjaCA9PSBsaW5lT2JqLnRleHQubGVuZ3RoID8gXCJiZWZvcmVcIiA6XG4gICAgICAobWVhc3VyZUNoYXJQcmVwYXJlZChjbSwgcHJlcGFyZWRNZWFzdXJlLCBjaCAtIChsdHIgPyAxIDogMCkpLmJvdHRvbSArIHdpZGdldEhlaWdodCA8PSB5KSA9PSBsdHIgP1xuICAgICAgXCJhZnRlclwiIDogXCJiZWZvcmVcIlxuICAgIC8vIE5vdyBnZXQgYWNjdXJhdGUgY29vcmRpbmF0ZXMgZm9yIHRoaXMgcGxhY2UsIGluIG9yZGVyIHRvIGdldCBhXG4gICAgLy8gYmFzZSBYIHBvc2l0aW9uXG4gICAgbGV0IGNvb3JkcyA9IGN1cnNvckNvb3JkcyhjbSwgUG9zKGxpbmVObywgY2gsIHN0aWNreSksIFwibGluZVwiLCBsaW5lT2JqLCBwcmVwYXJlZE1lYXN1cmUpXG4gICAgYmFzZVggPSBjb29yZHMubGVmdFxuICAgIG91dHNpZGUgPSB5IDwgY29vcmRzLnRvcCA/IC0xIDogeSA+PSBjb29yZHMuYm90dG9tID8gMSA6IDBcbiAgfVxuXG4gIGNoID0gc2tpcEV4dGVuZGluZ0NoYXJzKGxpbmVPYmoudGV4dCwgY2gsIDEpXG4gIHJldHVybiBQb3NXaXRoSW5mbyhsaW5lTm8sIGNoLCBzdGlja3ksIG91dHNpZGUsIHggLSBiYXNlWClcbn1cblxuZnVuY3Rpb24gY29vcmRzQmlkaVBhcnQoY20sIGxpbmVPYmosIGxpbmVObywgcHJlcGFyZWRNZWFzdXJlLCBvcmRlciwgeCwgeSkge1xuICAvLyBCaWRpIHBhcnRzIGFyZSBzb3J0ZWQgbGVmdC10by1yaWdodCwgYW5kIGluIGEgbm9uLWxpbmUtd3JhcHBpbmdcbiAgLy8gc2l0dWF0aW9uLCB3ZSBjYW4gdGFrZSB0aGlzIG9yZGVyaW5nIHRvIGNvcnJlc3BvbmQgdG8gdGhlIHZpc3VhbFxuICAvLyBvcmRlcmluZy4gVGhpcyBmaW5kcyB0aGUgZmlyc3QgcGFydCB3aG9zZSBlbmQgaXMgYWZ0ZXIgdGhlIGdpdmVuXG4gIC8vIGNvb3JkaW5hdGVzLlxuICBsZXQgaW5kZXggPSBmaW5kRmlyc3QoaSA9PiB7XG4gICAgbGV0IHBhcnQgPSBvcmRlcltpXSwgbHRyID0gcGFydC5sZXZlbCAhPSAxXG4gICAgcmV0dXJuIGJveElzQWZ0ZXIoY3Vyc29yQ29vcmRzKGNtLCBQb3MobGluZU5vLCBsdHIgPyBwYXJ0LnRvIDogcGFydC5mcm9tLCBsdHIgPyBcImJlZm9yZVwiIDogXCJhZnRlclwiKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJsaW5lXCIsIGxpbmVPYmosIHByZXBhcmVkTWVhc3VyZSksIHgsIHksIHRydWUpXG4gIH0sIDAsIG9yZGVyLmxlbmd0aCAtIDEpXG4gIGxldCBwYXJ0ID0gb3JkZXJbaW5kZXhdXG4gIC8vIElmIHRoaXMgaXNuJ3QgdGhlIGZpcnN0IHBhcnQsIHRoZSBwYXJ0J3Mgc3RhcnQgaXMgYWxzbyBhZnRlclxuICAvLyB0aGUgY29vcmRpbmF0ZXMsIGFuZCB0aGUgY29vcmRpbmF0ZXMgYXJlbid0IG9uIHRoZSBzYW1lIGxpbmUgYXNcbiAgLy8gdGhhdCBzdGFydCwgbW92ZSBvbmUgcGFydCBiYWNrLlxuICBpZiAoaW5kZXggPiAwKSB7XG4gICAgbGV0IGx0ciA9IHBhcnQubGV2ZWwgIT0gMVxuICAgIGxldCBzdGFydCA9IGN1cnNvckNvb3JkcyhjbSwgUG9zKGxpbmVObywgbHRyID8gcGFydC5mcm9tIDogcGFydC50bywgbHRyID8gXCJhZnRlclwiIDogXCJiZWZvcmVcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwibGluZVwiLCBsaW5lT2JqLCBwcmVwYXJlZE1lYXN1cmUpXG4gICAgaWYgKGJveElzQWZ0ZXIoc3RhcnQsIHgsIHksIHRydWUpICYmIHN0YXJ0LnRvcCA+IHkpXG4gICAgICBwYXJ0ID0gb3JkZXJbaW5kZXggLSAxXVxuICB9XG4gIHJldHVybiBwYXJ0XG59XG5cbmZ1bmN0aW9uIGNvb3Jkc0JpZGlQYXJ0V3JhcHBlZChjbSwgbGluZU9iaiwgX2xpbmVObywgcHJlcGFyZWRNZWFzdXJlLCBvcmRlciwgeCwgeSkge1xuICAvLyBJbiBhIHdyYXBwZWQgbGluZSwgcnRsIHRleHQgb24gd3JhcHBpbmcgYm91bmRhcmllcyBjYW4gZG8gdGhpbmdzXG4gIC8vIHRoYXQgZG9uJ3QgY29ycmVzcG9uZCB0byB0aGUgb3JkZXJpbmcgaW4gb3VyIGBvcmRlcmAgYXJyYXkgYXRcbiAgLy8gYWxsLCBzbyBhIGJpbmFyeSBzZWFyY2ggZG9lc24ndCB3b3JrLCBhbmQgd2Ugd2FudCB0byByZXR1cm4gYVxuICAvLyBwYXJ0IHRoYXQgb25seSBzcGFucyBvbmUgbGluZSBzbyB0aGF0IHRoZSBiaW5hcnkgc2VhcmNoIGluXG4gIC8vIGNvb3Jkc0NoYXJJbm5lciBpcyBzYWZlLiBBcyBzdWNoLCB3ZSBmaXJzdCBmaW5kIHRoZSBleHRlbnQgb2YgdGhlXG4gIC8vIHdyYXBwZWQgbGluZSwgYW5kIHRoZW4gZG8gYSBmbGF0IHNlYXJjaCBpbiB3aGljaCB3ZSBkaXNjYXJkIGFueVxuICAvLyBzcGFucyB0aGF0IGFyZW4ndCBvbiB0aGUgbGluZS5cbiAgbGV0IHtiZWdpbiwgZW5kfSA9IHdyYXBwZWRMaW5lRXh0ZW50KGNtLCBsaW5lT2JqLCBwcmVwYXJlZE1lYXN1cmUsIHkpXG4gIGlmICgvXFxzLy50ZXN0KGxpbmVPYmoudGV4dC5jaGFyQXQoZW5kIC0gMSkpKSBlbmQtLVxuICBsZXQgcGFydCA9IG51bGwsIGNsb3Nlc3REaXN0ID0gbnVsbFxuICBmb3IgKGxldCBpID0gMDsgaSA8IG9yZGVyLmxlbmd0aDsgaSsrKSB7XG4gICAgbGV0IHAgPSBvcmRlcltpXVxuICAgIGlmIChwLmZyb20gPj0gZW5kIHx8IHAudG8gPD0gYmVnaW4pIGNvbnRpbnVlXG4gICAgbGV0IGx0ciA9IHAubGV2ZWwgIT0gMVxuICAgIGxldCBlbmRYID0gbWVhc3VyZUNoYXJQcmVwYXJlZChjbSwgcHJlcGFyZWRNZWFzdXJlLCBsdHIgPyBNYXRoLm1pbihlbmQsIHAudG8pIC0gMSA6IE1hdGgubWF4KGJlZ2luLCBwLmZyb20pKS5yaWdodFxuICAgIC8vIFdlaWdoIGFnYWluc3Qgc3BhbnMgZW5kaW5nIGJlZm9yZSB0aGlzLCBzbyB0aGF0IHRoZXkgYXJlIG9ubHlcbiAgICAvLyBwaWNrZWQgaWYgbm90aGluZyBlbmRzIGFmdGVyXG4gICAgbGV0IGRpc3QgPSBlbmRYIDwgeCA/IHggLSBlbmRYICsgMWU5IDogZW5kWCAtIHhcbiAgICBpZiAoIXBhcnQgfHwgY2xvc2VzdERpc3QgPiBkaXN0KSB7XG4gICAgICBwYXJ0ID0gcFxuICAgICAgY2xvc2VzdERpc3QgPSBkaXN0XG4gICAgfVxuICB9XG4gIGlmICghcGFydCkgcGFydCA9IG9yZGVyW29yZGVyLmxlbmd0aCAtIDFdXG4gIC8vIENsaXAgdGhlIHBhcnQgdG8gdGhlIHdyYXBwZWQgbGluZS5cbiAgaWYgKHBhcnQuZnJvbSA8IGJlZ2luKSBwYXJ0ID0ge2Zyb206IGJlZ2luLCB0bzogcGFydC50bywgbGV2ZWw6IHBhcnQubGV2ZWx9XG4gIGlmIChwYXJ0LnRvID4gZW5kKSBwYXJ0ID0ge2Zyb206IHBhcnQuZnJvbSwgdG86IGVuZCwgbGV2ZWw6IHBhcnQubGV2ZWx9XG4gIHJldHVybiBwYXJ0XG59XG5cbmxldCBtZWFzdXJlVGV4dFxuLy8gQ29tcHV0ZSB0aGUgZGVmYXVsdCB0ZXh0IGhlaWdodC5cbmV4cG9ydCBmdW5jdGlvbiB0ZXh0SGVpZ2h0KGRpc3BsYXkpIHtcbiAgaWYgKGRpc3BsYXkuY2FjaGVkVGV4dEhlaWdodCAhPSBudWxsKSByZXR1cm4gZGlzcGxheS5jYWNoZWRUZXh0SGVpZ2h0XG4gIGlmIChtZWFzdXJlVGV4dCA9PSBudWxsKSB7XG4gICAgbWVhc3VyZVRleHQgPSBlbHQoXCJwcmVcIiwgbnVsbCwgXCJDb2RlTWlycm9yLWxpbmUtbGlrZVwiKVxuICAgIC8vIE1lYXN1cmUgYSBidW5jaCBvZiBsaW5lcywgZm9yIGJyb3dzZXJzIHRoYXQgY29tcHV0ZVxuICAgIC8vIGZyYWN0aW9uYWwgaGVpZ2h0cy5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IDQ5OyArK2kpIHtcbiAgICAgIG1lYXN1cmVUZXh0LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKFwieFwiKSlcbiAgICAgIG1lYXN1cmVUZXh0LmFwcGVuZENoaWxkKGVsdChcImJyXCIpKVxuICAgIH1cbiAgICBtZWFzdXJlVGV4dC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShcInhcIikpXG4gIH1cbiAgcmVtb3ZlQ2hpbGRyZW5BbmRBZGQoZGlzcGxheS5tZWFzdXJlLCBtZWFzdXJlVGV4dClcbiAgbGV0IGhlaWdodCA9IG1lYXN1cmVUZXh0Lm9mZnNldEhlaWdodCAvIDUwXG4gIGlmIChoZWlnaHQgPiAzKSBkaXNwbGF5LmNhY2hlZFRleHRIZWlnaHQgPSBoZWlnaHRcbiAgcmVtb3ZlQ2hpbGRyZW4oZGlzcGxheS5tZWFzdXJlKVxuICByZXR1cm4gaGVpZ2h0IHx8IDFcbn1cblxuLy8gQ29tcHV0ZSB0aGUgZGVmYXVsdCBjaGFyYWN0ZXIgd2lkdGguXG5leHBvcnQgZnVuY3Rpb24gY2hhcldpZHRoKGRpc3BsYXkpIHtcbiAgaWYgKGRpc3BsYXkuY2FjaGVkQ2hhcldpZHRoICE9IG51bGwpIHJldHVybiBkaXNwbGF5LmNhY2hlZENoYXJXaWR0aFxuICBsZXQgYW5jaG9yID0gZWx0KFwic3BhblwiLCBcInh4eHh4eHh4eHhcIilcbiAgbGV0IHByZSA9IGVsdChcInByZVwiLCBbYW5jaG9yXSwgXCJDb2RlTWlycm9yLWxpbmUtbGlrZVwiKVxuICByZW1vdmVDaGlsZHJlbkFuZEFkZChkaXNwbGF5Lm1lYXN1cmUsIHByZSlcbiAgbGV0IHJlY3QgPSBhbmNob3IuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksIHdpZHRoID0gKHJlY3QucmlnaHQgLSByZWN0LmxlZnQpIC8gMTBcbiAgaWYgKHdpZHRoID4gMikgZGlzcGxheS5jYWNoZWRDaGFyV2lkdGggPSB3aWR0aFxuICByZXR1cm4gd2lkdGggfHwgMTBcbn1cblxuLy8gRG8gYSBidWxrLXJlYWQgb2YgdGhlIERPTSBwb3NpdGlvbnMgYW5kIHNpemVzIG5lZWRlZCB0byBkcmF3IHRoZVxuLy8gdmlldywgc28gdGhhdCB3ZSBkb24ndCBpbnRlcmxlYXZlIHJlYWRpbmcgYW5kIHdyaXRpbmcgdG8gdGhlIERPTS5cbmV4cG9ydCBmdW5jdGlvbiBnZXREaW1lbnNpb25zKGNtKSB7XG4gIGxldCBkID0gY20uZGlzcGxheSwgbGVmdCA9IHt9LCB3aWR0aCA9IHt9XG4gIGxldCBndXR0ZXJMZWZ0ID0gZC5ndXR0ZXJzLmNsaWVudExlZnRcbiAgZm9yIChsZXQgbiA9IGQuZ3V0dGVycy5maXJzdENoaWxkLCBpID0gMDsgbjsgbiA9IG4ubmV4dFNpYmxpbmcsICsraSkge1xuICAgIGxldCBpZCA9IGNtLmRpc3BsYXkuZ3V0dGVyU3BlY3NbaV0uY2xhc3NOYW1lXG4gICAgbGVmdFtpZF0gPSBuLm9mZnNldExlZnQgKyBuLmNsaWVudExlZnQgKyBndXR0ZXJMZWZ0XG4gICAgd2lkdGhbaWRdID0gbi5jbGllbnRXaWR0aFxuICB9XG4gIHJldHVybiB7Zml4ZWRQb3M6IGNvbXBlbnNhdGVGb3JIU2Nyb2xsKGQpLFxuICAgICAgICAgIGd1dHRlclRvdGFsV2lkdGg6IGQuZ3V0dGVycy5vZmZzZXRXaWR0aCxcbiAgICAgICAgICBndXR0ZXJMZWZ0OiBsZWZ0LFxuICAgICAgICAgIGd1dHRlcldpZHRoOiB3aWR0aCxcbiAgICAgICAgICB3cmFwcGVyV2lkdGg6IGQud3JhcHBlci5jbGllbnRXaWR0aH1cbn1cblxuLy8gQ29tcHV0ZXMgZGlzcGxheS5zY3JvbGxlci5zY3JvbGxMZWZ0ICsgZGlzcGxheS5ndXR0ZXJzLm9mZnNldFdpZHRoLFxuLy8gYnV0IHVzaW5nIGdldEJvdW5kaW5nQ2xpZW50UmVjdCB0byBnZXQgYSBzdWItcGl4ZWwtYWNjdXJhdGVcbi8vIHJlc3VsdC5cbmV4cG9ydCBmdW5jdGlvbiBjb21wZW5zYXRlRm9ySFNjcm9sbChkaXNwbGF5KSB7XG4gIHJldHVybiBkaXNwbGF5LnNjcm9sbGVyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmxlZnQgLSBkaXNwbGF5LnNpemVyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmxlZnRcbn1cblxuLy8gUmV0dXJucyBhIGZ1bmN0aW9uIHRoYXQgZXN0aW1hdGVzIHRoZSBoZWlnaHQgb2YgYSBsaW5lLCB0byB1c2UgYXNcbi8vIGZpcnN0IGFwcHJveGltYXRpb24gdW50aWwgdGhlIGxpbmUgYmVjb21lcyB2aXNpYmxlIChhbmQgaXMgdGh1c1xuLy8gcHJvcGVybHkgbWVhc3VyYWJsZSkuXG5leHBvcnQgZnVuY3Rpb24gZXN0aW1hdGVIZWlnaHQoY20pIHtcbiAgbGV0IHRoID0gdGV4dEhlaWdodChjbS5kaXNwbGF5KSwgd3JhcHBpbmcgPSBjbS5vcHRpb25zLmxpbmVXcmFwcGluZ1xuICBsZXQgcGVyTGluZSA9IHdyYXBwaW5nICYmIE1hdGgubWF4KDUsIGNtLmRpc3BsYXkuc2Nyb2xsZXIuY2xpZW50V2lkdGggLyBjaGFyV2lkdGgoY20uZGlzcGxheSkgLSAzKVxuICByZXR1cm4gbGluZSA9PiB7XG4gICAgaWYgKGxpbmVJc0hpZGRlbihjbS5kb2MsIGxpbmUpKSByZXR1cm4gMFxuXG4gICAgbGV0IHdpZGdldHNIZWlnaHQgPSAwXG4gICAgaWYgKGxpbmUud2lkZ2V0cykgZm9yIChsZXQgaSA9IDA7IGkgPCBsaW5lLndpZGdldHMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGlmIChsaW5lLndpZGdldHNbaV0uaGVpZ2h0KSB3aWRnZXRzSGVpZ2h0ICs9IGxpbmUud2lkZ2V0c1tpXS5oZWlnaHRcbiAgICB9XG5cbiAgICBpZiAod3JhcHBpbmcpXG4gICAgICByZXR1cm4gd2lkZ2V0c0hlaWdodCArIChNYXRoLmNlaWwobGluZS50ZXh0Lmxlbmd0aCAvIHBlckxpbmUpIHx8IDEpICogdGhcbiAgICBlbHNlXG4gICAgICByZXR1cm4gd2lkZ2V0c0hlaWdodCArIHRoXG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGVzdGltYXRlTGluZUhlaWdodHMoY20pIHtcbiAgbGV0IGRvYyA9IGNtLmRvYywgZXN0ID0gZXN0aW1hdGVIZWlnaHQoY20pXG4gIGRvYy5pdGVyKGxpbmUgPT4ge1xuICAgIGxldCBlc3RIZWlnaHQgPSBlc3QobGluZSlcbiAgICBpZiAoZXN0SGVpZ2h0ICE9IGxpbmUuaGVpZ2h0KSB1cGRhdGVMaW5lSGVpZ2h0KGxpbmUsIGVzdEhlaWdodClcbiAgfSlcbn1cblxuLy8gR2l2ZW4gYSBtb3VzZSBldmVudCwgZmluZCB0aGUgY29ycmVzcG9uZGluZyBwb3NpdGlvbi4gSWYgbGliZXJhbFxuLy8gaXMgZmFsc2UsIGl0IGNoZWNrcyB3aGV0aGVyIGEgZ3V0dGVyIG9yIHNjcm9sbGJhciB3YXMgY2xpY2tlZCxcbi8vIGFuZCByZXR1cm5zIG51bGwgaWYgaXQgd2FzLiBmb3JSZWN0IGlzIHVzZWQgYnkgcmVjdGFuZ3VsYXJcbi8vIHNlbGVjdGlvbnMsIGFuZCB0cmllcyB0byBlc3RpbWF0ZSBhIGNoYXJhY3RlciBwb3NpdGlvbiBldmVuIGZvclxuLy8gY29vcmRpbmF0ZXMgYmV5b25kIHRoZSByaWdodCBvZiB0aGUgdGV4dC5cbmV4cG9ydCBmdW5jdGlvbiBwb3NGcm9tTW91c2UoY20sIGUsIGxpYmVyYWwsIGZvclJlY3QpIHtcbiAgbGV0IGRpc3BsYXkgPSBjbS5kaXNwbGF5XG4gIGlmICghbGliZXJhbCAmJiBlX3RhcmdldChlKS5nZXRBdHRyaWJ1dGUoXCJjbS1ub3QtY29udGVudFwiKSA9PSBcInRydWVcIikgcmV0dXJuIG51bGxcblxuICBsZXQgeCwgeSwgc3BhY2UgPSBkaXNwbGF5LmxpbmVTcGFjZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKVxuICAvLyBGYWlscyB1bnByZWRpY3RhYmx5IG9uIElFWzY3XSB3aGVuIG1vdXNlIGlzIGRyYWdnZWQgYXJvdW5kIHF1aWNrbHkuXG4gIHRyeSB7IHggPSBlLmNsaWVudFggLSBzcGFjZS5sZWZ0OyB5ID0gZS5jbGllbnRZIC0gc3BhY2UudG9wIH1cbiAgY2F0Y2ggKGUpIHsgcmV0dXJuIG51bGwgfVxuICBsZXQgY29vcmRzID0gY29vcmRzQ2hhcihjbSwgeCwgeSksIGxpbmVcbiAgaWYgKGZvclJlY3QgJiYgY29vcmRzLnhSZWwgPT0gMSAmJiAobGluZSA9IGdldExpbmUoY20uZG9jLCBjb29yZHMubGluZSkudGV4dCkubGVuZ3RoID09IGNvb3Jkcy5jaCkge1xuICAgIGxldCBjb2xEaWZmID0gY291bnRDb2x1bW4obGluZSwgbGluZS5sZW5ndGgsIGNtLm9wdGlvbnMudGFiU2l6ZSkgLSBsaW5lLmxlbmd0aFxuICAgIGNvb3JkcyA9IFBvcyhjb29yZHMubGluZSwgTWF0aC5tYXgoMCwgTWF0aC5yb3VuZCgoeCAtIHBhZGRpbmdIKGNtLmRpc3BsYXkpLmxlZnQpIC8gY2hhcldpZHRoKGNtLmRpc3BsYXkpKSAtIGNvbERpZmYpKVxuICB9XG4gIHJldHVybiBjb29yZHNcbn1cblxuLy8gRmluZCB0aGUgdmlldyBlbGVtZW50IGNvcnJlc3BvbmRpbmcgdG8gYSBnaXZlbiBsaW5lLiBSZXR1cm4gbnVsbFxuLy8gd2hlbiB0aGUgbGluZSBpc24ndCB2aXNpYmxlLlxuZXhwb3J0IGZ1bmN0aW9uIGZpbmRWaWV3SW5kZXgoY20sIG4pIHtcbiAgaWYgKG4gPj0gY20uZGlzcGxheS52aWV3VG8pIHJldHVybiBudWxsXG4gIG4gLT0gY20uZGlzcGxheS52aWV3RnJvbVxuICBpZiAobiA8IDApIHJldHVybiBudWxsXG4gIGxldCB2aWV3ID0gY20uZGlzcGxheS52aWV3XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgdmlldy5sZW5ndGg7IGkrKykge1xuICAgIG4gLT0gdmlld1tpXS5zaXplXG4gICAgaWYgKG4gPCAwKSByZXR1cm4gaVxuICB9XG59XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFHQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQURBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFHQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFEQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBSEE7QUFLQTtBQUdBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFGQTtBQUdBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBRUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUdBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFGQTtBQUdBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQURBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQURBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBREE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBREE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFFQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFFQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBRUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBREE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBRUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBSUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFFQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUpBO0FBS0E7QUFHQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBSUE7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBRUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBR0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/codemirror/src/measurement/position_measurement.js\n"); /***/ }), /***/ "./node_modules/codemirror/src/measurement/widgets.js": /*!************************************************************!*\ !*** ./node_modules/codemirror/src/measurement/widgets.js ***! \************************************************************/ /*! exports provided: widgetHeight, eventInWidget */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"widgetHeight\", function() { return widgetHeight; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"eventInWidget\", function() { return eventInWidget; });\n/* harmony import */ var _util_dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../util/dom.js */ \"./node_modules/codemirror/src/util/dom.js\");\n/* harmony import */ var _util_event_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../util/event.js */ \"./node_modules/codemirror/src/util/event.js\");\n\n\nfunction widgetHeight(widget) {\n if (widget.height != null) return widget.height;\n let cm = widget.doc.cm;\n if (!cm) return 0;\n\n if (!Object(_util_dom_js__WEBPACK_IMPORTED_MODULE_0__[\"contains\"])(document.body, widget.node)) {\n let parentStyle = \"position: relative;\";\n if (widget.coverGutter) parentStyle += \"margin-left: -\" + cm.display.gutters.offsetWidth + \"px;\";\n if (widget.noHScroll) parentStyle += \"width: \" + cm.display.wrapper.clientWidth + \"px;\";\n Object(_util_dom_js__WEBPACK_IMPORTED_MODULE_0__[\"removeChildrenAndAdd\"])(cm.display.measure, Object(_util_dom_js__WEBPACK_IMPORTED_MODULE_0__[\"elt\"])(\"div\", [widget.node], null, parentStyle));\n }\n\n return widget.height = widget.node.parentNode.offsetHeight;\n} // Return true when the given mouse event happened in a widget\n\nfunction eventInWidget(display, e) {\n for (let n = Object(_util_event_js__WEBPACK_IMPORTED_MODULE_1__[\"e_target\"])(e); n != display.wrapper; n = n.parentNode) {\n if (!n || n.nodeType == 1 && n.getAttribute(\"cm-ignore-events\") == \"true\" || n.parentNode == display.sizer && n != display.mover) return true;\n }\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9zcmMvbWVhc3VyZW1lbnQvd2lkZ2V0cy5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb2RlbWlycm9yL3NyYy9tZWFzdXJlbWVudC93aWRnZXRzLmpzP2U3ZjMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29udGFpbnMsIGVsdCwgcmVtb3ZlQ2hpbGRyZW5BbmRBZGQgfSBmcm9tIFwiLi4vdXRpbC9kb20uanNcIlxuaW1wb3J0IHsgZV90YXJnZXQgfSBmcm9tIFwiLi4vdXRpbC9ldmVudC5qc1wiXG5cbmV4cG9ydCBmdW5jdGlvbiB3aWRnZXRIZWlnaHQod2lkZ2V0KSB7XG4gIGlmICh3aWRnZXQuaGVpZ2h0ICE9IG51bGwpIHJldHVybiB3aWRnZXQuaGVpZ2h0XG4gIGxldCBjbSA9IHdpZGdldC5kb2MuY21cbiAgaWYgKCFjbSkgcmV0dXJuIDBcbiAgaWYgKCFjb250YWlucyhkb2N1bWVudC5ib2R5LCB3aWRnZXQubm9kZSkpIHtcbiAgICBsZXQgcGFyZW50U3R5bGUgPSBcInBvc2l0aW9uOiByZWxhdGl2ZTtcIlxuICAgIGlmICh3aWRnZXQuY292ZXJHdXR0ZXIpXG4gICAgICBwYXJlbnRTdHlsZSArPSBcIm1hcmdpbi1sZWZ0OiAtXCIgKyBjbS5kaXNwbGF5Lmd1dHRlcnMub2Zmc2V0V2lkdGggKyBcInB4O1wiXG4gICAgaWYgKHdpZGdldC5ub0hTY3JvbGwpXG4gICAgICBwYXJlbnRTdHlsZSArPSBcIndpZHRoOiBcIiArIGNtLmRpc3BsYXkud3JhcHBlci5jbGllbnRXaWR0aCArIFwicHg7XCJcbiAgICByZW1vdmVDaGlsZHJlbkFuZEFkZChjbS5kaXNwbGF5Lm1lYXN1cmUsIGVsdChcImRpdlwiLCBbd2lkZ2V0Lm5vZGVdLCBudWxsLCBwYXJlbnRTdHlsZSkpXG4gIH1cbiAgcmV0dXJuIHdpZGdldC5oZWlnaHQgPSB3aWRnZXQubm9kZS5wYXJlbnROb2RlLm9mZnNldEhlaWdodFxufVxuXG4vLyBSZXR1cm4gdHJ1ZSB3aGVuIHRoZSBnaXZlbiBtb3VzZSBldmVudCBoYXBwZW5lZCBpbiBhIHdpZGdldFxuZXhwb3J0IGZ1bmN0aW9uIGV2ZW50SW5XaWRnZXQoZGlzcGxheSwgZSkge1xuICBmb3IgKGxldCBuID0gZV90YXJnZXQoZSk7IG4gIT0gZGlzcGxheS53cmFwcGVyOyBuID0gbi5wYXJlbnROb2RlKSB7XG4gICAgaWYgKCFuIHx8IChuLm5vZGVUeXBlID09IDEgJiYgbi5nZXRBdHRyaWJ1dGUoXCJjbS1pZ25vcmUtZXZlbnRzXCIpID09IFwidHJ1ZVwiKSB8fFxuICAgICAgICAobi5wYXJlbnROb2RlID09IGRpc3BsYXkuc2l6ZXIgJiYgbiAhPSBkaXNwbGF5Lm1vdmVyKSlcbiAgICAgIHJldHVybiB0cnVlXG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBRUE7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFHQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/codemirror/src/measurement/widgets.js\n"); /***/ }), /***/ "./node_modules/codemirror/src/modes.js": /*!**********************************************!*\ !*** ./node_modules/codemirror/src/modes.js ***! \**********************************************/ /*! exports provided: modes, mimeModes, defineMode, defineMIME, resolveMode, getMode, modeExtensions, extendMode, copyState, innerMode, startState */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"modes\", function() { return modes; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"mimeModes\", function() { return mimeModes; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"defineMode\", function() { return defineMode; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"defineMIME\", function() { return defineMIME; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"resolveMode\", function() { return resolveMode; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getMode\", function() { return getMode; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"modeExtensions\", function() { return modeExtensions; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"extendMode\", function() { return extendMode; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"copyState\", function() { return copyState; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"innerMode\", function() { return innerMode; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"startState\", function() { return startState; });\n/* harmony import */ var _util_misc_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util/misc.js */ \"./node_modules/codemirror/src/util/misc.js\");\n // Known modes, by name and by MIME\n\nlet modes = {},\n mimeModes = {}; // Extra arguments are stored as the mode's dependencies, which is\n// used by (legacy) mechanisms like loadmode.js to automatically\n// load a mode. (Preferred mechanism is the require/define calls.)\n\nfunction defineMode(name, mode) {\n if (arguments.length > 2) mode.dependencies = Array.prototype.slice.call(arguments, 2);\n modes[name] = mode;\n}\nfunction defineMIME(mime, spec) {\n mimeModes[mime] = spec;\n} // Given a MIME type, a {name, ...options} config object, or a name\n// string, return a mode config object.\n\nfunction resolveMode(spec) {\n if (typeof spec == \"string\" && mimeModes.hasOwnProperty(spec)) {\n spec = mimeModes[spec];\n } else if (spec && typeof spec.name == \"string\" && mimeModes.hasOwnProperty(spec.name)) {\n let found = mimeModes[spec.name];\n if (typeof found == \"string\") found = {\n name: found\n };\n spec = Object(_util_misc_js__WEBPACK_IMPORTED_MODULE_0__[\"createObj\"])(found, spec);\n spec.name = found.name;\n } else if (typeof spec == \"string\" && /^[\\w\\-]+\\/[\\w\\-]+\\+xml$/.test(spec)) {\n return resolveMode(\"application/xml\");\n } else if (typeof spec == \"string\" && /^[\\w\\-]+\\/[\\w\\-]+\\+json$/.test(spec)) {\n return resolveMode(\"application/json\");\n }\n\n if (typeof spec == \"string\") return {\n name: spec\n };else return spec || {\n name: \"null\"\n };\n} // Given a mode spec (anything that resolveMode accepts), find and\n// initialize an actual mode object.\n\nfunction getMode(options, spec) {\n spec = resolveMode(spec);\n let mfactory = modes[spec.name];\n if (!mfactory) return getMode(options, \"text/plain\");\n let modeObj = mfactory(options, spec);\n\n if (modeExtensions.hasOwnProperty(spec.name)) {\n let exts = modeExtensions[spec.name];\n\n for (let prop in exts) {\n if (!exts.hasOwnProperty(prop)) continue;\n if (modeObj.hasOwnProperty(prop)) modeObj[\"_\" + prop] = modeObj[prop];\n modeObj[prop] = exts[prop];\n }\n }\n\n modeObj.name = spec.name;\n if (spec.helperType) modeObj.helperType = spec.helperType;\n if (spec.modeProps) for (let prop in spec.modeProps) modeObj[prop] = spec.modeProps[prop];\n return modeObj;\n} // This can be used to attach properties to mode objects from\n// outside the actual mode definition.\n\nlet modeExtensions = {};\nfunction extendMode(mode, properties) {\n let exts = modeExtensions.hasOwnProperty(mode) ? modeExtensions[mode] : modeExtensions[mode] = {};\n Object(_util_misc_js__WEBPACK_IMPORTED_MODULE_0__[\"copyObj\"])(properties, exts);\n}\nfunction copyState(mode, state) {\n if (state === true) return state;\n if (mode.copyState) return mode.copyState(state);\n let nstate = {};\n\n for (let n in state) {\n let val = state[n];\n if (val instanceof Array) val = val.concat([]);\n nstate[n] = val;\n }\n\n return nstate;\n} // Given a mode and a state (for that mode), find the inner mode and\n// state at the position that the state refers to.\n\nfunction innerMode(mode, state) {\n let info;\n\n while (mode.innerMode) {\n info = mode.innerMode(state);\n if (!info || info.mode == mode) break;\n state = info.state;\n mode = info.mode;\n }\n\n return info || {\n mode: mode,\n state: state\n };\n}\nfunction startState(mode, a1, a2) {\n return mode.startState ? mode.startState(a1, a2) : true;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9zcmMvbW9kZXMuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9zcmMvbW9kZXMuanM/MTliYiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb3B5T2JqLCBjcmVhdGVPYmogfSBmcm9tIFwiLi91dGlsL21pc2MuanNcIlxuXG4vLyBLbm93biBtb2RlcywgYnkgbmFtZSBhbmQgYnkgTUlNRVxuZXhwb3J0IGxldCBtb2RlcyA9IHt9LCBtaW1lTW9kZXMgPSB7fVxuXG4vLyBFeHRyYSBhcmd1bWVudHMgYXJlIHN0b3JlZCBhcyB0aGUgbW9kZSdzIGRlcGVuZGVuY2llcywgd2hpY2ggaXNcbi8vIHVzZWQgYnkgKGxlZ2FjeSkgbWVjaGFuaXNtcyBsaWtlIGxvYWRtb2RlLmpzIHRvIGF1dG9tYXRpY2FsbHlcbi8vIGxvYWQgYSBtb2RlLiAoUHJlZmVycmVkIG1lY2hhbmlzbSBpcyB0aGUgcmVxdWlyZS9kZWZpbmUgY2FsbHMuKVxuZXhwb3J0IGZ1bmN0aW9uIGRlZmluZU1vZGUobmFtZSwgbW9kZSkge1xuICBpZiAoYXJndW1lbnRzLmxlbmd0aCA+IDIpXG4gICAgbW9kZS5kZXBlbmRlbmNpZXMgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsIDIpXG4gIG1vZGVzW25hbWVdID0gbW9kZVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZGVmaW5lTUlNRShtaW1lLCBzcGVjKSB7XG4gIG1pbWVNb2Rlc1ttaW1lXSA9IHNwZWNcbn1cblxuLy8gR2l2ZW4gYSBNSU1FIHR5cGUsIGEge25hbWUsIC4uLm9wdGlvbnN9IGNvbmZpZyBvYmplY3QsIG9yIGEgbmFtZVxuLy8gc3RyaW5nLCByZXR1cm4gYSBtb2RlIGNvbmZpZyBvYmplY3QuXG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZU1vZGUoc3BlYykge1xuICBpZiAodHlwZW9mIHNwZWMgPT0gXCJzdHJpbmdcIiAmJiBtaW1lTW9kZXMuaGFzT3duUHJvcGVydHkoc3BlYykpIHtcbiAgICBzcGVjID0gbWltZU1vZGVzW3NwZWNdXG4gIH0gZWxzZSBpZiAoc3BlYyAmJiB0eXBlb2Ygc3BlYy5uYW1lID09IFwic3RyaW5nXCIgJiYgbWltZU1vZGVzLmhhc093blByb3BlcnR5KHNwZWMubmFtZSkpIHtcbiAgICBsZXQgZm91bmQgPSBtaW1lTW9kZXNbc3BlYy5uYW1lXVxuICAgIGlmICh0eXBlb2YgZm91bmQgPT0gXCJzdHJpbmdcIikgZm91bmQgPSB7bmFtZTogZm91bmR9XG4gICAgc3BlYyA9IGNyZWF0ZU9iaihmb3VuZCwgc3BlYylcbiAgICBzcGVjLm5hbWUgPSBmb3VuZC5uYW1lXG4gIH0gZWxzZSBpZiAodHlwZW9mIHNwZWMgPT0gXCJzdHJpbmdcIiAmJiAvXltcXHdcXC1dK1xcL1tcXHdcXC1dK1xcK3htbCQvLnRlc3Qoc3BlYykpIHtcbiAgICByZXR1cm4gcmVzb2x2ZU1vZGUoXCJhcHBsaWNhdGlvbi94bWxcIilcbiAgfSBlbHNlIGlmICh0eXBlb2Ygc3BlYyA9PSBcInN0cmluZ1wiICYmIC9eW1xcd1xcLV0rXFwvW1xcd1xcLV0rXFwranNvbiQvLnRlc3Qoc3BlYykpIHtcbiAgICByZXR1cm4gcmVzb2x2ZU1vZGUoXCJhcHBsaWNhdGlvbi9qc29uXCIpXG4gIH1cbiAgaWYgKHR5cGVvZiBzcGVjID09IFwic3RyaW5nXCIpIHJldHVybiB7bmFtZTogc3BlY31cbiAgZWxzZSByZXR1cm4gc3BlYyB8fCB7bmFtZTogXCJudWxsXCJ9XG59XG5cbi8vIEdpdmVuIGEgbW9kZSBzcGVjIChhbnl0aGluZyB0aGF0IHJlc29sdmVNb2RlIGFjY2VwdHMpLCBmaW5kIGFuZFxuLy8gaW5pdGlhbGl6ZSBhbiBhY3R1YWwgbW9kZSBvYmplY3QuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TW9kZShvcHRpb25zLCBzcGVjKSB7XG4gIHNwZWMgPSByZXNvbHZlTW9kZShzcGVjKVxuICBsZXQgbWZhY3RvcnkgPSBtb2Rlc1tzcGVjLm5hbWVdXG4gIGlmICghbWZhY3RvcnkpIHJldHVybiBnZXRNb2RlKG9wdGlvbnMsIFwidGV4dC9wbGFpblwiKVxuICBsZXQgbW9kZU9iaiA9IG1mYWN0b3J5KG9wdGlvbnMsIHNwZWMpXG4gIGlmIChtb2RlRXh0ZW5zaW9ucy5oYXNPd25Qcm9wZXJ0eShzcGVjLm5hbWUpKSB7XG4gICAgbGV0IGV4dHMgPSBtb2RlRXh0ZW5zaW9uc1tzcGVjLm5hbWVdXG4gICAgZm9yIChsZXQgcHJvcCBpbiBleHRzKSB7XG4gICAgICBpZiAoIWV4dHMuaGFzT3duUHJvcGVydHkocHJvcCkpIGNvbnRpbnVlXG4gICAgICBpZiAobW9kZU9iai5oYXNPd25Qcm9wZXJ0eShwcm9wKSkgbW9kZU9ialtcIl9cIiArIHByb3BdID0gbW9kZU9ialtwcm9wXVxuICAgICAgbW9kZU9ialtwcm9wXSA9IGV4dHNbcHJvcF1cbiAgICB9XG4gIH1cbiAgbW9kZU9iai5uYW1lID0gc3BlYy5uYW1lXG4gIGlmIChzcGVjLmhlbHBlclR5cGUpIG1vZGVPYmouaGVscGVyVHlwZSA9IHNwZWMuaGVscGVyVHlwZVxuICBpZiAoc3BlYy5tb2RlUHJvcHMpIGZvciAobGV0IHByb3AgaW4gc3BlYy5tb2RlUHJvcHMpXG4gICAgbW9kZU9ialtwcm9wXSA9IHNwZWMubW9kZVByb3BzW3Byb3BdXG5cbiAgcmV0dXJuIG1vZGVPYmpcbn1cblxuLy8gVGhpcyBjYW4gYmUgdXNlZCB0byBhdHRhY2ggcHJvcGVydGllcyB0byBtb2RlIG9iamVjdHMgZnJvbVxuLy8gb3V0c2lkZSB0aGUgYWN0dWFsIG1vZGUgZGVmaW5pdGlvbi5cbmV4cG9ydCBsZXQgbW9kZUV4dGVuc2lvbnMgPSB7fVxuZXhwb3J0IGZ1bmN0aW9uIGV4dGVuZE1vZGUobW9kZSwgcHJvcGVydGllcykge1xuICBsZXQgZXh0cyA9IG1vZGVFeHRlbnNpb25zLmhhc093blByb3BlcnR5KG1vZGUpID8gbW9kZUV4dGVuc2lvbnNbbW9kZV0gOiAobW9kZUV4dGVuc2lvbnNbbW9kZV0gPSB7fSlcbiAgY29weU9iaihwcm9wZXJ0aWVzLCBleHRzKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gY29weVN0YXRlKG1vZGUsIHN0YXRlKSB7XG4gIGlmIChzdGF0ZSA9PT0gdHJ1ZSkgcmV0dXJuIHN0YXRlXG4gIGlmIChtb2RlLmNvcHlTdGF0ZSkgcmV0dXJuIG1vZGUuY29weVN0YXRlKHN0YXRlKVxuICBsZXQgbnN0YXRlID0ge31cbiAgZm9yIChsZXQgbiBpbiBzdGF0ZSkge1xuICAgIGxldCB2YWwgPSBzdGF0ZVtuXVxuICAgIGlmICh2YWwgaW5zdGFuY2VvZiBBcnJheSkgdmFsID0gdmFsLmNvbmNhdChbXSlcbiAgICBuc3RhdGVbbl0gPSB2YWxcbiAgfVxuICByZXR1cm4gbnN0YXRlXG59XG5cbi8vIEdpdmVuIGEgbW9kZSBhbmQgYSBzdGF0ZSAoZm9yIHRoYXQgbW9kZSksIGZpbmQgdGhlIGlubmVyIG1vZGUgYW5kXG4vLyBzdGF0ZSBhdCB0aGUgcG9zaXRpb24gdGhhdCB0aGUgc3RhdGUgcmVmZXJzIHRvLlxuZXhwb3J0IGZ1bmN0aW9uIGlubmVyTW9kZShtb2RlLCBzdGF0ZSkge1xuICBsZXQgaW5mb1xuICB3aGlsZSAobW9kZS5pbm5lck1vZGUpIHtcbiAgICBpbmZvID0gbW9kZS5pbm5lck1vZGUoc3RhdGUpXG4gICAgaWYgKCFpbmZvIHx8IGluZm8ubW9kZSA9PSBtb2RlKSBicmVha1xuICAgIHN0YXRlID0gaW5mby5zdGF0ZVxuICAgIG1vZGUgPSBpbmZvLm1vZGVcbiAgfVxuICByZXR1cm4gaW5mbyB8fCB7bW9kZTogbW9kZSwgc3RhdGU6IHN0YXRlfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gc3RhcnRTdGF0ZShtb2RlLCBhMSwgYTIpIHtcbiAgcmV0dXJuIG1vZGUuc3RhcnRTdGF0ZSA/IG1vZGUuc3RhcnRTdGF0ZShhMSwgYTIpIDogdHJ1ZVxufVxuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFFQTtBQUFBO0FBR0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFHQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBR0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUdBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFFQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/codemirror/src/modes.js\n"); /***/ }), /***/ "./node_modules/codemirror/src/util/StringStream.js": /*!**********************************************************!*\ !*** ./node_modules/codemirror/src/util/StringStream.js ***! \**********************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _misc_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./misc.js */ \"./node_modules/codemirror/src/util/misc.js\");\n // STRING STREAM\n// Fed to the mode parsers, provides helper functions to make\n// parsers more succinct.\n\nclass StringStream {\n constructor(string, tabSize, lineOracle) {\n this.pos = this.start = 0;\n this.string = string;\n this.tabSize = tabSize || 8;\n this.lastColumnPos = this.lastColumnValue = 0;\n this.lineStart = 0;\n this.lineOracle = lineOracle;\n }\n\n eol() {\n return this.pos >= this.string.length;\n }\n\n sol() {\n return this.pos == this.lineStart;\n }\n\n peek() {\n return this.string.charAt(this.pos) || undefined;\n }\n\n next() {\n if (this.pos < this.string.length) return this.string.charAt(this.pos++);\n }\n\n eat(match) {\n let ch = this.string.charAt(this.pos);\n let ok;\n if (typeof match == \"string\") ok = ch == match;else ok = ch && (match.test ? match.test(ch) : match(ch));\n\n if (ok) {\n ++this.pos;\n return ch;\n }\n }\n\n eatWhile(match) {\n let start = this.pos;\n\n while (this.eat(match)) {}\n\n return this.pos > start;\n }\n\n eatSpace() {\n let start = this.pos;\n\n while (/[\\s\\u00a0]/.test(this.string.charAt(this.pos))) ++this.pos;\n\n return this.pos > start;\n }\n\n skipToEnd() {\n this.pos = this.string.length;\n }\n\n skipTo(ch) {\n let found = this.string.indexOf(ch, this.pos);\n\n if (found > -1) {\n this.pos = found;\n return true;\n }\n }\n\n backUp(n) {\n this.pos -= n;\n }\n\n column() {\n if (this.lastColumnPos < this.start) {\n this.lastColumnValue = Object(_misc_js__WEBPACK_IMPORTED_MODULE_0__[\"countColumn\"])(this.string, this.start, this.tabSize, this.lastColumnPos, this.lastColumnValue);\n this.lastColumnPos = this.start;\n }\n\n return this.lastColumnValue - (this.lineStart ? Object(_misc_js__WEBPACK_IMPORTED_MODULE_0__[\"countColumn\"])(this.string, this.lineStart, this.tabSize) : 0);\n }\n\n indentation() {\n return Object(_misc_js__WEBPACK_IMPORTED_MODULE_0__[\"countColumn\"])(this.string, null, this.tabSize) - (this.lineStart ? Object(_misc_js__WEBPACK_IMPORTED_MODULE_0__[\"countColumn\"])(this.string, this.lineStart, this.tabSize) : 0);\n }\n\n match(pattern, consume, caseInsensitive) {\n if (typeof pattern == \"string\") {\n let cased = str => caseInsensitive ? str.toLowerCase() : str;\n\n let substr = this.string.substr(this.pos, pattern.length);\n\n if (cased(substr) == cased(pattern)) {\n if (consume !== false) this.pos += pattern.length;\n return true;\n }\n } else {\n let match = this.string.slice(this.pos).match(pattern);\n if (match && match.index > 0) return null;\n if (match && consume !== false) this.pos += match[0].length;\n return match;\n }\n }\n\n current() {\n return this.string.slice(this.start, this.pos);\n }\n\n hideFirstChars(n, inner) {\n this.lineStart += n;\n\n try {\n return inner();\n } finally {\n this.lineStart -= n;\n }\n }\n\n lookAhead(n) {\n let oracle = this.lineOracle;\n return oracle && oracle.lookAhead(n);\n }\n\n baseToken() {\n let oracle = this.lineOracle;\n return oracle && oracle.baseToken(this.pos);\n }\n\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (StringStream);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9zcmMvdXRpbC9TdHJpbmdTdHJlYW0uanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9zcmMvdXRpbC9TdHJpbmdTdHJlYW0uanM/YmFlNiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb3VudENvbHVtbiB9IGZyb20gXCIuL21pc2MuanNcIlxuXG4vLyBTVFJJTkcgU1RSRUFNXG5cbi8vIEZlZCB0byB0aGUgbW9kZSBwYXJzZXJzLCBwcm92aWRlcyBoZWxwZXIgZnVuY3Rpb25zIHRvIG1ha2Vcbi8vIHBhcnNlcnMgbW9yZSBzdWNjaW5jdC5cblxuY2xhc3MgU3RyaW5nU3RyZWFtIHtcbiAgY29uc3RydWN0b3Ioc3RyaW5nLCB0YWJTaXplLCBsaW5lT3JhY2xlKSB7XG4gICAgdGhpcy5wb3MgPSB0aGlzLnN0YXJ0ID0gMFxuICAgIHRoaXMuc3RyaW5nID0gc3RyaW5nXG4gICAgdGhpcy50YWJTaXplID0gdGFiU2l6ZSB8fCA4XG4gICAgdGhpcy5sYXN0Q29sdW1uUG9zID0gdGhpcy5sYXN0Q29sdW1uVmFsdWUgPSAwXG4gICAgdGhpcy5saW5lU3RhcnQgPSAwXG4gICAgdGhpcy5saW5lT3JhY2xlID0gbGluZU9yYWNsZVxuICB9XG5cbiAgZW9sKCkge3JldHVybiB0aGlzLnBvcyA+PSB0aGlzLnN0cmluZy5sZW5ndGh9XG4gIHNvbCgpIHtyZXR1cm4gdGhpcy5wb3MgPT0gdGhpcy5saW5lU3RhcnR9XG4gIHBlZWsoKSB7cmV0dXJuIHRoaXMuc3RyaW5nLmNoYXJBdCh0aGlzLnBvcykgfHwgdW5kZWZpbmVkfVxuICBuZXh0KCkge1xuICAgIGlmICh0aGlzLnBvcyA8IHRoaXMuc3RyaW5nLmxlbmd0aClcbiAgICAgIHJldHVybiB0aGlzLnN0cmluZy5jaGFyQXQodGhpcy5wb3MrKylcbiAgfVxuICBlYXQobWF0Y2gpIHtcbiAgICBsZXQgY2ggPSB0aGlzLnN0cmluZy5jaGFyQXQodGhpcy5wb3MpXG4gICAgbGV0IG9rXG4gICAgaWYgKHR5cGVvZiBtYXRjaCA9PSBcInN0cmluZ1wiKSBvayA9IGNoID09IG1hdGNoXG4gICAgZWxzZSBvayA9IGNoICYmIChtYXRjaC50ZXN0ID8gbWF0Y2gudGVzdChjaCkgOiBtYXRjaChjaCkpXG4gICAgaWYgKG9rKSB7Kyt0aGlzLnBvczsgcmV0dXJuIGNofVxuICB9XG4gIGVhdFdoaWxlKG1hdGNoKSB7XG4gICAgbGV0IHN0YXJ0ID0gdGhpcy5wb3NcbiAgICB3aGlsZSAodGhpcy5lYXQobWF0Y2gpKXt9XG4gICAgcmV0dXJuIHRoaXMucG9zID4gc3RhcnRcbiAgfVxuICBlYXRTcGFjZSgpIHtcbiAgICBsZXQgc3RhcnQgPSB0aGlzLnBvc1xuICAgIHdoaWxlICgvW1xcc1xcdTAwYTBdLy50ZXN0KHRoaXMuc3RyaW5nLmNoYXJBdCh0aGlzLnBvcykpKSArK3RoaXMucG9zXG4gICAgcmV0dXJuIHRoaXMucG9zID4gc3RhcnRcbiAgfVxuICBza2lwVG9FbmQoKSB7dGhpcy5wb3MgPSB0aGlzLnN0cmluZy5sZW5ndGh9XG4gIHNraXBUbyhjaCkge1xuICAgIGxldCBmb3VuZCA9IHRoaXMuc3RyaW5nLmluZGV4T2YoY2gsIHRoaXMucG9zKVxuICAgIGlmIChmb3VuZCA+IC0xKSB7dGhpcy5wb3MgPSBmb3VuZDsgcmV0dXJuIHRydWV9XG4gIH1cbiAgYmFja1VwKG4pIHt0aGlzLnBvcyAtPSBufVxuICBjb2x1bW4oKSB7XG4gICAgaWYgKHRoaXMubGFzdENvbHVtblBvcyA8IHRoaXMuc3RhcnQpIHtcbiAgICAgIHRoaXMubGFzdENvbHVtblZhbHVlID0gY291bnRDb2x1bW4odGhpcy5zdHJpbmcsIHRoaXMuc3RhcnQsIHRoaXMudGFiU2l6ZSwgdGhpcy5sYXN0Q29sdW1uUG9zLCB0aGlzLmxhc3RDb2x1bW5WYWx1ZSlcbiAgICAgIHRoaXMubGFzdENvbHVtblBvcyA9IHRoaXMuc3RhcnRcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMubGFzdENvbHVtblZhbHVlIC0gKHRoaXMubGluZVN0YXJ0ID8gY291bnRDb2x1bW4odGhpcy5zdHJpbmcsIHRoaXMubGluZVN0YXJ0LCB0aGlzLnRhYlNpemUpIDogMClcbiAgfVxuICBpbmRlbnRhdGlvbigpIHtcbiAgICByZXR1cm4gY291bnRDb2x1bW4odGhpcy5zdHJpbmcsIG51bGwsIHRoaXMudGFiU2l6ZSkgLVxuICAgICAgKHRoaXMubGluZVN0YXJ0ID8gY291bnRDb2x1bW4odGhpcy5zdHJpbmcsIHRoaXMubGluZVN0YXJ0LCB0aGlzLnRhYlNpemUpIDogMClcbiAgfVxuICBtYXRjaChwYXR0ZXJuLCBjb25zdW1lLCBjYXNlSW5zZW5zaXRpdmUpIHtcbiAgICBpZiAodHlwZW9mIHBhdHRlcm4gPT0gXCJzdHJpbmdcIikge1xuICAgICAgbGV0IGNhc2VkID0gc3RyID0+IGNhc2VJbnNlbnNpdGl2ZSA/IHN0ci50b0xvd2VyQ2FzZSgpIDogc3RyXG4gICAgICBsZXQgc3Vic3RyID0gdGhpcy5zdHJpbmcuc3Vic3RyKHRoaXMucG9zLCBwYXR0ZXJuLmxlbmd0aClcbiAgICAgIGlmIChjYXNlZChzdWJzdHIpID09IGNhc2VkKHBhdHRlcm4pKSB7XG4gICAgICAgIGlmIChjb25zdW1lICE9PSBmYWxzZSkgdGhpcy5wb3MgKz0gcGF0dGVybi5sZW5ndGhcbiAgICAgICAgcmV0dXJuIHRydWVcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgbGV0IG1hdGNoID0gdGhpcy5zdHJpbmcuc2xpY2UodGhpcy5wb3MpLm1hdGNoKHBhdHRlcm4pXG4gICAgICBpZiAobWF0Y2ggJiYgbWF0Y2guaW5kZXggPiAwKSByZXR1cm4gbnVsbFxuICAgICAgaWYgKG1hdGNoICYmIGNvbnN1bWUgIT09IGZhbHNlKSB0aGlzLnBvcyArPSBtYXRjaFswXS5sZW5ndGhcbiAgICAgIHJldHVybiBtYXRjaFxuICAgIH1cbiAgfVxuICBjdXJyZW50KCl7cmV0dXJuIHRoaXMuc3RyaW5nLnNsaWNlKHRoaXMuc3RhcnQsIHRoaXMucG9zKX1cbiAgaGlkZUZpcnN0Q2hhcnMobiwgaW5uZXIpIHtcbiAgICB0aGlzLmxpbmVTdGFydCArPSBuXG4gICAgdHJ5IHsgcmV0dXJuIGlubmVyKCkgfVxuICAgIGZpbmFsbHkgeyB0aGlzLmxpbmVTdGFydCAtPSBuIH1cbiAgfVxuICBsb29rQWhlYWQobikge1xuICAgIGxldCBvcmFjbGUgPSB0aGlzLmxpbmVPcmFjbGVcbiAgICByZXR1cm4gb3JhY2xlICYmIG9yYWNsZS5sb29rQWhlYWQobilcbiAgfVxuICBiYXNlVG9rZW4oKSB7XG4gICAgbGV0IG9yYWNsZSA9IHRoaXMubGluZU9yYWNsZVxuICAgIHJldHVybiBvcmFjbGUgJiYgb3JhY2xlLmJhc2VUb2tlbih0aGlzLnBvcylcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBTdHJpbmdTdHJlYW1cbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQWhGQTtBQUNBO0FBaUZBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/codemirror/src/util/StringStream.js\n"); /***/ }), /***/ "./node_modules/codemirror/src/util/bidi.js": /*!**************************************************!*\ !*** ./node_modules/codemirror/src/util/bidi.js ***! \**************************************************/ /*! exports provided: iterateBidiSections, bidiOther, getBidiPartAt, getOrder */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"iterateBidiSections\", function() { return iterateBidiSections; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"bidiOther\", function() { return bidiOther; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getBidiPartAt\", function() { return getBidiPartAt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getOrder\", function() { return getOrder; });\n/* harmony import */ var _misc_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./misc.js */ \"./node_modules/codemirror/src/util/misc.js\");\n // BIDI HELPERS\n\nfunction iterateBidiSections(order, from, to, f) {\n if (!order) return f(from, to, \"ltr\", 0);\n let found = false;\n\n for (let i = 0; i < order.length; ++i) {\n let part = order[i];\n\n if (part.from < to && part.to > from || from == to && part.to == from) {\n f(Math.max(part.from, from), Math.min(part.to, to), part.level == 1 ? \"rtl\" : \"ltr\", i);\n found = true;\n }\n }\n\n if (!found) f(from, to, \"ltr\");\n}\nlet bidiOther = null;\nfunction getBidiPartAt(order, ch, sticky) {\n let found;\n bidiOther = null;\n\n for (let i = 0; i < order.length; ++i) {\n let cur = order[i];\n if (cur.from < ch && cur.to > ch) return i;\n\n if (cur.to == ch) {\n if (cur.from != cur.to && sticky == \"before\") found = i;else bidiOther = i;\n }\n\n if (cur.from == ch) {\n if (cur.from != cur.to && sticky != \"before\") found = i;else bidiOther = i;\n }\n }\n\n return found != null ? found : bidiOther;\n} // Bidirectional ordering algorithm\n// See http://unicode.org/reports/tr9/tr9-13.html for the algorithm\n// that this (partially) implements.\n// One-char codes used for character types:\n// L (L): Left-to-Right\n// R (R): Right-to-Left\n// r (AL): Right-to-Left Arabic\n// 1 (EN): European Number\n// + (ES): European Number Separator\n// % (ET): European Number Terminator\n// n (AN): Arabic Number\n// , (CS): Common Number Separator\n// m (NSM): Non-Spacing Mark\n// b (BN): Boundary Neutral\n// s (B): Paragraph Separator\n// t (S): Segment Separator\n// w (WS): Whitespace\n// N (ON): Other Neutrals\n// Returns null if characters are ordered as they appear\n// (left-to-right), or an array of sections ({from, to, level}\n// objects) in the order in which they occur visually.\n\nlet bidiOrdering = function () {\n // Character types for codepoints 0 to 0xff\n let lowTypes = \"bbbbbbbbbtstwsbbbbbbbbbbbbbbssstwNN%%%NNNNNN,N,N1111111111NNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbbbb,N%%%%NNNNLNNNNN%%11NLNNN1LNNNNNLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLN\"; // Character types for codepoints 0x600 to 0x6f9\n\n let arabicTypes = \"nnnnnnNNr%%r,rNNmmmmmmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnn%nnrrrmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmnNmmmmmmrrmmNmmmmrr1111111111\";\n\n function charType(code) {\n if (code <= 0xf7) return lowTypes.charAt(code);else if (0x590 <= code && code <= 0x5f4) return \"R\";else if (0x600 <= code && code <= 0x6f9) return arabicTypes.charAt(code - 0x600);else if (0x6ee <= code && code <= 0x8ac) return \"r\";else if (0x2000 <= code && code <= 0x200b) return \"w\";else if (code == 0x200c) return \"b\";else return \"L\";\n }\n\n let bidiRE = /[\\u0590-\\u05f4\\u0600-\\u06ff\\u0700-\\u08ac]/;\n let isNeutral = /[stwN]/,\n isStrong = /[LRr]/,\n countsAsLeft = /[Lb1n]/,\n countsAsNum = /[1n]/;\n\n function BidiSpan(level, from, to) {\n this.level = level;\n this.from = from;\n this.to = to;\n }\n\n return function (str, direction) {\n let outerType = direction == \"ltr\" ? \"L\" : \"R\";\n if (str.length == 0 || direction == \"ltr\" && !bidiRE.test(str)) return false;\n let len = str.length,\n types = [];\n\n for (let i = 0; i < len; ++i) types.push(charType(str.charCodeAt(i))); // W1. Examine each non-spacing mark (NSM) in the level run, and\n // change the type of the NSM to the type of the previous\n // character. If the NSM is at the start of the level run, it will\n // get the type of sor.\n\n\n for (let i = 0, prev = outerType; i < len; ++i) {\n let type = types[i];\n if (type == \"m\") types[i] = prev;else prev = type;\n } // W2. Search backwards from each instance of a European number\n // until the first strong type (R, L, AL, or sor) is found. If an\n // AL is found, change the type of the European number to Arabic\n // number.\n // W3. Change all ALs to R.\n\n\n for (let i = 0, cur = outerType; i < len; ++i) {\n let type = types[i];\n if (type == \"1\" && cur == \"r\") types[i] = \"n\";else if (isStrong.test(type)) {\n cur = type;\n if (type == \"r\") types[i] = \"R\";\n }\n } // W4. A single European separator between two European numbers\n // changes to a European number. A single common separator between\n // two numbers of the same type changes to that type.\n\n\n for (let i = 1, prev = types[0]; i < len - 1; ++i) {\n let type = types[i];\n if (type == \"+\" && prev == \"1\" && types[i + 1] == \"1\") types[i] = \"1\";else if (type == \",\" && prev == types[i + 1] && (prev == \"1\" || prev == \"n\")) types[i] = prev;\n prev = type;\n } // W5. A sequence of European terminators adjacent to European\n // numbers changes to all European numbers.\n // W6. Otherwise, separators and terminators change to Other\n // Neutral.\n\n\n for (let i = 0; i < len; ++i) {\n let type = types[i];\n if (type == \",\") types[i] = \"N\";else if (type == \"%\") {\n let end;\n\n for (end = i + 1; end < len && types[end] == \"%\"; ++end) {}\n\n let replace = i && types[i - 1] == \"!\" || end < len && types[end] == \"1\" ? \"1\" : \"N\";\n\n for (let j = i; j < end; ++j) types[j] = replace;\n\n i = end - 1;\n }\n } // W7. Search backwards from each instance of a European number\n // until the first strong type (R, L, or sor) is found. If an L is\n // found, then change the type of the European number to L.\n\n\n for (let i = 0, cur = outerType; i < len; ++i) {\n let type = types[i];\n if (cur == \"L\" && type == \"1\") types[i] = \"L\";else if (isStrong.test(type)) cur = type;\n } // N1. A sequence of neutrals takes the direction of the\n // surrounding strong text if the text on both sides has the same\n // direction. European and Arabic numbers act as if they were R in\n // terms of their influence on neutrals. Start-of-level-run (sor)\n // and end-of-level-run (eor) are used at level run boundaries.\n // N2. Any remaining neutrals take the embedding direction.\n\n\n for (let i = 0; i < len; ++i) {\n if (isNeutral.test(types[i])) {\n let end;\n\n for (end = i + 1; end < len && isNeutral.test(types[end]); ++end) {}\n\n let before = (i ? types[i - 1] : outerType) == \"L\";\n let after = (end < len ? types[end] : outerType) == \"L\";\n let replace = before == after ? before ? \"L\" : \"R\" : outerType;\n\n for (let j = i; j < end; ++j) types[j] = replace;\n\n i = end - 1;\n }\n } // Here we depart from the documented algorithm, in order to avoid\n // building up an actual levels array. Since there are only three\n // levels (0, 1, 2) in an implementation that doesn't take\n // explicit embedding into account, we can build up the order on\n // the fly, without following the level-based algorithm.\n\n\n let order = [],\n m;\n\n for (let i = 0; i < len;) {\n if (countsAsLeft.test(types[i])) {\n let start = i;\n\n for (++i; i < len && countsAsLeft.test(types[i]); ++i) {}\n\n order.push(new BidiSpan(0, start, i));\n } else {\n let pos = i,\n at = order.length;\n\n for (++i; i < len && types[i] != \"L\"; ++i) {}\n\n for (let j = pos; j < i;) {\n if (countsAsNum.test(types[j])) {\n if (pos < j) order.splice(at, 0, new BidiSpan(1, pos, j));\n let nstart = j;\n\n for (++j; j < i && countsAsNum.test(types[j]); ++j) {}\n\n order.splice(at, 0, new BidiSpan(2, nstart, j));\n pos = j;\n } else ++j;\n }\n\n if (pos < i) order.splice(at, 0, new BidiSpan(1, pos, i));\n }\n }\n\n if (direction == \"ltr\") {\n if (order[0].level == 1 && (m = str.match(/^\\s+/))) {\n order[0].from = m[0].length;\n order.unshift(new BidiSpan(0, 0, m[0].length));\n }\n\n if (Object(_misc_js__WEBPACK_IMPORTED_MODULE_0__[\"lst\"])(order).level == 1 && (m = str.match(/\\s+$/))) {\n Object(_misc_js__WEBPACK_IMPORTED_MODULE_0__[\"lst\"])(order).to -= m[0].length;\n order.push(new BidiSpan(0, len - m[0].length, len));\n }\n }\n\n return direction == \"rtl\" ? order.reverse() : order;\n };\n}(); // Get the bidi ordering for the given line (and cache it). Returns\n// false for lines that are fully left-to-right, and an array of\n// BidiSpan objects otherwise.\n\n\nfunction getOrder(line, direction) {\n let order = line.order;\n if (order == null) order = line.order = bidiOrdering(line.text, direction);\n return order;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9zcmMvdXRpbC9iaWRpLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvZGVtaXJyb3Ivc3JjL3V0aWwvYmlkaS5qcz82Y2JlIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGxzdCB9IGZyb20gXCIuL21pc2MuanNcIlxuXG4vLyBCSURJIEhFTFBFUlNcblxuZXhwb3J0IGZ1bmN0aW9uIGl0ZXJhdGVCaWRpU2VjdGlvbnMob3JkZXIsIGZyb20sIHRvLCBmKSB7XG4gIGlmICghb3JkZXIpIHJldHVybiBmKGZyb20sIHRvLCBcImx0clwiLCAwKVxuICBsZXQgZm91bmQgPSBmYWxzZVxuICBmb3IgKGxldCBpID0gMDsgaSA8IG9yZGVyLmxlbmd0aDsgKytpKSB7XG4gICAgbGV0IHBhcnQgPSBvcmRlcltpXVxuICAgIGlmIChwYXJ0LmZyb20gPCB0byAmJiBwYXJ0LnRvID4gZnJvbSB8fCBmcm9tID09IHRvICYmIHBhcnQudG8gPT0gZnJvbSkge1xuICAgICAgZihNYXRoLm1heChwYXJ0LmZyb20sIGZyb20pLCBNYXRoLm1pbihwYXJ0LnRvLCB0byksIHBhcnQubGV2ZWwgPT0gMSA/IFwicnRsXCIgOiBcImx0clwiLCBpKVxuICAgICAgZm91bmQgPSB0cnVlXG4gICAgfVxuICB9XG4gIGlmICghZm91bmQpIGYoZnJvbSwgdG8sIFwibHRyXCIpXG59XG5cbmV4cG9ydCBsZXQgYmlkaU90aGVyID0gbnVsbFxuZXhwb3J0IGZ1bmN0aW9uIGdldEJpZGlQYXJ0QXQob3JkZXIsIGNoLCBzdGlja3kpIHtcbiAgbGV0IGZvdW5kXG4gIGJpZGlPdGhlciA9IG51bGxcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBvcmRlci5sZW5ndGg7ICsraSkge1xuICAgIGxldCBjdXIgPSBvcmRlcltpXVxuICAgIGlmIChjdXIuZnJvbSA8IGNoICYmIGN1ci50byA+IGNoKSByZXR1cm4gaVxuICAgIGlmIChjdXIudG8gPT0gY2gpIHtcbiAgICAgIGlmIChjdXIuZnJvbSAhPSBjdXIudG8gJiYgc3RpY2t5ID09IFwiYmVmb3JlXCIpIGZvdW5kID0gaVxuICAgICAgZWxzZSBiaWRpT3RoZXIgPSBpXG4gICAgfVxuICAgIGlmIChjdXIuZnJvbSA9PSBjaCkge1xuICAgICAgaWYgKGN1ci5mcm9tICE9IGN1ci50byAmJiBzdGlja3kgIT0gXCJiZWZvcmVcIikgZm91bmQgPSBpXG4gICAgICBlbHNlIGJpZGlPdGhlciA9IGlcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGZvdW5kICE9IG51bGwgPyBmb3VuZCA6IGJpZGlPdGhlclxufVxuXG4vLyBCaWRpcmVjdGlvbmFsIG9yZGVyaW5nIGFsZ29yaXRobVxuLy8gU2VlIGh0dHA6Ly91bmljb2RlLm9yZy9yZXBvcnRzL3RyOS90cjktMTMuaHRtbCBmb3IgdGhlIGFsZ29yaXRobVxuLy8gdGhhdCB0aGlzIChwYXJ0aWFsbHkpIGltcGxlbWVudHMuXG5cbi8vIE9uZS1jaGFyIGNvZGVzIHVzZWQgZm9yIGNoYXJhY3RlciB0eXBlczpcbi8vIEwgKEwpOiAgIExlZnQtdG8tUmlnaHRcbi8vIFIgKFIpOiAgIFJpZ2h0LXRvLUxlZnRcbi8vIHIgKEFMKTogIFJpZ2h0LXRvLUxlZnQgQXJhYmljXG4vLyAxIChFTik6ICBFdXJvcGVhbiBOdW1iZXJcbi8vICsgKEVTKTogIEV1cm9wZWFuIE51bWJlciBTZXBhcmF0b3Jcbi8vICUgKEVUKTogIEV1cm9wZWFuIE51bWJlciBUZXJtaW5hdG9yXG4vLyBuIChBTik6ICBBcmFiaWMgTnVtYmVyXG4vLyAsIChDUyk6ICBDb21tb24gTnVtYmVyIFNlcGFyYXRvclxuLy8gbSAoTlNNKTogTm9uLVNwYWNpbmcgTWFya1xuLy8gYiAoQk4pOiAgQm91bmRhcnkgTmV1dHJhbFxuLy8gcyAoQik6ICAgUGFyYWdyYXBoIFNlcGFyYXRvclxuLy8gdCAoUyk6ICAgU2VnbWVudCBTZXBhcmF0b3Jcbi8vIHcgKFdTKTogIFdoaXRlc3BhY2Vcbi8vIE4gKE9OKTogIE90aGVyIE5ldXRyYWxzXG5cbi8vIFJldHVybnMgbnVsbCBpZiBjaGFyYWN0ZXJzIGFyZSBvcmRlcmVkIGFzIHRoZXkgYXBwZWFyXG4vLyAobGVmdC10by1yaWdodCksIG9yIGFuIGFycmF5IG9mIHNlY3Rpb25zICh7ZnJvbSwgdG8sIGxldmVsfVxuLy8gb2JqZWN0cykgaW4gdGhlIG9yZGVyIGluIHdoaWNoIHRoZXkgb2NjdXIgdmlzdWFsbHkuXG5sZXQgYmlkaU9yZGVyaW5nID0gKGZ1bmN0aW9uKCkge1xuICAvLyBDaGFyYWN0ZXIgdHlwZXMgZm9yIGNvZGVwb2ludHMgMCB0byAweGZmXG4gIGxldCBsb3dUeXBlcyA9IFwiYmJiYmJiYmJidHN0d3NiYmJiYmJiYmJiYmJiYnNzc3R3Tk4lJSVOTk5OTk4sTixOMTExMTExMTExMU5OTk5OTk5MTExMTExMTExMTExMTExMTExMTExMTExMTE5OTk5OTkxMTExMTExMTExMTExMTExMTExMTExMTExMTk5OTmJiYmJiYnNiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYixOJSUlJU5OTk5MTk5OTk4lJTExTkxOTk4xTE5OTk5OTExMTExMTExMTExMTExMTExMTExMTExOTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTE5cIlxuICAvLyBDaGFyYWN0ZXIgdHlwZXMgZm9yIGNvZGVwb2ludHMgMHg2MDAgdG8gMHg2ZjlcbiAgbGV0IGFyYWJpY1R5cGVzID0gXCJubm5ubm5OTnIlJXIsck5ObW1tbW1tbW1tbW1ycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJtbW1tbW1tbW1tbW1tbW1tbW1tbW1ubm5ubm5ubm5uJW5ucnJybXJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJybW1tbW1tbW5ObW1tbW1tcnJtbU5tbW1tcnIxMTExMTExMTExXCJcbiAgZnVuY3Rpb24gY2hhclR5cGUoY29kZSkge1xuICAgIGlmIChjb2RlIDw9IDB4ZjcpIHJldHVybiBsb3dUeXBlcy5jaGFyQXQoY29kZSlcbiAgICBlbHNlIGlmICgweDU5MCA8PSBjb2RlICYmIGNvZGUgPD0gMHg1ZjQpIHJldHVybiBcIlJcIlxuICAgIGVsc2UgaWYgKDB4NjAwIDw9IGNvZGUgJiYgY29kZSA8PSAweDZmOSkgcmV0dXJuIGFyYWJpY1R5cGVzLmNoYXJBdChjb2RlIC0gMHg2MDApXG4gICAgZWxzZSBpZiAoMHg2ZWUgPD0gY29kZSAmJiBjb2RlIDw9IDB4OGFjKSByZXR1cm4gXCJyXCJcbiAgICBlbHNlIGlmICgweDIwMDAgPD0gY29kZSAmJiBjb2RlIDw9IDB4MjAwYikgcmV0dXJuIFwid1wiXG4gICAgZWxzZSBpZiAoY29kZSA9PSAweDIwMGMpIHJldHVybiBcImJcIlxuICAgIGVsc2UgcmV0dXJuIFwiTFwiXG4gIH1cblxuICBsZXQgYmlkaVJFID0gL1tcXHUwNTkwLVxcdTA1ZjRcXHUwNjAwLVxcdTA2ZmZcXHUwNzAwLVxcdTA4YWNdL1xuICBsZXQgaXNOZXV0cmFsID0gL1tzdHdOXS8sIGlzU3Ryb25nID0gL1tMUnJdLywgY291bnRzQXNMZWZ0ID0gL1tMYjFuXS8sIGNvdW50c0FzTnVtID0gL1sxbl0vXG5cbiAgZnVuY3Rpb24gQmlkaVNwYW4obGV2ZWwsIGZyb20sIHRvKSB7XG4gICAgdGhpcy5sZXZlbCA9IGxldmVsXG4gICAgdGhpcy5mcm9tID0gZnJvbTsgdGhpcy50byA9IHRvXG4gIH1cblxuICByZXR1cm4gZnVuY3Rpb24oc3RyLCBkaXJlY3Rpb24pIHtcbiAgICBsZXQgb3V0ZXJUeXBlID0gZGlyZWN0aW9uID09IFwibHRyXCIgPyBcIkxcIiA6IFwiUlwiXG5cbiAgICBpZiAoc3RyLmxlbmd0aCA9PSAwIHx8IGRpcmVjdGlvbiA9PSBcImx0clwiICYmICFiaWRpUkUudGVzdChzdHIpKSByZXR1cm4gZmFsc2VcbiAgICBsZXQgbGVuID0gc3RyLmxlbmd0aCwgdHlwZXMgPSBbXVxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGVuOyArK2kpXG4gICAgICB0eXBlcy5wdXNoKGNoYXJUeXBlKHN0ci5jaGFyQ29kZUF0KGkpKSlcblxuICAgIC8vIFcxLiBFeGFtaW5lIGVhY2ggbm9uLXNwYWNpbmcgbWFyayAoTlNNKSBpbiB0aGUgbGV2ZWwgcnVuLCBhbmRcbiAgICAvLyBjaGFuZ2UgdGhlIHR5cGUgb2YgdGhlIE5TTSB0byB0aGUgdHlwZSBvZiB0aGUgcHJldmlvdXNcbiAgICAvLyBjaGFyYWN0ZXIuIElmIHRoZSBOU00gaXMgYXQgdGhlIHN0YXJ0IG9mIHRoZSBsZXZlbCBydW4sIGl0IHdpbGxcbiAgICAvLyBnZXQgdGhlIHR5cGUgb2Ygc29yLlxuICAgIGZvciAobGV0IGkgPSAwLCBwcmV2ID0gb3V0ZXJUeXBlOyBpIDwgbGVuOyArK2kpIHtcbiAgICAgIGxldCB0eXBlID0gdHlwZXNbaV1cbiAgICAgIGlmICh0eXBlID09IFwibVwiKSB0eXBlc1tpXSA9IHByZXZcbiAgICAgIGVsc2UgcHJldiA9IHR5cGVcbiAgICB9XG5cbiAgICAvLyBXMi4gU2VhcmNoIGJhY2t3YXJkcyBmcm9tIGVhY2ggaW5zdGFuY2Ugb2YgYSBFdXJvcGVhbiBudW1iZXJcbiAgICAvLyB1bnRpbCB0aGUgZmlyc3Qgc3Ryb25nIHR5cGUgKFIsIEwsIEFMLCBvciBzb3IpIGlzIGZvdW5kLiBJZiBhblxuICAgIC8vIEFMIGlzIGZvdW5kLCBjaGFuZ2UgdGhlIHR5cGUgb2YgdGhlIEV1cm9wZWFuIG51bWJlciB0byBBcmFiaWNcbiAgICAvLyBudW1iZXIuXG4gICAgLy8gVzMuIENoYW5nZSBhbGwgQUxzIHRvIFIuXG4gICAgZm9yIChsZXQgaSA9IDAsIGN1ciA9IG91dGVyVHlwZTsgaSA8IGxlbjsgKytpKSB7XG4gICAgICBsZXQgdHlwZSA9IHR5cGVzW2ldXG4gICAgICBpZiAodHlwZSA9PSBcIjFcIiAmJiBjdXIgPT0gXCJyXCIpIHR5cGVzW2ldID0gXCJuXCJcbiAgICAgIGVsc2UgaWYgKGlzU3Ryb25nLnRlc3QodHlwZSkpIHsgY3VyID0gdHlwZTsgaWYgKHR5cGUgPT0gXCJyXCIpIHR5cGVzW2ldID0gXCJSXCIgfVxuICAgIH1cblxuICAgIC8vIFc0LiBBIHNpbmdsZSBFdXJvcGVhbiBzZXBhcmF0b3IgYmV0d2VlbiB0d28gRXVyb3BlYW4gbnVtYmVyc1xuICAgIC8vIGNoYW5nZXMgdG8gYSBFdXJvcGVhbiBudW1iZXIuIEEgc2luZ2xlIGNvbW1vbiBzZXBhcmF0b3IgYmV0d2VlblxuICAgIC8vIHR3byBudW1iZXJzIG9mIHRoZSBzYW1lIHR5cGUgY2hhbmdlcyB0byB0aGF0IHR5cGUuXG4gICAgZm9yIChsZXQgaSA9IDEsIHByZXYgPSB0eXBlc1swXTsgaSA8IGxlbiAtIDE7ICsraSkge1xuICAgICAgbGV0IHR5cGUgPSB0eXBlc1tpXVxuICAgICAgaWYgKHR5cGUgPT0gXCIrXCIgJiYgcHJldiA9PSBcIjFcIiAmJiB0eXBlc1tpKzFdID09IFwiMVwiKSB0eXBlc1tpXSA9IFwiMVwiXG4gICAgICBlbHNlIGlmICh0eXBlID09IFwiLFwiICYmIHByZXYgPT0gdHlwZXNbaSsxXSAmJlxuICAgICAgICAgICAgICAgKHByZXYgPT0gXCIxXCIgfHwgcHJldiA9PSBcIm5cIikpIHR5cGVzW2ldID0gcHJldlxuICAgICAgcHJldiA9IHR5cGVcbiAgICB9XG5cbiAgICAvLyBXNS4gQSBzZXF1ZW5jZSBvZiBFdXJvcGVhbiB0ZXJtaW5hdG9ycyBhZGphY2VudCB0byBFdXJvcGVhblxuICAgIC8vIG51bWJlcnMgY2hhbmdlcyB0byBhbGwgRXVyb3BlYW4gbnVtYmVycy5cbiAgICAvLyBXNi4gT3RoZXJ3aXNlLCBzZXBhcmF0b3JzIGFuZCB0ZXJtaW5hdG9ycyBjaGFuZ2UgdG8gT3RoZXJcbiAgICAvLyBOZXV0cmFsLlxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGVuOyArK2kpIHtcbiAgICAgIGxldCB0eXBlID0gdHlwZXNbaV1cbiAgICAgIGlmICh0eXBlID09IFwiLFwiKSB0eXBlc1tpXSA9IFwiTlwiXG4gICAgICBlbHNlIGlmICh0eXBlID09IFwiJVwiKSB7XG4gICAgICAgIGxldCBlbmRcbiAgICAgICAgZm9yIChlbmQgPSBpICsgMTsgZW5kIDwgbGVuICYmIHR5cGVzW2VuZF0gPT0gXCIlXCI7ICsrZW5kKSB7fVxuICAgICAgICBsZXQgcmVwbGFjZSA9IChpICYmIHR5cGVzW2ktMV0gPT0gXCIhXCIpIHx8IChlbmQgPCBsZW4gJiYgdHlwZXNbZW5kXSA9PSBcIjFcIikgPyBcIjFcIiA6IFwiTlwiXG4gICAgICAgIGZvciAobGV0IGogPSBpOyBqIDwgZW5kOyArK2opIHR5cGVzW2pdID0gcmVwbGFjZVxuICAgICAgICBpID0gZW5kIC0gMVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFc3LiBTZWFyY2ggYmFja3dhcmRzIGZyb20gZWFjaCBpbnN0YW5jZSBvZiBhIEV1cm9wZWFuIG51bWJlclxuICAgIC8vIHVudGlsIHRoZSBmaXJzdCBzdHJvbmcgdHlwZSAoUiwgTCwgb3Igc29yKSBpcyBmb3VuZC4gSWYgYW4gTCBpc1xuICAgIC8vIGZvdW5kLCB0aGVuIGNoYW5nZSB0aGUgdHlwZSBvZiB0aGUgRXVyb3BlYW4gbnVtYmVyIHRvIEwuXG4gICAgZm9yIChsZXQgaSA9IDAsIGN1ciA9IG91dGVyVHlwZTsgaSA8IGxlbjsgKytpKSB7XG4gICAgICBsZXQgdHlwZSA9IHR5cGVzW2ldXG4gICAgICBpZiAoY3VyID09IFwiTFwiICYmIHR5cGUgPT0gXCIxXCIpIHR5cGVzW2ldID0gXCJMXCJcbiAgICAgIGVsc2UgaWYgKGlzU3Ryb25nLnRlc3QodHlwZSkpIGN1ciA9IHR5cGVcbiAgICB9XG5cbiAgICAvLyBOMS4gQSBzZXF1ZW5jZSBvZiBuZXV0cmFscyB0YWtlcyB0aGUgZGlyZWN0aW9uIG9mIHRoZVxuICAgIC8vIHN1cnJvdW5kaW5nIHN0cm9uZyB0ZXh0IGlmIHRoZSB0ZXh0IG9uIGJvdGggc2lkZXMgaGFzIHRoZSBzYW1lXG4gICAgLy8gZGlyZWN0aW9uLiBFdXJvcGVhbiBhbmQgQXJhYmljIG51bWJlcnMgYWN0IGFzIGlmIHRoZXkgd2VyZSBSIGluXG4gICAgLy8gdGVybXMgb2YgdGhlaXIgaW5mbHVlbmNlIG9uIG5ldXRyYWxzLiBTdGFydC1vZi1sZXZlbC1ydW4gKHNvcilcbiAgICAvLyBhbmQgZW5kLW9mLWxldmVsLXJ1biAoZW9yKSBhcmUgdXNlZCBhdCBsZXZlbCBydW4gYm91bmRhcmllcy5cbiAgICAvLyBOMi4gQW55IHJlbWFpbmluZyBuZXV0cmFscyB0YWtlIHRoZSBlbWJlZGRpbmcgZGlyZWN0aW9uLlxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGVuOyArK2kpIHtcbiAgICAgIGlmIChpc05ldXRyYWwudGVzdCh0eXBlc1tpXSkpIHtcbiAgICAgICAgbGV0IGVuZFxuICAgICAgICBmb3IgKGVuZCA9IGkgKyAxOyBlbmQgPCBsZW4gJiYgaXNOZXV0cmFsLnRlc3QodHlwZXNbZW5kXSk7ICsrZW5kKSB7fVxuICAgICAgICBsZXQgYmVmb3JlID0gKGkgPyB0eXBlc1tpLTFdIDogb3V0ZXJUeXBlKSA9PSBcIkxcIlxuICAgICAgICBsZXQgYWZ0ZXIgPSAoZW5kIDwgbGVuID8gdHlwZXNbZW5kXSA6IG91dGVyVHlwZSkgPT0gXCJMXCJcbiAgICAgICAgbGV0IHJlcGxhY2UgPSBiZWZvcmUgPT0gYWZ0ZXIgPyAoYmVmb3JlID8gXCJMXCIgOiBcIlJcIikgOiBvdXRlclR5cGVcbiAgICAgICAgZm9yIChsZXQgaiA9IGk7IGogPCBlbmQ7ICsraikgdHlwZXNbal0gPSByZXBsYWNlXG4gICAgICAgIGkgPSBlbmQgLSAxXG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSGVyZSB3ZSBkZXBhcnQgZnJvbSB0aGUgZG9jdW1lbnRlZCBhbGdvcml0aG0sIGluIG9yZGVyIHRvIGF2b2lkXG4gICAgLy8gYnVpbGRpbmcgdXAgYW4gYWN0dWFsIGxldmVscyBhcnJheS4gU2luY2UgdGhlcmUgYXJlIG9ubHkgdGhyZWVcbiAgICAvLyBsZXZlbHMgKDAsIDEsIDIpIGluIGFuIGltcGxlbWVudGF0aW9uIHRoYXQgZG9lc24ndCB0YWtlXG4gICAgLy8gZXhwbGljaXQgZW1iZWRkaW5nIGludG8gYWNjb3VudCwgd2UgY2FuIGJ1aWxkIHVwIHRoZSBvcmRlciBvblxuICAgIC8vIHRoZSBmbHksIHdpdGhvdXQgZm9sbG93aW5nIHRoZSBsZXZlbC1iYXNlZCBhbGdvcml0aG0uXG4gICAgbGV0IG9yZGVyID0gW10sIG1cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxlbjspIHtcbiAgICAgIGlmIChjb3VudHNBc0xlZnQudGVzdCh0eXBlc1tpXSkpIHtcbiAgICAgICAgbGV0IHN0YXJ0ID0gaVxuICAgICAgICBmb3IgKCsraTsgaSA8IGxlbiAmJiBjb3VudHNBc0xlZnQudGVzdCh0eXBlc1tpXSk7ICsraSkge31cbiAgICAgICAgb3JkZXIucHVzaChuZXcgQmlkaVNwYW4oMCwgc3RhcnQsIGkpKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbGV0IHBvcyA9IGksIGF0ID0gb3JkZXIubGVuZ3RoXG4gICAgICAgIGZvciAoKytpOyBpIDwgbGVuICYmIHR5cGVzW2ldICE9IFwiTFwiOyArK2kpIHt9XG4gICAgICAgIGZvciAobGV0IGogPSBwb3M7IGogPCBpOykge1xuICAgICAgICAgIGlmIChjb3VudHNBc051bS50ZXN0KHR5cGVzW2pdKSkge1xuICAgICAgICAgICAgaWYgKHBvcyA8IGopIG9yZGVyLnNwbGljZShhdCwgMCwgbmV3IEJpZGlTcGFuKDEsIHBvcywgaikpXG4gICAgICAgICAgICBsZXQgbnN0YXJ0ID0galxuICAgICAgICAgICAgZm9yICgrK2o7IGogPCBpICYmIGNvdW50c0FzTnVtLnRlc3QodHlwZXNbal0pOyArK2opIHt9XG4gICAgICAgICAgICBvcmRlci5zcGxpY2UoYXQsIDAsIG5ldyBCaWRpU3BhbigyLCBuc3RhcnQsIGopKVxuICAgICAgICAgICAgcG9zID0galxuICAgICAgICAgIH0gZWxzZSArK2pcbiAgICAgICAgfVxuICAgICAgICBpZiAocG9zIDwgaSkgb3JkZXIuc3BsaWNlKGF0LCAwLCBuZXcgQmlkaVNwYW4oMSwgcG9zLCBpKSlcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKGRpcmVjdGlvbiA9PSBcImx0clwiKSB7XG4gICAgICBpZiAob3JkZXJbMF0ubGV2ZWwgPT0gMSAmJiAobSA9IHN0ci5tYXRjaCgvXlxccysvKSkpIHtcbiAgICAgICAgb3JkZXJbMF0uZnJvbSA9IG1bMF0ubGVuZ3RoXG4gICAgICAgIG9yZGVyLnVuc2hpZnQobmV3IEJpZGlTcGFuKDAsIDAsIG1bMF0ubGVuZ3RoKSlcbiAgICAgIH1cbiAgICAgIGlmIChsc3Qob3JkZXIpLmxldmVsID09IDEgJiYgKG0gPSBzdHIubWF0Y2goL1xccyskLykpKSB7XG4gICAgICAgIGxzdChvcmRlcikudG8gLT0gbVswXS5sZW5ndGhcbiAgICAgICAgb3JkZXIucHVzaChuZXcgQmlkaVNwYW4oMCwgbGVuIC0gbVswXS5sZW5ndGgsIGxlbikpXG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGRpcmVjdGlvbiA9PSBcInJ0bFwiID8gb3JkZXIucmV2ZXJzZSgpIDogb3JkZXJcbiAgfVxufSkoKVxuXG4vLyBHZXQgdGhlIGJpZGkgb3JkZXJpbmcgZm9yIHRoZSBnaXZlbiBsaW5lIChhbmQgY2FjaGUgaXQpLiBSZXR1cm5zXG4vLyBmYWxzZSBmb3IgbGluZXMgdGhhdCBhcmUgZnVsbHkgbGVmdC10by1yaWdodCwgYW5kIGFuIGFycmF5IG9mXG4vLyBCaWRpU3BhbiBvYmplY3RzIG90aGVyd2lzZS5cbmV4cG9ydCBmdW5jdGlvbiBnZXRPcmRlcihsaW5lLCBkaXJlY3Rpb24pIHtcbiAgbGV0IG9yZGVyID0gbGluZS5vcmRlclxuICBpZiAob3JkZXIgPT0gbnVsbCkgb3JkZXIgPSBsaW5lLm9yZGVyID0gYmlkaU9yZGVyaW5nKGxpbmUudGV4dCwgZGlyZWN0aW9uKVxuICByZXR1cm4gb3JkZXJcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFHQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBT0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQURBO0FBQ0E7QUFDQTtBQUVBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBREE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQURBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBREE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBREE7QUFDQTtBQUNBO0FBRUE7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQURBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQURBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQURBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/codemirror/src/util/bidi.js\n"); /***/ }), /***/ "./node_modules/codemirror/src/util/browser.js": /*!*****************************************************!*\ !*** ./node_modules/codemirror/src/util/browser.js ***! \*****************************************************/ /*! exports provided: gecko, ie, ie_version, webkit, chrome, presto, safari, mac_geMountainLion, phantom, ios, android, mobile, mac, chromeOS, windows, flipCtrlCmd, captureRightClick */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"gecko\", function() { return gecko; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ie\", function() { return ie; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ie_version\", function() { return ie_version; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"webkit\", function() { return webkit; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"chrome\", function() { return chrome; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"presto\", function() { return presto; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"safari\", function() { return safari; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"mac_geMountainLion\", function() { return mac_geMountainLion; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"phantom\", function() { return phantom; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ios\", function() { return ios; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"android\", function() { return android; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"mobile\", function() { return mobile; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"mac\", function() { return mac; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"chromeOS\", function() { return chromeOS; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"windows\", function() { return windows; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"flipCtrlCmd\", function() { return flipCtrlCmd; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"captureRightClick\", function() { return captureRightClick; });\n// Kludges for bugs and behavior differences that can't be feature\n// detected are enabled based on userAgent etc sniffing.\nlet userAgent = navigator.userAgent;\nlet platform = navigator.platform;\nlet gecko = /gecko\\/\\d/i.test(userAgent);\nlet ie_upto10 = /MSIE \\d/.test(userAgent);\nlet ie_11up = /Trident\\/(?:[7-9]|\\d{2,})\\..*rv:(\\d+)/.exec(userAgent);\nlet edge = /Edge\\/(\\d+)/.exec(userAgent);\nlet ie = ie_upto10 || ie_11up || edge;\nlet ie_version = ie && (ie_upto10 ? document.documentMode || 6 : +(edge || ie_11up)[1]);\nlet webkit = !edge && /WebKit\\//.test(userAgent);\nlet qtwebkit = webkit && /Qt\\/\\d+\\.\\d+/.test(userAgent);\nlet chrome = !edge && /Chrome\\//.test(userAgent);\nlet presto = /Opera\\//.test(userAgent);\nlet safari = /Apple Computer/.test(navigator.vendor);\nlet mac_geMountainLion = /Mac OS X 1\\d\\D([8-9]|\\d\\d)\\D/.test(userAgent);\nlet phantom = /PhantomJS/.test(userAgent);\nlet ios = !edge && /AppleWebKit/.test(userAgent) && /Mobile\\/\\w+/.test(userAgent);\nlet android = /Android/.test(userAgent); // This is woefully incomplete. Suggestions for alternative methods welcome.\n\nlet mobile = ios || android || /webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(userAgent);\nlet mac = ios || /Mac/.test(platform);\nlet chromeOS = /\\bCrOS\\b/.test(userAgent);\nlet windows = /win/i.test(platform);\nlet presto_version = presto && userAgent.match(/Version\\/(\\d*\\.\\d*)/);\nif (presto_version) presto_version = Number(presto_version[1]);\n\nif (presto_version && presto_version >= 15) {\n presto = false;\n webkit = true;\n} // Some browsers use the wrong event properties to signal cmd/ctrl on OS X\n\n\nlet flipCtrlCmd = mac && (qtwebkit || presto && (presto_version == null || presto_version < 12.11));\nlet captureRightClick = gecko || ie && ie_version >= 9;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9zcmMvdXRpbC9icm93c2VyLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvZGVtaXJyb3Ivc3JjL3V0aWwvYnJvd3Nlci5qcz9hOTJlIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIEtsdWRnZXMgZm9yIGJ1Z3MgYW5kIGJlaGF2aW9yIGRpZmZlcmVuY2VzIHRoYXQgY2FuJ3QgYmUgZmVhdHVyZVxuLy8gZGV0ZWN0ZWQgYXJlIGVuYWJsZWQgYmFzZWQgb24gdXNlckFnZW50IGV0YyBzbmlmZmluZy5cbmxldCB1c2VyQWdlbnQgPSBuYXZpZ2F0b3IudXNlckFnZW50XG5sZXQgcGxhdGZvcm0gPSBuYXZpZ2F0b3IucGxhdGZvcm1cblxuZXhwb3J0IGxldCBnZWNrbyA9IC9nZWNrb1xcL1xcZC9pLnRlc3QodXNlckFnZW50KVxubGV0IGllX3VwdG8xMCA9IC9NU0lFIFxcZC8udGVzdCh1c2VyQWdlbnQpXG5sZXQgaWVfMTF1cCA9IC9UcmlkZW50XFwvKD86WzctOV18XFxkezIsfSlcXC4uKnJ2OihcXGQrKS8uZXhlYyh1c2VyQWdlbnQpXG5sZXQgZWRnZSA9IC9FZGdlXFwvKFxcZCspLy5leGVjKHVzZXJBZ2VudClcbmV4cG9ydCBsZXQgaWUgPSBpZV91cHRvMTAgfHwgaWVfMTF1cCB8fCBlZGdlXG5leHBvcnQgbGV0IGllX3ZlcnNpb24gPSBpZSAmJiAoaWVfdXB0bzEwID8gZG9jdW1lbnQuZG9jdW1lbnRNb2RlIHx8IDYgOiArKGVkZ2UgfHwgaWVfMTF1cClbMV0pXG5leHBvcnQgbGV0IHdlYmtpdCA9ICFlZGdlICYmIC9XZWJLaXRcXC8vLnRlc3QodXNlckFnZW50KVxubGV0IHF0d2Via2l0ID0gd2Via2l0ICYmIC9RdFxcL1xcZCtcXC5cXGQrLy50ZXN0KHVzZXJBZ2VudClcbmV4cG9ydCBsZXQgY2hyb21lID0gIWVkZ2UgJiYgL0Nocm9tZVxcLy8udGVzdCh1c2VyQWdlbnQpXG5leHBvcnQgbGV0IHByZXN0byA9IC9PcGVyYVxcLy8udGVzdCh1c2VyQWdlbnQpXG5leHBvcnQgbGV0IHNhZmFyaSA9IC9BcHBsZSBDb21wdXRlci8udGVzdChuYXZpZ2F0b3IudmVuZG9yKVxuZXhwb3J0IGxldCBtYWNfZ2VNb3VudGFpbkxpb24gPSAvTWFjIE9TIFggMVxcZFxcRChbOC05XXxcXGRcXGQpXFxELy50ZXN0KHVzZXJBZ2VudClcbmV4cG9ydCBsZXQgcGhhbnRvbSA9IC9QaGFudG9tSlMvLnRlc3QodXNlckFnZW50KVxuXG5leHBvcnQgbGV0IGlvcyA9ICFlZGdlICYmIC9BcHBsZVdlYktpdC8udGVzdCh1c2VyQWdlbnQpICYmIC9Nb2JpbGVcXC9cXHcrLy50ZXN0KHVzZXJBZ2VudClcbmV4cG9ydCBsZXQgYW5kcm9pZCA9IC9BbmRyb2lkLy50ZXN0KHVzZXJBZ2VudClcbi8vIFRoaXMgaXMgd29lZnVsbHkgaW5jb21wbGV0ZS4gU3VnZ2VzdGlvbnMgZm9yIGFsdGVybmF0aXZlIG1ldGhvZHMgd2VsY29tZS5cbmV4cG9ydCBsZXQgbW9iaWxlID0gaW9zIHx8IGFuZHJvaWQgfHwgL3dlYk9TfEJsYWNrQmVycnl8T3BlcmEgTWluaXxPcGVyYSBNb2JpfElFTW9iaWxlL2kudGVzdCh1c2VyQWdlbnQpXG5leHBvcnQgbGV0IG1hYyA9IGlvcyB8fCAvTWFjLy50ZXN0KHBsYXRmb3JtKVxuZXhwb3J0IGxldCBjaHJvbWVPUyA9IC9cXGJDck9TXFxiLy50ZXN0KHVzZXJBZ2VudClcbmV4cG9ydCBsZXQgd2luZG93cyA9IC93aW4vaS50ZXN0KHBsYXRmb3JtKVxuXG5sZXQgcHJlc3RvX3ZlcnNpb24gPSBwcmVzdG8gJiYgdXNlckFnZW50Lm1hdGNoKC9WZXJzaW9uXFwvKFxcZCpcXC5cXGQqKS8pXG5pZiAocHJlc3RvX3ZlcnNpb24pIHByZXN0b192ZXJzaW9uID0gTnVtYmVyKHByZXN0b192ZXJzaW9uWzFdKVxuaWYgKHByZXN0b192ZXJzaW9uICYmIHByZXN0b192ZXJzaW9uID49IDE1KSB7IHByZXN0byA9IGZhbHNlOyB3ZWJraXQgPSB0cnVlIH1cbi8vIFNvbWUgYnJvd3NlcnMgdXNlIHRoZSB3cm9uZyBldmVudCBwcm9wZXJ0aWVzIHRvIHNpZ25hbCBjbWQvY3RybCBvbiBPUyBYXG5leHBvcnQgbGV0IGZsaXBDdHJsQ21kID0gbWFjICYmIChxdHdlYmtpdCB8fCBwcmVzdG8gJiYgKHByZXN0b192ZXJzaW9uID09IG51bGwgfHwgcHJlc3RvX3ZlcnNpb24gPCAxMi4xMSkpXG5leHBvcnQgbGV0IGNhcHR1cmVSaWdodENsaWNrID0gZ2Vja28gfHwgKGllICYmIGllX3ZlcnNpb24gPj0gOSlcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/codemirror/src/util/browser.js\n"); /***/ }), /***/ "./node_modules/codemirror/src/util/dom.js": /*!*************************************************!*\ !*** ./node_modules/codemirror/src/util/dom.js ***! \*************************************************/ /*! exports provided: classTest, rmClass, removeChildren, removeChildrenAndAdd, elt, eltP, range, contains, activeElt, addClass, joinClasses, selectInput */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"classTest\", function() { return classTest; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"rmClass\", function() { return rmClass; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"removeChildren\", function() { return removeChildren; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"removeChildrenAndAdd\", function() { return removeChildrenAndAdd; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"elt\", function() { return elt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"eltP\", function() { return eltP; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"range\", function() { return range; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"contains\", function() { return contains; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"activeElt\", function() { return activeElt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"addClass\", function() { return addClass; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"joinClasses\", function() { return joinClasses; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"selectInput\", function() { return selectInput; });\n/* harmony import */ var _browser_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./browser.js */ \"./node_modules/codemirror/src/util/browser.js\");\n\nfunction classTest(cls) {\n return new RegExp(\"(^|\\\\s)\" + cls + \"(?:$|\\\\s)\\\\s*\");\n}\nlet rmClass = function (node, cls) {\n let current = node.className;\n let match = classTest(cls).exec(current);\n\n if (match) {\n let after = current.slice(match.index + match[0].length);\n node.className = current.slice(0, match.index) + (after ? match[1] + after : \"\");\n }\n};\nfunction removeChildren(e) {\n for (let count = e.childNodes.length; count > 0; --count) e.removeChild(e.firstChild);\n\n return e;\n}\nfunction removeChildrenAndAdd(parent, e) {\n return removeChildren(parent).appendChild(e);\n}\nfunction elt(tag, content, className, style) {\n let e = document.createElement(tag);\n if (className) e.className = className;\n if (style) e.style.cssText = style;\n if (typeof content == \"string\") e.appendChild(document.createTextNode(content));else if (content) for (let i = 0; i < content.length; ++i) e.appendChild(content[i]);\n return e;\n} // wrapper for elt, which removes the elt from the accessibility tree\n\nfunction eltP(tag, content, className, style) {\n let e = elt(tag, content, className, style);\n e.setAttribute(\"role\", \"presentation\");\n return e;\n}\nlet range;\nif (document.createRange) range = function (node, start, end, endNode) {\n let r = document.createRange();\n r.setEnd(endNode || node, end);\n r.setStart(node, start);\n return r;\n};else range = function (node, start, end) {\n let r = document.body.createTextRange();\n\n try {\n r.moveToElementText(node.parentNode);\n } catch (e) {\n return r;\n }\n\n r.collapse(true);\n r.moveEnd(\"character\", end);\n r.moveStart(\"character\", start);\n return r;\n};\nfunction contains(parent, child) {\n if (child.nodeType == 3) // Android browser always returns false when child is a textnode\n child = child.parentNode;\n if (parent.contains) return parent.contains(child);\n\n do {\n if (child.nodeType == 11) child = child.host;\n if (child == parent) return true;\n } while (child = child.parentNode);\n}\nfunction activeElt() {\n // IE and Edge may throw an \"Unspecified Error\" when accessing document.activeElement.\n // IE < 10 will throw when accessed while the page is loading or in an iframe.\n // IE > 9 and Edge will throw when accessed in an iframe if document.body is unavailable.\n let activeElement;\n\n try {\n activeElement = document.activeElement;\n } catch (e) {\n activeElement = document.body || null;\n }\n\n while (activeElement && activeElement.shadowRoot && activeElement.shadowRoot.activeElement) activeElement = activeElement.shadowRoot.activeElement;\n\n return activeElement;\n}\nfunction addClass(node, cls) {\n let current = node.className;\n if (!classTest(cls).test(current)) node.className += (current ? \" \" : \"\") + cls;\n}\nfunction joinClasses(a, b) {\n let as = a.split(\" \");\n\n for (let i = 0; i < as.length; i++) if (as[i] && !classTest(as[i]).test(b)) b += \" \" + as[i];\n\n return b;\n}\nlet selectInput = function (node) {\n node.select();\n};\nif (_browser_js__WEBPACK_IMPORTED_MODULE_0__[\"ios\"]) // Mobile Safari apparently has a bug where select() is broken.\n selectInput = function (node) {\n node.selectionStart = 0;\n node.selectionEnd = node.value.length;\n };else if (_browser_js__WEBPACK_IMPORTED_MODULE_0__[\"ie\"]) // Suppress mysterious IE10 errors\n selectInput = function (node) {\n try {\n node.select();\n } catch (_e) {}\n };//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9zcmMvdXRpbC9kb20uanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9zcmMvdXRpbC9kb20uanM/NjQwMyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpZSwgaW9zIH0gZnJvbSBcIi4vYnJvd3Nlci5qc1wiXG5cbmV4cG9ydCBmdW5jdGlvbiBjbGFzc1Rlc3QoY2xzKSB7IHJldHVybiBuZXcgUmVnRXhwKFwiKF58XFxcXHMpXCIgKyBjbHMgKyBcIig/OiR8XFxcXHMpXFxcXHMqXCIpIH1cblxuZXhwb3J0IGxldCBybUNsYXNzID0gZnVuY3Rpb24obm9kZSwgY2xzKSB7XG4gIGxldCBjdXJyZW50ID0gbm9kZS5jbGFzc05hbWVcbiAgbGV0IG1hdGNoID0gY2xhc3NUZXN0KGNscykuZXhlYyhjdXJyZW50KVxuICBpZiAobWF0Y2gpIHtcbiAgICBsZXQgYWZ0ZXIgPSBjdXJyZW50LnNsaWNlKG1hdGNoLmluZGV4ICsgbWF0Y2hbMF0ubGVuZ3RoKVxuICAgIG5vZGUuY2xhc3NOYW1lID0gY3VycmVudC5zbGljZSgwLCBtYXRjaC5pbmRleCkgKyAoYWZ0ZXIgPyBtYXRjaFsxXSArIGFmdGVyIDogXCJcIilcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVtb3ZlQ2hpbGRyZW4oZSkge1xuICBmb3IgKGxldCBjb3VudCA9IGUuY2hpbGROb2Rlcy5sZW5ndGg7IGNvdW50ID4gMDsgLS1jb3VudClcbiAgICBlLnJlbW92ZUNoaWxkKGUuZmlyc3RDaGlsZClcbiAgcmV0dXJuIGVcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZUNoaWxkcmVuQW5kQWRkKHBhcmVudCwgZSkge1xuICByZXR1cm4gcmVtb3ZlQ2hpbGRyZW4ocGFyZW50KS5hcHBlbmRDaGlsZChlKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZWx0KHRhZywgY29udGVudCwgY2xhc3NOYW1lLCBzdHlsZSkge1xuICBsZXQgZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnKVxuICBpZiAoY2xhc3NOYW1lKSBlLmNsYXNzTmFtZSA9IGNsYXNzTmFtZVxuICBpZiAoc3R5bGUpIGUuc3R5bGUuY3NzVGV4dCA9IHN0eWxlXG4gIGlmICh0eXBlb2YgY29udGVudCA9PSBcInN0cmluZ1wiKSBlLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGNvbnRlbnQpKVxuICBlbHNlIGlmIChjb250ZW50KSBmb3IgKGxldCBpID0gMDsgaSA8IGNvbnRlbnQubGVuZ3RoOyArK2kpIGUuYXBwZW5kQ2hpbGQoY29udGVudFtpXSlcbiAgcmV0dXJuIGVcbn1cbi8vIHdyYXBwZXIgZm9yIGVsdCwgd2hpY2ggcmVtb3ZlcyB0aGUgZWx0IGZyb20gdGhlIGFjY2Vzc2liaWxpdHkgdHJlZVxuZXhwb3J0IGZ1bmN0aW9uIGVsdFAodGFnLCBjb250ZW50LCBjbGFzc05hbWUsIHN0eWxlKSB7XG4gIGxldCBlID0gZWx0KHRhZywgY29udGVudCwgY2xhc3NOYW1lLCBzdHlsZSlcbiAgZS5zZXRBdHRyaWJ1dGUoXCJyb2xlXCIsIFwicHJlc2VudGF0aW9uXCIpXG4gIHJldHVybiBlXG59XG5cbmV4cG9ydCBsZXQgcmFuZ2VcbmlmIChkb2N1bWVudC5jcmVhdGVSYW5nZSkgcmFuZ2UgPSBmdW5jdGlvbihub2RlLCBzdGFydCwgZW5kLCBlbmROb2RlKSB7XG4gIGxldCByID0gZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKVxuICByLnNldEVuZChlbmROb2RlIHx8IG5vZGUsIGVuZClcbiAgci5zZXRTdGFydChub2RlLCBzdGFydClcbiAgcmV0dXJuIHJcbn1cbmVsc2UgcmFuZ2UgPSBmdW5jdGlvbihub2RlLCBzdGFydCwgZW5kKSB7XG4gIGxldCByID0gZG9jdW1lbnQuYm9keS5jcmVhdGVUZXh0UmFuZ2UoKVxuICB0cnkgeyByLm1vdmVUb0VsZW1lbnRUZXh0KG5vZGUucGFyZW50Tm9kZSkgfVxuICBjYXRjaChlKSB7IHJldHVybiByIH1cbiAgci5jb2xsYXBzZSh0cnVlKVxuICByLm1vdmVFbmQoXCJjaGFyYWN0ZXJcIiwgZW5kKVxuICByLm1vdmVTdGFydChcImNoYXJhY3RlclwiLCBzdGFydClcbiAgcmV0dXJuIHJcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNvbnRhaW5zKHBhcmVudCwgY2hpbGQpIHtcbiAgaWYgKGNoaWxkLm5vZGVUeXBlID09IDMpIC8vIEFuZHJvaWQgYnJvd3NlciBhbHdheXMgcmV0dXJucyBmYWxzZSB3aGVuIGNoaWxkIGlzIGEgdGV4dG5vZGVcbiAgICBjaGlsZCA9IGNoaWxkLnBhcmVudE5vZGVcbiAgaWYgKHBhcmVudC5jb250YWlucylcbiAgICByZXR1cm4gcGFyZW50LmNvbnRhaW5zKGNoaWxkKVxuICBkbyB7XG4gICAgaWYgKGNoaWxkLm5vZGVUeXBlID09IDExKSBjaGlsZCA9IGNoaWxkLmhvc3RcbiAgICBpZiAoY2hpbGQgPT0gcGFyZW50KSByZXR1cm4gdHJ1ZVxuICB9IHdoaWxlIChjaGlsZCA9IGNoaWxkLnBhcmVudE5vZGUpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhY3RpdmVFbHQoKSB7XG4gIC8vIElFIGFuZCBFZGdlIG1heSB0aHJvdyBhbiBcIlVuc3BlY2lmaWVkIEVycm9yXCIgd2hlbiBhY2Nlc3NpbmcgZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5cbiAgLy8gSUUgPCAxMCB3aWxsIHRocm93IHdoZW4gYWNjZXNzZWQgd2hpbGUgdGhlIHBhZ2UgaXMgbG9hZGluZyBvciBpbiBhbiBpZnJhbWUuXG4gIC8vIElFID4gOSBhbmQgRWRnZSB3aWxsIHRocm93IHdoZW4gYWNjZXNzZWQgaW4gYW4gaWZyYW1lIGlmIGRvY3VtZW50LmJvZHkgaXMgdW5hdmFpbGFibGUuXG4gIGxldCBhY3RpdmVFbGVtZW50XG4gIHRyeSB7XG4gICAgYWN0aXZlRWxlbWVudCA9IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnRcbiAgfSBjYXRjaChlKSB7XG4gICAgYWN0aXZlRWxlbWVudCA9IGRvY3VtZW50LmJvZHkgfHwgbnVsbFxuICB9XG4gIHdoaWxlIChhY3RpdmVFbGVtZW50ICYmIGFjdGl2ZUVsZW1lbnQuc2hhZG93Um9vdCAmJiBhY3RpdmVFbGVtZW50LnNoYWRvd1Jvb3QuYWN0aXZlRWxlbWVudClcbiAgICBhY3RpdmVFbGVtZW50ID0gYWN0aXZlRWxlbWVudC5zaGFkb3dSb290LmFjdGl2ZUVsZW1lbnRcbiAgcmV0dXJuIGFjdGl2ZUVsZW1lbnRcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFkZENsYXNzKG5vZGUsIGNscykge1xuICBsZXQgY3VycmVudCA9IG5vZGUuY2xhc3NOYW1lXG4gIGlmICghY2xhc3NUZXN0KGNscykudGVzdChjdXJyZW50KSkgbm9kZS5jbGFzc05hbWUgKz0gKGN1cnJlbnQgPyBcIiBcIiA6IFwiXCIpICsgY2xzXG59XG5leHBvcnQgZnVuY3Rpb24gam9pbkNsYXNzZXMoYSwgYikge1xuICBsZXQgYXMgPSBhLnNwbGl0KFwiIFwiKVxuICBmb3IgKGxldCBpID0gMDsgaSA8IGFzLmxlbmd0aDsgaSsrKVxuICAgIGlmIChhc1tpXSAmJiAhY2xhc3NUZXN0KGFzW2ldKS50ZXN0KGIpKSBiICs9IFwiIFwiICsgYXNbaV1cbiAgcmV0dXJuIGJcbn1cblxuZXhwb3J0IGxldCBzZWxlY3RJbnB1dCA9IGZ1bmN0aW9uKG5vZGUpIHsgbm9kZS5zZWxlY3QoKSB9XG5pZiAoaW9zKSAvLyBNb2JpbGUgU2FmYXJpIGFwcGFyZW50bHkgaGFzIGEgYnVnIHdoZXJlIHNlbGVjdCgpIGlzIGJyb2tlbi5cbiAgc2VsZWN0SW5wdXQgPSBmdW5jdGlvbihub2RlKSB7IG5vZGUuc2VsZWN0aW9uU3RhcnQgPSAwOyBub2RlLnNlbGVjdGlvbkVuZCA9IG5vZGUudmFsdWUubGVuZ3RoIH1cbmVsc2UgaWYgKGllKSAvLyBTdXBwcmVzcyBteXN0ZXJpb3VzIElFMTAgZXJyb3JzXG4gIHNlbGVjdElucHV0ID0gZnVuY3Rpb24obm9kZSkgeyB0cnkgeyBub2RlLnNlbGVjdCgpIH0gY2F0Y2goX2UpIHt9IH1cbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/codemirror/src/util/dom.js\n"); /***/ }), /***/ "./node_modules/codemirror/src/util/event.js": /*!***************************************************!*\ !*** ./node_modules/codemirror/src/util/event.js ***! \***************************************************/ /*! exports provided: on, getHandlers, off, signal, signalDOMEvent, signalCursorActivity, hasHandler, eventMixin, e_preventDefault, e_stopPropagation, e_defaultPrevented, e_stop, e_target, e_button */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"on\", function() { return on; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getHandlers\", function() { return getHandlers; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"off\", function() { return off; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"signal\", function() { return signal; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"signalDOMEvent\", function() { return signalDOMEvent; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"signalCursorActivity\", function() { return signalCursorActivity; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"hasHandler\", function() { return hasHandler; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"eventMixin\", function() { return eventMixin; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"e_preventDefault\", function() { return e_preventDefault; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"e_stopPropagation\", function() { return e_stopPropagation; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"e_defaultPrevented\", function() { return e_defaultPrevented; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"e_stop\", function() { return e_stop; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"e_target\", function() { return e_target; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"e_button\", function() { return e_button; });\n/* harmony import */ var _browser_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./browser.js */ \"./node_modules/codemirror/src/util/browser.js\");\n/* harmony import */ var _misc_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./misc.js */ \"./node_modules/codemirror/src/util/misc.js\");\n\n // EVENT HANDLING\n// Lightweight event framework. on/off also work on DOM nodes,\n// registering native DOM handlers.\n\nconst noHandlers = [];\nlet on = function (emitter, type, f) {\n if (emitter.addEventListener) {\n emitter.addEventListener(type, f, false);\n } else if (emitter.attachEvent) {\n emitter.attachEvent(\"on\" + type, f);\n } else {\n let map = emitter._handlers || (emitter._handlers = {});\n map[type] = (map[type] || noHandlers).concat(f);\n }\n};\nfunction getHandlers(emitter, type) {\n return emitter._handlers && emitter._handlers[type] || noHandlers;\n}\nfunction off(emitter, type, f) {\n if (emitter.removeEventListener) {\n emitter.removeEventListener(type, f, false);\n } else if (emitter.detachEvent) {\n emitter.detachEvent(\"on\" + type, f);\n } else {\n let map = emitter._handlers,\n arr = map && map[type];\n\n if (arr) {\n let index = Object(_misc_js__WEBPACK_IMPORTED_MODULE_1__[\"indexOf\"])(arr, f);\n if (index > -1) map[type] = arr.slice(0, index).concat(arr.slice(index + 1));\n }\n }\n}\nfunction signal(emitter, type\n/*, values...*/\n) {\n let handlers = getHandlers(emitter, type);\n if (!handlers.length) return;\n let args = Array.prototype.slice.call(arguments, 2);\n\n for (let i = 0; i < handlers.length; ++i) handlers[i].apply(null, args);\n} // The DOM events that CodeMirror handles can be overridden by\n// registering a (non-DOM) handler on the editor for the event name,\n// and preventDefault-ing the event in that handler.\n\nfunction signalDOMEvent(cm, e, override) {\n if (typeof e == \"string\") e = {\n type: e,\n preventDefault: function () {\n this.defaultPrevented = true;\n }\n };\n signal(cm, override || e.type, cm, e);\n return e_defaultPrevented(e) || e.codemirrorIgnore;\n}\nfunction signalCursorActivity(cm) {\n let arr = cm._handlers && cm._handlers.cursorActivity;\n if (!arr) return;\n let set = cm.curOp.cursorActivityHandlers || (cm.curOp.cursorActivityHandlers = []);\n\n for (let i = 0; i < arr.length; ++i) if (Object(_misc_js__WEBPACK_IMPORTED_MODULE_1__[\"indexOf\"])(set, arr[i]) == -1) set.push(arr[i]);\n}\nfunction hasHandler(emitter, type) {\n return getHandlers(emitter, type).length > 0;\n} // Add on and off methods to a constructor's prototype, to make\n// registering events on such objects more convenient.\n\nfunction eventMixin(ctor) {\n ctor.prototype.on = function (type, f) {\n on(this, type, f);\n };\n\n ctor.prototype.off = function (type, f) {\n off(this, type, f);\n };\n} // Due to the fact that we still support jurassic IE versions, some\n// compatibility wrappers are needed.\n\nfunction e_preventDefault(e) {\n if (e.preventDefault) e.preventDefault();else e.returnValue = false;\n}\nfunction e_stopPropagation(e) {\n if (e.stopPropagation) e.stopPropagation();else e.cancelBubble = true;\n}\nfunction e_defaultPrevented(e) {\n return e.defaultPrevented != null ? e.defaultPrevented : e.returnValue == false;\n}\nfunction e_stop(e) {\n e_preventDefault(e);\n e_stopPropagation(e);\n}\nfunction e_target(e) {\n return e.target || e.srcElement;\n}\nfunction e_button(e) {\n let b = e.which;\n\n if (b == null) {\n if (e.button & 1) b = 1;else if (e.button & 2) b = 3;else if (e.button & 4) b = 2;\n }\n\n if (_browser_js__WEBPACK_IMPORTED_MODULE_0__[\"mac\"] && e.ctrlKey && b == 1) b = 3;\n return b;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9zcmMvdXRpbC9ldmVudC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb2RlbWlycm9yL3NyYy91dGlsL2V2ZW50LmpzPzljYjEiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbWFjIH0gZnJvbSBcIi4vYnJvd3Nlci5qc1wiXG5pbXBvcnQgeyBpbmRleE9mIH0gZnJvbSBcIi4vbWlzYy5qc1wiXG5cbi8vIEVWRU5UIEhBTkRMSU5HXG5cbi8vIExpZ2h0d2VpZ2h0IGV2ZW50IGZyYW1ld29yay4gb24vb2ZmIGFsc28gd29yayBvbiBET00gbm9kZXMsXG4vLyByZWdpc3RlcmluZyBuYXRpdmUgRE9NIGhhbmRsZXJzLlxuXG5jb25zdCBub0hhbmRsZXJzID0gW11cblxuZXhwb3J0IGxldCBvbiA9IGZ1bmN0aW9uKGVtaXR0ZXIsIHR5cGUsIGYpIHtcbiAgaWYgKGVtaXR0ZXIuYWRkRXZlbnRMaXN0ZW5lcikge1xuICAgIGVtaXR0ZXIuYWRkRXZlbnRMaXN0ZW5lcih0eXBlLCBmLCBmYWxzZSlcbiAgfSBlbHNlIGlmIChlbWl0dGVyLmF0dGFjaEV2ZW50KSB7XG4gICAgZW1pdHRlci5hdHRhY2hFdmVudChcIm9uXCIgKyB0eXBlLCBmKVxuICB9IGVsc2Uge1xuICAgIGxldCBtYXAgPSBlbWl0dGVyLl9oYW5kbGVycyB8fCAoZW1pdHRlci5faGFuZGxlcnMgPSB7fSlcbiAgICBtYXBbdHlwZV0gPSAobWFwW3R5cGVdIHx8IG5vSGFuZGxlcnMpLmNvbmNhdChmKVxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRIYW5kbGVycyhlbWl0dGVyLCB0eXBlKSB7XG4gIHJldHVybiBlbWl0dGVyLl9oYW5kbGVycyAmJiBlbWl0dGVyLl9oYW5kbGVyc1t0eXBlXSB8fCBub0hhbmRsZXJzXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBvZmYoZW1pdHRlciwgdHlwZSwgZikge1xuICBpZiAoZW1pdHRlci5yZW1vdmVFdmVudExpc3RlbmVyKSB7XG4gICAgZW1pdHRlci5yZW1vdmVFdmVudExpc3RlbmVyKHR5cGUsIGYsIGZhbHNlKVxuICB9IGVsc2UgaWYgKGVtaXR0ZXIuZGV0YWNoRXZlbnQpIHtcbiAgICBlbWl0dGVyLmRldGFjaEV2ZW50KFwib25cIiArIHR5cGUsIGYpXG4gIH0gZWxzZSB7XG4gICAgbGV0IG1hcCA9IGVtaXR0ZXIuX2hhbmRsZXJzLCBhcnIgPSBtYXAgJiYgbWFwW3R5cGVdXG4gICAgaWYgKGFycikge1xuICAgICAgbGV0IGluZGV4ID0gaW5kZXhPZihhcnIsIGYpXG4gICAgICBpZiAoaW5kZXggPiAtMSlcbiAgICAgICAgbWFwW3R5cGVdID0gYXJyLnNsaWNlKDAsIGluZGV4KS5jb25jYXQoYXJyLnNsaWNlKGluZGV4ICsgMSkpXG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzaWduYWwoZW1pdHRlciwgdHlwZSAvKiwgdmFsdWVzLi4uKi8pIHtcbiAgbGV0IGhhbmRsZXJzID0gZ2V0SGFuZGxlcnMoZW1pdHRlciwgdHlwZSlcbiAgaWYgKCFoYW5kbGVycy5sZW5ndGgpIHJldHVyblxuICBsZXQgYXJncyA9IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywgMilcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBoYW5kbGVycy5sZW5ndGg7ICsraSkgaGFuZGxlcnNbaV0uYXBwbHkobnVsbCwgYXJncylcbn1cblxuLy8gVGhlIERPTSBldmVudHMgdGhhdCBDb2RlTWlycm9yIGhhbmRsZXMgY2FuIGJlIG92ZXJyaWRkZW4gYnlcbi8vIHJlZ2lzdGVyaW5nIGEgKG5vbi1ET00pIGhhbmRsZXIgb24gdGhlIGVkaXRvciBmb3IgdGhlIGV2ZW50IG5hbWUsXG4vLyBhbmQgcHJldmVudERlZmF1bHQtaW5nIHRoZSBldmVudCBpbiB0aGF0IGhhbmRsZXIuXG5leHBvcnQgZnVuY3Rpb24gc2lnbmFsRE9NRXZlbnQoY20sIGUsIG92ZXJyaWRlKSB7XG4gIGlmICh0eXBlb2YgZSA9PSBcInN0cmluZ1wiKVxuICAgIGUgPSB7dHlwZTogZSwgcHJldmVudERlZmF1bHQ6IGZ1bmN0aW9uKCkgeyB0aGlzLmRlZmF1bHRQcmV2ZW50ZWQgPSB0cnVlIH19XG4gIHNpZ25hbChjbSwgb3ZlcnJpZGUgfHwgZS50eXBlLCBjbSwgZSlcbiAgcmV0dXJuIGVfZGVmYXVsdFByZXZlbnRlZChlKSB8fCBlLmNvZGVtaXJyb3JJZ25vcmVcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNpZ25hbEN1cnNvckFjdGl2aXR5KGNtKSB7XG4gIGxldCBhcnIgPSBjbS5faGFuZGxlcnMgJiYgY20uX2hhbmRsZXJzLmN1cnNvckFjdGl2aXR5XG4gIGlmICghYXJyKSByZXR1cm5cbiAgbGV0IHNldCA9IGNtLmN1ck9wLmN1cnNvckFjdGl2aXR5SGFuZGxlcnMgfHwgKGNtLmN1ck9wLmN1cnNvckFjdGl2aXR5SGFuZGxlcnMgPSBbXSlcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBhcnIubGVuZ3RoOyArK2kpIGlmIChpbmRleE9mKHNldCwgYXJyW2ldKSA9PSAtMSlcbiAgICBzZXQucHVzaChhcnJbaV0pXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYXNIYW5kbGVyKGVtaXR0ZXIsIHR5cGUpIHtcbiAgcmV0dXJuIGdldEhhbmRsZXJzKGVtaXR0ZXIsIHR5cGUpLmxlbmd0aCA+IDBcbn1cblxuLy8gQWRkIG9uIGFuZCBvZmYgbWV0aG9kcyB0byBhIGNvbnN0cnVjdG9yJ3MgcHJvdG90eXBlLCB0byBtYWtlXG4vLyByZWdpc3RlcmluZyBldmVudHMgb24gc3VjaCBvYmplY3RzIG1vcmUgY29udmVuaWVudC5cbmV4cG9ydCBmdW5jdGlvbiBldmVudE1peGluKGN0b3IpIHtcbiAgY3Rvci5wcm90b3R5cGUub24gPSBmdW5jdGlvbih0eXBlLCBmKSB7b24odGhpcywgdHlwZSwgZil9XG4gIGN0b3IucHJvdG90eXBlLm9mZiA9IGZ1bmN0aW9uKHR5cGUsIGYpIHtvZmYodGhpcywgdHlwZSwgZil9XG59XG5cbi8vIER1ZSB0byB0aGUgZmFjdCB0aGF0IHdlIHN0aWxsIHN1cHBvcnQganVyYXNzaWMgSUUgdmVyc2lvbnMsIHNvbWVcbi8vIGNvbXBhdGliaWxpdHkgd3JhcHBlcnMgYXJlIG5lZWRlZC5cblxuZXhwb3J0IGZ1bmN0aW9uIGVfcHJldmVudERlZmF1bHQoZSkge1xuICBpZiAoZS5wcmV2ZW50RGVmYXVsdCkgZS5wcmV2ZW50RGVmYXVsdCgpXG4gIGVsc2UgZS5yZXR1cm5WYWx1ZSA9IGZhbHNlXG59XG5leHBvcnQgZnVuY3Rpb24gZV9zdG9wUHJvcGFnYXRpb24oZSkge1xuICBpZiAoZS5zdG9wUHJvcGFnYXRpb24pIGUuc3RvcFByb3BhZ2F0aW9uKClcbiAgZWxzZSBlLmNhbmNlbEJ1YmJsZSA9IHRydWVcbn1cbmV4cG9ydCBmdW5jdGlvbiBlX2RlZmF1bHRQcmV2ZW50ZWQoZSkge1xuICByZXR1cm4gZS5kZWZhdWx0UHJldmVudGVkICE9IG51bGwgPyBlLmRlZmF1bHRQcmV2ZW50ZWQgOiBlLnJldHVyblZhbHVlID09IGZhbHNlXG59XG5leHBvcnQgZnVuY3Rpb24gZV9zdG9wKGUpIHtlX3ByZXZlbnREZWZhdWx0KGUpOyBlX3N0b3BQcm9wYWdhdGlvbihlKX1cblxuZXhwb3J0IGZ1bmN0aW9uIGVfdGFyZ2V0KGUpIHtyZXR1cm4gZS50YXJnZXQgfHwgZS5zcmNFbGVtZW50fVxuZXhwb3J0IGZ1bmN0aW9uIGVfYnV0dG9uKGUpIHtcbiAgbGV0IGIgPSBlLndoaWNoXG4gIGlmIChiID09IG51bGwpIHtcbiAgICBpZiAoZS5idXR0b24gJiAxKSBiID0gMVxuICAgIGVsc2UgaWYgKGUuYnV0dG9uICYgMikgYiA9IDNcbiAgICBlbHNlIGlmIChlLmJ1dHRvbiAmIDQpIGIgPSAyXG4gIH1cbiAgaWYgKG1hYyAmJiBlLmN0cmxLZXkgJiYgYiA9PSAxKSBiID0gM1xuICByZXR1cm4gYlxufVxuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFFQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVBO0FBRUE7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFHQTtBQUNBO0FBQUE7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/codemirror/src/util/event.js\n"); /***/ }), /***/ "./node_modules/codemirror/src/util/feature_detection.js": /*!***************************************************************!*\ !*** ./node_modules/codemirror/src/util/feature_detection.js ***! \***************************************************************/ /*! exports provided: dragAndDrop, zeroWidthElement, hasBadBidiRects, splitLinesAuto, hasSelection, hasCopyEvent, hasBadZoomedRects */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"dragAndDrop\", function() { return dragAndDrop; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"zeroWidthElement\", function() { return zeroWidthElement; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"hasBadBidiRects\", function() { return hasBadBidiRects; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"splitLinesAuto\", function() { return splitLinesAuto; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"hasSelection\", function() { return hasSelection; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"hasCopyEvent\", function() { return hasCopyEvent; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"hasBadZoomedRects\", function() { return hasBadZoomedRects; });\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./dom.js */ \"./node_modules/codemirror/src/util/dom.js\");\n/* harmony import */ var _browser_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./browser.js */ \"./node_modules/codemirror/src/util/browser.js\");\n\n // Detect drag-and-drop\n\nlet dragAndDrop = function () {\n // There is *some* kind of drag-and-drop support in IE6-8, but I\n // couldn't get it to work yet.\n if (_browser_js__WEBPACK_IMPORTED_MODULE_1__[\"ie\"] && _browser_js__WEBPACK_IMPORTED_MODULE_1__[\"ie_version\"] < 9) return false;\n let div = Object(_dom_js__WEBPACK_IMPORTED_MODULE_0__[\"elt\"])('div');\n return \"draggable\" in div || \"dragDrop\" in div;\n}();\nlet zwspSupported;\nfunction zeroWidthElement(measure) {\n if (zwspSupported == null) {\n let test = Object(_dom_js__WEBPACK_IMPORTED_MODULE_0__[\"elt\"])(\"span\", \"\\u200b\");\n Object(_dom_js__WEBPACK_IMPORTED_MODULE_0__[\"removeChildrenAndAdd\"])(measure, Object(_dom_js__WEBPACK_IMPORTED_MODULE_0__[\"elt\"])(\"span\", [test, document.createTextNode(\"x\")]));\n if (measure.firstChild.offsetHeight != 0) zwspSupported = test.offsetWidth <= 1 && test.offsetHeight > 2 && !(_browser_js__WEBPACK_IMPORTED_MODULE_1__[\"ie\"] && _browser_js__WEBPACK_IMPORTED_MODULE_1__[\"ie_version\"] < 8);\n }\n\n let node = zwspSupported ? Object(_dom_js__WEBPACK_IMPORTED_MODULE_0__[\"elt\"])(\"span\", \"\\u200b\") : Object(_dom_js__WEBPACK_IMPORTED_MODULE_0__[\"elt\"])(\"span\", \"\\u00a0\", null, \"display: inline-block; width: 1px; margin-right: -1px\");\n node.setAttribute(\"cm-text\", \"\");\n return node;\n} // Feature-detect IE's crummy client rect reporting for bidi text\n\nlet badBidiRects;\nfunction hasBadBidiRects(measure) {\n if (badBidiRects != null) return badBidiRects;\n let txt = Object(_dom_js__WEBPACK_IMPORTED_MODULE_0__[\"removeChildrenAndAdd\"])(measure, document.createTextNode(\"A\\u062eA\"));\n let r0 = Object(_dom_js__WEBPACK_IMPORTED_MODULE_0__[\"range\"])(txt, 0, 1).getBoundingClientRect();\n let r1 = Object(_dom_js__WEBPACK_IMPORTED_MODULE_0__[\"range\"])(txt, 1, 2).getBoundingClientRect();\n Object(_dom_js__WEBPACK_IMPORTED_MODULE_0__[\"removeChildren\"])(measure);\n if (!r0 || r0.left == r0.right) return false; // Safari returns null in some cases (#2780)\n\n return badBidiRects = r1.right - r0.right < 3;\n} // See if \"\".split is the broken IE version, if so, provide an\n// alternative way to split lines.\n\nlet splitLinesAuto = \"\\n\\nb\".split(/\\n/).length != 3 ? string => {\n let pos = 0,\n result = [],\n l = string.length;\n\n while (pos <= l) {\n let nl = string.indexOf(\"\\n\", pos);\n if (nl == -1) nl = string.length;\n let line = string.slice(pos, string.charAt(nl - 1) == \"\\r\" ? nl - 1 : nl);\n let rt = line.indexOf(\"\\r\");\n\n if (rt != -1) {\n result.push(line.slice(0, rt));\n pos += rt + 1;\n } else {\n result.push(line);\n pos = nl + 1;\n }\n }\n\n return result;\n} : string => string.split(/\\r\\n?|\\n/);\nlet hasSelection = window.getSelection ? te => {\n try {\n return te.selectionStart != te.selectionEnd;\n } catch (e) {\n return false;\n }\n} : te => {\n let range;\n\n try {\n range = te.ownerDocument.selection.createRange();\n } catch (e) {}\n\n if (!range || range.parentElement() != te) return false;\n return range.compareEndPoints(\"StartToEnd\", range) != 0;\n};\nlet hasCopyEvent = (() => {\n let e = Object(_dom_js__WEBPACK_IMPORTED_MODULE_0__[\"elt\"])(\"div\");\n if (\"oncopy\" in e) return true;\n e.setAttribute(\"oncopy\", \"return;\");\n return typeof e.oncopy == \"function\";\n})();\nlet badZoomedRects = null;\nfunction hasBadZoomedRects(measure) {\n if (badZoomedRects != null) return badZoomedRects;\n let node = Object(_dom_js__WEBPACK_IMPORTED_MODULE_0__[\"removeChildrenAndAdd\"])(measure, Object(_dom_js__WEBPACK_IMPORTED_MODULE_0__[\"elt\"])(\"span\", \"x\"));\n let normal = node.getBoundingClientRect();\n let fromRange = Object(_dom_js__WEBPACK_IMPORTED_MODULE_0__[\"range\"])(node, 0, 1).getBoundingClientRect();\n return badZoomedRects = Math.abs(normal.left - fromRange.left) > 1;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9zcmMvdXRpbC9mZWF0dXJlX2RldGVjdGlvbi5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb2RlbWlycm9yL3NyYy91dGlsL2ZlYXR1cmVfZGV0ZWN0aW9uLmpzPzkwYTgiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZWx0LCByYW5nZSwgcmVtb3ZlQ2hpbGRyZW4sIHJlbW92ZUNoaWxkcmVuQW5kQWRkIH0gZnJvbSBcIi4vZG9tLmpzXCJcbmltcG9ydCB7IGllLCBpZV92ZXJzaW9uIH0gZnJvbSBcIi4vYnJvd3Nlci5qc1wiXG5cbi8vIERldGVjdCBkcmFnLWFuZC1kcm9wXG5leHBvcnQgbGV0IGRyYWdBbmREcm9wID0gZnVuY3Rpb24oKSB7XG4gIC8vIFRoZXJlIGlzICpzb21lKiBraW5kIG9mIGRyYWctYW5kLWRyb3Agc3VwcG9ydCBpbiBJRTYtOCwgYnV0IElcbiAgLy8gY291bGRuJ3QgZ2V0IGl0IHRvIHdvcmsgeWV0LlxuICBpZiAoaWUgJiYgaWVfdmVyc2lvbiA8IDkpIHJldHVybiBmYWxzZVxuICBsZXQgZGl2ID0gZWx0KCdkaXYnKVxuICByZXR1cm4gXCJkcmFnZ2FibGVcIiBpbiBkaXYgfHwgXCJkcmFnRHJvcFwiIGluIGRpdlxufSgpXG5cbmxldCB6d3NwU3VwcG9ydGVkXG5leHBvcnQgZnVuY3Rpb24gemVyb1dpZHRoRWxlbWVudChtZWFzdXJlKSB7XG4gIGlmICh6d3NwU3VwcG9ydGVkID09IG51bGwpIHtcbiAgICBsZXQgdGVzdCA9IGVsdChcInNwYW5cIiwgXCJcXHUyMDBiXCIpXG4gICAgcmVtb3ZlQ2hpbGRyZW5BbmRBZGQobWVhc3VyZSwgZWx0KFwic3BhblwiLCBbdGVzdCwgZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoXCJ4XCIpXSkpXG4gICAgaWYgKG1lYXN1cmUuZmlyc3RDaGlsZC5vZmZzZXRIZWlnaHQgIT0gMClcbiAgICAgIHp3c3BTdXBwb3J0ZWQgPSB0ZXN0Lm9mZnNldFdpZHRoIDw9IDEgJiYgdGVzdC5vZmZzZXRIZWlnaHQgPiAyICYmICEoaWUgJiYgaWVfdmVyc2lvbiA8IDgpXG4gIH1cbiAgbGV0IG5vZGUgPSB6d3NwU3VwcG9ydGVkID8gZWx0KFwic3BhblwiLCBcIlxcdTIwMGJcIikgOlxuICAgIGVsdChcInNwYW5cIiwgXCJcXHUwMGEwXCIsIG51bGwsIFwiZGlzcGxheTogaW5saW5lLWJsb2NrOyB3aWR0aDogMXB4OyBtYXJnaW4tcmlnaHQ6IC0xcHhcIilcbiAgbm9kZS5zZXRBdHRyaWJ1dGUoXCJjbS10ZXh0XCIsIFwiXCIpXG4gIHJldHVybiBub2RlXG59XG5cbi8vIEZlYXR1cmUtZGV0ZWN0IElFJ3MgY3J1bW15IGNsaWVudCByZWN0IHJlcG9ydGluZyBmb3IgYmlkaSB0ZXh0XG5sZXQgYmFkQmlkaVJlY3RzXG5leHBvcnQgZnVuY3Rpb24gaGFzQmFkQmlkaVJlY3RzKG1lYXN1cmUpIHtcbiAgaWYgKGJhZEJpZGlSZWN0cyAhPSBudWxsKSByZXR1cm4gYmFkQmlkaVJlY3RzXG4gIGxldCB0eHQgPSByZW1vdmVDaGlsZHJlbkFuZEFkZChtZWFzdXJlLCBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShcIkFcXHUwNjJlQVwiKSlcbiAgbGV0IHIwID0gcmFuZ2UodHh0LCAwLCAxKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKVxuICBsZXQgcjEgPSByYW5nZSh0eHQsIDEsIDIpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpXG4gIHJlbW92ZUNoaWxkcmVuKG1lYXN1cmUpXG4gIGlmICghcjAgfHwgcjAubGVmdCA9PSByMC5yaWdodCkgcmV0dXJuIGZhbHNlIC8vIFNhZmFyaSByZXR1cm5zIG51bGwgaW4gc29tZSBjYXNlcyAoIzI3ODApXG4gIHJldHVybiBiYWRCaWRpUmVjdHMgPSAocjEucmlnaHQgLSByMC5yaWdodCA8IDMpXG59XG5cbi8vIFNlZSBpZiBcIlwiLnNwbGl0IGlzIHRoZSBicm9rZW4gSUUgdmVyc2lvbiwgaWYgc28sIHByb3ZpZGUgYW5cbi8vIGFsdGVybmF0aXZlIHdheSB0byBzcGxpdCBsaW5lcy5cbmV4cG9ydCBsZXQgc3BsaXRMaW5lc0F1dG8gPSBcIlxcblxcbmJcIi5zcGxpdCgvXFxuLykubGVuZ3RoICE9IDMgPyBzdHJpbmcgPT4ge1xuICBsZXQgcG9zID0gMCwgcmVzdWx0ID0gW10sIGwgPSBzdHJpbmcubGVuZ3RoXG4gIHdoaWxlIChwb3MgPD0gbCkge1xuICAgIGxldCBubCA9IHN0cmluZy5pbmRleE9mKFwiXFxuXCIsIHBvcylcbiAgICBpZiAobmwgPT0gLTEpIG5sID0gc3RyaW5nLmxlbmd0aFxuICAgIGxldCBsaW5lID0gc3RyaW5nLnNsaWNlKHBvcywgc3RyaW5nLmNoYXJBdChubCAtIDEpID09IFwiXFxyXCIgPyBubCAtIDEgOiBubClcbiAgICBsZXQgcnQgPSBsaW5lLmluZGV4T2YoXCJcXHJcIilcbiAgICBpZiAocnQgIT0gLTEpIHtcbiAgICAgIHJlc3VsdC5wdXNoKGxpbmUuc2xpY2UoMCwgcnQpKVxuICAgICAgcG9zICs9IHJ0ICsgMVxuICAgIH0gZWxzZSB7XG4gICAgICByZXN1bHQucHVzaChsaW5lKVxuICAgICAgcG9zID0gbmwgKyAxXG4gICAgfVxuICB9XG4gIHJldHVybiByZXN1bHRcbn0gOiBzdHJpbmcgPT4gc3RyaW5nLnNwbGl0KC9cXHJcXG4/fFxcbi8pXG5cbmV4cG9ydCBsZXQgaGFzU2VsZWN0aW9uID0gd2luZG93LmdldFNlbGVjdGlvbiA/IHRlID0+IHtcbiAgdHJ5IHsgcmV0dXJuIHRlLnNlbGVjdGlvblN0YXJ0ICE9IHRlLnNlbGVjdGlvbkVuZCB9XG4gIGNhdGNoKGUpIHsgcmV0dXJuIGZhbHNlIH1cbn0gOiB0ZSA9PiB7XG4gIGxldCByYW5nZVxuICB0cnkge3JhbmdlID0gdGUub3duZXJEb2N1bWVudC5zZWxlY3Rpb24uY3JlYXRlUmFuZ2UoKX1cbiAgY2F0Y2goZSkge31cbiAgaWYgKCFyYW5nZSB8fCByYW5nZS5wYXJlbnRFbGVtZW50KCkgIT0gdGUpIHJldHVybiBmYWxzZVxuICByZXR1cm4gcmFuZ2UuY29tcGFyZUVuZFBvaW50cyhcIlN0YXJ0VG9FbmRcIiwgcmFuZ2UpICE9IDBcbn1cblxuZXhwb3J0IGxldCBoYXNDb3B5RXZlbnQgPSAoKCkgPT4ge1xuICBsZXQgZSA9IGVsdChcImRpdlwiKVxuICBpZiAoXCJvbmNvcHlcIiBpbiBlKSByZXR1cm4gdHJ1ZVxuICBlLnNldEF0dHJpYnV0ZShcIm9uY29weVwiLCBcInJldHVybjtcIilcbiAgcmV0dXJuIHR5cGVvZiBlLm9uY29weSA9PSBcImZ1bmN0aW9uXCJcbn0pKClcblxubGV0IGJhZFpvb21lZFJlY3RzID0gbnVsbFxuZXhwb3J0IGZ1bmN0aW9uIGhhc0JhZFpvb21lZFJlY3RzKG1lYXN1cmUpIHtcbiAgaWYgKGJhZFpvb21lZFJlY3RzICE9IG51bGwpIHJldHVybiBiYWRab29tZWRSZWN0c1xuICBsZXQgbm9kZSA9IHJlbW92ZUNoaWxkcmVuQW5kQWRkKG1lYXN1cmUsIGVsdChcInNwYW5cIiwgXCJ4XCIpKVxuICBsZXQgbm9ybWFsID0gbm9kZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKVxuICBsZXQgZnJvbVJhbmdlID0gcmFuZ2Uobm9kZSwgMCwgMSkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KClcbiAgcmV0dXJuIGJhZFpvb21lZFJlY3RzID0gTWF0aC5hYnMobm9ybWFsLmxlZnQgLSBmcm9tUmFuZ2UubGVmdCkgPiAxXG59XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFHQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/codemirror/src/util/feature_detection.js\n"); /***/ }), /***/ "./node_modules/codemirror/src/util/misc.js": /*!**************************************************!*\ !*** ./node_modules/codemirror/src/util/misc.js ***! \**************************************************/ /*! exports provided: bind, copyObj, countColumn, Delayed, indexOf, scrollerGap, Pass, sel_dontScroll, sel_mouse, sel_move, findColumn, spaceStr, lst, map, insertSorted, createObj, isWordCharBasic, isWordChar, isEmpty, isExtendingChar, skipExtendingChars, findFirst */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"bind\", function() { return bind; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"copyObj\", function() { return copyObj; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"countColumn\", function() { return countColumn; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Delayed\", function() { return Delayed; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"indexOf\", function() { return indexOf; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"scrollerGap\", function() { return scrollerGap; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Pass\", function() { return Pass; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"sel_dontScroll\", function() { return sel_dontScroll; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"sel_mouse\", function() { return sel_mouse; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"sel_move\", function() { return sel_move; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"findColumn\", function() { return findColumn; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"spaceStr\", function() { return spaceStr; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"lst\", function() { return lst; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"map\", function() { return map; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"insertSorted\", function() { return insertSorted; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createObj\", function() { return createObj; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isWordCharBasic\", function() { return isWordCharBasic; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isWordChar\", function() { return isWordChar; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isEmpty\", function() { return isEmpty; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isExtendingChar\", function() { return isExtendingChar; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"skipExtendingChars\", function() { return skipExtendingChars; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"findFirst\", function() { return findFirst; });\nfunction bind(f) {\n let args = Array.prototype.slice.call(arguments, 1);\n return function () {\n return f.apply(null, args);\n };\n}\nfunction copyObj(obj, target, overwrite) {\n if (!target) target = {};\n\n for (let prop in obj) if (obj.hasOwnProperty(prop) && (overwrite !== false || !target.hasOwnProperty(prop))) target[prop] = obj[prop];\n\n return target;\n} // Counts the column offset in a string, taking tabs into account.\n// Used mostly to find indentation.\n\nfunction countColumn(string, end, tabSize, startIndex, startValue) {\n if (end == null) {\n end = string.search(/[^\\s\\u00a0]/);\n if (end == -1) end = string.length;\n }\n\n for (let i = startIndex || 0, n = startValue || 0;;) {\n let nextTab = string.indexOf(\"\\t\", i);\n if (nextTab < 0 || nextTab >= end) return n + (end - i);\n n += nextTab - i;\n n += tabSize - n % tabSize;\n i = nextTab + 1;\n }\n}\nclass Delayed {\n constructor() {\n this.id = null;\n }\n\n set(ms, f) {\n clearTimeout(this.id);\n this.id = setTimeout(f, ms);\n }\n\n}\nfunction indexOf(array, elt) {\n for (let i = 0; i < array.length; ++i) if (array[i] == elt) return i;\n\n return -1;\n} // Number of pixels added to scroller and sizer to hide scrollbar\n\nlet scrollerGap = 30; // Returned or thrown by various protocols to signal 'I'm not\n// handling this'.\n\nlet Pass = {\n toString: function () {\n return \"CodeMirror.Pass\";\n } // Reused option objects for setSelection & friends\n\n};\nlet sel_dontScroll = {\n scroll: false\n},\n sel_mouse = {\n origin: \"*mouse\"\n},\n sel_move = {\n origin: \"+move\" // The inverse of countColumn -- find the offset that corresponds to\n // a particular column.\n\n};\nfunction findColumn(string, goal, tabSize) {\n for (let pos = 0, col = 0;;) {\n let nextTab = string.indexOf(\"\\t\", pos);\n if (nextTab == -1) nextTab = string.length;\n let skipped = nextTab - pos;\n if (nextTab == string.length || col + skipped >= goal) return pos + Math.min(skipped, goal - col);\n col += nextTab - pos;\n col += tabSize - col % tabSize;\n pos = nextTab + 1;\n if (col >= goal) return pos;\n }\n}\nlet spaceStrs = [\"\"];\nfunction spaceStr(n) {\n while (spaceStrs.length <= n) spaceStrs.push(lst(spaceStrs) + \" \");\n\n return spaceStrs[n];\n}\nfunction lst(arr) {\n return arr[arr.length - 1];\n}\nfunction map(array, f) {\n let out = [];\n\n for (let i = 0; i < array.length; i++) out[i] = f(array[i], i);\n\n return out;\n}\nfunction insertSorted(array, value, score) {\n let pos = 0,\n priority = score(value);\n\n while (pos < array.length && score(array[pos]) <= priority) pos++;\n\n array.splice(pos, 0, value);\n}\n\nfunction nothing() {}\n\nfunction createObj(base, props) {\n let inst;\n\n if (Object.create) {\n inst = Object.create(base);\n } else {\n nothing.prototype = base;\n inst = new nothing();\n }\n\n if (props) copyObj(props, inst);\n return inst;\n}\nlet nonASCIISingleCaseWordChar = /[\\u00df\\u0587\\u0590-\\u05f4\\u0600-\\u06ff\\u3040-\\u309f\\u30a0-\\u30ff\\u3400-\\u4db5\\u4e00-\\u9fcc\\uac00-\\ud7af]/;\nfunction isWordCharBasic(ch) {\n return /\\w/.test(ch) || ch > \"\\x80\" && (ch.toUpperCase() != ch.toLowerCase() || nonASCIISingleCaseWordChar.test(ch));\n}\nfunction isWordChar(ch, helper) {\n if (!helper) return isWordCharBasic(ch);\n if (helper.source.indexOf(\"\\\\w\") > -1 && isWordCharBasic(ch)) return true;\n return helper.test(ch);\n}\nfunction isEmpty(obj) {\n for (let n in obj) if (obj.hasOwnProperty(n) && obj[n]) return false;\n\n return true;\n} // Extending unicode characters. A series of a non-extending char +\n// any number of extending chars is treated as a single unit as far\n// as editing and measuring is concerned. This is not fully correct,\n// since some scripts/fonts/browsers also treat other configurations\n// of code points as a group.\n\nlet extendingChars = /[\\u0300-\\u036f\\u0483-\\u0489\\u0591-\\u05bd\\u05bf\\u05c1\\u05c2\\u05c4\\u05c5\\u05c7\\u0610-\\u061a\\u064b-\\u065e\\u0670\\u06d6-\\u06dc\\u06de-\\u06e4\\u06e7\\u06e8\\u06ea-\\u06ed\\u0711\\u0730-\\u074a\\u07a6-\\u07b0\\u07eb-\\u07f3\\u0816-\\u0819\\u081b-\\u0823\\u0825-\\u0827\\u0829-\\u082d\\u0900-\\u0902\\u093c\\u0941-\\u0948\\u094d\\u0951-\\u0955\\u0962\\u0963\\u0981\\u09bc\\u09be\\u09c1-\\u09c4\\u09cd\\u09d7\\u09e2\\u09e3\\u0a01\\u0a02\\u0a3c\\u0a41\\u0a42\\u0a47\\u0a48\\u0a4b-\\u0a4d\\u0a51\\u0a70\\u0a71\\u0a75\\u0a81\\u0a82\\u0abc\\u0ac1-\\u0ac5\\u0ac7\\u0ac8\\u0acd\\u0ae2\\u0ae3\\u0b01\\u0b3c\\u0b3e\\u0b3f\\u0b41-\\u0b44\\u0b4d\\u0b56\\u0b57\\u0b62\\u0b63\\u0b82\\u0bbe\\u0bc0\\u0bcd\\u0bd7\\u0c3e-\\u0c40\\u0c46-\\u0c48\\u0c4a-\\u0c4d\\u0c55\\u0c56\\u0c62\\u0c63\\u0cbc\\u0cbf\\u0cc2\\u0cc6\\u0ccc\\u0ccd\\u0cd5\\u0cd6\\u0ce2\\u0ce3\\u0d3e\\u0d41-\\u0d44\\u0d4d\\u0d57\\u0d62\\u0d63\\u0dca\\u0dcf\\u0dd2-\\u0dd4\\u0dd6\\u0ddf\\u0e31\\u0e34-\\u0e3a\\u0e47-\\u0e4e\\u0eb1\\u0eb4-\\u0eb9\\u0ebb\\u0ebc\\u0ec8-\\u0ecd\\u0f18\\u0f19\\u0f35\\u0f37\\u0f39\\u0f71-\\u0f7e\\u0f80-\\u0f84\\u0f86\\u0f87\\u0f90-\\u0f97\\u0f99-\\u0fbc\\u0fc6\\u102d-\\u1030\\u1032-\\u1037\\u1039\\u103a\\u103d\\u103e\\u1058\\u1059\\u105e-\\u1060\\u1071-\\u1074\\u1082\\u1085\\u1086\\u108d\\u109d\\u135f\\u1712-\\u1714\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17b7-\\u17bd\\u17c6\\u17c9-\\u17d3\\u17dd\\u180b-\\u180d\\u18a9\\u1920-\\u1922\\u1927\\u1928\\u1932\\u1939-\\u193b\\u1a17\\u1a18\\u1a56\\u1a58-\\u1a5e\\u1a60\\u1a62\\u1a65-\\u1a6c\\u1a73-\\u1a7c\\u1a7f\\u1b00-\\u1b03\\u1b34\\u1b36-\\u1b3a\\u1b3c\\u1b42\\u1b6b-\\u1b73\\u1b80\\u1b81\\u1ba2-\\u1ba5\\u1ba8\\u1ba9\\u1c2c-\\u1c33\\u1c36\\u1c37\\u1cd0-\\u1cd2\\u1cd4-\\u1ce0\\u1ce2-\\u1ce8\\u1ced\\u1dc0-\\u1de6\\u1dfd-\\u1dff\\u200c\\u200d\\u20d0-\\u20f0\\u2cef-\\u2cf1\\u2de0-\\u2dff\\u302a-\\u302f\\u3099\\u309a\\ua66f-\\ua672\\ua67c\\ua67d\\ua6f0\\ua6f1\\ua802\\ua806\\ua80b\\ua825\\ua826\\ua8c4\\ua8e0-\\ua8f1\\ua926-\\ua92d\\ua947-\\ua951\\ua980-\\ua982\\ua9b3\\ua9b6-\\ua9b9\\ua9bc\\uaa29-\\uaa2e\\uaa31\\uaa32\\uaa35\\uaa36\\uaa43\\uaa4c\\uaab0\\uaab2-\\uaab4\\uaab7\\uaab8\\uaabe\\uaabf\\uaac1\\uabe5\\uabe8\\uabed\\udc00-\\udfff\\ufb1e\\ufe00-\\ufe0f\\ufe20-\\ufe26\\uff9e\\uff9f]/;\nfunction isExtendingChar(ch) {\n return ch.charCodeAt(0) >= 768 && extendingChars.test(ch);\n} // Returns a number from the range [`0`; `str.length`] unless `pos` is outside that range.\n\nfunction skipExtendingChars(str, pos, dir) {\n while ((dir < 0 ? pos > 0 : pos < str.length) && isExtendingChar(str.charAt(pos))) pos += dir;\n\n return pos;\n} // Returns the value from the range [`from`; `to`] that satisfies\n// `pred` and is closest to `from`. Assumes that at least `to`\n// satisfies `pred`. Supports `from` being greater than `to`.\n\nfunction findFirst(pred, from, to) {\n // At any point we are certain `to` satisfies `pred`, don't know\n // whether `from` does.\n let dir = from > to ? -1 : 1;\n\n for (;;) {\n if (from == to) return from;\n let midF = (from + to) / 2,\n mid = dir < 0 ? Math.ceil(midF) : Math.floor(midF);\n if (mid == from) return pred(mid) ? from : to;\n if (pred(mid)) to = mid;else from = mid + dir;\n }\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9zcmMvdXRpbC9taXNjLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvZGVtaXJyb3Ivc3JjL3V0aWwvbWlzYy5qcz82NTNhIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiBiaW5kKGYpIHtcbiAgbGV0IGFyZ3MgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsIDEpXG4gIHJldHVybiBmdW5jdGlvbigpe3JldHVybiBmLmFwcGx5KG51bGwsIGFyZ3MpfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gY29weU9iaihvYmosIHRhcmdldCwgb3ZlcndyaXRlKSB7XG4gIGlmICghdGFyZ2V0KSB0YXJnZXQgPSB7fVxuICBmb3IgKGxldCBwcm9wIGluIG9iailcbiAgICBpZiAob2JqLmhhc093blByb3BlcnR5KHByb3ApICYmIChvdmVyd3JpdGUgIT09IGZhbHNlIHx8ICF0YXJnZXQuaGFzT3duUHJvcGVydHkocHJvcCkpKVxuICAgICAgdGFyZ2V0W3Byb3BdID0gb2JqW3Byb3BdXG4gIHJldHVybiB0YXJnZXRcbn1cblxuLy8gQ291bnRzIHRoZSBjb2x1bW4gb2Zmc2V0IGluIGEgc3RyaW5nLCB0YWtpbmcgdGFicyBpbnRvIGFjY291bnQuXG4vLyBVc2VkIG1vc3RseSB0byBmaW5kIGluZGVudGF0aW9uLlxuZXhwb3J0IGZ1bmN0aW9uIGNvdW50Q29sdW1uKHN0cmluZywgZW5kLCB0YWJTaXplLCBzdGFydEluZGV4LCBzdGFydFZhbHVlKSB7XG4gIGlmIChlbmQgPT0gbnVsbCkge1xuICAgIGVuZCA9IHN0cmluZy5zZWFyY2goL1teXFxzXFx1MDBhMF0vKVxuICAgIGlmIChlbmQgPT0gLTEpIGVuZCA9IHN0cmluZy5sZW5ndGhcbiAgfVxuICBmb3IgKGxldCBpID0gc3RhcnRJbmRleCB8fCAwLCBuID0gc3RhcnRWYWx1ZSB8fCAwOzspIHtcbiAgICBsZXQgbmV4dFRhYiA9IHN0cmluZy5pbmRleE9mKFwiXFx0XCIsIGkpXG4gICAgaWYgKG5leHRUYWIgPCAwIHx8IG5leHRUYWIgPj0gZW5kKVxuICAgICAgcmV0dXJuIG4gKyAoZW5kIC0gaSlcbiAgICBuICs9IG5leHRUYWIgLSBpXG4gICAgbiArPSB0YWJTaXplIC0gKG4gJSB0YWJTaXplKVxuICAgIGkgPSBuZXh0VGFiICsgMVxuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBEZWxheWVkIHtcbiAgY29uc3RydWN0b3IoKSB7dGhpcy5pZCA9IG51bGx9XG4gIHNldChtcywgZikge1xuICAgIGNsZWFyVGltZW91dCh0aGlzLmlkKVxuICAgIHRoaXMuaWQgPSBzZXRUaW1lb3V0KGYsIG1zKVxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbmRleE9mKGFycmF5LCBlbHQpIHtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBhcnJheS5sZW5ndGg7ICsraSlcbiAgICBpZiAoYXJyYXlbaV0gPT0gZWx0KSByZXR1cm4gaVxuICByZXR1cm4gLTFcbn1cblxuLy8gTnVtYmVyIG9mIHBpeGVscyBhZGRlZCB0byBzY3JvbGxlciBhbmQgc2l6ZXIgdG8gaGlkZSBzY3JvbGxiYXJcbmV4cG9ydCBsZXQgc2Nyb2xsZXJHYXAgPSAzMFxuXG4vLyBSZXR1cm5lZCBvciB0aHJvd24gYnkgdmFyaW91cyBwcm90b2NvbHMgdG8gc2lnbmFsICdJJ20gbm90XG4vLyBoYW5kbGluZyB0aGlzJy5cbmV4cG9ydCBsZXQgUGFzcyA9IHt0b1N0cmluZzogZnVuY3Rpb24oKXtyZXR1cm4gXCJDb2RlTWlycm9yLlBhc3NcIn19XG5cbi8vIFJldXNlZCBvcHRpb24gb2JqZWN0cyBmb3Igc2V0U2VsZWN0aW9uICYgZnJpZW5kc1xuZXhwb3J0IGxldCBzZWxfZG9udFNjcm9sbCA9IHtzY3JvbGw6IGZhbHNlfSwgc2VsX21vdXNlID0ge29yaWdpbjogXCIqbW91c2VcIn0sIHNlbF9tb3ZlID0ge29yaWdpbjogXCIrbW92ZVwifVxuXG4vLyBUaGUgaW52ZXJzZSBvZiBjb3VudENvbHVtbiAtLSBmaW5kIHRoZSBvZmZzZXQgdGhhdCBjb3JyZXNwb25kcyB0b1xuLy8gYSBwYXJ0aWN1bGFyIGNvbHVtbi5cbmV4cG9ydCBmdW5jdGlvbiBmaW5kQ29sdW1uKHN0cmluZywgZ29hbCwgdGFiU2l6ZSkge1xuICBmb3IgKGxldCBwb3MgPSAwLCBjb2wgPSAwOzspIHtcbiAgICBsZXQgbmV4dFRhYiA9IHN0cmluZy5pbmRleE9mKFwiXFx0XCIsIHBvcylcbiAgICBpZiAobmV4dFRhYiA9PSAtMSkgbmV4dFRhYiA9IHN0cmluZy5sZW5ndGhcbiAgICBsZXQgc2tpcHBlZCA9IG5leHRUYWIgLSBwb3NcbiAgICBpZiAobmV4dFRhYiA9PSBzdHJpbmcubGVuZ3RoIHx8IGNvbCArIHNraXBwZWQgPj0gZ29hbClcbiAgICAgIHJldHVybiBwb3MgKyBNYXRoLm1pbihza2lwcGVkLCBnb2FsIC0gY29sKVxuICAgIGNvbCArPSBuZXh0VGFiIC0gcG9zXG4gICAgY29sICs9IHRhYlNpemUgLSAoY29sICUgdGFiU2l6ZSlcbiAgICBwb3MgPSBuZXh0VGFiICsgMVxuICAgIGlmIChjb2wgPj0gZ29hbCkgcmV0dXJuIHBvc1xuICB9XG59XG5cbmxldCBzcGFjZVN0cnMgPSBbXCJcIl1cbmV4cG9ydCBmdW5jdGlvbiBzcGFjZVN0cihuKSB7XG4gIHdoaWxlIChzcGFjZVN0cnMubGVuZ3RoIDw9IG4pXG4gICAgc3BhY2VTdHJzLnB1c2gobHN0KHNwYWNlU3RycykgKyBcIiBcIilcbiAgcmV0dXJuIHNwYWNlU3Ryc1tuXVxufVxuXG5leHBvcnQgZnVuY3Rpb24gbHN0KGFycikgeyByZXR1cm4gYXJyW2Fyci5sZW5ndGgtMV0gfVxuXG5leHBvcnQgZnVuY3Rpb24gbWFwKGFycmF5LCBmKSB7XG4gIGxldCBvdXQgPSBbXVxuICBmb3IgKGxldCBpID0gMDsgaSA8IGFycmF5Lmxlbmd0aDsgaSsrKSBvdXRbaV0gPSBmKGFycmF5W2ldLCBpKVxuICByZXR1cm4gb3V0XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbnNlcnRTb3J0ZWQoYXJyYXksIHZhbHVlLCBzY29yZSkge1xuICBsZXQgcG9zID0gMCwgcHJpb3JpdHkgPSBzY29yZSh2YWx1ZSlcbiAgd2hpbGUgKHBvcyA8IGFycmF5Lmxlbmd0aCAmJiBzY29yZShhcnJheVtwb3NdKSA8PSBwcmlvcml0eSkgcG9zKytcbiAgYXJyYXkuc3BsaWNlKHBvcywgMCwgdmFsdWUpXG59XG5cbmZ1bmN0aW9uIG5vdGhpbmcoKSB7fVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlT2JqKGJhc2UsIHByb3BzKSB7XG4gIGxldCBpbnN0XG4gIGlmIChPYmplY3QuY3JlYXRlKSB7XG4gICAgaW5zdCA9IE9iamVjdC5jcmVhdGUoYmFzZSlcbiAgfSBlbHNlIHtcbiAgICBub3RoaW5nLnByb3RvdHlwZSA9IGJhc2VcbiAgICBpbnN0ID0gbmV3IG5vdGhpbmcoKVxuICB9XG4gIGlmIChwcm9wcykgY29weU9iaihwcm9wcywgaW5zdClcbiAgcmV0dXJuIGluc3Rcbn1cblxubGV0IG5vbkFTQ0lJU2luZ2xlQ2FzZVdvcmRDaGFyID0gL1tcXHUwMGRmXFx1MDU4N1xcdTA1OTAtXFx1MDVmNFxcdTA2MDAtXFx1MDZmZlxcdTMwNDAtXFx1MzA5ZlxcdTMwYTAtXFx1MzBmZlxcdTM0MDAtXFx1NGRiNVxcdTRlMDAtXFx1OWZjY1xcdWFjMDAtXFx1ZDdhZl0vXG5leHBvcnQgZnVuY3Rpb24gaXNXb3JkQ2hhckJhc2ljKGNoKSB7XG4gIHJldHVybiAvXFx3Ly50ZXN0KGNoKSB8fCBjaCA+IFwiXFx4ODBcIiAmJlxuICAgIChjaC50b1VwcGVyQ2FzZSgpICE9IGNoLnRvTG93ZXJDYXNlKCkgfHwgbm9uQVNDSUlTaW5nbGVDYXNlV29yZENoYXIudGVzdChjaCkpXG59XG5leHBvcnQgZnVuY3Rpb24gaXNXb3JkQ2hhcihjaCwgaGVscGVyKSB7XG4gIGlmICghaGVscGVyKSByZXR1cm4gaXNXb3JkQ2hhckJhc2ljKGNoKVxuICBpZiAoaGVscGVyLnNvdXJjZS5pbmRleE9mKFwiXFxcXHdcIikgPiAtMSAmJiBpc1dvcmRDaGFyQmFzaWMoY2gpKSByZXR1cm4gdHJ1ZVxuICByZXR1cm4gaGVscGVyLnRlc3QoY2gpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0VtcHR5KG9iaikge1xuICBmb3IgKGxldCBuIGluIG9iaikgaWYgKG9iai5oYXNPd25Qcm9wZXJ0eShuKSAmJiBvYmpbbl0pIHJldHVybiBmYWxzZVxuICByZXR1cm4gdHJ1ZVxufVxuXG4vLyBFeHRlbmRpbmcgdW5pY29kZSBjaGFyYWN0ZXJzLiBBIHNlcmllcyBvZiBhIG5vbi1leHRlbmRpbmcgY2hhciArXG4vLyBhbnkgbnVtYmVyIG9mIGV4dGVuZGluZyBjaGFycyBpcyB0cmVhdGVkIGFzIGEgc2luZ2xlIHVuaXQgYXMgZmFyXG4vLyBhcyBlZGl0aW5nIGFuZCBtZWFzdXJpbmcgaXMgY29uY2VybmVkLiBUaGlzIGlzIG5vdCBmdWxseSBjb3JyZWN0LFxuLy8gc2luY2Ugc29tZSBzY3JpcHRzL2ZvbnRzL2Jyb3dzZXJzIGFsc28gdHJlYXQgb3RoZXIgY29uZmlndXJhdGlvbnNcbi8vIG9mIGNvZGUgcG9pbnRzIGFzIGEgZ3JvdXAuXG5sZXQgZXh0ZW5kaW5nQ2hhcnMgPSAvW1xcdTAzMDAtXFx1MDM2ZlxcdTA0ODMtXFx1MDQ4OVxcdTA1OTEtXFx1MDViZFxcdTA1YmZcXHUwNWMxXFx1MDVjMlxcdTA1YzRcXHUwNWM1XFx1MDVjN1xcdTA2MTAtXFx1MDYxYVxcdTA2NGItXFx1MDY1ZVxcdTA2NzBcXHUwNmQ2LVxcdTA2ZGNcXHUwNmRlLVxcdTA2ZTRcXHUwNmU3XFx1MDZlOFxcdTA2ZWEtXFx1MDZlZFxcdTA3MTFcXHUwNzMwLVxcdTA3NGFcXHUwN2E2LVxcdTA3YjBcXHUwN2ViLVxcdTA3ZjNcXHUwODE2LVxcdTA4MTlcXHUwODFiLVxcdTA4MjNcXHUwODI1LVxcdTA4MjdcXHUwODI5LVxcdTA4MmRcXHUwOTAwLVxcdTA5MDJcXHUwOTNjXFx1MDk0MS1cXHUwOTQ4XFx1MDk0ZFxcdTA5NTEtXFx1MDk1NVxcdTA5NjJcXHUwOTYzXFx1MDk4MVxcdTA5YmNcXHUwOWJlXFx1MDljMS1cXHUwOWM0XFx1MDljZFxcdTA5ZDdcXHUwOWUyXFx1MDllM1xcdTBhMDFcXHUwYTAyXFx1MGEzY1xcdTBhNDFcXHUwYTQyXFx1MGE0N1xcdTBhNDhcXHUwYTRiLVxcdTBhNGRcXHUwYTUxXFx1MGE3MFxcdTBhNzFcXHUwYTc1XFx1MGE4MVxcdTBhODJcXHUwYWJjXFx1MGFjMS1cXHUwYWM1XFx1MGFjN1xcdTBhYzhcXHUwYWNkXFx1MGFlMlxcdTBhZTNcXHUwYjAxXFx1MGIzY1xcdTBiM2VcXHUwYjNmXFx1MGI0MS1cXHUwYjQ0XFx1MGI0ZFxcdTBiNTZcXHUwYjU3XFx1MGI2MlxcdTBiNjNcXHUwYjgyXFx1MGJiZVxcdTBiYzBcXHUwYmNkXFx1MGJkN1xcdTBjM2UtXFx1MGM0MFxcdTBjNDYtXFx1MGM0OFxcdTBjNGEtXFx1MGM0ZFxcdTBjNTVcXHUwYzU2XFx1MGM2MlxcdTBjNjNcXHUwY2JjXFx1MGNiZlxcdTBjYzJcXHUwY2M2XFx1MGNjY1xcdTBjY2RcXHUwY2Q1XFx1MGNkNlxcdTBjZTJcXHUwY2UzXFx1MGQzZVxcdTBkNDEtXFx1MGQ0NFxcdTBkNGRcXHUwZDU3XFx1MGQ2MlxcdTBkNjNcXHUwZGNhXFx1MGRjZlxcdTBkZDItXFx1MGRkNFxcdTBkZDZcXHUwZGRmXFx1MGUzMVxcdTBlMzQtXFx1MGUzYVxcdTBlNDctXFx1MGU0ZVxcdTBlYjFcXHUwZWI0LVxcdTBlYjlcXHUwZWJiXFx1MGViY1xcdTBlYzgtXFx1MGVjZFxcdTBmMThcXHUwZjE5XFx1MGYzNVxcdTBmMzdcXHUwZjM5XFx1MGY3MS1cXHUwZjdlXFx1MGY4MC1cXHUwZjg0XFx1MGY4NlxcdTBmODdcXHUwZjkwLVxcdTBmOTdcXHUwZjk5LVxcdTBmYmNcXHUwZmM2XFx1MTAyZC1cXHUxMDMwXFx1MTAzMi1cXHUxMDM3XFx1MTAzOVxcdTEwM2FcXHUxMDNkXFx1MTAzZVxcdTEwNThcXHUxMDU5XFx1MTA1ZS1cXHUxMDYwXFx1MTA3MS1cXHUxMDc0XFx1MTA4MlxcdTEwODVcXHUxMDg2XFx1MTA4ZFxcdTEwOWRcXHUxMzVmXFx1MTcxMi1cXHUxNzE0XFx1MTczMi1cXHUxNzM0XFx1MTc1MlxcdTE3NTNcXHUxNzcyXFx1MTc3M1xcdTE3YjctXFx1MTdiZFxcdTE3YzZcXHUxN2M5LVxcdTE3ZDNcXHUxN2RkXFx1MTgwYi1cXHUxODBkXFx1MThhOVxcdTE5MjAtXFx1MTkyMlxcdTE5MjdcXHUxOTI4XFx1MTkzMlxcdTE5MzktXFx1MTkzYlxcdTFhMTdcXHUxYTE4XFx1MWE1NlxcdTFhNTgtXFx1MWE1ZVxcdTFhNjBcXHUxYTYyXFx1MWE2NS1cXHUxYTZjXFx1MWE3My1cXHUxYTdjXFx1MWE3ZlxcdTFiMDAtXFx1MWIwM1xcdTFiMzRcXHUxYjM2LVxcdTFiM2FcXHUxYjNjXFx1MWI0MlxcdTFiNmItXFx1MWI3M1xcdTFiODBcXHUxYjgxXFx1MWJhMi1cXHUxYmE1XFx1MWJhOFxcdTFiYTlcXHUxYzJjLVxcdTFjMzNcXHUxYzM2XFx1MWMzN1xcdTFjZDAtXFx1MWNkMlxcdTFjZDQtXFx1MWNlMFxcdTFjZTItXFx1MWNlOFxcdTFjZWRcXHUxZGMwLVxcdTFkZTZcXHUxZGZkLVxcdTFkZmZcXHUyMDBjXFx1MjAwZFxcdTIwZDAtXFx1MjBmMFxcdTJjZWYtXFx1MmNmMVxcdTJkZTAtXFx1MmRmZlxcdTMwMmEtXFx1MzAyZlxcdTMwOTlcXHUzMDlhXFx1YTY2Zi1cXHVhNjcyXFx1YTY3Y1xcdWE2N2RcXHVhNmYwXFx1YTZmMVxcdWE4MDJcXHVhODA2XFx1YTgwYlxcdWE4MjVcXHVhODI2XFx1YThjNFxcdWE4ZTAtXFx1YThmMVxcdWE5MjYtXFx1YTkyZFxcdWE5NDctXFx1YTk1MVxcdWE5ODAtXFx1YTk4MlxcdWE5YjNcXHVhOWI2LVxcdWE5YjlcXHVhOWJjXFx1YWEyOS1cXHVhYTJlXFx1YWEzMVxcdWFhMzJcXHVhYTM1XFx1YWEzNlxcdWFhNDNcXHVhYTRjXFx1YWFiMFxcdWFhYjItXFx1YWFiNFxcdWFhYjdcXHVhYWI4XFx1YWFiZVxcdWFhYmZcXHVhYWMxXFx1YWJlNVxcdWFiZThcXHVhYmVkXFx1ZGMwMC1cXHVkZmZmXFx1ZmIxZVxcdWZlMDAtXFx1ZmUwZlxcdWZlMjAtXFx1ZmUyNlxcdWZmOWVcXHVmZjlmXS9cbmV4cG9ydCBmdW5jdGlvbiBpc0V4dGVuZGluZ0NoYXIoY2gpIHsgcmV0dXJuIGNoLmNoYXJDb2RlQXQoMCkgPj0gNzY4ICYmIGV4dGVuZGluZ0NoYXJzLnRlc3QoY2gpIH1cblxuLy8gUmV0dXJucyBhIG51bWJlciBmcm9tIHRoZSByYW5nZSBbYDBgOyBgc3RyLmxlbmd0aGBdIHVubGVzcyBgcG9zYCBpcyBvdXRzaWRlIHRoYXQgcmFuZ2UuXG5leHBvcnQgZnVuY3Rpb24gc2tpcEV4dGVuZGluZ0NoYXJzKHN0ciwgcG9zLCBkaXIpIHtcbiAgd2hpbGUgKChkaXIgPCAwID8gcG9zID4gMCA6IHBvcyA8IHN0ci5sZW5ndGgpICYmIGlzRXh0ZW5kaW5nQ2hhcihzdHIuY2hhckF0KHBvcykpKSBwb3MgKz0gZGlyXG4gIHJldHVybiBwb3Ncbn1cblxuLy8gUmV0dXJucyB0aGUgdmFsdWUgZnJvbSB0aGUgcmFuZ2UgW2Bmcm9tYDsgYHRvYF0gdGhhdCBzYXRpc2ZpZXNcbi8vIGBwcmVkYCBhbmQgaXMgY2xvc2VzdCB0byBgZnJvbWAuIEFzc3VtZXMgdGhhdCBhdCBsZWFzdCBgdG9gXG4vLyBzYXRpc2ZpZXMgYHByZWRgLiBTdXBwb3J0cyBgZnJvbWAgYmVpbmcgZ3JlYXRlciB0aGFuIGB0b2AuXG5leHBvcnQgZnVuY3Rpb24gZmluZEZpcnN0KHByZWQsIGZyb20sIHRvKSB7XG4gIC8vIEF0IGFueSBwb2ludCB3ZSBhcmUgY2VydGFpbiBgdG9gIHNhdGlzZmllcyBgcHJlZGAsIGRvbid0IGtub3dcbiAgLy8gd2hldGhlciBgZnJvbWAgZG9lcy5cbiAgbGV0IGRpciA9IGZyb20gPiB0byA/IC0xIDogMVxuICBmb3IgKDs7KSB7XG4gICAgaWYgKGZyb20gPT0gdG8pIHJldHVybiBmcm9tXG4gICAgbGV0IG1pZEYgPSAoZnJvbSArIHRvKSAvIDIsIG1pZCA9IGRpciA8IDAgPyBNYXRoLmNlaWwobWlkRikgOiBNYXRoLmZsb29yKG1pZEYpXG4gICAgaWYgKG1pZCA9PSBmcm9tKSByZXR1cm4gcHJlZChtaWQpID8gZnJvbSA6IHRvXG4gICAgaWYgKHByZWQobWlkKSkgdG8gPSBtaWRcbiAgICBlbHNlIGZyb20gPSBtaWQgKyBkaXJcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUVBO0FBQ0E7QUFHQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTkE7QUFRQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUdBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBREE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFDQTtBQUpBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFBQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/codemirror/src/util/misc.js\n"); /***/ }), /***/ "./node_modules/codemirror/src/util/operation_group.js": /*!*************************************************************!*\ !*** ./node_modules/codemirror/src/util/operation_group.js ***! \*************************************************************/ /*! exports provided: pushOperation, finishOperation, signalLater */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"pushOperation\", function() { return pushOperation; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"finishOperation\", function() { return finishOperation; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"signalLater\", function() { return signalLater; });\n/* harmony import */ var _event_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./event.js */ \"./node_modules/codemirror/src/util/event.js\");\n\nlet operationGroup = null;\nfunction pushOperation(op) {\n if (operationGroup) {\n operationGroup.ops.push(op);\n } else {\n op.ownsGroup = operationGroup = {\n ops: [op],\n delayedCallbacks: []\n };\n }\n}\n\nfunction fireCallbacksForOps(group) {\n // Calls delayed callbacks and cursorActivity handlers until no\n // new ones appear\n let callbacks = group.delayedCallbacks,\n i = 0;\n\n do {\n for (; i < callbacks.length; i++) callbacks[i].call(null);\n\n for (let j = 0; j < group.ops.length; j++) {\n let op = group.ops[j];\n if (op.cursorActivityHandlers) while (op.cursorActivityCalled < op.cursorActivityHandlers.length) op.cursorActivityHandlers[op.cursorActivityCalled++].call(null, op.cm);\n }\n } while (i < callbacks.length);\n}\n\nfunction finishOperation(op, endCb) {\n let group = op.ownsGroup;\n if (!group) return;\n\n try {\n fireCallbacksForOps(group);\n } finally {\n operationGroup = null;\n endCb(group);\n }\n}\nlet orphanDelayedCallbacks = null; // Often, we want to signal events at a point where we are in the\n// middle of some work, but don't want the handler to start calling\n// other methods on the editor, which might be in an inconsistent\n// state or simply not expect any other events to happen.\n// signalLater looks whether there are any handlers, and schedules\n// them to be executed when the last operation ends, or, if no\n// operation is active, when a timeout fires.\n\nfunction signalLater(emitter, type\n/*, values...*/\n) {\n let arr = Object(_event_js__WEBPACK_IMPORTED_MODULE_0__[\"getHandlers\"])(emitter, type);\n if (!arr.length) return;\n let args = Array.prototype.slice.call(arguments, 2),\n list;\n\n if (operationGroup) {\n list = operationGroup.delayedCallbacks;\n } else if (orphanDelayedCallbacks) {\n list = orphanDelayedCallbacks;\n } else {\n list = orphanDelayedCallbacks = [];\n setTimeout(fireOrphanDelayed, 0);\n }\n\n for (let i = 0; i < arr.length; ++i) list.push(() => arr[i].apply(null, args));\n}\n\nfunction fireOrphanDelayed() {\n let delayed = orphanDelayedCallbacks;\n orphanDelayedCallbacks = null;\n\n for (let i = 0; i < delayed.length; ++i) delayed[i]();\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9zcmMvdXRpbC9vcGVyYXRpb25fZ3JvdXAuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29kZW1pcnJvci9zcmMvdXRpbC9vcGVyYXRpb25fZ3JvdXAuanM/YWFhYSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBnZXRIYW5kbGVycyB9IGZyb20gXCIuL2V2ZW50LmpzXCJcblxubGV0IG9wZXJhdGlvbkdyb3VwID0gbnVsbFxuXG5leHBvcnQgZnVuY3Rpb24gcHVzaE9wZXJhdGlvbihvcCkge1xuICBpZiAob3BlcmF0aW9uR3JvdXApIHtcbiAgICBvcGVyYXRpb25Hcm91cC5vcHMucHVzaChvcClcbiAgfSBlbHNlIHtcbiAgICBvcC5vd25zR3JvdXAgPSBvcGVyYXRpb25Hcm91cCA9IHtcbiAgICAgIG9wczogW29wXSxcbiAgICAgIGRlbGF5ZWRDYWxsYmFja3M6IFtdXG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGZpcmVDYWxsYmFja3NGb3JPcHMoZ3JvdXApIHtcbiAgLy8gQ2FsbHMgZGVsYXllZCBjYWxsYmFja3MgYW5kIGN1cnNvckFjdGl2aXR5IGhhbmRsZXJzIHVudGlsIG5vXG4gIC8vIG5ldyBvbmVzIGFwcGVhclxuICBsZXQgY2FsbGJhY2tzID0gZ3JvdXAuZGVsYXllZENhbGxiYWNrcywgaSA9IDBcbiAgZG8ge1xuICAgIGZvciAoOyBpIDwgY2FsbGJhY2tzLmxlbmd0aDsgaSsrKVxuICAgICAgY2FsbGJhY2tzW2ldLmNhbGwobnVsbClcbiAgICBmb3IgKGxldCBqID0gMDsgaiA8IGdyb3VwLm9wcy5sZW5ndGg7IGorKykge1xuICAgICAgbGV0IG9wID0gZ3JvdXAub3BzW2pdXG4gICAgICBpZiAob3AuY3Vyc29yQWN0aXZpdHlIYW5kbGVycylcbiAgICAgICAgd2hpbGUgKG9wLmN1cnNvckFjdGl2aXR5Q2FsbGVkIDwgb3AuY3Vyc29yQWN0aXZpdHlIYW5kbGVycy5sZW5ndGgpXG4gICAgICAgICAgb3AuY3Vyc29yQWN0aXZpdHlIYW5kbGVyc1tvcC5jdXJzb3JBY3Rpdml0eUNhbGxlZCsrXS5jYWxsKG51bGwsIG9wLmNtKVxuICAgIH1cbiAgfSB3aGlsZSAoaSA8IGNhbGxiYWNrcy5sZW5ndGgpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaW5pc2hPcGVyYXRpb24ob3AsIGVuZENiKSB7XG4gIGxldCBncm91cCA9IG9wLm93bnNHcm91cFxuICBpZiAoIWdyb3VwKSByZXR1cm5cblxuICB0cnkgeyBmaXJlQ2FsbGJhY2tzRm9yT3BzKGdyb3VwKSB9XG4gIGZpbmFsbHkge1xuICAgIG9wZXJhdGlvbkdyb3VwID0gbnVsbFxuICAgIGVuZENiKGdyb3VwKVxuICB9XG59XG5cbmxldCBvcnBoYW5EZWxheWVkQ2FsbGJhY2tzID0gbnVsbFxuXG4vLyBPZnRlbiwgd2Ugd2FudCB0byBzaWduYWwgZXZlbnRzIGF0IGEgcG9pbnQgd2hlcmUgd2UgYXJlIGluIHRoZVxuLy8gbWlkZGxlIG9mIHNvbWUgd29yaywgYnV0IGRvbid0IHdhbnQgdGhlIGhhbmRsZXIgdG8gc3RhcnQgY2FsbGluZ1xuLy8gb3RoZXIgbWV0aG9kcyBvbiB0aGUgZWRpdG9yLCB3aGljaCBtaWdodCBiZSBpbiBhbiBpbmNvbnNpc3RlbnRcbi8vIHN0YXRlIG9yIHNpbXBseSBub3QgZXhwZWN0IGFueSBvdGhlciBldmVudHMgdG8gaGFwcGVuLlxuLy8gc2lnbmFsTGF0ZXIgbG9va3Mgd2hldGhlciB0aGVyZSBhcmUgYW55IGhhbmRsZXJzLCBhbmQgc2NoZWR1bGVzXG4vLyB0aGVtIHRvIGJlIGV4ZWN1dGVkIHdoZW4gdGhlIGxhc3Qgb3BlcmF0aW9uIGVuZHMsIG9yLCBpZiBub1xuLy8gb3BlcmF0aW9uIGlzIGFjdGl2ZSwgd2hlbiBhIHRpbWVvdXQgZmlyZXMuXG5leHBvcnQgZnVuY3Rpb24gc2lnbmFsTGF0ZXIoZW1pdHRlciwgdHlwZSAvKiwgdmFsdWVzLi4uKi8pIHtcbiAgbGV0IGFyciA9IGdldEhhbmRsZXJzKGVtaXR0ZXIsIHR5cGUpXG4gIGlmICghYXJyLmxlbmd0aCkgcmV0dXJuXG4gIGxldCBhcmdzID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLCAyKSwgbGlzdFxuICBpZiAob3BlcmF0aW9uR3JvdXApIHtcbiAgICBsaXN0ID0gb3BlcmF0aW9uR3JvdXAuZGVsYXllZENhbGxiYWNrc1xuICB9IGVsc2UgaWYgKG9ycGhhbkRlbGF5ZWRDYWxsYmFja3MpIHtcbiAgICBsaXN0ID0gb3JwaGFuRGVsYXllZENhbGxiYWNrc1xuICB9IGVsc2Uge1xuICAgIGxpc3QgPSBvcnBoYW5EZWxheWVkQ2FsbGJhY2tzID0gW11cbiAgICBzZXRUaW1lb3V0KGZpcmVPcnBoYW5EZWxheWVkLCAwKVxuICB9XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgYXJyLmxlbmd0aDsgKytpKVxuICAgIGxpc3QucHVzaCgoKSA9PiBhcnJbaV0uYXBwbHkobnVsbCwgYXJncykpXG59XG5cbmZ1bmN0aW9uIGZpcmVPcnBoYW5EZWxheWVkKCkge1xuICBsZXQgZGVsYXllZCA9IG9ycGhhbkRlbGF5ZWRDYWxsYmFja3NcbiAgb3JwaGFuRGVsYXllZENhbGxiYWNrcyA9IG51bGxcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBkZWxheWVkLmxlbmd0aDsgKytpKSBkZWxheWVkW2ldKClcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUZBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/codemirror/src/util/operation_group.js\n"); /***/ }), /***/ "./node_modules/component-bind/index.js": /*!**********************************************!*\ !*** ./node_modules/component-bind/index.js ***! \**********************************************/ /*! no static exports found */ /***/ (function(module, exports) { eval("/**\n * Slice reference.\n */\n\nvar slice = [].slice;\n\n/**\n * Bind `obj` to `fn`.\n *\n * @param {Object} obj\n * @param {Function|String} fn or string\n * @return {Function}\n * @api public\n */\n\nmodule.exports = function(obj, fn){\n if ('string' == typeof fn) fn = obj[fn];\n if ('function' != typeof fn) throw new Error('bind() requires a function');\n var args = slice.call(arguments, 2);\n return function(){\n return fn.apply(obj, args.concat(slice.call(arguments)));\n }\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29tcG9uZW50LWJpbmQvaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29tcG9uZW50LWJpbmQvaW5kZXguanM/NDBkZSJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFNsaWNlIHJlZmVyZW5jZS5cbiAqL1xuXG52YXIgc2xpY2UgPSBbXS5zbGljZTtcblxuLyoqXG4gKiBCaW5kIGBvYmpgIHRvIGBmbmAuXG4gKlxuICogQHBhcmFtIHtPYmplY3R9IG9ialxuICogQHBhcmFtIHtGdW5jdGlvbnxTdHJpbmd9IGZuIG9yIHN0cmluZ1xuICogQHJldHVybiB7RnVuY3Rpb259XG4gKiBAYXBpIHB1YmxpY1xuICovXG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24ob2JqLCBmbil7XG4gIGlmICgnc3RyaW5nJyA9PSB0eXBlb2YgZm4pIGZuID0gb2JqW2ZuXTtcbiAgaWYgKCdmdW5jdGlvbicgIT0gdHlwZW9mIGZuKSB0aHJvdyBuZXcgRXJyb3IoJ2JpbmQoKSByZXF1aXJlcyBhIGZ1bmN0aW9uJyk7XG4gIHZhciBhcmdzID0gc2xpY2UuY2FsbChhcmd1bWVudHMsIDIpO1xuICByZXR1cm4gZnVuY3Rpb24oKXtcbiAgICByZXR1cm4gZm4uYXBwbHkob2JqLCBhcmdzLmNvbmNhdChzbGljZS5jYWxsKGFyZ3VtZW50cykpKTtcbiAgfVxufTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/component-bind/index.js\n"); /***/ }), /***/ "./node_modules/component-emitter/index.js": /*!*************************************************!*\ !*** ./node_modules/component-emitter/index.js ***! \*************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("\r\n/**\r\n * Expose `Emitter`.\r\n */\r\n\r\nif (true) {\r\n module.exports = Emitter;\r\n}\r\n\r\n/**\r\n * Initialize a new `Emitter`.\r\n *\r\n * @api public\r\n */\r\n\r\nfunction Emitter(obj) {\r\n if (obj) return mixin(obj);\r\n};\r\n\r\n/**\r\n * Mixin the emitter properties.\r\n *\r\n * @param {Object} obj\r\n * @return {Object}\r\n * @api private\r\n */\r\n\r\nfunction mixin(obj) {\r\n for (var key in Emitter.prototype) {\r\n obj[key] = Emitter.prototype[key];\r\n }\r\n return obj;\r\n}\r\n\r\n/**\r\n * Listen on the given `event` with `fn`.\r\n *\r\n * @param {String} event\r\n * @param {Function} fn\r\n * @return {Emitter}\r\n * @api public\r\n */\r\n\r\nEmitter.prototype.on =\r\nEmitter.prototype.addEventListener = function(event, fn){\r\n this._callbacks = this._callbacks || {};\r\n (this._callbacks['$' + event] = this._callbacks['$' + event] || [])\r\n .push(fn);\r\n return this;\r\n};\r\n\r\n/**\r\n * Adds an `event` listener that will be invoked a single\r\n * time then automatically removed.\r\n *\r\n * @param {String} event\r\n * @param {Function} fn\r\n * @return {Emitter}\r\n * @api public\r\n */\r\n\r\nEmitter.prototype.once = function(event, fn){\r\n function on() {\r\n this.off(event, on);\r\n fn.apply(this, arguments);\r\n }\r\n\r\n on.fn = fn;\r\n this.on(event, on);\r\n return this;\r\n};\r\n\r\n/**\r\n * Remove the given callback for `event` or all\r\n * registered callbacks.\r\n *\r\n * @param {String} event\r\n * @param {Function} fn\r\n * @return {Emitter}\r\n * @api public\r\n */\r\n\r\nEmitter.prototype.off =\r\nEmitter.prototype.removeListener =\r\nEmitter.prototype.removeAllListeners =\r\nEmitter.prototype.removeEventListener = function(event, fn){\r\n this._callbacks = this._callbacks || {};\r\n\r\n // all\r\n if (0 == arguments.length) {\r\n this._callbacks = {};\r\n return this;\r\n }\r\n\r\n // specific event\r\n var callbacks = this._callbacks['$' + event];\r\n if (!callbacks) return this;\r\n\r\n // remove all handlers\r\n if (1 == arguments.length) {\r\n delete this._callbacks['$' + event];\r\n return this;\r\n }\r\n\r\n // remove specific handler\r\n var cb;\r\n for (var i = 0; i < callbacks.length; i++) {\r\n cb = callbacks[i];\r\n if (cb === fn || cb.fn === fn) {\r\n callbacks.splice(i, 1);\r\n break;\r\n }\r\n }\r\n return this;\r\n};\r\n\r\n/**\r\n * Emit `event` with the given args.\r\n *\r\n * @param {String} event\r\n * @param {Mixed} ...\r\n * @return {Emitter}\r\n */\r\n\r\nEmitter.prototype.emit = function(event){\r\n this._callbacks = this._callbacks || {};\r\n var args = [].slice.call(arguments, 1)\r\n , callbacks = this._callbacks['$' + event];\r\n\r\n if (callbacks) {\r\n callbacks = callbacks.slice(0);\r\n for (var i = 0, len = callbacks.length; i < len; ++i) {\r\n callbacks[i].apply(this, args);\r\n }\r\n }\r\n\r\n return this;\r\n};\r\n\r\n/**\r\n * Return array of callbacks for `event`.\r\n *\r\n * @param {String} event\r\n * @return {Array}\r\n * @api public\r\n */\r\n\r\nEmitter.prototype.listeners = function(event){\r\n this._callbacks = this._callbacks || {};\r\n return this._callbacks['$' + event] || [];\r\n};\r\n\r\n/**\r\n * Check if this emitter has `event` handlers.\r\n *\r\n * @param {String} event\r\n * @return {Boolean}\r\n * @api public\r\n */\r\n\r\nEmitter.prototype.hasListeners = function(event){\r\n return !! this.listeners(event).length;\r\n};\r\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29tcG9uZW50LWVtaXR0ZXIvaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29tcG9uZW50LWVtaXR0ZXIvaW5kZXguanM/NzI5NyJdLCJzb3VyY2VzQ29udGVudCI6WyJcclxuLyoqXHJcbiAqIEV4cG9zZSBgRW1pdHRlcmAuXHJcbiAqL1xyXG5cclxuaWYgKHR5cGVvZiBtb2R1bGUgIT09ICd1bmRlZmluZWQnKSB7XHJcbiAgbW9kdWxlLmV4cG9ydHMgPSBFbWl0dGVyO1xyXG59XHJcblxyXG4vKipcclxuICogSW5pdGlhbGl6ZSBhIG5ldyBgRW1pdHRlcmAuXHJcbiAqXHJcbiAqIEBhcGkgcHVibGljXHJcbiAqL1xyXG5cclxuZnVuY3Rpb24gRW1pdHRlcihvYmopIHtcclxuICBpZiAob2JqKSByZXR1cm4gbWl4aW4ob2JqKTtcclxufTtcclxuXHJcbi8qKlxyXG4gKiBNaXhpbiB0aGUgZW1pdHRlciBwcm9wZXJ0aWVzLlxyXG4gKlxyXG4gKiBAcGFyYW0ge09iamVjdH0gb2JqXHJcbiAqIEByZXR1cm4ge09iamVjdH1cclxuICogQGFwaSBwcml2YXRlXHJcbiAqL1xyXG5cclxuZnVuY3Rpb24gbWl4aW4ob2JqKSB7XHJcbiAgZm9yICh2YXIga2V5IGluIEVtaXR0ZXIucHJvdG90eXBlKSB7XHJcbiAgICBvYmpba2V5XSA9IEVtaXR0ZXIucHJvdG90eXBlW2tleV07XHJcbiAgfVxyXG4gIHJldHVybiBvYmo7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBMaXN0ZW4gb24gdGhlIGdpdmVuIGBldmVudGAgd2l0aCBgZm5gLlxyXG4gKlxyXG4gKiBAcGFyYW0ge1N0cmluZ30gZXZlbnRcclxuICogQHBhcmFtIHtGdW5jdGlvbn0gZm5cclxuICogQHJldHVybiB7RW1pdHRlcn1cclxuICogQGFwaSBwdWJsaWNcclxuICovXHJcblxyXG5FbWl0dGVyLnByb3RvdHlwZS5vbiA9XHJcbkVtaXR0ZXIucHJvdG90eXBlLmFkZEV2ZW50TGlzdGVuZXIgPSBmdW5jdGlvbihldmVudCwgZm4pe1xyXG4gIHRoaXMuX2NhbGxiYWNrcyA9IHRoaXMuX2NhbGxiYWNrcyB8fCB7fTtcclxuICAodGhpcy5fY2FsbGJhY2tzWyckJyArIGV2ZW50XSA9IHRoaXMuX2NhbGxiYWNrc1snJCcgKyBldmVudF0gfHwgW10pXHJcbiAgICAucHVzaChmbik7XHJcbiAgcmV0dXJuIHRoaXM7XHJcbn07XHJcblxyXG4vKipcclxuICogQWRkcyBhbiBgZXZlbnRgIGxpc3RlbmVyIHRoYXQgd2lsbCBiZSBpbnZva2VkIGEgc2luZ2xlXHJcbiAqIHRpbWUgdGhlbiBhdXRvbWF0aWNhbGx5IHJlbW92ZWQuXHJcbiAqXHJcbiAqIEBwYXJhbSB7U3RyaW5nfSBldmVudFxyXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBmblxyXG4gKiBAcmV0dXJuIHtFbWl0dGVyfVxyXG4gKiBAYXBpIHB1YmxpY1xyXG4gKi9cclxuXHJcbkVtaXR0ZXIucHJvdG90eXBlLm9uY2UgPSBmdW5jdGlvbihldmVudCwgZm4pe1xyXG4gIGZ1bmN0aW9uIG9uKCkge1xyXG4gICAgdGhpcy5vZmYoZXZlbnQsIG9uKTtcclxuICAgIGZuLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XHJcbiAgfVxyXG5cclxuICBvbi5mbiA9IGZuO1xyXG4gIHRoaXMub24oZXZlbnQsIG9uKTtcclxuICByZXR1cm4gdGhpcztcclxufTtcclxuXHJcbi8qKlxyXG4gKiBSZW1vdmUgdGhlIGdpdmVuIGNhbGxiYWNrIGZvciBgZXZlbnRgIG9yIGFsbFxyXG4gKiByZWdpc3RlcmVkIGNhbGxiYWNrcy5cclxuICpcclxuICogQHBhcmFtIHtTdHJpbmd9IGV2ZW50XHJcbiAqIEBwYXJhbSB7RnVuY3Rpb259IGZuXHJcbiAqIEByZXR1cm4ge0VtaXR0ZXJ9XHJcbiAqIEBhcGkgcHVibGljXHJcbiAqL1xyXG5cclxuRW1pdHRlci5wcm90b3R5cGUub2ZmID1cclxuRW1pdHRlci5wcm90b3R5cGUucmVtb3ZlTGlzdGVuZXIgPVxyXG5FbWl0dGVyLnByb3RvdHlwZS5yZW1vdmVBbGxMaXN0ZW5lcnMgPVxyXG5FbWl0dGVyLnByb3RvdHlwZS5yZW1vdmVFdmVudExpc3RlbmVyID0gZnVuY3Rpb24oZXZlbnQsIGZuKXtcclxuICB0aGlzLl9jYWxsYmFja3MgPSB0aGlzLl9jYWxsYmFja3MgfHwge307XHJcblxyXG4gIC8vIGFsbFxyXG4gIGlmICgwID09IGFyZ3VtZW50cy5sZW5ndGgpIHtcclxuICAgIHRoaXMuX2NhbGxiYWNrcyA9IHt9O1xyXG4gICAgcmV0dXJuIHRoaXM7XHJcbiAgfVxyXG5cclxuICAvLyBzcGVjaWZpYyBldmVudFxyXG4gIHZhciBjYWxsYmFja3MgPSB0aGlzLl9jYWxsYmFja3NbJyQnICsgZXZlbnRdO1xyXG4gIGlmICghY2FsbGJhY2tzKSByZXR1cm4gdGhpcztcclxuXHJcbiAgLy8gcmVtb3ZlIGFsbCBoYW5kbGVyc1xyXG4gIGlmICgxID09IGFyZ3VtZW50cy5sZW5ndGgpIHtcclxuICAgIGRlbGV0ZSB0aGlzLl9jYWxsYmFja3NbJyQnICsgZXZlbnRdO1xyXG4gICAgcmV0dXJuIHRoaXM7XHJcbiAgfVxyXG5cclxuICAvLyByZW1vdmUgc3BlY2lmaWMgaGFuZGxlclxyXG4gIHZhciBjYjtcclxuICBmb3IgKHZhciBpID0gMDsgaSA8IGNhbGxiYWNrcy5sZW5ndGg7IGkrKykge1xyXG4gICAgY2IgPSBjYWxsYmFja3NbaV07XHJcbiAgICBpZiAoY2IgPT09IGZuIHx8IGNiLmZuID09PSBmbikge1xyXG4gICAgICBjYWxsYmFja3Muc3BsaWNlKGksIDEpO1xyXG4gICAgICBicmVhaztcclxuICAgIH1cclxuICB9XHJcbiAgcmV0dXJuIHRoaXM7XHJcbn07XHJcblxyXG4vKipcclxuICogRW1pdCBgZXZlbnRgIHdpdGggdGhlIGdpdmVuIGFyZ3MuXHJcbiAqXHJcbiAqIEBwYXJhbSB7U3RyaW5nfSBldmVudFxyXG4gKiBAcGFyYW0ge01peGVkfSAuLi5cclxuICogQHJldHVybiB7RW1pdHRlcn1cclxuICovXHJcblxyXG5FbWl0dGVyLnByb3RvdHlwZS5lbWl0ID0gZnVuY3Rpb24oZXZlbnQpe1xyXG4gIHRoaXMuX2NhbGxiYWNrcyA9IHRoaXMuX2NhbGxiYWNrcyB8fCB7fTtcclxuICB2YXIgYXJncyA9IFtdLnNsaWNlLmNhbGwoYXJndW1lbnRzLCAxKVxyXG4gICAgLCBjYWxsYmFja3MgPSB0aGlzLl9jYWxsYmFja3NbJyQnICsgZXZlbnRdO1xyXG5cclxuICBpZiAoY2FsbGJhY2tzKSB7XHJcbiAgICBjYWxsYmFja3MgPSBjYWxsYmFja3Muc2xpY2UoMCk7XHJcbiAgICBmb3IgKHZhciBpID0gMCwgbGVuID0gY2FsbGJhY2tzLmxlbmd0aDsgaSA8IGxlbjsgKytpKSB7XHJcbiAgICAgIGNhbGxiYWNrc1tpXS5hcHBseSh0aGlzLCBhcmdzKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJldHVybiB0aGlzO1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIFJldHVybiBhcnJheSBvZiBjYWxsYmFja3MgZm9yIGBldmVudGAuXHJcbiAqXHJcbiAqIEBwYXJhbSB7U3RyaW5nfSBldmVudFxyXG4gKiBAcmV0dXJuIHtBcnJheX1cclxuICogQGFwaSBwdWJsaWNcclxuICovXHJcblxyXG5FbWl0dGVyLnByb3RvdHlwZS5saXN0ZW5lcnMgPSBmdW5jdGlvbihldmVudCl7XHJcbiAgdGhpcy5fY2FsbGJhY2tzID0gdGhpcy5fY2FsbGJhY2tzIHx8IHt9O1xyXG4gIHJldHVybiB0aGlzLl9jYWxsYmFja3NbJyQnICsgZXZlbnRdIHx8IFtdO1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIENoZWNrIGlmIHRoaXMgZW1pdHRlciBoYXMgYGV2ZW50YCBoYW5kbGVycy5cclxuICpcclxuICogQHBhcmFtIHtTdHJpbmd9IGV2ZW50XHJcbiAqIEByZXR1cm4ge0Jvb2xlYW59XHJcbiAqIEBhcGkgcHVibGljXHJcbiAqL1xyXG5cclxuRW1pdHRlci5wcm90b3R5cGUuaGFzTGlzdGVuZXJzID0gZnVuY3Rpb24oZXZlbnQpe1xyXG4gIHJldHVybiAhISB0aGlzLmxpc3RlbmVycyhldmVudCkubGVuZ3RoO1xyXG59O1xyXG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/component-emitter/index.js\n"); /***/ }), /***/ "./node_modules/component-inherit/index.js": /*!*************************************************!*\ !*** ./node_modules/component-inherit/index.js ***! \*************************************************/ /*! no static exports found */ /***/ (function(module, exports) { eval("\nmodule.exports = function(a, b){\n var fn = function(){};\n fn.prototype = b.prototype;\n a.prototype = new fn;\n a.prototype.constructor = a;\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29tcG9uZW50LWluaGVyaXQvaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29tcG9uZW50LWluaGVyaXQvaW5kZXguanM/NjJmYSJdLCJzb3VyY2VzQ29udGVudCI6WyJcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24oYSwgYil7XG4gIHZhciBmbiA9IGZ1bmN0aW9uKCl7fTtcbiAgZm4ucHJvdG90eXBlID0gYi5wcm90b3R5cGU7XG4gIGEucHJvdG90eXBlID0gbmV3IGZuO1xuICBhLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9IGE7XG59OyJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/component-inherit/index.js\n"); /***/ }), /***/ "./node_modules/concat-map/index.js": /*!******************************************!*\ !*** ./node_modules/concat-map/index.js ***! \******************************************/ /*! no static exports found */ /***/ (function(module, exports) { eval("module.exports = function (xs, fn) {\n var res = [];\n for (var i = 0; i < xs.length; i++) {\n var x = fn(xs[i], i);\n if (isArray(x)) res.push.apply(res, x);\n else res.push(x);\n }\n return res;\n};\n\nvar isArray = Array.isArray || function (xs) {\n return Object.prototype.toString.call(xs) === '[object Array]';\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29uY2F0LW1hcC9pbmRleC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb25jYXQtbWFwL2luZGV4LmpzPzg5YzAiXSwic291cmNlc0NvbnRlbnQiOlsibW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoeHMsIGZuKSB7XG4gICAgdmFyIHJlcyA9IFtdO1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgeHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgdmFyIHggPSBmbih4c1tpXSwgaSk7XG4gICAgICAgIGlmIChpc0FycmF5KHgpKSByZXMucHVzaC5hcHBseShyZXMsIHgpO1xuICAgICAgICBlbHNlIHJlcy5wdXNoKHgpO1xuICAgIH1cbiAgICByZXR1cm4gcmVzO1xufTtcblxudmFyIGlzQXJyYXkgPSBBcnJheS5pc0FycmF5IHx8IGZ1bmN0aW9uICh4cykge1xuICAgIHJldHVybiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeHMpID09PSAnW29iamVjdCBBcnJheV0nO1xufTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/concat-map/index.js\n"); /***/ }), /***/ "./node_modules/consolidated-events/lib/index.esm.js": /*!***********************************************************!*\ !*** ./node_modules/consolidated-events/lib/index.esm.js ***! \***********************************************************/ /*! exports provided: addEventListener */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"addEventListener\", function() { return addEventListener; });\nvar CAN_USE_DOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n\n// Adapted from Modernizr\n// https://github.com/Modernizr/Modernizr/blob/acb3f0d9/feature-detects/dom/passiveeventlisteners.js#L26-L37\nfunction testPassiveEventListeners() {\n if (!CAN_USE_DOM) {\n return false;\n }\n\n if (!window.addEventListener || !window.removeEventListener || !Object.defineProperty) {\n return false;\n }\n\n var supportsPassiveOption = false;\n try {\n var opts = Object.defineProperty({}, 'passive', {\n // eslint-disable-next-line getter-return\n get: function () {\n function get() {\n supportsPassiveOption = true;\n }\n\n return get;\n }()\n });\n var noop = function noop() {};\n window.addEventListener('testPassiveEventSupport', noop, opts);\n window.removeEventListener('testPassiveEventSupport', noop, opts);\n } catch (e) {\n // do nothing\n }\n\n return supportsPassiveOption;\n}\n\nvar memoized = void 0;\n\nfunction canUsePassiveEventListeners() {\n if (memoized === undefined) {\n memoized = testPassiveEventListeners();\n }\n return memoized;\n}\n\nfunction normalizeEventOptions(eventOptions) {\n if (!eventOptions) {\n return undefined;\n }\n\n if (!canUsePassiveEventListeners()) {\n // If the browser does not support the passive option, then it is expecting\n // a boolean for the options argument to specify whether it should use\n // capture or not. In more modern browsers, this is passed via the `capture`\n // option, so let's just hoist that value up.\n return !!eventOptions.capture;\n }\n\n return eventOptions;\n}\n\n/* eslint-disable no-bitwise */\n\n/**\n * Generate a unique key for any set of event options\n */\nfunction eventOptionsKey(normalizedEventOptions) {\n if (!normalizedEventOptions) {\n return 0;\n }\n\n // If the browser does not support passive event listeners, the normalized\n // event options will be a boolean.\n if (normalizedEventOptions === true) {\n return 100;\n }\n\n // At this point, the browser supports passive event listeners, so we expect\n // the event options to be an object with possible properties of capture,\n // passive, and once.\n //\n // We want to consistently return the same value, regardless of the order of\n // these properties, so let's use binary maths to assign each property to a\n // bit, and then add those together (with an offset to account for the\n // booleans at the beginning of this function).\n var capture = normalizedEventOptions.capture << 0;\n var passive = normalizedEventOptions.passive << 1;\n var once = normalizedEventOptions.once << 2;\n return capture + passive + once;\n}\n\nfunction ensureCanMutateNextEventHandlers(eventHandlers) {\n if (eventHandlers.handlers === eventHandlers.nextHandlers) {\n // eslint-disable-next-line no-param-reassign\n eventHandlers.nextHandlers = eventHandlers.handlers.slice();\n }\n}\n\nfunction TargetEventHandlers(target) {\n this.target = target;\n this.events = {};\n}\n\nTargetEventHandlers.prototype.getEventHandlers = function () {\n function getEventHandlers(eventName, options) {\n var key = String(eventName) + ' ' + String(eventOptionsKey(options));\n\n if (!this.events[key]) {\n this.events[key] = {\n handlers: [],\n handleEvent: undefined\n };\n this.events[key].nextHandlers = this.events[key].handlers;\n }\n\n return this.events[key];\n }\n\n return getEventHandlers;\n}();\n\nTargetEventHandlers.prototype.handleEvent = function () {\n function handleEvent(eventName, options, event) {\n var eventHandlers = this.getEventHandlers(eventName, options);\n eventHandlers.handlers = eventHandlers.nextHandlers;\n eventHandlers.handlers.forEach(function (handler) {\n if (handler) {\n // We need to check for presence here because a handler function may\n // cause later handlers to get removed. This can happen if you for\n // instance have a waypoint that unmounts another waypoint as part of an\n // onEnter/onLeave handler.\n handler(event);\n }\n });\n }\n\n return handleEvent;\n}();\n\nTargetEventHandlers.prototype.add = function () {\n function add(eventName, listener, options) {\n var _this = this;\n\n // options has already been normalized at this point.\n var eventHandlers = this.getEventHandlers(eventName, options);\n\n ensureCanMutateNextEventHandlers(eventHandlers);\n\n if (eventHandlers.nextHandlers.length === 0) {\n eventHandlers.handleEvent = this.handleEvent.bind(this, eventName, options);\n\n this.target.addEventListener(eventName, eventHandlers.handleEvent, options);\n }\n\n eventHandlers.nextHandlers.push(listener);\n\n var isSubscribed = true;\n var unsubscribe = function () {\n function unsubscribe() {\n if (!isSubscribed) {\n return;\n }\n\n isSubscribed = false;\n\n ensureCanMutateNextEventHandlers(eventHandlers);\n var index = eventHandlers.nextHandlers.indexOf(listener);\n eventHandlers.nextHandlers.splice(index, 1);\n\n if (eventHandlers.nextHandlers.length === 0) {\n // All event handlers have been removed, so we want to remove the event\n // listener from the target node.\n\n if (_this.target) {\n // There can be a race condition where the target may no longer exist\n // when this function is called, e.g. when a React component is\n // unmounting. Guarding against this prevents the following error:\n //\n // Cannot read property 'removeEventListener' of undefined\n _this.target.removeEventListener(eventName, eventHandlers.handleEvent, options);\n }\n\n eventHandlers.handleEvent = undefined;\n }\n }\n\n return unsubscribe;\n }();\n return unsubscribe;\n }\n\n return add;\n}();\n\nvar EVENT_HANDLERS_KEY = '__consolidated_events_handlers__';\n\n// eslint-disable-next-line import/prefer-default-export\nfunction addEventListener(target, eventName, listener, options) {\n if (!target[EVENT_HANDLERS_KEY]) {\n // eslint-disable-next-line no-param-reassign\n target[EVENT_HANDLERS_KEY] = new TargetEventHandlers(target);\n }\n var normalizedEventOptions = normalizeEventOptions(options);\n return target[EVENT_HANDLERS_KEY].add(eventName, listener, normalizedEventOptions);\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29uc29saWRhdGVkLWV2ZW50cy9saWIvaW5kZXguZXNtLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvbnNvbGlkYXRlZC1ldmVudHMvbGliL2luZGV4LmVzbS5qcz9kNTNiIl0sInNvdXJjZXNDb250ZW50IjpbInZhciBDQU5fVVNFX0RPTSA9ICEhKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnICYmIHdpbmRvdy5kb2N1bWVudCAmJiB3aW5kb3cuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCk7XG5cbi8vIEFkYXB0ZWQgZnJvbSBNb2Rlcm5penJcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9Nb2Rlcm5penIvTW9kZXJuaXpyL2Jsb2IvYWNiM2YwZDkvZmVhdHVyZS1kZXRlY3RzL2RvbS9wYXNzaXZlZXZlbnRsaXN0ZW5lcnMuanMjTDI2LUwzN1xuZnVuY3Rpb24gdGVzdFBhc3NpdmVFdmVudExpc3RlbmVycygpIHtcbiAgaWYgKCFDQU5fVVNFX0RPTSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmICghd2luZG93LmFkZEV2ZW50TGlzdGVuZXIgfHwgIXdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyIHx8ICFPYmplY3QuZGVmaW5lUHJvcGVydHkpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICB2YXIgc3VwcG9ydHNQYXNzaXZlT3B0aW9uID0gZmFsc2U7XG4gIHRyeSB7XG4gICAgdmFyIG9wdHMgPSBPYmplY3QuZGVmaW5lUHJvcGVydHkoe30sICdwYXNzaXZlJywge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGdldHRlci1yZXR1cm5cbiAgICAgIGdldDogZnVuY3Rpb24gKCkge1xuICAgICAgICBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICAgICAgc3VwcG9ydHNQYXNzaXZlT3B0aW9uID0gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBnZXQ7XG4gICAgICB9KClcbiAgICB9KTtcbiAgICB2YXIgbm9vcCA9IGZ1bmN0aW9uIG5vb3AoKSB7fTtcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigndGVzdFBhc3NpdmVFdmVudFN1cHBvcnQnLCBub29wLCBvcHRzKTtcbiAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigndGVzdFBhc3NpdmVFdmVudFN1cHBvcnQnLCBub29wLCBvcHRzKTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIC8vIGRvIG5vdGhpbmdcbiAgfVxuXG4gIHJldHVybiBzdXBwb3J0c1Bhc3NpdmVPcHRpb247XG59XG5cbnZhciBtZW1vaXplZCA9IHZvaWQgMDtcblxuZnVuY3Rpb24gY2FuVXNlUGFzc2l2ZUV2ZW50TGlzdGVuZXJzKCkge1xuICBpZiAobWVtb2l6ZWQgPT09IHVuZGVmaW5lZCkge1xuICAgIG1lbW9pemVkID0gdGVzdFBhc3NpdmVFdmVudExpc3RlbmVycygpO1xuICB9XG4gIHJldHVybiBtZW1vaXplZDtcbn1cblxuZnVuY3Rpb24gbm9ybWFsaXplRXZlbnRPcHRpb25zKGV2ZW50T3B0aW9ucykge1xuICBpZiAoIWV2ZW50T3B0aW9ucykge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBpZiAoIWNhblVzZVBhc3NpdmVFdmVudExpc3RlbmVycygpKSB7XG4gICAgLy8gSWYgdGhlIGJyb3dzZXIgZG9lcyBub3Qgc3VwcG9ydCB0aGUgcGFzc2l2ZSBvcHRpb24sIHRoZW4gaXQgaXMgZXhwZWN0aW5nXG4gICAgLy8gYSBib29sZWFuIGZvciB0aGUgb3B0aW9ucyBhcmd1bWVudCB0byBzcGVjaWZ5IHdoZXRoZXIgaXQgc2hvdWxkIHVzZVxuICAgIC8vIGNhcHR1cmUgb3Igbm90LiBJbiBtb3JlIG1vZGVybiBicm93c2VycywgdGhpcyBpcyBwYXNzZWQgdmlhIHRoZSBgY2FwdHVyZWBcbiAgICAvLyBvcHRpb24sIHNvIGxldCdzIGp1c3QgaG9pc3QgdGhhdCB2YWx1ZSB1cC5cbiAgICByZXR1cm4gISFldmVudE9wdGlvbnMuY2FwdHVyZTtcbiAgfVxuXG4gIHJldHVybiBldmVudE9wdGlvbnM7XG59XG5cbi8qIGVzbGludC1kaXNhYmxlIG5vLWJpdHdpc2UgKi9cblxuLyoqXG4gKiBHZW5lcmF0ZSBhIHVuaXF1ZSBrZXkgZm9yIGFueSBzZXQgb2YgZXZlbnQgb3B0aW9uc1xuICovXG5mdW5jdGlvbiBldmVudE9wdGlvbnNLZXkobm9ybWFsaXplZEV2ZW50T3B0aW9ucykge1xuICBpZiAoIW5vcm1hbGl6ZWRFdmVudE9wdGlvbnMpIHtcbiAgICByZXR1cm4gMDtcbiAgfVxuXG4gIC8vIElmIHRoZSBicm93c2VyIGRvZXMgbm90IHN1cHBvcnQgcGFzc2l2ZSBldmVudCBsaXN0ZW5lcnMsIHRoZSBub3JtYWxpemVkXG4gIC8vIGV2ZW50IG9wdGlvbnMgd2lsbCBiZSBhIGJvb2xlYW4uXG4gIGlmIChub3JtYWxpemVkRXZlbnRPcHRpb25zID09PSB0cnVlKSB7XG4gICAgcmV0dXJuIDEwMDtcbiAgfVxuXG4gIC8vIEF0IHRoaXMgcG9pbnQsIHRoZSBicm93c2VyIHN1cHBvcnRzIHBhc3NpdmUgZXZlbnQgbGlzdGVuZXJzLCBzbyB3ZSBleHBlY3RcbiAgLy8gdGhlIGV2ZW50IG9wdGlvbnMgdG8gYmUgYW4gb2JqZWN0IHdpdGggcG9zc2libGUgcHJvcGVydGllcyBvZiBjYXB0dXJlLFxuICAvLyBwYXNzaXZlLCBhbmQgb25jZS5cbiAgLy9cbiAgLy8gV2Ugd2FudCB0byBjb25zaXN0ZW50bHkgcmV0dXJuIHRoZSBzYW1lIHZhbHVlLCByZWdhcmRsZXNzIG9mIHRoZSBvcmRlciBvZlxuICAvLyB0aGVzZSBwcm9wZXJ0aWVzLCBzbyBsZXQncyB1c2UgYmluYXJ5IG1hdGhzIHRvIGFzc2lnbiBlYWNoIHByb3BlcnR5IHRvIGFcbiAgLy8gYml0LCBhbmQgdGhlbiBhZGQgdGhvc2UgdG9nZXRoZXIgKHdpdGggYW4gb2Zmc2V0IHRvIGFjY291bnQgZm9yIHRoZVxuICAvLyBib29sZWFucyBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoaXMgZnVuY3Rpb24pLlxuICB2YXIgY2FwdHVyZSA9IG5vcm1hbGl6ZWRFdmVudE9wdGlvbnMuY2FwdHVyZSA8PCAwO1xuICB2YXIgcGFzc2l2ZSA9IG5vcm1hbGl6ZWRFdmVudE9wdGlvbnMucGFzc2l2ZSA8PCAxO1xuICB2YXIgb25jZSA9IG5vcm1hbGl6ZWRFdmVudE9wdGlvbnMub25jZSA8PCAyO1xuICByZXR1cm4gY2FwdHVyZSArIHBhc3NpdmUgKyBvbmNlO1xufVxuXG5mdW5jdGlvbiBlbnN1cmVDYW5NdXRhdGVOZXh0RXZlbnRIYW5kbGVycyhldmVudEhhbmRsZXJzKSB7XG4gIGlmIChldmVudEhhbmRsZXJzLmhhbmRsZXJzID09PSBldmVudEhhbmRsZXJzLm5leHRIYW5kbGVycykge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1wYXJhbS1yZWFzc2lnblxuICAgIGV2ZW50SGFuZGxlcnMubmV4dEhhbmRsZXJzID0gZXZlbnRIYW5kbGVycy5oYW5kbGVycy5zbGljZSgpO1xuICB9XG59XG5cbmZ1bmN0aW9uIFRhcmdldEV2ZW50SGFuZGxlcnModGFyZ2V0KSB7XG4gIHRoaXMudGFyZ2V0ID0gdGFyZ2V0O1xuICB0aGlzLmV2ZW50cyA9IHt9O1xufVxuXG5UYXJnZXRFdmVudEhhbmRsZXJzLnByb3RvdHlwZS5nZXRFdmVudEhhbmRsZXJzID0gZnVuY3Rpb24gKCkge1xuICBmdW5jdGlvbiBnZXRFdmVudEhhbmRsZXJzKGV2ZW50TmFtZSwgb3B0aW9ucykge1xuICAgIHZhciBrZXkgPSBTdHJpbmcoZXZlbnROYW1lKSArICcgJyArIFN0cmluZyhldmVudE9wdGlvbnNLZXkob3B0aW9ucykpO1xuXG4gICAgaWYgKCF0aGlzLmV2ZW50c1trZXldKSB7XG4gICAgICB0aGlzLmV2ZW50c1trZXldID0ge1xuICAgICAgICBoYW5kbGVyczogW10sXG4gICAgICAgIGhhbmRsZUV2ZW50OiB1bmRlZmluZWRcbiAgICAgIH07XG4gICAgICB0aGlzLmV2ZW50c1trZXldLm5leHRIYW5kbGVycyA9IHRoaXMuZXZlbnRzW2tleV0uaGFuZGxlcnM7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuZXZlbnRzW2tleV07XG4gIH1cblxuICByZXR1cm4gZ2V0RXZlbnRIYW5kbGVycztcbn0oKTtcblxuVGFyZ2V0RXZlbnRIYW5kbGVycy5wcm90b3R5cGUuaGFuZGxlRXZlbnQgPSBmdW5jdGlvbiAoKSB7XG4gIGZ1bmN0aW9uIGhhbmRsZUV2ZW50KGV2ZW50TmFtZSwgb3B0aW9ucywgZXZlbnQpIHtcbiAgICB2YXIgZXZlbnRIYW5kbGVycyA9IHRoaXMuZ2V0RXZlbnRIYW5kbGVycyhldmVudE5hbWUsIG9wdGlvbnMpO1xuICAgIGV2ZW50SGFuZGxlcnMuaGFuZGxlcnMgPSBldmVudEhhbmRsZXJzLm5leHRIYW5kbGVycztcbiAgICBldmVudEhhbmRsZXJzLmhhbmRsZXJzLmZvckVhY2goZnVuY3Rpb24gKGhhbmRsZXIpIHtcbiAgICAgIGlmIChoYW5kbGVyKSB7XG4gICAgICAgIC8vIFdlIG5lZWQgdG8gY2hlY2sgZm9yIHByZXNlbmNlIGhlcmUgYmVjYXVzZSBhIGhhbmRsZXIgZnVuY3Rpb24gbWF5XG4gICAgICAgIC8vIGNhdXNlIGxhdGVyIGhhbmRsZXJzIHRvIGdldCByZW1vdmVkLiBUaGlzIGNhbiBoYXBwZW4gaWYgeW91IGZvclxuICAgICAgICAvLyBpbnN0YW5jZSBoYXZlIGEgd2F5cG9pbnQgdGhhdCB1bm1vdW50cyBhbm90aGVyIHdheXBvaW50IGFzIHBhcnQgb2YgYW5cbiAgICAgICAgLy8gb25FbnRlci9vbkxlYXZlIGhhbmRsZXIuXG4gICAgICAgIGhhbmRsZXIoZXZlbnQpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIGhhbmRsZUV2ZW50O1xufSgpO1xuXG5UYXJnZXRFdmVudEhhbmRsZXJzLnByb3RvdHlwZS5hZGQgPSBmdW5jdGlvbiAoKSB7XG4gIGZ1bmN0aW9uIGFkZChldmVudE5hbWUsIGxpc3RlbmVyLCBvcHRpb25zKSB7XG4gICAgdmFyIF90aGlzID0gdGhpcztcblxuICAgIC8vIG9wdGlvbnMgaGFzIGFscmVhZHkgYmVlbiBub3JtYWxpemVkIGF0IHRoaXMgcG9pbnQuXG4gICAgdmFyIGV2ZW50SGFuZGxlcnMgPSB0aGlzLmdldEV2ZW50SGFuZGxlcnMoZXZlbnROYW1lLCBvcHRpb25zKTtcblxuICAgIGVuc3VyZUNhbk11dGF0ZU5leHRFdmVudEhhbmRsZXJzKGV2ZW50SGFuZGxlcnMpO1xuXG4gICAgaWYgKGV2ZW50SGFuZGxlcnMubmV4dEhhbmRsZXJzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgZXZlbnRIYW5kbGVycy5oYW5kbGVFdmVudCA9IHRoaXMuaGFuZGxlRXZlbnQuYmluZCh0aGlzLCBldmVudE5hbWUsIG9wdGlvbnMpO1xuXG4gICAgICB0aGlzLnRhcmdldC5hZGRFdmVudExpc3RlbmVyKGV2ZW50TmFtZSwgZXZlbnRIYW5kbGVycy5oYW5kbGVFdmVudCwgb3B0aW9ucyk7XG4gICAgfVxuXG4gICAgZXZlbnRIYW5kbGVycy5uZXh0SGFuZGxlcnMucHVzaChsaXN0ZW5lcik7XG5cbiAgICB2YXIgaXNTdWJzY3JpYmVkID0gdHJ1ZTtcbiAgICB2YXIgdW5zdWJzY3JpYmUgPSBmdW5jdGlvbiAoKSB7XG4gICAgICBmdW5jdGlvbiB1bnN1YnNjcmliZSgpIHtcbiAgICAgICAgaWYgKCFpc1N1YnNjcmliZWQpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpc1N1YnNjcmliZWQgPSBmYWxzZTtcblxuICAgICAgICBlbnN1cmVDYW5NdXRhdGVOZXh0RXZlbnRIYW5kbGVycyhldmVudEhhbmRsZXJzKTtcbiAgICAgICAgdmFyIGluZGV4ID0gZXZlbnRIYW5kbGVycy5uZXh0SGFuZGxlcnMuaW5kZXhPZihsaXN0ZW5lcik7XG4gICAgICAgIGV2ZW50SGFuZGxlcnMubmV4dEhhbmRsZXJzLnNwbGljZShpbmRleCwgMSk7XG5cbiAgICAgICAgaWYgKGV2ZW50SGFuZGxlcnMubmV4dEhhbmRsZXJzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgIC8vIEFsbCBldmVudCBoYW5kbGVycyBoYXZlIGJlZW4gcmVtb3ZlZCwgc28gd2Ugd2FudCB0byByZW1vdmUgdGhlIGV2ZW50XG4gICAgICAgICAgLy8gbGlzdGVuZXIgZnJvbSB0aGUgdGFyZ2V0IG5vZGUuXG5cbiAgICAgICAgICBpZiAoX3RoaXMudGFyZ2V0KSB7XG4gICAgICAgICAgICAvLyBUaGVyZSBjYW4gYmUgYSByYWNlIGNvbmRpdGlvbiB3aGVyZSB0aGUgdGFyZ2V0IG1heSBubyBsb25nZXIgZXhpc3RcbiAgICAgICAgICAgIC8vIHdoZW4gdGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQsIGUuZy4gd2hlbiBhIFJlYWN0IGNvbXBvbmVudCBpc1xuICAgICAgICAgICAgLy8gdW5tb3VudGluZy4gR3VhcmRpbmcgYWdhaW5zdCB0aGlzIHByZXZlbnRzIHRoZSBmb2xsb3dpbmcgZXJyb3I6XG4gICAgICAgICAgICAvL1xuICAgICAgICAgICAgLy8gICBDYW5ub3QgcmVhZCBwcm9wZXJ0eSAncmVtb3ZlRXZlbnRMaXN0ZW5lcicgb2YgdW5kZWZpbmVkXG4gICAgICAgICAgICBfdGhpcy50YXJnZXQucmVtb3ZlRXZlbnRMaXN0ZW5lcihldmVudE5hbWUsIGV2ZW50SGFuZGxlcnMuaGFuZGxlRXZlbnQsIG9wdGlvbnMpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGV2ZW50SGFuZGxlcnMuaGFuZGxlRXZlbnQgPSB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHVuc3Vic2NyaWJlO1xuICAgIH0oKTtcbiAgICByZXR1cm4gdW5zdWJzY3JpYmU7XG4gIH1cblxuICByZXR1cm4gYWRkO1xufSgpO1xuXG52YXIgRVZFTlRfSEFORExFUlNfS0VZID0gJ19fY29uc29saWRhdGVkX2V2ZW50c19oYW5kbGVyc19fJztcblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9wcmVmZXItZGVmYXVsdC1leHBvcnRcbmZ1bmN0aW9uIGFkZEV2ZW50TGlzdGVuZXIodGFyZ2V0LCBldmVudE5hbWUsIGxpc3RlbmVyLCBvcHRpb25zKSB7XG4gIGlmICghdGFyZ2V0W0VWRU5UX0hBTkRMRVJTX0tFWV0pIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcGFyYW0tcmVhc3NpZ25cbiAgICB0YXJnZXRbRVZFTlRfSEFORExFUlNfS0VZXSA9IG5ldyBUYXJnZXRFdmVudEhhbmRsZXJzKHRhcmdldCk7XG4gIH1cbiAgdmFyIG5vcm1hbGl6ZWRFdmVudE9wdGlvbnMgPSBub3JtYWxpemVFdmVudE9wdGlvbnMob3B0aW9ucyk7XG4gIHJldHVybiB0YXJnZXRbRVZFTlRfSEFORExFUlNfS0VZXS5hZGQoZXZlbnROYW1lLCBsaXN0ZW5lciwgbm9ybWFsaXplZEV2ZW50T3B0aW9ucyk7XG59XG5cbmV4cG9ydCB7IGFkZEV2ZW50TGlzdGVuZXIgfTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/consolidated-events/lib/index.esm.js\n"); /***/ }), /***/ "./node_modules/copy-to-clipboard/index.js": /*!*************************************************!*\ !*** ./node_modules/copy-to-clipboard/index.js ***! \*************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; eval("\n\nvar deselectCurrent = __webpack_require__(/*! toggle-selection */ \"./node_modules/toggle-selection/index.js\");\n\nvar defaultMessage = \"Copy to clipboard: #{key}, Enter\";\n\nfunction format(message) {\n var copyKey = (/mac os x/i.test(navigator.userAgent) ? \"⌘\" : \"Ctrl\") + \"+C\";\n return message.replace(/#{\\s*key\\s*}/g, copyKey);\n}\n\nfunction copy(text, options) {\n var debug,\n message,\n reselectPrevious,\n range,\n selection,\n mark,\n success = false;\n if (!options) {\n options = {};\n }\n debug = options.debug || false;\n try {\n reselectPrevious = deselectCurrent();\n\n range = document.createRange();\n selection = document.getSelection();\n\n mark = document.createElement(\"span\");\n mark.textContent = text;\n // reset user styles for span element\n mark.style.all = \"unset\";\n // prevents scrolling to the end of the page\n mark.style.position = \"fixed\";\n mark.style.top = 0;\n mark.style.clip = \"rect(0, 0, 0, 0)\";\n // used to preserve spaces and line breaks\n mark.style.whiteSpace = \"pre\";\n // do not inherit user-select (it may be `none`)\n mark.style.webkitUserSelect = \"text\";\n mark.style.MozUserSelect = \"text\";\n mark.style.msUserSelect = \"text\";\n mark.style.userSelect = \"text\";\n mark.addEventListener(\"copy\", function(e) {\n e.stopPropagation();\n if (options.format) {\n e.preventDefault();\n e.clipboardData.clearData();\n e.clipboardData.setData(options.format, text);\n }\n });\n\n document.body.appendChild(mark);\n\n range.selectNodeContents(mark);\n selection.addRange(range);\n\n var successful = document.execCommand(\"copy\");\n if (!successful) {\n throw new Error(\"copy command was unsuccessful\");\n }\n success = true;\n } catch (err) {\n debug && console.error(\"unable to copy using execCommand: \", err);\n debug && console.warn(\"trying IE specific stuff\");\n try {\n window.clipboardData.setData(options.format || \"text\", text);\n success = true;\n } catch (err) {\n debug && console.error(\"unable to copy using clipboardData: \", err);\n debug && console.error(\"falling back to prompt\");\n message = format(\"message\" in options ? options.message : defaultMessage);\n window.prompt(message, text);\n }\n } finally {\n if (selection) {\n if (typeof selection.removeRange == \"function\") {\n selection.removeRange(range);\n } else {\n selection.removeAllRanges();\n }\n }\n\n if (mark) {\n document.body.removeChild(mark);\n }\n reselectPrevious();\n }\n\n return success;\n}\n\nmodule.exports = copy;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29weS10by1jbGlwYm9hcmQvaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29weS10by1jbGlwYm9hcmQvaW5kZXguanM/ZjkwNCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxudmFyIGRlc2VsZWN0Q3VycmVudCA9IHJlcXVpcmUoXCJ0b2dnbGUtc2VsZWN0aW9uXCIpO1xuXG52YXIgZGVmYXVsdE1lc3NhZ2UgPSBcIkNvcHkgdG8gY2xpcGJvYXJkOiAje2tleX0sIEVudGVyXCI7XG5cbmZ1bmN0aW9uIGZvcm1hdChtZXNzYWdlKSB7XG4gIHZhciBjb3B5S2V5ID0gKC9tYWMgb3MgeC9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCkgPyBcIuKMmFwiIDogXCJDdHJsXCIpICsgXCIrQ1wiO1xuICByZXR1cm4gbWVzc2FnZS5yZXBsYWNlKC8je1xccyprZXlcXHMqfS9nLCBjb3B5S2V5KTtcbn1cblxuZnVuY3Rpb24gY29weSh0ZXh0LCBvcHRpb25zKSB7XG4gIHZhciBkZWJ1ZyxcbiAgICBtZXNzYWdlLFxuICAgIHJlc2VsZWN0UHJldmlvdXMsXG4gICAgcmFuZ2UsXG4gICAgc2VsZWN0aW9uLFxuICAgIG1hcmssXG4gICAgc3VjY2VzcyA9IGZhbHNlO1xuICBpZiAoIW9wdGlvbnMpIHtcbiAgICBvcHRpb25zID0ge307XG4gIH1cbiAgZGVidWcgPSBvcHRpb25zLmRlYnVnIHx8IGZhbHNlO1xuICB0cnkge1xuICAgIHJlc2VsZWN0UHJldmlvdXMgPSBkZXNlbGVjdEN1cnJlbnQoKTtcblxuICAgIHJhbmdlID0gZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTtcbiAgICBzZWxlY3Rpb24gPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTtcblxuICAgIG1hcmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwic3BhblwiKTtcbiAgICBtYXJrLnRleHRDb250ZW50ID0gdGV4dDtcbiAgICAvLyByZXNldCB1c2VyIHN0eWxlcyBmb3Igc3BhbiBlbGVtZW50XG4gICAgbWFyay5zdHlsZS5hbGwgPSBcInVuc2V0XCI7XG4gICAgLy8gcHJldmVudHMgc2Nyb2xsaW5nIHRvIHRoZSBlbmQgb2YgdGhlIHBhZ2VcbiAgICBtYXJrLnN0eWxlLnBvc2l0aW9uID0gXCJmaXhlZFwiO1xuICAgIG1hcmsuc3R5bGUudG9wID0gMDtcbiAgICBtYXJrLnN0eWxlLmNsaXAgPSBcInJlY3QoMCwgMCwgMCwgMClcIjtcbiAgICAvLyB1c2VkIHRvIHByZXNlcnZlIHNwYWNlcyBhbmQgbGluZSBicmVha3NcbiAgICBtYXJrLnN0eWxlLndoaXRlU3BhY2UgPSBcInByZVwiO1xuICAgIC8vIGRvIG5vdCBpbmhlcml0IHVzZXItc2VsZWN0IChpdCBtYXkgYmUgYG5vbmVgKVxuICAgIG1hcmsuc3R5bGUud2Via2l0VXNlclNlbGVjdCA9IFwidGV4dFwiO1xuICAgIG1hcmsuc3R5bGUuTW96VXNlclNlbGVjdCA9IFwidGV4dFwiO1xuICAgIG1hcmsuc3R5bGUubXNVc2VyU2VsZWN0ID0gXCJ0ZXh0XCI7XG4gICAgbWFyay5zdHlsZS51c2VyU2VsZWN0ID0gXCJ0ZXh0XCI7XG4gICAgbWFyay5hZGRFdmVudExpc3RlbmVyKFwiY29weVwiLCBmdW5jdGlvbihlKSB7XG4gICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgaWYgKG9wdGlvbnMuZm9ybWF0KSB7XG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZS5jbGlwYm9hcmREYXRhLmNsZWFyRGF0YSgpO1xuICAgICAgICBlLmNsaXBib2FyZERhdGEuc2V0RGF0YShvcHRpb25zLmZvcm1hdCwgdGV4dCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKG1hcmspO1xuXG4gICAgcmFuZ2Uuc2VsZWN0Tm9kZUNvbnRlbnRzKG1hcmspO1xuICAgIHNlbGVjdGlvbi5hZGRSYW5nZShyYW5nZSk7XG5cbiAgICB2YXIgc3VjY2Vzc2Z1bCA9IGRvY3VtZW50LmV4ZWNDb21tYW5kKFwiY29weVwiKTtcbiAgICBpZiAoIXN1Y2Nlc3NmdWwpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcImNvcHkgY29tbWFuZCB3YXMgdW5zdWNjZXNzZnVsXCIpO1xuICAgIH1cbiAgICBzdWNjZXNzID0gdHJ1ZTtcbiAgfSBjYXRjaCAoZXJyKSB7XG4gICAgZGVidWcgJiYgY29uc29sZS5lcnJvcihcInVuYWJsZSB0byBjb3B5IHVzaW5nIGV4ZWNDb21tYW5kOiBcIiwgZXJyKTtcbiAgICBkZWJ1ZyAmJiBjb25zb2xlLndhcm4oXCJ0cnlpbmcgSUUgc3BlY2lmaWMgc3R1ZmZcIik7XG4gICAgdHJ5IHtcbiAgICAgIHdpbmRvdy5jbGlwYm9hcmREYXRhLnNldERhdGEob3B0aW9ucy5mb3JtYXQgfHwgXCJ0ZXh0XCIsIHRleHQpO1xuICAgICAgc3VjY2VzcyA9IHRydWU7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBkZWJ1ZyAmJiBjb25zb2xlLmVycm9yKFwidW5hYmxlIHRvIGNvcHkgdXNpbmcgY2xpcGJvYXJkRGF0YTogXCIsIGVycik7XG4gICAgICBkZWJ1ZyAmJiBjb25zb2xlLmVycm9yKFwiZmFsbGluZyBiYWNrIHRvIHByb21wdFwiKTtcbiAgICAgIG1lc3NhZ2UgPSBmb3JtYXQoXCJtZXNzYWdlXCIgaW4gb3B0aW9ucyA/IG9wdGlvbnMubWVzc2FnZSA6IGRlZmF1bHRNZXNzYWdlKTtcbiAgICAgIHdpbmRvdy5wcm9tcHQobWVzc2FnZSwgdGV4dCk7XG4gICAgfVxuICB9IGZpbmFsbHkge1xuICAgIGlmIChzZWxlY3Rpb24pIHtcbiAgICAgIGlmICh0eXBlb2Ygc2VsZWN0aW9uLnJlbW92ZVJhbmdlID09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICBzZWxlY3Rpb24ucmVtb3ZlUmFuZ2UocmFuZ2UpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc2VsZWN0aW9uLnJlbW92ZUFsbFJhbmdlcygpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChtYXJrKSB7XG4gICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKG1hcmspO1xuICAgIH1cbiAgICByZXNlbGVjdFByZXZpb3VzKCk7XG4gIH1cblxuICByZXR1cm4gc3VjY2Vzcztcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBjb3B5O1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/copy-to-clipboard/index.js\n"); /***/ }), /***/ "./node_modules/core-js/fn/number/index.js": /*!*************************************************!*\ !*** ./node_modules/core-js/fn/number/index.js ***! \*************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("__webpack_require__(/*! ../../modules/es6.number.constructor */ \"./node_modules/core-js/modules/es6.number.constructor.js\");\n__webpack_require__(/*! ../../modules/es6.number.epsilon */ \"./node_modules/core-js/modules/es6.number.epsilon.js\");\n__webpack_require__(/*! ../../modules/es6.number.is-finite */ \"./node_modules/core-js/modules/es6.number.is-finite.js\");\n__webpack_require__(/*! ../../modules/es6.number.is-integer */ \"./node_modules/core-js/modules/es6.number.is-integer.js\");\n__webpack_require__(/*! ../../modules/es6.number.is-nan */ \"./node_modules/core-js/modules/es6.number.is-nan.js\");\n__webpack_require__(/*! ../../modules/es6.number.is-safe-integer */ \"./node_modules/core-js/modules/es6.number.is-safe-integer.js\");\n__webpack_require__(/*! ../../modules/es6.number.max-safe-integer */ \"./node_modules/core-js/modules/es6.number.max-safe-integer.js\");\n__webpack_require__(/*! ../../modules/es6.number.min-safe-integer */ \"./node_modules/core-js/modules/es6.number.min-safe-integer.js\");\n__webpack_require__(/*! ../../modules/es6.number.parse-float */ \"./node_modules/core-js/modules/es6.number.parse-float.js\");\n__webpack_require__(/*! ../../modules/es6.number.parse-int */ \"./node_modules/core-js/modules/es6.number.parse-int.js\");\n__webpack_require__(/*! ../../modules/es6.number.to-fixed */ \"./node_modules/core-js/modules/es6.number.to-fixed.js\");\n__webpack_require__(/*! ../../modules/es6.number.to-precision */ \"./node_modules/core-js/modules/es6.number.to-precision.js\");\n__webpack_require__(/*! ../../modules/core.number.iterator */ \"./node_modules/core-js/modules/core.number.iterator.js\");\nmodule.exports = __webpack_require__(/*! ../../modules/_core */ \"./node_modules/core-js/modules/_core.js\").Number;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9mbi9udW1iZXIvaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9mbi9udW1iZXIvaW5kZXguanM/ZGQzMiJdLCJzb3VyY2VzQ29udGVudCI6WyJyZXF1aXJlKCcuLi8uLi9tb2R1bGVzL2VzNi5udW1iZXIuY29uc3RydWN0b3InKTtcbnJlcXVpcmUoJy4uLy4uL21vZHVsZXMvZXM2Lm51bWJlci5lcHNpbG9uJyk7XG5yZXF1aXJlKCcuLi8uLi9tb2R1bGVzL2VzNi5udW1iZXIuaXMtZmluaXRlJyk7XG5yZXF1aXJlKCcuLi8uLi9tb2R1bGVzL2VzNi5udW1iZXIuaXMtaW50ZWdlcicpO1xucmVxdWlyZSgnLi4vLi4vbW9kdWxlcy9lczYubnVtYmVyLmlzLW5hbicpO1xucmVxdWlyZSgnLi4vLi4vbW9kdWxlcy9lczYubnVtYmVyLmlzLXNhZmUtaW50ZWdlcicpO1xucmVxdWlyZSgnLi4vLi4vbW9kdWxlcy9lczYubnVtYmVyLm1heC1zYWZlLWludGVnZXInKTtcbnJlcXVpcmUoJy4uLy4uL21vZHVsZXMvZXM2Lm51bWJlci5taW4tc2FmZS1pbnRlZ2VyJyk7XG5yZXF1aXJlKCcuLi8uLi9tb2R1bGVzL2VzNi5udW1iZXIucGFyc2UtZmxvYXQnKTtcbnJlcXVpcmUoJy4uLy4uL21vZHVsZXMvZXM2Lm51bWJlci5wYXJzZS1pbnQnKTtcbnJlcXVpcmUoJy4uLy4uL21vZHVsZXMvZXM2Lm51bWJlci50by1maXhlZCcpO1xucmVxdWlyZSgnLi4vLi4vbW9kdWxlcy9lczYubnVtYmVyLnRvLXByZWNpc2lvbicpO1xucmVxdWlyZSgnLi4vLi4vbW9kdWxlcy9jb3JlLm51bWJlci5pdGVyYXRvcicpO1xubW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuLi8uLi9tb2R1bGVzL19jb3JlJykuTnVtYmVyO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/core-js/fn/number/index.js\n"); /***/ }), /***/ "./node_modules/core-js/library/fn/date/now.js": /*!*****************************************************!*\ !*** ./node_modules/core-js/library/fn/date/now.js ***! \*****************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("__webpack_require__(/*! ../../modules/es6.date.now */ \"./node_modules/core-js/library/modules/es6.date.now.js\");\nmodule.exports = __webpack_require__(/*! ../../modules/_core */ \"./node_modules/core-js/library/modules/_core.js\").Date.now;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L2ZuL2RhdGUvbm93LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9mbi9kYXRlL25vdy5qcz9lODI5Il0sInNvdXJjZXNDb250ZW50IjpbInJlcXVpcmUoJy4uLy4uL21vZHVsZXMvZXM2LmRhdGUubm93Jyk7XG5tb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4uLy4uL21vZHVsZXMvX2NvcmUnKS5EYXRlLm5vdztcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/core-js/library/fn/date/now.js\n"); /***/ }), /***/ "./node_modules/core-js/library/fn/number/is-integer.js": /*!**************************************************************!*\ !*** ./node_modules/core-js/library/fn/number/is-integer.js ***! \**************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("__webpack_require__(/*! ../../modules/es6.number.is-integer */ \"./node_modules/core-js/library/modules/es6.number.is-integer.js\");\nmodule.exports = __webpack_require__(/*! ../../modules/_core */ \"./node_modules/core-js/library/modules/_core.js\").Number.isInteger;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L2ZuL251bWJlci9pcy1pbnRlZ2VyLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9mbi9udW1iZXIvaXMtaW50ZWdlci5qcz84NzkwIl0sInNvdXJjZXNDb250ZW50IjpbInJlcXVpcmUoJy4uLy4uL21vZHVsZXMvZXM2Lm51bWJlci5pcy1pbnRlZ2VyJyk7XG5tb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4uLy4uL21vZHVsZXMvX2NvcmUnKS5OdW1iZXIuaXNJbnRlZ2VyO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/core-js/library/fn/number/is-integer.js\n"); /***/ }), /***/ "./node_modules/core-js/library/fn/object/assign.js": /*!**********************************************************!*\ !*** ./node_modules/core-js/library/fn/object/assign.js ***! \**********************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("__webpack_require__(/*! ../../modules/es6.object.assign */ \"./node_modules/core-js/library/modules/es6.object.assign.js\");\nmodule.exports = __webpack_require__(/*! ../../modules/_core */ \"./node_modules/core-js/library/modules/_core.js\").Object.assign;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L2ZuL29iamVjdC9hc3NpZ24uanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L2ZuL29iamVjdC9hc3NpZ24uanM/NTFiNiJdLCJzb3VyY2VzQ29udGVudCI6WyJyZXF1aXJlKCcuLi8uLi9tb2R1bGVzL2VzNi5vYmplY3QuYXNzaWduJyk7XG5tb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4uLy4uL21vZHVsZXMvX2NvcmUnKS5PYmplY3QuYXNzaWduO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/core-js/library/fn/object/assign.js\n"); /***/ }), /***/ "./node_modules/core-js/library/fn/object/create.js": /*!**********************************************************!*\ !*** ./node_modules/core-js/library/fn/object/create.js ***! \**********************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("__webpack_require__(/*! ../../modules/es6.object.create */ \"./node_modules/core-js/library/modules/es6.object.create.js\");\nvar $Object = __webpack_require__(/*! ../../modules/_core */ \"./node_modules/core-js/library/modules/_core.js\").Object;\nmodule.exports = function create(P, D) {\n return $Object.create(P, D);\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L2ZuL29iamVjdC9jcmVhdGUuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L2ZuL29iamVjdC9jcmVhdGUuanM/ZGM2MiJdLCJzb3VyY2VzQ29udGVudCI6WyJyZXF1aXJlKCcuLi8uLi9tb2R1bGVzL2VzNi5vYmplY3QuY3JlYXRlJyk7XG52YXIgJE9iamVjdCA9IHJlcXVpcmUoJy4uLy4uL21vZHVsZXMvX2NvcmUnKS5PYmplY3Q7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIGNyZWF0ZShQLCBEKSB7XG4gIHJldHVybiAkT2JqZWN0LmNyZWF0ZShQLCBEKTtcbn07XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/core-js/library/fn/object/create.js\n"); /***/ }), /***/ "./node_modules/core-js/library/fn/object/keys.js": /*!********************************************************!*\ !*** ./node_modules/core-js/library/fn/object/keys.js ***! \********************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("__webpack_require__(/*! ../../modules/es6.object.keys */ \"./node_modules/core-js/library/modules/es6.object.keys.js\");\nmodule.exports = __webpack_require__(/*! ../../modules/_core */ \"./node_modules/core-js/library/modules/_core.js\").Object.keys;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L2ZuL29iamVjdC9rZXlzLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9mbi9vYmplY3Qva2V5cy5qcz84YWFlIl0sInNvdXJjZXNDb250ZW50IjpbInJlcXVpcmUoJy4uLy4uL21vZHVsZXMvZXM2Lm9iamVjdC5rZXlzJyk7XG5tb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4uLy4uL21vZHVsZXMvX2NvcmUnKS5PYmplY3Qua2V5cztcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/core-js/library/fn/object/keys.js\n"); /***/ }), /***/ "./node_modules/core-js/library/fn/object/values.js": /*!**********************************************************!*\ !*** ./node_modules/core-js/library/fn/object/values.js ***! \**********************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("__webpack_require__(/*! ../../modules/es7.object.values */ \"./node_modules/core-js/library/modules/es7.object.values.js\");\nmodule.exports = __webpack_require__(/*! ../../modules/_core */ \"./node_modules/core-js/library/modules/_core.js\").Object.values;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L2ZuL29iamVjdC92YWx1ZXMuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L2ZuL29iamVjdC92YWx1ZXMuanM/OWUxYyJdLCJzb3VyY2VzQ29udGVudCI6WyJyZXF1aXJlKCcuLi8uLi9tb2R1bGVzL2VzNy5vYmplY3QudmFsdWVzJyk7XG5tb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4uLy4uL21vZHVsZXMvX2NvcmUnKS5PYmplY3QudmFsdWVzO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/core-js/library/fn/object/values.js\n"); /***/ }), /***/ "./node_modules/core-js/library/modules/_a-function.js": /*!*************************************************************!*\ !*** ./node_modules/core-js/library/modules/_a-function.js ***! \*************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { eval("module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2EtZnVuY3Rpb24uanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2EtZnVuY3Rpb24uanM/NzlhYSJdLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChpdCkge1xuICBpZiAodHlwZW9mIGl0ICE9ICdmdW5jdGlvbicpIHRocm93IFR5cGVFcnJvcihpdCArICcgaXMgbm90IGEgZnVuY3Rpb24hJyk7XG4gIHJldHVybiBpdDtcbn07XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/core-js/library/modules/_a-function.js\n"); /***/ }), /***/ "./node_modules/core-js/library/modules/_an-object.js": /*!************************************************************!*\ !*** ./node_modules/core-js/library/modules/_an-object.js ***! \************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("var isObject = __webpack_require__(/*! ./_is-object */ \"./node_modules/core-js/library/modules/_is-object.js\");\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2FuLW9iamVjdC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fYW4tb2JqZWN0LmpzP2U0YWUiXSwic291cmNlc0NvbnRlbnQiOlsidmFyIGlzT2JqZWN0ID0gcmVxdWlyZSgnLi9faXMtb2JqZWN0Jyk7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChpdCkge1xuICBpZiAoIWlzT2JqZWN0KGl0KSkgdGhyb3cgVHlwZUVycm9yKGl0ICsgJyBpcyBub3QgYW4gb2JqZWN0IScpO1xuICByZXR1cm4gaXQ7XG59O1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/core-js/library/modules/_an-object.js\n"); /***/ }), /***/ "./node_modules/core-js/library/modules/_array-includes.js": /*!*****************************************************************!*\ !*** ./node_modules/core-js/library/modules/_array-includes.js ***! \*****************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = __webpack_require__(/*! ./_to-iobject */ \"./node_modules/core-js/library/modules/_to-iobject.js\");\nvar toLength = __webpack_require__(/*! ./_to-length */ \"./node_modules/core-js/library/modules/_to-length.js\");\nvar toAbsoluteIndex = __webpack_require__(/*! ./_to-absolute-index */ \"./node_modules/core-js/library/modules/_to-absolute-index.js\");\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2FycmF5LWluY2x1ZGVzLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19hcnJheS1pbmNsdWRlcy5qcz81YjRlIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIGZhbHNlIC0+IEFycmF5I2luZGV4T2Zcbi8vIHRydWUgIC0+IEFycmF5I2luY2x1ZGVzXG52YXIgdG9JT2JqZWN0ID0gcmVxdWlyZSgnLi9fdG8taW9iamVjdCcpO1xudmFyIHRvTGVuZ3RoID0gcmVxdWlyZSgnLi9fdG8tbGVuZ3RoJyk7XG52YXIgdG9BYnNvbHV0ZUluZGV4ID0gcmVxdWlyZSgnLi9fdG8tYWJzb2x1dGUtaW5kZXgnKTtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKElTX0lOQ0xVREVTKSB7XG4gIHJldHVybiBmdW5jdGlvbiAoJHRoaXMsIGVsLCBmcm9tSW5kZXgpIHtcbiAgICB2YXIgTyA9IHRvSU9iamVjdCgkdGhpcyk7XG4gICAgdmFyIGxlbmd0aCA9IHRvTGVuZ3RoKE8ubGVuZ3RoKTtcbiAgICB2YXIgaW5kZXggPSB0b0Fic29sdXRlSW5kZXgoZnJvbUluZGV4LCBsZW5ndGgpO1xuICAgIHZhciB2YWx1ZTtcbiAgICAvLyBBcnJheSNpbmNsdWRlcyB1c2VzIFNhbWVWYWx1ZVplcm8gZXF1YWxpdHkgYWxnb3JpdGhtXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXNlbGYtY29tcGFyZVxuICAgIGlmIChJU19JTkNMVURFUyAmJiBlbCAhPSBlbCkgd2hpbGUgKGxlbmd0aCA+IGluZGV4KSB7XG4gICAgICB2YWx1ZSA9IE9baW5kZXgrK107XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tc2VsZi1jb21wYXJlXG4gICAgICBpZiAodmFsdWUgIT0gdmFsdWUpIHJldHVybiB0cnVlO1xuICAgIC8vIEFycmF5I2luZGV4T2YgaWdub3JlcyBob2xlcywgQXJyYXkjaW5jbHVkZXMgLSBub3RcbiAgICB9IGVsc2UgZm9yICg7bGVuZ3RoID4gaW5kZXg7IGluZGV4KyspIGlmIChJU19JTkNMVURFUyB8fCBpbmRleCBpbiBPKSB7XG4gICAgICBpZiAoT1tpbmRleF0gPT09IGVsKSByZXR1cm4gSVNfSU5DTFVERVMgfHwgaW5kZXggfHwgMDtcbiAgICB9IHJldHVybiAhSVNfSU5DTFVERVMgJiYgLTE7XG4gIH07XG59O1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/core-js/library/modules/_array-includes.js\n"); /***/ }), /***/ "./node_modules/core-js/library/modules/_cof.js": /*!******************************************************!*\ !*** ./node_modules/core-js/library/modules/_cof.js ***! \******************************************************/ /*! no static exports found */ /***/ (function(module, exports) { eval("var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2NvZi5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fY29mLmpzPzZiNGMiXSwic291cmNlc0NvbnRlbnQiOlsidmFyIHRvU3RyaW5nID0ge30udG9TdHJpbmc7XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGl0KSB7XG4gIHJldHVybiB0b1N0cmluZy5jYWxsKGl0KS5zbGljZSg4LCAtMSk7XG59O1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/core-js/library/modules/_cof.js\n"); /***/ }), /***/ "./node_modules/core-js/library/modules/_core.js": /*!*******************************************************!*\ !*** ./node_modules/core-js/library/modules/_core.js ***! \*******************************************************/ /*! no static exports found */ /***/ (function(module, exports) { eval("var core = module.exports = { version: '2.6.9' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2NvcmUuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2NvcmUuanM/NTg0YSJdLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgY29yZSA9IG1vZHVsZS5leHBvcnRzID0geyB2ZXJzaW9uOiAnMi42LjknIH07XG5pZiAodHlwZW9mIF9fZSA9PSAnbnVtYmVyJykgX19lID0gY29yZTsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby11bmRlZlxuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/core-js/library/modules/_core.js\n"); /***/ }), /***/ "./node_modules/core-js/library/modules/_ctx.js": /*!******************************************************!*\ !*** ./node_modules/core-js/library/modules/_ctx.js ***! \******************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// optional / simple context binding\nvar aFunction = __webpack_require__(/*! ./_a-function */ \"./node_modules/core-js/library/modules/_a-function.js\");\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2N0eC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fY3R4LmpzP2Q4NjQiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gb3B0aW9uYWwgLyBzaW1wbGUgY29udGV4dCBiaW5kaW5nXG52YXIgYUZ1bmN0aW9uID0gcmVxdWlyZSgnLi9fYS1mdW5jdGlvbicpO1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoZm4sIHRoYXQsIGxlbmd0aCkge1xuICBhRnVuY3Rpb24oZm4pO1xuICBpZiAodGhhdCA9PT0gdW5kZWZpbmVkKSByZXR1cm4gZm47XG4gIHN3aXRjaCAobGVuZ3RoKSB7XG4gICAgY2FzZSAxOiByZXR1cm4gZnVuY3Rpb24gKGEpIHtcbiAgICAgIHJldHVybiBmbi5jYWxsKHRoYXQsIGEpO1xuICAgIH07XG4gICAgY2FzZSAyOiByZXR1cm4gZnVuY3Rpb24gKGEsIGIpIHtcbiAgICAgIHJldHVybiBmbi5jYWxsKHRoYXQsIGEsIGIpO1xuICAgIH07XG4gICAgY2FzZSAzOiByZXR1cm4gZnVuY3Rpb24gKGEsIGIsIGMpIHtcbiAgICAgIHJldHVybiBmbi5jYWxsKHRoYXQsIGEsIGIsIGMpO1xuICAgIH07XG4gIH1cbiAgcmV0dXJuIGZ1bmN0aW9uICgvKiAuLi5hcmdzICovKSB7XG4gICAgcmV0dXJuIGZuLmFwcGx5KHRoYXQsIGFyZ3VtZW50cyk7XG4gIH07XG59O1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/core-js/library/modules/_ctx.js\n"); /***/ }), /***/ "./node_modules/core-js/library/modules/_defined.js": /*!**********************************************************!*\ !*** ./node_modules/core-js/library/modules/_defined.js ***! \**********************************************************/ /*! no static exports found */ /***/ (function(module, exports) { eval("// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2RlZmluZWQuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2RlZmluZWQuanM/MjVlYiJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyA3LjIuMSBSZXF1aXJlT2JqZWN0Q29lcmNpYmxlKGFyZ3VtZW50KVxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaXQpIHtcbiAgaWYgKGl0ID09IHVuZGVmaW5lZCkgdGhyb3cgVHlwZUVycm9yKFwiQ2FuJ3QgY2FsbCBtZXRob2Qgb24gIFwiICsgaXQpO1xuICByZXR1cm4gaXQ7XG59O1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/core-js/library/modules/_defined.js\n"); /***/ }), /***/ "./node_modules/core-js/library/modules/_descriptors.js": /*!**************************************************************!*\ !*** ./node_modules/core-js/library/modules/_descriptors.js ***! \**************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// Thank's IE8 for his funny defineProperty\nmodule.exports = !__webpack_require__(/*! ./_fails */ \"./node_modules/core-js/library/modules/_fails.js\")(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2Rlc2NyaXB0b3JzLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19kZXNjcmlwdG9ycy5qcz84ZTYwIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIFRoYW5rJ3MgSUU4IGZvciBoaXMgZnVubnkgZGVmaW5lUHJvcGVydHlcbm1vZHVsZS5leHBvcnRzID0gIXJlcXVpcmUoJy4vX2ZhaWxzJykoZnVuY3Rpb24gKCkge1xuICByZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KHt9LCAnYScsIHsgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiA3OyB9IH0pLmEgIT0gNztcbn0pO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/core-js/library/modules/_descriptors.js\n"); /***/ }), /***/ "./node_modules/core-js/library/modules/_dom-create.js": /*!*************************************************************!*\ !*** ./node_modules/core-js/library/modules/_dom-create.js ***! \*************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("var isObject = __webpack_require__(/*! ./_is-object */ \"./node_modules/core-js/library/modules/_is-object.js\");\nvar document = __webpack_require__(/*! ./_global */ \"./node_modules/core-js/library/modules/_global.js\").document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2RvbS1jcmVhdGUuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2RvbS1jcmVhdGUuanM/MWVjOSJdLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgaXNPYmplY3QgPSByZXF1aXJlKCcuL19pcy1vYmplY3QnKTtcbnZhciBkb2N1bWVudCA9IHJlcXVpcmUoJy4vX2dsb2JhbCcpLmRvY3VtZW50O1xuLy8gdHlwZW9mIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQgaXMgJ29iamVjdCcgaW4gb2xkIElFXG52YXIgaXMgPSBpc09iamVjdChkb2N1bWVudCkgJiYgaXNPYmplY3QoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCk7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChpdCkge1xuICByZXR1cm4gaXMgPyBkb2N1bWVudC5jcmVhdGVFbGVtZW50KGl0KSA6IHt9O1xufTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/core-js/library/modules/_dom-create.js\n"); /***/ }), /***/ "./node_modules/core-js/library/modules/_enum-bug-keys.js": /*!****************************************************************!*\ !*** ./node_modules/core-js/library/modules/_enum-bug-keys.js ***! \****************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { eval("// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2VudW0tYnVnLWtleXMuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2VudW0tYnVnLWtleXMuanM/MTY5MSJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBJRSA4LSBkb24ndCBlbnVtIGJ1ZyBrZXlzXG5tb2R1bGUuZXhwb3J0cyA9IChcbiAgJ2NvbnN0cnVjdG9yLGhhc093blByb3BlcnR5LGlzUHJvdG90eXBlT2YscHJvcGVydHlJc0VudW1lcmFibGUsdG9Mb2NhbGVTdHJpbmcsdG9TdHJpbmcsdmFsdWVPZidcbikuc3BsaXQoJywnKTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/core-js/library/modules/_enum-bug-keys.js\n"); /***/ }), /***/ "./node_modules/core-js/library/modules/_export.js": /*!*********************************************************!*\ !*** ./node_modules/core-js/library/modules/_export.js ***! \*********************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("var global = __webpack_require__(/*! ./_global */ \"./node_modules/core-js/library/modules/_global.js\");\nvar core = __webpack_require__(/*! ./_core */ \"./node_modules/core-js/library/modules/_core.js\");\nvar ctx = __webpack_require__(/*! ./_ctx */ \"./node_modules/core-js/library/modules/_ctx.js\");\nvar hide = __webpack_require__(/*! ./_hide */ \"./node_modules/core-js/library/modules/_hide.js\");\nvar has = __webpack_require__(/*! ./_has */ \"./node_modules/core-js/library/modules/_has.js\");\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var IS_WRAP = type & $export.W;\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE];\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];\n var key, own, out;\n if (IS_GLOBAL) source = name;\n for (key in source) {\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n if (own && has(exports, key)) continue;\n // export native or passed\n out = own ? target[key] : source[key];\n // prevent global pollution for namespaces\n exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n // bind timers to global for call from export context\n : IS_BIND && own ? ctx(out, global)\n // wrap global constructors for prevent change them in library\n : IS_WRAP && target[key] == out ? (function (C) {\n var F = function (a, b, c) {\n if (this instanceof C) {\n switch (arguments.length) {\n case 0: return new C();\n case 1: return new C(a);\n case 2: return new C(a, b);\n } return new C(a, b, c);\n } return C.apply(this, arguments);\n };\n F[PROTOTYPE] = C[PROTOTYPE];\n return F;\n // make static versions for prototype methods\n })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n if (IS_PROTO) {\n (exports.virtual || (exports.virtual = {}))[key] = out;\n // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);\n }\n }\n};\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2V4cG9ydC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fZXhwb3J0LmpzPzYzYjYiXSwic291cmNlc0NvbnRlbnQiOlsidmFyIGdsb2JhbCA9IHJlcXVpcmUoJy4vX2dsb2JhbCcpO1xudmFyIGNvcmUgPSByZXF1aXJlKCcuL19jb3JlJyk7XG52YXIgY3R4ID0gcmVxdWlyZSgnLi9fY3R4Jyk7XG52YXIgaGlkZSA9IHJlcXVpcmUoJy4vX2hpZGUnKTtcbnZhciBoYXMgPSByZXF1aXJlKCcuL19oYXMnKTtcbnZhciBQUk9UT1RZUEUgPSAncHJvdG90eXBlJztcblxudmFyICRleHBvcnQgPSBmdW5jdGlvbiAodHlwZSwgbmFtZSwgc291cmNlKSB7XG4gIHZhciBJU19GT1JDRUQgPSB0eXBlICYgJGV4cG9ydC5GO1xuICB2YXIgSVNfR0xPQkFMID0gdHlwZSAmICRleHBvcnQuRztcbiAgdmFyIElTX1NUQVRJQyA9IHR5cGUgJiAkZXhwb3J0LlM7XG4gIHZhciBJU19QUk9UTyA9IHR5cGUgJiAkZXhwb3J0LlA7XG4gIHZhciBJU19CSU5EID0gdHlwZSAmICRleHBvcnQuQjtcbiAgdmFyIElTX1dSQVAgPSB0eXBlICYgJGV4cG9ydC5XO1xuICB2YXIgZXhwb3J0cyA9IElTX0dMT0JBTCA/IGNvcmUgOiBjb3JlW25hbWVdIHx8IChjb3JlW25hbWVdID0ge30pO1xuICB2YXIgZXhwUHJvdG8gPSBleHBvcnRzW1BST1RPVFlQRV07XG4gIHZhciB0YXJnZXQgPSBJU19HTE9CQUwgPyBnbG9iYWwgOiBJU19TVEFUSUMgPyBnbG9iYWxbbmFtZV0gOiAoZ2xvYmFsW25hbWVdIHx8IHt9KVtQUk9UT1RZUEVdO1xuICB2YXIga2V5LCBvd24sIG91dDtcbiAgaWYgKElTX0dMT0JBTCkgc291cmNlID0gbmFtZTtcbiAgZm9yIChrZXkgaW4gc291cmNlKSB7XG4gICAgLy8gY29udGFpbnMgaW4gbmF0aXZlXG4gICAgb3duID0gIUlTX0ZPUkNFRCAmJiB0YXJnZXQgJiYgdGFyZ2V0W2tleV0gIT09IHVuZGVmaW5lZDtcbiAgICBpZiAob3duICYmIGhhcyhleHBvcnRzLCBrZXkpKSBjb250aW51ZTtcbiAgICAvLyBleHBvcnQgbmF0aXZlIG9yIHBhc3NlZFxuICAgIG91dCA9IG93biA/IHRhcmdldFtrZXldIDogc291cmNlW2tleV07XG4gICAgLy8gcHJldmVudCBnbG9iYWwgcG9sbHV0aW9uIGZvciBuYW1lc3BhY2VzXG4gICAgZXhwb3J0c1trZXldID0gSVNfR0xPQkFMICYmIHR5cGVvZiB0YXJnZXRba2V5XSAhPSAnZnVuY3Rpb24nID8gc291cmNlW2tleV1cbiAgICAvLyBiaW5kIHRpbWVycyB0byBnbG9iYWwgZm9yIGNhbGwgZnJvbSBleHBvcnQgY29udGV4dFxuICAgIDogSVNfQklORCAmJiBvd24gPyBjdHgob3V0LCBnbG9iYWwpXG4gICAgLy8gd3JhcCBnbG9iYWwgY29uc3RydWN0b3JzIGZvciBwcmV2ZW50IGNoYW5nZSB0aGVtIGluIGxpYnJhcnlcbiAgICA6IElTX1dSQVAgJiYgdGFyZ2V0W2tleV0gPT0gb3V0ID8gKGZ1bmN0aW9uIChDKSB7XG4gICAgICB2YXIgRiA9IGZ1bmN0aW9uIChhLCBiLCBjKSB7XG4gICAgICAgIGlmICh0aGlzIGluc3RhbmNlb2YgQykge1xuICAgICAgICAgIHN3aXRjaCAoYXJndW1lbnRzLmxlbmd0aCkge1xuICAgICAgICAgICAgY2FzZSAwOiByZXR1cm4gbmV3IEMoKTtcbiAgICAgICAgICAgIGNhc2UgMTogcmV0dXJuIG5ldyBDKGEpO1xuICAgICAgICAgICAgY2FzZSAyOiByZXR1cm4gbmV3IEMoYSwgYik7XG4gICAgICAgICAgfSByZXR1cm4gbmV3IEMoYSwgYiwgYyk7XG4gICAgICAgIH0gcmV0dXJuIEMuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAgICAgIH07XG4gICAgICBGW1BST1RPVFlQRV0gPSBDW1BST1RPVFlQRV07XG4gICAgICByZXR1cm4gRjtcbiAgICAvLyBtYWtlIHN0YXRpYyB2ZXJzaW9ucyBmb3IgcHJvdG90eXBlIG1ldGhvZHNcbiAgICB9KShvdXQpIDogSVNfUFJPVE8gJiYgdHlwZW9mIG91dCA9PSAnZnVuY3Rpb24nID8gY3R4KEZ1bmN0aW9uLmNhbGwsIG91dCkgOiBvdXQ7XG4gICAgLy8gZXhwb3J0IHByb3RvIG1ldGhvZHMgdG8gY29yZS4lQ09OU1RSVUNUT1IlLm1ldGhvZHMuJU5BTUUlXG4gICAgaWYgKElTX1BST1RPKSB7XG4gICAgICAoZXhwb3J0cy52aXJ0dWFsIHx8IChleHBvcnRzLnZpcnR1YWwgPSB7fSkpW2tleV0gPSBvdXQ7XG4gICAgICAvLyBleHBvcnQgcHJvdG8gbWV0aG9kcyB0byBjb3JlLiVDT05TVFJVQ1RPUiUucHJvdG90eXBlLiVOQU1FJVxuICAgICAgaWYgKHR5cGUgJiAkZXhwb3J0LlIgJiYgZXhwUHJvdG8gJiYgIWV4cFByb3RvW2tleV0pIGhpZGUoZXhwUHJvdG8sIGtleSwgb3V0KTtcbiAgICB9XG4gIH1cbn07XG4vLyB0eXBlIGJpdG1hcFxuJGV4cG9ydC5GID0gMTsgICAvLyBmb3JjZWRcbiRleHBvcnQuRyA9IDI7ICAgLy8gZ2xvYmFsXG4kZXhwb3J0LlMgPSA0OyAgIC8vIHN0YXRpY1xuJGV4cG9ydC5QID0gODsgICAvLyBwcm90b1xuJGV4cG9ydC5CID0gMTY7ICAvLyBiaW5kXG4kZXhwb3J0LlcgPSAzMjsgIC8vIHdyYXBcbiRleHBvcnQuVSA9IDY0OyAgLy8gc2FmZVxuJGV4cG9ydC5SID0gMTI4OyAvLyByZWFsIHByb3RvIG1ldGhvZCBmb3IgYGxpYnJhcnlgXG5tb2R1bGUuZXhwb3J0cyA9ICRleHBvcnQ7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/core-js/library/modules/_export.js\n"); /***/ }), /***/ "./node_modules/core-js/library/modules/_fails.js": /*!********************************************************!*\ !*** ./node_modules/core-js/library/modules/_fails.js ***! \********************************************************/ /*! no static exports found */ /***/ (function(module, exports) { eval("module.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2ZhaWxzLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19mYWlscy5qcz8yOTRjIl0sInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGV4ZWMpIHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gISFleGVjKCk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxufTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/core-js/library/modules/_fails.js\n"); /***/ }), /***/ "./node_modules/core-js/library/modules/_global.js": /*!*********************************************************!*\ !*** ./node_modules/core-js/library/modules/_global.js ***! \*********************************************************/ /*! no static exports found */ /***/ (function(module, exports) { eval("// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2dsb2JhbC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fZ2xvYmFsLmpzP2U1M2QiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gaHR0cHM6Ly9naXRodWIuY29tL3psb2lyb2NrL2NvcmUtanMvaXNzdWVzLzg2I2lzc3VlY29tbWVudC0xMTU3NTkwMjhcbnZhciBnbG9iYWwgPSBtb2R1bGUuZXhwb3J0cyA9IHR5cGVvZiB3aW5kb3cgIT0gJ3VuZGVmaW5lZCcgJiYgd2luZG93Lk1hdGggPT0gTWF0aFxuICA/IHdpbmRvdyA6IHR5cGVvZiBzZWxmICE9ICd1bmRlZmluZWQnICYmIHNlbGYuTWF0aCA9PSBNYXRoID8gc2VsZlxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tbmV3LWZ1bmNcbiAgOiBGdW5jdGlvbigncmV0dXJuIHRoaXMnKSgpO1xuaWYgKHR5cGVvZiBfX2cgPT0gJ251bWJlcicpIF9fZyA9IGdsb2JhbDsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby11bmRlZlxuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/core-js/library/modules/_global.js\n"); /***/ }), /***/ "./node_modules/core-js/library/modules/_has.js": /*!******************************************************!*\ !*** ./node_modules/core-js/library/modules/_has.js ***! \******************************************************/ /*! no static exports found */ /***/ (function(module, exports) { eval("var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2hhcy5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9faGFzLmpzPzA3ZTMiXSwic291cmNlc0NvbnRlbnQiOlsidmFyIGhhc093blByb3BlcnR5ID0ge30uaGFzT3duUHJvcGVydHk7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChpdCwga2V5KSB7XG4gIHJldHVybiBoYXNPd25Qcm9wZXJ0eS5jYWxsKGl0LCBrZXkpO1xufTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/core-js/library/modules/_has.js\n"); /***/ }), /***/ "./node_modules/core-js/library/modules/_hide.js": /*!*******************************************************!*\ !*** ./node_modules/core-js/library/modules/_hide.js ***! \*******************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("var dP = __webpack_require__(/*! ./_object-dp */ \"./node_modules/core-js/library/modules/_object-dp.js\");\nvar createDesc = __webpack_require__(/*! ./_property-desc */ \"./node_modules/core-js/library/modules/_property-desc.js\");\nmodule.exports = __webpack_require__(/*! ./_descriptors */ \"./node_modules/core-js/library/modules/_descriptors.js\") ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2hpZGUuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2hpZGUuanM/MzVlOCJdLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgZFAgPSByZXF1aXJlKCcuL19vYmplY3QtZHAnKTtcbnZhciBjcmVhdGVEZXNjID0gcmVxdWlyZSgnLi9fcHJvcGVydHktZGVzYycpO1xubW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuL19kZXNjcmlwdG9ycycpID8gZnVuY3Rpb24gKG9iamVjdCwga2V5LCB2YWx1ZSkge1xuICByZXR1cm4gZFAuZihvYmplY3QsIGtleSwgY3JlYXRlRGVzYygxLCB2YWx1ZSkpO1xufSA6IGZ1bmN0aW9uIChvYmplY3QsIGtleSwgdmFsdWUpIHtcbiAgb2JqZWN0W2tleV0gPSB2YWx1ZTtcbiAgcmV0dXJuIG9iamVjdDtcbn07XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/core-js/library/modules/_hide.js\n"); /***/ }), /***/ "./node_modules/core-js/library/modules/_html.js": /*!*******************************************************!*\ !*** ./node_modules/core-js/library/modules/_html.js ***! \*******************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("var document = __webpack_require__(/*! ./_global */ \"./node_modules/core-js/library/modules/_global.js\").document;\nmodule.exports = document && document.documentElement;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2h0bWwuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2h0bWwuanM/MzJmYyJdLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgZG9jdW1lbnQgPSByZXF1aXJlKCcuL19nbG9iYWwnKS5kb2N1bWVudDtcbm1vZHVsZS5leHBvcnRzID0gZG9jdW1lbnQgJiYgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/core-js/library/modules/_html.js\n"); /***/ }), /***/ "./node_modules/core-js/library/modules/_ie8-dom-define.js": /*!*****************************************************************!*\ !*** ./node_modules/core-js/library/modules/_ie8-dom-define.js ***! \*****************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("module.exports = !__webpack_require__(/*! ./_descriptors */ \"./node_modules/core-js/library/modules/_descriptors.js\") && !__webpack_require__(/*! ./_fails */ \"./node_modules/core-js/library/modules/_fails.js\")(function () {\n return Object.defineProperty(__webpack_require__(/*! ./_dom-create */ \"./node_modules/core-js/library/modules/_dom-create.js\")('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2llOC1kb20tZGVmaW5lLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19pZTgtZG9tLWRlZmluZS5qcz83OTRiIl0sInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gIXJlcXVpcmUoJy4vX2Rlc2NyaXB0b3JzJykgJiYgIXJlcXVpcmUoJy4vX2ZhaWxzJykoZnVuY3Rpb24gKCkge1xuICByZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KHJlcXVpcmUoJy4vX2RvbS1jcmVhdGUnKSgnZGl2JyksICdhJywgeyBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIDc7IH0gfSkuYSAhPSA3O1xufSk7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/core-js/library/modules/_ie8-dom-define.js\n"); /***/ }), /***/ "./node_modules/core-js/library/modules/_iobject.js": /*!**********************************************************!*\ !*** ./node_modules/core-js/library/modules/_iobject.js ***! \**********************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = __webpack_require__(/*! ./_cof */ \"./node_modules/core-js/library/modules/_cof.js\");\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2lvYmplY3QuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2lvYmplY3QuanM/MzM1YyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBmYWxsYmFjayBmb3Igbm9uLWFycmF5LWxpa2UgRVMzIGFuZCBub24tZW51bWVyYWJsZSBvbGQgVjggc3RyaW5nc1xudmFyIGNvZiA9IHJlcXVpcmUoJy4vX2NvZicpO1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXByb3RvdHlwZS1idWlsdGluc1xubW9kdWxlLmV4cG9ydHMgPSBPYmplY3QoJ3onKS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgwKSA/IE9iamVjdCA6IGZ1bmN0aW9uIChpdCkge1xuICByZXR1cm4gY29mKGl0KSA9PSAnU3RyaW5nJyA/IGl0LnNwbGl0KCcnKSA6IE9iamVjdChpdCk7XG59O1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/core-js/library/modules/_iobject.js\n"); /***/ }), /***/ "./node_modules/core-js/library/modules/_is-integer.js": /*!*************************************************************!*\ !*** ./node_modules/core-js/library/modules/_is-integer.js ***! \*************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// 20.1.2.3 Number.isInteger(number)\nvar isObject = __webpack_require__(/*! ./_is-object */ \"./node_modules/core-js/library/modules/_is-object.js\");\nvar floor = Math.floor;\nmodule.exports = function isInteger(it) {\n return !isObject(it) && isFinite(it) && floor(it) === it;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2lzLWludGVnZXIuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2lzLWludGVnZXIuanM/MGNkOSJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyAyMC4xLjIuMyBOdW1iZXIuaXNJbnRlZ2VyKG51bWJlcilcbnZhciBpc09iamVjdCA9IHJlcXVpcmUoJy4vX2lzLW9iamVjdCcpO1xudmFyIGZsb29yID0gTWF0aC5mbG9vcjtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gaXNJbnRlZ2VyKGl0KSB7XG4gIHJldHVybiAhaXNPYmplY3QoaXQpICYmIGlzRmluaXRlKGl0KSAmJiBmbG9vcihpdCkgPT09IGl0O1xufTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/core-js/library/modules/_is-integer.js\n"); /***/ }), /***/ "./node_modules/core-js/library/modules/_is-object.js": /*!************************************************************!*\ !*** ./node_modules/core-js/library/modules/_is-object.js ***! \************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { eval("module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2lzLW9iamVjdC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9faXMtb2JqZWN0LmpzP2Y3NzIiXSwic291cmNlc0NvbnRlbnQiOlsibW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaXQpIHtcbiAgcmV0dXJuIHR5cGVvZiBpdCA9PT0gJ29iamVjdCcgPyBpdCAhPT0gbnVsbCA6IHR5cGVvZiBpdCA9PT0gJ2Z1bmN0aW9uJztcbn07XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/core-js/library/modules/_is-object.js\n"); /***/ }), /***/ "./node_modules/core-js/library/modules/_library.js": /*!**********************************************************!*\ !*** ./node_modules/core-js/library/modules/_library.js ***! \**********************************************************/ /*! no static exports found */ /***/ (function(module, exports) { eval("module.exports = true;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2xpYnJhcnkuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2xpYnJhcnkuanM/YjhlMyJdLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IHRydWU7XG4iXSwibWFwcGluZ3MiOiJBQUFBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/core-js/library/modules/_library.js\n"); /***/ }), /***/ "./node_modules/core-js/library/modules/_object-assign.js": /*!****************************************************************!*\ !*** ./node_modules/core-js/library/modules/_object-assign.js ***! \****************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; eval("\n// 19.1.2.1 Object.assign(target, source, ...)\nvar DESCRIPTORS = __webpack_require__(/*! ./_descriptors */ \"./node_modules/core-js/library/modules/_descriptors.js\");\nvar getKeys = __webpack_require__(/*! ./_object-keys */ \"./node_modules/core-js/library/modules/_object-keys.js\");\nvar gOPS = __webpack_require__(/*! ./_object-gops */ \"./node_modules/core-js/library/modules/_object-gops.js\");\nvar pIE = __webpack_require__(/*! ./_object-pie */ \"./node_modules/core-js/library/modules/_object-pie.js\");\nvar toObject = __webpack_require__(/*! ./_to-object */ \"./node_modules/core-js/library/modules/_to-object.js\");\nvar IObject = __webpack_require__(/*! ./_iobject */ \"./node_modules/core-js/library/modules/_iobject.js\");\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || __webpack_require__(/*! ./_fails */ \"./node_modules/core-js/library/modules/_fails.js\")(function () {\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var S = Symbol();\n var K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function (k) { B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var aLen = arguments.length;\n var index = 1;\n var getSymbols = gOPS.f;\n var isEnum = pIE.f;\n while (aLen > index) {\n var S = IObject(arguments[index++]);\n var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || isEnum.call(S, key)) T[key] = S[key];\n }\n } return T;\n} : $assign;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX29iamVjdC1hc3NpZ24uanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX29iamVjdC1hc3NpZ24uanM/OTMwNiJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG4vLyAxOS4xLjIuMSBPYmplY3QuYXNzaWduKHRhcmdldCwgc291cmNlLCAuLi4pXG52YXIgREVTQ1JJUFRPUlMgPSByZXF1aXJlKCcuL19kZXNjcmlwdG9ycycpO1xudmFyIGdldEtleXMgPSByZXF1aXJlKCcuL19vYmplY3Qta2V5cycpO1xudmFyIGdPUFMgPSByZXF1aXJlKCcuL19vYmplY3QtZ29wcycpO1xudmFyIHBJRSA9IHJlcXVpcmUoJy4vX29iamVjdC1waWUnKTtcbnZhciB0b09iamVjdCA9IHJlcXVpcmUoJy4vX3RvLW9iamVjdCcpO1xudmFyIElPYmplY3QgPSByZXF1aXJlKCcuL19pb2JqZWN0Jyk7XG52YXIgJGFzc2lnbiA9IE9iamVjdC5hc3NpZ247XG5cbi8vIHNob3VsZCB3b3JrIHdpdGggc3ltYm9scyBhbmQgc2hvdWxkIGhhdmUgZGV0ZXJtaW5pc3RpYyBwcm9wZXJ0eSBvcmRlciAoVjggYnVnKVxubW9kdWxlLmV4cG9ydHMgPSAhJGFzc2lnbiB8fCByZXF1aXJlKCcuL19mYWlscycpKGZ1bmN0aW9uICgpIHtcbiAgdmFyIEEgPSB7fTtcbiAgdmFyIEIgPSB7fTtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVuZGVmXG4gIHZhciBTID0gU3ltYm9sKCk7XG4gIHZhciBLID0gJ2FiY2RlZmdoaWprbG1ub3BxcnN0JztcbiAgQVtTXSA9IDc7XG4gIEsuc3BsaXQoJycpLmZvckVhY2goZnVuY3Rpb24gKGspIHsgQltrXSA9IGs7IH0pO1xuICByZXR1cm4gJGFzc2lnbih7fSwgQSlbU10gIT0gNyB8fCBPYmplY3Qua2V5cygkYXNzaWduKHt9LCBCKSkuam9pbignJykgIT0gSztcbn0pID8gZnVuY3Rpb24gYXNzaWduKHRhcmdldCwgc291cmNlKSB7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tdW51c2VkLXZhcnNcbiAgdmFyIFQgPSB0b09iamVjdCh0YXJnZXQpO1xuICB2YXIgYUxlbiA9IGFyZ3VtZW50cy5sZW5ndGg7XG4gIHZhciBpbmRleCA9IDE7XG4gIHZhciBnZXRTeW1ib2xzID0gZ09QUy5mO1xuICB2YXIgaXNFbnVtID0gcElFLmY7XG4gIHdoaWxlIChhTGVuID4gaW5kZXgpIHtcbiAgICB2YXIgUyA9IElPYmplY3QoYXJndW1lbnRzW2luZGV4KytdKTtcbiAgICB2YXIga2V5cyA9IGdldFN5bWJvbHMgPyBnZXRLZXlzKFMpLmNvbmNhdChnZXRTeW1ib2xzKFMpKSA6IGdldEtleXMoUyk7XG4gICAgdmFyIGxlbmd0aCA9IGtleXMubGVuZ3RoO1xuICAgIHZhciBqID0gMDtcbiAgICB2YXIga2V5O1xuICAgIHdoaWxlIChsZW5ndGggPiBqKSB7XG4gICAgICBrZXkgPSBrZXlzW2orK107XG4gICAgICBpZiAoIURFU0NSSVBUT1JTIHx8IGlzRW51bS5jYWxsKFMsIGtleSkpIFRba2V5XSA9IFNba2V5XTtcbiAgICB9XG4gIH0gcmV0dXJuIFQ7XG59IDogJGFzc2lnbjtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/core-js/library/modules/_object-assign.js\n"); /***/ }), /***/ "./node_modules/core-js/library/modules/_object-create.js": /*!****************************************************************!*\ !*** ./node_modules/core-js/library/modules/_object-create.js ***! \****************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = __webpack_require__(/*! ./_an-object */ \"./node_modules/core-js/library/modules/_an-object.js\");\nvar dPs = __webpack_require__(/*! ./_object-dps */ \"./node_modules/core-js/library/modules/_object-dps.js\");\nvar enumBugKeys = __webpack_require__(/*! ./_enum-bug-keys */ \"./node_modules/core-js/library/modules/_enum-bug-keys.js\");\nvar IE_PROTO = __webpack_require__(/*! ./_shared-key */ \"./node_modules/core-js/library/modules/_shared-key.js\")('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = __webpack_require__(/*! ./_dom-create */ \"./node_modules/core-js/library/modules/_dom-create.js\")('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n __webpack_require__(/*! ./_html */ \"./node_modules/core-js/library/modules/_html.js\").appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX29iamVjdC1jcmVhdGUuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX29iamVjdC1jcmVhdGUuanM/YTE1OSJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyAxOS4xLjIuMiAvIDE1LjIuMy41IE9iamVjdC5jcmVhdGUoTyBbLCBQcm9wZXJ0aWVzXSlcbnZhciBhbk9iamVjdCA9IHJlcXVpcmUoJy4vX2FuLW9iamVjdCcpO1xudmFyIGRQcyA9IHJlcXVpcmUoJy4vX29iamVjdC1kcHMnKTtcbnZhciBlbnVtQnVnS2V5cyA9IHJlcXVpcmUoJy4vX2VudW0tYnVnLWtleXMnKTtcbnZhciBJRV9QUk9UTyA9IHJlcXVpcmUoJy4vX3NoYXJlZC1rZXknKSgnSUVfUFJPVE8nKTtcbnZhciBFbXB0eSA9IGZ1bmN0aW9uICgpIHsgLyogZW1wdHkgKi8gfTtcbnZhciBQUk9UT1RZUEUgPSAncHJvdG90eXBlJztcblxuLy8gQ3JlYXRlIG9iamVjdCB3aXRoIGZha2UgYG51bGxgIHByb3RvdHlwZTogdXNlIGlmcmFtZSBPYmplY3Qgd2l0aCBjbGVhcmVkIHByb3RvdHlwZVxudmFyIGNyZWF0ZURpY3QgPSBmdW5jdGlvbiAoKSB7XG4gIC8vIFRocmFzaCwgd2FzdGUgYW5kIHNvZG9teTogSUUgR0MgYnVnXG4gIHZhciBpZnJhbWUgPSByZXF1aXJlKCcuL19kb20tY3JlYXRlJykoJ2lmcmFtZScpO1xuICB2YXIgaSA9IGVudW1CdWdLZXlzLmxlbmd0aDtcbiAgdmFyIGx0ID0gJzwnO1xuICB2YXIgZ3QgPSAnPic7XG4gIHZhciBpZnJhbWVEb2N1bWVudDtcbiAgaWZyYW1lLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gIHJlcXVpcmUoJy4vX2h0bWwnKS5hcHBlbmRDaGlsZChpZnJhbWUpO1xuICBpZnJhbWUuc3JjID0gJ2phdmFzY3JpcHQ6JzsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby1zY3JpcHQtdXJsXG4gIC8vIGNyZWF0ZURpY3QgPSBpZnJhbWUuY29udGVudFdpbmRvdy5PYmplY3Q7XG4gIC8vIGh0bWwucmVtb3ZlQ2hpbGQoaWZyYW1lKTtcbiAgaWZyYW1lRG9jdW1lbnQgPSBpZnJhbWUuY29udGVudFdpbmRvdy5kb2N1bWVudDtcbiAgaWZyYW1lRG9jdW1lbnQub3BlbigpO1xuICBpZnJhbWVEb2N1bWVudC53cml0ZShsdCArICdzY3JpcHQnICsgZ3QgKyAnZG9jdW1lbnQuRj1PYmplY3QnICsgbHQgKyAnL3NjcmlwdCcgKyBndCk7XG4gIGlmcmFtZURvY3VtZW50LmNsb3NlKCk7XG4gIGNyZWF0ZURpY3QgPSBpZnJhbWVEb2N1bWVudC5GO1xuICB3aGlsZSAoaS0tKSBkZWxldGUgY3JlYXRlRGljdFtQUk9UT1RZUEVdW2VudW1CdWdLZXlzW2ldXTtcbiAgcmV0dXJuIGNyZWF0ZURpY3QoKTtcbn07XG5cbm1vZHVsZS5leHBvcnRzID0gT2JqZWN0LmNyZWF0ZSB8fCBmdW5jdGlvbiBjcmVhdGUoTywgUHJvcGVydGllcykge1xuICB2YXIgcmVzdWx0O1xuICBpZiAoTyAhPT0gbnVsbCkge1xuICAgIEVtcHR5W1BST1RPVFlQRV0gPSBhbk9iamVjdChPKTtcbiAgICByZXN1bHQgPSBuZXcgRW1wdHkoKTtcbiAgICBFbXB0eVtQUk9UT1RZUEVdID0gbnVsbDtcbiAgICAvLyBhZGQgXCJfX3Byb3RvX19cIiBmb3IgT2JqZWN0LmdldFByb3RvdHlwZU9mIHBvbHlmaWxsXG4gICAgcmVzdWx0W0lFX1BST1RPXSA9IE87XG4gIH0gZWxzZSByZXN1bHQgPSBjcmVhdGVEaWN0KCk7XG4gIHJldHVybiBQcm9wZXJ0aWVzID09PSB1bmRlZmluZWQgPyByZXN1bHQgOiBkUHMocmVzdWx0LCBQcm9wZXJ0aWVzKTtcbn07XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/core-js/library/modules/_object-create.js\n"); /***/ }), /***/ "./node_modules/core-js/library/modules/_object-dp.js": /*!************************************************************!*\ !*** ./node_modules/core-js/library/modules/_object-dp.js ***! \************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("var anObject = __webpack_require__(/*! ./_an-object */ \"./node_modules/core-js/library/modules/_an-object.js\");\nvar IE8_DOM_DEFINE = __webpack_require__(/*! ./_ie8-dom-define */ \"./node_modules/core-js/library/modules/_ie8-dom-define.js\");\nvar toPrimitive = __webpack_require__(/*! ./_to-primitive */ \"./node_modules/core-js/library/modules/_to-primitive.js\");\nvar dP = Object.defineProperty;\n\nexports.f = __webpack_require__(/*! ./_descriptors */ \"./node_modules/core-js/library/modules/_descriptors.js\") ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX29iamVjdC1kcC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fb2JqZWN0LWRwLmpzP2Q5ZjYiXSwic291cmNlc0NvbnRlbnQiOlsidmFyIGFuT2JqZWN0ID0gcmVxdWlyZSgnLi9fYW4tb2JqZWN0Jyk7XG52YXIgSUU4X0RPTV9ERUZJTkUgPSByZXF1aXJlKCcuL19pZTgtZG9tLWRlZmluZScpO1xudmFyIHRvUHJpbWl0aXZlID0gcmVxdWlyZSgnLi9fdG8tcHJpbWl0aXZlJyk7XG52YXIgZFAgPSBPYmplY3QuZGVmaW5lUHJvcGVydHk7XG5cbmV4cG9ydHMuZiA9IHJlcXVpcmUoJy4vX2Rlc2NyaXB0b3JzJykgPyBPYmplY3QuZGVmaW5lUHJvcGVydHkgOiBmdW5jdGlvbiBkZWZpbmVQcm9wZXJ0eShPLCBQLCBBdHRyaWJ1dGVzKSB7XG4gIGFuT2JqZWN0KE8pO1xuICBQID0gdG9QcmltaXRpdmUoUCwgdHJ1ZSk7XG4gIGFuT2JqZWN0KEF0dHJpYnV0ZXMpO1xuICBpZiAoSUU4X0RPTV9ERUZJTkUpIHRyeSB7XG4gICAgcmV0dXJuIGRQKE8sIFAsIEF0dHJpYnV0ZXMpO1xuICB9IGNhdGNoIChlKSB7IC8qIGVtcHR5ICovIH1cbiAgaWYgKCdnZXQnIGluIEF0dHJpYnV0ZXMgfHwgJ3NldCcgaW4gQXR0cmlidXRlcykgdGhyb3cgVHlwZUVycm9yKCdBY2Nlc3NvcnMgbm90IHN1cHBvcnRlZCEnKTtcbiAgaWYgKCd2YWx1ZScgaW4gQXR0cmlidXRlcykgT1tQXSA9IEF0dHJpYnV0ZXMudmFsdWU7XG4gIHJldHVybiBPO1xufTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/core-js/library/modules/_object-dp.js\n"); /***/ }), /***/ "./node_modules/core-js/library/modules/_object-dps.js": /*!*************************************************************!*\ !*** ./node_modules/core-js/library/modules/_object-dps.js ***! \*************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("var dP = __webpack_require__(/*! ./_object-dp */ \"./node_modules/core-js/library/modules/_object-dp.js\");\nvar anObject = __webpack_require__(/*! ./_an-object */ \"./node_modules/core-js/library/modules/_an-object.js\");\nvar getKeys = __webpack_require__(/*! ./_object-keys */ \"./node_modules/core-js/library/modules/_object-keys.js\");\n\nmodule.exports = __webpack_require__(/*! ./_descriptors */ \"./node_modules/core-js/library/modules/_descriptors.js\") ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX29iamVjdC1kcHMuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX29iamVjdC1kcHMuanM/N2U5MCJdLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgZFAgPSByZXF1aXJlKCcuL19vYmplY3QtZHAnKTtcbnZhciBhbk9iamVjdCA9IHJlcXVpcmUoJy4vX2FuLW9iamVjdCcpO1xudmFyIGdldEtleXMgPSByZXF1aXJlKCcuL19vYmplY3Qta2V5cycpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4vX2Rlc2NyaXB0b3JzJykgPyBPYmplY3QuZGVmaW5lUHJvcGVydGllcyA6IGZ1bmN0aW9uIGRlZmluZVByb3BlcnRpZXMoTywgUHJvcGVydGllcykge1xuICBhbk9iamVjdChPKTtcbiAgdmFyIGtleXMgPSBnZXRLZXlzKFByb3BlcnRpZXMpO1xuICB2YXIgbGVuZ3RoID0ga2V5cy5sZW5ndGg7XG4gIHZhciBpID0gMDtcbiAgdmFyIFA7XG4gIHdoaWxlIChsZW5ndGggPiBpKSBkUC5mKE8sIFAgPSBrZXlzW2krK10sIFByb3BlcnRpZXNbUF0pO1xuICByZXR1cm4gTztcbn07XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/core-js/library/modules/_object-dps.js\n"); /***/ }), /***/ "./node_modules/core-js/library/modules/_object-gops.js": /*!**************************************************************!*\ !*** ./node_modules/core-js/library/modules/_object-gops.js ***! \**************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { eval("exports.f = Object.getOwnPropertySymbols;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX29iamVjdC1nb3BzLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19vYmplY3QtZ29wcy5qcz85YWE5Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydHMuZiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHM7XG4iXSwibWFwcGluZ3MiOiJBQUFBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/core-js/library/modules/_object-gops.js\n"); /***/ }), /***/ "./node_modules/core-js/library/modules/_object-keys-internal.js": /*!***********************************************************************!*\ !*** ./node_modules/core-js/library/modules/_object-keys-internal.js ***! \***********************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("var has = __webpack_require__(/*! ./_has */ \"./node_modules/core-js/library/modules/_has.js\");\nvar toIObject = __webpack_require__(/*! ./_to-iobject */ \"./node_modules/core-js/library/modules/_to-iobject.js\");\nvar arrayIndexOf = __webpack_require__(/*! ./_array-includes */ \"./node_modules/core-js/library/modules/_array-includes.js\")(false);\nvar IE_PROTO = __webpack_require__(/*! ./_shared-key */ \"./node_modules/core-js/library/modules/_shared-key.js\")('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX29iamVjdC1rZXlzLWludGVybmFsLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19vYmplY3Qta2V5cy1pbnRlcm5hbC5qcz9lNmYzIl0sInNvdXJjZXNDb250ZW50IjpbInZhciBoYXMgPSByZXF1aXJlKCcuL19oYXMnKTtcbnZhciB0b0lPYmplY3QgPSByZXF1aXJlKCcuL190by1pb2JqZWN0Jyk7XG52YXIgYXJyYXlJbmRleE9mID0gcmVxdWlyZSgnLi9fYXJyYXktaW5jbHVkZXMnKShmYWxzZSk7XG52YXIgSUVfUFJPVE8gPSByZXF1aXJlKCcuL19zaGFyZWQta2V5JykoJ0lFX1BST1RPJyk7XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKG9iamVjdCwgbmFtZXMpIHtcbiAgdmFyIE8gPSB0b0lPYmplY3Qob2JqZWN0KTtcbiAgdmFyIGkgPSAwO1xuICB2YXIgcmVzdWx0ID0gW107XG4gIHZhciBrZXk7XG4gIGZvciAoa2V5IGluIE8pIGlmIChrZXkgIT0gSUVfUFJPVE8pIGhhcyhPLCBrZXkpICYmIHJlc3VsdC5wdXNoKGtleSk7XG4gIC8vIERvbid0IGVudW0gYnVnICYgaGlkZGVuIGtleXNcbiAgd2hpbGUgKG5hbWVzLmxlbmd0aCA+IGkpIGlmIChoYXMoTywga2V5ID0gbmFtZXNbaSsrXSkpIHtcbiAgICB+YXJyYXlJbmRleE9mKHJlc3VsdCwga2V5KSB8fCByZXN1bHQucHVzaChrZXkpO1xuICB9XG4gIHJldHVybiByZXN1bHQ7XG59O1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/core-js/library/modules/_object-keys-internal.js\n"); /***/ }), /***/ "./node_modules/core-js/library/modules/_object-keys.js": /*!**************************************************************!*\ !*** ./node_modules/core-js/library/modules/_object-keys.js ***! \**************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = __webpack_require__(/*! ./_object-keys-internal */ \"./node_modules/core-js/library/modules/_object-keys-internal.js\");\nvar enumBugKeys = __webpack_require__(/*! ./_enum-bug-keys */ \"./node_modules/core-js/library/modules/_enum-bug-keys.js\");\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX29iamVjdC1rZXlzLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19vYmplY3Qta2V5cy5qcz9jM2ExIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIDE5LjEuMi4xNCAvIDE1LjIuMy4xNCBPYmplY3Qua2V5cyhPKVxudmFyICRrZXlzID0gcmVxdWlyZSgnLi9fb2JqZWN0LWtleXMtaW50ZXJuYWwnKTtcbnZhciBlbnVtQnVnS2V5cyA9IHJlcXVpcmUoJy4vX2VudW0tYnVnLWtleXMnKTtcblxubW9kdWxlLmV4cG9ydHMgPSBPYmplY3Qua2V5cyB8fCBmdW5jdGlvbiBrZXlzKE8pIHtcbiAgcmV0dXJuICRrZXlzKE8sIGVudW1CdWdLZXlzKTtcbn07XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/core-js/library/modules/_object-keys.js\n"); /***/ }), /***/ "./node_modules/core-js/library/modules/_object-pie.js": /*!*************************************************************!*\ !*** ./node_modules/core-js/library/modules/_object-pie.js ***! \*************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { eval("exports.f = {}.propertyIsEnumerable;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX29iamVjdC1waWUuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX29iamVjdC1waWUuanM/MzU1ZCJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnRzLmYgPSB7fS5wcm9wZXJ0eUlzRW51bWVyYWJsZTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/core-js/library/modules/_object-pie.js\n"); /***/ }), /***/ "./node_modules/core-js/library/modules/_object-sap.js": /*!*************************************************************!*\ !*** ./node_modules/core-js/library/modules/_object-sap.js ***! \*************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// most Object methods by ES6 should accept primitives\nvar $export = __webpack_require__(/*! ./_export */ \"./node_modules/core-js/library/modules/_export.js\");\nvar core = __webpack_require__(/*! ./_core */ \"./node_modules/core-js/library/modules/_core.js\");\nvar fails = __webpack_require__(/*! ./_fails */ \"./node_modules/core-js/library/modules/_fails.js\");\nmodule.exports = function (KEY, exec) {\n var fn = (core.Object || {})[KEY] || Object[KEY];\n var exp = {};\n exp[KEY] = exec(fn);\n $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX29iamVjdC1zYXAuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX29iamVjdC1zYXAuanM/Y2U3ZSJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBtb3N0IE9iamVjdCBtZXRob2RzIGJ5IEVTNiBzaG91bGQgYWNjZXB0IHByaW1pdGl2ZXNcbnZhciAkZXhwb3J0ID0gcmVxdWlyZSgnLi9fZXhwb3J0Jyk7XG52YXIgY29yZSA9IHJlcXVpcmUoJy4vX2NvcmUnKTtcbnZhciBmYWlscyA9IHJlcXVpcmUoJy4vX2ZhaWxzJyk7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChLRVksIGV4ZWMpIHtcbiAgdmFyIGZuID0gKGNvcmUuT2JqZWN0IHx8IHt9KVtLRVldIHx8IE9iamVjdFtLRVldO1xuICB2YXIgZXhwID0ge307XG4gIGV4cFtLRVldID0gZXhlYyhmbik7XG4gICRleHBvcnQoJGV4cG9ydC5TICsgJGV4cG9ydC5GICogZmFpbHMoZnVuY3Rpb24gKCkgeyBmbigxKTsgfSksICdPYmplY3QnLCBleHApO1xufTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/core-js/library/modules/_object-sap.js\n"); /***/ }), /***/ "./node_modules/core-js/library/modules/_object-to-array.js": /*!******************************************************************!*\ !*** ./node_modules/core-js/library/modules/_object-to-array.js ***! \******************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("var DESCRIPTORS = __webpack_require__(/*! ./_descriptors */ \"./node_modules/core-js/library/modules/_descriptors.js\");\nvar getKeys = __webpack_require__(/*! ./_object-keys */ \"./node_modules/core-js/library/modules/_object-keys.js\");\nvar toIObject = __webpack_require__(/*! ./_to-iobject */ \"./node_modules/core-js/library/modules/_to-iobject.js\");\nvar isEnum = __webpack_require__(/*! ./_object-pie */ \"./node_modules/core-js/library/modules/_object-pie.js\").f;\nmodule.exports = function (isEntries) {\n return function (it) {\n var O = toIObject(it);\n var keys = getKeys(O);\n var length = keys.length;\n var i = 0;\n var result = [];\n var key;\n while (length > i) {\n key = keys[i++];\n if (!DESCRIPTORS || isEnum.call(O, key)) {\n result.push(isEntries ? [key, O[key]] : O[key]);\n }\n }\n return result;\n };\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX29iamVjdC10by1hcnJheS5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fb2JqZWN0LXRvLWFycmF5LmpzPzEzYzgiXSwic291cmNlc0NvbnRlbnQiOlsidmFyIERFU0NSSVBUT1JTID0gcmVxdWlyZSgnLi9fZGVzY3JpcHRvcnMnKTtcbnZhciBnZXRLZXlzID0gcmVxdWlyZSgnLi9fb2JqZWN0LWtleXMnKTtcbnZhciB0b0lPYmplY3QgPSByZXF1aXJlKCcuL190by1pb2JqZWN0Jyk7XG52YXIgaXNFbnVtID0gcmVxdWlyZSgnLi9fb2JqZWN0LXBpZScpLmY7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChpc0VudHJpZXMpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIChpdCkge1xuICAgIHZhciBPID0gdG9JT2JqZWN0KGl0KTtcbiAgICB2YXIga2V5cyA9IGdldEtleXMoTyk7XG4gICAgdmFyIGxlbmd0aCA9IGtleXMubGVuZ3RoO1xuICAgIHZhciBpID0gMDtcbiAgICB2YXIgcmVzdWx0ID0gW107XG4gICAgdmFyIGtleTtcbiAgICB3aGlsZSAobGVuZ3RoID4gaSkge1xuICAgICAga2V5ID0ga2V5c1tpKytdO1xuICAgICAgaWYgKCFERVNDUklQVE9SUyB8fCBpc0VudW0uY2FsbChPLCBrZXkpKSB7XG4gICAgICAgIHJlc3VsdC5wdXNoKGlzRW50cmllcyA/IFtrZXksIE9ba2V5XV0gOiBPW2tleV0pO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9O1xufTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/core-js/library/modules/_object-to-array.js\n"); /***/ }), /***/ "./node_modules/core-js/library/modules/_property-desc.js": /*!****************************************************************!*\ !*** ./node_modules/core-js/library/modules/_property-desc.js ***! \****************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { eval("module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3Byb3BlcnR5LWRlc2MuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3Byb3BlcnR5LWRlc2MuanM/YWViZCJdLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChiaXRtYXAsIHZhbHVlKSB7XG4gIHJldHVybiB7XG4gICAgZW51bWVyYWJsZTogIShiaXRtYXAgJiAxKSxcbiAgICBjb25maWd1cmFibGU6ICEoYml0bWFwICYgMiksXG4gICAgd3JpdGFibGU6ICEoYml0bWFwICYgNCksXG4gICAgdmFsdWU6IHZhbHVlXG4gIH07XG59O1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/core-js/library/modules/_property-desc.js\n"); /***/ }), /***/ "./node_modules/core-js/library/modules/_shared-key.js": /*!*************************************************************!*\ !*** ./node_modules/core-js/library/modules/_shared-key.js ***! \*************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("var shared = __webpack_require__(/*! ./_shared */ \"./node_modules/core-js/library/modules/_shared.js\")('keys');\nvar uid = __webpack_require__(/*! ./_uid */ \"./node_modules/core-js/library/modules/_uid.js\");\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3NoYXJlZC1rZXkuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3NoYXJlZC1rZXkuanM/NTU1OSJdLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgc2hhcmVkID0gcmVxdWlyZSgnLi9fc2hhcmVkJykoJ2tleXMnKTtcbnZhciB1aWQgPSByZXF1aXJlKCcuL191aWQnKTtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGtleSkge1xuICByZXR1cm4gc2hhcmVkW2tleV0gfHwgKHNoYXJlZFtrZXldID0gdWlkKGtleSkpO1xufTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/core-js/library/modules/_shared-key.js\n"); /***/ }), /***/ "./node_modules/core-js/library/modules/_shared.js": /*!*********************************************************!*\ !*** ./node_modules/core-js/library/modules/_shared.js ***! \*********************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("var core = __webpack_require__(/*! ./_core */ \"./node_modules/core-js/library/modules/_core.js\");\nvar global = __webpack_require__(/*! ./_global */ \"./node_modules/core-js/library/modules/_global.js\");\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: core.version,\n mode: __webpack_require__(/*! ./_library */ \"./node_modules/core-js/library/modules/_library.js\") ? 'pure' : 'global',\n copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3NoYXJlZC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fc2hhcmVkLmpzP2RiZGIiXSwic291cmNlc0NvbnRlbnQiOlsidmFyIGNvcmUgPSByZXF1aXJlKCcuL19jb3JlJyk7XG52YXIgZ2xvYmFsID0gcmVxdWlyZSgnLi9fZ2xvYmFsJyk7XG52YXIgU0hBUkVEID0gJ19fY29yZS1qc19zaGFyZWRfXyc7XG52YXIgc3RvcmUgPSBnbG9iYWxbU0hBUkVEXSB8fCAoZ2xvYmFsW1NIQVJFRF0gPSB7fSk7XG5cbihtb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChrZXksIHZhbHVlKSB7XG4gIHJldHVybiBzdG9yZVtrZXldIHx8IChzdG9yZVtrZXldID0gdmFsdWUgIT09IHVuZGVmaW5lZCA/IHZhbHVlIDoge30pO1xufSkoJ3ZlcnNpb25zJywgW10pLnB1c2goe1xuICB2ZXJzaW9uOiBjb3JlLnZlcnNpb24sXG4gIG1vZGU6IHJlcXVpcmUoJy4vX2xpYnJhcnknKSA/ICdwdXJlJyA6ICdnbG9iYWwnLFxuICBjb3B5cmlnaHQ6ICfCqSAyMDE5IERlbmlzIFB1c2hrYXJldiAoemxvaXJvY2sucnUpJ1xufSk7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/core-js/library/modules/_shared.js\n"); /***/ }), /***/ "./node_modules/core-js/library/modules/_to-absolute-index.js": /*!********************************************************************!*\ !*** ./node_modules/core-js/library/modules/_to-absolute-index.js ***! \********************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("var toInteger = __webpack_require__(/*! ./_to-integer */ \"./node_modules/core-js/library/modules/_to-integer.js\");\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3RvLWFic29sdXRlLWluZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL190by1hYnNvbHV0ZS1pbmRleC5qcz8wZmM5Il0sInNvdXJjZXNDb250ZW50IjpbInZhciB0b0ludGVnZXIgPSByZXF1aXJlKCcuL190by1pbnRlZ2VyJyk7XG52YXIgbWF4ID0gTWF0aC5tYXg7XG52YXIgbWluID0gTWF0aC5taW47XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChpbmRleCwgbGVuZ3RoKSB7XG4gIGluZGV4ID0gdG9JbnRlZ2VyKGluZGV4KTtcbiAgcmV0dXJuIGluZGV4IDwgMCA/IG1heChpbmRleCArIGxlbmd0aCwgMCkgOiBtaW4oaW5kZXgsIGxlbmd0aCk7XG59O1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/core-js/library/modules/_to-absolute-index.js\n"); /***/ }), /***/ "./node_modules/core-js/library/modules/_to-integer.js": /*!*************************************************************!*\ !*** ./node_modules/core-js/library/modules/_to-integer.js ***! \*************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { eval("// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3RvLWludGVnZXIuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3RvLWludGVnZXIuanM/M2EzOCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyA3LjEuNCBUb0ludGVnZXJcbnZhciBjZWlsID0gTWF0aC5jZWlsO1xudmFyIGZsb29yID0gTWF0aC5mbG9vcjtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGl0KSB7XG4gIHJldHVybiBpc05hTihpdCA9ICtpdCkgPyAwIDogKGl0ID4gMCA/IGZsb29yIDogY2VpbCkoaXQpO1xufTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/core-js/library/modules/_to-integer.js\n"); /***/ }), /***/ "./node_modules/core-js/library/modules/_to-iobject.js": /*!*************************************************************!*\ !*** ./node_modules/core-js/library/modules/_to-iobject.js ***! \*************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = __webpack_require__(/*! ./_iobject */ \"./node_modules/core-js/library/modules/_iobject.js\");\nvar defined = __webpack_require__(/*! ./_defined */ \"./node_modules/core-js/library/modules/_defined.js\");\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3RvLWlvYmplY3QuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3RvLWlvYmplY3QuanM/MzZjMyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyB0byBpbmRleGVkIG9iamVjdCwgdG9PYmplY3Qgd2l0aCBmYWxsYmFjayBmb3Igbm9uLWFycmF5LWxpa2UgRVMzIHN0cmluZ3NcbnZhciBJT2JqZWN0ID0gcmVxdWlyZSgnLi9faW9iamVjdCcpO1xudmFyIGRlZmluZWQgPSByZXF1aXJlKCcuL19kZWZpbmVkJyk7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChpdCkge1xuICByZXR1cm4gSU9iamVjdChkZWZpbmVkKGl0KSk7XG59O1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/core-js/library/modules/_to-iobject.js\n"); /***/ }), /***/ "./node_modules/core-js/library/modules/_to-length.js": /*!************************************************************!*\ !*** ./node_modules/core-js/library/modules/_to-length.js ***! \************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// 7.1.15 ToLength\nvar toInteger = __webpack_require__(/*! ./_to-integer */ \"./node_modules/core-js/library/modules/_to-integer.js\");\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3RvLWxlbmd0aC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fdG8tbGVuZ3RoLmpzP2I0NDciXSwic291cmNlc0NvbnRlbnQiOlsiLy8gNy4xLjE1IFRvTGVuZ3RoXG52YXIgdG9JbnRlZ2VyID0gcmVxdWlyZSgnLi9fdG8taW50ZWdlcicpO1xudmFyIG1pbiA9IE1hdGgubWluO1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaXQpIHtcbiAgcmV0dXJuIGl0ID4gMCA/IG1pbih0b0ludGVnZXIoaXQpLCAweDFmZmZmZmZmZmZmZmZmKSA6IDA7IC8vIHBvdygyLCA1MykgLSAxID09IDkwMDcxOTkyNTQ3NDA5OTFcbn07XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/core-js/library/modules/_to-length.js\n"); /***/ }), /***/ "./node_modules/core-js/library/modules/_to-object.js": /*!************************************************************!*\ !*** ./node_modules/core-js/library/modules/_to-object.js ***! \************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// 7.1.13 ToObject(argument)\nvar defined = __webpack_require__(/*! ./_defined */ \"./node_modules/core-js/library/modules/_defined.js\");\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3RvLW9iamVjdC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fdG8tb2JqZWN0LmpzPzI0MWUiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gNy4xLjEzIFRvT2JqZWN0KGFyZ3VtZW50KVxudmFyIGRlZmluZWQgPSByZXF1aXJlKCcuL19kZWZpbmVkJyk7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChpdCkge1xuICByZXR1cm4gT2JqZWN0KGRlZmluZWQoaXQpKTtcbn07XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/core-js/library/modules/_to-object.js\n"); /***/ }), /***/ "./node_modules/core-js/library/modules/_to-primitive.js": /*!***************************************************************!*\ !*** ./node_modules/core-js/library/modules/_to-primitive.js ***! \***************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = __webpack_require__(/*! ./_is-object */ \"./node_modules/core-js/library/modules/_is-object.js\");\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3RvLXByaW1pdGl2ZS5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fdG8tcHJpbWl0aXZlLmpzPzFiYzMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gNy4xLjEgVG9QcmltaXRpdmUoaW5wdXQgWywgUHJlZmVycmVkVHlwZV0pXG52YXIgaXNPYmplY3QgPSByZXF1aXJlKCcuL19pcy1vYmplY3QnKTtcbi8vIGluc3RlYWQgb2YgdGhlIEVTNiBzcGVjIHZlcnNpb24sIHdlIGRpZG4ndCBpbXBsZW1lbnQgQEB0b1ByaW1pdGl2ZSBjYXNlXG4vLyBhbmQgdGhlIHNlY29uZCBhcmd1bWVudCAtIGZsYWcgLSBwcmVmZXJyZWQgdHlwZSBpcyBhIHN0cmluZ1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaXQsIFMpIHtcbiAgaWYgKCFpc09iamVjdChpdCkpIHJldHVybiBpdDtcbiAgdmFyIGZuLCB2YWw7XG4gIGlmIChTICYmIHR5cGVvZiAoZm4gPSBpdC50b1N0cmluZykgPT0gJ2Z1bmN0aW9uJyAmJiAhaXNPYmplY3QodmFsID0gZm4uY2FsbChpdCkpKSByZXR1cm4gdmFsO1xuICBpZiAodHlwZW9mIChmbiA9IGl0LnZhbHVlT2YpID09ICdmdW5jdGlvbicgJiYgIWlzT2JqZWN0KHZhbCA9IGZuLmNhbGwoaXQpKSkgcmV0dXJuIHZhbDtcbiAgaWYgKCFTICYmIHR5cGVvZiAoZm4gPSBpdC50b1N0cmluZykgPT0gJ2Z1bmN0aW9uJyAmJiAhaXNPYmplY3QodmFsID0gZm4uY2FsbChpdCkpKSByZXR1cm4gdmFsO1xuICB0aHJvdyBUeXBlRXJyb3IoXCJDYW4ndCBjb252ZXJ0IG9iamVjdCB0byBwcmltaXRpdmUgdmFsdWVcIik7XG59O1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/core-js/library/modules/_to-primitive.js\n"); /***/ }), /***/ "./node_modules/core-js/library/modules/_uid.js": /*!******************************************************!*\ !*** ./node_modules/core-js/library/modules/_uid.js ***! \******************************************************/ /*! no static exports found */ /***/ (function(module, exports) { eval("var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3VpZC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fdWlkLmpzPzYyYTAiXSwic291cmNlc0NvbnRlbnQiOlsidmFyIGlkID0gMDtcbnZhciBweCA9IE1hdGgucmFuZG9tKCk7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChrZXkpIHtcbiAgcmV0dXJuICdTeW1ib2woJy5jb25jYXQoa2V5ID09PSB1bmRlZmluZWQgPyAnJyA6IGtleSwgJylfJywgKCsraWQgKyBweCkudG9TdHJpbmcoMzYpKTtcbn07XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/core-js/library/modules/_uid.js\n"); /***/ }), /***/ "./node_modules/core-js/library/modules/es6.date.now.js": /*!**************************************************************!*\ !*** ./node_modules/core-js/library/modules/es6.date.now.js ***! \**************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// 20.3.3.1 / 15.9.4.4 Date.now()\nvar $export = __webpack_require__(/*! ./_export */ \"./node_modules/core-js/library/modules/_export.js\");\n\n$export($export.S, 'Date', { now: function () { return new Date().getTime(); } });\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvZXM2LmRhdGUubm93LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL2VzNi5kYXRlLm5vdy5qcz8yZjM3Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIDIwLjMuMy4xIC8gMTUuOS40LjQgRGF0ZS5ub3coKVxudmFyICRleHBvcnQgPSByZXF1aXJlKCcuL19leHBvcnQnKTtcblxuJGV4cG9ydCgkZXhwb3J0LlMsICdEYXRlJywgeyBub3c6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIG5ldyBEYXRlKCkuZ2V0VGltZSgpOyB9IH0pO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/core-js/library/modules/es6.date.now.js\n"); /***/ }), /***/ "./node_modules/core-js/library/modules/es6.number.is-integer.js": /*!***********************************************************************!*\ !*** ./node_modules/core-js/library/modules/es6.number.is-integer.js ***! \***********************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// 20.1.2.3 Number.isInteger(number)\nvar $export = __webpack_require__(/*! ./_export */ \"./node_modules/core-js/library/modules/_export.js\");\n\n$export($export.S, 'Number', { isInteger: __webpack_require__(/*! ./_is-integer */ \"./node_modules/core-js/library/modules/_is-integer.js\") });\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvZXM2Lm51bWJlci5pcy1pbnRlZ2VyLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL2VzNi5udW1iZXIuaXMtaW50ZWdlci5qcz84NTE2Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIDIwLjEuMi4zIE51bWJlci5pc0ludGVnZXIobnVtYmVyKVxudmFyICRleHBvcnQgPSByZXF1aXJlKCcuL19leHBvcnQnKTtcblxuJGV4cG9ydCgkZXhwb3J0LlMsICdOdW1iZXInLCB7IGlzSW50ZWdlcjogcmVxdWlyZSgnLi9faXMtaW50ZWdlcicpIH0pO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/core-js/library/modules/es6.number.is-integer.js\n"); /***/ }), /***/ "./node_modules/core-js/library/modules/es6.object.assign.js": /*!*******************************************************************!*\ !*** ./node_modules/core-js/library/modules/es6.object.assign.js ***! \*******************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// 19.1.3.1 Object.assign(target, source)\nvar $export = __webpack_require__(/*! ./_export */ \"./node_modules/core-js/library/modules/_export.js\");\n\n$export($export.S + $export.F, 'Object', { assign: __webpack_require__(/*! ./_object-assign */ \"./node_modules/core-js/library/modules/_object-assign.js\") });\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvZXM2Lm9iamVjdC5hc3NpZ24uanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvZXM2Lm9iamVjdC5hc3NpZ24uanM/YTNjMyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyAxOS4xLjMuMSBPYmplY3QuYXNzaWduKHRhcmdldCwgc291cmNlKVxudmFyICRleHBvcnQgPSByZXF1aXJlKCcuL19leHBvcnQnKTtcblxuJGV4cG9ydCgkZXhwb3J0LlMgKyAkZXhwb3J0LkYsICdPYmplY3QnLCB7IGFzc2lnbjogcmVxdWlyZSgnLi9fb2JqZWN0LWFzc2lnbicpIH0pO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/core-js/library/modules/es6.object.assign.js\n"); /***/ }), /***/ "./node_modules/core-js/library/modules/es6.object.create.js": /*!*******************************************************************!*\ !*** ./node_modules/core-js/library/modules/es6.object.create.js ***! \*******************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("var $export = __webpack_require__(/*! ./_export */ \"./node_modules/core-js/library/modules/_export.js\");\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\n$export($export.S, 'Object', { create: __webpack_require__(/*! ./_object-create */ \"./node_modules/core-js/library/modules/_object-create.js\") });\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvZXM2Lm9iamVjdC5jcmVhdGUuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvZXM2Lm9iamVjdC5jcmVhdGUuanM/OTQyNyJdLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xuLy8gMTkuMS4yLjIgLyAxNS4yLjMuNSBPYmplY3QuY3JlYXRlKE8gWywgUHJvcGVydGllc10pXG4kZXhwb3J0KCRleHBvcnQuUywgJ09iamVjdCcsIHsgY3JlYXRlOiByZXF1aXJlKCcuL19vYmplY3QtY3JlYXRlJykgfSk7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/core-js/library/modules/es6.object.create.js\n"); /***/ }), /***/ "./node_modules/core-js/library/modules/es6.object.keys.js": /*!*****************************************************************!*\ !*** ./node_modules/core-js/library/modules/es6.object.keys.js ***! \*****************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// 19.1.2.14 Object.keys(O)\nvar toObject = __webpack_require__(/*! ./_to-object */ \"./node_modules/core-js/library/modules/_to-object.js\");\nvar $keys = __webpack_require__(/*! ./_object-keys */ \"./node_modules/core-js/library/modules/_object-keys.js\");\n\n__webpack_require__(/*! ./_object-sap */ \"./node_modules/core-js/library/modules/_object-sap.js\")('keys', function () {\n return function keys(it) {\n return $keys(toObject(it));\n };\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvZXM2Lm9iamVjdC5rZXlzLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL2VzNi5vYmplY3Qua2V5cy5qcz8zMmE2Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIDE5LjEuMi4xNCBPYmplY3Qua2V5cyhPKVxudmFyIHRvT2JqZWN0ID0gcmVxdWlyZSgnLi9fdG8tb2JqZWN0Jyk7XG52YXIgJGtleXMgPSByZXF1aXJlKCcuL19vYmplY3Qta2V5cycpO1xuXG5yZXF1aXJlKCcuL19vYmplY3Qtc2FwJykoJ2tleXMnLCBmdW5jdGlvbiAoKSB7XG4gIHJldHVybiBmdW5jdGlvbiBrZXlzKGl0KSB7XG4gICAgcmV0dXJuICRrZXlzKHRvT2JqZWN0KGl0KSk7XG4gIH07XG59KTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/core-js/library/modules/es6.object.keys.js\n"); /***/ }), /***/ "./node_modules/core-js/library/modules/es7.object.values.js": /*!*******************************************************************!*\ !*** ./node_modules/core-js/library/modules/es7.object.values.js ***! \*******************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// https://github.com/tc39/proposal-object-values-entries\nvar $export = __webpack_require__(/*! ./_export */ \"./node_modules/core-js/library/modules/_export.js\");\nvar $values = __webpack_require__(/*! ./_object-to-array */ \"./node_modules/core-js/library/modules/_object-to-array.js\")(false);\n\n$export($export.S, 'Object', {\n values: function values(it) {\n return $values(it);\n }\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvZXM3Lm9iamVjdC52YWx1ZXMuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvZXM3Lm9iamVjdC52YWx1ZXMuanM/N2Q2ZCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBodHRwczovL2dpdGh1Yi5jb20vdGMzOS9wcm9wb3NhbC1vYmplY3QtdmFsdWVzLWVudHJpZXNcbnZhciAkZXhwb3J0ID0gcmVxdWlyZSgnLi9fZXhwb3J0Jyk7XG52YXIgJHZhbHVlcyA9IHJlcXVpcmUoJy4vX29iamVjdC10by1hcnJheScpKGZhbHNlKTtcblxuJGV4cG9ydCgkZXhwb3J0LlMsICdPYmplY3QnLCB7XG4gIHZhbHVlczogZnVuY3Rpb24gdmFsdWVzKGl0KSB7XG4gICAgcmV0dXJuICR2YWx1ZXMoaXQpO1xuICB9XG59KTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/core-js/library/modules/es7.object.values.js\n"); /***/ }), /***/ "./node_modules/core-js/modules/_a-function.js": /*!*****************************************************!*\ !*** ./node_modules/core-js/modules/_a-function.js ***! \*****************************************************/ /*! no static exports found */ /***/ (function(module, exports) { eval("module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19hLWZ1bmN0aW9uLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fYS1mdW5jdGlvbi5qcz9kOGU4Il0sInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGl0KSB7XG4gIGlmICh0eXBlb2YgaXQgIT0gJ2Z1bmN0aW9uJykgdGhyb3cgVHlwZUVycm9yKGl0ICsgJyBpcyBub3QgYSBmdW5jdGlvbiEnKTtcbiAgcmV0dXJuIGl0O1xufTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_a-function.js\n"); /***/ }), /***/ "./node_modules/core-js/modules/_a-number-value.js": /*!*********************************************************!*\ !*** ./node_modules/core-js/modules/_a-number-value.js ***! \*********************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("var cof = __webpack_require__(/*! ./_cof */ \"./node_modules/core-js/modules/_cof.js\");\nmodule.exports = function (it, msg) {\n if (typeof it != 'number' && cof(it) != 'Number') throw TypeError(msg);\n return +it;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19hLW51bWJlci12YWx1ZS5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2EtbnVtYmVyLXZhbHVlLmpzP2JlZjkiXSwic291cmNlc0NvbnRlbnQiOlsidmFyIGNvZiA9IHJlcXVpcmUoJy4vX2NvZicpO1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaXQsIG1zZykge1xuICBpZiAodHlwZW9mIGl0ICE9ICdudW1iZXInICYmIGNvZihpdCkgIT0gJ051bWJlcicpIHRocm93IFR5cGVFcnJvcihtc2cpO1xuICByZXR1cm4gK2l0O1xufTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_a-number-value.js\n"); /***/ }), /***/ "./node_modules/core-js/modules/_an-object.js": /*!****************************************************!*\ !*** ./node_modules/core-js/modules/_an-object.js ***! \****************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("var isObject = __webpack_require__(/*! ./_is-object */ \"./node_modules/core-js/modules/_is-object.js\");\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19hbi1vYmplY3QuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19hbi1vYmplY3QuanM/Y2I3YyJdLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgaXNPYmplY3QgPSByZXF1aXJlKCcuL19pcy1vYmplY3QnKTtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGl0KSB7XG4gIGlmICghaXNPYmplY3QoaXQpKSB0aHJvdyBUeXBlRXJyb3IoaXQgKyAnIGlzIG5vdCBhbiBvYmplY3QhJyk7XG4gIHJldHVybiBpdDtcbn07XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_an-object.js\n"); /***/ }), /***/ "./node_modules/core-js/modules/_array-includes.js": /*!*********************************************************!*\ !*** ./node_modules/core-js/modules/_array-includes.js ***! \*********************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = __webpack_require__(/*! ./_to-iobject */ \"./node_modules/core-js/modules/_to-iobject.js\");\nvar toLength = __webpack_require__(/*! ./_to-length */ \"./node_modules/core-js/modules/_to-length.js\");\nvar toAbsoluteIndex = __webpack_require__(/*! ./_to-absolute-index */ \"./node_modules/core-js/modules/_to-absolute-index.js\");\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19hcnJheS1pbmNsdWRlcy5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2FycmF5LWluY2x1ZGVzLmpzP2MzNjYiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gZmFsc2UgLT4gQXJyYXkjaW5kZXhPZlxuLy8gdHJ1ZSAgLT4gQXJyYXkjaW5jbHVkZXNcbnZhciB0b0lPYmplY3QgPSByZXF1aXJlKCcuL190by1pb2JqZWN0Jyk7XG52YXIgdG9MZW5ndGggPSByZXF1aXJlKCcuL190by1sZW5ndGgnKTtcbnZhciB0b0Fic29sdXRlSW5kZXggPSByZXF1aXJlKCcuL190by1hYnNvbHV0ZS1pbmRleCcpO1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoSVNfSU5DTFVERVMpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uICgkdGhpcywgZWwsIGZyb21JbmRleCkge1xuICAgIHZhciBPID0gdG9JT2JqZWN0KCR0aGlzKTtcbiAgICB2YXIgbGVuZ3RoID0gdG9MZW5ndGgoTy5sZW5ndGgpO1xuICAgIHZhciBpbmRleCA9IHRvQWJzb2x1dGVJbmRleChmcm9tSW5kZXgsIGxlbmd0aCk7XG4gICAgdmFyIHZhbHVlO1xuICAgIC8vIEFycmF5I2luY2x1ZGVzIHVzZXMgU2FtZVZhbHVlWmVybyBlcXVhbGl0eSBhbGdvcml0aG1cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tc2VsZi1jb21wYXJlXG4gICAgaWYgKElTX0lOQ0xVREVTICYmIGVsICE9IGVsKSB3aGlsZSAobGVuZ3RoID4gaW5kZXgpIHtcbiAgICAgIHZhbHVlID0gT1tpbmRleCsrXTtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1zZWxmLWNvbXBhcmVcbiAgICAgIGlmICh2YWx1ZSAhPSB2YWx1ZSkgcmV0dXJuIHRydWU7XG4gICAgLy8gQXJyYXkjaW5kZXhPZiBpZ25vcmVzIGhvbGVzLCBBcnJheSNpbmNsdWRlcyAtIG5vdFxuICAgIH0gZWxzZSBmb3IgKDtsZW5ndGggPiBpbmRleDsgaW5kZXgrKykgaWYgKElTX0lOQ0xVREVTIHx8IGluZGV4IGluIE8pIHtcbiAgICAgIGlmIChPW2luZGV4XSA9PT0gZWwpIHJldHVybiBJU19JTkNMVURFUyB8fCBpbmRleCB8fCAwO1xuICAgIH0gcmV0dXJuICFJU19JTkNMVURFUyAmJiAtMTtcbiAgfTtcbn07XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_array-includes.js\n"); /***/ }), /***/ "./node_modules/core-js/modules/_cof.js": /*!**********************************************!*\ !*** ./node_modules/core-js/modules/_cof.js ***! \**********************************************/ /*! no static exports found */ /***/ (function(module, exports) { eval("var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19jb2YuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19jb2YuanM/MmQ5NSJdLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgdG9TdHJpbmcgPSB7fS50b1N0cmluZztcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaXQpIHtcbiAgcmV0dXJuIHRvU3RyaW5nLmNhbGwoaXQpLnNsaWNlKDgsIC0xKTtcbn07XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_cof.js\n"); /***/ }), /***/ "./node_modules/core-js/modules/_core.js": /*!***********************************************!*\ !*** ./node_modules/core-js/modules/_core.js ***! \***********************************************/ /*! no static exports found */ /***/ (function(module, exports) { eval("var core = module.exports = { version: '2.6.9' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19jb3JlLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fY29yZS5qcz84Mzc4Il0sInNvdXJjZXNDb250ZW50IjpbInZhciBjb3JlID0gbW9kdWxlLmV4cG9ydHMgPSB7IHZlcnNpb246ICcyLjYuOScgfTtcbmlmICh0eXBlb2YgX19lID09ICdudW1iZXInKSBfX2UgPSBjb3JlOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLXVuZGVmXG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_core.js\n"); /***/ }), /***/ "./node_modules/core-js/modules/_ctx.js": /*!**********************************************!*\ !*** ./node_modules/core-js/modules/_ctx.js ***! \**********************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// optional / simple context binding\nvar aFunction = __webpack_require__(/*! ./_a-function */ \"./node_modules/core-js/modules/_a-function.js\");\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19jdHguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19jdHguanM/OWI0MyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBvcHRpb25hbCAvIHNpbXBsZSBjb250ZXh0IGJpbmRpbmdcbnZhciBhRnVuY3Rpb24gPSByZXF1aXJlKCcuL19hLWZ1bmN0aW9uJyk7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChmbiwgdGhhdCwgbGVuZ3RoKSB7XG4gIGFGdW5jdGlvbihmbik7XG4gIGlmICh0aGF0ID09PSB1bmRlZmluZWQpIHJldHVybiBmbjtcbiAgc3dpdGNoIChsZW5ndGgpIHtcbiAgICBjYXNlIDE6IHJldHVybiBmdW5jdGlvbiAoYSkge1xuICAgICAgcmV0dXJuIGZuLmNhbGwodGhhdCwgYSk7XG4gICAgfTtcbiAgICBjYXNlIDI6IHJldHVybiBmdW5jdGlvbiAoYSwgYikge1xuICAgICAgcmV0dXJuIGZuLmNhbGwodGhhdCwgYSwgYik7XG4gICAgfTtcbiAgICBjYXNlIDM6IHJldHVybiBmdW5jdGlvbiAoYSwgYiwgYykge1xuICAgICAgcmV0dXJuIGZuLmNhbGwodGhhdCwgYSwgYiwgYyk7XG4gICAgfTtcbiAgfVxuICByZXR1cm4gZnVuY3Rpb24gKC8qIC4uLmFyZ3MgKi8pIHtcbiAgICByZXR1cm4gZm4uYXBwbHkodGhhdCwgYXJndW1lbnRzKTtcbiAgfTtcbn07XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_ctx.js\n"); /***/ }), /***/ "./node_modules/core-js/modules/_defined.js": /*!**************************************************!*\ !*** ./node_modules/core-js/modules/_defined.js ***! \**************************************************/ /*! no static exports found */ /***/ (function(module, exports) { eval("// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19kZWZpbmVkLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fZGVmaW5lZC5qcz9iZTEzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIDcuMi4xIFJlcXVpcmVPYmplY3RDb2VyY2libGUoYXJndW1lbnQpXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChpdCkge1xuICBpZiAoaXQgPT0gdW5kZWZpbmVkKSB0aHJvdyBUeXBlRXJyb3IoXCJDYW4ndCBjYWxsIG1ldGhvZCBvbiAgXCIgKyBpdCk7XG4gIHJldHVybiBpdDtcbn07XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_defined.js\n"); /***/ }), /***/ "./node_modules/core-js/modules/_descriptors.js": /*!******************************************************!*\ !*** ./node_modules/core-js/modules/_descriptors.js ***! \******************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// Thank's IE8 for his funny defineProperty\nmodule.exports = !__webpack_require__(/*! ./_fails */ \"./node_modules/core-js/modules/_fails.js\")(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19kZXNjcmlwdG9ycy5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2Rlc2NyaXB0b3JzLmpzPzllMWUiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gVGhhbmsncyBJRTggZm9yIGhpcyBmdW5ueSBkZWZpbmVQcm9wZXJ0eVxubW9kdWxlLmV4cG9ydHMgPSAhcmVxdWlyZSgnLi9fZmFpbHMnKShmdW5jdGlvbiAoKSB7XG4gIHJldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkoe30sICdhJywgeyBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIDc7IH0gfSkuYSAhPSA3O1xufSk7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_descriptors.js\n"); /***/ }), /***/ "./node_modules/core-js/modules/_dom-create.js": /*!*****************************************************!*\ !*** ./node_modules/core-js/modules/_dom-create.js ***! \*****************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("var isObject = __webpack_require__(/*! ./_is-object */ \"./node_modules/core-js/modules/_is-object.js\");\nvar document = __webpack_require__(/*! ./_global */ \"./node_modules/core-js/modules/_global.js\").document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19kb20tY3JlYXRlLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fZG9tLWNyZWF0ZS5qcz8yMzBlIl0sInNvdXJjZXNDb250ZW50IjpbInZhciBpc09iamVjdCA9IHJlcXVpcmUoJy4vX2lzLW9iamVjdCcpO1xudmFyIGRvY3VtZW50ID0gcmVxdWlyZSgnLi9fZ2xvYmFsJykuZG9jdW1lbnQ7XG4vLyB0eXBlb2YgZG9jdW1lbnQuY3JlYXRlRWxlbWVudCBpcyAnb2JqZWN0JyBpbiBvbGQgSUVcbnZhciBpcyA9IGlzT2JqZWN0KGRvY3VtZW50KSAmJiBpc09iamVjdChkb2N1bWVudC5jcmVhdGVFbGVtZW50KTtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGl0KSB7XG4gIHJldHVybiBpcyA/IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoaXQpIDoge307XG59O1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_dom-create.js\n"); /***/ }), /***/ "./node_modules/core-js/modules/_enum-bug-keys.js": /*!********************************************************!*\ !*** ./node_modules/core-js/modules/_enum-bug-keys.js ***! \********************************************************/ /*! no static exports found */ /***/ (function(module, exports) { eval("// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19lbnVtLWJ1Zy1rZXlzLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fZW51bS1idWcta2V5cy5qcz9lMTFlIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIElFIDgtIGRvbid0IGVudW0gYnVnIGtleXNcbm1vZHVsZS5leHBvcnRzID0gKFxuICAnY29uc3RydWN0b3IsaGFzT3duUHJvcGVydHksaXNQcm90b3R5cGVPZixwcm9wZXJ0eUlzRW51bWVyYWJsZSx0b0xvY2FsZVN0cmluZyx0b1N0cmluZyx2YWx1ZU9mJ1xuKS5zcGxpdCgnLCcpO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_enum-bug-keys.js\n"); /***/ }), /***/ "./node_modules/core-js/modules/_export.js": /*!*************************************************!*\ !*** ./node_modules/core-js/modules/_export.js ***! \*************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("var global = __webpack_require__(/*! ./_global */ \"./node_modules/core-js/modules/_global.js\");\nvar core = __webpack_require__(/*! ./_core */ \"./node_modules/core-js/modules/_core.js\");\nvar hide = __webpack_require__(/*! ./_hide */ \"./node_modules/core-js/modules/_hide.js\");\nvar redefine = __webpack_require__(/*! ./_redefine */ \"./node_modules/core-js/modules/_redefine.js\");\nvar ctx = __webpack_require__(/*! ./_ctx */ \"./node_modules/core-js/modules/_ctx.js\");\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE];\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {});\n var key, own, out, exp;\n if (IS_GLOBAL) source = name;\n for (key in source) {\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n // export native or passed\n out = (own ? target : source)[key];\n // bind timers to global for call from export context\n exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // extend global\n if (target) redefine(target, key, out, type & $export.U);\n // export\n if (exports[key] != out) hide(exports, key, exp);\n if (IS_PROTO && expProto[key] != out) expProto[key] = out;\n }\n};\nglobal.core = core;\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19leHBvcnQuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19leHBvcnQuanM/NWNhMSJdLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgZ2xvYmFsID0gcmVxdWlyZSgnLi9fZ2xvYmFsJyk7XG52YXIgY29yZSA9IHJlcXVpcmUoJy4vX2NvcmUnKTtcbnZhciBoaWRlID0gcmVxdWlyZSgnLi9faGlkZScpO1xudmFyIHJlZGVmaW5lID0gcmVxdWlyZSgnLi9fcmVkZWZpbmUnKTtcbnZhciBjdHggPSByZXF1aXJlKCcuL19jdHgnKTtcbnZhciBQUk9UT1RZUEUgPSAncHJvdG90eXBlJztcblxudmFyICRleHBvcnQgPSBmdW5jdGlvbiAodHlwZSwgbmFtZSwgc291cmNlKSB7XG4gIHZhciBJU19GT1JDRUQgPSB0eXBlICYgJGV4cG9ydC5GO1xuICB2YXIgSVNfR0xPQkFMID0gdHlwZSAmICRleHBvcnQuRztcbiAgdmFyIElTX1NUQVRJQyA9IHR5cGUgJiAkZXhwb3J0LlM7XG4gIHZhciBJU19QUk9UTyA9IHR5cGUgJiAkZXhwb3J0LlA7XG4gIHZhciBJU19CSU5EID0gdHlwZSAmICRleHBvcnQuQjtcbiAgdmFyIHRhcmdldCA9IElTX0dMT0JBTCA/IGdsb2JhbCA6IElTX1NUQVRJQyA/IGdsb2JhbFtuYW1lXSB8fCAoZ2xvYmFsW25hbWVdID0ge30pIDogKGdsb2JhbFtuYW1lXSB8fCB7fSlbUFJPVE9UWVBFXTtcbiAgdmFyIGV4cG9ydHMgPSBJU19HTE9CQUwgPyBjb3JlIDogY29yZVtuYW1lXSB8fCAoY29yZVtuYW1lXSA9IHt9KTtcbiAgdmFyIGV4cFByb3RvID0gZXhwb3J0c1tQUk9UT1RZUEVdIHx8IChleHBvcnRzW1BST1RPVFlQRV0gPSB7fSk7XG4gIHZhciBrZXksIG93biwgb3V0LCBleHA7XG4gIGlmIChJU19HTE9CQUwpIHNvdXJjZSA9IG5hbWU7XG4gIGZvciAoa2V5IGluIHNvdXJjZSkge1xuICAgIC8vIGNvbnRhaW5zIGluIG5hdGl2ZVxuICAgIG93biA9ICFJU19GT1JDRUQgJiYgdGFyZ2V0ICYmIHRhcmdldFtrZXldICE9PSB1bmRlZmluZWQ7XG4gICAgLy8gZXhwb3J0IG5hdGl2ZSBvciBwYXNzZWRcbiAgICBvdXQgPSAob3duID8gdGFyZ2V0IDogc291cmNlKVtrZXldO1xuICAgIC8vIGJpbmQgdGltZXJzIHRvIGdsb2JhbCBmb3IgY2FsbCBmcm9tIGV4cG9ydCBjb250ZXh0XG4gICAgZXhwID0gSVNfQklORCAmJiBvd24gPyBjdHgob3V0LCBnbG9iYWwpIDogSVNfUFJPVE8gJiYgdHlwZW9mIG91dCA9PSAnZnVuY3Rpb24nID8gY3R4KEZ1bmN0aW9uLmNhbGwsIG91dCkgOiBvdXQ7XG4gICAgLy8gZXh0ZW5kIGdsb2JhbFxuICAgIGlmICh0YXJnZXQpIHJlZGVmaW5lKHRhcmdldCwga2V5LCBvdXQsIHR5cGUgJiAkZXhwb3J0LlUpO1xuICAgIC8vIGV4cG9ydFxuICAgIGlmIChleHBvcnRzW2tleV0gIT0gb3V0KSBoaWRlKGV4cG9ydHMsIGtleSwgZXhwKTtcbiAgICBpZiAoSVNfUFJPVE8gJiYgZXhwUHJvdG9ba2V5XSAhPSBvdXQpIGV4cFByb3RvW2tleV0gPSBvdXQ7XG4gIH1cbn07XG5nbG9iYWwuY29yZSA9IGNvcmU7XG4vLyB0eXBlIGJpdG1hcFxuJGV4cG9ydC5GID0gMTsgICAvLyBmb3JjZWRcbiRleHBvcnQuRyA9IDI7ICAgLy8gZ2xvYmFsXG4kZXhwb3J0LlMgPSA0OyAgIC8vIHN0YXRpY1xuJGV4cG9ydC5QID0gODsgICAvLyBwcm90b1xuJGV4cG9ydC5CID0gMTY7ICAvLyBiaW5kXG4kZXhwb3J0LlcgPSAzMjsgIC8vIHdyYXBcbiRleHBvcnQuVSA9IDY0OyAgLy8gc2FmZVxuJGV4cG9ydC5SID0gMTI4OyAvLyByZWFsIHByb3RvIG1ldGhvZCBmb3IgYGxpYnJhcnlgXG5tb2R1bGUuZXhwb3J0cyA9ICRleHBvcnQ7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_export.js\n"); /***/ }), /***/ "./node_modules/core-js/modules/_fails.js": /*!************************************************!*\ !*** ./node_modules/core-js/modules/_fails.js ***! \************************************************/ /*! no static exports found */ /***/ (function(module, exports) { eval("module.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19mYWlscy5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2ZhaWxzLmpzPzc5ZTUiXSwic291cmNlc0NvbnRlbnQiOlsibW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoZXhlYykge1xuICB0cnkge1xuICAgIHJldHVybiAhIWV4ZWMoKTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG59O1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_fails.js\n"); /***/ }), /***/ "./node_modules/core-js/modules/_function-to-string.js": /*!*************************************************************!*\ !*** ./node_modules/core-js/modules/_function-to-string.js ***! \*************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("module.exports = __webpack_require__(/*! ./_shared */ \"./node_modules/core-js/modules/_shared.js\")('native-function-to-string', Function.toString);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19mdW5jdGlvbi10by1zdHJpbmcuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19mdW5jdGlvbi10by1zdHJpbmcuanM/ZmE1YiJdLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4vX3NoYXJlZCcpKCduYXRpdmUtZnVuY3Rpb24tdG8tc3RyaW5nJywgRnVuY3Rpb24udG9TdHJpbmcpO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_function-to-string.js\n"); /***/ }), /***/ "./node_modules/core-js/modules/_global.js": /*!*************************************************!*\ !*** ./node_modules/core-js/modules/_global.js ***! \*************************************************/ /*! no static exports found */ /***/ (function(module, exports) { eval("// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19nbG9iYWwuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19nbG9iYWwuanM/NzcyNiJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBodHRwczovL2dpdGh1Yi5jb20vemxvaXJvY2svY29yZS1qcy9pc3N1ZXMvODYjaXNzdWVjb21tZW50LTExNTc1OTAyOFxudmFyIGdsb2JhbCA9IG1vZHVsZS5leHBvcnRzID0gdHlwZW9mIHdpbmRvdyAhPSAndW5kZWZpbmVkJyAmJiB3aW5kb3cuTWF0aCA9PSBNYXRoXG4gID8gd2luZG93IDogdHlwZW9mIHNlbGYgIT0gJ3VuZGVmaW5lZCcgJiYgc2VsZi5NYXRoID09IE1hdGggPyBzZWxmXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1uZXctZnVuY1xuICA6IEZ1bmN0aW9uKCdyZXR1cm4gdGhpcycpKCk7XG5pZiAodHlwZW9mIF9fZyA9PSAnbnVtYmVyJykgX19nID0gZ2xvYmFsOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLXVuZGVmXG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_global.js\n"); /***/ }), /***/ "./node_modules/core-js/modules/_has.js": /*!**********************************************!*\ !*** ./node_modules/core-js/modules/_has.js ***! \**********************************************/ /*! no static exports found */ /***/ (function(module, exports) { eval("var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19oYXMuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19oYXMuanM/NjlhOCJdLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgaGFzT3duUHJvcGVydHkgPSB7fS5oYXNPd25Qcm9wZXJ0eTtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGl0LCBrZXkpIHtcbiAgcmV0dXJuIGhhc093blByb3BlcnR5LmNhbGwoaXQsIGtleSk7XG59O1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_has.js\n"); /***/ }), /***/ "./node_modules/core-js/modules/_hide.js": /*!***********************************************!*\ !*** ./node_modules/core-js/modules/_hide.js ***! \***********************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("var dP = __webpack_require__(/*! ./_object-dp */ \"./node_modules/core-js/modules/_object-dp.js\");\nvar createDesc = __webpack_require__(/*! ./_property-desc */ \"./node_modules/core-js/modules/_property-desc.js\");\nmodule.exports = __webpack_require__(/*! ./_descriptors */ \"./node_modules/core-js/modules/_descriptors.js\") ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19oaWRlLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9faGlkZS5qcz8zMmU5Il0sInNvdXJjZXNDb250ZW50IjpbInZhciBkUCA9IHJlcXVpcmUoJy4vX29iamVjdC1kcCcpO1xudmFyIGNyZWF0ZURlc2MgPSByZXF1aXJlKCcuL19wcm9wZXJ0eS1kZXNjJyk7XG5tb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4vX2Rlc2NyaXB0b3JzJykgPyBmdW5jdGlvbiAob2JqZWN0LCBrZXksIHZhbHVlKSB7XG4gIHJldHVybiBkUC5mKG9iamVjdCwga2V5LCBjcmVhdGVEZXNjKDEsIHZhbHVlKSk7XG59IDogZnVuY3Rpb24gKG9iamVjdCwga2V5LCB2YWx1ZSkge1xuICBvYmplY3Rba2V5XSA9IHZhbHVlO1xuICByZXR1cm4gb2JqZWN0O1xufTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_hide.js\n"); /***/ }), /***/ "./node_modules/core-js/modules/_html.js": /*!***********************************************!*\ !*** ./node_modules/core-js/modules/_html.js ***! \***********************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("var document = __webpack_require__(/*! ./_global */ \"./node_modules/core-js/modules/_global.js\").document;\nmodule.exports = document && document.documentElement;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19odG1sLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9faHRtbC5qcz9mYWIyIl0sInNvdXJjZXNDb250ZW50IjpbInZhciBkb2N1bWVudCA9IHJlcXVpcmUoJy4vX2dsb2JhbCcpLmRvY3VtZW50O1xubW9kdWxlLmV4cG9ydHMgPSBkb2N1bWVudCAmJiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_html.js\n"); /***/ }), /***/ "./node_modules/core-js/modules/_ie8-dom-define.js": /*!*********************************************************!*\ !*** ./node_modules/core-js/modules/_ie8-dom-define.js ***! \*********************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("module.exports = !__webpack_require__(/*! ./_descriptors */ \"./node_modules/core-js/modules/_descriptors.js\") && !__webpack_require__(/*! ./_fails */ \"./node_modules/core-js/modules/_fails.js\")(function () {\n return Object.defineProperty(__webpack_require__(/*! ./_dom-create */ \"./node_modules/core-js/modules/_dom-create.js\")('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19pZTgtZG9tLWRlZmluZS5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2llOC1kb20tZGVmaW5lLmpzP2M2OWEiXSwic291cmNlc0NvbnRlbnQiOlsibW9kdWxlLmV4cG9ydHMgPSAhcmVxdWlyZSgnLi9fZGVzY3JpcHRvcnMnKSAmJiAhcmVxdWlyZSgnLi9fZmFpbHMnKShmdW5jdGlvbiAoKSB7XG4gIHJldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkocmVxdWlyZSgnLi9fZG9tLWNyZWF0ZScpKCdkaXYnKSwgJ2EnLCB7IGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gNzsgfSB9KS5hICE9IDc7XG59KTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_ie8-dom-define.js\n"); /***/ }), /***/ "./node_modules/core-js/modules/_inherit-if-required.js": /*!**************************************************************!*\ !*** ./node_modules/core-js/modules/_inherit-if-required.js ***! \**************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("var isObject = __webpack_require__(/*! ./_is-object */ \"./node_modules/core-js/modules/_is-object.js\");\nvar setPrototypeOf = __webpack_require__(/*! ./_set-proto */ \"./node_modules/core-js/modules/_set-proto.js\").set;\nmodule.exports = function (that, target, C) {\n var S = target.constructor;\n var P;\n if (S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype && isObject(P) && setPrototypeOf) {\n setPrototypeOf(that, P);\n } return that;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19pbmhlcml0LWlmLXJlcXVpcmVkLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9faW5oZXJpdC1pZi1yZXF1aXJlZC5qcz81ZGJjIl0sInNvdXJjZXNDb250ZW50IjpbInZhciBpc09iamVjdCA9IHJlcXVpcmUoJy4vX2lzLW9iamVjdCcpO1xudmFyIHNldFByb3RvdHlwZU9mID0gcmVxdWlyZSgnLi9fc2V0LXByb3RvJykuc2V0O1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAodGhhdCwgdGFyZ2V0LCBDKSB7XG4gIHZhciBTID0gdGFyZ2V0LmNvbnN0cnVjdG9yO1xuICB2YXIgUDtcbiAgaWYgKFMgIT09IEMgJiYgdHlwZW9mIFMgPT0gJ2Z1bmN0aW9uJyAmJiAoUCA9IFMucHJvdG90eXBlKSAhPT0gQy5wcm90b3R5cGUgJiYgaXNPYmplY3QoUCkgJiYgc2V0UHJvdG90eXBlT2YpIHtcbiAgICBzZXRQcm90b3R5cGVPZih0aGF0LCBQKTtcbiAgfSByZXR1cm4gdGhhdDtcbn07XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_inherit-if-required.js\n"); /***/ }), /***/ "./node_modules/core-js/modules/_iobject.js": /*!**************************************************!*\ !*** ./node_modules/core-js/modules/_iobject.js ***! \**************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = __webpack_require__(/*! ./_cof */ \"./node_modules/core-js/modules/_cof.js\");\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19pb2JqZWN0LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9faW9iamVjdC5qcz82MjZhIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIGZhbGxiYWNrIGZvciBub24tYXJyYXktbGlrZSBFUzMgYW5kIG5vbi1lbnVtZXJhYmxlIG9sZCBWOCBzdHJpbmdzXG52YXIgY29mID0gcmVxdWlyZSgnLi9fY29mJyk7XG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcHJvdG90eXBlLWJ1aWx0aW5zXG5tb2R1bGUuZXhwb3J0cyA9IE9iamVjdCgneicpLnByb3BlcnR5SXNFbnVtZXJhYmxlKDApID8gT2JqZWN0IDogZnVuY3Rpb24gKGl0KSB7XG4gIHJldHVybiBjb2YoaXQpID09ICdTdHJpbmcnID8gaXQuc3BsaXQoJycpIDogT2JqZWN0KGl0KTtcbn07XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_iobject.js\n"); /***/ }), /***/ "./node_modules/core-js/modules/_is-integer.js": /*!*****************************************************!*\ !*** ./node_modules/core-js/modules/_is-integer.js ***! \*****************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// 20.1.2.3 Number.isInteger(number)\nvar isObject = __webpack_require__(/*! ./_is-object */ \"./node_modules/core-js/modules/_is-object.js\");\nvar floor = Math.floor;\nmodule.exports = function isInteger(it) {\n return !isObject(it) && isFinite(it) && floor(it) === it;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19pcy1pbnRlZ2VyLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9faXMtaW50ZWdlci5qcz85YzEyIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIDIwLjEuMi4zIE51bWJlci5pc0ludGVnZXIobnVtYmVyKVxudmFyIGlzT2JqZWN0ID0gcmVxdWlyZSgnLi9faXMtb2JqZWN0Jyk7XG52YXIgZmxvb3IgPSBNYXRoLmZsb29yO1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBpc0ludGVnZXIoaXQpIHtcbiAgcmV0dXJuICFpc09iamVjdChpdCkgJiYgaXNGaW5pdGUoaXQpICYmIGZsb29yKGl0KSA9PT0gaXQ7XG59O1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_is-integer.js\n"); /***/ }), /***/ "./node_modules/core-js/modules/_is-object.js": /*!****************************************************!*\ !*** ./node_modules/core-js/modules/_is-object.js ***! \****************************************************/ /*! no static exports found */ /***/ (function(module, exports) { eval("module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19pcy1vYmplY3QuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19pcy1vYmplY3QuanM/ZDNmNCJdLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChpdCkge1xuICByZXR1cm4gdHlwZW9mIGl0ID09PSAnb2JqZWN0JyA/IGl0ICE9PSBudWxsIDogdHlwZW9mIGl0ID09PSAnZnVuY3Rpb24nO1xufTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_is-object.js\n"); /***/ }), /***/ "./node_modules/core-js/modules/_iter-create.js": /*!******************************************************!*\ !*** ./node_modules/core-js/modules/_iter-create.js ***! \******************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; eval("\nvar create = __webpack_require__(/*! ./_object-create */ \"./node_modules/core-js/modules/_object-create.js\");\nvar descriptor = __webpack_require__(/*! ./_property-desc */ \"./node_modules/core-js/modules/_property-desc.js\");\nvar setToStringTag = __webpack_require__(/*! ./_set-to-string-tag */ \"./node_modules/core-js/modules/_set-to-string-tag.js\");\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\n__webpack_require__(/*! ./_hide */ \"./node_modules/core-js/modules/_hide.js\")(IteratorPrototype, __webpack_require__(/*! ./_wks */ \"./node_modules/core-js/modules/_wks.js\")('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19pdGVyLWNyZWF0ZS5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2l0ZXItY3JlYXRlLmpzPzQxYTAiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xudmFyIGNyZWF0ZSA9IHJlcXVpcmUoJy4vX29iamVjdC1jcmVhdGUnKTtcbnZhciBkZXNjcmlwdG9yID0gcmVxdWlyZSgnLi9fcHJvcGVydHktZGVzYycpO1xudmFyIHNldFRvU3RyaW5nVGFnID0gcmVxdWlyZSgnLi9fc2V0LXRvLXN0cmluZy10YWcnKTtcbnZhciBJdGVyYXRvclByb3RvdHlwZSA9IHt9O1xuXG4vLyAyNS4xLjIuMS4xICVJdGVyYXRvclByb3RvdHlwZSVbQEBpdGVyYXRvcl0oKVxucmVxdWlyZSgnLi9faGlkZScpKEl0ZXJhdG9yUHJvdG90eXBlLCByZXF1aXJlKCcuL193a3MnKSgnaXRlcmF0b3InKSwgZnVuY3Rpb24gKCkgeyByZXR1cm4gdGhpczsgfSk7XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKENvbnN0cnVjdG9yLCBOQU1FLCBuZXh0KSB7XG4gIENvbnN0cnVjdG9yLnByb3RvdHlwZSA9IGNyZWF0ZShJdGVyYXRvclByb3RvdHlwZSwgeyBuZXh0OiBkZXNjcmlwdG9yKDEsIG5leHQpIH0pO1xuICBzZXRUb1N0cmluZ1RhZyhDb25zdHJ1Y3RvciwgTkFNRSArICcgSXRlcmF0b3InKTtcbn07XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_iter-create.js\n"); /***/ }), /***/ "./node_modules/core-js/modules/_iter-define.js": /*!******************************************************!*\ !*** ./node_modules/core-js/modules/_iter-define.js ***! \******************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; eval("\nvar LIBRARY = __webpack_require__(/*! ./_library */ \"./node_modules/core-js/modules/_library.js\");\nvar $export = __webpack_require__(/*! ./_export */ \"./node_modules/core-js/modules/_export.js\");\nvar redefine = __webpack_require__(/*! ./_redefine */ \"./node_modules/core-js/modules/_redefine.js\");\nvar hide = __webpack_require__(/*! ./_hide */ \"./node_modules/core-js/modules/_hide.js\");\nvar Iterators = __webpack_require__(/*! ./_iterators */ \"./node_modules/core-js/modules/_iterators.js\");\nvar $iterCreate = __webpack_require__(/*! ./_iter-create */ \"./node_modules/core-js/modules/_iter-create.js\");\nvar setToStringTag = __webpack_require__(/*! ./_set-to-string-tag */ \"./node_modules/core-js/modules/_set-to-string-tag.js\");\nvar getPrototypeOf = __webpack_require__(/*! ./_object-gpo */ \"./node_modules/core-js/modules/_object-gpo.js\");\nvar ITERATOR = __webpack_require__(/*! ./_wks */ \"./node_modules/core-js/modules/_wks.js\")('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS: return function keys() { return new Constructor(this, kind); };\n case VALUES: return function values() { return new Constructor(this, kind); };\n } return function entries() { return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() { return $native.call(this); };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19pdGVyLWRlZmluZS5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2l0ZXItZGVmaW5lLmpzPzAxZjkiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xudmFyIExJQlJBUlkgPSByZXF1aXJlKCcuL19saWJyYXJ5Jyk7XG52YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xudmFyIHJlZGVmaW5lID0gcmVxdWlyZSgnLi9fcmVkZWZpbmUnKTtcbnZhciBoaWRlID0gcmVxdWlyZSgnLi9faGlkZScpO1xudmFyIEl0ZXJhdG9ycyA9IHJlcXVpcmUoJy4vX2l0ZXJhdG9ycycpO1xudmFyICRpdGVyQ3JlYXRlID0gcmVxdWlyZSgnLi9faXRlci1jcmVhdGUnKTtcbnZhciBzZXRUb1N0cmluZ1RhZyA9IHJlcXVpcmUoJy4vX3NldC10by1zdHJpbmctdGFnJyk7XG52YXIgZ2V0UHJvdG90eXBlT2YgPSByZXF1aXJlKCcuL19vYmplY3QtZ3BvJyk7XG52YXIgSVRFUkFUT1IgPSByZXF1aXJlKCcuL193a3MnKSgnaXRlcmF0b3InKTtcbnZhciBCVUdHWSA9ICEoW10ua2V5cyAmJiAnbmV4dCcgaW4gW10ua2V5cygpKTsgLy8gU2FmYXJpIGhhcyBidWdneSBpdGVyYXRvcnMgdy9vIGBuZXh0YFxudmFyIEZGX0lURVJBVE9SID0gJ0BAaXRlcmF0b3InO1xudmFyIEtFWVMgPSAna2V5cyc7XG52YXIgVkFMVUVTID0gJ3ZhbHVlcyc7XG5cbnZhciByZXR1cm5UaGlzID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gdGhpczsgfTtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoQmFzZSwgTkFNRSwgQ29uc3RydWN0b3IsIG5leHQsIERFRkFVTFQsIElTX1NFVCwgRk9SQ0VEKSB7XG4gICRpdGVyQ3JlYXRlKENvbnN0cnVjdG9yLCBOQU1FLCBuZXh0KTtcbiAgdmFyIGdldE1ldGhvZCA9IGZ1bmN0aW9uIChraW5kKSB7XG4gICAgaWYgKCFCVUdHWSAmJiBraW5kIGluIHByb3RvKSByZXR1cm4gcHJvdG9ba2luZF07XG4gICAgc3dpdGNoIChraW5kKSB7XG4gICAgICBjYXNlIEtFWVM6IHJldHVybiBmdW5jdGlvbiBrZXlzKCkgeyByZXR1cm4gbmV3IENvbnN0cnVjdG9yKHRoaXMsIGtpbmQpOyB9O1xuICAgICAgY2FzZSBWQUxVRVM6IHJldHVybiBmdW5jdGlvbiB2YWx1ZXMoKSB7IHJldHVybiBuZXcgQ29uc3RydWN0b3IodGhpcywga2luZCk7IH07XG4gICAgfSByZXR1cm4gZnVuY3Rpb24gZW50cmllcygpIHsgcmV0dXJuIG5ldyBDb25zdHJ1Y3Rvcih0aGlzLCBraW5kKTsgfTtcbiAgfTtcbiAgdmFyIFRBRyA9IE5BTUUgKyAnIEl0ZXJhdG9yJztcbiAgdmFyIERFRl9WQUxVRVMgPSBERUZBVUxUID09IFZBTFVFUztcbiAgdmFyIFZBTFVFU19CVUcgPSBmYWxzZTtcbiAgdmFyIHByb3RvID0gQmFzZS5wcm90b3R5cGU7XG4gIHZhciAkbmF0aXZlID0gcHJvdG9bSVRFUkFUT1JdIHx8IHByb3RvW0ZGX0lURVJBVE9SXSB8fCBERUZBVUxUICYmIHByb3RvW0RFRkFVTFRdO1xuICB2YXIgJGRlZmF1bHQgPSAkbmF0aXZlIHx8IGdldE1ldGhvZChERUZBVUxUKTtcbiAgdmFyICRlbnRyaWVzID0gREVGQVVMVCA/ICFERUZfVkFMVUVTID8gJGRlZmF1bHQgOiBnZXRNZXRob2QoJ2VudHJpZXMnKSA6IHVuZGVmaW5lZDtcbiAgdmFyICRhbnlOYXRpdmUgPSBOQU1FID09ICdBcnJheScgPyBwcm90by5lbnRyaWVzIHx8ICRuYXRpdmUgOiAkbmF0aXZlO1xuICB2YXIgbWV0aG9kcywga2V5LCBJdGVyYXRvclByb3RvdHlwZTtcbiAgLy8gRml4IG5hdGl2ZVxuICBpZiAoJGFueU5hdGl2ZSkge1xuICAgIEl0ZXJhdG9yUHJvdG90eXBlID0gZ2V0UHJvdG90eXBlT2YoJGFueU5hdGl2ZS5jYWxsKG5ldyBCYXNlKCkpKTtcbiAgICBpZiAoSXRlcmF0b3JQcm90b3R5cGUgIT09IE9iamVjdC5wcm90b3R5cGUgJiYgSXRlcmF0b3JQcm90b3R5cGUubmV4dCkge1xuICAgICAgLy8gU2V0IEBAdG9TdHJpbmdUYWcgdG8gbmF0aXZlIGl0ZXJhdG9yc1xuICAgICAgc2V0VG9TdHJpbmdUYWcoSXRlcmF0b3JQcm90b3R5cGUsIFRBRywgdHJ1ZSk7XG4gICAgICAvLyBmaXggZm9yIHNvbWUgb2xkIGVuZ2luZXNcbiAgICAgIGlmICghTElCUkFSWSAmJiB0eXBlb2YgSXRlcmF0b3JQcm90b3R5cGVbSVRFUkFUT1JdICE9ICdmdW5jdGlvbicpIGhpZGUoSXRlcmF0b3JQcm90b3R5cGUsIElURVJBVE9SLCByZXR1cm5UaGlzKTtcbiAgICB9XG4gIH1cbiAgLy8gZml4IEFycmF5I3t2YWx1ZXMsIEBAaXRlcmF0b3J9Lm5hbWUgaW4gVjggLyBGRlxuICBpZiAoREVGX1ZBTFVFUyAmJiAkbmF0aXZlICYmICRuYXRpdmUubmFtZSAhPT0gVkFMVUVTKSB7XG4gICAgVkFMVUVTX0JVRyA9IHRydWU7XG4gICAgJGRlZmF1bHQgPSBmdW5jdGlvbiB2YWx1ZXMoKSB7IHJldHVybiAkbmF0aXZlLmNhbGwodGhpcyk7IH07XG4gIH1cbiAgLy8gRGVmaW5lIGl0ZXJhdG9yXG4gIGlmICgoIUxJQlJBUlkgfHwgRk9SQ0VEKSAmJiAoQlVHR1kgfHwgVkFMVUVTX0JVRyB8fCAhcHJvdG9bSVRFUkFUT1JdKSkge1xuICAgIGhpZGUocHJvdG8sIElURVJBVE9SLCAkZGVmYXVsdCk7XG4gIH1cbiAgLy8gUGx1ZyBmb3IgbGlicmFyeVxuICBJdGVyYXRvcnNbTkFNRV0gPSAkZGVmYXVsdDtcbiAgSXRlcmF0b3JzW1RBR10gPSByZXR1cm5UaGlzO1xuICBpZiAoREVGQVVMVCkge1xuICAgIG1ldGhvZHMgPSB7XG4gICAgICB2YWx1ZXM6IERFRl9WQUxVRVMgPyAkZGVmYXVsdCA6IGdldE1ldGhvZChWQUxVRVMpLFxuICAgICAga2V5czogSVNfU0VUID8gJGRlZmF1bHQgOiBnZXRNZXRob2QoS0VZUyksXG4gICAgICBlbnRyaWVzOiAkZW50cmllc1xuICAgIH07XG4gICAgaWYgKEZPUkNFRCkgZm9yIChrZXkgaW4gbWV0aG9kcykge1xuICAgICAgaWYgKCEoa2V5IGluIHByb3RvKSkgcmVkZWZpbmUocHJvdG8sIGtleSwgbWV0aG9kc1trZXldKTtcbiAgICB9IGVsc2UgJGV4cG9ydCgkZXhwb3J0LlAgKyAkZXhwb3J0LkYgKiAoQlVHR1kgfHwgVkFMVUVTX0JVRyksIE5BTUUsIG1ldGhvZHMpO1xuICB9XG4gIHJldHVybiBtZXRob2RzO1xufTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_iter-define.js\n"); /***/ }), /***/ "./node_modules/core-js/modules/_iterators.js": /*!****************************************************!*\ !*** ./node_modules/core-js/modules/_iterators.js ***! \****************************************************/ /*! no static exports found */ /***/ (function(module, exports) { eval("module.exports = {};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19pdGVyYXRvcnMuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19pdGVyYXRvcnMuanM/ODRmMiJdLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IHt9O1xuIl0sIm1hcHBpbmdzIjoiQUFBQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_iterators.js\n"); /***/ }), /***/ "./node_modules/core-js/modules/_library.js": /*!**************************************************!*\ !*** ./node_modules/core-js/modules/_library.js ***! \**************************************************/ /*! no static exports found */ /***/ (function(module, exports) { eval("module.exports = false;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19saWJyYXJ5LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fbGlicmFyeS5qcz8yZDAwIl0sInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gZmFsc2U7XG4iXSwibWFwcGluZ3MiOiJBQUFBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_library.js\n"); /***/ }), /***/ "./node_modules/core-js/modules/_object-create.js": /*!********************************************************!*\ !*** ./node_modules/core-js/modules/_object-create.js ***! \********************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = __webpack_require__(/*! ./_an-object */ \"./node_modules/core-js/modules/_an-object.js\");\nvar dPs = __webpack_require__(/*! ./_object-dps */ \"./node_modules/core-js/modules/_object-dps.js\");\nvar enumBugKeys = __webpack_require__(/*! ./_enum-bug-keys */ \"./node_modules/core-js/modules/_enum-bug-keys.js\");\nvar IE_PROTO = __webpack_require__(/*! ./_shared-key */ \"./node_modules/core-js/modules/_shared-key.js\")('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = __webpack_require__(/*! ./_dom-create */ \"./node_modules/core-js/modules/_dom-create.js\")('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n __webpack_require__(/*! ./_html */ \"./node_modules/core-js/modules/_html.js\").appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19vYmplY3QtY3JlYXRlLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fb2JqZWN0LWNyZWF0ZS5qcz8yYWViIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIDE5LjEuMi4yIC8gMTUuMi4zLjUgT2JqZWN0LmNyZWF0ZShPIFssIFByb3BlcnRpZXNdKVxudmFyIGFuT2JqZWN0ID0gcmVxdWlyZSgnLi9fYW4tb2JqZWN0Jyk7XG52YXIgZFBzID0gcmVxdWlyZSgnLi9fb2JqZWN0LWRwcycpO1xudmFyIGVudW1CdWdLZXlzID0gcmVxdWlyZSgnLi9fZW51bS1idWcta2V5cycpO1xudmFyIElFX1BST1RPID0gcmVxdWlyZSgnLi9fc2hhcmVkLWtleScpKCdJRV9QUk9UTycpO1xudmFyIEVtcHR5ID0gZnVuY3Rpb24gKCkgeyAvKiBlbXB0eSAqLyB9O1xudmFyIFBST1RPVFlQRSA9ICdwcm90b3R5cGUnO1xuXG4vLyBDcmVhdGUgb2JqZWN0IHdpdGggZmFrZSBgbnVsbGAgcHJvdG90eXBlOiB1c2UgaWZyYW1lIE9iamVjdCB3aXRoIGNsZWFyZWQgcHJvdG90eXBlXG52YXIgY3JlYXRlRGljdCA9IGZ1bmN0aW9uICgpIHtcbiAgLy8gVGhyYXNoLCB3YXN0ZSBhbmQgc29kb215OiBJRSBHQyBidWdcbiAgdmFyIGlmcmFtZSA9IHJlcXVpcmUoJy4vX2RvbS1jcmVhdGUnKSgnaWZyYW1lJyk7XG4gIHZhciBpID0gZW51bUJ1Z0tleXMubGVuZ3RoO1xuICB2YXIgbHQgPSAnPCc7XG4gIHZhciBndCA9ICc+JztcbiAgdmFyIGlmcmFtZURvY3VtZW50O1xuICBpZnJhbWUuc3R5bGUuZGlzcGxheSA9ICdub25lJztcbiAgcmVxdWlyZSgnLi9faHRtbCcpLmFwcGVuZENoaWxkKGlmcmFtZSk7XG4gIGlmcmFtZS5zcmMgPSAnamF2YXNjcmlwdDonOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLXNjcmlwdC11cmxcbiAgLy8gY3JlYXRlRGljdCA9IGlmcmFtZS5jb250ZW50V2luZG93Lk9iamVjdDtcbiAgLy8gaHRtbC5yZW1vdmVDaGlsZChpZnJhbWUpO1xuICBpZnJhbWVEb2N1bWVudCA9IGlmcmFtZS5jb250ZW50V2luZG93LmRvY3VtZW50O1xuICBpZnJhbWVEb2N1bWVudC5vcGVuKCk7XG4gIGlmcmFtZURvY3VtZW50LndyaXRlKGx0ICsgJ3NjcmlwdCcgKyBndCArICdkb2N1bWVudC5GPU9iamVjdCcgKyBsdCArICcvc2NyaXB0JyArIGd0KTtcbiAgaWZyYW1lRG9jdW1lbnQuY2xvc2UoKTtcbiAgY3JlYXRlRGljdCA9IGlmcmFtZURvY3VtZW50LkY7XG4gIHdoaWxlIChpLS0pIGRlbGV0ZSBjcmVhdGVEaWN0W1BST1RPVFlQRV1bZW51bUJ1Z0tleXNbaV1dO1xuICByZXR1cm4gY3JlYXRlRGljdCgpO1xufTtcblxubW9kdWxlLmV4cG9ydHMgPSBPYmplY3QuY3JlYXRlIHx8IGZ1bmN0aW9uIGNyZWF0ZShPLCBQcm9wZXJ0aWVzKSB7XG4gIHZhciByZXN1bHQ7XG4gIGlmIChPICE9PSBudWxsKSB7XG4gICAgRW1wdHlbUFJPVE9UWVBFXSA9IGFuT2JqZWN0KE8pO1xuICAgIHJlc3VsdCA9IG5ldyBFbXB0eSgpO1xuICAgIEVtcHR5W1BST1RPVFlQRV0gPSBudWxsO1xuICAgIC8vIGFkZCBcIl9fcHJvdG9fX1wiIGZvciBPYmplY3QuZ2V0UHJvdG90eXBlT2YgcG9seWZpbGxcbiAgICByZXN1bHRbSUVfUFJPVE9dID0gTztcbiAgfSBlbHNlIHJlc3VsdCA9IGNyZWF0ZURpY3QoKTtcbiAgcmV0dXJuIFByb3BlcnRpZXMgPT09IHVuZGVmaW5lZCA/IHJlc3VsdCA6IGRQcyhyZXN1bHQsIFByb3BlcnRpZXMpO1xufTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_object-create.js\n"); /***/ }), /***/ "./node_modules/core-js/modules/_object-dp.js": /*!****************************************************!*\ !*** ./node_modules/core-js/modules/_object-dp.js ***! \****************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("var anObject = __webpack_require__(/*! ./_an-object */ \"./node_modules/core-js/modules/_an-object.js\");\nvar IE8_DOM_DEFINE = __webpack_require__(/*! ./_ie8-dom-define */ \"./node_modules/core-js/modules/_ie8-dom-define.js\");\nvar toPrimitive = __webpack_require__(/*! ./_to-primitive */ \"./node_modules/core-js/modules/_to-primitive.js\");\nvar dP = Object.defineProperty;\n\nexports.f = __webpack_require__(/*! ./_descriptors */ \"./node_modules/core-js/modules/_descriptors.js\") ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19vYmplY3QtZHAuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19vYmplY3QtZHAuanM/ODZjYyJdLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgYW5PYmplY3QgPSByZXF1aXJlKCcuL19hbi1vYmplY3QnKTtcbnZhciBJRThfRE9NX0RFRklORSA9IHJlcXVpcmUoJy4vX2llOC1kb20tZGVmaW5lJyk7XG52YXIgdG9QcmltaXRpdmUgPSByZXF1aXJlKCcuL190by1wcmltaXRpdmUnKTtcbnZhciBkUCA9IE9iamVjdC5kZWZpbmVQcm9wZXJ0eTtcblxuZXhwb3J0cy5mID0gcmVxdWlyZSgnLi9fZGVzY3JpcHRvcnMnKSA/IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSA6IGZ1bmN0aW9uIGRlZmluZVByb3BlcnR5KE8sIFAsIEF0dHJpYnV0ZXMpIHtcbiAgYW5PYmplY3QoTyk7XG4gIFAgPSB0b1ByaW1pdGl2ZShQLCB0cnVlKTtcbiAgYW5PYmplY3QoQXR0cmlidXRlcyk7XG4gIGlmIChJRThfRE9NX0RFRklORSkgdHJ5IHtcbiAgICByZXR1cm4gZFAoTywgUCwgQXR0cmlidXRlcyk7XG4gIH0gY2F0Y2ggKGUpIHsgLyogZW1wdHkgKi8gfVxuICBpZiAoJ2dldCcgaW4gQXR0cmlidXRlcyB8fCAnc2V0JyBpbiBBdHRyaWJ1dGVzKSB0aHJvdyBUeXBlRXJyb3IoJ0FjY2Vzc29ycyBub3Qgc3VwcG9ydGVkIScpO1xuICBpZiAoJ3ZhbHVlJyBpbiBBdHRyaWJ1dGVzKSBPW1BdID0gQXR0cmlidXRlcy52YWx1ZTtcbiAgcmV0dXJuIE87XG59O1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_object-dp.js\n"); /***/ }), /***/ "./node_modules/core-js/modules/_object-dps.js": /*!*****************************************************!*\ !*** ./node_modules/core-js/modules/_object-dps.js ***! \*****************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("var dP = __webpack_require__(/*! ./_object-dp */ \"./node_modules/core-js/modules/_object-dp.js\");\nvar anObject = __webpack_require__(/*! ./_an-object */ \"./node_modules/core-js/modules/_an-object.js\");\nvar getKeys = __webpack_require__(/*! ./_object-keys */ \"./node_modules/core-js/modules/_object-keys.js\");\n\nmodule.exports = __webpack_require__(/*! ./_descriptors */ \"./node_modules/core-js/modules/_descriptors.js\") ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19vYmplY3QtZHBzLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fb2JqZWN0LWRwcy5qcz8xNDk1Il0sInNvdXJjZXNDb250ZW50IjpbInZhciBkUCA9IHJlcXVpcmUoJy4vX29iamVjdC1kcCcpO1xudmFyIGFuT2JqZWN0ID0gcmVxdWlyZSgnLi9fYW4tb2JqZWN0Jyk7XG52YXIgZ2V0S2V5cyA9IHJlcXVpcmUoJy4vX29iamVjdC1rZXlzJyk7XG5cbm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi9fZGVzY3JpcHRvcnMnKSA/IE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIDogZnVuY3Rpb24gZGVmaW5lUHJvcGVydGllcyhPLCBQcm9wZXJ0aWVzKSB7XG4gIGFuT2JqZWN0KE8pO1xuICB2YXIga2V5cyA9IGdldEtleXMoUHJvcGVydGllcyk7XG4gIHZhciBsZW5ndGggPSBrZXlzLmxlbmd0aDtcbiAgdmFyIGkgPSAwO1xuICB2YXIgUDtcbiAgd2hpbGUgKGxlbmd0aCA+IGkpIGRQLmYoTywgUCA9IGtleXNbaSsrXSwgUHJvcGVydGllc1tQXSk7XG4gIHJldHVybiBPO1xufTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_object-dps.js\n"); /***/ }), /***/ "./node_modules/core-js/modules/_object-gopd.js": /*!******************************************************!*\ !*** ./node_modules/core-js/modules/_object-gopd.js ***! \******************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("var pIE = __webpack_require__(/*! ./_object-pie */ \"./node_modules/core-js/modules/_object-pie.js\");\nvar createDesc = __webpack_require__(/*! ./_property-desc */ \"./node_modules/core-js/modules/_property-desc.js\");\nvar toIObject = __webpack_require__(/*! ./_to-iobject */ \"./node_modules/core-js/modules/_to-iobject.js\");\nvar toPrimitive = __webpack_require__(/*! ./_to-primitive */ \"./node_modules/core-js/modules/_to-primitive.js\");\nvar has = __webpack_require__(/*! ./_has */ \"./node_modules/core-js/modules/_has.js\");\nvar IE8_DOM_DEFINE = __webpack_require__(/*! ./_ie8-dom-define */ \"./node_modules/core-js/modules/_ie8-dom-define.js\");\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = __webpack_require__(/*! ./_descriptors */ \"./node_modules/core-js/modules/_descriptors.js\") ? gOPD : function getOwnPropertyDescriptor(O, P) {\n O = toIObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return gOPD(O, P);\n } catch (e) { /* empty */ }\n if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19vYmplY3QtZ29wZC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX29iamVjdC1nb3BkLmpzPzExZTkiXSwic291cmNlc0NvbnRlbnQiOlsidmFyIHBJRSA9IHJlcXVpcmUoJy4vX29iamVjdC1waWUnKTtcbnZhciBjcmVhdGVEZXNjID0gcmVxdWlyZSgnLi9fcHJvcGVydHktZGVzYycpO1xudmFyIHRvSU9iamVjdCA9IHJlcXVpcmUoJy4vX3RvLWlvYmplY3QnKTtcbnZhciB0b1ByaW1pdGl2ZSA9IHJlcXVpcmUoJy4vX3RvLXByaW1pdGl2ZScpO1xudmFyIGhhcyA9IHJlcXVpcmUoJy4vX2hhcycpO1xudmFyIElFOF9ET01fREVGSU5FID0gcmVxdWlyZSgnLi9faWU4LWRvbS1kZWZpbmUnKTtcbnZhciBnT1BEID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcjtcblxuZXhwb3J0cy5mID0gcmVxdWlyZSgnLi9fZGVzY3JpcHRvcnMnKSA/IGdPUEQgOiBmdW5jdGlvbiBnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTywgUCkge1xuICBPID0gdG9JT2JqZWN0KE8pO1xuICBQID0gdG9QcmltaXRpdmUoUCwgdHJ1ZSk7XG4gIGlmIChJRThfRE9NX0RFRklORSkgdHJ5IHtcbiAgICByZXR1cm4gZ09QRChPLCBQKTtcbiAgfSBjYXRjaCAoZSkgeyAvKiBlbXB0eSAqLyB9XG4gIGlmIChoYXMoTywgUCkpIHJldHVybiBjcmVhdGVEZXNjKCFwSUUuZi5jYWxsKE8sIFApLCBPW1BdKTtcbn07XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_object-gopd.js\n"); /***/ }), /***/ "./node_modules/core-js/modules/_object-gopn.js": /*!******************************************************!*\ !*** ./node_modules/core-js/modules/_object-gopn.js ***! \******************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = __webpack_require__(/*! ./_object-keys-internal */ \"./node_modules/core-js/modules/_object-keys-internal.js\");\nvar hiddenKeys = __webpack_require__(/*! ./_enum-bug-keys */ \"./node_modules/core-js/modules/_enum-bug-keys.js\").concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return $keys(O, hiddenKeys);\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19vYmplY3QtZ29wbi5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX29iamVjdC1nb3BuLmpzPzkwOTMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gMTkuMS4yLjcgLyAxNS4yLjMuNCBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhPKVxudmFyICRrZXlzID0gcmVxdWlyZSgnLi9fb2JqZWN0LWtleXMtaW50ZXJuYWwnKTtcbnZhciBoaWRkZW5LZXlzID0gcmVxdWlyZSgnLi9fZW51bS1idWcta2V5cycpLmNvbmNhdCgnbGVuZ3RoJywgJ3Byb3RvdHlwZScpO1xuXG5leHBvcnRzLmYgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyB8fCBmdW5jdGlvbiBnZXRPd25Qcm9wZXJ0eU5hbWVzKE8pIHtcbiAgcmV0dXJuICRrZXlzKE8sIGhpZGRlbktleXMpO1xufTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_object-gopn.js\n"); /***/ }), /***/ "./node_modules/core-js/modules/_object-gpo.js": /*!*****************************************************!*\ !*** ./node_modules/core-js/modules/_object-gpo.js ***! \*****************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = __webpack_require__(/*! ./_has */ \"./node_modules/core-js/modules/_has.js\");\nvar toObject = __webpack_require__(/*! ./_to-object */ \"./node_modules/core-js/modules/_to-object.js\");\nvar IE_PROTO = __webpack_require__(/*! ./_shared-key */ \"./node_modules/core-js/modules/_shared-key.js\")('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19vYmplY3QtZ3BvLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fb2JqZWN0LWdwby5qcz8zOGZkIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIDE5LjEuMi45IC8gMTUuMi4zLjIgT2JqZWN0LmdldFByb3RvdHlwZU9mKE8pXG52YXIgaGFzID0gcmVxdWlyZSgnLi9faGFzJyk7XG52YXIgdG9PYmplY3QgPSByZXF1aXJlKCcuL190by1vYmplY3QnKTtcbnZhciBJRV9QUk9UTyA9IHJlcXVpcmUoJy4vX3NoYXJlZC1rZXknKSgnSUVfUFJPVE8nKTtcbnZhciBPYmplY3RQcm90byA9IE9iamVjdC5wcm90b3R5cGU7XG5cbm1vZHVsZS5leHBvcnRzID0gT2JqZWN0LmdldFByb3RvdHlwZU9mIHx8IGZ1bmN0aW9uIChPKSB7XG4gIE8gPSB0b09iamVjdChPKTtcbiAgaWYgKGhhcyhPLCBJRV9QUk9UTykpIHJldHVybiBPW0lFX1BST1RPXTtcbiAgaWYgKHR5cGVvZiBPLmNvbnN0cnVjdG9yID09ICdmdW5jdGlvbicgJiYgTyBpbnN0YW5jZW9mIE8uY29uc3RydWN0b3IpIHtcbiAgICByZXR1cm4gTy5jb25zdHJ1Y3Rvci5wcm90b3R5cGU7XG4gIH0gcmV0dXJuIE8gaW5zdGFuY2VvZiBPYmplY3QgPyBPYmplY3RQcm90byA6IG51bGw7XG59O1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_object-gpo.js\n"); /***/ }), /***/ "./node_modules/core-js/modules/_object-keys-internal.js": /*!***************************************************************!*\ !*** ./node_modules/core-js/modules/_object-keys-internal.js ***! \***************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("var has = __webpack_require__(/*! ./_has */ \"./node_modules/core-js/modules/_has.js\");\nvar toIObject = __webpack_require__(/*! ./_to-iobject */ \"./node_modules/core-js/modules/_to-iobject.js\");\nvar arrayIndexOf = __webpack_require__(/*! ./_array-includes */ \"./node_modules/core-js/modules/_array-includes.js\")(false);\nvar IE_PROTO = __webpack_require__(/*! ./_shared-key */ \"./node_modules/core-js/modules/_shared-key.js\")('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19vYmplY3Qta2V5cy1pbnRlcm5hbC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX29iamVjdC1rZXlzLWludGVybmFsLmpzP2NlMTAiXSwic291cmNlc0NvbnRlbnQiOlsidmFyIGhhcyA9IHJlcXVpcmUoJy4vX2hhcycpO1xudmFyIHRvSU9iamVjdCA9IHJlcXVpcmUoJy4vX3RvLWlvYmplY3QnKTtcbnZhciBhcnJheUluZGV4T2YgPSByZXF1aXJlKCcuL19hcnJheS1pbmNsdWRlcycpKGZhbHNlKTtcbnZhciBJRV9QUk9UTyA9IHJlcXVpcmUoJy4vX3NoYXJlZC1rZXknKSgnSUVfUFJPVE8nKTtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAob2JqZWN0LCBuYW1lcykge1xuICB2YXIgTyA9IHRvSU9iamVjdChvYmplY3QpO1xuICB2YXIgaSA9IDA7XG4gIHZhciByZXN1bHQgPSBbXTtcbiAgdmFyIGtleTtcbiAgZm9yIChrZXkgaW4gTykgaWYgKGtleSAhPSBJRV9QUk9UTykgaGFzKE8sIGtleSkgJiYgcmVzdWx0LnB1c2goa2V5KTtcbiAgLy8gRG9uJ3QgZW51bSBidWcgJiBoaWRkZW4ga2V5c1xuICB3aGlsZSAobmFtZXMubGVuZ3RoID4gaSkgaWYgKGhhcyhPLCBrZXkgPSBuYW1lc1tpKytdKSkge1xuICAgIH5hcnJheUluZGV4T2YocmVzdWx0LCBrZXkpIHx8IHJlc3VsdC5wdXNoKGtleSk7XG4gIH1cbiAgcmV0dXJuIHJlc3VsdDtcbn07XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_object-keys-internal.js\n"); /***/ }), /***/ "./node_modules/core-js/modules/_object-keys.js": /*!******************************************************!*\ !*** ./node_modules/core-js/modules/_object-keys.js ***! \******************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = __webpack_require__(/*! ./_object-keys-internal */ \"./node_modules/core-js/modules/_object-keys-internal.js\");\nvar enumBugKeys = __webpack_require__(/*! ./_enum-bug-keys */ \"./node_modules/core-js/modules/_enum-bug-keys.js\");\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19vYmplY3Qta2V5cy5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX29iamVjdC1rZXlzLmpzPzBkNTgiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gMTkuMS4yLjE0IC8gMTUuMi4zLjE0IE9iamVjdC5rZXlzKE8pXG52YXIgJGtleXMgPSByZXF1aXJlKCcuL19vYmplY3Qta2V5cy1pbnRlcm5hbCcpO1xudmFyIGVudW1CdWdLZXlzID0gcmVxdWlyZSgnLi9fZW51bS1idWcta2V5cycpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IE9iamVjdC5rZXlzIHx8IGZ1bmN0aW9uIGtleXMoTykge1xuICByZXR1cm4gJGtleXMoTywgZW51bUJ1Z0tleXMpO1xufTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_object-keys.js\n"); /***/ }), /***/ "./node_modules/core-js/modules/_object-pie.js": /*!*****************************************************!*\ !*** ./node_modules/core-js/modules/_object-pie.js ***! \*****************************************************/ /*! no static exports found */ /***/ (function(module, exports) { eval("exports.f = {}.propertyIsEnumerable;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19vYmplY3QtcGllLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fb2JqZWN0LXBpZS5qcz81MmE3Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydHMuZiA9IHt9LnByb3BlcnR5SXNFbnVtZXJhYmxlO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_object-pie.js\n"); /***/ }), /***/ "./node_modules/core-js/modules/_parse-float.js": /*!******************************************************!*\ !*** ./node_modules/core-js/modules/_parse-float.js ***! \******************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("var $parseFloat = __webpack_require__(/*! ./_global */ \"./node_modules/core-js/modules/_global.js\").parseFloat;\nvar $trim = __webpack_require__(/*! ./_string-trim */ \"./node_modules/core-js/modules/_string-trim.js\").trim;\n\nmodule.exports = 1 / $parseFloat(__webpack_require__(/*! ./_string-ws */ \"./node_modules/core-js/modules/_string-ws.js\") + '-0') !== -Infinity ? function parseFloat(str) {\n var string = $trim(String(str), 3);\n var result = $parseFloat(string);\n return result === 0 && string.charAt(0) == '-' ? -0 : result;\n} : $parseFloat;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19wYXJzZS1mbG9hdC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3BhcnNlLWZsb2F0LmpzP2Q3NTIiXSwic291cmNlc0NvbnRlbnQiOlsidmFyICRwYXJzZUZsb2F0ID0gcmVxdWlyZSgnLi9fZ2xvYmFsJykucGFyc2VGbG9hdDtcbnZhciAkdHJpbSA9IHJlcXVpcmUoJy4vX3N0cmluZy10cmltJykudHJpbTtcblxubW9kdWxlLmV4cG9ydHMgPSAxIC8gJHBhcnNlRmxvYXQocmVxdWlyZSgnLi9fc3RyaW5nLXdzJykgKyAnLTAnKSAhPT0gLUluZmluaXR5ID8gZnVuY3Rpb24gcGFyc2VGbG9hdChzdHIpIHtcbiAgdmFyIHN0cmluZyA9ICR0cmltKFN0cmluZyhzdHIpLCAzKTtcbiAgdmFyIHJlc3VsdCA9ICRwYXJzZUZsb2F0KHN0cmluZyk7XG4gIHJldHVybiByZXN1bHQgPT09IDAgJiYgc3RyaW5nLmNoYXJBdCgwKSA9PSAnLScgPyAtMCA6IHJlc3VsdDtcbn0gOiAkcGFyc2VGbG9hdDtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_parse-float.js\n"); /***/ }), /***/ "./node_modules/core-js/modules/_parse-int.js": /*!****************************************************!*\ !*** ./node_modules/core-js/modules/_parse-int.js ***! \****************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("var $parseInt = __webpack_require__(/*! ./_global */ \"./node_modules/core-js/modules/_global.js\").parseInt;\nvar $trim = __webpack_require__(/*! ./_string-trim */ \"./node_modules/core-js/modules/_string-trim.js\").trim;\nvar ws = __webpack_require__(/*! ./_string-ws */ \"./node_modules/core-js/modules/_string-ws.js\");\nvar hex = /^[-+]?0[xX]/;\n\nmodule.exports = $parseInt(ws + '08') !== 8 || $parseInt(ws + '0x16') !== 22 ? function parseInt(str, radix) {\n var string = $trim(String(str), 3);\n return $parseInt(string, (radix >>> 0) || (hex.test(string) ? 16 : 10));\n} : $parseInt;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19wYXJzZS1pbnQuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19wYXJzZS1pbnQuanM/M2NhNSJdLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgJHBhcnNlSW50ID0gcmVxdWlyZSgnLi9fZ2xvYmFsJykucGFyc2VJbnQ7XG52YXIgJHRyaW0gPSByZXF1aXJlKCcuL19zdHJpbmctdHJpbScpLnRyaW07XG52YXIgd3MgPSByZXF1aXJlKCcuL19zdHJpbmctd3MnKTtcbnZhciBoZXggPSAvXlstK10/MFt4WF0vO1xuXG5tb2R1bGUuZXhwb3J0cyA9ICRwYXJzZUludCh3cyArICcwOCcpICE9PSA4IHx8ICRwYXJzZUludCh3cyArICcweDE2JykgIT09IDIyID8gZnVuY3Rpb24gcGFyc2VJbnQoc3RyLCByYWRpeCkge1xuICB2YXIgc3RyaW5nID0gJHRyaW0oU3RyaW5nKHN0ciksIDMpO1xuICByZXR1cm4gJHBhcnNlSW50KHN0cmluZywgKHJhZGl4ID4+PiAwKSB8fCAoaGV4LnRlc3Qoc3RyaW5nKSA/IDE2IDogMTApKTtcbn0gOiAkcGFyc2VJbnQ7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_parse-int.js\n"); /***/ }), /***/ "./node_modules/core-js/modules/_property-desc.js": /*!********************************************************!*\ !*** ./node_modules/core-js/modules/_property-desc.js ***! \********************************************************/ /*! no static exports found */ /***/ (function(module, exports) { eval("module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19wcm9wZXJ0eS1kZXNjLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fcHJvcGVydHktZGVzYy5qcz80NjMwIl0sInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGJpdG1hcCwgdmFsdWUpIHtcbiAgcmV0dXJuIHtcbiAgICBlbnVtZXJhYmxlOiAhKGJpdG1hcCAmIDEpLFxuICAgIGNvbmZpZ3VyYWJsZTogIShiaXRtYXAgJiAyKSxcbiAgICB3cml0YWJsZTogIShiaXRtYXAgJiA0KSxcbiAgICB2YWx1ZTogdmFsdWVcbiAgfTtcbn07XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_property-desc.js\n"); /***/ }), /***/ "./node_modules/core-js/modules/_redefine.js": /*!***************************************************!*\ !*** ./node_modules/core-js/modules/_redefine.js ***! \***************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("var global = __webpack_require__(/*! ./_global */ \"./node_modules/core-js/modules/_global.js\");\nvar hide = __webpack_require__(/*! ./_hide */ \"./node_modules/core-js/modules/_hide.js\");\nvar has = __webpack_require__(/*! ./_has */ \"./node_modules/core-js/modules/_has.js\");\nvar SRC = __webpack_require__(/*! ./_uid */ \"./node_modules/core-js/modules/_uid.js\")('src');\nvar $toString = __webpack_require__(/*! ./_function-to-string */ \"./node_modules/core-js/modules/_function-to-string.js\");\nvar TO_STRING = 'toString';\nvar TPL = ('' + $toString).split(TO_STRING);\n\n__webpack_require__(/*! ./_core */ \"./node_modules/core-js/modules/_core.js\").inspectSource = function (it) {\n return $toString.call(it);\n};\n\n(module.exports = function (O, key, val, safe) {\n var isFunction = typeof val == 'function';\n if (isFunction) has(val, 'name') || hide(val, 'name', key);\n if (O[key] === val) return;\n if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));\n if (O === global) {\n O[key] = val;\n } else if (!safe) {\n delete O[key];\n hide(O, key, val);\n } else if (O[key]) {\n O[key] = val;\n } else {\n hide(O, key, val);\n }\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, TO_STRING, function toString() {\n return typeof this == 'function' && this[SRC] || $toString.call(this);\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19yZWRlZmluZS5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3JlZGVmaW5lLmpzPzJhYmEiXSwic291cmNlc0NvbnRlbnQiOlsidmFyIGdsb2JhbCA9IHJlcXVpcmUoJy4vX2dsb2JhbCcpO1xudmFyIGhpZGUgPSByZXF1aXJlKCcuL19oaWRlJyk7XG52YXIgaGFzID0gcmVxdWlyZSgnLi9faGFzJyk7XG52YXIgU1JDID0gcmVxdWlyZSgnLi9fdWlkJykoJ3NyYycpO1xudmFyICR0b1N0cmluZyA9IHJlcXVpcmUoJy4vX2Z1bmN0aW9uLXRvLXN0cmluZycpO1xudmFyIFRPX1NUUklORyA9ICd0b1N0cmluZyc7XG52YXIgVFBMID0gKCcnICsgJHRvU3RyaW5nKS5zcGxpdChUT19TVFJJTkcpO1xuXG5yZXF1aXJlKCcuL19jb3JlJykuaW5zcGVjdFNvdXJjZSA9IGZ1bmN0aW9uIChpdCkge1xuICByZXR1cm4gJHRvU3RyaW5nLmNhbGwoaXQpO1xufTtcblxuKG1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKE8sIGtleSwgdmFsLCBzYWZlKSB7XG4gIHZhciBpc0Z1bmN0aW9uID0gdHlwZW9mIHZhbCA9PSAnZnVuY3Rpb24nO1xuICBpZiAoaXNGdW5jdGlvbikgaGFzKHZhbCwgJ25hbWUnKSB8fCBoaWRlKHZhbCwgJ25hbWUnLCBrZXkpO1xuICBpZiAoT1trZXldID09PSB2YWwpIHJldHVybjtcbiAgaWYgKGlzRnVuY3Rpb24pIGhhcyh2YWwsIFNSQykgfHwgaGlkZSh2YWwsIFNSQywgT1trZXldID8gJycgKyBPW2tleV0gOiBUUEwuam9pbihTdHJpbmcoa2V5KSkpO1xuICBpZiAoTyA9PT0gZ2xvYmFsKSB7XG4gICAgT1trZXldID0gdmFsO1xuICB9IGVsc2UgaWYgKCFzYWZlKSB7XG4gICAgZGVsZXRlIE9ba2V5XTtcbiAgICBoaWRlKE8sIGtleSwgdmFsKTtcbiAgfSBlbHNlIGlmIChPW2tleV0pIHtcbiAgICBPW2tleV0gPSB2YWw7XG4gIH0gZWxzZSB7XG4gICAgaGlkZShPLCBrZXksIHZhbCk7XG4gIH1cbi8vIGFkZCBmYWtlIEZ1bmN0aW9uI3RvU3RyaW5nIGZvciBjb3JyZWN0IHdvcmsgd3JhcHBlZCBtZXRob2RzIC8gY29uc3RydWN0b3JzIHdpdGggbWV0aG9kcyBsaWtlIExvRGFzaCBpc05hdGl2ZVxufSkoRnVuY3Rpb24ucHJvdG90eXBlLCBUT19TVFJJTkcsIGZ1bmN0aW9uIHRvU3RyaW5nKCkge1xuICByZXR1cm4gdHlwZW9mIHRoaXMgPT0gJ2Z1bmN0aW9uJyAmJiB0aGlzW1NSQ10gfHwgJHRvU3RyaW5nLmNhbGwodGhpcyk7XG59KTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_redefine.js\n"); /***/ }), /***/ "./node_modules/core-js/modules/_set-proto.js": /*!****************************************************!*\ !*** ./node_modules/core-js/modules/_set-proto.js ***! \****************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar isObject = __webpack_require__(/*! ./_is-object */ \"./node_modules/core-js/modules/_is-object.js\");\nvar anObject = __webpack_require__(/*! ./_an-object */ \"./node_modules/core-js/modules/_an-object.js\");\nvar check = function (O, proto) {\n anObject(O);\n if (!isObject(proto) && proto !== null) throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n function (test, buggy, set) {\n try {\n set = __webpack_require__(/*! ./_ctx */ \"./node_modules/core-js/modules/_ctx.js\")(Function.call, __webpack_require__(/*! ./_object-gopd */ \"./node_modules/core-js/modules/_object-gopd.js\").f(Object.prototype, '__proto__').set, 2);\n set(test, []);\n buggy = !(test instanceof Array);\n } catch (e) { buggy = true; }\n return function setPrototypeOf(O, proto) {\n check(O, proto);\n if (buggy) O.__proto__ = proto;\n else set(O, proto);\n return O;\n };\n }({}, false) : undefined),\n check: check\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19zZXQtcHJvdG8uanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19zZXQtcHJvdG8uanM/OGI5NyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBXb3JrcyB3aXRoIF9fcHJvdG9fXyBvbmx5LiBPbGQgdjggY2FuJ3Qgd29yayB3aXRoIG51bGwgcHJvdG8gb2JqZWN0cy5cbi8qIGVzbGludC1kaXNhYmxlIG5vLXByb3RvICovXG52YXIgaXNPYmplY3QgPSByZXF1aXJlKCcuL19pcy1vYmplY3QnKTtcbnZhciBhbk9iamVjdCA9IHJlcXVpcmUoJy4vX2FuLW9iamVjdCcpO1xudmFyIGNoZWNrID0gZnVuY3Rpb24gKE8sIHByb3RvKSB7XG4gIGFuT2JqZWN0KE8pO1xuICBpZiAoIWlzT2JqZWN0KHByb3RvKSAmJiBwcm90byAhPT0gbnVsbCkgdGhyb3cgVHlwZUVycm9yKHByb3RvICsgXCI6IGNhbid0IHNldCBhcyBwcm90b3R5cGUhXCIpO1xufTtcbm1vZHVsZS5leHBvcnRzID0ge1xuICBzZXQ6IE9iamVjdC5zZXRQcm90b3R5cGVPZiB8fCAoJ19fcHJvdG9fXycgaW4ge30gPyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lXG4gICAgZnVuY3Rpb24gKHRlc3QsIGJ1Z2d5LCBzZXQpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHNldCA9IHJlcXVpcmUoJy4vX2N0eCcpKEZ1bmN0aW9uLmNhbGwsIHJlcXVpcmUoJy4vX29iamVjdC1nb3BkJykuZihPYmplY3QucHJvdG90eXBlLCAnX19wcm90b19fJykuc2V0LCAyKTtcbiAgICAgICAgc2V0KHRlc3QsIFtdKTtcbiAgICAgICAgYnVnZ3kgPSAhKHRlc3QgaW5zdGFuY2VvZiBBcnJheSk7XG4gICAgICB9IGNhdGNoIChlKSB7IGJ1Z2d5ID0gdHJ1ZTsgfVxuICAgICAgcmV0dXJuIGZ1bmN0aW9uIHNldFByb3RvdHlwZU9mKE8sIHByb3RvKSB7XG4gICAgICAgIGNoZWNrKE8sIHByb3RvKTtcbiAgICAgICAgaWYgKGJ1Z2d5KSBPLl9fcHJvdG9fXyA9IHByb3RvO1xuICAgICAgICBlbHNlIHNldChPLCBwcm90byk7XG4gICAgICAgIHJldHVybiBPO1xuICAgICAgfTtcbiAgICB9KHt9LCBmYWxzZSkgOiB1bmRlZmluZWQpLFxuICBjaGVjazogY2hlY2tcbn07XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_set-proto.js\n"); /***/ }), /***/ "./node_modules/core-js/modules/_set-to-string-tag.js": /*!************************************************************!*\ !*** ./node_modules/core-js/modules/_set-to-string-tag.js ***! \************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("var def = __webpack_require__(/*! ./_object-dp */ \"./node_modules/core-js/modules/_object-dp.js\").f;\nvar has = __webpack_require__(/*! ./_has */ \"./node_modules/core-js/modules/_has.js\");\nvar TAG = __webpack_require__(/*! ./_wks */ \"./node_modules/core-js/modules/_wks.js\")('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19zZXQtdG8tc3RyaW5nLXRhZy5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3NldC10by1zdHJpbmctdGFnLmpzPzdmMjAiXSwic291cmNlc0NvbnRlbnQiOlsidmFyIGRlZiA9IHJlcXVpcmUoJy4vX29iamVjdC1kcCcpLmY7XG52YXIgaGFzID0gcmVxdWlyZSgnLi9faGFzJyk7XG52YXIgVEFHID0gcmVxdWlyZSgnLi9fd2tzJykoJ3RvU3RyaW5nVGFnJyk7XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGl0LCB0YWcsIHN0YXQpIHtcbiAgaWYgKGl0ICYmICFoYXMoaXQgPSBzdGF0ID8gaXQgOiBpdC5wcm90b3R5cGUsIFRBRykpIGRlZihpdCwgVEFHLCB7IGNvbmZpZ3VyYWJsZTogdHJ1ZSwgdmFsdWU6IHRhZyB9KTtcbn07XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_set-to-string-tag.js\n"); /***/ }), /***/ "./node_modules/core-js/modules/_shared-key.js": /*!*****************************************************!*\ !*** ./node_modules/core-js/modules/_shared-key.js ***! \*****************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("var shared = __webpack_require__(/*! ./_shared */ \"./node_modules/core-js/modules/_shared.js\")('keys');\nvar uid = __webpack_require__(/*! ./_uid */ \"./node_modules/core-js/modules/_uid.js\");\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19zaGFyZWQta2V5LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fc2hhcmVkLWtleS5qcz82MTNiIl0sInNvdXJjZXNDb250ZW50IjpbInZhciBzaGFyZWQgPSByZXF1aXJlKCcuL19zaGFyZWQnKSgna2V5cycpO1xudmFyIHVpZCA9IHJlcXVpcmUoJy4vX3VpZCcpO1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoa2V5KSB7XG4gIHJldHVybiBzaGFyZWRba2V5XSB8fCAoc2hhcmVkW2tleV0gPSB1aWQoa2V5KSk7XG59O1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_shared-key.js\n"); /***/ }), /***/ "./node_modules/core-js/modules/_shared.js": /*!*************************************************!*\ !*** ./node_modules/core-js/modules/_shared.js ***! \*************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("var core = __webpack_require__(/*! ./_core */ \"./node_modules/core-js/modules/_core.js\");\nvar global = __webpack_require__(/*! ./_global */ \"./node_modules/core-js/modules/_global.js\");\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: core.version,\n mode: __webpack_require__(/*! ./_library */ \"./node_modules/core-js/modules/_library.js\") ? 'pure' : 'global',\n copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19zaGFyZWQuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19zaGFyZWQuanM/NTUzNyJdLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgY29yZSA9IHJlcXVpcmUoJy4vX2NvcmUnKTtcbnZhciBnbG9iYWwgPSByZXF1aXJlKCcuL19nbG9iYWwnKTtcbnZhciBTSEFSRUQgPSAnX19jb3JlLWpzX3NoYXJlZF9fJztcbnZhciBzdG9yZSA9IGdsb2JhbFtTSEFSRURdIHx8IChnbG9iYWxbU0hBUkVEXSA9IHt9KTtcblxuKG1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGtleSwgdmFsdWUpIHtcbiAgcmV0dXJuIHN0b3JlW2tleV0gfHwgKHN0b3JlW2tleV0gPSB2YWx1ZSAhPT0gdW5kZWZpbmVkID8gdmFsdWUgOiB7fSk7XG59KSgndmVyc2lvbnMnLCBbXSkucHVzaCh7XG4gIHZlcnNpb246IGNvcmUudmVyc2lvbixcbiAgbW9kZTogcmVxdWlyZSgnLi9fbGlicmFyeScpID8gJ3B1cmUnIDogJ2dsb2JhbCcsXG4gIGNvcHlyaWdodDogJ8KpIDIwMTkgRGVuaXMgUHVzaGthcmV2ICh6bG9pcm9jay5ydSknXG59KTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_shared.js\n"); /***/ }), /***/ "./node_modules/core-js/modules/_string-repeat.js": /*!********************************************************!*\ !*** ./node_modules/core-js/modules/_string-repeat.js ***! \********************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; eval("\nvar toInteger = __webpack_require__(/*! ./_to-integer */ \"./node_modules/core-js/modules/_to-integer.js\");\nvar defined = __webpack_require__(/*! ./_defined */ \"./node_modules/core-js/modules/_defined.js\");\n\nmodule.exports = function repeat(count) {\n var str = String(defined(this));\n var res = '';\n var n = toInteger(count);\n if (n < 0 || n == Infinity) throw RangeError(\"Count can't be negative\");\n for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) res += str;\n return res;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19zdHJpbmctcmVwZWF0LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fc3RyaW5nLXJlcGVhdC5qcz85NzQ0Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcbnZhciB0b0ludGVnZXIgPSByZXF1aXJlKCcuL190by1pbnRlZ2VyJyk7XG52YXIgZGVmaW5lZCA9IHJlcXVpcmUoJy4vX2RlZmluZWQnKTtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiByZXBlYXQoY291bnQpIHtcbiAgdmFyIHN0ciA9IFN0cmluZyhkZWZpbmVkKHRoaXMpKTtcbiAgdmFyIHJlcyA9ICcnO1xuICB2YXIgbiA9IHRvSW50ZWdlcihjb3VudCk7XG4gIGlmIChuIDwgMCB8fCBuID09IEluZmluaXR5KSB0aHJvdyBSYW5nZUVycm9yKFwiQ291bnQgY2FuJ3QgYmUgbmVnYXRpdmVcIik7XG4gIGZvciAoO24gPiAwOyAobiA+Pj49IDEpICYmIChzdHIgKz0gc3RyKSkgaWYgKG4gJiAxKSByZXMgKz0gc3RyO1xuICByZXR1cm4gcmVzO1xufTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_string-repeat.js\n"); /***/ }), /***/ "./node_modules/core-js/modules/_string-trim.js": /*!******************************************************!*\ !*** ./node_modules/core-js/modules/_string-trim.js ***! \******************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("var $export = __webpack_require__(/*! ./_export */ \"./node_modules/core-js/modules/_export.js\");\nvar defined = __webpack_require__(/*! ./_defined */ \"./node_modules/core-js/modules/_defined.js\");\nvar fails = __webpack_require__(/*! ./_fails */ \"./node_modules/core-js/modules/_fails.js\");\nvar spaces = __webpack_require__(/*! ./_string-ws */ \"./node_modules/core-js/modules/_string-ws.js\");\nvar space = '[' + spaces + ']';\nvar non = '\\u200b\\u0085';\nvar ltrim = RegExp('^' + space + space + '*');\nvar rtrim = RegExp(space + space + '*$');\n\nvar exporter = function (KEY, exec, ALIAS) {\n var exp = {};\n var FORCE = fails(function () {\n return !!spaces[KEY]() || non[KEY]() != non;\n });\n var fn = exp[KEY] = FORCE ? exec(trim) : spaces[KEY];\n if (ALIAS) exp[ALIAS] = fn;\n $export($export.P + $export.F * FORCE, 'String', exp);\n};\n\n// 1 -> String#trimLeft\n// 2 -> String#trimRight\n// 3 -> String#trim\nvar trim = exporter.trim = function (string, TYPE) {\n string = String(defined(string));\n if (TYPE & 1) string = string.replace(ltrim, '');\n if (TYPE & 2) string = string.replace(rtrim, '');\n return string;\n};\n\nmodule.exports = exporter;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19zdHJpbmctdHJpbS5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3N0cmluZy10cmltLmpzP2FhNzciXSwic291cmNlc0NvbnRlbnQiOlsidmFyICRleHBvcnQgPSByZXF1aXJlKCcuL19leHBvcnQnKTtcbnZhciBkZWZpbmVkID0gcmVxdWlyZSgnLi9fZGVmaW5lZCcpO1xudmFyIGZhaWxzID0gcmVxdWlyZSgnLi9fZmFpbHMnKTtcbnZhciBzcGFjZXMgPSByZXF1aXJlKCcuL19zdHJpbmctd3MnKTtcbnZhciBzcGFjZSA9ICdbJyArIHNwYWNlcyArICddJztcbnZhciBub24gPSAnXFx1MjAwYlxcdTAwODUnO1xudmFyIGx0cmltID0gUmVnRXhwKCdeJyArIHNwYWNlICsgc3BhY2UgKyAnKicpO1xudmFyIHJ0cmltID0gUmVnRXhwKHNwYWNlICsgc3BhY2UgKyAnKiQnKTtcblxudmFyIGV4cG9ydGVyID0gZnVuY3Rpb24gKEtFWSwgZXhlYywgQUxJQVMpIHtcbiAgdmFyIGV4cCA9IHt9O1xuICB2YXIgRk9SQ0UgPSBmYWlscyhmdW5jdGlvbiAoKSB7XG4gICAgcmV0dXJuICEhc3BhY2VzW0tFWV0oKSB8fCBub25bS0VZXSgpICE9IG5vbjtcbiAgfSk7XG4gIHZhciBmbiA9IGV4cFtLRVldID0gRk9SQ0UgPyBleGVjKHRyaW0pIDogc3BhY2VzW0tFWV07XG4gIGlmIChBTElBUykgZXhwW0FMSUFTXSA9IGZuO1xuICAkZXhwb3J0KCRleHBvcnQuUCArICRleHBvcnQuRiAqIEZPUkNFLCAnU3RyaW5nJywgZXhwKTtcbn07XG5cbi8vIDEgLT4gU3RyaW5nI3RyaW1MZWZ0XG4vLyAyIC0+IFN0cmluZyN0cmltUmlnaHRcbi8vIDMgLT4gU3RyaW5nI3RyaW1cbnZhciB0cmltID0gZXhwb3J0ZXIudHJpbSA9IGZ1bmN0aW9uIChzdHJpbmcsIFRZUEUpIHtcbiAgc3RyaW5nID0gU3RyaW5nKGRlZmluZWQoc3RyaW5nKSk7XG4gIGlmIChUWVBFICYgMSkgc3RyaW5nID0gc3RyaW5nLnJlcGxhY2UobHRyaW0sICcnKTtcbiAgaWYgKFRZUEUgJiAyKSBzdHJpbmcgPSBzdHJpbmcucmVwbGFjZShydHJpbSwgJycpO1xuICByZXR1cm4gc3RyaW5nO1xufTtcblxubW9kdWxlLmV4cG9ydHMgPSBleHBvcnRlcjtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_string-trim.js\n"); /***/ }), /***/ "./node_modules/core-js/modules/_string-ws.js": /*!****************************************************!*\ !*** ./node_modules/core-js/modules/_string-ws.js ***! \****************************************************/ /*! no static exports found */ /***/ (function(module, exports) { eval("module.exports = '\\x09\\x0A\\x0B\\x0C\\x0D\\x20\\xA0\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003' +\n '\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19zdHJpbmctd3MuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19zdHJpbmctd3MuanM/ZmRlZiJdLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9ICdcXHgwOVxceDBBXFx4MEJcXHgwQ1xceDBEXFx4MjBcXHhBMFxcdTE2ODBcXHUxODBFXFx1MjAwMFxcdTIwMDFcXHUyMDAyXFx1MjAwMycgK1xuICAnXFx1MjAwNFxcdTIwMDVcXHUyMDA2XFx1MjAwN1xcdTIwMDhcXHUyMDA5XFx1MjAwQVxcdTIwMkZcXHUyMDVGXFx1MzAwMFxcdTIwMjhcXHUyMDI5XFx1RkVGRic7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_string-ws.js\n"); /***/ }), /***/ "./node_modules/core-js/modules/_to-absolute-index.js": /*!************************************************************!*\ !*** ./node_modules/core-js/modules/_to-absolute-index.js ***! \************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("var toInteger = __webpack_require__(/*! ./_to-integer */ \"./node_modules/core-js/modules/_to-integer.js\");\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL190by1hYnNvbHV0ZS1pbmRleC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3RvLWFic29sdXRlLWluZGV4LmpzPzc3ZjEiXSwic291cmNlc0NvbnRlbnQiOlsidmFyIHRvSW50ZWdlciA9IHJlcXVpcmUoJy4vX3RvLWludGVnZXInKTtcbnZhciBtYXggPSBNYXRoLm1heDtcbnZhciBtaW4gPSBNYXRoLm1pbjtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGluZGV4LCBsZW5ndGgpIHtcbiAgaW5kZXggPSB0b0ludGVnZXIoaW5kZXgpO1xuICByZXR1cm4gaW5kZXggPCAwID8gbWF4KGluZGV4ICsgbGVuZ3RoLCAwKSA6IG1pbihpbmRleCwgbGVuZ3RoKTtcbn07XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_to-absolute-index.js\n"); /***/ }), /***/ "./node_modules/core-js/modules/_to-integer.js": /*!*****************************************************!*\ !*** ./node_modules/core-js/modules/_to-integer.js ***! \*****************************************************/ /*! no static exports found */ /***/ (function(module, exports) { eval("// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL190by1pbnRlZ2VyLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fdG8taW50ZWdlci5qcz80NTg4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIDcuMS40IFRvSW50ZWdlclxudmFyIGNlaWwgPSBNYXRoLmNlaWw7XG52YXIgZmxvb3IgPSBNYXRoLmZsb29yO1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaXQpIHtcbiAgcmV0dXJuIGlzTmFOKGl0ID0gK2l0KSA/IDAgOiAoaXQgPiAwID8gZmxvb3IgOiBjZWlsKShpdCk7XG59O1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_to-integer.js\n"); /***/ }), /***/ "./node_modules/core-js/modules/_to-iobject.js": /*!*****************************************************!*\ !*** ./node_modules/core-js/modules/_to-iobject.js ***! \*****************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = __webpack_require__(/*! ./_iobject */ \"./node_modules/core-js/modules/_iobject.js\");\nvar defined = __webpack_require__(/*! ./_defined */ \"./node_modules/core-js/modules/_defined.js\");\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL190by1pb2JqZWN0LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fdG8taW9iamVjdC5qcz82ODIxIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIHRvIGluZGV4ZWQgb2JqZWN0LCB0b09iamVjdCB3aXRoIGZhbGxiYWNrIGZvciBub24tYXJyYXktbGlrZSBFUzMgc3RyaW5nc1xudmFyIElPYmplY3QgPSByZXF1aXJlKCcuL19pb2JqZWN0Jyk7XG52YXIgZGVmaW5lZCA9IHJlcXVpcmUoJy4vX2RlZmluZWQnKTtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGl0KSB7XG4gIHJldHVybiBJT2JqZWN0KGRlZmluZWQoaXQpKTtcbn07XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_to-iobject.js\n"); /***/ }), /***/ "./node_modules/core-js/modules/_to-length.js": /*!****************************************************!*\ !*** ./node_modules/core-js/modules/_to-length.js ***! \****************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// 7.1.15 ToLength\nvar toInteger = __webpack_require__(/*! ./_to-integer */ \"./node_modules/core-js/modules/_to-integer.js\");\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL190by1sZW5ndGguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL190by1sZW5ndGguanM/OWRlZiJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyA3LjEuMTUgVG9MZW5ndGhcbnZhciB0b0ludGVnZXIgPSByZXF1aXJlKCcuL190by1pbnRlZ2VyJyk7XG52YXIgbWluID0gTWF0aC5taW47XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChpdCkge1xuICByZXR1cm4gaXQgPiAwID8gbWluKHRvSW50ZWdlcihpdCksIDB4MWZmZmZmZmZmZmZmZmYpIDogMDsgLy8gcG93KDIsIDUzKSAtIDEgPT0gOTAwNzE5OTI1NDc0MDk5MVxufTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_to-length.js\n"); /***/ }), /***/ "./node_modules/core-js/modules/_to-object.js": /*!****************************************************!*\ !*** ./node_modules/core-js/modules/_to-object.js ***! \****************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// 7.1.13 ToObject(argument)\nvar defined = __webpack_require__(/*! ./_defined */ \"./node_modules/core-js/modules/_defined.js\");\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL190by1vYmplY3QuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL190by1vYmplY3QuanM/NGJmOCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyA3LjEuMTMgVG9PYmplY3QoYXJndW1lbnQpXG52YXIgZGVmaW5lZCA9IHJlcXVpcmUoJy4vX2RlZmluZWQnKTtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGl0KSB7XG4gIHJldHVybiBPYmplY3QoZGVmaW5lZChpdCkpO1xufTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_to-object.js\n"); /***/ }), /***/ "./node_modules/core-js/modules/_to-primitive.js": /*!*******************************************************!*\ !*** ./node_modules/core-js/modules/_to-primitive.js ***! \*******************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = __webpack_require__(/*! ./_is-object */ \"./node_modules/core-js/modules/_is-object.js\");\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL190by1wcmltaXRpdmUuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL190by1wcmltaXRpdmUuanM/NmE5OSJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyA3LjEuMSBUb1ByaW1pdGl2ZShpbnB1dCBbLCBQcmVmZXJyZWRUeXBlXSlcbnZhciBpc09iamVjdCA9IHJlcXVpcmUoJy4vX2lzLW9iamVjdCcpO1xuLy8gaW5zdGVhZCBvZiB0aGUgRVM2IHNwZWMgdmVyc2lvbiwgd2UgZGlkbid0IGltcGxlbWVudCBAQHRvUHJpbWl0aXZlIGNhc2Vcbi8vIGFuZCB0aGUgc2Vjb25kIGFyZ3VtZW50IC0gZmxhZyAtIHByZWZlcnJlZCB0eXBlIGlzIGEgc3RyaW5nXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChpdCwgUykge1xuICBpZiAoIWlzT2JqZWN0KGl0KSkgcmV0dXJuIGl0O1xuICB2YXIgZm4sIHZhbDtcbiAgaWYgKFMgJiYgdHlwZW9mIChmbiA9IGl0LnRvU3RyaW5nKSA9PSAnZnVuY3Rpb24nICYmICFpc09iamVjdCh2YWwgPSBmbi5jYWxsKGl0KSkpIHJldHVybiB2YWw7XG4gIGlmICh0eXBlb2YgKGZuID0gaXQudmFsdWVPZikgPT0gJ2Z1bmN0aW9uJyAmJiAhaXNPYmplY3QodmFsID0gZm4uY2FsbChpdCkpKSByZXR1cm4gdmFsO1xuICBpZiAoIVMgJiYgdHlwZW9mIChmbiA9IGl0LnRvU3RyaW5nKSA9PSAnZnVuY3Rpb24nICYmICFpc09iamVjdCh2YWwgPSBmbi5jYWxsKGl0KSkpIHJldHVybiB2YWw7XG4gIHRocm93IFR5cGVFcnJvcihcIkNhbid0IGNvbnZlcnQgb2JqZWN0IHRvIHByaW1pdGl2ZSB2YWx1ZVwiKTtcbn07XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_to-primitive.js\n"); /***/ }), /***/ "./node_modules/core-js/modules/_uid.js": /*!**********************************************!*\ !*** ./node_modules/core-js/modules/_uid.js ***! \**********************************************/ /*! no static exports found */ /***/ (function(module, exports) { eval("var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL191aWQuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL191aWQuanM/Y2E1YSJdLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgaWQgPSAwO1xudmFyIHB4ID0gTWF0aC5yYW5kb20oKTtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGtleSkge1xuICByZXR1cm4gJ1N5bWJvbCgnLmNvbmNhdChrZXkgPT09IHVuZGVmaW5lZCA/ICcnIDoga2V5LCAnKV8nLCAoKytpZCArIHB4KS50b1N0cmluZygzNikpO1xufTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_uid.js\n"); /***/ }), /***/ "./node_modules/core-js/modules/_wks.js": /*!**********************************************!*\ !*** ./node_modules/core-js/modules/_wks.js ***! \**********************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("var store = __webpack_require__(/*! ./_shared */ \"./node_modules/core-js/modules/_shared.js\")('wks');\nvar uid = __webpack_require__(/*! ./_uid */ \"./node_modules/core-js/modules/_uid.js\");\nvar Symbol = __webpack_require__(/*! ./_global */ \"./node_modules/core-js/modules/_global.js\").Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL193a3MuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL193a3MuanM/MmI0YyJdLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgc3RvcmUgPSByZXF1aXJlKCcuL19zaGFyZWQnKSgnd2tzJyk7XG52YXIgdWlkID0gcmVxdWlyZSgnLi9fdWlkJyk7XG52YXIgU3ltYm9sID0gcmVxdWlyZSgnLi9fZ2xvYmFsJykuU3ltYm9sO1xudmFyIFVTRV9TWU1CT0wgPSB0eXBlb2YgU3ltYm9sID09ICdmdW5jdGlvbic7XG5cbnZhciAkZXhwb3J0cyA9IG1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKG5hbWUpIHtcbiAgcmV0dXJuIHN0b3JlW25hbWVdIHx8IChzdG9yZVtuYW1lXSA9XG4gICAgVVNFX1NZTUJPTCAmJiBTeW1ib2xbbmFtZV0gfHwgKFVTRV9TWU1CT0wgPyBTeW1ib2wgOiB1aWQpKCdTeW1ib2wuJyArIG5hbWUpKTtcbn07XG5cbiRleHBvcnRzLnN0b3JlID0gc3RvcmU7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_wks.js\n"); /***/ }), /***/ "./node_modules/core-js/modules/core.number.iterator.js": /*!**************************************************************!*\ !*** ./node_modules/core-js/modules/core.number.iterator.js ***! \**************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; eval("\n__webpack_require__(/*! ./_iter-define */ \"./node_modules/core-js/modules/_iter-define.js\")(Number, 'Number', function (iterated) {\n this._l = +iterated;\n this._i = 0;\n}, function () {\n var i = this._i++;\n var done = !(i < this._l);\n return { done: done, value: done ? undefined : i };\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2NvcmUubnVtYmVyLml0ZXJhdG9yLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9jb3JlLm51bWJlci5pdGVyYXRvci5qcz84YzRlIl0sInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcbnJlcXVpcmUoJy4vX2l0ZXItZGVmaW5lJykoTnVtYmVyLCAnTnVtYmVyJywgZnVuY3Rpb24gKGl0ZXJhdGVkKSB7XG4gIHRoaXMuX2wgPSAraXRlcmF0ZWQ7XG4gIHRoaXMuX2kgPSAwO1xufSwgZnVuY3Rpb24gKCkge1xuICB2YXIgaSA9IHRoaXMuX2krKztcbiAgdmFyIGRvbmUgPSAhKGkgPCB0aGlzLl9sKTtcbiAgcmV0dXJuIHsgZG9uZTogZG9uZSwgdmFsdWU6IGRvbmUgPyB1bmRlZmluZWQgOiBpIH07XG59KTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/core.number.iterator.js\n"); /***/ }), /***/ "./node_modules/core-js/modules/es6.number.constructor.js": /*!****************************************************************!*\ !*** ./node_modules/core-js/modules/es6.number.constructor.js ***! \****************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; eval("\nvar global = __webpack_require__(/*! ./_global */ \"./node_modules/core-js/modules/_global.js\");\nvar has = __webpack_require__(/*! ./_has */ \"./node_modules/core-js/modules/_has.js\");\nvar cof = __webpack_require__(/*! ./_cof */ \"./node_modules/core-js/modules/_cof.js\");\nvar inheritIfRequired = __webpack_require__(/*! ./_inherit-if-required */ \"./node_modules/core-js/modules/_inherit-if-required.js\");\nvar toPrimitive = __webpack_require__(/*! ./_to-primitive */ \"./node_modules/core-js/modules/_to-primitive.js\");\nvar fails = __webpack_require__(/*! ./_fails */ \"./node_modules/core-js/modules/_fails.js\");\nvar gOPN = __webpack_require__(/*! ./_object-gopn */ \"./node_modules/core-js/modules/_object-gopn.js\").f;\nvar gOPD = __webpack_require__(/*! ./_object-gopd */ \"./node_modules/core-js/modules/_object-gopd.js\").f;\nvar dP = __webpack_require__(/*! ./_object-dp */ \"./node_modules/core-js/modules/_object-dp.js\").f;\nvar $trim = __webpack_require__(/*! ./_string-trim */ \"./node_modules/core-js/modules/_string-trim.js\").trim;\nvar NUMBER = 'Number';\nvar $Number = global[NUMBER];\nvar Base = $Number;\nvar proto = $Number.prototype;\n// Opera ~12 has broken Object#toString\nvar BROKEN_COF = cof(__webpack_require__(/*! ./_object-create */ \"./node_modules/core-js/modules/_object-create.js\")(proto)) == NUMBER;\nvar TRIM = 'trim' in String.prototype;\n\n// 7.1.3 ToNumber(argument)\nvar toNumber = function (argument) {\n var it = toPrimitive(argument, false);\n if (typeof it == 'string' && it.length > 2) {\n it = TRIM ? it.trim() : $trim(it, 3);\n var first = it.charCodeAt(0);\n var third, radix, maxCode;\n if (first === 43 || first === 45) {\n third = it.charCodeAt(2);\n if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if (first === 48) {\n switch (it.charCodeAt(1)) {\n case 66: case 98: radix = 2; maxCode = 49; break; // fast equal /^0b[01]+$/i\n case 79: case 111: radix = 8; maxCode = 55; break; // fast equal /^0o[0-7]+$/i\n default: return +it;\n }\n for (var digits = it.slice(2), i = 0, l = digits.length, code; i < l; i++) {\n code = digits.charCodeAt(i);\n // parseInt parses a string to a first unavailable symbol\n // but ToNumber should return NaN if a string contains unavailable symbols\n if (code < 48 || code > maxCode) return NaN;\n } return parseInt(digits, radix);\n }\n } return +it;\n};\n\nif (!$Number(' 0o1') || !$Number('0b1') || $Number('+0x1')) {\n $Number = function Number(value) {\n var it = arguments.length < 1 ? 0 : value;\n var that = this;\n return that instanceof $Number\n // check on 1..constructor(foo) case\n && (BROKEN_COF ? fails(function () { proto.valueOf.call(that); }) : cof(that) != NUMBER)\n ? inheritIfRequired(new Base(toNumber(it)), that, $Number) : toNumber(it);\n };\n for (var keys = __webpack_require__(/*! ./_descriptors */ \"./node_modules/core-js/modules/_descriptors.js\") ? gOPN(Base) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES6 (in case, if modules with ES6 Number statics required before):\n 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +\n 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger'\n ).split(','), j = 0, key; keys.length > j; j++) {\n if (has(Base, key = keys[j]) && !has($Number, key)) {\n dP($Number, key, gOPD(Base, key));\n }\n }\n $Number.prototype = proto;\n proto.constructor = $Number;\n __webpack_require__(/*! ./_redefine */ \"./node_modules/core-js/modules/_redefine.js\")(global, NUMBER, $Number);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5udW1iZXIuY29uc3RydWN0b3IuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5udW1iZXIuY29uc3RydWN0b3IuanM/YzVmNiJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG52YXIgZ2xvYmFsID0gcmVxdWlyZSgnLi9fZ2xvYmFsJyk7XG52YXIgaGFzID0gcmVxdWlyZSgnLi9faGFzJyk7XG52YXIgY29mID0gcmVxdWlyZSgnLi9fY29mJyk7XG52YXIgaW5oZXJpdElmUmVxdWlyZWQgPSByZXF1aXJlKCcuL19pbmhlcml0LWlmLXJlcXVpcmVkJyk7XG52YXIgdG9QcmltaXRpdmUgPSByZXF1aXJlKCcuL190by1wcmltaXRpdmUnKTtcbnZhciBmYWlscyA9IHJlcXVpcmUoJy4vX2ZhaWxzJyk7XG52YXIgZ09QTiA9IHJlcXVpcmUoJy4vX29iamVjdC1nb3BuJykuZjtcbnZhciBnT1BEID0gcmVxdWlyZSgnLi9fb2JqZWN0LWdvcGQnKS5mO1xudmFyIGRQID0gcmVxdWlyZSgnLi9fb2JqZWN0LWRwJykuZjtcbnZhciAkdHJpbSA9IHJlcXVpcmUoJy4vX3N0cmluZy10cmltJykudHJpbTtcbnZhciBOVU1CRVIgPSAnTnVtYmVyJztcbnZhciAkTnVtYmVyID0gZ2xvYmFsW05VTUJFUl07XG52YXIgQmFzZSA9ICROdW1iZXI7XG52YXIgcHJvdG8gPSAkTnVtYmVyLnByb3RvdHlwZTtcbi8vIE9wZXJhIH4xMiBoYXMgYnJva2VuIE9iamVjdCN0b1N0cmluZ1xudmFyIEJST0tFTl9DT0YgPSBjb2YocmVxdWlyZSgnLi9fb2JqZWN0LWNyZWF0ZScpKHByb3RvKSkgPT0gTlVNQkVSO1xudmFyIFRSSU0gPSAndHJpbScgaW4gU3RyaW5nLnByb3RvdHlwZTtcblxuLy8gNy4xLjMgVG9OdW1iZXIoYXJndW1lbnQpXG52YXIgdG9OdW1iZXIgPSBmdW5jdGlvbiAoYXJndW1lbnQpIHtcbiAgdmFyIGl0ID0gdG9QcmltaXRpdmUoYXJndW1lbnQsIGZhbHNlKTtcbiAgaWYgKHR5cGVvZiBpdCA9PSAnc3RyaW5nJyAmJiBpdC5sZW5ndGggPiAyKSB7XG4gICAgaXQgPSBUUklNID8gaXQudHJpbSgpIDogJHRyaW0oaXQsIDMpO1xuICAgIHZhciBmaXJzdCA9IGl0LmNoYXJDb2RlQXQoMCk7XG4gICAgdmFyIHRoaXJkLCByYWRpeCwgbWF4Q29kZTtcbiAgICBpZiAoZmlyc3QgPT09IDQzIHx8IGZpcnN0ID09PSA0NSkge1xuICAgICAgdGhpcmQgPSBpdC5jaGFyQ29kZUF0KDIpO1xuICAgICAgaWYgKHRoaXJkID09PSA4OCB8fCB0aGlyZCA9PT0gMTIwKSByZXR1cm4gTmFOOyAvLyBOdW1iZXIoJysweDEnKSBzaG91bGQgYmUgTmFOLCBvbGQgVjggZml4XG4gICAgfSBlbHNlIGlmIChmaXJzdCA9PT0gNDgpIHtcbiAgICAgIHN3aXRjaCAoaXQuY2hhckNvZGVBdCgxKSkge1xuICAgICAgICBjYXNlIDY2OiBjYXNlIDk4OiByYWRpeCA9IDI7IG1heENvZGUgPSA0OTsgYnJlYWs7IC8vIGZhc3QgZXF1YWwgL14wYlswMV0rJC9pXG4gICAgICAgIGNhc2UgNzk6IGNhc2UgMTExOiByYWRpeCA9IDg7IG1heENvZGUgPSA1NTsgYnJlYWs7IC8vIGZhc3QgZXF1YWwgL14wb1swLTddKyQvaVxuICAgICAgICBkZWZhdWx0OiByZXR1cm4gK2l0O1xuICAgICAgfVxuICAgICAgZm9yICh2YXIgZGlnaXRzID0gaXQuc2xpY2UoMiksIGkgPSAwLCBsID0gZGlnaXRzLmxlbmd0aCwgY29kZTsgaSA8IGw7IGkrKykge1xuICAgICAgICBjb2RlID0gZGlnaXRzLmNoYXJDb2RlQXQoaSk7XG4gICAgICAgIC8vIHBhcnNlSW50IHBhcnNlcyBhIHN0cmluZyB0byBhIGZpcnN0IHVuYXZhaWxhYmxlIHN5bWJvbFxuICAgICAgICAvLyBidXQgVG9OdW1iZXIgc2hvdWxkIHJldHVybiBOYU4gaWYgYSBzdHJpbmcgY29udGFpbnMgdW5hdmFpbGFibGUgc3ltYm9sc1xuICAgICAgICBpZiAoY29kZSA8IDQ4IHx8IGNvZGUgPiBtYXhDb2RlKSByZXR1cm4gTmFOO1xuICAgICAgfSByZXR1cm4gcGFyc2VJbnQoZGlnaXRzLCByYWRpeCk7XG4gICAgfVxuICB9IHJldHVybiAraXQ7XG59O1xuXG5pZiAoISROdW1iZXIoJyAwbzEnKSB8fCAhJE51bWJlcignMGIxJykgfHwgJE51bWJlcignKzB4MScpKSB7XG4gICROdW1iZXIgPSBmdW5jdGlvbiBOdW1iZXIodmFsdWUpIHtcbiAgICB2YXIgaXQgPSBhcmd1bWVudHMubGVuZ3RoIDwgMSA/IDAgOiB2YWx1ZTtcbiAgICB2YXIgdGhhdCA9IHRoaXM7XG4gICAgcmV0dXJuIHRoYXQgaW5zdGFuY2VvZiAkTnVtYmVyXG4gICAgICAvLyBjaGVjayBvbiAxLi5jb25zdHJ1Y3Rvcihmb28pIGNhc2VcbiAgICAgICYmIChCUk9LRU5fQ09GID8gZmFpbHMoZnVuY3Rpb24gKCkgeyBwcm90by52YWx1ZU9mLmNhbGwodGhhdCk7IH0pIDogY29mKHRoYXQpICE9IE5VTUJFUilcbiAgICAgICAgPyBpbmhlcml0SWZSZXF1aXJlZChuZXcgQmFzZSh0b051bWJlcihpdCkpLCB0aGF0LCAkTnVtYmVyKSA6IHRvTnVtYmVyKGl0KTtcbiAgfTtcbiAgZm9yICh2YXIga2V5cyA9IHJlcXVpcmUoJy4vX2Rlc2NyaXB0b3JzJykgPyBnT1BOKEJhc2UpIDogKFxuICAgIC8vIEVTMzpcbiAgICAnTUFYX1ZBTFVFLE1JTl9WQUxVRSxOYU4sTkVHQVRJVkVfSU5GSU5JVFksUE9TSVRJVkVfSU5GSU5JVFksJyArXG4gICAgLy8gRVM2IChpbiBjYXNlLCBpZiBtb2R1bGVzIHdpdGggRVM2IE51bWJlciBzdGF0aWNzIHJlcXVpcmVkIGJlZm9yZSk6XG4gICAgJ0VQU0lMT04saXNGaW5pdGUsaXNJbnRlZ2VyLGlzTmFOLGlzU2FmZUludGVnZXIsTUFYX1NBRkVfSU5URUdFUiwnICtcbiAgICAnTUlOX1NBRkVfSU5URUdFUixwYXJzZUZsb2F0LHBhcnNlSW50LGlzSW50ZWdlcidcbiAgKS5zcGxpdCgnLCcpLCBqID0gMCwga2V5OyBrZXlzLmxlbmd0aCA+IGo7IGorKykge1xuICAgIGlmIChoYXMoQmFzZSwga2V5ID0ga2V5c1tqXSkgJiYgIWhhcygkTnVtYmVyLCBrZXkpKSB7XG4gICAgICBkUCgkTnVtYmVyLCBrZXksIGdPUEQoQmFzZSwga2V5KSk7XG4gICAgfVxuICB9XG4gICROdW1iZXIucHJvdG90eXBlID0gcHJvdG87XG4gIHByb3RvLmNvbnN0cnVjdG9yID0gJE51bWJlcjtcbiAgcmVxdWlyZSgnLi9fcmVkZWZpbmUnKShnbG9iYWwsIE5VTUJFUiwgJE51bWJlcik7XG59XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/es6.number.constructor.js\n"); /***/ }), /***/ "./node_modules/core-js/modules/es6.number.epsilon.js": /*!************************************************************!*\ !*** ./node_modules/core-js/modules/es6.number.epsilon.js ***! \************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// 20.1.2.1 Number.EPSILON\nvar $export = __webpack_require__(/*! ./_export */ \"./node_modules/core-js/modules/_export.js\");\n\n$export($export.S, 'Number', { EPSILON: Math.pow(2, -52) });\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5udW1iZXIuZXBzaWxvbi5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2Lm51bWJlci5lcHNpbG9uLmpzPzJlMzciXSwic291cmNlc0NvbnRlbnQiOlsiLy8gMjAuMS4yLjEgTnVtYmVyLkVQU0lMT05cbnZhciAkZXhwb3J0ID0gcmVxdWlyZSgnLi9fZXhwb3J0Jyk7XG5cbiRleHBvcnQoJGV4cG9ydC5TLCAnTnVtYmVyJywgeyBFUFNJTE9OOiBNYXRoLnBvdygyLCAtNTIpIH0pO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/es6.number.epsilon.js\n"); /***/ }), /***/ "./node_modules/core-js/modules/es6.number.is-finite.js": /*!**************************************************************!*\ !*** ./node_modules/core-js/modules/es6.number.is-finite.js ***! \**************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// 20.1.2.2 Number.isFinite(number)\nvar $export = __webpack_require__(/*! ./_export */ \"./node_modules/core-js/modules/_export.js\");\nvar _isFinite = __webpack_require__(/*! ./_global */ \"./node_modules/core-js/modules/_global.js\").isFinite;\n\n$export($export.S, 'Number', {\n isFinite: function isFinite(it) {\n return typeof it == 'number' && _isFinite(it);\n }\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5udW1iZXIuaXMtZmluaXRlLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYubnVtYmVyLmlzLWZpbml0ZS5qcz9mY2EwIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIDIwLjEuMi4yIE51bWJlci5pc0Zpbml0ZShudW1iZXIpXG52YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xudmFyIF9pc0Zpbml0ZSA9IHJlcXVpcmUoJy4vX2dsb2JhbCcpLmlzRmluaXRlO1xuXG4kZXhwb3J0KCRleHBvcnQuUywgJ051bWJlcicsIHtcbiAgaXNGaW5pdGU6IGZ1bmN0aW9uIGlzRmluaXRlKGl0KSB7XG4gICAgcmV0dXJuIHR5cGVvZiBpdCA9PSAnbnVtYmVyJyAmJiBfaXNGaW5pdGUoaXQpO1xuICB9XG59KTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/es6.number.is-finite.js\n"); /***/ }), /***/ "./node_modules/core-js/modules/es6.number.is-integer.js": /*!***************************************************************!*\ !*** ./node_modules/core-js/modules/es6.number.is-integer.js ***! \***************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// 20.1.2.3 Number.isInteger(number)\nvar $export = __webpack_require__(/*! ./_export */ \"./node_modules/core-js/modules/_export.js\");\n\n$export($export.S, 'Number', { isInteger: __webpack_require__(/*! ./_is-integer */ \"./node_modules/core-js/modules/_is-integer.js\") });\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5udW1iZXIuaXMtaW50ZWdlci5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2Lm51bWJlci5pcy1pbnRlZ2VyLmpzPzdjZGYiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gMjAuMS4yLjMgTnVtYmVyLmlzSW50ZWdlcihudW1iZXIpXG52YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xuXG4kZXhwb3J0KCRleHBvcnQuUywgJ051bWJlcicsIHsgaXNJbnRlZ2VyOiByZXF1aXJlKCcuL19pcy1pbnRlZ2VyJykgfSk7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/es6.number.is-integer.js\n"); /***/ }), /***/ "./node_modules/core-js/modules/es6.number.is-nan.js": /*!***********************************************************!*\ !*** ./node_modules/core-js/modules/es6.number.is-nan.js ***! \***********************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// 20.1.2.4 Number.isNaN(number)\nvar $export = __webpack_require__(/*! ./_export */ \"./node_modules/core-js/modules/_export.js\");\n\n$export($export.S, 'Number', {\n isNaN: function isNaN(number) {\n // eslint-disable-next-line no-self-compare\n return number != number;\n }\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5udW1iZXIuaXMtbmFuLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYubnVtYmVyLmlzLW5hbi5qcz9lZTFkIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIDIwLjEuMi40IE51bWJlci5pc05hTihudW1iZXIpXG52YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xuXG4kZXhwb3J0KCRleHBvcnQuUywgJ051bWJlcicsIHtcbiAgaXNOYU46IGZ1bmN0aW9uIGlzTmFOKG51bWJlcikge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1zZWxmLWNvbXBhcmVcbiAgICByZXR1cm4gbnVtYmVyICE9IG51bWJlcjtcbiAgfVxufSk7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/es6.number.is-nan.js\n"); /***/ }), /***/ "./node_modules/core-js/modules/es6.number.is-safe-integer.js": /*!********************************************************************!*\ !*** ./node_modules/core-js/modules/es6.number.is-safe-integer.js ***! \********************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// 20.1.2.5 Number.isSafeInteger(number)\nvar $export = __webpack_require__(/*! ./_export */ \"./node_modules/core-js/modules/_export.js\");\nvar isInteger = __webpack_require__(/*! ./_is-integer */ \"./node_modules/core-js/modules/_is-integer.js\");\nvar abs = Math.abs;\n\n$export($export.S, 'Number', {\n isSafeInteger: function isSafeInteger(number) {\n return isInteger(number) && abs(number) <= 0x1fffffffffffff;\n }\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5udW1iZXIuaXMtc2FmZS1pbnRlZ2VyLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYubnVtYmVyLmlzLXNhZmUtaW50ZWdlci5qcz9iMWIxIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIDIwLjEuMi41IE51bWJlci5pc1NhZmVJbnRlZ2VyKG51bWJlcilcbnZhciAkZXhwb3J0ID0gcmVxdWlyZSgnLi9fZXhwb3J0Jyk7XG52YXIgaXNJbnRlZ2VyID0gcmVxdWlyZSgnLi9faXMtaW50ZWdlcicpO1xudmFyIGFicyA9IE1hdGguYWJzO1xuXG4kZXhwb3J0KCRleHBvcnQuUywgJ051bWJlcicsIHtcbiAgaXNTYWZlSW50ZWdlcjogZnVuY3Rpb24gaXNTYWZlSW50ZWdlcihudW1iZXIpIHtcbiAgICByZXR1cm4gaXNJbnRlZ2VyKG51bWJlcikgJiYgYWJzKG51bWJlcikgPD0gMHgxZmZmZmZmZmZmZmZmZjtcbiAgfVxufSk7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/es6.number.is-safe-integer.js\n"); /***/ }), /***/ "./node_modules/core-js/modules/es6.number.max-safe-integer.js": /*!*********************************************************************!*\ !*** ./node_modules/core-js/modules/es6.number.max-safe-integer.js ***! \*********************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// 20.1.2.6 Number.MAX_SAFE_INTEGER\nvar $export = __webpack_require__(/*! ./_export */ \"./node_modules/core-js/modules/_export.js\");\n\n$export($export.S, 'Number', { MAX_SAFE_INTEGER: 0x1fffffffffffff });\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5udW1iZXIubWF4LXNhZmUtaW50ZWdlci5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2Lm51bWJlci5tYXgtc2FmZS1pbnRlZ2VyLmpzPzg3ZjMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gMjAuMS4yLjYgTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVJcbnZhciAkZXhwb3J0ID0gcmVxdWlyZSgnLi9fZXhwb3J0Jyk7XG5cbiRleHBvcnQoJGV4cG9ydC5TLCAnTnVtYmVyJywgeyBNQVhfU0FGRV9JTlRFR0VSOiAweDFmZmZmZmZmZmZmZmZmIH0pO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/es6.number.max-safe-integer.js\n"); /***/ }), /***/ "./node_modules/core-js/modules/es6.number.min-safe-integer.js": /*!*********************************************************************!*\ !*** ./node_modules/core-js/modules/es6.number.min-safe-integer.js ***! \*********************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// 20.1.2.10 Number.MIN_SAFE_INTEGER\nvar $export = __webpack_require__(/*! ./_export */ \"./node_modules/core-js/modules/_export.js\");\n\n$export($export.S, 'Number', { MIN_SAFE_INTEGER: -0x1fffffffffffff });\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5udW1iZXIubWluLXNhZmUtaW50ZWdlci5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2Lm51bWJlci5taW4tc2FmZS1pbnRlZ2VyLmpzPzkyNzgiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gMjAuMS4yLjEwIE51bWJlci5NSU5fU0FGRV9JTlRFR0VSXG52YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xuXG4kZXhwb3J0KCRleHBvcnQuUywgJ051bWJlcicsIHsgTUlOX1NBRkVfSU5URUdFUjogLTB4MWZmZmZmZmZmZmZmZmYgfSk7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/es6.number.min-safe-integer.js\n"); /***/ }), /***/ "./node_modules/core-js/modules/es6.number.parse-float.js": /*!****************************************************************!*\ !*** ./node_modules/core-js/modules/es6.number.parse-float.js ***! \****************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("var $export = __webpack_require__(/*! ./_export */ \"./node_modules/core-js/modules/_export.js\");\nvar $parseFloat = __webpack_require__(/*! ./_parse-float */ \"./node_modules/core-js/modules/_parse-float.js\");\n// 20.1.2.12 Number.parseFloat(string)\n$export($export.S + $export.F * (Number.parseFloat != $parseFloat), 'Number', { parseFloat: $parseFloat });\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5udW1iZXIucGFyc2UtZmxvYXQuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5udW1iZXIucGFyc2UtZmxvYXQuanM/NWRmMiJdLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xudmFyICRwYXJzZUZsb2F0ID0gcmVxdWlyZSgnLi9fcGFyc2UtZmxvYXQnKTtcbi8vIDIwLjEuMi4xMiBOdW1iZXIucGFyc2VGbG9hdChzdHJpbmcpXG4kZXhwb3J0KCRleHBvcnQuUyArICRleHBvcnQuRiAqIChOdW1iZXIucGFyc2VGbG9hdCAhPSAkcGFyc2VGbG9hdCksICdOdW1iZXInLCB7IHBhcnNlRmxvYXQ6ICRwYXJzZUZsb2F0IH0pO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/es6.number.parse-float.js\n"); /***/ }), /***/ "./node_modules/core-js/modules/es6.number.parse-int.js": /*!**************************************************************!*\ !*** ./node_modules/core-js/modules/es6.number.parse-int.js ***! \**************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("var $export = __webpack_require__(/*! ./_export */ \"./node_modules/core-js/modules/_export.js\");\nvar $parseInt = __webpack_require__(/*! ./_parse-int */ \"./node_modules/core-js/modules/_parse-int.js\");\n// 20.1.2.13 Number.parseInt(string, radix)\n$export($export.S + $export.F * (Number.parseInt != $parseInt), 'Number', { parseInt: $parseInt });\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5udW1iZXIucGFyc2UtaW50LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYubnVtYmVyLnBhcnNlLWludC5qcz8wNGZmIl0sInNvdXJjZXNDb250ZW50IjpbInZhciAkZXhwb3J0ID0gcmVxdWlyZSgnLi9fZXhwb3J0Jyk7XG52YXIgJHBhcnNlSW50ID0gcmVxdWlyZSgnLi9fcGFyc2UtaW50Jyk7XG4vLyAyMC4xLjIuMTMgTnVtYmVyLnBhcnNlSW50KHN0cmluZywgcmFkaXgpXG4kZXhwb3J0KCRleHBvcnQuUyArICRleHBvcnQuRiAqIChOdW1iZXIucGFyc2VJbnQgIT0gJHBhcnNlSW50KSwgJ051bWJlcicsIHsgcGFyc2VJbnQ6ICRwYXJzZUludCB9KTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/es6.number.parse-int.js\n"); /***/ }), /***/ "./node_modules/core-js/modules/es6.number.to-fixed.js": /*!*************************************************************!*\ !*** ./node_modules/core-js/modules/es6.number.to-fixed.js ***! \*************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; eval("\nvar $export = __webpack_require__(/*! ./_export */ \"./node_modules/core-js/modules/_export.js\");\nvar toInteger = __webpack_require__(/*! ./_to-integer */ \"./node_modules/core-js/modules/_to-integer.js\");\nvar aNumberValue = __webpack_require__(/*! ./_a-number-value */ \"./node_modules/core-js/modules/_a-number-value.js\");\nvar repeat = __webpack_require__(/*! ./_string-repeat */ \"./node_modules/core-js/modules/_string-repeat.js\");\nvar $toFixed = 1.0.toFixed;\nvar floor = Math.floor;\nvar data = [0, 0, 0, 0, 0, 0];\nvar ERROR = 'Number.toFixed: incorrect invocation!';\nvar ZERO = '0';\n\nvar multiply = function (n, c) {\n var i = -1;\n var c2 = c;\n while (++i < 6) {\n c2 += n * data[i];\n data[i] = c2 % 1e7;\n c2 = floor(c2 / 1e7);\n }\n};\nvar divide = function (n) {\n var i = 6;\n var c = 0;\n while (--i >= 0) {\n c += data[i];\n data[i] = floor(c / n);\n c = (c % n) * 1e7;\n }\n};\nvar numToString = function () {\n var i = 6;\n var s = '';\n while (--i >= 0) {\n if (s !== '' || i === 0 || data[i] !== 0) {\n var t = String(data[i]);\n s = s === '' ? t : s + repeat.call(ZERO, 7 - t.length) + t;\n }\n } return s;\n};\nvar pow = function (x, n, acc) {\n return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc);\n};\nvar log = function (x) {\n var n = 0;\n var x2 = x;\n while (x2 >= 4096) {\n n += 12;\n x2 /= 4096;\n }\n while (x2 >= 2) {\n n += 1;\n x2 /= 2;\n } return n;\n};\n\n$export($export.P + $export.F * (!!$toFixed && (\n 0.00008.toFixed(3) !== '0.000' ||\n 0.9.toFixed(0) !== '1' ||\n 1.255.toFixed(2) !== '1.25' ||\n 1000000000000000128.0.toFixed(0) !== '1000000000000000128'\n) || !__webpack_require__(/*! ./_fails */ \"./node_modules/core-js/modules/_fails.js\")(function () {\n // V8 ~ Android 4.3-\n $toFixed.call({});\n})), 'Number', {\n toFixed: function toFixed(fractionDigits) {\n var x = aNumberValue(this, ERROR);\n var f = toInteger(fractionDigits);\n var s = '';\n var m = ZERO;\n var e, z, j, k;\n if (f < 0 || f > 20) throw RangeError(ERROR);\n // eslint-disable-next-line no-self-compare\n if (x != x) return 'NaN';\n if (x <= -1e21 || x >= 1e21) return String(x);\n if (x < 0) {\n s = '-';\n x = -x;\n }\n if (x > 1e-21) {\n e = log(x * pow(2, 69, 1)) - 69;\n z = e < 0 ? x * pow(2, -e, 1) : x / pow(2, e, 1);\n z *= 0x10000000000000;\n e = 52 - e;\n if (e > 0) {\n multiply(0, z);\n j = f;\n while (j >= 7) {\n multiply(1e7, 0);\n j -= 7;\n }\n multiply(pow(10, j, 1), 0);\n j = e - 1;\n while (j >= 23) {\n divide(1 << 23);\n j -= 23;\n }\n divide(1 << j);\n multiply(1, 1);\n divide(2);\n m = numToString();\n } else {\n multiply(0, z);\n multiply(1 << -e, 0);\n m = numToString() + repeat.call(ZERO, f);\n }\n }\n if (f > 0) {\n k = m.length;\n m = s + (k <= f ? '0.' + repeat.call(ZERO, f - k) + m : m.slice(0, k - f) + '.' + m.slice(k - f));\n } else {\n m = s + m;\n } return m;\n }\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5udW1iZXIudG8tZml4ZWQuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5udW1iZXIudG8tZml4ZWQuanM/MDM2YyJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG52YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xudmFyIHRvSW50ZWdlciA9IHJlcXVpcmUoJy4vX3RvLWludGVnZXInKTtcbnZhciBhTnVtYmVyVmFsdWUgPSByZXF1aXJlKCcuL19hLW51bWJlci12YWx1ZScpO1xudmFyIHJlcGVhdCA9IHJlcXVpcmUoJy4vX3N0cmluZy1yZXBlYXQnKTtcbnZhciAkdG9GaXhlZCA9IDEuMC50b0ZpeGVkO1xudmFyIGZsb29yID0gTWF0aC5mbG9vcjtcbnZhciBkYXRhID0gWzAsIDAsIDAsIDAsIDAsIDBdO1xudmFyIEVSUk9SID0gJ051bWJlci50b0ZpeGVkOiBpbmNvcnJlY3QgaW52b2NhdGlvbiEnO1xudmFyIFpFUk8gPSAnMCc7XG5cbnZhciBtdWx0aXBseSA9IGZ1bmN0aW9uIChuLCBjKSB7XG4gIHZhciBpID0gLTE7XG4gIHZhciBjMiA9IGM7XG4gIHdoaWxlICgrK2kgPCA2KSB7XG4gICAgYzIgKz0gbiAqIGRhdGFbaV07XG4gICAgZGF0YVtpXSA9IGMyICUgMWU3O1xuICAgIGMyID0gZmxvb3IoYzIgLyAxZTcpO1xuICB9XG59O1xudmFyIGRpdmlkZSA9IGZ1bmN0aW9uIChuKSB7XG4gIHZhciBpID0gNjtcbiAgdmFyIGMgPSAwO1xuICB3aGlsZSAoLS1pID49IDApIHtcbiAgICBjICs9IGRhdGFbaV07XG4gICAgZGF0YVtpXSA9IGZsb29yKGMgLyBuKTtcbiAgICBjID0gKGMgJSBuKSAqIDFlNztcbiAgfVxufTtcbnZhciBudW1Ub1N0cmluZyA9IGZ1bmN0aW9uICgpIHtcbiAgdmFyIGkgPSA2O1xuICB2YXIgcyA9ICcnO1xuICB3aGlsZSAoLS1pID49IDApIHtcbiAgICBpZiAocyAhPT0gJycgfHwgaSA9PT0gMCB8fCBkYXRhW2ldICE9PSAwKSB7XG4gICAgICB2YXIgdCA9IFN0cmluZyhkYXRhW2ldKTtcbiAgICAgIHMgPSBzID09PSAnJyA/IHQgOiBzICsgcmVwZWF0LmNhbGwoWkVSTywgNyAtIHQubGVuZ3RoKSArIHQ7XG4gICAgfVxuICB9IHJldHVybiBzO1xufTtcbnZhciBwb3cgPSBmdW5jdGlvbiAoeCwgbiwgYWNjKSB7XG4gIHJldHVybiBuID09PSAwID8gYWNjIDogbiAlIDIgPT09IDEgPyBwb3coeCwgbiAtIDEsIGFjYyAqIHgpIDogcG93KHggKiB4LCBuIC8gMiwgYWNjKTtcbn07XG52YXIgbG9nID0gZnVuY3Rpb24gKHgpIHtcbiAgdmFyIG4gPSAwO1xuICB2YXIgeDIgPSB4O1xuICB3aGlsZSAoeDIgPj0gNDA5Nikge1xuICAgIG4gKz0gMTI7XG4gICAgeDIgLz0gNDA5NjtcbiAgfVxuICB3aGlsZSAoeDIgPj0gMikge1xuICAgIG4gKz0gMTtcbiAgICB4MiAvPSAyO1xuICB9IHJldHVybiBuO1xufTtcblxuJGV4cG9ydCgkZXhwb3J0LlAgKyAkZXhwb3J0LkYgKiAoISEkdG9GaXhlZCAmJiAoXG4gIDAuMDAwMDgudG9GaXhlZCgzKSAhPT0gJzAuMDAwJyB8fFxuICAwLjkudG9GaXhlZCgwKSAhPT0gJzEnIHx8XG4gIDEuMjU1LnRvRml4ZWQoMikgIT09ICcxLjI1JyB8fFxuICAxMDAwMDAwMDAwMDAwMDAwMTI4LjAudG9GaXhlZCgwKSAhPT0gJzEwMDAwMDAwMDAwMDAwMDAxMjgnXG4pIHx8ICFyZXF1aXJlKCcuL19mYWlscycpKGZ1bmN0aW9uICgpIHtcbiAgLy8gVjggfiBBbmRyb2lkIDQuMy1cbiAgJHRvRml4ZWQuY2FsbCh7fSk7XG59KSksICdOdW1iZXInLCB7XG4gIHRvRml4ZWQ6IGZ1bmN0aW9uIHRvRml4ZWQoZnJhY3Rpb25EaWdpdHMpIHtcbiAgICB2YXIgeCA9IGFOdW1iZXJWYWx1ZSh0aGlzLCBFUlJPUik7XG4gICAgdmFyIGYgPSB0b0ludGVnZXIoZnJhY3Rpb25EaWdpdHMpO1xuICAgIHZhciBzID0gJyc7XG4gICAgdmFyIG0gPSBaRVJPO1xuICAgIHZhciBlLCB6LCBqLCBrO1xuICAgIGlmIChmIDwgMCB8fCBmID4gMjApIHRocm93IFJhbmdlRXJyb3IoRVJST1IpO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1zZWxmLWNvbXBhcmVcbiAgICBpZiAoeCAhPSB4KSByZXR1cm4gJ05hTic7XG4gICAgaWYgKHggPD0gLTFlMjEgfHwgeCA+PSAxZTIxKSByZXR1cm4gU3RyaW5nKHgpO1xuICAgIGlmICh4IDwgMCkge1xuICAgICAgcyA9ICctJztcbiAgICAgIHggPSAteDtcbiAgICB9XG4gICAgaWYgKHggPiAxZS0yMSkge1xuICAgICAgZSA9IGxvZyh4ICogcG93KDIsIDY5LCAxKSkgLSA2OTtcbiAgICAgIHogPSBlIDwgMCA/IHggKiBwb3coMiwgLWUsIDEpIDogeCAvIHBvdygyLCBlLCAxKTtcbiAgICAgIHogKj0gMHgxMDAwMDAwMDAwMDAwMDtcbiAgICAgIGUgPSA1MiAtIGU7XG4gICAgICBpZiAoZSA+IDApIHtcbiAgICAgICAgbXVsdGlwbHkoMCwgeik7XG4gICAgICAgIGogPSBmO1xuICAgICAgICB3aGlsZSAoaiA+PSA3KSB7XG4gICAgICAgICAgbXVsdGlwbHkoMWU3LCAwKTtcbiAgICAgICAgICBqIC09IDc7XG4gICAgICAgIH1cbiAgICAgICAgbXVsdGlwbHkocG93KDEwLCBqLCAxKSwgMCk7XG4gICAgICAgIGogPSBlIC0gMTtcbiAgICAgICAgd2hpbGUgKGogPj0gMjMpIHtcbiAgICAgICAgICBkaXZpZGUoMSA8PCAyMyk7XG4gICAgICAgICAgaiAtPSAyMztcbiAgICAgICAgfVxuICAgICAgICBkaXZpZGUoMSA8PCBqKTtcbiAgICAgICAgbXVsdGlwbHkoMSwgMSk7XG4gICAgICAgIGRpdmlkZSgyKTtcbiAgICAgICAgbSA9IG51bVRvU3RyaW5nKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBtdWx0aXBseSgwLCB6KTtcbiAgICAgICAgbXVsdGlwbHkoMSA8PCAtZSwgMCk7XG4gICAgICAgIG0gPSBudW1Ub1N0cmluZygpICsgcmVwZWF0LmNhbGwoWkVSTywgZik7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChmID4gMCkge1xuICAgICAgayA9IG0ubGVuZ3RoO1xuICAgICAgbSA9IHMgKyAoayA8PSBmID8gJzAuJyArIHJlcGVhdC5jYWxsKFpFUk8sIGYgLSBrKSArIG0gOiBtLnNsaWNlKDAsIGsgLSBmKSArICcuJyArIG0uc2xpY2UoayAtIGYpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgbSA9IHMgKyBtO1xuICAgIH0gcmV0dXJuIG07XG4gIH1cbn0pO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/es6.number.to-fixed.js\n"); /***/ }), /***/ "./node_modules/core-js/modules/es6.number.to-precision.js": /*!*****************************************************************!*\ !*** ./node_modules/core-js/modules/es6.number.to-precision.js ***! \*****************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; eval("\nvar $export = __webpack_require__(/*! ./_export */ \"./node_modules/core-js/modules/_export.js\");\nvar $fails = __webpack_require__(/*! ./_fails */ \"./node_modules/core-js/modules/_fails.js\");\nvar aNumberValue = __webpack_require__(/*! ./_a-number-value */ \"./node_modules/core-js/modules/_a-number-value.js\");\nvar $toPrecision = 1.0.toPrecision;\n\n$export($export.P + $export.F * ($fails(function () {\n // IE7-\n return $toPrecision.call(1, undefined) !== '1';\n}) || !$fails(function () {\n // V8 ~ Android 4.3-\n $toPrecision.call({});\n})), 'Number', {\n toPrecision: function toPrecision(precision) {\n var that = aNumberValue(this, 'Number#toPrecision: incorrect invocation!');\n return precision === undefined ? $toPrecision.call(that) : $toPrecision.call(that, precision);\n }\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5udW1iZXIudG8tcHJlY2lzaW9uLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYubnVtYmVyLnRvLXByZWNpc2lvbi5qcz81NGE4Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcbnZhciAkZXhwb3J0ID0gcmVxdWlyZSgnLi9fZXhwb3J0Jyk7XG52YXIgJGZhaWxzID0gcmVxdWlyZSgnLi9fZmFpbHMnKTtcbnZhciBhTnVtYmVyVmFsdWUgPSByZXF1aXJlKCcuL19hLW51bWJlci12YWx1ZScpO1xudmFyICR0b1ByZWNpc2lvbiA9IDEuMC50b1ByZWNpc2lvbjtcblxuJGV4cG9ydCgkZXhwb3J0LlAgKyAkZXhwb3J0LkYgKiAoJGZhaWxzKGZ1bmN0aW9uICgpIHtcbiAgLy8gSUU3LVxuICByZXR1cm4gJHRvUHJlY2lzaW9uLmNhbGwoMSwgdW5kZWZpbmVkKSAhPT0gJzEnO1xufSkgfHwgISRmYWlscyhmdW5jdGlvbiAoKSB7XG4gIC8vIFY4IH4gQW5kcm9pZCA0LjMtXG4gICR0b1ByZWNpc2lvbi5jYWxsKHt9KTtcbn0pKSwgJ051bWJlcicsIHtcbiAgdG9QcmVjaXNpb246IGZ1bmN0aW9uIHRvUHJlY2lzaW9uKHByZWNpc2lvbikge1xuICAgIHZhciB0aGF0ID0gYU51bWJlclZhbHVlKHRoaXMsICdOdW1iZXIjdG9QcmVjaXNpb246IGluY29ycmVjdCBpbnZvY2F0aW9uIScpO1xuICAgIHJldHVybiBwcmVjaXNpb24gPT09IHVuZGVmaW5lZCA/ICR0b1ByZWNpc2lvbi5jYWxsKHRoYXQpIDogJHRvUHJlY2lzaW9uLmNhbGwodGhhdCwgcHJlY2lzaW9uKTtcbiAgfVxufSk7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/es6.number.to-precision.js\n"); /***/ }), /***/ "./node_modules/core-util-is/lib/util.js": /*!***********************************************!*\ !*** ./node_modules/core-util-is/lib/util.js ***! \***********************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("/* WEBPACK VAR INJECTION */(function(Buffer) {// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// NOTE: These type checking functions intentionally don't use `instanceof`\n// because it is fragile and can be easily faked with `Object.create()`.\n\nfunction isArray(arg) {\n if (Array.isArray) {\n return Array.isArray(arg);\n }\n return objectToString(arg) === '[object Array]';\n}\nexports.isArray = isArray;\n\nfunction isBoolean(arg) {\n return typeof arg === 'boolean';\n}\nexports.isBoolean = isBoolean;\n\nfunction isNull(arg) {\n return arg === null;\n}\nexports.isNull = isNull;\n\nfunction isNullOrUndefined(arg) {\n return arg == null;\n}\nexports.isNullOrUndefined = isNullOrUndefined;\n\nfunction isNumber(arg) {\n return typeof arg === 'number';\n}\nexports.isNumber = isNumber;\n\nfunction isString(arg) {\n return typeof arg === 'string';\n}\nexports.isString = isString;\n\nfunction isSymbol(arg) {\n return typeof arg === 'symbol';\n}\nexports.isSymbol = isSymbol;\n\nfunction isUndefined(arg) {\n return arg === void 0;\n}\nexports.isUndefined = isUndefined;\n\nfunction isRegExp(re) {\n return objectToString(re) === '[object RegExp]';\n}\nexports.isRegExp = isRegExp;\n\nfunction isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n}\nexports.isObject = isObject;\n\nfunction isDate(d) {\n return objectToString(d) === '[object Date]';\n}\nexports.isDate = isDate;\n\nfunction isError(e) {\n return (objectToString(e) === '[object Error]' || e instanceof Error);\n}\nexports.isError = isError;\n\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\nexports.isFunction = isFunction;\n\nfunction isPrimitive(arg) {\n return arg === null ||\n typeof arg === 'boolean' ||\n typeof arg === 'number' ||\n typeof arg === 'string' ||\n typeof arg === 'symbol' || // ES6 symbol\n typeof arg === 'undefined';\n}\nexports.isPrimitive = isPrimitive;\n\nexports.isBuffer = Buffer.isBuffer;\n\nfunction objectToString(o) {\n return Object.prototype.toString.call(o);\n}\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../buffer/index.js */ \"./node_modules/buffer/index.js\").Buffer))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS11dGlsLWlzL2xpYi91dGlsLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtdXRpbC1pcy9saWIvdXRpbC5qcz8zYTdjIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCBKb3llbnQsIEluYy4gYW5kIG90aGVyIE5vZGUgY29udHJpYnV0b3JzLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhXG4vLyBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlXG4vLyBcIlNvZnR3YXJlXCIpLCB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmdcbi8vIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCxcbi8vIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXRcbi8vIHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZVxuLy8gZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWRcbi8vIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1Ncbi8vIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0Zcbi8vIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU5cbi8vIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLFxuLy8gREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SXG4vLyBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFXG4vLyBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLlxuXG4vLyBOT1RFOiBUaGVzZSB0eXBlIGNoZWNraW5nIGZ1bmN0aW9ucyBpbnRlbnRpb25hbGx5IGRvbid0IHVzZSBgaW5zdGFuY2VvZmBcbi8vIGJlY2F1c2UgaXQgaXMgZnJhZ2lsZSBhbmQgY2FuIGJlIGVhc2lseSBmYWtlZCB3aXRoIGBPYmplY3QuY3JlYXRlKClgLlxuXG5mdW5jdGlvbiBpc0FycmF5KGFyZykge1xuICBpZiAoQXJyYXkuaXNBcnJheSkge1xuICAgIHJldHVybiBBcnJheS5pc0FycmF5KGFyZyk7XG4gIH1cbiAgcmV0dXJuIG9iamVjdFRvU3RyaW5nKGFyZykgPT09ICdbb2JqZWN0IEFycmF5XSc7XG59XG5leHBvcnRzLmlzQXJyYXkgPSBpc0FycmF5O1xuXG5mdW5jdGlvbiBpc0Jvb2xlYW4oYXJnKSB7XG4gIHJldHVybiB0eXBlb2YgYXJnID09PSAnYm9vbGVhbic7XG59XG5leHBvcnRzLmlzQm9vbGVhbiA9IGlzQm9vbGVhbjtcblxuZnVuY3Rpb24gaXNOdWxsKGFyZykge1xuICByZXR1cm4gYXJnID09PSBudWxsO1xufVxuZXhwb3J0cy5pc051bGwgPSBpc051bGw7XG5cbmZ1bmN0aW9uIGlzTnVsbE9yVW5kZWZpbmVkKGFyZykge1xuICByZXR1cm4gYXJnID09IG51bGw7XG59XG5leHBvcnRzLmlzTnVsbE9yVW5kZWZpbmVkID0gaXNOdWxsT3JVbmRlZmluZWQ7XG5cbmZ1bmN0aW9uIGlzTnVtYmVyKGFyZykge1xuICByZXR1cm4gdHlwZW9mIGFyZyA9PT0gJ251bWJlcic7XG59XG5leHBvcnRzLmlzTnVtYmVyID0gaXNOdW1iZXI7XG5cbmZ1bmN0aW9uIGlzU3RyaW5nKGFyZykge1xuICByZXR1cm4gdHlwZW9mIGFyZyA9PT0gJ3N0cmluZyc7XG59XG5leHBvcnRzLmlzU3RyaW5nID0gaXNTdHJpbmc7XG5cbmZ1bmN0aW9uIGlzU3ltYm9sKGFyZykge1xuICByZXR1cm4gdHlwZW9mIGFyZyA9PT0gJ3N5bWJvbCc7XG59XG5leHBvcnRzLmlzU3ltYm9sID0gaXNTeW1ib2w7XG5cbmZ1bmN0aW9uIGlzVW5kZWZpbmVkKGFyZykge1xuICByZXR1cm4gYXJnID09PSB2b2lkIDA7XG59XG5leHBvcnRzLmlzVW5kZWZpbmVkID0gaXNVbmRlZmluZWQ7XG5cbmZ1bmN0aW9uIGlzUmVnRXhwKHJlKSB7XG4gIHJldHVybiBvYmplY3RUb1N0cmluZyhyZSkgPT09ICdbb2JqZWN0IFJlZ0V4cF0nO1xufVxuZXhwb3J0cy5pc1JlZ0V4cCA9IGlzUmVnRXhwO1xuXG5mdW5jdGlvbiBpc09iamVjdChhcmcpIHtcbiAgcmV0dXJuIHR5cGVvZiBhcmcgPT09ICdvYmplY3QnICYmIGFyZyAhPT0gbnVsbDtcbn1cbmV4cG9ydHMuaXNPYmplY3QgPSBpc09iamVjdDtcblxuZnVuY3Rpb24gaXNEYXRlKGQpIHtcbiAgcmV0dXJuIG9iamVjdFRvU3RyaW5nKGQpID09PSAnW29iamVjdCBEYXRlXSc7XG59XG5leHBvcnRzLmlzRGF0ZSA9IGlzRGF0ZTtcblxuZnVuY3Rpb24gaXNFcnJvcihlKSB7XG4gIHJldHVybiAob2JqZWN0VG9TdHJpbmcoZSkgPT09ICdbb2JqZWN0IEVycm9yXScgfHwgZSBpbnN0YW5jZW9mIEVycm9yKTtcbn1cbmV4cG9ydHMuaXNFcnJvciA9IGlzRXJyb3I7XG5cbmZ1bmN0aW9uIGlzRnVuY3Rpb24oYXJnKSB7XG4gIHJldHVybiB0eXBlb2YgYXJnID09PSAnZnVuY3Rpb24nO1xufVxuZXhwb3J0cy5pc0Z1bmN0aW9uID0gaXNGdW5jdGlvbjtcblxuZnVuY3Rpb24gaXNQcmltaXRpdmUoYXJnKSB7XG4gIHJldHVybiBhcmcgPT09IG51bGwgfHxcbiAgICAgICAgIHR5cGVvZiBhcmcgPT09ICdib29sZWFuJyB8fFxuICAgICAgICAgdHlwZW9mIGFyZyA9PT0gJ251bWJlcicgfHxcbiAgICAgICAgIHR5cGVvZiBhcmcgPT09ICdzdHJpbmcnIHx8XG4gICAgICAgICB0eXBlb2YgYXJnID09PSAnc3ltYm9sJyB8fCAgLy8gRVM2IHN5bWJvbFxuICAgICAgICAgdHlwZW9mIGFyZyA9PT0gJ3VuZGVmaW5lZCc7XG59XG5leHBvcnRzLmlzUHJpbWl0aXZlID0gaXNQcmltaXRpdmU7XG5cbmV4cG9ydHMuaXNCdWZmZXIgPSBCdWZmZXIuaXNCdWZmZXI7XG5cbmZ1bmN0aW9uIG9iamVjdFRvU3RyaW5nKG8pIHtcbiAgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChvKTtcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/core-util-is/lib/util.js\n"); /***/ }), /***/ "./node_modules/create-react-class/factory.js": /*!****************************************************!*\ !*** ./node_modules/create-react-class/factory.js ***! \****************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n\n\nvar _assign = __webpack_require__(/*! object-assign */ \"./node_modules/object-assign/index.js\");\n\n// -- Inlined from fbjs --\n\nvar emptyObject = {};\n\nif (true) {\n Object.freeze(emptyObject);\n}\n\nvar validateFormat = function validateFormat(format) {};\n\nif (true) {\n validateFormat = function validateFormat(format) {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n };\n}\n\nfunction _invariant(condition, format, a, b, c, d, e, f) {\n validateFormat(format);\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(format.replace(/%s/g, function () {\n return args[argIndex++];\n }));\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n}\n\nvar warning = function(){};\n\nif (true) {\n var printWarning = function printWarning(format) {\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n var argIndex = 0;\n var message = 'Warning: ' + format.replace(/%s/g, function () {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n\n warning = function warning(condition, format) {\n if (format === undefined) {\n throw new Error('`warning(condition, format, ...args)` requires a warning ' + 'message argument');\n }\n\n if (format.indexOf('Failed Composite propType: ') === 0) {\n return; // Ignore CompositeComponent proptype check.\n }\n\n if (!condition) {\n for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {\n args[_key2 - 2] = arguments[_key2];\n }\n\n printWarning.apply(undefined, [format].concat(args));\n }\n };\n}\n\n// /-- Inlined from fbjs --\n\nvar MIXINS_KEY = 'mixins';\n\n// Helper function to allow the creation of anonymous functions which do not\n// have .name set to the name of the variable being assigned to.\nfunction identity(fn) {\n return fn;\n}\n\nvar ReactPropTypeLocationNames;\nif (true) {\n ReactPropTypeLocationNames = {\n prop: 'prop',\n context: 'context',\n childContext: 'child context'\n };\n} else {}\n\nfunction factory(ReactComponent, isValidElement, ReactNoopUpdateQueue) {\n /**\n * Policies that describe methods in `ReactClassInterface`.\n */\n\n var injectedMixins = [];\n\n /**\n * Composite components are higher-level components that compose other composite\n * or host components.\n *\n * To create a new type of `ReactClass`, pass a specification of\n * your new class to `React.createClass`. The only requirement of your class\n * specification is that you implement a `render` method.\n *\n * var MyComponent = React.createClass({\n * render: function() {\n * return
Hello World
;\n * }\n * });\n *\n * The class specification supports a specific protocol of methods that have\n * special meaning (e.g. `render`). See `ReactClassInterface` for\n * more the comprehensive protocol. Any other properties and methods in the\n * class specification will be available on the prototype.\n *\n * @interface ReactClassInterface\n * @internal\n */\n var ReactClassInterface = {\n /**\n * An array of Mixin objects to include when defining your component.\n *\n * @type {array}\n * @optional\n */\n mixins: 'DEFINE_MANY',\n\n /**\n * An object containing properties and methods that should be defined on\n * the component's constructor instead of its prototype (static methods).\n *\n * @type {object}\n * @optional\n */\n statics: 'DEFINE_MANY',\n\n /**\n * Definition of prop types for this component.\n *\n * @type {object}\n * @optional\n */\n propTypes: 'DEFINE_MANY',\n\n /**\n * Definition of context types for this component.\n *\n * @type {object}\n * @optional\n */\n contextTypes: 'DEFINE_MANY',\n\n /**\n * Definition of context types this component sets for its children.\n *\n * @type {object}\n * @optional\n */\n childContextTypes: 'DEFINE_MANY',\n\n // ==== Definition methods ====\n\n /**\n * Invoked when the component is mounted. Values in the mapping will be set on\n * `this.props` if that prop is not specified (i.e. using an `in` check).\n *\n * This method is invoked before `getInitialState` and therefore cannot rely\n * on `this.state` or use `this.setState`.\n *\n * @return {object}\n * @optional\n */\n getDefaultProps: 'DEFINE_MANY_MERGED',\n\n /**\n * Invoked once before the component is mounted. The return value will be used\n * as the initial value of `this.state`.\n *\n * getInitialState: function() {\n * return {\n * isOn: false,\n * fooBaz: new BazFoo()\n * }\n * }\n *\n * @return {object}\n * @optional\n */\n getInitialState: 'DEFINE_MANY_MERGED',\n\n /**\n * @return {object}\n * @optional\n */\n getChildContext: 'DEFINE_MANY_MERGED',\n\n /**\n * Uses props from `this.props` and state from `this.state` to render the\n * structure of the component.\n *\n * No guarantees are made about when or how often this method is invoked, so\n * it must not have side effects.\n *\n * render: function() {\n * var name = this.props.name;\n * return
Hello, {name}!
;\n * }\n *\n * @return {ReactComponent}\n * @required\n */\n render: 'DEFINE_ONCE',\n\n // ==== Delegate methods ====\n\n /**\n * Invoked when the component is initially created and about to be mounted.\n * This may have side effects, but any external subscriptions or data created\n * by this method must be cleaned up in `componentWillUnmount`.\n *\n * @optional\n */\n componentWillMount: 'DEFINE_MANY',\n\n /**\n * Invoked when the component has been mounted and has a DOM representation.\n * However, there is no guarantee that the DOM node is in the document.\n *\n * Use this as an opportunity to operate on the DOM when the component has\n * been mounted (initialized and rendered) for the first time.\n *\n * @param {DOMElement} rootNode DOM element representing the component.\n * @optional\n */\n componentDidMount: 'DEFINE_MANY',\n\n /**\n * Invoked before the component receives new props.\n *\n * Use this as an opportunity to react to a prop transition by updating the\n * state using `this.setState`. Current props are accessed via `this.props`.\n *\n * componentWillReceiveProps: function(nextProps, nextContext) {\n * this.setState({\n * likesIncreasing: nextProps.likeCount > this.props.likeCount\n * });\n * }\n *\n * NOTE: There is no equivalent `componentWillReceiveState`. An incoming prop\n * transition may cause a state change, but the opposite is not true. If you\n * need it, you are probably looking for `componentWillUpdate`.\n *\n * @param {object} nextProps\n * @optional\n */\n componentWillReceiveProps: 'DEFINE_MANY',\n\n /**\n * Invoked while deciding if the component should be updated as a result of\n * receiving new props, state and/or context.\n *\n * Use this as an opportunity to `return false` when you're certain that the\n * transition to the new props/state/context will not require a component\n * update.\n *\n * shouldComponentUpdate: function(nextProps, nextState, nextContext) {\n * return !equal(nextProps, this.props) ||\n * !equal(nextState, this.state) ||\n * !equal(nextContext, this.context);\n * }\n *\n * @param {object} nextProps\n * @param {?object} nextState\n * @param {?object} nextContext\n * @return {boolean} True if the component should update.\n * @optional\n */\n shouldComponentUpdate: 'DEFINE_ONCE',\n\n /**\n * Invoked when the component is about to update due to a transition from\n * `this.props`, `this.state` and `this.context` to `nextProps`, `nextState`\n * and `nextContext`.\n *\n * Use this as an opportunity to perform preparation before an update occurs.\n *\n * NOTE: You **cannot** use `this.setState()` in this method.\n *\n * @param {object} nextProps\n * @param {?object} nextState\n * @param {?object} nextContext\n * @param {ReactReconcileTransaction} transaction\n * @optional\n */\n componentWillUpdate: 'DEFINE_MANY',\n\n /**\n * Invoked when the component's DOM representation has been updated.\n *\n * Use this as an opportunity to operate on the DOM when the component has\n * been updated.\n *\n * @param {object} prevProps\n * @param {?object} prevState\n * @param {?object} prevContext\n * @param {DOMElement} rootNode DOM element representing the component.\n * @optional\n */\n componentDidUpdate: 'DEFINE_MANY',\n\n /**\n * Invoked when the component is about to be removed from its parent and have\n * its DOM representation destroyed.\n *\n * Use this as an opportunity to deallocate any external resources.\n *\n * NOTE: There is no `componentDidUnmount` since your component will have been\n * destroyed by that point.\n *\n * @optional\n */\n componentWillUnmount: 'DEFINE_MANY',\n\n /**\n * Replacement for (deprecated) `componentWillMount`.\n *\n * @optional\n */\n UNSAFE_componentWillMount: 'DEFINE_MANY',\n\n /**\n * Replacement for (deprecated) `componentWillReceiveProps`.\n *\n * @optional\n */\n UNSAFE_componentWillReceiveProps: 'DEFINE_MANY',\n\n /**\n * Replacement for (deprecated) `componentWillUpdate`.\n *\n * @optional\n */\n UNSAFE_componentWillUpdate: 'DEFINE_MANY',\n\n // ==== Advanced methods ====\n\n /**\n * Updates the component's currently mounted DOM representation.\n *\n * By default, this implements React's rendering and reconciliation algorithm.\n * Sophisticated clients may wish to override this.\n *\n * @param {ReactReconcileTransaction} transaction\n * @internal\n * @overridable\n */\n updateComponent: 'OVERRIDE_BASE'\n };\n\n /**\n * Similar to ReactClassInterface but for static methods.\n */\n var ReactClassStaticInterface = {\n /**\n * This method is invoked after a component is instantiated and when it\n * receives new props. Return an object to update state in response to\n * prop changes. Return null to indicate no change to state.\n *\n * If an object is returned, its keys will be merged into the existing state.\n *\n * @return {object || null}\n * @optional\n */\n getDerivedStateFromProps: 'DEFINE_MANY_MERGED'\n };\n\n /**\n * Mapping from class specification keys to special processing functions.\n *\n * Although these are declared like instance properties in the specification\n * when defining classes using `React.createClass`, they are actually static\n * and are accessible on the constructor instead of the prototype. Despite\n * being static, they must be defined outside of the \"statics\" key under\n * which all other static methods are defined.\n */\n var RESERVED_SPEC_KEYS = {\n displayName: function(Constructor, displayName) {\n Constructor.displayName = displayName;\n },\n mixins: function(Constructor, mixins) {\n if (mixins) {\n for (var i = 0; i < mixins.length; i++) {\n mixSpecIntoComponent(Constructor, mixins[i]);\n }\n }\n },\n childContextTypes: function(Constructor, childContextTypes) {\n if (true) {\n validateTypeDef(Constructor, childContextTypes, 'childContext');\n }\n Constructor.childContextTypes = _assign(\n {},\n Constructor.childContextTypes,\n childContextTypes\n );\n },\n contextTypes: function(Constructor, contextTypes) {\n if (true) {\n validateTypeDef(Constructor, contextTypes, 'context');\n }\n Constructor.contextTypes = _assign(\n {},\n Constructor.contextTypes,\n contextTypes\n );\n },\n /**\n * Special case getDefaultProps which should move into statics but requires\n * automatic merging.\n */\n getDefaultProps: function(Constructor, getDefaultProps) {\n if (Constructor.getDefaultProps) {\n Constructor.getDefaultProps = createMergedResultFunction(\n Constructor.getDefaultProps,\n getDefaultProps\n );\n } else {\n Constructor.getDefaultProps = getDefaultProps;\n }\n },\n propTypes: function(Constructor, propTypes) {\n if (true) {\n validateTypeDef(Constructor, propTypes, 'prop');\n }\n Constructor.propTypes = _assign({}, Constructor.propTypes, propTypes);\n },\n statics: function(Constructor, statics) {\n mixStaticSpecIntoComponent(Constructor, statics);\n },\n autobind: function() {}\n };\n\n function validateTypeDef(Constructor, typeDef, location) {\n for (var propName in typeDef) {\n if (typeDef.hasOwnProperty(propName)) {\n // use a warning instead of an _invariant so components\n // don't show up in prod but only in __DEV__\n if (true) {\n warning(\n typeof typeDef[propName] === 'function',\n '%s: %s type `%s` is invalid; it must be a function, usually from ' +\n 'React.PropTypes.',\n Constructor.displayName || 'ReactClass',\n ReactPropTypeLocationNames[location],\n propName\n );\n }\n }\n }\n }\n\n function validateMethodOverride(isAlreadyDefined, name) {\n var specPolicy = ReactClassInterface.hasOwnProperty(name)\n ? ReactClassInterface[name]\n : null;\n\n // Disallow overriding of base class methods unless explicitly allowed.\n if (ReactClassMixin.hasOwnProperty(name)) {\n _invariant(\n specPolicy === 'OVERRIDE_BASE',\n 'ReactClassInterface: You are attempting to override ' +\n '`%s` from your class specification. Ensure that your method names ' +\n 'do not overlap with React methods.',\n name\n );\n }\n\n // Disallow defining methods more than once unless explicitly allowed.\n if (isAlreadyDefined) {\n _invariant(\n specPolicy === 'DEFINE_MANY' || specPolicy === 'DEFINE_MANY_MERGED',\n 'ReactClassInterface: You are attempting to define ' +\n '`%s` on your component more than once. This conflict may be due ' +\n 'to a mixin.',\n name\n );\n }\n }\n\n /**\n * Mixin helper which handles policy validation and reserved\n * specification keys when building React classes.\n */\n function mixSpecIntoComponent(Constructor, spec) {\n if (!spec) {\n if (true) {\n var typeofSpec = typeof spec;\n var isMixinValid = typeofSpec === 'object' && spec !== null;\n\n if (true) {\n warning(\n isMixinValid,\n \"%s: You're attempting to include a mixin that is either null \" +\n 'or not an object. Check the mixins included by the component, ' +\n 'as well as any mixins they include themselves. ' +\n 'Expected object but got %s.',\n Constructor.displayName || 'ReactClass',\n spec === null ? null : typeofSpec\n );\n }\n }\n\n return;\n }\n\n _invariant(\n typeof spec !== 'function',\n \"ReactClass: You're attempting to \" +\n 'use a component class or function as a mixin. Instead, just use a ' +\n 'regular object.'\n );\n _invariant(\n !isValidElement(spec),\n \"ReactClass: You're attempting to \" +\n 'use a component as a mixin. Instead, just use a regular object.'\n );\n\n var proto = Constructor.prototype;\n var autoBindPairs = proto.__reactAutoBindPairs;\n\n // By handling mixins before any other properties, we ensure the same\n // chaining order is applied to methods with DEFINE_MANY policy, whether\n // mixins are listed before or after these methods in the spec.\n if (spec.hasOwnProperty(MIXINS_KEY)) {\n RESERVED_SPEC_KEYS.mixins(Constructor, spec.mixins);\n }\n\n for (var name in spec) {\n if (!spec.hasOwnProperty(name)) {\n continue;\n }\n\n if (name === MIXINS_KEY) {\n // We have already handled mixins in a special case above.\n continue;\n }\n\n var property = spec[name];\n var isAlreadyDefined = proto.hasOwnProperty(name);\n validateMethodOverride(isAlreadyDefined, name);\n\n if (RESERVED_SPEC_KEYS.hasOwnProperty(name)) {\n RESERVED_SPEC_KEYS[name](Constructor, property);\n } else {\n // Setup methods on prototype:\n // The following member methods should not be automatically bound:\n // 1. Expected ReactClass methods (in the \"interface\").\n // 2. Overridden methods (that were mixed in).\n var isReactClassMethod = ReactClassInterface.hasOwnProperty(name);\n var isFunction = typeof property === 'function';\n var shouldAutoBind =\n isFunction &&\n !isReactClassMethod &&\n !isAlreadyDefined &&\n spec.autobind !== false;\n\n if (shouldAutoBind) {\n autoBindPairs.push(name, property);\n proto[name] = property;\n } else {\n if (isAlreadyDefined) {\n var specPolicy = ReactClassInterface[name];\n\n // These cases should already be caught by validateMethodOverride.\n _invariant(\n isReactClassMethod &&\n (specPolicy === 'DEFINE_MANY_MERGED' ||\n specPolicy === 'DEFINE_MANY'),\n 'ReactClass: Unexpected spec policy %s for key %s ' +\n 'when mixing in component specs.',\n specPolicy,\n name\n );\n\n // For methods which are defined more than once, call the existing\n // methods before calling the new property, merging if appropriate.\n if (specPolicy === 'DEFINE_MANY_MERGED') {\n proto[name] = createMergedResultFunction(proto[name], property);\n } else if (specPolicy === 'DEFINE_MANY') {\n proto[name] = createChainedFunction(proto[name], property);\n }\n } else {\n proto[name] = property;\n if (true) {\n // Add verbose displayName to the function, which helps when looking\n // at profiling tools.\n if (typeof property === 'function' && spec.displayName) {\n proto[name].displayName = spec.displayName + '_' + name;\n }\n }\n }\n }\n }\n }\n }\n\n function mixStaticSpecIntoComponent(Constructor, statics) {\n if (!statics) {\n return;\n }\n\n for (var name in statics) {\n var property = statics[name];\n if (!statics.hasOwnProperty(name)) {\n continue;\n }\n\n var isReserved = name in RESERVED_SPEC_KEYS;\n _invariant(\n !isReserved,\n 'ReactClass: You are attempting to define a reserved ' +\n 'property, `%s`, that shouldn\\'t be on the \"statics\" key. Define it ' +\n 'as an instance property instead; it will still be accessible on the ' +\n 'constructor.',\n name\n );\n\n var isAlreadyDefined = name in Constructor;\n if (isAlreadyDefined) {\n var specPolicy = ReactClassStaticInterface.hasOwnProperty(name)\n ? ReactClassStaticInterface[name]\n : null;\n\n _invariant(\n specPolicy === 'DEFINE_MANY_MERGED',\n 'ReactClass: You are attempting to define ' +\n '`%s` on your component more than once. This conflict may be ' +\n 'due to a mixin.',\n name\n );\n\n Constructor[name] = createMergedResultFunction(Constructor[name], property);\n\n return;\n }\n\n Constructor[name] = property;\n }\n }\n\n /**\n * Merge two objects, but throw if both contain the same key.\n *\n * @param {object} one The first object, which is mutated.\n * @param {object} two The second object\n * @return {object} one after it has been mutated to contain everything in two.\n */\n function mergeIntoWithNoDuplicateKeys(one, two) {\n _invariant(\n one && two && typeof one === 'object' && typeof two === 'object',\n 'mergeIntoWithNoDuplicateKeys(): Cannot merge non-objects.'\n );\n\n for (var key in two) {\n if (two.hasOwnProperty(key)) {\n _invariant(\n one[key] === undefined,\n 'mergeIntoWithNoDuplicateKeys(): ' +\n 'Tried to merge two objects with the same key: `%s`. This conflict ' +\n 'may be due to a mixin; in particular, this may be caused by two ' +\n 'getInitialState() or getDefaultProps() methods returning objects ' +\n 'with clashing keys.',\n key\n );\n one[key] = two[key];\n }\n }\n return one;\n }\n\n /**\n * Creates a function that invokes two functions and merges their return values.\n *\n * @param {function} one Function to invoke first.\n * @param {function} two Function to invoke second.\n * @return {function} Function that invokes the two argument functions.\n * @private\n */\n function createMergedResultFunction(one, two) {\n return function mergedResult() {\n var a = one.apply(this, arguments);\n var b = two.apply(this, arguments);\n if (a == null) {\n return b;\n } else if (b == null) {\n return a;\n }\n var c = {};\n mergeIntoWithNoDuplicateKeys(c, a);\n mergeIntoWithNoDuplicateKeys(c, b);\n return c;\n };\n }\n\n /**\n * Creates a function that invokes two functions and ignores their return vales.\n *\n * @param {function} one Function to invoke first.\n * @param {function} two Function to invoke second.\n * @return {function} Function that invokes the two argument functions.\n * @private\n */\n function createChainedFunction(one, two) {\n return function chainedFunction() {\n one.apply(this, arguments);\n two.apply(this, arguments);\n };\n }\n\n /**\n * Binds a method to the component.\n *\n * @param {object} component Component whose method is going to be bound.\n * @param {function} method Method to be bound.\n * @return {function} The bound method.\n */\n function bindAutoBindMethod(component, method) {\n var boundMethod = method.bind(component);\n if (true) {\n boundMethod.__reactBoundContext = component;\n boundMethod.__reactBoundMethod = method;\n boundMethod.__reactBoundArguments = null;\n var componentName = component.constructor.displayName;\n var _bind = boundMethod.bind;\n boundMethod.bind = function(newThis) {\n for (\n var _len = arguments.length,\n args = Array(_len > 1 ? _len - 1 : 0),\n _key = 1;\n _key < _len;\n _key++\n ) {\n args[_key - 1] = arguments[_key];\n }\n\n // User is trying to bind() an autobound method; we effectively will\n // ignore the value of \"this\" that the user is trying to use, so\n // let's warn.\n if (newThis !== component && newThis !== null) {\n if (true) {\n warning(\n false,\n 'bind(): React component methods may only be bound to the ' +\n 'component instance. See %s',\n componentName\n );\n }\n } else if (!args.length) {\n if (true) {\n warning(\n false,\n 'bind(): You are binding a component method to the component. ' +\n 'React does this for you automatically in a high-performance ' +\n 'way, so you can safely remove this call. See %s',\n componentName\n );\n }\n return boundMethod;\n }\n var reboundMethod = _bind.apply(boundMethod, arguments);\n reboundMethod.__reactBoundContext = component;\n reboundMethod.__reactBoundMethod = method;\n reboundMethod.__reactBoundArguments = args;\n return reboundMethod;\n };\n }\n return boundMethod;\n }\n\n /**\n * Binds all auto-bound methods in a component.\n *\n * @param {object} component Component whose method is going to be bound.\n */\n function bindAutoBindMethods(component) {\n var pairs = component.__reactAutoBindPairs;\n for (var i = 0; i < pairs.length; i += 2) {\n var autoBindKey = pairs[i];\n var method = pairs[i + 1];\n component[autoBindKey] = bindAutoBindMethod(component, method);\n }\n }\n\n var IsMountedPreMixin = {\n componentDidMount: function() {\n this.__isMounted = true;\n }\n };\n\n var IsMountedPostMixin = {\n componentWillUnmount: function() {\n this.__isMounted = false;\n }\n };\n\n /**\n * Add more to the ReactClass base class. These are all legacy features and\n * therefore not already part of the modern ReactComponent.\n */\n var ReactClassMixin = {\n /**\n * TODO: This will be deprecated because state should always keep a consistent\n * type signature and the only use case for this, is to avoid that.\n */\n replaceState: function(newState, callback) {\n this.updater.enqueueReplaceState(this, newState, callback);\n },\n\n /**\n * Checks whether or not this composite component is mounted.\n * @return {boolean} True if mounted, false otherwise.\n * @protected\n * @final\n */\n isMounted: function() {\n if (true) {\n warning(\n this.__didWarnIsMounted,\n '%s: isMounted is deprecated. Instead, make sure to clean up ' +\n 'subscriptions and pending requests in componentWillUnmount to ' +\n 'prevent memory leaks.',\n (this.constructor && this.constructor.displayName) ||\n this.name ||\n 'Component'\n );\n this.__didWarnIsMounted = true;\n }\n return !!this.__isMounted;\n }\n };\n\n var ReactClassComponent = function() {};\n _assign(\n ReactClassComponent.prototype,\n ReactComponent.prototype,\n ReactClassMixin\n );\n\n /**\n * Creates a composite component class given a class specification.\n * See https://facebook.github.io/react/docs/top-level-api.html#react.createclass\n *\n * @param {object} spec Class specification (which must define `render`).\n * @return {function} Component constructor function.\n * @public\n */\n function createClass(spec) {\n // To keep our warnings more understandable, we'll use a little hack here to\n // ensure that Constructor.name !== 'Constructor'. This makes sure we don't\n // unnecessarily identify a class without displayName as 'Constructor'.\n var Constructor = identity(function(props, context, updater) {\n // This constructor gets overridden by mocks. The argument is used\n // by mocks to assert on what gets mounted.\n\n if (true) {\n warning(\n this instanceof Constructor,\n 'Something is calling a React component directly. Use a factory or ' +\n 'JSX instead. See: https://fb.me/react-legacyfactory'\n );\n }\n\n // Wire up auto-binding\n if (this.__reactAutoBindPairs.length) {\n bindAutoBindMethods(this);\n }\n\n this.props = props;\n this.context = context;\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n\n this.state = null;\n\n // ReactClasses doesn't have constructors. Instead, they use the\n // getInitialState and componentWillMount methods for initialization.\n\n var initialState = this.getInitialState ? this.getInitialState() : null;\n if (true) {\n // We allow auto-mocks to proceed as if they're returning null.\n if (\n initialState === undefined &&\n this.getInitialState._isMockFunction\n ) {\n // This is probably bad practice. Consider warning here and\n // deprecating this convenience.\n initialState = null;\n }\n }\n _invariant(\n typeof initialState === 'object' && !Array.isArray(initialState),\n '%s.getInitialState(): must return an object or null',\n Constructor.displayName || 'ReactCompositeComponent'\n );\n\n this.state = initialState;\n });\n Constructor.prototype = new ReactClassComponent();\n Constructor.prototype.constructor = Constructor;\n Constructor.prototype.__reactAutoBindPairs = [];\n\n injectedMixins.forEach(mixSpecIntoComponent.bind(null, Constructor));\n\n mixSpecIntoComponent(Constructor, IsMountedPreMixin);\n mixSpecIntoComponent(Constructor, spec);\n mixSpecIntoComponent(Constructor, IsMountedPostMixin);\n\n // Initialize the defaultProps property after all mixins have been merged.\n if (Constructor.getDefaultProps) {\n Constructor.defaultProps = Constructor.getDefaultProps();\n }\n\n if (true) {\n // This is a tag to indicate that the use of these method names is ok,\n // since it's used with createClass. If it's not, then it's likely a\n // mistake so we'll warn you to use the static property, property\n // initializer or constructor respectively.\n if (Constructor.getDefaultProps) {\n Constructor.getDefaultProps.isReactClassApproved = {};\n }\n if (Constructor.prototype.getInitialState) {\n Constructor.prototype.getInitialState.isReactClassApproved = {};\n }\n }\n\n _invariant(\n Constructor.prototype.render,\n 'createClass(...): Class specification must implement a `render` method.'\n );\n\n if (true) {\n warning(\n !Constructor.prototype.componentShouldUpdate,\n '%s has a method called ' +\n 'componentShouldUpdate(). Did you mean shouldComponentUpdate()? ' +\n 'The name is phrased as a question because the function is ' +\n 'expected to return a value.',\n spec.displayName || 'A component'\n );\n warning(\n !Constructor.prototype.componentWillRecieveProps,\n '%s has a method called ' +\n 'componentWillRecieveProps(). Did you mean componentWillReceiveProps()?',\n spec.displayName || 'A component'\n );\n warning(\n !Constructor.prototype.UNSAFE_componentWillRecieveProps,\n '%s has a method called UNSAFE_componentWillRecieveProps(). ' +\n 'Did you mean UNSAFE_componentWillReceiveProps()?',\n spec.displayName || 'A component'\n );\n }\n\n // Reduce time spent doing lookups by setting these on the prototype.\n for (var methodName in ReactClassInterface) {\n if (!Constructor.prototype[methodName]) {\n Constructor.prototype[methodName] = null;\n }\n }\n\n return Constructor;\n }\n\n return createClass;\n}\n\nmodule.exports = factory;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY3JlYXRlLXJlYWN0LWNsYXNzL2ZhY3RvcnkuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY3JlYXRlLXJlYWN0LWNsYXNzL2ZhY3RvcnkuanM/OTUzZSJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxMy1wcmVzZW50LCBGYWNlYm9vaywgSW5jLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbnZhciBfYXNzaWduID0gcmVxdWlyZSgnb2JqZWN0LWFzc2lnbicpO1xuXG4vLyAtLSBJbmxpbmVkIGZyb20gZmJqcyAtLVxuXG52YXIgZW1wdHlPYmplY3QgPSB7fTtcblxuaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgT2JqZWN0LmZyZWV6ZShlbXB0eU9iamVjdCk7XG59XG5cbnZhciB2YWxpZGF0ZUZvcm1hdCA9IGZ1bmN0aW9uIHZhbGlkYXRlRm9ybWF0KGZvcm1hdCkge307XG5cbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gIHZhbGlkYXRlRm9ybWF0ID0gZnVuY3Rpb24gdmFsaWRhdGVGb3JtYXQoZm9ybWF0KSB7XG4gICAgaWYgKGZvcm1hdCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2ludmFyaWFudCByZXF1aXJlcyBhbiBlcnJvciBtZXNzYWdlIGFyZ3VtZW50Jyk7XG4gICAgfVxuICB9O1xufVxuXG5mdW5jdGlvbiBfaW52YXJpYW50KGNvbmRpdGlvbiwgZm9ybWF0LCBhLCBiLCBjLCBkLCBlLCBmKSB7XG4gIHZhbGlkYXRlRm9ybWF0KGZvcm1hdCk7XG5cbiAgaWYgKCFjb25kaXRpb24pIHtcbiAgICB2YXIgZXJyb3I7XG4gICAgaWYgKGZvcm1hdCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBlcnJvciA9IG5ldyBFcnJvcignTWluaWZpZWQgZXhjZXB0aW9uIG9jY3VycmVkOyB1c2UgdGhlIG5vbi1taW5pZmllZCBkZXYgZW52aXJvbm1lbnQgJyArICdmb3IgdGhlIGZ1bGwgZXJyb3IgbWVzc2FnZSBhbmQgYWRkaXRpb25hbCBoZWxwZnVsIHdhcm5pbmdzLicpO1xuICAgIH0gZWxzZSB7XG4gICAgICB2YXIgYXJncyA9IFthLCBiLCBjLCBkLCBlLCBmXTtcbiAgICAgIHZhciBhcmdJbmRleCA9IDA7XG4gICAgICBlcnJvciA9IG5ldyBFcnJvcihmb3JtYXQucmVwbGFjZSgvJXMvZywgZnVuY3Rpb24gKCkge1xuICAgICAgICByZXR1cm4gYXJnc1thcmdJbmRleCsrXTtcbiAgICAgIH0pKTtcbiAgICAgIGVycm9yLm5hbWUgPSAnSW52YXJpYW50IFZpb2xhdGlvbic7XG4gICAgfVxuXG4gICAgZXJyb3IuZnJhbWVzVG9Qb3AgPSAxOyAvLyB3ZSBkb24ndCBjYXJlIGFib3V0IGludmFyaWFudCdzIG93biBmcmFtZVxuICAgIHRocm93IGVycm9yO1xuICB9XG59XG5cbnZhciB3YXJuaW5nID0gZnVuY3Rpb24oKXt9O1xuXG5pZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICB2YXIgcHJpbnRXYXJuaW5nID0gZnVuY3Rpb24gcHJpbnRXYXJuaW5nKGZvcm1hdCkge1xuICAgIGZvciAodmFyIF9sZW4gPSBhcmd1bWVudHMubGVuZ3RoLCBhcmdzID0gQXJyYXkoX2xlbiA+IDEgPyBfbGVuIC0gMSA6IDApLCBfa2V5ID0gMTsgX2tleSA8IF9sZW47IF9rZXkrKykge1xuICAgICAgYXJnc1tfa2V5IC0gMV0gPSBhcmd1bWVudHNbX2tleV07XG4gICAgfVxuXG4gICAgdmFyIGFyZ0luZGV4ID0gMDtcbiAgICB2YXIgbWVzc2FnZSA9ICdXYXJuaW5nOiAnICsgZm9ybWF0LnJlcGxhY2UoLyVzL2csIGZ1bmN0aW9uICgpIHtcbiAgICAgIHJldHVybiBhcmdzW2FyZ0luZGV4KytdO1xuICAgIH0pO1xuICAgIGlmICh0eXBlb2YgY29uc29sZSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IobWVzc2FnZSk7XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICAvLyAtLS0gV2VsY29tZSB0byBkZWJ1Z2dpbmcgUmVhY3QgLS0tXG4gICAgICAvLyBUaGlzIGVycm9yIHdhcyB0aHJvd24gYXMgYSBjb252ZW5pZW5jZSBzbyB0aGF0IHlvdSBjYW4gdXNlIHRoaXMgc3RhY2tcbiAgICAgIC8vIHRvIGZpbmQgdGhlIGNhbGxzaXRlIHRoYXQgY2F1c2VkIHRoaXMgd2FybmluZyB0byBmaXJlLlxuICAgICAgdGhyb3cgbmV3IEVycm9yKG1lc3NhZ2UpO1xuICAgIH0gY2F0Y2ggKHgpIHt9XG4gIH07XG5cbiAgd2FybmluZyA9IGZ1bmN0aW9uIHdhcm5pbmcoY29uZGl0aW9uLCBmb3JtYXQpIHtcbiAgICBpZiAoZm9ybWF0ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignYHdhcm5pbmcoY29uZGl0aW9uLCBmb3JtYXQsIC4uLmFyZ3MpYCByZXF1aXJlcyBhIHdhcm5pbmcgJyArICdtZXNzYWdlIGFyZ3VtZW50Jyk7XG4gICAgfVxuXG4gICAgaWYgKGZvcm1hdC5pbmRleE9mKCdGYWlsZWQgQ29tcG9zaXRlIHByb3BUeXBlOiAnKSA9PT0gMCkge1xuICAgICAgcmV0dXJuOyAvLyBJZ25vcmUgQ29tcG9zaXRlQ29tcG9uZW50IHByb3B0eXBlIGNoZWNrLlxuICAgIH1cblxuICAgIGlmICghY29uZGl0aW9uKSB7XG4gICAgICBmb3IgKHZhciBfbGVuMiA9IGFyZ3VtZW50cy5sZW5ndGgsIGFyZ3MgPSBBcnJheShfbGVuMiA+IDIgPyBfbGVuMiAtIDIgOiAwKSwgX2tleTIgPSAyOyBfa2V5MiA8IF9sZW4yOyBfa2V5MisrKSB7XG4gICAgICAgIGFyZ3NbX2tleTIgLSAyXSA9IGFyZ3VtZW50c1tfa2V5Ml07XG4gICAgICB9XG5cbiAgICAgIHByaW50V2FybmluZy5hcHBseSh1bmRlZmluZWQsIFtmb3JtYXRdLmNvbmNhdChhcmdzKSk7XG4gICAgfVxuICB9O1xufVxuXG4vLyAvLS0gSW5saW5lZCBmcm9tIGZianMgLS1cblxudmFyIE1JWElOU19LRVkgPSAnbWl4aW5zJztcblxuLy8gSGVscGVyIGZ1bmN0aW9uIHRvIGFsbG93IHRoZSBjcmVhdGlvbiBvZiBhbm9ueW1vdXMgZnVuY3Rpb25zIHdoaWNoIGRvIG5vdFxuLy8gaGF2ZSAubmFtZSBzZXQgdG8gdGhlIG5hbWUgb2YgdGhlIHZhcmlhYmxlIGJlaW5nIGFzc2lnbmVkIHRvLlxuZnVuY3Rpb24gaWRlbnRpdHkoZm4pIHtcbiAgcmV0dXJuIGZuO1xufVxuXG52YXIgUmVhY3RQcm9wVHlwZUxvY2F0aW9uTmFtZXM7XG5pZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICBSZWFjdFByb3BUeXBlTG9jYXRpb25OYW1lcyA9IHtcbiAgICBwcm9wOiAncHJvcCcsXG4gICAgY29udGV4dDogJ2NvbnRleHQnLFxuICAgIGNoaWxkQ29udGV4dDogJ2NoaWxkIGNvbnRleHQnXG4gIH07XG59IGVsc2Uge1xuICBSZWFjdFByb3BUeXBlTG9jYXRpb25OYW1lcyA9IHt9O1xufVxuXG5mdW5jdGlvbiBmYWN0b3J5KFJlYWN0Q29tcG9uZW50LCBpc1ZhbGlkRWxlbWVudCwgUmVhY3ROb29wVXBkYXRlUXVldWUpIHtcbiAgLyoqXG4gICAqIFBvbGljaWVzIHRoYXQgZGVzY3JpYmUgbWV0aG9kcyBpbiBgUmVhY3RDbGFzc0ludGVyZmFjZWAuXG4gICAqL1xuXG4gIHZhciBpbmplY3RlZE1peGlucyA9IFtdO1xuXG4gIC8qKlxuICAgKiBDb21wb3NpdGUgY29tcG9uZW50cyBhcmUgaGlnaGVyLWxldmVsIGNvbXBvbmVudHMgdGhhdCBjb21wb3NlIG90aGVyIGNvbXBvc2l0ZVxuICAgKiBvciBob3N0IGNvbXBvbmVudHMuXG4gICAqXG4gICAqIFRvIGNyZWF0ZSBhIG5ldyB0eXBlIG9mIGBSZWFjdENsYXNzYCwgcGFzcyBhIHNwZWNpZmljYXRpb24gb2ZcbiAgICogeW91ciBuZXcgY2xhc3MgdG8gYFJlYWN0LmNyZWF0ZUNsYXNzYC4gVGhlIG9ubHkgcmVxdWlyZW1lbnQgb2YgeW91ciBjbGFzc1xuICAgKiBzcGVjaWZpY2F0aW9uIGlzIHRoYXQgeW91IGltcGxlbWVudCBhIGByZW5kZXJgIG1ldGhvZC5cbiAgICpcbiAgICogICB2YXIgTXlDb21wb25lbnQgPSBSZWFjdC5jcmVhdGVDbGFzcyh7XG4gICAqICAgICByZW5kZXI6IGZ1bmN0aW9uKCkge1xuICAgKiAgICAgICByZXR1cm4gPGRpdj5IZWxsbyBXb3JsZDwvZGl2PjtcbiAgICogICAgIH1cbiAgICogICB9KTtcbiAgICpcbiAgICogVGhlIGNsYXNzIHNwZWNpZmljYXRpb24gc3VwcG9ydHMgYSBzcGVjaWZpYyBwcm90b2NvbCBvZiBtZXRob2RzIHRoYXQgaGF2ZVxuICAgKiBzcGVjaWFsIG1lYW5pbmcgKGUuZy4gYHJlbmRlcmApLiBTZWUgYFJlYWN0Q2xhc3NJbnRlcmZhY2VgIGZvclxuICAgKiBtb3JlIHRoZSBjb21wcmVoZW5zaXZlIHByb3RvY29sLiBBbnkgb3RoZXIgcHJvcGVydGllcyBhbmQgbWV0aG9kcyBpbiB0aGVcbiAgICogY2xhc3Mgc3BlY2lmaWNhdGlvbiB3aWxsIGJlIGF2YWlsYWJsZSBvbiB0aGUgcHJvdG90eXBlLlxuICAgKlxuICAgKiBAaW50ZXJmYWNlIFJlYWN0Q2xhc3NJbnRlcmZhY2VcbiAgICogQGludGVybmFsXG4gICAqL1xuICB2YXIgUmVhY3RDbGFzc0ludGVyZmFjZSA9IHtcbiAgICAvKipcbiAgICAgKiBBbiBhcnJheSBvZiBNaXhpbiBvYmplY3RzIHRvIGluY2x1ZGUgd2hlbiBkZWZpbmluZyB5b3VyIGNvbXBvbmVudC5cbiAgICAgKlxuICAgICAqIEB0eXBlIHthcnJheX1cbiAgICAgKiBAb3B0aW9uYWxcbiAgICAgKi9cbiAgICBtaXhpbnM6ICdERUZJTkVfTUFOWScsXG5cbiAgICAvKipcbiAgICAgKiBBbiBvYmplY3QgY29udGFpbmluZyBwcm9wZXJ0aWVzIGFuZCBtZXRob2RzIHRoYXQgc2hvdWxkIGJlIGRlZmluZWQgb25cbiAgICAgKiB0aGUgY29tcG9uZW50J3MgY29uc3RydWN0b3IgaW5zdGVhZCBvZiBpdHMgcHJvdG90eXBlIChzdGF0aWMgbWV0aG9kcykuXG4gICAgICpcbiAgICAgKiBAdHlwZSB7b2JqZWN0fVxuICAgICAqIEBvcHRpb25hbFxuICAgICAqL1xuICAgIHN0YXRpY3M6ICdERUZJTkVfTUFOWScsXG5cbiAgICAvKipcbiAgICAgKiBEZWZpbml0aW9uIG9mIHByb3AgdHlwZXMgZm9yIHRoaXMgY29tcG9uZW50LlxuICAgICAqXG4gICAgICogQHR5cGUge29iamVjdH1cbiAgICAgKiBAb3B0aW9uYWxcbiAgICAgKi9cbiAgICBwcm9wVHlwZXM6ICdERUZJTkVfTUFOWScsXG5cbiAgICAvKipcbiAgICAgKiBEZWZpbml0aW9uIG9mIGNvbnRleHQgdHlwZXMgZm9yIHRoaXMgY29tcG9uZW50LlxuICAgICAqXG4gICAgICogQHR5cGUge29iamVjdH1cbiAgICAgKiBAb3B0aW9uYWxcbiAgICAgKi9cbiAgICBjb250ZXh0VHlwZXM6ICdERUZJTkVfTUFOWScsXG5cbiAgICAvKipcbiAgICAgKiBEZWZpbml0aW9uIG9mIGNvbnRleHQgdHlwZXMgdGhpcyBjb21wb25lbnQgc2V0cyBmb3IgaXRzIGNoaWxkcmVuLlxuICAgICAqXG4gICAgICogQHR5cGUge29iamVjdH1cbiAgICAgKiBAb3B0aW9uYWxcbiAgICAgKi9cbiAgICBjaGlsZENvbnRleHRUeXBlczogJ0RFRklORV9NQU5ZJyxcblxuICAgIC8vID09PT0gRGVmaW5pdGlvbiBtZXRob2RzID09PT1cblxuICAgIC8qKlxuICAgICAqIEludm9rZWQgd2hlbiB0aGUgY29tcG9uZW50IGlzIG1vdW50ZWQuIFZhbHVlcyBpbiB0aGUgbWFwcGluZyB3aWxsIGJlIHNldCBvblxuICAgICAqIGB0aGlzLnByb3BzYCBpZiB0aGF0IHByb3AgaXMgbm90IHNwZWNpZmllZCAoaS5lLiB1c2luZyBhbiBgaW5gIGNoZWNrKS5cbiAgICAgKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGludm9rZWQgYmVmb3JlIGBnZXRJbml0aWFsU3RhdGVgIGFuZCB0aGVyZWZvcmUgY2Fubm90IHJlbHlcbiAgICAgKiBvbiBgdGhpcy5zdGF0ZWAgb3IgdXNlIGB0aGlzLnNldFN0YXRlYC5cbiAgICAgKlxuICAgICAqIEByZXR1cm4ge29iamVjdH1cbiAgICAgKiBAb3B0aW9uYWxcbiAgICAgKi9cbiAgICBnZXREZWZhdWx0UHJvcHM6ICdERUZJTkVfTUFOWV9NRVJHRUQnLFxuXG4gICAgLyoqXG4gICAgICogSW52b2tlZCBvbmNlIGJlZm9yZSB0aGUgY29tcG9uZW50IGlzIG1vdW50ZWQuIFRoZSByZXR1cm4gdmFsdWUgd2lsbCBiZSB1c2VkXG4gICAgICogYXMgdGhlIGluaXRpYWwgdmFsdWUgb2YgYHRoaXMuc3RhdGVgLlxuICAgICAqXG4gICAgICogICBnZXRJbml0aWFsU3RhdGU6IGZ1bmN0aW9uKCkge1xuICAgICAqICAgICByZXR1cm4ge1xuICAgICAqICAgICAgIGlzT246IGZhbHNlLFxuICAgICAqICAgICAgIGZvb0JhejogbmV3IEJhekZvbygpXG4gICAgICogICAgIH1cbiAgICAgKiAgIH1cbiAgICAgKlxuICAgICAqIEByZXR1cm4ge29iamVjdH1cbiAgICAgKiBAb3B0aW9uYWxcbiAgICAgKi9cbiAgICBnZXRJbml0aWFsU3RhdGU6ICdERUZJTkVfTUFOWV9NRVJHRUQnLFxuXG4gICAgLyoqXG4gICAgICogQHJldHVybiB7b2JqZWN0fVxuICAgICAqIEBvcHRpb25hbFxuICAgICAqL1xuICAgIGdldENoaWxkQ29udGV4dDogJ0RFRklORV9NQU5ZX01FUkdFRCcsXG5cbiAgICAvKipcbiAgICAgKiBVc2VzIHByb3BzIGZyb20gYHRoaXMucHJvcHNgIGFuZCBzdGF0ZSBmcm9tIGB0aGlzLnN0YXRlYCB0byByZW5kZXIgdGhlXG4gICAgICogc3RydWN0dXJlIG9mIHRoZSBjb21wb25lbnQuXG4gICAgICpcbiAgICAgKiBObyBndWFyYW50ZWVzIGFyZSBtYWRlIGFib3V0IHdoZW4gb3IgaG93IG9mdGVuIHRoaXMgbWV0aG9kIGlzIGludm9rZWQsIHNvXG4gICAgICogaXQgbXVzdCBub3QgaGF2ZSBzaWRlIGVmZmVjdHMuXG4gICAgICpcbiAgICAgKiAgIHJlbmRlcjogZnVuY3Rpb24oKSB7XG4gICAgICogICAgIHZhciBuYW1lID0gdGhpcy5wcm9wcy5uYW1lO1xuICAgICAqICAgICByZXR1cm4gPGRpdj5IZWxsbywge25hbWV9ITwvZGl2PjtcbiAgICAgKiAgIH1cbiAgICAgKlxuICAgICAqIEByZXR1cm4ge1JlYWN0Q29tcG9uZW50fVxuICAgICAqIEByZXF1aXJlZFxuICAgICAqL1xuICAgIHJlbmRlcjogJ0RFRklORV9PTkNFJyxcblxuICAgIC8vID09PT0gRGVsZWdhdGUgbWV0aG9kcyA9PT09XG5cbiAgICAvKipcbiAgICAgKiBJbnZva2VkIHdoZW4gdGhlIGNvbXBvbmVudCBpcyBpbml0aWFsbHkgY3JlYXRlZCBhbmQgYWJvdXQgdG8gYmUgbW91bnRlZC5cbiAgICAgKiBUaGlzIG1heSBoYXZlIHNpZGUgZWZmZWN0cywgYnV0IGFueSBleHRlcm5hbCBzdWJzY3JpcHRpb25zIG9yIGRhdGEgY3JlYXRlZFxuICAgICAqIGJ5IHRoaXMgbWV0aG9kIG11c3QgYmUgY2xlYW5lZCB1cCBpbiBgY29tcG9uZW50V2lsbFVubW91bnRgLlxuICAgICAqXG4gICAgICogQG9wdGlvbmFsXG4gICAgICovXG4gICAgY29tcG9uZW50V2lsbE1vdW50OiAnREVGSU5FX01BTlknLFxuXG4gICAgLyoqXG4gICAgICogSW52b2tlZCB3aGVuIHRoZSBjb21wb25lbnQgaGFzIGJlZW4gbW91bnRlZCBhbmQgaGFzIGEgRE9NIHJlcHJlc2VudGF0aW9uLlxuICAgICAqIEhvd2V2ZXIsIHRoZXJlIGlzIG5vIGd1YXJhbnRlZSB0aGF0IHRoZSBET00gbm9kZSBpcyBpbiB0aGUgZG9jdW1lbnQuXG4gICAgICpcbiAgICAgKiBVc2UgdGhpcyBhcyBhbiBvcHBvcnR1bml0eSB0byBvcGVyYXRlIG9uIHRoZSBET00gd2hlbiB0aGUgY29tcG9uZW50IGhhc1xuICAgICAqIGJlZW4gbW91bnRlZCAoaW5pdGlhbGl6ZWQgYW5kIHJlbmRlcmVkKSBmb3IgdGhlIGZpcnN0IHRpbWUuXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge0RPTUVsZW1lbnR9IHJvb3ROb2RlIERPTSBlbGVtZW50IHJlcHJlc2VudGluZyB0aGUgY29tcG9uZW50LlxuICAgICAqIEBvcHRpb25hbFxuICAgICAqL1xuICAgIGNvbXBvbmVudERpZE1vdW50OiAnREVGSU5FX01BTlknLFxuXG4gICAgLyoqXG4gICAgICogSW52b2tlZCBiZWZvcmUgdGhlIGNvbXBvbmVudCByZWNlaXZlcyBuZXcgcHJvcHMuXG4gICAgICpcbiAgICAgKiBVc2UgdGhpcyBhcyBhbiBvcHBvcnR1bml0eSB0byByZWFjdCB0byBhIHByb3AgdHJhbnNpdGlvbiBieSB1cGRhdGluZyB0aGVcbiAgICAgKiBzdGF0ZSB1c2luZyBgdGhpcy5zZXRTdGF0ZWAuIEN1cnJlbnQgcHJvcHMgYXJlIGFjY2Vzc2VkIHZpYSBgdGhpcy5wcm9wc2AuXG4gICAgICpcbiAgICAgKiAgIGNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHM6IGZ1bmN0aW9uKG5leHRQcm9wcywgbmV4dENvbnRleHQpIHtcbiAgICAgKiAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICogICAgICAgbGlrZXNJbmNyZWFzaW5nOiBuZXh0UHJvcHMubGlrZUNvdW50ID4gdGhpcy5wcm9wcy5saWtlQ291bnRcbiAgICAgKiAgICAgfSk7XG4gICAgICogICB9XG4gICAgICpcbiAgICAgKiBOT1RFOiBUaGVyZSBpcyBubyBlcXVpdmFsZW50IGBjb21wb25lbnRXaWxsUmVjZWl2ZVN0YXRlYC4gQW4gaW5jb21pbmcgcHJvcFxuICAgICAqIHRyYW5zaXRpb24gbWF5IGNhdXNlIGEgc3RhdGUgY2hhbmdlLCBidXQgdGhlIG9wcG9zaXRlIGlzIG5vdCB0cnVlLiBJZiB5b3VcbiAgICAgKiBuZWVkIGl0LCB5b3UgYXJlIHByb2JhYmx5IGxvb2tpbmcgZm9yIGBjb21wb25lbnRXaWxsVXBkYXRlYC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB7b2JqZWN0fSBuZXh0UHJvcHNcbiAgICAgKiBAb3B0aW9uYWxcbiAgICAgKi9cbiAgICBjb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzOiAnREVGSU5FX01BTlknLFxuXG4gICAgLyoqXG4gICAgICogSW52b2tlZCB3aGlsZSBkZWNpZGluZyBpZiB0aGUgY29tcG9uZW50IHNob3VsZCBiZSB1cGRhdGVkIGFzIGEgcmVzdWx0IG9mXG4gICAgICogcmVjZWl2aW5nIG5ldyBwcm9wcywgc3RhdGUgYW5kL29yIGNvbnRleHQuXG4gICAgICpcbiAgICAgKiBVc2UgdGhpcyBhcyBhbiBvcHBvcnR1bml0eSB0byBgcmV0dXJuIGZhbHNlYCB3aGVuIHlvdSdyZSBjZXJ0YWluIHRoYXQgdGhlXG4gICAgICogdHJhbnNpdGlvbiB0byB0aGUgbmV3IHByb3BzL3N0YXRlL2NvbnRleHQgd2lsbCBub3QgcmVxdWlyZSBhIGNvbXBvbmVudFxuICAgICAqIHVwZGF0ZS5cbiAgICAgKlxuICAgICAqICAgc2hvdWxkQ29tcG9uZW50VXBkYXRlOiBmdW5jdGlvbihuZXh0UHJvcHMsIG5leHRTdGF0ZSwgbmV4dENvbnRleHQpIHtcbiAgICAgKiAgICAgcmV0dXJuICFlcXVhbChuZXh0UHJvcHMsIHRoaXMucHJvcHMpIHx8XG4gICAgICogICAgICAgIWVxdWFsKG5leHRTdGF0ZSwgdGhpcy5zdGF0ZSkgfHxcbiAgICAgKiAgICAgICAhZXF1YWwobmV4dENvbnRleHQsIHRoaXMuY29udGV4dCk7XG4gICAgICogICB9XG4gICAgICpcbiAgICAgKiBAcGFyYW0ge29iamVjdH0gbmV4dFByb3BzXG4gICAgICogQHBhcmFtIHs/b2JqZWN0fSBuZXh0U3RhdGVcbiAgICAgKiBAcGFyYW0gez9vYmplY3R9IG5leHRDb250ZXh0XG4gICAgICogQHJldHVybiB7Ym9vbGVhbn0gVHJ1ZSBpZiB0aGUgY29tcG9uZW50IHNob3VsZCB1cGRhdGUuXG4gICAgICogQG9wdGlvbmFsXG4gICAgICovXG4gICAgc2hvdWxkQ29tcG9uZW50VXBkYXRlOiAnREVGSU5FX09OQ0UnLFxuXG4gICAgLyoqXG4gICAgICogSW52b2tlZCB3aGVuIHRoZSBjb21wb25lbnQgaXMgYWJvdXQgdG8gdXBkYXRlIGR1ZSB0byBhIHRyYW5zaXRpb24gZnJvbVxuICAgICAqIGB0aGlzLnByb3BzYCwgYHRoaXMuc3RhdGVgIGFuZCBgdGhpcy5jb250ZXh0YCB0byBgbmV4dFByb3BzYCwgYG5leHRTdGF0ZWBcbiAgICAgKiBhbmQgYG5leHRDb250ZXh0YC5cbiAgICAgKlxuICAgICAqIFVzZSB0aGlzIGFzIGFuIG9wcG9ydHVuaXR5IHRvIHBlcmZvcm0gcHJlcGFyYXRpb24gYmVmb3JlIGFuIHVwZGF0ZSBvY2N1cnMuXG4gICAgICpcbiAgICAgKiBOT1RFOiBZb3UgKipjYW5ub3QqKiB1c2UgYHRoaXMuc2V0U3RhdGUoKWAgaW4gdGhpcyBtZXRob2QuXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge29iamVjdH0gbmV4dFByb3BzXG4gICAgICogQHBhcmFtIHs/b2JqZWN0fSBuZXh0U3RhdGVcbiAgICAgKiBAcGFyYW0gez9vYmplY3R9IG5leHRDb250ZXh0XG4gICAgICogQHBhcmFtIHtSZWFjdFJlY29uY2lsZVRyYW5zYWN0aW9ufSB0cmFuc2FjdGlvblxuICAgICAqIEBvcHRpb25hbFxuICAgICAqL1xuICAgIGNvbXBvbmVudFdpbGxVcGRhdGU6ICdERUZJTkVfTUFOWScsXG5cbiAgICAvKipcbiAgICAgKiBJbnZva2VkIHdoZW4gdGhlIGNvbXBvbmVudCdzIERPTSByZXByZXNlbnRhdGlvbiBoYXMgYmVlbiB1cGRhdGVkLlxuICAgICAqXG4gICAgICogVXNlIHRoaXMgYXMgYW4gb3Bwb3J0dW5pdHkgdG8gb3BlcmF0ZSBvbiB0aGUgRE9NIHdoZW4gdGhlIGNvbXBvbmVudCBoYXNcbiAgICAgKiBiZWVuIHVwZGF0ZWQuXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge29iamVjdH0gcHJldlByb3BzXG4gICAgICogQHBhcmFtIHs/b2JqZWN0fSBwcmV2U3RhdGVcbiAgICAgKiBAcGFyYW0gez9vYmplY3R9IHByZXZDb250ZXh0XG4gICAgICogQHBhcmFtIHtET01FbGVtZW50fSByb290Tm9kZSBET00gZWxlbWVudCByZXByZXNlbnRpbmcgdGhlIGNvbXBvbmVudC5cbiAgICAgKiBAb3B0aW9uYWxcbiAgICAgKi9cbiAgICBjb21wb25lbnREaWRVcGRhdGU6ICdERUZJTkVfTUFOWScsXG5cbiAgICAvKipcbiAgICAgKiBJbnZva2VkIHdoZW4gdGhlIGNvbXBvbmVudCBpcyBhYm91dCB0byBiZSByZW1vdmVkIGZyb20gaXRzIHBhcmVudCBhbmQgaGF2ZVxuICAgICAqIGl0cyBET00gcmVwcmVzZW50YXRpb24gZGVzdHJveWVkLlxuICAgICAqXG4gICAgICogVXNlIHRoaXMgYXMgYW4gb3Bwb3J0dW5pdHkgdG8gZGVhbGxvY2F0ZSBhbnkgZXh0ZXJuYWwgcmVzb3VyY2VzLlxuICAgICAqXG4gICAgICogTk9URTogVGhlcmUgaXMgbm8gYGNvbXBvbmVudERpZFVubW91bnRgIHNpbmNlIHlvdXIgY29tcG9uZW50IHdpbGwgaGF2ZSBiZWVuXG4gICAgICogZGVzdHJveWVkIGJ5IHRoYXQgcG9pbnQuXG4gICAgICpcbiAgICAgKiBAb3B0aW9uYWxcbiAgICAgKi9cbiAgICBjb21wb25lbnRXaWxsVW5tb3VudDogJ0RFRklORV9NQU5ZJyxcblxuICAgIC8qKlxuICAgICAqIFJlcGxhY2VtZW50IGZvciAoZGVwcmVjYXRlZCkgYGNvbXBvbmVudFdpbGxNb3VudGAuXG4gICAgICpcbiAgICAgKiBAb3B0aW9uYWxcbiAgICAgKi9cbiAgICBVTlNBRkVfY29tcG9uZW50V2lsbE1vdW50OiAnREVGSU5FX01BTlknLFxuXG4gICAgLyoqXG4gICAgICogUmVwbGFjZW1lbnQgZm9yIChkZXByZWNhdGVkKSBgY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wc2AuXG4gICAgICpcbiAgICAgKiBAb3B0aW9uYWxcbiAgICAgKi9cbiAgICBVTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wczogJ0RFRklORV9NQU5ZJyxcblxuICAgIC8qKlxuICAgICAqIFJlcGxhY2VtZW50IGZvciAoZGVwcmVjYXRlZCkgYGNvbXBvbmVudFdpbGxVcGRhdGVgLlxuICAgICAqXG4gICAgICogQG9wdGlvbmFsXG4gICAgICovXG4gICAgVU5TQUZFX2NvbXBvbmVudFdpbGxVcGRhdGU6ICdERUZJTkVfTUFOWScsXG5cbiAgICAvLyA9PT09IEFkdmFuY2VkIG1ldGhvZHMgPT09PVxuXG4gICAgLyoqXG4gICAgICogVXBkYXRlcyB0aGUgY29tcG9uZW50J3MgY3VycmVudGx5IG1vdW50ZWQgRE9NIHJlcHJlc2VudGF0aW9uLlxuICAgICAqXG4gICAgICogQnkgZGVmYXVsdCwgdGhpcyBpbXBsZW1lbnRzIFJlYWN0J3MgcmVuZGVyaW5nIGFuZCByZWNvbmNpbGlhdGlvbiBhbGdvcml0aG0uXG4gICAgICogU29waGlzdGljYXRlZCBjbGllbnRzIG1heSB3aXNoIHRvIG92ZXJyaWRlIHRoaXMuXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge1JlYWN0UmVjb25jaWxlVHJhbnNhY3Rpb259IHRyYW5zYWN0aW9uXG4gICAgICogQGludGVybmFsXG4gICAgICogQG92ZXJyaWRhYmxlXG4gICAgICovXG4gICAgdXBkYXRlQ29tcG9uZW50OiAnT1ZFUlJJREVfQkFTRSdcbiAgfTtcblxuICAvKipcbiAgICogU2ltaWxhciB0byBSZWFjdENsYXNzSW50ZXJmYWNlIGJ1dCBmb3Igc3RhdGljIG1ldGhvZHMuXG4gICAqL1xuICB2YXIgUmVhY3RDbGFzc1N0YXRpY0ludGVyZmFjZSA9IHtcbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBpcyBpbnZva2VkIGFmdGVyIGEgY29tcG9uZW50IGlzIGluc3RhbnRpYXRlZCBhbmQgd2hlbiBpdFxuICAgICAqIHJlY2VpdmVzIG5ldyBwcm9wcy4gUmV0dXJuIGFuIG9iamVjdCB0byB1cGRhdGUgc3RhdGUgaW4gcmVzcG9uc2UgdG9cbiAgICAgKiBwcm9wIGNoYW5nZXMuIFJldHVybiBudWxsIHRvIGluZGljYXRlIG5vIGNoYW5nZSB0byBzdGF0ZS5cbiAgICAgKlxuICAgICAqIElmIGFuIG9iamVjdCBpcyByZXR1cm5lZCwgaXRzIGtleXMgd2lsbCBiZSBtZXJnZWQgaW50byB0aGUgZXhpc3Rpbmcgc3RhdGUuXG4gICAgICpcbiAgICAgKiBAcmV0dXJuIHtvYmplY3QgfHwgbnVsbH1cbiAgICAgKiBAb3B0aW9uYWxcbiAgICAgKi9cbiAgICBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHM6ICdERUZJTkVfTUFOWV9NRVJHRUQnXG4gIH07XG5cbiAgLyoqXG4gICAqIE1hcHBpbmcgZnJvbSBjbGFzcyBzcGVjaWZpY2F0aW9uIGtleXMgdG8gc3BlY2lhbCBwcm9jZXNzaW5nIGZ1bmN0aW9ucy5cbiAgICpcbiAgICogQWx0aG91Z2ggdGhlc2UgYXJlIGRlY2xhcmVkIGxpa2UgaW5zdGFuY2UgcHJvcGVydGllcyBpbiB0aGUgc3BlY2lmaWNhdGlvblxuICAgKiB3aGVuIGRlZmluaW5nIGNsYXNzZXMgdXNpbmcgYFJlYWN0LmNyZWF0ZUNsYXNzYCwgdGhleSBhcmUgYWN0dWFsbHkgc3RhdGljXG4gICAqIGFuZCBhcmUgYWNjZXNzaWJsZSBvbiB0aGUgY29uc3RydWN0b3IgaW5zdGVhZCBvZiB0aGUgcHJvdG90eXBlLiBEZXNwaXRlXG4gICAqIGJlaW5nIHN0YXRpYywgdGhleSBtdXN0IGJlIGRlZmluZWQgb3V0c2lkZSBvZiB0aGUgXCJzdGF0aWNzXCIga2V5IHVuZGVyXG4gICAqIHdoaWNoIGFsbCBvdGhlciBzdGF0aWMgbWV0aG9kcyBhcmUgZGVmaW5lZC5cbiAgICovXG4gIHZhciBSRVNFUlZFRF9TUEVDX0tFWVMgPSB7XG4gICAgZGlzcGxheU5hbWU6IGZ1bmN0aW9uKENvbnN0cnVjdG9yLCBkaXNwbGF5TmFtZSkge1xuICAgICAgQ29uc3RydWN0b3IuZGlzcGxheU5hbWUgPSBkaXNwbGF5TmFtZTtcbiAgICB9LFxuICAgIG1peGluczogZnVuY3Rpb24oQ29uc3RydWN0b3IsIG1peGlucykge1xuICAgICAgaWYgKG1peGlucykge1xuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IG1peGlucy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgIG1peFNwZWNJbnRvQ29tcG9uZW50KENvbnN0cnVjdG9yLCBtaXhpbnNbaV0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSxcbiAgICBjaGlsZENvbnRleHRUeXBlczogZnVuY3Rpb24oQ29uc3RydWN0b3IsIGNoaWxkQ29udGV4dFR5cGVzKSB7XG4gICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICB2YWxpZGF0ZVR5cGVEZWYoQ29uc3RydWN0b3IsIGNoaWxkQ29udGV4dFR5cGVzLCAnY2hpbGRDb250ZXh0Jyk7XG4gICAgICB9XG4gICAgICBDb25zdHJ1Y3Rvci5jaGlsZENvbnRleHRUeXBlcyA9IF9hc3NpZ24oXG4gICAgICAgIHt9LFxuICAgICAgICBDb25zdHJ1Y3Rvci5jaGlsZENvbnRleHRUeXBlcyxcbiAgICAgICAgY2hpbGRDb250ZXh0VHlwZXNcbiAgICAgICk7XG4gICAgfSxcbiAgICBjb250ZXh0VHlwZXM6IGZ1bmN0aW9uKENvbnN0cnVjdG9yLCBjb250ZXh0VHlwZXMpIHtcbiAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgIHZhbGlkYXRlVHlwZURlZihDb25zdHJ1Y3RvciwgY29udGV4dFR5cGVzLCAnY29udGV4dCcpO1xuICAgICAgfVxuICAgICAgQ29uc3RydWN0b3IuY29udGV4dFR5cGVzID0gX2Fzc2lnbihcbiAgICAgICAge30sXG4gICAgICAgIENvbnN0cnVjdG9yLmNvbnRleHRUeXBlcyxcbiAgICAgICAgY29udGV4dFR5cGVzXG4gICAgICApO1xuICAgIH0sXG4gICAgLyoqXG4gICAgICogU3BlY2lhbCBjYXNlIGdldERlZmF1bHRQcm9wcyB3aGljaCBzaG91bGQgbW92ZSBpbnRvIHN0YXRpY3MgYnV0IHJlcXVpcmVzXG4gICAgICogYXV0b21hdGljIG1lcmdpbmcuXG4gICAgICovXG4gICAgZ2V0RGVmYXVsdFByb3BzOiBmdW5jdGlvbihDb25zdHJ1Y3RvciwgZ2V0RGVmYXVsdFByb3BzKSB7XG4gICAgICBpZiAoQ29uc3RydWN0b3IuZ2V0RGVmYXVsdFByb3BzKSB7XG4gICAgICAgIENvbnN0cnVjdG9yLmdldERlZmF1bHRQcm9wcyA9IGNyZWF0ZU1lcmdlZFJlc3VsdEZ1bmN0aW9uKFxuICAgICAgICAgIENvbnN0cnVjdG9yLmdldERlZmF1bHRQcm9wcyxcbiAgICAgICAgICBnZXREZWZhdWx0UHJvcHNcbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIENvbnN0cnVjdG9yLmdldERlZmF1bHRQcm9wcyA9IGdldERlZmF1bHRQcm9wcztcbiAgICAgIH1cbiAgICB9LFxuICAgIHByb3BUeXBlczogZnVuY3Rpb24oQ29uc3RydWN0b3IsIHByb3BUeXBlcykge1xuICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgdmFsaWRhdGVUeXBlRGVmKENvbnN0cnVjdG9yLCBwcm9wVHlwZXMsICdwcm9wJyk7XG4gICAgICB9XG4gICAgICBDb25zdHJ1Y3Rvci5wcm9wVHlwZXMgPSBfYXNzaWduKHt9LCBDb25zdHJ1Y3Rvci5wcm9wVHlwZXMsIHByb3BUeXBlcyk7XG4gICAgfSxcbiAgICBzdGF0aWNzOiBmdW5jdGlvbihDb25zdHJ1Y3Rvciwgc3RhdGljcykge1xuICAgICAgbWl4U3RhdGljU3BlY0ludG9Db21wb25lbnQoQ29uc3RydWN0b3IsIHN0YXRpY3MpO1xuICAgIH0sXG4gICAgYXV0b2JpbmQ6IGZ1bmN0aW9uKCkge31cbiAgfTtcblxuICBmdW5jdGlvbiB2YWxpZGF0ZVR5cGVEZWYoQ29uc3RydWN0b3IsIHR5cGVEZWYsIGxvY2F0aW9uKSB7XG4gICAgZm9yICh2YXIgcHJvcE5hbWUgaW4gdHlwZURlZikge1xuICAgICAgaWYgKHR5cGVEZWYuaGFzT3duUHJvcGVydHkocHJvcE5hbWUpKSB7XG4gICAgICAgIC8vIHVzZSBhIHdhcm5pbmcgaW5zdGVhZCBvZiBhbiBfaW52YXJpYW50IHNvIGNvbXBvbmVudHNcbiAgICAgICAgLy8gZG9uJ3Qgc2hvdyB1cCBpbiBwcm9kIGJ1dCBvbmx5IGluIF9fREVWX19cbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgICB3YXJuaW5nKFxuICAgICAgICAgICAgdHlwZW9mIHR5cGVEZWZbcHJvcE5hbWVdID09PSAnZnVuY3Rpb24nLFxuICAgICAgICAgICAgJyVzOiAlcyB0eXBlIGAlc2AgaXMgaW52YWxpZDsgaXQgbXVzdCBiZSBhIGZ1bmN0aW9uLCB1c3VhbGx5IGZyb20gJyArXG4gICAgICAgICAgICAgICdSZWFjdC5Qcm9wVHlwZXMuJyxcbiAgICAgICAgICAgIENvbnN0cnVjdG9yLmRpc3BsYXlOYW1lIHx8ICdSZWFjdENsYXNzJyxcbiAgICAgICAgICAgIFJlYWN0UHJvcFR5cGVMb2NhdGlvbk5hbWVzW2xvY2F0aW9uXSxcbiAgICAgICAgICAgIHByb3BOYW1lXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIHZhbGlkYXRlTWV0aG9kT3ZlcnJpZGUoaXNBbHJlYWR5RGVmaW5lZCwgbmFtZSkge1xuICAgIHZhciBzcGVjUG9saWN5ID0gUmVhY3RDbGFzc0ludGVyZmFjZS5oYXNPd25Qcm9wZXJ0eShuYW1lKVxuICAgICAgPyBSZWFjdENsYXNzSW50ZXJmYWNlW25hbWVdXG4gICAgICA6IG51bGw7XG5cbiAgICAvLyBEaXNhbGxvdyBvdmVycmlkaW5nIG9mIGJhc2UgY2xhc3MgbWV0aG9kcyB1bmxlc3MgZXhwbGljaXRseSBhbGxvd2VkLlxuICAgIGlmIChSZWFjdENsYXNzTWl4aW4uaGFzT3duUHJvcGVydHkobmFtZSkpIHtcbiAgICAgIF9pbnZhcmlhbnQoXG4gICAgICAgIHNwZWNQb2xpY3kgPT09ICdPVkVSUklERV9CQVNFJyxcbiAgICAgICAgJ1JlYWN0Q2xhc3NJbnRlcmZhY2U6IFlvdSBhcmUgYXR0ZW1wdGluZyB0byBvdmVycmlkZSAnICtcbiAgICAgICAgICAnYCVzYCBmcm9tIHlvdXIgY2xhc3Mgc3BlY2lmaWNhdGlvbi4gRW5zdXJlIHRoYXQgeW91ciBtZXRob2QgbmFtZXMgJyArXG4gICAgICAgICAgJ2RvIG5vdCBvdmVybGFwIHdpdGggUmVhY3QgbWV0aG9kcy4nLFxuICAgICAgICBuYW1lXG4gICAgICApO1xuICAgIH1cblxuICAgIC8vIERpc2FsbG93IGRlZmluaW5nIG1ldGhvZHMgbW9yZSB0aGFuIG9uY2UgdW5sZXNzIGV4cGxpY2l0bHkgYWxsb3dlZC5cbiAgICBpZiAoaXNBbHJlYWR5RGVmaW5lZCkge1xuICAgICAgX2ludmFyaWFudChcbiAgICAgICAgc3BlY1BvbGljeSA9PT0gJ0RFRklORV9NQU5ZJyB8fCBzcGVjUG9saWN5ID09PSAnREVGSU5FX01BTllfTUVSR0VEJyxcbiAgICAgICAgJ1JlYWN0Q2xhc3NJbnRlcmZhY2U6IFlvdSBhcmUgYXR0ZW1wdGluZyB0byBkZWZpbmUgJyArXG4gICAgICAgICAgJ2Alc2Agb24geW91ciBjb21wb25lbnQgbW9yZSB0aGFuIG9uY2UuIFRoaXMgY29uZmxpY3QgbWF5IGJlIGR1ZSAnICtcbiAgICAgICAgICAndG8gYSBtaXhpbi4nLFxuICAgICAgICBuYW1lXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBNaXhpbiBoZWxwZXIgd2hpY2ggaGFuZGxlcyBwb2xpY3kgdmFsaWRhdGlvbiBhbmQgcmVzZXJ2ZWRcbiAgICogc3BlY2lmaWNhdGlvbiBrZXlzIHdoZW4gYnVpbGRpbmcgUmVhY3QgY2xhc3Nlcy5cbiAgICovXG4gIGZ1bmN0aW9uIG1peFNwZWNJbnRvQ29tcG9uZW50KENvbnN0cnVjdG9yLCBzcGVjKSB7XG4gICAgaWYgKCFzcGVjKSB7XG4gICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICB2YXIgdHlwZW9mU3BlYyA9IHR5cGVvZiBzcGVjO1xuICAgICAgICB2YXIgaXNNaXhpblZhbGlkID0gdHlwZW9mU3BlYyA9PT0gJ29iamVjdCcgJiYgc3BlYyAhPT0gbnVsbDtcblxuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICAgIHdhcm5pbmcoXG4gICAgICAgICAgICBpc01peGluVmFsaWQsXG4gICAgICAgICAgICBcIiVzOiBZb3UncmUgYXR0ZW1wdGluZyB0byBpbmNsdWRlIGEgbWl4aW4gdGhhdCBpcyBlaXRoZXIgbnVsbCBcIiArXG4gICAgICAgICAgICAgICdvciBub3QgYW4gb2JqZWN0LiBDaGVjayB0aGUgbWl4aW5zIGluY2x1ZGVkIGJ5IHRoZSBjb21wb25lbnQsICcgK1xuICAgICAgICAgICAgICAnYXMgd2VsbCBhcyBhbnkgbWl4aW5zIHRoZXkgaW5jbHVkZSB0aGVtc2VsdmVzLiAnICtcbiAgICAgICAgICAgICAgJ0V4cGVjdGVkIG9iamVjdCBidXQgZ290ICVzLicsXG4gICAgICAgICAgICBDb25zdHJ1Y3Rvci5kaXNwbGF5TmFtZSB8fCAnUmVhY3RDbGFzcycsXG4gICAgICAgICAgICBzcGVjID09PSBudWxsID8gbnVsbCA6IHR5cGVvZlNwZWNcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBfaW52YXJpYW50KFxuICAgICAgdHlwZW9mIHNwZWMgIT09ICdmdW5jdGlvbicsXG4gICAgICBcIlJlYWN0Q2xhc3M6IFlvdSdyZSBhdHRlbXB0aW5nIHRvIFwiICtcbiAgICAgICAgJ3VzZSBhIGNvbXBvbmVudCBjbGFzcyBvciBmdW5jdGlvbiBhcyBhIG1peGluLiBJbnN0ZWFkLCBqdXN0IHVzZSBhICcgK1xuICAgICAgICAncmVndWxhciBvYmplY3QuJ1xuICAgICk7XG4gICAgX2ludmFyaWFudChcbiAgICAgICFpc1ZhbGlkRWxlbWVudChzcGVjKSxcbiAgICAgIFwiUmVhY3RDbGFzczogWW91J3JlIGF0dGVtcHRpbmcgdG8gXCIgK1xuICAgICAgICAndXNlIGEgY29tcG9uZW50IGFzIGEgbWl4aW4uIEluc3RlYWQsIGp1c3QgdXNlIGEgcmVndWxhciBvYmplY3QuJ1xuICAgICk7XG5cbiAgICB2YXIgcHJvdG8gPSBDb25zdHJ1Y3Rvci5wcm90b3R5cGU7XG4gICAgdmFyIGF1dG9CaW5kUGFpcnMgPSBwcm90by5fX3JlYWN0QXV0b0JpbmRQYWlycztcblxuICAgIC8vIEJ5IGhhbmRsaW5nIG1peGlucyBiZWZvcmUgYW55IG90aGVyIHByb3BlcnRpZXMsIHdlIGVuc3VyZSB0aGUgc2FtZVxuICAgIC8vIGNoYWluaW5nIG9yZGVyIGlzIGFwcGxpZWQgdG8gbWV0aG9kcyB3aXRoIERFRklORV9NQU5ZIHBvbGljeSwgd2hldGhlclxuICAgIC8vIG1peGlucyBhcmUgbGlzdGVkIGJlZm9yZSBvciBhZnRlciB0aGVzZSBtZXRob2RzIGluIHRoZSBzcGVjLlxuICAgIGlmIChzcGVjLmhhc093blByb3BlcnR5KE1JWElOU19LRVkpKSB7XG4gICAgICBSRVNFUlZFRF9TUEVDX0tFWVMubWl4aW5zKENvbnN0cnVjdG9yLCBzcGVjLm1peGlucyk7XG4gICAgfVxuXG4gICAgZm9yICh2YXIgbmFtZSBpbiBzcGVjKSB7XG4gICAgICBpZiAoIXNwZWMuaGFzT3duUHJvcGVydHkobmFtZSkpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIGlmIChuYW1lID09PSBNSVhJTlNfS0VZKSB7XG4gICAgICAgIC8vIFdlIGhhdmUgYWxyZWFkeSBoYW5kbGVkIG1peGlucyBpbiBhIHNwZWNpYWwgY2FzZSBhYm92ZS5cbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIHZhciBwcm9wZXJ0eSA9IHNwZWNbbmFtZV07XG4gICAgICB2YXIgaXNBbHJlYWR5RGVmaW5lZCA9IHByb3RvLmhhc093blByb3BlcnR5KG5hbWUpO1xuICAgICAgdmFsaWRhdGVNZXRob2RPdmVycmlkZShpc0FscmVhZHlEZWZpbmVkLCBuYW1lKTtcblxuICAgICAgaWYgKFJFU0VSVkVEX1NQRUNfS0VZUy5oYXNPd25Qcm9wZXJ0eShuYW1lKSkge1xuICAgICAgICBSRVNFUlZFRF9TUEVDX0tFWVNbbmFtZV0oQ29uc3RydWN0b3IsIHByb3BlcnR5KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIFNldHVwIG1ldGhvZHMgb24gcHJvdG90eXBlOlxuICAgICAgICAvLyBUaGUgZm9sbG93aW5nIG1lbWJlciBtZXRob2RzIHNob3VsZCBub3QgYmUgYXV0b21hdGljYWxseSBib3VuZDpcbiAgICAgICAgLy8gMS4gRXhwZWN0ZWQgUmVhY3RDbGFzcyBtZXRob2RzIChpbiB0aGUgXCJpbnRlcmZhY2VcIikuXG4gICAgICAgIC8vIDIuIE92ZXJyaWRkZW4gbWV0aG9kcyAodGhhdCB3ZXJlIG1peGVkIGluKS5cbiAgICAgICAgdmFyIGlzUmVhY3RDbGFzc01ldGhvZCA9IFJlYWN0Q2xhc3NJbnRlcmZhY2UuaGFzT3duUHJvcGVydHkobmFtZSk7XG4gICAgICAgIHZhciBpc0Z1bmN0aW9uID0gdHlwZW9mIHByb3BlcnR5ID09PSAnZnVuY3Rpb24nO1xuICAgICAgICB2YXIgc2hvdWxkQXV0b0JpbmQgPVxuICAgICAgICAgIGlzRnVuY3Rpb24gJiZcbiAgICAgICAgICAhaXNSZWFjdENsYXNzTWV0aG9kICYmXG4gICAgICAgICAgIWlzQWxyZWFkeURlZmluZWQgJiZcbiAgICAgICAgICBzcGVjLmF1dG9iaW5kICE9PSBmYWxzZTtcblxuICAgICAgICBpZiAoc2hvdWxkQXV0b0JpbmQpIHtcbiAgICAgICAgICBhdXRvQmluZFBhaXJzLnB1c2gobmFtZSwgcHJvcGVydHkpO1xuICAgICAgICAgIHByb3RvW25hbWVdID0gcHJvcGVydHk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaWYgKGlzQWxyZWFkeURlZmluZWQpIHtcbiAgICAgICAgICAgIHZhciBzcGVjUG9saWN5ID0gUmVhY3RDbGFzc0ludGVyZmFjZVtuYW1lXTtcblxuICAgICAgICAgICAgLy8gVGhlc2UgY2FzZXMgc2hvdWxkIGFscmVhZHkgYmUgY2F1Z2h0IGJ5IHZhbGlkYXRlTWV0aG9kT3ZlcnJpZGUuXG4gICAgICAgICAgICBfaW52YXJpYW50KFxuICAgICAgICAgICAgICBpc1JlYWN0Q2xhc3NNZXRob2QgJiZcbiAgICAgICAgICAgICAgICAoc3BlY1BvbGljeSA9PT0gJ0RFRklORV9NQU5ZX01FUkdFRCcgfHxcbiAgICAgICAgICAgICAgICAgIHNwZWNQb2xpY3kgPT09ICdERUZJTkVfTUFOWScpLFxuICAgICAgICAgICAgICAnUmVhY3RDbGFzczogVW5leHBlY3RlZCBzcGVjIHBvbGljeSAlcyBmb3Iga2V5ICVzICcgK1xuICAgICAgICAgICAgICAgICd3aGVuIG1peGluZyBpbiBjb21wb25lbnQgc3BlY3MuJyxcbiAgICAgICAgICAgICAgc3BlY1BvbGljeSxcbiAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgLy8gRm9yIG1ldGhvZHMgd2hpY2ggYXJlIGRlZmluZWQgbW9yZSB0aGFuIG9uY2UsIGNhbGwgdGhlIGV4aXN0aW5nXG4gICAgICAgICAgICAvLyBtZXRob2RzIGJlZm9yZSBjYWxsaW5nIHRoZSBuZXcgcHJvcGVydHksIG1lcmdpbmcgaWYgYXBwcm9wcmlhdGUuXG4gICAgICAgICAgICBpZiAoc3BlY1BvbGljeSA9PT0gJ0RFRklORV9NQU5ZX01FUkdFRCcpIHtcbiAgICAgICAgICAgICAgcHJvdG9bbmFtZV0gPSBjcmVhdGVNZXJnZWRSZXN1bHRGdW5jdGlvbihwcm90b1tuYW1lXSwgcHJvcGVydHkpO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChzcGVjUG9saWN5ID09PSAnREVGSU5FX01BTlknKSB7XG4gICAgICAgICAgICAgIHByb3RvW25hbWVdID0gY3JlYXRlQ2hhaW5lZEZ1bmN0aW9uKHByb3RvW25hbWVdLCBwcm9wZXJ0eSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHByb3RvW25hbWVdID0gcHJvcGVydHk7XG4gICAgICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICAgICAgICAvLyBBZGQgdmVyYm9zZSBkaXNwbGF5TmFtZSB0byB0aGUgZnVuY3Rpb24sIHdoaWNoIGhlbHBzIHdoZW4gbG9va2luZ1xuICAgICAgICAgICAgICAvLyBhdCBwcm9maWxpbmcgdG9vbHMuXG4gICAgICAgICAgICAgIGlmICh0eXBlb2YgcHJvcGVydHkgPT09ICdmdW5jdGlvbicgJiYgc3BlYy5kaXNwbGF5TmFtZSkge1xuICAgICAgICAgICAgICAgIHByb3RvW25hbWVdLmRpc3BsYXlOYW1lID0gc3BlYy5kaXNwbGF5TmFtZSArICdfJyArIG5hbWU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBtaXhTdGF0aWNTcGVjSW50b0NvbXBvbmVudChDb25zdHJ1Y3Rvciwgc3RhdGljcykge1xuICAgIGlmICghc3RhdGljcykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGZvciAodmFyIG5hbWUgaW4gc3RhdGljcykge1xuICAgICAgdmFyIHByb3BlcnR5ID0gc3RhdGljc1tuYW1lXTtcbiAgICAgIGlmICghc3RhdGljcy5oYXNPd25Qcm9wZXJ0eShuYW1lKSkge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgdmFyIGlzUmVzZXJ2ZWQgPSBuYW1lIGluIFJFU0VSVkVEX1NQRUNfS0VZUztcbiAgICAgIF9pbnZhcmlhbnQoXG4gICAgICAgICFpc1Jlc2VydmVkLFxuICAgICAgICAnUmVhY3RDbGFzczogWW91IGFyZSBhdHRlbXB0aW5nIHRvIGRlZmluZSBhIHJlc2VydmVkICcgK1xuICAgICAgICAgICdwcm9wZXJ0eSwgYCVzYCwgdGhhdCBzaG91bGRuXFwndCBiZSBvbiB0aGUgXCJzdGF0aWNzXCIga2V5LiBEZWZpbmUgaXQgJyArXG4gICAgICAgICAgJ2FzIGFuIGluc3RhbmNlIHByb3BlcnR5IGluc3RlYWQ7IGl0IHdpbGwgc3RpbGwgYmUgYWNjZXNzaWJsZSBvbiB0aGUgJyArXG4gICAgICAgICAgJ2NvbnN0cnVjdG9yLicsXG4gICAgICAgIG5hbWVcbiAgICAgICk7XG5cbiAgICAgIHZhciBpc0FscmVhZHlEZWZpbmVkID0gbmFtZSBpbiBDb25zdHJ1Y3RvcjtcbiAgICAgIGlmIChpc0FscmVhZHlEZWZpbmVkKSB7XG4gICAgICAgIHZhciBzcGVjUG9saWN5ID0gUmVhY3RDbGFzc1N0YXRpY0ludGVyZmFjZS5oYXNPd25Qcm9wZXJ0eShuYW1lKVxuICAgICAgICAgID8gUmVhY3RDbGFzc1N0YXRpY0ludGVyZmFjZVtuYW1lXVxuICAgICAgICAgIDogbnVsbDtcblxuICAgICAgICBfaW52YXJpYW50KFxuICAgICAgICAgIHNwZWNQb2xpY3kgPT09ICdERUZJTkVfTUFOWV9NRVJHRUQnLFxuICAgICAgICAgICdSZWFjdENsYXNzOiBZb3UgYXJlIGF0dGVtcHRpbmcgdG8gZGVmaW5lICcgK1xuICAgICAgICAgICAgJ2Alc2Agb24geW91ciBjb21wb25lbnQgbW9yZSB0aGFuIG9uY2UuIFRoaXMgY29uZmxpY3QgbWF5IGJlICcgK1xuICAgICAgICAgICAgJ2R1ZSB0byBhIG1peGluLicsXG4gICAgICAgICAgbmFtZVxuICAgICAgICApO1xuXG4gICAgICAgIENvbnN0cnVjdG9yW25hbWVdID0gY3JlYXRlTWVyZ2VkUmVzdWx0RnVuY3Rpb24oQ29uc3RydWN0b3JbbmFtZV0sIHByb3BlcnR5KTtcblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIENvbnN0cnVjdG9yW25hbWVdID0gcHJvcGVydHk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIE1lcmdlIHR3byBvYmplY3RzLCBidXQgdGhyb3cgaWYgYm90aCBjb250YWluIHRoZSBzYW1lIGtleS5cbiAgICpcbiAgICogQHBhcmFtIHtvYmplY3R9IG9uZSBUaGUgZmlyc3Qgb2JqZWN0LCB3aGljaCBpcyBtdXRhdGVkLlxuICAgKiBAcGFyYW0ge29iamVjdH0gdHdvIFRoZSBzZWNvbmQgb2JqZWN0XG4gICAqIEByZXR1cm4ge29iamVjdH0gb25lIGFmdGVyIGl0IGhhcyBiZWVuIG11dGF0ZWQgdG8gY29udGFpbiBldmVyeXRoaW5nIGluIHR3by5cbiAgICovXG4gIGZ1bmN0aW9uIG1lcmdlSW50b1dpdGhOb0R1cGxpY2F0ZUtleXMob25lLCB0d28pIHtcbiAgICBfaW52YXJpYW50KFxuICAgICAgb25lICYmIHR3byAmJiB0eXBlb2Ygb25lID09PSAnb2JqZWN0JyAmJiB0eXBlb2YgdHdvID09PSAnb2JqZWN0JyxcbiAgICAgICdtZXJnZUludG9XaXRoTm9EdXBsaWNhdGVLZXlzKCk6IENhbm5vdCBtZXJnZSBub24tb2JqZWN0cy4nXG4gICAgKTtcblxuICAgIGZvciAodmFyIGtleSBpbiB0d28pIHtcbiAgICAgIGlmICh0d28uaGFzT3duUHJvcGVydHkoa2V5KSkge1xuICAgICAgICBfaW52YXJpYW50KFxuICAgICAgICAgIG9uZVtrZXldID09PSB1bmRlZmluZWQsXG4gICAgICAgICAgJ21lcmdlSW50b1dpdGhOb0R1cGxpY2F0ZUtleXMoKTogJyArXG4gICAgICAgICAgICAnVHJpZWQgdG8gbWVyZ2UgdHdvIG9iamVjdHMgd2l0aCB0aGUgc2FtZSBrZXk6IGAlc2AuIFRoaXMgY29uZmxpY3QgJyArXG4gICAgICAgICAgICAnbWF5IGJlIGR1ZSB0byBhIG1peGluOyBpbiBwYXJ0aWN1bGFyLCB0aGlzIG1heSBiZSBjYXVzZWQgYnkgdHdvICcgK1xuICAgICAgICAgICAgJ2dldEluaXRpYWxTdGF0ZSgpIG9yIGdldERlZmF1bHRQcm9wcygpIG1ldGhvZHMgcmV0dXJuaW5nIG9iamVjdHMgJyArXG4gICAgICAgICAgICAnd2l0aCBjbGFzaGluZyBrZXlzLicsXG4gICAgICAgICAga2V5XG4gICAgICAgICk7XG4gICAgICAgIG9uZVtrZXldID0gdHdvW2tleV07XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBvbmU7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIGZ1bmN0aW9uIHRoYXQgaW52b2tlcyB0d28gZnVuY3Rpb25zIGFuZCBtZXJnZXMgdGhlaXIgcmV0dXJuIHZhbHVlcy5cbiAgICpcbiAgICogQHBhcmFtIHtmdW5jdGlvbn0gb25lIEZ1bmN0aW9uIHRvIGludm9rZSBmaXJzdC5cbiAgICogQHBhcmFtIHtmdW5jdGlvbn0gdHdvIEZ1bmN0aW9uIHRvIGludm9rZSBzZWNvbmQuXG4gICAqIEByZXR1cm4ge2Z1bmN0aW9ufSBGdW5jdGlvbiB0aGF0IGludm9rZXMgdGhlIHR3byBhcmd1bWVudCBmdW5jdGlvbnMuXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBmdW5jdGlvbiBjcmVhdGVNZXJnZWRSZXN1bHRGdW5jdGlvbihvbmUsIHR3bykge1xuICAgIHJldHVybiBmdW5jdGlvbiBtZXJnZWRSZXN1bHQoKSB7XG4gICAgICB2YXIgYSA9IG9uZS5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICAgICAgdmFyIGIgPSB0d28uYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAgICAgIGlmIChhID09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIGI7XG4gICAgICB9IGVsc2UgaWYgKGIgPT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gYTtcbiAgICAgIH1cbiAgICAgIHZhciBjID0ge307XG4gICAgICBtZXJnZUludG9XaXRoTm9EdXBsaWNhdGVLZXlzKGMsIGEpO1xuICAgICAgbWVyZ2VJbnRvV2l0aE5vRHVwbGljYXRlS2V5cyhjLCBiKTtcbiAgICAgIHJldHVybiBjO1xuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIGZ1bmN0aW9uIHRoYXQgaW52b2tlcyB0d28gZnVuY3Rpb25zIGFuZCBpZ25vcmVzIHRoZWlyIHJldHVybiB2YWxlcy5cbiAgICpcbiAgICogQHBhcmFtIHtmdW5jdGlvbn0gb25lIEZ1bmN0aW9uIHRvIGludm9rZSBmaXJzdC5cbiAgICogQHBhcmFtIHtmdW5jdGlvbn0gdHdvIEZ1bmN0aW9uIHRvIGludm9rZSBzZWNvbmQuXG4gICAqIEByZXR1cm4ge2Z1bmN0aW9ufSBGdW5jdGlvbiB0aGF0IGludm9rZXMgdGhlIHR3byBhcmd1bWVudCBmdW5jdGlvbnMuXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBmdW5jdGlvbiBjcmVhdGVDaGFpbmVkRnVuY3Rpb24ob25lLCB0d28pIHtcbiAgICByZXR1cm4gZnVuY3Rpb24gY2hhaW5lZEZ1bmN0aW9uKCkge1xuICAgICAgb25lLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4gICAgICB0d28uYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEJpbmRzIGEgbWV0aG9kIHRvIHRoZSBjb21wb25lbnQuXG4gICAqXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBjb21wb25lbnQgQ29tcG9uZW50IHdob3NlIG1ldGhvZCBpcyBnb2luZyB0byBiZSBib3VuZC5cbiAgICogQHBhcmFtIHtmdW5jdGlvbn0gbWV0aG9kIE1ldGhvZCB0byBiZSBib3VuZC5cbiAgICogQHJldHVybiB7ZnVuY3Rpb259IFRoZSBib3VuZCBtZXRob2QuXG4gICAqL1xuICBmdW5jdGlvbiBiaW5kQXV0b0JpbmRNZXRob2QoY29tcG9uZW50LCBtZXRob2QpIHtcbiAgICB2YXIgYm91bmRNZXRob2QgPSBtZXRob2QuYmluZChjb21wb25lbnQpO1xuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICBib3VuZE1ldGhvZC5fX3JlYWN0Qm91bmRDb250ZXh0ID0gY29tcG9uZW50O1xuICAgICAgYm91bmRNZXRob2QuX19yZWFjdEJvdW5kTWV0aG9kID0gbWV0aG9kO1xuICAgICAgYm91bmRNZXRob2QuX19yZWFjdEJvdW5kQXJndW1lbnRzID0gbnVsbDtcbiAgICAgIHZhciBjb21wb25lbnROYW1lID0gY29tcG9uZW50LmNvbnN0cnVjdG9yLmRpc3BsYXlOYW1lO1xuICAgICAgdmFyIF9iaW5kID0gYm91bmRNZXRob2QuYmluZDtcbiAgICAgIGJvdW5kTWV0aG9kLmJpbmQgPSBmdW5jdGlvbihuZXdUaGlzKSB7XG4gICAgICAgIGZvciAoXG4gICAgICAgICAgdmFyIF9sZW4gPSBhcmd1bWVudHMubGVuZ3RoLFxuICAgICAgICAgICAgYXJncyA9IEFycmF5KF9sZW4gPiAxID8gX2xlbiAtIDEgOiAwKSxcbiAgICAgICAgICAgIF9rZXkgPSAxO1xuICAgICAgICAgIF9rZXkgPCBfbGVuO1xuICAgICAgICAgIF9rZXkrK1xuICAgICAgICApIHtcbiAgICAgICAgICBhcmdzW19rZXkgLSAxXSA9IGFyZ3VtZW50c1tfa2V5XTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFVzZXIgaXMgdHJ5aW5nIHRvIGJpbmQoKSBhbiBhdXRvYm91bmQgbWV0aG9kOyB3ZSBlZmZlY3RpdmVseSB3aWxsXG4gICAgICAgIC8vIGlnbm9yZSB0aGUgdmFsdWUgb2YgXCJ0aGlzXCIgdGhhdCB0aGUgdXNlciBpcyB0cnlpbmcgdG8gdXNlLCBzb1xuICAgICAgICAvLyBsZXQncyB3YXJuLlxuICAgICAgICBpZiAobmV3VGhpcyAhPT0gY29tcG9uZW50ICYmIG5ld1RoaXMgIT09IG51bGwpIHtcbiAgICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICAgICAgd2FybmluZyhcbiAgICAgICAgICAgICAgZmFsc2UsXG4gICAgICAgICAgICAgICdiaW5kKCk6IFJlYWN0IGNvbXBvbmVudCBtZXRob2RzIG1heSBvbmx5IGJlIGJvdW5kIHRvIHRoZSAnICtcbiAgICAgICAgICAgICAgICAnY29tcG9uZW50IGluc3RhbmNlLiBTZWUgJXMnLFxuICAgICAgICAgICAgICBjb21wb25lbnROYW1lXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmICghYXJncy5sZW5ndGgpIHtcbiAgICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICAgICAgd2FybmluZyhcbiAgICAgICAgICAgICAgZmFsc2UsXG4gICAgICAgICAgICAgICdiaW5kKCk6IFlvdSBhcmUgYmluZGluZyBhIGNvbXBvbmVudCBtZXRob2QgdG8gdGhlIGNvbXBvbmVudC4gJyArXG4gICAgICAgICAgICAgICAgJ1JlYWN0IGRvZXMgdGhpcyBmb3IgeW91IGF1dG9tYXRpY2FsbHkgaW4gYSBoaWdoLXBlcmZvcm1hbmNlICcgK1xuICAgICAgICAgICAgICAgICd3YXksIHNvIHlvdSBjYW4gc2FmZWx5IHJlbW92ZSB0aGlzIGNhbGwuIFNlZSAlcycsXG4gICAgICAgICAgICAgIGNvbXBvbmVudE5hbWVcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBib3VuZE1ldGhvZDtcbiAgICAgICAgfVxuICAgICAgICB2YXIgcmVib3VuZE1ldGhvZCA9IF9iaW5kLmFwcGx5KGJvdW5kTWV0aG9kLCBhcmd1bWVudHMpO1xuICAgICAgICByZWJvdW5kTWV0aG9kLl9fcmVhY3RCb3VuZENvbnRleHQgPSBjb21wb25lbnQ7XG4gICAgICAgIHJlYm91bmRNZXRob2QuX19yZWFjdEJvdW5kTWV0aG9kID0gbWV0aG9kO1xuICAgICAgICByZWJvdW5kTWV0aG9kLl9fcmVhY3RCb3VuZEFyZ3VtZW50cyA9IGFyZ3M7XG4gICAgICAgIHJldHVybiByZWJvdW5kTWV0aG9kO1xuICAgICAgfTtcbiAgICB9XG4gICAgcmV0dXJuIGJvdW5kTWV0aG9kO1xuICB9XG5cbiAgLyoqXG4gICAqIEJpbmRzIGFsbCBhdXRvLWJvdW5kIG1ldGhvZHMgaW4gYSBjb21wb25lbnQuXG4gICAqXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBjb21wb25lbnQgQ29tcG9uZW50IHdob3NlIG1ldGhvZCBpcyBnb2luZyB0byBiZSBib3VuZC5cbiAgICovXG4gIGZ1bmN0aW9uIGJpbmRBdXRvQmluZE1ldGhvZHMoY29tcG9uZW50KSB7XG4gICAgdmFyIHBhaXJzID0gY29tcG9uZW50Ll9fcmVhY3RBdXRvQmluZFBhaXJzO1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcGFpcnMubGVuZ3RoOyBpICs9IDIpIHtcbiAgICAgIHZhciBhdXRvQmluZEtleSA9IHBhaXJzW2ldO1xuICAgICAgdmFyIG1ldGhvZCA9IHBhaXJzW2kgKyAxXTtcbiAgICAgIGNvbXBvbmVudFthdXRvQmluZEtleV0gPSBiaW5kQXV0b0JpbmRNZXRob2QoY29tcG9uZW50LCBtZXRob2QpO1xuICAgIH1cbiAgfVxuXG4gIHZhciBJc01vdW50ZWRQcmVNaXhpbiA9IHtcbiAgICBjb21wb25lbnREaWRNb3VudDogZnVuY3Rpb24oKSB7XG4gICAgICB0aGlzLl9faXNNb3VudGVkID0gdHJ1ZTtcbiAgICB9XG4gIH07XG5cbiAgdmFyIElzTW91bnRlZFBvc3RNaXhpbiA9IHtcbiAgICBjb21wb25lbnRXaWxsVW5tb3VudDogZnVuY3Rpb24oKSB7XG4gICAgICB0aGlzLl9faXNNb3VudGVkID0gZmFsc2U7XG4gICAgfVxuICB9O1xuXG4gIC8qKlxuICAgKiBBZGQgbW9yZSB0byB0aGUgUmVhY3RDbGFzcyBiYXNlIGNsYXNzLiBUaGVzZSBhcmUgYWxsIGxlZ2FjeSBmZWF0dXJlcyBhbmRcbiAgICogdGhlcmVmb3JlIG5vdCBhbHJlYWR5IHBhcnQgb2YgdGhlIG1vZGVybiBSZWFjdENvbXBvbmVudC5cbiAgICovXG4gIHZhciBSZWFjdENsYXNzTWl4aW4gPSB7XG4gICAgLyoqXG4gICAgICogVE9ETzogVGhpcyB3aWxsIGJlIGRlcHJlY2F0ZWQgYmVjYXVzZSBzdGF0ZSBzaG91bGQgYWx3YXlzIGtlZXAgYSBjb25zaXN0ZW50XG4gICAgICogdHlwZSBzaWduYXR1cmUgYW5kIHRoZSBvbmx5IHVzZSBjYXNlIGZvciB0aGlzLCBpcyB0byBhdm9pZCB0aGF0LlxuICAgICAqL1xuICAgIHJlcGxhY2VTdGF0ZTogZnVuY3Rpb24obmV3U3RhdGUsIGNhbGxiYWNrKSB7XG4gICAgICB0aGlzLnVwZGF0ZXIuZW5xdWV1ZVJlcGxhY2VTdGF0ZSh0aGlzLCBuZXdTdGF0ZSwgY2FsbGJhY2spO1xuICAgIH0sXG5cbiAgICAvKipcbiAgICAgKiBDaGVja3Mgd2hldGhlciBvciBub3QgdGhpcyBjb21wb3NpdGUgY29tcG9uZW50IGlzIG1vdW50ZWQuXG4gICAgICogQHJldHVybiB7Ym9vbGVhbn0gVHJ1ZSBpZiBtb3VudGVkLCBmYWxzZSBvdGhlcndpc2UuXG4gICAgICogQHByb3RlY3RlZFxuICAgICAqIEBmaW5hbFxuICAgICAqL1xuICAgIGlzTW91bnRlZDogZnVuY3Rpb24oKSB7XG4gICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICB3YXJuaW5nKFxuICAgICAgICAgIHRoaXMuX19kaWRXYXJuSXNNb3VudGVkLFxuICAgICAgICAgICclczogaXNNb3VudGVkIGlzIGRlcHJlY2F0ZWQuIEluc3RlYWQsIG1ha2Ugc3VyZSB0byBjbGVhbiB1cCAnICtcbiAgICAgICAgICAgICdzdWJzY3JpcHRpb25zIGFuZCBwZW5kaW5nIHJlcXVlc3RzIGluIGNvbXBvbmVudFdpbGxVbm1vdW50IHRvICcgK1xuICAgICAgICAgICAgJ3ByZXZlbnQgbWVtb3J5IGxlYWtzLicsXG4gICAgICAgICAgKHRoaXMuY29uc3RydWN0b3IgJiYgdGhpcy5jb25zdHJ1Y3Rvci5kaXNwbGF5TmFtZSkgfHxcbiAgICAgICAgICAgIHRoaXMubmFtZSB8fFxuICAgICAgICAgICAgJ0NvbXBvbmVudCdcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5fX2RpZFdhcm5Jc01vdW50ZWQgPSB0cnVlO1xuICAgICAgfVxuICAgICAgcmV0dXJuICEhdGhpcy5fX2lzTW91bnRlZDtcbiAgICB9XG4gIH07XG5cbiAgdmFyIFJlYWN0Q2xhc3NDb21wb25lbnQgPSBmdW5jdGlvbigpIHt9O1xuICBfYXNzaWduKFxuICAgIFJlYWN0Q2xhc3NDb21wb25lbnQucHJvdG90eXBlLFxuICAgIFJlYWN0Q29tcG9uZW50LnByb3RvdHlwZSxcbiAgICBSZWFjdENsYXNzTWl4aW5cbiAgKTtcblxuICAvKipcbiAgICogQ3JlYXRlcyBhIGNvbXBvc2l0ZSBjb21wb25lbnQgY2xhc3MgZ2l2ZW4gYSBjbGFzcyBzcGVjaWZpY2F0aW9uLlxuICAgKiBTZWUgaHR0cHM6Ly9mYWNlYm9vay5naXRodWIuaW8vcmVhY3QvZG9jcy90b3AtbGV2ZWwtYXBpLmh0bWwjcmVhY3QuY3JlYXRlY2xhc3NcbiAgICpcbiAgICogQHBhcmFtIHtvYmplY3R9IHNwZWMgQ2xhc3Mgc3BlY2lmaWNhdGlvbiAod2hpY2ggbXVzdCBkZWZpbmUgYHJlbmRlcmApLlxuICAgKiBAcmV0dXJuIHtmdW5jdGlvbn0gQ29tcG9uZW50IGNvbnN0cnVjdG9yIGZ1bmN0aW9uLlxuICAgKiBAcHVibGljXG4gICAqL1xuICBmdW5jdGlvbiBjcmVhdGVDbGFzcyhzcGVjKSB7XG4gICAgLy8gVG8ga2VlcCBvdXIgd2FybmluZ3MgbW9yZSB1bmRlcnN0YW5kYWJsZSwgd2UnbGwgdXNlIGEgbGl0dGxlIGhhY2sgaGVyZSB0b1xuICAgIC8vIGVuc3VyZSB0aGF0IENvbnN0cnVjdG9yLm5hbWUgIT09ICdDb25zdHJ1Y3RvcicuIFRoaXMgbWFrZXMgc3VyZSB3ZSBkb24ndFxuICAgIC8vIHVubmVjZXNzYXJpbHkgaWRlbnRpZnkgYSBjbGFzcyB3aXRob3V0IGRpc3BsYXlOYW1lIGFzICdDb25zdHJ1Y3RvcicuXG4gICAgdmFyIENvbnN0cnVjdG9yID0gaWRlbnRpdHkoZnVuY3Rpb24ocHJvcHMsIGNvbnRleHQsIHVwZGF0ZXIpIHtcbiAgICAgIC8vIFRoaXMgY29uc3RydWN0b3IgZ2V0cyBvdmVycmlkZGVuIGJ5IG1vY2tzLiBUaGUgYXJndW1lbnQgaXMgdXNlZFxuICAgICAgLy8gYnkgbW9ja3MgdG8gYXNzZXJ0IG9uIHdoYXQgZ2V0cyBtb3VudGVkLlxuXG4gICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICB3YXJuaW5nKFxuICAgICAgICAgIHRoaXMgaW5zdGFuY2VvZiBDb25zdHJ1Y3RvcixcbiAgICAgICAgICAnU29tZXRoaW5nIGlzIGNhbGxpbmcgYSBSZWFjdCBjb21wb25lbnQgZGlyZWN0bHkuIFVzZSBhIGZhY3Rvcnkgb3IgJyArXG4gICAgICAgICAgICAnSlNYIGluc3RlYWQuIFNlZTogaHR0cHM6Ly9mYi5tZS9yZWFjdC1sZWdhY3lmYWN0b3J5J1xuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICAvLyBXaXJlIHVwIGF1dG8tYmluZGluZ1xuICAgICAgaWYgKHRoaXMuX19yZWFjdEF1dG9CaW5kUGFpcnMubGVuZ3RoKSB7XG4gICAgICAgIGJpbmRBdXRvQmluZE1ldGhvZHModGhpcyk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMucHJvcHMgPSBwcm9wcztcbiAgICAgIHRoaXMuY29udGV4dCA9IGNvbnRleHQ7XG4gICAgICB0aGlzLnJlZnMgPSBlbXB0eU9iamVjdDtcbiAgICAgIHRoaXMudXBkYXRlciA9IHVwZGF0ZXIgfHwgUmVhY3ROb29wVXBkYXRlUXVldWU7XG5cbiAgICAgIHRoaXMuc3RhdGUgPSBudWxsO1xuXG4gICAgICAvLyBSZWFjdENsYXNzZXMgZG9lc24ndCBoYXZlIGNvbnN0cnVjdG9ycy4gSW5zdGVhZCwgdGhleSB1c2UgdGhlXG4gICAgICAvLyBnZXRJbml0aWFsU3RhdGUgYW5kIGNvbXBvbmVudFdpbGxNb3VudCBtZXRob2RzIGZvciBpbml0aWFsaXphdGlvbi5cblxuICAgICAgdmFyIGluaXRpYWxTdGF0ZSA9IHRoaXMuZ2V0SW5pdGlhbFN0YXRlID8gdGhpcy5nZXRJbml0aWFsU3RhdGUoKSA6IG51bGw7XG4gICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICAvLyBXZSBhbGxvdyBhdXRvLW1vY2tzIHRvIHByb2NlZWQgYXMgaWYgdGhleSdyZSByZXR1cm5pbmcgbnVsbC5cbiAgICAgICAgaWYgKFxuICAgICAgICAgIGluaXRpYWxTdGF0ZSA9PT0gdW5kZWZpbmVkICYmXG4gICAgICAgICAgdGhpcy5nZXRJbml0aWFsU3RhdGUuX2lzTW9ja0Z1bmN0aW9uXG4gICAgICAgICkge1xuICAgICAgICAgIC8vIFRoaXMgaXMgcHJvYmFibHkgYmFkIHByYWN0aWNlLiBDb25zaWRlciB3YXJuaW5nIGhlcmUgYW5kXG4gICAgICAgICAgLy8gZGVwcmVjYXRpbmcgdGhpcyBjb252ZW5pZW5jZS5cbiAgICAgICAgICBpbml0aWFsU3RhdGUgPSBudWxsO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBfaW52YXJpYW50KFxuICAgICAgICB0eXBlb2YgaW5pdGlhbFN0YXRlID09PSAnb2JqZWN0JyAmJiAhQXJyYXkuaXNBcnJheShpbml0aWFsU3RhdGUpLFxuICAgICAgICAnJXMuZ2V0SW5pdGlhbFN0YXRlKCk6IG11c3QgcmV0dXJuIGFuIG9iamVjdCBvciBudWxsJyxcbiAgICAgICAgQ29uc3RydWN0b3IuZGlzcGxheU5hbWUgfHwgJ1JlYWN0Q29tcG9zaXRlQ29tcG9uZW50J1xuICAgICAgKTtcblxuICAgICAgdGhpcy5zdGF0ZSA9IGluaXRpYWxTdGF0ZTtcbiAgICB9KTtcbiAgICBDb25zdHJ1Y3Rvci5wcm90b3R5cGUgPSBuZXcgUmVhY3RDbGFzc0NvbXBvbmVudCgpO1xuICAgIENvbnN0cnVjdG9yLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9IENvbnN0cnVjdG9yO1xuICAgIENvbnN0cnVjdG9yLnByb3RvdHlwZS5fX3JlYWN0QXV0b0JpbmRQYWlycyA9IFtdO1xuXG4gICAgaW5qZWN0ZWRNaXhpbnMuZm9yRWFjaChtaXhTcGVjSW50b0NvbXBvbmVudC5iaW5kKG51bGwsIENvbnN0cnVjdG9yKSk7XG5cbiAgICBtaXhTcGVjSW50b0NvbXBvbmVudChDb25zdHJ1Y3RvciwgSXNNb3VudGVkUHJlTWl4aW4pO1xuICAgIG1peFNwZWNJbnRvQ29tcG9uZW50KENvbnN0cnVjdG9yLCBzcGVjKTtcbiAgICBtaXhTcGVjSW50b0NvbXBvbmVudChDb25zdHJ1Y3RvciwgSXNNb3VudGVkUG9zdE1peGluKTtcblxuICAgIC8vIEluaXRpYWxpemUgdGhlIGRlZmF1bHRQcm9wcyBwcm9wZXJ0eSBhZnRlciBhbGwgbWl4aW5zIGhhdmUgYmVlbiBtZXJnZWQuXG4gICAgaWYgKENvbnN0cnVjdG9yLmdldERlZmF1bHRQcm9wcykge1xuICAgICAgQ29uc3RydWN0b3IuZGVmYXVsdFByb3BzID0gQ29uc3RydWN0b3IuZ2V0RGVmYXVsdFByb3BzKCk7XG4gICAgfVxuXG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgIC8vIFRoaXMgaXMgYSB0YWcgdG8gaW5kaWNhdGUgdGhhdCB0aGUgdXNlIG9mIHRoZXNlIG1ldGhvZCBuYW1lcyBpcyBvayxcbiAgICAgIC8vIHNpbmNlIGl0J3MgdXNlZCB3aXRoIGNyZWF0ZUNsYXNzLiBJZiBpdCdzIG5vdCwgdGhlbiBpdCdzIGxpa2VseSBhXG4gICAgICAvLyBtaXN0YWtlIHNvIHdlJ2xsIHdhcm4geW91IHRvIHVzZSB0aGUgc3RhdGljIHByb3BlcnR5LCBwcm9wZXJ0eVxuICAgICAgLy8gaW5pdGlhbGl6ZXIgb3IgY29uc3RydWN0b3IgcmVzcGVjdGl2ZWx5LlxuICAgICAgaWYgKENvbnN0cnVjdG9yLmdldERlZmF1bHRQcm9wcykge1xuICAgICAgICBDb25zdHJ1Y3Rvci5nZXREZWZhdWx0UHJvcHMuaXNSZWFjdENsYXNzQXBwcm92ZWQgPSB7fTtcbiAgICAgIH1cbiAgICAgIGlmIChDb25zdHJ1Y3Rvci5wcm90b3R5cGUuZ2V0SW5pdGlhbFN0YXRlKSB7XG4gICAgICAgIENvbnN0cnVjdG9yLnByb3RvdHlwZS5nZXRJbml0aWFsU3RhdGUuaXNSZWFjdENsYXNzQXBwcm92ZWQgPSB7fTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBfaW52YXJpYW50KFxuICAgICAgQ29uc3RydWN0b3IucHJvdG90eXBlLnJlbmRlcixcbiAgICAgICdjcmVhdGVDbGFzcyguLi4pOiBDbGFzcyBzcGVjaWZpY2F0aW9uIG11c3QgaW1wbGVtZW50IGEgYHJlbmRlcmAgbWV0aG9kLidcbiAgICApO1xuXG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgIHdhcm5pbmcoXG4gICAgICAgICFDb25zdHJ1Y3Rvci5wcm90b3R5cGUuY29tcG9uZW50U2hvdWxkVXBkYXRlLFxuICAgICAgICAnJXMgaGFzIGEgbWV0aG9kIGNhbGxlZCAnICtcbiAgICAgICAgICAnY29tcG9uZW50U2hvdWxkVXBkYXRlKCkuIERpZCB5b3UgbWVhbiBzaG91bGRDb21wb25lbnRVcGRhdGUoKT8gJyArXG4gICAgICAgICAgJ1RoZSBuYW1lIGlzIHBocmFzZWQgYXMgYSBxdWVzdGlvbiBiZWNhdXNlIHRoZSBmdW5jdGlvbiBpcyAnICtcbiAgICAgICAgICAnZXhwZWN0ZWQgdG8gcmV0dXJuIGEgdmFsdWUuJyxcbiAgICAgICAgc3BlYy5kaXNwbGF5TmFtZSB8fCAnQSBjb21wb25lbnQnXG4gICAgICApO1xuICAgICAgd2FybmluZyhcbiAgICAgICAgIUNvbnN0cnVjdG9yLnByb3RvdHlwZS5jb21wb25lbnRXaWxsUmVjaWV2ZVByb3BzLFxuICAgICAgICAnJXMgaGFzIGEgbWV0aG9kIGNhbGxlZCAnICtcbiAgICAgICAgICAnY29tcG9uZW50V2lsbFJlY2lldmVQcm9wcygpLiBEaWQgeW91IG1lYW4gY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcygpPycsXG4gICAgICAgIHNwZWMuZGlzcGxheU5hbWUgfHwgJ0EgY29tcG9uZW50J1xuICAgICAgKTtcbiAgICAgIHdhcm5pbmcoXG4gICAgICAgICFDb25zdHJ1Y3Rvci5wcm90b3R5cGUuVU5TQUZFX2NvbXBvbmVudFdpbGxSZWNpZXZlUHJvcHMsXG4gICAgICAgICclcyBoYXMgYSBtZXRob2QgY2FsbGVkIFVOU0FGRV9jb21wb25lbnRXaWxsUmVjaWV2ZVByb3BzKCkuICcgK1xuICAgICAgICAgICdEaWQgeW91IG1lYW4gVU5TQUZFX2NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMoKT8nLFxuICAgICAgICBzcGVjLmRpc3BsYXlOYW1lIHx8ICdBIGNvbXBvbmVudCdcbiAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gUmVkdWNlIHRpbWUgc3BlbnQgZG9pbmcgbG9va3VwcyBieSBzZXR0aW5nIHRoZXNlIG9uIHRoZSBwcm90b3R5cGUuXG4gICAgZm9yICh2YXIgbWV0aG9kTmFtZSBpbiBSZWFjdENsYXNzSW50ZXJmYWNlKSB7XG4gICAgICBpZiAoIUNvbnN0cnVjdG9yLnByb3RvdHlwZVttZXRob2ROYW1lXSkge1xuICAgICAgICBDb25zdHJ1Y3Rvci5wcm90b3R5cGVbbWV0aG9kTmFtZV0gPSBudWxsO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBDb25zdHJ1Y3RvcjtcbiAgfVxuXG4gIHJldHVybiBjcmVhdGVDbGFzcztcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBmYWN0b3J5O1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/create-react-class/factory.js\n"); /***/ }), /***/ "./node_modules/create-react-class/index.js": /*!**************************************************!*\ !*** ./node_modules/create-react-class/index.js ***! \**************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n\n\nvar React = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\nvar factory = __webpack_require__(/*! ./factory */ \"./node_modules/create-react-class/factory.js\");\n\nif (typeof React === 'undefined') {\n throw Error(\n 'create-react-class could not find the React object. If you are using script tags, ' +\n 'make sure that React is being loaded before create-react-class.'\n );\n}\n\n// Hack to grab NoopUpdateQueue from isomorphic React\nvar ReactNoopUpdateQueue = new React.Component().updater;\n\nmodule.exports = factory(\n React.Component,\n React.isValidElement,\n ReactNoopUpdateQueue\n);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY3JlYXRlLXJlYWN0LWNsYXNzL2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NyZWF0ZS1yZWFjdC1jbGFzcy9pbmRleC5qcz83ZTFjIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDEzLXByZXNlbnQsIEZhY2Vib29rLCBJbmMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICovXG5cbid1c2Ugc3RyaWN0JztcblxudmFyIFJlYWN0ID0gcmVxdWlyZSgncmVhY3QnKTtcbnZhciBmYWN0b3J5ID0gcmVxdWlyZSgnLi9mYWN0b3J5Jyk7XG5cbmlmICh0eXBlb2YgUmVhY3QgPT09ICd1bmRlZmluZWQnKSB7XG4gIHRocm93IEVycm9yKFxuICAgICdjcmVhdGUtcmVhY3QtY2xhc3MgY291bGQgbm90IGZpbmQgdGhlIFJlYWN0IG9iamVjdC4gSWYgeW91IGFyZSB1c2luZyBzY3JpcHQgdGFncywgJyArXG4gICAgICAnbWFrZSBzdXJlIHRoYXQgUmVhY3QgaXMgYmVpbmcgbG9hZGVkIGJlZm9yZSBjcmVhdGUtcmVhY3QtY2xhc3MuJ1xuICApO1xufVxuXG4vLyBIYWNrIHRvIGdyYWIgTm9vcFVwZGF0ZVF1ZXVlIGZyb20gaXNvbW9ycGhpYyBSZWFjdFxudmFyIFJlYWN0Tm9vcFVwZGF0ZVF1ZXVlID0gbmV3IFJlYWN0LkNvbXBvbmVudCgpLnVwZGF0ZXI7XG5cbm1vZHVsZS5leHBvcnRzID0gZmFjdG9yeShcbiAgUmVhY3QuQ29tcG9uZW50LFxuICBSZWFjdC5pc1ZhbGlkRWxlbWVudCxcbiAgUmVhY3ROb29wVXBkYXRlUXVldWVcbik7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/create-react-class/index.js\n"); /***/ }), /***/ "./node_modules/create-react-context/lib/index.js": /*!********************************************************!*\ !*** ./node_modules/create-react-context/lib/index.js ***! \********************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; eval("\n\nexports.__esModule = true;\n\nvar _react = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nfunction createEventEmitter(value) {\n var handlers = [];\n return {\n on: function on(handler) {\n handlers.push(handler);\n },\n off: function off(handler) {\n handlers = handlers.filter(function (h) {\n return h !== handler;\n });\n },\n get: function get() {\n return value;\n },\n set: function set(newValue) {\n value = newValue;\n handlers.forEach(function (handler) {\n return handler(value);\n });\n }\n };\n}\n\nfunction onlyChild(children) {\n return Array.isArray(children) ? children[0] : children;\n}\n\nvar uniqueId = 0;\n\nfunction createReactContext(defaultValue) {\n var _Provider$childContex, _Consumer$contextType;\n\n var contextProp = '__create-react-context-' + uniqueId++ + '__';\n\n var Provider = function (_Component) {\n _inherits(Provider, _Component);\n\n function Provider() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, Provider);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _Component.call.apply(_Component, [this].concat(args))), _this), _this.emitter = createEventEmitter(_this.props.value), _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n Provider.prototype.getChildContext = function getChildContext() {\n var _ref;\n\n return _ref = {}, _ref[contextProp] = this.emitter, _ref;\n };\n\n Provider.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (this.props.value !== nextProps.value) {\n this.emitter.set(nextProps.value);\n }\n };\n\n Provider.prototype.render = function render() {\n return this.props.children;\n };\n\n return Provider;\n }(_react.Component);\n\n Provider.childContextTypes = (_Provider$childContex = {}, _Provider$childContex[contextProp] = _propTypes2.default.object.isRequired, _Provider$childContex);\n\n var Consumer = function (_Component2) {\n _inherits(Consumer, _Component2);\n\n function Consumer() {\n var _temp2, _this2, _ret2;\n\n _classCallCheck(this, Consumer);\n\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return _ret2 = (_temp2 = (_this2 = _possibleConstructorReturn(this, _Component2.call.apply(_Component2, [this].concat(args))), _this2), _this2.state = {\n value: _this2.getValue()\n }, _this2.onUpdate = function () {\n _this2.setState({\n value: _this2.getValue()\n });\n }, _temp2), _possibleConstructorReturn(_this2, _ret2);\n }\n\n Consumer.prototype.componentDidMount = function componentDidMount() {\n if (this.context[contextProp]) {\n this.context[contextProp].on(this.onUpdate);\n }\n };\n\n Consumer.prototype.componentWillUnmount = function componentWillUnmount() {\n if (this.context[contextProp]) {\n this.context[contextProp].off(this.onUpdate);\n }\n };\n\n Consumer.prototype.getValue = function getValue() {\n if (this.context[contextProp]) {\n return this.context[contextProp].get();\n } else {\n return defaultValue;\n }\n };\n\n Consumer.prototype.render = function render() {\n return onlyChild(this.props.children)(this.state.value);\n };\n\n return Consumer;\n }(_react.Component);\n\n Consumer.contextTypes = (_Consumer$contextType = {}, _Consumer$contextType[contextProp] = _propTypes2.default.object, _Consumer$contextType);\n\n\n return {\n Provider: Provider,\n Consumer: Consumer\n };\n}\n\nexports.default = createReactContext;\nmodule.exports = exports['default'];//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY3JlYXRlLXJlYWN0LWNvbnRleHQvbGliL2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NyZWF0ZS1yZWFjdC1jb250ZXh0L2xpYi9pbmRleC5qcz9mZWRjIl0sInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxuZXhwb3J0cy5fX2VzTW9kdWxlID0gdHJ1ZTtcblxudmFyIF9yZWFjdCA9IHJlcXVpcmUoJ3JlYWN0Jyk7XG5cbnZhciBfcmVhY3QyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfcmVhY3QpO1xuXG52YXIgX3Byb3BUeXBlcyA9IHJlcXVpcmUoJ3Byb3AtdHlwZXMnKTtcblxudmFyIF9wcm9wVHlwZXMyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfcHJvcFR5cGVzKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxuZnVuY3Rpb24gX2NsYXNzQ2FsbENoZWNrKGluc3RhbmNlLCBDb25zdHJ1Y3RvcikgeyBpZiAoIShpbnN0YW5jZSBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpOyB9IH1cblxuZnVuY3Rpb24gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4oc2VsZiwgY2FsbCkgeyBpZiAoIXNlbGYpIHsgdGhyb3cgbmV3IFJlZmVyZW5jZUVycm9yKFwidGhpcyBoYXNuJ3QgYmVlbiBpbml0aWFsaXNlZCAtIHN1cGVyKCkgaGFzbid0IGJlZW4gY2FsbGVkXCIpOyB9IHJldHVybiBjYWxsICYmICh0eXBlb2YgY2FsbCA9PT0gXCJvYmplY3RcIiB8fCB0eXBlb2YgY2FsbCA9PT0gXCJmdW5jdGlvblwiKSA/IGNhbGwgOiBzZWxmOyB9XG5cbmZ1bmN0aW9uIF9pbmhlcml0cyhzdWJDbGFzcywgc3VwZXJDbGFzcykgeyBpZiAodHlwZW9mIHN1cGVyQ2xhc3MgIT09IFwiZnVuY3Rpb25cIiAmJiBzdXBlckNsYXNzICE9PSBudWxsKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJTdXBlciBleHByZXNzaW9uIG11c3QgZWl0aGVyIGJlIG51bGwgb3IgYSBmdW5jdGlvbiwgbm90IFwiICsgdHlwZW9mIHN1cGVyQ2xhc3MpOyB9IHN1YkNsYXNzLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoc3VwZXJDbGFzcyAmJiBzdXBlckNsYXNzLnByb3RvdHlwZSwgeyBjb25zdHJ1Y3RvcjogeyB2YWx1ZTogc3ViQ2xhc3MsIGVudW1lcmFibGU6IGZhbHNlLCB3cml0YWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlIH0gfSk7IGlmIChzdXBlckNsYXNzKSBPYmplY3Quc2V0UHJvdG90eXBlT2YgPyBPYmplY3Quc2V0UHJvdG90eXBlT2Yoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpIDogc3ViQ2xhc3MuX19wcm90b19fID0gc3VwZXJDbGFzczsgfVxuXG5mdW5jdGlvbiBjcmVhdGVFdmVudEVtaXR0ZXIodmFsdWUpIHtcbiAgdmFyIGhhbmRsZXJzID0gW107XG4gIHJldHVybiB7XG4gICAgb246IGZ1bmN0aW9uIG9uKGhhbmRsZXIpIHtcbiAgICAgIGhhbmRsZXJzLnB1c2goaGFuZGxlcik7XG4gICAgfSxcbiAgICBvZmY6IGZ1bmN0aW9uIG9mZihoYW5kbGVyKSB7XG4gICAgICBoYW5kbGVycyA9IGhhbmRsZXJzLmZpbHRlcihmdW5jdGlvbiAoaCkge1xuICAgICAgICByZXR1cm4gaCAhPT0gaGFuZGxlcjtcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICByZXR1cm4gdmFsdWU7XG4gICAgfSxcbiAgICBzZXQ6IGZ1bmN0aW9uIHNldChuZXdWYWx1ZSkge1xuICAgICAgdmFsdWUgPSBuZXdWYWx1ZTtcbiAgICAgIGhhbmRsZXJzLmZvckVhY2goZnVuY3Rpb24gKGhhbmRsZXIpIHtcbiAgICAgICAgcmV0dXJuIGhhbmRsZXIodmFsdWUpO1xuICAgICAgfSk7XG4gICAgfVxuICB9O1xufVxuXG5mdW5jdGlvbiBvbmx5Q2hpbGQoY2hpbGRyZW4pIHtcbiAgcmV0dXJuIEFycmF5LmlzQXJyYXkoY2hpbGRyZW4pID8gY2hpbGRyZW5bMF0gOiBjaGlsZHJlbjtcbn1cblxudmFyIHVuaXF1ZUlkID0gMDtcblxuZnVuY3Rpb24gY3JlYXRlUmVhY3RDb250ZXh0KGRlZmF1bHRWYWx1ZSkge1xuICB2YXIgX1Byb3ZpZGVyJGNoaWxkQ29udGV4LCBfQ29uc3VtZXIkY29udGV4dFR5cGU7XG5cbiAgdmFyIGNvbnRleHRQcm9wID0gJ19fY3JlYXRlLXJlYWN0LWNvbnRleHQtJyArIHVuaXF1ZUlkKysgKyAnX18nO1xuXG4gIHZhciBQcm92aWRlciA9IGZ1bmN0aW9uIChfQ29tcG9uZW50KSB7XG4gICAgX2luaGVyaXRzKFByb3ZpZGVyLCBfQ29tcG9uZW50KTtcblxuICAgIGZ1bmN0aW9uIFByb3ZpZGVyKCkge1xuICAgICAgdmFyIF90ZW1wLCBfdGhpcywgX3JldDtcblxuICAgICAgX2NsYXNzQ2FsbENoZWNrKHRoaXMsIFByb3ZpZGVyKTtcblxuICAgICAgZm9yICh2YXIgX2xlbiA9IGFyZ3VtZW50cy5sZW5ndGgsIGFyZ3MgPSBBcnJheShfbGVuKSwgX2tleSA9IDA7IF9rZXkgPCBfbGVuOyBfa2V5KyspIHtcbiAgICAgICAgYXJnc1tfa2V5XSA9IGFyZ3VtZW50c1tfa2V5XTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIF9yZXQgPSAoX3RlbXAgPSAoX3RoaXMgPSBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybih0aGlzLCBfQ29tcG9uZW50LmNhbGwuYXBwbHkoX0NvbXBvbmVudCwgW3RoaXNdLmNvbmNhdChhcmdzKSkpLCBfdGhpcyksIF90aGlzLmVtaXR0ZXIgPSBjcmVhdGVFdmVudEVtaXR0ZXIoX3RoaXMucHJvcHMudmFsdWUpLCBfdGVtcCksIF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKF90aGlzLCBfcmV0KTtcbiAgICB9XG5cbiAgICBQcm92aWRlci5wcm90b3R5cGUuZ2V0Q2hpbGRDb250ZXh0ID0gZnVuY3Rpb24gZ2V0Q2hpbGRDb250ZXh0KCkge1xuICAgICAgdmFyIF9yZWY7XG5cbiAgICAgIHJldHVybiBfcmVmID0ge30sIF9yZWZbY29udGV4dFByb3BdID0gdGhpcy5lbWl0dGVyLCBfcmVmO1xuICAgIH07XG5cbiAgICBQcm92aWRlci5wcm90b3R5cGUuY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyA9IGZ1bmN0aW9uIGNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMobmV4dFByb3BzKSB7XG4gICAgICBpZiAodGhpcy5wcm9wcy52YWx1ZSAhPT0gbmV4dFByb3BzLnZhbHVlKSB7XG4gICAgICAgIHRoaXMuZW1pdHRlci5zZXQobmV4dFByb3BzLnZhbHVlKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgUHJvdmlkZXIucHJvdG90eXBlLnJlbmRlciA9IGZ1bmN0aW9uIHJlbmRlcigpIHtcbiAgICAgIHJldHVybiB0aGlzLnByb3BzLmNoaWxkcmVuO1xuICAgIH07XG5cbiAgICByZXR1cm4gUHJvdmlkZXI7XG4gIH0oX3JlYWN0LkNvbXBvbmVudCk7XG5cbiAgUHJvdmlkZXIuY2hpbGRDb250ZXh0VHlwZXMgPSAoX1Byb3ZpZGVyJGNoaWxkQ29udGV4ID0ge30sIF9Qcm92aWRlciRjaGlsZENvbnRleFtjb250ZXh0UHJvcF0gPSBfcHJvcFR5cGVzMi5kZWZhdWx0Lm9iamVjdC5pc1JlcXVpcmVkLCBfUHJvdmlkZXIkY2hpbGRDb250ZXgpO1xuXG4gIHZhciBDb25zdW1lciA9IGZ1bmN0aW9uIChfQ29tcG9uZW50Mikge1xuICAgIF9pbmhlcml0cyhDb25zdW1lciwgX0NvbXBvbmVudDIpO1xuXG4gICAgZnVuY3Rpb24gQ29uc3VtZXIoKSB7XG4gICAgICB2YXIgX3RlbXAyLCBfdGhpczIsIF9yZXQyO1xuXG4gICAgICBfY2xhc3NDYWxsQ2hlY2sodGhpcywgQ29uc3VtZXIpO1xuXG4gICAgICBmb3IgKHZhciBfbGVuMiA9IGFyZ3VtZW50cy5sZW5ndGgsIGFyZ3MgPSBBcnJheShfbGVuMiksIF9rZXkyID0gMDsgX2tleTIgPCBfbGVuMjsgX2tleTIrKykge1xuICAgICAgICBhcmdzW19rZXkyXSA9IGFyZ3VtZW50c1tfa2V5Ml07XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBfcmV0MiA9IChfdGVtcDIgPSAoX3RoaXMyID0gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4odGhpcywgX0NvbXBvbmVudDIuY2FsbC5hcHBseShfQ29tcG9uZW50MiwgW3RoaXNdLmNvbmNhdChhcmdzKSkpLCBfdGhpczIpLCBfdGhpczIuc3RhdGUgPSB7XG4gICAgICAgIHZhbHVlOiBfdGhpczIuZ2V0VmFsdWUoKVxuICAgICAgfSwgX3RoaXMyLm9uVXBkYXRlID0gZnVuY3Rpb24gKCkge1xuICAgICAgICBfdGhpczIuc2V0U3RhdGUoe1xuICAgICAgICAgIHZhbHVlOiBfdGhpczIuZ2V0VmFsdWUoKVxuICAgICAgICB9KTtcbiAgICAgIH0sIF90ZW1wMiksIF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKF90aGlzMiwgX3JldDIpO1xuICAgIH1cblxuICAgIENvbnN1bWVyLnByb3RvdHlwZS5jb21wb25lbnREaWRNb3VudCA9IGZ1bmN0aW9uIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgICAgaWYgKHRoaXMuY29udGV4dFtjb250ZXh0UHJvcF0pIHtcbiAgICAgICAgdGhpcy5jb250ZXh0W2NvbnRleHRQcm9wXS5vbih0aGlzLm9uVXBkYXRlKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgQ29uc3VtZXIucHJvdG90eXBlLmNvbXBvbmVudFdpbGxVbm1vdW50ID0gZnVuY3Rpb24gY29tcG9uZW50V2lsbFVubW91bnQoKSB7XG4gICAgICBpZiAodGhpcy5jb250ZXh0W2NvbnRleHRQcm9wXSkge1xuICAgICAgICB0aGlzLmNvbnRleHRbY29udGV4dFByb3BdLm9mZih0aGlzLm9uVXBkYXRlKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgQ29uc3VtZXIucHJvdG90eXBlLmdldFZhbHVlID0gZnVuY3Rpb24gZ2V0VmFsdWUoKSB7XG4gICAgICBpZiAodGhpcy5jb250ZXh0W2NvbnRleHRQcm9wXSkge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250ZXh0W2NvbnRleHRQcm9wXS5nZXQoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBkZWZhdWx0VmFsdWU7XG4gICAgICB9XG4gICAgfTtcblxuICAgIENvbnN1bWVyLnByb3RvdHlwZS5yZW5kZXIgPSBmdW5jdGlvbiByZW5kZXIoKSB7XG4gICAgICByZXR1cm4gb25seUNoaWxkKHRoaXMucHJvcHMuY2hpbGRyZW4pKHRoaXMuc3RhdGUudmFsdWUpO1xuICAgIH07XG5cbiAgICByZXR1cm4gQ29uc3VtZXI7XG4gIH0oX3JlYWN0LkNvbXBvbmVudCk7XG5cbiAgQ29uc3VtZXIuY29udGV4dFR5cGVzID0gKF9Db25zdW1lciRjb250ZXh0VHlwZSA9IHt9LCBfQ29uc3VtZXIkY29udGV4dFR5cGVbY29udGV4dFByb3BdID0gX3Byb3BUeXBlczIuZGVmYXVsdC5vYmplY3QsIF9Db25zdW1lciRjb250ZXh0VHlwZSk7XG5cblxuICByZXR1cm4ge1xuICAgIFByb3ZpZGVyOiBQcm92aWRlcixcbiAgICBDb25zdW1lcjogQ29uc3VtZXJcbiAgfTtcbn1cblxuZXhwb3J0cy5kZWZhdWx0ID0gY3JlYXRlUmVhY3RDb250ZXh0O1xubW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzWydkZWZhdWx0J107Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/create-react-context/lib/index.js\n"); /***/ }), /***/ "./node_modules/crypt/crypt.js": /*!*************************************!*\ !*** ./node_modules/crypt/crypt.js ***! \*************************************/ /*! no static exports found */ /***/ (function(module, exports) { eval("(function() {\n var base64map\n = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',\n\n crypt = {\n // Bit-wise rotation left\n rotl: function(n, b) {\n return (n << b) | (n >>> (32 - b));\n },\n\n // Bit-wise rotation right\n rotr: function(n, b) {\n return (n << (32 - b)) | (n >>> b);\n },\n\n // Swap big-endian to little-endian and vice versa\n endian: function(n) {\n // If number given, swap endian\n if (n.constructor == Number) {\n return crypt.rotl(n, 8) & 0x00FF00FF | crypt.rotl(n, 24) & 0xFF00FF00;\n }\n\n // Else, assume array and swap all items\n for (var i = 0; i < n.length; i++)\n n[i] = crypt.endian(n[i]);\n return n;\n },\n\n // Generate an array of any length of random bytes\n randomBytes: function(n) {\n for (var bytes = []; n > 0; n--)\n bytes.push(Math.floor(Math.random() * 256));\n return bytes;\n },\n\n // Convert a byte array to big-endian 32-bit words\n bytesToWords: function(bytes) {\n for (var words = [], i = 0, b = 0; i < bytes.length; i++, b += 8)\n words[b >>> 5] |= bytes[i] << (24 - b % 32);\n return words;\n },\n\n // Convert big-endian 32-bit words to a byte array\n wordsToBytes: function(words) {\n for (var bytes = [], b = 0; b < words.length * 32; b += 8)\n bytes.push((words[b >>> 5] >>> (24 - b % 32)) & 0xFF);\n return bytes;\n },\n\n // Convert a byte array to a hex string\n bytesToHex: function(bytes) {\n for (var hex = [], i = 0; i < bytes.length; i++) {\n hex.push((bytes[i] >>> 4).toString(16));\n hex.push((bytes[i] & 0xF).toString(16));\n }\n return hex.join('');\n },\n\n // Convert a hex string to a byte array\n hexToBytes: function(hex) {\n for (var bytes = [], c = 0; c < hex.length; c += 2)\n bytes.push(parseInt(hex.substr(c, 2), 16));\n return bytes;\n },\n\n // Convert a byte array to a base-64 string\n bytesToBase64: function(bytes) {\n for (var base64 = [], i = 0; i < bytes.length; i += 3) {\n var triplet = (bytes[i] << 16) | (bytes[i + 1] << 8) | bytes[i + 2];\n for (var j = 0; j < 4; j++)\n if (i * 8 + j * 6 <= bytes.length * 8)\n base64.push(base64map.charAt((triplet >>> 6 * (3 - j)) & 0x3F));\n else\n base64.push('=');\n }\n return base64.join('');\n },\n\n // Convert a base-64 string to a byte array\n base64ToBytes: function(base64) {\n // Remove non-base-64 characters\n base64 = base64.replace(/[^A-Z0-9+\\/]/ig, '');\n\n for (var bytes = [], i = 0, imod4 = 0; i < base64.length;\n imod4 = ++i % 4) {\n if (imod4 == 0) continue;\n bytes.push(((base64map.indexOf(base64.charAt(i - 1))\n & (Math.pow(2, -2 * imod4 + 8) - 1)) << (imod4 * 2))\n | (base64map.indexOf(base64.charAt(i)) >>> (6 - imod4 * 2)));\n }\n return bytes;\n }\n };\n\n module.exports = crypt;\n})();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY3J5cHQvY3J5cHQuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY3J5cHQvY3J5cHQuanM/MDBkOCJdLCJzb3VyY2VzQ29udGVudCI6WyIoZnVuY3Rpb24oKSB7XG4gIHZhciBiYXNlNjRtYXBcbiAgICAgID0gJ0FCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky8nLFxuXG4gIGNyeXB0ID0ge1xuICAgIC8vIEJpdC13aXNlIHJvdGF0aW9uIGxlZnRcbiAgICByb3RsOiBmdW5jdGlvbihuLCBiKSB7XG4gICAgICByZXR1cm4gKG4gPDwgYikgfCAobiA+Pj4gKDMyIC0gYikpO1xuICAgIH0sXG5cbiAgICAvLyBCaXQtd2lzZSByb3RhdGlvbiByaWdodFxuICAgIHJvdHI6IGZ1bmN0aW9uKG4sIGIpIHtcbiAgICAgIHJldHVybiAobiA8PCAoMzIgLSBiKSkgfCAobiA+Pj4gYik7XG4gICAgfSxcblxuICAgIC8vIFN3YXAgYmlnLWVuZGlhbiB0byBsaXR0bGUtZW5kaWFuIGFuZCB2aWNlIHZlcnNhXG4gICAgZW5kaWFuOiBmdW5jdGlvbihuKSB7XG4gICAgICAvLyBJZiBudW1iZXIgZ2l2ZW4sIHN3YXAgZW5kaWFuXG4gICAgICBpZiAobi5jb25zdHJ1Y3RvciA9PSBOdW1iZXIpIHtcbiAgICAgICAgcmV0dXJuIGNyeXB0LnJvdGwobiwgOCkgJiAweDAwRkYwMEZGIHwgY3J5cHQucm90bChuLCAyNCkgJiAweEZGMDBGRjAwO1xuICAgICAgfVxuXG4gICAgICAvLyBFbHNlLCBhc3N1bWUgYXJyYXkgYW5kIHN3YXAgYWxsIGl0ZW1zXG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IG4ubGVuZ3RoOyBpKyspXG4gICAgICAgIG5baV0gPSBjcnlwdC5lbmRpYW4obltpXSk7XG4gICAgICByZXR1cm4gbjtcbiAgICB9LFxuXG4gICAgLy8gR2VuZXJhdGUgYW4gYXJyYXkgb2YgYW55IGxlbmd0aCBvZiByYW5kb20gYnl0ZXNcbiAgICByYW5kb21CeXRlczogZnVuY3Rpb24obikge1xuICAgICAgZm9yICh2YXIgYnl0ZXMgPSBbXTsgbiA+IDA7IG4tLSlcbiAgICAgICAgYnl0ZXMucHVzaChNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAyNTYpKTtcbiAgICAgIHJldHVybiBieXRlcztcbiAgICB9LFxuXG4gICAgLy8gQ29udmVydCBhIGJ5dGUgYXJyYXkgdG8gYmlnLWVuZGlhbiAzMi1iaXQgd29yZHNcbiAgICBieXRlc1RvV29yZHM6IGZ1bmN0aW9uKGJ5dGVzKSB7XG4gICAgICBmb3IgKHZhciB3b3JkcyA9IFtdLCBpID0gMCwgYiA9IDA7IGkgPCBieXRlcy5sZW5ndGg7IGkrKywgYiArPSA4KVxuICAgICAgICB3b3Jkc1tiID4+PiA1XSB8PSBieXRlc1tpXSA8PCAoMjQgLSBiICUgMzIpO1xuICAgICAgcmV0dXJuIHdvcmRzO1xuICAgIH0sXG5cbiAgICAvLyBDb252ZXJ0IGJpZy1lbmRpYW4gMzItYml0IHdvcmRzIHRvIGEgYnl0ZSBhcnJheVxuICAgIHdvcmRzVG9CeXRlczogZnVuY3Rpb24od29yZHMpIHtcbiAgICAgIGZvciAodmFyIGJ5dGVzID0gW10sIGIgPSAwOyBiIDwgd29yZHMubGVuZ3RoICogMzI7IGIgKz0gOClcbiAgICAgICAgYnl0ZXMucHVzaCgod29yZHNbYiA+Pj4gNV0gPj4+ICgyNCAtIGIgJSAzMikpICYgMHhGRik7XG4gICAgICByZXR1cm4gYnl0ZXM7XG4gICAgfSxcblxuICAgIC8vIENvbnZlcnQgYSBieXRlIGFycmF5IHRvIGEgaGV4IHN0cmluZ1xuICAgIGJ5dGVzVG9IZXg6IGZ1bmN0aW9uKGJ5dGVzKSB7XG4gICAgICBmb3IgKHZhciBoZXggPSBbXSwgaSA9IDA7IGkgPCBieXRlcy5sZW5ndGg7IGkrKykge1xuICAgICAgICBoZXgucHVzaCgoYnl0ZXNbaV0gPj4+IDQpLnRvU3RyaW5nKDE2KSk7XG4gICAgICAgIGhleC5wdXNoKChieXRlc1tpXSAmIDB4RikudG9TdHJpbmcoMTYpKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBoZXguam9pbignJyk7XG4gICAgfSxcblxuICAgIC8vIENvbnZlcnQgYSBoZXggc3RyaW5nIHRvIGEgYnl0ZSBhcnJheVxuICAgIGhleFRvQnl0ZXM6IGZ1bmN0aW9uKGhleCkge1xuICAgICAgZm9yICh2YXIgYnl0ZXMgPSBbXSwgYyA9IDA7IGMgPCBoZXgubGVuZ3RoOyBjICs9IDIpXG4gICAgICAgIGJ5dGVzLnB1c2gocGFyc2VJbnQoaGV4LnN1YnN0cihjLCAyKSwgMTYpKTtcbiAgICAgIHJldHVybiBieXRlcztcbiAgICB9LFxuXG4gICAgLy8gQ29udmVydCBhIGJ5dGUgYXJyYXkgdG8gYSBiYXNlLTY0IHN0cmluZ1xuICAgIGJ5dGVzVG9CYXNlNjQ6IGZ1bmN0aW9uKGJ5dGVzKSB7XG4gICAgICBmb3IgKHZhciBiYXNlNjQgPSBbXSwgaSA9IDA7IGkgPCBieXRlcy5sZW5ndGg7IGkgKz0gMykge1xuICAgICAgICB2YXIgdHJpcGxldCA9IChieXRlc1tpXSA8PCAxNikgfCAoYnl0ZXNbaSArIDFdIDw8IDgpIHwgYnl0ZXNbaSArIDJdO1xuICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8IDQ7IGorKylcbiAgICAgICAgICBpZiAoaSAqIDggKyBqICogNiA8PSBieXRlcy5sZW5ndGggKiA4KVxuICAgICAgICAgICAgYmFzZTY0LnB1c2goYmFzZTY0bWFwLmNoYXJBdCgodHJpcGxldCA+Pj4gNiAqICgzIC0gaikpICYgMHgzRikpO1xuICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgIGJhc2U2NC5wdXNoKCc9Jyk7XG4gICAgICB9XG4gICAgICByZXR1cm4gYmFzZTY0LmpvaW4oJycpO1xuICAgIH0sXG5cbiAgICAvLyBDb252ZXJ0IGEgYmFzZS02NCBzdHJpbmcgdG8gYSBieXRlIGFycmF5XG4gICAgYmFzZTY0VG9CeXRlczogZnVuY3Rpb24oYmFzZTY0KSB7XG4gICAgICAvLyBSZW1vdmUgbm9uLWJhc2UtNjQgY2hhcmFjdGVyc1xuICAgICAgYmFzZTY0ID0gYmFzZTY0LnJlcGxhY2UoL1teQS1aMC05K1xcL10vaWcsICcnKTtcblxuICAgICAgZm9yICh2YXIgYnl0ZXMgPSBbXSwgaSA9IDAsIGltb2Q0ID0gMDsgaSA8IGJhc2U2NC5sZW5ndGg7XG4gICAgICAgICAgaW1vZDQgPSArK2kgJSA0KSB7XG4gICAgICAgIGlmIChpbW9kNCA9PSAwKSBjb250aW51ZTtcbiAgICAgICAgYnl0ZXMucHVzaCgoKGJhc2U2NG1hcC5pbmRleE9mKGJhc2U2NC5jaGFyQXQoaSAtIDEpKVxuICAgICAgICAgICAgJiAoTWF0aC5wb3coMiwgLTIgKiBpbW9kNCArIDgpIC0gMSkpIDw8IChpbW9kNCAqIDIpKVxuICAgICAgICAgICAgfCAoYmFzZTY0bWFwLmluZGV4T2YoYmFzZTY0LmNoYXJBdChpKSkgPj4+ICg2IC0gaW1vZDQgKiAyKSkpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGJ5dGVzO1xuICAgIH1cbiAgfTtcblxuICBtb2R1bGUuZXhwb3J0cyA9IGNyeXB0O1xufSkoKTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/crypt/crypt.js\n"); /***/ }), /***/ "./node_modules/css-box-model/dist/css-box-model.esm.js": /*!**************************************************************!*\ !*** ./node_modules/css-box-model/dist/css-box-model.esm.js ***! \**************************************************************/ /*! exports provided: calculateBox, createBox, expand, getBox, getRect, offset, shrink, withScroll */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"calculateBox\", function() { return calculateBox; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createBox\", function() { return createBox; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"expand\", function() { return expand; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getBox\", function() { return getBox; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getRect\", function() { return getRect; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"offset\", function() { return offset; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"shrink\", function() { return shrink; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"withScroll\", function() { return withScroll; });\n/* harmony import */ var tiny_invariant__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tiny-invariant */ \"./node_modules/css-box-model/node_modules/tiny-invariant/dist/tiny-invariant.esm.js\");\n\n\nvar getRect = function getRect(_ref) {\n var top = _ref.top,\n right = _ref.right,\n bottom = _ref.bottom,\n left = _ref.left;\n var width = right - left;\n var height = bottom - top;\n var rect = {\n top: top,\n right: right,\n bottom: bottom,\n left: left,\n width: width,\n height: height,\n x: left,\n y: top,\n center: {\n x: (right + left) / 2,\n y: (bottom + top) / 2\n }\n };\n return rect;\n};\nvar expand = function expand(target, expandBy) {\n return {\n top: target.top - expandBy.top,\n left: target.left - expandBy.left,\n bottom: target.bottom + expandBy.bottom,\n right: target.right + expandBy.right\n };\n};\nvar shrink = function shrink(target, shrinkBy) {\n return {\n top: target.top + shrinkBy.top,\n left: target.left + shrinkBy.left,\n bottom: target.bottom - shrinkBy.bottom,\n right: target.right - shrinkBy.right\n };\n};\n\nvar shift = function shift(target, shiftBy) {\n return {\n top: target.top + shiftBy.y,\n left: target.left + shiftBy.x,\n bottom: target.bottom + shiftBy.y,\n right: target.right + shiftBy.x\n };\n};\n\nvar noSpacing = {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n};\nvar createBox = function createBox(_ref2) {\n var borderBox = _ref2.borderBox,\n _ref2$margin = _ref2.margin,\n margin = _ref2$margin === void 0 ? noSpacing : _ref2$margin,\n _ref2$border = _ref2.border,\n border = _ref2$border === void 0 ? noSpacing : _ref2$border,\n _ref2$padding = _ref2.padding,\n padding = _ref2$padding === void 0 ? noSpacing : _ref2$padding;\n var marginBox = getRect(expand(borderBox, margin));\n var paddingBox = getRect(shrink(borderBox, border));\n var contentBox = getRect(shrink(paddingBox, padding));\n return {\n marginBox: marginBox,\n borderBox: getRect(borderBox),\n paddingBox: paddingBox,\n contentBox: contentBox,\n margin: margin,\n border: border,\n padding: padding\n };\n};\n\nvar parse = function parse(raw) {\n var value = raw.slice(0, -2);\n var suffix = raw.slice(-2);\n\n if (suffix !== 'px') {\n return 0;\n }\n\n var result = Number(value);\n !!isNaN(result) ? true ? Object(tiny_invariant__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(false, \"Could not parse value [raw: \" + raw + \", without suffix: \" + value + \"]\") : undefined : void 0;\n return result;\n};\n\nvar getWindowScroll = function getWindowScroll() {\n return {\n x: window.pageXOffset,\n y: window.pageYOffset\n };\n};\n\nvar offset = function offset(original, change) {\n var borderBox = original.borderBox,\n border = original.border,\n margin = original.margin,\n padding = original.padding;\n var shifted = shift(borderBox, change);\n return createBox({\n borderBox: shifted,\n border: border,\n margin: margin,\n padding: padding\n });\n};\nvar withScroll = function withScroll(original, scroll) {\n if (scroll === void 0) {\n scroll = getWindowScroll();\n }\n\n return offset(original, scroll);\n};\nvar calculateBox = function calculateBox(borderBox, styles) {\n var margin = {\n top: parse(styles.marginTop),\n right: parse(styles.marginRight),\n bottom: parse(styles.marginBottom),\n left: parse(styles.marginLeft)\n };\n var padding = {\n top: parse(styles.paddingTop),\n right: parse(styles.paddingRight),\n bottom: parse(styles.paddingBottom),\n left: parse(styles.paddingLeft)\n };\n var border = {\n top: parse(styles.borderTopWidth),\n right: parse(styles.borderRightWidth),\n bottom: parse(styles.borderBottomWidth),\n left: parse(styles.borderLeftWidth)\n };\n return createBox({\n borderBox: borderBox,\n margin: margin,\n padding: padding,\n border: border\n });\n};\nvar getBox = function getBox(el) {\n var borderBox = el.getBoundingClientRect();\n var styles = window.getComputedStyle(el);\n return calculateBox(borderBox, styles);\n};\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY3NzLWJveC1tb2RlbC9kaXN0L2Nzcy1ib3gtbW9kZWwuZXNtLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Nzcy1ib3gtbW9kZWwvZGlzdC9jc3MtYm94LW1vZGVsLmVzbS5qcz84ZTNmIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBpbnZhcmlhbnQgZnJvbSAndGlueS1pbnZhcmlhbnQnO1xuXG52YXIgZ2V0UmVjdCA9IGZ1bmN0aW9uIGdldFJlY3QoX3JlZikge1xuICB2YXIgdG9wID0gX3JlZi50b3AsXG4gICAgICByaWdodCA9IF9yZWYucmlnaHQsXG4gICAgICBib3R0b20gPSBfcmVmLmJvdHRvbSxcbiAgICAgIGxlZnQgPSBfcmVmLmxlZnQ7XG4gIHZhciB3aWR0aCA9IHJpZ2h0IC0gbGVmdDtcbiAgdmFyIGhlaWdodCA9IGJvdHRvbSAtIHRvcDtcbiAgdmFyIHJlY3QgPSB7XG4gICAgdG9wOiB0b3AsXG4gICAgcmlnaHQ6IHJpZ2h0LFxuICAgIGJvdHRvbTogYm90dG9tLFxuICAgIGxlZnQ6IGxlZnQsXG4gICAgd2lkdGg6IHdpZHRoLFxuICAgIGhlaWdodDogaGVpZ2h0LFxuICAgIHg6IGxlZnQsXG4gICAgeTogdG9wLFxuICAgIGNlbnRlcjoge1xuICAgICAgeDogKHJpZ2h0ICsgbGVmdCkgLyAyLFxuICAgICAgeTogKGJvdHRvbSArIHRvcCkgLyAyXG4gICAgfVxuICB9O1xuICByZXR1cm4gcmVjdDtcbn07XG52YXIgZXhwYW5kID0gZnVuY3Rpb24gZXhwYW5kKHRhcmdldCwgZXhwYW5kQnkpIHtcbiAgcmV0dXJuIHtcbiAgICB0b3A6IHRhcmdldC50b3AgLSBleHBhbmRCeS50b3AsXG4gICAgbGVmdDogdGFyZ2V0LmxlZnQgLSBleHBhbmRCeS5sZWZ0LFxuICAgIGJvdHRvbTogdGFyZ2V0LmJvdHRvbSArIGV4cGFuZEJ5LmJvdHRvbSxcbiAgICByaWdodDogdGFyZ2V0LnJpZ2h0ICsgZXhwYW5kQnkucmlnaHRcbiAgfTtcbn07XG52YXIgc2hyaW5rID0gZnVuY3Rpb24gc2hyaW5rKHRhcmdldCwgc2hyaW5rQnkpIHtcbiAgcmV0dXJuIHtcbiAgICB0b3A6IHRhcmdldC50b3AgKyBzaHJpbmtCeS50b3AsXG4gICAgbGVmdDogdGFyZ2V0LmxlZnQgKyBzaHJpbmtCeS5sZWZ0LFxuICAgIGJvdHRvbTogdGFyZ2V0LmJvdHRvbSAtIHNocmlua0J5LmJvdHRvbSxcbiAgICByaWdodDogdGFyZ2V0LnJpZ2h0IC0gc2hyaW5rQnkucmlnaHRcbiAgfTtcbn07XG5cbnZhciBzaGlmdCA9IGZ1bmN0aW9uIHNoaWZ0KHRhcmdldCwgc2hpZnRCeSkge1xuICByZXR1cm4ge1xuICAgIHRvcDogdGFyZ2V0LnRvcCArIHNoaWZ0QnkueSxcbiAgICBsZWZ0OiB0YXJnZXQubGVmdCArIHNoaWZ0QnkueCxcbiAgICBib3R0b206IHRhcmdldC5ib3R0b20gKyBzaGlmdEJ5LnksXG4gICAgcmlnaHQ6IHRhcmdldC5yaWdodCArIHNoaWZ0QnkueFxuICB9O1xufTtcblxudmFyIG5vU3BhY2luZyA9IHtcbiAgdG9wOiAwLFxuICByaWdodDogMCxcbiAgYm90dG9tOiAwLFxuICBsZWZ0OiAwXG59O1xudmFyIGNyZWF0ZUJveCA9IGZ1bmN0aW9uIGNyZWF0ZUJveChfcmVmMikge1xuICB2YXIgYm9yZGVyQm94ID0gX3JlZjIuYm9yZGVyQm94LFxuICAgICAgX3JlZjIkbWFyZ2luID0gX3JlZjIubWFyZ2luLFxuICAgICAgbWFyZ2luID0gX3JlZjIkbWFyZ2luID09PSB2b2lkIDAgPyBub1NwYWNpbmcgOiBfcmVmMiRtYXJnaW4sXG4gICAgICBfcmVmMiRib3JkZXIgPSBfcmVmMi5ib3JkZXIsXG4gICAgICBib3JkZXIgPSBfcmVmMiRib3JkZXIgPT09IHZvaWQgMCA/IG5vU3BhY2luZyA6IF9yZWYyJGJvcmRlcixcbiAgICAgIF9yZWYyJHBhZGRpbmcgPSBfcmVmMi5wYWRkaW5nLFxuICAgICAgcGFkZGluZyA9IF9yZWYyJHBhZGRpbmcgPT09IHZvaWQgMCA/IG5vU3BhY2luZyA6IF9yZWYyJHBhZGRpbmc7XG4gIHZhciBtYXJnaW5Cb3ggPSBnZXRSZWN0KGV4cGFuZChib3JkZXJCb3gsIG1hcmdpbikpO1xuICB2YXIgcGFkZGluZ0JveCA9IGdldFJlY3Qoc2hyaW5rKGJvcmRlckJveCwgYm9yZGVyKSk7XG4gIHZhciBjb250ZW50Qm94ID0gZ2V0UmVjdChzaHJpbmsocGFkZGluZ0JveCwgcGFkZGluZykpO1xuICByZXR1cm4ge1xuICAgIG1hcmdpbkJveDogbWFyZ2luQm94LFxuICAgIGJvcmRlckJveDogZ2V0UmVjdChib3JkZXJCb3gpLFxuICAgIHBhZGRpbmdCb3g6IHBhZGRpbmdCb3gsXG4gICAgY29udGVudEJveDogY29udGVudEJveCxcbiAgICBtYXJnaW46IG1hcmdpbixcbiAgICBib3JkZXI6IGJvcmRlcixcbiAgICBwYWRkaW5nOiBwYWRkaW5nXG4gIH07XG59O1xuXG52YXIgcGFyc2UgPSBmdW5jdGlvbiBwYXJzZShyYXcpIHtcbiAgdmFyIHZhbHVlID0gcmF3LnNsaWNlKDAsIC0yKTtcbiAgdmFyIHN1ZmZpeCA9IHJhdy5zbGljZSgtMik7XG5cbiAgaWYgKHN1ZmZpeCAhPT0gJ3B4Jykge1xuICAgIHJldHVybiAwO1xuICB9XG5cbiAgdmFyIHJlc3VsdCA9IE51bWJlcih2YWx1ZSk7XG4gICEhaXNOYU4ocmVzdWx0KSA/IHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIiA/IGludmFyaWFudChmYWxzZSwgXCJDb3VsZCBub3QgcGFyc2UgdmFsdWUgW3JhdzogXCIgKyByYXcgKyBcIiwgd2l0aG91dCBzdWZmaXg6IFwiICsgdmFsdWUgKyBcIl1cIikgOiBpbnZhcmlhbnQoZmFsc2UpIDogdm9pZCAwO1xuICByZXR1cm4gcmVzdWx0O1xufTtcblxudmFyIGdldFdpbmRvd1Njcm9sbCA9IGZ1bmN0aW9uIGdldFdpbmRvd1Njcm9sbCgpIHtcbiAgcmV0dXJuIHtcbiAgICB4OiB3aW5kb3cucGFnZVhPZmZzZXQsXG4gICAgeTogd2luZG93LnBhZ2VZT2Zmc2V0XG4gIH07XG59O1xuXG52YXIgb2Zmc2V0ID0gZnVuY3Rpb24gb2Zmc2V0KG9yaWdpbmFsLCBjaGFuZ2UpIHtcbiAgdmFyIGJvcmRlckJveCA9IG9yaWdpbmFsLmJvcmRlckJveCxcbiAgICAgIGJvcmRlciA9IG9yaWdpbmFsLmJvcmRlcixcbiAgICAgIG1hcmdpbiA9IG9yaWdpbmFsLm1hcmdpbixcbiAgICAgIHBhZGRpbmcgPSBvcmlnaW5hbC5wYWRkaW5nO1xuICB2YXIgc2hpZnRlZCA9IHNoaWZ0KGJvcmRlckJveCwgY2hhbmdlKTtcbiAgcmV0dXJuIGNyZWF0ZUJveCh7XG4gICAgYm9yZGVyQm94OiBzaGlmdGVkLFxuICAgIGJvcmRlcjogYm9yZGVyLFxuICAgIG1hcmdpbjogbWFyZ2luLFxuICAgIHBhZGRpbmc6IHBhZGRpbmdcbiAgfSk7XG59O1xudmFyIHdpdGhTY3JvbGwgPSBmdW5jdGlvbiB3aXRoU2Nyb2xsKG9yaWdpbmFsLCBzY3JvbGwpIHtcbiAgaWYgKHNjcm9sbCA9PT0gdm9pZCAwKSB7XG4gICAgc2Nyb2xsID0gZ2V0V2luZG93U2Nyb2xsKCk7XG4gIH1cblxuICByZXR1cm4gb2Zmc2V0KG9yaWdpbmFsLCBzY3JvbGwpO1xufTtcbnZhciBjYWxjdWxhdGVCb3ggPSBmdW5jdGlvbiBjYWxjdWxhdGVCb3goYm9yZGVyQm94LCBzdHlsZXMpIHtcbiAgdmFyIG1hcmdpbiA9IHtcbiAgICB0b3A6IHBhcnNlKHN0eWxlcy5tYXJnaW5Ub3ApLFxuICAgIHJpZ2h0OiBwYXJzZShzdHlsZXMubWFyZ2luUmlnaHQpLFxuICAgIGJvdHRvbTogcGFyc2Uoc3R5bGVzLm1hcmdpbkJvdHRvbSksXG4gICAgbGVmdDogcGFyc2Uoc3R5bGVzLm1hcmdpbkxlZnQpXG4gIH07XG4gIHZhciBwYWRkaW5nID0ge1xuICAgIHRvcDogcGFyc2Uoc3R5bGVzLnBhZGRpbmdUb3ApLFxuICAgIHJpZ2h0OiBwYXJzZShzdHlsZXMucGFkZGluZ1JpZ2h0KSxcbiAgICBib3R0b206IHBhcnNlKHN0eWxlcy5wYWRkaW5nQm90dG9tKSxcbiAgICBsZWZ0OiBwYXJzZShzdHlsZXMucGFkZGluZ0xlZnQpXG4gIH07XG4gIHZhciBib3JkZXIgPSB7XG4gICAgdG9wOiBwYXJzZShzdHlsZXMuYm9yZGVyVG9wV2lkdGgpLFxuICAgIHJpZ2h0OiBwYXJzZShzdHlsZXMuYm9yZGVyUmlnaHRXaWR0aCksXG4gICAgYm90dG9tOiBwYXJzZShzdHlsZXMuYm9yZGVyQm90dG9tV2lkdGgpLFxuICAgIGxlZnQ6IHBhcnNlKHN0eWxlcy5ib3JkZXJMZWZ0V2lkdGgpXG4gIH07XG4gIHJldHVybiBjcmVhdGVCb3goe1xuICAgIGJvcmRlckJveDogYm9yZGVyQm94LFxuICAgIG1hcmdpbjogbWFyZ2luLFxuICAgIHBhZGRpbmc6IHBhZGRpbmcsXG4gICAgYm9yZGVyOiBib3JkZXJcbiAgfSk7XG59O1xudmFyIGdldEJveCA9IGZ1bmN0aW9uIGdldEJveChlbCkge1xuICB2YXIgYm9yZGVyQm94ID0gZWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gIHZhciBzdHlsZXMgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlbCk7XG4gIHJldHVybiBjYWxjdWxhdGVCb3goYm9yZGVyQm94LCBzdHlsZXMpO1xufTtcblxuZXhwb3J0IHsgY2FsY3VsYXRlQm94LCBjcmVhdGVCb3gsIGV4cGFuZCwgZ2V0Qm94LCBnZXRSZWN0LCBvZmZzZXQsIHNocmluaywgd2l0aFNjcm9sbCB9O1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/css-box-model/dist/css-box-model.esm.js\n"); /***/ }), /***/ "./node_modules/css-box-model/node_modules/tiny-invariant/dist/tiny-invariant.esm.js": /*!*******************************************************************************************!*\ !*** ./node_modules/css-box-model/node_modules/tiny-invariant/dist/tiny-invariant.esm.js ***! \*******************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\nvar isProduction = \"development\" === 'production';\nvar prefix = 'Invariant failed';\nfunction invariant(condition, message) {\n if (condition) {\n return;\n }\n if (isProduction) {\n throw new Error(prefix);\n }\n throw new Error(prefix + \": \" + (message || ''));\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (invariant);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY3NzLWJveC1tb2RlbC9ub2RlX21vZHVsZXMvdGlueS1pbnZhcmlhbnQvZGlzdC90aW55LWludmFyaWFudC5lc20uanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY3NzLWJveC1tb2RlbC9ub2RlX21vZHVsZXMvdGlueS1pbnZhcmlhbnQvZGlzdC90aW55LWludmFyaWFudC5lc20uanM/NjY1MiJdLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgaXNQcm9kdWN0aW9uID0gcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09ICdwcm9kdWN0aW9uJztcbnZhciBwcmVmaXggPSAnSW52YXJpYW50IGZhaWxlZCc7XG5mdW5jdGlvbiBpbnZhcmlhbnQoY29uZGl0aW9uLCBtZXNzYWdlKSB7XG4gICAgaWYgKGNvbmRpdGlvbikge1xuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmIChpc1Byb2R1Y3Rpb24pIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKHByZWZpeCk7XG4gICAgfVxuICAgIHRocm93IG5ldyBFcnJvcihwcmVmaXggKyBcIjogXCIgKyAobWVzc2FnZSB8fCAnJykpO1xufVxuXG5leHBvcnQgZGVmYXVsdCBpbnZhcmlhbnQ7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/css-box-model/node_modules/tiny-invariant/dist/tiny-invariant.esm.js\n"); /***/ }), /***/ "./node_modules/css-in-js-utils/lib/hyphenateProperty.js": /*!***************************************************************!*\ !*** ./node_modules/css-in-js-utils/lib/hyphenateProperty.js ***! \***************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = hyphenateProperty;\n\nvar _hyphenateStyleName = __webpack_require__(/*! hyphenate-style-name */ \"./node_modules/hyphenate-style-name/index.js\");\n\nvar _hyphenateStyleName2 = _interopRequireDefault(_hyphenateStyleName);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction hyphenateProperty(property) {\n return (0, _hyphenateStyleName2.default)(property);\n}\nmodule.exports = exports['default'];//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY3NzLWluLWpzLXV0aWxzL2xpYi9oeXBoZW5hdGVQcm9wZXJ0eS5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jc3MtaW4tanMtdXRpbHMvbGliL2h5cGhlbmF0ZVByb3BlcnR5LmpzPzQ3M2YiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuZXhwb3J0cy5kZWZhdWx0ID0gaHlwaGVuYXRlUHJvcGVydHk7XG5cbnZhciBfaHlwaGVuYXRlU3R5bGVOYW1lID0gcmVxdWlyZSgnaHlwaGVuYXRlLXN0eWxlLW5hbWUnKTtcblxudmFyIF9oeXBoZW5hdGVTdHlsZU5hbWUyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfaHlwaGVuYXRlU3R5bGVOYW1lKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxuZnVuY3Rpb24gaHlwaGVuYXRlUHJvcGVydHkocHJvcGVydHkpIHtcbiAgcmV0dXJuICgwLCBfaHlwaGVuYXRlU3R5bGVOYW1lMi5kZWZhdWx0KShwcm9wZXJ0eSk7XG59XG5tb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHNbJ2RlZmF1bHQnXTsiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/css-in-js-utils/lib/hyphenateProperty.js\n"); /***/ }), /***/ "./node_modules/css-in-js-utils/lib/isPrefixedValue.js": /*!*************************************************************!*\ !*** ./node_modules/css-in-js-utils/lib/isPrefixedValue.js ***! \*************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = isPrefixedValue;\nvar regex = /-webkit-|-moz-|-ms-/;\n\nfunction isPrefixedValue(value) {\n return typeof value === 'string' && regex.test(value);\n}\nmodule.exports = exports['default'];//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY3NzLWluLWpzLXV0aWxzL2xpYi9pc1ByZWZpeGVkVmFsdWUuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY3NzLWluLWpzLXV0aWxzL2xpYi9pc1ByZWZpeGVkVmFsdWUuanM/YjE0YiJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG5leHBvcnRzLmRlZmF1bHQgPSBpc1ByZWZpeGVkVmFsdWU7XG52YXIgcmVnZXggPSAvLXdlYmtpdC18LW1vei18LW1zLS87XG5cbmZ1bmN0aW9uIGlzUHJlZml4ZWRWYWx1ZSh2YWx1ZSkge1xuICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyAmJiByZWdleC50ZXN0KHZhbHVlKTtcbn1cbm1vZHVsZS5leHBvcnRzID0gZXhwb3J0c1snZGVmYXVsdCddOyJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/css-in-js-utils/lib/isPrefixedValue.js\n"); /***/ }), /***/ "./node_modules/css-loader/dist/runtime/api.js": /*!*****************************************************!*\ !*** ./node_modules/css-loader/dist/runtime/api.js ***! \*****************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; eval("\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\n// eslint-disable-next-line func-names\nmodule.exports = function (useSourceMap) {\n var list = []; // return the list of modules as css string\n\n list.toString = function toString() {\n return this.map(function (item) {\n var content = cssWithMappingToString(item, useSourceMap);\n\n if (item[2]) {\n return \"@media \".concat(item[2], \"{\").concat(content, \"}\");\n }\n\n return content;\n }).join('');\n }; // import a list of modules into the list\n // eslint-disable-next-line func-names\n\n\n list.i = function (modules, mediaQuery) {\n if (typeof modules === 'string') {\n // eslint-disable-next-line no-param-reassign\n modules = [[null, modules, '']];\n }\n\n var alreadyImportedModules = {};\n\n for (var i = 0; i < this.length; i++) {\n // eslint-disable-next-line prefer-destructuring\n var id = this[i][0];\n\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n\n for (var _i = 0; _i < modules.length; _i++) {\n var item = modules[_i]; // skip already imported module\n // this implementation is not 100% perfect for weird media query combinations\n // when a module is imported multiple times with different media queries.\n // I hope this will never occur (Hey this way we have smaller bundles)\n\n if (item[0] == null || !alreadyImportedModules[item[0]]) {\n if (mediaQuery && !item[2]) {\n item[2] = mediaQuery;\n } else if (mediaQuery) {\n item[2] = \"(\".concat(item[2], \") and (\").concat(mediaQuery, \")\");\n }\n\n list.push(item);\n }\n }\n };\n\n return list;\n};\n\nfunction cssWithMappingToString(item, useSourceMap) {\n var content = item[1] || ''; // eslint-disable-next-line prefer-destructuring\n\n var cssMapping = item[3];\n\n if (!cssMapping) {\n return content;\n }\n\n if (useSourceMap && typeof btoa === 'function') {\n var sourceMapping = toComment(cssMapping);\n var sourceURLs = cssMapping.sources.map(function (source) {\n return \"/*# sourceURL=\".concat(cssMapping.sourceRoot).concat(source, \" */\");\n });\n return [content].concat(sourceURLs).concat([sourceMapping]).join('\\n');\n }\n\n return [content].join('\\n');\n} // Adapted from convert-source-map (MIT)\n\n\nfunction toComment(sourceMap) {\n // eslint-disable-next-line no-undef\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n return \"/*# \".concat(data, \" */\");\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvYXBpLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL2FwaS5qcz8yNGZiIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG4vKlxuICBNSVQgTGljZW5zZSBodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL21pdC1saWNlbnNlLnBocFxuICBBdXRob3IgVG9iaWFzIEtvcHBlcnMgQHNva3JhXG4qL1xuLy8gY3NzIGJhc2UgY29kZSwgaW5qZWN0ZWQgYnkgdGhlIGNzcy1sb2FkZXJcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBmdW5jLW5hbWVzXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uICh1c2VTb3VyY2VNYXApIHtcbiAgdmFyIGxpc3QgPSBbXTsgLy8gcmV0dXJuIHRoZSBsaXN0IG9mIG1vZHVsZXMgYXMgY3NzIHN0cmluZ1xuXG4gIGxpc3QudG9TdHJpbmcgPSBmdW5jdGlvbiB0b1N0cmluZygpIHtcbiAgICByZXR1cm4gdGhpcy5tYXAoZnVuY3Rpb24gKGl0ZW0pIHtcbiAgICAgIHZhciBjb250ZW50ID0gY3NzV2l0aE1hcHBpbmdUb1N0cmluZyhpdGVtLCB1c2VTb3VyY2VNYXApO1xuXG4gICAgICBpZiAoaXRlbVsyXSkge1xuICAgICAgICByZXR1cm4gXCJAbWVkaWEgXCIuY29uY2F0KGl0ZW1bMl0sIFwie1wiKS5jb25jYXQoY29udGVudCwgXCJ9XCIpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gY29udGVudDtcbiAgICB9KS5qb2luKCcnKTtcbiAgfTsgLy8gaW1wb3J0IGEgbGlzdCBvZiBtb2R1bGVzIGludG8gdGhlIGxpc3RcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGZ1bmMtbmFtZXNcblxuXG4gIGxpc3QuaSA9IGZ1bmN0aW9uIChtb2R1bGVzLCBtZWRpYVF1ZXJ5KSB7XG4gICAgaWYgKHR5cGVvZiBtb2R1bGVzID09PSAnc3RyaW5nJykge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXBhcmFtLXJlYXNzaWduXG4gICAgICBtb2R1bGVzID0gW1tudWxsLCBtb2R1bGVzLCAnJ11dO1xuICAgIH1cblxuICAgIHZhciBhbHJlYWR5SW1wb3J0ZWRNb2R1bGVzID0ge307XG5cbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBwcmVmZXItZGVzdHJ1Y3R1cmluZ1xuICAgICAgdmFyIGlkID0gdGhpc1tpXVswXTtcblxuICAgICAgaWYgKGlkICE9IG51bGwpIHtcbiAgICAgICAgYWxyZWFkeUltcG9ydGVkTW9kdWxlc1tpZF0gPSB0cnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGZvciAodmFyIF9pID0gMDsgX2kgPCBtb2R1bGVzLmxlbmd0aDsgX2krKykge1xuICAgICAgdmFyIGl0ZW0gPSBtb2R1bGVzW19pXTsgLy8gc2tpcCBhbHJlYWR5IGltcG9ydGVkIG1vZHVsZVxuICAgICAgLy8gdGhpcyBpbXBsZW1lbnRhdGlvbiBpcyBub3QgMTAwJSBwZXJmZWN0IGZvciB3ZWlyZCBtZWRpYSBxdWVyeSBjb21iaW5hdGlvbnNcbiAgICAgIC8vIHdoZW4gYSBtb2R1bGUgaXMgaW1wb3J0ZWQgbXVsdGlwbGUgdGltZXMgd2l0aCBkaWZmZXJlbnQgbWVkaWEgcXVlcmllcy5cbiAgICAgIC8vIEkgaG9wZSB0aGlzIHdpbGwgbmV2ZXIgb2NjdXIgKEhleSB0aGlzIHdheSB3ZSBoYXZlIHNtYWxsZXIgYnVuZGxlcylcblxuICAgICAgaWYgKGl0ZW1bMF0gPT0gbnVsbCB8fCAhYWxyZWFkeUltcG9ydGVkTW9kdWxlc1tpdGVtWzBdXSkge1xuICAgICAgICBpZiAobWVkaWFRdWVyeSAmJiAhaXRlbVsyXSkge1xuICAgICAgICAgIGl0ZW1bMl0gPSBtZWRpYVF1ZXJ5O1xuICAgICAgICB9IGVsc2UgaWYgKG1lZGlhUXVlcnkpIHtcbiAgICAgICAgICBpdGVtWzJdID0gXCIoXCIuY29uY2F0KGl0ZW1bMl0sIFwiKSBhbmQgKFwiKS5jb25jYXQobWVkaWFRdWVyeSwgXCIpXCIpO1xuICAgICAgICB9XG5cbiAgICAgICAgbGlzdC5wdXNoKGl0ZW0pO1xuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICByZXR1cm4gbGlzdDtcbn07XG5cbmZ1bmN0aW9uIGNzc1dpdGhNYXBwaW5nVG9TdHJpbmcoaXRlbSwgdXNlU291cmNlTWFwKSB7XG4gIHZhciBjb250ZW50ID0gaXRlbVsxXSB8fCAnJzsgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHByZWZlci1kZXN0cnVjdHVyaW5nXG5cbiAgdmFyIGNzc01hcHBpbmcgPSBpdGVtWzNdO1xuXG4gIGlmICghY3NzTWFwcGluZykge1xuICAgIHJldHVybiBjb250ZW50O1xuICB9XG5cbiAgaWYgKHVzZVNvdXJjZU1hcCAmJiB0eXBlb2YgYnRvYSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHZhciBzb3VyY2VNYXBwaW5nID0gdG9Db21tZW50KGNzc01hcHBpbmcpO1xuICAgIHZhciBzb3VyY2VVUkxzID0gY3NzTWFwcGluZy5zb3VyY2VzLm1hcChmdW5jdGlvbiAoc291cmNlKSB7XG4gICAgICByZXR1cm4gXCIvKiMgc291cmNlVVJMPVwiLmNvbmNhdChjc3NNYXBwaW5nLnNvdXJjZVJvb3QpLmNvbmNhdChzb3VyY2UsIFwiICovXCIpO1xuICAgIH0pO1xuICAgIHJldHVybiBbY29udGVudF0uY29uY2F0KHNvdXJjZVVSTHMpLmNvbmNhdChbc291cmNlTWFwcGluZ10pLmpvaW4oJ1xcbicpO1xuICB9XG5cbiAgcmV0dXJuIFtjb250ZW50XS5qb2luKCdcXG4nKTtcbn0gLy8gQWRhcHRlZCBmcm9tIGNvbnZlcnQtc291cmNlLW1hcCAoTUlUKVxuXG5cbmZ1bmN0aW9uIHRvQ29tbWVudChzb3VyY2VNYXApIHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVuZGVmXG4gIHZhciBiYXNlNjQgPSBidG9hKHVuZXNjYXBlKGVuY29kZVVSSUNvbXBvbmVudChKU09OLnN0cmluZ2lmeShzb3VyY2VNYXApKSkpO1xuICB2YXIgZGF0YSA9IFwic291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsXCIuY29uY2F0KGJhc2U2NCk7XG4gIHJldHVybiBcIi8qIyBcIi5jb25jYXQoZGF0YSwgXCIgKi9cIik7XG59Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/css-loader/dist/runtime/api.js\n"); /***/ }), /***/ "./node_modules/cssfilter/lib/css.js": /*!*******************************************!*\ !*** ./node_modules/cssfilter/lib/css.js ***! \*******************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("/**\n * cssfilter\n *\n * @author 老雷\n */\n\nvar DEFAULT = __webpack_require__(/*! ./default */ \"./node_modules/cssfilter/lib/default.js\");\nvar parseStyle = __webpack_require__(/*! ./parser */ \"./node_modules/cssfilter/lib/parser.js\");\nvar _ = __webpack_require__(/*! ./util */ \"./node_modules/cssfilter/lib/util.js\");\n\n\n/**\n * 返回值是否为空\n *\n * @param {Object} obj\n * @return {Boolean}\n */\nfunction isNull (obj) {\n return (obj === undefined || obj === null);\n}\n\n/**\n * 浅拷贝对象\n *\n * @param {Object} obj\n * @return {Object}\n */\nfunction shallowCopyObject (obj) {\n var ret = {};\n for (var i in obj) {\n ret[i] = obj[i];\n }\n return ret;\n}\n\n/**\n * 创建CSS过滤器\n *\n * @param {Object} options\n * - {Object} whiteList\n * - {Function} onAttr\n * - {Function} onIgnoreAttr\n * - {Function} safeAttrValue\n */\nfunction FilterCSS (options) {\n options = shallowCopyObject(options || {});\n options.whiteList = options.whiteList || DEFAULT.whiteList;\n options.onAttr = options.onAttr || DEFAULT.onAttr;\n options.onIgnoreAttr = options.onIgnoreAttr || DEFAULT.onIgnoreAttr;\n options.safeAttrValue = options.safeAttrValue || DEFAULT.safeAttrValue;\n this.options = options;\n}\n\nFilterCSS.prototype.process = function (css) {\n // 兼容各种奇葩输入\n css = css || '';\n css = css.toString();\n if (!css) return '';\n\n var me = this;\n var options = me.options;\n var whiteList = options.whiteList;\n var onAttr = options.onAttr;\n var onIgnoreAttr = options.onIgnoreAttr;\n var safeAttrValue = options.safeAttrValue;\n\n var retCSS = parseStyle(css, function (sourcePosition, position, name, value, source) {\n\n var check = whiteList[name];\n var isWhite = false;\n if (check === true) isWhite = check;\n else if (typeof check === 'function') isWhite = check(value);\n else if (check instanceof RegExp) isWhite = check.test(value);\n if (isWhite !== true) isWhite = false;\n\n // 如果过滤后 value 为空则直接忽略\n value = safeAttrValue(name, value);\n if (!value) return;\n\n var opts = {\n position: position,\n sourcePosition: sourcePosition,\n source: source,\n isWhite: isWhite\n };\n\n if (isWhite) {\n\n var ret = onAttr(name, value, opts);\n if (isNull(ret)) {\n return name + ':' + value;\n } else {\n return ret;\n }\n\n } else {\n\n var ret = onIgnoreAttr(name, value, opts);\n if (!isNull(ret)) {\n return ret;\n }\n\n }\n });\n\n return retCSS;\n};\n\n\nmodule.exports = FilterCSS;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY3NzZmlsdGVyL2xpYi9jc3MuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY3NzZmlsdGVyL2xpYi9jc3MuanM/YmM2YyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIGNzc2ZpbHRlclxuICpcbiAqIEBhdXRob3Ig6ICB6Zu3PGxlaXpvbmdtaW5AZ21haWwuY29tPlxuICovXG5cbnZhciBERUZBVUxUID0gcmVxdWlyZSgnLi9kZWZhdWx0Jyk7XG52YXIgcGFyc2VTdHlsZSA9IHJlcXVpcmUoJy4vcGFyc2VyJyk7XG52YXIgXyA9IHJlcXVpcmUoJy4vdXRpbCcpO1xuXG5cbi8qKlxuICog6L+U5Zue5YC85piv5ZCm5Li656m6XG4gKlxuICogQHBhcmFtIHtPYmplY3R9IG9ialxuICogQHJldHVybiB7Qm9vbGVhbn1cbiAqL1xuZnVuY3Rpb24gaXNOdWxsIChvYmopIHtcbiAgcmV0dXJuIChvYmogPT09IHVuZGVmaW5lZCB8fCBvYmogPT09IG51bGwpO1xufVxuXG4vKipcbiAqIOa1heaLt+i0neWvueixoVxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSBvYmpcbiAqIEByZXR1cm4ge09iamVjdH1cbiAqL1xuZnVuY3Rpb24gc2hhbGxvd0NvcHlPYmplY3QgKG9iaikge1xuICB2YXIgcmV0ID0ge307XG4gIGZvciAodmFyIGkgaW4gb2JqKSB7XG4gICAgcmV0W2ldID0gb2JqW2ldO1xuICB9XG4gIHJldHVybiByZXQ7XG59XG5cbi8qKlxuICog5Yib5bu6Q1NT6L+H5ruk5ZmoXG4gKlxuICogQHBhcmFtIHtPYmplY3R9IG9wdGlvbnNcbiAqICAgLSB7T2JqZWN0fSB3aGl0ZUxpc3RcbiAqICAgLSB7RnVuY3Rpb259IG9uQXR0clxuICogICAtIHtGdW5jdGlvbn0gb25JZ25vcmVBdHRyXG4gKiAgIC0ge0Z1bmN0aW9ufSBzYWZlQXR0clZhbHVlXG4gKi9cbmZ1bmN0aW9uIEZpbHRlckNTUyAob3B0aW9ucykge1xuICBvcHRpb25zID0gc2hhbGxvd0NvcHlPYmplY3Qob3B0aW9ucyB8fCB7fSk7XG4gIG9wdGlvbnMud2hpdGVMaXN0ID0gb3B0aW9ucy53aGl0ZUxpc3QgfHwgREVGQVVMVC53aGl0ZUxpc3Q7XG4gIG9wdGlvbnMub25BdHRyID0gb3B0aW9ucy5vbkF0dHIgfHwgREVGQVVMVC5vbkF0dHI7XG4gIG9wdGlvbnMub25JZ25vcmVBdHRyID0gb3B0aW9ucy5vbklnbm9yZUF0dHIgfHwgREVGQVVMVC5vbklnbm9yZUF0dHI7XG4gIG9wdGlvbnMuc2FmZUF0dHJWYWx1ZSA9IG9wdGlvbnMuc2FmZUF0dHJWYWx1ZSB8fCBERUZBVUxULnNhZmVBdHRyVmFsdWU7XG4gIHRoaXMub3B0aW9ucyA9IG9wdGlvbnM7XG59XG5cbkZpbHRlckNTUy5wcm90b3R5cGUucHJvY2VzcyA9IGZ1bmN0aW9uIChjc3MpIHtcbiAgLy8g5YW85a655ZCE56eN5aWH6JGp6L6T5YWlXG4gIGNzcyA9IGNzcyB8fCAnJztcbiAgY3NzID0gY3NzLnRvU3RyaW5nKCk7XG4gIGlmICghY3NzKSByZXR1cm4gJyc7XG5cbiAgdmFyIG1lID0gdGhpcztcbiAgdmFyIG9wdGlvbnMgPSBtZS5vcHRpb25zO1xuICB2YXIgd2hpdGVMaXN0ID0gb3B0aW9ucy53aGl0ZUxpc3Q7XG4gIHZhciBvbkF0dHIgPSBvcHRpb25zLm9uQXR0cjtcbiAgdmFyIG9uSWdub3JlQXR0ciA9IG9wdGlvbnMub25JZ25vcmVBdHRyO1xuICB2YXIgc2FmZUF0dHJWYWx1ZSA9IG9wdGlvbnMuc2FmZUF0dHJWYWx1ZTtcblxuICB2YXIgcmV0Q1NTID0gcGFyc2VTdHlsZShjc3MsIGZ1bmN0aW9uIChzb3VyY2VQb3NpdGlvbiwgcG9zaXRpb24sIG5hbWUsIHZhbHVlLCBzb3VyY2UpIHtcblxuICAgIHZhciBjaGVjayA9IHdoaXRlTGlzdFtuYW1lXTtcbiAgICB2YXIgaXNXaGl0ZSA9IGZhbHNlO1xuICAgIGlmIChjaGVjayA9PT0gdHJ1ZSkgaXNXaGl0ZSA9IGNoZWNrO1xuICAgIGVsc2UgaWYgKHR5cGVvZiBjaGVjayA9PT0gJ2Z1bmN0aW9uJykgaXNXaGl0ZSA9IGNoZWNrKHZhbHVlKTtcbiAgICBlbHNlIGlmIChjaGVjayBpbnN0YW5jZW9mIFJlZ0V4cCkgaXNXaGl0ZSA9IGNoZWNrLnRlc3QodmFsdWUpO1xuICAgIGlmIChpc1doaXRlICE9PSB0cnVlKSBpc1doaXRlID0gZmFsc2U7XG5cbiAgICAvLyDlpoLmnpzov4fmu6TlkI4gdmFsdWUg5Li656m65YiZ55u05o6l5b+955WlXG4gICAgdmFsdWUgPSBzYWZlQXR0clZhbHVlKG5hbWUsIHZhbHVlKTtcbiAgICBpZiAoIXZhbHVlKSByZXR1cm47XG5cbiAgICB2YXIgb3B0cyA9IHtcbiAgICAgIHBvc2l0aW9uOiBwb3NpdGlvbixcbiAgICAgIHNvdXJjZVBvc2l0aW9uOiBzb3VyY2VQb3NpdGlvbixcbiAgICAgIHNvdXJjZTogc291cmNlLFxuICAgICAgaXNXaGl0ZTogaXNXaGl0ZVxuICAgIH07XG5cbiAgICBpZiAoaXNXaGl0ZSkge1xuXG4gICAgICB2YXIgcmV0ID0gb25BdHRyKG5hbWUsIHZhbHVlLCBvcHRzKTtcbiAgICAgIGlmIChpc051bGwocmV0KSkge1xuICAgICAgICByZXR1cm4gbmFtZSArICc6JyArIHZhbHVlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHJldDtcbiAgICAgIH1cblxuICAgIH0gZWxzZSB7XG5cbiAgICAgIHZhciByZXQgPSBvbklnbm9yZUF0dHIobmFtZSwgdmFsdWUsIG9wdHMpO1xuICAgICAgaWYgKCFpc051bGwocmV0KSkge1xuICAgICAgICByZXR1cm4gcmV0O1xuICAgICAgfVxuXG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gcmV0Q1NTO1xufTtcblxuXG5tb2R1bGUuZXhwb3J0cyA9IEZpbHRlckNTUztcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/cssfilter/lib/css.js\n"); /***/ }), /***/ "./node_modules/cssfilter/lib/default.js": /*!***********************************************!*\ !*** ./node_modules/cssfilter/lib/default.js ***! \***********************************************/ /*! no static exports found */ /***/ (function(module, exports) { eval("/**\n * cssfilter\n *\n * @author 老雷\n */\n\nfunction getDefaultWhiteList () {\n // 白名单值说明:\n // true: 允许该属性\n // Function: function (val) { } 返回true表示允许该属性,其他值均表示不允许\n // RegExp: regexp.test(val) 返回true表示允许该属性,其他值均表示不允许\n // 除上面列出的值外均表示不允许\n var whiteList = {};\n\n whiteList['align-content'] = false; // default: auto\n whiteList['align-items'] = false; // default: auto\n whiteList['align-self'] = false; // default: auto\n whiteList['alignment-adjust'] = false; // default: auto\n whiteList['alignment-baseline'] = false; // default: baseline\n whiteList['all'] = false; // default: depending on individual properties\n whiteList['anchor-point'] = false; // default: none\n whiteList['animation'] = false; // default: depending on individual properties\n whiteList['animation-delay'] = false; // default: 0\n whiteList['animation-direction'] = false; // default: normal\n whiteList['animation-duration'] = false; // default: 0\n whiteList['animation-fill-mode'] = false; // default: none\n whiteList['animation-iteration-count'] = false; // default: 1\n whiteList['animation-name'] = false; // default: none\n whiteList['animation-play-state'] = false; // default: running\n whiteList['animation-timing-function'] = false; // default: ease\n whiteList['azimuth'] = false; // default: center\n whiteList['backface-visibility'] = false; // default: visible\n whiteList['background'] = true; // default: depending on individual properties\n whiteList['background-attachment'] = true; // default: scroll\n whiteList['background-clip'] = true; // default: border-box\n whiteList['background-color'] = true; // default: transparent\n whiteList['background-image'] = true; // default: none\n whiteList['background-origin'] = true; // default: padding-box\n whiteList['background-position'] = true; // default: 0% 0%\n whiteList['background-repeat'] = true; // default: repeat\n whiteList['background-size'] = true; // default: auto\n whiteList['baseline-shift'] = false; // default: baseline\n whiteList['binding'] = false; // default: none\n whiteList['bleed'] = false; // default: 6pt\n whiteList['bookmark-label'] = false; // default: content()\n whiteList['bookmark-level'] = false; // default: none\n whiteList['bookmark-state'] = false; // default: open\n whiteList['border'] = true; // default: depending on individual properties\n whiteList['border-bottom'] = true; // default: depending on individual properties\n whiteList['border-bottom-color'] = true; // default: current color\n whiteList['border-bottom-left-radius'] = true; // default: 0\n whiteList['border-bottom-right-radius'] = true; // default: 0\n whiteList['border-bottom-style'] = true; // default: none\n whiteList['border-bottom-width'] = true; // default: medium\n whiteList['border-collapse'] = true; // default: separate\n whiteList['border-color'] = true; // default: depending on individual properties\n whiteList['border-image'] = true; // default: none\n whiteList['border-image-outset'] = true; // default: 0\n whiteList['border-image-repeat'] = true; // default: stretch\n whiteList['border-image-slice'] = true; // default: 100%\n whiteList['border-image-source'] = true; // default: none\n whiteList['border-image-width'] = true; // default: 1\n whiteList['border-left'] = true; // default: depending on individual properties\n whiteList['border-left-color'] = true; // default: current color\n whiteList['border-left-style'] = true; // default: none\n whiteList['border-left-width'] = true; // default: medium\n whiteList['border-radius'] = true; // default: 0\n whiteList['border-right'] = true; // default: depending on individual properties\n whiteList['border-right-color'] = true; // default: current color\n whiteList['border-right-style'] = true; // default: none\n whiteList['border-right-width'] = true; // default: medium\n whiteList['border-spacing'] = true; // default: 0\n whiteList['border-style'] = true; // default: depending on individual properties\n whiteList['border-top'] = true; // default: depending on individual properties\n whiteList['border-top-color'] = true; // default: current color\n whiteList['border-top-left-radius'] = true; // default: 0\n whiteList['border-top-right-radius'] = true; // default: 0\n whiteList['border-top-style'] = true; // default: none\n whiteList['border-top-width'] = true; // default: medium\n whiteList['border-width'] = true; // default: depending on individual properties\n whiteList['bottom'] = false; // default: auto\n whiteList['box-decoration-break'] = true; // default: slice\n whiteList['box-shadow'] = true; // default: none\n whiteList['box-sizing'] = true; // default: content-box\n whiteList['box-snap'] = true; // default: none\n whiteList['box-suppress'] = true; // default: show\n whiteList['break-after'] = true; // default: auto\n whiteList['break-before'] = true; // default: auto\n whiteList['break-inside'] = true; // default: auto\n whiteList['caption-side'] = false; // default: top\n whiteList['chains'] = false; // default: none\n whiteList['clear'] = true; // default: none\n whiteList['clip'] = false; // default: auto\n whiteList['clip-path'] = false; // default: none\n whiteList['clip-rule'] = false; // default: nonzero\n whiteList['color'] = true; // default: implementation dependent\n whiteList['color-interpolation-filters'] = true; // default: auto\n whiteList['column-count'] = false; // default: auto\n whiteList['column-fill'] = false; // default: balance\n whiteList['column-gap'] = false; // default: normal\n whiteList['column-rule'] = false; // default: depending on individual properties\n whiteList['column-rule-color'] = false; // default: current color\n whiteList['column-rule-style'] = false; // default: medium\n whiteList['column-rule-width'] = false; // default: medium\n whiteList['column-span'] = false; // default: none\n whiteList['column-width'] = false; // default: auto\n whiteList['columns'] = false; // default: depending on individual properties\n whiteList['contain'] = false; // default: none\n whiteList['content'] = false; // default: normal\n whiteList['counter-increment'] = false; // default: none\n whiteList['counter-reset'] = false; // default: none\n whiteList['counter-set'] = false; // default: none\n whiteList['crop'] = false; // default: auto\n whiteList['cue'] = false; // default: depending on individual properties\n whiteList['cue-after'] = false; // default: none\n whiteList['cue-before'] = false; // default: none\n whiteList['cursor'] = false; // default: auto\n whiteList['direction'] = false; // default: ltr\n whiteList['display'] = true; // default: depending on individual properties\n whiteList['display-inside'] = true; // default: auto\n whiteList['display-list'] = true; // default: none\n whiteList['display-outside'] = true; // default: inline-level\n whiteList['dominant-baseline'] = false; // default: auto\n whiteList['elevation'] = false; // default: level\n whiteList['empty-cells'] = false; // default: show\n whiteList['filter'] = false; // default: none\n whiteList['flex'] = false; // default: depending on individual properties\n whiteList['flex-basis'] = false; // default: auto\n whiteList['flex-direction'] = false; // default: row\n whiteList['flex-flow'] = false; // default: depending on individual properties\n whiteList['flex-grow'] = false; // default: 0\n whiteList['flex-shrink'] = false; // default: 1\n whiteList['flex-wrap'] = false; // default: nowrap\n whiteList['float'] = false; // default: none\n whiteList['float-offset'] = false; // default: 0 0\n whiteList['flood-color'] = false; // default: black\n whiteList['flood-opacity'] = false; // default: 1\n whiteList['flow-from'] = false; // default: none\n whiteList['flow-into'] = false; // default: none\n whiteList['font'] = true; // default: depending on individual properties\n whiteList['font-family'] = true; // default: implementation dependent\n whiteList['font-feature-settings'] = true; // default: normal\n whiteList['font-kerning'] = true; // default: auto\n whiteList['font-language-override'] = true; // default: normal\n whiteList['font-size'] = true; // default: medium\n whiteList['font-size-adjust'] = true; // default: none\n whiteList['font-stretch'] = true; // default: normal\n whiteList['font-style'] = true; // default: normal\n whiteList['font-synthesis'] = true; // default: weight style\n whiteList['font-variant'] = true; // default: normal\n whiteList['font-variant-alternates'] = true; // default: normal\n whiteList['font-variant-caps'] = true; // default: normal\n whiteList['font-variant-east-asian'] = true; // default: normal\n whiteList['font-variant-ligatures'] = true; // default: normal\n whiteList['font-variant-numeric'] = true; // default: normal\n whiteList['font-variant-position'] = true; // default: normal\n whiteList['font-weight'] = true; // default: normal\n whiteList['grid'] = false; // default: depending on individual properties\n whiteList['grid-area'] = false; // default: depending on individual properties\n whiteList['grid-auto-columns'] = false; // default: auto\n whiteList['grid-auto-flow'] = false; // default: none\n whiteList['grid-auto-rows'] = false; // default: auto\n whiteList['grid-column'] = false; // default: depending on individual properties\n whiteList['grid-column-end'] = false; // default: auto\n whiteList['grid-column-start'] = false; // default: auto\n whiteList['grid-row'] = false; // default: depending on individual properties\n whiteList['grid-row-end'] = false; // default: auto\n whiteList['grid-row-start'] = false; // default: auto\n whiteList['grid-template'] = false; // default: depending on individual properties\n whiteList['grid-template-areas'] = false; // default: none\n whiteList['grid-template-columns'] = false; // default: none\n whiteList['grid-template-rows'] = false; // default: none\n whiteList['hanging-punctuation'] = false; // default: none\n whiteList['height'] = true; // default: auto\n whiteList['hyphens'] = false; // default: manual\n whiteList['icon'] = false; // default: auto\n whiteList['image-orientation'] = false; // default: auto\n whiteList['image-resolution'] = false; // default: normal\n whiteList['ime-mode'] = false; // default: auto\n whiteList['initial-letters'] = false; // default: normal\n whiteList['inline-box-align'] = false; // default: last\n whiteList['justify-content'] = false; // default: auto\n whiteList['justify-items'] = false; // default: auto\n whiteList['justify-self'] = false; // default: auto\n whiteList['left'] = false; // default: auto\n whiteList['letter-spacing'] = true; // default: normal\n whiteList['lighting-color'] = true; // default: white\n whiteList['line-box-contain'] = false; // default: block inline replaced\n whiteList['line-break'] = false; // default: auto\n whiteList['line-grid'] = false; // default: match-parent\n whiteList['line-height'] = false; // default: normal\n whiteList['line-snap'] = false; // default: none\n whiteList['line-stacking'] = false; // default: depending on individual properties\n whiteList['line-stacking-ruby'] = false; // default: exclude-ruby\n whiteList['line-stacking-shift'] = false; // default: consider-shifts\n whiteList['line-stacking-strategy'] = false; // default: inline-line-height\n whiteList['list-style'] = true; // default: depending on individual properties\n whiteList['list-style-image'] = true; // default: none\n whiteList['list-style-position'] = true; // default: outside\n whiteList['list-style-type'] = true; // default: disc\n whiteList['margin'] = true; // default: depending on individual properties\n whiteList['margin-bottom'] = true; // default: 0\n whiteList['margin-left'] = true; // default: 0\n whiteList['margin-right'] = true; // default: 0\n whiteList['margin-top'] = true; // default: 0\n whiteList['marker-offset'] = false; // default: auto\n whiteList['marker-side'] = false; // default: list-item\n whiteList['marks'] = false; // default: none\n whiteList['mask'] = false; // default: border-box\n whiteList['mask-box'] = false; // default: see individual properties\n whiteList['mask-box-outset'] = false; // default: 0\n whiteList['mask-box-repeat'] = false; // default: stretch\n whiteList['mask-box-slice'] = false; // default: 0 fill\n whiteList['mask-box-source'] = false; // default: none\n whiteList['mask-box-width'] = false; // default: auto\n whiteList['mask-clip'] = false; // default: border-box\n whiteList['mask-image'] = false; // default: none\n whiteList['mask-origin'] = false; // default: border-box\n whiteList['mask-position'] = false; // default: center\n whiteList['mask-repeat'] = false; // default: no-repeat\n whiteList['mask-size'] = false; // default: border-box\n whiteList['mask-source-type'] = false; // default: auto\n whiteList['mask-type'] = false; // default: luminance\n whiteList['max-height'] = true; // default: none\n whiteList['max-lines'] = false; // default: none\n whiteList['max-width'] = true; // default: none\n whiteList['min-height'] = true; // default: 0\n whiteList['min-width'] = true; // default: 0\n whiteList['move-to'] = false; // default: normal\n whiteList['nav-down'] = false; // default: auto\n whiteList['nav-index'] = false; // default: auto\n whiteList['nav-left'] = false; // default: auto\n whiteList['nav-right'] = false; // default: auto\n whiteList['nav-up'] = false; // default: auto\n whiteList['object-fit'] = false; // default: fill\n whiteList['object-position'] = false; // default: 50% 50%\n whiteList['opacity'] = false; // default: 1\n whiteList['order'] = false; // default: 0\n whiteList['orphans'] = false; // default: 2\n whiteList['outline'] = false; // default: depending on individual properties\n whiteList['outline-color'] = false; // default: invert\n whiteList['outline-offset'] = false; // default: 0\n whiteList['outline-style'] = false; // default: none\n whiteList['outline-width'] = false; // default: medium\n whiteList['overflow'] = false; // default: depending on individual properties\n whiteList['overflow-wrap'] = false; // default: normal\n whiteList['overflow-x'] = false; // default: visible\n whiteList['overflow-y'] = false; // default: visible\n whiteList['padding'] = true; // default: depending on individual properties\n whiteList['padding-bottom'] = true; // default: 0\n whiteList['padding-left'] = true; // default: 0\n whiteList['padding-right'] = true; // default: 0\n whiteList['padding-top'] = true; // default: 0\n whiteList['page'] = false; // default: auto\n whiteList['page-break-after'] = false; // default: auto\n whiteList['page-break-before'] = false; // default: auto\n whiteList['page-break-inside'] = false; // default: auto\n whiteList['page-policy'] = false; // default: start\n whiteList['pause'] = false; // default: implementation dependent\n whiteList['pause-after'] = false; // default: implementation dependent\n whiteList['pause-before'] = false; // default: implementation dependent\n whiteList['perspective'] = false; // default: none\n whiteList['perspective-origin'] = false; // default: 50% 50%\n whiteList['pitch'] = false; // default: medium\n whiteList['pitch-range'] = false; // default: 50\n whiteList['play-during'] = false; // default: auto\n whiteList['position'] = false; // default: static\n whiteList['presentation-level'] = false; // default: 0\n whiteList['quotes'] = false; // default: text\n whiteList['region-fragment'] = false; // default: auto\n whiteList['resize'] = false; // default: none\n whiteList['rest'] = false; // default: depending on individual properties\n whiteList['rest-after'] = false; // default: none\n whiteList['rest-before'] = false; // default: none\n whiteList['richness'] = false; // default: 50\n whiteList['right'] = false; // default: auto\n whiteList['rotation'] = false; // default: 0\n whiteList['rotation-point'] = false; // default: 50% 50%\n whiteList['ruby-align'] = false; // default: auto\n whiteList['ruby-merge'] = false; // default: separate\n whiteList['ruby-position'] = false; // default: before\n whiteList['shape-image-threshold'] = false; // default: 0.0\n whiteList['shape-outside'] = false; // default: none\n whiteList['shape-margin'] = false; // default: 0\n whiteList['size'] = false; // default: auto\n whiteList['speak'] = false; // default: auto\n whiteList['speak-as'] = false; // default: normal\n whiteList['speak-header'] = false; // default: once\n whiteList['speak-numeral'] = false; // default: continuous\n whiteList['speak-punctuation'] = false; // default: none\n whiteList['speech-rate'] = false; // default: medium\n whiteList['stress'] = false; // default: 50\n whiteList['string-set'] = false; // default: none\n whiteList['tab-size'] = false; // default: 8\n whiteList['table-layout'] = false; // default: auto\n whiteList['text-align'] = true; // default: start\n whiteList['text-align-last'] = true; // default: auto\n whiteList['text-combine-upright'] = true; // default: none\n whiteList['text-decoration'] = true; // default: none\n whiteList['text-decoration-color'] = true; // default: currentColor\n whiteList['text-decoration-line'] = true; // default: none\n whiteList['text-decoration-skip'] = true; // default: objects\n whiteList['text-decoration-style'] = true; // default: solid\n whiteList['text-emphasis'] = true; // default: depending on individual properties\n whiteList['text-emphasis-color'] = true; // default: currentColor\n whiteList['text-emphasis-position'] = true; // default: over right\n whiteList['text-emphasis-style'] = true; // default: none\n whiteList['text-height'] = true; // default: auto\n whiteList['text-indent'] = true; // default: 0\n whiteList['text-justify'] = true; // default: auto\n whiteList['text-orientation'] = true; // default: mixed\n whiteList['text-overflow'] = true; // default: clip\n whiteList['text-shadow'] = true; // default: none\n whiteList['text-space-collapse'] = true; // default: collapse\n whiteList['text-transform'] = true; // default: none\n whiteList['text-underline-position'] = true; // default: auto\n whiteList['text-wrap'] = true; // default: normal\n whiteList['top'] = false; // default: auto\n whiteList['transform'] = false; // default: none\n whiteList['transform-origin'] = false; // default: 50% 50% 0\n whiteList['transform-style'] = false; // default: flat\n whiteList['transition'] = false; // default: depending on individual properties\n whiteList['transition-delay'] = false; // default: 0s\n whiteList['transition-duration'] = false; // default: 0s\n whiteList['transition-property'] = false; // default: all\n whiteList['transition-timing-function'] = false; // default: ease\n whiteList['unicode-bidi'] = false; // default: normal\n whiteList['vertical-align'] = false; // default: baseline\n whiteList['visibility'] = false; // default: visible\n whiteList['voice-balance'] = false; // default: center\n whiteList['voice-duration'] = false; // default: auto\n whiteList['voice-family'] = false; // default: implementation dependent\n whiteList['voice-pitch'] = false; // default: medium\n whiteList['voice-range'] = false; // default: medium\n whiteList['voice-rate'] = false; // default: normal\n whiteList['voice-stress'] = false; // default: normal\n whiteList['voice-volume'] = false; // default: medium\n whiteList['volume'] = false; // default: medium\n whiteList['white-space'] = false; // default: normal\n whiteList['widows'] = false; // default: 2\n whiteList['width'] = true; // default: auto\n whiteList['will-change'] = false; // default: auto\n whiteList['word-break'] = true; // default: normal\n whiteList['word-spacing'] = true; // default: normal\n whiteList['word-wrap'] = true; // default: normal\n whiteList['wrap-flow'] = false; // default: auto\n whiteList['wrap-through'] = false; // default: wrap\n whiteList['writing-mode'] = false; // default: horizontal-tb\n whiteList['z-index'] = false; // default: auto\n\n return whiteList;\n}\n\n\n/**\n * 匹配到白名单上的一个属性时\n *\n * @param {String} name\n * @param {String} value\n * @param {Object} options\n * @return {String}\n */\nfunction onAttr (name, value, options) {\n // do nothing\n}\n\n/**\n * 匹配到不在白名单上的一个属性时\n *\n * @param {String} name\n * @param {String} value\n * @param {Object} options\n * @return {String}\n */\nfunction onIgnoreAttr (name, value, options) {\n // do nothing\n}\n\nvar REGEXP_URL_JAVASCRIPT = /javascript\\s*\\:/img;\n\n/**\n * 过滤属性值\n *\n * @param {String} name\n * @param {String} value\n * @return {String}\n */\nfunction safeAttrValue(name, value) {\n if (REGEXP_URL_JAVASCRIPT.test(value)) return '';\n return value;\n}\n\n\nexports.whiteList = getDefaultWhiteList();\nexports.getDefaultWhiteList = getDefaultWhiteList;\nexports.onAttr = onAttr;\nexports.onIgnoreAttr = onIgnoreAttr;\nexports.safeAttrValue = safeAttrValue;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY3NzZmlsdGVyL2xpYi9kZWZhdWx0LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Nzc2ZpbHRlci9saWIvZGVmYXVsdC5qcz83YmNjIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogY3NzZmlsdGVyXG4gKlxuICogQGF1dGhvciDogIHpm7c8bGVpem9uZ21pbkBnbWFpbC5jb20+XG4gKi9cblxuZnVuY3Rpb24gZ2V0RGVmYXVsdFdoaXRlTGlzdCAoKSB7XG4gIC8vIOeZveWQjeWNleWAvOivtOaYju+8mlxuICAvLyB0cnVlOiDlhYHorrjor6XlsZ7mgKdcbiAgLy8gRnVuY3Rpb246IGZ1bmN0aW9uICh2YWwpIHsgfSDov5Tlm550cnVl6KGo56S65YWB6K646K+l5bGe5oCn77yM5YW25LuW5YC85Z2H6KGo56S65LiN5YWB6K64XG4gIC8vIFJlZ0V4cDogcmVnZXhwLnRlc3QodmFsKSDov5Tlm550cnVl6KGo56S65YWB6K646K+l5bGe5oCn77yM5YW25LuW5YC85Z2H6KGo56S65LiN5YWB6K64XG4gIC8vIOmZpOS4iumdouWIl+WHuueahOWAvOWkluWdh+ihqOekuuS4jeWFgeiuuFxuICB2YXIgd2hpdGVMaXN0ID0ge307XG5cbiAgd2hpdGVMaXN0WydhbGlnbi1jb250ZW50J10gPSBmYWxzZTsgLy8gZGVmYXVsdDogYXV0b1xuICB3aGl0ZUxpc3RbJ2FsaWduLWl0ZW1zJ10gPSBmYWxzZTsgLy8gZGVmYXVsdDogYXV0b1xuICB3aGl0ZUxpc3RbJ2FsaWduLXNlbGYnXSA9IGZhbHNlOyAvLyBkZWZhdWx0OiBhdXRvXG4gIHdoaXRlTGlzdFsnYWxpZ25tZW50LWFkanVzdCddID0gZmFsc2U7IC8vIGRlZmF1bHQ6IGF1dG9cbiAgd2hpdGVMaXN0WydhbGlnbm1lbnQtYmFzZWxpbmUnXSA9IGZhbHNlOyAvLyBkZWZhdWx0OiBiYXNlbGluZVxuICB3aGl0ZUxpc3RbJ2FsbCddID0gZmFsc2U7IC8vIGRlZmF1bHQ6IGRlcGVuZGluZyBvbiBpbmRpdmlkdWFsIHByb3BlcnRpZXNcbiAgd2hpdGVMaXN0WydhbmNob3ItcG9pbnQnXSA9IGZhbHNlOyAvLyBkZWZhdWx0OiBub25lXG4gIHdoaXRlTGlzdFsnYW5pbWF0aW9uJ10gPSBmYWxzZTsgLy8gZGVmYXVsdDogZGVwZW5kaW5nIG9uIGluZGl2aWR1YWwgcHJvcGVydGllc1xuICB3aGl0ZUxpc3RbJ2FuaW1hdGlvbi1kZWxheSddID0gZmFsc2U7IC8vIGRlZmF1bHQ6IDBcbiAgd2hpdGVMaXN0WydhbmltYXRpb24tZGlyZWN0aW9uJ10gPSBmYWxzZTsgLy8gZGVmYXVsdDogbm9ybWFsXG4gIHdoaXRlTGlzdFsnYW5pbWF0aW9uLWR1cmF0aW9uJ10gPSBmYWxzZTsgLy8gZGVmYXVsdDogMFxuICB3aGl0ZUxpc3RbJ2FuaW1hdGlvbi1maWxsLW1vZGUnXSA9IGZhbHNlOyAvLyBkZWZhdWx0OiBub25lXG4gIHdoaXRlTGlzdFsnYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCddID0gZmFsc2U7IC8vIGRlZmF1bHQ6IDFcbiAgd2hpdGVMaXN0WydhbmltYXRpb24tbmFtZSddID0gZmFsc2U7IC8vIGRlZmF1bHQ6IG5vbmVcbiAgd2hpdGVMaXN0WydhbmltYXRpb24tcGxheS1zdGF0ZSddID0gZmFsc2U7IC8vIGRlZmF1bHQ6IHJ1bm5pbmdcbiAgd2hpdGVMaXN0WydhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uJ10gPSBmYWxzZTsgLy8gZGVmYXVsdDogZWFzZVxuICB3aGl0ZUxpc3RbJ2F6aW11dGgnXSA9IGZhbHNlOyAvLyBkZWZhdWx0OiBjZW50ZXJcbiAgd2hpdGVMaXN0WydiYWNrZmFjZS12aXNpYmlsaXR5J10gPSBmYWxzZTsgLy8gZGVmYXVsdDogdmlzaWJsZVxuICB3aGl0ZUxpc3RbJ2JhY2tncm91bmQnXSA9IHRydWU7IC8vIGRlZmF1bHQ6IGRlcGVuZGluZyBvbiBpbmRpdmlkdWFsIHByb3BlcnRpZXNcbiAgd2hpdGVMaXN0WydiYWNrZ3JvdW5kLWF0dGFjaG1lbnQnXSA9IHRydWU7IC8vIGRlZmF1bHQ6IHNjcm9sbFxuICB3aGl0ZUxpc3RbJ2JhY2tncm91bmQtY2xpcCddID0gdHJ1ZTsgLy8gZGVmYXVsdDogYm9yZGVyLWJveFxuICB3aGl0ZUxpc3RbJ2JhY2tncm91bmQtY29sb3InXSA9IHRydWU7IC8vIGRlZmF1bHQ6IHRyYW5zcGFyZW50XG4gIHdoaXRlTGlzdFsnYmFja2dyb3VuZC1pbWFnZSddID0gdHJ1ZTsgLy8gZGVmYXVsdDogbm9uZVxuICB3aGl0ZUxpc3RbJ2JhY2tncm91bmQtb3JpZ2luJ10gPSB0cnVlOyAvLyBkZWZhdWx0OiBwYWRkaW5nLWJveFxuICB3aGl0ZUxpc3RbJ2JhY2tncm91bmQtcG9zaXRpb24nXSA9IHRydWU7IC8vIGRlZmF1bHQ6IDAlIDAlXG4gIHdoaXRlTGlzdFsnYmFja2dyb3VuZC1yZXBlYXQnXSA9IHRydWU7IC8vIGRlZmF1bHQ6IHJlcGVhdFxuICB3aGl0ZUxpc3RbJ2JhY2tncm91bmQtc2l6ZSddID0gdHJ1ZTsgLy8gZGVmYXVsdDogYXV0b1xuICB3aGl0ZUxpc3RbJ2Jhc2VsaW5lLXNoaWZ0J10gPSBmYWxzZTsgLy8gZGVmYXVsdDogYmFzZWxpbmVcbiAgd2hpdGVMaXN0WydiaW5kaW5nJ10gPSBmYWxzZTsgLy8gZGVmYXVsdDogbm9uZVxuICB3aGl0ZUxpc3RbJ2JsZWVkJ10gPSBmYWxzZTsgLy8gZGVmYXVsdDogNnB0XG4gIHdoaXRlTGlzdFsnYm9va21hcmstbGFiZWwnXSA9IGZhbHNlOyAvLyBkZWZhdWx0OiBjb250ZW50KClcbiAgd2hpdGVMaXN0Wydib29rbWFyay1sZXZlbCddID0gZmFsc2U7IC8vIGRlZmF1bHQ6IG5vbmVcbiAgd2hpdGVMaXN0Wydib29rbWFyay1zdGF0ZSddID0gZmFsc2U7IC8vIGRlZmF1bHQ6IG9wZW5cbiAgd2hpdGVMaXN0Wydib3JkZXInXSA9IHRydWU7IC8vIGRlZmF1bHQ6IGRlcGVuZGluZyBvbiBpbmRpdmlkdWFsIHByb3BlcnRpZXNcbiAgd2hpdGVMaXN0Wydib3JkZXItYm90dG9tJ10gPSB0cnVlOyAvLyBkZWZhdWx0OiBkZXBlbmRpbmcgb24gaW5kaXZpZHVhbCBwcm9wZXJ0aWVzXG4gIHdoaXRlTGlzdFsnYm9yZGVyLWJvdHRvbS1jb2xvciddID0gdHJ1ZTsgLy8gZGVmYXVsdDogY3VycmVudCBjb2xvclxuICB3aGl0ZUxpc3RbJ2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXMnXSA9IHRydWU7IC8vIGRlZmF1bHQ6IDBcbiAgd2hpdGVMaXN0Wydib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1cyddID0gdHJ1ZTsgLy8gZGVmYXVsdDogMFxuICB3aGl0ZUxpc3RbJ2JvcmRlci1ib3R0b20tc3R5bGUnXSA9IHRydWU7IC8vIGRlZmF1bHQ6IG5vbmVcbiAgd2hpdGVMaXN0Wydib3JkZXItYm90dG9tLXdpZHRoJ10gPSB0cnVlOyAvLyBkZWZhdWx0OiBtZWRpdW1cbiAgd2hpdGVMaXN0Wydib3JkZXItY29sbGFwc2UnXSA9IHRydWU7IC8vIGRlZmF1bHQ6IHNlcGFyYXRlXG4gIHdoaXRlTGlzdFsnYm9yZGVyLWNvbG9yJ10gPSB0cnVlOyAvLyBkZWZhdWx0OiBkZXBlbmRpbmcgb24gaW5kaXZpZHVhbCBwcm9wZXJ0aWVzXG4gIHdoaXRlTGlzdFsnYm9yZGVyLWltYWdlJ10gPSB0cnVlOyAvLyBkZWZhdWx0OiBub25lXG4gIHdoaXRlTGlzdFsnYm9yZGVyLWltYWdlLW91dHNldCddID0gdHJ1ZTsgLy8gZGVmYXVsdDogMFxuICB3aGl0ZUxpc3RbJ2JvcmRlci1pbWFnZS1yZXBlYXQnXSA9IHRydWU7IC8vIGRlZmF1bHQ6IHN0cmV0Y2hcbiAgd2hpdGVMaXN0Wydib3JkZXItaW1hZ2Utc2xpY2UnXSA9IHRydWU7IC8vIGRlZmF1bHQ6IDEwMCVcbiAgd2hpdGVMaXN0Wydib3JkZXItaW1hZ2Utc291cmNlJ10gPSB0cnVlOyAvLyBkZWZhdWx0OiBub25lXG4gIHdoaXRlTGlzdFsnYm9yZGVyLWltYWdlLXdpZHRoJ10gPSB0cnVlOyAvLyBkZWZhdWx0OiAxXG4gIHdoaXRlTGlzdFsnYm9yZGVyLWxlZnQnXSA9IHRydWU7IC8vIGRlZmF1bHQ6IGRlcGVuZGluZyBvbiBpbmRpdmlkdWFsIHByb3BlcnRpZXNcbiAgd2hpdGVMaXN0Wydib3JkZXItbGVmdC1jb2xvciddID0gdHJ1ZTsgLy8gZGVmYXVsdDogY3VycmVudCBjb2xvclxuICB3aGl0ZUxpc3RbJ2JvcmRlci1sZWZ0LXN0eWxlJ10gPSB0cnVlOyAvLyBkZWZhdWx0OiBub25lXG4gIHdoaXRlTGlzdFsnYm9yZGVyLWxlZnQtd2lkdGgnXSA9IHRydWU7IC8vIGRlZmF1bHQ6IG1lZGl1bVxuICB3aGl0ZUxpc3RbJ2JvcmRlci1yYWRpdXMnXSA9IHRydWU7IC8vIGRlZmF1bHQ6IDBcbiAgd2hpdGVMaXN0Wydib3JkZXItcmlnaHQnXSA9IHRydWU7IC8vIGRlZmF1bHQ6IGRlcGVuZGluZyBvbiBpbmRpdmlkdWFsIHByb3BlcnRpZXNcbiAgd2hpdGVMaXN0Wydib3JkZXItcmlnaHQtY29sb3InXSA9IHRydWU7IC8vIGRlZmF1bHQ6IGN1cnJlbnQgY29sb3JcbiAgd2hpdGVMaXN0Wydib3JkZXItcmlnaHQtc3R5bGUnXSA9IHRydWU7IC8vIGRlZmF1bHQ6IG5vbmVcbiAgd2hpdGVMaXN0Wydib3JkZXItcmlnaHQtd2lkdGgnXSA9IHRydWU7IC8vIGRlZmF1bHQ6IG1lZGl1bVxuICB3aGl0ZUxpc3RbJ2JvcmRlci1zcGFjaW5nJ10gPSB0cnVlOyAvLyBkZWZhdWx0OiAwXG4gIHdoaXRlTGlzdFsnYm9yZGVyLXN0eWxlJ10gPSB0cnVlOyAvLyBkZWZhdWx0OiBkZXBlbmRpbmcgb24gaW5kaXZpZHVhbCBwcm9wZXJ0aWVzXG4gIHdoaXRlTGlzdFsnYm9yZGVyLXRvcCddID0gdHJ1ZTsgLy8gZGVmYXVsdDogZGVwZW5kaW5nIG9uIGluZGl2aWR1YWwgcHJvcGVydGllc1xuICB3aGl0ZUxpc3RbJ2JvcmRlci10b3AtY29sb3InXSA9IHRydWU7IC8vIGRlZmF1bHQ6IGN1cnJlbnQgY29sb3JcbiAgd2hpdGVMaXN0Wydib3JkZXItdG9wLWxlZnQtcmFkaXVzJ10gPSB0cnVlOyAvLyBkZWZhdWx0OiAwXG4gIHdoaXRlTGlzdFsnYm9yZGVyLXRvcC1yaWdodC1yYWRpdXMnXSA9IHRydWU7IC8vIGRlZmF1bHQ6IDBcbiAgd2hpdGVMaXN0Wydib3JkZXItdG9wLXN0eWxlJ10gPSB0cnVlOyAvLyBkZWZhdWx0OiBub25lXG4gIHdoaXRlTGlzdFsnYm9yZGVyLXRvcC13aWR0aCddID0gdHJ1ZTsgLy8gZGVmYXVsdDogbWVkaXVtXG4gIHdoaXRlTGlzdFsnYm9yZGVyLXdpZHRoJ10gPSB0cnVlOyAvLyBkZWZhdWx0OiBkZXBlbmRpbmcgb24gaW5kaXZpZHVhbCBwcm9wZXJ0aWVzXG4gIHdoaXRlTGlzdFsnYm90dG9tJ10gPSBmYWxzZTsgLy8gZGVmYXVsdDogYXV0b1xuICB3aGl0ZUxpc3RbJ2JveC1kZWNvcmF0aW9uLWJyZWFrJ10gPSB0cnVlOyAvLyBkZWZhdWx0OiBzbGljZVxuICB3aGl0ZUxpc3RbJ2JveC1zaGFkb3cnXSA9IHRydWU7IC8vIGRlZmF1bHQ6IG5vbmVcbiAgd2hpdGVMaXN0Wydib3gtc2l6aW5nJ10gPSB0cnVlOyAvLyBkZWZhdWx0OiBjb250ZW50LWJveFxuICB3aGl0ZUxpc3RbJ2JveC1zbmFwJ10gPSB0cnVlOyAvLyBkZWZhdWx0OiBub25lXG4gIHdoaXRlTGlzdFsnYm94LXN1cHByZXNzJ10gPSB0cnVlOyAvLyBkZWZhdWx0OiBzaG93XG4gIHdoaXRlTGlzdFsnYnJlYWstYWZ0ZXInXSA9IHRydWU7IC8vIGRlZmF1bHQ6IGF1dG9cbiAgd2hpdGVMaXN0WydicmVhay1iZWZvcmUnXSA9IHRydWU7IC8vIGRlZmF1bHQ6IGF1dG9cbiAgd2hpdGVMaXN0WydicmVhay1pbnNpZGUnXSA9IHRydWU7IC8vIGRlZmF1bHQ6IGF1dG9cbiAgd2hpdGVMaXN0WydjYXB0aW9uLXNpZGUnXSA9IGZhbHNlOyAvLyBkZWZhdWx0OiB0b3BcbiAgd2hpdGVMaXN0WydjaGFpbnMnXSA9IGZhbHNlOyAvLyBkZWZhdWx0OiBub25lXG4gIHdoaXRlTGlzdFsnY2xlYXInXSA9IHRydWU7IC8vIGRlZmF1bHQ6IG5vbmVcbiAgd2hpdGVMaXN0WydjbGlwJ10gPSBmYWxzZTsgLy8gZGVmYXVsdDogYXV0b1xuICB3aGl0ZUxpc3RbJ2NsaXAtcGF0aCddID0gZmFsc2U7IC8vIGRlZmF1bHQ6IG5vbmVcbiAgd2hpdGVMaXN0WydjbGlwLXJ1bGUnXSA9IGZhbHNlOyAvLyBkZWZhdWx0OiBub256ZXJvXG4gIHdoaXRlTGlzdFsnY29sb3InXSA9IHRydWU7IC8vIGRlZmF1bHQ6IGltcGxlbWVudGF0aW9uIGRlcGVuZGVudFxuICB3aGl0ZUxpc3RbJ2NvbG9yLWludGVycG9sYXRpb24tZmlsdGVycyddID0gdHJ1ZTsgLy8gZGVmYXVsdDogYXV0b1xuICB3aGl0ZUxpc3RbJ2NvbHVtbi1jb3VudCddID0gZmFsc2U7IC8vIGRlZmF1bHQ6IGF1dG9cbiAgd2hpdGVMaXN0Wydjb2x1bW4tZmlsbCddID0gZmFsc2U7IC8vIGRlZmF1bHQ6IGJhbGFuY2VcbiAgd2hpdGVMaXN0Wydjb2x1bW4tZ2FwJ10gPSBmYWxzZTsgLy8gZGVmYXVsdDogbm9ybWFsXG4gIHdoaXRlTGlzdFsnY29sdW1uLXJ1bGUnXSA9IGZhbHNlOyAvLyBkZWZhdWx0OiBkZXBlbmRpbmcgb24gaW5kaXZpZHVhbCBwcm9wZXJ0aWVzXG4gIHdoaXRlTGlzdFsnY29sdW1uLXJ1bGUtY29sb3InXSA9IGZhbHNlOyAvLyBkZWZhdWx0OiBjdXJyZW50IGNvbG9yXG4gIHdoaXRlTGlzdFsnY29sdW1uLXJ1bGUtc3R5bGUnXSA9IGZhbHNlOyAvLyBkZWZhdWx0OiBtZWRpdW1cbiAgd2hpdGVMaXN0Wydjb2x1bW4tcnVsZS13aWR0aCddID0gZmFsc2U7IC8vIGRlZmF1bHQ6IG1lZGl1bVxuICB3aGl0ZUxpc3RbJ2NvbHVtbi1zcGFuJ10gPSBmYWxzZTsgLy8gZGVmYXVsdDogbm9uZVxuICB3aGl0ZUxpc3RbJ2NvbHVtbi13aWR0aCddID0gZmFsc2U7IC8vIGRlZmF1bHQ6IGF1dG9cbiAgd2hpdGVMaXN0Wydjb2x1bW5zJ10gPSBmYWxzZTsgLy8gZGVmYXVsdDogZGVwZW5kaW5nIG9uIGluZGl2aWR1YWwgcHJvcGVydGllc1xuICB3aGl0ZUxpc3RbJ2NvbnRhaW4nXSA9IGZhbHNlOyAvLyBkZWZhdWx0OiBub25lXG4gIHdoaXRlTGlzdFsnY29udGVudCddID0gZmFsc2U7IC8vIGRlZmF1bHQ6IG5vcm1hbFxuICB3aGl0ZUxpc3RbJ2NvdW50ZXItaW5jcmVtZW50J10gPSBmYWxzZTsgLy8gZGVmYXVsdDogbm9uZVxuICB3aGl0ZUxpc3RbJ2NvdW50ZXItcmVzZXQnXSA9IGZhbHNlOyAvLyBkZWZhdWx0OiBub25lXG4gIHdoaXRlTGlzdFsnY291bnRlci1zZXQnXSA9IGZhbHNlOyAvLyBkZWZhdWx0OiBub25lXG4gIHdoaXRlTGlzdFsnY3JvcCddID0gZmFsc2U7IC8vIGRlZmF1bHQ6IGF1dG9cbiAgd2hpdGVMaXN0WydjdWUnXSA9IGZhbHNlOyAvLyBkZWZhdWx0OiBkZXBlbmRpbmcgb24gaW5kaXZpZHVhbCBwcm9wZXJ0aWVzXG4gIHdoaXRlTGlzdFsnY3VlLWFmdGVyJ10gPSBmYWxzZTsgLy8gZGVmYXVsdDogbm9uZVxuICB3aGl0ZUxpc3RbJ2N1ZS1iZWZvcmUnXSA9IGZhbHNlOyAvLyBkZWZhdWx0OiBub25lXG4gIHdoaXRlTGlzdFsnY3Vyc29yJ10gPSBmYWxzZTsgLy8gZGVmYXVsdDogYXV0b1xuICB3aGl0ZUxpc3RbJ2RpcmVjdGlvbiddID0gZmFsc2U7IC8vIGRlZmF1bHQ6IGx0clxuICB3aGl0ZUxpc3RbJ2Rpc3BsYXknXSA9IHRydWU7IC8vIGRlZmF1bHQ6IGRlcGVuZGluZyBvbiBpbmRpdmlkdWFsIHByb3BlcnRpZXNcbiAgd2hpdGVMaXN0WydkaXNwbGF5LWluc2lkZSddID0gdHJ1ZTsgLy8gZGVmYXVsdDogYXV0b1xuICB3aGl0ZUxpc3RbJ2Rpc3BsYXktbGlzdCddID0gdHJ1ZTsgLy8gZGVmYXVsdDogbm9uZVxuICB3aGl0ZUxpc3RbJ2Rpc3BsYXktb3V0c2lkZSddID0gdHJ1ZTsgLy8gZGVmYXVsdDogaW5saW5lLWxldmVsXG4gIHdoaXRlTGlzdFsnZG9taW5hbnQtYmFzZWxpbmUnXSA9IGZhbHNlOyAvLyBkZWZhdWx0OiBhdXRvXG4gIHdoaXRlTGlzdFsnZWxldmF0aW9uJ10gPSBmYWxzZTsgLy8gZGVmYXVsdDogbGV2ZWxcbiAgd2hpdGVMaXN0WydlbXB0eS1jZWxscyddID0gZmFsc2U7IC8vIGRlZmF1bHQ6IHNob3dcbiAgd2hpdGVMaXN0WydmaWx0ZXInXSA9IGZhbHNlOyAvLyBkZWZhdWx0OiBub25lXG4gIHdoaXRlTGlzdFsnZmxleCddID0gZmFsc2U7IC8vIGRlZmF1bHQ6IGRlcGVuZGluZyBvbiBpbmRpdmlkdWFsIHByb3BlcnRpZXNcbiAgd2hpdGVMaXN0WydmbGV4LWJhc2lzJ10gPSBmYWxzZTsgLy8gZGVmYXVsdDogYXV0b1xuICB3aGl0ZUxpc3RbJ2ZsZXgtZGlyZWN0aW9uJ10gPSBmYWxzZTsgLy8gZGVmYXVsdDogcm93XG4gIHdoaXRlTGlzdFsnZmxleC1mbG93J10gPSBmYWxzZTsgLy8gZGVmYXVsdDogZGVwZW5kaW5nIG9uIGluZGl2aWR1YWwgcHJvcGVydGllc1xuICB3aGl0ZUxpc3RbJ2ZsZXgtZ3JvdyddID0gZmFsc2U7IC8vIGRlZmF1bHQ6IDBcbiAgd2hpdGVMaXN0WydmbGV4LXNocmluayddID0gZmFsc2U7IC8vIGRlZmF1bHQ6IDFcbiAgd2hpdGVMaXN0WydmbGV4LXdyYXAnXSA9IGZhbHNlOyAvLyBkZWZhdWx0OiBub3dyYXBcbiAgd2hpdGVMaXN0WydmbG9hdCddID0gZmFsc2U7IC8vIGRlZmF1bHQ6IG5vbmVcbiAgd2hpdGVMaXN0WydmbG9hdC1vZmZzZXQnXSA9IGZhbHNlOyAvLyBkZWZhdWx0OiAwIDBcbiAgd2hpdGVMaXN0WydmbG9vZC1jb2xvciddID0gZmFsc2U7IC8vIGRlZmF1bHQ6IGJsYWNrXG4gIHdoaXRlTGlzdFsnZmxvb2Qtb3BhY2l0eSddID0gZmFsc2U7IC8vIGRlZmF1bHQ6IDFcbiAgd2hpdGVMaXN0WydmbG93LWZyb20nXSA9IGZhbHNlOyAvLyBkZWZhdWx0OiBub25lXG4gIHdoaXRlTGlzdFsnZmxvdy1pbnRvJ10gPSBmYWxzZTsgLy8gZGVmYXVsdDogbm9uZVxuICB3aGl0ZUxpc3RbJ2ZvbnQnXSA9IHRydWU7IC8vIGRlZmF1bHQ6IGRlcGVuZGluZyBvbiBpbmRpdmlkdWFsIHByb3BlcnRpZXNcbiAgd2hpdGVMaXN0Wydmb250LWZhbWlseSddID0gdHJ1ZTsgLy8gZGVmYXVsdDogaW1wbGVtZW50YXRpb24gZGVwZW5kZW50XG4gIHdoaXRlTGlzdFsnZm9udC1mZWF0dXJlLXNldHRpbmdzJ10gPSB0cnVlOyAvLyBkZWZhdWx0OiBub3JtYWxcbiAgd2hpdGVMaXN0Wydmb250LWtlcm5pbmcnXSA9IHRydWU7IC8vIGRlZmF1bHQ6IGF1dG9cbiAgd2hpdGVMaXN0Wydmb250LWxhbmd1YWdlLW92ZXJyaWRlJ10gPSB0cnVlOyAvLyBkZWZhdWx0OiBub3JtYWxcbiAgd2hpdGVMaXN0Wydmb250LXNpemUnXSA9IHRydWU7IC8vIGRlZmF1bHQ6IG1lZGl1bVxuICB3aGl0ZUxpc3RbJ2ZvbnQtc2l6ZS1hZGp1c3QnXSA9IHRydWU7IC8vIGRlZmF1bHQ6IG5vbmVcbiAgd2hpdGVMaXN0Wydmb250LXN0cmV0Y2gnXSA9IHRydWU7IC8vIGRlZmF1bHQ6IG5vcm1hbFxuICB3aGl0ZUxpc3RbJ2ZvbnQtc3R5bGUnXSA9IHRydWU7IC8vIGRlZmF1bHQ6IG5vcm1hbFxuICB3aGl0ZUxpc3RbJ2ZvbnQtc3ludGhlc2lzJ10gPSB0cnVlOyAvLyBkZWZhdWx0OiB3ZWlnaHQgc3R5bGVcbiAgd2hpdGVMaXN0Wydmb250LXZhcmlhbnQnXSA9IHRydWU7IC8vIGRlZmF1bHQ6IG5vcm1hbFxuICB3aGl0ZUxpc3RbJ2ZvbnQtdmFyaWFudC1hbHRlcm5hdGVzJ10gPSB0cnVlOyAvLyBkZWZhdWx0OiBub3JtYWxcbiAgd2hpdGVMaXN0Wydmb250LXZhcmlhbnQtY2FwcyddID0gdHJ1ZTsgLy8gZGVmYXVsdDogbm9ybWFsXG4gIHdoaXRlTGlzdFsnZm9udC12YXJpYW50LWVhc3QtYXNpYW4nXSA9IHRydWU7IC8vIGRlZmF1bHQ6IG5vcm1hbFxuICB3aGl0ZUxpc3RbJ2ZvbnQtdmFyaWFudC1saWdhdHVyZXMnXSA9IHRydWU7IC8vIGRlZmF1bHQ6IG5vcm1hbFxuICB3aGl0ZUxpc3RbJ2ZvbnQtdmFyaWFudC1udW1lcmljJ10gPSB0cnVlOyAvLyBkZWZhdWx0OiBub3JtYWxcbiAgd2hpdGVMaXN0Wydmb250LXZhcmlhbnQtcG9zaXRpb24nXSA9IHRydWU7IC8vIGRlZmF1bHQ6IG5vcm1hbFxuICB3aGl0ZUxpc3RbJ2ZvbnQtd2VpZ2h0J10gPSB0cnVlOyAvLyBkZWZhdWx0OiBub3JtYWxcbiAgd2hpdGVMaXN0WydncmlkJ10gPSBmYWxzZTsgLy8gZGVmYXVsdDogZGVwZW5kaW5nIG9uIGluZGl2aWR1YWwgcHJvcGVydGllc1xuICB3aGl0ZUxpc3RbJ2dyaWQtYXJlYSddID0gZmFsc2U7IC8vIGRlZmF1bHQ6IGRlcGVuZGluZyBvbiBpbmRpdmlkdWFsIHByb3BlcnRpZXNcbiAgd2hpdGVMaXN0WydncmlkLWF1dG8tY29sdW1ucyddID0gZmFsc2U7IC8vIGRlZmF1bHQ6IGF1dG9cbiAgd2hpdGVMaXN0WydncmlkLWF1dG8tZmxvdyddID0gZmFsc2U7IC8vIGRlZmF1bHQ6IG5vbmVcbiAgd2hpdGVMaXN0WydncmlkLWF1dG8tcm93cyddID0gZmFsc2U7IC8vIGRlZmF1bHQ6IGF1dG9cbiAgd2hpdGVMaXN0WydncmlkLWNvbHVtbiddID0gZmFsc2U7IC8vIGRlZmF1bHQ6IGRlcGVuZGluZyBvbiBpbmRpdmlkdWFsIHByb3BlcnRpZXNcbiAgd2hpdGVMaXN0WydncmlkLWNvbHVtbi1lbmQnXSA9IGZhbHNlOyAvLyBkZWZhdWx0OiBhdXRvXG4gIHdoaXRlTGlzdFsnZ3JpZC1jb2x1bW4tc3RhcnQnXSA9IGZhbHNlOyAvLyBkZWZhdWx0OiBhdXRvXG4gIHdoaXRlTGlzdFsnZ3JpZC1yb3cnXSA9IGZhbHNlOyAvLyBkZWZhdWx0OiBkZXBlbmRpbmcgb24gaW5kaXZpZHVhbCBwcm9wZXJ0aWVzXG4gIHdoaXRlTGlzdFsnZ3JpZC1yb3ctZW5kJ10gPSBmYWxzZTsgLy8gZGVmYXVsdDogYXV0b1xuICB3aGl0ZUxpc3RbJ2dyaWQtcm93LXN0YXJ0J10gPSBmYWxzZTsgLy8gZGVmYXVsdDogYXV0b1xuICB3aGl0ZUxpc3RbJ2dyaWQtdGVtcGxhdGUnXSA9IGZhbHNlOyAvLyBkZWZhdWx0OiBkZXBlbmRpbmcgb24gaW5kaXZpZHVhbCBwcm9wZXJ0aWVzXG4gIHdoaXRlTGlzdFsnZ3JpZC10ZW1wbGF0ZS1hcmVhcyddID0gZmFsc2U7IC8vIGRlZmF1bHQ6IG5vbmVcbiAgd2hpdGVMaXN0WydncmlkLXRlbXBsYXRlLWNvbHVtbnMnXSA9IGZhbHNlOyAvLyBkZWZhdWx0OiBub25lXG4gIHdoaXRlTGlzdFsnZ3JpZC10ZW1wbGF0ZS1yb3dzJ10gPSBmYWxzZTsgLy8gZGVmYXVsdDogbm9uZVxuICB3aGl0ZUxpc3RbJ2hhbmdpbmctcHVuY3R1YXRpb24nXSA9IGZhbHNlOyAvLyBkZWZhdWx0OiBub25lXG4gIHdoaXRlTGlzdFsnaGVpZ2h0J10gPSB0cnVlOyAvLyBkZWZhdWx0OiBhdXRvXG4gIHdoaXRlTGlzdFsnaHlwaGVucyddID0gZmFsc2U7IC8vIGRlZmF1bHQ6IG1hbnVhbFxuICB3aGl0ZUxpc3RbJ2ljb24nXSA9IGZhbHNlOyAvLyBkZWZhdWx0OiBhdXRvXG4gIHdoaXRlTGlzdFsnaW1hZ2Utb3JpZW50YXRpb24nXSA9IGZhbHNlOyAvLyBkZWZhdWx0OiBhdXRvXG4gIHdoaXRlTGlzdFsnaW1hZ2UtcmVzb2x1dGlvbiddID0gZmFsc2U7IC8vIGRlZmF1bHQ6IG5vcm1hbFxuICB3aGl0ZUxpc3RbJ2ltZS1tb2RlJ10gPSBmYWxzZTsgLy8gZGVmYXVsdDogYXV0b1xuICB3aGl0ZUxpc3RbJ2luaXRpYWwtbGV0dGVycyddID0gZmFsc2U7IC8vIGRlZmF1bHQ6IG5vcm1hbFxuICB3aGl0ZUxpc3RbJ2lubGluZS1ib3gtYWxpZ24nXSA9IGZhbHNlOyAvLyBkZWZhdWx0OiBsYXN0XG4gIHdoaXRlTGlzdFsnanVzdGlmeS1jb250ZW50J10gPSBmYWxzZTsgLy8gZGVmYXVsdDogYXV0b1xuICB3aGl0ZUxpc3RbJ2p1c3RpZnktaXRlbXMnXSA9IGZhbHNlOyAvLyBkZWZhdWx0OiBhdXRvXG4gIHdoaXRlTGlzdFsnanVzdGlmeS1zZWxmJ10gPSBmYWxzZTsgLy8gZGVmYXVsdDogYXV0b1xuICB3aGl0ZUxpc3RbJ2xlZnQnXSA9IGZhbHNlOyAvLyBkZWZhdWx0OiBhdXRvXG4gIHdoaXRlTGlzdFsnbGV0dGVyLXNwYWNpbmcnXSA9IHRydWU7IC8vIGRlZmF1bHQ6IG5vcm1hbFxuICB3aGl0ZUxpc3RbJ2xpZ2h0aW5nLWNvbG9yJ10gPSB0cnVlOyAvLyBkZWZhdWx0OiB3aGl0ZVxuICB3aGl0ZUxpc3RbJ2xpbmUtYm94LWNvbnRhaW4nXSA9IGZhbHNlOyAvLyBkZWZhdWx0OiBibG9jayBpbmxpbmUgcmVwbGFjZWRcbiAgd2hpdGVMaXN0WydsaW5lLWJyZWFrJ10gPSBmYWxzZTsgLy8gZGVmYXVsdDogYXV0b1xuICB3aGl0ZUxpc3RbJ2xpbmUtZ3JpZCddID0gZmFsc2U7IC8vIGRlZmF1bHQ6IG1hdGNoLXBhcmVudFxuICB3aGl0ZUxpc3RbJ2xpbmUtaGVpZ2h0J10gPSBmYWxzZTsgLy8gZGVmYXVsdDogbm9ybWFsXG4gIHdoaXRlTGlzdFsnbGluZS1zbmFwJ10gPSBmYWxzZTsgLy8gZGVmYXVsdDogbm9uZVxuICB3aGl0ZUxpc3RbJ2xpbmUtc3RhY2tpbmcnXSA9IGZhbHNlOyAvLyBkZWZhdWx0OiBkZXBlbmRpbmcgb24gaW5kaXZpZHVhbCBwcm9wZXJ0aWVzXG4gIHdoaXRlTGlzdFsnbGluZS1zdGFja2luZy1ydWJ5J10gPSBmYWxzZTsgLy8gZGVmYXVsdDogZXhjbHVkZS1ydWJ5XG4gIHdoaXRlTGlzdFsnbGluZS1zdGFja2luZy1zaGlmdCddID0gZmFsc2U7IC8vIGRlZmF1bHQ6IGNvbnNpZGVyLXNoaWZ0c1xuICB3aGl0ZUxpc3RbJ2xpbmUtc3RhY2tpbmctc3RyYXRlZ3knXSA9IGZhbHNlOyAvLyBkZWZhdWx0OiBpbmxpbmUtbGluZS1oZWlnaHRcbiAgd2hpdGVMaXN0WydsaXN0LXN0eWxlJ10gPSB0cnVlOyAvLyBkZWZhdWx0OiBkZXBlbmRpbmcgb24gaW5kaXZpZHVhbCBwcm9wZXJ0aWVzXG4gIHdoaXRlTGlzdFsnbGlzdC1zdHlsZS1pbWFnZSddID0gdHJ1ZTsgLy8gZGVmYXVsdDogbm9uZVxuICB3aGl0ZUxpc3RbJ2xpc3Qtc3R5bGUtcG9zaXRpb24nXSA9IHRydWU7IC8vIGRlZmF1bHQ6IG91dHNpZGVcbiAgd2hpdGVMaXN0WydsaXN0LXN0eWxlLXR5cGUnXSA9IHRydWU7IC8vIGRlZmF1bHQ6IGRpc2NcbiAgd2hpdGVMaXN0WydtYXJnaW4nXSA9IHRydWU7IC8vIGRlZmF1bHQ6IGRlcGVuZGluZyBvbiBpbmRpdmlkdWFsIHByb3BlcnRpZXNcbiAgd2hpdGVMaXN0WydtYXJnaW4tYm90dG9tJ10gPSB0cnVlOyAvLyBkZWZhdWx0OiAwXG4gIHdoaXRlTGlzdFsnbWFyZ2luLWxlZnQnXSA9IHRydWU7IC8vIGRlZmF1bHQ6IDBcbiAgd2hpdGVMaXN0WydtYXJnaW4tcmlnaHQnXSA9IHRydWU7IC8vIGRlZmF1bHQ6IDBcbiAgd2hpdGVMaXN0WydtYXJnaW4tdG9wJ10gPSB0cnVlOyAvLyBkZWZhdWx0OiAwXG4gIHdoaXRlTGlzdFsnbWFya2VyLW9mZnNldCddID0gZmFsc2U7IC8vIGRlZmF1bHQ6IGF1dG9cbiAgd2hpdGVMaXN0WydtYXJrZXItc2lkZSddID0gZmFsc2U7IC8vIGRlZmF1bHQ6IGxpc3QtaXRlbVxuICB3aGl0ZUxpc3RbJ21hcmtzJ10gPSBmYWxzZTsgLy8gZGVmYXVsdDogbm9uZVxuICB3aGl0ZUxpc3RbJ21hc2snXSA9IGZhbHNlOyAvLyBkZWZhdWx0OiBib3JkZXItYm94XG4gIHdoaXRlTGlzdFsnbWFzay1ib3gnXSA9IGZhbHNlOyAvLyBkZWZhdWx0OiBzZWUgaW5kaXZpZHVhbCBwcm9wZXJ0aWVzXG4gIHdoaXRlTGlzdFsnbWFzay1ib3gtb3V0c2V0J10gPSBmYWxzZTsgLy8gZGVmYXVsdDogMFxuICB3aGl0ZUxpc3RbJ21hc2stYm94LXJlcGVhdCddID0gZmFsc2U7IC8vIGRlZmF1bHQ6IHN0cmV0Y2hcbiAgd2hpdGVMaXN0WydtYXNrLWJveC1zbGljZSddID0gZmFsc2U7IC8vIGRlZmF1bHQ6IDAgZmlsbFxuICB3aGl0ZUxpc3RbJ21hc2stYm94LXNvdXJjZSddID0gZmFsc2U7IC8vIGRlZmF1bHQ6IG5vbmVcbiAgd2hpdGVMaXN0WydtYXNrLWJveC13aWR0aCddID0gZmFsc2U7IC8vIGRlZmF1bHQ6IGF1dG9cbiAgd2hpdGVMaXN0WydtYXNrLWNsaXAnXSA9IGZhbHNlOyAvLyBkZWZhdWx0OiBib3JkZXItYm94XG4gIHdoaXRlTGlzdFsnbWFzay1pbWFnZSddID0gZmFsc2U7IC8vIGRlZmF1bHQ6IG5vbmVcbiAgd2hpdGVMaXN0WydtYXNrLW9yaWdpbiddID0gZmFsc2U7IC8vIGRlZmF1bHQ6IGJvcmRlci1ib3hcbiAgd2hpdGVMaXN0WydtYXNrLXBvc2l0aW9uJ10gPSBmYWxzZTsgLy8gZGVmYXVsdDogY2VudGVyXG4gIHdoaXRlTGlzdFsnbWFzay1yZXBlYXQnXSA9IGZhbHNlOyAvLyBkZWZhdWx0OiBuby1yZXBlYXRcbiAgd2hpdGVMaXN0WydtYXNrLXNpemUnXSA9IGZhbHNlOyAvLyBkZWZhdWx0OiBib3JkZXItYm94XG4gIHdoaXRlTGlzdFsnbWFzay1zb3VyY2UtdHlwZSddID0gZmFsc2U7IC8vIGRlZmF1bHQ6IGF1dG9cbiAgd2hpdGVMaXN0WydtYXNrLXR5cGUnXSA9IGZhbHNlOyAvLyBkZWZhdWx0OiBsdW1pbmFuY2VcbiAgd2hpdGVMaXN0WydtYXgtaGVpZ2h0J10gPSB0cnVlOyAvLyBkZWZhdWx0OiBub25lXG4gIHdoaXRlTGlzdFsnbWF4LWxpbmVzJ10gPSBmYWxzZTsgLy8gZGVmYXVsdDogbm9uZVxuICB3aGl0ZUxpc3RbJ21heC13aWR0aCddID0gdHJ1ZTsgLy8gZGVmYXVsdDogbm9uZVxuICB3aGl0ZUxpc3RbJ21pbi1oZWlnaHQnXSA9IHRydWU7IC8vIGRlZmF1bHQ6IDBcbiAgd2hpdGVMaXN0WydtaW4td2lkdGgnXSA9IHRydWU7IC8vIGRlZmF1bHQ6IDBcbiAgd2hpdGVMaXN0Wydtb3ZlLXRvJ10gPSBmYWxzZTsgLy8gZGVmYXVsdDogbm9ybWFsXG4gIHdoaXRlTGlzdFsnbmF2LWRvd24nXSA9IGZhbHNlOyAvLyBkZWZhdWx0OiBhdXRvXG4gIHdoaXRlTGlzdFsnbmF2LWluZGV4J10gPSBmYWxzZTsgLy8gZGVmYXVsdDogYXV0b1xuICB3aGl0ZUxpc3RbJ25hdi1sZWZ0J10gPSBmYWxzZTsgLy8gZGVmYXVsdDogYXV0b1xuICB3aGl0ZUxpc3RbJ25hdi1yaWdodCddID0gZmFsc2U7IC8vIGRlZmF1bHQ6IGF1dG9cbiAgd2hpdGVMaXN0WyduYXYtdXAnXSA9IGZhbHNlOyAvLyBkZWZhdWx0OiBhdXRvXG4gIHdoaXRlTGlzdFsnb2JqZWN0LWZpdCddID0gZmFsc2U7IC8vIGRlZmF1bHQ6IGZpbGxcbiAgd2hpdGVMaXN0WydvYmplY3QtcG9zaXRpb24nXSA9IGZhbHNlOyAvLyBkZWZhdWx0OiA1MCUgNTAlXG4gIHdoaXRlTGlzdFsnb3BhY2l0eSddID0gZmFsc2U7IC8vIGRlZmF1bHQ6IDFcbiAgd2hpdGVMaXN0WydvcmRlciddID0gZmFsc2U7IC8vIGRlZmF1bHQ6IDBcbiAgd2hpdGVMaXN0WydvcnBoYW5zJ10gPSBmYWxzZTsgLy8gZGVmYXVsdDogMlxuICB3aGl0ZUxpc3RbJ291dGxpbmUnXSA9IGZhbHNlOyAvLyBkZWZhdWx0OiBkZXBlbmRpbmcgb24gaW5kaXZpZHVhbCBwcm9wZXJ0aWVzXG4gIHdoaXRlTGlzdFsnb3V0bGluZS1jb2xvciddID0gZmFsc2U7IC8vIGRlZmF1bHQ6IGludmVydFxuICB3aGl0ZUxpc3RbJ291dGxpbmUtb2Zmc2V0J10gPSBmYWxzZTsgLy8gZGVmYXVsdDogMFxuICB3aGl0ZUxpc3RbJ291dGxpbmUtc3R5bGUnXSA9IGZhbHNlOyAvLyBkZWZhdWx0OiBub25lXG4gIHdoaXRlTGlzdFsnb3V0bGluZS13aWR0aCddID0gZmFsc2U7IC8vIGRlZmF1bHQ6IG1lZGl1bVxuICB3aGl0ZUxpc3RbJ292ZXJmbG93J10gPSBmYWxzZTsgLy8gZGVmYXVsdDogZGVwZW5kaW5nIG9uIGluZGl2aWR1YWwgcHJvcGVydGllc1xuICB3aGl0ZUxpc3RbJ292ZXJmbG93LXdyYXAnXSA9IGZhbHNlOyAvLyBkZWZhdWx0OiBub3JtYWxcbiAgd2hpdGVMaXN0WydvdmVyZmxvdy14J10gPSBmYWxzZTsgLy8gZGVmYXVsdDogdmlzaWJsZVxuICB3aGl0ZUxpc3RbJ292ZXJmbG93LXknXSA9IGZhbHNlOyAvLyBkZWZhdWx0OiB2aXNpYmxlXG4gIHdoaXRlTGlzdFsncGFkZGluZyddID0gdHJ1ZTsgLy8gZGVmYXVsdDogZGVwZW5kaW5nIG9uIGluZGl2aWR1YWwgcHJvcGVydGllc1xuICB3aGl0ZUxpc3RbJ3BhZGRpbmctYm90dG9tJ10gPSB0cnVlOyAvLyBkZWZhdWx0OiAwXG4gIHdoaXRlTGlzdFsncGFkZGluZy1sZWZ0J10gPSB0cnVlOyAvLyBkZWZhdWx0OiAwXG4gIHdoaXRlTGlzdFsncGFkZGluZy1yaWdodCddID0gdHJ1ZTsgLy8gZGVmYXVsdDogMFxuICB3aGl0ZUxpc3RbJ3BhZGRpbmctdG9wJ10gPSB0cnVlOyAvLyBkZWZhdWx0OiAwXG4gIHdoaXRlTGlzdFsncGFnZSddID0gZmFsc2U7IC8vIGRlZmF1bHQ6IGF1dG9cbiAgd2hpdGVMaXN0WydwYWdlLWJyZWFrLWFmdGVyJ10gPSBmYWxzZTsgLy8gZGVmYXVsdDogYXV0b1xuICB3aGl0ZUxpc3RbJ3BhZ2UtYnJlYWstYmVmb3JlJ10gPSBmYWxzZTsgLy8gZGVmYXVsdDogYXV0b1xuICB3aGl0ZUxpc3RbJ3BhZ2UtYnJlYWstaW5zaWRlJ10gPSBmYWxzZTsgLy8gZGVmYXVsdDogYXV0b1xuICB3aGl0ZUxpc3RbJ3BhZ2UtcG9saWN5J10gPSBmYWxzZTsgLy8gZGVmYXVsdDogc3RhcnRcbiAgd2hpdGVMaXN0WydwYXVzZSddID0gZmFsc2U7IC8vIGRlZmF1bHQ6IGltcGxlbWVudGF0aW9uIGRlcGVuZGVudFxuICB3aGl0ZUxpc3RbJ3BhdXNlLWFmdGVyJ10gPSBmYWxzZTsgLy8gZGVmYXVsdDogaW1wbGVtZW50YXRpb24gZGVwZW5kZW50XG4gIHdoaXRlTGlzdFsncGF1c2UtYmVmb3JlJ10gPSBmYWxzZTsgLy8gZGVmYXVsdDogaW1wbGVtZW50YXRpb24gZGVwZW5kZW50XG4gIHdoaXRlTGlzdFsncGVyc3BlY3RpdmUnXSA9IGZhbHNlOyAvLyBkZWZhdWx0OiBub25lXG4gIHdoaXRlTGlzdFsncGVyc3BlY3RpdmUtb3JpZ2luJ10gPSBmYWxzZTsgLy8gZGVmYXVsdDogNTAlIDUwJVxuICB3aGl0ZUxpc3RbJ3BpdGNoJ10gPSBmYWxzZTsgLy8gZGVmYXVsdDogbWVkaXVtXG4gIHdoaXRlTGlzdFsncGl0Y2gtcmFuZ2UnXSA9IGZhbHNlOyAvLyBkZWZhdWx0OiA1MFxuICB3aGl0ZUxpc3RbJ3BsYXktZHVyaW5nJ10gPSBmYWxzZTsgLy8gZGVmYXVsdDogYXV0b1xuICB3aGl0ZUxpc3RbJ3Bvc2l0aW9uJ10gPSBmYWxzZTsgLy8gZGVmYXVsdDogc3RhdGljXG4gIHdoaXRlTGlzdFsncHJlc2VudGF0aW9uLWxldmVsJ10gPSBmYWxzZTsgLy8gZGVmYXVsdDogMFxuICB3aGl0ZUxpc3RbJ3F1b3RlcyddID0gZmFsc2U7IC8vIGRlZmF1bHQ6IHRleHRcbiAgd2hpdGVMaXN0WydyZWdpb24tZnJhZ21lbnQnXSA9IGZhbHNlOyAvLyBkZWZhdWx0OiBhdXRvXG4gIHdoaXRlTGlzdFsncmVzaXplJ10gPSBmYWxzZTsgLy8gZGVmYXVsdDogbm9uZVxuICB3aGl0ZUxpc3RbJ3Jlc3QnXSA9IGZhbHNlOyAvLyBkZWZhdWx0OiBkZXBlbmRpbmcgb24gaW5kaXZpZHVhbCBwcm9wZXJ0aWVzXG4gIHdoaXRlTGlzdFsncmVzdC1hZnRlciddID0gZmFsc2U7IC8vIGRlZmF1bHQ6IG5vbmVcbiAgd2hpdGVMaXN0WydyZXN0LWJlZm9yZSddID0gZmFsc2U7IC8vIGRlZmF1bHQ6IG5vbmVcbiAgd2hpdGVMaXN0WydyaWNobmVzcyddID0gZmFsc2U7IC8vIGRlZmF1bHQ6IDUwXG4gIHdoaXRlTGlzdFsncmlnaHQnXSA9IGZhbHNlOyAvLyBkZWZhdWx0OiBhdXRvXG4gIHdoaXRlTGlzdFsncm90YXRpb24nXSA9IGZhbHNlOyAvLyBkZWZhdWx0OiAwXG4gIHdoaXRlTGlzdFsncm90YXRpb24tcG9pbnQnXSA9IGZhbHNlOyAvLyBkZWZhdWx0OiA1MCUgNTAlXG4gIHdoaXRlTGlzdFsncnVieS1hbGlnbiddID0gZmFsc2U7IC8vIGRlZmF1bHQ6IGF1dG9cbiAgd2hpdGVMaXN0WydydWJ5LW1lcmdlJ10gPSBmYWxzZTsgLy8gZGVmYXVsdDogc2VwYXJhdGVcbiAgd2hpdGVMaXN0WydydWJ5LXBvc2l0aW9uJ10gPSBmYWxzZTsgLy8gZGVmYXVsdDogYmVmb3JlXG4gIHdoaXRlTGlzdFsnc2hhcGUtaW1hZ2UtdGhyZXNob2xkJ10gPSBmYWxzZTsgLy8gZGVmYXVsdDogMC4wXG4gIHdoaXRlTGlzdFsnc2hhcGUtb3V0c2lkZSddID0gZmFsc2U7IC8vIGRlZmF1bHQ6IG5vbmVcbiAgd2hpdGVMaXN0WydzaGFwZS1tYXJnaW4nXSA9IGZhbHNlOyAvLyBkZWZhdWx0OiAwXG4gIHdoaXRlTGlzdFsnc2l6ZSddID0gZmFsc2U7IC8vIGRlZmF1bHQ6IGF1dG9cbiAgd2hpdGVMaXN0WydzcGVhayddID0gZmFsc2U7IC8vIGRlZmF1bHQ6IGF1dG9cbiAgd2hpdGVMaXN0WydzcGVhay1hcyddID0gZmFsc2U7IC8vIGRlZmF1bHQ6IG5vcm1hbFxuICB3aGl0ZUxpc3RbJ3NwZWFrLWhlYWRlciddID0gZmFsc2U7IC8vIGRlZmF1bHQ6IG9uY2VcbiAgd2hpdGVMaXN0WydzcGVhay1udW1lcmFsJ10gPSBmYWxzZTsgLy8gZGVmYXVsdDogY29udGludW91c1xuICB3aGl0ZUxpc3RbJ3NwZWFrLXB1bmN0dWF0aW9uJ10gPSBmYWxzZTsgLy8gZGVmYXVsdDogbm9uZVxuICB3aGl0ZUxpc3RbJ3NwZWVjaC1yYXRlJ10gPSBmYWxzZTsgLy8gZGVmYXVsdDogbWVkaXVtXG4gIHdoaXRlTGlzdFsnc3RyZXNzJ10gPSBmYWxzZTsgLy8gZGVmYXVsdDogNTBcbiAgd2hpdGVMaXN0WydzdHJpbmctc2V0J10gPSBmYWxzZTsgLy8gZGVmYXVsdDogbm9uZVxuICB3aGl0ZUxpc3RbJ3RhYi1zaXplJ10gPSBmYWxzZTsgLy8gZGVmYXVsdDogOFxuICB3aGl0ZUxpc3RbJ3RhYmxlLWxheW91dCddID0gZmFsc2U7IC8vIGRlZmF1bHQ6IGF1dG9cbiAgd2hpdGVMaXN0Wyd0ZXh0LWFsaWduJ10gPSB0cnVlOyAvLyBkZWZhdWx0OiBzdGFydFxuICB3aGl0ZUxpc3RbJ3RleHQtYWxpZ24tbGFzdCddID0gdHJ1ZTsgLy8gZGVmYXVsdDogYXV0b1xuICB3aGl0ZUxpc3RbJ3RleHQtY29tYmluZS11cHJpZ2h0J10gPSB0cnVlOyAvLyBkZWZhdWx0OiBub25lXG4gIHdoaXRlTGlzdFsndGV4dC1kZWNvcmF0aW9uJ10gPSB0cnVlOyAvLyBkZWZhdWx0OiBub25lXG4gIHdoaXRlTGlzdFsndGV4dC1kZWNvcmF0aW9uLWNvbG9yJ10gPSB0cnVlOyAvLyBkZWZhdWx0OiBjdXJyZW50Q29sb3JcbiAgd2hpdGVMaXN0Wyd0ZXh0LWRlY29yYXRpb24tbGluZSddID0gdHJ1ZTsgLy8gZGVmYXVsdDogbm9uZVxuICB3aGl0ZUxpc3RbJ3RleHQtZGVjb3JhdGlvbi1za2lwJ10gPSB0cnVlOyAvLyBkZWZhdWx0OiBvYmplY3RzXG4gIHdoaXRlTGlzdFsndGV4dC1kZWNvcmF0aW9uLXN0eWxlJ10gPSB0cnVlOyAvLyBkZWZhdWx0OiBzb2xpZFxuICB3aGl0ZUxpc3RbJ3RleHQtZW1waGFzaXMnXSA9IHRydWU7IC8vIGRlZmF1bHQ6IGRlcGVuZGluZyBvbiBpbmRpdmlkdWFsIHByb3BlcnRpZXNcbiAgd2hpdGVMaXN0Wyd0ZXh0LWVtcGhhc2lzLWNvbG9yJ10gPSB0cnVlOyAvLyBkZWZhdWx0OiBjdXJyZW50Q29sb3JcbiAgd2hpdGVMaXN0Wyd0ZXh0LWVtcGhhc2lzLXBvc2l0aW9uJ10gPSB0cnVlOyAvLyBkZWZhdWx0OiBvdmVyIHJpZ2h0XG4gIHdoaXRlTGlzdFsndGV4dC1lbXBoYXNpcy1zdHlsZSddID0gdHJ1ZTsgLy8gZGVmYXVsdDogbm9uZVxuICB3aGl0ZUxpc3RbJ3RleHQtaGVpZ2h0J10gPSB0cnVlOyAvLyBkZWZhdWx0OiBhdXRvXG4gIHdoaXRlTGlzdFsndGV4dC1pbmRlbnQnXSA9IHRydWU7IC8vIGRlZmF1bHQ6IDBcbiAgd2hpdGVMaXN0Wyd0ZXh0LWp1c3RpZnknXSA9IHRydWU7IC8vIGRlZmF1bHQ6IGF1dG9cbiAgd2hpdGVMaXN0Wyd0ZXh0LW9yaWVudGF0aW9uJ10gPSB0cnVlOyAvLyBkZWZhdWx0OiBtaXhlZFxuICB3aGl0ZUxpc3RbJ3RleHQtb3ZlcmZsb3cnXSA9IHRydWU7IC8vIGRlZmF1bHQ6IGNsaXBcbiAgd2hpdGVMaXN0Wyd0ZXh0LXNoYWRvdyddID0gdHJ1ZTsgLy8gZGVmYXVsdDogbm9uZVxuICB3aGl0ZUxpc3RbJ3RleHQtc3BhY2UtY29sbGFwc2UnXSA9IHRydWU7IC8vIGRlZmF1bHQ6IGNvbGxhcHNlXG4gIHdoaXRlTGlzdFsndGV4dC10cmFuc2Zvcm0nXSA9IHRydWU7IC8vIGRlZmF1bHQ6IG5vbmVcbiAgd2hpdGVMaXN0Wyd0ZXh0LXVuZGVybGluZS1wb3NpdGlvbiddID0gdHJ1ZTsgLy8gZGVmYXVsdDogYXV0b1xuICB3aGl0ZUxpc3RbJ3RleHQtd3JhcCddID0gdHJ1ZTsgLy8gZGVmYXVsdDogbm9ybWFsXG4gIHdoaXRlTGlzdFsndG9wJ10gPSBmYWxzZTsgLy8gZGVmYXVsdDogYXV0b1xuICB3aGl0ZUxpc3RbJ3RyYW5zZm9ybSddID0gZmFsc2U7IC8vIGRlZmF1bHQ6IG5vbmVcbiAgd2hpdGVMaXN0Wyd0cmFuc2Zvcm0tb3JpZ2luJ10gPSBmYWxzZTsgLy8gZGVmYXVsdDogNTAlIDUwJSAwXG4gIHdoaXRlTGlzdFsndHJhbnNmb3JtLXN0eWxlJ10gPSBmYWxzZTsgLy8gZGVmYXVsdDogZmxhdFxuICB3aGl0ZUxpc3RbJ3RyYW5zaXRpb24nXSA9IGZhbHNlOyAvLyBkZWZhdWx0OiBkZXBlbmRpbmcgb24gaW5kaXZpZHVhbCBwcm9wZXJ0aWVzXG4gIHdoaXRlTGlzdFsndHJhbnNpdGlvbi1kZWxheSddID0gZmFsc2U7IC8vIGRlZmF1bHQ6IDBzXG4gIHdoaXRlTGlzdFsndHJhbnNpdGlvbi1kdXJhdGlvbiddID0gZmFsc2U7IC8vIGRlZmF1bHQ6IDBzXG4gIHdoaXRlTGlzdFsndHJhbnNpdGlvbi1wcm9wZXJ0eSddID0gZmFsc2U7IC8vIGRlZmF1bHQ6IGFsbFxuICB3aGl0ZUxpc3RbJ3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uJ10gPSBmYWxzZTsgLy8gZGVmYXVsdDogZWFzZVxuICB3aGl0ZUxpc3RbJ3VuaWNvZGUtYmlkaSddID0gZmFsc2U7IC8vIGRlZmF1bHQ6IG5vcm1hbFxuICB3aGl0ZUxpc3RbJ3ZlcnRpY2FsLWFsaWduJ10gPSBmYWxzZTsgLy8gZGVmYXVsdDogYmFzZWxpbmVcbiAgd2hpdGVMaXN0Wyd2aXNpYmlsaXR5J10gPSBmYWxzZTsgLy8gZGVmYXVsdDogdmlzaWJsZVxuICB3aGl0ZUxpc3RbJ3ZvaWNlLWJhbGFuY2UnXSA9IGZhbHNlOyAvLyBkZWZhdWx0OiBjZW50ZXJcbiAgd2hpdGVMaXN0Wyd2b2ljZS1kdXJhdGlvbiddID0gZmFsc2U7IC8vIGRlZmF1bHQ6IGF1dG9cbiAgd2hpdGVMaXN0Wyd2b2ljZS1mYW1pbHknXSA9IGZhbHNlOyAvLyBkZWZhdWx0OiBpbXBsZW1lbnRhdGlvbiBkZXBlbmRlbnRcbiAgd2hpdGVMaXN0Wyd2b2ljZS1waXRjaCddID0gZmFsc2U7IC8vIGRlZmF1bHQ6IG1lZGl1bVxuICB3aGl0ZUxpc3RbJ3ZvaWNlLXJhbmdlJ10gPSBmYWxzZTsgLy8gZGVmYXVsdDogbWVkaXVtXG4gIHdoaXRlTGlzdFsndm9pY2UtcmF0ZSddID0gZmFsc2U7IC8vIGRlZmF1bHQ6IG5vcm1hbFxuICB3aGl0ZUxpc3RbJ3ZvaWNlLXN0cmVzcyddID0gZmFsc2U7IC8vIGRlZmF1bHQ6IG5vcm1hbFxuICB3aGl0ZUxpc3RbJ3ZvaWNlLXZvbHVtZSddID0gZmFsc2U7IC8vIGRlZmF1bHQ6IG1lZGl1bVxuICB3aGl0ZUxpc3RbJ3ZvbHVtZSddID0gZmFsc2U7IC8vIGRlZmF1bHQ6IG1lZGl1bVxuICB3aGl0ZUxpc3RbJ3doaXRlLXNwYWNlJ10gPSBmYWxzZTsgLy8gZGVmYXVsdDogbm9ybWFsXG4gIHdoaXRlTGlzdFsnd2lkb3dzJ10gPSBmYWxzZTsgLy8gZGVmYXVsdDogMlxuICB3aGl0ZUxpc3RbJ3dpZHRoJ10gPSB0cnVlOyAvLyBkZWZhdWx0OiBhdXRvXG4gIHdoaXRlTGlzdFsnd2lsbC1jaGFuZ2UnXSA9IGZhbHNlOyAvLyBkZWZhdWx0OiBhdXRvXG4gIHdoaXRlTGlzdFsnd29yZC1icmVhayddID0gdHJ1ZTsgLy8gZGVmYXVsdDogbm9ybWFsXG4gIHdoaXRlTGlzdFsnd29yZC1zcGFjaW5nJ10gPSB0cnVlOyAvLyBkZWZhdWx0OiBub3JtYWxcbiAgd2hpdGVMaXN0Wyd3b3JkLXdyYXAnXSA9IHRydWU7IC8vIGRlZmF1bHQ6IG5vcm1hbFxuICB3aGl0ZUxpc3RbJ3dyYXAtZmxvdyddID0gZmFsc2U7IC8vIGRlZmF1bHQ6IGF1dG9cbiAgd2hpdGVMaXN0Wyd3cmFwLXRocm91Z2gnXSA9IGZhbHNlOyAvLyBkZWZhdWx0OiB3cmFwXG4gIHdoaXRlTGlzdFsnd3JpdGluZy1tb2RlJ10gPSBmYWxzZTsgLy8gZGVmYXVsdDogaG9yaXpvbnRhbC10YlxuICB3aGl0ZUxpc3RbJ3otaW5kZXgnXSA9IGZhbHNlOyAvLyBkZWZhdWx0OiBhdXRvXG5cbiAgcmV0dXJuIHdoaXRlTGlzdDtcbn1cblxuXG4vKipcbiAqIOWMuemFjeWIsOeZveWQjeWNleS4iueahOS4gOS4quWxnuaAp+aXtlxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSBuYW1lXG4gKiBAcGFyYW0ge1N0cmluZ30gdmFsdWVcbiAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zXG4gKiBAcmV0dXJuIHtTdHJpbmd9XG4gKi9cbmZ1bmN0aW9uIG9uQXR0ciAobmFtZSwgdmFsdWUsIG9wdGlvbnMpIHtcbiAgLy8gZG8gbm90aGluZ1xufVxuXG4vKipcbiAqIOWMuemFjeWIsOS4jeWcqOeZveWQjeWNleS4iueahOS4gOS4quWxnuaAp+aXtlxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSBuYW1lXG4gKiBAcGFyYW0ge1N0cmluZ30gdmFsdWVcbiAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zXG4gKiBAcmV0dXJuIHtTdHJpbmd9XG4gKi9cbmZ1bmN0aW9uIG9uSWdub3JlQXR0ciAobmFtZSwgdmFsdWUsIG9wdGlvbnMpIHtcbiAgLy8gZG8gbm90aGluZ1xufVxuXG52YXIgUkVHRVhQX1VSTF9KQVZBU0NSSVBUID0gL2phdmFzY3JpcHRcXHMqXFw6L2ltZztcblxuLyoqXG4gKiDov4fmu6TlsZ7mgKflgLxcbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gbmFtZVxuICogQHBhcmFtIHtTdHJpbmd9IHZhbHVlXG4gKiBAcmV0dXJuIHtTdHJpbmd9XG4gKi9cbmZ1bmN0aW9uIHNhZmVBdHRyVmFsdWUobmFtZSwgdmFsdWUpIHtcbiAgaWYgKFJFR0VYUF9VUkxfSkFWQVNDUklQVC50ZXN0KHZhbHVlKSkgcmV0dXJuICcnO1xuICByZXR1cm4gdmFsdWU7XG59XG5cblxuZXhwb3J0cy53aGl0ZUxpc3QgPSBnZXREZWZhdWx0V2hpdGVMaXN0KCk7XG5leHBvcnRzLmdldERlZmF1bHRXaGl0ZUxpc3QgPSBnZXREZWZhdWx0V2hpdGVMaXN0O1xuZXhwb3J0cy5vbkF0dHIgPSBvbkF0dHI7XG5leHBvcnRzLm9uSWdub3JlQXR0ciA9IG9uSWdub3JlQXR0cjtcbmV4cG9ydHMuc2FmZUF0dHJWYWx1ZSA9IHNhZmVBdHRyVmFsdWU7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/cssfilter/lib/default.js\n"); /***/ }), /***/ "./node_modules/cssfilter/lib/index.js": /*!*********************************************!*\ !*** ./node_modules/cssfilter/lib/index.js ***! \*********************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("/**\n * cssfilter\n *\n * @author 老雷\n */\n\nvar DEFAULT = __webpack_require__(/*! ./default */ \"./node_modules/cssfilter/lib/default.js\");\nvar FilterCSS = __webpack_require__(/*! ./css */ \"./node_modules/cssfilter/lib/css.js\");\n\n\n/**\n * XSS过滤\n *\n * @param {String} css 要过滤的CSS代码\n * @param {Object} options 选项:whiteList, onAttr, onIgnoreAttr\n * @return {String}\n */\nfunction filterCSS (html, options) {\n var xss = new FilterCSS(options);\n return xss.process(html);\n}\n\n\n// 输出\nexports = module.exports = filterCSS;\nexports.FilterCSS = FilterCSS;\nfor (var i in DEFAULT) exports[i] = DEFAULT[i];\n\n// 在浏览器端使用\nif (typeof window !== 'undefined') {\n window.filterCSS = module.exports;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY3NzZmlsdGVyL2xpYi9pbmRleC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jc3NmaWx0ZXIvbGliL2luZGV4LmpzPzFhYjIiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBjc3NmaWx0ZXJcbiAqXG4gKiBAYXV0aG9yIOiAgembtzxsZWl6b25nbWluQGdtYWlsLmNvbT5cbiAqL1xuXG52YXIgREVGQVVMVCA9IHJlcXVpcmUoJy4vZGVmYXVsdCcpO1xudmFyIEZpbHRlckNTUyA9IHJlcXVpcmUoJy4vY3NzJyk7XG5cblxuLyoqXG4gKiBYU1Pov4fmu6RcbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gY3NzIOimgei/h+a7pOeahENTU+S7o+eggVxuICogQHBhcmFtIHtPYmplY3R9IG9wdGlvbnMg6YCJ6aG577yad2hpdGVMaXN0LCBvbkF0dHIsIG9uSWdub3JlQXR0clxuICogQHJldHVybiB7U3RyaW5nfVxuICovXG5mdW5jdGlvbiBmaWx0ZXJDU1MgKGh0bWwsIG9wdGlvbnMpIHtcbiAgdmFyIHhzcyA9IG5ldyBGaWx0ZXJDU1Mob3B0aW9ucyk7XG4gIHJldHVybiB4c3MucHJvY2VzcyhodG1sKTtcbn1cblxuXG4vLyDovpPlh7pcbmV4cG9ydHMgPSBtb2R1bGUuZXhwb3J0cyA9IGZpbHRlckNTUztcbmV4cG9ydHMuRmlsdGVyQ1NTID0gRmlsdGVyQ1NTO1xuZm9yICh2YXIgaSBpbiBERUZBVUxUKSBleHBvcnRzW2ldID0gREVGQVVMVFtpXTtcblxuLy8g5Zyo5rWP6KeI5Zmo56uv5L2/55SoXG5pZiAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgd2luZG93LmZpbHRlckNTUyA9IG1vZHVsZS5leHBvcnRzO1xufVxuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/cssfilter/lib/index.js\n"); /***/ }), /***/ "./node_modules/cssfilter/lib/parser.js": /*!**********************************************!*\ !*** ./node_modules/cssfilter/lib/parser.js ***! \**********************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("/**\n * cssfilter\n *\n * @author 老雷\n */\n\nvar _ = __webpack_require__(/*! ./util */ \"./node_modules/cssfilter/lib/util.js\");\n\n\n/**\n * 解析style\n *\n * @param {String} css\n * @param {Function} onAttr 处理属性的函数\n * 参数格式: function (sourcePosition, position, name, value, source)\n * @return {String}\n */\nfunction parseStyle (css, onAttr) {\n css = _.trimRight(css);\n if (css[css.length - 1] !== ';') css += ';';\n var cssLength = css.length;\n var isParenthesisOpen = false;\n var lastPos = 0;\n var i = 0;\n var retCSS = '';\n\n function addNewAttr () {\n // 如果没有正常的闭合圆括号,则直接忽略当前属性\n if (!isParenthesisOpen) {\n var source = _.trim(css.slice(lastPos, i));\n var j = source.indexOf(':');\n if (j !== -1) {\n var name = _.trim(source.slice(0, j));\n var value = _.trim(source.slice(j + 1));\n // 必须有属性名称\n if (name) {\n var ret = onAttr(lastPos, retCSS.length, name, value, source);\n if (ret) retCSS += ret + '; ';\n }\n }\n }\n lastPos = i + 1;\n }\n\n for (; i < cssLength; i++) {\n var c = css[i];\n if (c === '/' && css[i + 1] === '*') {\n // 备注开始\n var j = css.indexOf('*/', i + 2);\n // 如果没有正常的备注结束,则后面的部分全部跳过\n if (j === -1) break;\n // 直接将当前位置调到备注结尾,并且初始化状态\n i = j + 1;\n lastPos = i + 1;\n isParenthesisOpen = false;\n } else if (c === '(') {\n isParenthesisOpen = true;\n } else if (c === ')') {\n isParenthesisOpen = false;\n } else if (c === ';') {\n if (isParenthesisOpen) {\n // 在圆括号里面,忽略\n } else {\n addNewAttr();\n }\n } else if (c === '\\n') {\n addNewAttr();\n }\n }\n\n return _.trim(retCSS);\n}\n\nmodule.exports = parseStyle;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY3NzZmlsdGVyL2xpYi9wYXJzZXIuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY3NzZmlsdGVyL2xpYi9wYXJzZXIuanM/YWUzNCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIGNzc2ZpbHRlclxuICpcbiAqIEBhdXRob3Ig6ICB6Zu3PGxlaXpvbmdtaW5AZ21haWwuY29tPlxuICovXG5cbnZhciBfID0gcmVxdWlyZSgnLi91dGlsJyk7XG5cblxuLyoqXG4gKiDop6PmnpBzdHlsZVxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSBjc3NcbiAqIEBwYXJhbSB7RnVuY3Rpb259IG9uQXR0ciDlpITnkIblsZ7mgKfnmoTlh73mlbBcbiAqICAg5Y+C5pWw5qC85byP77yaIGZ1bmN0aW9uIChzb3VyY2VQb3NpdGlvbiwgcG9zaXRpb24sIG5hbWUsIHZhbHVlLCBzb3VyY2UpXG4gKiBAcmV0dXJuIHtTdHJpbmd9XG4gKi9cbmZ1bmN0aW9uIHBhcnNlU3R5bGUgKGNzcywgb25BdHRyKSB7XG4gIGNzcyA9IF8udHJpbVJpZ2h0KGNzcyk7XG4gIGlmIChjc3NbY3NzLmxlbmd0aCAtIDFdICE9PSAnOycpIGNzcyArPSAnOyc7XG4gIHZhciBjc3NMZW5ndGggPSBjc3MubGVuZ3RoO1xuICB2YXIgaXNQYXJlbnRoZXNpc09wZW4gPSBmYWxzZTtcbiAgdmFyIGxhc3RQb3MgPSAwO1xuICB2YXIgaSA9IDA7XG4gIHZhciByZXRDU1MgPSAnJztcblxuICBmdW5jdGlvbiBhZGROZXdBdHRyICgpIHtcbiAgICAvLyDlpoLmnpzmsqHmnInmraPluLjnmoTpl63lkIjlnIbmi6zlj7fvvIzliJnnm7TmjqXlv73nlaXlvZPliY3lsZ7mgKdcbiAgICBpZiAoIWlzUGFyZW50aGVzaXNPcGVuKSB7XG4gICAgICB2YXIgc291cmNlID0gXy50cmltKGNzcy5zbGljZShsYXN0UG9zLCBpKSk7XG4gICAgICB2YXIgaiA9IHNvdXJjZS5pbmRleE9mKCc6Jyk7XG4gICAgICBpZiAoaiAhPT0gLTEpIHtcbiAgICAgICAgdmFyIG5hbWUgPSBfLnRyaW0oc291cmNlLnNsaWNlKDAsIGopKTtcbiAgICAgICAgdmFyIHZhbHVlID0gXy50cmltKHNvdXJjZS5zbGljZShqICsgMSkpO1xuICAgICAgICAvLyDlv4XpobvmnInlsZ7mgKflkI3np7BcbiAgICAgICAgaWYgKG5hbWUpIHtcbiAgICAgICAgICB2YXIgcmV0ID0gb25BdHRyKGxhc3RQb3MsIHJldENTUy5sZW5ndGgsIG5hbWUsIHZhbHVlLCBzb3VyY2UpO1xuICAgICAgICAgIGlmIChyZXQpIHJldENTUyArPSByZXQgKyAnOyAnO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIGxhc3RQb3MgPSBpICsgMTtcbiAgfVxuXG4gIGZvciAoOyBpIDwgY3NzTGVuZ3RoOyBpKyspIHtcbiAgICB2YXIgYyA9IGNzc1tpXTtcbiAgICBpZiAoYyA9PT0gJy8nICYmIGNzc1tpICsgMV0gPT09ICcqJykge1xuICAgICAgLy8g5aSH5rOo5byA5aeLXG4gICAgICB2YXIgaiA9IGNzcy5pbmRleE9mKCcqLycsIGkgKyAyKTtcbiAgICAgIC8vIOWmguaenOayoeacieato+W4uOeahOWkh+azqOe7k+adn++8jOWImeWQjumdoueahOmDqOWIhuWFqOmDqOi3s+i/h1xuICAgICAgaWYgKGogPT09IC0xKSBicmVhaztcbiAgICAgIC8vIOebtOaOpeWwhuW9k+WJjeS9jee9ruiwg+WIsOWkh+azqOe7k+Wwvu+8jOW5tuS4lOWIneWni+WMlueKtuaAgVxuICAgICAgaSA9IGogKyAxO1xuICAgICAgbGFzdFBvcyA9IGkgKyAxO1xuICAgICAgaXNQYXJlbnRoZXNpc09wZW4gPSBmYWxzZTtcbiAgICB9IGVsc2UgaWYgKGMgPT09ICcoJykge1xuICAgICAgaXNQYXJlbnRoZXNpc09wZW4gPSB0cnVlO1xuICAgIH0gZWxzZSBpZiAoYyA9PT0gJyknKSB7XG4gICAgICBpc1BhcmVudGhlc2lzT3BlbiA9IGZhbHNlO1xuICAgIH0gZWxzZSBpZiAoYyA9PT0gJzsnKSB7XG4gICAgICBpZiAoaXNQYXJlbnRoZXNpc09wZW4pIHtcbiAgICAgICAgLy8g5Zyo5ZyG5ous5Y+36YeM6Z2i77yM5b+955WlXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBhZGROZXdBdHRyKCk7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChjID09PSAnXFxuJykge1xuICAgICAgYWRkTmV3QXR0cigpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBfLnRyaW0ocmV0Q1NTKTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBwYXJzZVN0eWxlO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/cssfilter/lib/parser.js\n"); /***/ }), /***/ "./node_modules/cssfilter/lib/util.js": /*!********************************************!*\ !*** ./node_modules/cssfilter/lib/util.js ***! \********************************************/ /*! no static exports found */ /***/ (function(module, exports) { eval("module.exports = {\n indexOf: function (arr, item) {\n var i, j;\n if (Array.prototype.indexOf) {\n return arr.indexOf(item);\n }\n for (i = 0, j = arr.length; i < j; i++) {\n if (arr[i] === item) {\n return i;\n }\n }\n return -1;\n },\n forEach: function (arr, fn, scope) {\n var i, j;\n if (Array.prototype.forEach) {\n return arr.forEach(fn, scope);\n }\n for (i = 0, j = arr.length; i < j; i++) {\n fn.call(scope, arr[i], i, arr);\n }\n },\n trim: function (str) {\n if (String.prototype.trim) {\n return str.trim();\n }\n return str.replace(/(^\\s*)|(\\s*$)/g, '');\n },\n trimRight: function (str) {\n if (String.prototype.trimRight) {\n return str.trimRight();\n }\n return str.replace(/(\\s*$)/g, '');\n }\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY3NzZmlsdGVyL2xpYi91dGlsLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Nzc2ZpbHRlci9saWIvdXRpbC5qcz84NzUzIl0sInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0ge1xuICBpbmRleE9mOiBmdW5jdGlvbiAoYXJyLCBpdGVtKSB7XG4gICAgdmFyIGksIGo7XG4gICAgaWYgKEFycmF5LnByb3RvdHlwZS5pbmRleE9mKSB7XG4gICAgICByZXR1cm4gYXJyLmluZGV4T2YoaXRlbSk7XG4gICAgfVxuICAgIGZvciAoaSA9IDAsIGogPSBhcnIubGVuZ3RoOyBpIDwgajsgaSsrKSB7XG4gICAgICBpZiAoYXJyW2ldID09PSBpdGVtKSB7XG4gICAgICAgIHJldHVybiBpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gLTE7XG4gIH0sXG4gIGZvckVhY2g6IGZ1bmN0aW9uIChhcnIsIGZuLCBzY29wZSkge1xuICAgIHZhciBpLCBqO1xuICAgIGlmIChBcnJheS5wcm90b3R5cGUuZm9yRWFjaCkge1xuICAgICAgcmV0dXJuIGFyci5mb3JFYWNoKGZuLCBzY29wZSk7XG4gICAgfVxuICAgIGZvciAoaSA9IDAsIGogPSBhcnIubGVuZ3RoOyBpIDwgajsgaSsrKSB7XG4gICAgICBmbi5jYWxsKHNjb3BlLCBhcnJbaV0sIGksIGFycik7XG4gICAgfVxuICB9LFxuICB0cmltOiBmdW5jdGlvbiAoc3RyKSB7XG4gICAgaWYgKFN0cmluZy5wcm90b3R5cGUudHJpbSkge1xuICAgICAgcmV0dXJuIHN0ci50cmltKCk7XG4gICAgfVxuICAgIHJldHVybiBzdHIucmVwbGFjZSgvKF5cXHMqKXwoXFxzKiQpL2csICcnKTtcbiAgfSxcbiAgdHJpbVJpZ2h0OiBmdW5jdGlvbiAoc3RyKSB7XG4gICAgaWYgKFN0cmluZy5wcm90b3R5cGUudHJpbVJpZ2h0KSB7XG4gICAgICByZXR1cm4gc3RyLnRyaW1SaWdodCgpO1xuICAgIH1cbiAgICByZXR1cm4gc3RyLnJlcGxhY2UoLyhcXHMqJCkvZywgJycpO1xuICB9XG59O1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/cssfilter/lib/util.js\n"); /***/ }), /***/ "./node_modules/csv-to-markdown-table/lib/CsvToMarkdown.js": /*!*****************************************************************!*\ !*** ./node_modules/csv-to-markdown-table/lib/CsvToMarkdown.js ***! \*****************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; eval("\nexports.__esModule = true;\n/**\n * Converts CSV to Markdown Table\n *\n * @param {string} csvContent - The string content of the CSV\n * @param {string} delimiter - The character(s) to use as the CSV column delimiter\n * @param {boolean} hasHeader - Whether to use the first row of Data as headers\n * @returns {string}\n */\nfunction csvToMarkdown(csvContent, delimiter, hasHeader) {\n if (delimiter === void 0) { delimiter = \"\\t\"; }\n if (hasHeader === void 0) { hasHeader = false; }\n if (delimiter != \"\\t\") {\n csvContent = csvContent.replace(/\\t/g, \" \");\n }\n var columns = csvContent.split(\"\\n\");\n var tabularData = [];\n var maxRowLen = [];\n columns.forEach(function (e, i) {\n if (typeof tabularData[i] == \"undefined\") {\n tabularData[i] = [];\n }\n var regex = new RegExp(delimiter + '(?![^\"]*\"\\\\B)');\n var row = e.split(regex);\n row.forEach(function (ee, ii) {\n if (typeof maxRowLen[ii] == \"undefined\") {\n maxRowLen[ii] = 0;\n }\n // escape pipes and backslashes\n ee = ee.replace(/(\\||\\\\)/g, \"\\\\$1\");\n maxRowLen[ii] = Math.max(maxRowLen[ii], ee.length);\n tabularData[i][ii] = ee;\n });\n });\n var headerOutput = \"\";\n var seperatorOutput = \"\";\n maxRowLen.forEach(function (len) {\n var sizer = Array(len + 1 + 2);\n seperatorOutput += \"|\" + sizer.join(\"-\");\n headerOutput += \"|\" + sizer.join(\" \");\n });\n headerOutput += \"| \\n\";\n seperatorOutput += \"| \\n\";\n if (hasHeader) {\n headerOutput = \"\";\n }\n var rowOutput = \"\";\n tabularData.forEach(function (col, i) {\n maxRowLen.forEach(function (len, y) {\n var row = typeof col[y] == \"undefined\" ? \"\" : col[y];\n var spacing = Array((len - row.length) + 1).join(\" \");\n var out = \"| \" + row + spacing + \" \";\n if (hasHeader && i === 0) {\n headerOutput += out;\n }\n else {\n rowOutput += out;\n }\n });\n if (hasHeader && i === 0) {\n headerOutput += \"| \\n\";\n }\n else {\n rowOutput += \"| \\n\";\n }\n });\n return \"\" + headerOutput + seperatorOutput + rowOutput;\n}\nexports.csvToMarkdown = csvToMarkdown;\nif (true) {\n module.exports = csvToMarkdown;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY3N2LXRvLW1hcmtkb3duLXRhYmxlL2xpYi9Dc3ZUb01hcmtkb3duLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Nzdi10by1tYXJrZG93bi10YWJsZS9saWIvQ3N2VG9NYXJrZG93bi5qcz9lMzE5Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuZXhwb3J0cy5fX2VzTW9kdWxlID0gdHJ1ZTtcbi8qKlxuICogQ29udmVydHMgQ1NWIHRvIE1hcmtkb3duIFRhYmxlXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IGNzdkNvbnRlbnQgLSBUaGUgc3RyaW5nIGNvbnRlbnQgb2YgdGhlIENTVlxuICogQHBhcmFtIHtzdHJpbmd9IGRlbGltaXRlciAtIFRoZSBjaGFyYWN0ZXIocykgdG8gdXNlIGFzIHRoZSBDU1YgY29sdW1uIGRlbGltaXRlclxuICogQHBhcmFtIHtib29sZWFufSBoYXNIZWFkZXIgLSBXaGV0aGVyIHRvIHVzZSB0aGUgZmlyc3Qgcm93IG9mIERhdGEgYXMgaGVhZGVyc1xuICogQHJldHVybnMge3N0cmluZ31cbiAqL1xuZnVuY3Rpb24gY3N2VG9NYXJrZG93bihjc3ZDb250ZW50LCBkZWxpbWl0ZXIsIGhhc0hlYWRlcikge1xuICAgIGlmIChkZWxpbWl0ZXIgPT09IHZvaWQgMCkgeyBkZWxpbWl0ZXIgPSBcIlxcdFwiOyB9XG4gICAgaWYgKGhhc0hlYWRlciA9PT0gdm9pZCAwKSB7IGhhc0hlYWRlciA9IGZhbHNlOyB9XG4gICAgaWYgKGRlbGltaXRlciAhPSBcIlxcdFwiKSB7XG4gICAgICAgIGNzdkNvbnRlbnQgPSBjc3ZDb250ZW50LnJlcGxhY2UoL1xcdC9nLCBcIiAgICBcIik7XG4gICAgfVxuICAgIHZhciBjb2x1bW5zID0gY3N2Q29udGVudC5zcGxpdChcIlxcblwiKTtcbiAgICB2YXIgdGFidWxhckRhdGEgPSBbXTtcbiAgICB2YXIgbWF4Um93TGVuID0gW107XG4gICAgY29sdW1ucy5mb3JFYWNoKGZ1bmN0aW9uIChlLCBpKSB7XG4gICAgICAgIGlmICh0eXBlb2YgdGFidWxhckRhdGFbaV0gPT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgICAgICAgdGFidWxhckRhdGFbaV0gPSBbXTtcbiAgICAgICAgfVxuICAgICAgICB2YXIgcmVnZXggPSBuZXcgUmVnRXhwKGRlbGltaXRlciArICcoPyFbXlwiXSpcIlxcXFxCKScpO1xuICAgICAgICB2YXIgcm93ID0gZS5zcGxpdChyZWdleCk7XG4gICAgICAgIHJvdy5mb3JFYWNoKGZ1bmN0aW9uIChlZSwgaWkpIHtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgbWF4Um93TGVuW2lpXSA9PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgICAgICAgICAgICAgbWF4Um93TGVuW2lpXSA9IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBlc2NhcGUgcGlwZXMgYW5kIGJhY2tzbGFzaGVzXG4gICAgICAgICAgICBlZSA9IGVlLnJlcGxhY2UoLyhcXHx8XFxcXCkvZywgXCJcXFxcJDFcIik7XG4gICAgICAgICAgICBtYXhSb3dMZW5baWldID0gTWF0aC5tYXgobWF4Um93TGVuW2lpXSwgZWUubGVuZ3RoKTtcbiAgICAgICAgICAgIHRhYnVsYXJEYXRhW2ldW2lpXSA9IGVlO1xuICAgICAgICB9KTtcbiAgICB9KTtcbiAgICB2YXIgaGVhZGVyT3V0cHV0ID0gXCJcIjtcbiAgICB2YXIgc2VwZXJhdG9yT3V0cHV0ID0gXCJcIjtcbiAgICBtYXhSb3dMZW4uZm9yRWFjaChmdW5jdGlvbiAobGVuKSB7XG4gICAgICAgIHZhciBzaXplciA9IEFycmF5KGxlbiArIDEgKyAyKTtcbiAgICAgICAgc2VwZXJhdG9yT3V0cHV0ICs9IFwifFwiICsgc2l6ZXIuam9pbihcIi1cIik7XG4gICAgICAgIGhlYWRlck91dHB1dCArPSBcInxcIiArIHNpemVyLmpvaW4oXCIgXCIpO1xuICAgIH0pO1xuICAgIGhlYWRlck91dHB1dCArPSBcInwgXFxuXCI7XG4gICAgc2VwZXJhdG9yT3V0cHV0ICs9IFwifCBcXG5cIjtcbiAgICBpZiAoaGFzSGVhZGVyKSB7XG4gICAgICAgIGhlYWRlck91dHB1dCA9IFwiXCI7XG4gICAgfVxuICAgIHZhciByb3dPdXRwdXQgPSBcIlwiO1xuICAgIHRhYnVsYXJEYXRhLmZvckVhY2goZnVuY3Rpb24gKGNvbCwgaSkge1xuICAgICAgICBtYXhSb3dMZW4uZm9yRWFjaChmdW5jdGlvbiAobGVuLCB5KSB7XG4gICAgICAgICAgICB2YXIgcm93ID0gdHlwZW9mIGNvbFt5XSA9PSBcInVuZGVmaW5lZFwiID8gXCJcIiA6IGNvbFt5XTtcbiAgICAgICAgICAgIHZhciBzcGFjaW5nID0gQXJyYXkoKGxlbiAtIHJvdy5sZW5ndGgpICsgMSkuam9pbihcIiBcIik7XG4gICAgICAgICAgICB2YXIgb3V0ID0gXCJ8IFwiICsgcm93ICsgc3BhY2luZyArIFwiIFwiO1xuICAgICAgICAgICAgaWYgKGhhc0hlYWRlciAmJiBpID09PSAwKSB7XG4gICAgICAgICAgICAgICAgaGVhZGVyT3V0cHV0ICs9IG91dDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHJvd091dHB1dCArPSBvdXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICBpZiAoaGFzSGVhZGVyICYmIGkgPT09IDApIHtcbiAgICAgICAgICAgIGhlYWRlck91dHB1dCArPSBcInwgXFxuXCI7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICByb3dPdXRwdXQgKz0gXCJ8IFxcblwiO1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIFwiXCIgKyBoZWFkZXJPdXRwdXQgKyBzZXBlcmF0b3JPdXRwdXQgKyByb3dPdXRwdXQ7XG59XG5leHBvcnRzLmNzdlRvTWFya2Rvd24gPSBjc3ZUb01hcmtkb3duO1xuaWYgKHR5cGVvZiBtb2R1bGUgIT0gXCJ1bmRlZmluZWRcIikge1xuICAgIG1vZHVsZS5leHBvcnRzID0gY3N2VG9NYXJrZG93bjtcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/csv-to-markdown-table/lib/CsvToMarkdown.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/_lib/addLeadingZeros/index.js": /*!*****************************************************************!*\ !*** ./node_modules/date-fns/esm/_lib/addLeadingZeros/index.js ***! \*****************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return addLeadingZeros; });\nfunction addLeadingZeros(number, targetLength) {\n var sign = number < 0 ? '-' : '';\n var output = Math.abs(number).toString();\n\n while (output.length < targetLength) {\n output = '0' + output;\n }\n\n return sign + output;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL19saWIvYWRkTGVhZGluZ1plcm9zL2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2VzbS9fbGliL2FkZExlYWRpbmdaZXJvcy9pbmRleC5qcz9mYmI0Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGFkZExlYWRpbmdaZXJvcyhudW1iZXIsIHRhcmdldExlbmd0aCkge1xuICB2YXIgc2lnbiA9IG51bWJlciA8IDAgPyAnLScgOiAnJztcbiAgdmFyIG91dHB1dCA9IE1hdGguYWJzKG51bWJlcikudG9TdHJpbmcoKTtcblxuICB3aGlsZSAob3V0cHV0Lmxlbmd0aCA8IHRhcmdldExlbmd0aCkge1xuICAgIG91dHB1dCA9ICcwJyArIG91dHB1dDtcbiAgfVxuXG4gIHJldHVybiBzaWduICsgb3V0cHV0O1xufSJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/_lib/addLeadingZeros/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/_lib/assign/index.js": /*!********************************************************!*\ !*** ./node_modules/date-fns/esm/_lib/assign/index.js ***! \********************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return assign; });\nfunction assign(target, dirtyObject) {\n if (target == null) {\n throw new TypeError('assign requires that input parameter not be null or undefined');\n }\n\n dirtyObject = dirtyObject || {};\n\n for (var property in dirtyObject) {\n if (dirtyObject.hasOwnProperty(property)) {\n target[property] = dirtyObject[property];\n }\n }\n\n return target;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL19saWIvYXNzaWduL2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2VzbS9fbGliL2Fzc2lnbi9pbmRleC5qcz9mOGI5Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGFzc2lnbih0YXJnZXQsIGRpcnR5T2JqZWN0KSB7XG4gIGlmICh0YXJnZXQgPT0gbnVsbCkge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ2Fzc2lnbiByZXF1aXJlcyB0aGF0IGlucHV0IHBhcmFtZXRlciBub3QgYmUgbnVsbCBvciB1bmRlZmluZWQnKTtcbiAgfVxuXG4gIGRpcnR5T2JqZWN0ID0gZGlydHlPYmplY3QgfHwge307XG5cbiAgZm9yICh2YXIgcHJvcGVydHkgaW4gZGlydHlPYmplY3QpIHtcbiAgICBpZiAoZGlydHlPYmplY3QuaGFzT3duUHJvcGVydHkocHJvcGVydHkpKSB7XG4gICAgICB0YXJnZXRbcHJvcGVydHldID0gZGlydHlPYmplY3RbcHJvcGVydHldO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB0YXJnZXQ7XG59Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/_lib/assign/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/_lib/cloneObject/index.js": /*!*************************************************************!*\ !*** ./node_modules/date-fns/esm/_lib/cloneObject/index.js ***! \*************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return cloneObject; });\n/* harmony import */ var _assign_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../assign/index.js */ \"./node_modules/date-fns/esm/_lib/assign/index.js\");\n\nfunction cloneObject(dirtyObject) {\n return Object(_assign_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({}, dirtyObject);\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL19saWIvY2xvbmVPYmplY3QvaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL19saWIvY2xvbmVPYmplY3QvaW5kZXguanM/N2E2MCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYXNzaWduIGZyb20gJy4uL2Fzc2lnbi9pbmRleC5qcyc7XG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBjbG9uZU9iamVjdChkaXJ0eU9iamVjdCkge1xuICByZXR1cm4gYXNzaWduKHt9LCBkaXJ0eU9iamVjdCk7XG59Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/_lib/cloneObject/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/_lib/format/formatters/index.js": /*!*******************************************************************!*\ !*** ./node_modules/date-fns/esm/_lib/format/formatters/index.js ***! \*******************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _lightFormatters_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../lightFormatters/index.js */ \"./node_modules/date-fns/esm/_lib/format/lightFormatters/index.js\");\n/* harmony import */ var _lib_getUTCDayOfYear_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../_lib/getUTCDayOfYear/index.js */ \"./node_modules/date-fns/esm/_lib/getUTCDayOfYear/index.js\");\n/* harmony import */ var _lib_getUTCISOWeek_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../_lib/getUTCISOWeek/index.js */ \"./node_modules/date-fns/esm/_lib/getUTCISOWeek/index.js\");\n/* harmony import */ var _lib_getUTCISOWeekYear_index_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../_lib/getUTCISOWeekYear/index.js */ \"./node_modules/date-fns/esm/_lib/getUTCISOWeekYear/index.js\");\n/* harmony import */ var _lib_getUTCWeek_index_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../_lib/getUTCWeek/index.js */ \"./node_modules/date-fns/esm/_lib/getUTCWeek/index.js\");\n/* harmony import */ var _lib_getUTCWeekYear_index_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../_lib/getUTCWeekYear/index.js */ \"./node_modules/date-fns/esm/_lib/getUTCWeekYear/index.js\");\n/* harmony import */ var _addLeadingZeros_index_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../addLeadingZeros/index.js */ \"./node_modules/date-fns/esm/_lib/addLeadingZeros/index.js\");\n\n\n\n\n\n\n\nvar dayPeriodEnum = {\n am: 'am',\n pm: 'pm',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'morning',\n afternoon: 'afternoon',\n evening: 'evening',\n night: 'night'\n /*\n * | | Unit | | Unit |\n * |-----|--------------------------------|-----|--------------------------------|\n * | a | AM, PM | A* | Milliseconds in day |\n * | b | AM, PM, noon, midnight | B | Flexible day period |\n * | c | Stand-alone local day of week | C* | Localized hour w/ day period |\n * | d | Day of month | D | Day of year |\n * | e | Local day of week | E | Day of week |\n * | f | | F* | Day of week in month |\n * | g* | Modified Julian day | G | Era |\n * | h | Hour [1-12] | H | Hour [0-23] |\n * | i! | ISO day of week | I! | ISO week of year |\n * | j* | Localized hour w/ day period | J* | Localized hour w/o day period |\n * | k | Hour [1-24] | K | Hour [0-11] |\n * | l* | (deprecated) | L | Stand-alone month |\n * | m | Minute | M | Month |\n * | n | | N | |\n * | o! | Ordinal number modifier | O | Timezone (GMT) |\n * | p! | Long localized time | P! | Long localized date |\n * | q | Stand-alone quarter | Q | Quarter |\n * | r* | Related Gregorian year | R! | ISO week-numbering year |\n * | s | Second | S | Fraction of second |\n * | t! | Seconds timestamp | T! | Milliseconds timestamp |\n * | u | Extended year | U* | Cyclic year |\n * | v* | Timezone (generic non-locat.) | V* | Timezone (location) |\n * | w | Local week of year | W* | Week of month |\n * | x | Timezone (ISO-8601 w/o Z) | X | Timezone (ISO-8601) |\n * | y | Year (abs) | Y | Local week-numbering year |\n * | z | Timezone (specific non-locat.) | Z* | Timezone (aliases) |\n *\n * Letters marked by * are not implemented but reserved by Unicode standard.\n *\n * Letters marked by ! are non-standard, but implemented by date-fns:\n * - `o` modifies the previous token to turn it into an ordinal (see `format` docs)\n * - `i` is ISO day of week. For `i` and `ii` is returns numeric ISO week days,\n * i.e. 7 for Sunday, 1 for Monday, etc.\n * - `I` is ISO week of year, as opposed to `w` which is local week of year.\n * - `R` is ISO week-numbering year, as opposed to `Y` which is local week-numbering year.\n * `R` is supposed to be used in conjunction with `I` and `i`\n * for universal ISO week-numbering date, whereas\n * `Y` is supposed to be used in conjunction with `w` and `e`\n * for week-numbering date specific to the locale.\n * - `P` is long localized date format\n * - `p` is long localized time format\n */\n\n};\nvar formatters = {\n // Era\n G: function (date, token, localize) {\n var era = date.getUTCFullYear() > 0 ? 1 : 0;\n\n switch (token) {\n // AD, BC\n case 'G':\n case 'GG':\n case 'GGG':\n return localize.era(era, {\n width: 'abbreviated'\n });\n // A, B\n\n case 'GGGGG':\n return localize.era(era, {\n width: 'narrow'\n });\n // Anno Domini, Before Christ\n\n case 'GGGG':\n default:\n return localize.era(era, {\n width: 'wide'\n });\n }\n },\n // Year\n y: function (date, token, localize) {\n // Ordinal number\n if (token === 'yo') {\n var signedYear = date.getUTCFullYear(); // Returns 1 for 1 BC (which is year 0 in JavaScript)\n\n var year = signedYear > 0 ? signedYear : 1 - signedYear;\n return localize.ordinalNumber(year, {\n unit: 'year'\n });\n }\n\n return _lightFormatters_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].y(date, token);\n },\n // Local week-numbering year\n Y: function (date, token, localize, options) {\n var signedWeekYear = Object(_lib_getUTCWeekYear_index_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(date, options); // Returns 1 for 1 BC (which is year 0 in JavaScript)\n\n var weekYear = signedWeekYear > 0 ? signedWeekYear : 1 - signedWeekYear; // Two digit year\n\n if (token === 'YY') {\n var twoDigitYear = weekYear % 100;\n return Object(_addLeadingZeros_index_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(twoDigitYear, 2);\n } // Ordinal number\n\n\n if (token === 'Yo') {\n return localize.ordinalNumber(weekYear, {\n unit: 'year'\n });\n } // Padding\n\n\n return Object(_addLeadingZeros_index_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(weekYear, token.length);\n },\n // ISO week-numbering year\n R: function (date, token) {\n var isoWeekYear = Object(_lib_getUTCISOWeekYear_index_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(date); // Padding\n\n return Object(_addLeadingZeros_index_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(isoWeekYear, token.length);\n },\n // Extended year. This is a single number designating the year of this calendar system.\n // The main difference between `y` and `u` localizers are B.C. years:\n // | Year | `y` | `u` |\n // |------|-----|-----|\n // | AC 1 | 1 | 1 |\n // | BC 1 | 1 | 0 |\n // | BC 2 | 2 | -1 |\n // Also `yy` always returns the last two digits of a year,\n // while `uu` pads single digit years to 2 characters and returns other years unchanged.\n u: function (date, token) {\n var year = date.getUTCFullYear();\n return Object(_addLeadingZeros_index_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(year, token.length);\n },\n // Quarter\n Q: function (date, token, localize) {\n var quarter = Math.ceil((date.getUTCMonth() + 1) / 3);\n\n switch (token) {\n // 1, 2, 3, 4\n case 'Q':\n return String(quarter);\n // 01, 02, 03, 04\n\n case 'QQ':\n return Object(_addLeadingZeros_index_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(quarter, 2);\n // 1st, 2nd, 3rd, 4th\n\n case 'Qo':\n return localize.ordinalNumber(quarter, {\n unit: 'quarter'\n });\n // Q1, Q2, Q3, Q4\n\n case 'QQQ':\n return localize.quarter(quarter, {\n width: 'abbreviated',\n context: 'formatting'\n });\n // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n\n case 'QQQQQ':\n return localize.quarter(quarter, {\n width: 'narrow',\n context: 'formatting'\n });\n // 1st quarter, 2nd quarter, ...\n\n case 'QQQQ':\n default:\n return localize.quarter(quarter, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // Stand-alone quarter\n q: function (date, token, localize) {\n var quarter = Math.ceil((date.getUTCMonth() + 1) / 3);\n\n switch (token) {\n // 1, 2, 3, 4\n case 'q':\n return String(quarter);\n // 01, 02, 03, 04\n\n case 'qq':\n return Object(_addLeadingZeros_index_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(quarter, 2);\n // 1st, 2nd, 3rd, 4th\n\n case 'qo':\n return localize.ordinalNumber(quarter, {\n unit: 'quarter'\n });\n // Q1, Q2, Q3, Q4\n\n case 'qqq':\n return localize.quarter(quarter, {\n width: 'abbreviated',\n context: 'standalone'\n });\n // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n\n case 'qqqqq':\n return localize.quarter(quarter, {\n width: 'narrow',\n context: 'standalone'\n });\n // 1st quarter, 2nd quarter, ...\n\n case 'qqqq':\n default:\n return localize.quarter(quarter, {\n width: 'wide',\n context: 'standalone'\n });\n }\n },\n // Month\n M: function (date, token, localize) {\n var month = date.getUTCMonth();\n\n switch (token) {\n case 'M':\n case 'MM':\n return _lightFormatters_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].M(date, token);\n // 1st, 2nd, ..., 12th\n\n case 'Mo':\n return localize.ordinalNumber(month + 1, {\n unit: 'month'\n });\n // Jan, Feb, ..., Dec\n\n case 'MMM':\n return localize.month(month, {\n width: 'abbreviated',\n context: 'formatting'\n });\n // J, F, ..., D\n\n case 'MMMMM':\n return localize.month(month, {\n width: 'narrow',\n context: 'formatting'\n });\n // January, February, ..., December\n\n case 'MMMM':\n default:\n return localize.month(month, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // Stand-alone month\n L: function (date, token, localize) {\n var month = date.getUTCMonth();\n\n switch (token) {\n // 1, 2, ..., 12\n case 'L':\n return String(month + 1);\n // 01, 02, ..., 12\n\n case 'LL':\n return Object(_addLeadingZeros_index_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(month + 1, 2);\n // 1st, 2nd, ..., 12th\n\n case 'Lo':\n return localize.ordinalNumber(month + 1, {\n unit: 'month'\n });\n // Jan, Feb, ..., Dec\n\n case 'LLL':\n return localize.month(month, {\n width: 'abbreviated',\n context: 'standalone'\n });\n // J, F, ..., D\n\n case 'LLLLL':\n return localize.month(month, {\n width: 'narrow',\n context: 'standalone'\n });\n // January, February, ..., December\n\n case 'LLLL':\n default:\n return localize.month(month, {\n width: 'wide',\n context: 'standalone'\n });\n }\n },\n // Local week of year\n w: function (date, token, localize, options) {\n var week = Object(_lib_getUTCWeek_index_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(date, options);\n\n if (token === 'wo') {\n return localize.ordinalNumber(week, {\n unit: 'week'\n });\n }\n\n return Object(_addLeadingZeros_index_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(week, token.length);\n },\n // ISO week of year\n I: function (date, token, localize) {\n var isoWeek = Object(_lib_getUTCISOWeek_index_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(date);\n\n if (token === 'Io') {\n return localize.ordinalNumber(isoWeek, {\n unit: 'week'\n });\n }\n\n return Object(_addLeadingZeros_index_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(isoWeek, token.length);\n },\n // Day of the month\n d: function (date, token, localize) {\n if (token === 'do') {\n return localize.ordinalNumber(date.getUTCDate(), {\n unit: 'date'\n });\n }\n\n return _lightFormatters_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].d(date, token);\n },\n // Day of year\n D: function (date, token, localize) {\n var dayOfYear = Object(_lib_getUTCDayOfYear_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(date);\n\n if (token === 'Do') {\n return localize.ordinalNumber(dayOfYear, {\n unit: 'dayOfYear'\n });\n }\n\n return Object(_addLeadingZeros_index_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(dayOfYear, token.length);\n },\n // Day of week\n E: function (date, token, localize) {\n var dayOfWeek = date.getUTCDay();\n\n switch (token) {\n // Tue\n case 'E':\n case 'EE':\n case 'EEE':\n return localize.day(dayOfWeek, {\n width: 'abbreviated',\n context: 'formatting'\n });\n // T\n\n case 'EEEEE':\n return localize.day(dayOfWeek, {\n width: 'narrow',\n context: 'formatting'\n });\n // Tu\n\n case 'EEEEEE':\n return localize.day(dayOfWeek, {\n width: 'short',\n context: 'formatting'\n });\n // Tuesday\n\n case 'EEEE':\n default:\n return localize.day(dayOfWeek, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // Local day of week\n e: function (date, token, localize, options) {\n var dayOfWeek = date.getUTCDay();\n var localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7;\n\n switch (token) {\n // Numerical value (Nth day of week with current locale or weekStartsOn)\n case 'e':\n return String(localDayOfWeek);\n // Padded numerical value\n\n case 'ee':\n return Object(_addLeadingZeros_index_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(localDayOfWeek, 2);\n // 1st, 2nd, ..., 7th\n\n case 'eo':\n return localize.ordinalNumber(localDayOfWeek, {\n unit: 'day'\n });\n\n case 'eee':\n return localize.day(dayOfWeek, {\n width: 'abbreviated',\n context: 'formatting'\n });\n // T\n\n case 'eeeee':\n return localize.day(dayOfWeek, {\n width: 'narrow',\n context: 'formatting'\n });\n // Tu\n\n case 'eeeeee':\n return localize.day(dayOfWeek, {\n width: 'short',\n context: 'formatting'\n });\n // Tuesday\n\n case 'eeee':\n default:\n return localize.day(dayOfWeek, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // Stand-alone local day of week\n c: function (date, token, localize, options) {\n var dayOfWeek = date.getUTCDay();\n var localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7;\n\n switch (token) {\n // Numerical value (same as in `e`)\n case 'c':\n return String(localDayOfWeek);\n // Padded numerical value\n\n case 'cc':\n return Object(_addLeadingZeros_index_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(localDayOfWeek, token.length);\n // 1st, 2nd, ..., 7th\n\n case 'co':\n return localize.ordinalNumber(localDayOfWeek, {\n unit: 'day'\n });\n\n case 'ccc':\n return localize.day(dayOfWeek, {\n width: 'abbreviated',\n context: 'standalone'\n });\n // T\n\n case 'ccccc':\n return localize.day(dayOfWeek, {\n width: 'narrow',\n context: 'standalone'\n });\n // Tu\n\n case 'cccccc':\n return localize.day(dayOfWeek, {\n width: 'short',\n context: 'standalone'\n });\n // Tuesday\n\n case 'cccc':\n default:\n return localize.day(dayOfWeek, {\n width: 'wide',\n context: 'standalone'\n });\n }\n },\n // ISO day of week\n i: function (date, token, localize) {\n var dayOfWeek = date.getUTCDay();\n var isoDayOfWeek = dayOfWeek === 0 ? 7 : dayOfWeek;\n\n switch (token) {\n // 2\n case 'i':\n return String(isoDayOfWeek);\n // 02\n\n case 'ii':\n return Object(_addLeadingZeros_index_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(isoDayOfWeek, token.length);\n // 2nd\n\n case 'io':\n return localize.ordinalNumber(isoDayOfWeek, {\n unit: 'day'\n });\n // Tue\n\n case 'iii':\n return localize.day(dayOfWeek, {\n width: 'abbreviated',\n context: 'formatting'\n });\n // T\n\n case 'iiiii':\n return localize.day(dayOfWeek, {\n width: 'narrow',\n context: 'formatting'\n });\n // Tu\n\n case 'iiiiii':\n return localize.day(dayOfWeek, {\n width: 'short',\n context: 'formatting'\n });\n // Tuesday\n\n case 'iiii':\n default:\n return localize.day(dayOfWeek, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // AM or PM\n a: function (date, token, localize) {\n var hours = date.getUTCHours();\n var dayPeriodEnumValue = hours / 12 >= 1 ? 'pm' : 'am';\n\n switch (token) {\n case 'a':\n case 'aa':\n case 'aaa':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'abbreviated',\n context: 'formatting'\n });\n\n case 'aaaaa':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'narrow',\n context: 'formatting'\n });\n\n case 'aaaa':\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // AM, PM, midnight, noon\n b: function (date, token, localize) {\n var hours = date.getUTCHours();\n var dayPeriodEnumValue;\n\n if (hours === 12) {\n dayPeriodEnumValue = dayPeriodEnum.noon;\n } else if (hours === 0) {\n dayPeriodEnumValue = dayPeriodEnum.midnight;\n } else {\n dayPeriodEnumValue = hours / 12 >= 1 ? 'pm' : 'am';\n }\n\n switch (token) {\n case 'b':\n case 'bb':\n case 'bbb':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'abbreviated',\n context: 'formatting'\n });\n\n case 'bbbbb':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'narrow',\n context: 'formatting'\n });\n\n case 'bbbb':\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // in the morning, in the afternoon, in the evening, at night\n B: function (date, token, localize) {\n var hours = date.getUTCHours();\n var dayPeriodEnumValue;\n\n if (hours >= 17) {\n dayPeriodEnumValue = dayPeriodEnum.evening;\n } else if (hours >= 12) {\n dayPeriodEnumValue = dayPeriodEnum.afternoon;\n } else if (hours >= 4) {\n dayPeriodEnumValue = dayPeriodEnum.morning;\n } else {\n dayPeriodEnumValue = dayPeriodEnum.night;\n }\n\n switch (token) {\n case 'B':\n case 'BB':\n case 'BBB':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'abbreviated',\n context: 'formatting'\n });\n\n case 'BBBBB':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'narrow',\n context: 'formatting'\n });\n\n case 'BBBB':\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // Hour [1-12]\n h: function (date, token, localize) {\n if (token === 'ho') {\n var hours = date.getUTCHours() % 12;\n if (hours === 0) hours = 12;\n return localize.ordinalNumber(hours, {\n unit: 'hour'\n });\n }\n\n return _lightFormatters_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].h(date, token);\n },\n // Hour [0-23]\n H: function (date, token, localize) {\n if (token === 'Ho') {\n return localize.ordinalNumber(date.getUTCHours(), {\n unit: 'hour'\n });\n }\n\n return _lightFormatters_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].H(date, token);\n },\n // Hour [0-11]\n K: function (date, token, localize) {\n var hours = date.getUTCHours() % 12;\n\n if (token === 'Ko') {\n return localize.ordinalNumber(hours, {\n unit: 'hour'\n });\n }\n\n return Object(_addLeadingZeros_index_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(hours, token.length);\n },\n // Hour [1-24]\n k: function (date, token, localize) {\n var hours = date.getUTCHours();\n if (hours === 0) hours = 24;\n\n if (token === 'ko') {\n return localize.ordinalNumber(hours, {\n unit: 'hour'\n });\n }\n\n return Object(_addLeadingZeros_index_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(hours, token.length);\n },\n // Minute\n m: function (date, token, localize) {\n if (token === 'mo') {\n return localize.ordinalNumber(date.getUTCMinutes(), {\n unit: 'minute'\n });\n }\n\n return _lightFormatters_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].m(date, token);\n },\n // Second\n s: function (date, token, localize) {\n if (token === 'so') {\n return localize.ordinalNumber(date.getUTCSeconds(), {\n unit: 'second'\n });\n }\n\n return _lightFormatters_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].s(date, token);\n },\n // Fraction of second\n S: function (date, token) {\n return _lightFormatters_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].S(date, token);\n },\n // Timezone (ISO-8601. If offset is 0, output is always `'Z'`)\n X: function (date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timezoneOffset = originalDate.getTimezoneOffset();\n\n if (timezoneOffset === 0) {\n return 'Z';\n }\n\n switch (token) {\n // Hours and optional minutes\n case 'X':\n return formatTimezoneWithOptionalMinutes(timezoneOffset);\n // Hours, minutes and optional seconds without `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `XX`\n\n case 'XXXX':\n case 'XX':\n // Hours and minutes without `:` delimiter\n return formatTimezone(timezoneOffset);\n // Hours, minutes and optional seconds with `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `XXX`\n\n case 'XXXXX':\n case 'XXX': // Hours and minutes with `:` delimiter\n\n default:\n return formatTimezone(timezoneOffset, ':');\n }\n },\n // Timezone (ISO-8601. If offset is 0, output is `'+00:00'` or equivalent)\n x: function (date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timezoneOffset = originalDate.getTimezoneOffset();\n\n switch (token) {\n // Hours and optional minutes\n case 'x':\n return formatTimezoneWithOptionalMinutes(timezoneOffset);\n // Hours, minutes and optional seconds without `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `xx`\n\n case 'xxxx':\n case 'xx':\n // Hours and minutes without `:` delimiter\n return formatTimezone(timezoneOffset);\n // Hours, minutes and optional seconds with `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `xxx`\n\n case 'xxxxx':\n case 'xxx': // Hours and minutes with `:` delimiter\n\n default:\n return formatTimezone(timezoneOffset, ':');\n }\n },\n // Timezone (GMT)\n O: function (date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timezoneOffset = originalDate.getTimezoneOffset();\n\n switch (token) {\n // Short\n case 'O':\n case 'OO':\n case 'OOO':\n return 'GMT' + formatTimezoneShort(timezoneOffset, ':');\n // Long\n\n case 'OOOO':\n default:\n return 'GMT' + formatTimezone(timezoneOffset, ':');\n }\n },\n // Timezone (specific non-location)\n z: function (date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timezoneOffset = originalDate.getTimezoneOffset();\n\n switch (token) {\n // Short\n case 'z':\n case 'zz':\n case 'zzz':\n return 'GMT' + formatTimezoneShort(timezoneOffset, ':');\n // Long\n\n case 'zzzz':\n default:\n return 'GMT' + formatTimezone(timezoneOffset, ':');\n }\n },\n // Seconds timestamp\n t: function (date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timestamp = Math.floor(originalDate.getTime() / 1000);\n return Object(_addLeadingZeros_index_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(timestamp, token.length);\n },\n // Milliseconds timestamp\n T: function (date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timestamp = originalDate.getTime();\n return Object(_addLeadingZeros_index_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(timestamp, token.length);\n }\n};\n\nfunction formatTimezoneShort(offset, dirtyDelimiter) {\n var sign = offset > 0 ? '-' : '+';\n var absOffset = Math.abs(offset);\n var hours = Math.floor(absOffset / 60);\n var minutes = absOffset % 60;\n\n if (minutes === 0) {\n return sign + String(hours);\n }\n\n var delimiter = dirtyDelimiter || '';\n return sign + String(hours) + delimiter + Object(_addLeadingZeros_index_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(minutes, 2);\n}\n\nfunction formatTimezoneWithOptionalMinutes(offset, dirtyDelimiter) {\n if (offset % 60 === 0) {\n var sign = offset > 0 ? '-' : '+';\n return sign + Object(_addLeadingZeros_index_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(Math.abs(offset) / 60, 2);\n }\n\n return formatTimezone(offset, dirtyDelimiter);\n}\n\nfunction formatTimezone(offset, dirtyDelimiter) {\n var delimiter = dirtyDelimiter || '';\n var sign = offset > 0 ? '-' : '+';\n var absOffset = Math.abs(offset);\n var hours = Object(_addLeadingZeros_index_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(Math.floor(absOffset / 60), 2);\n var minutes = Object(_addLeadingZeros_index_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(absOffset % 60, 2);\n return sign + hours + delimiter + minutes;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (formatters);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL19saWIvZm9ybWF0L2Zvcm1hdHRlcnMvaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL19saWIvZm9ybWF0L2Zvcm1hdHRlcnMvaW5kZXguanM/MGM2ZiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbGlnaHRGb3JtYXR0ZXJzIGZyb20gJy4uL2xpZ2h0Rm9ybWF0dGVycy9pbmRleC5qcyc7XG5pbXBvcnQgZ2V0VVRDRGF5T2ZZZWFyIGZyb20gJy4uLy4uLy4uL19saWIvZ2V0VVRDRGF5T2ZZZWFyL2luZGV4LmpzJztcbmltcG9ydCBnZXRVVENJU09XZWVrIGZyb20gJy4uLy4uLy4uL19saWIvZ2V0VVRDSVNPV2Vlay9pbmRleC5qcyc7XG5pbXBvcnQgZ2V0VVRDSVNPV2Vla1llYXIgZnJvbSAnLi4vLi4vLi4vX2xpYi9nZXRVVENJU09XZWVrWWVhci9pbmRleC5qcyc7XG5pbXBvcnQgZ2V0VVRDV2VlayBmcm9tICcuLi8uLi8uLi9fbGliL2dldFVUQ1dlZWsvaW5kZXguanMnO1xuaW1wb3J0IGdldFVUQ1dlZWtZZWFyIGZyb20gJy4uLy4uLy4uL19saWIvZ2V0VVRDV2Vla1llYXIvaW5kZXguanMnO1xuaW1wb3J0IGFkZExlYWRpbmdaZXJvcyBmcm9tICcuLi8uLi9hZGRMZWFkaW5nWmVyb3MvaW5kZXguanMnO1xudmFyIGRheVBlcmlvZEVudW0gPSB7XG4gIGFtOiAnYW0nLFxuICBwbTogJ3BtJyxcbiAgbWlkbmlnaHQ6ICdtaWRuaWdodCcsXG4gIG5vb246ICdub29uJyxcbiAgbW9ybmluZzogJ21vcm5pbmcnLFxuICBhZnRlcm5vb246ICdhZnRlcm5vb24nLFxuICBldmVuaW5nOiAnZXZlbmluZycsXG4gIG5pZ2h0OiAnbmlnaHQnXG4gIC8qXG4gICAqIHwgICAgIHwgVW5pdCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgIHwgVW5pdCAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcbiAgICogfC0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfC0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfFxuICAgKiB8ICBhICB8IEFNLCBQTSAgICAgICAgICAgICAgICAgICAgICAgICB8ICBBKiB8IE1pbGxpc2Vjb25kcyBpbiBkYXkgICAgICAgICAgICB8XG4gICAqIHwgIGIgIHwgQU0sIFBNLCBub29uLCBtaWRuaWdodCAgICAgICAgIHwgIEIgIHwgRmxleGlibGUgZGF5IHBlcmlvZCAgICAgICAgICAgIHxcbiAgICogfCAgYyAgfCBTdGFuZC1hbG9uZSBsb2NhbCBkYXkgb2Ygd2VlayAgfCAgQyogfCBMb2NhbGl6ZWQgaG91ciB3LyBkYXkgcGVyaW9kICAgfFxuICAgKiB8ICBkICB8IERheSBvZiBtb250aCAgICAgICAgICAgICAgICAgICB8ICBEICB8IERheSBvZiB5ZWFyICAgICAgICAgICAgICAgICAgICB8XG4gICAqIHwgIGUgIHwgTG9jYWwgZGF5IG9mIHdlZWsgICAgICAgICAgICAgIHwgIEUgIHwgRGF5IG9mIHdlZWsgICAgICAgICAgICAgICAgICAgIHxcbiAgICogfCAgZiAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgRiogfCBEYXkgb2Ygd2VlayBpbiBtb250aCAgICAgICAgICAgfFxuICAgKiB8ICBnKiB8IE1vZGlmaWVkIEp1bGlhbiBkYXkgICAgICAgICAgICB8ICBHICB8IEVyYSAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XG4gICAqIHwgIGggIHwgSG91ciBbMS0xMl0gICAgICAgICAgICAgICAgICAgIHwgIEggIHwgSG91ciBbMC0yM10gICAgICAgICAgICAgICAgICAgIHxcbiAgICogfCAgaSEgfCBJU08gZGF5IG9mIHdlZWsgICAgICAgICAgICAgICAgfCAgSSEgfCBJU08gd2VlayBvZiB5ZWFyICAgICAgICAgICAgICAgfFxuICAgKiB8ICBqKiB8IExvY2FsaXplZCBob3VyIHcvIGRheSBwZXJpb2QgICB8ICBKKiB8IExvY2FsaXplZCBob3VyIHcvbyBkYXkgcGVyaW9kICB8XG4gICAqIHwgIGsgIHwgSG91ciBbMS0yNF0gICAgICAgICAgICAgICAgICAgIHwgIEsgIHwgSG91ciBbMC0xMV0gICAgICAgICAgICAgICAgICAgIHxcbiAgICogfCAgbCogfCAoZGVwcmVjYXRlZCkgICAgICAgICAgICAgICAgICAgfCAgTCAgfCBTdGFuZC1hbG9uZSBtb250aCAgICAgICAgICAgICAgfFxuICAgKiB8ICBtICB8IE1pbnV0ZSAgICAgICAgICAgICAgICAgICAgICAgICB8ICBNICB8IE1vbnRoICAgICAgICAgICAgICAgICAgICAgICAgICB8XG4gICAqIHwgIG4gIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIE4gIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcbiAgICogfCAgbyEgfCBPcmRpbmFsIG51bWJlciBtb2RpZmllciAgICAgICAgfCAgTyAgfCBUaW1lem9uZSAoR01UKSAgICAgICAgICAgICAgICAgfFxuICAgKiB8ICBwISB8IExvbmcgbG9jYWxpemVkIHRpbWUgICAgICAgICAgICB8ICBQISB8IExvbmcgbG9jYWxpemVkIGRhdGUgICAgICAgICAgICB8XG4gICAqIHwgIHEgIHwgU3RhbmQtYWxvbmUgcXVhcnRlciAgICAgICAgICAgIHwgIFEgIHwgUXVhcnRlciAgICAgICAgICAgICAgICAgICAgICAgIHxcbiAgICogfCAgciogfCBSZWxhdGVkIEdyZWdvcmlhbiB5ZWFyICAgICAgICAgfCAgUiEgfCBJU08gd2Vlay1udW1iZXJpbmcgeWVhciAgICAgICAgfFxuICAgKiB8ICBzICB8IFNlY29uZCAgICAgICAgICAgICAgICAgICAgICAgICB8ICBTICB8IEZyYWN0aW9uIG9mIHNlY29uZCAgICAgICAgICAgICB8XG4gICAqIHwgIHQhIHwgU2Vjb25kcyB0aW1lc3RhbXAgICAgICAgICAgICAgIHwgIFQhIHwgTWlsbGlzZWNvbmRzIHRpbWVzdGFtcCAgICAgICAgIHxcbiAgICogfCAgdSAgfCBFeHRlbmRlZCB5ZWFyICAgICAgICAgICAgICAgICAgfCAgVSogfCBDeWNsaWMgeWVhciAgICAgICAgICAgICAgICAgICAgfFxuICAgKiB8ICB2KiB8IFRpbWV6b25lIChnZW5lcmljIG5vbi1sb2NhdC4pICB8ICBWKiB8IFRpbWV6b25lIChsb2NhdGlvbikgICAgICAgICAgICB8XG4gICAqIHwgIHcgIHwgTG9jYWwgd2VlayBvZiB5ZWFyICAgICAgICAgICAgIHwgIFcqIHwgV2VlayBvZiBtb250aCAgICAgICAgICAgICAgICAgIHxcbiAgICogfCAgeCAgfCBUaW1lem9uZSAoSVNPLTg2MDEgdy9vIFopICAgICAgfCAgWCAgfCBUaW1lem9uZSAoSVNPLTg2MDEpICAgICAgICAgICAgfFxuICAgKiB8ICB5ICB8IFllYXIgKGFicykgICAgICAgICAgICAgICAgICAgICB8ICBZICB8IExvY2FsIHdlZWstbnVtYmVyaW5nIHllYXIgICAgICB8XG4gICAqIHwgIHogIHwgVGltZXpvbmUgKHNwZWNpZmljIG5vbi1sb2NhdC4pIHwgIFoqIHwgVGltZXpvbmUgKGFsaWFzZXMpICAgICAgICAgICAgIHxcbiAgICpcbiAgICogTGV0dGVycyBtYXJrZWQgYnkgKiBhcmUgbm90IGltcGxlbWVudGVkIGJ1dCByZXNlcnZlZCBieSBVbmljb2RlIHN0YW5kYXJkLlxuICAgKlxuICAgKiBMZXR0ZXJzIG1hcmtlZCBieSAhIGFyZSBub24tc3RhbmRhcmQsIGJ1dCBpbXBsZW1lbnRlZCBieSBkYXRlLWZuczpcbiAgICogLSBgb2AgbW9kaWZpZXMgdGhlIHByZXZpb3VzIHRva2VuIHRvIHR1cm4gaXQgaW50byBhbiBvcmRpbmFsIChzZWUgYGZvcm1hdGAgZG9jcylcbiAgICogLSBgaWAgaXMgSVNPIGRheSBvZiB3ZWVrLiBGb3IgYGlgIGFuZCBgaWlgIGlzIHJldHVybnMgbnVtZXJpYyBJU08gd2VlayBkYXlzLFxuICAgKiAgIGkuZS4gNyBmb3IgU3VuZGF5LCAxIGZvciBNb25kYXksIGV0Yy5cbiAgICogLSBgSWAgaXMgSVNPIHdlZWsgb2YgeWVhciwgYXMgb3Bwb3NlZCB0byBgd2Agd2hpY2ggaXMgbG9jYWwgd2VlayBvZiB5ZWFyLlxuICAgKiAtIGBSYCBpcyBJU08gd2Vlay1udW1iZXJpbmcgeWVhciwgYXMgb3Bwb3NlZCB0byBgWWAgd2hpY2ggaXMgbG9jYWwgd2Vlay1udW1iZXJpbmcgeWVhci5cbiAgICogICBgUmAgaXMgc3VwcG9zZWQgdG8gYmUgdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIGBJYCBhbmQgYGlgXG4gICAqICAgZm9yIHVuaXZlcnNhbCBJU08gd2Vlay1udW1iZXJpbmcgZGF0ZSwgd2hlcmVhc1xuICAgKiAgIGBZYCBpcyBzdXBwb3NlZCB0byBiZSB1c2VkIGluIGNvbmp1bmN0aW9uIHdpdGggYHdgIGFuZCBgZWBcbiAgICogICBmb3Igd2Vlay1udW1iZXJpbmcgZGF0ZSBzcGVjaWZpYyB0byB0aGUgbG9jYWxlLlxuICAgKiAtIGBQYCBpcyBsb25nIGxvY2FsaXplZCBkYXRlIGZvcm1hdFxuICAgKiAtIGBwYCBpcyBsb25nIGxvY2FsaXplZCB0aW1lIGZvcm1hdFxuICAgKi9cblxufTtcbnZhciBmb3JtYXR0ZXJzID0ge1xuICAvLyBFcmFcbiAgRzogZnVuY3Rpb24gKGRhdGUsIHRva2VuLCBsb2NhbGl6ZSkge1xuICAgIHZhciBlcmEgPSBkYXRlLmdldFVUQ0Z1bGxZZWFyKCkgPiAwID8gMSA6IDA7XG5cbiAgICBzd2l0Y2ggKHRva2VuKSB7XG4gICAgICAvLyBBRCwgQkNcbiAgICAgIGNhc2UgJ0cnOlxuICAgICAgY2FzZSAnR0cnOlxuICAgICAgY2FzZSAnR0dHJzpcbiAgICAgICAgcmV0dXJuIGxvY2FsaXplLmVyYShlcmEsIHtcbiAgICAgICAgICB3aWR0aDogJ2FiYnJldmlhdGVkJ1xuICAgICAgICB9KTtcbiAgICAgIC8vIEEsIEJcblxuICAgICAgY2FzZSAnR0dHR0cnOlxuICAgICAgICByZXR1cm4gbG9jYWxpemUuZXJhKGVyYSwge1xuICAgICAgICAgIHdpZHRoOiAnbmFycm93J1xuICAgICAgICB9KTtcbiAgICAgIC8vIEFubm8gRG9taW5pLCBCZWZvcmUgQ2hyaXN0XG5cbiAgICAgIGNhc2UgJ0dHR0cnOlxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIGxvY2FsaXplLmVyYShlcmEsIHtcbiAgICAgICAgICB3aWR0aDogJ3dpZGUnXG4gICAgICAgIH0pO1xuICAgIH1cbiAgfSxcbiAgLy8gWWVhclxuICB5OiBmdW5jdGlvbiAoZGF0ZSwgdG9rZW4sIGxvY2FsaXplKSB7XG4gICAgLy8gT3JkaW5hbCBudW1iZXJcbiAgICBpZiAodG9rZW4gPT09ICd5bycpIHtcbiAgICAgIHZhciBzaWduZWRZZWFyID0gZGF0ZS5nZXRVVENGdWxsWWVhcigpOyAvLyBSZXR1cm5zIDEgZm9yIDEgQkMgKHdoaWNoIGlzIHllYXIgMCBpbiBKYXZhU2NyaXB0KVxuXG4gICAgICB2YXIgeWVhciA9IHNpZ25lZFllYXIgPiAwID8gc2lnbmVkWWVhciA6IDEgLSBzaWduZWRZZWFyO1xuICAgICAgcmV0dXJuIGxvY2FsaXplLm9yZGluYWxOdW1iZXIoeWVhciwge1xuICAgICAgICB1bml0OiAneWVhcidcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBsaWdodEZvcm1hdHRlcnMueShkYXRlLCB0b2tlbik7XG4gIH0sXG4gIC8vIExvY2FsIHdlZWstbnVtYmVyaW5nIHllYXJcbiAgWTogZnVuY3Rpb24gKGRhdGUsIHRva2VuLCBsb2NhbGl6ZSwgb3B0aW9ucykge1xuICAgIHZhciBzaWduZWRXZWVrWWVhciA9IGdldFVUQ1dlZWtZZWFyKGRhdGUsIG9wdGlvbnMpOyAvLyBSZXR1cm5zIDEgZm9yIDEgQkMgKHdoaWNoIGlzIHllYXIgMCBpbiBKYXZhU2NyaXB0KVxuXG4gICAgdmFyIHdlZWtZZWFyID0gc2lnbmVkV2Vla1llYXIgPiAwID8gc2lnbmVkV2Vla1llYXIgOiAxIC0gc2lnbmVkV2Vla1llYXI7IC8vIFR3byBkaWdpdCB5ZWFyXG5cbiAgICBpZiAodG9rZW4gPT09ICdZWScpIHtcbiAgICAgIHZhciB0d29EaWdpdFllYXIgPSB3ZWVrWWVhciAlIDEwMDtcbiAgICAgIHJldHVybiBhZGRMZWFkaW5nWmVyb3ModHdvRGlnaXRZZWFyLCAyKTtcbiAgICB9IC8vIE9yZGluYWwgbnVtYmVyXG5cblxuICAgIGlmICh0b2tlbiA9PT0gJ1lvJykge1xuICAgICAgcmV0dXJuIGxvY2FsaXplLm9yZGluYWxOdW1iZXIod2Vla1llYXIsIHtcbiAgICAgICAgdW5pdDogJ3llYXInXG4gICAgICB9KTtcbiAgICB9IC8vIFBhZGRpbmdcblxuXG4gICAgcmV0dXJuIGFkZExlYWRpbmdaZXJvcyh3ZWVrWWVhciwgdG9rZW4ubGVuZ3RoKTtcbiAgfSxcbiAgLy8gSVNPIHdlZWstbnVtYmVyaW5nIHllYXJcbiAgUjogZnVuY3Rpb24gKGRhdGUsIHRva2VuKSB7XG4gICAgdmFyIGlzb1dlZWtZZWFyID0gZ2V0VVRDSVNPV2Vla1llYXIoZGF0ZSk7IC8vIFBhZGRpbmdcblxuICAgIHJldHVybiBhZGRMZWFkaW5nWmVyb3MoaXNvV2Vla1llYXIsIHRva2VuLmxlbmd0aCk7XG4gIH0sXG4gIC8vIEV4dGVuZGVkIHllYXIuIFRoaXMgaXMgYSBzaW5nbGUgbnVtYmVyIGRlc2lnbmF0aW5nIHRoZSB5ZWFyIG9mIHRoaXMgY2FsZW5kYXIgc3lzdGVtLlxuICAvLyBUaGUgbWFpbiBkaWZmZXJlbmNlIGJldHdlZW4gYHlgIGFuZCBgdWAgbG9jYWxpemVycyBhcmUgQi5DLiB5ZWFyczpcbiAgLy8gfCBZZWFyIHwgYHlgIHwgYHVgIHxcbiAgLy8gfC0tLS0tLXwtLS0tLXwtLS0tLXxcbiAgLy8gfCBBQyAxIHwgICAxIHwgICAxIHxcbiAgLy8gfCBCQyAxIHwgICAxIHwgICAwIHxcbiAgLy8gfCBCQyAyIHwgICAyIHwgIC0xIHxcbiAgLy8gQWxzbyBgeXlgIGFsd2F5cyByZXR1cm5zIHRoZSBsYXN0IHR3byBkaWdpdHMgb2YgYSB5ZWFyLFxuICAvLyB3aGlsZSBgdXVgIHBhZHMgc2luZ2xlIGRpZ2l0IHllYXJzIHRvIDIgY2hhcmFjdGVycyBhbmQgcmV0dXJucyBvdGhlciB5ZWFycyB1bmNoYW5nZWQuXG4gIHU6IGZ1bmN0aW9uIChkYXRlLCB0b2tlbikge1xuICAgIHZhciB5ZWFyID0gZGF0ZS5nZXRVVENGdWxsWWVhcigpO1xuICAgIHJldHVybiBhZGRMZWFkaW5nWmVyb3MoeWVhciwgdG9rZW4ubGVuZ3RoKTtcbiAgfSxcbiAgLy8gUXVhcnRlclxuICBROiBmdW5jdGlvbiAoZGF0ZSwgdG9rZW4sIGxvY2FsaXplKSB7XG4gICAgdmFyIHF1YXJ0ZXIgPSBNYXRoLmNlaWwoKGRhdGUuZ2V0VVRDTW9udGgoKSArIDEpIC8gMyk7XG5cbiAgICBzd2l0Y2ggKHRva2VuKSB7XG4gICAgICAvLyAxLCAyLCAzLCA0XG4gICAgICBjYXNlICdRJzpcbiAgICAgICAgcmV0dXJuIFN0cmluZyhxdWFydGVyKTtcbiAgICAgIC8vIDAxLCAwMiwgMDMsIDA0XG5cbiAgICAgIGNhc2UgJ1FRJzpcbiAgICAgICAgcmV0dXJuIGFkZExlYWRpbmdaZXJvcyhxdWFydGVyLCAyKTtcbiAgICAgIC8vIDFzdCwgMm5kLCAzcmQsIDR0aFxuXG4gICAgICBjYXNlICdRbyc6XG4gICAgICAgIHJldHVybiBsb2NhbGl6ZS5vcmRpbmFsTnVtYmVyKHF1YXJ0ZXIsIHtcbiAgICAgICAgICB1bml0OiAncXVhcnRlcidcbiAgICAgICAgfSk7XG4gICAgICAvLyBRMSwgUTIsIFEzLCBRNFxuXG4gICAgICBjYXNlICdRUVEnOlxuICAgICAgICByZXR1cm4gbG9jYWxpemUucXVhcnRlcihxdWFydGVyLCB7XG4gICAgICAgICAgd2lkdGg6ICdhYmJyZXZpYXRlZCcsXG4gICAgICAgICAgY29udGV4dDogJ2Zvcm1hdHRpbmcnXG4gICAgICAgIH0pO1xuICAgICAgLy8gMSwgMiwgMywgNCAobmFycm93IHF1YXJ0ZXI7IGNvdWxkIGJlIG5vdCBudW1lcmljYWwpXG5cbiAgICAgIGNhc2UgJ1FRUVFRJzpcbiAgICAgICAgcmV0dXJuIGxvY2FsaXplLnF1YXJ0ZXIocXVhcnRlciwge1xuICAgICAgICAgIHdpZHRoOiAnbmFycm93JyxcbiAgICAgICAgICBjb250ZXh0OiAnZm9ybWF0dGluZydcbiAgICAgICAgfSk7XG4gICAgICAvLyAxc3QgcXVhcnRlciwgMm5kIHF1YXJ0ZXIsIC4uLlxuXG4gICAgICBjYXNlICdRUVFRJzpcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBsb2NhbGl6ZS5xdWFydGVyKHF1YXJ0ZXIsIHtcbiAgICAgICAgICB3aWR0aDogJ3dpZGUnLFxuICAgICAgICAgIGNvbnRleHQ6ICdmb3JtYXR0aW5nJ1xuICAgICAgICB9KTtcbiAgICB9XG4gIH0sXG4gIC8vIFN0YW5kLWFsb25lIHF1YXJ0ZXJcbiAgcTogZnVuY3Rpb24gKGRhdGUsIHRva2VuLCBsb2NhbGl6ZSkge1xuICAgIHZhciBxdWFydGVyID0gTWF0aC5jZWlsKChkYXRlLmdldFVUQ01vbnRoKCkgKyAxKSAvIDMpO1xuXG4gICAgc3dpdGNoICh0b2tlbikge1xuICAgICAgLy8gMSwgMiwgMywgNFxuICAgICAgY2FzZSAncSc6XG4gICAgICAgIHJldHVybiBTdHJpbmcocXVhcnRlcik7XG4gICAgICAvLyAwMSwgMDIsIDAzLCAwNFxuXG4gICAgICBjYXNlICdxcSc6XG4gICAgICAgIHJldHVybiBhZGRMZWFkaW5nWmVyb3MocXVhcnRlciwgMik7XG4gICAgICAvLyAxc3QsIDJuZCwgM3JkLCA0dGhcblxuICAgICAgY2FzZSAncW8nOlxuICAgICAgICByZXR1cm4gbG9jYWxpemUub3JkaW5hbE51bWJlcihxdWFydGVyLCB7XG4gICAgICAgICAgdW5pdDogJ3F1YXJ0ZXInXG4gICAgICAgIH0pO1xuICAgICAgLy8gUTEsIFEyLCBRMywgUTRcblxuICAgICAgY2FzZSAncXFxJzpcbiAgICAgICAgcmV0dXJuIGxvY2FsaXplLnF1YXJ0ZXIocXVhcnRlciwge1xuICAgICAgICAgIHdpZHRoOiAnYWJicmV2aWF0ZWQnLFxuICAgICAgICAgIGNvbnRleHQ6ICdzdGFuZGFsb25lJ1xuICAgICAgICB9KTtcbiAgICAgIC8vIDEsIDIsIDMsIDQgKG5hcnJvdyBxdWFydGVyOyBjb3VsZCBiZSBub3QgbnVtZXJpY2FsKVxuXG4gICAgICBjYXNlICdxcXFxcSc6XG4gICAgICAgIHJldHVybiBsb2NhbGl6ZS5xdWFydGVyKHF1YXJ0ZXIsIHtcbiAgICAgICAgICB3aWR0aDogJ25hcnJvdycsXG4gICAgICAgICAgY29udGV4dDogJ3N0YW5kYWxvbmUnXG4gICAgICAgIH0pO1xuICAgICAgLy8gMXN0IHF1YXJ0ZXIsIDJuZCBxdWFydGVyLCAuLi5cblxuICAgICAgY2FzZSAncXFxcSc6XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gbG9jYWxpemUucXVhcnRlcihxdWFydGVyLCB7XG4gICAgICAgICAgd2lkdGg6ICd3aWRlJyxcbiAgICAgICAgICBjb250ZXh0OiAnc3RhbmRhbG9uZSdcbiAgICAgICAgfSk7XG4gICAgfVxuICB9LFxuICAvLyBNb250aFxuICBNOiBmdW5jdGlvbiAoZGF0ZSwgdG9rZW4sIGxvY2FsaXplKSB7XG4gICAgdmFyIG1vbnRoID0gZGF0ZS5nZXRVVENNb250aCgpO1xuXG4gICAgc3dpdGNoICh0b2tlbikge1xuICAgICAgY2FzZSAnTSc6XG4gICAgICBjYXNlICdNTSc6XG4gICAgICAgIHJldHVybiBsaWdodEZvcm1hdHRlcnMuTShkYXRlLCB0b2tlbik7XG4gICAgICAvLyAxc3QsIDJuZCwgLi4uLCAxMnRoXG5cbiAgICAgIGNhc2UgJ01vJzpcbiAgICAgICAgcmV0dXJuIGxvY2FsaXplLm9yZGluYWxOdW1iZXIobW9udGggKyAxLCB7XG4gICAgICAgICAgdW5pdDogJ21vbnRoJ1xuICAgICAgICB9KTtcbiAgICAgIC8vIEphbiwgRmViLCAuLi4sIERlY1xuXG4gICAgICBjYXNlICdNTU0nOlxuICAgICAgICByZXR1cm4gbG9jYWxpemUubW9udGgobW9udGgsIHtcbiAgICAgICAgICB3aWR0aDogJ2FiYnJldmlhdGVkJyxcbiAgICAgICAgICBjb250ZXh0OiAnZm9ybWF0dGluZydcbiAgICAgICAgfSk7XG4gICAgICAvLyBKLCBGLCAuLi4sIERcblxuICAgICAgY2FzZSAnTU1NTU0nOlxuICAgICAgICByZXR1cm4gbG9jYWxpemUubW9udGgobW9udGgsIHtcbiAgICAgICAgICB3aWR0aDogJ25hcnJvdycsXG4gICAgICAgICAgY29udGV4dDogJ2Zvcm1hdHRpbmcnXG4gICAgICAgIH0pO1xuICAgICAgLy8gSmFudWFyeSwgRmVicnVhcnksIC4uLiwgRGVjZW1iZXJcblxuICAgICAgY2FzZSAnTU1NTSc6XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gbG9jYWxpemUubW9udGgobW9udGgsIHtcbiAgICAgICAgICB3aWR0aDogJ3dpZGUnLFxuICAgICAgICAgIGNvbnRleHQ6ICdmb3JtYXR0aW5nJ1xuICAgICAgICB9KTtcbiAgICB9XG4gIH0sXG4gIC8vIFN0YW5kLWFsb25lIG1vbnRoXG4gIEw6IGZ1bmN0aW9uIChkYXRlLCB0b2tlbiwgbG9jYWxpemUpIHtcbiAgICB2YXIgbW9udGggPSBkYXRlLmdldFVUQ01vbnRoKCk7XG5cbiAgICBzd2l0Y2ggKHRva2VuKSB7XG4gICAgICAvLyAxLCAyLCAuLi4sIDEyXG4gICAgICBjYXNlICdMJzpcbiAgICAgICAgcmV0dXJuIFN0cmluZyhtb250aCArIDEpO1xuICAgICAgLy8gMDEsIDAyLCAuLi4sIDEyXG5cbiAgICAgIGNhc2UgJ0xMJzpcbiAgICAgICAgcmV0dXJuIGFkZExlYWRpbmdaZXJvcyhtb250aCArIDEsIDIpO1xuICAgICAgLy8gMXN0LCAybmQsIC4uLiwgMTJ0aFxuXG4gICAgICBjYXNlICdMbyc6XG4gICAgICAgIHJldHVybiBsb2NhbGl6ZS5vcmRpbmFsTnVtYmVyKG1vbnRoICsgMSwge1xuICAgICAgICAgIHVuaXQ6ICdtb250aCdcbiAgICAgICAgfSk7XG4gICAgICAvLyBKYW4sIEZlYiwgLi4uLCBEZWNcblxuICAgICAgY2FzZSAnTExMJzpcbiAgICAgICAgcmV0dXJuIGxvY2FsaXplLm1vbnRoKG1vbnRoLCB7XG4gICAgICAgICAgd2lkdGg6ICdhYmJyZXZpYXRlZCcsXG4gICAgICAgICAgY29udGV4dDogJ3N0YW5kYWxvbmUnXG4gICAgICAgIH0pO1xuICAgICAgLy8gSiwgRiwgLi4uLCBEXG5cbiAgICAgIGNhc2UgJ0xMTExMJzpcbiAgICAgICAgcmV0dXJuIGxvY2FsaXplLm1vbnRoKG1vbnRoLCB7XG4gICAgICAgICAgd2lkdGg6ICduYXJyb3cnLFxuICAgICAgICAgIGNvbnRleHQ6ICdzdGFuZGFsb25lJ1xuICAgICAgICB9KTtcbiAgICAgIC8vIEphbnVhcnksIEZlYnJ1YXJ5LCAuLi4sIERlY2VtYmVyXG5cbiAgICAgIGNhc2UgJ0xMTEwnOlxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIGxvY2FsaXplLm1vbnRoKG1vbnRoLCB7XG4gICAgICAgICAgd2lkdGg6ICd3aWRlJyxcbiAgICAgICAgICBjb250ZXh0OiAnc3RhbmRhbG9uZSdcbiAgICAgICAgfSk7XG4gICAgfVxuICB9LFxuICAvLyBMb2NhbCB3ZWVrIG9mIHllYXJcbiAgdzogZnVuY3Rpb24gKGRhdGUsIHRva2VuLCBsb2NhbGl6ZSwgb3B0aW9ucykge1xuICAgIHZhciB3ZWVrID0gZ2V0VVRDV2VlayhkYXRlLCBvcHRpb25zKTtcblxuICAgIGlmICh0b2tlbiA9PT0gJ3dvJykge1xuICAgICAgcmV0dXJuIGxvY2FsaXplLm9yZGluYWxOdW1iZXIod2Vlaywge1xuICAgICAgICB1bml0OiAnd2VlaydcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBhZGRMZWFkaW5nWmVyb3Mod2VlaywgdG9rZW4ubGVuZ3RoKTtcbiAgfSxcbiAgLy8gSVNPIHdlZWsgb2YgeWVhclxuICBJOiBmdW5jdGlvbiAoZGF0ZSwgdG9rZW4sIGxvY2FsaXplKSB7XG4gICAgdmFyIGlzb1dlZWsgPSBnZXRVVENJU09XZWVrKGRhdGUpO1xuXG4gICAgaWYgKHRva2VuID09PSAnSW8nKSB7XG4gICAgICByZXR1cm4gbG9jYWxpemUub3JkaW5hbE51bWJlcihpc29XZWVrLCB7XG4gICAgICAgIHVuaXQ6ICd3ZWVrJ1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGFkZExlYWRpbmdaZXJvcyhpc29XZWVrLCB0b2tlbi5sZW5ndGgpO1xuICB9LFxuICAvLyBEYXkgb2YgdGhlIG1vbnRoXG4gIGQ6IGZ1bmN0aW9uIChkYXRlLCB0b2tlbiwgbG9jYWxpemUpIHtcbiAgICBpZiAodG9rZW4gPT09ICdkbycpIHtcbiAgICAgIHJldHVybiBsb2NhbGl6ZS5vcmRpbmFsTnVtYmVyKGRhdGUuZ2V0VVRDRGF0ZSgpLCB7XG4gICAgICAgIHVuaXQ6ICdkYXRlJ1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGxpZ2h0Rm9ybWF0dGVycy5kKGRhdGUsIHRva2VuKTtcbiAgfSxcbiAgLy8gRGF5IG9mIHllYXJcbiAgRDogZnVuY3Rpb24gKGRhdGUsIHRva2VuLCBsb2NhbGl6ZSkge1xuICAgIHZhciBkYXlPZlllYXIgPSBnZXRVVENEYXlPZlllYXIoZGF0ZSk7XG5cbiAgICBpZiAodG9rZW4gPT09ICdEbycpIHtcbiAgICAgIHJldHVybiBsb2NhbGl6ZS5vcmRpbmFsTnVtYmVyKGRheU9mWWVhciwge1xuICAgICAgICB1bml0OiAnZGF5T2ZZZWFyJ1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGFkZExlYWRpbmdaZXJvcyhkYXlPZlllYXIsIHRva2VuLmxlbmd0aCk7XG4gIH0sXG4gIC8vIERheSBvZiB3ZWVrXG4gIEU6IGZ1bmN0aW9uIChkYXRlLCB0b2tlbiwgbG9jYWxpemUpIHtcbiAgICB2YXIgZGF5T2ZXZWVrID0gZGF0ZS5nZXRVVENEYXkoKTtcblxuICAgIHN3aXRjaCAodG9rZW4pIHtcbiAgICAgIC8vIFR1ZVxuICAgICAgY2FzZSAnRSc6XG4gICAgICBjYXNlICdFRSc6XG4gICAgICBjYXNlICdFRUUnOlxuICAgICAgICByZXR1cm4gbG9jYWxpemUuZGF5KGRheU9mV2Vlaywge1xuICAgICAgICAgIHdpZHRoOiAnYWJicmV2aWF0ZWQnLFxuICAgICAgICAgIGNvbnRleHQ6ICdmb3JtYXR0aW5nJ1xuICAgICAgICB9KTtcbiAgICAgIC8vIFRcblxuICAgICAgY2FzZSAnRUVFRUUnOlxuICAgICAgICByZXR1cm4gbG9jYWxpemUuZGF5KGRheU9mV2Vlaywge1xuICAgICAgICAgIHdpZHRoOiAnbmFycm93JyxcbiAgICAgICAgICBjb250ZXh0OiAnZm9ybWF0dGluZydcbiAgICAgICAgfSk7XG4gICAgICAvLyBUdVxuXG4gICAgICBjYXNlICdFRUVFRUUnOlxuICAgICAgICByZXR1cm4gbG9jYWxpemUuZGF5KGRheU9mV2Vlaywge1xuICAgICAgICAgIHdpZHRoOiAnc2hvcnQnLFxuICAgICAgICAgIGNvbnRleHQ6ICdmb3JtYXR0aW5nJ1xuICAgICAgICB9KTtcbiAgICAgIC8vIFR1ZXNkYXlcblxuICAgICAgY2FzZSAnRUVFRSc6XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gbG9jYWxpemUuZGF5KGRheU9mV2Vlaywge1xuICAgICAgICAgIHdpZHRoOiAnd2lkZScsXG4gICAgICAgICAgY29udGV4dDogJ2Zvcm1hdHRpbmcnXG4gICAgICAgIH0pO1xuICAgIH1cbiAgfSxcbiAgLy8gTG9jYWwgZGF5IG9mIHdlZWtcbiAgZTogZnVuY3Rpb24gKGRhdGUsIHRva2VuLCBsb2NhbGl6ZSwgb3B0aW9ucykge1xuICAgIHZhciBkYXlPZldlZWsgPSBkYXRlLmdldFVUQ0RheSgpO1xuICAgIHZhciBsb2NhbERheU9mV2VlayA9IChkYXlPZldlZWsgLSBvcHRpb25zLndlZWtTdGFydHNPbiArIDgpICUgNyB8fCA3O1xuXG4gICAgc3dpdGNoICh0b2tlbikge1xuICAgICAgLy8gTnVtZXJpY2FsIHZhbHVlIChOdGggZGF5IG9mIHdlZWsgd2l0aCBjdXJyZW50IGxvY2FsZSBvciB3ZWVrU3RhcnRzT24pXG4gICAgICBjYXNlICdlJzpcbiAgICAgICAgcmV0dXJuIFN0cmluZyhsb2NhbERheU9mV2Vlayk7XG4gICAgICAvLyBQYWRkZWQgbnVtZXJpY2FsIHZhbHVlXG5cbiAgICAgIGNhc2UgJ2VlJzpcbiAgICAgICAgcmV0dXJuIGFkZExlYWRpbmdaZXJvcyhsb2NhbERheU9mV2VlaywgMik7XG4gICAgICAvLyAxc3QsIDJuZCwgLi4uLCA3dGhcblxuICAgICAgY2FzZSAnZW8nOlxuICAgICAgICByZXR1cm4gbG9jYWxpemUub3JkaW5hbE51bWJlcihsb2NhbERheU9mV2Vlaywge1xuICAgICAgICAgIHVuaXQ6ICdkYXknXG4gICAgICAgIH0pO1xuXG4gICAgICBjYXNlICdlZWUnOlxuICAgICAgICByZXR1cm4gbG9jYWxpemUuZGF5KGRheU9mV2Vlaywge1xuICAgICAgICAgIHdpZHRoOiAnYWJicmV2aWF0ZWQnLFxuICAgICAgICAgIGNvbnRleHQ6ICdmb3JtYXR0aW5nJ1xuICAgICAgICB9KTtcbiAgICAgIC8vIFRcblxuICAgICAgY2FzZSAnZWVlZWUnOlxuICAgICAgICByZXR1cm4gbG9jYWxpemUuZGF5KGRheU9mV2Vlaywge1xuICAgICAgICAgIHdpZHRoOiAnbmFycm93JyxcbiAgICAgICAgICBjb250ZXh0OiAnZm9ybWF0dGluZydcbiAgICAgICAgfSk7XG4gICAgICAvLyBUdVxuXG4gICAgICBjYXNlICdlZWVlZWUnOlxuICAgICAgICByZXR1cm4gbG9jYWxpemUuZGF5KGRheU9mV2Vlaywge1xuICAgICAgICAgIHdpZHRoOiAnc2hvcnQnLFxuICAgICAgICAgIGNvbnRleHQ6ICdmb3JtYXR0aW5nJ1xuICAgICAgICB9KTtcbiAgICAgIC8vIFR1ZXNkYXlcblxuICAgICAgY2FzZSAnZWVlZSc6XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gbG9jYWxpemUuZGF5KGRheU9mV2Vlaywge1xuICAgICAgICAgIHdpZHRoOiAnd2lkZScsXG4gICAgICAgICAgY29udGV4dDogJ2Zvcm1hdHRpbmcnXG4gICAgICAgIH0pO1xuICAgIH1cbiAgfSxcbiAgLy8gU3RhbmQtYWxvbmUgbG9jYWwgZGF5IG9mIHdlZWtcbiAgYzogZnVuY3Rpb24gKGRhdGUsIHRva2VuLCBsb2NhbGl6ZSwgb3B0aW9ucykge1xuICAgIHZhciBkYXlPZldlZWsgPSBkYXRlLmdldFVUQ0RheSgpO1xuICAgIHZhciBsb2NhbERheU9mV2VlayA9IChkYXlPZldlZWsgLSBvcHRpb25zLndlZWtTdGFydHNPbiArIDgpICUgNyB8fCA3O1xuXG4gICAgc3dpdGNoICh0b2tlbikge1xuICAgICAgLy8gTnVtZXJpY2FsIHZhbHVlIChzYW1lIGFzIGluIGBlYClcbiAgICAgIGNhc2UgJ2MnOlxuICAgICAgICByZXR1cm4gU3RyaW5nKGxvY2FsRGF5T2ZXZWVrKTtcbiAgICAgIC8vIFBhZGRlZCBudW1lcmljYWwgdmFsdWVcblxuICAgICAgY2FzZSAnY2MnOlxuICAgICAgICByZXR1cm4gYWRkTGVhZGluZ1plcm9zKGxvY2FsRGF5T2ZXZWVrLCB0b2tlbi5sZW5ndGgpO1xuICAgICAgLy8gMXN0LCAybmQsIC4uLiwgN3RoXG5cbiAgICAgIGNhc2UgJ2NvJzpcbiAgICAgICAgcmV0dXJuIGxvY2FsaXplLm9yZGluYWxOdW1iZXIobG9jYWxEYXlPZldlZWssIHtcbiAgICAgICAgICB1bml0OiAnZGF5J1xuICAgICAgICB9KTtcblxuICAgICAgY2FzZSAnY2NjJzpcbiAgICAgICAgcmV0dXJuIGxvY2FsaXplLmRheShkYXlPZldlZWssIHtcbiAgICAgICAgICB3aWR0aDogJ2FiYnJldmlhdGVkJyxcbiAgICAgICAgICBjb250ZXh0OiAnc3RhbmRhbG9uZSdcbiAgICAgICAgfSk7XG4gICAgICAvLyBUXG5cbiAgICAgIGNhc2UgJ2NjY2NjJzpcbiAgICAgICAgcmV0dXJuIGxvY2FsaXplLmRheShkYXlPZldlZWssIHtcbiAgICAgICAgICB3aWR0aDogJ25hcnJvdycsXG4gICAgICAgICAgY29udGV4dDogJ3N0YW5kYWxvbmUnXG4gICAgICAgIH0pO1xuICAgICAgLy8gVHVcblxuICAgICAgY2FzZSAnY2NjY2NjJzpcbiAgICAgICAgcmV0dXJuIGxvY2FsaXplLmRheShkYXlPZldlZWssIHtcbiAgICAgICAgICB3aWR0aDogJ3Nob3J0JyxcbiAgICAgICAgICBjb250ZXh0OiAnc3RhbmRhbG9uZSdcbiAgICAgICAgfSk7XG4gICAgICAvLyBUdWVzZGF5XG5cbiAgICAgIGNhc2UgJ2NjY2MnOlxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIGxvY2FsaXplLmRheShkYXlPZldlZWssIHtcbiAgICAgICAgICB3aWR0aDogJ3dpZGUnLFxuICAgICAgICAgIGNvbnRleHQ6ICdzdGFuZGFsb25lJ1xuICAgICAgICB9KTtcbiAgICB9XG4gIH0sXG4gIC8vIElTTyBkYXkgb2Ygd2Vla1xuICBpOiBmdW5jdGlvbiAoZGF0ZSwgdG9rZW4sIGxvY2FsaXplKSB7XG4gICAgdmFyIGRheU9mV2VlayA9IGRhdGUuZ2V0VVRDRGF5KCk7XG4gICAgdmFyIGlzb0RheU9mV2VlayA9IGRheU9mV2VlayA9PT0gMCA/IDcgOiBkYXlPZldlZWs7XG5cbiAgICBzd2l0Y2ggKHRva2VuKSB7XG4gICAgICAvLyAyXG4gICAgICBjYXNlICdpJzpcbiAgICAgICAgcmV0dXJuIFN0cmluZyhpc29EYXlPZldlZWspO1xuICAgICAgLy8gMDJcblxuICAgICAgY2FzZSAnaWknOlxuICAgICAgICByZXR1cm4gYWRkTGVhZGluZ1plcm9zKGlzb0RheU9mV2VlaywgdG9rZW4ubGVuZ3RoKTtcbiAgICAgIC8vIDJuZFxuXG4gICAgICBjYXNlICdpbyc6XG4gICAgICAgIHJldHVybiBsb2NhbGl6ZS5vcmRpbmFsTnVtYmVyKGlzb0RheU9mV2Vlaywge1xuICAgICAgICAgIHVuaXQ6ICdkYXknXG4gICAgICAgIH0pO1xuICAgICAgLy8gVHVlXG5cbiAgICAgIGNhc2UgJ2lpaSc6XG4gICAgICAgIHJldHVybiBsb2NhbGl6ZS5kYXkoZGF5T2ZXZWVrLCB7XG4gICAgICAgICAgd2lkdGg6ICdhYmJyZXZpYXRlZCcsXG4gICAgICAgICAgY29udGV4dDogJ2Zvcm1hdHRpbmcnXG4gICAgICAgIH0pO1xuICAgICAgLy8gVFxuXG4gICAgICBjYXNlICdpaWlpaSc6XG4gICAgICAgIHJldHVybiBsb2NhbGl6ZS5kYXkoZGF5T2ZXZWVrLCB7XG4gICAgICAgICAgd2lkdGg6ICduYXJyb3cnLFxuICAgICAgICAgIGNvbnRleHQ6ICdmb3JtYXR0aW5nJ1xuICAgICAgICB9KTtcbiAgICAgIC8vIFR1XG5cbiAgICAgIGNhc2UgJ2lpaWlpaSc6XG4gICAgICAgIHJldHVybiBsb2NhbGl6ZS5kYXkoZGF5T2ZXZWVrLCB7XG4gICAgICAgICAgd2lkdGg6ICdzaG9ydCcsXG4gICAgICAgICAgY29udGV4dDogJ2Zvcm1hdHRpbmcnXG4gICAgICAgIH0pO1xuICAgICAgLy8gVHVlc2RheVxuXG4gICAgICBjYXNlICdpaWlpJzpcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBsb2NhbGl6ZS5kYXkoZGF5T2ZXZWVrLCB7XG4gICAgICAgICAgd2lkdGg6ICd3aWRlJyxcbiAgICAgICAgICBjb250ZXh0OiAnZm9ybWF0dGluZydcbiAgICAgICAgfSk7XG4gICAgfVxuICB9LFxuICAvLyBBTSBvciBQTVxuICBhOiBmdW5jdGlvbiAoZGF0ZSwgdG9rZW4sIGxvY2FsaXplKSB7XG4gICAgdmFyIGhvdXJzID0gZGF0ZS5nZXRVVENIb3VycygpO1xuICAgIHZhciBkYXlQZXJpb2RFbnVtVmFsdWUgPSBob3VycyAvIDEyID49IDEgPyAncG0nIDogJ2FtJztcblxuICAgIHN3aXRjaCAodG9rZW4pIHtcbiAgICAgIGNhc2UgJ2EnOlxuICAgICAgY2FzZSAnYWEnOlxuICAgICAgY2FzZSAnYWFhJzpcbiAgICAgICAgcmV0dXJuIGxvY2FsaXplLmRheVBlcmlvZChkYXlQZXJpb2RFbnVtVmFsdWUsIHtcbiAgICAgICAgICB3aWR0aDogJ2FiYnJldmlhdGVkJyxcbiAgICAgICAgICBjb250ZXh0OiAnZm9ybWF0dGluZydcbiAgICAgICAgfSk7XG5cbiAgICAgIGNhc2UgJ2FhYWFhJzpcbiAgICAgICAgcmV0dXJuIGxvY2FsaXplLmRheVBlcmlvZChkYXlQZXJpb2RFbnVtVmFsdWUsIHtcbiAgICAgICAgICB3aWR0aDogJ25hcnJvdycsXG4gICAgICAgICAgY29udGV4dDogJ2Zvcm1hdHRpbmcnXG4gICAgICAgIH0pO1xuXG4gICAgICBjYXNlICdhYWFhJzpcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBsb2NhbGl6ZS5kYXlQZXJpb2QoZGF5UGVyaW9kRW51bVZhbHVlLCB7XG4gICAgICAgICAgd2lkdGg6ICd3aWRlJyxcbiAgICAgICAgICBjb250ZXh0OiAnZm9ybWF0dGluZydcbiAgICAgICAgfSk7XG4gICAgfVxuICB9LFxuICAvLyBBTSwgUE0sIG1pZG5pZ2h0LCBub29uXG4gIGI6IGZ1bmN0aW9uIChkYXRlLCB0b2tlbiwgbG9jYWxpemUpIHtcbiAgICB2YXIgaG91cnMgPSBkYXRlLmdldFVUQ0hvdXJzKCk7XG4gICAgdmFyIGRheVBlcmlvZEVudW1WYWx1ZTtcblxuICAgIGlmIChob3VycyA9PT0gMTIpIHtcbiAgICAgIGRheVBlcmlvZEVudW1WYWx1ZSA9IGRheVBlcmlvZEVudW0ubm9vbjtcbiAgICB9IGVsc2UgaWYgKGhvdXJzID09PSAwKSB7XG4gICAgICBkYXlQZXJpb2RFbnVtVmFsdWUgPSBkYXlQZXJpb2RFbnVtLm1pZG5pZ2h0O1xuICAgIH0gZWxzZSB7XG4gICAgICBkYXlQZXJpb2RFbnVtVmFsdWUgPSBob3VycyAvIDEyID49IDEgPyAncG0nIDogJ2FtJztcbiAgICB9XG5cbiAgICBzd2l0Y2ggKHRva2VuKSB7XG4gICAgICBjYXNlICdiJzpcbiAgICAgIGNhc2UgJ2JiJzpcbiAgICAgIGNhc2UgJ2JiYic6XG4gICAgICAgIHJldHVybiBsb2NhbGl6ZS5kYXlQZXJpb2QoZGF5UGVyaW9kRW51bVZhbHVlLCB7XG4gICAgICAgICAgd2lkdGg6ICdhYmJyZXZpYXRlZCcsXG4gICAgICAgICAgY29udGV4dDogJ2Zvcm1hdHRpbmcnXG4gICAgICAgIH0pO1xuXG4gICAgICBjYXNlICdiYmJiYic6XG4gICAgICAgIHJldHVybiBsb2NhbGl6ZS5kYXlQZXJpb2QoZGF5UGVyaW9kRW51bVZhbHVlLCB7XG4gICAgICAgICAgd2lkdGg6ICduYXJyb3cnLFxuICAgICAgICAgIGNvbnRleHQ6ICdmb3JtYXR0aW5nJ1xuICAgICAgICB9KTtcblxuICAgICAgY2FzZSAnYmJiYic6XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gbG9jYWxpemUuZGF5UGVyaW9kKGRheVBlcmlvZEVudW1WYWx1ZSwge1xuICAgICAgICAgIHdpZHRoOiAnd2lkZScsXG4gICAgICAgICAgY29udGV4dDogJ2Zvcm1hdHRpbmcnXG4gICAgICAgIH0pO1xuICAgIH1cbiAgfSxcbiAgLy8gaW4gdGhlIG1vcm5pbmcsIGluIHRoZSBhZnRlcm5vb24sIGluIHRoZSBldmVuaW5nLCBhdCBuaWdodFxuICBCOiBmdW5jdGlvbiAoZGF0ZSwgdG9rZW4sIGxvY2FsaXplKSB7XG4gICAgdmFyIGhvdXJzID0gZGF0ZS5nZXRVVENIb3VycygpO1xuICAgIHZhciBkYXlQZXJpb2RFbnVtVmFsdWU7XG5cbiAgICBpZiAoaG91cnMgPj0gMTcpIHtcbiAgICAgIGRheVBlcmlvZEVudW1WYWx1ZSA9IGRheVBlcmlvZEVudW0uZXZlbmluZztcbiAgICB9IGVsc2UgaWYgKGhvdXJzID49IDEyKSB7XG4gICAgICBkYXlQZXJpb2RFbnVtVmFsdWUgPSBkYXlQZXJpb2RFbnVtLmFmdGVybm9vbjtcbiAgICB9IGVsc2UgaWYgKGhvdXJzID49IDQpIHtcbiAgICAgIGRheVBlcmlvZEVudW1WYWx1ZSA9IGRheVBlcmlvZEVudW0ubW9ybmluZztcbiAgICB9IGVsc2Uge1xuICAgICAgZGF5UGVyaW9kRW51bVZhbHVlID0gZGF5UGVyaW9kRW51bS5uaWdodDtcbiAgICB9XG5cbiAgICBzd2l0Y2ggKHRva2VuKSB7XG4gICAgICBjYXNlICdCJzpcbiAgICAgIGNhc2UgJ0JCJzpcbiAgICAgIGNhc2UgJ0JCQic6XG4gICAgICAgIHJldHVybiBsb2NhbGl6ZS5kYXlQZXJpb2QoZGF5UGVyaW9kRW51bVZhbHVlLCB7XG4gICAgICAgICAgd2lkdGg6ICdhYmJyZXZpYXRlZCcsXG4gICAgICAgICAgY29udGV4dDogJ2Zvcm1hdHRpbmcnXG4gICAgICAgIH0pO1xuXG4gICAgICBjYXNlICdCQkJCQic6XG4gICAgICAgIHJldHVybiBsb2NhbGl6ZS5kYXlQZXJpb2QoZGF5UGVyaW9kRW51bVZhbHVlLCB7XG4gICAgICAgICAgd2lkdGg6ICduYXJyb3cnLFxuICAgICAgICAgIGNvbnRleHQ6ICdmb3JtYXR0aW5nJ1xuICAgICAgICB9KTtcblxuICAgICAgY2FzZSAnQkJCQic6XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gbG9jYWxpemUuZGF5UGVyaW9kKGRheVBlcmlvZEVudW1WYWx1ZSwge1xuICAgICAgICAgIHdpZHRoOiAnd2lkZScsXG4gICAgICAgICAgY29udGV4dDogJ2Zvcm1hdHRpbmcnXG4gICAgICAgIH0pO1xuICAgIH1cbiAgfSxcbiAgLy8gSG91ciBbMS0xMl1cbiAgaDogZnVuY3Rpb24gKGRhdGUsIHRva2VuLCBsb2NhbGl6ZSkge1xuICAgIGlmICh0b2tlbiA9PT0gJ2hvJykge1xuICAgICAgdmFyIGhvdXJzID0gZGF0ZS5nZXRVVENIb3VycygpICUgMTI7XG4gICAgICBpZiAoaG91cnMgPT09IDApIGhvdXJzID0gMTI7XG4gICAgICByZXR1cm4gbG9jYWxpemUub3JkaW5hbE51bWJlcihob3Vycywge1xuICAgICAgICB1bml0OiAnaG91cidcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBsaWdodEZvcm1hdHRlcnMuaChkYXRlLCB0b2tlbik7XG4gIH0sXG4gIC8vIEhvdXIgWzAtMjNdXG4gIEg6IGZ1bmN0aW9uIChkYXRlLCB0b2tlbiwgbG9jYWxpemUpIHtcbiAgICBpZiAodG9rZW4gPT09ICdIbycpIHtcbiAgICAgIHJldHVybiBsb2NhbGl6ZS5vcmRpbmFsTnVtYmVyKGRhdGUuZ2V0VVRDSG91cnMoKSwge1xuICAgICAgICB1bml0OiAnaG91cidcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBsaWdodEZvcm1hdHRlcnMuSChkYXRlLCB0b2tlbik7XG4gIH0sXG4gIC8vIEhvdXIgWzAtMTFdXG4gIEs6IGZ1bmN0aW9uIChkYXRlLCB0b2tlbiwgbG9jYWxpemUpIHtcbiAgICB2YXIgaG91cnMgPSBkYXRlLmdldFVUQ0hvdXJzKCkgJSAxMjtcblxuICAgIGlmICh0b2tlbiA9PT0gJ0tvJykge1xuICAgICAgcmV0dXJuIGxvY2FsaXplLm9yZGluYWxOdW1iZXIoaG91cnMsIHtcbiAgICAgICAgdW5pdDogJ2hvdXInXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gYWRkTGVhZGluZ1plcm9zKGhvdXJzLCB0b2tlbi5sZW5ndGgpO1xuICB9LFxuICAvLyBIb3VyIFsxLTI0XVxuICBrOiBmdW5jdGlvbiAoZGF0ZSwgdG9rZW4sIGxvY2FsaXplKSB7XG4gICAgdmFyIGhvdXJzID0gZGF0ZS5nZXRVVENIb3VycygpO1xuICAgIGlmIChob3VycyA9PT0gMCkgaG91cnMgPSAyNDtcblxuICAgIGlmICh0b2tlbiA9PT0gJ2tvJykge1xuICAgICAgcmV0dXJuIGxvY2FsaXplLm9yZGluYWxOdW1iZXIoaG91cnMsIHtcbiAgICAgICAgdW5pdDogJ2hvdXInXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gYWRkTGVhZGluZ1plcm9zKGhvdXJzLCB0b2tlbi5sZW5ndGgpO1xuICB9LFxuICAvLyBNaW51dGVcbiAgbTogZnVuY3Rpb24gKGRhdGUsIHRva2VuLCBsb2NhbGl6ZSkge1xuICAgIGlmICh0b2tlbiA9PT0gJ21vJykge1xuICAgICAgcmV0dXJuIGxvY2FsaXplLm9yZGluYWxOdW1iZXIoZGF0ZS5nZXRVVENNaW51dGVzKCksIHtcbiAgICAgICAgdW5pdDogJ21pbnV0ZSdcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBsaWdodEZvcm1hdHRlcnMubShkYXRlLCB0b2tlbik7XG4gIH0sXG4gIC8vIFNlY29uZFxuICBzOiBmdW5jdGlvbiAoZGF0ZSwgdG9rZW4sIGxvY2FsaXplKSB7XG4gICAgaWYgKHRva2VuID09PSAnc28nKSB7XG4gICAgICByZXR1cm4gbG9jYWxpemUub3JkaW5hbE51bWJlcihkYXRlLmdldFVUQ1NlY29uZHMoKSwge1xuICAgICAgICB1bml0OiAnc2Vjb25kJ1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGxpZ2h0Rm9ybWF0dGVycy5zKGRhdGUsIHRva2VuKTtcbiAgfSxcbiAgLy8gRnJhY3Rpb24gb2Ygc2Vjb25kXG4gIFM6IGZ1bmN0aW9uIChkYXRlLCB0b2tlbikge1xuICAgIHJldHVybiBsaWdodEZvcm1hdHRlcnMuUyhkYXRlLCB0b2tlbik7XG4gIH0sXG4gIC8vIFRpbWV6b25lIChJU08tODYwMS4gSWYgb2Zmc2V0IGlzIDAsIG91dHB1dCBpcyBhbHdheXMgYCdaJ2ApXG4gIFg6IGZ1bmN0aW9uIChkYXRlLCB0b2tlbiwgX2xvY2FsaXplLCBvcHRpb25zKSB7XG4gICAgdmFyIG9yaWdpbmFsRGF0ZSA9IG9wdGlvbnMuX29yaWdpbmFsRGF0ZSB8fCBkYXRlO1xuICAgIHZhciB0aW1lem9uZU9mZnNldCA9IG9yaWdpbmFsRGF0ZS5nZXRUaW1lem9uZU9mZnNldCgpO1xuXG4gICAgaWYgKHRpbWV6b25lT2Zmc2V0ID09PSAwKSB7XG4gICAgICByZXR1cm4gJ1onO1xuICAgIH1cblxuICAgIHN3aXRjaCAodG9rZW4pIHtcbiAgICAgIC8vIEhvdXJzIGFuZCBvcHRpb25hbCBtaW51dGVzXG4gICAgICBjYXNlICdYJzpcbiAgICAgICAgcmV0dXJuIGZvcm1hdFRpbWV6b25lV2l0aE9wdGlvbmFsTWludXRlcyh0aW1lem9uZU9mZnNldCk7XG4gICAgICAvLyBIb3VycywgbWludXRlcyBhbmQgb3B0aW9uYWwgc2Vjb25kcyB3aXRob3V0IGA6YCBkZWxpbWl0ZXJcbiAgICAgIC8vIE5vdGU6IG5laXRoZXIgSVNPLTg2MDEgbm9yIEphdmFTY3JpcHQgc3VwcG9ydHMgc2Vjb25kcyBpbiB0aW1lem9uZSBvZmZzZXRzXG4gICAgICAvLyBzbyB0aGlzIHRva2VuIGFsd2F5cyBoYXMgdGhlIHNhbWUgb3V0cHV0IGFzIGBYWGBcblxuICAgICAgY2FzZSAnWFhYWCc6XG4gICAgICBjYXNlICdYWCc6XG4gICAgICAgIC8vIEhvdXJzIGFuZCBtaW51dGVzIHdpdGhvdXQgYDpgIGRlbGltaXRlclxuICAgICAgICByZXR1cm4gZm9ybWF0VGltZXpvbmUodGltZXpvbmVPZmZzZXQpO1xuICAgICAgLy8gSG91cnMsIG1pbnV0ZXMgYW5kIG9wdGlvbmFsIHNlY29uZHMgd2l0aCBgOmAgZGVsaW1pdGVyXG4gICAgICAvLyBOb3RlOiBuZWl0aGVyIElTTy04NjAxIG5vciBKYXZhU2NyaXB0IHN1cHBvcnRzIHNlY29uZHMgaW4gdGltZXpvbmUgb2Zmc2V0c1xuICAgICAgLy8gc28gdGhpcyB0b2tlbiBhbHdheXMgaGFzIHRoZSBzYW1lIG91dHB1dCBhcyBgWFhYYFxuXG4gICAgICBjYXNlICdYWFhYWCc6XG4gICAgICBjYXNlICdYWFgnOiAvLyBIb3VycyBhbmQgbWludXRlcyB3aXRoIGA6YCBkZWxpbWl0ZXJcblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIGZvcm1hdFRpbWV6b25lKHRpbWV6b25lT2Zmc2V0LCAnOicpO1xuICAgIH1cbiAgfSxcbiAgLy8gVGltZXpvbmUgKElTTy04NjAxLiBJZiBvZmZzZXQgaXMgMCwgb3V0cHV0IGlzIGAnKzAwOjAwJ2Agb3IgZXF1aXZhbGVudClcbiAgeDogZnVuY3Rpb24gKGRhdGUsIHRva2VuLCBfbG9jYWxpemUsIG9wdGlvbnMpIHtcbiAgICB2YXIgb3JpZ2luYWxEYXRlID0gb3B0aW9ucy5fb3JpZ2luYWxEYXRlIHx8IGRhdGU7XG4gICAgdmFyIHRpbWV6b25lT2Zmc2V0ID0gb3JpZ2luYWxEYXRlLmdldFRpbWV6b25lT2Zmc2V0KCk7XG5cbiAgICBzd2l0Y2ggKHRva2VuKSB7XG4gICAgICAvLyBIb3VycyBhbmQgb3B0aW9uYWwgbWludXRlc1xuICAgICAgY2FzZSAneCc6XG4gICAgICAgIHJldHVybiBmb3JtYXRUaW1lem9uZVdpdGhPcHRpb25hbE1pbnV0ZXModGltZXpvbmVPZmZzZXQpO1xuICAgICAgLy8gSG91cnMsIG1pbnV0ZXMgYW5kIG9wdGlvbmFsIHNlY29uZHMgd2l0aG91dCBgOmAgZGVsaW1pdGVyXG4gICAgICAvLyBOb3RlOiBuZWl0aGVyIElTTy04NjAxIG5vciBKYXZhU2NyaXB0IHN1cHBvcnRzIHNlY29uZHMgaW4gdGltZXpvbmUgb2Zmc2V0c1xuICAgICAgLy8gc28gdGhpcyB0b2tlbiBhbHdheXMgaGFzIHRoZSBzYW1lIG91dHB1dCBhcyBgeHhgXG5cbiAgICAgIGNhc2UgJ3h4eHgnOlxuICAgICAgY2FzZSAneHgnOlxuICAgICAgICAvLyBIb3VycyBhbmQgbWludXRlcyB3aXRob3V0IGA6YCBkZWxpbWl0ZXJcbiAgICAgICAgcmV0dXJuIGZvcm1hdFRpbWV6b25lKHRpbWV6b25lT2Zmc2V0KTtcbiAgICAgIC8vIEhvdXJzLCBtaW51dGVzIGFuZCBvcHRpb25hbCBzZWNvbmRzIHdpdGggYDpgIGRlbGltaXRlclxuICAgICAgLy8gTm90ZTogbmVpdGhlciBJU08tODYwMSBub3IgSmF2YVNjcmlwdCBzdXBwb3J0cyBzZWNvbmRzIGluIHRpbWV6b25lIG9mZnNldHNcbiAgICAgIC8vIHNvIHRoaXMgdG9rZW4gYWx3YXlzIGhhcyB0aGUgc2FtZSBvdXRwdXQgYXMgYHh4eGBcblxuICAgICAgY2FzZSAneHh4eHgnOlxuICAgICAgY2FzZSAneHh4JzogLy8gSG91cnMgYW5kIG1pbnV0ZXMgd2l0aCBgOmAgZGVsaW1pdGVyXG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBmb3JtYXRUaW1lem9uZSh0aW1lem9uZU9mZnNldCwgJzonKTtcbiAgICB9XG4gIH0sXG4gIC8vIFRpbWV6b25lIChHTVQpXG4gIE86IGZ1bmN0aW9uIChkYXRlLCB0b2tlbiwgX2xvY2FsaXplLCBvcHRpb25zKSB7XG4gICAgdmFyIG9yaWdpbmFsRGF0ZSA9IG9wdGlvbnMuX29yaWdpbmFsRGF0ZSB8fCBkYXRlO1xuICAgIHZhciB0aW1lem9uZU9mZnNldCA9IG9yaWdpbmFsRGF0ZS5nZXRUaW1lem9uZU9mZnNldCgpO1xuXG4gICAgc3dpdGNoICh0b2tlbikge1xuICAgICAgLy8gU2hvcnRcbiAgICAgIGNhc2UgJ08nOlxuICAgICAgY2FzZSAnT08nOlxuICAgICAgY2FzZSAnT09PJzpcbiAgICAgICAgcmV0dXJuICdHTVQnICsgZm9ybWF0VGltZXpvbmVTaG9ydCh0aW1lem9uZU9mZnNldCwgJzonKTtcbiAgICAgIC8vIExvbmdcblxuICAgICAgY2FzZSAnT09PTyc6XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gJ0dNVCcgKyBmb3JtYXRUaW1lem9uZSh0aW1lem9uZU9mZnNldCwgJzonKTtcbiAgICB9XG4gIH0sXG4gIC8vIFRpbWV6b25lIChzcGVjaWZpYyBub24tbG9jYXRpb24pXG4gIHo6IGZ1bmN0aW9uIChkYXRlLCB0b2tlbiwgX2xvY2FsaXplLCBvcHRpb25zKSB7XG4gICAgdmFyIG9yaWdpbmFsRGF0ZSA9IG9wdGlvbnMuX29yaWdpbmFsRGF0ZSB8fCBkYXRlO1xuICAgIHZhciB0aW1lem9uZU9mZnNldCA9IG9yaWdpbmFsRGF0ZS5nZXRUaW1lem9uZU9mZnNldCgpO1xuXG4gICAgc3dpdGNoICh0b2tlbikge1xuICAgICAgLy8gU2hvcnRcbiAgICAgIGNhc2UgJ3onOlxuICAgICAgY2FzZSAnenonOlxuICAgICAgY2FzZSAnenp6JzpcbiAgICAgICAgcmV0dXJuICdHTVQnICsgZm9ybWF0VGltZXpvbmVTaG9ydCh0aW1lem9uZU9mZnNldCwgJzonKTtcbiAgICAgIC8vIExvbmdcblxuICAgICAgY2FzZSAnenp6eic6XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gJ0dNVCcgKyBmb3JtYXRUaW1lem9uZSh0aW1lem9uZU9mZnNldCwgJzonKTtcbiAgICB9XG4gIH0sXG4gIC8vIFNlY29uZHMgdGltZXN0YW1wXG4gIHQ6IGZ1bmN0aW9uIChkYXRlLCB0b2tlbiwgX2xvY2FsaXplLCBvcHRpb25zKSB7XG4gICAgdmFyIG9yaWdpbmFsRGF0ZSA9IG9wdGlvbnMuX29yaWdpbmFsRGF0ZSB8fCBkYXRlO1xuICAgIHZhciB0aW1lc3RhbXAgPSBNYXRoLmZsb29yKG9yaWdpbmFsRGF0ZS5nZXRUaW1lKCkgLyAxMDAwKTtcbiAgICByZXR1cm4gYWRkTGVhZGluZ1plcm9zKHRpbWVzdGFtcCwgdG9rZW4ubGVuZ3RoKTtcbiAgfSxcbiAgLy8gTWlsbGlzZWNvbmRzIHRpbWVzdGFtcFxuICBUOiBmdW5jdGlvbiAoZGF0ZSwgdG9rZW4sIF9sb2NhbGl6ZSwgb3B0aW9ucykge1xuICAgIHZhciBvcmlnaW5hbERhdGUgPSBvcHRpb25zLl9vcmlnaW5hbERhdGUgfHwgZGF0ZTtcbiAgICB2YXIgdGltZXN0YW1wID0gb3JpZ2luYWxEYXRlLmdldFRpbWUoKTtcbiAgICByZXR1cm4gYWRkTGVhZGluZ1plcm9zKHRpbWVzdGFtcCwgdG9rZW4ubGVuZ3RoKTtcbiAgfVxufTtcblxuZnVuY3Rpb24gZm9ybWF0VGltZXpvbmVTaG9ydChvZmZzZXQsIGRpcnR5RGVsaW1pdGVyKSB7XG4gIHZhciBzaWduID0gb2Zmc2V0ID4gMCA/ICctJyA6ICcrJztcbiAgdmFyIGFic09mZnNldCA9IE1hdGguYWJzKG9mZnNldCk7XG4gIHZhciBob3VycyA9IE1hdGguZmxvb3IoYWJzT2Zmc2V0IC8gNjApO1xuICB2YXIgbWludXRlcyA9IGFic09mZnNldCAlIDYwO1xuXG4gIGlmIChtaW51dGVzID09PSAwKSB7XG4gICAgcmV0dXJuIHNpZ24gKyBTdHJpbmcoaG91cnMpO1xuICB9XG5cbiAgdmFyIGRlbGltaXRlciA9IGRpcnR5RGVsaW1pdGVyIHx8ICcnO1xuICByZXR1cm4gc2lnbiArIFN0cmluZyhob3VycykgKyBkZWxpbWl0ZXIgKyBhZGRMZWFkaW5nWmVyb3MobWludXRlcywgMik7XG59XG5cbmZ1bmN0aW9uIGZvcm1hdFRpbWV6b25lV2l0aE9wdGlvbmFsTWludXRlcyhvZmZzZXQsIGRpcnR5RGVsaW1pdGVyKSB7XG4gIGlmIChvZmZzZXQgJSA2MCA9PT0gMCkge1xuICAgIHZhciBzaWduID0gb2Zmc2V0ID4gMCA/ICctJyA6ICcrJztcbiAgICByZXR1cm4gc2lnbiArIGFkZExlYWRpbmdaZXJvcyhNYXRoLmFicyhvZmZzZXQpIC8gNjAsIDIpO1xuICB9XG5cbiAgcmV0dXJuIGZvcm1hdFRpbWV6b25lKG9mZnNldCwgZGlydHlEZWxpbWl0ZXIpO1xufVxuXG5mdW5jdGlvbiBmb3JtYXRUaW1lem9uZShvZmZzZXQsIGRpcnR5RGVsaW1pdGVyKSB7XG4gIHZhciBkZWxpbWl0ZXIgPSBkaXJ0eURlbGltaXRlciB8fCAnJztcbiAgdmFyIHNpZ24gPSBvZmZzZXQgPiAwID8gJy0nIDogJysnO1xuICB2YXIgYWJzT2Zmc2V0ID0gTWF0aC5hYnMob2Zmc2V0KTtcbiAgdmFyIGhvdXJzID0gYWRkTGVhZGluZ1plcm9zKE1hdGguZmxvb3IoYWJzT2Zmc2V0IC8gNjApLCAyKTtcbiAgdmFyIG1pbnV0ZXMgPSBhZGRMZWFkaW5nWmVyb3MoYWJzT2Zmc2V0ICUgNjAsIDIpO1xuICByZXR1cm4gc2lnbiArIGhvdXJzICsgZGVsaW1pdGVyICsgbWludXRlcztcbn1cblxuZXhwb3J0IGRlZmF1bHQgZm9ybWF0dGVyczsiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/_lib/format/formatters/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/_lib/format/lightFormatters/index.js": /*!************************************************************************!*\ !*** ./node_modules/date-fns/esm/_lib/format/lightFormatters/index.js ***! \************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _addLeadingZeros_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../addLeadingZeros/index.js */ \"./node_modules/date-fns/esm/_lib/addLeadingZeros/index.js\");\n\n/*\n * | | Unit | | Unit |\n * |-----|--------------------------------|-----|--------------------------------|\n * | a | AM, PM | A* | |\n * | d | Day of month | D | |\n * | h | Hour [1-12] | H | Hour [0-23] |\n * | m | Minute | M | Month |\n * | s | Second | S | Fraction of second |\n * | y | Year (abs) | Y | |\n *\n * Letters marked by * are not implemented but reserved by Unicode standard.\n */\n\nvar formatters = {\n // Year\n y: function (date, token) {\n // From http://www.unicode.org/reports/tr35/tr35-31/tr35-dates.html#Date_Format_tokens\n // | Year | y | yy | yyy | yyyy | yyyyy |\n // |----------|-------|----|-------|-------|-------|\n // | AD 1 | 1 | 01 | 001 | 0001 | 00001 |\n // | AD 12 | 12 | 12 | 012 | 0012 | 00012 |\n // | AD 123 | 123 | 23 | 123 | 0123 | 00123 |\n // | AD 1234 | 1234 | 34 | 1234 | 1234 | 01234 |\n // | AD 12345 | 12345 | 45 | 12345 | 12345 | 12345 |\n var signedYear = date.getUTCFullYear(); // Returns 1 for 1 BC (which is year 0 in JavaScript)\n\n var year = signedYear > 0 ? signedYear : 1 - signedYear;\n return Object(_addLeadingZeros_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(token === 'yy' ? year % 100 : year, token.length);\n },\n // Month\n M: function (date, token) {\n var month = date.getUTCMonth();\n return token === 'M' ? String(month + 1) : Object(_addLeadingZeros_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(month + 1, 2);\n },\n // Day of the month\n d: function (date, token) {\n return Object(_addLeadingZeros_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(date.getUTCDate(), token.length);\n },\n // AM or PM\n a: function (date, token) {\n var dayPeriodEnumValue = date.getUTCHours() / 12 >= 1 ? 'pm' : 'am';\n\n switch (token) {\n case 'a':\n case 'aa':\n case 'aaa':\n return dayPeriodEnumValue.toUpperCase();\n\n case 'aaaaa':\n return dayPeriodEnumValue[0];\n\n case 'aaaa':\n default:\n return dayPeriodEnumValue === 'am' ? 'a.m.' : 'p.m.';\n }\n },\n // Hour [1-12]\n h: function (date, token) {\n return Object(_addLeadingZeros_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(date.getUTCHours() % 12 || 12, token.length);\n },\n // Hour [0-23]\n H: function (date, token) {\n return Object(_addLeadingZeros_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(date.getUTCHours(), token.length);\n },\n // Minute\n m: function (date, token) {\n return Object(_addLeadingZeros_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(date.getUTCMinutes(), token.length);\n },\n // Second\n s: function (date, token) {\n return Object(_addLeadingZeros_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(date.getUTCSeconds(), token.length);\n },\n // Fraction of second\n S: function (date, token) {\n var numberOfDigits = token.length;\n var milliseconds = date.getUTCMilliseconds();\n var fractionalSeconds = Math.floor(milliseconds * Math.pow(10, numberOfDigits - 3));\n return Object(_addLeadingZeros_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(fractionalSeconds, token.length);\n }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (formatters);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL19saWIvZm9ybWF0L2xpZ2h0Rm9ybWF0dGVycy9pbmRleC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9kYXRlLWZucy9lc20vX2xpYi9mb3JtYXQvbGlnaHRGb3JtYXR0ZXJzL2luZGV4LmpzPzYwODMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGFkZExlYWRpbmdaZXJvcyBmcm9tICcuLi8uLi9hZGRMZWFkaW5nWmVyb3MvaW5kZXguanMnO1xuLypcbiAqIHwgICAgIHwgVW5pdCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgIHwgVW5pdCAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcbiAqIHwtLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwtLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXxcbiAqIHwgIGEgIHwgQU0sIFBNICAgICAgICAgICAgICAgICAgICAgICAgIHwgIEEqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcbiAqIHwgIGQgIHwgRGF5IG9mIG1vbnRoICAgICAgICAgICAgICAgICAgIHwgIEQgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcbiAqIHwgIGggIHwgSG91ciBbMS0xMl0gICAgICAgICAgICAgICAgICAgIHwgIEggIHwgSG91ciBbMC0yM10gICAgICAgICAgICAgICAgICAgIHxcbiAqIHwgIG0gIHwgTWludXRlICAgICAgICAgICAgICAgICAgICAgICAgIHwgIE0gIHwgTW9udGggICAgICAgICAgICAgICAgICAgICAgICAgIHxcbiAqIHwgIHMgIHwgU2Vjb25kICAgICAgICAgICAgICAgICAgICAgICAgIHwgIFMgIHwgRnJhY3Rpb24gb2Ygc2Vjb25kICAgICAgICAgICAgIHxcbiAqIHwgIHkgIHwgWWVhciAoYWJzKSAgICAgICAgICAgICAgICAgICAgIHwgIFkgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcbiAqXG4gKiBMZXR0ZXJzIG1hcmtlZCBieSAqIGFyZSBub3QgaW1wbGVtZW50ZWQgYnV0IHJlc2VydmVkIGJ5IFVuaWNvZGUgc3RhbmRhcmQuXG4gKi9cblxudmFyIGZvcm1hdHRlcnMgPSB7XG4gIC8vIFllYXJcbiAgeTogZnVuY3Rpb24gKGRhdGUsIHRva2VuKSB7XG4gICAgLy8gRnJvbSBodHRwOi8vd3d3LnVuaWNvZGUub3JnL3JlcG9ydHMvdHIzNS90cjM1LTMxL3RyMzUtZGF0ZXMuaHRtbCNEYXRlX0Zvcm1hdF90b2tlbnNcbiAgICAvLyB8IFllYXIgICAgIHwgICAgIHkgfCB5eSB8ICAgeXl5IHwgIHl5eXkgfCB5eXl5eSB8XG4gICAgLy8gfC0tLS0tLS0tLS18LS0tLS0tLXwtLS0tfC0tLS0tLS18LS0tLS0tLXwtLS0tLS0tfFxuICAgIC8vIHwgQUQgMSAgICAgfCAgICAgMSB8IDAxIHwgICAwMDEgfCAgMDAwMSB8IDAwMDAxIHxcbiAgICAvLyB8IEFEIDEyICAgIHwgICAgMTIgfCAxMiB8ICAgMDEyIHwgIDAwMTIgfCAwMDAxMiB8XG4gICAgLy8gfCBBRCAxMjMgICB8ICAgMTIzIHwgMjMgfCAgIDEyMyB8ICAwMTIzIHwgMDAxMjMgfFxuICAgIC8vIHwgQUQgMTIzNCAgfCAgMTIzNCB8IDM0IHwgIDEyMzQgfCAgMTIzNCB8IDAxMjM0IHxcbiAgICAvLyB8IEFEIDEyMzQ1IHwgMTIzNDUgfCA0NSB8IDEyMzQ1IHwgMTIzNDUgfCAxMjM0NSB8XG4gICAgdmFyIHNpZ25lZFllYXIgPSBkYXRlLmdldFVUQ0Z1bGxZZWFyKCk7IC8vIFJldHVybnMgMSBmb3IgMSBCQyAod2hpY2ggaXMgeWVhciAwIGluIEphdmFTY3JpcHQpXG5cbiAgICB2YXIgeWVhciA9IHNpZ25lZFllYXIgPiAwID8gc2lnbmVkWWVhciA6IDEgLSBzaWduZWRZZWFyO1xuICAgIHJldHVybiBhZGRMZWFkaW5nWmVyb3ModG9rZW4gPT09ICd5eScgPyB5ZWFyICUgMTAwIDogeWVhciwgdG9rZW4ubGVuZ3RoKTtcbiAgfSxcbiAgLy8gTW9udGhcbiAgTTogZnVuY3Rpb24gKGRhdGUsIHRva2VuKSB7XG4gICAgdmFyIG1vbnRoID0gZGF0ZS5nZXRVVENNb250aCgpO1xuICAgIHJldHVybiB0b2tlbiA9PT0gJ00nID8gU3RyaW5nKG1vbnRoICsgMSkgOiBhZGRMZWFkaW5nWmVyb3MobW9udGggKyAxLCAyKTtcbiAgfSxcbiAgLy8gRGF5IG9mIHRoZSBtb250aFxuICBkOiBmdW5jdGlvbiAoZGF0ZSwgdG9rZW4pIHtcbiAgICByZXR1cm4gYWRkTGVhZGluZ1plcm9zKGRhdGUuZ2V0VVRDRGF0ZSgpLCB0b2tlbi5sZW5ndGgpO1xuICB9LFxuICAvLyBBTSBvciBQTVxuICBhOiBmdW5jdGlvbiAoZGF0ZSwgdG9rZW4pIHtcbiAgICB2YXIgZGF5UGVyaW9kRW51bVZhbHVlID0gZGF0ZS5nZXRVVENIb3VycygpIC8gMTIgPj0gMSA/ICdwbScgOiAnYW0nO1xuXG4gICAgc3dpdGNoICh0b2tlbikge1xuICAgICAgY2FzZSAnYSc6XG4gICAgICBjYXNlICdhYSc6XG4gICAgICBjYXNlICdhYWEnOlxuICAgICAgICByZXR1cm4gZGF5UGVyaW9kRW51bVZhbHVlLnRvVXBwZXJDYXNlKCk7XG5cbiAgICAgIGNhc2UgJ2FhYWFhJzpcbiAgICAgICAgcmV0dXJuIGRheVBlcmlvZEVudW1WYWx1ZVswXTtcblxuICAgICAgY2FzZSAnYWFhYSc6XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gZGF5UGVyaW9kRW51bVZhbHVlID09PSAnYW0nID8gJ2EubS4nIDogJ3AubS4nO1xuICAgIH1cbiAgfSxcbiAgLy8gSG91ciBbMS0xMl1cbiAgaDogZnVuY3Rpb24gKGRhdGUsIHRva2VuKSB7XG4gICAgcmV0dXJuIGFkZExlYWRpbmdaZXJvcyhkYXRlLmdldFVUQ0hvdXJzKCkgJSAxMiB8fCAxMiwgdG9rZW4ubGVuZ3RoKTtcbiAgfSxcbiAgLy8gSG91ciBbMC0yM11cbiAgSDogZnVuY3Rpb24gKGRhdGUsIHRva2VuKSB7XG4gICAgcmV0dXJuIGFkZExlYWRpbmdaZXJvcyhkYXRlLmdldFVUQ0hvdXJzKCksIHRva2VuLmxlbmd0aCk7XG4gIH0sXG4gIC8vIE1pbnV0ZVxuICBtOiBmdW5jdGlvbiAoZGF0ZSwgdG9rZW4pIHtcbiAgICByZXR1cm4gYWRkTGVhZGluZ1plcm9zKGRhdGUuZ2V0VVRDTWludXRlcygpLCB0b2tlbi5sZW5ndGgpO1xuICB9LFxuICAvLyBTZWNvbmRcbiAgczogZnVuY3Rpb24gKGRhdGUsIHRva2VuKSB7XG4gICAgcmV0dXJuIGFkZExlYWRpbmdaZXJvcyhkYXRlLmdldFVUQ1NlY29uZHMoKSwgdG9rZW4ubGVuZ3RoKTtcbiAgfSxcbiAgLy8gRnJhY3Rpb24gb2Ygc2Vjb25kXG4gIFM6IGZ1bmN0aW9uIChkYXRlLCB0b2tlbikge1xuICAgIHZhciBudW1iZXJPZkRpZ2l0cyA9IHRva2VuLmxlbmd0aDtcbiAgICB2YXIgbWlsbGlzZWNvbmRzID0gZGF0ZS5nZXRVVENNaWxsaXNlY29uZHMoKTtcbiAgICB2YXIgZnJhY3Rpb25hbFNlY29uZHMgPSBNYXRoLmZsb29yKG1pbGxpc2Vjb25kcyAqIE1hdGgucG93KDEwLCBudW1iZXJPZkRpZ2l0cyAtIDMpKTtcbiAgICByZXR1cm4gYWRkTGVhZGluZ1plcm9zKGZyYWN0aW9uYWxTZWNvbmRzLCB0b2tlbi5sZW5ndGgpO1xuICB9XG59O1xuZXhwb3J0IGRlZmF1bHQgZm9ybWF0dGVyczsiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/_lib/format/lightFormatters/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/_lib/format/longFormatters/index.js": /*!***********************************************************************!*\ !*** ./node_modules/date-fns/esm/_lib/format/longFormatters/index.js ***! \***********************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\nfunction dateLongFormatter(pattern, formatLong) {\n switch (pattern) {\n case 'P':\n return formatLong.date({\n width: 'short'\n });\n\n case 'PP':\n return formatLong.date({\n width: 'medium'\n });\n\n case 'PPP':\n return formatLong.date({\n width: 'long'\n });\n\n case 'PPPP':\n default:\n return formatLong.date({\n width: 'full'\n });\n }\n}\n\nfunction timeLongFormatter(pattern, formatLong) {\n switch (pattern) {\n case 'p':\n return formatLong.time({\n width: 'short'\n });\n\n case 'pp':\n return formatLong.time({\n width: 'medium'\n });\n\n case 'ppp':\n return formatLong.time({\n width: 'long'\n });\n\n case 'pppp':\n default:\n return formatLong.time({\n width: 'full'\n });\n }\n}\n\nfunction dateTimeLongFormatter(pattern, formatLong) {\n var matchResult = pattern.match(/(P+)(p+)?/);\n var datePattern = matchResult[1];\n var timePattern = matchResult[2];\n\n if (!timePattern) {\n return dateLongFormatter(pattern, formatLong);\n }\n\n var dateTimeFormat;\n\n switch (datePattern) {\n case 'P':\n dateTimeFormat = formatLong.dateTime({\n width: 'short'\n });\n break;\n\n case 'PP':\n dateTimeFormat = formatLong.dateTime({\n width: 'medium'\n });\n break;\n\n case 'PPP':\n dateTimeFormat = formatLong.dateTime({\n width: 'long'\n });\n break;\n\n case 'PPPP':\n default:\n dateTimeFormat = formatLong.dateTime({\n width: 'full'\n });\n break;\n }\n\n return dateTimeFormat.replace('{{date}}', dateLongFormatter(datePattern, formatLong)).replace('{{time}}', timeLongFormatter(timePattern, formatLong));\n}\n\nvar longFormatters = {\n p: timeLongFormatter,\n P: dateTimeLongFormatter\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (longFormatters);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL19saWIvZm9ybWF0L2xvbmdGb3JtYXR0ZXJzL2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2VzbS9fbGliL2Zvcm1hdC9sb25nRm9ybWF0dGVycy9pbmRleC5qcz8yMWJlIl0sInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIGRhdGVMb25nRm9ybWF0dGVyKHBhdHRlcm4sIGZvcm1hdExvbmcpIHtcbiAgc3dpdGNoIChwYXR0ZXJuKSB7XG4gICAgY2FzZSAnUCc6XG4gICAgICByZXR1cm4gZm9ybWF0TG9uZy5kYXRlKHtcbiAgICAgICAgd2lkdGg6ICdzaG9ydCdcbiAgICAgIH0pO1xuXG4gICAgY2FzZSAnUFAnOlxuICAgICAgcmV0dXJuIGZvcm1hdExvbmcuZGF0ZSh7XG4gICAgICAgIHdpZHRoOiAnbWVkaXVtJ1xuICAgICAgfSk7XG5cbiAgICBjYXNlICdQUFAnOlxuICAgICAgcmV0dXJuIGZvcm1hdExvbmcuZGF0ZSh7XG4gICAgICAgIHdpZHRoOiAnbG9uZydcbiAgICAgIH0pO1xuXG4gICAgY2FzZSAnUFBQUCc6XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBmb3JtYXRMb25nLmRhdGUoe1xuICAgICAgICB3aWR0aDogJ2Z1bGwnXG4gICAgICB9KTtcbiAgfVxufVxuXG5mdW5jdGlvbiB0aW1lTG9uZ0Zvcm1hdHRlcihwYXR0ZXJuLCBmb3JtYXRMb25nKSB7XG4gIHN3aXRjaCAocGF0dGVybikge1xuICAgIGNhc2UgJ3AnOlxuICAgICAgcmV0dXJuIGZvcm1hdExvbmcudGltZSh7XG4gICAgICAgIHdpZHRoOiAnc2hvcnQnXG4gICAgICB9KTtcblxuICAgIGNhc2UgJ3BwJzpcbiAgICAgIHJldHVybiBmb3JtYXRMb25nLnRpbWUoe1xuICAgICAgICB3aWR0aDogJ21lZGl1bSdcbiAgICAgIH0pO1xuXG4gICAgY2FzZSAncHBwJzpcbiAgICAgIHJldHVybiBmb3JtYXRMb25nLnRpbWUoe1xuICAgICAgICB3aWR0aDogJ2xvbmcnXG4gICAgICB9KTtcblxuICAgIGNhc2UgJ3BwcHAnOlxuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gZm9ybWF0TG9uZy50aW1lKHtcbiAgICAgICAgd2lkdGg6ICdmdWxsJ1xuICAgICAgfSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gZGF0ZVRpbWVMb25nRm9ybWF0dGVyKHBhdHRlcm4sIGZvcm1hdExvbmcpIHtcbiAgdmFyIG1hdGNoUmVzdWx0ID0gcGF0dGVybi5tYXRjaCgvKFArKShwKyk/Lyk7XG4gIHZhciBkYXRlUGF0dGVybiA9IG1hdGNoUmVzdWx0WzFdO1xuICB2YXIgdGltZVBhdHRlcm4gPSBtYXRjaFJlc3VsdFsyXTtcblxuICBpZiAoIXRpbWVQYXR0ZXJuKSB7XG4gICAgcmV0dXJuIGRhdGVMb25nRm9ybWF0dGVyKHBhdHRlcm4sIGZvcm1hdExvbmcpO1xuICB9XG5cbiAgdmFyIGRhdGVUaW1lRm9ybWF0O1xuXG4gIHN3aXRjaCAoZGF0ZVBhdHRlcm4pIHtcbiAgICBjYXNlICdQJzpcbiAgICAgIGRhdGVUaW1lRm9ybWF0ID0gZm9ybWF0TG9uZy5kYXRlVGltZSh7XG4gICAgICAgIHdpZHRoOiAnc2hvcnQnXG4gICAgICB9KTtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAnUFAnOlxuICAgICAgZGF0ZVRpbWVGb3JtYXQgPSBmb3JtYXRMb25nLmRhdGVUaW1lKHtcbiAgICAgICAgd2lkdGg6ICdtZWRpdW0nXG4gICAgICB9KTtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAnUFBQJzpcbiAgICAgIGRhdGVUaW1lRm9ybWF0ID0gZm9ybWF0TG9uZy5kYXRlVGltZSh7XG4gICAgICAgIHdpZHRoOiAnbG9uZydcbiAgICAgIH0pO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICdQUFBQJzpcbiAgICBkZWZhdWx0OlxuICAgICAgZGF0ZVRpbWVGb3JtYXQgPSBmb3JtYXRMb25nLmRhdGVUaW1lKHtcbiAgICAgICAgd2lkdGg6ICdmdWxsJ1xuICAgICAgfSk7XG4gICAgICBicmVhaztcbiAgfVxuXG4gIHJldHVybiBkYXRlVGltZUZvcm1hdC5yZXBsYWNlKCd7e2RhdGV9fScsIGRhdGVMb25nRm9ybWF0dGVyKGRhdGVQYXR0ZXJuLCBmb3JtYXRMb25nKSkucmVwbGFjZSgne3t0aW1lfX0nLCB0aW1lTG9uZ0Zvcm1hdHRlcih0aW1lUGF0dGVybiwgZm9ybWF0TG9uZykpO1xufVxuXG52YXIgbG9uZ0Zvcm1hdHRlcnMgPSB7XG4gIHA6IHRpbWVMb25nRm9ybWF0dGVyLFxuICBQOiBkYXRlVGltZUxvbmdGb3JtYXR0ZXJcbn07XG5leHBvcnQgZGVmYXVsdCBsb25nRm9ybWF0dGVyczsiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/_lib/format/longFormatters/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/_lib/getTimezoneOffsetInMilliseconds/index.js": /*!*********************************************************************************!*\ !*** ./node_modules/date-fns/esm/_lib/getTimezoneOffsetInMilliseconds/index.js ***! \*********************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return getTimezoneOffsetInMilliseconds; });\nvar MILLISECONDS_IN_MINUTE = 60000;\n/**\n * Google Chrome as of 67.0.3396.87 introduced timezones with offset that includes seconds.\n * They usually appear for dates that denote time before the timezones were introduced\n * (e.g. for 'Europe/Prague' timezone the offset is GMT+00:57:44 before 1 October 1891\n * and GMT+01:00:00 after that date)\n *\n * Date#getTimezoneOffset returns the offset in minutes and would return 57 for the example above,\n * which would lead to incorrect calculations.\n *\n * This function returns the timezone offset in milliseconds that takes seconds in account.\n */\n\nfunction getTimezoneOffsetInMilliseconds(dirtyDate) {\n var date = new Date(dirtyDate.getTime());\n var baseTimezoneOffset = date.getTimezoneOffset();\n date.setSeconds(0, 0);\n var millisecondsPartOfTimezoneOffset = date.getTime() % MILLISECONDS_IN_MINUTE;\n return baseTimezoneOffset * MILLISECONDS_IN_MINUTE + millisecondsPartOfTimezoneOffset;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL19saWIvZ2V0VGltZXpvbmVPZmZzZXRJbk1pbGxpc2Vjb25kcy9pbmRleC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9kYXRlLWZucy9lc20vX2xpYi9nZXRUaW1lem9uZU9mZnNldEluTWlsbGlzZWNvbmRzL2luZGV4LmpzPzI0MjAiXSwic291cmNlc0NvbnRlbnQiOlsidmFyIE1JTExJU0VDT05EU19JTl9NSU5VVEUgPSA2MDAwMDtcbi8qKlxuICogR29vZ2xlIENocm9tZSBhcyBvZiA2Ny4wLjMzOTYuODcgaW50cm9kdWNlZCB0aW1lem9uZXMgd2l0aCBvZmZzZXQgdGhhdCBpbmNsdWRlcyBzZWNvbmRzLlxuICogVGhleSB1c3VhbGx5IGFwcGVhciBmb3IgZGF0ZXMgdGhhdCBkZW5vdGUgdGltZSBiZWZvcmUgdGhlIHRpbWV6b25lcyB3ZXJlIGludHJvZHVjZWRcbiAqIChlLmcuIGZvciAnRXVyb3BlL1ByYWd1ZScgdGltZXpvbmUgdGhlIG9mZnNldCBpcyBHTVQrMDA6NTc6NDQgYmVmb3JlIDEgT2N0b2JlciAxODkxXG4gKiBhbmQgR01UKzAxOjAwOjAwIGFmdGVyIHRoYXQgZGF0ZSlcbiAqXG4gKiBEYXRlI2dldFRpbWV6b25lT2Zmc2V0IHJldHVybnMgdGhlIG9mZnNldCBpbiBtaW51dGVzIGFuZCB3b3VsZCByZXR1cm4gNTcgZm9yIHRoZSBleGFtcGxlIGFib3ZlLFxuICogd2hpY2ggd291bGQgbGVhZCB0byBpbmNvcnJlY3QgY2FsY3VsYXRpb25zLlxuICpcbiAqIFRoaXMgZnVuY3Rpb24gcmV0dXJucyB0aGUgdGltZXpvbmUgb2Zmc2V0IGluIG1pbGxpc2Vjb25kcyB0aGF0IHRha2VzIHNlY29uZHMgaW4gYWNjb3VudC5cbiAqL1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBnZXRUaW1lem9uZU9mZnNldEluTWlsbGlzZWNvbmRzKGRpcnR5RGF0ZSkge1xuICB2YXIgZGF0ZSA9IG5ldyBEYXRlKGRpcnR5RGF0ZS5nZXRUaW1lKCkpO1xuICB2YXIgYmFzZVRpbWV6b25lT2Zmc2V0ID0gZGF0ZS5nZXRUaW1lem9uZU9mZnNldCgpO1xuICBkYXRlLnNldFNlY29uZHMoMCwgMCk7XG4gIHZhciBtaWxsaXNlY29uZHNQYXJ0T2ZUaW1lem9uZU9mZnNldCA9IGRhdGUuZ2V0VGltZSgpICUgTUlMTElTRUNPTkRTX0lOX01JTlVURTtcbiAgcmV0dXJuIGJhc2VUaW1lem9uZU9mZnNldCAqIE1JTExJU0VDT05EU19JTl9NSU5VVEUgKyBtaWxsaXNlY29uZHNQYXJ0T2ZUaW1lem9uZU9mZnNldDtcbn0iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/_lib/getTimezoneOffsetInMilliseconds/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/_lib/getUTCDayOfYear/index.js": /*!*****************************************************************!*\ !*** ./node_modules/date-fns/esm/_lib/getUTCDayOfYear/index.js ***! \*****************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return getUTCDayOfYear; });\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n\nvar MILLISECONDS_IN_DAY = 86400000; // This function will be a part of public API when UTC function will be implemented.\n// See issue: https://github.com/date-fns/date-fns/issues/376\n\nfunction getUTCDayOfYear(dirtyDate) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n var date = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate);\n var timestamp = date.getTime();\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n var startOfYearTimestamp = date.getTime();\n var difference = timestamp - startOfYearTimestamp;\n return Math.floor(difference / MILLISECONDS_IN_DAY) + 1;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL19saWIvZ2V0VVRDRGF5T2ZZZWFyL2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2VzbS9fbGliL2dldFVUQ0RheU9mWWVhci9pbmRleC5qcz8xZTdhIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0b0RhdGUgZnJvbSAnLi4vLi4vdG9EYXRlL2luZGV4LmpzJztcbnZhciBNSUxMSVNFQ09ORFNfSU5fREFZID0gODY0MDAwMDA7IC8vIFRoaXMgZnVuY3Rpb24gd2lsbCBiZSBhIHBhcnQgb2YgcHVibGljIEFQSSB3aGVuIFVUQyBmdW5jdGlvbiB3aWxsIGJlIGltcGxlbWVudGVkLlxuLy8gU2VlIGlzc3VlOiBodHRwczovL2dpdGh1Yi5jb20vZGF0ZS1mbnMvZGF0ZS1mbnMvaXNzdWVzLzM3NlxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBnZXRVVENEYXlPZlllYXIoZGlydHlEYXRlKSB7XG4gIGlmIChhcmd1bWVudHMubGVuZ3RoIDwgMSkge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJzEgYXJndW1lbnQgcmVxdWlyZWQsIGJ1dCBvbmx5ICcgKyBhcmd1bWVudHMubGVuZ3RoICsgJyBwcmVzZW50Jyk7XG4gIH1cblxuICB2YXIgZGF0ZSA9IHRvRGF0ZShkaXJ0eURhdGUpO1xuICB2YXIgdGltZXN0YW1wID0gZGF0ZS5nZXRUaW1lKCk7XG4gIGRhdGUuc2V0VVRDTW9udGgoMCwgMSk7XG4gIGRhdGUuc2V0VVRDSG91cnMoMCwgMCwgMCwgMCk7XG4gIHZhciBzdGFydE9mWWVhclRpbWVzdGFtcCA9IGRhdGUuZ2V0VGltZSgpO1xuICB2YXIgZGlmZmVyZW5jZSA9IHRpbWVzdGFtcCAtIHN0YXJ0T2ZZZWFyVGltZXN0YW1wO1xuICByZXR1cm4gTWF0aC5mbG9vcihkaWZmZXJlbmNlIC8gTUlMTElTRUNPTkRTX0lOX0RBWSkgKyAxO1xufSJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/_lib/getUTCDayOfYear/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/_lib/getUTCISOWeek/index.js": /*!***************************************************************!*\ !*** ./node_modules/date-fns/esm/_lib/getUTCISOWeek/index.js ***! \***************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return getUTCISOWeek; });\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n/* harmony import */ var _startOfUTCISOWeek_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../startOfUTCISOWeek/index.js */ \"./node_modules/date-fns/esm/_lib/startOfUTCISOWeek/index.js\");\n/* harmony import */ var _startOfUTCISOWeekYear_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../startOfUTCISOWeekYear/index.js */ \"./node_modules/date-fns/esm/_lib/startOfUTCISOWeekYear/index.js\");\n\n\n\nvar MILLISECONDS_IN_WEEK = 604800000; // This function will be a part of public API when UTC function will be implemented.\n// See issue: https://github.com/date-fns/date-fns/issues/376\n\nfunction getUTCISOWeek(dirtyDate) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n var date = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate);\n var diff = Object(_startOfUTCISOWeek_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(date).getTime() - Object(_startOfUTCISOWeekYear_index_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(date).getTime(); // Round the number of days to the nearest integer\n // because the number of milliseconds in a week is not constant\n // (e.g. it's different in the week of the daylight saving time clock shift)\n\n return Math.round(diff / MILLISECONDS_IN_WEEK) + 1;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL19saWIvZ2V0VVRDSVNPV2Vlay9pbmRleC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9kYXRlLWZucy9lc20vX2xpYi9nZXRVVENJU09XZWVrL2luZGV4LmpzPzk2MDYiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHRvRGF0ZSBmcm9tICcuLi8uLi90b0RhdGUvaW5kZXguanMnO1xuaW1wb3J0IHN0YXJ0T2ZVVENJU09XZWVrIGZyb20gJy4uL3N0YXJ0T2ZVVENJU09XZWVrL2luZGV4LmpzJztcbmltcG9ydCBzdGFydE9mVVRDSVNPV2Vla1llYXIgZnJvbSAnLi4vc3RhcnRPZlVUQ0lTT1dlZWtZZWFyL2luZGV4LmpzJztcbnZhciBNSUxMSVNFQ09ORFNfSU5fV0VFSyA9IDYwNDgwMDAwMDsgLy8gVGhpcyBmdW5jdGlvbiB3aWxsIGJlIGEgcGFydCBvZiBwdWJsaWMgQVBJIHdoZW4gVVRDIGZ1bmN0aW9uIHdpbGwgYmUgaW1wbGVtZW50ZWQuXG4vLyBTZWUgaXNzdWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRlLWZucy9kYXRlLWZucy9pc3N1ZXMvMzc2XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGdldFVUQ0lTT1dlZWsoZGlydHlEYXRlKSB7XG4gIGlmIChhcmd1bWVudHMubGVuZ3RoIDwgMSkge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJzEgYXJndW1lbnQgcmVxdWlyZWQsIGJ1dCBvbmx5ICcgKyBhcmd1bWVudHMubGVuZ3RoICsgJyBwcmVzZW50Jyk7XG4gIH1cblxuICB2YXIgZGF0ZSA9IHRvRGF0ZShkaXJ0eURhdGUpO1xuICB2YXIgZGlmZiA9IHN0YXJ0T2ZVVENJU09XZWVrKGRhdGUpLmdldFRpbWUoKSAtIHN0YXJ0T2ZVVENJU09XZWVrWWVhcihkYXRlKS5nZXRUaW1lKCk7IC8vIFJvdW5kIHRoZSBudW1iZXIgb2YgZGF5cyB0byB0aGUgbmVhcmVzdCBpbnRlZ2VyXG4gIC8vIGJlY2F1c2UgdGhlIG51bWJlciBvZiBtaWxsaXNlY29uZHMgaW4gYSB3ZWVrIGlzIG5vdCBjb25zdGFudFxuICAvLyAoZS5nLiBpdCdzIGRpZmZlcmVudCBpbiB0aGUgd2VlayBvZiB0aGUgZGF5bGlnaHQgc2F2aW5nIHRpbWUgY2xvY2sgc2hpZnQpXG5cbiAgcmV0dXJuIE1hdGgucm91bmQoZGlmZiAvIE1JTExJU0VDT05EU19JTl9XRUVLKSArIDE7XG59Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/_lib/getUTCISOWeek/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/_lib/getUTCISOWeekYear/index.js": /*!*******************************************************************!*\ !*** ./node_modules/date-fns/esm/_lib/getUTCISOWeekYear/index.js ***! \*******************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return getUTCISOWeekYear; });\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n/* harmony import */ var _startOfUTCISOWeek_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../startOfUTCISOWeek/index.js */ \"./node_modules/date-fns/esm/_lib/startOfUTCISOWeek/index.js\");\n\n // This function will be a part of public API when UTC function will be implemented.\n// See issue: https://github.com/date-fns/date-fns/issues/376\n\nfunction getUTCISOWeekYear(dirtyDate) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n var date = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate);\n var year = date.getUTCFullYear();\n var fourthOfJanuaryOfNextYear = new Date(0);\n fourthOfJanuaryOfNextYear.setUTCFullYear(year + 1, 0, 4);\n fourthOfJanuaryOfNextYear.setUTCHours(0, 0, 0, 0);\n var startOfNextYear = Object(_startOfUTCISOWeek_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(fourthOfJanuaryOfNextYear);\n var fourthOfJanuaryOfThisYear = new Date(0);\n fourthOfJanuaryOfThisYear.setUTCFullYear(year, 0, 4);\n fourthOfJanuaryOfThisYear.setUTCHours(0, 0, 0, 0);\n var startOfThisYear = Object(_startOfUTCISOWeek_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(fourthOfJanuaryOfThisYear);\n\n if (date.getTime() >= startOfNextYear.getTime()) {\n return year + 1;\n } else if (date.getTime() >= startOfThisYear.getTime()) {\n return year;\n } else {\n return year - 1;\n }\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL19saWIvZ2V0VVRDSVNPV2Vla1llYXIvaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL19saWIvZ2V0VVRDSVNPV2Vla1llYXIvaW5kZXguanM/ODJiZCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdG9EYXRlIGZyb20gJy4uLy4uL3RvRGF0ZS9pbmRleC5qcyc7XG5pbXBvcnQgc3RhcnRPZlVUQ0lTT1dlZWsgZnJvbSAnLi4vc3RhcnRPZlVUQ0lTT1dlZWsvaW5kZXguanMnOyAvLyBUaGlzIGZ1bmN0aW9uIHdpbGwgYmUgYSBwYXJ0IG9mIHB1YmxpYyBBUEkgd2hlbiBVVEMgZnVuY3Rpb24gd2lsbCBiZSBpbXBsZW1lbnRlZC5cbi8vIFNlZSBpc3N1ZTogaHR0cHM6Ly9naXRodWIuY29tL2RhdGUtZm5zL2RhdGUtZm5zL2lzc3Vlcy8zNzZcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZ2V0VVRDSVNPV2Vla1llYXIoZGlydHlEYXRlKSB7XG4gIGlmIChhcmd1bWVudHMubGVuZ3RoIDwgMSkge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJzEgYXJndW1lbnQgcmVxdWlyZWQsIGJ1dCBvbmx5ICcgKyBhcmd1bWVudHMubGVuZ3RoICsgJyBwcmVzZW50Jyk7XG4gIH1cblxuICB2YXIgZGF0ZSA9IHRvRGF0ZShkaXJ0eURhdGUpO1xuICB2YXIgeWVhciA9IGRhdGUuZ2V0VVRDRnVsbFllYXIoKTtcbiAgdmFyIGZvdXJ0aE9mSmFudWFyeU9mTmV4dFllYXIgPSBuZXcgRGF0ZSgwKTtcbiAgZm91cnRoT2ZKYW51YXJ5T2ZOZXh0WWVhci5zZXRVVENGdWxsWWVhcih5ZWFyICsgMSwgMCwgNCk7XG4gIGZvdXJ0aE9mSmFudWFyeU9mTmV4dFllYXIuc2V0VVRDSG91cnMoMCwgMCwgMCwgMCk7XG4gIHZhciBzdGFydE9mTmV4dFllYXIgPSBzdGFydE9mVVRDSVNPV2Vlayhmb3VydGhPZkphbnVhcnlPZk5leHRZZWFyKTtcbiAgdmFyIGZvdXJ0aE9mSmFudWFyeU9mVGhpc1llYXIgPSBuZXcgRGF0ZSgwKTtcbiAgZm91cnRoT2ZKYW51YXJ5T2ZUaGlzWWVhci5zZXRVVENGdWxsWWVhcih5ZWFyLCAwLCA0KTtcbiAgZm91cnRoT2ZKYW51YXJ5T2ZUaGlzWWVhci5zZXRVVENIb3VycygwLCAwLCAwLCAwKTtcbiAgdmFyIHN0YXJ0T2ZUaGlzWWVhciA9IHN0YXJ0T2ZVVENJU09XZWVrKGZvdXJ0aE9mSmFudWFyeU9mVGhpc1llYXIpO1xuXG4gIGlmIChkYXRlLmdldFRpbWUoKSA+PSBzdGFydE9mTmV4dFllYXIuZ2V0VGltZSgpKSB7XG4gICAgcmV0dXJuIHllYXIgKyAxO1xuICB9IGVsc2UgaWYgKGRhdGUuZ2V0VGltZSgpID49IHN0YXJ0T2ZUaGlzWWVhci5nZXRUaW1lKCkpIHtcbiAgICByZXR1cm4geWVhcjtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4geWVhciAtIDE7XG4gIH1cbn0iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/_lib/getUTCISOWeekYear/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/_lib/getUTCWeek/index.js": /*!************************************************************!*\ !*** ./node_modules/date-fns/esm/_lib/getUTCWeek/index.js ***! \************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return getUTCWeek; });\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n/* harmony import */ var _startOfUTCWeek_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../startOfUTCWeek/index.js */ \"./node_modules/date-fns/esm/_lib/startOfUTCWeek/index.js\");\n/* harmony import */ var _startOfUTCWeekYear_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../startOfUTCWeekYear/index.js */ \"./node_modules/date-fns/esm/_lib/startOfUTCWeekYear/index.js\");\n\n\n\nvar MILLISECONDS_IN_WEEK = 604800000; // This function will be a part of public API when UTC function will be implemented.\n// See issue: https://github.com/date-fns/date-fns/issues/376\n\nfunction getUTCWeek(dirtyDate, options) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n var date = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate);\n var diff = Object(_startOfUTCWeek_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(date, options).getTime() - Object(_startOfUTCWeekYear_index_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(date, options).getTime(); // Round the number of days to the nearest integer\n // because the number of milliseconds in a week is not constant\n // (e.g. it's different in the week of the daylight saving time clock shift)\n\n return Math.round(diff / MILLISECONDS_IN_WEEK) + 1;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL19saWIvZ2V0VVRDV2Vlay9pbmRleC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9kYXRlLWZucy9lc20vX2xpYi9nZXRVVENXZWVrL2luZGV4LmpzPzEyYmEiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHRvRGF0ZSBmcm9tICcuLi8uLi90b0RhdGUvaW5kZXguanMnO1xuaW1wb3J0IHN0YXJ0T2ZVVENXZWVrIGZyb20gJy4uL3N0YXJ0T2ZVVENXZWVrL2luZGV4LmpzJztcbmltcG9ydCBzdGFydE9mVVRDV2Vla1llYXIgZnJvbSAnLi4vc3RhcnRPZlVUQ1dlZWtZZWFyL2luZGV4LmpzJztcbnZhciBNSUxMSVNFQ09ORFNfSU5fV0VFSyA9IDYwNDgwMDAwMDsgLy8gVGhpcyBmdW5jdGlvbiB3aWxsIGJlIGEgcGFydCBvZiBwdWJsaWMgQVBJIHdoZW4gVVRDIGZ1bmN0aW9uIHdpbGwgYmUgaW1wbGVtZW50ZWQuXG4vLyBTZWUgaXNzdWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRlLWZucy9kYXRlLWZucy9pc3N1ZXMvMzc2XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGdldFVUQ1dlZWsoZGlydHlEYXRlLCBvcHRpb25zKSB7XG4gIGlmIChhcmd1bWVudHMubGVuZ3RoIDwgMSkge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJzEgYXJndW1lbnQgcmVxdWlyZWQsIGJ1dCBvbmx5ICcgKyBhcmd1bWVudHMubGVuZ3RoICsgJyBwcmVzZW50Jyk7XG4gIH1cblxuICB2YXIgZGF0ZSA9IHRvRGF0ZShkaXJ0eURhdGUpO1xuICB2YXIgZGlmZiA9IHN0YXJ0T2ZVVENXZWVrKGRhdGUsIG9wdGlvbnMpLmdldFRpbWUoKSAtIHN0YXJ0T2ZVVENXZWVrWWVhcihkYXRlLCBvcHRpb25zKS5nZXRUaW1lKCk7IC8vIFJvdW5kIHRoZSBudW1iZXIgb2YgZGF5cyB0byB0aGUgbmVhcmVzdCBpbnRlZ2VyXG4gIC8vIGJlY2F1c2UgdGhlIG51bWJlciBvZiBtaWxsaXNlY29uZHMgaW4gYSB3ZWVrIGlzIG5vdCBjb25zdGFudFxuICAvLyAoZS5nLiBpdCdzIGRpZmZlcmVudCBpbiB0aGUgd2VlayBvZiB0aGUgZGF5bGlnaHQgc2F2aW5nIHRpbWUgY2xvY2sgc2hpZnQpXG5cbiAgcmV0dXJuIE1hdGgucm91bmQoZGlmZiAvIE1JTExJU0VDT05EU19JTl9XRUVLKSArIDE7XG59Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/_lib/getUTCWeek/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/_lib/getUTCWeekYear/index.js": /*!****************************************************************!*\ !*** ./node_modules/date-fns/esm/_lib/getUTCWeekYear/index.js ***! \****************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return getUTCWeekYear; });\n/* harmony import */ var _toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../toInteger/index.js */ \"./node_modules/date-fns/esm/_lib/toInteger/index.js\");\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n/* harmony import */ var _startOfUTCWeek_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../startOfUTCWeek/index.js */ \"./node_modules/date-fns/esm/_lib/startOfUTCWeek/index.js\");\n\n\n // This function will be a part of public API when UTC function will be implemented.\n// See issue: https://github.com/date-fns/date-fns/issues/376\n\nfunction getUTCWeekYear(dirtyDate, dirtyOptions) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n var date = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(dirtyDate, dirtyOptions);\n var year = date.getUTCFullYear();\n var options = dirtyOptions || {};\n var locale = options.locale;\n var localeFirstWeekContainsDate = locale && locale.options && locale.options.firstWeekContainsDate;\n var defaultFirstWeekContainsDate = localeFirstWeekContainsDate == null ? 1 : Object(_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(localeFirstWeekContainsDate);\n var firstWeekContainsDate = options.firstWeekContainsDate == null ? defaultFirstWeekContainsDate : Object(_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(options.firstWeekContainsDate); // Test if weekStartsOn is between 1 and 7 _and_ is not NaN\n\n if (!(firstWeekContainsDate >= 1 && firstWeekContainsDate <= 7)) {\n throw new RangeError('firstWeekContainsDate must be between 1 and 7 inclusively');\n }\n\n var firstWeekOfNextYear = new Date(0);\n firstWeekOfNextYear.setUTCFullYear(year + 1, 0, firstWeekContainsDate);\n firstWeekOfNextYear.setUTCHours(0, 0, 0, 0);\n var startOfNextYear = Object(_startOfUTCWeek_index_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(firstWeekOfNextYear, dirtyOptions);\n var firstWeekOfThisYear = new Date(0);\n firstWeekOfThisYear.setUTCFullYear(year, 0, firstWeekContainsDate);\n firstWeekOfThisYear.setUTCHours(0, 0, 0, 0);\n var startOfThisYear = Object(_startOfUTCWeek_index_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(firstWeekOfThisYear, dirtyOptions);\n\n if (date.getTime() >= startOfNextYear.getTime()) {\n return year + 1;\n } else if (date.getTime() >= startOfThisYear.getTime()) {\n return year;\n } else {\n return year - 1;\n }\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL19saWIvZ2V0VVRDV2Vla1llYXIvaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL19saWIvZ2V0VVRDV2Vla1llYXIvaW5kZXguanM/NGIzYyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdG9JbnRlZ2VyIGZyb20gJy4uL3RvSW50ZWdlci9pbmRleC5qcyc7XG5pbXBvcnQgdG9EYXRlIGZyb20gJy4uLy4uL3RvRGF0ZS9pbmRleC5qcyc7XG5pbXBvcnQgc3RhcnRPZlVUQ1dlZWsgZnJvbSAnLi4vc3RhcnRPZlVUQ1dlZWsvaW5kZXguanMnOyAvLyBUaGlzIGZ1bmN0aW9uIHdpbGwgYmUgYSBwYXJ0IG9mIHB1YmxpYyBBUEkgd2hlbiBVVEMgZnVuY3Rpb24gd2lsbCBiZSBpbXBsZW1lbnRlZC5cbi8vIFNlZSBpc3N1ZTogaHR0cHM6Ly9naXRodWIuY29tL2RhdGUtZm5zL2RhdGUtZm5zL2lzc3Vlcy8zNzZcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZ2V0VVRDV2Vla1llYXIoZGlydHlEYXRlLCBkaXJ0eU9wdGlvbnMpIHtcbiAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPCAxKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignMSBhcmd1bWVudCByZXF1aXJlZCwgYnV0IG9ubHkgJyArIGFyZ3VtZW50cy5sZW5ndGggKyAnIHByZXNlbnQnKTtcbiAgfVxuXG4gIHZhciBkYXRlID0gdG9EYXRlKGRpcnR5RGF0ZSwgZGlydHlPcHRpb25zKTtcbiAgdmFyIHllYXIgPSBkYXRlLmdldFVUQ0Z1bGxZZWFyKCk7XG4gIHZhciBvcHRpb25zID0gZGlydHlPcHRpb25zIHx8IHt9O1xuICB2YXIgbG9jYWxlID0gb3B0aW9ucy5sb2NhbGU7XG4gIHZhciBsb2NhbGVGaXJzdFdlZWtDb250YWluc0RhdGUgPSBsb2NhbGUgJiYgbG9jYWxlLm9wdGlvbnMgJiYgbG9jYWxlLm9wdGlvbnMuZmlyc3RXZWVrQ29udGFpbnNEYXRlO1xuICB2YXIgZGVmYXVsdEZpcnN0V2Vla0NvbnRhaW5zRGF0ZSA9IGxvY2FsZUZpcnN0V2Vla0NvbnRhaW5zRGF0ZSA9PSBudWxsID8gMSA6IHRvSW50ZWdlcihsb2NhbGVGaXJzdFdlZWtDb250YWluc0RhdGUpO1xuICB2YXIgZmlyc3RXZWVrQ29udGFpbnNEYXRlID0gb3B0aW9ucy5maXJzdFdlZWtDb250YWluc0RhdGUgPT0gbnVsbCA/IGRlZmF1bHRGaXJzdFdlZWtDb250YWluc0RhdGUgOiB0b0ludGVnZXIob3B0aW9ucy5maXJzdFdlZWtDb250YWluc0RhdGUpOyAvLyBUZXN0IGlmIHdlZWtTdGFydHNPbiBpcyBiZXR3ZWVuIDEgYW5kIDcgX2FuZF8gaXMgbm90IE5hTlxuXG4gIGlmICghKGZpcnN0V2Vla0NvbnRhaW5zRGF0ZSA+PSAxICYmIGZpcnN0V2Vla0NvbnRhaW5zRGF0ZSA8PSA3KSkge1xuICAgIHRocm93IG5ldyBSYW5nZUVycm9yKCdmaXJzdFdlZWtDb250YWluc0RhdGUgbXVzdCBiZSBiZXR3ZWVuIDEgYW5kIDcgaW5jbHVzaXZlbHknKTtcbiAgfVxuXG4gIHZhciBmaXJzdFdlZWtPZk5leHRZZWFyID0gbmV3IERhdGUoMCk7XG4gIGZpcnN0V2Vla09mTmV4dFllYXIuc2V0VVRDRnVsbFllYXIoeWVhciArIDEsIDAsIGZpcnN0V2Vla0NvbnRhaW5zRGF0ZSk7XG4gIGZpcnN0V2Vla09mTmV4dFllYXIuc2V0VVRDSG91cnMoMCwgMCwgMCwgMCk7XG4gIHZhciBzdGFydE9mTmV4dFllYXIgPSBzdGFydE9mVVRDV2VlayhmaXJzdFdlZWtPZk5leHRZZWFyLCBkaXJ0eU9wdGlvbnMpO1xuICB2YXIgZmlyc3RXZWVrT2ZUaGlzWWVhciA9IG5ldyBEYXRlKDApO1xuICBmaXJzdFdlZWtPZlRoaXNZZWFyLnNldFVUQ0Z1bGxZZWFyKHllYXIsIDAsIGZpcnN0V2Vla0NvbnRhaW5zRGF0ZSk7XG4gIGZpcnN0V2Vla09mVGhpc1llYXIuc2V0VVRDSG91cnMoMCwgMCwgMCwgMCk7XG4gIHZhciBzdGFydE9mVGhpc1llYXIgPSBzdGFydE9mVVRDV2VlayhmaXJzdFdlZWtPZlRoaXNZZWFyLCBkaXJ0eU9wdGlvbnMpO1xuXG4gIGlmIChkYXRlLmdldFRpbWUoKSA+PSBzdGFydE9mTmV4dFllYXIuZ2V0VGltZSgpKSB7XG4gICAgcmV0dXJuIHllYXIgKyAxO1xuICB9IGVsc2UgaWYgKGRhdGUuZ2V0VGltZSgpID49IHN0YXJ0T2ZUaGlzWWVhci5nZXRUaW1lKCkpIHtcbiAgICByZXR1cm4geWVhcjtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4geWVhciAtIDE7XG4gIH1cbn0iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/_lib/getUTCWeekYear/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/_lib/protectedTokens/index.js": /*!*****************************************************************!*\ !*** ./node_modules/date-fns/esm/_lib/protectedTokens/index.js ***! \*****************************************************************/ /*! exports provided: isProtectedDayOfYearToken, isProtectedWeekYearToken, throwProtectedError */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isProtectedDayOfYearToken\", function() { return isProtectedDayOfYearToken; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isProtectedWeekYearToken\", function() { return isProtectedWeekYearToken; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"throwProtectedError\", function() { return throwProtectedError; });\nvar protectedDayOfYearTokens = ['D', 'DD'];\nvar protectedWeekYearTokens = ['YY', 'YYYY'];\nfunction isProtectedDayOfYearToken(token) {\n return protectedDayOfYearTokens.indexOf(token) !== -1;\n}\nfunction isProtectedWeekYearToken(token) {\n return protectedWeekYearTokens.indexOf(token) !== -1;\n}\nfunction throwProtectedError(token) {\n if (token === 'YYYY') {\n throw new RangeError('Use `yyyy` instead of `YYYY` for formatting years; see: https://git.io/fxCyr');\n } else if (token === 'YY') {\n throw new RangeError('Use `yy` instead of `YY` for formatting years; see: https://git.io/fxCyr');\n } else if (token === 'D') {\n throw new RangeError('Use `d` instead of `D` for formatting days of the month; see: https://git.io/fxCyr');\n } else if (token === 'DD') {\n throw new RangeError('Use `dd` instead of `DD` for formatting days of the month; see: https://git.io/fxCyr');\n }\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL19saWIvcHJvdGVjdGVkVG9rZW5zL2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2VzbS9fbGliL3Byb3RlY3RlZFRva2Vucy9pbmRleC5qcz9kZDExIl0sInNvdXJjZXNDb250ZW50IjpbInZhciBwcm90ZWN0ZWREYXlPZlllYXJUb2tlbnMgPSBbJ0QnLCAnREQnXTtcbnZhciBwcm90ZWN0ZWRXZWVrWWVhclRva2VucyA9IFsnWVknLCAnWVlZWSddO1xuZXhwb3J0IGZ1bmN0aW9uIGlzUHJvdGVjdGVkRGF5T2ZZZWFyVG9rZW4odG9rZW4pIHtcbiAgcmV0dXJuIHByb3RlY3RlZERheU9mWWVhclRva2Vucy5pbmRleE9mKHRva2VuKSAhPT0gLTE7XG59XG5leHBvcnQgZnVuY3Rpb24gaXNQcm90ZWN0ZWRXZWVrWWVhclRva2VuKHRva2VuKSB7XG4gIHJldHVybiBwcm90ZWN0ZWRXZWVrWWVhclRva2Vucy5pbmRleE9mKHRva2VuKSAhPT0gLTE7XG59XG5leHBvcnQgZnVuY3Rpb24gdGhyb3dQcm90ZWN0ZWRFcnJvcih0b2tlbikge1xuICBpZiAodG9rZW4gPT09ICdZWVlZJykge1xuICAgIHRocm93IG5ldyBSYW5nZUVycm9yKCdVc2UgYHl5eXlgIGluc3RlYWQgb2YgYFlZWVlgIGZvciBmb3JtYXR0aW5nIHllYXJzOyBzZWU6IGh0dHBzOi8vZ2l0LmlvL2Z4Q3lyJyk7XG4gIH0gZWxzZSBpZiAodG9rZW4gPT09ICdZWScpIHtcbiAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcignVXNlIGB5eWAgaW5zdGVhZCBvZiBgWVlgIGZvciBmb3JtYXR0aW5nIHllYXJzOyBzZWU6IGh0dHBzOi8vZ2l0LmlvL2Z4Q3lyJyk7XG4gIH0gZWxzZSBpZiAodG9rZW4gPT09ICdEJykge1xuICAgIHRocm93IG5ldyBSYW5nZUVycm9yKCdVc2UgYGRgIGluc3RlYWQgb2YgYERgIGZvciBmb3JtYXR0aW5nIGRheXMgb2YgdGhlIG1vbnRoOyBzZWU6IGh0dHBzOi8vZ2l0LmlvL2Z4Q3lyJyk7XG4gIH0gZWxzZSBpZiAodG9rZW4gPT09ICdERCcpIHtcbiAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcignVXNlIGBkZGAgaW5zdGVhZCBvZiBgRERgIGZvciBmb3JtYXR0aW5nIGRheXMgb2YgdGhlIG1vbnRoOyBzZWU6IGh0dHBzOi8vZ2l0LmlvL2Z4Q3lyJyk7XG4gIH1cbn0iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/_lib/protectedTokens/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/_lib/setUTCDay/index.js": /*!***********************************************************!*\ !*** ./node_modules/date-fns/esm/_lib/setUTCDay/index.js ***! \***********************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return setUTCDay; });\n/* harmony import */ var _toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../toInteger/index.js */ \"./node_modules/date-fns/esm/_lib/toInteger/index.js\");\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n\n // This function will be a part of public API when UTC function will be implemented.\n// See issue: https://github.com/date-fns/date-fns/issues/376\n\nfunction setUTCDay(dirtyDate, dirtyDay, dirtyOptions) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present');\n }\n\n var options = dirtyOptions || {};\n var locale = options.locale;\n var localeWeekStartsOn = locale && locale.options && locale.options.weekStartsOn;\n var defaultWeekStartsOn = localeWeekStartsOn == null ? 0 : Object(_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(localeWeekStartsOn);\n var weekStartsOn = options.weekStartsOn == null ? defaultWeekStartsOn : Object(_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(options.weekStartsOn); // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\n\n if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\n throw new RangeError('weekStartsOn must be between 0 and 6 inclusively');\n }\n\n var date = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(dirtyDate);\n var day = Object(_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDay);\n var currentDay = date.getUTCDay();\n var remainder = day % 7;\n var dayIndex = (remainder + 7) % 7;\n var diff = (dayIndex < weekStartsOn ? 7 : 0) + day - currentDay;\n date.setUTCDate(date.getUTCDate() + diff);\n return date;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL19saWIvc2V0VVRDRGF5L2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2VzbS9fbGliL3NldFVUQ0RheS9pbmRleC5qcz9mYTU5Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0b0ludGVnZXIgZnJvbSAnLi4vdG9JbnRlZ2VyL2luZGV4LmpzJztcbmltcG9ydCB0b0RhdGUgZnJvbSAnLi4vLi4vdG9EYXRlL2luZGV4LmpzJzsgLy8gVGhpcyBmdW5jdGlvbiB3aWxsIGJlIGEgcGFydCBvZiBwdWJsaWMgQVBJIHdoZW4gVVRDIGZ1bmN0aW9uIHdpbGwgYmUgaW1wbGVtZW50ZWQuXG4vLyBTZWUgaXNzdWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRlLWZucy9kYXRlLWZucy9pc3N1ZXMvMzc2XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHNldFVUQ0RheShkaXJ0eURhdGUsIGRpcnR5RGF5LCBkaXJ0eU9wdGlvbnMpIHtcbiAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPCAyKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignMiBhcmd1bWVudHMgcmVxdWlyZWQsIGJ1dCBvbmx5ICcgKyBhcmd1bWVudHMubGVuZ3RoICsgJyBwcmVzZW50Jyk7XG4gIH1cblxuICB2YXIgb3B0aW9ucyA9IGRpcnR5T3B0aW9ucyB8fCB7fTtcbiAgdmFyIGxvY2FsZSA9IG9wdGlvbnMubG9jYWxlO1xuICB2YXIgbG9jYWxlV2Vla1N0YXJ0c09uID0gbG9jYWxlICYmIGxvY2FsZS5vcHRpb25zICYmIGxvY2FsZS5vcHRpb25zLndlZWtTdGFydHNPbjtcbiAgdmFyIGRlZmF1bHRXZWVrU3RhcnRzT24gPSBsb2NhbGVXZWVrU3RhcnRzT24gPT0gbnVsbCA/IDAgOiB0b0ludGVnZXIobG9jYWxlV2Vla1N0YXJ0c09uKTtcbiAgdmFyIHdlZWtTdGFydHNPbiA9IG9wdGlvbnMud2Vla1N0YXJ0c09uID09IG51bGwgPyBkZWZhdWx0V2Vla1N0YXJ0c09uIDogdG9JbnRlZ2VyKG9wdGlvbnMud2Vla1N0YXJ0c09uKTsgLy8gVGVzdCBpZiB3ZWVrU3RhcnRzT24gaXMgYmV0d2VlbiAwIGFuZCA2IF9hbmRfIGlzIG5vdCBOYU5cblxuICBpZiAoISh3ZWVrU3RhcnRzT24gPj0gMCAmJiB3ZWVrU3RhcnRzT24gPD0gNikpIHtcbiAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcignd2Vla1N0YXJ0c09uIG11c3QgYmUgYmV0d2VlbiAwIGFuZCA2IGluY2x1c2l2ZWx5Jyk7XG4gIH1cblxuICB2YXIgZGF0ZSA9IHRvRGF0ZShkaXJ0eURhdGUpO1xuICB2YXIgZGF5ID0gdG9JbnRlZ2VyKGRpcnR5RGF5KTtcbiAgdmFyIGN1cnJlbnREYXkgPSBkYXRlLmdldFVUQ0RheSgpO1xuICB2YXIgcmVtYWluZGVyID0gZGF5ICUgNztcbiAgdmFyIGRheUluZGV4ID0gKHJlbWFpbmRlciArIDcpICUgNztcbiAgdmFyIGRpZmYgPSAoZGF5SW5kZXggPCB3ZWVrU3RhcnRzT24gPyA3IDogMCkgKyBkYXkgLSBjdXJyZW50RGF5O1xuICBkYXRlLnNldFVUQ0RhdGUoZGF0ZS5nZXRVVENEYXRlKCkgKyBkaWZmKTtcbiAgcmV0dXJuIGRhdGU7XG59Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/_lib/setUTCDay/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/_lib/setUTCISODay/index.js": /*!**************************************************************!*\ !*** ./node_modules/date-fns/esm/_lib/setUTCISODay/index.js ***! \**************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return setUTCISODay; });\n/* harmony import */ var _toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../toInteger/index.js */ \"./node_modules/date-fns/esm/_lib/toInteger/index.js\");\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n\n // This function will be a part of public API when UTC function will be implemented.\n// See issue: https://github.com/date-fns/date-fns/issues/376\n\nfunction setUTCISODay(dirtyDate, dirtyDay) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present');\n }\n\n var day = Object(_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDay);\n\n if (day % 7 === 0) {\n day = day - 7;\n }\n\n var weekStartsOn = 1;\n var date = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(dirtyDate);\n var currentDay = date.getUTCDay();\n var remainder = day % 7;\n var dayIndex = (remainder + 7) % 7;\n var diff = (dayIndex < weekStartsOn ? 7 : 0) + day - currentDay;\n date.setUTCDate(date.getUTCDate() + diff);\n return date;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL19saWIvc2V0VVRDSVNPRGF5L2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2VzbS9fbGliL3NldFVUQ0lTT0RheS9pbmRleC5qcz9jZDY4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0b0ludGVnZXIgZnJvbSAnLi4vdG9JbnRlZ2VyL2luZGV4LmpzJztcbmltcG9ydCB0b0RhdGUgZnJvbSAnLi4vLi4vdG9EYXRlL2luZGV4LmpzJzsgLy8gVGhpcyBmdW5jdGlvbiB3aWxsIGJlIGEgcGFydCBvZiBwdWJsaWMgQVBJIHdoZW4gVVRDIGZ1bmN0aW9uIHdpbGwgYmUgaW1wbGVtZW50ZWQuXG4vLyBTZWUgaXNzdWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRlLWZucy9kYXRlLWZucy9pc3N1ZXMvMzc2XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHNldFVUQ0lTT0RheShkaXJ0eURhdGUsIGRpcnR5RGF5KSB7XG4gIGlmIChhcmd1bWVudHMubGVuZ3RoIDwgMikge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJzIgYXJndW1lbnRzIHJlcXVpcmVkLCBidXQgb25seSAnICsgYXJndW1lbnRzLmxlbmd0aCArICcgcHJlc2VudCcpO1xuICB9XG5cbiAgdmFyIGRheSA9IHRvSW50ZWdlcihkaXJ0eURheSk7XG5cbiAgaWYgKGRheSAlIDcgPT09IDApIHtcbiAgICBkYXkgPSBkYXkgLSA3O1xuICB9XG5cbiAgdmFyIHdlZWtTdGFydHNPbiA9IDE7XG4gIHZhciBkYXRlID0gdG9EYXRlKGRpcnR5RGF0ZSk7XG4gIHZhciBjdXJyZW50RGF5ID0gZGF0ZS5nZXRVVENEYXkoKTtcbiAgdmFyIHJlbWFpbmRlciA9IGRheSAlIDc7XG4gIHZhciBkYXlJbmRleCA9IChyZW1haW5kZXIgKyA3KSAlIDc7XG4gIHZhciBkaWZmID0gKGRheUluZGV4IDwgd2Vla1N0YXJ0c09uID8gNyA6IDApICsgZGF5IC0gY3VycmVudERheTtcbiAgZGF0ZS5zZXRVVENEYXRlKGRhdGUuZ2V0VVRDRGF0ZSgpICsgZGlmZik7XG4gIHJldHVybiBkYXRlO1xufSJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/_lib/setUTCISODay/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/_lib/setUTCISOWeek/index.js": /*!***************************************************************!*\ !*** ./node_modules/date-fns/esm/_lib/setUTCISOWeek/index.js ***! \***************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return setUTCISOWeek; });\n/* harmony import */ var _toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../toInteger/index.js */ \"./node_modules/date-fns/esm/_lib/toInteger/index.js\");\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n/* harmony import */ var _getUTCISOWeek_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../getUTCISOWeek/index.js */ \"./node_modules/date-fns/esm/_lib/getUTCISOWeek/index.js\");\n\n\n // This function will be a part of public API when UTC function will be implemented.\n// See issue: https://github.com/date-fns/date-fns/issues/376\n\nfunction setUTCISOWeek(dirtyDate, dirtyISOWeek) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present');\n }\n\n var date = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(dirtyDate);\n var isoWeek = Object(_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyISOWeek);\n var diff = Object(_getUTCISOWeek_index_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(date) - isoWeek;\n date.setUTCDate(date.getUTCDate() - diff * 7);\n return date;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL19saWIvc2V0VVRDSVNPV2Vlay9pbmRleC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9kYXRlLWZucy9lc20vX2xpYi9zZXRVVENJU09XZWVrL2luZGV4LmpzP2E1MWUiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHRvSW50ZWdlciBmcm9tICcuLi90b0ludGVnZXIvaW5kZXguanMnO1xuaW1wb3J0IHRvRGF0ZSBmcm9tICcuLi8uLi90b0RhdGUvaW5kZXguanMnO1xuaW1wb3J0IGdldFVUQ0lTT1dlZWsgZnJvbSAnLi4vZ2V0VVRDSVNPV2Vlay9pbmRleC5qcyc7IC8vIFRoaXMgZnVuY3Rpb24gd2lsbCBiZSBhIHBhcnQgb2YgcHVibGljIEFQSSB3aGVuIFVUQyBmdW5jdGlvbiB3aWxsIGJlIGltcGxlbWVudGVkLlxuLy8gU2VlIGlzc3VlOiBodHRwczovL2dpdGh1Yi5jb20vZGF0ZS1mbnMvZGF0ZS1mbnMvaXNzdWVzLzM3NlxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBzZXRVVENJU09XZWVrKGRpcnR5RGF0ZSwgZGlydHlJU09XZWVrKSB7XG4gIGlmIChhcmd1bWVudHMubGVuZ3RoIDwgMikge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJzIgYXJndW1lbnRzIHJlcXVpcmVkLCBidXQgb25seSAnICsgYXJndW1lbnRzLmxlbmd0aCArICcgcHJlc2VudCcpO1xuICB9XG5cbiAgdmFyIGRhdGUgPSB0b0RhdGUoZGlydHlEYXRlKTtcbiAgdmFyIGlzb1dlZWsgPSB0b0ludGVnZXIoZGlydHlJU09XZWVrKTtcbiAgdmFyIGRpZmYgPSBnZXRVVENJU09XZWVrKGRhdGUpIC0gaXNvV2VlaztcbiAgZGF0ZS5zZXRVVENEYXRlKGRhdGUuZ2V0VVRDRGF0ZSgpIC0gZGlmZiAqIDcpO1xuICByZXR1cm4gZGF0ZTtcbn0iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/_lib/setUTCISOWeek/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/_lib/setUTCWeek/index.js": /*!************************************************************!*\ !*** ./node_modules/date-fns/esm/_lib/setUTCWeek/index.js ***! \************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return setUTCWeek; });\n/* harmony import */ var _toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../toInteger/index.js */ \"./node_modules/date-fns/esm/_lib/toInteger/index.js\");\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n/* harmony import */ var _getUTCWeek_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../getUTCWeek/index.js */ \"./node_modules/date-fns/esm/_lib/getUTCWeek/index.js\");\n\n\n // This function will be a part of public API when UTC function will be implemented.\n// See issue: https://github.com/date-fns/date-fns/issues/376\n\nfunction setUTCWeek(dirtyDate, dirtyWeek, options) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present');\n }\n\n var date = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(dirtyDate);\n var week = Object(_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyWeek);\n var diff = Object(_getUTCWeek_index_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(date, options) - week;\n date.setUTCDate(date.getUTCDate() - diff * 7);\n return date;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL19saWIvc2V0VVRDV2Vlay9pbmRleC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9kYXRlLWZucy9lc20vX2xpYi9zZXRVVENXZWVrL2luZGV4LmpzP2M2MjMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHRvSW50ZWdlciBmcm9tICcuLi90b0ludGVnZXIvaW5kZXguanMnO1xuaW1wb3J0IHRvRGF0ZSBmcm9tICcuLi8uLi90b0RhdGUvaW5kZXguanMnO1xuaW1wb3J0IGdldFVUQ1dlZWsgZnJvbSAnLi4vZ2V0VVRDV2Vlay9pbmRleC5qcyc7IC8vIFRoaXMgZnVuY3Rpb24gd2lsbCBiZSBhIHBhcnQgb2YgcHVibGljIEFQSSB3aGVuIFVUQyBmdW5jdGlvbiB3aWxsIGJlIGltcGxlbWVudGVkLlxuLy8gU2VlIGlzc3VlOiBodHRwczovL2dpdGh1Yi5jb20vZGF0ZS1mbnMvZGF0ZS1mbnMvaXNzdWVzLzM3NlxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBzZXRVVENXZWVrKGRpcnR5RGF0ZSwgZGlydHlXZWVrLCBvcHRpb25zKSB7XG4gIGlmIChhcmd1bWVudHMubGVuZ3RoIDwgMikge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJzIgYXJndW1lbnRzIHJlcXVpcmVkLCBidXQgb25seSAnICsgYXJndW1lbnRzLmxlbmd0aCArICcgcHJlc2VudCcpO1xuICB9XG5cbiAgdmFyIGRhdGUgPSB0b0RhdGUoZGlydHlEYXRlKTtcbiAgdmFyIHdlZWsgPSB0b0ludGVnZXIoZGlydHlXZWVrKTtcbiAgdmFyIGRpZmYgPSBnZXRVVENXZWVrKGRhdGUsIG9wdGlvbnMpIC0gd2VlaztcbiAgZGF0ZS5zZXRVVENEYXRlKGRhdGUuZ2V0VVRDRGF0ZSgpIC0gZGlmZiAqIDcpO1xuICByZXR1cm4gZGF0ZTtcbn0iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/_lib/setUTCWeek/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/_lib/startOfUTCISOWeek/index.js": /*!*******************************************************************!*\ !*** ./node_modules/date-fns/esm/_lib/startOfUTCISOWeek/index.js ***! \*******************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return startOfUTCISOWeek; });\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n // This function will be a part of public API when UTC function will be implemented.\n// See issue: https://github.com/date-fns/date-fns/issues/376\n\nfunction startOfUTCISOWeek(dirtyDate) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n var weekStartsOn = 1;\n var date = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate);\n var day = date.getUTCDay();\n var diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;\n date.setUTCDate(date.getUTCDate() - diff);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL19saWIvc3RhcnRPZlVUQ0lTT1dlZWsvaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL19saWIvc3RhcnRPZlVUQ0lTT1dlZWsvaW5kZXguanM/YjY5YiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdG9EYXRlIGZyb20gJy4uLy4uL3RvRGF0ZS9pbmRleC5qcyc7IC8vIFRoaXMgZnVuY3Rpb24gd2lsbCBiZSBhIHBhcnQgb2YgcHVibGljIEFQSSB3aGVuIFVUQyBmdW5jdGlvbiB3aWxsIGJlIGltcGxlbWVudGVkLlxuLy8gU2VlIGlzc3VlOiBodHRwczovL2dpdGh1Yi5jb20vZGF0ZS1mbnMvZGF0ZS1mbnMvaXNzdWVzLzM3NlxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBzdGFydE9mVVRDSVNPV2VlayhkaXJ0eURhdGUpIHtcbiAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPCAxKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignMSBhcmd1bWVudCByZXF1aXJlZCwgYnV0IG9ubHkgJyArIGFyZ3VtZW50cy5sZW5ndGggKyAnIHByZXNlbnQnKTtcbiAgfVxuXG4gIHZhciB3ZWVrU3RhcnRzT24gPSAxO1xuICB2YXIgZGF0ZSA9IHRvRGF0ZShkaXJ0eURhdGUpO1xuICB2YXIgZGF5ID0gZGF0ZS5nZXRVVENEYXkoKTtcbiAgdmFyIGRpZmYgPSAoZGF5IDwgd2Vla1N0YXJ0c09uID8gNyA6IDApICsgZGF5IC0gd2Vla1N0YXJ0c09uO1xuICBkYXRlLnNldFVUQ0RhdGUoZGF0ZS5nZXRVVENEYXRlKCkgLSBkaWZmKTtcbiAgZGF0ZS5zZXRVVENIb3VycygwLCAwLCAwLCAwKTtcbiAgcmV0dXJuIGRhdGU7XG59Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/_lib/startOfUTCISOWeek/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/_lib/startOfUTCISOWeekYear/index.js": /*!***********************************************************************!*\ !*** ./node_modules/date-fns/esm/_lib/startOfUTCISOWeekYear/index.js ***! \***********************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return startOfUTCISOWeekYear; });\n/* harmony import */ var _getUTCISOWeekYear_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../getUTCISOWeekYear/index.js */ \"./node_modules/date-fns/esm/_lib/getUTCISOWeekYear/index.js\");\n/* harmony import */ var _startOfUTCISOWeek_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../startOfUTCISOWeek/index.js */ \"./node_modules/date-fns/esm/_lib/startOfUTCISOWeek/index.js\");\n\n // This function will be a part of public API when UTC function will be implemented.\n// See issue: https://github.com/date-fns/date-fns/issues/376\n\nfunction startOfUTCISOWeekYear(dirtyDate) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n var year = Object(_getUTCISOWeekYear_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate);\n var fourthOfJanuary = new Date(0);\n fourthOfJanuary.setUTCFullYear(year, 0, 4);\n fourthOfJanuary.setUTCHours(0, 0, 0, 0);\n var date = Object(_startOfUTCISOWeek_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(fourthOfJanuary);\n return date;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL19saWIvc3RhcnRPZlVUQ0lTT1dlZWtZZWFyL2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2VzbS9fbGliL3N0YXJ0T2ZVVENJU09XZWVrWWVhci9pbmRleC5qcz80N2NmIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBnZXRVVENJU09XZWVrWWVhciBmcm9tICcuLi9nZXRVVENJU09XZWVrWWVhci9pbmRleC5qcyc7XG5pbXBvcnQgc3RhcnRPZlVUQ0lTT1dlZWsgZnJvbSAnLi4vc3RhcnRPZlVUQ0lTT1dlZWsvaW5kZXguanMnOyAvLyBUaGlzIGZ1bmN0aW9uIHdpbGwgYmUgYSBwYXJ0IG9mIHB1YmxpYyBBUEkgd2hlbiBVVEMgZnVuY3Rpb24gd2lsbCBiZSBpbXBsZW1lbnRlZC5cbi8vIFNlZSBpc3N1ZTogaHR0cHM6Ly9naXRodWIuY29tL2RhdGUtZm5zL2RhdGUtZm5zL2lzc3Vlcy8zNzZcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gc3RhcnRPZlVUQ0lTT1dlZWtZZWFyKGRpcnR5RGF0ZSkge1xuICBpZiAoYXJndW1lbnRzLmxlbmd0aCA8IDEpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCcxIGFyZ3VtZW50IHJlcXVpcmVkLCBidXQgb25seSAnICsgYXJndW1lbnRzLmxlbmd0aCArICcgcHJlc2VudCcpO1xuICB9XG5cbiAgdmFyIHllYXIgPSBnZXRVVENJU09XZWVrWWVhcihkaXJ0eURhdGUpO1xuICB2YXIgZm91cnRoT2ZKYW51YXJ5ID0gbmV3IERhdGUoMCk7XG4gIGZvdXJ0aE9mSmFudWFyeS5zZXRVVENGdWxsWWVhcih5ZWFyLCAwLCA0KTtcbiAgZm91cnRoT2ZKYW51YXJ5LnNldFVUQ0hvdXJzKDAsIDAsIDAsIDApO1xuICB2YXIgZGF0ZSA9IHN0YXJ0T2ZVVENJU09XZWVrKGZvdXJ0aE9mSmFudWFyeSk7XG4gIHJldHVybiBkYXRlO1xufSJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/_lib/startOfUTCISOWeekYear/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/_lib/startOfUTCWeek/index.js": /*!****************************************************************!*\ !*** ./node_modules/date-fns/esm/_lib/startOfUTCWeek/index.js ***! \****************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return startOfUTCWeek; });\n/* harmony import */ var _toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../toInteger/index.js */ \"./node_modules/date-fns/esm/_lib/toInteger/index.js\");\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n\n // This function will be a part of public API when UTC function will be implemented.\n// See issue: https://github.com/date-fns/date-fns/issues/376\n\nfunction startOfUTCWeek(dirtyDate, dirtyOptions) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n var options = dirtyOptions || {};\n var locale = options.locale;\n var localeWeekStartsOn = locale && locale.options && locale.options.weekStartsOn;\n var defaultWeekStartsOn = localeWeekStartsOn == null ? 0 : Object(_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(localeWeekStartsOn);\n var weekStartsOn = options.weekStartsOn == null ? defaultWeekStartsOn : Object(_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(options.weekStartsOn); // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\n\n if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\n throw new RangeError('weekStartsOn must be between 0 and 6 inclusively');\n }\n\n var date = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(dirtyDate);\n var day = date.getUTCDay();\n var diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;\n date.setUTCDate(date.getUTCDate() - diff);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL19saWIvc3RhcnRPZlVUQ1dlZWsvaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL19saWIvc3RhcnRPZlVUQ1dlZWsvaW5kZXguanM/ZDZmOCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdG9JbnRlZ2VyIGZyb20gJy4uL3RvSW50ZWdlci9pbmRleC5qcyc7XG5pbXBvcnQgdG9EYXRlIGZyb20gJy4uLy4uL3RvRGF0ZS9pbmRleC5qcyc7IC8vIFRoaXMgZnVuY3Rpb24gd2lsbCBiZSBhIHBhcnQgb2YgcHVibGljIEFQSSB3aGVuIFVUQyBmdW5jdGlvbiB3aWxsIGJlIGltcGxlbWVudGVkLlxuLy8gU2VlIGlzc3VlOiBodHRwczovL2dpdGh1Yi5jb20vZGF0ZS1mbnMvZGF0ZS1mbnMvaXNzdWVzLzM3NlxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBzdGFydE9mVVRDV2VlayhkaXJ0eURhdGUsIGRpcnR5T3B0aW9ucykge1xuICBpZiAoYXJndW1lbnRzLmxlbmd0aCA8IDEpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCcxIGFyZ3VtZW50IHJlcXVpcmVkLCBidXQgb25seSAnICsgYXJndW1lbnRzLmxlbmd0aCArICcgcHJlc2VudCcpO1xuICB9XG5cbiAgdmFyIG9wdGlvbnMgPSBkaXJ0eU9wdGlvbnMgfHwge307XG4gIHZhciBsb2NhbGUgPSBvcHRpb25zLmxvY2FsZTtcbiAgdmFyIGxvY2FsZVdlZWtTdGFydHNPbiA9IGxvY2FsZSAmJiBsb2NhbGUub3B0aW9ucyAmJiBsb2NhbGUub3B0aW9ucy53ZWVrU3RhcnRzT247XG4gIHZhciBkZWZhdWx0V2Vla1N0YXJ0c09uID0gbG9jYWxlV2Vla1N0YXJ0c09uID09IG51bGwgPyAwIDogdG9JbnRlZ2VyKGxvY2FsZVdlZWtTdGFydHNPbik7XG4gIHZhciB3ZWVrU3RhcnRzT24gPSBvcHRpb25zLndlZWtTdGFydHNPbiA9PSBudWxsID8gZGVmYXVsdFdlZWtTdGFydHNPbiA6IHRvSW50ZWdlcihvcHRpb25zLndlZWtTdGFydHNPbik7IC8vIFRlc3QgaWYgd2Vla1N0YXJ0c09uIGlzIGJldHdlZW4gMCBhbmQgNiBfYW5kXyBpcyBub3QgTmFOXG5cbiAgaWYgKCEod2Vla1N0YXJ0c09uID49IDAgJiYgd2Vla1N0YXJ0c09uIDw9IDYpKSB7XG4gICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ3dlZWtTdGFydHNPbiBtdXN0IGJlIGJldHdlZW4gMCBhbmQgNiBpbmNsdXNpdmVseScpO1xuICB9XG5cbiAgdmFyIGRhdGUgPSB0b0RhdGUoZGlydHlEYXRlKTtcbiAgdmFyIGRheSA9IGRhdGUuZ2V0VVRDRGF5KCk7XG4gIHZhciBkaWZmID0gKGRheSA8IHdlZWtTdGFydHNPbiA/IDcgOiAwKSArIGRheSAtIHdlZWtTdGFydHNPbjtcbiAgZGF0ZS5zZXRVVENEYXRlKGRhdGUuZ2V0VVRDRGF0ZSgpIC0gZGlmZik7XG4gIGRhdGUuc2V0VVRDSG91cnMoMCwgMCwgMCwgMCk7XG4gIHJldHVybiBkYXRlO1xufSJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/_lib/startOfUTCWeek/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/_lib/startOfUTCWeekYear/index.js": /*!********************************************************************!*\ !*** ./node_modules/date-fns/esm/_lib/startOfUTCWeekYear/index.js ***! \********************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return startOfUTCWeekYear; });\n/* harmony import */ var _toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../toInteger/index.js */ \"./node_modules/date-fns/esm/_lib/toInteger/index.js\");\n/* harmony import */ var _getUTCWeekYear_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../getUTCWeekYear/index.js */ \"./node_modules/date-fns/esm/_lib/getUTCWeekYear/index.js\");\n/* harmony import */ var _startOfUTCWeek_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../startOfUTCWeek/index.js */ \"./node_modules/date-fns/esm/_lib/startOfUTCWeek/index.js\");\n\n\n // This function will be a part of public API when UTC function will be implemented.\n// See issue: https://github.com/date-fns/date-fns/issues/376\n\nfunction startOfUTCWeekYear(dirtyDate, dirtyOptions) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n var options = dirtyOptions || {};\n var locale = options.locale;\n var localeFirstWeekContainsDate = locale && locale.options && locale.options.firstWeekContainsDate;\n var defaultFirstWeekContainsDate = localeFirstWeekContainsDate == null ? 1 : Object(_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(localeFirstWeekContainsDate);\n var firstWeekContainsDate = options.firstWeekContainsDate == null ? defaultFirstWeekContainsDate : Object(_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(options.firstWeekContainsDate);\n var year = Object(_getUTCWeekYear_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(dirtyDate, dirtyOptions);\n var firstWeek = new Date(0);\n firstWeek.setUTCFullYear(year, 0, firstWeekContainsDate);\n firstWeek.setUTCHours(0, 0, 0, 0);\n var date = Object(_startOfUTCWeek_index_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(firstWeek, dirtyOptions);\n return date;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL19saWIvc3RhcnRPZlVUQ1dlZWtZZWFyL2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2VzbS9fbGliL3N0YXJ0T2ZVVENXZWVrWWVhci9pbmRleC5qcz9hMDAwIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0b0ludGVnZXIgZnJvbSAnLi4vdG9JbnRlZ2VyL2luZGV4LmpzJztcbmltcG9ydCBnZXRVVENXZWVrWWVhciBmcm9tICcuLi9nZXRVVENXZWVrWWVhci9pbmRleC5qcyc7XG5pbXBvcnQgc3RhcnRPZlVUQ1dlZWsgZnJvbSAnLi4vc3RhcnRPZlVUQ1dlZWsvaW5kZXguanMnOyAvLyBUaGlzIGZ1bmN0aW9uIHdpbGwgYmUgYSBwYXJ0IG9mIHB1YmxpYyBBUEkgd2hlbiBVVEMgZnVuY3Rpb24gd2lsbCBiZSBpbXBsZW1lbnRlZC5cbi8vIFNlZSBpc3N1ZTogaHR0cHM6Ly9naXRodWIuY29tL2RhdGUtZm5zL2RhdGUtZm5zL2lzc3Vlcy8zNzZcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gc3RhcnRPZlVUQ1dlZWtZZWFyKGRpcnR5RGF0ZSwgZGlydHlPcHRpb25zKSB7XG4gIGlmIChhcmd1bWVudHMubGVuZ3RoIDwgMSkge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJzEgYXJndW1lbnQgcmVxdWlyZWQsIGJ1dCBvbmx5ICcgKyBhcmd1bWVudHMubGVuZ3RoICsgJyBwcmVzZW50Jyk7XG4gIH1cblxuICB2YXIgb3B0aW9ucyA9IGRpcnR5T3B0aW9ucyB8fCB7fTtcbiAgdmFyIGxvY2FsZSA9IG9wdGlvbnMubG9jYWxlO1xuICB2YXIgbG9jYWxlRmlyc3RXZWVrQ29udGFpbnNEYXRlID0gbG9jYWxlICYmIGxvY2FsZS5vcHRpb25zICYmIGxvY2FsZS5vcHRpb25zLmZpcnN0V2Vla0NvbnRhaW5zRGF0ZTtcbiAgdmFyIGRlZmF1bHRGaXJzdFdlZWtDb250YWluc0RhdGUgPSBsb2NhbGVGaXJzdFdlZWtDb250YWluc0RhdGUgPT0gbnVsbCA/IDEgOiB0b0ludGVnZXIobG9jYWxlRmlyc3RXZWVrQ29udGFpbnNEYXRlKTtcbiAgdmFyIGZpcnN0V2Vla0NvbnRhaW5zRGF0ZSA9IG9wdGlvbnMuZmlyc3RXZWVrQ29udGFpbnNEYXRlID09IG51bGwgPyBkZWZhdWx0Rmlyc3RXZWVrQ29udGFpbnNEYXRlIDogdG9JbnRlZ2VyKG9wdGlvbnMuZmlyc3RXZWVrQ29udGFpbnNEYXRlKTtcbiAgdmFyIHllYXIgPSBnZXRVVENXZWVrWWVhcihkaXJ0eURhdGUsIGRpcnR5T3B0aW9ucyk7XG4gIHZhciBmaXJzdFdlZWsgPSBuZXcgRGF0ZSgwKTtcbiAgZmlyc3RXZWVrLnNldFVUQ0Z1bGxZZWFyKHllYXIsIDAsIGZpcnN0V2Vla0NvbnRhaW5zRGF0ZSk7XG4gIGZpcnN0V2Vlay5zZXRVVENIb3VycygwLCAwLCAwLCAwKTtcbiAgdmFyIGRhdGUgPSBzdGFydE9mVVRDV2VlayhmaXJzdFdlZWssIGRpcnR5T3B0aW9ucyk7XG4gIHJldHVybiBkYXRlO1xufSJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/_lib/startOfUTCWeekYear/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/_lib/toInteger/index.js": /*!***********************************************************!*\ !*** ./node_modules/date-fns/esm/_lib/toInteger/index.js ***! \***********************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return toInteger; });\nfunction toInteger(dirtyNumber) {\n if (dirtyNumber === null || dirtyNumber === true || dirtyNumber === false) {\n return NaN;\n }\n\n var number = Number(dirtyNumber);\n\n if (isNaN(number)) {\n return number;\n }\n\n return number < 0 ? Math.ceil(number) : Math.floor(number);\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL19saWIvdG9JbnRlZ2VyL2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2VzbS9fbGliL3RvSW50ZWdlci9pbmRleC5qcz9mZTFmIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHRvSW50ZWdlcihkaXJ0eU51bWJlcikge1xuICBpZiAoZGlydHlOdW1iZXIgPT09IG51bGwgfHwgZGlydHlOdW1iZXIgPT09IHRydWUgfHwgZGlydHlOdW1iZXIgPT09IGZhbHNlKSB7XG4gICAgcmV0dXJuIE5hTjtcbiAgfVxuXG4gIHZhciBudW1iZXIgPSBOdW1iZXIoZGlydHlOdW1iZXIpO1xuXG4gIGlmIChpc05hTihudW1iZXIpKSB7XG4gICAgcmV0dXJuIG51bWJlcjtcbiAgfVxuXG4gIHJldHVybiBudW1iZXIgPCAwID8gTWF0aC5jZWlsKG51bWJlcikgOiBNYXRoLmZsb29yKG51bWJlcik7XG59Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/_lib/toInteger/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/addBusinessDays/index.js": /*!************************************************************!*\ !*** ./node_modules/date-fns/esm/addBusinessDays/index.js ***! \************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return addBusinessDays; });\n/* harmony import */ var _isWeekend_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../isWeekend/index.js */ \"./node_modules/date-fns/esm/isWeekend/index.js\");\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n/* harmony import */ var _lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../_lib/toInteger/index.js */ \"./node_modules/date-fns/esm/_lib/toInteger/index.js\");\n\n\n\n/**\n * @name addBusinessDays\n * @category Day Helpers\n * @summary Add the specified number of business days (mon - fri) to the given date.\n *\n * @description\n * Add the specified number of business days (mon - fri) to the given date, ignoring weekends.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of business days to be added\n * @returns {Date} the new date with the business days added\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Add 10 business days to 1 September 2014:\n * var result = addBusinessDays(new Date(2014, 8, 1), 10)\n * //=> Mon Sep 15 2014 00:00:00 (skipped weekend days)\n */\n\nfunction addBusinessDays(dirtyDate, dirtyAmount) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present');\n }\n\n var date = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(dirtyDate);\n var amount = Object(_lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(dirtyAmount);\n if (isNaN(amount)) return new Date(NaN);\n var hours = date.getHours();\n var sign = amount < 0 ? -1 : 1;\n date.setDate(date.getDate() + Object(_lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(amount / 5) * 7);\n amount %= 5; // to get remaining days not part of a full week\n // only loops over remaining days or if day is a weekend, ensures a business day is returned\n\n while (amount || Object(_isWeekend_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(date)) {\n date.setDate(date.getDate() + sign);\n if (!Object(_isWeekend_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(date)) amount -= sign;\n }\n\n date.setHours(hours);\n return date;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2FkZEJ1c2luZXNzRGF5cy9pbmRleC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9kYXRlLWZucy9lc20vYWRkQnVzaW5lc3NEYXlzL2luZGV4LmpzP2YzNzQiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGlzV2Vla2VuZCBmcm9tICcuLi9pc1dlZWtlbmQvaW5kZXguanMnO1xuaW1wb3J0IHRvRGF0ZSBmcm9tICcuLi90b0RhdGUvaW5kZXguanMnO1xuaW1wb3J0IHRvSW50ZWdlciBmcm9tICcuLi9fbGliL3RvSW50ZWdlci9pbmRleC5qcyc7XG4vKipcbiAqIEBuYW1lIGFkZEJ1c2luZXNzRGF5c1xuICogQGNhdGVnb3J5IERheSBIZWxwZXJzXG4gKiBAc3VtbWFyeSBBZGQgdGhlIHNwZWNpZmllZCBudW1iZXIgb2YgYnVzaW5lc3MgZGF5cyAobW9uIC0gZnJpKSB0byB0aGUgZ2l2ZW4gZGF0ZS5cbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIEFkZCB0aGUgc3BlY2lmaWVkIG51bWJlciBvZiBidXNpbmVzcyBkYXlzIChtb24gLSBmcmkpIHRvIHRoZSBnaXZlbiBkYXRlLCBpZ25vcmluZyB3ZWVrZW5kcy5cbiAqXG4gKiBAcGFyYW0ge0RhdGV8TnVtYmVyfSBkYXRlIC0gdGhlIGRhdGUgdG8gYmUgY2hhbmdlZFxuICogQHBhcmFtIHtOdW1iZXJ9IGFtb3VudCAtIHRoZSBhbW91bnQgb2YgYnVzaW5lc3MgZGF5cyB0byBiZSBhZGRlZFxuICogQHJldHVybnMge0RhdGV9IHRoZSBuZXcgZGF0ZSB3aXRoIHRoZSBidXNpbmVzcyBkYXlzIGFkZGVkXG4gKiBAdGhyb3dzIHtUeXBlRXJyb3J9IDIgYXJndW1lbnRzIHJlcXVpcmVkXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIEFkZCAxMCBidXNpbmVzcyBkYXlzIHRvIDEgU2VwdGVtYmVyIDIwMTQ6XG4gKiB2YXIgcmVzdWx0ID0gYWRkQnVzaW5lc3NEYXlzKG5ldyBEYXRlKDIwMTQsIDgsIDEpLCAxMClcbiAqIC8vPT4gTW9uIFNlcCAxNSAyMDE0IDAwOjAwOjAwIChza2lwcGVkIHdlZWtlbmQgZGF5cylcbiAqL1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBhZGRCdXNpbmVzc0RheXMoZGlydHlEYXRlLCBkaXJ0eUFtb3VudCkge1xuICBpZiAoYXJndW1lbnRzLmxlbmd0aCA8IDIpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCcyIGFyZ3VtZW50cyByZXF1aXJlZCwgYnV0IG9ubHkgJyArIGFyZ3VtZW50cy5sZW5ndGggKyAnIHByZXNlbnQnKTtcbiAgfVxuXG4gIHZhciBkYXRlID0gdG9EYXRlKGRpcnR5RGF0ZSk7XG4gIHZhciBhbW91bnQgPSB0b0ludGVnZXIoZGlydHlBbW91bnQpO1xuICBpZiAoaXNOYU4oYW1vdW50KSkgcmV0dXJuIG5ldyBEYXRlKE5hTik7XG4gIHZhciBob3VycyA9IGRhdGUuZ2V0SG91cnMoKTtcbiAgdmFyIHNpZ24gPSBhbW91bnQgPCAwID8gLTEgOiAxO1xuICBkYXRlLnNldERhdGUoZGF0ZS5nZXREYXRlKCkgKyB0b0ludGVnZXIoYW1vdW50IC8gNSkgKiA3KTtcbiAgYW1vdW50ICU9IDU7IC8vIHRvIGdldCByZW1haW5pbmcgZGF5cyBub3QgcGFydCBvZiBhIGZ1bGwgd2Vla1xuICAvLyBvbmx5IGxvb3BzIG92ZXIgcmVtYWluaW5nIGRheXMgb3IgaWYgZGF5IGlzIGEgd2Vla2VuZCwgZW5zdXJlcyBhIGJ1c2luZXNzIGRheSBpcyByZXR1cm5lZFxuXG4gIHdoaWxlIChhbW91bnQgfHwgaXNXZWVrZW5kKGRhdGUpKSB7XG4gICAgZGF0ZS5zZXREYXRlKGRhdGUuZ2V0RGF0ZSgpICsgc2lnbik7XG4gICAgaWYgKCFpc1dlZWtlbmQoZGF0ZSkpIGFtb3VudCAtPSBzaWduO1xuICB9XG5cbiAgZGF0ZS5zZXRIb3Vycyhob3Vycyk7XG4gIHJldHVybiBkYXRlO1xufSJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/addBusinessDays/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/addDays/index.js": /*!****************************************************!*\ !*** ./node_modules/date-fns/esm/addDays/index.js ***! \****************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return addDays; });\n/* harmony import */ var _lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_lib/toInteger/index.js */ \"./node_modules/date-fns/esm/_lib/toInteger/index.js\");\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n\n\n/**\n * @name addDays\n * @category Day Helpers\n * @summary Add the specified number of days to the given date.\n *\n * @description\n * Add the specified number of days to the given date.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of days to be added\n * @returns {Date} the new date with the days added\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Add 10 days to 1 September 2014:\n * var result = addDays(new Date(2014, 8, 1), 10)\n * //=> Thu Sep 11 2014 00:00:00\n */\n\nfunction addDays(dirtyDate, dirtyAmount) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present');\n }\n\n var date = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(dirtyDate);\n var amount = Object(_lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyAmount);\n date.setDate(date.getDate() + amount);\n return date;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2FkZERheXMvaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2FkZERheXMvaW5kZXguanM/ZjdmMSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdG9JbnRlZ2VyIGZyb20gJy4uL19saWIvdG9JbnRlZ2VyL2luZGV4LmpzJztcbmltcG9ydCB0b0RhdGUgZnJvbSAnLi4vdG9EYXRlL2luZGV4LmpzJztcbi8qKlxuICogQG5hbWUgYWRkRGF5c1xuICogQGNhdGVnb3J5IERheSBIZWxwZXJzXG4gKiBAc3VtbWFyeSBBZGQgdGhlIHNwZWNpZmllZCBudW1iZXIgb2YgZGF5cyB0byB0aGUgZ2l2ZW4gZGF0ZS5cbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIEFkZCB0aGUgc3BlY2lmaWVkIG51bWJlciBvZiBkYXlzIHRvIHRoZSBnaXZlbiBkYXRlLlxuICpcbiAqICMjIyB2Mi4wLjAgYnJlYWtpbmcgY2hhbmdlczpcbiAqXG4gKiAtIFtDaGFuZ2VzIHRoYXQgYXJlIGNvbW1vbiBmb3IgdGhlIHdob2xlIGxpYnJhcnldKGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRlLWZucy9kYXRlLWZucy9ibG9iL21hc3Rlci9kb2NzL3VwZ3JhZGVHdWlkZS5tZCNDb21tb24tQ2hhbmdlcykuXG4gKlxuICogQHBhcmFtIHtEYXRlfE51bWJlcn0gZGF0ZSAtIHRoZSBkYXRlIHRvIGJlIGNoYW5nZWRcbiAqIEBwYXJhbSB7TnVtYmVyfSBhbW91bnQgLSB0aGUgYW1vdW50IG9mIGRheXMgdG8gYmUgYWRkZWRcbiAqIEByZXR1cm5zIHtEYXRlfSB0aGUgbmV3IGRhdGUgd2l0aCB0aGUgZGF5cyBhZGRlZFxuICogQHRocm93cyB7VHlwZUVycm9yfSAyIGFyZ3VtZW50cyByZXF1aXJlZFxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBBZGQgMTAgZGF5cyB0byAxIFNlcHRlbWJlciAyMDE0OlxuICogdmFyIHJlc3VsdCA9IGFkZERheXMobmV3IERhdGUoMjAxNCwgOCwgMSksIDEwKVxuICogLy89PiBUaHUgU2VwIDExIDIwMTQgMDA6MDA6MDBcbiAqL1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBhZGREYXlzKGRpcnR5RGF0ZSwgZGlydHlBbW91bnQpIHtcbiAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPCAyKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignMiBhcmd1bWVudHMgcmVxdWlyZWQsIGJ1dCBvbmx5ICcgKyBhcmd1bWVudHMubGVuZ3RoICsgJyBwcmVzZW50Jyk7XG4gIH1cblxuICB2YXIgZGF0ZSA9IHRvRGF0ZShkaXJ0eURhdGUpO1xuICB2YXIgYW1vdW50ID0gdG9JbnRlZ2VyKGRpcnR5QW1vdW50KTtcbiAgZGF0ZS5zZXREYXRlKGRhdGUuZ2V0RGF0ZSgpICsgYW1vdW50KTtcbiAgcmV0dXJuIGRhdGU7XG59Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/addDays/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/addHours/index.js": /*!*****************************************************!*\ !*** ./node_modules/date-fns/esm/addHours/index.js ***! \*****************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return addHours; });\n/* harmony import */ var _lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_lib/toInteger/index.js */ \"./node_modules/date-fns/esm/_lib/toInteger/index.js\");\n/* harmony import */ var _addMilliseconds_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../addMilliseconds/index.js */ \"./node_modules/date-fns/esm/addMilliseconds/index.js\");\n\n\nvar MILLISECONDS_IN_HOUR = 3600000;\n/**\n * @name addHours\n * @category Hour Helpers\n * @summary Add the specified number of hours to the given date.\n *\n * @description\n * Add the specified number of hours to the given date.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of hours to be added\n * @returns {Date} the new date with the hours added\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Add 2 hours to 10 July 2014 23:00:00:\n * var result = addHours(new Date(2014, 6, 10, 23, 0), 2)\n * //=> Fri Jul 11 2014 01:00:00\n */\n\nfunction addHours(dirtyDate, dirtyAmount) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present');\n }\n\n var amount = Object(_lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyAmount);\n return Object(_addMilliseconds_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(dirtyDate, amount * MILLISECONDS_IN_HOUR);\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2FkZEhvdXJzL2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2VzbS9hZGRIb3Vycy9pbmRleC5qcz8wZGFlIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0b0ludGVnZXIgZnJvbSAnLi4vX2xpYi90b0ludGVnZXIvaW5kZXguanMnO1xuaW1wb3J0IGFkZE1pbGxpc2Vjb25kcyBmcm9tICcuLi9hZGRNaWxsaXNlY29uZHMvaW5kZXguanMnO1xudmFyIE1JTExJU0VDT05EU19JTl9IT1VSID0gMzYwMDAwMDtcbi8qKlxuICogQG5hbWUgYWRkSG91cnNcbiAqIEBjYXRlZ29yeSBIb3VyIEhlbHBlcnNcbiAqIEBzdW1tYXJ5IEFkZCB0aGUgc3BlY2lmaWVkIG51bWJlciBvZiBob3VycyB0byB0aGUgZ2l2ZW4gZGF0ZS5cbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIEFkZCB0aGUgc3BlY2lmaWVkIG51bWJlciBvZiBob3VycyB0byB0aGUgZ2l2ZW4gZGF0ZS5cbiAqXG4gKiAjIyMgdjIuMC4wIGJyZWFraW5nIGNoYW5nZXM6XG4gKlxuICogLSBbQ2hhbmdlcyB0aGF0IGFyZSBjb21tb24gZm9yIHRoZSB3aG9sZSBsaWJyYXJ5XShodHRwczovL2dpdGh1Yi5jb20vZGF0ZS1mbnMvZGF0ZS1mbnMvYmxvYi9tYXN0ZXIvZG9jcy91cGdyYWRlR3VpZGUubWQjQ29tbW9uLUNoYW5nZXMpLlxuICpcbiAqIEBwYXJhbSB7RGF0ZXxOdW1iZXJ9IGRhdGUgLSB0aGUgZGF0ZSB0byBiZSBjaGFuZ2VkXG4gKiBAcGFyYW0ge051bWJlcn0gYW1vdW50IC0gdGhlIGFtb3VudCBvZiBob3VycyB0byBiZSBhZGRlZFxuICogQHJldHVybnMge0RhdGV9IHRoZSBuZXcgZGF0ZSB3aXRoIHRoZSBob3VycyBhZGRlZFxuICogQHRocm93cyB7VHlwZUVycm9yfSAyIGFyZ3VtZW50cyByZXF1aXJlZFxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBBZGQgMiBob3VycyB0byAxMCBKdWx5IDIwMTQgMjM6MDA6MDA6XG4gKiB2YXIgcmVzdWx0ID0gYWRkSG91cnMobmV3IERhdGUoMjAxNCwgNiwgMTAsIDIzLCAwKSwgMilcbiAqIC8vPT4gRnJpIEp1bCAxMSAyMDE0IDAxOjAwOjAwXG4gKi9cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gYWRkSG91cnMoZGlydHlEYXRlLCBkaXJ0eUFtb3VudCkge1xuICBpZiAoYXJndW1lbnRzLmxlbmd0aCA8IDIpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCcyIGFyZ3VtZW50cyByZXF1aXJlZCwgYnV0IG9ubHkgJyArIGFyZ3VtZW50cy5sZW5ndGggKyAnIHByZXNlbnQnKTtcbiAgfVxuXG4gIHZhciBhbW91bnQgPSB0b0ludGVnZXIoZGlydHlBbW91bnQpO1xuICByZXR1cm4gYWRkTWlsbGlzZWNvbmRzKGRpcnR5RGF0ZSwgYW1vdW50ICogTUlMTElTRUNPTkRTX0lOX0hPVVIpO1xufSJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/addHours/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/addISOWeekYears/index.js": /*!************************************************************!*\ !*** ./node_modules/date-fns/esm/addISOWeekYears/index.js ***! \************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return addISOWeekYears; });\n/* harmony import */ var _lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_lib/toInteger/index.js */ \"./node_modules/date-fns/esm/_lib/toInteger/index.js\");\n/* harmony import */ var _getISOWeekYear_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../getISOWeekYear/index.js */ \"./node_modules/date-fns/esm/getISOWeekYear/index.js\");\n/* harmony import */ var _setISOWeekYear_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../setISOWeekYear/index.js */ \"./node_modules/date-fns/esm/setISOWeekYear/index.js\");\n\n\n\n/**\n * @name addISOWeekYears\n * @category ISO Week-Numbering Year Helpers\n * @summary Add the specified number of ISO week-numbering years to the given date.\n *\n * @description\n * Add the specified number of ISO week-numbering years to the given date.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * - The function was renamed from `addISOYears` to `addISOWeekYears`.\n * \"ISO week year\" is short for [ISO week-numbering year](https://en.wikipedia.org/wiki/ISO_week_date).\n * This change makes the name consistent with\n * locale-dependent week-numbering year helpers, e.g., `addWeekYears`.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of ISO week-numbering years to be added\n * @returns {Date} the new date with the ISO week-numbering years added\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Add 5 ISO week-numbering years to 2 July 2010:\n * var result = addISOWeekYears(new Date(2010, 6, 2), 5)\n * //=> Fri Jun 26 2015 00:00:00\n */\n\nfunction addISOWeekYears(dirtyDate, dirtyAmount) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present');\n }\n\n var amount = Object(_lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyAmount);\n return Object(_setISOWeekYear_index_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(dirtyDate, Object(_getISOWeekYear_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(dirtyDate) + amount);\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2FkZElTT1dlZWtZZWFycy9pbmRleC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9kYXRlLWZucy9lc20vYWRkSVNPV2Vla1llYXJzL2luZGV4LmpzPzE4ZmQiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHRvSW50ZWdlciBmcm9tICcuLi9fbGliL3RvSW50ZWdlci9pbmRleC5qcyc7XG5pbXBvcnQgZ2V0SVNPV2Vla1llYXIgZnJvbSAnLi4vZ2V0SVNPV2Vla1llYXIvaW5kZXguanMnO1xuaW1wb3J0IHNldElTT1dlZWtZZWFyIGZyb20gJy4uL3NldElTT1dlZWtZZWFyL2luZGV4LmpzJztcbi8qKlxuICogQG5hbWUgYWRkSVNPV2Vla1llYXJzXG4gKiBAY2F0ZWdvcnkgSVNPIFdlZWstTnVtYmVyaW5nIFllYXIgSGVscGVyc1xuICogQHN1bW1hcnkgQWRkIHRoZSBzcGVjaWZpZWQgbnVtYmVyIG9mIElTTyB3ZWVrLW51bWJlcmluZyB5ZWFycyB0byB0aGUgZ2l2ZW4gZGF0ZS5cbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIEFkZCB0aGUgc3BlY2lmaWVkIG51bWJlciBvZiBJU08gd2Vlay1udW1iZXJpbmcgeWVhcnMgdG8gdGhlIGdpdmVuIGRhdGUuXG4gKlxuICogSVNPIHdlZWstbnVtYmVyaW5nIHllYXI6IGh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvSVNPX3dlZWtfZGF0ZVxuICpcbiAqICMjIyB2Mi4wLjAgYnJlYWtpbmcgY2hhbmdlczpcbiAqXG4gKiAtIFtDaGFuZ2VzIHRoYXQgYXJlIGNvbW1vbiBmb3IgdGhlIHdob2xlIGxpYnJhcnldKGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRlLWZucy9kYXRlLWZucy9ibG9iL21hc3Rlci9kb2NzL3VwZ3JhZGVHdWlkZS5tZCNDb21tb24tQ2hhbmdlcykuXG4gKlxuICogLSBUaGUgZnVuY3Rpb24gd2FzIHJlbmFtZWQgZnJvbSBgYWRkSVNPWWVhcnNgIHRvIGBhZGRJU09XZWVrWWVhcnNgLlxuICogICBcIklTTyB3ZWVrIHllYXJcIiBpcyBzaG9ydCBmb3IgW0lTTyB3ZWVrLW51bWJlcmluZyB5ZWFyXShodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9JU09fd2Vla19kYXRlKS5cbiAqICAgVGhpcyBjaGFuZ2UgbWFrZXMgdGhlIG5hbWUgY29uc2lzdGVudCB3aXRoXG4gKiAgIGxvY2FsZS1kZXBlbmRlbnQgd2Vlay1udW1iZXJpbmcgeWVhciBoZWxwZXJzLCBlLmcuLCBgYWRkV2Vla1llYXJzYC5cbiAqXG4gKiBAcGFyYW0ge0RhdGV8TnVtYmVyfSBkYXRlIC0gdGhlIGRhdGUgdG8gYmUgY2hhbmdlZFxuICogQHBhcmFtIHtOdW1iZXJ9IGFtb3VudCAtIHRoZSBhbW91bnQgb2YgSVNPIHdlZWstbnVtYmVyaW5nIHllYXJzIHRvIGJlIGFkZGVkXG4gKiBAcmV0dXJucyB7RGF0ZX0gdGhlIG5ldyBkYXRlIHdpdGggdGhlIElTTyB3ZWVrLW51bWJlcmluZyB5ZWFycyBhZGRlZFxuICogQHRocm93cyB7VHlwZUVycm9yfSAyIGFyZ3VtZW50cyByZXF1aXJlZFxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBBZGQgNSBJU08gd2Vlay1udW1iZXJpbmcgeWVhcnMgdG8gMiBKdWx5IDIwMTA6XG4gKiB2YXIgcmVzdWx0ID0gYWRkSVNPV2Vla1llYXJzKG5ldyBEYXRlKDIwMTAsIDYsIDIpLCA1KVxuICogLy89PiBGcmkgSnVuIDI2IDIwMTUgMDA6MDA6MDBcbiAqL1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBhZGRJU09XZWVrWWVhcnMoZGlydHlEYXRlLCBkaXJ0eUFtb3VudCkge1xuICBpZiAoYXJndW1lbnRzLmxlbmd0aCA8IDIpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCcyIGFyZ3VtZW50cyByZXF1aXJlZCwgYnV0IG9ubHkgJyArIGFyZ3VtZW50cy5sZW5ndGggKyAnIHByZXNlbnQnKTtcbiAgfVxuXG4gIHZhciBhbW91bnQgPSB0b0ludGVnZXIoZGlydHlBbW91bnQpO1xuICByZXR1cm4gc2V0SVNPV2Vla1llYXIoZGlydHlEYXRlLCBnZXRJU09XZWVrWWVhcihkaXJ0eURhdGUpICsgYW1vdW50KTtcbn0iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/addISOWeekYears/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/addMilliseconds/index.js": /*!************************************************************!*\ !*** ./node_modules/date-fns/esm/addMilliseconds/index.js ***! \************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return addMilliseconds; });\n/* harmony import */ var _lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_lib/toInteger/index.js */ \"./node_modules/date-fns/esm/_lib/toInteger/index.js\");\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n\n\n/**\n * @name addMilliseconds\n * @category Millisecond Helpers\n * @summary Add the specified number of milliseconds to the given date.\n *\n * @description\n * Add the specified number of milliseconds to the given date.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of milliseconds to be added\n * @returns {Date} the new date with the milliseconds added\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Add 750 milliseconds to 10 July 2014 12:45:30.000:\n * var result = addMilliseconds(new Date(2014, 6, 10, 12, 45, 30, 0), 750)\n * //=> Thu Jul 10 2014 12:45:30.750\n */\n\nfunction addMilliseconds(dirtyDate, dirtyAmount) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present');\n }\n\n var timestamp = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(dirtyDate).getTime();\n var amount = Object(_lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyAmount);\n return new Date(timestamp + amount);\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2FkZE1pbGxpc2Vjb25kcy9pbmRleC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9kYXRlLWZucy9lc20vYWRkTWlsbGlzZWNvbmRzL2luZGV4LmpzP2E2NWQiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHRvSW50ZWdlciBmcm9tICcuLi9fbGliL3RvSW50ZWdlci9pbmRleC5qcyc7XG5pbXBvcnQgdG9EYXRlIGZyb20gJy4uL3RvRGF0ZS9pbmRleC5qcyc7XG4vKipcbiAqIEBuYW1lIGFkZE1pbGxpc2Vjb25kc1xuICogQGNhdGVnb3J5IE1pbGxpc2Vjb25kIEhlbHBlcnNcbiAqIEBzdW1tYXJ5IEFkZCB0aGUgc3BlY2lmaWVkIG51bWJlciBvZiBtaWxsaXNlY29uZHMgdG8gdGhlIGdpdmVuIGRhdGUuXG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKiBBZGQgdGhlIHNwZWNpZmllZCBudW1iZXIgb2YgbWlsbGlzZWNvbmRzIHRvIHRoZSBnaXZlbiBkYXRlLlxuICpcbiAqICMjIyB2Mi4wLjAgYnJlYWtpbmcgY2hhbmdlczpcbiAqXG4gKiAtIFtDaGFuZ2VzIHRoYXQgYXJlIGNvbW1vbiBmb3IgdGhlIHdob2xlIGxpYnJhcnldKGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRlLWZucy9kYXRlLWZucy9ibG9iL21hc3Rlci9kb2NzL3VwZ3JhZGVHdWlkZS5tZCNDb21tb24tQ2hhbmdlcykuXG4gKlxuICogQHBhcmFtIHtEYXRlfE51bWJlcn0gZGF0ZSAtIHRoZSBkYXRlIHRvIGJlIGNoYW5nZWRcbiAqIEBwYXJhbSB7TnVtYmVyfSBhbW91bnQgLSB0aGUgYW1vdW50IG9mIG1pbGxpc2Vjb25kcyB0byBiZSBhZGRlZFxuICogQHJldHVybnMge0RhdGV9IHRoZSBuZXcgZGF0ZSB3aXRoIHRoZSBtaWxsaXNlY29uZHMgYWRkZWRcbiAqIEB0aHJvd3Mge1R5cGVFcnJvcn0gMiBhcmd1bWVudHMgcmVxdWlyZWRcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gQWRkIDc1MCBtaWxsaXNlY29uZHMgdG8gMTAgSnVseSAyMDE0IDEyOjQ1OjMwLjAwMDpcbiAqIHZhciByZXN1bHQgPSBhZGRNaWxsaXNlY29uZHMobmV3IERhdGUoMjAxNCwgNiwgMTAsIDEyLCA0NSwgMzAsIDApLCA3NTApXG4gKiAvLz0+IFRodSBKdWwgMTAgMjAxNCAxMjo0NTozMC43NTBcbiAqL1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBhZGRNaWxsaXNlY29uZHMoZGlydHlEYXRlLCBkaXJ0eUFtb3VudCkge1xuICBpZiAoYXJndW1lbnRzLmxlbmd0aCA8IDIpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCcyIGFyZ3VtZW50cyByZXF1aXJlZCwgYnV0IG9ubHkgJyArIGFyZ3VtZW50cy5sZW5ndGggKyAnIHByZXNlbnQnKTtcbiAgfVxuXG4gIHZhciB0aW1lc3RhbXAgPSB0b0RhdGUoZGlydHlEYXRlKS5nZXRUaW1lKCk7XG4gIHZhciBhbW91bnQgPSB0b0ludGVnZXIoZGlydHlBbW91bnQpO1xuICByZXR1cm4gbmV3IERhdGUodGltZXN0YW1wICsgYW1vdW50KTtcbn0iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/addMilliseconds/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/addMinutes/index.js": /*!*******************************************************!*\ !*** ./node_modules/date-fns/esm/addMinutes/index.js ***! \*******************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return addMinutes; });\n/* harmony import */ var _lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_lib/toInteger/index.js */ \"./node_modules/date-fns/esm/_lib/toInteger/index.js\");\n/* harmony import */ var _addMilliseconds_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../addMilliseconds/index.js */ \"./node_modules/date-fns/esm/addMilliseconds/index.js\");\n\n\nvar MILLISECONDS_IN_MINUTE = 60000;\n/**\n * @name addMinutes\n * @category Minute Helpers\n * @summary Add the specified number of minutes to the given date.\n *\n * @description\n * Add the specified number of minutes to the given date.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of minutes to be added\n * @returns {Date} the new date with the minutes added\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Add 30 minutes to 10 July 2014 12:00:00:\n * var result = addMinutes(new Date(2014, 6, 10, 12, 0), 30)\n * //=> Thu Jul 10 2014 12:30:00\n */\n\nfunction addMinutes(dirtyDate, dirtyAmount) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present');\n }\n\n var amount = Object(_lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyAmount);\n return Object(_addMilliseconds_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(dirtyDate, amount * MILLISECONDS_IN_MINUTE);\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2FkZE1pbnV0ZXMvaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2FkZE1pbnV0ZXMvaW5kZXguanM/MjE4NiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdG9JbnRlZ2VyIGZyb20gJy4uL19saWIvdG9JbnRlZ2VyL2luZGV4LmpzJztcbmltcG9ydCBhZGRNaWxsaXNlY29uZHMgZnJvbSAnLi4vYWRkTWlsbGlzZWNvbmRzL2luZGV4LmpzJztcbnZhciBNSUxMSVNFQ09ORFNfSU5fTUlOVVRFID0gNjAwMDA7XG4vKipcbiAqIEBuYW1lIGFkZE1pbnV0ZXNcbiAqIEBjYXRlZ29yeSBNaW51dGUgSGVscGVyc1xuICogQHN1bW1hcnkgQWRkIHRoZSBzcGVjaWZpZWQgbnVtYmVyIG9mIG1pbnV0ZXMgdG8gdGhlIGdpdmVuIGRhdGUuXG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKiBBZGQgdGhlIHNwZWNpZmllZCBudW1iZXIgb2YgbWludXRlcyB0byB0aGUgZ2l2ZW4gZGF0ZS5cbiAqXG4gKiAjIyMgdjIuMC4wIGJyZWFraW5nIGNoYW5nZXM6XG4gKlxuICogLSBbQ2hhbmdlcyB0aGF0IGFyZSBjb21tb24gZm9yIHRoZSB3aG9sZSBsaWJyYXJ5XShodHRwczovL2dpdGh1Yi5jb20vZGF0ZS1mbnMvZGF0ZS1mbnMvYmxvYi9tYXN0ZXIvZG9jcy91cGdyYWRlR3VpZGUubWQjQ29tbW9uLUNoYW5nZXMpLlxuICpcbiAqIEBwYXJhbSB7RGF0ZXxOdW1iZXJ9IGRhdGUgLSB0aGUgZGF0ZSB0byBiZSBjaGFuZ2VkXG4gKiBAcGFyYW0ge051bWJlcn0gYW1vdW50IC0gdGhlIGFtb3VudCBvZiBtaW51dGVzIHRvIGJlIGFkZGVkXG4gKiBAcmV0dXJucyB7RGF0ZX0gdGhlIG5ldyBkYXRlIHdpdGggdGhlIG1pbnV0ZXMgYWRkZWRcbiAqIEB0aHJvd3Mge1R5cGVFcnJvcn0gMiBhcmd1bWVudHMgcmVxdWlyZWRcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gQWRkIDMwIG1pbnV0ZXMgdG8gMTAgSnVseSAyMDE0IDEyOjAwOjAwOlxuICogdmFyIHJlc3VsdCA9IGFkZE1pbnV0ZXMobmV3IERhdGUoMjAxNCwgNiwgMTAsIDEyLCAwKSwgMzApXG4gKiAvLz0+IFRodSBKdWwgMTAgMjAxNCAxMjozMDowMFxuICovXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGFkZE1pbnV0ZXMoZGlydHlEYXRlLCBkaXJ0eUFtb3VudCkge1xuICBpZiAoYXJndW1lbnRzLmxlbmd0aCA8IDIpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCcyIGFyZ3VtZW50cyByZXF1aXJlZCwgYnV0IG9ubHkgJyArIGFyZ3VtZW50cy5sZW5ndGggKyAnIHByZXNlbnQnKTtcbiAgfVxuXG4gIHZhciBhbW91bnQgPSB0b0ludGVnZXIoZGlydHlBbW91bnQpO1xuICByZXR1cm4gYWRkTWlsbGlzZWNvbmRzKGRpcnR5RGF0ZSwgYW1vdW50ICogTUlMTElTRUNPTkRTX0lOX01JTlVURSk7XG59Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/addMinutes/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/addMonths/index.js": /*!******************************************************!*\ !*** ./node_modules/date-fns/esm/addMonths/index.js ***! \******************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return addMonths; });\n/* harmony import */ var _lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_lib/toInteger/index.js */ \"./node_modules/date-fns/esm/_lib/toInteger/index.js\");\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n/* harmony import */ var _getDaysInMonth_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../getDaysInMonth/index.js */ \"./node_modules/date-fns/esm/getDaysInMonth/index.js\");\n\n\n\n/**\n * @name addMonths\n * @category Month Helpers\n * @summary Add the specified number of months to the given date.\n *\n * @description\n * Add the specified number of months to the given date.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of months to be added\n * @returns {Date} the new date with the months added\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Add 5 months to 1 September 2014:\n * var result = addMonths(new Date(2014, 8, 1), 5)\n * //=> Sun Feb 01 2015 00:00:00\n */\n\nfunction addMonths(dirtyDate, dirtyAmount) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present');\n }\n\n var date = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(dirtyDate);\n var amount = Object(_lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyAmount);\n var desiredMonth = date.getMonth() + amount;\n var dateWithDesiredMonth = new Date(0);\n dateWithDesiredMonth.setFullYear(date.getFullYear(), desiredMonth, 1);\n dateWithDesiredMonth.setHours(0, 0, 0, 0);\n var daysInMonth = Object(_getDaysInMonth_index_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(dateWithDesiredMonth); // Set the last day of the new month\n // if the original date was the last day of the longer month\n\n date.setMonth(desiredMonth, Math.min(daysInMonth, date.getDate()));\n return date;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2FkZE1vbnRocy9pbmRleC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9kYXRlLWZucy9lc20vYWRkTW9udGhzL2luZGV4LmpzPzc0YjUiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHRvSW50ZWdlciBmcm9tICcuLi9fbGliL3RvSW50ZWdlci9pbmRleC5qcyc7XG5pbXBvcnQgdG9EYXRlIGZyb20gJy4uL3RvRGF0ZS9pbmRleC5qcyc7XG5pbXBvcnQgZ2V0RGF5c0luTW9udGggZnJvbSAnLi4vZ2V0RGF5c0luTW9udGgvaW5kZXguanMnO1xuLyoqXG4gKiBAbmFtZSBhZGRNb250aHNcbiAqIEBjYXRlZ29yeSBNb250aCBIZWxwZXJzXG4gKiBAc3VtbWFyeSBBZGQgdGhlIHNwZWNpZmllZCBudW1iZXIgb2YgbW9udGhzIHRvIHRoZSBnaXZlbiBkYXRlLlxuICpcbiAqIEBkZXNjcmlwdGlvblxuICogQWRkIHRoZSBzcGVjaWZpZWQgbnVtYmVyIG9mIG1vbnRocyB0byB0aGUgZ2l2ZW4gZGF0ZS5cbiAqXG4gKiAjIyMgdjIuMC4wIGJyZWFraW5nIGNoYW5nZXM6XG4gKlxuICogLSBbQ2hhbmdlcyB0aGF0IGFyZSBjb21tb24gZm9yIHRoZSB3aG9sZSBsaWJyYXJ5XShodHRwczovL2dpdGh1Yi5jb20vZGF0ZS1mbnMvZGF0ZS1mbnMvYmxvYi9tYXN0ZXIvZG9jcy91cGdyYWRlR3VpZGUubWQjQ29tbW9uLUNoYW5nZXMpLlxuICpcbiAqIEBwYXJhbSB7RGF0ZXxOdW1iZXJ9IGRhdGUgLSB0aGUgZGF0ZSB0byBiZSBjaGFuZ2VkXG4gKiBAcGFyYW0ge051bWJlcn0gYW1vdW50IC0gdGhlIGFtb3VudCBvZiBtb250aHMgdG8gYmUgYWRkZWRcbiAqIEByZXR1cm5zIHtEYXRlfSB0aGUgbmV3IGRhdGUgd2l0aCB0aGUgbW9udGhzIGFkZGVkXG4gKiBAdGhyb3dzIHtUeXBlRXJyb3J9IDIgYXJndW1lbnRzIHJlcXVpcmVkXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIEFkZCA1IG1vbnRocyB0byAxIFNlcHRlbWJlciAyMDE0OlxuICogdmFyIHJlc3VsdCA9IGFkZE1vbnRocyhuZXcgRGF0ZSgyMDE0LCA4LCAxKSwgNSlcbiAqIC8vPT4gU3VuIEZlYiAwMSAyMDE1IDAwOjAwOjAwXG4gKi9cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gYWRkTW9udGhzKGRpcnR5RGF0ZSwgZGlydHlBbW91bnQpIHtcbiAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPCAyKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignMiBhcmd1bWVudHMgcmVxdWlyZWQsIGJ1dCBvbmx5ICcgKyBhcmd1bWVudHMubGVuZ3RoICsgJyBwcmVzZW50Jyk7XG4gIH1cblxuICB2YXIgZGF0ZSA9IHRvRGF0ZShkaXJ0eURhdGUpO1xuICB2YXIgYW1vdW50ID0gdG9JbnRlZ2VyKGRpcnR5QW1vdW50KTtcbiAgdmFyIGRlc2lyZWRNb250aCA9IGRhdGUuZ2V0TW9udGgoKSArIGFtb3VudDtcbiAgdmFyIGRhdGVXaXRoRGVzaXJlZE1vbnRoID0gbmV3IERhdGUoMCk7XG4gIGRhdGVXaXRoRGVzaXJlZE1vbnRoLnNldEZ1bGxZZWFyKGRhdGUuZ2V0RnVsbFllYXIoKSwgZGVzaXJlZE1vbnRoLCAxKTtcbiAgZGF0ZVdpdGhEZXNpcmVkTW9udGguc2V0SG91cnMoMCwgMCwgMCwgMCk7XG4gIHZhciBkYXlzSW5Nb250aCA9IGdldERheXNJbk1vbnRoKGRhdGVXaXRoRGVzaXJlZE1vbnRoKTsgLy8gU2V0IHRoZSBsYXN0IGRheSBvZiB0aGUgbmV3IG1vbnRoXG4gIC8vIGlmIHRoZSBvcmlnaW5hbCBkYXRlIHdhcyB0aGUgbGFzdCBkYXkgb2YgdGhlIGxvbmdlciBtb250aFxuXG4gIGRhdGUuc2V0TW9udGgoZGVzaXJlZE1vbnRoLCBNYXRoLm1pbihkYXlzSW5Nb250aCwgZGF0ZS5nZXREYXRlKCkpKTtcbiAgcmV0dXJuIGRhdGU7XG59Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/addMonths/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/addQuarters/index.js": /*!********************************************************!*\ !*** ./node_modules/date-fns/esm/addQuarters/index.js ***! \********************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return addQuarters; });\n/* harmony import */ var _lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_lib/toInteger/index.js */ \"./node_modules/date-fns/esm/_lib/toInteger/index.js\");\n/* harmony import */ var _addMonths_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../addMonths/index.js */ \"./node_modules/date-fns/esm/addMonths/index.js\");\n\n\n/**\n * @name addQuarters\n * @category Quarter Helpers\n * @summary Add the specified number of year quarters to the given date.\n *\n * @description\n * Add the specified number of year quarters to the given date.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of quarters to be added\n * @returns {Date} the new date with the quarters added\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Add 1 quarter to 1 September 2014:\n * var result = addQuarters(new Date(2014, 8, 1), 1)\n * //=> Mon Dec 01 2014 00:00:00\n */\n\nfunction addQuarters(dirtyDate, dirtyAmount) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present');\n }\n\n var amount = Object(_lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyAmount);\n var months = amount * 3;\n return Object(_addMonths_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(dirtyDate, months);\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2FkZFF1YXJ0ZXJzL2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2VzbS9hZGRRdWFydGVycy9pbmRleC5qcz9iNWY1Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0b0ludGVnZXIgZnJvbSAnLi4vX2xpYi90b0ludGVnZXIvaW5kZXguanMnO1xuaW1wb3J0IGFkZE1vbnRocyBmcm9tICcuLi9hZGRNb250aHMvaW5kZXguanMnO1xuLyoqXG4gKiBAbmFtZSBhZGRRdWFydGVyc1xuICogQGNhdGVnb3J5IFF1YXJ0ZXIgSGVscGVyc1xuICogQHN1bW1hcnkgQWRkIHRoZSBzcGVjaWZpZWQgbnVtYmVyIG9mIHllYXIgcXVhcnRlcnMgdG8gdGhlIGdpdmVuIGRhdGUuXG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKiBBZGQgdGhlIHNwZWNpZmllZCBudW1iZXIgb2YgeWVhciBxdWFydGVycyB0byB0aGUgZ2l2ZW4gZGF0ZS5cbiAqXG4gKiAjIyMgdjIuMC4wIGJyZWFraW5nIGNoYW5nZXM6XG4gKlxuICogLSBbQ2hhbmdlcyB0aGF0IGFyZSBjb21tb24gZm9yIHRoZSB3aG9sZSBsaWJyYXJ5XShodHRwczovL2dpdGh1Yi5jb20vZGF0ZS1mbnMvZGF0ZS1mbnMvYmxvYi9tYXN0ZXIvZG9jcy91cGdyYWRlR3VpZGUubWQjQ29tbW9uLUNoYW5nZXMpLlxuICpcbiAqIEBwYXJhbSB7RGF0ZXxOdW1iZXJ9IGRhdGUgLSB0aGUgZGF0ZSB0byBiZSBjaGFuZ2VkXG4gKiBAcGFyYW0ge051bWJlcn0gYW1vdW50IC0gdGhlIGFtb3VudCBvZiBxdWFydGVycyB0byBiZSBhZGRlZFxuICogQHJldHVybnMge0RhdGV9IHRoZSBuZXcgZGF0ZSB3aXRoIHRoZSBxdWFydGVycyBhZGRlZFxuICogQHRocm93cyB7VHlwZUVycm9yfSAyIGFyZ3VtZW50cyByZXF1aXJlZFxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBBZGQgMSBxdWFydGVyIHRvIDEgU2VwdGVtYmVyIDIwMTQ6XG4gKiB2YXIgcmVzdWx0ID0gYWRkUXVhcnRlcnMobmV3IERhdGUoMjAxNCwgOCwgMSksIDEpXG4gKiAvLz0+IE1vbiBEZWMgMDEgMjAxNCAwMDowMDowMFxuICovXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGFkZFF1YXJ0ZXJzKGRpcnR5RGF0ZSwgZGlydHlBbW91bnQpIHtcbiAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPCAyKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignMiBhcmd1bWVudHMgcmVxdWlyZWQsIGJ1dCBvbmx5ICcgKyBhcmd1bWVudHMubGVuZ3RoICsgJyBwcmVzZW50Jyk7XG4gIH1cblxuICB2YXIgYW1vdW50ID0gdG9JbnRlZ2VyKGRpcnR5QW1vdW50KTtcbiAgdmFyIG1vbnRocyA9IGFtb3VudCAqIDM7XG4gIHJldHVybiBhZGRNb250aHMoZGlydHlEYXRlLCBtb250aHMpO1xufSJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/addQuarters/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/addSeconds/index.js": /*!*******************************************************!*\ !*** ./node_modules/date-fns/esm/addSeconds/index.js ***! \*******************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return addSeconds; });\n/* harmony import */ var _lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_lib/toInteger/index.js */ \"./node_modules/date-fns/esm/_lib/toInteger/index.js\");\n/* harmony import */ var _addMilliseconds_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../addMilliseconds/index.js */ \"./node_modules/date-fns/esm/addMilliseconds/index.js\");\n\n\n/**\n * @name addSeconds\n * @category Second Helpers\n * @summary Add the specified number of seconds to the given date.\n *\n * @description\n * Add the specified number of seconds to the given date.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of seconds to be added\n * @returns {Date} the new date with the seconds added\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Add 30 seconds to 10 July 2014 12:45:00:\n * var result = addSeconds(new Date(2014, 6, 10, 12, 45, 0), 30)\n * //=> Thu Jul 10 2014 12:45:30\n */\n\nfunction addSeconds(dirtyDate, dirtyAmount) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present');\n }\n\n var amount = Object(_lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyAmount);\n return Object(_addMilliseconds_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(dirtyDate, amount * 1000);\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2FkZFNlY29uZHMvaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2FkZFNlY29uZHMvaW5kZXguanM/MGFkYiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdG9JbnRlZ2VyIGZyb20gJy4uL19saWIvdG9JbnRlZ2VyL2luZGV4LmpzJztcbmltcG9ydCBhZGRNaWxsaXNlY29uZHMgZnJvbSAnLi4vYWRkTWlsbGlzZWNvbmRzL2luZGV4LmpzJztcbi8qKlxuICogQG5hbWUgYWRkU2Vjb25kc1xuICogQGNhdGVnb3J5IFNlY29uZCBIZWxwZXJzXG4gKiBAc3VtbWFyeSBBZGQgdGhlIHNwZWNpZmllZCBudW1iZXIgb2Ygc2Vjb25kcyB0byB0aGUgZ2l2ZW4gZGF0ZS5cbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIEFkZCB0aGUgc3BlY2lmaWVkIG51bWJlciBvZiBzZWNvbmRzIHRvIHRoZSBnaXZlbiBkYXRlLlxuICpcbiAqICMjIyB2Mi4wLjAgYnJlYWtpbmcgY2hhbmdlczpcbiAqXG4gKiAtIFtDaGFuZ2VzIHRoYXQgYXJlIGNvbW1vbiBmb3IgdGhlIHdob2xlIGxpYnJhcnldKGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRlLWZucy9kYXRlLWZucy9ibG9iL21hc3Rlci9kb2NzL3VwZ3JhZGVHdWlkZS5tZCNDb21tb24tQ2hhbmdlcykuXG4gKlxuICogQHBhcmFtIHtEYXRlfE51bWJlcn0gZGF0ZSAtIHRoZSBkYXRlIHRvIGJlIGNoYW5nZWRcbiAqIEBwYXJhbSB7TnVtYmVyfSBhbW91bnQgLSB0aGUgYW1vdW50IG9mIHNlY29uZHMgdG8gYmUgYWRkZWRcbiAqIEByZXR1cm5zIHtEYXRlfSB0aGUgbmV3IGRhdGUgd2l0aCB0aGUgc2Vjb25kcyBhZGRlZFxuICogQHRocm93cyB7VHlwZUVycm9yfSAyIGFyZ3VtZW50cyByZXF1aXJlZFxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBBZGQgMzAgc2Vjb25kcyB0byAxMCBKdWx5IDIwMTQgMTI6NDU6MDA6XG4gKiB2YXIgcmVzdWx0ID0gYWRkU2Vjb25kcyhuZXcgRGF0ZSgyMDE0LCA2LCAxMCwgMTIsIDQ1LCAwKSwgMzApXG4gKiAvLz0+IFRodSBKdWwgMTAgMjAxNCAxMjo0NTozMFxuICovXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGFkZFNlY29uZHMoZGlydHlEYXRlLCBkaXJ0eUFtb3VudCkge1xuICBpZiAoYXJndW1lbnRzLmxlbmd0aCA8IDIpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCcyIGFyZ3VtZW50cyByZXF1aXJlZCwgYnV0IG9ubHkgJyArIGFyZ3VtZW50cy5sZW5ndGggKyAnIHByZXNlbnQnKTtcbiAgfVxuXG4gIHZhciBhbW91bnQgPSB0b0ludGVnZXIoZGlydHlBbW91bnQpO1xuICByZXR1cm4gYWRkTWlsbGlzZWNvbmRzKGRpcnR5RGF0ZSwgYW1vdW50ICogMTAwMCk7XG59Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/addSeconds/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/addWeeks/index.js": /*!*****************************************************!*\ !*** ./node_modules/date-fns/esm/addWeeks/index.js ***! \*****************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return addWeeks; });\n/* harmony import */ var _lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_lib/toInteger/index.js */ \"./node_modules/date-fns/esm/_lib/toInteger/index.js\");\n/* harmony import */ var _addDays_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../addDays/index.js */ \"./node_modules/date-fns/esm/addDays/index.js\");\n\n\n/**\n * @name addWeeks\n * @category Week Helpers\n * @summary Add the specified number of weeks to the given date.\n *\n * @description\n * Add the specified number of week to the given date.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of weeks to be added\n * @returns {Date} the new date with the weeks added\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Add 4 weeks to 1 September 2014:\n * var result = addWeeks(new Date(2014, 8, 1), 4)\n * //=> Mon Sep 29 2014 00:00:00\n */\n\nfunction addWeeks(dirtyDate, dirtyAmount) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present');\n }\n\n var amount = Object(_lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyAmount);\n var days = amount * 7;\n return Object(_addDays_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(dirtyDate, days);\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2FkZFdlZWtzL2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2VzbS9hZGRXZWVrcy9pbmRleC5qcz9hZjhiIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0b0ludGVnZXIgZnJvbSAnLi4vX2xpYi90b0ludGVnZXIvaW5kZXguanMnO1xuaW1wb3J0IGFkZERheXMgZnJvbSAnLi4vYWRkRGF5cy9pbmRleC5qcyc7XG4vKipcbiAqIEBuYW1lIGFkZFdlZWtzXG4gKiBAY2F0ZWdvcnkgV2VlayBIZWxwZXJzXG4gKiBAc3VtbWFyeSBBZGQgdGhlIHNwZWNpZmllZCBudW1iZXIgb2Ygd2Vla3MgdG8gdGhlIGdpdmVuIGRhdGUuXG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKiBBZGQgdGhlIHNwZWNpZmllZCBudW1iZXIgb2Ygd2VlayB0byB0aGUgZ2l2ZW4gZGF0ZS5cbiAqXG4gKiAjIyMgdjIuMC4wIGJyZWFraW5nIGNoYW5nZXM6XG4gKlxuICogLSBbQ2hhbmdlcyB0aGF0IGFyZSBjb21tb24gZm9yIHRoZSB3aG9sZSBsaWJyYXJ5XShodHRwczovL2dpdGh1Yi5jb20vZGF0ZS1mbnMvZGF0ZS1mbnMvYmxvYi9tYXN0ZXIvZG9jcy91cGdyYWRlR3VpZGUubWQjQ29tbW9uLUNoYW5nZXMpLlxuICpcbiAqIEBwYXJhbSB7RGF0ZXxOdW1iZXJ9IGRhdGUgLSB0aGUgZGF0ZSB0byBiZSBjaGFuZ2VkXG4gKiBAcGFyYW0ge051bWJlcn0gYW1vdW50IC0gdGhlIGFtb3VudCBvZiB3ZWVrcyB0byBiZSBhZGRlZFxuICogQHJldHVybnMge0RhdGV9IHRoZSBuZXcgZGF0ZSB3aXRoIHRoZSB3ZWVrcyBhZGRlZFxuICogQHRocm93cyB7VHlwZUVycm9yfSAyIGFyZ3VtZW50cyByZXF1aXJlZFxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBBZGQgNCB3ZWVrcyB0byAxIFNlcHRlbWJlciAyMDE0OlxuICogdmFyIHJlc3VsdCA9IGFkZFdlZWtzKG5ldyBEYXRlKDIwMTQsIDgsIDEpLCA0KVxuICogLy89PiBNb24gU2VwIDI5IDIwMTQgMDA6MDA6MDBcbiAqL1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBhZGRXZWVrcyhkaXJ0eURhdGUsIGRpcnR5QW1vdW50KSB7XG4gIGlmIChhcmd1bWVudHMubGVuZ3RoIDwgMikge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJzIgYXJndW1lbnRzIHJlcXVpcmVkLCBidXQgb25seSAnICsgYXJndW1lbnRzLmxlbmd0aCArICcgcHJlc2VudCcpO1xuICB9XG5cbiAgdmFyIGFtb3VudCA9IHRvSW50ZWdlcihkaXJ0eUFtb3VudCk7XG4gIHZhciBkYXlzID0gYW1vdW50ICogNztcbiAgcmV0dXJuIGFkZERheXMoZGlydHlEYXRlLCBkYXlzKTtcbn0iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/addWeeks/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/addYears/index.js": /*!*****************************************************!*\ !*** ./node_modules/date-fns/esm/addYears/index.js ***! \*****************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return addYears; });\n/* harmony import */ var _lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_lib/toInteger/index.js */ \"./node_modules/date-fns/esm/_lib/toInteger/index.js\");\n/* harmony import */ var _addMonths_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../addMonths/index.js */ \"./node_modules/date-fns/esm/addMonths/index.js\");\n\n\n/**\n * @name addYears\n * @category Year Helpers\n * @summary Add the specified number of years to the given date.\n *\n * @description\n * Add the specified number of years to the given date.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of years to be added\n * @returns {Date} the new date with the years added\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Add 5 years to 1 September 2014:\n * var result = addYears(new Date(2014, 8, 1), 5)\n * //=> Sun Sep 01 2019 00:00:00\n */\n\nfunction addYears(dirtyDate, dirtyAmount) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present');\n }\n\n var amount = Object(_lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyAmount);\n return Object(_addMonths_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(dirtyDate, amount * 12);\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2FkZFllYXJzL2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2VzbS9hZGRZZWFycy9pbmRleC5qcz9jZGI2Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0b0ludGVnZXIgZnJvbSAnLi4vX2xpYi90b0ludGVnZXIvaW5kZXguanMnO1xuaW1wb3J0IGFkZE1vbnRocyBmcm9tICcuLi9hZGRNb250aHMvaW5kZXguanMnO1xuLyoqXG4gKiBAbmFtZSBhZGRZZWFyc1xuICogQGNhdGVnb3J5IFllYXIgSGVscGVyc1xuICogQHN1bW1hcnkgQWRkIHRoZSBzcGVjaWZpZWQgbnVtYmVyIG9mIHllYXJzIHRvIHRoZSBnaXZlbiBkYXRlLlxuICpcbiAqIEBkZXNjcmlwdGlvblxuICogQWRkIHRoZSBzcGVjaWZpZWQgbnVtYmVyIG9mIHllYXJzIHRvIHRoZSBnaXZlbiBkYXRlLlxuICpcbiAqICMjIyB2Mi4wLjAgYnJlYWtpbmcgY2hhbmdlczpcbiAqXG4gKiAtIFtDaGFuZ2VzIHRoYXQgYXJlIGNvbW1vbiBmb3IgdGhlIHdob2xlIGxpYnJhcnldKGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRlLWZucy9kYXRlLWZucy9ibG9iL21hc3Rlci9kb2NzL3VwZ3JhZGVHdWlkZS5tZCNDb21tb24tQ2hhbmdlcykuXG4gKlxuICogQHBhcmFtIHtEYXRlfE51bWJlcn0gZGF0ZSAtIHRoZSBkYXRlIHRvIGJlIGNoYW5nZWRcbiAqIEBwYXJhbSB7TnVtYmVyfSBhbW91bnQgLSB0aGUgYW1vdW50IG9mIHllYXJzIHRvIGJlIGFkZGVkXG4gKiBAcmV0dXJucyB7RGF0ZX0gdGhlIG5ldyBkYXRlIHdpdGggdGhlIHllYXJzIGFkZGVkXG4gKiBAdGhyb3dzIHtUeXBlRXJyb3J9IDIgYXJndW1lbnRzIHJlcXVpcmVkXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIEFkZCA1IHllYXJzIHRvIDEgU2VwdGVtYmVyIDIwMTQ6XG4gKiB2YXIgcmVzdWx0ID0gYWRkWWVhcnMobmV3IERhdGUoMjAxNCwgOCwgMSksIDUpXG4gKiAvLz0+IFN1biBTZXAgMDEgMjAxOSAwMDowMDowMFxuICovXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGFkZFllYXJzKGRpcnR5RGF0ZSwgZGlydHlBbW91bnQpIHtcbiAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPCAyKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignMiBhcmd1bWVudHMgcmVxdWlyZWQsIGJ1dCBvbmx5ICcgKyBhcmd1bWVudHMubGVuZ3RoICsgJyBwcmVzZW50Jyk7XG4gIH1cblxuICB2YXIgYW1vdW50ID0gdG9JbnRlZ2VyKGRpcnR5QW1vdW50KTtcbiAgcmV0dXJuIGFkZE1vbnRocyhkaXJ0eURhdGUsIGFtb3VudCAqIDEyKTtcbn0iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/addYears/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/areIntervalsOverlapping/index.js": /*!********************************************************************!*\ !*** ./node_modules/date-fns/esm/areIntervalsOverlapping/index.js ***! \********************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return areIntervalsOverlapping; });\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n\n/**\n * @name areIntervalsOverlapping\n * @category Interval Helpers\n * @summary Is the given time interval overlapping with another time interval?\n *\n * @description\n * Is the given time interval overlapping with another time interval?\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * - The function was renamed from `areRangesOverlapping` to `areIntervalsOverlapping`.\n * This change was made to mirror the use of the word \"interval\" in standard ISO 8601:2004 terminology:\n *\n * ```\n * 2.1.3\n * time interval\n * part of the time axis limited by two instants\n * ```\n *\n * Also, this function now accepts an object with `start` and `end` properties\n * instead of two arguments as an interval.\n * This function now throws `RangeError` if the start of the interval is after its end\n * or if any date in the interval is `Invalid Date`.\n *\n * ```javascript\n * // Before v2.0.0\n *\n * areRangesOverlapping(\n * new Date(2014, 0, 10), new Date(2014, 0, 20),\n * new Date(2014, 0, 17), new Date(2014, 0, 21)\n * )\n *\n * // v2.0.0 onward\n *\n * areIntervalsOverlapping(\n * { start: new Date(2014, 0, 10), end: new Date(2014, 0, 20) },\n * { start: new Date(2014, 0, 17), end: new Date(2014, 0, 21) }\n * )\n * ```\n *\n * @param {Interval} intervalLeft - the first interval to compare. See [Interval]{@link docs/types/Interval}\n * @param {Interval} intervalRight - the second interval to compare. See [Interval]{@link docs/types/Interval}\n * @returns {Boolean} whether the time intervals are overlapping\n * @throws {TypeError} 2 arguments required\n * @throws {RangeError} The start of an interval cannot be after its end\n * @throws {RangeError} Date in interval cannot be `Invalid Date`\n *\n * @example\n * // For overlapping time intervals:\n * areIntervalsOverlapping(\n * { start: new Date(2014, 0, 10), end: new Date(2014, 0, 20) },\n * { start: new Date(2014, 0, 17), end: new Date(2014, 0, 21) }\n * )\n * //=> true\n *\n * @example\n * // For non-overlapping time intervals:\n * areIntervalsOverlapping(\n * { start: new Date(2014, 0, 10), end: new Date(2014, 0, 20) },\n * { start: new Date(2014, 0, 21), end: new Date(2014, 0, 22) }\n * )\n * //=> false\n */\n\nfunction areIntervalsOverlapping(dirtyIntervalLeft, dirtyIntervalRight) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present');\n }\n\n var intervalLeft = dirtyIntervalLeft || {};\n var intervalRight = dirtyIntervalRight || {};\n var leftStartTime = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(intervalLeft.start).getTime();\n var leftEndTime = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(intervalLeft.end).getTime();\n var rightStartTime = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(intervalRight.start).getTime();\n var rightEndTime = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(intervalRight.end).getTime(); // Throw an exception if start date is after end date or if any date is `Invalid Date`\n\n if (!(leftStartTime <= leftEndTime && rightStartTime <= rightEndTime)) {\n throw new RangeError('Invalid interval');\n }\n\n return leftStartTime < rightEndTime && rightStartTime < leftEndTime;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2FyZUludGVydmFsc092ZXJsYXBwaW5nL2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2VzbS9hcmVJbnRlcnZhbHNPdmVybGFwcGluZy9pbmRleC5qcz9kYmExIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0b0RhdGUgZnJvbSAnLi4vdG9EYXRlL2luZGV4LmpzJztcbi8qKlxuICogQG5hbWUgYXJlSW50ZXJ2YWxzT3ZlcmxhcHBpbmdcbiAqIEBjYXRlZ29yeSBJbnRlcnZhbCBIZWxwZXJzXG4gKiBAc3VtbWFyeSBJcyB0aGUgZ2l2ZW4gdGltZSBpbnRlcnZhbCBvdmVybGFwcGluZyB3aXRoIGFub3RoZXIgdGltZSBpbnRlcnZhbD9cbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIElzIHRoZSBnaXZlbiB0aW1lIGludGVydmFsIG92ZXJsYXBwaW5nIHdpdGggYW5vdGhlciB0aW1lIGludGVydmFsP1xuICpcbiAqICMjIyB2Mi4wLjAgYnJlYWtpbmcgY2hhbmdlczpcbiAqXG4gKiAtIFtDaGFuZ2VzIHRoYXQgYXJlIGNvbW1vbiBmb3IgdGhlIHdob2xlIGxpYnJhcnldKGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRlLWZucy9kYXRlLWZucy9ibG9iL21hc3Rlci9kb2NzL3VwZ3JhZGVHdWlkZS5tZCNDb21tb24tQ2hhbmdlcykuXG4gKlxuICogLSBUaGUgZnVuY3Rpb24gd2FzIHJlbmFtZWQgZnJvbSBgYXJlUmFuZ2VzT3ZlcmxhcHBpbmdgIHRvIGBhcmVJbnRlcnZhbHNPdmVybGFwcGluZ2AuXG4gKiAgIFRoaXMgY2hhbmdlIHdhcyBtYWRlIHRvIG1pcnJvciB0aGUgdXNlIG9mIHRoZSB3b3JkIFwiaW50ZXJ2YWxcIiBpbiBzdGFuZGFyZCBJU08gODYwMToyMDA0IHRlcm1pbm9sb2d5OlxuICpcbiAqICAgYGBgXG4gKiAgIDIuMS4zXG4gKiAgIHRpbWUgaW50ZXJ2YWxcbiAqICAgcGFydCBvZiB0aGUgdGltZSBheGlzIGxpbWl0ZWQgYnkgdHdvIGluc3RhbnRzXG4gKiAgIGBgYFxuICpcbiAqICAgQWxzbywgdGhpcyBmdW5jdGlvbiBub3cgYWNjZXB0cyBhbiBvYmplY3Qgd2l0aCBgc3RhcnRgIGFuZCBgZW5kYCBwcm9wZXJ0aWVzXG4gKiAgIGluc3RlYWQgb2YgdHdvIGFyZ3VtZW50cyBhcyBhbiBpbnRlcnZhbC5cbiAqICAgVGhpcyBmdW5jdGlvbiBub3cgdGhyb3dzIGBSYW5nZUVycm9yYCBpZiB0aGUgc3RhcnQgb2YgdGhlIGludGVydmFsIGlzIGFmdGVyIGl0cyBlbmRcbiAqICAgb3IgaWYgYW55IGRhdGUgaW4gdGhlIGludGVydmFsIGlzIGBJbnZhbGlkIERhdGVgLlxuICpcbiAqICAgYGBgamF2YXNjcmlwdFxuICogICAvLyBCZWZvcmUgdjIuMC4wXG4gKlxuICogICBhcmVSYW5nZXNPdmVybGFwcGluZyhcbiAqICAgICBuZXcgRGF0ZSgyMDE0LCAwLCAxMCksIG5ldyBEYXRlKDIwMTQsIDAsIDIwKSxcbiAqICAgICBuZXcgRGF0ZSgyMDE0LCAwLCAxNyksIG5ldyBEYXRlKDIwMTQsIDAsIDIxKVxuICogICApXG4gKlxuICogICAvLyB2Mi4wLjAgb253YXJkXG4gKlxuICogICBhcmVJbnRlcnZhbHNPdmVybGFwcGluZyhcbiAqICAgICB7IHN0YXJ0OiBuZXcgRGF0ZSgyMDE0LCAwLCAxMCksIGVuZDogbmV3IERhdGUoMjAxNCwgMCwgMjApIH0sXG4gKiAgICAgeyBzdGFydDogbmV3IERhdGUoMjAxNCwgMCwgMTcpLCBlbmQ6IG5ldyBEYXRlKDIwMTQsIDAsIDIxKSB9XG4gKiAgIClcbiAqICAgYGBgXG4gKlxuICogQHBhcmFtIHtJbnRlcnZhbH0gaW50ZXJ2YWxMZWZ0IC0gdGhlIGZpcnN0IGludGVydmFsIHRvIGNvbXBhcmUuIFNlZSBbSW50ZXJ2YWxde0BsaW5rIGRvY3MvdHlwZXMvSW50ZXJ2YWx9XG4gKiBAcGFyYW0ge0ludGVydmFsfSBpbnRlcnZhbFJpZ2h0IC0gdGhlIHNlY29uZCBpbnRlcnZhbCB0byBjb21wYXJlLiBTZWUgW0ludGVydmFsXXtAbGluayBkb2NzL3R5cGVzL0ludGVydmFsfVxuICogQHJldHVybnMge0Jvb2xlYW59IHdoZXRoZXIgdGhlIHRpbWUgaW50ZXJ2YWxzIGFyZSBvdmVybGFwcGluZ1xuICogQHRocm93cyB7VHlwZUVycm9yfSAyIGFyZ3VtZW50cyByZXF1aXJlZFxuICogQHRocm93cyB7UmFuZ2VFcnJvcn0gVGhlIHN0YXJ0IG9mIGFuIGludGVydmFsIGNhbm5vdCBiZSBhZnRlciBpdHMgZW5kXG4gKiBAdGhyb3dzIHtSYW5nZUVycm9yfSBEYXRlIGluIGludGVydmFsIGNhbm5vdCBiZSBgSW52YWxpZCBEYXRlYFxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBGb3Igb3ZlcmxhcHBpbmcgdGltZSBpbnRlcnZhbHM6XG4gKiBhcmVJbnRlcnZhbHNPdmVybGFwcGluZyhcbiAqICAgeyBzdGFydDogbmV3IERhdGUoMjAxNCwgMCwgMTApLCBlbmQ6IG5ldyBEYXRlKDIwMTQsIDAsIDIwKSB9LFxuICogICB7IHN0YXJ0OiBuZXcgRGF0ZSgyMDE0LCAwLCAxNyksIGVuZDogbmV3IERhdGUoMjAxNCwgMCwgMjEpIH1cbiAqIClcbiAqIC8vPT4gdHJ1ZVxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBGb3Igbm9uLW92ZXJsYXBwaW5nIHRpbWUgaW50ZXJ2YWxzOlxuICogYXJlSW50ZXJ2YWxzT3ZlcmxhcHBpbmcoXG4gKiAgIHsgc3RhcnQ6IG5ldyBEYXRlKDIwMTQsIDAsIDEwKSwgZW5kOiBuZXcgRGF0ZSgyMDE0LCAwLCAyMCkgfSxcbiAqICAgeyBzdGFydDogbmV3IERhdGUoMjAxNCwgMCwgMjEpLCBlbmQ6IG5ldyBEYXRlKDIwMTQsIDAsIDIyKSB9XG4gKiApXG4gKiAvLz0+IGZhbHNlXG4gKi9cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gYXJlSW50ZXJ2YWxzT3ZlcmxhcHBpbmcoZGlydHlJbnRlcnZhbExlZnQsIGRpcnR5SW50ZXJ2YWxSaWdodCkge1xuICBpZiAoYXJndW1lbnRzLmxlbmd0aCA8IDIpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCcyIGFyZ3VtZW50cyByZXF1aXJlZCwgYnV0IG9ubHkgJyArIGFyZ3VtZW50cy5sZW5ndGggKyAnIHByZXNlbnQnKTtcbiAgfVxuXG4gIHZhciBpbnRlcnZhbExlZnQgPSBkaXJ0eUludGVydmFsTGVmdCB8fCB7fTtcbiAgdmFyIGludGVydmFsUmlnaHQgPSBkaXJ0eUludGVydmFsUmlnaHQgfHwge307XG4gIHZhciBsZWZ0U3RhcnRUaW1lID0gdG9EYXRlKGludGVydmFsTGVmdC5zdGFydCkuZ2V0VGltZSgpO1xuICB2YXIgbGVmdEVuZFRpbWUgPSB0b0RhdGUoaW50ZXJ2YWxMZWZ0LmVuZCkuZ2V0VGltZSgpO1xuICB2YXIgcmlnaHRTdGFydFRpbWUgPSB0b0RhdGUoaW50ZXJ2YWxSaWdodC5zdGFydCkuZ2V0VGltZSgpO1xuICB2YXIgcmlnaHRFbmRUaW1lID0gdG9EYXRlKGludGVydmFsUmlnaHQuZW5kKS5nZXRUaW1lKCk7IC8vIFRocm93IGFuIGV4Y2VwdGlvbiBpZiBzdGFydCBkYXRlIGlzIGFmdGVyIGVuZCBkYXRlIG9yIGlmIGFueSBkYXRlIGlzIGBJbnZhbGlkIERhdGVgXG5cbiAgaWYgKCEobGVmdFN0YXJ0VGltZSA8PSBsZWZ0RW5kVGltZSAmJiByaWdodFN0YXJ0VGltZSA8PSByaWdodEVuZFRpbWUpKSB7XG4gICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ0ludmFsaWQgaW50ZXJ2YWwnKTtcbiAgfVxuXG4gIHJldHVybiBsZWZ0U3RhcnRUaW1lIDwgcmlnaHRFbmRUaW1lICYmIHJpZ2h0U3RhcnRUaW1lIDwgbGVmdEVuZFRpbWU7XG59Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/areIntervalsOverlapping/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/closestIndexTo/index.js": /*!***********************************************************!*\ !*** ./node_modules/date-fns/esm/closestIndexTo/index.js ***! \***********************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return closestIndexTo; });\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n\n/**\n * @name closestIndexTo\n * @category Common Helpers\n * @summary Return an index of the closest date from the array comparing to the given date.\n *\n * @description\n * Return an index of the closest date from the array comparing to the given date.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * - Now, `closestIndexTo` doesn't throw an exception\n * when the second argument is not an array, and returns Invalid Date instead.\n *\n * @param {Date|Number} dateToCompare - the date to compare with\n * @param {Date[]|Number[]} datesArray - the array to search\n * @returns {Number} an index of the date closest to the given date\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Which date is closer to 6 September 2015?\n * var dateToCompare = new Date(2015, 8, 6)\n * var datesArray = [\n * new Date(2015, 0, 1),\n * new Date(2016, 0, 1),\n * new Date(2017, 0, 1)\n * ]\n * var result = closestIndexTo(dateToCompare, datesArray)\n * //=> 1\n */\n\nfunction closestIndexTo(dirtyDateToCompare, dirtyDatesArray) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present');\n }\n\n var dateToCompare = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDateToCompare);\n\n if (isNaN(dateToCompare)) {\n return NaN;\n }\n\n var timeToCompare = dateToCompare.getTime();\n var datesArray; // `dirtyDatesArray` is undefined or null\n\n if (dirtyDatesArray == null) {\n datesArray = []; // `dirtyDatesArray` is Array, Set or Map, or object with custom `forEach` method\n } else if (typeof dirtyDatesArray.forEach === 'function') {\n datesArray = dirtyDatesArray; // If `dirtyDatesArray` is Array-like Object, convert to Array. Otherwise, make it empty Array\n } else {\n datesArray = Array.prototype.slice.call(dirtyDatesArray);\n }\n\n var result;\n var minDistance;\n datesArray.forEach(function (dirtyDate, index) {\n var currentDate = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate);\n\n if (isNaN(currentDate)) {\n result = NaN;\n minDistance = NaN;\n return;\n }\n\n var distance = Math.abs(timeToCompare - currentDate.getTime());\n\n if (result == null || distance < minDistance) {\n result = index;\n minDistance = distance;\n }\n });\n return result;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2Nsb3Nlc3RJbmRleFRvL2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2VzbS9jbG9zZXN0SW5kZXhUby9pbmRleC5qcz9jMjI4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0b0RhdGUgZnJvbSAnLi4vdG9EYXRlL2luZGV4LmpzJztcbi8qKlxuICogQG5hbWUgY2xvc2VzdEluZGV4VG9cbiAqIEBjYXRlZ29yeSBDb21tb24gSGVscGVyc1xuICogQHN1bW1hcnkgUmV0dXJuIGFuIGluZGV4IG9mIHRoZSBjbG9zZXN0IGRhdGUgZnJvbSB0aGUgYXJyYXkgY29tcGFyaW5nIHRvIHRoZSBnaXZlbiBkYXRlLlxuICpcbiAqIEBkZXNjcmlwdGlvblxuICogUmV0dXJuIGFuIGluZGV4IG9mIHRoZSBjbG9zZXN0IGRhdGUgZnJvbSB0aGUgYXJyYXkgY29tcGFyaW5nIHRvIHRoZSBnaXZlbiBkYXRlLlxuICpcbiAqICMjIyB2Mi4wLjAgYnJlYWtpbmcgY2hhbmdlczpcbiAqXG4gKiAtIFtDaGFuZ2VzIHRoYXQgYXJlIGNvbW1vbiBmb3IgdGhlIHdob2xlIGxpYnJhcnldKGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRlLWZucy9kYXRlLWZucy9ibG9iL21hc3Rlci9kb2NzL3VwZ3JhZGVHdWlkZS5tZCNDb21tb24tQ2hhbmdlcykuXG4gKlxuICogLSBOb3csIGBjbG9zZXN0SW5kZXhUb2AgZG9lc24ndCB0aHJvdyBhbiBleGNlcHRpb25cbiAqICAgd2hlbiB0aGUgc2Vjb25kIGFyZ3VtZW50IGlzIG5vdCBhbiBhcnJheSwgYW5kIHJldHVybnMgSW52YWxpZCBEYXRlIGluc3RlYWQuXG4gKlxuICogQHBhcmFtIHtEYXRlfE51bWJlcn0gZGF0ZVRvQ29tcGFyZSAtIHRoZSBkYXRlIHRvIGNvbXBhcmUgd2l0aFxuICogQHBhcmFtIHtEYXRlW118TnVtYmVyW119IGRhdGVzQXJyYXkgLSB0aGUgYXJyYXkgdG8gc2VhcmNoXG4gKiBAcmV0dXJucyB7TnVtYmVyfSBhbiBpbmRleCBvZiB0aGUgZGF0ZSBjbG9zZXN0IHRvIHRoZSBnaXZlbiBkYXRlXG4gKiBAdGhyb3dzIHtUeXBlRXJyb3J9IDIgYXJndW1lbnRzIHJlcXVpcmVkXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIFdoaWNoIGRhdGUgaXMgY2xvc2VyIHRvIDYgU2VwdGVtYmVyIDIwMTU/XG4gKiB2YXIgZGF0ZVRvQ29tcGFyZSA9IG5ldyBEYXRlKDIwMTUsIDgsIDYpXG4gKiB2YXIgZGF0ZXNBcnJheSA9IFtcbiAqICAgbmV3IERhdGUoMjAxNSwgMCwgMSksXG4gKiAgIG5ldyBEYXRlKDIwMTYsIDAsIDEpLFxuICogICBuZXcgRGF0ZSgyMDE3LCAwLCAxKVxuICogXVxuICogdmFyIHJlc3VsdCA9IGNsb3Nlc3RJbmRleFRvKGRhdGVUb0NvbXBhcmUsIGRhdGVzQXJyYXkpXG4gKiAvLz0+IDFcbiAqL1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBjbG9zZXN0SW5kZXhUbyhkaXJ0eURhdGVUb0NvbXBhcmUsIGRpcnR5RGF0ZXNBcnJheSkge1xuICBpZiAoYXJndW1lbnRzLmxlbmd0aCA8IDIpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCcyIGFyZ3VtZW50cyByZXF1aXJlZCwgYnV0IG9ubHkgJyArIGFyZ3VtZW50cy5sZW5ndGggKyAnIHByZXNlbnQnKTtcbiAgfVxuXG4gIHZhciBkYXRlVG9Db21wYXJlID0gdG9EYXRlKGRpcnR5RGF0ZVRvQ29tcGFyZSk7XG5cbiAgaWYgKGlzTmFOKGRhdGVUb0NvbXBhcmUpKSB7XG4gICAgcmV0dXJuIE5hTjtcbiAgfVxuXG4gIHZhciB0aW1lVG9Db21wYXJlID0gZGF0ZVRvQ29tcGFyZS5nZXRUaW1lKCk7XG4gIHZhciBkYXRlc0FycmF5OyAvLyBgZGlydHlEYXRlc0FycmF5YCBpcyB1bmRlZmluZWQgb3IgbnVsbFxuXG4gIGlmIChkaXJ0eURhdGVzQXJyYXkgPT0gbnVsbCkge1xuICAgIGRhdGVzQXJyYXkgPSBbXTsgLy8gYGRpcnR5RGF0ZXNBcnJheWAgaXMgQXJyYXksIFNldCBvciBNYXAsIG9yIG9iamVjdCB3aXRoIGN1c3RvbSBgZm9yRWFjaGAgbWV0aG9kXG4gIH0gZWxzZSBpZiAodHlwZW9mIGRpcnR5RGF0ZXNBcnJheS5mb3JFYWNoID09PSAnZnVuY3Rpb24nKSB7XG4gICAgZGF0ZXNBcnJheSA9IGRpcnR5RGF0ZXNBcnJheTsgLy8gSWYgYGRpcnR5RGF0ZXNBcnJheWAgaXMgQXJyYXktbGlrZSBPYmplY3QsIGNvbnZlcnQgdG8gQXJyYXkuIE90aGVyd2lzZSwgbWFrZSBpdCBlbXB0eSBBcnJheVxuICB9IGVsc2Uge1xuICAgIGRhdGVzQXJyYXkgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChkaXJ0eURhdGVzQXJyYXkpO1xuICB9XG5cbiAgdmFyIHJlc3VsdDtcbiAgdmFyIG1pbkRpc3RhbmNlO1xuICBkYXRlc0FycmF5LmZvckVhY2goZnVuY3Rpb24gKGRpcnR5RGF0ZSwgaW5kZXgpIHtcbiAgICB2YXIgY3VycmVudERhdGUgPSB0b0RhdGUoZGlydHlEYXRlKTtcblxuICAgIGlmIChpc05hTihjdXJyZW50RGF0ZSkpIHtcbiAgICAgIHJlc3VsdCA9IE5hTjtcbiAgICAgIG1pbkRpc3RhbmNlID0gTmFOO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHZhciBkaXN0YW5jZSA9IE1hdGguYWJzKHRpbWVUb0NvbXBhcmUgLSBjdXJyZW50RGF0ZS5nZXRUaW1lKCkpO1xuXG4gICAgaWYgKHJlc3VsdCA9PSBudWxsIHx8IGRpc3RhbmNlIDwgbWluRGlzdGFuY2UpIHtcbiAgICAgIHJlc3VsdCA9IGluZGV4O1xuICAgICAgbWluRGlzdGFuY2UgPSBkaXN0YW5jZTtcbiAgICB9XG4gIH0pO1xuICByZXR1cm4gcmVzdWx0O1xufSJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/closestIndexTo/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/closestTo/index.js": /*!******************************************************!*\ !*** ./node_modules/date-fns/esm/closestTo/index.js ***! \******************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return closestTo; });\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n\n/**\n * @name closestTo\n * @category Common Helpers\n * @summary Return a date from the array closest to the given date.\n *\n * @description\n * Return a date from the array closest to the given date.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * - Now, `closestTo` doesn't throw an exception\n * when the second argument is not an array, and returns Invalid Date instead.\n *\n * @param {Date|Number} dateToCompare - the date to compare with\n * @param {Date[]|Number[]} datesArray - the array to search\n * @returns {Date} the date from the array closest to the given date\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Which date is closer to 6 September 2015: 1 January 2000 or 1 January 2030?\n * var dateToCompare = new Date(2015, 8, 6)\n * var result = closestTo(dateToCompare, [\n * new Date(2000, 0, 1),\n * new Date(2030, 0, 1)\n * ])\n * //=> Tue Jan 01 2030 00:00:00\n */\n\nfunction closestTo(dirtyDateToCompare, dirtyDatesArray) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present');\n }\n\n var dateToCompare = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDateToCompare);\n\n if (isNaN(dateToCompare)) {\n return new Date(NaN);\n }\n\n var timeToCompare = dateToCompare.getTime();\n var datesArray; // `dirtyDatesArray` is undefined or null\n\n if (dirtyDatesArray == null) {\n datesArray = []; // `dirtyDatesArray` is Array, Set or Map, or object with custom `forEach` method\n } else if (typeof dirtyDatesArray.forEach === 'function') {\n datesArray = dirtyDatesArray; // If `dirtyDatesArray` is Array-like Object, convert to Array. Otherwise, make it empty Array\n } else {\n datesArray = Array.prototype.slice.call(dirtyDatesArray);\n }\n\n var result;\n var minDistance;\n datesArray.forEach(function (dirtyDate) {\n var currentDate = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate);\n\n if (isNaN(currentDate)) {\n result = new Date(NaN);\n minDistance = NaN;\n return;\n }\n\n var distance = Math.abs(timeToCompare - currentDate.getTime());\n\n if (result == null || distance < minDistance) {\n result = currentDate;\n minDistance = distance;\n }\n });\n return result;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2Nsb3Nlc3RUby9pbmRleC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9kYXRlLWZucy9lc20vY2xvc2VzdFRvL2luZGV4LmpzP2ExODQiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHRvRGF0ZSBmcm9tICcuLi90b0RhdGUvaW5kZXguanMnO1xuLyoqXG4gKiBAbmFtZSBjbG9zZXN0VG9cbiAqIEBjYXRlZ29yeSBDb21tb24gSGVscGVyc1xuICogQHN1bW1hcnkgUmV0dXJuIGEgZGF0ZSBmcm9tIHRoZSBhcnJheSBjbG9zZXN0IHRvIHRoZSBnaXZlbiBkYXRlLlxuICpcbiAqIEBkZXNjcmlwdGlvblxuICogUmV0dXJuIGEgZGF0ZSBmcm9tIHRoZSBhcnJheSBjbG9zZXN0IHRvIHRoZSBnaXZlbiBkYXRlLlxuICpcbiAqICMjIyB2Mi4wLjAgYnJlYWtpbmcgY2hhbmdlczpcbiAqXG4gKiAtIFtDaGFuZ2VzIHRoYXQgYXJlIGNvbW1vbiBmb3IgdGhlIHdob2xlIGxpYnJhcnldKGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRlLWZucy9kYXRlLWZucy9ibG9iL21hc3Rlci9kb2NzL3VwZ3JhZGVHdWlkZS5tZCNDb21tb24tQ2hhbmdlcykuXG4gKlxuICogLSBOb3csIGBjbG9zZXN0VG9gIGRvZXNuJ3QgdGhyb3cgYW4gZXhjZXB0aW9uXG4gKiAgIHdoZW4gdGhlIHNlY29uZCBhcmd1bWVudCBpcyBub3QgYW4gYXJyYXksIGFuZCByZXR1cm5zIEludmFsaWQgRGF0ZSBpbnN0ZWFkLlxuICpcbiAqIEBwYXJhbSB7RGF0ZXxOdW1iZXJ9IGRhdGVUb0NvbXBhcmUgLSB0aGUgZGF0ZSB0byBjb21wYXJlIHdpdGhcbiAqIEBwYXJhbSB7RGF0ZVtdfE51bWJlcltdfSBkYXRlc0FycmF5IC0gdGhlIGFycmF5IHRvIHNlYXJjaFxuICogQHJldHVybnMge0RhdGV9IHRoZSBkYXRlIGZyb20gdGhlIGFycmF5IGNsb3Nlc3QgdG8gdGhlIGdpdmVuIGRhdGVcbiAqIEB0aHJvd3Mge1R5cGVFcnJvcn0gMiBhcmd1bWVudHMgcmVxdWlyZWRcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gV2hpY2ggZGF0ZSBpcyBjbG9zZXIgdG8gNiBTZXB0ZW1iZXIgMjAxNTogMSBKYW51YXJ5IDIwMDAgb3IgMSBKYW51YXJ5IDIwMzA/XG4gKiB2YXIgZGF0ZVRvQ29tcGFyZSA9IG5ldyBEYXRlKDIwMTUsIDgsIDYpXG4gKiB2YXIgcmVzdWx0ID0gY2xvc2VzdFRvKGRhdGVUb0NvbXBhcmUsIFtcbiAqICAgbmV3IERhdGUoMjAwMCwgMCwgMSksXG4gKiAgIG5ldyBEYXRlKDIwMzAsIDAsIDEpXG4gKiBdKVxuICogLy89PiBUdWUgSmFuIDAxIDIwMzAgMDA6MDA6MDBcbiAqL1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBjbG9zZXN0VG8oZGlydHlEYXRlVG9Db21wYXJlLCBkaXJ0eURhdGVzQXJyYXkpIHtcbiAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPCAyKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignMiBhcmd1bWVudHMgcmVxdWlyZWQsIGJ1dCBvbmx5ICcgKyBhcmd1bWVudHMubGVuZ3RoICsgJyBwcmVzZW50Jyk7XG4gIH1cblxuICB2YXIgZGF0ZVRvQ29tcGFyZSA9IHRvRGF0ZShkaXJ0eURhdGVUb0NvbXBhcmUpO1xuXG4gIGlmIChpc05hTihkYXRlVG9Db21wYXJlKSkge1xuICAgIHJldHVybiBuZXcgRGF0ZShOYU4pO1xuICB9XG5cbiAgdmFyIHRpbWVUb0NvbXBhcmUgPSBkYXRlVG9Db21wYXJlLmdldFRpbWUoKTtcbiAgdmFyIGRhdGVzQXJyYXk7IC8vIGBkaXJ0eURhdGVzQXJyYXlgIGlzIHVuZGVmaW5lZCBvciBudWxsXG5cbiAgaWYgKGRpcnR5RGF0ZXNBcnJheSA9PSBudWxsKSB7XG4gICAgZGF0ZXNBcnJheSA9IFtdOyAvLyBgZGlydHlEYXRlc0FycmF5YCBpcyBBcnJheSwgU2V0IG9yIE1hcCwgb3Igb2JqZWN0IHdpdGggY3VzdG9tIGBmb3JFYWNoYCBtZXRob2RcbiAgfSBlbHNlIGlmICh0eXBlb2YgZGlydHlEYXRlc0FycmF5LmZvckVhY2ggPT09ICdmdW5jdGlvbicpIHtcbiAgICBkYXRlc0FycmF5ID0gZGlydHlEYXRlc0FycmF5OyAvLyBJZiBgZGlydHlEYXRlc0FycmF5YCBpcyBBcnJheS1saWtlIE9iamVjdCwgY29udmVydCB0byBBcnJheS4gT3RoZXJ3aXNlLCBtYWtlIGl0IGVtcHR5IEFycmF5XG4gIH0gZWxzZSB7XG4gICAgZGF0ZXNBcnJheSA9IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGRpcnR5RGF0ZXNBcnJheSk7XG4gIH1cblxuICB2YXIgcmVzdWx0O1xuICB2YXIgbWluRGlzdGFuY2U7XG4gIGRhdGVzQXJyYXkuZm9yRWFjaChmdW5jdGlvbiAoZGlydHlEYXRlKSB7XG4gICAgdmFyIGN1cnJlbnREYXRlID0gdG9EYXRlKGRpcnR5RGF0ZSk7XG5cbiAgICBpZiAoaXNOYU4oY3VycmVudERhdGUpKSB7XG4gICAgICByZXN1bHQgPSBuZXcgRGF0ZShOYU4pO1xuICAgICAgbWluRGlzdGFuY2UgPSBOYU47XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdmFyIGRpc3RhbmNlID0gTWF0aC5hYnModGltZVRvQ29tcGFyZSAtIGN1cnJlbnREYXRlLmdldFRpbWUoKSk7XG5cbiAgICBpZiAocmVzdWx0ID09IG51bGwgfHwgZGlzdGFuY2UgPCBtaW5EaXN0YW5jZSkge1xuICAgICAgcmVzdWx0ID0gY3VycmVudERhdGU7XG4gICAgICBtaW5EaXN0YW5jZSA9IGRpc3RhbmNlO1xuICAgIH1cbiAgfSk7XG4gIHJldHVybiByZXN1bHQ7XG59Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/closestTo/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/compareAsc/index.js": /*!*******************************************************!*\ !*** ./node_modules/date-fns/esm/compareAsc/index.js ***! \*******************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return compareAsc; });\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n\n/**\n * @name compareAsc\n * @category Common Helpers\n * @summary Compare the two dates and return -1, 0 or 1.\n *\n * @description\n * Compare the two dates and return 1 if the first date is after the second,\n * -1 if the first date is before the second or 0 if dates are equal.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} dateLeft - the first date to compare\n * @param {Date|Number} dateRight - the second date to compare\n * @returns {Number} the result of the comparison\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Compare 11 February 1987 and 10 July 1989:\n * var result = compareAsc(new Date(1987, 1, 11), new Date(1989, 6, 10))\n * //=> -1\n *\n * @example\n * // Sort the array of dates:\n * var result = [\n * new Date(1995, 6, 2),\n * new Date(1987, 1, 11),\n * new Date(1989, 6, 10)\n * ].sort(compareAsc)\n * //=> [\n * // Wed Feb 11 1987 00:00:00,\n * // Mon Jul 10 1989 00:00:00,\n * // Sun Jul 02 1995 00:00:00\n * // ]\n */\n\nfunction compareAsc(dirtyDateLeft, dirtyDateRight) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present');\n }\n\n var dateLeft = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDateLeft);\n var dateRight = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDateRight);\n var diff = dateLeft.getTime() - dateRight.getTime();\n\n if (diff < 0) {\n return -1;\n } else if (diff > 0) {\n return 1; // Return 0 if diff is 0; return NaN if diff is NaN\n } else {\n return diff;\n }\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2NvbXBhcmVBc2MvaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2NvbXBhcmVBc2MvaW5kZXguanM/MjYxMyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdG9EYXRlIGZyb20gJy4uL3RvRGF0ZS9pbmRleC5qcyc7XG4vKipcbiAqIEBuYW1lIGNvbXBhcmVBc2NcbiAqIEBjYXRlZ29yeSBDb21tb24gSGVscGVyc1xuICogQHN1bW1hcnkgQ29tcGFyZSB0aGUgdHdvIGRhdGVzIGFuZCByZXR1cm4gLTEsIDAgb3IgMS5cbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIENvbXBhcmUgdGhlIHR3byBkYXRlcyBhbmQgcmV0dXJuIDEgaWYgdGhlIGZpcnN0IGRhdGUgaXMgYWZ0ZXIgdGhlIHNlY29uZCxcbiAqIC0xIGlmIHRoZSBmaXJzdCBkYXRlIGlzIGJlZm9yZSB0aGUgc2Vjb25kIG9yIDAgaWYgZGF0ZXMgYXJlIGVxdWFsLlxuICpcbiAqICMjIyB2Mi4wLjAgYnJlYWtpbmcgY2hhbmdlczpcbiAqXG4gKiAtIFtDaGFuZ2VzIHRoYXQgYXJlIGNvbW1vbiBmb3IgdGhlIHdob2xlIGxpYnJhcnldKGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRlLWZucy9kYXRlLWZucy9ibG9iL21hc3Rlci9kb2NzL3VwZ3JhZGVHdWlkZS5tZCNDb21tb24tQ2hhbmdlcykuXG4gKlxuICogQHBhcmFtIHtEYXRlfE51bWJlcn0gZGF0ZUxlZnQgLSB0aGUgZmlyc3QgZGF0ZSB0byBjb21wYXJlXG4gKiBAcGFyYW0ge0RhdGV8TnVtYmVyfSBkYXRlUmlnaHQgLSB0aGUgc2Vjb25kIGRhdGUgdG8gY29tcGFyZVxuICogQHJldHVybnMge051bWJlcn0gdGhlIHJlc3VsdCBvZiB0aGUgY29tcGFyaXNvblxuICogQHRocm93cyB7VHlwZUVycm9yfSAyIGFyZ3VtZW50cyByZXF1aXJlZFxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBDb21wYXJlIDExIEZlYnJ1YXJ5IDE5ODcgYW5kIDEwIEp1bHkgMTk4OTpcbiAqIHZhciByZXN1bHQgPSBjb21wYXJlQXNjKG5ldyBEYXRlKDE5ODcsIDEsIDExKSwgbmV3IERhdGUoMTk4OSwgNiwgMTApKVxuICogLy89PiAtMVxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBTb3J0IHRoZSBhcnJheSBvZiBkYXRlczpcbiAqIHZhciByZXN1bHQgPSBbXG4gKiAgIG5ldyBEYXRlKDE5OTUsIDYsIDIpLFxuICogICBuZXcgRGF0ZSgxOTg3LCAxLCAxMSksXG4gKiAgIG5ldyBEYXRlKDE5ODksIDYsIDEwKVxuICogXS5zb3J0KGNvbXBhcmVBc2MpXG4gKiAvLz0+IFtcbiAqIC8vICAgV2VkIEZlYiAxMSAxOTg3IDAwOjAwOjAwLFxuICogLy8gICBNb24gSnVsIDEwIDE5ODkgMDA6MDA6MDAsXG4gKiAvLyAgIFN1biBKdWwgMDIgMTk5NSAwMDowMDowMFxuICogLy8gXVxuICovXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGNvbXBhcmVBc2MoZGlydHlEYXRlTGVmdCwgZGlydHlEYXRlUmlnaHQpIHtcbiAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPCAyKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignMiBhcmd1bWVudHMgcmVxdWlyZWQsIGJ1dCBvbmx5ICcgKyBhcmd1bWVudHMubGVuZ3RoICsgJyBwcmVzZW50Jyk7XG4gIH1cblxuICB2YXIgZGF0ZUxlZnQgPSB0b0RhdGUoZGlydHlEYXRlTGVmdCk7XG4gIHZhciBkYXRlUmlnaHQgPSB0b0RhdGUoZGlydHlEYXRlUmlnaHQpO1xuICB2YXIgZGlmZiA9IGRhdGVMZWZ0LmdldFRpbWUoKSAtIGRhdGVSaWdodC5nZXRUaW1lKCk7XG5cbiAgaWYgKGRpZmYgPCAwKSB7XG4gICAgcmV0dXJuIC0xO1xuICB9IGVsc2UgaWYgKGRpZmYgPiAwKSB7XG4gICAgcmV0dXJuIDE7IC8vIFJldHVybiAwIGlmIGRpZmYgaXMgMDsgcmV0dXJuIE5hTiBpZiBkaWZmIGlzIE5hTlxuICB9IGVsc2Uge1xuICAgIHJldHVybiBkaWZmO1xuICB9XG59Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/compareAsc/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/compareDesc/index.js": /*!********************************************************!*\ !*** ./node_modules/date-fns/esm/compareDesc/index.js ***! \********************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return compareDesc; });\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n\n/**\n * @name compareDesc\n * @category Common Helpers\n * @summary Compare the two dates reverse chronologically and return -1, 0 or 1.\n *\n * @description\n * Compare the two dates and return -1 if the first date is after the second,\n * 1 if the first date is before the second or 0 if dates are equal.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} dateLeft - the first date to compare\n * @param {Date|Number} dateRight - the second date to compare\n * @returns {Number} the result of the comparison\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Compare 11 February 1987 and 10 July 1989 reverse chronologically:\n * var result = compareDesc(new Date(1987, 1, 11), new Date(1989, 6, 10))\n * //=> 1\n *\n * @example\n * // Sort the array of dates in reverse chronological order:\n * var result = [\n * new Date(1995, 6, 2),\n * new Date(1987, 1, 11),\n * new Date(1989, 6, 10)\n * ].sort(compareDesc)\n * //=> [\n * // Sun Jul 02 1995 00:00:00,\n * // Mon Jul 10 1989 00:00:00,\n * // Wed Feb 11 1987 00:00:00\n * // ]\n */\n\nfunction compareDesc(dirtyDateLeft, dirtyDateRight) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present');\n }\n\n var dateLeft = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDateLeft);\n var dateRight = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDateRight);\n var diff = dateLeft.getTime() - dateRight.getTime();\n\n if (diff > 0) {\n return -1;\n } else if (diff < 0) {\n return 1; // Return 0 if diff is 0; return NaN if diff is NaN\n } else {\n return diff;\n }\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2NvbXBhcmVEZXNjL2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2VzbS9jb21wYXJlRGVzYy9pbmRleC5qcz83ZGUzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0b0RhdGUgZnJvbSAnLi4vdG9EYXRlL2luZGV4LmpzJztcbi8qKlxuICogQG5hbWUgY29tcGFyZURlc2NcbiAqIEBjYXRlZ29yeSBDb21tb24gSGVscGVyc1xuICogQHN1bW1hcnkgQ29tcGFyZSB0aGUgdHdvIGRhdGVzIHJldmVyc2UgY2hyb25vbG9naWNhbGx5IGFuZCByZXR1cm4gLTEsIDAgb3IgMS5cbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIENvbXBhcmUgdGhlIHR3byBkYXRlcyBhbmQgcmV0dXJuIC0xIGlmIHRoZSBmaXJzdCBkYXRlIGlzIGFmdGVyIHRoZSBzZWNvbmQsXG4gKiAxIGlmIHRoZSBmaXJzdCBkYXRlIGlzIGJlZm9yZSB0aGUgc2Vjb25kIG9yIDAgaWYgZGF0ZXMgYXJlIGVxdWFsLlxuICpcbiAqICMjIyB2Mi4wLjAgYnJlYWtpbmcgY2hhbmdlczpcbiAqXG4gKiAtIFtDaGFuZ2VzIHRoYXQgYXJlIGNvbW1vbiBmb3IgdGhlIHdob2xlIGxpYnJhcnldKGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRlLWZucy9kYXRlLWZucy9ibG9iL21hc3Rlci9kb2NzL3VwZ3JhZGVHdWlkZS5tZCNDb21tb24tQ2hhbmdlcykuXG4gKlxuICogQHBhcmFtIHtEYXRlfE51bWJlcn0gZGF0ZUxlZnQgLSB0aGUgZmlyc3QgZGF0ZSB0byBjb21wYXJlXG4gKiBAcGFyYW0ge0RhdGV8TnVtYmVyfSBkYXRlUmlnaHQgLSB0aGUgc2Vjb25kIGRhdGUgdG8gY29tcGFyZVxuICogQHJldHVybnMge051bWJlcn0gdGhlIHJlc3VsdCBvZiB0aGUgY29tcGFyaXNvblxuICogQHRocm93cyB7VHlwZUVycm9yfSAyIGFyZ3VtZW50cyByZXF1aXJlZFxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBDb21wYXJlIDExIEZlYnJ1YXJ5IDE5ODcgYW5kIDEwIEp1bHkgMTk4OSByZXZlcnNlIGNocm9ub2xvZ2ljYWxseTpcbiAqIHZhciByZXN1bHQgPSBjb21wYXJlRGVzYyhuZXcgRGF0ZSgxOTg3LCAxLCAxMSksIG5ldyBEYXRlKDE5ODksIDYsIDEwKSlcbiAqIC8vPT4gMVxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBTb3J0IHRoZSBhcnJheSBvZiBkYXRlcyBpbiByZXZlcnNlIGNocm9ub2xvZ2ljYWwgb3JkZXI6XG4gKiB2YXIgcmVzdWx0ID0gW1xuICogICBuZXcgRGF0ZSgxOTk1LCA2LCAyKSxcbiAqICAgbmV3IERhdGUoMTk4NywgMSwgMTEpLFxuICogICBuZXcgRGF0ZSgxOTg5LCA2LCAxMClcbiAqIF0uc29ydChjb21wYXJlRGVzYylcbiAqIC8vPT4gW1xuICogLy8gICBTdW4gSnVsIDAyIDE5OTUgMDA6MDA6MDAsXG4gKiAvLyAgIE1vbiBKdWwgMTAgMTk4OSAwMDowMDowMCxcbiAqIC8vICAgV2VkIEZlYiAxMSAxOTg3IDAwOjAwOjAwXG4gKiAvLyBdXG4gKi9cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gY29tcGFyZURlc2MoZGlydHlEYXRlTGVmdCwgZGlydHlEYXRlUmlnaHQpIHtcbiAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPCAyKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignMiBhcmd1bWVudHMgcmVxdWlyZWQsIGJ1dCBvbmx5ICcgKyBhcmd1bWVudHMubGVuZ3RoICsgJyBwcmVzZW50Jyk7XG4gIH1cblxuICB2YXIgZGF0ZUxlZnQgPSB0b0RhdGUoZGlydHlEYXRlTGVmdCk7XG4gIHZhciBkYXRlUmlnaHQgPSB0b0RhdGUoZGlydHlEYXRlUmlnaHQpO1xuICB2YXIgZGlmZiA9IGRhdGVMZWZ0LmdldFRpbWUoKSAtIGRhdGVSaWdodC5nZXRUaW1lKCk7XG5cbiAgaWYgKGRpZmYgPiAwKSB7XG4gICAgcmV0dXJuIC0xO1xuICB9IGVsc2UgaWYgKGRpZmYgPCAwKSB7XG4gICAgcmV0dXJuIDE7IC8vIFJldHVybiAwIGlmIGRpZmYgaXMgMDsgcmV0dXJuIE5hTiBpZiBkaWZmIGlzIE5hTlxuICB9IGVsc2Uge1xuICAgIHJldHVybiBkaWZmO1xuICB9XG59Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/compareDesc/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/constants/index.js": /*!******************************************************!*\ !*** ./node_modules/date-fns/esm/constants/index.js ***! \******************************************************/ /*! exports provided: maxTime, minTime */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"maxTime\", function() { return maxTime; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"minTime\", function() { return minTime; });\n/**\n * Maximum allowed time.\n * @constant\n * @type {number}\n * @default\n */\nvar maxTime = Math.pow(10, 8) * 24 * 60 * 60 * 1000;\n/**\n * Minimum allowed time.\n * @constant\n * @type {number}\n * @default\n */\n\nvar minTime = -maxTime;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2NvbnN0YW50cy9pbmRleC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9kYXRlLWZucy9lc20vY29uc3RhbnRzL2luZGV4LmpzP2MzN2EiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiAgTWF4aW11bSBhbGxvd2VkIHRpbWUuXG4gKiAgQGNvbnN0YW50XG4gKiAgQHR5cGUge251bWJlcn1cbiAqICBAZGVmYXVsdFxuICovXG5leHBvcnQgdmFyIG1heFRpbWUgPSBNYXRoLnBvdygxMCwgOCkgKiAyNCAqIDYwICogNjAgKiAxMDAwO1xuLyoqXG4gKiAgTWluaW11bSBhbGxvd2VkIHRpbWUuXG4gKiAgQGNvbnN0YW50XG4gKiAgQHR5cGUge251bWJlcn1cbiAqICBAZGVmYXVsdFxuICovXG5cbmV4cG9ydCB2YXIgbWluVGltZSA9IC1tYXhUaW1lOyJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/constants/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/differenceInBusinessDays/index.js": /*!*********************************************************************!*\ !*** ./node_modules/date-fns/esm/differenceInBusinessDays/index.js ***! \*********************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return differenceInBusinessDays; });\n/* harmony import */ var _isValid_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../isValid/index.js */ \"./node_modules/date-fns/esm/isValid/index.js\");\n/* harmony import */ var _isWeekend_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../isWeekend/index.js */ \"./node_modules/date-fns/esm/isWeekend/index.js\");\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n/* harmony import */ var _differenceInCalendarDays_index_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../differenceInCalendarDays/index.js */ \"./node_modules/date-fns/esm/differenceInCalendarDays/index.js\");\n/* harmony import */ var _addDays_index_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../addDays/index.js */ \"./node_modules/date-fns/esm/addDays/index.js\");\n/* harmony import */ var _isSameDay_index_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../isSameDay/index.js */ \"./node_modules/date-fns/esm/isSameDay/index.js\");\n/* harmony import */ var _lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../_lib/toInteger/index.js */ \"./node_modules/date-fns/esm/_lib/toInteger/index.js\");\n\n\n\n\n\n\n\n/**\n * @name differenceInBusinessDays\n * @category Day Helpers\n * @summary Get the number of business days between the given dates.\n *\n * @description\n * Get the number of business day periods between the given dates.\n * Business days being days that arent in the weekend.\n * Like `differenceInCalendarDays`, the function removes the times from\n * the dates before calculating the difference.\n *\n * @param {Date|Number} dateLeft - the later date\n * @param {Date|Number} dateRight - the earlier date\n * @returns {Number} the number of business days\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // How many business days are between\n * // 10 January 2014 and 20 July 2014?\n * var result = differenceInBusinessDays(\n * new Date(2014, 6, 20),\n * new Date(2014, 0, 10)\n * )\n * //=> 136\n */\n\nfunction differenceInBusinessDays(dirtyDateLeft, dirtyDateRight) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present');\n }\n\n var dateLeft = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(dirtyDateLeft);\n var dateRight = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(dirtyDateRight);\n if (!Object(_isValid_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dateLeft) || !Object(_isValid_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dateRight)) return new Date(NaN);\n var calendarDifference = Object(_differenceInCalendarDays_index_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(dateLeft, dateRight);\n var sign = calendarDifference < 0 ? -1 : 1;\n var weeks = Object(_lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(calendarDifference / 7);\n var result = weeks * 5;\n dateRight = Object(_addDays_index_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(dateRight, weeks * 7); // the loop below will run at most 6 times to account for the remaining days that don't makeup a full week\n\n while (!Object(_isSameDay_index_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(dateLeft, dateRight)) {\n // sign is used to account for both negative and positive differences\n result += Object(_isWeekend_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(dateRight) ? 0 : sign;\n dateRight = Object(_addDays_index_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(dateRight, sign);\n }\n\n return result === 0 ? 0 : result;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2RpZmZlcmVuY2VJbkJ1c2luZXNzRGF5cy9pbmRleC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9kYXRlLWZucy9lc20vZGlmZmVyZW5jZUluQnVzaW5lc3NEYXlzL2luZGV4LmpzPzY5YTkiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGlzVmFsaWQgZnJvbSAnLi4vaXNWYWxpZC9pbmRleC5qcyc7XG5pbXBvcnQgaXNXZWVrZW5kIGZyb20gJy4uL2lzV2Vla2VuZC9pbmRleC5qcyc7XG5pbXBvcnQgdG9EYXRlIGZyb20gJy4uL3RvRGF0ZS9pbmRleC5qcyc7XG5pbXBvcnQgZGlmZmVyZW5jZUluQ2FsZW5kYXJEYXlzIGZyb20gJy4uL2RpZmZlcmVuY2VJbkNhbGVuZGFyRGF5cy9pbmRleC5qcyc7XG5pbXBvcnQgYWRkRGF5cyBmcm9tICcuLi9hZGREYXlzL2luZGV4LmpzJztcbmltcG9ydCBpc1NhbWVEYXkgZnJvbSAnLi4vaXNTYW1lRGF5L2luZGV4LmpzJztcbmltcG9ydCB0b0ludGVnZXIgZnJvbSAnLi4vX2xpYi90b0ludGVnZXIvaW5kZXguanMnO1xuLyoqXG4gKiBAbmFtZSBkaWZmZXJlbmNlSW5CdXNpbmVzc0RheXNcbiAqIEBjYXRlZ29yeSBEYXkgSGVscGVyc1xuICogQHN1bW1hcnkgR2V0IHRoZSBudW1iZXIgb2YgYnVzaW5lc3MgZGF5cyBiZXR3ZWVuIHRoZSBnaXZlbiBkYXRlcy5cbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIEdldCB0aGUgbnVtYmVyIG9mIGJ1c2luZXNzIGRheSBwZXJpb2RzIGJldHdlZW4gdGhlIGdpdmVuIGRhdGVzLlxuICogQnVzaW5lc3MgZGF5cyBiZWluZyBkYXlzIHRoYXQgYXJlbnQgaW4gdGhlIHdlZWtlbmQuXG4gKiBMaWtlIGBkaWZmZXJlbmNlSW5DYWxlbmRhckRheXNgLCB0aGUgZnVuY3Rpb24gcmVtb3ZlcyB0aGUgdGltZXMgZnJvbVxuICogdGhlIGRhdGVzIGJlZm9yZSBjYWxjdWxhdGluZyB0aGUgZGlmZmVyZW5jZS5cbiAqXG4gKiBAcGFyYW0ge0RhdGV8TnVtYmVyfSBkYXRlTGVmdCAtIHRoZSBsYXRlciBkYXRlXG4gKiBAcGFyYW0ge0RhdGV8TnVtYmVyfSBkYXRlUmlnaHQgLSB0aGUgZWFybGllciBkYXRlXG4gKiBAcmV0dXJucyB7TnVtYmVyfSB0aGUgbnVtYmVyIG9mIGJ1c2luZXNzIGRheXNcbiAqIEB0aHJvd3Mge1R5cGVFcnJvcn0gMiBhcmd1bWVudHMgcmVxdWlyZWRcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gSG93IG1hbnkgYnVzaW5lc3MgZGF5cyBhcmUgYmV0d2VlblxuICogLy8gMTAgSmFudWFyeSAyMDE0IGFuZCAyMCBKdWx5IDIwMTQ/XG4gKiB2YXIgcmVzdWx0ID0gZGlmZmVyZW5jZUluQnVzaW5lc3NEYXlzKFxuICogICBuZXcgRGF0ZSgyMDE0LCA2LCAyMCksXG4gKiAgIG5ldyBEYXRlKDIwMTQsIDAsIDEwKVxuICogKVxuICogLy89PiAxMzZcbiAqL1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBkaWZmZXJlbmNlSW5CdXNpbmVzc0RheXMoZGlydHlEYXRlTGVmdCwgZGlydHlEYXRlUmlnaHQpIHtcbiAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPCAyKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignMiBhcmd1bWVudHMgcmVxdWlyZWQsIGJ1dCBvbmx5ICcgKyBhcmd1bWVudHMubGVuZ3RoICsgJyBwcmVzZW50Jyk7XG4gIH1cblxuICB2YXIgZGF0ZUxlZnQgPSB0b0RhdGUoZGlydHlEYXRlTGVmdCk7XG4gIHZhciBkYXRlUmlnaHQgPSB0b0RhdGUoZGlydHlEYXRlUmlnaHQpO1xuICBpZiAoIWlzVmFsaWQoZGF0ZUxlZnQpIHx8ICFpc1ZhbGlkKGRhdGVSaWdodCkpIHJldHVybiBuZXcgRGF0ZShOYU4pO1xuICB2YXIgY2FsZW5kYXJEaWZmZXJlbmNlID0gZGlmZmVyZW5jZUluQ2FsZW5kYXJEYXlzKGRhdGVMZWZ0LCBkYXRlUmlnaHQpO1xuICB2YXIgc2lnbiA9IGNhbGVuZGFyRGlmZmVyZW5jZSA8IDAgPyAtMSA6IDE7XG4gIHZhciB3ZWVrcyA9IHRvSW50ZWdlcihjYWxlbmRhckRpZmZlcmVuY2UgLyA3KTtcbiAgdmFyIHJlc3VsdCA9IHdlZWtzICogNTtcbiAgZGF0ZVJpZ2h0ID0gYWRkRGF5cyhkYXRlUmlnaHQsIHdlZWtzICogNyk7IC8vIHRoZSBsb29wIGJlbG93IHdpbGwgcnVuIGF0IG1vc3QgNiB0aW1lcyB0byBhY2NvdW50IGZvciB0aGUgcmVtYWluaW5nIGRheXMgdGhhdCBkb24ndCBtYWtldXAgYSBmdWxsIHdlZWtcblxuICB3aGlsZSAoIWlzU2FtZURheShkYXRlTGVmdCwgZGF0ZVJpZ2h0KSkge1xuICAgIC8vIHNpZ24gaXMgdXNlZCB0byBhY2NvdW50IGZvciBib3RoIG5lZ2F0aXZlIGFuZCBwb3NpdGl2ZSBkaWZmZXJlbmNlc1xuICAgIHJlc3VsdCArPSBpc1dlZWtlbmQoZGF0ZVJpZ2h0KSA/IDAgOiBzaWduO1xuICAgIGRhdGVSaWdodCA9IGFkZERheXMoZGF0ZVJpZ2h0LCBzaWduKTtcbiAgfVxuXG4gIHJldHVybiByZXN1bHQgPT09IDAgPyAwIDogcmVzdWx0O1xufSJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/differenceInBusinessDays/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/differenceInCalendarDays/index.js": /*!*********************************************************************!*\ !*** ./node_modules/date-fns/esm/differenceInCalendarDays/index.js ***! \*********************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return differenceInCalendarDays; });\n/* harmony import */ var _lib_getTimezoneOffsetInMilliseconds_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_lib/getTimezoneOffsetInMilliseconds/index.js */ \"./node_modules/date-fns/esm/_lib/getTimezoneOffsetInMilliseconds/index.js\");\n/* harmony import */ var _startOfDay_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../startOfDay/index.js */ \"./node_modules/date-fns/esm/startOfDay/index.js\");\n\n\nvar MILLISECONDS_IN_DAY = 86400000;\n/**\n * @name differenceInCalendarDays\n * @category Day Helpers\n * @summary Get the number of calendar days between the given dates.\n *\n * @description\n * Get the number of calendar days between the given dates. This means that the times are removed\n * from the dates and then the difference in days is calculated.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} dateLeft - the later date\n * @param {Date|Number} dateRight - the earlier date\n * @returns {Number} the number of calendar days\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // How many calendar days are between\n * // 2 July 2011 23:00:00 and 2 July 2012 00:00:00?\n * var result = differenceInCalendarDays(\n * new Date(2012, 6, 2, 0, 0),\n * new Date(2011, 6, 2, 23, 0)\n * )\n * //=> 366\n * // How many calendar days are between\n * // 2 July 2011 23:59:00 and 3 July 2011 00:01:00?\n * var result = differenceInCalendarDays(\n * new Date(2011, 6, 3, 0, 1),\n * new Date(2011, 6, 2, 23, 59)\n * )\n * //=> 1\n */\n\nfunction differenceInCalendarDays(dirtyDateLeft, dirtyDateRight) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present');\n }\n\n var startOfDayLeft = Object(_startOfDay_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(dirtyDateLeft);\n var startOfDayRight = Object(_startOfDay_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(dirtyDateRight);\n var timestampLeft = startOfDayLeft.getTime() - Object(_lib_getTimezoneOffsetInMilliseconds_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(startOfDayLeft);\n var timestampRight = startOfDayRight.getTime() - Object(_lib_getTimezoneOffsetInMilliseconds_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(startOfDayRight); // Round the number of days to the nearest integer\n // because the number of milliseconds in a day is not constant\n // (e.g. it's different in the day of the daylight saving time clock shift)\n\n return Math.round((timestampLeft - timestampRight) / MILLISECONDS_IN_DAY);\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2RpZmZlcmVuY2VJbkNhbGVuZGFyRGF5cy9pbmRleC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9kYXRlLWZucy9lc20vZGlmZmVyZW5jZUluQ2FsZW5kYXJEYXlzL2luZGV4LmpzPzgxN2EiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGdldFRpbWV6b25lT2Zmc2V0SW5NaWxsaXNlY29uZHMgZnJvbSAnLi4vX2xpYi9nZXRUaW1lem9uZU9mZnNldEluTWlsbGlzZWNvbmRzL2luZGV4LmpzJztcbmltcG9ydCBzdGFydE9mRGF5IGZyb20gJy4uL3N0YXJ0T2ZEYXkvaW5kZXguanMnO1xudmFyIE1JTExJU0VDT05EU19JTl9EQVkgPSA4NjQwMDAwMDtcbi8qKlxuICogQG5hbWUgZGlmZmVyZW5jZUluQ2FsZW5kYXJEYXlzXG4gKiBAY2F0ZWdvcnkgRGF5IEhlbHBlcnNcbiAqIEBzdW1tYXJ5IEdldCB0aGUgbnVtYmVyIG9mIGNhbGVuZGFyIGRheXMgYmV0d2VlbiB0aGUgZ2l2ZW4gZGF0ZXMuXG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKiBHZXQgdGhlIG51bWJlciBvZiBjYWxlbmRhciBkYXlzIGJldHdlZW4gdGhlIGdpdmVuIGRhdGVzLiBUaGlzIG1lYW5zIHRoYXQgdGhlIHRpbWVzIGFyZSByZW1vdmVkXG4gKiBmcm9tIHRoZSBkYXRlcyBhbmQgdGhlbiB0aGUgZGlmZmVyZW5jZSBpbiBkYXlzIGlzIGNhbGN1bGF0ZWQuXG4gKlxuICogIyMjIHYyLjAuMCBicmVha2luZyBjaGFuZ2VzOlxuICpcbiAqIC0gW0NoYW5nZXMgdGhhdCBhcmUgY29tbW9uIGZvciB0aGUgd2hvbGUgbGlicmFyeV0oaHR0cHM6Ly9naXRodWIuY29tL2RhdGUtZm5zL2RhdGUtZm5zL2Jsb2IvbWFzdGVyL2RvY3MvdXBncmFkZUd1aWRlLm1kI0NvbW1vbi1DaGFuZ2VzKS5cbiAqXG4gKiBAcGFyYW0ge0RhdGV8TnVtYmVyfSBkYXRlTGVmdCAtIHRoZSBsYXRlciBkYXRlXG4gKiBAcGFyYW0ge0RhdGV8TnVtYmVyfSBkYXRlUmlnaHQgLSB0aGUgZWFybGllciBkYXRlXG4gKiBAcmV0dXJucyB7TnVtYmVyfSB0aGUgbnVtYmVyIG9mIGNhbGVuZGFyIGRheXNcbiAqIEB0aHJvd3Mge1R5cGVFcnJvcn0gMiBhcmd1bWVudHMgcmVxdWlyZWRcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gSG93IG1hbnkgY2FsZW5kYXIgZGF5cyBhcmUgYmV0d2VlblxuICogLy8gMiBKdWx5IDIwMTEgMjM6MDA6MDAgYW5kIDIgSnVseSAyMDEyIDAwOjAwOjAwP1xuICogdmFyIHJlc3VsdCA9IGRpZmZlcmVuY2VJbkNhbGVuZGFyRGF5cyhcbiAqICAgbmV3IERhdGUoMjAxMiwgNiwgMiwgMCwgMCksXG4gKiAgIG5ldyBEYXRlKDIwMTEsIDYsIDIsIDIzLCAwKVxuICogKVxuICogLy89PiAzNjZcbiAqIC8vIEhvdyBtYW55IGNhbGVuZGFyIGRheXMgYXJlIGJldHdlZW5cbiAqIC8vIDIgSnVseSAyMDExIDIzOjU5OjAwIGFuZCAzIEp1bHkgMjAxMSAwMDowMTowMD9cbiAqIHZhciByZXN1bHQgPSBkaWZmZXJlbmNlSW5DYWxlbmRhckRheXMoXG4gKiAgIG5ldyBEYXRlKDIwMTEsIDYsIDMsIDAsIDEpLFxuICogICBuZXcgRGF0ZSgyMDExLCA2LCAyLCAyMywgNTkpXG4gKiApXG4gKiAvLz0+IDFcbiAqL1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBkaWZmZXJlbmNlSW5DYWxlbmRhckRheXMoZGlydHlEYXRlTGVmdCwgZGlydHlEYXRlUmlnaHQpIHtcbiAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPCAyKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignMiBhcmd1bWVudHMgcmVxdWlyZWQsIGJ1dCBvbmx5ICcgKyBhcmd1bWVudHMubGVuZ3RoICsgJyBwcmVzZW50Jyk7XG4gIH1cblxuICB2YXIgc3RhcnRPZkRheUxlZnQgPSBzdGFydE9mRGF5KGRpcnR5RGF0ZUxlZnQpO1xuICB2YXIgc3RhcnRPZkRheVJpZ2h0ID0gc3RhcnRPZkRheShkaXJ0eURhdGVSaWdodCk7XG4gIHZhciB0aW1lc3RhbXBMZWZ0ID0gc3RhcnRPZkRheUxlZnQuZ2V0VGltZSgpIC0gZ2V0VGltZXpvbmVPZmZzZXRJbk1pbGxpc2Vjb25kcyhzdGFydE9mRGF5TGVmdCk7XG4gIHZhciB0aW1lc3RhbXBSaWdodCA9IHN0YXJ0T2ZEYXlSaWdodC5nZXRUaW1lKCkgLSBnZXRUaW1lem9uZU9mZnNldEluTWlsbGlzZWNvbmRzKHN0YXJ0T2ZEYXlSaWdodCk7IC8vIFJvdW5kIHRoZSBudW1iZXIgb2YgZGF5cyB0byB0aGUgbmVhcmVzdCBpbnRlZ2VyXG4gIC8vIGJlY2F1c2UgdGhlIG51bWJlciBvZiBtaWxsaXNlY29uZHMgaW4gYSBkYXkgaXMgbm90IGNvbnN0YW50XG4gIC8vIChlLmcuIGl0J3MgZGlmZmVyZW50IGluIHRoZSBkYXkgb2YgdGhlIGRheWxpZ2h0IHNhdmluZyB0aW1lIGNsb2NrIHNoaWZ0KVxuXG4gIHJldHVybiBNYXRoLnJvdW5kKCh0aW1lc3RhbXBMZWZ0IC0gdGltZXN0YW1wUmlnaHQpIC8gTUlMTElTRUNPTkRTX0lOX0RBWSk7XG59Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/differenceInCalendarDays/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/differenceInCalendarISOWeekYears/index.js": /*!*****************************************************************************!*\ !*** ./node_modules/date-fns/esm/differenceInCalendarISOWeekYears/index.js ***! \*****************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return differenceInCalendarISOWeekYears; });\n/* harmony import */ var _getISOWeekYear_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../getISOWeekYear/index.js */ \"./node_modules/date-fns/esm/getISOWeekYear/index.js\");\n\n/**\n * @name differenceInCalendarISOWeekYears\n * @category ISO Week-Numbering Year Helpers\n * @summary Get the number of calendar ISO week-numbering years between the given dates.\n *\n * @description\n * Get the number of calendar ISO week-numbering years between the given dates.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * - The function was renamed from `differenceInCalendarISOYears` to `differenceInCalendarISOWeekYears`.\n * \"ISO week year\" is short for [ISO week-numbering year](https://en.wikipedia.org/wiki/ISO_week_date).\n * This change makes the name consistent with\n * locale-dependent week-numbering year helpers, e.g., `addWeekYears`.\n *\n * @param {Date|Number} dateLeft - the later date\n * @param {Date|Number} dateRight - the earlier date\n * @returns {Number} the number of calendar ISO week-numbering years\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // How many calendar ISO week-numbering years are 1 January 2010 and 1 January 2012?\n * var result = differenceInCalendarISOWeekYears(\n * new Date(2012, 0, 1),\n * new Date(2010, 0, 1)\n * )\n * //=> 2\n */\n\nfunction differenceInCalendarISOWeekYears(dirtyDateLeft, dirtyDateRight) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present');\n }\n\n return Object(_getISOWeekYear_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDateLeft) - Object(_getISOWeekYear_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDateRight);\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2RpZmZlcmVuY2VJbkNhbGVuZGFySVNPV2Vla1llYXJzL2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2VzbS9kaWZmZXJlbmNlSW5DYWxlbmRhcklTT1dlZWtZZWFycy9pbmRleC5qcz9kZjM5Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBnZXRJU09XZWVrWWVhciBmcm9tICcuLi9nZXRJU09XZWVrWWVhci9pbmRleC5qcyc7XG4vKipcbiAqIEBuYW1lIGRpZmZlcmVuY2VJbkNhbGVuZGFySVNPV2Vla1llYXJzXG4gKiBAY2F0ZWdvcnkgSVNPIFdlZWstTnVtYmVyaW5nIFllYXIgSGVscGVyc1xuICogQHN1bW1hcnkgR2V0IHRoZSBudW1iZXIgb2YgY2FsZW5kYXIgSVNPIHdlZWstbnVtYmVyaW5nIHllYXJzIGJldHdlZW4gdGhlIGdpdmVuIGRhdGVzLlxuICpcbiAqIEBkZXNjcmlwdGlvblxuICogR2V0IHRoZSBudW1iZXIgb2YgY2FsZW5kYXIgSVNPIHdlZWstbnVtYmVyaW5nIHllYXJzIGJldHdlZW4gdGhlIGdpdmVuIGRhdGVzLlxuICpcbiAqIElTTyB3ZWVrLW51bWJlcmluZyB5ZWFyOiBodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0lTT193ZWVrX2RhdGVcbiAqXG4gKiAjIyMgdjIuMC4wIGJyZWFraW5nIGNoYW5nZXM6XG4gKlxuICogLSBbQ2hhbmdlcyB0aGF0IGFyZSBjb21tb24gZm9yIHRoZSB3aG9sZSBsaWJyYXJ5XShodHRwczovL2dpdGh1Yi5jb20vZGF0ZS1mbnMvZGF0ZS1mbnMvYmxvYi9tYXN0ZXIvZG9jcy91cGdyYWRlR3VpZGUubWQjQ29tbW9uLUNoYW5nZXMpLlxuICpcbiAqIC0gVGhlIGZ1bmN0aW9uIHdhcyByZW5hbWVkIGZyb20gYGRpZmZlcmVuY2VJbkNhbGVuZGFySVNPWWVhcnNgIHRvIGBkaWZmZXJlbmNlSW5DYWxlbmRhcklTT1dlZWtZZWFyc2AuXG4gKiAgIFwiSVNPIHdlZWsgeWVhclwiIGlzIHNob3J0IGZvciBbSVNPIHdlZWstbnVtYmVyaW5nIHllYXJdKGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0lTT193ZWVrX2RhdGUpLlxuICogICBUaGlzIGNoYW5nZSBtYWtlcyB0aGUgbmFtZSBjb25zaXN0ZW50IHdpdGhcbiAqICAgbG9jYWxlLWRlcGVuZGVudCB3ZWVrLW51bWJlcmluZyB5ZWFyIGhlbHBlcnMsIGUuZy4sIGBhZGRXZWVrWWVhcnNgLlxuICpcbiAqIEBwYXJhbSB7RGF0ZXxOdW1iZXJ9IGRhdGVMZWZ0IC0gdGhlIGxhdGVyIGRhdGVcbiAqIEBwYXJhbSB7RGF0ZXxOdW1iZXJ9IGRhdGVSaWdodCAtIHRoZSBlYXJsaWVyIGRhdGVcbiAqIEByZXR1cm5zIHtOdW1iZXJ9IHRoZSBudW1iZXIgb2YgY2FsZW5kYXIgSVNPIHdlZWstbnVtYmVyaW5nIHllYXJzXG4gKiBAdGhyb3dzIHtUeXBlRXJyb3J9IDIgYXJndW1lbnRzIHJlcXVpcmVkXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIEhvdyBtYW55IGNhbGVuZGFyIElTTyB3ZWVrLW51bWJlcmluZyB5ZWFycyBhcmUgMSBKYW51YXJ5IDIwMTAgYW5kIDEgSmFudWFyeSAyMDEyP1xuICogdmFyIHJlc3VsdCA9IGRpZmZlcmVuY2VJbkNhbGVuZGFySVNPV2Vla1llYXJzKFxuICogICBuZXcgRGF0ZSgyMDEyLCAwLCAxKSxcbiAqICAgbmV3IERhdGUoMjAxMCwgMCwgMSlcbiAqIClcbiAqIC8vPT4gMlxuICovXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGRpZmZlcmVuY2VJbkNhbGVuZGFySVNPV2Vla1llYXJzKGRpcnR5RGF0ZUxlZnQsIGRpcnR5RGF0ZVJpZ2h0KSB7XG4gIGlmIChhcmd1bWVudHMubGVuZ3RoIDwgMikge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJzIgYXJndW1lbnRzIHJlcXVpcmVkLCBidXQgb25seSAnICsgYXJndW1lbnRzLmxlbmd0aCArICcgcHJlc2VudCcpO1xuICB9XG5cbiAgcmV0dXJuIGdldElTT1dlZWtZZWFyKGRpcnR5RGF0ZUxlZnQpIC0gZ2V0SVNPV2Vla1llYXIoZGlydHlEYXRlUmlnaHQpO1xufSJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/differenceInCalendarISOWeekYears/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/differenceInCalendarISOWeeks/index.js": /*!*************************************************************************!*\ !*** ./node_modules/date-fns/esm/differenceInCalendarISOWeeks/index.js ***! \*************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return differenceInCalendarISOWeeks; });\n/* harmony import */ var _lib_getTimezoneOffsetInMilliseconds_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_lib/getTimezoneOffsetInMilliseconds/index.js */ \"./node_modules/date-fns/esm/_lib/getTimezoneOffsetInMilliseconds/index.js\");\n/* harmony import */ var _startOfISOWeek_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../startOfISOWeek/index.js */ \"./node_modules/date-fns/esm/startOfISOWeek/index.js\");\n\n\nvar MILLISECONDS_IN_WEEK = 604800000;\n/**\n * @name differenceInCalendarISOWeeks\n * @category ISO Week Helpers\n * @summary Get the number of calendar ISO weeks between the given dates.\n *\n * @description\n * Get the number of calendar ISO weeks between the given dates.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} dateLeft - the later date\n * @param {Date|Number} dateRight - the earlier date\n * @returns {Number} the number of calendar ISO weeks\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // How many calendar ISO weeks are between 6 July 2014 and 21 July 2014?\n * var result = differenceInCalendarISOWeeks(\n * new Date(2014, 6, 21),\n * new Date(2014, 6, 6)\n * )\n * //=> 3\n */\n\nfunction differenceInCalendarISOWeeks(dirtyDateLeft, dirtyDateRight) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present');\n }\n\n var startOfISOWeekLeft = Object(_startOfISOWeek_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(dirtyDateLeft);\n var startOfISOWeekRight = Object(_startOfISOWeek_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(dirtyDateRight);\n var timestampLeft = startOfISOWeekLeft.getTime() - Object(_lib_getTimezoneOffsetInMilliseconds_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(startOfISOWeekLeft);\n var timestampRight = startOfISOWeekRight.getTime() - Object(_lib_getTimezoneOffsetInMilliseconds_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(startOfISOWeekRight); // Round the number of days to the nearest integer\n // because the number of milliseconds in a week is not constant\n // (e.g. it's different in the week of the daylight saving time clock shift)\n\n return Math.round((timestampLeft - timestampRight) / MILLISECONDS_IN_WEEK);\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2RpZmZlcmVuY2VJbkNhbGVuZGFySVNPV2Vla3MvaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2RpZmZlcmVuY2VJbkNhbGVuZGFySVNPV2Vla3MvaW5kZXguanM/MWRhYiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZ2V0VGltZXpvbmVPZmZzZXRJbk1pbGxpc2Vjb25kcyBmcm9tICcuLi9fbGliL2dldFRpbWV6b25lT2Zmc2V0SW5NaWxsaXNlY29uZHMvaW5kZXguanMnO1xuaW1wb3J0IHN0YXJ0T2ZJU09XZWVrIGZyb20gJy4uL3N0YXJ0T2ZJU09XZWVrL2luZGV4LmpzJztcbnZhciBNSUxMSVNFQ09ORFNfSU5fV0VFSyA9IDYwNDgwMDAwMDtcbi8qKlxuICogQG5hbWUgZGlmZmVyZW5jZUluQ2FsZW5kYXJJU09XZWVrc1xuICogQGNhdGVnb3J5IElTTyBXZWVrIEhlbHBlcnNcbiAqIEBzdW1tYXJ5IEdldCB0aGUgbnVtYmVyIG9mIGNhbGVuZGFyIElTTyB3ZWVrcyBiZXR3ZWVuIHRoZSBnaXZlbiBkYXRlcy5cbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIEdldCB0aGUgbnVtYmVyIG9mIGNhbGVuZGFyIElTTyB3ZWVrcyBiZXR3ZWVuIHRoZSBnaXZlbiBkYXRlcy5cbiAqXG4gKiBJU08gd2Vlay1udW1iZXJpbmcgeWVhcjogaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9JU09fd2Vla19kYXRlXG4gKlxuICogIyMjIHYyLjAuMCBicmVha2luZyBjaGFuZ2VzOlxuICpcbiAqIC0gW0NoYW5nZXMgdGhhdCBhcmUgY29tbW9uIGZvciB0aGUgd2hvbGUgbGlicmFyeV0oaHR0cHM6Ly9naXRodWIuY29tL2RhdGUtZm5zL2RhdGUtZm5zL2Jsb2IvbWFzdGVyL2RvY3MvdXBncmFkZUd1aWRlLm1kI0NvbW1vbi1DaGFuZ2VzKS5cbiAqXG4gKiBAcGFyYW0ge0RhdGV8TnVtYmVyfSBkYXRlTGVmdCAtIHRoZSBsYXRlciBkYXRlXG4gKiBAcGFyYW0ge0RhdGV8TnVtYmVyfSBkYXRlUmlnaHQgLSB0aGUgZWFybGllciBkYXRlXG4gKiBAcmV0dXJucyB7TnVtYmVyfSB0aGUgbnVtYmVyIG9mIGNhbGVuZGFyIElTTyB3ZWVrc1xuICogQHRocm93cyB7VHlwZUVycm9yfSAyIGFyZ3VtZW50cyByZXF1aXJlZFxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBIb3cgbWFueSBjYWxlbmRhciBJU08gd2Vla3MgYXJlIGJldHdlZW4gNiBKdWx5IDIwMTQgYW5kIDIxIEp1bHkgMjAxND9cbiAqIHZhciByZXN1bHQgPSBkaWZmZXJlbmNlSW5DYWxlbmRhcklTT1dlZWtzKFxuICogICBuZXcgRGF0ZSgyMDE0LCA2LCAyMSksXG4gKiAgIG5ldyBEYXRlKDIwMTQsIDYsIDYpXG4gKiApXG4gKiAvLz0+IDNcbiAqL1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBkaWZmZXJlbmNlSW5DYWxlbmRhcklTT1dlZWtzKGRpcnR5RGF0ZUxlZnQsIGRpcnR5RGF0ZVJpZ2h0KSB7XG4gIGlmIChhcmd1bWVudHMubGVuZ3RoIDwgMikge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJzIgYXJndW1lbnRzIHJlcXVpcmVkLCBidXQgb25seSAnICsgYXJndW1lbnRzLmxlbmd0aCArICcgcHJlc2VudCcpO1xuICB9XG5cbiAgdmFyIHN0YXJ0T2ZJU09XZWVrTGVmdCA9IHN0YXJ0T2ZJU09XZWVrKGRpcnR5RGF0ZUxlZnQpO1xuICB2YXIgc3RhcnRPZklTT1dlZWtSaWdodCA9IHN0YXJ0T2ZJU09XZWVrKGRpcnR5RGF0ZVJpZ2h0KTtcbiAgdmFyIHRpbWVzdGFtcExlZnQgPSBzdGFydE9mSVNPV2Vla0xlZnQuZ2V0VGltZSgpIC0gZ2V0VGltZXpvbmVPZmZzZXRJbk1pbGxpc2Vjb25kcyhzdGFydE9mSVNPV2Vla0xlZnQpO1xuICB2YXIgdGltZXN0YW1wUmlnaHQgPSBzdGFydE9mSVNPV2Vla1JpZ2h0LmdldFRpbWUoKSAtIGdldFRpbWV6b25lT2Zmc2V0SW5NaWxsaXNlY29uZHMoc3RhcnRPZklTT1dlZWtSaWdodCk7IC8vIFJvdW5kIHRoZSBudW1iZXIgb2YgZGF5cyB0byB0aGUgbmVhcmVzdCBpbnRlZ2VyXG4gIC8vIGJlY2F1c2UgdGhlIG51bWJlciBvZiBtaWxsaXNlY29uZHMgaW4gYSB3ZWVrIGlzIG5vdCBjb25zdGFudFxuICAvLyAoZS5nLiBpdCdzIGRpZmZlcmVudCBpbiB0aGUgd2VlayBvZiB0aGUgZGF5bGlnaHQgc2F2aW5nIHRpbWUgY2xvY2sgc2hpZnQpXG5cbiAgcmV0dXJuIE1hdGgucm91bmQoKHRpbWVzdGFtcExlZnQgLSB0aW1lc3RhbXBSaWdodCkgLyBNSUxMSVNFQ09ORFNfSU5fV0VFSyk7XG59Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/differenceInCalendarISOWeeks/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/differenceInCalendarMonths/index.js": /*!***********************************************************************!*\ !*** ./node_modules/date-fns/esm/differenceInCalendarMonths/index.js ***! \***********************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return differenceInCalendarMonths; });\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n\n/**\n * @name differenceInCalendarMonths\n * @category Month Helpers\n * @summary Get the number of calendar months between the given dates.\n *\n * @description\n * Get the number of calendar months between the given dates.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} dateLeft - the later date\n * @param {Date|Number} dateRight - the earlier date\n * @returns {Number} the number of calendar months\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // How many calendar months are between 31 January 2014 and 1 September 2014?\n * var result = differenceInCalendarMonths(\n * new Date(2014, 8, 1),\n * new Date(2014, 0, 31)\n * )\n * //=> 8\n */\n\nfunction differenceInCalendarMonths(dirtyDateLeft, dirtyDateRight) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present');\n }\n\n var dateLeft = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDateLeft);\n var dateRight = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDateRight);\n var yearDiff = dateLeft.getFullYear() - dateRight.getFullYear();\n var monthDiff = dateLeft.getMonth() - dateRight.getMonth();\n return yearDiff * 12 + monthDiff;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2RpZmZlcmVuY2VJbkNhbGVuZGFyTW9udGhzL2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2VzbS9kaWZmZXJlbmNlSW5DYWxlbmRhck1vbnRocy9pbmRleC5qcz9hNmY5Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0b0RhdGUgZnJvbSAnLi4vdG9EYXRlL2luZGV4LmpzJztcbi8qKlxuICogQG5hbWUgZGlmZmVyZW5jZUluQ2FsZW5kYXJNb250aHNcbiAqIEBjYXRlZ29yeSBNb250aCBIZWxwZXJzXG4gKiBAc3VtbWFyeSBHZXQgdGhlIG51bWJlciBvZiBjYWxlbmRhciBtb250aHMgYmV0d2VlbiB0aGUgZ2l2ZW4gZGF0ZXMuXG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKiBHZXQgdGhlIG51bWJlciBvZiBjYWxlbmRhciBtb250aHMgYmV0d2VlbiB0aGUgZ2l2ZW4gZGF0ZXMuXG4gKlxuICogIyMjIHYyLjAuMCBicmVha2luZyBjaGFuZ2VzOlxuICpcbiAqIC0gW0NoYW5nZXMgdGhhdCBhcmUgY29tbW9uIGZvciB0aGUgd2hvbGUgbGlicmFyeV0oaHR0cHM6Ly9naXRodWIuY29tL2RhdGUtZm5zL2RhdGUtZm5zL2Jsb2IvbWFzdGVyL2RvY3MvdXBncmFkZUd1aWRlLm1kI0NvbW1vbi1DaGFuZ2VzKS5cbiAqXG4gKiBAcGFyYW0ge0RhdGV8TnVtYmVyfSBkYXRlTGVmdCAtIHRoZSBsYXRlciBkYXRlXG4gKiBAcGFyYW0ge0RhdGV8TnVtYmVyfSBkYXRlUmlnaHQgLSB0aGUgZWFybGllciBkYXRlXG4gKiBAcmV0dXJucyB7TnVtYmVyfSB0aGUgbnVtYmVyIG9mIGNhbGVuZGFyIG1vbnRoc1xuICogQHRocm93cyB7VHlwZUVycm9yfSAyIGFyZ3VtZW50cyByZXF1aXJlZFxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBIb3cgbWFueSBjYWxlbmRhciBtb250aHMgYXJlIGJldHdlZW4gMzEgSmFudWFyeSAyMDE0IGFuZCAxIFNlcHRlbWJlciAyMDE0P1xuICogdmFyIHJlc3VsdCA9IGRpZmZlcmVuY2VJbkNhbGVuZGFyTW9udGhzKFxuICogICBuZXcgRGF0ZSgyMDE0LCA4LCAxKSxcbiAqICAgbmV3IERhdGUoMjAxNCwgMCwgMzEpXG4gKiApXG4gKiAvLz0+IDhcbiAqL1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBkaWZmZXJlbmNlSW5DYWxlbmRhck1vbnRocyhkaXJ0eURhdGVMZWZ0LCBkaXJ0eURhdGVSaWdodCkge1xuICBpZiAoYXJndW1lbnRzLmxlbmd0aCA8IDIpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCcyIGFyZ3VtZW50cyByZXF1aXJlZCwgYnV0IG9ubHkgJyArIGFyZ3VtZW50cy5sZW5ndGggKyAnIHByZXNlbnQnKTtcbiAgfVxuXG4gIHZhciBkYXRlTGVmdCA9IHRvRGF0ZShkaXJ0eURhdGVMZWZ0KTtcbiAgdmFyIGRhdGVSaWdodCA9IHRvRGF0ZShkaXJ0eURhdGVSaWdodCk7XG4gIHZhciB5ZWFyRGlmZiA9IGRhdGVMZWZ0LmdldEZ1bGxZZWFyKCkgLSBkYXRlUmlnaHQuZ2V0RnVsbFllYXIoKTtcbiAgdmFyIG1vbnRoRGlmZiA9IGRhdGVMZWZ0LmdldE1vbnRoKCkgLSBkYXRlUmlnaHQuZ2V0TW9udGgoKTtcbiAgcmV0dXJuIHllYXJEaWZmICogMTIgKyBtb250aERpZmY7XG59Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/differenceInCalendarMonths/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/differenceInCalendarQuarters/index.js": /*!*************************************************************************!*\ !*** ./node_modules/date-fns/esm/differenceInCalendarQuarters/index.js ***! \*************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return differenceInCalendarQuarters; });\n/* harmony import */ var _getQuarter_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../getQuarter/index.js */ \"./node_modules/date-fns/esm/getQuarter/index.js\");\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n\n\n/**\n * @name differenceInCalendarQuarters\n * @category Quarter Helpers\n * @summary Get the number of calendar quarters between the given dates.\n *\n * @description\n * Get the number of calendar quarters between the given dates.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} dateLeft - the later date\n * @param {Date|Number} dateRight - the earlier date\n * @returns {Number} the number of calendar quarters\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // How many calendar quarters are between 31 December 2013 and 2 July 2014?\n * var result = differenceInCalendarQuarters(\n * new Date(2014, 6, 2),\n * new Date(2013, 11, 31)\n * )\n * //=> 3\n */\n\nfunction differenceInCalendarQuarters(dirtyDateLeft, dirtyDateRight) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present');\n }\n\n var dateLeft = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(dirtyDateLeft);\n var dateRight = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(dirtyDateRight);\n var yearDiff = dateLeft.getFullYear() - dateRight.getFullYear();\n var quarterDiff = Object(_getQuarter_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dateLeft) - Object(_getQuarter_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dateRight);\n return yearDiff * 4 + quarterDiff;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2RpZmZlcmVuY2VJbkNhbGVuZGFyUXVhcnRlcnMvaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2RpZmZlcmVuY2VJbkNhbGVuZGFyUXVhcnRlcnMvaW5kZXguanM/ZGU3NiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZ2V0UXVhcnRlciBmcm9tICcuLi9nZXRRdWFydGVyL2luZGV4LmpzJztcbmltcG9ydCB0b0RhdGUgZnJvbSAnLi4vdG9EYXRlL2luZGV4LmpzJztcbi8qKlxuICogQG5hbWUgZGlmZmVyZW5jZUluQ2FsZW5kYXJRdWFydGVyc1xuICogQGNhdGVnb3J5IFF1YXJ0ZXIgSGVscGVyc1xuICogQHN1bW1hcnkgR2V0IHRoZSBudW1iZXIgb2YgY2FsZW5kYXIgcXVhcnRlcnMgYmV0d2VlbiB0aGUgZ2l2ZW4gZGF0ZXMuXG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKiBHZXQgdGhlIG51bWJlciBvZiBjYWxlbmRhciBxdWFydGVycyBiZXR3ZWVuIHRoZSBnaXZlbiBkYXRlcy5cbiAqXG4gKiAjIyMgdjIuMC4wIGJyZWFraW5nIGNoYW5nZXM6XG4gKlxuICogLSBbQ2hhbmdlcyB0aGF0IGFyZSBjb21tb24gZm9yIHRoZSB3aG9sZSBsaWJyYXJ5XShodHRwczovL2dpdGh1Yi5jb20vZGF0ZS1mbnMvZGF0ZS1mbnMvYmxvYi9tYXN0ZXIvZG9jcy91cGdyYWRlR3VpZGUubWQjQ29tbW9uLUNoYW5nZXMpLlxuICpcbiAqIEBwYXJhbSB7RGF0ZXxOdW1iZXJ9IGRhdGVMZWZ0IC0gdGhlIGxhdGVyIGRhdGVcbiAqIEBwYXJhbSB7RGF0ZXxOdW1iZXJ9IGRhdGVSaWdodCAtIHRoZSBlYXJsaWVyIGRhdGVcbiAqIEByZXR1cm5zIHtOdW1iZXJ9IHRoZSBudW1iZXIgb2YgY2FsZW5kYXIgcXVhcnRlcnNcbiAqIEB0aHJvd3Mge1R5cGVFcnJvcn0gMiBhcmd1bWVudHMgcmVxdWlyZWRcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gSG93IG1hbnkgY2FsZW5kYXIgcXVhcnRlcnMgYXJlIGJldHdlZW4gMzEgRGVjZW1iZXIgMjAxMyBhbmQgMiBKdWx5IDIwMTQ/XG4gKiB2YXIgcmVzdWx0ID0gZGlmZmVyZW5jZUluQ2FsZW5kYXJRdWFydGVycyhcbiAqICAgbmV3IERhdGUoMjAxNCwgNiwgMiksXG4gKiAgIG5ldyBEYXRlKDIwMTMsIDExLCAzMSlcbiAqIClcbiAqIC8vPT4gM1xuICovXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGRpZmZlcmVuY2VJbkNhbGVuZGFyUXVhcnRlcnMoZGlydHlEYXRlTGVmdCwgZGlydHlEYXRlUmlnaHQpIHtcbiAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPCAyKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignMiBhcmd1bWVudHMgcmVxdWlyZWQsIGJ1dCBvbmx5ICcgKyBhcmd1bWVudHMubGVuZ3RoICsgJyBwcmVzZW50Jyk7XG4gIH1cblxuICB2YXIgZGF0ZUxlZnQgPSB0b0RhdGUoZGlydHlEYXRlTGVmdCk7XG4gIHZhciBkYXRlUmlnaHQgPSB0b0RhdGUoZGlydHlEYXRlUmlnaHQpO1xuICB2YXIgeWVhckRpZmYgPSBkYXRlTGVmdC5nZXRGdWxsWWVhcigpIC0gZGF0ZVJpZ2h0LmdldEZ1bGxZZWFyKCk7XG4gIHZhciBxdWFydGVyRGlmZiA9IGdldFF1YXJ0ZXIoZGF0ZUxlZnQpIC0gZ2V0UXVhcnRlcihkYXRlUmlnaHQpO1xuICByZXR1cm4geWVhckRpZmYgKiA0ICsgcXVhcnRlckRpZmY7XG59Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/differenceInCalendarQuarters/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/differenceInCalendarWeeks/index.js": /*!**********************************************************************!*\ !*** ./node_modules/date-fns/esm/differenceInCalendarWeeks/index.js ***! \**********************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return differenceInCalendarWeeks; });\n/* harmony import */ var _startOfWeek_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../startOfWeek/index.js */ \"./node_modules/date-fns/esm/startOfWeek/index.js\");\n/* harmony import */ var _lib_getTimezoneOffsetInMilliseconds_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../_lib/getTimezoneOffsetInMilliseconds/index.js */ \"./node_modules/date-fns/esm/_lib/getTimezoneOffsetInMilliseconds/index.js\");\n\n\nvar MILLISECONDS_IN_WEEK = 604800000;\n/**\n * @name differenceInCalendarWeeks\n * @category Week Helpers\n * @summary Get the number of calendar weeks between the given dates.\n *\n * @description\n * Get the number of calendar weeks between the given dates.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} dateLeft - the later date\n * @param {Date|Number} dateRight - the earlier date\n * @param {Object} [options] - an object with options.\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\n * @returns {Number} the number of calendar weeks\n * @throws {TypeError} 2 arguments required\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6\n *\n * @example\n * // How many calendar weeks are between 5 July 2014 and 20 July 2014?\n * var result = differenceInCalendarWeeks(\n * new Date(2014, 6, 20),\n * new Date(2014, 6, 5)\n * )\n * //=> 3\n *\n * @example\n * // If the week starts on Monday,\n * // how many calendar weeks are between 5 July 2014 and 20 July 2014?\n * var result = differenceInCalendarWeeks(\n * new Date(2014, 6, 20),\n * new Date(2014, 6, 5),\n * { weekStartsOn: 1 }\n * )\n * //=> 2\n */\n\nfunction differenceInCalendarWeeks(dirtyDateLeft, dirtyDateRight, dirtyOptions) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present');\n }\n\n var startOfWeekLeft = Object(_startOfWeek_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDateLeft, dirtyOptions);\n var startOfWeekRight = Object(_startOfWeek_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDateRight, dirtyOptions);\n var timestampLeft = startOfWeekLeft.getTime() - Object(_lib_getTimezoneOffsetInMilliseconds_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(startOfWeekLeft);\n var timestampRight = startOfWeekRight.getTime() - Object(_lib_getTimezoneOffsetInMilliseconds_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(startOfWeekRight); // Round the number of days to the nearest integer\n // because the number of milliseconds in a week is not constant\n // (e.g. it's different in the week of the daylight saving time clock shift)\n\n return Math.round((timestampLeft - timestampRight) / MILLISECONDS_IN_WEEK);\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2RpZmZlcmVuY2VJbkNhbGVuZGFyV2Vla3MvaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2RpZmZlcmVuY2VJbkNhbGVuZGFyV2Vla3MvaW5kZXguanM/ZmNiYSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc3RhcnRPZldlZWsgZnJvbSAnLi4vc3RhcnRPZldlZWsvaW5kZXguanMnO1xuaW1wb3J0IGdldFRpbWV6b25lT2Zmc2V0SW5NaWxsaXNlY29uZHMgZnJvbSAnLi4vX2xpYi9nZXRUaW1lem9uZU9mZnNldEluTWlsbGlzZWNvbmRzL2luZGV4LmpzJztcbnZhciBNSUxMSVNFQ09ORFNfSU5fV0VFSyA9IDYwNDgwMDAwMDtcbi8qKlxuICogQG5hbWUgZGlmZmVyZW5jZUluQ2FsZW5kYXJXZWVrc1xuICogQGNhdGVnb3J5IFdlZWsgSGVscGVyc1xuICogQHN1bW1hcnkgR2V0IHRoZSBudW1iZXIgb2YgY2FsZW5kYXIgd2Vla3MgYmV0d2VlbiB0aGUgZ2l2ZW4gZGF0ZXMuXG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKiBHZXQgdGhlIG51bWJlciBvZiBjYWxlbmRhciB3ZWVrcyBiZXR3ZWVuIHRoZSBnaXZlbiBkYXRlcy5cbiAqXG4gKiAjIyMgdjIuMC4wIGJyZWFraW5nIGNoYW5nZXM6XG4gKlxuICogLSBbQ2hhbmdlcyB0aGF0IGFyZSBjb21tb24gZm9yIHRoZSB3aG9sZSBsaWJyYXJ5XShodHRwczovL2dpdGh1Yi5jb20vZGF0ZS1mbnMvZGF0ZS1mbnMvYmxvYi9tYXN0ZXIvZG9jcy91cGdyYWRlR3VpZGUubWQjQ29tbW9uLUNoYW5nZXMpLlxuICpcbiAqIEBwYXJhbSB7RGF0ZXxOdW1iZXJ9IGRhdGVMZWZ0IC0gdGhlIGxhdGVyIGRhdGVcbiAqIEBwYXJhbSB7RGF0ZXxOdW1iZXJ9IGRhdGVSaWdodCAtIHRoZSBlYXJsaWVyIGRhdGVcbiAqIEBwYXJhbSB7T2JqZWN0fSBbb3B0aW9uc10gLSBhbiBvYmplY3Qgd2l0aCBvcHRpb25zLlxuICogQHBhcmFtIHtMb2NhbGV9IFtvcHRpb25zLmxvY2FsZT1kZWZhdWx0TG9jYWxlXSAtIHRoZSBsb2NhbGUgb2JqZWN0LiBTZWUgW0xvY2FsZV17QGxpbmsgaHR0cHM6Ly9kYXRlLWZucy5vcmcvZG9jcy9Mb2NhbGV9XG4gKiBAcGFyYW0gezB8MXwyfDN8NHw1fDZ9IFtvcHRpb25zLndlZWtTdGFydHNPbj0wXSAtIHRoZSBpbmRleCBvZiB0aGUgZmlyc3QgZGF5IG9mIHRoZSB3ZWVrICgwIC0gU3VuZGF5KVxuICogQHJldHVybnMge051bWJlcn0gdGhlIG51bWJlciBvZiBjYWxlbmRhciB3ZWVrc1xuICogQHRocm93cyB7VHlwZUVycm9yfSAyIGFyZ3VtZW50cyByZXF1aXJlZFxuICogQHRocm93cyB7UmFuZ2VFcnJvcn0gYG9wdGlvbnMud2Vla1N0YXJ0c09uYCBtdXN0IGJlIGJldHdlZW4gMCBhbmQgNlxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBIb3cgbWFueSBjYWxlbmRhciB3ZWVrcyBhcmUgYmV0d2VlbiA1IEp1bHkgMjAxNCBhbmQgMjAgSnVseSAyMDE0P1xuICogdmFyIHJlc3VsdCA9IGRpZmZlcmVuY2VJbkNhbGVuZGFyV2Vla3MoXG4gKiAgIG5ldyBEYXRlKDIwMTQsIDYsIDIwKSxcbiAqICAgbmV3IERhdGUoMjAxNCwgNiwgNSlcbiAqIClcbiAqIC8vPT4gM1xuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBJZiB0aGUgd2VlayBzdGFydHMgb24gTW9uZGF5LFxuICogLy8gaG93IG1hbnkgY2FsZW5kYXIgd2Vla3MgYXJlIGJldHdlZW4gNSBKdWx5IDIwMTQgYW5kIDIwIEp1bHkgMjAxND9cbiAqIHZhciByZXN1bHQgPSBkaWZmZXJlbmNlSW5DYWxlbmRhcldlZWtzKFxuICogICBuZXcgRGF0ZSgyMDE0LCA2LCAyMCksXG4gKiAgIG5ldyBEYXRlKDIwMTQsIDYsIDUpLFxuICogICB7IHdlZWtTdGFydHNPbjogMSB9XG4gKiApXG4gKiAvLz0+IDJcbiAqL1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBkaWZmZXJlbmNlSW5DYWxlbmRhcldlZWtzKGRpcnR5RGF0ZUxlZnQsIGRpcnR5RGF0ZVJpZ2h0LCBkaXJ0eU9wdGlvbnMpIHtcbiAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPCAyKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignMiBhcmd1bWVudHMgcmVxdWlyZWQsIGJ1dCBvbmx5ICcgKyBhcmd1bWVudHMubGVuZ3RoICsgJyBwcmVzZW50Jyk7XG4gIH1cblxuICB2YXIgc3RhcnRPZldlZWtMZWZ0ID0gc3RhcnRPZldlZWsoZGlydHlEYXRlTGVmdCwgZGlydHlPcHRpb25zKTtcbiAgdmFyIHN0YXJ0T2ZXZWVrUmlnaHQgPSBzdGFydE9mV2VlayhkaXJ0eURhdGVSaWdodCwgZGlydHlPcHRpb25zKTtcbiAgdmFyIHRpbWVzdGFtcExlZnQgPSBzdGFydE9mV2Vla0xlZnQuZ2V0VGltZSgpIC0gZ2V0VGltZXpvbmVPZmZzZXRJbk1pbGxpc2Vjb25kcyhzdGFydE9mV2Vla0xlZnQpO1xuICB2YXIgdGltZXN0YW1wUmlnaHQgPSBzdGFydE9mV2Vla1JpZ2h0LmdldFRpbWUoKSAtIGdldFRpbWV6b25lT2Zmc2V0SW5NaWxsaXNlY29uZHMoc3RhcnRPZldlZWtSaWdodCk7IC8vIFJvdW5kIHRoZSBudW1iZXIgb2YgZGF5cyB0byB0aGUgbmVhcmVzdCBpbnRlZ2VyXG4gIC8vIGJlY2F1c2UgdGhlIG51bWJlciBvZiBtaWxsaXNlY29uZHMgaW4gYSB3ZWVrIGlzIG5vdCBjb25zdGFudFxuICAvLyAoZS5nLiBpdCdzIGRpZmZlcmVudCBpbiB0aGUgd2VlayBvZiB0aGUgZGF5bGlnaHQgc2F2aW5nIHRpbWUgY2xvY2sgc2hpZnQpXG5cbiAgcmV0dXJuIE1hdGgucm91bmQoKHRpbWVzdGFtcExlZnQgLSB0aW1lc3RhbXBSaWdodCkgLyBNSUxMSVNFQ09ORFNfSU5fV0VFSyk7XG59Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/differenceInCalendarWeeks/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/differenceInCalendarYears/index.js": /*!**********************************************************************!*\ !*** ./node_modules/date-fns/esm/differenceInCalendarYears/index.js ***! \**********************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return differenceInCalendarYears; });\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n\n/**\n * @name differenceInCalendarYears\n * @category Year Helpers\n * @summary Get the number of calendar years between the given dates.\n *\n * @description\n * Get the number of calendar years between the given dates.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} dateLeft - the later date\n * @param {Date|Number} dateRight - the earlier date\n * @returns {Number} the number of calendar years\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // How many calendar years are between 31 December 2013 and 11 February 2015?\n * var result = differenceInCalendarYears(\n * new Date(2015, 1, 11),\n * new Date(2013, 11, 31)\n * )\n * //=> 2\n */\n\nfunction differenceInCalendarYears(dirtyDateLeft, dirtyDateRight) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present');\n }\n\n var dateLeft = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDateLeft);\n var dateRight = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDateRight);\n return dateLeft.getFullYear() - dateRight.getFullYear();\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2RpZmZlcmVuY2VJbkNhbGVuZGFyWWVhcnMvaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2RpZmZlcmVuY2VJbkNhbGVuZGFyWWVhcnMvaW5kZXguanM/MDA1ZSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdG9EYXRlIGZyb20gJy4uL3RvRGF0ZS9pbmRleC5qcyc7XG4vKipcbiAqIEBuYW1lIGRpZmZlcmVuY2VJbkNhbGVuZGFyWWVhcnNcbiAqIEBjYXRlZ29yeSBZZWFyIEhlbHBlcnNcbiAqIEBzdW1tYXJ5IEdldCB0aGUgbnVtYmVyIG9mIGNhbGVuZGFyIHllYXJzIGJldHdlZW4gdGhlIGdpdmVuIGRhdGVzLlxuICpcbiAqIEBkZXNjcmlwdGlvblxuICogR2V0IHRoZSBudW1iZXIgb2YgY2FsZW5kYXIgeWVhcnMgYmV0d2VlbiB0aGUgZ2l2ZW4gZGF0ZXMuXG4gKlxuICogIyMjIHYyLjAuMCBicmVha2luZyBjaGFuZ2VzOlxuICpcbiAqIC0gW0NoYW5nZXMgdGhhdCBhcmUgY29tbW9uIGZvciB0aGUgd2hvbGUgbGlicmFyeV0oaHR0cHM6Ly9naXRodWIuY29tL2RhdGUtZm5zL2RhdGUtZm5zL2Jsb2IvbWFzdGVyL2RvY3MvdXBncmFkZUd1aWRlLm1kI0NvbW1vbi1DaGFuZ2VzKS5cbiAqXG4gKiBAcGFyYW0ge0RhdGV8TnVtYmVyfSBkYXRlTGVmdCAtIHRoZSBsYXRlciBkYXRlXG4gKiBAcGFyYW0ge0RhdGV8TnVtYmVyfSBkYXRlUmlnaHQgLSB0aGUgZWFybGllciBkYXRlXG4gKiBAcmV0dXJucyB7TnVtYmVyfSB0aGUgbnVtYmVyIG9mIGNhbGVuZGFyIHllYXJzXG4gKiBAdGhyb3dzIHtUeXBlRXJyb3J9IDIgYXJndW1lbnRzIHJlcXVpcmVkXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIEhvdyBtYW55IGNhbGVuZGFyIHllYXJzIGFyZSBiZXR3ZWVuIDMxIERlY2VtYmVyIDIwMTMgYW5kIDExIEZlYnJ1YXJ5IDIwMTU/XG4gKiB2YXIgcmVzdWx0ID0gZGlmZmVyZW5jZUluQ2FsZW5kYXJZZWFycyhcbiAqICAgbmV3IERhdGUoMjAxNSwgMSwgMTEpLFxuICogICBuZXcgRGF0ZSgyMDEzLCAxMSwgMzEpXG4gKiApXG4gKiAvLz0+IDJcbiAqL1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBkaWZmZXJlbmNlSW5DYWxlbmRhclllYXJzKGRpcnR5RGF0ZUxlZnQsIGRpcnR5RGF0ZVJpZ2h0KSB7XG4gIGlmIChhcmd1bWVudHMubGVuZ3RoIDwgMikge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJzIgYXJndW1lbnRzIHJlcXVpcmVkLCBidXQgb25seSAnICsgYXJndW1lbnRzLmxlbmd0aCArICcgcHJlc2VudCcpO1xuICB9XG5cbiAgdmFyIGRhdGVMZWZ0ID0gdG9EYXRlKGRpcnR5RGF0ZUxlZnQpO1xuICB2YXIgZGF0ZVJpZ2h0ID0gdG9EYXRlKGRpcnR5RGF0ZVJpZ2h0KTtcbiAgcmV0dXJuIGRhdGVMZWZ0LmdldEZ1bGxZZWFyKCkgLSBkYXRlUmlnaHQuZ2V0RnVsbFllYXIoKTtcbn0iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/differenceInCalendarYears/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/differenceInDays/index.js": /*!*************************************************************!*\ !*** ./node_modules/date-fns/esm/differenceInDays/index.js ***! \*************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return differenceInDays; });\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n/* harmony import */ var _differenceInCalendarDays_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../differenceInCalendarDays/index.js */ \"./node_modules/date-fns/esm/differenceInCalendarDays/index.js\");\n/* harmony import */ var _compareAsc_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../compareAsc/index.js */ \"./node_modules/date-fns/esm/compareAsc/index.js\");\n\n\n\n/**\n * @name differenceInDays\n * @category Day Helpers\n * @summary Get the number of full days between the given dates.\n *\n * @description\n * Get the number of full day periods between the given dates.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} dateLeft - the later date\n * @param {Date|Number} dateRight - the earlier date\n * @returns {Number} the number of full days\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // How many full days are between\n * // 2 July 2011 23:00:00 and 2 July 2012 00:00:00?\n * var result = differenceInDays(\n * new Date(2012, 6, 2, 0, 0),\n * new Date(2011, 6, 2, 23, 0)\n * )\n * //=> 365\n * // How many days are between\n * // 2 July 2011 23:59:00 and 3 July 2011 00:01:00?\n * var result = differenceInDays(\n * new Date(2011, 6, 3, 0, 1),\n * new Date(2011, 6, 2, 23, 59)\n * )\n * //=> 0\n */\n\nfunction differenceInDays(dirtyDateLeft, dirtyDateRight) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present');\n }\n\n var dateLeft = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDateLeft);\n var dateRight = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDateRight);\n var sign = Object(_compareAsc_index_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(dateLeft, dateRight);\n var difference = Math.abs(Object(_differenceInCalendarDays_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(dateLeft, dateRight));\n dateLeft.setDate(dateLeft.getDate() - sign * difference); // Math.abs(diff in full days - diff in calendar days) === 1 if last calendar day is not full\n // If so, result must be decreased by 1 in absolute value\n\n var isLastDayNotFull = Object(_compareAsc_index_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(dateLeft, dateRight) === -sign;\n var result = sign * (difference - isLastDayNotFull); // Prevent negative zero\n\n return result === 0 ? 0 : result;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2RpZmZlcmVuY2VJbkRheXMvaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2RpZmZlcmVuY2VJbkRheXMvaW5kZXguanM/MzY4MyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdG9EYXRlIGZyb20gJy4uL3RvRGF0ZS9pbmRleC5qcyc7XG5pbXBvcnQgZGlmZmVyZW5jZUluQ2FsZW5kYXJEYXlzIGZyb20gJy4uL2RpZmZlcmVuY2VJbkNhbGVuZGFyRGF5cy9pbmRleC5qcyc7XG5pbXBvcnQgY29tcGFyZUFzYyBmcm9tICcuLi9jb21wYXJlQXNjL2luZGV4LmpzJztcbi8qKlxuICogQG5hbWUgZGlmZmVyZW5jZUluRGF5c1xuICogQGNhdGVnb3J5IERheSBIZWxwZXJzXG4gKiBAc3VtbWFyeSBHZXQgdGhlIG51bWJlciBvZiBmdWxsIGRheXMgYmV0d2VlbiB0aGUgZ2l2ZW4gZGF0ZXMuXG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKiBHZXQgdGhlIG51bWJlciBvZiBmdWxsIGRheSBwZXJpb2RzIGJldHdlZW4gdGhlIGdpdmVuIGRhdGVzLlxuICpcbiAqICMjIyB2Mi4wLjAgYnJlYWtpbmcgY2hhbmdlczpcbiAqXG4gKiAtIFtDaGFuZ2VzIHRoYXQgYXJlIGNvbW1vbiBmb3IgdGhlIHdob2xlIGxpYnJhcnldKGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRlLWZucy9kYXRlLWZucy9ibG9iL21hc3Rlci9kb2NzL3VwZ3JhZGVHdWlkZS5tZCNDb21tb24tQ2hhbmdlcykuXG4gKlxuICogQHBhcmFtIHtEYXRlfE51bWJlcn0gZGF0ZUxlZnQgLSB0aGUgbGF0ZXIgZGF0ZVxuICogQHBhcmFtIHtEYXRlfE51bWJlcn0gZGF0ZVJpZ2h0IC0gdGhlIGVhcmxpZXIgZGF0ZVxuICogQHJldHVybnMge051bWJlcn0gdGhlIG51bWJlciBvZiBmdWxsIGRheXNcbiAqIEB0aHJvd3Mge1R5cGVFcnJvcn0gMiBhcmd1bWVudHMgcmVxdWlyZWRcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gSG93IG1hbnkgZnVsbCBkYXlzIGFyZSBiZXR3ZWVuXG4gKiAvLyAyIEp1bHkgMjAxMSAyMzowMDowMCBhbmQgMiBKdWx5IDIwMTIgMDA6MDA6MDA/XG4gKiB2YXIgcmVzdWx0ID0gZGlmZmVyZW5jZUluRGF5cyhcbiAqICAgbmV3IERhdGUoMjAxMiwgNiwgMiwgMCwgMCksXG4gKiAgIG5ldyBEYXRlKDIwMTEsIDYsIDIsIDIzLCAwKVxuICogKVxuICogLy89PiAzNjVcbiAqIC8vIEhvdyBtYW55IGRheXMgYXJlIGJldHdlZW5cbiAqIC8vIDIgSnVseSAyMDExIDIzOjU5OjAwIGFuZCAzIEp1bHkgMjAxMSAwMDowMTowMD9cbiAqIHZhciByZXN1bHQgPSBkaWZmZXJlbmNlSW5EYXlzKFxuICogICBuZXcgRGF0ZSgyMDExLCA2LCAzLCAwLCAxKSxcbiAqICAgbmV3IERhdGUoMjAxMSwgNiwgMiwgMjMsIDU5KVxuICogKVxuICogLy89PiAwXG4gKi9cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZGlmZmVyZW5jZUluRGF5cyhkaXJ0eURhdGVMZWZ0LCBkaXJ0eURhdGVSaWdodCkge1xuICBpZiAoYXJndW1lbnRzLmxlbmd0aCA8IDIpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCcyIGFyZ3VtZW50cyByZXF1aXJlZCwgYnV0IG9ubHkgJyArIGFyZ3VtZW50cy5sZW5ndGggKyAnIHByZXNlbnQnKTtcbiAgfVxuXG4gIHZhciBkYXRlTGVmdCA9IHRvRGF0ZShkaXJ0eURhdGVMZWZ0KTtcbiAgdmFyIGRhdGVSaWdodCA9IHRvRGF0ZShkaXJ0eURhdGVSaWdodCk7XG4gIHZhciBzaWduID0gY29tcGFyZUFzYyhkYXRlTGVmdCwgZGF0ZVJpZ2h0KTtcbiAgdmFyIGRpZmZlcmVuY2UgPSBNYXRoLmFicyhkaWZmZXJlbmNlSW5DYWxlbmRhckRheXMoZGF0ZUxlZnQsIGRhdGVSaWdodCkpO1xuICBkYXRlTGVmdC5zZXREYXRlKGRhdGVMZWZ0LmdldERhdGUoKSAtIHNpZ24gKiBkaWZmZXJlbmNlKTsgLy8gTWF0aC5hYnMoZGlmZiBpbiBmdWxsIGRheXMgLSBkaWZmIGluIGNhbGVuZGFyIGRheXMpID09PSAxIGlmIGxhc3QgY2FsZW5kYXIgZGF5IGlzIG5vdCBmdWxsXG4gIC8vIElmIHNvLCByZXN1bHQgbXVzdCBiZSBkZWNyZWFzZWQgYnkgMSBpbiBhYnNvbHV0ZSB2YWx1ZVxuXG4gIHZhciBpc0xhc3REYXlOb3RGdWxsID0gY29tcGFyZUFzYyhkYXRlTGVmdCwgZGF0ZVJpZ2h0KSA9PT0gLXNpZ247XG4gIHZhciByZXN1bHQgPSBzaWduICogKGRpZmZlcmVuY2UgLSBpc0xhc3REYXlOb3RGdWxsKTsgLy8gUHJldmVudCBuZWdhdGl2ZSB6ZXJvXG5cbiAgcmV0dXJuIHJlc3VsdCA9PT0gMCA/IDAgOiByZXN1bHQ7XG59Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/differenceInDays/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/differenceInHours/index.js": /*!**************************************************************!*\ !*** ./node_modules/date-fns/esm/differenceInHours/index.js ***! \**************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return differenceInHours; });\n/* harmony import */ var _differenceInMilliseconds_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../differenceInMilliseconds/index.js */ \"./node_modules/date-fns/esm/differenceInMilliseconds/index.js\");\n\nvar MILLISECONDS_IN_HOUR = 3600000;\n/**\n * @name differenceInHours\n * @category Hour Helpers\n * @summary Get the number of hours between the given dates.\n *\n * @description\n * Get the number of hours between the given dates.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} dateLeft - the later date\n * @param {Date|Number} dateRight - the earlier date\n * @returns {Number} the number of hours\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // How many hours are between 2 July 2014 06:50:00 and 2 July 2014 19:00:00?\n * var result = differenceInHours(\n * new Date(2014, 6, 2, 19, 0),\n * new Date(2014, 6, 2, 6, 50)\n * )\n * //=> 12\n */\n\nfunction differenceInHours(dirtyDateLeft, dirtyDateRight) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present');\n }\n\n var diff = Object(_differenceInMilliseconds_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDateLeft, dirtyDateRight) / MILLISECONDS_IN_HOUR;\n return diff > 0 ? Math.floor(diff) : Math.ceil(diff);\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2RpZmZlcmVuY2VJbkhvdXJzL2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2VzbS9kaWZmZXJlbmNlSW5Ib3Vycy9pbmRleC5qcz85YTgwIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBkaWZmZXJlbmNlSW5NaWxsaXNlY29uZHMgZnJvbSAnLi4vZGlmZmVyZW5jZUluTWlsbGlzZWNvbmRzL2luZGV4LmpzJztcbnZhciBNSUxMSVNFQ09ORFNfSU5fSE9VUiA9IDM2MDAwMDA7XG4vKipcbiAqIEBuYW1lIGRpZmZlcmVuY2VJbkhvdXJzXG4gKiBAY2F0ZWdvcnkgSG91ciBIZWxwZXJzXG4gKiBAc3VtbWFyeSBHZXQgdGhlIG51bWJlciBvZiBob3VycyBiZXR3ZWVuIHRoZSBnaXZlbiBkYXRlcy5cbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIEdldCB0aGUgbnVtYmVyIG9mIGhvdXJzIGJldHdlZW4gdGhlIGdpdmVuIGRhdGVzLlxuICpcbiAqICMjIyB2Mi4wLjAgYnJlYWtpbmcgY2hhbmdlczpcbiAqXG4gKiAtIFtDaGFuZ2VzIHRoYXQgYXJlIGNvbW1vbiBmb3IgdGhlIHdob2xlIGxpYnJhcnldKGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRlLWZucy9kYXRlLWZucy9ibG9iL21hc3Rlci9kb2NzL3VwZ3JhZGVHdWlkZS5tZCNDb21tb24tQ2hhbmdlcykuXG4gKlxuICogQHBhcmFtIHtEYXRlfE51bWJlcn0gZGF0ZUxlZnQgLSB0aGUgbGF0ZXIgZGF0ZVxuICogQHBhcmFtIHtEYXRlfE51bWJlcn0gZGF0ZVJpZ2h0IC0gdGhlIGVhcmxpZXIgZGF0ZVxuICogQHJldHVybnMge051bWJlcn0gdGhlIG51bWJlciBvZiBob3Vyc1xuICogQHRocm93cyB7VHlwZUVycm9yfSAyIGFyZ3VtZW50cyByZXF1aXJlZFxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBIb3cgbWFueSBob3VycyBhcmUgYmV0d2VlbiAyIEp1bHkgMjAxNCAwNjo1MDowMCBhbmQgMiBKdWx5IDIwMTQgMTk6MDA6MDA/XG4gKiB2YXIgcmVzdWx0ID0gZGlmZmVyZW5jZUluSG91cnMoXG4gKiAgIG5ldyBEYXRlKDIwMTQsIDYsIDIsIDE5LCAwKSxcbiAqICAgbmV3IERhdGUoMjAxNCwgNiwgMiwgNiwgNTApXG4gKiApXG4gKiAvLz0+IDEyXG4gKi9cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZGlmZmVyZW5jZUluSG91cnMoZGlydHlEYXRlTGVmdCwgZGlydHlEYXRlUmlnaHQpIHtcbiAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPCAyKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignMiBhcmd1bWVudHMgcmVxdWlyZWQsIGJ1dCBvbmx5ICcgKyBhcmd1bWVudHMubGVuZ3RoICsgJyBwcmVzZW50Jyk7XG4gIH1cblxuICB2YXIgZGlmZiA9IGRpZmZlcmVuY2VJbk1pbGxpc2Vjb25kcyhkaXJ0eURhdGVMZWZ0LCBkaXJ0eURhdGVSaWdodCkgLyBNSUxMSVNFQ09ORFNfSU5fSE9VUjtcbiAgcmV0dXJuIGRpZmYgPiAwID8gTWF0aC5mbG9vcihkaWZmKSA6IE1hdGguY2VpbChkaWZmKTtcbn0iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/differenceInHours/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/differenceInISOWeekYears/index.js": /*!*********************************************************************!*\ !*** ./node_modules/date-fns/esm/differenceInISOWeekYears/index.js ***! \*********************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return differenceInISOWeekYears; });\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n/* harmony import */ var _differenceInCalendarISOWeekYears_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../differenceInCalendarISOWeekYears/index.js */ \"./node_modules/date-fns/esm/differenceInCalendarISOWeekYears/index.js\");\n/* harmony import */ var _compareAsc_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../compareAsc/index.js */ \"./node_modules/date-fns/esm/compareAsc/index.js\");\n/* harmony import */ var _subISOWeekYears_index_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../subISOWeekYears/index.js */ \"./node_modules/date-fns/esm/subISOWeekYears/index.js\");\n\n\n\n\n/**\n * @name differenceInISOWeekYears\n * @category ISO Week-Numbering Year Helpers\n * @summary Get the number of full ISO week-numbering years between the given dates.\n *\n * @description\n * Get the number of full ISO week-numbering years between the given dates.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * - The function was renamed from `differenceInISOYears` to `differenceInISOWeekYears`.\n * \"ISO week year\" is short for [ISO week-numbering year](https://en.wikipedia.org/wiki/ISO_week_date).\n * This change makes the name consistent with\n * locale-dependent week-numbering year helpers, e.g., `addWeekYears`.\n *\n * @param {Date|Number} dateLeft - the later date\n * @param {Date|Number} dateRight - the earlier date\n * @returns {Number} the number of full ISO week-numbering years\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // How many full ISO week-numbering years are between 1 January 2010 and 1 January 2012?\n * var result = differenceInISOWeekYears(\n * new Date(2012, 0, 1),\n * new Date(2010, 0, 1)\n * )\n * //=> 1\n */\n\nfunction differenceInISOWeekYears(dirtyDateLeft, dirtyDateRight) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present');\n }\n\n var dateLeft = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDateLeft);\n var dateRight = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDateRight);\n var sign = Object(_compareAsc_index_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(dateLeft, dateRight);\n var difference = Math.abs(Object(_differenceInCalendarISOWeekYears_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(dateLeft, dateRight));\n dateLeft = Object(_subISOWeekYears_index_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(dateLeft, sign * difference); // Math.abs(diff in full ISO years - diff in calendar ISO years) === 1\n // if last calendar ISO year is not full\n // If so, result must be decreased by 1 in absolute value\n\n var isLastISOWeekYearNotFull = Object(_compareAsc_index_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(dateLeft, dateRight) === -sign;\n var result = sign * (difference - isLastISOWeekYearNotFull); // Prevent negative zero\n\n return result === 0 ? 0 : result;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2RpZmZlcmVuY2VJbklTT1dlZWtZZWFycy9pbmRleC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9kYXRlLWZucy9lc20vZGlmZmVyZW5jZUluSVNPV2Vla1llYXJzL2luZGV4LmpzP2JjMDQiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHRvRGF0ZSBmcm9tICcuLi90b0RhdGUvaW5kZXguanMnO1xuaW1wb3J0IGRpZmZlcmVuY2VJbkNhbGVuZGFySVNPV2Vla1llYXJzIGZyb20gJy4uL2RpZmZlcmVuY2VJbkNhbGVuZGFySVNPV2Vla1llYXJzL2luZGV4LmpzJztcbmltcG9ydCBjb21wYXJlQXNjIGZyb20gJy4uL2NvbXBhcmVBc2MvaW5kZXguanMnO1xuaW1wb3J0IHN1YklTT1dlZWtZZWFycyBmcm9tICcuLi9zdWJJU09XZWVrWWVhcnMvaW5kZXguanMnO1xuLyoqXG4gKiBAbmFtZSBkaWZmZXJlbmNlSW5JU09XZWVrWWVhcnNcbiAqIEBjYXRlZ29yeSBJU08gV2Vlay1OdW1iZXJpbmcgWWVhciBIZWxwZXJzXG4gKiBAc3VtbWFyeSBHZXQgdGhlIG51bWJlciBvZiBmdWxsIElTTyB3ZWVrLW51bWJlcmluZyB5ZWFycyBiZXR3ZWVuIHRoZSBnaXZlbiBkYXRlcy5cbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIEdldCB0aGUgbnVtYmVyIG9mIGZ1bGwgSVNPIHdlZWstbnVtYmVyaW5nIHllYXJzIGJldHdlZW4gdGhlIGdpdmVuIGRhdGVzLlxuICpcbiAqIElTTyB3ZWVrLW51bWJlcmluZyB5ZWFyOiBodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0lTT193ZWVrX2RhdGVcbiAqXG4gKiAjIyMgdjIuMC4wIGJyZWFraW5nIGNoYW5nZXM6XG4gKlxuICogLSBbQ2hhbmdlcyB0aGF0IGFyZSBjb21tb24gZm9yIHRoZSB3aG9sZSBsaWJyYXJ5XShodHRwczovL2dpdGh1Yi5jb20vZGF0ZS1mbnMvZGF0ZS1mbnMvYmxvYi9tYXN0ZXIvZG9jcy91cGdyYWRlR3VpZGUubWQjQ29tbW9uLUNoYW5nZXMpLlxuICpcbiAqIC0gVGhlIGZ1bmN0aW9uIHdhcyByZW5hbWVkIGZyb20gYGRpZmZlcmVuY2VJbklTT1llYXJzYCB0byBgZGlmZmVyZW5jZUluSVNPV2Vla1llYXJzYC5cbiAqICAgXCJJU08gd2VlayB5ZWFyXCIgaXMgc2hvcnQgZm9yIFtJU08gd2Vlay1udW1iZXJpbmcgeWVhcl0oaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvSVNPX3dlZWtfZGF0ZSkuXG4gKiAgIFRoaXMgY2hhbmdlIG1ha2VzIHRoZSBuYW1lIGNvbnNpc3RlbnQgd2l0aFxuICogICBsb2NhbGUtZGVwZW5kZW50IHdlZWstbnVtYmVyaW5nIHllYXIgaGVscGVycywgZS5nLiwgYGFkZFdlZWtZZWFyc2AuXG4gKlxuICogQHBhcmFtIHtEYXRlfE51bWJlcn0gZGF0ZUxlZnQgLSB0aGUgbGF0ZXIgZGF0ZVxuICogQHBhcmFtIHtEYXRlfE51bWJlcn0gZGF0ZVJpZ2h0IC0gdGhlIGVhcmxpZXIgZGF0ZVxuICogQHJldHVybnMge051bWJlcn0gdGhlIG51bWJlciBvZiBmdWxsIElTTyB3ZWVrLW51bWJlcmluZyB5ZWFyc1xuICogQHRocm93cyB7VHlwZUVycm9yfSAyIGFyZ3VtZW50cyByZXF1aXJlZFxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBIb3cgbWFueSBmdWxsIElTTyB3ZWVrLW51bWJlcmluZyB5ZWFycyBhcmUgYmV0d2VlbiAxIEphbnVhcnkgMjAxMCBhbmQgMSBKYW51YXJ5IDIwMTI/XG4gKiB2YXIgcmVzdWx0ID0gZGlmZmVyZW5jZUluSVNPV2Vla1llYXJzKFxuICogICBuZXcgRGF0ZSgyMDEyLCAwLCAxKSxcbiAqICAgbmV3IERhdGUoMjAxMCwgMCwgMSlcbiAqIClcbiAqIC8vPT4gMVxuICovXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGRpZmZlcmVuY2VJbklTT1dlZWtZZWFycyhkaXJ0eURhdGVMZWZ0LCBkaXJ0eURhdGVSaWdodCkge1xuICBpZiAoYXJndW1lbnRzLmxlbmd0aCA8IDIpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCcyIGFyZ3VtZW50cyByZXF1aXJlZCwgYnV0IG9ubHkgJyArIGFyZ3VtZW50cy5sZW5ndGggKyAnIHByZXNlbnQnKTtcbiAgfVxuXG4gIHZhciBkYXRlTGVmdCA9IHRvRGF0ZShkaXJ0eURhdGVMZWZ0KTtcbiAgdmFyIGRhdGVSaWdodCA9IHRvRGF0ZShkaXJ0eURhdGVSaWdodCk7XG4gIHZhciBzaWduID0gY29tcGFyZUFzYyhkYXRlTGVmdCwgZGF0ZVJpZ2h0KTtcbiAgdmFyIGRpZmZlcmVuY2UgPSBNYXRoLmFicyhkaWZmZXJlbmNlSW5DYWxlbmRhcklTT1dlZWtZZWFycyhkYXRlTGVmdCwgZGF0ZVJpZ2h0KSk7XG4gIGRhdGVMZWZ0ID0gc3ViSVNPV2Vla1llYXJzKGRhdGVMZWZ0LCBzaWduICogZGlmZmVyZW5jZSk7IC8vIE1hdGguYWJzKGRpZmYgaW4gZnVsbCBJU08geWVhcnMgLSBkaWZmIGluIGNhbGVuZGFyIElTTyB5ZWFycykgPT09IDFcbiAgLy8gaWYgbGFzdCBjYWxlbmRhciBJU08geWVhciBpcyBub3QgZnVsbFxuICAvLyBJZiBzbywgcmVzdWx0IG11c3QgYmUgZGVjcmVhc2VkIGJ5IDEgaW4gYWJzb2x1dGUgdmFsdWVcblxuICB2YXIgaXNMYXN0SVNPV2Vla1llYXJOb3RGdWxsID0gY29tcGFyZUFzYyhkYXRlTGVmdCwgZGF0ZVJpZ2h0KSA9PT0gLXNpZ247XG4gIHZhciByZXN1bHQgPSBzaWduICogKGRpZmZlcmVuY2UgLSBpc0xhc3RJU09XZWVrWWVhck5vdEZ1bGwpOyAvLyBQcmV2ZW50IG5lZ2F0aXZlIHplcm9cblxuICByZXR1cm4gcmVzdWx0ID09PSAwID8gMCA6IHJlc3VsdDtcbn0iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/differenceInISOWeekYears/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/differenceInMilliseconds/index.js": /*!*********************************************************************!*\ !*** ./node_modules/date-fns/esm/differenceInMilliseconds/index.js ***! \*********************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return differenceInMilliseconds; });\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n\n/**\n * @name differenceInMilliseconds\n * @category Millisecond Helpers\n * @summary Get the number of milliseconds between the given dates.\n *\n * @description\n * Get the number of milliseconds between the given dates.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} dateLeft - the later date\n * @param {Date|Number} dateRight - the earlier date\n * @returns {Number} the number of milliseconds\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // How many milliseconds are between\n * // 2 July 2014 12:30:20.600 and 2 July 2014 12:30:21.700?\n * var result = differenceInMilliseconds(\n * new Date(2014, 6, 2, 12, 30, 21, 700),\n * new Date(2014, 6, 2, 12, 30, 20, 600)\n * )\n * //=> 1100\n */\n\nfunction differenceInMilliseconds(dirtyDateLeft, dirtyDateRight) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present');\n }\n\n var dateLeft = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDateLeft);\n var dateRight = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDateRight);\n return dateLeft.getTime() - dateRight.getTime();\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2RpZmZlcmVuY2VJbk1pbGxpc2Vjb25kcy9pbmRleC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9kYXRlLWZucy9lc20vZGlmZmVyZW5jZUluTWlsbGlzZWNvbmRzL2luZGV4LmpzPzNhYjgiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHRvRGF0ZSBmcm9tICcuLi90b0RhdGUvaW5kZXguanMnO1xuLyoqXG4gKiBAbmFtZSBkaWZmZXJlbmNlSW5NaWxsaXNlY29uZHNcbiAqIEBjYXRlZ29yeSBNaWxsaXNlY29uZCBIZWxwZXJzXG4gKiBAc3VtbWFyeSBHZXQgdGhlIG51bWJlciBvZiBtaWxsaXNlY29uZHMgYmV0d2VlbiB0aGUgZ2l2ZW4gZGF0ZXMuXG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKiBHZXQgdGhlIG51bWJlciBvZiBtaWxsaXNlY29uZHMgYmV0d2VlbiB0aGUgZ2l2ZW4gZGF0ZXMuXG4gKlxuICogIyMjIHYyLjAuMCBicmVha2luZyBjaGFuZ2VzOlxuICpcbiAqIC0gW0NoYW5nZXMgdGhhdCBhcmUgY29tbW9uIGZvciB0aGUgd2hvbGUgbGlicmFyeV0oaHR0cHM6Ly9naXRodWIuY29tL2RhdGUtZm5zL2RhdGUtZm5zL2Jsb2IvbWFzdGVyL2RvY3MvdXBncmFkZUd1aWRlLm1kI0NvbW1vbi1DaGFuZ2VzKS5cbiAqXG4gKiBAcGFyYW0ge0RhdGV8TnVtYmVyfSBkYXRlTGVmdCAtIHRoZSBsYXRlciBkYXRlXG4gKiBAcGFyYW0ge0RhdGV8TnVtYmVyfSBkYXRlUmlnaHQgLSB0aGUgZWFybGllciBkYXRlXG4gKiBAcmV0dXJucyB7TnVtYmVyfSB0aGUgbnVtYmVyIG9mIG1pbGxpc2Vjb25kc1xuICogQHRocm93cyB7VHlwZUVycm9yfSAyIGFyZ3VtZW50cyByZXF1aXJlZFxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBIb3cgbWFueSBtaWxsaXNlY29uZHMgYXJlIGJldHdlZW5cbiAqIC8vIDIgSnVseSAyMDE0IDEyOjMwOjIwLjYwMCBhbmQgMiBKdWx5IDIwMTQgMTI6MzA6MjEuNzAwP1xuICogdmFyIHJlc3VsdCA9IGRpZmZlcmVuY2VJbk1pbGxpc2Vjb25kcyhcbiAqICAgbmV3IERhdGUoMjAxNCwgNiwgMiwgMTIsIDMwLCAyMSwgNzAwKSxcbiAqICAgbmV3IERhdGUoMjAxNCwgNiwgMiwgMTIsIDMwLCAyMCwgNjAwKVxuICogKVxuICogLy89PiAxMTAwXG4gKi9cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZGlmZmVyZW5jZUluTWlsbGlzZWNvbmRzKGRpcnR5RGF0ZUxlZnQsIGRpcnR5RGF0ZVJpZ2h0KSB7XG4gIGlmIChhcmd1bWVudHMubGVuZ3RoIDwgMikge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJzIgYXJndW1lbnRzIHJlcXVpcmVkLCBidXQgb25seSAnICsgYXJndW1lbnRzLmxlbmd0aCArICcgcHJlc2VudCcpO1xuICB9XG5cbiAgdmFyIGRhdGVMZWZ0ID0gdG9EYXRlKGRpcnR5RGF0ZUxlZnQpO1xuICB2YXIgZGF0ZVJpZ2h0ID0gdG9EYXRlKGRpcnR5RGF0ZVJpZ2h0KTtcbiAgcmV0dXJuIGRhdGVMZWZ0LmdldFRpbWUoKSAtIGRhdGVSaWdodC5nZXRUaW1lKCk7XG59Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/differenceInMilliseconds/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/differenceInMinutes/index.js": /*!****************************************************************!*\ !*** ./node_modules/date-fns/esm/differenceInMinutes/index.js ***! \****************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return differenceInMinutes; });\n/* harmony import */ var _differenceInMilliseconds_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../differenceInMilliseconds/index.js */ \"./node_modules/date-fns/esm/differenceInMilliseconds/index.js\");\n\nvar MILLISECONDS_IN_MINUTE = 60000;\n/**\n * @name differenceInMinutes\n * @category Minute Helpers\n * @summary Get the number of minutes between the given dates.\n *\n * @description\n * Get the number of minutes between the given dates.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} dateLeft - the later date\n * @param {Date|Number} dateRight - the earlier date\n * @returns {Number} the number of minutes\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // How many minutes are between 2 July 2014 12:07:59 and 2 July 2014 12:20:00?\n * var result = differenceInMinutes(\n * new Date(2014, 6, 2, 12, 20, 0),\n * new Date(2014, 6, 2, 12, 7, 59)\n * )\n * //=> 12\n */\n\nfunction differenceInMinutes(dirtyDateLeft, dirtyDateRight) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present');\n }\n\n var diff = Object(_differenceInMilliseconds_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDateLeft, dirtyDateRight) / MILLISECONDS_IN_MINUTE;\n return diff > 0 ? Math.floor(diff) : Math.ceil(diff);\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2RpZmZlcmVuY2VJbk1pbnV0ZXMvaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2RpZmZlcmVuY2VJbk1pbnV0ZXMvaW5kZXguanM/OGM2ZiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZGlmZmVyZW5jZUluTWlsbGlzZWNvbmRzIGZyb20gJy4uL2RpZmZlcmVuY2VJbk1pbGxpc2Vjb25kcy9pbmRleC5qcyc7XG52YXIgTUlMTElTRUNPTkRTX0lOX01JTlVURSA9IDYwMDAwO1xuLyoqXG4gKiBAbmFtZSBkaWZmZXJlbmNlSW5NaW51dGVzXG4gKiBAY2F0ZWdvcnkgTWludXRlIEhlbHBlcnNcbiAqIEBzdW1tYXJ5IEdldCB0aGUgbnVtYmVyIG9mIG1pbnV0ZXMgYmV0d2VlbiB0aGUgZ2l2ZW4gZGF0ZXMuXG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKiBHZXQgdGhlIG51bWJlciBvZiBtaW51dGVzIGJldHdlZW4gdGhlIGdpdmVuIGRhdGVzLlxuICpcbiAqICMjIyB2Mi4wLjAgYnJlYWtpbmcgY2hhbmdlczpcbiAqXG4gKiAtIFtDaGFuZ2VzIHRoYXQgYXJlIGNvbW1vbiBmb3IgdGhlIHdob2xlIGxpYnJhcnldKGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRlLWZucy9kYXRlLWZucy9ibG9iL21hc3Rlci9kb2NzL3VwZ3JhZGVHdWlkZS5tZCNDb21tb24tQ2hhbmdlcykuXG4gKlxuICogQHBhcmFtIHtEYXRlfE51bWJlcn0gZGF0ZUxlZnQgLSB0aGUgbGF0ZXIgZGF0ZVxuICogQHBhcmFtIHtEYXRlfE51bWJlcn0gZGF0ZVJpZ2h0IC0gdGhlIGVhcmxpZXIgZGF0ZVxuICogQHJldHVybnMge051bWJlcn0gdGhlIG51bWJlciBvZiBtaW51dGVzXG4gKiBAdGhyb3dzIHtUeXBlRXJyb3J9IDIgYXJndW1lbnRzIHJlcXVpcmVkXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIEhvdyBtYW55IG1pbnV0ZXMgYXJlIGJldHdlZW4gMiBKdWx5IDIwMTQgMTI6MDc6NTkgYW5kIDIgSnVseSAyMDE0IDEyOjIwOjAwP1xuICogdmFyIHJlc3VsdCA9IGRpZmZlcmVuY2VJbk1pbnV0ZXMoXG4gKiAgIG5ldyBEYXRlKDIwMTQsIDYsIDIsIDEyLCAyMCwgMCksXG4gKiAgIG5ldyBEYXRlKDIwMTQsIDYsIDIsIDEyLCA3LCA1OSlcbiAqIClcbiAqIC8vPT4gMTJcbiAqL1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBkaWZmZXJlbmNlSW5NaW51dGVzKGRpcnR5RGF0ZUxlZnQsIGRpcnR5RGF0ZVJpZ2h0KSB7XG4gIGlmIChhcmd1bWVudHMubGVuZ3RoIDwgMikge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJzIgYXJndW1lbnRzIHJlcXVpcmVkLCBidXQgb25seSAnICsgYXJndW1lbnRzLmxlbmd0aCArICcgcHJlc2VudCcpO1xuICB9XG5cbiAgdmFyIGRpZmYgPSBkaWZmZXJlbmNlSW5NaWxsaXNlY29uZHMoZGlydHlEYXRlTGVmdCwgZGlydHlEYXRlUmlnaHQpIC8gTUlMTElTRUNPTkRTX0lOX01JTlVURTtcbiAgcmV0dXJuIGRpZmYgPiAwID8gTWF0aC5mbG9vcihkaWZmKSA6IE1hdGguY2VpbChkaWZmKTtcbn0iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/differenceInMinutes/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/differenceInMonths/index.js": /*!***************************************************************!*\ !*** ./node_modules/date-fns/esm/differenceInMonths/index.js ***! \***************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return differenceInMonths; });\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n/* harmony import */ var _differenceInCalendarMonths_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../differenceInCalendarMonths/index.js */ \"./node_modules/date-fns/esm/differenceInCalendarMonths/index.js\");\n/* harmony import */ var _compareAsc_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../compareAsc/index.js */ \"./node_modules/date-fns/esm/compareAsc/index.js\");\n\n\n\n/**\n * @name differenceInMonths\n * @category Month Helpers\n * @summary Get the number of full months between the given dates.\n *\n * @description\n * Get the number of full months between the given dates.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} dateLeft - the later date\n * @param {Date|Number} dateRight - the earlier date\n * @returns {Number} the number of full months\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // How many full months are between 31 January 2014 and 1 September 2014?\n * var result = differenceInMonths(new Date(2014, 8, 1), new Date(2014, 0, 31))\n * //=> 7\n */\n\nfunction differenceInMonths(dirtyDateLeft, dirtyDateRight) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present');\n }\n\n var dateLeft = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDateLeft);\n var dateRight = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDateRight);\n var sign = Object(_compareAsc_index_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(dateLeft, dateRight);\n var difference = Math.abs(Object(_differenceInCalendarMonths_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(dateLeft, dateRight));\n dateLeft.setMonth(dateLeft.getMonth() - sign * difference); // Math.abs(diff in full months - diff in calendar months) === 1 if last calendar month is not full\n // If so, result must be decreased by 1 in absolute value\n\n var isLastMonthNotFull = Object(_compareAsc_index_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(dateLeft, dateRight) === -sign;\n var result = sign * (difference - isLastMonthNotFull); // Prevent negative zero\n\n return result === 0 ? 0 : result;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2RpZmZlcmVuY2VJbk1vbnRocy9pbmRleC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9kYXRlLWZucy9lc20vZGlmZmVyZW5jZUluTW9udGhzL2luZGV4LmpzPzAyNDUiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHRvRGF0ZSBmcm9tICcuLi90b0RhdGUvaW5kZXguanMnO1xuaW1wb3J0IGRpZmZlcmVuY2VJbkNhbGVuZGFyTW9udGhzIGZyb20gJy4uL2RpZmZlcmVuY2VJbkNhbGVuZGFyTW9udGhzL2luZGV4LmpzJztcbmltcG9ydCBjb21wYXJlQXNjIGZyb20gJy4uL2NvbXBhcmVBc2MvaW5kZXguanMnO1xuLyoqXG4gKiBAbmFtZSBkaWZmZXJlbmNlSW5Nb250aHNcbiAqIEBjYXRlZ29yeSBNb250aCBIZWxwZXJzXG4gKiBAc3VtbWFyeSBHZXQgdGhlIG51bWJlciBvZiBmdWxsIG1vbnRocyBiZXR3ZWVuIHRoZSBnaXZlbiBkYXRlcy5cbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIEdldCB0aGUgbnVtYmVyIG9mIGZ1bGwgbW9udGhzIGJldHdlZW4gdGhlIGdpdmVuIGRhdGVzLlxuICpcbiAqICMjIyB2Mi4wLjAgYnJlYWtpbmcgY2hhbmdlczpcbiAqXG4gKiAtIFtDaGFuZ2VzIHRoYXQgYXJlIGNvbW1vbiBmb3IgdGhlIHdob2xlIGxpYnJhcnldKGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRlLWZucy9kYXRlLWZucy9ibG9iL21hc3Rlci9kb2NzL3VwZ3JhZGVHdWlkZS5tZCNDb21tb24tQ2hhbmdlcykuXG4gKlxuICogQHBhcmFtIHtEYXRlfE51bWJlcn0gZGF0ZUxlZnQgLSB0aGUgbGF0ZXIgZGF0ZVxuICogQHBhcmFtIHtEYXRlfE51bWJlcn0gZGF0ZVJpZ2h0IC0gdGhlIGVhcmxpZXIgZGF0ZVxuICogQHJldHVybnMge051bWJlcn0gdGhlIG51bWJlciBvZiBmdWxsIG1vbnRoc1xuICogQHRocm93cyB7VHlwZUVycm9yfSAyIGFyZ3VtZW50cyByZXF1aXJlZFxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBIb3cgbWFueSBmdWxsIG1vbnRocyBhcmUgYmV0d2VlbiAzMSBKYW51YXJ5IDIwMTQgYW5kIDEgU2VwdGVtYmVyIDIwMTQ/XG4gKiB2YXIgcmVzdWx0ID0gZGlmZmVyZW5jZUluTW9udGhzKG5ldyBEYXRlKDIwMTQsIDgsIDEpLCBuZXcgRGF0ZSgyMDE0LCAwLCAzMSkpXG4gKiAvLz0+IDdcbiAqL1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBkaWZmZXJlbmNlSW5Nb250aHMoZGlydHlEYXRlTGVmdCwgZGlydHlEYXRlUmlnaHQpIHtcbiAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPCAyKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignMiBhcmd1bWVudHMgcmVxdWlyZWQsIGJ1dCBvbmx5ICcgKyBhcmd1bWVudHMubGVuZ3RoICsgJyBwcmVzZW50Jyk7XG4gIH1cblxuICB2YXIgZGF0ZUxlZnQgPSB0b0RhdGUoZGlydHlEYXRlTGVmdCk7XG4gIHZhciBkYXRlUmlnaHQgPSB0b0RhdGUoZGlydHlEYXRlUmlnaHQpO1xuICB2YXIgc2lnbiA9IGNvbXBhcmVBc2MoZGF0ZUxlZnQsIGRhdGVSaWdodCk7XG4gIHZhciBkaWZmZXJlbmNlID0gTWF0aC5hYnMoZGlmZmVyZW5jZUluQ2FsZW5kYXJNb250aHMoZGF0ZUxlZnQsIGRhdGVSaWdodCkpO1xuICBkYXRlTGVmdC5zZXRNb250aChkYXRlTGVmdC5nZXRNb250aCgpIC0gc2lnbiAqIGRpZmZlcmVuY2UpOyAvLyBNYXRoLmFicyhkaWZmIGluIGZ1bGwgbW9udGhzIC0gZGlmZiBpbiBjYWxlbmRhciBtb250aHMpID09PSAxIGlmIGxhc3QgY2FsZW5kYXIgbW9udGggaXMgbm90IGZ1bGxcbiAgLy8gSWYgc28sIHJlc3VsdCBtdXN0IGJlIGRlY3JlYXNlZCBieSAxIGluIGFic29sdXRlIHZhbHVlXG5cbiAgdmFyIGlzTGFzdE1vbnRoTm90RnVsbCA9IGNvbXBhcmVBc2MoZGF0ZUxlZnQsIGRhdGVSaWdodCkgPT09IC1zaWduO1xuICB2YXIgcmVzdWx0ID0gc2lnbiAqIChkaWZmZXJlbmNlIC0gaXNMYXN0TW9udGhOb3RGdWxsKTsgLy8gUHJldmVudCBuZWdhdGl2ZSB6ZXJvXG5cbiAgcmV0dXJuIHJlc3VsdCA9PT0gMCA/IDAgOiByZXN1bHQ7XG59Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/differenceInMonths/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/differenceInQuarters/index.js": /*!*****************************************************************!*\ !*** ./node_modules/date-fns/esm/differenceInQuarters/index.js ***! \*****************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return differenceInQuarters; });\n/* harmony import */ var _differenceInMonths_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../differenceInMonths/index.js */ \"./node_modules/date-fns/esm/differenceInMonths/index.js\");\n\n/**\n * @name differenceInQuarters\n * @category Quarter Helpers\n * @summary Get the number of full quarters between the given dates.\n *\n * @description\n * Get the number of full quarters between the given dates.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} dateLeft - the later date\n * @param {Date|Number} dateRight - the earlier date\n * @returns {Number} the number of full quarters\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // How many full quarters are between 31 December 2013 and 2 July 2014?\n * var result = differenceInQuarters(new Date(2014, 6, 2), new Date(2013, 11, 31))\n * //=> 2\n */\n\nfunction differenceInQuarters(dirtyDateLeft, dirtyDateRight) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present');\n }\n\n var diff = Object(_differenceInMonths_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDateLeft, dirtyDateRight) / 3;\n return diff > 0 ? Math.floor(diff) : Math.ceil(diff);\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2RpZmZlcmVuY2VJblF1YXJ0ZXJzL2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2VzbS9kaWZmZXJlbmNlSW5RdWFydGVycy9pbmRleC5qcz82YmIxIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBkaWZmZXJlbmNlSW5Nb250aHMgZnJvbSAnLi4vZGlmZmVyZW5jZUluTW9udGhzL2luZGV4LmpzJztcbi8qKlxuICogQG5hbWUgZGlmZmVyZW5jZUluUXVhcnRlcnNcbiAqIEBjYXRlZ29yeSBRdWFydGVyIEhlbHBlcnNcbiAqIEBzdW1tYXJ5IEdldCB0aGUgbnVtYmVyIG9mIGZ1bGwgcXVhcnRlcnMgYmV0d2VlbiB0aGUgZ2l2ZW4gZGF0ZXMuXG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKiBHZXQgdGhlIG51bWJlciBvZiBmdWxsIHF1YXJ0ZXJzIGJldHdlZW4gdGhlIGdpdmVuIGRhdGVzLlxuICpcbiAqICMjIyB2Mi4wLjAgYnJlYWtpbmcgY2hhbmdlczpcbiAqXG4gKiAtIFtDaGFuZ2VzIHRoYXQgYXJlIGNvbW1vbiBmb3IgdGhlIHdob2xlIGxpYnJhcnldKGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRlLWZucy9kYXRlLWZucy9ibG9iL21hc3Rlci9kb2NzL3VwZ3JhZGVHdWlkZS5tZCNDb21tb24tQ2hhbmdlcykuXG4gKlxuICogQHBhcmFtIHtEYXRlfE51bWJlcn0gZGF0ZUxlZnQgLSB0aGUgbGF0ZXIgZGF0ZVxuICogQHBhcmFtIHtEYXRlfE51bWJlcn0gZGF0ZVJpZ2h0IC0gdGhlIGVhcmxpZXIgZGF0ZVxuICogQHJldHVybnMge051bWJlcn0gdGhlIG51bWJlciBvZiBmdWxsIHF1YXJ0ZXJzXG4gKiBAdGhyb3dzIHtUeXBlRXJyb3J9IDIgYXJndW1lbnRzIHJlcXVpcmVkXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIEhvdyBtYW55IGZ1bGwgcXVhcnRlcnMgYXJlIGJldHdlZW4gMzEgRGVjZW1iZXIgMjAxMyBhbmQgMiBKdWx5IDIwMTQ/XG4gKiB2YXIgcmVzdWx0ID0gZGlmZmVyZW5jZUluUXVhcnRlcnMobmV3IERhdGUoMjAxNCwgNiwgMiksIG5ldyBEYXRlKDIwMTMsIDExLCAzMSkpXG4gKiAvLz0+IDJcbiAqL1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBkaWZmZXJlbmNlSW5RdWFydGVycyhkaXJ0eURhdGVMZWZ0LCBkaXJ0eURhdGVSaWdodCkge1xuICBpZiAoYXJndW1lbnRzLmxlbmd0aCA8IDIpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCcyIGFyZ3VtZW50cyByZXF1aXJlZCwgYnV0IG9ubHkgJyArIGFyZ3VtZW50cy5sZW5ndGggKyAnIHByZXNlbnQnKTtcbiAgfVxuXG4gIHZhciBkaWZmID0gZGlmZmVyZW5jZUluTW9udGhzKGRpcnR5RGF0ZUxlZnQsIGRpcnR5RGF0ZVJpZ2h0KSAvIDM7XG4gIHJldHVybiBkaWZmID4gMCA/IE1hdGguZmxvb3IoZGlmZikgOiBNYXRoLmNlaWwoZGlmZik7XG59Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/differenceInQuarters/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/differenceInSeconds/index.js": /*!****************************************************************!*\ !*** ./node_modules/date-fns/esm/differenceInSeconds/index.js ***! \****************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return differenceInSeconds; });\n/* harmony import */ var _differenceInMilliseconds_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../differenceInMilliseconds/index.js */ \"./node_modules/date-fns/esm/differenceInMilliseconds/index.js\");\n\n/**\n * @name differenceInSeconds\n * @category Second Helpers\n * @summary Get the number of seconds between the given dates.\n *\n * @description\n * Get the number of seconds between the given dates.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} dateLeft - the later date\n * @param {Date|Number} dateRight - the earlier date\n * @returns {Number} the number of seconds\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // How many seconds are between\n * // 2 July 2014 12:30:07.999 and 2 July 2014 12:30:20.000?\n * var result = differenceInSeconds(\n * new Date(2014, 6, 2, 12, 30, 20, 0),\n * new Date(2014, 6, 2, 12, 30, 7, 999)\n * )\n * //=> 12\n */\n\nfunction differenceInSeconds(dirtyDateLeft, dirtyDateRight) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present');\n }\n\n var diff = Object(_differenceInMilliseconds_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDateLeft, dirtyDateRight) / 1000;\n return diff > 0 ? Math.floor(diff) : Math.ceil(diff);\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2RpZmZlcmVuY2VJblNlY29uZHMvaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2RpZmZlcmVuY2VJblNlY29uZHMvaW5kZXguanM/YTk1OSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZGlmZmVyZW5jZUluTWlsbGlzZWNvbmRzIGZyb20gJy4uL2RpZmZlcmVuY2VJbk1pbGxpc2Vjb25kcy9pbmRleC5qcyc7XG4vKipcbiAqIEBuYW1lIGRpZmZlcmVuY2VJblNlY29uZHNcbiAqIEBjYXRlZ29yeSBTZWNvbmQgSGVscGVyc1xuICogQHN1bW1hcnkgR2V0IHRoZSBudW1iZXIgb2Ygc2Vjb25kcyBiZXR3ZWVuIHRoZSBnaXZlbiBkYXRlcy5cbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIEdldCB0aGUgbnVtYmVyIG9mIHNlY29uZHMgYmV0d2VlbiB0aGUgZ2l2ZW4gZGF0ZXMuXG4gKlxuICogIyMjIHYyLjAuMCBicmVha2luZyBjaGFuZ2VzOlxuICpcbiAqIC0gW0NoYW5nZXMgdGhhdCBhcmUgY29tbW9uIGZvciB0aGUgd2hvbGUgbGlicmFyeV0oaHR0cHM6Ly9naXRodWIuY29tL2RhdGUtZm5zL2RhdGUtZm5zL2Jsb2IvbWFzdGVyL2RvY3MvdXBncmFkZUd1aWRlLm1kI0NvbW1vbi1DaGFuZ2VzKS5cbiAqXG4gKiBAcGFyYW0ge0RhdGV8TnVtYmVyfSBkYXRlTGVmdCAtIHRoZSBsYXRlciBkYXRlXG4gKiBAcGFyYW0ge0RhdGV8TnVtYmVyfSBkYXRlUmlnaHQgLSB0aGUgZWFybGllciBkYXRlXG4gKiBAcmV0dXJucyB7TnVtYmVyfSB0aGUgbnVtYmVyIG9mIHNlY29uZHNcbiAqIEB0aHJvd3Mge1R5cGVFcnJvcn0gMiBhcmd1bWVudHMgcmVxdWlyZWRcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gSG93IG1hbnkgc2Vjb25kcyBhcmUgYmV0d2VlblxuICogLy8gMiBKdWx5IDIwMTQgMTI6MzA6MDcuOTk5IGFuZCAyIEp1bHkgMjAxNCAxMjozMDoyMC4wMDA/XG4gKiB2YXIgcmVzdWx0ID0gZGlmZmVyZW5jZUluU2Vjb25kcyhcbiAqICAgbmV3IERhdGUoMjAxNCwgNiwgMiwgMTIsIDMwLCAyMCwgMCksXG4gKiAgIG5ldyBEYXRlKDIwMTQsIDYsIDIsIDEyLCAzMCwgNywgOTk5KVxuICogKVxuICogLy89PiAxMlxuICovXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGRpZmZlcmVuY2VJblNlY29uZHMoZGlydHlEYXRlTGVmdCwgZGlydHlEYXRlUmlnaHQpIHtcbiAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPCAyKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignMiBhcmd1bWVudHMgcmVxdWlyZWQsIGJ1dCBvbmx5ICcgKyBhcmd1bWVudHMubGVuZ3RoICsgJyBwcmVzZW50Jyk7XG4gIH1cblxuICB2YXIgZGlmZiA9IGRpZmZlcmVuY2VJbk1pbGxpc2Vjb25kcyhkaXJ0eURhdGVMZWZ0LCBkaXJ0eURhdGVSaWdodCkgLyAxMDAwO1xuICByZXR1cm4gZGlmZiA+IDAgPyBNYXRoLmZsb29yKGRpZmYpIDogTWF0aC5jZWlsKGRpZmYpO1xufSJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/differenceInSeconds/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/differenceInWeeks/index.js": /*!**************************************************************!*\ !*** ./node_modules/date-fns/esm/differenceInWeeks/index.js ***! \**************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return differenceInWeeks; });\n/* harmony import */ var _differenceInDays_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../differenceInDays/index.js */ \"./node_modules/date-fns/esm/differenceInDays/index.js\");\n\n/**\n * @name differenceInWeeks\n * @category Week Helpers\n * @summary Get the number of full weeks between the given dates.\n *\n * @description\n * Get the number of full weeks between the given dates.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} dateLeft - the later date\n * @param {Date|Number} dateRight - the earlier date\n * @returns {Number} the number of full weeks\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // How many full weeks are between 5 July 2014 and 20 July 2014?\n * var result = differenceInWeeks(new Date(2014, 6, 20), new Date(2014, 6, 5))\n * //=> 2\n */\n\nfunction differenceInWeeks(dirtyDateLeft, dirtyDateRight) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present');\n }\n\n var diff = Object(_differenceInDays_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDateLeft, dirtyDateRight) / 7;\n return diff > 0 ? Math.floor(diff) : Math.ceil(diff);\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2RpZmZlcmVuY2VJbldlZWtzL2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2VzbS9kaWZmZXJlbmNlSW5XZWVrcy9pbmRleC5qcz9kMTQ4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBkaWZmZXJlbmNlSW5EYXlzIGZyb20gJy4uL2RpZmZlcmVuY2VJbkRheXMvaW5kZXguanMnO1xuLyoqXG4gKiBAbmFtZSBkaWZmZXJlbmNlSW5XZWVrc1xuICogQGNhdGVnb3J5IFdlZWsgSGVscGVyc1xuICogQHN1bW1hcnkgR2V0IHRoZSBudW1iZXIgb2YgZnVsbCB3ZWVrcyBiZXR3ZWVuIHRoZSBnaXZlbiBkYXRlcy5cbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIEdldCB0aGUgbnVtYmVyIG9mIGZ1bGwgd2Vla3MgYmV0d2VlbiB0aGUgZ2l2ZW4gZGF0ZXMuXG4gKlxuICogIyMjIHYyLjAuMCBicmVha2luZyBjaGFuZ2VzOlxuICpcbiAqIC0gW0NoYW5nZXMgdGhhdCBhcmUgY29tbW9uIGZvciB0aGUgd2hvbGUgbGlicmFyeV0oaHR0cHM6Ly9naXRodWIuY29tL2RhdGUtZm5zL2RhdGUtZm5zL2Jsb2IvbWFzdGVyL2RvY3MvdXBncmFkZUd1aWRlLm1kI0NvbW1vbi1DaGFuZ2VzKS5cbiAqXG4gKiBAcGFyYW0ge0RhdGV8TnVtYmVyfSBkYXRlTGVmdCAtIHRoZSBsYXRlciBkYXRlXG4gKiBAcGFyYW0ge0RhdGV8TnVtYmVyfSBkYXRlUmlnaHQgLSB0aGUgZWFybGllciBkYXRlXG4gKiBAcmV0dXJucyB7TnVtYmVyfSB0aGUgbnVtYmVyIG9mIGZ1bGwgd2Vla3NcbiAqIEB0aHJvd3Mge1R5cGVFcnJvcn0gMiBhcmd1bWVudHMgcmVxdWlyZWRcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gSG93IG1hbnkgZnVsbCB3ZWVrcyBhcmUgYmV0d2VlbiA1IEp1bHkgMjAxNCBhbmQgMjAgSnVseSAyMDE0P1xuICogdmFyIHJlc3VsdCA9IGRpZmZlcmVuY2VJbldlZWtzKG5ldyBEYXRlKDIwMTQsIDYsIDIwKSwgbmV3IERhdGUoMjAxNCwgNiwgNSkpXG4gKiAvLz0+IDJcbiAqL1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBkaWZmZXJlbmNlSW5XZWVrcyhkaXJ0eURhdGVMZWZ0LCBkaXJ0eURhdGVSaWdodCkge1xuICBpZiAoYXJndW1lbnRzLmxlbmd0aCA8IDIpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCcyIGFyZ3VtZW50cyByZXF1aXJlZCwgYnV0IG9ubHkgJyArIGFyZ3VtZW50cy5sZW5ndGggKyAnIHByZXNlbnQnKTtcbiAgfVxuXG4gIHZhciBkaWZmID0gZGlmZmVyZW5jZUluRGF5cyhkaXJ0eURhdGVMZWZ0LCBkaXJ0eURhdGVSaWdodCkgLyA3O1xuICByZXR1cm4gZGlmZiA+IDAgPyBNYXRoLmZsb29yKGRpZmYpIDogTWF0aC5jZWlsKGRpZmYpO1xufSJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/differenceInWeeks/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/differenceInYears/index.js": /*!**************************************************************!*\ !*** ./node_modules/date-fns/esm/differenceInYears/index.js ***! \**************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return differenceInYears; });\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n/* harmony import */ var _differenceInCalendarYears_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../differenceInCalendarYears/index.js */ \"./node_modules/date-fns/esm/differenceInCalendarYears/index.js\");\n/* harmony import */ var _compareAsc_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../compareAsc/index.js */ \"./node_modules/date-fns/esm/compareAsc/index.js\");\n\n\n\n/**\n * @name differenceInYears\n * @category Year Helpers\n * @summary Get the number of full years between the given dates.\n *\n * @description\n * Get the number of full years between the given dates.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} dateLeft - the later date\n * @param {Date|Number} dateRight - the earlier date\n * @returns {Number} the number of full years\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // How many full years are between 31 December 2013 and 11 February 2015?\n * var result = differenceInYears(new Date(2015, 1, 11), new Date(2013, 11, 31))\n * //=> 1\n */\n\nfunction differenceInYears(dirtyDateLeft, dirtyDateRight) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present');\n }\n\n var dateLeft = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDateLeft);\n var dateRight = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDateRight);\n var sign = Object(_compareAsc_index_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(dateLeft, dateRight);\n var difference = Math.abs(Object(_differenceInCalendarYears_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(dateLeft, dateRight));\n dateLeft.setFullYear(dateLeft.getFullYear() - sign * difference); // Math.abs(diff in full years - diff in calendar years) === 1 if last calendar year is not full\n // If so, result must be decreased by 1 in absolute value\n\n var isLastYearNotFull = Object(_compareAsc_index_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(dateLeft, dateRight) === -sign;\n var result = sign * (difference - isLastYearNotFull); // Prevent negative zero\n\n return result === 0 ? 0 : result;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2RpZmZlcmVuY2VJblllYXJzL2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2VzbS9kaWZmZXJlbmNlSW5ZZWFycy9pbmRleC5qcz8wNjllIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0b0RhdGUgZnJvbSAnLi4vdG9EYXRlL2luZGV4LmpzJztcbmltcG9ydCBkaWZmZXJlbmNlSW5DYWxlbmRhclllYXJzIGZyb20gJy4uL2RpZmZlcmVuY2VJbkNhbGVuZGFyWWVhcnMvaW5kZXguanMnO1xuaW1wb3J0IGNvbXBhcmVBc2MgZnJvbSAnLi4vY29tcGFyZUFzYy9pbmRleC5qcyc7XG4vKipcbiAqIEBuYW1lIGRpZmZlcmVuY2VJblllYXJzXG4gKiBAY2F0ZWdvcnkgWWVhciBIZWxwZXJzXG4gKiBAc3VtbWFyeSBHZXQgdGhlIG51bWJlciBvZiBmdWxsIHllYXJzIGJldHdlZW4gdGhlIGdpdmVuIGRhdGVzLlxuICpcbiAqIEBkZXNjcmlwdGlvblxuICogR2V0IHRoZSBudW1iZXIgb2YgZnVsbCB5ZWFycyBiZXR3ZWVuIHRoZSBnaXZlbiBkYXRlcy5cbiAqXG4gKiAjIyMgdjIuMC4wIGJyZWFraW5nIGNoYW5nZXM6XG4gKlxuICogLSBbQ2hhbmdlcyB0aGF0IGFyZSBjb21tb24gZm9yIHRoZSB3aG9sZSBsaWJyYXJ5XShodHRwczovL2dpdGh1Yi5jb20vZGF0ZS1mbnMvZGF0ZS1mbnMvYmxvYi9tYXN0ZXIvZG9jcy91cGdyYWRlR3VpZGUubWQjQ29tbW9uLUNoYW5nZXMpLlxuICpcbiAqIEBwYXJhbSB7RGF0ZXxOdW1iZXJ9IGRhdGVMZWZ0IC0gdGhlIGxhdGVyIGRhdGVcbiAqIEBwYXJhbSB7RGF0ZXxOdW1iZXJ9IGRhdGVSaWdodCAtIHRoZSBlYXJsaWVyIGRhdGVcbiAqIEByZXR1cm5zIHtOdW1iZXJ9IHRoZSBudW1iZXIgb2YgZnVsbCB5ZWFyc1xuICogQHRocm93cyB7VHlwZUVycm9yfSAyIGFyZ3VtZW50cyByZXF1aXJlZFxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBIb3cgbWFueSBmdWxsIHllYXJzIGFyZSBiZXR3ZWVuIDMxIERlY2VtYmVyIDIwMTMgYW5kIDExIEZlYnJ1YXJ5IDIwMTU/XG4gKiB2YXIgcmVzdWx0ID0gZGlmZmVyZW5jZUluWWVhcnMobmV3IERhdGUoMjAxNSwgMSwgMTEpLCBuZXcgRGF0ZSgyMDEzLCAxMSwgMzEpKVxuICogLy89PiAxXG4gKi9cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZGlmZmVyZW5jZUluWWVhcnMoZGlydHlEYXRlTGVmdCwgZGlydHlEYXRlUmlnaHQpIHtcbiAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPCAyKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignMiBhcmd1bWVudHMgcmVxdWlyZWQsIGJ1dCBvbmx5ICcgKyBhcmd1bWVudHMubGVuZ3RoICsgJyBwcmVzZW50Jyk7XG4gIH1cblxuICB2YXIgZGF0ZUxlZnQgPSB0b0RhdGUoZGlydHlEYXRlTGVmdCk7XG4gIHZhciBkYXRlUmlnaHQgPSB0b0RhdGUoZGlydHlEYXRlUmlnaHQpO1xuICB2YXIgc2lnbiA9IGNvbXBhcmVBc2MoZGF0ZUxlZnQsIGRhdGVSaWdodCk7XG4gIHZhciBkaWZmZXJlbmNlID0gTWF0aC5hYnMoZGlmZmVyZW5jZUluQ2FsZW5kYXJZZWFycyhkYXRlTGVmdCwgZGF0ZVJpZ2h0KSk7XG4gIGRhdGVMZWZ0LnNldEZ1bGxZZWFyKGRhdGVMZWZ0LmdldEZ1bGxZZWFyKCkgLSBzaWduICogZGlmZmVyZW5jZSk7IC8vIE1hdGguYWJzKGRpZmYgaW4gZnVsbCB5ZWFycyAtIGRpZmYgaW4gY2FsZW5kYXIgeWVhcnMpID09PSAxIGlmIGxhc3QgY2FsZW5kYXIgeWVhciBpcyBub3QgZnVsbFxuICAvLyBJZiBzbywgcmVzdWx0IG11c3QgYmUgZGVjcmVhc2VkIGJ5IDEgaW4gYWJzb2x1dGUgdmFsdWVcblxuICB2YXIgaXNMYXN0WWVhck5vdEZ1bGwgPSBjb21wYXJlQXNjKGRhdGVMZWZ0LCBkYXRlUmlnaHQpID09PSAtc2lnbjtcbiAgdmFyIHJlc3VsdCA9IHNpZ24gKiAoZGlmZmVyZW5jZSAtIGlzTGFzdFllYXJOb3RGdWxsKTsgLy8gUHJldmVudCBuZWdhdGl2ZSB6ZXJvXG5cbiAgcmV0dXJuIHJlc3VsdCA9PT0gMCA/IDAgOiByZXN1bHQ7XG59Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/differenceInYears/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/eachDayOfInterval/index.js": /*!**************************************************************!*\ !*** ./node_modules/date-fns/esm/eachDayOfInterval/index.js ***! \**************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return eachDayOfInterval; });\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n\n/**\n * @name eachDayOfInterval\n * @category Interval Helpers\n * @summary Return the array of dates within the specified time interval.\n *\n * @description\n * Return the array of dates within the specified time interval.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * - The function was renamed from `eachDay` to `eachDayOfInterval`.\n * This change was made to mirror the use of the word \"interval\" in standard ISO 8601:2004 terminology:\n *\n * ```\n * 2.1.3\n * time interval\n * part of the time axis limited by two instants\n * ```\n *\n * Also, this function now accepts an object with `start` and `end` properties\n * instead of two arguments as an interval.\n * This function now throws `RangeError` if the start of the interval is after its end\n * or if any date in the interval is `Invalid Date`.\n *\n * ```javascript\n * // Before v2.0.0\n *\n * eachDay(new Date(2014, 0, 10), new Date(2014, 0, 20))\n *\n * // v2.0.0 onward\n *\n * eachDayOfInterval(\n * { start: new Date(2014, 0, 10), end: new Date(2014, 0, 20) }\n * )\n * ```\n *\n * @param {Interval} interval - the interval. See [Interval]{@link docs/types/Interval}\n * @param {Object} [options] - an object with options.\n * @param {Number} [options.step=1] - the step to increment by. The value should be more than 1.\n * @returns {Date[]} the array with starts of days from the day of the interval start to the day of the interval end\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} `options.step` must be a number greater than 1\n * @throws {RangeError} The start of an interval cannot be after its end\n * @throws {RangeError} Date in interval cannot be `Invalid Date`\n *\n * @example\n * // Each day between 6 October 2014 and 10 October 2014:\n * var result = eachDayOfInterval({\n * start: new Date(2014, 9, 6),\n * end: new Date(2014, 9, 10)\n * })\n * //=> [\n * // Mon Oct 06 2014 00:00:00,\n * // Tue Oct 07 2014 00:00:00,\n * // Wed Oct 08 2014 00:00:00,\n * // Thu Oct 09 2014 00:00:00,\n * // Fri Oct 10 2014 00:00:00\n * // ]\n */\n\nfunction eachDayOfInterval(dirtyInterval, options) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n var interval = dirtyInterval || {};\n var startDate = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(interval.start);\n var endDate = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(interval.end);\n var endTime = endDate.getTime(); // Throw an exception if start date is after end date or if any date is `Invalid Date`\n\n if (!(startDate.getTime() <= endTime)) {\n throw new RangeError('Invalid interval');\n }\n\n var dates = [];\n var currentDate = startDate;\n currentDate.setHours(0, 0, 0, 0);\n var step = options && 'step' in options ? Number(options.step) : 1;\n if (step < 1 || isNaN(step)) throw new RangeError('`options.step` must be a number greater than 1');\n\n while (currentDate.getTime() <= endTime) {\n dates.push(Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(currentDate));\n currentDate.setDate(currentDate.getDate() + step);\n currentDate.setHours(0, 0, 0, 0);\n }\n\n return dates;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2VhY2hEYXlPZkludGVydmFsL2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2VzbS9lYWNoRGF5T2ZJbnRlcnZhbC9pbmRleC5qcz9mZWI4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0b0RhdGUgZnJvbSAnLi4vdG9EYXRlL2luZGV4LmpzJztcbi8qKlxuICogQG5hbWUgZWFjaERheU9mSW50ZXJ2YWxcbiAqIEBjYXRlZ29yeSBJbnRlcnZhbCBIZWxwZXJzXG4gKiBAc3VtbWFyeSBSZXR1cm4gdGhlIGFycmF5IG9mIGRhdGVzIHdpdGhpbiB0aGUgc3BlY2lmaWVkIHRpbWUgaW50ZXJ2YWwuXG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKiBSZXR1cm4gdGhlIGFycmF5IG9mIGRhdGVzIHdpdGhpbiB0aGUgc3BlY2lmaWVkIHRpbWUgaW50ZXJ2YWwuXG4gKlxuICogIyMjIHYyLjAuMCBicmVha2luZyBjaGFuZ2VzOlxuICpcbiAqIC0gW0NoYW5nZXMgdGhhdCBhcmUgY29tbW9uIGZvciB0aGUgd2hvbGUgbGlicmFyeV0oaHR0cHM6Ly9naXRodWIuY29tL2RhdGUtZm5zL2RhdGUtZm5zL2Jsb2IvbWFzdGVyL2RvY3MvdXBncmFkZUd1aWRlLm1kI0NvbW1vbi1DaGFuZ2VzKS5cbiAqXG4gKiAtIFRoZSBmdW5jdGlvbiB3YXMgcmVuYW1lZCBmcm9tIGBlYWNoRGF5YCB0byBgZWFjaERheU9mSW50ZXJ2YWxgLlxuICogICBUaGlzIGNoYW5nZSB3YXMgbWFkZSB0byBtaXJyb3IgdGhlIHVzZSBvZiB0aGUgd29yZCBcImludGVydmFsXCIgaW4gc3RhbmRhcmQgSVNPIDg2MDE6MjAwNCB0ZXJtaW5vbG9neTpcbiAqXG4gKiAgIGBgYFxuICogICAyLjEuM1xuICogICB0aW1lIGludGVydmFsXG4gKiAgIHBhcnQgb2YgdGhlIHRpbWUgYXhpcyBsaW1pdGVkIGJ5IHR3byBpbnN0YW50c1xuICogICBgYGBcbiAqXG4gKiAgIEFsc28sIHRoaXMgZnVuY3Rpb24gbm93IGFjY2VwdHMgYW4gb2JqZWN0IHdpdGggYHN0YXJ0YCBhbmQgYGVuZGAgcHJvcGVydGllc1xuICogICBpbnN0ZWFkIG9mIHR3byBhcmd1bWVudHMgYXMgYW4gaW50ZXJ2YWwuXG4gKiAgIFRoaXMgZnVuY3Rpb24gbm93IHRocm93cyBgUmFuZ2VFcnJvcmAgaWYgdGhlIHN0YXJ0IG9mIHRoZSBpbnRlcnZhbCBpcyBhZnRlciBpdHMgZW5kXG4gKiAgIG9yIGlmIGFueSBkYXRlIGluIHRoZSBpbnRlcnZhbCBpcyBgSW52YWxpZCBEYXRlYC5cbiAqXG4gKiAgIGBgYGphdmFzY3JpcHRcbiAqICAgLy8gQmVmb3JlIHYyLjAuMFxuICpcbiAqICAgZWFjaERheShuZXcgRGF0ZSgyMDE0LCAwLCAxMCksIG5ldyBEYXRlKDIwMTQsIDAsIDIwKSlcbiAqXG4gKiAgIC8vIHYyLjAuMCBvbndhcmRcbiAqXG4gKiAgIGVhY2hEYXlPZkludGVydmFsKFxuICogICAgIHsgc3RhcnQ6IG5ldyBEYXRlKDIwMTQsIDAsIDEwKSwgZW5kOiBuZXcgRGF0ZSgyMDE0LCAwLCAyMCkgfVxuICogICApXG4gKiAgIGBgYFxuICpcbiAqIEBwYXJhbSB7SW50ZXJ2YWx9IGludGVydmFsIC0gdGhlIGludGVydmFsLiBTZWUgW0ludGVydmFsXXtAbGluayBkb2NzL3R5cGVzL0ludGVydmFsfVxuICogQHBhcmFtIHtPYmplY3R9IFtvcHRpb25zXSAtIGFuIG9iamVjdCB3aXRoIG9wdGlvbnMuXG4gKiBAcGFyYW0ge051bWJlcn0gW29wdGlvbnMuc3RlcD0xXSAtIHRoZSBzdGVwIHRvIGluY3JlbWVudCBieS4gVGhlIHZhbHVlIHNob3VsZCBiZSBtb3JlIHRoYW4gMS5cbiAqIEByZXR1cm5zIHtEYXRlW119IHRoZSBhcnJheSB3aXRoIHN0YXJ0cyBvZiBkYXlzIGZyb20gdGhlIGRheSBvZiB0aGUgaW50ZXJ2YWwgc3RhcnQgdG8gdGhlIGRheSBvZiB0aGUgaW50ZXJ2YWwgZW5kXG4gKiBAdGhyb3dzIHtUeXBlRXJyb3J9IDEgYXJndW1lbnQgcmVxdWlyZWRcbiAqIEB0aHJvd3Mge1JhbmdlRXJyb3J9IGBvcHRpb25zLnN0ZXBgIG11c3QgYmUgYSBudW1iZXIgZ3JlYXRlciB0aGFuIDFcbiAqIEB0aHJvd3Mge1JhbmdlRXJyb3J9IFRoZSBzdGFydCBvZiBhbiBpbnRlcnZhbCBjYW5ub3QgYmUgYWZ0ZXIgaXRzIGVuZFxuICogQHRocm93cyB7UmFuZ2VFcnJvcn0gRGF0ZSBpbiBpbnRlcnZhbCBjYW5ub3QgYmUgYEludmFsaWQgRGF0ZWBcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gRWFjaCBkYXkgYmV0d2VlbiA2IE9jdG9iZXIgMjAxNCBhbmQgMTAgT2N0b2JlciAyMDE0OlxuICogdmFyIHJlc3VsdCA9IGVhY2hEYXlPZkludGVydmFsKHtcbiAqICAgc3RhcnQ6IG5ldyBEYXRlKDIwMTQsIDksIDYpLFxuICogICBlbmQ6IG5ldyBEYXRlKDIwMTQsIDksIDEwKVxuICogfSlcbiAqIC8vPT4gW1xuICogLy8gICBNb24gT2N0IDA2IDIwMTQgMDA6MDA6MDAsXG4gKiAvLyAgIFR1ZSBPY3QgMDcgMjAxNCAwMDowMDowMCxcbiAqIC8vICAgV2VkIE9jdCAwOCAyMDE0IDAwOjAwOjAwLFxuICogLy8gICBUaHUgT2N0IDA5IDIwMTQgMDA6MDA6MDAsXG4gKiAvLyAgIEZyaSBPY3QgMTAgMjAxNCAwMDowMDowMFxuICogLy8gXVxuICovXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGVhY2hEYXlPZkludGVydmFsKGRpcnR5SW50ZXJ2YWwsIG9wdGlvbnMpIHtcbiAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPCAxKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignMSBhcmd1bWVudCByZXF1aXJlZCwgYnV0IG9ubHkgJyArIGFyZ3VtZW50cy5sZW5ndGggKyAnIHByZXNlbnQnKTtcbiAgfVxuXG4gIHZhciBpbnRlcnZhbCA9IGRpcnR5SW50ZXJ2YWwgfHwge307XG4gIHZhciBzdGFydERhdGUgPSB0b0RhdGUoaW50ZXJ2YWwuc3RhcnQpO1xuICB2YXIgZW5kRGF0ZSA9IHRvRGF0ZShpbnRlcnZhbC5lbmQpO1xuICB2YXIgZW5kVGltZSA9IGVuZERhdGUuZ2V0VGltZSgpOyAvLyBUaHJvdyBhbiBleGNlcHRpb24gaWYgc3RhcnQgZGF0ZSBpcyBhZnRlciBlbmQgZGF0ZSBvciBpZiBhbnkgZGF0ZSBpcyBgSW52YWxpZCBEYXRlYFxuXG4gIGlmICghKHN0YXJ0RGF0ZS5nZXRUaW1lKCkgPD0gZW5kVGltZSkpIHtcbiAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcignSW52YWxpZCBpbnRlcnZhbCcpO1xuICB9XG5cbiAgdmFyIGRhdGVzID0gW107XG4gIHZhciBjdXJyZW50RGF0ZSA9IHN0YXJ0RGF0ZTtcbiAgY3VycmVudERhdGUuc2V0SG91cnMoMCwgMCwgMCwgMCk7XG4gIHZhciBzdGVwID0gb3B0aW9ucyAmJiAnc3RlcCcgaW4gb3B0aW9ucyA/IE51bWJlcihvcHRpb25zLnN0ZXApIDogMTtcbiAgaWYgKHN0ZXAgPCAxIHx8IGlzTmFOKHN0ZXApKSB0aHJvdyBuZXcgUmFuZ2VFcnJvcignYG9wdGlvbnMuc3RlcGAgbXVzdCBiZSBhIG51bWJlciBncmVhdGVyIHRoYW4gMScpO1xuXG4gIHdoaWxlIChjdXJyZW50RGF0ZS5nZXRUaW1lKCkgPD0gZW5kVGltZSkge1xuICAgIGRhdGVzLnB1c2godG9EYXRlKGN1cnJlbnREYXRlKSk7XG4gICAgY3VycmVudERhdGUuc2V0RGF0ZShjdXJyZW50RGF0ZS5nZXREYXRlKCkgKyBzdGVwKTtcbiAgICBjdXJyZW50RGF0ZS5zZXRIb3VycygwLCAwLCAwLCAwKTtcbiAgfVxuXG4gIHJldHVybiBkYXRlcztcbn0iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/eachDayOfInterval/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/eachWeekOfInterval/index.js": /*!***************************************************************!*\ !*** ./node_modules/date-fns/esm/eachWeekOfInterval/index.js ***! \***************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return eachWeekOfInterval; });\n/* harmony import */ var _addWeeks_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../addWeeks/index.js */ \"./node_modules/date-fns/esm/addWeeks/index.js\");\n/* harmony import */ var _startOfWeek_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../startOfWeek/index.js */ \"./node_modules/date-fns/esm/startOfWeek/index.js\");\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n\n\n\n/**\n * @name eachWeekOfInterval\n * @category Interval Helpers\n * @summary Return the array of weeks within the specified time interval.\n *\n * @description\n * Return the array of weeks within the specified time interval.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Interval} interval - the interval. See [Interval]{@link docs/types/Interval}\n * @param {Object} [options] - an object with options.\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\n * @returns {Date[]} the array with starts of weeks from the week of the interval start to the week of the interval end\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} `options.weekStartsOn` must be 0, 1, ..., 6\n * @throws {RangeError} The start of an interval cannot be after its end\n * @throws {RangeError} Date in interval cannot be `Invalid Date`\n *\n * @example\n * // Each week within interval 6 October 2014 - 23 November 2014:\n * var result = eachWeekOfInterval({\n * start: new Date(2014, 9, 6),\n * end: new Date(2014, 10, 23)\n * })\n * //=> [\n * // Sun Oct 05 2014 00:00:00,\n * // Sun Oct 12 2014 00:00:00,\n * // Sun Oct 19 2014 00:00:00,\n * // Sun Oct 26 2014 00:00:00,\n * // Sun Nov 02 2014 00:00:00,\n * // Sun Nov 09 2014 00:00:00,\n * // Sun Nov 16 2014 00:00:00,\n * // Sun Nov 23 2014 00:00:00\n * // ]\n */\n\nfunction eachWeekOfInterval(dirtyInterval, options) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n var interval = dirtyInterval || {};\n var startDate = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(interval.start);\n var endDate = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(interval.end);\n var endTime = endDate.getTime(); // Throw an exception if start date is after end date or if any date is `Invalid Date`\n\n if (!(startDate.getTime() <= endTime)) {\n throw new RangeError('Invalid interval');\n }\n\n var startDateWeek = Object(_startOfWeek_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(startDate, options);\n var endDateWeek = Object(_startOfWeek_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(endDate, options); // Some timezones switch DST at midnight, making start of day unreliable in these timezones, 3pm is a safe bet\n\n startDateWeek.setHours(15);\n endDateWeek.setHours(15);\n endTime = endDateWeek.getTime();\n var weeks = [];\n var currentWeek = startDateWeek;\n\n while (currentWeek.getTime() <= endTime) {\n currentWeek.setHours(0);\n weeks.push(Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(currentWeek));\n currentWeek = Object(_addWeeks_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(currentWeek, 1);\n currentWeek.setHours(15);\n }\n\n return weeks;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2VhY2hXZWVrT2ZJbnRlcnZhbC9pbmRleC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9kYXRlLWZucy9lc20vZWFjaFdlZWtPZkludGVydmFsL2luZGV4LmpzPzkyNzQiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGFkZFdlZWtzIGZyb20gJy4uL2FkZFdlZWtzL2luZGV4LmpzJztcbmltcG9ydCBzdGFydE9mV2VlayBmcm9tICcuLi9zdGFydE9mV2Vlay9pbmRleC5qcyc7XG5pbXBvcnQgdG9EYXRlIGZyb20gJy4uL3RvRGF0ZS9pbmRleC5qcyc7XG4vKipcbiAqIEBuYW1lIGVhY2hXZWVrT2ZJbnRlcnZhbFxuICogQGNhdGVnb3J5IEludGVydmFsIEhlbHBlcnNcbiAqIEBzdW1tYXJ5IFJldHVybiB0aGUgYXJyYXkgb2Ygd2Vla3Mgd2l0aGluIHRoZSBzcGVjaWZpZWQgdGltZSBpbnRlcnZhbC5cbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIFJldHVybiB0aGUgYXJyYXkgb2Ygd2Vla3Mgd2l0aGluIHRoZSBzcGVjaWZpZWQgdGltZSBpbnRlcnZhbC5cbiAqXG4gKiAjIyMgdjIuMC4wIGJyZWFraW5nIGNoYW5nZXM6XG4gKlxuICogLSBbQ2hhbmdlcyB0aGF0IGFyZSBjb21tb24gZm9yIHRoZSB3aG9sZSBsaWJyYXJ5XShodHRwczovL2dpdGh1Yi5jb20vZGF0ZS1mbnMvZGF0ZS1mbnMvYmxvYi9tYXN0ZXIvZG9jcy91cGdyYWRlR3VpZGUubWQjQ29tbW9uLUNoYW5nZXMpLlxuICpcbiAqIEBwYXJhbSB7SW50ZXJ2YWx9IGludGVydmFsIC0gdGhlIGludGVydmFsLiBTZWUgW0ludGVydmFsXXtAbGluayBkb2NzL3R5cGVzL0ludGVydmFsfVxuICogQHBhcmFtIHtPYmplY3R9IFtvcHRpb25zXSAtIGFuIG9iamVjdCB3aXRoIG9wdGlvbnMuXG4gKiBAcGFyYW0ge0xvY2FsZX0gW29wdGlvbnMubG9jYWxlPWRlZmF1bHRMb2NhbGVdIC0gdGhlIGxvY2FsZSBvYmplY3QuIFNlZSBbTG9jYWxlXXtAbGluayBodHRwczovL2RhdGUtZm5zLm9yZy9kb2NzL0xvY2FsZX1cbiAqIEBwYXJhbSB7MHwxfDJ8M3w0fDV8Nn0gW29wdGlvbnMud2Vla1N0YXJ0c09uPTBdIC0gdGhlIGluZGV4IG9mIHRoZSBmaXJzdCBkYXkgb2YgdGhlIHdlZWsgKDAgLSBTdW5kYXkpXG4gKiBAcmV0dXJucyB7RGF0ZVtdfSB0aGUgYXJyYXkgd2l0aCBzdGFydHMgb2Ygd2Vla3MgZnJvbSB0aGUgd2VlayBvZiB0aGUgaW50ZXJ2YWwgc3RhcnQgdG8gdGhlIHdlZWsgb2YgdGhlIGludGVydmFsIGVuZFxuICogQHRocm93cyB7VHlwZUVycm9yfSAxIGFyZ3VtZW50IHJlcXVpcmVkXG4gKiBAdGhyb3dzIHtSYW5nZUVycm9yfSBgb3B0aW9ucy53ZWVrU3RhcnRzT25gIG11c3QgYmUgMCwgMSwgLi4uLCA2XG4gKiBAdGhyb3dzIHtSYW5nZUVycm9yfSBUaGUgc3RhcnQgb2YgYW4gaW50ZXJ2YWwgY2Fubm90IGJlIGFmdGVyIGl0cyBlbmRcbiAqIEB0aHJvd3Mge1JhbmdlRXJyb3J9IERhdGUgaW4gaW50ZXJ2YWwgY2Fubm90IGJlIGBJbnZhbGlkIERhdGVgXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIEVhY2ggd2VlayB3aXRoaW4gaW50ZXJ2YWwgNiBPY3RvYmVyIDIwMTQgLSAyMyBOb3ZlbWJlciAyMDE0OlxuICogdmFyIHJlc3VsdCA9IGVhY2hXZWVrT2ZJbnRlcnZhbCh7XG4gKiAgIHN0YXJ0OiBuZXcgRGF0ZSgyMDE0LCA5LCA2KSxcbiAqICAgZW5kOiBuZXcgRGF0ZSgyMDE0LCAxMCwgMjMpXG4gKiB9KVxuICogLy89PiBbXG4gKiAvLyAgIFN1biBPY3QgMDUgMjAxNCAwMDowMDowMCxcbiAqIC8vICAgU3VuIE9jdCAxMiAyMDE0IDAwOjAwOjAwLFxuICogLy8gICBTdW4gT2N0IDE5IDIwMTQgMDA6MDA6MDAsXG4gKiAvLyAgIFN1biBPY3QgMjYgMjAxNCAwMDowMDowMCxcbiAqIC8vICAgU3VuIE5vdiAwMiAyMDE0IDAwOjAwOjAwLFxuICogLy8gICBTdW4gTm92IDA5IDIwMTQgMDA6MDA6MDAsXG4gKiAvLyAgIFN1biBOb3YgMTYgMjAxNCAwMDowMDowMCxcbiAqIC8vICAgU3VuIE5vdiAyMyAyMDE0IDAwOjAwOjAwXG4gKiAvLyBdXG4gKi9cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZWFjaFdlZWtPZkludGVydmFsKGRpcnR5SW50ZXJ2YWwsIG9wdGlvbnMpIHtcbiAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPCAxKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignMSBhcmd1bWVudCByZXF1aXJlZCwgYnV0IG9ubHkgJyArIGFyZ3VtZW50cy5sZW5ndGggKyAnIHByZXNlbnQnKTtcbiAgfVxuXG4gIHZhciBpbnRlcnZhbCA9IGRpcnR5SW50ZXJ2YWwgfHwge307XG4gIHZhciBzdGFydERhdGUgPSB0b0RhdGUoaW50ZXJ2YWwuc3RhcnQpO1xuICB2YXIgZW5kRGF0ZSA9IHRvRGF0ZShpbnRlcnZhbC5lbmQpO1xuICB2YXIgZW5kVGltZSA9IGVuZERhdGUuZ2V0VGltZSgpOyAvLyBUaHJvdyBhbiBleGNlcHRpb24gaWYgc3RhcnQgZGF0ZSBpcyBhZnRlciBlbmQgZGF0ZSBvciBpZiBhbnkgZGF0ZSBpcyBgSW52YWxpZCBEYXRlYFxuXG4gIGlmICghKHN0YXJ0RGF0ZS5nZXRUaW1lKCkgPD0gZW5kVGltZSkpIHtcbiAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcignSW52YWxpZCBpbnRlcnZhbCcpO1xuICB9XG5cbiAgdmFyIHN0YXJ0RGF0ZVdlZWsgPSBzdGFydE9mV2VlayhzdGFydERhdGUsIG9wdGlvbnMpO1xuICB2YXIgZW5kRGF0ZVdlZWsgPSBzdGFydE9mV2VlayhlbmREYXRlLCBvcHRpb25zKTsgLy8gU29tZSB0aW1lem9uZXMgc3dpdGNoIERTVCBhdCBtaWRuaWdodCwgbWFraW5nIHN0YXJ0IG9mIGRheSB1bnJlbGlhYmxlIGluIHRoZXNlIHRpbWV6b25lcywgM3BtIGlzIGEgc2FmZSBiZXRcblxuICBzdGFydERhdGVXZWVrLnNldEhvdXJzKDE1KTtcbiAgZW5kRGF0ZVdlZWsuc2V0SG91cnMoMTUpO1xuICBlbmRUaW1lID0gZW5kRGF0ZVdlZWsuZ2V0VGltZSgpO1xuICB2YXIgd2Vla3MgPSBbXTtcbiAgdmFyIGN1cnJlbnRXZWVrID0gc3RhcnREYXRlV2VlaztcblxuICB3aGlsZSAoY3VycmVudFdlZWsuZ2V0VGltZSgpIDw9IGVuZFRpbWUpIHtcbiAgICBjdXJyZW50V2Vlay5zZXRIb3VycygwKTtcbiAgICB3ZWVrcy5wdXNoKHRvRGF0ZShjdXJyZW50V2VlaykpO1xuICAgIGN1cnJlbnRXZWVrID0gYWRkV2Vla3MoY3VycmVudFdlZWssIDEpO1xuICAgIGN1cnJlbnRXZWVrLnNldEhvdXJzKDE1KTtcbiAgfVxuXG4gIHJldHVybiB3ZWVrcztcbn0iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/eachWeekOfInterval/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/eachWeekendOfInterval/index.js": /*!******************************************************************!*\ !*** ./node_modules/date-fns/esm/eachWeekendOfInterval/index.js ***! \******************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return eachWeekendOfInterval; });\n/* harmony import */ var _eachDayOfInterval_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../eachDayOfInterval/index.js */ \"./node_modules/date-fns/esm/eachDayOfInterval/index.js\");\n/* harmony import */ var _isSunday_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../isSunday/index.js */ \"./node_modules/date-fns/esm/isSunday/index.js\");\n/* harmony import */ var _isWeekend_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../isWeekend/index.js */ \"./node_modules/date-fns/esm/isWeekend/index.js\");\n\n\n\n/**\n * @name eachWeekendOfInterval\n * @category Interval Helpers\n * @summary List all the Saturdays and Sundays in the given date interval.\n *\n * @description\n * Get all the Saturdays and Sundays in the given date interval.\n *\n * @param {Interval} interval - the given interval. See [Interval]{@link docs/types/Interval}\n * @returns {Date[]} an array containing all the Saturdays and Sundays\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} The start of an interval cannot be after its end\n * @throws {RangeError} Date in interval cannot be `Invalid Date`\n *\n * @example\n * // Lists all Saturdays and Sundays in the given date interval\n * var result = eachWeekendOfInterval({\n * start: new Date(2018, 8, 17),\n * end: new Date(2018, 8, 30)\n * })\n * //=> [\n * // Sat Sep 22 2018 00:00:00,\n * // Sun Sep 23 2018 00:00:00,\n * // Sat Sep 29 2018 00:00:00,\n * // Sun Sep 30 2018 00:00:00\n * // ]\n */\n\nfunction eachWeekendOfInterval(interval) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n var dateInterval = Object(_eachDayOfInterval_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(interval);\n var weekends = [];\n var index = 0;\n\n while (index++ < dateInterval.length) {\n var date = dateInterval[index];\n\n if (Object(_isWeekend_index_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(date)) {\n weekends.push(date);\n if (Object(_isSunday_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(date)) index = index + 5;\n }\n }\n\n return weekends;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2VhY2hXZWVrZW5kT2ZJbnRlcnZhbC9pbmRleC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9kYXRlLWZucy9lc20vZWFjaFdlZWtlbmRPZkludGVydmFsL2luZGV4LmpzPzYxZDUiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGVhY2hEYXlPZkludGVydmFsIGZyb20gJy4uL2VhY2hEYXlPZkludGVydmFsL2luZGV4LmpzJztcbmltcG9ydCBpc1N1bmRheSBmcm9tICcuLi9pc1N1bmRheS9pbmRleC5qcyc7XG5pbXBvcnQgaXNXZWVrZW5kIGZyb20gJy4uL2lzV2Vla2VuZC9pbmRleC5qcyc7XG4vKipcbiAqIEBuYW1lIGVhY2hXZWVrZW5kT2ZJbnRlcnZhbFxuICogQGNhdGVnb3J5IEludGVydmFsIEhlbHBlcnNcbiAqIEBzdW1tYXJ5IExpc3QgYWxsIHRoZSBTYXR1cmRheXMgYW5kIFN1bmRheXMgaW4gdGhlIGdpdmVuIGRhdGUgaW50ZXJ2YWwuXG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKiBHZXQgYWxsIHRoZSBTYXR1cmRheXMgYW5kIFN1bmRheXMgaW4gdGhlIGdpdmVuIGRhdGUgaW50ZXJ2YWwuXG4gKlxuICogQHBhcmFtIHtJbnRlcnZhbH0gaW50ZXJ2YWwgLSB0aGUgZ2l2ZW4gaW50ZXJ2YWwuIFNlZSBbSW50ZXJ2YWxde0BsaW5rIGRvY3MvdHlwZXMvSW50ZXJ2YWx9XG4gKiBAcmV0dXJucyB7RGF0ZVtdfSBhbiBhcnJheSBjb250YWluaW5nIGFsbCB0aGUgU2F0dXJkYXlzIGFuZCBTdW5kYXlzXG4gKiBAdGhyb3dzIHtUeXBlRXJyb3J9IDEgYXJndW1lbnQgcmVxdWlyZWRcbiAqIEB0aHJvd3Mge1JhbmdlRXJyb3J9IFRoZSBzdGFydCBvZiBhbiBpbnRlcnZhbCBjYW5ub3QgYmUgYWZ0ZXIgaXRzIGVuZFxuICogQHRocm93cyB7UmFuZ2VFcnJvcn0gRGF0ZSBpbiBpbnRlcnZhbCBjYW5ub3QgYmUgYEludmFsaWQgRGF0ZWBcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gTGlzdHMgYWxsIFNhdHVyZGF5cyBhbmQgU3VuZGF5cyBpbiB0aGUgZ2l2ZW4gZGF0ZSBpbnRlcnZhbFxuICogdmFyIHJlc3VsdCA9IGVhY2hXZWVrZW5kT2ZJbnRlcnZhbCh7XG4gKiAgIHN0YXJ0OiBuZXcgRGF0ZSgyMDE4LCA4LCAxNyksXG4gKiAgIGVuZDogbmV3IERhdGUoMjAxOCwgOCwgMzApXG4gKiB9KVxuICogLy89PiBbXG4gKiAvLyAgIFNhdCBTZXAgMjIgMjAxOCAwMDowMDowMCxcbiAqIC8vICAgU3VuIFNlcCAyMyAyMDE4IDAwOjAwOjAwLFxuICogLy8gICBTYXQgU2VwIDI5IDIwMTggMDA6MDA6MDAsXG4gKiAvLyAgIFN1biBTZXAgMzAgMjAxOCAwMDowMDowMFxuICogLy8gXVxuICovXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGVhY2hXZWVrZW5kT2ZJbnRlcnZhbChpbnRlcnZhbCkge1xuICBpZiAoYXJndW1lbnRzLmxlbmd0aCA8IDEpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCcxIGFyZ3VtZW50IHJlcXVpcmVkLCBidXQgb25seSAnICsgYXJndW1lbnRzLmxlbmd0aCArICcgcHJlc2VudCcpO1xuICB9XG5cbiAgdmFyIGRhdGVJbnRlcnZhbCA9IGVhY2hEYXlPZkludGVydmFsKGludGVydmFsKTtcbiAgdmFyIHdlZWtlbmRzID0gW107XG4gIHZhciBpbmRleCA9IDA7XG5cbiAgd2hpbGUgKGluZGV4KysgPCBkYXRlSW50ZXJ2YWwubGVuZ3RoKSB7XG4gICAgdmFyIGRhdGUgPSBkYXRlSW50ZXJ2YWxbaW5kZXhdO1xuXG4gICAgaWYgKGlzV2Vla2VuZChkYXRlKSkge1xuICAgICAgd2Vla2VuZHMucHVzaChkYXRlKTtcbiAgICAgIGlmIChpc1N1bmRheShkYXRlKSkgaW5kZXggPSBpbmRleCArIDU7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHdlZWtlbmRzO1xufSJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/eachWeekendOfInterval/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/eachWeekendOfMonth/index.js": /*!***************************************************************!*\ !*** ./node_modules/date-fns/esm/eachWeekendOfMonth/index.js ***! \***************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return eachWeekendOfMonth; });\n/* harmony import */ var _eachWeekendOfInterval_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../eachWeekendOfInterval/index.js */ \"./node_modules/date-fns/esm/eachWeekendOfInterval/index.js\");\n/* harmony import */ var _startOfMonth_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../startOfMonth/index.js */ \"./node_modules/date-fns/esm/startOfMonth/index.js\");\n/* harmony import */ var _endOfMonth_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../endOfMonth/index.js */ \"./node_modules/date-fns/esm/endOfMonth/index.js\");\n\n\n\n/**\n * @name eachWeekendOfMonth\n * @category Month Helpers\n * @summary List all the Saturdays and Sundays in the given month.\n *\n * @description\n * Get all the Saturdays and Sundays in the given month.\n *\n * @param {Date|Number} date - the given month\n * @returns {Date[]} an array containing all the Saturdays and Sundays\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} The passed date is invalid\n *\n * @example\n * // Lists all Saturdays and Sundays in the given month\n * var result = eachWeekendOfMonth(new Date(2022, 1, 1))\n * //=> [\n * // Sat Feb 05 2022 00:00:00,\n * // Sun Feb 06 2022 00:00:00,\n * // Sat Feb 12 2022 00:00:00,\n * // Sun Feb 13 2022 00:00:00,\n * // Sat Feb 19 2022 00:00:00,\n * // Sun Feb 20 2022 00:00:00,\n * // Sat Feb 26 2022 00:00:00,\n * // Sun Feb 27 2022 00:00:00\n * // ]\n */\n\nfunction eachWeekendOfMonth(dirtyDate) {\n if (arguments.length < 1) {\n throw new TypeError('1 arguments required, but only ' + arguments.length + ' present');\n }\n\n var startDate = Object(_startOfMonth_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(dirtyDate);\n if (isNaN(startDate)) throw new RangeError('The passed date is invalid');\n var endDate = Object(_endOfMonth_index_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(dirtyDate);\n return Object(_eachWeekendOfInterval_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n start: startDate,\n end: endDate\n });\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2VhY2hXZWVrZW5kT2ZNb250aC9pbmRleC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9kYXRlLWZucy9lc20vZWFjaFdlZWtlbmRPZk1vbnRoL2luZGV4LmpzP2Q4MDQiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGVhY2hXZWVrZW5kT2ZJbnRlcnZhbCBmcm9tICcuLi9lYWNoV2Vla2VuZE9mSW50ZXJ2YWwvaW5kZXguanMnO1xuaW1wb3J0IHN0YXJ0T2ZNb250aCBmcm9tICcuLi9zdGFydE9mTW9udGgvaW5kZXguanMnO1xuaW1wb3J0IGVuZE9mTW9udGggZnJvbSAnLi4vZW5kT2ZNb250aC9pbmRleC5qcyc7XG4vKipcbiAqIEBuYW1lIGVhY2hXZWVrZW5kT2ZNb250aFxuICogQGNhdGVnb3J5IE1vbnRoIEhlbHBlcnNcbiAqIEBzdW1tYXJ5IExpc3QgYWxsIHRoZSBTYXR1cmRheXMgYW5kIFN1bmRheXMgaW4gdGhlIGdpdmVuIG1vbnRoLlxuICpcbiAqIEBkZXNjcmlwdGlvblxuICogR2V0IGFsbCB0aGUgU2F0dXJkYXlzIGFuZCBTdW5kYXlzIGluIHRoZSBnaXZlbiBtb250aC5cbiAqXG4gKiBAcGFyYW0ge0RhdGV8TnVtYmVyfSBkYXRlIC0gdGhlIGdpdmVuIG1vbnRoXG4gKiBAcmV0dXJucyB7RGF0ZVtdfSBhbiBhcnJheSBjb250YWluaW5nIGFsbCB0aGUgU2F0dXJkYXlzIGFuZCBTdW5kYXlzXG4gKiBAdGhyb3dzIHtUeXBlRXJyb3J9IDEgYXJndW1lbnQgcmVxdWlyZWRcbiAqIEB0aHJvd3Mge1JhbmdlRXJyb3J9IFRoZSBwYXNzZWQgZGF0ZSBpcyBpbnZhbGlkXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIExpc3RzIGFsbCBTYXR1cmRheXMgYW5kIFN1bmRheXMgaW4gdGhlIGdpdmVuIG1vbnRoXG4gKiB2YXIgcmVzdWx0ID0gZWFjaFdlZWtlbmRPZk1vbnRoKG5ldyBEYXRlKDIwMjIsIDEsIDEpKVxuICogLy89PiBbXG4gKiAvLyAgIFNhdCBGZWIgMDUgMjAyMiAwMDowMDowMCxcbiAqIC8vICAgU3VuIEZlYiAwNiAyMDIyIDAwOjAwOjAwLFxuICogLy8gICBTYXQgRmViIDEyIDIwMjIgMDA6MDA6MDAsXG4gKiAvLyAgIFN1biBGZWIgMTMgMjAyMiAwMDowMDowMCxcbiAqIC8vICAgU2F0IEZlYiAxOSAyMDIyIDAwOjAwOjAwLFxuICogLy8gICBTdW4gRmViIDIwIDIwMjIgMDA6MDA6MDAsXG4gKiAvLyAgIFNhdCBGZWIgMjYgMjAyMiAwMDowMDowMCxcbiAqIC8vICAgU3VuIEZlYiAyNyAyMDIyIDAwOjAwOjAwXG4gKiAvLyBdXG4gKi9cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZWFjaFdlZWtlbmRPZk1vbnRoKGRpcnR5RGF0ZSkge1xuICBpZiAoYXJndW1lbnRzLmxlbmd0aCA8IDEpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCcxIGFyZ3VtZW50cyByZXF1aXJlZCwgYnV0IG9ubHkgJyArIGFyZ3VtZW50cy5sZW5ndGggKyAnIHByZXNlbnQnKTtcbiAgfVxuXG4gIHZhciBzdGFydERhdGUgPSBzdGFydE9mTW9udGgoZGlydHlEYXRlKTtcbiAgaWYgKGlzTmFOKHN0YXJ0RGF0ZSkpIHRocm93IG5ldyBSYW5nZUVycm9yKCdUaGUgcGFzc2VkIGRhdGUgaXMgaW52YWxpZCcpO1xuICB2YXIgZW5kRGF0ZSA9IGVuZE9mTW9udGgoZGlydHlEYXRlKTtcbiAgcmV0dXJuIGVhY2hXZWVrZW5kT2ZJbnRlcnZhbCh7XG4gICAgc3RhcnQ6IHN0YXJ0RGF0ZSxcbiAgICBlbmQ6IGVuZERhdGVcbiAgfSk7XG59Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/eachWeekendOfMonth/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/eachWeekendOfYear/index.js": /*!**************************************************************!*\ !*** ./node_modules/date-fns/esm/eachWeekendOfYear/index.js ***! \**************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return eachWeekendOfYear; });\n/* harmony import */ var _eachWeekendOfInterval_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../eachWeekendOfInterval/index.js */ \"./node_modules/date-fns/esm/eachWeekendOfInterval/index.js\");\n/* harmony import */ var _startOfYear_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../startOfYear/index.js */ \"./node_modules/date-fns/esm/startOfYear/index.js\");\n/* harmony import */ var _endOfYear_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../endOfYear/index.js */ \"./node_modules/date-fns/esm/endOfYear/index.js\");\n\n\n\n/**\n * @name eachWeekendOfYear\n * @category Year Helpers\n * @summary List all the Saturdays and Sundays in the year.\n *\n * @description\n * Get all the Saturdays and Sundays in the year.\n *\n * @param {Date|Number} date - the given year\n * @returns {Date[]} an array containing all the Saturdays and Sundays\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} The passed date is invalid\n *\n * @example\n * // Lists all Saturdays and Sundays in the year\n * var result = eachWeekendOfYear(new Date(2020, 1, 1))\n * //=> [\n * // Sat Jan 03 2020 00:00:00,\n * // Sun Jan 04 2020 00:00:00,\n * // ...\n * // Sun Dec 27 2020 00:00:00\n * // ]\n * ]\n */\n\nfunction eachWeekendOfYear(dirtyDate) {\n if (arguments.length < 1) {\n throw new TypeError('1 arguments required, but only ' + arguments.length + ' present');\n }\n\n var startDate = Object(_startOfYear_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(dirtyDate);\n if (isNaN(startDate)) throw new RangeError('The passed date is invalid');\n var endDate = Object(_endOfYear_index_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(dirtyDate);\n return Object(_eachWeekendOfInterval_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n start: startDate,\n end: endDate\n });\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2VhY2hXZWVrZW5kT2ZZZWFyL2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2VzbS9lYWNoV2Vla2VuZE9mWWVhci9pbmRleC5qcz8xMjQ0Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBlYWNoV2Vla2VuZE9mSW50ZXJ2YWwgZnJvbSAnLi4vZWFjaFdlZWtlbmRPZkludGVydmFsL2luZGV4LmpzJztcbmltcG9ydCBzdGFydE9mWWVhciBmcm9tICcuLi9zdGFydE9mWWVhci9pbmRleC5qcyc7XG5pbXBvcnQgZW5kT2ZZZWFyIGZyb20gJy4uL2VuZE9mWWVhci9pbmRleC5qcyc7XG4vKipcbiAqIEBuYW1lIGVhY2hXZWVrZW5kT2ZZZWFyXG4gKiBAY2F0ZWdvcnkgWWVhciBIZWxwZXJzXG4gKiBAc3VtbWFyeSBMaXN0IGFsbCB0aGUgU2F0dXJkYXlzIGFuZCBTdW5kYXlzIGluIHRoZSB5ZWFyLlxuICpcbiAqIEBkZXNjcmlwdGlvblxuICogR2V0IGFsbCB0aGUgU2F0dXJkYXlzIGFuZCBTdW5kYXlzIGluIHRoZSB5ZWFyLlxuICpcbiAqIEBwYXJhbSB7RGF0ZXxOdW1iZXJ9IGRhdGUgLSB0aGUgZ2l2ZW4geWVhclxuICogQHJldHVybnMge0RhdGVbXX0gYW4gYXJyYXkgY29udGFpbmluZyBhbGwgdGhlIFNhdHVyZGF5cyBhbmQgU3VuZGF5c1xuICogQHRocm93cyB7VHlwZUVycm9yfSAxIGFyZ3VtZW50IHJlcXVpcmVkXG4gKiBAdGhyb3dzIHtSYW5nZUVycm9yfSBUaGUgcGFzc2VkIGRhdGUgaXMgaW52YWxpZFxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBMaXN0cyBhbGwgU2F0dXJkYXlzIGFuZCBTdW5kYXlzIGluIHRoZSB5ZWFyXG4gKiB2YXIgcmVzdWx0ID0gZWFjaFdlZWtlbmRPZlllYXIobmV3IERhdGUoMjAyMCwgMSwgMSkpXG4gKiAvLz0+IFtcbiAqIC8vICAgU2F0IEphbiAwMyAyMDIwIDAwOjAwOjAwLFxuICogLy8gICBTdW4gSmFuIDA0IDIwMjAgMDA6MDA6MDAsXG4gKiAvLyAgIC4uLlxuICogLy8gICBTdW4gRGVjIDI3IDIwMjAgMDA6MDA6MDBcbiAqIC8vIF1cbiAqIF1cbiAqL1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBlYWNoV2Vla2VuZE9mWWVhcihkaXJ0eURhdGUpIHtcbiAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPCAxKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignMSBhcmd1bWVudHMgcmVxdWlyZWQsIGJ1dCBvbmx5ICcgKyBhcmd1bWVudHMubGVuZ3RoICsgJyBwcmVzZW50Jyk7XG4gIH1cblxuICB2YXIgc3RhcnREYXRlID0gc3RhcnRPZlllYXIoZGlydHlEYXRlKTtcbiAgaWYgKGlzTmFOKHN0YXJ0RGF0ZSkpIHRocm93IG5ldyBSYW5nZUVycm9yKCdUaGUgcGFzc2VkIGRhdGUgaXMgaW52YWxpZCcpO1xuICB2YXIgZW5kRGF0ZSA9IGVuZE9mWWVhcihkaXJ0eURhdGUpO1xuICByZXR1cm4gZWFjaFdlZWtlbmRPZkludGVydmFsKHtcbiAgICBzdGFydDogc3RhcnREYXRlLFxuICAgIGVuZDogZW5kRGF0ZVxuICB9KTtcbn0iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/eachWeekendOfYear/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/endOfDay/index.js": /*!*****************************************************!*\ !*** ./node_modules/date-fns/esm/endOfDay/index.js ***! \*****************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return endOfDay; });\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n\n/**\n * @name endOfDay\n * @category Day Helpers\n * @summary Return the end of a day for the given date.\n *\n * @description\n * Return the end of a day for the given date.\n * The result will be in the local timezone.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the end of a day\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The end of a day for 2 September 2014 11:55:00:\n * var result = endOfDay(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Tue Sep 02 2014 23:59:59.999\n */\n\nfunction endOfDay(dirtyDate) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n var date = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate);\n date.setHours(23, 59, 59, 999);\n return date;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2VuZE9mRGF5L2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2VzbS9lbmRPZkRheS9pbmRleC5qcz9hNjIyIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0b0RhdGUgZnJvbSAnLi4vdG9EYXRlL2luZGV4LmpzJztcbi8qKlxuICogQG5hbWUgZW5kT2ZEYXlcbiAqIEBjYXRlZ29yeSBEYXkgSGVscGVyc1xuICogQHN1bW1hcnkgUmV0dXJuIHRoZSBlbmQgb2YgYSBkYXkgZm9yIHRoZSBnaXZlbiBkYXRlLlxuICpcbiAqIEBkZXNjcmlwdGlvblxuICogUmV0dXJuIHRoZSBlbmQgb2YgYSBkYXkgZm9yIHRoZSBnaXZlbiBkYXRlLlxuICogVGhlIHJlc3VsdCB3aWxsIGJlIGluIHRoZSBsb2NhbCB0aW1lem9uZS5cbiAqXG4gKiAjIyMgdjIuMC4wIGJyZWFraW5nIGNoYW5nZXM6XG4gKlxuICogLSBbQ2hhbmdlcyB0aGF0IGFyZSBjb21tb24gZm9yIHRoZSB3aG9sZSBsaWJyYXJ5XShodHRwczovL2dpdGh1Yi5jb20vZGF0ZS1mbnMvZGF0ZS1mbnMvYmxvYi9tYXN0ZXIvZG9jcy91cGdyYWRlR3VpZGUubWQjQ29tbW9uLUNoYW5nZXMpLlxuICpcbiAqIEBwYXJhbSB7RGF0ZXxOdW1iZXJ9IGRhdGUgLSB0aGUgb3JpZ2luYWwgZGF0ZVxuICogQHJldHVybnMge0RhdGV9IHRoZSBlbmQgb2YgYSBkYXlcbiAqIEB0aHJvd3Mge1R5cGVFcnJvcn0gMSBhcmd1bWVudCByZXF1aXJlZFxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBUaGUgZW5kIG9mIGEgZGF5IGZvciAyIFNlcHRlbWJlciAyMDE0IDExOjU1OjAwOlxuICogdmFyIHJlc3VsdCA9IGVuZE9mRGF5KG5ldyBEYXRlKDIwMTQsIDgsIDIsIDExLCA1NSwgMCkpXG4gKiAvLz0+IFR1ZSBTZXAgMDIgMjAxNCAyMzo1OTo1OS45OTlcbiAqL1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBlbmRPZkRheShkaXJ0eURhdGUpIHtcbiAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPCAxKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignMSBhcmd1bWVudCByZXF1aXJlZCwgYnV0IG9ubHkgJyArIGFyZ3VtZW50cy5sZW5ndGggKyAnIHByZXNlbnQnKTtcbiAgfVxuXG4gIHZhciBkYXRlID0gdG9EYXRlKGRpcnR5RGF0ZSk7XG4gIGRhdGUuc2V0SG91cnMoMjMsIDU5LCA1OSwgOTk5KTtcbiAgcmV0dXJuIGRhdGU7XG59Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/endOfDay/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/endOfDecade/index.js": /*!********************************************************!*\ !*** ./node_modules/date-fns/esm/endOfDecade/index.js ***! \********************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return endOfDecade; });\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n\n/**\n * @name endOfDecade\n * @category Decade Helpers\n * @summary Return the end of a decade for the given date.\n *\n * @description\n * Return the end of a decade for the given date.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the end of a decade\n * @param {Object} [options] - an object with options.\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\n *\n * @example\n * // The end of a decade for 12 May 1984 00:00:00:\n * var result = endOfDecade(new Date(1984, 4, 12, 00, 00, 00))\n * //=> Dec 31 1989 23:59:59.999\n */\n\nfunction endOfDecade(dirtyDate) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n var date = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate);\n var year = date.getFullYear();\n var decade = 9 + Math.floor(year / 10) * 10;\n date.setFullYear(decade, 11, 31);\n date.setHours(23, 59, 59, 999);\n return date;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2VuZE9mRGVjYWRlL2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2VzbS9lbmRPZkRlY2FkZS9pbmRleC5qcz80MGQyIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0b0RhdGUgZnJvbSAnLi4vdG9EYXRlL2luZGV4LmpzJztcbi8qKlxuICogQG5hbWUgZW5kT2ZEZWNhZGVcbiAqIEBjYXRlZ29yeSBEZWNhZGUgSGVscGVyc1xuICogQHN1bW1hcnkgUmV0dXJuIHRoZSBlbmQgb2YgYSBkZWNhZGUgZm9yIHRoZSBnaXZlbiBkYXRlLlxuICpcbiAqIEBkZXNjcmlwdGlvblxuICogUmV0dXJuIHRoZSBlbmQgb2YgYSBkZWNhZGUgZm9yIHRoZSBnaXZlbiBkYXRlLlxuICpcbiAqICMjIyB2Mi4wLjAgYnJlYWtpbmcgY2hhbmdlczpcbiAqXG4gKiAtIFtDaGFuZ2VzIHRoYXQgYXJlIGNvbW1vbiBmb3IgdGhlIHdob2xlIGxpYnJhcnldKGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRlLWZucy9kYXRlLWZucy9ibG9iL21hc3Rlci9kb2NzL3VwZ3JhZGVHdWlkZS5tZCNDb21tb24tQ2hhbmdlcykuXG4gKlxuICogQHBhcmFtIHtEYXRlfE51bWJlcn0gZGF0ZSAtIHRoZSBvcmlnaW5hbCBkYXRlXG4gKiBAcmV0dXJucyB7RGF0ZX0gdGhlIGVuZCBvZiBhIGRlY2FkZVxuICogQHBhcmFtIHtPYmplY3R9IFtvcHRpb25zXSAtIGFuIG9iamVjdCB3aXRoIG9wdGlvbnMuXG4gKiBAcGFyYW0gezB8MXwyfSBbb3B0aW9ucy5hZGRpdGlvbmFsRGlnaXRzPTJdIC0gcGFzc2VkIHRvIGB0b0RhdGVgLiBTZWUgW3RvRGF0ZV17QGxpbmsgaHR0cHM6Ly9kYXRlLWZucy5vcmcvZG9jcy90b0RhdGV9XG4gKiBAdGhyb3dzIHtUeXBlRXJyb3J9IDEgYXJndW1lbnQgcmVxdWlyZWRcbiAqIEB0aHJvd3Mge1JhbmdlRXJyb3J9IGBvcHRpb25zLmFkZGl0aW9uYWxEaWdpdHNgIG11c3QgYmUgMCwgMSBvciAyXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIFRoZSBlbmQgb2YgYSBkZWNhZGUgZm9yIDEyIE1heSAxOTg0IDAwOjAwOjAwOlxuICogdmFyIHJlc3VsdCA9IGVuZE9mRGVjYWRlKG5ldyBEYXRlKDE5ODQsIDQsIDEyLCAwMCwgMDAsIDAwKSlcbiAqIC8vPT4gRGVjIDMxIDE5ODkgMjM6NTk6NTkuOTk5XG4gKi9cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZW5kT2ZEZWNhZGUoZGlydHlEYXRlKSB7XG4gIGlmIChhcmd1bWVudHMubGVuZ3RoIDwgMSkge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJzEgYXJndW1lbnQgcmVxdWlyZWQsIGJ1dCBvbmx5ICcgKyBhcmd1bWVudHMubGVuZ3RoICsgJyBwcmVzZW50Jyk7XG4gIH1cblxuICB2YXIgZGF0ZSA9IHRvRGF0ZShkaXJ0eURhdGUpO1xuICB2YXIgeWVhciA9IGRhdGUuZ2V0RnVsbFllYXIoKTtcbiAgdmFyIGRlY2FkZSA9IDkgKyBNYXRoLmZsb29yKHllYXIgLyAxMCkgKiAxMDtcbiAgZGF0ZS5zZXRGdWxsWWVhcihkZWNhZGUsIDExLCAzMSk7XG4gIGRhdGUuc2V0SG91cnMoMjMsIDU5LCA1OSwgOTk5KTtcbiAgcmV0dXJuIGRhdGU7XG59Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/endOfDecade/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/endOfHour/index.js": /*!******************************************************!*\ !*** ./node_modules/date-fns/esm/endOfHour/index.js ***! \******************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return endOfHour; });\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n\n/**\n * @name endOfHour\n * @category Hour Helpers\n * @summary Return the end of an hour for the given date.\n *\n * @description\n * Return the end of an hour for the given date.\n * The result will be in the local timezone.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the end of an hour\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The end of an hour for 2 September 2014 11:55:00:\n * var result = endOfHour(new Date(2014, 8, 2, 11, 55))\n * //=> Tue Sep 02 2014 11:59:59.999\n */\n\nfunction endOfHour(dirtyDate) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n var date = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate);\n date.setMinutes(59, 59, 999);\n return date;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2VuZE9mSG91ci9pbmRleC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9kYXRlLWZucy9lc20vZW5kT2ZIb3VyL2luZGV4LmpzP2FjN2YiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHRvRGF0ZSBmcm9tICcuLi90b0RhdGUvaW5kZXguanMnO1xuLyoqXG4gKiBAbmFtZSBlbmRPZkhvdXJcbiAqIEBjYXRlZ29yeSBIb3VyIEhlbHBlcnNcbiAqIEBzdW1tYXJ5IFJldHVybiB0aGUgZW5kIG9mIGFuIGhvdXIgZm9yIHRoZSBnaXZlbiBkYXRlLlxuICpcbiAqIEBkZXNjcmlwdGlvblxuICogUmV0dXJuIHRoZSBlbmQgb2YgYW4gaG91ciBmb3IgdGhlIGdpdmVuIGRhdGUuXG4gKiBUaGUgcmVzdWx0IHdpbGwgYmUgaW4gdGhlIGxvY2FsIHRpbWV6b25lLlxuICpcbiAqICMjIyB2Mi4wLjAgYnJlYWtpbmcgY2hhbmdlczpcbiAqXG4gKiAtIFtDaGFuZ2VzIHRoYXQgYXJlIGNvbW1vbiBmb3IgdGhlIHdob2xlIGxpYnJhcnldKGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRlLWZucy9kYXRlLWZucy9ibG9iL21hc3Rlci9kb2NzL3VwZ3JhZGVHdWlkZS5tZCNDb21tb24tQ2hhbmdlcykuXG4gKlxuICogQHBhcmFtIHtEYXRlfE51bWJlcn0gZGF0ZSAtIHRoZSBvcmlnaW5hbCBkYXRlXG4gKiBAcmV0dXJucyB7RGF0ZX0gdGhlIGVuZCBvZiBhbiBob3VyXG4gKiBAdGhyb3dzIHtUeXBlRXJyb3J9IDEgYXJndW1lbnQgcmVxdWlyZWRcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gVGhlIGVuZCBvZiBhbiBob3VyIGZvciAyIFNlcHRlbWJlciAyMDE0IDExOjU1OjAwOlxuICogdmFyIHJlc3VsdCA9IGVuZE9mSG91cihuZXcgRGF0ZSgyMDE0LCA4LCAyLCAxMSwgNTUpKVxuICogLy89PiBUdWUgU2VwIDAyIDIwMTQgMTE6NTk6NTkuOTk5XG4gKi9cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZW5kT2ZIb3VyKGRpcnR5RGF0ZSkge1xuICBpZiAoYXJndW1lbnRzLmxlbmd0aCA8IDEpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCcxIGFyZ3VtZW50IHJlcXVpcmVkLCBidXQgb25seSAnICsgYXJndW1lbnRzLmxlbmd0aCArICcgcHJlc2VudCcpO1xuICB9XG5cbiAgdmFyIGRhdGUgPSB0b0RhdGUoZGlydHlEYXRlKTtcbiAgZGF0ZS5zZXRNaW51dGVzKDU5LCA1OSwgOTk5KTtcbiAgcmV0dXJuIGRhdGU7XG59Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/endOfHour/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/endOfISOWeek/index.js": /*!*********************************************************!*\ !*** ./node_modules/date-fns/esm/endOfISOWeek/index.js ***! \*********************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return endOfISOWeek; });\n/* harmony import */ var _endOfWeek_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../endOfWeek/index.js */ \"./node_modules/date-fns/esm/endOfWeek/index.js\");\n\n/**\n * @name endOfISOWeek\n * @category ISO Week Helpers\n * @summary Return the end of an ISO week for the given date.\n *\n * @description\n * Return the end of an ISO week for the given date.\n * The result will be in the local timezone.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the end of an ISO week\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The end of an ISO week for 2 September 2014 11:55:00:\n * var result = endOfISOWeek(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Sun Sep 07 2014 23:59:59.999\n */\n\nfunction endOfISOWeek(dirtyDate) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n return Object(_endOfWeek_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate, {\n weekStartsOn: 1\n });\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2VuZE9mSVNPV2Vlay9pbmRleC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9kYXRlLWZucy9lc20vZW5kT2ZJU09XZWVrL2luZGV4LmpzPzRkN2EiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGVuZE9mV2VlayBmcm9tICcuLi9lbmRPZldlZWsvaW5kZXguanMnO1xuLyoqXG4gKiBAbmFtZSBlbmRPZklTT1dlZWtcbiAqIEBjYXRlZ29yeSBJU08gV2VlayBIZWxwZXJzXG4gKiBAc3VtbWFyeSBSZXR1cm4gdGhlIGVuZCBvZiBhbiBJU08gd2VlayBmb3IgdGhlIGdpdmVuIGRhdGUuXG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKiBSZXR1cm4gdGhlIGVuZCBvZiBhbiBJU08gd2VlayBmb3IgdGhlIGdpdmVuIGRhdGUuXG4gKiBUaGUgcmVzdWx0IHdpbGwgYmUgaW4gdGhlIGxvY2FsIHRpbWV6b25lLlxuICpcbiAqIElTTyB3ZWVrLW51bWJlcmluZyB5ZWFyOiBodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0lTT193ZWVrX2RhdGVcbiAqXG4gKiAjIyMgdjIuMC4wIGJyZWFraW5nIGNoYW5nZXM6XG4gKlxuICogLSBbQ2hhbmdlcyB0aGF0IGFyZSBjb21tb24gZm9yIHRoZSB3aG9sZSBsaWJyYXJ5XShodHRwczovL2dpdGh1Yi5jb20vZGF0ZS1mbnMvZGF0ZS1mbnMvYmxvYi9tYXN0ZXIvZG9jcy91cGdyYWRlR3VpZGUubWQjQ29tbW9uLUNoYW5nZXMpLlxuICpcbiAqIEBwYXJhbSB7RGF0ZXxOdW1iZXJ9IGRhdGUgLSB0aGUgb3JpZ2luYWwgZGF0ZVxuICogQHJldHVybnMge0RhdGV9IHRoZSBlbmQgb2YgYW4gSVNPIHdlZWtcbiAqIEB0aHJvd3Mge1R5cGVFcnJvcn0gMSBhcmd1bWVudCByZXF1aXJlZFxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBUaGUgZW5kIG9mIGFuIElTTyB3ZWVrIGZvciAyIFNlcHRlbWJlciAyMDE0IDExOjU1OjAwOlxuICogdmFyIHJlc3VsdCA9IGVuZE9mSVNPV2VlayhuZXcgRGF0ZSgyMDE0LCA4LCAyLCAxMSwgNTUsIDApKVxuICogLy89PiBTdW4gU2VwIDA3IDIwMTQgMjM6NTk6NTkuOTk5XG4gKi9cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZW5kT2ZJU09XZWVrKGRpcnR5RGF0ZSkge1xuICBpZiAoYXJndW1lbnRzLmxlbmd0aCA8IDEpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCcxIGFyZ3VtZW50IHJlcXVpcmVkLCBidXQgb25seSAnICsgYXJndW1lbnRzLmxlbmd0aCArICcgcHJlc2VudCcpO1xuICB9XG5cbiAgcmV0dXJuIGVuZE9mV2VlayhkaXJ0eURhdGUsIHtcbiAgICB3ZWVrU3RhcnRzT246IDFcbiAgfSk7XG59Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/endOfISOWeek/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/endOfISOWeekYear/index.js": /*!*************************************************************!*\ !*** ./node_modules/date-fns/esm/endOfISOWeekYear/index.js ***! \*************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return endOfISOWeekYear; });\n/* harmony import */ var _getISOWeekYear_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../getISOWeekYear/index.js */ \"./node_modules/date-fns/esm/getISOWeekYear/index.js\");\n/* harmony import */ var _startOfISOWeek_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../startOfISOWeek/index.js */ \"./node_modules/date-fns/esm/startOfISOWeek/index.js\");\n\n\n/**\n * @name endOfISOWeekYear\n * @category ISO Week-Numbering Year Helpers\n * @summary Return the end of an ISO week-numbering year for the given date.\n *\n * @description\n * Return the end of an ISO week-numbering year,\n * which always starts 3 days before the year's first Thursday.\n * The result will be in the local timezone.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * - The function was renamed from `endOfISOYear` to `endOfISOWeekYear`.\n * \"ISO week year\" is short for [ISO week-numbering year](https://en.wikipedia.org/wiki/ISO_week_date).\n * This change makes the name consistent with\n * locale-dependent week-numbering year helpers, e.g., `addWeekYears`.\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the end of an ISO week-numbering year\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The end of an ISO week-numbering year for 2 July 2005:\n * var result = endOfISOWeekYear(new Date(2005, 6, 2))\n * //=> Sun Jan 01 2006 23:59:59.999\n */\n\nfunction endOfISOWeekYear(dirtyDate) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n var year = Object(_getISOWeekYear_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate);\n var fourthOfJanuaryOfNextYear = new Date(0);\n fourthOfJanuaryOfNextYear.setFullYear(year + 1, 0, 4);\n fourthOfJanuaryOfNextYear.setHours(0, 0, 0, 0);\n var date = Object(_startOfISOWeek_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(fourthOfJanuaryOfNextYear);\n date.setMilliseconds(date.getMilliseconds() - 1);\n return date;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2VuZE9mSVNPV2Vla1llYXIvaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2VuZE9mSVNPV2Vla1llYXIvaW5kZXguanM/NmRiNiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZ2V0SVNPV2Vla1llYXIgZnJvbSAnLi4vZ2V0SVNPV2Vla1llYXIvaW5kZXguanMnO1xuaW1wb3J0IHN0YXJ0T2ZJU09XZWVrIGZyb20gJy4uL3N0YXJ0T2ZJU09XZWVrL2luZGV4LmpzJztcbi8qKlxuICogQG5hbWUgZW5kT2ZJU09XZWVrWWVhclxuICogQGNhdGVnb3J5IElTTyBXZWVrLU51bWJlcmluZyBZZWFyIEhlbHBlcnNcbiAqIEBzdW1tYXJ5IFJldHVybiB0aGUgZW5kIG9mIGFuIElTTyB3ZWVrLW51bWJlcmluZyB5ZWFyIGZvciB0aGUgZ2l2ZW4gZGF0ZS5cbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIFJldHVybiB0aGUgZW5kIG9mIGFuIElTTyB3ZWVrLW51bWJlcmluZyB5ZWFyLFxuICogd2hpY2ggYWx3YXlzIHN0YXJ0cyAzIGRheXMgYmVmb3JlIHRoZSB5ZWFyJ3MgZmlyc3QgVGh1cnNkYXkuXG4gKiBUaGUgcmVzdWx0IHdpbGwgYmUgaW4gdGhlIGxvY2FsIHRpbWV6b25lLlxuICpcbiAqIElTTyB3ZWVrLW51bWJlcmluZyB5ZWFyOiBodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0lTT193ZWVrX2RhdGVcbiAqXG4gKiAjIyMgdjIuMC4wIGJyZWFraW5nIGNoYW5nZXM6XG4gKlxuICogLSBbQ2hhbmdlcyB0aGF0IGFyZSBjb21tb24gZm9yIHRoZSB3aG9sZSBsaWJyYXJ5XShodHRwczovL2dpdGh1Yi5jb20vZGF0ZS1mbnMvZGF0ZS1mbnMvYmxvYi9tYXN0ZXIvZG9jcy91cGdyYWRlR3VpZGUubWQjQ29tbW9uLUNoYW5nZXMpLlxuICpcbiAqIC0gVGhlIGZ1bmN0aW9uIHdhcyByZW5hbWVkIGZyb20gYGVuZE9mSVNPWWVhcmAgdG8gYGVuZE9mSVNPV2Vla1llYXJgLlxuICogICBcIklTTyB3ZWVrIHllYXJcIiBpcyBzaG9ydCBmb3IgW0lTTyB3ZWVrLW51bWJlcmluZyB5ZWFyXShodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9JU09fd2Vla19kYXRlKS5cbiAqICAgVGhpcyBjaGFuZ2UgbWFrZXMgdGhlIG5hbWUgY29uc2lzdGVudCB3aXRoXG4gKiAgIGxvY2FsZS1kZXBlbmRlbnQgd2Vlay1udW1iZXJpbmcgeWVhciBoZWxwZXJzLCBlLmcuLCBgYWRkV2Vla1llYXJzYC5cbiAqXG4gKiBAcGFyYW0ge0RhdGV8TnVtYmVyfSBkYXRlIC0gdGhlIG9yaWdpbmFsIGRhdGVcbiAqIEByZXR1cm5zIHtEYXRlfSB0aGUgZW5kIG9mIGFuIElTTyB3ZWVrLW51bWJlcmluZyB5ZWFyXG4gKiBAdGhyb3dzIHtUeXBlRXJyb3J9IDEgYXJndW1lbnQgcmVxdWlyZWRcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gVGhlIGVuZCBvZiBhbiBJU08gd2Vlay1udW1iZXJpbmcgeWVhciBmb3IgMiBKdWx5IDIwMDU6XG4gKiB2YXIgcmVzdWx0ID0gZW5kT2ZJU09XZWVrWWVhcihuZXcgRGF0ZSgyMDA1LCA2LCAyKSlcbiAqIC8vPT4gU3VuIEphbiAwMSAyMDA2IDIzOjU5OjU5Ljk5OVxuICovXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGVuZE9mSVNPV2Vla1llYXIoZGlydHlEYXRlKSB7XG4gIGlmIChhcmd1bWVudHMubGVuZ3RoIDwgMSkge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJzEgYXJndW1lbnQgcmVxdWlyZWQsIGJ1dCBvbmx5ICcgKyBhcmd1bWVudHMubGVuZ3RoICsgJyBwcmVzZW50Jyk7XG4gIH1cblxuICB2YXIgeWVhciA9IGdldElTT1dlZWtZZWFyKGRpcnR5RGF0ZSk7XG4gIHZhciBmb3VydGhPZkphbnVhcnlPZk5leHRZZWFyID0gbmV3IERhdGUoMCk7XG4gIGZvdXJ0aE9mSmFudWFyeU9mTmV4dFllYXIuc2V0RnVsbFllYXIoeWVhciArIDEsIDAsIDQpO1xuICBmb3VydGhPZkphbnVhcnlPZk5leHRZZWFyLnNldEhvdXJzKDAsIDAsIDAsIDApO1xuICB2YXIgZGF0ZSA9IHN0YXJ0T2ZJU09XZWVrKGZvdXJ0aE9mSmFudWFyeU9mTmV4dFllYXIpO1xuICBkYXRlLnNldE1pbGxpc2Vjb25kcyhkYXRlLmdldE1pbGxpc2Vjb25kcygpIC0gMSk7XG4gIHJldHVybiBkYXRlO1xufSJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/endOfISOWeekYear/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/endOfMinute/index.js": /*!********************************************************!*\ !*** ./node_modules/date-fns/esm/endOfMinute/index.js ***! \********************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return endOfMinute; });\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n\n/**\n * @name endOfMinute\n * @category Minute Helpers\n * @summary Return the end of a minute for the given date.\n *\n * @description\n * Return the end of a minute for the given date.\n * The result will be in the local timezone.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the end of a minute\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The end of a minute for 1 December 2014 22:15:45.400:\n * var result = endOfMinute(new Date(2014, 11, 1, 22, 15, 45, 400))\n * //=> Mon Dec 01 2014 22:15:59.999\n */\n\nfunction endOfMinute(dirtyDate) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n var date = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate);\n date.setSeconds(59, 999);\n return date;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2VuZE9mTWludXRlL2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2VzbS9lbmRPZk1pbnV0ZS9pbmRleC5qcz8yMDg1Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0b0RhdGUgZnJvbSAnLi4vdG9EYXRlL2luZGV4LmpzJztcbi8qKlxuICogQG5hbWUgZW5kT2ZNaW51dGVcbiAqIEBjYXRlZ29yeSBNaW51dGUgSGVscGVyc1xuICogQHN1bW1hcnkgUmV0dXJuIHRoZSBlbmQgb2YgYSBtaW51dGUgZm9yIHRoZSBnaXZlbiBkYXRlLlxuICpcbiAqIEBkZXNjcmlwdGlvblxuICogUmV0dXJuIHRoZSBlbmQgb2YgYSBtaW51dGUgZm9yIHRoZSBnaXZlbiBkYXRlLlxuICogVGhlIHJlc3VsdCB3aWxsIGJlIGluIHRoZSBsb2NhbCB0aW1lem9uZS5cbiAqXG4gKiAjIyMgdjIuMC4wIGJyZWFraW5nIGNoYW5nZXM6XG4gKlxuICogLSBbQ2hhbmdlcyB0aGF0IGFyZSBjb21tb24gZm9yIHRoZSB3aG9sZSBsaWJyYXJ5XShodHRwczovL2dpdGh1Yi5jb20vZGF0ZS1mbnMvZGF0ZS1mbnMvYmxvYi9tYXN0ZXIvZG9jcy91cGdyYWRlR3VpZGUubWQjQ29tbW9uLUNoYW5nZXMpLlxuICpcbiAqIEBwYXJhbSB7RGF0ZXxOdW1iZXJ9IGRhdGUgLSB0aGUgb3JpZ2luYWwgZGF0ZVxuICogQHJldHVybnMge0RhdGV9IHRoZSBlbmQgb2YgYSBtaW51dGVcbiAqIEB0aHJvd3Mge1R5cGVFcnJvcn0gMSBhcmd1bWVudCByZXF1aXJlZFxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBUaGUgZW5kIG9mIGEgbWludXRlIGZvciAxIERlY2VtYmVyIDIwMTQgMjI6MTU6NDUuNDAwOlxuICogdmFyIHJlc3VsdCA9IGVuZE9mTWludXRlKG5ldyBEYXRlKDIwMTQsIDExLCAxLCAyMiwgMTUsIDQ1LCA0MDApKVxuICogLy89PiBNb24gRGVjIDAxIDIwMTQgMjI6MTU6NTkuOTk5XG4gKi9cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZW5kT2ZNaW51dGUoZGlydHlEYXRlKSB7XG4gIGlmIChhcmd1bWVudHMubGVuZ3RoIDwgMSkge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJzEgYXJndW1lbnQgcmVxdWlyZWQsIGJ1dCBvbmx5ICcgKyBhcmd1bWVudHMubGVuZ3RoICsgJyBwcmVzZW50Jyk7XG4gIH1cblxuICB2YXIgZGF0ZSA9IHRvRGF0ZShkaXJ0eURhdGUpO1xuICBkYXRlLnNldFNlY29uZHMoNTksIDk5OSk7XG4gIHJldHVybiBkYXRlO1xufSJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/endOfMinute/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/endOfMonth/index.js": /*!*******************************************************!*\ !*** ./node_modules/date-fns/esm/endOfMonth/index.js ***! \*******************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return endOfMonth; });\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n\n/**\n * @name endOfMonth\n * @category Month Helpers\n * @summary Return the end of a month for the given date.\n *\n * @description\n * Return the end of a month for the given date.\n * The result will be in the local timezone.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the end of a month\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The end of a month for 2 September 2014 11:55:00:\n * var result = endOfMonth(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Tue Sep 30 2014 23:59:59.999\n */\n\nfunction endOfMonth(dirtyDate) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n var date = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate);\n var month = date.getMonth();\n date.setFullYear(date.getFullYear(), month + 1, 0);\n date.setHours(23, 59, 59, 999);\n return date;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2VuZE9mTW9udGgvaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2VuZE9mTW9udGgvaW5kZXguanM/OGNhYyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdG9EYXRlIGZyb20gJy4uL3RvRGF0ZS9pbmRleC5qcyc7XG4vKipcbiAqIEBuYW1lIGVuZE9mTW9udGhcbiAqIEBjYXRlZ29yeSBNb250aCBIZWxwZXJzXG4gKiBAc3VtbWFyeSBSZXR1cm4gdGhlIGVuZCBvZiBhIG1vbnRoIGZvciB0aGUgZ2l2ZW4gZGF0ZS5cbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIFJldHVybiB0aGUgZW5kIG9mIGEgbW9udGggZm9yIHRoZSBnaXZlbiBkYXRlLlxuICogVGhlIHJlc3VsdCB3aWxsIGJlIGluIHRoZSBsb2NhbCB0aW1lem9uZS5cbiAqXG4gKiAjIyMgdjIuMC4wIGJyZWFraW5nIGNoYW5nZXM6XG4gKlxuICogLSBbQ2hhbmdlcyB0aGF0IGFyZSBjb21tb24gZm9yIHRoZSB3aG9sZSBsaWJyYXJ5XShodHRwczovL2dpdGh1Yi5jb20vZGF0ZS1mbnMvZGF0ZS1mbnMvYmxvYi9tYXN0ZXIvZG9jcy91cGdyYWRlR3VpZGUubWQjQ29tbW9uLUNoYW5nZXMpLlxuICpcbiAqIEBwYXJhbSB7RGF0ZXxOdW1iZXJ9IGRhdGUgLSB0aGUgb3JpZ2luYWwgZGF0ZVxuICogQHJldHVybnMge0RhdGV9IHRoZSBlbmQgb2YgYSBtb250aFxuICogQHRocm93cyB7VHlwZUVycm9yfSAxIGFyZ3VtZW50IHJlcXVpcmVkXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIFRoZSBlbmQgb2YgYSBtb250aCBmb3IgMiBTZXB0ZW1iZXIgMjAxNCAxMTo1NTowMDpcbiAqIHZhciByZXN1bHQgPSBlbmRPZk1vbnRoKG5ldyBEYXRlKDIwMTQsIDgsIDIsIDExLCA1NSwgMCkpXG4gKiAvLz0+IFR1ZSBTZXAgMzAgMjAxNCAyMzo1OTo1OS45OTlcbiAqL1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBlbmRPZk1vbnRoKGRpcnR5RGF0ZSkge1xuICBpZiAoYXJndW1lbnRzLmxlbmd0aCA8IDEpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCcxIGFyZ3VtZW50IHJlcXVpcmVkLCBidXQgb25seSAnICsgYXJndW1lbnRzLmxlbmd0aCArICcgcHJlc2VudCcpO1xuICB9XG5cbiAgdmFyIGRhdGUgPSB0b0RhdGUoZGlydHlEYXRlKTtcbiAgdmFyIG1vbnRoID0gZGF0ZS5nZXRNb250aCgpO1xuICBkYXRlLnNldEZ1bGxZZWFyKGRhdGUuZ2V0RnVsbFllYXIoKSwgbW9udGggKyAxLCAwKTtcbiAgZGF0ZS5zZXRIb3VycygyMywgNTksIDU5LCA5OTkpO1xuICByZXR1cm4gZGF0ZTtcbn0iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/endOfMonth/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/endOfQuarter/index.js": /*!*********************************************************!*\ !*** ./node_modules/date-fns/esm/endOfQuarter/index.js ***! \*********************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return endOfQuarter; });\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n\n/**\n * @name endOfQuarter\n * @category Quarter Helpers\n * @summary Return the end of a year quarter for the given date.\n *\n * @description\n * Return the end of a year quarter for the given date.\n * The result will be in the local timezone.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the end of a quarter\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The end of a quarter for 2 September 2014 11:55:00:\n * var result = endOfQuarter(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Tue Sep 30 2014 23:59:59.999\n */\n\nfunction endOfQuarter(dirtyDate) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n var date = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate);\n var currentMonth = date.getMonth();\n var month = currentMonth - currentMonth % 3 + 3;\n date.setMonth(month, 0);\n date.setHours(23, 59, 59, 999);\n return date;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2VuZE9mUXVhcnRlci9pbmRleC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9kYXRlLWZucy9lc20vZW5kT2ZRdWFydGVyL2luZGV4LmpzP2FhMWYiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHRvRGF0ZSBmcm9tICcuLi90b0RhdGUvaW5kZXguanMnO1xuLyoqXG4gKiBAbmFtZSBlbmRPZlF1YXJ0ZXJcbiAqIEBjYXRlZ29yeSBRdWFydGVyIEhlbHBlcnNcbiAqIEBzdW1tYXJ5IFJldHVybiB0aGUgZW5kIG9mIGEgeWVhciBxdWFydGVyIGZvciB0aGUgZ2l2ZW4gZGF0ZS5cbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIFJldHVybiB0aGUgZW5kIG9mIGEgeWVhciBxdWFydGVyIGZvciB0aGUgZ2l2ZW4gZGF0ZS5cbiAqIFRoZSByZXN1bHQgd2lsbCBiZSBpbiB0aGUgbG9jYWwgdGltZXpvbmUuXG4gKlxuICogIyMjIHYyLjAuMCBicmVha2luZyBjaGFuZ2VzOlxuICpcbiAqIC0gW0NoYW5nZXMgdGhhdCBhcmUgY29tbW9uIGZvciB0aGUgd2hvbGUgbGlicmFyeV0oaHR0cHM6Ly9naXRodWIuY29tL2RhdGUtZm5zL2RhdGUtZm5zL2Jsb2IvbWFzdGVyL2RvY3MvdXBncmFkZUd1aWRlLm1kI0NvbW1vbi1DaGFuZ2VzKS5cbiAqXG4gKiBAcGFyYW0ge0RhdGV8TnVtYmVyfSBkYXRlIC0gdGhlIG9yaWdpbmFsIGRhdGVcbiAqIEByZXR1cm5zIHtEYXRlfSB0aGUgZW5kIG9mIGEgcXVhcnRlclxuICogQHRocm93cyB7VHlwZUVycm9yfSAxIGFyZ3VtZW50IHJlcXVpcmVkXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIFRoZSBlbmQgb2YgYSBxdWFydGVyIGZvciAyIFNlcHRlbWJlciAyMDE0IDExOjU1OjAwOlxuICogdmFyIHJlc3VsdCA9IGVuZE9mUXVhcnRlcihuZXcgRGF0ZSgyMDE0LCA4LCAyLCAxMSwgNTUsIDApKVxuICogLy89PiBUdWUgU2VwIDMwIDIwMTQgMjM6NTk6NTkuOTk5XG4gKi9cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZW5kT2ZRdWFydGVyKGRpcnR5RGF0ZSkge1xuICBpZiAoYXJndW1lbnRzLmxlbmd0aCA8IDEpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCcxIGFyZ3VtZW50IHJlcXVpcmVkLCBidXQgb25seSAnICsgYXJndW1lbnRzLmxlbmd0aCArICcgcHJlc2VudCcpO1xuICB9XG5cbiAgdmFyIGRhdGUgPSB0b0RhdGUoZGlydHlEYXRlKTtcbiAgdmFyIGN1cnJlbnRNb250aCA9IGRhdGUuZ2V0TW9udGgoKTtcbiAgdmFyIG1vbnRoID0gY3VycmVudE1vbnRoIC0gY3VycmVudE1vbnRoICUgMyArIDM7XG4gIGRhdGUuc2V0TW9udGgobW9udGgsIDApO1xuICBkYXRlLnNldEhvdXJzKDIzLCA1OSwgNTksIDk5OSk7XG4gIHJldHVybiBkYXRlO1xufSJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/endOfQuarter/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/endOfSecond/index.js": /*!********************************************************!*\ !*** ./node_modules/date-fns/esm/endOfSecond/index.js ***! \********************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return endOfSecond; });\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n\n/**\n * @name endOfSecond\n * @category Second Helpers\n * @summary Return the end of a second for the given date.\n *\n * @description\n * Return the end of a second for the given date.\n * The result will be in the local timezone.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the end of a second\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The end of a second for 1 December 2014 22:15:45.400:\n * var result = endOfSecond(new Date(2014, 11, 1, 22, 15, 45, 400))\n * //=> Mon Dec 01 2014 22:15:45.999\n */\n\nfunction endOfSecond(dirtyDate) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n var date = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate);\n date.setMilliseconds(999);\n return date;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2VuZE9mU2Vjb25kL2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2VzbS9lbmRPZlNlY29uZC9pbmRleC5qcz8zZDZiIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0b0RhdGUgZnJvbSAnLi4vdG9EYXRlL2luZGV4LmpzJztcbi8qKlxuICogQG5hbWUgZW5kT2ZTZWNvbmRcbiAqIEBjYXRlZ29yeSBTZWNvbmQgSGVscGVyc1xuICogQHN1bW1hcnkgUmV0dXJuIHRoZSBlbmQgb2YgYSBzZWNvbmQgZm9yIHRoZSBnaXZlbiBkYXRlLlxuICpcbiAqIEBkZXNjcmlwdGlvblxuICogUmV0dXJuIHRoZSBlbmQgb2YgYSBzZWNvbmQgZm9yIHRoZSBnaXZlbiBkYXRlLlxuICogVGhlIHJlc3VsdCB3aWxsIGJlIGluIHRoZSBsb2NhbCB0aW1lem9uZS5cbiAqXG4gKiAjIyMgdjIuMC4wIGJyZWFraW5nIGNoYW5nZXM6XG4gKlxuICogLSBbQ2hhbmdlcyB0aGF0IGFyZSBjb21tb24gZm9yIHRoZSB3aG9sZSBsaWJyYXJ5XShodHRwczovL2dpdGh1Yi5jb20vZGF0ZS1mbnMvZGF0ZS1mbnMvYmxvYi9tYXN0ZXIvZG9jcy91cGdyYWRlR3VpZGUubWQjQ29tbW9uLUNoYW5nZXMpLlxuICpcbiAqIEBwYXJhbSB7RGF0ZXxOdW1iZXJ9IGRhdGUgLSB0aGUgb3JpZ2luYWwgZGF0ZVxuICogQHJldHVybnMge0RhdGV9IHRoZSBlbmQgb2YgYSBzZWNvbmRcbiAqIEB0aHJvd3Mge1R5cGVFcnJvcn0gMSBhcmd1bWVudCByZXF1aXJlZFxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBUaGUgZW5kIG9mIGEgc2Vjb25kIGZvciAxIERlY2VtYmVyIDIwMTQgMjI6MTU6NDUuNDAwOlxuICogdmFyIHJlc3VsdCA9IGVuZE9mU2Vjb25kKG5ldyBEYXRlKDIwMTQsIDExLCAxLCAyMiwgMTUsIDQ1LCA0MDApKVxuICogLy89PiBNb24gRGVjIDAxIDIwMTQgMjI6MTU6NDUuOTk5XG4gKi9cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZW5kT2ZTZWNvbmQoZGlydHlEYXRlKSB7XG4gIGlmIChhcmd1bWVudHMubGVuZ3RoIDwgMSkge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJzEgYXJndW1lbnQgcmVxdWlyZWQsIGJ1dCBvbmx5ICcgKyBhcmd1bWVudHMubGVuZ3RoICsgJyBwcmVzZW50Jyk7XG4gIH1cblxuICB2YXIgZGF0ZSA9IHRvRGF0ZShkaXJ0eURhdGUpO1xuICBkYXRlLnNldE1pbGxpc2Vjb25kcyg5OTkpO1xuICByZXR1cm4gZGF0ZTtcbn0iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/endOfSecond/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/endOfToday/index.js": /*!*******************************************************!*\ !*** ./node_modules/date-fns/esm/endOfToday/index.js ***! \*******************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return endOfToday; });\n/* harmony import */ var _endOfDay_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../endOfDay/index.js */ \"./node_modules/date-fns/esm/endOfDay/index.js\");\n\n/**\n * @name endOfToday\n * @category Day Helpers\n * @summary Return the end of today.\n * @pure false\n *\n * @description\n * Return the end of today.\n *\n * > ⚠️ Please note that this function is not present in the FP submodule as\n * > it uses `Date.now()` internally hence impure and can't be safely curried.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @returns {Date} the end of today\n *\n * @example\n * // If today is 6 October 2014:\n * var result = endOfToday()\n * //=> Mon Oct 6 2014 23:59:59.999\n */\n\nfunction endOfToday() {\n return Object(_endOfDay_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Date.now());\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2VuZE9mVG9kYXkvaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2VuZE9mVG9kYXkvaW5kZXguanM/OTZmZCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZW5kT2ZEYXkgZnJvbSAnLi4vZW5kT2ZEYXkvaW5kZXguanMnO1xuLyoqXG4gKiBAbmFtZSBlbmRPZlRvZGF5XG4gKiBAY2F0ZWdvcnkgRGF5IEhlbHBlcnNcbiAqIEBzdW1tYXJ5IFJldHVybiB0aGUgZW5kIG9mIHRvZGF5LlxuICogQHB1cmUgZmFsc2VcbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIFJldHVybiB0aGUgZW5kIG9mIHRvZGF5LlxuICpcbiAqID4g4pqg77iPIFBsZWFzZSBub3RlIHRoYXQgdGhpcyBmdW5jdGlvbiBpcyBub3QgcHJlc2VudCBpbiB0aGUgRlAgc3VibW9kdWxlIGFzXG4gKiA+IGl0IHVzZXMgYERhdGUubm93KClgIGludGVybmFsbHkgaGVuY2UgaW1wdXJlIGFuZCBjYW4ndCBiZSBzYWZlbHkgY3VycmllZC5cbiAqXG4gKiAjIyMgdjIuMC4wIGJyZWFraW5nIGNoYW5nZXM6XG4gKlxuICogLSBbQ2hhbmdlcyB0aGF0IGFyZSBjb21tb24gZm9yIHRoZSB3aG9sZSBsaWJyYXJ5XShodHRwczovL2dpdGh1Yi5jb20vZGF0ZS1mbnMvZGF0ZS1mbnMvYmxvYi9tYXN0ZXIvZG9jcy91cGdyYWRlR3VpZGUubWQjQ29tbW9uLUNoYW5nZXMpLlxuICpcbiAqIEByZXR1cm5zIHtEYXRlfSB0aGUgZW5kIG9mIHRvZGF5XG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIElmIHRvZGF5IGlzIDYgT2N0b2JlciAyMDE0OlxuICogdmFyIHJlc3VsdCA9IGVuZE9mVG9kYXkoKVxuICogLy89PiBNb24gT2N0IDYgMjAxNCAyMzo1OTo1OS45OTlcbiAqL1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBlbmRPZlRvZGF5KCkge1xuICByZXR1cm4gZW5kT2ZEYXkoRGF0ZS5ub3coKSk7XG59Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/endOfToday/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/endOfTomorrow/index.js": /*!**********************************************************!*\ !*** ./node_modules/date-fns/esm/endOfTomorrow/index.js ***! \**********************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return endOfTomorrow; });\n/**\n * @name endOfTomorrow\n * @category Day Helpers\n * @summary Return the end of tomorrow.\n * @pure false\n *\n * @description\n * Return the end of tomorrow.\n *\n * > ⚠️ Please note that this function is not present in the FP submodule as\n * > it uses `Date.now()` internally hence impure and can't be safely curried.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @returns {Date} the end of tomorrow\n *\n * @example\n * // If today is 6 October 2014:\n * var result = endOfTomorrow()\n * //=> Tue Oct 7 2014 23:59:59.999\n */\nfunction endOfTomorrow() {\n var now = new Date();\n var year = now.getFullYear();\n var month = now.getMonth();\n var day = now.getDate();\n var date = new Date(0);\n date.setFullYear(year, month, day + 1);\n date.setHours(23, 59, 59, 999);\n return date;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2VuZE9mVG9tb3Jyb3cvaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2VuZE9mVG9tb3Jyb3cvaW5kZXguanM/NjBlYiJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBuYW1lIGVuZE9mVG9tb3Jyb3dcbiAqIEBjYXRlZ29yeSBEYXkgSGVscGVyc1xuICogQHN1bW1hcnkgUmV0dXJuIHRoZSBlbmQgb2YgdG9tb3Jyb3cuXG4gKiBAcHVyZSBmYWxzZVxuICpcbiAqIEBkZXNjcmlwdGlvblxuICogUmV0dXJuIHRoZSBlbmQgb2YgdG9tb3Jyb3cuXG4gKlxuICogPiDimqDvuI8gUGxlYXNlIG5vdGUgdGhhdCB0aGlzIGZ1bmN0aW9uIGlzIG5vdCBwcmVzZW50IGluIHRoZSBGUCBzdWJtb2R1bGUgYXNcbiAqID4gaXQgdXNlcyBgRGF0ZS5ub3coKWAgaW50ZXJuYWxseSBoZW5jZSBpbXB1cmUgYW5kIGNhbid0IGJlIHNhZmVseSBjdXJyaWVkLlxuICpcbiAqICMjIyB2Mi4wLjAgYnJlYWtpbmcgY2hhbmdlczpcbiAqXG4gKiAtIFtDaGFuZ2VzIHRoYXQgYXJlIGNvbW1vbiBmb3IgdGhlIHdob2xlIGxpYnJhcnldKGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRlLWZucy9kYXRlLWZucy9ibG9iL21hc3Rlci9kb2NzL3VwZ3JhZGVHdWlkZS5tZCNDb21tb24tQ2hhbmdlcykuXG4gKlxuICogQHJldHVybnMge0RhdGV9IHRoZSBlbmQgb2YgdG9tb3Jyb3dcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gSWYgdG9kYXkgaXMgNiBPY3RvYmVyIDIwMTQ6XG4gKiB2YXIgcmVzdWx0ID0gZW5kT2ZUb21vcnJvdygpXG4gKiAvLz0+IFR1ZSBPY3QgNyAyMDE0IDIzOjU5OjU5Ljk5OVxuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBlbmRPZlRvbW9ycm93KCkge1xuICB2YXIgbm93ID0gbmV3IERhdGUoKTtcbiAgdmFyIHllYXIgPSBub3cuZ2V0RnVsbFllYXIoKTtcbiAgdmFyIG1vbnRoID0gbm93LmdldE1vbnRoKCk7XG4gIHZhciBkYXkgPSBub3cuZ2V0RGF0ZSgpO1xuICB2YXIgZGF0ZSA9IG5ldyBEYXRlKDApO1xuICBkYXRlLnNldEZ1bGxZZWFyKHllYXIsIG1vbnRoLCBkYXkgKyAxKTtcbiAgZGF0ZS5zZXRIb3VycygyMywgNTksIDU5LCA5OTkpO1xuICByZXR1cm4gZGF0ZTtcbn0iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/endOfTomorrow/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/endOfWeek/index.js": /*!******************************************************!*\ !*** ./node_modules/date-fns/esm/endOfWeek/index.js ***! \******************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return endOfWeek; });\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n/* harmony import */ var _lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../_lib/toInteger/index.js */ \"./node_modules/date-fns/esm/_lib/toInteger/index.js\");\n\n\n/**\n * @name endOfWeek\n * @category Week Helpers\n * @summary Return the end of a week for the given date.\n *\n * @description\n * Return the end of a week for the given date.\n * The result will be in the local timezone.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the original date\n * @param {Object} [options] - an object with options.\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\n * @returns {Date} the end of a week\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6\n *\n * @example\n * // The end of a week for 2 September 2014 11:55:00:\n * var result = endOfWeek(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Sat Sep 06 2014 23:59:59.999\n *\n * @example\n * // If the week starts on Monday, the end of the week for 2 September 2014 11:55:00:\n * var result = endOfWeek(new Date(2014, 8, 2, 11, 55, 0), { weekStartsOn: 1 })\n * //=> Sun Sep 07 2014 23:59:59.999\n */\n\nfunction endOfWeek(dirtyDate, dirtyOptions) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n var options = dirtyOptions || {};\n var locale = options.locale;\n var localeWeekStartsOn = locale && locale.options && locale.options.weekStartsOn;\n var defaultWeekStartsOn = localeWeekStartsOn == null ? 0 : Object(_lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(localeWeekStartsOn);\n var weekStartsOn = options.weekStartsOn == null ? defaultWeekStartsOn : Object(_lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(options.weekStartsOn); // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\n\n if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\n throw new RangeError('weekStartsOn must be between 0 and 6 inclusively');\n }\n\n var date = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate);\n var day = date.getDay();\n var diff = (day < weekStartsOn ? -7 : 0) + 6 - (day - weekStartsOn);\n date.setDate(date.getDate() + diff);\n date.setHours(23, 59, 59, 999);\n return date;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2VuZE9mV2Vlay9pbmRleC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9kYXRlLWZucy9lc20vZW5kT2ZXZWVrL2luZGV4LmpzPzJmYzgiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHRvRGF0ZSBmcm9tICcuLi90b0RhdGUvaW5kZXguanMnO1xuaW1wb3J0IHRvSW50ZWdlciBmcm9tICcuLi9fbGliL3RvSW50ZWdlci9pbmRleC5qcyc7XG4vKipcbiAqIEBuYW1lIGVuZE9mV2Vla1xuICogQGNhdGVnb3J5IFdlZWsgSGVscGVyc1xuICogQHN1bW1hcnkgUmV0dXJuIHRoZSBlbmQgb2YgYSB3ZWVrIGZvciB0aGUgZ2l2ZW4gZGF0ZS5cbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIFJldHVybiB0aGUgZW5kIG9mIGEgd2VlayBmb3IgdGhlIGdpdmVuIGRhdGUuXG4gKiBUaGUgcmVzdWx0IHdpbGwgYmUgaW4gdGhlIGxvY2FsIHRpbWV6b25lLlxuICpcbiAqICMjIyB2Mi4wLjAgYnJlYWtpbmcgY2hhbmdlczpcbiAqXG4gKiAtIFtDaGFuZ2VzIHRoYXQgYXJlIGNvbW1vbiBmb3IgdGhlIHdob2xlIGxpYnJhcnldKGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRlLWZucy9kYXRlLWZucy9ibG9iL21hc3Rlci9kb2NzL3VwZ3JhZGVHdWlkZS5tZCNDb21tb24tQ2hhbmdlcykuXG4gKlxuICogQHBhcmFtIHtEYXRlfE51bWJlcn0gZGF0ZSAtIHRoZSBvcmlnaW5hbCBkYXRlXG4gKiBAcGFyYW0ge09iamVjdH0gW29wdGlvbnNdIC0gYW4gb2JqZWN0IHdpdGggb3B0aW9ucy5cbiAqIEBwYXJhbSB7TG9jYWxlfSBbb3B0aW9ucy5sb2NhbGU9ZGVmYXVsdExvY2FsZV0gLSB0aGUgbG9jYWxlIG9iamVjdC4gU2VlIFtMb2NhbGVde0BsaW5rIGh0dHBzOi8vZGF0ZS1mbnMub3JnL2RvY3MvTG9jYWxlfVxuICogQHBhcmFtIHswfDF8MnwzfDR8NXw2fSBbb3B0aW9ucy53ZWVrU3RhcnRzT249MF0gLSB0aGUgaW5kZXggb2YgdGhlIGZpcnN0IGRheSBvZiB0aGUgd2VlayAoMCAtIFN1bmRheSlcbiAqIEByZXR1cm5zIHtEYXRlfSB0aGUgZW5kIG9mIGEgd2Vla1xuICogQHRocm93cyB7VHlwZUVycm9yfSAxIGFyZ3VtZW50IHJlcXVpcmVkXG4gKiBAdGhyb3dzIHtSYW5nZUVycm9yfSBgb3B0aW9ucy53ZWVrU3RhcnRzT25gIG11c3QgYmUgYmV0d2VlbiAwIGFuZCA2XG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIFRoZSBlbmQgb2YgYSB3ZWVrIGZvciAyIFNlcHRlbWJlciAyMDE0IDExOjU1OjAwOlxuICogdmFyIHJlc3VsdCA9IGVuZE9mV2VlayhuZXcgRGF0ZSgyMDE0LCA4LCAyLCAxMSwgNTUsIDApKVxuICogLy89PiBTYXQgU2VwIDA2IDIwMTQgMjM6NTk6NTkuOTk5XG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIElmIHRoZSB3ZWVrIHN0YXJ0cyBvbiBNb25kYXksIHRoZSBlbmQgb2YgdGhlIHdlZWsgZm9yIDIgU2VwdGVtYmVyIDIwMTQgMTE6NTU6MDA6XG4gKiB2YXIgcmVzdWx0ID0gZW5kT2ZXZWVrKG5ldyBEYXRlKDIwMTQsIDgsIDIsIDExLCA1NSwgMCksIHsgd2Vla1N0YXJ0c09uOiAxIH0pXG4gKiAvLz0+IFN1biBTZXAgMDcgMjAxNCAyMzo1OTo1OS45OTlcbiAqL1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBlbmRPZldlZWsoZGlydHlEYXRlLCBkaXJ0eU9wdGlvbnMpIHtcbiAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPCAxKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignMSBhcmd1bWVudCByZXF1aXJlZCwgYnV0IG9ubHkgJyArIGFyZ3VtZW50cy5sZW5ndGggKyAnIHByZXNlbnQnKTtcbiAgfVxuXG4gIHZhciBvcHRpb25zID0gZGlydHlPcHRpb25zIHx8IHt9O1xuICB2YXIgbG9jYWxlID0gb3B0aW9ucy5sb2NhbGU7XG4gIHZhciBsb2NhbGVXZWVrU3RhcnRzT24gPSBsb2NhbGUgJiYgbG9jYWxlLm9wdGlvbnMgJiYgbG9jYWxlLm9wdGlvbnMud2Vla1N0YXJ0c09uO1xuICB2YXIgZGVmYXVsdFdlZWtTdGFydHNPbiA9IGxvY2FsZVdlZWtTdGFydHNPbiA9PSBudWxsID8gMCA6IHRvSW50ZWdlcihsb2NhbGVXZWVrU3RhcnRzT24pO1xuICB2YXIgd2Vla1N0YXJ0c09uID0gb3B0aW9ucy53ZWVrU3RhcnRzT24gPT0gbnVsbCA/IGRlZmF1bHRXZWVrU3RhcnRzT24gOiB0b0ludGVnZXIob3B0aW9ucy53ZWVrU3RhcnRzT24pOyAvLyBUZXN0IGlmIHdlZWtTdGFydHNPbiBpcyBiZXR3ZWVuIDAgYW5kIDYgX2FuZF8gaXMgbm90IE5hTlxuXG4gIGlmICghKHdlZWtTdGFydHNPbiA+PSAwICYmIHdlZWtTdGFydHNPbiA8PSA2KSkge1xuICAgIHRocm93IG5ldyBSYW5nZUVycm9yKCd3ZWVrU3RhcnRzT24gbXVzdCBiZSBiZXR3ZWVuIDAgYW5kIDYgaW5jbHVzaXZlbHknKTtcbiAgfVxuXG4gIHZhciBkYXRlID0gdG9EYXRlKGRpcnR5RGF0ZSk7XG4gIHZhciBkYXkgPSBkYXRlLmdldERheSgpO1xuICB2YXIgZGlmZiA9IChkYXkgPCB3ZWVrU3RhcnRzT24gPyAtNyA6IDApICsgNiAtIChkYXkgLSB3ZWVrU3RhcnRzT24pO1xuICBkYXRlLnNldERhdGUoZGF0ZS5nZXREYXRlKCkgKyBkaWZmKTtcbiAgZGF0ZS5zZXRIb3VycygyMywgNTksIDU5LCA5OTkpO1xuICByZXR1cm4gZGF0ZTtcbn0iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/endOfWeek/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/endOfYear/index.js": /*!******************************************************!*\ !*** ./node_modules/date-fns/esm/endOfYear/index.js ***! \******************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return endOfYear; });\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n\n/**\n * @name endOfYear\n * @category Year Helpers\n * @summary Return the end of a year for the given date.\n *\n * @description\n * Return the end of a year for the given date.\n * The result will be in the local timezone.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the end of a year\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The end of a year for 2 September 2014 11:55:00:\n * var result = endOfYear(new Date(2014, 8, 2, 11, 55, 00))\n * //=> Wed Dec 31 2014 23:59:59.999\n */\n\nfunction endOfYear(dirtyDate) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n var date = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate);\n var year = date.getFullYear();\n date.setFullYear(year + 1, 0, 0);\n date.setHours(23, 59, 59, 999);\n return date;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2VuZE9mWWVhci9pbmRleC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9kYXRlLWZucy9lc20vZW5kT2ZZZWFyL2luZGV4LmpzPzFhYWIiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHRvRGF0ZSBmcm9tICcuLi90b0RhdGUvaW5kZXguanMnO1xuLyoqXG4gKiBAbmFtZSBlbmRPZlllYXJcbiAqIEBjYXRlZ29yeSBZZWFyIEhlbHBlcnNcbiAqIEBzdW1tYXJ5IFJldHVybiB0aGUgZW5kIG9mIGEgeWVhciBmb3IgdGhlIGdpdmVuIGRhdGUuXG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKiBSZXR1cm4gdGhlIGVuZCBvZiBhIHllYXIgZm9yIHRoZSBnaXZlbiBkYXRlLlxuICogVGhlIHJlc3VsdCB3aWxsIGJlIGluIHRoZSBsb2NhbCB0aW1lem9uZS5cbiAqXG4gKiAjIyMgdjIuMC4wIGJyZWFraW5nIGNoYW5nZXM6XG4gKlxuICogLSBbQ2hhbmdlcyB0aGF0IGFyZSBjb21tb24gZm9yIHRoZSB3aG9sZSBsaWJyYXJ5XShodHRwczovL2dpdGh1Yi5jb20vZGF0ZS1mbnMvZGF0ZS1mbnMvYmxvYi9tYXN0ZXIvZG9jcy91cGdyYWRlR3VpZGUubWQjQ29tbW9uLUNoYW5nZXMpLlxuICpcbiAqIEBwYXJhbSB7RGF0ZXxOdW1iZXJ9IGRhdGUgLSB0aGUgb3JpZ2luYWwgZGF0ZVxuICogQHJldHVybnMge0RhdGV9IHRoZSBlbmQgb2YgYSB5ZWFyXG4gKiBAdGhyb3dzIHtUeXBlRXJyb3J9IDEgYXJndW1lbnQgcmVxdWlyZWRcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gVGhlIGVuZCBvZiBhIHllYXIgZm9yIDIgU2VwdGVtYmVyIDIwMTQgMTE6NTU6MDA6XG4gKiB2YXIgcmVzdWx0ID0gZW5kT2ZZZWFyKG5ldyBEYXRlKDIwMTQsIDgsIDIsIDExLCA1NSwgMDApKVxuICogLy89PiBXZWQgRGVjIDMxIDIwMTQgMjM6NTk6NTkuOTk5XG4gKi9cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZW5kT2ZZZWFyKGRpcnR5RGF0ZSkge1xuICBpZiAoYXJndW1lbnRzLmxlbmd0aCA8IDEpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCcxIGFyZ3VtZW50IHJlcXVpcmVkLCBidXQgb25seSAnICsgYXJndW1lbnRzLmxlbmd0aCArICcgcHJlc2VudCcpO1xuICB9XG5cbiAgdmFyIGRhdGUgPSB0b0RhdGUoZGlydHlEYXRlKTtcbiAgdmFyIHllYXIgPSBkYXRlLmdldEZ1bGxZZWFyKCk7XG4gIGRhdGUuc2V0RnVsbFllYXIoeWVhciArIDEsIDAsIDApO1xuICBkYXRlLnNldEhvdXJzKDIzLCA1OSwgNTksIDk5OSk7XG4gIHJldHVybiBkYXRlO1xufSJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/endOfYear/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/endOfYesterday/index.js": /*!***********************************************************!*\ !*** ./node_modules/date-fns/esm/endOfYesterday/index.js ***! \***********************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return endOfYesterday; });\n/**\n * @name endOfYesterday\n * @category Day Helpers\n * @summary Return the end of yesterday.\n * @pure false\n *\n * @description\n * Return the end of yesterday.\n *\n * > ⚠️ Please note that this function is not present in the FP submodule as\n * > it uses `Date.now()` internally hence impure and can't be safely curried.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @returns {Date} the end of yesterday\n *\n * @example\n * // If today is 6 October 2014:\n * var result = endOfYesterday()\n * //=> Sun Oct 5 2014 23:59:59.999\n */\nfunction endOfYesterday() {\n var now = new Date();\n var year = now.getFullYear();\n var month = now.getMonth();\n var day = now.getDate();\n var date = new Date(0);\n date.setFullYear(year, month, day - 1);\n date.setHours(23, 59, 59, 999);\n return date;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2VuZE9mWWVzdGVyZGF5L2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2VzbS9lbmRPZlllc3RlcmRheS9pbmRleC5qcz82Y2E3Il0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQG5hbWUgZW5kT2ZZZXN0ZXJkYXlcbiAqIEBjYXRlZ29yeSBEYXkgSGVscGVyc1xuICogQHN1bW1hcnkgUmV0dXJuIHRoZSBlbmQgb2YgeWVzdGVyZGF5LlxuICogQHB1cmUgZmFsc2VcbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIFJldHVybiB0aGUgZW5kIG9mIHllc3RlcmRheS5cbiAqXG4gKiA+IOKaoO+4jyBQbGVhc2Ugbm90ZSB0aGF0IHRoaXMgZnVuY3Rpb24gaXMgbm90IHByZXNlbnQgaW4gdGhlIEZQIHN1Ym1vZHVsZSBhc1xuICogPiBpdCB1c2VzIGBEYXRlLm5vdygpYCBpbnRlcm5hbGx5IGhlbmNlIGltcHVyZSBhbmQgY2FuJ3QgYmUgc2FmZWx5IGN1cnJpZWQuXG4gKlxuICogIyMjIHYyLjAuMCBicmVha2luZyBjaGFuZ2VzOlxuICpcbiAqIC0gW0NoYW5nZXMgdGhhdCBhcmUgY29tbW9uIGZvciB0aGUgd2hvbGUgbGlicmFyeV0oaHR0cHM6Ly9naXRodWIuY29tL2RhdGUtZm5zL2RhdGUtZm5zL2Jsb2IvbWFzdGVyL2RvY3MvdXBncmFkZUd1aWRlLm1kI0NvbW1vbi1DaGFuZ2VzKS5cbiAqXG4gKiBAcmV0dXJucyB7RGF0ZX0gdGhlIGVuZCBvZiB5ZXN0ZXJkYXlcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gSWYgdG9kYXkgaXMgNiBPY3RvYmVyIDIwMTQ6XG4gKiB2YXIgcmVzdWx0ID0gZW5kT2ZZZXN0ZXJkYXkoKVxuICogLy89PiBTdW4gT2N0IDUgMjAxNCAyMzo1OTo1OS45OTlcbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZW5kT2ZZZXN0ZXJkYXkoKSB7XG4gIHZhciBub3cgPSBuZXcgRGF0ZSgpO1xuICB2YXIgeWVhciA9IG5vdy5nZXRGdWxsWWVhcigpO1xuICB2YXIgbW9udGggPSBub3cuZ2V0TW9udGgoKTtcbiAgdmFyIGRheSA9IG5vdy5nZXREYXRlKCk7XG4gIHZhciBkYXRlID0gbmV3IERhdGUoMCk7XG4gIGRhdGUuc2V0RnVsbFllYXIoeWVhciwgbW9udGgsIGRheSAtIDEpO1xuICBkYXRlLnNldEhvdXJzKDIzLCA1OSwgNTksIDk5OSk7XG4gIHJldHVybiBkYXRlO1xufSJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/endOfYesterday/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/format/index.js": /*!***************************************************!*\ !*** ./node_modules/date-fns/esm/format/index.js ***! \***************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return format; });\n/* harmony import */ var _isValid_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../isValid/index.js */ \"./node_modules/date-fns/esm/isValid/index.js\");\n/* harmony import */ var _locale_en_US_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../locale/en-US/index.js */ \"./node_modules/date-fns/esm/locale/en-US/index.js\");\n/* harmony import */ var _subMilliseconds_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../subMilliseconds/index.js */ \"./node_modules/date-fns/esm/subMilliseconds/index.js\");\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n/* harmony import */ var _lib_format_formatters_index_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../_lib/format/formatters/index.js */ \"./node_modules/date-fns/esm/_lib/format/formatters/index.js\");\n/* harmony import */ var _lib_format_longFormatters_index_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../_lib/format/longFormatters/index.js */ \"./node_modules/date-fns/esm/_lib/format/longFormatters/index.js\");\n/* harmony import */ var _lib_getTimezoneOffsetInMilliseconds_index_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../_lib/getTimezoneOffsetInMilliseconds/index.js */ \"./node_modules/date-fns/esm/_lib/getTimezoneOffsetInMilliseconds/index.js\");\n/* harmony import */ var _lib_protectedTokens_index_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../_lib/protectedTokens/index.js */ \"./node_modules/date-fns/esm/_lib/protectedTokens/index.js\");\n/* harmony import */ var _lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../_lib/toInteger/index.js */ \"./node_modules/date-fns/esm/_lib/toInteger/index.js\");\n\n\n\n\n\n\n\n\n // This RegExp consists of three parts separated by `|`:\n// - [yYQqMLwIdDecihHKkms]o matches any available ordinal number token\n// (one of the certain letters followed by `o`)\n// - (\\w)\\1* matches any sequences of the same letter\n// - '' matches two quote characters in a row\n// - '(''|[^'])+('|$) matches anything surrounded by two quote characters ('),\n// except a single quote symbol, which ends the sequence.\n// Two quote characters do not end the sequence.\n// If there is no matching single quote\n// then the sequence will continue until the end of the string.\n// - . matches any single character unmatched by previous parts of the RegExps\n\nvar formattingTokensRegExp = /[yYQqMLwIdDecihHKkms]o|(\\w)\\1*|''|'(''|[^'])+('|$)|./g; // This RegExp catches symbols escaped by quotes, and also\n// sequences of symbols P, p, and the combinations like `PPPPPPPppppp`\n\nvar longFormattingTokensRegExp = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g;\nvar escapedStringRegExp = /^'(.*?)'?$/;\nvar doubleQuoteRegExp = /''/g;\nvar unescapedLatinCharacterRegExp = /[a-zA-Z]/;\n/**\n * @name format\n * @category Common Helpers\n * @summary Format the date.\n *\n * @description\n * Return the formatted date string in the given format. The result may vary by locale.\n *\n * > ⚠️ Please note that the `format` tokens differ from Moment.js and other libraries.\n * > See: https://git.io/fxCyr\n *\n * The characters wrapped between two single quotes characters (') are escaped.\n * Two single quotes in a row, whether inside or outside a quoted sequence, represent a 'real' single quote.\n * (see the last example)\n *\n * Format of the string is based on Unicode Technical Standard #35:\n * https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * with a few additions (see note 7 below the table).\n *\n * Accepted patterns:\n * | Unit | Pattern | Result examples | Notes |\n * |---------------------------------|---------|-----------------------------------|-------|\n * | Era | G..GGG | AD, BC | |\n * | | GGGG | Anno Domini, Before Christ | 2 |\n * | | GGGGG | A, B | |\n * | Calendar year | y | 44, 1, 1900, 2017 | 5 |\n * | | yo | 44th, 1st, 0th, 17th | 5,7 |\n * | | yy | 44, 01, 00, 17 | 5 |\n * | | yyy | 044, 001, 1900, 2017 | 5 |\n * | | yyyy | 0044, 0001, 1900, 2017 | 5 |\n * | | yyyyy | ... | 3,5 |\n * | Local week-numbering year | Y | 44, 1, 1900, 2017 | 5 |\n * | | Yo | 44th, 1st, 1900th, 2017th | 5,7 |\n * | | YY | 44, 01, 00, 17 | 5,8 |\n * | | YYY | 044, 001, 1900, 2017 | 5 |\n * | | YYYY | 0044, 0001, 1900, 2017 | 5,8 |\n * | | YYYYY | ... | 3,5 |\n * | ISO week-numbering year | R | -43, 0, 1, 1900, 2017 | 5,7 |\n * | | RR | -43, 00, 01, 1900, 2017 | 5,7 |\n * | | RRR | -043, 000, 001, 1900, 2017 | 5,7 |\n * | | RRRR | -0043, 0000, 0001, 1900, 2017 | 5,7 |\n * | | RRRRR | ... | 3,5,7 |\n * | Extended year | u | -43, 0, 1, 1900, 2017 | 5 |\n * | | uu | -43, 01, 1900, 2017 | 5 |\n * | | uuu | -043, 001, 1900, 2017 | 5 |\n * | | uuuu | -0043, 0001, 1900, 2017 | 5 |\n * | | uuuuu | ... | 3,5 |\n * | Quarter (formatting) | Q | 1, 2, 3, 4 | |\n * | | Qo | 1st, 2nd, 3rd, 4th | 7 |\n * | | QQ | 01, 02, 03, 04 | |\n * | | QQQ | Q1, Q2, Q3, Q4 | |\n * | | QQQQ | 1st quarter, 2nd quarter, ... | 2 |\n * | | QQQQQ | 1, 2, 3, 4 | 4 |\n * | Quarter (stand-alone) | q | 1, 2, 3, 4 | |\n * | | qo | 1st, 2nd, 3rd, 4th | 7 |\n * | | qq | 01, 02, 03, 04 | |\n * | | qqq | Q1, Q2, Q3, Q4 | |\n * | | qqqq | 1st quarter, 2nd quarter, ... | 2 |\n * | | qqqqq | 1, 2, 3, 4 | 4 |\n * | Month (formatting) | M | 1, 2, ..., 12 | |\n * | | Mo | 1st, 2nd, ..., 12th | 7 |\n * | | MM | 01, 02, ..., 12 | |\n * | | MMM | Jan, Feb, ..., Dec | |\n * | | MMMM | January, February, ..., December | 2 |\n * | | MMMMM | J, F, ..., D | |\n * | Month (stand-alone) | L | 1, 2, ..., 12 | |\n * | | Lo | 1st, 2nd, ..., 12th | 7 |\n * | | LL | 01, 02, ..., 12 | |\n * | | LLL | Jan, Feb, ..., Dec | |\n * | | LLLL | January, February, ..., December | 2 |\n * | | LLLLL | J, F, ..., D | |\n * | Local week of year | w | 1, 2, ..., 53 | |\n * | | wo | 1st, 2nd, ..., 53th | 7 |\n * | | ww | 01, 02, ..., 53 | |\n * | ISO week of year | I | 1, 2, ..., 53 | 7 |\n * | | Io | 1st, 2nd, ..., 53th | 7 |\n * | | II | 01, 02, ..., 53 | 7 |\n * | Day of month | d | 1, 2, ..., 31 | |\n * | | do | 1st, 2nd, ..., 31st | 7 |\n * | | dd | 01, 02, ..., 31 | |\n * | Day of year | D | 1, 2, ..., 365, 366 | 9 |\n * | | Do | 1st, 2nd, ..., 365th, 366th | 7 |\n * | | DD | 01, 02, ..., 365, 366 | 9 |\n * | | DDD | 001, 002, ..., 365, 366 | |\n * | | DDDD | ... | 3 |\n * | Day of week (formatting) | E..EEE | Mon, Tue, Wed, ..., Su | |\n * | | EEEE | Monday, Tuesday, ..., Sunday | 2 |\n * | | EEEEE | M, T, W, T, F, S, S | |\n * | | EEEEEE | Mo, Tu, We, Th, Fr, Su, Sa | |\n * | ISO day of week (formatting) | i | 1, 2, 3, ..., 7 | 7 |\n * | | io | 1st, 2nd, ..., 7th | 7 |\n * | | ii | 01, 02, ..., 07 | 7 |\n * | | iii | Mon, Tue, Wed, ..., Su | 7 |\n * | | iiii | Monday, Tuesday, ..., Sunday | 2,7 |\n * | | iiiii | M, T, W, T, F, S, S | 7 |\n * | | iiiiii | Mo, Tu, We, Th, Fr, Su, Sa | 7 |\n * | Local day of week (formatting) | e | 2, 3, 4, ..., 1 | |\n * | | eo | 2nd, 3rd, ..., 1st | 7 |\n * | | ee | 02, 03, ..., 01 | |\n * | | eee | Mon, Tue, Wed, ..., Su | |\n * | | eeee | Monday, Tuesday, ..., Sunday | 2 |\n * | | eeeee | M, T, W, T, F, S, S | |\n * | | eeeeee | Mo, Tu, We, Th, Fr, Su, Sa | |\n * | Local day of week (stand-alone) | c | 2, 3, 4, ..., 1 | |\n * | | co | 2nd, 3rd, ..., 1st | 7 |\n * | | cc | 02, 03, ..., 01 | |\n * | | ccc | Mon, Tue, Wed, ..., Su | |\n * | | cccc | Monday, Tuesday, ..., Sunday | 2 |\n * | | ccccc | M, T, W, T, F, S, S | |\n * | | cccccc | Mo, Tu, We, Th, Fr, Su, Sa | |\n * | AM, PM | a..aaa | AM, PM | |\n * | | aaaa | a.m., p.m. | 2 |\n * | | aaaaa | a, p | |\n * | AM, PM, noon, midnight | b..bbb | AM, PM, noon, midnight | |\n * | | bbbb | a.m., p.m., noon, midnight | 2 |\n * | | bbbbb | a, p, n, mi | |\n * | Flexible day period | B..BBB | at night, in the morning, ... | |\n * | | BBBB | at night, in the morning, ... | 2 |\n * | | BBBBB | at night, in the morning, ... | |\n * | Hour [1-12] | h | 1, 2, ..., 11, 12 | |\n * | | ho | 1st, 2nd, ..., 11th, 12th | 7 |\n * | | hh | 01, 02, ..., 11, 12 | |\n * | Hour [0-23] | H | 0, 1, 2, ..., 23 | |\n * | | Ho | 0th, 1st, 2nd, ..., 23rd | 7 |\n * | | HH | 00, 01, 02, ..., 23 | |\n * | Hour [0-11] | K | 1, 2, ..., 11, 0 | |\n * | | Ko | 1st, 2nd, ..., 11th, 0th | 7 |\n * | | KK | 1, 2, ..., 11, 0 | |\n * | Hour [1-24] | k | 24, 1, 2, ..., 23 | |\n * | | ko | 24th, 1st, 2nd, ..., 23rd | 7 |\n * | | kk | 24, 01, 02, ..., 23 | |\n * | Minute | m | 0, 1, ..., 59 | |\n * | | mo | 0th, 1st, ..., 59th | 7 |\n * | | mm | 00, 01, ..., 59 | |\n * | Second | s | 0, 1, ..., 59 | |\n * | | so | 0th, 1st, ..., 59th | 7 |\n * | | ss | 00, 01, ..., 59 | |\n * | Fraction of second | S | 0, 1, ..., 9 | |\n * | | SS | 00, 01, ..., 99 | |\n * | | SSS | 000, 0001, ..., 999 | |\n * | | SSSS | ... | 3 |\n * | Timezone (ISO-8601 w/ Z) | X | -08, +0530, Z | |\n * | | XX | -0800, +0530, Z | |\n * | | XXX | -08:00, +05:30, Z | |\n * | | XXXX | -0800, +0530, Z, +123456 | 2 |\n * | | XXXXX | -08:00, +05:30, Z, +12:34:56 | |\n * | Timezone (ISO-8601 w/o Z) | x | -08, +0530, +00 | |\n * | | xx | -0800, +0530, +0000 | |\n * | | xxx | -08:00, +05:30, +00:00 | 2 |\n * | | xxxx | -0800, +0530, +0000, +123456 | |\n * | | xxxxx | -08:00, +05:30, +00:00, +12:34:56 | |\n * | Timezone (GMT) | O...OOO | GMT-8, GMT+5:30, GMT+0 | |\n * | | OOOO | GMT-08:00, GMT+05:30, GMT+00:00 | 2 |\n * | Timezone (specific non-locat.) | z...zzz | GMT-8, GMT+5:30, GMT+0 | 6 |\n * | | zzzz | GMT-08:00, GMT+05:30, GMT+00:00 | 2,6 |\n * | Seconds timestamp | t | 512969520 | 7 |\n * | | tt | ... | 3,7 |\n * | Milliseconds timestamp | T | 512969520900 | 7 |\n * | | TT | ... | 3,7 |\n * | Long localized date | P | 05/29/1453 | 7 |\n * | | PP | May 29, 1453 | 7 |\n * | | PPP | May 29th, 1453 | 7 |\n * | | PPPP | Sunday, May 29th, 1453 | 2,7 |\n * | Long localized time | p | 12:00 AM | 7 |\n * | | pp | 12:00:00 AM | 7 |\n * | | ppp | 12:00:00 AM GMT+2 | 7 |\n * | | pppp | 12:00:00 AM GMT+02:00 | 2,7 |\n * | Combination of date and time | Pp | 05/29/1453, 12:00 AM | 7 |\n * | | PPpp | May 29, 1453, 12:00:00 AM | 7 |\n * | | PPPppp | May 29th, 1453 at ... | 7 |\n * | | PPPPpppp| Sunday, May 29th, 1453 at ... | 2,7 |\n * Notes:\n * 1. \"Formatting\" units (e.g. formatting quarter) in the default en-US locale\n * are the same as \"stand-alone\" units, but are different in some languages.\n * \"Formatting\" units are declined according to the rules of the language\n * in the context of a date. \"Stand-alone\" units are always nominative singular:\n *\n * `format(new Date(2017, 10, 6), 'do LLLL', {locale: cs}) //=> '6. listopad'`\n *\n * `format(new Date(2017, 10, 6), 'do MMMM', {locale: cs}) //=> '6. listopadu'`\n *\n * 2. Any sequence of the identical letters is a pattern, unless it is escaped by\n * the single quote characters (see below).\n * If the sequence is longer than listed in table (e.g. `EEEEEEEEEEE`)\n * the output will be the same as default pattern for this unit, usually\n * the longest one (in case of ISO weekdays, `EEEE`). Default patterns for units\n * are marked with \"2\" in the last column of the table.\n *\n * `format(new Date(2017, 10, 6), 'MMM') //=> 'Nov'`\n *\n * `format(new Date(2017, 10, 6), 'MMMM') //=> 'November'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMM') //=> 'N'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMMM') //=> 'November'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMMMM') //=> 'November'`\n *\n * 3. Some patterns could be unlimited length (such as `yyyyyyyy`).\n * The output will be padded with zeros to match the length of the pattern.\n *\n * `format(new Date(2017, 10, 6), 'yyyyyyyy') //=> '00002017'`\n *\n * 4. `QQQQQ` and `qqqqq` could be not strictly numerical in some locales.\n * These tokens represent the shortest form of the quarter.\n *\n * 5. The main difference between `y` and `u` patterns are B.C. years:\n *\n * | Year | `y` | `u` |\n * |------|-----|-----|\n * | AC 1 | 1 | 1 |\n * | BC 1 | 1 | 0 |\n * | BC 2 | 2 | -1 |\n *\n * Also `yy` always returns the last two digits of a year,\n * while `uu` pads single digit years to 2 characters and returns other years unchanged:\n *\n * | Year | `yy` | `uu` |\n * |------|------|------|\n * | 1 | 01 | 01 |\n * | 14 | 14 | 14 |\n * | 376 | 76 | 376 |\n * | 1453 | 53 | 1453 |\n *\n * The same difference is true for local and ISO week-numbering years (`Y` and `R`),\n * except local week-numbering years are dependent on `options.weekStartsOn`\n * and `options.firstWeekContainsDate` (compare [getISOWeekYear]{@link https://date-fns.org/docs/getISOWeekYear}\n * and [getWeekYear]{@link https://date-fns.org/docs/getWeekYear}).\n *\n * 6. Specific non-location timezones are currently unavailable in `date-fns`,\n * so right now these tokens fall back to GMT timezones.\n *\n * 7. These patterns are not in the Unicode Technical Standard #35:\n * - `i`: ISO day of week\n * - `I`: ISO week of year\n * - `R`: ISO week-numbering year\n * - `t`: seconds timestamp\n * - `T`: milliseconds timestamp\n * - `o`: ordinal number modifier\n * - `P`: long localized date\n * - `p`: long localized time\n *\n * 8. `YY` and `YYYY` tokens represent week-numbering years but they are often confused with years.\n * You should enable `options.useAdditionalWeekYearTokens` to use them. See: https://git.io/fxCyr\n *\n * 9. `D` and `DD` tokens represent days of the year but they are ofthen confused with days of the month.\n * You should enable `options.useAdditionalDayOfYearTokens` to use them. See: https://git.io/fxCyr\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * - The second argument is now required for the sake of explicitness.\n *\n * ```javascript\n * // Before v2.0.0\n * format(new Date(2016, 0, 1))\n *\n * // v2.0.0 onward\n * format(new Date(2016, 0, 1), \"yyyy-MM-dd'T'HH:mm:ss.SSSxxx\")\n * ```\n *\n * - New format string API for `format` function\n * which is based on [Unicode Technical Standard #35](https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table).\n * See [this post](https://blog.date-fns.org/post/unicode-tokens-in-date-fns-v2-sreatyki91jg) for more details.\n *\n * - Characters are now escaped using single quote symbols (`'`) instead of square brackets.\n *\n * @param {Date|Number} date - the original date\n * @param {String} format - the string of tokens\n * @param {Object} [options] - an object with options.\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\n * @param {Number} [options.firstWeekContainsDate=1] - the day of January, which is\n * @param {Boolean} [options.useAdditionalWeekYearTokens=false] - if true, allows usage of the week-numbering year tokens `YY` and `YYYY`;\n * see: https://git.io/fxCyr\n * @param {Boolean} [options.useAdditionalDayOfYearTokens=false] - if true, allows usage of the day of year tokens `D` and `DD`;\n * see: https://git.io/fxCyr\n * @returns {String} the formatted date string\n * @throws {TypeError} 2 arguments required\n * @throws {RangeError} `options.locale` must contain `localize` property\n * @throws {RangeError} `options.locale` must contain `formatLong` property\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6\n * @throws {RangeError} `options.firstWeekContainsDate` must be between 1 and 7\n * @throws {RangeError} use `yyyy` instead of `YYYY` for formatting years; see: https://git.io/fxCyr\n * @throws {RangeError} use `yy` instead of `YY` for formatting years; see: https://git.io/fxCyr\n * @throws {RangeError} use `d` instead of `D` for formatting days of the month; see: https://git.io/fxCyr\n * @throws {RangeError} use `dd` instead of `DD` for formatting days of the month; see: https://git.io/fxCyr\n * @throws {RangeError} format string contains an unescaped latin alphabet character\n *\n * @example\n * // Represent 11 February 2014 in middle-endian format:\n * var result = format(new Date(2014, 1, 11), 'MM/dd/yyyy')\n * //=> '02/11/2014'\n *\n * @example\n * // Represent 2 July 2014 in Esperanto:\n * import { eoLocale } from 'date-fns/locale/eo'\n * var result = format(new Date(2014, 6, 2), \"do 'de' MMMM yyyy\", {\n * locale: eoLocale\n * })\n * //=> '2-a de julio 2014'\n *\n * @example\n * // Escape string by single quote characters:\n * var result = format(new Date(2014, 6, 2, 15), \"h 'o''clock'\")\n * //=> \"3 o'clock\"\n */\n\nfunction format(dirtyDate, dirtyFormatStr, dirtyOptions) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present');\n }\n\n var formatStr = String(dirtyFormatStr);\n var options = dirtyOptions || {};\n var locale = options.locale || _locale_en_US_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"];\n var localeFirstWeekContainsDate = locale.options && locale.options.firstWeekContainsDate;\n var defaultFirstWeekContainsDate = localeFirstWeekContainsDate == null ? 1 : Object(_lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"])(localeFirstWeekContainsDate);\n var firstWeekContainsDate = options.firstWeekContainsDate == null ? defaultFirstWeekContainsDate : Object(_lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"])(options.firstWeekContainsDate); // Test if weekStartsOn is between 1 and 7 _and_ is not NaN\n\n if (!(firstWeekContainsDate >= 1 && firstWeekContainsDate <= 7)) {\n throw new RangeError('firstWeekContainsDate must be between 1 and 7 inclusively');\n }\n\n var localeWeekStartsOn = locale.options && locale.options.weekStartsOn;\n var defaultWeekStartsOn = localeWeekStartsOn == null ? 0 : Object(_lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"])(localeWeekStartsOn);\n var weekStartsOn = options.weekStartsOn == null ? defaultWeekStartsOn : Object(_lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"])(options.weekStartsOn); // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\n\n if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\n throw new RangeError('weekStartsOn must be between 0 and 6 inclusively');\n }\n\n if (!locale.localize) {\n throw new RangeError('locale must contain localize property');\n }\n\n if (!locale.formatLong) {\n throw new RangeError('locale must contain formatLong property');\n }\n\n var originalDate = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(dirtyDate);\n\n if (!Object(_isValid_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(originalDate)) {\n throw new RangeError('Invalid time value');\n } // Convert the date in system timezone to the same date in UTC+00:00 timezone.\n // This ensures that when UTC functions will be implemented, locales will be compatible with them.\n // See an issue about UTC functions: https://github.com/date-fns/date-fns/issues/376\n\n\n var timezoneOffset = Object(_lib_getTimezoneOffsetInMilliseconds_index_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(originalDate);\n var utcDate = Object(_subMilliseconds_index_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(originalDate, timezoneOffset);\n var formatterOptions = {\n firstWeekContainsDate: firstWeekContainsDate,\n weekStartsOn: weekStartsOn,\n locale: locale,\n _originalDate: originalDate\n };\n var result = formatStr.match(longFormattingTokensRegExp).map(function (substring) {\n var firstCharacter = substring[0];\n\n if (firstCharacter === 'p' || firstCharacter === 'P') {\n var longFormatter = _lib_format_longFormatters_index_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"][firstCharacter];\n return longFormatter(substring, locale.formatLong, formatterOptions);\n }\n\n return substring;\n }).join('').match(formattingTokensRegExp).map(function (substring) {\n // Replace two single quote characters with one single quote character\n if (substring === \"''\") {\n return \"'\";\n }\n\n var firstCharacter = substring[0];\n\n if (firstCharacter === \"'\") {\n return cleanEscapedString(substring);\n }\n\n var formatter = _lib_format_formatters_index_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"][firstCharacter];\n\n if (formatter) {\n if (!options.useAdditionalWeekYearTokens && Object(_lib_protectedTokens_index_js__WEBPACK_IMPORTED_MODULE_7__[\"isProtectedWeekYearToken\"])(substring)) {\n Object(_lib_protectedTokens_index_js__WEBPACK_IMPORTED_MODULE_7__[\"throwProtectedError\"])(substring);\n }\n\n if (!options.useAdditionalDayOfYearTokens && Object(_lib_protectedTokens_index_js__WEBPACK_IMPORTED_MODULE_7__[\"isProtectedDayOfYearToken\"])(substring)) {\n Object(_lib_protectedTokens_index_js__WEBPACK_IMPORTED_MODULE_7__[\"throwProtectedError\"])(substring);\n }\n\n return formatter(utcDate, substring, locale.localize, formatterOptions);\n }\n\n if (firstCharacter.match(unescapedLatinCharacterRegExp)) {\n throw new RangeError('Format string contains an unescaped latin alphabet character `' + firstCharacter + '`');\n }\n\n return substring;\n }).join('');\n return result;\n}\n\nfunction cleanEscapedString(input) {\n return input.match(escapedStringRegExp)[1].replace(doubleQuoteRegExp, \"'\");\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2Zvcm1hdC9pbmRleC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9kYXRlLWZucy9lc20vZm9ybWF0L2luZGV4LmpzP2IxNjYiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGlzVmFsaWQgZnJvbSAnLi4vaXNWYWxpZC9pbmRleC5qcyc7XG5pbXBvcnQgZGVmYXVsdExvY2FsZSBmcm9tICcuLi9sb2NhbGUvZW4tVVMvaW5kZXguanMnO1xuaW1wb3J0IHN1Yk1pbGxpc2Vjb25kcyBmcm9tICcuLi9zdWJNaWxsaXNlY29uZHMvaW5kZXguanMnO1xuaW1wb3J0IHRvRGF0ZSBmcm9tICcuLi90b0RhdGUvaW5kZXguanMnO1xuaW1wb3J0IGZvcm1hdHRlcnMgZnJvbSAnLi4vX2xpYi9mb3JtYXQvZm9ybWF0dGVycy9pbmRleC5qcyc7XG5pbXBvcnQgbG9uZ0Zvcm1hdHRlcnMgZnJvbSAnLi4vX2xpYi9mb3JtYXQvbG9uZ0Zvcm1hdHRlcnMvaW5kZXguanMnO1xuaW1wb3J0IGdldFRpbWV6b25lT2Zmc2V0SW5NaWxsaXNlY29uZHMgZnJvbSAnLi4vX2xpYi9nZXRUaW1lem9uZU9mZnNldEluTWlsbGlzZWNvbmRzL2luZGV4LmpzJztcbmltcG9ydCB7IGlzUHJvdGVjdGVkRGF5T2ZZZWFyVG9rZW4sIGlzUHJvdGVjdGVkV2Vla1llYXJUb2tlbiwgdGhyb3dQcm90ZWN0ZWRFcnJvciB9IGZyb20gJy4uL19saWIvcHJvdGVjdGVkVG9rZW5zL2luZGV4LmpzJztcbmltcG9ydCB0b0ludGVnZXIgZnJvbSAnLi4vX2xpYi90b0ludGVnZXIvaW5kZXguanMnOyAvLyBUaGlzIFJlZ0V4cCBjb25zaXN0cyBvZiB0aHJlZSBwYXJ0cyBzZXBhcmF0ZWQgYnkgYHxgOlxuLy8gLSBbeVlRcU1Md0lkRGVjaWhIS2ttc11vIG1hdGNoZXMgYW55IGF2YWlsYWJsZSBvcmRpbmFsIG51bWJlciB0b2tlblxuLy8gICAob25lIG9mIHRoZSBjZXJ0YWluIGxldHRlcnMgZm9sbG93ZWQgYnkgYG9gKVxuLy8gLSAoXFx3KVxcMSogbWF0Y2hlcyBhbnkgc2VxdWVuY2VzIG9mIHRoZSBzYW1lIGxldHRlclxuLy8gLSAnJyBtYXRjaGVzIHR3byBxdW90ZSBjaGFyYWN0ZXJzIGluIGEgcm93XG4vLyAtICcoJyd8W14nXSkrKCd8JCkgbWF0Y2hlcyBhbnl0aGluZyBzdXJyb3VuZGVkIGJ5IHR3byBxdW90ZSBjaGFyYWN0ZXJzICgnKSxcbi8vICAgZXhjZXB0IGEgc2luZ2xlIHF1b3RlIHN5bWJvbCwgd2hpY2ggZW5kcyB0aGUgc2VxdWVuY2UuXG4vLyAgIFR3byBxdW90ZSBjaGFyYWN0ZXJzIGRvIG5vdCBlbmQgdGhlIHNlcXVlbmNlLlxuLy8gICBJZiB0aGVyZSBpcyBubyBtYXRjaGluZyBzaW5nbGUgcXVvdGVcbi8vICAgdGhlbiB0aGUgc2VxdWVuY2Ugd2lsbCBjb250aW51ZSB1bnRpbCB0aGUgZW5kIG9mIHRoZSBzdHJpbmcuXG4vLyAtIC4gbWF0Y2hlcyBhbnkgc2luZ2xlIGNoYXJhY3RlciB1bm1hdGNoZWQgYnkgcHJldmlvdXMgcGFydHMgb2YgdGhlIFJlZ0V4cHNcblxudmFyIGZvcm1hdHRpbmdUb2tlbnNSZWdFeHAgPSAvW3lZUXFNTHdJZERlY2loSEtrbXNdb3woXFx3KVxcMSp8Jyd8JygnJ3xbXiddKSsoJ3wkKXwuL2c7IC8vIFRoaXMgUmVnRXhwIGNhdGNoZXMgc3ltYm9scyBlc2NhcGVkIGJ5IHF1b3RlcywgYW5kIGFsc29cbi8vIHNlcXVlbmNlcyBvZiBzeW1ib2xzIFAsIHAsIGFuZCB0aGUgY29tYmluYXRpb25zIGxpa2UgYFBQUFBQUFBwcHBwcGBcblxudmFyIGxvbmdGb3JtYXR0aW5nVG9rZW5zUmVnRXhwID0gL1ArcCt8UCt8cCt8Jyd8JygnJ3xbXiddKSsoJ3wkKXwuL2c7XG52YXIgZXNjYXBlZFN0cmluZ1JlZ0V4cCA9IC9eJyguKj8pJz8kLztcbnZhciBkb3VibGVRdW90ZVJlZ0V4cCA9IC8nJy9nO1xudmFyIHVuZXNjYXBlZExhdGluQ2hhcmFjdGVyUmVnRXhwID0gL1thLXpBLVpdLztcbi8qKlxuICogQG5hbWUgZm9ybWF0XG4gKiBAY2F0ZWdvcnkgQ29tbW9uIEhlbHBlcnNcbiAqIEBzdW1tYXJ5IEZvcm1hdCB0aGUgZGF0ZS5cbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIFJldHVybiB0aGUgZm9ybWF0dGVkIGRhdGUgc3RyaW5nIGluIHRoZSBnaXZlbiBmb3JtYXQuIFRoZSByZXN1bHQgbWF5IHZhcnkgYnkgbG9jYWxlLlxuICpcbiAqID4g4pqg77iPIFBsZWFzZSBub3RlIHRoYXQgdGhlIGBmb3JtYXRgIHRva2VucyBkaWZmZXIgZnJvbSBNb21lbnQuanMgYW5kIG90aGVyIGxpYnJhcmllcy5cbiAqID4gU2VlOiBodHRwczovL2dpdC5pby9meEN5clxuICpcbiAqIFRoZSBjaGFyYWN0ZXJzIHdyYXBwZWQgYmV0d2VlbiB0d28gc2luZ2xlIHF1b3RlcyBjaGFyYWN0ZXJzICgnKSBhcmUgZXNjYXBlZC5cbiAqIFR3byBzaW5nbGUgcXVvdGVzIGluIGEgcm93LCB3aGV0aGVyIGluc2lkZSBvciBvdXRzaWRlIGEgcXVvdGVkIHNlcXVlbmNlLCByZXByZXNlbnQgYSAncmVhbCcgc2luZ2xlIHF1b3RlLlxuICogKHNlZSB0aGUgbGFzdCBleGFtcGxlKVxuICpcbiAqIEZvcm1hdCBvZiB0aGUgc3RyaW5nIGlzIGJhc2VkIG9uIFVuaWNvZGUgVGVjaG5pY2FsIFN0YW5kYXJkICMzNTpcbiAqIGh0dHBzOi8vd3d3LnVuaWNvZGUub3JnL3JlcG9ydHMvdHIzNS90cjM1LWRhdGVzLmh0bWwjRGF0ZV9GaWVsZF9TeW1ib2xfVGFibGVcbiAqIHdpdGggYSBmZXcgYWRkaXRpb25zIChzZWUgbm90ZSA3IGJlbG93IHRoZSB0YWJsZSkuXG4gKlxuICogQWNjZXB0ZWQgcGF0dGVybnM6XG4gKiB8IFVuaXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBQYXR0ZXJuIHwgUmVzdWx0IGV4YW1wbGVzICAgICAgICAgICAgICAgICAgIHwgTm90ZXMgfFxuICogfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwtLS0tLS0tLS18LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18LS0tLS0tLXxcbiAqIHwgRXJhICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IEcuLkdHRyAgfCBBRCwgQkMgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICB8XG4gKiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBHR0dHICAgIHwgQW5ubyBEb21pbmksIEJlZm9yZSBDaHJpc3QgICAgICAgIHwgMiAgICAgfFxuICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgR0dHR0cgICB8IEEsIEIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgIHxcbiAqIHwgQ2FsZW5kYXIgeWVhciAgICAgICAgICAgICAgICAgICB8IHkgICAgICAgfCA0NCwgMSwgMTkwMCwgMjAxNyAgICAgICAgICAgICAgICAgfCA1ICAgICB8XG4gKiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCB5byAgICAgIHwgNDR0aCwgMXN0LCAwdGgsIDE3dGggICAgICAgICAgICAgIHwgNSw3ICAgfFxuICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgeXkgICAgICB8IDQ0LCAwMSwgMDAsIDE3ICAgICAgICAgICAgICAgICAgICB8IDUgICAgIHxcbiAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IHl5eSAgICAgfCAwNDQsIDAwMSwgMTkwMCwgMjAxNyAgICAgICAgICAgICAgfCA1ICAgICB8XG4gKiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCB5eXl5ICAgIHwgMDA0NCwgMDAwMSwgMTkwMCwgMjAxNyAgICAgICAgICAgIHwgNSAgICAgfFxuICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgeXl5eXkgICB8IC4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDMsNSAgIHxcbiAqIHwgTG9jYWwgd2Vlay1udW1iZXJpbmcgeWVhciAgICAgICB8IFkgICAgICAgfCA0NCwgMSwgMTkwMCwgMjAxNyAgICAgICAgICAgICAgICAgfCA1ICAgICB8XG4gKiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBZbyAgICAgIHwgNDR0aCwgMXN0LCAxOTAwdGgsIDIwMTd0aCAgICAgICAgIHwgNSw3ICAgfFxuICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgWVkgICAgICB8IDQ0LCAwMSwgMDAsIDE3ICAgICAgICAgICAgICAgICAgICB8IDUsOCAgIHxcbiAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFlZWSAgICAgfCAwNDQsIDAwMSwgMTkwMCwgMjAxNyAgICAgICAgICAgICAgfCA1ICAgICB8XG4gKiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBZWVlZICAgIHwgMDA0NCwgMDAwMSwgMTkwMCwgMjAxNyAgICAgICAgICAgIHwgNSw4ICAgfFxuICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgWVlZWVkgICB8IC4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDMsNSAgIHxcbiAqIHwgSVNPIHdlZWstbnVtYmVyaW5nIHllYXIgICAgICAgICB8IFIgICAgICAgfCAtNDMsIDAsIDEsIDE5MDAsIDIwMTcgICAgICAgICAgICAgfCA1LDcgICB8XG4gKiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBSUiAgICAgIHwgLTQzLCAwMCwgMDEsIDE5MDAsIDIwMTcgICAgICAgICAgIHwgNSw3ICAgfFxuICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgUlJSICAgICB8IC0wNDMsIDAwMCwgMDAxLCAxOTAwLCAyMDE3ICAgICAgICB8IDUsNyAgIHxcbiAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFJSUlIgICAgfCAtMDA0MywgMDAwMCwgMDAwMSwgMTkwMCwgMjAxNyAgICAgfCA1LDcgICB8XG4gKiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBSUlJSUiAgIHwgLi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMyw1LDcgfFxuICogfCBFeHRlbmRlZCB5ZWFyICAgICAgICAgICAgICAgICAgIHwgdSAgICAgICB8IC00MywgMCwgMSwgMTkwMCwgMjAxNyAgICAgICAgICAgICB8IDUgICAgIHxcbiAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IHV1ICAgICAgfCAtNDMsIDAxLCAxOTAwLCAyMDE3ICAgICAgICAgICAgICAgfCA1ICAgICB8XG4gKiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCB1dXUgICAgIHwgLTA0MywgMDAxLCAxOTAwLCAyMDE3ICAgICAgICAgICAgIHwgNSAgICAgfFxuICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgdXV1dSAgICB8IC0wMDQzLCAwMDAxLCAxOTAwLCAyMDE3ICAgICAgICAgICB8IDUgICAgIHxcbiAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IHV1dXV1ICAgfCAuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAzLDUgICB8XG4gKiB8IFF1YXJ0ZXIgKGZvcm1hdHRpbmcpICAgICAgICAgICAgfCBRICAgICAgIHwgMSwgMiwgMywgNCAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgfFxuICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgUW8gICAgICB8IDFzdCwgMm5kLCAzcmQsIDR0aCAgICAgICAgICAgICAgICB8IDcgICAgIHxcbiAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFFRICAgICAgfCAwMSwgMDIsIDAzLCAwNCAgICAgICAgICAgICAgICAgICAgfCAgICAgICB8XG4gKiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBRUVEgICAgIHwgUTEsIFEyLCBRMywgUTQgICAgICAgICAgICAgICAgICAgIHwgICAgICAgfFxuICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgUVFRUSAgICB8IDFzdCBxdWFydGVyLCAybmQgcXVhcnRlciwgLi4uICAgICB8IDIgICAgIHxcbiAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFFRUVFRICAgfCAxLCAyLCAzLCA0ICAgICAgICAgICAgICAgICAgICAgICAgfCA0ICAgICB8XG4gKiB8IFF1YXJ0ZXIgKHN0YW5kLWFsb25lKSAgICAgICAgICAgfCBxICAgICAgIHwgMSwgMiwgMywgNCAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgfFxuICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgcW8gICAgICB8IDFzdCwgMm5kLCAzcmQsIDR0aCAgICAgICAgICAgICAgICB8IDcgICAgIHxcbiAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IHFxICAgICAgfCAwMSwgMDIsIDAzLCAwNCAgICAgICAgICAgICAgICAgICAgfCAgICAgICB8XG4gKiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBxcXEgICAgIHwgUTEsIFEyLCBRMywgUTQgICAgICAgICAgICAgICAgICAgIHwgICAgICAgfFxuICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgcXFxcSAgICB8IDFzdCBxdWFydGVyLCAybmQgcXVhcnRlciwgLi4uICAgICB8IDIgICAgIHxcbiAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IHFxcXFxICAgfCAxLCAyLCAzLCA0ICAgICAgICAgICAgICAgICAgICAgICAgfCA0ICAgICB8XG4gKiB8IE1vbnRoIChmb3JtYXR0aW5nKSAgICAgICAgICAgICAgfCBNICAgICAgIHwgMSwgMiwgLi4uLCAxMiAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgfFxuICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgTW8gICAgICB8IDFzdCwgMm5kLCAuLi4sIDEydGggICAgICAgICAgICAgICB8IDcgICAgIHxcbiAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IE1NICAgICAgfCAwMSwgMDIsIC4uLiwgMTIgICAgICAgICAgICAgICAgICAgfCAgICAgICB8XG4gKiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBNTU0gICAgIHwgSmFuLCBGZWIsIC4uLiwgRGVjICAgICAgICAgICAgICAgIHwgICAgICAgfFxuICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgTU1NTSAgICB8IEphbnVhcnksIEZlYnJ1YXJ5LCAuLi4sIERlY2VtYmVyICB8IDIgICAgIHxcbiAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IE1NTU1NICAgfCBKLCBGLCAuLi4sIEQgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICB8XG4gKiB8IE1vbnRoIChzdGFuZC1hbG9uZSkgICAgICAgICAgICAgfCBMICAgICAgIHwgMSwgMiwgLi4uLCAxMiAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgfFxuICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgTG8gICAgICB8IDFzdCwgMm5kLCAuLi4sIDEydGggICAgICAgICAgICAgICB8IDcgICAgIHxcbiAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IExMICAgICAgfCAwMSwgMDIsIC4uLiwgMTIgICAgICAgICAgICAgICAgICAgfCAgICAgICB8XG4gKiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBMTEwgICAgIHwgSmFuLCBGZWIsIC4uLiwgRGVjICAgICAgICAgICAgICAgIHwgICAgICAgfFxuICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgTExMTCAgICB8IEphbnVhcnksIEZlYnJ1YXJ5LCAuLi4sIERlY2VtYmVyICB8IDIgICAgIHxcbiAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IExMTExMICAgfCBKLCBGLCAuLi4sIEQgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICB8XG4gKiB8IExvY2FsIHdlZWsgb2YgeWVhciAgICAgICAgICAgICAgfCB3ICAgICAgIHwgMSwgMiwgLi4uLCA1MyAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgfFxuICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgd28gICAgICB8IDFzdCwgMm5kLCAuLi4sIDUzdGggICAgICAgICAgICAgICB8IDcgICAgIHxcbiAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IHd3ICAgICAgfCAwMSwgMDIsIC4uLiwgNTMgICAgICAgICAgICAgICAgICAgfCAgICAgICB8XG4gKiB8IElTTyB3ZWVrIG9mIHllYXIgICAgICAgICAgICAgICAgfCBJICAgICAgIHwgMSwgMiwgLi4uLCA1MyAgICAgICAgICAgICAgICAgICAgIHwgNyAgICAgfFxuICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgSW8gICAgICB8IDFzdCwgMm5kLCAuLi4sIDUzdGggICAgICAgICAgICAgICB8IDcgICAgIHxcbiAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IElJICAgICAgfCAwMSwgMDIsIC4uLiwgNTMgICAgICAgICAgICAgICAgICAgfCA3ICAgICB8XG4gKiB8IERheSBvZiBtb250aCAgICAgICAgICAgICAgICAgICAgfCBkICAgICAgIHwgMSwgMiwgLi4uLCAzMSAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgfFxuICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgZG8gICAgICB8IDFzdCwgMm5kLCAuLi4sIDMxc3QgICAgICAgICAgICAgICB8IDcgICAgIHxcbiAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGRkICAgICAgfCAwMSwgMDIsIC4uLiwgMzEgICAgICAgICAgICAgICAgICAgfCAgICAgICB8XG4gKiB8IERheSBvZiB5ZWFyICAgICAgICAgICAgICAgICAgICAgfCBEICAgICAgIHwgMSwgMiwgLi4uLCAzNjUsIDM2NiAgICAgICAgICAgICAgIHwgOSAgICAgfFxuICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgRG8gICAgICB8IDFzdCwgMm5kLCAuLi4sIDM2NXRoLCAzNjZ0aCAgICAgICB8IDcgICAgIHxcbiAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IEREICAgICAgfCAwMSwgMDIsIC4uLiwgMzY1LCAzNjYgICAgICAgICAgICAgfCA5ICAgICB8XG4gKiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBEREQgICAgIHwgMDAxLCAwMDIsIC4uLiwgMzY1LCAzNjYgICAgICAgICAgIHwgICAgICAgfFxuICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgRERERCAgICB8IC4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDMgICAgIHxcbiAqIHwgRGF5IG9mIHdlZWsgKGZvcm1hdHRpbmcpICAgICAgICB8IEUuLkVFRSAgfCBNb24sIFR1ZSwgV2VkLCAuLi4sIFN1ICAgICAgICAgICAgfCAgICAgICB8XG4gKiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBFRUVFICAgIHwgTW9uZGF5LCBUdWVzZGF5LCAuLi4sIFN1bmRheSAgICAgIHwgMiAgICAgfFxuICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgRUVFRUUgICB8IE0sIFQsIFcsIFQsIEYsIFMsIFMgICAgICAgICAgICAgICB8ICAgICAgIHxcbiAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IEVFRUVFRSAgfCBNbywgVHUsIFdlLCBUaCwgRnIsIFN1LCBTYSAgICAgICAgfCAgICAgICB8XG4gKiB8IElTTyBkYXkgb2Ygd2VlayAoZm9ybWF0dGluZykgICAgfCBpICAgICAgIHwgMSwgMiwgMywgLi4uLCA3ICAgICAgICAgICAgICAgICAgIHwgNyAgICAgfFxuICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgaW8gICAgICB8IDFzdCwgMm5kLCAuLi4sIDd0aCAgICAgICAgICAgICAgICB8IDcgICAgIHxcbiAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGlpICAgICAgfCAwMSwgMDIsIC4uLiwgMDcgICAgICAgICAgICAgICAgICAgfCA3ICAgICB8XG4gKiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBpaWkgICAgIHwgTW9uLCBUdWUsIFdlZCwgLi4uLCBTdSAgICAgICAgICAgIHwgNyAgICAgfFxuICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgaWlpaSAgICB8IE1vbmRheSwgVHVlc2RheSwgLi4uLCBTdW5kYXkgICAgICB8IDIsNyAgIHxcbiAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGlpaWlpICAgfCBNLCBULCBXLCBULCBGLCBTLCBTICAgICAgICAgICAgICAgfCA3ICAgICB8XG4gKiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBpaWlpaWkgIHwgTW8sIFR1LCBXZSwgVGgsIEZyLCBTdSwgU2EgICAgICAgIHwgNyAgICAgfFxuICogfCBMb2NhbCBkYXkgb2Ygd2VlayAoZm9ybWF0dGluZykgIHwgZSAgICAgICB8IDIsIDMsIDQsIC4uLiwgMSAgICAgICAgICAgICAgICAgICB8ICAgICAgIHxcbiAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGVvICAgICAgfCAybmQsIDNyZCwgLi4uLCAxc3QgICAgICAgICAgICAgICAgfCA3ICAgICB8XG4gKiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBlZSAgICAgIHwgMDIsIDAzLCAuLi4sIDAxICAgICAgICAgICAgICAgICAgIHwgICAgICAgfFxuICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgZWVlICAgICB8IE1vbiwgVHVlLCBXZWQsIC4uLiwgU3UgICAgICAgICAgICB8ICAgICAgIHxcbiAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGVlZWUgICAgfCBNb25kYXksIFR1ZXNkYXksIC4uLiwgU3VuZGF5ICAgICAgfCAyICAgICB8XG4gKiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBlZWVlZSAgIHwgTSwgVCwgVywgVCwgRiwgUywgUyAgICAgICAgICAgICAgIHwgICAgICAgfFxuICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgZWVlZWVlICB8IE1vLCBUdSwgV2UsIFRoLCBGciwgU3UsIFNhICAgICAgICB8ICAgICAgIHxcbiAqIHwgTG9jYWwgZGF5IG9mIHdlZWsgKHN0YW5kLWFsb25lKSB8IGMgICAgICAgfCAyLCAzLCA0LCAuLi4sIDEgICAgICAgICAgICAgICAgICAgfCAgICAgICB8XG4gKiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBjbyAgICAgIHwgMm5kLCAzcmQsIC4uLiwgMXN0ICAgICAgICAgICAgICAgIHwgNyAgICAgfFxuICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgY2MgICAgICB8IDAyLCAwMywgLi4uLCAwMSAgICAgICAgICAgICAgICAgICB8ICAgICAgIHxcbiAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGNjYyAgICAgfCBNb24sIFR1ZSwgV2VkLCAuLi4sIFN1ICAgICAgICAgICAgfCAgICAgICB8XG4gKiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBjY2NjICAgIHwgTW9uZGF5LCBUdWVzZGF5LCAuLi4sIFN1bmRheSAgICAgIHwgMiAgICAgfFxuICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgY2NjY2MgICB8IE0sIFQsIFcsIFQsIEYsIFMsIFMgICAgICAgICAgICAgICB8ICAgICAgIHxcbiAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGNjY2NjYyAgfCBNbywgVHUsIFdlLCBUaCwgRnIsIFN1LCBTYSAgICAgICAgfCAgICAgICB8XG4gKiB8IEFNLCBQTSAgICAgICAgICAgICAgICAgICAgICAgICAgfCBhLi5hYWEgIHwgQU0sIFBNICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgfFxuICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYWFhYSAgICB8IGEubS4sIHAubS4gICAgICAgICAgICAgICAgICAgICAgICB8IDIgICAgIHxcbiAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGFhYWFhICAgfCBhLCBwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICB8XG4gKiB8IEFNLCBQTSwgbm9vbiwgbWlkbmlnaHQgICAgICAgICAgfCBiLi5iYmIgIHwgQU0sIFBNLCBub29uLCBtaWRuaWdodCAgICAgICAgICAgIHwgICAgICAgfFxuICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYmJiYiAgICB8IGEubS4sIHAubS4sIG5vb24sIG1pZG5pZ2h0ICAgICAgICB8IDIgICAgIHxcbiAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGJiYmJiICAgfCBhLCBwLCBuLCBtaSAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICB8XG4gKiB8IEZsZXhpYmxlIGRheSBwZXJpb2QgICAgICAgICAgICAgfCBCLi5CQkIgIHwgYXQgbmlnaHQsIGluIHRoZSBtb3JuaW5nLCAuLi4gICAgIHwgICAgICAgfFxuICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgQkJCQiAgICB8IGF0IG5pZ2h0LCBpbiB0aGUgbW9ybmluZywgLi4uICAgICB8IDIgICAgIHxcbiAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IEJCQkJCICAgfCBhdCBuaWdodCwgaW4gdGhlIG1vcm5pbmcsIC4uLiAgICAgfCAgICAgICB8XG4gKiB8IEhvdXIgWzEtMTJdICAgICAgICAgICAgICAgICAgICAgfCBoICAgICAgIHwgMSwgMiwgLi4uLCAxMSwgMTIgICAgICAgICAgICAgICAgIHwgICAgICAgfFxuICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgaG8gICAgICB8IDFzdCwgMm5kLCAuLi4sIDExdGgsIDEydGggICAgICAgICB8IDcgICAgIHxcbiAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGhoICAgICAgfCAwMSwgMDIsIC4uLiwgMTEsIDEyICAgICAgICAgICAgICAgfCAgICAgICB8XG4gKiB8IEhvdXIgWzAtMjNdICAgICAgICAgICAgICAgICAgICAgfCBIICAgICAgIHwgMCwgMSwgMiwgLi4uLCAyMyAgICAgICAgICAgICAgICAgIHwgICAgICAgfFxuICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgSG8gICAgICB8IDB0aCwgMXN0LCAybmQsIC4uLiwgMjNyZCAgICAgICAgICB8IDcgICAgIHxcbiAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IEhIICAgICAgfCAwMCwgMDEsIDAyLCAuLi4sIDIzICAgICAgICAgICAgICAgfCAgICAgICB8XG4gKiB8IEhvdXIgWzAtMTFdICAgICAgICAgICAgICAgICAgICAgfCBLICAgICAgIHwgMSwgMiwgLi4uLCAxMSwgMCAgICAgICAgICAgICAgICAgIHwgICAgICAgfFxuICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgS28gICAgICB8IDFzdCwgMm5kLCAuLi4sIDExdGgsIDB0aCAgICAgICAgICB8IDcgICAgIHxcbiAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IEtLICAgICAgfCAxLCAyLCAuLi4sIDExLCAwICAgICAgICAgICAgICAgICAgfCAgICAgICB8XG4gKiB8IEhvdXIgWzEtMjRdICAgICAgICAgICAgICAgICAgICAgfCBrICAgICAgIHwgMjQsIDEsIDIsIC4uLiwgMjMgICAgICAgICAgICAgICAgIHwgICAgICAgfFxuICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwga28gICAgICB8IDI0dGgsIDFzdCwgMm5kLCAuLi4sIDIzcmQgICAgICAgICB8IDcgICAgIHxcbiAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGtrICAgICAgfCAyNCwgMDEsIDAyLCAuLi4sIDIzICAgICAgICAgICAgICAgfCAgICAgICB8XG4gKiB8IE1pbnV0ZSAgICAgICAgICAgICAgICAgICAgICAgICAgfCBtICAgICAgIHwgMCwgMSwgLi4uLCA1OSAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgfFxuICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgbW8gICAgICB8IDB0aCwgMXN0LCAuLi4sIDU5dGggICAgICAgICAgICAgICB8IDcgICAgIHxcbiAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IG1tICAgICAgfCAwMCwgMDEsIC4uLiwgNTkgICAgICAgICAgICAgICAgICAgfCAgICAgICB8XG4gKiB8IFNlY29uZCAgICAgICAgICAgICAgICAgICAgICAgICAgfCBzICAgICAgIHwgMCwgMSwgLi4uLCA1OSAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgfFxuICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgc28gICAgICB8IDB0aCwgMXN0LCAuLi4sIDU5dGggICAgICAgICAgICAgICB8IDcgICAgIHxcbiAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IHNzICAgICAgfCAwMCwgMDEsIC4uLiwgNTkgICAgICAgICAgICAgICAgICAgfCAgICAgICB8XG4gKiB8IEZyYWN0aW9uIG9mIHNlY29uZCAgICAgICAgICAgICAgfCBTICAgICAgIHwgMCwgMSwgLi4uLCA5ICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgfFxuICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgU1MgICAgICB8IDAwLCAwMSwgLi4uLCA5OSAgICAgICAgICAgICAgICAgICB8ICAgICAgIHxcbiAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFNTUyAgICAgfCAwMDAsIDAwMDEsIC4uLiwgOTk5ICAgICAgICAgICAgICAgfCAgICAgICB8XG4gKiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBTU1NTICAgIHwgLi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMyAgICAgfFxuICogfCBUaW1lem9uZSAoSVNPLTg2MDEgdy8gWikgICAgICAgIHwgWCAgICAgICB8IC0wOCwgKzA1MzAsIFogICAgICAgICAgICAgICAgICAgICB8ICAgICAgIHxcbiAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFhYICAgICAgfCAtMDgwMCwgKzA1MzAsIFogICAgICAgICAgICAgICAgICAgfCAgICAgICB8XG4gKiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBYWFggICAgIHwgLTA4OjAwLCArMDU6MzAsIFogICAgICAgICAgICAgICAgIHwgICAgICAgfFxuICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgWFhYWCAgICB8IC0wODAwLCArMDUzMCwgWiwgKzEyMzQ1NiAgICAgICAgICB8IDIgICAgIHxcbiAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFhYWFhYICAgfCAtMDg6MDAsICswNTozMCwgWiwgKzEyOjM0OjU2ICAgICAgfCAgICAgICB8XG4gKiB8IFRpbWV6b25lIChJU08tODYwMSB3L28gWikgICAgICAgfCB4ICAgICAgIHwgLTA4LCArMDUzMCwgKzAwICAgICAgICAgICAgICAgICAgIHwgICAgICAgfFxuICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgeHggICAgICB8IC0wODAwLCArMDUzMCwgKzAwMDAgICAgICAgICAgICAgICB8ICAgICAgIHxcbiAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IHh4eCAgICAgfCAtMDg6MDAsICswNTozMCwgKzAwOjAwICAgICAgICAgICAgfCAyICAgICB8XG4gKiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCB4eHh4ICAgIHwgLTA4MDAsICswNTMwLCArMDAwMCwgKzEyMzQ1NiAgICAgIHwgICAgICAgfFxuICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgeHh4eHggICB8IC0wODowMCwgKzA1OjMwLCArMDA6MDAsICsxMjozNDo1NiB8ICAgICAgIHxcbiAqIHwgVGltZXpvbmUgKEdNVCkgICAgICAgICAgICAgICAgICB8IE8uLi5PT08gfCBHTVQtOCwgR01UKzU6MzAsIEdNVCswICAgICAgICAgICAgfCAgICAgICB8XG4gKiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBPT09PICAgIHwgR01ULTA4OjAwLCBHTVQrMDU6MzAsIEdNVCswMDowMCAgIHwgMiAgICAgfFxuICogfCBUaW1lem9uZSAoc3BlY2lmaWMgbm9uLWxvY2F0LikgIHwgei4uLnp6eiB8IEdNVC04LCBHTVQrNTozMCwgR01UKzAgICAgICAgICAgICB8IDYgICAgIHxcbiAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IHp6enogICAgfCBHTVQtMDg6MDAsIEdNVCswNTozMCwgR01UKzAwOjAwICAgfCAyLDYgICB8XG4gKiB8IFNlY29uZHMgdGltZXN0YW1wICAgICAgICAgICAgICAgfCB0ICAgICAgIHwgNTEyOTY5NTIwICAgICAgICAgICAgICAgICAgICAgICAgIHwgNyAgICAgfFxuICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgdHQgICAgICB8IC4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDMsNyAgIHxcbiAqIHwgTWlsbGlzZWNvbmRzIHRpbWVzdGFtcCAgICAgICAgICB8IFQgICAgICAgfCA1MTI5Njk1MjA5MDAgICAgICAgICAgICAgICAgICAgICAgfCA3ICAgICB8XG4gKiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBUVCAgICAgIHwgLi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMyw3ICAgfFxuICogfCBMb25nIGxvY2FsaXplZCBkYXRlICAgICAgICAgICAgIHwgUCAgICAgICB8IDA1LzI5LzE0NTMgICAgICAgICAgICAgICAgICAgICAgICB8IDcgICAgIHxcbiAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFBQICAgICAgfCBNYXkgMjksIDE0NTMgICAgICAgICAgICAgICAgICAgICAgfCA3ICAgICB8XG4gKiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBQUFAgICAgIHwgTWF5IDI5dGgsIDE0NTMgICAgICAgICAgICAgICAgICAgIHwgNyAgICAgfFxuICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgUFBQUCAgICB8IFN1bmRheSwgTWF5IDI5dGgsIDE0NTMgICAgICAgICAgICB8IDIsNyAgIHxcbiAqIHwgTG9uZyBsb2NhbGl6ZWQgdGltZSAgICAgICAgICAgICB8IHAgICAgICAgfCAxMjowMCBBTSAgICAgICAgICAgICAgICAgICAgICAgICAgfCA3ICAgICB8XG4gKiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBwcCAgICAgIHwgMTI6MDA6MDAgQU0gICAgICAgICAgICAgICAgICAgICAgIHwgNyAgICAgfFxuICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgcHBwICAgICB8IDEyOjAwOjAwIEFNIEdNVCsyICAgICAgICAgICAgICAgICB8IDcgICAgIHxcbiAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IHBwcHAgICAgfCAxMjowMDowMCBBTSBHTVQrMDI6MDAgICAgICAgICAgICAgfCAyLDcgICB8XG4gKiB8IENvbWJpbmF0aW9uIG9mIGRhdGUgYW5kIHRpbWUgICAgfCBQcCAgICAgIHwgMDUvMjkvMTQ1MywgMTI6MDAgQU0gICAgICAgICAgICAgIHwgNyAgICAgfFxuICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgUFBwcCAgICB8IE1heSAyOSwgMTQ1MywgMTI6MDA6MDAgQU0gICAgICAgICB8IDcgICAgIHxcbiAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFBQUHBwcCAgfCBNYXkgMjl0aCwgMTQ1MyBhdCAuLi4gICAgICAgICAgICAgfCA3ICAgICB8XG4gKiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBQUFBQcHBwcHwgU3VuZGF5LCBNYXkgMjl0aCwgMTQ1MyBhdCAuLi4gICAgIHwgMiw3ICAgfFxuICogTm90ZXM6XG4gKiAxLiBcIkZvcm1hdHRpbmdcIiB1bml0cyAoZS5nLiBmb3JtYXR0aW5nIHF1YXJ0ZXIpIGluIHRoZSBkZWZhdWx0IGVuLVVTIGxvY2FsZVxuICogICAgYXJlIHRoZSBzYW1lIGFzIFwic3RhbmQtYWxvbmVcIiB1bml0cywgYnV0IGFyZSBkaWZmZXJlbnQgaW4gc29tZSBsYW5ndWFnZXMuXG4gKiAgICBcIkZvcm1hdHRpbmdcIiB1bml0cyBhcmUgZGVjbGluZWQgYWNjb3JkaW5nIHRvIHRoZSBydWxlcyBvZiB0aGUgbGFuZ3VhZ2VcbiAqICAgIGluIHRoZSBjb250ZXh0IG9mIGEgZGF0ZS4gXCJTdGFuZC1hbG9uZVwiIHVuaXRzIGFyZSBhbHdheXMgbm9taW5hdGl2ZSBzaW5ndWxhcjpcbiAqXG4gKiAgICBgZm9ybWF0KG5ldyBEYXRlKDIwMTcsIDEwLCA2KSwgJ2RvIExMTEwnLCB7bG9jYWxlOiBjc30pIC8vPT4gJzYuIGxpc3RvcGFkJ2BcbiAqXG4gKiAgICBgZm9ybWF0KG5ldyBEYXRlKDIwMTcsIDEwLCA2KSwgJ2RvIE1NTU0nLCB7bG9jYWxlOiBjc30pIC8vPT4gJzYuIGxpc3RvcGFkdSdgXG4gKlxuICogMi4gQW55IHNlcXVlbmNlIG9mIHRoZSBpZGVudGljYWwgbGV0dGVycyBpcyBhIHBhdHRlcm4sIHVubGVzcyBpdCBpcyBlc2NhcGVkIGJ5XG4gKiAgICB0aGUgc2luZ2xlIHF1b3RlIGNoYXJhY3RlcnMgKHNlZSBiZWxvdykuXG4gKiAgICBJZiB0aGUgc2VxdWVuY2UgaXMgbG9uZ2VyIHRoYW4gbGlzdGVkIGluIHRhYmxlIChlLmcuIGBFRUVFRUVFRUVFRWApXG4gKiAgICB0aGUgb3V0cHV0IHdpbGwgYmUgdGhlIHNhbWUgYXMgZGVmYXVsdCBwYXR0ZXJuIGZvciB0aGlzIHVuaXQsIHVzdWFsbHlcbiAqICAgIHRoZSBsb25nZXN0IG9uZSAoaW4gY2FzZSBvZiBJU08gd2Vla2RheXMsIGBFRUVFYCkuIERlZmF1bHQgcGF0dGVybnMgZm9yIHVuaXRzXG4gKiAgICBhcmUgbWFya2VkIHdpdGggXCIyXCIgaW4gdGhlIGxhc3QgY29sdW1uIG9mIHRoZSB0YWJsZS5cbiAqXG4gKiAgICBgZm9ybWF0KG5ldyBEYXRlKDIwMTcsIDEwLCA2KSwgJ01NTScpIC8vPT4gJ05vdidgXG4gKlxuICogICAgYGZvcm1hdChuZXcgRGF0ZSgyMDE3LCAxMCwgNiksICdNTU1NJykgLy89PiAnTm92ZW1iZXInYFxuICpcbiAqICAgIGBmb3JtYXQobmV3IERhdGUoMjAxNywgMTAsIDYpLCAnTU1NTU0nKSAvLz0+ICdOJ2BcbiAqXG4gKiAgICBgZm9ybWF0KG5ldyBEYXRlKDIwMTcsIDEwLCA2KSwgJ01NTU1NTScpIC8vPT4gJ05vdmVtYmVyJ2BcbiAqXG4gKiAgICBgZm9ybWF0KG5ldyBEYXRlKDIwMTcsIDEwLCA2KSwgJ01NTU1NTU0nKSAvLz0+ICdOb3ZlbWJlcidgXG4gKlxuICogMy4gU29tZSBwYXR0ZXJucyBjb3VsZCBiZSB1bmxpbWl0ZWQgbGVuZ3RoIChzdWNoIGFzIGB5eXl5eXl5eWApLlxuICogICAgVGhlIG91dHB1dCB3aWxsIGJlIHBhZGRlZCB3aXRoIHplcm9zIHRvIG1hdGNoIHRoZSBsZW5ndGggb2YgdGhlIHBhdHRlcm4uXG4gKlxuICogICAgYGZvcm1hdChuZXcgRGF0ZSgyMDE3LCAxMCwgNiksICd5eXl5eXl5eScpIC8vPT4gJzAwMDAyMDE3J2BcbiAqXG4gKiA0LiBgUVFRUVFgIGFuZCBgcXFxcXFgIGNvdWxkIGJlIG5vdCBzdHJpY3RseSBudW1lcmljYWwgaW4gc29tZSBsb2NhbGVzLlxuICogICAgVGhlc2UgdG9rZW5zIHJlcHJlc2VudCB0aGUgc2hvcnRlc3QgZm9ybSBvZiB0aGUgcXVhcnRlci5cbiAqXG4gKiA1LiBUaGUgbWFpbiBkaWZmZXJlbmNlIGJldHdlZW4gYHlgIGFuZCBgdWAgcGF0dGVybnMgYXJlIEIuQy4geWVhcnM6XG4gKlxuICogICAgfCBZZWFyIHwgYHlgIHwgYHVgIHxcbiAqICAgIHwtLS0tLS18LS0tLS18LS0tLS18XG4gKiAgICB8IEFDIDEgfCAgIDEgfCAgIDEgfFxuICogICAgfCBCQyAxIHwgICAxIHwgICAwIHxcbiAqICAgIHwgQkMgMiB8ICAgMiB8ICAtMSB8XG4gKlxuICogICAgQWxzbyBgeXlgIGFsd2F5cyByZXR1cm5zIHRoZSBsYXN0IHR3byBkaWdpdHMgb2YgYSB5ZWFyLFxuICogICAgd2hpbGUgYHV1YCBwYWRzIHNpbmdsZSBkaWdpdCB5ZWFycyB0byAyIGNoYXJhY3RlcnMgYW5kIHJldHVybnMgb3RoZXIgeWVhcnMgdW5jaGFuZ2VkOlxuICpcbiAqICAgIHwgWWVhciB8IGB5eWAgfCBgdXVgIHxcbiAqICAgIHwtLS0tLS18LS0tLS0tfC0tLS0tLXxcbiAqICAgIHwgMSAgICB8ICAgMDEgfCAgIDAxIHxcbiAqICAgIHwgMTQgICB8ICAgMTQgfCAgIDE0IHxcbiAqICAgIHwgMzc2ICB8ICAgNzYgfCAgMzc2IHxcbiAqICAgIHwgMTQ1MyB8ICAgNTMgfCAxNDUzIHxcbiAqXG4gKiAgICBUaGUgc2FtZSBkaWZmZXJlbmNlIGlzIHRydWUgZm9yIGxvY2FsIGFuZCBJU08gd2Vlay1udW1iZXJpbmcgeWVhcnMgKGBZYCBhbmQgYFJgKSxcbiAqICAgIGV4Y2VwdCBsb2NhbCB3ZWVrLW51bWJlcmluZyB5ZWFycyBhcmUgZGVwZW5kZW50IG9uIGBvcHRpb25zLndlZWtTdGFydHNPbmBcbiAqICAgIGFuZCBgb3B0aW9ucy5maXJzdFdlZWtDb250YWluc0RhdGVgIChjb21wYXJlIFtnZXRJU09XZWVrWWVhcl17QGxpbmsgaHR0cHM6Ly9kYXRlLWZucy5vcmcvZG9jcy9nZXRJU09XZWVrWWVhcn1cbiAqICAgIGFuZCBbZ2V0V2Vla1llYXJde0BsaW5rIGh0dHBzOi8vZGF0ZS1mbnMub3JnL2RvY3MvZ2V0V2Vla1llYXJ9KS5cbiAqXG4gKiA2LiBTcGVjaWZpYyBub24tbG9jYXRpb24gdGltZXpvbmVzIGFyZSBjdXJyZW50bHkgdW5hdmFpbGFibGUgaW4gYGRhdGUtZm5zYCxcbiAqICAgIHNvIHJpZ2h0IG5vdyB0aGVzZSB0b2tlbnMgZmFsbCBiYWNrIHRvIEdNVCB0aW1lem9uZXMuXG4gKlxuICogNy4gVGhlc2UgcGF0dGVybnMgYXJlIG5vdCBpbiB0aGUgVW5pY29kZSBUZWNobmljYWwgU3RhbmRhcmQgIzM1OlxuICogICAgLSBgaWA6IElTTyBkYXkgb2Ygd2Vla1xuICogICAgLSBgSWA6IElTTyB3ZWVrIG9mIHllYXJcbiAqICAgIC0gYFJgOiBJU08gd2Vlay1udW1iZXJpbmcgeWVhclxuICogICAgLSBgdGA6IHNlY29uZHMgdGltZXN0YW1wXG4gKiAgICAtIGBUYDogbWlsbGlzZWNvbmRzIHRpbWVzdGFtcFxuICogICAgLSBgb2A6IG9yZGluYWwgbnVtYmVyIG1vZGlmaWVyXG4gKiAgICAtIGBQYDogbG9uZyBsb2NhbGl6ZWQgZGF0ZVxuICogICAgLSBgcGA6IGxvbmcgbG9jYWxpemVkIHRpbWVcbiAqXG4gKiA4LiBgWVlgIGFuZCBgWVlZWWAgdG9rZW5zIHJlcHJlc2VudCB3ZWVrLW51bWJlcmluZyB5ZWFycyBidXQgdGhleSBhcmUgb2Z0ZW4gY29uZnVzZWQgd2l0aCB5ZWFycy5cbiAqICAgIFlvdSBzaG91bGQgZW5hYmxlIGBvcHRpb25zLnVzZUFkZGl0aW9uYWxXZWVrWWVhclRva2Vuc2AgdG8gdXNlIHRoZW0uIFNlZTogaHR0cHM6Ly9naXQuaW8vZnhDeXJcbiAqXG4gKiA5LiBgRGAgYW5kIGBERGAgdG9rZW5zIHJlcHJlc2VudCBkYXlzIG9mIHRoZSB5ZWFyIGJ1dCB0aGV5IGFyZSBvZnRoZW4gY29uZnVzZWQgd2l0aCBkYXlzIG9mIHRoZSBtb250aC5cbiAqICAgIFlvdSBzaG91bGQgZW5hYmxlIGBvcHRpb25zLnVzZUFkZGl0aW9uYWxEYXlPZlllYXJUb2tlbnNgIHRvIHVzZSB0aGVtLiBTZWU6IGh0dHBzOi8vZ2l0LmlvL2Z4Q3lyXG4gKlxuICogIyMjIHYyLjAuMCBicmVha2luZyBjaGFuZ2VzOlxuICpcbiAqIC0gW0NoYW5nZXMgdGhhdCBhcmUgY29tbW9uIGZvciB0aGUgd2hvbGUgbGlicmFyeV0oaHR0cHM6Ly9naXRodWIuY29tL2RhdGUtZm5zL2RhdGUtZm5zL2Jsb2IvbWFzdGVyL2RvY3MvdXBncmFkZUd1aWRlLm1kI0NvbW1vbi1DaGFuZ2VzKS5cbiAqXG4gKiAtIFRoZSBzZWNvbmQgYXJndW1lbnQgaXMgbm93IHJlcXVpcmVkIGZvciB0aGUgc2FrZSBvZiBleHBsaWNpdG5lc3MuXG4gKlxuICogICBgYGBqYXZhc2NyaXB0XG4gKiAgIC8vIEJlZm9yZSB2Mi4wLjBcbiAqICAgZm9ybWF0KG5ldyBEYXRlKDIwMTYsIDAsIDEpKVxuICpcbiAqICAgLy8gdjIuMC4wIG9ud2FyZFxuICogICBmb3JtYXQobmV3IERhdGUoMjAxNiwgMCwgMSksIFwieXl5eS1NTS1kZCdUJ0hIOm1tOnNzLlNTU3h4eFwiKVxuICogICBgYGBcbiAqXG4gKiAtIE5ldyBmb3JtYXQgc3RyaW5nIEFQSSBmb3IgYGZvcm1hdGAgZnVuY3Rpb25cbiAqICAgd2hpY2ggaXMgYmFzZWQgb24gW1VuaWNvZGUgVGVjaG5pY2FsIFN0YW5kYXJkICMzNV0oaHR0cHM6Ly93d3cudW5pY29kZS5vcmcvcmVwb3J0cy90cjM1L3RyMzUtZGF0ZXMuaHRtbCNEYXRlX0ZpZWxkX1N5bWJvbF9UYWJsZSkuXG4gKiAgIFNlZSBbdGhpcyBwb3N0XShodHRwczovL2Jsb2cuZGF0ZS1mbnMub3JnL3Bvc3QvdW5pY29kZS10b2tlbnMtaW4tZGF0ZS1mbnMtdjItc3JlYXR5a2k5MWpnKSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIC0gQ2hhcmFjdGVycyBhcmUgbm93IGVzY2FwZWQgdXNpbmcgc2luZ2xlIHF1b3RlIHN5bWJvbHMgKGAnYCkgaW5zdGVhZCBvZiBzcXVhcmUgYnJhY2tldHMuXG4gKlxuICogQHBhcmFtIHtEYXRlfE51bWJlcn0gZGF0ZSAtIHRoZSBvcmlnaW5hbCBkYXRlXG4gKiBAcGFyYW0ge1N0cmluZ30gZm9ybWF0IC0gdGhlIHN0cmluZyBvZiB0b2tlbnNcbiAqIEBwYXJhbSB7T2JqZWN0fSBbb3B0aW9uc10gLSBhbiBvYmplY3Qgd2l0aCBvcHRpb25zLlxuICogQHBhcmFtIHtMb2NhbGV9IFtvcHRpb25zLmxvY2FsZT1kZWZhdWx0TG9jYWxlXSAtIHRoZSBsb2NhbGUgb2JqZWN0LiBTZWUgW0xvY2FsZV17QGxpbmsgaHR0cHM6Ly9kYXRlLWZucy5vcmcvZG9jcy9Mb2NhbGV9XG4gKiBAcGFyYW0gezB8MXwyfDN8NHw1fDZ9IFtvcHRpb25zLndlZWtTdGFydHNPbj0wXSAtIHRoZSBpbmRleCBvZiB0aGUgZmlyc3QgZGF5IG9mIHRoZSB3ZWVrICgwIC0gU3VuZGF5KVxuICogQHBhcmFtIHtOdW1iZXJ9IFtvcHRpb25zLmZpcnN0V2Vla0NvbnRhaW5zRGF0ZT0xXSAtIHRoZSBkYXkgb2YgSmFudWFyeSwgd2hpY2ggaXNcbiAqIEBwYXJhbSB7Qm9vbGVhbn0gW29wdGlvbnMudXNlQWRkaXRpb25hbFdlZWtZZWFyVG9rZW5zPWZhbHNlXSAtIGlmIHRydWUsIGFsbG93cyB1c2FnZSBvZiB0aGUgd2Vlay1udW1iZXJpbmcgeWVhciB0b2tlbnMgYFlZYCBhbmQgYFlZWVlgO1xuICogICBzZWU6IGh0dHBzOi8vZ2l0LmlvL2Z4Q3lyXG4gKiBAcGFyYW0ge0Jvb2xlYW59IFtvcHRpb25zLnVzZUFkZGl0aW9uYWxEYXlPZlllYXJUb2tlbnM9ZmFsc2VdIC0gaWYgdHJ1ZSwgYWxsb3dzIHVzYWdlIG9mIHRoZSBkYXkgb2YgeWVhciB0b2tlbnMgYERgIGFuZCBgRERgO1xuICogICBzZWU6IGh0dHBzOi8vZ2l0LmlvL2Z4Q3lyXG4gKiBAcmV0dXJucyB7U3RyaW5nfSB0aGUgZm9ybWF0dGVkIGRhdGUgc3RyaW5nXG4gKiBAdGhyb3dzIHtUeXBlRXJyb3J9IDIgYXJndW1lbnRzIHJlcXVpcmVkXG4gKiBAdGhyb3dzIHtSYW5nZUVycm9yfSBgb3B0aW9ucy5sb2NhbGVgIG11c3QgY29udGFpbiBgbG9jYWxpemVgIHByb3BlcnR5XG4gKiBAdGhyb3dzIHtSYW5nZUVycm9yfSBgb3B0aW9ucy5sb2NhbGVgIG11c3QgY29udGFpbiBgZm9ybWF0TG9uZ2AgcHJvcGVydHlcbiAqIEB0aHJvd3Mge1JhbmdlRXJyb3J9IGBvcHRpb25zLndlZWtTdGFydHNPbmAgbXVzdCBiZSBiZXR3ZWVuIDAgYW5kIDZcbiAqIEB0aHJvd3Mge1JhbmdlRXJyb3J9IGBvcHRpb25zLmZpcnN0V2Vla0NvbnRhaW5zRGF0ZWAgbXVzdCBiZSBiZXR3ZWVuIDEgYW5kIDdcbiAqIEB0aHJvd3Mge1JhbmdlRXJyb3J9IHVzZSBgeXl5eWAgaW5zdGVhZCBvZiBgWVlZWWAgZm9yIGZvcm1hdHRpbmcgeWVhcnM7IHNlZTogaHR0cHM6Ly9naXQuaW8vZnhDeXJcbiAqIEB0aHJvd3Mge1JhbmdlRXJyb3J9IHVzZSBgeXlgIGluc3RlYWQgb2YgYFlZYCBmb3IgZm9ybWF0dGluZyB5ZWFyczsgc2VlOiBodHRwczovL2dpdC5pby9meEN5clxuICogQHRocm93cyB7UmFuZ2VFcnJvcn0gdXNlIGBkYCBpbnN0ZWFkIG9mIGBEYCBmb3IgZm9ybWF0dGluZyBkYXlzIG9mIHRoZSBtb250aDsgc2VlOiBodHRwczovL2dpdC5pby9meEN5clxuICogQHRocm93cyB7UmFuZ2VFcnJvcn0gdXNlIGBkZGAgaW5zdGVhZCBvZiBgRERgIGZvciBmb3JtYXR0aW5nIGRheXMgb2YgdGhlIG1vbnRoOyBzZWU6IGh0dHBzOi8vZ2l0LmlvL2Z4Q3lyXG4gKiBAdGhyb3dzIHtSYW5nZUVycm9yfSBmb3JtYXQgc3RyaW5nIGNvbnRhaW5zIGFuIHVuZXNjYXBlZCBsYXRpbiBhbHBoYWJldCBjaGFyYWN0ZXJcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gUmVwcmVzZW50IDExIEZlYnJ1YXJ5IDIwMTQgaW4gbWlkZGxlLWVuZGlhbiBmb3JtYXQ6XG4gKiB2YXIgcmVzdWx0ID0gZm9ybWF0KG5ldyBEYXRlKDIwMTQsIDEsIDExKSwgJ01NL2RkL3l5eXknKVxuICogLy89PiAnMDIvMTEvMjAxNCdcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gUmVwcmVzZW50IDIgSnVseSAyMDE0IGluIEVzcGVyYW50bzpcbiAqIGltcG9ydCB7IGVvTG9jYWxlIH0gZnJvbSAnZGF0ZS1mbnMvbG9jYWxlL2VvJ1xuICogdmFyIHJlc3VsdCA9IGZvcm1hdChuZXcgRGF0ZSgyMDE0LCA2LCAyKSwgXCJkbyAnZGUnIE1NTU0geXl5eVwiLCB7XG4gKiAgIGxvY2FsZTogZW9Mb2NhbGVcbiAqIH0pXG4gKiAvLz0+ICcyLWEgZGUganVsaW8gMjAxNCdcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gRXNjYXBlIHN0cmluZyBieSBzaW5nbGUgcXVvdGUgY2hhcmFjdGVyczpcbiAqIHZhciByZXN1bHQgPSBmb3JtYXQobmV3IERhdGUoMjAxNCwgNiwgMiwgMTUpLCBcImggJ28nJ2Nsb2NrJ1wiKVxuICogLy89PiBcIjMgbydjbG9ja1wiXG4gKi9cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZm9ybWF0KGRpcnR5RGF0ZSwgZGlydHlGb3JtYXRTdHIsIGRpcnR5T3B0aW9ucykge1xuICBpZiAoYXJndW1lbnRzLmxlbmd0aCA8IDIpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCcyIGFyZ3VtZW50cyByZXF1aXJlZCwgYnV0IG9ubHkgJyArIGFyZ3VtZW50cy5sZW5ndGggKyAnIHByZXNlbnQnKTtcbiAgfVxuXG4gIHZhciBmb3JtYXRTdHIgPSBTdHJpbmcoZGlydHlGb3JtYXRTdHIpO1xuICB2YXIgb3B0aW9ucyA9IGRpcnR5T3B0aW9ucyB8fCB7fTtcbiAgdmFyIGxvY2FsZSA9IG9wdGlvbnMubG9jYWxlIHx8IGRlZmF1bHRMb2NhbGU7XG4gIHZhciBsb2NhbGVGaXJzdFdlZWtDb250YWluc0RhdGUgPSBsb2NhbGUub3B0aW9ucyAmJiBsb2NhbGUub3B0aW9ucy5maXJzdFdlZWtDb250YWluc0RhdGU7XG4gIHZhciBkZWZhdWx0Rmlyc3RXZWVrQ29udGFpbnNEYXRlID0gbG9jYWxlRmlyc3RXZWVrQ29udGFpbnNEYXRlID09IG51bGwgPyAxIDogdG9JbnRlZ2VyKGxvY2FsZUZpcnN0V2Vla0NvbnRhaW5zRGF0ZSk7XG4gIHZhciBmaXJzdFdlZWtDb250YWluc0RhdGUgPSBvcHRpb25zLmZpcnN0V2Vla0NvbnRhaW5zRGF0ZSA9PSBudWxsID8gZGVmYXVsdEZpcnN0V2Vla0NvbnRhaW5zRGF0ZSA6IHRvSW50ZWdlcihvcHRpb25zLmZpcnN0V2Vla0NvbnRhaW5zRGF0ZSk7IC8vIFRlc3QgaWYgd2Vla1N0YXJ0c09uIGlzIGJldHdlZW4gMSBhbmQgNyBfYW5kXyBpcyBub3QgTmFOXG5cbiAgaWYgKCEoZmlyc3RXZWVrQ29udGFpbnNEYXRlID49IDEgJiYgZmlyc3RXZWVrQ29udGFpbnNEYXRlIDw9IDcpKSB7XG4gICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ2ZpcnN0V2Vla0NvbnRhaW5zRGF0ZSBtdXN0IGJlIGJldHdlZW4gMSBhbmQgNyBpbmNsdXNpdmVseScpO1xuICB9XG5cbiAgdmFyIGxvY2FsZVdlZWtTdGFydHNPbiA9IGxvY2FsZS5vcHRpb25zICYmIGxvY2FsZS5vcHRpb25zLndlZWtTdGFydHNPbjtcbiAgdmFyIGRlZmF1bHRXZWVrU3RhcnRzT24gPSBsb2NhbGVXZWVrU3RhcnRzT24gPT0gbnVsbCA/IDAgOiB0b0ludGVnZXIobG9jYWxlV2Vla1N0YXJ0c09uKTtcbiAgdmFyIHdlZWtTdGFydHNPbiA9IG9wdGlvbnMud2Vla1N0YXJ0c09uID09IG51bGwgPyBkZWZhdWx0V2Vla1N0YXJ0c09uIDogdG9JbnRlZ2VyKG9wdGlvbnMud2Vla1N0YXJ0c09uKTsgLy8gVGVzdCBpZiB3ZWVrU3RhcnRzT24gaXMgYmV0d2VlbiAwIGFuZCA2IF9hbmRfIGlzIG5vdCBOYU5cblxuICBpZiAoISh3ZWVrU3RhcnRzT24gPj0gMCAmJiB3ZWVrU3RhcnRzT24gPD0gNikpIHtcbiAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcignd2Vla1N0YXJ0c09uIG11c3QgYmUgYmV0d2VlbiAwIGFuZCA2IGluY2x1c2l2ZWx5Jyk7XG4gIH1cblxuICBpZiAoIWxvY2FsZS5sb2NhbGl6ZSkge1xuICAgIHRocm93IG5ldyBSYW5nZUVycm9yKCdsb2NhbGUgbXVzdCBjb250YWluIGxvY2FsaXplIHByb3BlcnR5Jyk7XG4gIH1cblxuICBpZiAoIWxvY2FsZS5mb3JtYXRMb25nKSB7XG4gICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ2xvY2FsZSBtdXN0IGNvbnRhaW4gZm9ybWF0TG9uZyBwcm9wZXJ0eScpO1xuICB9XG5cbiAgdmFyIG9yaWdpbmFsRGF0ZSA9IHRvRGF0ZShkaXJ0eURhdGUpO1xuXG4gIGlmICghaXNWYWxpZChvcmlnaW5hbERhdGUpKSB7XG4gICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ0ludmFsaWQgdGltZSB2YWx1ZScpO1xuICB9IC8vIENvbnZlcnQgdGhlIGRhdGUgaW4gc3lzdGVtIHRpbWV6b25lIHRvIHRoZSBzYW1lIGRhdGUgaW4gVVRDKzAwOjAwIHRpbWV6b25lLlxuICAvLyBUaGlzIGVuc3VyZXMgdGhhdCB3aGVuIFVUQyBmdW5jdGlvbnMgd2lsbCBiZSBpbXBsZW1lbnRlZCwgbG9jYWxlcyB3aWxsIGJlIGNvbXBhdGlibGUgd2l0aCB0aGVtLlxuICAvLyBTZWUgYW4gaXNzdWUgYWJvdXQgVVRDIGZ1bmN0aW9uczogaHR0cHM6Ly9naXRodWIuY29tL2RhdGUtZm5zL2RhdGUtZm5zL2lzc3Vlcy8zNzZcblxuXG4gIHZhciB0aW1lem9uZU9mZnNldCA9IGdldFRpbWV6b25lT2Zmc2V0SW5NaWxsaXNlY29uZHMob3JpZ2luYWxEYXRlKTtcbiAgdmFyIHV0Y0RhdGUgPSBzdWJNaWxsaXNlY29uZHMob3JpZ2luYWxEYXRlLCB0aW1lem9uZU9mZnNldCk7XG4gIHZhciBmb3JtYXR0ZXJPcHRpb25zID0ge1xuICAgIGZpcnN0V2Vla0NvbnRhaW5zRGF0ZTogZmlyc3RXZWVrQ29udGFpbnNEYXRlLFxuICAgIHdlZWtTdGFydHNPbjogd2Vla1N0YXJ0c09uLFxuICAgIGxvY2FsZTogbG9jYWxlLFxuICAgIF9vcmlnaW5hbERhdGU6IG9yaWdpbmFsRGF0ZVxuICB9O1xuICB2YXIgcmVzdWx0ID0gZm9ybWF0U3RyLm1hdGNoKGxvbmdGb3JtYXR0aW5nVG9rZW5zUmVnRXhwKS5tYXAoZnVuY3Rpb24gKHN1YnN0cmluZykge1xuICAgIHZhciBmaXJzdENoYXJhY3RlciA9IHN1YnN0cmluZ1swXTtcblxuICAgIGlmIChmaXJzdENoYXJhY3RlciA9PT0gJ3AnIHx8IGZpcnN0Q2hhcmFjdGVyID09PSAnUCcpIHtcbiAgICAgIHZhciBsb25nRm9ybWF0dGVyID0gbG9uZ0Zvcm1hdHRlcnNbZmlyc3RDaGFyYWN0ZXJdO1xuICAgICAgcmV0dXJuIGxvbmdGb3JtYXR0ZXIoc3Vic3RyaW5nLCBsb2NhbGUuZm9ybWF0TG9uZywgZm9ybWF0dGVyT3B0aW9ucyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHN1YnN0cmluZztcbiAgfSkuam9pbignJykubWF0Y2goZm9ybWF0dGluZ1Rva2Vuc1JlZ0V4cCkubWFwKGZ1bmN0aW9uIChzdWJzdHJpbmcpIHtcbiAgICAvLyBSZXBsYWNlIHR3byBzaW5nbGUgcXVvdGUgY2hhcmFjdGVycyB3aXRoIG9uZSBzaW5nbGUgcXVvdGUgY2hhcmFjdGVyXG4gICAgaWYgKHN1YnN0cmluZyA9PT0gXCInJ1wiKSB7XG4gICAgICByZXR1cm4gXCInXCI7XG4gICAgfVxuXG4gICAgdmFyIGZpcnN0Q2hhcmFjdGVyID0gc3Vic3RyaW5nWzBdO1xuXG4gICAgaWYgKGZpcnN0Q2hhcmFjdGVyID09PSBcIidcIikge1xuICAgICAgcmV0dXJuIGNsZWFuRXNjYXBlZFN0cmluZyhzdWJzdHJpbmcpO1xuICAgIH1cblxuICAgIHZhciBmb3JtYXR0ZXIgPSBmb3JtYXR0ZXJzW2ZpcnN0Q2hhcmFjdGVyXTtcblxuICAgIGlmIChmb3JtYXR0ZXIpIHtcbiAgICAgIGlmICghb3B0aW9ucy51c2VBZGRpdGlvbmFsV2Vla1llYXJUb2tlbnMgJiYgaXNQcm90ZWN0ZWRXZWVrWWVhclRva2VuKHN1YnN0cmluZykpIHtcbiAgICAgICAgdGhyb3dQcm90ZWN0ZWRFcnJvcihzdWJzdHJpbmcpO1xuICAgICAgfVxuXG4gICAgICBpZiAoIW9wdGlvbnMudXNlQWRkaXRpb25hbERheU9mWWVhclRva2VucyAmJiBpc1Byb3RlY3RlZERheU9mWWVhclRva2VuKHN1YnN0cmluZykpIHtcbiAgICAgICAgdGhyb3dQcm90ZWN0ZWRFcnJvcihzdWJzdHJpbmcpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gZm9ybWF0dGVyKHV0Y0RhdGUsIHN1YnN0cmluZywgbG9jYWxlLmxvY2FsaXplLCBmb3JtYXR0ZXJPcHRpb25zKTtcbiAgICB9XG5cbiAgICBpZiAoZmlyc3RDaGFyYWN0ZXIubWF0Y2godW5lc2NhcGVkTGF0aW5DaGFyYWN0ZXJSZWdFeHApKSB7XG4gICAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcignRm9ybWF0IHN0cmluZyBjb250YWlucyBhbiB1bmVzY2FwZWQgbGF0aW4gYWxwaGFiZXQgY2hhcmFjdGVyIGAnICsgZmlyc3RDaGFyYWN0ZXIgKyAnYCcpO1xuICAgIH1cblxuICAgIHJldHVybiBzdWJzdHJpbmc7XG4gIH0pLmpvaW4oJycpO1xuICByZXR1cm4gcmVzdWx0O1xufVxuXG5mdW5jdGlvbiBjbGVhbkVzY2FwZWRTdHJpbmcoaW5wdXQpIHtcbiAgcmV0dXJuIGlucHV0Lm1hdGNoKGVzY2FwZWRTdHJpbmdSZWdFeHApWzFdLnJlcGxhY2UoZG91YmxlUXVvdGVSZWdFeHAsIFwiJ1wiKTtcbn0iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/format/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/formatDistance/index.js": /*!***********************************************************!*\ !*** ./node_modules/date-fns/esm/formatDistance/index.js ***! \***********************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return formatDistance; });\n/* harmony import */ var _compareAsc_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../compareAsc/index.js */ \"./node_modules/date-fns/esm/compareAsc/index.js\");\n/* harmony import */ var _differenceInMonths_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../differenceInMonths/index.js */ \"./node_modules/date-fns/esm/differenceInMonths/index.js\");\n/* harmony import */ var _differenceInSeconds_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../differenceInSeconds/index.js */ \"./node_modules/date-fns/esm/differenceInSeconds/index.js\");\n/* harmony import */ var _locale_en_US_index_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../locale/en-US/index.js */ \"./node_modules/date-fns/esm/locale/en-US/index.js\");\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n/* harmony import */ var _lib_cloneObject_index_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../_lib/cloneObject/index.js */ \"./node_modules/date-fns/esm/_lib/cloneObject/index.js\");\n/* harmony import */ var _lib_getTimezoneOffsetInMilliseconds_index_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../_lib/getTimezoneOffsetInMilliseconds/index.js */ \"./node_modules/date-fns/esm/_lib/getTimezoneOffsetInMilliseconds/index.js\");\n\n\n\n\n\n\n\nvar MINUTES_IN_DAY = 1440;\nvar MINUTES_IN_ALMOST_TWO_DAYS = 2520;\nvar MINUTES_IN_MONTH = 43200;\nvar MINUTES_IN_TWO_MONTHS = 86400;\n/**\n * @name formatDistance\n * @category Common Helpers\n * @summary Return the distance between the given dates in words.\n *\n * @description\n * Return the distance between the given dates in words.\n *\n * | Distance between dates | Result |\n * |-------------------------------------------------------------------|---------------------|\n * | 0 ... 30 secs | less than a minute |\n * | 30 secs ... 1 min 30 secs | 1 minute |\n * | 1 min 30 secs ... 44 mins 30 secs | [2..44] minutes |\n * | 44 mins ... 30 secs ... 89 mins 30 secs | about 1 hour |\n * | 89 mins 30 secs ... 23 hrs 59 mins 30 secs | about [2..24] hours |\n * | 23 hrs 59 mins 30 secs ... 41 hrs 59 mins 30 secs | 1 day |\n * | 41 hrs 59 mins 30 secs ... 29 days 23 hrs 59 mins 30 secs | [2..30] days |\n * | 29 days 23 hrs 59 mins 30 secs ... 44 days 23 hrs 59 mins 30 secs | about 1 month |\n * | 44 days 23 hrs 59 mins 30 secs ... 59 days 23 hrs 59 mins 30 secs | about 2 months |\n * | 59 days 23 hrs 59 mins 30 secs ... 1 yr | [2..12] months |\n * | 1 yr ... 1 yr 3 months | about 1 year |\n * | 1 yr 3 months ... 1 yr 9 month s | over 1 year |\n * | 1 yr 9 months ... 2 yrs | almost 2 years |\n * | N yrs ... N yrs 3 months | about N years |\n * | N yrs 3 months ... N yrs 9 months | over N years |\n * | N yrs 9 months ... N+1 yrs | almost N+1 years |\n *\n * With `options.includeSeconds == true`:\n * | Distance between dates | Result |\n * |------------------------|----------------------|\n * | 0 secs ... 5 secs | less than 5 seconds |\n * | 5 secs ... 10 secs | less than 10 seconds |\n * | 10 secs ... 20 secs | less than 20 seconds |\n * | 20 secs ... 40 secs | half a minute |\n * | 40 secs ... 60 secs | less than a minute |\n * | 60 secs ... 90 secs | 1 minute |\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * - The function was renamed from `distanceInWords ` to `formatDistance`\n * to make its name consistent with `format` and `formatRelative`.\n *\n * - The order of arguments is swapped to make the function\n * consistent with `differenceIn...` functions.\n *\n * ```javascript\n * // Before v2.0.0\n *\n * distanceInWords(\n * new Date(1986, 3, 4, 10, 32, 0),\n * new Date(1986, 3, 4, 11, 32, 0),\n * { addSuffix: true }\n * ) //=> 'in about 1 hour'\n *\n * // v2.0.0 onward\n *\n * formatDistance(\n * new Date(1986, 3, 4, 11, 32, 0),\n * new Date(1986, 3, 4, 10, 32, 0),\n * { addSuffix: true }\n * ) //=> 'in about 1 hour'\n * ```\n *\n * @param {Date|Number} date - the date\n * @param {Date|Number} baseDate - the date to compare with\n * @param {Object} [options] - an object with options.\n * @param {Boolean} [options.includeSeconds=false] - distances less than a minute are more detailed\n * @param {Boolean} [options.addSuffix=false] - result indicates if the second date is earlier or later than the first\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @returns {String} the distance in words\n * @throws {TypeError} 2 arguments required\n * @throws {RangeError} `options.locale` must contain `formatDistance` property\n *\n * @example\n * // What is the distance between 2 July 2014 and 1 January 2015?\n * var result = formatDistance(new Date(2014, 6, 2), new Date(2015, 0, 1))\n * //=> '6 months'\n *\n * @example\n * // What is the distance between 1 January 2015 00:00:15\n * // and 1 January 2015 00:00:00, including seconds?\n * var result = formatDistance(\n * new Date(2015, 0, 1, 0, 0, 15),\n * new Date(2015, 0, 1, 0, 0, 0),\n * { includeSeconds: true }\n * )\n * //=> 'less than 20 seconds'\n *\n * @example\n * // What is the distance from 1 January 2016\n * // to 1 January 2015, with a suffix?\n * var result = formatDistance(new Date(2015, 0, 1), new Date(2016, 0, 1), {\n * addSuffix: true\n * })\n * //=> 'about 1 year ago'\n *\n * @example\n * // What is the distance between 1 August 2016 and 1 January 2015 in Esperanto?\n * import { eoLocale } from 'date-fns/locale/eo'\n * var result = formatDistance(new Date(2016, 7, 1), new Date(2015, 0, 1), {\n * locale: eoLocale\n * })\n * //=> 'pli ol 1 jaro'\n */\n\nfunction formatDistance(dirtyDate, dirtyBaseDate, dirtyOptions) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present');\n }\n\n var options = dirtyOptions || {};\n var locale = options.locale || _locale_en_US_index_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"];\n\n if (!locale.formatDistance) {\n throw new RangeError('locale must contain formatDistance property');\n }\n\n var comparison = Object(_compareAsc_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate, dirtyBaseDate);\n\n if (isNaN(comparison)) {\n throw new RangeError('Invalid time value');\n }\n\n var localizeOptions = Object(_lib_cloneObject_index_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(options);\n localizeOptions.addSuffix = Boolean(options.addSuffix);\n localizeOptions.comparison = comparison;\n var dateLeft;\n var dateRight;\n\n if (comparison > 0) {\n dateLeft = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(dirtyBaseDate);\n dateRight = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(dirtyDate);\n } else {\n dateLeft = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(dirtyDate);\n dateRight = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(dirtyBaseDate);\n }\n\n var seconds = Object(_differenceInSeconds_index_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(dateRight, dateLeft);\n var offsetInSeconds = (Object(_lib_getTimezoneOffsetInMilliseconds_index_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(dateRight) - Object(_lib_getTimezoneOffsetInMilliseconds_index_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(dateLeft)) / 1000;\n var minutes = Math.round((seconds - offsetInSeconds) / 60);\n var months; // 0 up to 2 mins\n\n if (minutes < 2) {\n if (options.includeSeconds) {\n if (seconds < 5) {\n return locale.formatDistance('lessThanXSeconds', 5, localizeOptions);\n } else if (seconds < 10) {\n return locale.formatDistance('lessThanXSeconds', 10, localizeOptions);\n } else if (seconds < 20) {\n return locale.formatDistance('lessThanXSeconds', 20, localizeOptions);\n } else if (seconds < 40) {\n return locale.formatDistance('halfAMinute', null, localizeOptions);\n } else if (seconds < 60) {\n return locale.formatDistance('lessThanXMinutes', 1, localizeOptions);\n } else {\n return locale.formatDistance('xMinutes', 1, localizeOptions);\n }\n } else {\n if (minutes === 0) {\n return locale.formatDistance('lessThanXMinutes', 1, localizeOptions);\n } else {\n return locale.formatDistance('xMinutes', minutes, localizeOptions);\n }\n } // 2 mins up to 0.75 hrs\n\n } else if (minutes < 45) {\n return locale.formatDistance('xMinutes', minutes, localizeOptions); // 0.75 hrs up to 1.5 hrs\n } else if (minutes < 90) {\n return locale.formatDistance('aboutXHours', 1, localizeOptions); // 1.5 hrs up to 24 hrs\n } else if (minutes < MINUTES_IN_DAY) {\n var hours = Math.round(minutes / 60);\n return locale.formatDistance('aboutXHours', hours, localizeOptions); // 1 day up to 1.75 days\n } else if (minutes < MINUTES_IN_ALMOST_TWO_DAYS) {\n return locale.formatDistance('xDays', 1, localizeOptions); // 1.75 days up to 30 days\n } else if (minutes < MINUTES_IN_MONTH) {\n var days = Math.round(minutes / MINUTES_IN_DAY);\n return locale.formatDistance('xDays', days, localizeOptions); // 1 month up to 2 months\n } else if (minutes < MINUTES_IN_TWO_MONTHS) {\n months = Math.round(minutes / MINUTES_IN_MONTH);\n return locale.formatDistance('aboutXMonths', months, localizeOptions);\n }\n\n months = Object(_differenceInMonths_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(dateRight, dateLeft); // 2 months up to 12 months\n\n if (months < 12) {\n var nearestMonth = Math.round(minutes / MINUTES_IN_MONTH);\n return locale.formatDistance('xMonths', nearestMonth, localizeOptions); // 1 year up to max Date\n } else {\n var monthsSinceStartOfYear = months % 12;\n var years = Math.floor(months / 12); // N years up to 1 years 3 months\n\n if (monthsSinceStartOfYear < 3) {\n return locale.formatDistance('aboutXYears', years, localizeOptions); // N years 3 months up to N years 9 months\n } else if (monthsSinceStartOfYear < 9) {\n return locale.formatDistance('overXYears', years, localizeOptions); // N years 9 months up to N year 12 months\n } else {\n return locale.formatDistance('almostXYears', years + 1, localizeOptions);\n }\n }\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2Zvcm1hdERpc3RhbmNlL2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2VzbS9mb3JtYXREaXN0YW5jZS9pbmRleC5qcz8xNTU2Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBjb21wYXJlQXNjIGZyb20gJy4uL2NvbXBhcmVBc2MvaW5kZXguanMnO1xuaW1wb3J0IGRpZmZlcmVuY2VJbk1vbnRocyBmcm9tICcuLi9kaWZmZXJlbmNlSW5Nb250aHMvaW5kZXguanMnO1xuaW1wb3J0IGRpZmZlcmVuY2VJblNlY29uZHMgZnJvbSAnLi4vZGlmZmVyZW5jZUluU2Vjb25kcy9pbmRleC5qcyc7XG5pbXBvcnQgZGVmYXVsdExvY2FsZSBmcm9tICcuLi9sb2NhbGUvZW4tVVMvaW5kZXguanMnO1xuaW1wb3J0IHRvRGF0ZSBmcm9tICcuLi90b0RhdGUvaW5kZXguanMnO1xuaW1wb3J0IGNsb25lT2JqZWN0IGZyb20gJy4uL19saWIvY2xvbmVPYmplY3QvaW5kZXguanMnO1xuaW1wb3J0IGdldFRpbWV6b25lT2Zmc2V0SW5NaWxsaXNlY29uZHMgZnJvbSAnLi4vX2xpYi9nZXRUaW1lem9uZU9mZnNldEluTWlsbGlzZWNvbmRzL2luZGV4LmpzJztcbnZhciBNSU5VVEVTX0lOX0RBWSA9IDE0NDA7XG52YXIgTUlOVVRFU19JTl9BTE1PU1RfVFdPX0RBWVMgPSAyNTIwO1xudmFyIE1JTlVURVNfSU5fTU9OVEggPSA0MzIwMDtcbnZhciBNSU5VVEVTX0lOX1RXT19NT05USFMgPSA4NjQwMDtcbi8qKlxuICogQG5hbWUgZm9ybWF0RGlzdGFuY2VcbiAqIEBjYXRlZ29yeSBDb21tb24gSGVscGVyc1xuICogQHN1bW1hcnkgUmV0dXJuIHRoZSBkaXN0YW5jZSBiZXR3ZWVuIHRoZSBnaXZlbiBkYXRlcyBpbiB3b3Jkcy5cbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIFJldHVybiB0aGUgZGlzdGFuY2UgYmV0d2VlbiB0aGUgZ2l2ZW4gZGF0ZXMgaW4gd29yZHMuXG4gKlxuICogfCBEaXN0YW5jZSBiZXR3ZWVuIGRhdGVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFJlc3VsdCAgICAgICAgICAgICAgfFxuICogfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18LS0tLS0tLS0tLS0tLS0tLS0tLS0tfFxuICogfCAwIC4uLiAzMCBzZWNzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGxlc3MgdGhhbiBhIG1pbnV0ZSAgfFxuICogfCAzMCBzZWNzIC4uLiAxIG1pbiAzMCBzZWNzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDEgbWludXRlICAgICAgICAgICAgfFxuICogfCAxIG1pbiAzMCBzZWNzIC4uLiA0NCBtaW5zIDMwIHNlY3MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFsyLi40NF0gbWludXRlcyAgICAgfFxuICogfCA0NCBtaW5zIC4uLiAzMCBzZWNzIC4uLiA4OSBtaW5zIDMwIHNlY3MgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGFib3V0IDEgaG91ciAgICAgICAgfFxuICogfCA4OSBtaW5zIDMwIHNlY3MgLi4uIDIzIGhycyA1OSBtaW5zIDMwIHNlY3MgICAgICAgICAgICAgICAgICAgICAgICB8IGFib3V0IFsyLi4yNF0gaG91cnMgfFxuICogfCAyMyBocnMgNTkgbWlucyAzMCBzZWNzIC4uLiA0MSBocnMgNTkgbWlucyAzMCBzZWNzICAgICAgICAgICAgICAgICB8IDEgZGF5ICAgICAgICAgICAgICAgfFxuICogfCA0MSBocnMgNTkgbWlucyAzMCBzZWNzIC4uLiAyOSBkYXlzIDIzIGhycyA1OSBtaW5zIDMwIHNlY3MgICAgICAgICB8IFsyLi4zMF0gZGF5cyAgICAgICAgfFxuICogfCAyOSBkYXlzIDIzIGhycyA1OSBtaW5zIDMwIHNlY3MgLi4uIDQ0IGRheXMgMjMgaHJzIDU5IG1pbnMgMzAgc2VjcyB8IGFib3V0IDEgbW9udGggICAgICAgfFxuICogfCA0NCBkYXlzIDIzIGhycyA1OSBtaW5zIDMwIHNlY3MgLi4uIDU5IGRheXMgMjMgaHJzIDU5IG1pbnMgMzAgc2VjcyB8IGFib3V0IDIgbW9udGhzICAgICAgfFxuICogfCA1OSBkYXlzIDIzIGhycyA1OSBtaW5zIDMwIHNlY3MgLi4uIDEgeXIgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFsyLi4xMl0gbW9udGhzICAgICAgfFxuICogfCAxIHlyIC4uLiAxIHlyIDMgbW9udGhzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGFib3V0IDEgeWVhciAgICAgICAgfFxuICogfCAxIHlyIDMgbW9udGhzIC4uLiAxIHlyIDkgbW9udGggcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IG92ZXIgMSB5ZWFyICAgICAgICAgfFxuICogfCAxIHlyIDkgbW9udGhzIC4uLiAyIHlycyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGFsbW9zdCAyIHllYXJzICAgICAgfFxuICogfCBOIHlycyAuLi4gTiB5cnMgMyBtb250aHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGFib3V0IE4geWVhcnMgICAgICAgfFxuICogfCBOIHlycyAzIG1vbnRocyAuLi4gTiB5cnMgOSBtb250aHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IG92ZXIgTiB5ZWFycyAgICAgICAgfFxuICogfCBOIHlycyA5IG1vbnRocyAuLi4gTisxIHlycyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGFsbW9zdCBOKzEgeWVhcnMgICAgfFxuICpcbiAqIFdpdGggYG9wdGlvbnMuaW5jbHVkZVNlY29uZHMgPT0gdHJ1ZWA6XG4gKiB8IERpc3RhbmNlIGJldHdlZW4gZGF0ZXMgfCBSZXN1bHQgICAgICAgICAgICAgICB8XG4gKiB8LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS18XG4gKiB8IDAgc2VjcyAuLi4gNSBzZWNzICAgICAgfCBsZXNzIHRoYW4gNSBzZWNvbmRzICB8XG4gKiB8IDUgc2VjcyAuLi4gMTAgc2VjcyAgICAgfCBsZXNzIHRoYW4gMTAgc2Vjb25kcyB8XG4gKiB8IDEwIHNlY3MgLi4uIDIwIHNlY3MgICAgfCBsZXNzIHRoYW4gMjAgc2Vjb25kcyB8XG4gKiB8IDIwIHNlY3MgLi4uIDQwIHNlY3MgICAgfCBoYWxmIGEgbWludXRlICAgICAgICB8XG4gKiB8IDQwIHNlY3MgLi4uIDYwIHNlY3MgICAgfCBsZXNzIHRoYW4gYSBtaW51dGUgICB8XG4gKiB8IDYwIHNlY3MgLi4uIDkwIHNlY3MgICAgfCAxIG1pbnV0ZSAgICAgICAgICAgICB8XG4gKlxuICogIyMjIHYyLjAuMCBicmVha2luZyBjaGFuZ2VzOlxuICpcbiAqIC0gW0NoYW5nZXMgdGhhdCBhcmUgY29tbW9uIGZvciB0aGUgd2hvbGUgbGlicmFyeV0oaHR0cHM6Ly9naXRodWIuY29tL2RhdGUtZm5zL2RhdGUtZm5zL2Jsb2IvbWFzdGVyL2RvY3MvdXBncmFkZUd1aWRlLm1kI0NvbW1vbi1DaGFuZ2VzKS5cbiAqXG4gKiAtIFRoZSBmdW5jdGlvbiB3YXMgcmVuYW1lZCBmcm9tIGBkaXN0YW5jZUluV29yZHMgYCB0byBgZm9ybWF0RGlzdGFuY2VgXG4gKiAgIHRvIG1ha2UgaXRzIG5hbWUgY29uc2lzdGVudCB3aXRoIGBmb3JtYXRgIGFuZCBgZm9ybWF0UmVsYXRpdmVgLlxuICpcbiAqIC0gVGhlIG9yZGVyIG9mIGFyZ3VtZW50cyBpcyBzd2FwcGVkIHRvIG1ha2UgdGhlIGZ1bmN0aW9uXG4gKiAgIGNvbnNpc3RlbnQgd2l0aCBgZGlmZmVyZW5jZUluLi4uYCBmdW5jdGlvbnMuXG4gKlxuICogICBgYGBqYXZhc2NyaXB0XG4gKiAgIC8vIEJlZm9yZSB2Mi4wLjBcbiAqXG4gKiAgIGRpc3RhbmNlSW5Xb3JkcyhcbiAqICAgICBuZXcgRGF0ZSgxOTg2LCAzLCA0LCAxMCwgMzIsIDApLFxuICogICAgIG5ldyBEYXRlKDE5ODYsIDMsIDQsIDExLCAzMiwgMCksXG4gKiAgICAgeyBhZGRTdWZmaXg6IHRydWUgfVxuICogICApIC8vPT4gJ2luIGFib3V0IDEgaG91cidcbiAqXG4gKiAgIC8vIHYyLjAuMCBvbndhcmRcbiAqXG4gKiAgIGZvcm1hdERpc3RhbmNlKFxuICogICAgIG5ldyBEYXRlKDE5ODYsIDMsIDQsIDExLCAzMiwgMCksXG4gKiAgICAgbmV3IERhdGUoMTk4NiwgMywgNCwgMTAsIDMyLCAwKSxcbiAqICAgICB7IGFkZFN1ZmZpeDogdHJ1ZSB9XG4gKiAgICkgLy89PiAnaW4gYWJvdXQgMSBob3VyJ1xuICogICBgYGBcbiAqXG4gKiBAcGFyYW0ge0RhdGV8TnVtYmVyfSBkYXRlIC0gdGhlIGRhdGVcbiAqIEBwYXJhbSB7RGF0ZXxOdW1iZXJ9IGJhc2VEYXRlIC0gdGhlIGRhdGUgdG8gY29tcGFyZSB3aXRoXG4gKiBAcGFyYW0ge09iamVjdH0gW29wdGlvbnNdIC0gYW4gb2JqZWN0IHdpdGggb3B0aW9ucy5cbiAqIEBwYXJhbSB7Qm9vbGVhbn0gW29wdGlvbnMuaW5jbHVkZVNlY29uZHM9ZmFsc2VdIC0gZGlzdGFuY2VzIGxlc3MgdGhhbiBhIG1pbnV0ZSBhcmUgbW9yZSBkZXRhaWxlZFxuICogQHBhcmFtIHtCb29sZWFufSBbb3B0aW9ucy5hZGRTdWZmaXg9ZmFsc2VdIC0gcmVzdWx0IGluZGljYXRlcyBpZiB0aGUgc2Vjb25kIGRhdGUgaXMgZWFybGllciBvciBsYXRlciB0aGFuIHRoZSBmaXJzdFxuICogQHBhcmFtIHtMb2NhbGV9IFtvcHRpb25zLmxvY2FsZT1kZWZhdWx0TG9jYWxlXSAtIHRoZSBsb2NhbGUgb2JqZWN0LiBTZWUgW0xvY2FsZV17QGxpbmsgaHR0cHM6Ly9kYXRlLWZucy5vcmcvZG9jcy9Mb2NhbGV9XG4gKiBAcmV0dXJucyB7U3RyaW5nfSB0aGUgZGlzdGFuY2UgaW4gd29yZHNcbiAqIEB0aHJvd3Mge1R5cGVFcnJvcn0gMiBhcmd1bWVudHMgcmVxdWlyZWRcbiAqIEB0aHJvd3Mge1JhbmdlRXJyb3J9IGBvcHRpb25zLmxvY2FsZWAgbXVzdCBjb250YWluIGBmb3JtYXREaXN0YW5jZWAgcHJvcGVydHlcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gV2hhdCBpcyB0aGUgZGlzdGFuY2UgYmV0d2VlbiAyIEp1bHkgMjAxNCBhbmQgMSBKYW51YXJ5IDIwMTU/XG4gKiB2YXIgcmVzdWx0ID0gZm9ybWF0RGlzdGFuY2UobmV3IERhdGUoMjAxNCwgNiwgMiksIG5ldyBEYXRlKDIwMTUsIDAsIDEpKVxuICogLy89PiAnNiBtb250aHMnXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIFdoYXQgaXMgdGhlIGRpc3RhbmNlIGJldHdlZW4gMSBKYW51YXJ5IDIwMTUgMDA6MDA6MTVcbiAqIC8vIGFuZCAxIEphbnVhcnkgMjAxNSAwMDowMDowMCwgaW5jbHVkaW5nIHNlY29uZHM/XG4gKiB2YXIgcmVzdWx0ID0gZm9ybWF0RGlzdGFuY2UoXG4gKiAgIG5ldyBEYXRlKDIwMTUsIDAsIDEsIDAsIDAsIDE1KSxcbiAqICAgbmV3IERhdGUoMjAxNSwgMCwgMSwgMCwgMCwgMCksXG4gKiAgIHsgaW5jbHVkZVNlY29uZHM6IHRydWUgfVxuICogKVxuICogLy89PiAnbGVzcyB0aGFuIDIwIHNlY29uZHMnXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIFdoYXQgaXMgdGhlIGRpc3RhbmNlIGZyb20gMSBKYW51YXJ5IDIwMTZcbiAqIC8vIHRvIDEgSmFudWFyeSAyMDE1LCB3aXRoIGEgc3VmZml4P1xuICogdmFyIHJlc3VsdCA9IGZvcm1hdERpc3RhbmNlKG5ldyBEYXRlKDIwMTUsIDAsIDEpLCBuZXcgRGF0ZSgyMDE2LCAwLCAxKSwge1xuICogICBhZGRTdWZmaXg6IHRydWVcbiAqIH0pXG4gKiAvLz0+ICdhYm91dCAxIHllYXIgYWdvJ1xuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBXaGF0IGlzIHRoZSBkaXN0YW5jZSBiZXR3ZWVuIDEgQXVndXN0IDIwMTYgYW5kIDEgSmFudWFyeSAyMDE1IGluIEVzcGVyYW50bz9cbiAqIGltcG9ydCB7IGVvTG9jYWxlIH0gZnJvbSAnZGF0ZS1mbnMvbG9jYWxlL2VvJ1xuICogdmFyIHJlc3VsdCA9IGZvcm1hdERpc3RhbmNlKG5ldyBEYXRlKDIwMTYsIDcsIDEpLCBuZXcgRGF0ZSgyMDE1LCAwLCAxKSwge1xuICogICBsb2NhbGU6IGVvTG9jYWxlXG4gKiB9KVxuICogLy89PiAncGxpIG9sIDEgamFybydcbiAqL1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBmb3JtYXREaXN0YW5jZShkaXJ0eURhdGUsIGRpcnR5QmFzZURhdGUsIGRpcnR5T3B0aW9ucykge1xuICBpZiAoYXJndW1lbnRzLmxlbmd0aCA8IDIpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCcyIGFyZ3VtZW50cyByZXF1aXJlZCwgYnV0IG9ubHkgJyArIGFyZ3VtZW50cy5sZW5ndGggKyAnIHByZXNlbnQnKTtcbiAgfVxuXG4gIHZhciBvcHRpb25zID0gZGlydHlPcHRpb25zIHx8IHt9O1xuICB2YXIgbG9jYWxlID0gb3B0aW9ucy5sb2NhbGUgfHwgZGVmYXVsdExvY2FsZTtcblxuICBpZiAoIWxvY2FsZS5mb3JtYXREaXN0YW5jZSkge1xuICAgIHRocm93IG5ldyBSYW5nZUVycm9yKCdsb2NhbGUgbXVzdCBjb250YWluIGZvcm1hdERpc3RhbmNlIHByb3BlcnR5Jyk7XG4gIH1cblxuICB2YXIgY29tcGFyaXNvbiA9IGNvbXBhcmVBc2MoZGlydHlEYXRlLCBkaXJ0eUJhc2VEYXRlKTtcblxuICBpZiAoaXNOYU4oY29tcGFyaXNvbikpIHtcbiAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcignSW52YWxpZCB0aW1lIHZhbHVlJyk7XG4gIH1cblxuICB2YXIgbG9jYWxpemVPcHRpb25zID0gY2xvbmVPYmplY3Qob3B0aW9ucyk7XG4gIGxvY2FsaXplT3B0aW9ucy5hZGRTdWZmaXggPSBCb29sZWFuKG9wdGlvbnMuYWRkU3VmZml4KTtcbiAgbG9jYWxpemVPcHRpb25zLmNvbXBhcmlzb24gPSBjb21wYXJpc29uO1xuICB2YXIgZGF0ZUxlZnQ7XG4gIHZhciBkYXRlUmlnaHQ7XG5cbiAgaWYgKGNvbXBhcmlzb24gPiAwKSB7XG4gICAgZGF0ZUxlZnQgPSB0b0RhdGUoZGlydHlCYXNlRGF0ZSk7XG4gICAgZGF0ZVJpZ2h0ID0gdG9EYXRlKGRpcnR5RGF0ZSk7XG4gIH0gZWxzZSB7XG4gICAgZGF0ZUxlZnQgPSB0b0RhdGUoZGlydHlEYXRlKTtcbiAgICBkYXRlUmlnaHQgPSB0b0RhdGUoZGlydHlCYXNlRGF0ZSk7XG4gIH1cblxuICB2YXIgc2Vjb25kcyA9IGRpZmZlcmVuY2VJblNlY29uZHMoZGF0ZVJpZ2h0LCBkYXRlTGVmdCk7XG4gIHZhciBvZmZzZXRJblNlY29uZHMgPSAoZ2V0VGltZXpvbmVPZmZzZXRJbk1pbGxpc2Vjb25kcyhkYXRlUmlnaHQpIC0gZ2V0VGltZXpvbmVPZmZzZXRJbk1pbGxpc2Vjb25kcyhkYXRlTGVmdCkpIC8gMTAwMDtcbiAgdmFyIG1pbnV0ZXMgPSBNYXRoLnJvdW5kKChzZWNvbmRzIC0gb2Zmc2V0SW5TZWNvbmRzKSAvIDYwKTtcbiAgdmFyIG1vbnRoczsgLy8gMCB1cCB0byAyIG1pbnNcblxuICBpZiAobWludXRlcyA8IDIpIHtcbiAgICBpZiAob3B0aW9ucy5pbmNsdWRlU2Vjb25kcykge1xuICAgICAgaWYgKHNlY29uZHMgPCA1KSB7XG4gICAgICAgIHJldHVybiBsb2NhbGUuZm9ybWF0RGlzdGFuY2UoJ2xlc3NUaGFuWFNlY29uZHMnLCA1LCBsb2NhbGl6ZU9wdGlvbnMpO1xuICAgICAgfSBlbHNlIGlmIChzZWNvbmRzIDwgMTApIHtcbiAgICAgICAgcmV0dXJuIGxvY2FsZS5mb3JtYXREaXN0YW5jZSgnbGVzc1RoYW5YU2Vjb25kcycsIDEwLCBsb2NhbGl6ZU9wdGlvbnMpO1xuICAgICAgfSBlbHNlIGlmIChzZWNvbmRzIDwgMjApIHtcbiAgICAgICAgcmV0dXJuIGxvY2FsZS5mb3JtYXREaXN0YW5jZSgnbGVzc1RoYW5YU2Vjb25kcycsIDIwLCBsb2NhbGl6ZU9wdGlvbnMpO1xuICAgICAgfSBlbHNlIGlmIChzZWNvbmRzIDwgNDApIHtcbiAgICAgICAgcmV0dXJuIGxvY2FsZS5mb3JtYXREaXN0YW5jZSgnaGFsZkFNaW51dGUnLCBudWxsLCBsb2NhbGl6ZU9wdGlvbnMpO1xuICAgICAgfSBlbHNlIGlmIChzZWNvbmRzIDwgNjApIHtcbiAgICAgICAgcmV0dXJuIGxvY2FsZS5mb3JtYXREaXN0YW5jZSgnbGVzc1RoYW5YTWludXRlcycsIDEsIGxvY2FsaXplT3B0aW9ucyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gbG9jYWxlLmZvcm1hdERpc3RhbmNlKCd4TWludXRlcycsIDEsIGxvY2FsaXplT3B0aW9ucyk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChtaW51dGVzID09PSAwKSB7XG4gICAgICAgIHJldHVybiBsb2NhbGUuZm9ybWF0RGlzdGFuY2UoJ2xlc3NUaGFuWE1pbnV0ZXMnLCAxLCBsb2NhbGl6ZU9wdGlvbnMpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIGxvY2FsZS5mb3JtYXREaXN0YW5jZSgneE1pbnV0ZXMnLCBtaW51dGVzLCBsb2NhbGl6ZU9wdGlvbnMpO1xuICAgICAgfVxuICAgIH0gLy8gMiBtaW5zIHVwIHRvIDAuNzUgaHJzXG5cbiAgfSBlbHNlIGlmIChtaW51dGVzIDwgNDUpIHtcbiAgICByZXR1cm4gbG9jYWxlLmZvcm1hdERpc3RhbmNlKCd4TWludXRlcycsIG1pbnV0ZXMsIGxvY2FsaXplT3B0aW9ucyk7IC8vIDAuNzUgaHJzIHVwIHRvIDEuNSBocnNcbiAgfSBlbHNlIGlmIChtaW51dGVzIDwgOTApIHtcbiAgICByZXR1cm4gbG9jYWxlLmZvcm1hdERpc3RhbmNlKCdhYm91dFhIb3VycycsIDEsIGxvY2FsaXplT3B0aW9ucyk7IC8vIDEuNSBocnMgdXAgdG8gMjQgaHJzXG4gIH0gZWxzZSBpZiAobWludXRlcyA8IE1JTlVURVNfSU5fREFZKSB7XG4gICAgdmFyIGhvdXJzID0gTWF0aC5yb3VuZChtaW51dGVzIC8gNjApO1xuICAgIHJldHVybiBsb2NhbGUuZm9ybWF0RGlzdGFuY2UoJ2Fib3V0WEhvdXJzJywgaG91cnMsIGxvY2FsaXplT3B0aW9ucyk7IC8vIDEgZGF5IHVwIHRvIDEuNzUgZGF5c1xuICB9IGVsc2UgaWYgKG1pbnV0ZXMgPCBNSU5VVEVTX0lOX0FMTU9TVF9UV09fREFZUykge1xuICAgIHJldHVybiBsb2NhbGUuZm9ybWF0RGlzdGFuY2UoJ3hEYXlzJywgMSwgbG9jYWxpemVPcHRpb25zKTsgLy8gMS43NSBkYXlzIHVwIHRvIDMwIGRheXNcbiAgfSBlbHNlIGlmIChtaW51dGVzIDwgTUlOVVRFU19JTl9NT05USCkge1xuICAgIHZhciBkYXlzID0gTWF0aC5yb3VuZChtaW51dGVzIC8gTUlOVVRFU19JTl9EQVkpO1xuICAgIHJldHVybiBsb2NhbGUuZm9ybWF0RGlzdGFuY2UoJ3hEYXlzJywgZGF5cywgbG9jYWxpemVPcHRpb25zKTsgLy8gMSBtb250aCB1cCB0byAyIG1vbnRoc1xuICB9IGVsc2UgaWYgKG1pbnV0ZXMgPCBNSU5VVEVTX0lOX1RXT19NT05USFMpIHtcbiAgICBtb250aHMgPSBNYXRoLnJvdW5kKG1pbnV0ZXMgLyBNSU5VVEVTX0lOX01PTlRIKTtcbiAgICByZXR1cm4gbG9jYWxlLmZvcm1hdERpc3RhbmNlKCdhYm91dFhNb250aHMnLCBtb250aHMsIGxvY2FsaXplT3B0aW9ucyk7XG4gIH1cblxuICBtb250aHMgPSBkaWZmZXJlbmNlSW5Nb250aHMoZGF0ZVJpZ2h0LCBkYXRlTGVmdCk7IC8vIDIgbW9udGhzIHVwIHRvIDEyIG1vbnRoc1xuXG4gIGlmIChtb250aHMgPCAxMikge1xuICAgIHZhciBuZWFyZXN0TW9udGggPSBNYXRoLnJvdW5kKG1pbnV0ZXMgLyBNSU5VVEVTX0lOX01PTlRIKTtcbiAgICByZXR1cm4gbG9jYWxlLmZvcm1hdERpc3RhbmNlKCd4TW9udGhzJywgbmVhcmVzdE1vbnRoLCBsb2NhbGl6ZU9wdGlvbnMpOyAvLyAxIHllYXIgdXAgdG8gbWF4IERhdGVcbiAgfSBlbHNlIHtcbiAgICB2YXIgbW9udGhzU2luY2VTdGFydE9mWWVhciA9IG1vbnRocyAlIDEyO1xuICAgIHZhciB5ZWFycyA9IE1hdGguZmxvb3IobW9udGhzIC8gMTIpOyAvLyBOIHllYXJzIHVwIHRvIDEgeWVhcnMgMyBtb250aHNcblxuICAgIGlmIChtb250aHNTaW5jZVN0YXJ0T2ZZZWFyIDwgMykge1xuICAgICAgcmV0dXJuIGxvY2FsZS5mb3JtYXREaXN0YW5jZSgnYWJvdXRYWWVhcnMnLCB5ZWFycywgbG9jYWxpemVPcHRpb25zKTsgLy8gTiB5ZWFycyAzIG1vbnRocyB1cCB0byBOIHllYXJzIDkgbW9udGhzXG4gICAgfSBlbHNlIGlmIChtb250aHNTaW5jZVN0YXJ0T2ZZZWFyIDwgOSkge1xuICAgICAgcmV0dXJuIGxvY2FsZS5mb3JtYXREaXN0YW5jZSgnb3ZlclhZZWFycycsIHllYXJzLCBsb2NhbGl6ZU9wdGlvbnMpOyAvLyBOIHllYXJzIDkgbW9udGhzIHVwIHRvIE4geWVhciAxMiBtb250aHNcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGxvY2FsZS5mb3JtYXREaXN0YW5jZSgnYWxtb3N0WFllYXJzJywgeWVhcnMgKyAxLCBsb2NhbGl6ZU9wdGlvbnMpO1xuICAgIH1cbiAgfVxufSJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/formatDistance/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/formatDistanceStrict/index.js": /*!*****************************************************************!*\ !*** ./node_modules/date-fns/esm/formatDistanceStrict/index.js ***! \*****************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return formatDistanceStrict; });\n/* harmony import */ var _lib_getTimezoneOffsetInMilliseconds_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_lib/getTimezoneOffsetInMilliseconds/index.js */ \"./node_modules/date-fns/esm/_lib/getTimezoneOffsetInMilliseconds/index.js\");\n/* harmony import */ var _compareAsc_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../compareAsc/index.js */ \"./node_modules/date-fns/esm/compareAsc/index.js\");\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n/* harmony import */ var _differenceInSeconds_index_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../differenceInSeconds/index.js */ \"./node_modules/date-fns/esm/differenceInSeconds/index.js\");\n/* harmony import */ var _lib_cloneObject_index_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../_lib/cloneObject/index.js */ \"./node_modules/date-fns/esm/_lib/cloneObject/index.js\");\n/* harmony import */ var _locale_en_US_index_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../locale/en-US/index.js */ \"./node_modules/date-fns/esm/locale/en-US/index.js\");\n\n\n\n\n\n\nvar MINUTES_IN_DAY = 1440;\nvar MINUTES_IN_MONTH = 43200;\nvar MINUTES_IN_YEAR = 525600;\n/**\n * @name formatDistanceStrict\n * @category Common Helpers\n * @summary Return the distance between the given dates in words.\n *\n * @description\n * Return the distance between the given dates in words, using strict units.\n * This is like `formatDistance`, but does not use helpers like 'almost', 'over',\n * 'less than' and the like.\n *\n * | Distance between dates | Result |\n * |------------------------|---------------------|\n * | 0 ... 59 secs | [0..59] seconds |\n * | 1 ... 59 mins | [1..59] minutes |\n * | 1 ... 23 hrs | [1..23] hours |\n * | 1 ... 29 days | [1..29] days |\n * | 1 ... 11 months | [1..11] months |\n * | 1 ... N years | [1..N] years |\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * - The function was renamed from `distanceInWordsStrict` to `formatDistanceStrict`\n * to make its name consistent with `format` and `formatRelative`.\n *\n * - The order of arguments is swapped to make the function\n * consistent with `differenceIn...` functions.\n *\n * ```javascript\n * // Before v2.0.0\n *\n * distanceInWordsStrict(\n * new Date(2015, 0, 2),\n * new Date(2014, 6, 2)\n * ) //=> '6 months'\n *\n * // v2.0.0 onward\n *\n * formatDistanceStrict(\n * new Date(2014, 6, 2),\n * new Date(2015, 0, 2)\n * ) //=> '6 months'\n * ```\n *\n * - `partialMethod` option is renamed to `roundingMethod`.\n *\n * ```javascript\n * // Before v2.0.0\n *\n * distanceInWordsStrict(\n * new Date(1986, 3, 4, 10, 32, 0),\n * new Date(1986, 3, 4, 10, 33, 1),\n * { partialMethod: 'ceil' }\n * ) //=> '2 minutes'\n *\n * // v2.0.0 onward\n *\n * formatDistanceStrict(\n * new Date(1986, 3, 4, 10, 33, 1),\n * new Date(1986, 3, 4, 10, 32, 0),\n * { roundingMethod: 'ceil' }\n * ) //=> '2 minutes'\n * ```\n *\n * - If `roundingMethod` is not specified, it now defaults to `round` instead of `floor`.\n *\n * - `unit` option now accepts one of the strings:\n * 'second', 'minute', 'hour', 'day', 'month' or 'year' instead of 's', 'm', 'h', 'd', 'M' or 'Y'\n *\n * ```javascript\n * // Before v2.0.0\n *\n * distanceInWordsStrict(\n * new Date(1986, 3, 4, 10, 32, 0),\n * new Date(1986, 3, 4, 10, 33, 1),\n * { unit: 'm' }\n * )\n *\n * // v2.0.0 onward\n *\n * formatDistanceStrict(\n * new Date(1986, 3, 4, 10, 33, 1),\n * new Date(1986, 3, 4, 10, 32, 0),\n * { unit: 'minute' }\n * )\n * ```\n *\n * @param {Date|Number} date - the date\n * @param {Date|Number} baseDate - the date to compare with\n * @param {Object} [options] - an object with options.\n * @param {Boolean} [options.addSuffix=false] - result indicates if the second date is earlier or later than the first\n * @param {'second'|'minute'|'hour'|'day'|'month'|'year'} [options.unit] - if specified, will force a unit\n * @param {'floor'|'ceil'|'round'} [options.roundingMethod='round'] - which way to round partial units\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @returns {String} the distance in words\n * @throws {TypeError} 2 arguments required\n * @throws {RangeError} `options.roundingMethod` must be 'floor', 'ceil' or 'round'\n * @throws {RangeError} `options.unit` must be 'second', 'minute', 'hour', 'day', 'month' or 'year'\n * @throws {RangeError} `options.locale` must contain `formatDistance` property\n *\n * @example\n * // What is the distance between 2 July 2014 and 1 January 2015?\n * var result = formatDistanceStrict(new Date(2014, 6, 2), new Date(2015, 0, 2))\n * //=> '6 months'\n *\n * @example\n * // What is the distance between 1 January 2015 00:00:15\n * // and 1 January 2015 00:00:00?\n * var result = formatDistanceStrict(\n * new Date(2015, 0, 1, 0, 0, 15),\n * new Date(2015, 0, 1, 0, 0, 0)\n * )\n * //=> '15 seconds'\n *\n * @example\n * // What is the distance from 1 January 2016\n * // to 1 January 2015, with a suffix?\n * var result = formatDistanceStrict(new Date(2015, 0, 1), new Date(2016, 0, 1), {\n * addSuffix: true\n * })\n * //=> '1 year ago'\n *\n * @example\n * // What is the distance from 1 January 2016\n * // to 1 January 2015, in minutes?\n * var result = formatDistanceStrict(new Date(2016, 0, 1), new Date(2015, 0, 1), {\n * unit: 'minute'\n * })\n * //=> '525600 minutes'\n *\n * @example\n * // What is the distance from 1 January 2015\n * // to 28 January 2015, in months, rounded up?\n * var result = formatDistanceStrict(new Date(2015, 0, 28), new Date(2015, 0, 1), {\n * unit: 'month',\n * roundingMethod: 'ceil'\n * })\n * //=> '1 month'\n *\n * @example\n * // What is the distance between 1 August 2016 and 1 January 2015 in Esperanto?\n * import { eoLocale } from 'date-fns/locale/eo'\n * var result = formatDistanceStrict(new Date(2016, 7, 1), new Date(2015, 0, 1), {\n * locale: eoLocale\n * })\n * //=> '1 jaro'\n */\n\nfunction formatDistanceStrict(dirtyDate, dirtyBaseDate, dirtyOptions) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present');\n }\n\n var options = dirtyOptions || {};\n var locale = options.locale || _locale_en_US_index_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"];\n\n if (!locale.formatDistance) {\n throw new RangeError('locale must contain localize.formatDistance property');\n }\n\n var comparison = Object(_compareAsc_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(dirtyDate, dirtyBaseDate);\n\n if (isNaN(comparison)) {\n throw new RangeError('Invalid time value');\n }\n\n var localizeOptions = Object(_lib_cloneObject_index_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(options);\n localizeOptions.addSuffix = Boolean(options.addSuffix);\n localizeOptions.comparison = comparison;\n var dateLeft;\n var dateRight;\n\n if (comparison > 0) {\n dateLeft = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(dirtyBaseDate);\n dateRight = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(dirtyDate);\n } else {\n dateLeft = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(dirtyDate);\n dateRight = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(dirtyBaseDate);\n }\n\n var roundingMethod = options.roundingMethod == null ? 'round' : String(options.roundingMethod);\n var roundingMethodFn;\n\n if (roundingMethod === 'floor') {\n roundingMethodFn = Math.floor;\n } else if (roundingMethod === 'ceil') {\n roundingMethodFn = Math.ceil;\n } else if (roundingMethod === 'round') {\n roundingMethodFn = Math.round;\n } else {\n throw new RangeError(\"roundingMethod must be 'floor', 'ceil' or 'round'\");\n }\n\n var seconds = Object(_differenceInSeconds_index_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(dateRight, dateLeft);\n var offsetInSeconds = (Object(_lib_getTimezoneOffsetInMilliseconds_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dateRight) - Object(_lib_getTimezoneOffsetInMilliseconds_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dateLeft)) / 1000;\n var minutes = roundingMethodFn((seconds - offsetInSeconds) / 60);\n var unit;\n\n if (options.unit == null) {\n if (minutes < 1) {\n unit = 'second';\n } else if (minutes < 60) {\n unit = 'minute';\n } else if (minutes < MINUTES_IN_DAY) {\n unit = 'hour';\n } else if (minutes < MINUTES_IN_MONTH) {\n unit = 'day';\n } else if (minutes < MINUTES_IN_YEAR) {\n unit = 'month';\n } else {\n unit = 'year';\n }\n } else {\n unit = String(options.unit);\n } // 0 up to 60 seconds\n\n\n if (unit === 'second') {\n return locale.formatDistance('xSeconds', seconds, localizeOptions); // 1 up to 60 mins\n } else if (unit === 'minute') {\n return locale.formatDistance('xMinutes', minutes, localizeOptions); // 1 up to 24 hours\n } else if (unit === 'hour') {\n var hours = roundingMethodFn(minutes / 60);\n return locale.formatDistance('xHours', hours, localizeOptions); // 1 up to 30 days\n } else if (unit === 'day') {\n var days = roundingMethodFn(minutes / MINUTES_IN_DAY);\n return locale.formatDistance('xDays', days, localizeOptions); // 1 up to 12 months\n } else if (unit === 'month') {\n var months = roundingMethodFn(minutes / MINUTES_IN_MONTH);\n return locale.formatDistance('xMonths', months, localizeOptions); // 1 year up to max Date\n } else if (unit === 'year') {\n var years = roundingMethodFn(minutes / MINUTES_IN_YEAR);\n return locale.formatDistance('xYears', years, localizeOptions);\n }\n\n throw new RangeError(\"unit must be 'second', 'minute', 'hour', 'day', 'month' or 'year'\");\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2Zvcm1hdERpc3RhbmNlU3RyaWN0L2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2VzbS9mb3JtYXREaXN0YW5jZVN0cmljdC9pbmRleC5qcz9kMTQ2Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBnZXRUaW1lem9uZU9mZnNldEluTWlsbGlzZWNvbmRzIGZyb20gJy4uL19saWIvZ2V0VGltZXpvbmVPZmZzZXRJbk1pbGxpc2Vjb25kcy9pbmRleC5qcyc7XG5pbXBvcnQgY29tcGFyZUFzYyBmcm9tICcuLi9jb21wYXJlQXNjL2luZGV4LmpzJztcbmltcG9ydCB0b0RhdGUgZnJvbSAnLi4vdG9EYXRlL2luZGV4LmpzJztcbmltcG9ydCBkaWZmZXJlbmNlSW5TZWNvbmRzIGZyb20gJy4uL2RpZmZlcmVuY2VJblNlY29uZHMvaW5kZXguanMnO1xuaW1wb3J0IGNsb25lT2JqZWN0IGZyb20gJy4uL19saWIvY2xvbmVPYmplY3QvaW5kZXguanMnO1xuaW1wb3J0IGRlZmF1bHRMb2NhbGUgZnJvbSAnLi4vbG9jYWxlL2VuLVVTL2luZGV4LmpzJztcbnZhciBNSU5VVEVTX0lOX0RBWSA9IDE0NDA7XG52YXIgTUlOVVRFU19JTl9NT05USCA9IDQzMjAwO1xudmFyIE1JTlVURVNfSU5fWUVBUiA9IDUyNTYwMDtcbi8qKlxuICogQG5hbWUgZm9ybWF0RGlzdGFuY2VTdHJpY3RcbiAqIEBjYXRlZ29yeSBDb21tb24gSGVscGVyc1xuICogQHN1bW1hcnkgUmV0dXJuIHRoZSBkaXN0YW5jZSBiZXR3ZWVuIHRoZSBnaXZlbiBkYXRlcyBpbiB3b3Jkcy5cbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIFJldHVybiB0aGUgZGlzdGFuY2UgYmV0d2VlbiB0aGUgZ2l2ZW4gZGF0ZXMgaW4gd29yZHMsIHVzaW5nIHN0cmljdCB1bml0cy5cbiAqIFRoaXMgaXMgbGlrZSBgZm9ybWF0RGlzdGFuY2VgLCBidXQgZG9lcyBub3QgdXNlIGhlbHBlcnMgbGlrZSAnYWxtb3N0JywgJ292ZXInLFxuICogJ2xlc3MgdGhhbicgYW5kIHRoZSBsaWtlLlxuICpcbiAqIHwgRGlzdGFuY2UgYmV0d2VlbiBkYXRlcyB8IFJlc3VsdCAgICAgICAgICAgICAgfFxuICogfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tLS18XG4gKiB8IDAgLi4uIDU5IHNlY3MgICAgICAgICAgfCBbMC4uNTldIHNlY29uZHMgICAgIHxcbiAqIHwgMSAuLi4gNTkgbWlucyAgICAgICAgICB8IFsxLi41OV0gbWludXRlcyAgICAgfFxuICogfCAxIC4uLiAyMyBocnMgICAgICAgICAgIHwgWzEuLjIzXSBob3VycyAgICAgICB8XG4gKiB8IDEgLi4uIDI5IGRheXMgICAgICAgICAgfCBbMS4uMjldIGRheXMgICAgICAgIHxcbiAqIHwgMSAuLi4gMTEgbW9udGhzICAgICAgICB8IFsxLi4xMV0gbW9udGhzICAgICAgfFxuICogfCAxIC4uLiBOIHllYXJzICAgICAgICAgIHwgWzEuLk5dICB5ZWFycyAgICAgICB8XG4gKlxuICogIyMjIHYyLjAuMCBicmVha2luZyBjaGFuZ2VzOlxuICpcbiAqIC0gW0NoYW5nZXMgdGhhdCBhcmUgY29tbW9uIGZvciB0aGUgd2hvbGUgbGlicmFyeV0oaHR0cHM6Ly9naXRodWIuY29tL2RhdGUtZm5zL2RhdGUtZm5zL2Jsb2IvbWFzdGVyL2RvY3MvdXBncmFkZUd1aWRlLm1kI0NvbW1vbi1DaGFuZ2VzKS5cbiAqXG4gKiAtIFRoZSBmdW5jdGlvbiB3YXMgcmVuYW1lZCBmcm9tIGBkaXN0YW5jZUluV29yZHNTdHJpY3RgIHRvIGBmb3JtYXREaXN0YW5jZVN0cmljdGBcbiAqICAgdG8gbWFrZSBpdHMgbmFtZSBjb25zaXN0ZW50IHdpdGggYGZvcm1hdGAgYW5kIGBmb3JtYXRSZWxhdGl2ZWAuXG4gKlxuICogLSBUaGUgb3JkZXIgb2YgYXJndW1lbnRzIGlzIHN3YXBwZWQgdG8gbWFrZSB0aGUgZnVuY3Rpb25cbiAqICAgY29uc2lzdGVudCB3aXRoIGBkaWZmZXJlbmNlSW4uLi5gIGZ1bmN0aW9ucy5cbiAqXG4gKiAgIGBgYGphdmFzY3JpcHRcbiAqICAgLy8gQmVmb3JlIHYyLjAuMFxuICpcbiAqICAgZGlzdGFuY2VJbldvcmRzU3RyaWN0KFxuICogICAgIG5ldyBEYXRlKDIwMTUsIDAsIDIpLFxuICogICAgIG5ldyBEYXRlKDIwMTQsIDYsIDIpXG4gKiAgICkgLy89PiAnNiBtb250aHMnXG4gKlxuICogICAvLyB2Mi4wLjAgb253YXJkXG4gKlxuICogICBmb3JtYXREaXN0YW5jZVN0cmljdChcbiAqICAgICBuZXcgRGF0ZSgyMDE0LCA2LCAyKSxcbiAqICAgICBuZXcgRGF0ZSgyMDE1LCAwLCAyKVxuICogICApIC8vPT4gJzYgbW9udGhzJ1xuICogICBgYGBcbiAqXG4gKiAtIGBwYXJ0aWFsTWV0aG9kYCBvcHRpb24gaXMgcmVuYW1lZCB0byBgcm91bmRpbmdNZXRob2RgLlxuICpcbiAqICAgYGBgamF2YXNjcmlwdFxuICogICAvLyBCZWZvcmUgdjIuMC4wXG4gKlxuICogICBkaXN0YW5jZUluV29yZHNTdHJpY3QoXG4gKiAgICAgbmV3IERhdGUoMTk4NiwgMywgNCwgMTAsIDMyLCAwKSxcbiAqICAgICBuZXcgRGF0ZSgxOTg2LCAzLCA0LCAxMCwgMzMsIDEpLFxuICogICAgIHsgcGFydGlhbE1ldGhvZDogJ2NlaWwnIH1cbiAqICAgKSAvLz0+ICcyIG1pbnV0ZXMnXG4gKlxuICogICAvLyB2Mi4wLjAgb253YXJkXG4gKlxuICogICBmb3JtYXREaXN0YW5jZVN0cmljdChcbiAqICAgICBuZXcgRGF0ZSgxOTg2LCAzLCA0LCAxMCwgMzMsIDEpLFxuICogICAgIG5ldyBEYXRlKDE5ODYsIDMsIDQsIDEwLCAzMiwgMCksXG4gKiAgICAgeyByb3VuZGluZ01ldGhvZDogJ2NlaWwnIH1cbiAqICAgKSAvLz0+ICcyIG1pbnV0ZXMnXG4gKiAgIGBgYFxuICpcbiAqIC0gSWYgYHJvdW5kaW5nTWV0aG9kYCBpcyBub3Qgc3BlY2lmaWVkLCBpdCBub3cgZGVmYXVsdHMgdG8gYHJvdW5kYCBpbnN0ZWFkIG9mIGBmbG9vcmAuXG4gKlxuICogLSBgdW5pdGAgb3B0aW9uIG5vdyBhY2NlcHRzIG9uZSBvZiB0aGUgc3RyaW5nczpcbiAqICAgJ3NlY29uZCcsICdtaW51dGUnLCAnaG91cicsICdkYXknLCAnbW9udGgnIG9yICd5ZWFyJyBpbnN0ZWFkIG9mICdzJywgJ20nLCAnaCcsICdkJywgJ00nIG9yICdZJ1xuICpcbiAqICAgYGBgamF2YXNjcmlwdFxuICogICAvLyBCZWZvcmUgdjIuMC4wXG4gKlxuICogICBkaXN0YW5jZUluV29yZHNTdHJpY3QoXG4gKiAgICAgbmV3IERhdGUoMTk4NiwgMywgNCwgMTAsIDMyLCAwKSxcbiAqICAgICBuZXcgRGF0ZSgxOTg2LCAzLCA0LCAxMCwgMzMsIDEpLFxuICogICAgIHsgdW5pdDogJ20nIH1cbiAqICAgKVxuICpcbiAqICAgLy8gdjIuMC4wIG9ud2FyZFxuICpcbiAqICAgZm9ybWF0RGlzdGFuY2VTdHJpY3QoXG4gKiAgICAgbmV3IERhdGUoMTk4NiwgMywgNCwgMTAsIDMzLCAxKSxcbiAqICAgICBuZXcgRGF0ZSgxOTg2LCAzLCA0LCAxMCwgMzIsIDApLFxuICogICAgIHsgdW5pdDogJ21pbnV0ZScgfVxuICogICApXG4gKiAgIGBgYFxuICpcbiAqIEBwYXJhbSB7RGF0ZXxOdW1iZXJ9IGRhdGUgLSB0aGUgZGF0ZVxuICogQHBhcmFtIHtEYXRlfE51bWJlcn0gYmFzZURhdGUgLSB0aGUgZGF0ZSB0byBjb21wYXJlIHdpdGhcbiAqIEBwYXJhbSB7T2JqZWN0fSBbb3B0aW9uc10gLSBhbiBvYmplY3Qgd2l0aCBvcHRpb25zLlxuICogQHBhcmFtIHtCb29sZWFufSBbb3B0aW9ucy5hZGRTdWZmaXg9ZmFsc2VdIC0gcmVzdWx0IGluZGljYXRlcyBpZiB0aGUgc2Vjb25kIGRhdGUgaXMgZWFybGllciBvciBsYXRlciB0aGFuIHRoZSBmaXJzdFxuICogQHBhcmFtIHsnc2Vjb25kJ3wnbWludXRlJ3wnaG91cid8J2RheSd8J21vbnRoJ3wneWVhcid9IFtvcHRpb25zLnVuaXRdIC0gaWYgc3BlY2lmaWVkLCB3aWxsIGZvcmNlIGEgdW5pdFxuICogQHBhcmFtIHsnZmxvb3InfCdjZWlsJ3wncm91bmQnfSBbb3B0aW9ucy5yb3VuZGluZ01ldGhvZD0ncm91bmQnXSAtIHdoaWNoIHdheSB0byByb3VuZCBwYXJ0aWFsIHVuaXRzXG4gKiBAcGFyYW0ge0xvY2FsZX0gW29wdGlvbnMubG9jYWxlPWRlZmF1bHRMb2NhbGVdIC0gdGhlIGxvY2FsZSBvYmplY3QuIFNlZSBbTG9jYWxlXXtAbGluayBodHRwczovL2RhdGUtZm5zLm9yZy9kb2NzL0xvY2FsZX1cbiAqIEByZXR1cm5zIHtTdHJpbmd9IHRoZSBkaXN0YW5jZSBpbiB3b3Jkc1xuICogQHRocm93cyB7VHlwZUVycm9yfSAyIGFyZ3VtZW50cyByZXF1aXJlZFxuICogQHRocm93cyB7UmFuZ2VFcnJvcn0gYG9wdGlvbnMucm91bmRpbmdNZXRob2RgIG11c3QgYmUgJ2Zsb29yJywgJ2NlaWwnIG9yICdyb3VuZCdcbiAqIEB0aHJvd3Mge1JhbmdlRXJyb3J9IGBvcHRpb25zLnVuaXRgIG11c3QgYmUgJ3NlY29uZCcsICdtaW51dGUnLCAnaG91cicsICdkYXknLCAnbW9udGgnIG9yICd5ZWFyJ1xuICogQHRocm93cyB7UmFuZ2VFcnJvcn0gYG9wdGlvbnMubG9jYWxlYCBtdXN0IGNvbnRhaW4gYGZvcm1hdERpc3RhbmNlYCBwcm9wZXJ0eVxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBXaGF0IGlzIHRoZSBkaXN0YW5jZSBiZXR3ZWVuIDIgSnVseSAyMDE0IGFuZCAxIEphbnVhcnkgMjAxNT9cbiAqIHZhciByZXN1bHQgPSBmb3JtYXREaXN0YW5jZVN0cmljdChuZXcgRGF0ZSgyMDE0LCA2LCAyKSwgbmV3IERhdGUoMjAxNSwgMCwgMikpXG4gKiAvLz0+ICc2IG1vbnRocydcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gV2hhdCBpcyB0aGUgZGlzdGFuY2UgYmV0d2VlbiAxIEphbnVhcnkgMjAxNSAwMDowMDoxNVxuICogLy8gYW5kIDEgSmFudWFyeSAyMDE1IDAwOjAwOjAwP1xuICogdmFyIHJlc3VsdCA9IGZvcm1hdERpc3RhbmNlU3RyaWN0KFxuICogICBuZXcgRGF0ZSgyMDE1LCAwLCAxLCAwLCAwLCAxNSksXG4gKiAgIG5ldyBEYXRlKDIwMTUsIDAsIDEsIDAsIDAsIDApXG4gKiApXG4gKiAvLz0+ICcxNSBzZWNvbmRzJ1xuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBXaGF0IGlzIHRoZSBkaXN0YW5jZSBmcm9tIDEgSmFudWFyeSAyMDE2XG4gKiAvLyB0byAxIEphbnVhcnkgMjAxNSwgd2l0aCBhIHN1ZmZpeD9cbiAqIHZhciByZXN1bHQgPSBmb3JtYXREaXN0YW5jZVN0cmljdChuZXcgRGF0ZSgyMDE1LCAwLCAxKSwgbmV3IERhdGUoMjAxNiwgMCwgMSksIHtcbiAqICAgYWRkU3VmZml4OiB0cnVlXG4gKiB9KVxuICogLy89PiAnMSB5ZWFyIGFnbydcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gV2hhdCBpcyB0aGUgZGlzdGFuY2UgZnJvbSAxIEphbnVhcnkgMjAxNlxuICogLy8gdG8gMSBKYW51YXJ5IDIwMTUsIGluIG1pbnV0ZXM/XG4gKiB2YXIgcmVzdWx0ID0gZm9ybWF0RGlzdGFuY2VTdHJpY3QobmV3IERhdGUoMjAxNiwgMCwgMSksIG5ldyBEYXRlKDIwMTUsIDAsIDEpLCB7XG4gKiAgIHVuaXQ6ICdtaW51dGUnXG4gKiB9KVxuICogLy89PiAnNTI1NjAwIG1pbnV0ZXMnXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIFdoYXQgaXMgdGhlIGRpc3RhbmNlIGZyb20gMSBKYW51YXJ5IDIwMTVcbiAqIC8vIHRvIDI4IEphbnVhcnkgMjAxNSwgaW4gbW9udGhzLCByb3VuZGVkIHVwP1xuICogdmFyIHJlc3VsdCA9IGZvcm1hdERpc3RhbmNlU3RyaWN0KG5ldyBEYXRlKDIwMTUsIDAsIDI4KSwgbmV3IERhdGUoMjAxNSwgMCwgMSksIHtcbiAqICAgdW5pdDogJ21vbnRoJyxcbiAqICAgcm91bmRpbmdNZXRob2Q6ICdjZWlsJ1xuICogfSlcbiAqIC8vPT4gJzEgbW9udGgnXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIFdoYXQgaXMgdGhlIGRpc3RhbmNlIGJldHdlZW4gMSBBdWd1c3QgMjAxNiBhbmQgMSBKYW51YXJ5IDIwMTUgaW4gRXNwZXJhbnRvP1xuICogaW1wb3J0IHsgZW9Mb2NhbGUgfSBmcm9tICdkYXRlLWZucy9sb2NhbGUvZW8nXG4gKiB2YXIgcmVzdWx0ID0gZm9ybWF0RGlzdGFuY2VTdHJpY3QobmV3IERhdGUoMjAxNiwgNywgMSksIG5ldyBEYXRlKDIwMTUsIDAsIDEpLCB7XG4gKiAgIGxvY2FsZTogZW9Mb2NhbGVcbiAqIH0pXG4gKiAvLz0+ICcxIGphcm8nXG4gKi9cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZm9ybWF0RGlzdGFuY2VTdHJpY3QoZGlydHlEYXRlLCBkaXJ0eUJhc2VEYXRlLCBkaXJ0eU9wdGlvbnMpIHtcbiAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPCAyKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignMiBhcmd1bWVudHMgcmVxdWlyZWQsIGJ1dCBvbmx5ICcgKyBhcmd1bWVudHMubGVuZ3RoICsgJyBwcmVzZW50Jyk7XG4gIH1cblxuICB2YXIgb3B0aW9ucyA9IGRpcnR5T3B0aW9ucyB8fCB7fTtcbiAgdmFyIGxvY2FsZSA9IG9wdGlvbnMubG9jYWxlIHx8IGRlZmF1bHRMb2NhbGU7XG5cbiAgaWYgKCFsb2NhbGUuZm9ybWF0RGlzdGFuY2UpIHtcbiAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcignbG9jYWxlIG11c3QgY29udGFpbiBsb2NhbGl6ZS5mb3JtYXREaXN0YW5jZSBwcm9wZXJ0eScpO1xuICB9XG5cbiAgdmFyIGNvbXBhcmlzb24gPSBjb21wYXJlQXNjKGRpcnR5RGF0ZSwgZGlydHlCYXNlRGF0ZSk7XG5cbiAgaWYgKGlzTmFOKGNvbXBhcmlzb24pKSB7XG4gICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ0ludmFsaWQgdGltZSB2YWx1ZScpO1xuICB9XG5cbiAgdmFyIGxvY2FsaXplT3B0aW9ucyA9IGNsb25lT2JqZWN0KG9wdGlvbnMpO1xuICBsb2NhbGl6ZU9wdGlvbnMuYWRkU3VmZml4ID0gQm9vbGVhbihvcHRpb25zLmFkZFN1ZmZpeCk7XG4gIGxvY2FsaXplT3B0aW9ucy5jb21wYXJpc29uID0gY29tcGFyaXNvbjtcbiAgdmFyIGRhdGVMZWZ0O1xuICB2YXIgZGF0ZVJpZ2h0O1xuXG4gIGlmIChjb21wYXJpc29uID4gMCkge1xuICAgIGRhdGVMZWZ0ID0gdG9EYXRlKGRpcnR5QmFzZURhdGUpO1xuICAgIGRhdGVSaWdodCA9IHRvRGF0ZShkaXJ0eURhdGUpO1xuICB9IGVsc2Uge1xuICAgIGRhdGVMZWZ0ID0gdG9EYXRlKGRpcnR5RGF0ZSk7XG4gICAgZGF0ZVJpZ2h0ID0gdG9EYXRlKGRpcnR5QmFzZURhdGUpO1xuICB9XG5cbiAgdmFyIHJvdW5kaW5nTWV0aG9kID0gb3B0aW9ucy5yb3VuZGluZ01ldGhvZCA9PSBudWxsID8gJ3JvdW5kJyA6IFN0cmluZyhvcHRpb25zLnJvdW5kaW5nTWV0aG9kKTtcbiAgdmFyIHJvdW5kaW5nTWV0aG9kRm47XG5cbiAgaWYgKHJvdW5kaW5nTWV0aG9kID09PSAnZmxvb3InKSB7XG4gICAgcm91bmRpbmdNZXRob2RGbiA9IE1hdGguZmxvb3I7XG4gIH0gZWxzZSBpZiAocm91bmRpbmdNZXRob2QgPT09ICdjZWlsJykge1xuICAgIHJvdW5kaW5nTWV0aG9kRm4gPSBNYXRoLmNlaWw7XG4gIH0gZWxzZSBpZiAocm91bmRpbmdNZXRob2QgPT09ICdyb3VuZCcpIHtcbiAgICByb3VuZGluZ01ldGhvZEZuID0gTWF0aC5yb3VuZDtcbiAgfSBlbHNlIHtcbiAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcihcInJvdW5kaW5nTWV0aG9kIG11c3QgYmUgJ2Zsb29yJywgJ2NlaWwnIG9yICdyb3VuZCdcIik7XG4gIH1cblxuICB2YXIgc2Vjb25kcyA9IGRpZmZlcmVuY2VJblNlY29uZHMoZGF0ZVJpZ2h0LCBkYXRlTGVmdCk7XG4gIHZhciBvZmZzZXRJblNlY29uZHMgPSAoZ2V0VGltZXpvbmVPZmZzZXRJbk1pbGxpc2Vjb25kcyhkYXRlUmlnaHQpIC0gZ2V0VGltZXpvbmVPZmZzZXRJbk1pbGxpc2Vjb25kcyhkYXRlTGVmdCkpIC8gMTAwMDtcbiAgdmFyIG1pbnV0ZXMgPSByb3VuZGluZ01ldGhvZEZuKChzZWNvbmRzIC0gb2Zmc2V0SW5TZWNvbmRzKSAvIDYwKTtcbiAgdmFyIHVuaXQ7XG5cbiAgaWYgKG9wdGlvbnMudW5pdCA9PSBudWxsKSB7XG4gICAgaWYgKG1pbnV0ZXMgPCAxKSB7XG4gICAgICB1bml0ID0gJ3NlY29uZCc7XG4gICAgfSBlbHNlIGlmIChtaW51dGVzIDwgNjApIHtcbiAgICAgIHVuaXQgPSAnbWludXRlJztcbiAgICB9IGVsc2UgaWYgKG1pbnV0ZXMgPCBNSU5VVEVTX0lOX0RBWSkge1xuICAgICAgdW5pdCA9ICdob3VyJztcbiAgICB9IGVsc2UgaWYgKG1pbnV0ZXMgPCBNSU5VVEVTX0lOX01PTlRIKSB7XG4gICAgICB1bml0ID0gJ2RheSc7XG4gICAgfSBlbHNlIGlmIChtaW51dGVzIDwgTUlOVVRFU19JTl9ZRUFSKSB7XG4gICAgICB1bml0ID0gJ21vbnRoJztcbiAgICB9IGVsc2Uge1xuICAgICAgdW5pdCA9ICd5ZWFyJztcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgdW5pdCA9IFN0cmluZyhvcHRpb25zLnVuaXQpO1xuICB9IC8vIDAgdXAgdG8gNjAgc2Vjb25kc1xuXG5cbiAgaWYgKHVuaXQgPT09ICdzZWNvbmQnKSB7XG4gICAgcmV0dXJuIGxvY2FsZS5mb3JtYXREaXN0YW5jZSgneFNlY29uZHMnLCBzZWNvbmRzLCBsb2NhbGl6ZU9wdGlvbnMpOyAvLyAxIHVwIHRvIDYwIG1pbnNcbiAgfSBlbHNlIGlmICh1bml0ID09PSAnbWludXRlJykge1xuICAgIHJldHVybiBsb2NhbGUuZm9ybWF0RGlzdGFuY2UoJ3hNaW51dGVzJywgbWludXRlcywgbG9jYWxpemVPcHRpb25zKTsgLy8gMSB1cCB0byAyNCBob3Vyc1xuICB9IGVsc2UgaWYgKHVuaXQgPT09ICdob3VyJykge1xuICAgIHZhciBob3VycyA9IHJvdW5kaW5nTWV0aG9kRm4obWludXRlcyAvIDYwKTtcbiAgICByZXR1cm4gbG9jYWxlLmZvcm1hdERpc3RhbmNlKCd4SG91cnMnLCBob3VycywgbG9jYWxpemVPcHRpb25zKTsgLy8gMSB1cCB0byAzMCBkYXlzXG4gIH0gZWxzZSBpZiAodW5pdCA9PT0gJ2RheScpIHtcbiAgICB2YXIgZGF5cyA9IHJvdW5kaW5nTWV0aG9kRm4obWludXRlcyAvIE1JTlVURVNfSU5fREFZKTtcbiAgICByZXR1cm4gbG9jYWxlLmZvcm1hdERpc3RhbmNlKCd4RGF5cycsIGRheXMsIGxvY2FsaXplT3B0aW9ucyk7IC8vIDEgdXAgdG8gMTIgbW9udGhzXG4gIH0gZWxzZSBpZiAodW5pdCA9PT0gJ21vbnRoJykge1xuICAgIHZhciBtb250aHMgPSByb3VuZGluZ01ldGhvZEZuKG1pbnV0ZXMgLyBNSU5VVEVTX0lOX01PTlRIKTtcbiAgICByZXR1cm4gbG9jYWxlLmZvcm1hdERpc3RhbmNlKCd4TW9udGhzJywgbW9udGhzLCBsb2NhbGl6ZU9wdGlvbnMpOyAvLyAxIHllYXIgdXAgdG8gbWF4IERhdGVcbiAgfSBlbHNlIGlmICh1bml0ID09PSAneWVhcicpIHtcbiAgICB2YXIgeWVhcnMgPSByb3VuZGluZ01ldGhvZEZuKG1pbnV0ZXMgLyBNSU5VVEVTX0lOX1lFQVIpO1xuICAgIHJldHVybiBsb2NhbGUuZm9ybWF0RGlzdGFuY2UoJ3hZZWFycycsIHllYXJzLCBsb2NhbGl6ZU9wdGlvbnMpO1xuICB9XG5cbiAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoXCJ1bml0IG11c3QgYmUgJ3NlY29uZCcsICdtaW51dGUnLCAnaG91cicsICdkYXknLCAnbW9udGgnIG9yICd5ZWFyJ1wiKTtcbn0iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/formatDistanceStrict/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/formatDistanceToNow/index.js": /*!****************************************************************!*\ !*** ./node_modules/date-fns/esm/formatDistanceToNow/index.js ***! \****************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return formatDistanceToNow; });\n/* harmony import */ var _formatDistance_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../formatDistance/index.js */ \"./node_modules/date-fns/esm/formatDistance/index.js\");\n\n/**\n * @name formatDistanceToNow\n * @category Common Helpers\n * @summary Return the distance between the given date and now in words.\n * @pure false\n *\n * @description\n * Return the distance between the given date and now in words.\n *\n * | Distance to now | Result |\n * |-------------------------------------------------------------------|---------------------|\n * | 0 ... 30 secs | less than a minute |\n * | 30 secs ... 1 min 30 secs | 1 minute |\n * | 1 min 30 secs ... 44 mins 30 secs | [2..44] minutes |\n * | 44 mins ... 30 secs ... 89 mins 30 secs | about 1 hour |\n * | 89 mins 30 secs ... 23 hrs 59 mins 30 secs | about [2..24] hours |\n * | 23 hrs 59 mins 30 secs ... 41 hrs 59 mins 30 secs | 1 day |\n * | 41 hrs 59 mins 30 secs ... 29 days 23 hrs 59 mins 30 secs | [2..30] days |\n * | 29 days 23 hrs 59 mins 30 secs ... 44 days 23 hrs 59 mins 30 secs | about 1 month |\n * | 44 days 23 hrs 59 mins 30 secs ... 59 days 23 hrs 59 mins 30 secs | about 2 months |\n * | 59 days 23 hrs 59 mins 30 secs ... 1 yr | [2..12] months |\n * | 1 yr ... 1 yr 3 months | about 1 year |\n * | 1 yr 3 months ... 1 yr 9 month s | over 1 year |\n * | 1 yr 9 months ... 2 yrs | almost 2 years |\n * | N yrs ... N yrs 3 months | about N years |\n * | N yrs 3 months ... N yrs 9 months | over N years |\n * | N yrs 9 months ... N+1 yrs | almost N+1 years |\n *\n * With `options.includeSeconds == true`:\n * | Distance to now | Result |\n * |---------------------|----------------------|\n * | 0 secs ... 5 secs | less than 5 seconds |\n * | 5 secs ... 10 secs | less than 10 seconds |\n * | 10 secs ... 20 secs | less than 20 seconds |\n * | 20 secs ... 40 secs | half a minute |\n * | 40 secs ... 60 secs | less than a minute |\n * | 60 secs ... 90 secs | 1 minute |\n *\n * > ⚠️ Please note that this function is not present in the FP submodule as\n * > it uses `Date.now()` internally hence impure and can't be safely curried.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * - The function was renamed from `distanceInWordsToNow ` to `formatDistanceToNow`\n * to make its name consistent with `format` and `formatRelative`.\n *\n * ```javascript\n * // Before v2.0.0\n *\n * distanceInWordsToNow(new Date(2014, 6, 2), { addSuffix: true })\n * //=> 'in 6 months'\n *\n * // v2.0.0 onward\n *\n * formatDistanceToNow(new Date(2014, 6, 2), { addSuffix: true })\n * //=> 'in 6 months'\n * ```\n *\n * @param {Date|Number} date - the given date\n * @param {Object} [options] - the object with options\n * @param {Boolean} [options.includeSeconds=false] - distances less than a minute are more detailed\n * @param {Boolean} [options.addSuffix=false] - result specifies if now is earlier or later than the passed date\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @returns {String} the distance in words\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} `options.locale` must contain `formatDistance` property\n *\n * @example\n * // If today is 1 January 2015, what is the distance to 2 July 2014?\n * var result = formatDistanceToNow(\n * new Date(2014, 6, 2)\n * )\n * //=> '6 months'\n *\n * @example\n * // If now is 1 January 2015 00:00:00,\n * // what is the distance to 1 January 2015 00:00:15, including seconds?\n * var result = formatDistanceToNow(\n * new Date(2015, 0, 1, 0, 0, 15),\n * {includeSeconds: true}\n * )\n * //=> 'less than 20 seconds'\n *\n * @example\n * // If today is 1 January 2015,\n * // what is the distance to 1 January 2016, with a suffix?\n * var result = formatDistanceToNow(\n * new Date(2016, 0, 1),\n * {addSuffix: true}\n * )\n * //=> 'in about 1 year'\n *\n * @example\n * // If today is 1 January 2015,\n * // what is the distance to 1 August 2016 in Esperanto?\n * var eoLocale = require('date-fns/locale/eo')\n * var result = formatDistanceToNow(\n * new Date(2016, 7, 1),\n * {locale: eoLocale}\n * )\n * //=> 'pli ol 1 jaro'\n */\n\nfunction formatDistanceToNow(dirtyDate, dirtyOptions) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n return Object(_formatDistance_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate, Date.now(), dirtyOptions);\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2Zvcm1hdERpc3RhbmNlVG9Ob3cvaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2Zvcm1hdERpc3RhbmNlVG9Ob3cvaW5kZXguanM/ZWYxYiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZGlzdGFuY2VJbldvcmRzIGZyb20gJy4uL2Zvcm1hdERpc3RhbmNlL2luZGV4LmpzJztcbi8qKlxuICogQG5hbWUgZm9ybWF0RGlzdGFuY2VUb05vd1xuICogQGNhdGVnb3J5IENvbW1vbiBIZWxwZXJzXG4gKiBAc3VtbWFyeSBSZXR1cm4gdGhlIGRpc3RhbmNlIGJldHdlZW4gdGhlIGdpdmVuIGRhdGUgYW5kIG5vdyBpbiB3b3Jkcy5cbiAqIEBwdXJlIGZhbHNlXG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKiBSZXR1cm4gdGhlIGRpc3RhbmNlIGJldHdlZW4gdGhlIGdpdmVuIGRhdGUgYW5kIG5vdyBpbiB3b3Jkcy5cbiAqXG4gKiB8IERpc3RhbmNlIHRvIG5vdyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgUmVzdWx0ICAgICAgICAgICAgICB8XG4gKiB8LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tLS18XG4gKiB8IDAgLi4uIDMwIHNlY3MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgbGVzcyB0aGFuIGEgbWludXRlICB8XG4gKiB8IDMwIHNlY3MgLi4uIDEgbWluIDMwIHNlY3MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMSBtaW51dGUgICAgICAgICAgICB8XG4gKiB8IDEgbWluIDMwIHNlY3MgLi4uIDQ0IG1pbnMgMzAgc2VjcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgWzIuLjQ0XSBtaW51dGVzICAgICB8XG4gKiB8IDQ0IG1pbnMgLi4uIDMwIHNlY3MgLi4uIDg5IG1pbnMgMzAgc2VjcyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYWJvdXQgMSBob3VyICAgICAgICB8XG4gKiB8IDg5IG1pbnMgMzAgc2VjcyAuLi4gMjMgaHJzIDU5IG1pbnMgMzAgc2VjcyAgICAgICAgICAgICAgICAgICAgICAgIHwgYWJvdXQgWzIuLjI0XSBob3VycyB8XG4gKiB8IDIzIGhycyA1OSBtaW5zIDMwIHNlY3MgLi4uIDQxIGhycyA1OSBtaW5zIDMwIHNlY3MgICAgICAgICAgICAgICAgIHwgMSBkYXkgICAgICAgICAgICAgICB8XG4gKiB8IDQxIGhycyA1OSBtaW5zIDMwIHNlY3MgLi4uIDI5IGRheXMgMjMgaHJzIDU5IG1pbnMgMzAgc2VjcyAgICAgICAgIHwgWzIuLjMwXSBkYXlzICAgICAgICB8XG4gKiB8IDI5IGRheXMgMjMgaHJzIDU5IG1pbnMgMzAgc2VjcyAuLi4gNDQgZGF5cyAyMyBocnMgNTkgbWlucyAzMCBzZWNzIHwgYWJvdXQgMSBtb250aCAgICAgICB8XG4gKiB8IDQ0IGRheXMgMjMgaHJzIDU5IG1pbnMgMzAgc2VjcyAuLi4gNTkgZGF5cyAyMyBocnMgNTkgbWlucyAzMCBzZWNzIHwgYWJvdXQgMiBtb250aHMgICAgICB8XG4gKiB8IDU5IGRheXMgMjMgaHJzIDU5IG1pbnMgMzAgc2VjcyAuLi4gMSB5ciAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgWzIuLjEyXSBtb250aHMgICAgICB8XG4gKiB8IDEgeXIgLi4uIDEgeXIgMyBtb250aHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYWJvdXQgMSB5ZWFyICAgICAgICB8XG4gKiB8IDEgeXIgMyBtb250aHMgLi4uIDEgeXIgOSBtb250aCBzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgb3ZlciAxIHllYXIgICAgICAgICB8XG4gKiB8IDEgeXIgOSBtb250aHMgLi4uIDIgeXJzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYWxtb3N0IDIgeWVhcnMgICAgICB8XG4gKiB8IE4geXJzIC4uLiBOIHlycyAzIG1vbnRocyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYWJvdXQgTiB5ZWFycyAgICAgICB8XG4gKiB8IE4geXJzIDMgbW9udGhzIC4uLiBOIHlycyA5IG1vbnRocyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgb3ZlciBOIHllYXJzICAgICAgICB8XG4gKiB8IE4geXJzIDkgbW9udGhzIC4uLiBOKzEgeXJzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYWxtb3N0IE4rMSB5ZWFycyAgICB8XG4gKlxuICogV2l0aCBgb3B0aW9ucy5pbmNsdWRlU2Vjb25kcyA9PSB0cnVlYDpcbiAqIHwgRGlzdGFuY2UgdG8gbm93ICAgICB8IFJlc3VsdCAgICAgICAgICAgICAgIHxcbiAqIHwtLS0tLS0tLS0tLS0tLS0tLS0tLS18LS0tLS0tLS0tLS0tLS0tLS0tLS0tLXxcbiAqIHwgMCBzZWNzIC4uLiA1IHNlY3MgICB8IGxlc3MgdGhhbiA1IHNlY29uZHMgIHxcbiAqIHwgNSBzZWNzIC4uLiAxMCBzZWNzICB8IGxlc3MgdGhhbiAxMCBzZWNvbmRzIHxcbiAqIHwgMTAgc2VjcyAuLi4gMjAgc2VjcyB8IGxlc3MgdGhhbiAyMCBzZWNvbmRzIHxcbiAqIHwgMjAgc2VjcyAuLi4gNDAgc2VjcyB8IGhhbGYgYSBtaW51dGUgICAgICAgIHxcbiAqIHwgNDAgc2VjcyAuLi4gNjAgc2VjcyB8IGxlc3MgdGhhbiBhIG1pbnV0ZSAgIHxcbiAqIHwgNjAgc2VjcyAuLi4gOTAgc2VjcyB8IDEgbWludXRlICAgICAgICAgICAgIHxcbiAqXG4gKiA+IOKaoO+4jyBQbGVhc2Ugbm90ZSB0aGF0IHRoaXMgZnVuY3Rpb24gaXMgbm90IHByZXNlbnQgaW4gdGhlIEZQIHN1Ym1vZHVsZSBhc1xuICogPiBpdCB1c2VzIGBEYXRlLm5vdygpYCBpbnRlcm5hbGx5IGhlbmNlIGltcHVyZSBhbmQgY2FuJ3QgYmUgc2FmZWx5IGN1cnJpZWQuXG4gKlxuICogIyMjIHYyLjAuMCBicmVha2luZyBjaGFuZ2VzOlxuICpcbiAqIC0gW0NoYW5nZXMgdGhhdCBhcmUgY29tbW9uIGZvciB0aGUgd2hvbGUgbGlicmFyeV0oaHR0cHM6Ly9naXRodWIuY29tL2RhdGUtZm5zL2RhdGUtZm5zL2Jsb2IvbWFzdGVyL2RvY3MvdXBncmFkZUd1aWRlLm1kI0NvbW1vbi1DaGFuZ2VzKS5cbiAqXG4gKiAtIFRoZSBmdW5jdGlvbiB3YXMgcmVuYW1lZCBmcm9tIGBkaXN0YW5jZUluV29yZHNUb05vdyBgIHRvIGBmb3JtYXREaXN0YW5jZVRvTm93YFxuICogICB0byBtYWtlIGl0cyBuYW1lIGNvbnNpc3RlbnQgd2l0aCBgZm9ybWF0YCBhbmQgYGZvcm1hdFJlbGF0aXZlYC5cbiAqXG4gKiAgIGBgYGphdmFzY3JpcHRcbiAqICAgLy8gQmVmb3JlIHYyLjAuMFxuICpcbiAqICAgZGlzdGFuY2VJbldvcmRzVG9Ob3cobmV3IERhdGUoMjAxNCwgNiwgMiksIHsgYWRkU3VmZml4OiB0cnVlIH0pXG4gKiAgIC8vPT4gJ2luIDYgbW9udGhzJ1xuICpcbiAqICAgLy8gdjIuMC4wIG9ud2FyZFxuICpcbiAqICAgZm9ybWF0RGlzdGFuY2VUb05vdyhuZXcgRGF0ZSgyMDE0LCA2LCAyKSwgeyBhZGRTdWZmaXg6IHRydWUgfSlcbiAqICAgLy89PiAnaW4gNiBtb250aHMnXG4gKiAgIGBgYFxuICpcbiAqIEBwYXJhbSB7RGF0ZXxOdW1iZXJ9IGRhdGUgLSB0aGUgZ2l2ZW4gZGF0ZVxuICogQHBhcmFtIHtPYmplY3R9IFtvcHRpb25zXSAtIHRoZSBvYmplY3Qgd2l0aCBvcHRpb25zXG4gKiBAcGFyYW0ge0Jvb2xlYW59IFtvcHRpb25zLmluY2x1ZGVTZWNvbmRzPWZhbHNlXSAtIGRpc3RhbmNlcyBsZXNzIHRoYW4gYSBtaW51dGUgYXJlIG1vcmUgZGV0YWlsZWRcbiAqIEBwYXJhbSB7Qm9vbGVhbn0gW29wdGlvbnMuYWRkU3VmZml4PWZhbHNlXSAtIHJlc3VsdCBzcGVjaWZpZXMgaWYgbm93IGlzIGVhcmxpZXIgb3IgbGF0ZXIgdGhhbiB0aGUgcGFzc2VkIGRhdGVcbiAqIEBwYXJhbSB7TG9jYWxlfSBbb3B0aW9ucy5sb2NhbGU9ZGVmYXVsdExvY2FsZV0gLSB0aGUgbG9jYWxlIG9iamVjdC4gU2VlIFtMb2NhbGVde0BsaW5rIGh0dHBzOi8vZGF0ZS1mbnMub3JnL2RvY3MvTG9jYWxlfVxuICogQHJldHVybnMge1N0cmluZ30gdGhlIGRpc3RhbmNlIGluIHdvcmRzXG4gKiBAdGhyb3dzIHtUeXBlRXJyb3J9IDEgYXJndW1lbnQgcmVxdWlyZWRcbiAqIEB0aHJvd3Mge1JhbmdlRXJyb3J9IGBvcHRpb25zLmxvY2FsZWAgbXVzdCBjb250YWluIGBmb3JtYXREaXN0YW5jZWAgcHJvcGVydHlcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gSWYgdG9kYXkgaXMgMSBKYW51YXJ5IDIwMTUsIHdoYXQgaXMgdGhlIGRpc3RhbmNlIHRvIDIgSnVseSAyMDE0P1xuICogdmFyIHJlc3VsdCA9IGZvcm1hdERpc3RhbmNlVG9Ob3coXG4gKiAgIG5ldyBEYXRlKDIwMTQsIDYsIDIpXG4gKiApXG4gKiAvLz0+ICc2IG1vbnRocydcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gSWYgbm93IGlzIDEgSmFudWFyeSAyMDE1IDAwOjAwOjAwLFxuICogLy8gd2hhdCBpcyB0aGUgZGlzdGFuY2UgdG8gMSBKYW51YXJ5IDIwMTUgMDA6MDA6MTUsIGluY2x1ZGluZyBzZWNvbmRzP1xuICogdmFyIHJlc3VsdCA9IGZvcm1hdERpc3RhbmNlVG9Ob3coXG4gKiAgIG5ldyBEYXRlKDIwMTUsIDAsIDEsIDAsIDAsIDE1KSxcbiAqICAge2luY2x1ZGVTZWNvbmRzOiB0cnVlfVxuICogKVxuICogLy89PiAnbGVzcyB0aGFuIDIwIHNlY29uZHMnXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIElmIHRvZGF5IGlzIDEgSmFudWFyeSAyMDE1LFxuICogLy8gd2hhdCBpcyB0aGUgZGlzdGFuY2UgdG8gMSBKYW51YXJ5IDIwMTYsIHdpdGggYSBzdWZmaXg/XG4gKiB2YXIgcmVzdWx0ID0gZm9ybWF0RGlzdGFuY2VUb05vdyhcbiAqICAgbmV3IERhdGUoMjAxNiwgMCwgMSksXG4gKiAgIHthZGRTdWZmaXg6IHRydWV9XG4gKiApXG4gKiAvLz0+ICdpbiBhYm91dCAxIHllYXInXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIElmIHRvZGF5IGlzIDEgSmFudWFyeSAyMDE1LFxuICogLy8gd2hhdCBpcyB0aGUgZGlzdGFuY2UgdG8gMSBBdWd1c3QgMjAxNiBpbiBFc3BlcmFudG8/XG4gKiB2YXIgZW9Mb2NhbGUgPSByZXF1aXJlKCdkYXRlLWZucy9sb2NhbGUvZW8nKVxuICogdmFyIHJlc3VsdCA9IGZvcm1hdERpc3RhbmNlVG9Ob3coXG4gKiAgIG5ldyBEYXRlKDIwMTYsIDcsIDEpLFxuICogICB7bG9jYWxlOiBlb0xvY2FsZX1cbiAqIClcbiAqIC8vPT4gJ3BsaSBvbCAxIGphcm8nXG4gKi9cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZm9ybWF0RGlzdGFuY2VUb05vdyhkaXJ0eURhdGUsIGRpcnR5T3B0aW9ucykge1xuICBpZiAoYXJndW1lbnRzLmxlbmd0aCA8IDEpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCcxIGFyZ3VtZW50IHJlcXVpcmVkLCBidXQgb25seSAnICsgYXJndW1lbnRzLmxlbmd0aCArICcgcHJlc2VudCcpO1xuICB9XG5cbiAgcmV0dXJuIGRpc3RhbmNlSW5Xb3JkcyhkaXJ0eURhdGUsIERhdGUubm93KCksIGRpcnR5T3B0aW9ucyk7XG59Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/formatDistanceToNow/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/formatRelative/index.js": /*!***********************************************************!*\ !*** ./node_modules/date-fns/esm/formatRelative/index.js ***! \***********************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return formatRelative; });\n/* harmony import */ var _differenceInCalendarDays_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../differenceInCalendarDays/index.js */ \"./node_modules/date-fns/esm/differenceInCalendarDays/index.js\");\n/* harmony import */ var _format_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../format/index.js */ \"./node_modules/date-fns/esm/format/index.js\");\n/* harmony import */ var _locale_en_US_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../locale/en-US/index.js */ \"./node_modules/date-fns/esm/locale/en-US/index.js\");\n/* harmony import */ var _subMilliseconds_index_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../subMilliseconds/index.js */ \"./node_modules/date-fns/esm/subMilliseconds/index.js\");\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n/* harmony import */ var _lib_getTimezoneOffsetInMilliseconds_index_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../_lib/getTimezoneOffsetInMilliseconds/index.js */ \"./node_modules/date-fns/esm/_lib/getTimezoneOffsetInMilliseconds/index.js\");\n\n\n\n\n\n\n/**\n * @name formatRelative\n * @category Common Helpers\n * @summary Represent the date in words relative to the given base date.\n *\n * @description\n * Represent the date in words relative to the given base date.\n *\n * | Distance to the base date | Result |\n * |---------------------------|---------------------------|\n * | Previous 6 days | last Sunday at 04:30 AM |\n * | Last day | yesterday at 04:30 AM |\n * | Same day | today at 04:30 AM |\n * | Next day | tomorrow at 04:30 AM |\n * | Next 6 days | Sunday at 04:30 AM |\n * | Other | 12/31/2017 |\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to format\n * @param {Date|Number} baseDate - the date to compare with\n * @param {Object} [options] - an object with options.\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\n * @returns {String} the date in words\n * @throws {TypeError} 2 arguments required\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6\n * @throws {RangeError} `options.locale` must contain `localize` property\n * @throws {RangeError} `options.locale` must contain `formatLong` property\n * @throws {RangeError} `options.locale` must contain `formatRelative` property\n */\n\nfunction formatRelative(dirtyDate, dirtyBaseDate, dirtyOptions) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present');\n }\n\n var date = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(dirtyDate);\n var baseDate = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(dirtyBaseDate);\n var options = dirtyOptions || {};\n var locale = options.locale || _locale_en_US_index_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"];\n\n if (!locale.localize) {\n throw new RangeError('locale must contain localize property');\n }\n\n if (!locale.formatLong) {\n throw new RangeError('locale must contain formatLong property');\n }\n\n if (!locale.formatRelative) {\n throw new RangeError('locale must contain formatRelative property');\n }\n\n var diff = Object(_differenceInCalendarDays_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(date, baseDate);\n\n if (isNaN(diff)) {\n throw new RangeError('Invalid time value');\n }\n\n var token;\n\n if (diff < -6) {\n token = 'other';\n } else if (diff < -1) {\n token = 'lastWeek';\n } else if (diff < 0) {\n token = 'yesterday';\n } else if (diff < 1) {\n token = 'today';\n } else if (diff < 2) {\n token = 'tomorrow';\n } else if (diff < 7) {\n token = 'nextWeek';\n } else {\n token = 'other';\n }\n\n var utcDate = Object(_subMilliseconds_index_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(date, Object(_lib_getTimezoneOffsetInMilliseconds_index_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(date));\n var utcBaseDate = Object(_subMilliseconds_index_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(baseDate, Object(_lib_getTimezoneOffsetInMilliseconds_index_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(baseDate));\n var formatStr = locale.formatRelative(token, utcDate, utcBaseDate, options);\n return Object(_format_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(date, formatStr, options);\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2Zvcm1hdFJlbGF0aXZlL2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2VzbS9mb3JtYXRSZWxhdGl2ZS9pbmRleC5qcz80MzZhIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBkaWZmZXJlbmNlSW5DYWxlbmRhckRheXMgZnJvbSAnLi4vZGlmZmVyZW5jZUluQ2FsZW5kYXJEYXlzL2luZGV4LmpzJztcbmltcG9ydCBmb3JtYXQgZnJvbSAnLi4vZm9ybWF0L2luZGV4LmpzJztcbmltcG9ydCBkZWZhdWx0TG9jYWxlIGZyb20gJy4uL2xvY2FsZS9lbi1VUy9pbmRleC5qcyc7XG5pbXBvcnQgc3ViTWlsbGlzZWNvbmRzIGZyb20gJy4uL3N1Yk1pbGxpc2Vjb25kcy9pbmRleC5qcyc7XG5pbXBvcnQgdG9EYXRlIGZyb20gJy4uL3RvRGF0ZS9pbmRleC5qcyc7XG5pbXBvcnQgZ2V0VGltZXpvbmVPZmZzZXRJbk1pbGxpc2Vjb25kcyBmcm9tICcuLi9fbGliL2dldFRpbWV6b25lT2Zmc2V0SW5NaWxsaXNlY29uZHMvaW5kZXguanMnO1xuLyoqXG4gKiBAbmFtZSBmb3JtYXRSZWxhdGl2ZVxuICogQGNhdGVnb3J5IENvbW1vbiBIZWxwZXJzXG4gKiBAc3VtbWFyeSBSZXByZXNlbnQgdGhlIGRhdGUgaW4gd29yZHMgcmVsYXRpdmUgdG8gdGhlIGdpdmVuIGJhc2UgZGF0ZS5cbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIFJlcHJlc2VudCB0aGUgZGF0ZSBpbiB3b3JkcyByZWxhdGl2ZSB0byB0aGUgZ2l2ZW4gYmFzZSBkYXRlLlxuICpcbiAqIHwgRGlzdGFuY2UgdG8gdGhlIGJhc2UgZGF0ZSB8IFJlc3VsdCAgICAgICAgICAgICAgICAgICAgfFxuICogfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18XG4gKiB8IFByZXZpb3VzIDYgZGF5cyAgICAgICAgICAgfCBsYXN0IFN1bmRheSBhdCAwNDozMCBBTSAgIHxcbiAqIHwgTGFzdCBkYXkgICAgICAgICAgICAgICAgICB8IHllc3RlcmRheSBhdCAwNDozMCBBTSAgICAgfFxuICogfCBTYW1lIGRheSAgICAgICAgICAgICAgICAgIHwgdG9kYXkgYXQgMDQ6MzAgQU0gICAgICAgICB8XG4gKiB8IE5leHQgZGF5ICAgICAgICAgICAgICAgICAgfCB0b21vcnJvdyBhdCAwNDozMCBBTSAgICAgIHxcbiAqIHwgTmV4dCA2IGRheXMgICAgICAgICAgICAgICB8IFN1bmRheSBhdCAwNDozMCBBTSAgICAgICAgfFxuICogfCBPdGhlciAgICAgICAgICAgICAgICAgICAgIHwgMTIvMzEvMjAxNyAgICAgICAgICAgICAgICB8XG4gKlxuICogIyMjIHYyLjAuMCBicmVha2luZyBjaGFuZ2VzOlxuICpcbiAqIC0gW0NoYW5nZXMgdGhhdCBhcmUgY29tbW9uIGZvciB0aGUgd2hvbGUgbGlicmFyeV0oaHR0cHM6Ly9naXRodWIuY29tL2RhdGUtZm5zL2RhdGUtZm5zL2Jsb2IvbWFzdGVyL2RvY3MvdXBncmFkZUd1aWRlLm1kI0NvbW1vbi1DaGFuZ2VzKS5cbiAqXG4gKiBAcGFyYW0ge0RhdGV8TnVtYmVyfSBkYXRlIC0gdGhlIGRhdGUgdG8gZm9ybWF0XG4gKiBAcGFyYW0ge0RhdGV8TnVtYmVyfSBiYXNlRGF0ZSAtIHRoZSBkYXRlIHRvIGNvbXBhcmUgd2l0aFxuICogQHBhcmFtIHtPYmplY3R9IFtvcHRpb25zXSAtIGFuIG9iamVjdCB3aXRoIG9wdGlvbnMuXG4gKiBAcGFyYW0ge0xvY2FsZX0gW29wdGlvbnMubG9jYWxlPWRlZmF1bHRMb2NhbGVdIC0gdGhlIGxvY2FsZSBvYmplY3QuIFNlZSBbTG9jYWxlXXtAbGluayBodHRwczovL2RhdGUtZm5zLm9yZy9kb2NzL0xvY2FsZX1cbiAqIEBwYXJhbSB7MHwxfDJ8M3w0fDV8Nn0gW29wdGlvbnMud2Vla1N0YXJ0c09uPTBdIC0gdGhlIGluZGV4IG9mIHRoZSBmaXJzdCBkYXkgb2YgdGhlIHdlZWsgKDAgLSBTdW5kYXkpXG4gKiBAcmV0dXJucyB7U3RyaW5nfSB0aGUgZGF0ZSBpbiB3b3Jkc1xuICogQHRocm93cyB7VHlwZUVycm9yfSAyIGFyZ3VtZW50cyByZXF1aXJlZFxuICogQHRocm93cyB7UmFuZ2VFcnJvcn0gYG9wdGlvbnMud2Vla1N0YXJ0c09uYCBtdXN0IGJlIGJldHdlZW4gMCBhbmQgNlxuICogQHRocm93cyB7UmFuZ2VFcnJvcn0gYG9wdGlvbnMubG9jYWxlYCBtdXN0IGNvbnRhaW4gYGxvY2FsaXplYCBwcm9wZXJ0eVxuICogQHRocm93cyB7UmFuZ2VFcnJvcn0gYG9wdGlvbnMubG9jYWxlYCBtdXN0IGNvbnRhaW4gYGZvcm1hdExvbmdgIHByb3BlcnR5XG4gKiBAdGhyb3dzIHtSYW5nZUVycm9yfSBgb3B0aW9ucy5sb2NhbGVgIG11c3QgY29udGFpbiBgZm9ybWF0UmVsYXRpdmVgIHByb3BlcnR5XG4gKi9cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZm9ybWF0UmVsYXRpdmUoZGlydHlEYXRlLCBkaXJ0eUJhc2VEYXRlLCBkaXJ0eU9wdGlvbnMpIHtcbiAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPCAyKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignMiBhcmd1bWVudHMgcmVxdWlyZWQsIGJ1dCBvbmx5ICcgKyBhcmd1bWVudHMubGVuZ3RoICsgJyBwcmVzZW50Jyk7XG4gIH1cblxuICB2YXIgZGF0ZSA9IHRvRGF0ZShkaXJ0eURhdGUpO1xuICB2YXIgYmFzZURhdGUgPSB0b0RhdGUoZGlydHlCYXNlRGF0ZSk7XG4gIHZhciBvcHRpb25zID0gZGlydHlPcHRpb25zIHx8IHt9O1xuICB2YXIgbG9jYWxlID0gb3B0aW9ucy5sb2NhbGUgfHwgZGVmYXVsdExvY2FsZTtcblxuICBpZiAoIWxvY2FsZS5sb2NhbGl6ZSkge1xuICAgIHRocm93IG5ldyBSYW5nZUVycm9yKCdsb2NhbGUgbXVzdCBjb250YWluIGxvY2FsaXplIHByb3BlcnR5Jyk7XG4gIH1cblxuICBpZiAoIWxvY2FsZS5mb3JtYXRMb25nKSB7XG4gICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ2xvY2FsZSBtdXN0IGNvbnRhaW4gZm9ybWF0TG9uZyBwcm9wZXJ0eScpO1xuICB9XG5cbiAgaWYgKCFsb2NhbGUuZm9ybWF0UmVsYXRpdmUpIHtcbiAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcignbG9jYWxlIG11c3QgY29udGFpbiBmb3JtYXRSZWxhdGl2ZSBwcm9wZXJ0eScpO1xuICB9XG5cbiAgdmFyIGRpZmYgPSBkaWZmZXJlbmNlSW5DYWxlbmRhckRheXMoZGF0ZSwgYmFzZURhdGUpO1xuXG4gIGlmIChpc05hTihkaWZmKSkge1xuICAgIHRocm93IG5ldyBSYW5nZUVycm9yKCdJbnZhbGlkIHRpbWUgdmFsdWUnKTtcbiAgfVxuXG4gIHZhciB0b2tlbjtcblxuICBpZiAoZGlmZiA8IC02KSB7XG4gICAgdG9rZW4gPSAnb3RoZXInO1xuICB9IGVsc2UgaWYgKGRpZmYgPCAtMSkge1xuICAgIHRva2VuID0gJ2xhc3RXZWVrJztcbiAgfSBlbHNlIGlmIChkaWZmIDwgMCkge1xuICAgIHRva2VuID0gJ3llc3RlcmRheSc7XG4gIH0gZWxzZSBpZiAoZGlmZiA8IDEpIHtcbiAgICB0b2tlbiA9ICd0b2RheSc7XG4gIH0gZWxzZSBpZiAoZGlmZiA8IDIpIHtcbiAgICB0b2tlbiA9ICd0b21vcnJvdyc7XG4gIH0gZWxzZSBpZiAoZGlmZiA8IDcpIHtcbiAgICB0b2tlbiA9ICduZXh0V2Vlayc7XG4gIH0gZWxzZSB7XG4gICAgdG9rZW4gPSAnb3RoZXInO1xuICB9XG5cbiAgdmFyIHV0Y0RhdGUgPSBzdWJNaWxsaXNlY29uZHMoZGF0ZSwgZ2V0VGltZXpvbmVPZmZzZXRJbk1pbGxpc2Vjb25kcyhkYXRlKSk7XG4gIHZhciB1dGNCYXNlRGF0ZSA9IHN1Yk1pbGxpc2Vjb25kcyhiYXNlRGF0ZSwgZ2V0VGltZXpvbmVPZmZzZXRJbk1pbGxpc2Vjb25kcyhiYXNlRGF0ZSkpO1xuICB2YXIgZm9ybWF0U3RyID0gbG9jYWxlLmZvcm1hdFJlbGF0aXZlKHRva2VuLCB1dGNEYXRlLCB1dGNCYXNlRGF0ZSwgb3B0aW9ucyk7XG4gIHJldHVybiBmb3JtYXQoZGF0ZSwgZm9ybWF0U3RyLCBvcHRpb25zKTtcbn0iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/formatRelative/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/fromUnixTime/index.js": /*!*********************************************************!*\ !*** ./node_modules/date-fns/esm/fromUnixTime/index.js ***! \*********************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return fromUnixTime; });\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n/* harmony import */ var _lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../_lib/toInteger/index.js */ \"./node_modules/date-fns/esm/_lib/toInteger/index.js\");\n\n\n/**\n * @name fromUnixTime\n * @category Timestamp Helpers\n * @summary Create a date from a Unix timestamp.\n *\n * @description\n * Create a date from a Unix timestamp.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Number} unixTime - the given Unix timestamp\n * @returns {Date} the date\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Create the date 29 February 2012 11:45:05:\n * var result = fromUnixTime(1330515905)\n * //=> Wed Feb 29 2012 11:45:05\n */\n\nfunction fromUnixTime(dirtyUnixTime) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n var unixTime = Object(_lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(dirtyUnixTime);\n return Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(unixTime * 1000);\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2Zyb21Vbml4VGltZS9pbmRleC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9kYXRlLWZucy9lc20vZnJvbVVuaXhUaW1lL2luZGV4LmpzPzQ2MDIiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHRvRGF0ZSBmcm9tICcuLi90b0RhdGUvaW5kZXguanMnO1xuaW1wb3J0IHRvSW50ZWdlciBmcm9tICcuLi9fbGliL3RvSW50ZWdlci9pbmRleC5qcyc7XG4vKipcbiAqIEBuYW1lIGZyb21Vbml4VGltZVxuICogQGNhdGVnb3J5IFRpbWVzdGFtcCBIZWxwZXJzXG4gKiBAc3VtbWFyeSBDcmVhdGUgYSBkYXRlIGZyb20gYSBVbml4IHRpbWVzdGFtcC5cbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIENyZWF0ZSBhIGRhdGUgZnJvbSBhIFVuaXggdGltZXN0YW1wLlxuICpcbiAqICMjIyB2Mi4wLjAgYnJlYWtpbmcgY2hhbmdlczpcbiAqXG4gKiAtIFtDaGFuZ2VzIHRoYXQgYXJlIGNvbW1vbiBmb3IgdGhlIHdob2xlIGxpYnJhcnldKGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRlLWZucy9kYXRlLWZucy9ibG9iL21hc3Rlci9kb2NzL3VwZ3JhZGVHdWlkZS5tZCNDb21tb24tQ2hhbmdlcykuXG4gKlxuICogQHBhcmFtIHtOdW1iZXJ9IHVuaXhUaW1lIC0gdGhlIGdpdmVuIFVuaXggdGltZXN0YW1wXG4gKiBAcmV0dXJucyB7RGF0ZX0gdGhlIGRhdGVcbiAqIEB0aHJvd3Mge1R5cGVFcnJvcn0gMSBhcmd1bWVudCByZXF1aXJlZFxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBDcmVhdGUgdGhlIGRhdGUgMjkgRmVicnVhcnkgMjAxMiAxMTo0NTowNTpcbiAqIHZhciByZXN1bHQgPSBmcm9tVW5peFRpbWUoMTMzMDUxNTkwNSlcbiAqIC8vPT4gV2VkIEZlYiAyOSAyMDEyIDExOjQ1OjA1XG4gKi9cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZnJvbVVuaXhUaW1lKGRpcnR5VW5peFRpbWUpIHtcbiAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPCAxKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignMSBhcmd1bWVudCByZXF1aXJlZCwgYnV0IG9ubHkgJyArIGFyZ3VtZW50cy5sZW5ndGggKyAnIHByZXNlbnQnKTtcbiAgfVxuXG4gIHZhciB1bml4VGltZSA9IHRvSW50ZWdlcihkaXJ0eVVuaXhUaW1lKTtcbiAgcmV0dXJuIHRvRGF0ZSh1bml4VGltZSAqIDEwMDApO1xufSJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/fromUnixTime/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/getDate/index.js": /*!****************************************************!*\ !*** ./node_modules/date-fns/esm/getDate/index.js ***! \****************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return getDate; });\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n\n/**\n * @name getDate\n * @category Day Helpers\n * @summary Get the day of the month of the given date.\n *\n * @description\n * Get the day of the month of the given date.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the given date\n * @returns {Number} the day of month\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Which day of the month is 29 February 2012?\n * var result = getDate(new Date(2012, 1, 29))\n * //=> 29\n */\n\nfunction getDate(dirtyDate) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n var date = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate);\n var dayOfMonth = date.getDate();\n return dayOfMonth;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2dldERhdGUvaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2dldERhdGUvaW5kZXguanM/NGU5NyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdG9EYXRlIGZyb20gJy4uL3RvRGF0ZS9pbmRleC5qcyc7XG4vKipcbiAqIEBuYW1lIGdldERhdGVcbiAqIEBjYXRlZ29yeSBEYXkgSGVscGVyc1xuICogQHN1bW1hcnkgR2V0IHRoZSBkYXkgb2YgdGhlIG1vbnRoIG9mIHRoZSBnaXZlbiBkYXRlLlxuICpcbiAqIEBkZXNjcmlwdGlvblxuICogR2V0IHRoZSBkYXkgb2YgdGhlIG1vbnRoIG9mIHRoZSBnaXZlbiBkYXRlLlxuICpcbiAqICMjIyB2Mi4wLjAgYnJlYWtpbmcgY2hhbmdlczpcbiAqXG4gKiAtIFtDaGFuZ2VzIHRoYXQgYXJlIGNvbW1vbiBmb3IgdGhlIHdob2xlIGxpYnJhcnldKGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRlLWZucy9kYXRlLWZucy9ibG9iL21hc3Rlci9kb2NzL3VwZ3JhZGVHdWlkZS5tZCNDb21tb24tQ2hhbmdlcykuXG4gKlxuICogQHBhcmFtIHtEYXRlfE51bWJlcn0gZGF0ZSAtIHRoZSBnaXZlbiBkYXRlXG4gKiBAcmV0dXJucyB7TnVtYmVyfSB0aGUgZGF5IG9mIG1vbnRoXG4gKiBAdGhyb3dzIHtUeXBlRXJyb3J9IDEgYXJndW1lbnQgcmVxdWlyZWRcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gV2hpY2ggZGF5IG9mIHRoZSBtb250aCBpcyAyOSBGZWJydWFyeSAyMDEyP1xuICogdmFyIHJlc3VsdCA9IGdldERhdGUobmV3IERhdGUoMjAxMiwgMSwgMjkpKVxuICogLy89PiAyOVxuICovXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGdldERhdGUoZGlydHlEYXRlKSB7XG4gIGlmIChhcmd1bWVudHMubGVuZ3RoIDwgMSkge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJzEgYXJndW1lbnQgcmVxdWlyZWQsIGJ1dCBvbmx5ICcgKyBhcmd1bWVudHMubGVuZ3RoICsgJyBwcmVzZW50Jyk7XG4gIH1cblxuICB2YXIgZGF0ZSA9IHRvRGF0ZShkaXJ0eURhdGUpO1xuICB2YXIgZGF5T2ZNb250aCA9IGRhdGUuZ2V0RGF0ZSgpO1xuICByZXR1cm4gZGF5T2ZNb250aDtcbn0iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/getDate/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/getDay/index.js": /*!***************************************************!*\ !*** ./node_modules/date-fns/esm/getDay/index.js ***! \***************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return getDay; });\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n\n/**\n * @name getDay\n * @category Weekday Helpers\n * @summary Get the day of the week of the given date.\n *\n * @description\n * Get the day of the week of the given date.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the given date\n * @returns {Number} the day of week\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Which day of the week is 29 February 2012?\n * var result = getDay(new Date(2012, 1, 29))\n * //=> 3\n */\n\nfunction getDay(dirtyDate) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n var date = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate);\n var day = date.getDay();\n return day;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2dldERheS9pbmRleC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9kYXRlLWZucy9lc20vZ2V0RGF5L2luZGV4LmpzPzFhODYiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHRvRGF0ZSBmcm9tICcuLi90b0RhdGUvaW5kZXguanMnO1xuLyoqXG4gKiBAbmFtZSBnZXREYXlcbiAqIEBjYXRlZ29yeSBXZWVrZGF5IEhlbHBlcnNcbiAqIEBzdW1tYXJ5IEdldCB0aGUgZGF5IG9mIHRoZSB3ZWVrIG9mIHRoZSBnaXZlbiBkYXRlLlxuICpcbiAqIEBkZXNjcmlwdGlvblxuICogR2V0IHRoZSBkYXkgb2YgdGhlIHdlZWsgb2YgdGhlIGdpdmVuIGRhdGUuXG4gKlxuICogIyMjIHYyLjAuMCBicmVha2luZyBjaGFuZ2VzOlxuICpcbiAqIC0gW0NoYW5nZXMgdGhhdCBhcmUgY29tbW9uIGZvciB0aGUgd2hvbGUgbGlicmFyeV0oaHR0cHM6Ly9naXRodWIuY29tL2RhdGUtZm5zL2RhdGUtZm5zL2Jsb2IvbWFzdGVyL2RvY3MvdXBncmFkZUd1aWRlLm1kI0NvbW1vbi1DaGFuZ2VzKS5cbiAqXG4gKiBAcGFyYW0ge0RhdGV8TnVtYmVyfSBkYXRlIC0gdGhlIGdpdmVuIGRhdGVcbiAqIEByZXR1cm5zIHtOdW1iZXJ9IHRoZSBkYXkgb2Ygd2Vla1xuICogQHRocm93cyB7VHlwZUVycm9yfSAxIGFyZ3VtZW50IHJlcXVpcmVkXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIFdoaWNoIGRheSBvZiB0aGUgd2VlayBpcyAyOSBGZWJydWFyeSAyMDEyP1xuICogdmFyIHJlc3VsdCA9IGdldERheShuZXcgRGF0ZSgyMDEyLCAxLCAyOSkpXG4gKiAvLz0+IDNcbiAqL1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBnZXREYXkoZGlydHlEYXRlKSB7XG4gIGlmIChhcmd1bWVudHMubGVuZ3RoIDwgMSkge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJzEgYXJndW1lbnQgcmVxdWlyZWQsIGJ1dCBvbmx5ICcgKyBhcmd1bWVudHMubGVuZ3RoICsgJyBwcmVzZW50Jyk7XG4gIH1cblxuICB2YXIgZGF0ZSA9IHRvRGF0ZShkaXJ0eURhdGUpO1xuICB2YXIgZGF5ID0gZGF0ZS5nZXREYXkoKTtcbiAgcmV0dXJuIGRheTtcbn0iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/getDay/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/getDayOfYear/index.js": /*!*********************************************************!*\ !*** ./node_modules/date-fns/esm/getDayOfYear/index.js ***! \*********************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return getDayOfYear; });\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n/* harmony import */ var _startOfYear_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../startOfYear/index.js */ \"./node_modules/date-fns/esm/startOfYear/index.js\");\n/* harmony import */ var _differenceInCalendarDays_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../differenceInCalendarDays/index.js */ \"./node_modules/date-fns/esm/differenceInCalendarDays/index.js\");\n\n\n\n/**\n * @name getDayOfYear\n * @category Day Helpers\n * @summary Get the day of the year of the given date.\n *\n * @description\n * Get the day of the year of the given date.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the given date\n * @returns {Number} the day of year\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Which day of the year is 2 July 2014?\n * var result = getDayOfYear(new Date(2014, 6, 2))\n * //=> 183\n */\n\nfunction getDayOfYear(dirtyDate) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n var date = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate);\n var diff = Object(_differenceInCalendarDays_index_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(date, Object(_startOfYear_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(date));\n var dayOfYear = diff + 1;\n return dayOfYear;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2dldERheU9mWWVhci9pbmRleC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9kYXRlLWZucy9lc20vZ2V0RGF5T2ZZZWFyL2luZGV4LmpzPzBlYWQiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHRvRGF0ZSBmcm9tICcuLi90b0RhdGUvaW5kZXguanMnO1xuaW1wb3J0IHN0YXJ0T2ZZZWFyIGZyb20gJy4uL3N0YXJ0T2ZZZWFyL2luZGV4LmpzJztcbmltcG9ydCBkaWZmZXJlbmNlSW5DYWxlbmRhckRheXMgZnJvbSAnLi4vZGlmZmVyZW5jZUluQ2FsZW5kYXJEYXlzL2luZGV4LmpzJztcbi8qKlxuICogQG5hbWUgZ2V0RGF5T2ZZZWFyXG4gKiBAY2F0ZWdvcnkgRGF5IEhlbHBlcnNcbiAqIEBzdW1tYXJ5IEdldCB0aGUgZGF5IG9mIHRoZSB5ZWFyIG9mIHRoZSBnaXZlbiBkYXRlLlxuICpcbiAqIEBkZXNjcmlwdGlvblxuICogR2V0IHRoZSBkYXkgb2YgdGhlIHllYXIgb2YgdGhlIGdpdmVuIGRhdGUuXG4gKlxuICogIyMjIHYyLjAuMCBicmVha2luZyBjaGFuZ2VzOlxuICpcbiAqIC0gW0NoYW5nZXMgdGhhdCBhcmUgY29tbW9uIGZvciB0aGUgd2hvbGUgbGlicmFyeV0oaHR0cHM6Ly9naXRodWIuY29tL2RhdGUtZm5zL2RhdGUtZm5zL2Jsb2IvbWFzdGVyL2RvY3MvdXBncmFkZUd1aWRlLm1kI0NvbW1vbi1DaGFuZ2VzKS5cbiAqXG4gKiBAcGFyYW0ge0RhdGV8TnVtYmVyfSBkYXRlIC0gdGhlIGdpdmVuIGRhdGVcbiAqIEByZXR1cm5zIHtOdW1iZXJ9IHRoZSBkYXkgb2YgeWVhclxuICogQHRocm93cyB7VHlwZUVycm9yfSAxIGFyZ3VtZW50IHJlcXVpcmVkXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIFdoaWNoIGRheSBvZiB0aGUgeWVhciBpcyAyIEp1bHkgMjAxND9cbiAqIHZhciByZXN1bHQgPSBnZXREYXlPZlllYXIobmV3IERhdGUoMjAxNCwgNiwgMikpXG4gKiAvLz0+IDE4M1xuICovXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGdldERheU9mWWVhcihkaXJ0eURhdGUpIHtcbiAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPCAxKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignMSBhcmd1bWVudCByZXF1aXJlZCwgYnV0IG9ubHkgJyArIGFyZ3VtZW50cy5sZW5ndGggKyAnIHByZXNlbnQnKTtcbiAgfVxuXG4gIHZhciBkYXRlID0gdG9EYXRlKGRpcnR5RGF0ZSk7XG4gIHZhciBkaWZmID0gZGlmZmVyZW5jZUluQ2FsZW5kYXJEYXlzKGRhdGUsIHN0YXJ0T2ZZZWFyKGRhdGUpKTtcbiAgdmFyIGRheU9mWWVhciA9IGRpZmYgKyAxO1xuICByZXR1cm4gZGF5T2ZZZWFyO1xufSJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/getDayOfYear/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/getDaysInMonth/index.js": /*!***********************************************************!*\ !*** ./node_modules/date-fns/esm/getDaysInMonth/index.js ***! \***********************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return getDaysInMonth; });\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n\n/**\n * @name getDaysInMonth\n * @category Month Helpers\n * @summary Get the number of days in a month of the given date.\n *\n * @description\n * Get the number of days in a month of the given date.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the given date\n * @returns {Number} the number of days in a month\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // How many days are in February 2000?\n * var result = getDaysInMonth(new Date(2000, 1))\n * //=> 29\n */\n\nfunction getDaysInMonth(dirtyDate) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n var date = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate);\n var year = date.getFullYear();\n var monthIndex = date.getMonth();\n var lastDayOfMonth = new Date(0);\n lastDayOfMonth.setFullYear(year, monthIndex + 1, 0);\n lastDayOfMonth.setHours(0, 0, 0, 0);\n return lastDayOfMonth.getDate();\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2dldERheXNJbk1vbnRoL2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2VzbS9nZXREYXlzSW5Nb250aC9pbmRleC5qcz8zYWUyIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0b0RhdGUgZnJvbSAnLi4vdG9EYXRlL2luZGV4LmpzJztcbi8qKlxuICogQG5hbWUgZ2V0RGF5c0luTW9udGhcbiAqIEBjYXRlZ29yeSBNb250aCBIZWxwZXJzXG4gKiBAc3VtbWFyeSBHZXQgdGhlIG51bWJlciBvZiBkYXlzIGluIGEgbW9udGggb2YgdGhlIGdpdmVuIGRhdGUuXG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKiBHZXQgdGhlIG51bWJlciBvZiBkYXlzIGluIGEgbW9udGggb2YgdGhlIGdpdmVuIGRhdGUuXG4gKlxuICogIyMjIHYyLjAuMCBicmVha2luZyBjaGFuZ2VzOlxuICpcbiAqIC0gW0NoYW5nZXMgdGhhdCBhcmUgY29tbW9uIGZvciB0aGUgd2hvbGUgbGlicmFyeV0oaHR0cHM6Ly9naXRodWIuY29tL2RhdGUtZm5zL2RhdGUtZm5zL2Jsb2IvbWFzdGVyL2RvY3MvdXBncmFkZUd1aWRlLm1kI0NvbW1vbi1DaGFuZ2VzKS5cbiAqXG4gKiBAcGFyYW0ge0RhdGV8TnVtYmVyfSBkYXRlIC0gdGhlIGdpdmVuIGRhdGVcbiAqIEByZXR1cm5zIHtOdW1iZXJ9IHRoZSBudW1iZXIgb2YgZGF5cyBpbiBhIG1vbnRoXG4gKiBAdGhyb3dzIHtUeXBlRXJyb3J9IDEgYXJndW1lbnQgcmVxdWlyZWRcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gSG93IG1hbnkgZGF5cyBhcmUgaW4gRmVicnVhcnkgMjAwMD9cbiAqIHZhciByZXN1bHQgPSBnZXREYXlzSW5Nb250aChuZXcgRGF0ZSgyMDAwLCAxKSlcbiAqIC8vPT4gMjlcbiAqL1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBnZXREYXlzSW5Nb250aChkaXJ0eURhdGUpIHtcbiAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPCAxKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignMSBhcmd1bWVudCByZXF1aXJlZCwgYnV0IG9ubHkgJyArIGFyZ3VtZW50cy5sZW5ndGggKyAnIHByZXNlbnQnKTtcbiAgfVxuXG4gIHZhciBkYXRlID0gdG9EYXRlKGRpcnR5RGF0ZSk7XG4gIHZhciB5ZWFyID0gZGF0ZS5nZXRGdWxsWWVhcigpO1xuICB2YXIgbW9udGhJbmRleCA9IGRhdGUuZ2V0TW9udGgoKTtcbiAgdmFyIGxhc3REYXlPZk1vbnRoID0gbmV3IERhdGUoMCk7XG4gIGxhc3REYXlPZk1vbnRoLnNldEZ1bGxZZWFyKHllYXIsIG1vbnRoSW5kZXggKyAxLCAwKTtcbiAgbGFzdERheU9mTW9udGguc2V0SG91cnMoMCwgMCwgMCwgMCk7XG4gIHJldHVybiBsYXN0RGF5T2ZNb250aC5nZXREYXRlKCk7XG59Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/getDaysInMonth/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/getDaysInYear/index.js": /*!**********************************************************!*\ !*** ./node_modules/date-fns/esm/getDaysInYear/index.js ***! \**********************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return getDaysInYear; });\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n/* harmony import */ var _isLeapYear_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../isLeapYear/index.js */ \"./node_modules/date-fns/esm/isLeapYear/index.js\");\n\n\n/**\n * @name getDaysInYear\n * @category Year Helpers\n * @summary Get the number of days in a year of the given date.\n *\n * @description\n * Get the number of days in a year of the given date.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the given date\n * @returns {Number} the number of days in a year\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // How many days are in 2012?\n * var result = getDaysInYear(new Date(2012, 0, 1))\n * //=> 366\n */\n\nfunction getDaysInYear(dirtyDate) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n var date = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate);\n\n if (isNaN(date)) {\n return NaN;\n }\n\n return Object(_isLeapYear_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(date) ? 366 : 365;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2dldERheXNJblllYXIvaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2dldERheXNJblllYXIvaW5kZXguanM/OTBhYSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdG9EYXRlIGZyb20gJy4uL3RvRGF0ZS9pbmRleC5qcyc7XG5pbXBvcnQgaXNMZWFwWWVhciBmcm9tICcuLi9pc0xlYXBZZWFyL2luZGV4LmpzJztcbi8qKlxuICogQG5hbWUgZ2V0RGF5c0luWWVhclxuICogQGNhdGVnb3J5IFllYXIgSGVscGVyc1xuICogQHN1bW1hcnkgR2V0IHRoZSBudW1iZXIgb2YgZGF5cyBpbiBhIHllYXIgb2YgdGhlIGdpdmVuIGRhdGUuXG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKiBHZXQgdGhlIG51bWJlciBvZiBkYXlzIGluIGEgeWVhciBvZiB0aGUgZ2l2ZW4gZGF0ZS5cbiAqXG4gKiAjIyMgdjIuMC4wIGJyZWFraW5nIGNoYW5nZXM6XG4gKlxuICogLSBbQ2hhbmdlcyB0aGF0IGFyZSBjb21tb24gZm9yIHRoZSB3aG9sZSBsaWJyYXJ5XShodHRwczovL2dpdGh1Yi5jb20vZGF0ZS1mbnMvZGF0ZS1mbnMvYmxvYi9tYXN0ZXIvZG9jcy91cGdyYWRlR3VpZGUubWQjQ29tbW9uLUNoYW5nZXMpLlxuICpcbiAqIEBwYXJhbSB7RGF0ZXxOdW1iZXJ9IGRhdGUgLSB0aGUgZ2l2ZW4gZGF0ZVxuICogQHJldHVybnMge051bWJlcn0gdGhlIG51bWJlciBvZiBkYXlzIGluIGEgeWVhclxuICogQHRocm93cyB7VHlwZUVycm9yfSAxIGFyZ3VtZW50IHJlcXVpcmVkXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIEhvdyBtYW55IGRheXMgYXJlIGluIDIwMTI/XG4gKiB2YXIgcmVzdWx0ID0gZ2V0RGF5c0luWWVhcihuZXcgRGF0ZSgyMDEyLCAwLCAxKSlcbiAqIC8vPT4gMzY2XG4gKi9cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZ2V0RGF5c0luWWVhcihkaXJ0eURhdGUpIHtcbiAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPCAxKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignMSBhcmd1bWVudCByZXF1aXJlZCwgYnV0IG9ubHkgJyArIGFyZ3VtZW50cy5sZW5ndGggKyAnIHByZXNlbnQnKTtcbiAgfVxuXG4gIHZhciBkYXRlID0gdG9EYXRlKGRpcnR5RGF0ZSk7XG5cbiAgaWYgKGlzTmFOKGRhdGUpKSB7XG4gICAgcmV0dXJuIE5hTjtcbiAgfVxuXG4gIHJldHVybiBpc0xlYXBZZWFyKGRhdGUpID8gMzY2IDogMzY1O1xufSJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/getDaysInYear/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/getDecade/index.js": /*!******************************************************!*\ !*** ./node_modules/date-fns/esm/getDecade/index.js ***! \******************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return getDecade; });\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n\n/**\n * @name getDecade\n * @category Decade Helpers\n * @summary Get the decade of the given date.\n *\n * @description\n * Get the decade of the given date.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the given date\n * @returns {Number} the year of decade\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Which decade belongs 27 November 1942?\n * var result = getDecade(new Date(1942, 10, 27))\n * //=> 1940\n */\n\nfunction getDecade(dirtyDate) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n var date = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate);\n var year = date.getFullYear();\n var decade = Math.floor(year / 10) * 10;\n return decade;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2dldERlY2FkZS9pbmRleC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9kYXRlLWZucy9lc20vZ2V0RGVjYWRlL2luZGV4LmpzPzBmZWEiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHRvRGF0ZSBmcm9tICcuLi90b0RhdGUvaW5kZXguanMnO1xuLyoqXG4gKiBAbmFtZSBnZXREZWNhZGVcbiAqIEBjYXRlZ29yeSBEZWNhZGUgSGVscGVyc1xuICogQHN1bW1hcnkgR2V0IHRoZSBkZWNhZGUgb2YgdGhlIGdpdmVuIGRhdGUuXG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKiBHZXQgdGhlIGRlY2FkZSBvZiB0aGUgZ2l2ZW4gZGF0ZS5cbiAqXG4gKiAjIyMgdjIuMC4wIGJyZWFraW5nIGNoYW5nZXM6XG4gKlxuICogLSBbQ2hhbmdlcyB0aGF0IGFyZSBjb21tb24gZm9yIHRoZSB3aG9sZSBsaWJyYXJ5XShodHRwczovL2dpdGh1Yi5jb20vZGF0ZS1mbnMvZGF0ZS1mbnMvYmxvYi9tYXN0ZXIvZG9jcy91cGdyYWRlR3VpZGUubWQjQ29tbW9uLUNoYW5nZXMpLlxuICpcbiAqIEBwYXJhbSB7RGF0ZXxOdW1iZXJ9IGRhdGUgLSB0aGUgZ2l2ZW4gZGF0ZVxuICogQHJldHVybnMge051bWJlcn0gdGhlIHllYXIgb2YgZGVjYWRlXG4gKiBAdGhyb3dzIHtUeXBlRXJyb3J9IDEgYXJndW1lbnQgcmVxdWlyZWRcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gV2hpY2ggZGVjYWRlIGJlbG9uZ3MgMjcgTm92ZW1iZXIgMTk0Mj9cbiAqIHZhciByZXN1bHQgPSBnZXREZWNhZGUobmV3IERhdGUoMTk0MiwgMTAsIDI3KSlcbiAqIC8vPT4gMTk0MFxuICovXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGdldERlY2FkZShkaXJ0eURhdGUpIHtcbiAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPCAxKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignMSBhcmd1bWVudCByZXF1aXJlZCwgYnV0IG9ubHkgJyArIGFyZ3VtZW50cy5sZW5ndGggKyAnIHByZXNlbnQnKTtcbiAgfVxuXG4gIHZhciBkYXRlID0gdG9EYXRlKGRpcnR5RGF0ZSk7XG4gIHZhciB5ZWFyID0gZGF0ZS5nZXRGdWxsWWVhcigpO1xuICB2YXIgZGVjYWRlID0gTWF0aC5mbG9vcih5ZWFyIC8gMTApICogMTA7XG4gIHJldHVybiBkZWNhZGU7XG59Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/getDecade/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/getHours/index.js": /*!*****************************************************!*\ !*** ./node_modules/date-fns/esm/getHours/index.js ***! \*****************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return getHours; });\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n\n/**\n * @name getHours\n * @category Hour Helpers\n * @summary Get the hours of the given date.\n *\n * @description\n * Get the hours of the given date.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the given date\n * @returns {Number} the hours\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Get the hours of 29 February 2012 11:45:00:\n * var result = getHours(new Date(2012, 1, 29, 11, 45))\n * //=> 11\n */\n\nfunction getHours(dirtyDate) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n var date = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate);\n var hours = date.getHours();\n return hours;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2dldEhvdXJzL2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2VzbS9nZXRIb3Vycy9pbmRleC5qcz9kM2M2Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0b0RhdGUgZnJvbSAnLi4vdG9EYXRlL2luZGV4LmpzJztcbi8qKlxuICogQG5hbWUgZ2V0SG91cnNcbiAqIEBjYXRlZ29yeSBIb3VyIEhlbHBlcnNcbiAqIEBzdW1tYXJ5IEdldCB0aGUgaG91cnMgb2YgdGhlIGdpdmVuIGRhdGUuXG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKiBHZXQgdGhlIGhvdXJzIG9mIHRoZSBnaXZlbiBkYXRlLlxuICpcbiAqICMjIyB2Mi4wLjAgYnJlYWtpbmcgY2hhbmdlczpcbiAqXG4gKiAtIFtDaGFuZ2VzIHRoYXQgYXJlIGNvbW1vbiBmb3IgdGhlIHdob2xlIGxpYnJhcnldKGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRlLWZucy9kYXRlLWZucy9ibG9iL21hc3Rlci9kb2NzL3VwZ3JhZGVHdWlkZS5tZCNDb21tb24tQ2hhbmdlcykuXG4gKlxuICogQHBhcmFtIHtEYXRlfE51bWJlcn0gZGF0ZSAtIHRoZSBnaXZlbiBkYXRlXG4gKiBAcmV0dXJucyB7TnVtYmVyfSB0aGUgaG91cnNcbiAqIEB0aHJvd3Mge1R5cGVFcnJvcn0gMSBhcmd1bWVudCByZXF1aXJlZFxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBHZXQgdGhlIGhvdXJzIG9mIDI5IEZlYnJ1YXJ5IDIwMTIgMTE6NDU6MDA6XG4gKiB2YXIgcmVzdWx0ID0gZ2V0SG91cnMobmV3IERhdGUoMjAxMiwgMSwgMjksIDExLCA0NSkpXG4gKiAvLz0+IDExXG4gKi9cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZ2V0SG91cnMoZGlydHlEYXRlKSB7XG4gIGlmIChhcmd1bWVudHMubGVuZ3RoIDwgMSkge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJzEgYXJndW1lbnQgcmVxdWlyZWQsIGJ1dCBvbmx5ICcgKyBhcmd1bWVudHMubGVuZ3RoICsgJyBwcmVzZW50Jyk7XG4gIH1cblxuICB2YXIgZGF0ZSA9IHRvRGF0ZShkaXJ0eURhdGUpO1xuICB2YXIgaG91cnMgPSBkYXRlLmdldEhvdXJzKCk7XG4gIHJldHVybiBob3Vycztcbn0iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/getHours/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/getISODay/index.js": /*!******************************************************!*\ !*** ./node_modules/date-fns/esm/getISODay/index.js ***! \******************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return getISODay; });\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n\n/**\n * @name getISODay\n * @category Weekday Helpers\n * @summary Get the day of the ISO week of the given date.\n *\n * @description\n * Get the day of the ISO week of the given date,\n * which is 7 for Sunday, 1 for Monday etc.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the given date\n * @returns {Number} the day of ISO week\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Which day of the ISO week is 26 February 2012?\n * var result = getISODay(new Date(2012, 1, 26))\n * //=> 7\n */\n\nfunction getISODay(dirtyDate) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n var date = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate);\n var day = date.getDay();\n\n if (day === 0) {\n day = 7;\n }\n\n return day;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2dldElTT0RheS9pbmRleC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9kYXRlLWZucy9lc20vZ2V0SVNPRGF5L2luZGV4LmpzPzM1NzEiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHRvRGF0ZSBmcm9tICcuLi90b0RhdGUvaW5kZXguanMnO1xuLyoqXG4gKiBAbmFtZSBnZXRJU09EYXlcbiAqIEBjYXRlZ29yeSBXZWVrZGF5IEhlbHBlcnNcbiAqIEBzdW1tYXJ5IEdldCB0aGUgZGF5IG9mIHRoZSBJU08gd2VlayBvZiB0aGUgZ2l2ZW4gZGF0ZS5cbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIEdldCB0aGUgZGF5IG9mIHRoZSBJU08gd2VlayBvZiB0aGUgZ2l2ZW4gZGF0ZSxcbiAqIHdoaWNoIGlzIDcgZm9yIFN1bmRheSwgMSBmb3IgTW9uZGF5IGV0Yy5cbiAqXG4gKiBJU08gd2Vlay1udW1iZXJpbmcgeWVhcjogaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9JU09fd2Vla19kYXRlXG4gKlxuICogIyMjIHYyLjAuMCBicmVha2luZyBjaGFuZ2VzOlxuICpcbiAqIC0gW0NoYW5nZXMgdGhhdCBhcmUgY29tbW9uIGZvciB0aGUgd2hvbGUgbGlicmFyeV0oaHR0cHM6Ly9naXRodWIuY29tL2RhdGUtZm5zL2RhdGUtZm5zL2Jsb2IvbWFzdGVyL2RvY3MvdXBncmFkZUd1aWRlLm1kI0NvbW1vbi1DaGFuZ2VzKS5cbiAqXG4gKiBAcGFyYW0ge0RhdGV8TnVtYmVyfSBkYXRlIC0gdGhlIGdpdmVuIGRhdGVcbiAqIEByZXR1cm5zIHtOdW1iZXJ9IHRoZSBkYXkgb2YgSVNPIHdlZWtcbiAqIEB0aHJvd3Mge1R5cGVFcnJvcn0gMSBhcmd1bWVudCByZXF1aXJlZFxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBXaGljaCBkYXkgb2YgdGhlIElTTyB3ZWVrIGlzIDI2IEZlYnJ1YXJ5IDIwMTI/XG4gKiB2YXIgcmVzdWx0ID0gZ2V0SVNPRGF5KG5ldyBEYXRlKDIwMTIsIDEsIDI2KSlcbiAqIC8vPT4gN1xuICovXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGdldElTT0RheShkaXJ0eURhdGUpIHtcbiAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPCAxKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignMSBhcmd1bWVudCByZXF1aXJlZCwgYnV0IG9ubHkgJyArIGFyZ3VtZW50cy5sZW5ndGggKyAnIHByZXNlbnQnKTtcbiAgfVxuXG4gIHZhciBkYXRlID0gdG9EYXRlKGRpcnR5RGF0ZSk7XG4gIHZhciBkYXkgPSBkYXRlLmdldERheSgpO1xuXG4gIGlmIChkYXkgPT09IDApIHtcbiAgICBkYXkgPSA3O1xuICB9XG5cbiAgcmV0dXJuIGRheTtcbn0iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/getISODay/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/getISOWeek/index.js": /*!*******************************************************!*\ !*** ./node_modules/date-fns/esm/getISOWeek/index.js ***! \*******************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return getISOWeek; });\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n/* harmony import */ var _startOfISOWeek_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../startOfISOWeek/index.js */ \"./node_modules/date-fns/esm/startOfISOWeek/index.js\");\n/* harmony import */ var _startOfISOWeekYear_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../startOfISOWeekYear/index.js */ \"./node_modules/date-fns/esm/startOfISOWeekYear/index.js\");\n\n\n\nvar MILLISECONDS_IN_WEEK = 604800000;\n/**\n * @name getISOWeek\n * @category ISO Week Helpers\n * @summary Get the ISO week of the given date.\n *\n * @description\n * Get the ISO week of the given date.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the given date\n * @returns {Number} the ISO week\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Which week of the ISO-week numbering year is 2 January 2005?\n * var result = getISOWeek(new Date(2005, 0, 2))\n * //=> 53\n */\n\nfunction getISOWeek(dirtyDate) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n var date = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate);\n var diff = Object(_startOfISOWeek_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(date).getTime() - Object(_startOfISOWeekYear_index_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(date).getTime(); // Round the number of days to the nearest integer\n // because the number of milliseconds in a week is not constant\n // (e.g. it's different in the week of the daylight saving time clock shift)\n\n return Math.round(diff / MILLISECONDS_IN_WEEK) + 1;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2dldElTT1dlZWsvaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2dldElTT1dlZWsvaW5kZXguanM/YjAxMiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdG9EYXRlIGZyb20gJy4uL3RvRGF0ZS9pbmRleC5qcyc7XG5pbXBvcnQgc3RhcnRPZklTT1dlZWsgZnJvbSAnLi4vc3RhcnRPZklTT1dlZWsvaW5kZXguanMnO1xuaW1wb3J0IHN0YXJ0T2ZJU09XZWVrWWVhciBmcm9tICcuLi9zdGFydE9mSVNPV2Vla1llYXIvaW5kZXguanMnO1xudmFyIE1JTExJU0VDT05EU19JTl9XRUVLID0gNjA0ODAwMDAwO1xuLyoqXG4gKiBAbmFtZSBnZXRJU09XZWVrXG4gKiBAY2F0ZWdvcnkgSVNPIFdlZWsgSGVscGVyc1xuICogQHN1bW1hcnkgR2V0IHRoZSBJU08gd2VlayBvZiB0aGUgZ2l2ZW4gZGF0ZS5cbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIEdldCB0aGUgSVNPIHdlZWsgb2YgdGhlIGdpdmVuIGRhdGUuXG4gKlxuICogSVNPIHdlZWstbnVtYmVyaW5nIHllYXI6IGh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvSVNPX3dlZWtfZGF0ZVxuICpcbiAqICMjIyB2Mi4wLjAgYnJlYWtpbmcgY2hhbmdlczpcbiAqXG4gKiAtIFtDaGFuZ2VzIHRoYXQgYXJlIGNvbW1vbiBmb3IgdGhlIHdob2xlIGxpYnJhcnldKGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRlLWZucy9kYXRlLWZucy9ibG9iL21hc3Rlci9kb2NzL3VwZ3JhZGVHdWlkZS5tZCNDb21tb24tQ2hhbmdlcykuXG4gKlxuICogQHBhcmFtIHtEYXRlfE51bWJlcn0gZGF0ZSAtIHRoZSBnaXZlbiBkYXRlXG4gKiBAcmV0dXJucyB7TnVtYmVyfSB0aGUgSVNPIHdlZWtcbiAqIEB0aHJvd3Mge1R5cGVFcnJvcn0gMSBhcmd1bWVudCByZXF1aXJlZFxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBXaGljaCB3ZWVrIG9mIHRoZSBJU08td2VlayBudW1iZXJpbmcgeWVhciBpcyAyIEphbnVhcnkgMjAwNT9cbiAqIHZhciByZXN1bHQgPSBnZXRJU09XZWVrKG5ldyBEYXRlKDIwMDUsIDAsIDIpKVxuICogLy89PiA1M1xuICovXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGdldElTT1dlZWsoZGlydHlEYXRlKSB7XG4gIGlmIChhcmd1bWVudHMubGVuZ3RoIDwgMSkge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJzEgYXJndW1lbnQgcmVxdWlyZWQsIGJ1dCBvbmx5ICcgKyBhcmd1bWVudHMubGVuZ3RoICsgJyBwcmVzZW50Jyk7XG4gIH1cblxuICB2YXIgZGF0ZSA9IHRvRGF0ZShkaXJ0eURhdGUpO1xuICB2YXIgZGlmZiA9IHN0YXJ0T2ZJU09XZWVrKGRhdGUpLmdldFRpbWUoKSAtIHN0YXJ0T2ZJU09XZWVrWWVhcihkYXRlKS5nZXRUaW1lKCk7IC8vIFJvdW5kIHRoZSBudW1iZXIgb2YgZGF5cyB0byB0aGUgbmVhcmVzdCBpbnRlZ2VyXG4gIC8vIGJlY2F1c2UgdGhlIG51bWJlciBvZiBtaWxsaXNlY29uZHMgaW4gYSB3ZWVrIGlzIG5vdCBjb25zdGFudFxuICAvLyAoZS5nLiBpdCdzIGRpZmZlcmVudCBpbiB0aGUgd2VlayBvZiB0aGUgZGF5bGlnaHQgc2F2aW5nIHRpbWUgY2xvY2sgc2hpZnQpXG5cbiAgcmV0dXJuIE1hdGgucm91bmQoZGlmZiAvIE1JTExJU0VDT05EU19JTl9XRUVLKSArIDE7XG59Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/getISOWeek/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/getISOWeekYear/index.js": /*!***********************************************************!*\ !*** ./node_modules/date-fns/esm/getISOWeekYear/index.js ***! \***********************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return getISOWeekYear; });\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n/* harmony import */ var _startOfISOWeek_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../startOfISOWeek/index.js */ \"./node_modules/date-fns/esm/startOfISOWeek/index.js\");\n\n\n/**\n * @name getISOWeekYear\n * @category ISO Week-Numbering Year Helpers\n * @summary Get the ISO week-numbering year of the given date.\n *\n * @description\n * Get the ISO week-numbering year of the given date,\n * which always starts 3 days before the year's first Thursday.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * - The function was renamed from `getISOYear` to `getISOWeekYear`.\n * \"ISO week year\" is short for [ISO week-numbering year](https://en.wikipedia.org/wiki/ISO_week_date).\n * This change makes the name consistent with\n * locale-dependent week-numbering year helpers, e.g., `getWeekYear`.\n *\n * @param {Date|Number} date - the given date\n * @returns {Number} the ISO week-numbering year\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Which ISO-week numbering year is 2 January 2005?\n * var result = getISOWeekYear(new Date(2005, 0, 2))\n * //=> 2004\n */\n\nfunction getISOWeekYear(dirtyDate) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n var date = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate);\n var year = date.getFullYear();\n var fourthOfJanuaryOfNextYear = new Date(0);\n fourthOfJanuaryOfNextYear.setFullYear(year + 1, 0, 4);\n fourthOfJanuaryOfNextYear.setHours(0, 0, 0, 0);\n var startOfNextYear = Object(_startOfISOWeek_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(fourthOfJanuaryOfNextYear);\n var fourthOfJanuaryOfThisYear = new Date(0);\n fourthOfJanuaryOfThisYear.setFullYear(year, 0, 4);\n fourthOfJanuaryOfThisYear.setHours(0, 0, 0, 0);\n var startOfThisYear = Object(_startOfISOWeek_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(fourthOfJanuaryOfThisYear);\n\n if (date.getTime() >= startOfNextYear.getTime()) {\n return year + 1;\n } else if (date.getTime() >= startOfThisYear.getTime()) {\n return year;\n } else {\n return year - 1;\n }\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2dldElTT1dlZWtZZWFyL2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2VzbS9nZXRJU09XZWVrWWVhci9pbmRleC5qcz8wNGEyIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0b0RhdGUgZnJvbSAnLi4vdG9EYXRlL2luZGV4LmpzJztcbmltcG9ydCBzdGFydE9mSVNPV2VlayBmcm9tICcuLi9zdGFydE9mSVNPV2Vlay9pbmRleC5qcyc7XG4vKipcbiAqIEBuYW1lIGdldElTT1dlZWtZZWFyXG4gKiBAY2F0ZWdvcnkgSVNPIFdlZWstTnVtYmVyaW5nIFllYXIgSGVscGVyc1xuICogQHN1bW1hcnkgR2V0IHRoZSBJU08gd2Vlay1udW1iZXJpbmcgeWVhciBvZiB0aGUgZ2l2ZW4gZGF0ZS5cbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIEdldCB0aGUgSVNPIHdlZWstbnVtYmVyaW5nIHllYXIgb2YgdGhlIGdpdmVuIGRhdGUsXG4gKiB3aGljaCBhbHdheXMgc3RhcnRzIDMgZGF5cyBiZWZvcmUgdGhlIHllYXIncyBmaXJzdCBUaHVyc2RheS5cbiAqXG4gKiBJU08gd2Vlay1udW1iZXJpbmcgeWVhcjogaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9JU09fd2Vla19kYXRlXG4gKlxuICogIyMjIHYyLjAuMCBicmVha2luZyBjaGFuZ2VzOlxuICpcbiAqIC0gW0NoYW5nZXMgdGhhdCBhcmUgY29tbW9uIGZvciB0aGUgd2hvbGUgbGlicmFyeV0oaHR0cHM6Ly9naXRodWIuY29tL2RhdGUtZm5zL2RhdGUtZm5zL2Jsb2IvbWFzdGVyL2RvY3MvdXBncmFkZUd1aWRlLm1kI0NvbW1vbi1DaGFuZ2VzKS5cbiAqXG4gKiAtIFRoZSBmdW5jdGlvbiB3YXMgcmVuYW1lZCBmcm9tIGBnZXRJU09ZZWFyYCB0byBgZ2V0SVNPV2Vla1llYXJgLlxuICogICBcIklTTyB3ZWVrIHllYXJcIiBpcyBzaG9ydCBmb3IgW0lTTyB3ZWVrLW51bWJlcmluZyB5ZWFyXShodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9JU09fd2Vla19kYXRlKS5cbiAqICAgVGhpcyBjaGFuZ2UgbWFrZXMgdGhlIG5hbWUgY29uc2lzdGVudCB3aXRoXG4gKiAgIGxvY2FsZS1kZXBlbmRlbnQgd2Vlay1udW1iZXJpbmcgeWVhciBoZWxwZXJzLCBlLmcuLCBgZ2V0V2Vla1llYXJgLlxuICpcbiAqIEBwYXJhbSB7RGF0ZXxOdW1iZXJ9IGRhdGUgLSB0aGUgZ2l2ZW4gZGF0ZVxuICogQHJldHVybnMge051bWJlcn0gdGhlIElTTyB3ZWVrLW51bWJlcmluZyB5ZWFyXG4gKiBAdGhyb3dzIHtUeXBlRXJyb3J9IDEgYXJndW1lbnQgcmVxdWlyZWRcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gV2hpY2ggSVNPLXdlZWsgbnVtYmVyaW5nIHllYXIgaXMgMiBKYW51YXJ5IDIwMDU/XG4gKiB2YXIgcmVzdWx0ID0gZ2V0SVNPV2Vla1llYXIobmV3IERhdGUoMjAwNSwgMCwgMikpXG4gKiAvLz0+IDIwMDRcbiAqL1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBnZXRJU09XZWVrWWVhcihkaXJ0eURhdGUpIHtcbiAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPCAxKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignMSBhcmd1bWVudCByZXF1aXJlZCwgYnV0IG9ubHkgJyArIGFyZ3VtZW50cy5sZW5ndGggKyAnIHByZXNlbnQnKTtcbiAgfVxuXG4gIHZhciBkYXRlID0gdG9EYXRlKGRpcnR5RGF0ZSk7XG4gIHZhciB5ZWFyID0gZGF0ZS5nZXRGdWxsWWVhcigpO1xuICB2YXIgZm91cnRoT2ZKYW51YXJ5T2ZOZXh0WWVhciA9IG5ldyBEYXRlKDApO1xuICBmb3VydGhPZkphbnVhcnlPZk5leHRZZWFyLnNldEZ1bGxZZWFyKHllYXIgKyAxLCAwLCA0KTtcbiAgZm91cnRoT2ZKYW51YXJ5T2ZOZXh0WWVhci5zZXRIb3VycygwLCAwLCAwLCAwKTtcbiAgdmFyIHN0YXJ0T2ZOZXh0WWVhciA9IHN0YXJ0T2ZJU09XZWVrKGZvdXJ0aE9mSmFudWFyeU9mTmV4dFllYXIpO1xuICB2YXIgZm91cnRoT2ZKYW51YXJ5T2ZUaGlzWWVhciA9IG5ldyBEYXRlKDApO1xuICBmb3VydGhPZkphbnVhcnlPZlRoaXNZZWFyLnNldEZ1bGxZZWFyKHllYXIsIDAsIDQpO1xuICBmb3VydGhPZkphbnVhcnlPZlRoaXNZZWFyLnNldEhvdXJzKDAsIDAsIDAsIDApO1xuICB2YXIgc3RhcnRPZlRoaXNZZWFyID0gc3RhcnRPZklTT1dlZWsoZm91cnRoT2ZKYW51YXJ5T2ZUaGlzWWVhcik7XG5cbiAgaWYgKGRhdGUuZ2V0VGltZSgpID49IHN0YXJ0T2ZOZXh0WWVhci5nZXRUaW1lKCkpIHtcbiAgICByZXR1cm4geWVhciArIDE7XG4gIH0gZWxzZSBpZiAoZGF0ZS5nZXRUaW1lKCkgPj0gc3RhcnRPZlRoaXNZZWFyLmdldFRpbWUoKSkge1xuICAgIHJldHVybiB5ZWFyO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiB5ZWFyIC0gMTtcbiAgfVxufSJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/getISOWeekYear/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/getISOWeeksInYear/index.js": /*!**************************************************************!*\ !*** ./node_modules/date-fns/esm/getISOWeeksInYear/index.js ***! \**************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return getISOWeeksInYear; });\n/* harmony import */ var _startOfISOWeekYear_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../startOfISOWeekYear/index.js */ \"./node_modules/date-fns/esm/startOfISOWeekYear/index.js\");\n/* harmony import */ var _addWeeks_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../addWeeks/index.js */ \"./node_modules/date-fns/esm/addWeeks/index.js\");\n\n\nvar MILLISECONDS_IN_WEEK = 604800000;\n/**\n * @name getISOWeeksInYear\n * @category ISO Week-Numbering Year Helpers\n * @summary Get the number of weeks in an ISO week-numbering year of the given date.\n *\n * @description\n * Get the number of weeks in an ISO week-numbering year of the given date.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the given date\n * @returns {Number} the number of ISO weeks in a year\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // How many weeks are in ISO week-numbering year 2015?\n * var result = getISOWeeksInYear(new Date(2015, 1, 11))\n * //=> 53\n */\n\nfunction getISOWeeksInYear(dirtyDate) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n var thisYear = Object(_startOfISOWeekYear_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate);\n var nextYear = Object(_startOfISOWeekYear_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Object(_addWeeks_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(thisYear, 60));\n var diff = nextYear.valueOf() - thisYear.valueOf(); // Round the number of weeks to the nearest integer\n // because the number of milliseconds in a week is not constant\n // (e.g. it's different in the week of the daylight saving time clock shift)\n\n return Math.round(diff / MILLISECONDS_IN_WEEK);\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2dldElTT1dlZWtzSW5ZZWFyL2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2VzbS9nZXRJU09XZWVrc0luWWVhci9pbmRleC5qcz9lNDVhIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdGFydE9mSVNPV2Vla1llYXIgZnJvbSAnLi4vc3RhcnRPZklTT1dlZWtZZWFyL2luZGV4LmpzJztcbmltcG9ydCBhZGRXZWVrcyBmcm9tICcuLi9hZGRXZWVrcy9pbmRleC5qcyc7XG52YXIgTUlMTElTRUNPTkRTX0lOX1dFRUsgPSA2MDQ4MDAwMDA7XG4vKipcbiAqIEBuYW1lIGdldElTT1dlZWtzSW5ZZWFyXG4gKiBAY2F0ZWdvcnkgSVNPIFdlZWstTnVtYmVyaW5nIFllYXIgSGVscGVyc1xuICogQHN1bW1hcnkgR2V0IHRoZSBudW1iZXIgb2Ygd2Vla3MgaW4gYW4gSVNPIHdlZWstbnVtYmVyaW5nIHllYXIgb2YgdGhlIGdpdmVuIGRhdGUuXG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKiBHZXQgdGhlIG51bWJlciBvZiB3ZWVrcyBpbiBhbiBJU08gd2Vlay1udW1iZXJpbmcgeWVhciBvZiB0aGUgZ2l2ZW4gZGF0ZS5cbiAqXG4gKiBJU08gd2Vlay1udW1iZXJpbmcgeWVhcjogaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9JU09fd2Vla19kYXRlXG4gKlxuICogIyMjIHYyLjAuMCBicmVha2luZyBjaGFuZ2VzOlxuICpcbiAqIC0gW0NoYW5nZXMgdGhhdCBhcmUgY29tbW9uIGZvciB0aGUgd2hvbGUgbGlicmFyeV0oaHR0cHM6Ly9naXRodWIuY29tL2RhdGUtZm5zL2RhdGUtZm5zL2Jsb2IvbWFzdGVyL2RvY3MvdXBncmFkZUd1aWRlLm1kI0NvbW1vbi1DaGFuZ2VzKS5cbiAqXG4gKiBAcGFyYW0ge0RhdGV8TnVtYmVyfSBkYXRlIC0gdGhlIGdpdmVuIGRhdGVcbiAqIEByZXR1cm5zIHtOdW1iZXJ9IHRoZSBudW1iZXIgb2YgSVNPIHdlZWtzIGluIGEgeWVhclxuICogQHRocm93cyB7VHlwZUVycm9yfSAxIGFyZ3VtZW50IHJlcXVpcmVkXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIEhvdyBtYW55IHdlZWtzIGFyZSBpbiBJU08gd2Vlay1udW1iZXJpbmcgeWVhciAyMDE1P1xuICogdmFyIHJlc3VsdCA9IGdldElTT1dlZWtzSW5ZZWFyKG5ldyBEYXRlKDIwMTUsIDEsIDExKSlcbiAqIC8vPT4gNTNcbiAqL1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBnZXRJU09XZWVrc0luWWVhcihkaXJ0eURhdGUpIHtcbiAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPCAxKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignMSBhcmd1bWVudCByZXF1aXJlZCwgYnV0IG9ubHkgJyArIGFyZ3VtZW50cy5sZW5ndGggKyAnIHByZXNlbnQnKTtcbiAgfVxuXG4gIHZhciB0aGlzWWVhciA9IHN0YXJ0T2ZJU09XZWVrWWVhcihkaXJ0eURhdGUpO1xuICB2YXIgbmV4dFllYXIgPSBzdGFydE9mSVNPV2Vla1llYXIoYWRkV2Vla3ModGhpc1llYXIsIDYwKSk7XG4gIHZhciBkaWZmID0gbmV4dFllYXIudmFsdWVPZigpIC0gdGhpc1llYXIudmFsdWVPZigpOyAvLyBSb3VuZCB0aGUgbnVtYmVyIG9mIHdlZWtzIHRvIHRoZSBuZWFyZXN0IGludGVnZXJcbiAgLy8gYmVjYXVzZSB0aGUgbnVtYmVyIG9mIG1pbGxpc2Vjb25kcyBpbiBhIHdlZWsgaXMgbm90IGNvbnN0YW50XG4gIC8vIChlLmcuIGl0J3MgZGlmZmVyZW50IGluIHRoZSB3ZWVrIG9mIHRoZSBkYXlsaWdodCBzYXZpbmcgdGltZSBjbG9jayBzaGlmdClcblxuICByZXR1cm4gTWF0aC5yb3VuZChkaWZmIC8gTUlMTElTRUNPTkRTX0lOX1dFRUspO1xufSJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/getISOWeeksInYear/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/getMilliseconds/index.js": /*!************************************************************!*\ !*** ./node_modules/date-fns/esm/getMilliseconds/index.js ***! \************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return getMilliseconds; });\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n\n/**\n * @name getMilliseconds\n * @category Millisecond Helpers\n * @summary Get the milliseconds of the given date.\n *\n * @description\n * Get the milliseconds of the given date.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the given date\n * @returns {Number} the milliseconds\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Get the milliseconds of 29 February 2012 11:45:05.123:\n * var result = getMilliseconds(new Date(2012, 1, 29, 11, 45, 5, 123))\n * //=> 123\n */\n\nfunction getMilliseconds(dirtyDate) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n var date = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate);\n var milliseconds = date.getMilliseconds();\n return milliseconds;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2dldE1pbGxpc2Vjb25kcy9pbmRleC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9kYXRlLWZucy9lc20vZ2V0TWlsbGlzZWNvbmRzL2luZGV4LmpzP2UwNmYiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHRvRGF0ZSBmcm9tICcuLi90b0RhdGUvaW5kZXguanMnO1xuLyoqXG4gKiBAbmFtZSBnZXRNaWxsaXNlY29uZHNcbiAqIEBjYXRlZ29yeSBNaWxsaXNlY29uZCBIZWxwZXJzXG4gKiBAc3VtbWFyeSBHZXQgdGhlIG1pbGxpc2Vjb25kcyBvZiB0aGUgZ2l2ZW4gZGF0ZS5cbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIEdldCB0aGUgbWlsbGlzZWNvbmRzIG9mIHRoZSBnaXZlbiBkYXRlLlxuICpcbiAqICMjIyB2Mi4wLjAgYnJlYWtpbmcgY2hhbmdlczpcbiAqXG4gKiAtIFtDaGFuZ2VzIHRoYXQgYXJlIGNvbW1vbiBmb3IgdGhlIHdob2xlIGxpYnJhcnldKGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRlLWZucy9kYXRlLWZucy9ibG9iL21hc3Rlci9kb2NzL3VwZ3JhZGVHdWlkZS5tZCNDb21tb24tQ2hhbmdlcykuXG4gKlxuICogQHBhcmFtIHtEYXRlfE51bWJlcn0gZGF0ZSAtIHRoZSBnaXZlbiBkYXRlXG4gKiBAcmV0dXJucyB7TnVtYmVyfSB0aGUgbWlsbGlzZWNvbmRzXG4gKiBAdGhyb3dzIHtUeXBlRXJyb3J9IDEgYXJndW1lbnQgcmVxdWlyZWRcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gR2V0IHRoZSBtaWxsaXNlY29uZHMgb2YgMjkgRmVicnVhcnkgMjAxMiAxMTo0NTowNS4xMjM6XG4gKiB2YXIgcmVzdWx0ID0gZ2V0TWlsbGlzZWNvbmRzKG5ldyBEYXRlKDIwMTIsIDEsIDI5LCAxMSwgNDUsIDUsIDEyMykpXG4gKiAvLz0+IDEyM1xuICovXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGdldE1pbGxpc2Vjb25kcyhkaXJ0eURhdGUpIHtcbiAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPCAxKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignMSBhcmd1bWVudCByZXF1aXJlZCwgYnV0IG9ubHkgJyArIGFyZ3VtZW50cy5sZW5ndGggKyAnIHByZXNlbnQnKTtcbiAgfVxuXG4gIHZhciBkYXRlID0gdG9EYXRlKGRpcnR5RGF0ZSk7XG4gIHZhciBtaWxsaXNlY29uZHMgPSBkYXRlLmdldE1pbGxpc2Vjb25kcygpO1xuICByZXR1cm4gbWlsbGlzZWNvbmRzO1xufSJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/getMilliseconds/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/getMinutes/index.js": /*!*******************************************************!*\ !*** ./node_modules/date-fns/esm/getMinutes/index.js ***! \*******************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return getMinutes; });\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n\n/**\n * @name getMinutes\n * @category Minute Helpers\n * @summary Get the minutes of the given date.\n *\n * @description\n * Get the minutes of the given date.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the given date\n * @returns {Number} the minutes\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Get the minutes of 29 February 2012 11:45:05:\n * var result = getMinutes(new Date(2012, 1, 29, 11, 45, 5))\n * //=> 45\n */\n\nfunction getMinutes(dirtyDate) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n var date = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate);\n var minutes = date.getMinutes();\n return minutes;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2dldE1pbnV0ZXMvaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2dldE1pbnV0ZXMvaW5kZXguanM/ZGUwZiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdG9EYXRlIGZyb20gJy4uL3RvRGF0ZS9pbmRleC5qcyc7XG4vKipcbiAqIEBuYW1lIGdldE1pbnV0ZXNcbiAqIEBjYXRlZ29yeSBNaW51dGUgSGVscGVyc1xuICogQHN1bW1hcnkgR2V0IHRoZSBtaW51dGVzIG9mIHRoZSBnaXZlbiBkYXRlLlxuICpcbiAqIEBkZXNjcmlwdGlvblxuICogR2V0IHRoZSBtaW51dGVzIG9mIHRoZSBnaXZlbiBkYXRlLlxuICpcbiAqICMjIyB2Mi4wLjAgYnJlYWtpbmcgY2hhbmdlczpcbiAqXG4gKiAtIFtDaGFuZ2VzIHRoYXQgYXJlIGNvbW1vbiBmb3IgdGhlIHdob2xlIGxpYnJhcnldKGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRlLWZucy9kYXRlLWZucy9ibG9iL21hc3Rlci9kb2NzL3VwZ3JhZGVHdWlkZS5tZCNDb21tb24tQ2hhbmdlcykuXG4gKlxuICogQHBhcmFtIHtEYXRlfE51bWJlcn0gZGF0ZSAtIHRoZSBnaXZlbiBkYXRlXG4gKiBAcmV0dXJucyB7TnVtYmVyfSB0aGUgbWludXRlc1xuICogQHRocm93cyB7VHlwZUVycm9yfSAxIGFyZ3VtZW50IHJlcXVpcmVkXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIEdldCB0aGUgbWludXRlcyBvZiAyOSBGZWJydWFyeSAyMDEyIDExOjQ1OjA1OlxuICogdmFyIHJlc3VsdCA9IGdldE1pbnV0ZXMobmV3IERhdGUoMjAxMiwgMSwgMjksIDExLCA0NSwgNSkpXG4gKiAvLz0+IDQ1XG4gKi9cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZ2V0TWludXRlcyhkaXJ0eURhdGUpIHtcbiAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPCAxKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignMSBhcmd1bWVudCByZXF1aXJlZCwgYnV0IG9ubHkgJyArIGFyZ3VtZW50cy5sZW5ndGggKyAnIHByZXNlbnQnKTtcbiAgfVxuXG4gIHZhciBkYXRlID0gdG9EYXRlKGRpcnR5RGF0ZSk7XG4gIHZhciBtaW51dGVzID0gZGF0ZS5nZXRNaW51dGVzKCk7XG4gIHJldHVybiBtaW51dGVzO1xufSJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/getMinutes/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/getMonth/index.js": /*!*****************************************************!*\ !*** ./node_modules/date-fns/esm/getMonth/index.js ***! \*****************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return getMonth; });\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n\n/**\n * @name getMonth\n * @category Month Helpers\n * @summary Get the month of the given date.\n *\n * @description\n * Get the month of the given date.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the given date\n * @returns {Number} the month\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Which month is 29 February 2012?\n * var result = getMonth(new Date(2012, 1, 29))\n * //=> 1\n */\n\nfunction getMonth(dirtyDate) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n var date = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate);\n var month = date.getMonth();\n return month;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2dldE1vbnRoL2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2VzbS9nZXRNb250aC9pbmRleC5qcz83MDcwIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0b0RhdGUgZnJvbSAnLi4vdG9EYXRlL2luZGV4LmpzJztcbi8qKlxuICogQG5hbWUgZ2V0TW9udGhcbiAqIEBjYXRlZ29yeSBNb250aCBIZWxwZXJzXG4gKiBAc3VtbWFyeSBHZXQgdGhlIG1vbnRoIG9mIHRoZSBnaXZlbiBkYXRlLlxuICpcbiAqIEBkZXNjcmlwdGlvblxuICogR2V0IHRoZSBtb250aCBvZiB0aGUgZ2l2ZW4gZGF0ZS5cbiAqXG4gKiAjIyMgdjIuMC4wIGJyZWFraW5nIGNoYW5nZXM6XG4gKlxuICogLSBbQ2hhbmdlcyB0aGF0IGFyZSBjb21tb24gZm9yIHRoZSB3aG9sZSBsaWJyYXJ5XShodHRwczovL2dpdGh1Yi5jb20vZGF0ZS1mbnMvZGF0ZS1mbnMvYmxvYi9tYXN0ZXIvZG9jcy91cGdyYWRlR3VpZGUubWQjQ29tbW9uLUNoYW5nZXMpLlxuICpcbiAqIEBwYXJhbSB7RGF0ZXxOdW1iZXJ9IGRhdGUgLSB0aGUgZ2l2ZW4gZGF0ZVxuICogQHJldHVybnMge051bWJlcn0gdGhlIG1vbnRoXG4gKiBAdGhyb3dzIHtUeXBlRXJyb3J9IDEgYXJndW1lbnQgcmVxdWlyZWRcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gV2hpY2ggbW9udGggaXMgMjkgRmVicnVhcnkgMjAxMj9cbiAqIHZhciByZXN1bHQgPSBnZXRNb250aChuZXcgRGF0ZSgyMDEyLCAxLCAyOSkpXG4gKiAvLz0+IDFcbiAqL1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBnZXRNb250aChkaXJ0eURhdGUpIHtcbiAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPCAxKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignMSBhcmd1bWVudCByZXF1aXJlZCwgYnV0IG9ubHkgJyArIGFyZ3VtZW50cy5sZW5ndGggKyAnIHByZXNlbnQnKTtcbiAgfVxuXG4gIHZhciBkYXRlID0gdG9EYXRlKGRpcnR5RGF0ZSk7XG4gIHZhciBtb250aCA9IGRhdGUuZ2V0TW9udGgoKTtcbiAgcmV0dXJuIG1vbnRoO1xufSJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/getMonth/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/getOverlappingDaysInIntervals/index.js": /*!**************************************************************************!*\ !*** ./node_modules/date-fns/esm/getOverlappingDaysInIntervals/index.js ***! \**************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return getOverlappingDaysInIntervals; });\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n\nvar MILLISECONDS_IN_DAY = 24 * 60 * 60 * 1000;\n/**\n * @name getOverlappingDaysInIntervals\n * @category Interval Helpers\n * @summary Get the number of days that overlap in two time intervals\n *\n * @description\n * Get the number of days that overlap in two time intervals\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * - The function was renamed from `getOverlappingDaysInRanges` to `getOverlappingDaysInIntervals`.\n * This change was made to mirror the use of the word \"interval\" in standard ISO 8601:2004 terminology:\n *\n * ```\n * 2.1.3\n * time interval\n * part of the time axis limited by two instants\n * ```\n *\n * Also, this function now accepts an object with `start` and `end` properties\n * instead of two arguments as an interval.\n * This function now throws `RangeError` if the start of the interval is after its end\n * or if any date in the interval is `Invalid Date`.\n *\n * ```javascript\n * // Before v2.0.0\n *\n * getOverlappingDaysInRanges(\n * new Date(2014, 0, 10), new Date(2014, 0, 20),\n * new Date(2014, 0, 17), new Date(2014, 0, 21)\n * )\n *\n * // v2.0.0 onward\n *\n * getOverlappingDaysInIntervals(\n * { start: new Date(2014, 0, 10), end: new Date(2014, 0, 20) },\n * { start: new Date(2014, 0, 17), end: new Date(2014, 0, 21) }\n * )\n * ```\n *\n * @param {Interval} intervalLeft - the first interval to compare. See [Interval]{@link docs/Interval}\n * @param {Interval} intervalRight - the second interval to compare. See [Interval]{@link docs/Interval}\n * @returns {Number} the number of days that overlap in two time intervals\n * @throws {TypeError} 2 arguments required\n * @throws {RangeError} The start of an interval cannot be after its end\n * @throws {RangeError} Date in interval cannot be `Invalid Date`\n *\n * @example\n * // For overlapping time intervals adds 1 for each started overlapping day:\n * getOverlappingDaysInIntervals(\n * { start: new Date(2014, 0, 10), end: new Date(2014, 0, 20) },\n * { start: new Date(2014, 0, 17), end: new Date(2014, 0, 21) }\n * )\n * //=> 3\n *\n * @example\n * // For non-overlapping time intervals returns 0:\n * getOverlappingDaysInIntervals(\n * { start: new Date(2014, 0, 10), end: new Date(2014, 0, 20) },\n * { start: new Date(2014, 0, 21), end: new Date(2014, 0, 22) }\n * )\n * //=> 0\n */\n\nfunction getOverlappingDaysInIntervals(dirtyIntervalLeft, dirtyIntervalRight) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present');\n }\n\n var intervalLeft = dirtyIntervalLeft || {};\n var intervalRight = dirtyIntervalRight || {};\n var leftStartTime = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(intervalLeft.start).getTime();\n var leftEndTime = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(intervalLeft.end).getTime();\n var rightStartTime = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(intervalRight.start).getTime();\n var rightEndTime = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(intervalRight.end).getTime(); // Throw an exception if start date is after end date or if any date is `Invalid Date`\n\n if (!(leftStartTime <= leftEndTime && rightStartTime <= rightEndTime)) {\n throw new RangeError('Invalid interval');\n }\n\n var isOverlapping = leftStartTime < rightEndTime && rightStartTime < leftEndTime;\n\n if (!isOverlapping) {\n return 0;\n }\n\n var overlapStartDate = rightStartTime < leftStartTime ? leftStartTime : rightStartTime;\n var overlapEndDate = rightEndTime > leftEndTime ? leftEndTime : rightEndTime;\n var differenceInMs = overlapEndDate - overlapStartDate;\n return Math.ceil(differenceInMs / MILLISECONDS_IN_DAY);\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2dldE92ZXJsYXBwaW5nRGF5c0luSW50ZXJ2YWxzL2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2VzbS9nZXRPdmVybGFwcGluZ0RheXNJbkludGVydmFscy9pbmRleC5qcz9iNjJjIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0b0RhdGUgZnJvbSAnLi4vdG9EYXRlL2luZGV4LmpzJztcbnZhciBNSUxMSVNFQ09ORFNfSU5fREFZID0gMjQgKiA2MCAqIDYwICogMTAwMDtcbi8qKlxuICogQG5hbWUgZ2V0T3ZlcmxhcHBpbmdEYXlzSW5JbnRlcnZhbHNcbiAqIEBjYXRlZ29yeSBJbnRlcnZhbCBIZWxwZXJzXG4gKiBAc3VtbWFyeSBHZXQgdGhlIG51bWJlciBvZiBkYXlzIHRoYXQgb3ZlcmxhcCBpbiB0d28gdGltZSBpbnRlcnZhbHNcbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIEdldCB0aGUgbnVtYmVyIG9mIGRheXMgdGhhdCBvdmVybGFwIGluIHR3byB0aW1lIGludGVydmFsc1xuICpcbiAqICMjIyB2Mi4wLjAgYnJlYWtpbmcgY2hhbmdlczpcbiAqXG4gKiAtIFtDaGFuZ2VzIHRoYXQgYXJlIGNvbW1vbiBmb3IgdGhlIHdob2xlIGxpYnJhcnldKGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRlLWZucy9kYXRlLWZucy9ibG9iL21hc3Rlci9kb2NzL3VwZ3JhZGVHdWlkZS5tZCNDb21tb24tQ2hhbmdlcykuXG4gKlxuICogLSBUaGUgZnVuY3Rpb24gd2FzIHJlbmFtZWQgZnJvbSBgZ2V0T3ZlcmxhcHBpbmdEYXlzSW5SYW5nZXNgIHRvIGBnZXRPdmVybGFwcGluZ0RheXNJbkludGVydmFsc2AuXG4gKiAgIFRoaXMgY2hhbmdlIHdhcyBtYWRlIHRvIG1pcnJvciB0aGUgdXNlIG9mIHRoZSB3b3JkIFwiaW50ZXJ2YWxcIiBpbiBzdGFuZGFyZCBJU08gODYwMToyMDA0IHRlcm1pbm9sb2d5OlxuICpcbiAqICAgYGBgXG4gKiAgIDIuMS4zXG4gKiAgIHRpbWUgaW50ZXJ2YWxcbiAqICAgcGFydCBvZiB0aGUgdGltZSBheGlzIGxpbWl0ZWQgYnkgdHdvIGluc3RhbnRzXG4gKiAgIGBgYFxuICpcbiAqICAgQWxzbywgdGhpcyBmdW5jdGlvbiBub3cgYWNjZXB0cyBhbiBvYmplY3Qgd2l0aCBgc3RhcnRgIGFuZCBgZW5kYCBwcm9wZXJ0aWVzXG4gKiAgIGluc3RlYWQgb2YgdHdvIGFyZ3VtZW50cyBhcyBhbiBpbnRlcnZhbC5cbiAqICAgVGhpcyBmdW5jdGlvbiBub3cgdGhyb3dzIGBSYW5nZUVycm9yYCBpZiB0aGUgc3RhcnQgb2YgdGhlIGludGVydmFsIGlzIGFmdGVyIGl0cyBlbmRcbiAqICAgb3IgaWYgYW55IGRhdGUgaW4gdGhlIGludGVydmFsIGlzIGBJbnZhbGlkIERhdGVgLlxuICpcbiAqICAgYGBgamF2YXNjcmlwdFxuICogICAvLyBCZWZvcmUgdjIuMC4wXG4gKlxuICogICBnZXRPdmVybGFwcGluZ0RheXNJblJhbmdlcyhcbiAqICAgICBuZXcgRGF0ZSgyMDE0LCAwLCAxMCksIG5ldyBEYXRlKDIwMTQsIDAsIDIwKSxcbiAqICAgICBuZXcgRGF0ZSgyMDE0LCAwLCAxNyksIG5ldyBEYXRlKDIwMTQsIDAsIDIxKVxuICogICApXG4gKlxuICogICAvLyB2Mi4wLjAgb253YXJkXG4gKlxuICogICBnZXRPdmVybGFwcGluZ0RheXNJbkludGVydmFscyhcbiAqICAgICB7IHN0YXJ0OiBuZXcgRGF0ZSgyMDE0LCAwLCAxMCksIGVuZDogbmV3IERhdGUoMjAxNCwgMCwgMjApIH0sXG4gKiAgICAgeyBzdGFydDogbmV3IERhdGUoMjAxNCwgMCwgMTcpLCBlbmQ6IG5ldyBEYXRlKDIwMTQsIDAsIDIxKSB9XG4gKiAgIClcbiAqICAgYGBgXG4gKlxuICogQHBhcmFtIHtJbnRlcnZhbH0gaW50ZXJ2YWxMZWZ0IC0gdGhlIGZpcnN0IGludGVydmFsIHRvIGNvbXBhcmUuIFNlZSBbSW50ZXJ2YWxde0BsaW5rIGRvY3MvSW50ZXJ2YWx9XG4gKiBAcGFyYW0ge0ludGVydmFsfSBpbnRlcnZhbFJpZ2h0IC0gdGhlIHNlY29uZCBpbnRlcnZhbCB0byBjb21wYXJlLiBTZWUgW0ludGVydmFsXXtAbGluayBkb2NzL0ludGVydmFsfVxuICogQHJldHVybnMge051bWJlcn0gdGhlIG51bWJlciBvZiBkYXlzIHRoYXQgb3ZlcmxhcCBpbiB0d28gdGltZSBpbnRlcnZhbHNcbiAqIEB0aHJvd3Mge1R5cGVFcnJvcn0gMiBhcmd1bWVudHMgcmVxdWlyZWRcbiAqIEB0aHJvd3Mge1JhbmdlRXJyb3J9IFRoZSBzdGFydCBvZiBhbiBpbnRlcnZhbCBjYW5ub3QgYmUgYWZ0ZXIgaXRzIGVuZFxuICogQHRocm93cyB7UmFuZ2VFcnJvcn0gRGF0ZSBpbiBpbnRlcnZhbCBjYW5ub3QgYmUgYEludmFsaWQgRGF0ZWBcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gRm9yIG92ZXJsYXBwaW5nIHRpbWUgaW50ZXJ2YWxzIGFkZHMgMSBmb3IgZWFjaCBzdGFydGVkIG92ZXJsYXBwaW5nIGRheTpcbiAqIGdldE92ZXJsYXBwaW5nRGF5c0luSW50ZXJ2YWxzKFxuICogICB7IHN0YXJ0OiBuZXcgRGF0ZSgyMDE0LCAwLCAxMCksIGVuZDogbmV3IERhdGUoMjAxNCwgMCwgMjApIH0sXG4gKiAgIHsgc3RhcnQ6IG5ldyBEYXRlKDIwMTQsIDAsIDE3KSwgZW5kOiBuZXcgRGF0ZSgyMDE0LCAwLCAyMSkgfVxuICogKVxuICogLy89PiAzXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIEZvciBub24tb3ZlcmxhcHBpbmcgdGltZSBpbnRlcnZhbHMgcmV0dXJucyAwOlxuICogZ2V0T3ZlcmxhcHBpbmdEYXlzSW5JbnRlcnZhbHMoXG4gKiAgIHsgc3RhcnQ6IG5ldyBEYXRlKDIwMTQsIDAsIDEwKSwgZW5kOiBuZXcgRGF0ZSgyMDE0LCAwLCAyMCkgfSxcbiAqICAgeyBzdGFydDogbmV3IERhdGUoMjAxNCwgMCwgMjEpLCBlbmQ6IG5ldyBEYXRlKDIwMTQsIDAsIDIyKSB9XG4gKiApXG4gKiAvLz0+IDBcbiAqL1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBnZXRPdmVybGFwcGluZ0RheXNJbkludGVydmFscyhkaXJ0eUludGVydmFsTGVmdCwgZGlydHlJbnRlcnZhbFJpZ2h0KSB7XG4gIGlmIChhcmd1bWVudHMubGVuZ3RoIDwgMikge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJzIgYXJndW1lbnRzIHJlcXVpcmVkLCBidXQgb25seSAnICsgYXJndW1lbnRzLmxlbmd0aCArICcgcHJlc2VudCcpO1xuICB9XG5cbiAgdmFyIGludGVydmFsTGVmdCA9IGRpcnR5SW50ZXJ2YWxMZWZ0IHx8IHt9O1xuICB2YXIgaW50ZXJ2YWxSaWdodCA9IGRpcnR5SW50ZXJ2YWxSaWdodCB8fCB7fTtcbiAgdmFyIGxlZnRTdGFydFRpbWUgPSB0b0RhdGUoaW50ZXJ2YWxMZWZ0LnN0YXJ0KS5nZXRUaW1lKCk7XG4gIHZhciBsZWZ0RW5kVGltZSA9IHRvRGF0ZShpbnRlcnZhbExlZnQuZW5kKS5nZXRUaW1lKCk7XG4gIHZhciByaWdodFN0YXJ0VGltZSA9IHRvRGF0ZShpbnRlcnZhbFJpZ2h0LnN0YXJ0KS5nZXRUaW1lKCk7XG4gIHZhciByaWdodEVuZFRpbWUgPSB0b0RhdGUoaW50ZXJ2YWxSaWdodC5lbmQpLmdldFRpbWUoKTsgLy8gVGhyb3cgYW4gZXhjZXB0aW9uIGlmIHN0YXJ0IGRhdGUgaXMgYWZ0ZXIgZW5kIGRhdGUgb3IgaWYgYW55IGRhdGUgaXMgYEludmFsaWQgRGF0ZWBcblxuICBpZiAoIShsZWZ0U3RhcnRUaW1lIDw9IGxlZnRFbmRUaW1lICYmIHJpZ2h0U3RhcnRUaW1lIDw9IHJpZ2h0RW5kVGltZSkpIHtcbiAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcignSW52YWxpZCBpbnRlcnZhbCcpO1xuICB9XG5cbiAgdmFyIGlzT3ZlcmxhcHBpbmcgPSBsZWZ0U3RhcnRUaW1lIDwgcmlnaHRFbmRUaW1lICYmIHJpZ2h0U3RhcnRUaW1lIDwgbGVmdEVuZFRpbWU7XG5cbiAgaWYgKCFpc092ZXJsYXBwaW5nKSB7XG4gICAgcmV0dXJuIDA7XG4gIH1cblxuICB2YXIgb3ZlcmxhcFN0YXJ0RGF0ZSA9IHJpZ2h0U3RhcnRUaW1lIDwgbGVmdFN0YXJ0VGltZSA/IGxlZnRTdGFydFRpbWUgOiByaWdodFN0YXJ0VGltZTtcbiAgdmFyIG92ZXJsYXBFbmREYXRlID0gcmlnaHRFbmRUaW1lID4gbGVmdEVuZFRpbWUgPyBsZWZ0RW5kVGltZSA6IHJpZ2h0RW5kVGltZTtcbiAgdmFyIGRpZmZlcmVuY2VJbk1zID0gb3ZlcmxhcEVuZERhdGUgLSBvdmVybGFwU3RhcnREYXRlO1xuICByZXR1cm4gTWF0aC5jZWlsKGRpZmZlcmVuY2VJbk1zIC8gTUlMTElTRUNPTkRTX0lOX0RBWSk7XG59Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/getOverlappingDaysInIntervals/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/getQuarter/index.js": /*!*******************************************************!*\ !*** ./node_modules/date-fns/esm/getQuarter/index.js ***! \*******************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return getQuarter; });\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n\n/**\n * @name getQuarter\n * @category Quarter Helpers\n * @summary Get the year quarter of the given date.\n *\n * @description\n * Get the year quarter of the given date.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the given date\n * @returns {Number} the quarter\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Which quarter is 2 July 2014?\n * var result = getQuarter(new Date(2014, 6, 2))\n * //=> 3\n */\n\nfunction getQuarter(dirtyDate) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n var date = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate);\n var quarter = Math.floor(date.getMonth() / 3) + 1;\n return quarter;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2dldFF1YXJ0ZXIvaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2dldFF1YXJ0ZXIvaW5kZXguanM/NDg1NSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdG9EYXRlIGZyb20gJy4uL3RvRGF0ZS9pbmRleC5qcyc7XG4vKipcbiAqIEBuYW1lIGdldFF1YXJ0ZXJcbiAqIEBjYXRlZ29yeSBRdWFydGVyIEhlbHBlcnNcbiAqIEBzdW1tYXJ5IEdldCB0aGUgeWVhciBxdWFydGVyIG9mIHRoZSBnaXZlbiBkYXRlLlxuICpcbiAqIEBkZXNjcmlwdGlvblxuICogR2V0IHRoZSB5ZWFyIHF1YXJ0ZXIgb2YgdGhlIGdpdmVuIGRhdGUuXG4gKlxuICogIyMjIHYyLjAuMCBicmVha2luZyBjaGFuZ2VzOlxuICpcbiAqIC0gW0NoYW5nZXMgdGhhdCBhcmUgY29tbW9uIGZvciB0aGUgd2hvbGUgbGlicmFyeV0oaHR0cHM6Ly9naXRodWIuY29tL2RhdGUtZm5zL2RhdGUtZm5zL2Jsb2IvbWFzdGVyL2RvY3MvdXBncmFkZUd1aWRlLm1kI0NvbW1vbi1DaGFuZ2VzKS5cbiAqXG4gKiBAcGFyYW0ge0RhdGV8TnVtYmVyfSBkYXRlIC0gdGhlIGdpdmVuIGRhdGVcbiAqIEByZXR1cm5zIHtOdW1iZXJ9IHRoZSBxdWFydGVyXG4gKiBAdGhyb3dzIHtUeXBlRXJyb3J9IDEgYXJndW1lbnQgcmVxdWlyZWRcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gV2hpY2ggcXVhcnRlciBpcyAyIEp1bHkgMjAxND9cbiAqIHZhciByZXN1bHQgPSBnZXRRdWFydGVyKG5ldyBEYXRlKDIwMTQsIDYsIDIpKVxuICogLy89PiAzXG4gKi9cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZ2V0UXVhcnRlcihkaXJ0eURhdGUpIHtcbiAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPCAxKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignMSBhcmd1bWVudCByZXF1aXJlZCwgYnV0IG9ubHkgJyArIGFyZ3VtZW50cy5sZW5ndGggKyAnIHByZXNlbnQnKTtcbiAgfVxuXG4gIHZhciBkYXRlID0gdG9EYXRlKGRpcnR5RGF0ZSk7XG4gIHZhciBxdWFydGVyID0gTWF0aC5mbG9vcihkYXRlLmdldE1vbnRoKCkgLyAzKSArIDE7XG4gIHJldHVybiBxdWFydGVyO1xufSJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/getQuarter/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/getSeconds/index.js": /*!*******************************************************!*\ !*** ./node_modules/date-fns/esm/getSeconds/index.js ***! \*******************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return getSeconds; });\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n\n/**\n * @name getSeconds\n * @category Second Helpers\n * @summary Get the seconds of the given date.\n *\n * @description\n * Get the seconds of the given date.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the given date\n * @returns {Number} the seconds\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Get the seconds of 29 February 2012 11:45:05.123:\n * var result = getSeconds(new Date(2012, 1, 29, 11, 45, 5, 123))\n * //=> 5\n */\n\nfunction getSeconds(dirtyDate) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n var date = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate);\n var seconds = date.getSeconds();\n return seconds;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2dldFNlY29uZHMvaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2dldFNlY29uZHMvaW5kZXguanM/NjljNyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdG9EYXRlIGZyb20gJy4uL3RvRGF0ZS9pbmRleC5qcyc7XG4vKipcbiAqIEBuYW1lIGdldFNlY29uZHNcbiAqIEBjYXRlZ29yeSBTZWNvbmQgSGVscGVyc1xuICogQHN1bW1hcnkgR2V0IHRoZSBzZWNvbmRzIG9mIHRoZSBnaXZlbiBkYXRlLlxuICpcbiAqIEBkZXNjcmlwdGlvblxuICogR2V0IHRoZSBzZWNvbmRzIG9mIHRoZSBnaXZlbiBkYXRlLlxuICpcbiAqICMjIyB2Mi4wLjAgYnJlYWtpbmcgY2hhbmdlczpcbiAqXG4gKiAtIFtDaGFuZ2VzIHRoYXQgYXJlIGNvbW1vbiBmb3IgdGhlIHdob2xlIGxpYnJhcnldKGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRlLWZucy9kYXRlLWZucy9ibG9iL21hc3Rlci9kb2NzL3VwZ3JhZGVHdWlkZS5tZCNDb21tb24tQ2hhbmdlcykuXG4gKlxuICogQHBhcmFtIHtEYXRlfE51bWJlcn0gZGF0ZSAtIHRoZSBnaXZlbiBkYXRlXG4gKiBAcmV0dXJucyB7TnVtYmVyfSB0aGUgc2Vjb25kc1xuICogQHRocm93cyB7VHlwZUVycm9yfSAxIGFyZ3VtZW50IHJlcXVpcmVkXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIEdldCB0aGUgc2Vjb25kcyBvZiAyOSBGZWJydWFyeSAyMDEyIDExOjQ1OjA1LjEyMzpcbiAqIHZhciByZXN1bHQgPSBnZXRTZWNvbmRzKG5ldyBEYXRlKDIwMTIsIDEsIDI5LCAxMSwgNDUsIDUsIDEyMykpXG4gKiAvLz0+IDVcbiAqL1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBnZXRTZWNvbmRzKGRpcnR5RGF0ZSkge1xuICBpZiAoYXJndW1lbnRzLmxlbmd0aCA8IDEpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCcxIGFyZ3VtZW50IHJlcXVpcmVkLCBidXQgb25seSAnICsgYXJndW1lbnRzLmxlbmd0aCArICcgcHJlc2VudCcpO1xuICB9XG5cbiAgdmFyIGRhdGUgPSB0b0RhdGUoZGlydHlEYXRlKTtcbiAgdmFyIHNlY29uZHMgPSBkYXRlLmdldFNlY29uZHMoKTtcbiAgcmV0dXJuIHNlY29uZHM7XG59Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/getSeconds/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/getTime/index.js": /*!****************************************************!*\ !*** ./node_modules/date-fns/esm/getTime/index.js ***! \****************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return getTime; });\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n\n/**\n * @name getTime\n * @category Timestamp Helpers\n * @summary Get the milliseconds timestamp of the given date.\n *\n * @description\n * Get the milliseconds timestamp of the given date.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the given date\n * @returns {Number} the timestamp\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Get the timestamp of 29 February 2012 11:45:05.123:\n * var result = getTime(new Date(2012, 1, 29, 11, 45, 5, 123))\n * //=> 1330515905123\n */\n\nfunction getTime(dirtyDate) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n var date = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate);\n var timestamp = date.getTime();\n return timestamp;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2dldFRpbWUvaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2dldFRpbWUvaW5kZXguanM/ZTcwMyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdG9EYXRlIGZyb20gJy4uL3RvRGF0ZS9pbmRleC5qcyc7XG4vKipcbiAqIEBuYW1lIGdldFRpbWVcbiAqIEBjYXRlZ29yeSBUaW1lc3RhbXAgSGVscGVyc1xuICogQHN1bW1hcnkgR2V0IHRoZSBtaWxsaXNlY29uZHMgdGltZXN0YW1wIG9mIHRoZSBnaXZlbiBkYXRlLlxuICpcbiAqIEBkZXNjcmlwdGlvblxuICogR2V0IHRoZSBtaWxsaXNlY29uZHMgdGltZXN0YW1wIG9mIHRoZSBnaXZlbiBkYXRlLlxuICpcbiAqICMjIyB2Mi4wLjAgYnJlYWtpbmcgY2hhbmdlczpcbiAqXG4gKiAtIFtDaGFuZ2VzIHRoYXQgYXJlIGNvbW1vbiBmb3IgdGhlIHdob2xlIGxpYnJhcnldKGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRlLWZucy9kYXRlLWZucy9ibG9iL21hc3Rlci9kb2NzL3VwZ3JhZGVHdWlkZS5tZCNDb21tb24tQ2hhbmdlcykuXG4gKlxuICogQHBhcmFtIHtEYXRlfE51bWJlcn0gZGF0ZSAtIHRoZSBnaXZlbiBkYXRlXG4gKiBAcmV0dXJucyB7TnVtYmVyfSB0aGUgdGltZXN0YW1wXG4gKiBAdGhyb3dzIHtUeXBlRXJyb3J9IDEgYXJndW1lbnQgcmVxdWlyZWRcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gR2V0IHRoZSB0aW1lc3RhbXAgb2YgMjkgRmVicnVhcnkgMjAxMiAxMTo0NTowNS4xMjM6XG4gKiB2YXIgcmVzdWx0ID0gZ2V0VGltZShuZXcgRGF0ZSgyMDEyLCAxLCAyOSwgMTEsIDQ1LCA1LCAxMjMpKVxuICogLy89PiAxMzMwNTE1OTA1MTIzXG4gKi9cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZ2V0VGltZShkaXJ0eURhdGUpIHtcbiAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPCAxKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignMSBhcmd1bWVudCByZXF1aXJlZCwgYnV0IG9ubHkgJyArIGFyZ3VtZW50cy5sZW5ndGggKyAnIHByZXNlbnQnKTtcbiAgfVxuXG4gIHZhciBkYXRlID0gdG9EYXRlKGRpcnR5RGF0ZSk7XG4gIHZhciB0aW1lc3RhbXAgPSBkYXRlLmdldFRpbWUoKTtcbiAgcmV0dXJuIHRpbWVzdGFtcDtcbn0iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/getTime/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/getUnixTime/index.js": /*!********************************************************!*\ !*** ./node_modules/date-fns/esm/getUnixTime/index.js ***! \********************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return getUnixTime; });\n/* harmony import */ var _getTime_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../getTime/index.js */ \"./node_modules/date-fns/esm/getTime/index.js\");\n\n/**\n * @name getUnixTime\n * @category Timestamp Helpers\n * @summary Get the seconds timestamp of the given date.\n *\n * @description\n * Get the seconds timestamp of the given date.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the given date\n * @returns {Number} the timestamp\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Get the timestamp of 29 February 2012 11:45:05 CET:\n * var result = getUnixTime(new Date(2012, 1, 29, 11, 45, 5))\n * //=> 1330512305\n */\n\nfunction getUnixTime(dirtyDate) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n return Math.floor(Object(_getTime_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate) / 1000);\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2dldFVuaXhUaW1lL2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2VzbS9nZXRVbml4VGltZS9pbmRleC5qcz9hMWQ4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBnZXRUaW1lIGZyb20gJy4uL2dldFRpbWUvaW5kZXguanMnO1xuLyoqXG4gKiBAbmFtZSBnZXRVbml4VGltZVxuICogQGNhdGVnb3J5IFRpbWVzdGFtcCBIZWxwZXJzXG4gKiBAc3VtbWFyeSBHZXQgdGhlIHNlY29uZHMgdGltZXN0YW1wIG9mIHRoZSBnaXZlbiBkYXRlLlxuICpcbiAqIEBkZXNjcmlwdGlvblxuICogR2V0IHRoZSBzZWNvbmRzIHRpbWVzdGFtcCBvZiB0aGUgZ2l2ZW4gZGF0ZS5cbiAqXG4gKiAjIyMgdjIuMC4wIGJyZWFraW5nIGNoYW5nZXM6XG4gKlxuICogLSBbQ2hhbmdlcyB0aGF0IGFyZSBjb21tb24gZm9yIHRoZSB3aG9sZSBsaWJyYXJ5XShodHRwczovL2dpdGh1Yi5jb20vZGF0ZS1mbnMvZGF0ZS1mbnMvYmxvYi9tYXN0ZXIvZG9jcy91cGdyYWRlR3VpZGUubWQjQ29tbW9uLUNoYW5nZXMpLlxuICpcbiAqIEBwYXJhbSB7RGF0ZXxOdW1iZXJ9IGRhdGUgLSB0aGUgZ2l2ZW4gZGF0ZVxuICogQHJldHVybnMge051bWJlcn0gdGhlIHRpbWVzdGFtcFxuICogQHRocm93cyB7VHlwZUVycm9yfSAxIGFyZ3VtZW50IHJlcXVpcmVkXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIEdldCB0aGUgdGltZXN0YW1wIG9mIDI5IEZlYnJ1YXJ5IDIwMTIgMTE6NDU6MDUgQ0VUOlxuICogdmFyIHJlc3VsdCA9IGdldFVuaXhUaW1lKG5ldyBEYXRlKDIwMTIsIDEsIDI5LCAxMSwgNDUsIDUpKVxuICogLy89PiAxMzMwNTEyMzA1XG4gKi9cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZ2V0VW5peFRpbWUoZGlydHlEYXRlKSB7XG4gIGlmIChhcmd1bWVudHMubGVuZ3RoIDwgMSkge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJzEgYXJndW1lbnQgcmVxdWlyZWQsIGJ1dCBvbmx5ICcgKyBhcmd1bWVudHMubGVuZ3RoICsgJyBwcmVzZW50Jyk7XG4gIH1cblxuICByZXR1cm4gTWF0aC5mbG9vcihnZXRUaW1lKGRpcnR5RGF0ZSkgLyAxMDAwKTtcbn0iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/getUnixTime/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/getWeek/index.js": /*!****************************************************!*\ !*** ./node_modules/date-fns/esm/getWeek/index.js ***! \****************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return getWeek; });\n/* harmony import */ var _startOfWeek_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../startOfWeek/index.js */ \"./node_modules/date-fns/esm/startOfWeek/index.js\");\n/* harmony import */ var _startOfWeekYear_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../startOfWeekYear/index.js */ \"./node_modules/date-fns/esm/startOfWeekYear/index.js\");\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n\n\n\nvar MILLISECONDS_IN_WEEK = 604800000;\n/**\n * @name getWeek\n * @category Week Helpers\n * @summary Get the local week index of the given date.\n *\n * @description\n * Get the local week index of the given date.\n * The exact calculation depends on the values of\n * `options.weekStartsOn` (which is the index of the first day of the week)\n * and `options.firstWeekContainsDate` (which is the day of January, which is always in\n * the first week of the week-numbering year)\n *\n * Week numbering: https://en.wikipedia.org/wiki/Week#Week_numbering\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the given date\n * @param {Object} [options] - an object with options.\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\n * @param {1|2|3|4|5|6|7} [options.firstWeekContainsDate=1] - the day of January, which is always in the first week of the year\n * @returns {Number} the week\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6\n * @throws {RangeError} `options.firstWeekContainsDate` must be between 1 and 7\n *\n * @example\n * // Which week of the local week numbering year is 2 January 2005 with default options?\n * var result = getISOWeek(new Date(2005, 0, 2))\n * //=> 2\n *\n * // Which week of the local week numbering year is 2 January 2005,\n * // if Monday is the first day of the week,\n * // and the first week of the year always contains 4 January?\n * var result = getISOWeek(new Date(2005, 0, 2), {\n * weekStartsOn: 1,\n * firstWeekContainsDate: 4\n * })\n * //=> 53\n */\n\nfunction getWeek(dirtyDate, options) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n var date = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(dirtyDate);\n var diff = Object(_startOfWeek_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(date, options).getTime() - Object(_startOfWeekYear_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(date, options).getTime(); // Round the number of days to the nearest integer\n // because the number of milliseconds in a week is not constant\n // (e.g. it's different in the week of the daylight saving time clock shift)\n\n return Math.round(diff / MILLISECONDS_IN_WEEK) + 1;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2dldFdlZWsvaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2dldFdlZWsvaW5kZXguanM/Nzk4OCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc3RhcnRPZldlZWsgZnJvbSAnLi4vc3RhcnRPZldlZWsvaW5kZXguanMnO1xuaW1wb3J0IHN0YXJ0T2ZXZWVrWWVhciBmcm9tICcuLi9zdGFydE9mV2Vla1llYXIvaW5kZXguanMnO1xuaW1wb3J0IHRvRGF0ZSBmcm9tICcuLi90b0RhdGUvaW5kZXguanMnO1xudmFyIE1JTExJU0VDT05EU19JTl9XRUVLID0gNjA0ODAwMDAwO1xuLyoqXG4gKiBAbmFtZSBnZXRXZWVrXG4gKiBAY2F0ZWdvcnkgV2VlayBIZWxwZXJzXG4gKiBAc3VtbWFyeSBHZXQgdGhlIGxvY2FsIHdlZWsgaW5kZXggb2YgdGhlIGdpdmVuIGRhdGUuXG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKiBHZXQgdGhlIGxvY2FsIHdlZWsgaW5kZXggb2YgdGhlIGdpdmVuIGRhdGUuXG4gKiBUaGUgZXhhY3QgY2FsY3VsYXRpb24gZGVwZW5kcyBvbiB0aGUgdmFsdWVzIG9mXG4gKiBgb3B0aW9ucy53ZWVrU3RhcnRzT25gICh3aGljaCBpcyB0aGUgaW5kZXggb2YgdGhlIGZpcnN0IGRheSBvZiB0aGUgd2VlaylcbiAqIGFuZCBgb3B0aW9ucy5maXJzdFdlZWtDb250YWluc0RhdGVgICh3aGljaCBpcyB0aGUgZGF5IG9mIEphbnVhcnksIHdoaWNoIGlzIGFsd2F5cyBpblxuICogdGhlIGZpcnN0IHdlZWsgb2YgdGhlIHdlZWstbnVtYmVyaW5nIHllYXIpXG4gKlxuICogV2VlayBudW1iZXJpbmc6IGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1dlZWsjV2Vla19udW1iZXJpbmdcbiAqXG4gKiAjIyMgdjIuMC4wIGJyZWFraW5nIGNoYW5nZXM6XG4gKlxuICogLSBbQ2hhbmdlcyB0aGF0IGFyZSBjb21tb24gZm9yIHRoZSB3aG9sZSBsaWJyYXJ5XShodHRwczovL2dpdGh1Yi5jb20vZGF0ZS1mbnMvZGF0ZS1mbnMvYmxvYi9tYXN0ZXIvZG9jcy91cGdyYWRlR3VpZGUubWQjQ29tbW9uLUNoYW5nZXMpLlxuICpcbiAqIEBwYXJhbSB7RGF0ZXxOdW1iZXJ9IGRhdGUgLSB0aGUgZ2l2ZW4gZGF0ZVxuICogQHBhcmFtIHtPYmplY3R9IFtvcHRpb25zXSAtIGFuIG9iamVjdCB3aXRoIG9wdGlvbnMuXG4gKiBAcGFyYW0ge0xvY2FsZX0gW29wdGlvbnMubG9jYWxlPWRlZmF1bHRMb2NhbGVdIC0gdGhlIGxvY2FsZSBvYmplY3QuIFNlZSBbTG9jYWxlXXtAbGluayBodHRwczovL2RhdGUtZm5zLm9yZy9kb2NzL0xvY2FsZX1cbiAqIEBwYXJhbSB7MHwxfDJ8M3w0fDV8Nn0gW29wdGlvbnMud2Vla1N0YXJ0c09uPTBdIC0gdGhlIGluZGV4IG9mIHRoZSBmaXJzdCBkYXkgb2YgdGhlIHdlZWsgKDAgLSBTdW5kYXkpXG4gKiBAcGFyYW0gezF8MnwzfDR8NXw2fDd9IFtvcHRpb25zLmZpcnN0V2Vla0NvbnRhaW5zRGF0ZT0xXSAtIHRoZSBkYXkgb2YgSmFudWFyeSwgd2hpY2ggaXMgYWx3YXlzIGluIHRoZSBmaXJzdCB3ZWVrIG9mIHRoZSB5ZWFyXG4gKiBAcmV0dXJucyB7TnVtYmVyfSB0aGUgd2Vla1xuICogQHRocm93cyB7VHlwZUVycm9yfSAxIGFyZ3VtZW50IHJlcXVpcmVkXG4gKiBAdGhyb3dzIHtSYW5nZUVycm9yfSBgb3B0aW9ucy53ZWVrU3RhcnRzT25gIG11c3QgYmUgYmV0d2VlbiAwIGFuZCA2XG4gKiBAdGhyb3dzIHtSYW5nZUVycm9yfSBgb3B0aW9ucy5maXJzdFdlZWtDb250YWluc0RhdGVgIG11c3QgYmUgYmV0d2VlbiAxIGFuZCA3XG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIFdoaWNoIHdlZWsgb2YgdGhlIGxvY2FsIHdlZWsgbnVtYmVyaW5nIHllYXIgaXMgMiBKYW51YXJ5IDIwMDUgd2l0aCBkZWZhdWx0IG9wdGlvbnM/XG4gKiB2YXIgcmVzdWx0ID0gZ2V0SVNPV2VlayhuZXcgRGF0ZSgyMDA1LCAwLCAyKSlcbiAqIC8vPT4gMlxuICpcbiAqIC8vIFdoaWNoIHdlZWsgb2YgdGhlIGxvY2FsIHdlZWsgbnVtYmVyaW5nIHllYXIgaXMgMiBKYW51YXJ5IDIwMDUsXG4gKiAvLyBpZiBNb25kYXkgaXMgdGhlIGZpcnN0IGRheSBvZiB0aGUgd2VlayxcbiAqIC8vIGFuZCB0aGUgZmlyc3Qgd2VlayBvZiB0aGUgeWVhciBhbHdheXMgY29udGFpbnMgNCBKYW51YXJ5P1xuICogdmFyIHJlc3VsdCA9IGdldElTT1dlZWsobmV3IERhdGUoMjAwNSwgMCwgMiksIHtcbiAqICAgd2Vla1N0YXJ0c09uOiAxLFxuICogICBmaXJzdFdlZWtDb250YWluc0RhdGU6IDRcbiAqIH0pXG4gKiAvLz0+IDUzXG4gKi9cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZ2V0V2VlayhkaXJ0eURhdGUsIG9wdGlvbnMpIHtcbiAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPCAxKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignMSBhcmd1bWVudCByZXF1aXJlZCwgYnV0IG9ubHkgJyArIGFyZ3VtZW50cy5sZW5ndGggKyAnIHByZXNlbnQnKTtcbiAgfVxuXG4gIHZhciBkYXRlID0gdG9EYXRlKGRpcnR5RGF0ZSk7XG4gIHZhciBkaWZmID0gc3RhcnRPZldlZWsoZGF0ZSwgb3B0aW9ucykuZ2V0VGltZSgpIC0gc3RhcnRPZldlZWtZZWFyKGRhdGUsIG9wdGlvbnMpLmdldFRpbWUoKTsgLy8gUm91bmQgdGhlIG51bWJlciBvZiBkYXlzIHRvIHRoZSBuZWFyZXN0IGludGVnZXJcbiAgLy8gYmVjYXVzZSB0aGUgbnVtYmVyIG9mIG1pbGxpc2Vjb25kcyBpbiBhIHdlZWsgaXMgbm90IGNvbnN0YW50XG4gIC8vIChlLmcuIGl0J3MgZGlmZmVyZW50IGluIHRoZSB3ZWVrIG9mIHRoZSBkYXlsaWdodCBzYXZpbmcgdGltZSBjbG9jayBzaGlmdClcblxuICByZXR1cm4gTWF0aC5yb3VuZChkaWZmIC8gTUlMTElTRUNPTkRTX0lOX1dFRUspICsgMTtcbn0iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/getWeek/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/getWeekOfMonth/index.js": /*!***********************************************************!*\ !*** ./node_modules/date-fns/esm/getWeekOfMonth/index.js ***! \***********************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return getWeekOfMonth; });\n/* harmony import */ var _getDate_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../getDate/index.js */ \"./node_modules/date-fns/esm/getDate/index.js\");\n/* harmony import */ var _getDay_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../getDay/index.js */ \"./node_modules/date-fns/esm/getDay/index.js\");\n/* harmony import */ var _startOfMonth_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../startOfMonth/index.js */ \"./node_modules/date-fns/esm/startOfMonth/index.js\");\n/* harmony import */ var _lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../_lib/toInteger/index.js */ \"./node_modules/date-fns/esm/_lib/toInteger/index.js\");\n\n\n\n\n/**\n * @name getWeekOfMonth\n * @category Week Helpers\n * @summary Get the week of the month of the given date.\n *\n * @description\n * Get the week of the month of the given date.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the given date\n * @param {Object} [options] - an object with options.\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\n * @returns {Number} the week of month\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6\n *\n * @example\n * // Which week of the month is 9 November 2017?\n * var result = getWeekOfMonth(new Date(2017, 10, 9))\n * //=> 2\n */\n\nfunction getWeekOfMonth(date, dirtyOptions) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n var options = dirtyOptions || {};\n var locale = options.locale;\n var localeWeekStartsOn = locale && locale.options && locale.options.weekStartsOn;\n var defaultWeekStartsOn = localeWeekStartsOn == null ? 0 : Object(_lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(localeWeekStartsOn);\n var weekStartsOn = options.weekStartsOn == null ? defaultWeekStartsOn : Object(_lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(options.weekStartsOn); // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\n\n if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\n throw new RangeError('weekStartsOn must be between 0 and 6 inclusively');\n }\n\n var startWeekDay = Object(_getDay_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(Object(_startOfMonth_index_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(date));\n var currentWeekDay = Object(_getDay_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(date);\n var startWeekDayWithOptions = startWeekDay < weekStartsOn ? 7 - weekStartsOn : startWeekDay;\n var diff = startWeekDayWithOptions > currentWeekDay ? 7 - weekStartsOn : 0;\n return Math.ceil((Object(_getDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(date) + diff) / 7);\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2dldFdlZWtPZk1vbnRoL2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2VzbS9nZXRXZWVrT2ZNb250aC9pbmRleC5qcz85MGNjIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBnZXREYXRlIGZyb20gJy4uL2dldERhdGUvaW5kZXguanMnO1xuaW1wb3J0IGdldERheSBmcm9tICcuLi9nZXREYXkvaW5kZXguanMnO1xuaW1wb3J0IHN0YXJ0T2ZNb250aCBmcm9tICcuLi9zdGFydE9mTW9udGgvaW5kZXguanMnO1xuaW1wb3J0IHRvSW50ZWdlciBmcm9tICcuLi9fbGliL3RvSW50ZWdlci9pbmRleC5qcyc7XG4vKipcbiAqIEBuYW1lIGdldFdlZWtPZk1vbnRoXG4gKiBAY2F0ZWdvcnkgV2VlayBIZWxwZXJzXG4gKiBAc3VtbWFyeSBHZXQgdGhlIHdlZWsgb2YgdGhlIG1vbnRoIG9mIHRoZSBnaXZlbiBkYXRlLlxuICpcbiAqIEBkZXNjcmlwdGlvblxuICogR2V0IHRoZSB3ZWVrIG9mIHRoZSBtb250aCBvZiB0aGUgZ2l2ZW4gZGF0ZS5cbiAqXG4gKiAjIyMgdjIuMC4wIGJyZWFraW5nIGNoYW5nZXM6XG4gKlxuICogLSBbQ2hhbmdlcyB0aGF0IGFyZSBjb21tb24gZm9yIHRoZSB3aG9sZSBsaWJyYXJ5XShodHRwczovL2dpdGh1Yi5jb20vZGF0ZS1mbnMvZGF0ZS1mbnMvYmxvYi9tYXN0ZXIvZG9jcy91cGdyYWRlR3VpZGUubWQjQ29tbW9uLUNoYW5nZXMpLlxuICpcbiAqIEBwYXJhbSB7RGF0ZXxOdW1iZXJ9IGRhdGUgLSB0aGUgZ2l2ZW4gZGF0ZVxuICogQHBhcmFtIHtPYmplY3R9IFtvcHRpb25zXSAtIGFuIG9iamVjdCB3aXRoIG9wdGlvbnMuXG4gKiBAcGFyYW0ge0xvY2FsZX0gW29wdGlvbnMubG9jYWxlPWRlZmF1bHRMb2NhbGVdIC0gdGhlIGxvY2FsZSBvYmplY3QuIFNlZSBbTG9jYWxlXXtAbGluayBodHRwczovL2RhdGUtZm5zLm9yZy9kb2NzL0xvY2FsZX1cbiAqIEBwYXJhbSB7MHwxfDJ8M3w0fDV8Nn0gW29wdGlvbnMud2Vla1N0YXJ0c09uPTBdIC0gdGhlIGluZGV4IG9mIHRoZSBmaXJzdCBkYXkgb2YgdGhlIHdlZWsgKDAgLSBTdW5kYXkpXG4gKiBAcmV0dXJucyB7TnVtYmVyfSB0aGUgd2VlayBvZiBtb250aFxuICogQHRocm93cyB7VHlwZUVycm9yfSAxIGFyZ3VtZW50IHJlcXVpcmVkXG4gKiBAdGhyb3dzIHtSYW5nZUVycm9yfSBgb3B0aW9ucy53ZWVrU3RhcnRzT25gIG11c3QgYmUgYmV0d2VlbiAwIGFuZCA2XG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIFdoaWNoIHdlZWsgb2YgdGhlIG1vbnRoIGlzIDkgTm92ZW1iZXIgMjAxNz9cbiAqIHZhciByZXN1bHQgPSBnZXRXZWVrT2ZNb250aChuZXcgRGF0ZSgyMDE3LCAxMCwgOSkpXG4gKiAvLz0+IDJcbiAqL1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBnZXRXZWVrT2ZNb250aChkYXRlLCBkaXJ0eU9wdGlvbnMpIHtcbiAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPCAxKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignMSBhcmd1bWVudCByZXF1aXJlZCwgYnV0IG9ubHkgJyArIGFyZ3VtZW50cy5sZW5ndGggKyAnIHByZXNlbnQnKTtcbiAgfVxuXG4gIHZhciBvcHRpb25zID0gZGlydHlPcHRpb25zIHx8IHt9O1xuICB2YXIgbG9jYWxlID0gb3B0aW9ucy5sb2NhbGU7XG4gIHZhciBsb2NhbGVXZWVrU3RhcnRzT24gPSBsb2NhbGUgJiYgbG9jYWxlLm9wdGlvbnMgJiYgbG9jYWxlLm9wdGlvbnMud2Vla1N0YXJ0c09uO1xuICB2YXIgZGVmYXVsdFdlZWtTdGFydHNPbiA9IGxvY2FsZVdlZWtTdGFydHNPbiA9PSBudWxsID8gMCA6IHRvSW50ZWdlcihsb2NhbGVXZWVrU3RhcnRzT24pO1xuICB2YXIgd2Vla1N0YXJ0c09uID0gb3B0aW9ucy53ZWVrU3RhcnRzT24gPT0gbnVsbCA/IGRlZmF1bHRXZWVrU3RhcnRzT24gOiB0b0ludGVnZXIob3B0aW9ucy53ZWVrU3RhcnRzT24pOyAvLyBUZXN0IGlmIHdlZWtTdGFydHNPbiBpcyBiZXR3ZWVuIDAgYW5kIDYgX2FuZF8gaXMgbm90IE5hTlxuXG4gIGlmICghKHdlZWtTdGFydHNPbiA+PSAwICYmIHdlZWtTdGFydHNPbiA8PSA2KSkge1xuICAgIHRocm93IG5ldyBSYW5nZUVycm9yKCd3ZWVrU3RhcnRzT24gbXVzdCBiZSBiZXR3ZWVuIDAgYW5kIDYgaW5jbHVzaXZlbHknKTtcbiAgfVxuXG4gIHZhciBzdGFydFdlZWtEYXkgPSBnZXREYXkoc3RhcnRPZk1vbnRoKGRhdGUpKTtcbiAgdmFyIGN1cnJlbnRXZWVrRGF5ID0gZ2V0RGF5KGRhdGUpO1xuICB2YXIgc3RhcnRXZWVrRGF5V2l0aE9wdGlvbnMgPSBzdGFydFdlZWtEYXkgPCB3ZWVrU3RhcnRzT24gPyA3IC0gd2Vla1N0YXJ0c09uIDogc3RhcnRXZWVrRGF5O1xuICB2YXIgZGlmZiA9IHN0YXJ0V2Vla0RheVdpdGhPcHRpb25zID4gY3VycmVudFdlZWtEYXkgPyA3IC0gd2Vla1N0YXJ0c09uIDogMDtcbiAgcmV0dXJuIE1hdGguY2VpbCgoZ2V0RGF0ZShkYXRlKSArIGRpZmYpIC8gNyk7XG59Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/getWeekOfMonth/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/getWeekYear/index.js": /*!********************************************************!*\ !*** ./node_modules/date-fns/esm/getWeekYear/index.js ***! \********************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return getWeekYear; });\n/* harmony import */ var _startOfWeek_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../startOfWeek/index.js */ \"./node_modules/date-fns/esm/startOfWeek/index.js\");\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n/* harmony import */ var _lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../_lib/toInteger/index.js */ \"./node_modules/date-fns/esm/_lib/toInteger/index.js\");\n\n\n\n/**\n * @name getWeekYear\n * @category Week-Numbering Year Helpers\n * @summary Get the local week-numbering year of the given date.\n *\n * @description\n * Get the local week-numbering year of the given date.\n * The exact calculation depends on the values of\n * `options.weekStartsOn` (which is the index of the first day of the week)\n * and `options.firstWeekContainsDate` (which is the day of January, which is always in\n * the first week of the week-numbering year)\n *\n * Week numbering: https://en.wikipedia.org/wiki/Week#Week_numbering\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the given date\n * @param {Object} [options] - an object with options.\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\n * @param {1|2|3|4|5|6|7} [options.firstWeekContainsDate=1] - the day of January, which is always in the first week of the year\n * @returns {Number} the local week-numbering year\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6\n * @throws {RangeError} `options.firstWeekContainsDate` must be between 1 and 7\n *\n * @example\n * // Which week numbering year is 26 December 2004 with the default settings?\n * var result = getWeekYear(new Date(2004, 11, 26))\n * //=> 2005\n *\n * @example\n * // Which week numbering year is 26 December 2004 if week starts on Saturday?\n * var result = getWeekYear(new Date(2004, 11, 26), { weekStartsOn: 6 })\n * //=> 2004\n *\n * @example\n * // Which week numbering year is 26 December 2004 if the first week contains 4 January?\n * var result = getWeekYear(new Date(2004, 11, 26), { firstWeekContainsDate: 4 })\n * //=> 2004\n */\n\nfunction getWeekYear(dirtyDate, dirtyOptions) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n var date = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(dirtyDate);\n var year = date.getFullYear();\n var options = dirtyOptions || {};\n var locale = options.locale;\n var localeFirstWeekContainsDate = locale && locale.options && locale.options.firstWeekContainsDate;\n var defaultFirstWeekContainsDate = localeFirstWeekContainsDate == null ? 1 : Object(_lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(localeFirstWeekContainsDate);\n var firstWeekContainsDate = options.firstWeekContainsDate == null ? defaultFirstWeekContainsDate : Object(_lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(options.firstWeekContainsDate); // Test if weekStartsOn is between 1 and 7 _and_ is not NaN\n\n if (!(firstWeekContainsDate >= 1 && firstWeekContainsDate <= 7)) {\n throw new RangeError('firstWeekContainsDate must be between 1 and 7 inclusively');\n }\n\n var firstWeekOfNextYear = new Date(0);\n firstWeekOfNextYear.setFullYear(year + 1, 0, firstWeekContainsDate);\n firstWeekOfNextYear.setHours(0, 0, 0, 0);\n var startOfNextYear = Object(_startOfWeek_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(firstWeekOfNextYear, dirtyOptions);\n var firstWeekOfThisYear = new Date(0);\n firstWeekOfThisYear.setFullYear(year, 0, firstWeekContainsDate);\n firstWeekOfThisYear.setHours(0, 0, 0, 0);\n var startOfThisYear = Object(_startOfWeek_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(firstWeekOfThisYear, dirtyOptions);\n\n if (date.getTime() >= startOfNextYear.getTime()) {\n return year + 1;\n } else if (date.getTime() >= startOfThisYear.getTime()) {\n return year;\n } else {\n return year - 1;\n }\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2dldFdlZWtZZWFyL2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2VzbS9nZXRXZWVrWWVhci9pbmRleC5qcz9lZTA2Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdGFydE9mV2VlayBmcm9tICcuLi9zdGFydE9mV2Vlay9pbmRleC5qcyc7XG5pbXBvcnQgdG9EYXRlIGZyb20gJy4uL3RvRGF0ZS9pbmRleC5qcyc7XG5pbXBvcnQgdG9JbnRlZ2VyIGZyb20gJy4uL19saWIvdG9JbnRlZ2VyL2luZGV4LmpzJztcbi8qKlxuICogQG5hbWUgZ2V0V2Vla1llYXJcbiAqIEBjYXRlZ29yeSBXZWVrLU51bWJlcmluZyBZZWFyIEhlbHBlcnNcbiAqIEBzdW1tYXJ5IEdldCB0aGUgbG9jYWwgd2Vlay1udW1iZXJpbmcgeWVhciBvZiB0aGUgZ2l2ZW4gZGF0ZS5cbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIEdldCB0aGUgbG9jYWwgd2Vlay1udW1iZXJpbmcgeWVhciBvZiB0aGUgZ2l2ZW4gZGF0ZS5cbiAqIFRoZSBleGFjdCBjYWxjdWxhdGlvbiBkZXBlbmRzIG9uIHRoZSB2YWx1ZXMgb2ZcbiAqIGBvcHRpb25zLndlZWtTdGFydHNPbmAgKHdoaWNoIGlzIHRoZSBpbmRleCBvZiB0aGUgZmlyc3QgZGF5IG9mIHRoZSB3ZWVrKVxuICogYW5kIGBvcHRpb25zLmZpcnN0V2Vla0NvbnRhaW5zRGF0ZWAgKHdoaWNoIGlzIHRoZSBkYXkgb2YgSmFudWFyeSwgd2hpY2ggaXMgYWx3YXlzIGluXG4gKiB0aGUgZmlyc3Qgd2VlayBvZiB0aGUgd2Vlay1udW1iZXJpbmcgeWVhcilcbiAqXG4gKiBXZWVrIG51bWJlcmluZzogaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvV2VlayNXZWVrX251bWJlcmluZ1xuICpcbiAqICMjIyB2Mi4wLjAgYnJlYWtpbmcgY2hhbmdlczpcbiAqXG4gKiAtIFtDaGFuZ2VzIHRoYXQgYXJlIGNvbW1vbiBmb3IgdGhlIHdob2xlIGxpYnJhcnldKGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRlLWZucy9kYXRlLWZucy9ibG9iL21hc3Rlci9kb2NzL3VwZ3JhZGVHdWlkZS5tZCNDb21tb24tQ2hhbmdlcykuXG4gKlxuICogQHBhcmFtIHtEYXRlfE51bWJlcn0gZGF0ZSAtIHRoZSBnaXZlbiBkYXRlXG4gKiBAcGFyYW0ge09iamVjdH0gW29wdGlvbnNdIC0gYW4gb2JqZWN0IHdpdGggb3B0aW9ucy5cbiAqIEBwYXJhbSB7TG9jYWxlfSBbb3B0aW9ucy5sb2NhbGU9ZGVmYXVsdExvY2FsZV0gLSB0aGUgbG9jYWxlIG9iamVjdC4gU2VlIFtMb2NhbGVde0BsaW5rIGh0dHBzOi8vZGF0ZS1mbnMub3JnL2RvY3MvTG9jYWxlfVxuICogQHBhcmFtIHswfDF8MnwzfDR8NXw2fSBbb3B0aW9ucy53ZWVrU3RhcnRzT249MF0gLSB0aGUgaW5kZXggb2YgdGhlIGZpcnN0IGRheSBvZiB0aGUgd2VlayAoMCAtIFN1bmRheSlcbiAqIEBwYXJhbSB7MXwyfDN8NHw1fDZ8N30gW29wdGlvbnMuZmlyc3RXZWVrQ29udGFpbnNEYXRlPTFdIC0gdGhlIGRheSBvZiBKYW51YXJ5LCB3aGljaCBpcyBhbHdheXMgaW4gdGhlIGZpcnN0IHdlZWsgb2YgdGhlIHllYXJcbiAqIEByZXR1cm5zIHtOdW1iZXJ9IHRoZSBsb2NhbCB3ZWVrLW51bWJlcmluZyB5ZWFyXG4gKiBAdGhyb3dzIHtUeXBlRXJyb3J9IDEgYXJndW1lbnQgcmVxdWlyZWRcbiAqIEB0aHJvd3Mge1JhbmdlRXJyb3J9IGBvcHRpb25zLndlZWtTdGFydHNPbmAgbXVzdCBiZSBiZXR3ZWVuIDAgYW5kIDZcbiAqIEB0aHJvd3Mge1JhbmdlRXJyb3J9IGBvcHRpb25zLmZpcnN0V2Vla0NvbnRhaW5zRGF0ZWAgbXVzdCBiZSBiZXR3ZWVuIDEgYW5kIDdcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gV2hpY2ggd2VlayBudW1iZXJpbmcgeWVhciBpcyAyNiBEZWNlbWJlciAyMDA0IHdpdGggdGhlIGRlZmF1bHQgc2V0dGluZ3M/XG4gKiB2YXIgcmVzdWx0ID0gZ2V0V2Vla1llYXIobmV3IERhdGUoMjAwNCwgMTEsIDI2KSlcbiAqIC8vPT4gMjAwNVxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBXaGljaCB3ZWVrIG51bWJlcmluZyB5ZWFyIGlzIDI2IERlY2VtYmVyIDIwMDQgaWYgd2VlayBzdGFydHMgb24gU2F0dXJkYXk/XG4gKiB2YXIgcmVzdWx0ID0gZ2V0V2Vla1llYXIobmV3IERhdGUoMjAwNCwgMTEsIDI2KSwgeyB3ZWVrU3RhcnRzT246IDYgfSlcbiAqIC8vPT4gMjAwNFxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBXaGljaCB3ZWVrIG51bWJlcmluZyB5ZWFyIGlzIDI2IERlY2VtYmVyIDIwMDQgaWYgdGhlIGZpcnN0IHdlZWsgY29udGFpbnMgNCBKYW51YXJ5P1xuICogdmFyIHJlc3VsdCA9IGdldFdlZWtZZWFyKG5ldyBEYXRlKDIwMDQsIDExLCAyNiksIHsgZmlyc3RXZWVrQ29udGFpbnNEYXRlOiA0IH0pXG4gKiAvLz0+IDIwMDRcbiAqL1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBnZXRXZWVrWWVhcihkaXJ0eURhdGUsIGRpcnR5T3B0aW9ucykge1xuICBpZiAoYXJndW1lbnRzLmxlbmd0aCA8IDEpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCcxIGFyZ3VtZW50IHJlcXVpcmVkLCBidXQgb25seSAnICsgYXJndW1lbnRzLmxlbmd0aCArICcgcHJlc2VudCcpO1xuICB9XG5cbiAgdmFyIGRhdGUgPSB0b0RhdGUoZGlydHlEYXRlKTtcbiAgdmFyIHllYXIgPSBkYXRlLmdldEZ1bGxZZWFyKCk7XG4gIHZhciBvcHRpb25zID0gZGlydHlPcHRpb25zIHx8IHt9O1xuICB2YXIgbG9jYWxlID0gb3B0aW9ucy5sb2NhbGU7XG4gIHZhciBsb2NhbGVGaXJzdFdlZWtDb250YWluc0RhdGUgPSBsb2NhbGUgJiYgbG9jYWxlLm9wdGlvbnMgJiYgbG9jYWxlLm9wdGlvbnMuZmlyc3RXZWVrQ29udGFpbnNEYXRlO1xuICB2YXIgZGVmYXVsdEZpcnN0V2Vla0NvbnRhaW5zRGF0ZSA9IGxvY2FsZUZpcnN0V2Vla0NvbnRhaW5zRGF0ZSA9PSBudWxsID8gMSA6IHRvSW50ZWdlcihsb2NhbGVGaXJzdFdlZWtDb250YWluc0RhdGUpO1xuICB2YXIgZmlyc3RXZWVrQ29udGFpbnNEYXRlID0gb3B0aW9ucy5maXJzdFdlZWtDb250YWluc0RhdGUgPT0gbnVsbCA/IGRlZmF1bHRGaXJzdFdlZWtDb250YWluc0RhdGUgOiB0b0ludGVnZXIob3B0aW9ucy5maXJzdFdlZWtDb250YWluc0RhdGUpOyAvLyBUZXN0IGlmIHdlZWtTdGFydHNPbiBpcyBiZXR3ZWVuIDEgYW5kIDcgX2FuZF8gaXMgbm90IE5hTlxuXG4gIGlmICghKGZpcnN0V2Vla0NvbnRhaW5zRGF0ZSA+PSAxICYmIGZpcnN0V2Vla0NvbnRhaW5zRGF0ZSA8PSA3KSkge1xuICAgIHRocm93IG5ldyBSYW5nZUVycm9yKCdmaXJzdFdlZWtDb250YWluc0RhdGUgbXVzdCBiZSBiZXR3ZWVuIDEgYW5kIDcgaW5jbHVzaXZlbHknKTtcbiAgfVxuXG4gIHZhciBmaXJzdFdlZWtPZk5leHRZZWFyID0gbmV3IERhdGUoMCk7XG4gIGZpcnN0V2Vla09mTmV4dFllYXIuc2V0RnVsbFllYXIoeWVhciArIDEsIDAsIGZpcnN0V2Vla0NvbnRhaW5zRGF0ZSk7XG4gIGZpcnN0V2Vla09mTmV4dFllYXIuc2V0SG91cnMoMCwgMCwgMCwgMCk7XG4gIHZhciBzdGFydE9mTmV4dFllYXIgPSBzdGFydE9mV2VlayhmaXJzdFdlZWtPZk5leHRZZWFyLCBkaXJ0eU9wdGlvbnMpO1xuICB2YXIgZmlyc3RXZWVrT2ZUaGlzWWVhciA9IG5ldyBEYXRlKDApO1xuICBmaXJzdFdlZWtPZlRoaXNZZWFyLnNldEZ1bGxZZWFyKHllYXIsIDAsIGZpcnN0V2Vla0NvbnRhaW5zRGF0ZSk7XG4gIGZpcnN0V2Vla09mVGhpc1llYXIuc2V0SG91cnMoMCwgMCwgMCwgMCk7XG4gIHZhciBzdGFydE9mVGhpc1llYXIgPSBzdGFydE9mV2VlayhmaXJzdFdlZWtPZlRoaXNZZWFyLCBkaXJ0eU9wdGlvbnMpO1xuXG4gIGlmIChkYXRlLmdldFRpbWUoKSA+PSBzdGFydE9mTmV4dFllYXIuZ2V0VGltZSgpKSB7XG4gICAgcmV0dXJuIHllYXIgKyAxO1xuICB9IGVsc2UgaWYgKGRhdGUuZ2V0VGltZSgpID49IHN0YXJ0T2ZUaGlzWWVhci5nZXRUaW1lKCkpIHtcbiAgICByZXR1cm4geWVhcjtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4geWVhciAtIDE7XG4gIH1cbn0iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/getWeekYear/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/getWeeksInMonth/index.js": /*!************************************************************!*\ !*** ./node_modules/date-fns/esm/getWeeksInMonth/index.js ***! \************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return getWeeksInMonth; });\n/* harmony import */ var _differenceInCalendarWeeks_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../differenceInCalendarWeeks/index.js */ \"./node_modules/date-fns/esm/differenceInCalendarWeeks/index.js\");\n/* harmony import */ var _lastDayOfMonth_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../lastDayOfMonth/index.js */ \"./node_modules/date-fns/esm/lastDayOfMonth/index.js\");\n/* harmony import */ var _startOfMonth_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../startOfMonth/index.js */ \"./node_modules/date-fns/esm/startOfMonth/index.js\");\n\n\n\n/**\n * @name getWeeksInMonth\n * @category Week Helpers\n * @summary Get the number of calendar weeks a month spans.\n *\n * @description\n * Get the number of calendar weeks the month in the given date spans.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the given date\n * @param {Object} [options] - an object with options.\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\n * @returns {Number} the number of calendar weeks\n * @throws {TypeError} 2 arguments required\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6\n *\n * @example\n * // How many calendar weeks does February 2015 span?\n * var result = getWeeksInMonth(new Date(2015, 1, 8))\n * //=> 4\n *\n * @example\n * // If the week starts on Monday,\n * // how many calendar weeks does July 2017 span?\n * var result = getWeeksInMonth(new Date(2017, 6, 5), { weekStartsOn: 1 })\n * //=> 6\n */\n\nfunction getWeeksInMonth(date, options) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n return Object(_differenceInCalendarWeeks_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Object(_lastDayOfMonth_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(date), Object(_startOfMonth_index_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(date), options) + 1;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2dldFdlZWtzSW5Nb250aC9pbmRleC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9kYXRlLWZucy9lc20vZ2V0V2Vla3NJbk1vbnRoL2luZGV4LmpzP2E3MTciXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGRpZmZlcmVuY2VJbkNhbGVuZGFyV2Vla3MgZnJvbSAnLi4vZGlmZmVyZW5jZUluQ2FsZW5kYXJXZWVrcy9pbmRleC5qcyc7XG5pbXBvcnQgbGFzdERheU9mTW9udGggZnJvbSAnLi4vbGFzdERheU9mTW9udGgvaW5kZXguanMnO1xuaW1wb3J0IHN0YXJ0T2ZNb250aCBmcm9tICcuLi9zdGFydE9mTW9udGgvaW5kZXguanMnO1xuLyoqXG4gKiBAbmFtZSBnZXRXZWVrc0luTW9udGhcbiAqIEBjYXRlZ29yeSBXZWVrIEhlbHBlcnNcbiAqIEBzdW1tYXJ5IEdldCB0aGUgbnVtYmVyIG9mIGNhbGVuZGFyIHdlZWtzIGEgbW9udGggc3BhbnMuXG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKiBHZXQgdGhlIG51bWJlciBvZiBjYWxlbmRhciB3ZWVrcyB0aGUgbW9udGggaW4gdGhlIGdpdmVuIGRhdGUgc3BhbnMuXG4gKlxuICogIyMjIHYyLjAuMCBicmVha2luZyBjaGFuZ2VzOlxuICpcbiAqIC0gW0NoYW5nZXMgdGhhdCBhcmUgY29tbW9uIGZvciB0aGUgd2hvbGUgbGlicmFyeV0oaHR0cHM6Ly9naXRodWIuY29tL2RhdGUtZm5zL2RhdGUtZm5zL2Jsb2IvbWFzdGVyL2RvY3MvdXBncmFkZUd1aWRlLm1kI0NvbW1vbi1DaGFuZ2VzKS5cbiAqXG4gKiBAcGFyYW0ge0RhdGV8TnVtYmVyfSBkYXRlIC0gdGhlIGdpdmVuIGRhdGVcbiAqIEBwYXJhbSB7T2JqZWN0fSBbb3B0aW9uc10gLSBhbiBvYmplY3Qgd2l0aCBvcHRpb25zLlxuICogQHBhcmFtIHtMb2NhbGV9IFtvcHRpb25zLmxvY2FsZT1kZWZhdWx0TG9jYWxlXSAtIHRoZSBsb2NhbGUgb2JqZWN0LiBTZWUgW0xvY2FsZV17QGxpbmsgaHR0cHM6Ly9kYXRlLWZucy5vcmcvZG9jcy9Mb2NhbGV9XG4gKiBAcGFyYW0gezB8MXwyfDN8NHw1fDZ9IFtvcHRpb25zLndlZWtTdGFydHNPbj0wXSAtIHRoZSBpbmRleCBvZiB0aGUgZmlyc3QgZGF5IG9mIHRoZSB3ZWVrICgwIC0gU3VuZGF5KVxuICogQHJldHVybnMge051bWJlcn0gdGhlIG51bWJlciBvZiBjYWxlbmRhciB3ZWVrc1xuICogQHRocm93cyB7VHlwZUVycm9yfSAyIGFyZ3VtZW50cyByZXF1aXJlZFxuICogQHRocm93cyB7UmFuZ2VFcnJvcn0gYG9wdGlvbnMud2Vla1N0YXJ0c09uYCBtdXN0IGJlIGJldHdlZW4gMCBhbmQgNlxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBIb3cgbWFueSBjYWxlbmRhciB3ZWVrcyBkb2VzIEZlYnJ1YXJ5IDIwMTUgc3Bhbj9cbiAqIHZhciByZXN1bHQgPSBnZXRXZWVrc0luTW9udGgobmV3IERhdGUoMjAxNSwgMSwgOCkpXG4gKiAvLz0+IDRcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gSWYgdGhlIHdlZWsgc3RhcnRzIG9uIE1vbmRheSxcbiAqIC8vIGhvdyBtYW55IGNhbGVuZGFyIHdlZWtzIGRvZXMgSnVseSAyMDE3IHNwYW4/XG4gKiB2YXIgcmVzdWx0ID0gZ2V0V2Vla3NJbk1vbnRoKG5ldyBEYXRlKDIwMTcsIDYsIDUpLCB7IHdlZWtTdGFydHNPbjogMSB9KVxuICogLy89PiA2XG4gKi9cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZ2V0V2Vla3NJbk1vbnRoKGRhdGUsIG9wdGlvbnMpIHtcbiAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPCAxKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignMSBhcmd1bWVudCByZXF1aXJlZCwgYnV0IG9ubHkgJyArIGFyZ3VtZW50cy5sZW5ndGggKyAnIHByZXNlbnQnKTtcbiAgfVxuXG4gIHJldHVybiBkaWZmZXJlbmNlSW5DYWxlbmRhcldlZWtzKGxhc3REYXlPZk1vbnRoKGRhdGUpLCBzdGFydE9mTW9udGgoZGF0ZSksIG9wdGlvbnMpICsgMTtcbn0iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/getWeeksInMonth/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/getYear/index.js": /*!****************************************************!*\ !*** ./node_modules/date-fns/esm/getYear/index.js ***! \****************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return getYear; });\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n\n/**\n * @name getYear\n * @category Year Helpers\n * @summary Get the year of the given date.\n *\n * @description\n * Get the year of the given date.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the given date\n * @returns {Number} the year\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Which year is 2 July 2014?\n * var result = getYear(new Date(2014, 6, 2))\n * //=> 2014\n */\n\nfunction getYear(dirtyDate) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n var date = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate);\n var year = date.getFullYear();\n return year;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2dldFllYXIvaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2dldFllYXIvaW5kZXguanM/NzI3YyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdG9EYXRlIGZyb20gJy4uL3RvRGF0ZS9pbmRleC5qcyc7XG4vKipcbiAqIEBuYW1lIGdldFllYXJcbiAqIEBjYXRlZ29yeSBZZWFyIEhlbHBlcnNcbiAqIEBzdW1tYXJ5IEdldCB0aGUgeWVhciBvZiB0aGUgZ2l2ZW4gZGF0ZS5cbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIEdldCB0aGUgeWVhciBvZiB0aGUgZ2l2ZW4gZGF0ZS5cbiAqXG4gKiAjIyMgdjIuMC4wIGJyZWFraW5nIGNoYW5nZXM6XG4gKlxuICogLSBbQ2hhbmdlcyB0aGF0IGFyZSBjb21tb24gZm9yIHRoZSB3aG9sZSBsaWJyYXJ5XShodHRwczovL2dpdGh1Yi5jb20vZGF0ZS1mbnMvZGF0ZS1mbnMvYmxvYi9tYXN0ZXIvZG9jcy91cGdyYWRlR3VpZGUubWQjQ29tbW9uLUNoYW5nZXMpLlxuICpcbiAqIEBwYXJhbSB7RGF0ZXxOdW1iZXJ9IGRhdGUgLSB0aGUgZ2l2ZW4gZGF0ZVxuICogQHJldHVybnMge051bWJlcn0gdGhlIHllYXJcbiAqIEB0aHJvd3Mge1R5cGVFcnJvcn0gMSBhcmd1bWVudCByZXF1aXJlZFxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBXaGljaCB5ZWFyIGlzIDIgSnVseSAyMDE0P1xuICogdmFyIHJlc3VsdCA9IGdldFllYXIobmV3IERhdGUoMjAxNCwgNiwgMikpXG4gKiAvLz0+IDIwMTRcbiAqL1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBnZXRZZWFyKGRpcnR5RGF0ZSkge1xuICBpZiAoYXJndW1lbnRzLmxlbmd0aCA8IDEpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCcxIGFyZ3VtZW50IHJlcXVpcmVkLCBidXQgb25seSAnICsgYXJndW1lbnRzLmxlbmd0aCArICcgcHJlc2VudCcpO1xuICB9XG5cbiAgdmFyIGRhdGUgPSB0b0RhdGUoZGlydHlEYXRlKTtcbiAgdmFyIHllYXIgPSBkYXRlLmdldEZ1bGxZZWFyKCk7XG4gIHJldHVybiB5ZWFyO1xufSJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/getYear/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/index.js": /*!********************************************!*\ !*** ./node_modules/date-fns/esm/index.js ***! \********************************************/ /*! exports provided: addBusinessDays, addDays, addHours, addISOWeekYears, addMilliseconds, addMinutes, addMonths, addQuarters, addSeconds, addWeeks, addYears, areIntervalsOverlapping, closestIndexTo, closestTo, compareAsc, compareDesc, differenceInBusinessDays, differenceInCalendarDays, differenceInCalendarISOWeekYears, differenceInCalendarISOWeeks, differenceInCalendarMonths, differenceInCalendarQuarters, differenceInCalendarWeeks, differenceInCalendarYears, differenceInDays, differenceInHours, differenceInISOWeekYears, differenceInMilliseconds, differenceInMinutes, differenceInMonths, differenceInQuarters, differenceInSeconds, differenceInWeeks, differenceInYears, eachDayOfInterval, eachWeekOfInterval, eachWeekendOfInterval, eachWeekendOfMonth, eachWeekendOfYear, endOfDay, endOfDecade, endOfHour, endOfISOWeek, endOfISOWeekYear, endOfMinute, endOfMonth, endOfQuarter, endOfSecond, endOfToday, endOfTomorrow, endOfWeek, endOfYear, endOfYesterday, format, formatDistance, formatDistanceStrict, formatDistanceToNow, formatRelative, fromUnixTime, getDate, getDay, getDayOfYear, getDaysInMonth, getDaysInYear, getDecade, getHours, getISODay, getISOWeek, getISOWeekYear, getISOWeeksInYear, getMilliseconds, getMinutes, getMonth, getOverlappingDaysInIntervals, getQuarter, getSeconds, getTime, getUnixTime, getWeek, getWeekOfMonth, getWeekYear, getWeeksInMonth, getYear, isAfter, isBefore, isDate, isEqual, isFirstDayOfMonth, isFriday, isFuture, isLastDayOfMonth, isLeapYear, isMonday, isPast, isSameDay, isSameHour, isSameISOWeek, isSameISOWeekYear, isSameMinute, isSameMonth, isSameQuarter, isSameSecond, isSameWeek, isSameYear, isSaturday, isSunday, isThisHour, isThisISOWeek, isThisMinute, isThisMonth, isThisQuarter, isThisSecond, isThisWeek, isThisYear, isThursday, isToday, isTomorrow, isTuesday, isValid, isWednesday, isWeekend, isWithinInterval, isYesterday, lastDayOfDecade, lastDayOfISOWeek, lastDayOfISOWeekYear, lastDayOfMonth, lastDayOfQuarter, lastDayOfWeek, lastDayOfYear, lightFormat, max, min, parse, parseISO, roundToNearestMinutes, setDate, setDay, setDayOfYear, setHours, setISODay, setISOWeek, setISOWeekYear, setMilliseconds, setMinutes, setMonth, setQuarter, setSeconds, setWeek, setWeekYear, setYear, startOfDay, startOfDecade, startOfHour, startOfISOWeek, startOfISOWeekYear, startOfMinute, startOfMonth, startOfQuarter, startOfSecond, startOfToday, startOfTomorrow, startOfWeek, startOfWeekYear, startOfYear, startOfYesterday, subDays, subHours, subISOWeekYears, subMilliseconds, subMinutes, subMonths, subQuarters, subSeconds, subWeeks, subYears, toDate, maxTime, minTime */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _addBusinessDays_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./addBusinessDays/index.js */ \"./node_modules/date-fns/esm/addBusinessDays/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"addBusinessDays\", function() { return _addBusinessDays_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n/* harmony import */ var _addDays_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./addDays/index.js */ \"./node_modules/date-fns/esm/addDays/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"addDays\", function() { return _addDays_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]; });\n\n/* harmony import */ var _addHours_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./addHours/index.js */ \"./node_modules/date-fns/esm/addHours/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"addHours\", function() { return _addHours_index_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]; });\n\n/* harmony import */ var _addISOWeekYears_index_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./addISOWeekYears/index.js */ \"./node_modules/date-fns/esm/addISOWeekYears/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"addISOWeekYears\", function() { return _addISOWeekYears_index_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]; });\n\n/* harmony import */ var _addMilliseconds_index_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./addMilliseconds/index.js */ \"./node_modules/date-fns/esm/addMilliseconds/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"addMilliseconds\", function() { return _addMilliseconds_index_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"]; });\n\n/* harmony import */ var _addMinutes_index_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./addMinutes/index.js */ \"./node_modules/date-fns/esm/addMinutes/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"addMinutes\", function() { return _addMinutes_index_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"]; });\n\n/* harmony import */ var _addMonths_index_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./addMonths/index.js */ \"./node_modules/date-fns/esm/addMonths/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"addMonths\", function() { return _addMonths_index_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"]; });\n\n/* harmony import */ var _addQuarters_index_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./addQuarters/index.js */ \"./node_modules/date-fns/esm/addQuarters/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"addQuarters\", function() { return _addQuarters_index_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"]; });\n\n/* harmony import */ var _addSeconds_index_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./addSeconds/index.js */ \"./node_modules/date-fns/esm/addSeconds/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"addSeconds\", function() { return _addSeconds_index_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"]; });\n\n/* harmony import */ var _addWeeks_index_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./addWeeks/index.js */ \"./node_modules/date-fns/esm/addWeeks/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"addWeeks\", function() { return _addWeeks_index_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"]; });\n\n/* harmony import */ var _addYears_index_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./addYears/index.js */ \"./node_modules/date-fns/esm/addYears/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"addYears\", function() { return _addYears_index_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"]; });\n\n/* harmony import */ var _areIntervalsOverlapping_index_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./areIntervalsOverlapping/index.js */ \"./node_modules/date-fns/esm/areIntervalsOverlapping/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"areIntervalsOverlapping\", function() { return _areIntervalsOverlapping_index_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"]; });\n\n/* harmony import */ var _closestIndexTo_index_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./closestIndexTo/index.js */ \"./node_modules/date-fns/esm/closestIndexTo/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"closestIndexTo\", function() { return _closestIndexTo_index_js__WEBPACK_IMPORTED_MODULE_12__[\"default\"]; });\n\n/* harmony import */ var _closestTo_index_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./closestTo/index.js */ \"./node_modules/date-fns/esm/closestTo/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"closestTo\", function() { return _closestTo_index_js__WEBPACK_IMPORTED_MODULE_13__[\"default\"]; });\n\n/* harmony import */ var _compareAsc_index_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./compareAsc/index.js */ \"./node_modules/date-fns/esm/compareAsc/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"compareAsc\", function() { return _compareAsc_index_js__WEBPACK_IMPORTED_MODULE_14__[\"default\"]; });\n\n/* harmony import */ var _compareDesc_index_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./compareDesc/index.js */ \"./node_modules/date-fns/esm/compareDesc/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"compareDesc\", function() { return _compareDesc_index_js__WEBPACK_IMPORTED_MODULE_15__[\"default\"]; });\n\n/* harmony import */ var _differenceInBusinessDays_index_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./differenceInBusinessDays/index.js */ \"./node_modules/date-fns/esm/differenceInBusinessDays/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"differenceInBusinessDays\", function() { return _differenceInBusinessDays_index_js__WEBPACK_IMPORTED_MODULE_16__[\"default\"]; });\n\n/* harmony import */ var _differenceInCalendarDays_index_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./differenceInCalendarDays/index.js */ \"./node_modules/date-fns/esm/differenceInCalendarDays/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"differenceInCalendarDays\", function() { return _differenceInCalendarDays_index_js__WEBPACK_IMPORTED_MODULE_17__[\"default\"]; });\n\n/* harmony import */ var _differenceInCalendarISOWeekYears_index_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./differenceInCalendarISOWeekYears/index.js */ \"./node_modules/date-fns/esm/differenceInCalendarISOWeekYears/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"differenceInCalendarISOWeekYears\", function() { return _differenceInCalendarISOWeekYears_index_js__WEBPACK_IMPORTED_MODULE_18__[\"default\"]; });\n\n/* harmony import */ var _differenceInCalendarISOWeeks_index_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./differenceInCalendarISOWeeks/index.js */ \"./node_modules/date-fns/esm/differenceInCalendarISOWeeks/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"differenceInCalendarISOWeeks\", function() { return _differenceInCalendarISOWeeks_index_js__WEBPACK_IMPORTED_MODULE_19__[\"default\"]; });\n\n/* harmony import */ var _differenceInCalendarMonths_index_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./differenceInCalendarMonths/index.js */ \"./node_modules/date-fns/esm/differenceInCalendarMonths/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"differenceInCalendarMonths\", function() { return _differenceInCalendarMonths_index_js__WEBPACK_IMPORTED_MODULE_20__[\"default\"]; });\n\n/* harmony import */ var _differenceInCalendarQuarters_index_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./differenceInCalendarQuarters/index.js */ \"./node_modules/date-fns/esm/differenceInCalendarQuarters/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"differenceInCalendarQuarters\", function() { return _differenceInCalendarQuarters_index_js__WEBPACK_IMPORTED_MODULE_21__[\"default\"]; });\n\n/* harmony import */ var _differenceInCalendarWeeks_index_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./differenceInCalendarWeeks/index.js */ \"./node_modules/date-fns/esm/differenceInCalendarWeeks/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"differenceInCalendarWeeks\", function() { return _differenceInCalendarWeeks_index_js__WEBPACK_IMPORTED_MODULE_22__[\"default\"]; });\n\n/* harmony import */ var _differenceInCalendarYears_index_js__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./differenceInCalendarYears/index.js */ \"./node_modules/date-fns/esm/differenceInCalendarYears/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"differenceInCalendarYears\", function() { return _differenceInCalendarYears_index_js__WEBPACK_IMPORTED_MODULE_23__[\"default\"]; });\n\n/* harmony import */ var _differenceInDays_index_js__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./differenceInDays/index.js */ \"./node_modules/date-fns/esm/differenceInDays/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"differenceInDays\", function() { return _differenceInDays_index_js__WEBPACK_IMPORTED_MODULE_24__[\"default\"]; });\n\n/* harmony import */ var _differenceInHours_index_js__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./differenceInHours/index.js */ \"./node_modules/date-fns/esm/differenceInHours/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"differenceInHours\", function() { return _differenceInHours_index_js__WEBPACK_IMPORTED_MODULE_25__[\"default\"]; });\n\n/* harmony import */ var _differenceInISOWeekYears_index_js__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./differenceInISOWeekYears/index.js */ \"./node_modules/date-fns/esm/differenceInISOWeekYears/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"differenceInISOWeekYears\", function() { return _differenceInISOWeekYears_index_js__WEBPACK_IMPORTED_MODULE_26__[\"default\"]; });\n\n/* harmony import */ var _differenceInMilliseconds_index_js__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./differenceInMilliseconds/index.js */ \"./node_modules/date-fns/esm/differenceInMilliseconds/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"differenceInMilliseconds\", function() { return _differenceInMilliseconds_index_js__WEBPACK_IMPORTED_MODULE_27__[\"default\"]; });\n\n/* harmony import */ var _differenceInMinutes_index_js__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./differenceInMinutes/index.js */ \"./node_modules/date-fns/esm/differenceInMinutes/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"differenceInMinutes\", function() { return _differenceInMinutes_index_js__WEBPACK_IMPORTED_MODULE_28__[\"default\"]; });\n\n/* harmony import */ var _differenceInMonths_index_js__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ./differenceInMonths/index.js */ \"./node_modules/date-fns/esm/differenceInMonths/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"differenceInMonths\", function() { return _differenceInMonths_index_js__WEBPACK_IMPORTED_MODULE_29__[\"default\"]; });\n\n/* harmony import */ var _differenceInQuarters_index_js__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ./differenceInQuarters/index.js */ \"./node_modules/date-fns/esm/differenceInQuarters/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"differenceInQuarters\", function() { return _differenceInQuarters_index_js__WEBPACK_IMPORTED_MODULE_30__[\"default\"]; });\n\n/* harmony import */ var _differenceInSeconds_index_js__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ./differenceInSeconds/index.js */ \"./node_modules/date-fns/esm/differenceInSeconds/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"differenceInSeconds\", function() { return _differenceInSeconds_index_js__WEBPACK_IMPORTED_MODULE_31__[\"default\"]; });\n\n/* harmony import */ var _differenceInWeeks_index_js__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ./differenceInWeeks/index.js */ \"./node_modules/date-fns/esm/differenceInWeeks/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"differenceInWeeks\", function() { return _differenceInWeeks_index_js__WEBPACK_IMPORTED_MODULE_32__[\"default\"]; });\n\n/* harmony import */ var _differenceInYears_index_js__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ./differenceInYears/index.js */ \"./node_modules/date-fns/esm/differenceInYears/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"differenceInYears\", function() { return _differenceInYears_index_js__WEBPACK_IMPORTED_MODULE_33__[\"default\"]; });\n\n/* harmony import */ var _eachDayOfInterval_index_js__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! ./eachDayOfInterval/index.js */ \"./node_modules/date-fns/esm/eachDayOfInterval/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"eachDayOfInterval\", function() { return _eachDayOfInterval_index_js__WEBPACK_IMPORTED_MODULE_34__[\"default\"]; });\n\n/* harmony import */ var _eachWeekOfInterval_index_js__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! ./eachWeekOfInterval/index.js */ \"./node_modules/date-fns/esm/eachWeekOfInterval/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"eachWeekOfInterval\", function() { return _eachWeekOfInterval_index_js__WEBPACK_IMPORTED_MODULE_35__[\"default\"]; });\n\n/* harmony import */ var _eachWeekendOfInterval_index_js__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(/*! ./eachWeekendOfInterval/index.js */ \"./node_modules/date-fns/esm/eachWeekendOfInterval/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"eachWeekendOfInterval\", function() { return _eachWeekendOfInterval_index_js__WEBPACK_IMPORTED_MODULE_36__[\"default\"]; });\n\n/* harmony import */ var _eachWeekendOfMonth_index_js__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(/*! ./eachWeekendOfMonth/index.js */ \"./node_modules/date-fns/esm/eachWeekendOfMonth/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"eachWeekendOfMonth\", function() { return _eachWeekendOfMonth_index_js__WEBPACK_IMPORTED_MODULE_37__[\"default\"]; });\n\n/* harmony import */ var _eachWeekendOfYear_index_js__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(/*! ./eachWeekendOfYear/index.js */ \"./node_modules/date-fns/esm/eachWeekendOfYear/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"eachWeekendOfYear\", function() { return _eachWeekendOfYear_index_js__WEBPACK_IMPORTED_MODULE_38__[\"default\"]; });\n\n/* harmony import */ var _endOfDay_index_js__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(/*! ./endOfDay/index.js */ \"./node_modules/date-fns/esm/endOfDay/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"endOfDay\", function() { return _endOfDay_index_js__WEBPACK_IMPORTED_MODULE_39__[\"default\"]; });\n\n/* harmony import */ var _endOfDecade_index_js__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(/*! ./endOfDecade/index.js */ \"./node_modules/date-fns/esm/endOfDecade/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"endOfDecade\", function() { return _endOfDecade_index_js__WEBPACK_IMPORTED_MODULE_40__[\"default\"]; });\n\n/* harmony import */ var _endOfHour_index_js__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(/*! ./endOfHour/index.js */ \"./node_modules/date-fns/esm/endOfHour/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"endOfHour\", function() { return _endOfHour_index_js__WEBPACK_IMPORTED_MODULE_41__[\"default\"]; });\n\n/* harmony import */ var _endOfISOWeek_index_js__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__(/*! ./endOfISOWeek/index.js */ \"./node_modules/date-fns/esm/endOfISOWeek/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"endOfISOWeek\", function() { return _endOfISOWeek_index_js__WEBPACK_IMPORTED_MODULE_42__[\"default\"]; });\n\n/* harmony import */ var _endOfISOWeekYear_index_js__WEBPACK_IMPORTED_MODULE_43__ = __webpack_require__(/*! ./endOfISOWeekYear/index.js */ \"./node_modules/date-fns/esm/endOfISOWeekYear/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"endOfISOWeekYear\", function() { return _endOfISOWeekYear_index_js__WEBPACK_IMPORTED_MODULE_43__[\"default\"]; });\n\n/* harmony import */ var _endOfMinute_index_js__WEBPACK_IMPORTED_MODULE_44__ = __webpack_require__(/*! ./endOfMinute/index.js */ \"./node_modules/date-fns/esm/endOfMinute/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"endOfMinute\", function() { return _endOfMinute_index_js__WEBPACK_IMPORTED_MODULE_44__[\"default\"]; });\n\n/* harmony import */ var _endOfMonth_index_js__WEBPACK_IMPORTED_MODULE_45__ = __webpack_require__(/*! ./endOfMonth/index.js */ \"./node_modules/date-fns/esm/endOfMonth/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"endOfMonth\", function() { return _endOfMonth_index_js__WEBPACK_IMPORTED_MODULE_45__[\"default\"]; });\n\n/* harmony import */ var _endOfQuarter_index_js__WEBPACK_IMPORTED_MODULE_46__ = __webpack_require__(/*! ./endOfQuarter/index.js */ \"./node_modules/date-fns/esm/endOfQuarter/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"endOfQuarter\", function() { return _endOfQuarter_index_js__WEBPACK_IMPORTED_MODULE_46__[\"default\"]; });\n\n/* harmony import */ var _endOfSecond_index_js__WEBPACK_IMPORTED_MODULE_47__ = __webpack_require__(/*! ./endOfSecond/index.js */ \"./node_modules/date-fns/esm/endOfSecond/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"endOfSecond\", function() { return _endOfSecond_index_js__WEBPACK_IMPORTED_MODULE_47__[\"default\"]; });\n\n/* harmony import */ var _endOfToday_index_js__WEBPACK_IMPORTED_MODULE_48__ = __webpack_require__(/*! ./endOfToday/index.js */ \"./node_modules/date-fns/esm/endOfToday/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"endOfToday\", function() { return _endOfToday_index_js__WEBPACK_IMPORTED_MODULE_48__[\"default\"]; });\n\n/* harmony import */ var _endOfTomorrow_index_js__WEBPACK_IMPORTED_MODULE_49__ = __webpack_require__(/*! ./endOfTomorrow/index.js */ \"./node_modules/date-fns/esm/endOfTomorrow/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"endOfTomorrow\", function() { return _endOfTomorrow_index_js__WEBPACK_IMPORTED_MODULE_49__[\"default\"]; });\n\n/* harmony import */ var _endOfWeek_index_js__WEBPACK_IMPORTED_MODULE_50__ = __webpack_require__(/*! ./endOfWeek/index.js */ \"./node_modules/date-fns/esm/endOfWeek/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"endOfWeek\", function() { return _endOfWeek_index_js__WEBPACK_IMPORTED_MODULE_50__[\"default\"]; });\n\n/* harmony import */ var _endOfYear_index_js__WEBPACK_IMPORTED_MODULE_51__ = __webpack_require__(/*! ./endOfYear/index.js */ \"./node_modules/date-fns/esm/endOfYear/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"endOfYear\", function() { return _endOfYear_index_js__WEBPACK_IMPORTED_MODULE_51__[\"default\"]; });\n\n/* harmony import */ var _endOfYesterday_index_js__WEBPACK_IMPORTED_MODULE_52__ = __webpack_require__(/*! ./endOfYesterday/index.js */ \"./node_modules/date-fns/esm/endOfYesterday/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"endOfYesterday\", function() { return _endOfYesterday_index_js__WEBPACK_IMPORTED_MODULE_52__[\"default\"]; });\n\n/* harmony import */ var _format_index_js__WEBPACK_IMPORTED_MODULE_53__ = __webpack_require__(/*! ./format/index.js */ \"./node_modules/date-fns/esm/format/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"format\", function() { return _format_index_js__WEBPACK_IMPORTED_MODULE_53__[\"default\"]; });\n\n/* harmony import */ var _formatDistance_index_js__WEBPACK_IMPORTED_MODULE_54__ = __webpack_require__(/*! ./formatDistance/index.js */ \"./node_modules/date-fns/esm/formatDistance/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"formatDistance\", function() { return _formatDistance_index_js__WEBPACK_IMPORTED_MODULE_54__[\"default\"]; });\n\n/* harmony import */ var _formatDistanceStrict_index_js__WEBPACK_IMPORTED_MODULE_55__ = __webpack_require__(/*! ./formatDistanceStrict/index.js */ \"./node_modules/date-fns/esm/formatDistanceStrict/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"formatDistanceStrict\", function() { return _formatDistanceStrict_index_js__WEBPACK_IMPORTED_MODULE_55__[\"default\"]; });\n\n/* harmony import */ var _formatDistanceToNow_index_js__WEBPACK_IMPORTED_MODULE_56__ = __webpack_require__(/*! ./formatDistanceToNow/index.js */ \"./node_modules/date-fns/esm/formatDistanceToNow/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"formatDistanceToNow\", function() { return _formatDistanceToNow_index_js__WEBPACK_IMPORTED_MODULE_56__[\"default\"]; });\n\n/* harmony import */ var _formatRelative_index_js__WEBPACK_IMPORTED_MODULE_57__ = __webpack_require__(/*! ./formatRelative/index.js */ \"./node_modules/date-fns/esm/formatRelative/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"formatRelative\", function() { return _formatRelative_index_js__WEBPACK_IMPORTED_MODULE_57__[\"default\"]; });\n\n/* harmony import */ var _fromUnixTime_index_js__WEBPACK_IMPORTED_MODULE_58__ = __webpack_require__(/*! ./fromUnixTime/index.js */ \"./node_modules/date-fns/esm/fromUnixTime/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"fromUnixTime\", function() { return _fromUnixTime_index_js__WEBPACK_IMPORTED_MODULE_58__[\"default\"]; });\n\n/* harmony import */ var _getDate_index_js__WEBPACK_IMPORTED_MODULE_59__ = __webpack_require__(/*! ./getDate/index.js */ \"./node_modules/date-fns/esm/getDate/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getDate\", function() { return _getDate_index_js__WEBPACK_IMPORTED_MODULE_59__[\"default\"]; });\n\n/* harmony import */ var _getDay_index_js__WEBPACK_IMPORTED_MODULE_60__ = __webpack_require__(/*! ./getDay/index.js */ \"./node_modules/date-fns/esm/getDay/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getDay\", function() { return _getDay_index_js__WEBPACK_IMPORTED_MODULE_60__[\"default\"]; });\n\n/* harmony import */ var _getDayOfYear_index_js__WEBPACK_IMPORTED_MODULE_61__ = __webpack_require__(/*! ./getDayOfYear/index.js */ \"./node_modules/date-fns/esm/getDayOfYear/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getDayOfYear\", function() { return _getDayOfYear_index_js__WEBPACK_IMPORTED_MODULE_61__[\"default\"]; });\n\n/* harmony import */ var _getDaysInMonth_index_js__WEBPACK_IMPORTED_MODULE_62__ = __webpack_require__(/*! ./getDaysInMonth/index.js */ \"./node_modules/date-fns/esm/getDaysInMonth/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getDaysInMonth\", function() { return _getDaysInMonth_index_js__WEBPACK_IMPORTED_MODULE_62__[\"default\"]; });\n\n/* harmony import */ var _getDaysInYear_index_js__WEBPACK_IMPORTED_MODULE_63__ = __webpack_require__(/*! ./getDaysInYear/index.js */ \"./node_modules/date-fns/esm/getDaysInYear/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getDaysInYear\", function() { return _getDaysInYear_index_js__WEBPACK_IMPORTED_MODULE_63__[\"default\"]; });\n\n/* harmony import */ var _getDecade_index_js__WEBPACK_IMPORTED_MODULE_64__ = __webpack_require__(/*! ./getDecade/index.js */ \"./node_modules/date-fns/esm/getDecade/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getDecade\", function() { return _getDecade_index_js__WEBPACK_IMPORTED_MODULE_64__[\"default\"]; });\n\n/* harmony import */ var _getHours_index_js__WEBPACK_IMPORTED_MODULE_65__ = __webpack_require__(/*! ./getHours/index.js */ \"./node_modules/date-fns/esm/getHours/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getHours\", function() { return _getHours_index_js__WEBPACK_IMPORTED_MODULE_65__[\"default\"]; });\n\n/* harmony import */ var _getISODay_index_js__WEBPACK_IMPORTED_MODULE_66__ = __webpack_require__(/*! ./getISODay/index.js */ \"./node_modules/date-fns/esm/getISODay/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getISODay\", function() { return _getISODay_index_js__WEBPACK_IMPORTED_MODULE_66__[\"default\"]; });\n\n/* harmony import */ var _getISOWeek_index_js__WEBPACK_IMPORTED_MODULE_67__ = __webpack_require__(/*! ./getISOWeek/index.js */ \"./node_modules/date-fns/esm/getISOWeek/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getISOWeek\", function() { return _getISOWeek_index_js__WEBPACK_IMPORTED_MODULE_67__[\"default\"]; });\n\n/* harmony import */ var _getISOWeekYear_index_js__WEBPACK_IMPORTED_MODULE_68__ = __webpack_require__(/*! ./getISOWeekYear/index.js */ \"./node_modules/date-fns/esm/getISOWeekYear/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getISOWeekYear\", function() { return _getISOWeekYear_index_js__WEBPACK_IMPORTED_MODULE_68__[\"default\"]; });\n\n/* harmony import */ var _getISOWeeksInYear_index_js__WEBPACK_IMPORTED_MODULE_69__ = __webpack_require__(/*! ./getISOWeeksInYear/index.js */ \"./node_modules/date-fns/esm/getISOWeeksInYear/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getISOWeeksInYear\", function() { return _getISOWeeksInYear_index_js__WEBPACK_IMPORTED_MODULE_69__[\"default\"]; });\n\n/* harmony import */ var _getMilliseconds_index_js__WEBPACK_IMPORTED_MODULE_70__ = __webpack_require__(/*! ./getMilliseconds/index.js */ \"./node_modules/date-fns/esm/getMilliseconds/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getMilliseconds\", function() { return _getMilliseconds_index_js__WEBPACK_IMPORTED_MODULE_70__[\"default\"]; });\n\n/* harmony import */ var _getMinutes_index_js__WEBPACK_IMPORTED_MODULE_71__ = __webpack_require__(/*! ./getMinutes/index.js */ \"./node_modules/date-fns/esm/getMinutes/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getMinutes\", function() { return _getMinutes_index_js__WEBPACK_IMPORTED_MODULE_71__[\"default\"]; });\n\n/* harmony import */ var _getMonth_index_js__WEBPACK_IMPORTED_MODULE_72__ = __webpack_require__(/*! ./getMonth/index.js */ \"./node_modules/date-fns/esm/getMonth/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getMonth\", function() { return _getMonth_index_js__WEBPACK_IMPORTED_MODULE_72__[\"default\"]; });\n\n/* harmony import */ var _getOverlappingDaysInIntervals_index_js__WEBPACK_IMPORTED_MODULE_73__ = __webpack_require__(/*! ./getOverlappingDaysInIntervals/index.js */ \"./node_modules/date-fns/esm/getOverlappingDaysInIntervals/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getOverlappingDaysInIntervals\", function() { return _getOverlappingDaysInIntervals_index_js__WEBPACK_IMPORTED_MODULE_73__[\"default\"]; });\n\n/* harmony import */ var _getQuarter_index_js__WEBPACK_IMPORTED_MODULE_74__ = __webpack_require__(/*! ./getQuarter/index.js */ \"./node_modules/date-fns/esm/getQuarter/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getQuarter\", function() { return _getQuarter_index_js__WEBPACK_IMPORTED_MODULE_74__[\"default\"]; });\n\n/* harmony import */ var _getSeconds_index_js__WEBPACK_IMPORTED_MODULE_75__ = __webpack_require__(/*! ./getSeconds/index.js */ \"./node_modules/date-fns/esm/getSeconds/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getSeconds\", function() { return _getSeconds_index_js__WEBPACK_IMPORTED_MODULE_75__[\"default\"]; });\n\n/* harmony import */ var _getTime_index_js__WEBPACK_IMPORTED_MODULE_76__ = __webpack_require__(/*! ./getTime/index.js */ \"./node_modules/date-fns/esm/getTime/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getTime\", function() { return _getTime_index_js__WEBPACK_IMPORTED_MODULE_76__[\"default\"]; });\n\n/* harmony import */ var _getUnixTime_index_js__WEBPACK_IMPORTED_MODULE_77__ = __webpack_require__(/*! ./getUnixTime/index.js */ \"./node_modules/date-fns/esm/getUnixTime/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getUnixTime\", function() { return _getUnixTime_index_js__WEBPACK_IMPORTED_MODULE_77__[\"default\"]; });\n\n/* harmony import */ var _getWeek_index_js__WEBPACK_IMPORTED_MODULE_78__ = __webpack_require__(/*! ./getWeek/index.js */ \"./node_modules/date-fns/esm/getWeek/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getWeek\", function() { return _getWeek_index_js__WEBPACK_IMPORTED_MODULE_78__[\"default\"]; });\n\n/* harmony import */ var _getWeekOfMonth_index_js__WEBPACK_IMPORTED_MODULE_79__ = __webpack_require__(/*! ./getWeekOfMonth/index.js */ \"./node_modules/date-fns/esm/getWeekOfMonth/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getWeekOfMonth\", function() { return _getWeekOfMonth_index_js__WEBPACK_IMPORTED_MODULE_79__[\"default\"]; });\n\n/* harmony import */ var _getWeekYear_index_js__WEBPACK_IMPORTED_MODULE_80__ = __webpack_require__(/*! ./getWeekYear/index.js */ \"./node_modules/date-fns/esm/getWeekYear/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getWeekYear\", function() { return _getWeekYear_index_js__WEBPACK_IMPORTED_MODULE_80__[\"default\"]; });\n\n/* harmony import */ var _getWeeksInMonth_index_js__WEBPACK_IMPORTED_MODULE_81__ = __webpack_require__(/*! ./getWeeksInMonth/index.js */ \"./node_modules/date-fns/esm/getWeeksInMonth/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getWeeksInMonth\", function() { return _getWeeksInMonth_index_js__WEBPACK_IMPORTED_MODULE_81__[\"default\"]; });\n\n/* harmony import */ var _getYear_index_js__WEBPACK_IMPORTED_MODULE_82__ = __webpack_require__(/*! ./getYear/index.js */ \"./node_modules/date-fns/esm/getYear/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getYear\", function() { return _getYear_index_js__WEBPACK_IMPORTED_MODULE_82__[\"default\"]; });\n\n/* harmony import */ var _isAfter_index_js__WEBPACK_IMPORTED_MODULE_83__ = __webpack_require__(/*! ./isAfter/index.js */ \"./node_modules/date-fns/esm/isAfter/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isAfter\", function() { return _isAfter_index_js__WEBPACK_IMPORTED_MODULE_83__[\"default\"]; });\n\n/* harmony import */ var _isBefore_index_js__WEBPACK_IMPORTED_MODULE_84__ = __webpack_require__(/*! ./isBefore/index.js */ \"./node_modules/date-fns/esm/isBefore/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isBefore\", function() { return _isBefore_index_js__WEBPACK_IMPORTED_MODULE_84__[\"default\"]; });\n\n/* harmony import */ var _isDate_index_js__WEBPACK_IMPORTED_MODULE_85__ = __webpack_require__(/*! ./isDate/index.js */ \"./node_modules/date-fns/esm/isDate/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isDate\", function() { return _isDate_index_js__WEBPACK_IMPORTED_MODULE_85__[\"default\"]; });\n\n/* harmony import */ var _isEqual_index_js__WEBPACK_IMPORTED_MODULE_86__ = __webpack_require__(/*! ./isEqual/index.js */ \"./node_modules/date-fns/esm/isEqual/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isEqual\", function() { return _isEqual_index_js__WEBPACK_IMPORTED_MODULE_86__[\"default\"]; });\n\n/* harmony import */ var _isFirstDayOfMonth_index_js__WEBPACK_IMPORTED_MODULE_87__ = __webpack_require__(/*! ./isFirstDayOfMonth/index.js */ \"./node_modules/date-fns/esm/isFirstDayOfMonth/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isFirstDayOfMonth\", function() { return _isFirstDayOfMonth_index_js__WEBPACK_IMPORTED_MODULE_87__[\"default\"]; });\n\n/* harmony import */ var _isFriday_index_js__WEBPACK_IMPORTED_MODULE_88__ = __webpack_require__(/*! ./isFriday/index.js */ \"./node_modules/date-fns/esm/isFriday/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isFriday\", function() { return _isFriday_index_js__WEBPACK_IMPORTED_MODULE_88__[\"default\"]; });\n\n/* harmony import */ var _isFuture_index_js__WEBPACK_IMPORTED_MODULE_89__ = __webpack_require__(/*! ./isFuture/index.js */ \"./node_modules/date-fns/esm/isFuture/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isFuture\", function() { return _isFuture_index_js__WEBPACK_IMPORTED_MODULE_89__[\"default\"]; });\n\n/* harmony import */ var _isLastDayOfMonth_index_js__WEBPACK_IMPORTED_MODULE_90__ = __webpack_require__(/*! ./isLastDayOfMonth/index.js */ \"./node_modules/date-fns/esm/isLastDayOfMonth/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isLastDayOfMonth\", function() { return _isLastDayOfMonth_index_js__WEBPACK_IMPORTED_MODULE_90__[\"default\"]; });\n\n/* harmony import */ var _isLeapYear_index_js__WEBPACK_IMPORTED_MODULE_91__ = __webpack_require__(/*! ./isLeapYear/index.js */ \"./node_modules/date-fns/esm/isLeapYear/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isLeapYear\", function() { return _isLeapYear_index_js__WEBPACK_IMPORTED_MODULE_91__[\"default\"]; });\n\n/* harmony import */ var _isMonday_index_js__WEBPACK_IMPORTED_MODULE_92__ = __webpack_require__(/*! ./isMonday/index.js */ \"./node_modules/date-fns/esm/isMonday/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isMonday\", function() { return _isMonday_index_js__WEBPACK_IMPORTED_MODULE_92__[\"default\"]; });\n\n/* harmony import */ var _isPast_index_js__WEBPACK_IMPORTED_MODULE_93__ = __webpack_require__(/*! ./isPast/index.js */ \"./node_modules/date-fns/esm/isPast/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isPast\", function() { return _isPast_index_js__WEBPACK_IMPORTED_MODULE_93__[\"default\"]; });\n\n/* harmony import */ var _isSameDay_index_js__WEBPACK_IMPORTED_MODULE_94__ = __webpack_require__(/*! ./isSameDay/index.js */ \"./node_modules/date-fns/esm/isSameDay/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isSameDay\", function() { return _isSameDay_index_js__WEBPACK_IMPORTED_MODULE_94__[\"default\"]; });\n\n/* harmony import */ var _isSameHour_index_js__WEBPACK_IMPORTED_MODULE_95__ = __webpack_require__(/*! ./isSameHour/index.js */ \"./node_modules/date-fns/esm/isSameHour/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isSameHour\", function() { return _isSameHour_index_js__WEBPACK_IMPORTED_MODULE_95__[\"default\"]; });\n\n/* harmony import */ var _isSameISOWeek_index_js__WEBPACK_IMPORTED_MODULE_96__ = __webpack_require__(/*! ./isSameISOWeek/index.js */ \"./node_modules/date-fns/esm/isSameISOWeek/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isSameISOWeek\", function() { return _isSameISOWeek_index_js__WEBPACK_IMPORTED_MODULE_96__[\"default\"]; });\n\n/* harmony import */ var _isSameISOWeekYear_index_js__WEBPACK_IMPORTED_MODULE_97__ = __webpack_require__(/*! ./isSameISOWeekYear/index.js */ \"./node_modules/date-fns/esm/isSameISOWeekYear/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isSameISOWeekYear\", function() { return _isSameISOWeekYear_index_js__WEBPACK_IMPORTED_MODULE_97__[\"default\"]; });\n\n/* harmony import */ var _isSameMinute_index_js__WEBPACK_IMPORTED_MODULE_98__ = __webpack_require__(/*! ./isSameMinute/index.js */ \"./node_modules/date-fns/esm/isSameMinute/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isSameMinute\", function() { return _isSameMinute_index_js__WEBPACK_IMPORTED_MODULE_98__[\"default\"]; });\n\n/* harmony import */ var _isSameMonth_index_js__WEBPACK_IMPORTED_MODULE_99__ = __webpack_require__(/*! ./isSameMonth/index.js */ \"./node_modules/date-fns/esm/isSameMonth/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isSameMonth\", function() { return _isSameMonth_index_js__WEBPACK_IMPORTED_MODULE_99__[\"default\"]; });\n\n/* harmony import */ var _isSameQuarter_index_js__WEBPACK_IMPORTED_MODULE_100__ = __webpack_require__(/*! ./isSameQuarter/index.js */ \"./node_modules/date-fns/esm/isSameQuarter/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isSameQuarter\", function() { return _isSameQuarter_index_js__WEBPACK_IMPORTED_MODULE_100__[\"default\"]; });\n\n/* harmony import */ var _isSameSecond_index_js__WEBPACK_IMPORTED_MODULE_101__ = __webpack_require__(/*! ./isSameSecond/index.js */ \"./node_modules/date-fns/esm/isSameSecond/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isSameSecond\", function() { return _isSameSecond_index_js__WEBPACK_IMPORTED_MODULE_101__[\"default\"]; });\n\n/* harmony import */ var _isSameWeek_index_js__WEBPACK_IMPORTED_MODULE_102__ = __webpack_require__(/*! ./isSameWeek/index.js */ \"./node_modules/date-fns/esm/isSameWeek/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isSameWeek\", function() { return _isSameWeek_index_js__WEBPACK_IMPORTED_MODULE_102__[\"default\"]; });\n\n/* harmony import */ var _isSameYear_index_js__WEBPACK_IMPORTED_MODULE_103__ = __webpack_require__(/*! ./isSameYear/index.js */ \"./node_modules/date-fns/esm/isSameYear/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isSameYear\", function() { return _isSameYear_index_js__WEBPACK_IMPORTED_MODULE_103__[\"default\"]; });\n\n/* harmony import */ var _isSaturday_index_js__WEBPACK_IMPORTED_MODULE_104__ = __webpack_require__(/*! ./isSaturday/index.js */ \"./node_modules/date-fns/esm/isSaturday/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isSaturday\", function() { return _isSaturday_index_js__WEBPACK_IMPORTED_MODULE_104__[\"default\"]; });\n\n/* harmony import */ var _isSunday_index_js__WEBPACK_IMPORTED_MODULE_105__ = __webpack_require__(/*! ./isSunday/index.js */ \"./node_modules/date-fns/esm/isSunday/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isSunday\", function() { return _isSunday_index_js__WEBPACK_IMPORTED_MODULE_105__[\"default\"]; });\n\n/* harmony import */ var _isThisHour_index_js__WEBPACK_IMPORTED_MODULE_106__ = __webpack_require__(/*! ./isThisHour/index.js */ \"./node_modules/date-fns/esm/isThisHour/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isThisHour\", function() { return _isThisHour_index_js__WEBPACK_IMPORTED_MODULE_106__[\"default\"]; });\n\n/* harmony import */ var _isThisISOWeek_index_js__WEBPACK_IMPORTED_MODULE_107__ = __webpack_require__(/*! ./isThisISOWeek/index.js */ \"./node_modules/date-fns/esm/isThisISOWeek/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isThisISOWeek\", function() { return _isThisISOWeek_index_js__WEBPACK_IMPORTED_MODULE_107__[\"default\"]; });\n\n/* harmony import */ var _isThisMinute_index_js__WEBPACK_IMPORTED_MODULE_108__ = __webpack_require__(/*! ./isThisMinute/index.js */ \"./node_modules/date-fns/esm/isThisMinute/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isThisMinute\", function() { return _isThisMinute_index_js__WEBPACK_IMPORTED_MODULE_108__[\"default\"]; });\n\n/* harmony import */ var _isThisMonth_index_js__WEBPACK_IMPORTED_MODULE_109__ = __webpack_require__(/*! ./isThisMonth/index.js */ \"./node_modules/date-fns/esm/isThisMonth/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isThisMonth\", function() { return _isThisMonth_index_js__WEBPACK_IMPORTED_MODULE_109__[\"default\"]; });\n\n/* harmony import */ var _isThisQuarter_index_js__WEBPACK_IMPORTED_MODULE_110__ = __webpack_require__(/*! ./isThisQuarter/index.js */ \"./node_modules/date-fns/esm/isThisQuarter/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isThisQuarter\", function() { return _isThisQuarter_index_js__WEBPACK_IMPORTED_MODULE_110__[\"default\"]; });\n\n/* harmony import */ var _isThisSecond_index_js__WEBPACK_IMPORTED_MODULE_111__ = __webpack_require__(/*! ./isThisSecond/index.js */ \"./node_modules/date-fns/esm/isThisSecond/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isThisSecond\", function() { return _isThisSecond_index_js__WEBPACK_IMPORTED_MODULE_111__[\"default\"]; });\n\n/* harmony import */ var _isThisWeek_index_js__WEBPACK_IMPORTED_MODULE_112__ = __webpack_require__(/*! ./isThisWeek/index.js */ \"./node_modules/date-fns/esm/isThisWeek/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isThisWeek\", function() { return _isThisWeek_index_js__WEBPACK_IMPORTED_MODULE_112__[\"default\"]; });\n\n/* harmony import */ var _isThisYear_index_js__WEBPACK_IMPORTED_MODULE_113__ = __webpack_require__(/*! ./isThisYear/index.js */ \"./node_modules/date-fns/esm/isThisYear/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isThisYear\", function() { return _isThisYear_index_js__WEBPACK_IMPORTED_MODULE_113__[\"default\"]; });\n\n/* harmony import */ var _isThursday_index_js__WEBPACK_IMPORTED_MODULE_114__ = __webpack_require__(/*! ./isThursday/index.js */ \"./node_modules/date-fns/esm/isThursday/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isThursday\", function() { return _isThursday_index_js__WEBPACK_IMPORTED_MODULE_114__[\"default\"]; });\n\n/* harmony import */ var _isToday_index_js__WEBPACK_IMPORTED_MODULE_115__ = __webpack_require__(/*! ./isToday/index.js */ \"./node_modules/date-fns/esm/isToday/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isToday\", function() { return _isToday_index_js__WEBPACK_IMPORTED_MODULE_115__[\"default\"]; });\n\n/* harmony import */ var _isTomorrow_index_js__WEBPACK_IMPORTED_MODULE_116__ = __webpack_require__(/*! ./isTomorrow/index.js */ \"./node_modules/date-fns/esm/isTomorrow/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isTomorrow\", function() { return _isTomorrow_index_js__WEBPACK_IMPORTED_MODULE_116__[\"default\"]; });\n\n/* harmony import */ var _isTuesday_index_js__WEBPACK_IMPORTED_MODULE_117__ = __webpack_require__(/*! ./isTuesday/index.js */ \"./node_modules/date-fns/esm/isTuesday/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isTuesday\", function() { return _isTuesday_index_js__WEBPACK_IMPORTED_MODULE_117__[\"default\"]; });\n\n/* harmony import */ var _isValid_index_js__WEBPACK_IMPORTED_MODULE_118__ = __webpack_require__(/*! ./isValid/index.js */ \"./node_modules/date-fns/esm/isValid/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isValid\", function() { return _isValid_index_js__WEBPACK_IMPORTED_MODULE_118__[\"default\"]; });\n\n/* harmony import */ var _isWednesday_index_js__WEBPACK_IMPORTED_MODULE_119__ = __webpack_require__(/*! ./isWednesday/index.js */ \"./node_modules/date-fns/esm/isWednesday/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isWednesday\", function() { return _isWednesday_index_js__WEBPACK_IMPORTED_MODULE_119__[\"default\"]; });\n\n/* harmony import */ var _isWeekend_index_js__WEBPACK_IMPORTED_MODULE_120__ = __webpack_require__(/*! ./isWeekend/index.js */ \"./node_modules/date-fns/esm/isWeekend/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isWeekend\", function() { return _isWeekend_index_js__WEBPACK_IMPORTED_MODULE_120__[\"default\"]; });\n\n/* harmony import */ var _isWithinInterval_index_js__WEBPACK_IMPORTED_MODULE_121__ = __webpack_require__(/*! ./isWithinInterval/index.js */ \"./node_modules/date-fns/esm/isWithinInterval/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isWithinInterval\", function() { return _isWithinInterval_index_js__WEBPACK_IMPORTED_MODULE_121__[\"default\"]; });\n\n/* harmony import */ var _isYesterday_index_js__WEBPACK_IMPORTED_MODULE_122__ = __webpack_require__(/*! ./isYesterday/index.js */ \"./node_modules/date-fns/esm/isYesterday/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isYesterday\", function() { return _isYesterday_index_js__WEBPACK_IMPORTED_MODULE_122__[\"default\"]; });\n\n/* harmony import */ var _lastDayOfDecade_index_js__WEBPACK_IMPORTED_MODULE_123__ = __webpack_require__(/*! ./lastDayOfDecade/index.js */ \"./node_modules/date-fns/esm/lastDayOfDecade/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"lastDayOfDecade\", function() { return _lastDayOfDecade_index_js__WEBPACK_IMPORTED_MODULE_123__[\"default\"]; });\n\n/* harmony import */ var _lastDayOfISOWeek_index_js__WEBPACK_IMPORTED_MODULE_124__ = __webpack_require__(/*! ./lastDayOfISOWeek/index.js */ \"./node_modules/date-fns/esm/lastDayOfISOWeek/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"lastDayOfISOWeek\", function() { return _lastDayOfISOWeek_index_js__WEBPACK_IMPORTED_MODULE_124__[\"default\"]; });\n\n/* harmony import */ var _lastDayOfISOWeekYear_index_js__WEBPACK_IMPORTED_MODULE_125__ = __webpack_require__(/*! ./lastDayOfISOWeekYear/index.js */ \"./node_modules/date-fns/esm/lastDayOfISOWeekYear/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"lastDayOfISOWeekYear\", function() { return _lastDayOfISOWeekYear_index_js__WEBPACK_IMPORTED_MODULE_125__[\"default\"]; });\n\n/* harmony import */ var _lastDayOfMonth_index_js__WEBPACK_IMPORTED_MODULE_126__ = __webpack_require__(/*! ./lastDayOfMonth/index.js */ \"./node_modules/date-fns/esm/lastDayOfMonth/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"lastDayOfMonth\", function() { return _lastDayOfMonth_index_js__WEBPACK_IMPORTED_MODULE_126__[\"default\"]; });\n\n/* harmony import */ var _lastDayOfQuarter_index_js__WEBPACK_IMPORTED_MODULE_127__ = __webpack_require__(/*! ./lastDayOfQuarter/index.js */ \"./node_modules/date-fns/esm/lastDayOfQuarter/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"lastDayOfQuarter\", function() { return _lastDayOfQuarter_index_js__WEBPACK_IMPORTED_MODULE_127__[\"default\"]; });\n\n/* harmony import */ var _lastDayOfWeek_index_js__WEBPACK_IMPORTED_MODULE_128__ = __webpack_require__(/*! ./lastDayOfWeek/index.js */ \"./node_modules/date-fns/esm/lastDayOfWeek/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"lastDayOfWeek\", function() { return _lastDayOfWeek_index_js__WEBPACK_IMPORTED_MODULE_128__[\"default\"]; });\n\n/* harmony import */ var _lastDayOfYear_index_js__WEBPACK_IMPORTED_MODULE_129__ = __webpack_require__(/*! ./lastDayOfYear/index.js */ \"./node_modules/date-fns/esm/lastDayOfYear/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"lastDayOfYear\", function() { return _lastDayOfYear_index_js__WEBPACK_IMPORTED_MODULE_129__[\"default\"]; });\n\n/* harmony import */ var _lightFormat_index_js__WEBPACK_IMPORTED_MODULE_130__ = __webpack_require__(/*! ./lightFormat/index.js */ \"./node_modules/date-fns/esm/lightFormat/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"lightFormat\", function() { return _lightFormat_index_js__WEBPACK_IMPORTED_MODULE_130__[\"default\"]; });\n\n/* harmony import */ var _max_index_js__WEBPACK_IMPORTED_MODULE_131__ = __webpack_require__(/*! ./max/index.js */ \"./node_modules/date-fns/esm/max/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"max\", function() { return _max_index_js__WEBPACK_IMPORTED_MODULE_131__[\"default\"]; });\n\n/* harmony import */ var _min_index_js__WEBPACK_IMPORTED_MODULE_132__ = __webpack_require__(/*! ./min/index.js */ \"./node_modules/date-fns/esm/min/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"min\", function() { return _min_index_js__WEBPACK_IMPORTED_MODULE_132__[\"default\"]; });\n\n/* harmony import */ var _parse_index_js__WEBPACK_IMPORTED_MODULE_133__ = __webpack_require__(/*! ./parse/index.js */ \"./node_modules/date-fns/esm/parse/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"parse\", function() { return _parse_index_js__WEBPACK_IMPORTED_MODULE_133__[\"default\"]; });\n\n/* harmony import */ var _parseISO_index_js__WEBPACK_IMPORTED_MODULE_134__ = __webpack_require__(/*! ./parseISO/index.js */ \"./node_modules/date-fns/esm/parseISO/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"parseISO\", function() { return _parseISO_index_js__WEBPACK_IMPORTED_MODULE_134__[\"default\"]; });\n\n/* harmony import */ var _roundToNearestMinutes_index_js__WEBPACK_IMPORTED_MODULE_135__ = __webpack_require__(/*! ./roundToNearestMinutes/index.js */ \"./node_modules/date-fns/esm/roundToNearestMinutes/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"roundToNearestMinutes\", function() { return _roundToNearestMinutes_index_js__WEBPACK_IMPORTED_MODULE_135__[\"default\"]; });\n\n/* harmony import */ var _setDate_index_js__WEBPACK_IMPORTED_MODULE_136__ = __webpack_require__(/*! ./setDate/index.js */ \"./node_modules/date-fns/esm/setDate/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setDate\", function() { return _setDate_index_js__WEBPACK_IMPORTED_MODULE_136__[\"default\"]; });\n\n/* harmony import */ var _setDay_index_js__WEBPACK_IMPORTED_MODULE_137__ = __webpack_require__(/*! ./setDay/index.js */ \"./node_modules/date-fns/esm/setDay/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setDay\", function() { return _setDay_index_js__WEBPACK_IMPORTED_MODULE_137__[\"default\"]; });\n\n/* harmony import */ var _setDayOfYear_index_js__WEBPACK_IMPORTED_MODULE_138__ = __webpack_require__(/*! ./setDayOfYear/index.js */ \"./node_modules/date-fns/esm/setDayOfYear/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setDayOfYear\", function() { return _setDayOfYear_index_js__WEBPACK_IMPORTED_MODULE_138__[\"default\"]; });\n\n/* harmony import */ var _setHours_index_js__WEBPACK_IMPORTED_MODULE_139__ = __webpack_require__(/*! ./setHours/index.js */ \"./node_modules/date-fns/esm/setHours/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setHours\", function() { return _setHours_index_js__WEBPACK_IMPORTED_MODULE_139__[\"default\"]; });\n\n/* harmony import */ var _setISODay_index_js__WEBPACK_IMPORTED_MODULE_140__ = __webpack_require__(/*! ./setISODay/index.js */ \"./node_modules/date-fns/esm/setISODay/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setISODay\", function() { return _setISODay_index_js__WEBPACK_IMPORTED_MODULE_140__[\"default\"]; });\n\n/* harmony import */ var _setISOWeek_index_js__WEBPACK_IMPORTED_MODULE_141__ = __webpack_require__(/*! ./setISOWeek/index.js */ \"./node_modules/date-fns/esm/setISOWeek/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setISOWeek\", function() { return _setISOWeek_index_js__WEBPACK_IMPORTED_MODULE_141__[\"default\"]; });\n\n/* harmony import */ var _setISOWeekYear_index_js__WEBPACK_IMPORTED_MODULE_142__ = __webpack_require__(/*! ./setISOWeekYear/index.js */ \"./node_modules/date-fns/esm/setISOWeekYear/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setISOWeekYear\", function() { return _setISOWeekYear_index_js__WEBPACK_IMPORTED_MODULE_142__[\"default\"]; });\n\n/* harmony import */ var _setMilliseconds_index_js__WEBPACK_IMPORTED_MODULE_143__ = __webpack_require__(/*! ./setMilliseconds/index.js */ \"./node_modules/date-fns/esm/setMilliseconds/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setMilliseconds\", function() { return _setMilliseconds_index_js__WEBPACK_IMPORTED_MODULE_143__[\"default\"]; });\n\n/* harmony import */ var _setMinutes_index_js__WEBPACK_IMPORTED_MODULE_144__ = __webpack_require__(/*! ./setMinutes/index.js */ \"./node_modules/date-fns/esm/setMinutes/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setMinutes\", function() { return _setMinutes_index_js__WEBPACK_IMPORTED_MODULE_144__[\"default\"]; });\n\n/* harmony import */ var _setMonth_index_js__WEBPACK_IMPORTED_MODULE_145__ = __webpack_require__(/*! ./setMonth/index.js */ \"./node_modules/date-fns/esm/setMonth/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setMonth\", function() { return _setMonth_index_js__WEBPACK_IMPORTED_MODULE_145__[\"default\"]; });\n\n/* harmony import */ var _setQuarter_index_js__WEBPACK_IMPORTED_MODULE_146__ = __webpack_require__(/*! ./setQuarter/index.js */ \"./node_modules/date-fns/esm/setQuarter/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setQuarter\", function() { return _setQuarter_index_js__WEBPACK_IMPORTED_MODULE_146__[\"default\"]; });\n\n/* harmony import */ var _setSeconds_index_js__WEBPACK_IMPORTED_MODULE_147__ = __webpack_require__(/*! ./setSeconds/index.js */ \"./node_modules/date-fns/esm/setSeconds/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setSeconds\", function() { return _setSeconds_index_js__WEBPACK_IMPORTED_MODULE_147__[\"default\"]; });\n\n/* harmony import */ var _setWeek_index_js__WEBPACK_IMPORTED_MODULE_148__ = __webpack_require__(/*! ./setWeek/index.js */ \"./node_modules/date-fns/esm/setWeek/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setWeek\", function() { return _setWeek_index_js__WEBPACK_IMPORTED_MODULE_148__[\"default\"]; });\n\n/* harmony import */ var _setWeekYear_index_js__WEBPACK_IMPORTED_MODULE_149__ = __webpack_require__(/*! ./setWeekYear/index.js */ \"./node_modules/date-fns/esm/setWeekYear/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setWeekYear\", function() { return _setWeekYear_index_js__WEBPACK_IMPORTED_MODULE_149__[\"default\"]; });\n\n/* harmony import */ var _setYear_index_js__WEBPACK_IMPORTED_MODULE_150__ = __webpack_require__(/*! ./setYear/index.js */ \"./node_modules/date-fns/esm/setYear/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setYear\", function() { return _setYear_index_js__WEBPACK_IMPORTED_MODULE_150__[\"default\"]; });\n\n/* harmony import */ var _startOfDay_index_js__WEBPACK_IMPORTED_MODULE_151__ = __webpack_require__(/*! ./startOfDay/index.js */ \"./node_modules/date-fns/esm/startOfDay/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"startOfDay\", function() { return _startOfDay_index_js__WEBPACK_IMPORTED_MODULE_151__[\"default\"]; });\n\n/* harmony import */ var _startOfDecade_index_js__WEBPACK_IMPORTED_MODULE_152__ = __webpack_require__(/*! ./startOfDecade/index.js */ \"./node_modules/date-fns/esm/startOfDecade/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"startOfDecade\", function() { return _startOfDecade_index_js__WEBPACK_IMPORTED_MODULE_152__[\"default\"]; });\n\n/* harmony import */ var _startOfHour_index_js__WEBPACK_IMPORTED_MODULE_153__ = __webpack_require__(/*! ./startOfHour/index.js */ \"./node_modules/date-fns/esm/startOfHour/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"startOfHour\", function() { return _startOfHour_index_js__WEBPACK_IMPORTED_MODULE_153__[\"default\"]; });\n\n/* harmony import */ var _startOfISOWeek_index_js__WEBPACK_IMPORTED_MODULE_154__ = __webpack_require__(/*! ./startOfISOWeek/index.js */ \"./node_modules/date-fns/esm/startOfISOWeek/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"startOfISOWeek\", function() { return _startOfISOWeek_index_js__WEBPACK_IMPORTED_MODULE_154__[\"default\"]; });\n\n/* harmony import */ var _startOfISOWeekYear_index_js__WEBPACK_IMPORTED_MODULE_155__ = __webpack_require__(/*! ./startOfISOWeekYear/index.js */ \"./node_modules/date-fns/esm/startOfISOWeekYear/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"startOfISOWeekYear\", function() { return _startOfISOWeekYear_index_js__WEBPACK_IMPORTED_MODULE_155__[\"default\"]; });\n\n/* harmony import */ var _startOfMinute_index_js__WEBPACK_IMPORTED_MODULE_156__ = __webpack_require__(/*! ./startOfMinute/index.js */ \"./node_modules/date-fns/esm/startOfMinute/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"startOfMinute\", function() { return _startOfMinute_index_js__WEBPACK_IMPORTED_MODULE_156__[\"default\"]; });\n\n/* harmony import */ var _startOfMonth_index_js__WEBPACK_IMPORTED_MODULE_157__ = __webpack_require__(/*! ./startOfMonth/index.js */ \"./node_modules/date-fns/esm/startOfMonth/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"startOfMonth\", function() { return _startOfMonth_index_js__WEBPACK_IMPORTED_MODULE_157__[\"default\"]; });\n\n/* harmony import */ var _startOfQuarter_index_js__WEBPACK_IMPORTED_MODULE_158__ = __webpack_require__(/*! ./startOfQuarter/index.js */ \"./node_modules/date-fns/esm/startOfQuarter/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"startOfQuarter\", function() { return _startOfQuarter_index_js__WEBPACK_IMPORTED_MODULE_158__[\"default\"]; });\n\n/* harmony import */ var _startOfSecond_index_js__WEBPACK_IMPORTED_MODULE_159__ = __webpack_require__(/*! ./startOfSecond/index.js */ \"./node_modules/date-fns/esm/startOfSecond/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"startOfSecond\", function() { return _startOfSecond_index_js__WEBPACK_IMPORTED_MODULE_159__[\"default\"]; });\n\n/* harmony import */ var _startOfToday_index_js__WEBPACK_IMPORTED_MODULE_160__ = __webpack_require__(/*! ./startOfToday/index.js */ \"./node_modules/date-fns/esm/startOfToday/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"startOfToday\", function() { return _startOfToday_index_js__WEBPACK_IMPORTED_MODULE_160__[\"default\"]; });\n\n/* harmony import */ var _startOfTomorrow_index_js__WEBPACK_IMPORTED_MODULE_161__ = __webpack_require__(/*! ./startOfTomorrow/index.js */ \"./node_modules/date-fns/esm/startOfTomorrow/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"startOfTomorrow\", function() { return _startOfTomorrow_index_js__WEBPACK_IMPORTED_MODULE_161__[\"default\"]; });\n\n/* harmony import */ var _startOfWeek_index_js__WEBPACK_IMPORTED_MODULE_162__ = __webpack_require__(/*! ./startOfWeek/index.js */ \"./node_modules/date-fns/esm/startOfWeek/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"startOfWeek\", function() { return _startOfWeek_index_js__WEBPACK_IMPORTED_MODULE_162__[\"default\"]; });\n\n/* harmony import */ var _startOfWeekYear_index_js__WEBPACK_IMPORTED_MODULE_163__ = __webpack_require__(/*! ./startOfWeekYear/index.js */ \"./node_modules/date-fns/esm/startOfWeekYear/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"startOfWeekYear\", function() { return _startOfWeekYear_index_js__WEBPACK_IMPORTED_MODULE_163__[\"default\"]; });\n\n/* harmony import */ var _startOfYear_index_js__WEBPACK_IMPORTED_MODULE_164__ = __webpack_require__(/*! ./startOfYear/index.js */ \"./node_modules/date-fns/esm/startOfYear/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"startOfYear\", function() { return _startOfYear_index_js__WEBPACK_IMPORTED_MODULE_164__[\"default\"]; });\n\n/* harmony import */ var _startOfYesterday_index_js__WEBPACK_IMPORTED_MODULE_165__ = __webpack_require__(/*! ./startOfYesterday/index.js */ \"./node_modules/date-fns/esm/startOfYesterday/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"startOfYesterday\", function() { return _startOfYesterday_index_js__WEBPACK_IMPORTED_MODULE_165__[\"default\"]; });\n\n/* harmony import */ var _subDays_index_js__WEBPACK_IMPORTED_MODULE_166__ = __webpack_require__(/*! ./subDays/index.js */ \"./node_modules/date-fns/esm/subDays/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"subDays\", function() { return _subDays_index_js__WEBPACK_IMPORTED_MODULE_166__[\"default\"]; });\n\n/* harmony import */ var _subHours_index_js__WEBPACK_IMPORTED_MODULE_167__ = __webpack_require__(/*! ./subHours/index.js */ \"./node_modules/date-fns/esm/subHours/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"subHours\", function() { return _subHours_index_js__WEBPACK_IMPORTED_MODULE_167__[\"default\"]; });\n\n/* harmony import */ var _subISOWeekYears_index_js__WEBPACK_IMPORTED_MODULE_168__ = __webpack_require__(/*! ./subISOWeekYears/index.js */ \"./node_modules/date-fns/esm/subISOWeekYears/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"subISOWeekYears\", function() { return _subISOWeekYears_index_js__WEBPACK_IMPORTED_MODULE_168__[\"default\"]; });\n\n/* harmony import */ var _subMilliseconds_index_js__WEBPACK_IMPORTED_MODULE_169__ = __webpack_require__(/*! ./subMilliseconds/index.js */ \"./node_modules/date-fns/esm/subMilliseconds/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"subMilliseconds\", function() { return _subMilliseconds_index_js__WEBPACK_IMPORTED_MODULE_169__[\"default\"]; });\n\n/* harmony import */ var _subMinutes_index_js__WEBPACK_IMPORTED_MODULE_170__ = __webpack_require__(/*! ./subMinutes/index.js */ \"./node_modules/date-fns/esm/subMinutes/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"subMinutes\", function() { return _subMinutes_index_js__WEBPACK_IMPORTED_MODULE_170__[\"default\"]; });\n\n/* harmony import */ var _subMonths_index_js__WEBPACK_IMPORTED_MODULE_171__ = __webpack_require__(/*! ./subMonths/index.js */ \"./node_modules/date-fns/esm/subMonths/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"subMonths\", function() { return _subMonths_index_js__WEBPACK_IMPORTED_MODULE_171__[\"default\"]; });\n\n/* harmony import */ var _subQuarters_index_js__WEBPACK_IMPORTED_MODULE_172__ = __webpack_require__(/*! ./subQuarters/index.js */ \"./node_modules/date-fns/esm/subQuarters/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"subQuarters\", function() { return _subQuarters_index_js__WEBPACK_IMPORTED_MODULE_172__[\"default\"]; });\n\n/* harmony import */ var _subSeconds_index_js__WEBPACK_IMPORTED_MODULE_173__ = __webpack_require__(/*! ./subSeconds/index.js */ \"./node_modules/date-fns/esm/subSeconds/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"subSeconds\", function() { return _subSeconds_index_js__WEBPACK_IMPORTED_MODULE_173__[\"default\"]; });\n\n/* harmony import */ var _subWeeks_index_js__WEBPACK_IMPORTED_MODULE_174__ = __webpack_require__(/*! ./subWeeks/index.js */ \"./node_modules/date-fns/esm/subWeeks/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"subWeeks\", function() { return _subWeeks_index_js__WEBPACK_IMPORTED_MODULE_174__[\"default\"]; });\n\n/* harmony import */ var _subYears_index_js__WEBPACK_IMPORTED_MODULE_175__ = __webpack_require__(/*! ./subYears/index.js */ \"./node_modules/date-fns/esm/subYears/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"subYears\", function() { return _subYears_index_js__WEBPACK_IMPORTED_MODULE_175__[\"default\"]; });\n\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_176__ = __webpack_require__(/*! ./toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toDate\", function() { return _toDate_index_js__WEBPACK_IMPORTED_MODULE_176__[\"default\"]; });\n\n/* harmony import */ var _constants_index_js__WEBPACK_IMPORTED_MODULE_177__ = __webpack_require__(/*! ./constants/index.js */ \"./node_modules/date-fns/esm/constants/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"maxTime\", function() { return _constants_index_js__WEBPACK_IMPORTED_MODULE_177__[\"maxTime\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"minTime\", function() { return _constants_index_js__WEBPACK_IMPORTED_MODULE_177__[\"minTime\"]; });\n\n// This file is generated automatically by `scripts/build/indices.js`. Please, don't change it.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2VzbS9pbmRleC5qcz82ZmY0Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIFRoaXMgZmlsZSBpcyBnZW5lcmF0ZWQgYXV0b21hdGljYWxseSBieSBgc2NyaXB0cy9idWlsZC9pbmRpY2VzLmpzYC4gUGxlYXNlLCBkb24ndCBjaGFuZ2UgaXQuXG5leHBvcnQgeyBkZWZhdWx0IGFzIGFkZEJ1c2luZXNzRGF5cyB9IGZyb20gJy4vYWRkQnVzaW5lc3NEYXlzL2luZGV4LmpzJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgYWRkRGF5cyB9IGZyb20gJy4vYWRkRGF5cy9pbmRleC5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGFkZEhvdXJzIH0gZnJvbSAnLi9hZGRIb3Vycy9pbmRleC5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGFkZElTT1dlZWtZZWFycyB9IGZyb20gJy4vYWRkSVNPV2Vla1llYXJzL2luZGV4LmpzJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgYWRkTWlsbGlzZWNvbmRzIH0gZnJvbSAnLi9hZGRNaWxsaXNlY29uZHMvaW5kZXguanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBhZGRNaW51dGVzIH0gZnJvbSAnLi9hZGRNaW51dGVzL2luZGV4LmpzJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgYWRkTW9udGhzIH0gZnJvbSAnLi9hZGRNb250aHMvaW5kZXguanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBhZGRRdWFydGVycyB9IGZyb20gJy4vYWRkUXVhcnRlcnMvaW5kZXguanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBhZGRTZWNvbmRzIH0gZnJvbSAnLi9hZGRTZWNvbmRzL2luZGV4LmpzJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgYWRkV2Vla3MgfSBmcm9tICcuL2FkZFdlZWtzL2luZGV4LmpzJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgYWRkWWVhcnMgfSBmcm9tICcuL2FkZFllYXJzL2luZGV4LmpzJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgYXJlSW50ZXJ2YWxzT3ZlcmxhcHBpbmcgfSBmcm9tICcuL2FyZUludGVydmFsc092ZXJsYXBwaW5nL2luZGV4LmpzJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgY2xvc2VzdEluZGV4VG8gfSBmcm9tICcuL2Nsb3Nlc3RJbmRleFRvL2luZGV4LmpzJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgY2xvc2VzdFRvIH0gZnJvbSAnLi9jbG9zZXN0VG8vaW5kZXguanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBjb21wYXJlQXNjIH0gZnJvbSAnLi9jb21wYXJlQXNjL2luZGV4LmpzJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgY29tcGFyZURlc2MgfSBmcm9tICcuL2NvbXBhcmVEZXNjL2luZGV4LmpzJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgZGlmZmVyZW5jZUluQnVzaW5lc3NEYXlzIH0gZnJvbSAnLi9kaWZmZXJlbmNlSW5CdXNpbmVzc0RheXMvaW5kZXguanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBkaWZmZXJlbmNlSW5DYWxlbmRhckRheXMgfSBmcm9tICcuL2RpZmZlcmVuY2VJbkNhbGVuZGFyRGF5cy9pbmRleC5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGRpZmZlcmVuY2VJbkNhbGVuZGFySVNPV2Vla1llYXJzIH0gZnJvbSAnLi9kaWZmZXJlbmNlSW5DYWxlbmRhcklTT1dlZWtZZWFycy9pbmRleC5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGRpZmZlcmVuY2VJbkNhbGVuZGFySVNPV2Vla3MgfSBmcm9tICcuL2RpZmZlcmVuY2VJbkNhbGVuZGFySVNPV2Vla3MvaW5kZXguanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBkaWZmZXJlbmNlSW5DYWxlbmRhck1vbnRocyB9IGZyb20gJy4vZGlmZmVyZW5jZUluQ2FsZW5kYXJNb250aHMvaW5kZXguanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBkaWZmZXJlbmNlSW5DYWxlbmRhclF1YXJ0ZXJzIH0gZnJvbSAnLi9kaWZmZXJlbmNlSW5DYWxlbmRhclF1YXJ0ZXJzL2luZGV4LmpzJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgZGlmZmVyZW5jZUluQ2FsZW5kYXJXZWVrcyB9IGZyb20gJy4vZGlmZmVyZW5jZUluQ2FsZW5kYXJXZWVrcy9pbmRleC5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGRpZmZlcmVuY2VJbkNhbGVuZGFyWWVhcnMgfSBmcm9tICcuL2RpZmZlcmVuY2VJbkNhbGVuZGFyWWVhcnMvaW5kZXguanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBkaWZmZXJlbmNlSW5EYXlzIH0gZnJvbSAnLi9kaWZmZXJlbmNlSW5EYXlzL2luZGV4LmpzJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgZGlmZmVyZW5jZUluSG91cnMgfSBmcm9tICcuL2RpZmZlcmVuY2VJbkhvdXJzL2luZGV4LmpzJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgZGlmZmVyZW5jZUluSVNPV2Vla1llYXJzIH0gZnJvbSAnLi9kaWZmZXJlbmNlSW5JU09XZWVrWWVhcnMvaW5kZXguanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBkaWZmZXJlbmNlSW5NaWxsaXNlY29uZHMgfSBmcm9tICcuL2RpZmZlcmVuY2VJbk1pbGxpc2Vjb25kcy9pbmRleC5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGRpZmZlcmVuY2VJbk1pbnV0ZXMgfSBmcm9tICcuL2RpZmZlcmVuY2VJbk1pbnV0ZXMvaW5kZXguanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBkaWZmZXJlbmNlSW5Nb250aHMgfSBmcm9tICcuL2RpZmZlcmVuY2VJbk1vbnRocy9pbmRleC5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGRpZmZlcmVuY2VJblF1YXJ0ZXJzIH0gZnJvbSAnLi9kaWZmZXJlbmNlSW5RdWFydGVycy9pbmRleC5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGRpZmZlcmVuY2VJblNlY29uZHMgfSBmcm9tICcuL2RpZmZlcmVuY2VJblNlY29uZHMvaW5kZXguanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBkaWZmZXJlbmNlSW5XZWVrcyB9IGZyb20gJy4vZGlmZmVyZW5jZUluV2Vla3MvaW5kZXguanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBkaWZmZXJlbmNlSW5ZZWFycyB9IGZyb20gJy4vZGlmZmVyZW5jZUluWWVhcnMvaW5kZXguanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBlYWNoRGF5T2ZJbnRlcnZhbCB9IGZyb20gJy4vZWFjaERheU9mSW50ZXJ2YWwvaW5kZXguanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBlYWNoV2Vla09mSW50ZXJ2YWwgfSBmcm9tICcuL2VhY2hXZWVrT2ZJbnRlcnZhbC9pbmRleC5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGVhY2hXZWVrZW5kT2ZJbnRlcnZhbCB9IGZyb20gJy4vZWFjaFdlZWtlbmRPZkludGVydmFsL2luZGV4LmpzJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgZWFjaFdlZWtlbmRPZk1vbnRoIH0gZnJvbSAnLi9lYWNoV2Vla2VuZE9mTW9udGgvaW5kZXguanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBlYWNoV2Vla2VuZE9mWWVhciB9IGZyb20gJy4vZWFjaFdlZWtlbmRPZlllYXIvaW5kZXguanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBlbmRPZkRheSB9IGZyb20gJy4vZW5kT2ZEYXkvaW5kZXguanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBlbmRPZkRlY2FkZSB9IGZyb20gJy4vZW5kT2ZEZWNhZGUvaW5kZXguanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBlbmRPZkhvdXIgfSBmcm9tICcuL2VuZE9mSG91ci9pbmRleC5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGVuZE9mSVNPV2VlayB9IGZyb20gJy4vZW5kT2ZJU09XZWVrL2luZGV4LmpzJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgZW5kT2ZJU09XZWVrWWVhciB9IGZyb20gJy4vZW5kT2ZJU09XZWVrWWVhci9pbmRleC5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGVuZE9mTWludXRlIH0gZnJvbSAnLi9lbmRPZk1pbnV0ZS9pbmRleC5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGVuZE9mTW9udGggfSBmcm9tICcuL2VuZE9mTW9udGgvaW5kZXguanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBlbmRPZlF1YXJ0ZXIgfSBmcm9tICcuL2VuZE9mUXVhcnRlci9pbmRleC5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGVuZE9mU2Vjb25kIH0gZnJvbSAnLi9lbmRPZlNlY29uZC9pbmRleC5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGVuZE9mVG9kYXkgfSBmcm9tICcuL2VuZE9mVG9kYXkvaW5kZXguanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBlbmRPZlRvbW9ycm93IH0gZnJvbSAnLi9lbmRPZlRvbW9ycm93L2luZGV4LmpzJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgZW5kT2ZXZWVrIH0gZnJvbSAnLi9lbmRPZldlZWsvaW5kZXguanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBlbmRPZlllYXIgfSBmcm9tICcuL2VuZE9mWWVhci9pbmRleC5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGVuZE9mWWVzdGVyZGF5IH0gZnJvbSAnLi9lbmRPZlllc3RlcmRheS9pbmRleC5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGZvcm1hdCB9IGZyb20gJy4vZm9ybWF0L2luZGV4LmpzJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgZm9ybWF0RGlzdGFuY2UgfSBmcm9tICcuL2Zvcm1hdERpc3RhbmNlL2luZGV4LmpzJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgZm9ybWF0RGlzdGFuY2VTdHJpY3QgfSBmcm9tICcuL2Zvcm1hdERpc3RhbmNlU3RyaWN0L2luZGV4LmpzJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgZm9ybWF0RGlzdGFuY2VUb05vdyB9IGZyb20gJy4vZm9ybWF0RGlzdGFuY2VUb05vdy9pbmRleC5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGZvcm1hdFJlbGF0aXZlIH0gZnJvbSAnLi9mb3JtYXRSZWxhdGl2ZS9pbmRleC5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGZyb21Vbml4VGltZSB9IGZyb20gJy4vZnJvbVVuaXhUaW1lL2luZGV4LmpzJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgZ2V0RGF0ZSB9IGZyb20gJy4vZ2V0RGF0ZS9pbmRleC5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGdldERheSB9IGZyb20gJy4vZ2V0RGF5L2luZGV4LmpzJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgZ2V0RGF5T2ZZZWFyIH0gZnJvbSAnLi9nZXREYXlPZlllYXIvaW5kZXguanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBnZXREYXlzSW5Nb250aCB9IGZyb20gJy4vZ2V0RGF5c0luTW9udGgvaW5kZXguanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBnZXREYXlzSW5ZZWFyIH0gZnJvbSAnLi9nZXREYXlzSW5ZZWFyL2luZGV4LmpzJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgZ2V0RGVjYWRlIH0gZnJvbSAnLi9nZXREZWNhZGUvaW5kZXguanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBnZXRIb3VycyB9IGZyb20gJy4vZ2V0SG91cnMvaW5kZXguanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBnZXRJU09EYXkgfSBmcm9tICcuL2dldElTT0RheS9pbmRleC5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGdldElTT1dlZWsgfSBmcm9tICcuL2dldElTT1dlZWsvaW5kZXguanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBnZXRJU09XZWVrWWVhciB9IGZyb20gJy4vZ2V0SVNPV2Vla1llYXIvaW5kZXguanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBnZXRJU09XZWVrc0luWWVhciB9IGZyb20gJy4vZ2V0SVNPV2Vla3NJblllYXIvaW5kZXguanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBnZXRNaWxsaXNlY29uZHMgfSBmcm9tICcuL2dldE1pbGxpc2Vjb25kcy9pbmRleC5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGdldE1pbnV0ZXMgfSBmcm9tICcuL2dldE1pbnV0ZXMvaW5kZXguanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBnZXRNb250aCB9IGZyb20gJy4vZ2V0TW9udGgvaW5kZXguanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBnZXRPdmVybGFwcGluZ0RheXNJbkludGVydmFscyB9IGZyb20gJy4vZ2V0T3ZlcmxhcHBpbmdEYXlzSW5JbnRlcnZhbHMvaW5kZXguanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBnZXRRdWFydGVyIH0gZnJvbSAnLi9nZXRRdWFydGVyL2luZGV4LmpzJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgZ2V0U2Vjb25kcyB9IGZyb20gJy4vZ2V0U2Vjb25kcy9pbmRleC5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGdldFRpbWUgfSBmcm9tICcuL2dldFRpbWUvaW5kZXguanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBnZXRVbml4VGltZSB9IGZyb20gJy4vZ2V0VW5peFRpbWUvaW5kZXguanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBnZXRXZWVrIH0gZnJvbSAnLi9nZXRXZWVrL2luZGV4LmpzJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgZ2V0V2Vla09mTW9udGggfSBmcm9tICcuL2dldFdlZWtPZk1vbnRoL2luZGV4LmpzJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgZ2V0V2Vla1llYXIgfSBmcm9tICcuL2dldFdlZWtZZWFyL2luZGV4LmpzJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgZ2V0V2Vla3NJbk1vbnRoIH0gZnJvbSAnLi9nZXRXZWVrc0luTW9udGgvaW5kZXguanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBnZXRZZWFyIH0gZnJvbSAnLi9nZXRZZWFyL2luZGV4LmpzJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgaXNBZnRlciB9IGZyb20gJy4vaXNBZnRlci9pbmRleC5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGlzQmVmb3JlIH0gZnJvbSAnLi9pc0JlZm9yZS9pbmRleC5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGlzRGF0ZSB9IGZyb20gJy4vaXNEYXRlL2luZGV4LmpzJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgaXNFcXVhbCB9IGZyb20gJy4vaXNFcXVhbC9pbmRleC5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGlzRmlyc3REYXlPZk1vbnRoIH0gZnJvbSAnLi9pc0ZpcnN0RGF5T2ZNb250aC9pbmRleC5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGlzRnJpZGF5IH0gZnJvbSAnLi9pc0ZyaWRheS9pbmRleC5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGlzRnV0dXJlIH0gZnJvbSAnLi9pc0Z1dHVyZS9pbmRleC5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGlzTGFzdERheU9mTW9udGggfSBmcm9tICcuL2lzTGFzdERheU9mTW9udGgvaW5kZXguanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBpc0xlYXBZZWFyIH0gZnJvbSAnLi9pc0xlYXBZZWFyL2luZGV4LmpzJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgaXNNb25kYXkgfSBmcm9tICcuL2lzTW9uZGF5L2luZGV4LmpzJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgaXNQYXN0IH0gZnJvbSAnLi9pc1Bhc3QvaW5kZXguanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBpc1NhbWVEYXkgfSBmcm9tICcuL2lzU2FtZURheS9pbmRleC5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGlzU2FtZUhvdXIgfSBmcm9tICcuL2lzU2FtZUhvdXIvaW5kZXguanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBpc1NhbWVJU09XZWVrIH0gZnJvbSAnLi9pc1NhbWVJU09XZWVrL2luZGV4LmpzJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgaXNTYW1lSVNPV2Vla1llYXIgfSBmcm9tICcuL2lzU2FtZUlTT1dlZWtZZWFyL2luZGV4LmpzJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgaXNTYW1lTWludXRlIH0gZnJvbSAnLi9pc1NhbWVNaW51dGUvaW5kZXguanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBpc1NhbWVNb250aCB9IGZyb20gJy4vaXNTYW1lTW9udGgvaW5kZXguanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBpc1NhbWVRdWFydGVyIH0gZnJvbSAnLi9pc1NhbWVRdWFydGVyL2luZGV4LmpzJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgaXNTYW1lU2Vjb25kIH0gZnJvbSAnLi9pc1NhbWVTZWNvbmQvaW5kZXguanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBpc1NhbWVXZWVrIH0gZnJvbSAnLi9pc1NhbWVXZWVrL2luZGV4LmpzJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgaXNTYW1lWWVhciB9IGZyb20gJy4vaXNTYW1lWWVhci9pbmRleC5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGlzU2F0dXJkYXkgfSBmcm9tICcuL2lzU2F0dXJkYXkvaW5kZXguanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBpc1N1bmRheSB9IGZyb20gJy4vaXNTdW5kYXkvaW5kZXguanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBpc1RoaXNIb3VyIH0gZnJvbSAnLi9pc1RoaXNIb3VyL2luZGV4LmpzJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgaXNUaGlzSVNPV2VlayB9IGZyb20gJy4vaXNUaGlzSVNPV2Vlay9pbmRleC5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGlzVGhpc01pbnV0ZSB9IGZyb20gJy4vaXNUaGlzTWludXRlL2luZGV4LmpzJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgaXNUaGlzTW9udGggfSBmcm9tICcuL2lzVGhpc01vbnRoL2luZGV4LmpzJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgaXNUaGlzUXVhcnRlciB9IGZyb20gJy4vaXNUaGlzUXVhcnRlci9pbmRleC5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGlzVGhpc1NlY29uZCB9IGZyb20gJy4vaXNUaGlzU2Vjb25kL2luZGV4LmpzJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgaXNUaGlzV2VlayB9IGZyb20gJy4vaXNUaGlzV2Vlay9pbmRleC5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGlzVGhpc1llYXIgfSBmcm9tICcuL2lzVGhpc1llYXIvaW5kZXguanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBpc1RodXJzZGF5IH0gZnJvbSAnLi9pc1RodXJzZGF5L2luZGV4LmpzJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgaXNUb2RheSB9IGZyb20gJy4vaXNUb2RheS9pbmRleC5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGlzVG9tb3Jyb3cgfSBmcm9tICcuL2lzVG9tb3Jyb3cvaW5kZXguanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBpc1R1ZXNkYXkgfSBmcm9tICcuL2lzVHVlc2RheS9pbmRleC5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGlzVmFsaWQgfSBmcm9tICcuL2lzVmFsaWQvaW5kZXguanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBpc1dlZG5lc2RheSB9IGZyb20gJy4vaXNXZWRuZXNkYXkvaW5kZXguanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBpc1dlZWtlbmQgfSBmcm9tICcuL2lzV2Vla2VuZC9pbmRleC5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGlzV2l0aGluSW50ZXJ2YWwgfSBmcm9tICcuL2lzV2l0aGluSW50ZXJ2YWwvaW5kZXguanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBpc1llc3RlcmRheSB9IGZyb20gJy4vaXNZZXN0ZXJkYXkvaW5kZXguanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBsYXN0RGF5T2ZEZWNhZGUgfSBmcm9tICcuL2xhc3REYXlPZkRlY2FkZS9pbmRleC5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGxhc3REYXlPZklTT1dlZWsgfSBmcm9tICcuL2xhc3REYXlPZklTT1dlZWsvaW5kZXguanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBsYXN0RGF5T2ZJU09XZWVrWWVhciB9IGZyb20gJy4vbGFzdERheU9mSVNPV2Vla1llYXIvaW5kZXguanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBsYXN0RGF5T2ZNb250aCB9IGZyb20gJy4vbGFzdERheU9mTW9udGgvaW5kZXguanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBsYXN0RGF5T2ZRdWFydGVyIH0gZnJvbSAnLi9sYXN0RGF5T2ZRdWFydGVyL2luZGV4LmpzJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgbGFzdERheU9mV2VlayB9IGZyb20gJy4vbGFzdERheU9mV2Vlay9pbmRleC5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGxhc3REYXlPZlllYXIgfSBmcm9tICcuL2xhc3REYXlPZlllYXIvaW5kZXguanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBsaWdodEZvcm1hdCB9IGZyb20gJy4vbGlnaHRGb3JtYXQvaW5kZXguanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBtYXggfSBmcm9tICcuL21heC9pbmRleC5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIG1pbiB9IGZyb20gJy4vbWluL2luZGV4LmpzJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgcGFyc2UgfSBmcm9tICcuL3BhcnNlL2luZGV4LmpzJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgcGFyc2VJU08gfSBmcm9tICcuL3BhcnNlSVNPL2luZGV4LmpzJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgcm91bmRUb05lYXJlc3RNaW51dGVzIH0gZnJvbSAnLi9yb3VuZFRvTmVhcmVzdE1pbnV0ZXMvaW5kZXguanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBzZXREYXRlIH0gZnJvbSAnLi9zZXREYXRlL2luZGV4LmpzJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgc2V0RGF5IH0gZnJvbSAnLi9zZXREYXkvaW5kZXguanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBzZXREYXlPZlllYXIgfSBmcm9tICcuL3NldERheU9mWWVhci9pbmRleC5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIHNldEhvdXJzIH0gZnJvbSAnLi9zZXRIb3Vycy9pbmRleC5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIHNldElTT0RheSB9IGZyb20gJy4vc2V0SVNPRGF5L2luZGV4LmpzJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgc2V0SVNPV2VlayB9IGZyb20gJy4vc2V0SVNPV2Vlay9pbmRleC5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIHNldElTT1dlZWtZZWFyIH0gZnJvbSAnLi9zZXRJU09XZWVrWWVhci9pbmRleC5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIHNldE1pbGxpc2Vjb25kcyB9IGZyb20gJy4vc2V0TWlsbGlzZWNvbmRzL2luZGV4LmpzJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgc2V0TWludXRlcyB9IGZyb20gJy4vc2V0TWludXRlcy9pbmRleC5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIHNldE1vbnRoIH0gZnJvbSAnLi9zZXRNb250aC9pbmRleC5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIHNldFF1YXJ0ZXIgfSBmcm9tICcuL3NldFF1YXJ0ZXIvaW5kZXguanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBzZXRTZWNvbmRzIH0gZnJvbSAnLi9zZXRTZWNvbmRzL2luZGV4LmpzJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgc2V0V2VlayB9IGZyb20gJy4vc2V0V2Vlay9pbmRleC5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIHNldFdlZWtZZWFyIH0gZnJvbSAnLi9zZXRXZWVrWWVhci9pbmRleC5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIHNldFllYXIgfSBmcm9tICcuL3NldFllYXIvaW5kZXguanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBzdGFydE9mRGF5IH0gZnJvbSAnLi9zdGFydE9mRGF5L2luZGV4LmpzJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgc3RhcnRPZkRlY2FkZSB9IGZyb20gJy4vc3RhcnRPZkRlY2FkZS9pbmRleC5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIHN0YXJ0T2ZIb3VyIH0gZnJvbSAnLi9zdGFydE9mSG91ci9pbmRleC5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIHN0YXJ0T2ZJU09XZWVrIH0gZnJvbSAnLi9zdGFydE9mSVNPV2Vlay9pbmRleC5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIHN0YXJ0T2ZJU09XZWVrWWVhciB9IGZyb20gJy4vc3RhcnRPZklTT1dlZWtZZWFyL2luZGV4LmpzJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgc3RhcnRPZk1pbnV0ZSB9IGZyb20gJy4vc3RhcnRPZk1pbnV0ZS9pbmRleC5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIHN0YXJ0T2ZNb250aCB9IGZyb20gJy4vc3RhcnRPZk1vbnRoL2luZGV4LmpzJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgc3RhcnRPZlF1YXJ0ZXIgfSBmcm9tICcuL3N0YXJ0T2ZRdWFydGVyL2luZGV4LmpzJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgc3RhcnRPZlNlY29uZCB9IGZyb20gJy4vc3RhcnRPZlNlY29uZC9pbmRleC5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIHN0YXJ0T2ZUb2RheSB9IGZyb20gJy4vc3RhcnRPZlRvZGF5L2luZGV4LmpzJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgc3RhcnRPZlRvbW9ycm93IH0gZnJvbSAnLi9zdGFydE9mVG9tb3Jyb3cvaW5kZXguanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBzdGFydE9mV2VlayB9IGZyb20gJy4vc3RhcnRPZldlZWsvaW5kZXguanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBzdGFydE9mV2Vla1llYXIgfSBmcm9tICcuL3N0YXJ0T2ZXZWVrWWVhci9pbmRleC5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIHN0YXJ0T2ZZZWFyIH0gZnJvbSAnLi9zdGFydE9mWWVhci9pbmRleC5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIHN0YXJ0T2ZZZXN0ZXJkYXkgfSBmcm9tICcuL3N0YXJ0T2ZZZXN0ZXJkYXkvaW5kZXguanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBzdWJEYXlzIH0gZnJvbSAnLi9zdWJEYXlzL2luZGV4LmpzJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgc3ViSG91cnMgfSBmcm9tICcuL3N1YkhvdXJzL2luZGV4LmpzJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgc3ViSVNPV2Vla1llYXJzIH0gZnJvbSAnLi9zdWJJU09XZWVrWWVhcnMvaW5kZXguanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBzdWJNaWxsaXNlY29uZHMgfSBmcm9tICcuL3N1Yk1pbGxpc2Vjb25kcy9pbmRleC5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIHN1Yk1pbnV0ZXMgfSBmcm9tICcuL3N1Yk1pbnV0ZXMvaW5kZXguanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBzdWJNb250aHMgfSBmcm9tICcuL3N1Yk1vbnRocy9pbmRleC5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIHN1YlF1YXJ0ZXJzIH0gZnJvbSAnLi9zdWJRdWFydGVycy9pbmRleC5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIHN1YlNlY29uZHMgfSBmcm9tICcuL3N1YlNlY29uZHMvaW5kZXguanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBzdWJXZWVrcyB9IGZyb20gJy4vc3ViV2Vla3MvaW5kZXguanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBzdWJZZWFycyB9IGZyb20gJy4vc3ViWWVhcnMvaW5kZXguanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyB0b0RhdGUgfSBmcm9tICcuL3RvRGF0ZS9pbmRleC5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2NvbnN0YW50cy9pbmRleC5qcyc7Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/isAfter/index.js": /*!****************************************************!*\ !*** ./node_modules/date-fns/esm/isAfter/index.js ***! \****************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return isAfter; });\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n\n/**\n * @name isAfter\n * @category Common Helpers\n * @summary Is the first date after the second one?\n *\n * @description\n * Is the first date after the second one?\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date that should be after the other one to return true\n * @param {Date|Number} dateToCompare - the date to compare with\n * @returns {Boolean} the first date is after the second date\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Is 10 July 1989 after 11 February 1987?\n * var result = isAfter(new Date(1989, 6, 10), new Date(1987, 1, 11))\n * //=> true\n */\n\nfunction isAfter(dirtyDate, dirtyDateToCompare) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present');\n }\n\n var date = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate);\n var dateToCompare = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDateToCompare);\n return date.getTime() > dateToCompare.getTime();\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2lzQWZ0ZXIvaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2lzQWZ0ZXIvaW5kZXguanM/MTIxMiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdG9EYXRlIGZyb20gJy4uL3RvRGF0ZS9pbmRleC5qcyc7XG4vKipcbiAqIEBuYW1lIGlzQWZ0ZXJcbiAqIEBjYXRlZ29yeSBDb21tb24gSGVscGVyc1xuICogQHN1bW1hcnkgSXMgdGhlIGZpcnN0IGRhdGUgYWZ0ZXIgdGhlIHNlY29uZCBvbmU/XG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKiBJcyB0aGUgZmlyc3QgZGF0ZSBhZnRlciB0aGUgc2Vjb25kIG9uZT9cbiAqXG4gKiAjIyMgdjIuMC4wIGJyZWFraW5nIGNoYW5nZXM6XG4gKlxuICogLSBbQ2hhbmdlcyB0aGF0IGFyZSBjb21tb24gZm9yIHRoZSB3aG9sZSBsaWJyYXJ5XShodHRwczovL2dpdGh1Yi5jb20vZGF0ZS1mbnMvZGF0ZS1mbnMvYmxvYi9tYXN0ZXIvZG9jcy91cGdyYWRlR3VpZGUubWQjQ29tbW9uLUNoYW5nZXMpLlxuICpcbiAqIEBwYXJhbSB7RGF0ZXxOdW1iZXJ9IGRhdGUgLSB0aGUgZGF0ZSB0aGF0IHNob3VsZCBiZSBhZnRlciB0aGUgb3RoZXIgb25lIHRvIHJldHVybiB0cnVlXG4gKiBAcGFyYW0ge0RhdGV8TnVtYmVyfSBkYXRlVG9Db21wYXJlIC0gdGhlIGRhdGUgdG8gY29tcGFyZSB3aXRoXG4gKiBAcmV0dXJucyB7Qm9vbGVhbn0gdGhlIGZpcnN0IGRhdGUgaXMgYWZ0ZXIgdGhlIHNlY29uZCBkYXRlXG4gKiBAdGhyb3dzIHtUeXBlRXJyb3J9IDIgYXJndW1lbnRzIHJlcXVpcmVkXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIElzIDEwIEp1bHkgMTk4OSBhZnRlciAxMSBGZWJydWFyeSAxOTg3P1xuICogdmFyIHJlc3VsdCA9IGlzQWZ0ZXIobmV3IERhdGUoMTk4OSwgNiwgMTApLCBuZXcgRGF0ZSgxOTg3LCAxLCAxMSkpXG4gKiAvLz0+IHRydWVcbiAqL1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBpc0FmdGVyKGRpcnR5RGF0ZSwgZGlydHlEYXRlVG9Db21wYXJlKSB7XG4gIGlmIChhcmd1bWVudHMubGVuZ3RoIDwgMikge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJzIgYXJndW1lbnRzIHJlcXVpcmVkLCBidXQgb25seSAnICsgYXJndW1lbnRzLmxlbmd0aCArICcgcHJlc2VudCcpO1xuICB9XG5cbiAgdmFyIGRhdGUgPSB0b0RhdGUoZGlydHlEYXRlKTtcbiAgdmFyIGRhdGVUb0NvbXBhcmUgPSB0b0RhdGUoZGlydHlEYXRlVG9Db21wYXJlKTtcbiAgcmV0dXJuIGRhdGUuZ2V0VGltZSgpID4gZGF0ZVRvQ29tcGFyZS5nZXRUaW1lKCk7XG59Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/isAfter/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/isBefore/index.js": /*!*****************************************************!*\ !*** ./node_modules/date-fns/esm/isBefore/index.js ***! \*****************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return isBefore; });\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n\n/**\n * @name isBefore\n * @category Common Helpers\n * @summary Is the first date before the second one?\n *\n * @description\n * Is the first date before the second one?\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date that should be before the other one to return true\n * @param {Date|Number} dateToCompare - the date to compare with\n * @returns {Boolean} the first date is before the second date\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Is 10 July 1989 before 11 February 1987?\n * var result = isBefore(new Date(1989, 6, 10), new Date(1987, 1, 11))\n * //=> false\n */\n\nfunction isBefore(dirtyDate, dirtyDateToCompare) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present');\n }\n\n var date = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate);\n var dateToCompare = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDateToCompare);\n return date.getTime() < dateToCompare.getTime();\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2lzQmVmb3JlL2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2VzbS9pc0JlZm9yZS9pbmRleC5qcz83Njc3Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0b0RhdGUgZnJvbSAnLi4vdG9EYXRlL2luZGV4LmpzJztcbi8qKlxuICogQG5hbWUgaXNCZWZvcmVcbiAqIEBjYXRlZ29yeSBDb21tb24gSGVscGVyc1xuICogQHN1bW1hcnkgSXMgdGhlIGZpcnN0IGRhdGUgYmVmb3JlIHRoZSBzZWNvbmQgb25lP1xuICpcbiAqIEBkZXNjcmlwdGlvblxuICogSXMgdGhlIGZpcnN0IGRhdGUgYmVmb3JlIHRoZSBzZWNvbmQgb25lP1xuICpcbiAqICMjIyB2Mi4wLjAgYnJlYWtpbmcgY2hhbmdlczpcbiAqXG4gKiAtIFtDaGFuZ2VzIHRoYXQgYXJlIGNvbW1vbiBmb3IgdGhlIHdob2xlIGxpYnJhcnldKGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRlLWZucy9kYXRlLWZucy9ibG9iL21hc3Rlci9kb2NzL3VwZ3JhZGVHdWlkZS5tZCNDb21tb24tQ2hhbmdlcykuXG4gKlxuICogQHBhcmFtIHtEYXRlfE51bWJlcn0gZGF0ZSAtIHRoZSBkYXRlIHRoYXQgc2hvdWxkIGJlIGJlZm9yZSB0aGUgb3RoZXIgb25lIHRvIHJldHVybiB0cnVlXG4gKiBAcGFyYW0ge0RhdGV8TnVtYmVyfSBkYXRlVG9Db21wYXJlIC0gdGhlIGRhdGUgdG8gY29tcGFyZSB3aXRoXG4gKiBAcmV0dXJucyB7Qm9vbGVhbn0gdGhlIGZpcnN0IGRhdGUgaXMgYmVmb3JlIHRoZSBzZWNvbmQgZGF0ZVxuICogQHRocm93cyB7VHlwZUVycm9yfSAyIGFyZ3VtZW50cyByZXF1aXJlZFxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBJcyAxMCBKdWx5IDE5ODkgYmVmb3JlIDExIEZlYnJ1YXJ5IDE5ODc/XG4gKiB2YXIgcmVzdWx0ID0gaXNCZWZvcmUobmV3IERhdGUoMTk4OSwgNiwgMTApLCBuZXcgRGF0ZSgxOTg3LCAxLCAxMSkpXG4gKiAvLz0+IGZhbHNlXG4gKi9cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gaXNCZWZvcmUoZGlydHlEYXRlLCBkaXJ0eURhdGVUb0NvbXBhcmUpIHtcbiAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPCAyKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignMiBhcmd1bWVudHMgcmVxdWlyZWQsIGJ1dCBvbmx5ICcgKyBhcmd1bWVudHMubGVuZ3RoICsgJyBwcmVzZW50Jyk7XG4gIH1cblxuICB2YXIgZGF0ZSA9IHRvRGF0ZShkaXJ0eURhdGUpO1xuICB2YXIgZGF0ZVRvQ29tcGFyZSA9IHRvRGF0ZShkaXJ0eURhdGVUb0NvbXBhcmUpO1xuICByZXR1cm4gZGF0ZS5nZXRUaW1lKCkgPCBkYXRlVG9Db21wYXJlLmdldFRpbWUoKTtcbn0iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/isBefore/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/isDate/index.js": /*!***************************************************!*\ !*** ./node_modules/date-fns/esm/isDate/index.js ***! \***************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return isDate; });\n/**\n * @name isDate\n * @category Common Helpers\n * @summary Is the given value a date?\n *\n * @description\n * Returns true if the given value is an instance of Date. The function works for dates transferred across iframes.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {*} value - the value to check\n * @returns {boolean} true if the given value is a date\n * @throws {TypeError} 1 arguments required\n *\n * @example\n * // For a valid date:\n * var result = isDate(new Date())\n * //=> true\n *\n * @example\n * // For an invalid date:\n * var result = isDate(new Date(NaN))\n * //=> true\n *\n * @example\n * // For some value:\n * var result = isDate('2014-02-31')\n * //=> false\n *\n * @example\n * // For an object:\n * var result = isDate({})\n * //=> false\n */\nfunction isDate(value) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n return value instanceof Date || typeof value === 'object' && Object.prototype.toString.call(value) === '[object Date]';\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2lzRGF0ZS9pbmRleC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9kYXRlLWZucy9lc20vaXNEYXRlL2luZGV4LmpzP2E3ZTQiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbmFtZSBpc0RhdGVcbiAqIEBjYXRlZ29yeSBDb21tb24gSGVscGVyc1xuICogQHN1bW1hcnkgSXMgdGhlIGdpdmVuIHZhbHVlIGEgZGF0ZT9cbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIFJldHVybnMgdHJ1ZSBpZiB0aGUgZ2l2ZW4gdmFsdWUgaXMgYW4gaW5zdGFuY2Ugb2YgRGF0ZS4gVGhlIGZ1bmN0aW9uIHdvcmtzIGZvciBkYXRlcyB0cmFuc2ZlcnJlZCBhY3Jvc3MgaWZyYW1lcy5cbiAqXG4gKiAjIyMgdjIuMC4wIGJyZWFraW5nIGNoYW5nZXM6XG4gKlxuICogLSBbQ2hhbmdlcyB0aGF0IGFyZSBjb21tb24gZm9yIHRoZSB3aG9sZSBsaWJyYXJ5XShodHRwczovL2dpdGh1Yi5jb20vZGF0ZS1mbnMvZGF0ZS1mbnMvYmxvYi9tYXN0ZXIvZG9jcy91cGdyYWRlR3VpZGUubWQjQ29tbW9uLUNoYW5nZXMpLlxuICpcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgLSB0aGUgdmFsdWUgdG8gY2hlY2tcbiAqIEByZXR1cm5zIHtib29sZWFufSB0cnVlIGlmIHRoZSBnaXZlbiB2YWx1ZSBpcyBhIGRhdGVcbiAqIEB0aHJvd3Mge1R5cGVFcnJvcn0gMSBhcmd1bWVudHMgcmVxdWlyZWRcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gRm9yIGEgdmFsaWQgZGF0ZTpcbiAqIHZhciByZXN1bHQgPSBpc0RhdGUobmV3IERhdGUoKSlcbiAqIC8vPT4gdHJ1ZVxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBGb3IgYW4gaW52YWxpZCBkYXRlOlxuICogdmFyIHJlc3VsdCA9IGlzRGF0ZShuZXcgRGF0ZShOYU4pKVxuICogLy89PiB0cnVlXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIEZvciBzb21lIHZhbHVlOlxuICogdmFyIHJlc3VsdCA9IGlzRGF0ZSgnMjAxNC0wMi0zMScpXG4gKiAvLz0+IGZhbHNlXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIEZvciBhbiBvYmplY3Q6XG4gKiB2YXIgcmVzdWx0ID0gaXNEYXRlKHt9KVxuICogLy89PiBmYWxzZVxuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBpc0RhdGUodmFsdWUpIHtcbiAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPCAxKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignMSBhcmd1bWVudCByZXF1aXJlZCwgYnV0IG9ubHkgJyArIGFyZ3VtZW50cy5sZW5ndGggKyAnIHByZXNlbnQnKTtcbiAgfVxuXG4gIHJldHVybiB2YWx1ZSBpbnN0YW5jZW9mIERhdGUgfHwgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodmFsdWUpID09PSAnW29iamVjdCBEYXRlXSc7XG59Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/isDate/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/isEqual/index.js": /*!****************************************************!*\ !*** ./node_modules/date-fns/esm/isEqual/index.js ***! \****************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return isEqual; });\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n\n/**\n * @name isEqual\n * @category Common Helpers\n * @summary Are the given dates equal?\n *\n * @description\n * Are the given dates equal?\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} dateLeft - the first date to compare\n * @param {Date|Number} dateRight - the second date to compare\n * @returns {Boolean} the dates are equal\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Are 2 July 2014 06:30:45.000 and 2 July 2014 06:30:45.500 equal?\n * var result = isEqual(\n * new Date(2014, 6, 2, 6, 30, 45, 0),\n * new Date(2014, 6, 2, 6, 30, 45, 500)\n * )\n * //=> false\n */\n\nfunction isEqual(dirtyLeftDate, dirtyRightDate) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present');\n }\n\n var dateLeft = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyLeftDate);\n var dateRight = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyRightDate);\n return dateLeft.getTime() === dateRight.getTime();\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2lzRXF1YWwvaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2lzRXF1YWwvaW5kZXguanM/Y2M3MyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdG9EYXRlIGZyb20gJy4uL3RvRGF0ZS9pbmRleC5qcyc7XG4vKipcbiAqIEBuYW1lIGlzRXF1YWxcbiAqIEBjYXRlZ29yeSBDb21tb24gSGVscGVyc1xuICogQHN1bW1hcnkgQXJlIHRoZSBnaXZlbiBkYXRlcyBlcXVhbD9cbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIEFyZSB0aGUgZ2l2ZW4gZGF0ZXMgZXF1YWw/XG4gKlxuICogIyMjIHYyLjAuMCBicmVha2luZyBjaGFuZ2VzOlxuICpcbiAqIC0gW0NoYW5nZXMgdGhhdCBhcmUgY29tbW9uIGZvciB0aGUgd2hvbGUgbGlicmFyeV0oaHR0cHM6Ly9naXRodWIuY29tL2RhdGUtZm5zL2RhdGUtZm5zL2Jsb2IvbWFzdGVyL2RvY3MvdXBncmFkZUd1aWRlLm1kI0NvbW1vbi1DaGFuZ2VzKS5cbiAqXG4gKiBAcGFyYW0ge0RhdGV8TnVtYmVyfSBkYXRlTGVmdCAtIHRoZSBmaXJzdCBkYXRlIHRvIGNvbXBhcmVcbiAqIEBwYXJhbSB7RGF0ZXxOdW1iZXJ9IGRhdGVSaWdodCAtIHRoZSBzZWNvbmQgZGF0ZSB0byBjb21wYXJlXG4gKiBAcmV0dXJucyB7Qm9vbGVhbn0gdGhlIGRhdGVzIGFyZSBlcXVhbFxuICogQHRocm93cyB7VHlwZUVycm9yfSAyIGFyZ3VtZW50cyByZXF1aXJlZFxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBBcmUgMiBKdWx5IDIwMTQgMDY6MzA6NDUuMDAwIGFuZCAyIEp1bHkgMjAxNCAwNjozMDo0NS41MDAgZXF1YWw/XG4gKiB2YXIgcmVzdWx0ID0gaXNFcXVhbChcbiAqICAgbmV3IERhdGUoMjAxNCwgNiwgMiwgNiwgMzAsIDQ1LCAwKSxcbiAqICAgbmV3IERhdGUoMjAxNCwgNiwgMiwgNiwgMzAsIDQ1LCA1MDApXG4gKiApXG4gKiAvLz0+IGZhbHNlXG4gKi9cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gaXNFcXVhbChkaXJ0eUxlZnREYXRlLCBkaXJ0eVJpZ2h0RGF0ZSkge1xuICBpZiAoYXJndW1lbnRzLmxlbmd0aCA8IDIpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCcyIGFyZ3VtZW50cyByZXF1aXJlZCwgYnV0IG9ubHkgJyArIGFyZ3VtZW50cy5sZW5ndGggKyAnIHByZXNlbnQnKTtcbiAgfVxuXG4gIHZhciBkYXRlTGVmdCA9IHRvRGF0ZShkaXJ0eUxlZnREYXRlKTtcbiAgdmFyIGRhdGVSaWdodCA9IHRvRGF0ZShkaXJ0eVJpZ2h0RGF0ZSk7XG4gIHJldHVybiBkYXRlTGVmdC5nZXRUaW1lKCkgPT09IGRhdGVSaWdodC5nZXRUaW1lKCk7XG59Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/isEqual/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/isFirstDayOfMonth/index.js": /*!**************************************************************!*\ !*** ./node_modules/date-fns/esm/isFirstDayOfMonth/index.js ***! \**************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return isFirstDayOfMonth; });\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n\n/**\n * @name isFirstDayOfMonth\n * @category Month Helpers\n * @summary Is the given date the first day of a month?\n *\n * @description\n * Is the given date the first day of a month?\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to check\n * @returns {Boolean} the date is the first day of a month\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Is 1 September 2014 the first day of a month?\n * var result = isFirstDayOfMonth(new Date(2014, 8, 1))\n * //=> true\n */\n\nfunction isFirstDayOfMonth(dirtyDate) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n return Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate).getDate() === 1;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2lzRmlyc3REYXlPZk1vbnRoL2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2VzbS9pc0ZpcnN0RGF5T2ZNb250aC9pbmRleC5qcz9jMGFlIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0b0RhdGUgZnJvbSAnLi4vdG9EYXRlL2luZGV4LmpzJztcbi8qKlxuICogQG5hbWUgaXNGaXJzdERheU9mTW9udGhcbiAqIEBjYXRlZ29yeSBNb250aCBIZWxwZXJzXG4gKiBAc3VtbWFyeSBJcyB0aGUgZ2l2ZW4gZGF0ZSB0aGUgZmlyc3QgZGF5IG9mIGEgbW9udGg/XG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKiBJcyB0aGUgZ2l2ZW4gZGF0ZSB0aGUgZmlyc3QgZGF5IG9mIGEgbW9udGg/XG4gKlxuICogIyMjIHYyLjAuMCBicmVha2luZyBjaGFuZ2VzOlxuICpcbiAqIC0gW0NoYW5nZXMgdGhhdCBhcmUgY29tbW9uIGZvciB0aGUgd2hvbGUgbGlicmFyeV0oaHR0cHM6Ly9naXRodWIuY29tL2RhdGUtZm5zL2RhdGUtZm5zL2Jsb2IvbWFzdGVyL2RvY3MvdXBncmFkZUd1aWRlLm1kI0NvbW1vbi1DaGFuZ2VzKS5cbiAqXG4gKiBAcGFyYW0ge0RhdGV8TnVtYmVyfSBkYXRlIC0gdGhlIGRhdGUgdG8gY2hlY2tcbiAqIEByZXR1cm5zIHtCb29sZWFufSB0aGUgZGF0ZSBpcyB0aGUgZmlyc3QgZGF5IG9mIGEgbW9udGhcbiAqIEB0aHJvd3Mge1R5cGVFcnJvcn0gMSBhcmd1bWVudCByZXF1aXJlZFxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBJcyAxIFNlcHRlbWJlciAyMDE0IHRoZSBmaXJzdCBkYXkgb2YgYSBtb250aD9cbiAqIHZhciByZXN1bHQgPSBpc0ZpcnN0RGF5T2ZNb250aChuZXcgRGF0ZSgyMDE0LCA4LCAxKSlcbiAqIC8vPT4gdHJ1ZVxuICovXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGlzRmlyc3REYXlPZk1vbnRoKGRpcnR5RGF0ZSkge1xuICBpZiAoYXJndW1lbnRzLmxlbmd0aCA8IDEpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCcxIGFyZ3VtZW50IHJlcXVpcmVkLCBidXQgb25seSAnICsgYXJndW1lbnRzLmxlbmd0aCArICcgcHJlc2VudCcpO1xuICB9XG5cbiAgcmV0dXJuIHRvRGF0ZShkaXJ0eURhdGUpLmdldERhdGUoKSA9PT0gMTtcbn0iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/isFirstDayOfMonth/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/isFriday/index.js": /*!*****************************************************!*\ !*** ./node_modules/date-fns/esm/isFriday/index.js ***! \*****************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return isFriday; });\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n\n/**\n * @name isFriday\n * @category Weekday Helpers\n * @summary Is the given date Friday?\n *\n * @description\n * Is the given date Friday?\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to check\n * @returns {Boolean} the date is Friday\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Is 26 September 2014 Friday?\n * var result = isFriday(new Date(2014, 8, 26))\n * //=> true\n */\n\nfunction isFriday(dirtyDate) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n return Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate).getDay() === 5;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2lzRnJpZGF5L2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2VzbS9pc0ZyaWRheS9pbmRleC5qcz81NzEyIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0b0RhdGUgZnJvbSAnLi4vdG9EYXRlL2luZGV4LmpzJztcbi8qKlxuICogQG5hbWUgaXNGcmlkYXlcbiAqIEBjYXRlZ29yeSBXZWVrZGF5IEhlbHBlcnNcbiAqIEBzdW1tYXJ5IElzIHRoZSBnaXZlbiBkYXRlIEZyaWRheT9cbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIElzIHRoZSBnaXZlbiBkYXRlIEZyaWRheT9cbiAqXG4gKiAjIyMgdjIuMC4wIGJyZWFraW5nIGNoYW5nZXM6XG4gKlxuICogLSBbQ2hhbmdlcyB0aGF0IGFyZSBjb21tb24gZm9yIHRoZSB3aG9sZSBsaWJyYXJ5XShodHRwczovL2dpdGh1Yi5jb20vZGF0ZS1mbnMvZGF0ZS1mbnMvYmxvYi9tYXN0ZXIvZG9jcy91cGdyYWRlR3VpZGUubWQjQ29tbW9uLUNoYW5nZXMpLlxuICpcbiAqIEBwYXJhbSB7RGF0ZXxOdW1iZXJ9IGRhdGUgLSB0aGUgZGF0ZSB0byBjaGVja1xuICogQHJldHVybnMge0Jvb2xlYW59IHRoZSBkYXRlIGlzIEZyaWRheVxuICogQHRocm93cyB7VHlwZUVycm9yfSAxIGFyZ3VtZW50IHJlcXVpcmVkXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIElzIDI2IFNlcHRlbWJlciAyMDE0IEZyaWRheT9cbiAqIHZhciByZXN1bHQgPSBpc0ZyaWRheShuZXcgRGF0ZSgyMDE0LCA4LCAyNikpXG4gKiAvLz0+IHRydWVcbiAqL1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBpc0ZyaWRheShkaXJ0eURhdGUpIHtcbiAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPCAxKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignMSBhcmd1bWVudCByZXF1aXJlZCwgYnV0IG9ubHkgJyArIGFyZ3VtZW50cy5sZW5ndGggKyAnIHByZXNlbnQnKTtcbiAgfVxuXG4gIHJldHVybiB0b0RhdGUoZGlydHlEYXRlKS5nZXREYXkoKSA9PT0gNTtcbn0iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/isFriday/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/isFuture/index.js": /*!*****************************************************!*\ !*** ./node_modules/date-fns/esm/isFuture/index.js ***! \*****************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return isFuture; });\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n\n/**\n * @name isFuture\n * @category Common Helpers\n * @summary Is the given date in the future?\n * @pure false\n *\n * @description\n * Is the given date in the future?\n *\n * > ⚠️ Please note that this function is not present in the FP submodule as\n * > it uses `Date.now()` internally hence impure and can't be safely curried.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to check\n * @returns {Boolean} the date is in the future\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // If today is 6 October 2014, is 31 December 2014 in the future?\n * var result = isFuture(new Date(2014, 11, 31))\n * //=> true\n */\n\nfunction isFuture(dirtyDate) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n return Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate).getTime() > Date.now();\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2lzRnV0dXJlL2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2VzbS9pc0Z1dHVyZS9pbmRleC5qcz9iYTFlIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0b0RhdGUgZnJvbSAnLi4vdG9EYXRlL2luZGV4LmpzJztcbi8qKlxuICogQG5hbWUgaXNGdXR1cmVcbiAqIEBjYXRlZ29yeSBDb21tb24gSGVscGVyc1xuICogQHN1bW1hcnkgSXMgdGhlIGdpdmVuIGRhdGUgaW4gdGhlIGZ1dHVyZT9cbiAqIEBwdXJlIGZhbHNlXG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKiBJcyB0aGUgZ2l2ZW4gZGF0ZSBpbiB0aGUgZnV0dXJlP1xuICpcbiAqID4g4pqg77iPIFBsZWFzZSBub3RlIHRoYXQgdGhpcyBmdW5jdGlvbiBpcyBub3QgcHJlc2VudCBpbiB0aGUgRlAgc3VibW9kdWxlIGFzXG4gKiA+IGl0IHVzZXMgYERhdGUubm93KClgIGludGVybmFsbHkgaGVuY2UgaW1wdXJlIGFuZCBjYW4ndCBiZSBzYWZlbHkgY3VycmllZC5cbiAqXG4gKiAjIyMgdjIuMC4wIGJyZWFraW5nIGNoYW5nZXM6XG4gKlxuICogLSBbQ2hhbmdlcyB0aGF0IGFyZSBjb21tb24gZm9yIHRoZSB3aG9sZSBsaWJyYXJ5XShodHRwczovL2dpdGh1Yi5jb20vZGF0ZS1mbnMvZGF0ZS1mbnMvYmxvYi9tYXN0ZXIvZG9jcy91cGdyYWRlR3VpZGUubWQjQ29tbW9uLUNoYW5nZXMpLlxuICpcbiAqIEBwYXJhbSB7RGF0ZXxOdW1iZXJ9IGRhdGUgLSB0aGUgZGF0ZSB0byBjaGVja1xuICogQHJldHVybnMge0Jvb2xlYW59IHRoZSBkYXRlIGlzIGluIHRoZSBmdXR1cmVcbiAqIEB0aHJvd3Mge1R5cGVFcnJvcn0gMSBhcmd1bWVudCByZXF1aXJlZFxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBJZiB0b2RheSBpcyA2IE9jdG9iZXIgMjAxNCwgaXMgMzEgRGVjZW1iZXIgMjAxNCBpbiB0aGUgZnV0dXJlP1xuICogdmFyIHJlc3VsdCA9IGlzRnV0dXJlKG5ldyBEYXRlKDIwMTQsIDExLCAzMSkpXG4gKiAvLz0+IHRydWVcbiAqL1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBpc0Z1dHVyZShkaXJ0eURhdGUpIHtcbiAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPCAxKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignMSBhcmd1bWVudCByZXF1aXJlZCwgYnV0IG9ubHkgJyArIGFyZ3VtZW50cy5sZW5ndGggKyAnIHByZXNlbnQnKTtcbiAgfVxuXG4gIHJldHVybiB0b0RhdGUoZGlydHlEYXRlKS5nZXRUaW1lKCkgPiBEYXRlLm5vdygpO1xufSJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/isFuture/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/isLastDayOfMonth/index.js": /*!*************************************************************!*\ !*** ./node_modules/date-fns/esm/isLastDayOfMonth/index.js ***! \*************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return isLastDayOfMonth; });\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n/* harmony import */ var _endOfDay_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../endOfDay/index.js */ \"./node_modules/date-fns/esm/endOfDay/index.js\");\n/* harmony import */ var _endOfMonth_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../endOfMonth/index.js */ \"./node_modules/date-fns/esm/endOfMonth/index.js\");\n\n\n\n/**\n * @name isLastDayOfMonth\n * @category Month Helpers\n * @summary Is the given date the last day of a month?\n *\n * @description\n * Is the given date the last day of a month?\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to check\n * @returns {Boolean} the date is the last day of a month\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Is 28 February 2014 the last day of a month?\n * var result = isLastDayOfMonth(new Date(2014, 1, 28))\n * //=> true\n */\n\nfunction isLastDayOfMonth(dirtyDate) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n var date = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate);\n return Object(_endOfDay_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(date).getTime() === Object(_endOfMonth_index_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(date).getTime();\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2lzTGFzdERheU9mTW9udGgvaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2lzTGFzdERheU9mTW9udGgvaW5kZXguanM/MGQ3ZSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdG9EYXRlIGZyb20gJy4uL3RvRGF0ZS9pbmRleC5qcyc7XG5pbXBvcnQgZW5kT2ZEYXkgZnJvbSAnLi4vZW5kT2ZEYXkvaW5kZXguanMnO1xuaW1wb3J0IGVuZE9mTW9udGggZnJvbSAnLi4vZW5kT2ZNb250aC9pbmRleC5qcyc7XG4vKipcbiAqIEBuYW1lIGlzTGFzdERheU9mTW9udGhcbiAqIEBjYXRlZ29yeSBNb250aCBIZWxwZXJzXG4gKiBAc3VtbWFyeSBJcyB0aGUgZ2l2ZW4gZGF0ZSB0aGUgbGFzdCBkYXkgb2YgYSBtb250aD9cbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIElzIHRoZSBnaXZlbiBkYXRlIHRoZSBsYXN0IGRheSBvZiBhIG1vbnRoP1xuICpcbiAqICMjIyB2Mi4wLjAgYnJlYWtpbmcgY2hhbmdlczpcbiAqXG4gKiAtIFtDaGFuZ2VzIHRoYXQgYXJlIGNvbW1vbiBmb3IgdGhlIHdob2xlIGxpYnJhcnldKGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRlLWZucy9kYXRlLWZucy9ibG9iL21hc3Rlci9kb2NzL3VwZ3JhZGVHdWlkZS5tZCNDb21tb24tQ2hhbmdlcykuXG4gKlxuICogQHBhcmFtIHtEYXRlfE51bWJlcn0gZGF0ZSAtIHRoZSBkYXRlIHRvIGNoZWNrXG4gKiBAcmV0dXJucyB7Qm9vbGVhbn0gdGhlIGRhdGUgaXMgdGhlIGxhc3QgZGF5IG9mIGEgbW9udGhcbiAqIEB0aHJvd3Mge1R5cGVFcnJvcn0gMSBhcmd1bWVudCByZXF1aXJlZFxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBJcyAyOCBGZWJydWFyeSAyMDE0IHRoZSBsYXN0IGRheSBvZiBhIG1vbnRoP1xuICogdmFyIHJlc3VsdCA9IGlzTGFzdERheU9mTW9udGgobmV3IERhdGUoMjAxNCwgMSwgMjgpKVxuICogLy89PiB0cnVlXG4gKi9cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gaXNMYXN0RGF5T2ZNb250aChkaXJ0eURhdGUpIHtcbiAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPCAxKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignMSBhcmd1bWVudCByZXF1aXJlZCwgYnV0IG9ubHkgJyArIGFyZ3VtZW50cy5sZW5ndGggKyAnIHByZXNlbnQnKTtcbiAgfVxuXG4gIHZhciBkYXRlID0gdG9EYXRlKGRpcnR5RGF0ZSk7XG4gIHJldHVybiBlbmRPZkRheShkYXRlKS5nZXRUaW1lKCkgPT09IGVuZE9mTW9udGgoZGF0ZSkuZ2V0VGltZSgpO1xufSJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/isLastDayOfMonth/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/isLeapYear/index.js": /*!*******************************************************!*\ !*** ./node_modules/date-fns/esm/isLeapYear/index.js ***! \*******************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return isLeapYear; });\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n\n/**\n * @name isLeapYear\n * @category Year Helpers\n * @summary Is the given date in the leap year?\n *\n * @description\n * Is the given date in the leap year?\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to check\n * @returns {Boolean} the date is in the leap year\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Is 1 September 2012 in the leap year?\n * var result = isLeapYear(new Date(2012, 8, 1))\n * //=> true\n */\n\nfunction isLeapYear(dirtyDate) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n var date = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate);\n var year = date.getFullYear();\n return year % 400 === 0 || year % 4 === 0 && year % 100 !== 0;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2lzTGVhcFllYXIvaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2lzTGVhcFllYXIvaW5kZXguanM/ZjUzZCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdG9EYXRlIGZyb20gJy4uL3RvRGF0ZS9pbmRleC5qcyc7XG4vKipcbiAqIEBuYW1lIGlzTGVhcFllYXJcbiAqIEBjYXRlZ29yeSBZZWFyIEhlbHBlcnNcbiAqIEBzdW1tYXJ5IElzIHRoZSBnaXZlbiBkYXRlIGluIHRoZSBsZWFwIHllYXI/XG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKiBJcyB0aGUgZ2l2ZW4gZGF0ZSBpbiB0aGUgbGVhcCB5ZWFyP1xuICpcbiAqICMjIyB2Mi4wLjAgYnJlYWtpbmcgY2hhbmdlczpcbiAqXG4gKiAtIFtDaGFuZ2VzIHRoYXQgYXJlIGNvbW1vbiBmb3IgdGhlIHdob2xlIGxpYnJhcnldKGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRlLWZucy9kYXRlLWZucy9ibG9iL21hc3Rlci9kb2NzL3VwZ3JhZGVHdWlkZS5tZCNDb21tb24tQ2hhbmdlcykuXG4gKlxuICogQHBhcmFtIHtEYXRlfE51bWJlcn0gZGF0ZSAtIHRoZSBkYXRlIHRvIGNoZWNrXG4gKiBAcmV0dXJucyB7Qm9vbGVhbn0gdGhlIGRhdGUgaXMgaW4gdGhlIGxlYXAgeWVhclxuICogQHRocm93cyB7VHlwZUVycm9yfSAxIGFyZ3VtZW50IHJlcXVpcmVkXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIElzIDEgU2VwdGVtYmVyIDIwMTIgaW4gdGhlIGxlYXAgeWVhcj9cbiAqIHZhciByZXN1bHQgPSBpc0xlYXBZZWFyKG5ldyBEYXRlKDIwMTIsIDgsIDEpKVxuICogLy89PiB0cnVlXG4gKi9cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gaXNMZWFwWWVhcihkaXJ0eURhdGUpIHtcbiAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPCAxKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignMSBhcmd1bWVudCByZXF1aXJlZCwgYnV0IG9ubHkgJyArIGFyZ3VtZW50cy5sZW5ndGggKyAnIHByZXNlbnQnKTtcbiAgfVxuXG4gIHZhciBkYXRlID0gdG9EYXRlKGRpcnR5RGF0ZSk7XG4gIHZhciB5ZWFyID0gZGF0ZS5nZXRGdWxsWWVhcigpO1xuICByZXR1cm4geWVhciAlIDQwMCA9PT0gMCB8fCB5ZWFyICUgNCA9PT0gMCAmJiB5ZWFyICUgMTAwICE9PSAwO1xufSJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/isLeapYear/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/isMonday/index.js": /*!*****************************************************!*\ !*** ./node_modules/date-fns/esm/isMonday/index.js ***! \*****************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return isMonday; });\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n\n/**\n * @name isMonday\n * @category Weekday Helpers\n * @summary Is the given date Monday?\n *\n * @description\n * Is the given date Monday?\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to check\n * @returns {Boolean} the date is Monday\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Is 22 September 2014 Monday?\n * var result = isMonday(new Date(2014, 8, 22))\n * //=> true\n */\n\nfunction isMonday(dirtyDate) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n return Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate).getDay() === 1;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2lzTW9uZGF5L2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2VzbS9pc01vbmRheS9pbmRleC5qcz9jMTM3Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0b0RhdGUgZnJvbSAnLi4vdG9EYXRlL2luZGV4LmpzJztcbi8qKlxuICogQG5hbWUgaXNNb25kYXlcbiAqIEBjYXRlZ29yeSBXZWVrZGF5IEhlbHBlcnNcbiAqIEBzdW1tYXJ5IElzIHRoZSBnaXZlbiBkYXRlIE1vbmRheT9cbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIElzIHRoZSBnaXZlbiBkYXRlIE1vbmRheT9cbiAqXG4gKiAjIyMgdjIuMC4wIGJyZWFraW5nIGNoYW5nZXM6XG4gKlxuICogLSBbQ2hhbmdlcyB0aGF0IGFyZSBjb21tb24gZm9yIHRoZSB3aG9sZSBsaWJyYXJ5XShodHRwczovL2dpdGh1Yi5jb20vZGF0ZS1mbnMvZGF0ZS1mbnMvYmxvYi9tYXN0ZXIvZG9jcy91cGdyYWRlR3VpZGUubWQjQ29tbW9uLUNoYW5nZXMpLlxuICpcbiAqIEBwYXJhbSB7RGF0ZXxOdW1iZXJ9IGRhdGUgLSB0aGUgZGF0ZSB0byBjaGVja1xuICogQHJldHVybnMge0Jvb2xlYW59IHRoZSBkYXRlIGlzIE1vbmRheVxuICogQHRocm93cyB7VHlwZUVycm9yfSAxIGFyZ3VtZW50IHJlcXVpcmVkXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIElzIDIyIFNlcHRlbWJlciAyMDE0IE1vbmRheT9cbiAqIHZhciByZXN1bHQgPSBpc01vbmRheShuZXcgRGF0ZSgyMDE0LCA4LCAyMikpXG4gKiAvLz0+IHRydWVcbiAqL1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBpc01vbmRheShkaXJ0eURhdGUpIHtcbiAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPCAxKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignMSBhcmd1bWVudCByZXF1aXJlZCwgYnV0IG9ubHkgJyArIGFyZ3VtZW50cy5sZW5ndGggKyAnIHByZXNlbnQnKTtcbiAgfVxuXG4gIHJldHVybiB0b0RhdGUoZGlydHlEYXRlKS5nZXREYXkoKSA9PT0gMTtcbn0iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/isMonday/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/isPast/index.js": /*!***************************************************!*\ !*** ./node_modules/date-fns/esm/isPast/index.js ***! \***************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return isPast; });\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n\n/**\n * @name isPast\n * @category Common Helpers\n * @summary Is the given date in the past?\n * @pure false\n *\n * @description\n * Is the given date in the past?\n *\n * > ⚠️ Please note that this function is not present in the FP submodule as\n * > it uses `Date.now()` internally hence impure and can't be safely curried.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to check\n * @returns {Boolean} the date is in the past\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // If today is 6 October 2014, is 2 July 2014 in the past?\n * var result = isPast(new Date(2014, 6, 2))\n * //=> true\n */\n\nfunction isPast(dirtyDate) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n return Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate).getTime() < Date.now();\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2lzUGFzdC9pbmRleC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9kYXRlLWZucy9lc20vaXNQYXN0L2luZGV4LmpzPzFkOWIiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHRvRGF0ZSBmcm9tICcuLi90b0RhdGUvaW5kZXguanMnO1xuLyoqXG4gKiBAbmFtZSBpc1Bhc3RcbiAqIEBjYXRlZ29yeSBDb21tb24gSGVscGVyc1xuICogQHN1bW1hcnkgSXMgdGhlIGdpdmVuIGRhdGUgaW4gdGhlIHBhc3Q/XG4gKiBAcHVyZSBmYWxzZVxuICpcbiAqIEBkZXNjcmlwdGlvblxuICogSXMgdGhlIGdpdmVuIGRhdGUgaW4gdGhlIHBhc3Q/XG4gKlxuICogPiDimqDvuI8gUGxlYXNlIG5vdGUgdGhhdCB0aGlzIGZ1bmN0aW9uIGlzIG5vdCBwcmVzZW50IGluIHRoZSBGUCBzdWJtb2R1bGUgYXNcbiAqID4gaXQgdXNlcyBgRGF0ZS5ub3coKWAgaW50ZXJuYWxseSBoZW5jZSBpbXB1cmUgYW5kIGNhbid0IGJlIHNhZmVseSBjdXJyaWVkLlxuICpcbiAqICMjIyB2Mi4wLjAgYnJlYWtpbmcgY2hhbmdlczpcbiAqXG4gKiAtIFtDaGFuZ2VzIHRoYXQgYXJlIGNvbW1vbiBmb3IgdGhlIHdob2xlIGxpYnJhcnldKGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRlLWZucy9kYXRlLWZucy9ibG9iL21hc3Rlci9kb2NzL3VwZ3JhZGVHdWlkZS5tZCNDb21tb24tQ2hhbmdlcykuXG4gKlxuICogQHBhcmFtIHtEYXRlfE51bWJlcn0gZGF0ZSAtIHRoZSBkYXRlIHRvIGNoZWNrXG4gKiBAcmV0dXJucyB7Qm9vbGVhbn0gdGhlIGRhdGUgaXMgaW4gdGhlIHBhc3RcbiAqIEB0aHJvd3Mge1R5cGVFcnJvcn0gMSBhcmd1bWVudCByZXF1aXJlZFxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBJZiB0b2RheSBpcyA2IE9jdG9iZXIgMjAxNCwgaXMgMiBKdWx5IDIwMTQgaW4gdGhlIHBhc3Q/XG4gKiB2YXIgcmVzdWx0ID0gaXNQYXN0KG5ldyBEYXRlKDIwMTQsIDYsIDIpKVxuICogLy89PiB0cnVlXG4gKi9cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gaXNQYXN0KGRpcnR5RGF0ZSkge1xuICBpZiAoYXJndW1lbnRzLmxlbmd0aCA8IDEpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCcxIGFyZ3VtZW50IHJlcXVpcmVkLCBidXQgb25seSAnICsgYXJndW1lbnRzLmxlbmd0aCArICcgcHJlc2VudCcpO1xuICB9XG5cbiAgcmV0dXJuIHRvRGF0ZShkaXJ0eURhdGUpLmdldFRpbWUoKSA8IERhdGUubm93KCk7XG59Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/isPast/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/isSameDay/index.js": /*!******************************************************!*\ !*** ./node_modules/date-fns/esm/isSameDay/index.js ***! \******************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return isSameDay; });\n/* harmony import */ var _startOfDay_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../startOfDay/index.js */ \"./node_modules/date-fns/esm/startOfDay/index.js\");\n\n/**\n * @name isSameDay\n * @category Day Helpers\n * @summary Are the given dates in the same day?\n *\n * @description\n * Are the given dates in the same day?\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} dateLeft - the first date to check\n * @param {Date|Number} dateRight - the second date to check\n * @returns {Boolean} the dates are in the same day\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Are 4 September 06:00:00 and 4 September 18:00:00 in the same day?\n * var result = isSameDay(new Date(2014, 8, 4, 6, 0), new Date(2014, 8, 4, 18, 0))\n * //=> true\n */\n\nfunction isSameDay(dirtyDateLeft, dirtyDateRight) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present');\n }\n\n var dateLeftStartOfDay = Object(_startOfDay_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDateLeft);\n var dateRightStartOfDay = Object(_startOfDay_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDateRight);\n return dateLeftStartOfDay.getTime() === dateRightStartOfDay.getTime();\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2lzU2FtZURheS9pbmRleC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9kYXRlLWZucy9lc20vaXNTYW1lRGF5L2luZGV4LmpzPzFiYTQiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0YXJ0T2ZEYXkgZnJvbSAnLi4vc3RhcnRPZkRheS9pbmRleC5qcyc7XG4vKipcbiAqIEBuYW1lIGlzU2FtZURheVxuICogQGNhdGVnb3J5IERheSBIZWxwZXJzXG4gKiBAc3VtbWFyeSBBcmUgdGhlIGdpdmVuIGRhdGVzIGluIHRoZSBzYW1lIGRheT9cbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIEFyZSB0aGUgZ2l2ZW4gZGF0ZXMgaW4gdGhlIHNhbWUgZGF5P1xuICpcbiAqICMjIyB2Mi4wLjAgYnJlYWtpbmcgY2hhbmdlczpcbiAqXG4gKiAtIFtDaGFuZ2VzIHRoYXQgYXJlIGNvbW1vbiBmb3IgdGhlIHdob2xlIGxpYnJhcnldKGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRlLWZucy9kYXRlLWZucy9ibG9iL21hc3Rlci9kb2NzL3VwZ3JhZGVHdWlkZS5tZCNDb21tb24tQ2hhbmdlcykuXG4gKlxuICogQHBhcmFtIHtEYXRlfE51bWJlcn0gZGF0ZUxlZnQgLSB0aGUgZmlyc3QgZGF0ZSB0byBjaGVja1xuICogQHBhcmFtIHtEYXRlfE51bWJlcn0gZGF0ZVJpZ2h0IC0gdGhlIHNlY29uZCBkYXRlIHRvIGNoZWNrXG4gKiBAcmV0dXJucyB7Qm9vbGVhbn0gdGhlIGRhdGVzIGFyZSBpbiB0aGUgc2FtZSBkYXlcbiAqIEB0aHJvd3Mge1R5cGVFcnJvcn0gMiBhcmd1bWVudHMgcmVxdWlyZWRcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gQXJlIDQgU2VwdGVtYmVyIDA2OjAwOjAwIGFuZCA0IFNlcHRlbWJlciAxODowMDowMCBpbiB0aGUgc2FtZSBkYXk/XG4gKiB2YXIgcmVzdWx0ID0gaXNTYW1lRGF5KG5ldyBEYXRlKDIwMTQsIDgsIDQsIDYsIDApLCBuZXcgRGF0ZSgyMDE0LCA4LCA0LCAxOCwgMCkpXG4gKiAvLz0+IHRydWVcbiAqL1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBpc1NhbWVEYXkoZGlydHlEYXRlTGVmdCwgZGlydHlEYXRlUmlnaHQpIHtcbiAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPCAyKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignMiBhcmd1bWVudHMgcmVxdWlyZWQsIGJ1dCBvbmx5ICcgKyBhcmd1bWVudHMubGVuZ3RoICsgJyBwcmVzZW50Jyk7XG4gIH1cblxuICB2YXIgZGF0ZUxlZnRTdGFydE9mRGF5ID0gc3RhcnRPZkRheShkaXJ0eURhdGVMZWZ0KTtcbiAgdmFyIGRhdGVSaWdodFN0YXJ0T2ZEYXkgPSBzdGFydE9mRGF5KGRpcnR5RGF0ZVJpZ2h0KTtcbiAgcmV0dXJuIGRhdGVMZWZ0U3RhcnRPZkRheS5nZXRUaW1lKCkgPT09IGRhdGVSaWdodFN0YXJ0T2ZEYXkuZ2V0VGltZSgpO1xufSJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/isSameDay/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/isSameHour/index.js": /*!*******************************************************!*\ !*** ./node_modules/date-fns/esm/isSameHour/index.js ***! \*******************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return isSameHour; });\n/* harmony import */ var _startOfHour_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../startOfHour/index.js */ \"./node_modules/date-fns/esm/startOfHour/index.js\");\n\n/**\n * @name isSameHour\n * @category Hour Helpers\n * @summary Are the given dates in the same hour?\n *\n * @description\n * Are the given dates in the same hour?\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} dateLeft - the first date to check\n * @param {Date|Number} dateRight - the second date to check\n * @returns {Boolean} the dates are in the same hour\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Are 4 September 2014 06:00:00 and 4 September 06:30:00 in the same hour?\n * var result = isSameHour(new Date(2014, 8, 4, 6, 0), new Date(2014, 8, 4, 6, 30))\n * //=> true\n */\n\nfunction isSameHour(dirtyDateLeft, dirtyDateRight) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present');\n }\n\n var dateLeftStartOfHour = Object(_startOfHour_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDateLeft);\n var dateRightStartOfHour = Object(_startOfHour_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDateRight);\n return dateLeftStartOfHour.getTime() === dateRightStartOfHour.getTime();\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2lzU2FtZUhvdXIvaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2lzU2FtZUhvdXIvaW5kZXguanM/Y2IzYiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc3RhcnRPZkhvdXIgZnJvbSAnLi4vc3RhcnRPZkhvdXIvaW5kZXguanMnO1xuLyoqXG4gKiBAbmFtZSBpc1NhbWVIb3VyXG4gKiBAY2F0ZWdvcnkgSG91ciBIZWxwZXJzXG4gKiBAc3VtbWFyeSBBcmUgdGhlIGdpdmVuIGRhdGVzIGluIHRoZSBzYW1lIGhvdXI/XG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKiBBcmUgdGhlIGdpdmVuIGRhdGVzIGluIHRoZSBzYW1lIGhvdXI/XG4gKlxuICogIyMjIHYyLjAuMCBicmVha2luZyBjaGFuZ2VzOlxuICpcbiAqIC0gW0NoYW5nZXMgdGhhdCBhcmUgY29tbW9uIGZvciB0aGUgd2hvbGUgbGlicmFyeV0oaHR0cHM6Ly9naXRodWIuY29tL2RhdGUtZm5zL2RhdGUtZm5zL2Jsb2IvbWFzdGVyL2RvY3MvdXBncmFkZUd1aWRlLm1kI0NvbW1vbi1DaGFuZ2VzKS5cbiAqXG4gKiBAcGFyYW0ge0RhdGV8TnVtYmVyfSBkYXRlTGVmdCAtIHRoZSBmaXJzdCBkYXRlIHRvIGNoZWNrXG4gKiBAcGFyYW0ge0RhdGV8TnVtYmVyfSBkYXRlUmlnaHQgLSB0aGUgc2Vjb25kIGRhdGUgdG8gY2hlY2tcbiAqIEByZXR1cm5zIHtCb29sZWFufSB0aGUgZGF0ZXMgYXJlIGluIHRoZSBzYW1lIGhvdXJcbiAqIEB0aHJvd3Mge1R5cGVFcnJvcn0gMiBhcmd1bWVudHMgcmVxdWlyZWRcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gQXJlIDQgU2VwdGVtYmVyIDIwMTQgMDY6MDA6MDAgYW5kIDQgU2VwdGVtYmVyIDA2OjMwOjAwIGluIHRoZSBzYW1lIGhvdXI/XG4gKiB2YXIgcmVzdWx0ID0gaXNTYW1lSG91cihuZXcgRGF0ZSgyMDE0LCA4LCA0LCA2LCAwKSwgbmV3IERhdGUoMjAxNCwgOCwgNCwgNiwgMzApKVxuICogLy89PiB0cnVlXG4gKi9cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gaXNTYW1lSG91cihkaXJ0eURhdGVMZWZ0LCBkaXJ0eURhdGVSaWdodCkge1xuICBpZiAoYXJndW1lbnRzLmxlbmd0aCA8IDIpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCcyIGFyZ3VtZW50cyByZXF1aXJlZCwgYnV0IG9ubHkgJyArIGFyZ3VtZW50cy5sZW5ndGggKyAnIHByZXNlbnQnKTtcbiAgfVxuXG4gIHZhciBkYXRlTGVmdFN0YXJ0T2ZIb3VyID0gc3RhcnRPZkhvdXIoZGlydHlEYXRlTGVmdCk7XG4gIHZhciBkYXRlUmlnaHRTdGFydE9mSG91ciA9IHN0YXJ0T2ZIb3VyKGRpcnR5RGF0ZVJpZ2h0KTtcbiAgcmV0dXJuIGRhdGVMZWZ0U3RhcnRPZkhvdXIuZ2V0VGltZSgpID09PSBkYXRlUmlnaHRTdGFydE9mSG91ci5nZXRUaW1lKCk7XG59Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/isSameHour/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/isSameISOWeek/index.js": /*!**********************************************************!*\ !*** ./node_modules/date-fns/esm/isSameISOWeek/index.js ***! \**********************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return isSameISOWeek; });\n/* harmony import */ var _isSameWeek_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../isSameWeek/index.js */ \"./node_modules/date-fns/esm/isSameWeek/index.js\");\n\n/**\n * @name isSameISOWeek\n * @category ISO Week Helpers\n * @summary Are the given dates in the same ISO week?\n *\n * @description\n * Are the given dates in the same ISO week?\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} dateLeft - the first date to check\n * @param {Date|Number} dateRight - the second date to check\n * @returns {Boolean} the dates are in the same ISO week\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Are 1 September 2014 and 7 September 2014 in the same ISO week?\n * var result = isSameISOWeek(new Date(2014, 8, 1), new Date(2014, 8, 7))\n * //=> true\n */\n\nfunction isSameISOWeek(dirtyDateLeft, dirtyDateRight) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present');\n }\n\n return Object(_isSameWeek_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDateLeft, dirtyDateRight, {\n weekStartsOn: 1\n });\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2lzU2FtZUlTT1dlZWsvaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2lzU2FtZUlTT1dlZWsvaW5kZXguanM/YWIzMiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgaXNTYW1lV2VlayBmcm9tICcuLi9pc1NhbWVXZWVrL2luZGV4LmpzJztcbi8qKlxuICogQG5hbWUgaXNTYW1lSVNPV2Vla1xuICogQGNhdGVnb3J5IElTTyBXZWVrIEhlbHBlcnNcbiAqIEBzdW1tYXJ5IEFyZSB0aGUgZ2l2ZW4gZGF0ZXMgaW4gdGhlIHNhbWUgSVNPIHdlZWs/XG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKiBBcmUgdGhlIGdpdmVuIGRhdGVzIGluIHRoZSBzYW1lIElTTyB3ZWVrP1xuICpcbiAqIElTTyB3ZWVrLW51bWJlcmluZyB5ZWFyOiBodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0lTT193ZWVrX2RhdGVcbiAqXG4gKiAjIyMgdjIuMC4wIGJyZWFraW5nIGNoYW5nZXM6XG4gKlxuICogLSBbQ2hhbmdlcyB0aGF0IGFyZSBjb21tb24gZm9yIHRoZSB3aG9sZSBsaWJyYXJ5XShodHRwczovL2dpdGh1Yi5jb20vZGF0ZS1mbnMvZGF0ZS1mbnMvYmxvYi9tYXN0ZXIvZG9jcy91cGdyYWRlR3VpZGUubWQjQ29tbW9uLUNoYW5nZXMpLlxuICpcbiAqIEBwYXJhbSB7RGF0ZXxOdW1iZXJ9IGRhdGVMZWZ0IC0gdGhlIGZpcnN0IGRhdGUgdG8gY2hlY2tcbiAqIEBwYXJhbSB7RGF0ZXxOdW1iZXJ9IGRhdGVSaWdodCAtIHRoZSBzZWNvbmQgZGF0ZSB0byBjaGVja1xuICogQHJldHVybnMge0Jvb2xlYW59IHRoZSBkYXRlcyBhcmUgaW4gdGhlIHNhbWUgSVNPIHdlZWtcbiAqIEB0aHJvd3Mge1R5cGVFcnJvcn0gMiBhcmd1bWVudHMgcmVxdWlyZWRcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gQXJlIDEgU2VwdGVtYmVyIDIwMTQgYW5kIDcgU2VwdGVtYmVyIDIwMTQgaW4gdGhlIHNhbWUgSVNPIHdlZWs/XG4gKiB2YXIgcmVzdWx0ID0gaXNTYW1lSVNPV2VlayhuZXcgRGF0ZSgyMDE0LCA4LCAxKSwgbmV3IERhdGUoMjAxNCwgOCwgNykpXG4gKiAvLz0+IHRydWVcbiAqL1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBpc1NhbWVJU09XZWVrKGRpcnR5RGF0ZUxlZnQsIGRpcnR5RGF0ZVJpZ2h0KSB7XG4gIGlmIChhcmd1bWVudHMubGVuZ3RoIDwgMikge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJzIgYXJndW1lbnRzIHJlcXVpcmVkLCBidXQgb25seSAnICsgYXJndW1lbnRzLmxlbmd0aCArICcgcHJlc2VudCcpO1xuICB9XG5cbiAgcmV0dXJuIGlzU2FtZVdlZWsoZGlydHlEYXRlTGVmdCwgZGlydHlEYXRlUmlnaHQsIHtcbiAgICB3ZWVrU3RhcnRzT246IDFcbiAgfSk7XG59Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/isSameISOWeek/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/isSameISOWeekYear/index.js": /*!**************************************************************!*\ !*** ./node_modules/date-fns/esm/isSameISOWeekYear/index.js ***! \**************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return isSameISOWeekYear; });\n/* harmony import */ var _startOfISOWeekYear_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../startOfISOWeekYear/index.js */ \"./node_modules/date-fns/esm/startOfISOWeekYear/index.js\");\n\n/**\n * @name isSameISOWeekYear\n * @category ISO Week-Numbering Year Helpers\n * @summary Are the given dates in the same ISO week-numbering year?\n *\n * @description\n * Are the given dates in the same ISO week-numbering year?\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * - The function was renamed from `isSameISOYear` to `isSameISOWeekYear`.\n * \"ISO week year\" is short for [ISO week-numbering year](https://en.wikipedia.org/wiki/ISO_week_date).\n * This change makes the name consistent with\n * locale-dependent week-numbering year helpers, e.g., `getWeekYear`.\n *\n * @param {Date|Number} dateLeft - the first date to check\n * @param {Date|Number} dateRight - the second date to check\n * @returns {Boolean} the dates are in the same ISO week-numbering year\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Are 29 December 2003 and 2 January 2005 in the same ISO week-numbering year?\n * var result = isSameISOWeekYear(new Date(2003, 11, 29), new Date(2005, 0, 2))\n * //=> true\n */\n\nfunction isSameISOWeekYear(dirtyDateLeft, dirtyDateRight) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present');\n }\n\n var dateLeftStartOfYear = Object(_startOfISOWeekYear_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDateLeft);\n var dateRightStartOfYear = Object(_startOfISOWeekYear_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDateRight);\n return dateLeftStartOfYear.getTime() === dateRightStartOfYear.getTime();\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2lzU2FtZUlTT1dlZWtZZWFyL2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2VzbS9pc1NhbWVJU09XZWVrWWVhci9pbmRleC5qcz80ZjFkIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdGFydE9mSVNPV2Vla1llYXIgZnJvbSAnLi4vc3RhcnRPZklTT1dlZWtZZWFyL2luZGV4LmpzJztcbi8qKlxuICogQG5hbWUgaXNTYW1lSVNPV2Vla1llYXJcbiAqIEBjYXRlZ29yeSBJU08gV2Vlay1OdW1iZXJpbmcgWWVhciBIZWxwZXJzXG4gKiBAc3VtbWFyeSBBcmUgdGhlIGdpdmVuIGRhdGVzIGluIHRoZSBzYW1lIElTTyB3ZWVrLW51bWJlcmluZyB5ZWFyP1xuICpcbiAqIEBkZXNjcmlwdGlvblxuICogQXJlIHRoZSBnaXZlbiBkYXRlcyBpbiB0aGUgc2FtZSBJU08gd2Vlay1udW1iZXJpbmcgeWVhcj9cbiAqXG4gKiBJU08gd2Vlay1udW1iZXJpbmcgeWVhcjogaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9JU09fd2Vla19kYXRlXG4gKlxuICogIyMjIHYyLjAuMCBicmVha2luZyBjaGFuZ2VzOlxuICpcbiAqIC0gW0NoYW5nZXMgdGhhdCBhcmUgY29tbW9uIGZvciB0aGUgd2hvbGUgbGlicmFyeV0oaHR0cHM6Ly9naXRodWIuY29tL2RhdGUtZm5zL2RhdGUtZm5zL2Jsb2IvbWFzdGVyL2RvY3MvdXBncmFkZUd1aWRlLm1kI0NvbW1vbi1DaGFuZ2VzKS5cbiAqXG4gKiAtIFRoZSBmdW5jdGlvbiB3YXMgcmVuYW1lZCBmcm9tIGBpc1NhbWVJU09ZZWFyYCB0byBgaXNTYW1lSVNPV2Vla1llYXJgLlxuICogICBcIklTTyB3ZWVrIHllYXJcIiBpcyBzaG9ydCBmb3IgW0lTTyB3ZWVrLW51bWJlcmluZyB5ZWFyXShodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9JU09fd2Vla19kYXRlKS5cbiAqICAgVGhpcyBjaGFuZ2UgbWFrZXMgdGhlIG5hbWUgY29uc2lzdGVudCB3aXRoXG4gKiAgIGxvY2FsZS1kZXBlbmRlbnQgd2Vlay1udW1iZXJpbmcgeWVhciBoZWxwZXJzLCBlLmcuLCBgZ2V0V2Vla1llYXJgLlxuICpcbiAqIEBwYXJhbSB7RGF0ZXxOdW1iZXJ9IGRhdGVMZWZ0IC0gdGhlIGZpcnN0IGRhdGUgdG8gY2hlY2tcbiAqIEBwYXJhbSB7RGF0ZXxOdW1iZXJ9IGRhdGVSaWdodCAtIHRoZSBzZWNvbmQgZGF0ZSB0byBjaGVja1xuICogQHJldHVybnMge0Jvb2xlYW59IHRoZSBkYXRlcyBhcmUgaW4gdGhlIHNhbWUgSVNPIHdlZWstbnVtYmVyaW5nIHllYXJcbiAqIEB0aHJvd3Mge1R5cGVFcnJvcn0gMiBhcmd1bWVudHMgcmVxdWlyZWRcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gQXJlIDI5IERlY2VtYmVyIDIwMDMgYW5kIDIgSmFudWFyeSAyMDA1IGluIHRoZSBzYW1lIElTTyB3ZWVrLW51bWJlcmluZyB5ZWFyP1xuICogdmFyIHJlc3VsdCA9IGlzU2FtZUlTT1dlZWtZZWFyKG5ldyBEYXRlKDIwMDMsIDExLCAyOSksIG5ldyBEYXRlKDIwMDUsIDAsIDIpKVxuICogLy89PiB0cnVlXG4gKi9cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gaXNTYW1lSVNPV2Vla1llYXIoZGlydHlEYXRlTGVmdCwgZGlydHlEYXRlUmlnaHQpIHtcbiAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPCAyKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignMiBhcmd1bWVudHMgcmVxdWlyZWQsIGJ1dCBvbmx5ICcgKyBhcmd1bWVudHMubGVuZ3RoICsgJyBwcmVzZW50Jyk7XG4gIH1cblxuICB2YXIgZGF0ZUxlZnRTdGFydE9mWWVhciA9IHN0YXJ0T2ZJU09XZWVrWWVhcihkaXJ0eURhdGVMZWZ0KTtcbiAgdmFyIGRhdGVSaWdodFN0YXJ0T2ZZZWFyID0gc3RhcnRPZklTT1dlZWtZZWFyKGRpcnR5RGF0ZVJpZ2h0KTtcbiAgcmV0dXJuIGRhdGVMZWZ0U3RhcnRPZlllYXIuZ2V0VGltZSgpID09PSBkYXRlUmlnaHRTdGFydE9mWWVhci5nZXRUaW1lKCk7XG59Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/isSameISOWeekYear/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/isSameMinute/index.js": /*!*********************************************************!*\ !*** ./node_modules/date-fns/esm/isSameMinute/index.js ***! \*********************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return isSameMinute; });\n/* harmony import */ var _startOfMinute_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../startOfMinute/index.js */ \"./node_modules/date-fns/esm/startOfMinute/index.js\");\n\n/**\n * @name isSameMinute\n * @category Minute Helpers\n * @summary Are the given dates in the same minute?\n *\n * @description\n * Are the given dates in the same minute?\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} dateLeft - the first date to check\n * @param {Date|Number} dateRight - the second date to check\n * @returns {Boolean} the dates are in the same minute\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Are 4 September 2014 06:30:00 and 4 September 2014 06:30:15\n * // in the same minute?\n * var result = isSameMinute(\n * new Date(2014, 8, 4, 6, 30),\n * new Date(2014, 8, 4, 6, 30, 15)\n * )\n * //=> true\n */\n\nfunction isSameMinute(dirtyDateLeft, dirtyDateRight) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present');\n }\n\n var dateLeftStartOfMinute = Object(_startOfMinute_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDateLeft);\n var dateRightStartOfMinute = Object(_startOfMinute_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDateRight);\n return dateLeftStartOfMinute.getTime() === dateRightStartOfMinute.getTime();\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2lzU2FtZU1pbnV0ZS9pbmRleC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9kYXRlLWZucy9lc20vaXNTYW1lTWludXRlL2luZGV4LmpzP2IzZWMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0YXJ0T2ZNaW51dGUgZnJvbSAnLi4vc3RhcnRPZk1pbnV0ZS9pbmRleC5qcyc7XG4vKipcbiAqIEBuYW1lIGlzU2FtZU1pbnV0ZVxuICogQGNhdGVnb3J5IE1pbnV0ZSBIZWxwZXJzXG4gKiBAc3VtbWFyeSBBcmUgdGhlIGdpdmVuIGRhdGVzIGluIHRoZSBzYW1lIG1pbnV0ZT9cbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIEFyZSB0aGUgZ2l2ZW4gZGF0ZXMgaW4gdGhlIHNhbWUgbWludXRlP1xuICpcbiAqICMjIyB2Mi4wLjAgYnJlYWtpbmcgY2hhbmdlczpcbiAqXG4gKiAtIFtDaGFuZ2VzIHRoYXQgYXJlIGNvbW1vbiBmb3IgdGhlIHdob2xlIGxpYnJhcnldKGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRlLWZucy9kYXRlLWZucy9ibG9iL21hc3Rlci9kb2NzL3VwZ3JhZGVHdWlkZS5tZCNDb21tb24tQ2hhbmdlcykuXG4gKlxuICogQHBhcmFtIHtEYXRlfE51bWJlcn0gZGF0ZUxlZnQgLSB0aGUgZmlyc3QgZGF0ZSB0byBjaGVja1xuICogQHBhcmFtIHtEYXRlfE51bWJlcn0gZGF0ZVJpZ2h0IC0gdGhlIHNlY29uZCBkYXRlIHRvIGNoZWNrXG4gKiBAcmV0dXJucyB7Qm9vbGVhbn0gdGhlIGRhdGVzIGFyZSBpbiB0aGUgc2FtZSBtaW51dGVcbiAqIEB0aHJvd3Mge1R5cGVFcnJvcn0gMiBhcmd1bWVudHMgcmVxdWlyZWRcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gQXJlIDQgU2VwdGVtYmVyIDIwMTQgMDY6MzA6MDAgYW5kIDQgU2VwdGVtYmVyIDIwMTQgMDY6MzA6MTVcbiAqIC8vIGluIHRoZSBzYW1lIG1pbnV0ZT9cbiAqIHZhciByZXN1bHQgPSBpc1NhbWVNaW51dGUoXG4gKiAgIG5ldyBEYXRlKDIwMTQsIDgsIDQsIDYsIDMwKSxcbiAqICAgbmV3IERhdGUoMjAxNCwgOCwgNCwgNiwgMzAsIDE1KVxuICogKVxuICogLy89PiB0cnVlXG4gKi9cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gaXNTYW1lTWludXRlKGRpcnR5RGF0ZUxlZnQsIGRpcnR5RGF0ZVJpZ2h0KSB7XG4gIGlmIChhcmd1bWVudHMubGVuZ3RoIDwgMikge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJzIgYXJndW1lbnRzIHJlcXVpcmVkLCBidXQgb25seSAnICsgYXJndW1lbnRzLmxlbmd0aCArICcgcHJlc2VudCcpO1xuICB9XG5cbiAgdmFyIGRhdGVMZWZ0U3RhcnRPZk1pbnV0ZSA9IHN0YXJ0T2ZNaW51dGUoZGlydHlEYXRlTGVmdCk7XG4gIHZhciBkYXRlUmlnaHRTdGFydE9mTWludXRlID0gc3RhcnRPZk1pbnV0ZShkaXJ0eURhdGVSaWdodCk7XG4gIHJldHVybiBkYXRlTGVmdFN0YXJ0T2ZNaW51dGUuZ2V0VGltZSgpID09PSBkYXRlUmlnaHRTdGFydE9mTWludXRlLmdldFRpbWUoKTtcbn0iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/isSameMinute/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/isSameMonth/index.js": /*!********************************************************!*\ !*** ./node_modules/date-fns/esm/isSameMonth/index.js ***! \********************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return isSameMonth; });\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n\n/**\n * @name isSameMonth\n * @category Month Helpers\n * @summary Are the given dates in the same month?\n *\n * @description\n * Are the given dates in the same month?\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} dateLeft - the first date to check\n * @param {Date|Number} dateRight - the second date to check\n * @returns {Boolean} the dates are in the same month\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Are 2 September 2014 and 25 September 2014 in the same month?\n * var result = isSameMonth(new Date(2014, 8, 2), new Date(2014, 8, 25))\n * //=> true\n */\n\nfunction isSameMonth(dirtyDateLeft, dirtyDateRight) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present');\n }\n\n var dateLeft = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDateLeft);\n var dateRight = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDateRight);\n return dateLeft.getFullYear() === dateRight.getFullYear() && dateLeft.getMonth() === dateRight.getMonth();\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2lzU2FtZU1vbnRoL2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2VzbS9pc1NhbWVNb250aC9pbmRleC5qcz81ODg4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0b0RhdGUgZnJvbSAnLi4vdG9EYXRlL2luZGV4LmpzJztcbi8qKlxuICogQG5hbWUgaXNTYW1lTW9udGhcbiAqIEBjYXRlZ29yeSBNb250aCBIZWxwZXJzXG4gKiBAc3VtbWFyeSBBcmUgdGhlIGdpdmVuIGRhdGVzIGluIHRoZSBzYW1lIG1vbnRoP1xuICpcbiAqIEBkZXNjcmlwdGlvblxuICogQXJlIHRoZSBnaXZlbiBkYXRlcyBpbiB0aGUgc2FtZSBtb250aD9cbiAqXG4gKiAjIyMgdjIuMC4wIGJyZWFraW5nIGNoYW5nZXM6XG4gKlxuICogLSBbQ2hhbmdlcyB0aGF0IGFyZSBjb21tb24gZm9yIHRoZSB3aG9sZSBsaWJyYXJ5XShodHRwczovL2dpdGh1Yi5jb20vZGF0ZS1mbnMvZGF0ZS1mbnMvYmxvYi9tYXN0ZXIvZG9jcy91cGdyYWRlR3VpZGUubWQjQ29tbW9uLUNoYW5nZXMpLlxuICpcbiAqIEBwYXJhbSB7RGF0ZXxOdW1iZXJ9IGRhdGVMZWZ0IC0gdGhlIGZpcnN0IGRhdGUgdG8gY2hlY2tcbiAqIEBwYXJhbSB7RGF0ZXxOdW1iZXJ9IGRhdGVSaWdodCAtIHRoZSBzZWNvbmQgZGF0ZSB0byBjaGVja1xuICogQHJldHVybnMge0Jvb2xlYW59IHRoZSBkYXRlcyBhcmUgaW4gdGhlIHNhbWUgbW9udGhcbiAqIEB0aHJvd3Mge1R5cGVFcnJvcn0gMiBhcmd1bWVudHMgcmVxdWlyZWRcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gQXJlIDIgU2VwdGVtYmVyIDIwMTQgYW5kIDI1IFNlcHRlbWJlciAyMDE0IGluIHRoZSBzYW1lIG1vbnRoP1xuICogdmFyIHJlc3VsdCA9IGlzU2FtZU1vbnRoKG5ldyBEYXRlKDIwMTQsIDgsIDIpLCBuZXcgRGF0ZSgyMDE0LCA4LCAyNSkpXG4gKiAvLz0+IHRydWVcbiAqL1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBpc1NhbWVNb250aChkaXJ0eURhdGVMZWZ0LCBkaXJ0eURhdGVSaWdodCkge1xuICBpZiAoYXJndW1lbnRzLmxlbmd0aCA8IDIpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCcyIGFyZ3VtZW50cyByZXF1aXJlZCwgYnV0IG9ubHkgJyArIGFyZ3VtZW50cy5sZW5ndGggKyAnIHByZXNlbnQnKTtcbiAgfVxuXG4gIHZhciBkYXRlTGVmdCA9IHRvRGF0ZShkaXJ0eURhdGVMZWZ0KTtcbiAgdmFyIGRhdGVSaWdodCA9IHRvRGF0ZShkaXJ0eURhdGVSaWdodCk7XG4gIHJldHVybiBkYXRlTGVmdC5nZXRGdWxsWWVhcigpID09PSBkYXRlUmlnaHQuZ2V0RnVsbFllYXIoKSAmJiBkYXRlTGVmdC5nZXRNb250aCgpID09PSBkYXRlUmlnaHQuZ2V0TW9udGgoKTtcbn0iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/isSameMonth/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/isSameQuarter/index.js": /*!**********************************************************!*\ !*** ./node_modules/date-fns/esm/isSameQuarter/index.js ***! \**********************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return isSameQuarter; });\n/* harmony import */ var _startOfQuarter_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../startOfQuarter/index.js */ \"./node_modules/date-fns/esm/startOfQuarter/index.js\");\n\n/**\n * @name isSameQuarter\n * @category Quarter Helpers\n * @summary Are the given dates in the same year quarter?\n *\n * @description\n * Are the given dates in the same year quarter?\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} dateLeft - the first date to check\n * @param {Date|Number} dateRight - the second date to check\n * @returns {Boolean} the dates are in the same quarter\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Are 1 January 2014 and 8 March 2014 in the same quarter?\n * var result = isSameQuarter(new Date(2014, 0, 1), new Date(2014, 2, 8))\n * //=> true\n */\n\nfunction isSameQuarter(dirtyDateLeft, dirtyDateRight) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present');\n }\n\n var dateLeftStartOfQuarter = Object(_startOfQuarter_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDateLeft);\n var dateRightStartOfQuarter = Object(_startOfQuarter_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDateRight);\n return dateLeftStartOfQuarter.getTime() === dateRightStartOfQuarter.getTime();\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2lzU2FtZVF1YXJ0ZXIvaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2lzU2FtZVF1YXJ0ZXIvaW5kZXguanM/NGM2MCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc3RhcnRPZlF1YXJ0ZXIgZnJvbSAnLi4vc3RhcnRPZlF1YXJ0ZXIvaW5kZXguanMnO1xuLyoqXG4gKiBAbmFtZSBpc1NhbWVRdWFydGVyXG4gKiBAY2F0ZWdvcnkgUXVhcnRlciBIZWxwZXJzXG4gKiBAc3VtbWFyeSBBcmUgdGhlIGdpdmVuIGRhdGVzIGluIHRoZSBzYW1lIHllYXIgcXVhcnRlcj9cbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIEFyZSB0aGUgZ2l2ZW4gZGF0ZXMgaW4gdGhlIHNhbWUgeWVhciBxdWFydGVyP1xuICpcbiAqICMjIyB2Mi4wLjAgYnJlYWtpbmcgY2hhbmdlczpcbiAqXG4gKiAtIFtDaGFuZ2VzIHRoYXQgYXJlIGNvbW1vbiBmb3IgdGhlIHdob2xlIGxpYnJhcnldKGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRlLWZucy9kYXRlLWZucy9ibG9iL21hc3Rlci9kb2NzL3VwZ3JhZGVHdWlkZS5tZCNDb21tb24tQ2hhbmdlcykuXG4gKlxuICogQHBhcmFtIHtEYXRlfE51bWJlcn0gZGF0ZUxlZnQgLSB0aGUgZmlyc3QgZGF0ZSB0byBjaGVja1xuICogQHBhcmFtIHtEYXRlfE51bWJlcn0gZGF0ZVJpZ2h0IC0gdGhlIHNlY29uZCBkYXRlIHRvIGNoZWNrXG4gKiBAcmV0dXJucyB7Qm9vbGVhbn0gdGhlIGRhdGVzIGFyZSBpbiB0aGUgc2FtZSBxdWFydGVyXG4gKiBAdGhyb3dzIHtUeXBlRXJyb3J9IDIgYXJndW1lbnRzIHJlcXVpcmVkXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIEFyZSAxIEphbnVhcnkgMjAxNCBhbmQgOCBNYXJjaCAyMDE0IGluIHRoZSBzYW1lIHF1YXJ0ZXI/XG4gKiB2YXIgcmVzdWx0ID0gaXNTYW1lUXVhcnRlcihuZXcgRGF0ZSgyMDE0LCAwLCAxKSwgbmV3IERhdGUoMjAxNCwgMiwgOCkpXG4gKiAvLz0+IHRydWVcbiAqL1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBpc1NhbWVRdWFydGVyKGRpcnR5RGF0ZUxlZnQsIGRpcnR5RGF0ZVJpZ2h0KSB7XG4gIGlmIChhcmd1bWVudHMubGVuZ3RoIDwgMikge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJzIgYXJndW1lbnRzIHJlcXVpcmVkLCBidXQgb25seSAnICsgYXJndW1lbnRzLmxlbmd0aCArICcgcHJlc2VudCcpO1xuICB9XG5cbiAgdmFyIGRhdGVMZWZ0U3RhcnRPZlF1YXJ0ZXIgPSBzdGFydE9mUXVhcnRlcihkaXJ0eURhdGVMZWZ0KTtcbiAgdmFyIGRhdGVSaWdodFN0YXJ0T2ZRdWFydGVyID0gc3RhcnRPZlF1YXJ0ZXIoZGlydHlEYXRlUmlnaHQpO1xuICByZXR1cm4gZGF0ZUxlZnRTdGFydE9mUXVhcnRlci5nZXRUaW1lKCkgPT09IGRhdGVSaWdodFN0YXJ0T2ZRdWFydGVyLmdldFRpbWUoKTtcbn0iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/isSameQuarter/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/isSameSecond/index.js": /*!*********************************************************!*\ !*** ./node_modules/date-fns/esm/isSameSecond/index.js ***! \*********************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return isSameSecond; });\n/* harmony import */ var _startOfSecond_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../startOfSecond/index.js */ \"./node_modules/date-fns/esm/startOfSecond/index.js\");\n\n/**\n * @name isSameSecond\n * @category Second Helpers\n * @summary Are the given dates in the same second?\n *\n * @description\n * Are the given dates in the same second?\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} dateLeft - the first date to check\n * @param {Date|Number} dateRight - the second date to check\n * @returns {Boolean} the dates are in the same second\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Are 4 September 2014 06:30:15.000 and 4 September 2014 06:30.15.500\n * // in the same second?\n * var result = isSameSecond(\n * new Date(2014, 8, 4, 6, 30, 15),\n * new Date(2014, 8, 4, 6, 30, 15, 500)\n * )\n * //=> true\n */\n\nfunction isSameSecond(dirtyDateLeft, dirtyDateRight) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present');\n }\n\n var dateLeftStartOfSecond = Object(_startOfSecond_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDateLeft);\n var dateRightStartOfSecond = Object(_startOfSecond_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDateRight);\n return dateLeftStartOfSecond.getTime() === dateRightStartOfSecond.getTime();\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2lzU2FtZVNlY29uZC9pbmRleC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9kYXRlLWZucy9lc20vaXNTYW1lU2Vjb25kL2luZGV4LmpzPzA3NzciXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0YXJ0T2ZTZWNvbmQgZnJvbSAnLi4vc3RhcnRPZlNlY29uZC9pbmRleC5qcyc7XG4vKipcbiAqIEBuYW1lIGlzU2FtZVNlY29uZFxuICogQGNhdGVnb3J5IFNlY29uZCBIZWxwZXJzXG4gKiBAc3VtbWFyeSBBcmUgdGhlIGdpdmVuIGRhdGVzIGluIHRoZSBzYW1lIHNlY29uZD9cbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIEFyZSB0aGUgZ2l2ZW4gZGF0ZXMgaW4gdGhlIHNhbWUgc2Vjb25kP1xuICpcbiAqICMjIyB2Mi4wLjAgYnJlYWtpbmcgY2hhbmdlczpcbiAqXG4gKiAtIFtDaGFuZ2VzIHRoYXQgYXJlIGNvbW1vbiBmb3IgdGhlIHdob2xlIGxpYnJhcnldKGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRlLWZucy9kYXRlLWZucy9ibG9iL21hc3Rlci9kb2NzL3VwZ3JhZGVHdWlkZS5tZCNDb21tb24tQ2hhbmdlcykuXG4gKlxuICogQHBhcmFtIHtEYXRlfE51bWJlcn0gZGF0ZUxlZnQgLSB0aGUgZmlyc3QgZGF0ZSB0byBjaGVja1xuICogQHBhcmFtIHtEYXRlfE51bWJlcn0gZGF0ZVJpZ2h0IC0gdGhlIHNlY29uZCBkYXRlIHRvIGNoZWNrXG4gKiBAcmV0dXJucyB7Qm9vbGVhbn0gdGhlIGRhdGVzIGFyZSBpbiB0aGUgc2FtZSBzZWNvbmRcbiAqIEB0aHJvd3Mge1R5cGVFcnJvcn0gMiBhcmd1bWVudHMgcmVxdWlyZWRcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gQXJlIDQgU2VwdGVtYmVyIDIwMTQgMDY6MzA6MTUuMDAwIGFuZCA0IFNlcHRlbWJlciAyMDE0IDA2OjMwLjE1LjUwMFxuICogLy8gaW4gdGhlIHNhbWUgc2Vjb25kP1xuICogdmFyIHJlc3VsdCA9IGlzU2FtZVNlY29uZChcbiAqICAgbmV3IERhdGUoMjAxNCwgOCwgNCwgNiwgMzAsIDE1KSxcbiAqICAgbmV3IERhdGUoMjAxNCwgOCwgNCwgNiwgMzAsIDE1LCA1MDApXG4gKiApXG4gKiAvLz0+IHRydWVcbiAqL1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBpc1NhbWVTZWNvbmQoZGlydHlEYXRlTGVmdCwgZGlydHlEYXRlUmlnaHQpIHtcbiAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPCAyKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignMiBhcmd1bWVudHMgcmVxdWlyZWQsIGJ1dCBvbmx5ICcgKyBhcmd1bWVudHMubGVuZ3RoICsgJyBwcmVzZW50Jyk7XG4gIH1cblxuICB2YXIgZGF0ZUxlZnRTdGFydE9mU2Vjb25kID0gc3RhcnRPZlNlY29uZChkaXJ0eURhdGVMZWZ0KTtcbiAgdmFyIGRhdGVSaWdodFN0YXJ0T2ZTZWNvbmQgPSBzdGFydE9mU2Vjb25kKGRpcnR5RGF0ZVJpZ2h0KTtcbiAgcmV0dXJuIGRhdGVMZWZ0U3RhcnRPZlNlY29uZC5nZXRUaW1lKCkgPT09IGRhdGVSaWdodFN0YXJ0T2ZTZWNvbmQuZ2V0VGltZSgpO1xufSJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/isSameSecond/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/isSameWeek/index.js": /*!*******************************************************!*\ !*** ./node_modules/date-fns/esm/isSameWeek/index.js ***! \*******************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return isSameWeek; });\n/* harmony import */ var _startOfWeek_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../startOfWeek/index.js */ \"./node_modules/date-fns/esm/startOfWeek/index.js\");\n\n/**\n * @name isSameWeek\n * @category Week Helpers\n * @summary Are the given dates in the same week?\n *\n * @description\n * Are the given dates in the same week?\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} dateLeft - the first date to check\n * @param {Date|Number} dateRight - the second date to check\n * @param {Object} [options] - an object with options.\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\n * @returns {Boolean} the dates are in the same week\n * @throws {TypeError} 2 arguments required\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6\n *\n * @example\n * // Are 31 August 2014 and 4 September 2014 in the same week?\n * var result = isSameWeek(new Date(2014, 7, 31), new Date(2014, 8, 4))\n * //=> true\n *\n * @example\n * // If week starts with Monday,\n * // are 31 August 2014 and 4 September 2014 in the same week?\n * var result = isSameWeek(new Date(2014, 7, 31), new Date(2014, 8, 4), {\n * weekStartsOn: 1\n * })\n * //=> false\n */\n\nfunction isSameWeek(dirtyDateLeft, dirtyDateRight, dirtyOptions) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present');\n }\n\n var dateLeftStartOfWeek = Object(_startOfWeek_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDateLeft, dirtyOptions);\n var dateRightStartOfWeek = Object(_startOfWeek_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDateRight, dirtyOptions);\n return dateLeftStartOfWeek.getTime() === dateRightStartOfWeek.getTime();\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2lzU2FtZVdlZWsvaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2lzU2FtZVdlZWsvaW5kZXguanM/MjRlZCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc3RhcnRPZldlZWsgZnJvbSAnLi4vc3RhcnRPZldlZWsvaW5kZXguanMnO1xuLyoqXG4gKiBAbmFtZSBpc1NhbWVXZWVrXG4gKiBAY2F0ZWdvcnkgV2VlayBIZWxwZXJzXG4gKiBAc3VtbWFyeSBBcmUgdGhlIGdpdmVuIGRhdGVzIGluIHRoZSBzYW1lIHdlZWs/XG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKiBBcmUgdGhlIGdpdmVuIGRhdGVzIGluIHRoZSBzYW1lIHdlZWs/XG4gKlxuICogIyMjIHYyLjAuMCBicmVha2luZyBjaGFuZ2VzOlxuICpcbiAqIC0gW0NoYW5nZXMgdGhhdCBhcmUgY29tbW9uIGZvciB0aGUgd2hvbGUgbGlicmFyeV0oaHR0cHM6Ly9naXRodWIuY29tL2RhdGUtZm5zL2RhdGUtZm5zL2Jsb2IvbWFzdGVyL2RvY3MvdXBncmFkZUd1aWRlLm1kI0NvbW1vbi1DaGFuZ2VzKS5cbiAqXG4gKiBAcGFyYW0ge0RhdGV8TnVtYmVyfSBkYXRlTGVmdCAtIHRoZSBmaXJzdCBkYXRlIHRvIGNoZWNrXG4gKiBAcGFyYW0ge0RhdGV8TnVtYmVyfSBkYXRlUmlnaHQgLSB0aGUgc2Vjb25kIGRhdGUgdG8gY2hlY2tcbiAqIEBwYXJhbSB7T2JqZWN0fSBbb3B0aW9uc10gLSBhbiBvYmplY3Qgd2l0aCBvcHRpb25zLlxuICogQHBhcmFtIHtMb2NhbGV9IFtvcHRpb25zLmxvY2FsZT1kZWZhdWx0TG9jYWxlXSAtIHRoZSBsb2NhbGUgb2JqZWN0LiBTZWUgW0xvY2FsZV17QGxpbmsgaHR0cHM6Ly9kYXRlLWZucy5vcmcvZG9jcy9Mb2NhbGV9XG4gKiBAcGFyYW0gezB8MXwyfDN8NHw1fDZ9IFtvcHRpb25zLndlZWtTdGFydHNPbj0wXSAtIHRoZSBpbmRleCBvZiB0aGUgZmlyc3QgZGF5IG9mIHRoZSB3ZWVrICgwIC0gU3VuZGF5KVxuICogQHJldHVybnMge0Jvb2xlYW59IHRoZSBkYXRlcyBhcmUgaW4gdGhlIHNhbWUgd2Vla1xuICogQHRocm93cyB7VHlwZUVycm9yfSAyIGFyZ3VtZW50cyByZXF1aXJlZFxuICogQHRocm93cyB7UmFuZ2VFcnJvcn0gYG9wdGlvbnMud2Vla1N0YXJ0c09uYCBtdXN0IGJlIGJldHdlZW4gMCBhbmQgNlxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBBcmUgMzEgQXVndXN0IDIwMTQgYW5kIDQgU2VwdGVtYmVyIDIwMTQgaW4gdGhlIHNhbWUgd2Vlaz9cbiAqIHZhciByZXN1bHQgPSBpc1NhbWVXZWVrKG5ldyBEYXRlKDIwMTQsIDcsIDMxKSwgbmV3IERhdGUoMjAxNCwgOCwgNCkpXG4gKiAvLz0+IHRydWVcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gSWYgd2VlayBzdGFydHMgd2l0aCBNb25kYXksXG4gKiAvLyBhcmUgMzEgQXVndXN0IDIwMTQgYW5kIDQgU2VwdGVtYmVyIDIwMTQgaW4gdGhlIHNhbWUgd2Vlaz9cbiAqIHZhciByZXN1bHQgPSBpc1NhbWVXZWVrKG5ldyBEYXRlKDIwMTQsIDcsIDMxKSwgbmV3IERhdGUoMjAxNCwgOCwgNCksIHtcbiAqICAgd2Vla1N0YXJ0c09uOiAxXG4gKiB9KVxuICogLy89PiBmYWxzZVxuICovXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGlzU2FtZVdlZWsoZGlydHlEYXRlTGVmdCwgZGlydHlEYXRlUmlnaHQsIGRpcnR5T3B0aW9ucykge1xuICBpZiAoYXJndW1lbnRzLmxlbmd0aCA8IDIpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCcyIGFyZ3VtZW50cyByZXF1aXJlZCwgYnV0IG9ubHkgJyArIGFyZ3VtZW50cy5sZW5ndGggKyAnIHByZXNlbnQnKTtcbiAgfVxuXG4gIHZhciBkYXRlTGVmdFN0YXJ0T2ZXZWVrID0gc3RhcnRPZldlZWsoZGlydHlEYXRlTGVmdCwgZGlydHlPcHRpb25zKTtcbiAgdmFyIGRhdGVSaWdodFN0YXJ0T2ZXZWVrID0gc3RhcnRPZldlZWsoZGlydHlEYXRlUmlnaHQsIGRpcnR5T3B0aW9ucyk7XG4gIHJldHVybiBkYXRlTGVmdFN0YXJ0T2ZXZWVrLmdldFRpbWUoKSA9PT0gZGF0ZVJpZ2h0U3RhcnRPZldlZWsuZ2V0VGltZSgpO1xufSJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/isSameWeek/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/isSameYear/index.js": /*!*******************************************************!*\ !*** ./node_modules/date-fns/esm/isSameYear/index.js ***! \*******************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return isSameYear; });\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n\n/**\n * @name isSameYear\n * @category Year Helpers\n * @summary Are the given dates in the same year?\n *\n * @description\n * Are the given dates in the same year?\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} dateLeft - the first date to check\n * @param {Date|Number} dateRight - the second date to check\n * @returns {Boolean} the dates are in the same year\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Are 2 September 2014 and 25 September 2014 in the same year?\n * var result = isSameYear(new Date(2014, 8, 2), new Date(2014, 8, 25))\n * //=> true\n */\n\nfunction isSameYear(dirtyDateLeft, dirtyDateRight) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present');\n }\n\n var dateLeft = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDateLeft);\n var dateRight = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDateRight);\n return dateLeft.getFullYear() === dateRight.getFullYear();\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2lzU2FtZVllYXIvaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2lzU2FtZVllYXIvaW5kZXguanM/OTA5YyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdG9EYXRlIGZyb20gJy4uL3RvRGF0ZS9pbmRleC5qcyc7XG4vKipcbiAqIEBuYW1lIGlzU2FtZVllYXJcbiAqIEBjYXRlZ29yeSBZZWFyIEhlbHBlcnNcbiAqIEBzdW1tYXJ5IEFyZSB0aGUgZ2l2ZW4gZGF0ZXMgaW4gdGhlIHNhbWUgeWVhcj9cbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIEFyZSB0aGUgZ2l2ZW4gZGF0ZXMgaW4gdGhlIHNhbWUgeWVhcj9cbiAqXG4gKiAjIyMgdjIuMC4wIGJyZWFraW5nIGNoYW5nZXM6XG4gKlxuICogLSBbQ2hhbmdlcyB0aGF0IGFyZSBjb21tb24gZm9yIHRoZSB3aG9sZSBsaWJyYXJ5XShodHRwczovL2dpdGh1Yi5jb20vZGF0ZS1mbnMvZGF0ZS1mbnMvYmxvYi9tYXN0ZXIvZG9jcy91cGdyYWRlR3VpZGUubWQjQ29tbW9uLUNoYW5nZXMpLlxuICpcbiAqIEBwYXJhbSB7RGF0ZXxOdW1iZXJ9IGRhdGVMZWZ0IC0gdGhlIGZpcnN0IGRhdGUgdG8gY2hlY2tcbiAqIEBwYXJhbSB7RGF0ZXxOdW1iZXJ9IGRhdGVSaWdodCAtIHRoZSBzZWNvbmQgZGF0ZSB0byBjaGVja1xuICogQHJldHVybnMge0Jvb2xlYW59IHRoZSBkYXRlcyBhcmUgaW4gdGhlIHNhbWUgeWVhclxuICogQHRocm93cyB7VHlwZUVycm9yfSAyIGFyZ3VtZW50cyByZXF1aXJlZFxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBBcmUgMiBTZXB0ZW1iZXIgMjAxNCBhbmQgMjUgU2VwdGVtYmVyIDIwMTQgaW4gdGhlIHNhbWUgeWVhcj9cbiAqIHZhciByZXN1bHQgPSBpc1NhbWVZZWFyKG5ldyBEYXRlKDIwMTQsIDgsIDIpLCBuZXcgRGF0ZSgyMDE0LCA4LCAyNSkpXG4gKiAvLz0+IHRydWVcbiAqL1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBpc1NhbWVZZWFyKGRpcnR5RGF0ZUxlZnQsIGRpcnR5RGF0ZVJpZ2h0KSB7XG4gIGlmIChhcmd1bWVudHMubGVuZ3RoIDwgMikge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJzIgYXJndW1lbnRzIHJlcXVpcmVkLCBidXQgb25seSAnICsgYXJndW1lbnRzLmxlbmd0aCArICcgcHJlc2VudCcpO1xuICB9XG5cbiAgdmFyIGRhdGVMZWZ0ID0gdG9EYXRlKGRpcnR5RGF0ZUxlZnQpO1xuICB2YXIgZGF0ZVJpZ2h0ID0gdG9EYXRlKGRpcnR5RGF0ZVJpZ2h0KTtcbiAgcmV0dXJuIGRhdGVMZWZ0LmdldEZ1bGxZZWFyKCkgPT09IGRhdGVSaWdodC5nZXRGdWxsWWVhcigpO1xufSJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/isSameYear/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/isSaturday/index.js": /*!*******************************************************!*\ !*** ./node_modules/date-fns/esm/isSaturday/index.js ***! \*******************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return isSaturday; });\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n\n/**\n * @name isSaturday\n * @category Weekday Helpers\n * @summary Is the given date Saturday?\n *\n * @description\n * Is the given date Saturday?\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to check\n * @returns {Boolean} the date is Saturday\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Is 27 September 2014 Saturday?\n * var result = isSaturday(new Date(2014, 8, 27))\n * //=> true\n */\n\nfunction isSaturday(dirtyDate) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n return Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate).getDay() === 6;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2lzU2F0dXJkYXkvaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2lzU2F0dXJkYXkvaW5kZXguanM/MWIxNiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdG9EYXRlIGZyb20gJy4uL3RvRGF0ZS9pbmRleC5qcyc7XG4vKipcbiAqIEBuYW1lIGlzU2F0dXJkYXlcbiAqIEBjYXRlZ29yeSBXZWVrZGF5IEhlbHBlcnNcbiAqIEBzdW1tYXJ5IElzIHRoZSBnaXZlbiBkYXRlIFNhdHVyZGF5P1xuICpcbiAqIEBkZXNjcmlwdGlvblxuICogSXMgdGhlIGdpdmVuIGRhdGUgU2F0dXJkYXk/XG4gKlxuICogIyMjIHYyLjAuMCBicmVha2luZyBjaGFuZ2VzOlxuICpcbiAqIC0gW0NoYW5nZXMgdGhhdCBhcmUgY29tbW9uIGZvciB0aGUgd2hvbGUgbGlicmFyeV0oaHR0cHM6Ly9naXRodWIuY29tL2RhdGUtZm5zL2RhdGUtZm5zL2Jsb2IvbWFzdGVyL2RvY3MvdXBncmFkZUd1aWRlLm1kI0NvbW1vbi1DaGFuZ2VzKS5cbiAqXG4gKiBAcGFyYW0ge0RhdGV8TnVtYmVyfSBkYXRlIC0gdGhlIGRhdGUgdG8gY2hlY2tcbiAqIEByZXR1cm5zIHtCb29sZWFufSB0aGUgZGF0ZSBpcyBTYXR1cmRheVxuICogQHRocm93cyB7VHlwZUVycm9yfSAxIGFyZ3VtZW50IHJlcXVpcmVkXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIElzIDI3IFNlcHRlbWJlciAyMDE0IFNhdHVyZGF5P1xuICogdmFyIHJlc3VsdCA9IGlzU2F0dXJkYXkobmV3IERhdGUoMjAxNCwgOCwgMjcpKVxuICogLy89PiB0cnVlXG4gKi9cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gaXNTYXR1cmRheShkaXJ0eURhdGUpIHtcbiAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPCAxKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignMSBhcmd1bWVudCByZXF1aXJlZCwgYnV0IG9ubHkgJyArIGFyZ3VtZW50cy5sZW5ndGggKyAnIHByZXNlbnQnKTtcbiAgfVxuXG4gIHJldHVybiB0b0RhdGUoZGlydHlEYXRlKS5nZXREYXkoKSA9PT0gNjtcbn0iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/isSaturday/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/isSunday/index.js": /*!*****************************************************!*\ !*** ./node_modules/date-fns/esm/isSunday/index.js ***! \*****************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return isSunday; });\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n\n/**\n * @name isSunday\n * @category Weekday Helpers\n * @summary Is the given date Sunday?\n *\n * @description\n * Is the given date Sunday?\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to check\n * @returns {Boolean} the date is Sunday\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Is 21 September 2014 Sunday?\n * var result = isSunday(new Date(2014, 8, 21))\n * //=> true\n */\n\nfunction isSunday(dirtyDate) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n return Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate).getDay() === 0;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2lzU3VuZGF5L2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2VzbS9pc1N1bmRheS9pbmRleC5qcz84NTZkIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0b0RhdGUgZnJvbSAnLi4vdG9EYXRlL2luZGV4LmpzJztcbi8qKlxuICogQG5hbWUgaXNTdW5kYXlcbiAqIEBjYXRlZ29yeSBXZWVrZGF5IEhlbHBlcnNcbiAqIEBzdW1tYXJ5IElzIHRoZSBnaXZlbiBkYXRlIFN1bmRheT9cbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIElzIHRoZSBnaXZlbiBkYXRlIFN1bmRheT9cbiAqXG4gKiAjIyMgdjIuMC4wIGJyZWFraW5nIGNoYW5nZXM6XG4gKlxuICogLSBbQ2hhbmdlcyB0aGF0IGFyZSBjb21tb24gZm9yIHRoZSB3aG9sZSBsaWJyYXJ5XShodHRwczovL2dpdGh1Yi5jb20vZGF0ZS1mbnMvZGF0ZS1mbnMvYmxvYi9tYXN0ZXIvZG9jcy91cGdyYWRlR3VpZGUubWQjQ29tbW9uLUNoYW5nZXMpLlxuICpcbiAqIEBwYXJhbSB7RGF0ZXxOdW1iZXJ9IGRhdGUgLSB0aGUgZGF0ZSB0byBjaGVja1xuICogQHJldHVybnMge0Jvb2xlYW59IHRoZSBkYXRlIGlzIFN1bmRheVxuICogQHRocm93cyB7VHlwZUVycm9yfSAxIGFyZ3VtZW50IHJlcXVpcmVkXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIElzIDIxIFNlcHRlbWJlciAyMDE0IFN1bmRheT9cbiAqIHZhciByZXN1bHQgPSBpc1N1bmRheShuZXcgRGF0ZSgyMDE0LCA4LCAyMSkpXG4gKiAvLz0+IHRydWVcbiAqL1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBpc1N1bmRheShkaXJ0eURhdGUpIHtcbiAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPCAxKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignMSBhcmd1bWVudCByZXF1aXJlZCwgYnV0IG9ubHkgJyArIGFyZ3VtZW50cy5sZW5ndGggKyAnIHByZXNlbnQnKTtcbiAgfVxuXG4gIHJldHVybiB0b0RhdGUoZGlydHlEYXRlKS5nZXREYXkoKSA9PT0gMDtcbn0iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/isSunday/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/isThisHour/index.js": /*!*******************************************************!*\ !*** ./node_modules/date-fns/esm/isThisHour/index.js ***! \*******************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return isThisHour; });\n/* harmony import */ var _isSameHour_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../isSameHour/index.js */ \"./node_modules/date-fns/esm/isSameHour/index.js\");\n\n/**\n * @name isThisHour\n * @category Hour Helpers\n * @summary Is the given date in the same hour as the current date?\n * @pure false\n *\n * @description\n * Is the given date in the same hour as the current date?\n *\n * > ⚠️ Please note that this function is not present in the FP submodule as\n * > it uses `Date.now()` internally hence impure and can't be safely curried.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to check\n * @returns {Boolean} the date is in this hour\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // If now is 25 September 2014 18:30:15.500,\n * // is 25 September 2014 18:00:00 in this hour?\n * var result = isThisHour(new Date(2014, 8, 25, 18))\n * //=> true\n */\n\nfunction isThisHour(dirtyDate) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n return Object(_isSameHour_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Date.now(), dirtyDate);\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2lzVGhpc0hvdXIvaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2lzVGhpc0hvdXIvaW5kZXguanM/NTY1NCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgaXNTYW1lSG91ciBmcm9tICcuLi9pc1NhbWVIb3VyL2luZGV4LmpzJztcbi8qKlxuICogQG5hbWUgaXNUaGlzSG91clxuICogQGNhdGVnb3J5IEhvdXIgSGVscGVyc1xuICogQHN1bW1hcnkgSXMgdGhlIGdpdmVuIGRhdGUgaW4gdGhlIHNhbWUgaG91ciBhcyB0aGUgY3VycmVudCBkYXRlP1xuICogQHB1cmUgZmFsc2VcbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIElzIHRoZSBnaXZlbiBkYXRlIGluIHRoZSBzYW1lIGhvdXIgYXMgdGhlIGN1cnJlbnQgZGF0ZT9cbiAqXG4gKiA+IOKaoO+4jyBQbGVhc2Ugbm90ZSB0aGF0IHRoaXMgZnVuY3Rpb24gaXMgbm90IHByZXNlbnQgaW4gdGhlIEZQIHN1Ym1vZHVsZSBhc1xuICogPiBpdCB1c2VzIGBEYXRlLm5vdygpYCBpbnRlcm5hbGx5IGhlbmNlIGltcHVyZSBhbmQgY2FuJ3QgYmUgc2FmZWx5IGN1cnJpZWQuXG4gKlxuICogIyMjIHYyLjAuMCBicmVha2luZyBjaGFuZ2VzOlxuICpcbiAqIC0gW0NoYW5nZXMgdGhhdCBhcmUgY29tbW9uIGZvciB0aGUgd2hvbGUgbGlicmFyeV0oaHR0cHM6Ly9naXRodWIuY29tL2RhdGUtZm5zL2RhdGUtZm5zL2Jsb2IvbWFzdGVyL2RvY3MvdXBncmFkZUd1aWRlLm1kI0NvbW1vbi1DaGFuZ2VzKS5cbiAqXG4gKiBAcGFyYW0ge0RhdGV8TnVtYmVyfSBkYXRlIC0gdGhlIGRhdGUgdG8gY2hlY2tcbiAqIEByZXR1cm5zIHtCb29sZWFufSB0aGUgZGF0ZSBpcyBpbiB0aGlzIGhvdXJcbiAqIEB0aHJvd3Mge1R5cGVFcnJvcn0gMSBhcmd1bWVudCByZXF1aXJlZFxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBJZiBub3cgaXMgMjUgU2VwdGVtYmVyIDIwMTQgMTg6MzA6MTUuNTAwLFxuICogLy8gaXMgMjUgU2VwdGVtYmVyIDIwMTQgMTg6MDA6MDAgaW4gdGhpcyBob3VyP1xuICogdmFyIHJlc3VsdCA9IGlzVGhpc0hvdXIobmV3IERhdGUoMjAxNCwgOCwgMjUsIDE4KSlcbiAqIC8vPT4gdHJ1ZVxuICovXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGlzVGhpc0hvdXIoZGlydHlEYXRlKSB7XG4gIGlmIChhcmd1bWVudHMubGVuZ3RoIDwgMSkge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJzEgYXJndW1lbnQgcmVxdWlyZWQsIGJ1dCBvbmx5ICcgKyBhcmd1bWVudHMubGVuZ3RoICsgJyBwcmVzZW50Jyk7XG4gIH1cblxuICByZXR1cm4gaXNTYW1lSG91cihEYXRlLm5vdygpLCBkaXJ0eURhdGUpO1xufSJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/isThisHour/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/isThisISOWeek/index.js": /*!**********************************************************!*\ !*** ./node_modules/date-fns/esm/isThisISOWeek/index.js ***! \**********************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return isThisISOWeek; });\n/* harmony import */ var _isSameISOWeek_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../isSameISOWeek/index.js */ \"./node_modules/date-fns/esm/isSameISOWeek/index.js\");\n\n/**\n * @name isThisISOWeek\n * @category ISO Week Helpers\n * @summary Is the given date in the same ISO week as the current date?\n * @pure false\n *\n * @description\n * Is the given date in the same ISO week as the current date?\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * > ⚠️ Please note that this function is not present in the FP submodule as\n * > it uses `Date.now()` internally hence impure and can't be safely curried.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to check\n * @returns {Boolean} the date is in this ISO week\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // If today is 25 September 2014, is 22 September 2014 in this ISO week?\n * var result = isThisISOWeek(new Date(2014, 8, 22))\n * //=> true\n */\n\nfunction isThisISOWeek(dirtyDate) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n return Object(_isSameISOWeek_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate, Date.now());\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2lzVGhpc0lTT1dlZWsvaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2lzVGhpc0lTT1dlZWsvaW5kZXguanM/NWJkNSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgaXNTYW1lSVNPV2VlayBmcm9tICcuLi9pc1NhbWVJU09XZWVrL2luZGV4LmpzJztcbi8qKlxuICogQG5hbWUgaXNUaGlzSVNPV2Vla1xuICogQGNhdGVnb3J5IElTTyBXZWVrIEhlbHBlcnNcbiAqIEBzdW1tYXJ5IElzIHRoZSBnaXZlbiBkYXRlIGluIHRoZSBzYW1lIElTTyB3ZWVrIGFzIHRoZSBjdXJyZW50IGRhdGU/XG4gKiBAcHVyZSBmYWxzZVxuICpcbiAqIEBkZXNjcmlwdGlvblxuICogSXMgdGhlIGdpdmVuIGRhdGUgaW4gdGhlIHNhbWUgSVNPIHdlZWsgYXMgdGhlIGN1cnJlbnQgZGF0ZT9cbiAqXG4gKiBJU08gd2Vlay1udW1iZXJpbmcgeWVhcjogaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9JU09fd2Vla19kYXRlXG4gKlxuICogPiDimqDvuI8gUGxlYXNlIG5vdGUgdGhhdCB0aGlzIGZ1bmN0aW9uIGlzIG5vdCBwcmVzZW50IGluIHRoZSBGUCBzdWJtb2R1bGUgYXNcbiAqID4gaXQgdXNlcyBgRGF0ZS5ub3coKWAgaW50ZXJuYWxseSBoZW5jZSBpbXB1cmUgYW5kIGNhbid0IGJlIHNhZmVseSBjdXJyaWVkLlxuICpcbiAqICMjIyB2Mi4wLjAgYnJlYWtpbmcgY2hhbmdlczpcbiAqXG4gKiAtIFtDaGFuZ2VzIHRoYXQgYXJlIGNvbW1vbiBmb3IgdGhlIHdob2xlIGxpYnJhcnldKGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRlLWZucy9kYXRlLWZucy9ibG9iL21hc3Rlci9kb2NzL3VwZ3JhZGVHdWlkZS5tZCNDb21tb24tQ2hhbmdlcykuXG4gKlxuICogQHBhcmFtIHtEYXRlfE51bWJlcn0gZGF0ZSAtIHRoZSBkYXRlIHRvIGNoZWNrXG4gKiBAcmV0dXJucyB7Qm9vbGVhbn0gdGhlIGRhdGUgaXMgaW4gdGhpcyBJU08gd2Vla1xuICogQHRocm93cyB7VHlwZUVycm9yfSAxIGFyZ3VtZW50IHJlcXVpcmVkXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIElmIHRvZGF5IGlzIDI1IFNlcHRlbWJlciAyMDE0LCBpcyAyMiBTZXB0ZW1iZXIgMjAxNCBpbiB0aGlzIElTTyB3ZWVrP1xuICogdmFyIHJlc3VsdCA9IGlzVGhpc0lTT1dlZWsobmV3IERhdGUoMjAxNCwgOCwgMjIpKVxuICogLy89PiB0cnVlXG4gKi9cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gaXNUaGlzSVNPV2VlayhkaXJ0eURhdGUpIHtcbiAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPCAxKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignMSBhcmd1bWVudCByZXF1aXJlZCwgYnV0IG9ubHkgJyArIGFyZ3VtZW50cy5sZW5ndGggKyAnIHByZXNlbnQnKTtcbiAgfVxuXG4gIHJldHVybiBpc1NhbWVJU09XZWVrKGRpcnR5RGF0ZSwgRGF0ZS5ub3coKSk7XG59Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/isThisISOWeek/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/isThisMinute/index.js": /*!*********************************************************!*\ !*** ./node_modules/date-fns/esm/isThisMinute/index.js ***! \*********************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return isThisMinute; });\n/* harmony import */ var _isSameMinute_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../isSameMinute/index.js */ \"./node_modules/date-fns/esm/isSameMinute/index.js\");\n\n/**\n * @name isThisMinute\n * @category Minute Helpers\n * @summary Is the given date in the same minute as the current date?\n * @pure false\n *\n * @description\n * Is the given date in the same minute as the current date?\n *\n * > ⚠️ Please note that this function is not present in the FP submodule as\n * > it uses `Date.now()` internally hence impure and can't be safely curried.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to check\n * @returns {Boolean} the date is in this minute\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // If now is 25 September 2014 18:30:15.500,\n * // is 25 September 2014 18:30:00 in this minute?\n * var result = isThisMinute(new Date(2014, 8, 25, 18, 30))\n * //=> true\n */\n\nfunction isThisMinute(dirtyDate) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n return Object(_isSameMinute_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Date.now(), dirtyDate);\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2lzVGhpc01pbnV0ZS9pbmRleC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9kYXRlLWZucy9lc20vaXNUaGlzTWludXRlL2luZGV4LmpzPzMxNTgiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGlzU2FtZU1pbnV0ZSBmcm9tICcuLi9pc1NhbWVNaW51dGUvaW5kZXguanMnO1xuLyoqXG4gKiBAbmFtZSBpc1RoaXNNaW51dGVcbiAqIEBjYXRlZ29yeSBNaW51dGUgSGVscGVyc1xuICogQHN1bW1hcnkgSXMgdGhlIGdpdmVuIGRhdGUgaW4gdGhlIHNhbWUgbWludXRlIGFzIHRoZSBjdXJyZW50IGRhdGU/XG4gKiBAcHVyZSBmYWxzZVxuICpcbiAqIEBkZXNjcmlwdGlvblxuICogSXMgdGhlIGdpdmVuIGRhdGUgaW4gdGhlIHNhbWUgbWludXRlIGFzIHRoZSBjdXJyZW50IGRhdGU/XG4gKlxuICogPiDimqDvuI8gUGxlYXNlIG5vdGUgdGhhdCB0aGlzIGZ1bmN0aW9uIGlzIG5vdCBwcmVzZW50IGluIHRoZSBGUCBzdWJtb2R1bGUgYXNcbiAqID4gaXQgdXNlcyBgRGF0ZS5ub3coKWAgaW50ZXJuYWxseSBoZW5jZSBpbXB1cmUgYW5kIGNhbid0IGJlIHNhZmVseSBjdXJyaWVkLlxuICpcbiAqICMjIyB2Mi4wLjAgYnJlYWtpbmcgY2hhbmdlczpcbiAqXG4gKiAtIFtDaGFuZ2VzIHRoYXQgYXJlIGNvbW1vbiBmb3IgdGhlIHdob2xlIGxpYnJhcnldKGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRlLWZucy9kYXRlLWZucy9ibG9iL21hc3Rlci9kb2NzL3VwZ3JhZGVHdWlkZS5tZCNDb21tb24tQ2hhbmdlcykuXG4gKlxuICogQHBhcmFtIHtEYXRlfE51bWJlcn0gZGF0ZSAtIHRoZSBkYXRlIHRvIGNoZWNrXG4gKiBAcmV0dXJucyB7Qm9vbGVhbn0gdGhlIGRhdGUgaXMgaW4gdGhpcyBtaW51dGVcbiAqIEB0aHJvd3Mge1R5cGVFcnJvcn0gMSBhcmd1bWVudCByZXF1aXJlZFxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBJZiBub3cgaXMgMjUgU2VwdGVtYmVyIDIwMTQgMTg6MzA6MTUuNTAwLFxuICogLy8gaXMgMjUgU2VwdGVtYmVyIDIwMTQgMTg6MzA6MDAgaW4gdGhpcyBtaW51dGU/XG4gKiB2YXIgcmVzdWx0ID0gaXNUaGlzTWludXRlKG5ldyBEYXRlKDIwMTQsIDgsIDI1LCAxOCwgMzApKVxuICogLy89PiB0cnVlXG4gKi9cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gaXNUaGlzTWludXRlKGRpcnR5RGF0ZSkge1xuICBpZiAoYXJndW1lbnRzLmxlbmd0aCA8IDEpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCcxIGFyZ3VtZW50IHJlcXVpcmVkLCBidXQgb25seSAnICsgYXJndW1lbnRzLmxlbmd0aCArICcgcHJlc2VudCcpO1xuICB9XG5cbiAgcmV0dXJuIGlzU2FtZU1pbnV0ZShEYXRlLm5vdygpLCBkaXJ0eURhdGUpO1xufSJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/isThisMinute/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/isThisMonth/index.js": /*!********************************************************!*\ !*** ./node_modules/date-fns/esm/isThisMonth/index.js ***! \********************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return isThisMonth; });\n/* harmony import */ var _isSameMonth_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../isSameMonth/index.js */ \"./node_modules/date-fns/esm/isSameMonth/index.js\");\n\n/**\n * @name isThisMonth\n * @category Month Helpers\n * @summary Is the given date in the same month as the current date?\n * @pure false\n *\n * @description\n * Is the given date in the same month as the current date?\n *\n * > ⚠️ Please note that this function is not present in the FP submodule as\n * > it uses `Date.now()` internally hence impure and can't be safely curried.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to check\n * @returns {Boolean} the date is in this month\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // If today is 25 September 2014, is 15 September 2014 in this month?\n * var result = isThisMonth(new Date(2014, 8, 15))\n * //=> true\n */\n\nfunction isThisMonth(dirtyDate) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n return Object(_isSameMonth_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Date.now(), dirtyDate);\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2lzVGhpc01vbnRoL2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2VzbS9pc1RoaXNNb250aC9pbmRleC5qcz9iYmZjIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBpc1NhbWVNb250aCBmcm9tICcuLi9pc1NhbWVNb250aC9pbmRleC5qcyc7XG4vKipcbiAqIEBuYW1lIGlzVGhpc01vbnRoXG4gKiBAY2F0ZWdvcnkgTW9udGggSGVscGVyc1xuICogQHN1bW1hcnkgSXMgdGhlIGdpdmVuIGRhdGUgaW4gdGhlIHNhbWUgbW9udGggYXMgdGhlIGN1cnJlbnQgZGF0ZT9cbiAqIEBwdXJlIGZhbHNlXG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKiBJcyB0aGUgZ2l2ZW4gZGF0ZSBpbiB0aGUgc2FtZSBtb250aCBhcyB0aGUgY3VycmVudCBkYXRlP1xuICpcbiAqID4g4pqg77iPIFBsZWFzZSBub3RlIHRoYXQgdGhpcyBmdW5jdGlvbiBpcyBub3QgcHJlc2VudCBpbiB0aGUgRlAgc3VibW9kdWxlIGFzXG4gKiA+IGl0IHVzZXMgYERhdGUubm93KClgIGludGVybmFsbHkgaGVuY2UgaW1wdXJlIGFuZCBjYW4ndCBiZSBzYWZlbHkgY3VycmllZC5cbiAqXG4gKiAjIyMgdjIuMC4wIGJyZWFraW5nIGNoYW5nZXM6XG4gKlxuICogLSBbQ2hhbmdlcyB0aGF0IGFyZSBjb21tb24gZm9yIHRoZSB3aG9sZSBsaWJyYXJ5XShodHRwczovL2dpdGh1Yi5jb20vZGF0ZS1mbnMvZGF0ZS1mbnMvYmxvYi9tYXN0ZXIvZG9jcy91cGdyYWRlR3VpZGUubWQjQ29tbW9uLUNoYW5nZXMpLlxuICpcbiAqIEBwYXJhbSB7RGF0ZXxOdW1iZXJ9IGRhdGUgLSB0aGUgZGF0ZSB0byBjaGVja1xuICogQHJldHVybnMge0Jvb2xlYW59IHRoZSBkYXRlIGlzIGluIHRoaXMgbW9udGhcbiAqIEB0aHJvd3Mge1R5cGVFcnJvcn0gMSBhcmd1bWVudCByZXF1aXJlZFxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBJZiB0b2RheSBpcyAyNSBTZXB0ZW1iZXIgMjAxNCwgaXMgMTUgU2VwdGVtYmVyIDIwMTQgaW4gdGhpcyBtb250aD9cbiAqIHZhciByZXN1bHQgPSBpc1RoaXNNb250aChuZXcgRGF0ZSgyMDE0LCA4LCAxNSkpXG4gKiAvLz0+IHRydWVcbiAqL1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBpc1RoaXNNb250aChkaXJ0eURhdGUpIHtcbiAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPCAxKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignMSBhcmd1bWVudCByZXF1aXJlZCwgYnV0IG9ubHkgJyArIGFyZ3VtZW50cy5sZW5ndGggKyAnIHByZXNlbnQnKTtcbiAgfVxuXG4gIHJldHVybiBpc1NhbWVNb250aChEYXRlLm5vdygpLCBkaXJ0eURhdGUpO1xufSJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/isThisMonth/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/isThisQuarter/index.js": /*!**********************************************************!*\ !*** ./node_modules/date-fns/esm/isThisQuarter/index.js ***! \**********************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return isThisQuarter; });\n/* harmony import */ var _isSameQuarter_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../isSameQuarter/index.js */ \"./node_modules/date-fns/esm/isSameQuarter/index.js\");\n\n/**\n * @name isThisQuarter\n * @category Quarter Helpers\n * @summary Is the given date in the same quarter as the current date?\n * @pure false\n *\n * @description\n * Is the given date in the same quarter as the current date?\n *\n * > ⚠️ Please note that this function is not present in the FP submodule as\n * > it uses `Date.now()` internally hence impure and can't be safely curried.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to check\n * @returns {Boolean} the date is in this quarter\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // If today is 25 September 2014, is 2 July 2014 in this quarter?\n * var result = isThisQuarter(new Date(2014, 6, 2))\n * //=> true\n */\n\nfunction isThisQuarter(dirtyDate) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n return Object(_isSameQuarter_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Date.now(), dirtyDate);\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2lzVGhpc1F1YXJ0ZXIvaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2lzVGhpc1F1YXJ0ZXIvaW5kZXguanM/YzM3MyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgaXNTYW1lUXVhcnRlciBmcm9tICcuLi9pc1NhbWVRdWFydGVyL2luZGV4LmpzJztcbi8qKlxuICogQG5hbWUgaXNUaGlzUXVhcnRlclxuICogQGNhdGVnb3J5IFF1YXJ0ZXIgSGVscGVyc1xuICogQHN1bW1hcnkgSXMgdGhlIGdpdmVuIGRhdGUgaW4gdGhlIHNhbWUgcXVhcnRlciBhcyB0aGUgY3VycmVudCBkYXRlP1xuICogQHB1cmUgZmFsc2VcbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIElzIHRoZSBnaXZlbiBkYXRlIGluIHRoZSBzYW1lIHF1YXJ0ZXIgYXMgdGhlIGN1cnJlbnQgZGF0ZT9cbiAqXG4gKiA+IOKaoO+4jyBQbGVhc2Ugbm90ZSB0aGF0IHRoaXMgZnVuY3Rpb24gaXMgbm90IHByZXNlbnQgaW4gdGhlIEZQIHN1Ym1vZHVsZSBhc1xuICogPiBpdCB1c2VzIGBEYXRlLm5vdygpYCBpbnRlcm5hbGx5IGhlbmNlIGltcHVyZSBhbmQgY2FuJ3QgYmUgc2FmZWx5IGN1cnJpZWQuXG4gKlxuICogIyMjIHYyLjAuMCBicmVha2luZyBjaGFuZ2VzOlxuICpcbiAqIC0gW0NoYW5nZXMgdGhhdCBhcmUgY29tbW9uIGZvciB0aGUgd2hvbGUgbGlicmFyeV0oaHR0cHM6Ly9naXRodWIuY29tL2RhdGUtZm5zL2RhdGUtZm5zL2Jsb2IvbWFzdGVyL2RvY3MvdXBncmFkZUd1aWRlLm1kI0NvbW1vbi1DaGFuZ2VzKS5cbiAqXG4gKiBAcGFyYW0ge0RhdGV8TnVtYmVyfSBkYXRlIC0gdGhlIGRhdGUgdG8gY2hlY2tcbiAqIEByZXR1cm5zIHtCb29sZWFufSB0aGUgZGF0ZSBpcyBpbiB0aGlzIHF1YXJ0ZXJcbiAqIEB0aHJvd3Mge1R5cGVFcnJvcn0gMSBhcmd1bWVudCByZXF1aXJlZFxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBJZiB0b2RheSBpcyAyNSBTZXB0ZW1iZXIgMjAxNCwgaXMgMiBKdWx5IDIwMTQgaW4gdGhpcyBxdWFydGVyP1xuICogdmFyIHJlc3VsdCA9IGlzVGhpc1F1YXJ0ZXIobmV3IERhdGUoMjAxNCwgNiwgMikpXG4gKiAvLz0+IHRydWVcbiAqL1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBpc1RoaXNRdWFydGVyKGRpcnR5RGF0ZSkge1xuICBpZiAoYXJndW1lbnRzLmxlbmd0aCA8IDEpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCcxIGFyZ3VtZW50IHJlcXVpcmVkLCBidXQgb25seSAnICsgYXJndW1lbnRzLmxlbmd0aCArICcgcHJlc2VudCcpO1xuICB9XG5cbiAgcmV0dXJuIGlzU2FtZVF1YXJ0ZXIoRGF0ZS5ub3coKSwgZGlydHlEYXRlKTtcbn0iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/isThisQuarter/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/isThisSecond/index.js": /*!*********************************************************!*\ !*** ./node_modules/date-fns/esm/isThisSecond/index.js ***! \*********************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return isThisSecond; });\n/* harmony import */ var _isSameSecond_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../isSameSecond/index.js */ \"./node_modules/date-fns/esm/isSameSecond/index.js\");\n\n/**\n * @name isThisSecond\n * @category Second Helpers\n * @summary Is the given date in the same second as the current date?\n * @pure false\n *\n * @description\n * Is the given date in the same second as the current date?\n *\n * > ⚠️ Please note that this function is not present in the FP submodule as\n * > it uses `Date.now()` internally hence impure and can't be safely curried.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to check\n * @returns {Boolean} the date is in this second\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // If now is 25 September 2014 18:30:15.500,\n * // is 25 September 2014 18:30:15.000 in this second?\n * var result = isThisSecond(new Date(2014, 8, 25, 18, 30, 15))\n * //=> true\n */\n\nfunction isThisSecond(dirtyDate) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n return Object(_isSameSecond_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Date.now(), dirtyDate);\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2lzVGhpc1NlY29uZC9pbmRleC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9kYXRlLWZucy9lc20vaXNUaGlzU2Vjb25kL2luZGV4LmpzPzAxNjciXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGlzU2FtZVNlY29uZCBmcm9tICcuLi9pc1NhbWVTZWNvbmQvaW5kZXguanMnO1xuLyoqXG4gKiBAbmFtZSBpc1RoaXNTZWNvbmRcbiAqIEBjYXRlZ29yeSBTZWNvbmQgSGVscGVyc1xuICogQHN1bW1hcnkgSXMgdGhlIGdpdmVuIGRhdGUgaW4gdGhlIHNhbWUgc2Vjb25kIGFzIHRoZSBjdXJyZW50IGRhdGU/XG4gKiBAcHVyZSBmYWxzZVxuICpcbiAqIEBkZXNjcmlwdGlvblxuICogSXMgdGhlIGdpdmVuIGRhdGUgaW4gdGhlIHNhbWUgc2Vjb25kIGFzIHRoZSBjdXJyZW50IGRhdGU/XG4gKlxuICogPiDimqDvuI8gUGxlYXNlIG5vdGUgdGhhdCB0aGlzIGZ1bmN0aW9uIGlzIG5vdCBwcmVzZW50IGluIHRoZSBGUCBzdWJtb2R1bGUgYXNcbiAqID4gaXQgdXNlcyBgRGF0ZS5ub3coKWAgaW50ZXJuYWxseSBoZW5jZSBpbXB1cmUgYW5kIGNhbid0IGJlIHNhZmVseSBjdXJyaWVkLlxuICpcbiAqICMjIyB2Mi4wLjAgYnJlYWtpbmcgY2hhbmdlczpcbiAqXG4gKiAtIFtDaGFuZ2VzIHRoYXQgYXJlIGNvbW1vbiBmb3IgdGhlIHdob2xlIGxpYnJhcnldKGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRlLWZucy9kYXRlLWZucy9ibG9iL21hc3Rlci9kb2NzL3VwZ3JhZGVHdWlkZS5tZCNDb21tb24tQ2hhbmdlcykuXG4gKlxuICogQHBhcmFtIHtEYXRlfE51bWJlcn0gZGF0ZSAtIHRoZSBkYXRlIHRvIGNoZWNrXG4gKiBAcmV0dXJucyB7Qm9vbGVhbn0gdGhlIGRhdGUgaXMgaW4gdGhpcyBzZWNvbmRcbiAqIEB0aHJvd3Mge1R5cGVFcnJvcn0gMSBhcmd1bWVudCByZXF1aXJlZFxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBJZiBub3cgaXMgMjUgU2VwdGVtYmVyIDIwMTQgMTg6MzA6MTUuNTAwLFxuICogLy8gaXMgMjUgU2VwdGVtYmVyIDIwMTQgMTg6MzA6MTUuMDAwIGluIHRoaXMgc2Vjb25kP1xuICogdmFyIHJlc3VsdCA9IGlzVGhpc1NlY29uZChuZXcgRGF0ZSgyMDE0LCA4LCAyNSwgMTgsIDMwLCAxNSkpXG4gKiAvLz0+IHRydWVcbiAqL1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBpc1RoaXNTZWNvbmQoZGlydHlEYXRlKSB7XG4gIGlmIChhcmd1bWVudHMubGVuZ3RoIDwgMSkge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJzEgYXJndW1lbnQgcmVxdWlyZWQsIGJ1dCBvbmx5ICcgKyBhcmd1bWVudHMubGVuZ3RoICsgJyBwcmVzZW50Jyk7XG4gIH1cblxuICByZXR1cm4gaXNTYW1lU2Vjb25kKERhdGUubm93KCksIGRpcnR5RGF0ZSk7XG59Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/isThisSecond/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/isThisWeek/index.js": /*!*******************************************************!*\ !*** ./node_modules/date-fns/esm/isThisWeek/index.js ***! \*******************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return isThisWeek; });\n/* harmony import */ var _isSameWeek_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../isSameWeek/index.js */ \"./node_modules/date-fns/esm/isSameWeek/index.js\");\n\n/**\n * @name isThisWeek\n * @category Week Helpers\n * @summary Is the given date in the same week as the current date?\n * @pure false\n *\n * @description\n * Is the given date in the same week as the current date?\n *\n * > ⚠️ Please note that this function is not present in the FP submodule as\n * > it uses `Date.now()` internally hence impure and can't be safely curried.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to check\n * @param {Object} [options] - the object with options\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\n * @returns {Boolean} the date is in this week\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6\n *\n * @example\n * // If today is 25 September 2014, is 21 September 2014 in this week?\n * var result = isThisWeek(new Date(2014, 8, 21))\n * //=> true\n *\n * @example\n * // If today is 25 September 2014 and week starts with Monday\n * // is 21 September 2014 in this week?\n * var result = isThisWeek(new Date(2014, 8, 21), { weekStartsOn: 1 })\n * //=> false\n */\n\nfunction isThisWeek(dirtyDate, options) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n return Object(_isSameWeek_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate, Date.now(), options);\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2lzVGhpc1dlZWsvaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2lzVGhpc1dlZWsvaW5kZXguanM/ZGZlMSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgaXNTYW1lV2VlayBmcm9tICcuLi9pc1NhbWVXZWVrL2luZGV4LmpzJztcbi8qKlxuICogQG5hbWUgaXNUaGlzV2Vla1xuICogQGNhdGVnb3J5IFdlZWsgSGVscGVyc1xuICogQHN1bW1hcnkgSXMgdGhlIGdpdmVuIGRhdGUgaW4gdGhlIHNhbWUgd2VlayBhcyB0aGUgY3VycmVudCBkYXRlP1xuICogQHB1cmUgZmFsc2VcbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIElzIHRoZSBnaXZlbiBkYXRlIGluIHRoZSBzYW1lIHdlZWsgYXMgdGhlIGN1cnJlbnQgZGF0ZT9cbiAqXG4gKiA+IOKaoO+4jyBQbGVhc2Ugbm90ZSB0aGF0IHRoaXMgZnVuY3Rpb24gaXMgbm90IHByZXNlbnQgaW4gdGhlIEZQIHN1Ym1vZHVsZSBhc1xuICogPiBpdCB1c2VzIGBEYXRlLm5vdygpYCBpbnRlcm5hbGx5IGhlbmNlIGltcHVyZSBhbmQgY2FuJ3QgYmUgc2FmZWx5IGN1cnJpZWQuXG4gKlxuICogIyMjIHYyLjAuMCBicmVha2luZyBjaGFuZ2VzOlxuICpcbiAqIC0gW0NoYW5nZXMgdGhhdCBhcmUgY29tbW9uIGZvciB0aGUgd2hvbGUgbGlicmFyeV0oaHR0cHM6Ly9naXRodWIuY29tL2RhdGUtZm5zL2RhdGUtZm5zL2Jsb2IvbWFzdGVyL2RvY3MvdXBncmFkZUd1aWRlLm1kI0NvbW1vbi1DaGFuZ2VzKS5cbiAqXG4gKiBAcGFyYW0ge0RhdGV8TnVtYmVyfSBkYXRlIC0gdGhlIGRhdGUgdG8gY2hlY2tcbiAqIEBwYXJhbSB7T2JqZWN0fSBbb3B0aW9uc10gLSB0aGUgb2JqZWN0IHdpdGggb3B0aW9uc1xuICogQHBhcmFtIHtMb2NhbGV9IFtvcHRpb25zLmxvY2FsZT1kZWZhdWx0TG9jYWxlXSAtIHRoZSBsb2NhbGUgb2JqZWN0LiBTZWUgW0xvY2FsZV17QGxpbmsgaHR0cHM6Ly9kYXRlLWZucy5vcmcvZG9jcy9Mb2NhbGV9XG4gKiBAcGFyYW0gezB8MXwyfDN8NHw1fDZ9IFtvcHRpb25zLndlZWtTdGFydHNPbj0wXSAtIHRoZSBpbmRleCBvZiB0aGUgZmlyc3QgZGF5IG9mIHRoZSB3ZWVrICgwIC0gU3VuZGF5KVxuICogQHJldHVybnMge0Jvb2xlYW59IHRoZSBkYXRlIGlzIGluIHRoaXMgd2Vla1xuICogQHRocm93cyB7VHlwZUVycm9yfSAxIGFyZ3VtZW50IHJlcXVpcmVkXG4gKiBAdGhyb3dzIHtSYW5nZUVycm9yfSBgb3B0aW9ucy53ZWVrU3RhcnRzT25gIG11c3QgYmUgYmV0d2VlbiAwIGFuZCA2XG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIElmIHRvZGF5IGlzIDI1IFNlcHRlbWJlciAyMDE0LCBpcyAyMSBTZXB0ZW1iZXIgMjAxNCBpbiB0aGlzIHdlZWs/XG4gKiB2YXIgcmVzdWx0ID0gaXNUaGlzV2VlayhuZXcgRGF0ZSgyMDE0LCA4LCAyMSkpXG4gKiAvLz0+IHRydWVcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gSWYgdG9kYXkgaXMgMjUgU2VwdGVtYmVyIDIwMTQgYW5kIHdlZWsgc3RhcnRzIHdpdGggTW9uZGF5XG4gKiAvLyBpcyAyMSBTZXB0ZW1iZXIgMjAxNCBpbiB0aGlzIHdlZWs/XG4gKiB2YXIgcmVzdWx0ID0gaXNUaGlzV2VlayhuZXcgRGF0ZSgyMDE0LCA4LCAyMSksIHsgd2Vla1N0YXJ0c09uOiAxIH0pXG4gKiAvLz0+IGZhbHNlXG4gKi9cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gaXNUaGlzV2VlayhkaXJ0eURhdGUsIG9wdGlvbnMpIHtcbiAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPCAxKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignMSBhcmd1bWVudCByZXF1aXJlZCwgYnV0IG9ubHkgJyArIGFyZ3VtZW50cy5sZW5ndGggKyAnIHByZXNlbnQnKTtcbiAgfVxuXG4gIHJldHVybiBpc1NhbWVXZWVrKGRpcnR5RGF0ZSwgRGF0ZS5ub3coKSwgb3B0aW9ucyk7XG59Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/isThisWeek/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/isThisYear/index.js": /*!*******************************************************!*\ !*** ./node_modules/date-fns/esm/isThisYear/index.js ***! \*******************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return isThisYear; });\n/* harmony import */ var _isSameYear_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../isSameYear/index.js */ \"./node_modules/date-fns/esm/isSameYear/index.js\");\n\n/**\n * @name isThisYear\n * @category Year Helpers\n * @summary Is the given date in the same year as the current date?\n * @pure false\n *\n * @description\n * Is the given date in the same year as the current date?\n *\n * > ⚠️ Please note that this function is not present in the FP submodule as\n * > it uses `Date.now()` internally hence impure and can't be safely curried.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to check\n * @returns {Boolean} the date is in this year\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // If today is 25 September 2014, is 2 July 2014 in this year?\n * var result = isThisYear(new Date(2014, 6, 2))\n * //=> true\n */\n\nfunction isThisYear(dirtyDate) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n return Object(_isSameYear_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate, Date.now());\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2lzVGhpc1llYXIvaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2lzVGhpc1llYXIvaW5kZXguanM/MzI0NSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgaXNTYW1lWWVhciBmcm9tICcuLi9pc1NhbWVZZWFyL2luZGV4LmpzJztcbi8qKlxuICogQG5hbWUgaXNUaGlzWWVhclxuICogQGNhdGVnb3J5IFllYXIgSGVscGVyc1xuICogQHN1bW1hcnkgSXMgdGhlIGdpdmVuIGRhdGUgaW4gdGhlIHNhbWUgeWVhciBhcyB0aGUgY3VycmVudCBkYXRlP1xuICogQHB1cmUgZmFsc2VcbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIElzIHRoZSBnaXZlbiBkYXRlIGluIHRoZSBzYW1lIHllYXIgYXMgdGhlIGN1cnJlbnQgZGF0ZT9cbiAqXG4gKiA+IOKaoO+4jyBQbGVhc2Ugbm90ZSB0aGF0IHRoaXMgZnVuY3Rpb24gaXMgbm90IHByZXNlbnQgaW4gdGhlIEZQIHN1Ym1vZHVsZSBhc1xuICogPiBpdCB1c2VzIGBEYXRlLm5vdygpYCBpbnRlcm5hbGx5IGhlbmNlIGltcHVyZSBhbmQgY2FuJ3QgYmUgc2FmZWx5IGN1cnJpZWQuXG4gKlxuICogIyMjIHYyLjAuMCBicmVha2luZyBjaGFuZ2VzOlxuICpcbiAqIC0gW0NoYW5nZXMgdGhhdCBhcmUgY29tbW9uIGZvciB0aGUgd2hvbGUgbGlicmFyeV0oaHR0cHM6Ly9naXRodWIuY29tL2RhdGUtZm5zL2RhdGUtZm5zL2Jsb2IvbWFzdGVyL2RvY3MvdXBncmFkZUd1aWRlLm1kI0NvbW1vbi1DaGFuZ2VzKS5cbiAqXG4gKiBAcGFyYW0ge0RhdGV8TnVtYmVyfSBkYXRlIC0gdGhlIGRhdGUgdG8gY2hlY2tcbiAqIEByZXR1cm5zIHtCb29sZWFufSB0aGUgZGF0ZSBpcyBpbiB0aGlzIHllYXJcbiAqIEB0aHJvd3Mge1R5cGVFcnJvcn0gMSBhcmd1bWVudCByZXF1aXJlZFxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBJZiB0b2RheSBpcyAyNSBTZXB0ZW1iZXIgMjAxNCwgaXMgMiBKdWx5IDIwMTQgaW4gdGhpcyB5ZWFyP1xuICogdmFyIHJlc3VsdCA9IGlzVGhpc1llYXIobmV3IERhdGUoMjAxNCwgNiwgMikpXG4gKiAvLz0+IHRydWVcbiAqL1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBpc1RoaXNZZWFyKGRpcnR5RGF0ZSkge1xuICBpZiAoYXJndW1lbnRzLmxlbmd0aCA8IDEpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCcxIGFyZ3VtZW50IHJlcXVpcmVkLCBidXQgb25seSAnICsgYXJndW1lbnRzLmxlbmd0aCArICcgcHJlc2VudCcpO1xuICB9XG5cbiAgcmV0dXJuIGlzU2FtZVllYXIoZGlydHlEYXRlLCBEYXRlLm5vdygpKTtcbn0iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/isThisYear/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/isThursday/index.js": /*!*******************************************************!*\ !*** ./node_modules/date-fns/esm/isThursday/index.js ***! \*******************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return isThursday; });\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n\n/**\n * @name isThursday\n * @category Weekday Helpers\n * @summary Is the given date Thursday?\n *\n * @description\n * Is the given date Thursday?\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to check\n * @returns {Boolean} the date is Thursday\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Is 25 September 2014 Thursday?\n * var result = isThursday(new Date(2014, 8, 25))\n * //=> true\n */\n\nfunction isThursday(dirtyDate) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n return Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate).getDay() === 4;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2lzVGh1cnNkYXkvaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2lzVGh1cnNkYXkvaW5kZXguanM/MWZhNSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdG9EYXRlIGZyb20gJy4uL3RvRGF0ZS9pbmRleC5qcyc7XG4vKipcbiAqIEBuYW1lIGlzVGh1cnNkYXlcbiAqIEBjYXRlZ29yeSBXZWVrZGF5IEhlbHBlcnNcbiAqIEBzdW1tYXJ5IElzIHRoZSBnaXZlbiBkYXRlIFRodXJzZGF5P1xuICpcbiAqIEBkZXNjcmlwdGlvblxuICogSXMgdGhlIGdpdmVuIGRhdGUgVGh1cnNkYXk/XG4gKlxuICogIyMjIHYyLjAuMCBicmVha2luZyBjaGFuZ2VzOlxuICpcbiAqIC0gW0NoYW5nZXMgdGhhdCBhcmUgY29tbW9uIGZvciB0aGUgd2hvbGUgbGlicmFyeV0oaHR0cHM6Ly9naXRodWIuY29tL2RhdGUtZm5zL2RhdGUtZm5zL2Jsb2IvbWFzdGVyL2RvY3MvdXBncmFkZUd1aWRlLm1kI0NvbW1vbi1DaGFuZ2VzKS5cbiAqXG4gKiBAcGFyYW0ge0RhdGV8TnVtYmVyfSBkYXRlIC0gdGhlIGRhdGUgdG8gY2hlY2tcbiAqIEByZXR1cm5zIHtCb29sZWFufSB0aGUgZGF0ZSBpcyBUaHVyc2RheVxuICogQHRocm93cyB7VHlwZUVycm9yfSAxIGFyZ3VtZW50IHJlcXVpcmVkXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIElzIDI1IFNlcHRlbWJlciAyMDE0IFRodXJzZGF5P1xuICogdmFyIHJlc3VsdCA9IGlzVGh1cnNkYXkobmV3IERhdGUoMjAxNCwgOCwgMjUpKVxuICogLy89PiB0cnVlXG4gKi9cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gaXNUaHVyc2RheShkaXJ0eURhdGUpIHtcbiAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPCAxKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignMSBhcmd1bWVudCByZXF1aXJlZCwgYnV0IG9ubHkgJyArIGFyZ3VtZW50cy5sZW5ndGggKyAnIHByZXNlbnQnKTtcbiAgfVxuXG4gIHJldHVybiB0b0RhdGUoZGlydHlEYXRlKS5nZXREYXkoKSA9PT0gNDtcbn0iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/isThursday/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/isToday/index.js": /*!****************************************************!*\ !*** ./node_modules/date-fns/esm/isToday/index.js ***! \****************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return isToday; });\n/* harmony import */ var _isSameDay_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../isSameDay/index.js */ \"./node_modules/date-fns/esm/isSameDay/index.js\");\n\n/**\n * @name isToday\n * @category Day Helpers\n * @summary Is the given date today?\n * @pure false\n *\n * @description\n * Is the given date today?\n *\n * > ⚠️ Please note that this function is not present in the FP submodule as\n * > it uses `Date.now()` internally hence impure and can't be safely curried.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to check\n * @returns {Boolean} the date is today\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // If today is 6 October 2014, is 6 October 14:00:00 today?\n * var result = isToday(new Date(2014, 9, 6, 14, 0))\n * //=> true\n */\n\nfunction isToday(dirtyDate) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n return Object(_isSameDay_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate, Date.now());\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2lzVG9kYXkvaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2lzVG9kYXkvaW5kZXguanM/NGUzMSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgaXNTYW1lRGF5IGZyb20gJy4uL2lzU2FtZURheS9pbmRleC5qcyc7XG4vKipcbiAqIEBuYW1lIGlzVG9kYXlcbiAqIEBjYXRlZ29yeSBEYXkgSGVscGVyc1xuICogQHN1bW1hcnkgSXMgdGhlIGdpdmVuIGRhdGUgdG9kYXk/XG4gKiBAcHVyZSBmYWxzZVxuICpcbiAqIEBkZXNjcmlwdGlvblxuICogSXMgdGhlIGdpdmVuIGRhdGUgdG9kYXk/XG4gKlxuICogPiDimqDvuI8gUGxlYXNlIG5vdGUgdGhhdCB0aGlzIGZ1bmN0aW9uIGlzIG5vdCBwcmVzZW50IGluIHRoZSBGUCBzdWJtb2R1bGUgYXNcbiAqID4gaXQgdXNlcyBgRGF0ZS5ub3coKWAgaW50ZXJuYWxseSBoZW5jZSBpbXB1cmUgYW5kIGNhbid0IGJlIHNhZmVseSBjdXJyaWVkLlxuICpcbiAqICMjIyB2Mi4wLjAgYnJlYWtpbmcgY2hhbmdlczpcbiAqXG4gKiAtIFtDaGFuZ2VzIHRoYXQgYXJlIGNvbW1vbiBmb3IgdGhlIHdob2xlIGxpYnJhcnldKGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRlLWZucy9kYXRlLWZucy9ibG9iL21hc3Rlci9kb2NzL3VwZ3JhZGVHdWlkZS5tZCNDb21tb24tQ2hhbmdlcykuXG4gKlxuICogQHBhcmFtIHtEYXRlfE51bWJlcn0gZGF0ZSAtIHRoZSBkYXRlIHRvIGNoZWNrXG4gKiBAcmV0dXJucyB7Qm9vbGVhbn0gdGhlIGRhdGUgaXMgdG9kYXlcbiAqIEB0aHJvd3Mge1R5cGVFcnJvcn0gMSBhcmd1bWVudCByZXF1aXJlZFxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBJZiB0b2RheSBpcyA2IE9jdG9iZXIgMjAxNCwgaXMgNiBPY3RvYmVyIDE0OjAwOjAwIHRvZGF5P1xuICogdmFyIHJlc3VsdCA9IGlzVG9kYXkobmV3IERhdGUoMjAxNCwgOSwgNiwgMTQsIDApKVxuICogLy89PiB0cnVlXG4gKi9cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gaXNUb2RheShkaXJ0eURhdGUpIHtcbiAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPCAxKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignMSBhcmd1bWVudCByZXF1aXJlZCwgYnV0IG9ubHkgJyArIGFyZ3VtZW50cy5sZW5ndGggKyAnIHByZXNlbnQnKTtcbiAgfVxuXG4gIHJldHVybiBpc1NhbWVEYXkoZGlydHlEYXRlLCBEYXRlLm5vdygpKTtcbn0iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/isToday/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/isTomorrow/index.js": /*!*******************************************************!*\ !*** ./node_modules/date-fns/esm/isTomorrow/index.js ***! \*******************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return isTomorrow; });\n/* harmony import */ var _addDays_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../addDays/index.js */ \"./node_modules/date-fns/esm/addDays/index.js\");\n/* harmony import */ var _isSameDay_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../isSameDay/index.js */ \"./node_modules/date-fns/esm/isSameDay/index.js\");\n\n\n/**\n * @name isTomorrow\n * @category Day Helpers\n * @summary Is the given date tomorrow?\n * @pure false\n *\n * @description\n * Is the given date tomorrow?\n *\n * > ⚠️ Please note that this function is not present in the FP submodule as\n * > it uses `Date.now()` internally hence impure and can't be safely curried.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to check\n * @returns {Boolean} the date is tomorrow\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // If today is 6 October 2014, is 7 October 14:00:00 tomorrow?\n * var result = isTomorrow(new Date(2014, 9, 7, 14, 0))\n * //=> true\n */\n\nfunction isTomorrow(dirtyDate) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n return Object(_isSameDay_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(dirtyDate, Object(_addDays_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Date.now(), 1));\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2lzVG9tb3Jyb3cvaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2lzVG9tb3Jyb3cvaW5kZXguanM/OGQ5MyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYWRkRGF5cyBmcm9tICcuLi9hZGREYXlzL2luZGV4LmpzJztcbmltcG9ydCBpc1NhbWVEYXkgZnJvbSAnLi4vaXNTYW1lRGF5L2luZGV4LmpzJztcbi8qKlxuICogQG5hbWUgaXNUb21vcnJvd1xuICogQGNhdGVnb3J5IERheSBIZWxwZXJzXG4gKiBAc3VtbWFyeSBJcyB0aGUgZ2l2ZW4gZGF0ZSB0b21vcnJvdz9cbiAqIEBwdXJlIGZhbHNlXG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKiBJcyB0aGUgZ2l2ZW4gZGF0ZSB0b21vcnJvdz9cbiAqXG4gKiA+IOKaoO+4jyBQbGVhc2Ugbm90ZSB0aGF0IHRoaXMgZnVuY3Rpb24gaXMgbm90IHByZXNlbnQgaW4gdGhlIEZQIHN1Ym1vZHVsZSBhc1xuICogPiBpdCB1c2VzIGBEYXRlLm5vdygpYCBpbnRlcm5hbGx5IGhlbmNlIGltcHVyZSBhbmQgY2FuJ3QgYmUgc2FmZWx5IGN1cnJpZWQuXG4gKlxuICogIyMjIHYyLjAuMCBicmVha2luZyBjaGFuZ2VzOlxuICpcbiAqIC0gW0NoYW5nZXMgdGhhdCBhcmUgY29tbW9uIGZvciB0aGUgd2hvbGUgbGlicmFyeV0oaHR0cHM6Ly9naXRodWIuY29tL2RhdGUtZm5zL2RhdGUtZm5zL2Jsb2IvbWFzdGVyL2RvY3MvdXBncmFkZUd1aWRlLm1kI0NvbW1vbi1DaGFuZ2VzKS5cbiAqXG4gKiBAcGFyYW0ge0RhdGV8TnVtYmVyfSBkYXRlIC0gdGhlIGRhdGUgdG8gY2hlY2tcbiAqIEByZXR1cm5zIHtCb29sZWFufSB0aGUgZGF0ZSBpcyB0b21vcnJvd1xuICogQHRocm93cyB7VHlwZUVycm9yfSAxIGFyZ3VtZW50IHJlcXVpcmVkXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIElmIHRvZGF5IGlzIDYgT2N0b2JlciAyMDE0LCBpcyA3IE9jdG9iZXIgMTQ6MDA6MDAgdG9tb3Jyb3c/XG4gKiB2YXIgcmVzdWx0ID0gaXNUb21vcnJvdyhuZXcgRGF0ZSgyMDE0LCA5LCA3LCAxNCwgMCkpXG4gKiAvLz0+IHRydWVcbiAqL1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBpc1RvbW9ycm93KGRpcnR5RGF0ZSkge1xuICBpZiAoYXJndW1lbnRzLmxlbmd0aCA8IDEpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCcxIGFyZ3VtZW50IHJlcXVpcmVkLCBidXQgb25seSAnICsgYXJndW1lbnRzLmxlbmd0aCArICcgcHJlc2VudCcpO1xuICB9XG5cbiAgcmV0dXJuIGlzU2FtZURheShkaXJ0eURhdGUsIGFkZERheXMoRGF0ZS5ub3coKSwgMSkpO1xufSJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/isTomorrow/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/isTuesday/index.js": /*!******************************************************!*\ !*** ./node_modules/date-fns/esm/isTuesday/index.js ***! \******************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return isTuesday; });\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n\n/**\n * @name isTuesday\n * @category Weekday Helpers\n * @summary Is the given date Tuesday?\n *\n * @description\n * Is the given date Tuesday?\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to check\n * @returns {Boolean} the date is Tuesday\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Is 23 September 2014 Tuesday?\n * var result = isTuesday(new Date(2014, 8, 23))\n * //=> true\n */\n\nfunction isTuesday(dirtyDate) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n return Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate).getDay() === 2;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2lzVHVlc2RheS9pbmRleC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9kYXRlLWZucy9lc20vaXNUdWVzZGF5L2luZGV4LmpzPzNkZDMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHRvRGF0ZSBmcm9tICcuLi90b0RhdGUvaW5kZXguanMnO1xuLyoqXG4gKiBAbmFtZSBpc1R1ZXNkYXlcbiAqIEBjYXRlZ29yeSBXZWVrZGF5IEhlbHBlcnNcbiAqIEBzdW1tYXJ5IElzIHRoZSBnaXZlbiBkYXRlIFR1ZXNkYXk/XG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKiBJcyB0aGUgZ2l2ZW4gZGF0ZSBUdWVzZGF5P1xuICpcbiAqICMjIyB2Mi4wLjAgYnJlYWtpbmcgY2hhbmdlczpcbiAqXG4gKiAtIFtDaGFuZ2VzIHRoYXQgYXJlIGNvbW1vbiBmb3IgdGhlIHdob2xlIGxpYnJhcnldKGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRlLWZucy9kYXRlLWZucy9ibG9iL21hc3Rlci9kb2NzL3VwZ3JhZGVHdWlkZS5tZCNDb21tb24tQ2hhbmdlcykuXG4gKlxuICogQHBhcmFtIHtEYXRlfE51bWJlcn0gZGF0ZSAtIHRoZSBkYXRlIHRvIGNoZWNrXG4gKiBAcmV0dXJucyB7Qm9vbGVhbn0gdGhlIGRhdGUgaXMgVHVlc2RheVxuICogQHRocm93cyB7VHlwZUVycm9yfSAxIGFyZ3VtZW50IHJlcXVpcmVkXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIElzIDIzIFNlcHRlbWJlciAyMDE0IFR1ZXNkYXk/XG4gKiB2YXIgcmVzdWx0ID0gaXNUdWVzZGF5KG5ldyBEYXRlKDIwMTQsIDgsIDIzKSlcbiAqIC8vPT4gdHJ1ZVxuICovXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGlzVHVlc2RheShkaXJ0eURhdGUpIHtcbiAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPCAxKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignMSBhcmd1bWVudCByZXF1aXJlZCwgYnV0IG9ubHkgJyArIGFyZ3VtZW50cy5sZW5ndGggKyAnIHByZXNlbnQnKTtcbiAgfVxuXG4gIHJldHVybiB0b0RhdGUoZGlydHlEYXRlKS5nZXREYXkoKSA9PT0gMjtcbn0iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/isTuesday/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/isValid/index.js": /*!****************************************************!*\ !*** ./node_modules/date-fns/esm/isValid/index.js ***! \****************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return isValid; });\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n\n/**\n * @name isValid\n * @category Common Helpers\n * @summary Is the given date valid?\n *\n * @description\n * Returns false if argument is Invalid Date and true otherwise.\n * Argument is converted to Date using `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\n * Invalid Date is a Date, whose time value is NaN.\n *\n * Time value of Date: http://es5.github.io/#x15.9.1.1\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * - Now `isValid` doesn't throw an exception\n * if the first argument is not an instance of Date.\n * Instead, argument is converted beforehand using `toDate`.\n *\n * Examples:\n *\n * | `isValid` argument | Before v2.0.0 | v2.0.0 onward |\n * |---------------------------|---------------|---------------|\n * | `new Date()` | `true` | `true` |\n * | `new Date('2016-01-01')` | `true` | `true` |\n * | `new Date('')` | `false` | `false` |\n * | `new Date(1488370835081)` | `true` | `true` |\n * | `new Date(NaN)` | `false` | `false` |\n * | `'2016-01-01'` | `TypeError` | `true` |\n * | `''` | `TypeError` | `false` |\n * | `1488370835081` | `TypeError` | `true` |\n * | `NaN` | `TypeError` | `false` |\n *\n * We introduce this change to make *date-fns* consistent with ECMAScript behavior\n * that try to coerce arguments to the expected type\n * (which is also the case with other *date-fns* functions).\n *\n * @param {*} date - the date to check\n * @returns {Boolean} the date is valid\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // For the valid date:\n * var result = isValid(new Date(2014, 1, 31))\n * //=> true\n *\n * @example\n * // For the value, convertable into a date:\n * var result = isValid(1393804800000)\n * //=> true\n *\n * @example\n * // For the invalid date:\n * var result = isValid(new Date(''))\n * //=> false\n */\n\nfunction isValid(dirtyDate) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n var date = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate);\n return !isNaN(date);\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2lzVmFsaWQvaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2lzVmFsaWQvaW5kZXguanM/NDllZiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdG9EYXRlIGZyb20gJy4uL3RvRGF0ZS9pbmRleC5qcyc7XG4vKipcbiAqIEBuYW1lIGlzVmFsaWRcbiAqIEBjYXRlZ29yeSBDb21tb24gSGVscGVyc1xuICogQHN1bW1hcnkgSXMgdGhlIGdpdmVuIGRhdGUgdmFsaWQ/XG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKiBSZXR1cm5zIGZhbHNlIGlmIGFyZ3VtZW50IGlzIEludmFsaWQgRGF0ZSBhbmQgdHJ1ZSBvdGhlcndpc2UuXG4gKiBBcmd1bWVudCBpcyBjb252ZXJ0ZWQgdG8gRGF0ZSB1c2luZyBgdG9EYXRlYC4gU2VlIFt0b0RhdGVde0BsaW5rIGh0dHBzOi8vZGF0ZS1mbnMub3JnL2RvY3MvdG9EYXRlfVxuICogSW52YWxpZCBEYXRlIGlzIGEgRGF0ZSwgd2hvc2UgdGltZSB2YWx1ZSBpcyBOYU4uXG4gKlxuICogVGltZSB2YWx1ZSBvZiBEYXRlOiBodHRwOi8vZXM1LmdpdGh1Yi5pby8jeDE1LjkuMS4xXG4gKlxuICogIyMjIHYyLjAuMCBicmVha2luZyBjaGFuZ2VzOlxuICpcbiAqIC0gW0NoYW5nZXMgdGhhdCBhcmUgY29tbW9uIGZvciB0aGUgd2hvbGUgbGlicmFyeV0oaHR0cHM6Ly9naXRodWIuY29tL2RhdGUtZm5zL2RhdGUtZm5zL2Jsb2IvbWFzdGVyL2RvY3MvdXBncmFkZUd1aWRlLm1kI0NvbW1vbi1DaGFuZ2VzKS5cbiAqXG4gKiAtIE5vdyBgaXNWYWxpZGAgZG9lc24ndCB0aHJvdyBhbiBleGNlcHRpb25cbiAqICAgaWYgdGhlIGZpcnN0IGFyZ3VtZW50IGlzIG5vdCBhbiBpbnN0YW5jZSBvZiBEYXRlLlxuICogICBJbnN0ZWFkLCBhcmd1bWVudCBpcyBjb252ZXJ0ZWQgYmVmb3JlaGFuZCB1c2luZyBgdG9EYXRlYC5cbiAqXG4gKiAgIEV4YW1wbGVzOlxuICpcbiAqICAgfCBgaXNWYWxpZGAgYXJndW1lbnQgICAgICAgIHwgQmVmb3JlIHYyLjAuMCB8IHYyLjAuMCBvbndhcmQgfFxuICogICB8LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0tLXwtLS0tLS0tLS0tLS0tLS18XG4gKiAgIHwgYG5ldyBEYXRlKClgICAgICAgICAgICAgICB8IGB0cnVlYCAgICAgICAgfCBgdHJ1ZWAgICAgICAgIHxcbiAqICAgfCBgbmV3IERhdGUoJzIwMTYtMDEtMDEnKWAgIHwgYHRydWVgICAgICAgICB8IGB0cnVlYCAgICAgICAgfFxuICogICB8IGBuZXcgRGF0ZSgnJylgICAgICAgICAgICAgfCBgZmFsc2VgICAgICAgIHwgYGZhbHNlYCAgICAgICB8XG4gKiAgIHwgYG5ldyBEYXRlKDE0ODgzNzA4MzUwODEpYCB8IGB0cnVlYCAgICAgICAgfCBgdHJ1ZWAgICAgICAgIHxcbiAqICAgfCBgbmV3IERhdGUoTmFOKWAgICAgICAgICAgIHwgYGZhbHNlYCAgICAgICB8IGBmYWxzZWAgICAgICAgfFxuICogICB8IGAnMjAxNi0wMS0wMSdgICAgICAgICAgICAgfCBgVHlwZUVycm9yYCAgIHwgYHRydWVgICAgICAgICB8XG4gKiAgIHwgYCcnYCAgICAgICAgICAgICAgICAgICAgICB8IGBUeXBlRXJyb3JgICAgfCBgZmFsc2VgICAgICAgIHxcbiAqICAgfCBgMTQ4ODM3MDgzNTA4MWAgICAgICAgICAgIHwgYFR5cGVFcnJvcmAgICB8IGB0cnVlYCAgICAgICAgfFxuICogICB8IGBOYU5gICAgICAgICAgICAgICAgICAgICAgfCBgVHlwZUVycm9yYCAgIHwgYGZhbHNlYCAgICAgICB8XG4gKlxuICogICBXZSBpbnRyb2R1Y2UgdGhpcyBjaGFuZ2UgdG8gbWFrZSAqZGF0ZS1mbnMqIGNvbnNpc3RlbnQgd2l0aCBFQ01BU2NyaXB0IGJlaGF2aW9yXG4gKiAgIHRoYXQgdHJ5IHRvIGNvZXJjZSBhcmd1bWVudHMgdG8gdGhlIGV4cGVjdGVkIHR5cGVcbiAqICAgKHdoaWNoIGlzIGFsc28gdGhlIGNhc2Ugd2l0aCBvdGhlciAqZGF0ZS1mbnMqIGZ1bmN0aW9ucykuXG4gKlxuICogQHBhcmFtIHsqfSBkYXRlIC0gdGhlIGRhdGUgdG8gY2hlY2tcbiAqIEByZXR1cm5zIHtCb29sZWFufSB0aGUgZGF0ZSBpcyB2YWxpZFxuICogQHRocm93cyB7VHlwZUVycm9yfSAxIGFyZ3VtZW50IHJlcXVpcmVkXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIEZvciB0aGUgdmFsaWQgZGF0ZTpcbiAqIHZhciByZXN1bHQgPSBpc1ZhbGlkKG5ldyBEYXRlKDIwMTQsIDEsIDMxKSlcbiAqIC8vPT4gdHJ1ZVxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBGb3IgdGhlIHZhbHVlLCBjb252ZXJ0YWJsZSBpbnRvIGEgZGF0ZTpcbiAqIHZhciByZXN1bHQgPSBpc1ZhbGlkKDEzOTM4MDQ4MDAwMDApXG4gKiAvLz0+IHRydWVcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gRm9yIHRoZSBpbnZhbGlkIGRhdGU6XG4gKiB2YXIgcmVzdWx0ID0gaXNWYWxpZChuZXcgRGF0ZSgnJykpXG4gKiAvLz0+IGZhbHNlXG4gKi9cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gaXNWYWxpZChkaXJ0eURhdGUpIHtcbiAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPCAxKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignMSBhcmd1bWVudCByZXF1aXJlZCwgYnV0IG9ubHkgJyArIGFyZ3VtZW50cy5sZW5ndGggKyAnIHByZXNlbnQnKTtcbiAgfVxuXG4gIHZhciBkYXRlID0gdG9EYXRlKGRpcnR5RGF0ZSk7XG4gIHJldHVybiAhaXNOYU4oZGF0ZSk7XG59Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/isValid/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/isWednesday/index.js": /*!********************************************************!*\ !*** ./node_modules/date-fns/esm/isWednesday/index.js ***! \********************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return isWednesday; });\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n\n/**\n * @name isWednesday\n * @category Weekday Helpers\n * @summary Is the given date Wednesday?\n *\n * @description\n * Is the given date Wednesday?\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to check\n * @returns {Boolean} the date is Wednesday\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Is 24 September 2014 Wednesday?\n * var result = isWednesday(new Date(2014, 8, 24))\n * //=> true\n */\n\nfunction isWednesday(dirtyDate) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n return Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate).getDay() === 3;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2lzV2VkbmVzZGF5L2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2VzbS9pc1dlZG5lc2RheS9pbmRleC5qcz9lNWMzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0b0RhdGUgZnJvbSAnLi4vdG9EYXRlL2luZGV4LmpzJztcbi8qKlxuICogQG5hbWUgaXNXZWRuZXNkYXlcbiAqIEBjYXRlZ29yeSBXZWVrZGF5IEhlbHBlcnNcbiAqIEBzdW1tYXJ5IElzIHRoZSBnaXZlbiBkYXRlIFdlZG5lc2RheT9cbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIElzIHRoZSBnaXZlbiBkYXRlIFdlZG5lc2RheT9cbiAqXG4gKiAjIyMgdjIuMC4wIGJyZWFraW5nIGNoYW5nZXM6XG4gKlxuICogLSBbQ2hhbmdlcyB0aGF0IGFyZSBjb21tb24gZm9yIHRoZSB3aG9sZSBsaWJyYXJ5XShodHRwczovL2dpdGh1Yi5jb20vZGF0ZS1mbnMvZGF0ZS1mbnMvYmxvYi9tYXN0ZXIvZG9jcy91cGdyYWRlR3VpZGUubWQjQ29tbW9uLUNoYW5nZXMpLlxuICpcbiAqIEBwYXJhbSB7RGF0ZXxOdW1iZXJ9IGRhdGUgLSB0aGUgZGF0ZSB0byBjaGVja1xuICogQHJldHVybnMge0Jvb2xlYW59IHRoZSBkYXRlIGlzIFdlZG5lc2RheVxuICogQHRocm93cyB7VHlwZUVycm9yfSAxIGFyZ3VtZW50IHJlcXVpcmVkXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIElzIDI0IFNlcHRlbWJlciAyMDE0IFdlZG5lc2RheT9cbiAqIHZhciByZXN1bHQgPSBpc1dlZG5lc2RheShuZXcgRGF0ZSgyMDE0LCA4LCAyNCkpXG4gKiAvLz0+IHRydWVcbiAqL1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBpc1dlZG5lc2RheShkaXJ0eURhdGUpIHtcbiAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPCAxKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignMSBhcmd1bWVudCByZXF1aXJlZCwgYnV0IG9ubHkgJyArIGFyZ3VtZW50cy5sZW5ndGggKyAnIHByZXNlbnQnKTtcbiAgfVxuXG4gIHJldHVybiB0b0RhdGUoZGlydHlEYXRlKS5nZXREYXkoKSA9PT0gMztcbn0iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/isWednesday/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/isWeekend/index.js": /*!******************************************************!*\ !*** ./node_modules/date-fns/esm/isWeekend/index.js ***! \******************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return isWeekend; });\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n\n/**\n * @name isWeekend\n * @category Weekday Helpers\n * @summary Does the given date fall on a weekend?\n *\n * @description\n * Does the given date fall on a weekend?\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to check\n * @returns {Boolean} the date falls on a weekend\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Does 5 October 2014 fall on a weekend?\n * var result = isWeekend(new Date(2014, 9, 5))\n * //=> true\n */\n\nfunction isWeekend(dirtyDate) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n var date = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate);\n var day = date.getDay();\n return day === 0 || day === 6;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2lzV2Vla2VuZC9pbmRleC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9kYXRlLWZucy9lc20vaXNXZWVrZW5kL2luZGV4LmpzPzgwYjQiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHRvRGF0ZSBmcm9tICcuLi90b0RhdGUvaW5kZXguanMnO1xuLyoqXG4gKiBAbmFtZSBpc1dlZWtlbmRcbiAqIEBjYXRlZ29yeSBXZWVrZGF5IEhlbHBlcnNcbiAqIEBzdW1tYXJ5IERvZXMgdGhlIGdpdmVuIGRhdGUgZmFsbCBvbiBhIHdlZWtlbmQ/XG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKiBEb2VzIHRoZSBnaXZlbiBkYXRlIGZhbGwgb24gYSB3ZWVrZW5kP1xuICpcbiAqICMjIyB2Mi4wLjAgYnJlYWtpbmcgY2hhbmdlczpcbiAqXG4gKiAtIFtDaGFuZ2VzIHRoYXQgYXJlIGNvbW1vbiBmb3IgdGhlIHdob2xlIGxpYnJhcnldKGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRlLWZucy9kYXRlLWZucy9ibG9iL21hc3Rlci9kb2NzL3VwZ3JhZGVHdWlkZS5tZCNDb21tb24tQ2hhbmdlcykuXG4gKlxuICogQHBhcmFtIHtEYXRlfE51bWJlcn0gZGF0ZSAtIHRoZSBkYXRlIHRvIGNoZWNrXG4gKiBAcmV0dXJucyB7Qm9vbGVhbn0gdGhlIGRhdGUgZmFsbHMgb24gYSB3ZWVrZW5kXG4gKiBAdGhyb3dzIHtUeXBlRXJyb3J9IDEgYXJndW1lbnQgcmVxdWlyZWRcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gRG9lcyA1IE9jdG9iZXIgMjAxNCBmYWxsIG9uIGEgd2Vla2VuZD9cbiAqIHZhciByZXN1bHQgPSBpc1dlZWtlbmQobmV3IERhdGUoMjAxNCwgOSwgNSkpXG4gKiAvLz0+IHRydWVcbiAqL1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBpc1dlZWtlbmQoZGlydHlEYXRlKSB7XG4gIGlmIChhcmd1bWVudHMubGVuZ3RoIDwgMSkge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJzEgYXJndW1lbnQgcmVxdWlyZWQsIGJ1dCBvbmx5ICcgKyBhcmd1bWVudHMubGVuZ3RoICsgJyBwcmVzZW50Jyk7XG4gIH1cblxuICB2YXIgZGF0ZSA9IHRvRGF0ZShkaXJ0eURhdGUpO1xuICB2YXIgZGF5ID0gZGF0ZS5nZXREYXkoKTtcbiAgcmV0dXJuIGRheSA9PT0gMCB8fCBkYXkgPT09IDY7XG59Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/isWeekend/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/isWithinInterval/index.js": /*!*************************************************************!*\ !*** ./node_modules/date-fns/esm/isWithinInterval/index.js ***! \*************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return isWithinInterval; });\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n\n/**\n * @name isWithinInterval\n * @category Interval Helpers\n * @summary Is the given date within the interval?\n *\n * @description\n * Is the given date within the interval?\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * - The function was renamed from `isWithinRange` to `isWithinInterval`.\n * This change was made to mirror the use of the word \"interval\" in standard ISO 8601:2004 terminology:\n *\n * ```\n * 2.1.3\n * time interval\n * part of the time axis limited by two instants\n * ```\n *\n * Also, this function now accepts an object with `start` and `end` properties\n * instead of two arguments as an interval.\n * This function now throws `RangeError` if the start of the interval is after its end\n * or if any date in the interval is `Invalid Date`.\n *\n * ```javascript\n * // Before v2.0.0\n *\n * isWithinRange(\n * new Date(2014, 0, 3),\n * new Date(2014, 0, 1), new Date(2014, 0, 7)\n * )\n *\n * // v2.0.0 onward\n *\n * isWithinInterval(\n * new Date(2014, 0, 3),\n * { start: new Date(2014, 0, 1), end: new Date(2014, 0, 7) }\n * )\n * ```\n *\n * @param {Date|Number} date - the date to check\n * @param {Interval} interval - the interval to check\n * @returns {Boolean} the date is within the interval\n * @throws {TypeError} 2 arguments required\n * @throws {RangeError} The start of an interval cannot be after its end\n * @throws {RangeError} Date in interval cannot be `Invalid Date`\n *\n * @example\n * // For the date within the interval:\n * isWithinInterval(new Date(2014, 0, 3), {\n * start: new Date(2014, 0, 1),\n * end: new Date(2014, 0, 7)\n * })\n * //=> true\n *\n * @example\n * // For the date outside of the interval:\n * isWithinInterval(new Date(2014, 0, 10), {\n * start: new Date(2014, 0, 1),\n * end: new Date(2014, 0, 7)\n * })\n * //=> false\n */\n\nfunction isWithinInterval(dirtyDate, dirtyInterval) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present');\n }\n\n var interval = dirtyInterval || {};\n var time = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate).getTime();\n var startTime = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(interval.start).getTime();\n var endTime = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(interval.end).getTime(); // Throw an exception if start date is after end date or if any date is `Invalid Date`\n\n if (!(startTime <= endTime)) {\n throw new RangeError('Invalid interval');\n }\n\n return time >= startTime && time <= endTime;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2lzV2l0aGluSW50ZXJ2YWwvaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2lzV2l0aGluSW50ZXJ2YWwvaW5kZXguanM/NjEzYSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdG9EYXRlIGZyb20gJy4uL3RvRGF0ZS9pbmRleC5qcyc7XG4vKipcbiAqIEBuYW1lIGlzV2l0aGluSW50ZXJ2YWxcbiAqIEBjYXRlZ29yeSBJbnRlcnZhbCBIZWxwZXJzXG4gKiBAc3VtbWFyeSBJcyB0aGUgZ2l2ZW4gZGF0ZSB3aXRoaW4gdGhlIGludGVydmFsP1xuICpcbiAqIEBkZXNjcmlwdGlvblxuICogSXMgdGhlIGdpdmVuIGRhdGUgd2l0aGluIHRoZSBpbnRlcnZhbD9cbiAqXG4gKiAjIyMgdjIuMC4wIGJyZWFraW5nIGNoYW5nZXM6XG4gKlxuICogLSBbQ2hhbmdlcyB0aGF0IGFyZSBjb21tb24gZm9yIHRoZSB3aG9sZSBsaWJyYXJ5XShodHRwczovL2dpdGh1Yi5jb20vZGF0ZS1mbnMvZGF0ZS1mbnMvYmxvYi9tYXN0ZXIvZG9jcy91cGdyYWRlR3VpZGUubWQjQ29tbW9uLUNoYW5nZXMpLlxuICpcbiAqIC0gVGhlIGZ1bmN0aW9uIHdhcyByZW5hbWVkIGZyb20gYGlzV2l0aGluUmFuZ2VgIHRvIGBpc1dpdGhpbkludGVydmFsYC5cbiAqICAgVGhpcyBjaGFuZ2Ugd2FzIG1hZGUgdG8gbWlycm9yIHRoZSB1c2Ugb2YgdGhlIHdvcmQgXCJpbnRlcnZhbFwiIGluIHN0YW5kYXJkIElTTyA4NjAxOjIwMDQgdGVybWlub2xvZ3k6XG4gKlxuICogICBgYGBcbiAqICAgMi4xLjNcbiAqICAgdGltZSBpbnRlcnZhbFxuICogICBwYXJ0IG9mIHRoZSB0aW1lIGF4aXMgbGltaXRlZCBieSB0d28gaW5zdGFudHNcbiAqICAgYGBgXG4gKlxuICogICBBbHNvLCB0aGlzIGZ1bmN0aW9uIG5vdyBhY2NlcHRzIGFuIG9iamVjdCB3aXRoIGBzdGFydGAgYW5kIGBlbmRgIHByb3BlcnRpZXNcbiAqICAgaW5zdGVhZCBvZiB0d28gYXJndW1lbnRzIGFzIGFuIGludGVydmFsLlxuICogICBUaGlzIGZ1bmN0aW9uIG5vdyB0aHJvd3MgYFJhbmdlRXJyb3JgIGlmIHRoZSBzdGFydCBvZiB0aGUgaW50ZXJ2YWwgaXMgYWZ0ZXIgaXRzIGVuZFxuICogICBvciBpZiBhbnkgZGF0ZSBpbiB0aGUgaW50ZXJ2YWwgaXMgYEludmFsaWQgRGF0ZWAuXG4gKlxuICogICBgYGBqYXZhc2NyaXB0XG4gKiAgIC8vIEJlZm9yZSB2Mi4wLjBcbiAqXG4gKiAgIGlzV2l0aGluUmFuZ2UoXG4gKiAgICAgbmV3IERhdGUoMjAxNCwgMCwgMyksXG4gKiAgICAgbmV3IERhdGUoMjAxNCwgMCwgMSksIG5ldyBEYXRlKDIwMTQsIDAsIDcpXG4gKiAgIClcbiAqXG4gKiAgIC8vIHYyLjAuMCBvbndhcmRcbiAqXG4gKiAgIGlzV2l0aGluSW50ZXJ2YWwoXG4gKiAgICAgbmV3IERhdGUoMjAxNCwgMCwgMyksXG4gKiAgICAgeyBzdGFydDogbmV3IERhdGUoMjAxNCwgMCwgMSksIGVuZDogbmV3IERhdGUoMjAxNCwgMCwgNykgfVxuICogICApXG4gKiAgIGBgYFxuICpcbiAqIEBwYXJhbSB7RGF0ZXxOdW1iZXJ9IGRhdGUgLSB0aGUgZGF0ZSB0byBjaGVja1xuICogQHBhcmFtIHtJbnRlcnZhbH0gaW50ZXJ2YWwgLSB0aGUgaW50ZXJ2YWwgdG8gY2hlY2tcbiAqIEByZXR1cm5zIHtCb29sZWFufSB0aGUgZGF0ZSBpcyB3aXRoaW4gdGhlIGludGVydmFsXG4gKiBAdGhyb3dzIHtUeXBlRXJyb3J9IDIgYXJndW1lbnRzIHJlcXVpcmVkXG4gKiBAdGhyb3dzIHtSYW5nZUVycm9yfSBUaGUgc3RhcnQgb2YgYW4gaW50ZXJ2YWwgY2Fubm90IGJlIGFmdGVyIGl0cyBlbmRcbiAqIEB0aHJvd3Mge1JhbmdlRXJyb3J9IERhdGUgaW4gaW50ZXJ2YWwgY2Fubm90IGJlIGBJbnZhbGlkIERhdGVgXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIEZvciB0aGUgZGF0ZSB3aXRoaW4gdGhlIGludGVydmFsOlxuICogaXNXaXRoaW5JbnRlcnZhbChuZXcgRGF0ZSgyMDE0LCAwLCAzKSwge1xuICogICBzdGFydDogbmV3IERhdGUoMjAxNCwgMCwgMSksXG4gKiAgIGVuZDogbmV3IERhdGUoMjAxNCwgMCwgNylcbiAqIH0pXG4gKiAvLz0+IHRydWVcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gRm9yIHRoZSBkYXRlIG91dHNpZGUgb2YgdGhlIGludGVydmFsOlxuICogaXNXaXRoaW5JbnRlcnZhbChuZXcgRGF0ZSgyMDE0LCAwLCAxMCksIHtcbiAqICAgc3RhcnQ6IG5ldyBEYXRlKDIwMTQsIDAsIDEpLFxuICogICBlbmQ6IG5ldyBEYXRlKDIwMTQsIDAsIDcpXG4gKiB9KVxuICogLy89PiBmYWxzZVxuICovXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGlzV2l0aGluSW50ZXJ2YWwoZGlydHlEYXRlLCBkaXJ0eUludGVydmFsKSB7XG4gIGlmIChhcmd1bWVudHMubGVuZ3RoIDwgMikge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJzIgYXJndW1lbnRzIHJlcXVpcmVkLCBidXQgb25seSAnICsgYXJndW1lbnRzLmxlbmd0aCArICcgcHJlc2VudCcpO1xuICB9XG5cbiAgdmFyIGludGVydmFsID0gZGlydHlJbnRlcnZhbCB8fCB7fTtcbiAgdmFyIHRpbWUgPSB0b0RhdGUoZGlydHlEYXRlKS5nZXRUaW1lKCk7XG4gIHZhciBzdGFydFRpbWUgPSB0b0RhdGUoaW50ZXJ2YWwuc3RhcnQpLmdldFRpbWUoKTtcbiAgdmFyIGVuZFRpbWUgPSB0b0RhdGUoaW50ZXJ2YWwuZW5kKS5nZXRUaW1lKCk7IC8vIFRocm93IGFuIGV4Y2VwdGlvbiBpZiBzdGFydCBkYXRlIGlzIGFmdGVyIGVuZCBkYXRlIG9yIGlmIGFueSBkYXRlIGlzIGBJbnZhbGlkIERhdGVgXG5cbiAgaWYgKCEoc3RhcnRUaW1lIDw9IGVuZFRpbWUpKSB7XG4gICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ0ludmFsaWQgaW50ZXJ2YWwnKTtcbiAgfVxuXG4gIHJldHVybiB0aW1lID49IHN0YXJ0VGltZSAmJiB0aW1lIDw9IGVuZFRpbWU7XG59Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/isWithinInterval/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/isYesterday/index.js": /*!********************************************************!*\ !*** ./node_modules/date-fns/esm/isYesterday/index.js ***! \********************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return isYesterday; });\n/* harmony import */ var _isSameDay_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../isSameDay/index.js */ \"./node_modules/date-fns/esm/isSameDay/index.js\");\n/* harmony import */ var _subDays_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../subDays/index.js */ \"./node_modules/date-fns/esm/subDays/index.js\");\n\n\n/**\n * @name isYesterday\n * @category Day Helpers\n * @summary Is the given date yesterday?\n * @pure false\n *\n * @description\n * Is the given date yesterday?\n *\n * > ⚠️ Please note that this function is not present in the FP submodule as\n * > it uses `Date.now()` internally hence impure and can't be safely curried.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to check\n * @returns {Boolean} the date is yesterday\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // If today is 6 October 2014, is 5 October 14:00:00 yesterday?\n * var result = isYesterday(new Date(2014, 9, 5, 14, 0))\n * //=> true\n */\n\nfunction isYesterday(dirtyDate) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n return Object(_isSameDay_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate, Object(_subDays_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(Date.now(), 1));\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2lzWWVzdGVyZGF5L2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2VzbS9pc1llc3RlcmRheS9pbmRleC5qcz9kNGY2Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBpc1NhbWVEYXkgZnJvbSAnLi4vaXNTYW1lRGF5L2luZGV4LmpzJztcbmltcG9ydCBzdWJEYXlzIGZyb20gJy4uL3N1YkRheXMvaW5kZXguanMnO1xuLyoqXG4gKiBAbmFtZSBpc1llc3RlcmRheVxuICogQGNhdGVnb3J5IERheSBIZWxwZXJzXG4gKiBAc3VtbWFyeSBJcyB0aGUgZ2l2ZW4gZGF0ZSB5ZXN0ZXJkYXk/XG4gKiBAcHVyZSBmYWxzZVxuICpcbiAqIEBkZXNjcmlwdGlvblxuICogSXMgdGhlIGdpdmVuIGRhdGUgeWVzdGVyZGF5P1xuICpcbiAqID4g4pqg77iPIFBsZWFzZSBub3RlIHRoYXQgdGhpcyBmdW5jdGlvbiBpcyBub3QgcHJlc2VudCBpbiB0aGUgRlAgc3VibW9kdWxlIGFzXG4gKiA+IGl0IHVzZXMgYERhdGUubm93KClgIGludGVybmFsbHkgaGVuY2UgaW1wdXJlIGFuZCBjYW4ndCBiZSBzYWZlbHkgY3VycmllZC5cbiAqXG4gKiAjIyMgdjIuMC4wIGJyZWFraW5nIGNoYW5nZXM6XG4gKlxuICogLSBbQ2hhbmdlcyB0aGF0IGFyZSBjb21tb24gZm9yIHRoZSB3aG9sZSBsaWJyYXJ5XShodHRwczovL2dpdGh1Yi5jb20vZGF0ZS1mbnMvZGF0ZS1mbnMvYmxvYi9tYXN0ZXIvZG9jcy91cGdyYWRlR3VpZGUubWQjQ29tbW9uLUNoYW5nZXMpLlxuICpcbiAqIEBwYXJhbSB7RGF0ZXxOdW1iZXJ9IGRhdGUgLSB0aGUgZGF0ZSB0byBjaGVja1xuICogQHJldHVybnMge0Jvb2xlYW59IHRoZSBkYXRlIGlzIHllc3RlcmRheVxuICogQHRocm93cyB7VHlwZUVycm9yfSAxIGFyZ3VtZW50IHJlcXVpcmVkXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIElmIHRvZGF5IGlzIDYgT2N0b2JlciAyMDE0LCBpcyA1IE9jdG9iZXIgMTQ6MDA6MDAgeWVzdGVyZGF5P1xuICogdmFyIHJlc3VsdCA9IGlzWWVzdGVyZGF5KG5ldyBEYXRlKDIwMTQsIDksIDUsIDE0LCAwKSlcbiAqIC8vPT4gdHJ1ZVxuICovXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGlzWWVzdGVyZGF5KGRpcnR5RGF0ZSkge1xuICBpZiAoYXJndW1lbnRzLmxlbmd0aCA8IDEpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCcxIGFyZ3VtZW50IHJlcXVpcmVkLCBidXQgb25seSAnICsgYXJndW1lbnRzLmxlbmd0aCArICcgcHJlc2VudCcpO1xuICB9XG5cbiAgcmV0dXJuIGlzU2FtZURheShkaXJ0eURhdGUsIHN1YkRheXMoRGF0ZS5ub3coKSwgMSkpO1xufSJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/isYesterday/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/lastDayOfDecade/index.js": /*!************************************************************!*\ !*** ./node_modules/date-fns/esm/lastDayOfDecade/index.js ***! \************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return lastDayOfDecade; });\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n\n/**\n * @name lastDayOfDecade\n * @category Decade Helpers\n * @summary Return the last day of a decade for the given date.\n *\n * @description\n * Return the last day of a decade for the given date.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the last day of a decade\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The last day of a decade for 21 December 2012 21:12:00:\n * var result = lastDayOfDecade(new Date(2012, 11, 21, 21, 12, 00))\n * //=> Wed Dec 31 2019 00:00:00\n */\n\nfunction lastDayOfDecade(dirtyDate) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n var date = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate);\n var year = date.getFullYear();\n var decade = 9 + Math.floor(year / 10) * 10;\n date.setFullYear(decade + 1, 0, 0);\n date.setHours(0, 0, 0, 0);\n return date;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2xhc3REYXlPZkRlY2FkZS9pbmRleC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9kYXRlLWZucy9lc20vbGFzdERheU9mRGVjYWRlL2luZGV4LmpzP2YyMjIiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHRvRGF0ZSBmcm9tICcuLi90b0RhdGUvaW5kZXguanMnO1xuLyoqXG4gKiBAbmFtZSBsYXN0RGF5T2ZEZWNhZGVcbiAqIEBjYXRlZ29yeSBEZWNhZGUgSGVscGVyc1xuICogQHN1bW1hcnkgUmV0dXJuIHRoZSBsYXN0IGRheSBvZiBhIGRlY2FkZSBmb3IgdGhlIGdpdmVuIGRhdGUuXG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKiBSZXR1cm4gdGhlIGxhc3QgZGF5IG9mIGEgZGVjYWRlIGZvciB0aGUgZ2l2ZW4gZGF0ZS5cbiAqXG4gKiAjIyMgdjIuMC4wIGJyZWFraW5nIGNoYW5nZXM6XG4gKlxuICogLSBbQ2hhbmdlcyB0aGF0IGFyZSBjb21tb24gZm9yIHRoZSB3aG9sZSBsaWJyYXJ5XShodHRwczovL2dpdGh1Yi5jb20vZGF0ZS1mbnMvZGF0ZS1mbnMvYmxvYi9tYXN0ZXIvZG9jcy91cGdyYWRlR3VpZGUubWQjQ29tbW9uLUNoYW5nZXMpLlxuICpcbiAqIEBwYXJhbSB7RGF0ZXxOdW1iZXJ9IGRhdGUgLSB0aGUgb3JpZ2luYWwgZGF0ZVxuICogQHJldHVybnMge0RhdGV9IHRoZSBsYXN0IGRheSBvZiBhIGRlY2FkZVxuICogQHRocm93cyB7VHlwZUVycm9yfSAxIGFyZ3VtZW50IHJlcXVpcmVkXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIFRoZSBsYXN0IGRheSBvZiBhIGRlY2FkZSBmb3IgMjEgRGVjZW1iZXIgMjAxMiAyMToxMjowMDpcbiAqIHZhciByZXN1bHQgPSBsYXN0RGF5T2ZEZWNhZGUobmV3IERhdGUoMjAxMiwgMTEsIDIxLCAyMSwgMTIsIDAwKSlcbiAqIC8vPT4gV2VkIERlYyAzMSAyMDE5IDAwOjAwOjAwXG4gKi9cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gbGFzdERheU9mRGVjYWRlKGRpcnR5RGF0ZSkge1xuICBpZiAoYXJndW1lbnRzLmxlbmd0aCA8IDEpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCcxIGFyZ3VtZW50IHJlcXVpcmVkLCBidXQgb25seSAnICsgYXJndW1lbnRzLmxlbmd0aCArICcgcHJlc2VudCcpO1xuICB9XG5cbiAgdmFyIGRhdGUgPSB0b0RhdGUoZGlydHlEYXRlKTtcbiAgdmFyIHllYXIgPSBkYXRlLmdldEZ1bGxZZWFyKCk7XG4gIHZhciBkZWNhZGUgPSA5ICsgTWF0aC5mbG9vcih5ZWFyIC8gMTApICogMTA7XG4gIGRhdGUuc2V0RnVsbFllYXIoZGVjYWRlICsgMSwgMCwgMCk7XG4gIGRhdGUuc2V0SG91cnMoMCwgMCwgMCwgMCk7XG4gIHJldHVybiBkYXRlO1xufSJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/lastDayOfDecade/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/lastDayOfISOWeek/index.js": /*!*************************************************************!*\ !*** ./node_modules/date-fns/esm/lastDayOfISOWeek/index.js ***! \*************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return lastDayOfISOWeek; });\n/* harmony import */ var _lastDayOfWeek_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../lastDayOfWeek/index.js */ \"./node_modules/date-fns/esm/lastDayOfWeek/index.js\");\n\n/**\n * @name lastDayOfISOWeek\n * @category ISO Week Helpers\n * @summary Return the last day of an ISO week for the given date.\n *\n * @description\n * Return the last day of an ISO week for the given date.\n * The result will be in the local timezone.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the last day of an ISO week\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The last day of an ISO week for 2 September 2014 11:55:00:\n * var result = lastDayOfISOWeek(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Sun Sep 07 2014 00:00:00\n */\n\nfunction lastDayOfISOWeek(dirtyDate) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n return Object(_lastDayOfWeek_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate, {\n weekStartsOn: 1\n });\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2xhc3REYXlPZklTT1dlZWsvaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2xhc3REYXlPZklTT1dlZWsvaW5kZXguanM/ODAwZSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbGFzdERheU9mV2VlayBmcm9tICcuLi9sYXN0RGF5T2ZXZWVrL2luZGV4LmpzJztcbi8qKlxuICogQG5hbWUgbGFzdERheU9mSVNPV2Vla1xuICogQGNhdGVnb3J5IElTTyBXZWVrIEhlbHBlcnNcbiAqIEBzdW1tYXJ5IFJldHVybiB0aGUgbGFzdCBkYXkgb2YgYW4gSVNPIHdlZWsgZm9yIHRoZSBnaXZlbiBkYXRlLlxuICpcbiAqIEBkZXNjcmlwdGlvblxuICogUmV0dXJuIHRoZSBsYXN0IGRheSBvZiBhbiBJU08gd2VlayBmb3IgdGhlIGdpdmVuIGRhdGUuXG4gKiBUaGUgcmVzdWx0IHdpbGwgYmUgaW4gdGhlIGxvY2FsIHRpbWV6b25lLlxuICpcbiAqIElTTyB3ZWVrLW51bWJlcmluZyB5ZWFyOiBodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0lTT193ZWVrX2RhdGVcbiAqXG4gKiAjIyMgdjIuMC4wIGJyZWFraW5nIGNoYW5nZXM6XG4gKlxuICogLSBbQ2hhbmdlcyB0aGF0IGFyZSBjb21tb24gZm9yIHRoZSB3aG9sZSBsaWJyYXJ5XShodHRwczovL2dpdGh1Yi5jb20vZGF0ZS1mbnMvZGF0ZS1mbnMvYmxvYi9tYXN0ZXIvZG9jcy91cGdyYWRlR3VpZGUubWQjQ29tbW9uLUNoYW5nZXMpLlxuICpcbiAqIEBwYXJhbSB7RGF0ZXxOdW1iZXJ9IGRhdGUgLSB0aGUgb3JpZ2luYWwgZGF0ZVxuICogQHJldHVybnMge0RhdGV9IHRoZSBsYXN0IGRheSBvZiBhbiBJU08gd2Vla1xuICogQHRocm93cyB7VHlwZUVycm9yfSAxIGFyZ3VtZW50IHJlcXVpcmVkXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIFRoZSBsYXN0IGRheSBvZiBhbiBJU08gd2VlayBmb3IgMiBTZXB0ZW1iZXIgMjAxNCAxMTo1NTowMDpcbiAqIHZhciByZXN1bHQgPSBsYXN0RGF5T2ZJU09XZWVrKG5ldyBEYXRlKDIwMTQsIDgsIDIsIDExLCA1NSwgMCkpXG4gKiAvLz0+IFN1biBTZXAgMDcgMjAxNCAwMDowMDowMFxuICovXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGxhc3REYXlPZklTT1dlZWsoZGlydHlEYXRlKSB7XG4gIGlmIChhcmd1bWVudHMubGVuZ3RoIDwgMSkge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJzEgYXJndW1lbnQgcmVxdWlyZWQsIGJ1dCBvbmx5ICcgKyBhcmd1bWVudHMubGVuZ3RoICsgJyBwcmVzZW50Jyk7XG4gIH1cblxuICByZXR1cm4gbGFzdERheU9mV2VlayhkaXJ0eURhdGUsIHtcbiAgICB3ZWVrU3RhcnRzT246IDFcbiAgfSk7XG59Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/lastDayOfISOWeek/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/lastDayOfISOWeekYear/index.js": /*!*****************************************************************!*\ !*** ./node_modules/date-fns/esm/lastDayOfISOWeekYear/index.js ***! \*****************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return lastDayOfISOWeekYear; });\n/* harmony import */ var _getISOWeekYear_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../getISOWeekYear/index.js */ \"./node_modules/date-fns/esm/getISOWeekYear/index.js\");\n/* harmony import */ var _startOfISOWeek_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../startOfISOWeek/index.js */ \"./node_modules/date-fns/esm/startOfISOWeek/index.js\");\n\n\n/**\n * @name lastDayOfISOWeekYear\n * @category ISO Week-Numbering Year Helpers\n * @summary Return the last day of an ISO week-numbering year for the given date.\n *\n * @description\n * Return the last day of an ISO week-numbering year,\n * which always starts 3 days before the year's first Thursday.\n * The result will be in the local timezone.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * - The function was renamed from `lastDayOfISOYear` to `lastDayOfISOWeekYear`.\n * \"ISO week year\" is short for [ISO week-numbering year](https://en.wikipedia.org/wiki/ISO_week_date).\n * This change makes the name consistent with\n * locale-dependent week-numbering year helpers, e.g., `getWeekYear`.\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the end of an ISO week-numbering year\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The last day of an ISO week-numbering year for 2 July 2005:\n * var result = lastDayOfISOWeekYear(new Date(2005, 6, 2))\n * //=> Sun Jan 01 2006 00:00:00\n */\n\nfunction lastDayOfISOWeekYear(dirtyDate) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n var year = Object(_getISOWeekYear_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate);\n var fourthOfJanuary = new Date(0);\n fourthOfJanuary.setFullYear(year + 1, 0, 4);\n fourthOfJanuary.setHours(0, 0, 0, 0);\n var date = Object(_startOfISOWeek_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(fourthOfJanuary);\n date.setDate(date.getDate() - 1);\n return date;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2xhc3REYXlPZklTT1dlZWtZZWFyL2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2VzbS9sYXN0RGF5T2ZJU09XZWVrWWVhci9pbmRleC5qcz9mYjU3Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBnZXRJU09XZWVrWWVhciBmcm9tICcuLi9nZXRJU09XZWVrWWVhci9pbmRleC5qcyc7XG5pbXBvcnQgc3RhcnRPZklTT1dlZWsgZnJvbSAnLi4vc3RhcnRPZklTT1dlZWsvaW5kZXguanMnO1xuLyoqXG4gKiBAbmFtZSBsYXN0RGF5T2ZJU09XZWVrWWVhclxuICogQGNhdGVnb3J5IElTTyBXZWVrLU51bWJlcmluZyBZZWFyIEhlbHBlcnNcbiAqIEBzdW1tYXJ5IFJldHVybiB0aGUgbGFzdCBkYXkgb2YgYW4gSVNPIHdlZWstbnVtYmVyaW5nIHllYXIgZm9yIHRoZSBnaXZlbiBkYXRlLlxuICpcbiAqIEBkZXNjcmlwdGlvblxuICogUmV0dXJuIHRoZSBsYXN0IGRheSBvZiBhbiBJU08gd2Vlay1udW1iZXJpbmcgeWVhcixcbiAqIHdoaWNoIGFsd2F5cyBzdGFydHMgMyBkYXlzIGJlZm9yZSB0aGUgeWVhcidzIGZpcnN0IFRodXJzZGF5LlxuICogVGhlIHJlc3VsdCB3aWxsIGJlIGluIHRoZSBsb2NhbCB0aW1lem9uZS5cbiAqXG4gKiBJU08gd2Vlay1udW1iZXJpbmcgeWVhcjogaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9JU09fd2Vla19kYXRlXG4gKlxuICogIyMjIHYyLjAuMCBicmVha2luZyBjaGFuZ2VzOlxuICpcbiAqIC0gW0NoYW5nZXMgdGhhdCBhcmUgY29tbW9uIGZvciB0aGUgd2hvbGUgbGlicmFyeV0oaHR0cHM6Ly9naXRodWIuY29tL2RhdGUtZm5zL2RhdGUtZm5zL2Jsb2IvbWFzdGVyL2RvY3MvdXBncmFkZUd1aWRlLm1kI0NvbW1vbi1DaGFuZ2VzKS5cbiAqXG4gKiAtIFRoZSBmdW5jdGlvbiB3YXMgcmVuYW1lZCBmcm9tIGBsYXN0RGF5T2ZJU09ZZWFyYCB0byBgbGFzdERheU9mSVNPV2Vla1llYXJgLlxuICogICBcIklTTyB3ZWVrIHllYXJcIiBpcyBzaG9ydCBmb3IgW0lTTyB3ZWVrLW51bWJlcmluZyB5ZWFyXShodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9JU09fd2Vla19kYXRlKS5cbiAqICAgVGhpcyBjaGFuZ2UgbWFrZXMgdGhlIG5hbWUgY29uc2lzdGVudCB3aXRoXG4gKiAgIGxvY2FsZS1kZXBlbmRlbnQgd2Vlay1udW1iZXJpbmcgeWVhciBoZWxwZXJzLCBlLmcuLCBgZ2V0V2Vla1llYXJgLlxuICpcbiAqIEBwYXJhbSB7RGF0ZXxOdW1iZXJ9IGRhdGUgLSB0aGUgb3JpZ2luYWwgZGF0ZVxuICogQHJldHVybnMge0RhdGV9IHRoZSBlbmQgb2YgYW4gSVNPIHdlZWstbnVtYmVyaW5nIHllYXJcbiAqIEB0aHJvd3Mge1R5cGVFcnJvcn0gMSBhcmd1bWVudCByZXF1aXJlZFxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBUaGUgbGFzdCBkYXkgb2YgYW4gSVNPIHdlZWstbnVtYmVyaW5nIHllYXIgZm9yIDIgSnVseSAyMDA1OlxuICogdmFyIHJlc3VsdCA9IGxhc3REYXlPZklTT1dlZWtZZWFyKG5ldyBEYXRlKDIwMDUsIDYsIDIpKVxuICogLy89PiBTdW4gSmFuIDAxIDIwMDYgMDA6MDA6MDBcbiAqL1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBsYXN0RGF5T2ZJU09XZWVrWWVhcihkaXJ0eURhdGUpIHtcbiAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPCAxKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignMSBhcmd1bWVudCByZXF1aXJlZCwgYnV0IG9ubHkgJyArIGFyZ3VtZW50cy5sZW5ndGggKyAnIHByZXNlbnQnKTtcbiAgfVxuXG4gIHZhciB5ZWFyID0gZ2V0SVNPV2Vla1llYXIoZGlydHlEYXRlKTtcbiAgdmFyIGZvdXJ0aE9mSmFudWFyeSA9IG5ldyBEYXRlKDApO1xuICBmb3VydGhPZkphbnVhcnkuc2V0RnVsbFllYXIoeWVhciArIDEsIDAsIDQpO1xuICBmb3VydGhPZkphbnVhcnkuc2V0SG91cnMoMCwgMCwgMCwgMCk7XG4gIHZhciBkYXRlID0gc3RhcnRPZklTT1dlZWsoZm91cnRoT2ZKYW51YXJ5KTtcbiAgZGF0ZS5zZXREYXRlKGRhdGUuZ2V0RGF0ZSgpIC0gMSk7XG4gIHJldHVybiBkYXRlO1xufSJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/lastDayOfISOWeekYear/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/lastDayOfMonth/index.js": /*!***********************************************************!*\ !*** ./node_modules/date-fns/esm/lastDayOfMonth/index.js ***! \***********************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return lastDayOfMonth; });\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n\n/**\n * @name lastDayOfMonth\n * @category Month Helpers\n * @summary Return the last day of a month for the given date.\n *\n * @description\n * Return the last day of a month for the given date.\n * The result will be in the local timezone.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the last day of a month\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The last day of a month for 2 September 2014 11:55:00:\n * var result = lastDayOfMonth(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Tue Sep 30 2014 00:00:00\n */\n\nfunction lastDayOfMonth(dirtyDate) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n var date = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate);\n var month = date.getMonth();\n date.setFullYear(date.getFullYear(), month + 1, 0);\n date.setHours(0, 0, 0, 0);\n return date;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2xhc3REYXlPZk1vbnRoL2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2VzbS9sYXN0RGF5T2ZNb250aC9pbmRleC5qcz85MGE1Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0b0RhdGUgZnJvbSAnLi4vdG9EYXRlL2luZGV4LmpzJztcbi8qKlxuICogQG5hbWUgbGFzdERheU9mTW9udGhcbiAqIEBjYXRlZ29yeSBNb250aCBIZWxwZXJzXG4gKiBAc3VtbWFyeSBSZXR1cm4gdGhlIGxhc3QgZGF5IG9mIGEgbW9udGggZm9yIHRoZSBnaXZlbiBkYXRlLlxuICpcbiAqIEBkZXNjcmlwdGlvblxuICogUmV0dXJuIHRoZSBsYXN0IGRheSBvZiBhIG1vbnRoIGZvciB0aGUgZ2l2ZW4gZGF0ZS5cbiAqIFRoZSByZXN1bHQgd2lsbCBiZSBpbiB0aGUgbG9jYWwgdGltZXpvbmUuXG4gKlxuICogIyMjIHYyLjAuMCBicmVha2luZyBjaGFuZ2VzOlxuICpcbiAqIC0gW0NoYW5nZXMgdGhhdCBhcmUgY29tbW9uIGZvciB0aGUgd2hvbGUgbGlicmFyeV0oaHR0cHM6Ly9naXRodWIuY29tL2RhdGUtZm5zL2RhdGUtZm5zL2Jsb2IvbWFzdGVyL2RvY3MvdXBncmFkZUd1aWRlLm1kI0NvbW1vbi1DaGFuZ2VzKS5cbiAqXG4gKiBAcGFyYW0ge0RhdGV8TnVtYmVyfSBkYXRlIC0gdGhlIG9yaWdpbmFsIGRhdGVcbiAqIEByZXR1cm5zIHtEYXRlfSB0aGUgbGFzdCBkYXkgb2YgYSBtb250aFxuICogQHRocm93cyB7VHlwZUVycm9yfSAxIGFyZ3VtZW50IHJlcXVpcmVkXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIFRoZSBsYXN0IGRheSBvZiBhIG1vbnRoIGZvciAyIFNlcHRlbWJlciAyMDE0IDExOjU1OjAwOlxuICogdmFyIHJlc3VsdCA9IGxhc3REYXlPZk1vbnRoKG5ldyBEYXRlKDIwMTQsIDgsIDIsIDExLCA1NSwgMCkpXG4gKiAvLz0+IFR1ZSBTZXAgMzAgMjAxNCAwMDowMDowMFxuICovXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGxhc3REYXlPZk1vbnRoKGRpcnR5RGF0ZSkge1xuICBpZiAoYXJndW1lbnRzLmxlbmd0aCA8IDEpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCcxIGFyZ3VtZW50IHJlcXVpcmVkLCBidXQgb25seSAnICsgYXJndW1lbnRzLmxlbmd0aCArICcgcHJlc2VudCcpO1xuICB9XG5cbiAgdmFyIGRhdGUgPSB0b0RhdGUoZGlydHlEYXRlKTtcbiAgdmFyIG1vbnRoID0gZGF0ZS5nZXRNb250aCgpO1xuICBkYXRlLnNldEZ1bGxZZWFyKGRhdGUuZ2V0RnVsbFllYXIoKSwgbW9udGggKyAxLCAwKTtcbiAgZGF0ZS5zZXRIb3VycygwLCAwLCAwLCAwKTtcbiAgcmV0dXJuIGRhdGU7XG59Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/lastDayOfMonth/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/lastDayOfQuarter/index.js": /*!*************************************************************!*\ !*** ./node_modules/date-fns/esm/lastDayOfQuarter/index.js ***! \*************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return lastDayOfQuarter; });\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n\n/**\n * @name lastDayOfQuarter\n * @category Quarter Helpers\n * @summary Return the last day of a year quarter for the given date.\n *\n * @description\n * Return the last day of a year quarter for the given date.\n * The result will be in the local timezone.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the original date\n * @param {Object} [options] - an object with options.\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\n * @returns {Date} the last day of a quarter\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\n *\n * @example\n * // The last day of a quarter for 2 September 2014 11:55:00:\n * var result = lastDayOfQuarter(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Tue Sep 30 2014 00:00:00\n */\n\nfunction lastDayOfQuarter(dirtyDate) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n var date = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate);\n var currentMonth = date.getMonth();\n var month = currentMonth - currentMonth % 3 + 3;\n date.setMonth(month, 0);\n date.setHours(0, 0, 0, 0);\n return date;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2xhc3REYXlPZlF1YXJ0ZXIvaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2xhc3REYXlPZlF1YXJ0ZXIvaW5kZXguanM/MTcwNiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdG9EYXRlIGZyb20gJy4uL3RvRGF0ZS9pbmRleC5qcyc7XG4vKipcbiAqIEBuYW1lIGxhc3REYXlPZlF1YXJ0ZXJcbiAqIEBjYXRlZ29yeSBRdWFydGVyIEhlbHBlcnNcbiAqIEBzdW1tYXJ5IFJldHVybiB0aGUgbGFzdCBkYXkgb2YgYSB5ZWFyIHF1YXJ0ZXIgZm9yIHRoZSBnaXZlbiBkYXRlLlxuICpcbiAqIEBkZXNjcmlwdGlvblxuICogUmV0dXJuIHRoZSBsYXN0IGRheSBvZiBhIHllYXIgcXVhcnRlciBmb3IgdGhlIGdpdmVuIGRhdGUuXG4gKiBUaGUgcmVzdWx0IHdpbGwgYmUgaW4gdGhlIGxvY2FsIHRpbWV6b25lLlxuICpcbiAqICMjIyB2Mi4wLjAgYnJlYWtpbmcgY2hhbmdlczpcbiAqXG4gKiAtIFtDaGFuZ2VzIHRoYXQgYXJlIGNvbW1vbiBmb3IgdGhlIHdob2xlIGxpYnJhcnldKGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRlLWZucy9kYXRlLWZucy9ibG9iL21hc3Rlci9kb2NzL3VwZ3JhZGVHdWlkZS5tZCNDb21tb24tQ2hhbmdlcykuXG4gKlxuICogQHBhcmFtIHtEYXRlfE51bWJlcn0gZGF0ZSAtIHRoZSBvcmlnaW5hbCBkYXRlXG4gKiBAcGFyYW0ge09iamVjdH0gW29wdGlvbnNdIC0gYW4gb2JqZWN0IHdpdGggb3B0aW9ucy5cbiAqIEBwYXJhbSB7MHwxfDJ9IFtvcHRpb25zLmFkZGl0aW9uYWxEaWdpdHM9Ml0gLSBwYXNzZWQgdG8gYHRvRGF0ZWAuIFNlZSBbdG9EYXRlXXtAbGluayBodHRwczovL2RhdGUtZm5zLm9yZy9kb2NzL3RvRGF0ZX1cbiAqIEByZXR1cm5zIHtEYXRlfSB0aGUgbGFzdCBkYXkgb2YgYSBxdWFydGVyXG4gKiBAdGhyb3dzIHtUeXBlRXJyb3J9IDEgYXJndW1lbnQgcmVxdWlyZWRcbiAqIEB0aHJvd3Mge1JhbmdlRXJyb3J9IGBvcHRpb25zLmFkZGl0aW9uYWxEaWdpdHNgIG11c3QgYmUgMCwgMSBvciAyXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIFRoZSBsYXN0IGRheSBvZiBhIHF1YXJ0ZXIgZm9yIDIgU2VwdGVtYmVyIDIwMTQgMTE6NTU6MDA6XG4gKiB2YXIgcmVzdWx0ID0gbGFzdERheU9mUXVhcnRlcihuZXcgRGF0ZSgyMDE0LCA4LCAyLCAxMSwgNTUsIDApKVxuICogLy89PiBUdWUgU2VwIDMwIDIwMTQgMDA6MDA6MDBcbiAqL1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBsYXN0RGF5T2ZRdWFydGVyKGRpcnR5RGF0ZSkge1xuICBpZiAoYXJndW1lbnRzLmxlbmd0aCA8IDEpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCcxIGFyZ3VtZW50IHJlcXVpcmVkLCBidXQgb25seSAnICsgYXJndW1lbnRzLmxlbmd0aCArICcgcHJlc2VudCcpO1xuICB9XG5cbiAgdmFyIGRhdGUgPSB0b0RhdGUoZGlydHlEYXRlKTtcbiAgdmFyIGN1cnJlbnRNb250aCA9IGRhdGUuZ2V0TW9udGgoKTtcbiAgdmFyIG1vbnRoID0gY3VycmVudE1vbnRoIC0gY3VycmVudE1vbnRoICUgMyArIDM7XG4gIGRhdGUuc2V0TW9udGgobW9udGgsIDApO1xuICBkYXRlLnNldEhvdXJzKDAsIDAsIDAsIDApO1xuICByZXR1cm4gZGF0ZTtcbn0iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/lastDayOfQuarter/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/lastDayOfWeek/index.js": /*!**********************************************************!*\ !*** ./node_modules/date-fns/esm/lastDayOfWeek/index.js ***! \**********************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return lastDayOfWeek; });\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n/* harmony import */ var _lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../_lib/toInteger/index.js */ \"./node_modules/date-fns/esm/_lib/toInteger/index.js\");\n\n\n/**\n * @name lastDayOfWeek\n * @category Week Helpers\n * @summary Return the last day of a week for the given date.\n *\n * @description\n * Return the last day of a week for the given date.\n * The result will be in the local timezone.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the original date\n * @param {Object} [options] - an object with options.\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\n * @returns {Date} the last day of a week\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6\n *\n * @example\n * // The last day of a week for 2 September 2014 11:55:00:\n * var result = lastDayOfWeek(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Sat Sep 06 2014 00:00:00\n *\n * @example\n * // If the week starts on Monday, the last day of the week for 2 September 2014 11:55:00:\n * var result = lastDayOfWeek(new Date(2014, 8, 2, 11, 55, 0), { weekStartsOn: 1 })\n * //=> Sun Sep 07 2014 00:00:00\n */\n\nfunction lastDayOfWeek(dirtyDate, dirtyOptions) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n var options = dirtyOptions || {};\n var locale = options.locale;\n var localeWeekStartsOn = locale && locale.options && locale.options.weekStartsOn;\n var defaultWeekStartsOn = localeWeekStartsOn == null ? 0 : Object(_lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(localeWeekStartsOn);\n var weekStartsOn = options.weekStartsOn == null ? defaultWeekStartsOn : Object(_lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(options.weekStartsOn); // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\n\n if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\n throw new RangeError('weekStartsOn must be between 0 and 6');\n }\n\n var date = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate);\n var day = date.getDay();\n var diff = (day < weekStartsOn ? -7 : 0) + 6 - (day - weekStartsOn);\n date.setHours(0, 0, 0, 0);\n date.setDate(date.getDate() + diff);\n return date;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2xhc3REYXlPZldlZWsvaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2xhc3REYXlPZldlZWsvaW5kZXguanM/ODA3ZiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdG9EYXRlIGZyb20gJy4uL3RvRGF0ZS9pbmRleC5qcyc7XG5pbXBvcnQgdG9JbnRlZ2VyIGZyb20gJy4uL19saWIvdG9JbnRlZ2VyL2luZGV4LmpzJztcbi8qKlxuICogQG5hbWUgbGFzdERheU9mV2Vla1xuICogQGNhdGVnb3J5IFdlZWsgSGVscGVyc1xuICogQHN1bW1hcnkgUmV0dXJuIHRoZSBsYXN0IGRheSBvZiBhIHdlZWsgZm9yIHRoZSBnaXZlbiBkYXRlLlxuICpcbiAqIEBkZXNjcmlwdGlvblxuICogUmV0dXJuIHRoZSBsYXN0IGRheSBvZiBhIHdlZWsgZm9yIHRoZSBnaXZlbiBkYXRlLlxuICogVGhlIHJlc3VsdCB3aWxsIGJlIGluIHRoZSBsb2NhbCB0aW1lem9uZS5cbiAqXG4gKiAjIyMgdjIuMC4wIGJyZWFraW5nIGNoYW5nZXM6XG4gKlxuICogLSBbQ2hhbmdlcyB0aGF0IGFyZSBjb21tb24gZm9yIHRoZSB3aG9sZSBsaWJyYXJ5XShodHRwczovL2dpdGh1Yi5jb20vZGF0ZS1mbnMvZGF0ZS1mbnMvYmxvYi9tYXN0ZXIvZG9jcy91cGdyYWRlR3VpZGUubWQjQ29tbW9uLUNoYW5nZXMpLlxuICpcbiAqIEBwYXJhbSB7RGF0ZXxOdW1iZXJ9IGRhdGUgLSB0aGUgb3JpZ2luYWwgZGF0ZVxuICogQHBhcmFtIHtPYmplY3R9IFtvcHRpb25zXSAtIGFuIG9iamVjdCB3aXRoIG9wdGlvbnMuXG4gKiBAcGFyYW0ge0xvY2FsZX0gW29wdGlvbnMubG9jYWxlPWRlZmF1bHRMb2NhbGVdIC0gdGhlIGxvY2FsZSBvYmplY3QuIFNlZSBbTG9jYWxlXXtAbGluayBodHRwczovL2RhdGUtZm5zLm9yZy9kb2NzL0xvY2FsZX1cbiAqIEBwYXJhbSB7MHwxfDJ8M3w0fDV8Nn0gW29wdGlvbnMud2Vla1N0YXJ0c09uPTBdIC0gdGhlIGluZGV4IG9mIHRoZSBmaXJzdCBkYXkgb2YgdGhlIHdlZWsgKDAgLSBTdW5kYXkpXG4gKiBAcmV0dXJucyB7RGF0ZX0gdGhlIGxhc3QgZGF5IG9mIGEgd2Vla1xuICogQHRocm93cyB7VHlwZUVycm9yfSAxIGFyZ3VtZW50IHJlcXVpcmVkXG4gKiBAdGhyb3dzIHtSYW5nZUVycm9yfSBgb3B0aW9ucy53ZWVrU3RhcnRzT25gIG11c3QgYmUgYmV0d2VlbiAwIGFuZCA2XG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIFRoZSBsYXN0IGRheSBvZiBhIHdlZWsgZm9yIDIgU2VwdGVtYmVyIDIwMTQgMTE6NTU6MDA6XG4gKiB2YXIgcmVzdWx0ID0gbGFzdERheU9mV2VlayhuZXcgRGF0ZSgyMDE0LCA4LCAyLCAxMSwgNTUsIDApKVxuICogLy89PiBTYXQgU2VwIDA2IDIwMTQgMDA6MDA6MDBcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gSWYgdGhlIHdlZWsgc3RhcnRzIG9uIE1vbmRheSwgdGhlIGxhc3QgZGF5IG9mIHRoZSB3ZWVrIGZvciAyIFNlcHRlbWJlciAyMDE0IDExOjU1OjAwOlxuICogdmFyIHJlc3VsdCA9IGxhc3REYXlPZldlZWsobmV3IERhdGUoMjAxNCwgOCwgMiwgMTEsIDU1LCAwKSwgeyB3ZWVrU3RhcnRzT246IDEgfSlcbiAqIC8vPT4gU3VuIFNlcCAwNyAyMDE0IDAwOjAwOjAwXG4gKi9cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gbGFzdERheU9mV2VlayhkaXJ0eURhdGUsIGRpcnR5T3B0aW9ucykge1xuICBpZiAoYXJndW1lbnRzLmxlbmd0aCA8IDEpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCcxIGFyZ3VtZW50IHJlcXVpcmVkLCBidXQgb25seSAnICsgYXJndW1lbnRzLmxlbmd0aCArICcgcHJlc2VudCcpO1xuICB9XG5cbiAgdmFyIG9wdGlvbnMgPSBkaXJ0eU9wdGlvbnMgfHwge307XG4gIHZhciBsb2NhbGUgPSBvcHRpb25zLmxvY2FsZTtcbiAgdmFyIGxvY2FsZVdlZWtTdGFydHNPbiA9IGxvY2FsZSAmJiBsb2NhbGUub3B0aW9ucyAmJiBsb2NhbGUub3B0aW9ucy53ZWVrU3RhcnRzT247XG4gIHZhciBkZWZhdWx0V2Vla1N0YXJ0c09uID0gbG9jYWxlV2Vla1N0YXJ0c09uID09IG51bGwgPyAwIDogdG9JbnRlZ2VyKGxvY2FsZVdlZWtTdGFydHNPbik7XG4gIHZhciB3ZWVrU3RhcnRzT24gPSBvcHRpb25zLndlZWtTdGFydHNPbiA9PSBudWxsID8gZGVmYXVsdFdlZWtTdGFydHNPbiA6IHRvSW50ZWdlcihvcHRpb25zLndlZWtTdGFydHNPbik7IC8vIFRlc3QgaWYgd2Vla1N0YXJ0c09uIGlzIGJldHdlZW4gMCBhbmQgNiBfYW5kXyBpcyBub3QgTmFOXG5cbiAgaWYgKCEod2Vla1N0YXJ0c09uID49IDAgJiYgd2Vla1N0YXJ0c09uIDw9IDYpKSB7XG4gICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ3dlZWtTdGFydHNPbiBtdXN0IGJlIGJldHdlZW4gMCBhbmQgNicpO1xuICB9XG5cbiAgdmFyIGRhdGUgPSB0b0RhdGUoZGlydHlEYXRlKTtcbiAgdmFyIGRheSA9IGRhdGUuZ2V0RGF5KCk7XG4gIHZhciBkaWZmID0gKGRheSA8IHdlZWtTdGFydHNPbiA/IC03IDogMCkgKyA2IC0gKGRheSAtIHdlZWtTdGFydHNPbik7XG4gIGRhdGUuc2V0SG91cnMoMCwgMCwgMCwgMCk7XG4gIGRhdGUuc2V0RGF0ZShkYXRlLmdldERhdGUoKSArIGRpZmYpO1xuICByZXR1cm4gZGF0ZTtcbn0iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/lastDayOfWeek/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/lastDayOfYear/index.js": /*!**********************************************************!*\ !*** ./node_modules/date-fns/esm/lastDayOfYear/index.js ***! \**********************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return lastDayOfYear; });\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n\n/**\n * @name lastDayOfYear\n * @category Year Helpers\n * @summary Return the last day of a year for the given date.\n *\n * @description\n * Return the last day of a year for the given date.\n * The result will be in the local timezone.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the last day of a year\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The last day of a year for 2 September 2014 11:55:00:\n * var result = lastDayOfYear(new Date(2014, 8, 2, 11, 55, 00))\n * //=> Wed Dec 31 2014 00:00:00\n */\n\nfunction lastDayOfYear(dirtyDate) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n var date = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate);\n var year = date.getFullYear();\n date.setFullYear(year + 1, 0, 0);\n date.setHours(0, 0, 0, 0);\n return date;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2xhc3REYXlPZlllYXIvaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2xhc3REYXlPZlllYXIvaW5kZXguanM/YzEwYSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdG9EYXRlIGZyb20gJy4uL3RvRGF0ZS9pbmRleC5qcyc7XG4vKipcbiAqIEBuYW1lIGxhc3REYXlPZlllYXJcbiAqIEBjYXRlZ29yeSBZZWFyIEhlbHBlcnNcbiAqIEBzdW1tYXJ5IFJldHVybiB0aGUgbGFzdCBkYXkgb2YgYSB5ZWFyIGZvciB0aGUgZ2l2ZW4gZGF0ZS5cbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIFJldHVybiB0aGUgbGFzdCBkYXkgb2YgYSB5ZWFyIGZvciB0aGUgZ2l2ZW4gZGF0ZS5cbiAqIFRoZSByZXN1bHQgd2lsbCBiZSBpbiB0aGUgbG9jYWwgdGltZXpvbmUuXG4gKlxuICogIyMjIHYyLjAuMCBicmVha2luZyBjaGFuZ2VzOlxuICpcbiAqIC0gW0NoYW5nZXMgdGhhdCBhcmUgY29tbW9uIGZvciB0aGUgd2hvbGUgbGlicmFyeV0oaHR0cHM6Ly9naXRodWIuY29tL2RhdGUtZm5zL2RhdGUtZm5zL2Jsb2IvbWFzdGVyL2RvY3MvdXBncmFkZUd1aWRlLm1kI0NvbW1vbi1DaGFuZ2VzKS5cbiAqXG4gKiBAcGFyYW0ge0RhdGV8TnVtYmVyfSBkYXRlIC0gdGhlIG9yaWdpbmFsIGRhdGVcbiAqIEByZXR1cm5zIHtEYXRlfSB0aGUgbGFzdCBkYXkgb2YgYSB5ZWFyXG4gKiBAdGhyb3dzIHtUeXBlRXJyb3J9IDEgYXJndW1lbnQgcmVxdWlyZWRcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gVGhlIGxhc3QgZGF5IG9mIGEgeWVhciBmb3IgMiBTZXB0ZW1iZXIgMjAxNCAxMTo1NTowMDpcbiAqIHZhciByZXN1bHQgPSBsYXN0RGF5T2ZZZWFyKG5ldyBEYXRlKDIwMTQsIDgsIDIsIDExLCA1NSwgMDApKVxuICogLy89PiBXZWQgRGVjIDMxIDIwMTQgMDA6MDA6MDBcbiAqL1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBsYXN0RGF5T2ZZZWFyKGRpcnR5RGF0ZSkge1xuICBpZiAoYXJndW1lbnRzLmxlbmd0aCA8IDEpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCcxIGFyZ3VtZW50IHJlcXVpcmVkLCBidXQgb25seSAnICsgYXJndW1lbnRzLmxlbmd0aCArICcgcHJlc2VudCcpO1xuICB9XG5cbiAgdmFyIGRhdGUgPSB0b0RhdGUoZGlydHlEYXRlKTtcbiAgdmFyIHllYXIgPSBkYXRlLmdldEZ1bGxZZWFyKCk7XG4gIGRhdGUuc2V0RnVsbFllYXIoeWVhciArIDEsIDAsIDApO1xuICBkYXRlLnNldEhvdXJzKDAsIDAsIDAsIDApO1xuICByZXR1cm4gZGF0ZTtcbn0iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/lastDayOfYear/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/lightFormat/index.js": /*!********************************************************!*\ !*** ./node_modules/date-fns/esm/lightFormat/index.js ***! \********************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return lightFormat; });\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n/* harmony import */ var _lib_format_lightFormatters_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../_lib/format/lightFormatters/index.js */ \"./node_modules/date-fns/esm/_lib/format/lightFormatters/index.js\");\n/* harmony import */ var _lib_getTimezoneOffsetInMilliseconds_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../_lib/getTimezoneOffsetInMilliseconds/index.js */ \"./node_modules/date-fns/esm/_lib/getTimezoneOffsetInMilliseconds/index.js\");\n/* harmony import */ var _isValid_index_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../isValid/index.js */ \"./node_modules/date-fns/esm/isValid/index.js\");\n/* harmony import */ var _subMilliseconds_index_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../subMilliseconds/index.js */ \"./node_modules/date-fns/esm/subMilliseconds/index.js\");\n\n\n\n\n // This RegExp consists of three parts separated by `|`:\n// - (\\w)\\1* matches any sequences of the same letter\n// - '' matches two quote characters in a row\n// - '(''|[^'])+('|$) matches anything surrounded by two quote characters ('),\n// except a single quote symbol, which ends the sequence.\n// Two quote characters do not end the sequence.\n// If there is no matching single quote\n// then the sequence will continue until the end of the string.\n// - . matches any single character unmatched by previous parts of the RegExps\n\nvar formattingTokensRegExp = /(\\w)\\1*|''|'(''|[^'])+('|$)|./g;\nvar escapedStringRegExp = /^'(.*?)'?$/;\nvar doubleQuoteRegExp = /''/g;\nvar unescapedLatinCharacterRegExp = /[a-zA-Z]/;\n/**\n * @name lightFormat\n * @category Common Helpers\n * @summary Format the date.\n *\n * @description\n * Return the formatted date string in the given format. Unlike `format`,\n * `lightFormat` doesn't use locales and outputs date using the most popular tokens.\n *\n * > ⚠️ Please note that the `lightFormat` tokens differ from Moment.js and other libraries.\n * > See: https://git.io/fxCyr\n *\n * The characters wrapped between two single quotes characters (') are escaped.\n * Two single quotes in a row, whether inside or outside a quoted sequence, represent a 'real' single quote.\n *\n * Format of the string is based on Unicode Technical Standard #35:\n * https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * with a few additions (see note 7 below the table).\n *\n * Accepted patterns:\n * | Unit | Pattern | Result examples |\n * |---------------------------------|---------|-----------------------------------|\n * | AM, PM | a..aaa | AM, PM |\n * | | aaaa | a.m., p.m. |\n * | | aaaaa | a, p |\n * | Calendar year | y | 44, 1, 1900, 2017 |\n * | | yy | 44, 01, 00, 17 |\n * | | yyy | 044, 001, 000, 017 |\n * | | yyyy | 0044, 0001, 1900, 2017 |\n * | Month (formatting) | M | 1, 2, ..., 12 |\n * | | MM | 01, 02, ..., 12 |\n * | Day of month | d | 1, 2, ..., 31 |\n * | | dd | 01, 02, ..., 31 |\n * | Hour [1-12] | h | 1, 2, ..., 11, 12 |\n * | | hh | 01, 02, ..., 11, 12 |\n * | Hour [0-23] | H | 0, 1, 2, ..., 23 |\n * | | HH | 00, 01, 02, ..., 23 |\n * | Minute | m | 0, 1, ..., 59 |\n * | | mm | 00, 01, ..., 59 |\n * | Second | s | 0, 1, ..., 59 |\n * | | ss | 00, 01, ..., 59 |\n * | Fraction of second | S | 0, 1, ..., 9 |\n * | | SS | 00, 01, ..., 99 |\n * | | SSS | 000, 0001, ..., 999 |\n * | | SSSS | ... |\n *\n * @param {Date|Number} date - the original date\n * @param {String} format - the string of tokens\n * @returns {String} the formatted date string\n * @throws {TypeError} 2 arguments required\n * @throws {RangeError} format string contains an unescaped latin alphabet character\n *\n * @example\n * var result = format(new Date(2014, 1, 11), 'yyyy-MM-dd')\n * //=> '1987-02-11'\n */\n\nfunction lightFormat(dirtyDate, dirtyFormatStr) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present');\n }\n\n var formatStr = String(dirtyFormatStr);\n var originalDate = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate);\n\n if (!Object(_isValid_index_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(originalDate)) {\n throw new RangeError('Invalid time value');\n } // Convert the date in system timezone to the same date in UTC+00:00 timezone.\n // This ensures that when UTC functions will be implemented, locales will be compatible with them.\n // See an issue about UTC functions: https://github.com/date-fns/date-fns/issues/376\n\n\n var timezoneOffset = Object(_lib_getTimezoneOffsetInMilliseconds_index_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(originalDate);\n var utcDate = Object(_subMilliseconds_index_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(originalDate, timezoneOffset);\n var result = formatStr.match(formattingTokensRegExp).map(function (substring) {\n // Replace two single quote characters with one single quote character\n if (substring === \"''\") {\n return \"'\";\n }\n\n var firstCharacter = substring[0];\n\n if (firstCharacter === \"'\") {\n return cleanEscapedString(substring);\n }\n\n var formatter = _lib_format_lightFormatters_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"][firstCharacter];\n\n if (formatter) {\n return formatter(utcDate, substring, null, {});\n }\n\n if (firstCharacter.match(unescapedLatinCharacterRegExp)) {\n throw new RangeError('Format string contains an unescaped latin alphabet character `' + firstCharacter + '`');\n }\n\n return substring;\n }).join('');\n return result;\n}\n\nfunction cleanEscapedString(input) {\n return input.match(escapedStringRegExp)[1].replace(doubleQuoteRegExp, \"'\");\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2xpZ2h0Rm9ybWF0L2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2VzbS9saWdodEZvcm1hdC9pbmRleC5qcz80YmI2Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0b0RhdGUgZnJvbSAnLi4vdG9EYXRlL2luZGV4LmpzJztcbmltcG9ydCBmb3JtYXR0ZXJzIGZyb20gJy4uL19saWIvZm9ybWF0L2xpZ2h0Rm9ybWF0dGVycy9pbmRleC5qcyc7XG5pbXBvcnQgZ2V0VGltZXpvbmVPZmZzZXRJbk1pbGxpc2Vjb25kcyBmcm9tICcuLi9fbGliL2dldFRpbWV6b25lT2Zmc2V0SW5NaWxsaXNlY29uZHMvaW5kZXguanMnO1xuaW1wb3J0IGlzVmFsaWQgZnJvbSAnLi4vaXNWYWxpZC9pbmRleC5qcyc7XG5pbXBvcnQgc3ViTWlsbGlzZWNvbmRzIGZyb20gJy4uL3N1Yk1pbGxpc2Vjb25kcy9pbmRleC5qcyc7IC8vIFRoaXMgUmVnRXhwIGNvbnNpc3RzIG9mIHRocmVlIHBhcnRzIHNlcGFyYXRlZCBieSBgfGA6XG4vLyAtIChcXHcpXFwxKiBtYXRjaGVzIGFueSBzZXF1ZW5jZXMgb2YgdGhlIHNhbWUgbGV0dGVyXG4vLyAtICcnIG1hdGNoZXMgdHdvIHF1b3RlIGNoYXJhY3RlcnMgaW4gYSByb3dcbi8vIC0gJygnJ3xbXiddKSsoJ3wkKSBtYXRjaGVzIGFueXRoaW5nIHN1cnJvdW5kZWQgYnkgdHdvIHF1b3RlIGNoYXJhY3RlcnMgKCcpLFxuLy8gICBleGNlcHQgYSBzaW5nbGUgcXVvdGUgc3ltYm9sLCB3aGljaCBlbmRzIHRoZSBzZXF1ZW5jZS5cbi8vICAgVHdvIHF1b3RlIGNoYXJhY3RlcnMgZG8gbm90IGVuZCB0aGUgc2VxdWVuY2UuXG4vLyAgIElmIHRoZXJlIGlzIG5vIG1hdGNoaW5nIHNpbmdsZSBxdW90ZVxuLy8gICB0aGVuIHRoZSBzZXF1ZW5jZSB3aWxsIGNvbnRpbnVlIHVudGlsIHRoZSBlbmQgb2YgdGhlIHN0cmluZy5cbi8vIC0gLiBtYXRjaGVzIGFueSBzaW5nbGUgY2hhcmFjdGVyIHVubWF0Y2hlZCBieSBwcmV2aW91cyBwYXJ0cyBvZiB0aGUgUmVnRXhwc1xuXG52YXIgZm9ybWF0dGluZ1Rva2Vuc1JlZ0V4cCA9IC8oXFx3KVxcMSp8Jyd8JygnJ3xbXiddKSsoJ3wkKXwuL2c7XG52YXIgZXNjYXBlZFN0cmluZ1JlZ0V4cCA9IC9eJyguKj8pJz8kLztcbnZhciBkb3VibGVRdW90ZVJlZ0V4cCA9IC8nJy9nO1xudmFyIHVuZXNjYXBlZExhdGluQ2hhcmFjdGVyUmVnRXhwID0gL1thLXpBLVpdLztcbi8qKlxuICogQG5hbWUgbGlnaHRGb3JtYXRcbiAqIEBjYXRlZ29yeSBDb21tb24gSGVscGVyc1xuICogQHN1bW1hcnkgRm9ybWF0IHRoZSBkYXRlLlxuICpcbiAqIEBkZXNjcmlwdGlvblxuICogUmV0dXJuIHRoZSBmb3JtYXR0ZWQgZGF0ZSBzdHJpbmcgaW4gdGhlIGdpdmVuIGZvcm1hdC4gVW5saWtlIGBmb3JtYXRgLFxuICogYGxpZ2h0Rm9ybWF0YCBkb2Vzbid0IHVzZSBsb2NhbGVzIGFuZCBvdXRwdXRzIGRhdGUgdXNpbmcgdGhlIG1vc3QgcG9wdWxhciB0b2tlbnMuXG4gKlxuICogPiDimqDvuI8gUGxlYXNlIG5vdGUgdGhhdCB0aGUgYGxpZ2h0Rm9ybWF0YCB0b2tlbnMgZGlmZmVyIGZyb20gTW9tZW50LmpzIGFuZCBvdGhlciBsaWJyYXJpZXMuXG4gKiA+IFNlZTogaHR0cHM6Ly9naXQuaW8vZnhDeXJcbiAqXG4gKiBUaGUgY2hhcmFjdGVycyB3cmFwcGVkIGJldHdlZW4gdHdvIHNpbmdsZSBxdW90ZXMgY2hhcmFjdGVycyAoJykgYXJlIGVzY2FwZWQuXG4gKiBUd28gc2luZ2xlIHF1b3RlcyBpbiBhIHJvdywgd2hldGhlciBpbnNpZGUgb3Igb3V0c2lkZSBhIHF1b3RlZCBzZXF1ZW5jZSwgcmVwcmVzZW50IGEgJ3JlYWwnIHNpbmdsZSBxdW90ZS5cbiAqXG4gKiBGb3JtYXQgb2YgdGhlIHN0cmluZyBpcyBiYXNlZCBvbiBVbmljb2RlIFRlY2huaWNhbCBTdGFuZGFyZCAjMzU6XG4gKiBodHRwczovL3d3dy51bmljb2RlLm9yZy9yZXBvcnRzL3RyMzUvdHIzNS1kYXRlcy5odG1sI0RhdGVfRmllbGRfU3ltYm9sX1RhYmxlXG4gKiB3aXRoIGEgZmV3IGFkZGl0aW9ucyAoc2VlIG5vdGUgNyBiZWxvdyB0aGUgdGFibGUpLlxuICpcbiAqIEFjY2VwdGVkIHBhdHRlcm5zOlxuICogfCBVbml0ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgUGF0dGVybiB8IFJlc3VsdCBleGFtcGxlcyAgICAgICAgICAgICAgICAgICB8XG4gKiB8LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfC0tLS0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXxcbiAqIHwgQU0sIFBNICAgICAgICAgICAgICAgICAgICAgICAgICB8IGEuLmFhYSAgfCBBTSwgUE0gICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxuICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYWFhYSAgICB8IGEubS4sIHAubS4gICAgICAgICAgICAgICAgICAgICAgICB8XG4gKiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBhYWFhYSAgIHwgYSwgcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcbiAqIHwgQ2FsZW5kYXIgeWVhciAgICAgICAgICAgICAgICAgICB8IHkgICAgICAgfCA0NCwgMSwgMTkwMCwgMjAxNyAgICAgICAgICAgICAgICAgfFxuICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgeXkgICAgICB8IDQ0LCAwMSwgMDAsIDE3ICAgICAgICAgICAgICAgICAgICB8XG4gKiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCB5eXkgICAgIHwgMDQ0LCAwMDEsIDAwMCwgMDE3ICAgICAgICAgICAgICAgIHxcbiAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IHl5eXkgICAgfCAwMDQ0LCAwMDAxLCAxOTAwLCAyMDE3ICAgICAgICAgICAgfFxuICogfCBNb250aCAoZm9ybWF0dGluZykgICAgICAgICAgICAgIHwgTSAgICAgICB8IDEsIDIsIC4uLiwgMTIgICAgICAgICAgICAgICAgICAgICB8XG4gKiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBNTSAgICAgIHwgMDEsIDAyLCAuLi4sIDEyICAgICAgICAgICAgICAgICAgIHxcbiAqIHwgRGF5IG9mIG1vbnRoICAgICAgICAgICAgICAgICAgICB8IGQgICAgICAgfCAxLCAyLCAuLi4sIDMxICAgICAgICAgICAgICAgICAgICAgfFxuICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgZGQgICAgICB8IDAxLCAwMiwgLi4uLCAzMSAgICAgICAgICAgICAgICAgICB8XG4gKiB8IEhvdXIgWzEtMTJdICAgICAgICAgICAgICAgICAgICAgfCBoICAgICAgIHwgMSwgMiwgLi4uLCAxMSwgMTIgICAgICAgICAgICAgICAgIHxcbiAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGhoICAgICAgfCAwMSwgMDIsIC4uLiwgMTEsIDEyICAgICAgICAgICAgICAgfFxuICogfCBIb3VyIFswLTIzXSAgICAgICAgICAgICAgICAgICAgIHwgSCAgICAgICB8IDAsIDEsIDIsIC4uLiwgMjMgICAgICAgICAgICAgICAgICB8XG4gKiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBISCAgICAgIHwgMDAsIDAxLCAwMiwgLi4uLCAyMyAgICAgICAgICAgICAgIHxcbiAqIHwgTWludXRlICAgICAgICAgICAgICAgICAgICAgICAgICB8IG0gICAgICAgfCAwLCAxLCAuLi4sIDU5ICAgICAgICAgICAgICAgICAgICAgfFxuICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgbW0gICAgICB8IDAwLCAwMSwgLi4uLCA1OSAgICAgICAgICAgICAgICAgICB8XG4gKiB8IFNlY29uZCAgICAgICAgICAgICAgICAgICAgICAgICAgfCBzICAgICAgIHwgMCwgMSwgLi4uLCA1OSAgICAgICAgICAgICAgICAgICAgIHxcbiAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IHNzICAgICAgfCAwMCwgMDEsIC4uLiwgNTkgICAgICAgICAgICAgICAgICAgfFxuICogfCBGcmFjdGlvbiBvZiBzZWNvbmQgICAgICAgICAgICAgIHwgUyAgICAgICB8IDAsIDEsIC4uLiwgOSAgICAgICAgICAgICAgICAgICAgICB8XG4gKiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBTUyAgICAgIHwgMDAsIDAxLCAuLi4sIDk5ICAgICAgICAgICAgICAgICAgIHxcbiAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFNTUyAgICAgfCAwMDAsIDAwMDEsIC4uLiwgOTk5ICAgICAgICAgICAgICAgfFxuICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgU1NTUyAgICB8IC4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XG4gKlxuICogQHBhcmFtIHtEYXRlfE51bWJlcn0gZGF0ZSAtIHRoZSBvcmlnaW5hbCBkYXRlXG4gKiBAcGFyYW0ge1N0cmluZ30gZm9ybWF0IC0gdGhlIHN0cmluZyBvZiB0b2tlbnNcbiAqIEByZXR1cm5zIHtTdHJpbmd9IHRoZSBmb3JtYXR0ZWQgZGF0ZSBzdHJpbmdcbiAqIEB0aHJvd3Mge1R5cGVFcnJvcn0gMiBhcmd1bWVudHMgcmVxdWlyZWRcbiAqIEB0aHJvd3Mge1JhbmdlRXJyb3J9IGZvcm1hdCBzdHJpbmcgY29udGFpbnMgYW4gdW5lc2NhcGVkIGxhdGluIGFscGhhYmV0IGNoYXJhY3RlclxuICpcbiAqIEBleGFtcGxlXG4gKiB2YXIgcmVzdWx0ID0gZm9ybWF0KG5ldyBEYXRlKDIwMTQsIDEsIDExKSwgJ3l5eXktTU0tZGQnKVxuICogLy89PiAnMTk4Ny0wMi0xMSdcbiAqL1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBsaWdodEZvcm1hdChkaXJ0eURhdGUsIGRpcnR5Rm9ybWF0U3RyKSB7XG4gIGlmIChhcmd1bWVudHMubGVuZ3RoIDwgMikge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJzIgYXJndW1lbnRzIHJlcXVpcmVkLCBidXQgb25seSAnICsgYXJndW1lbnRzLmxlbmd0aCArICcgcHJlc2VudCcpO1xuICB9XG5cbiAgdmFyIGZvcm1hdFN0ciA9IFN0cmluZyhkaXJ0eUZvcm1hdFN0cik7XG4gIHZhciBvcmlnaW5hbERhdGUgPSB0b0RhdGUoZGlydHlEYXRlKTtcblxuICBpZiAoIWlzVmFsaWQob3JpZ2luYWxEYXRlKSkge1xuICAgIHRocm93IG5ldyBSYW5nZUVycm9yKCdJbnZhbGlkIHRpbWUgdmFsdWUnKTtcbiAgfSAvLyBDb252ZXJ0IHRoZSBkYXRlIGluIHN5c3RlbSB0aW1lem9uZSB0byB0aGUgc2FtZSBkYXRlIGluIFVUQyswMDowMCB0aW1lem9uZS5cbiAgLy8gVGhpcyBlbnN1cmVzIHRoYXQgd2hlbiBVVEMgZnVuY3Rpb25zIHdpbGwgYmUgaW1wbGVtZW50ZWQsIGxvY2FsZXMgd2lsbCBiZSBjb21wYXRpYmxlIHdpdGggdGhlbS5cbiAgLy8gU2VlIGFuIGlzc3VlIGFib3V0IFVUQyBmdW5jdGlvbnM6IGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRlLWZucy9kYXRlLWZucy9pc3N1ZXMvMzc2XG5cblxuICB2YXIgdGltZXpvbmVPZmZzZXQgPSBnZXRUaW1lem9uZU9mZnNldEluTWlsbGlzZWNvbmRzKG9yaWdpbmFsRGF0ZSk7XG4gIHZhciB1dGNEYXRlID0gc3ViTWlsbGlzZWNvbmRzKG9yaWdpbmFsRGF0ZSwgdGltZXpvbmVPZmZzZXQpO1xuICB2YXIgcmVzdWx0ID0gZm9ybWF0U3RyLm1hdGNoKGZvcm1hdHRpbmdUb2tlbnNSZWdFeHApLm1hcChmdW5jdGlvbiAoc3Vic3RyaW5nKSB7XG4gICAgLy8gUmVwbGFjZSB0d28gc2luZ2xlIHF1b3RlIGNoYXJhY3RlcnMgd2l0aCBvbmUgc2luZ2xlIHF1b3RlIGNoYXJhY3RlclxuICAgIGlmIChzdWJzdHJpbmcgPT09IFwiJydcIikge1xuICAgICAgcmV0dXJuIFwiJ1wiO1xuICAgIH1cblxuICAgIHZhciBmaXJzdENoYXJhY3RlciA9IHN1YnN0cmluZ1swXTtcblxuICAgIGlmIChmaXJzdENoYXJhY3RlciA9PT0gXCInXCIpIHtcbiAgICAgIHJldHVybiBjbGVhbkVzY2FwZWRTdHJpbmcoc3Vic3RyaW5nKTtcbiAgICB9XG5cbiAgICB2YXIgZm9ybWF0dGVyID0gZm9ybWF0dGVyc1tmaXJzdENoYXJhY3Rlcl07XG5cbiAgICBpZiAoZm9ybWF0dGVyKSB7XG4gICAgICByZXR1cm4gZm9ybWF0dGVyKHV0Y0RhdGUsIHN1YnN0cmluZywgbnVsbCwge30pO1xuICAgIH1cblxuICAgIGlmIChmaXJzdENoYXJhY3Rlci5tYXRjaCh1bmVzY2FwZWRMYXRpbkNoYXJhY3RlclJlZ0V4cCkpIHtcbiAgICAgIHRocm93IG5ldyBSYW5nZUVycm9yKCdGb3JtYXQgc3RyaW5nIGNvbnRhaW5zIGFuIHVuZXNjYXBlZCBsYXRpbiBhbHBoYWJldCBjaGFyYWN0ZXIgYCcgKyBmaXJzdENoYXJhY3RlciArICdgJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHN1YnN0cmluZztcbiAgfSkuam9pbignJyk7XG4gIHJldHVybiByZXN1bHQ7XG59XG5cbmZ1bmN0aW9uIGNsZWFuRXNjYXBlZFN0cmluZyhpbnB1dCkge1xuICByZXR1cm4gaW5wdXQubWF0Y2goZXNjYXBlZFN0cmluZ1JlZ0V4cClbMV0ucmVwbGFjZShkb3VibGVRdW90ZVJlZ0V4cCwgXCInXCIpO1xufSJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/lightFormat/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/locale/_lib/buildFormatLongFn/index.js": /*!**************************************************************************!*\ !*** ./node_modules/date-fns/esm/locale/_lib/buildFormatLongFn/index.js ***! \**************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return buildFormatLongFn; });\nfunction buildFormatLongFn(args) {\n return function (dirtyOptions) {\n var options = dirtyOptions || {};\n var width = options.width ? String(options.width) : args.defaultWidth;\n var format = args.formats[width] || args.formats[args.defaultWidth];\n return format;\n };\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2xvY2FsZS9fbGliL2J1aWxkRm9ybWF0TG9uZ0ZuL2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2VzbS9sb2NhbGUvX2xpYi9idWlsZEZvcm1hdExvbmdGbi9pbmRleC5qcz9jY2M0Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGJ1aWxkRm9ybWF0TG9uZ0ZuKGFyZ3MpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIChkaXJ0eU9wdGlvbnMpIHtcbiAgICB2YXIgb3B0aW9ucyA9IGRpcnR5T3B0aW9ucyB8fCB7fTtcbiAgICB2YXIgd2lkdGggPSBvcHRpb25zLndpZHRoID8gU3RyaW5nKG9wdGlvbnMud2lkdGgpIDogYXJncy5kZWZhdWx0V2lkdGg7XG4gICAgdmFyIGZvcm1hdCA9IGFyZ3MuZm9ybWF0c1t3aWR0aF0gfHwgYXJncy5mb3JtYXRzW2FyZ3MuZGVmYXVsdFdpZHRoXTtcbiAgICByZXR1cm4gZm9ybWF0O1xuICB9O1xufSJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/locale/_lib/buildFormatLongFn/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/locale/_lib/buildLocalizeFn/index.js": /*!************************************************************************!*\ !*** ./node_modules/date-fns/esm/locale/_lib/buildLocalizeFn/index.js ***! \************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return buildLocalizeFn; });\nfunction buildLocalizeFn(args) {\n return function (dirtyIndex, dirtyOptions) {\n var options = dirtyOptions || {};\n var context = options.context ? String(options.context) : 'standalone';\n var valuesArray;\n\n if (context === 'formatting' && args.formattingValues) {\n var defaultWidth = args.defaultFormattingWidth || args.defaultWidth;\n var width = options.width ? String(options.width) : defaultWidth;\n valuesArray = args.formattingValues[width] || args.formattingValues[defaultWidth];\n } else {\n var _defaultWidth = args.defaultWidth;\n\n var _width = options.width ? String(options.width) : args.defaultWidth;\n\n valuesArray = args.values[_width] || args.values[_defaultWidth];\n }\n\n var index = args.argumentCallback ? args.argumentCallback(dirtyIndex) : dirtyIndex;\n return valuesArray[index];\n };\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2xvY2FsZS9fbGliL2J1aWxkTG9jYWxpemVGbi9pbmRleC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9kYXRlLWZucy9lc20vbG9jYWxlL19saWIvYnVpbGRMb2NhbGl6ZUZuL2luZGV4LmpzPzkyZWYiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gYnVpbGRMb2NhbGl6ZUZuKGFyZ3MpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIChkaXJ0eUluZGV4LCBkaXJ0eU9wdGlvbnMpIHtcbiAgICB2YXIgb3B0aW9ucyA9IGRpcnR5T3B0aW9ucyB8fCB7fTtcbiAgICB2YXIgY29udGV4dCA9IG9wdGlvbnMuY29udGV4dCA/IFN0cmluZyhvcHRpb25zLmNvbnRleHQpIDogJ3N0YW5kYWxvbmUnO1xuICAgIHZhciB2YWx1ZXNBcnJheTtcblxuICAgIGlmIChjb250ZXh0ID09PSAnZm9ybWF0dGluZycgJiYgYXJncy5mb3JtYXR0aW5nVmFsdWVzKSB7XG4gICAgICB2YXIgZGVmYXVsdFdpZHRoID0gYXJncy5kZWZhdWx0Rm9ybWF0dGluZ1dpZHRoIHx8IGFyZ3MuZGVmYXVsdFdpZHRoO1xuICAgICAgdmFyIHdpZHRoID0gb3B0aW9ucy53aWR0aCA/IFN0cmluZyhvcHRpb25zLndpZHRoKSA6IGRlZmF1bHRXaWR0aDtcbiAgICAgIHZhbHVlc0FycmF5ID0gYXJncy5mb3JtYXR0aW5nVmFsdWVzW3dpZHRoXSB8fCBhcmdzLmZvcm1hdHRpbmdWYWx1ZXNbZGVmYXVsdFdpZHRoXTtcbiAgICB9IGVsc2Uge1xuICAgICAgdmFyIF9kZWZhdWx0V2lkdGggPSBhcmdzLmRlZmF1bHRXaWR0aDtcblxuICAgICAgdmFyIF93aWR0aCA9IG9wdGlvbnMud2lkdGggPyBTdHJpbmcob3B0aW9ucy53aWR0aCkgOiBhcmdzLmRlZmF1bHRXaWR0aDtcblxuICAgICAgdmFsdWVzQXJyYXkgPSBhcmdzLnZhbHVlc1tfd2lkdGhdIHx8IGFyZ3MudmFsdWVzW19kZWZhdWx0V2lkdGhdO1xuICAgIH1cblxuICAgIHZhciBpbmRleCA9IGFyZ3MuYXJndW1lbnRDYWxsYmFjayA/IGFyZ3MuYXJndW1lbnRDYWxsYmFjayhkaXJ0eUluZGV4KSA6IGRpcnR5SW5kZXg7XG4gICAgcmV0dXJuIHZhbHVlc0FycmF5W2luZGV4XTtcbiAgfTtcbn0iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/locale/_lib/buildLocalizeFn/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/locale/_lib/buildMatchFn/index.js": /*!*********************************************************************!*\ !*** ./node_modules/date-fns/esm/locale/_lib/buildMatchFn/index.js ***! \*********************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return buildMatchFn; });\nfunction buildMatchFn(args) {\n return function (dirtyString, dirtyOptions) {\n var string = String(dirtyString);\n var options = dirtyOptions || {};\n var width = options.width;\n var matchPattern = width && args.matchPatterns[width] || args.matchPatterns[args.defaultMatchWidth];\n var matchResult = string.match(matchPattern);\n\n if (!matchResult) {\n return null;\n }\n\n var matchedString = matchResult[0];\n var parsePatterns = width && args.parsePatterns[width] || args.parsePatterns[args.defaultParseWidth];\n var value;\n\n if (Object.prototype.toString.call(parsePatterns) === '[object Array]') {\n value = parsePatterns.findIndex(function (pattern) {\n return pattern.test(string);\n });\n } else {\n value = findKey(parsePatterns, function (pattern) {\n return pattern.test(string);\n });\n }\n\n value = args.valueCallback ? args.valueCallback(value) : value;\n value = options.valueCallback ? options.valueCallback(value) : value;\n return {\n value: value,\n rest: string.slice(matchedString.length)\n };\n };\n}\n\nfunction findKey(object, predicate) {\n for (var key in object) {\n if (object.hasOwnProperty(key) && predicate(object[key])) {\n return key;\n }\n }\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2xvY2FsZS9fbGliL2J1aWxkTWF0Y2hGbi9pbmRleC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9kYXRlLWZucy9lc20vbG9jYWxlL19saWIvYnVpbGRNYXRjaEZuL2luZGV4LmpzP2MzMzMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gYnVpbGRNYXRjaEZuKGFyZ3MpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIChkaXJ0eVN0cmluZywgZGlydHlPcHRpb25zKSB7XG4gICAgdmFyIHN0cmluZyA9IFN0cmluZyhkaXJ0eVN0cmluZyk7XG4gICAgdmFyIG9wdGlvbnMgPSBkaXJ0eU9wdGlvbnMgfHwge307XG4gICAgdmFyIHdpZHRoID0gb3B0aW9ucy53aWR0aDtcbiAgICB2YXIgbWF0Y2hQYXR0ZXJuID0gd2lkdGggJiYgYXJncy5tYXRjaFBhdHRlcm5zW3dpZHRoXSB8fCBhcmdzLm1hdGNoUGF0dGVybnNbYXJncy5kZWZhdWx0TWF0Y2hXaWR0aF07XG4gICAgdmFyIG1hdGNoUmVzdWx0ID0gc3RyaW5nLm1hdGNoKG1hdGNoUGF0dGVybik7XG5cbiAgICBpZiAoIW1hdGNoUmVzdWx0KSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICB2YXIgbWF0Y2hlZFN0cmluZyA9IG1hdGNoUmVzdWx0WzBdO1xuICAgIHZhciBwYXJzZVBhdHRlcm5zID0gd2lkdGggJiYgYXJncy5wYXJzZVBhdHRlcm5zW3dpZHRoXSB8fCBhcmdzLnBhcnNlUGF0dGVybnNbYXJncy5kZWZhdWx0UGFyc2VXaWR0aF07XG4gICAgdmFyIHZhbHVlO1xuXG4gICAgaWYgKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChwYXJzZVBhdHRlcm5zKSA9PT0gJ1tvYmplY3QgQXJyYXldJykge1xuICAgICAgdmFsdWUgPSBwYXJzZVBhdHRlcm5zLmZpbmRJbmRleChmdW5jdGlvbiAocGF0dGVybikge1xuICAgICAgICByZXR1cm4gcGF0dGVybi50ZXN0KHN0cmluZyk7XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdmFsdWUgPSBmaW5kS2V5KHBhcnNlUGF0dGVybnMsIGZ1bmN0aW9uIChwYXR0ZXJuKSB7XG4gICAgICAgIHJldHVybiBwYXR0ZXJuLnRlc3Qoc3RyaW5nKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHZhbHVlID0gYXJncy52YWx1ZUNhbGxiYWNrID8gYXJncy52YWx1ZUNhbGxiYWNrKHZhbHVlKSA6IHZhbHVlO1xuICAgIHZhbHVlID0gb3B0aW9ucy52YWx1ZUNhbGxiYWNrID8gb3B0aW9ucy52YWx1ZUNhbGxiYWNrKHZhbHVlKSA6IHZhbHVlO1xuICAgIHJldHVybiB7XG4gICAgICB2YWx1ZTogdmFsdWUsXG4gICAgICByZXN0OiBzdHJpbmcuc2xpY2UobWF0Y2hlZFN0cmluZy5sZW5ndGgpXG4gICAgfTtcbiAgfTtcbn1cblxuZnVuY3Rpb24gZmluZEtleShvYmplY3QsIHByZWRpY2F0ZSkge1xuICBmb3IgKHZhciBrZXkgaW4gb2JqZWN0KSB7XG4gICAgaWYgKG9iamVjdC5oYXNPd25Qcm9wZXJ0eShrZXkpICYmIHByZWRpY2F0ZShvYmplY3Rba2V5XSkpIHtcbiAgICAgIHJldHVybiBrZXk7XG4gICAgfVxuICB9XG59Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/locale/_lib/buildMatchFn/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/locale/_lib/buildMatchPatternFn/index.js": /*!****************************************************************************!*\ !*** ./node_modules/date-fns/esm/locale/_lib/buildMatchPatternFn/index.js ***! \****************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return buildMatchPatternFn; });\nfunction buildMatchPatternFn(args) {\n return function (dirtyString, dirtyOptions) {\n var string = String(dirtyString);\n var options = dirtyOptions || {};\n var matchResult = string.match(args.matchPattern);\n\n if (!matchResult) {\n return null;\n }\n\n var matchedString = matchResult[0];\n var parseResult = string.match(args.parsePattern);\n\n if (!parseResult) {\n return null;\n }\n\n var value = args.valueCallback ? args.valueCallback(parseResult[0]) : parseResult[0];\n value = options.valueCallback ? options.valueCallback(value) : value;\n return {\n value: value,\n rest: string.slice(matchedString.length)\n };\n };\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2xvY2FsZS9fbGliL2J1aWxkTWF0Y2hQYXR0ZXJuRm4vaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2xvY2FsZS9fbGliL2J1aWxkTWF0Y2hQYXR0ZXJuRm4vaW5kZXguanM/YmQxNSJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBidWlsZE1hdGNoUGF0dGVybkZuKGFyZ3MpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIChkaXJ0eVN0cmluZywgZGlydHlPcHRpb25zKSB7XG4gICAgdmFyIHN0cmluZyA9IFN0cmluZyhkaXJ0eVN0cmluZyk7XG4gICAgdmFyIG9wdGlvbnMgPSBkaXJ0eU9wdGlvbnMgfHwge307XG4gICAgdmFyIG1hdGNoUmVzdWx0ID0gc3RyaW5nLm1hdGNoKGFyZ3MubWF0Y2hQYXR0ZXJuKTtcblxuICAgIGlmICghbWF0Y2hSZXN1bHQpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHZhciBtYXRjaGVkU3RyaW5nID0gbWF0Y2hSZXN1bHRbMF07XG4gICAgdmFyIHBhcnNlUmVzdWx0ID0gc3RyaW5nLm1hdGNoKGFyZ3MucGFyc2VQYXR0ZXJuKTtcblxuICAgIGlmICghcGFyc2VSZXN1bHQpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHZhciB2YWx1ZSA9IGFyZ3MudmFsdWVDYWxsYmFjayA/IGFyZ3MudmFsdWVDYWxsYmFjayhwYXJzZVJlc3VsdFswXSkgOiBwYXJzZVJlc3VsdFswXTtcbiAgICB2YWx1ZSA9IG9wdGlvbnMudmFsdWVDYWxsYmFjayA/IG9wdGlvbnMudmFsdWVDYWxsYmFjayh2YWx1ZSkgOiB2YWx1ZTtcbiAgICByZXR1cm4ge1xuICAgICAgdmFsdWU6IHZhbHVlLFxuICAgICAgcmVzdDogc3RyaW5nLnNsaWNlKG1hdGNoZWRTdHJpbmcubGVuZ3RoKVxuICAgIH07XG4gIH07XG59Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/locale/_lib/buildMatchPatternFn/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/locale/en-US/_lib/formatDistance/index.js": /*!*****************************************************************************!*\ !*** ./node_modules/date-fns/esm/locale/en-US/_lib/formatDistance/index.js ***! \*****************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return formatDistance; });\nvar formatDistanceLocale = {\n lessThanXSeconds: {\n one: 'less than a second',\n other: 'less than {{count}} seconds'\n },\n xSeconds: {\n one: '1 second',\n other: '{{count}} seconds'\n },\n halfAMinute: 'half a minute',\n lessThanXMinutes: {\n one: 'less than a minute',\n other: 'less than {{count}} minutes'\n },\n xMinutes: {\n one: '1 minute',\n other: '{{count}} minutes'\n },\n aboutXHours: {\n one: 'about 1 hour',\n other: 'about {{count}} hours'\n },\n xHours: {\n one: '1 hour',\n other: '{{count}} hours'\n },\n xDays: {\n one: '1 day',\n other: '{{count}} days'\n },\n aboutXMonths: {\n one: 'about 1 month',\n other: 'about {{count}} months'\n },\n xMonths: {\n one: '1 month',\n other: '{{count}} months'\n },\n aboutXYears: {\n one: 'about 1 year',\n other: 'about {{count}} years'\n },\n xYears: {\n one: '1 year',\n other: '{{count}} years'\n },\n overXYears: {\n one: 'over 1 year',\n other: 'over {{count}} years'\n },\n almostXYears: {\n one: 'almost 1 year',\n other: 'almost {{count}} years'\n }\n};\nfunction formatDistance(token, count, options) {\n options = options || {};\n var result;\n\n if (typeof formatDistanceLocale[token] === 'string') {\n result = formatDistanceLocale[token];\n } else if (count === 1) {\n result = formatDistanceLocale[token].one;\n } else {\n result = formatDistanceLocale[token].other.replace('{{count}}', count);\n }\n\n if (options.addSuffix) {\n if (options.comparison > 0) {\n return 'in ' + result;\n } else {\n return result + ' ago';\n }\n }\n\n return result;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2xvY2FsZS9lbi1VUy9fbGliL2Zvcm1hdERpc3RhbmNlL2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2VzbS9sb2NhbGUvZW4tVVMvX2xpYi9mb3JtYXREaXN0YW5jZS9pbmRleC5qcz9kNjJjIl0sInNvdXJjZXNDb250ZW50IjpbInZhciBmb3JtYXREaXN0YW5jZUxvY2FsZSA9IHtcbiAgbGVzc1RoYW5YU2Vjb25kczoge1xuICAgIG9uZTogJ2xlc3MgdGhhbiBhIHNlY29uZCcsXG4gICAgb3RoZXI6ICdsZXNzIHRoYW4ge3tjb3VudH19IHNlY29uZHMnXG4gIH0sXG4gIHhTZWNvbmRzOiB7XG4gICAgb25lOiAnMSBzZWNvbmQnLFxuICAgIG90aGVyOiAne3tjb3VudH19IHNlY29uZHMnXG4gIH0sXG4gIGhhbGZBTWludXRlOiAnaGFsZiBhIG1pbnV0ZScsXG4gIGxlc3NUaGFuWE1pbnV0ZXM6IHtcbiAgICBvbmU6ICdsZXNzIHRoYW4gYSBtaW51dGUnLFxuICAgIG90aGVyOiAnbGVzcyB0aGFuIHt7Y291bnR9fSBtaW51dGVzJ1xuICB9LFxuICB4TWludXRlczoge1xuICAgIG9uZTogJzEgbWludXRlJyxcbiAgICBvdGhlcjogJ3t7Y291bnR9fSBtaW51dGVzJ1xuICB9LFxuICBhYm91dFhIb3Vyczoge1xuICAgIG9uZTogJ2Fib3V0IDEgaG91cicsXG4gICAgb3RoZXI6ICdhYm91dCB7e2NvdW50fX0gaG91cnMnXG4gIH0sXG4gIHhIb3Vyczoge1xuICAgIG9uZTogJzEgaG91cicsXG4gICAgb3RoZXI6ICd7e2NvdW50fX0gaG91cnMnXG4gIH0sXG4gIHhEYXlzOiB7XG4gICAgb25lOiAnMSBkYXknLFxuICAgIG90aGVyOiAne3tjb3VudH19IGRheXMnXG4gIH0sXG4gIGFib3V0WE1vbnRoczoge1xuICAgIG9uZTogJ2Fib3V0IDEgbW9udGgnLFxuICAgIG90aGVyOiAnYWJvdXQge3tjb3VudH19IG1vbnRocydcbiAgfSxcbiAgeE1vbnRoczoge1xuICAgIG9uZTogJzEgbW9udGgnLFxuICAgIG90aGVyOiAne3tjb3VudH19IG1vbnRocydcbiAgfSxcbiAgYWJvdXRYWWVhcnM6IHtcbiAgICBvbmU6ICdhYm91dCAxIHllYXInLFxuICAgIG90aGVyOiAnYWJvdXQge3tjb3VudH19IHllYXJzJ1xuICB9LFxuICB4WWVhcnM6IHtcbiAgICBvbmU6ICcxIHllYXInLFxuICAgIG90aGVyOiAne3tjb3VudH19IHllYXJzJ1xuICB9LFxuICBvdmVyWFllYXJzOiB7XG4gICAgb25lOiAnb3ZlciAxIHllYXInLFxuICAgIG90aGVyOiAnb3ZlciB7e2NvdW50fX0geWVhcnMnXG4gIH0sXG4gIGFsbW9zdFhZZWFyczoge1xuICAgIG9uZTogJ2FsbW9zdCAxIHllYXInLFxuICAgIG90aGVyOiAnYWxtb3N0IHt7Y291bnR9fSB5ZWFycydcbiAgfVxufTtcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGZvcm1hdERpc3RhbmNlKHRva2VuLCBjb3VudCwgb3B0aW9ucykge1xuICBvcHRpb25zID0gb3B0aW9ucyB8fCB7fTtcbiAgdmFyIHJlc3VsdDtcblxuICBpZiAodHlwZW9mIGZvcm1hdERpc3RhbmNlTG9jYWxlW3Rva2VuXSA9PT0gJ3N0cmluZycpIHtcbiAgICByZXN1bHQgPSBmb3JtYXREaXN0YW5jZUxvY2FsZVt0b2tlbl07XG4gIH0gZWxzZSBpZiAoY291bnQgPT09IDEpIHtcbiAgICByZXN1bHQgPSBmb3JtYXREaXN0YW5jZUxvY2FsZVt0b2tlbl0ub25lO1xuICB9IGVsc2Uge1xuICAgIHJlc3VsdCA9IGZvcm1hdERpc3RhbmNlTG9jYWxlW3Rva2VuXS5vdGhlci5yZXBsYWNlKCd7e2NvdW50fX0nLCBjb3VudCk7XG4gIH1cblxuICBpZiAob3B0aW9ucy5hZGRTdWZmaXgpIHtcbiAgICBpZiAob3B0aW9ucy5jb21wYXJpc29uID4gMCkge1xuICAgICAgcmV0dXJuICdpbiAnICsgcmVzdWx0O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gcmVzdWx0ICsgJyBhZ28nO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiByZXN1bHQ7XG59Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/locale/en-US/_lib/formatDistance/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/locale/en-US/_lib/formatLong/index.js": /*!*************************************************************************!*\ !*** ./node_modules/date-fns/esm/locale/en-US/_lib/formatLong/index.js ***! \*************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _lib_buildFormatLongFn_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../_lib/buildFormatLongFn/index.js */ \"./node_modules/date-fns/esm/locale/_lib/buildFormatLongFn/index.js\");\n\nvar dateFormats = {\n full: 'EEEE, MMMM do, y',\n long: 'MMMM do, y',\n medium: 'MMM d, y',\n short: 'MM/dd/yyyy'\n};\nvar timeFormats = {\n full: 'h:mm:ss a zzzz',\n long: 'h:mm:ss a z',\n medium: 'h:mm:ss a',\n short: 'h:mm a'\n};\nvar dateTimeFormats = {\n full: \"{{date}} 'at' {{time}}\",\n long: \"{{date}} 'at' {{time}}\",\n medium: '{{date}}, {{time}}',\n short: '{{date}}, {{time}}'\n};\nvar formatLong = {\n date: Object(_lib_buildFormatLongFn_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: Object(_lib_buildFormatLongFn_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: Object(_lib_buildFormatLongFn_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (formatLong);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2xvY2FsZS9lbi1VUy9fbGliL2Zvcm1hdExvbmcvaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2xvY2FsZS9lbi1VUy9fbGliL2Zvcm1hdExvbmcvaW5kZXguanM/YzRjNCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYnVpbGRGb3JtYXRMb25nRm4gZnJvbSAnLi4vLi4vLi4vX2xpYi9idWlsZEZvcm1hdExvbmdGbi9pbmRleC5qcyc7XG52YXIgZGF0ZUZvcm1hdHMgPSB7XG4gIGZ1bGw6ICdFRUVFLCBNTU1NIGRvLCB5JyxcbiAgbG9uZzogJ01NTU0gZG8sIHknLFxuICBtZWRpdW06ICdNTU0gZCwgeScsXG4gIHNob3J0OiAnTU0vZGQveXl5eSdcbn07XG52YXIgdGltZUZvcm1hdHMgPSB7XG4gIGZ1bGw6ICdoOm1tOnNzIGEgenp6eicsXG4gIGxvbmc6ICdoOm1tOnNzIGEgeicsXG4gIG1lZGl1bTogJ2g6bW06c3MgYScsXG4gIHNob3J0OiAnaDptbSBhJ1xufTtcbnZhciBkYXRlVGltZUZvcm1hdHMgPSB7XG4gIGZ1bGw6IFwie3tkYXRlfX0gJ2F0JyB7e3RpbWV9fVwiLFxuICBsb25nOiBcInt7ZGF0ZX19ICdhdCcge3t0aW1lfX1cIixcbiAgbWVkaXVtOiAne3tkYXRlfX0sIHt7dGltZX19JyxcbiAgc2hvcnQ6ICd7e2RhdGV9fSwge3t0aW1lfX0nXG59O1xudmFyIGZvcm1hdExvbmcgPSB7XG4gIGRhdGU6IGJ1aWxkRm9ybWF0TG9uZ0ZuKHtcbiAgICBmb3JtYXRzOiBkYXRlRm9ybWF0cyxcbiAgICBkZWZhdWx0V2lkdGg6ICdmdWxsJ1xuICB9KSxcbiAgdGltZTogYnVpbGRGb3JtYXRMb25nRm4oe1xuICAgIGZvcm1hdHM6IHRpbWVGb3JtYXRzLFxuICAgIGRlZmF1bHRXaWR0aDogJ2Z1bGwnXG4gIH0pLFxuICBkYXRlVGltZTogYnVpbGRGb3JtYXRMb25nRm4oe1xuICAgIGZvcm1hdHM6IGRhdGVUaW1lRm9ybWF0cyxcbiAgICBkZWZhdWx0V2lkdGg6ICdmdWxsJ1xuICB9KVxufTtcbmV4cG9ydCBkZWZhdWx0IGZvcm1hdExvbmc7Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/locale/en-US/_lib/formatLong/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/locale/en-US/_lib/formatRelative/index.js": /*!*****************************************************************************!*\ !*** ./node_modules/date-fns/esm/locale/en-US/_lib/formatRelative/index.js ***! \*****************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return formatRelative; });\nvar formatRelativeLocale = {\n lastWeek: \"'last' eeee 'at' p\",\n yesterday: \"'yesterday at' p\",\n today: \"'today at' p\",\n tomorrow: \"'tomorrow at' p\",\n nextWeek: \"eeee 'at' p\",\n other: 'P'\n};\nfunction formatRelative(token, _date, _baseDate, _options) {\n return formatRelativeLocale[token];\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2xvY2FsZS9lbi1VUy9fbGliL2Zvcm1hdFJlbGF0aXZlL2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2VzbS9sb2NhbGUvZW4tVVMvX2xpYi9mb3JtYXRSZWxhdGl2ZS9pbmRleC5qcz9kMDc1Il0sInNvdXJjZXNDb250ZW50IjpbInZhciBmb3JtYXRSZWxhdGl2ZUxvY2FsZSA9IHtcbiAgbGFzdFdlZWs6IFwiJ2xhc3QnIGVlZWUgJ2F0JyBwXCIsXG4gIHllc3RlcmRheTogXCIneWVzdGVyZGF5IGF0JyBwXCIsXG4gIHRvZGF5OiBcIid0b2RheSBhdCcgcFwiLFxuICB0b21vcnJvdzogXCIndG9tb3Jyb3cgYXQnIHBcIixcbiAgbmV4dFdlZWs6IFwiZWVlZSAnYXQnIHBcIixcbiAgb3RoZXI6ICdQJ1xufTtcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGZvcm1hdFJlbGF0aXZlKHRva2VuLCBfZGF0ZSwgX2Jhc2VEYXRlLCBfb3B0aW9ucykge1xuICByZXR1cm4gZm9ybWF0UmVsYXRpdmVMb2NhbGVbdG9rZW5dO1xufSJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/locale/en-US/_lib/formatRelative/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/locale/en-US/_lib/localize/index.js": /*!***********************************************************************!*\ !*** ./node_modules/date-fns/esm/locale/en-US/_lib/localize/index.js ***! \***********************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _lib_buildLocalizeFn_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../_lib/buildLocalizeFn/index.js */ \"./node_modules/date-fns/esm/locale/_lib/buildLocalizeFn/index.js\");\n\nvar eraValues = {\n narrow: ['B', 'A'],\n abbreviated: ['BC', 'AD'],\n wide: ['Before Christ', 'Anno Domini']\n};\nvar quarterValues = {\n narrow: ['1', '2', '3', '4'],\n abbreviated: ['Q1', 'Q2', 'Q3', 'Q4'],\n wide: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'] // Note: in English, the names of days of the week and months are capitalized.\n // If you are making a new locale based on this one, check if the same is true for the language you're working on.\n // Generally, formatted dates should look like they are in the middle of a sentence,\n // e.g. in Spanish language the weekdays and months should be in the lowercase.\n\n};\nvar monthValues = {\n narrow: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'],\n abbreviated: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n wide: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']\n};\nvar dayValues = {\n narrow: ['S', 'M', 'T', 'W', 'T', 'F', 'S'],\n short: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],\n abbreviated: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n wide: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']\n};\nvar dayPeriodValues = {\n narrow: {\n am: 'a',\n pm: 'p',\n midnight: 'mi',\n noon: 'n',\n morning: 'morning',\n afternoon: 'afternoon',\n evening: 'evening',\n night: 'night'\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'morning',\n afternoon: 'afternoon',\n evening: 'evening',\n night: 'night'\n },\n wide: {\n am: 'a.m.',\n pm: 'p.m.',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'morning',\n afternoon: 'afternoon',\n evening: 'evening',\n night: 'night'\n }\n};\nvar formattingDayPeriodValues = {\n narrow: {\n am: 'a',\n pm: 'p',\n midnight: 'mi',\n noon: 'n',\n morning: 'in the morning',\n afternoon: 'in the afternoon',\n evening: 'in the evening',\n night: 'at night'\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'in the morning',\n afternoon: 'in the afternoon',\n evening: 'in the evening',\n night: 'at night'\n },\n wide: {\n am: 'a.m.',\n pm: 'p.m.',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'in the morning',\n afternoon: 'in the afternoon',\n evening: 'in the evening',\n night: 'at night'\n }\n};\n\nfunction ordinalNumber(dirtyNumber, _dirtyOptions) {\n var number = Number(dirtyNumber); // If ordinal numbers depend on context, for example,\n // if they are different for different grammatical genders,\n // use `options.unit`:\n //\n // var options = dirtyOptions || {}\n // var unit = String(options.unit)\n //\n // where `unit` can be 'year', 'quarter', 'month', 'week', 'date', 'dayOfYear',\n // 'day', 'hour', 'minute', 'second'\n\n var rem100 = number % 100;\n\n if (rem100 > 20 || rem100 < 10) {\n switch (rem100 % 10) {\n case 1:\n return number + 'st';\n\n case 2:\n return number + 'nd';\n\n case 3:\n return number + 'rd';\n }\n }\n\n return number + 'th';\n}\n\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: Object(_lib_buildLocalizeFn_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: Object(_lib_buildLocalizeFn_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function (quarter) {\n return Number(quarter) - 1;\n }\n }),\n month: Object(_lib_buildLocalizeFn_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n values: monthValues,\n defaultWidth: 'wide'\n }),\n day: Object(_lib_buildLocalizeFn_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n dayPeriod: Object(_lib_buildLocalizeFn_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n values: dayPeriodValues,\n defaultWidth: 'wide',\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: 'wide'\n })\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (localize);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2xvY2FsZS9lbi1VUy9fbGliL2xvY2FsaXplL2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2VzbS9sb2NhbGUvZW4tVVMvX2xpYi9sb2NhbGl6ZS9pbmRleC5qcz8yN2QyIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBidWlsZExvY2FsaXplRm4gZnJvbSAnLi4vLi4vLi4vX2xpYi9idWlsZExvY2FsaXplRm4vaW5kZXguanMnO1xudmFyIGVyYVZhbHVlcyA9IHtcbiAgbmFycm93OiBbJ0InLCAnQSddLFxuICBhYmJyZXZpYXRlZDogWydCQycsICdBRCddLFxuICB3aWRlOiBbJ0JlZm9yZSBDaHJpc3QnLCAnQW5ubyBEb21pbmknXVxufTtcbnZhciBxdWFydGVyVmFsdWVzID0ge1xuICBuYXJyb3c6IFsnMScsICcyJywgJzMnLCAnNCddLFxuICBhYmJyZXZpYXRlZDogWydRMScsICdRMicsICdRMycsICdRNCddLFxuICB3aWRlOiBbJzFzdCBxdWFydGVyJywgJzJuZCBxdWFydGVyJywgJzNyZCBxdWFydGVyJywgJzR0aCBxdWFydGVyJ10gLy8gTm90ZTogaW4gRW5nbGlzaCwgdGhlIG5hbWVzIG9mIGRheXMgb2YgdGhlIHdlZWsgYW5kIG1vbnRocyBhcmUgY2FwaXRhbGl6ZWQuXG4gIC8vIElmIHlvdSBhcmUgbWFraW5nIGEgbmV3IGxvY2FsZSBiYXNlZCBvbiB0aGlzIG9uZSwgY2hlY2sgaWYgdGhlIHNhbWUgaXMgdHJ1ZSBmb3IgdGhlIGxhbmd1YWdlIHlvdSdyZSB3b3JraW5nIG9uLlxuICAvLyBHZW5lcmFsbHksIGZvcm1hdHRlZCBkYXRlcyBzaG91bGQgbG9vayBsaWtlIHRoZXkgYXJlIGluIHRoZSBtaWRkbGUgb2YgYSBzZW50ZW5jZSxcbiAgLy8gZS5nLiBpbiBTcGFuaXNoIGxhbmd1YWdlIHRoZSB3ZWVrZGF5cyBhbmQgbW9udGhzIHNob3VsZCBiZSBpbiB0aGUgbG93ZXJjYXNlLlxuXG59O1xudmFyIG1vbnRoVmFsdWVzID0ge1xuICBuYXJyb3c6IFsnSicsICdGJywgJ00nLCAnQScsICdNJywgJ0onLCAnSicsICdBJywgJ1MnLCAnTycsICdOJywgJ0QnXSxcbiAgYWJicmV2aWF0ZWQ6IFsnSmFuJywgJ0ZlYicsICdNYXInLCAnQXByJywgJ01heScsICdKdW4nLCAnSnVsJywgJ0F1ZycsICdTZXAnLCAnT2N0JywgJ05vdicsICdEZWMnXSxcbiAgd2lkZTogWydKYW51YXJ5JywgJ0ZlYnJ1YXJ5JywgJ01hcmNoJywgJ0FwcmlsJywgJ01heScsICdKdW5lJywgJ0p1bHknLCAnQXVndXN0JywgJ1NlcHRlbWJlcicsICdPY3RvYmVyJywgJ05vdmVtYmVyJywgJ0RlY2VtYmVyJ11cbn07XG52YXIgZGF5VmFsdWVzID0ge1xuICBuYXJyb3c6IFsnUycsICdNJywgJ1QnLCAnVycsICdUJywgJ0YnLCAnUyddLFxuICBzaG9ydDogWydTdScsICdNbycsICdUdScsICdXZScsICdUaCcsICdGcicsICdTYSddLFxuICBhYmJyZXZpYXRlZDogWydTdW4nLCAnTW9uJywgJ1R1ZScsICdXZWQnLCAnVGh1JywgJ0ZyaScsICdTYXQnXSxcbiAgd2lkZTogWydTdW5kYXknLCAnTW9uZGF5JywgJ1R1ZXNkYXknLCAnV2VkbmVzZGF5JywgJ1RodXJzZGF5JywgJ0ZyaWRheScsICdTYXR1cmRheSddXG59O1xudmFyIGRheVBlcmlvZFZhbHVlcyA9IHtcbiAgbmFycm93OiB7XG4gICAgYW06ICdhJyxcbiAgICBwbTogJ3AnLFxuICAgIG1pZG5pZ2h0OiAnbWknLFxuICAgIG5vb246ICduJyxcbiAgICBtb3JuaW5nOiAnbW9ybmluZycsXG4gICAgYWZ0ZXJub29uOiAnYWZ0ZXJub29uJyxcbiAgICBldmVuaW5nOiAnZXZlbmluZycsXG4gICAgbmlnaHQ6ICduaWdodCdcbiAgfSxcbiAgYWJicmV2aWF0ZWQ6IHtcbiAgICBhbTogJ0FNJyxcbiAgICBwbTogJ1BNJyxcbiAgICBtaWRuaWdodDogJ21pZG5pZ2h0JyxcbiAgICBub29uOiAnbm9vbicsXG4gICAgbW9ybmluZzogJ21vcm5pbmcnLFxuICAgIGFmdGVybm9vbjogJ2FmdGVybm9vbicsXG4gICAgZXZlbmluZzogJ2V2ZW5pbmcnLFxuICAgIG5pZ2h0OiAnbmlnaHQnXG4gIH0sXG4gIHdpZGU6IHtcbiAgICBhbTogJ2EubS4nLFxuICAgIHBtOiAncC5tLicsXG4gICAgbWlkbmlnaHQ6ICdtaWRuaWdodCcsXG4gICAgbm9vbjogJ25vb24nLFxuICAgIG1vcm5pbmc6ICdtb3JuaW5nJyxcbiAgICBhZnRlcm5vb246ICdhZnRlcm5vb24nLFxuICAgIGV2ZW5pbmc6ICdldmVuaW5nJyxcbiAgICBuaWdodDogJ25pZ2h0J1xuICB9XG59O1xudmFyIGZvcm1hdHRpbmdEYXlQZXJpb2RWYWx1ZXMgPSB7XG4gIG5hcnJvdzoge1xuICAgIGFtOiAnYScsXG4gICAgcG06ICdwJyxcbiAgICBtaWRuaWdodDogJ21pJyxcbiAgICBub29uOiAnbicsXG4gICAgbW9ybmluZzogJ2luIHRoZSBtb3JuaW5nJyxcbiAgICBhZnRlcm5vb246ICdpbiB0aGUgYWZ0ZXJub29uJyxcbiAgICBldmVuaW5nOiAnaW4gdGhlIGV2ZW5pbmcnLFxuICAgIG5pZ2h0OiAnYXQgbmlnaHQnXG4gIH0sXG4gIGFiYnJldmlhdGVkOiB7XG4gICAgYW06ICdBTScsXG4gICAgcG06ICdQTScsXG4gICAgbWlkbmlnaHQ6ICdtaWRuaWdodCcsXG4gICAgbm9vbjogJ25vb24nLFxuICAgIG1vcm5pbmc6ICdpbiB0aGUgbW9ybmluZycsXG4gICAgYWZ0ZXJub29uOiAnaW4gdGhlIGFmdGVybm9vbicsXG4gICAgZXZlbmluZzogJ2luIHRoZSBldmVuaW5nJyxcbiAgICBuaWdodDogJ2F0IG5pZ2h0J1xuICB9LFxuICB3aWRlOiB7XG4gICAgYW06ICdhLm0uJyxcbiAgICBwbTogJ3AubS4nLFxuICAgIG1pZG5pZ2h0OiAnbWlkbmlnaHQnLFxuICAgIG5vb246ICdub29uJyxcbiAgICBtb3JuaW5nOiAnaW4gdGhlIG1vcm5pbmcnLFxuICAgIGFmdGVybm9vbjogJ2luIHRoZSBhZnRlcm5vb24nLFxuICAgIGV2ZW5pbmc6ICdpbiB0aGUgZXZlbmluZycsXG4gICAgbmlnaHQ6ICdhdCBuaWdodCdcbiAgfVxufTtcblxuZnVuY3Rpb24gb3JkaW5hbE51bWJlcihkaXJ0eU51bWJlciwgX2RpcnR5T3B0aW9ucykge1xuICB2YXIgbnVtYmVyID0gTnVtYmVyKGRpcnR5TnVtYmVyKTsgLy8gSWYgb3JkaW5hbCBudW1iZXJzIGRlcGVuZCBvbiBjb250ZXh0LCBmb3IgZXhhbXBsZSxcbiAgLy8gaWYgdGhleSBhcmUgZGlmZmVyZW50IGZvciBkaWZmZXJlbnQgZ3JhbW1hdGljYWwgZ2VuZGVycyxcbiAgLy8gdXNlIGBvcHRpb25zLnVuaXRgOlxuICAvL1xuICAvLyAgIHZhciBvcHRpb25zID0gZGlydHlPcHRpb25zIHx8IHt9XG4gIC8vICAgdmFyIHVuaXQgPSBTdHJpbmcob3B0aW9ucy51bml0KVxuICAvL1xuICAvLyB3aGVyZSBgdW5pdGAgY2FuIGJlICd5ZWFyJywgJ3F1YXJ0ZXInLCAnbW9udGgnLCAnd2VlaycsICdkYXRlJywgJ2RheU9mWWVhcicsXG4gIC8vICdkYXknLCAnaG91cicsICdtaW51dGUnLCAnc2Vjb25kJ1xuXG4gIHZhciByZW0xMDAgPSBudW1iZXIgJSAxMDA7XG5cbiAgaWYgKHJlbTEwMCA+IDIwIHx8IHJlbTEwMCA8IDEwKSB7XG4gICAgc3dpdGNoIChyZW0xMDAgJSAxMCkge1xuICAgICAgY2FzZSAxOlxuICAgICAgICByZXR1cm4gbnVtYmVyICsgJ3N0JztcblxuICAgICAgY2FzZSAyOlxuICAgICAgICByZXR1cm4gbnVtYmVyICsgJ25kJztcblxuICAgICAgY2FzZSAzOlxuICAgICAgICByZXR1cm4gbnVtYmVyICsgJ3JkJztcbiAgICB9XG4gIH1cblxuICByZXR1cm4gbnVtYmVyICsgJ3RoJztcbn1cblxudmFyIGxvY2FsaXplID0ge1xuICBvcmRpbmFsTnVtYmVyOiBvcmRpbmFsTnVtYmVyLFxuICBlcmE6IGJ1aWxkTG9jYWxpemVGbih7XG4gICAgdmFsdWVzOiBlcmFWYWx1ZXMsXG4gICAgZGVmYXVsdFdpZHRoOiAnd2lkZSdcbiAgfSksXG4gIHF1YXJ0ZXI6IGJ1aWxkTG9jYWxpemVGbih7XG4gICAgdmFsdWVzOiBxdWFydGVyVmFsdWVzLFxuICAgIGRlZmF1bHRXaWR0aDogJ3dpZGUnLFxuICAgIGFyZ3VtZW50Q2FsbGJhY2s6IGZ1bmN0aW9uIChxdWFydGVyKSB7XG4gICAgICByZXR1cm4gTnVtYmVyKHF1YXJ0ZXIpIC0gMTtcbiAgICB9XG4gIH0pLFxuICBtb250aDogYnVpbGRMb2NhbGl6ZUZuKHtcbiAgICB2YWx1ZXM6IG1vbnRoVmFsdWVzLFxuICAgIGRlZmF1bHRXaWR0aDogJ3dpZGUnXG4gIH0pLFxuICBkYXk6IGJ1aWxkTG9jYWxpemVGbih7XG4gICAgdmFsdWVzOiBkYXlWYWx1ZXMsXG4gICAgZGVmYXVsdFdpZHRoOiAnd2lkZSdcbiAgfSksXG4gIGRheVBlcmlvZDogYnVpbGRMb2NhbGl6ZUZuKHtcbiAgICB2YWx1ZXM6IGRheVBlcmlvZFZhbHVlcyxcbiAgICBkZWZhdWx0V2lkdGg6ICd3aWRlJyxcbiAgICBmb3JtYXR0aW5nVmFsdWVzOiBmb3JtYXR0aW5nRGF5UGVyaW9kVmFsdWVzLFxuICAgIGRlZmF1bHRGb3JtYXR0aW5nV2lkdGg6ICd3aWRlJ1xuICB9KVxufTtcbmV4cG9ydCBkZWZhdWx0IGxvY2FsaXplOyJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/locale/en-US/_lib/localize/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/locale/en-US/_lib/match/index.js": /*!********************************************************************!*\ !*** ./node_modules/date-fns/esm/locale/en-US/_lib/match/index.js ***! \********************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _lib_buildMatchPatternFn_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../_lib/buildMatchPatternFn/index.js */ \"./node_modules/date-fns/esm/locale/_lib/buildMatchPatternFn/index.js\");\n/* harmony import */ var _lib_buildMatchFn_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../_lib/buildMatchFn/index.js */ \"./node_modules/date-fns/esm/locale/_lib/buildMatchFn/index.js\");\n\n\nvar matchOrdinalNumberPattern = /^(\\d+)(th|st|nd|rd)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /^(b|a)/i,\n abbreviated: /^(b\\.?\\s?c\\.?|b\\.?\\s?c\\.?\\s?e\\.?|a\\.?\\s?d\\.?|c\\.?\\s?e\\.?)/i,\n wide: /^(before christ|before common era|anno domini|common era)/i\n};\nvar parseEraPatterns = {\n any: [/^b/i, /^(a|c)/i]\n};\nvar matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^q[1234]/i,\n wide: /^[1234](th|st|nd|rd)? quarter/i\n};\nvar parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n narrow: /^[jfmasond]/i,\n abbreviated: /^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,\n wide: /^(january|february|march|april|may|june|july|august|september|october|november|december)/i\n};\nvar parseMonthPatterns = {\n narrow: [/^j/i, /^f/i, /^m/i, /^a/i, /^m/i, /^j/i, /^j/i, /^a/i, /^s/i, /^o/i, /^n/i, /^d/i],\n any: [/^ja/i, /^f/i, /^mar/i, /^ap/i, /^may/i, /^jun/i, /^jul/i, /^au/i, /^s/i, /^o/i, /^n/i, /^d/i]\n};\nvar matchDayPatterns = {\n narrow: /^[smtwf]/i,\n short: /^(su|mo|tu|we|th|fr|sa)/i,\n abbreviated: /^(sun|mon|tue|wed|thu|fri|sat)/i,\n wide: /^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i\n};\nvar parseDayPatterns = {\n narrow: [/^s/i, /^m/i, /^t/i, /^w/i, /^t/i, /^f/i, /^s/i],\n any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i]\n};\nvar matchDayPeriodPatterns = {\n narrow: /^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,\n any: /^([ap]\\.?\\s?m\\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^a/i,\n pm: /^p/i,\n midnight: /^mi/i,\n noon: /^no/i,\n morning: /morning/i,\n afternoon: /afternoon/i,\n evening: /evening/i,\n night: /night/i\n }\n};\nvar match = {\n ordinalNumber: Object(_lib_buildMatchPatternFn_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function (value) {\n return parseInt(value, 10);\n }\n }),\n era: Object(_lib_buildMatchFn_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: Object(_lib_buildMatchFn_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function (index) {\n return index + 1;\n }\n }),\n month: Object(_lib_buildMatchFn_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n day: Object(_lib_buildMatchFn_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n dayPeriod: Object(_lib_buildMatchFn_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'any',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (match);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2xvY2FsZS9lbi1VUy9fbGliL21hdGNoL2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2VzbS9sb2NhbGUvZW4tVVMvX2xpYi9tYXRjaC9pbmRleC5qcz81OThiIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBidWlsZE1hdGNoUGF0dGVybkZuIGZyb20gJy4uLy4uLy4uL19saWIvYnVpbGRNYXRjaFBhdHRlcm5Gbi9pbmRleC5qcyc7XG5pbXBvcnQgYnVpbGRNYXRjaEZuIGZyb20gJy4uLy4uLy4uL19saWIvYnVpbGRNYXRjaEZuL2luZGV4LmpzJztcbnZhciBtYXRjaE9yZGluYWxOdW1iZXJQYXR0ZXJuID0gL14oXFxkKykodGh8c3R8bmR8cmQpPy9pO1xudmFyIHBhcnNlT3JkaW5hbE51bWJlclBhdHRlcm4gPSAvXFxkKy9pO1xudmFyIG1hdGNoRXJhUGF0dGVybnMgPSB7XG4gIG5hcnJvdzogL14oYnxhKS9pLFxuICBhYmJyZXZpYXRlZDogL14oYlxcLj9cXHM/Y1xcLj98YlxcLj9cXHM/Y1xcLj9cXHM/ZVxcLj98YVxcLj9cXHM/ZFxcLj98Y1xcLj9cXHM/ZVxcLj8pL2ksXG4gIHdpZGU6IC9eKGJlZm9yZSBjaHJpc3R8YmVmb3JlIGNvbW1vbiBlcmF8YW5ubyBkb21pbml8Y29tbW9uIGVyYSkvaVxufTtcbnZhciBwYXJzZUVyYVBhdHRlcm5zID0ge1xuICBhbnk6IFsvXmIvaSwgL14oYXxjKS9pXVxufTtcbnZhciBtYXRjaFF1YXJ0ZXJQYXR0ZXJucyA9IHtcbiAgbmFycm93OiAvXlsxMjM0XS9pLFxuICBhYmJyZXZpYXRlZDogL15xWzEyMzRdL2ksXG4gIHdpZGU6IC9eWzEyMzRdKHRofHN0fG5kfHJkKT8gcXVhcnRlci9pXG59O1xudmFyIHBhcnNlUXVhcnRlclBhdHRlcm5zID0ge1xuICBhbnk6IFsvMS9pLCAvMi9pLCAvMy9pLCAvNC9pXVxufTtcbnZhciBtYXRjaE1vbnRoUGF0dGVybnMgPSB7XG4gIG5hcnJvdzogL15bamZtYXNvbmRdL2ksXG4gIGFiYnJldmlhdGVkOiAvXihqYW58ZmVifG1hcnxhcHJ8bWF5fGp1bnxqdWx8YXVnfHNlcHxvY3R8bm92fGRlYykvaSxcbiAgd2lkZTogL14oamFudWFyeXxmZWJydWFyeXxtYXJjaHxhcHJpbHxtYXl8anVuZXxqdWx5fGF1Z3VzdHxzZXB0ZW1iZXJ8b2N0b2Jlcnxub3ZlbWJlcnxkZWNlbWJlcikvaVxufTtcbnZhciBwYXJzZU1vbnRoUGF0dGVybnMgPSB7XG4gIG5hcnJvdzogWy9eai9pLCAvXmYvaSwgL15tL2ksIC9eYS9pLCAvXm0vaSwgL15qL2ksIC9eai9pLCAvXmEvaSwgL15zL2ksIC9eby9pLCAvXm4vaSwgL15kL2ldLFxuICBhbnk6IFsvXmphL2ksIC9eZi9pLCAvXm1hci9pLCAvXmFwL2ksIC9ebWF5L2ksIC9eanVuL2ksIC9eanVsL2ksIC9eYXUvaSwgL15zL2ksIC9eby9pLCAvXm4vaSwgL15kL2ldXG59O1xudmFyIG1hdGNoRGF5UGF0dGVybnMgPSB7XG4gIG5hcnJvdzogL15bc210d2ZdL2ksXG4gIHNob3J0OiAvXihzdXxtb3x0dXx3ZXx0aHxmcnxzYSkvaSxcbiAgYWJicmV2aWF0ZWQ6IC9eKHN1bnxtb258dHVlfHdlZHx0aHV8ZnJpfHNhdCkvaSxcbiAgd2lkZTogL14oc3VuZGF5fG1vbmRheXx0dWVzZGF5fHdlZG5lc2RheXx0aHVyc2RheXxmcmlkYXl8c2F0dXJkYXkpL2lcbn07XG52YXIgcGFyc2VEYXlQYXR0ZXJucyA9IHtcbiAgbmFycm93OiBbL15zL2ksIC9ebS9pLCAvXnQvaSwgL153L2ksIC9edC9pLCAvXmYvaSwgL15zL2ldLFxuICBhbnk6IFsvXnN1L2ksIC9ebS9pLCAvXnR1L2ksIC9edy9pLCAvXnRoL2ksIC9eZi9pLCAvXnNhL2ldXG59O1xudmFyIG1hdGNoRGF5UGVyaW9kUGF0dGVybnMgPSB7XG4gIG5hcnJvdzogL14oYXxwfG1pfG58KGluIHRoZXxhdCkgKG1vcm5pbmd8YWZ0ZXJub29ufGV2ZW5pbmd8bmlnaHQpKS9pLFxuICBhbnk6IC9eKFthcF1cXC4/XFxzP21cXC4/fG1pZG5pZ2h0fG5vb258KGluIHRoZXxhdCkgKG1vcm5pbmd8YWZ0ZXJub29ufGV2ZW5pbmd8bmlnaHQpKS9pXG59O1xudmFyIHBhcnNlRGF5UGVyaW9kUGF0dGVybnMgPSB7XG4gIGFueToge1xuICAgIGFtOiAvXmEvaSxcbiAgICBwbTogL15wL2ksXG4gICAgbWlkbmlnaHQ6IC9ebWkvaSxcbiAgICBub29uOiAvXm5vL2ksXG4gICAgbW9ybmluZzogL21vcm5pbmcvaSxcbiAgICBhZnRlcm5vb246IC9hZnRlcm5vb24vaSxcbiAgICBldmVuaW5nOiAvZXZlbmluZy9pLFxuICAgIG5pZ2h0OiAvbmlnaHQvaVxuICB9XG59O1xudmFyIG1hdGNoID0ge1xuICBvcmRpbmFsTnVtYmVyOiBidWlsZE1hdGNoUGF0dGVybkZuKHtcbiAgICBtYXRjaFBhdHRlcm46IG1hdGNoT3JkaW5hbE51bWJlclBhdHRlcm4sXG4gICAgcGFyc2VQYXR0ZXJuOiBwYXJzZU9yZGluYWxOdW1iZXJQYXR0ZXJuLFxuICAgIHZhbHVlQ2FsbGJhY2s6IGZ1bmN0aW9uICh2YWx1ZSkge1xuICAgICAgcmV0dXJuIHBhcnNlSW50KHZhbHVlLCAxMCk7XG4gICAgfVxuICB9KSxcbiAgZXJhOiBidWlsZE1hdGNoRm4oe1xuICAgIG1hdGNoUGF0dGVybnM6IG1hdGNoRXJhUGF0dGVybnMsXG4gICAgZGVmYXVsdE1hdGNoV2lkdGg6ICd3aWRlJyxcbiAgICBwYXJzZVBhdHRlcm5zOiBwYXJzZUVyYVBhdHRlcm5zLFxuICAgIGRlZmF1bHRQYXJzZVdpZHRoOiAnYW55J1xuICB9KSxcbiAgcXVhcnRlcjogYnVpbGRNYXRjaEZuKHtcbiAgICBtYXRjaFBhdHRlcm5zOiBtYXRjaFF1YXJ0ZXJQYXR0ZXJucyxcbiAgICBkZWZhdWx0TWF0Y2hXaWR0aDogJ3dpZGUnLFxuICAgIHBhcnNlUGF0dGVybnM6IHBhcnNlUXVhcnRlclBhdHRlcm5zLFxuICAgIGRlZmF1bHRQYXJzZVdpZHRoOiAnYW55JyxcbiAgICB2YWx1ZUNhbGxiYWNrOiBmdW5jdGlvbiAoaW5kZXgpIHtcbiAgICAgIHJldHVybiBpbmRleCArIDE7XG4gICAgfVxuICB9KSxcbiAgbW9udGg6IGJ1aWxkTWF0Y2hGbih7XG4gICAgbWF0Y2hQYXR0ZXJuczogbWF0Y2hNb250aFBhdHRlcm5zLFxuICAgIGRlZmF1bHRNYXRjaFdpZHRoOiAnd2lkZScsXG4gICAgcGFyc2VQYXR0ZXJuczogcGFyc2VNb250aFBhdHRlcm5zLFxuICAgIGRlZmF1bHRQYXJzZVdpZHRoOiAnYW55J1xuICB9KSxcbiAgZGF5OiBidWlsZE1hdGNoRm4oe1xuICAgIG1hdGNoUGF0dGVybnM6IG1hdGNoRGF5UGF0dGVybnMsXG4gICAgZGVmYXVsdE1hdGNoV2lkdGg6ICd3aWRlJyxcbiAgICBwYXJzZVBhdHRlcm5zOiBwYXJzZURheVBhdHRlcm5zLFxuICAgIGRlZmF1bHRQYXJzZVdpZHRoOiAnYW55J1xuICB9KSxcbiAgZGF5UGVyaW9kOiBidWlsZE1hdGNoRm4oe1xuICAgIG1hdGNoUGF0dGVybnM6IG1hdGNoRGF5UGVyaW9kUGF0dGVybnMsXG4gICAgZGVmYXVsdE1hdGNoV2lkdGg6ICdhbnknLFxuICAgIHBhcnNlUGF0dGVybnM6IHBhcnNlRGF5UGVyaW9kUGF0dGVybnMsXG4gICAgZGVmYXVsdFBhcnNlV2lkdGg6ICdhbnknXG4gIH0pXG59O1xuZXhwb3J0IGRlZmF1bHQgbWF0Y2g7Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/locale/en-US/_lib/match/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/locale/en-US/index.js": /*!*********************************************************!*\ !*** ./node_modules/date-fns/esm/locale/en-US/index.js ***! \*********************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _lib_formatDistance_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_lib/formatDistance/index.js */ \"./node_modules/date-fns/esm/locale/en-US/_lib/formatDistance/index.js\");\n/* harmony import */ var _lib_formatLong_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_lib/formatLong/index.js */ \"./node_modules/date-fns/esm/locale/en-US/_lib/formatLong/index.js\");\n/* harmony import */ var _lib_formatRelative_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_lib/formatRelative/index.js */ \"./node_modules/date-fns/esm/locale/en-US/_lib/formatRelative/index.js\");\n/* harmony import */ var _lib_localize_index_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_lib/localize/index.js */ \"./node_modules/date-fns/esm/locale/en-US/_lib/localize/index.js\");\n/* harmony import */ var _lib_match_index_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_lib/match/index.js */ \"./node_modules/date-fns/esm/locale/en-US/_lib/match/index.js\");\n\n\n\n\n\n/**\n * @type {Locale}\n * @category Locales\n * @summary English locale (United States).\n * @language English\n * @iso-639-2 eng\n * @author Sasha Koss [@kossnocorp]{@link https://github.com/kossnocorp}\n * @author Lesha Koss [@leshakoss]{@link https://github.com/leshakoss}\n */\n\nvar locale = {\n formatDistance: _lib_formatDistance_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n formatLong: _lib_formatLong_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n formatRelative: _lib_formatRelative_index_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n localize: _lib_localize_index_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n match: _lib_match_index_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n options: {\n weekStartsOn: 0\n /* Sunday */\n ,\n firstWeekContainsDate: 1\n }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (locale);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL2xvY2FsZS9lbi1VUy9pbmRleC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9kYXRlLWZucy9lc20vbG9jYWxlL2VuLVVTL2luZGV4LmpzPzg5MjMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGZvcm1hdERpc3RhbmNlIGZyb20gJy4vX2xpYi9mb3JtYXREaXN0YW5jZS9pbmRleC5qcyc7XG5pbXBvcnQgZm9ybWF0TG9uZyBmcm9tICcuL19saWIvZm9ybWF0TG9uZy9pbmRleC5qcyc7XG5pbXBvcnQgZm9ybWF0UmVsYXRpdmUgZnJvbSAnLi9fbGliL2Zvcm1hdFJlbGF0aXZlL2luZGV4LmpzJztcbmltcG9ydCBsb2NhbGl6ZSBmcm9tICcuL19saWIvbG9jYWxpemUvaW5kZXguanMnO1xuaW1wb3J0IG1hdGNoIGZyb20gJy4vX2xpYi9tYXRjaC9pbmRleC5qcyc7XG4vKipcbiAqIEB0eXBlIHtMb2NhbGV9XG4gKiBAY2F0ZWdvcnkgTG9jYWxlc1xuICogQHN1bW1hcnkgRW5nbGlzaCBsb2NhbGUgKFVuaXRlZCBTdGF0ZXMpLlxuICogQGxhbmd1YWdlIEVuZ2xpc2hcbiAqIEBpc28tNjM5LTIgZW5nXG4gKiBAYXV0aG9yIFNhc2hhIEtvc3MgW0Brb3Nzbm9jb3JwXXtAbGluayBodHRwczovL2dpdGh1Yi5jb20va29zc25vY29ycH1cbiAqIEBhdXRob3IgTGVzaGEgS29zcyBbQGxlc2hha29zc117QGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL2xlc2hha29zc31cbiAqL1xuXG52YXIgbG9jYWxlID0ge1xuICBmb3JtYXREaXN0YW5jZTogZm9ybWF0RGlzdGFuY2UsXG4gIGZvcm1hdExvbmc6IGZvcm1hdExvbmcsXG4gIGZvcm1hdFJlbGF0aXZlOiBmb3JtYXRSZWxhdGl2ZSxcbiAgbG9jYWxpemU6IGxvY2FsaXplLFxuICBtYXRjaDogbWF0Y2gsXG4gIG9wdGlvbnM6IHtcbiAgICB3ZWVrU3RhcnRzT246IDBcbiAgICAvKiBTdW5kYXkgKi9cbiAgICAsXG4gICAgZmlyc3RXZWVrQ29udGFpbnNEYXRlOiAxXG4gIH1cbn07XG5leHBvcnQgZGVmYXVsdCBsb2NhbGU7Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/locale/en-US/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/max/index.js": /*!************************************************!*\ !*** ./node_modules/date-fns/esm/max/index.js ***! \************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return max; });\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n\n/**\n * @name max\n * @category Common Helpers\n * @summary Return the latest of the given dates.\n *\n * @description\n * Return the latest of the given dates.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * - `max` function now accepts an array of dates rather than spread arguments.\n *\n * ```javascript\n * // Before v2.0.0\n * var date1 = new Date(1989, 6, 10)\n * var date2 = new Date(1987, 1, 11)\n * var maxDate = max(date1, date2)\n *\n * // v2.0.0 onward:\n * var dates = [new Date(1989, 6, 10), new Date(1987, 1, 11)]\n * var maxDate = max(dates)\n * ```\n *\n * @param {Date[]|Number[]} datesArray - the dates to compare\n * @returns {Date} the latest of the dates\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Which of these dates is the latest?\n * var result = max([\n * new Date(1989, 6, 10),\n * new Date(1987, 1, 11),\n * new Date(1995, 6, 2),\n * new Date(1990, 0, 1)\n * ])\n * //=> Sun Jul 02 1995 00:00:00\n */\n\nfunction max(dirtyDatesArray) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n var datesArray; // `dirtyDatesArray` is Array, Set or Map, or object with custom `forEach` method\n\n if (dirtyDatesArray && typeof dirtyDatesArray.forEach === 'function') {\n datesArray = dirtyDatesArray; // If `dirtyDatesArray` is Array-like Object, convert to Array.\n } else if (typeof dirtyDatesArray === 'object' && dirtyDatesArray !== null) {\n datesArray = Array.prototype.slice.call(dirtyDatesArray);\n } else {\n // `dirtyDatesArray` is non-iterable, return Invalid Date\n return new Date(NaN);\n }\n\n var result;\n datesArray.forEach(function (dirtyDate) {\n var currentDate = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate);\n\n if (result === undefined || result < currentDate || isNaN(currentDate)) {\n result = currentDate;\n }\n });\n return result || new Date(NaN);\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL21heC9pbmRleC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9kYXRlLWZucy9lc20vbWF4L2luZGV4LmpzPzRlNzkiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHRvRGF0ZSBmcm9tICcuLi90b0RhdGUvaW5kZXguanMnO1xuLyoqXG4gKiBAbmFtZSBtYXhcbiAqIEBjYXRlZ29yeSBDb21tb24gSGVscGVyc1xuICogQHN1bW1hcnkgUmV0dXJuIHRoZSBsYXRlc3Qgb2YgdGhlIGdpdmVuIGRhdGVzLlxuICpcbiAqIEBkZXNjcmlwdGlvblxuICogUmV0dXJuIHRoZSBsYXRlc3Qgb2YgdGhlIGdpdmVuIGRhdGVzLlxuICpcbiAqICMjIyB2Mi4wLjAgYnJlYWtpbmcgY2hhbmdlczpcbiAqXG4gKiAtIFtDaGFuZ2VzIHRoYXQgYXJlIGNvbW1vbiBmb3IgdGhlIHdob2xlIGxpYnJhcnldKGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRlLWZucy9kYXRlLWZucy9ibG9iL21hc3Rlci9kb2NzL3VwZ3JhZGVHdWlkZS5tZCNDb21tb24tQ2hhbmdlcykuXG4gKlxuICogLSBgbWF4YCBmdW5jdGlvbiBub3cgYWNjZXB0cyBhbiBhcnJheSBvZiBkYXRlcyByYXRoZXIgdGhhbiBzcHJlYWQgYXJndW1lbnRzLlxuICpcbiAqICAgYGBgamF2YXNjcmlwdFxuICogICAvLyBCZWZvcmUgdjIuMC4wXG4gKiAgIHZhciBkYXRlMSA9IG5ldyBEYXRlKDE5ODksIDYsIDEwKVxuICogICB2YXIgZGF0ZTIgPSBuZXcgRGF0ZSgxOTg3LCAxLCAxMSlcbiAqICAgdmFyIG1heERhdGUgPSBtYXgoZGF0ZTEsIGRhdGUyKVxuICpcbiAqICAgLy8gdjIuMC4wIG9ud2FyZDpcbiAqICAgdmFyIGRhdGVzID0gW25ldyBEYXRlKDE5ODksIDYsIDEwKSwgbmV3IERhdGUoMTk4NywgMSwgMTEpXVxuICogICB2YXIgbWF4RGF0ZSA9IG1heChkYXRlcylcbiAqICAgYGBgXG4gKlxuICogQHBhcmFtIHtEYXRlW118TnVtYmVyW119IGRhdGVzQXJyYXkgLSB0aGUgZGF0ZXMgdG8gY29tcGFyZVxuICogQHJldHVybnMge0RhdGV9IHRoZSBsYXRlc3Qgb2YgdGhlIGRhdGVzXG4gKiBAdGhyb3dzIHtUeXBlRXJyb3J9IDEgYXJndW1lbnQgcmVxdWlyZWRcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gV2hpY2ggb2YgdGhlc2UgZGF0ZXMgaXMgdGhlIGxhdGVzdD9cbiAqIHZhciByZXN1bHQgPSBtYXgoW1xuICogICBuZXcgRGF0ZSgxOTg5LCA2LCAxMCksXG4gKiAgIG5ldyBEYXRlKDE5ODcsIDEsIDExKSxcbiAqICAgbmV3IERhdGUoMTk5NSwgNiwgMiksXG4gKiAgIG5ldyBEYXRlKDE5OTAsIDAsIDEpXG4gKiBdKVxuICogLy89PiBTdW4gSnVsIDAyIDE5OTUgMDA6MDA6MDBcbiAqL1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBtYXgoZGlydHlEYXRlc0FycmF5KSB7XG4gIGlmIChhcmd1bWVudHMubGVuZ3RoIDwgMSkge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJzEgYXJndW1lbnQgcmVxdWlyZWQsIGJ1dCBvbmx5ICcgKyBhcmd1bWVudHMubGVuZ3RoICsgJyBwcmVzZW50Jyk7XG4gIH1cblxuICB2YXIgZGF0ZXNBcnJheTsgLy8gYGRpcnR5RGF0ZXNBcnJheWAgaXMgQXJyYXksIFNldCBvciBNYXAsIG9yIG9iamVjdCB3aXRoIGN1c3RvbSBgZm9yRWFjaGAgbWV0aG9kXG5cbiAgaWYgKGRpcnR5RGF0ZXNBcnJheSAmJiB0eXBlb2YgZGlydHlEYXRlc0FycmF5LmZvckVhY2ggPT09ICdmdW5jdGlvbicpIHtcbiAgICBkYXRlc0FycmF5ID0gZGlydHlEYXRlc0FycmF5OyAvLyBJZiBgZGlydHlEYXRlc0FycmF5YCBpcyBBcnJheS1saWtlIE9iamVjdCwgY29udmVydCB0byBBcnJheS5cbiAgfSBlbHNlIGlmICh0eXBlb2YgZGlydHlEYXRlc0FycmF5ID09PSAnb2JqZWN0JyAmJiBkaXJ0eURhdGVzQXJyYXkgIT09IG51bGwpIHtcbiAgICBkYXRlc0FycmF5ID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoZGlydHlEYXRlc0FycmF5KTtcbiAgfSBlbHNlIHtcbiAgICAvLyBgZGlydHlEYXRlc0FycmF5YCBpcyBub24taXRlcmFibGUsIHJldHVybiBJbnZhbGlkIERhdGVcbiAgICByZXR1cm4gbmV3IERhdGUoTmFOKTtcbiAgfVxuXG4gIHZhciByZXN1bHQ7XG4gIGRhdGVzQXJyYXkuZm9yRWFjaChmdW5jdGlvbiAoZGlydHlEYXRlKSB7XG4gICAgdmFyIGN1cnJlbnREYXRlID0gdG9EYXRlKGRpcnR5RGF0ZSk7XG5cbiAgICBpZiAocmVzdWx0ID09PSB1bmRlZmluZWQgfHwgcmVzdWx0IDwgY3VycmVudERhdGUgfHwgaXNOYU4oY3VycmVudERhdGUpKSB7XG4gICAgICByZXN1bHQgPSBjdXJyZW50RGF0ZTtcbiAgICB9XG4gIH0pO1xuICByZXR1cm4gcmVzdWx0IHx8IG5ldyBEYXRlKE5hTik7XG59Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/max/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/min/index.js": /*!************************************************!*\ !*** ./node_modules/date-fns/esm/min/index.js ***! \************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return min; });\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n\n/**\n * @name min\n * @category Common Helpers\n * @summary Return the earliest of the given dates.\n *\n * @description\n * Return the earliest of the given dates.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * - `min` function now accepts an array of dates rather than spread arguments.\n *\n * ```javascript\n * // Before v2.0.0\n * var date1 = new Date(1989, 6, 10)\n * var date2 = new Date(1987, 1, 11)\n * var minDate = min(date1, date2)\n *\n * // v2.0.0 onward:\n * var dates = [new Date(1989, 6, 10), new Date(1987, 1, 11)]\n * var minDate = min(dates)\n * ```\n *\n * @param {Date[]|Number[]} datesArray - the dates to compare\n * @returns {Date} the earliest of the dates\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Which of these dates is the earliest?\n * var result = min([\n * new Date(1989, 6, 10),\n * new Date(1987, 1, 11),\n * new Date(1995, 6, 2),\n * new Date(1990, 0, 1)\n * ])\n * //=> Wed Feb 11 1987 00:00:00\n */\n\nfunction min(dirtyDatesArray) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n var datesArray; // `dirtyDatesArray` is Array, Set or Map, or object with custom `forEach` method\n\n if (dirtyDatesArray && typeof dirtyDatesArray.forEach === 'function') {\n datesArray = dirtyDatesArray; // If `dirtyDatesArray` is Array-like Object, convert to Array.\n } else if (typeof dirtyDatesArray === 'object' && dirtyDatesArray !== null) {\n datesArray = Array.prototype.slice.call(dirtyDatesArray);\n } else {\n // `dirtyDatesArray` is non-iterable, return Invalid Date\n return new Date(NaN);\n }\n\n var result;\n datesArray.forEach(function (dirtyDate) {\n var currentDate = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate);\n\n if (result === undefined || result > currentDate || isNaN(currentDate)) {\n result = currentDate;\n }\n });\n return result || new Date(NaN);\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL21pbi9pbmRleC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9kYXRlLWZucy9lc20vbWluL2luZGV4LmpzPzc5ZDYiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHRvRGF0ZSBmcm9tICcuLi90b0RhdGUvaW5kZXguanMnO1xuLyoqXG4gKiBAbmFtZSBtaW5cbiAqIEBjYXRlZ29yeSBDb21tb24gSGVscGVyc1xuICogQHN1bW1hcnkgUmV0dXJuIHRoZSBlYXJsaWVzdCBvZiB0aGUgZ2l2ZW4gZGF0ZXMuXG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKiBSZXR1cm4gdGhlIGVhcmxpZXN0IG9mIHRoZSBnaXZlbiBkYXRlcy5cbiAqXG4gKiAjIyMgdjIuMC4wIGJyZWFraW5nIGNoYW5nZXM6XG4gKlxuICogLSBbQ2hhbmdlcyB0aGF0IGFyZSBjb21tb24gZm9yIHRoZSB3aG9sZSBsaWJyYXJ5XShodHRwczovL2dpdGh1Yi5jb20vZGF0ZS1mbnMvZGF0ZS1mbnMvYmxvYi9tYXN0ZXIvZG9jcy91cGdyYWRlR3VpZGUubWQjQ29tbW9uLUNoYW5nZXMpLlxuICpcbiAqIC0gYG1pbmAgZnVuY3Rpb24gbm93IGFjY2VwdHMgYW4gYXJyYXkgb2YgZGF0ZXMgcmF0aGVyIHRoYW4gc3ByZWFkIGFyZ3VtZW50cy5cbiAqXG4gKiAgIGBgYGphdmFzY3JpcHRcbiAqICAgLy8gQmVmb3JlIHYyLjAuMFxuICogICB2YXIgZGF0ZTEgPSBuZXcgRGF0ZSgxOTg5LCA2LCAxMClcbiAqICAgdmFyIGRhdGUyID0gbmV3IERhdGUoMTk4NywgMSwgMTEpXG4gKiAgIHZhciBtaW5EYXRlID0gbWluKGRhdGUxLCBkYXRlMilcbiAqXG4gKiAgIC8vIHYyLjAuMCBvbndhcmQ6XG4gKiAgIHZhciBkYXRlcyA9IFtuZXcgRGF0ZSgxOTg5LCA2LCAxMCksIG5ldyBEYXRlKDE5ODcsIDEsIDExKV1cbiAqICAgdmFyIG1pbkRhdGUgPSBtaW4oZGF0ZXMpXG4gKiAgIGBgYFxuICpcbiAqIEBwYXJhbSB7RGF0ZVtdfE51bWJlcltdfSBkYXRlc0FycmF5IC0gdGhlIGRhdGVzIHRvIGNvbXBhcmVcbiAqIEByZXR1cm5zIHtEYXRlfSB0aGUgZWFybGllc3Qgb2YgdGhlIGRhdGVzXG4gKiBAdGhyb3dzIHtUeXBlRXJyb3J9IDEgYXJndW1lbnQgcmVxdWlyZWRcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gV2hpY2ggb2YgdGhlc2UgZGF0ZXMgaXMgdGhlIGVhcmxpZXN0P1xuICogdmFyIHJlc3VsdCA9IG1pbihbXG4gKiAgIG5ldyBEYXRlKDE5ODksIDYsIDEwKSxcbiAqICAgbmV3IERhdGUoMTk4NywgMSwgMTEpLFxuICogICBuZXcgRGF0ZSgxOTk1LCA2LCAyKSxcbiAqICAgbmV3IERhdGUoMTk5MCwgMCwgMSlcbiAqIF0pXG4gKiAvLz0+IFdlZCBGZWIgMTEgMTk4NyAwMDowMDowMFxuICovXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIG1pbihkaXJ0eURhdGVzQXJyYXkpIHtcbiAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPCAxKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignMSBhcmd1bWVudCByZXF1aXJlZCwgYnV0IG9ubHkgJyArIGFyZ3VtZW50cy5sZW5ndGggKyAnIHByZXNlbnQnKTtcbiAgfVxuXG4gIHZhciBkYXRlc0FycmF5OyAvLyBgZGlydHlEYXRlc0FycmF5YCBpcyBBcnJheSwgU2V0IG9yIE1hcCwgb3Igb2JqZWN0IHdpdGggY3VzdG9tIGBmb3JFYWNoYCBtZXRob2RcblxuICBpZiAoZGlydHlEYXRlc0FycmF5ICYmIHR5cGVvZiBkaXJ0eURhdGVzQXJyYXkuZm9yRWFjaCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIGRhdGVzQXJyYXkgPSBkaXJ0eURhdGVzQXJyYXk7IC8vIElmIGBkaXJ0eURhdGVzQXJyYXlgIGlzIEFycmF5LWxpa2UgT2JqZWN0LCBjb252ZXJ0IHRvIEFycmF5LlxuICB9IGVsc2UgaWYgKHR5cGVvZiBkaXJ0eURhdGVzQXJyYXkgPT09ICdvYmplY3QnICYmIGRpcnR5RGF0ZXNBcnJheSAhPT0gbnVsbCkge1xuICAgIGRhdGVzQXJyYXkgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChkaXJ0eURhdGVzQXJyYXkpO1xuICB9IGVsc2Uge1xuICAgIC8vIGBkaXJ0eURhdGVzQXJyYXlgIGlzIG5vbi1pdGVyYWJsZSwgcmV0dXJuIEludmFsaWQgRGF0ZVxuICAgIHJldHVybiBuZXcgRGF0ZShOYU4pO1xuICB9XG5cbiAgdmFyIHJlc3VsdDtcbiAgZGF0ZXNBcnJheS5mb3JFYWNoKGZ1bmN0aW9uIChkaXJ0eURhdGUpIHtcbiAgICB2YXIgY3VycmVudERhdGUgPSB0b0RhdGUoZGlydHlEYXRlKTtcblxuICAgIGlmIChyZXN1bHQgPT09IHVuZGVmaW5lZCB8fCByZXN1bHQgPiBjdXJyZW50RGF0ZSB8fCBpc05hTihjdXJyZW50RGF0ZSkpIHtcbiAgICAgIHJlc3VsdCA9IGN1cnJlbnREYXRlO1xuICAgIH1cbiAgfSk7XG4gIHJldHVybiByZXN1bHQgfHwgbmV3IERhdGUoTmFOKTtcbn0iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/min/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/parse/_lib/parsers/index.js": /*!***************************************************************!*\ !*** ./node_modules/date-fns/esm/parse/_lib/parsers/index.js ***! \***************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _lib_getUTCWeekYear_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../_lib/getUTCWeekYear/index.js */ \"./node_modules/date-fns/esm/_lib/getUTCWeekYear/index.js\");\n/* harmony import */ var _lib_setUTCDay_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../_lib/setUTCDay/index.js */ \"./node_modules/date-fns/esm/_lib/setUTCDay/index.js\");\n/* harmony import */ var _lib_setUTCISODay_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../_lib/setUTCISODay/index.js */ \"./node_modules/date-fns/esm/_lib/setUTCISODay/index.js\");\n/* harmony import */ var _lib_setUTCISOWeek_index_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../_lib/setUTCISOWeek/index.js */ \"./node_modules/date-fns/esm/_lib/setUTCISOWeek/index.js\");\n/* harmony import */ var _lib_setUTCWeek_index_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../_lib/setUTCWeek/index.js */ \"./node_modules/date-fns/esm/_lib/setUTCWeek/index.js\");\n/* harmony import */ var _lib_startOfUTCISOWeek_index_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../_lib/startOfUTCISOWeek/index.js */ \"./node_modules/date-fns/esm/_lib/startOfUTCISOWeek/index.js\");\n/* harmony import */ var _lib_startOfUTCWeek_index_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../_lib/startOfUTCWeek/index.js */ \"./node_modules/date-fns/esm/_lib/startOfUTCWeek/index.js\");\n\n\n\n\n\n\n\nvar MILLISECONDS_IN_HOUR = 3600000;\nvar MILLISECONDS_IN_MINUTE = 60000;\nvar MILLISECONDS_IN_SECOND = 1000;\nvar numericPatterns = {\n month: /^(1[0-2]|0?\\d)/,\n // 0 to 12\n date: /^(3[0-1]|[0-2]?\\d)/,\n // 0 to 31\n dayOfYear: /^(36[0-6]|3[0-5]\\d|[0-2]?\\d?\\d)/,\n // 0 to 366\n week: /^(5[0-3]|[0-4]?\\d)/,\n // 0 to 53\n hour23h: /^(2[0-3]|[0-1]?\\d)/,\n // 0 to 23\n hour24h: /^(2[0-4]|[0-1]?\\d)/,\n // 0 to 24\n hour11h: /^(1[0-1]|0?\\d)/,\n // 0 to 11\n hour12h: /^(1[0-2]|0?\\d)/,\n // 0 to 12\n minute: /^[0-5]?\\d/,\n // 0 to 59\n second: /^[0-5]?\\d/,\n // 0 to 59\n singleDigit: /^\\d/,\n // 0 to 9\n twoDigits: /^\\d{1,2}/,\n // 0 to 99\n threeDigits: /^\\d{1,3}/,\n // 0 to 999\n fourDigits: /^\\d{1,4}/,\n // 0 to 9999\n anyDigitsSigned: /^-?\\d+/,\n singleDigitSigned: /^-?\\d/,\n // 0 to 9, -0 to -9\n twoDigitsSigned: /^-?\\d{1,2}/,\n // 0 to 99, -0 to -99\n threeDigitsSigned: /^-?\\d{1,3}/,\n // 0 to 999, -0 to -999\n fourDigitsSigned: /^-?\\d{1,4}/ // 0 to 9999, -0 to -9999\n\n};\nvar timezonePatterns = {\n basicOptionalMinutes: /^([+-])(\\d{2})(\\d{2})?|Z/,\n basic: /^([+-])(\\d{2})(\\d{2})|Z/,\n basicOptionalSeconds: /^([+-])(\\d{2})(\\d{2})((\\d{2}))?|Z/,\n extended: /^([+-])(\\d{2}):(\\d{2})|Z/,\n extendedOptionalSeconds: /^([+-])(\\d{2}):(\\d{2})(:(\\d{2}))?|Z/\n};\n\nfunction parseNumericPattern(pattern, string, valueCallback) {\n var matchResult = string.match(pattern);\n\n if (!matchResult) {\n return null;\n }\n\n var value = parseInt(matchResult[0], 10);\n return {\n value: valueCallback ? valueCallback(value) : value,\n rest: string.slice(matchResult[0].length)\n };\n}\n\nfunction parseTimezonePattern(pattern, string) {\n var matchResult = string.match(pattern);\n\n if (!matchResult) {\n return null;\n } // Input is 'Z'\n\n\n if (matchResult[0] === 'Z') {\n return {\n value: 0,\n rest: string.slice(1)\n };\n }\n\n var sign = matchResult[1] === '+' ? 1 : -1;\n var hours = matchResult[2] ? parseInt(matchResult[2], 10) : 0;\n var minutes = matchResult[3] ? parseInt(matchResult[3], 10) : 0;\n var seconds = matchResult[5] ? parseInt(matchResult[5], 10) : 0;\n return {\n value: sign * (hours * MILLISECONDS_IN_HOUR + minutes * MILLISECONDS_IN_MINUTE + seconds * MILLISECONDS_IN_SECOND),\n rest: string.slice(matchResult[0].length)\n };\n}\n\nfunction parseAnyDigitsSigned(string, valueCallback) {\n return parseNumericPattern(numericPatterns.anyDigitsSigned, string, valueCallback);\n}\n\nfunction parseNDigits(n, string, valueCallback) {\n switch (n) {\n case 1:\n return parseNumericPattern(numericPatterns.singleDigit, string, valueCallback);\n\n case 2:\n return parseNumericPattern(numericPatterns.twoDigits, string, valueCallback);\n\n case 3:\n return parseNumericPattern(numericPatterns.threeDigits, string, valueCallback);\n\n case 4:\n return parseNumericPattern(numericPatterns.fourDigits, string, valueCallback);\n\n default:\n return parseNumericPattern(new RegExp('^\\\\d{1,' + n + '}'), string, valueCallback);\n }\n}\n\nfunction parseNDigitsSigned(n, string, valueCallback) {\n switch (n) {\n case 1:\n return parseNumericPattern(numericPatterns.singleDigitSigned, string, valueCallback);\n\n case 2:\n return parseNumericPattern(numericPatterns.twoDigitsSigned, string, valueCallback);\n\n case 3:\n return parseNumericPattern(numericPatterns.threeDigitsSigned, string, valueCallback);\n\n case 4:\n return parseNumericPattern(numericPatterns.fourDigitsSigned, string, valueCallback);\n\n default:\n return parseNumericPattern(new RegExp('^-?\\\\d{1,' + n + '}'), string, valueCallback);\n }\n}\n\nfunction dayPeriodEnumToHours(enumValue) {\n switch (enumValue) {\n case 'morning':\n return 4;\n\n case 'evening':\n return 17;\n\n case 'pm':\n case 'noon':\n case 'afternoon':\n return 12;\n\n case 'am':\n case 'midnight':\n case 'night':\n default:\n return 0;\n }\n}\n\nfunction normalizeTwoDigitYear(twoDigitYear, currentYear) {\n var isCommonEra = currentYear > 0; // Absolute number of the current year:\n // 1 -> 1 AC\n // 0 -> 1 BC\n // -1 -> 2 BC\n\n var absCurrentYear = isCommonEra ? currentYear : 1 - currentYear;\n var result;\n\n if (absCurrentYear <= 50) {\n result = twoDigitYear || 100;\n } else {\n var rangeEnd = absCurrentYear + 50;\n var rangeEndCentury = Math.floor(rangeEnd / 100) * 100;\n var isPreviousCentury = twoDigitYear >= rangeEnd % 100;\n result = twoDigitYear + rangeEndCentury - (isPreviousCentury ? 100 : 0);\n }\n\n return isCommonEra ? result : 1 - result;\n}\n\nvar DAYS_IN_MONTH = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\nvar DAYS_IN_MONTH_LEAP_YEAR = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; // User for validation\n\nfunction isLeapYearIndex(year) {\n return year % 400 === 0 || year % 4 === 0 && year % 100 !== 0;\n}\n/*\n * | | Unit | | Unit |\n * |-----|--------------------------------|-----|--------------------------------|\n * | a | AM, PM | A* | Milliseconds in day |\n * | b | AM, PM, noon, midnight | B | Flexible day period |\n * | c | Stand-alone local day of week | C* | Localized hour w/ day period |\n * | d | Day of month | D | Day of year |\n * | e | Local day of week | E | Day of week |\n * | f | | F* | Day of week in month |\n * | g* | Modified Julian day | G | Era |\n * | h | Hour [1-12] | H | Hour [0-23] |\n * | i! | ISO day of week | I! | ISO week of year |\n * | j* | Localized hour w/ day period | J* | Localized hour w/o day period |\n * | k | Hour [1-24] | K | Hour [0-11] |\n * | l* | (deprecated) | L | Stand-alone month |\n * | m | Minute | M | Month |\n * | n | | N | |\n * | o! | Ordinal number modifier | O* | Timezone (GMT) |\n * | p | | P | |\n * | q | Stand-alone quarter | Q | Quarter |\n * | r* | Related Gregorian year | R! | ISO week-numbering year |\n * | s | Second | S | Fraction of second |\n * | t! | Seconds timestamp | T! | Milliseconds timestamp |\n * | u | Extended year | U* | Cyclic year |\n * | v* | Timezone (generic non-locat.) | V* | Timezone (location) |\n * | w | Local week of year | W* | Week of month |\n * | x | Timezone (ISO-8601 w/o Z) | X | Timezone (ISO-8601) |\n * | y | Year (abs) | Y | Local week-numbering year |\n * | z* | Timezone (specific non-locat.) | Z* | Timezone (aliases) |\n *\n * Letters marked by * are not implemented but reserved by Unicode standard.\n *\n * Letters marked by ! are non-standard, but implemented by date-fns:\n * - `o` modifies the previous token to turn it into an ordinal (see `parse` docs)\n * - `i` is ISO day of week. For `i` and `ii` is returns numeric ISO week days,\n * i.e. 7 for Sunday, 1 for Monday, etc.\n * - `I` is ISO week of year, as opposed to `w` which is local week of year.\n * - `R` is ISO week-numbering year, as opposed to `Y` which is local week-numbering year.\n * `R` is supposed to be used in conjunction with `I` and `i`\n * for universal ISO week-numbering date, whereas\n * `Y` is supposed to be used in conjunction with `w` and `e`\n * for week-numbering date specific to the locale.\n */\n\n\nvar parsers = {\n // Era\n G: {\n priority: 140,\n parse: function (string, token, match, _options) {\n switch (token) {\n // AD, BC\n case 'G':\n case 'GG':\n case 'GGG':\n return match.era(string, {\n width: 'abbreviated'\n }) || match.era(string, {\n width: 'narrow'\n });\n // A, B\n\n case 'GGGGG':\n return match.era(string, {\n width: 'narrow'\n });\n // Anno Domini, Before Christ\n\n case 'GGGG':\n default:\n return match.era(string, {\n width: 'wide'\n }) || match.era(string, {\n width: 'abbreviated'\n }) || match.era(string, {\n width: 'narrow'\n });\n }\n },\n set: function (date, flags, value, _options) {\n flags.era = value;\n date.setUTCFullYear(value, 0, 1);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n },\n incompatibleTokens: ['R', 'u', 't', 'T']\n },\n // Year\n y: {\n // From http://www.unicode.org/reports/tr35/tr35-31/tr35-dates.html#Date_Format_Patterns\n // | Year | y | yy | yyy | yyyy | yyyyy |\n // |----------|-------|----|-------|-------|-------|\n // | AD 1 | 1 | 01 | 001 | 0001 | 00001 |\n // | AD 12 | 12 | 12 | 012 | 0012 | 00012 |\n // | AD 123 | 123 | 23 | 123 | 0123 | 00123 |\n // | AD 1234 | 1234 | 34 | 1234 | 1234 | 01234 |\n // | AD 12345 | 12345 | 45 | 12345 | 12345 | 12345 |\n priority: 130,\n parse: function (string, token, match, _options) {\n var valueCallback = function (year) {\n return {\n year: year,\n isTwoDigitYear: token === 'yy'\n };\n };\n\n switch (token) {\n case 'y':\n return parseNDigits(4, string, valueCallback);\n\n case 'yo':\n return match.ordinalNumber(string, {\n unit: 'year',\n valueCallback: valueCallback\n });\n\n default:\n return parseNDigits(token.length, string, valueCallback);\n }\n },\n validate: function (_date, value, _options) {\n return value.isTwoDigitYear || value.year > 0;\n },\n set: function (date, flags, value, _options) {\n var currentYear = date.getUTCFullYear();\n\n if (value.isTwoDigitYear) {\n var normalizedTwoDigitYear = normalizeTwoDigitYear(value.year, currentYear);\n date.setUTCFullYear(normalizedTwoDigitYear, 0, 1);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n }\n\n var year = !('era' in flags) || flags.era === 1 ? value.year : 1 - value.year;\n date.setUTCFullYear(year, 0, 1);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n },\n incompatibleTokens: ['Y', 'R', 'u', 'w', 'I', 'i', 'e', 'c', 't', 'T']\n },\n // Local week-numbering year\n Y: {\n priority: 130,\n parse: function (string, token, match, _options) {\n var valueCallback = function (year) {\n return {\n year: year,\n isTwoDigitYear: token === 'YY'\n };\n };\n\n switch (token) {\n case 'Y':\n return parseNDigits(4, string, valueCallback);\n\n case 'Yo':\n return match.ordinalNumber(string, {\n unit: 'year',\n valueCallback: valueCallback\n });\n\n default:\n return parseNDigits(token.length, string, valueCallback);\n }\n },\n validate: function (_date, value, _options) {\n return value.isTwoDigitYear || value.year > 0;\n },\n set: function (date, flags, value, options) {\n var currentYear = Object(_lib_getUTCWeekYear_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(date, options);\n\n if (value.isTwoDigitYear) {\n var normalizedTwoDigitYear = normalizeTwoDigitYear(value.year, currentYear);\n date.setUTCFullYear(normalizedTwoDigitYear, 0, options.firstWeekContainsDate);\n date.setUTCHours(0, 0, 0, 0);\n return Object(_lib_startOfUTCWeek_index_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(date, options);\n }\n\n var year = !('era' in flags) || flags.era === 1 ? value.year : 1 - value.year;\n date.setUTCFullYear(year, 0, options.firstWeekContainsDate);\n date.setUTCHours(0, 0, 0, 0);\n return Object(_lib_startOfUTCWeek_index_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(date, options);\n },\n incompatibleTokens: ['y', 'R', 'u', 'Q', 'q', 'M', 'L', 'I', 'd', 'D', 'i', 't', 'T']\n },\n // ISO week-numbering year\n R: {\n priority: 130,\n parse: function (string, token, _match, _options) {\n if (token === 'R') {\n return parseNDigitsSigned(4, string);\n }\n\n return parseNDigitsSigned(token.length, string);\n },\n set: function (_date, _flags, value, _options) {\n var firstWeekOfYear = new Date(0);\n firstWeekOfYear.setUTCFullYear(value, 0, 4);\n firstWeekOfYear.setUTCHours(0, 0, 0, 0);\n return Object(_lib_startOfUTCISOWeek_index_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(firstWeekOfYear);\n },\n incompatibleTokens: ['G', 'y', 'Y', 'u', 'Q', 'q', 'M', 'L', 'w', 'd', 'D', 'e', 'c', 't', 'T']\n },\n // Extended year\n u: {\n priority: 130,\n parse: function (string, token, _match, _options) {\n if (token === 'u') {\n return parseNDigitsSigned(4, string);\n }\n\n return parseNDigitsSigned(token.length, string);\n },\n set: function (date, _flags, value, _options) {\n date.setUTCFullYear(value, 0, 1);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n },\n incompatibleTokens: ['G', 'y', 'Y', 'R', 'w', 'I', 'i', 'e', 'c', 't', 'T']\n },\n // Quarter\n Q: {\n priority: 120,\n parse: function (string, token, match, _options) {\n switch (token) {\n // 1, 2, 3, 4\n case 'Q':\n case 'QQ':\n // 01, 02, 03, 04\n return parseNDigits(token.length, string);\n // 1st, 2nd, 3rd, 4th\n\n case 'Qo':\n return match.ordinalNumber(string, {\n unit: 'quarter'\n });\n // Q1, Q2, Q3, Q4\n\n case 'QQQ':\n return match.quarter(string, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.quarter(string, {\n width: 'narrow',\n context: 'formatting'\n });\n // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n\n case 'QQQQQ':\n return match.quarter(string, {\n width: 'narrow',\n context: 'formatting'\n });\n // 1st quarter, 2nd quarter, ...\n\n case 'QQQQ':\n default:\n return match.quarter(string, {\n width: 'wide',\n context: 'formatting'\n }) || match.quarter(string, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.quarter(string, {\n width: 'narrow',\n context: 'formatting'\n });\n }\n },\n validate: function (_date, value, _options) {\n return value >= 1 && value <= 4;\n },\n set: function (date, _flags, value, _options) {\n date.setUTCMonth((value - 1) * 3, 1);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n },\n incompatibleTokens: ['Y', 'R', 'q', 'M', 'L', 'w', 'I', 'd', 'D', 'i', 'e', 'c', 't', 'T']\n },\n // Stand-alone quarter\n q: {\n priority: 120,\n parse: function (string, token, match, _options) {\n switch (token) {\n // 1, 2, 3, 4\n case 'q':\n case 'qq':\n // 01, 02, 03, 04\n return parseNDigits(token.length, string);\n // 1st, 2nd, 3rd, 4th\n\n case 'qo':\n return match.ordinalNumber(string, {\n unit: 'quarter'\n });\n // Q1, Q2, Q3, Q4\n\n case 'qqq':\n return match.quarter(string, {\n width: 'abbreviated',\n context: 'standalone'\n }) || match.quarter(string, {\n width: 'narrow',\n context: 'standalone'\n });\n // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n\n case 'qqqqq':\n return match.quarter(string, {\n width: 'narrow',\n context: 'standalone'\n });\n // 1st quarter, 2nd quarter, ...\n\n case 'qqqq':\n default:\n return match.quarter(string, {\n width: 'wide',\n context: 'standalone'\n }) || match.quarter(string, {\n width: 'abbreviated',\n context: 'standalone'\n }) || match.quarter(string, {\n width: 'narrow',\n context: 'standalone'\n });\n }\n },\n validate: function (_date, value, _options) {\n return value >= 1 && value <= 4;\n },\n set: function (date, _flags, value, _options) {\n date.setUTCMonth((value - 1) * 3, 1);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n },\n incompatibleTokens: ['Y', 'R', 'Q', 'M', 'L', 'w', 'I', 'd', 'D', 'i', 'e', 'c', 't', 'T']\n },\n // Month\n M: {\n priority: 110,\n parse: function (string, token, match, _options) {\n var valueCallback = function (value) {\n return value - 1;\n };\n\n switch (token) {\n // 1, 2, ..., 12\n case 'M':\n return parseNumericPattern(numericPatterns.month, string, valueCallback);\n // 01, 02, ..., 12\n\n case 'MM':\n return parseNDigits(2, string, valueCallback);\n // 1st, 2nd, ..., 12th\n\n case 'Mo':\n return match.ordinalNumber(string, {\n unit: 'month',\n valueCallback: valueCallback\n });\n // Jan, Feb, ..., Dec\n\n case 'MMM':\n return match.month(string, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.month(string, {\n width: 'narrow',\n context: 'formatting'\n });\n // J, F, ..., D\n\n case 'MMMMM':\n return match.month(string, {\n width: 'narrow',\n context: 'formatting'\n });\n // January, February, ..., December\n\n case 'MMMM':\n default:\n return match.month(string, {\n width: 'wide',\n context: 'formatting'\n }) || match.month(string, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.month(string, {\n width: 'narrow',\n context: 'formatting'\n });\n }\n },\n validate: function (_date, value, _options) {\n return value >= 0 && value <= 11;\n },\n set: function (date, _flags, value, _options) {\n date.setUTCMonth(value, 1);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n },\n incompatibleTokens: ['Y', 'R', 'q', 'Q', 'L', 'w', 'I', 'D', 'i', 'e', 'c', 't', 'T']\n },\n // Stand-alone month\n L: {\n priority: 110,\n parse: function (string, token, match, _options) {\n var valueCallback = function (value) {\n return value - 1;\n };\n\n switch (token) {\n // 1, 2, ..., 12\n case 'L':\n return parseNumericPattern(numericPatterns.month, string, valueCallback);\n // 01, 02, ..., 12\n\n case 'LL':\n return parseNDigits(2, string, valueCallback);\n // 1st, 2nd, ..., 12th\n\n case 'Lo':\n return match.ordinalNumber(string, {\n unit: 'month',\n valueCallback: valueCallback\n });\n // Jan, Feb, ..., Dec\n\n case 'LLL':\n return match.month(string, {\n width: 'abbreviated',\n context: 'standalone'\n }) || match.month(string, {\n width: 'narrow',\n context: 'standalone'\n });\n // J, F, ..., D\n\n case 'LLLLL':\n return match.month(string, {\n width: 'narrow',\n context: 'standalone'\n });\n // January, February, ..., December\n\n case 'LLLL':\n default:\n return match.month(string, {\n width: 'wide',\n context: 'standalone'\n }) || match.month(string, {\n width: 'abbreviated',\n context: 'standalone'\n }) || match.month(string, {\n width: 'narrow',\n context: 'standalone'\n });\n }\n },\n validate: function (_date, value, _options) {\n return value >= 0 && value <= 11;\n },\n set: function (date, _flags, value, _options) {\n date.setUTCMonth(value, 1);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n },\n incompatibleTokens: ['Y', 'R', 'q', 'Q', 'M', 'w', 'I', 'D', 'i', 'e', 'c', 't', 'T']\n },\n // Local week of year\n w: {\n priority: 100,\n parse: function (string, token, match, _options) {\n switch (token) {\n case 'w':\n return parseNumericPattern(numericPatterns.week, string);\n\n case 'wo':\n return match.ordinalNumber(string, {\n unit: 'week'\n });\n\n default:\n return parseNDigits(token.length, string);\n }\n },\n validate: function (_date, value, _options) {\n return value >= 1 && value <= 53;\n },\n set: function (date, _flags, value, options) {\n return Object(_lib_startOfUTCWeek_index_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(Object(_lib_setUTCWeek_index_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(date, value, options), options);\n },\n incompatibleTokens: ['y', 'R', 'u', 'q', 'Q', 'M', 'L', 'I', 'd', 'D', 'i', 't', 'T']\n },\n // ISO week of year\n I: {\n priority: 100,\n parse: function (string, token, match, _options) {\n switch (token) {\n case 'I':\n return parseNumericPattern(numericPatterns.week, string);\n\n case 'Io':\n return match.ordinalNumber(string, {\n unit: 'week'\n });\n\n default:\n return parseNDigits(token.length, string);\n }\n },\n validate: function (_date, value, _options) {\n return value >= 1 && value <= 53;\n },\n set: function (date, _flags, value, options) {\n return Object(_lib_startOfUTCISOWeek_index_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(Object(_lib_setUTCISOWeek_index_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(date, value, options), options);\n },\n incompatibleTokens: ['y', 'Y', 'u', 'q', 'Q', 'M', 'L', 'w', 'd', 'D', 'e', 'c', 't', 'T']\n },\n // Day of the month\n d: {\n priority: 90,\n parse: function (string, token, match, _options) {\n switch (token) {\n case 'd':\n return parseNumericPattern(numericPatterns.date, string);\n\n case 'do':\n return match.ordinalNumber(string, {\n unit: 'date'\n });\n\n default:\n return parseNDigits(token.length, string);\n }\n },\n validate: function (date, value, _options) {\n var year = date.getUTCFullYear();\n var isLeapYear = isLeapYearIndex(year);\n var month = date.getUTCMonth();\n\n if (isLeapYear) {\n return value >= 1 && value <= DAYS_IN_MONTH_LEAP_YEAR[month];\n } else {\n return value >= 1 && value <= DAYS_IN_MONTH[month];\n }\n },\n set: function (date, _flags, value, _options) {\n date.setUTCDate(value);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n },\n incompatibleTokens: ['Y', 'R', 'q', 'Q', 'w', 'I', 'D', 'i', 'e', 'c', 't', 'T']\n },\n // Day of year\n D: {\n priority: 90,\n parse: function (string, token, match, _options) {\n switch (token) {\n case 'D':\n case 'DD':\n return parseNumericPattern(numericPatterns.dayOfYear, string);\n\n case 'Do':\n return match.ordinalNumber(string, {\n unit: 'date'\n });\n\n default:\n return parseNDigits(token.length, string);\n }\n },\n validate: function (date, value, _options) {\n var year = date.getUTCFullYear();\n var isLeapYear = isLeapYearIndex(year);\n\n if (isLeapYear) {\n return value >= 1 && value <= 366;\n } else {\n return value >= 1 && value <= 365;\n }\n },\n set: function (date, _flags, value, _options) {\n date.setUTCMonth(0, value);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n },\n incompatibleTokens: ['Y', 'R', 'q', 'Q', 'M', 'L', 'w', 'I', 'd', 'E', 'i', 'e', 'c', 't', 'T']\n },\n // Day of week\n E: {\n priority: 90,\n parse: function (string, token, match, _options) {\n switch (token) {\n // Tue\n case 'E':\n case 'EE':\n case 'EEE':\n return match.day(string, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.day(string, {\n width: 'short',\n context: 'formatting'\n }) || match.day(string, {\n width: 'narrow',\n context: 'formatting'\n });\n // T\n\n case 'EEEEE':\n return match.day(string, {\n width: 'narrow',\n context: 'formatting'\n });\n // Tu\n\n case 'EEEEEE':\n return match.day(string, {\n width: 'short',\n context: 'formatting'\n }) || match.day(string, {\n width: 'narrow',\n context: 'formatting'\n });\n // Tuesday\n\n case 'EEEE':\n default:\n return match.day(string, {\n width: 'wide',\n context: 'formatting'\n }) || match.day(string, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.day(string, {\n width: 'short',\n context: 'formatting'\n }) || match.day(string, {\n width: 'narrow',\n context: 'formatting'\n });\n }\n },\n validate: function (_date, value, _options) {\n return value >= 0 && value <= 6;\n },\n set: function (date, _flags, value, options) {\n date = Object(_lib_setUTCDay_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(date, value, options);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n },\n incompatibleTokens: ['D', 'i', 'e', 'c', 't', 'T']\n },\n // Local day of week\n e: {\n priority: 90,\n parse: function (string, token, match, options) {\n var valueCallback = function (value) {\n var wholeWeekDays = Math.floor((value - 1) / 7) * 7;\n return (value + options.weekStartsOn + 6) % 7 + wholeWeekDays;\n };\n\n switch (token) {\n // 3\n case 'e':\n case 'ee':\n // 03\n return parseNDigits(token.length, string, valueCallback);\n // 3rd\n\n case 'eo':\n return match.ordinalNumber(string, {\n unit: 'day',\n valueCallback: valueCallback\n });\n // Tue\n\n case 'eee':\n return match.day(string, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.day(string, {\n width: 'short',\n context: 'formatting'\n }) || match.day(string, {\n width: 'narrow',\n context: 'formatting'\n });\n // T\n\n case 'eeeee':\n return match.day(string, {\n width: 'narrow',\n context: 'formatting'\n });\n // Tu\n\n case 'eeeeee':\n return match.day(string, {\n width: 'short',\n context: 'formatting'\n }) || match.day(string, {\n width: 'narrow',\n context: 'formatting'\n });\n // Tuesday\n\n case 'eeee':\n default:\n return match.day(string, {\n width: 'wide',\n context: 'formatting'\n }) || match.day(string, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.day(string, {\n width: 'short',\n context: 'formatting'\n }) || match.day(string, {\n width: 'narrow',\n context: 'formatting'\n });\n }\n },\n validate: function (_date, value, _options) {\n return value >= 0 && value <= 6;\n },\n set: function (date, _flags, value, options) {\n date = Object(_lib_setUTCDay_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(date, value, options);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n },\n incompatibleTokens: ['y', 'R', 'u', 'q', 'Q', 'M', 'L', 'I', 'd', 'D', 'E', 'i', 'c', 't', 'T']\n },\n // Stand-alone local day of week\n c: {\n priority: 90,\n parse: function (string, token, match, options) {\n var valueCallback = function (value) {\n var wholeWeekDays = Math.floor((value - 1) / 7) * 7;\n return (value + options.weekStartsOn + 6) % 7 + wholeWeekDays;\n };\n\n switch (token) {\n // 3\n case 'c':\n case 'cc':\n // 03\n return parseNDigits(token.length, string, valueCallback);\n // 3rd\n\n case 'co':\n return match.ordinalNumber(string, {\n unit: 'day',\n valueCallback: valueCallback\n });\n // Tue\n\n case 'ccc':\n return match.day(string, {\n width: 'abbreviated',\n context: 'standalone'\n }) || match.day(string, {\n width: 'short',\n context: 'standalone'\n }) || match.day(string, {\n width: 'narrow',\n context: 'standalone'\n });\n // T\n\n case 'ccccc':\n return match.day(string, {\n width: 'narrow',\n context: 'standalone'\n });\n // Tu\n\n case 'cccccc':\n return match.day(string, {\n width: 'short',\n context: 'standalone'\n }) || match.day(string, {\n width: 'narrow',\n context: 'standalone'\n });\n // Tuesday\n\n case 'cccc':\n default:\n return match.day(string, {\n width: 'wide',\n context: 'standalone'\n }) || match.day(string, {\n width: 'abbreviated',\n context: 'standalone'\n }) || match.day(string, {\n width: 'short',\n context: 'standalone'\n }) || match.day(string, {\n width: 'narrow',\n context: 'standalone'\n });\n }\n },\n validate: function (_date, value, _options) {\n return value >= 0 && value <= 6;\n },\n set: function (date, _flags, value, options) {\n date = Object(_lib_setUTCDay_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(date, value, options);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n },\n incompatibleTokens: ['y', 'R', 'u', 'q', 'Q', 'M', 'L', 'I', 'd', 'D', 'E', 'i', 'e', 't', 'T']\n },\n // ISO day of week\n i: {\n priority: 90,\n parse: function (string, token, match, _options) {\n var valueCallback = function (value) {\n if (value === 0) {\n return 7;\n }\n\n return value;\n };\n\n switch (token) {\n // 2\n case 'i':\n case 'ii':\n // 02\n return parseNDigits(token.length, string);\n // 2nd\n\n case 'io':\n return match.ordinalNumber(string, {\n unit: 'day'\n });\n // Tue\n\n case 'iii':\n return match.day(string, {\n width: 'abbreviated',\n context: 'formatting',\n valueCallback: valueCallback\n }) || match.day(string, {\n width: 'short',\n context: 'formatting',\n valueCallback: valueCallback\n }) || match.day(string, {\n width: 'narrow',\n context: 'formatting',\n valueCallback: valueCallback\n });\n // T\n\n case 'iiiii':\n return match.day(string, {\n width: 'narrow',\n context: 'formatting',\n valueCallback: valueCallback\n });\n // Tu\n\n case 'iiiiii':\n return match.day(string, {\n width: 'short',\n context: 'formatting',\n valueCallback: valueCallback\n }) || match.day(string, {\n width: 'narrow',\n context: 'formatting',\n valueCallback: valueCallback\n });\n // Tuesday\n\n case 'iiii':\n default:\n return match.day(string, {\n width: 'wide',\n context: 'formatting',\n valueCallback: valueCallback\n }) || match.day(string, {\n width: 'abbreviated',\n context: 'formatting',\n valueCallback: valueCallback\n }) || match.day(string, {\n width: 'short',\n context: 'formatting',\n valueCallback: valueCallback\n }) || match.day(string, {\n width: 'narrow',\n context: 'formatting',\n valueCallback: valueCallback\n });\n }\n },\n validate: function (_date, value, _options) {\n return value >= 1 && value <= 7;\n },\n set: function (date, _flags, value, options) {\n date = Object(_lib_setUTCISODay_index_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(date, value, options);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n },\n incompatibleTokens: ['y', 'Y', 'u', 'q', 'Q', 'M', 'L', 'w', 'd', 'D', 'E', 'e', 'c', 't', 'T']\n },\n // AM or PM\n a: {\n priority: 80,\n parse: function (string, token, match, _options) {\n switch (token) {\n case 'a':\n case 'aa':\n case 'aaa':\n return match.dayPeriod(string, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.dayPeriod(string, {\n width: 'narrow',\n context: 'formatting'\n });\n\n case 'aaaaa':\n return match.dayPeriod(string, {\n width: 'narrow',\n context: 'formatting'\n });\n\n case 'aaaa':\n default:\n return match.dayPeriod(string, {\n width: 'wide',\n context: 'formatting'\n }) || match.dayPeriod(string, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.dayPeriod(string, {\n width: 'narrow',\n context: 'formatting'\n });\n }\n },\n set: function (date, _flags, value, _options) {\n date.setUTCHours(dayPeriodEnumToHours(value), 0, 0, 0);\n return date;\n },\n incompatibleTokens: ['b', 'B', 'H', 'K', 'k', 't', 'T']\n },\n // AM, PM, midnight\n b: {\n priority: 80,\n parse: function (string, token, match, _options) {\n switch (token) {\n case 'b':\n case 'bb':\n case 'bbb':\n return match.dayPeriod(string, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.dayPeriod(string, {\n width: 'narrow',\n context: 'formatting'\n });\n\n case 'bbbbb':\n return match.dayPeriod(string, {\n width: 'narrow',\n context: 'formatting'\n });\n\n case 'bbbb':\n default:\n return match.dayPeriod(string, {\n width: 'wide',\n context: 'formatting'\n }) || match.dayPeriod(string, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.dayPeriod(string, {\n width: 'narrow',\n context: 'formatting'\n });\n }\n },\n set: function (date, _flags, value, _options) {\n date.setUTCHours(dayPeriodEnumToHours(value), 0, 0, 0);\n return date;\n },\n incompatibleTokens: ['a', 'B', 'H', 'K', 'k', 't', 'T']\n },\n // in the morning, in the afternoon, in the evening, at night\n B: {\n priority: 80,\n parse: function (string, token, match, _options) {\n switch (token) {\n case 'B':\n case 'BB':\n case 'BBB':\n return match.dayPeriod(string, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.dayPeriod(string, {\n width: 'narrow',\n context: 'formatting'\n });\n\n case 'BBBBB':\n return match.dayPeriod(string, {\n width: 'narrow',\n context: 'formatting'\n });\n\n case 'BBBB':\n default:\n return match.dayPeriod(string, {\n width: 'wide',\n context: 'formatting'\n }) || match.dayPeriod(string, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.dayPeriod(string, {\n width: 'narrow',\n context: 'formatting'\n });\n }\n },\n set: function (date, _flags, value, _options) {\n date.setUTCHours(dayPeriodEnumToHours(value), 0, 0, 0);\n return date;\n },\n incompatibleTokens: ['a', 'b', 't', 'T']\n },\n // Hour [1-12]\n h: {\n priority: 70,\n parse: function (string, token, match, _options) {\n switch (token) {\n case 'h':\n return parseNumericPattern(numericPatterns.hour12h, string);\n\n case 'ho':\n return match.ordinalNumber(string, {\n unit: 'hour'\n });\n\n default:\n return parseNDigits(token.length, string);\n }\n },\n validate: function (_date, value, _options) {\n return value >= 1 && value <= 12;\n },\n set: function (date, _flags, value, _options) {\n var isPM = date.getUTCHours() >= 12;\n\n if (isPM && value < 12) {\n date.setUTCHours(value + 12, 0, 0, 0);\n } else if (!isPM && value === 12) {\n date.setUTCHours(0, 0, 0, 0);\n } else {\n date.setUTCHours(value, 0, 0, 0);\n }\n\n return date;\n },\n incompatibleTokens: ['H', 'K', 'k', 't', 'T']\n },\n // Hour [0-23]\n H: {\n priority: 70,\n parse: function (string, token, match, _options) {\n switch (token) {\n case 'H':\n return parseNumericPattern(numericPatterns.hour23h, string);\n\n case 'Ho':\n return match.ordinalNumber(string, {\n unit: 'hour'\n });\n\n default:\n return parseNDigits(token.length, string);\n }\n },\n validate: function (_date, value, _options) {\n return value >= 0 && value <= 23;\n },\n set: function (date, _flags, value, _options) {\n date.setUTCHours(value, 0, 0, 0);\n return date;\n },\n incompatibleTokens: ['a', 'b', 'h', 'K', 'k', 't', 'T']\n },\n // Hour [0-11]\n K: {\n priority: 70,\n parse: function (string, token, match, _options) {\n switch (token) {\n case 'K':\n return parseNumericPattern(numericPatterns.hour11h, string);\n\n case 'Ko':\n return match.ordinalNumber(string, {\n unit: 'hour'\n });\n\n default:\n return parseNDigits(token.length, string);\n }\n },\n validate: function (_date, value, _options) {\n return value >= 0 && value <= 11;\n },\n set: function (date, _flags, value, _options) {\n var isPM = date.getUTCHours() >= 12;\n\n if (isPM && value < 12) {\n date.setUTCHours(value + 12, 0, 0, 0);\n } else {\n date.setUTCHours(value, 0, 0, 0);\n }\n\n return date;\n },\n incompatibleTokens: ['a', 'b', 'h', 'H', 'k', 't', 'T']\n },\n // Hour [1-24]\n k: {\n priority: 70,\n parse: function (string, token, match, _options) {\n switch (token) {\n case 'k':\n return parseNumericPattern(numericPatterns.hour24h, string);\n\n case 'ko':\n return match.ordinalNumber(string, {\n unit: 'hour'\n });\n\n default:\n return parseNDigits(token.length, string);\n }\n },\n validate: function (_date, value, _options) {\n return value >= 1 && value <= 24;\n },\n set: function (date, _flags, value, _options) {\n var hours = value <= 24 ? value % 24 : value;\n date.setUTCHours(hours, 0, 0, 0);\n return date;\n },\n incompatibleTokens: ['a', 'b', 'h', 'H', 'K', 't', 'T']\n },\n // Minute\n m: {\n priority: 60,\n parse: function (string, token, match, _options) {\n switch (token) {\n case 'm':\n return parseNumericPattern(numericPatterns.minute, string);\n\n case 'mo':\n return match.ordinalNumber(string, {\n unit: 'minute'\n });\n\n default:\n return parseNDigits(token.length, string);\n }\n },\n validate: function (_date, value, _options) {\n return value >= 0 && value <= 59;\n },\n set: function (date, _flags, value, _options) {\n date.setUTCMinutes(value, 0, 0);\n return date;\n },\n incompatibleTokens: ['t', 'T']\n },\n // Second\n s: {\n priority: 50,\n parse: function (string, token, match, _options) {\n switch (token) {\n case 's':\n return parseNumericPattern(numericPatterns.second, string);\n\n case 'so':\n return match.ordinalNumber(string, {\n unit: 'second'\n });\n\n default:\n return parseNDigits(token.length, string);\n }\n },\n validate: function (_date, value, _options) {\n return value >= 0 && value <= 59;\n },\n set: function (date, _flags, value, _options) {\n date.setUTCSeconds(value, 0);\n return date;\n },\n incompatibleTokens: ['t', 'T']\n },\n // Fraction of second\n S: {\n priority: 30,\n parse: function (string, token, _match, _options) {\n var valueCallback = function (value) {\n return Math.floor(value * Math.pow(10, -token.length + 3));\n };\n\n return parseNDigits(token.length, string, valueCallback);\n },\n set: function (date, _flags, value, _options) {\n date.setUTCMilliseconds(value);\n return date;\n },\n incompatibleTokens: ['t', 'T']\n },\n // Timezone (ISO-8601. +00:00 is `'Z'`)\n X: {\n priority: 10,\n parse: function (string, token, _match, _options) {\n switch (token) {\n case 'X':\n return parseTimezonePattern(timezonePatterns.basicOptionalMinutes, string);\n\n case 'XX':\n return parseTimezonePattern(timezonePatterns.basic, string);\n\n case 'XXXX':\n return parseTimezonePattern(timezonePatterns.basicOptionalSeconds, string);\n\n case 'XXXXX':\n return parseTimezonePattern(timezonePatterns.extendedOptionalSeconds, string);\n\n case 'XXX':\n default:\n return parseTimezonePattern(timezonePatterns.extended, string);\n }\n },\n set: function (date, flags, value, _options) {\n if (flags.timestampIsSet) {\n return date;\n }\n\n return new Date(date.getTime() - value);\n },\n incompatibleTokens: ['t', 'T', 'x']\n },\n // Timezone (ISO-8601)\n x: {\n priority: 10,\n parse: function (string, token, _match, _options) {\n switch (token) {\n case 'x':\n return parseTimezonePattern(timezonePatterns.basicOptionalMinutes, string);\n\n case 'xx':\n return parseTimezonePattern(timezonePatterns.basic, string);\n\n case 'xxxx':\n return parseTimezonePattern(timezonePatterns.basicOptionalSeconds, string);\n\n case 'xxxxx':\n return parseTimezonePattern(timezonePatterns.extendedOptionalSeconds, string);\n\n case 'xxx':\n default:\n return parseTimezonePattern(timezonePatterns.extended, string);\n }\n },\n set: function (date, flags, value, _options) {\n if (flags.timestampIsSet) {\n return date;\n }\n\n return new Date(date.getTime() - value);\n },\n incompatibleTokens: ['t', 'T', 'X']\n },\n // Seconds timestamp\n t: {\n priority: 40,\n parse: function (string, _token, _match, _options) {\n return parseAnyDigitsSigned(string);\n },\n set: function (_date, _flags, value, _options) {\n return [new Date(value * 1000), {\n timestampIsSet: true\n }];\n },\n incompatibleTokens: '*'\n },\n // Milliseconds timestamp\n T: {\n priority: 20,\n parse: function (string, _token, _match, _options) {\n return parseAnyDigitsSigned(string);\n },\n set: function (_date, _flags, value, _options) {\n return [new Date(value), {\n timestampIsSet: true\n }];\n },\n incompatibleTokens: '*'\n }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (parsers);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL3BhcnNlL19saWIvcGFyc2Vycy9pbmRleC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9kYXRlLWZucy9lc20vcGFyc2UvX2xpYi9wYXJzZXJzL2luZGV4LmpzPzQ2NzgiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGdldFVUQ1dlZWtZZWFyIGZyb20gJy4uLy4uLy4uL19saWIvZ2V0VVRDV2Vla1llYXIvaW5kZXguanMnO1xuaW1wb3J0IHNldFVUQ0RheSBmcm9tICcuLi8uLi8uLi9fbGliL3NldFVUQ0RheS9pbmRleC5qcyc7XG5pbXBvcnQgc2V0VVRDSVNPRGF5IGZyb20gJy4uLy4uLy4uL19saWIvc2V0VVRDSVNPRGF5L2luZGV4LmpzJztcbmltcG9ydCBzZXRVVENJU09XZWVrIGZyb20gJy4uLy4uLy4uL19saWIvc2V0VVRDSVNPV2Vlay9pbmRleC5qcyc7XG5pbXBvcnQgc2V0VVRDV2VlayBmcm9tICcuLi8uLi8uLi9fbGliL3NldFVUQ1dlZWsvaW5kZXguanMnO1xuaW1wb3J0IHN0YXJ0T2ZVVENJU09XZWVrIGZyb20gJy4uLy4uLy4uL19saWIvc3RhcnRPZlVUQ0lTT1dlZWsvaW5kZXguanMnO1xuaW1wb3J0IHN0YXJ0T2ZVVENXZWVrIGZyb20gJy4uLy4uLy4uL19saWIvc3RhcnRPZlVUQ1dlZWsvaW5kZXguanMnO1xudmFyIE1JTExJU0VDT05EU19JTl9IT1VSID0gMzYwMDAwMDtcbnZhciBNSUxMSVNFQ09ORFNfSU5fTUlOVVRFID0gNjAwMDA7XG52YXIgTUlMTElTRUNPTkRTX0lOX1NFQ09ORCA9IDEwMDA7XG52YXIgbnVtZXJpY1BhdHRlcm5zID0ge1xuICBtb250aDogL14oMVswLTJdfDA/XFxkKS8sXG4gIC8vIDAgdG8gMTJcbiAgZGF0ZTogL14oM1swLTFdfFswLTJdP1xcZCkvLFxuICAvLyAwIHRvIDMxXG4gIGRheU9mWWVhcjogL14oMzZbMC02XXwzWzAtNV1cXGR8WzAtMl0/XFxkP1xcZCkvLFxuICAvLyAwIHRvIDM2NlxuICB3ZWVrOiAvXig1WzAtM118WzAtNF0/XFxkKS8sXG4gIC8vIDAgdG8gNTNcbiAgaG91cjIzaDogL14oMlswLTNdfFswLTFdP1xcZCkvLFxuICAvLyAwIHRvIDIzXG4gIGhvdXIyNGg6IC9eKDJbMC00XXxbMC0xXT9cXGQpLyxcbiAgLy8gMCB0byAyNFxuICBob3VyMTFoOiAvXigxWzAtMV18MD9cXGQpLyxcbiAgLy8gMCB0byAxMVxuICBob3VyMTJoOiAvXigxWzAtMl18MD9cXGQpLyxcbiAgLy8gMCB0byAxMlxuICBtaW51dGU6IC9eWzAtNV0/XFxkLyxcbiAgLy8gMCB0byA1OVxuICBzZWNvbmQ6IC9eWzAtNV0/XFxkLyxcbiAgLy8gMCB0byA1OVxuICBzaW5nbGVEaWdpdDogL15cXGQvLFxuICAvLyAwIHRvIDlcbiAgdHdvRGlnaXRzOiAvXlxcZHsxLDJ9LyxcbiAgLy8gMCB0byA5OVxuICB0aHJlZURpZ2l0czogL15cXGR7MSwzfS8sXG4gIC8vIDAgdG8gOTk5XG4gIGZvdXJEaWdpdHM6IC9eXFxkezEsNH0vLFxuICAvLyAwIHRvIDk5OTlcbiAgYW55RGlnaXRzU2lnbmVkOiAvXi0/XFxkKy8sXG4gIHNpbmdsZURpZ2l0U2lnbmVkOiAvXi0/XFxkLyxcbiAgLy8gMCB0byA5LCAtMCB0byAtOVxuICB0d29EaWdpdHNTaWduZWQ6IC9eLT9cXGR7MSwyfS8sXG4gIC8vIDAgdG8gOTksIC0wIHRvIC05OVxuICB0aHJlZURpZ2l0c1NpZ25lZDogL14tP1xcZHsxLDN9LyxcbiAgLy8gMCB0byA5OTksIC0wIHRvIC05OTlcbiAgZm91ckRpZ2l0c1NpZ25lZDogL14tP1xcZHsxLDR9LyAvLyAwIHRvIDk5OTksIC0wIHRvIC05OTk5XG5cbn07XG52YXIgdGltZXpvbmVQYXR0ZXJucyA9IHtcbiAgYmFzaWNPcHRpb25hbE1pbnV0ZXM6IC9eKFsrLV0pKFxcZHsyfSkoXFxkezJ9KT98Wi8sXG4gIGJhc2ljOiAvXihbKy1dKShcXGR7Mn0pKFxcZHsyfSl8Wi8sXG4gIGJhc2ljT3B0aW9uYWxTZWNvbmRzOiAvXihbKy1dKShcXGR7Mn0pKFxcZHsyfSkoKFxcZHsyfSkpP3xaLyxcbiAgZXh0ZW5kZWQ6IC9eKFsrLV0pKFxcZHsyfSk6KFxcZHsyfSl8Wi8sXG4gIGV4dGVuZGVkT3B0aW9uYWxTZWNvbmRzOiAvXihbKy1dKShcXGR7Mn0pOihcXGR7Mn0pKDooXFxkezJ9KSk/fFovXG59O1xuXG5mdW5jdGlvbiBwYXJzZU51bWVyaWNQYXR0ZXJuKHBhdHRlcm4sIHN0cmluZywgdmFsdWVDYWxsYmFjaykge1xuICB2YXIgbWF0Y2hSZXN1bHQgPSBzdHJpbmcubWF0Y2gocGF0dGVybik7XG5cbiAgaWYgKCFtYXRjaFJlc3VsdCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgdmFyIHZhbHVlID0gcGFyc2VJbnQobWF0Y2hSZXN1bHRbMF0sIDEwKTtcbiAgcmV0dXJuIHtcbiAgICB2YWx1ZTogdmFsdWVDYWxsYmFjayA/IHZhbHVlQ2FsbGJhY2sodmFsdWUpIDogdmFsdWUsXG4gICAgcmVzdDogc3RyaW5nLnNsaWNlKG1hdGNoUmVzdWx0WzBdLmxlbmd0aClcbiAgfTtcbn1cblxuZnVuY3Rpb24gcGFyc2VUaW1lem9uZVBhdHRlcm4ocGF0dGVybiwgc3RyaW5nKSB7XG4gIHZhciBtYXRjaFJlc3VsdCA9IHN0cmluZy5tYXRjaChwYXR0ZXJuKTtcblxuICBpZiAoIW1hdGNoUmVzdWx0KSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH0gLy8gSW5wdXQgaXMgJ1onXG5cblxuICBpZiAobWF0Y2hSZXN1bHRbMF0gPT09ICdaJykge1xuICAgIHJldHVybiB7XG4gICAgICB2YWx1ZTogMCxcbiAgICAgIHJlc3Q6IHN0cmluZy5zbGljZSgxKVxuICAgIH07XG4gIH1cblxuICB2YXIgc2lnbiA9IG1hdGNoUmVzdWx0WzFdID09PSAnKycgPyAxIDogLTE7XG4gIHZhciBob3VycyA9IG1hdGNoUmVzdWx0WzJdID8gcGFyc2VJbnQobWF0Y2hSZXN1bHRbMl0sIDEwKSA6IDA7XG4gIHZhciBtaW51dGVzID0gbWF0Y2hSZXN1bHRbM10gPyBwYXJzZUludChtYXRjaFJlc3VsdFszXSwgMTApIDogMDtcbiAgdmFyIHNlY29uZHMgPSBtYXRjaFJlc3VsdFs1XSA/IHBhcnNlSW50KG1hdGNoUmVzdWx0WzVdLCAxMCkgOiAwO1xuICByZXR1cm4ge1xuICAgIHZhbHVlOiBzaWduICogKGhvdXJzICogTUlMTElTRUNPTkRTX0lOX0hPVVIgKyBtaW51dGVzICogTUlMTElTRUNPTkRTX0lOX01JTlVURSArIHNlY29uZHMgKiBNSUxMSVNFQ09ORFNfSU5fU0VDT05EKSxcbiAgICByZXN0OiBzdHJpbmcuc2xpY2UobWF0Y2hSZXN1bHRbMF0ubGVuZ3RoKVxuICB9O1xufVxuXG5mdW5jdGlvbiBwYXJzZUFueURpZ2l0c1NpZ25lZChzdHJpbmcsIHZhbHVlQ2FsbGJhY2spIHtcbiAgcmV0dXJuIHBhcnNlTnVtZXJpY1BhdHRlcm4obnVtZXJpY1BhdHRlcm5zLmFueURpZ2l0c1NpZ25lZCwgc3RyaW5nLCB2YWx1ZUNhbGxiYWNrKTtcbn1cblxuZnVuY3Rpb24gcGFyc2VORGlnaXRzKG4sIHN0cmluZywgdmFsdWVDYWxsYmFjaykge1xuICBzd2l0Y2ggKG4pIHtcbiAgICBjYXNlIDE6XG4gICAgICByZXR1cm4gcGFyc2VOdW1lcmljUGF0dGVybihudW1lcmljUGF0dGVybnMuc2luZ2xlRGlnaXQsIHN0cmluZywgdmFsdWVDYWxsYmFjayk7XG5cbiAgICBjYXNlIDI6XG4gICAgICByZXR1cm4gcGFyc2VOdW1lcmljUGF0dGVybihudW1lcmljUGF0dGVybnMudHdvRGlnaXRzLCBzdHJpbmcsIHZhbHVlQ2FsbGJhY2spO1xuXG4gICAgY2FzZSAzOlxuICAgICAgcmV0dXJuIHBhcnNlTnVtZXJpY1BhdHRlcm4obnVtZXJpY1BhdHRlcm5zLnRocmVlRGlnaXRzLCBzdHJpbmcsIHZhbHVlQ2FsbGJhY2spO1xuXG4gICAgY2FzZSA0OlxuICAgICAgcmV0dXJuIHBhcnNlTnVtZXJpY1BhdHRlcm4obnVtZXJpY1BhdHRlcm5zLmZvdXJEaWdpdHMsIHN0cmluZywgdmFsdWVDYWxsYmFjayk7XG5cbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIHBhcnNlTnVtZXJpY1BhdHRlcm4obmV3IFJlZ0V4cCgnXlxcXFxkezEsJyArIG4gKyAnfScpLCBzdHJpbmcsIHZhbHVlQ2FsbGJhY2spO1xuICB9XG59XG5cbmZ1bmN0aW9uIHBhcnNlTkRpZ2l0c1NpZ25lZChuLCBzdHJpbmcsIHZhbHVlQ2FsbGJhY2spIHtcbiAgc3dpdGNoIChuKSB7XG4gICAgY2FzZSAxOlxuICAgICAgcmV0dXJuIHBhcnNlTnVtZXJpY1BhdHRlcm4obnVtZXJpY1BhdHRlcm5zLnNpbmdsZURpZ2l0U2lnbmVkLCBzdHJpbmcsIHZhbHVlQ2FsbGJhY2spO1xuXG4gICAgY2FzZSAyOlxuICAgICAgcmV0dXJuIHBhcnNlTnVtZXJpY1BhdHRlcm4obnVtZXJpY1BhdHRlcm5zLnR3b0RpZ2l0c1NpZ25lZCwgc3RyaW5nLCB2YWx1ZUNhbGxiYWNrKTtcblxuICAgIGNhc2UgMzpcbiAgICAgIHJldHVybiBwYXJzZU51bWVyaWNQYXR0ZXJuKG51bWVyaWNQYXR0ZXJucy50aHJlZURpZ2l0c1NpZ25lZCwgc3RyaW5nLCB2YWx1ZUNhbGxiYWNrKTtcblxuICAgIGNhc2UgNDpcbiAgICAgIHJldHVybiBwYXJzZU51bWVyaWNQYXR0ZXJuKG51bWVyaWNQYXR0ZXJucy5mb3VyRGlnaXRzU2lnbmVkLCBzdHJpbmcsIHZhbHVlQ2FsbGJhY2spO1xuXG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBwYXJzZU51bWVyaWNQYXR0ZXJuKG5ldyBSZWdFeHAoJ14tP1xcXFxkezEsJyArIG4gKyAnfScpLCBzdHJpbmcsIHZhbHVlQ2FsbGJhY2spO1xuICB9XG59XG5cbmZ1bmN0aW9uIGRheVBlcmlvZEVudW1Ub0hvdXJzKGVudW1WYWx1ZSkge1xuICBzd2l0Y2ggKGVudW1WYWx1ZSkge1xuICAgIGNhc2UgJ21vcm5pbmcnOlxuICAgICAgcmV0dXJuIDQ7XG5cbiAgICBjYXNlICdldmVuaW5nJzpcbiAgICAgIHJldHVybiAxNztcblxuICAgIGNhc2UgJ3BtJzpcbiAgICBjYXNlICdub29uJzpcbiAgICBjYXNlICdhZnRlcm5vb24nOlxuICAgICAgcmV0dXJuIDEyO1xuXG4gICAgY2FzZSAnYW0nOlxuICAgIGNhc2UgJ21pZG5pZ2h0JzpcbiAgICBjYXNlICduaWdodCc6XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiAwO1xuICB9XG59XG5cbmZ1bmN0aW9uIG5vcm1hbGl6ZVR3b0RpZ2l0WWVhcih0d29EaWdpdFllYXIsIGN1cnJlbnRZZWFyKSB7XG4gIHZhciBpc0NvbW1vbkVyYSA9IGN1cnJlbnRZZWFyID4gMDsgLy8gQWJzb2x1dGUgbnVtYmVyIG9mIHRoZSBjdXJyZW50IHllYXI6XG4gIC8vIDEgLT4gMSBBQ1xuICAvLyAwIC0+IDEgQkNcbiAgLy8gLTEgLT4gMiBCQ1xuXG4gIHZhciBhYnNDdXJyZW50WWVhciA9IGlzQ29tbW9uRXJhID8gY3VycmVudFllYXIgOiAxIC0gY3VycmVudFllYXI7XG4gIHZhciByZXN1bHQ7XG5cbiAgaWYgKGFic0N1cnJlbnRZZWFyIDw9IDUwKSB7XG4gICAgcmVzdWx0ID0gdHdvRGlnaXRZZWFyIHx8IDEwMDtcbiAgfSBlbHNlIHtcbiAgICB2YXIgcmFuZ2VFbmQgPSBhYnNDdXJyZW50WWVhciArIDUwO1xuICAgIHZhciByYW5nZUVuZENlbnR1cnkgPSBNYXRoLmZsb29yKHJhbmdlRW5kIC8gMTAwKSAqIDEwMDtcbiAgICB2YXIgaXNQcmV2aW91c0NlbnR1cnkgPSB0d29EaWdpdFllYXIgPj0gcmFuZ2VFbmQgJSAxMDA7XG4gICAgcmVzdWx0ID0gdHdvRGlnaXRZZWFyICsgcmFuZ2VFbmRDZW50dXJ5IC0gKGlzUHJldmlvdXNDZW50dXJ5ID8gMTAwIDogMCk7XG4gIH1cblxuICByZXR1cm4gaXNDb21tb25FcmEgPyByZXN1bHQgOiAxIC0gcmVzdWx0O1xufVxuXG52YXIgREFZU19JTl9NT05USCA9IFszMSwgMjgsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzEsIDMwLCAzMSwgMzAsIDMxXTtcbnZhciBEQVlTX0lOX01PTlRIX0xFQVBfWUVBUiA9IFszMSwgMjksIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzEsIDMwLCAzMSwgMzAsIDMxXTsgLy8gVXNlciBmb3IgdmFsaWRhdGlvblxuXG5mdW5jdGlvbiBpc0xlYXBZZWFySW5kZXgoeWVhcikge1xuICByZXR1cm4geWVhciAlIDQwMCA9PT0gMCB8fCB5ZWFyICUgNCA9PT0gMCAmJiB5ZWFyICUgMTAwICE9PSAwO1xufVxuLypcbiAqIHwgICAgIHwgVW5pdCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgIHwgVW5pdCAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcbiAqIHwtLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwtLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXxcbiAqIHwgIGEgIHwgQU0sIFBNICAgICAgICAgICAgICAgICAgICAgICAgIHwgIEEqIHwgTWlsbGlzZWNvbmRzIGluIGRheSAgICAgICAgICAgIHxcbiAqIHwgIGIgIHwgQU0sIFBNLCBub29uLCBtaWRuaWdodCAgICAgICAgIHwgIEIgIHwgRmxleGlibGUgZGF5IHBlcmlvZCAgICAgICAgICAgIHxcbiAqIHwgIGMgIHwgU3RhbmQtYWxvbmUgbG9jYWwgZGF5IG9mIHdlZWsgIHwgIEMqIHwgTG9jYWxpemVkIGhvdXIgdy8gZGF5IHBlcmlvZCAgIHxcbiAqIHwgIGQgIHwgRGF5IG9mIG1vbnRoICAgICAgICAgICAgICAgICAgIHwgIEQgIHwgRGF5IG9mIHllYXIgICAgICAgICAgICAgICAgICAgIHxcbiAqIHwgIGUgIHwgTG9jYWwgZGF5IG9mIHdlZWsgICAgICAgICAgICAgIHwgIEUgIHwgRGF5IG9mIHdlZWsgICAgICAgICAgICAgICAgICAgIHxcbiAqIHwgIGYgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIEYqIHwgRGF5IG9mIHdlZWsgaW4gbW9udGggICAgICAgICAgIHxcbiAqIHwgIGcqIHwgTW9kaWZpZWQgSnVsaWFuIGRheSAgICAgICAgICAgIHwgIEcgIHwgRXJhICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcbiAqIHwgIGggIHwgSG91ciBbMS0xMl0gICAgICAgICAgICAgICAgICAgIHwgIEggIHwgSG91ciBbMC0yM10gICAgICAgICAgICAgICAgICAgIHxcbiAqIHwgIGkhIHwgSVNPIGRheSBvZiB3ZWVrICAgICAgICAgICAgICAgIHwgIEkhIHwgSVNPIHdlZWsgb2YgeWVhciAgICAgICAgICAgICAgIHxcbiAqIHwgIGoqIHwgTG9jYWxpemVkIGhvdXIgdy8gZGF5IHBlcmlvZCAgIHwgIEoqIHwgTG9jYWxpemVkIGhvdXIgdy9vIGRheSBwZXJpb2QgIHxcbiAqIHwgIGsgIHwgSG91ciBbMS0yNF0gICAgICAgICAgICAgICAgICAgIHwgIEsgIHwgSG91ciBbMC0xMV0gICAgICAgICAgICAgICAgICAgIHxcbiAqIHwgIGwqIHwgKGRlcHJlY2F0ZWQpICAgICAgICAgICAgICAgICAgIHwgIEwgIHwgU3RhbmQtYWxvbmUgbW9udGggICAgICAgICAgICAgIHxcbiAqIHwgIG0gIHwgTWludXRlICAgICAgICAgICAgICAgICAgICAgICAgIHwgIE0gIHwgTW9udGggICAgICAgICAgICAgICAgICAgICAgICAgIHxcbiAqIHwgIG4gIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIE4gIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcbiAqIHwgIG8hIHwgT3JkaW5hbCBudW1iZXIgbW9kaWZpZXIgICAgICAgIHwgIE8qIHwgVGltZXpvbmUgKEdNVCkgICAgICAgICAgICAgICAgIHxcbiAqIHwgIHAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIFAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcbiAqIHwgIHEgIHwgU3RhbmQtYWxvbmUgcXVhcnRlciAgICAgICAgICAgIHwgIFEgIHwgUXVhcnRlciAgICAgICAgICAgICAgICAgICAgICAgIHxcbiAqIHwgIHIqIHwgUmVsYXRlZCBHcmVnb3JpYW4geWVhciAgICAgICAgIHwgIFIhIHwgSVNPIHdlZWstbnVtYmVyaW5nIHllYXIgICAgICAgIHxcbiAqIHwgIHMgIHwgU2Vjb25kICAgICAgICAgICAgICAgICAgICAgICAgIHwgIFMgIHwgRnJhY3Rpb24gb2Ygc2Vjb25kICAgICAgICAgICAgIHxcbiAqIHwgIHQhIHwgU2Vjb25kcyB0aW1lc3RhbXAgICAgICAgICAgICAgIHwgIFQhIHwgTWlsbGlzZWNvbmRzIHRpbWVzdGFtcCAgICAgICAgIHxcbiAqIHwgIHUgIHwgRXh0ZW5kZWQgeWVhciAgICAgICAgICAgICAgICAgIHwgIFUqIHwgQ3ljbGljIHllYXIgICAgICAgICAgICAgICAgICAgIHxcbiAqIHwgIHYqIHwgVGltZXpvbmUgKGdlbmVyaWMgbm9uLWxvY2F0LikgIHwgIFYqIHwgVGltZXpvbmUgKGxvY2F0aW9uKSAgICAgICAgICAgIHxcbiAqIHwgIHcgIHwgTG9jYWwgd2VlayBvZiB5ZWFyICAgICAgICAgICAgIHwgIFcqIHwgV2VlayBvZiBtb250aCAgICAgICAgICAgICAgICAgIHxcbiAqIHwgIHggIHwgVGltZXpvbmUgKElTTy04NjAxIHcvbyBaKSAgICAgIHwgIFggIHwgVGltZXpvbmUgKElTTy04NjAxKSAgICAgICAgICAgIHxcbiAqIHwgIHkgIHwgWWVhciAoYWJzKSAgICAgICAgICAgICAgICAgICAgIHwgIFkgIHwgTG9jYWwgd2Vlay1udW1iZXJpbmcgeWVhciAgICAgIHxcbiAqIHwgIHoqIHwgVGltZXpvbmUgKHNwZWNpZmljIG5vbi1sb2NhdC4pIHwgIFoqIHwgVGltZXpvbmUgKGFsaWFzZXMpICAgICAgICAgICAgIHxcbiAqXG4gKiBMZXR0ZXJzIG1hcmtlZCBieSAqIGFyZSBub3QgaW1wbGVtZW50ZWQgYnV0IHJlc2VydmVkIGJ5IFVuaWNvZGUgc3RhbmRhcmQuXG4gKlxuICogTGV0dGVycyBtYXJrZWQgYnkgISBhcmUgbm9uLXN0YW5kYXJkLCBidXQgaW1wbGVtZW50ZWQgYnkgZGF0ZS1mbnM6XG4gKiAtIGBvYCBtb2RpZmllcyB0aGUgcHJldmlvdXMgdG9rZW4gdG8gdHVybiBpdCBpbnRvIGFuIG9yZGluYWwgKHNlZSBgcGFyc2VgIGRvY3MpXG4gKiAtIGBpYCBpcyBJU08gZGF5IG9mIHdlZWsuIEZvciBgaWAgYW5kIGBpaWAgaXMgcmV0dXJucyBudW1lcmljIElTTyB3ZWVrIGRheXMsXG4gKiAgIGkuZS4gNyBmb3IgU3VuZGF5LCAxIGZvciBNb25kYXksIGV0Yy5cbiAqIC0gYElgIGlzIElTTyB3ZWVrIG9mIHllYXIsIGFzIG9wcG9zZWQgdG8gYHdgIHdoaWNoIGlzIGxvY2FsIHdlZWsgb2YgeWVhci5cbiAqIC0gYFJgIGlzIElTTyB3ZWVrLW51bWJlcmluZyB5ZWFyLCBhcyBvcHBvc2VkIHRvIGBZYCB3aGljaCBpcyBsb2NhbCB3ZWVrLW51bWJlcmluZyB5ZWFyLlxuICogICBgUmAgaXMgc3VwcG9zZWQgdG8gYmUgdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIGBJYCBhbmQgYGlgXG4gKiAgIGZvciB1bml2ZXJzYWwgSVNPIHdlZWstbnVtYmVyaW5nIGRhdGUsIHdoZXJlYXNcbiAqICAgYFlgIGlzIHN1cHBvc2VkIHRvIGJlIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCBgd2AgYW5kIGBlYFxuICogICBmb3Igd2Vlay1udW1iZXJpbmcgZGF0ZSBzcGVjaWZpYyB0byB0aGUgbG9jYWxlLlxuICovXG5cblxudmFyIHBhcnNlcnMgPSB7XG4gIC8vIEVyYVxuICBHOiB7XG4gICAgcHJpb3JpdHk6IDE0MCxcbiAgICBwYXJzZTogZnVuY3Rpb24gKHN0cmluZywgdG9rZW4sIG1hdGNoLCBfb3B0aW9ucykge1xuICAgICAgc3dpdGNoICh0b2tlbikge1xuICAgICAgICAvLyBBRCwgQkNcbiAgICAgICAgY2FzZSAnRyc6XG4gICAgICAgIGNhc2UgJ0dHJzpcbiAgICAgICAgY2FzZSAnR0dHJzpcbiAgICAgICAgICByZXR1cm4gbWF0Y2guZXJhKHN0cmluZywge1xuICAgICAgICAgICAgd2lkdGg6ICdhYmJyZXZpYXRlZCdcbiAgICAgICAgICB9KSB8fCBtYXRjaC5lcmEoc3RyaW5nLCB7XG4gICAgICAgICAgICB3aWR0aDogJ25hcnJvdydcbiAgICAgICAgICB9KTtcbiAgICAgICAgLy8gQSwgQlxuXG4gICAgICAgIGNhc2UgJ0dHR0dHJzpcbiAgICAgICAgICByZXR1cm4gbWF0Y2guZXJhKHN0cmluZywge1xuICAgICAgICAgICAgd2lkdGg6ICduYXJyb3cnXG4gICAgICAgICAgfSk7XG4gICAgICAgIC8vIEFubm8gRG9taW5pLCBCZWZvcmUgQ2hyaXN0XG5cbiAgICAgICAgY2FzZSAnR0dHRyc6XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgcmV0dXJuIG1hdGNoLmVyYShzdHJpbmcsIHtcbiAgICAgICAgICAgIHdpZHRoOiAnd2lkZSdcbiAgICAgICAgICB9KSB8fCBtYXRjaC5lcmEoc3RyaW5nLCB7XG4gICAgICAgICAgICB3aWR0aDogJ2FiYnJldmlhdGVkJ1xuICAgICAgICAgIH0pIHx8IG1hdGNoLmVyYShzdHJpbmcsIHtcbiAgICAgICAgICAgIHdpZHRoOiAnbmFycm93J1xuICAgICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0sXG4gICAgc2V0OiBmdW5jdGlvbiAoZGF0ZSwgZmxhZ3MsIHZhbHVlLCBfb3B0aW9ucykge1xuICAgICAgZmxhZ3MuZXJhID0gdmFsdWU7XG4gICAgICBkYXRlLnNldFVUQ0Z1bGxZZWFyKHZhbHVlLCAwLCAxKTtcbiAgICAgIGRhdGUuc2V0VVRDSG91cnMoMCwgMCwgMCwgMCk7XG4gICAgICByZXR1cm4gZGF0ZTtcbiAgICB9LFxuICAgIGluY29tcGF0aWJsZVRva2VuczogWydSJywgJ3UnLCAndCcsICdUJ11cbiAgfSxcbiAgLy8gWWVhclxuICB5OiB7XG4gICAgLy8gRnJvbSBodHRwOi8vd3d3LnVuaWNvZGUub3JnL3JlcG9ydHMvdHIzNS90cjM1LTMxL3RyMzUtZGF0ZXMuaHRtbCNEYXRlX0Zvcm1hdF9QYXR0ZXJuc1xuICAgIC8vIHwgWWVhciAgICAgfCAgICAgeSB8IHl5IHwgICB5eXkgfCAgeXl5eSB8IHl5eXl5IHxcbiAgICAvLyB8LS0tLS0tLS0tLXwtLS0tLS0tfC0tLS18LS0tLS0tLXwtLS0tLS0tfC0tLS0tLS18XG4gICAgLy8gfCBBRCAxICAgICB8ICAgICAxIHwgMDEgfCAgIDAwMSB8ICAwMDAxIHwgMDAwMDEgfFxuICAgIC8vIHwgQUQgMTIgICAgfCAgICAxMiB8IDEyIHwgICAwMTIgfCAgMDAxMiB8IDAwMDEyIHxcbiAgICAvLyB8IEFEIDEyMyAgIHwgICAxMjMgfCAyMyB8ICAgMTIzIHwgIDAxMjMgfCAwMDEyMyB8XG4gICAgLy8gfCBBRCAxMjM0ICB8ICAxMjM0IHwgMzQgfCAgMTIzNCB8ICAxMjM0IHwgMDEyMzQgfFxuICAgIC8vIHwgQUQgMTIzNDUgfCAxMjM0NSB8IDQ1IHwgMTIzNDUgfCAxMjM0NSB8IDEyMzQ1IHxcbiAgICBwcmlvcml0eTogMTMwLFxuICAgIHBhcnNlOiBmdW5jdGlvbiAoc3RyaW5nLCB0b2tlbiwgbWF0Y2gsIF9vcHRpb25zKSB7XG4gICAgICB2YXIgdmFsdWVDYWxsYmFjayA9IGZ1bmN0aW9uICh5ZWFyKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgeWVhcjogeWVhcixcbiAgICAgICAgICBpc1R3b0RpZ2l0WWVhcjogdG9rZW4gPT09ICd5eSdcbiAgICAgICAgfTtcbiAgICAgIH07XG5cbiAgICAgIHN3aXRjaCAodG9rZW4pIHtcbiAgICAgICAgY2FzZSAneSc6XG4gICAgICAgICAgcmV0dXJuIHBhcnNlTkRpZ2l0cyg0LCBzdHJpbmcsIHZhbHVlQ2FsbGJhY2spO1xuXG4gICAgICAgIGNhc2UgJ3lvJzpcbiAgICAgICAgICByZXR1cm4gbWF0Y2gub3JkaW5hbE51bWJlcihzdHJpbmcsIHtcbiAgICAgICAgICAgIHVuaXQ6ICd5ZWFyJyxcbiAgICAgICAgICAgIHZhbHVlQ2FsbGJhY2s6IHZhbHVlQ2FsbGJhY2tcbiAgICAgICAgICB9KTtcblxuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHJldHVybiBwYXJzZU5EaWdpdHModG9rZW4ubGVuZ3RoLCBzdHJpbmcsIHZhbHVlQ2FsbGJhY2spO1xuICAgICAgfVxuICAgIH0sXG4gICAgdmFsaWRhdGU6IGZ1bmN0aW9uIChfZGF0ZSwgdmFsdWUsIF9vcHRpb25zKSB7XG4gICAgICByZXR1cm4gdmFsdWUuaXNUd29EaWdpdFllYXIgfHwgdmFsdWUueWVhciA+IDA7XG4gICAgfSxcbiAgICBzZXQ6IGZ1bmN0aW9uIChkYXRlLCBmbGFncywgdmFsdWUsIF9vcHRpb25zKSB7XG4gICAgICB2YXIgY3VycmVudFllYXIgPSBkYXRlLmdldFVUQ0Z1bGxZZWFyKCk7XG5cbiAgICAgIGlmICh2YWx1ZS5pc1R3b0RpZ2l0WWVhcikge1xuICAgICAgICB2YXIgbm9ybWFsaXplZFR3b0RpZ2l0WWVhciA9IG5vcm1hbGl6ZVR3b0RpZ2l0WWVhcih2YWx1ZS55ZWFyLCBjdXJyZW50WWVhcik7XG4gICAgICAgIGRhdGUuc2V0VVRDRnVsbFllYXIobm9ybWFsaXplZFR3b0RpZ2l0WWVhciwgMCwgMSk7XG4gICAgICAgIGRhdGUuc2V0VVRDSG91cnMoMCwgMCwgMCwgMCk7XG4gICAgICAgIHJldHVybiBkYXRlO1xuICAgICAgfVxuXG4gICAgICB2YXIgeWVhciA9ICEoJ2VyYScgaW4gZmxhZ3MpIHx8IGZsYWdzLmVyYSA9PT0gMSA/IHZhbHVlLnllYXIgOiAxIC0gdmFsdWUueWVhcjtcbiAgICAgIGRhdGUuc2V0VVRDRnVsbFllYXIoeWVhciwgMCwgMSk7XG4gICAgICBkYXRlLnNldFVUQ0hvdXJzKDAsIDAsIDAsIDApO1xuICAgICAgcmV0dXJuIGRhdGU7XG4gICAgfSxcbiAgICBpbmNvbXBhdGlibGVUb2tlbnM6IFsnWScsICdSJywgJ3UnLCAndycsICdJJywgJ2knLCAnZScsICdjJywgJ3QnLCAnVCddXG4gIH0sXG4gIC8vIExvY2FsIHdlZWstbnVtYmVyaW5nIHllYXJcbiAgWToge1xuICAgIHByaW9yaXR5OiAxMzAsXG4gICAgcGFyc2U6IGZ1bmN0aW9uIChzdHJpbmcsIHRva2VuLCBtYXRjaCwgX29wdGlvbnMpIHtcbiAgICAgIHZhciB2YWx1ZUNhbGxiYWNrID0gZnVuY3Rpb24gKHllYXIpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICB5ZWFyOiB5ZWFyLFxuICAgICAgICAgIGlzVHdvRGlnaXRZZWFyOiB0b2tlbiA9PT0gJ1lZJ1xuICAgICAgICB9O1xuICAgICAgfTtcblxuICAgICAgc3dpdGNoICh0b2tlbikge1xuICAgICAgICBjYXNlICdZJzpcbiAgICAgICAgICByZXR1cm4gcGFyc2VORGlnaXRzKDQsIHN0cmluZywgdmFsdWVDYWxsYmFjayk7XG5cbiAgICAgICAgY2FzZSAnWW8nOlxuICAgICAgICAgIHJldHVybiBtYXRjaC5vcmRpbmFsTnVtYmVyKHN0cmluZywge1xuICAgICAgICAgICAgdW5pdDogJ3llYXInLFxuICAgICAgICAgICAgdmFsdWVDYWxsYmFjazogdmFsdWVDYWxsYmFja1xuICAgICAgICAgIH0pO1xuXG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgcmV0dXJuIHBhcnNlTkRpZ2l0cyh0b2tlbi5sZW5ndGgsIHN0cmluZywgdmFsdWVDYWxsYmFjayk7XG4gICAgICB9XG4gICAgfSxcbiAgICB2YWxpZGF0ZTogZnVuY3Rpb24gKF9kYXRlLCB2YWx1ZSwgX29wdGlvbnMpIHtcbiAgICAgIHJldHVybiB2YWx1ZS5pc1R3b0RpZ2l0WWVhciB8fCB2YWx1ZS55ZWFyID4gMDtcbiAgICB9LFxuICAgIHNldDogZnVuY3Rpb24gKGRhdGUsIGZsYWdzLCB2YWx1ZSwgb3B0aW9ucykge1xuICAgICAgdmFyIGN1cnJlbnRZZWFyID0gZ2V0VVRDV2Vla1llYXIoZGF0ZSwgb3B0aW9ucyk7XG5cbiAgICAgIGlmICh2YWx1ZS5pc1R3b0RpZ2l0WWVhcikge1xuICAgICAgICB2YXIgbm9ybWFsaXplZFR3b0RpZ2l0WWVhciA9IG5vcm1hbGl6ZVR3b0RpZ2l0WWVhcih2YWx1ZS55ZWFyLCBjdXJyZW50WWVhcik7XG4gICAgICAgIGRhdGUuc2V0VVRDRnVsbFllYXIobm9ybWFsaXplZFR3b0RpZ2l0WWVhciwgMCwgb3B0aW9ucy5maXJzdFdlZWtDb250YWluc0RhdGUpO1xuICAgICAgICBkYXRlLnNldFVUQ0hvdXJzKDAsIDAsIDAsIDApO1xuICAgICAgICByZXR1cm4gc3RhcnRPZlVUQ1dlZWsoZGF0ZSwgb3B0aW9ucyk7XG4gICAgICB9XG5cbiAgICAgIHZhciB5ZWFyID0gISgnZXJhJyBpbiBmbGFncykgfHwgZmxhZ3MuZXJhID09PSAxID8gdmFsdWUueWVhciA6IDEgLSB2YWx1ZS55ZWFyO1xuICAgICAgZGF0ZS5zZXRVVENGdWxsWWVhcih5ZWFyLCAwLCBvcHRpb25zLmZpcnN0V2Vla0NvbnRhaW5zRGF0ZSk7XG4gICAgICBkYXRlLnNldFVUQ0hvdXJzKDAsIDAsIDAsIDApO1xuICAgICAgcmV0dXJuIHN0YXJ0T2ZVVENXZWVrKGRhdGUsIG9wdGlvbnMpO1xuICAgIH0sXG4gICAgaW5jb21wYXRpYmxlVG9rZW5zOiBbJ3knLCAnUicsICd1JywgJ1EnLCAncScsICdNJywgJ0wnLCAnSScsICdkJywgJ0QnLCAnaScsICd0JywgJ1QnXVxuICB9LFxuICAvLyBJU08gd2Vlay1udW1iZXJpbmcgeWVhclxuICBSOiB7XG4gICAgcHJpb3JpdHk6IDEzMCxcbiAgICBwYXJzZTogZnVuY3Rpb24gKHN0cmluZywgdG9rZW4sIF9tYXRjaCwgX29wdGlvbnMpIHtcbiAgICAgIGlmICh0b2tlbiA9PT0gJ1InKSB7XG4gICAgICAgIHJldHVybiBwYXJzZU5EaWdpdHNTaWduZWQoNCwgc3RyaW5nKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHBhcnNlTkRpZ2l0c1NpZ25lZCh0b2tlbi5sZW5ndGgsIHN0cmluZyk7XG4gICAgfSxcbiAgICBzZXQ6IGZ1bmN0aW9uIChfZGF0ZSwgX2ZsYWdzLCB2YWx1ZSwgX29wdGlvbnMpIHtcbiAgICAgIHZhciBmaXJzdFdlZWtPZlllYXIgPSBuZXcgRGF0ZSgwKTtcbiAgICAgIGZpcnN0V2Vla09mWWVhci5zZXRVVENGdWxsWWVhcih2YWx1ZSwgMCwgNCk7XG4gICAgICBmaXJzdFdlZWtPZlllYXIuc2V0VVRDSG91cnMoMCwgMCwgMCwgMCk7XG4gICAgICByZXR1cm4gc3RhcnRPZlVUQ0lTT1dlZWsoZmlyc3RXZWVrT2ZZZWFyKTtcbiAgICB9LFxuICAgIGluY29tcGF0aWJsZVRva2VuczogWydHJywgJ3knLCAnWScsICd1JywgJ1EnLCAncScsICdNJywgJ0wnLCAndycsICdkJywgJ0QnLCAnZScsICdjJywgJ3QnLCAnVCddXG4gIH0sXG4gIC8vIEV4dGVuZGVkIHllYXJcbiAgdToge1xuICAgIHByaW9yaXR5OiAxMzAsXG4gICAgcGFyc2U6IGZ1bmN0aW9uIChzdHJpbmcsIHRva2VuLCBfbWF0Y2gsIF9vcHRpb25zKSB7XG4gICAgICBpZiAodG9rZW4gPT09ICd1Jykge1xuICAgICAgICByZXR1cm4gcGFyc2VORGlnaXRzU2lnbmVkKDQsIHN0cmluZyk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBwYXJzZU5EaWdpdHNTaWduZWQodG9rZW4ubGVuZ3RoLCBzdHJpbmcpO1xuICAgIH0sXG4gICAgc2V0OiBmdW5jdGlvbiAoZGF0ZSwgX2ZsYWdzLCB2YWx1ZSwgX29wdGlvbnMpIHtcbiAgICAgIGRhdGUuc2V0VVRDRnVsbFllYXIodmFsdWUsIDAsIDEpO1xuICAgICAgZGF0ZS5zZXRVVENIb3VycygwLCAwLCAwLCAwKTtcbiAgICAgIHJldHVybiBkYXRlO1xuICAgIH0sXG4gICAgaW5jb21wYXRpYmxlVG9rZW5zOiBbJ0cnLCAneScsICdZJywgJ1InLCAndycsICdJJywgJ2knLCAnZScsICdjJywgJ3QnLCAnVCddXG4gIH0sXG4gIC8vIFF1YXJ0ZXJcbiAgUToge1xuICAgIHByaW9yaXR5OiAxMjAsXG4gICAgcGFyc2U6IGZ1bmN0aW9uIChzdHJpbmcsIHRva2VuLCBtYXRjaCwgX29wdGlvbnMpIHtcbiAgICAgIHN3aXRjaCAodG9rZW4pIHtcbiAgICAgICAgLy8gMSwgMiwgMywgNFxuICAgICAgICBjYXNlICdRJzpcbiAgICAgICAgY2FzZSAnUVEnOlxuICAgICAgICAgIC8vIDAxLCAwMiwgMDMsIDA0XG4gICAgICAgICAgcmV0dXJuIHBhcnNlTkRpZ2l0cyh0b2tlbi5sZW5ndGgsIHN0cmluZyk7XG4gICAgICAgIC8vIDFzdCwgMm5kLCAzcmQsIDR0aFxuXG4gICAgICAgIGNhc2UgJ1FvJzpcbiAgICAgICAgICByZXR1cm4gbWF0Y2gub3JkaW5hbE51bWJlcihzdHJpbmcsIHtcbiAgICAgICAgICAgIHVuaXQ6ICdxdWFydGVyJ1xuICAgICAgICAgIH0pO1xuICAgICAgICAvLyBRMSwgUTIsIFEzLCBRNFxuXG4gICAgICAgIGNhc2UgJ1FRUSc6XG4gICAgICAgICAgcmV0dXJuIG1hdGNoLnF1YXJ0ZXIoc3RyaW5nLCB7XG4gICAgICAgICAgICB3aWR0aDogJ2FiYnJldmlhdGVkJyxcbiAgICAgICAgICAgIGNvbnRleHQ6ICdmb3JtYXR0aW5nJ1xuICAgICAgICAgIH0pIHx8IG1hdGNoLnF1YXJ0ZXIoc3RyaW5nLCB7XG4gICAgICAgICAgICB3aWR0aDogJ25hcnJvdycsXG4gICAgICAgICAgICBjb250ZXh0OiAnZm9ybWF0dGluZydcbiAgICAgICAgICB9KTtcbiAgICAgICAgLy8gMSwgMiwgMywgNCAobmFycm93IHF1YXJ0ZXI7IGNvdWxkIGJlIG5vdCBudW1lcmljYWwpXG5cbiAgICAgICAgY2FzZSAnUVFRUVEnOlxuICAgICAgICAgIHJldHVybiBtYXRjaC5xdWFydGVyKHN0cmluZywge1xuICAgICAgICAgICAgd2lkdGg6ICduYXJyb3cnLFxuICAgICAgICAgICAgY29udGV4dDogJ2Zvcm1hdHRpbmcnXG4gICAgICAgICAgfSk7XG4gICAgICAgIC8vIDFzdCBxdWFydGVyLCAybmQgcXVhcnRlciwgLi4uXG5cbiAgICAgICAgY2FzZSAnUVFRUSc6XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgcmV0dXJuIG1hdGNoLnF1YXJ0ZXIoc3RyaW5nLCB7XG4gICAgICAgICAgICB3aWR0aDogJ3dpZGUnLFxuICAgICAgICAgICAgY29udGV4dDogJ2Zvcm1hdHRpbmcnXG4gICAgICAgICAgfSkgfHwgbWF0Y2gucXVhcnRlcihzdHJpbmcsIHtcbiAgICAgICAgICAgIHdpZHRoOiAnYWJicmV2aWF0ZWQnLFxuICAgICAgICAgICAgY29udGV4dDogJ2Zvcm1hdHRpbmcnXG4gICAgICAgICAgfSkgfHwgbWF0Y2gucXVhcnRlcihzdHJpbmcsIHtcbiAgICAgICAgICAgIHdpZHRoOiAnbmFycm93JyxcbiAgICAgICAgICAgIGNvbnRleHQ6ICdmb3JtYXR0aW5nJ1xuICAgICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0sXG4gICAgdmFsaWRhdGU6IGZ1bmN0aW9uIChfZGF0ZSwgdmFsdWUsIF9vcHRpb25zKSB7XG4gICAgICByZXR1cm4gdmFsdWUgPj0gMSAmJiB2YWx1ZSA8PSA0O1xuICAgIH0sXG4gICAgc2V0OiBmdW5jdGlvbiAoZGF0ZSwgX2ZsYWdzLCB2YWx1ZSwgX29wdGlvbnMpIHtcbiAgICAgIGRhdGUuc2V0VVRDTW9udGgoKHZhbHVlIC0gMSkgKiAzLCAxKTtcbiAgICAgIGRhdGUuc2V0VVRDSG91cnMoMCwgMCwgMCwgMCk7XG4gICAgICByZXR1cm4gZGF0ZTtcbiAgICB9LFxuICAgIGluY29tcGF0aWJsZVRva2VuczogWydZJywgJ1InLCAncScsICdNJywgJ0wnLCAndycsICdJJywgJ2QnLCAnRCcsICdpJywgJ2UnLCAnYycsICd0JywgJ1QnXVxuICB9LFxuICAvLyBTdGFuZC1hbG9uZSBxdWFydGVyXG4gIHE6IHtcbiAgICBwcmlvcml0eTogMTIwLFxuICAgIHBhcnNlOiBmdW5jdGlvbiAoc3RyaW5nLCB0b2tlbiwgbWF0Y2gsIF9vcHRpb25zKSB7XG4gICAgICBzd2l0Y2ggKHRva2VuKSB7XG4gICAgICAgIC8vIDEsIDIsIDMsIDRcbiAgICAgICAgY2FzZSAncSc6XG4gICAgICAgIGNhc2UgJ3FxJzpcbiAgICAgICAgICAvLyAwMSwgMDIsIDAzLCAwNFxuICAgICAgICAgIHJldHVybiBwYXJzZU5EaWdpdHModG9rZW4ubGVuZ3RoLCBzdHJpbmcpO1xuICAgICAgICAvLyAxc3QsIDJuZCwgM3JkLCA0dGhcblxuICAgICAgICBjYXNlICdxbyc6XG4gICAgICAgICAgcmV0dXJuIG1hdGNoLm9yZGluYWxOdW1iZXIoc3RyaW5nLCB7XG4gICAgICAgICAgICB1bml0OiAncXVhcnRlcidcbiAgICAgICAgICB9KTtcbiAgICAgICAgLy8gUTEsIFEyLCBRMywgUTRcblxuICAgICAgICBjYXNlICdxcXEnOlxuICAgICAgICAgIHJldHVybiBtYXRjaC5xdWFydGVyKHN0cmluZywge1xuICAgICAgICAgICAgd2lkdGg6ICdhYmJyZXZpYXRlZCcsXG4gICAgICAgICAgICBjb250ZXh0OiAnc3RhbmRhbG9uZSdcbiAgICAgICAgICB9KSB8fCBtYXRjaC5xdWFydGVyKHN0cmluZywge1xuICAgICAgICAgICAgd2lkdGg6ICduYXJyb3cnLFxuICAgICAgICAgICAgY29udGV4dDogJ3N0YW5kYWxvbmUnXG4gICAgICAgICAgfSk7XG4gICAgICAgIC8vIDEsIDIsIDMsIDQgKG5hcnJvdyBxdWFydGVyOyBjb3VsZCBiZSBub3QgbnVtZXJpY2FsKVxuXG4gICAgICAgIGNhc2UgJ3FxcXFxJzpcbiAgICAgICAgICByZXR1cm4gbWF0Y2gucXVhcnRlcihzdHJpbmcsIHtcbiAgICAgICAgICAgIHdpZHRoOiAnbmFycm93JyxcbiAgICAgICAgICAgIGNvbnRleHQ6ICdzdGFuZGFsb25lJ1xuICAgICAgICAgIH0pO1xuICAgICAgICAvLyAxc3QgcXVhcnRlciwgMm5kIHF1YXJ0ZXIsIC4uLlxuXG4gICAgICAgIGNhc2UgJ3FxcXEnOlxuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHJldHVybiBtYXRjaC5xdWFydGVyKHN0cmluZywge1xuICAgICAgICAgICAgd2lkdGg6ICd3aWRlJyxcbiAgICAgICAgICAgIGNvbnRleHQ6ICdzdGFuZGFsb25lJ1xuICAgICAgICAgIH0pIHx8IG1hdGNoLnF1YXJ0ZXIoc3RyaW5nLCB7XG4gICAgICAgICAgICB3aWR0aDogJ2FiYnJldmlhdGVkJyxcbiAgICAgICAgICAgIGNvbnRleHQ6ICdzdGFuZGFsb25lJ1xuICAgICAgICAgIH0pIHx8IG1hdGNoLnF1YXJ0ZXIoc3RyaW5nLCB7XG4gICAgICAgICAgICB3aWR0aDogJ25hcnJvdycsXG4gICAgICAgICAgICBjb250ZXh0OiAnc3RhbmRhbG9uZSdcbiAgICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9LFxuICAgIHZhbGlkYXRlOiBmdW5jdGlvbiAoX2RhdGUsIHZhbHVlLCBfb3B0aW9ucykge1xuICAgICAgcmV0dXJuIHZhbHVlID49IDEgJiYgdmFsdWUgPD0gNDtcbiAgICB9LFxuICAgIHNldDogZnVuY3Rpb24gKGRhdGUsIF9mbGFncywgdmFsdWUsIF9vcHRpb25zKSB7XG4gICAgICBkYXRlLnNldFVUQ01vbnRoKCh2YWx1ZSAtIDEpICogMywgMSk7XG4gICAgICBkYXRlLnNldFVUQ0hvdXJzKDAsIDAsIDAsIDApO1xuICAgICAgcmV0dXJuIGRhdGU7XG4gICAgfSxcbiAgICBpbmNvbXBhdGlibGVUb2tlbnM6IFsnWScsICdSJywgJ1EnLCAnTScsICdMJywgJ3cnLCAnSScsICdkJywgJ0QnLCAnaScsICdlJywgJ2MnLCAndCcsICdUJ11cbiAgfSxcbiAgLy8gTW9udGhcbiAgTToge1xuICAgIHByaW9yaXR5OiAxMTAsXG4gICAgcGFyc2U6IGZ1bmN0aW9uIChzdHJpbmcsIHRva2VuLCBtYXRjaCwgX29wdGlvbnMpIHtcbiAgICAgIHZhciB2YWx1ZUNhbGxiYWNrID0gZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgICAgIHJldHVybiB2YWx1ZSAtIDE7XG4gICAgICB9O1xuXG4gICAgICBzd2l0Y2ggKHRva2VuKSB7XG4gICAgICAgIC8vIDEsIDIsIC4uLiwgMTJcbiAgICAgICAgY2FzZSAnTSc6XG4gICAgICAgICAgcmV0dXJuIHBhcnNlTnVtZXJpY1BhdHRlcm4obnVtZXJpY1BhdHRlcm5zLm1vbnRoLCBzdHJpbmcsIHZhbHVlQ2FsbGJhY2spO1xuICAgICAgICAvLyAwMSwgMDIsIC4uLiwgMTJcblxuICAgICAgICBjYXNlICdNTSc6XG4gICAgICAgICAgcmV0dXJuIHBhcnNlTkRpZ2l0cygyLCBzdHJpbmcsIHZhbHVlQ2FsbGJhY2spO1xuICAgICAgICAvLyAxc3QsIDJuZCwgLi4uLCAxMnRoXG5cbiAgICAgICAgY2FzZSAnTW8nOlxuICAgICAgICAgIHJldHVybiBtYXRjaC5vcmRpbmFsTnVtYmVyKHN0cmluZywge1xuICAgICAgICAgICAgdW5pdDogJ21vbnRoJyxcbiAgICAgICAgICAgIHZhbHVlQ2FsbGJhY2s6IHZhbHVlQ2FsbGJhY2tcbiAgICAgICAgICB9KTtcbiAgICAgICAgLy8gSmFuLCBGZWIsIC4uLiwgRGVjXG5cbiAgICAgICAgY2FzZSAnTU1NJzpcbiAgICAgICAgICByZXR1cm4gbWF0Y2gubW9udGgoc3RyaW5nLCB7XG4gICAgICAgICAgICB3aWR0aDogJ2FiYnJldmlhdGVkJyxcbiAgICAgICAgICAgIGNvbnRleHQ6ICdmb3JtYXR0aW5nJ1xuICAgICAgICAgIH0pIHx8IG1hdGNoLm1vbnRoKHN0cmluZywge1xuICAgICAgICAgICAgd2lkdGg6ICduYXJyb3cnLFxuICAgICAgICAgICAgY29udGV4dDogJ2Zvcm1hdHRpbmcnXG4gICAgICAgICAgfSk7XG4gICAgICAgIC8vIEosIEYsIC4uLiwgRFxuXG4gICAgICAgIGNhc2UgJ01NTU1NJzpcbiAgICAgICAgICByZXR1cm4gbWF0Y2gubW9udGgoc3RyaW5nLCB7XG4gICAgICAgICAgICB3aWR0aDogJ25hcnJvdycsXG4gICAgICAgICAgICBjb250ZXh0OiAnZm9ybWF0dGluZydcbiAgICAgICAgICB9KTtcbiAgICAgICAgLy8gSmFudWFyeSwgRmVicnVhcnksIC4uLiwgRGVjZW1iZXJcblxuICAgICAgICBjYXNlICdNTU1NJzpcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICByZXR1cm4gbWF0Y2gubW9udGgoc3RyaW5nLCB7XG4gICAgICAgICAgICB3aWR0aDogJ3dpZGUnLFxuICAgICAgICAgICAgY29udGV4dDogJ2Zvcm1hdHRpbmcnXG4gICAgICAgICAgfSkgfHwgbWF0Y2gubW9udGgoc3RyaW5nLCB7XG4gICAgICAgICAgICB3aWR0aDogJ2FiYnJldmlhdGVkJyxcbiAgICAgICAgICAgIGNvbnRleHQ6ICdmb3JtYXR0aW5nJ1xuICAgICAgICAgIH0pIHx8IG1hdGNoLm1vbnRoKHN0cmluZywge1xuICAgICAgICAgICAgd2lkdGg6ICduYXJyb3cnLFxuICAgICAgICAgICAgY29udGV4dDogJ2Zvcm1hdHRpbmcnXG4gICAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSxcbiAgICB2YWxpZGF0ZTogZnVuY3Rpb24gKF9kYXRlLCB2YWx1ZSwgX29wdGlvbnMpIHtcbiAgICAgIHJldHVybiB2YWx1ZSA+PSAwICYmIHZhbHVlIDw9IDExO1xuICAgIH0sXG4gICAgc2V0OiBmdW5jdGlvbiAoZGF0ZSwgX2ZsYWdzLCB2YWx1ZSwgX29wdGlvbnMpIHtcbiAgICAgIGRhdGUuc2V0VVRDTW9udGgodmFsdWUsIDEpO1xuICAgICAgZGF0ZS5zZXRVVENIb3VycygwLCAwLCAwLCAwKTtcbiAgICAgIHJldHVybiBkYXRlO1xuICAgIH0sXG4gICAgaW5jb21wYXRpYmxlVG9rZW5zOiBbJ1knLCAnUicsICdxJywgJ1EnLCAnTCcsICd3JywgJ0knLCAnRCcsICdpJywgJ2UnLCAnYycsICd0JywgJ1QnXVxuICB9LFxuICAvLyBTdGFuZC1hbG9uZSBtb250aFxuICBMOiB7XG4gICAgcHJpb3JpdHk6IDExMCxcbiAgICBwYXJzZTogZnVuY3Rpb24gKHN0cmluZywgdG9rZW4sIG1hdGNoLCBfb3B0aW9ucykge1xuICAgICAgdmFyIHZhbHVlQ2FsbGJhY2sgPSBmdW5jdGlvbiAodmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlIC0gMTtcbiAgICAgIH07XG5cbiAgICAgIHN3aXRjaCAodG9rZW4pIHtcbiAgICAgICAgLy8gMSwgMiwgLi4uLCAxMlxuICAgICAgICBjYXNlICdMJzpcbiAgICAgICAgICByZXR1cm4gcGFyc2VOdW1lcmljUGF0dGVybihudW1lcmljUGF0dGVybnMubW9udGgsIHN0cmluZywgdmFsdWVDYWxsYmFjayk7XG4gICAgICAgIC8vIDAxLCAwMiwgLi4uLCAxMlxuXG4gICAgICAgIGNhc2UgJ0xMJzpcbiAgICAgICAgICByZXR1cm4gcGFyc2VORGlnaXRzKDIsIHN0cmluZywgdmFsdWVDYWxsYmFjayk7XG4gICAgICAgIC8vIDFzdCwgMm5kLCAuLi4sIDEydGhcblxuICAgICAgICBjYXNlICdMbyc6XG4gICAgICAgICAgcmV0dXJuIG1hdGNoLm9yZGluYWxOdW1iZXIoc3RyaW5nLCB7XG4gICAgICAgICAgICB1bml0OiAnbW9udGgnLFxuICAgICAgICAgICAgdmFsdWVDYWxsYmFjazogdmFsdWVDYWxsYmFja1xuICAgICAgICAgIH0pO1xuICAgICAgICAvLyBKYW4sIEZlYiwgLi4uLCBEZWNcblxuICAgICAgICBjYXNlICdMTEwnOlxuICAgICAgICAgIHJldHVybiBtYXRjaC5tb250aChzdHJpbmcsIHtcbiAgICAgICAgICAgIHdpZHRoOiAnYWJicmV2aWF0ZWQnLFxuICAgICAgICAgICAgY29udGV4dDogJ3N0YW5kYWxvbmUnXG4gICAgICAgICAgfSkgfHwgbWF0Y2gubW9udGgoc3RyaW5nLCB7XG4gICAgICAgICAgICB3aWR0aDogJ25hcnJvdycsXG4gICAgICAgICAgICBjb250ZXh0OiAnc3RhbmRhbG9uZSdcbiAgICAgICAgICB9KTtcbiAgICAgICAgLy8gSiwgRiwgLi4uLCBEXG5cbiAgICAgICAgY2FzZSAnTExMTEwnOlxuICAgICAgICAgIHJldHVybiBtYXRjaC5tb250aChzdHJpbmcsIHtcbiAgICAgICAgICAgIHdpZHRoOiAnbmFycm93JyxcbiAgICAgICAgICAgIGNvbnRleHQ6ICdzdGFuZGFsb25lJ1xuICAgICAgICAgIH0pO1xuICAgICAgICAvLyBKYW51YXJ5LCBGZWJydWFyeSwgLi4uLCBEZWNlbWJlclxuXG4gICAgICAgIGNhc2UgJ0xMTEwnOlxuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHJldHVybiBtYXRjaC5tb250aChzdHJpbmcsIHtcbiAgICAgICAgICAgIHdpZHRoOiAnd2lkZScsXG4gICAgICAgICAgICBjb250ZXh0OiAnc3RhbmRhbG9uZSdcbiAgICAgICAgICB9KSB8fCBtYXRjaC5tb250aChzdHJpbmcsIHtcbiAgICAgICAgICAgIHdpZHRoOiAnYWJicmV2aWF0ZWQnLFxuICAgICAgICAgICAgY29udGV4dDogJ3N0YW5kYWxvbmUnXG4gICAgICAgICAgfSkgfHwgbWF0Y2gubW9udGgoc3RyaW5nLCB7XG4gICAgICAgICAgICB3aWR0aDogJ25hcnJvdycsXG4gICAgICAgICAgICBjb250ZXh0OiAnc3RhbmRhbG9uZSdcbiAgICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9LFxuICAgIHZhbGlkYXRlOiBmdW5jdGlvbiAoX2RhdGUsIHZhbHVlLCBfb3B0aW9ucykge1xuICAgICAgcmV0dXJuIHZhbHVlID49IDAgJiYgdmFsdWUgPD0gMTE7XG4gICAgfSxcbiAgICBzZXQ6IGZ1bmN0aW9uIChkYXRlLCBfZmxhZ3MsIHZhbHVlLCBfb3B0aW9ucykge1xuICAgICAgZGF0ZS5zZXRVVENNb250aCh2YWx1ZSwgMSk7XG4gICAgICBkYXRlLnNldFVUQ0hvdXJzKDAsIDAsIDAsIDApO1xuICAgICAgcmV0dXJuIGRhdGU7XG4gICAgfSxcbiAgICBpbmNvbXBhdGlibGVUb2tlbnM6IFsnWScsICdSJywgJ3EnLCAnUScsICdNJywgJ3cnLCAnSScsICdEJywgJ2knLCAnZScsICdjJywgJ3QnLCAnVCddXG4gIH0sXG4gIC8vIExvY2FsIHdlZWsgb2YgeWVhclxuICB3OiB7XG4gICAgcHJpb3JpdHk6IDEwMCxcbiAgICBwYXJzZTogZnVuY3Rpb24gKHN0cmluZywgdG9rZW4sIG1hdGNoLCBfb3B0aW9ucykge1xuICAgICAgc3dpdGNoICh0b2tlbikge1xuICAgICAgICBjYXNlICd3JzpcbiAgICAgICAgICByZXR1cm4gcGFyc2VOdW1lcmljUGF0dGVybihudW1lcmljUGF0dGVybnMud2Vlaywgc3RyaW5nKTtcblxuICAgICAgICBjYXNlICd3byc6XG4gICAgICAgICAgcmV0dXJuIG1hdGNoLm9yZGluYWxOdW1iZXIoc3RyaW5nLCB7XG4gICAgICAgICAgICB1bml0OiAnd2VlaydcbiAgICAgICAgICB9KTtcblxuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHJldHVybiBwYXJzZU5EaWdpdHModG9rZW4ubGVuZ3RoLCBzdHJpbmcpO1xuICAgICAgfVxuICAgIH0sXG4gICAgdmFsaWRhdGU6IGZ1bmN0aW9uIChfZGF0ZSwgdmFsdWUsIF9vcHRpb25zKSB7XG4gICAgICByZXR1cm4gdmFsdWUgPj0gMSAmJiB2YWx1ZSA8PSA1MztcbiAgICB9LFxuICAgIHNldDogZnVuY3Rpb24gKGRhdGUsIF9mbGFncywgdmFsdWUsIG9wdGlvbnMpIHtcbiAgICAgIHJldHVybiBzdGFydE9mVVRDV2VlayhzZXRVVENXZWVrKGRhdGUsIHZhbHVlLCBvcHRpb25zKSwgb3B0aW9ucyk7XG4gICAgfSxcbiAgICBpbmNvbXBhdGlibGVUb2tlbnM6IFsneScsICdSJywgJ3UnLCAncScsICdRJywgJ00nLCAnTCcsICdJJywgJ2QnLCAnRCcsICdpJywgJ3QnLCAnVCddXG4gIH0sXG4gIC8vIElTTyB3ZWVrIG9mIHllYXJcbiAgSToge1xuICAgIHByaW9yaXR5OiAxMDAsXG4gICAgcGFyc2U6IGZ1bmN0aW9uIChzdHJpbmcsIHRva2VuLCBtYXRjaCwgX29wdGlvbnMpIHtcbiAgICAgIHN3aXRjaCAodG9rZW4pIHtcbiAgICAgICAgY2FzZSAnSSc6XG4gICAgICAgICAgcmV0dXJuIHBhcnNlTnVtZXJpY1BhdHRlcm4obnVtZXJpY1BhdHRlcm5zLndlZWssIHN0cmluZyk7XG5cbiAgICAgICAgY2FzZSAnSW8nOlxuICAgICAgICAgIHJldHVybiBtYXRjaC5vcmRpbmFsTnVtYmVyKHN0cmluZywge1xuICAgICAgICAgICAgdW5pdDogJ3dlZWsnXG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICByZXR1cm4gcGFyc2VORGlnaXRzKHRva2VuLmxlbmd0aCwgc3RyaW5nKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIHZhbGlkYXRlOiBmdW5jdGlvbiAoX2RhdGUsIHZhbHVlLCBfb3B0aW9ucykge1xuICAgICAgcmV0dXJuIHZhbHVlID49IDEgJiYgdmFsdWUgPD0gNTM7XG4gICAgfSxcbiAgICBzZXQ6IGZ1bmN0aW9uIChkYXRlLCBfZmxhZ3MsIHZhbHVlLCBvcHRpb25zKSB7XG4gICAgICByZXR1cm4gc3RhcnRPZlVUQ0lTT1dlZWsoc2V0VVRDSVNPV2VlayhkYXRlLCB2YWx1ZSwgb3B0aW9ucyksIG9wdGlvbnMpO1xuICAgIH0sXG4gICAgaW5jb21wYXRpYmxlVG9rZW5zOiBbJ3knLCAnWScsICd1JywgJ3EnLCAnUScsICdNJywgJ0wnLCAndycsICdkJywgJ0QnLCAnZScsICdjJywgJ3QnLCAnVCddXG4gIH0sXG4gIC8vIERheSBvZiB0aGUgbW9udGhcbiAgZDoge1xuICAgIHByaW9yaXR5OiA5MCxcbiAgICBwYXJzZTogZnVuY3Rpb24gKHN0cmluZywgdG9rZW4sIG1hdGNoLCBfb3B0aW9ucykge1xuICAgICAgc3dpdGNoICh0b2tlbikge1xuICAgICAgICBjYXNlICdkJzpcbiAgICAgICAgICByZXR1cm4gcGFyc2VOdW1lcmljUGF0dGVybihudW1lcmljUGF0dGVybnMuZGF0ZSwgc3RyaW5nKTtcblxuICAgICAgICBjYXNlICdkbyc6XG4gICAgICAgICAgcmV0dXJuIG1hdGNoLm9yZGluYWxOdW1iZXIoc3RyaW5nLCB7XG4gICAgICAgICAgICB1bml0OiAnZGF0ZSdcbiAgICAgICAgICB9KTtcblxuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHJldHVybiBwYXJzZU5EaWdpdHModG9rZW4ubGVuZ3RoLCBzdHJpbmcpO1xuICAgICAgfVxuICAgIH0sXG4gICAgdmFsaWRhdGU6IGZ1bmN0aW9uIChkYXRlLCB2YWx1ZSwgX29wdGlvbnMpIHtcbiAgICAgIHZhciB5ZWFyID0gZGF0ZS5nZXRVVENGdWxsWWVhcigpO1xuICAgICAgdmFyIGlzTGVhcFllYXIgPSBpc0xlYXBZZWFySW5kZXgoeWVhcik7XG4gICAgICB2YXIgbW9udGggPSBkYXRlLmdldFVUQ01vbnRoKCk7XG5cbiAgICAgIGlmIChpc0xlYXBZZWFyKSB7XG4gICAgICAgIHJldHVybiB2YWx1ZSA+PSAxICYmIHZhbHVlIDw9IERBWVNfSU5fTU9OVEhfTEVBUF9ZRUFSW21vbnRoXTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiB2YWx1ZSA+PSAxICYmIHZhbHVlIDw9IERBWVNfSU5fTU9OVEhbbW9udGhdO1xuICAgICAgfVxuICAgIH0sXG4gICAgc2V0OiBmdW5jdGlvbiAoZGF0ZSwgX2ZsYWdzLCB2YWx1ZSwgX29wdGlvbnMpIHtcbiAgICAgIGRhdGUuc2V0VVRDRGF0ZSh2YWx1ZSk7XG4gICAgICBkYXRlLnNldFVUQ0hvdXJzKDAsIDAsIDAsIDApO1xuICAgICAgcmV0dXJuIGRhdGU7XG4gICAgfSxcbiAgICBpbmNvbXBhdGlibGVUb2tlbnM6IFsnWScsICdSJywgJ3EnLCAnUScsICd3JywgJ0knLCAnRCcsICdpJywgJ2UnLCAnYycsICd0JywgJ1QnXVxuICB9LFxuICAvLyBEYXkgb2YgeWVhclxuICBEOiB7XG4gICAgcHJpb3JpdHk6IDkwLFxuICAgIHBhcnNlOiBmdW5jdGlvbiAoc3RyaW5nLCB0b2tlbiwgbWF0Y2gsIF9vcHRpb25zKSB7XG4gICAgICBzd2l0Y2ggKHRva2VuKSB7XG4gICAgICAgIGNhc2UgJ0QnOlxuICAgICAgICBjYXNlICdERCc6XG4gICAgICAgICAgcmV0dXJuIHBhcnNlTnVtZXJpY1BhdHRlcm4obnVtZXJpY1BhdHRlcm5zLmRheU9mWWVhciwgc3RyaW5nKTtcblxuICAgICAgICBjYXNlICdEbyc6XG4gICAgICAgICAgcmV0dXJuIG1hdGNoLm9yZGluYWxOdW1iZXIoc3RyaW5nLCB7XG4gICAgICAgICAgICB1bml0OiAnZGF0ZSdcbiAgICAgICAgICB9KTtcblxuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHJldHVybiBwYXJzZU5EaWdpdHModG9rZW4ubGVuZ3RoLCBzdHJpbmcpO1xuICAgICAgfVxuICAgIH0sXG4gICAgdmFsaWRhdGU6IGZ1bmN0aW9uIChkYXRlLCB2YWx1ZSwgX29wdGlvbnMpIHtcbiAgICAgIHZhciB5ZWFyID0gZGF0ZS5nZXRVVENGdWxsWWVhcigpO1xuICAgICAgdmFyIGlzTGVhcFllYXIgPSBpc0xlYXBZZWFySW5kZXgoeWVhcik7XG5cbiAgICAgIGlmIChpc0xlYXBZZWFyKSB7XG4gICAgICAgIHJldHVybiB2YWx1ZSA+PSAxICYmIHZhbHVlIDw9IDM2NjtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiB2YWx1ZSA+PSAxICYmIHZhbHVlIDw9IDM2NTtcbiAgICAgIH1cbiAgICB9LFxuICAgIHNldDogZnVuY3Rpb24gKGRhdGUsIF9mbGFncywgdmFsdWUsIF9vcHRpb25zKSB7XG4gICAgICBkYXRlLnNldFVUQ01vbnRoKDAsIHZhbHVlKTtcbiAgICAgIGRhdGUuc2V0VVRDSG91cnMoMCwgMCwgMCwgMCk7XG4gICAgICByZXR1cm4gZGF0ZTtcbiAgICB9LFxuICAgIGluY29tcGF0aWJsZVRva2VuczogWydZJywgJ1InLCAncScsICdRJywgJ00nLCAnTCcsICd3JywgJ0knLCAnZCcsICdFJywgJ2knLCAnZScsICdjJywgJ3QnLCAnVCddXG4gIH0sXG4gIC8vIERheSBvZiB3ZWVrXG4gIEU6IHtcbiAgICBwcmlvcml0eTogOTAsXG4gICAgcGFyc2U6IGZ1bmN0aW9uIChzdHJpbmcsIHRva2VuLCBtYXRjaCwgX29wdGlvbnMpIHtcbiAgICAgIHN3aXRjaCAodG9rZW4pIHtcbiAgICAgICAgLy8gVHVlXG4gICAgICAgIGNhc2UgJ0UnOlxuICAgICAgICBjYXNlICdFRSc6XG4gICAgICAgIGNhc2UgJ0VFRSc6XG4gICAgICAgICAgcmV0dXJuIG1hdGNoLmRheShzdHJpbmcsIHtcbiAgICAgICAgICAgIHdpZHRoOiAnYWJicmV2aWF0ZWQnLFxuICAgICAgICAgICAgY29udGV4dDogJ2Zvcm1hdHRpbmcnXG4gICAgICAgICAgfSkgfHwgbWF0Y2guZGF5KHN0cmluZywge1xuICAgICAgICAgICAgd2lkdGg6ICdzaG9ydCcsXG4gICAgICAgICAgICBjb250ZXh0OiAnZm9ybWF0dGluZydcbiAgICAgICAgICB9KSB8fCBtYXRjaC5kYXkoc3RyaW5nLCB7XG4gICAgICAgICAgICB3aWR0aDogJ25hcnJvdycsXG4gICAgICAgICAgICBjb250ZXh0OiAnZm9ybWF0dGluZydcbiAgICAgICAgICB9KTtcbiAgICAgICAgLy8gVFxuXG4gICAgICAgIGNhc2UgJ0VFRUVFJzpcbiAgICAgICAgICByZXR1cm4gbWF0Y2guZGF5KHN0cmluZywge1xuICAgICAgICAgICAgd2lkdGg6ICduYXJyb3cnLFxuICAgICAgICAgICAgY29udGV4dDogJ2Zvcm1hdHRpbmcnXG4gICAgICAgICAgfSk7XG4gICAgICAgIC8vIFR1XG5cbiAgICAgICAgY2FzZSAnRUVFRUVFJzpcbiAgICAgICAgICByZXR1cm4gbWF0Y2guZGF5KHN0cmluZywge1xuICAgICAgICAgICAgd2lkdGg6ICdzaG9ydCcsXG4gICAgICAgICAgICBjb250ZXh0OiAnZm9ybWF0dGluZydcbiAgICAgICAgICB9KSB8fCBtYXRjaC5kYXkoc3RyaW5nLCB7XG4gICAgICAgICAgICB3aWR0aDogJ25hcnJvdycsXG4gICAgICAgICAgICBjb250ZXh0OiAnZm9ybWF0dGluZydcbiAgICAgICAgICB9KTtcbiAgICAgICAgLy8gVHVlc2RheVxuXG4gICAgICAgIGNhc2UgJ0VFRUUnOlxuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHJldHVybiBtYXRjaC5kYXkoc3RyaW5nLCB7XG4gICAgICAgICAgICB3aWR0aDogJ3dpZGUnLFxuICAgICAgICAgICAgY29udGV4dDogJ2Zvcm1hdHRpbmcnXG4gICAgICAgICAgfSkgfHwgbWF0Y2guZGF5KHN0cmluZywge1xuICAgICAgICAgICAgd2lkdGg6ICdhYmJyZXZpYXRlZCcsXG4gICAgICAgICAgICBjb250ZXh0OiAnZm9ybWF0dGluZydcbiAgICAgICAgICB9KSB8fCBtYXRjaC5kYXkoc3RyaW5nLCB7XG4gICAgICAgICAgICB3aWR0aDogJ3Nob3J0JyxcbiAgICAgICAgICAgIGNvbnRleHQ6ICdmb3JtYXR0aW5nJ1xuICAgICAgICAgIH0pIHx8IG1hdGNoLmRheShzdHJpbmcsIHtcbiAgICAgICAgICAgIHdpZHRoOiAnbmFycm93JyxcbiAgICAgICAgICAgIGNvbnRleHQ6ICdmb3JtYXR0aW5nJ1xuICAgICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0sXG4gICAgdmFsaWRhdGU6IGZ1bmN0aW9uIChfZGF0ZSwgdmFsdWUsIF9vcHRpb25zKSB7XG4gICAgICByZXR1cm4gdmFsdWUgPj0gMCAmJiB2YWx1ZSA8PSA2O1xuICAgIH0sXG4gICAgc2V0OiBmdW5jdGlvbiAoZGF0ZSwgX2ZsYWdzLCB2YWx1ZSwgb3B0aW9ucykge1xuICAgICAgZGF0ZSA9IHNldFVUQ0RheShkYXRlLCB2YWx1ZSwgb3B0aW9ucyk7XG4gICAgICBkYXRlLnNldFVUQ0hvdXJzKDAsIDAsIDAsIDApO1xuICAgICAgcmV0dXJuIGRhdGU7XG4gICAgfSxcbiAgICBpbmNvbXBhdGlibGVUb2tlbnM6IFsnRCcsICdpJywgJ2UnLCAnYycsICd0JywgJ1QnXVxuICB9LFxuICAvLyBMb2NhbCBkYXkgb2Ygd2Vla1xuICBlOiB7XG4gICAgcHJpb3JpdHk6IDkwLFxuICAgIHBhcnNlOiBmdW5jdGlvbiAoc3RyaW5nLCB0b2tlbiwgbWF0Y2gsIG9wdGlvbnMpIHtcbiAgICAgIHZhciB2YWx1ZUNhbGxiYWNrID0gZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgICAgIHZhciB3aG9sZVdlZWtEYXlzID0gTWF0aC5mbG9vcigodmFsdWUgLSAxKSAvIDcpICogNztcbiAgICAgICAgcmV0dXJuICh2YWx1ZSArIG9wdGlvbnMud2Vla1N0YXJ0c09uICsgNikgJSA3ICsgd2hvbGVXZWVrRGF5cztcbiAgICAgIH07XG5cbiAgICAgIHN3aXRjaCAodG9rZW4pIHtcbiAgICAgICAgLy8gM1xuICAgICAgICBjYXNlICdlJzpcbiAgICAgICAgY2FzZSAnZWUnOlxuICAgICAgICAgIC8vIDAzXG4gICAgICAgICAgcmV0dXJuIHBhcnNlTkRpZ2l0cyh0b2tlbi5sZW5ndGgsIHN0cmluZywgdmFsdWVDYWxsYmFjayk7XG4gICAgICAgIC8vIDNyZFxuXG4gICAgICAgIGNhc2UgJ2VvJzpcbiAgICAgICAgICByZXR1cm4gbWF0Y2gub3JkaW5hbE51bWJlcihzdHJpbmcsIHtcbiAgICAgICAgICAgIHVuaXQ6ICdkYXknLFxuICAgICAgICAgICAgdmFsdWVDYWxsYmFjazogdmFsdWVDYWxsYmFja1xuICAgICAgICAgIH0pO1xuICAgICAgICAvLyBUdWVcblxuICAgICAgICBjYXNlICdlZWUnOlxuICAgICAgICAgIHJldHVybiBtYXRjaC5kYXkoc3RyaW5nLCB7XG4gICAgICAgICAgICB3aWR0aDogJ2FiYnJldmlhdGVkJyxcbiAgICAgICAgICAgIGNvbnRleHQ6ICdmb3JtYXR0aW5nJ1xuICAgICAgICAgIH0pIHx8IG1hdGNoLmRheShzdHJpbmcsIHtcbiAgICAgICAgICAgIHdpZHRoOiAnc2hvcnQnLFxuICAgICAgICAgICAgY29udGV4dDogJ2Zvcm1hdHRpbmcnXG4gICAgICAgICAgfSkgfHwgbWF0Y2guZGF5KHN0cmluZywge1xuICAgICAgICAgICAgd2lkdGg6ICduYXJyb3cnLFxuICAgICAgICAgICAgY29udGV4dDogJ2Zvcm1hdHRpbmcnXG4gICAgICAgICAgfSk7XG4gICAgICAgIC8vIFRcblxuICAgICAgICBjYXNlICdlZWVlZSc6XG4gICAgICAgICAgcmV0dXJuIG1hdGNoLmRheShzdHJpbmcsIHtcbiAgICAgICAgICAgIHdpZHRoOiAnbmFycm93JyxcbiAgICAgICAgICAgIGNvbnRleHQ6ICdmb3JtYXR0aW5nJ1xuICAgICAgICAgIH0pO1xuICAgICAgICAvLyBUdVxuXG4gICAgICAgIGNhc2UgJ2VlZWVlZSc6XG4gICAgICAgICAgcmV0dXJuIG1hdGNoLmRheShzdHJpbmcsIHtcbiAgICAgICAgICAgIHdpZHRoOiAnc2hvcnQnLFxuICAgICAgICAgICAgY29udGV4dDogJ2Zvcm1hdHRpbmcnXG4gICAgICAgICAgfSkgfHwgbWF0Y2guZGF5KHN0cmluZywge1xuICAgICAgICAgICAgd2lkdGg6ICduYXJyb3cnLFxuICAgICAgICAgICAgY29udGV4dDogJ2Zvcm1hdHRpbmcnXG4gICAgICAgICAgfSk7XG4gICAgICAgIC8vIFR1ZXNkYXlcblxuICAgICAgICBjYXNlICdlZWVlJzpcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICByZXR1cm4gbWF0Y2guZGF5KHN0cmluZywge1xuICAgICAgICAgICAgd2lkdGg6ICd3aWRlJyxcbiAgICAgICAgICAgIGNvbnRleHQ6ICdmb3JtYXR0aW5nJ1xuICAgICAgICAgIH0pIHx8IG1hdGNoLmRheShzdHJpbmcsIHtcbiAgICAgICAgICAgIHdpZHRoOiAnYWJicmV2aWF0ZWQnLFxuICAgICAgICAgICAgY29udGV4dDogJ2Zvcm1hdHRpbmcnXG4gICAgICAgICAgfSkgfHwgbWF0Y2guZGF5KHN0cmluZywge1xuICAgICAgICAgICAgd2lkdGg6ICdzaG9ydCcsXG4gICAgICAgICAgICBjb250ZXh0OiAnZm9ybWF0dGluZydcbiAgICAgICAgICB9KSB8fCBtYXRjaC5kYXkoc3RyaW5nLCB7XG4gICAgICAgICAgICB3aWR0aDogJ25hcnJvdycsXG4gICAgICAgICAgICBjb250ZXh0OiAnZm9ybWF0dGluZydcbiAgICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9LFxuICAgIHZhbGlkYXRlOiBmdW5jdGlvbiAoX2RhdGUsIHZhbHVlLCBfb3B0aW9ucykge1xuICAgICAgcmV0dXJuIHZhbHVlID49IDAgJiYgdmFsdWUgPD0gNjtcbiAgICB9LFxuICAgIHNldDogZnVuY3Rpb24gKGRhdGUsIF9mbGFncywgdmFsdWUsIG9wdGlvbnMpIHtcbiAgICAgIGRhdGUgPSBzZXRVVENEYXkoZGF0ZSwgdmFsdWUsIG9wdGlvbnMpO1xuICAgICAgZGF0ZS5zZXRVVENIb3VycygwLCAwLCAwLCAwKTtcbiAgICAgIHJldHVybiBkYXRlO1xuICAgIH0sXG4gICAgaW5jb21wYXRpYmxlVG9rZW5zOiBbJ3knLCAnUicsICd1JywgJ3EnLCAnUScsICdNJywgJ0wnLCAnSScsICdkJywgJ0QnLCAnRScsICdpJywgJ2MnLCAndCcsICdUJ11cbiAgfSxcbiAgLy8gU3RhbmQtYWxvbmUgbG9jYWwgZGF5IG9mIHdlZWtcbiAgYzoge1xuICAgIHByaW9yaXR5OiA5MCxcbiAgICBwYXJzZTogZnVuY3Rpb24gKHN0cmluZywgdG9rZW4sIG1hdGNoLCBvcHRpb25zKSB7XG4gICAgICB2YXIgdmFsdWVDYWxsYmFjayA9IGZ1bmN0aW9uICh2YWx1ZSkge1xuICAgICAgICB2YXIgd2hvbGVXZWVrRGF5cyA9IE1hdGguZmxvb3IoKHZhbHVlIC0gMSkgLyA3KSAqIDc7XG4gICAgICAgIHJldHVybiAodmFsdWUgKyBvcHRpb25zLndlZWtTdGFydHNPbiArIDYpICUgNyArIHdob2xlV2Vla0RheXM7XG4gICAgICB9O1xuXG4gICAgICBzd2l0Y2ggKHRva2VuKSB7XG4gICAgICAgIC8vIDNcbiAgICAgICAgY2FzZSAnYyc6XG4gICAgICAgIGNhc2UgJ2NjJzpcbiAgICAgICAgICAvLyAwM1xuICAgICAgICAgIHJldHVybiBwYXJzZU5EaWdpdHModG9rZW4ubGVuZ3RoLCBzdHJpbmcsIHZhbHVlQ2FsbGJhY2spO1xuICAgICAgICAvLyAzcmRcblxuICAgICAgICBjYXNlICdjbyc6XG4gICAgICAgICAgcmV0dXJuIG1hdGNoLm9yZGluYWxOdW1iZXIoc3RyaW5nLCB7XG4gICAgICAgICAgICB1bml0OiAnZGF5JyxcbiAgICAgICAgICAgIHZhbHVlQ2FsbGJhY2s6IHZhbHVlQ2FsbGJhY2tcbiAgICAgICAgICB9KTtcbiAgICAgICAgLy8gVHVlXG5cbiAgICAgICAgY2FzZSAnY2NjJzpcbiAgICAgICAgICByZXR1cm4gbWF0Y2guZGF5KHN0cmluZywge1xuICAgICAgICAgICAgd2lkdGg6ICdhYmJyZXZpYXRlZCcsXG4gICAgICAgICAgICBjb250ZXh0OiAnc3RhbmRhbG9uZSdcbiAgICAgICAgICB9KSB8fCBtYXRjaC5kYXkoc3RyaW5nLCB7XG4gICAgICAgICAgICB3aWR0aDogJ3Nob3J0JyxcbiAgICAgICAgICAgIGNvbnRleHQ6ICdzdGFuZGFsb25lJ1xuICAgICAgICAgIH0pIHx8IG1hdGNoLmRheShzdHJpbmcsIHtcbiAgICAgICAgICAgIHdpZHRoOiAnbmFycm93JyxcbiAgICAgICAgICAgIGNvbnRleHQ6ICdzdGFuZGFsb25lJ1xuICAgICAgICAgIH0pO1xuICAgICAgICAvLyBUXG5cbiAgICAgICAgY2FzZSAnY2NjY2MnOlxuICAgICAgICAgIHJldHVybiBtYXRjaC5kYXkoc3RyaW5nLCB7XG4gICAgICAgICAgICB3aWR0aDogJ25hcnJvdycsXG4gICAgICAgICAgICBjb250ZXh0OiAnc3RhbmRhbG9uZSdcbiAgICAgICAgICB9KTtcbiAgICAgICAgLy8gVHVcblxuICAgICAgICBjYXNlICdjY2NjY2MnOlxuICAgICAgICAgIHJldHVybiBtYXRjaC5kYXkoc3RyaW5nLCB7XG4gICAgICAgICAgICB3aWR0aDogJ3Nob3J0JyxcbiAgICAgICAgICAgIGNvbnRleHQ6ICdzdGFuZGFsb25lJ1xuICAgICAgICAgIH0pIHx8IG1hdGNoLmRheShzdHJpbmcsIHtcbiAgICAgICAgICAgIHdpZHRoOiAnbmFycm93JyxcbiAgICAgICAgICAgIGNvbnRleHQ6ICdzdGFuZGFsb25lJ1xuICAgICAgICAgIH0pO1xuICAgICAgICAvLyBUdWVzZGF5XG5cbiAgICAgICAgY2FzZSAnY2NjYyc6XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgcmV0dXJuIG1hdGNoLmRheShzdHJpbmcsIHtcbiAgICAgICAgICAgIHdpZHRoOiAnd2lkZScsXG4gICAgICAgICAgICBjb250ZXh0OiAnc3RhbmRhbG9uZSdcbiAgICAgICAgICB9KSB8fCBtYXRjaC5kYXkoc3RyaW5nLCB7XG4gICAgICAgICAgICB3aWR0aDogJ2FiYnJldmlhdGVkJyxcbiAgICAgICAgICAgIGNvbnRleHQ6ICdzdGFuZGFsb25lJ1xuICAgICAgICAgIH0pIHx8IG1hdGNoLmRheShzdHJpbmcsIHtcbiAgICAgICAgICAgIHdpZHRoOiAnc2hvcnQnLFxuICAgICAgICAgICAgY29udGV4dDogJ3N0YW5kYWxvbmUnXG4gICAgICAgICAgfSkgfHwgbWF0Y2guZGF5KHN0cmluZywge1xuICAgICAgICAgICAgd2lkdGg6ICduYXJyb3cnLFxuICAgICAgICAgICAgY29udGV4dDogJ3N0YW5kYWxvbmUnXG4gICAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSxcbiAgICB2YWxpZGF0ZTogZnVuY3Rpb24gKF9kYXRlLCB2YWx1ZSwgX29wdGlvbnMpIHtcbiAgICAgIHJldHVybiB2YWx1ZSA+PSAwICYmIHZhbHVlIDw9IDY7XG4gICAgfSxcbiAgICBzZXQ6IGZ1bmN0aW9uIChkYXRlLCBfZmxhZ3MsIHZhbHVlLCBvcHRpb25zKSB7XG4gICAgICBkYXRlID0gc2V0VVRDRGF5KGRhdGUsIHZhbHVlLCBvcHRpb25zKTtcbiAgICAgIGRhdGUuc2V0VVRDSG91cnMoMCwgMCwgMCwgMCk7XG4gICAgICByZXR1cm4gZGF0ZTtcbiAgICB9LFxuICAgIGluY29tcGF0aWJsZVRva2VuczogWyd5JywgJ1InLCAndScsICdxJywgJ1EnLCAnTScsICdMJywgJ0knLCAnZCcsICdEJywgJ0UnLCAnaScsICdlJywgJ3QnLCAnVCddXG4gIH0sXG4gIC8vIElTTyBkYXkgb2Ygd2Vla1xuICBpOiB7XG4gICAgcHJpb3JpdHk6IDkwLFxuICAgIHBhcnNlOiBmdW5jdGlvbiAoc3RyaW5nLCB0b2tlbiwgbWF0Y2gsIF9vcHRpb25zKSB7XG4gICAgICB2YXIgdmFsdWVDYWxsYmFjayA9IGZ1bmN0aW9uICh2YWx1ZSkge1xuICAgICAgICBpZiAodmFsdWUgPT09IDApIHtcbiAgICAgICAgICByZXR1cm4gNztcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgIH07XG5cbiAgICAgIHN3aXRjaCAodG9rZW4pIHtcbiAgICAgICAgLy8gMlxuICAgICAgICBjYXNlICdpJzpcbiAgICAgICAgY2FzZSAnaWknOlxuICAgICAgICAgIC8vIDAyXG4gICAgICAgICAgcmV0dXJuIHBhcnNlTkRpZ2l0cyh0b2tlbi5sZW5ndGgsIHN0cmluZyk7XG4gICAgICAgIC8vIDJuZFxuXG4gICAgICAgIGNhc2UgJ2lvJzpcbiAgICAgICAgICByZXR1cm4gbWF0Y2gub3JkaW5hbE51bWJlcihzdHJpbmcsIHtcbiAgICAgICAgICAgIHVuaXQ6ICdkYXknXG4gICAgICAgICAgfSk7XG4gICAgICAgIC8vIFR1ZVxuXG4gICAgICAgIGNhc2UgJ2lpaSc6XG4gICAgICAgICAgcmV0dXJuIG1hdGNoLmRheShzdHJpbmcsIHtcbiAgICAgICAgICAgIHdpZHRoOiAnYWJicmV2aWF0ZWQnLFxuICAgICAgICAgICAgY29udGV4dDogJ2Zvcm1hdHRpbmcnLFxuICAgICAgICAgICAgdmFsdWVDYWxsYmFjazogdmFsdWVDYWxsYmFja1xuICAgICAgICAgIH0pIHx8IG1hdGNoLmRheShzdHJpbmcsIHtcbiAgICAgICAgICAgIHdpZHRoOiAnc2hvcnQnLFxuICAgICAgICAgICAgY29udGV4dDogJ2Zvcm1hdHRpbmcnLFxuICAgICAgICAgICAgdmFsdWVDYWxsYmFjazogdmFsdWVDYWxsYmFja1xuICAgICAgICAgIH0pIHx8IG1hdGNoLmRheShzdHJpbmcsIHtcbiAgICAgICAgICAgIHdpZHRoOiAnbmFycm93JyxcbiAgICAgICAgICAgIGNvbnRleHQ6ICdmb3JtYXR0aW5nJyxcbiAgICAgICAgICAgIHZhbHVlQ2FsbGJhY2s6IHZhbHVlQ2FsbGJhY2tcbiAgICAgICAgICB9KTtcbiAgICAgICAgLy8gVFxuXG4gICAgICAgIGNhc2UgJ2lpaWlpJzpcbiAgICAgICAgICByZXR1cm4gbWF0Y2guZGF5KHN0cmluZywge1xuICAgICAgICAgICAgd2lkdGg6ICduYXJyb3cnLFxuICAgICAgICAgICAgY29udGV4dDogJ2Zvcm1hdHRpbmcnLFxuICAgICAgICAgICAgdmFsdWVDYWxsYmFjazogdmFsdWVDYWxsYmFja1xuICAgICAgICAgIH0pO1xuICAgICAgICAvLyBUdVxuXG4gICAgICAgIGNhc2UgJ2lpaWlpaSc6XG4gICAgICAgICAgcmV0dXJuIG1hdGNoLmRheShzdHJpbmcsIHtcbiAgICAgICAgICAgIHdpZHRoOiAnc2hvcnQnLFxuICAgICAgICAgICAgY29udGV4dDogJ2Zvcm1hdHRpbmcnLFxuICAgICAgICAgICAgdmFsdWVDYWxsYmFjazogdmFsdWVDYWxsYmFja1xuICAgICAgICAgIH0pIHx8IG1hdGNoLmRheShzdHJpbmcsIHtcbiAgICAgICAgICAgIHdpZHRoOiAnbmFycm93JyxcbiAgICAgICAgICAgIGNvbnRleHQ6ICdmb3JtYXR0aW5nJyxcbiAgICAgICAgICAgIHZhbHVlQ2FsbGJhY2s6IHZhbHVlQ2FsbGJhY2tcbiAgICAgICAgICB9KTtcbiAgICAgICAgLy8gVHVlc2RheVxuXG4gICAgICAgIGNhc2UgJ2lpaWknOlxuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHJldHVybiBtYXRjaC5kYXkoc3RyaW5nLCB7XG4gICAgICAgICAgICB3aWR0aDogJ3dpZGUnLFxuICAgICAgICAgICAgY29udGV4dDogJ2Zvcm1hdHRpbmcnLFxuICAgICAgICAgICAgdmFsdWVDYWxsYmFjazogdmFsdWVDYWxsYmFja1xuICAgICAgICAgIH0pIHx8IG1hdGNoLmRheShzdHJpbmcsIHtcbiAgICAgICAgICAgIHdpZHRoOiAnYWJicmV2aWF0ZWQnLFxuICAgICAgICAgICAgY29udGV4dDogJ2Zvcm1hdHRpbmcnLFxuICAgICAgICAgICAgdmFsdWVDYWxsYmFjazogdmFsdWVDYWxsYmFja1xuICAgICAgICAgIH0pIHx8IG1hdGNoLmRheShzdHJpbmcsIHtcbiAgICAgICAgICAgIHdpZHRoOiAnc2hvcnQnLFxuICAgICAgICAgICAgY29udGV4dDogJ2Zvcm1hdHRpbmcnLFxuICAgICAgICAgICAgdmFsdWVDYWxsYmFjazogdmFsdWVDYWxsYmFja1xuICAgICAgICAgIH0pIHx8IG1hdGNoLmRheShzdHJpbmcsIHtcbiAgICAgICAgICAgIHdpZHRoOiAnbmFycm93JyxcbiAgICAgICAgICAgIGNvbnRleHQ6ICdmb3JtYXR0aW5nJyxcbiAgICAgICAgICAgIHZhbHVlQ2FsbGJhY2s6IHZhbHVlQ2FsbGJhY2tcbiAgICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9LFxuICAgIHZhbGlkYXRlOiBmdW5jdGlvbiAoX2RhdGUsIHZhbHVlLCBfb3B0aW9ucykge1xuICAgICAgcmV0dXJuIHZhbHVlID49IDEgJiYgdmFsdWUgPD0gNztcbiAgICB9LFxuICAgIHNldDogZnVuY3Rpb24gKGRhdGUsIF9mbGFncywgdmFsdWUsIG9wdGlvbnMpIHtcbiAgICAgIGRhdGUgPSBzZXRVVENJU09EYXkoZGF0ZSwgdmFsdWUsIG9wdGlvbnMpO1xuICAgICAgZGF0ZS5zZXRVVENIb3VycygwLCAwLCAwLCAwKTtcbiAgICAgIHJldHVybiBkYXRlO1xuICAgIH0sXG4gICAgaW5jb21wYXRpYmxlVG9rZW5zOiBbJ3knLCAnWScsICd1JywgJ3EnLCAnUScsICdNJywgJ0wnLCAndycsICdkJywgJ0QnLCAnRScsICdlJywgJ2MnLCAndCcsICdUJ11cbiAgfSxcbiAgLy8gQU0gb3IgUE1cbiAgYToge1xuICAgIHByaW9yaXR5OiA4MCxcbiAgICBwYXJzZTogZnVuY3Rpb24gKHN0cmluZywgdG9rZW4sIG1hdGNoLCBfb3B0aW9ucykge1xuICAgICAgc3dpdGNoICh0b2tlbikge1xuICAgICAgICBjYXNlICdhJzpcbiAgICAgICAgY2FzZSAnYWEnOlxuICAgICAgICBjYXNlICdhYWEnOlxuICAgICAgICAgIHJldHVybiBtYXRjaC5kYXlQZXJpb2Qoc3RyaW5nLCB7XG4gICAgICAgICAgICB3aWR0aDogJ2FiYnJldmlhdGVkJyxcbiAgICAgICAgICAgIGNvbnRleHQ6ICdmb3JtYXR0aW5nJ1xuICAgICAgICAgIH0pIHx8IG1hdGNoLmRheVBlcmlvZChzdHJpbmcsIHtcbiAgICAgICAgICAgIHdpZHRoOiAnbmFycm93JyxcbiAgICAgICAgICAgIGNvbnRleHQ6ICdmb3JtYXR0aW5nJ1xuICAgICAgICAgIH0pO1xuXG4gICAgICAgIGNhc2UgJ2FhYWFhJzpcbiAgICAgICAgICByZXR1cm4gbWF0Y2guZGF5UGVyaW9kKHN0cmluZywge1xuICAgICAgICAgICAgd2lkdGg6ICduYXJyb3cnLFxuICAgICAgICAgICAgY29udGV4dDogJ2Zvcm1hdHRpbmcnXG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgY2FzZSAnYWFhYSc6XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgcmV0dXJuIG1hdGNoLmRheVBlcmlvZChzdHJpbmcsIHtcbiAgICAgICAgICAgIHdpZHRoOiAnd2lkZScsXG4gICAgICAgICAgICBjb250ZXh0OiAnZm9ybWF0dGluZydcbiAgICAgICAgICB9KSB8fCBtYXRjaC5kYXlQZXJpb2Qoc3RyaW5nLCB7XG4gICAgICAgICAgICB3aWR0aDogJ2FiYnJldmlhdGVkJyxcbiAgICAgICAgICAgIGNvbnRleHQ6ICdmb3JtYXR0aW5nJ1xuICAgICAgICAgIH0pIHx8IG1hdGNoLmRheVBlcmlvZChzdHJpbmcsIHtcbiAgICAgICAgICAgIHdpZHRoOiAnbmFycm93JyxcbiAgICAgICAgICAgIGNvbnRleHQ6ICdmb3JtYXR0aW5nJ1xuICAgICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0sXG4gICAgc2V0OiBmdW5jdGlvbiAoZGF0ZSwgX2ZsYWdzLCB2YWx1ZSwgX29wdGlvbnMpIHtcbiAgICAgIGRhdGUuc2V0VVRDSG91cnMoZGF5UGVyaW9kRW51bVRvSG91cnModmFsdWUpLCAwLCAwLCAwKTtcbiAgICAgIHJldHVybiBkYXRlO1xuICAgIH0sXG4gICAgaW5jb21wYXRpYmxlVG9rZW5zOiBbJ2InLCAnQicsICdIJywgJ0snLCAnaycsICd0JywgJ1QnXVxuICB9LFxuICAvLyBBTSwgUE0sIG1pZG5pZ2h0XG4gIGI6IHtcbiAgICBwcmlvcml0eTogODAsXG4gICAgcGFyc2U6IGZ1bmN0aW9uIChzdHJpbmcsIHRva2VuLCBtYXRjaCwgX29wdGlvbnMpIHtcbiAgICAgIHN3aXRjaCAodG9rZW4pIHtcbiAgICAgICAgY2FzZSAnYic6XG4gICAgICAgIGNhc2UgJ2JiJzpcbiAgICAgICAgY2FzZSAnYmJiJzpcbiAgICAgICAgICByZXR1cm4gbWF0Y2guZGF5UGVyaW9kKHN0cmluZywge1xuICAgICAgICAgICAgd2lkdGg6ICdhYmJyZXZpYXRlZCcsXG4gICAgICAgICAgICBjb250ZXh0OiAnZm9ybWF0dGluZydcbiAgICAgICAgICB9KSB8fCBtYXRjaC5kYXlQZXJpb2Qoc3RyaW5nLCB7XG4gICAgICAgICAgICB3aWR0aDogJ25hcnJvdycsXG4gICAgICAgICAgICBjb250ZXh0OiAnZm9ybWF0dGluZydcbiAgICAgICAgICB9KTtcblxuICAgICAgICBjYXNlICdiYmJiYic6XG4gICAgICAgICAgcmV0dXJuIG1hdGNoLmRheVBlcmlvZChzdHJpbmcsIHtcbiAgICAgICAgICAgIHdpZHRoOiAnbmFycm93JyxcbiAgICAgICAgICAgIGNvbnRleHQ6ICdmb3JtYXR0aW5nJ1xuICAgICAgICAgIH0pO1xuXG4gICAgICAgIGNhc2UgJ2JiYmInOlxuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHJldHVybiBtYXRjaC5kYXlQZXJpb2Qoc3RyaW5nLCB7XG4gICAgICAgICAgICB3aWR0aDogJ3dpZGUnLFxuICAgICAgICAgICAgY29udGV4dDogJ2Zvcm1hdHRpbmcnXG4gICAgICAgICAgfSkgfHwgbWF0Y2guZGF5UGVyaW9kKHN0cmluZywge1xuICAgICAgICAgICAgd2lkdGg6ICdhYmJyZXZpYXRlZCcsXG4gICAgICAgICAgICBjb250ZXh0OiAnZm9ybWF0dGluZydcbiAgICAgICAgICB9KSB8fCBtYXRjaC5kYXlQZXJpb2Qoc3RyaW5nLCB7XG4gICAgICAgICAgICB3aWR0aDogJ25hcnJvdycsXG4gICAgICAgICAgICBjb250ZXh0OiAnZm9ybWF0dGluZydcbiAgICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9LFxuICAgIHNldDogZnVuY3Rpb24gKGRhdGUsIF9mbGFncywgdmFsdWUsIF9vcHRpb25zKSB7XG4gICAgICBkYXRlLnNldFVUQ0hvdXJzKGRheVBlcmlvZEVudW1Ub0hvdXJzKHZhbHVlKSwgMCwgMCwgMCk7XG4gICAgICByZXR1cm4gZGF0ZTtcbiAgICB9LFxuICAgIGluY29tcGF0aWJsZVRva2VuczogWydhJywgJ0InLCAnSCcsICdLJywgJ2snLCAndCcsICdUJ11cbiAgfSxcbiAgLy8gaW4gdGhlIG1vcm5pbmcsIGluIHRoZSBhZnRlcm5vb24sIGluIHRoZSBldmVuaW5nLCBhdCBuaWdodFxuICBCOiB7XG4gICAgcHJpb3JpdHk6IDgwLFxuICAgIHBhcnNlOiBmdW5jdGlvbiAoc3RyaW5nLCB0b2tlbiwgbWF0Y2gsIF9vcHRpb25zKSB7XG4gICAgICBzd2l0Y2ggKHRva2VuKSB7XG4gICAgICAgIGNhc2UgJ0InOlxuICAgICAgICBjYXNlICdCQic6XG4gICAgICAgIGNhc2UgJ0JCQic6XG4gICAgICAgICAgcmV0dXJuIG1hdGNoLmRheVBlcmlvZChzdHJpbmcsIHtcbiAgICAgICAgICAgIHdpZHRoOiAnYWJicmV2aWF0ZWQnLFxuICAgICAgICAgICAgY29udGV4dDogJ2Zvcm1hdHRpbmcnXG4gICAgICAgICAgfSkgfHwgbWF0Y2guZGF5UGVyaW9kKHN0cmluZywge1xuICAgICAgICAgICAgd2lkdGg6ICduYXJyb3cnLFxuICAgICAgICAgICAgY29udGV4dDogJ2Zvcm1hdHRpbmcnXG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgY2FzZSAnQkJCQkInOlxuICAgICAgICAgIHJldHVybiBtYXRjaC5kYXlQZXJpb2Qoc3RyaW5nLCB7XG4gICAgICAgICAgICB3aWR0aDogJ25hcnJvdycsXG4gICAgICAgICAgICBjb250ZXh0OiAnZm9ybWF0dGluZydcbiAgICAgICAgICB9KTtcblxuICAgICAgICBjYXNlICdCQkJCJzpcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICByZXR1cm4gbWF0Y2guZGF5UGVyaW9kKHN0cmluZywge1xuICAgICAgICAgICAgd2lkdGg6ICd3aWRlJyxcbiAgICAgICAgICAgIGNvbnRleHQ6ICdmb3JtYXR0aW5nJ1xuICAgICAgICAgIH0pIHx8IG1hdGNoLmRheVBlcmlvZChzdHJpbmcsIHtcbiAgICAgICAgICAgIHdpZHRoOiAnYWJicmV2aWF0ZWQnLFxuICAgICAgICAgICAgY29udGV4dDogJ2Zvcm1hdHRpbmcnXG4gICAgICAgICAgfSkgfHwgbWF0Y2guZGF5UGVyaW9kKHN0cmluZywge1xuICAgICAgICAgICAgd2lkdGg6ICduYXJyb3cnLFxuICAgICAgICAgICAgY29udGV4dDogJ2Zvcm1hdHRpbmcnXG4gICAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSxcbiAgICBzZXQ6IGZ1bmN0aW9uIChkYXRlLCBfZmxhZ3MsIHZhbHVlLCBfb3B0aW9ucykge1xuICAgICAgZGF0ZS5zZXRVVENIb3VycyhkYXlQZXJpb2RFbnVtVG9Ib3Vycyh2YWx1ZSksIDAsIDAsIDApO1xuICAgICAgcmV0dXJuIGRhdGU7XG4gICAgfSxcbiAgICBpbmNvbXBhdGlibGVUb2tlbnM6IFsnYScsICdiJywgJ3QnLCAnVCddXG4gIH0sXG4gIC8vIEhvdXIgWzEtMTJdXG4gIGg6IHtcbiAgICBwcmlvcml0eTogNzAsXG4gICAgcGFyc2U6IGZ1bmN0aW9uIChzdHJpbmcsIHRva2VuLCBtYXRjaCwgX29wdGlvbnMpIHtcbiAgICAgIHN3aXRjaCAodG9rZW4pIHtcbiAgICAgICAgY2FzZSAnaCc6XG4gICAgICAgICAgcmV0dXJuIHBhcnNlTnVtZXJpY1BhdHRlcm4obnVtZXJpY1BhdHRlcm5zLmhvdXIxMmgsIHN0cmluZyk7XG5cbiAgICAgICAgY2FzZSAnaG8nOlxuICAgICAgICAgIHJldHVybiBtYXRjaC5vcmRpbmFsTnVtYmVyKHN0cmluZywge1xuICAgICAgICAgICAgdW5pdDogJ2hvdXInXG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICByZXR1cm4gcGFyc2VORGlnaXRzKHRva2VuLmxlbmd0aCwgc3RyaW5nKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIHZhbGlkYXRlOiBmdW5jdGlvbiAoX2RhdGUsIHZhbHVlLCBfb3B0aW9ucykge1xuICAgICAgcmV0dXJuIHZhbHVlID49IDEgJiYgdmFsdWUgPD0gMTI7XG4gICAgfSxcbiAgICBzZXQ6IGZ1bmN0aW9uIChkYXRlLCBfZmxhZ3MsIHZhbHVlLCBfb3B0aW9ucykge1xuICAgICAgdmFyIGlzUE0gPSBkYXRlLmdldFVUQ0hvdXJzKCkgPj0gMTI7XG5cbiAgICAgIGlmIChpc1BNICYmIHZhbHVlIDwgMTIpIHtcbiAgICAgICAgZGF0ZS5zZXRVVENIb3Vycyh2YWx1ZSArIDEyLCAwLCAwLCAwKTtcbiAgICAgIH0gZWxzZSBpZiAoIWlzUE0gJiYgdmFsdWUgPT09IDEyKSB7XG4gICAgICAgIGRhdGUuc2V0VVRDSG91cnMoMCwgMCwgMCwgMCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBkYXRlLnNldFVUQ0hvdXJzKHZhbHVlLCAwLCAwLCAwKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGRhdGU7XG4gICAgfSxcbiAgICBpbmNvbXBhdGlibGVUb2tlbnM6IFsnSCcsICdLJywgJ2snLCAndCcsICdUJ11cbiAgfSxcbiAgLy8gSG91ciBbMC0yM11cbiAgSDoge1xuICAgIHByaW9yaXR5OiA3MCxcbiAgICBwYXJzZTogZnVuY3Rpb24gKHN0cmluZywgdG9rZW4sIG1hdGNoLCBfb3B0aW9ucykge1xuICAgICAgc3dpdGNoICh0b2tlbikge1xuICAgICAgICBjYXNlICdIJzpcbiAgICAgICAgICByZXR1cm4gcGFyc2VOdW1lcmljUGF0dGVybihudW1lcmljUGF0dGVybnMuaG91cjIzaCwgc3RyaW5nKTtcblxuICAgICAgICBjYXNlICdIbyc6XG4gICAgICAgICAgcmV0dXJuIG1hdGNoLm9yZGluYWxOdW1iZXIoc3RyaW5nLCB7XG4gICAgICAgICAgICB1bml0OiAnaG91cidcbiAgICAgICAgICB9KTtcblxuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHJldHVybiBwYXJzZU5EaWdpdHModG9rZW4ubGVuZ3RoLCBzdHJpbmcpO1xuICAgICAgfVxuICAgIH0sXG4gICAgdmFsaWRhdGU6IGZ1bmN0aW9uIChfZGF0ZSwgdmFsdWUsIF9vcHRpb25zKSB7XG4gICAgICByZXR1cm4gdmFsdWUgPj0gMCAmJiB2YWx1ZSA8PSAyMztcbiAgICB9LFxuICAgIHNldDogZnVuY3Rpb24gKGRhdGUsIF9mbGFncywgdmFsdWUsIF9vcHRpb25zKSB7XG4gICAgICBkYXRlLnNldFVUQ0hvdXJzKHZhbHVlLCAwLCAwLCAwKTtcbiAgICAgIHJldHVybiBkYXRlO1xuICAgIH0sXG4gICAgaW5jb21wYXRpYmxlVG9rZW5zOiBbJ2EnLCAnYicsICdoJywgJ0snLCAnaycsICd0JywgJ1QnXVxuICB9LFxuICAvLyBIb3VyIFswLTExXVxuICBLOiB7XG4gICAgcHJpb3JpdHk6IDcwLFxuICAgIHBhcnNlOiBmdW5jdGlvbiAoc3RyaW5nLCB0b2tlbiwgbWF0Y2gsIF9vcHRpb25zKSB7XG4gICAgICBzd2l0Y2ggKHRva2VuKSB7XG4gICAgICAgIGNhc2UgJ0snOlxuICAgICAgICAgIHJldHVybiBwYXJzZU51bWVyaWNQYXR0ZXJuKG51bWVyaWNQYXR0ZXJucy5ob3VyMTFoLCBzdHJpbmcpO1xuXG4gICAgICAgIGNhc2UgJ0tvJzpcbiAgICAgICAgICByZXR1cm4gbWF0Y2gub3JkaW5hbE51bWJlcihzdHJpbmcsIHtcbiAgICAgICAgICAgIHVuaXQ6ICdob3VyJ1xuICAgICAgICAgIH0pO1xuXG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgcmV0dXJuIHBhcnNlTkRpZ2l0cyh0b2tlbi5sZW5ndGgsIHN0cmluZyk7XG4gICAgICB9XG4gICAgfSxcbiAgICB2YWxpZGF0ZTogZnVuY3Rpb24gKF9kYXRlLCB2YWx1ZSwgX29wdGlvbnMpIHtcbiAgICAgIHJldHVybiB2YWx1ZSA+PSAwICYmIHZhbHVlIDw9IDExO1xuICAgIH0sXG4gICAgc2V0OiBmdW5jdGlvbiAoZGF0ZSwgX2ZsYWdzLCB2YWx1ZSwgX29wdGlvbnMpIHtcbiAgICAgIHZhciBpc1BNID0gZGF0ZS5nZXRVVENIb3VycygpID49IDEyO1xuXG4gICAgICBpZiAoaXNQTSAmJiB2YWx1ZSA8IDEyKSB7XG4gICAgICAgIGRhdGUuc2V0VVRDSG91cnModmFsdWUgKyAxMiwgMCwgMCwgMCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBkYXRlLnNldFVUQ0hvdXJzKHZhbHVlLCAwLCAwLCAwKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGRhdGU7XG4gICAgfSxcbiAgICBpbmNvbXBhdGlibGVUb2tlbnM6IFsnYScsICdiJywgJ2gnLCAnSCcsICdrJywgJ3QnLCAnVCddXG4gIH0sXG4gIC8vIEhvdXIgWzEtMjRdXG4gIGs6IHtcbiAgICBwcmlvcml0eTogNzAsXG4gICAgcGFyc2U6IGZ1bmN0aW9uIChzdHJpbmcsIHRva2VuLCBtYXRjaCwgX29wdGlvbnMpIHtcbiAgICAgIHN3aXRjaCAodG9rZW4pIHtcbiAgICAgICAgY2FzZSAnayc6XG4gICAgICAgICAgcmV0dXJuIHBhcnNlTnVtZXJpY1BhdHRlcm4obnVtZXJpY1BhdHRlcm5zLmhvdXIyNGgsIHN0cmluZyk7XG5cbiAgICAgICAgY2FzZSAna28nOlxuICAgICAgICAgIHJldHVybiBtYXRjaC5vcmRpbmFsTnVtYmVyKHN0cmluZywge1xuICAgICAgICAgICAgdW5pdDogJ2hvdXInXG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICByZXR1cm4gcGFyc2VORGlnaXRzKHRva2VuLmxlbmd0aCwgc3RyaW5nKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIHZhbGlkYXRlOiBmdW5jdGlvbiAoX2RhdGUsIHZhbHVlLCBfb3B0aW9ucykge1xuICAgICAgcmV0dXJuIHZhbHVlID49IDEgJiYgdmFsdWUgPD0gMjQ7XG4gICAgfSxcbiAgICBzZXQ6IGZ1bmN0aW9uIChkYXRlLCBfZmxhZ3MsIHZhbHVlLCBfb3B0aW9ucykge1xuICAgICAgdmFyIGhvdXJzID0gdmFsdWUgPD0gMjQgPyB2YWx1ZSAlIDI0IDogdmFsdWU7XG4gICAgICBkYXRlLnNldFVUQ0hvdXJzKGhvdXJzLCAwLCAwLCAwKTtcbiAgICAgIHJldHVybiBkYXRlO1xuICAgIH0sXG4gICAgaW5jb21wYXRpYmxlVG9rZW5zOiBbJ2EnLCAnYicsICdoJywgJ0gnLCAnSycsICd0JywgJ1QnXVxuICB9LFxuICAvLyBNaW51dGVcbiAgbToge1xuICAgIHByaW9yaXR5OiA2MCxcbiAgICBwYXJzZTogZnVuY3Rpb24gKHN0cmluZywgdG9rZW4sIG1hdGNoLCBfb3B0aW9ucykge1xuICAgICAgc3dpdGNoICh0b2tlbikge1xuICAgICAgICBjYXNlICdtJzpcbiAgICAgICAgICByZXR1cm4gcGFyc2VOdW1lcmljUGF0dGVybihudW1lcmljUGF0dGVybnMubWludXRlLCBzdHJpbmcpO1xuXG4gICAgICAgIGNhc2UgJ21vJzpcbiAgICAgICAgICByZXR1cm4gbWF0Y2gub3JkaW5hbE51bWJlcihzdHJpbmcsIHtcbiAgICAgICAgICAgIHVuaXQ6ICdtaW51dGUnXG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICByZXR1cm4gcGFyc2VORGlnaXRzKHRva2VuLmxlbmd0aCwgc3RyaW5nKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIHZhbGlkYXRlOiBmdW5jdGlvbiAoX2RhdGUsIHZhbHVlLCBfb3B0aW9ucykge1xuICAgICAgcmV0dXJuIHZhbHVlID49IDAgJiYgdmFsdWUgPD0gNTk7XG4gICAgfSxcbiAgICBzZXQ6IGZ1bmN0aW9uIChkYXRlLCBfZmxhZ3MsIHZhbHVlLCBfb3B0aW9ucykge1xuICAgICAgZGF0ZS5zZXRVVENNaW51dGVzKHZhbHVlLCAwLCAwKTtcbiAgICAgIHJldHVybiBkYXRlO1xuICAgIH0sXG4gICAgaW5jb21wYXRpYmxlVG9rZW5zOiBbJ3QnLCAnVCddXG4gIH0sXG4gIC8vIFNlY29uZFxuICBzOiB7XG4gICAgcHJpb3JpdHk6IDUwLFxuICAgIHBhcnNlOiBmdW5jdGlvbiAoc3RyaW5nLCB0b2tlbiwgbWF0Y2gsIF9vcHRpb25zKSB7XG4gICAgICBzd2l0Y2ggKHRva2VuKSB7XG4gICAgICAgIGNhc2UgJ3MnOlxuICAgICAgICAgIHJldHVybiBwYXJzZU51bWVyaWNQYXR0ZXJuKG51bWVyaWNQYXR0ZXJucy5zZWNvbmQsIHN0cmluZyk7XG5cbiAgICAgICAgY2FzZSAnc28nOlxuICAgICAgICAgIHJldHVybiBtYXRjaC5vcmRpbmFsTnVtYmVyKHN0cmluZywge1xuICAgICAgICAgICAgdW5pdDogJ3NlY29uZCdcbiAgICAgICAgICB9KTtcblxuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHJldHVybiBwYXJzZU5EaWdpdHModG9rZW4ubGVuZ3RoLCBzdHJpbmcpO1xuICAgICAgfVxuICAgIH0sXG4gICAgdmFsaWRhdGU6IGZ1bmN0aW9uIChfZGF0ZSwgdmFsdWUsIF9vcHRpb25zKSB7XG4gICAgICByZXR1cm4gdmFsdWUgPj0gMCAmJiB2YWx1ZSA8PSA1OTtcbiAgICB9LFxuICAgIHNldDogZnVuY3Rpb24gKGRhdGUsIF9mbGFncywgdmFsdWUsIF9vcHRpb25zKSB7XG4gICAgICBkYXRlLnNldFVUQ1NlY29uZHModmFsdWUsIDApO1xuICAgICAgcmV0dXJuIGRhdGU7XG4gICAgfSxcbiAgICBpbmNvbXBhdGlibGVUb2tlbnM6IFsndCcsICdUJ11cbiAgfSxcbiAgLy8gRnJhY3Rpb24gb2Ygc2Vjb25kXG4gIFM6IHtcbiAgICBwcmlvcml0eTogMzAsXG4gICAgcGFyc2U6IGZ1bmN0aW9uIChzdHJpbmcsIHRva2VuLCBfbWF0Y2gsIF9vcHRpb25zKSB7XG4gICAgICB2YXIgdmFsdWVDYWxsYmFjayA9IGZ1bmN0aW9uICh2YWx1ZSkge1xuICAgICAgICByZXR1cm4gTWF0aC5mbG9vcih2YWx1ZSAqIE1hdGgucG93KDEwLCAtdG9rZW4ubGVuZ3RoICsgMykpO1xuICAgICAgfTtcblxuICAgICAgcmV0dXJuIHBhcnNlTkRpZ2l0cyh0b2tlbi5sZW5ndGgsIHN0cmluZywgdmFsdWVDYWxsYmFjayk7XG4gICAgfSxcbiAgICBzZXQ6IGZ1bmN0aW9uIChkYXRlLCBfZmxhZ3MsIHZhbHVlLCBfb3B0aW9ucykge1xuICAgICAgZGF0ZS5zZXRVVENNaWxsaXNlY29uZHModmFsdWUpO1xuICAgICAgcmV0dXJuIGRhdGU7XG4gICAgfSxcbiAgICBpbmNvbXBhdGlibGVUb2tlbnM6IFsndCcsICdUJ11cbiAgfSxcbiAgLy8gVGltZXpvbmUgKElTTy04NjAxLiArMDA6MDAgaXMgYCdaJ2ApXG4gIFg6IHtcbiAgICBwcmlvcml0eTogMTAsXG4gICAgcGFyc2U6IGZ1bmN0aW9uIChzdHJpbmcsIHRva2VuLCBfbWF0Y2gsIF9vcHRpb25zKSB7XG4gICAgICBzd2l0Y2ggKHRva2VuKSB7XG4gICAgICAgIGNhc2UgJ1gnOlxuICAgICAgICAgIHJldHVybiBwYXJzZVRpbWV6b25lUGF0dGVybih0aW1lem9uZVBhdHRlcm5zLmJhc2ljT3B0aW9uYWxNaW51dGVzLCBzdHJpbmcpO1xuXG4gICAgICAgIGNhc2UgJ1hYJzpcbiAgICAgICAgICByZXR1cm4gcGFyc2VUaW1lem9uZVBhdHRlcm4odGltZXpvbmVQYXR0ZXJucy5iYXNpYywgc3RyaW5nKTtcblxuICAgICAgICBjYXNlICdYWFhYJzpcbiAgICAgICAgICByZXR1cm4gcGFyc2VUaW1lem9uZVBhdHRlcm4odGltZXpvbmVQYXR0ZXJucy5iYXNpY09wdGlvbmFsU2Vjb25kcywgc3RyaW5nKTtcblxuICAgICAgICBjYXNlICdYWFhYWCc6XG4gICAgICAgICAgcmV0dXJuIHBhcnNlVGltZXpvbmVQYXR0ZXJuKHRpbWV6b25lUGF0dGVybnMuZXh0ZW5kZWRPcHRpb25hbFNlY29uZHMsIHN0cmluZyk7XG5cbiAgICAgICAgY2FzZSAnWFhYJzpcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICByZXR1cm4gcGFyc2VUaW1lem9uZVBhdHRlcm4odGltZXpvbmVQYXR0ZXJucy5leHRlbmRlZCwgc3RyaW5nKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIHNldDogZnVuY3Rpb24gKGRhdGUsIGZsYWdzLCB2YWx1ZSwgX29wdGlvbnMpIHtcbiAgICAgIGlmIChmbGFncy50aW1lc3RhbXBJc1NldCkge1xuICAgICAgICByZXR1cm4gZGF0ZTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG5ldyBEYXRlKGRhdGUuZ2V0VGltZSgpIC0gdmFsdWUpO1xuICAgIH0sXG4gICAgaW5jb21wYXRpYmxlVG9rZW5zOiBbJ3QnLCAnVCcsICd4J11cbiAgfSxcbiAgLy8gVGltZXpvbmUgKElTTy04NjAxKVxuICB4OiB7XG4gICAgcHJpb3JpdHk6IDEwLFxuICAgIHBhcnNlOiBmdW5jdGlvbiAoc3RyaW5nLCB0b2tlbiwgX21hdGNoLCBfb3B0aW9ucykge1xuICAgICAgc3dpdGNoICh0b2tlbikge1xuICAgICAgICBjYXNlICd4JzpcbiAgICAgICAgICByZXR1cm4gcGFyc2VUaW1lem9uZVBhdHRlcm4odGltZXpvbmVQYXR0ZXJucy5iYXNpY09wdGlvbmFsTWludXRlcywgc3RyaW5nKTtcblxuICAgICAgICBjYXNlICd4eCc6XG4gICAgICAgICAgcmV0dXJuIHBhcnNlVGltZXpvbmVQYXR0ZXJuKHRpbWV6b25lUGF0dGVybnMuYmFzaWMsIHN0cmluZyk7XG5cbiAgICAgICAgY2FzZSAneHh4eCc6XG4gICAgICAgICAgcmV0dXJuIHBhcnNlVGltZXpvbmVQYXR0ZXJuKHRpbWV6b25lUGF0dGVybnMuYmFzaWNPcHRpb25hbFNlY29uZHMsIHN0cmluZyk7XG5cbiAgICAgICAgY2FzZSAneHh4eHgnOlxuICAgICAgICAgIHJldHVybiBwYXJzZVRpbWV6b25lUGF0dGVybih0aW1lem9uZVBhdHRlcm5zLmV4dGVuZGVkT3B0aW9uYWxTZWNvbmRzLCBzdHJpbmcpO1xuXG4gICAgICAgIGNhc2UgJ3h4eCc6XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgcmV0dXJuIHBhcnNlVGltZXpvbmVQYXR0ZXJuKHRpbWV6b25lUGF0dGVybnMuZXh0ZW5kZWQsIHN0cmluZyk7XG4gICAgICB9XG4gICAgfSxcbiAgICBzZXQ6IGZ1bmN0aW9uIChkYXRlLCBmbGFncywgdmFsdWUsIF9vcHRpb25zKSB7XG4gICAgICBpZiAoZmxhZ3MudGltZXN0YW1wSXNTZXQpIHtcbiAgICAgICAgcmV0dXJuIGRhdGU7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBuZXcgRGF0ZShkYXRlLmdldFRpbWUoKSAtIHZhbHVlKTtcbiAgICB9LFxuICAgIGluY29tcGF0aWJsZVRva2VuczogWyd0JywgJ1QnLCAnWCddXG4gIH0sXG4gIC8vIFNlY29uZHMgdGltZXN0YW1wXG4gIHQ6IHtcbiAgICBwcmlvcml0eTogNDAsXG4gICAgcGFyc2U6IGZ1bmN0aW9uIChzdHJpbmcsIF90b2tlbiwgX21hdGNoLCBfb3B0aW9ucykge1xuICAgICAgcmV0dXJuIHBhcnNlQW55RGlnaXRzU2lnbmVkKHN0cmluZyk7XG4gICAgfSxcbiAgICBzZXQ6IGZ1bmN0aW9uIChfZGF0ZSwgX2ZsYWdzLCB2YWx1ZSwgX29wdGlvbnMpIHtcbiAgICAgIHJldHVybiBbbmV3IERhdGUodmFsdWUgKiAxMDAwKSwge1xuICAgICAgICB0aW1lc3RhbXBJc1NldDogdHJ1ZVxuICAgICAgfV07XG4gICAgfSxcbiAgICBpbmNvbXBhdGlibGVUb2tlbnM6ICcqJ1xuICB9LFxuICAvLyBNaWxsaXNlY29uZHMgdGltZXN0YW1wXG4gIFQ6IHtcbiAgICBwcmlvcml0eTogMjAsXG4gICAgcGFyc2U6IGZ1bmN0aW9uIChzdHJpbmcsIF90b2tlbiwgX21hdGNoLCBfb3B0aW9ucykge1xuICAgICAgcmV0dXJuIHBhcnNlQW55RGlnaXRzU2lnbmVkKHN0cmluZyk7XG4gICAgfSxcbiAgICBzZXQ6IGZ1bmN0aW9uIChfZGF0ZSwgX2ZsYWdzLCB2YWx1ZSwgX29wdGlvbnMpIHtcbiAgICAgIHJldHVybiBbbmV3IERhdGUodmFsdWUpLCB7XG4gICAgICAgIHRpbWVzdGFtcElzU2V0OiB0cnVlXG4gICAgICB9XTtcbiAgICB9LFxuICAgIGluY29tcGF0aWJsZVRva2VuczogJyonXG4gIH1cbn07XG5leHBvcnQgZGVmYXVsdCBwYXJzZXJzOyJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/parse/_lib/parsers/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/parse/index.js": /*!**************************************************!*\ !*** ./node_modules/date-fns/esm/parse/index.js ***! \**************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return parse; });\n/* harmony import */ var _locale_en_US_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../locale/en-US/index.js */ \"./node_modules/date-fns/esm/locale/en-US/index.js\");\n/* harmony import */ var _subMilliseconds_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../subMilliseconds/index.js */ \"./node_modules/date-fns/esm/subMilliseconds/index.js\");\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n/* harmony import */ var _lib_assign_index_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../_lib/assign/index.js */ \"./node_modules/date-fns/esm/_lib/assign/index.js\");\n/* harmony import */ var _lib_format_longFormatters_index_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../_lib/format/longFormatters/index.js */ \"./node_modules/date-fns/esm/_lib/format/longFormatters/index.js\");\n/* harmony import */ var _lib_getTimezoneOffsetInMilliseconds_index_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../_lib/getTimezoneOffsetInMilliseconds/index.js */ \"./node_modules/date-fns/esm/_lib/getTimezoneOffsetInMilliseconds/index.js\");\n/* harmony import */ var _lib_protectedTokens_index_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../_lib/protectedTokens/index.js */ \"./node_modules/date-fns/esm/_lib/protectedTokens/index.js\");\n/* harmony import */ var _lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../_lib/toInteger/index.js */ \"./node_modules/date-fns/esm/_lib/toInteger/index.js\");\n/* harmony import */ var _lib_parsers_index_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./_lib/parsers/index.js */ \"./node_modules/date-fns/esm/parse/_lib/parsers/index.js\");\n\n\n\n\n\n\n\n\n\nvar TIMEZONE_UNIT_PRIORITY = 10; // This RegExp consists of three parts separated by `|`:\n// - [yYQqMLwIdDecihHKkms]o matches any available ordinal number token\n// (one of the certain letters followed by `o`)\n// - (\\w)\\1* matches any sequences of the same letter\n// - '' matches two quote characters in a row\n// - '(''|[^'])+('|$) matches anything surrounded by two quote characters ('),\n// except a single quote symbol, which ends the sequence.\n// Two quote characters do not end the sequence.\n// If there is no matching single quote\n// then the sequence will continue until the end of the string.\n// - . matches any single character unmatched by previous parts of the RegExps\n\nvar formattingTokensRegExp = /[yYQqMLwIdDecihHKkms]o|(\\w)\\1*|''|'(''|[^'])+('|$)|./g; // This RegExp catches symbols escaped by quotes, and also\n// sequences of symbols P, p, and the combinations like `PPPPPPPppppp`\n\nvar longFormattingTokensRegExp = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g;\nvar escapedStringRegExp = /^'(.*?)'?$/;\nvar doubleQuoteRegExp = /''/g;\nvar notWhitespaceRegExp = /\\S/;\nvar unescapedLatinCharacterRegExp = /[a-zA-Z]/;\n/**\n * @name parse\n * @category Common Helpers\n * @summary Parse the date.\n *\n * @description\n * Return the date parsed from string using the given format string.\n *\n * > ⚠️ Please note that the `format` tokens differ from Moment.js and other libraries.\n * > See: https://git.io/fxCyr\n *\n * The characters in the format string wrapped between two single quotes characters (') are escaped.\n * Two single quotes in a row, whether inside or outside a quoted sequence, represent a 'real' single quote.\n *\n * Format of the format string is based on Unicode Technical Standard #35:\n * https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * with a few additions (see note 5 below the table).\n *\n * Not all tokens are compatible. Combinations that don't make sense or could lead to bugs are prohibited\n * and will throw `RangeError`. For example usage of 24-hour format token with AM/PM token will throw an exception:\n *\n * ```javascript\n * parse('23 AM', 'HH a', new Date())\n * //=> RangeError: The format string mustn't contain `HH` and `a` at the same time\n * ```\n *\n * See the compatibility table: https://docs.google.com/spreadsheets/d/e/2PACX-1vQOPU3xUhplll6dyoMmVUXHKl_8CRDs6_ueLmex3SoqwhuolkuN3O05l4rqx5h1dKX8eb46Ul-CCSrq/pubhtml?gid=0&single=true\n *\n * Accepted format string patterns:\n * | Unit |Prior| Pattern | Result examples | Notes |\n * |---------------------------------|-----|---------|-----------------------------------|-------|\n * | Era | 140 | G..GGG | AD, BC | |\n * | | | GGGG | Anno Domini, Before Christ | 2 |\n * | | | GGGGG | A, B | |\n * | Calendar year | 130 | y | 44, 1, 1900, 2017, 9999 | 4 |\n * | | | yo | 44th, 1st, 1900th, 9999999th | 4,5 |\n * | | | yy | 44, 01, 00, 17 | 4 |\n * | | | yyy | 044, 001, 123, 999 | 4 |\n * | | | yyyy | 0044, 0001, 1900, 2017 | 4 |\n * | | | yyyyy | ... | 2,4 |\n * | Local week-numbering year | 130 | Y | 44, 1, 1900, 2017, 9000 | 4 |\n * | | | Yo | 44th, 1st, 1900th, 9999999th | 4,5 |\n * | | | YY | 44, 01, 00, 17 | 4,6 |\n * | | | YYY | 044, 001, 123, 999 | 4 |\n * | | | YYYY | 0044, 0001, 1900, 2017 | 4,6 |\n * | | | YYYYY | ... | 2,4 |\n * | ISO week-numbering year | 130 | R | -43, 1, 1900, 2017, 9999, -9999 | 4,5 |\n * | | | RR | -43, 01, 00, 17 | 4,5 |\n * | | | RRR | -043, 001, 123, 999, -999 | 4,5 |\n * | | | RRRR | -0043, 0001, 2017, 9999, -9999 | 4,5 |\n * | | | RRRRR | ... | 2,4,5 |\n * | Extended year | 130 | u | -43, 1, 1900, 2017, 9999, -999 | 4 |\n * | | | uu | -43, 01, 99, -99 | 4 |\n * | | | uuu | -043, 001, 123, 999, -999 | 4 |\n * | | | uuuu | -0043, 0001, 2017, 9999, -9999 | 4 |\n * | | | uuuuu | ... | 2,4 |\n * | Quarter (formatting) | 120 | Q | 1, 2, 3, 4 | |\n * | | | Qo | 1st, 2nd, 3rd, 4th | 5 |\n * | | | QQ | 01, 02, 03, 04 | |\n * | | | QQQ | Q1, Q2, Q3, Q4 | |\n * | | | QQQQ | 1st quarter, 2nd quarter, ... | 2 |\n * | | | QQQQQ | 1, 2, 3, 4 | 4 |\n * | Quarter (stand-alone) | 120 | q | 1, 2, 3, 4 | |\n * | | | qo | 1st, 2nd, 3rd, 4th | 5 |\n * | | | qq | 01, 02, 03, 04 | |\n * | | | qqq | Q1, Q2, Q3, Q4 | |\n * | | | qqqq | 1st quarter, 2nd quarter, ... | 2 |\n * | | | qqqqq | 1, 2, 3, 4 | 3 |\n * | Month (formatting) | 110 | M | 1, 2, ..., 12 | |\n * | | | Mo | 1st, 2nd, ..., 12th | 5 |\n * | | | MM | 01, 02, ..., 12 | |\n * | | | MMM | Jan, Feb, ..., Dec | |\n * | | | MMMM | January, February, ..., December | 2 |\n * | | | MMMMM | J, F, ..., D | |\n * | Month (stand-alone) | 110 | L | 1, 2, ..., 12 | |\n * | | | Lo | 1st, 2nd, ..., 12th | 5 |\n * | | | LL | 01, 02, ..., 12 | |\n * | | | LLL | Jan, Feb, ..., Dec | |\n * | | | LLLL | January, February, ..., December | 2 |\n * | | | LLLLL | J, F, ..., D | |\n * | Local week of year | 100 | w | 1, 2, ..., 53 | |\n * | | | wo | 1st, 2nd, ..., 53th | 5 |\n * | | | ww | 01, 02, ..., 53 | |\n * | ISO week of year | 100 | I | 1, 2, ..., 53 | 5 |\n * | | | Io | 1st, 2nd, ..., 53th | 5 |\n * | | | II | 01, 02, ..., 53 | 5 |\n * | Day of month | 90 | d | 1, 2, ..., 31 | |\n * | | | do | 1st, 2nd, ..., 31st | 5 |\n * | | | dd | 01, 02, ..., 31 | |\n * | Day of year | 90 | D | 1, 2, ..., 365, 366 | 7 |\n * | | | Do | 1st, 2nd, ..., 365th, 366th | 5 |\n * | | | DD | 01, 02, ..., 365, 366 | 7 |\n * | | | DDD | 001, 002, ..., 365, 366 | |\n * | | | DDDD | ... | 2 |\n * | Day of week (formatting) | 90 | E..EEE | Mon, Tue, Wed, ..., Su | |\n * | | | EEEE | Monday, Tuesday, ..., Sunday | 2 |\n * | | | EEEEE | M, T, W, T, F, S, S | |\n * | | | EEEEEE | Mo, Tu, We, Th, Fr, Su, Sa | |\n * | ISO day of week (formatting) | 90 | i | 1, 2, 3, ..., 7 | 5 |\n * | | | io | 1st, 2nd, ..., 7th | 5 |\n * | | | ii | 01, 02, ..., 07 | 5 |\n * | | | iii | Mon, Tue, Wed, ..., Su | 5 |\n * | | | iiii | Monday, Tuesday, ..., Sunday | 2,5 |\n * | | | iiiii | M, T, W, T, F, S, S | 5 |\n * | | | iiiiii | Mo, Tu, We, Th, Fr, Su, Sa | 5 |\n * | Local day of week (formatting) | 90 | e | 2, 3, 4, ..., 1 | |\n * | | | eo | 2nd, 3rd, ..., 1st | 5 |\n * | | | ee | 02, 03, ..., 01 | |\n * | | | eee | Mon, Tue, Wed, ..., Su | |\n * | | | eeee | Monday, Tuesday, ..., Sunday | 2 |\n * | | | eeeee | M, T, W, T, F, S, S | |\n * | | | eeeeee | Mo, Tu, We, Th, Fr, Su, Sa | |\n * | Local day of week (stand-alone) | 90 | c | 2, 3, 4, ..., 1 | |\n * | | | co | 2nd, 3rd, ..., 1st | 5 |\n * | | | cc | 02, 03, ..., 01 | |\n * | | | ccc | Mon, Tue, Wed, ..., Su | |\n * | | | cccc | Monday, Tuesday, ..., Sunday | 2 |\n * | | | ccccc | M, T, W, T, F, S, S | |\n * | | | cccccc | Mo, Tu, We, Th, Fr, Su, Sa | |\n * | AM, PM | 80 | a..aaa | AM, PM | |\n * | | | aaaa | a.m., p.m. | 2 |\n * | | | aaaaa | a, p | |\n * | AM, PM, noon, midnight | 80 | b..bbb | AM, PM, noon, midnight | |\n * | | | bbbb | a.m., p.m., noon, midnight | 2 |\n * | | | bbbbb | a, p, n, mi | |\n * | Flexible day period | 80 | B..BBB | at night, in the morning, ... | |\n * | | | BBBB | at night, in the morning, ... | 2 |\n * | | | BBBBB | at night, in the morning, ... | |\n * | Hour [1-12] | 70 | h | 1, 2, ..., 11, 12 | |\n * | | | ho | 1st, 2nd, ..., 11th, 12th | 5 |\n * | | | hh | 01, 02, ..., 11, 12 | |\n * | Hour [0-23] | 70 | H | 0, 1, 2, ..., 23 | |\n * | | | Ho | 0th, 1st, 2nd, ..., 23rd | 5 |\n * | | | HH | 00, 01, 02, ..., 23 | |\n * | Hour [0-11] | 70 | K | 1, 2, ..., 11, 0 | |\n * | | | Ko | 1st, 2nd, ..., 11th, 0th | 5 |\n * | | | KK | 1, 2, ..., 11, 0 | |\n * | Hour [1-24] | 70 | k | 24, 1, 2, ..., 23 | |\n * | | | ko | 24th, 1st, 2nd, ..., 23rd | 5 |\n * | | | kk | 24, 01, 02, ..., 23 | |\n * | Minute | 60 | m | 0, 1, ..., 59 | |\n * | | | mo | 0th, 1st, ..., 59th | 5 |\n * | | | mm | 00, 01, ..., 59 | |\n * | Second | 50 | s | 0, 1, ..., 59 | |\n * | | | so | 0th, 1st, ..., 59th | 5 |\n * | | | ss | 00, 01, ..., 59 | |\n * | Seconds timestamp | 40 | t | 512969520 | |\n * | | | tt | ... | 2 |\n * | Fraction of second | 30 | S | 0, 1, ..., 9 | |\n * | | | SS | 00, 01, ..., 99 | |\n * | | | SSS | 000, 0001, ..., 999 | |\n * | | | SSSS | ... | 2 |\n * | Milliseconds timestamp | 20 | T | 512969520900 | |\n * | | | TT | ... | 2 |\n * | Timezone (ISO-8601 w/ Z) | 10 | X | -08, +0530, Z | |\n * | | | XX | -0800, +0530, Z | |\n * | | | XXX | -08:00, +05:30, Z | |\n * | | | XXXX | -0800, +0530, Z, +123456 | 2 |\n * | | | XXXXX | -08:00, +05:30, Z, +12:34:56 | |\n * | Timezone (ISO-8601 w/o Z) | 10 | x | -08, +0530, +00 | |\n * | | | xx | -0800, +0530, +0000 | |\n * | | | xxx | -08:00, +05:30, +00:00 | 2 |\n * | | | xxxx | -0800, +0530, +0000, +123456 | |\n * | | | xxxxx | -08:00, +05:30, +00:00, +12:34:56 | |\n * | Long localized date | NA | P | 05/29/1453 | 5,8 |\n * | | | PP | May 29, 1453 | |\n * | | | PPP | May 29th, 1453 | |\n * | | | PPPP | Sunday, May 29th, 1453 | 2,5,8 |\n * | Long localized time | NA | p | 12:00 AM | 5,8 |\n * | | | pp | 12:00:00 AM | |\n * | Combination of date and time | NA | Pp | 05/29/1453, 12:00 AM | |\n * | | | PPpp | May 29, 1453, 12:00:00 AM | |\n * | | | PPPpp | May 29th, 1453 at ... | |\n * | | | PPPPpp | Sunday, May 29th, 1453 at ... | 2,5,8 |\n * Notes:\n * 1. \"Formatting\" units (e.g. formatting quarter) in the default en-US locale\n * are the same as \"stand-alone\" units, but are different in some languages.\n * \"Formatting\" units are declined according to the rules of the language\n * in the context of a date. \"Stand-alone\" units are always nominative singular.\n * In `format` function, they will produce different result:\n *\n * `format(new Date(2017, 10, 6), 'do LLLL', {locale: cs}) //=> '6. listopad'`\n *\n * `format(new Date(2017, 10, 6), 'do MMMM', {locale: cs}) //=> '6. listopadu'`\n *\n * `parse` will try to match both formatting and stand-alone units interchangably.\n *\n * 2. Any sequence of the identical letters is a pattern, unless it is escaped by\n * the single quote characters (see below).\n * If the sequence is longer than listed in table:\n * - for numerical units (`yyyyyyyy`) `parse` will try to match a number\n * as wide as the sequence\n * - for text units (`MMMMMMMM`) `parse` will try to match the widest variation of the unit.\n * These variations are marked with \"2\" in the last column of the table.\n *\n * 3. `QQQQQ` and `qqqqq` could be not strictly numerical in some locales.\n * These tokens represent the shortest form of the quarter.\n *\n * 4. The main difference between `y` and `u` patterns are B.C. years:\n *\n * | Year | `y` | `u` |\n * |------|-----|-----|\n * | AC 1 | 1 | 1 |\n * | BC 1 | 1 | 0 |\n * | BC 2 | 2 | -1 |\n *\n * Also `yy` will try to guess the century of two digit year by proximity with `backupDate`:\n *\n * `parse('50', 'yy', new Date(2018, 0, 1)) //=> Sat Jan 01 2050 00:00:00`\n *\n * `parse('75', 'yy', new Date(2018, 0, 1)) //=> Wed Jan 01 1975 00:00:00`\n *\n * while `uu` will just assign the year as is:\n *\n * `parse('50', 'uu', new Date(2018, 0, 1)) //=> Sat Jan 01 0050 00:00:00`\n *\n * `parse('75', 'uu', new Date(2018, 0, 1)) //=> Tue Jan 01 0075 00:00:00`\n *\n * The same difference is true for local and ISO week-numbering years (`Y` and `R`),\n * except local week-numbering years are dependent on `options.weekStartsOn`\n * and `options.firstWeekContainsDate` (compare [setISOWeekYear]{@link https://date-fns.org/docs/setISOWeekYear}\n * and [setWeekYear]{@link https://date-fns.org/docs/setWeekYear}).\n *\n * 5. These patterns are not in the Unicode Technical Standard #35:\n * - `i`: ISO day of week\n * - `I`: ISO week of year\n * - `R`: ISO week-numbering year\n * - `o`: ordinal number modifier\n * - `P`: long localized date\n * - `p`: long localized time\n *\n * 6. `YY` and `YYYY` tokens represent week-numbering years but they are often confused with years.\n * You should enable `options.useAdditionalWeekYearTokens` to use them. See: https://git.io/fxCyr\n *\n * 7. `D` and `DD` tokens represent days of the year but they are ofthen confused with days of the month.\n * You should enable `options.useAdditionalDayOfYearTokens` to use them. See: https://git.io/fxCyr\n *\n * 8. `P+` tokens do not have a defined priority since they are merely aliases to other tokens based\n * on the given locale.\n *\n * using `en-US` locale: `P` => `MM/dd/yyyy`\n * using `en-US` locale: `p` => `hh:mm a`\n * using `pt-BR` locale: `P` => `dd/MM/yyyy`\n * using `pt-BR` locale: `p` => `HH:mm`\n *\n * Values will be assigned to the date in the descending order of its unit's priority.\n * Units of an equal priority overwrite each other in the order of appearance.\n *\n * If no values of higher priority are parsed (e.g. when parsing string 'January 1st' without a year),\n * the values will be taken from 3rd argument `backupDate` which works as a context of parsing.\n *\n * `backupDate` must be passed for correct work of the function.\n * If you're not sure which `backupDate` to supply, create a new instance of Date:\n * `parse('02/11/2014', 'MM/dd/yyyy', new Date())`\n * In this case parsing will be done in the context of the current date.\n * If `backupDate` is `Invalid Date` or a value not convertible to valid `Date`,\n * then `Invalid Date` will be returned.\n *\n * The result may vary by locale.\n *\n * If `formatString` matches with `dateString` but does not provides tokens, `backupDate` will be returned.\n *\n * If parsing failed, `Invalid Date` will be returned.\n * Invalid Date is a Date, whose time value is NaN.\n * Time value of Date: http://es5.github.io/#x15.9.1.1\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * - Old `parse` was renamed to `toDate`.\n * Now `parse` is a new function which parses a string using a provided format.\n *\n * ```javascript\n * // Before v2.0.0\n * parse('2016-01-01')\n *\n * // v2.0.0 onward\n * toDate('2016-01-01')\n * parse('2016-01-01', 'yyyy-MM-dd', new Date())\n * ```\n *\n * @param {String} dateString - the string to parse\n * @param {String} formatString - the string of tokens\n * @param {Date|Number} backupDate - defines values missing from the parsed dateString\n * @param {Object} [options] - an object with options.\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\n * @param {1|2|3|4|5|6|7} [options.firstWeekContainsDate=1] - the day of January, which is always in the first week of the year\n * @param {Boolean} [options.useAdditionalWeekYearTokens=false] - if true, allows usage of the week-numbering year tokens `YY` and `YYYY`;\n * see: https://git.io/fxCyr\n * @param {Boolean} [options.useAdditionalDayOfYearTokens=false] - if true, allows usage of the day of year tokens `D` and `DD`;\n * see: https://git.io/fxCyr\n * @returns {Date} the parsed date\n * @throws {TypeError} 3 arguments required\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6\n * @throws {RangeError} `options.firstWeekContainsDate` must be between 1 and 7\n * @throws {RangeError} `options.locale` must contain `match` property\n * @throws {RangeError} use `yyyy` instead of `YYYY` for formatting years; see: https://git.io/fxCyr\n * @throws {RangeError} use `yy` instead of `YY` for formatting years; see: https://git.io/fxCyr\n * @throws {RangeError} use `d` instead of `D` for formatting days of the month; see: https://git.io/fxCyr\n * @throws {RangeError} use `dd` instead of `DD` for formatting days of the month; see: https://git.io/fxCyr\n * @throws {RangeError} format string contains an unescaped latin alphabet character\n *\n * @example\n * // Parse 11 February 2014 from middle-endian format:\n * var result = parse('02/11/2014', 'MM/dd/yyyy', new Date())\n * //=> Tue Feb 11 2014 00:00:00\n *\n * @example\n * // Parse 28th of February in Esperanto locale in the context of 2010 year:\n * import eo from 'date-fns/locale/eo'\n * var result = parse('28-a de februaro', \"do 'de' MMMM\", new Date(2010, 0, 1), {\n * locale: eo\n * })\n * //=> Sun Feb 28 2010 00:00:00\n */\n\nfunction parse(dirtyDateString, dirtyFormatString, dirtyBackupDate, dirtyOptions) {\n if (arguments.length < 3) {\n throw new TypeError('3 arguments required, but only ' + arguments.length + ' present');\n }\n\n var dateString = String(dirtyDateString);\n var formatString = String(dirtyFormatString);\n var options = dirtyOptions || {};\n var locale = options.locale || _locale_en_US_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"];\n\n if (!locale.match) {\n throw new RangeError('locale must contain match property');\n }\n\n var localeFirstWeekContainsDate = locale.options && locale.options.firstWeekContainsDate;\n var defaultFirstWeekContainsDate = localeFirstWeekContainsDate == null ? 1 : Object(_lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(localeFirstWeekContainsDate);\n var firstWeekContainsDate = options.firstWeekContainsDate == null ? defaultFirstWeekContainsDate : Object(_lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(options.firstWeekContainsDate); // Test if weekStartsOn is between 1 and 7 _and_ is not NaN\n\n if (!(firstWeekContainsDate >= 1 && firstWeekContainsDate <= 7)) {\n throw new RangeError('firstWeekContainsDate must be between 1 and 7 inclusively');\n }\n\n var localeWeekStartsOn = locale.options && locale.options.weekStartsOn;\n var defaultWeekStartsOn = localeWeekStartsOn == null ? 0 : Object(_lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(localeWeekStartsOn);\n var weekStartsOn = options.weekStartsOn == null ? defaultWeekStartsOn : Object(_lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(options.weekStartsOn); // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\n\n if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\n throw new RangeError('weekStartsOn must be between 0 and 6 inclusively');\n }\n\n if (formatString === '') {\n if (dateString === '') {\n return Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(dirtyBackupDate);\n } else {\n return new Date(NaN);\n }\n }\n\n var subFnOptions = {\n firstWeekContainsDate: firstWeekContainsDate,\n weekStartsOn: weekStartsOn,\n locale: locale // If timezone isn't specified, it will be set to the system timezone\n\n };\n var setters = [{\n priority: TIMEZONE_UNIT_PRIORITY,\n set: dateToSystemTimezone,\n index: 0\n }];\n var i;\n var tokens = formatString.match(longFormattingTokensRegExp).map(function (substring) {\n var firstCharacter = substring[0];\n\n if (firstCharacter === 'p' || firstCharacter === 'P') {\n var longFormatter = _lib_format_longFormatters_index_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"][firstCharacter];\n return longFormatter(substring, locale.formatLong, subFnOptions);\n }\n\n return substring;\n }).join('').match(formattingTokensRegExp);\n var usedTokens = [];\n\n for (i = 0; i < tokens.length; i++) {\n var token = tokens[i];\n\n if (!options.useAdditionalWeekYearTokens && Object(_lib_protectedTokens_index_js__WEBPACK_IMPORTED_MODULE_6__[\"isProtectedWeekYearToken\"])(token)) {\n Object(_lib_protectedTokens_index_js__WEBPACK_IMPORTED_MODULE_6__[\"throwProtectedError\"])(token);\n }\n\n if (!options.useAdditionalDayOfYearTokens && Object(_lib_protectedTokens_index_js__WEBPACK_IMPORTED_MODULE_6__[\"isProtectedDayOfYearToken\"])(token)) {\n Object(_lib_protectedTokens_index_js__WEBPACK_IMPORTED_MODULE_6__[\"throwProtectedError\"])(token);\n }\n\n var firstCharacter = token[0];\n var parser = _lib_parsers_index_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"][firstCharacter];\n\n if (parser) {\n var incompatibleTokens = parser.incompatibleTokens;\n\n if (Array.isArray(incompatibleTokens)) {\n var incompatibleToken = void 0;\n\n for (var _i = 0; _i < usedTokens.length; _i++) {\n var usedToken = usedTokens[_i].token;\n\n if (incompatibleTokens.indexOf(usedToken) !== -1 || usedToken === firstCharacter) {\n incompatibleToken = usedTokens[_i];\n break;\n }\n }\n\n if (incompatibleToken) {\n throw new RangeError(\"The format string mustn't contain `\".concat(incompatibleToken.fullToken, \"` and `\").concat(token, \"` at the same time\"));\n }\n } else if (parser.incompatibleTokens === '*' && usedTokens.length) {\n throw new RangeError(\"The format string mustn't contain `\".concat(token, \"` and any other token at the same time\"));\n }\n\n usedTokens.push({\n token: firstCharacter,\n fullToken: token\n });\n var parseResult = parser.parse(dateString, token, locale.match, subFnOptions);\n\n if (!parseResult) {\n return new Date(NaN);\n }\n\n setters.push({\n priority: parser.priority,\n set: parser.set,\n validate: parser.validate,\n value: parseResult.value,\n index: setters.length\n });\n dateString = parseResult.rest;\n } else {\n if (firstCharacter.match(unescapedLatinCharacterRegExp)) {\n throw new RangeError('Format string contains an unescaped latin alphabet character `' + firstCharacter + '`');\n } // Replace two single quote characters with one single quote character\n\n\n if (token === \"''\") {\n token = \"'\";\n } else if (firstCharacter === \"'\") {\n token = cleanEscapedString(token);\n } // Cut token from string, or, if string doesn't match the token, return Invalid Date\n\n\n if (dateString.indexOf(token) === 0) {\n dateString = dateString.slice(token.length);\n } else {\n return new Date(NaN);\n }\n }\n } // Check if the remaining input contains something other than whitespace\n\n\n if (dateString.length > 0 && notWhitespaceRegExp.test(dateString)) {\n return new Date(NaN);\n }\n\n var uniquePrioritySetters = setters.map(function (setter) {\n return setter.priority;\n }).sort(function (a, b) {\n return b - a;\n }).filter(function (priority, index, array) {\n return array.indexOf(priority) === index;\n }).map(function (priority) {\n return setters.filter(function (setter) {\n return setter.priority === priority;\n }).reverse();\n }).map(function (setterArray) {\n return setterArray[0];\n });\n var date = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(dirtyBackupDate);\n\n if (isNaN(date)) {\n return new Date(NaN);\n } // Convert the date in system timezone to the same date in UTC+00:00 timezone.\n // This ensures that when UTC functions will be implemented, locales will be compatible with them.\n // See an issue about UTC functions: https://github.com/date-fns/date-fns/issues/37\n\n\n var utcDate = Object(_subMilliseconds_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(date, Object(_lib_getTimezoneOffsetInMilliseconds_index_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(date));\n var flags = {};\n\n for (i = 0; i < uniquePrioritySetters.length; i++) {\n var setter = uniquePrioritySetters[i];\n\n if (setter.validate && !setter.validate(utcDate, setter.value, subFnOptions)) {\n return new Date(NaN);\n }\n\n var result = setter.set(utcDate, flags, setter.value, subFnOptions); // Result is tuple (date, flags)\n\n if (result[0]) {\n utcDate = result[0];\n Object(_lib_assign_index_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(flags, result[1]); // Result is date\n } else {\n utcDate = result;\n }\n }\n\n return utcDate;\n}\n\nfunction dateToSystemTimezone(date, flags) {\n if (flags.timestampIsSet) {\n return date;\n }\n\n var convertedDate = new Date(0);\n convertedDate.setFullYear(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate());\n convertedDate.setHours(date.getUTCHours(), date.getUTCMinutes(), date.getUTCSeconds(), date.getUTCMilliseconds());\n return convertedDate;\n}\n\nfunction cleanEscapedString(input) {\n return input.match(escapedStringRegExp)[1].replace(doubleQuoteRegExp, \"'\");\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL3BhcnNlL2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2VzbS9wYXJzZS9pbmRleC5qcz8yY2YzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBkZWZhdWx0TG9jYWxlIGZyb20gJy4uL2xvY2FsZS9lbi1VUy9pbmRleC5qcyc7XG5pbXBvcnQgc3ViTWlsbGlzZWNvbmRzIGZyb20gJy4uL3N1Yk1pbGxpc2Vjb25kcy9pbmRleC5qcyc7XG5pbXBvcnQgdG9EYXRlIGZyb20gJy4uL3RvRGF0ZS9pbmRleC5qcyc7XG5pbXBvcnQgYXNzaWduIGZyb20gJy4uL19saWIvYXNzaWduL2luZGV4LmpzJztcbmltcG9ydCBsb25nRm9ybWF0dGVycyBmcm9tICcuLi9fbGliL2Zvcm1hdC9sb25nRm9ybWF0dGVycy9pbmRleC5qcyc7XG5pbXBvcnQgZ2V0VGltZXpvbmVPZmZzZXRJbk1pbGxpc2Vjb25kcyBmcm9tICcuLi9fbGliL2dldFRpbWV6b25lT2Zmc2V0SW5NaWxsaXNlY29uZHMvaW5kZXguanMnO1xuaW1wb3J0IHsgaXNQcm90ZWN0ZWREYXlPZlllYXJUb2tlbiwgaXNQcm90ZWN0ZWRXZWVrWWVhclRva2VuLCB0aHJvd1Byb3RlY3RlZEVycm9yIH0gZnJvbSAnLi4vX2xpYi9wcm90ZWN0ZWRUb2tlbnMvaW5kZXguanMnO1xuaW1wb3J0IHRvSW50ZWdlciBmcm9tICcuLi9fbGliL3RvSW50ZWdlci9pbmRleC5qcyc7XG5pbXBvcnQgcGFyc2VycyBmcm9tICcuL19saWIvcGFyc2Vycy9pbmRleC5qcyc7XG52YXIgVElNRVpPTkVfVU5JVF9QUklPUklUWSA9IDEwOyAvLyBUaGlzIFJlZ0V4cCBjb25zaXN0cyBvZiB0aHJlZSBwYXJ0cyBzZXBhcmF0ZWQgYnkgYHxgOlxuLy8gLSBbeVlRcU1Md0lkRGVjaWhIS2ttc11vIG1hdGNoZXMgYW55IGF2YWlsYWJsZSBvcmRpbmFsIG51bWJlciB0b2tlblxuLy8gICAob25lIG9mIHRoZSBjZXJ0YWluIGxldHRlcnMgZm9sbG93ZWQgYnkgYG9gKVxuLy8gLSAoXFx3KVxcMSogbWF0Y2hlcyBhbnkgc2VxdWVuY2VzIG9mIHRoZSBzYW1lIGxldHRlclxuLy8gLSAnJyBtYXRjaGVzIHR3byBxdW90ZSBjaGFyYWN0ZXJzIGluIGEgcm93XG4vLyAtICcoJyd8W14nXSkrKCd8JCkgbWF0Y2hlcyBhbnl0aGluZyBzdXJyb3VuZGVkIGJ5IHR3byBxdW90ZSBjaGFyYWN0ZXJzICgnKSxcbi8vICAgZXhjZXB0IGEgc2luZ2xlIHF1b3RlIHN5bWJvbCwgd2hpY2ggZW5kcyB0aGUgc2VxdWVuY2UuXG4vLyAgIFR3byBxdW90ZSBjaGFyYWN0ZXJzIGRvIG5vdCBlbmQgdGhlIHNlcXVlbmNlLlxuLy8gICBJZiB0aGVyZSBpcyBubyBtYXRjaGluZyBzaW5nbGUgcXVvdGVcbi8vICAgdGhlbiB0aGUgc2VxdWVuY2Ugd2lsbCBjb250aW51ZSB1bnRpbCB0aGUgZW5kIG9mIHRoZSBzdHJpbmcuXG4vLyAtIC4gbWF0Y2hlcyBhbnkgc2luZ2xlIGNoYXJhY3RlciB1bm1hdGNoZWQgYnkgcHJldmlvdXMgcGFydHMgb2YgdGhlIFJlZ0V4cHNcblxudmFyIGZvcm1hdHRpbmdUb2tlbnNSZWdFeHAgPSAvW3lZUXFNTHdJZERlY2loSEtrbXNdb3woXFx3KVxcMSp8Jyd8JygnJ3xbXiddKSsoJ3wkKXwuL2c7IC8vIFRoaXMgUmVnRXhwIGNhdGNoZXMgc3ltYm9scyBlc2NhcGVkIGJ5IHF1b3RlcywgYW5kIGFsc29cbi8vIHNlcXVlbmNlcyBvZiBzeW1ib2xzIFAsIHAsIGFuZCB0aGUgY29tYmluYXRpb25zIGxpa2UgYFBQUFBQUFBwcHBwcGBcblxudmFyIGxvbmdGb3JtYXR0aW5nVG9rZW5zUmVnRXhwID0gL1ArcCt8UCt8cCt8Jyd8JygnJ3xbXiddKSsoJ3wkKXwuL2c7XG52YXIgZXNjYXBlZFN0cmluZ1JlZ0V4cCA9IC9eJyguKj8pJz8kLztcbnZhciBkb3VibGVRdW90ZVJlZ0V4cCA9IC8nJy9nO1xudmFyIG5vdFdoaXRlc3BhY2VSZWdFeHAgPSAvXFxTLztcbnZhciB1bmVzY2FwZWRMYXRpbkNoYXJhY3RlclJlZ0V4cCA9IC9bYS16QS1aXS87XG4vKipcbiAqIEBuYW1lIHBhcnNlXG4gKiBAY2F0ZWdvcnkgQ29tbW9uIEhlbHBlcnNcbiAqIEBzdW1tYXJ5IFBhcnNlIHRoZSBkYXRlLlxuICpcbiAqIEBkZXNjcmlwdGlvblxuICogUmV0dXJuIHRoZSBkYXRlIHBhcnNlZCBmcm9tIHN0cmluZyB1c2luZyB0aGUgZ2l2ZW4gZm9ybWF0IHN0cmluZy5cbiAqXG4gKiA+IOKaoO+4jyBQbGVhc2Ugbm90ZSB0aGF0IHRoZSBgZm9ybWF0YCB0b2tlbnMgZGlmZmVyIGZyb20gTW9tZW50LmpzIGFuZCBvdGhlciBsaWJyYXJpZXMuXG4gKiA+IFNlZTogaHR0cHM6Ly9naXQuaW8vZnhDeXJcbiAqXG4gKiBUaGUgY2hhcmFjdGVycyBpbiB0aGUgZm9ybWF0IHN0cmluZyB3cmFwcGVkIGJldHdlZW4gdHdvIHNpbmdsZSBxdW90ZXMgY2hhcmFjdGVycyAoJykgYXJlIGVzY2FwZWQuXG4gKiBUd28gc2luZ2xlIHF1b3RlcyBpbiBhIHJvdywgd2hldGhlciBpbnNpZGUgb3Igb3V0c2lkZSBhIHF1b3RlZCBzZXF1ZW5jZSwgcmVwcmVzZW50IGEgJ3JlYWwnIHNpbmdsZSBxdW90ZS5cbiAqXG4gKiBGb3JtYXQgb2YgdGhlIGZvcm1hdCBzdHJpbmcgaXMgYmFzZWQgb24gVW5pY29kZSBUZWNobmljYWwgU3RhbmRhcmQgIzM1OlxuICogaHR0cHM6Ly93d3cudW5pY29kZS5vcmcvcmVwb3J0cy90cjM1L3RyMzUtZGF0ZXMuaHRtbCNEYXRlX0ZpZWxkX1N5bWJvbF9UYWJsZVxuICogd2l0aCBhIGZldyBhZGRpdGlvbnMgKHNlZSBub3RlIDUgYmVsb3cgdGhlIHRhYmxlKS5cbiAqXG4gKiBOb3QgYWxsIHRva2VucyBhcmUgY29tcGF0aWJsZS4gQ29tYmluYXRpb25zIHRoYXQgZG9uJ3QgbWFrZSBzZW5zZSBvciBjb3VsZCBsZWFkIHRvIGJ1Z3MgYXJlIHByb2hpYml0ZWRcbiAqIGFuZCB3aWxsIHRocm93IGBSYW5nZUVycm9yYC4gRm9yIGV4YW1wbGUgdXNhZ2Ugb2YgMjQtaG91ciBmb3JtYXQgdG9rZW4gd2l0aCBBTS9QTSB0b2tlbiB3aWxsIHRocm93IGFuIGV4Y2VwdGlvbjpcbiAqXG4gKiBgYGBqYXZhc2NyaXB0XG4gKiBwYXJzZSgnMjMgQU0nLCAnSEggYScsIG5ldyBEYXRlKCkpXG4gKiAvLz0+IFJhbmdlRXJyb3I6IFRoZSBmb3JtYXQgc3RyaW5nIG11c3RuJ3QgY29udGFpbiBgSEhgIGFuZCBgYWAgYXQgdGhlIHNhbWUgdGltZVxuICogYGBgXG4gKlxuICogU2VlIHRoZSBjb21wYXRpYmlsaXR5IHRhYmxlOiBodHRwczovL2RvY3MuZ29vZ2xlLmNvbS9zcHJlYWRzaGVldHMvZC9lLzJQQUNYLTF2UU9QVTN4VWhwbGxsNmR5b01tVlVYSEtsXzhDUkRzNl91ZUxtZXgzU29xd2h1b2xrdU4zTzA1bDRycXg1aDFkS1g4ZWI0NlVsLUNDU3JxL3B1Ymh0bWw/Z2lkPTAmc2luZ2xlPXRydWVcbiAqXG4gKiBBY2NlcHRlZCBmb3JtYXQgc3RyaW5nIHBhdHRlcm5zOlxuICogfCBVbml0ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxQcmlvcnwgUGF0dGVybiB8IFJlc3VsdCBleGFtcGxlcyAgICAgICAgICAgICAgICAgICB8IE5vdGVzIHxcbiAqIHwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18LS0tLS18LS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfC0tLS0tLS18XG4gKiB8IEVyYSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAxNDAgfCBHLi5HR0cgIHwgQUQsIEJDICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgfFxuICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgIHwgR0dHRyAgICB8IEFubm8gRG9taW5pLCBCZWZvcmUgQ2hyaXN0ICAgICAgICB8IDIgICAgIHxcbiAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICB8IEdHR0dHICAgfCBBLCBCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICB8XG4gKiB8IENhbGVuZGFyIHllYXIgICAgICAgICAgICAgICAgICAgfCAxMzAgfCB5ICAgICAgIHwgNDQsIDEsIDE5MDAsIDIwMTcsIDk5OTkgICAgICAgICAgIHwgNCAgICAgfFxuICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgIHwgeW8gICAgICB8IDQ0dGgsIDFzdCwgMTkwMHRoLCA5OTk5OTk5dGggICAgICB8IDQsNSAgIHxcbiAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICB8IHl5ICAgICAgfCA0NCwgMDEsIDAwLCAxNyAgICAgICAgICAgICAgICAgICAgfCA0ICAgICB8XG4gKiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgfCB5eXkgICAgIHwgMDQ0LCAwMDEsIDEyMywgOTk5ICAgICAgICAgICAgICAgIHwgNCAgICAgfFxuICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgIHwgeXl5eSAgICB8IDAwNDQsIDAwMDEsIDE5MDAsIDIwMTcgICAgICAgICAgICB8IDQgICAgIHxcbiAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICB8IHl5eXl5ICAgfCAuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAyLDQgICB8XG4gKiB8IExvY2FsIHdlZWstbnVtYmVyaW5nIHllYXIgICAgICAgfCAxMzAgfCBZICAgICAgIHwgNDQsIDEsIDE5MDAsIDIwMTcsIDkwMDAgICAgICAgICAgIHwgNCAgICAgfFxuICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgIHwgWW8gICAgICB8IDQ0dGgsIDFzdCwgMTkwMHRoLCA5OTk5OTk5dGggICAgICB8IDQsNSAgIHxcbiAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICB8IFlZICAgICAgfCA0NCwgMDEsIDAwLCAxNyAgICAgICAgICAgICAgICAgICAgfCA0LDYgICB8XG4gKiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgfCBZWVkgICAgIHwgMDQ0LCAwMDEsIDEyMywgOTk5ICAgICAgICAgICAgICAgIHwgNCAgICAgfFxuICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgIHwgWVlZWSAgICB8IDAwNDQsIDAwMDEsIDE5MDAsIDIwMTcgICAgICAgICAgICB8IDQsNiAgIHxcbiAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICB8IFlZWVlZICAgfCAuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAyLDQgICB8XG4gKiB8IElTTyB3ZWVrLW51bWJlcmluZyB5ZWFyICAgICAgICAgfCAxMzAgfCBSICAgICAgIHwgLTQzLCAxLCAxOTAwLCAyMDE3LCA5OTk5LCAtOTk5OSAgIHwgNCw1ICAgfFxuICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgIHwgUlIgICAgICB8IC00MywgMDEsIDAwLCAxNyAgICAgICAgICAgICAgICAgICB8IDQsNSAgIHxcbiAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICB8IFJSUiAgICAgfCAtMDQzLCAwMDEsIDEyMywgOTk5LCAtOTk5ICAgICAgICAgfCA0LDUgICB8XG4gKiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgfCBSUlJSICAgIHwgLTAwNDMsIDAwMDEsIDIwMTcsIDk5OTksIC05OTk5ICAgIHwgNCw1ICAgfFxuICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgIHwgUlJSUlIgICB8IC4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDIsNCw1IHxcbiAqIHwgRXh0ZW5kZWQgeWVhciAgICAgICAgICAgICAgICAgICB8IDEzMCB8IHUgICAgICAgfCAtNDMsIDEsIDE5MDAsIDIwMTcsIDk5OTksIC05OTkgICAgfCA0ICAgICB8XG4gKiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgfCB1dSAgICAgIHwgLTQzLCAwMSwgOTksIC05OSAgICAgICAgICAgICAgICAgIHwgNCAgICAgfFxuICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgIHwgdXV1ICAgICB8IC0wNDMsIDAwMSwgMTIzLCA5OTksIC05OTkgICAgICAgICB8IDQgICAgIHxcbiAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICB8IHV1dXUgICAgfCAtMDA0MywgMDAwMSwgMjAxNywgOTk5OSwgLTk5OTkgICAgfCA0ICAgICB8XG4gKiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgfCB1dXV1dSAgIHwgLi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMiw0ICAgfFxuICogfCBRdWFydGVyIChmb3JtYXR0aW5nKSAgICAgICAgICAgIHwgMTIwIHwgUSAgICAgICB8IDEsIDIsIDMsIDQgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgIHxcbiAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICB8IFFvICAgICAgfCAxc3QsIDJuZCwgM3JkLCA0dGggICAgICAgICAgICAgICAgfCA1ICAgICB8XG4gKiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgfCBRUSAgICAgIHwgMDEsIDAyLCAwMywgMDQgICAgICAgICAgICAgICAgICAgIHwgICAgICAgfFxuICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgIHwgUVFRICAgICB8IFExLCBRMiwgUTMsIFE0ICAgICAgICAgICAgICAgICAgICB8ICAgICAgIHxcbiAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICB8IFFRUVEgICAgfCAxc3QgcXVhcnRlciwgMm5kIHF1YXJ0ZXIsIC4uLiAgICAgfCAyICAgICB8XG4gKiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgfCBRUVFRUSAgIHwgMSwgMiwgMywgNCAgICAgICAgICAgICAgICAgICAgICAgIHwgNCAgICAgfFxuICogfCBRdWFydGVyIChzdGFuZC1hbG9uZSkgICAgICAgICAgIHwgMTIwIHwgcSAgICAgICB8IDEsIDIsIDMsIDQgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgIHxcbiAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICB8IHFvICAgICAgfCAxc3QsIDJuZCwgM3JkLCA0dGggICAgICAgICAgICAgICAgfCA1ICAgICB8XG4gKiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgfCBxcSAgICAgIHwgMDEsIDAyLCAwMywgMDQgICAgICAgICAgICAgICAgICAgIHwgICAgICAgfFxuICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgIHwgcXFxICAgICB8IFExLCBRMiwgUTMsIFE0ICAgICAgICAgICAgICAgICAgICB8ICAgICAgIHxcbiAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICB8IHFxcXEgICAgfCAxc3QgcXVhcnRlciwgMm5kIHF1YXJ0ZXIsIC4uLiAgICAgfCAyICAgICB8XG4gKiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgfCBxcXFxcSAgIHwgMSwgMiwgMywgNCAgICAgICAgICAgICAgICAgICAgICAgIHwgMyAgICAgfFxuICogfCBNb250aCAoZm9ybWF0dGluZykgICAgICAgICAgICAgIHwgMTEwIHwgTSAgICAgICB8IDEsIDIsIC4uLiwgMTIgICAgICAgICAgICAgICAgICAgICB8ICAgICAgIHxcbiAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICB8IE1vICAgICAgfCAxc3QsIDJuZCwgLi4uLCAxMnRoICAgICAgICAgICAgICAgfCA1ICAgICB8XG4gKiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgfCBNTSAgICAgIHwgMDEsIDAyLCAuLi4sIDEyICAgICAgICAgICAgICAgICAgIHwgICAgICAgfFxuICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgIHwgTU1NICAgICB8IEphbiwgRmViLCAuLi4sIERlYyAgICAgICAgICAgICAgICB8ICAgICAgIHxcbiAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICB8IE1NTU0gICAgfCBKYW51YXJ5LCBGZWJydWFyeSwgLi4uLCBEZWNlbWJlciAgfCAyICAgICB8XG4gKiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgfCBNTU1NTSAgIHwgSiwgRiwgLi4uLCBEICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgfFxuICogfCBNb250aCAoc3RhbmQtYWxvbmUpICAgICAgICAgICAgIHwgMTEwIHwgTCAgICAgICB8IDEsIDIsIC4uLiwgMTIgICAgICAgICAgICAgICAgICAgICB8ICAgICAgIHxcbiAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICB8IExvICAgICAgfCAxc3QsIDJuZCwgLi4uLCAxMnRoICAgICAgICAgICAgICAgfCA1ICAgICB8XG4gKiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgfCBMTCAgICAgIHwgMDEsIDAyLCAuLi4sIDEyICAgICAgICAgICAgICAgICAgIHwgICAgICAgfFxuICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgIHwgTExMICAgICB8IEphbiwgRmViLCAuLi4sIERlYyAgICAgICAgICAgICAgICB8ICAgICAgIHxcbiAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICB8IExMTEwgICAgfCBKYW51YXJ5LCBGZWJydWFyeSwgLi4uLCBEZWNlbWJlciAgfCAyICAgICB8XG4gKiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgfCBMTExMTCAgIHwgSiwgRiwgLi4uLCBEICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgfFxuICogfCBMb2NhbCB3ZWVrIG9mIHllYXIgICAgICAgICAgICAgIHwgMTAwIHwgdyAgICAgICB8IDEsIDIsIC4uLiwgNTMgICAgICAgICAgICAgICAgICAgICB8ICAgICAgIHxcbiAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICB8IHdvICAgICAgfCAxc3QsIDJuZCwgLi4uLCA1M3RoICAgICAgICAgICAgICAgfCA1ICAgICB8XG4gKiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgfCB3dyAgICAgIHwgMDEsIDAyLCAuLi4sIDUzICAgICAgICAgICAgICAgICAgIHwgICAgICAgfFxuICogfCBJU08gd2VlayBvZiB5ZWFyICAgICAgICAgICAgICAgIHwgMTAwIHwgSSAgICAgICB8IDEsIDIsIC4uLiwgNTMgICAgICAgICAgICAgICAgICAgICB8IDUgICAgIHxcbiAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICB8IElvICAgICAgfCAxc3QsIDJuZCwgLi4uLCA1M3RoICAgICAgICAgICAgICAgfCA1ICAgICB8XG4gKiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgfCBJSSAgICAgIHwgMDEsIDAyLCAuLi4sIDUzICAgICAgICAgICAgICAgICAgIHwgNSAgICAgfFxuICogfCBEYXkgb2YgbW9udGggICAgICAgICAgICAgICAgICAgIHwgIDkwIHwgZCAgICAgICB8IDEsIDIsIC4uLiwgMzEgICAgICAgICAgICAgICAgICAgICB8ICAgICAgIHxcbiAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICB8IGRvICAgICAgfCAxc3QsIDJuZCwgLi4uLCAzMXN0ICAgICAgICAgICAgICAgfCA1ICAgICB8XG4gKiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgfCBkZCAgICAgIHwgMDEsIDAyLCAuLi4sIDMxICAgICAgICAgICAgICAgICAgIHwgICAgICAgfFxuICogfCBEYXkgb2YgeWVhciAgICAgICAgICAgICAgICAgICAgIHwgIDkwIHwgRCAgICAgICB8IDEsIDIsIC4uLiwgMzY1LCAzNjYgICAgICAgICAgICAgICB8IDcgICAgIHxcbiAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICB8IERvICAgICAgfCAxc3QsIDJuZCwgLi4uLCAzNjV0aCwgMzY2dGggICAgICAgfCA1ICAgICB8XG4gKiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgfCBERCAgICAgIHwgMDEsIDAyLCAuLi4sIDM2NSwgMzY2ICAgICAgICAgICAgIHwgNyAgICAgfFxuICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgIHwgREREICAgICB8IDAwMSwgMDAyLCAuLi4sIDM2NSwgMzY2ICAgICAgICAgICB8ICAgICAgIHxcbiAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICB8IEREREQgICAgfCAuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAyICAgICB8XG4gKiB8IERheSBvZiB3ZWVrIChmb3JtYXR0aW5nKSAgICAgICAgfCAgOTAgfCBFLi5FRUUgIHwgTW9uLCBUdWUsIFdlZCwgLi4uLCBTdSAgICAgICAgICAgIHwgICAgICAgfFxuICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgIHwgRUVFRSAgICB8IE1vbmRheSwgVHVlc2RheSwgLi4uLCBTdW5kYXkgICAgICB8IDIgICAgIHxcbiAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICB8IEVFRUVFICAgfCBNLCBULCBXLCBULCBGLCBTLCBTICAgICAgICAgICAgICAgfCAgICAgICB8XG4gKiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgfCBFRUVFRUUgIHwgTW8sIFR1LCBXZSwgVGgsIEZyLCBTdSwgU2EgICAgICAgIHwgICAgICAgfFxuICogfCBJU08gZGF5IG9mIHdlZWsgKGZvcm1hdHRpbmcpICAgIHwgIDkwIHwgaSAgICAgICB8IDEsIDIsIDMsIC4uLiwgNyAgICAgICAgICAgICAgICAgICB8IDUgICAgIHxcbiAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICB8IGlvICAgICAgfCAxc3QsIDJuZCwgLi4uLCA3dGggICAgICAgICAgICAgICAgfCA1ICAgICB8XG4gKiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgfCBpaSAgICAgIHwgMDEsIDAyLCAuLi4sIDA3ICAgICAgICAgICAgICAgICAgIHwgNSAgICAgfFxuICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgIHwgaWlpICAgICB8IE1vbiwgVHVlLCBXZWQsIC4uLiwgU3UgICAgICAgICAgICB8IDUgICAgIHxcbiAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICB8IGlpaWkgICAgfCBNb25kYXksIFR1ZXNkYXksIC4uLiwgU3VuZGF5ICAgICAgfCAyLDUgICB8XG4gKiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgfCBpaWlpaSAgIHwgTSwgVCwgVywgVCwgRiwgUywgUyAgICAgICAgICAgICAgIHwgNSAgICAgfFxuICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgIHwgaWlpaWlpICB8IE1vLCBUdSwgV2UsIFRoLCBGciwgU3UsIFNhICAgICAgICB8IDUgICAgIHxcbiAqIHwgTG9jYWwgZGF5IG9mIHdlZWsgKGZvcm1hdHRpbmcpICB8ICA5MCB8IGUgICAgICAgfCAyLCAzLCA0LCAuLi4sIDEgICAgICAgICAgICAgICAgICAgfCAgICAgICB8XG4gKiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgfCBlbyAgICAgIHwgMm5kLCAzcmQsIC4uLiwgMXN0ICAgICAgICAgICAgICAgIHwgNSAgICAgfFxuICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgIHwgZWUgICAgICB8IDAyLCAwMywgLi4uLCAwMSAgICAgICAgICAgICAgICAgICB8ICAgICAgIHxcbiAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICB8IGVlZSAgICAgfCBNb24sIFR1ZSwgV2VkLCAuLi4sIFN1ICAgICAgICAgICAgfCAgICAgICB8XG4gKiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgfCBlZWVlICAgIHwgTW9uZGF5LCBUdWVzZGF5LCAuLi4sIFN1bmRheSAgICAgIHwgMiAgICAgfFxuICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgIHwgZWVlZWUgICB8IE0sIFQsIFcsIFQsIEYsIFMsIFMgICAgICAgICAgICAgICB8ICAgICAgIHxcbiAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICB8IGVlZWVlZSAgfCBNbywgVHUsIFdlLCBUaCwgRnIsIFN1LCBTYSAgICAgICAgfCAgICAgICB8XG4gKiB8IExvY2FsIGRheSBvZiB3ZWVrIChzdGFuZC1hbG9uZSkgfCAgOTAgfCBjICAgICAgIHwgMiwgMywgNCwgLi4uLCAxICAgICAgICAgICAgICAgICAgIHwgICAgICAgfFxuICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgIHwgY28gICAgICB8IDJuZCwgM3JkLCAuLi4sIDFzdCAgICAgICAgICAgICAgICB8IDUgICAgIHxcbiAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICB8IGNjICAgICAgfCAwMiwgMDMsIC4uLiwgMDEgICAgICAgICAgICAgICAgICAgfCAgICAgICB8XG4gKiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgfCBjY2MgICAgIHwgTW9uLCBUdWUsIFdlZCwgLi4uLCBTdSAgICAgICAgICAgIHwgICAgICAgfFxuICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgIHwgY2NjYyAgICB8IE1vbmRheSwgVHVlc2RheSwgLi4uLCBTdW5kYXkgICAgICB8IDIgICAgIHxcbiAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICB8IGNjY2NjICAgfCBNLCBULCBXLCBULCBGLCBTLCBTICAgICAgICAgICAgICAgfCAgICAgICB8XG4gKiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgfCBjY2NjY2MgIHwgTW8sIFR1LCBXZSwgVGgsIEZyLCBTdSwgU2EgICAgICAgIHwgICAgICAgfFxuICogfCBBTSwgUE0gICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDgwIHwgYS4uYWFhICB8IEFNLCBQTSAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgIHxcbiAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICB8IGFhYWEgICAgfCBhLm0uLCBwLm0uICAgICAgICAgICAgICAgICAgICAgICAgfCAyICAgICB8XG4gKiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgfCBhYWFhYSAgIHwgYSwgcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgfFxuICogfCBBTSwgUE0sIG5vb24sIG1pZG5pZ2h0ICAgICAgICAgIHwgIDgwIHwgYi4uYmJiICB8IEFNLCBQTSwgbm9vbiwgbWlkbmlnaHQgICAgICAgICAgICB8ICAgICAgIHxcbiAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICB8IGJiYmIgICAgfCBhLm0uLCBwLm0uLCBub29uLCBtaWRuaWdodCAgICAgICAgfCAyICAgICB8XG4gKiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgfCBiYmJiYiAgIHwgYSwgcCwgbiwgbWkgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgfFxuICogfCBGbGV4aWJsZSBkYXkgcGVyaW9kICAgICAgICAgICAgIHwgIDgwIHwgQi4uQkJCICB8IGF0IG5pZ2h0LCBpbiB0aGUgbW9ybmluZywgLi4uICAgICB8ICAgICAgIHxcbiAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICB8IEJCQkIgICAgfCBhdCBuaWdodCwgaW4gdGhlIG1vcm5pbmcsIC4uLiAgICAgfCAyICAgICB8XG4gKiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgfCBCQkJCQiAgIHwgYXQgbmlnaHQsIGluIHRoZSBtb3JuaW5nLCAuLi4gICAgIHwgICAgICAgfFxuICogfCBIb3VyIFsxLTEyXSAgICAgICAgICAgICAgICAgICAgIHwgIDcwIHwgaCAgICAgICB8IDEsIDIsIC4uLiwgMTEsIDEyICAgICAgICAgICAgICAgICB8ICAgICAgIHxcbiAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICB8IGhvICAgICAgfCAxc3QsIDJuZCwgLi4uLCAxMXRoLCAxMnRoICAgICAgICAgfCA1ICAgICB8XG4gKiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgfCBoaCAgICAgIHwgMDEsIDAyLCAuLi4sIDExLCAxMiAgICAgICAgICAgICAgIHwgICAgICAgfFxuICogfCBIb3VyIFswLTIzXSAgICAgICAgICAgICAgICAgICAgIHwgIDcwIHwgSCAgICAgICB8IDAsIDEsIDIsIC4uLiwgMjMgICAgICAgICAgICAgICAgICB8ICAgICAgIHxcbiAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICB8IEhvICAgICAgfCAwdGgsIDFzdCwgMm5kLCAuLi4sIDIzcmQgICAgICAgICAgfCA1ICAgICB8XG4gKiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgfCBISCAgICAgIHwgMDAsIDAxLCAwMiwgLi4uLCAyMyAgICAgICAgICAgICAgIHwgICAgICAgfFxuICogfCBIb3VyIFswLTExXSAgICAgICAgICAgICAgICAgICAgIHwgIDcwIHwgSyAgICAgICB8IDEsIDIsIC4uLiwgMTEsIDAgICAgICAgICAgICAgICAgICB8ICAgICAgIHxcbiAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICB8IEtvICAgICAgfCAxc3QsIDJuZCwgLi4uLCAxMXRoLCAwdGggICAgICAgICAgfCA1ICAgICB8XG4gKiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgfCBLSyAgICAgIHwgMSwgMiwgLi4uLCAxMSwgMCAgICAgICAgICAgICAgICAgIHwgICAgICAgfFxuICogfCBIb3VyIFsxLTI0XSAgICAgICAgICAgICAgICAgICAgIHwgIDcwIHwgayAgICAgICB8IDI0LCAxLCAyLCAuLi4sIDIzICAgICAgICAgICAgICAgICB8ICAgICAgIHxcbiAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICB8IGtvICAgICAgfCAyNHRoLCAxc3QsIDJuZCwgLi4uLCAyM3JkICAgICAgICAgfCA1ICAgICB8XG4gKiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgfCBrayAgICAgIHwgMjQsIDAxLCAwMiwgLi4uLCAyMyAgICAgICAgICAgICAgIHwgICAgICAgfFxuICogfCBNaW51dGUgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDYwIHwgbSAgICAgICB8IDAsIDEsIC4uLiwgNTkgICAgICAgICAgICAgICAgICAgICB8ICAgICAgIHxcbiAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICB8IG1vICAgICAgfCAwdGgsIDFzdCwgLi4uLCA1OXRoICAgICAgICAgICAgICAgfCA1ICAgICB8XG4gKiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgfCBtbSAgICAgIHwgMDAsIDAxLCAuLi4sIDU5ICAgICAgICAgICAgICAgICAgIHwgICAgICAgfFxuICogfCBTZWNvbmQgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDUwIHwgcyAgICAgICB8IDAsIDEsIC4uLiwgNTkgICAgICAgICAgICAgICAgICAgICB8ICAgICAgIHxcbiAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICB8IHNvICAgICAgfCAwdGgsIDFzdCwgLi4uLCA1OXRoICAgICAgICAgICAgICAgfCA1ICAgICB8XG4gKiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgfCBzcyAgICAgIHwgMDAsIDAxLCAuLi4sIDU5ICAgICAgICAgICAgICAgICAgIHwgICAgICAgfFxuICogfCBTZWNvbmRzIHRpbWVzdGFtcCAgICAgICAgICAgICAgIHwgIDQwIHwgdCAgICAgICB8IDUxMjk2OTUyMCAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgIHxcbiAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICB8IHR0ICAgICAgfCAuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAyICAgICB8XG4gKiB8IEZyYWN0aW9uIG9mIHNlY29uZCAgICAgICAgICAgICAgfCAgMzAgfCBTICAgICAgIHwgMCwgMSwgLi4uLCA5ICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgfFxuICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgIHwgU1MgICAgICB8IDAwLCAwMSwgLi4uLCA5OSAgICAgICAgICAgICAgICAgICB8ICAgICAgIHxcbiAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICB8IFNTUyAgICAgfCAwMDAsIDAwMDEsIC4uLiwgOTk5ICAgICAgICAgICAgICAgfCAgICAgICB8XG4gKiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgfCBTU1NTICAgIHwgLi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMiAgICAgfFxuICogfCBNaWxsaXNlY29uZHMgdGltZXN0YW1wICAgICAgICAgIHwgIDIwIHwgVCAgICAgICB8IDUxMjk2OTUyMDkwMCAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgIHxcbiAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICB8IFRUICAgICAgfCAuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAyICAgICB8XG4gKiB8IFRpbWV6b25lIChJU08tODYwMSB3LyBaKSAgICAgICAgfCAgMTAgfCBYICAgICAgIHwgLTA4LCArMDUzMCwgWiAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgfFxuICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgIHwgWFggICAgICB8IC0wODAwLCArMDUzMCwgWiAgICAgICAgICAgICAgICAgICB8ICAgICAgIHxcbiAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICB8IFhYWCAgICAgfCAtMDg6MDAsICswNTozMCwgWiAgICAgICAgICAgICAgICAgfCAgICAgICB8XG4gKiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgfCBYWFhYICAgIHwgLTA4MDAsICswNTMwLCBaLCArMTIzNDU2ICAgICAgICAgIHwgMiAgICAgfFxuICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgIHwgWFhYWFggICB8IC0wODowMCwgKzA1OjMwLCBaLCArMTI6MzQ6NTYgICAgICB8ICAgICAgIHxcbiAqIHwgVGltZXpvbmUgKElTTy04NjAxIHcvbyBaKSAgICAgICB8ICAxMCB8IHggICAgICAgfCAtMDgsICswNTMwLCArMDAgICAgICAgICAgICAgICAgICAgfCAgICAgICB8XG4gKiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgfCB4eCAgICAgIHwgLTA4MDAsICswNTMwLCArMDAwMCAgICAgICAgICAgICAgIHwgICAgICAgfFxuICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgIHwgeHh4ICAgICB8IC0wODowMCwgKzA1OjMwLCArMDA6MDAgICAgICAgICAgICB8IDIgICAgIHxcbiAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICB8IHh4eHggICAgfCAtMDgwMCwgKzA1MzAsICswMDAwLCArMTIzNDU2ICAgICAgfCAgICAgICB8XG4gKiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgfCB4eHh4eCAgIHwgLTA4OjAwLCArMDU6MzAsICswMDowMCwgKzEyOjM0OjU2IHwgICAgICAgfFxuICogfCBMb25nIGxvY2FsaXplZCBkYXRlICAgICAgICAgICAgIHwgIE5BIHwgUCAgICAgICB8IDA1LzI5LzE0NTMgICAgICAgICAgICAgICAgICAgICAgICB8IDUsOCAgIHxcbiAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICB8IFBQICAgICAgfCBNYXkgMjksIDE0NTMgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICB8XG4gKiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgfCBQUFAgICAgIHwgTWF5IDI5dGgsIDE0NTMgICAgICAgICAgICAgICAgICAgIHwgICAgICAgfFxuICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgIHwgUFBQUCAgICB8IFN1bmRheSwgTWF5IDI5dGgsIDE0NTMgICAgICAgICAgICB8IDIsNSw4IHxcbiAqIHwgTG9uZyBsb2NhbGl6ZWQgdGltZSAgICAgICAgICAgICB8ICBOQSB8IHAgICAgICAgfCAxMjowMCBBTSAgICAgICAgICAgICAgICAgICAgICAgICAgfCA1LDggICB8XG4gKiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgfCBwcCAgICAgIHwgMTI6MDA6MDAgQU0gICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgfFxuICogfCBDb21iaW5hdGlvbiBvZiBkYXRlIGFuZCB0aW1lICAgIHwgIE5BIHwgUHAgICAgICB8IDA1LzI5LzE0NTMsIDEyOjAwIEFNICAgICAgICAgICAgICB8ICAgICAgIHxcbiAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICB8IFBQcHAgICAgfCBNYXkgMjksIDE0NTMsIDEyOjAwOjAwIEFNICAgICAgICAgfCAgICAgICB8XG4gKiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgfCBQUFBwcCAgIHwgTWF5IDI5dGgsIDE0NTMgYXQgLi4uICAgICAgICAgICAgIHwgICAgICAgfFxuICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgIHwgUFBQUHBwICB8IFN1bmRheSwgTWF5IDI5dGgsIDE0NTMgYXQgLi4uICAgICB8IDIsNSw4IHxcbiAqIE5vdGVzOlxuICogMS4gXCJGb3JtYXR0aW5nXCIgdW5pdHMgKGUuZy4gZm9ybWF0dGluZyBxdWFydGVyKSBpbiB0aGUgZGVmYXVsdCBlbi1VUyBsb2NhbGVcbiAqICAgIGFyZSB0aGUgc2FtZSBhcyBcInN0YW5kLWFsb25lXCIgdW5pdHMsIGJ1dCBhcmUgZGlmZmVyZW50IGluIHNvbWUgbGFuZ3VhZ2VzLlxuICogICAgXCJGb3JtYXR0aW5nXCIgdW5pdHMgYXJlIGRlY2xpbmVkIGFjY29yZGluZyB0byB0aGUgcnVsZXMgb2YgdGhlIGxhbmd1YWdlXG4gKiAgICBpbiB0aGUgY29udGV4dCBvZiBhIGRhdGUuIFwiU3RhbmQtYWxvbmVcIiB1bml0cyBhcmUgYWx3YXlzIG5vbWluYXRpdmUgc2luZ3VsYXIuXG4gKiAgICBJbiBgZm9ybWF0YCBmdW5jdGlvbiwgdGhleSB3aWxsIHByb2R1Y2UgZGlmZmVyZW50IHJlc3VsdDpcbiAqXG4gKiAgICBgZm9ybWF0KG5ldyBEYXRlKDIwMTcsIDEwLCA2KSwgJ2RvIExMTEwnLCB7bG9jYWxlOiBjc30pIC8vPT4gJzYuIGxpc3RvcGFkJ2BcbiAqXG4gKiAgICBgZm9ybWF0KG5ldyBEYXRlKDIwMTcsIDEwLCA2KSwgJ2RvIE1NTU0nLCB7bG9jYWxlOiBjc30pIC8vPT4gJzYuIGxpc3RvcGFkdSdgXG4gKlxuICogICAgYHBhcnNlYCB3aWxsIHRyeSB0byBtYXRjaCBib3RoIGZvcm1hdHRpbmcgYW5kIHN0YW5kLWFsb25lIHVuaXRzIGludGVyY2hhbmdhYmx5LlxuICpcbiAqIDIuIEFueSBzZXF1ZW5jZSBvZiB0aGUgaWRlbnRpY2FsIGxldHRlcnMgaXMgYSBwYXR0ZXJuLCB1bmxlc3MgaXQgaXMgZXNjYXBlZCBieVxuICogICAgdGhlIHNpbmdsZSBxdW90ZSBjaGFyYWN0ZXJzIChzZWUgYmVsb3cpLlxuICogICAgSWYgdGhlIHNlcXVlbmNlIGlzIGxvbmdlciB0aGFuIGxpc3RlZCBpbiB0YWJsZTpcbiAqICAgIC0gZm9yIG51bWVyaWNhbCB1bml0cyAoYHl5eXl5eXl5YCkgYHBhcnNlYCB3aWxsIHRyeSB0byBtYXRjaCBhIG51bWJlclxuICogICAgICBhcyB3aWRlIGFzIHRoZSBzZXF1ZW5jZVxuICogICAgLSBmb3IgdGV4dCB1bml0cyAoYE1NTU1NTU1NYCkgYHBhcnNlYCB3aWxsIHRyeSB0byBtYXRjaCB0aGUgd2lkZXN0IHZhcmlhdGlvbiBvZiB0aGUgdW5pdC5cbiAqICAgICAgVGhlc2UgdmFyaWF0aW9ucyBhcmUgbWFya2VkIHdpdGggXCIyXCIgaW4gdGhlIGxhc3QgY29sdW1uIG9mIHRoZSB0YWJsZS5cbiAqXG4gKiAzLiBgUVFRUVFgIGFuZCBgcXFxcXFgIGNvdWxkIGJlIG5vdCBzdHJpY3RseSBudW1lcmljYWwgaW4gc29tZSBsb2NhbGVzLlxuICogICAgVGhlc2UgdG9rZW5zIHJlcHJlc2VudCB0aGUgc2hvcnRlc3QgZm9ybSBvZiB0aGUgcXVhcnRlci5cbiAqXG4gKiA0LiBUaGUgbWFpbiBkaWZmZXJlbmNlIGJldHdlZW4gYHlgIGFuZCBgdWAgcGF0dGVybnMgYXJlIEIuQy4geWVhcnM6XG4gKlxuICogICAgfCBZZWFyIHwgYHlgIHwgYHVgIHxcbiAqICAgIHwtLS0tLS18LS0tLS18LS0tLS18XG4gKiAgICB8IEFDIDEgfCAgIDEgfCAgIDEgfFxuICogICAgfCBCQyAxIHwgICAxIHwgICAwIHxcbiAqICAgIHwgQkMgMiB8ICAgMiB8ICAtMSB8XG4gKlxuICogICAgQWxzbyBgeXlgIHdpbGwgdHJ5IHRvIGd1ZXNzIHRoZSBjZW50dXJ5IG9mIHR3byBkaWdpdCB5ZWFyIGJ5IHByb3hpbWl0eSB3aXRoIGBiYWNrdXBEYXRlYDpcbiAqXG4gKiAgICBgcGFyc2UoJzUwJywgJ3l5JywgbmV3IERhdGUoMjAxOCwgMCwgMSkpIC8vPT4gU2F0IEphbiAwMSAyMDUwIDAwOjAwOjAwYFxuICpcbiAqICAgIGBwYXJzZSgnNzUnLCAneXknLCBuZXcgRGF0ZSgyMDE4LCAwLCAxKSkgLy89PiBXZWQgSmFuIDAxIDE5NzUgMDA6MDA6MDBgXG4gKlxuICogICAgd2hpbGUgYHV1YCB3aWxsIGp1c3QgYXNzaWduIHRoZSB5ZWFyIGFzIGlzOlxuICpcbiAqICAgIGBwYXJzZSgnNTAnLCAndXUnLCBuZXcgRGF0ZSgyMDE4LCAwLCAxKSkgLy89PiBTYXQgSmFuIDAxIDAwNTAgMDA6MDA6MDBgXG4gKlxuICogICAgYHBhcnNlKCc3NScsICd1dScsIG5ldyBEYXRlKDIwMTgsIDAsIDEpKSAvLz0+IFR1ZSBKYW4gMDEgMDA3NSAwMDowMDowMGBcbiAqXG4gKiAgICBUaGUgc2FtZSBkaWZmZXJlbmNlIGlzIHRydWUgZm9yIGxvY2FsIGFuZCBJU08gd2Vlay1udW1iZXJpbmcgeWVhcnMgKGBZYCBhbmQgYFJgKSxcbiAqICAgIGV4Y2VwdCBsb2NhbCB3ZWVrLW51bWJlcmluZyB5ZWFycyBhcmUgZGVwZW5kZW50IG9uIGBvcHRpb25zLndlZWtTdGFydHNPbmBcbiAqICAgIGFuZCBgb3B0aW9ucy5maXJzdFdlZWtDb250YWluc0RhdGVgIChjb21wYXJlIFtzZXRJU09XZWVrWWVhcl17QGxpbmsgaHR0cHM6Ly9kYXRlLWZucy5vcmcvZG9jcy9zZXRJU09XZWVrWWVhcn1cbiAqICAgIGFuZCBbc2V0V2Vla1llYXJde0BsaW5rIGh0dHBzOi8vZGF0ZS1mbnMub3JnL2RvY3Mvc2V0V2Vla1llYXJ9KS5cbiAqXG4gKiA1LiBUaGVzZSBwYXR0ZXJucyBhcmUgbm90IGluIHRoZSBVbmljb2RlIFRlY2huaWNhbCBTdGFuZGFyZCAjMzU6XG4gKiAgICAtIGBpYDogSVNPIGRheSBvZiB3ZWVrXG4gKiAgICAtIGBJYDogSVNPIHdlZWsgb2YgeWVhclxuICogICAgLSBgUmA6IElTTyB3ZWVrLW51bWJlcmluZyB5ZWFyXG4gKiAgICAtIGBvYDogb3JkaW5hbCBudW1iZXIgbW9kaWZpZXJcbiAqICAgIC0gYFBgOiBsb25nIGxvY2FsaXplZCBkYXRlXG4gKiAgICAtIGBwYDogbG9uZyBsb2NhbGl6ZWQgdGltZVxuICpcbiAqIDYuIGBZWWAgYW5kIGBZWVlZYCB0b2tlbnMgcmVwcmVzZW50IHdlZWstbnVtYmVyaW5nIHllYXJzIGJ1dCB0aGV5IGFyZSBvZnRlbiBjb25mdXNlZCB3aXRoIHllYXJzLlxuICogICAgWW91IHNob3VsZCBlbmFibGUgYG9wdGlvbnMudXNlQWRkaXRpb25hbFdlZWtZZWFyVG9rZW5zYCB0byB1c2UgdGhlbS4gU2VlOiBodHRwczovL2dpdC5pby9meEN5clxuICpcbiAqIDcuIGBEYCBhbmQgYEREYCB0b2tlbnMgcmVwcmVzZW50IGRheXMgb2YgdGhlIHllYXIgYnV0IHRoZXkgYXJlIG9mdGhlbiBjb25mdXNlZCB3aXRoIGRheXMgb2YgdGhlIG1vbnRoLlxuICogICAgWW91IHNob3VsZCBlbmFibGUgYG9wdGlvbnMudXNlQWRkaXRpb25hbERheU9mWWVhclRva2Vuc2AgdG8gdXNlIHRoZW0uIFNlZTogaHR0cHM6Ly9naXQuaW8vZnhDeXJcbiAqXG4gKiA4LiBgUCtgIHRva2VucyBkbyBub3QgaGF2ZSBhIGRlZmluZWQgcHJpb3JpdHkgc2luY2UgdGhleSBhcmUgbWVyZWx5IGFsaWFzZXMgdG8gb3RoZXIgdG9rZW5zIGJhc2VkXG4gKiAgICBvbiB0aGUgZ2l2ZW4gbG9jYWxlLlxuICpcbiAqICAgIHVzaW5nIGBlbi1VU2AgbG9jYWxlOiBgUGAgPT4gYE1NL2RkL3l5eXlgXG4gKiAgICB1c2luZyBgZW4tVVNgIGxvY2FsZTogYHBgID0+IGBoaDptbSBhYFxuICogICAgdXNpbmcgYHB0LUJSYCBsb2NhbGU6IGBQYCA9PiBgZGQvTU0veXl5eWBcbiAqICAgIHVzaW5nIGBwdC1CUmAgbG9jYWxlOiBgcGAgPT4gYEhIOm1tYFxuICpcbiAqIFZhbHVlcyB3aWxsIGJlIGFzc2lnbmVkIHRvIHRoZSBkYXRlIGluIHRoZSBkZXNjZW5kaW5nIG9yZGVyIG9mIGl0cyB1bml0J3MgcHJpb3JpdHkuXG4gKiBVbml0cyBvZiBhbiBlcXVhbCBwcmlvcml0eSBvdmVyd3JpdGUgZWFjaCBvdGhlciBpbiB0aGUgb3JkZXIgb2YgYXBwZWFyYW5jZS5cbiAqXG4gKiBJZiBubyB2YWx1ZXMgb2YgaGlnaGVyIHByaW9yaXR5IGFyZSBwYXJzZWQgKGUuZy4gd2hlbiBwYXJzaW5nIHN0cmluZyAnSmFudWFyeSAxc3QnIHdpdGhvdXQgYSB5ZWFyKSxcbiAqIHRoZSB2YWx1ZXMgd2lsbCBiZSB0YWtlbiBmcm9tIDNyZCBhcmd1bWVudCBgYmFja3VwRGF0ZWAgd2hpY2ggd29ya3MgYXMgYSBjb250ZXh0IG9mIHBhcnNpbmcuXG4gKlxuICogYGJhY2t1cERhdGVgIG11c3QgYmUgcGFzc2VkIGZvciBjb3JyZWN0IHdvcmsgb2YgdGhlIGZ1bmN0aW9uLlxuICogSWYgeW91J3JlIG5vdCBzdXJlIHdoaWNoIGBiYWNrdXBEYXRlYCB0byBzdXBwbHksIGNyZWF0ZSBhIG5ldyBpbnN0YW5jZSBvZiBEYXRlOlxuICogYHBhcnNlKCcwMi8xMS8yMDE0JywgJ01NL2RkL3l5eXknLCBuZXcgRGF0ZSgpKWBcbiAqIEluIHRoaXMgY2FzZSBwYXJzaW5nIHdpbGwgYmUgZG9uZSBpbiB0aGUgY29udGV4dCBvZiB0aGUgY3VycmVudCBkYXRlLlxuICogSWYgYGJhY2t1cERhdGVgIGlzIGBJbnZhbGlkIERhdGVgIG9yIGEgdmFsdWUgbm90IGNvbnZlcnRpYmxlIHRvIHZhbGlkIGBEYXRlYCxcbiAqIHRoZW4gYEludmFsaWQgRGF0ZWAgd2lsbCBiZSByZXR1cm5lZC5cbiAqXG4gKiBUaGUgcmVzdWx0IG1heSB2YXJ5IGJ5IGxvY2FsZS5cbiAqXG4gKiBJZiBgZm9ybWF0U3RyaW5nYCBtYXRjaGVzIHdpdGggYGRhdGVTdHJpbmdgIGJ1dCBkb2VzIG5vdCBwcm92aWRlcyB0b2tlbnMsIGBiYWNrdXBEYXRlYCB3aWxsIGJlIHJldHVybmVkLlxuICpcbiAqIElmIHBhcnNpbmcgZmFpbGVkLCBgSW52YWxpZCBEYXRlYCB3aWxsIGJlIHJldHVybmVkLlxuICogSW52YWxpZCBEYXRlIGlzIGEgRGF0ZSwgd2hvc2UgdGltZSB2YWx1ZSBpcyBOYU4uXG4gKiBUaW1lIHZhbHVlIG9mIERhdGU6IGh0dHA6Ly9lczUuZ2l0aHViLmlvLyN4MTUuOS4xLjFcbiAqXG4gKiAjIyMgdjIuMC4wIGJyZWFraW5nIGNoYW5nZXM6XG4gKlxuICogLSBbQ2hhbmdlcyB0aGF0IGFyZSBjb21tb24gZm9yIHRoZSB3aG9sZSBsaWJyYXJ5XShodHRwczovL2dpdGh1Yi5jb20vZGF0ZS1mbnMvZGF0ZS1mbnMvYmxvYi9tYXN0ZXIvZG9jcy91cGdyYWRlR3VpZGUubWQjQ29tbW9uLUNoYW5nZXMpLlxuICpcbiAqIC0gT2xkIGBwYXJzZWAgd2FzIHJlbmFtZWQgdG8gYHRvRGF0ZWAuXG4gKiAgIE5vdyBgcGFyc2VgIGlzIGEgbmV3IGZ1bmN0aW9uIHdoaWNoIHBhcnNlcyBhIHN0cmluZyB1c2luZyBhIHByb3ZpZGVkIGZvcm1hdC5cbiAqXG4gKiAgIGBgYGphdmFzY3JpcHRcbiAqICAgLy8gQmVmb3JlIHYyLjAuMFxuICogICBwYXJzZSgnMjAxNi0wMS0wMScpXG4gKlxuICogICAvLyB2Mi4wLjAgb253YXJkXG4gKiAgIHRvRGF0ZSgnMjAxNi0wMS0wMScpXG4gKiAgIHBhcnNlKCcyMDE2LTAxLTAxJywgJ3l5eXktTU0tZGQnLCBuZXcgRGF0ZSgpKVxuICogICBgYGBcbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gZGF0ZVN0cmluZyAtIHRoZSBzdHJpbmcgdG8gcGFyc2VcbiAqIEBwYXJhbSB7U3RyaW5nfSBmb3JtYXRTdHJpbmcgLSB0aGUgc3RyaW5nIG9mIHRva2Vuc1xuICogQHBhcmFtIHtEYXRlfE51bWJlcn0gYmFja3VwRGF0ZSAtIGRlZmluZXMgdmFsdWVzIG1pc3NpbmcgZnJvbSB0aGUgcGFyc2VkIGRhdGVTdHJpbmdcbiAqIEBwYXJhbSB7T2JqZWN0fSBbb3B0aW9uc10gLSBhbiBvYmplY3Qgd2l0aCBvcHRpb25zLlxuICogQHBhcmFtIHtMb2NhbGV9IFtvcHRpb25zLmxvY2FsZT1kZWZhdWx0TG9jYWxlXSAtIHRoZSBsb2NhbGUgb2JqZWN0LiBTZWUgW0xvY2FsZV17QGxpbmsgaHR0cHM6Ly9kYXRlLWZucy5vcmcvZG9jcy9Mb2NhbGV9XG4gKiBAcGFyYW0gezB8MXwyfDN8NHw1fDZ9IFtvcHRpb25zLndlZWtTdGFydHNPbj0wXSAtIHRoZSBpbmRleCBvZiB0aGUgZmlyc3QgZGF5IG9mIHRoZSB3ZWVrICgwIC0gU3VuZGF5KVxuICogQHBhcmFtIHsxfDJ8M3w0fDV8Nnw3fSBbb3B0aW9ucy5maXJzdFdlZWtDb250YWluc0RhdGU9MV0gLSB0aGUgZGF5IG9mIEphbnVhcnksIHdoaWNoIGlzIGFsd2F5cyBpbiB0aGUgZmlyc3Qgd2VlayBvZiB0aGUgeWVhclxuICogQHBhcmFtIHtCb29sZWFufSBbb3B0aW9ucy51c2VBZGRpdGlvbmFsV2Vla1llYXJUb2tlbnM9ZmFsc2VdIC0gaWYgdHJ1ZSwgYWxsb3dzIHVzYWdlIG9mIHRoZSB3ZWVrLW51bWJlcmluZyB5ZWFyIHRva2VucyBgWVlgIGFuZCBgWVlZWWA7XG4gKiAgIHNlZTogaHR0cHM6Ly9naXQuaW8vZnhDeXJcbiAqIEBwYXJhbSB7Qm9vbGVhbn0gW29wdGlvbnMudXNlQWRkaXRpb25hbERheU9mWWVhclRva2Vucz1mYWxzZV0gLSBpZiB0cnVlLCBhbGxvd3MgdXNhZ2Ugb2YgdGhlIGRheSBvZiB5ZWFyIHRva2VucyBgRGAgYW5kIGBERGA7XG4gKiAgIHNlZTogaHR0cHM6Ly9naXQuaW8vZnhDeXJcbiAqIEByZXR1cm5zIHtEYXRlfSB0aGUgcGFyc2VkIGRhdGVcbiAqIEB0aHJvd3Mge1R5cGVFcnJvcn0gMyBhcmd1bWVudHMgcmVxdWlyZWRcbiAqIEB0aHJvd3Mge1JhbmdlRXJyb3J9IGBvcHRpb25zLndlZWtTdGFydHNPbmAgbXVzdCBiZSBiZXR3ZWVuIDAgYW5kIDZcbiAqIEB0aHJvd3Mge1JhbmdlRXJyb3J9IGBvcHRpb25zLmZpcnN0V2Vla0NvbnRhaW5zRGF0ZWAgbXVzdCBiZSBiZXR3ZWVuIDEgYW5kIDdcbiAqIEB0aHJvd3Mge1JhbmdlRXJyb3J9IGBvcHRpb25zLmxvY2FsZWAgbXVzdCBjb250YWluIGBtYXRjaGAgcHJvcGVydHlcbiAqIEB0aHJvd3Mge1JhbmdlRXJyb3J9IHVzZSBgeXl5eWAgaW5zdGVhZCBvZiBgWVlZWWAgZm9yIGZvcm1hdHRpbmcgeWVhcnM7IHNlZTogaHR0cHM6Ly9naXQuaW8vZnhDeXJcbiAqIEB0aHJvd3Mge1JhbmdlRXJyb3J9IHVzZSBgeXlgIGluc3RlYWQgb2YgYFlZYCBmb3IgZm9ybWF0dGluZyB5ZWFyczsgc2VlOiBodHRwczovL2dpdC5pby9meEN5clxuICogQHRocm93cyB7UmFuZ2VFcnJvcn0gdXNlIGBkYCBpbnN0ZWFkIG9mIGBEYCBmb3IgZm9ybWF0dGluZyBkYXlzIG9mIHRoZSBtb250aDsgc2VlOiBodHRwczovL2dpdC5pby9meEN5clxuICogQHRocm93cyB7UmFuZ2VFcnJvcn0gdXNlIGBkZGAgaW5zdGVhZCBvZiBgRERgIGZvciBmb3JtYXR0aW5nIGRheXMgb2YgdGhlIG1vbnRoOyBzZWU6IGh0dHBzOi8vZ2l0LmlvL2Z4Q3lyXG4gKiBAdGhyb3dzIHtSYW5nZUVycm9yfSBmb3JtYXQgc3RyaW5nIGNvbnRhaW5zIGFuIHVuZXNjYXBlZCBsYXRpbiBhbHBoYWJldCBjaGFyYWN0ZXJcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gUGFyc2UgMTEgRmVicnVhcnkgMjAxNCBmcm9tIG1pZGRsZS1lbmRpYW4gZm9ybWF0OlxuICogdmFyIHJlc3VsdCA9IHBhcnNlKCcwMi8xMS8yMDE0JywgJ01NL2RkL3l5eXknLCBuZXcgRGF0ZSgpKVxuICogLy89PiBUdWUgRmViIDExIDIwMTQgMDA6MDA6MDBcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gUGFyc2UgMjh0aCBvZiBGZWJydWFyeSBpbiBFc3BlcmFudG8gbG9jYWxlIGluIHRoZSBjb250ZXh0IG9mIDIwMTAgeWVhcjpcbiAqIGltcG9ydCBlbyBmcm9tICdkYXRlLWZucy9sb2NhbGUvZW8nXG4gKiB2YXIgcmVzdWx0ID0gcGFyc2UoJzI4LWEgZGUgZmVicnVhcm8nLCBcImRvICdkZScgTU1NTVwiLCBuZXcgRGF0ZSgyMDEwLCAwLCAxKSwge1xuICogICBsb2NhbGU6IGVvXG4gKiB9KVxuICogLy89PiBTdW4gRmViIDI4IDIwMTAgMDA6MDA6MDBcbiAqL1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBwYXJzZShkaXJ0eURhdGVTdHJpbmcsIGRpcnR5Rm9ybWF0U3RyaW5nLCBkaXJ0eUJhY2t1cERhdGUsIGRpcnR5T3B0aW9ucykge1xuICBpZiAoYXJndW1lbnRzLmxlbmd0aCA8IDMpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCczIGFyZ3VtZW50cyByZXF1aXJlZCwgYnV0IG9ubHkgJyArIGFyZ3VtZW50cy5sZW5ndGggKyAnIHByZXNlbnQnKTtcbiAgfVxuXG4gIHZhciBkYXRlU3RyaW5nID0gU3RyaW5nKGRpcnR5RGF0ZVN0cmluZyk7XG4gIHZhciBmb3JtYXRTdHJpbmcgPSBTdHJpbmcoZGlydHlGb3JtYXRTdHJpbmcpO1xuICB2YXIgb3B0aW9ucyA9IGRpcnR5T3B0aW9ucyB8fCB7fTtcbiAgdmFyIGxvY2FsZSA9IG9wdGlvbnMubG9jYWxlIHx8IGRlZmF1bHRMb2NhbGU7XG5cbiAgaWYgKCFsb2NhbGUubWF0Y2gpIHtcbiAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcignbG9jYWxlIG11c3QgY29udGFpbiBtYXRjaCBwcm9wZXJ0eScpO1xuICB9XG5cbiAgdmFyIGxvY2FsZUZpcnN0V2Vla0NvbnRhaW5zRGF0ZSA9IGxvY2FsZS5vcHRpb25zICYmIGxvY2FsZS5vcHRpb25zLmZpcnN0V2Vla0NvbnRhaW5zRGF0ZTtcbiAgdmFyIGRlZmF1bHRGaXJzdFdlZWtDb250YWluc0RhdGUgPSBsb2NhbGVGaXJzdFdlZWtDb250YWluc0RhdGUgPT0gbnVsbCA/IDEgOiB0b0ludGVnZXIobG9jYWxlRmlyc3RXZWVrQ29udGFpbnNEYXRlKTtcbiAgdmFyIGZpcnN0V2Vla0NvbnRhaW5zRGF0ZSA9IG9wdGlvbnMuZmlyc3RXZWVrQ29udGFpbnNEYXRlID09IG51bGwgPyBkZWZhdWx0Rmlyc3RXZWVrQ29udGFpbnNEYXRlIDogdG9JbnRlZ2VyKG9wdGlvbnMuZmlyc3RXZWVrQ29udGFpbnNEYXRlKTsgLy8gVGVzdCBpZiB3ZWVrU3RhcnRzT24gaXMgYmV0d2VlbiAxIGFuZCA3IF9hbmRfIGlzIG5vdCBOYU5cblxuICBpZiAoIShmaXJzdFdlZWtDb250YWluc0RhdGUgPj0gMSAmJiBmaXJzdFdlZWtDb250YWluc0RhdGUgPD0gNykpIHtcbiAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcignZmlyc3RXZWVrQ29udGFpbnNEYXRlIG11c3QgYmUgYmV0d2VlbiAxIGFuZCA3IGluY2x1c2l2ZWx5Jyk7XG4gIH1cblxuICB2YXIgbG9jYWxlV2Vla1N0YXJ0c09uID0gbG9jYWxlLm9wdGlvbnMgJiYgbG9jYWxlLm9wdGlvbnMud2Vla1N0YXJ0c09uO1xuICB2YXIgZGVmYXVsdFdlZWtTdGFydHNPbiA9IGxvY2FsZVdlZWtTdGFydHNPbiA9PSBudWxsID8gMCA6IHRvSW50ZWdlcihsb2NhbGVXZWVrU3RhcnRzT24pO1xuICB2YXIgd2Vla1N0YXJ0c09uID0gb3B0aW9ucy53ZWVrU3RhcnRzT24gPT0gbnVsbCA/IGRlZmF1bHRXZWVrU3RhcnRzT24gOiB0b0ludGVnZXIob3B0aW9ucy53ZWVrU3RhcnRzT24pOyAvLyBUZXN0IGlmIHdlZWtTdGFydHNPbiBpcyBiZXR3ZWVuIDAgYW5kIDYgX2FuZF8gaXMgbm90IE5hTlxuXG4gIGlmICghKHdlZWtTdGFydHNPbiA+PSAwICYmIHdlZWtTdGFydHNPbiA8PSA2KSkge1xuICAgIHRocm93IG5ldyBSYW5nZUVycm9yKCd3ZWVrU3RhcnRzT24gbXVzdCBiZSBiZXR3ZWVuIDAgYW5kIDYgaW5jbHVzaXZlbHknKTtcbiAgfVxuXG4gIGlmIChmb3JtYXRTdHJpbmcgPT09ICcnKSB7XG4gICAgaWYgKGRhdGVTdHJpbmcgPT09ICcnKSB7XG4gICAgICByZXR1cm4gdG9EYXRlKGRpcnR5QmFja3VwRGF0ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBuZXcgRGF0ZShOYU4pO1xuICAgIH1cbiAgfVxuXG4gIHZhciBzdWJGbk9wdGlvbnMgPSB7XG4gICAgZmlyc3RXZWVrQ29udGFpbnNEYXRlOiBmaXJzdFdlZWtDb250YWluc0RhdGUsXG4gICAgd2Vla1N0YXJ0c09uOiB3ZWVrU3RhcnRzT24sXG4gICAgbG9jYWxlOiBsb2NhbGUgLy8gSWYgdGltZXpvbmUgaXNuJ3Qgc3BlY2lmaWVkLCBpdCB3aWxsIGJlIHNldCB0byB0aGUgc3lzdGVtIHRpbWV6b25lXG5cbiAgfTtcbiAgdmFyIHNldHRlcnMgPSBbe1xuICAgIHByaW9yaXR5OiBUSU1FWk9ORV9VTklUX1BSSU9SSVRZLFxuICAgIHNldDogZGF0ZVRvU3lzdGVtVGltZXpvbmUsXG4gICAgaW5kZXg6IDBcbiAgfV07XG4gIHZhciBpO1xuICB2YXIgdG9rZW5zID0gZm9ybWF0U3RyaW5nLm1hdGNoKGxvbmdGb3JtYXR0aW5nVG9rZW5zUmVnRXhwKS5tYXAoZnVuY3Rpb24gKHN1YnN0cmluZykge1xuICAgIHZhciBmaXJzdENoYXJhY3RlciA9IHN1YnN0cmluZ1swXTtcblxuICAgIGlmIChmaXJzdENoYXJhY3RlciA9PT0gJ3AnIHx8IGZpcnN0Q2hhcmFjdGVyID09PSAnUCcpIHtcbiAgICAgIHZhciBsb25nRm9ybWF0dGVyID0gbG9uZ0Zvcm1hdHRlcnNbZmlyc3RDaGFyYWN0ZXJdO1xuICAgICAgcmV0dXJuIGxvbmdGb3JtYXR0ZXIoc3Vic3RyaW5nLCBsb2NhbGUuZm9ybWF0TG9uZywgc3ViRm5PcHRpb25zKTtcbiAgICB9XG5cbiAgICByZXR1cm4gc3Vic3RyaW5nO1xuICB9KS5qb2luKCcnKS5tYXRjaChmb3JtYXR0aW5nVG9rZW5zUmVnRXhwKTtcbiAgdmFyIHVzZWRUb2tlbnMgPSBbXTtcblxuICBmb3IgKGkgPSAwOyBpIDwgdG9rZW5zLmxlbmd0aDsgaSsrKSB7XG4gICAgdmFyIHRva2VuID0gdG9rZW5zW2ldO1xuXG4gICAgaWYgKCFvcHRpb25zLnVzZUFkZGl0aW9uYWxXZWVrWWVhclRva2VucyAmJiBpc1Byb3RlY3RlZFdlZWtZZWFyVG9rZW4odG9rZW4pKSB7XG4gICAgICB0aHJvd1Byb3RlY3RlZEVycm9yKHRva2VuKTtcbiAgICB9XG5cbiAgICBpZiAoIW9wdGlvbnMudXNlQWRkaXRpb25hbERheU9mWWVhclRva2VucyAmJiBpc1Byb3RlY3RlZERheU9mWWVhclRva2VuKHRva2VuKSkge1xuICAgICAgdGhyb3dQcm90ZWN0ZWRFcnJvcih0b2tlbik7XG4gICAgfVxuXG4gICAgdmFyIGZpcnN0Q2hhcmFjdGVyID0gdG9rZW5bMF07XG4gICAgdmFyIHBhcnNlciA9IHBhcnNlcnNbZmlyc3RDaGFyYWN0ZXJdO1xuXG4gICAgaWYgKHBhcnNlcikge1xuICAgICAgdmFyIGluY29tcGF0aWJsZVRva2VucyA9IHBhcnNlci5pbmNvbXBhdGlibGVUb2tlbnM7XG5cbiAgICAgIGlmIChBcnJheS5pc0FycmF5KGluY29tcGF0aWJsZVRva2VucykpIHtcbiAgICAgICAgdmFyIGluY29tcGF0aWJsZVRva2VuID0gdm9pZCAwO1xuXG4gICAgICAgIGZvciAodmFyIF9pID0gMDsgX2kgPCB1c2VkVG9rZW5zLmxlbmd0aDsgX2krKykge1xuICAgICAgICAgIHZhciB1c2VkVG9rZW4gPSB1c2VkVG9rZW5zW19pXS50b2tlbjtcblxuICAgICAgICAgIGlmIChpbmNvbXBhdGlibGVUb2tlbnMuaW5kZXhPZih1c2VkVG9rZW4pICE9PSAtMSB8fCB1c2VkVG9rZW4gPT09IGZpcnN0Q2hhcmFjdGVyKSB7XG4gICAgICAgICAgICBpbmNvbXBhdGlibGVUb2tlbiA9IHVzZWRUb2tlbnNbX2ldO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGluY29tcGF0aWJsZVRva2VuKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoXCJUaGUgZm9ybWF0IHN0cmluZyBtdXN0bid0IGNvbnRhaW4gYFwiLmNvbmNhdChpbmNvbXBhdGlibGVUb2tlbi5mdWxsVG9rZW4sIFwiYCBhbmQgYFwiKS5jb25jYXQodG9rZW4sIFwiYCBhdCB0aGUgc2FtZSB0aW1lXCIpKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChwYXJzZXIuaW5jb21wYXRpYmxlVG9rZW5zID09PSAnKicgJiYgdXNlZFRva2Vucy5sZW5ndGgpIHtcbiAgICAgICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoXCJUaGUgZm9ybWF0IHN0cmluZyBtdXN0bid0IGNvbnRhaW4gYFwiLmNvbmNhdCh0b2tlbiwgXCJgIGFuZCBhbnkgb3RoZXIgdG9rZW4gYXQgdGhlIHNhbWUgdGltZVwiKSk7XG4gICAgICB9XG5cbiAgICAgIHVzZWRUb2tlbnMucHVzaCh7XG4gICAgICAgIHRva2VuOiBmaXJzdENoYXJhY3RlcixcbiAgICAgICAgZnVsbFRva2VuOiB0b2tlblxuICAgICAgfSk7XG4gICAgICB2YXIgcGFyc2VSZXN1bHQgPSBwYXJzZXIucGFyc2UoZGF0ZVN0cmluZywgdG9rZW4sIGxvY2FsZS5tYXRjaCwgc3ViRm5PcHRpb25zKTtcblxuICAgICAgaWYgKCFwYXJzZVJlc3VsdCkge1xuICAgICAgICByZXR1cm4gbmV3IERhdGUoTmFOKTtcbiAgICAgIH1cblxuICAgICAgc2V0dGVycy5wdXNoKHtcbiAgICAgICAgcHJpb3JpdHk6IHBhcnNlci5wcmlvcml0eSxcbiAgICAgICAgc2V0OiBwYXJzZXIuc2V0LFxuICAgICAgICB2YWxpZGF0ZTogcGFyc2VyLnZhbGlkYXRlLFxuICAgICAgICB2YWx1ZTogcGFyc2VSZXN1bHQudmFsdWUsXG4gICAgICAgIGluZGV4OiBzZXR0ZXJzLmxlbmd0aFxuICAgICAgfSk7XG4gICAgICBkYXRlU3RyaW5nID0gcGFyc2VSZXN1bHQucmVzdDtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKGZpcnN0Q2hhcmFjdGVyLm1hdGNoKHVuZXNjYXBlZExhdGluQ2hhcmFjdGVyUmVnRXhwKSkge1xuICAgICAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcignRm9ybWF0IHN0cmluZyBjb250YWlucyBhbiB1bmVzY2FwZWQgbGF0aW4gYWxwaGFiZXQgY2hhcmFjdGVyIGAnICsgZmlyc3RDaGFyYWN0ZXIgKyAnYCcpO1xuICAgICAgfSAvLyBSZXBsYWNlIHR3byBzaW5nbGUgcXVvdGUgY2hhcmFjdGVycyB3aXRoIG9uZSBzaW5nbGUgcXVvdGUgY2hhcmFjdGVyXG5cblxuICAgICAgaWYgKHRva2VuID09PSBcIicnXCIpIHtcbiAgICAgICAgdG9rZW4gPSBcIidcIjtcbiAgICAgIH0gZWxzZSBpZiAoZmlyc3RDaGFyYWN0ZXIgPT09IFwiJ1wiKSB7XG4gICAgICAgIHRva2VuID0gY2xlYW5Fc2NhcGVkU3RyaW5nKHRva2VuKTtcbiAgICAgIH0gLy8gQ3V0IHRva2VuIGZyb20gc3RyaW5nLCBvciwgaWYgc3RyaW5nIGRvZXNuJ3QgbWF0Y2ggdGhlIHRva2VuLCByZXR1cm4gSW52YWxpZCBEYXRlXG5cblxuICAgICAgaWYgKGRhdGVTdHJpbmcuaW5kZXhPZih0b2tlbikgPT09IDApIHtcbiAgICAgICAgZGF0ZVN0cmluZyA9IGRhdGVTdHJpbmcuc2xpY2UodG9rZW4ubGVuZ3RoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBuZXcgRGF0ZShOYU4pO1xuICAgICAgfVxuICAgIH1cbiAgfSAvLyBDaGVjayBpZiB0aGUgcmVtYWluaW5nIGlucHV0IGNvbnRhaW5zIHNvbWV0aGluZyBvdGhlciB0aGFuIHdoaXRlc3BhY2VcblxuXG4gIGlmIChkYXRlU3RyaW5nLmxlbmd0aCA+IDAgJiYgbm90V2hpdGVzcGFjZVJlZ0V4cC50ZXN0KGRhdGVTdHJpbmcpKSB7XG4gICAgcmV0dXJuIG5ldyBEYXRlKE5hTik7XG4gIH1cblxuICB2YXIgdW5pcXVlUHJpb3JpdHlTZXR0ZXJzID0gc2V0dGVycy5tYXAoZnVuY3Rpb24gKHNldHRlcikge1xuICAgIHJldHVybiBzZXR0ZXIucHJpb3JpdHk7XG4gIH0pLnNvcnQoZnVuY3Rpb24gKGEsIGIpIHtcbiAgICByZXR1cm4gYiAtIGE7XG4gIH0pLmZpbHRlcihmdW5jdGlvbiAocHJpb3JpdHksIGluZGV4LCBhcnJheSkge1xuICAgIHJldHVybiBhcnJheS5pbmRleE9mKHByaW9yaXR5KSA9PT0gaW5kZXg7XG4gIH0pLm1hcChmdW5jdGlvbiAocHJpb3JpdHkpIHtcbiAgICByZXR1cm4gc2V0dGVycy5maWx0ZXIoZnVuY3Rpb24gKHNldHRlcikge1xuICAgICAgcmV0dXJuIHNldHRlci5wcmlvcml0eSA9PT0gcHJpb3JpdHk7XG4gICAgfSkucmV2ZXJzZSgpO1xuICB9KS5tYXAoZnVuY3Rpb24gKHNldHRlckFycmF5KSB7XG4gICAgcmV0dXJuIHNldHRlckFycmF5WzBdO1xuICB9KTtcbiAgdmFyIGRhdGUgPSB0b0RhdGUoZGlydHlCYWNrdXBEYXRlKTtcblxuICBpZiAoaXNOYU4oZGF0ZSkpIHtcbiAgICByZXR1cm4gbmV3IERhdGUoTmFOKTtcbiAgfSAvLyBDb252ZXJ0IHRoZSBkYXRlIGluIHN5c3RlbSB0aW1lem9uZSB0byB0aGUgc2FtZSBkYXRlIGluIFVUQyswMDowMCB0aW1lem9uZS5cbiAgLy8gVGhpcyBlbnN1cmVzIHRoYXQgd2hlbiBVVEMgZnVuY3Rpb25zIHdpbGwgYmUgaW1wbGVtZW50ZWQsIGxvY2FsZXMgd2lsbCBiZSBjb21wYXRpYmxlIHdpdGggdGhlbS5cbiAgLy8gU2VlIGFuIGlzc3VlIGFib3V0IFVUQyBmdW5jdGlvbnM6IGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRlLWZucy9kYXRlLWZucy9pc3N1ZXMvMzdcblxuXG4gIHZhciB1dGNEYXRlID0gc3ViTWlsbGlzZWNvbmRzKGRhdGUsIGdldFRpbWV6b25lT2Zmc2V0SW5NaWxsaXNlY29uZHMoZGF0ZSkpO1xuICB2YXIgZmxhZ3MgPSB7fTtcblxuICBmb3IgKGkgPSAwOyBpIDwgdW5pcXVlUHJpb3JpdHlTZXR0ZXJzLmxlbmd0aDsgaSsrKSB7XG4gICAgdmFyIHNldHRlciA9IHVuaXF1ZVByaW9yaXR5U2V0dGVyc1tpXTtcblxuICAgIGlmIChzZXR0ZXIudmFsaWRhdGUgJiYgIXNldHRlci52YWxpZGF0ZSh1dGNEYXRlLCBzZXR0ZXIudmFsdWUsIHN1YkZuT3B0aW9ucykpIHtcbiAgICAgIHJldHVybiBuZXcgRGF0ZShOYU4pO1xuICAgIH1cblxuICAgIHZhciByZXN1bHQgPSBzZXR0ZXIuc2V0KHV0Y0RhdGUsIGZsYWdzLCBzZXR0ZXIudmFsdWUsIHN1YkZuT3B0aW9ucyk7IC8vIFJlc3VsdCBpcyB0dXBsZSAoZGF0ZSwgZmxhZ3MpXG5cbiAgICBpZiAocmVzdWx0WzBdKSB7XG4gICAgICB1dGNEYXRlID0gcmVzdWx0WzBdO1xuICAgICAgYXNzaWduKGZsYWdzLCByZXN1bHRbMV0pOyAvLyBSZXN1bHQgaXMgZGF0ZVxuICAgIH0gZWxzZSB7XG4gICAgICB1dGNEYXRlID0gcmVzdWx0O1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB1dGNEYXRlO1xufVxuXG5mdW5jdGlvbiBkYXRlVG9TeXN0ZW1UaW1lem9uZShkYXRlLCBmbGFncykge1xuICBpZiAoZmxhZ3MudGltZXN0YW1wSXNTZXQpIHtcbiAgICByZXR1cm4gZGF0ZTtcbiAgfVxuXG4gIHZhciBjb252ZXJ0ZWREYXRlID0gbmV3IERhdGUoMCk7XG4gIGNvbnZlcnRlZERhdGUuc2V0RnVsbFllYXIoZGF0ZS5nZXRVVENGdWxsWWVhcigpLCBkYXRlLmdldFVUQ01vbnRoKCksIGRhdGUuZ2V0VVRDRGF0ZSgpKTtcbiAgY29udmVydGVkRGF0ZS5zZXRIb3VycyhkYXRlLmdldFVUQ0hvdXJzKCksIGRhdGUuZ2V0VVRDTWludXRlcygpLCBkYXRlLmdldFVUQ1NlY29uZHMoKSwgZGF0ZS5nZXRVVENNaWxsaXNlY29uZHMoKSk7XG4gIHJldHVybiBjb252ZXJ0ZWREYXRlO1xufVxuXG5mdW5jdGlvbiBjbGVhbkVzY2FwZWRTdHJpbmcoaW5wdXQpIHtcbiAgcmV0dXJuIGlucHV0Lm1hdGNoKGVzY2FwZWRTdHJpbmdSZWdFeHApWzFdLnJlcGxhY2UoZG91YmxlUXVvdGVSZWdFeHAsIFwiJ1wiKTtcbn0iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/parse/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/parseISO/index.js": /*!*****************************************************!*\ !*** ./node_modules/date-fns/esm/parseISO/index.js ***! \*****************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return parseISO; });\n/* harmony import */ var _lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_lib/toInteger/index.js */ \"./node_modules/date-fns/esm/_lib/toInteger/index.js\");\n/* harmony import */ var _lib_getTimezoneOffsetInMilliseconds_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../_lib/getTimezoneOffsetInMilliseconds/index.js */ \"./node_modules/date-fns/esm/_lib/getTimezoneOffsetInMilliseconds/index.js\");\n\n\nvar MILLISECONDS_IN_HOUR = 3600000;\nvar MILLISECONDS_IN_MINUTE = 60000;\nvar DEFAULT_ADDITIONAL_DIGITS = 2;\nvar patterns = {\n dateTimeDelimiter: /[T ]/,\n timeZoneDelimiter: /[Z ]/i,\n timezone: /([Z+-].*)$/\n};\nvar dateRegex = /^-?(?:(\\d{3})|(\\d{2})(?:-?(\\d{2}))?|W(\\d{2})(?:-?(\\d{1}))?|)$/;\nvar timeRegex = /^(\\d{2}(?:[.,]\\d*)?)(?::?(\\d{2}(?:[.,]\\d*)?))?(?::?(\\d{2}(?:[.,]\\d*)?))?$/;\nvar timezoneRegex = /^([+-])(\\d{2})(?::?(\\d{2}))?$/;\n/**\n * @name parseISO\n * @category Common Helpers\n * @summary Parse ISO string\n *\n * @description\n * Parse the given string in ISO 8601 format and return an instance of Date.\n *\n * Function accepts complete ISO 8601 formats as well as partial implementations.\n * ISO 8601: http://en.wikipedia.org/wiki/ISO_8601\n *\n * If the argument isn't a string, the function cannot parse the string or\n * the values are invalid, it returns Invalid Date.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * - The previous `parse` implementation was renamed to `parseISO`.\n *\n * ```javascript\n * // Before v2.0.0\n * parse('2016-01-01')\n *\n * // v2.0.0 onward\n * parseISO('2016-01-01')\n * ```\n *\n * - `parseISO` now validates separate date and time values in ISO-8601 strings\n * and returns `Invalid Date` if the date is invalid.\n *\n * ```javascript\n * parseISO('2018-13-32')\n * //=> Invalid Date\n * ```\n *\n * - `parseISO` now doesn't fall back to `new Date` constructor\n * if it fails to parse a string argument. Instead, it returns `Invalid Date`.\n *\n * @param {String} argument - the value to convert\n * @param {Object} [options] - an object with options.\n * @param {0|1|2} [options.additionalDigits=2] - the additional number of digits in the extended year format\n * @returns {Date} the parsed date in the local time zone\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\n *\n * @example\n * // Convert string '2014-02-11T11:30:30' to date:\n * var result = parseISO('2014-02-11T11:30:30')\n * //=> Tue Feb 11 2014 11:30:30\n *\n * @example\n * // Convert string '+02014101' to date,\n * // if the additional number of digits in the extended year format is 1:\n * var result = parseISO('+02014101', { additionalDigits: 1 })\n * //=> Fri Apr 11 2014 00:00:00\n */\n\nfunction parseISO(argument, dirtyOptions) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n var options = dirtyOptions || {};\n var additionalDigits = options.additionalDigits == null ? DEFAULT_ADDITIONAL_DIGITS : Object(_lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(options.additionalDigits);\n\n if (additionalDigits !== 2 && additionalDigits !== 1 && additionalDigits !== 0) {\n throw new RangeError('additionalDigits must be 0, 1 or 2');\n }\n\n if (!(typeof argument === 'string' || Object.prototype.toString.call(argument) === '[object String]')) {\n return new Date(NaN);\n }\n\n var dateStrings = splitDateString(argument);\n var date;\n\n if (dateStrings.date) {\n var parseYearResult = parseYear(dateStrings.date, additionalDigits);\n date = parseDate(parseYearResult.restDateString, parseYearResult.year);\n }\n\n if (isNaN(date) || !date) {\n return new Date(NaN);\n }\n\n var timestamp = date.getTime();\n var time = 0;\n var offset;\n\n if (dateStrings.time) {\n time = parseTime(dateStrings.time);\n\n if (isNaN(time) || time === null) {\n return new Date(NaN);\n }\n }\n\n if (dateStrings.timezone) {\n offset = parseTimezone(dateStrings.timezone);\n\n if (isNaN(offset)) {\n return new Date(NaN);\n }\n } else {\n var fullTime = timestamp + time;\n var fullTimeDate = new Date(fullTime);\n offset = Object(_lib_getTimezoneOffsetInMilliseconds_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(fullTimeDate); // Adjust time when it's coming from DST\n\n var fullTimeDateNextDay = new Date(fullTime);\n fullTimeDateNextDay.setDate(fullTimeDate.getDate() + 1);\n var offsetDiff = Object(_lib_getTimezoneOffsetInMilliseconds_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(fullTimeDateNextDay) - offset;\n\n if (offsetDiff > 0) {\n offset += offsetDiff;\n }\n }\n\n return new Date(timestamp + time + offset);\n}\n\nfunction splitDateString(dateString) {\n var dateStrings = {};\n var array = dateString.split(patterns.dateTimeDelimiter);\n var timeString;\n\n if (/:/.test(array[0])) {\n dateStrings.date = null;\n timeString = array[0];\n } else {\n dateStrings.date = array[0];\n timeString = array[1];\n\n if (patterns.timeZoneDelimiter.test(dateStrings.date)) {\n dateStrings.date = dateString.split(patterns.timeZoneDelimiter)[0];\n timeString = dateString.substr(dateStrings.date.length, dateString.length);\n }\n }\n\n if (timeString) {\n var token = patterns.timezone.exec(timeString);\n\n if (token) {\n dateStrings.time = timeString.replace(token[1], '');\n dateStrings.timezone = token[1];\n } else {\n dateStrings.time = timeString;\n }\n }\n\n return dateStrings;\n}\n\nfunction parseYear(dateString, additionalDigits) {\n var regex = new RegExp('^(?:(\\\\d{4}|[+-]\\\\d{' + (4 + additionalDigits) + '})|(\\\\d{2}|[+-]\\\\d{' + (2 + additionalDigits) + '})$)');\n var captures = dateString.match(regex); // Invalid ISO-formatted year\n\n if (!captures) return {\n year: null\n };\n var year = captures[1] && parseInt(captures[1]);\n var century = captures[2] && parseInt(captures[2]);\n return {\n year: century == null ? year : century * 100,\n restDateString: dateString.slice((captures[1] || captures[2]).length)\n };\n}\n\nfunction parseDate(dateString, year) {\n // Invalid ISO-formatted year\n if (year === null) return null;\n var captures = dateString.match(dateRegex); // Invalid ISO-formatted string\n\n if (!captures) return null;\n var isWeekDate = !!captures[4];\n var dayOfYear = parseDateUnit(captures[1]);\n var month = parseDateUnit(captures[2]) - 1;\n var day = parseDateUnit(captures[3]);\n var week = parseDateUnit(captures[4]);\n var dayOfWeek = parseDateUnit(captures[5]) - 1;\n\n if (isWeekDate) {\n if (!validateWeekDate(year, week, dayOfWeek)) {\n return new Date(NaN);\n }\n\n return dayOfISOWeekYear(year, week, dayOfWeek);\n } else {\n var date = new Date(0);\n\n if (!validateDate(year, month, day) || !validateDayOfYearDate(year, dayOfYear)) {\n return new Date(NaN);\n }\n\n date.setUTCFullYear(year, month, Math.max(dayOfYear, day));\n return date;\n }\n}\n\nfunction parseDateUnit(value) {\n return value ? parseInt(value) : 1;\n}\n\nfunction parseTime(timeString) {\n var captures = timeString.match(timeRegex);\n if (!captures) return null; // Invalid ISO-formatted time\n\n var hours = parseTimeUnit(captures[1]);\n var minutes = parseTimeUnit(captures[2]);\n var seconds = parseTimeUnit(captures[3]);\n\n if (!validateTime(hours, minutes, seconds)) {\n return NaN;\n }\n\n return hours * MILLISECONDS_IN_HOUR + minutes * MILLISECONDS_IN_MINUTE + seconds * 1000;\n}\n\nfunction parseTimeUnit(value) {\n return value && parseFloat(value.replace(',', '.')) || 0;\n}\n\nfunction parseTimezone(timezoneString) {\n if (timezoneString === 'Z') return 0;\n var captures = timezoneString.match(timezoneRegex);\n if (!captures) return 0;\n var sign = captures[1] === '+' ? -1 : 1;\n var hours = parseInt(captures[2]);\n var minutes = captures[3] && parseInt(captures[3]) || 0;\n\n if (!validateTimezone(hours, minutes)) {\n return NaN;\n }\n\n return sign * (hours * MILLISECONDS_IN_HOUR + minutes * MILLISECONDS_IN_MINUTE);\n}\n\nfunction dayOfISOWeekYear(isoWeekYear, week, day) {\n var date = new Date(0);\n date.setUTCFullYear(isoWeekYear, 0, 4);\n var fourthOfJanuaryDay = date.getUTCDay() || 7;\n var diff = (week - 1) * 7 + day + 1 - fourthOfJanuaryDay;\n date.setUTCDate(date.getUTCDate() + diff);\n return date;\n} // Validation functions\n// February is null to handle the leap year (using ||)\n\n\nvar daysInMonths = [31, null, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\n\nfunction isLeapYearIndex(year) {\n return year % 400 === 0 || year % 4 === 0 && year % 100;\n}\n\nfunction validateDate(year, month, date) {\n return month >= 0 && month <= 11 && date >= 1 && date <= (daysInMonths[month] || (isLeapYearIndex(year) ? 29 : 28));\n}\n\nfunction validateDayOfYearDate(year, dayOfYear) {\n return dayOfYear >= 1 && dayOfYear <= (isLeapYearIndex(year) ? 366 : 365);\n}\n\nfunction validateWeekDate(_year, week, day) {\n return week >= 1 && week <= 53 && day >= 0 && day <= 6;\n}\n\nfunction validateTime(hours, minutes, seconds) {\n if (hours === 24) {\n return minutes === 0 && seconds === 0;\n }\n\n return seconds >= 0 && seconds < 60 && minutes >= 0 && minutes < 60 && hours >= 0 && hours < 25;\n}\n\nfunction validateTimezone(_hours, minutes) {\n return minutes >= 0 && minutes <= 59;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL3BhcnNlSVNPL2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2VzbS9wYXJzZUlTTy9pbmRleC5qcz9lM2VlIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0b0ludGVnZXIgZnJvbSAnLi4vX2xpYi90b0ludGVnZXIvaW5kZXguanMnO1xuaW1wb3J0IGdldFRpbWV6b25lT2Zmc2V0SW5NaWxsaXNlY29uZHMgZnJvbSAnLi4vX2xpYi9nZXRUaW1lem9uZU9mZnNldEluTWlsbGlzZWNvbmRzL2luZGV4LmpzJztcbnZhciBNSUxMSVNFQ09ORFNfSU5fSE9VUiA9IDM2MDAwMDA7XG52YXIgTUlMTElTRUNPTkRTX0lOX01JTlVURSA9IDYwMDAwO1xudmFyIERFRkFVTFRfQURESVRJT05BTF9ESUdJVFMgPSAyO1xudmFyIHBhdHRlcm5zID0ge1xuICBkYXRlVGltZURlbGltaXRlcjogL1tUIF0vLFxuICB0aW1lWm9uZURlbGltaXRlcjogL1taIF0vaSxcbiAgdGltZXpvbmU6IC8oW1orLV0uKikkL1xufTtcbnZhciBkYXRlUmVnZXggPSAvXi0/KD86KFxcZHszfSl8KFxcZHsyfSkoPzotPyhcXGR7Mn0pKT98VyhcXGR7Mn0pKD86LT8oXFxkezF9KSk/fCkkLztcbnZhciB0aW1lUmVnZXggPSAvXihcXGR7Mn0oPzpbLixdXFxkKik/KSg/Ojo/KFxcZHsyfSg/OlsuLF1cXGQqKT8pKT8oPzo6PyhcXGR7Mn0oPzpbLixdXFxkKik/KSk/JC87XG52YXIgdGltZXpvbmVSZWdleCA9IC9eKFsrLV0pKFxcZHsyfSkoPzo6PyhcXGR7Mn0pKT8kLztcbi8qKlxuICogQG5hbWUgcGFyc2VJU09cbiAqIEBjYXRlZ29yeSBDb21tb24gSGVscGVyc1xuICogQHN1bW1hcnkgUGFyc2UgSVNPIHN0cmluZ1xuICpcbiAqIEBkZXNjcmlwdGlvblxuICogUGFyc2UgdGhlIGdpdmVuIHN0cmluZyBpbiBJU08gODYwMSBmb3JtYXQgYW5kIHJldHVybiBhbiBpbnN0YW5jZSBvZiBEYXRlLlxuICpcbiAqIEZ1bmN0aW9uIGFjY2VwdHMgY29tcGxldGUgSVNPIDg2MDEgZm9ybWF0cyBhcyB3ZWxsIGFzIHBhcnRpYWwgaW1wbGVtZW50YXRpb25zLlxuICogSVNPIDg2MDE6IGh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvSVNPXzg2MDFcbiAqXG4gKiBJZiB0aGUgYXJndW1lbnQgaXNuJ3QgYSBzdHJpbmcsIHRoZSBmdW5jdGlvbiBjYW5ub3QgcGFyc2UgdGhlIHN0cmluZyBvclxuICogdGhlIHZhbHVlcyBhcmUgaW52YWxpZCwgaXQgcmV0dXJucyBJbnZhbGlkIERhdGUuXG4gKlxuICogIyMjIHYyLjAuMCBicmVha2luZyBjaGFuZ2VzOlxuICpcbiAqIC0gW0NoYW5nZXMgdGhhdCBhcmUgY29tbW9uIGZvciB0aGUgd2hvbGUgbGlicmFyeV0oaHR0cHM6Ly9naXRodWIuY29tL2RhdGUtZm5zL2RhdGUtZm5zL2Jsb2IvbWFzdGVyL2RvY3MvdXBncmFkZUd1aWRlLm1kI0NvbW1vbi1DaGFuZ2VzKS5cbiAqXG4gKiAtIFRoZSBwcmV2aW91cyBgcGFyc2VgIGltcGxlbWVudGF0aW9uIHdhcyByZW5hbWVkIHRvIGBwYXJzZUlTT2AuXG4gKlxuICogICBgYGBqYXZhc2NyaXB0XG4gKiAgIC8vIEJlZm9yZSB2Mi4wLjBcbiAqICAgcGFyc2UoJzIwMTYtMDEtMDEnKVxuICpcbiAqICAgLy8gdjIuMC4wIG9ud2FyZFxuICogICBwYXJzZUlTTygnMjAxNi0wMS0wMScpXG4gKiAgIGBgYFxuICpcbiAqIC0gYHBhcnNlSVNPYCBub3cgdmFsaWRhdGVzIHNlcGFyYXRlIGRhdGUgYW5kIHRpbWUgdmFsdWVzIGluIElTTy04NjAxIHN0cmluZ3NcbiAqICAgYW5kIHJldHVybnMgYEludmFsaWQgRGF0ZWAgaWYgdGhlIGRhdGUgaXMgaW52YWxpZC5cbiAqXG4gKiAgIGBgYGphdmFzY3JpcHRcbiAqICAgcGFyc2VJU08oJzIwMTgtMTMtMzInKVxuICogICAvLz0+IEludmFsaWQgRGF0ZVxuICogICBgYGBcbiAqXG4gKiAtIGBwYXJzZUlTT2Agbm93IGRvZXNuJ3QgZmFsbCBiYWNrIHRvIGBuZXcgRGF0ZWAgY29uc3RydWN0b3JcbiAqICAgaWYgaXQgZmFpbHMgdG8gcGFyc2UgYSBzdHJpbmcgYXJndW1lbnQuIEluc3RlYWQsIGl0IHJldHVybnMgYEludmFsaWQgRGF0ZWAuXG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IGFyZ3VtZW50IC0gdGhlIHZhbHVlIHRvIGNvbnZlcnRcbiAqIEBwYXJhbSB7T2JqZWN0fSBbb3B0aW9uc10gLSBhbiBvYmplY3Qgd2l0aCBvcHRpb25zLlxuICogQHBhcmFtIHswfDF8Mn0gW29wdGlvbnMuYWRkaXRpb25hbERpZ2l0cz0yXSAtIHRoZSBhZGRpdGlvbmFsIG51bWJlciBvZiBkaWdpdHMgaW4gdGhlIGV4dGVuZGVkIHllYXIgZm9ybWF0XG4gKiBAcmV0dXJucyB7RGF0ZX0gdGhlIHBhcnNlZCBkYXRlIGluIHRoZSBsb2NhbCB0aW1lIHpvbmVcbiAqIEB0aHJvd3Mge1R5cGVFcnJvcn0gMSBhcmd1bWVudCByZXF1aXJlZFxuICogQHRocm93cyB7UmFuZ2VFcnJvcn0gYG9wdGlvbnMuYWRkaXRpb25hbERpZ2l0c2AgbXVzdCBiZSAwLCAxIG9yIDJcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gQ29udmVydCBzdHJpbmcgJzIwMTQtMDItMTFUMTE6MzA6MzAnIHRvIGRhdGU6XG4gKiB2YXIgcmVzdWx0ID0gcGFyc2VJU08oJzIwMTQtMDItMTFUMTE6MzA6MzAnKVxuICogLy89PiBUdWUgRmViIDExIDIwMTQgMTE6MzA6MzBcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gQ29udmVydCBzdHJpbmcgJyswMjAxNDEwMScgdG8gZGF0ZSxcbiAqIC8vIGlmIHRoZSBhZGRpdGlvbmFsIG51bWJlciBvZiBkaWdpdHMgaW4gdGhlIGV4dGVuZGVkIHllYXIgZm9ybWF0IGlzIDE6XG4gKiB2YXIgcmVzdWx0ID0gcGFyc2VJU08oJyswMjAxNDEwMScsIHsgYWRkaXRpb25hbERpZ2l0czogMSB9KVxuICogLy89PiBGcmkgQXByIDExIDIwMTQgMDA6MDA6MDBcbiAqL1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBwYXJzZUlTTyhhcmd1bWVudCwgZGlydHlPcHRpb25zKSB7XG4gIGlmIChhcmd1bWVudHMubGVuZ3RoIDwgMSkge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJzEgYXJndW1lbnQgcmVxdWlyZWQsIGJ1dCBvbmx5ICcgKyBhcmd1bWVudHMubGVuZ3RoICsgJyBwcmVzZW50Jyk7XG4gIH1cblxuICB2YXIgb3B0aW9ucyA9IGRpcnR5T3B0aW9ucyB8fCB7fTtcbiAgdmFyIGFkZGl0aW9uYWxEaWdpdHMgPSBvcHRpb25zLmFkZGl0aW9uYWxEaWdpdHMgPT0gbnVsbCA/IERFRkFVTFRfQURESVRJT05BTF9ESUdJVFMgOiB0b0ludGVnZXIob3B0aW9ucy5hZGRpdGlvbmFsRGlnaXRzKTtcblxuICBpZiAoYWRkaXRpb25hbERpZ2l0cyAhPT0gMiAmJiBhZGRpdGlvbmFsRGlnaXRzICE9PSAxICYmIGFkZGl0aW9uYWxEaWdpdHMgIT09IDApIHtcbiAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcignYWRkaXRpb25hbERpZ2l0cyBtdXN0IGJlIDAsIDEgb3IgMicpO1xuICB9XG5cbiAgaWYgKCEodHlwZW9mIGFyZ3VtZW50ID09PSAnc3RyaW5nJyB8fCBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoYXJndW1lbnQpID09PSAnW29iamVjdCBTdHJpbmddJykpIHtcbiAgICByZXR1cm4gbmV3IERhdGUoTmFOKTtcbiAgfVxuXG4gIHZhciBkYXRlU3RyaW5ncyA9IHNwbGl0RGF0ZVN0cmluZyhhcmd1bWVudCk7XG4gIHZhciBkYXRlO1xuXG4gIGlmIChkYXRlU3RyaW5ncy5kYXRlKSB7XG4gICAgdmFyIHBhcnNlWWVhclJlc3VsdCA9IHBhcnNlWWVhcihkYXRlU3RyaW5ncy5kYXRlLCBhZGRpdGlvbmFsRGlnaXRzKTtcbiAgICBkYXRlID0gcGFyc2VEYXRlKHBhcnNlWWVhclJlc3VsdC5yZXN0RGF0ZVN0cmluZywgcGFyc2VZZWFyUmVzdWx0LnllYXIpO1xuICB9XG5cbiAgaWYgKGlzTmFOKGRhdGUpIHx8ICFkYXRlKSB7XG4gICAgcmV0dXJuIG5ldyBEYXRlKE5hTik7XG4gIH1cblxuICB2YXIgdGltZXN0YW1wID0gZGF0ZS5nZXRUaW1lKCk7XG4gIHZhciB0aW1lID0gMDtcbiAgdmFyIG9mZnNldDtcblxuICBpZiAoZGF0ZVN0cmluZ3MudGltZSkge1xuICAgIHRpbWUgPSBwYXJzZVRpbWUoZGF0ZVN0cmluZ3MudGltZSk7XG5cbiAgICBpZiAoaXNOYU4odGltZSkgfHwgdGltZSA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuIG5ldyBEYXRlKE5hTik7XG4gICAgfVxuICB9XG5cbiAgaWYgKGRhdGVTdHJpbmdzLnRpbWV6b25lKSB7XG4gICAgb2Zmc2V0ID0gcGFyc2VUaW1lem9uZShkYXRlU3RyaW5ncy50aW1lem9uZSk7XG5cbiAgICBpZiAoaXNOYU4ob2Zmc2V0KSkge1xuICAgICAgcmV0dXJuIG5ldyBEYXRlKE5hTik7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIHZhciBmdWxsVGltZSA9IHRpbWVzdGFtcCArIHRpbWU7XG4gICAgdmFyIGZ1bGxUaW1lRGF0ZSA9IG5ldyBEYXRlKGZ1bGxUaW1lKTtcbiAgICBvZmZzZXQgPSBnZXRUaW1lem9uZU9mZnNldEluTWlsbGlzZWNvbmRzKGZ1bGxUaW1lRGF0ZSk7IC8vIEFkanVzdCB0aW1lIHdoZW4gaXQncyBjb21pbmcgZnJvbSBEU1RcblxuICAgIHZhciBmdWxsVGltZURhdGVOZXh0RGF5ID0gbmV3IERhdGUoZnVsbFRpbWUpO1xuICAgIGZ1bGxUaW1lRGF0ZU5leHREYXkuc2V0RGF0ZShmdWxsVGltZURhdGUuZ2V0RGF0ZSgpICsgMSk7XG4gICAgdmFyIG9mZnNldERpZmYgPSBnZXRUaW1lem9uZU9mZnNldEluTWlsbGlzZWNvbmRzKGZ1bGxUaW1lRGF0ZU5leHREYXkpIC0gb2Zmc2V0O1xuXG4gICAgaWYgKG9mZnNldERpZmYgPiAwKSB7XG4gICAgICBvZmZzZXQgKz0gb2Zmc2V0RGlmZjtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gbmV3IERhdGUodGltZXN0YW1wICsgdGltZSArIG9mZnNldCk7XG59XG5cbmZ1bmN0aW9uIHNwbGl0RGF0ZVN0cmluZyhkYXRlU3RyaW5nKSB7XG4gIHZhciBkYXRlU3RyaW5ncyA9IHt9O1xuICB2YXIgYXJyYXkgPSBkYXRlU3RyaW5nLnNwbGl0KHBhdHRlcm5zLmRhdGVUaW1lRGVsaW1pdGVyKTtcbiAgdmFyIHRpbWVTdHJpbmc7XG5cbiAgaWYgKC86Ly50ZXN0KGFycmF5WzBdKSkge1xuICAgIGRhdGVTdHJpbmdzLmRhdGUgPSBudWxsO1xuICAgIHRpbWVTdHJpbmcgPSBhcnJheVswXTtcbiAgfSBlbHNlIHtcbiAgICBkYXRlU3RyaW5ncy5kYXRlID0gYXJyYXlbMF07XG4gICAgdGltZVN0cmluZyA9IGFycmF5WzFdO1xuXG4gICAgaWYgKHBhdHRlcm5zLnRpbWVab25lRGVsaW1pdGVyLnRlc3QoZGF0ZVN0cmluZ3MuZGF0ZSkpIHtcbiAgICAgIGRhdGVTdHJpbmdzLmRhdGUgPSBkYXRlU3RyaW5nLnNwbGl0KHBhdHRlcm5zLnRpbWVab25lRGVsaW1pdGVyKVswXTtcbiAgICAgIHRpbWVTdHJpbmcgPSBkYXRlU3RyaW5nLnN1YnN0cihkYXRlU3RyaW5ncy5kYXRlLmxlbmd0aCwgZGF0ZVN0cmluZy5sZW5ndGgpO1xuICAgIH1cbiAgfVxuXG4gIGlmICh0aW1lU3RyaW5nKSB7XG4gICAgdmFyIHRva2VuID0gcGF0dGVybnMudGltZXpvbmUuZXhlYyh0aW1lU3RyaW5nKTtcblxuICAgIGlmICh0b2tlbikge1xuICAgICAgZGF0ZVN0cmluZ3MudGltZSA9IHRpbWVTdHJpbmcucmVwbGFjZSh0b2tlblsxXSwgJycpO1xuICAgICAgZGF0ZVN0cmluZ3MudGltZXpvbmUgPSB0b2tlblsxXTtcbiAgICB9IGVsc2Uge1xuICAgICAgZGF0ZVN0cmluZ3MudGltZSA9IHRpbWVTdHJpbmc7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGRhdGVTdHJpbmdzO1xufVxuXG5mdW5jdGlvbiBwYXJzZVllYXIoZGF0ZVN0cmluZywgYWRkaXRpb25hbERpZ2l0cykge1xuICB2YXIgcmVnZXggPSBuZXcgUmVnRXhwKCdeKD86KFxcXFxkezR9fFsrLV1cXFxcZHsnICsgKDQgKyBhZGRpdGlvbmFsRGlnaXRzKSArICd9KXwoXFxcXGR7Mn18WystXVxcXFxkeycgKyAoMiArIGFkZGl0aW9uYWxEaWdpdHMpICsgJ30pJCknKTtcbiAgdmFyIGNhcHR1cmVzID0gZGF0ZVN0cmluZy5tYXRjaChyZWdleCk7IC8vIEludmFsaWQgSVNPLWZvcm1hdHRlZCB5ZWFyXG5cbiAgaWYgKCFjYXB0dXJlcykgcmV0dXJuIHtcbiAgICB5ZWFyOiBudWxsXG4gIH07XG4gIHZhciB5ZWFyID0gY2FwdHVyZXNbMV0gJiYgcGFyc2VJbnQoY2FwdHVyZXNbMV0pO1xuICB2YXIgY2VudHVyeSA9IGNhcHR1cmVzWzJdICYmIHBhcnNlSW50KGNhcHR1cmVzWzJdKTtcbiAgcmV0dXJuIHtcbiAgICB5ZWFyOiBjZW50dXJ5ID09IG51bGwgPyB5ZWFyIDogY2VudHVyeSAqIDEwMCxcbiAgICByZXN0RGF0ZVN0cmluZzogZGF0ZVN0cmluZy5zbGljZSgoY2FwdHVyZXNbMV0gfHwgY2FwdHVyZXNbMl0pLmxlbmd0aClcbiAgfTtcbn1cblxuZnVuY3Rpb24gcGFyc2VEYXRlKGRhdGVTdHJpbmcsIHllYXIpIHtcbiAgLy8gSW52YWxpZCBJU08tZm9ybWF0dGVkIHllYXJcbiAgaWYgKHllYXIgPT09IG51bGwpIHJldHVybiBudWxsO1xuICB2YXIgY2FwdHVyZXMgPSBkYXRlU3RyaW5nLm1hdGNoKGRhdGVSZWdleCk7IC8vIEludmFsaWQgSVNPLWZvcm1hdHRlZCBzdHJpbmdcblxuICBpZiAoIWNhcHR1cmVzKSByZXR1cm4gbnVsbDtcbiAgdmFyIGlzV2Vla0RhdGUgPSAhIWNhcHR1cmVzWzRdO1xuICB2YXIgZGF5T2ZZZWFyID0gcGFyc2VEYXRlVW5pdChjYXB0dXJlc1sxXSk7XG4gIHZhciBtb250aCA9IHBhcnNlRGF0ZVVuaXQoY2FwdHVyZXNbMl0pIC0gMTtcbiAgdmFyIGRheSA9IHBhcnNlRGF0ZVVuaXQoY2FwdHVyZXNbM10pO1xuICB2YXIgd2VlayA9IHBhcnNlRGF0ZVVuaXQoY2FwdHVyZXNbNF0pO1xuICB2YXIgZGF5T2ZXZWVrID0gcGFyc2VEYXRlVW5pdChjYXB0dXJlc1s1XSkgLSAxO1xuXG4gIGlmIChpc1dlZWtEYXRlKSB7XG4gICAgaWYgKCF2YWxpZGF0ZVdlZWtEYXRlKHllYXIsIHdlZWssIGRheU9mV2VlaykpIHtcbiAgICAgIHJldHVybiBuZXcgRGF0ZShOYU4pO1xuICAgIH1cblxuICAgIHJldHVybiBkYXlPZklTT1dlZWtZZWFyKHllYXIsIHdlZWssIGRheU9mV2Vlayk7XG4gIH0gZWxzZSB7XG4gICAgdmFyIGRhdGUgPSBuZXcgRGF0ZSgwKTtcblxuICAgIGlmICghdmFsaWRhdGVEYXRlKHllYXIsIG1vbnRoLCBkYXkpIHx8ICF2YWxpZGF0ZURheU9mWWVhckRhdGUoeWVhciwgZGF5T2ZZZWFyKSkge1xuICAgICAgcmV0dXJuIG5ldyBEYXRlKE5hTik7XG4gICAgfVxuXG4gICAgZGF0ZS5zZXRVVENGdWxsWWVhcih5ZWFyLCBtb250aCwgTWF0aC5tYXgoZGF5T2ZZZWFyLCBkYXkpKTtcbiAgICByZXR1cm4gZGF0ZTtcbiAgfVxufVxuXG5mdW5jdGlvbiBwYXJzZURhdGVVbml0KHZhbHVlKSB7XG4gIHJldHVybiB2YWx1ZSA/IHBhcnNlSW50KHZhbHVlKSA6IDE7XG59XG5cbmZ1bmN0aW9uIHBhcnNlVGltZSh0aW1lU3RyaW5nKSB7XG4gIHZhciBjYXB0dXJlcyA9IHRpbWVTdHJpbmcubWF0Y2godGltZVJlZ2V4KTtcbiAgaWYgKCFjYXB0dXJlcykgcmV0dXJuIG51bGw7IC8vIEludmFsaWQgSVNPLWZvcm1hdHRlZCB0aW1lXG5cbiAgdmFyIGhvdXJzID0gcGFyc2VUaW1lVW5pdChjYXB0dXJlc1sxXSk7XG4gIHZhciBtaW51dGVzID0gcGFyc2VUaW1lVW5pdChjYXB0dXJlc1syXSk7XG4gIHZhciBzZWNvbmRzID0gcGFyc2VUaW1lVW5pdChjYXB0dXJlc1szXSk7XG5cbiAgaWYgKCF2YWxpZGF0ZVRpbWUoaG91cnMsIG1pbnV0ZXMsIHNlY29uZHMpKSB7XG4gICAgcmV0dXJuIE5hTjtcbiAgfVxuXG4gIHJldHVybiBob3VycyAqIE1JTExJU0VDT05EU19JTl9IT1VSICsgbWludXRlcyAqIE1JTExJU0VDT05EU19JTl9NSU5VVEUgKyBzZWNvbmRzICogMTAwMDtcbn1cblxuZnVuY3Rpb24gcGFyc2VUaW1lVW5pdCh2YWx1ZSkge1xuICByZXR1cm4gdmFsdWUgJiYgcGFyc2VGbG9hdCh2YWx1ZS5yZXBsYWNlKCcsJywgJy4nKSkgfHwgMDtcbn1cblxuZnVuY3Rpb24gcGFyc2VUaW1lem9uZSh0aW1lem9uZVN0cmluZykge1xuICBpZiAodGltZXpvbmVTdHJpbmcgPT09ICdaJykgcmV0dXJuIDA7XG4gIHZhciBjYXB0dXJlcyA9IHRpbWV6b25lU3RyaW5nLm1hdGNoKHRpbWV6b25lUmVnZXgpO1xuICBpZiAoIWNhcHR1cmVzKSByZXR1cm4gMDtcbiAgdmFyIHNpZ24gPSBjYXB0dXJlc1sxXSA9PT0gJysnID8gLTEgOiAxO1xuICB2YXIgaG91cnMgPSBwYXJzZUludChjYXB0dXJlc1syXSk7XG4gIHZhciBtaW51dGVzID0gY2FwdHVyZXNbM10gJiYgcGFyc2VJbnQoY2FwdHVyZXNbM10pIHx8IDA7XG5cbiAgaWYgKCF2YWxpZGF0ZVRpbWV6b25lKGhvdXJzLCBtaW51dGVzKSkge1xuICAgIHJldHVybiBOYU47XG4gIH1cblxuICByZXR1cm4gc2lnbiAqIChob3VycyAqIE1JTExJU0VDT05EU19JTl9IT1VSICsgbWludXRlcyAqIE1JTExJU0VDT05EU19JTl9NSU5VVEUpO1xufVxuXG5mdW5jdGlvbiBkYXlPZklTT1dlZWtZZWFyKGlzb1dlZWtZZWFyLCB3ZWVrLCBkYXkpIHtcbiAgdmFyIGRhdGUgPSBuZXcgRGF0ZSgwKTtcbiAgZGF0ZS5zZXRVVENGdWxsWWVhcihpc29XZWVrWWVhciwgMCwgNCk7XG4gIHZhciBmb3VydGhPZkphbnVhcnlEYXkgPSBkYXRlLmdldFVUQ0RheSgpIHx8IDc7XG4gIHZhciBkaWZmID0gKHdlZWsgLSAxKSAqIDcgKyBkYXkgKyAxIC0gZm91cnRoT2ZKYW51YXJ5RGF5O1xuICBkYXRlLnNldFVUQ0RhdGUoZGF0ZS5nZXRVVENEYXRlKCkgKyBkaWZmKTtcbiAgcmV0dXJuIGRhdGU7XG59IC8vIFZhbGlkYXRpb24gZnVuY3Rpb25zXG4vLyBGZWJydWFyeSBpcyBudWxsIHRvIGhhbmRsZSB0aGUgbGVhcCB5ZWFyICh1c2luZyB8fClcblxuXG52YXIgZGF5c0luTW9udGhzID0gWzMxLCBudWxsLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMxLCAzMCwgMzEsIDMwLCAzMV07XG5cbmZ1bmN0aW9uIGlzTGVhcFllYXJJbmRleCh5ZWFyKSB7XG4gIHJldHVybiB5ZWFyICUgNDAwID09PSAwIHx8IHllYXIgJSA0ID09PSAwICYmIHllYXIgJSAxMDA7XG59XG5cbmZ1bmN0aW9uIHZhbGlkYXRlRGF0ZSh5ZWFyLCBtb250aCwgZGF0ZSkge1xuICByZXR1cm4gbW9udGggPj0gMCAmJiBtb250aCA8PSAxMSAmJiBkYXRlID49IDEgJiYgZGF0ZSA8PSAoZGF5c0luTW9udGhzW21vbnRoXSB8fCAoaXNMZWFwWWVhckluZGV4KHllYXIpID8gMjkgOiAyOCkpO1xufVxuXG5mdW5jdGlvbiB2YWxpZGF0ZURheU9mWWVhckRhdGUoeWVhciwgZGF5T2ZZZWFyKSB7XG4gIHJldHVybiBkYXlPZlllYXIgPj0gMSAmJiBkYXlPZlllYXIgPD0gKGlzTGVhcFllYXJJbmRleCh5ZWFyKSA/IDM2NiA6IDM2NSk7XG59XG5cbmZ1bmN0aW9uIHZhbGlkYXRlV2Vla0RhdGUoX3llYXIsIHdlZWssIGRheSkge1xuICByZXR1cm4gd2VlayA+PSAxICYmIHdlZWsgPD0gNTMgJiYgZGF5ID49IDAgJiYgZGF5IDw9IDY7XG59XG5cbmZ1bmN0aW9uIHZhbGlkYXRlVGltZShob3VycywgbWludXRlcywgc2Vjb25kcykge1xuICBpZiAoaG91cnMgPT09IDI0KSB7XG4gICAgcmV0dXJuIG1pbnV0ZXMgPT09IDAgJiYgc2Vjb25kcyA9PT0gMDtcbiAgfVxuXG4gIHJldHVybiBzZWNvbmRzID49IDAgJiYgc2Vjb25kcyA8IDYwICYmIG1pbnV0ZXMgPj0gMCAmJiBtaW51dGVzIDwgNjAgJiYgaG91cnMgPj0gMCAmJiBob3VycyA8IDI1O1xufVxuXG5mdW5jdGlvbiB2YWxpZGF0ZVRpbWV6b25lKF9ob3VycywgbWludXRlcykge1xuICByZXR1cm4gbWludXRlcyA+PSAwICYmIG1pbnV0ZXMgPD0gNTk7XG59Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/parseISO/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/roundToNearestMinutes/index.js": /*!******************************************************************!*\ !*** ./node_modules/date-fns/esm/roundToNearestMinutes/index.js ***! \******************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return roundToNearestMinutes; });\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n/* harmony import */ var _lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../_lib/toInteger/index.js */ \"./node_modules/date-fns/esm/_lib/toInteger/index.js\");\n\n\n/**\n * @name roundToNearestMinutes\n * @category Minute Helpers\n * @summary Rounds the given date to the nearest minute\n *\n * @description\n * Rounds the given date to the nearest minute\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to round\n * @param {Object} [options] - an object with options.\n * @param {Number} [options.nearestTo=1] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\n * @returns {Date} the new date rounded to the closest minute\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} `options.nearestTo` must be between 1 and 30\n *\n * @example\n * // Round 10 July 2014 12:12:34 to nearest minute:\n * var result = roundToNearestMinutes(new Date(2014, 6, 10, 12, 12, 34))\n * //=> Thu Jul 10 2014 12:13:00\n */\n\nfunction roundToNearestMinutes(dirtyDate, options) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only none provided present');\n }\n\n var nearestTo = options && 'nearestTo' in options ? Object(_lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(options.nearestTo) : 1;\n\n if (nearestTo < 1 || nearestTo > 30) {\n throw new RangeError('`options.nearestTo` must be between 1 and 30');\n }\n\n var date = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate);\n var seconds = date.getSeconds(); // relevant if nearestTo is 1, which is the default case\n\n var minutes = date.getMinutes() + seconds / 60;\n var roundedMinutes = Math.floor(minutes / nearestTo) * nearestTo;\n var remainderMinutes = minutes % nearestTo;\n var addedMinutes = Math.round(remainderMinutes / nearestTo) * nearestTo;\n return new Date(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), roundedMinutes + addedMinutes);\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL3JvdW5kVG9OZWFyZXN0TWludXRlcy9pbmRleC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9kYXRlLWZucy9lc20vcm91bmRUb05lYXJlc3RNaW51dGVzL2luZGV4LmpzPzIwYmIiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHRvRGF0ZSBmcm9tICcuLi90b0RhdGUvaW5kZXguanMnO1xuaW1wb3J0IHRvSW50ZWdlciBmcm9tICcuLi9fbGliL3RvSW50ZWdlci9pbmRleC5qcyc7XG4vKipcbiAqIEBuYW1lIHJvdW5kVG9OZWFyZXN0TWludXRlc1xuICogQGNhdGVnb3J5IE1pbnV0ZSBIZWxwZXJzXG4gKiBAc3VtbWFyeSBSb3VuZHMgdGhlIGdpdmVuIGRhdGUgdG8gdGhlIG5lYXJlc3QgbWludXRlXG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKiBSb3VuZHMgdGhlIGdpdmVuIGRhdGUgdG8gdGhlIG5lYXJlc3QgbWludXRlXG4gKlxuICogIyMjIHYyLjAuMCBicmVha2luZyBjaGFuZ2VzOlxuICpcbiAqIC0gW0NoYW5nZXMgdGhhdCBhcmUgY29tbW9uIGZvciB0aGUgd2hvbGUgbGlicmFyeV0oaHR0cHM6Ly9naXRodWIuY29tL2RhdGUtZm5zL2RhdGUtZm5zL2Jsb2IvbWFzdGVyL2RvY3MvdXBncmFkZUd1aWRlLm1kI0NvbW1vbi1DaGFuZ2VzKS5cbiAqXG4gKiBAcGFyYW0ge0RhdGV8TnVtYmVyfSBkYXRlIC0gdGhlIGRhdGUgdG8gcm91bmRcbiAqIEBwYXJhbSB7T2JqZWN0fSBbb3B0aW9uc10gLSBhbiBvYmplY3Qgd2l0aCBvcHRpb25zLlxuICogQHBhcmFtIHtOdW1iZXJ9IFtvcHRpb25zLm5lYXJlc3RUbz0xXSAtIHBhc3NlZCB0byBgdG9EYXRlYC4gU2VlIFt0b0RhdGVde0BsaW5rIGh0dHBzOi8vZGF0ZS1mbnMub3JnL2RvY3MvdG9EYXRlfVxuICogQHJldHVybnMge0RhdGV9IHRoZSBuZXcgZGF0ZSByb3VuZGVkIHRvIHRoZSBjbG9zZXN0IG1pbnV0ZVxuICogQHRocm93cyB7VHlwZUVycm9yfSAxIGFyZ3VtZW50IHJlcXVpcmVkXG4gKiBAdGhyb3dzIHtSYW5nZUVycm9yfSBgb3B0aW9ucy5uZWFyZXN0VG9gIG11c3QgYmUgYmV0d2VlbiAxIGFuZCAzMFxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBSb3VuZCAxMCBKdWx5IDIwMTQgMTI6MTI6MzQgdG8gbmVhcmVzdCBtaW51dGU6XG4gKiB2YXIgcmVzdWx0ID0gcm91bmRUb05lYXJlc3RNaW51dGVzKG5ldyBEYXRlKDIwMTQsIDYsIDEwLCAxMiwgMTIsIDM0KSlcbiAqIC8vPT4gVGh1IEp1bCAxMCAyMDE0IDEyOjEzOjAwXG4gKi9cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gcm91bmRUb05lYXJlc3RNaW51dGVzKGRpcnR5RGF0ZSwgb3B0aW9ucykge1xuICBpZiAoYXJndW1lbnRzLmxlbmd0aCA8IDEpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCcxIGFyZ3VtZW50IHJlcXVpcmVkLCBidXQgb25seSBub25lIHByb3ZpZGVkIHByZXNlbnQnKTtcbiAgfVxuXG4gIHZhciBuZWFyZXN0VG8gPSBvcHRpb25zICYmICduZWFyZXN0VG8nIGluIG9wdGlvbnMgPyB0b0ludGVnZXIob3B0aW9ucy5uZWFyZXN0VG8pIDogMTtcblxuICBpZiAobmVhcmVzdFRvIDwgMSB8fCBuZWFyZXN0VG8gPiAzMCkge1xuICAgIHRocm93IG5ldyBSYW5nZUVycm9yKCdgb3B0aW9ucy5uZWFyZXN0VG9gIG11c3QgYmUgYmV0d2VlbiAxIGFuZCAzMCcpO1xuICB9XG5cbiAgdmFyIGRhdGUgPSB0b0RhdGUoZGlydHlEYXRlKTtcbiAgdmFyIHNlY29uZHMgPSBkYXRlLmdldFNlY29uZHMoKTsgLy8gcmVsZXZhbnQgaWYgbmVhcmVzdFRvIGlzIDEsIHdoaWNoIGlzIHRoZSBkZWZhdWx0IGNhc2VcblxuICB2YXIgbWludXRlcyA9IGRhdGUuZ2V0TWludXRlcygpICsgc2Vjb25kcyAvIDYwO1xuICB2YXIgcm91bmRlZE1pbnV0ZXMgPSBNYXRoLmZsb29yKG1pbnV0ZXMgLyBuZWFyZXN0VG8pICogbmVhcmVzdFRvO1xuICB2YXIgcmVtYWluZGVyTWludXRlcyA9IG1pbnV0ZXMgJSBuZWFyZXN0VG87XG4gIHZhciBhZGRlZE1pbnV0ZXMgPSBNYXRoLnJvdW5kKHJlbWFpbmRlck1pbnV0ZXMgLyBuZWFyZXN0VG8pICogbmVhcmVzdFRvO1xuICByZXR1cm4gbmV3IERhdGUoZGF0ZS5nZXRGdWxsWWVhcigpLCBkYXRlLmdldE1vbnRoKCksIGRhdGUuZ2V0RGF0ZSgpLCBkYXRlLmdldEhvdXJzKCksIHJvdW5kZWRNaW51dGVzICsgYWRkZWRNaW51dGVzKTtcbn0iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/roundToNearestMinutes/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/setDate/index.js": /*!****************************************************!*\ !*** ./node_modules/date-fns/esm/setDate/index.js ***! \****************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return setDate; });\n/* harmony import */ var _lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_lib/toInteger/index.js */ \"./node_modules/date-fns/esm/_lib/toInteger/index.js\");\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n\n\n/**\n * @name setDate\n * @category Day Helpers\n * @summary Set the day of the month to the given date.\n *\n * @description\n * Set the day of the month to the given date.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} dayOfMonth - the day of the month of the new date\n * @returns {Date} the new date with the day of the month set\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Set the 30th day of the month to 1 September 2014:\n * var result = setDate(new Date(2014, 8, 1), 30)\n * //=> Tue Sep 30 2014 00:00:00\n */\n\nfunction setDate(dirtyDate, dirtyDayOfMonth) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present');\n }\n\n var date = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(dirtyDate);\n var dayOfMonth = Object(_lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDayOfMonth);\n date.setDate(dayOfMonth);\n return date;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL3NldERhdGUvaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL3NldERhdGUvaW5kZXguanM/YjUyMiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdG9JbnRlZ2VyIGZyb20gJy4uL19saWIvdG9JbnRlZ2VyL2luZGV4LmpzJztcbmltcG9ydCB0b0RhdGUgZnJvbSAnLi4vdG9EYXRlL2luZGV4LmpzJztcbi8qKlxuICogQG5hbWUgc2V0RGF0ZVxuICogQGNhdGVnb3J5IERheSBIZWxwZXJzXG4gKiBAc3VtbWFyeSBTZXQgdGhlIGRheSBvZiB0aGUgbW9udGggdG8gdGhlIGdpdmVuIGRhdGUuXG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKiBTZXQgdGhlIGRheSBvZiB0aGUgbW9udGggdG8gdGhlIGdpdmVuIGRhdGUuXG4gKlxuICogIyMjIHYyLjAuMCBicmVha2luZyBjaGFuZ2VzOlxuICpcbiAqIC0gW0NoYW5nZXMgdGhhdCBhcmUgY29tbW9uIGZvciB0aGUgd2hvbGUgbGlicmFyeV0oaHR0cHM6Ly9naXRodWIuY29tL2RhdGUtZm5zL2RhdGUtZm5zL2Jsb2IvbWFzdGVyL2RvY3MvdXBncmFkZUd1aWRlLm1kI0NvbW1vbi1DaGFuZ2VzKS5cbiAqXG4gKiBAcGFyYW0ge0RhdGV8TnVtYmVyfSBkYXRlIC0gdGhlIGRhdGUgdG8gYmUgY2hhbmdlZFxuICogQHBhcmFtIHtOdW1iZXJ9IGRheU9mTW9udGggLSB0aGUgZGF5IG9mIHRoZSBtb250aCBvZiB0aGUgbmV3IGRhdGVcbiAqIEByZXR1cm5zIHtEYXRlfSB0aGUgbmV3IGRhdGUgd2l0aCB0aGUgZGF5IG9mIHRoZSBtb250aCBzZXRcbiAqIEB0aHJvd3Mge1R5cGVFcnJvcn0gMiBhcmd1bWVudHMgcmVxdWlyZWRcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gU2V0IHRoZSAzMHRoIGRheSBvZiB0aGUgbW9udGggdG8gMSBTZXB0ZW1iZXIgMjAxNDpcbiAqIHZhciByZXN1bHQgPSBzZXREYXRlKG5ldyBEYXRlKDIwMTQsIDgsIDEpLCAzMClcbiAqIC8vPT4gVHVlIFNlcCAzMCAyMDE0IDAwOjAwOjAwXG4gKi9cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gc2V0RGF0ZShkaXJ0eURhdGUsIGRpcnR5RGF5T2ZNb250aCkge1xuICBpZiAoYXJndW1lbnRzLmxlbmd0aCA8IDIpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCcyIGFyZ3VtZW50cyByZXF1aXJlZCwgYnV0IG9ubHkgJyArIGFyZ3VtZW50cy5sZW5ndGggKyAnIHByZXNlbnQnKTtcbiAgfVxuXG4gIHZhciBkYXRlID0gdG9EYXRlKGRpcnR5RGF0ZSk7XG4gIHZhciBkYXlPZk1vbnRoID0gdG9JbnRlZ2VyKGRpcnR5RGF5T2ZNb250aCk7XG4gIGRhdGUuc2V0RGF0ZShkYXlPZk1vbnRoKTtcbiAgcmV0dXJuIGRhdGU7XG59Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/setDate/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/setDay/index.js": /*!***************************************************!*\ !*** ./node_modules/date-fns/esm/setDay/index.js ***! \***************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return setDay; });\n/* harmony import */ var _addDays_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../addDays/index.js */ \"./node_modules/date-fns/esm/addDays/index.js\");\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n/* harmony import */ var _lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../_lib/toInteger/index.js */ \"./node_modules/date-fns/esm/_lib/toInteger/index.js\");\n\n\n\n/**\n * @name setDay\n * @category Weekday Helpers\n * @summary Set the day of the week to the given date.\n *\n * @description\n * Set the day of the week to the given date.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} day - the day of the week of the new date\n * @param {Object} [options] - an object with options.\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\n * @returns {Date} the new date with the day of the week set\n * @throws {TypeError} 2 arguments required\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6\n *\n * @example\n * // Set Sunday to 1 September 2014:\n * var result = setDay(new Date(2014, 8, 1), 0)\n * //=> Sun Aug 31 2014 00:00:00\n *\n * @example\n * // If week starts with Monday, set Sunday to 1 September 2014:\n * var result = setDay(new Date(2014, 8, 1), 0, { weekStartsOn: 1 })\n * //=> Sun Sep 07 2014 00:00:00\n */\n\nfunction setDay(dirtyDate, dirtyDay, dirtyOptions) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present');\n }\n\n var options = dirtyOptions || {};\n var locale = options.locale;\n var localeWeekStartsOn = locale && locale.options && locale.options.weekStartsOn;\n var defaultWeekStartsOn = localeWeekStartsOn == null ? 0 : Object(_lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(localeWeekStartsOn);\n var weekStartsOn = options.weekStartsOn == null ? defaultWeekStartsOn : Object(_lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(options.weekStartsOn); // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\n\n if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\n throw new RangeError('weekStartsOn must be between 0 and 6 inclusively');\n }\n\n var date = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(dirtyDate, options);\n var day = Object(_lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(dirtyDay);\n var currentDay = date.getDay();\n var remainder = day % 7;\n var dayIndex = (remainder + 7) % 7;\n var diff = (dayIndex < weekStartsOn ? 7 : 0) + day - currentDay;\n return Object(_addDays_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(date, diff, options);\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL3NldERheS9pbmRleC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9kYXRlLWZucy9lc20vc2V0RGF5L2luZGV4LmpzPzkyYzgiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGFkZERheXMgZnJvbSAnLi4vYWRkRGF5cy9pbmRleC5qcyc7XG5pbXBvcnQgdG9EYXRlIGZyb20gJy4uL3RvRGF0ZS9pbmRleC5qcyc7XG5pbXBvcnQgdG9JbnRlZ2VyIGZyb20gJy4uL19saWIvdG9JbnRlZ2VyL2luZGV4LmpzJztcbi8qKlxuICogQG5hbWUgc2V0RGF5XG4gKiBAY2F0ZWdvcnkgV2Vla2RheSBIZWxwZXJzXG4gKiBAc3VtbWFyeSBTZXQgdGhlIGRheSBvZiB0aGUgd2VlayB0byB0aGUgZ2l2ZW4gZGF0ZS5cbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIFNldCB0aGUgZGF5IG9mIHRoZSB3ZWVrIHRvIHRoZSBnaXZlbiBkYXRlLlxuICpcbiAqICMjIyB2Mi4wLjAgYnJlYWtpbmcgY2hhbmdlczpcbiAqXG4gKiAtIFtDaGFuZ2VzIHRoYXQgYXJlIGNvbW1vbiBmb3IgdGhlIHdob2xlIGxpYnJhcnldKGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRlLWZucy9kYXRlLWZucy9ibG9iL21hc3Rlci9kb2NzL3VwZ3JhZGVHdWlkZS5tZCNDb21tb24tQ2hhbmdlcykuXG4gKlxuICogQHBhcmFtIHtEYXRlfE51bWJlcn0gZGF0ZSAtIHRoZSBkYXRlIHRvIGJlIGNoYW5nZWRcbiAqIEBwYXJhbSB7TnVtYmVyfSBkYXkgLSB0aGUgZGF5IG9mIHRoZSB3ZWVrIG9mIHRoZSBuZXcgZGF0ZVxuICogQHBhcmFtIHtPYmplY3R9IFtvcHRpb25zXSAtIGFuIG9iamVjdCB3aXRoIG9wdGlvbnMuXG4gKiBAcGFyYW0ge0xvY2FsZX0gW29wdGlvbnMubG9jYWxlPWRlZmF1bHRMb2NhbGVdIC0gdGhlIGxvY2FsZSBvYmplY3QuIFNlZSBbTG9jYWxlXXtAbGluayBodHRwczovL2RhdGUtZm5zLm9yZy9kb2NzL0xvY2FsZX1cbiAqIEBwYXJhbSB7MHwxfDJ8M3w0fDV8Nn0gW29wdGlvbnMud2Vla1N0YXJ0c09uPTBdIC0gdGhlIGluZGV4IG9mIHRoZSBmaXJzdCBkYXkgb2YgdGhlIHdlZWsgKDAgLSBTdW5kYXkpXG4gKiBAcmV0dXJucyB7RGF0ZX0gdGhlIG5ldyBkYXRlIHdpdGggdGhlIGRheSBvZiB0aGUgd2VlayBzZXRcbiAqIEB0aHJvd3Mge1R5cGVFcnJvcn0gMiBhcmd1bWVudHMgcmVxdWlyZWRcbiAqIEB0aHJvd3Mge1JhbmdlRXJyb3J9IGBvcHRpb25zLndlZWtTdGFydHNPbmAgbXVzdCBiZSBiZXR3ZWVuIDAgYW5kIDZcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gU2V0IFN1bmRheSB0byAxIFNlcHRlbWJlciAyMDE0OlxuICogdmFyIHJlc3VsdCA9IHNldERheShuZXcgRGF0ZSgyMDE0LCA4LCAxKSwgMClcbiAqIC8vPT4gU3VuIEF1ZyAzMSAyMDE0IDAwOjAwOjAwXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIElmIHdlZWsgc3RhcnRzIHdpdGggTW9uZGF5LCBzZXQgU3VuZGF5IHRvIDEgU2VwdGVtYmVyIDIwMTQ6XG4gKiB2YXIgcmVzdWx0ID0gc2V0RGF5KG5ldyBEYXRlKDIwMTQsIDgsIDEpLCAwLCB7IHdlZWtTdGFydHNPbjogMSB9KVxuICogLy89PiBTdW4gU2VwIDA3IDIwMTQgMDA6MDA6MDBcbiAqL1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBzZXREYXkoZGlydHlEYXRlLCBkaXJ0eURheSwgZGlydHlPcHRpb25zKSB7XG4gIGlmIChhcmd1bWVudHMubGVuZ3RoIDwgMikge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJzIgYXJndW1lbnRzIHJlcXVpcmVkLCBidXQgb25seSAnICsgYXJndW1lbnRzLmxlbmd0aCArICcgcHJlc2VudCcpO1xuICB9XG5cbiAgdmFyIG9wdGlvbnMgPSBkaXJ0eU9wdGlvbnMgfHwge307XG4gIHZhciBsb2NhbGUgPSBvcHRpb25zLmxvY2FsZTtcbiAgdmFyIGxvY2FsZVdlZWtTdGFydHNPbiA9IGxvY2FsZSAmJiBsb2NhbGUub3B0aW9ucyAmJiBsb2NhbGUub3B0aW9ucy53ZWVrU3RhcnRzT247XG4gIHZhciBkZWZhdWx0V2Vla1N0YXJ0c09uID0gbG9jYWxlV2Vla1N0YXJ0c09uID09IG51bGwgPyAwIDogdG9JbnRlZ2VyKGxvY2FsZVdlZWtTdGFydHNPbik7XG4gIHZhciB3ZWVrU3RhcnRzT24gPSBvcHRpb25zLndlZWtTdGFydHNPbiA9PSBudWxsID8gZGVmYXVsdFdlZWtTdGFydHNPbiA6IHRvSW50ZWdlcihvcHRpb25zLndlZWtTdGFydHNPbik7IC8vIFRlc3QgaWYgd2Vla1N0YXJ0c09uIGlzIGJldHdlZW4gMCBhbmQgNiBfYW5kXyBpcyBub3QgTmFOXG5cbiAgaWYgKCEod2Vla1N0YXJ0c09uID49IDAgJiYgd2Vla1N0YXJ0c09uIDw9IDYpKSB7XG4gICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ3dlZWtTdGFydHNPbiBtdXN0IGJlIGJldHdlZW4gMCBhbmQgNiBpbmNsdXNpdmVseScpO1xuICB9XG5cbiAgdmFyIGRhdGUgPSB0b0RhdGUoZGlydHlEYXRlLCBvcHRpb25zKTtcbiAgdmFyIGRheSA9IHRvSW50ZWdlcihkaXJ0eURheSk7XG4gIHZhciBjdXJyZW50RGF5ID0gZGF0ZS5nZXREYXkoKTtcbiAgdmFyIHJlbWFpbmRlciA9IGRheSAlIDc7XG4gIHZhciBkYXlJbmRleCA9IChyZW1haW5kZXIgKyA3KSAlIDc7XG4gIHZhciBkaWZmID0gKGRheUluZGV4IDwgd2Vla1N0YXJ0c09uID8gNyA6IDApICsgZGF5IC0gY3VycmVudERheTtcbiAgcmV0dXJuIGFkZERheXMoZGF0ZSwgZGlmZiwgb3B0aW9ucyk7XG59Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/setDay/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/setDayOfYear/index.js": /*!*********************************************************!*\ !*** ./node_modules/date-fns/esm/setDayOfYear/index.js ***! \*********************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return setDayOfYear; });\n/* harmony import */ var _lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_lib/toInteger/index.js */ \"./node_modules/date-fns/esm/_lib/toInteger/index.js\");\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n\n\n/**\n * @name setDayOfYear\n * @category Day Helpers\n * @summary Set the day of the year to the given date.\n *\n * @description\n * Set the day of the year to the given date.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} dayOfYear - the day of the year of the new date\n * @returns {Date} the new date with the day of the year set\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Set the 2nd day of the year to 2 July 2014:\n * var result = setDayOfYear(new Date(2014, 6, 2), 2)\n * //=> Thu Jan 02 2014 00:00:00\n */\n\nfunction setDayOfYear(dirtyDate, dirtyDayOfYear) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present');\n }\n\n var date = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(dirtyDate);\n var dayOfYear = Object(_lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDayOfYear);\n date.setMonth(0);\n date.setDate(dayOfYear);\n return date;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL3NldERheU9mWWVhci9pbmRleC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9kYXRlLWZucy9lc20vc2V0RGF5T2ZZZWFyL2luZGV4LmpzP2U4NDkiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHRvSW50ZWdlciBmcm9tICcuLi9fbGliL3RvSW50ZWdlci9pbmRleC5qcyc7XG5pbXBvcnQgdG9EYXRlIGZyb20gJy4uL3RvRGF0ZS9pbmRleC5qcyc7XG4vKipcbiAqIEBuYW1lIHNldERheU9mWWVhclxuICogQGNhdGVnb3J5IERheSBIZWxwZXJzXG4gKiBAc3VtbWFyeSBTZXQgdGhlIGRheSBvZiB0aGUgeWVhciB0byB0aGUgZ2l2ZW4gZGF0ZS5cbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIFNldCB0aGUgZGF5IG9mIHRoZSB5ZWFyIHRvIHRoZSBnaXZlbiBkYXRlLlxuICpcbiAqICMjIyB2Mi4wLjAgYnJlYWtpbmcgY2hhbmdlczpcbiAqXG4gKiAtIFtDaGFuZ2VzIHRoYXQgYXJlIGNvbW1vbiBmb3IgdGhlIHdob2xlIGxpYnJhcnldKGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRlLWZucy9kYXRlLWZucy9ibG9iL21hc3Rlci9kb2NzL3VwZ3JhZGVHdWlkZS5tZCNDb21tb24tQ2hhbmdlcykuXG4gKlxuICogQHBhcmFtIHtEYXRlfE51bWJlcn0gZGF0ZSAtIHRoZSBkYXRlIHRvIGJlIGNoYW5nZWRcbiAqIEBwYXJhbSB7TnVtYmVyfSBkYXlPZlllYXIgLSB0aGUgZGF5IG9mIHRoZSB5ZWFyIG9mIHRoZSBuZXcgZGF0ZVxuICogQHJldHVybnMge0RhdGV9IHRoZSBuZXcgZGF0ZSB3aXRoIHRoZSBkYXkgb2YgdGhlIHllYXIgc2V0XG4gKiBAdGhyb3dzIHtUeXBlRXJyb3J9IDIgYXJndW1lbnRzIHJlcXVpcmVkXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIFNldCB0aGUgMm5kIGRheSBvZiB0aGUgeWVhciB0byAyIEp1bHkgMjAxNDpcbiAqIHZhciByZXN1bHQgPSBzZXREYXlPZlllYXIobmV3IERhdGUoMjAxNCwgNiwgMiksIDIpXG4gKiAvLz0+IFRodSBKYW4gMDIgMjAxNCAwMDowMDowMFxuICovXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHNldERheU9mWWVhcihkaXJ0eURhdGUsIGRpcnR5RGF5T2ZZZWFyKSB7XG4gIGlmIChhcmd1bWVudHMubGVuZ3RoIDwgMikge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJzIgYXJndW1lbnRzIHJlcXVpcmVkLCBidXQgb25seSAnICsgYXJndW1lbnRzLmxlbmd0aCArICcgcHJlc2VudCcpO1xuICB9XG5cbiAgdmFyIGRhdGUgPSB0b0RhdGUoZGlydHlEYXRlKTtcbiAgdmFyIGRheU9mWWVhciA9IHRvSW50ZWdlcihkaXJ0eURheU9mWWVhcik7XG4gIGRhdGUuc2V0TW9udGgoMCk7XG4gIGRhdGUuc2V0RGF0ZShkYXlPZlllYXIpO1xuICByZXR1cm4gZGF0ZTtcbn0iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/setDayOfYear/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/setHours/index.js": /*!*****************************************************!*\ !*** ./node_modules/date-fns/esm/setHours/index.js ***! \*****************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return setHours; });\n/* harmony import */ var _lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_lib/toInteger/index.js */ \"./node_modules/date-fns/esm/_lib/toInteger/index.js\");\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n\n\n/**\n * @name setHours\n * @category Hour Helpers\n * @summary Set the hours to the given date.\n *\n * @description\n * Set the hours to the given date.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} hours - the hours of the new date\n * @returns {Date} the new date with the hours set\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Set 4 hours to 1 September 2014 11:30:00:\n * var result = setHours(new Date(2014, 8, 1, 11, 30), 4)\n * //=> Mon Sep 01 2014 04:30:00\n */\n\nfunction setHours(dirtyDate, dirtyHours) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present');\n }\n\n var date = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(dirtyDate);\n var hours = Object(_lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyHours);\n date.setHours(hours);\n return date;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL3NldEhvdXJzL2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2VzbS9zZXRIb3Vycy9pbmRleC5qcz81ZDA1Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0b0ludGVnZXIgZnJvbSAnLi4vX2xpYi90b0ludGVnZXIvaW5kZXguanMnO1xuaW1wb3J0IHRvRGF0ZSBmcm9tICcuLi90b0RhdGUvaW5kZXguanMnO1xuLyoqXG4gKiBAbmFtZSBzZXRIb3Vyc1xuICogQGNhdGVnb3J5IEhvdXIgSGVscGVyc1xuICogQHN1bW1hcnkgU2V0IHRoZSBob3VycyB0byB0aGUgZ2l2ZW4gZGF0ZS5cbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIFNldCB0aGUgaG91cnMgdG8gdGhlIGdpdmVuIGRhdGUuXG4gKlxuICogIyMjIHYyLjAuMCBicmVha2luZyBjaGFuZ2VzOlxuICpcbiAqIC0gW0NoYW5nZXMgdGhhdCBhcmUgY29tbW9uIGZvciB0aGUgd2hvbGUgbGlicmFyeV0oaHR0cHM6Ly9naXRodWIuY29tL2RhdGUtZm5zL2RhdGUtZm5zL2Jsb2IvbWFzdGVyL2RvY3MvdXBncmFkZUd1aWRlLm1kI0NvbW1vbi1DaGFuZ2VzKS5cbiAqXG4gKiBAcGFyYW0ge0RhdGV8TnVtYmVyfSBkYXRlIC0gdGhlIGRhdGUgdG8gYmUgY2hhbmdlZFxuICogQHBhcmFtIHtOdW1iZXJ9IGhvdXJzIC0gdGhlIGhvdXJzIG9mIHRoZSBuZXcgZGF0ZVxuICogQHJldHVybnMge0RhdGV9IHRoZSBuZXcgZGF0ZSB3aXRoIHRoZSBob3VycyBzZXRcbiAqIEB0aHJvd3Mge1R5cGVFcnJvcn0gMiBhcmd1bWVudHMgcmVxdWlyZWRcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gU2V0IDQgaG91cnMgdG8gMSBTZXB0ZW1iZXIgMjAxNCAxMTozMDowMDpcbiAqIHZhciByZXN1bHQgPSBzZXRIb3VycyhuZXcgRGF0ZSgyMDE0LCA4LCAxLCAxMSwgMzApLCA0KVxuICogLy89PiBNb24gU2VwIDAxIDIwMTQgMDQ6MzA6MDBcbiAqL1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBzZXRIb3VycyhkaXJ0eURhdGUsIGRpcnR5SG91cnMpIHtcbiAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPCAyKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignMiBhcmd1bWVudHMgcmVxdWlyZWQsIGJ1dCBvbmx5ICcgKyBhcmd1bWVudHMubGVuZ3RoICsgJyBwcmVzZW50Jyk7XG4gIH1cblxuICB2YXIgZGF0ZSA9IHRvRGF0ZShkaXJ0eURhdGUpO1xuICB2YXIgaG91cnMgPSB0b0ludGVnZXIoZGlydHlIb3Vycyk7XG4gIGRhdGUuc2V0SG91cnMoaG91cnMpO1xuICByZXR1cm4gZGF0ZTtcbn0iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/setHours/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/setISODay/index.js": /*!******************************************************!*\ !*** ./node_modules/date-fns/esm/setISODay/index.js ***! \******************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return setISODay; });\n/* harmony import */ var _lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_lib/toInteger/index.js */ \"./node_modules/date-fns/esm/_lib/toInteger/index.js\");\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n/* harmony import */ var _addDays_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../addDays/index.js */ \"./node_modules/date-fns/esm/addDays/index.js\");\n/* harmony import */ var _getISODay_index_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../getISODay/index.js */ \"./node_modules/date-fns/esm/getISODay/index.js\");\n\n\n\n\n/**\n * @name setISODay\n * @category Weekday Helpers\n * @summary Set the day of the ISO week to the given date.\n *\n * @description\n * Set the day of the ISO week to the given date.\n * ISO week starts with Monday.\n * 7 is the index of Sunday, 1 is the index of Monday etc.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} day - the day of the ISO week of the new date\n * @returns {Date} the new date with the day of the ISO week set\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Set Sunday to 1 September 2014:\n * var result = setISODay(new Date(2014, 8, 1), 7)\n * //=> Sun Sep 07 2014 00:00:00\n */\n\nfunction setISODay(dirtyDate, dirtyDay) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present');\n }\n\n var date = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(dirtyDate);\n var day = Object(_lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDay);\n var currentDay = Object(_getISODay_index_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(date);\n var diff = day - currentDay;\n return Object(_addDays_index_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(date, diff);\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL3NldElTT0RheS9pbmRleC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9kYXRlLWZucy9lc20vc2V0SVNPRGF5L2luZGV4LmpzPzg2YmEiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHRvSW50ZWdlciBmcm9tICcuLi9fbGliL3RvSW50ZWdlci9pbmRleC5qcyc7XG5pbXBvcnQgdG9EYXRlIGZyb20gJy4uL3RvRGF0ZS9pbmRleC5qcyc7XG5pbXBvcnQgYWRkRGF5cyBmcm9tICcuLi9hZGREYXlzL2luZGV4LmpzJztcbmltcG9ydCBnZXRJU09EYXkgZnJvbSAnLi4vZ2V0SVNPRGF5L2luZGV4LmpzJztcbi8qKlxuICogQG5hbWUgc2V0SVNPRGF5XG4gKiBAY2F0ZWdvcnkgV2Vla2RheSBIZWxwZXJzXG4gKiBAc3VtbWFyeSBTZXQgdGhlIGRheSBvZiB0aGUgSVNPIHdlZWsgdG8gdGhlIGdpdmVuIGRhdGUuXG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKiBTZXQgdGhlIGRheSBvZiB0aGUgSVNPIHdlZWsgdG8gdGhlIGdpdmVuIGRhdGUuXG4gKiBJU08gd2VlayBzdGFydHMgd2l0aCBNb25kYXkuXG4gKiA3IGlzIHRoZSBpbmRleCBvZiBTdW5kYXksIDEgaXMgdGhlIGluZGV4IG9mIE1vbmRheSBldGMuXG4gKlxuICogIyMjIHYyLjAuMCBicmVha2luZyBjaGFuZ2VzOlxuICpcbiAqIC0gW0NoYW5nZXMgdGhhdCBhcmUgY29tbW9uIGZvciB0aGUgd2hvbGUgbGlicmFyeV0oaHR0cHM6Ly9naXRodWIuY29tL2RhdGUtZm5zL2RhdGUtZm5zL2Jsb2IvbWFzdGVyL2RvY3MvdXBncmFkZUd1aWRlLm1kI0NvbW1vbi1DaGFuZ2VzKS5cbiAqXG4gKiBAcGFyYW0ge0RhdGV8TnVtYmVyfSBkYXRlIC0gdGhlIGRhdGUgdG8gYmUgY2hhbmdlZFxuICogQHBhcmFtIHtOdW1iZXJ9IGRheSAtIHRoZSBkYXkgb2YgdGhlIElTTyB3ZWVrIG9mIHRoZSBuZXcgZGF0ZVxuICogQHJldHVybnMge0RhdGV9IHRoZSBuZXcgZGF0ZSB3aXRoIHRoZSBkYXkgb2YgdGhlIElTTyB3ZWVrIHNldFxuICogQHRocm93cyB7VHlwZUVycm9yfSAyIGFyZ3VtZW50cyByZXF1aXJlZFxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBTZXQgU3VuZGF5IHRvIDEgU2VwdGVtYmVyIDIwMTQ6XG4gKiB2YXIgcmVzdWx0ID0gc2V0SVNPRGF5KG5ldyBEYXRlKDIwMTQsIDgsIDEpLCA3KVxuICogLy89PiBTdW4gU2VwIDA3IDIwMTQgMDA6MDA6MDBcbiAqL1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBzZXRJU09EYXkoZGlydHlEYXRlLCBkaXJ0eURheSkge1xuICBpZiAoYXJndW1lbnRzLmxlbmd0aCA8IDIpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCcyIGFyZ3VtZW50cyByZXF1aXJlZCwgYnV0IG9ubHkgJyArIGFyZ3VtZW50cy5sZW5ndGggKyAnIHByZXNlbnQnKTtcbiAgfVxuXG4gIHZhciBkYXRlID0gdG9EYXRlKGRpcnR5RGF0ZSk7XG4gIHZhciBkYXkgPSB0b0ludGVnZXIoZGlydHlEYXkpO1xuICB2YXIgY3VycmVudERheSA9IGdldElTT0RheShkYXRlKTtcbiAgdmFyIGRpZmYgPSBkYXkgLSBjdXJyZW50RGF5O1xuICByZXR1cm4gYWRkRGF5cyhkYXRlLCBkaWZmKTtcbn0iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/setISODay/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/setISOWeek/index.js": /*!*******************************************************!*\ !*** ./node_modules/date-fns/esm/setISOWeek/index.js ***! \*******************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return setISOWeek; });\n/* harmony import */ var _lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_lib/toInteger/index.js */ \"./node_modules/date-fns/esm/_lib/toInteger/index.js\");\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n/* harmony import */ var _getISOWeek_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../getISOWeek/index.js */ \"./node_modules/date-fns/esm/getISOWeek/index.js\");\n\n\n\n/**\n * @name setISOWeek\n * @category ISO Week Helpers\n * @summary Set the ISO week to the given date.\n *\n * @description\n * Set the ISO week to the given date, saving the weekday number.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} isoWeek - the ISO week of the new date\n * @returns {Date} the new date with the ISO week set\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Set the 53rd ISO week to 7 August 2004:\n * var result = setISOWeek(new Date(2004, 7, 7), 53)\n * //=> Sat Jan 01 2005 00:00:00\n */\n\nfunction setISOWeek(dirtyDate, dirtyISOWeek) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present');\n }\n\n var date = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(dirtyDate);\n var isoWeek = Object(_lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyISOWeek);\n var diff = Object(_getISOWeek_index_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(date) - isoWeek;\n date.setDate(date.getDate() - diff * 7);\n return date;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL3NldElTT1dlZWsvaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL3NldElTT1dlZWsvaW5kZXguanM/NDM0YiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdG9JbnRlZ2VyIGZyb20gJy4uL19saWIvdG9JbnRlZ2VyL2luZGV4LmpzJztcbmltcG9ydCB0b0RhdGUgZnJvbSAnLi4vdG9EYXRlL2luZGV4LmpzJztcbmltcG9ydCBnZXRJU09XZWVrIGZyb20gJy4uL2dldElTT1dlZWsvaW5kZXguanMnO1xuLyoqXG4gKiBAbmFtZSBzZXRJU09XZWVrXG4gKiBAY2F0ZWdvcnkgSVNPIFdlZWsgSGVscGVyc1xuICogQHN1bW1hcnkgU2V0IHRoZSBJU08gd2VlayB0byB0aGUgZ2l2ZW4gZGF0ZS5cbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIFNldCB0aGUgSVNPIHdlZWsgdG8gdGhlIGdpdmVuIGRhdGUsIHNhdmluZyB0aGUgd2Vla2RheSBudW1iZXIuXG4gKlxuICogSVNPIHdlZWstbnVtYmVyaW5nIHllYXI6IGh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvSVNPX3dlZWtfZGF0ZVxuICpcbiAqICMjIyB2Mi4wLjAgYnJlYWtpbmcgY2hhbmdlczpcbiAqXG4gKiAtIFtDaGFuZ2VzIHRoYXQgYXJlIGNvbW1vbiBmb3IgdGhlIHdob2xlIGxpYnJhcnldKGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRlLWZucy9kYXRlLWZucy9ibG9iL21hc3Rlci9kb2NzL3VwZ3JhZGVHdWlkZS5tZCNDb21tb24tQ2hhbmdlcykuXG4gKlxuICogQHBhcmFtIHtEYXRlfE51bWJlcn0gZGF0ZSAtIHRoZSBkYXRlIHRvIGJlIGNoYW5nZWRcbiAqIEBwYXJhbSB7TnVtYmVyfSBpc29XZWVrIC0gdGhlIElTTyB3ZWVrIG9mIHRoZSBuZXcgZGF0ZVxuICogQHJldHVybnMge0RhdGV9IHRoZSBuZXcgZGF0ZSB3aXRoIHRoZSBJU08gd2VlayBzZXRcbiAqIEB0aHJvd3Mge1R5cGVFcnJvcn0gMiBhcmd1bWVudHMgcmVxdWlyZWRcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gU2V0IHRoZSA1M3JkIElTTyB3ZWVrIHRvIDcgQXVndXN0IDIwMDQ6XG4gKiB2YXIgcmVzdWx0ID0gc2V0SVNPV2VlayhuZXcgRGF0ZSgyMDA0LCA3LCA3KSwgNTMpXG4gKiAvLz0+IFNhdCBKYW4gMDEgMjAwNSAwMDowMDowMFxuICovXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHNldElTT1dlZWsoZGlydHlEYXRlLCBkaXJ0eUlTT1dlZWspIHtcbiAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPCAyKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignMiBhcmd1bWVudHMgcmVxdWlyZWQsIGJ1dCBvbmx5ICcgKyBhcmd1bWVudHMubGVuZ3RoICsgJyBwcmVzZW50Jyk7XG4gIH1cblxuICB2YXIgZGF0ZSA9IHRvRGF0ZShkaXJ0eURhdGUpO1xuICB2YXIgaXNvV2VlayA9IHRvSW50ZWdlcihkaXJ0eUlTT1dlZWspO1xuICB2YXIgZGlmZiA9IGdldElTT1dlZWsoZGF0ZSkgLSBpc29XZWVrO1xuICBkYXRlLnNldERhdGUoZGF0ZS5nZXREYXRlKCkgLSBkaWZmICogNyk7XG4gIHJldHVybiBkYXRlO1xufSJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/setISOWeek/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/setISOWeekYear/index.js": /*!***********************************************************!*\ !*** ./node_modules/date-fns/esm/setISOWeekYear/index.js ***! \***********************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return setISOWeekYear; });\n/* harmony import */ var _lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_lib/toInteger/index.js */ \"./node_modules/date-fns/esm/_lib/toInteger/index.js\");\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n/* harmony import */ var _startOfISOWeekYear_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../startOfISOWeekYear/index.js */ \"./node_modules/date-fns/esm/startOfISOWeekYear/index.js\");\n/* harmony import */ var _differenceInCalendarDays_index_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../differenceInCalendarDays/index.js */ \"./node_modules/date-fns/esm/differenceInCalendarDays/index.js\");\n\n\n\n\n/**\n * @name setISOWeekYear\n * @category ISO Week-Numbering Year Helpers\n * @summary Set the ISO week-numbering year to the given date.\n *\n * @description\n * Set the ISO week-numbering year to the given date,\n * saving the week number and the weekday number.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * - The function was renamed from `setISOYear` to `setISOWeekYear`.\n * \"ISO week year\" is short for [ISO week-numbering year](https://en.wikipedia.org/wiki/ISO_week_date).\n * This change makes the name consistent with\n * locale-dependent week-numbering year helpers, e.g., `setWeekYear`.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} isoWeekYear - the ISO week-numbering year of the new date\n * @returns {Date} the new date with the ISO week-numbering year set\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Set ISO week-numbering year 2007 to 29 December 2008:\n * var result = setISOWeekYear(new Date(2008, 11, 29), 2007)\n * //=> Mon Jan 01 2007 00:00:00\n */\n\nfunction setISOWeekYear(dirtyDate, dirtyISOWeekYear) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present');\n }\n\n var date = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(dirtyDate);\n var isoWeekYear = Object(_lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyISOWeekYear);\n var diff = Object(_differenceInCalendarDays_index_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(date, Object(_startOfISOWeekYear_index_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(date));\n var fourthOfJanuary = new Date(0);\n fourthOfJanuary.setFullYear(isoWeekYear, 0, 4);\n fourthOfJanuary.setHours(0, 0, 0, 0);\n date = Object(_startOfISOWeekYear_index_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(fourthOfJanuary);\n date.setDate(date.getDate() + diff);\n return date;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL3NldElTT1dlZWtZZWFyL2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2VzbS9zZXRJU09XZWVrWWVhci9pbmRleC5qcz9lYzM0Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0b0ludGVnZXIgZnJvbSAnLi4vX2xpYi90b0ludGVnZXIvaW5kZXguanMnO1xuaW1wb3J0IHRvRGF0ZSBmcm9tICcuLi90b0RhdGUvaW5kZXguanMnO1xuaW1wb3J0IHN0YXJ0T2ZJU09XZWVrWWVhciBmcm9tICcuLi9zdGFydE9mSVNPV2Vla1llYXIvaW5kZXguanMnO1xuaW1wb3J0IGRpZmZlcmVuY2VJbkNhbGVuZGFyRGF5cyBmcm9tICcuLi9kaWZmZXJlbmNlSW5DYWxlbmRhckRheXMvaW5kZXguanMnO1xuLyoqXG4gKiBAbmFtZSBzZXRJU09XZWVrWWVhclxuICogQGNhdGVnb3J5IElTTyBXZWVrLU51bWJlcmluZyBZZWFyIEhlbHBlcnNcbiAqIEBzdW1tYXJ5IFNldCB0aGUgSVNPIHdlZWstbnVtYmVyaW5nIHllYXIgdG8gdGhlIGdpdmVuIGRhdGUuXG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKiBTZXQgdGhlIElTTyB3ZWVrLW51bWJlcmluZyB5ZWFyIHRvIHRoZSBnaXZlbiBkYXRlLFxuICogc2F2aW5nIHRoZSB3ZWVrIG51bWJlciBhbmQgdGhlIHdlZWtkYXkgbnVtYmVyLlxuICpcbiAqIElTTyB3ZWVrLW51bWJlcmluZyB5ZWFyOiBodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0lTT193ZWVrX2RhdGVcbiAqXG4gKiAjIyMgdjIuMC4wIGJyZWFraW5nIGNoYW5nZXM6XG4gKlxuICogLSBbQ2hhbmdlcyB0aGF0IGFyZSBjb21tb24gZm9yIHRoZSB3aG9sZSBsaWJyYXJ5XShodHRwczovL2dpdGh1Yi5jb20vZGF0ZS1mbnMvZGF0ZS1mbnMvYmxvYi9tYXN0ZXIvZG9jcy91cGdyYWRlR3VpZGUubWQjQ29tbW9uLUNoYW5nZXMpLlxuICpcbiAqIC0gVGhlIGZ1bmN0aW9uIHdhcyByZW5hbWVkIGZyb20gYHNldElTT1llYXJgIHRvIGBzZXRJU09XZWVrWWVhcmAuXG4gKiAgIFwiSVNPIHdlZWsgeWVhclwiIGlzIHNob3J0IGZvciBbSVNPIHdlZWstbnVtYmVyaW5nIHllYXJdKGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0lTT193ZWVrX2RhdGUpLlxuICogICBUaGlzIGNoYW5nZSBtYWtlcyB0aGUgbmFtZSBjb25zaXN0ZW50IHdpdGhcbiAqICAgbG9jYWxlLWRlcGVuZGVudCB3ZWVrLW51bWJlcmluZyB5ZWFyIGhlbHBlcnMsIGUuZy4sIGBzZXRXZWVrWWVhcmAuXG4gKlxuICogQHBhcmFtIHtEYXRlfE51bWJlcn0gZGF0ZSAtIHRoZSBkYXRlIHRvIGJlIGNoYW5nZWRcbiAqIEBwYXJhbSB7TnVtYmVyfSBpc29XZWVrWWVhciAtIHRoZSBJU08gd2Vlay1udW1iZXJpbmcgeWVhciBvZiB0aGUgbmV3IGRhdGVcbiAqIEByZXR1cm5zIHtEYXRlfSB0aGUgbmV3IGRhdGUgd2l0aCB0aGUgSVNPIHdlZWstbnVtYmVyaW5nIHllYXIgc2V0XG4gKiBAdGhyb3dzIHtUeXBlRXJyb3J9IDIgYXJndW1lbnRzIHJlcXVpcmVkXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIFNldCBJU08gd2Vlay1udW1iZXJpbmcgeWVhciAyMDA3IHRvIDI5IERlY2VtYmVyIDIwMDg6XG4gKiB2YXIgcmVzdWx0ID0gc2V0SVNPV2Vla1llYXIobmV3IERhdGUoMjAwOCwgMTEsIDI5KSwgMjAwNylcbiAqIC8vPT4gTW9uIEphbiAwMSAyMDA3IDAwOjAwOjAwXG4gKi9cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gc2V0SVNPV2Vla1llYXIoZGlydHlEYXRlLCBkaXJ0eUlTT1dlZWtZZWFyKSB7XG4gIGlmIChhcmd1bWVudHMubGVuZ3RoIDwgMikge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJzIgYXJndW1lbnRzIHJlcXVpcmVkLCBidXQgb25seSAnICsgYXJndW1lbnRzLmxlbmd0aCArICcgcHJlc2VudCcpO1xuICB9XG5cbiAgdmFyIGRhdGUgPSB0b0RhdGUoZGlydHlEYXRlKTtcbiAgdmFyIGlzb1dlZWtZZWFyID0gdG9JbnRlZ2VyKGRpcnR5SVNPV2Vla1llYXIpO1xuICB2YXIgZGlmZiA9IGRpZmZlcmVuY2VJbkNhbGVuZGFyRGF5cyhkYXRlLCBzdGFydE9mSVNPV2Vla1llYXIoZGF0ZSkpO1xuICB2YXIgZm91cnRoT2ZKYW51YXJ5ID0gbmV3IERhdGUoMCk7XG4gIGZvdXJ0aE9mSmFudWFyeS5zZXRGdWxsWWVhcihpc29XZWVrWWVhciwgMCwgNCk7XG4gIGZvdXJ0aE9mSmFudWFyeS5zZXRIb3VycygwLCAwLCAwLCAwKTtcbiAgZGF0ZSA9IHN0YXJ0T2ZJU09XZWVrWWVhcihmb3VydGhPZkphbnVhcnkpO1xuICBkYXRlLnNldERhdGUoZGF0ZS5nZXREYXRlKCkgKyBkaWZmKTtcbiAgcmV0dXJuIGRhdGU7XG59Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/setISOWeekYear/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/setMilliseconds/index.js": /*!************************************************************!*\ !*** ./node_modules/date-fns/esm/setMilliseconds/index.js ***! \************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return setMilliseconds; });\n/* harmony import */ var _lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_lib/toInteger/index.js */ \"./node_modules/date-fns/esm/_lib/toInteger/index.js\");\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n\n\n/**\n * @name setMilliseconds\n * @category Millisecond Helpers\n * @summary Set the milliseconds to the given date.\n *\n * @description\n * Set the milliseconds to the given date.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} milliseconds - the milliseconds of the new date\n * @returns {Date} the new date with the milliseconds set\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Set 300 milliseconds to 1 September 2014 11:30:40.500:\n * var result = setMilliseconds(new Date(2014, 8, 1, 11, 30, 40, 500), 300)\n * //=> Mon Sep 01 2014 11:30:40.300\n */\n\nfunction setMilliseconds(dirtyDate, dirtyMilliseconds) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present');\n }\n\n var date = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(dirtyDate);\n var milliseconds = Object(_lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyMilliseconds);\n date.setMilliseconds(milliseconds);\n return date;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL3NldE1pbGxpc2Vjb25kcy9pbmRleC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9kYXRlLWZucy9lc20vc2V0TWlsbGlzZWNvbmRzL2luZGV4LmpzPzQ2MGMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHRvSW50ZWdlciBmcm9tICcuLi9fbGliL3RvSW50ZWdlci9pbmRleC5qcyc7XG5pbXBvcnQgdG9EYXRlIGZyb20gJy4uL3RvRGF0ZS9pbmRleC5qcyc7XG4vKipcbiAqIEBuYW1lIHNldE1pbGxpc2Vjb25kc1xuICogQGNhdGVnb3J5IE1pbGxpc2Vjb25kIEhlbHBlcnNcbiAqIEBzdW1tYXJ5IFNldCB0aGUgbWlsbGlzZWNvbmRzIHRvIHRoZSBnaXZlbiBkYXRlLlxuICpcbiAqIEBkZXNjcmlwdGlvblxuICogU2V0IHRoZSBtaWxsaXNlY29uZHMgdG8gdGhlIGdpdmVuIGRhdGUuXG4gKlxuICogIyMjIHYyLjAuMCBicmVha2luZyBjaGFuZ2VzOlxuICpcbiAqIC0gW0NoYW5nZXMgdGhhdCBhcmUgY29tbW9uIGZvciB0aGUgd2hvbGUgbGlicmFyeV0oaHR0cHM6Ly9naXRodWIuY29tL2RhdGUtZm5zL2RhdGUtZm5zL2Jsb2IvbWFzdGVyL2RvY3MvdXBncmFkZUd1aWRlLm1kI0NvbW1vbi1DaGFuZ2VzKS5cbiAqXG4gKiBAcGFyYW0ge0RhdGV8TnVtYmVyfSBkYXRlIC0gdGhlIGRhdGUgdG8gYmUgY2hhbmdlZFxuICogQHBhcmFtIHtOdW1iZXJ9IG1pbGxpc2Vjb25kcyAtIHRoZSBtaWxsaXNlY29uZHMgb2YgdGhlIG5ldyBkYXRlXG4gKiBAcmV0dXJucyB7RGF0ZX0gdGhlIG5ldyBkYXRlIHdpdGggdGhlIG1pbGxpc2Vjb25kcyBzZXRcbiAqIEB0aHJvd3Mge1R5cGVFcnJvcn0gMiBhcmd1bWVudHMgcmVxdWlyZWRcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gU2V0IDMwMCBtaWxsaXNlY29uZHMgdG8gMSBTZXB0ZW1iZXIgMjAxNCAxMTozMDo0MC41MDA6XG4gKiB2YXIgcmVzdWx0ID0gc2V0TWlsbGlzZWNvbmRzKG5ldyBEYXRlKDIwMTQsIDgsIDEsIDExLCAzMCwgNDAsIDUwMCksIDMwMClcbiAqIC8vPT4gTW9uIFNlcCAwMSAyMDE0IDExOjMwOjQwLjMwMFxuICovXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHNldE1pbGxpc2Vjb25kcyhkaXJ0eURhdGUsIGRpcnR5TWlsbGlzZWNvbmRzKSB7XG4gIGlmIChhcmd1bWVudHMubGVuZ3RoIDwgMikge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJzIgYXJndW1lbnRzIHJlcXVpcmVkLCBidXQgb25seSAnICsgYXJndW1lbnRzLmxlbmd0aCArICcgcHJlc2VudCcpO1xuICB9XG5cbiAgdmFyIGRhdGUgPSB0b0RhdGUoZGlydHlEYXRlKTtcbiAgdmFyIG1pbGxpc2Vjb25kcyA9IHRvSW50ZWdlcihkaXJ0eU1pbGxpc2Vjb25kcyk7XG4gIGRhdGUuc2V0TWlsbGlzZWNvbmRzKG1pbGxpc2Vjb25kcyk7XG4gIHJldHVybiBkYXRlO1xufSJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/setMilliseconds/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/setMinutes/index.js": /*!*******************************************************!*\ !*** ./node_modules/date-fns/esm/setMinutes/index.js ***! \*******************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return setMinutes; });\n/* harmony import */ var _lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_lib/toInteger/index.js */ \"./node_modules/date-fns/esm/_lib/toInteger/index.js\");\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n\n\n/**\n * @name setMinutes\n * @category Minute Helpers\n * @summary Set the minutes to the given date.\n *\n * @description\n * Set the minutes to the given date.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} minutes - the minutes of the new date\n * @returns {Date} the new date with the minutes set\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Set 45 minutes to 1 September 2014 11:30:40:\n * var result = setMinutes(new Date(2014, 8, 1, 11, 30, 40), 45)\n * //=> Mon Sep 01 2014 11:45:40\n */\n\nfunction setMinutes(dirtyDate, dirtyMinutes) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present');\n }\n\n var date = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(dirtyDate);\n var minutes = Object(_lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyMinutes);\n date.setMinutes(minutes);\n return date;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL3NldE1pbnV0ZXMvaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL3NldE1pbnV0ZXMvaW5kZXguanM/ZTFiOCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdG9JbnRlZ2VyIGZyb20gJy4uL19saWIvdG9JbnRlZ2VyL2luZGV4LmpzJztcbmltcG9ydCB0b0RhdGUgZnJvbSAnLi4vdG9EYXRlL2luZGV4LmpzJztcbi8qKlxuICogQG5hbWUgc2V0TWludXRlc1xuICogQGNhdGVnb3J5IE1pbnV0ZSBIZWxwZXJzXG4gKiBAc3VtbWFyeSBTZXQgdGhlIG1pbnV0ZXMgdG8gdGhlIGdpdmVuIGRhdGUuXG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKiBTZXQgdGhlIG1pbnV0ZXMgdG8gdGhlIGdpdmVuIGRhdGUuXG4gKlxuICogIyMjIHYyLjAuMCBicmVha2luZyBjaGFuZ2VzOlxuICpcbiAqIC0gW0NoYW5nZXMgdGhhdCBhcmUgY29tbW9uIGZvciB0aGUgd2hvbGUgbGlicmFyeV0oaHR0cHM6Ly9naXRodWIuY29tL2RhdGUtZm5zL2RhdGUtZm5zL2Jsb2IvbWFzdGVyL2RvY3MvdXBncmFkZUd1aWRlLm1kI0NvbW1vbi1DaGFuZ2VzKS5cbiAqXG4gKiBAcGFyYW0ge0RhdGV8TnVtYmVyfSBkYXRlIC0gdGhlIGRhdGUgdG8gYmUgY2hhbmdlZFxuICogQHBhcmFtIHtOdW1iZXJ9IG1pbnV0ZXMgLSB0aGUgbWludXRlcyBvZiB0aGUgbmV3IGRhdGVcbiAqIEByZXR1cm5zIHtEYXRlfSB0aGUgbmV3IGRhdGUgd2l0aCB0aGUgbWludXRlcyBzZXRcbiAqIEB0aHJvd3Mge1R5cGVFcnJvcn0gMiBhcmd1bWVudHMgcmVxdWlyZWRcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gU2V0IDQ1IG1pbnV0ZXMgdG8gMSBTZXB0ZW1iZXIgMjAxNCAxMTozMDo0MDpcbiAqIHZhciByZXN1bHQgPSBzZXRNaW51dGVzKG5ldyBEYXRlKDIwMTQsIDgsIDEsIDExLCAzMCwgNDApLCA0NSlcbiAqIC8vPT4gTW9uIFNlcCAwMSAyMDE0IDExOjQ1OjQwXG4gKi9cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gc2V0TWludXRlcyhkaXJ0eURhdGUsIGRpcnR5TWludXRlcykge1xuICBpZiAoYXJndW1lbnRzLmxlbmd0aCA8IDIpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCcyIGFyZ3VtZW50cyByZXF1aXJlZCwgYnV0IG9ubHkgJyArIGFyZ3VtZW50cy5sZW5ndGggKyAnIHByZXNlbnQnKTtcbiAgfVxuXG4gIHZhciBkYXRlID0gdG9EYXRlKGRpcnR5RGF0ZSk7XG4gIHZhciBtaW51dGVzID0gdG9JbnRlZ2VyKGRpcnR5TWludXRlcyk7XG4gIGRhdGUuc2V0TWludXRlcyhtaW51dGVzKTtcbiAgcmV0dXJuIGRhdGU7XG59Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/setMinutes/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/setMonth/index.js": /*!*****************************************************!*\ !*** ./node_modules/date-fns/esm/setMonth/index.js ***! \*****************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return setMonth; });\n/* harmony import */ var _lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_lib/toInteger/index.js */ \"./node_modules/date-fns/esm/_lib/toInteger/index.js\");\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n/* harmony import */ var _getDaysInMonth_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../getDaysInMonth/index.js */ \"./node_modules/date-fns/esm/getDaysInMonth/index.js\");\n\n\n\n/**\n * @name setMonth\n * @category Month Helpers\n * @summary Set the month to the given date.\n *\n * @description\n * Set the month to the given date.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} month - the month of the new date\n * @returns {Date} the new date with the month set\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Set February to 1 September 2014:\n * var result = setMonth(new Date(2014, 8, 1), 1)\n * //=> Sat Feb 01 2014 00:00:00\n */\n\nfunction setMonth(dirtyDate, dirtyMonth) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present');\n }\n\n var date = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(dirtyDate);\n var month = Object(_lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyMonth);\n var year = date.getFullYear();\n var day = date.getDate();\n var dateWithDesiredMonth = new Date(0);\n dateWithDesiredMonth.setFullYear(year, month, 15);\n dateWithDesiredMonth.setHours(0, 0, 0, 0);\n var daysInMonth = Object(_getDaysInMonth_index_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(dateWithDesiredMonth); // Set the last day of the new month\n // if the original date was the last day of the longer month\n\n date.setMonth(month, Math.min(day, daysInMonth));\n return date;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL3NldE1vbnRoL2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2VzbS9zZXRNb250aC9pbmRleC5qcz85ZDBlIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0b0ludGVnZXIgZnJvbSAnLi4vX2xpYi90b0ludGVnZXIvaW5kZXguanMnO1xuaW1wb3J0IHRvRGF0ZSBmcm9tICcuLi90b0RhdGUvaW5kZXguanMnO1xuaW1wb3J0IGdldERheXNJbk1vbnRoIGZyb20gJy4uL2dldERheXNJbk1vbnRoL2luZGV4LmpzJztcbi8qKlxuICogQG5hbWUgc2V0TW9udGhcbiAqIEBjYXRlZ29yeSBNb250aCBIZWxwZXJzXG4gKiBAc3VtbWFyeSBTZXQgdGhlIG1vbnRoIHRvIHRoZSBnaXZlbiBkYXRlLlxuICpcbiAqIEBkZXNjcmlwdGlvblxuICogU2V0IHRoZSBtb250aCB0byB0aGUgZ2l2ZW4gZGF0ZS5cbiAqXG4gKiAjIyMgdjIuMC4wIGJyZWFraW5nIGNoYW5nZXM6XG4gKlxuICogLSBbQ2hhbmdlcyB0aGF0IGFyZSBjb21tb24gZm9yIHRoZSB3aG9sZSBsaWJyYXJ5XShodHRwczovL2dpdGh1Yi5jb20vZGF0ZS1mbnMvZGF0ZS1mbnMvYmxvYi9tYXN0ZXIvZG9jcy91cGdyYWRlR3VpZGUubWQjQ29tbW9uLUNoYW5nZXMpLlxuICpcbiAqIEBwYXJhbSB7RGF0ZXxOdW1iZXJ9IGRhdGUgLSB0aGUgZGF0ZSB0byBiZSBjaGFuZ2VkXG4gKiBAcGFyYW0ge051bWJlcn0gbW9udGggLSB0aGUgbW9udGggb2YgdGhlIG5ldyBkYXRlXG4gKiBAcmV0dXJucyB7RGF0ZX0gdGhlIG5ldyBkYXRlIHdpdGggdGhlIG1vbnRoIHNldFxuICogQHRocm93cyB7VHlwZUVycm9yfSAyIGFyZ3VtZW50cyByZXF1aXJlZFxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBTZXQgRmVicnVhcnkgdG8gMSBTZXB0ZW1iZXIgMjAxNDpcbiAqIHZhciByZXN1bHQgPSBzZXRNb250aChuZXcgRGF0ZSgyMDE0LCA4LCAxKSwgMSlcbiAqIC8vPT4gU2F0IEZlYiAwMSAyMDE0IDAwOjAwOjAwXG4gKi9cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gc2V0TW9udGgoZGlydHlEYXRlLCBkaXJ0eU1vbnRoKSB7XG4gIGlmIChhcmd1bWVudHMubGVuZ3RoIDwgMikge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJzIgYXJndW1lbnRzIHJlcXVpcmVkLCBidXQgb25seSAnICsgYXJndW1lbnRzLmxlbmd0aCArICcgcHJlc2VudCcpO1xuICB9XG5cbiAgdmFyIGRhdGUgPSB0b0RhdGUoZGlydHlEYXRlKTtcbiAgdmFyIG1vbnRoID0gdG9JbnRlZ2VyKGRpcnR5TW9udGgpO1xuICB2YXIgeWVhciA9IGRhdGUuZ2V0RnVsbFllYXIoKTtcbiAgdmFyIGRheSA9IGRhdGUuZ2V0RGF0ZSgpO1xuICB2YXIgZGF0ZVdpdGhEZXNpcmVkTW9udGggPSBuZXcgRGF0ZSgwKTtcbiAgZGF0ZVdpdGhEZXNpcmVkTW9udGguc2V0RnVsbFllYXIoeWVhciwgbW9udGgsIDE1KTtcbiAgZGF0ZVdpdGhEZXNpcmVkTW9udGguc2V0SG91cnMoMCwgMCwgMCwgMCk7XG4gIHZhciBkYXlzSW5Nb250aCA9IGdldERheXNJbk1vbnRoKGRhdGVXaXRoRGVzaXJlZE1vbnRoKTsgLy8gU2V0IHRoZSBsYXN0IGRheSBvZiB0aGUgbmV3IG1vbnRoXG4gIC8vIGlmIHRoZSBvcmlnaW5hbCBkYXRlIHdhcyB0aGUgbGFzdCBkYXkgb2YgdGhlIGxvbmdlciBtb250aFxuXG4gIGRhdGUuc2V0TW9udGgobW9udGgsIE1hdGgubWluKGRheSwgZGF5c0luTW9udGgpKTtcbiAgcmV0dXJuIGRhdGU7XG59Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/setMonth/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/setQuarter/index.js": /*!*******************************************************!*\ !*** ./node_modules/date-fns/esm/setQuarter/index.js ***! \*******************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return setQuarter; });\n/* harmony import */ var _lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_lib/toInteger/index.js */ \"./node_modules/date-fns/esm/_lib/toInteger/index.js\");\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n/* harmony import */ var _setMonth_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../setMonth/index.js */ \"./node_modules/date-fns/esm/setMonth/index.js\");\n\n\n\n/**\n * @name setQuarter\n * @category Quarter Helpers\n * @summary Set the year quarter to the given date.\n *\n * @description\n * Set the year quarter to the given date.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} quarter - the quarter of the new date\n * @returns {Date} the new date with the quarter set\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Set the 2nd quarter to 2 July 2014:\n * var result = setQuarter(new Date(2014, 6, 2), 2)\n * //=> Wed Apr 02 2014 00:00:00\n */\n\nfunction setQuarter(dirtyDate, dirtyQuarter) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present');\n }\n\n var date = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(dirtyDate);\n var quarter = Object(_lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyQuarter);\n var oldQuarter = Math.floor(date.getMonth() / 3) + 1;\n var diff = quarter - oldQuarter;\n return Object(_setMonth_index_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(date, date.getMonth() + diff * 3);\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL3NldFF1YXJ0ZXIvaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL3NldFF1YXJ0ZXIvaW5kZXguanM/YTY1ZiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdG9JbnRlZ2VyIGZyb20gJy4uL19saWIvdG9JbnRlZ2VyL2luZGV4LmpzJztcbmltcG9ydCB0b0RhdGUgZnJvbSAnLi4vdG9EYXRlL2luZGV4LmpzJztcbmltcG9ydCBzZXRNb250aCBmcm9tICcuLi9zZXRNb250aC9pbmRleC5qcyc7XG4vKipcbiAqIEBuYW1lIHNldFF1YXJ0ZXJcbiAqIEBjYXRlZ29yeSBRdWFydGVyIEhlbHBlcnNcbiAqIEBzdW1tYXJ5IFNldCB0aGUgeWVhciBxdWFydGVyIHRvIHRoZSBnaXZlbiBkYXRlLlxuICpcbiAqIEBkZXNjcmlwdGlvblxuICogU2V0IHRoZSB5ZWFyIHF1YXJ0ZXIgdG8gdGhlIGdpdmVuIGRhdGUuXG4gKlxuICogIyMjIHYyLjAuMCBicmVha2luZyBjaGFuZ2VzOlxuICpcbiAqIC0gW0NoYW5nZXMgdGhhdCBhcmUgY29tbW9uIGZvciB0aGUgd2hvbGUgbGlicmFyeV0oaHR0cHM6Ly9naXRodWIuY29tL2RhdGUtZm5zL2RhdGUtZm5zL2Jsb2IvbWFzdGVyL2RvY3MvdXBncmFkZUd1aWRlLm1kI0NvbW1vbi1DaGFuZ2VzKS5cbiAqXG4gKiBAcGFyYW0ge0RhdGV8TnVtYmVyfSBkYXRlIC0gdGhlIGRhdGUgdG8gYmUgY2hhbmdlZFxuICogQHBhcmFtIHtOdW1iZXJ9IHF1YXJ0ZXIgLSB0aGUgcXVhcnRlciBvZiB0aGUgbmV3IGRhdGVcbiAqIEByZXR1cm5zIHtEYXRlfSB0aGUgbmV3IGRhdGUgd2l0aCB0aGUgcXVhcnRlciBzZXRcbiAqIEB0aHJvd3Mge1R5cGVFcnJvcn0gMiBhcmd1bWVudHMgcmVxdWlyZWRcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gU2V0IHRoZSAybmQgcXVhcnRlciB0byAyIEp1bHkgMjAxNDpcbiAqIHZhciByZXN1bHQgPSBzZXRRdWFydGVyKG5ldyBEYXRlKDIwMTQsIDYsIDIpLCAyKVxuICogLy89PiBXZWQgQXByIDAyIDIwMTQgMDA6MDA6MDBcbiAqL1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBzZXRRdWFydGVyKGRpcnR5RGF0ZSwgZGlydHlRdWFydGVyKSB7XG4gIGlmIChhcmd1bWVudHMubGVuZ3RoIDwgMikge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJzIgYXJndW1lbnRzIHJlcXVpcmVkLCBidXQgb25seSAnICsgYXJndW1lbnRzLmxlbmd0aCArICcgcHJlc2VudCcpO1xuICB9XG5cbiAgdmFyIGRhdGUgPSB0b0RhdGUoZGlydHlEYXRlKTtcbiAgdmFyIHF1YXJ0ZXIgPSB0b0ludGVnZXIoZGlydHlRdWFydGVyKTtcbiAgdmFyIG9sZFF1YXJ0ZXIgPSBNYXRoLmZsb29yKGRhdGUuZ2V0TW9udGgoKSAvIDMpICsgMTtcbiAgdmFyIGRpZmYgPSBxdWFydGVyIC0gb2xkUXVhcnRlcjtcbiAgcmV0dXJuIHNldE1vbnRoKGRhdGUsIGRhdGUuZ2V0TW9udGgoKSArIGRpZmYgKiAzKTtcbn0iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/setQuarter/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/setSeconds/index.js": /*!*******************************************************!*\ !*** ./node_modules/date-fns/esm/setSeconds/index.js ***! \*******************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return setSeconds; });\n/* harmony import */ var _lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_lib/toInteger/index.js */ \"./node_modules/date-fns/esm/_lib/toInteger/index.js\");\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n\n\n/**\n * @name setSeconds\n * @category Second Helpers\n * @summary Set the seconds to the given date.\n *\n * @description\n * Set the seconds to the given date.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} seconds - the seconds of the new date\n * @returns {Date} the new date with the seconds set\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Set 45 seconds to 1 September 2014 11:30:40:\n * var result = setSeconds(new Date(2014, 8, 1, 11, 30, 40), 45)\n * //=> Mon Sep 01 2014 11:30:45\n */\n\nfunction setSeconds(dirtyDate, dirtySeconds) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present');\n }\n\n var date = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(dirtyDate);\n var seconds = Object(_lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtySeconds);\n date.setSeconds(seconds);\n return date;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL3NldFNlY29uZHMvaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL3NldFNlY29uZHMvaW5kZXguanM/YzE3NyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdG9JbnRlZ2VyIGZyb20gJy4uL19saWIvdG9JbnRlZ2VyL2luZGV4LmpzJztcbmltcG9ydCB0b0RhdGUgZnJvbSAnLi4vdG9EYXRlL2luZGV4LmpzJztcbi8qKlxuICogQG5hbWUgc2V0U2Vjb25kc1xuICogQGNhdGVnb3J5IFNlY29uZCBIZWxwZXJzXG4gKiBAc3VtbWFyeSBTZXQgdGhlIHNlY29uZHMgdG8gdGhlIGdpdmVuIGRhdGUuXG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKiBTZXQgdGhlIHNlY29uZHMgdG8gdGhlIGdpdmVuIGRhdGUuXG4gKlxuICogIyMjIHYyLjAuMCBicmVha2luZyBjaGFuZ2VzOlxuICpcbiAqIC0gW0NoYW5nZXMgdGhhdCBhcmUgY29tbW9uIGZvciB0aGUgd2hvbGUgbGlicmFyeV0oaHR0cHM6Ly9naXRodWIuY29tL2RhdGUtZm5zL2RhdGUtZm5zL2Jsb2IvbWFzdGVyL2RvY3MvdXBncmFkZUd1aWRlLm1kI0NvbW1vbi1DaGFuZ2VzKS5cbiAqXG4gKiBAcGFyYW0ge0RhdGV8TnVtYmVyfSBkYXRlIC0gdGhlIGRhdGUgdG8gYmUgY2hhbmdlZFxuICogQHBhcmFtIHtOdW1iZXJ9IHNlY29uZHMgLSB0aGUgc2Vjb25kcyBvZiB0aGUgbmV3IGRhdGVcbiAqIEByZXR1cm5zIHtEYXRlfSB0aGUgbmV3IGRhdGUgd2l0aCB0aGUgc2Vjb25kcyBzZXRcbiAqIEB0aHJvd3Mge1R5cGVFcnJvcn0gMiBhcmd1bWVudHMgcmVxdWlyZWRcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gU2V0IDQ1IHNlY29uZHMgdG8gMSBTZXB0ZW1iZXIgMjAxNCAxMTozMDo0MDpcbiAqIHZhciByZXN1bHQgPSBzZXRTZWNvbmRzKG5ldyBEYXRlKDIwMTQsIDgsIDEsIDExLCAzMCwgNDApLCA0NSlcbiAqIC8vPT4gTW9uIFNlcCAwMSAyMDE0IDExOjMwOjQ1XG4gKi9cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gc2V0U2Vjb25kcyhkaXJ0eURhdGUsIGRpcnR5U2Vjb25kcykge1xuICBpZiAoYXJndW1lbnRzLmxlbmd0aCA8IDIpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCcyIGFyZ3VtZW50cyByZXF1aXJlZCwgYnV0IG9ubHkgJyArIGFyZ3VtZW50cy5sZW5ndGggKyAnIHByZXNlbnQnKTtcbiAgfVxuXG4gIHZhciBkYXRlID0gdG9EYXRlKGRpcnR5RGF0ZSk7XG4gIHZhciBzZWNvbmRzID0gdG9JbnRlZ2VyKGRpcnR5U2Vjb25kcyk7XG4gIGRhdGUuc2V0U2Vjb25kcyhzZWNvbmRzKTtcbiAgcmV0dXJuIGRhdGU7XG59Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/setSeconds/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/setWeek/index.js": /*!****************************************************!*\ !*** ./node_modules/date-fns/esm/setWeek/index.js ***! \****************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return setWeek; });\n/* harmony import */ var _getWeek_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../getWeek/index.js */ \"./node_modules/date-fns/esm/getWeek/index.js\");\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n/* harmony import */ var _lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../_lib/toInteger/index.js */ \"./node_modules/date-fns/esm/_lib/toInteger/index.js\");\n\n\n\n/**\n * @name setWeek\n * @category Week Helpers\n * @summary Set the local week to the given date.\n *\n * @description\n * Set the local week to the given date, saving the weekday number.\n * The exact calculation depends on the values of\n * `options.weekStartsOn` (which is the index of the first day of the week)\n * and `options.firstWeekContainsDate` (which is the day of January, which is always in\n * the first week of the week-numbering year)\n *\n * Week numbering: https://en.wikipedia.org/wiki/Week#Week_numbering\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} week - the week of the new date\n * @param {Object} [options] - an object with options.\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\n * @param {1|2|3|4|5|6|7} [options.firstWeekContainsDate=1] - the day of January, which is always in the first week of the year\n * @returns {Date} the new date with the local week set\n * @throws {TypeError} 2 arguments required\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6\n * @throws {RangeError} `options.firstWeekContainsDate` must be between 1 and 7\n *\n * @example\n * // Set the 1st week to 2 January 2005 with default options:\n * var result = setWeek(new Date(2005, 0, 2), 1)\n * //=> Sun Dec 26 2004 00:00:00\n *\n * @example\n * // Set the 1st week to 2 January 2005,\n * // if Monday is the first day of the week,\n * // and the first week of the year always contains 4 January:\n * var result = setWeek(new Date(2005, 0, 2), 1, {\n * weekStartsOn: 1,\n * firstWeekContainsDate: 4\n * })\n * //=> Sun Jan 4 2004 00:00:00\n */\n\nfunction setWeek(dirtyDate, dirtyWeek, dirtyOptions) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present');\n }\n\n var date = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(dirtyDate);\n var week = Object(_lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(dirtyWeek);\n var diff = Object(_getWeek_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(date, dirtyOptions) - week;\n date.setDate(date.getDate() - diff * 7);\n return date;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL3NldFdlZWsvaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL3NldFdlZWsvaW5kZXguanM/NWQ3ZiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZ2V0V2VlayBmcm9tICcuLi9nZXRXZWVrL2luZGV4LmpzJztcbmltcG9ydCB0b0RhdGUgZnJvbSAnLi4vdG9EYXRlL2luZGV4LmpzJztcbmltcG9ydCB0b0ludGVnZXIgZnJvbSAnLi4vX2xpYi90b0ludGVnZXIvaW5kZXguanMnO1xuLyoqXG4gKiBAbmFtZSBzZXRXZWVrXG4gKiBAY2F0ZWdvcnkgV2VlayBIZWxwZXJzXG4gKiBAc3VtbWFyeSBTZXQgdGhlIGxvY2FsIHdlZWsgdG8gdGhlIGdpdmVuIGRhdGUuXG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKiBTZXQgdGhlIGxvY2FsIHdlZWsgdG8gdGhlIGdpdmVuIGRhdGUsIHNhdmluZyB0aGUgd2Vla2RheSBudW1iZXIuXG4gKiBUaGUgZXhhY3QgY2FsY3VsYXRpb24gZGVwZW5kcyBvbiB0aGUgdmFsdWVzIG9mXG4gKiBgb3B0aW9ucy53ZWVrU3RhcnRzT25gICh3aGljaCBpcyB0aGUgaW5kZXggb2YgdGhlIGZpcnN0IGRheSBvZiB0aGUgd2VlaylcbiAqIGFuZCBgb3B0aW9ucy5maXJzdFdlZWtDb250YWluc0RhdGVgICh3aGljaCBpcyB0aGUgZGF5IG9mIEphbnVhcnksIHdoaWNoIGlzIGFsd2F5cyBpblxuICogdGhlIGZpcnN0IHdlZWsgb2YgdGhlIHdlZWstbnVtYmVyaW5nIHllYXIpXG4gKlxuICogV2VlayBudW1iZXJpbmc6IGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1dlZWsjV2Vla19udW1iZXJpbmdcbiAqXG4gKiAjIyMgdjIuMC4wIGJyZWFraW5nIGNoYW5nZXM6XG4gKlxuICogLSBbQ2hhbmdlcyB0aGF0IGFyZSBjb21tb24gZm9yIHRoZSB3aG9sZSBsaWJyYXJ5XShodHRwczovL2dpdGh1Yi5jb20vZGF0ZS1mbnMvZGF0ZS1mbnMvYmxvYi9tYXN0ZXIvZG9jcy91cGdyYWRlR3VpZGUubWQjQ29tbW9uLUNoYW5nZXMpLlxuICpcbiAqIEBwYXJhbSB7RGF0ZXxOdW1iZXJ9IGRhdGUgLSB0aGUgZGF0ZSB0byBiZSBjaGFuZ2VkXG4gKiBAcGFyYW0ge051bWJlcn0gd2VlayAtIHRoZSB3ZWVrIG9mIHRoZSBuZXcgZGF0ZVxuICogQHBhcmFtIHtPYmplY3R9IFtvcHRpb25zXSAtIGFuIG9iamVjdCB3aXRoIG9wdGlvbnMuXG4gKiBAcGFyYW0ge0xvY2FsZX0gW29wdGlvbnMubG9jYWxlPWRlZmF1bHRMb2NhbGVdIC0gdGhlIGxvY2FsZSBvYmplY3QuIFNlZSBbTG9jYWxlXXtAbGluayBodHRwczovL2RhdGUtZm5zLm9yZy9kb2NzL0xvY2FsZX1cbiAqIEBwYXJhbSB7MHwxfDJ8M3w0fDV8Nn0gW29wdGlvbnMud2Vla1N0YXJ0c09uPTBdIC0gdGhlIGluZGV4IG9mIHRoZSBmaXJzdCBkYXkgb2YgdGhlIHdlZWsgKDAgLSBTdW5kYXkpXG4gKiBAcGFyYW0gezF8MnwzfDR8NXw2fDd9IFtvcHRpb25zLmZpcnN0V2Vla0NvbnRhaW5zRGF0ZT0xXSAtIHRoZSBkYXkgb2YgSmFudWFyeSwgd2hpY2ggaXMgYWx3YXlzIGluIHRoZSBmaXJzdCB3ZWVrIG9mIHRoZSB5ZWFyXG4gKiBAcmV0dXJucyB7RGF0ZX0gdGhlIG5ldyBkYXRlIHdpdGggdGhlIGxvY2FsIHdlZWsgc2V0XG4gKiBAdGhyb3dzIHtUeXBlRXJyb3J9IDIgYXJndW1lbnRzIHJlcXVpcmVkXG4gKiBAdGhyb3dzIHtSYW5nZUVycm9yfSBgb3B0aW9ucy53ZWVrU3RhcnRzT25gIG11c3QgYmUgYmV0d2VlbiAwIGFuZCA2XG4gKiBAdGhyb3dzIHtSYW5nZUVycm9yfSBgb3B0aW9ucy5maXJzdFdlZWtDb250YWluc0RhdGVgIG11c3QgYmUgYmV0d2VlbiAxIGFuZCA3XG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIFNldCB0aGUgMXN0IHdlZWsgdG8gMiBKYW51YXJ5IDIwMDUgd2l0aCBkZWZhdWx0IG9wdGlvbnM6XG4gKiB2YXIgcmVzdWx0ID0gc2V0V2VlayhuZXcgRGF0ZSgyMDA1LCAwLCAyKSwgMSlcbiAqIC8vPT4gU3VuIERlYyAyNiAyMDA0IDAwOjAwOjAwXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIFNldCB0aGUgMXN0IHdlZWsgdG8gMiBKYW51YXJ5IDIwMDUsXG4gKiAvLyBpZiBNb25kYXkgaXMgdGhlIGZpcnN0IGRheSBvZiB0aGUgd2VlayxcbiAqIC8vIGFuZCB0aGUgZmlyc3Qgd2VlayBvZiB0aGUgeWVhciBhbHdheXMgY29udGFpbnMgNCBKYW51YXJ5OlxuICogdmFyIHJlc3VsdCA9IHNldFdlZWsobmV3IERhdGUoMjAwNSwgMCwgMiksIDEsIHtcbiAqICAgd2Vla1N0YXJ0c09uOiAxLFxuICogICBmaXJzdFdlZWtDb250YWluc0RhdGU6IDRcbiAqIH0pXG4gKiAvLz0+IFN1biBKYW4gNCAyMDA0IDAwOjAwOjAwXG4gKi9cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gc2V0V2VlayhkaXJ0eURhdGUsIGRpcnR5V2VlaywgZGlydHlPcHRpb25zKSB7XG4gIGlmIChhcmd1bWVudHMubGVuZ3RoIDwgMikge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJzIgYXJndW1lbnRzIHJlcXVpcmVkLCBidXQgb25seSAnICsgYXJndW1lbnRzLmxlbmd0aCArICcgcHJlc2VudCcpO1xuICB9XG5cbiAgdmFyIGRhdGUgPSB0b0RhdGUoZGlydHlEYXRlKTtcbiAgdmFyIHdlZWsgPSB0b0ludGVnZXIoZGlydHlXZWVrKTtcbiAgdmFyIGRpZmYgPSBnZXRXZWVrKGRhdGUsIGRpcnR5T3B0aW9ucykgLSB3ZWVrO1xuICBkYXRlLnNldERhdGUoZGF0ZS5nZXREYXRlKCkgLSBkaWZmICogNyk7XG4gIHJldHVybiBkYXRlO1xufSJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/setWeek/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/setWeekYear/index.js": /*!********************************************************!*\ !*** ./node_modules/date-fns/esm/setWeekYear/index.js ***! \********************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return setWeekYear; });\n/* harmony import */ var _differenceInCalendarDays_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../differenceInCalendarDays/index.js */ \"./node_modules/date-fns/esm/differenceInCalendarDays/index.js\");\n/* harmony import */ var _startOfWeekYear_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../startOfWeekYear/index.js */ \"./node_modules/date-fns/esm/startOfWeekYear/index.js\");\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n/* harmony import */ var _lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../_lib/toInteger/index.js */ \"./node_modules/date-fns/esm/_lib/toInteger/index.js\");\n\n\n\n\n/**\n * @name setWeekYear\n * @category Week-Numbering Year Helpers\n * @summary Set the local week-numbering year to the given date.\n *\n * @description\n * Set the local week-numbering year to the given date,\n * saving the week number and the weekday number.\n * The exact calculation depends on the values of\n * `options.weekStartsOn` (which is the index of the first day of the week)\n * and `options.firstWeekContainsDate` (which is the day of January, which is always in\n * the first week of the week-numbering year)\n *\n * Week numbering: https://en.wikipedia.org/wiki/Week#Week_numbering\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} weekYear - the local week-numbering year of the new date\n * @param {Object} [options] - an object with options.\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\n * @param {1|2|3|4|5|6|7} [options.firstWeekContainsDate=1] - the day of January, which is always in the first week of the year\n * @returns {Date} the new date with the local week-numbering year set\n * @throws {TypeError} 2 arguments required\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6\n * @throws {RangeError} `options.firstWeekContainsDate` must be between 1 and 7\n *\n * @example\n * // Set the local week-numbering year 2004 to 2 January 2010 with default options:\n * var result = setWeekYear(new Date(2010, 0, 2), 2004)\n * //=> Sat Jan 03 2004 00:00:00\n *\n * @example\n * // Set the local week-numbering year 2004 to 2 January 2010,\n * // if Monday is the first day of week\n * // and 4 January is always in the first week of the year:\n * var result = setWeekYear(new Date(2010, 0, 2), 2004, {\n * weekStartsOn: 1,\n * firstWeekContainsDate: 4\n * })\n * //=> Sat Jan 01 2005 00:00:00\n */\n\nfunction setWeekYear(dirtyDate, dirtyWeekYear, dirtyOptions) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present');\n }\n\n var options = dirtyOptions || {};\n var locale = options.locale;\n var localeFirstWeekContainsDate = locale && locale.options && locale.options.firstWeekContainsDate;\n var defaultFirstWeekContainsDate = localeFirstWeekContainsDate == null ? 1 : Object(_lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(localeFirstWeekContainsDate);\n var firstWeekContainsDate = options.firstWeekContainsDate == null ? defaultFirstWeekContainsDate : Object(_lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(options.firstWeekContainsDate);\n var date = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(dirtyDate);\n var weekYear = Object(_lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(dirtyWeekYear);\n var diff = Object(_differenceInCalendarDays_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(date, Object(_startOfWeekYear_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(date, dirtyOptions));\n var firstWeek = new Date(0);\n firstWeek.setFullYear(weekYear, 0, firstWeekContainsDate);\n firstWeek.setHours(0, 0, 0, 0);\n date = Object(_startOfWeekYear_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(firstWeek, dirtyOptions);\n date.setDate(date.getDate() + diff);\n return date;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL3NldFdlZWtZZWFyL2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2VzbS9zZXRXZWVrWWVhci9pbmRleC5qcz9hNzQ4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBkaWZmZXJlbmNlSW5DYWxlbmRhckRheXMgZnJvbSAnLi4vZGlmZmVyZW5jZUluQ2FsZW5kYXJEYXlzL2luZGV4LmpzJztcbmltcG9ydCBzdGFydE9mV2Vla1llYXIgZnJvbSAnLi4vc3RhcnRPZldlZWtZZWFyL2luZGV4LmpzJztcbmltcG9ydCB0b0RhdGUgZnJvbSAnLi4vdG9EYXRlL2luZGV4LmpzJztcbmltcG9ydCB0b0ludGVnZXIgZnJvbSAnLi4vX2xpYi90b0ludGVnZXIvaW5kZXguanMnO1xuLyoqXG4gKiBAbmFtZSBzZXRXZWVrWWVhclxuICogQGNhdGVnb3J5IFdlZWstTnVtYmVyaW5nIFllYXIgSGVscGVyc1xuICogQHN1bW1hcnkgU2V0IHRoZSBsb2NhbCB3ZWVrLW51bWJlcmluZyB5ZWFyIHRvIHRoZSBnaXZlbiBkYXRlLlxuICpcbiAqIEBkZXNjcmlwdGlvblxuICogU2V0IHRoZSBsb2NhbCB3ZWVrLW51bWJlcmluZyB5ZWFyIHRvIHRoZSBnaXZlbiBkYXRlLFxuICogc2F2aW5nIHRoZSB3ZWVrIG51bWJlciBhbmQgdGhlIHdlZWtkYXkgbnVtYmVyLlxuICogVGhlIGV4YWN0IGNhbGN1bGF0aW9uIGRlcGVuZHMgb24gdGhlIHZhbHVlcyBvZlxuICogYG9wdGlvbnMud2Vla1N0YXJ0c09uYCAod2hpY2ggaXMgdGhlIGluZGV4IG9mIHRoZSBmaXJzdCBkYXkgb2YgdGhlIHdlZWspXG4gKiBhbmQgYG9wdGlvbnMuZmlyc3RXZWVrQ29udGFpbnNEYXRlYCAod2hpY2ggaXMgdGhlIGRheSBvZiBKYW51YXJ5LCB3aGljaCBpcyBhbHdheXMgaW5cbiAqIHRoZSBmaXJzdCB3ZWVrIG9mIHRoZSB3ZWVrLW51bWJlcmluZyB5ZWFyKVxuICpcbiAqIFdlZWsgbnVtYmVyaW5nOiBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9XZWVrI1dlZWtfbnVtYmVyaW5nXG4gKlxuICogIyMjIHYyLjAuMCBicmVha2luZyBjaGFuZ2VzOlxuICpcbiAqIC0gW0NoYW5nZXMgdGhhdCBhcmUgY29tbW9uIGZvciB0aGUgd2hvbGUgbGlicmFyeV0oaHR0cHM6Ly9naXRodWIuY29tL2RhdGUtZm5zL2RhdGUtZm5zL2Jsb2IvbWFzdGVyL2RvY3MvdXBncmFkZUd1aWRlLm1kI0NvbW1vbi1DaGFuZ2VzKS5cbiAqXG4gKiBAcGFyYW0ge0RhdGV8TnVtYmVyfSBkYXRlIC0gdGhlIGRhdGUgdG8gYmUgY2hhbmdlZFxuICogQHBhcmFtIHtOdW1iZXJ9IHdlZWtZZWFyIC0gdGhlIGxvY2FsIHdlZWstbnVtYmVyaW5nIHllYXIgb2YgdGhlIG5ldyBkYXRlXG4gKiBAcGFyYW0ge09iamVjdH0gW29wdGlvbnNdIC0gYW4gb2JqZWN0IHdpdGggb3B0aW9ucy5cbiAqIEBwYXJhbSB7TG9jYWxlfSBbb3B0aW9ucy5sb2NhbGU9ZGVmYXVsdExvY2FsZV0gLSB0aGUgbG9jYWxlIG9iamVjdC4gU2VlIFtMb2NhbGVde0BsaW5rIGh0dHBzOi8vZGF0ZS1mbnMub3JnL2RvY3MvTG9jYWxlfVxuICogQHBhcmFtIHswfDF8MnwzfDR8NXw2fSBbb3B0aW9ucy53ZWVrU3RhcnRzT249MF0gLSB0aGUgaW5kZXggb2YgdGhlIGZpcnN0IGRheSBvZiB0aGUgd2VlayAoMCAtIFN1bmRheSlcbiAqIEBwYXJhbSB7MXwyfDN8NHw1fDZ8N30gW29wdGlvbnMuZmlyc3RXZWVrQ29udGFpbnNEYXRlPTFdIC0gdGhlIGRheSBvZiBKYW51YXJ5LCB3aGljaCBpcyBhbHdheXMgaW4gdGhlIGZpcnN0IHdlZWsgb2YgdGhlIHllYXJcbiAqIEByZXR1cm5zIHtEYXRlfSB0aGUgbmV3IGRhdGUgd2l0aCB0aGUgbG9jYWwgd2Vlay1udW1iZXJpbmcgeWVhciBzZXRcbiAqIEB0aHJvd3Mge1R5cGVFcnJvcn0gMiBhcmd1bWVudHMgcmVxdWlyZWRcbiAqIEB0aHJvd3Mge1JhbmdlRXJyb3J9IGBvcHRpb25zLndlZWtTdGFydHNPbmAgbXVzdCBiZSBiZXR3ZWVuIDAgYW5kIDZcbiAqIEB0aHJvd3Mge1JhbmdlRXJyb3J9IGBvcHRpb25zLmZpcnN0V2Vla0NvbnRhaW5zRGF0ZWAgbXVzdCBiZSBiZXR3ZWVuIDEgYW5kIDdcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gU2V0IHRoZSBsb2NhbCB3ZWVrLW51bWJlcmluZyB5ZWFyIDIwMDQgdG8gMiBKYW51YXJ5IDIwMTAgd2l0aCBkZWZhdWx0IG9wdGlvbnM6XG4gKiB2YXIgcmVzdWx0ID0gc2V0V2Vla1llYXIobmV3IERhdGUoMjAxMCwgMCwgMiksIDIwMDQpXG4gKiAvLz0+IFNhdCBKYW4gMDMgMjAwNCAwMDowMDowMFxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBTZXQgdGhlIGxvY2FsIHdlZWstbnVtYmVyaW5nIHllYXIgMjAwNCB0byAyIEphbnVhcnkgMjAxMCxcbiAqIC8vIGlmIE1vbmRheSBpcyB0aGUgZmlyc3QgZGF5IG9mIHdlZWtcbiAqIC8vIGFuZCA0IEphbnVhcnkgaXMgYWx3YXlzIGluIHRoZSBmaXJzdCB3ZWVrIG9mIHRoZSB5ZWFyOlxuICogdmFyIHJlc3VsdCA9IHNldFdlZWtZZWFyKG5ldyBEYXRlKDIwMTAsIDAsIDIpLCAyMDA0LCB7XG4gKiAgIHdlZWtTdGFydHNPbjogMSxcbiAqICAgZmlyc3RXZWVrQ29udGFpbnNEYXRlOiA0XG4gKiB9KVxuICogLy89PiBTYXQgSmFuIDAxIDIwMDUgMDA6MDA6MDBcbiAqL1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBzZXRXZWVrWWVhcihkaXJ0eURhdGUsIGRpcnR5V2Vla1llYXIsIGRpcnR5T3B0aW9ucykge1xuICBpZiAoYXJndW1lbnRzLmxlbmd0aCA8IDIpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCcyIGFyZ3VtZW50cyByZXF1aXJlZCwgYnV0IG9ubHkgJyArIGFyZ3VtZW50cy5sZW5ndGggKyAnIHByZXNlbnQnKTtcbiAgfVxuXG4gIHZhciBvcHRpb25zID0gZGlydHlPcHRpb25zIHx8IHt9O1xuICB2YXIgbG9jYWxlID0gb3B0aW9ucy5sb2NhbGU7XG4gIHZhciBsb2NhbGVGaXJzdFdlZWtDb250YWluc0RhdGUgPSBsb2NhbGUgJiYgbG9jYWxlLm9wdGlvbnMgJiYgbG9jYWxlLm9wdGlvbnMuZmlyc3RXZWVrQ29udGFpbnNEYXRlO1xuICB2YXIgZGVmYXVsdEZpcnN0V2Vla0NvbnRhaW5zRGF0ZSA9IGxvY2FsZUZpcnN0V2Vla0NvbnRhaW5zRGF0ZSA9PSBudWxsID8gMSA6IHRvSW50ZWdlcihsb2NhbGVGaXJzdFdlZWtDb250YWluc0RhdGUpO1xuICB2YXIgZmlyc3RXZWVrQ29udGFpbnNEYXRlID0gb3B0aW9ucy5maXJzdFdlZWtDb250YWluc0RhdGUgPT0gbnVsbCA/IGRlZmF1bHRGaXJzdFdlZWtDb250YWluc0RhdGUgOiB0b0ludGVnZXIob3B0aW9ucy5maXJzdFdlZWtDb250YWluc0RhdGUpO1xuICB2YXIgZGF0ZSA9IHRvRGF0ZShkaXJ0eURhdGUpO1xuICB2YXIgd2Vla1llYXIgPSB0b0ludGVnZXIoZGlydHlXZWVrWWVhcik7XG4gIHZhciBkaWZmID0gZGlmZmVyZW5jZUluQ2FsZW5kYXJEYXlzKGRhdGUsIHN0YXJ0T2ZXZWVrWWVhcihkYXRlLCBkaXJ0eU9wdGlvbnMpKTtcbiAgdmFyIGZpcnN0V2VlayA9IG5ldyBEYXRlKDApO1xuICBmaXJzdFdlZWsuc2V0RnVsbFllYXIod2Vla1llYXIsIDAsIGZpcnN0V2Vla0NvbnRhaW5zRGF0ZSk7XG4gIGZpcnN0V2Vlay5zZXRIb3VycygwLCAwLCAwLCAwKTtcbiAgZGF0ZSA9IHN0YXJ0T2ZXZWVrWWVhcihmaXJzdFdlZWssIGRpcnR5T3B0aW9ucyk7XG4gIGRhdGUuc2V0RGF0ZShkYXRlLmdldERhdGUoKSArIGRpZmYpO1xuICByZXR1cm4gZGF0ZTtcbn0iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/setWeekYear/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/setYear/index.js": /*!****************************************************!*\ !*** ./node_modules/date-fns/esm/setYear/index.js ***! \****************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return setYear; });\n/* harmony import */ var _lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_lib/toInteger/index.js */ \"./node_modules/date-fns/esm/_lib/toInteger/index.js\");\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n\n\n/**\n * @name setYear\n * @category Year Helpers\n * @summary Set the year to the given date.\n *\n * @description\n * Set the year to the given date.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} year - the year of the new date\n * @returns {Date} the new date with the year set\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Set year 2013 to 1 September 2014:\n * var result = setYear(new Date(2014, 8, 1), 2013)\n * //=> Sun Sep 01 2013 00:00:00\n */\n\nfunction setYear(dirtyDate, dirtyYear) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present');\n }\n\n var date = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(dirtyDate);\n var year = Object(_lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyYear); // Check if date is Invalid Date because Date.prototype.setFullYear ignores the value of Invalid Date\n\n if (isNaN(date)) {\n return new Date(NaN);\n }\n\n date.setFullYear(year);\n return date;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL3NldFllYXIvaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL3NldFllYXIvaW5kZXguanM/ZThkNCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdG9JbnRlZ2VyIGZyb20gJy4uL19saWIvdG9JbnRlZ2VyL2luZGV4LmpzJztcbmltcG9ydCB0b0RhdGUgZnJvbSAnLi4vdG9EYXRlL2luZGV4LmpzJztcbi8qKlxuICogQG5hbWUgc2V0WWVhclxuICogQGNhdGVnb3J5IFllYXIgSGVscGVyc1xuICogQHN1bW1hcnkgU2V0IHRoZSB5ZWFyIHRvIHRoZSBnaXZlbiBkYXRlLlxuICpcbiAqIEBkZXNjcmlwdGlvblxuICogU2V0IHRoZSB5ZWFyIHRvIHRoZSBnaXZlbiBkYXRlLlxuICpcbiAqICMjIyB2Mi4wLjAgYnJlYWtpbmcgY2hhbmdlczpcbiAqXG4gKiAtIFtDaGFuZ2VzIHRoYXQgYXJlIGNvbW1vbiBmb3IgdGhlIHdob2xlIGxpYnJhcnldKGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRlLWZucy9kYXRlLWZucy9ibG9iL21hc3Rlci9kb2NzL3VwZ3JhZGVHdWlkZS5tZCNDb21tb24tQ2hhbmdlcykuXG4gKlxuICogQHBhcmFtIHtEYXRlfE51bWJlcn0gZGF0ZSAtIHRoZSBkYXRlIHRvIGJlIGNoYW5nZWRcbiAqIEBwYXJhbSB7TnVtYmVyfSB5ZWFyIC0gdGhlIHllYXIgb2YgdGhlIG5ldyBkYXRlXG4gKiBAcmV0dXJucyB7RGF0ZX0gdGhlIG5ldyBkYXRlIHdpdGggdGhlIHllYXIgc2V0XG4gKiBAdGhyb3dzIHtUeXBlRXJyb3J9IDIgYXJndW1lbnRzIHJlcXVpcmVkXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIFNldCB5ZWFyIDIwMTMgdG8gMSBTZXB0ZW1iZXIgMjAxNDpcbiAqIHZhciByZXN1bHQgPSBzZXRZZWFyKG5ldyBEYXRlKDIwMTQsIDgsIDEpLCAyMDEzKVxuICogLy89PiBTdW4gU2VwIDAxIDIwMTMgMDA6MDA6MDBcbiAqL1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBzZXRZZWFyKGRpcnR5RGF0ZSwgZGlydHlZZWFyKSB7XG4gIGlmIChhcmd1bWVudHMubGVuZ3RoIDwgMikge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJzIgYXJndW1lbnRzIHJlcXVpcmVkLCBidXQgb25seSAnICsgYXJndW1lbnRzLmxlbmd0aCArICcgcHJlc2VudCcpO1xuICB9XG5cbiAgdmFyIGRhdGUgPSB0b0RhdGUoZGlydHlEYXRlKTtcbiAgdmFyIHllYXIgPSB0b0ludGVnZXIoZGlydHlZZWFyKTsgLy8gQ2hlY2sgaWYgZGF0ZSBpcyBJbnZhbGlkIERhdGUgYmVjYXVzZSBEYXRlLnByb3RvdHlwZS5zZXRGdWxsWWVhciBpZ25vcmVzIHRoZSB2YWx1ZSBvZiBJbnZhbGlkIERhdGVcblxuICBpZiAoaXNOYU4oZGF0ZSkpIHtcbiAgICByZXR1cm4gbmV3IERhdGUoTmFOKTtcbiAgfVxuXG4gIGRhdGUuc2V0RnVsbFllYXIoeWVhcik7XG4gIHJldHVybiBkYXRlO1xufSJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/setYear/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/startOfDay/index.js": /*!*******************************************************!*\ !*** ./node_modules/date-fns/esm/startOfDay/index.js ***! \*******************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return startOfDay; });\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n\n/**\n * @name startOfDay\n * @category Day Helpers\n * @summary Return the start of a day for the given date.\n *\n * @description\n * Return the start of a day for the given date.\n * The result will be in the local timezone.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the start of a day\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The start of a day for 2 September 2014 11:55:00:\n * var result = startOfDay(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Tue Sep 02 2014 00:00:00\n */\n\nfunction startOfDay(dirtyDate) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n var date = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate);\n date.setHours(0, 0, 0, 0);\n return date;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL3N0YXJ0T2ZEYXkvaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL3N0YXJ0T2ZEYXkvaW5kZXguanM/MzM3ZSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdG9EYXRlIGZyb20gJy4uL3RvRGF0ZS9pbmRleC5qcyc7XG4vKipcbiAqIEBuYW1lIHN0YXJ0T2ZEYXlcbiAqIEBjYXRlZ29yeSBEYXkgSGVscGVyc1xuICogQHN1bW1hcnkgUmV0dXJuIHRoZSBzdGFydCBvZiBhIGRheSBmb3IgdGhlIGdpdmVuIGRhdGUuXG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKiBSZXR1cm4gdGhlIHN0YXJ0IG9mIGEgZGF5IGZvciB0aGUgZ2l2ZW4gZGF0ZS5cbiAqIFRoZSByZXN1bHQgd2lsbCBiZSBpbiB0aGUgbG9jYWwgdGltZXpvbmUuXG4gKlxuICogIyMjIHYyLjAuMCBicmVha2luZyBjaGFuZ2VzOlxuICpcbiAqIC0gW0NoYW5nZXMgdGhhdCBhcmUgY29tbW9uIGZvciB0aGUgd2hvbGUgbGlicmFyeV0oaHR0cHM6Ly9naXRodWIuY29tL2RhdGUtZm5zL2RhdGUtZm5zL2Jsb2IvbWFzdGVyL2RvY3MvdXBncmFkZUd1aWRlLm1kI0NvbW1vbi1DaGFuZ2VzKS5cbiAqXG4gKiBAcGFyYW0ge0RhdGV8TnVtYmVyfSBkYXRlIC0gdGhlIG9yaWdpbmFsIGRhdGVcbiAqIEByZXR1cm5zIHtEYXRlfSB0aGUgc3RhcnQgb2YgYSBkYXlcbiAqIEB0aHJvd3Mge1R5cGVFcnJvcn0gMSBhcmd1bWVudCByZXF1aXJlZFxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBUaGUgc3RhcnQgb2YgYSBkYXkgZm9yIDIgU2VwdGVtYmVyIDIwMTQgMTE6NTU6MDA6XG4gKiB2YXIgcmVzdWx0ID0gc3RhcnRPZkRheShuZXcgRGF0ZSgyMDE0LCA4LCAyLCAxMSwgNTUsIDApKVxuICogLy89PiBUdWUgU2VwIDAyIDIwMTQgMDA6MDA6MDBcbiAqL1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBzdGFydE9mRGF5KGRpcnR5RGF0ZSkge1xuICBpZiAoYXJndW1lbnRzLmxlbmd0aCA8IDEpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCcxIGFyZ3VtZW50IHJlcXVpcmVkLCBidXQgb25seSAnICsgYXJndW1lbnRzLmxlbmd0aCArICcgcHJlc2VudCcpO1xuICB9XG5cbiAgdmFyIGRhdGUgPSB0b0RhdGUoZGlydHlEYXRlKTtcbiAgZGF0ZS5zZXRIb3VycygwLCAwLCAwLCAwKTtcbiAgcmV0dXJuIGRhdGU7XG59Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/startOfDay/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/startOfDecade/index.js": /*!**********************************************************!*\ !*** ./node_modules/date-fns/esm/startOfDecade/index.js ***! \**********************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return startOfDecade; });\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n\n/**\n * @name startOfDecade\n * @category Decade Helpers\n * @summary Return the start of a decade for the given date.\n *\n * @description\n * Return the start of a decade for the given date.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the start of a decade\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The start of a decade for 21 October 2015 00:00:00:\n * var result = startOfDecade(new Date(2015, 9, 21, 00, 00, 00))\n * //=> Jan 01 2010 00:00:00\n */\n\nfunction startOfDecade(dirtyDate) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n var date = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate);\n var year = date.getFullYear();\n var decade = Math.floor(year / 10) * 10;\n date.setFullYear(decade, 0, 1);\n date.setHours(0, 0, 0, 0);\n return date;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL3N0YXJ0T2ZEZWNhZGUvaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL3N0YXJ0T2ZEZWNhZGUvaW5kZXguanM/ZWIwMyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdG9EYXRlIGZyb20gJy4uL3RvRGF0ZS9pbmRleC5qcyc7XG4vKipcbiAqIEBuYW1lIHN0YXJ0T2ZEZWNhZGVcbiAqIEBjYXRlZ29yeSBEZWNhZGUgSGVscGVyc1xuICogQHN1bW1hcnkgUmV0dXJuIHRoZSBzdGFydCBvZiBhIGRlY2FkZSBmb3IgdGhlIGdpdmVuIGRhdGUuXG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKiBSZXR1cm4gdGhlIHN0YXJ0IG9mIGEgZGVjYWRlIGZvciB0aGUgZ2l2ZW4gZGF0ZS5cbiAqXG4gKiAjIyMgdjIuMC4wIGJyZWFraW5nIGNoYW5nZXM6XG4gKlxuICogLSBbQ2hhbmdlcyB0aGF0IGFyZSBjb21tb24gZm9yIHRoZSB3aG9sZSBsaWJyYXJ5XShodHRwczovL2dpdGh1Yi5jb20vZGF0ZS1mbnMvZGF0ZS1mbnMvYmxvYi9tYXN0ZXIvZG9jcy91cGdyYWRlR3VpZGUubWQjQ29tbW9uLUNoYW5nZXMpLlxuICpcbiAqIEBwYXJhbSB7RGF0ZXxOdW1iZXJ9IGRhdGUgLSB0aGUgb3JpZ2luYWwgZGF0ZVxuICogQHJldHVybnMge0RhdGV9IHRoZSBzdGFydCBvZiBhIGRlY2FkZVxuICogQHRocm93cyB7VHlwZUVycm9yfSAxIGFyZ3VtZW50IHJlcXVpcmVkXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIFRoZSBzdGFydCBvZiBhIGRlY2FkZSBmb3IgMjEgT2N0b2JlciAyMDE1IDAwOjAwOjAwOlxuICogdmFyIHJlc3VsdCA9IHN0YXJ0T2ZEZWNhZGUobmV3IERhdGUoMjAxNSwgOSwgMjEsIDAwLCAwMCwgMDApKVxuICogLy89PiBKYW4gMDEgMjAxMCAwMDowMDowMFxuICovXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHN0YXJ0T2ZEZWNhZGUoZGlydHlEYXRlKSB7XG4gIGlmIChhcmd1bWVudHMubGVuZ3RoIDwgMSkge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJzEgYXJndW1lbnQgcmVxdWlyZWQsIGJ1dCBvbmx5ICcgKyBhcmd1bWVudHMubGVuZ3RoICsgJyBwcmVzZW50Jyk7XG4gIH1cblxuICB2YXIgZGF0ZSA9IHRvRGF0ZShkaXJ0eURhdGUpO1xuICB2YXIgeWVhciA9IGRhdGUuZ2V0RnVsbFllYXIoKTtcbiAgdmFyIGRlY2FkZSA9IE1hdGguZmxvb3IoeWVhciAvIDEwKSAqIDEwO1xuICBkYXRlLnNldEZ1bGxZZWFyKGRlY2FkZSwgMCwgMSk7XG4gIGRhdGUuc2V0SG91cnMoMCwgMCwgMCwgMCk7XG4gIHJldHVybiBkYXRlO1xufSJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/startOfDecade/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/startOfHour/index.js": /*!********************************************************!*\ !*** ./node_modules/date-fns/esm/startOfHour/index.js ***! \********************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return startOfHour; });\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n\n/**\n * @name startOfHour\n * @category Hour Helpers\n * @summary Return the start of an hour for the given date.\n *\n * @description\n * Return the start of an hour for the given date.\n * The result will be in the local timezone.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the start of an hour\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The start of an hour for 2 September 2014 11:55:00:\n * var result = startOfHour(new Date(2014, 8, 2, 11, 55))\n * //=> Tue Sep 02 2014 11:00:00\n */\n\nfunction startOfHour(dirtyDate) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n var date = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate);\n date.setMinutes(0, 0, 0);\n return date;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL3N0YXJ0T2ZIb3VyL2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2VzbS9zdGFydE9mSG91ci9pbmRleC5qcz8wYjFiIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0b0RhdGUgZnJvbSAnLi4vdG9EYXRlL2luZGV4LmpzJztcbi8qKlxuICogQG5hbWUgc3RhcnRPZkhvdXJcbiAqIEBjYXRlZ29yeSBIb3VyIEhlbHBlcnNcbiAqIEBzdW1tYXJ5IFJldHVybiB0aGUgc3RhcnQgb2YgYW4gaG91ciBmb3IgdGhlIGdpdmVuIGRhdGUuXG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKiBSZXR1cm4gdGhlIHN0YXJ0IG9mIGFuIGhvdXIgZm9yIHRoZSBnaXZlbiBkYXRlLlxuICogVGhlIHJlc3VsdCB3aWxsIGJlIGluIHRoZSBsb2NhbCB0aW1lem9uZS5cbiAqXG4gKiAjIyMgdjIuMC4wIGJyZWFraW5nIGNoYW5nZXM6XG4gKlxuICogLSBbQ2hhbmdlcyB0aGF0IGFyZSBjb21tb24gZm9yIHRoZSB3aG9sZSBsaWJyYXJ5XShodHRwczovL2dpdGh1Yi5jb20vZGF0ZS1mbnMvZGF0ZS1mbnMvYmxvYi9tYXN0ZXIvZG9jcy91cGdyYWRlR3VpZGUubWQjQ29tbW9uLUNoYW5nZXMpLlxuICpcbiAqIEBwYXJhbSB7RGF0ZXxOdW1iZXJ9IGRhdGUgLSB0aGUgb3JpZ2luYWwgZGF0ZVxuICogQHJldHVybnMge0RhdGV9IHRoZSBzdGFydCBvZiBhbiBob3VyXG4gKiBAdGhyb3dzIHtUeXBlRXJyb3J9IDEgYXJndW1lbnQgcmVxdWlyZWRcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gVGhlIHN0YXJ0IG9mIGFuIGhvdXIgZm9yIDIgU2VwdGVtYmVyIDIwMTQgMTE6NTU6MDA6XG4gKiB2YXIgcmVzdWx0ID0gc3RhcnRPZkhvdXIobmV3IERhdGUoMjAxNCwgOCwgMiwgMTEsIDU1KSlcbiAqIC8vPT4gVHVlIFNlcCAwMiAyMDE0IDExOjAwOjAwXG4gKi9cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gc3RhcnRPZkhvdXIoZGlydHlEYXRlKSB7XG4gIGlmIChhcmd1bWVudHMubGVuZ3RoIDwgMSkge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJzEgYXJndW1lbnQgcmVxdWlyZWQsIGJ1dCBvbmx5ICcgKyBhcmd1bWVudHMubGVuZ3RoICsgJyBwcmVzZW50Jyk7XG4gIH1cblxuICB2YXIgZGF0ZSA9IHRvRGF0ZShkaXJ0eURhdGUpO1xuICBkYXRlLnNldE1pbnV0ZXMoMCwgMCwgMCk7XG4gIHJldHVybiBkYXRlO1xufSJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/startOfHour/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/startOfISOWeek/index.js": /*!***********************************************************!*\ !*** ./node_modules/date-fns/esm/startOfISOWeek/index.js ***! \***********************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return startOfISOWeek; });\n/* harmony import */ var _startOfWeek_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../startOfWeek/index.js */ \"./node_modules/date-fns/esm/startOfWeek/index.js\");\n\n/**\n * @name startOfISOWeek\n * @category ISO Week Helpers\n * @summary Return the start of an ISO week for the given date.\n *\n * @description\n * Return the start of an ISO week for the given date.\n * The result will be in the local timezone.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the start of an ISO week\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The start of an ISO week for 2 September 2014 11:55:00:\n * var result = startOfISOWeek(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Mon Sep 01 2014 00:00:00\n */\n\nfunction startOfISOWeek(dirtyDate) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n return Object(_startOfWeek_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate, {\n weekStartsOn: 1\n });\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL3N0YXJ0T2ZJU09XZWVrL2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2VzbS9zdGFydE9mSVNPV2Vlay9pbmRleC5qcz9kNWQ5Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdGFydE9mV2VlayBmcm9tICcuLi9zdGFydE9mV2Vlay9pbmRleC5qcyc7XG4vKipcbiAqIEBuYW1lIHN0YXJ0T2ZJU09XZWVrXG4gKiBAY2F0ZWdvcnkgSVNPIFdlZWsgSGVscGVyc1xuICogQHN1bW1hcnkgUmV0dXJuIHRoZSBzdGFydCBvZiBhbiBJU08gd2VlayBmb3IgdGhlIGdpdmVuIGRhdGUuXG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKiBSZXR1cm4gdGhlIHN0YXJ0IG9mIGFuIElTTyB3ZWVrIGZvciB0aGUgZ2l2ZW4gZGF0ZS5cbiAqIFRoZSByZXN1bHQgd2lsbCBiZSBpbiB0aGUgbG9jYWwgdGltZXpvbmUuXG4gKlxuICogSVNPIHdlZWstbnVtYmVyaW5nIHllYXI6IGh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvSVNPX3dlZWtfZGF0ZVxuICpcbiAqICMjIyB2Mi4wLjAgYnJlYWtpbmcgY2hhbmdlczpcbiAqXG4gKiAtIFtDaGFuZ2VzIHRoYXQgYXJlIGNvbW1vbiBmb3IgdGhlIHdob2xlIGxpYnJhcnldKGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRlLWZucy9kYXRlLWZucy9ibG9iL21hc3Rlci9kb2NzL3VwZ3JhZGVHdWlkZS5tZCNDb21tb24tQ2hhbmdlcykuXG4gKlxuICogQHBhcmFtIHtEYXRlfE51bWJlcn0gZGF0ZSAtIHRoZSBvcmlnaW5hbCBkYXRlXG4gKiBAcmV0dXJucyB7RGF0ZX0gdGhlIHN0YXJ0IG9mIGFuIElTTyB3ZWVrXG4gKiBAdGhyb3dzIHtUeXBlRXJyb3J9IDEgYXJndW1lbnQgcmVxdWlyZWRcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gVGhlIHN0YXJ0IG9mIGFuIElTTyB3ZWVrIGZvciAyIFNlcHRlbWJlciAyMDE0IDExOjU1OjAwOlxuICogdmFyIHJlc3VsdCA9IHN0YXJ0T2ZJU09XZWVrKG5ldyBEYXRlKDIwMTQsIDgsIDIsIDExLCA1NSwgMCkpXG4gKiAvLz0+IE1vbiBTZXAgMDEgMjAxNCAwMDowMDowMFxuICovXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHN0YXJ0T2ZJU09XZWVrKGRpcnR5RGF0ZSkge1xuICBpZiAoYXJndW1lbnRzLmxlbmd0aCA8IDEpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCcxIGFyZ3VtZW50IHJlcXVpcmVkLCBidXQgb25seSAnICsgYXJndW1lbnRzLmxlbmd0aCArICcgcHJlc2VudCcpO1xuICB9XG5cbiAgcmV0dXJuIHN0YXJ0T2ZXZWVrKGRpcnR5RGF0ZSwge1xuICAgIHdlZWtTdGFydHNPbjogMVxuICB9KTtcbn0iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/startOfISOWeek/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/startOfISOWeekYear/index.js": /*!***************************************************************!*\ !*** ./node_modules/date-fns/esm/startOfISOWeekYear/index.js ***! \***************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return startOfISOWeekYear; });\n/* harmony import */ var _getISOWeekYear_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../getISOWeekYear/index.js */ \"./node_modules/date-fns/esm/getISOWeekYear/index.js\");\n/* harmony import */ var _startOfISOWeek_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../startOfISOWeek/index.js */ \"./node_modules/date-fns/esm/startOfISOWeek/index.js\");\n\n\n/**\n * @name startOfISOWeekYear\n * @category ISO Week-Numbering Year Helpers\n * @summary Return the start of an ISO week-numbering year for the given date.\n *\n * @description\n * Return the start of an ISO week-numbering year,\n * which always starts 3 days before the year's first Thursday.\n * The result will be in the local timezone.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the start of an ISO week-numbering year\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The start of an ISO week-numbering year for 2 July 2005:\n * var result = startOfISOWeekYear(new Date(2005, 6, 2))\n * //=> Mon Jan 03 2005 00:00:00\n */\n\nfunction startOfISOWeekYear(dirtyDate) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n var year = Object(_getISOWeekYear_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate);\n var fourthOfJanuary = new Date(0);\n fourthOfJanuary.setFullYear(year, 0, 4);\n fourthOfJanuary.setHours(0, 0, 0, 0);\n var date = Object(_startOfISOWeek_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(fourthOfJanuary);\n return date;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL3N0YXJ0T2ZJU09XZWVrWWVhci9pbmRleC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9kYXRlLWZucy9lc20vc3RhcnRPZklTT1dlZWtZZWFyL2luZGV4LmpzP2QxZmUiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGdldElTT1dlZWtZZWFyIGZyb20gJy4uL2dldElTT1dlZWtZZWFyL2luZGV4LmpzJztcbmltcG9ydCBzdGFydE9mSVNPV2VlayBmcm9tICcuLi9zdGFydE9mSVNPV2Vlay9pbmRleC5qcyc7XG4vKipcbiAqIEBuYW1lIHN0YXJ0T2ZJU09XZWVrWWVhclxuICogQGNhdGVnb3J5IElTTyBXZWVrLU51bWJlcmluZyBZZWFyIEhlbHBlcnNcbiAqIEBzdW1tYXJ5IFJldHVybiB0aGUgc3RhcnQgb2YgYW4gSVNPIHdlZWstbnVtYmVyaW5nIHllYXIgZm9yIHRoZSBnaXZlbiBkYXRlLlxuICpcbiAqIEBkZXNjcmlwdGlvblxuICogUmV0dXJuIHRoZSBzdGFydCBvZiBhbiBJU08gd2Vlay1udW1iZXJpbmcgeWVhcixcbiAqIHdoaWNoIGFsd2F5cyBzdGFydHMgMyBkYXlzIGJlZm9yZSB0aGUgeWVhcidzIGZpcnN0IFRodXJzZGF5LlxuICogVGhlIHJlc3VsdCB3aWxsIGJlIGluIHRoZSBsb2NhbCB0aW1lem9uZS5cbiAqXG4gKiBJU08gd2Vlay1udW1iZXJpbmcgeWVhcjogaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9JU09fd2Vla19kYXRlXG4gKlxuICogIyMjIHYyLjAuMCBicmVha2luZyBjaGFuZ2VzOlxuICpcbiAqIC0gW0NoYW5nZXMgdGhhdCBhcmUgY29tbW9uIGZvciB0aGUgd2hvbGUgbGlicmFyeV0oaHR0cHM6Ly9naXRodWIuY29tL2RhdGUtZm5zL2RhdGUtZm5zL2Jsb2IvbWFzdGVyL2RvY3MvdXBncmFkZUd1aWRlLm1kI0NvbW1vbi1DaGFuZ2VzKS5cbiAqXG4gKiBAcGFyYW0ge0RhdGV8TnVtYmVyfSBkYXRlIC0gdGhlIG9yaWdpbmFsIGRhdGVcbiAqIEByZXR1cm5zIHtEYXRlfSB0aGUgc3RhcnQgb2YgYW4gSVNPIHdlZWstbnVtYmVyaW5nIHllYXJcbiAqIEB0aHJvd3Mge1R5cGVFcnJvcn0gMSBhcmd1bWVudCByZXF1aXJlZFxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBUaGUgc3RhcnQgb2YgYW4gSVNPIHdlZWstbnVtYmVyaW5nIHllYXIgZm9yIDIgSnVseSAyMDA1OlxuICogdmFyIHJlc3VsdCA9IHN0YXJ0T2ZJU09XZWVrWWVhcihuZXcgRGF0ZSgyMDA1LCA2LCAyKSlcbiAqIC8vPT4gTW9uIEphbiAwMyAyMDA1IDAwOjAwOjAwXG4gKi9cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gc3RhcnRPZklTT1dlZWtZZWFyKGRpcnR5RGF0ZSkge1xuICBpZiAoYXJndW1lbnRzLmxlbmd0aCA8IDEpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCcxIGFyZ3VtZW50IHJlcXVpcmVkLCBidXQgb25seSAnICsgYXJndW1lbnRzLmxlbmd0aCArICcgcHJlc2VudCcpO1xuICB9XG5cbiAgdmFyIHllYXIgPSBnZXRJU09XZWVrWWVhcihkaXJ0eURhdGUpO1xuICB2YXIgZm91cnRoT2ZKYW51YXJ5ID0gbmV3IERhdGUoMCk7XG4gIGZvdXJ0aE9mSmFudWFyeS5zZXRGdWxsWWVhcih5ZWFyLCAwLCA0KTtcbiAgZm91cnRoT2ZKYW51YXJ5LnNldEhvdXJzKDAsIDAsIDAsIDApO1xuICB2YXIgZGF0ZSA9IHN0YXJ0T2ZJU09XZWVrKGZvdXJ0aE9mSmFudWFyeSk7XG4gIHJldHVybiBkYXRlO1xufSJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/startOfISOWeekYear/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/startOfMinute/index.js": /*!**********************************************************!*\ !*** ./node_modules/date-fns/esm/startOfMinute/index.js ***! \**********************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return startOfMinute; });\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n\n/**\n * @name startOfMinute\n * @category Minute Helpers\n * @summary Return the start of a minute for the given date.\n *\n * @description\n * Return the start of a minute for the given date.\n * The result will be in the local timezone.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the start of a minute\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The start of a minute for 1 December 2014 22:15:45.400:\n * var result = startOfMinute(new Date(2014, 11, 1, 22, 15, 45, 400))\n * //=> Mon Dec 01 2014 22:15:00\n */\n\nfunction startOfMinute(dirtyDate) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n var date = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate);\n date.setSeconds(0, 0);\n return date;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL3N0YXJ0T2ZNaW51dGUvaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL3N0YXJ0T2ZNaW51dGUvaW5kZXguanM/ZDBiMyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdG9EYXRlIGZyb20gJy4uL3RvRGF0ZS9pbmRleC5qcyc7XG4vKipcbiAqIEBuYW1lIHN0YXJ0T2ZNaW51dGVcbiAqIEBjYXRlZ29yeSBNaW51dGUgSGVscGVyc1xuICogQHN1bW1hcnkgUmV0dXJuIHRoZSBzdGFydCBvZiBhIG1pbnV0ZSBmb3IgdGhlIGdpdmVuIGRhdGUuXG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKiBSZXR1cm4gdGhlIHN0YXJ0IG9mIGEgbWludXRlIGZvciB0aGUgZ2l2ZW4gZGF0ZS5cbiAqIFRoZSByZXN1bHQgd2lsbCBiZSBpbiB0aGUgbG9jYWwgdGltZXpvbmUuXG4gKlxuICogIyMjIHYyLjAuMCBicmVha2luZyBjaGFuZ2VzOlxuICpcbiAqIC0gW0NoYW5nZXMgdGhhdCBhcmUgY29tbW9uIGZvciB0aGUgd2hvbGUgbGlicmFyeV0oaHR0cHM6Ly9naXRodWIuY29tL2RhdGUtZm5zL2RhdGUtZm5zL2Jsb2IvbWFzdGVyL2RvY3MvdXBncmFkZUd1aWRlLm1kI0NvbW1vbi1DaGFuZ2VzKS5cbiAqXG4gKiBAcGFyYW0ge0RhdGV8TnVtYmVyfSBkYXRlIC0gdGhlIG9yaWdpbmFsIGRhdGVcbiAqIEByZXR1cm5zIHtEYXRlfSB0aGUgc3RhcnQgb2YgYSBtaW51dGVcbiAqIEB0aHJvd3Mge1R5cGVFcnJvcn0gMSBhcmd1bWVudCByZXF1aXJlZFxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBUaGUgc3RhcnQgb2YgYSBtaW51dGUgZm9yIDEgRGVjZW1iZXIgMjAxNCAyMjoxNTo0NS40MDA6XG4gKiB2YXIgcmVzdWx0ID0gc3RhcnRPZk1pbnV0ZShuZXcgRGF0ZSgyMDE0LCAxMSwgMSwgMjIsIDE1LCA0NSwgNDAwKSlcbiAqIC8vPT4gTW9uIERlYyAwMSAyMDE0IDIyOjE1OjAwXG4gKi9cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gc3RhcnRPZk1pbnV0ZShkaXJ0eURhdGUpIHtcbiAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPCAxKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignMSBhcmd1bWVudCByZXF1aXJlZCwgYnV0IG9ubHkgJyArIGFyZ3VtZW50cy5sZW5ndGggKyAnIHByZXNlbnQnKTtcbiAgfVxuXG4gIHZhciBkYXRlID0gdG9EYXRlKGRpcnR5RGF0ZSk7XG4gIGRhdGUuc2V0U2Vjb25kcygwLCAwKTtcbiAgcmV0dXJuIGRhdGU7XG59Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/startOfMinute/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/startOfMonth/index.js": /*!*********************************************************!*\ !*** ./node_modules/date-fns/esm/startOfMonth/index.js ***! \*********************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return startOfMonth; });\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n\n/**\n * @name startOfMonth\n * @category Month Helpers\n * @summary Return the start of a month for the given date.\n *\n * @description\n * Return the start of a month for the given date.\n * The result will be in the local timezone.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the start of a month\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The start of a month for 2 September 2014 11:55:00:\n * var result = startOfMonth(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Mon Sep 01 2014 00:00:00\n */\n\nfunction startOfMonth(dirtyDate) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n var date = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate);\n date.setDate(1);\n date.setHours(0, 0, 0, 0);\n return date;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL3N0YXJ0T2ZNb250aC9pbmRleC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9kYXRlLWZucy9lc20vc3RhcnRPZk1vbnRoL2luZGV4LmpzP2Y2MjgiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHRvRGF0ZSBmcm9tICcuLi90b0RhdGUvaW5kZXguanMnO1xuLyoqXG4gKiBAbmFtZSBzdGFydE9mTW9udGhcbiAqIEBjYXRlZ29yeSBNb250aCBIZWxwZXJzXG4gKiBAc3VtbWFyeSBSZXR1cm4gdGhlIHN0YXJ0IG9mIGEgbW9udGggZm9yIHRoZSBnaXZlbiBkYXRlLlxuICpcbiAqIEBkZXNjcmlwdGlvblxuICogUmV0dXJuIHRoZSBzdGFydCBvZiBhIG1vbnRoIGZvciB0aGUgZ2l2ZW4gZGF0ZS5cbiAqIFRoZSByZXN1bHQgd2lsbCBiZSBpbiB0aGUgbG9jYWwgdGltZXpvbmUuXG4gKlxuICogIyMjIHYyLjAuMCBicmVha2luZyBjaGFuZ2VzOlxuICpcbiAqIC0gW0NoYW5nZXMgdGhhdCBhcmUgY29tbW9uIGZvciB0aGUgd2hvbGUgbGlicmFyeV0oaHR0cHM6Ly9naXRodWIuY29tL2RhdGUtZm5zL2RhdGUtZm5zL2Jsb2IvbWFzdGVyL2RvY3MvdXBncmFkZUd1aWRlLm1kI0NvbW1vbi1DaGFuZ2VzKS5cbiAqXG4gKiBAcGFyYW0ge0RhdGV8TnVtYmVyfSBkYXRlIC0gdGhlIG9yaWdpbmFsIGRhdGVcbiAqIEByZXR1cm5zIHtEYXRlfSB0aGUgc3RhcnQgb2YgYSBtb250aFxuICogQHRocm93cyB7VHlwZUVycm9yfSAxIGFyZ3VtZW50IHJlcXVpcmVkXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIFRoZSBzdGFydCBvZiBhIG1vbnRoIGZvciAyIFNlcHRlbWJlciAyMDE0IDExOjU1OjAwOlxuICogdmFyIHJlc3VsdCA9IHN0YXJ0T2ZNb250aChuZXcgRGF0ZSgyMDE0LCA4LCAyLCAxMSwgNTUsIDApKVxuICogLy89PiBNb24gU2VwIDAxIDIwMTQgMDA6MDA6MDBcbiAqL1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBzdGFydE9mTW9udGgoZGlydHlEYXRlKSB7XG4gIGlmIChhcmd1bWVudHMubGVuZ3RoIDwgMSkge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJzEgYXJndW1lbnQgcmVxdWlyZWQsIGJ1dCBvbmx5ICcgKyBhcmd1bWVudHMubGVuZ3RoICsgJyBwcmVzZW50Jyk7XG4gIH1cblxuICB2YXIgZGF0ZSA9IHRvRGF0ZShkaXJ0eURhdGUpO1xuICBkYXRlLnNldERhdGUoMSk7XG4gIGRhdGUuc2V0SG91cnMoMCwgMCwgMCwgMCk7XG4gIHJldHVybiBkYXRlO1xufSJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/startOfMonth/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/startOfQuarter/index.js": /*!***********************************************************!*\ !*** ./node_modules/date-fns/esm/startOfQuarter/index.js ***! \***********************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return startOfQuarter; });\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n\n/**\n * @name startOfQuarter\n * @category Quarter Helpers\n * @summary Return the start of a year quarter for the given date.\n *\n * @description\n * Return the start of a year quarter for the given date.\n * The result will be in the local timezone.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the start of a quarter\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The start of a quarter for 2 September 2014 11:55:00:\n * var result = startOfQuarter(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Tue Jul 01 2014 00:00:00\n */\n\nfunction startOfQuarter(dirtyDate) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n var date = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate);\n var currentMonth = date.getMonth();\n var month = currentMonth - currentMonth % 3;\n date.setMonth(month, 1);\n date.setHours(0, 0, 0, 0);\n return date;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL3N0YXJ0T2ZRdWFydGVyL2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2VzbS9zdGFydE9mUXVhcnRlci9pbmRleC5qcz9iYzcwIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0b0RhdGUgZnJvbSAnLi4vdG9EYXRlL2luZGV4LmpzJztcbi8qKlxuICogQG5hbWUgc3RhcnRPZlF1YXJ0ZXJcbiAqIEBjYXRlZ29yeSBRdWFydGVyIEhlbHBlcnNcbiAqIEBzdW1tYXJ5IFJldHVybiB0aGUgc3RhcnQgb2YgYSB5ZWFyIHF1YXJ0ZXIgZm9yIHRoZSBnaXZlbiBkYXRlLlxuICpcbiAqIEBkZXNjcmlwdGlvblxuICogUmV0dXJuIHRoZSBzdGFydCBvZiBhIHllYXIgcXVhcnRlciBmb3IgdGhlIGdpdmVuIGRhdGUuXG4gKiBUaGUgcmVzdWx0IHdpbGwgYmUgaW4gdGhlIGxvY2FsIHRpbWV6b25lLlxuICpcbiAqICMjIyB2Mi4wLjAgYnJlYWtpbmcgY2hhbmdlczpcbiAqXG4gKiAtIFtDaGFuZ2VzIHRoYXQgYXJlIGNvbW1vbiBmb3IgdGhlIHdob2xlIGxpYnJhcnldKGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRlLWZucy9kYXRlLWZucy9ibG9iL21hc3Rlci9kb2NzL3VwZ3JhZGVHdWlkZS5tZCNDb21tb24tQ2hhbmdlcykuXG4gKlxuICogQHBhcmFtIHtEYXRlfE51bWJlcn0gZGF0ZSAtIHRoZSBvcmlnaW5hbCBkYXRlXG4gKiBAcmV0dXJucyB7RGF0ZX0gdGhlIHN0YXJ0IG9mIGEgcXVhcnRlclxuICogQHRocm93cyB7VHlwZUVycm9yfSAxIGFyZ3VtZW50IHJlcXVpcmVkXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIFRoZSBzdGFydCBvZiBhIHF1YXJ0ZXIgZm9yIDIgU2VwdGVtYmVyIDIwMTQgMTE6NTU6MDA6XG4gKiB2YXIgcmVzdWx0ID0gc3RhcnRPZlF1YXJ0ZXIobmV3IERhdGUoMjAxNCwgOCwgMiwgMTEsIDU1LCAwKSlcbiAqIC8vPT4gVHVlIEp1bCAwMSAyMDE0IDAwOjAwOjAwXG4gKi9cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gc3RhcnRPZlF1YXJ0ZXIoZGlydHlEYXRlKSB7XG4gIGlmIChhcmd1bWVudHMubGVuZ3RoIDwgMSkge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJzEgYXJndW1lbnQgcmVxdWlyZWQsIGJ1dCBvbmx5ICcgKyBhcmd1bWVudHMubGVuZ3RoICsgJyBwcmVzZW50Jyk7XG4gIH1cblxuICB2YXIgZGF0ZSA9IHRvRGF0ZShkaXJ0eURhdGUpO1xuICB2YXIgY3VycmVudE1vbnRoID0gZGF0ZS5nZXRNb250aCgpO1xuICB2YXIgbW9udGggPSBjdXJyZW50TW9udGggLSBjdXJyZW50TW9udGggJSAzO1xuICBkYXRlLnNldE1vbnRoKG1vbnRoLCAxKTtcbiAgZGF0ZS5zZXRIb3VycygwLCAwLCAwLCAwKTtcbiAgcmV0dXJuIGRhdGU7XG59Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/startOfQuarter/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/startOfSecond/index.js": /*!**********************************************************!*\ !*** ./node_modules/date-fns/esm/startOfSecond/index.js ***! \**********************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return startOfSecond; });\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n\n/**\n * @name startOfSecond\n * @category Second Helpers\n * @summary Return the start of a second for the given date.\n *\n * @description\n * Return the start of a second for the given date.\n * The result will be in the local timezone.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the start of a second\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The start of a second for 1 December 2014 22:15:45.400:\n * var result = startOfSecond(new Date(2014, 11, 1, 22, 15, 45, 400))\n * //=> Mon Dec 01 2014 22:15:45.000\n */\n\nfunction startOfSecond(dirtyDate) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n var date = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate);\n date.setMilliseconds(0);\n return date;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL3N0YXJ0T2ZTZWNvbmQvaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL3N0YXJ0T2ZTZWNvbmQvaW5kZXguanM/NTg5MyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdG9EYXRlIGZyb20gJy4uL3RvRGF0ZS9pbmRleC5qcyc7XG4vKipcbiAqIEBuYW1lIHN0YXJ0T2ZTZWNvbmRcbiAqIEBjYXRlZ29yeSBTZWNvbmQgSGVscGVyc1xuICogQHN1bW1hcnkgUmV0dXJuIHRoZSBzdGFydCBvZiBhIHNlY29uZCBmb3IgdGhlIGdpdmVuIGRhdGUuXG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKiBSZXR1cm4gdGhlIHN0YXJ0IG9mIGEgc2Vjb25kIGZvciB0aGUgZ2l2ZW4gZGF0ZS5cbiAqIFRoZSByZXN1bHQgd2lsbCBiZSBpbiB0aGUgbG9jYWwgdGltZXpvbmUuXG4gKlxuICogIyMjIHYyLjAuMCBicmVha2luZyBjaGFuZ2VzOlxuICpcbiAqIC0gW0NoYW5nZXMgdGhhdCBhcmUgY29tbW9uIGZvciB0aGUgd2hvbGUgbGlicmFyeV0oaHR0cHM6Ly9naXRodWIuY29tL2RhdGUtZm5zL2RhdGUtZm5zL2Jsb2IvbWFzdGVyL2RvY3MvdXBncmFkZUd1aWRlLm1kI0NvbW1vbi1DaGFuZ2VzKS5cbiAqXG4gKiBAcGFyYW0ge0RhdGV8TnVtYmVyfSBkYXRlIC0gdGhlIG9yaWdpbmFsIGRhdGVcbiAqIEByZXR1cm5zIHtEYXRlfSB0aGUgc3RhcnQgb2YgYSBzZWNvbmRcbiAqIEB0aHJvd3Mge1R5cGVFcnJvcn0gMSBhcmd1bWVudCByZXF1aXJlZFxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBUaGUgc3RhcnQgb2YgYSBzZWNvbmQgZm9yIDEgRGVjZW1iZXIgMjAxNCAyMjoxNTo0NS40MDA6XG4gKiB2YXIgcmVzdWx0ID0gc3RhcnRPZlNlY29uZChuZXcgRGF0ZSgyMDE0LCAxMSwgMSwgMjIsIDE1LCA0NSwgNDAwKSlcbiAqIC8vPT4gTW9uIERlYyAwMSAyMDE0IDIyOjE1OjQ1LjAwMFxuICovXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHN0YXJ0T2ZTZWNvbmQoZGlydHlEYXRlKSB7XG4gIGlmIChhcmd1bWVudHMubGVuZ3RoIDwgMSkge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJzEgYXJndW1lbnQgcmVxdWlyZWQsIGJ1dCBvbmx5ICcgKyBhcmd1bWVudHMubGVuZ3RoICsgJyBwcmVzZW50Jyk7XG4gIH1cblxuICB2YXIgZGF0ZSA9IHRvRGF0ZShkaXJ0eURhdGUpO1xuICBkYXRlLnNldE1pbGxpc2Vjb25kcygwKTtcbiAgcmV0dXJuIGRhdGU7XG59Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/startOfSecond/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/startOfToday/index.js": /*!*********************************************************!*\ !*** ./node_modules/date-fns/esm/startOfToday/index.js ***! \*********************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return startOfToday; });\n/* harmony import */ var _startOfDay_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../startOfDay/index.js */ \"./node_modules/date-fns/esm/startOfDay/index.js\");\n\n/**\n * @name startOfToday\n * @category Day Helpers\n * @summary Return the start of today.\n * @pure false\n *\n * @description\n * Return the start of today.\n *\n * > ⚠️ Please note that this function is not present in the FP submodule as\n * > it uses `Date.now()` internally hence impure and can't be safely curried.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @returns {Date} the start of today\n *\n * @example\n * // If today is 6 October 2014:\n * var result = startOfToday()\n * //=> Mon Oct 6 2014 00:00:00\n */\n\nfunction startOfToday() {\n return Object(_startOfDay_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Date.now());\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL3N0YXJ0T2ZUb2RheS9pbmRleC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9kYXRlLWZucy9lc20vc3RhcnRPZlRvZGF5L2luZGV4LmpzP2QzZjgiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0YXJ0T2ZEYXkgZnJvbSAnLi4vc3RhcnRPZkRheS9pbmRleC5qcyc7XG4vKipcbiAqIEBuYW1lIHN0YXJ0T2ZUb2RheVxuICogQGNhdGVnb3J5IERheSBIZWxwZXJzXG4gKiBAc3VtbWFyeSBSZXR1cm4gdGhlIHN0YXJ0IG9mIHRvZGF5LlxuICogQHB1cmUgZmFsc2VcbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIFJldHVybiB0aGUgc3RhcnQgb2YgdG9kYXkuXG4gKlxuICogPiDimqDvuI8gUGxlYXNlIG5vdGUgdGhhdCB0aGlzIGZ1bmN0aW9uIGlzIG5vdCBwcmVzZW50IGluIHRoZSBGUCBzdWJtb2R1bGUgYXNcbiAqID4gaXQgdXNlcyBgRGF0ZS5ub3coKWAgaW50ZXJuYWxseSBoZW5jZSBpbXB1cmUgYW5kIGNhbid0IGJlIHNhZmVseSBjdXJyaWVkLlxuICpcbiAqICMjIyB2Mi4wLjAgYnJlYWtpbmcgY2hhbmdlczpcbiAqXG4gKiAtIFtDaGFuZ2VzIHRoYXQgYXJlIGNvbW1vbiBmb3IgdGhlIHdob2xlIGxpYnJhcnldKGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRlLWZucy9kYXRlLWZucy9ibG9iL21hc3Rlci9kb2NzL3VwZ3JhZGVHdWlkZS5tZCNDb21tb24tQ2hhbmdlcykuXG4gKlxuICogQHJldHVybnMge0RhdGV9IHRoZSBzdGFydCBvZiB0b2RheVxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBJZiB0b2RheSBpcyA2IE9jdG9iZXIgMjAxNDpcbiAqIHZhciByZXN1bHQgPSBzdGFydE9mVG9kYXkoKVxuICogLy89PiBNb24gT2N0IDYgMjAxNCAwMDowMDowMFxuICovXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHN0YXJ0T2ZUb2RheSgpIHtcbiAgcmV0dXJuIHN0YXJ0T2ZEYXkoRGF0ZS5ub3coKSk7XG59Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/startOfToday/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/startOfTomorrow/index.js": /*!************************************************************!*\ !*** ./node_modules/date-fns/esm/startOfTomorrow/index.js ***! \************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return startOfTomorrow; });\n/**\n * @name startOfTomorrow\n * @category Day Helpers\n * @summary Return the start of tomorrow.\n * @pure false\n *\n * @description\n * Return the start of tomorrow.\n *\n * > ⚠️ Please note that this function is not present in the FP submodule as\n * > it uses `Date.now()` internally hence impure and can't be safely curried.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @returns {Date} the start of tomorrow\n *\n * @example\n * // If today is 6 October 2014:\n * var result = startOfTomorrow()\n * //=> Tue Oct 7 2014 00:00:00\n */\nfunction startOfTomorrow() {\n var now = new Date();\n var year = now.getFullYear();\n var month = now.getMonth();\n var day = now.getDate();\n var date = new Date(0);\n date.setFullYear(year, month, day + 1);\n date.setHours(0, 0, 0, 0);\n return date;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL3N0YXJ0T2ZUb21vcnJvdy9pbmRleC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9kYXRlLWZucy9lc20vc3RhcnRPZlRvbW9ycm93L2luZGV4LmpzPzg5NmIiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbmFtZSBzdGFydE9mVG9tb3Jyb3dcbiAqIEBjYXRlZ29yeSBEYXkgSGVscGVyc1xuICogQHN1bW1hcnkgUmV0dXJuIHRoZSBzdGFydCBvZiB0b21vcnJvdy5cbiAqIEBwdXJlIGZhbHNlXG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKiBSZXR1cm4gdGhlIHN0YXJ0IG9mIHRvbW9ycm93LlxuICpcbiAqID4g4pqg77iPIFBsZWFzZSBub3RlIHRoYXQgdGhpcyBmdW5jdGlvbiBpcyBub3QgcHJlc2VudCBpbiB0aGUgRlAgc3VibW9kdWxlIGFzXG4gKiA+IGl0IHVzZXMgYERhdGUubm93KClgIGludGVybmFsbHkgaGVuY2UgaW1wdXJlIGFuZCBjYW4ndCBiZSBzYWZlbHkgY3VycmllZC5cbiAqXG4gKiAjIyMgdjIuMC4wIGJyZWFraW5nIGNoYW5nZXM6XG4gKlxuICogLSBbQ2hhbmdlcyB0aGF0IGFyZSBjb21tb24gZm9yIHRoZSB3aG9sZSBsaWJyYXJ5XShodHRwczovL2dpdGh1Yi5jb20vZGF0ZS1mbnMvZGF0ZS1mbnMvYmxvYi9tYXN0ZXIvZG9jcy91cGdyYWRlR3VpZGUubWQjQ29tbW9uLUNoYW5nZXMpLlxuICpcbiAqIEByZXR1cm5zIHtEYXRlfSB0aGUgc3RhcnQgb2YgdG9tb3Jyb3dcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gSWYgdG9kYXkgaXMgNiBPY3RvYmVyIDIwMTQ6XG4gKiB2YXIgcmVzdWx0ID0gc3RhcnRPZlRvbW9ycm93KClcbiAqIC8vPT4gVHVlIE9jdCA3IDIwMTQgMDA6MDA6MDBcbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gc3RhcnRPZlRvbW9ycm93KCkge1xuICB2YXIgbm93ID0gbmV3IERhdGUoKTtcbiAgdmFyIHllYXIgPSBub3cuZ2V0RnVsbFllYXIoKTtcbiAgdmFyIG1vbnRoID0gbm93LmdldE1vbnRoKCk7XG4gIHZhciBkYXkgPSBub3cuZ2V0RGF0ZSgpO1xuICB2YXIgZGF0ZSA9IG5ldyBEYXRlKDApO1xuICBkYXRlLnNldEZ1bGxZZWFyKHllYXIsIG1vbnRoLCBkYXkgKyAxKTtcbiAgZGF0ZS5zZXRIb3VycygwLCAwLCAwLCAwKTtcbiAgcmV0dXJuIGRhdGU7XG59Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/startOfTomorrow/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/startOfWeek/index.js": /*!********************************************************!*\ !*** ./node_modules/date-fns/esm/startOfWeek/index.js ***! \********************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return startOfWeek; });\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n/* harmony import */ var _lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../_lib/toInteger/index.js */ \"./node_modules/date-fns/esm/_lib/toInteger/index.js\");\n\n\n/**\n * @name startOfWeek\n * @category Week Helpers\n * @summary Return the start of a week for the given date.\n *\n * @description\n * Return the start of a week for the given date.\n * The result will be in the local timezone.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the original date\n * @param {Object} [options] - an object with options.\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\n * @returns {Date} the start of a week\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6\n *\n * @example\n * // The start of a week for 2 September 2014 11:55:00:\n * var result = startOfWeek(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Sun Aug 31 2014 00:00:00\n *\n * @example\n * // If the week starts on Monday, the start of the week for 2 September 2014 11:55:00:\n * var result = startOfWeek(new Date(2014, 8, 2, 11, 55, 0), { weekStartsOn: 1 })\n * //=> Mon Sep 01 2014 00:00:00\n */\n\nfunction startOfWeek(dirtyDate, dirtyOptions) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n var options = dirtyOptions || {};\n var locale = options.locale;\n var localeWeekStartsOn = locale && locale.options && locale.options.weekStartsOn;\n var defaultWeekStartsOn = localeWeekStartsOn == null ? 0 : Object(_lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(localeWeekStartsOn);\n var weekStartsOn = options.weekStartsOn == null ? defaultWeekStartsOn : Object(_lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(options.weekStartsOn); // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\n\n if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\n throw new RangeError('weekStartsOn must be between 0 and 6 inclusively');\n }\n\n var date = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate);\n var day = date.getDay();\n var diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;\n date.setDate(date.getDate() - diff);\n date.setHours(0, 0, 0, 0);\n return date;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL3N0YXJ0T2ZXZWVrL2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2VzbS9zdGFydE9mV2Vlay9pbmRleC5qcz82OWViIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0b0RhdGUgZnJvbSAnLi4vdG9EYXRlL2luZGV4LmpzJztcbmltcG9ydCB0b0ludGVnZXIgZnJvbSAnLi4vX2xpYi90b0ludGVnZXIvaW5kZXguanMnO1xuLyoqXG4gKiBAbmFtZSBzdGFydE9mV2Vla1xuICogQGNhdGVnb3J5IFdlZWsgSGVscGVyc1xuICogQHN1bW1hcnkgUmV0dXJuIHRoZSBzdGFydCBvZiBhIHdlZWsgZm9yIHRoZSBnaXZlbiBkYXRlLlxuICpcbiAqIEBkZXNjcmlwdGlvblxuICogUmV0dXJuIHRoZSBzdGFydCBvZiBhIHdlZWsgZm9yIHRoZSBnaXZlbiBkYXRlLlxuICogVGhlIHJlc3VsdCB3aWxsIGJlIGluIHRoZSBsb2NhbCB0aW1lem9uZS5cbiAqXG4gKiAjIyMgdjIuMC4wIGJyZWFraW5nIGNoYW5nZXM6XG4gKlxuICogLSBbQ2hhbmdlcyB0aGF0IGFyZSBjb21tb24gZm9yIHRoZSB3aG9sZSBsaWJyYXJ5XShodHRwczovL2dpdGh1Yi5jb20vZGF0ZS1mbnMvZGF0ZS1mbnMvYmxvYi9tYXN0ZXIvZG9jcy91cGdyYWRlR3VpZGUubWQjQ29tbW9uLUNoYW5nZXMpLlxuICpcbiAqIEBwYXJhbSB7RGF0ZXxOdW1iZXJ9IGRhdGUgLSB0aGUgb3JpZ2luYWwgZGF0ZVxuICogQHBhcmFtIHtPYmplY3R9IFtvcHRpb25zXSAtIGFuIG9iamVjdCB3aXRoIG9wdGlvbnMuXG4gKiBAcGFyYW0ge0xvY2FsZX0gW29wdGlvbnMubG9jYWxlPWRlZmF1bHRMb2NhbGVdIC0gdGhlIGxvY2FsZSBvYmplY3QuIFNlZSBbTG9jYWxlXXtAbGluayBodHRwczovL2RhdGUtZm5zLm9yZy9kb2NzL0xvY2FsZX1cbiAqIEBwYXJhbSB7MHwxfDJ8M3w0fDV8Nn0gW29wdGlvbnMud2Vla1N0YXJ0c09uPTBdIC0gdGhlIGluZGV4IG9mIHRoZSBmaXJzdCBkYXkgb2YgdGhlIHdlZWsgKDAgLSBTdW5kYXkpXG4gKiBAcmV0dXJucyB7RGF0ZX0gdGhlIHN0YXJ0IG9mIGEgd2Vla1xuICogQHRocm93cyB7VHlwZUVycm9yfSAxIGFyZ3VtZW50IHJlcXVpcmVkXG4gKiBAdGhyb3dzIHtSYW5nZUVycm9yfSBgb3B0aW9ucy53ZWVrU3RhcnRzT25gIG11c3QgYmUgYmV0d2VlbiAwIGFuZCA2XG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIFRoZSBzdGFydCBvZiBhIHdlZWsgZm9yIDIgU2VwdGVtYmVyIDIwMTQgMTE6NTU6MDA6XG4gKiB2YXIgcmVzdWx0ID0gc3RhcnRPZldlZWsobmV3IERhdGUoMjAxNCwgOCwgMiwgMTEsIDU1LCAwKSlcbiAqIC8vPT4gU3VuIEF1ZyAzMSAyMDE0IDAwOjAwOjAwXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIElmIHRoZSB3ZWVrIHN0YXJ0cyBvbiBNb25kYXksIHRoZSBzdGFydCBvZiB0aGUgd2VlayBmb3IgMiBTZXB0ZW1iZXIgMjAxNCAxMTo1NTowMDpcbiAqIHZhciByZXN1bHQgPSBzdGFydE9mV2VlayhuZXcgRGF0ZSgyMDE0LCA4LCAyLCAxMSwgNTUsIDApLCB7IHdlZWtTdGFydHNPbjogMSB9KVxuICogLy89PiBNb24gU2VwIDAxIDIwMTQgMDA6MDA6MDBcbiAqL1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBzdGFydE9mV2VlayhkaXJ0eURhdGUsIGRpcnR5T3B0aW9ucykge1xuICBpZiAoYXJndW1lbnRzLmxlbmd0aCA8IDEpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCcxIGFyZ3VtZW50IHJlcXVpcmVkLCBidXQgb25seSAnICsgYXJndW1lbnRzLmxlbmd0aCArICcgcHJlc2VudCcpO1xuICB9XG5cbiAgdmFyIG9wdGlvbnMgPSBkaXJ0eU9wdGlvbnMgfHwge307XG4gIHZhciBsb2NhbGUgPSBvcHRpb25zLmxvY2FsZTtcbiAgdmFyIGxvY2FsZVdlZWtTdGFydHNPbiA9IGxvY2FsZSAmJiBsb2NhbGUub3B0aW9ucyAmJiBsb2NhbGUub3B0aW9ucy53ZWVrU3RhcnRzT247XG4gIHZhciBkZWZhdWx0V2Vla1N0YXJ0c09uID0gbG9jYWxlV2Vla1N0YXJ0c09uID09IG51bGwgPyAwIDogdG9JbnRlZ2VyKGxvY2FsZVdlZWtTdGFydHNPbik7XG4gIHZhciB3ZWVrU3RhcnRzT24gPSBvcHRpb25zLndlZWtTdGFydHNPbiA9PSBudWxsID8gZGVmYXVsdFdlZWtTdGFydHNPbiA6IHRvSW50ZWdlcihvcHRpb25zLndlZWtTdGFydHNPbik7IC8vIFRlc3QgaWYgd2Vla1N0YXJ0c09uIGlzIGJldHdlZW4gMCBhbmQgNiBfYW5kXyBpcyBub3QgTmFOXG5cbiAgaWYgKCEod2Vla1N0YXJ0c09uID49IDAgJiYgd2Vla1N0YXJ0c09uIDw9IDYpKSB7XG4gICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ3dlZWtTdGFydHNPbiBtdXN0IGJlIGJldHdlZW4gMCBhbmQgNiBpbmNsdXNpdmVseScpO1xuICB9XG5cbiAgdmFyIGRhdGUgPSB0b0RhdGUoZGlydHlEYXRlKTtcbiAgdmFyIGRheSA9IGRhdGUuZ2V0RGF5KCk7XG4gIHZhciBkaWZmID0gKGRheSA8IHdlZWtTdGFydHNPbiA/IDcgOiAwKSArIGRheSAtIHdlZWtTdGFydHNPbjtcbiAgZGF0ZS5zZXREYXRlKGRhdGUuZ2V0RGF0ZSgpIC0gZGlmZik7XG4gIGRhdGUuc2V0SG91cnMoMCwgMCwgMCwgMCk7XG4gIHJldHVybiBkYXRlO1xufSJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/startOfWeek/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/startOfWeekYear/index.js": /*!************************************************************!*\ !*** ./node_modules/date-fns/esm/startOfWeekYear/index.js ***! \************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return startOfWeekYear; });\n/* harmony import */ var _getWeekYear_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../getWeekYear/index.js */ \"./node_modules/date-fns/esm/getWeekYear/index.js\");\n/* harmony import */ var _startOfWeek_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../startOfWeek/index.js */ \"./node_modules/date-fns/esm/startOfWeek/index.js\");\n/* harmony import */ var _lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../_lib/toInteger/index.js */ \"./node_modules/date-fns/esm/_lib/toInteger/index.js\");\n\n\n\n/**\n * @name startOfWeekYear\n * @category Week-Numbering Year Helpers\n * @summary Return the start of a local week-numbering year for the given date.\n *\n * @description\n * Return the start of a local week-numbering year.\n * The exact calculation depends on the values of\n * `options.weekStartsOn` (which is the index of the first day of the week)\n * and `options.firstWeekContainsDate` (which is the day of January, which is always in\n * the first week of the week-numbering year)\n *\n * Week numbering: https://en.wikipedia.org/wiki/Week#Week_numbering\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the original date\n * @param {Object} [options] - an object with options.\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\n * @param {1|2|3|4|5|6|7} [options.firstWeekContainsDate=1] - the day of January, which is always in the first week of the year\n * @returns {Date} the start of a week-numbering year\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6\n * @throws {RangeError} `options.firstWeekContainsDate` must be between 1 and 7\n *\n * @example\n * // The start of an a week-numbering year for 2 July 2005 with default settings:\n * var result = startOfWeekYear(new Date(2005, 6, 2))\n * //=> Sun Dec 26 2004 00:00:00\n *\n * @example\n * // The start of a week-numbering year for 2 July 2005\n * // if Monday is the first day of week\n * // and 4 January is always in the first week of the year:\n * var result = startOfWeekYear(new Date(2005, 6, 2), {\n * weekStartsOn: 1,\n * firstWeekContainsDate: 4\n * })\n * //=> Mon Jan 03 2005 00:00:00\n */\n\nfunction startOfWeekYear(dirtyDate, dirtyOptions) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n var options = dirtyOptions || {};\n var locale = options.locale;\n var localeFirstWeekContainsDate = locale && locale.options && locale.options.firstWeekContainsDate;\n var defaultFirstWeekContainsDate = localeFirstWeekContainsDate == null ? 1 : Object(_lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(localeFirstWeekContainsDate);\n var firstWeekContainsDate = options.firstWeekContainsDate == null ? defaultFirstWeekContainsDate : Object(_lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(options.firstWeekContainsDate);\n var year = Object(_getWeekYear_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate, dirtyOptions);\n var firstWeek = new Date(0);\n firstWeek.setFullYear(year, 0, firstWeekContainsDate);\n firstWeek.setHours(0, 0, 0, 0);\n var date = Object(_startOfWeek_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(firstWeek, dirtyOptions);\n return date;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL3N0YXJ0T2ZXZWVrWWVhci9pbmRleC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9kYXRlLWZucy9lc20vc3RhcnRPZldlZWtZZWFyL2luZGV4LmpzP2E5ZGIiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGdldFdlZWtZZWFyIGZyb20gJy4uL2dldFdlZWtZZWFyL2luZGV4LmpzJztcbmltcG9ydCBzdGFydE9mV2VlayBmcm9tICcuLi9zdGFydE9mV2Vlay9pbmRleC5qcyc7XG5pbXBvcnQgdG9JbnRlZ2VyIGZyb20gJy4uL19saWIvdG9JbnRlZ2VyL2luZGV4LmpzJztcbi8qKlxuICogQG5hbWUgc3RhcnRPZldlZWtZZWFyXG4gKiBAY2F0ZWdvcnkgV2Vlay1OdW1iZXJpbmcgWWVhciBIZWxwZXJzXG4gKiBAc3VtbWFyeSBSZXR1cm4gdGhlIHN0YXJ0IG9mIGEgbG9jYWwgd2Vlay1udW1iZXJpbmcgeWVhciBmb3IgdGhlIGdpdmVuIGRhdGUuXG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKiBSZXR1cm4gdGhlIHN0YXJ0IG9mIGEgbG9jYWwgd2Vlay1udW1iZXJpbmcgeWVhci5cbiAqIFRoZSBleGFjdCBjYWxjdWxhdGlvbiBkZXBlbmRzIG9uIHRoZSB2YWx1ZXMgb2ZcbiAqIGBvcHRpb25zLndlZWtTdGFydHNPbmAgKHdoaWNoIGlzIHRoZSBpbmRleCBvZiB0aGUgZmlyc3QgZGF5IG9mIHRoZSB3ZWVrKVxuICogYW5kIGBvcHRpb25zLmZpcnN0V2Vla0NvbnRhaW5zRGF0ZWAgKHdoaWNoIGlzIHRoZSBkYXkgb2YgSmFudWFyeSwgd2hpY2ggaXMgYWx3YXlzIGluXG4gKiB0aGUgZmlyc3Qgd2VlayBvZiB0aGUgd2Vlay1udW1iZXJpbmcgeWVhcilcbiAqXG4gKiBXZWVrIG51bWJlcmluZzogaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvV2VlayNXZWVrX251bWJlcmluZ1xuICpcbiAqICMjIyB2Mi4wLjAgYnJlYWtpbmcgY2hhbmdlczpcbiAqXG4gKiAtIFtDaGFuZ2VzIHRoYXQgYXJlIGNvbW1vbiBmb3IgdGhlIHdob2xlIGxpYnJhcnldKGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRlLWZucy9kYXRlLWZucy9ibG9iL21hc3Rlci9kb2NzL3VwZ3JhZGVHdWlkZS5tZCNDb21tb24tQ2hhbmdlcykuXG4gKlxuICogQHBhcmFtIHtEYXRlfE51bWJlcn0gZGF0ZSAtIHRoZSBvcmlnaW5hbCBkYXRlXG4gKiBAcGFyYW0ge09iamVjdH0gW29wdGlvbnNdIC0gYW4gb2JqZWN0IHdpdGggb3B0aW9ucy5cbiAqIEBwYXJhbSB7TG9jYWxlfSBbb3B0aW9ucy5sb2NhbGU9ZGVmYXVsdExvY2FsZV0gLSB0aGUgbG9jYWxlIG9iamVjdC4gU2VlIFtMb2NhbGVde0BsaW5rIGh0dHBzOi8vZGF0ZS1mbnMub3JnL2RvY3MvTG9jYWxlfVxuICogQHBhcmFtIHswfDF8MnwzfDR8NXw2fSBbb3B0aW9ucy53ZWVrU3RhcnRzT249MF0gLSB0aGUgaW5kZXggb2YgdGhlIGZpcnN0IGRheSBvZiB0aGUgd2VlayAoMCAtIFN1bmRheSlcbiAqIEBwYXJhbSB7MXwyfDN8NHw1fDZ8N30gW29wdGlvbnMuZmlyc3RXZWVrQ29udGFpbnNEYXRlPTFdIC0gdGhlIGRheSBvZiBKYW51YXJ5LCB3aGljaCBpcyBhbHdheXMgaW4gdGhlIGZpcnN0IHdlZWsgb2YgdGhlIHllYXJcbiAqIEByZXR1cm5zIHtEYXRlfSB0aGUgc3RhcnQgb2YgYSB3ZWVrLW51bWJlcmluZyB5ZWFyXG4gKiBAdGhyb3dzIHtUeXBlRXJyb3J9IDEgYXJndW1lbnQgcmVxdWlyZWRcbiAqIEB0aHJvd3Mge1JhbmdlRXJyb3J9IGBvcHRpb25zLndlZWtTdGFydHNPbmAgbXVzdCBiZSBiZXR3ZWVuIDAgYW5kIDZcbiAqIEB0aHJvd3Mge1JhbmdlRXJyb3J9IGBvcHRpb25zLmZpcnN0V2Vla0NvbnRhaW5zRGF0ZWAgbXVzdCBiZSBiZXR3ZWVuIDEgYW5kIDdcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gVGhlIHN0YXJ0IG9mIGFuIGEgd2Vlay1udW1iZXJpbmcgeWVhciBmb3IgMiBKdWx5IDIwMDUgd2l0aCBkZWZhdWx0IHNldHRpbmdzOlxuICogdmFyIHJlc3VsdCA9IHN0YXJ0T2ZXZWVrWWVhcihuZXcgRGF0ZSgyMDA1LCA2LCAyKSlcbiAqIC8vPT4gU3VuIERlYyAyNiAyMDA0IDAwOjAwOjAwXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIFRoZSBzdGFydCBvZiBhIHdlZWstbnVtYmVyaW5nIHllYXIgZm9yIDIgSnVseSAyMDA1XG4gKiAvLyBpZiBNb25kYXkgaXMgdGhlIGZpcnN0IGRheSBvZiB3ZWVrXG4gKiAvLyBhbmQgNCBKYW51YXJ5IGlzIGFsd2F5cyBpbiB0aGUgZmlyc3Qgd2VlayBvZiB0aGUgeWVhcjpcbiAqIHZhciByZXN1bHQgPSBzdGFydE9mV2Vla1llYXIobmV3IERhdGUoMjAwNSwgNiwgMiksIHtcbiAqICAgd2Vla1N0YXJ0c09uOiAxLFxuICogICBmaXJzdFdlZWtDb250YWluc0RhdGU6IDRcbiAqIH0pXG4gKiAvLz0+IE1vbiBKYW4gMDMgMjAwNSAwMDowMDowMFxuICovXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHN0YXJ0T2ZXZWVrWWVhcihkaXJ0eURhdGUsIGRpcnR5T3B0aW9ucykge1xuICBpZiAoYXJndW1lbnRzLmxlbmd0aCA8IDEpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCcxIGFyZ3VtZW50IHJlcXVpcmVkLCBidXQgb25seSAnICsgYXJndW1lbnRzLmxlbmd0aCArICcgcHJlc2VudCcpO1xuICB9XG5cbiAgdmFyIG9wdGlvbnMgPSBkaXJ0eU9wdGlvbnMgfHwge307XG4gIHZhciBsb2NhbGUgPSBvcHRpb25zLmxvY2FsZTtcbiAgdmFyIGxvY2FsZUZpcnN0V2Vla0NvbnRhaW5zRGF0ZSA9IGxvY2FsZSAmJiBsb2NhbGUub3B0aW9ucyAmJiBsb2NhbGUub3B0aW9ucy5maXJzdFdlZWtDb250YWluc0RhdGU7XG4gIHZhciBkZWZhdWx0Rmlyc3RXZWVrQ29udGFpbnNEYXRlID0gbG9jYWxlRmlyc3RXZWVrQ29udGFpbnNEYXRlID09IG51bGwgPyAxIDogdG9JbnRlZ2VyKGxvY2FsZUZpcnN0V2Vla0NvbnRhaW5zRGF0ZSk7XG4gIHZhciBmaXJzdFdlZWtDb250YWluc0RhdGUgPSBvcHRpb25zLmZpcnN0V2Vla0NvbnRhaW5zRGF0ZSA9PSBudWxsID8gZGVmYXVsdEZpcnN0V2Vla0NvbnRhaW5zRGF0ZSA6IHRvSW50ZWdlcihvcHRpb25zLmZpcnN0V2Vla0NvbnRhaW5zRGF0ZSk7XG4gIHZhciB5ZWFyID0gZ2V0V2Vla1llYXIoZGlydHlEYXRlLCBkaXJ0eU9wdGlvbnMpO1xuICB2YXIgZmlyc3RXZWVrID0gbmV3IERhdGUoMCk7XG4gIGZpcnN0V2Vlay5zZXRGdWxsWWVhcih5ZWFyLCAwLCBmaXJzdFdlZWtDb250YWluc0RhdGUpO1xuICBmaXJzdFdlZWsuc2V0SG91cnMoMCwgMCwgMCwgMCk7XG4gIHZhciBkYXRlID0gc3RhcnRPZldlZWsoZmlyc3RXZWVrLCBkaXJ0eU9wdGlvbnMpO1xuICByZXR1cm4gZGF0ZTtcbn0iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/startOfWeekYear/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/startOfYear/index.js": /*!********************************************************!*\ !*** ./node_modules/date-fns/esm/startOfYear/index.js ***! \********************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return startOfYear; });\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n\n/**\n * @name startOfYear\n * @category Year Helpers\n * @summary Return the start of a year for the given date.\n *\n * @description\n * Return the start of a year for the given date.\n * The result will be in the local timezone.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the start of a year\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The start of a year for 2 September 2014 11:55:00:\n * var result = startOfYear(new Date(2014, 8, 2, 11, 55, 00))\n * //=> Wed Jan 01 2014 00:00:00\n */\n\nfunction startOfYear(dirtyDate) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n var cleanDate = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate);\n var date = new Date(0);\n date.setFullYear(cleanDate.getFullYear(), 0, 1);\n date.setHours(0, 0, 0, 0);\n return date;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL3N0YXJ0T2ZZZWFyL2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2VzbS9zdGFydE9mWWVhci9pbmRleC5qcz9kNmU5Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0b0RhdGUgZnJvbSAnLi4vdG9EYXRlL2luZGV4LmpzJztcbi8qKlxuICogQG5hbWUgc3RhcnRPZlllYXJcbiAqIEBjYXRlZ29yeSBZZWFyIEhlbHBlcnNcbiAqIEBzdW1tYXJ5IFJldHVybiB0aGUgc3RhcnQgb2YgYSB5ZWFyIGZvciB0aGUgZ2l2ZW4gZGF0ZS5cbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIFJldHVybiB0aGUgc3RhcnQgb2YgYSB5ZWFyIGZvciB0aGUgZ2l2ZW4gZGF0ZS5cbiAqIFRoZSByZXN1bHQgd2lsbCBiZSBpbiB0aGUgbG9jYWwgdGltZXpvbmUuXG4gKlxuICogIyMjIHYyLjAuMCBicmVha2luZyBjaGFuZ2VzOlxuICpcbiAqIC0gW0NoYW5nZXMgdGhhdCBhcmUgY29tbW9uIGZvciB0aGUgd2hvbGUgbGlicmFyeV0oaHR0cHM6Ly9naXRodWIuY29tL2RhdGUtZm5zL2RhdGUtZm5zL2Jsb2IvbWFzdGVyL2RvY3MvdXBncmFkZUd1aWRlLm1kI0NvbW1vbi1DaGFuZ2VzKS5cbiAqXG4gKiBAcGFyYW0ge0RhdGV8TnVtYmVyfSBkYXRlIC0gdGhlIG9yaWdpbmFsIGRhdGVcbiAqIEByZXR1cm5zIHtEYXRlfSB0aGUgc3RhcnQgb2YgYSB5ZWFyXG4gKiBAdGhyb3dzIHtUeXBlRXJyb3J9IDEgYXJndW1lbnQgcmVxdWlyZWRcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gVGhlIHN0YXJ0IG9mIGEgeWVhciBmb3IgMiBTZXB0ZW1iZXIgMjAxNCAxMTo1NTowMDpcbiAqIHZhciByZXN1bHQgPSBzdGFydE9mWWVhcihuZXcgRGF0ZSgyMDE0LCA4LCAyLCAxMSwgNTUsIDAwKSlcbiAqIC8vPT4gV2VkIEphbiAwMSAyMDE0IDAwOjAwOjAwXG4gKi9cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gc3RhcnRPZlllYXIoZGlydHlEYXRlKSB7XG4gIGlmIChhcmd1bWVudHMubGVuZ3RoIDwgMSkge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJzEgYXJndW1lbnQgcmVxdWlyZWQsIGJ1dCBvbmx5ICcgKyBhcmd1bWVudHMubGVuZ3RoICsgJyBwcmVzZW50Jyk7XG4gIH1cblxuICB2YXIgY2xlYW5EYXRlID0gdG9EYXRlKGRpcnR5RGF0ZSk7XG4gIHZhciBkYXRlID0gbmV3IERhdGUoMCk7XG4gIGRhdGUuc2V0RnVsbFllYXIoY2xlYW5EYXRlLmdldEZ1bGxZZWFyKCksIDAsIDEpO1xuICBkYXRlLnNldEhvdXJzKDAsIDAsIDAsIDApO1xuICByZXR1cm4gZGF0ZTtcbn0iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/startOfYear/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/startOfYesterday/index.js": /*!*************************************************************!*\ !*** ./node_modules/date-fns/esm/startOfYesterday/index.js ***! \*************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return startOfYesterday; });\n/**\n * @name startOfYesterday\n * @category Day Helpers\n * @summary Return the start of yesterday.\n * @pure false\n *\n * @description\n * Return the start of yesterday.\n *\n * > ⚠️ Please note that this function is not present in the FP submodule as\n * > it uses `Date.now()` internally hence impure and can't be safely curried.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @returns {Date} the start of yesterday\n *\n * @example\n * // If today is 6 October 2014:\n * var result = startOfYesterday()\n * //=> Sun Oct 5 2014 00:00:00\n */\nfunction startOfYesterday() {\n var now = new Date();\n var year = now.getFullYear();\n var month = now.getMonth();\n var day = now.getDate();\n var date = new Date(0);\n date.setFullYear(year, month, day - 1);\n date.setHours(0, 0, 0, 0);\n return date;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL3N0YXJ0T2ZZZXN0ZXJkYXkvaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL3N0YXJ0T2ZZZXN0ZXJkYXkvaW5kZXguanM/NjBlMyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBuYW1lIHN0YXJ0T2ZZZXN0ZXJkYXlcbiAqIEBjYXRlZ29yeSBEYXkgSGVscGVyc1xuICogQHN1bW1hcnkgUmV0dXJuIHRoZSBzdGFydCBvZiB5ZXN0ZXJkYXkuXG4gKiBAcHVyZSBmYWxzZVxuICpcbiAqIEBkZXNjcmlwdGlvblxuICogUmV0dXJuIHRoZSBzdGFydCBvZiB5ZXN0ZXJkYXkuXG4gKlxuICogPiDimqDvuI8gUGxlYXNlIG5vdGUgdGhhdCB0aGlzIGZ1bmN0aW9uIGlzIG5vdCBwcmVzZW50IGluIHRoZSBGUCBzdWJtb2R1bGUgYXNcbiAqID4gaXQgdXNlcyBgRGF0ZS5ub3coKWAgaW50ZXJuYWxseSBoZW5jZSBpbXB1cmUgYW5kIGNhbid0IGJlIHNhZmVseSBjdXJyaWVkLlxuICpcbiAqICMjIyB2Mi4wLjAgYnJlYWtpbmcgY2hhbmdlczpcbiAqXG4gKiAtIFtDaGFuZ2VzIHRoYXQgYXJlIGNvbW1vbiBmb3IgdGhlIHdob2xlIGxpYnJhcnldKGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRlLWZucy9kYXRlLWZucy9ibG9iL21hc3Rlci9kb2NzL3VwZ3JhZGVHdWlkZS5tZCNDb21tb24tQ2hhbmdlcykuXG4gKlxuICogQHJldHVybnMge0RhdGV9IHRoZSBzdGFydCBvZiB5ZXN0ZXJkYXlcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gSWYgdG9kYXkgaXMgNiBPY3RvYmVyIDIwMTQ6XG4gKiB2YXIgcmVzdWx0ID0gc3RhcnRPZlllc3RlcmRheSgpXG4gKiAvLz0+IFN1biBPY3QgNSAyMDE0IDAwOjAwOjAwXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHN0YXJ0T2ZZZXN0ZXJkYXkoKSB7XG4gIHZhciBub3cgPSBuZXcgRGF0ZSgpO1xuICB2YXIgeWVhciA9IG5vdy5nZXRGdWxsWWVhcigpO1xuICB2YXIgbW9udGggPSBub3cuZ2V0TW9udGgoKTtcbiAgdmFyIGRheSA9IG5vdy5nZXREYXRlKCk7XG4gIHZhciBkYXRlID0gbmV3IERhdGUoMCk7XG4gIGRhdGUuc2V0RnVsbFllYXIoeWVhciwgbW9udGgsIGRheSAtIDEpO1xuICBkYXRlLnNldEhvdXJzKDAsIDAsIDAsIDApO1xuICByZXR1cm4gZGF0ZTtcbn0iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/startOfYesterday/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/subDays/index.js": /*!****************************************************!*\ !*** ./node_modules/date-fns/esm/subDays/index.js ***! \****************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return subDays; });\n/* harmony import */ var _lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_lib/toInteger/index.js */ \"./node_modules/date-fns/esm/_lib/toInteger/index.js\");\n/* harmony import */ var _addDays_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../addDays/index.js */ \"./node_modules/date-fns/esm/addDays/index.js\");\n\n\n/**\n * @name subDays\n * @category Day Helpers\n * @summary Subtract the specified number of days from the given date.\n *\n * @description\n * Subtract the specified number of days from the given date.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of days to be subtracted\n * @returns {Date} the new date with the days subtracted\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Subtract 10 days from 1 September 2014:\n * var result = subDays(new Date(2014, 8, 1), 10)\n * //=> Fri Aug 22 2014 00:00:00\n */\n\nfunction subDays(dirtyDate, dirtyAmount) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present');\n }\n\n var amount = Object(_lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyAmount);\n return Object(_addDays_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(dirtyDate, -amount);\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL3N1YkRheXMvaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL3N1YkRheXMvaW5kZXguanM/NWRlYSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdG9JbnRlZ2VyIGZyb20gJy4uL19saWIvdG9JbnRlZ2VyL2luZGV4LmpzJztcbmltcG9ydCBhZGREYXlzIGZyb20gJy4uL2FkZERheXMvaW5kZXguanMnO1xuLyoqXG4gKiBAbmFtZSBzdWJEYXlzXG4gKiBAY2F0ZWdvcnkgRGF5IEhlbHBlcnNcbiAqIEBzdW1tYXJ5IFN1YnRyYWN0IHRoZSBzcGVjaWZpZWQgbnVtYmVyIG9mIGRheXMgZnJvbSB0aGUgZ2l2ZW4gZGF0ZS5cbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIFN1YnRyYWN0IHRoZSBzcGVjaWZpZWQgbnVtYmVyIG9mIGRheXMgZnJvbSB0aGUgZ2l2ZW4gZGF0ZS5cbiAqXG4gKiAjIyMgdjIuMC4wIGJyZWFraW5nIGNoYW5nZXM6XG4gKlxuICogLSBbQ2hhbmdlcyB0aGF0IGFyZSBjb21tb24gZm9yIHRoZSB3aG9sZSBsaWJyYXJ5XShodHRwczovL2dpdGh1Yi5jb20vZGF0ZS1mbnMvZGF0ZS1mbnMvYmxvYi9tYXN0ZXIvZG9jcy91cGdyYWRlR3VpZGUubWQjQ29tbW9uLUNoYW5nZXMpLlxuICpcbiAqIEBwYXJhbSB7RGF0ZXxOdW1iZXJ9IGRhdGUgLSB0aGUgZGF0ZSB0byBiZSBjaGFuZ2VkXG4gKiBAcGFyYW0ge051bWJlcn0gYW1vdW50IC0gdGhlIGFtb3VudCBvZiBkYXlzIHRvIGJlIHN1YnRyYWN0ZWRcbiAqIEByZXR1cm5zIHtEYXRlfSB0aGUgbmV3IGRhdGUgd2l0aCB0aGUgZGF5cyBzdWJ0cmFjdGVkXG4gKiBAdGhyb3dzIHtUeXBlRXJyb3J9IDIgYXJndW1lbnRzIHJlcXVpcmVkXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIFN1YnRyYWN0IDEwIGRheXMgZnJvbSAxIFNlcHRlbWJlciAyMDE0OlxuICogdmFyIHJlc3VsdCA9IHN1YkRheXMobmV3IERhdGUoMjAxNCwgOCwgMSksIDEwKVxuICogLy89PiBGcmkgQXVnIDIyIDIwMTQgMDA6MDA6MDBcbiAqL1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBzdWJEYXlzKGRpcnR5RGF0ZSwgZGlydHlBbW91bnQpIHtcbiAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPCAyKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignMiBhcmd1bWVudHMgcmVxdWlyZWQsIGJ1dCBvbmx5ICcgKyBhcmd1bWVudHMubGVuZ3RoICsgJyBwcmVzZW50Jyk7XG4gIH1cblxuICB2YXIgYW1vdW50ID0gdG9JbnRlZ2VyKGRpcnR5QW1vdW50KTtcbiAgcmV0dXJuIGFkZERheXMoZGlydHlEYXRlLCAtYW1vdW50KTtcbn0iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/subDays/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/subHours/index.js": /*!*****************************************************!*\ !*** ./node_modules/date-fns/esm/subHours/index.js ***! \*****************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return subHours; });\n/* harmony import */ var _lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_lib/toInteger/index.js */ \"./node_modules/date-fns/esm/_lib/toInteger/index.js\");\n/* harmony import */ var _addHours_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../addHours/index.js */ \"./node_modules/date-fns/esm/addHours/index.js\");\n\n\n/**\n * @name subHours\n * @category Hour Helpers\n * @summary Subtract the specified number of hours from the given date.\n *\n * @description\n * Subtract the specified number of hours from the given date.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of hours to be subtracted\n * @returns {Date} the new date with the hours subtracted\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Subtract 2 hours from 11 July 2014 01:00:00:\n * var result = subHours(new Date(2014, 6, 11, 1, 0), 2)\n * //=> Thu Jul 10 2014 23:00:00\n */\n\nfunction subHours(dirtyDate, dirtyAmount) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present');\n }\n\n var amount = Object(_lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyAmount);\n return Object(_addHours_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(dirtyDate, -amount);\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL3N1YkhvdXJzL2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2VzbS9zdWJIb3Vycy9pbmRleC5qcz81OTBkIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0b0ludGVnZXIgZnJvbSAnLi4vX2xpYi90b0ludGVnZXIvaW5kZXguanMnO1xuaW1wb3J0IGFkZEhvdXJzIGZyb20gJy4uL2FkZEhvdXJzL2luZGV4LmpzJztcbi8qKlxuICogQG5hbWUgc3ViSG91cnNcbiAqIEBjYXRlZ29yeSBIb3VyIEhlbHBlcnNcbiAqIEBzdW1tYXJ5IFN1YnRyYWN0IHRoZSBzcGVjaWZpZWQgbnVtYmVyIG9mIGhvdXJzIGZyb20gdGhlIGdpdmVuIGRhdGUuXG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKiBTdWJ0cmFjdCB0aGUgc3BlY2lmaWVkIG51bWJlciBvZiBob3VycyBmcm9tIHRoZSBnaXZlbiBkYXRlLlxuICpcbiAqICMjIyB2Mi4wLjAgYnJlYWtpbmcgY2hhbmdlczpcbiAqXG4gKiAtIFtDaGFuZ2VzIHRoYXQgYXJlIGNvbW1vbiBmb3IgdGhlIHdob2xlIGxpYnJhcnldKGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRlLWZucy9kYXRlLWZucy9ibG9iL21hc3Rlci9kb2NzL3VwZ3JhZGVHdWlkZS5tZCNDb21tb24tQ2hhbmdlcykuXG4gKlxuICogQHBhcmFtIHtEYXRlfE51bWJlcn0gZGF0ZSAtIHRoZSBkYXRlIHRvIGJlIGNoYW5nZWRcbiAqIEBwYXJhbSB7TnVtYmVyfSBhbW91bnQgLSB0aGUgYW1vdW50IG9mIGhvdXJzIHRvIGJlIHN1YnRyYWN0ZWRcbiAqIEByZXR1cm5zIHtEYXRlfSB0aGUgbmV3IGRhdGUgd2l0aCB0aGUgaG91cnMgc3VidHJhY3RlZFxuICogQHRocm93cyB7VHlwZUVycm9yfSAyIGFyZ3VtZW50cyByZXF1aXJlZFxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBTdWJ0cmFjdCAyIGhvdXJzIGZyb20gMTEgSnVseSAyMDE0IDAxOjAwOjAwOlxuICogdmFyIHJlc3VsdCA9IHN1YkhvdXJzKG5ldyBEYXRlKDIwMTQsIDYsIDExLCAxLCAwKSwgMilcbiAqIC8vPT4gVGh1IEp1bCAxMCAyMDE0IDIzOjAwOjAwXG4gKi9cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gc3ViSG91cnMoZGlydHlEYXRlLCBkaXJ0eUFtb3VudCkge1xuICBpZiAoYXJndW1lbnRzLmxlbmd0aCA8IDIpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCcyIGFyZ3VtZW50cyByZXF1aXJlZCwgYnV0IG9ubHkgJyArIGFyZ3VtZW50cy5sZW5ndGggKyAnIHByZXNlbnQnKTtcbiAgfVxuXG4gIHZhciBhbW91bnQgPSB0b0ludGVnZXIoZGlydHlBbW91bnQpO1xuICByZXR1cm4gYWRkSG91cnMoZGlydHlEYXRlLCAtYW1vdW50KTtcbn0iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/subHours/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/subISOWeekYears/index.js": /*!************************************************************!*\ !*** ./node_modules/date-fns/esm/subISOWeekYears/index.js ***! \************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return subISOWeekYears; });\n/* harmony import */ var _lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_lib/toInteger/index.js */ \"./node_modules/date-fns/esm/_lib/toInteger/index.js\");\n/* harmony import */ var _addISOWeekYears_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../addISOWeekYears/index.js */ \"./node_modules/date-fns/esm/addISOWeekYears/index.js\");\n\n\n/**\n * @name subISOWeekYears\n * @category ISO Week-Numbering Year Helpers\n * @summary Subtract the specified number of ISO week-numbering years from the given date.\n *\n * @description\n * Subtract the specified number of ISO week-numbering years from the given date.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * - The function was renamed from `subISOYears` to `subISOWeekYears`.\n * \"ISO week year\" is short for [ISO week-numbering year](https://en.wikipedia.org/wiki/ISO_week_date).\n * This change makes the name consistent with\n * locale-dependent week-numbering year helpers, e.g., `setWeekYear`.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of ISO week-numbering years to be subtracted\n * @returns {Date} the new date with the ISO week-numbering years subtracted\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Subtract 5 ISO week-numbering years from 1 September 2014:\n * var result = subISOWeekYears(new Date(2014, 8, 1), 5)\n * //=> Mon Aug 31 2009 00:00:00\n */\n\nfunction subISOWeekYears(dirtyDate, dirtyAmount) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present');\n }\n\n var amount = Object(_lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyAmount);\n return Object(_addISOWeekYears_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(dirtyDate, -amount);\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL3N1YklTT1dlZWtZZWFycy9pbmRleC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9kYXRlLWZucy9lc20vc3ViSVNPV2Vla1llYXJzL2luZGV4LmpzP2E0ODUiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHRvSW50ZWdlciBmcm9tICcuLi9fbGliL3RvSW50ZWdlci9pbmRleC5qcyc7XG5pbXBvcnQgYWRkSVNPV2Vla1llYXJzIGZyb20gJy4uL2FkZElTT1dlZWtZZWFycy9pbmRleC5qcyc7XG4vKipcbiAqIEBuYW1lIHN1YklTT1dlZWtZZWFyc1xuICogQGNhdGVnb3J5IElTTyBXZWVrLU51bWJlcmluZyBZZWFyIEhlbHBlcnNcbiAqIEBzdW1tYXJ5IFN1YnRyYWN0IHRoZSBzcGVjaWZpZWQgbnVtYmVyIG9mIElTTyB3ZWVrLW51bWJlcmluZyB5ZWFycyBmcm9tIHRoZSBnaXZlbiBkYXRlLlxuICpcbiAqIEBkZXNjcmlwdGlvblxuICogU3VidHJhY3QgdGhlIHNwZWNpZmllZCBudW1iZXIgb2YgSVNPIHdlZWstbnVtYmVyaW5nIHllYXJzIGZyb20gdGhlIGdpdmVuIGRhdGUuXG4gKlxuICogSVNPIHdlZWstbnVtYmVyaW5nIHllYXI6IGh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvSVNPX3dlZWtfZGF0ZVxuICpcbiAqICMjIyB2Mi4wLjAgYnJlYWtpbmcgY2hhbmdlczpcbiAqXG4gKiAtIFtDaGFuZ2VzIHRoYXQgYXJlIGNvbW1vbiBmb3IgdGhlIHdob2xlIGxpYnJhcnldKGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRlLWZucy9kYXRlLWZucy9ibG9iL21hc3Rlci9kb2NzL3VwZ3JhZGVHdWlkZS5tZCNDb21tb24tQ2hhbmdlcykuXG4gKlxuICogLSBUaGUgZnVuY3Rpb24gd2FzIHJlbmFtZWQgZnJvbSBgc3ViSVNPWWVhcnNgIHRvIGBzdWJJU09XZWVrWWVhcnNgLlxuICogICBcIklTTyB3ZWVrIHllYXJcIiBpcyBzaG9ydCBmb3IgW0lTTyB3ZWVrLW51bWJlcmluZyB5ZWFyXShodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9JU09fd2Vla19kYXRlKS5cbiAqICAgVGhpcyBjaGFuZ2UgbWFrZXMgdGhlIG5hbWUgY29uc2lzdGVudCB3aXRoXG4gKiAgIGxvY2FsZS1kZXBlbmRlbnQgd2Vlay1udW1iZXJpbmcgeWVhciBoZWxwZXJzLCBlLmcuLCBgc2V0V2Vla1llYXJgLlxuICpcbiAqIEBwYXJhbSB7RGF0ZXxOdW1iZXJ9IGRhdGUgLSB0aGUgZGF0ZSB0byBiZSBjaGFuZ2VkXG4gKiBAcGFyYW0ge051bWJlcn0gYW1vdW50IC0gdGhlIGFtb3VudCBvZiBJU08gd2Vlay1udW1iZXJpbmcgeWVhcnMgdG8gYmUgc3VidHJhY3RlZFxuICogQHJldHVybnMge0RhdGV9IHRoZSBuZXcgZGF0ZSB3aXRoIHRoZSBJU08gd2Vlay1udW1iZXJpbmcgeWVhcnMgc3VidHJhY3RlZFxuICogQHRocm93cyB7VHlwZUVycm9yfSAyIGFyZ3VtZW50cyByZXF1aXJlZFxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBTdWJ0cmFjdCA1IElTTyB3ZWVrLW51bWJlcmluZyB5ZWFycyBmcm9tIDEgU2VwdGVtYmVyIDIwMTQ6XG4gKiB2YXIgcmVzdWx0ID0gc3ViSVNPV2Vla1llYXJzKG5ldyBEYXRlKDIwMTQsIDgsIDEpLCA1KVxuICogLy89PiBNb24gQXVnIDMxIDIwMDkgMDA6MDA6MDBcbiAqL1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBzdWJJU09XZWVrWWVhcnMoZGlydHlEYXRlLCBkaXJ0eUFtb3VudCkge1xuICBpZiAoYXJndW1lbnRzLmxlbmd0aCA8IDIpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCcyIGFyZ3VtZW50cyByZXF1aXJlZCwgYnV0IG9ubHkgJyArIGFyZ3VtZW50cy5sZW5ndGggKyAnIHByZXNlbnQnKTtcbiAgfVxuXG4gIHZhciBhbW91bnQgPSB0b0ludGVnZXIoZGlydHlBbW91bnQpO1xuICByZXR1cm4gYWRkSVNPV2Vla1llYXJzKGRpcnR5RGF0ZSwgLWFtb3VudCk7XG59Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/subISOWeekYears/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/subMilliseconds/index.js": /*!************************************************************!*\ !*** ./node_modules/date-fns/esm/subMilliseconds/index.js ***! \************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return subMilliseconds; });\n/* harmony import */ var _lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_lib/toInteger/index.js */ \"./node_modules/date-fns/esm/_lib/toInteger/index.js\");\n/* harmony import */ var _addMilliseconds_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../addMilliseconds/index.js */ \"./node_modules/date-fns/esm/addMilliseconds/index.js\");\n\n\n/**\n * @name subMilliseconds\n * @category Millisecond Helpers\n * @summary Subtract the specified number of milliseconds from the given date.\n *\n * @description\n * Subtract the specified number of milliseconds from the given date.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of milliseconds to be subtracted\n * @returns {Date} the new date with the milliseconds subtracted\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Subtract 750 milliseconds from 10 July 2014 12:45:30.000:\n * var result = subMilliseconds(new Date(2014, 6, 10, 12, 45, 30, 0), 750)\n * //=> Thu Jul 10 2014 12:45:29.250\n */\n\nfunction subMilliseconds(dirtyDate, dirtyAmount) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present');\n }\n\n var amount = Object(_lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyAmount);\n return Object(_addMilliseconds_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(dirtyDate, -amount);\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL3N1Yk1pbGxpc2Vjb25kcy9pbmRleC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9kYXRlLWZucy9lc20vc3ViTWlsbGlzZWNvbmRzL2luZGV4LmpzPzgzZDIiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHRvSW50ZWdlciBmcm9tICcuLi9fbGliL3RvSW50ZWdlci9pbmRleC5qcyc7XG5pbXBvcnQgYWRkTWlsbGlzZWNvbmRzIGZyb20gJy4uL2FkZE1pbGxpc2Vjb25kcy9pbmRleC5qcyc7XG4vKipcbiAqIEBuYW1lIHN1Yk1pbGxpc2Vjb25kc1xuICogQGNhdGVnb3J5IE1pbGxpc2Vjb25kIEhlbHBlcnNcbiAqIEBzdW1tYXJ5IFN1YnRyYWN0IHRoZSBzcGVjaWZpZWQgbnVtYmVyIG9mIG1pbGxpc2Vjb25kcyBmcm9tIHRoZSBnaXZlbiBkYXRlLlxuICpcbiAqIEBkZXNjcmlwdGlvblxuICogU3VidHJhY3QgdGhlIHNwZWNpZmllZCBudW1iZXIgb2YgbWlsbGlzZWNvbmRzIGZyb20gdGhlIGdpdmVuIGRhdGUuXG4gKlxuICogIyMjIHYyLjAuMCBicmVha2luZyBjaGFuZ2VzOlxuICpcbiAqIC0gW0NoYW5nZXMgdGhhdCBhcmUgY29tbW9uIGZvciB0aGUgd2hvbGUgbGlicmFyeV0oaHR0cHM6Ly9naXRodWIuY29tL2RhdGUtZm5zL2RhdGUtZm5zL2Jsb2IvbWFzdGVyL2RvY3MvdXBncmFkZUd1aWRlLm1kI0NvbW1vbi1DaGFuZ2VzKS5cbiAqXG4gKiBAcGFyYW0ge0RhdGV8TnVtYmVyfSBkYXRlIC0gdGhlIGRhdGUgdG8gYmUgY2hhbmdlZFxuICogQHBhcmFtIHtOdW1iZXJ9IGFtb3VudCAtIHRoZSBhbW91bnQgb2YgbWlsbGlzZWNvbmRzIHRvIGJlIHN1YnRyYWN0ZWRcbiAqIEByZXR1cm5zIHtEYXRlfSB0aGUgbmV3IGRhdGUgd2l0aCB0aGUgbWlsbGlzZWNvbmRzIHN1YnRyYWN0ZWRcbiAqIEB0aHJvd3Mge1R5cGVFcnJvcn0gMiBhcmd1bWVudHMgcmVxdWlyZWRcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gU3VidHJhY3QgNzUwIG1pbGxpc2Vjb25kcyBmcm9tIDEwIEp1bHkgMjAxNCAxMjo0NTozMC4wMDA6XG4gKiB2YXIgcmVzdWx0ID0gc3ViTWlsbGlzZWNvbmRzKG5ldyBEYXRlKDIwMTQsIDYsIDEwLCAxMiwgNDUsIDMwLCAwKSwgNzUwKVxuICogLy89PiBUaHUgSnVsIDEwIDIwMTQgMTI6NDU6MjkuMjUwXG4gKi9cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gc3ViTWlsbGlzZWNvbmRzKGRpcnR5RGF0ZSwgZGlydHlBbW91bnQpIHtcbiAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPCAyKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignMiBhcmd1bWVudHMgcmVxdWlyZWQsIGJ1dCBvbmx5ICcgKyBhcmd1bWVudHMubGVuZ3RoICsgJyBwcmVzZW50Jyk7XG4gIH1cblxuICB2YXIgYW1vdW50ID0gdG9JbnRlZ2VyKGRpcnR5QW1vdW50KTtcbiAgcmV0dXJuIGFkZE1pbGxpc2Vjb25kcyhkaXJ0eURhdGUsIC1hbW91bnQpO1xufSJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/subMilliseconds/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/subMinutes/index.js": /*!*******************************************************!*\ !*** ./node_modules/date-fns/esm/subMinutes/index.js ***! \*******************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return subMinutes; });\n/* harmony import */ var _lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_lib/toInteger/index.js */ \"./node_modules/date-fns/esm/_lib/toInteger/index.js\");\n/* harmony import */ var _addMinutes_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../addMinutes/index.js */ \"./node_modules/date-fns/esm/addMinutes/index.js\");\n\n\n/**\n * @name subMinutes\n * @category Minute Helpers\n * @summary Subtract the specified number of minutes from the given date.\n *\n * @description\n * Subtract the specified number of minutes from the given date.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of minutes to be subtracted\n * @returns {Date} the new date with the minutes subtracted\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Subtract 30 minutes from 10 July 2014 12:00:00:\n * var result = subMinutes(new Date(2014, 6, 10, 12, 0), 30)\n * //=> Thu Jul 10 2014 11:30:00\n */\n\nfunction subMinutes(dirtyDate, dirtyAmount) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present');\n }\n\n var amount = Object(_lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyAmount);\n return Object(_addMinutes_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(dirtyDate, -amount);\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL3N1Yk1pbnV0ZXMvaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL3N1Yk1pbnV0ZXMvaW5kZXguanM/NmI3OCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdG9JbnRlZ2VyIGZyb20gJy4uL19saWIvdG9JbnRlZ2VyL2luZGV4LmpzJztcbmltcG9ydCBhZGRNaW51dGVzIGZyb20gJy4uL2FkZE1pbnV0ZXMvaW5kZXguanMnO1xuLyoqXG4gKiBAbmFtZSBzdWJNaW51dGVzXG4gKiBAY2F0ZWdvcnkgTWludXRlIEhlbHBlcnNcbiAqIEBzdW1tYXJ5IFN1YnRyYWN0IHRoZSBzcGVjaWZpZWQgbnVtYmVyIG9mIG1pbnV0ZXMgZnJvbSB0aGUgZ2l2ZW4gZGF0ZS5cbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIFN1YnRyYWN0IHRoZSBzcGVjaWZpZWQgbnVtYmVyIG9mIG1pbnV0ZXMgZnJvbSB0aGUgZ2l2ZW4gZGF0ZS5cbiAqXG4gKiAjIyMgdjIuMC4wIGJyZWFraW5nIGNoYW5nZXM6XG4gKlxuICogLSBbQ2hhbmdlcyB0aGF0IGFyZSBjb21tb24gZm9yIHRoZSB3aG9sZSBsaWJyYXJ5XShodHRwczovL2dpdGh1Yi5jb20vZGF0ZS1mbnMvZGF0ZS1mbnMvYmxvYi9tYXN0ZXIvZG9jcy91cGdyYWRlR3VpZGUubWQjQ29tbW9uLUNoYW5nZXMpLlxuICpcbiAqIEBwYXJhbSB7RGF0ZXxOdW1iZXJ9IGRhdGUgLSB0aGUgZGF0ZSB0byBiZSBjaGFuZ2VkXG4gKiBAcGFyYW0ge051bWJlcn0gYW1vdW50IC0gdGhlIGFtb3VudCBvZiBtaW51dGVzIHRvIGJlIHN1YnRyYWN0ZWRcbiAqIEByZXR1cm5zIHtEYXRlfSB0aGUgbmV3IGRhdGUgd2l0aCB0aGUgbWludXRlcyBzdWJ0cmFjdGVkXG4gKiBAdGhyb3dzIHtUeXBlRXJyb3J9IDIgYXJndW1lbnRzIHJlcXVpcmVkXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIFN1YnRyYWN0IDMwIG1pbnV0ZXMgZnJvbSAxMCBKdWx5IDIwMTQgMTI6MDA6MDA6XG4gKiB2YXIgcmVzdWx0ID0gc3ViTWludXRlcyhuZXcgRGF0ZSgyMDE0LCA2LCAxMCwgMTIsIDApLCAzMClcbiAqIC8vPT4gVGh1IEp1bCAxMCAyMDE0IDExOjMwOjAwXG4gKi9cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gc3ViTWludXRlcyhkaXJ0eURhdGUsIGRpcnR5QW1vdW50KSB7XG4gIGlmIChhcmd1bWVudHMubGVuZ3RoIDwgMikge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJzIgYXJndW1lbnRzIHJlcXVpcmVkLCBidXQgb25seSAnICsgYXJndW1lbnRzLmxlbmd0aCArICcgcHJlc2VudCcpO1xuICB9XG5cbiAgdmFyIGFtb3VudCA9IHRvSW50ZWdlcihkaXJ0eUFtb3VudCk7XG4gIHJldHVybiBhZGRNaW51dGVzKGRpcnR5RGF0ZSwgLWFtb3VudCk7XG59Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/subMinutes/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/subMonths/index.js": /*!******************************************************!*\ !*** ./node_modules/date-fns/esm/subMonths/index.js ***! \******************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return subMonths; });\n/* harmony import */ var _lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_lib/toInteger/index.js */ \"./node_modules/date-fns/esm/_lib/toInteger/index.js\");\n/* harmony import */ var _addMonths_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../addMonths/index.js */ \"./node_modules/date-fns/esm/addMonths/index.js\");\n\n\n/**\n * @name subMonths\n * @category Month Helpers\n * @summary Subtract the specified number of months from the given date.\n *\n * @description\n * Subtract the specified number of months from the given date.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of months to be subtracted\n * @returns {Date} the new date with the months subtracted\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Subtract 5 months from 1 February 2015:\n * var result = subMonths(new Date(2015, 1, 1), 5)\n * //=> Mon Sep 01 2014 00:00:00\n */\n\nfunction subMonths(dirtyDate, dirtyAmount) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present');\n }\n\n var amount = Object(_lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyAmount);\n return Object(_addMonths_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(dirtyDate, -amount);\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL3N1Yk1vbnRocy9pbmRleC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9kYXRlLWZucy9lc20vc3ViTW9udGhzL2luZGV4LmpzP2E2MTgiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHRvSW50ZWdlciBmcm9tICcuLi9fbGliL3RvSW50ZWdlci9pbmRleC5qcyc7XG5pbXBvcnQgYWRkTW9udGhzIGZyb20gJy4uL2FkZE1vbnRocy9pbmRleC5qcyc7XG4vKipcbiAqIEBuYW1lIHN1Yk1vbnRoc1xuICogQGNhdGVnb3J5IE1vbnRoIEhlbHBlcnNcbiAqIEBzdW1tYXJ5IFN1YnRyYWN0IHRoZSBzcGVjaWZpZWQgbnVtYmVyIG9mIG1vbnRocyBmcm9tIHRoZSBnaXZlbiBkYXRlLlxuICpcbiAqIEBkZXNjcmlwdGlvblxuICogU3VidHJhY3QgdGhlIHNwZWNpZmllZCBudW1iZXIgb2YgbW9udGhzIGZyb20gdGhlIGdpdmVuIGRhdGUuXG4gKlxuICogIyMjIHYyLjAuMCBicmVha2luZyBjaGFuZ2VzOlxuICpcbiAqIC0gW0NoYW5nZXMgdGhhdCBhcmUgY29tbW9uIGZvciB0aGUgd2hvbGUgbGlicmFyeV0oaHR0cHM6Ly9naXRodWIuY29tL2RhdGUtZm5zL2RhdGUtZm5zL2Jsb2IvbWFzdGVyL2RvY3MvdXBncmFkZUd1aWRlLm1kI0NvbW1vbi1DaGFuZ2VzKS5cbiAqXG4gKiBAcGFyYW0ge0RhdGV8TnVtYmVyfSBkYXRlIC0gdGhlIGRhdGUgdG8gYmUgY2hhbmdlZFxuICogQHBhcmFtIHtOdW1iZXJ9IGFtb3VudCAtIHRoZSBhbW91bnQgb2YgbW9udGhzIHRvIGJlIHN1YnRyYWN0ZWRcbiAqIEByZXR1cm5zIHtEYXRlfSB0aGUgbmV3IGRhdGUgd2l0aCB0aGUgbW9udGhzIHN1YnRyYWN0ZWRcbiAqIEB0aHJvd3Mge1R5cGVFcnJvcn0gMiBhcmd1bWVudHMgcmVxdWlyZWRcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gU3VidHJhY3QgNSBtb250aHMgZnJvbSAxIEZlYnJ1YXJ5IDIwMTU6XG4gKiB2YXIgcmVzdWx0ID0gc3ViTW9udGhzKG5ldyBEYXRlKDIwMTUsIDEsIDEpLCA1KVxuICogLy89PiBNb24gU2VwIDAxIDIwMTQgMDA6MDA6MDBcbiAqL1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBzdWJNb250aHMoZGlydHlEYXRlLCBkaXJ0eUFtb3VudCkge1xuICBpZiAoYXJndW1lbnRzLmxlbmd0aCA8IDIpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCcyIGFyZ3VtZW50cyByZXF1aXJlZCwgYnV0IG9ubHkgJyArIGFyZ3VtZW50cy5sZW5ndGggKyAnIHByZXNlbnQnKTtcbiAgfVxuXG4gIHZhciBhbW91bnQgPSB0b0ludGVnZXIoZGlydHlBbW91bnQpO1xuICByZXR1cm4gYWRkTW9udGhzKGRpcnR5RGF0ZSwgLWFtb3VudCk7XG59Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/subMonths/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/subQuarters/index.js": /*!********************************************************!*\ !*** ./node_modules/date-fns/esm/subQuarters/index.js ***! \********************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return subQuarters; });\n/* harmony import */ var _lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_lib/toInteger/index.js */ \"./node_modules/date-fns/esm/_lib/toInteger/index.js\");\n/* harmony import */ var _addQuarters_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../addQuarters/index.js */ \"./node_modules/date-fns/esm/addQuarters/index.js\");\n\n\n/**\n * @name subQuarters\n * @category Quarter Helpers\n * @summary Subtract the specified number of year quarters from the given date.\n *\n * @description\n * Subtract the specified number of year quarters from the given date.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of quarters to be subtracted\n * @returns {Date} the new date with the quarters subtracted\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Subtract 3 quarters from 1 September 2014:\n * var result = subQuarters(new Date(2014, 8, 1), 3)\n * //=> Sun Dec 01 2013 00:00:00\n */\n\nfunction subQuarters(dirtyDate, dirtyAmount) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present');\n }\n\n var amount = Object(_lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyAmount);\n return Object(_addQuarters_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(dirtyDate, -amount);\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL3N1YlF1YXJ0ZXJzL2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2VzbS9zdWJRdWFydGVycy9pbmRleC5qcz81NGJiIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0b0ludGVnZXIgZnJvbSAnLi4vX2xpYi90b0ludGVnZXIvaW5kZXguanMnO1xuaW1wb3J0IGFkZFF1YXJ0ZXJzIGZyb20gJy4uL2FkZFF1YXJ0ZXJzL2luZGV4LmpzJztcbi8qKlxuICogQG5hbWUgc3ViUXVhcnRlcnNcbiAqIEBjYXRlZ29yeSBRdWFydGVyIEhlbHBlcnNcbiAqIEBzdW1tYXJ5IFN1YnRyYWN0IHRoZSBzcGVjaWZpZWQgbnVtYmVyIG9mIHllYXIgcXVhcnRlcnMgZnJvbSB0aGUgZ2l2ZW4gZGF0ZS5cbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIFN1YnRyYWN0IHRoZSBzcGVjaWZpZWQgbnVtYmVyIG9mIHllYXIgcXVhcnRlcnMgZnJvbSB0aGUgZ2l2ZW4gZGF0ZS5cbiAqXG4gKiAjIyMgdjIuMC4wIGJyZWFraW5nIGNoYW5nZXM6XG4gKlxuICogLSBbQ2hhbmdlcyB0aGF0IGFyZSBjb21tb24gZm9yIHRoZSB3aG9sZSBsaWJyYXJ5XShodHRwczovL2dpdGh1Yi5jb20vZGF0ZS1mbnMvZGF0ZS1mbnMvYmxvYi9tYXN0ZXIvZG9jcy91cGdyYWRlR3VpZGUubWQjQ29tbW9uLUNoYW5nZXMpLlxuICpcbiAqIEBwYXJhbSB7RGF0ZXxOdW1iZXJ9IGRhdGUgLSB0aGUgZGF0ZSB0byBiZSBjaGFuZ2VkXG4gKiBAcGFyYW0ge051bWJlcn0gYW1vdW50IC0gdGhlIGFtb3VudCBvZiBxdWFydGVycyB0byBiZSBzdWJ0cmFjdGVkXG4gKiBAcmV0dXJucyB7RGF0ZX0gdGhlIG5ldyBkYXRlIHdpdGggdGhlIHF1YXJ0ZXJzIHN1YnRyYWN0ZWRcbiAqIEB0aHJvd3Mge1R5cGVFcnJvcn0gMiBhcmd1bWVudHMgcmVxdWlyZWRcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gU3VidHJhY3QgMyBxdWFydGVycyBmcm9tIDEgU2VwdGVtYmVyIDIwMTQ6XG4gKiB2YXIgcmVzdWx0ID0gc3ViUXVhcnRlcnMobmV3IERhdGUoMjAxNCwgOCwgMSksIDMpXG4gKiAvLz0+IFN1biBEZWMgMDEgMjAxMyAwMDowMDowMFxuICovXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHN1YlF1YXJ0ZXJzKGRpcnR5RGF0ZSwgZGlydHlBbW91bnQpIHtcbiAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPCAyKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignMiBhcmd1bWVudHMgcmVxdWlyZWQsIGJ1dCBvbmx5ICcgKyBhcmd1bWVudHMubGVuZ3RoICsgJyBwcmVzZW50Jyk7XG4gIH1cblxuICB2YXIgYW1vdW50ID0gdG9JbnRlZ2VyKGRpcnR5QW1vdW50KTtcbiAgcmV0dXJuIGFkZFF1YXJ0ZXJzKGRpcnR5RGF0ZSwgLWFtb3VudCk7XG59Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/subQuarters/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/subSeconds/index.js": /*!*******************************************************!*\ !*** ./node_modules/date-fns/esm/subSeconds/index.js ***! \*******************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return subSeconds; });\n/* harmony import */ var _lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_lib/toInteger/index.js */ \"./node_modules/date-fns/esm/_lib/toInteger/index.js\");\n/* harmony import */ var _addSeconds_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../addSeconds/index.js */ \"./node_modules/date-fns/esm/addSeconds/index.js\");\n\n\n/**\n * @name subSeconds\n * @category Second Helpers\n * @summary Subtract the specified number of seconds from the given date.\n *\n * @description\n * Subtract the specified number of seconds from the given date.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of seconds to be subtracted\n * @returns {Date} the new date with the seconds subtracted\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Subtract 30 seconds from 10 July 2014 12:45:00:\n * var result = subSeconds(new Date(2014, 6, 10, 12, 45, 0), 30)\n * //=> Thu Jul 10 2014 12:44:30\n */\n\nfunction subSeconds(dirtyDate, dirtyAmount) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present');\n }\n\n var amount = Object(_lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyAmount);\n return Object(_addSeconds_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(dirtyDate, -amount);\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL3N1YlNlY29uZHMvaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL3N1YlNlY29uZHMvaW5kZXguanM/NGFlMCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdG9JbnRlZ2VyIGZyb20gJy4uL19saWIvdG9JbnRlZ2VyL2luZGV4LmpzJztcbmltcG9ydCBhZGRTZWNvbmRzIGZyb20gJy4uL2FkZFNlY29uZHMvaW5kZXguanMnO1xuLyoqXG4gKiBAbmFtZSBzdWJTZWNvbmRzXG4gKiBAY2F0ZWdvcnkgU2Vjb25kIEhlbHBlcnNcbiAqIEBzdW1tYXJ5IFN1YnRyYWN0IHRoZSBzcGVjaWZpZWQgbnVtYmVyIG9mIHNlY29uZHMgZnJvbSB0aGUgZ2l2ZW4gZGF0ZS5cbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIFN1YnRyYWN0IHRoZSBzcGVjaWZpZWQgbnVtYmVyIG9mIHNlY29uZHMgZnJvbSB0aGUgZ2l2ZW4gZGF0ZS5cbiAqXG4gKiAjIyMgdjIuMC4wIGJyZWFraW5nIGNoYW5nZXM6XG4gKlxuICogLSBbQ2hhbmdlcyB0aGF0IGFyZSBjb21tb24gZm9yIHRoZSB3aG9sZSBsaWJyYXJ5XShodHRwczovL2dpdGh1Yi5jb20vZGF0ZS1mbnMvZGF0ZS1mbnMvYmxvYi9tYXN0ZXIvZG9jcy91cGdyYWRlR3VpZGUubWQjQ29tbW9uLUNoYW5nZXMpLlxuICpcbiAqIEBwYXJhbSB7RGF0ZXxOdW1iZXJ9IGRhdGUgLSB0aGUgZGF0ZSB0byBiZSBjaGFuZ2VkXG4gKiBAcGFyYW0ge051bWJlcn0gYW1vdW50IC0gdGhlIGFtb3VudCBvZiBzZWNvbmRzIHRvIGJlIHN1YnRyYWN0ZWRcbiAqIEByZXR1cm5zIHtEYXRlfSB0aGUgbmV3IGRhdGUgd2l0aCB0aGUgc2Vjb25kcyBzdWJ0cmFjdGVkXG4gKiBAdGhyb3dzIHtUeXBlRXJyb3J9IDIgYXJndW1lbnRzIHJlcXVpcmVkXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIFN1YnRyYWN0IDMwIHNlY29uZHMgZnJvbSAxMCBKdWx5IDIwMTQgMTI6NDU6MDA6XG4gKiB2YXIgcmVzdWx0ID0gc3ViU2Vjb25kcyhuZXcgRGF0ZSgyMDE0LCA2LCAxMCwgMTIsIDQ1LCAwKSwgMzApXG4gKiAvLz0+IFRodSBKdWwgMTAgMjAxNCAxMjo0NDozMFxuICovXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHN1YlNlY29uZHMoZGlydHlEYXRlLCBkaXJ0eUFtb3VudCkge1xuICBpZiAoYXJndW1lbnRzLmxlbmd0aCA8IDIpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCcyIGFyZ3VtZW50cyByZXF1aXJlZCwgYnV0IG9ubHkgJyArIGFyZ3VtZW50cy5sZW5ndGggKyAnIHByZXNlbnQnKTtcbiAgfVxuXG4gIHZhciBhbW91bnQgPSB0b0ludGVnZXIoZGlydHlBbW91bnQpO1xuICByZXR1cm4gYWRkU2Vjb25kcyhkaXJ0eURhdGUsIC1hbW91bnQpO1xufSJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/subSeconds/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/subWeeks/index.js": /*!*****************************************************!*\ !*** ./node_modules/date-fns/esm/subWeeks/index.js ***! \*****************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return subWeeks; });\n/* harmony import */ var _lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_lib/toInteger/index.js */ \"./node_modules/date-fns/esm/_lib/toInteger/index.js\");\n/* harmony import */ var _addWeeks_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../addWeeks/index.js */ \"./node_modules/date-fns/esm/addWeeks/index.js\");\n\n\n/**\n * @name subWeeks\n * @category Week Helpers\n * @summary Subtract the specified number of weeks from the given date.\n *\n * @description\n * Subtract the specified number of weeks from the given date.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of weeks to be subtracted\n * @returns {Date} the new date with the weeks subtracted\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Subtract 4 weeks from 1 September 2014:\n * var result = subWeeks(new Date(2014, 8, 1), 4)\n * //=> Mon Aug 04 2014 00:00:00\n */\n\nfunction subWeeks(dirtyDate, dirtyAmount) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present');\n }\n\n var amount = Object(_lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyAmount);\n return Object(_addWeeks_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(dirtyDate, -amount);\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL3N1YldlZWtzL2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2VzbS9zdWJXZWVrcy9pbmRleC5qcz9mYzRjIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0b0ludGVnZXIgZnJvbSAnLi4vX2xpYi90b0ludGVnZXIvaW5kZXguanMnO1xuaW1wb3J0IGFkZFdlZWtzIGZyb20gJy4uL2FkZFdlZWtzL2luZGV4LmpzJztcbi8qKlxuICogQG5hbWUgc3ViV2Vla3NcbiAqIEBjYXRlZ29yeSBXZWVrIEhlbHBlcnNcbiAqIEBzdW1tYXJ5IFN1YnRyYWN0IHRoZSBzcGVjaWZpZWQgbnVtYmVyIG9mIHdlZWtzIGZyb20gdGhlIGdpdmVuIGRhdGUuXG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKiBTdWJ0cmFjdCB0aGUgc3BlY2lmaWVkIG51bWJlciBvZiB3ZWVrcyBmcm9tIHRoZSBnaXZlbiBkYXRlLlxuICpcbiAqICMjIyB2Mi4wLjAgYnJlYWtpbmcgY2hhbmdlczpcbiAqXG4gKiAtIFtDaGFuZ2VzIHRoYXQgYXJlIGNvbW1vbiBmb3IgdGhlIHdob2xlIGxpYnJhcnldKGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRlLWZucy9kYXRlLWZucy9ibG9iL21hc3Rlci9kb2NzL3VwZ3JhZGVHdWlkZS5tZCNDb21tb24tQ2hhbmdlcykuXG4gKlxuICogQHBhcmFtIHtEYXRlfE51bWJlcn0gZGF0ZSAtIHRoZSBkYXRlIHRvIGJlIGNoYW5nZWRcbiAqIEBwYXJhbSB7TnVtYmVyfSBhbW91bnQgLSB0aGUgYW1vdW50IG9mIHdlZWtzIHRvIGJlIHN1YnRyYWN0ZWRcbiAqIEByZXR1cm5zIHtEYXRlfSB0aGUgbmV3IGRhdGUgd2l0aCB0aGUgd2Vla3Mgc3VidHJhY3RlZFxuICogQHRocm93cyB7VHlwZUVycm9yfSAyIGFyZ3VtZW50cyByZXF1aXJlZFxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBTdWJ0cmFjdCA0IHdlZWtzIGZyb20gMSBTZXB0ZW1iZXIgMjAxNDpcbiAqIHZhciByZXN1bHQgPSBzdWJXZWVrcyhuZXcgRGF0ZSgyMDE0LCA4LCAxKSwgNClcbiAqIC8vPT4gTW9uIEF1ZyAwNCAyMDE0IDAwOjAwOjAwXG4gKi9cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gc3ViV2Vla3MoZGlydHlEYXRlLCBkaXJ0eUFtb3VudCkge1xuICBpZiAoYXJndW1lbnRzLmxlbmd0aCA8IDIpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCcyIGFyZ3VtZW50cyByZXF1aXJlZCwgYnV0IG9ubHkgJyArIGFyZ3VtZW50cy5sZW5ndGggKyAnIHByZXNlbnQnKTtcbiAgfVxuXG4gIHZhciBhbW91bnQgPSB0b0ludGVnZXIoZGlydHlBbW91bnQpO1xuICByZXR1cm4gYWRkV2Vla3MoZGlydHlEYXRlLCAtYW1vdW50KTtcbn0iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/subWeeks/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/subYears/index.js": /*!*****************************************************!*\ !*** ./node_modules/date-fns/esm/subYears/index.js ***! \*****************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return subYears; });\n/* harmony import */ var _lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_lib/toInteger/index.js */ \"./node_modules/date-fns/esm/_lib/toInteger/index.js\");\n/* harmony import */ var _addYears_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../addYears/index.js */ \"./node_modules/date-fns/esm/addYears/index.js\");\n\n\n/**\n * @name subYears\n * @category Year Helpers\n * @summary Subtract the specified number of years from the given date.\n *\n * @description\n * Subtract the specified number of years from the given date.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of years to be subtracted\n * @returns {Date} the new date with the years subtracted\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Subtract 5 years from 1 September 2014:\n * var result = subYears(new Date(2014, 8, 1), 5)\n * //=> Tue Sep 01 2009 00:00:00\n */\n\nfunction subYears(dirtyDate, dirtyAmount) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present');\n }\n\n var amount = Object(_lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyAmount);\n return Object(_addYears_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(dirtyDate, -amount);\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL3N1YlllYXJzL2luZGV4LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2VzbS9zdWJZZWFycy9pbmRleC5qcz9iMWQwIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0b0ludGVnZXIgZnJvbSAnLi4vX2xpYi90b0ludGVnZXIvaW5kZXguanMnO1xuaW1wb3J0IGFkZFllYXJzIGZyb20gJy4uL2FkZFllYXJzL2luZGV4LmpzJztcbi8qKlxuICogQG5hbWUgc3ViWWVhcnNcbiAqIEBjYXRlZ29yeSBZZWFyIEhlbHBlcnNcbiAqIEBzdW1tYXJ5IFN1YnRyYWN0IHRoZSBzcGVjaWZpZWQgbnVtYmVyIG9mIHllYXJzIGZyb20gdGhlIGdpdmVuIGRhdGUuXG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKiBTdWJ0cmFjdCB0aGUgc3BlY2lmaWVkIG51bWJlciBvZiB5ZWFycyBmcm9tIHRoZSBnaXZlbiBkYXRlLlxuICpcbiAqICMjIyB2Mi4wLjAgYnJlYWtpbmcgY2hhbmdlczpcbiAqXG4gKiAtIFtDaGFuZ2VzIHRoYXQgYXJlIGNvbW1vbiBmb3IgdGhlIHdob2xlIGxpYnJhcnldKGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRlLWZucy9kYXRlLWZucy9ibG9iL21hc3Rlci9kb2NzL3VwZ3JhZGVHdWlkZS5tZCNDb21tb24tQ2hhbmdlcykuXG4gKlxuICogQHBhcmFtIHtEYXRlfE51bWJlcn0gZGF0ZSAtIHRoZSBkYXRlIHRvIGJlIGNoYW5nZWRcbiAqIEBwYXJhbSB7TnVtYmVyfSBhbW91bnQgLSB0aGUgYW1vdW50IG9mIHllYXJzIHRvIGJlIHN1YnRyYWN0ZWRcbiAqIEByZXR1cm5zIHtEYXRlfSB0aGUgbmV3IGRhdGUgd2l0aCB0aGUgeWVhcnMgc3VidHJhY3RlZFxuICogQHRocm93cyB7VHlwZUVycm9yfSAyIGFyZ3VtZW50cyByZXF1aXJlZFxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBTdWJ0cmFjdCA1IHllYXJzIGZyb20gMSBTZXB0ZW1iZXIgMjAxNDpcbiAqIHZhciByZXN1bHQgPSBzdWJZZWFycyhuZXcgRGF0ZSgyMDE0LCA4LCAxKSwgNSlcbiAqIC8vPT4gVHVlIFNlcCAwMSAyMDA5IDAwOjAwOjAwXG4gKi9cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gc3ViWWVhcnMoZGlydHlEYXRlLCBkaXJ0eUFtb3VudCkge1xuICBpZiAoYXJndW1lbnRzLmxlbmd0aCA8IDIpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCcyIGFyZ3VtZW50cyByZXF1aXJlZCwgYnV0IG9ubHkgJyArIGFyZ3VtZW50cy5sZW5ndGggKyAnIHByZXNlbnQnKTtcbiAgfVxuXG4gIHZhciBhbW91bnQgPSB0b0ludGVnZXIoZGlydHlBbW91bnQpO1xuICByZXR1cm4gYWRkWWVhcnMoZGlydHlEYXRlLCAtYW1vdW50KTtcbn0iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/subYears/index.js\n"); /***/ }), /***/ "./node_modules/date-fns/esm/toDate/index.js": /*!***************************************************!*\ !*** ./node_modules/date-fns/esm/toDate/index.js ***! \***************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return toDate; });\n/**\n * @name toDate\n * @category Common Helpers\n * @summary Convert the given argument to an instance of Date.\n *\n * @description\n * Convert the given argument to an instance of Date.\n *\n * If the argument is an instance of Date, the function returns its clone.\n *\n * If the argument is a number, it is treated as a timestamp.\n *\n * If the argument is none of the above, the function returns Invalid Date.\n *\n * **Note**: *all* Date arguments passed to any *date-fns* function is processed by `toDate`.\n *\n * @param {Date|Number} argument - the value to convert\n * @returns {Date} the parsed date in the local time zone\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Clone the date:\n * const result = toDate(new Date(2014, 1, 11, 11, 30, 30))\n * //=> Tue Feb 11 2014 11:30:30\n *\n * @example\n * // Convert the timestamp to date:\n * const result = toDate(1392098430000)\n * //=> Tue Feb 11 2014 11:30:30\n */\nfunction toDate(argument) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n var argStr = Object.prototype.toString.call(argument); // Clone the date\n\n if (argument instanceof Date || typeof argument === 'object' && argStr === '[object Date]') {\n // Prevent the date to lose the milliseconds when passed to new Date() in IE10\n return new Date(argument.getTime());\n } else if (typeof argument === 'number' || argStr === '[object Number]') {\n return new Date(argument);\n } else {\n if ((typeof argument === 'string' || argStr === '[object String]') && typeof console !== 'undefined') {\n // eslint-disable-next-line no-console\n console.warn(\"Starting with v2.0.0-beta.1 date-fns doesn't accept strings as arguments. Please use `parseISO` to parse strings. See: https://git.io/fjule\"); // eslint-disable-next-line no-console\n\n console.warn(new Error().stack);\n }\n\n return new Date(NaN);\n }\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZXNtL3RvRGF0ZS9pbmRleC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9kYXRlLWZucy9lc20vdG9EYXRlL2luZGV4LmpzP2ZkM2EiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbmFtZSB0b0RhdGVcbiAqIEBjYXRlZ29yeSBDb21tb24gSGVscGVyc1xuICogQHN1bW1hcnkgQ29udmVydCB0aGUgZ2l2ZW4gYXJndW1lbnQgdG8gYW4gaW5zdGFuY2Ugb2YgRGF0ZS5cbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIENvbnZlcnQgdGhlIGdpdmVuIGFyZ3VtZW50IHRvIGFuIGluc3RhbmNlIG9mIERhdGUuXG4gKlxuICogSWYgdGhlIGFyZ3VtZW50IGlzIGFuIGluc3RhbmNlIG9mIERhdGUsIHRoZSBmdW5jdGlvbiByZXR1cm5zIGl0cyBjbG9uZS5cbiAqXG4gKiBJZiB0aGUgYXJndW1lbnQgaXMgYSBudW1iZXIsIGl0IGlzIHRyZWF0ZWQgYXMgYSB0aW1lc3RhbXAuXG4gKlxuICogSWYgdGhlIGFyZ3VtZW50IGlzIG5vbmUgb2YgdGhlIGFib3ZlLCB0aGUgZnVuY3Rpb24gcmV0dXJucyBJbnZhbGlkIERhdGUuXG4gKlxuICogKipOb3RlKio6ICphbGwqIERhdGUgYXJndW1lbnRzIHBhc3NlZCB0byBhbnkgKmRhdGUtZm5zKiBmdW5jdGlvbiBpcyBwcm9jZXNzZWQgYnkgYHRvRGF0ZWAuXG4gKlxuICogQHBhcmFtIHtEYXRlfE51bWJlcn0gYXJndW1lbnQgLSB0aGUgdmFsdWUgdG8gY29udmVydFxuICogQHJldHVybnMge0RhdGV9IHRoZSBwYXJzZWQgZGF0ZSBpbiB0aGUgbG9jYWwgdGltZSB6b25lXG4gKiBAdGhyb3dzIHtUeXBlRXJyb3J9IDEgYXJndW1lbnQgcmVxdWlyZWRcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gQ2xvbmUgdGhlIGRhdGU6XG4gKiBjb25zdCByZXN1bHQgPSB0b0RhdGUobmV3IERhdGUoMjAxNCwgMSwgMTEsIDExLCAzMCwgMzApKVxuICogLy89PiBUdWUgRmViIDExIDIwMTQgMTE6MzA6MzBcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gQ29udmVydCB0aGUgdGltZXN0YW1wIHRvIGRhdGU6XG4gKiBjb25zdCByZXN1bHQgPSB0b0RhdGUoMTM5MjA5ODQzMDAwMClcbiAqIC8vPT4gVHVlIEZlYiAxMSAyMDE0IDExOjMwOjMwXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHRvRGF0ZShhcmd1bWVudCkge1xuICBpZiAoYXJndW1lbnRzLmxlbmd0aCA8IDEpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCcxIGFyZ3VtZW50IHJlcXVpcmVkLCBidXQgb25seSAnICsgYXJndW1lbnRzLmxlbmd0aCArICcgcHJlc2VudCcpO1xuICB9XG5cbiAgdmFyIGFyZ1N0ciA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChhcmd1bWVudCk7IC8vIENsb25lIHRoZSBkYXRlXG5cbiAgaWYgKGFyZ3VtZW50IGluc3RhbmNlb2YgRGF0ZSB8fCB0eXBlb2YgYXJndW1lbnQgPT09ICdvYmplY3QnICYmIGFyZ1N0ciA9PT0gJ1tvYmplY3QgRGF0ZV0nKSB7XG4gICAgLy8gUHJldmVudCB0aGUgZGF0ZSB0byBsb3NlIHRoZSBtaWxsaXNlY29uZHMgd2hlbiBwYXNzZWQgdG8gbmV3IERhdGUoKSBpbiBJRTEwXG4gICAgcmV0dXJuIG5ldyBEYXRlKGFyZ3VtZW50LmdldFRpbWUoKSk7XG4gIH0gZWxzZSBpZiAodHlwZW9mIGFyZ3VtZW50ID09PSAnbnVtYmVyJyB8fCBhcmdTdHIgPT09ICdbb2JqZWN0IE51bWJlcl0nKSB7XG4gICAgcmV0dXJuIG5ldyBEYXRlKGFyZ3VtZW50KTtcbiAgfSBlbHNlIHtcbiAgICBpZiAoKHR5cGVvZiBhcmd1bWVudCA9PT0gJ3N0cmluZycgfHwgYXJnU3RyID09PSAnW29iamVjdCBTdHJpbmddJykgJiYgdHlwZW9mIGNvbnNvbGUgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICAgICAgY29uc29sZS53YXJuKFwiU3RhcnRpbmcgd2l0aCB2Mi4wLjAtYmV0YS4xIGRhdGUtZm5zIGRvZXNuJ3QgYWNjZXB0IHN0cmluZ3MgYXMgYXJndW1lbnRzLiBQbGVhc2UgdXNlIGBwYXJzZUlTT2AgdG8gcGFyc2Ugc3RyaW5ncy4gU2VlOiBodHRwczovL2dpdC5pby9manVsZVwiKTsgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcblxuICAgICAgY29uc29sZS53YXJuKG5ldyBFcnJvcigpLnN0YWNrKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbmV3IERhdGUoTmFOKTtcbiAgfVxufSJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/date-fns/esm/toDate/index.js\n"); /***/ }), /***/ "./node_modules/deep-equal/index.js": /*!******************************************!*\ !*** ./node_modules/deep-equal/index.js ***! \******************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("var objectKeys = __webpack_require__(/*! object-keys */ \"./node_modules/object-keys/index.js\");\nvar isArguments = __webpack_require__(/*! is-arguments */ \"./node_modules/is-arguments/index.js\");\nvar is = __webpack_require__(/*! object-is */ \"./node_modules/object-is/index.js\");\nvar isRegex = __webpack_require__(/*! is-regex */ \"./node_modules/is-regex/index.js\");\nvar flags = __webpack_require__(/*! regexp.prototype.flags */ \"./node_modules/regexp.prototype.flags/index.js\");\nvar isDate = __webpack_require__(/*! is-date-object */ \"./node_modules/is-date-object/index.js\");\n\nvar getTime = Date.prototype.getTime;\n\nfunction deepEqual(actual, expected, options) {\n var opts = options || {};\n\n // 7.1. All identical values are equivalent, as determined by ===.\n if (opts.strict ? is(actual, expected) : actual === expected) {\n return true;\n }\n\n // 7.3. Other pairs that do not both pass typeof value == 'object', equivalence is determined by ==.\n if (!actual || !expected || (typeof actual !== 'object' && typeof expected !== 'object')) {\n return opts.strict ? is(actual, expected) : actual == expected;\n }\n\n /*\n * 7.4. For all other Object pairs, including Array objects, equivalence is\n * determined by having the same number of owned properties (as verified\n * with Object.prototype.hasOwnProperty.call), the same set of keys\n * (although not necessarily the same order), equivalent values for every\n * corresponding key, and an identical 'prototype' property. Note: this\n * accounts for both named and indexed properties on Arrays.\n */\n // eslint-disable-next-line no-use-before-define\n return objEquiv(actual, expected, opts);\n}\n\nfunction isUndefinedOrNull(value) {\n return value === null || value === undefined;\n}\n\nfunction isBuffer(x) {\n if (!x || typeof x !== 'object' || typeof x.length !== 'number') {\n return false;\n }\n if (typeof x.copy !== 'function' || typeof x.slice !== 'function') {\n return false;\n }\n if (x.length > 0 && typeof x[0] !== 'number') {\n return false;\n }\n return true;\n}\n\nfunction objEquiv(a, b, opts) {\n /* eslint max-statements: [2, 50] */\n var i, key;\n if (typeof a !== typeof b) { return false; }\n if (isUndefinedOrNull(a) || isUndefinedOrNull(b)) { return false; }\n\n // an identical 'prototype' property.\n if (a.prototype !== b.prototype) { return false; }\n\n if (isArguments(a) !== isArguments(b)) { return false; }\n\n var aIsRegex = isRegex(a);\n var bIsRegex = isRegex(b);\n if (aIsRegex !== bIsRegex) { return false; }\n if (aIsRegex || bIsRegex) {\n return a.source === b.source && flags(a) === flags(b);\n }\n\n if (isDate(a) && isDate(b)) {\n return getTime.call(a) === getTime.call(b);\n }\n\n var aIsBuffer = isBuffer(a);\n var bIsBuffer = isBuffer(b);\n if (aIsBuffer !== bIsBuffer) { return false; }\n if (aIsBuffer || bIsBuffer) { // && would work too, because both are true or both false here\n if (a.length !== b.length) { return false; }\n for (i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) { return false; }\n }\n return true;\n }\n\n if (typeof a !== typeof b) { return false; }\n\n try {\n var ka = objectKeys(a);\n var kb = objectKeys(b);\n } catch (e) { // happens when one is a string literal and the other isn't\n return false;\n }\n // having the same number of owned properties (keys incorporates hasOwnProperty)\n if (ka.length !== kb.length) { return false; }\n\n // the same set of keys (although not necessarily the same order),\n ka.sort();\n kb.sort();\n // ~~~cheap key test\n for (i = ka.length - 1; i >= 0; i--) {\n if (ka[i] != kb[i]) { return false; }\n }\n // equivalent values for every corresponding key, and ~~~possibly expensive deep test\n for (i = ka.length - 1; i >= 0; i--) {\n key = ka[i];\n if (!deepEqual(a[key], b[key], opts)) { return false; }\n }\n\n return true;\n}\n\nmodule.exports = deepEqual;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGVlcC1lcXVhbC9pbmRleC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9kZWVwLWVxdWFsL2luZGV4LmpzPzdmYWUiXSwic291cmNlc0NvbnRlbnQiOlsidmFyIG9iamVjdEtleXMgPSByZXF1aXJlKCdvYmplY3Qta2V5cycpO1xudmFyIGlzQXJndW1lbnRzID0gcmVxdWlyZSgnaXMtYXJndW1lbnRzJyk7XG52YXIgaXMgPSByZXF1aXJlKCdvYmplY3QtaXMnKTtcbnZhciBpc1JlZ2V4ID0gcmVxdWlyZSgnaXMtcmVnZXgnKTtcbnZhciBmbGFncyA9IHJlcXVpcmUoJ3JlZ2V4cC5wcm90b3R5cGUuZmxhZ3MnKTtcbnZhciBpc0RhdGUgPSByZXF1aXJlKCdpcy1kYXRlLW9iamVjdCcpO1xuXG52YXIgZ2V0VGltZSA9IERhdGUucHJvdG90eXBlLmdldFRpbWU7XG5cbmZ1bmN0aW9uIGRlZXBFcXVhbChhY3R1YWwsIGV4cGVjdGVkLCBvcHRpb25zKSB7XG4gIHZhciBvcHRzID0gb3B0aW9ucyB8fCB7fTtcblxuICAvLyA3LjEuIEFsbCBpZGVudGljYWwgdmFsdWVzIGFyZSBlcXVpdmFsZW50LCBhcyBkZXRlcm1pbmVkIGJ5ID09PS5cbiAgaWYgKG9wdHMuc3RyaWN0ID8gaXMoYWN0dWFsLCBleHBlY3RlZCkgOiBhY3R1YWwgPT09IGV4cGVjdGVkKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICAvLyA3LjMuIE90aGVyIHBhaXJzIHRoYXQgZG8gbm90IGJvdGggcGFzcyB0eXBlb2YgdmFsdWUgPT0gJ29iamVjdCcsIGVxdWl2YWxlbmNlIGlzIGRldGVybWluZWQgYnkgPT0uXG4gIGlmICghYWN0dWFsIHx8ICFleHBlY3RlZCB8fCAodHlwZW9mIGFjdHVhbCAhPT0gJ29iamVjdCcgJiYgdHlwZW9mIGV4cGVjdGVkICE9PSAnb2JqZWN0JykpIHtcbiAgICByZXR1cm4gb3B0cy5zdHJpY3QgPyBpcyhhY3R1YWwsIGV4cGVjdGVkKSA6IGFjdHVhbCA9PSBleHBlY3RlZDtcbiAgfVxuXG4gIC8qXG4gICAqIDcuNC4gRm9yIGFsbCBvdGhlciBPYmplY3QgcGFpcnMsIGluY2x1ZGluZyBBcnJheSBvYmplY3RzLCBlcXVpdmFsZW5jZSBpc1xuICAgKiBkZXRlcm1pbmVkIGJ5IGhhdmluZyB0aGUgc2FtZSBudW1iZXIgb2Ygb3duZWQgcHJvcGVydGllcyAoYXMgdmVyaWZpZWRcbiAgICogd2l0aCBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwpLCB0aGUgc2FtZSBzZXQgb2Yga2V5c1xuICAgKiAoYWx0aG91Z2ggbm90IG5lY2Vzc2FyaWx5IHRoZSBzYW1lIG9yZGVyKSwgZXF1aXZhbGVudCB2YWx1ZXMgZm9yIGV2ZXJ5XG4gICAqIGNvcnJlc3BvbmRpbmcga2V5LCBhbmQgYW4gaWRlbnRpY2FsICdwcm90b3R5cGUnIHByb3BlcnR5LiBOb3RlOiB0aGlzXG4gICAqIGFjY291bnRzIGZvciBib3RoIG5hbWVkIGFuZCBpbmRleGVkIHByb3BlcnRpZXMgb24gQXJyYXlzLlxuICAgKi9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVzZS1iZWZvcmUtZGVmaW5lXG4gIHJldHVybiBvYmpFcXVpdihhY3R1YWwsIGV4cGVjdGVkLCBvcHRzKTtcbn1cblxuZnVuY3Rpb24gaXNVbmRlZmluZWRPck51bGwodmFsdWUpIHtcbiAgcmV0dXJuIHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSB1bmRlZmluZWQ7XG59XG5cbmZ1bmN0aW9uIGlzQnVmZmVyKHgpIHtcbiAgaWYgKCF4IHx8IHR5cGVvZiB4ICE9PSAnb2JqZWN0JyB8fCB0eXBlb2YgeC5sZW5ndGggIT09ICdudW1iZXInKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGlmICh0eXBlb2YgeC5jb3B5ICE9PSAnZnVuY3Rpb24nIHx8IHR5cGVvZiB4LnNsaWNlICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGlmICh4Lmxlbmd0aCA+IDAgJiYgdHlwZW9mIHhbMF0gIT09ICdudW1iZXInKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHJldHVybiB0cnVlO1xufVxuXG5mdW5jdGlvbiBvYmpFcXVpdihhLCBiLCBvcHRzKSB7XG4gIC8qIGVzbGludCBtYXgtc3RhdGVtZW50czogWzIsIDUwXSAqL1xuICB2YXIgaSwga2V5O1xuICBpZiAodHlwZW9mIGEgIT09IHR5cGVvZiBiKSB7IHJldHVybiBmYWxzZTsgfVxuICBpZiAoaXNVbmRlZmluZWRPck51bGwoYSkgfHwgaXNVbmRlZmluZWRPck51bGwoYikpIHsgcmV0dXJuIGZhbHNlOyB9XG5cbiAgLy8gYW4gaWRlbnRpY2FsICdwcm90b3R5cGUnIHByb3BlcnR5LlxuICBpZiAoYS5wcm90b3R5cGUgIT09IGIucHJvdG90eXBlKSB7IHJldHVybiBmYWxzZTsgfVxuXG4gIGlmIChpc0FyZ3VtZW50cyhhKSAhPT0gaXNBcmd1bWVudHMoYikpIHsgcmV0dXJuIGZhbHNlOyB9XG5cbiAgdmFyIGFJc1JlZ2V4ID0gaXNSZWdleChhKTtcbiAgdmFyIGJJc1JlZ2V4ID0gaXNSZWdleChiKTtcbiAgaWYgKGFJc1JlZ2V4ICE9PSBiSXNSZWdleCkgeyByZXR1cm4gZmFsc2U7IH1cbiAgaWYgKGFJc1JlZ2V4IHx8IGJJc1JlZ2V4KSB7XG4gICAgcmV0dXJuIGEuc291cmNlID09PSBiLnNvdXJjZSAmJiBmbGFncyhhKSA9PT0gZmxhZ3MoYik7XG4gIH1cblxuICBpZiAoaXNEYXRlKGEpICYmIGlzRGF0ZShiKSkge1xuICAgIHJldHVybiBnZXRUaW1lLmNhbGwoYSkgPT09IGdldFRpbWUuY2FsbChiKTtcbiAgfVxuXG4gIHZhciBhSXNCdWZmZXIgPSBpc0J1ZmZlcihhKTtcbiAgdmFyIGJJc0J1ZmZlciA9IGlzQnVmZmVyKGIpO1xuICBpZiAoYUlzQnVmZmVyICE9PSBiSXNCdWZmZXIpIHsgcmV0dXJuIGZhbHNlOyB9XG4gIGlmIChhSXNCdWZmZXIgfHwgYklzQnVmZmVyKSB7IC8vICYmIHdvdWxkIHdvcmsgdG9vLCBiZWNhdXNlIGJvdGggYXJlIHRydWUgb3IgYm90aCBmYWxzZSBoZXJlXG4gICAgaWYgKGEubGVuZ3RoICE9PSBiLmxlbmd0aCkgeyByZXR1cm4gZmFsc2U7IH1cbiAgICBmb3IgKGkgPSAwOyBpIDwgYS5sZW5ndGg7IGkrKykge1xuICAgICAgaWYgKGFbaV0gIT09IGJbaV0pIHsgcmV0dXJuIGZhbHNlOyB9XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgaWYgKHR5cGVvZiBhICE9PSB0eXBlb2YgYikgeyByZXR1cm4gZmFsc2U7IH1cblxuICB0cnkge1xuICAgIHZhciBrYSA9IG9iamVjdEtleXMoYSk7XG4gICAgdmFyIGtiID0gb2JqZWN0S2V5cyhiKTtcbiAgfSBjYXRjaCAoZSkgeyAvLyBoYXBwZW5zIHdoZW4gb25lIGlzIGEgc3RyaW5nIGxpdGVyYWwgYW5kIHRoZSBvdGhlciBpc24ndFxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICAvLyBoYXZpbmcgdGhlIHNhbWUgbnVtYmVyIG9mIG93bmVkIHByb3BlcnRpZXMgKGtleXMgaW5jb3Jwb3JhdGVzIGhhc093blByb3BlcnR5KVxuICBpZiAoa2EubGVuZ3RoICE9PSBrYi5sZW5ndGgpIHsgcmV0dXJuIGZhbHNlOyB9XG5cbiAgLy8gdGhlIHNhbWUgc2V0IG9mIGtleXMgKGFsdGhvdWdoIG5vdCBuZWNlc3NhcmlseSB0aGUgc2FtZSBvcmRlciksXG4gIGthLnNvcnQoKTtcbiAga2Iuc29ydCgpO1xuICAvLyB+fn5jaGVhcCBrZXkgdGVzdFxuICBmb3IgKGkgPSBrYS5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xuICAgIGlmIChrYVtpXSAhPSBrYltpXSkgeyByZXR1cm4gZmFsc2U7IH1cbiAgfVxuICAvLyBlcXVpdmFsZW50IHZhbHVlcyBmb3IgZXZlcnkgY29ycmVzcG9uZGluZyBrZXksIGFuZCB+fn5wb3NzaWJseSBleHBlbnNpdmUgZGVlcCB0ZXN0XG4gIGZvciAoaSA9IGthLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XG4gICAga2V5ID0ga2FbaV07XG4gICAgaWYgKCFkZWVwRXF1YWwoYVtrZXldLCBiW2tleV0sIG9wdHMpKSB7IHJldHVybiBmYWxzZTsgfVxuICB9XG5cbiAgcmV0dXJuIHRydWU7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gZGVlcEVxdWFsO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/deep-equal/index.js\n"); /***/ }), /***/ "./node_modules/define-properties/index.js": /*!*************************************************!*\ !*** ./node_modules/define-properties/index.js ***! \*************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; eval("\n\nvar keys = __webpack_require__(/*! object-keys */ \"./node_modules/object-keys/index.js\");\nvar foreach = __webpack_require__(/*! foreach */ \"./node_modules/foreach/index.js\");\nvar hasSymbols = typeof Symbol === 'function' && typeof Symbol() === 'symbol';\n\nvar toStr = Object.prototype.toString;\n\nvar isFunction = function (fn) {\n\treturn typeof fn === 'function' && toStr.call(fn) === '[object Function]';\n};\n\nvar arePropertyDescriptorsSupported = function () {\n\tvar obj = {};\n\ttry {\n\t\tObject.defineProperty(obj, 'x', { enumerable: false, value: obj });\n /* eslint-disable no-unused-vars, no-restricted-syntax */\n for (var _ in obj) { return false; }\n /* eslint-enable no-unused-vars, no-restricted-syntax */\n\t\treturn obj.x === obj;\n\t} catch (e) { /* this is IE 8. */\n\t\treturn false;\n\t}\n};\nvar supportsDescriptors = Object.defineProperty && arePropertyDescriptorsSupported();\n\nvar defineProperty = function (object, name, value, predicate) {\n\tif (name in object && (!isFunction(predicate) || !predicate())) {\n\t\treturn;\n\t}\n\tif (supportsDescriptors) {\n\t\tObject.defineProperty(object, name, {\n\t\t\tconfigurable: true,\n\t\t\tenumerable: false,\n\t\t\tvalue: value,\n\t\t\twritable: true\n\t\t});\n\t} else {\n\t\tobject[name] = value;\n\t}\n};\n\nvar defineProperties = function (object, map) {\n\tvar predicates = arguments.length > 2 ? arguments[2] : {};\n\tvar props = keys(map);\n\tif (hasSymbols) {\n\t\tprops = props.concat(Object.getOwnPropertySymbols(map));\n\t}\n\tforeach(props, function (name) {\n\t\tdefineProperty(object, name, map[name], predicates[name]);\n\t});\n};\n\ndefineProperties.supportsDescriptors = !!supportsDescriptors;\n\nmodule.exports = defineProperties;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGVmaW5lLXByb3BlcnRpZXMvaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZGVmaW5lLXByb3BlcnRpZXMvaW5kZXguanM/ZjM2NyJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbnZhciBrZXlzID0gcmVxdWlyZSgnb2JqZWN0LWtleXMnKTtcbnZhciBmb3JlYWNoID0gcmVxdWlyZSgnZm9yZWFjaCcpO1xudmFyIGhhc1N5bWJvbHMgPSB0eXBlb2YgU3ltYm9sID09PSAnZnVuY3Rpb24nICYmIHR5cGVvZiBTeW1ib2woKSA9PT0gJ3N5bWJvbCc7XG5cbnZhciB0b1N0ciA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7XG5cbnZhciBpc0Z1bmN0aW9uID0gZnVuY3Rpb24gKGZuKSB7XG5cdHJldHVybiB0eXBlb2YgZm4gPT09ICdmdW5jdGlvbicgJiYgdG9TdHIuY2FsbChmbikgPT09ICdbb2JqZWN0IEZ1bmN0aW9uXSc7XG59O1xuXG52YXIgYXJlUHJvcGVydHlEZXNjcmlwdG9yc1N1cHBvcnRlZCA9IGZ1bmN0aW9uICgpIHtcblx0dmFyIG9iaiA9IHt9O1xuXHR0cnkge1xuXHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICd4JywgeyBlbnVtZXJhYmxlOiBmYWxzZSwgdmFsdWU6IG9iaiB9KTtcbiAgICAgICAgLyogZXNsaW50LWRpc2FibGUgbm8tdW51c2VkLXZhcnMsIG5vLXJlc3RyaWN0ZWQtc3ludGF4ICovXG4gICAgICAgIGZvciAodmFyIF8gaW4gb2JqKSB7IHJldHVybiBmYWxzZTsgfVxuICAgICAgICAvKiBlc2xpbnQtZW5hYmxlIG5vLXVudXNlZC12YXJzLCBuby1yZXN0cmljdGVkLXN5bnRheCAqL1xuXHRcdHJldHVybiBvYmoueCA9PT0gb2JqO1xuXHR9IGNhdGNoIChlKSB7IC8qIHRoaXMgaXMgSUUgOC4gKi9cblx0XHRyZXR1cm4gZmFsc2U7XG5cdH1cbn07XG52YXIgc3VwcG9ydHNEZXNjcmlwdG9ycyA9IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAmJiBhcmVQcm9wZXJ0eURlc2NyaXB0b3JzU3VwcG9ydGVkKCk7XG5cbnZhciBkZWZpbmVQcm9wZXJ0eSA9IGZ1bmN0aW9uIChvYmplY3QsIG5hbWUsIHZhbHVlLCBwcmVkaWNhdGUpIHtcblx0aWYgKG5hbWUgaW4gb2JqZWN0ICYmICghaXNGdW5jdGlvbihwcmVkaWNhdGUpIHx8ICFwcmVkaWNhdGUoKSkpIHtcblx0XHRyZXR1cm47XG5cdH1cblx0aWYgKHN1cHBvcnRzRGVzY3JpcHRvcnMpIHtcblx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqZWN0LCBuYW1lLCB7XG5cdFx0XHRjb25maWd1cmFibGU6IHRydWUsXG5cdFx0XHRlbnVtZXJhYmxlOiBmYWxzZSxcblx0XHRcdHZhbHVlOiB2YWx1ZSxcblx0XHRcdHdyaXRhYmxlOiB0cnVlXG5cdFx0fSk7XG5cdH0gZWxzZSB7XG5cdFx0b2JqZWN0W25hbWVdID0gdmFsdWU7XG5cdH1cbn07XG5cbnZhciBkZWZpbmVQcm9wZXJ0aWVzID0gZnVuY3Rpb24gKG9iamVjdCwgbWFwKSB7XG5cdHZhciBwcmVkaWNhdGVzID0gYXJndW1lbnRzLmxlbmd0aCA+IDIgPyBhcmd1bWVudHNbMl0gOiB7fTtcblx0dmFyIHByb3BzID0ga2V5cyhtYXApO1xuXHRpZiAoaGFzU3ltYm9scykge1xuXHRcdHByb3BzID0gcHJvcHMuY29uY2F0KE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMobWFwKSk7XG5cdH1cblx0Zm9yZWFjaChwcm9wcywgZnVuY3Rpb24gKG5hbWUpIHtcblx0XHRkZWZpbmVQcm9wZXJ0eShvYmplY3QsIG5hbWUsIG1hcFtuYW1lXSwgcHJlZGljYXRlc1tuYW1lXSk7XG5cdH0pO1xufTtcblxuZGVmaW5lUHJvcGVydGllcy5zdXBwb3J0c0Rlc2NyaXB0b3JzID0gISFzdXBwb3J0c0Rlc2NyaXB0b3JzO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGRlZmluZVByb3BlcnRpZXM7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/define-properties/index.js\n"); /***/ }), /***/ "./node_modules/detect-indent/index.js": /*!*********************************************!*\ !*** ./node_modules/detect-indent/index.js ***! \*********************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; eval("\n\n// detect either spaces or tabs but not both to properly handle tabs\n// for indentation and spaces for alignment\nconst INDENT_RE = /^(?:( )+|\\t+)/;\n\nfunction getMostUsed(indents) {\n\tlet result = 0;\n\tlet maxUsed = 0;\n\tlet maxWeight = 0;\n\n\tfor (const entry of indents) {\n\t\t// TODO: use destructuring when targeting Node.js 6\n\t\tconst key = entry[0];\n\t\tconst val = entry[1];\n\n\t\tconst u = val[0];\n\t\tconst w = val[1];\n\n\t\tif (u > maxUsed || (u === maxUsed && w > maxWeight)) {\n\t\t\tmaxUsed = u;\n\t\t\tmaxWeight = w;\n\t\t\tresult = Number(key);\n\t\t}\n\t}\n\n\treturn result;\n}\n\nmodule.exports = str => {\n\tif (typeof str !== 'string') {\n\t\tthrow new TypeError('Expected a string');\n\t}\n\n\t// used to see if tabs or spaces are the most used\n\tlet tabs = 0;\n\tlet spaces = 0;\n\n\t// remember the size of previous line's indentation\n\tlet prev = 0;\n\n\t// remember how many indents/unindents as occurred for a given size\n\t// and how much lines follow a given indentation\n\t//\n\t// indents = {\n\t// 3: [1, 0],\n\t// 4: [1, 5],\n\t// 5: [1, 0],\n\t// 12: [1, 0],\n\t// }\n\tconst indents = new Map();\n\n\t// pointer to the array of last used indent\n\tlet current;\n\n\t// whether the last action was an indent (opposed to an unindent)\n\tlet isIndent;\n\n\tfor (const line of str.split(/\\n/g)) {\n\t\tif (!line) {\n\t\t\t// ignore empty lines\n\t\t\tcontinue;\n\t\t}\n\n\t\tlet indent;\n\t\tconst matches = line.match(INDENT_RE);\n\n\t\tif (matches) {\n\t\t\tindent = matches[0].length;\n\n\t\t\tif (matches[1]) {\n\t\t\t\tspaces++;\n\t\t\t} else {\n\t\t\t\ttabs++;\n\t\t\t}\n\t\t} else {\n\t\t\tindent = 0;\n\t\t}\n\n\t\tconst diff = indent - prev;\n\t\tprev = indent;\n\n\t\tif (diff) {\n\t\t\t// an indent or unindent has been detected\n\n\t\t\tisIndent = diff > 0;\n\n\t\t\tcurrent = indents.get(isIndent ? diff : -diff);\n\n\t\t\tif (current) {\n\t\t\t\tcurrent[0]++;\n\t\t\t} else {\n\t\t\t\tcurrent = [1, 0];\n\t\t\t\tindents.set(diff, current);\n\t\t\t}\n\t\t} else if (current) {\n\t\t\t// if the last action was an indent, increment the weight\n\t\t\tcurrent[1] += Number(isIndent);\n\t\t}\n\t}\n\n\tconst amount = getMostUsed(indents);\n\n\tlet type;\n\tlet indent;\n\tif (!amount) {\n\t\ttype = null;\n\t\tindent = '';\n\t} else if (spaces >= tabs) {\n\t\ttype = 'space';\n\t\tindent = ' '.repeat(amount);\n\t} else {\n\t\ttype = 'tab';\n\t\tindent = '\\t'.repeat(amount);\n\t}\n\n\treturn {\n\t\tamount,\n\t\ttype,\n\t\tindent\n\t};\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGV0ZWN0LWluZGVudC9pbmRleC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9kZXRlY3QtaW5kZW50L2luZGV4LmpzP2I2ZGUiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG4vLyBkZXRlY3QgZWl0aGVyIHNwYWNlcyBvciB0YWJzIGJ1dCBub3QgYm90aCB0byBwcm9wZXJseSBoYW5kbGUgdGFic1xuLy8gZm9yIGluZGVudGF0aW9uIGFuZCBzcGFjZXMgZm9yIGFsaWdubWVudFxuY29uc3QgSU5ERU5UX1JFID0gL14oPzooICkrfFxcdCspLztcblxuZnVuY3Rpb24gZ2V0TW9zdFVzZWQoaW5kZW50cykge1xuXHRsZXQgcmVzdWx0ID0gMDtcblx0bGV0IG1heFVzZWQgPSAwO1xuXHRsZXQgbWF4V2VpZ2h0ID0gMDtcblxuXHRmb3IgKGNvbnN0IGVudHJ5IG9mIGluZGVudHMpIHtcblx0XHQvLyBUT0RPOiB1c2UgZGVzdHJ1Y3R1cmluZyB3aGVuIHRhcmdldGluZyBOb2RlLmpzIDZcblx0XHRjb25zdCBrZXkgPSBlbnRyeVswXTtcblx0XHRjb25zdCB2YWwgPSBlbnRyeVsxXTtcblxuXHRcdGNvbnN0IHUgPSB2YWxbMF07XG5cdFx0Y29uc3QgdyA9IHZhbFsxXTtcblxuXHRcdGlmICh1ID4gbWF4VXNlZCB8fCAodSA9PT0gbWF4VXNlZCAmJiB3ID4gbWF4V2VpZ2h0KSkge1xuXHRcdFx0bWF4VXNlZCA9IHU7XG5cdFx0XHRtYXhXZWlnaHQgPSB3O1xuXHRcdFx0cmVzdWx0ID0gTnVtYmVyKGtleSk7XG5cdFx0fVxuXHR9XG5cblx0cmV0dXJuIHJlc3VsdDtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBzdHIgPT4ge1xuXHRpZiAodHlwZW9mIHN0ciAhPT0gJ3N0cmluZycpIHtcblx0XHR0aHJvdyBuZXcgVHlwZUVycm9yKCdFeHBlY3RlZCBhIHN0cmluZycpO1xuXHR9XG5cblx0Ly8gdXNlZCB0byBzZWUgaWYgdGFicyBvciBzcGFjZXMgYXJlIHRoZSBtb3N0IHVzZWRcblx0bGV0IHRhYnMgPSAwO1xuXHRsZXQgc3BhY2VzID0gMDtcblxuXHQvLyByZW1lbWJlciB0aGUgc2l6ZSBvZiBwcmV2aW91cyBsaW5lJ3MgaW5kZW50YXRpb25cblx0bGV0IHByZXYgPSAwO1xuXG5cdC8vIHJlbWVtYmVyIGhvdyBtYW55IGluZGVudHMvdW5pbmRlbnRzIGFzIG9jY3VycmVkIGZvciBhIGdpdmVuIHNpemVcblx0Ly8gYW5kIGhvdyBtdWNoIGxpbmVzIGZvbGxvdyBhIGdpdmVuIGluZGVudGF0aW9uXG5cdC8vXG5cdC8vIGluZGVudHMgPSB7XG5cdC8vICAgIDM6IFsxLCAwXSxcblx0Ly8gICAgNDogWzEsIDVdLFxuXHQvLyAgICA1OiBbMSwgMF0sXG5cdC8vICAgMTI6IFsxLCAwXSxcblx0Ly8gfVxuXHRjb25zdCBpbmRlbnRzID0gbmV3IE1hcCgpO1xuXG5cdC8vIHBvaW50ZXIgdG8gdGhlIGFycmF5IG9mIGxhc3QgdXNlZCBpbmRlbnRcblx0bGV0IGN1cnJlbnQ7XG5cblx0Ly8gd2hldGhlciB0aGUgbGFzdCBhY3Rpb24gd2FzIGFuIGluZGVudCAob3Bwb3NlZCB0byBhbiB1bmluZGVudClcblx0bGV0IGlzSW5kZW50O1xuXG5cdGZvciAoY29uc3QgbGluZSBvZiBzdHIuc3BsaXQoL1xcbi9nKSkge1xuXHRcdGlmICghbGluZSkge1xuXHRcdFx0Ly8gaWdub3JlIGVtcHR5IGxpbmVzXG5cdFx0XHRjb250aW51ZTtcblx0XHR9XG5cblx0XHRsZXQgaW5kZW50O1xuXHRcdGNvbnN0IG1hdGNoZXMgPSBsaW5lLm1hdGNoKElOREVOVF9SRSk7XG5cblx0XHRpZiAobWF0Y2hlcykge1xuXHRcdFx0aW5kZW50ID0gbWF0Y2hlc1swXS5sZW5ndGg7XG5cblx0XHRcdGlmIChtYXRjaGVzWzFdKSB7XG5cdFx0XHRcdHNwYWNlcysrO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0dGFicysrO1xuXHRcdFx0fVxuXHRcdH0gZWxzZSB7XG5cdFx0XHRpbmRlbnQgPSAwO1xuXHRcdH1cblxuXHRcdGNvbnN0IGRpZmYgPSBpbmRlbnQgLSBwcmV2O1xuXHRcdHByZXYgPSBpbmRlbnQ7XG5cblx0XHRpZiAoZGlmZikge1xuXHRcdFx0Ly8gYW4gaW5kZW50IG9yIHVuaW5kZW50IGhhcyBiZWVuIGRldGVjdGVkXG5cblx0XHRcdGlzSW5kZW50ID0gZGlmZiA+IDA7XG5cblx0XHRcdGN1cnJlbnQgPSBpbmRlbnRzLmdldChpc0luZGVudCA/IGRpZmYgOiAtZGlmZik7XG5cblx0XHRcdGlmIChjdXJyZW50KSB7XG5cdFx0XHRcdGN1cnJlbnRbMF0rKztcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdGN1cnJlbnQgPSBbMSwgMF07XG5cdFx0XHRcdGluZGVudHMuc2V0KGRpZmYsIGN1cnJlbnQpO1xuXHRcdFx0fVxuXHRcdH0gZWxzZSBpZiAoY3VycmVudCkge1xuXHRcdFx0Ly8gaWYgdGhlIGxhc3QgYWN0aW9uIHdhcyBhbiBpbmRlbnQsIGluY3JlbWVudCB0aGUgd2VpZ2h0XG5cdFx0XHRjdXJyZW50WzFdICs9IE51bWJlcihpc0luZGVudCk7XG5cdFx0fVxuXHR9XG5cblx0Y29uc3QgYW1vdW50ID0gZ2V0TW9zdFVzZWQoaW5kZW50cyk7XG5cblx0bGV0IHR5cGU7XG5cdGxldCBpbmRlbnQ7XG5cdGlmICghYW1vdW50KSB7XG5cdFx0dHlwZSA9IG51bGw7XG5cdFx0aW5kZW50ID0gJyc7XG5cdH0gZWxzZSBpZiAoc3BhY2VzID49IHRhYnMpIHtcblx0XHR0eXBlID0gJ3NwYWNlJztcblx0XHRpbmRlbnQgPSAnICcucmVwZWF0KGFtb3VudCk7XG5cdH0gZWxzZSB7XG5cdFx0dHlwZSA9ICd0YWInO1xuXHRcdGluZGVudCA9ICdcXHQnLnJlcGVhdChhbW91bnQpO1xuXHR9XG5cblx0cmV0dXJuIHtcblx0XHRhbW91bnQsXG5cdFx0dHlwZSxcblx0XHRpbmRlbnRcblx0fTtcbn07XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/detect-indent/index.js\n"); /***/ }), /***/ "./node_modules/diff/dist/diff.js": /*!****************************************!*\ !*** ./node_modules/diff/dist/diff.js ***! \****************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("(function (global, factory) {\n true ? factory(exports) :\n undefined;\n}(this, (function (exports) { 'use strict';\n\n function Diff() {}\n Diff.prototype = {\n diff: function diff(oldString, newString) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var callback = options.callback;\n\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n\n this.options = options;\n var self = this;\n\n function done(value) {\n if (callback) {\n setTimeout(function () {\n callback(undefined, value);\n }, 0);\n return true;\n } else {\n return value;\n }\n } // Allow subclasses to massage the input prior to running\n\n\n oldString = this.castInput(oldString);\n newString = this.castInput(newString);\n oldString = this.removeEmpty(this.tokenize(oldString));\n newString = this.removeEmpty(this.tokenize(newString));\n var newLen = newString.length,\n oldLen = oldString.length;\n var editLength = 1;\n var maxEditLength = newLen + oldLen;\n var bestPath = [{\n newPos: -1,\n components: []\n }]; // Seed editLength = 0, i.e. the content starts with the same values\n\n var oldPos = this.extractCommon(bestPath[0], newString, oldString, 0);\n\n if (bestPath[0].newPos + 1 >= newLen && oldPos + 1 >= oldLen) {\n // Identity per the equality and tokenizer\n return done([{\n value: this.join(newString),\n count: newString.length\n }]);\n } // Main worker method. checks all permutations of a given edit length for acceptance.\n\n\n function execEditLength() {\n for (var diagonalPath = -1 * editLength; diagonalPath <= editLength; diagonalPath += 2) {\n var basePath = void 0;\n\n var addPath = bestPath[diagonalPath - 1],\n removePath = bestPath[diagonalPath + 1],\n _oldPos = (removePath ? removePath.newPos : 0) - diagonalPath;\n\n if (addPath) {\n // No one else is going to attempt to use this value, clear it\n bestPath[diagonalPath - 1] = undefined;\n }\n\n var canAdd = addPath && addPath.newPos + 1 < newLen,\n canRemove = removePath && 0 <= _oldPos && _oldPos < oldLen;\n\n if (!canAdd && !canRemove) {\n // If this path is a terminal then prune\n bestPath[diagonalPath] = undefined;\n continue;\n } // Select the diagonal that we want to branch from. We select the prior\n // path whose position in the new string is the farthest from the origin\n // and does not pass the bounds of the diff graph\n\n\n if (!canAdd || canRemove && addPath.newPos < removePath.newPos) {\n basePath = clonePath(removePath);\n self.pushComponent(basePath.components, undefined, true);\n } else {\n basePath = addPath; // No need to clone, we've pulled it from the list\n\n basePath.newPos++;\n self.pushComponent(basePath.components, true, undefined);\n }\n\n _oldPos = self.extractCommon(basePath, newString, oldString, diagonalPath); // If we have hit the end of both strings, then we are done\n\n if (basePath.newPos + 1 >= newLen && _oldPos + 1 >= oldLen) {\n return done(buildValues(self, basePath.components, newString, oldString, self.useLongestToken));\n } else {\n // Otherwise track this path as a potential candidate and continue.\n bestPath[diagonalPath] = basePath;\n }\n }\n\n editLength++;\n } // Performs the length of edit iteration. Is a bit fugly as this has to support the\n // sync and async mode which is never fun. Loops over execEditLength until a value\n // is produced.\n\n\n if (callback) {\n (function exec() {\n setTimeout(function () {\n // This should not happen, but we want to be safe.\n\n /* istanbul ignore next */\n if (editLength > maxEditLength) {\n return callback();\n }\n\n if (!execEditLength()) {\n exec();\n }\n }, 0);\n })();\n } else {\n while (editLength <= maxEditLength) {\n var ret = execEditLength();\n\n if (ret) {\n return ret;\n }\n }\n }\n },\n pushComponent: function pushComponent(components, added, removed) {\n var last = components[components.length - 1];\n\n if (last && last.added === added && last.removed === removed) {\n // We need to clone here as the component clone operation is just\n // as shallow array clone\n components[components.length - 1] = {\n count: last.count + 1,\n added: added,\n removed: removed\n };\n } else {\n components.push({\n count: 1,\n added: added,\n removed: removed\n });\n }\n },\n extractCommon: function extractCommon(basePath, newString, oldString, diagonalPath) {\n var newLen = newString.length,\n oldLen = oldString.length,\n newPos = basePath.newPos,\n oldPos = newPos - diagonalPath,\n commonCount = 0;\n\n while (newPos + 1 < newLen && oldPos + 1 < oldLen && this.equals(newString[newPos + 1], oldString[oldPos + 1])) {\n newPos++;\n oldPos++;\n commonCount++;\n }\n\n if (commonCount) {\n basePath.components.push({\n count: commonCount\n });\n }\n\n basePath.newPos = newPos;\n return oldPos;\n },\n equals: function equals(left, right) {\n if (this.options.comparator) {\n return this.options.comparator(left, right);\n } else {\n return left === right || this.options.ignoreCase && left.toLowerCase() === right.toLowerCase();\n }\n },\n removeEmpty: function removeEmpty(array) {\n var ret = [];\n\n for (var i = 0; i < array.length; i++) {\n if (array[i]) {\n ret.push(array[i]);\n }\n }\n\n return ret;\n },\n castInput: function castInput(value) {\n return value;\n },\n tokenize: function tokenize(value) {\n return value.split('');\n },\n join: function join(chars) {\n return chars.join('');\n }\n };\n\n function buildValues(diff, components, newString, oldString, useLongestToken) {\n var componentPos = 0,\n componentLen = components.length,\n newPos = 0,\n oldPos = 0;\n\n for (; componentPos < componentLen; componentPos++) {\n var component = components[componentPos];\n\n if (!component.removed) {\n if (!component.added && useLongestToken) {\n var value = newString.slice(newPos, newPos + component.count);\n value = value.map(function (value, i) {\n var oldValue = oldString[oldPos + i];\n return oldValue.length > value.length ? oldValue : value;\n });\n component.value = diff.join(value);\n } else {\n component.value = diff.join(newString.slice(newPos, newPos + component.count));\n }\n\n newPos += component.count; // Common case\n\n if (!component.added) {\n oldPos += component.count;\n }\n } else {\n component.value = diff.join(oldString.slice(oldPos, oldPos + component.count));\n oldPos += component.count; // Reverse add and remove so removes are output first to match common convention\n // The diffing algorithm is tied to add then remove output and this is the simplest\n // route to get the desired output with minimal overhead.\n\n if (componentPos && components[componentPos - 1].added) {\n var tmp = components[componentPos - 1];\n components[componentPos - 1] = components[componentPos];\n components[componentPos] = tmp;\n }\n }\n } // Special case handle for when one terminal is ignored (i.e. whitespace).\n // For this case we merge the terminal into the prior string and drop the change.\n // This is only available for string mode.\n\n\n var lastComponent = components[componentLen - 1];\n\n if (componentLen > 1 && typeof lastComponent.value === 'string' && (lastComponent.added || lastComponent.removed) && diff.equals('', lastComponent.value)) {\n components[componentLen - 2].value += lastComponent.value;\n components.pop();\n }\n\n return components;\n }\n\n function clonePath(path) {\n return {\n newPos: path.newPos,\n components: path.components.slice(0)\n };\n }\n\n var characterDiff = new Diff();\n function diffChars(oldStr, newStr, options) {\n return characterDiff.diff(oldStr, newStr, options);\n }\n\n function generateOptions(options, defaults) {\n if (typeof options === 'function') {\n defaults.callback = options;\n } else if (options) {\n for (var name in options) {\n /* istanbul ignore else */\n if (options.hasOwnProperty(name)) {\n defaults[name] = options[name];\n }\n }\n }\n\n return defaults;\n }\n\n //\n // Ranges and exceptions:\n // Latin-1 Supplement, 0080–00FF\n // - U+00D7 × Multiplication sign\n // - U+00F7 ÷ Division sign\n // Latin Extended-A, 0100–017F\n // Latin Extended-B, 0180–024F\n // IPA Extensions, 0250–02AF\n // Spacing Modifier Letters, 02B0–02FF\n // - U+02C7 ˇ ˇ Caron\n // - U+02D8 ˘ ˘ Breve\n // - U+02D9 ˙ ˙ Dot Above\n // - U+02DA ˚ ˚ Ring Above\n // - U+02DB ˛ ˛ Ogonek\n // - U+02DC ˜ ˜ Small Tilde\n // - U+02DD ˝ ˝ Double Acute Accent\n // Latin Extended Additional, 1E00–1EFF\n\n var extendedWordChars = /^[A-Za-z\\xC0-\\u02C6\\u02C8-\\u02D7\\u02DE-\\u02FF\\u1E00-\\u1EFF]+$/;\n var reWhitespace = /\\S/;\n var wordDiff = new Diff();\n\n wordDiff.equals = function (left, right) {\n if (this.options.ignoreCase) {\n left = left.toLowerCase();\n right = right.toLowerCase();\n }\n\n return left === right || this.options.ignoreWhitespace && !reWhitespace.test(left) && !reWhitespace.test(right);\n };\n\n wordDiff.tokenize = function (value) {\n // All whitespace symbols except newline group into one token, each newline - in separate token\n var tokens = value.split(/([^\\S\\r\\n]+|[()[\\]{}'\"\\r\\n]|\\b)/); // Join the boundary splits that we do not consider to be boundaries. This is primarily the extended Latin character set.\n\n for (var i = 0; i < tokens.length - 1; i++) {\n // If we have an empty string in the next field and we have only word chars before and after, merge\n if (!tokens[i + 1] && tokens[i + 2] && extendedWordChars.test(tokens[i]) && extendedWordChars.test(tokens[i + 2])) {\n tokens[i] += tokens[i + 2];\n tokens.splice(i + 1, 2);\n i--;\n }\n }\n\n return tokens;\n };\n\n function diffWords(oldStr, newStr, options) {\n options = generateOptions(options, {\n ignoreWhitespace: true\n });\n return wordDiff.diff(oldStr, newStr, options);\n }\n function diffWordsWithSpace(oldStr, newStr, options) {\n return wordDiff.diff(oldStr, newStr, options);\n }\n\n var lineDiff = new Diff();\n\n lineDiff.tokenize = function (value) {\n var retLines = [],\n linesAndNewlines = value.split(/(\\n|\\r\\n)/); // Ignore the final empty token that occurs if the string ends with a new line\n\n if (!linesAndNewlines[linesAndNewlines.length - 1]) {\n linesAndNewlines.pop();\n } // Merge the content and line separators into single tokens\n\n\n for (var i = 0; i < linesAndNewlines.length; i++) {\n var line = linesAndNewlines[i];\n\n if (i % 2 && !this.options.newlineIsToken) {\n retLines[retLines.length - 1] += line;\n } else {\n if (this.options.ignoreWhitespace) {\n line = line.trim();\n }\n\n retLines.push(line);\n }\n }\n\n return retLines;\n };\n\n function diffLines(oldStr, newStr, callback) {\n return lineDiff.diff(oldStr, newStr, callback);\n }\n function diffTrimmedLines(oldStr, newStr, callback) {\n var options = generateOptions(callback, {\n ignoreWhitespace: true\n });\n return lineDiff.diff(oldStr, newStr, options);\n }\n\n var sentenceDiff = new Diff();\n\n sentenceDiff.tokenize = function (value) {\n return value.split(/(\\S.+?[.!?])(?=\\s+|$)/);\n };\n\n function diffSentences(oldStr, newStr, callback) {\n return sentenceDiff.diff(oldStr, newStr, callback);\n }\n\n var cssDiff = new Diff();\n\n cssDiff.tokenize = function (value) {\n return value.split(/([{}:;,]|\\s+)/);\n };\n\n function diffCss(oldStr, newStr, callback) {\n return cssDiff.diff(oldStr, newStr, callback);\n }\n\n function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n }\n\n function _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();\n }\n\n function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return _arrayLikeToArray(arr);\n }\n\n function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter);\n }\n\n function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n }\n\n function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n\n return arr2;\n }\n\n function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var objectPrototypeToString = Object.prototype.toString;\n var jsonDiff = new Diff(); // Discriminate between two lines of pretty-printed, serialized JSON where one of them has a\n // dangling comma and the other doesn't. Turns out including the dangling comma yields the nicest output:\n\n jsonDiff.useLongestToken = true;\n jsonDiff.tokenize = lineDiff.tokenize;\n\n jsonDiff.castInput = function (value) {\n var _this$options = this.options,\n undefinedReplacement = _this$options.undefinedReplacement,\n _this$options$stringi = _this$options.stringifyReplacer,\n stringifyReplacer = _this$options$stringi === void 0 ? function (k, v) {\n return typeof v === 'undefined' ? undefinedReplacement : v;\n } : _this$options$stringi;\n return typeof value === 'string' ? value : JSON.stringify(canonicalize(value, null, null, stringifyReplacer), stringifyReplacer, ' ');\n };\n\n jsonDiff.equals = function (left, right) {\n return Diff.prototype.equals.call(jsonDiff, left.replace(/,([\\r\\n])/g, '$1'), right.replace(/,([\\r\\n])/g, '$1'));\n };\n\n function diffJson(oldObj, newObj, options) {\n return jsonDiff.diff(oldObj, newObj, options);\n } // This function handles the presence of circular references by bailing out when encountering an\n // object that is already on the \"stack\" of items being processed. Accepts an optional replacer\n\n function canonicalize(obj, stack, replacementStack, replacer, key) {\n stack = stack || [];\n replacementStack = replacementStack || [];\n\n if (replacer) {\n obj = replacer(key, obj);\n }\n\n var i;\n\n for (i = 0; i < stack.length; i += 1) {\n if (stack[i] === obj) {\n return replacementStack[i];\n }\n }\n\n var canonicalizedObj;\n\n if ('[object Array]' === objectPrototypeToString.call(obj)) {\n stack.push(obj);\n canonicalizedObj = new Array(obj.length);\n replacementStack.push(canonicalizedObj);\n\n for (i = 0; i < obj.length; i += 1) {\n canonicalizedObj[i] = canonicalize(obj[i], stack, replacementStack, replacer, key);\n }\n\n stack.pop();\n replacementStack.pop();\n return canonicalizedObj;\n }\n\n if (obj && obj.toJSON) {\n obj = obj.toJSON();\n }\n\n if (_typeof(obj) === 'object' && obj !== null) {\n stack.push(obj);\n canonicalizedObj = {};\n replacementStack.push(canonicalizedObj);\n\n var sortedKeys = [],\n _key;\n\n for (_key in obj) {\n /* istanbul ignore else */\n if (obj.hasOwnProperty(_key)) {\n sortedKeys.push(_key);\n }\n }\n\n sortedKeys.sort();\n\n for (i = 0; i < sortedKeys.length; i += 1) {\n _key = sortedKeys[i];\n canonicalizedObj[_key] = canonicalize(obj[_key], stack, replacementStack, replacer, _key);\n }\n\n stack.pop();\n replacementStack.pop();\n } else {\n canonicalizedObj = obj;\n }\n\n return canonicalizedObj;\n }\n\n var arrayDiff = new Diff();\n\n arrayDiff.tokenize = function (value) {\n return value.slice();\n };\n\n arrayDiff.join = arrayDiff.removeEmpty = function (value) {\n return value;\n };\n\n function diffArrays(oldArr, newArr, callback) {\n return arrayDiff.diff(oldArr, newArr, callback);\n }\n\n function parsePatch(uniDiff) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var diffstr = uniDiff.split(/\\r\\n|[\\n\\v\\f\\r\\x85]/),\n delimiters = uniDiff.match(/\\r\\n|[\\n\\v\\f\\r\\x85]/g) || [],\n list = [],\n i = 0;\n\n function parseIndex() {\n var index = {};\n list.push(index); // Parse diff metadata\n\n while (i < diffstr.length) {\n var line = diffstr[i]; // File header found, end parsing diff metadata\n\n if (/^(\\-\\-\\-|\\+\\+\\+|@@)\\s/.test(line)) {\n break;\n } // Diff index\n\n\n var header = /^(?:Index:|diff(?: -r \\w+)+)\\s+(.+?)\\s*$/.exec(line);\n\n if (header) {\n index.index = header[1];\n }\n\n i++;\n } // Parse file headers if they are defined. Unified diff requires them, but\n // there's no technical issues to have an isolated hunk without file header\n\n\n parseFileHeader(index);\n parseFileHeader(index); // Parse hunks\n\n index.hunks = [];\n\n while (i < diffstr.length) {\n var _line = diffstr[i];\n\n if (/^(Index:|diff|\\-\\-\\-|\\+\\+\\+)\\s/.test(_line)) {\n break;\n } else if (/^@@/.test(_line)) {\n index.hunks.push(parseHunk());\n } else if (_line && options.strict) {\n // Ignore unexpected content unless in strict mode\n throw new Error('Unknown line ' + (i + 1) + ' ' + JSON.stringify(_line));\n } else {\n i++;\n }\n }\n } // Parses the --- and +++ headers, if none are found, no lines\n // are consumed.\n\n\n function parseFileHeader(index) {\n var fileHeader = /^(---|\\+\\+\\+)\\s+(.*)$/.exec(diffstr[i]);\n\n if (fileHeader) {\n var keyPrefix = fileHeader[1] === '---' ? 'old' : 'new';\n var data = fileHeader[2].split('\\t', 2);\n var fileName = data[0].replace(/\\\\\\\\/g, '\\\\');\n\n if (/^\".*\"$/.test(fileName)) {\n fileName = fileName.substr(1, fileName.length - 2);\n }\n\n index[keyPrefix + 'FileName'] = fileName;\n index[keyPrefix + 'Header'] = (data[1] || '').trim();\n i++;\n }\n } // Parses a hunk\n // This assumes that we are at the start of a hunk.\n\n\n function parseHunk() {\n var chunkHeaderIndex = i,\n chunkHeaderLine = diffstr[i++],\n chunkHeader = chunkHeaderLine.split(/@@ -(\\d+)(?:,(\\d+))? \\+(\\d+)(?:,(\\d+))? @@/);\n var hunk = {\n oldStart: +chunkHeader[1],\n oldLines: typeof chunkHeader[2] === 'undefined' ? 1 : +chunkHeader[2],\n newStart: +chunkHeader[3],\n newLines: typeof chunkHeader[4] === 'undefined' ? 1 : +chunkHeader[4],\n lines: [],\n linedelimiters: []\n }; // Unified Diff Format quirk: If the chunk size is 0,\n // the first number is one lower than one would expect.\n // https://www.artima.com/weblogs/viewpost.jsp?thread=164293\n\n if (hunk.oldLines === 0) {\n hunk.oldStart += 1;\n }\n\n if (hunk.newLines === 0) {\n hunk.newStart += 1;\n }\n\n var addCount = 0,\n removeCount = 0;\n\n for (; i < diffstr.length; i++) {\n // Lines starting with '---' could be mistaken for the \"remove line\" operation\n // But they could be the header for the next file. Therefore prune such cases out.\n if (diffstr[i].indexOf('--- ') === 0 && i + 2 < diffstr.length && diffstr[i + 1].indexOf('+++ ') === 0 && diffstr[i + 2].indexOf('@@') === 0) {\n break;\n }\n\n var operation = diffstr[i].length == 0 && i != diffstr.length - 1 ? ' ' : diffstr[i][0];\n\n if (operation === '+' || operation === '-' || operation === ' ' || operation === '\\\\') {\n hunk.lines.push(diffstr[i]);\n hunk.linedelimiters.push(delimiters[i] || '\\n');\n\n if (operation === '+') {\n addCount++;\n } else if (operation === '-') {\n removeCount++;\n } else if (operation === ' ') {\n addCount++;\n removeCount++;\n }\n } else {\n break;\n }\n } // Handle the empty block count case\n\n\n if (!addCount && hunk.newLines === 1) {\n hunk.newLines = 0;\n }\n\n if (!removeCount && hunk.oldLines === 1) {\n hunk.oldLines = 0;\n } // Perform optional sanity checking\n\n\n if (options.strict) {\n if (addCount !== hunk.newLines) {\n throw new Error('Added line count did not match for hunk at line ' + (chunkHeaderIndex + 1));\n }\n\n if (removeCount !== hunk.oldLines) {\n throw new Error('Removed line count did not match for hunk at line ' + (chunkHeaderIndex + 1));\n }\n }\n\n return hunk;\n }\n\n while (i < diffstr.length) {\n parseIndex();\n }\n\n return list;\n }\n\n // Iterator that traverses in the range of [min, max], stepping\n // by distance from a given start position. I.e. for [0, 4], with\n // start of 2, this will iterate 2, 3, 1, 4, 0.\n function distanceIterator (start, minLine, maxLine) {\n var wantForward = true,\n backwardExhausted = false,\n forwardExhausted = false,\n localOffset = 1;\n return function iterator() {\n if (wantForward && !forwardExhausted) {\n if (backwardExhausted) {\n localOffset++;\n } else {\n wantForward = false;\n } // Check if trying to fit beyond text length, and if not, check it fits\n // after offset location (or desired location on first iteration)\n\n\n if (start + localOffset <= maxLine) {\n return localOffset;\n }\n\n forwardExhausted = true;\n }\n\n if (!backwardExhausted) {\n if (!forwardExhausted) {\n wantForward = true;\n } // Check if trying to fit before text beginning, and if not, check it fits\n // before offset location\n\n\n if (minLine <= start - localOffset) {\n return -localOffset++;\n }\n\n backwardExhausted = true;\n return iterator();\n } // We tried to fit hunk before text beginning and beyond text length, then\n // hunk can't fit on the text. Return undefined\n\n };\n }\n\n function applyPatch(source, uniDiff) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n if (typeof uniDiff === 'string') {\n uniDiff = parsePatch(uniDiff);\n }\n\n if (Array.isArray(uniDiff)) {\n if (uniDiff.length > 1) {\n throw new Error('applyPatch only works with a single input.');\n }\n\n uniDiff = uniDiff[0];\n } // Apply the diff to the input\n\n\n var lines = source.split(/\\r\\n|[\\n\\v\\f\\r\\x85]/),\n delimiters = source.match(/\\r\\n|[\\n\\v\\f\\r\\x85]/g) || [],\n hunks = uniDiff.hunks,\n compareLine = options.compareLine || function (lineNumber, line, operation, patchContent) {\n return line === patchContent;\n },\n errorCount = 0,\n fuzzFactor = options.fuzzFactor || 0,\n minLine = 0,\n offset = 0,\n removeEOFNL,\n addEOFNL;\n /**\n * Checks if the hunk exactly fits on the provided location\n */\n\n\n function hunkFits(hunk, toPos) {\n for (var j = 0; j < hunk.lines.length; j++) {\n var line = hunk.lines[j],\n operation = line.length > 0 ? line[0] : ' ',\n content = line.length > 0 ? line.substr(1) : line;\n\n if (operation === ' ' || operation === '-') {\n // Context sanity check\n if (!compareLine(toPos + 1, lines[toPos], operation, content)) {\n errorCount++;\n\n if (errorCount > fuzzFactor) {\n return false;\n }\n }\n\n toPos++;\n }\n }\n\n return true;\n } // Search best fit offsets for each hunk based on the previous ones\n\n\n for (var i = 0; i < hunks.length; i++) {\n var hunk = hunks[i],\n maxLine = lines.length - hunk.oldLines,\n localOffset = 0,\n toPos = offset + hunk.oldStart - 1;\n var iterator = distanceIterator(toPos, minLine, maxLine);\n\n for (; localOffset !== undefined; localOffset = iterator()) {\n if (hunkFits(hunk, toPos + localOffset)) {\n hunk.offset = offset += localOffset;\n break;\n }\n }\n\n if (localOffset === undefined) {\n return false;\n } // Set lower text limit to end of the current hunk, so next ones don't try\n // to fit over already patched text\n\n\n minLine = hunk.offset + hunk.oldStart + hunk.oldLines;\n } // Apply patch hunks\n\n\n var diffOffset = 0;\n\n for (var _i = 0; _i < hunks.length; _i++) {\n var _hunk = hunks[_i],\n _toPos = _hunk.oldStart + _hunk.offset + diffOffset - 1;\n\n diffOffset += _hunk.newLines - _hunk.oldLines;\n\n for (var j = 0; j < _hunk.lines.length; j++) {\n var line = _hunk.lines[j],\n operation = line.length > 0 ? line[0] : ' ',\n content = line.length > 0 ? line.substr(1) : line,\n delimiter = _hunk.linedelimiters[j];\n\n if (operation === ' ') {\n _toPos++;\n } else if (operation === '-') {\n lines.splice(_toPos, 1);\n delimiters.splice(_toPos, 1);\n /* istanbul ignore else */\n } else if (operation === '+') {\n lines.splice(_toPos, 0, content);\n delimiters.splice(_toPos, 0, delimiter);\n _toPos++;\n } else if (operation === '\\\\') {\n var previousOperation = _hunk.lines[j - 1] ? _hunk.lines[j - 1][0] : null;\n\n if (previousOperation === '+') {\n removeEOFNL = true;\n } else if (previousOperation === '-') {\n addEOFNL = true;\n }\n }\n }\n } // Handle EOFNL insertion/removal\n\n\n if (removeEOFNL) {\n while (!lines[lines.length - 1]) {\n lines.pop();\n delimiters.pop();\n }\n } else if (addEOFNL) {\n lines.push('');\n delimiters.push('\\n');\n }\n\n for (var _k = 0; _k < lines.length - 1; _k++) {\n lines[_k] = lines[_k] + delimiters[_k];\n }\n\n return lines.join('');\n } // Wrapper that supports multiple file patches via callbacks.\n\n function applyPatches(uniDiff, options) {\n if (typeof uniDiff === 'string') {\n uniDiff = parsePatch(uniDiff);\n }\n\n var currentIndex = 0;\n\n function processIndex() {\n var index = uniDiff[currentIndex++];\n\n if (!index) {\n return options.complete();\n }\n\n options.loadFile(index, function (err, data) {\n if (err) {\n return options.complete(err);\n }\n\n var updatedContent = applyPatch(data, index, options);\n options.patched(index, updatedContent, function (err) {\n if (err) {\n return options.complete(err);\n }\n\n processIndex();\n });\n });\n }\n\n processIndex();\n }\n\n function structuredPatch(oldFileName, newFileName, oldStr, newStr, oldHeader, newHeader, options) {\n if (!options) {\n options = {};\n }\n\n if (typeof options.context === 'undefined') {\n options.context = 4;\n }\n\n var diff = diffLines(oldStr, newStr, options);\n diff.push({\n value: '',\n lines: []\n }); // Append an empty value to make cleanup easier\n\n function contextLines(lines) {\n return lines.map(function (entry) {\n return ' ' + entry;\n });\n }\n\n var hunks = [];\n var oldRangeStart = 0,\n newRangeStart = 0,\n curRange = [],\n oldLine = 1,\n newLine = 1;\n\n var _loop = function _loop(i) {\n var current = diff[i],\n lines = current.lines || current.value.replace(/\\n$/, '').split('\\n');\n current.lines = lines;\n\n if (current.added || current.removed) {\n var _curRange;\n\n // If we have previous context, start with that\n if (!oldRangeStart) {\n var prev = diff[i - 1];\n oldRangeStart = oldLine;\n newRangeStart = newLine;\n\n if (prev) {\n curRange = options.context > 0 ? contextLines(prev.lines.slice(-options.context)) : [];\n oldRangeStart -= curRange.length;\n newRangeStart -= curRange.length;\n }\n } // Output our changes\n\n\n (_curRange = curRange).push.apply(_curRange, _toConsumableArray(lines.map(function (entry) {\n return (current.added ? '+' : '-') + entry;\n }))); // Track the updated file position\n\n\n if (current.added) {\n newLine += lines.length;\n } else {\n oldLine += lines.length;\n }\n } else {\n // Identical context lines. Track line changes\n if (oldRangeStart) {\n // Close out any changes that have been output (or join overlapping)\n if (lines.length <= options.context * 2 && i < diff.length - 2) {\n var _curRange2;\n\n // Overlapping\n (_curRange2 = curRange).push.apply(_curRange2, _toConsumableArray(contextLines(lines)));\n } else {\n var _curRange3;\n\n // end the range and output\n var contextSize = Math.min(lines.length, options.context);\n\n (_curRange3 = curRange).push.apply(_curRange3, _toConsumableArray(contextLines(lines.slice(0, contextSize))));\n\n var hunk = {\n oldStart: oldRangeStart,\n oldLines: oldLine - oldRangeStart + contextSize,\n newStart: newRangeStart,\n newLines: newLine - newRangeStart + contextSize,\n lines: curRange\n };\n\n if (i >= diff.length - 2 && lines.length <= options.context) {\n // EOF is inside this hunk\n var oldEOFNewline = /\\n$/.test(oldStr);\n var newEOFNewline = /\\n$/.test(newStr);\n var noNlBeforeAdds = lines.length == 0 && curRange.length > hunk.oldLines;\n\n if (!oldEOFNewline && noNlBeforeAdds && oldStr.length > 0) {\n // special case: old has no eol and no trailing context; no-nl can end up before adds\n // however, if the old file is empty, do not output the no-nl line\n curRange.splice(hunk.oldLines, 0, '\\\\ No newline at end of file');\n }\n\n if (!oldEOFNewline && !noNlBeforeAdds || !newEOFNewline) {\n curRange.push('\\\\ No newline at end of file');\n }\n }\n\n hunks.push(hunk);\n oldRangeStart = 0;\n newRangeStart = 0;\n curRange = [];\n }\n }\n\n oldLine += lines.length;\n newLine += lines.length;\n }\n };\n\n for (var i = 0; i < diff.length; i++) {\n _loop(i);\n }\n\n return {\n oldFileName: oldFileName,\n newFileName: newFileName,\n oldHeader: oldHeader,\n newHeader: newHeader,\n hunks: hunks\n };\n }\n function formatPatch(diff) {\n var ret = [];\n\n if (diff.oldFileName == diff.newFileName) {\n ret.push('Index: ' + diff.oldFileName);\n }\n\n ret.push('===================================================================');\n ret.push('--- ' + diff.oldFileName + (typeof diff.oldHeader === 'undefined' ? '' : '\\t' + diff.oldHeader));\n ret.push('+++ ' + diff.newFileName + (typeof diff.newHeader === 'undefined' ? '' : '\\t' + diff.newHeader));\n\n for (var i = 0; i < diff.hunks.length; i++) {\n var hunk = diff.hunks[i]; // Unified Diff Format quirk: If the chunk size is 0,\n // the first number is one lower than one would expect.\n // https://www.artima.com/weblogs/viewpost.jsp?thread=164293\n\n if (hunk.oldLines === 0) {\n hunk.oldStart -= 1;\n }\n\n if (hunk.newLines === 0) {\n hunk.newStart -= 1;\n }\n\n ret.push('@@ -' + hunk.oldStart + ',' + hunk.oldLines + ' +' + hunk.newStart + ',' + hunk.newLines + ' @@');\n ret.push.apply(ret, hunk.lines);\n }\n\n return ret.join('\\n') + '\\n';\n }\n function createTwoFilesPatch(oldFileName, newFileName, oldStr, newStr, oldHeader, newHeader, options) {\n return formatPatch(structuredPatch(oldFileName, newFileName, oldStr, newStr, oldHeader, newHeader, options));\n }\n function createPatch(fileName, oldStr, newStr, oldHeader, newHeader, options) {\n return createTwoFilesPatch(fileName, fileName, oldStr, newStr, oldHeader, newHeader, options);\n }\n\n function arrayEqual(a, b) {\n if (a.length !== b.length) {\n return false;\n }\n\n return arrayStartsWith(a, b);\n }\n function arrayStartsWith(array, start) {\n if (start.length > array.length) {\n return false;\n }\n\n for (var i = 0; i < start.length; i++) {\n if (start[i] !== array[i]) {\n return false;\n }\n }\n\n return true;\n }\n\n function calcLineCount(hunk) {\n var _calcOldNewLineCount = calcOldNewLineCount(hunk.lines),\n oldLines = _calcOldNewLineCount.oldLines,\n newLines = _calcOldNewLineCount.newLines;\n\n if (oldLines !== undefined) {\n hunk.oldLines = oldLines;\n } else {\n delete hunk.oldLines;\n }\n\n if (newLines !== undefined) {\n hunk.newLines = newLines;\n } else {\n delete hunk.newLines;\n }\n }\n function merge(mine, theirs, base) {\n mine = loadPatch(mine, base);\n theirs = loadPatch(theirs, base);\n var ret = {}; // For index we just let it pass through as it doesn't have any necessary meaning.\n // Leaving sanity checks on this to the API consumer that may know more about the\n // meaning in their own context.\n\n if (mine.index || theirs.index) {\n ret.index = mine.index || theirs.index;\n }\n\n if (mine.newFileName || theirs.newFileName) {\n if (!fileNameChanged(mine)) {\n // No header or no change in ours, use theirs (and ours if theirs does not exist)\n ret.oldFileName = theirs.oldFileName || mine.oldFileName;\n ret.newFileName = theirs.newFileName || mine.newFileName;\n ret.oldHeader = theirs.oldHeader || mine.oldHeader;\n ret.newHeader = theirs.newHeader || mine.newHeader;\n } else if (!fileNameChanged(theirs)) {\n // No header or no change in theirs, use ours\n ret.oldFileName = mine.oldFileName;\n ret.newFileName = mine.newFileName;\n ret.oldHeader = mine.oldHeader;\n ret.newHeader = mine.newHeader;\n } else {\n // Both changed... figure it out\n ret.oldFileName = selectField(ret, mine.oldFileName, theirs.oldFileName);\n ret.newFileName = selectField(ret, mine.newFileName, theirs.newFileName);\n ret.oldHeader = selectField(ret, mine.oldHeader, theirs.oldHeader);\n ret.newHeader = selectField(ret, mine.newHeader, theirs.newHeader);\n }\n }\n\n ret.hunks = [];\n var mineIndex = 0,\n theirsIndex = 0,\n mineOffset = 0,\n theirsOffset = 0;\n\n while (mineIndex < mine.hunks.length || theirsIndex < theirs.hunks.length) {\n var mineCurrent = mine.hunks[mineIndex] || {\n oldStart: Infinity\n },\n theirsCurrent = theirs.hunks[theirsIndex] || {\n oldStart: Infinity\n };\n\n if (hunkBefore(mineCurrent, theirsCurrent)) {\n // This patch does not overlap with any of the others, yay.\n ret.hunks.push(cloneHunk(mineCurrent, mineOffset));\n mineIndex++;\n theirsOffset += mineCurrent.newLines - mineCurrent.oldLines;\n } else if (hunkBefore(theirsCurrent, mineCurrent)) {\n // This patch does not overlap with any of the others, yay.\n ret.hunks.push(cloneHunk(theirsCurrent, theirsOffset));\n theirsIndex++;\n mineOffset += theirsCurrent.newLines - theirsCurrent.oldLines;\n } else {\n // Overlap, merge as best we can\n var mergedHunk = {\n oldStart: Math.min(mineCurrent.oldStart, theirsCurrent.oldStart),\n oldLines: 0,\n newStart: Math.min(mineCurrent.newStart + mineOffset, theirsCurrent.oldStart + theirsOffset),\n newLines: 0,\n lines: []\n };\n mergeLines(mergedHunk, mineCurrent.oldStart, mineCurrent.lines, theirsCurrent.oldStart, theirsCurrent.lines);\n theirsIndex++;\n mineIndex++;\n ret.hunks.push(mergedHunk);\n }\n }\n\n return ret;\n }\n\n function loadPatch(param, base) {\n if (typeof param === 'string') {\n if (/^@@/m.test(param) || /^Index:/m.test(param)) {\n return parsePatch(param)[0];\n }\n\n if (!base) {\n throw new Error('Must provide a base reference or pass in a patch');\n }\n\n return structuredPatch(undefined, undefined, base, param);\n }\n\n return param;\n }\n\n function fileNameChanged(patch) {\n return patch.newFileName && patch.newFileName !== patch.oldFileName;\n }\n\n function selectField(index, mine, theirs) {\n if (mine === theirs) {\n return mine;\n } else {\n index.conflict = true;\n return {\n mine: mine,\n theirs: theirs\n };\n }\n }\n\n function hunkBefore(test, check) {\n return test.oldStart < check.oldStart && test.oldStart + test.oldLines < check.oldStart;\n }\n\n function cloneHunk(hunk, offset) {\n return {\n oldStart: hunk.oldStart,\n oldLines: hunk.oldLines,\n newStart: hunk.newStart + offset,\n newLines: hunk.newLines,\n lines: hunk.lines\n };\n }\n\n function mergeLines(hunk, mineOffset, mineLines, theirOffset, theirLines) {\n // This will generally result in a conflicted hunk, but there are cases where the context\n // is the only overlap where we can successfully merge the content here.\n var mine = {\n offset: mineOffset,\n lines: mineLines,\n index: 0\n },\n their = {\n offset: theirOffset,\n lines: theirLines,\n index: 0\n }; // Handle any leading content\n\n insertLeading(hunk, mine, their);\n insertLeading(hunk, their, mine); // Now in the overlap content. Scan through and select the best changes from each.\n\n while (mine.index < mine.lines.length && their.index < their.lines.length) {\n var mineCurrent = mine.lines[mine.index],\n theirCurrent = their.lines[their.index];\n\n if ((mineCurrent[0] === '-' || mineCurrent[0] === '+') && (theirCurrent[0] === '-' || theirCurrent[0] === '+')) {\n // Both modified ...\n mutualChange(hunk, mine, their);\n } else if (mineCurrent[0] === '+' && theirCurrent[0] === ' ') {\n var _hunk$lines;\n\n // Mine inserted\n (_hunk$lines = hunk.lines).push.apply(_hunk$lines, _toConsumableArray(collectChange(mine)));\n } else if (theirCurrent[0] === '+' && mineCurrent[0] === ' ') {\n var _hunk$lines2;\n\n // Theirs inserted\n (_hunk$lines2 = hunk.lines).push.apply(_hunk$lines2, _toConsumableArray(collectChange(their)));\n } else if (mineCurrent[0] === '-' && theirCurrent[0] === ' ') {\n // Mine removed or edited\n removal(hunk, mine, their);\n } else if (theirCurrent[0] === '-' && mineCurrent[0] === ' ') {\n // Their removed or edited\n removal(hunk, their, mine, true);\n } else if (mineCurrent === theirCurrent) {\n // Context identity\n hunk.lines.push(mineCurrent);\n mine.index++;\n their.index++;\n } else {\n // Context mismatch\n conflict(hunk, collectChange(mine), collectChange(their));\n }\n } // Now push anything that may be remaining\n\n\n insertTrailing(hunk, mine);\n insertTrailing(hunk, their);\n calcLineCount(hunk);\n }\n\n function mutualChange(hunk, mine, their) {\n var myChanges = collectChange(mine),\n theirChanges = collectChange(their);\n\n if (allRemoves(myChanges) && allRemoves(theirChanges)) {\n // Special case for remove changes that are supersets of one another\n if (arrayStartsWith(myChanges, theirChanges) && skipRemoveSuperset(their, myChanges, myChanges.length - theirChanges.length)) {\n var _hunk$lines3;\n\n (_hunk$lines3 = hunk.lines).push.apply(_hunk$lines3, _toConsumableArray(myChanges));\n\n return;\n } else if (arrayStartsWith(theirChanges, myChanges) && skipRemoveSuperset(mine, theirChanges, theirChanges.length - myChanges.length)) {\n var _hunk$lines4;\n\n (_hunk$lines4 = hunk.lines).push.apply(_hunk$lines4, _toConsumableArray(theirChanges));\n\n return;\n }\n } else if (arrayEqual(myChanges, theirChanges)) {\n var _hunk$lines5;\n\n (_hunk$lines5 = hunk.lines).push.apply(_hunk$lines5, _toConsumableArray(myChanges));\n\n return;\n }\n\n conflict(hunk, myChanges, theirChanges);\n }\n\n function removal(hunk, mine, their, swap) {\n var myChanges = collectChange(mine),\n theirChanges = collectContext(their, myChanges);\n\n if (theirChanges.merged) {\n var _hunk$lines6;\n\n (_hunk$lines6 = hunk.lines).push.apply(_hunk$lines6, _toConsumableArray(theirChanges.merged));\n } else {\n conflict(hunk, swap ? theirChanges : myChanges, swap ? myChanges : theirChanges);\n }\n }\n\n function conflict(hunk, mine, their) {\n hunk.conflict = true;\n hunk.lines.push({\n conflict: true,\n mine: mine,\n theirs: their\n });\n }\n\n function insertLeading(hunk, insert, their) {\n while (insert.offset < their.offset && insert.index < insert.lines.length) {\n var line = insert.lines[insert.index++];\n hunk.lines.push(line);\n insert.offset++;\n }\n }\n\n function insertTrailing(hunk, insert) {\n while (insert.index < insert.lines.length) {\n var line = insert.lines[insert.index++];\n hunk.lines.push(line);\n }\n }\n\n function collectChange(state) {\n var ret = [],\n operation = state.lines[state.index][0];\n\n while (state.index < state.lines.length) {\n var line = state.lines[state.index]; // Group additions that are immediately after subtractions and treat them as one \"atomic\" modify change.\n\n if (operation === '-' && line[0] === '+') {\n operation = '+';\n }\n\n if (operation === line[0]) {\n ret.push(line);\n state.index++;\n } else {\n break;\n }\n }\n\n return ret;\n }\n\n function collectContext(state, matchChanges) {\n var changes = [],\n merged = [],\n matchIndex = 0,\n contextChanges = false,\n conflicted = false;\n\n while (matchIndex < matchChanges.length && state.index < state.lines.length) {\n var change = state.lines[state.index],\n match = matchChanges[matchIndex]; // Once we've hit our add, then we are done\n\n if (match[0] === '+') {\n break;\n }\n\n contextChanges = contextChanges || change[0] !== ' ';\n merged.push(match);\n matchIndex++; // Consume any additions in the other block as a conflict to attempt\n // to pull in the remaining context after this\n\n if (change[0] === '+') {\n conflicted = true;\n\n while (change[0] === '+') {\n changes.push(change);\n change = state.lines[++state.index];\n }\n }\n\n if (match.substr(1) === change.substr(1)) {\n changes.push(change);\n state.index++;\n } else {\n conflicted = true;\n }\n }\n\n if ((matchChanges[matchIndex] || '')[0] === '+' && contextChanges) {\n conflicted = true;\n }\n\n if (conflicted) {\n return changes;\n }\n\n while (matchIndex < matchChanges.length) {\n merged.push(matchChanges[matchIndex++]);\n }\n\n return {\n merged: merged,\n changes: changes\n };\n }\n\n function allRemoves(changes) {\n return changes.reduce(function (prev, change) {\n return prev && change[0] === '-';\n }, true);\n }\n\n function skipRemoveSuperset(state, removeChanges, delta) {\n for (var i = 0; i < delta; i++) {\n var changeContent = removeChanges[removeChanges.length - delta + i].substr(1);\n\n if (state.lines[state.index + i] !== ' ' + changeContent) {\n return false;\n }\n }\n\n state.index += delta;\n return true;\n }\n\n function calcOldNewLineCount(lines) {\n var oldLines = 0;\n var newLines = 0;\n lines.forEach(function (line) {\n if (typeof line !== 'string') {\n var myCount = calcOldNewLineCount(line.mine);\n var theirCount = calcOldNewLineCount(line.theirs);\n\n if (oldLines !== undefined) {\n if (myCount.oldLines === theirCount.oldLines) {\n oldLines += myCount.oldLines;\n } else {\n oldLines = undefined;\n }\n }\n\n if (newLines !== undefined) {\n if (myCount.newLines === theirCount.newLines) {\n newLines += myCount.newLines;\n } else {\n newLines = undefined;\n }\n }\n } else {\n if (newLines !== undefined && (line[0] === '+' || line[0] === ' ')) {\n newLines++;\n }\n\n if (oldLines !== undefined && (line[0] === '-' || line[0] === ' ')) {\n oldLines++;\n }\n }\n });\n return {\n oldLines: oldLines,\n newLines: newLines\n };\n }\n\n // See: http://code.google.com/p/google-diff-match-patch/wiki/API\n function convertChangesToDMP(changes) {\n var ret = [],\n change,\n operation;\n\n for (var i = 0; i < changes.length; i++) {\n change = changes[i];\n\n if (change.added) {\n operation = 1;\n } else if (change.removed) {\n operation = -1;\n } else {\n operation = 0;\n }\n\n ret.push([operation, change.value]);\n }\n\n return ret;\n }\n\n function convertChangesToXML(changes) {\n var ret = [];\n\n for (var i = 0; i < changes.length; i++) {\n var change = changes[i];\n\n if (change.added) {\n ret.push('');\n } else if (change.removed) {\n ret.push('');\n }\n\n ret.push(escapeHTML(change.value));\n\n if (change.added) {\n ret.push('');\n } else if (change.removed) {\n ret.push('');\n }\n }\n\n return ret.join('');\n }\n\n function escapeHTML(s) {\n var n = s;\n n = n.replace(/&/g, '&');\n n = n.replace(//g, '>');\n n = n.replace(/\"/g, '"');\n return n;\n }\n\n exports.Diff = Diff;\n exports.applyPatch = applyPatch;\n exports.applyPatches = applyPatches;\n exports.canonicalize = canonicalize;\n exports.convertChangesToDMP = convertChangesToDMP;\n exports.convertChangesToXML = convertChangesToXML;\n exports.createPatch = createPatch;\n exports.createTwoFilesPatch = createTwoFilesPatch;\n exports.diffArrays = diffArrays;\n exports.diffChars = diffChars;\n exports.diffCss = diffCss;\n exports.diffJson = diffJson;\n exports.diffLines = diffLines;\n exports.diffSentences = diffSentences;\n exports.diffTrimmedLines = diffTrimmedLines;\n exports.diffWords = diffWords;\n exports.diffWordsWithSpace = diffWordsWithSpace;\n exports.merge = merge;\n exports.parsePatch = parsePatch;\n exports.structuredPatch = structuredPatch;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n})));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGlmZi9kaXN0L2RpZmYuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZGlmZi9kaXN0L2RpZmYuanM/YmY2OCJdLCJzb3VyY2VzQ29udGVudCI6WyIoZnVuY3Rpb24gKGdsb2JhbCwgZmFjdG9yeSkge1xuICB0eXBlb2YgZXhwb3J0cyA9PT0gJ29iamVjdCcgJiYgdHlwZW9mIG1vZHVsZSAhPT0gJ3VuZGVmaW5lZCcgPyBmYWN0b3J5KGV4cG9ydHMpIDpcbiAgdHlwZW9mIGRlZmluZSA9PT0gJ2Z1bmN0aW9uJyAmJiBkZWZpbmUuYW1kID8gZGVmaW5lKFsnZXhwb3J0cyddLCBmYWN0b3J5KSA6XG4gIChnbG9iYWwgPSBnbG9iYWwgfHwgc2VsZiwgZmFjdG9yeShnbG9iYWwuRGlmZiA9IHt9KSk7XG59KHRoaXMsIChmdW5jdGlvbiAoZXhwb3J0cykgeyAndXNlIHN0cmljdCc7XG5cbiAgZnVuY3Rpb24gRGlmZigpIHt9XG4gIERpZmYucHJvdG90eXBlID0ge1xuICAgIGRpZmY6IGZ1bmN0aW9uIGRpZmYob2xkU3RyaW5nLCBuZXdTdHJpbmcpIHtcbiAgICAgIHZhciBvcHRpb25zID0gYXJndW1lbnRzLmxlbmd0aCA+IDIgJiYgYXJndW1lbnRzWzJdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMl0gOiB7fTtcbiAgICAgIHZhciBjYWxsYmFjayA9IG9wdGlvbnMuY2FsbGJhY2s7XG5cbiAgICAgIGlmICh0eXBlb2Ygb3B0aW9ucyA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICBjYWxsYmFjayA9IG9wdGlvbnM7XG4gICAgICAgIG9wdGlvbnMgPSB7fTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5vcHRpb25zID0gb3B0aW9ucztcbiAgICAgIHZhciBzZWxmID0gdGhpcztcblxuICAgICAgZnVuY3Rpb24gZG9uZSh2YWx1ZSkge1xuICAgICAgICBpZiAoY2FsbGJhY2spIHtcbiAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIGNhbGxiYWNrKHVuZGVmaW5lZCwgdmFsdWUpO1xuICAgICAgICAgIH0sIDApO1xuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgfVxuICAgICAgfSAvLyBBbGxvdyBzdWJjbGFzc2VzIHRvIG1hc3NhZ2UgdGhlIGlucHV0IHByaW9yIHRvIHJ1bm5pbmdcblxuXG4gICAgICBvbGRTdHJpbmcgPSB0aGlzLmNhc3RJbnB1dChvbGRTdHJpbmcpO1xuICAgICAgbmV3U3RyaW5nID0gdGhpcy5jYXN0SW5wdXQobmV3U3RyaW5nKTtcbiAgICAgIG9sZFN0cmluZyA9IHRoaXMucmVtb3ZlRW1wdHkodGhpcy50b2tlbml6ZShvbGRTdHJpbmcpKTtcbiAgICAgIG5ld1N0cmluZyA9IHRoaXMucmVtb3ZlRW1wdHkodGhpcy50b2tlbml6ZShuZXdTdHJpbmcpKTtcbiAgICAgIHZhciBuZXdMZW4gPSBuZXdTdHJpbmcubGVuZ3RoLFxuICAgICAgICAgIG9sZExlbiA9IG9sZFN0cmluZy5sZW5ndGg7XG4gICAgICB2YXIgZWRpdExlbmd0aCA9IDE7XG4gICAgICB2YXIgbWF4RWRpdExlbmd0aCA9IG5ld0xlbiArIG9sZExlbjtcbiAgICAgIHZhciBiZXN0UGF0aCA9IFt7XG4gICAgICAgIG5ld1BvczogLTEsXG4gICAgICAgIGNvbXBvbmVudHM6IFtdXG4gICAgICB9XTsgLy8gU2VlZCBlZGl0TGVuZ3RoID0gMCwgaS5lLiB0aGUgY29udGVudCBzdGFydHMgd2l0aCB0aGUgc2FtZSB2YWx1ZXNcblxuICAgICAgdmFyIG9sZFBvcyA9IHRoaXMuZXh0cmFjdENvbW1vbihiZXN0UGF0aFswXSwgbmV3U3RyaW5nLCBvbGRTdHJpbmcsIDApO1xuXG4gICAgICBpZiAoYmVzdFBhdGhbMF0ubmV3UG9zICsgMSA+PSBuZXdMZW4gJiYgb2xkUG9zICsgMSA+PSBvbGRMZW4pIHtcbiAgICAgICAgLy8gSWRlbnRpdHkgcGVyIHRoZSBlcXVhbGl0eSBhbmQgdG9rZW5pemVyXG4gICAgICAgIHJldHVybiBkb25lKFt7XG4gICAgICAgICAgdmFsdWU6IHRoaXMuam9pbihuZXdTdHJpbmcpLFxuICAgICAgICAgIGNvdW50OiBuZXdTdHJpbmcubGVuZ3RoXG4gICAgICAgIH1dKTtcbiAgICAgIH0gLy8gTWFpbiB3b3JrZXIgbWV0aG9kLiBjaGVja3MgYWxsIHBlcm11dGF0aW9ucyBvZiBhIGdpdmVuIGVkaXQgbGVuZ3RoIGZvciBhY2NlcHRhbmNlLlxuXG5cbiAgICAgIGZ1bmN0aW9uIGV4ZWNFZGl0TGVuZ3RoKCkge1xuICAgICAgICBmb3IgKHZhciBkaWFnb25hbFBhdGggPSAtMSAqIGVkaXRMZW5ndGg7IGRpYWdvbmFsUGF0aCA8PSBlZGl0TGVuZ3RoOyBkaWFnb25hbFBhdGggKz0gMikge1xuICAgICAgICAgIHZhciBiYXNlUGF0aCA9IHZvaWQgMDtcblxuICAgICAgICAgIHZhciBhZGRQYXRoID0gYmVzdFBhdGhbZGlhZ29uYWxQYXRoIC0gMV0sXG4gICAgICAgICAgICAgIHJlbW92ZVBhdGggPSBiZXN0UGF0aFtkaWFnb25hbFBhdGggKyAxXSxcbiAgICAgICAgICAgICAgX29sZFBvcyA9IChyZW1vdmVQYXRoID8gcmVtb3ZlUGF0aC5uZXdQb3MgOiAwKSAtIGRpYWdvbmFsUGF0aDtcblxuICAgICAgICAgIGlmIChhZGRQYXRoKSB7XG4gICAgICAgICAgICAvLyBObyBvbmUgZWxzZSBpcyBnb2luZyB0byBhdHRlbXB0IHRvIHVzZSB0aGlzIHZhbHVlLCBjbGVhciBpdFxuICAgICAgICAgICAgYmVzdFBhdGhbZGlhZ29uYWxQYXRoIC0gMV0gPSB1bmRlZmluZWQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdmFyIGNhbkFkZCA9IGFkZFBhdGggJiYgYWRkUGF0aC5uZXdQb3MgKyAxIDwgbmV3TGVuLFxuICAgICAgICAgICAgICBjYW5SZW1vdmUgPSByZW1vdmVQYXRoICYmIDAgPD0gX29sZFBvcyAmJiBfb2xkUG9zIDwgb2xkTGVuO1xuXG4gICAgICAgICAgaWYgKCFjYW5BZGQgJiYgIWNhblJlbW92ZSkge1xuICAgICAgICAgICAgLy8gSWYgdGhpcyBwYXRoIGlzIGEgdGVybWluYWwgdGhlbiBwcnVuZVxuICAgICAgICAgICAgYmVzdFBhdGhbZGlhZ29uYWxQYXRoXSA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgIH0gLy8gU2VsZWN0IHRoZSBkaWFnb25hbCB0aGF0IHdlIHdhbnQgdG8gYnJhbmNoIGZyb20uIFdlIHNlbGVjdCB0aGUgcHJpb3JcbiAgICAgICAgICAvLyBwYXRoIHdob3NlIHBvc2l0aW9uIGluIHRoZSBuZXcgc3RyaW5nIGlzIHRoZSBmYXJ0aGVzdCBmcm9tIHRoZSBvcmlnaW5cbiAgICAgICAgICAvLyBhbmQgZG9lcyBub3QgcGFzcyB0aGUgYm91bmRzIG9mIHRoZSBkaWZmIGdyYXBoXG5cblxuICAgICAgICAgIGlmICghY2FuQWRkIHx8IGNhblJlbW92ZSAmJiBhZGRQYXRoLm5ld1BvcyA8IHJlbW92ZVBhdGgubmV3UG9zKSB7XG4gICAgICAgICAgICBiYXNlUGF0aCA9IGNsb25lUGF0aChyZW1vdmVQYXRoKTtcbiAgICAgICAgICAgIHNlbGYucHVzaENvbXBvbmVudChiYXNlUGF0aC5jb21wb25lbnRzLCB1bmRlZmluZWQsIHRydWUpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBiYXNlUGF0aCA9IGFkZFBhdGg7IC8vIE5vIG5lZWQgdG8gY2xvbmUsIHdlJ3ZlIHB1bGxlZCBpdCBmcm9tIHRoZSBsaXN0XG5cbiAgICAgICAgICAgIGJhc2VQYXRoLm5ld1BvcysrO1xuICAgICAgICAgICAgc2VsZi5wdXNoQ29tcG9uZW50KGJhc2VQYXRoLmNvbXBvbmVudHMsIHRydWUsIHVuZGVmaW5lZCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgX29sZFBvcyA9IHNlbGYuZXh0cmFjdENvbW1vbihiYXNlUGF0aCwgbmV3U3RyaW5nLCBvbGRTdHJpbmcsIGRpYWdvbmFsUGF0aCk7IC8vIElmIHdlIGhhdmUgaGl0IHRoZSBlbmQgb2YgYm90aCBzdHJpbmdzLCB0aGVuIHdlIGFyZSBkb25lXG5cbiAgICAgICAgICBpZiAoYmFzZVBhdGgubmV3UG9zICsgMSA+PSBuZXdMZW4gJiYgX29sZFBvcyArIDEgPj0gb2xkTGVuKSB7XG4gICAgICAgICAgICByZXR1cm4gZG9uZShidWlsZFZhbHVlcyhzZWxmLCBiYXNlUGF0aC5jb21wb25lbnRzLCBuZXdTdHJpbmcsIG9sZFN0cmluZywgc2VsZi51c2VMb25nZXN0VG9rZW4pKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gT3RoZXJ3aXNlIHRyYWNrIHRoaXMgcGF0aCBhcyBhIHBvdGVudGlhbCBjYW5kaWRhdGUgYW5kIGNvbnRpbnVlLlxuICAgICAgICAgICAgYmVzdFBhdGhbZGlhZ29uYWxQYXRoXSA9IGJhc2VQYXRoO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGVkaXRMZW5ndGgrKztcbiAgICAgIH0gLy8gUGVyZm9ybXMgdGhlIGxlbmd0aCBvZiBlZGl0IGl0ZXJhdGlvbi4gSXMgYSBiaXQgZnVnbHkgYXMgdGhpcyBoYXMgdG8gc3VwcG9ydCB0aGVcbiAgICAgIC8vIHN5bmMgYW5kIGFzeW5jIG1vZGUgd2hpY2ggaXMgbmV2ZXIgZnVuLiBMb29wcyBvdmVyIGV4ZWNFZGl0TGVuZ3RoIHVudGlsIGEgdmFsdWVcbiAgICAgIC8vIGlzIHByb2R1Y2VkLlxuXG5cbiAgICAgIGlmIChjYWxsYmFjaykge1xuICAgICAgICAoZnVuY3Rpb24gZXhlYygpIHtcbiAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIC8vIFRoaXMgc2hvdWxkIG5vdCBoYXBwZW4sIGJ1dCB3ZSB3YW50IHRvIGJlIHNhZmUuXG5cbiAgICAgICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgICAgICAgICBpZiAoZWRpdExlbmd0aCA+IG1heEVkaXRMZW5ndGgpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICghZXhlY0VkaXRMZW5ndGgoKSkge1xuICAgICAgICAgICAgICBleGVjKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSwgMCk7XG4gICAgICAgIH0pKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB3aGlsZSAoZWRpdExlbmd0aCA8PSBtYXhFZGl0TGVuZ3RoKSB7XG4gICAgICAgICAgdmFyIHJldCA9IGV4ZWNFZGl0TGVuZ3RoKCk7XG5cbiAgICAgICAgICBpZiAocmV0KSB7XG4gICAgICAgICAgICByZXR1cm4gcmV0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0sXG4gICAgcHVzaENvbXBvbmVudDogZnVuY3Rpb24gcHVzaENvbXBvbmVudChjb21wb25lbnRzLCBhZGRlZCwgcmVtb3ZlZCkge1xuICAgICAgdmFyIGxhc3QgPSBjb21wb25lbnRzW2NvbXBvbmVudHMubGVuZ3RoIC0gMV07XG5cbiAgICAgIGlmIChsYXN0ICYmIGxhc3QuYWRkZWQgPT09IGFkZGVkICYmIGxhc3QucmVtb3ZlZCA9PT0gcmVtb3ZlZCkge1xuICAgICAgICAvLyBXZSBuZWVkIHRvIGNsb25lIGhlcmUgYXMgdGhlIGNvbXBvbmVudCBjbG9uZSBvcGVyYXRpb24gaXMganVzdFxuICAgICAgICAvLyBhcyBzaGFsbG93IGFycmF5IGNsb25lXG4gICAgICAgIGNvbXBvbmVudHNbY29tcG9uZW50cy5sZW5ndGggLSAxXSA9IHtcbiAgICAgICAgICBjb3VudDogbGFzdC5jb3VudCArIDEsXG4gICAgICAgICAgYWRkZWQ6IGFkZGVkLFxuICAgICAgICAgIHJlbW92ZWQ6IHJlbW92ZWRcbiAgICAgICAgfTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbXBvbmVudHMucHVzaCh7XG4gICAgICAgICAgY291bnQ6IDEsXG4gICAgICAgICAgYWRkZWQ6IGFkZGVkLFxuICAgICAgICAgIHJlbW92ZWQ6IHJlbW92ZWRcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSxcbiAgICBleHRyYWN0Q29tbW9uOiBmdW5jdGlvbiBleHRyYWN0Q29tbW9uKGJhc2VQYXRoLCBuZXdTdHJpbmcsIG9sZFN0cmluZywgZGlhZ29uYWxQYXRoKSB7XG4gICAgICB2YXIgbmV3TGVuID0gbmV3U3RyaW5nLmxlbmd0aCxcbiAgICAgICAgICBvbGRMZW4gPSBvbGRTdHJpbmcubGVuZ3RoLFxuICAgICAgICAgIG5ld1BvcyA9IGJhc2VQYXRoLm5ld1BvcyxcbiAgICAgICAgICBvbGRQb3MgPSBuZXdQb3MgLSBkaWFnb25hbFBhdGgsXG4gICAgICAgICAgY29tbW9uQ291bnQgPSAwO1xuXG4gICAgICB3aGlsZSAobmV3UG9zICsgMSA8IG5ld0xlbiAmJiBvbGRQb3MgKyAxIDwgb2xkTGVuICYmIHRoaXMuZXF1YWxzKG5ld1N0cmluZ1tuZXdQb3MgKyAxXSwgb2xkU3RyaW5nW29sZFBvcyArIDFdKSkge1xuICAgICAgICBuZXdQb3MrKztcbiAgICAgICAgb2xkUG9zKys7XG4gICAgICAgIGNvbW1vbkNvdW50Kys7XG4gICAgICB9XG5cbiAgICAgIGlmIChjb21tb25Db3VudCkge1xuICAgICAgICBiYXNlUGF0aC5jb21wb25lbnRzLnB1c2goe1xuICAgICAgICAgIGNvdW50OiBjb21tb25Db3VudFxuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgYmFzZVBhdGgubmV3UG9zID0gbmV3UG9zO1xuICAgICAgcmV0dXJuIG9sZFBvcztcbiAgICB9LFxuICAgIGVxdWFsczogZnVuY3Rpb24gZXF1YWxzKGxlZnQsIHJpZ2h0KSB7XG4gICAgICBpZiAodGhpcy5vcHRpb25zLmNvbXBhcmF0b3IpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMub3B0aW9ucy5jb21wYXJhdG9yKGxlZnQsIHJpZ2h0KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBsZWZ0ID09PSByaWdodCB8fCB0aGlzLm9wdGlvbnMuaWdub3JlQ2FzZSAmJiBsZWZ0LnRvTG93ZXJDYXNlKCkgPT09IHJpZ2h0LnRvTG93ZXJDYXNlKCk7XG4gICAgICB9XG4gICAgfSxcbiAgICByZW1vdmVFbXB0eTogZnVuY3Rpb24gcmVtb3ZlRW1wdHkoYXJyYXkpIHtcbiAgICAgIHZhciByZXQgPSBbXTtcblxuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBhcnJheS5sZW5ndGg7IGkrKykge1xuICAgICAgICBpZiAoYXJyYXlbaV0pIHtcbiAgICAgICAgICByZXQucHVzaChhcnJheVtpXSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHJldDtcbiAgICB9LFxuICAgIGNhc3RJbnB1dDogZnVuY3Rpb24gY2FzdElucHV0KHZhbHVlKSB7XG4gICAgICByZXR1cm4gdmFsdWU7XG4gICAgfSxcbiAgICB0b2tlbml6ZTogZnVuY3Rpb24gdG9rZW5pemUodmFsdWUpIHtcbiAgICAgIHJldHVybiB2YWx1ZS5zcGxpdCgnJyk7XG4gICAgfSxcbiAgICBqb2luOiBmdW5jdGlvbiBqb2luKGNoYXJzKSB7XG4gICAgICByZXR1cm4gY2hhcnMuam9pbignJyk7XG4gICAgfVxuICB9O1xuXG4gIGZ1bmN0aW9uIGJ1aWxkVmFsdWVzKGRpZmYsIGNvbXBvbmVudHMsIG5ld1N0cmluZywgb2xkU3RyaW5nLCB1c2VMb25nZXN0VG9rZW4pIHtcbiAgICB2YXIgY29tcG9uZW50UG9zID0gMCxcbiAgICAgICAgY29tcG9uZW50TGVuID0gY29tcG9uZW50cy5sZW5ndGgsXG4gICAgICAgIG5ld1BvcyA9IDAsXG4gICAgICAgIG9sZFBvcyA9IDA7XG5cbiAgICBmb3IgKDsgY29tcG9uZW50UG9zIDwgY29tcG9uZW50TGVuOyBjb21wb25lbnRQb3MrKykge1xuICAgICAgdmFyIGNvbXBvbmVudCA9IGNvbXBvbmVudHNbY29tcG9uZW50UG9zXTtcblxuICAgICAgaWYgKCFjb21wb25lbnQucmVtb3ZlZCkge1xuICAgICAgICBpZiAoIWNvbXBvbmVudC5hZGRlZCAmJiB1c2VMb25nZXN0VG9rZW4pIHtcbiAgICAgICAgICB2YXIgdmFsdWUgPSBuZXdTdHJpbmcuc2xpY2UobmV3UG9zLCBuZXdQb3MgKyBjb21wb25lbnQuY291bnQpO1xuICAgICAgICAgIHZhbHVlID0gdmFsdWUubWFwKGZ1bmN0aW9uICh2YWx1ZSwgaSkge1xuICAgICAgICAgICAgdmFyIG9sZFZhbHVlID0gb2xkU3RyaW5nW29sZFBvcyArIGldO1xuICAgICAgICAgICAgcmV0dXJuIG9sZFZhbHVlLmxlbmd0aCA+IHZhbHVlLmxlbmd0aCA/IG9sZFZhbHVlIDogdmFsdWU7XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgY29tcG9uZW50LnZhbHVlID0gZGlmZi5qb2luKHZhbHVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb21wb25lbnQudmFsdWUgPSBkaWZmLmpvaW4obmV3U3RyaW5nLnNsaWNlKG5ld1BvcywgbmV3UG9zICsgY29tcG9uZW50LmNvdW50KSk7XG4gICAgICAgIH1cblxuICAgICAgICBuZXdQb3MgKz0gY29tcG9uZW50LmNvdW50OyAvLyBDb21tb24gY2FzZVxuXG4gICAgICAgIGlmICghY29tcG9uZW50LmFkZGVkKSB7XG4gICAgICAgICAgb2xkUG9zICs9IGNvbXBvbmVudC5jb3VudDtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29tcG9uZW50LnZhbHVlID0gZGlmZi5qb2luKG9sZFN0cmluZy5zbGljZShvbGRQb3MsIG9sZFBvcyArIGNvbXBvbmVudC5jb3VudCkpO1xuICAgICAgICBvbGRQb3MgKz0gY29tcG9uZW50LmNvdW50OyAvLyBSZXZlcnNlIGFkZCBhbmQgcmVtb3ZlIHNvIHJlbW92ZXMgYXJlIG91dHB1dCBmaXJzdCB0byBtYXRjaCBjb21tb24gY29udmVudGlvblxuICAgICAgICAvLyBUaGUgZGlmZmluZyBhbGdvcml0aG0gaXMgdGllZCB0byBhZGQgdGhlbiByZW1vdmUgb3V0cHV0IGFuZCB0aGlzIGlzIHRoZSBzaW1wbGVzdFxuICAgICAgICAvLyByb3V0ZSB0byBnZXQgdGhlIGRlc2lyZWQgb3V0cHV0IHdpdGggbWluaW1hbCBvdmVyaGVhZC5cblxuICAgICAgICBpZiAoY29tcG9uZW50UG9zICYmIGNvbXBvbmVudHNbY29tcG9uZW50UG9zIC0gMV0uYWRkZWQpIHtcbiAgICAgICAgICB2YXIgdG1wID0gY29tcG9uZW50c1tjb21wb25lbnRQb3MgLSAxXTtcbiAgICAgICAgICBjb21wb25lbnRzW2NvbXBvbmVudFBvcyAtIDFdID0gY29tcG9uZW50c1tjb21wb25lbnRQb3NdO1xuICAgICAgICAgIGNvbXBvbmVudHNbY29tcG9uZW50UG9zXSA9IHRtcDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gLy8gU3BlY2lhbCBjYXNlIGhhbmRsZSBmb3Igd2hlbiBvbmUgdGVybWluYWwgaXMgaWdub3JlZCAoaS5lLiB3aGl0ZXNwYWNlKS5cbiAgICAvLyBGb3IgdGhpcyBjYXNlIHdlIG1lcmdlIHRoZSB0ZXJtaW5hbCBpbnRvIHRoZSBwcmlvciBzdHJpbmcgYW5kIGRyb3AgdGhlIGNoYW5nZS5cbiAgICAvLyBUaGlzIGlzIG9ubHkgYXZhaWxhYmxlIGZvciBzdHJpbmcgbW9kZS5cblxuXG4gICAgdmFyIGxhc3RDb21wb25lbnQgPSBjb21wb25lbnRzW2NvbXBvbmVudExlbiAtIDFdO1xuXG4gICAgaWYgKGNvbXBvbmVudExlbiA+IDEgJiYgdHlwZW9mIGxhc3RDb21wb25lbnQudmFsdWUgPT09ICdzdHJpbmcnICYmIChsYXN0Q29tcG9uZW50LmFkZGVkIHx8IGxhc3RDb21wb25lbnQucmVtb3ZlZCkgJiYgZGlmZi5lcXVhbHMoJycsIGxhc3RDb21wb25lbnQudmFsdWUpKSB7XG4gICAgICBjb21wb25lbnRzW2NvbXBvbmVudExlbiAtIDJdLnZhbHVlICs9IGxhc3RDb21wb25lbnQudmFsdWU7XG4gICAgICBjb21wb25lbnRzLnBvcCgpO1xuICAgIH1cblxuICAgIHJldHVybiBjb21wb25lbnRzO1xuICB9XG5cbiAgZnVuY3Rpb24gY2xvbmVQYXRoKHBhdGgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgbmV3UG9zOiBwYXRoLm5ld1BvcyxcbiAgICAgIGNvbXBvbmVudHM6IHBhdGguY29tcG9uZW50cy5zbGljZSgwKVxuICAgIH07XG4gIH1cblxuICB2YXIgY2hhcmFjdGVyRGlmZiA9IG5ldyBEaWZmKCk7XG4gIGZ1bmN0aW9uIGRpZmZDaGFycyhvbGRTdHIsIG5ld1N0ciwgb3B0aW9ucykge1xuICAgIHJldHVybiBjaGFyYWN0ZXJEaWZmLmRpZmYob2xkU3RyLCBuZXdTdHIsIG9wdGlvbnMpO1xuICB9XG5cbiAgZnVuY3Rpb24gZ2VuZXJhdGVPcHRpb25zKG9wdGlvbnMsIGRlZmF1bHRzKSB7XG4gICAgaWYgKHR5cGVvZiBvcHRpb25zID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBkZWZhdWx0cy5jYWxsYmFjayA9IG9wdGlvbnM7XG4gICAgfSBlbHNlIGlmIChvcHRpb25zKSB7XG4gICAgICBmb3IgKHZhciBuYW1lIGluIG9wdGlvbnMpIHtcbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgaWYgKG9wdGlvbnMuaGFzT3duUHJvcGVydHkobmFtZSkpIHtcbiAgICAgICAgICBkZWZhdWx0c1tuYW1lXSA9IG9wdGlvbnNbbmFtZV07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gZGVmYXVsdHM7XG4gIH1cblxuICAvL1xuICAvLyBSYW5nZXMgYW5kIGV4Y2VwdGlvbnM6XG4gIC8vIExhdGluLTEgU3VwcGxlbWVudCwgMDA4MOKAkzAwRkZcbiAgLy8gIC0gVSswMEQ3ICDDlyBNdWx0aXBsaWNhdGlvbiBzaWduXG4gIC8vICAtIFUrMDBGNyAgw7cgRGl2aXNpb24gc2lnblxuICAvLyBMYXRpbiBFeHRlbmRlZC1BLCAwMTAw4oCTMDE3RlxuICAvLyBMYXRpbiBFeHRlbmRlZC1CLCAwMTgw4oCTMDI0RlxuICAvLyBJUEEgRXh0ZW5zaW9ucywgMDI1MOKAkzAyQUZcbiAgLy8gU3BhY2luZyBNb2RpZmllciBMZXR0ZXJzLCAwMkIw4oCTMDJGRlxuICAvLyAgLSBVKzAyQzcgIMuHICYjNzExOyAgQ2Fyb25cbiAgLy8gIC0gVSswMkQ4ICDLmCAmIzcyODsgIEJyZXZlXG4gIC8vICAtIFUrMDJEOSAgy5kgJiM3Mjk7ICBEb3QgQWJvdmVcbiAgLy8gIC0gVSswMkRBICDLmiAmIzczMDsgIFJpbmcgQWJvdmVcbiAgLy8gIC0gVSswMkRCICDLmyAmIzczMTsgIE9nb25la1xuICAvLyAgLSBVKzAyREMgIMucICYjNzMyOyAgU21hbGwgVGlsZGVcbiAgLy8gIC0gVSswMkREICDLnSAmIzczMzsgIERvdWJsZSBBY3V0ZSBBY2NlbnRcbiAgLy8gTGF0aW4gRXh0ZW5kZWQgQWRkaXRpb25hbCwgMUUwMOKAkzFFRkZcblxuICB2YXIgZXh0ZW5kZWRXb3JkQ2hhcnMgPSAvXltBLVphLXpcXHhDMC1cXHUwMkM2XFx1MDJDOC1cXHUwMkQ3XFx1MDJERS1cXHUwMkZGXFx1MUUwMC1cXHUxRUZGXSskLztcbiAgdmFyIHJlV2hpdGVzcGFjZSA9IC9cXFMvO1xuICB2YXIgd29yZERpZmYgPSBuZXcgRGlmZigpO1xuXG4gIHdvcmREaWZmLmVxdWFscyA9IGZ1bmN0aW9uIChsZWZ0LCByaWdodCkge1xuICAgIGlmICh0aGlzLm9wdGlvbnMuaWdub3JlQ2FzZSkge1xuICAgICAgbGVmdCA9IGxlZnQudG9Mb3dlckNhc2UoKTtcbiAgICAgIHJpZ2h0ID0gcmlnaHQudG9Mb3dlckNhc2UoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbGVmdCA9PT0gcmlnaHQgfHwgdGhpcy5vcHRpb25zLmlnbm9yZVdoaXRlc3BhY2UgJiYgIXJlV2hpdGVzcGFjZS50ZXN0KGxlZnQpICYmICFyZVdoaXRlc3BhY2UudGVzdChyaWdodCk7XG4gIH07XG5cbiAgd29yZERpZmYudG9rZW5pemUgPSBmdW5jdGlvbiAodmFsdWUpIHtcbiAgICAvLyBBbGwgd2hpdGVzcGFjZSBzeW1ib2xzIGV4Y2VwdCBuZXdsaW5lIGdyb3VwIGludG8gb25lIHRva2VuLCBlYWNoIG5ld2xpbmUgLSBpbiBzZXBhcmF0ZSB0b2tlblxuICAgIHZhciB0b2tlbnMgPSB2YWx1ZS5zcGxpdCgvKFteXFxTXFxyXFxuXSt8WygpW1xcXXt9J1wiXFxyXFxuXXxcXGIpLyk7IC8vIEpvaW4gdGhlIGJvdW5kYXJ5IHNwbGl0cyB0aGF0IHdlIGRvIG5vdCBjb25zaWRlciB0byBiZSBib3VuZGFyaWVzLiBUaGlzIGlzIHByaW1hcmlseSB0aGUgZXh0ZW5kZWQgTGF0aW4gY2hhcmFjdGVyIHNldC5cblxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdG9rZW5zLmxlbmd0aCAtIDE7IGkrKykge1xuICAgICAgLy8gSWYgd2UgaGF2ZSBhbiBlbXB0eSBzdHJpbmcgaW4gdGhlIG5leHQgZmllbGQgYW5kIHdlIGhhdmUgb25seSB3b3JkIGNoYXJzIGJlZm9yZSBhbmQgYWZ0ZXIsIG1lcmdlXG4gICAgICBpZiAoIXRva2Vuc1tpICsgMV0gJiYgdG9rZW5zW2kgKyAyXSAmJiBleHRlbmRlZFdvcmRDaGFycy50ZXN0KHRva2Vuc1tpXSkgJiYgZXh0ZW5kZWRXb3JkQ2hhcnMudGVzdCh0b2tlbnNbaSArIDJdKSkge1xuICAgICAgICB0b2tlbnNbaV0gKz0gdG9rZW5zW2kgKyAyXTtcbiAgICAgICAgdG9rZW5zLnNwbGljZShpICsgMSwgMik7XG4gICAgICAgIGktLTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdG9rZW5zO1xuICB9O1xuXG4gIGZ1bmN0aW9uIGRpZmZXb3JkcyhvbGRTdHIsIG5ld1N0ciwgb3B0aW9ucykge1xuICAgIG9wdGlvbnMgPSBnZW5lcmF0ZU9wdGlvbnMob3B0aW9ucywge1xuICAgICAgaWdub3JlV2hpdGVzcGFjZTogdHJ1ZVxuICAgIH0pO1xuICAgIHJldHVybiB3b3JkRGlmZi5kaWZmKG9sZFN0ciwgbmV3U3RyLCBvcHRpb25zKTtcbiAgfVxuICBmdW5jdGlvbiBkaWZmV29yZHNXaXRoU3BhY2Uob2xkU3RyLCBuZXdTdHIsIG9wdGlvbnMpIHtcbiAgICByZXR1cm4gd29yZERpZmYuZGlmZihvbGRTdHIsIG5ld1N0ciwgb3B0aW9ucyk7XG4gIH1cblxuICB2YXIgbGluZURpZmYgPSBuZXcgRGlmZigpO1xuXG4gIGxpbmVEaWZmLnRva2VuaXplID0gZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgdmFyIHJldExpbmVzID0gW10sXG4gICAgICAgIGxpbmVzQW5kTmV3bGluZXMgPSB2YWx1ZS5zcGxpdCgvKFxcbnxcXHJcXG4pLyk7IC8vIElnbm9yZSB0aGUgZmluYWwgZW1wdHkgdG9rZW4gdGhhdCBvY2N1cnMgaWYgdGhlIHN0cmluZyBlbmRzIHdpdGggYSBuZXcgbGluZVxuXG4gICAgaWYgKCFsaW5lc0FuZE5ld2xpbmVzW2xpbmVzQW5kTmV3bGluZXMubGVuZ3RoIC0gMV0pIHtcbiAgICAgIGxpbmVzQW5kTmV3bGluZXMucG9wKCk7XG4gICAgfSAvLyBNZXJnZSB0aGUgY29udGVudCBhbmQgbGluZSBzZXBhcmF0b3JzIGludG8gc2luZ2xlIHRva2Vuc1xuXG5cbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxpbmVzQW5kTmV3bGluZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIHZhciBsaW5lID0gbGluZXNBbmROZXdsaW5lc1tpXTtcblxuICAgICAgaWYgKGkgJSAyICYmICF0aGlzLm9wdGlvbnMubmV3bGluZUlzVG9rZW4pIHtcbiAgICAgICAgcmV0TGluZXNbcmV0TGluZXMubGVuZ3RoIC0gMV0gKz0gbGluZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmICh0aGlzLm9wdGlvbnMuaWdub3JlV2hpdGVzcGFjZSkge1xuICAgICAgICAgIGxpbmUgPSBsaW5lLnRyaW0oKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldExpbmVzLnB1c2gobGluZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHJldExpbmVzO1xuICB9O1xuXG4gIGZ1bmN0aW9uIGRpZmZMaW5lcyhvbGRTdHIsIG5ld1N0ciwgY2FsbGJhY2spIHtcbiAgICByZXR1cm4gbGluZURpZmYuZGlmZihvbGRTdHIsIG5ld1N0ciwgY2FsbGJhY2spO1xuICB9XG4gIGZ1bmN0aW9uIGRpZmZUcmltbWVkTGluZXMob2xkU3RyLCBuZXdTdHIsIGNhbGxiYWNrKSB7XG4gICAgdmFyIG9wdGlvbnMgPSBnZW5lcmF0ZU9wdGlvbnMoY2FsbGJhY2ssIHtcbiAgICAgIGlnbm9yZVdoaXRlc3BhY2U6IHRydWVcbiAgICB9KTtcbiAgICByZXR1cm4gbGluZURpZmYuZGlmZihvbGRTdHIsIG5ld1N0ciwgb3B0aW9ucyk7XG4gIH1cblxuICB2YXIgc2VudGVuY2VEaWZmID0gbmV3IERpZmYoKTtcblxuICBzZW50ZW5jZURpZmYudG9rZW5pemUgPSBmdW5jdGlvbiAodmFsdWUpIHtcbiAgICByZXR1cm4gdmFsdWUuc3BsaXQoLyhcXFMuKz9bLiE/XSkoPz1cXHMrfCQpLyk7XG4gIH07XG5cbiAgZnVuY3Rpb24gZGlmZlNlbnRlbmNlcyhvbGRTdHIsIG5ld1N0ciwgY2FsbGJhY2spIHtcbiAgICByZXR1cm4gc2VudGVuY2VEaWZmLmRpZmYob2xkU3RyLCBuZXdTdHIsIGNhbGxiYWNrKTtcbiAgfVxuXG4gIHZhciBjc3NEaWZmID0gbmV3IERpZmYoKTtcblxuICBjc3NEaWZmLnRva2VuaXplID0gZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgcmV0dXJuIHZhbHVlLnNwbGl0KC8oW3t9OjssXXxcXHMrKS8pO1xuICB9O1xuXG4gIGZ1bmN0aW9uIGRpZmZDc3Mob2xkU3RyLCBuZXdTdHIsIGNhbGxiYWNrKSB7XG4gICAgcmV0dXJuIGNzc0RpZmYuZGlmZihvbGRTdHIsIG5ld1N0ciwgY2FsbGJhY2spO1xuICB9XG5cbiAgZnVuY3Rpb24gX3R5cGVvZihvYmopIHtcbiAgICBcIkBiYWJlbC9oZWxwZXJzIC0gdHlwZW9mXCI7XG5cbiAgICBpZiAodHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIHR5cGVvZiBTeW1ib2wuaXRlcmF0b3IgPT09IFwic3ltYm9sXCIpIHtcbiAgICAgIF90eXBlb2YgPSBmdW5jdGlvbiAob2JqKSB7XG4gICAgICAgIHJldHVybiB0eXBlb2Ygb2JqO1xuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgX3R5cGVvZiA9IGZ1bmN0aW9uIChvYmopIHtcbiAgICAgICAgcmV0dXJuIG9iaiAmJiB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgb2JqLmNvbnN0cnVjdG9yID09PSBTeW1ib2wgJiYgb2JqICE9PSBTeW1ib2wucHJvdG90eXBlID8gXCJzeW1ib2xcIiA6IHR5cGVvZiBvYmo7XG4gICAgICB9O1xuICAgIH1cblxuICAgIHJldHVybiBfdHlwZW9mKG9iaik7XG4gIH1cblxuICBmdW5jdGlvbiBfdG9Db25zdW1hYmxlQXJyYXkoYXJyKSB7XG4gICAgcmV0dXJuIF9hcnJheVdpdGhvdXRIb2xlcyhhcnIpIHx8IF9pdGVyYWJsZVRvQXJyYXkoYXJyKSB8fCBfdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkoYXJyKSB8fCBfbm9uSXRlcmFibGVTcHJlYWQoKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIF9hcnJheVdpdGhvdXRIb2xlcyhhcnIpIHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheShhcnIpKSByZXR1cm4gX2FycmF5TGlrZVRvQXJyYXkoYXJyKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIF9pdGVyYWJsZVRvQXJyYXkoaXRlcikge1xuICAgIGlmICh0eXBlb2YgU3ltYm9sICE9PSBcInVuZGVmaW5lZFwiICYmIFN5bWJvbC5pdGVyYXRvciBpbiBPYmplY3QoaXRlcikpIHJldHVybiBBcnJheS5mcm9tKGl0ZXIpO1xuICB9XG5cbiAgZnVuY3Rpb24gX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5KG8sIG1pbkxlbikge1xuICAgIGlmICghbykgcmV0dXJuO1xuICAgIGlmICh0eXBlb2YgbyA9PT0gXCJzdHJpbmdcIikgcmV0dXJuIF9hcnJheUxpa2VUb0FycmF5KG8sIG1pbkxlbik7XG4gICAgdmFyIG4gPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwobykuc2xpY2UoOCwgLTEpO1xuICAgIGlmIChuID09PSBcIk9iamVjdFwiICYmIG8uY29uc3RydWN0b3IpIG4gPSBvLmNvbnN0cnVjdG9yLm5hbWU7XG4gICAgaWYgKG4gPT09IFwiTWFwXCIgfHwgbiA9PT0gXCJTZXRcIikgcmV0dXJuIEFycmF5LmZyb20obyk7XG4gICAgaWYgKG4gPT09IFwiQXJndW1lbnRzXCIgfHwgL14oPzpVaXxJKW50KD86OHwxNnwzMikoPzpDbGFtcGVkKT9BcnJheSQvLnRlc3QobikpIHJldHVybiBfYXJyYXlMaWtlVG9BcnJheShvLCBtaW5MZW4pO1xuICB9XG5cbiAgZnVuY3Rpb24gX2FycmF5TGlrZVRvQXJyYXkoYXJyLCBsZW4pIHtcbiAgICBpZiAobGVuID09IG51bGwgfHwgbGVuID4gYXJyLmxlbmd0aCkgbGVuID0gYXJyLmxlbmd0aDtcblxuICAgIGZvciAodmFyIGkgPSAwLCBhcnIyID0gbmV3IEFycmF5KGxlbik7IGkgPCBsZW47IGkrKykgYXJyMltpXSA9IGFycltpXTtcblxuICAgIHJldHVybiBhcnIyO1xuICB9XG5cbiAgZnVuY3Rpb24gX25vbkl0ZXJhYmxlU3ByZWFkKCkge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJJbnZhbGlkIGF0dGVtcHQgdG8gc3ByZWFkIG5vbi1pdGVyYWJsZSBpbnN0YW5jZS5cXG5JbiBvcmRlciB0byBiZSBpdGVyYWJsZSwgbm9uLWFycmF5IG9iamVjdHMgbXVzdCBoYXZlIGEgW1N5bWJvbC5pdGVyYXRvcl0oKSBtZXRob2QuXCIpO1xuICB9XG5cbiAgdmFyIG9iamVjdFByb3RvdHlwZVRvU3RyaW5nID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZztcbiAgdmFyIGpzb25EaWZmID0gbmV3IERpZmYoKTsgLy8gRGlzY3JpbWluYXRlIGJldHdlZW4gdHdvIGxpbmVzIG9mIHByZXR0eS1wcmludGVkLCBzZXJpYWxpemVkIEpTT04gd2hlcmUgb25lIG9mIHRoZW0gaGFzIGFcbiAgLy8gZGFuZ2xpbmcgY29tbWEgYW5kIHRoZSBvdGhlciBkb2Vzbid0LiBUdXJucyBvdXQgaW5jbHVkaW5nIHRoZSBkYW5nbGluZyBjb21tYSB5aWVsZHMgdGhlIG5pY2VzdCBvdXRwdXQ6XG5cbiAganNvbkRpZmYudXNlTG9uZ2VzdFRva2VuID0gdHJ1ZTtcbiAganNvbkRpZmYudG9rZW5pemUgPSBsaW5lRGlmZi50b2tlbml6ZTtcblxuICBqc29uRGlmZi5jYXN0SW5wdXQgPSBmdW5jdGlvbiAodmFsdWUpIHtcbiAgICB2YXIgX3RoaXMkb3B0aW9ucyA9IHRoaXMub3B0aW9ucyxcbiAgICAgICAgdW5kZWZpbmVkUmVwbGFjZW1lbnQgPSBfdGhpcyRvcHRpb25zLnVuZGVmaW5lZFJlcGxhY2VtZW50LFxuICAgICAgICBfdGhpcyRvcHRpb25zJHN0cmluZ2kgPSBfdGhpcyRvcHRpb25zLnN0cmluZ2lmeVJlcGxhY2VyLFxuICAgICAgICBzdHJpbmdpZnlSZXBsYWNlciA9IF90aGlzJG9wdGlvbnMkc3RyaW5naSA9PT0gdm9pZCAwID8gZnVuY3Rpb24gKGssIHYpIHtcbiAgICAgIHJldHVybiB0eXBlb2YgdiA9PT0gJ3VuZGVmaW5lZCcgPyB1bmRlZmluZWRSZXBsYWNlbWVudCA6IHY7XG4gICAgfSA6IF90aGlzJG9wdGlvbnMkc3RyaW5naTtcbiAgICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyA/IHZhbHVlIDogSlNPTi5zdHJpbmdpZnkoY2Fub25pY2FsaXplKHZhbHVlLCBudWxsLCBudWxsLCBzdHJpbmdpZnlSZXBsYWNlciksIHN0cmluZ2lmeVJlcGxhY2VyLCAnICAnKTtcbiAgfTtcblxuICBqc29uRGlmZi5lcXVhbHMgPSBmdW5jdGlvbiAobGVmdCwgcmlnaHQpIHtcbiAgICByZXR1cm4gRGlmZi5wcm90b3R5cGUuZXF1YWxzLmNhbGwoanNvbkRpZmYsIGxlZnQucmVwbGFjZSgvLChbXFxyXFxuXSkvZywgJyQxJyksIHJpZ2h0LnJlcGxhY2UoLywoW1xcclxcbl0pL2csICckMScpKTtcbiAgfTtcblxuICBmdW5jdGlvbiBkaWZmSnNvbihvbGRPYmosIG5ld09iaiwgb3B0aW9ucykge1xuICAgIHJldHVybiBqc29uRGlmZi5kaWZmKG9sZE9iaiwgbmV3T2JqLCBvcHRpb25zKTtcbiAgfSAvLyBUaGlzIGZ1bmN0aW9uIGhhbmRsZXMgdGhlIHByZXNlbmNlIG9mIGNpcmN1bGFyIHJlZmVyZW5jZXMgYnkgYmFpbGluZyBvdXQgd2hlbiBlbmNvdW50ZXJpbmcgYW5cbiAgLy8gb2JqZWN0IHRoYXQgaXMgYWxyZWFkeSBvbiB0aGUgXCJzdGFja1wiIG9mIGl0ZW1zIGJlaW5nIHByb2Nlc3NlZC4gQWNjZXB0cyBhbiBvcHRpb25hbCByZXBsYWNlclxuXG4gIGZ1bmN0aW9uIGNhbm9uaWNhbGl6ZShvYmosIHN0YWNrLCByZXBsYWNlbWVudFN0YWNrLCByZXBsYWNlciwga2V5KSB7XG4gICAgc3RhY2sgPSBzdGFjayB8fCBbXTtcbiAgICByZXBsYWNlbWVudFN0YWNrID0gcmVwbGFjZW1lbnRTdGFjayB8fCBbXTtcblxuICAgIGlmIChyZXBsYWNlcikge1xuICAgICAgb2JqID0gcmVwbGFjZXIoa2V5LCBvYmopO1xuICAgIH1cblxuICAgIHZhciBpO1xuXG4gICAgZm9yIChpID0gMDsgaSA8IHN0YWNrLmxlbmd0aDsgaSArPSAxKSB7XG4gICAgICBpZiAoc3RhY2tbaV0gPT09IG9iaikge1xuICAgICAgICByZXR1cm4gcmVwbGFjZW1lbnRTdGFja1tpXTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB2YXIgY2Fub25pY2FsaXplZE9iajtcblxuICAgIGlmICgnW29iamVjdCBBcnJheV0nID09PSBvYmplY3RQcm90b3R5cGVUb1N0cmluZy5jYWxsKG9iaikpIHtcbiAgICAgIHN0YWNrLnB1c2gob2JqKTtcbiAgICAgIGNhbm9uaWNhbGl6ZWRPYmogPSBuZXcgQXJyYXkob2JqLmxlbmd0aCk7XG4gICAgICByZXBsYWNlbWVudFN0YWNrLnB1c2goY2Fub25pY2FsaXplZE9iaik7XG5cbiAgICAgIGZvciAoaSA9IDA7IGkgPCBvYmoubGVuZ3RoOyBpICs9IDEpIHtcbiAgICAgICAgY2Fub25pY2FsaXplZE9ialtpXSA9IGNhbm9uaWNhbGl6ZShvYmpbaV0sIHN0YWNrLCByZXBsYWNlbWVudFN0YWNrLCByZXBsYWNlciwga2V5KTtcbiAgICAgIH1cblxuICAgICAgc3RhY2sucG9wKCk7XG4gICAgICByZXBsYWNlbWVudFN0YWNrLnBvcCgpO1xuICAgICAgcmV0dXJuIGNhbm9uaWNhbGl6ZWRPYmo7XG4gICAgfVxuXG4gICAgaWYgKG9iaiAmJiBvYmoudG9KU09OKSB7XG4gICAgICBvYmogPSBvYmoudG9KU09OKCk7XG4gICAgfVxuXG4gICAgaWYgKF90eXBlb2Yob2JqKSA9PT0gJ29iamVjdCcgJiYgb2JqICE9PSBudWxsKSB7XG4gICAgICBzdGFjay5wdXNoKG9iaik7XG4gICAgICBjYW5vbmljYWxpemVkT2JqID0ge307XG4gICAgICByZXBsYWNlbWVudFN0YWNrLnB1c2goY2Fub25pY2FsaXplZE9iaik7XG5cbiAgICAgIHZhciBzb3J0ZWRLZXlzID0gW10sXG4gICAgICAgICAgX2tleTtcblxuICAgICAgZm9yIChfa2V5IGluIG9iaikge1xuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgICBpZiAob2JqLmhhc093blByb3BlcnR5KF9rZXkpKSB7XG4gICAgICAgICAgc29ydGVkS2V5cy5wdXNoKF9rZXkpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHNvcnRlZEtleXMuc29ydCgpO1xuXG4gICAgICBmb3IgKGkgPSAwOyBpIDwgc29ydGVkS2V5cy5sZW5ndGg7IGkgKz0gMSkge1xuICAgICAgICBfa2V5ID0gc29ydGVkS2V5c1tpXTtcbiAgICAgICAgY2Fub25pY2FsaXplZE9ialtfa2V5XSA9IGNhbm9uaWNhbGl6ZShvYmpbX2tleV0sIHN0YWNrLCByZXBsYWNlbWVudFN0YWNrLCByZXBsYWNlciwgX2tleSk7XG4gICAgICB9XG5cbiAgICAgIHN0YWNrLnBvcCgpO1xuICAgICAgcmVwbGFjZW1lbnRTdGFjay5wb3AoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY2Fub25pY2FsaXplZE9iaiA9IG9iajtcbiAgICB9XG5cbiAgICByZXR1cm4gY2Fub25pY2FsaXplZE9iajtcbiAgfVxuXG4gIHZhciBhcnJheURpZmYgPSBuZXcgRGlmZigpO1xuXG4gIGFycmF5RGlmZi50b2tlbml6ZSA9IGZ1bmN0aW9uICh2YWx1ZSkge1xuICAgIHJldHVybiB2YWx1ZS5zbGljZSgpO1xuICB9O1xuXG4gIGFycmF5RGlmZi5qb2luID0gYXJyYXlEaWZmLnJlbW92ZUVtcHR5ID0gZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9O1xuXG4gIGZ1bmN0aW9uIGRpZmZBcnJheXMob2xkQXJyLCBuZXdBcnIsIGNhbGxiYWNrKSB7XG4gICAgcmV0dXJuIGFycmF5RGlmZi5kaWZmKG9sZEFyciwgbmV3QXJyLCBjYWxsYmFjayk7XG4gIH1cblxuICBmdW5jdGlvbiBwYXJzZVBhdGNoKHVuaURpZmYpIHtcbiAgICB2YXIgb3B0aW9ucyA9IGFyZ3VtZW50cy5sZW5ndGggPiAxICYmIGFyZ3VtZW50c1sxXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzFdIDoge307XG4gICAgdmFyIGRpZmZzdHIgPSB1bmlEaWZmLnNwbGl0KC9cXHJcXG58W1xcblxcdlxcZlxcclxceDg1XS8pLFxuICAgICAgICBkZWxpbWl0ZXJzID0gdW5pRGlmZi5tYXRjaCgvXFxyXFxufFtcXG5cXHZcXGZcXHJcXHg4NV0vZykgfHwgW10sXG4gICAgICAgIGxpc3QgPSBbXSxcbiAgICAgICAgaSA9IDA7XG5cbiAgICBmdW5jdGlvbiBwYXJzZUluZGV4KCkge1xuICAgICAgdmFyIGluZGV4ID0ge307XG4gICAgICBsaXN0LnB1c2goaW5kZXgpOyAvLyBQYXJzZSBkaWZmIG1ldGFkYXRhXG5cbiAgICAgIHdoaWxlIChpIDwgZGlmZnN0ci5sZW5ndGgpIHtcbiAgICAgICAgdmFyIGxpbmUgPSBkaWZmc3RyW2ldOyAvLyBGaWxlIGhlYWRlciBmb3VuZCwgZW5kIHBhcnNpbmcgZGlmZiBtZXRhZGF0YVxuXG4gICAgICAgIGlmICgvXihcXC1cXC1cXC18XFwrXFwrXFwrfEBAKVxccy8udGVzdChsaW5lKSkge1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9IC8vIERpZmYgaW5kZXhcblxuXG4gICAgICAgIHZhciBoZWFkZXIgPSAvXig/OkluZGV4OnxkaWZmKD86IC1yIFxcdyspKylcXHMrKC4rPylcXHMqJC8uZXhlYyhsaW5lKTtcblxuICAgICAgICBpZiAoaGVhZGVyKSB7XG4gICAgICAgICAgaW5kZXguaW5kZXggPSBoZWFkZXJbMV07XG4gICAgICAgIH1cblxuICAgICAgICBpKys7XG4gICAgICB9IC8vIFBhcnNlIGZpbGUgaGVhZGVycyBpZiB0aGV5IGFyZSBkZWZpbmVkLiBVbmlmaWVkIGRpZmYgcmVxdWlyZXMgdGhlbSwgYnV0XG4gICAgICAvLyB0aGVyZSdzIG5vIHRlY2huaWNhbCBpc3N1ZXMgdG8gaGF2ZSBhbiBpc29sYXRlZCBodW5rIHdpdGhvdXQgZmlsZSBoZWFkZXJcblxuXG4gICAgICBwYXJzZUZpbGVIZWFkZXIoaW5kZXgpO1xuICAgICAgcGFyc2VGaWxlSGVhZGVyKGluZGV4KTsgLy8gUGFyc2UgaHVua3NcblxuICAgICAgaW5kZXguaHVua3MgPSBbXTtcblxuICAgICAgd2hpbGUgKGkgPCBkaWZmc3RyLmxlbmd0aCkge1xuICAgICAgICB2YXIgX2xpbmUgPSBkaWZmc3RyW2ldO1xuXG4gICAgICAgIGlmICgvXihJbmRleDp8ZGlmZnxcXC1cXC1cXC18XFwrXFwrXFwrKVxccy8udGVzdChfbGluZSkpIHtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfSBlbHNlIGlmICgvXkBALy50ZXN0KF9saW5lKSkge1xuICAgICAgICAgIGluZGV4Lmh1bmtzLnB1c2gocGFyc2VIdW5rKCkpO1xuICAgICAgICB9IGVsc2UgaWYgKF9saW5lICYmIG9wdGlvbnMuc3RyaWN0KSB7XG4gICAgICAgICAgLy8gSWdub3JlIHVuZXhwZWN0ZWQgY29udGVudCB1bmxlc3MgaW4gc3RyaWN0IG1vZGVcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1Vua25vd24gbGluZSAnICsgKGkgKyAxKSArICcgJyArIEpTT04uc3RyaW5naWZ5KF9saW5lKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaSsrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSAvLyBQYXJzZXMgdGhlIC0tLSBhbmQgKysrIGhlYWRlcnMsIGlmIG5vbmUgYXJlIGZvdW5kLCBubyBsaW5lc1xuICAgIC8vIGFyZSBjb25zdW1lZC5cblxuXG4gICAgZnVuY3Rpb24gcGFyc2VGaWxlSGVhZGVyKGluZGV4KSB7XG4gICAgICB2YXIgZmlsZUhlYWRlciA9IC9eKC0tLXxcXCtcXCtcXCspXFxzKyguKikkLy5leGVjKGRpZmZzdHJbaV0pO1xuXG4gICAgICBpZiAoZmlsZUhlYWRlcikge1xuICAgICAgICB2YXIga2V5UHJlZml4ID0gZmlsZUhlYWRlclsxXSA9PT0gJy0tLScgPyAnb2xkJyA6ICduZXcnO1xuICAgICAgICB2YXIgZGF0YSA9IGZpbGVIZWFkZXJbMl0uc3BsaXQoJ1xcdCcsIDIpO1xuICAgICAgICB2YXIgZmlsZU5hbWUgPSBkYXRhWzBdLnJlcGxhY2UoL1xcXFxcXFxcL2csICdcXFxcJyk7XG5cbiAgICAgICAgaWYgKC9eXCIuKlwiJC8udGVzdChmaWxlTmFtZSkpIHtcbiAgICAgICAgICBmaWxlTmFtZSA9IGZpbGVOYW1lLnN1YnN0cigxLCBmaWxlTmFtZS5sZW5ndGggLSAyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGluZGV4W2tleVByZWZpeCArICdGaWxlTmFtZSddID0gZmlsZU5hbWU7XG4gICAgICAgIGluZGV4W2tleVByZWZpeCArICdIZWFkZXInXSA9IChkYXRhWzFdIHx8ICcnKS50cmltKCk7XG4gICAgICAgIGkrKztcbiAgICAgIH1cbiAgICB9IC8vIFBhcnNlcyBhIGh1bmtcbiAgICAvLyBUaGlzIGFzc3VtZXMgdGhhdCB3ZSBhcmUgYXQgdGhlIHN0YXJ0IG9mIGEgaHVuay5cblxuXG4gICAgZnVuY3Rpb24gcGFyc2VIdW5rKCkge1xuICAgICAgdmFyIGNodW5rSGVhZGVySW5kZXggPSBpLFxuICAgICAgICAgIGNodW5rSGVhZGVyTGluZSA9IGRpZmZzdHJbaSsrXSxcbiAgICAgICAgICBjaHVua0hlYWRlciA9IGNodW5rSGVhZGVyTGluZS5zcGxpdCgvQEAgLShcXGQrKSg/OiwoXFxkKykpPyBcXCsoXFxkKykoPzosKFxcZCspKT8gQEAvKTtcbiAgICAgIHZhciBodW5rID0ge1xuICAgICAgICBvbGRTdGFydDogK2NodW5rSGVhZGVyWzFdLFxuICAgICAgICBvbGRMaW5lczogdHlwZW9mIGNodW5rSGVhZGVyWzJdID09PSAndW5kZWZpbmVkJyA/IDEgOiArY2h1bmtIZWFkZXJbMl0sXG4gICAgICAgIG5ld1N0YXJ0OiArY2h1bmtIZWFkZXJbM10sXG4gICAgICAgIG5ld0xpbmVzOiB0eXBlb2YgY2h1bmtIZWFkZXJbNF0gPT09ICd1bmRlZmluZWQnID8gMSA6ICtjaHVua0hlYWRlcls0XSxcbiAgICAgICAgbGluZXM6IFtdLFxuICAgICAgICBsaW5lZGVsaW1pdGVyczogW11cbiAgICAgIH07IC8vIFVuaWZpZWQgRGlmZiBGb3JtYXQgcXVpcms6IElmIHRoZSBjaHVuayBzaXplIGlzIDAsXG4gICAgICAvLyB0aGUgZmlyc3QgbnVtYmVyIGlzIG9uZSBsb3dlciB0aGFuIG9uZSB3b3VsZCBleHBlY3QuXG4gICAgICAvLyBodHRwczovL3d3dy5hcnRpbWEuY29tL3dlYmxvZ3Mvdmlld3Bvc3QuanNwP3RocmVhZD0xNjQyOTNcblxuICAgICAgaWYgKGh1bmsub2xkTGluZXMgPT09IDApIHtcbiAgICAgICAgaHVuay5vbGRTdGFydCArPSAxO1xuICAgICAgfVxuXG4gICAgICBpZiAoaHVuay5uZXdMaW5lcyA9PT0gMCkge1xuICAgICAgICBodW5rLm5ld1N0YXJ0ICs9IDE7XG4gICAgICB9XG5cbiAgICAgIHZhciBhZGRDb3VudCA9IDAsXG4gICAgICAgICAgcmVtb3ZlQ291bnQgPSAwO1xuXG4gICAgICBmb3IgKDsgaSA8IGRpZmZzdHIubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgLy8gTGluZXMgc3RhcnRpbmcgd2l0aCAnLS0tJyBjb3VsZCBiZSBtaXN0YWtlbiBmb3IgdGhlIFwicmVtb3ZlIGxpbmVcIiBvcGVyYXRpb25cbiAgICAgICAgLy8gQnV0IHRoZXkgY291bGQgYmUgdGhlIGhlYWRlciBmb3IgdGhlIG5leHQgZmlsZS4gVGhlcmVmb3JlIHBydW5lIHN1Y2ggY2FzZXMgb3V0LlxuICAgICAgICBpZiAoZGlmZnN0cltpXS5pbmRleE9mKCctLS0gJykgPT09IDAgJiYgaSArIDIgPCBkaWZmc3RyLmxlbmd0aCAmJiBkaWZmc3RyW2kgKyAxXS5pbmRleE9mKCcrKysgJykgPT09IDAgJiYgZGlmZnN0cltpICsgMl0uaW5kZXhPZignQEAnKSA9PT0gMCkge1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgICAgdmFyIG9wZXJhdGlvbiA9IGRpZmZzdHJbaV0ubGVuZ3RoID09IDAgJiYgaSAhPSBkaWZmc3RyLmxlbmd0aCAtIDEgPyAnICcgOiBkaWZmc3RyW2ldWzBdO1xuXG4gICAgICAgIGlmIChvcGVyYXRpb24gPT09ICcrJyB8fCBvcGVyYXRpb24gPT09ICctJyB8fCBvcGVyYXRpb24gPT09ICcgJyB8fCBvcGVyYXRpb24gPT09ICdcXFxcJykge1xuICAgICAgICAgIGh1bmsubGluZXMucHVzaChkaWZmc3RyW2ldKTtcbiAgICAgICAgICBodW5rLmxpbmVkZWxpbWl0ZXJzLnB1c2goZGVsaW1pdGVyc1tpXSB8fCAnXFxuJyk7XG5cbiAgICAgICAgICBpZiAob3BlcmF0aW9uID09PSAnKycpIHtcbiAgICAgICAgICAgIGFkZENvdW50Kys7XG4gICAgICAgICAgfSBlbHNlIGlmIChvcGVyYXRpb24gPT09ICctJykge1xuICAgICAgICAgICAgcmVtb3ZlQ291bnQrKztcbiAgICAgICAgICB9IGVsc2UgaWYgKG9wZXJhdGlvbiA9PT0gJyAnKSB7XG4gICAgICAgICAgICBhZGRDb3VudCsrO1xuICAgICAgICAgICAgcmVtb3ZlQ291bnQrKztcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH0gLy8gSGFuZGxlIHRoZSBlbXB0eSBibG9jayBjb3VudCBjYXNlXG5cblxuICAgICAgaWYgKCFhZGRDb3VudCAmJiBodW5rLm5ld0xpbmVzID09PSAxKSB7XG4gICAgICAgIGh1bmsubmV3TGluZXMgPSAwO1xuICAgICAgfVxuXG4gICAgICBpZiAoIXJlbW92ZUNvdW50ICYmIGh1bmsub2xkTGluZXMgPT09IDEpIHtcbiAgICAgICAgaHVuay5vbGRMaW5lcyA9IDA7XG4gICAgICB9IC8vIFBlcmZvcm0gb3B0aW9uYWwgc2FuaXR5IGNoZWNraW5nXG5cblxuICAgICAgaWYgKG9wdGlvbnMuc3RyaWN0KSB7XG4gICAgICAgIGlmIChhZGRDb3VudCAhPT0gaHVuay5uZXdMaW5lcykge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignQWRkZWQgbGluZSBjb3VudCBkaWQgbm90IG1hdGNoIGZvciBodW5rIGF0IGxpbmUgJyArIChjaHVua0hlYWRlckluZGV4ICsgMSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHJlbW92ZUNvdW50ICE9PSBodW5rLm9sZExpbmVzKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdSZW1vdmVkIGxpbmUgY291bnQgZGlkIG5vdCBtYXRjaCBmb3IgaHVuayBhdCBsaW5lICcgKyAoY2h1bmtIZWFkZXJJbmRleCArIDEpKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gaHVuaztcbiAgICB9XG5cbiAgICB3aGlsZSAoaSA8IGRpZmZzdHIubGVuZ3RoKSB7XG4gICAgICBwYXJzZUluZGV4KCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGxpc3Q7XG4gIH1cblxuICAvLyBJdGVyYXRvciB0aGF0IHRyYXZlcnNlcyBpbiB0aGUgcmFuZ2Ugb2YgW21pbiwgbWF4XSwgc3RlcHBpbmdcbiAgLy8gYnkgZGlzdGFuY2UgZnJvbSBhIGdpdmVuIHN0YXJ0IHBvc2l0aW9uLiBJLmUuIGZvciBbMCwgNF0sIHdpdGhcbiAgLy8gc3RhcnQgb2YgMiwgdGhpcyB3aWxsIGl0ZXJhdGUgMiwgMywgMSwgNCwgMC5cbiAgZnVuY3Rpb24gZGlzdGFuY2VJdGVyYXRvciAoc3RhcnQsIG1pbkxpbmUsIG1heExpbmUpIHtcbiAgICB2YXIgd2FudEZvcndhcmQgPSB0cnVlLFxuICAgICAgICBiYWNrd2FyZEV4aGF1c3RlZCA9IGZhbHNlLFxuICAgICAgICBmb3J3YXJkRXhoYXVzdGVkID0gZmFsc2UsXG4gICAgICAgIGxvY2FsT2Zmc2V0ID0gMTtcbiAgICByZXR1cm4gZnVuY3Rpb24gaXRlcmF0b3IoKSB7XG4gICAgICBpZiAod2FudEZvcndhcmQgJiYgIWZvcndhcmRFeGhhdXN0ZWQpIHtcbiAgICAgICAgaWYgKGJhY2t3YXJkRXhoYXVzdGVkKSB7XG4gICAgICAgICAgbG9jYWxPZmZzZXQrKztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB3YW50Rm9yd2FyZCA9IGZhbHNlO1xuICAgICAgICB9IC8vIENoZWNrIGlmIHRyeWluZyB0byBmaXQgYmV5b25kIHRleHQgbGVuZ3RoLCBhbmQgaWYgbm90LCBjaGVjayBpdCBmaXRzXG4gICAgICAgIC8vIGFmdGVyIG9mZnNldCBsb2NhdGlvbiAob3IgZGVzaXJlZCBsb2NhdGlvbiBvbiBmaXJzdCBpdGVyYXRpb24pXG5cblxuICAgICAgICBpZiAoc3RhcnQgKyBsb2NhbE9mZnNldCA8PSBtYXhMaW5lKSB7XG4gICAgICAgICAgcmV0dXJuIGxvY2FsT2Zmc2V0O1xuICAgICAgICB9XG5cbiAgICAgICAgZm9yd2FyZEV4aGF1c3RlZCA9IHRydWU7XG4gICAgICB9XG5cbiAgICAgIGlmICghYmFja3dhcmRFeGhhdXN0ZWQpIHtcbiAgICAgICAgaWYgKCFmb3J3YXJkRXhoYXVzdGVkKSB7XG4gICAgICAgICAgd2FudEZvcndhcmQgPSB0cnVlO1xuICAgICAgICB9IC8vIENoZWNrIGlmIHRyeWluZyB0byBmaXQgYmVmb3JlIHRleHQgYmVnaW5uaW5nLCBhbmQgaWYgbm90LCBjaGVjayBpdCBmaXRzXG4gICAgICAgIC8vIGJlZm9yZSBvZmZzZXQgbG9jYXRpb25cblxuXG4gICAgICAgIGlmIChtaW5MaW5lIDw9IHN0YXJ0IC0gbG9jYWxPZmZzZXQpIHtcbiAgICAgICAgICByZXR1cm4gLWxvY2FsT2Zmc2V0Kys7XG4gICAgICAgIH1cblxuICAgICAgICBiYWNrd2FyZEV4aGF1c3RlZCA9IHRydWU7XG4gICAgICAgIHJldHVybiBpdGVyYXRvcigpO1xuICAgICAgfSAvLyBXZSB0cmllZCB0byBmaXQgaHVuayBiZWZvcmUgdGV4dCBiZWdpbm5pbmcgYW5kIGJleW9uZCB0ZXh0IGxlbmd0aCwgdGhlblxuICAgICAgLy8gaHVuayBjYW4ndCBmaXQgb24gdGhlIHRleHQuIFJldHVybiB1bmRlZmluZWRcblxuICAgIH07XG4gIH1cblxuICBmdW5jdGlvbiBhcHBseVBhdGNoKHNvdXJjZSwgdW5pRGlmZikge1xuICAgIHZhciBvcHRpb25zID0gYXJndW1lbnRzLmxlbmd0aCA+IDIgJiYgYXJndW1lbnRzWzJdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMl0gOiB7fTtcblxuICAgIGlmICh0eXBlb2YgdW5pRGlmZiA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHVuaURpZmYgPSBwYXJzZVBhdGNoKHVuaURpZmYpO1xuICAgIH1cblxuICAgIGlmIChBcnJheS5pc0FycmF5KHVuaURpZmYpKSB7XG4gICAgICBpZiAodW5pRGlmZi5sZW5ndGggPiAxKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignYXBwbHlQYXRjaCBvbmx5IHdvcmtzIHdpdGggYSBzaW5nbGUgaW5wdXQuJyk7XG4gICAgICB9XG5cbiAgICAgIHVuaURpZmYgPSB1bmlEaWZmWzBdO1xuICAgIH0gLy8gQXBwbHkgdGhlIGRpZmYgdG8gdGhlIGlucHV0XG5cblxuICAgIHZhciBsaW5lcyA9IHNvdXJjZS5zcGxpdCgvXFxyXFxufFtcXG5cXHZcXGZcXHJcXHg4NV0vKSxcbiAgICAgICAgZGVsaW1pdGVycyA9IHNvdXJjZS5tYXRjaCgvXFxyXFxufFtcXG5cXHZcXGZcXHJcXHg4NV0vZykgfHwgW10sXG4gICAgICAgIGh1bmtzID0gdW5pRGlmZi5odW5rcyxcbiAgICAgICAgY29tcGFyZUxpbmUgPSBvcHRpb25zLmNvbXBhcmVMaW5lIHx8IGZ1bmN0aW9uIChsaW5lTnVtYmVyLCBsaW5lLCBvcGVyYXRpb24sIHBhdGNoQ29udGVudCkge1xuICAgICAgcmV0dXJuIGxpbmUgPT09IHBhdGNoQ29udGVudDtcbiAgICB9LFxuICAgICAgICBlcnJvckNvdW50ID0gMCxcbiAgICAgICAgZnV6ekZhY3RvciA9IG9wdGlvbnMuZnV6ekZhY3RvciB8fCAwLFxuICAgICAgICBtaW5MaW5lID0gMCxcbiAgICAgICAgb2Zmc2V0ID0gMCxcbiAgICAgICAgcmVtb3ZlRU9GTkwsXG4gICAgICAgIGFkZEVPRk5MO1xuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiB0aGUgaHVuayBleGFjdGx5IGZpdHMgb24gdGhlIHByb3ZpZGVkIGxvY2F0aW9uXG4gICAgICovXG5cblxuICAgIGZ1bmN0aW9uIGh1bmtGaXRzKGh1bmssIHRvUG9zKSB7XG4gICAgICBmb3IgKHZhciBqID0gMDsgaiA8IGh1bmsubGluZXMubGVuZ3RoOyBqKyspIHtcbiAgICAgICAgdmFyIGxpbmUgPSBodW5rLmxpbmVzW2pdLFxuICAgICAgICAgICAgb3BlcmF0aW9uID0gbGluZS5sZW5ndGggPiAwID8gbGluZVswXSA6ICcgJyxcbiAgICAgICAgICAgIGNvbnRlbnQgPSBsaW5lLmxlbmd0aCA+IDAgPyBsaW5lLnN1YnN0cigxKSA6IGxpbmU7XG5cbiAgICAgICAgaWYgKG9wZXJhdGlvbiA9PT0gJyAnIHx8IG9wZXJhdGlvbiA9PT0gJy0nKSB7XG4gICAgICAgICAgLy8gQ29udGV4dCBzYW5pdHkgY2hlY2tcbiAgICAgICAgICBpZiAoIWNvbXBhcmVMaW5lKHRvUG9zICsgMSwgbGluZXNbdG9Qb3NdLCBvcGVyYXRpb24sIGNvbnRlbnQpKSB7XG4gICAgICAgICAgICBlcnJvckNvdW50Kys7XG5cbiAgICAgICAgICAgIGlmIChlcnJvckNvdW50ID4gZnV6ekZhY3Rvcikge1xuICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdG9Qb3MrKztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IC8vIFNlYXJjaCBiZXN0IGZpdCBvZmZzZXRzIGZvciBlYWNoIGh1bmsgYmFzZWQgb24gdGhlIHByZXZpb3VzIG9uZXNcblxuXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBodW5rcy5sZW5ndGg7IGkrKykge1xuICAgICAgdmFyIGh1bmsgPSBodW5rc1tpXSxcbiAgICAgICAgICBtYXhMaW5lID0gbGluZXMubGVuZ3RoIC0gaHVuay5vbGRMaW5lcyxcbiAgICAgICAgICBsb2NhbE9mZnNldCA9IDAsXG4gICAgICAgICAgdG9Qb3MgPSBvZmZzZXQgKyBodW5rLm9sZFN0YXJ0IC0gMTtcbiAgICAgIHZhciBpdGVyYXRvciA9IGRpc3RhbmNlSXRlcmF0b3IodG9Qb3MsIG1pbkxpbmUsIG1heExpbmUpO1xuXG4gICAgICBmb3IgKDsgbG9jYWxPZmZzZXQgIT09IHVuZGVmaW5lZDsgbG9jYWxPZmZzZXQgPSBpdGVyYXRvcigpKSB7XG4gICAgICAgIGlmIChodW5rRml0cyhodW5rLCB0b1BvcyArIGxvY2FsT2Zmc2V0KSkge1xuICAgICAgICAgIGh1bmsub2Zmc2V0ID0gb2Zmc2V0ICs9IGxvY2FsT2Zmc2V0O1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChsb2NhbE9mZnNldCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH0gLy8gU2V0IGxvd2VyIHRleHQgbGltaXQgdG8gZW5kIG9mIHRoZSBjdXJyZW50IGh1bmssIHNvIG5leHQgb25lcyBkb24ndCB0cnlcbiAgICAgIC8vIHRvIGZpdCBvdmVyIGFscmVhZHkgcGF0Y2hlZCB0ZXh0XG5cblxuICAgICAgbWluTGluZSA9IGh1bmsub2Zmc2V0ICsgaHVuay5vbGRTdGFydCArIGh1bmsub2xkTGluZXM7XG4gICAgfSAvLyBBcHBseSBwYXRjaCBodW5rc1xuXG5cbiAgICB2YXIgZGlmZk9mZnNldCA9IDA7XG5cbiAgICBmb3IgKHZhciBfaSA9IDA7IF9pIDwgaHVua3MubGVuZ3RoOyBfaSsrKSB7XG4gICAgICB2YXIgX2h1bmsgPSBodW5rc1tfaV0sXG4gICAgICAgICAgX3RvUG9zID0gX2h1bmsub2xkU3RhcnQgKyBfaHVuay5vZmZzZXQgKyBkaWZmT2Zmc2V0IC0gMTtcblxuICAgICAgZGlmZk9mZnNldCArPSBfaHVuay5uZXdMaW5lcyAtIF9odW5rLm9sZExpbmVzO1xuXG4gICAgICBmb3IgKHZhciBqID0gMDsgaiA8IF9odW5rLmxpbmVzLmxlbmd0aDsgaisrKSB7XG4gICAgICAgIHZhciBsaW5lID0gX2h1bmsubGluZXNbal0sXG4gICAgICAgICAgICBvcGVyYXRpb24gPSBsaW5lLmxlbmd0aCA+IDAgPyBsaW5lWzBdIDogJyAnLFxuICAgICAgICAgICAgY29udGVudCA9IGxpbmUubGVuZ3RoID4gMCA/IGxpbmUuc3Vic3RyKDEpIDogbGluZSxcbiAgICAgICAgICAgIGRlbGltaXRlciA9IF9odW5rLmxpbmVkZWxpbWl0ZXJzW2pdO1xuXG4gICAgICAgIGlmIChvcGVyYXRpb24gPT09ICcgJykge1xuICAgICAgICAgIF90b1BvcysrO1xuICAgICAgICB9IGVsc2UgaWYgKG9wZXJhdGlvbiA9PT0gJy0nKSB7XG4gICAgICAgICAgbGluZXMuc3BsaWNlKF90b1BvcywgMSk7XG4gICAgICAgICAgZGVsaW1pdGVycy5zcGxpY2UoX3RvUG9zLCAxKTtcbiAgICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgICB9IGVsc2UgaWYgKG9wZXJhdGlvbiA9PT0gJysnKSB7XG4gICAgICAgICAgbGluZXMuc3BsaWNlKF90b1BvcywgMCwgY29udGVudCk7XG4gICAgICAgICAgZGVsaW1pdGVycy5zcGxpY2UoX3RvUG9zLCAwLCBkZWxpbWl0ZXIpO1xuICAgICAgICAgIF90b1BvcysrO1xuICAgICAgICB9IGVsc2UgaWYgKG9wZXJhdGlvbiA9PT0gJ1xcXFwnKSB7XG4gICAgICAgICAgdmFyIHByZXZpb3VzT3BlcmF0aW9uID0gX2h1bmsubGluZXNbaiAtIDFdID8gX2h1bmsubGluZXNbaiAtIDFdWzBdIDogbnVsbDtcblxuICAgICAgICAgIGlmIChwcmV2aW91c09wZXJhdGlvbiA9PT0gJysnKSB7XG4gICAgICAgICAgICByZW1vdmVFT0ZOTCA9IHRydWU7XG4gICAgICAgICAgfSBlbHNlIGlmIChwcmV2aW91c09wZXJhdGlvbiA9PT0gJy0nKSB7XG4gICAgICAgICAgICBhZGRFT0ZOTCA9IHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSAvLyBIYW5kbGUgRU9GTkwgaW5zZXJ0aW9uL3JlbW92YWxcblxuXG4gICAgaWYgKHJlbW92ZUVPRk5MKSB7XG4gICAgICB3aGlsZSAoIWxpbmVzW2xpbmVzLmxlbmd0aCAtIDFdKSB7XG4gICAgICAgIGxpbmVzLnBvcCgpO1xuICAgICAgICBkZWxpbWl0ZXJzLnBvcCgpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoYWRkRU9GTkwpIHtcbiAgICAgIGxpbmVzLnB1c2goJycpO1xuICAgICAgZGVsaW1pdGVycy5wdXNoKCdcXG4nKTtcbiAgICB9XG5cbiAgICBmb3IgKHZhciBfayA9IDA7IF9rIDwgbGluZXMubGVuZ3RoIC0gMTsgX2srKykge1xuICAgICAgbGluZXNbX2tdID0gbGluZXNbX2tdICsgZGVsaW1pdGVyc1tfa107XG4gICAgfVxuXG4gICAgcmV0dXJuIGxpbmVzLmpvaW4oJycpO1xuICB9IC8vIFdyYXBwZXIgdGhhdCBzdXBwb3J0cyBtdWx0aXBsZSBmaWxlIHBhdGNoZXMgdmlhIGNhbGxiYWNrcy5cblxuICBmdW5jdGlvbiBhcHBseVBhdGNoZXModW5pRGlmZiwgb3B0aW9ucykge1xuICAgIGlmICh0eXBlb2YgdW5pRGlmZiA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHVuaURpZmYgPSBwYXJzZVBhdGNoKHVuaURpZmYpO1xuICAgIH1cblxuICAgIHZhciBjdXJyZW50SW5kZXggPSAwO1xuXG4gICAgZnVuY3Rpb24gcHJvY2Vzc0luZGV4KCkge1xuICAgICAgdmFyIGluZGV4ID0gdW5pRGlmZltjdXJyZW50SW5kZXgrK107XG5cbiAgICAgIGlmICghaW5kZXgpIHtcbiAgICAgICAgcmV0dXJuIG9wdGlvbnMuY29tcGxldGUoKTtcbiAgICAgIH1cblxuICAgICAgb3B0aW9ucy5sb2FkRmlsZShpbmRleCwgZnVuY3Rpb24gKGVyciwgZGF0YSkge1xuICAgICAgICBpZiAoZXJyKSB7XG4gICAgICAgICAgcmV0dXJuIG9wdGlvbnMuY29tcGxldGUoZXJyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHZhciB1cGRhdGVkQ29udGVudCA9IGFwcGx5UGF0Y2goZGF0YSwgaW5kZXgsIG9wdGlvbnMpO1xuICAgICAgICBvcHRpb25zLnBhdGNoZWQoaW5kZXgsIHVwZGF0ZWRDb250ZW50LCBmdW5jdGlvbiAoZXJyKSB7XG4gICAgICAgICAgaWYgKGVycikge1xuICAgICAgICAgICAgcmV0dXJuIG9wdGlvbnMuY29tcGxldGUoZXJyKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBwcm9jZXNzSW5kZXgoKTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBwcm9jZXNzSW5kZXgoKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIHN0cnVjdHVyZWRQYXRjaChvbGRGaWxlTmFtZSwgbmV3RmlsZU5hbWUsIG9sZFN0ciwgbmV3U3RyLCBvbGRIZWFkZXIsIG5ld0hlYWRlciwgb3B0aW9ucykge1xuICAgIGlmICghb3B0aW9ucykge1xuICAgICAgb3B0aW9ucyA9IHt9O1xuICAgIH1cblxuICAgIGlmICh0eXBlb2Ygb3B0aW9ucy5jb250ZXh0ID09PSAndW5kZWZpbmVkJykge1xuICAgICAgb3B0aW9ucy5jb250ZXh0ID0gNDtcbiAgICB9XG5cbiAgICB2YXIgZGlmZiA9IGRpZmZMaW5lcyhvbGRTdHIsIG5ld1N0ciwgb3B0aW9ucyk7XG4gICAgZGlmZi5wdXNoKHtcbiAgICAgIHZhbHVlOiAnJyxcbiAgICAgIGxpbmVzOiBbXVxuICAgIH0pOyAvLyBBcHBlbmQgYW4gZW1wdHkgdmFsdWUgdG8gbWFrZSBjbGVhbnVwIGVhc2llclxuXG4gICAgZnVuY3Rpb24gY29udGV4dExpbmVzKGxpbmVzKSB7XG4gICAgICByZXR1cm4gbGluZXMubWFwKGZ1bmN0aW9uIChlbnRyeSkge1xuICAgICAgICByZXR1cm4gJyAnICsgZW50cnk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICB2YXIgaHVua3MgPSBbXTtcbiAgICB2YXIgb2xkUmFuZ2VTdGFydCA9IDAsXG4gICAgICAgIG5ld1JhbmdlU3RhcnQgPSAwLFxuICAgICAgICBjdXJSYW5nZSA9IFtdLFxuICAgICAgICBvbGRMaW5lID0gMSxcbiAgICAgICAgbmV3TGluZSA9IDE7XG5cbiAgICB2YXIgX2xvb3AgPSBmdW5jdGlvbiBfbG9vcChpKSB7XG4gICAgICB2YXIgY3VycmVudCA9IGRpZmZbaV0sXG4gICAgICAgICAgbGluZXMgPSBjdXJyZW50LmxpbmVzIHx8IGN1cnJlbnQudmFsdWUucmVwbGFjZSgvXFxuJC8sICcnKS5zcGxpdCgnXFxuJyk7XG4gICAgICBjdXJyZW50LmxpbmVzID0gbGluZXM7XG5cbiAgICAgIGlmIChjdXJyZW50LmFkZGVkIHx8IGN1cnJlbnQucmVtb3ZlZCkge1xuICAgICAgICB2YXIgX2N1clJhbmdlO1xuXG4gICAgICAgIC8vIElmIHdlIGhhdmUgcHJldmlvdXMgY29udGV4dCwgc3RhcnQgd2l0aCB0aGF0XG4gICAgICAgIGlmICghb2xkUmFuZ2VTdGFydCkge1xuICAgICAgICAgIHZhciBwcmV2ID0gZGlmZltpIC0gMV07XG4gICAgICAgICAgb2xkUmFuZ2VTdGFydCA9IG9sZExpbmU7XG4gICAgICAgICAgbmV3UmFuZ2VTdGFydCA9IG5ld0xpbmU7XG5cbiAgICAgICAgICBpZiAocHJldikge1xuICAgICAgICAgICAgY3VyUmFuZ2UgPSBvcHRpb25zLmNvbnRleHQgPiAwID8gY29udGV4dExpbmVzKHByZXYubGluZXMuc2xpY2UoLW9wdGlvbnMuY29udGV4dCkpIDogW107XG4gICAgICAgICAgICBvbGRSYW5nZVN0YXJ0IC09IGN1clJhbmdlLmxlbmd0aDtcbiAgICAgICAgICAgIG5ld1JhbmdlU3RhcnQgLT0gY3VyUmFuZ2UubGVuZ3RoO1xuICAgICAgICAgIH1cbiAgICAgICAgfSAvLyBPdXRwdXQgb3VyIGNoYW5nZXNcblxuXG4gICAgICAgIChfY3VyUmFuZ2UgPSBjdXJSYW5nZSkucHVzaC5hcHBseShfY3VyUmFuZ2UsIF90b0NvbnN1bWFibGVBcnJheShsaW5lcy5tYXAoZnVuY3Rpb24gKGVudHJ5KSB7XG4gICAgICAgICAgcmV0dXJuIChjdXJyZW50LmFkZGVkID8gJysnIDogJy0nKSArIGVudHJ5O1xuICAgICAgICB9KSkpOyAvLyBUcmFjayB0aGUgdXBkYXRlZCBmaWxlIHBvc2l0aW9uXG5cblxuICAgICAgICBpZiAoY3VycmVudC5hZGRlZCkge1xuICAgICAgICAgIG5ld0xpbmUgKz0gbGluZXMubGVuZ3RoO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIG9sZExpbmUgKz0gbGluZXMubGVuZ3RoO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBJZGVudGljYWwgY29udGV4dCBsaW5lcy4gVHJhY2sgbGluZSBjaGFuZ2VzXG4gICAgICAgIGlmIChvbGRSYW5nZVN0YXJ0KSB7XG4gICAgICAgICAgLy8gQ2xvc2Ugb3V0IGFueSBjaGFuZ2VzIHRoYXQgaGF2ZSBiZWVuIG91dHB1dCAob3Igam9pbiBvdmVybGFwcGluZylcbiAgICAgICAgICBpZiAobGluZXMubGVuZ3RoIDw9IG9wdGlvbnMuY29udGV4dCAqIDIgJiYgaSA8IGRpZmYubGVuZ3RoIC0gMikge1xuICAgICAgICAgICAgdmFyIF9jdXJSYW5nZTI7XG5cbiAgICAgICAgICAgIC8vIE92ZXJsYXBwaW5nXG4gICAgICAgICAgICAoX2N1clJhbmdlMiA9IGN1clJhbmdlKS5wdXNoLmFwcGx5KF9jdXJSYW5nZTIsIF90b0NvbnN1bWFibGVBcnJheShjb250ZXh0TGluZXMobGluZXMpKSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHZhciBfY3VyUmFuZ2UzO1xuXG4gICAgICAgICAgICAvLyBlbmQgdGhlIHJhbmdlIGFuZCBvdXRwdXRcbiAgICAgICAgICAgIHZhciBjb250ZXh0U2l6ZSA9IE1hdGgubWluKGxpbmVzLmxlbmd0aCwgb3B0aW9ucy5jb250ZXh0KTtcblxuICAgICAgICAgICAgKF9jdXJSYW5nZTMgPSBjdXJSYW5nZSkucHVzaC5hcHBseShfY3VyUmFuZ2UzLCBfdG9Db25zdW1hYmxlQXJyYXkoY29udGV4dExpbmVzKGxpbmVzLnNsaWNlKDAsIGNvbnRleHRTaXplKSkpKTtcblxuICAgICAgICAgICAgdmFyIGh1bmsgPSB7XG4gICAgICAgICAgICAgIG9sZFN0YXJ0OiBvbGRSYW5nZVN0YXJ0LFxuICAgICAgICAgICAgICBvbGRMaW5lczogb2xkTGluZSAtIG9sZFJhbmdlU3RhcnQgKyBjb250ZXh0U2l6ZSxcbiAgICAgICAgICAgICAgbmV3U3RhcnQ6IG5ld1JhbmdlU3RhcnQsXG4gICAgICAgICAgICAgIG5ld0xpbmVzOiBuZXdMaW5lIC0gbmV3UmFuZ2VTdGFydCArIGNvbnRleHRTaXplLFxuICAgICAgICAgICAgICBsaW5lczogY3VyUmFuZ2VcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIGlmIChpID49IGRpZmYubGVuZ3RoIC0gMiAmJiBsaW5lcy5sZW5ndGggPD0gb3B0aW9ucy5jb250ZXh0KSB7XG4gICAgICAgICAgICAgIC8vIEVPRiBpcyBpbnNpZGUgdGhpcyBodW5rXG4gICAgICAgICAgICAgIHZhciBvbGRFT0ZOZXdsaW5lID0gL1xcbiQvLnRlc3Qob2xkU3RyKTtcbiAgICAgICAgICAgICAgdmFyIG5ld0VPRk5ld2xpbmUgPSAvXFxuJC8udGVzdChuZXdTdHIpO1xuICAgICAgICAgICAgICB2YXIgbm9ObEJlZm9yZUFkZHMgPSBsaW5lcy5sZW5ndGggPT0gMCAmJiBjdXJSYW5nZS5sZW5ndGggPiBodW5rLm9sZExpbmVzO1xuXG4gICAgICAgICAgICAgIGlmICghb2xkRU9GTmV3bGluZSAmJiBub05sQmVmb3JlQWRkcyAmJiBvbGRTdHIubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIC8vIHNwZWNpYWwgY2FzZTogb2xkIGhhcyBubyBlb2wgYW5kIG5vIHRyYWlsaW5nIGNvbnRleHQ7IG5vLW5sIGNhbiBlbmQgdXAgYmVmb3JlIGFkZHNcbiAgICAgICAgICAgICAgICAvLyBob3dldmVyLCBpZiB0aGUgb2xkIGZpbGUgaXMgZW1wdHksIGRvIG5vdCBvdXRwdXQgdGhlIG5vLW5sIGxpbmVcbiAgICAgICAgICAgICAgICBjdXJSYW5nZS5zcGxpY2UoaHVuay5vbGRMaW5lcywgMCwgJ1xcXFwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZScpO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgaWYgKCFvbGRFT0ZOZXdsaW5lICYmICFub05sQmVmb3JlQWRkcyB8fCAhbmV3RU9GTmV3bGluZSkge1xuICAgICAgICAgICAgICAgIGN1clJhbmdlLnB1c2goJ1xcXFwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZScpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGh1bmtzLnB1c2goaHVuayk7XG4gICAgICAgICAgICBvbGRSYW5nZVN0YXJ0ID0gMDtcbiAgICAgICAgICAgIG5ld1JhbmdlU3RhcnQgPSAwO1xuICAgICAgICAgICAgY3VyUmFuZ2UgPSBbXTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBvbGRMaW5lICs9IGxpbmVzLmxlbmd0aDtcbiAgICAgICAgbmV3TGluZSArPSBsaW5lcy5sZW5ndGg7XG4gICAgICB9XG4gICAgfTtcblxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZGlmZi5sZW5ndGg7IGkrKykge1xuICAgICAgX2xvb3AoaSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIG9sZEZpbGVOYW1lOiBvbGRGaWxlTmFtZSxcbiAgICAgIG5ld0ZpbGVOYW1lOiBuZXdGaWxlTmFtZSxcbiAgICAgIG9sZEhlYWRlcjogb2xkSGVhZGVyLFxuICAgICAgbmV3SGVhZGVyOiBuZXdIZWFkZXIsXG4gICAgICBodW5rczogaHVua3NcbiAgICB9O1xuICB9XG4gIGZ1bmN0aW9uIGZvcm1hdFBhdGNoKGRpZmYpIHtcbiAgICB2YXIgcmV0ID0gW107XG5cbiAgICBpZiAoZGlmZi5vbGRGaWxlTmFtZSA9PSBkaWZmLm5ld0ZpbGVOYW1lKSB7XG4gICAgICByZXQucHVzaCgnSW5kZXg6ICcgKyBkaWZmLm9sZEZpbGVOYW1lKTtcbiAgICB9XG5cbiAgICByZXQucHVzaCgnPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PScpO1xuICAgIHJldC5wdXNoKCctLS0gJyArIGRpZmYub2xkRmlsZU5hbWUgKyAodHlwZW9mIGRpZmYub2xkSGVhZGVyID09PSAndW5kZWZpbmVkJyA/ICcnIDogJ1xcdCcgKyBkaWZmLm9sZEhlYWRlcikpO1xuICAgIHJldC5wdXNoKCcrKysgJyArIGRpZmYubmV3RmlsZU5hbWUgKyAodHlwZW9mIGRpZmYubmV3SGVhZGVyID09PSAndW5kZWZpbmVkJyA/ICcnIDogJ1xcdCcgKyBkaWZmLm5ld0hlYWRlcikpO1xuXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBkaWZmLmh1bmtzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIgaHVuayA9IGRpZmYuaHVua3NbaV07IC8vIFVuaWZpZWQgRGlmZiBGb3JtYXQgcXVpcms6IElmIHRoZSBjaHVuayBzaXplIGlzIDAsXG4gICAgICAvLyB0aGUgZmlyc3QgbnVtYmVyIGlzIG9uZSBsb3dlciB0aGFuIG9uZSB3b3VsZCBleHBlY3QuXG4gICAgICAvLyBodHRwczovL3d3dy5hcnRpbWEuY29tL3dlYmxvZ3Mvdmlld3Bvc3QuanNwP3RocmVhZD0xNjQyOTNcblxuICAgICAgaWYgKGh1bmsub2xkTGluZXMgPT09IDApIHtcbiAgICAgICAgaHVuay5vbGRTdGFydCAtPSAxO1xuICAgICAgfVxuXG4gICAgICBpZiAoaHVuay5uZXdMaW5lcyA9PT0gMCkge1xuICAgICAgICBodW5rLm5ld1N0YXJ0IC09IDE7XG4gICAgICB9XG5cbiAgICAgIHJldC5wdXNoKCdAQCAtJyArIGh1bmsub2xkU3RhcnQgKyAnLCcgKyBodW5rLm9sZExpbmVzICsgJyArJyArIGh1bmsubmV3U3RhcnQgKyAnLCcgKyBodW5rLm5ld0xpbmVzICsgJyBAQCcpO1xuICAgICAgcmV0LnB1c2guYXBwbHkocmV0LCBodW5rLmxpbmVzKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmV0LmpvaW4oJ1xcbicpICsgJ1xcbic7XG4gIH1cbiAgZnVuY3Rpb24gY3JlYXRlVHdvRmlsZXNQYXRjaChvbGRGaWxlTmFtZSwgbmV3RmlsZU5hbWUsIG9sZFN0ciwgbmV3U3RyLCBvbGRIZWFkZXIsIG5ld0hlYWRlciwgb3B0aW9ucykge1xuICAgIHJldHVybiBmb3JtYXRQYXRjaChzdHJ1Y3R1cmVkUGF0Y2gob2xkRmlsZU5hbWUsIG5ld0ZpbGVOYW1lLCBvbGRTdHIsIG5ld1N0ciwgb2xkSGVhZGVyLCBuZXdIZWFkZXIsIG9wdGlvbnMpKTtcbiAgfVxuICBmdW5jdGlvbiBjcmVhdGVQYXRjaChmaWxlTmFtZSwgb2xkU3RyLCBuZXdTdHIsIG9sZEhlYWRlciwgbmV3SGVhZGVyLCBvcHRpb25zKSB7XG4gICAgcmV0dXJuIGNyZWF0ZVR3b0ZpbGVzUGF0Y2goZmlsZU5hbWUsIGZpbGVOYW1lLCBvbGRTdHIsIG5ld1N0ciwgb2xkSGVhZGVyLCBuZXdIZWFkZXIsIG9wdGlvbnMpO1xuICB9XG5cbiAgZnVuY3Rpb24gYXJyYXlFcXVhbChhLCBiKSB7XG4gICAgaWYgKGEubGVuZ3RoICE9PSBiLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHJldHVybiBhcnJheVN0YXJ0c1dpdGgoYSwgYik7XG4gIH1cbiAgZnVuY3Rpb24gYXJyYXlTdGFydHNXaXRoKGFycmF5LCBzdGFydCkge1xuICAgIGlmIChzdGFydC5sZW5ndGggPiBhcnJheS5sZW5ndGgpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHN0YXJ0Lmxlbmd0aDsgaSsrKSB7XG4gICAgICBpZiAoc3RhcnRbaV0gIT09IGFycmF5W2ldKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGNhbGNMaW5lQ291bnQoaHVuaykge1xuICAgIHZhciBfY2FsY09sZE5ld0xpbmVDb3VudCA9IGNhbGNPbGROZXdMaW5lQ291bnQoaHVuay5saW5lcyksXG4gICAgICAgIG9sZExpbmVzID0gX2NhbGNPbGROZXdMaW5lQ291bnQub2xkTGluZXMsXG4gICAgICAgIG5ld0xpbmVzID0gX2NhbGNPbGROZXdMaW5lQ291bnQubmV3TGluZXM7XG5cbiAgICBpZiAob2xkTGluZXMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgaHVuay5vbGRMaW5lcyA9IG9sZExpbmVzO1xuICAgIH0gZWxzZSB7XG4gICAgICBkZWxldGUgaHVuay5vbGRMaW5lcztcbiAgICB9XG5cbiAgICBpZiAobmV3TGluZXMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgaHVuay5uZXdMaW5lcyA9IG5ld0xpbmVzO1xuICAgIH0gZWxzZSB7XG4gICAgICBkZWxldGUgaHVuay5uZXdMaW5lcztcbiAgICB9XG4gIH1cbiAgZnVuY3Rpb24gbWVyZ2UobWluZSwgdGhlaXJzLCBiYXNlKSB7XG4gICAgbWluZSA9IGxvYWRQYXRjaChtaW5lLCBiYXNlKTtcbiAgICB0aGVpcnMgPSBsb2FkUGF0Y2godGhlaXJzLCBiYXNlKTtcbiAgICB2YXIgcmV0ID0ge307IC8vIEZvciBpbmRleCB3ZSBqdXN0IGxldCBpdCBwYXNzIHRocm91Z2ggYXMgaXQgZG9lc24ndCBoYXZlIGFueSBuZWNlc3NhcnkgbWVhbmluZy5cbiAgICAvLyBMZWF2aW5nIHNhbml0eSBjaGVja3Mgb24gdGhpcyB0byB0aGUgQVBJIGNvbnN1bWVyIHRoYXQgbWF5IGtub3cgbW9yZSBhYm91dCB0aGVcbiAgICAvLyBtZWFuaW5nIGluIHRoZWlyIG93biBjb250ZXh0LlxuXG4gICAgaWYgKG1pbmUuaW5kZXggfHwgdGhlaXJzLmluZGV4KSB7XG4gICAgICByZXQuaW5kZXggPSBtaW5lLmluZGV4IHx8IHRoZWlycy5pbmRleDtcbiAgICB9XG5cbiAgICBpZiAobWluZS5uZXdGaWxlTmFtZSB8fCB0aGVpcnMubmV3RmlsZU5hbWUpIHtcbiAgICAgIGlmICghZmlsZU5hbWVDaGFuZ2VkKG1pbmUpKSB7XG4gICAgICAgIC8vIE5vIGhlYWRlciBvciBubyBjaGFuZ2UgaW4gb3VycywgdXNlIHRoZWlycyAoYW5kIG91cnMgaWYgdGhlaXJzIGRvZXMgbm90IGV4aXN0KVxuICAgICAgICByZXQub2xkRmlsZU5hbWUgPSB0aGVpcnMub2xkRmlsZU5hbWUgfHwgbWluZS5vbGRGaWxlTmFtZTtcbiAgICAgICAgcmV0Lm5ld0ZpbGVOYW1lID0gdGhlaXJzLm5ld0ZpbGVOYW1lIHx8IG1pbmUubmV3RmlsZU5hbWU7XG4gICAgICAgIHJldC5vbGRIZWFkZXIgPSB0aGVpcnMub2xkSGVhZGVyIHx8IG1pbmUub2xkSGVhZGVyO1xuICAgICAgICByZXQubmV3SGVhZGVyID0gdGhlaXJzLm5ld0hlYWRlciB8fCBtaW5lLm5ld0hlYWRlcjtcbiAgICAgIH0gZWxzZSBpZiAoIWZpbGVOYW1lQ2hhbmdlZCh0aGVpcnMpKSB7XG4gICAgICAgIC8vIE5vIGhlYWRlciBvciBubyBjaGFuZ2UgaW4gdGhlaXJzLCB1c2Ugb3Vyc1xuICAgICAgICByZXQub2xkRmlsZU5hbWUgPSBtaW5lLm9sZEZpbGVOYW1lO1xuICAgICAgICByZXQubmV3RmlsZU5hbWUgPSBtaW5lLm5ld0ZpbGVOYW1lO1xuICAgICAgICByZXQub2xkSGVhZGVyID0gbWluZS5vbGRIZWFkZXI7XG4gICAgICAgIHJldC5uZXdIZWFkZXIgPSBtaW5lLm5ld0hlYWRlcjtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIEJvdGggY2hhbmdlZC4uLiBmaWd1cmUgaXQgb3V0XG4gICAgICAgIHJldC5vbGRGaWxlTmFtZSA9IHNlbGVjdEZpZWxkKHJldCwgbWluZS5vbGRGaWxlTmFtZSwgdGhlaXJzLm9sZEZpbGVOYW1lKTtcbiAgICAgICAgcmV0Lm5ld0ZpbGVOYW1lID0gc2VsZWN0RmllbGQocmV0LCBtaW5lLm5ld0ZpbGVOYW1lLCB0aGVpcnMubmV3RmlsZU5hbWUpO1xuICAgICAgICByZXQub2xkSGVhZGVyID0gc2VsZWN0RmllbGQocmV0LCBtaW5lLm9sZEhlYWRlciwgdGhlaXJzLm9sZEhlYWRlcik7XG4gICAgICAgIHJldC5uZXdIZWFkZXIgPSBzZWxlY3RGaWVsZChyZXQsIG1pbmUubmV3SGVhZGVyLCB0aGVpcnMubmV3SGVhZGVyKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXQuaHVua3MgPSBbXTtcbiAgICB2YXIgbWluZUluZGV4ID0gMCxcbiAgICAgICAgdGhlaXJzSW5kZXggPSAwLFxuICAgICAgICBtaW5lT2Zmc2V0ID0gMCxcbiAgICAgICAgdGhlaXJzT2Zmc2V0ID0gMDtcblxuICAgIHdoaWxlIChtaW5lSW5kZXggPCBtaW5lLmh1bmtzLmxlbmd0aCB8fCB0aGVpcnNJbmRleCA8IHRoZWlycy5odW5rcy5sZW5ndGgpIHtcbiAgICAgIHZhciBtaW5lQ3VycmVudCA9IG1pbmUuaHVua3NbbWluZUluZGV4XSB8fCB7XG4gICAgICAgIG9sZFN0YXJ0OiBJbmZpbml0eVxuICAgICAgfSxcbiAgICAgICAgICB0aGVpcnNDdXJyZW50ID0gdGhlaXJzLmh1bmtzW3RoZWlyc0luZGV4XSB8fCB7XG4gICAgICAgIG9sZFN0YXJ0OiBJbmZpbml0eVxuICAgICAgfTtcblxuICAgICAgaWYgKGh1bmtCZWZvcmUobWluZUN1cnJlbnQsIHRoZWlyc0N1cnJlbnQpKSB7XG4gICAgICAgIC8vIFRoaXMgcGF0Y2ggZG9lcyBub3Qgb3ZlcmxhcCB3aXRoIGFueSBvZiB0aGUgb3RoZXJzLCB5YXkuXG4gICAgICAgIHJldC5odW5rcy5wdXNoKGNsb25lSHVuayhtaW5lQ3VycmVudCwgbWluZU9mZnNldCkpO1xuICAgICAgICBtaW5lSW5kZXgrKztcbiAgICAgICAgdGhlaXJzT2Zmc2V0ICs9IG1pbmVDdXJyZW50Lm5ld0xpbmVzIC0gbWluZUN1cnJlbnQub2xkTGluZXM7XG4gICAgICB9IGVsc2UgaWYgKGh1bmtCZWZvcmUodGhlaXJzQ3VycmVudCwgbWluZUN1cnJlbnQpKSB7XG4gICAgICAgIC8vIFRoaXMgcGF0Y2ggZG9lcyBub3Qgb3ZlcmxhcCB3aXRoIGFueSBvZiB0aGUgb3RoZXJzLCB5YXkuXG4gICAgICAgIHJldC5odW5rcy5wdXNoKGNsb25lSHVuayh0aGVpcnNDdXJyZW50LCB0aGVpcnNPZmZzZXQpKTtcbiAgICAgICAgdGhlaXJzSW5kZXgrKztcbiAgICAgICAgbWluZU9mZnNldCArPSB0aGVpcnNDdXJyZW50Lm5ld0xpbmVzIC0gdGhlaXJzQ3VycmVudC5vbGRMaW5lcztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIE92ZXJsYXAsIG1lcmdlIGFzIGJlc3Qgd2UgY2FuXG4gICAgICAgIHZhciBtZXJnZWRIdW5rID0ge1xuICAgICAgICAgIG9sZFN0YXJ0OiBNYXRoLm1pbihtaW5lQ3VycmVudC5vbGRTdGFydCwgdGhlaXJzQ3VycmVudC5vbGRTdGFydCksXG4gICAgICAgICAgb2xkTGluZXM6IDAsXG4gICAgICAgICAgbmV3U3RhcnQ6IE1hdGgubWluKG1pbmVDdXJyZW50Lm5ld1N0YXJ0ICsgbWluZU9mZnNldCwgdGhlaXJzQ3VycmVudC5vbGRTdGFydCArIHRoZWlyc09mZnNldCksXG4gICAgICAgICAgbmV3TGluZXM6IDAsXG4gICAgICAgICAgbGluZXM6IFtdXG4gICAgICAgIH07XG4gICAgICAgIG1lcmdlTGluZXMobWVyZ2VkSHVuaywgbWluZUN1cnJlbnQub2xkU3RhcnQsIG1pbmVDdXJyZW50LmxpbmVzLCB0aGVpcnNDdXJyZW50Lm9sZFN0YXJ0LCB0aGVpcnNDdXJyZW50LmxpbmVzKTtcbiAgICAgICAgdGhlaXJzSW5kZXgrKztcbiAgICAgICAgbWluZUluZGV4Kys7XG4gICAgICAgIHJldC5odW5rcy5wdXNoKG1lcmdlZEh1bmspO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiByZXQ7XG4gIH1cblxuICBmdW5jdGlvbiBsb2FkUGF0Y2gocGFyYW0sIGJhc2UpIHtcbiAgICBpZiAodHlwZW9mIHBhcmFtID09PSAnc3RyaW5nJykge1xuICAgICAgaWYgKC9eQEAvbS50ZXN0KHBhcmFtKSB8fCAvXkluZGV4Oi9tLnRlc3QocGFyYW0pKSB7XG4gICAgICAgIHJldHVybiBwYXJzZVBhdGNoKHBhcmFtKVswXTtcbiAgICAgIH1cblxuICAgICAgaWYgKCFiYXNlKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignTXVzdCBwcm92aWRlIGEgYmFzZSByZWZlcmVuY2Ugb3IgcGFzcyBpbiBhIHBhdGNoJyk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBzdHJ1Y3R1cmVkUGF0Y2godW5kZWZpbmVkLCB1bmRlZmluZWQsIGJhc2UsIHBhcmFtKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcGFyYW07XG4gIH1cblxuICBmdW5jdGlvbiBmaWxlTmFtZUNoYW5nZWQocGF0Y2gpIHtcbiAgICByZXR1cm4gcGF0Y2gubmV3RmlsZU5hbWUgJiYgcGF0Y2gubmV3RmlsZU5hbWUgIT09IHBhdGNoLm9sZEZpbGVOYW1lO1xuICB9XG5cbiAgZnVuY3Rpb24gc2VsZWN0RmllbGQoaW5kZXgsIG1pbmUsIHRoZWlycykge1xuICAgIGlmIChtaW5lID09PSB0aGVpcnMpIHtcbiAgICAgIHJldHVybiBtaW5lO1xuICAgIH0gZWxzZSB7XG4gICAgICBpbmRleC5jb25mbGljdCA9IHRydWU7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBtaW5lOiBtaW5lLFxuICAgICAgICB0aGVpcnM6IHRoZWlyc1xuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBodW5rQmVmb3JlKHRlc3QsIGNoZWNrKSB7XG4gICAgcmV0dXJuIHRlc3Qub2xkU3RhcnQgPCBjaGVjay5vbGRTdGFydCAmJiB0ZXN0Lm9sZFN0YXJ0ICsgdGVzdC5vbGRMaW5lcyA8IGNoZWNrLm9sZFN0YXJ0O1xuICB9XG5cbiAgZnVuY3Rpb24gY2xvbmVIdW5rKGh1bmssIG9mZnNldCkge1xuICAgIHJldHVybiB7XG4gICAgICBvbGRTdGFydDogaHVuay5vbGRTdGFydCxcbiAgICAgIG9sZExpbmVzOiBodW5rLm9sZExpbmVzLFxuICAgICAgbmV3U3RhcnQ6IGh1bmsubmV3U3RhcnQgKyBvZmZzZXQsXG4gICAgICBuZXdMaW5lczogaHVuay5uZXdMaW5lcyxcbiAgICAgIGxpbmVzOiBodW5rLmxpbmVzXG4gICAgfTtcbiAgfVxuXG4gIGZ1bmN0aW9uIG1lcmdlTGluZXMoaHVuaywgbWluZU9mZnNldCwgbWluZUxpbmVzLCB0aGVpck9mZnNldCwgdGhlaXJMaW5lcykge1xuICAgIC8vIFRoaXMgd2lsbCBnZW5lcmFsbHkgcmVzdWx0IGluIGEgY29uZmxpY3RlZCBodW5rLCBidXQgdGhlcmUgYXJlIGNhc2VzIHdoZXJlIHRoZSBjb250ZXh0XG4gICAgLy8gaXMgdGhlIG9ubHkgb3ZlcmxhcCB3aGVyZSB3ZSBjYW4gc3VjY2Vzc2Z1bGx5IG1lcmdlIHRoZSBjb250ZW50IGhlcmUuXG4gICAgdmFyIG1pbmUgPSB7XG4gICAgICBvZmZzZXQ6IG1pbmVPZmZzZXQsXG4gICAgICBsaW5lczogbWluZUxpbmVzLFxuICAgICAgaW5kZXg6IDBcbiAgICB9LFxuICAgICAgICB0aGVpciA9IHtcbiAgICAgIG9mZnNldDogdGhlaXJPZmZzZXQsXG4gICAgICBsaW5lczogdGhlaXJMaW5lcyxcbiAgICAgIGluZGV4OiAwXG4gICAgfTsgLy8gSGFuZGxlIGFueSBsZWFkaW5nIGNvbnRlbnRcblxuICAgIGluc2VydExlYWRpbmcoaHVuaywgbWluZSwgdGhlaXIpO1xuICAgIGluc2VydExlYWRpbmcoaHVuaywgdGhlaXIsIG1pbmUpOyAvLyBOb3cgaW4gdGhlIG92ZXJsYXAgY29udGVudC4gU2NhbiB0aHJvdWdoIGFuZCBzZWxlY3QgdGhlIGJlc3QgY2hhbmdlcyBmcm9tIGVhY2guXG5cbiAgICB3aGlsZSAobWluZS5pbmRleCA8IG1pbmUubGluZXMubGVuZ3RoICYmIHRoZWlyLmluZGV4IDwgdGhlaXIubGluZXMubGVuZ3RoKSB7XG4gICAgICB2YXIgbWluZUN1cnJlbnQgPSBtaW5lLmxpbmVzW21pbmUuaW5kZXhdLFxuICAgICAgICAgIHRoZWlyQ3VycmVudCA9IHRoZWlyLmxpbmVzW3RoZWlyLmluZGV4XTtcblxuICAgICAgaWYgKChtaW5lQ3VycmVudFswXSA9PT0gJy0nIHx8IG1pbmVDdXJyZW50WzBdID09PSAnKycpICYmICh0aGVpckN1cnJlbnRbMF0gPT09ICctJyB8fCB0aGVpckN1cnJlbnRbMF0gPT09ICcrJykpIHtcbiAgICAgICAgLy8gQm90aCBtb2RpZmllZCAuLi5cbiAgICAgICAgbXV0dWFsQ2hhbmdlKGh1bmssIG1pbmUsIHRoZWlyKTtcbiAgICAgIH0gZWxzZSBpZiAobWluZUN1cnJlbnRbMF0gPT09ICcrJyAmJiB0aGVpckN1cnJlbnRbMF0gPT09ICcgJykge1xuICAgICAgICB2YXIgX2h1bmskbGluZXM7XG5cbiAgICAgICAgLy8gTWluZSBpbnNlcnRlZFxuICAgICAgICAoX2h1bmskbGluZXMgPSBodW5rLmxpbmVzKS5wdXNoLmFwcGx5KF9odW5rJGxpbmVzLCBfdG9Db25zdW1hYmxlQXJyYXkoY29sbGVjdENoYW5nZShtaW5lKSkpO1xuICAgICAgfSBlbHNlIGlmICh0aGVpckN1cnJlbnRbMF0gPT09ICcrJyAmJiBtaW5lQ3VycmVudFswXSA9PT0gJyAnKSB7XG4gICAgICAgIHZhciBfaHVuayRsaW5lczI7XG5cbiAgICAgICAgLy8gVGhlaXJzIGluc2VydGVkXG4gICAgICAgIChfaHVuayRsaW5lczIgPSBodW5rLmxpbmVzKS5wdXNoLmFwcGx5KF9odW5rJGxpbmVzMiwgX3RvQ29uc3VtYWJsZUFycmF5KGNvbGxlY3RDaGFuZ2UodGhlaXIpKSk7XG4gICAgICB9IGVsc2UgaWYgKG1pbmVDdXJyZW50WzBdID09PSAnLScgJiYgdGhlaXJDdXJyZW50WzBdID09PSAnICcpIHtcbiAgICAgICAgLy8gTWluZSByZW1vdmVkIG9yIGVkaXRlZFxuICAgICAgICByZW1vdmFsKGh1bmssIG1pbmUsIHRoZWlyKTtcbiAgICAgIH0gZWxzZSBpZiAodGhlaXJDdXJyZW50WzBdID09PSAnLScgJiYgbWluZUN1cnJlbnRbMF0gPT09ICcgJykge1xuICAgICAgICAvLyBUaGVpciByZW1vdmVkIG9yIGVkaXRlZFxuICAgICAgICByZW1vdmFsKGh1bmssIHRoZWlyLCBtaW5lLCB0cnVlKTtcbiAgICAgIH0gZWxzZSBpZiAobWluZUN1cnJlbnQgPT09IHRoZWlyQ3VycmVudCkge1xuICAgICAgICAvLyBDb250ZXh0IGlkZW50aXR5XG4gICAgICAgIGh1bmsubGluZXMucHVzaChtaW5lQ3VycmVudCk7XG4gICAgICAgIG1pbmUuaW5kZXgrKztcbiAgICAgICAgdGhlaXIuaW5kZXgrKztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIENvbnRleHQgbWlzbWF0Y2hcbiAgICAgICAgY29uZmxpY3QoaHVuaywgY29sbGVjdENoYW5nZShtaW5lKSwgY29sbGVjdENoYW5nZSh0aGVpcikpO1xuICAgICAgfVxuICAgIH0gLy8gTm93IHB1c2ggYW55dGhpbmcgdGhhdCBtYXkgYmUgcmVtYWluaW5nXG5cblxuICAgIGluc2VydFRyYWlsaW5nKGh1bmssIG1pbmUpO1xuICAgIGluc2VydFRyYWlsaW5nKGh1bmssIHRoZWlyKTtcbiAgICBjYWxjTGluZUNvdW50KGh1bmspO1xuICB9XG5cbiAgZnVuY3Rpb24gbXV0dWFsQ2hhbmdlKGh1bmssIG1pbmUsIHRoZWlyKSB7XG4gICAgdmFyIG15Q2hhbmdlcyA9IGNvbGxlY3RDaGFuZ2UobWluZSksXG4gICAgICAgIHRoZWlyQ2hhbmdlcyA9IGNvbGxlY3RDaGFuZ2UodGhlaXIpO1xuXG4gICAgaWYgKGFsbFJlbW92ZXMobXlDaGFuZ2VzKSAmJiBhbGxSZW1vdmVzKHRoZWlyQ2hhbmdlcykpIHtcbiAgICAgIC8vIFNwZWNpYWwgY2FzZSBmb3IgcmVtb3ZlIGNoYW5nZXMgdGhhdCBhcmUgc3VwZXJzZXRzIG9mIG9uZSBhbm90aGVyXG4gICAgICBpZiAoYXJyYXlTdGFydHNXaXRoKG15Q2hhbmdlcywgdGhlaXJDaGFuZ2VzKSAmJiBza2lwUmVtb3ZlU3VwZXJzZXQodGhlaXIsIG15Q2hhbmdlcywgbXlDaGFuZ2VzLmxlbmd0aCAtIHRoZWlyQ2hhbmdlcy5sZW5ndGgpKSB7XG4gICAgICAgIHZhciBfaHVuayRsaW5lczM7XG5cbiAgICAgICAgKF9odW5rJGxpbmVzMyA9IGh1bmsubGluZXMpLnB1c2guYXBwbHkoX2h1bmskbGluZXMzLCBfdG9Db25zdW1hYmxlQXJyYXkobXlDaGFuZ2VzKSk7XG5cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfSBlbHNlIGlmIChhcnJheVN0YXJ0c1dpdGgodGhlaXJDaGFuZ2VzLCBteUNoYW5nZXMpICYmIHNraXBSZW1vdmVTdXBlcnNldChtaW5lLCB0aGVpckNoYW5nZXMsIHRoZWlyQ2hhbmdlcy5sZW5ndGggLSBteUNoYW5nZXMubGVuZ3RoKSkge1xuICAgICAgICB2YXIgX2h1bmskbGluZXM0O1xuXG4gICAgICAgIChfaHVuayRsaW5lczQgPSBodW5rLmxpbmVzKS5wdXNoLmFwcGx5KF9odW5rJGxpbmVzNCwgX3RvQ29uc3VtYWJsZUFycmF5KHRoZWlyQ2hhbmdlcykpO1xuXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGFycmF5RXF1YWwobXlDaGFuZ2VzLCB0aGVpckNoYW5nZXMpKSB7XG4gICAgICB2YXIgX2h1bmskbGluZXM1O1xuXG4gICAgICAoX2h1bmskbGluZXM1ID0gaHVuay5saW5lcykucHVzaC5hcHBseShfaHVuayRsaW5lczUsIF90b0NvbnN1bWFibGVBcnJheShteUNoYW5nZXMpKTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbmZsaWN0KGh1bmssIG15Q2hhbmdlcywgdGhlaXJDaGFuZ2VzKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIHJlbW92YWwoaHVuaywgbWluZSwgdGhlaXIsIHN3YXApIHtcbiAgICB2YXIgbXlDaGFuZ2VzID0gY29sbGVjdENoYW5nZShtaW5lKSxcbiAgICAgICAgdGhlaXJDaGFuZ2VzID0gY29sbGVjdENvbnRleHQodGhlaXIsIG15Q2hhbmdlcyk7XG5cbiAgICBpZiAodGhlaXJDaGFuZ2VzLm1lcmdlZCkge1xuICAgICAgdmFyIF9odW5rJGxpbmVzNjtcblxuICAgICAgKF9odW5rJGxpbmVzNiA9IGh1bmsubGluZXMpLnB1c2guYXBwbHkoX2h1bmskbGluZXM2LCBfdG9Db25zdW1hYmxlQXJyYXkodGhlaXJDaGFuZ2VzLm1lcmdlZCkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25mbGljdChodW5rLCBzd2FwID8gdGhlaXJDaGFuZ2VzIDogbXlDaGFuZ2VzLCBzd2FwID8gbXlDaGFuZ2VzIDogdGhlaXJDaGFuZ2VzKTtcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBjb25mbGljdChodW5rLCBtaW5lLCB0aGVpcikge1xuICAgIGh1bmsuY29uZmxpY3QgPSB0cnVlO1xuICAgIGh1bmsubGluZXMucHVzaCh7XG4gICAgICBjb25mbGljdDogdHJ1ZSxcbiAgICAgIG1pbmU6IG1pbmUsXG4gICAgICB0aGVpcnM6IHRoZWlyXG4gICAgfSk7XG4gIH1cblxuICBmdW5jdGlvbiBpbnNlcnRMZWFkaW5nKGh1bmssIGluc2VydCwgdGhlaXIpIHtcbiAgICB3aGlsZSAoaW5zZXJ0Lm9mZnNldCA8IHRoZWlyLm9mZnNldCAmJiBpbnNlcnQuaW5kZXggPCBpbnNlcnQubGluZXMubGVuZ3RoKSB7XG4gICAgICB2YXIgbGluZSA9IGluc2VydC5saW5lc1tpbnNlcnQuaW5kZXgrK107XG4gICAgICBodW5rLmxpbmVzLnB1c2gobGluZSk7XG4gICAgICBpbnNlcnQub2Zmc2V0Kys7XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gaW5zZXJ0VHJhaWxpbmcoaHVuaywgaW5zZXJ0KSB7XG4gICAgd2hpbGUgKGluc2VydC5pbmRleCA8IGluc2VydC5saW5lcy5sZW5ndGgpIHtcbiAgICAgIHZhciBsaW5lID0gaW5zZXJ0LmxpbmVzW2luc2VydC5pbmRleCsrXTtcbiAgICAgIGh1bmsubGluZXMucHVzaChsaW5lKTtcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBjb2xsZWN0Q2hhbmdlKHN0YXRlKSB7XG4gICAgdmFyIHJldCA9IFtdLFxuICAgICAgICBvcGVyYXRpb24gPSBzdGF0ZS5saW5lc1tzdGF0ZS5pbmRleF1bMF07XG5cbiAgICB3aGlsZSAoc3RhdGUuaW5kZXggPCBzdGF0ZS5saW5lcy5sZW5ndGgpIHtcbiAgICAgIHZhciBsaW5lID0gc3RhdGUubGluZXNbc3RhdGUuaW5kZXhdOyAvLyBHcm91cCBhZGRpdGlvbnMgdGhhdCBhcmUgaW1tZWRpYXRlbHkgYWZ0ZXIgc3VidHJhY3Rpb25zIGFuZCB0cmVhdCB0aGVtIGFzIG9uZSBcImF0b21pY1wiIG1vZGlmeSBjaGFuZ2UuXG5cbiAgICAgIGlmIChvcGVyYXRpb24gPT09ICctJyAmJiBsaW5lWzBdID09PSAnKycpIHtcbiAgICAgICAgb3BlcmF0aW9uID0gJysnO1xuICAgICAgfVxuXG4gICAgICBpZiAob3BlcmF0aW9uID09PSBsaW5lWzBdKSB7XG4gICAgICAgIHJldC5wdXNoKGxpbmUpO1xuICAgICAgICBzdGF0ZS5pbmRleCsrO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHJldDtcbiAgfVxuXG4gIGZ1bmN0aW9uIGNvbGxlY3RDb250ZXh0KHN0YXRlLCBtYXRjaENoYW5nZXMpIHtcbiAgICB2YXIgY2hhbmdlcyA9IFtdLFxuICAgICAgICBtZXJnZWQgPSBbXSxcbiAgICAgICAgbWF0Y2hJbmRleCA9IDAsXG4gICAgICAgIGNvbnRleHRDaGFuZ2VzID0gZmFsc2UsXG4gICAgICAgIGNvbmZsaWN0ZWQgPSBmYWxzZTtcblxuICAgIHdoaWxlIChtYXRjaEluZGV4IDwgbWF0Y2hDaGFuZ2VzLmxlbmd0aCAmJiBzdGF0ZS5pbmRleCA8IHN0YXRlLmxpbmVzLmxlbmd0aCkge1xuICAgICAgdmFyIGNoYW5nZSA9IHN0YXRlLmxpbmVzW3N0YXRlLmluZGV4XSxcbiAgICAgICAgICBtYXRjaCA9IG1hdGNoQ2hhbmdlc1ttYXRjaEluZGV4XTsgLy8gT25jZSB3ZSd2ZSBoaXQgb3VyIGFkZCwgdGhlbiB3ZSBhcmUgZG9uZVxuXG4gICAgICBpZiAobWF0Y2hbMF0gPT09ICcrJykge1xuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgICAgY29udGV4dENoYW5nZXMgPSBjb250ZXh0Q2hhbmdlcyB8fCBjaGFuZ2VbMF0gIT09ICcgJztcbiAgICAgIG1lcmdlZC5wdXNoKG1hdGNoKTtcbiAgICAgIG1hdGNoSW5kZXgrKzsgLy8gQ29uc3VtZSBhbnkgYWRkaXRpb25zIGluIHRoZSBvdGhlciBibG9jayBhcyBhIGNvbmZsaWN0IHRvIGF0dGVtcHRcbiAgICAgIC8vIHRvIHB1bGwgaW4gdGhlIHJlbWFpbmluZyBjb250ZXh0IGFmdGVyIHRoaXNcblxuICAgICAgaWYgKGNoYW5nZVswXSA9PT0gJysnKSB7XG4gICAgICAgIGNvbmZsaWN0ZWQgPSB0cnVlO1xuXG4gICAgICAgIHdoaWxlIChjaGFuZ2VbMF0gPT09ICcrJykge1xuICAgICAgICAgIGNoYW5nZXMucHVzaChjaGFuZ2UpO1xuICAgICAgICAgIGNoYW5nZSA9IHN0YXRlLmxpbmVzWysrc3RhdGUuaW5kZXhdO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChtYXRjaC5zdWJzdHIoMSkgPT09IGNoYW5nZS5zdWJzdHIoMSkpIHtcbiAgICAgICAgY2hhbmdlcy5wdXNoKGNoYW5nZSk7XG4gICAgICAgIHN0YXRlLmluZGV4Kys7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25mbGljdGVkID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoKG1hdGNoQ2hhbmdlc1ttYXRjaEluZGV4XSB8fCAnJylbMF0gPT09ICcrJyAmJiBjb250ZXh0Q2hhbmdlcykge1xuICAgICAgY29uZmxpY3RlZCA9IHRydWU7XG4gICAgfVxuXG4gICAgaWYgKGNvbmZsaWN0ZWQpIHtcbiAgICAgIHJldHVybiBjaGFuZ2VzO1xuICAgIH1cblxuICAgIHdoaWxlIChtYXRjaEluZGV4IDwgbWF0Y2hDaGFuZ2VzLmxlbmd0aCkge1xuICAgICAgbWVyZ2VkLnB1c2gobWF0Y2hDaGFuZ2VzW21hdGNoSW5kZXgrK10pO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBtZXJnZWQ6IG1lcmdlZCxcbiAgICAgIGNoYW5nZXM6IGNoYW5nZXNcbiAgICB9O1xuICB9XG5cbiAgZnVuY3Rpb24gYWxsUmVtb3ZlcyhjaGFuZ2VzKSB7XG4gICAgcmV0dXJuIGNoYW5nZXMucmVkdWNlKGZ1bmN0aW9uIChwcmV2LCBjaGFuZ2UpIHtcbiAgICAgIHJldHVybiBwcmV2ICYmIGNoYW5nZVswXSA9PT0gJy0nO1xuICAgIH0sIHRydWUpO1xuICB9XG5cbiAgZnVuY3Rpb24gc2tpcFJlbW92ZVN1cGVyc2V0KHN0YXRlLCByZW1vdmVDaGFuZ2VzLCBkZWx0YSkge1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZGVsdGE7IGkrKykge1xuICAgICAgdmFyIGNoYW5nZUNvbnRlbnQgPSByZW1vdmVDaGFuZ2VzW3JlbW92ZUNoYW5nZXMubGVuZ3RoIC0gZGVsdGEgKyBpXS5zdWJzdHIoMSk7XG5cbiAgICAgIGlmIChzdGF0ZS5saW5lc1tzdGF0ZS5pbmRleCArIGldICE9PSAnICcgKyBjaGFuZ2VDb250ZW50KSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBzdGF0ZS5pbmRleCArPSBkZWx0YTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGNhbGNPbGROZXdMaW5lQ291bnQobGluZXMpIHtcbiAgICB2YXIgb2xkTGluZXMgPSAwO1xuICAgIHZhciBuZXdMaW5lcyA9IDA7XG4gICAgbGluZXMuZm9yRWFjaChmdW5jdGlvbiAobGluZSkge1xuICAgICAgaWYgKHR5cGVvZiBsaW5lICE9PSAnc3RyaW5nJykge1xuICAgICAgICB2YXIgbXlDb3VudCA9IGNhbGNPbGROZXdMaW5lQ291bnQobGluZS5taW5lKTtcbiAgICAgICAgdmFyIHRoZWlyQ291bnQgPSBjYWxjT2xkTmV3TGluZUNvdW50KGxpbmUudGhlaXJzKTtcblxuICAgICAgICBpZiAob2xkTGluZXMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIGlmIChteUNvdW50Lm9sZExpbmVzID09PSB0aGVpckNvdW50Lm9sZExpbmVzKSB7XG4gICAgICAgICAgICBvbGRMaW5lcyArPSBteUNvdW50Lm9sZExpbmVzO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBvbGRMaW5lcyA9IHVuZGVmaW5lZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAobmV3TGluZXMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIGlmIChteUNvdW50Lm5ld0xpbmVzID09PSB0aGVpckNvdW50Lm5ld0xpbmVzKSB7XG4gICAgICAgICAgICBuZXdMaW5lcyArPSBteUNvdW50Lm5ld0xpbmVzO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBuZXdMaW5lcyA9IHVuZGVmaW5lZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmIChuZXdMaW5lcyAhPT0gdW5kZWZpbmVkICYmIChsaW5lWzBdID09PSAnKycgfHwgbGluZVswXSA9PT0gJyAnKSkge1xuICAgICAgICAgIG5ld0xpbmVzKys7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAob2xkTGluZXMgIT09IHVuZGVmaW5lZCAmJiAobGluZVswXSA9PT0gJy0nIHx8IGxpbmVbMF0gPT09ICcgJykpIHtcbiAgICAgICAgICBvbGRMaW5lcysrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIHtcbiAgICAgIG9sZExpbmVzOiBvbGRMaW5lcyxcbiAgICAgIG5ld0xpbmVzOiBuZXdMaW5lc1xuICAgIH07XG4gIH1cblxuICAvLyBTZWU6IGh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC9nb29nbGUtZGlmZi1tYXRjaC1wYXRjaC93aWtpL0FQSVxuICBmdW5jdGlvbiBjb252ZXJ0Q2hhbmdlc1RvRE1QKGNoYW5nZXMpIHtcbiAgICB2YXIgcmV0ID0gW10sXG4gICAgICAgIGNoYW5nZSxcbiAgICAgICAgb3BlcmF0aW9uO1xuXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjaGFuZ2VzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBjaGFuZ2UgPSBjaGFuZ2VzW2ldO1xuXG4gICAgICBpZiAoY2hhbmdlLmFkZGVkKSB7XG4gICAgICAgIG9wZXJhdGlvbiA9IDE7XG4gICAgICB9IGVsc2UgaWYgKGNoYW5nZS5yZW1vdmVkKSB7XG4gICAgICAgIG9wZXJhdGlvbiA9IC0xO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgb3BlcmF0aW9uID0gMDtcbiAgICAgIH1cblxuICAgICAgcmV0LnB1c2goW29wZXJhdGlvbiwgY2hhbmdlLnZhbHVlXSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJldDtcbiAgfVxuXG4gIGZ1bmN0aW9uIGNvbnZlcnRDaGFuZ2VzVG9YTUwoY2hhbmdlcykge1xuICAgIHZhciByZXQgPSBbXTtcblxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgY2hhbmdlcy5sZW5ndGg7IGkrKykge1xuICAgICAgdmFyIGNoYW5nZSA9IGNoYW5nZXNbaV07XG5cbiAgICAgIGlmIChjaGFuZ2UuYWRkZWQpIHtcbiAgICAgICAgcmV0LnB1c2goJzxpbnM+Jyk7XG4gICAgICB9IGVsc2UgaWYgKGNoYW5nZS5yZW1vdmVkKSB7XG4gICAgICAgIHJldC5wdXNoKCc8ZGVsPicpO1xuICAgICAgfVxuXG4gICAgICByZXQucHVzaChlc2NhcGVIVE1MKGNoYW5nZS52YWx1ZSkpO1xuXG4gICAgICBpZiAoY2hhbmdlLmFkZGVkKSB7XG4gICAgICAgIHJldC5wdXNoKCc8L2lucz4nKTtcbiAgICAgIH0gZWxzZSBpZiAoY2hhbmdlLnJlbW92ZWQpIHtcbiAgICAgICAgcmV0LnB1c2goJzwvZGVsPicpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiByZXQuam9pbignJyk7XG4gIH1cblxuICBmdW5jdGlvbiBlc2NhcGVIVE1MKHMpIHtcbiAgICB2YXIgbiA9IHM7XG4gICAgbiA9IG4ucmVwbGFjZSgvJi9nLCAnJmFtcDsnKTtcbiAgICBuID0gbi5yZXBsYWNlKC88L2csICcmbHQ7Jyk7XG4gICAgbiA9IG4ucmVwbGFjZSgvPi9nLCAnJmd0OycpO1xuICAgIG4gPSBuLnJlcGxhY2UoL1wiL2csICcmcXVvdDsnKTtcbiAgICByZXR1cm4gbjtcbiAgfVxuXG4gIGV4cG9ydHMuRGlmZiA9IERpZmY7XG4gIGV4cG9ydHMuYXBwbHlQYXRjaCA9IGFwcGx5UGF0Y2g7XG4gIGV4cG9ydHMuYXBwbHlQYXRjaGVzID0gYXBwbHlQYXRjaGVzO1xuICBleHBvcnRzLmNhbm9uaWNhbGl6ZSA9IGNhbm9uaWNhbGl6ZTtcbiAgZXhwb3J0cy5jb252ZXJ0Q2hhbmdlc1RvRE1QID0gY29udmVydENoYW5nZXNUb0RNUDtcbiAgZXhwb3J0cy5jb252ZXJ0Q2hhbmdlc1RvWE1MID0gY29udmVydENoYW5nZXNUb1hNTDtcbiAgZXhwb3J0cy5jcmVhdGVQYXRjaCA9IGNyZWF0ZVBhdGNoO1xuICBleHBvcnRzLmNyZWF0ZVR3b0ZpbGVzUGF0Y2ggPSBjcmVhdGVUd29GaWxlc1BhdGNoO1xuICBleHBvcnRzLmRpZmZBcnJheXMgPSBkaWZmQXJyYXlzO1xuICBleHBvcnRzLmRpZmZDaGFycyA9IGRpZmZDaGFycztcbiAgZXhwb3J0cy5kaWZmQ3NzID0gZGlmZkNzcztcbiAgZXhwb3J0cy5kaWZmSnNvbiA9IGRpZmZKc29uO1xuICBleHBvcnRzLmRpZmZMaW5lcyA9IGRpZmZMaW5lcztcbiAgZXhwb3J0cy5kaWZmU2VudGVuY2VzID0gZGlmZlNlbnRlbmNlcztcbiAgZXhwb3J0cy5kaWZmVHJpbW1lZExpbmVzID0gZGlmZlRyaW1tZWRMaW5lcztcbiAgZXhwb3J0cy5kaWZmV29yZHMgPSBkaWZmV29yZHM7XG4gIGV4cG9ydHMuZGlmZldvcmRzV2l0aFNwYWNlID0gZGlmZldvcmRzV2l0aFNwYWNlO1xuICBleHBvcnRzLm1lcmdlID0gbWVyZ2U7XG4gIGV4cG9ydHMucGFyc2VQYXRjaCA9IHBhcnNlUGF0Y2g7XG4gIGV4cG9ydHMuc3RydWN0dXJlZFBhdGNoID0gc3RydWN0dXJlZFBhdGNoO1xuXG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG5cbn0pKSk7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQSxXQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/diff/dist/diff.js\n"); /***/ }), /***/ "./node_modules/diff2html/lib-esm/diff-parser.js": /*!*******************************************************!*\ !*** ./node_modules/diff2html/lib-esm/diff-parser.js ***! \*******************************************************/ /*! exports provided: parse */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"parse\", function() { return parse; });\n/* harmony import */ var _types__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./types */ \"./node_modules/diff2html/lib-esm/types.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils */ \"./node_modules/diff2html/lib-esm/utils.js\");\nvar __spreadArrays = (undefined && undefined.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\n\n\nfunction getExtension(filename, language) {\n var filenameParts = filename.split('.');\n return filenameParts.length > 1 ? filenameParts[filenameParts.length - 1] : language;\n}\nfunction startsWithAny(str, prefixes) {\n return prefixes.reduce(function (startsWith, prefix) { return startsWith || str.startsWith(prefix); }, false);\n}\nvar baseDiffFilenamePrefixes = ['a/', 'b/', 'i/', 'w/', 'c/', 'o/'];\nfunction getFilename(line, linePrefix, extraPrefix) {\n var prefixes = extraPrefix !== undefined ? __spreadArrays(baseDiffFilenamePrefixes, [extraPrefix]) : baseDiffFilenamePrefixes;\n var FilenameRegExp = linePrefix\n ? new RegExp(\"^\" + Object(_utils__WEBPACK_IMPORTED_MODULE_1__[\"escapeForRegExp\"])(linePrefix) + \" \\\"?(.+?)\\\"?$\")\n : new RegExp('^\"?(.+?)\"?$');\n var _a = FilenameRegExp.exec(line) || [], _b = _a[1], filename = _b === void 0 ? '' : _b;\n var matchingPrefix = prefixes.find(function (p) { return filename.indexOf(p) === 0; });\n var fnameWithoutPrefix = matchingPrefix ? filename.slice(matchingPrefix.length) : filename;\n return fnameWithoutPrefix.replace(/\\s+\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)? [+-]\\d{4}.*$/, '');\n}\nfunction getSrcFilename(line, srcPrefix) {\n return getFilename(line, '---', srcPrefix);\n}\nfunction getDstFilename(line, dstPrefix) {\n return getFilename(line, '+++', dstPrefix);\n}\nfunction parse(diffInput, config) {\n if (config === void 0) { config = {}; }\n var files = [];\n var currentFile = null;\n var currentBlock = null;\n var oldLine = null;\n var oldLine2 = null;\n var newLine = null;\n var possibleOldName = null;\n var possibleNewName = null;\n var oldFileNameHeader = '--- ';\n var newFileNameHeader = '+++ ';\n var hunkHeaderPrefix = '@@';\n var oldMode = /^old mode (\\d{6})/;\n var newMode = /^new mode (\\d{6})/;\n var deletedFileMode = /^deleted file mode (\\d{6})/;\n var newFileMode = /^new file mode (\\d{6})/;\n var copyFrom = /^copy from \"?(.+)\"?/;\n var copyTo = /^copy to \"?(.+)\"?/;\n var renameFrom = /^rename from \"?(.+)\"?/;\n var renameTo = /^rename to \"?(.+)\"?/;\n var similarityIndex = /^similarity index (\\d+)%/;\n var dissimilarityIndex = /^dissimilarity index (\\d+)%/;\n var index = /^index ([\\da-z]+)\\.\\.([\\da-z]+)\\s*(\\d{6})?/;\n var binaryFiles = /^Binary files (.*) and (.*) differ/;\n var binaryDiff = /^GIT binary patch/;\n var combinedIndex = /^index ([\\da-z]+),([\\da-z]+)\\.\\.([\\da-z]+)/;\n var combinedMode = /^mode (\\d{6}),(\\d{6})\\.\\.(\\d{6})/;\n var combinedNewFile = /^new file mode (\\d{6})/;\n var combinedDeletedFile = /^deleted file mode (\\d{6}),(\\d{6})/;\n var diffLines = diffInput\n .replace(/\\\\ No newline at end of file/g, '')\n .replace(/\\r\\n?/g, '\\n')\n .split('\\n');\n function saveBlock() {\n if (currentBlock !== null && currentFile !== null) {\n currentFile.blocks.push(currentBlock);\n currentBlock = null;\n }\n }\n function saveFile() {\n if (currentFile !== null) {\n if (!currentFile.oldName && possibleOldName !== null) {\n currentFile.oldName = possibleOldName;\n }\n if (!currentFile.newName && possibleNewName !== null) {\n currentFile.newName = possibleNewName;\n }\n if (currentFile.newName) {\n files.push(currentFile);\n currentFile = null;\n }\n }\n possibleOldName = null;\n possibleNewName = null;\n }\n function startFile() {\n saveBlock();\n saveFile();\n currentFile = {\n blocks: [],\n deletedLines: 0,\n addedLines: 0,\n };\n }\n function startBlock(line) {\n saveBlock();\n var values;\n if (currentFile !== null) {\n if ((values = /^@@ -(\\d+)(?:,\\d+)? \\+(\\d+)(?:,\\d+)? @@.*/.exec(line))) {\n currentFile.isCombined = false;\n oldLine = parseInt(values[1], 10);\n newLine = parseInt(values[2], 10);\n }\n else if ((values = /^@@@ -(\\d+)(?:,\\d+)? -(\\d+)(?:,\\d+)? \\+(\\d+)(?:,\\d+)? @@@.*/.exec(line))) {\n currentFile.isCombined = true;\n oldLine = parseInt(values[1], 10);\n oldLine2 = parseInt(values[2], 10);\n newLine = parseInt(values[3], 10);\n }\n else {\n if (line.startsWith(hunkHeaderPrefix)) {\n console.error('Failed to parse lines, starting in 0!');\n }\n oldLine = 0;\n newLine = 0;\n currentFile.isCombined = false;\n }\n }\n currentBlock = {\n lines: [],\n oldStartLine: oldLine,\n oldStartLine2: oldLine2,\n newStartLine: newLine,\n header: line,\n };\n }\n function createLine(line) {\n if (currentFile === null || currentBlock === null || oldLine === null || newLine === null)\n return;\n var currentLine = {\n content: line,\n };\n var addedPrefixes = currentFile.isCombined ? ['+ ', ' +', '++'] : ['+'];\n var deletedPrefixes = currentFile.isCombined ? ['- ', ' -', '--'] : ['-'];\n if (startsWithAny(line, addedPrefixes)) {\n currentFile.addedLines++;\n currentLine.type = _types__WEBPACK_IMPORTED_MODULE_0__[\"LineType\"].INSERT;\n currentLine.oldNumber = undefined;\n currentLine.newNumber = newLine++;\n }\n else if (startsWithAny(line, deletedPrefixes)) {\n currentFile.deletedLines++;\n currentLine.type = _types__WEBPACK_IMPORTED_MODULE_0__[\"LineType\"].DELETE;\n currentLine.oldNumber = oldLine++;\n currentLine.newNumber = undefined;\n }\n else {\n currentLine.type = _types__WEBPACK_IMPORTED_MODULE_0__[\"LineType\"].CONTEXT;\n currentLine.oldNumber = oldLine++;\n currentLine.newNumber = newLine++;\n }\n currentBlock.lines.push(currentLine);\n }\n function existHunkHeader(line, lineIdx) {\n var idx = lineIdx;\n while (idx < diffLines.length - 3) {\n if (line.startsWith('diff')) {\n return false;\n }\n if (diffLines[idx].startsWith(oldFileNameHeader) &&\n diffLines[idx + 1].startsWith(newFileNameHeader) &&\n diffLines[idx + 2].startsWith(hunkHeaderPrefix)) {\n return true;\n }\n idx++;\n }\n return false;\n }\n diffLines.forEach(function (line, lineIndex) {\n if (!line || line.startsWith('*')) {\n return;\n }\n var values;\n var prevLine = diffLines[lineIndex - 1];\n var nxtLine = diffLines[lineIndex + 1];\n var afterNxtLine = diffLines[lineIndex + 2];\n if (line.startsWith('diff')) {\n startFile();\n var gitDiffStart = /^diff --git \"?(.+)\"? \"?(.+)\"?/;\n if ((values = gitDiffStart.exec(line))) {\n possibleOldName = getFilename(values[1], undefined, config.dstPrefix);\n possibleNewName = getFilename(values[2], undefined, config.srcPrefix);\n }\n if (currentFile === null) {\n throw new Error('Where is my file !!!');\n }\n currentFile.isGitDiff = true;\n return;\n }\n if (!currentFile ||\n (!currentFile.isGitDiff &&\n currentFile &&\n line.startsWith(oldFileNameHeader) &&\n nxtLine.startsWith(newFileNameHeader) &&\n afterNxtLine.startsWith(hunkHeaderPrefix))) {\n startFile();\n }\n if ((line.startsWith(oldFileNameHeader) && nxtLine.startsWith(newFileNameHeader)) ||\n (line.startsWith(newFileNameHeader) && prevLine.startsWith(oldFileNameHeader))) {\n if (currentFile &&\n !currentFile.oldName &&\n line.startsWith('--- ') &&\n (values = getSrcFilename(line, config.srcPrefix))) {\n currentFile.oldName = values;\n currentFile.language = getExtension(currentFile.oldName, currentFile.language);\n return;\n }\n if (currentFile &&\n !currentFile.newName &&\n line.startsWith('+++ ') &&\n (values = getDstFilename(line, config.dstPrefix))) {\n currentFile.newName = values;\n currentFile.language = getExtension(currentFile.newName, currentFile.language);\n return;\n }\n }\n if (currentFile &&\n (line.startsWith(hunkHeaderPrefix) ||\n (currentFile.isGitDiff && currentFile.oldName && currentFile.newName && !currentBlock))) {\n startBlock(line);\n return;\n }\n if (currentBlock && (line.startsWith('+') || line.startsWith('-') || line.startsWith(' '))) {\n createLine(line);\n return;\n }\n var doesNotExistHunkHeader = !existHunkHeader(line, lineIndex);\n if (currentFile === null) {\n throw new Error('Where is my file !!!');\n }\n if ((values = oldMode.exec(line))) {\n currentFile.oldMode = values[1];\n }\n else if ((values = newMode.exec(line))) {\n currentFile.newMode = values[1];\n }\n else if ((values = deletedFileMode.exec(line))) {\n currentFile.deletedFileMode = values[1];\n currentFile.isDeleted = true;\n }\n else if ((values = newFileMode.exec(line))) {\n currentFile.newFileMode = values[1];\n currentFile.isNew = true;\n }\n else if ((values = copyFrom.exec(line))) {\n if (doesNotExistHunkHeader) {\n currentFile.oldName = values[1];\n }\n currentFile.isCopy = true;\n }\n else if ((values = copyTo.exec(line))) {\n if (doesNotExistHunkHeader) {\n currentFile.newName = values[1];\n }\n currentFile.isCopy = true;\n }\n else if ((values = renameFrom.exec(line))) {\n if (doesNotExistHunkHeader) {\n currentFile.oldName = values[1];\n }\n currentFile.isRename = true;\n }\n else if ((values = renameTo.exec(line))) {\n if (doesNotExistHunkHeader) {\n currentFile.newName = values[1];\n }\n currentFile.isRename = true;\n }\n else if ((values = binaryFiles.exec(line))) {\n currentFile.isBinary = true;\n currentFile.oldName = getFilename(values[1], undefined, config.srcPrefix);\n currentFile.newName = getFilename(values[2], undefined, config.dstPrefix);\n startBlock('Binary file');\n }\n else if (binaryDiff.test(line)) {\n currentFile.isBinary = true;\n startBlock(line);\n }\n else if ((values = similarityIndex.exec(line))) {\n currentFile.unchangedPercentage = parseInt(values[1], 10);\n }\n else if ((values = dissimilarityIndex.exec(line))) {\n currentFile.changedPercentage = parseInt(values[1], 10);\n }\n else if ((values = index.exec(line))) {\n currentFile.checksumBefore = values[1];\n currentFile.checksumAfter = values[2];\n values[3] && (currentFile.mode = values[3]);\n }\n else if ((values = combinedIndex.exec(line))) {\n currentFile.checksumBefore = [values[2], values[3]];\n currentFile.checksumAfter = values[1];\n }\n else if ((values = combinedMode.exec(line))) {\n currentFile.oldMode = [values[2], values[3]];\n currentFile.newMode = values[1];\n }\n else if ((values = combinedNewFile.exec(line))) {\n currentFile.newFileMode = values[1];\n currentFile.isNew = true;\n }\n else if ((values = combinedDeletedFile.exec(line))) {\n currentFile.deletedFileMode = values[1];\n currentFile.isDeleted = true;\n }\n });\n saveBlock();\n saveFile();\n return files;\n}\n//# sourceMappingURL=diff-parser.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGlmZjJodG1sL2xpYi1lc20vZGlmZi1wYXJzZXIuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZGlmZjJodG1sL2xpYi1lc20vZGlmZi1wYXJzZXIuanM/YWM5MSJdLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX19zcHJlYWRBcnJheXMgPSAodGhpcyAmJiB0aGlzLl9fc3ByZWFkQXJyYXlzKSB8fCBmdW5jdGlvbiAoKSB7XG4gICAgZm9yICh2YXIgcyA9IDAsIGkgPSAwLCBpbCA9IGFyZ3VtZW50cy5sZW5ndGg7IGkgPCBpbDsgaSsrKSBzICs9IGFyZ3VtZW50c1tpXS5sZW5ndGg7XG4gICAgZm9yICh2YXIgciA9IEFycmF5KHMpLCBrID0gMCwgaSA9IDA7IGkgPCBpbDsgaSsrKVxuICAgICAgICBmb3IgKHZhciBhID0gYXJndW1lbnRzW2ldLCBqID0gMCwgamwgPSBhLmxlbmd0aDsgaiA8IGpsOyBqKyssIGsrKylcbiAgICAgICAgICAgIHJba10gPSBhW2pdO1xuICAgIHJldHVybiByO1xufTtcbmltcG9ydCB7IExpbmVUeXBlIH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBlc2NhcGVGb3JSZWdFeHAgfSBmcm9tICcuL3V0aWxzJztcbmZ1bmN0aW9uIGdldEV4dGVuc2lvbihmaWxlbmFtZSwgbGFuZ3VhZ2UpIHtcbiAgICB2YXIgZmlsZW5hbWVQYXJ0cyA9IGZpbGVuYW1lLnNwbGl0KCcuJyk7XG4gICAgcmV0dXJuIGZpbGVuYW1lUGFydHMubGVuZ3RoID4gMSA/IGZpbGVuYW1lUGFydHNbZmlsZW5hbWVQYXJ0cy5sZW5ndGggLSAxXSA6IGxhbmd1YWdlO1xufVxuZnVuY3Rpb24gc3RhcnRzV2l0aEFueShzdHIsIHByZWZpeGVzKSB7XG4gICAgcmV0dXJuIHByZWZpeGVzLnJlZHVjZShmdW5jdGlvbiAoc3RhcnRzV2l0aCwgcHJlZml4KSB7IHJldHVybiBzdGFydHNXaXRoIHx8IHN0ci5zdGFydHNXaXRoKHByZWZpeCk7IH0sIGZhbHNlKTtcbn1cbnZhciBiYXNlRGlmZkZpbGVuYW1lUHJlZml4ZXMgPSBbJ2EvJywgJ2IvJywgJ2kvJywgJ3cvJywgJ2MvJywgJ28vJ107XG5mdW5jdGlvbiBnZXRGaWxlbmFtZShsaW5lLCBsaW5lUHJlZml4LCBleHRyYVByZWZpeCkge1xuICAgIHZhciBwcmVmaXhlcyA9IGV4dHJhUHJlZml4ICE9PSB1bmRlZmluZWQgPyBfX3NwcmVhZEFycmF5cyhiYXNlRGlmZkZpbGVuYW1lUHJlZml4ZXMsIFtleHRyYVByZWZpeF0pIDogYmFzZURpZmZGaWxlbmFtZVByZWZpeGVzO1xuICAgIHZhciBGaWxlbmFtZVJlZ0V4cCA9IGxpbmVQcmVmaXhcbiAgICAgICAgPyBuZXcgUmVnRXhwKFwiXlwiICsgZXNjYXBlRm9yUmVnRXhwKGxpbmVQcmVmaXgpICsgXCIgXFxcIj8oLis/KVxcXCI/JFwiKVxuICAgICAgICA6IG5ldyBSZWdFeHAoJ15cIj8oLis/KVwiPyQnKTtcbiAgICB2YXIgX2EgPSBGaWxlbmFtZVJlZ0V4cC5leGVjKGxpbmUpIHx8IFtdLCBfYiA9IF9hWzFdLCBmaWxlbmFtZSA9IF9iID09PSB2b2lkIDAgPyAnJyA6IF9iO1xuICAgIHZhciBtYXRjaGluZ1ByZWZpeCA9IHByZWZpeGVzLmZpbmQoZnVuY3Rpb24gKHApIHsgcmV0dXJuIGZpbGVuYW1lLmluZGV4T2YocCkgPT09IDA7IH0pO1xuICAgIHZhciBmbmFtZVdpdGhvdXRQcmVmaXggPSBtYXRjaGluZ1ByZWZpeCA/IGZpbGVuYW1lLnNsaWNlKG1hdGNoaW5nUHJlZml4Lmxlbmd0aCkgOiBmaWxlbmFtZTtcbiAgICByZXR1cm4gZm5hbWVXaXRob3V0UHJlZml4LnJlcGxhY2UoL1xccytcXGR7NH0tXFxkezJ9LVxcZHsyfSBcXGR7Mn06XFxkezJ9OlxcZHsyfSg/OlxcLlxcZCspPyBbKy1dXFxkezR9LiokLywgJycpO1xufVxuZnVuY3Rpb24gZ2V0U3JjRmlsZW5hbWUobGluZSwgc3JjUHJlZml4KSB7XG4gICAgcmV0dXJuIGdldEZpbGVuYW1lKGxpbmUsICctLS0nLCBzcmNQcmVmaXgpO1xufVxuZnVuY3Rpb24gZ2V0RHN0RmlsZW5hbWUobGluZSwgZHN0UHJlZml4KSB7XG4gICAgcmV0dXJuIGdldEZpbGVuYW1lKGxpbmUsICcrKysnLCBkc3RQcmVmaXgpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlKGRpZmZJbnB1dCwgY29uZmlnKSB7XG4gICAgaWYgKGNvbmZpZyA9PT0gdm9pZCAwKSB7IGNvbmZpZyA9IHt9OyB9XG4gICAgdmFyIGZpbGVzID0gW107XG4gICAgdmFyIGN1cnJlbnRGaWxlID0gbnVsbDtcbiAgICB2YXIgY3VycmVudEJsb2NrID0gbnVsbDtcbiAgICB2YXIgb2xkTGluZSA9IG51bGw7XG4gICAgdmFyIG9sZExpbmUyID0gbnVsbDtcbiAgICB2YXIgbmV3TGluZSA9IG51bGw7XG4gICAgdmFyIHBvc3NpYmxlT2xkTmFtZSA9IG51bGw7XG4gICAgdmFyIHBvc3NpYmxlTmV3TmFtZSA9IG51bGw7XG4gICAgdmFyIG9sZEZpbGVOYW1lSGVhZGVyID0gJy0tLSAnO1xuICAgIHZhciBuZXdGaWxlTmFtZUhlYWRlciA9ICcrKysgJztcbiAgICB2YXIgaHVua0hlYWRlclByZWZpeCA9ICdAQCc7XG4gICAgdmFyIG9sZE1vZGUgPSAvXm9sZCBtb2RlIChcXGR7Nn0pLztcbiAgICB2YXIgbmV3TW9kZSA9IC9ebmV3IG1vZGUgKFxcZHs2fSkvO1xuICAgIHZhciBkZWxldGVkRmlsZU1vZGUgPSAvXmRlbGV0ZWQgZmlsZSBtb2RlIChcXGR7Nn0pLztcbiAgICB2YXIgbmV3RmlsZU1vZGUgPSAvXm5ldyBmaWxlIG1vZGUgKFxcZHs2fSkvO1xuICAgIHZhciBjb3B5RnJvbSA9IC9eY29weSBmcm9tIFwiPyguKylcIj8vO1xuICAgIHZhciBjb3B5VG8gPSAvXmNvcHkgdG8gXCI/KC4rKVwiPy87XG4gICAgdmFyIHJlbmFtZUZyb20gPSAvXnJlbmFtZSBmcm9tIFwiPyguKylcIj8vO1xuICAgIHZhciByZW5hbWVUbyA9IC9ecmVuYW1lIHRvIFwiPyguKylcIj8vO1xuICAgIHZhciBzaW1pbGFyaXR5SW5kZXggPSAvXnNpbWlsYXJpdHkgaW5kZXggKFxcZCspJS87XG4gICAgdmFyIGRpc3NpbWlsYXJpdHlJbmRleCA9IC9eZGlzc2ltaWxhcml0eSBpbmRleCAoXFxkKyklLztcbiAgICB2YXIgaW5kZXggPSAvXmluZGV4IChbXFxkYS16XSspXFwuXFwuKFtcXGRhLXpdKylcXHMqKFxcZHs2fSk/LztcbiAgICB2YXIgYmluYXJ5RmlsZXMgPSAvXkJpbmFyeSBmaWxlcyAoLiopIGFuZCAoLiopIGRpZmZlci87XG4gICAgdmFyIGJpbmFyeURpZmYgPSAvXkdJVCBiaW5hcnkgcGF0Y2gvO1xuICAgIHZhciBjb21iaW5lZEluZGV4ID0gL15pbmRleCAoW1xcZGEtel0rKSwoW1xcZGEtel0rKVxcLlxcLihbXFxkYS16XSspLztcbiAgICB2YXIgY29tYmluZWRNb2RlID0gL15tb2RlIChcXGR7Nn0pLChcXGR7Nn0pXFwuXFwuKFxcZHs2fSkvO1xuICAgIHZhciBjb21iaW5lZE5ld0ZpbGUgPSAvXm5ldyBmaWxlIG1vZGUgKFxcZHs2fSkvO1xuICAgIHZhciBjb21iaW5lZERlbGV0ZWRGaWxlID0gL15kZWxldGVkIGZpbGUgbW9kZSAoXFxkezZ9KSwoXFxkezZ9KS87XG4gICAgdmFyIGRpZmZMaW5lcyA9IGRpZmZJbnB1dFxuICAgICAgICAucmVwbGFjZSgvXFxcXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlL2csICcnKVxuICAgICAgICAucmVwbGFjZSgvXFxyXFxuPy9nLCAnXFxuJylcbiAgICAgICAgLnNwbGl0KCdcXG4nKTtcbiAgICBmdW5jdGlvbiBzYXZlQmxvY2soKSB7XG4gICAgICAgIGlmIChjdXJyZW50QmxvY2sgIT09IG51bGwgJiYgY3VycmVudEZpbGUgIT09IG51bGwpIHtcbiAgICAgICAgICAgIGN1cnJlbnRGaWxlLmJsb2Nrcy5wdXNoKGN1cnJlbnRCbG9jayk7XG4gICAgICAgICAgICBjdXJyZW50QmxvY2sgPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxuICAgIGZ1bmN0aW9uIHNhdmVGaWxlKCkge1xuICAgICAgICBpZiAoY3VycmVudEZpbGUgIT09IG51bGwpIHtcbiAgICAgICAgICAgIGlmICghY3VycmVudEZpbGUub2xkTmFtZSAmJiBwb3NzaWJsZU9sZE5hbWUgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICBjdXJyZW50RmlsZS5vbGROYW1lID0gcG9zc2libGVPbGROYW1lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCFjdXJyZW50RmlsZS5uZXdOYW1lICYmIHBvc3NpYmxlTmV3TmFtZSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIGN1cnJlbnRGaWxlLm5ld05hbWUgPSBwb3NzaWJsZU5ld05hbWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoY3VycmVudEZpbGUubmV3TmFtZSkge1xuICAgICAgICAgICAgICAgIGZpbGVzLnB1c2goY3VycmVudEZpbGUpO1xuICAgICAgICAgICAgICAgIGN1cnJlbnRGaWxlID0gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBwb3NzaWJsZU9sZE5hbWUgPSBudWxsO1xuICAgICAgICBwb3NzaWJsZU5ld05hbWUgPSBudWxsO1xuICAgIH1cbiAgICBmdW5jdGlvbiBzdGFydEZpbGUoKSB7XG4gICAgICAgIHNhdmVCbG9jaygpO1xuICAgICAgICBzYXZlRmlsZSgpO1xuICAgICAgICBjdXJyZW50RmlsZSA9IHtcbiAgICAgICAgICAgIGJsb2NrczogW10sXG4gICAgICAgICAgICBkZWxldGVkTGluZXM6IDAsXG4gICAgICAgICAgICBhZGRlZExpbmVzOiAwLFxuICAgICAgICB9O1xuICAgIH1cbiAgICBmdW5jdGlvbiBzdGFydEJsb2NrKGxpbmUpIHtcbiAgICAgICAgc2F2ZUJsb2NrKCk7XG4gICAgICAgIHZhciB2YWx1ZXM7XG4gICAgICAgIGlmIChjdXJyZW50RmlsZSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgaWYgKCh2YWx1ZXMgPSAvXkBAIC0oXFxkKykoPzosXFxkKyk/IFxcKyhcXGQrKSg/OixcXGQrKT8gQEAuKi8uZXhlYyhsaW5lKSkpIHtcbiAgICAgICAgICAgICAgICBjdXJyZW50RmlsZS5pc0NvbWJpbmVkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgb2xkTGluZSA9IHBhcnNlSW50KHZhbHVlc1sxXSwgMTApO1xuICAgICAgICAgICAgICAgIG5ld0xpbmUgPSBwYXJzZUludCh2YWx1ZXNbMl0sIDEwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKCh2YWx1ZXMgPSAvXkBAQCAtKFxcZCspKD86LFxcZCspPyAtKFxcZCspKD86LFxcZCspPyBcXCsoXFxkKykoPzosXFxkKyk/IEBAQC4qLy5leGVjKGxpbmUpKSkge1xuICAgICAgICAgICAgICAgIGN1cnJlbnRGaWxlLmlzQ29tYmluZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIG9sZExpbmUgPSBwYXJzZUludCh2YWx1ZXNbMV0sIDEwKTtcbiAgICAgICAgICAgICAgICBvbGRMaW5lMiA9IHBhcnNlSW50KHZhbHVlc1syXSwgMTApO1xuICAgICAgICAgICAgICAgIG5ld0xpbmUgPSBwYXJzZUludCh2YWx1ZXNbM10sIDEwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGlmIChsaW5lLnN0YXJ0c1dpdGgoaHVua0hlYWRlclByZWZpeCkpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcignRmFpbGVkIHRvIHBhcnNlIGxpbmVzLCBzdGFydGluZyBpbiAwIScpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBvbGRMaW5lID0gMDtcbiAgICAgICAgICAgICAgICBuZXdMaW5lID0gMDtcbiAgICAgICAgICAgICAgICBjdXJyZW50RmlsZS5pc0NvbWJpbmVkID0gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgY3VycmVudEJsb2NrID0ge1xuICAgICAgICAgICAgbGluZXM6IFtdLFxuICAgICAgICAgICAgb2xkU3RhcnRMaW5lOiBvbGRMaW5lLFxuICAgICAgICAgICAgb2xkU3RhcnRMaW5lMjogb2xkTGluZTIsXG4gICAgICAgICAgICBuZXdTdGFydExpbmU6IG5ld0xpbmUsXG4gICAgICAgICAgICBoZWFkZXI6IGxpbmUsXG4gICAgICAgIH07XG4gICAgfVxuICAgIGZ1bmN0aW9uIGNyZWF0ZUxpbmUobGluZSkge1xuICAgICAgICBpZiAoY3VycmVudEZpbGUgPT09IG51bGwgfHwgY3VycmVudEJsb2NrID09PSBudWxsIHx8IG9sZExpbmUgPT09IG51bGwgfHwgbmV3TGluZSA9PT0gbnVsbClcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgdmFyIGN1cnJlbnRMaW5lID0ge1xuICAgICAgICAgICAgY29udGVudDogbGluZSxcbiAgICAgICAgfTtcbiAgICAgICAgdmFyIGFkZGVkUHJlZml4ZXMgPSBjdXJyZW50RmlsZS5pc0NvbWJpbmVkID8gWycrICcsICcgKycsICcrKyddIDogWycrJ107XG4gICAgICAgIHZhciBkZWxldGVkUHJlZml4ZXMgPSBjdXJyZW50RmlsZS5pc0NvbWJpbmVkID8gWyctICcsICcgLScsICctLSddIDogWyctJ107XG4gICAgICAgIGlmIChzdGFydHNXaXRoQW55KGxpbmUsIGFkZGVkUHJlZml4ZXMpKSB7XG4gICAgICAgICAgICBjdXJyZW50RmlsZS5hZGRlZExpbmVzKys7XG4gICAgICAgICAgICBjdXJyZW50TGluZS50eXBlID0gTGluZVR5cGUuSU5TRVJUO1xuICAgICAgICAgICAgY3VycmVudExpbmUub2xkTnVtYmVyID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgY3VycmVudExpbmUubmV3TnVtYmVyID0gbmV3TGluZSsrO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKHN0YXJ0c1dpdGhBbnkobGluZSwgZGVsZXRlZFByZWZpeGVzKSkge1xuICAgICAgICAgICAgY3VycmVudEZpbGUuZGVsZXRlZExpbmVzKys7XG4gICAgICAgICAgICBjdXJyZW50TGluZS50eXBlID0gTGluZVR5cGUuREVMRVRFO1xuICAgICAgICAgICAgY3VycmVudExpbmUub2xkTnVtYmVyID0gb2xkTGluZSsrO1xuICAgICAgICAgICAgY3VycmVudExpbmUubmV3TnVtYmVyID0gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgY3VycmVudExpbmUudHlwZSA9IExpbmVUeXBlLkNPTlRFWFQ7XG4gICAgICAgICAgICBjdXJyZW50TGluZS5vbGROdW1iZXIgPSBvbGRMaW5lKys7XG4gICAgICAgICAgICBjdXJyZW50TGluZS5uZXdOdW1iZXIgPSBuZXdMaW5lKys7XG4gICAgICAgIH1cbiAgICAgICAgY3VycmVudEJsb2NrLmxpbmVzLnB1c2goY3VycmVudExpbmUpO1xuICAgIH1cbiAgICBmdW5jdGlvbiBleGlzdEh1bmtIZWFkZXIobGluZSwgbGluZUlkeCkge1xuICAgICAgICB2YXIgaWR4ID0gbGluZUlkeDtcbiAgICAgICAgd2hpbGUgKGlkeCA8IGRpZmZMaW5lcy5sZW5ndGggLSAzKSB7XG4gICAgICAgICAgICBpZiAobGluZS5zdGFydHNXaXRoKCdkaWZmJykpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoZGlmZkxpbmVzW2lkeF0uc3RhcnRzV2l0aChvbGRGaWxlTmFtZUhlYWRlcikgJiZcbiAgICAgICAgICAgICAgICBkaWZmTGluZXNbaWR4ICsgMV0uc3RhcnRzV2l0aChuZXdGaWxlTmFtZUhlYWRlcikgJiZcbiAgICAgICAgICAgICAgICBkaWZmTGluZXNbaWR4ICsgMl0uc3RhcnRzV2l0aChodW5rSGVhZGVyUHJlZml4KSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWR4Kys7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBkaWZmTGluZXMuZm9yRWFjaChmdW5jdGlvbiAobGluZSwgbGluZUluZGV4KSB7XG4gICAgICAgIGlmICghbGluZSB8fCBsaW5lLnN0YXJ0c1dpdGgoJyonKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHZhciB2YWx1ZXM7XG4gICAgICAgIHZhciBwcmV2TGluZSA9IGRpZmZMaW5lc1tsaW5lSW5kZXggLSAxXTtcbiAgICAgICAgdmFyIG54dExpbmUgPSBkaWZmTGluZXNbbGluZUluZGV4ICsgMV07XG4gICAgICAgIHZhciBhZnRlck54dExpbmUgPSBkaWZmTGluZXNbbGluZUluZGV4ICsgMl07XG4gICAgICAgIGlmIChsaW5lLnN0YXJ0c1dpdGgoJ2RpZmYnKSkge1xuICAgICAgICAgICAgc3RhcnRGaWxlKCk7XG4gICAgICAgICAgICB2YXIgZ2l0RGlmZlN0YXJ0ID0gL15kaWZmIC0tZ2l0IFwiPyguKylcIj8gXCI/KC4rKVwiPy87XG4gICAgICAgICAgICBpZiAoKHZhbHVlcyA9IGdpdERpZmZTdGFydC5leGVjKGxpbmUpKSkge1xuICAgICAgICAgICAgICAgIHBvc3NpYmxlT2xkTmFtZSA9IGdldEZpbGVuYW1lKHZhbHVlc1sxXSwgdW5kZWZpbmVkLCBjb25maWcuZHN0UHJlZml4KTtcbiAgICAgICAgICAgICAgICBwb3NzaWJsZU5ld05hbWUgPSBnZXRGaWxlbmFtZSh2YWx1ZXNbMl0sIHVuZGVmaW5lZCwgY29uZmlnLnNyY1ByZWZpeCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoY3VycmVudEZpbGUgPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1doZXJlIGlzIG15IGZpbGUgISEhJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjdXJyZW50RmlsZS5pc0dpdERpZmYgPSB0cnVlO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmICghY3VycmVudEZpbGUgfHxcbiAgICAgICAgICAgICghY3VycmVudEZpbGUuaXNHaXREaWZmICYmXG4gICAgICAgICAgICAgICAgY3VycmVudEZpbGUgJiZcbiAgICAgICAgICAgICAgICBsaW5lLnN0YXJ0c1dpdGgob2xkRmlsZU5hbWVIZWFkZXIpICYmXG4gICAgICAgICAgICAgICAgbnh0TGluZS5zdGFydHNXaXRoKG5ld0ZpbGVOYW1lSGVhZGVyKSAmJlxuICAgICAgICAgICAgICAgIGFmdGVyTnh0TGluZS5zdGFydHNXaXRoKGh1bmtIZWFkZXJQcmVmaXgpKSkge1xuICAgICAgICAgICAgc3RhcnRGaWxlKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKChsaW5lLnN0YXJ0c1dpdGgob2xkRmlsZU5hbWVIZWFkZXIpICYmIG54dExpbmUuc3RhcnRzV2l0aChuZXdGaWxlTmFtZUhlYWRlcikpIHx8XG4gICAgICAgICAgICAobGluZS5zdGFydHNXaXRoKG5ld0ZpbGVOYW1lSGVhZGVyKSAmJiBwcmV2TGluZS5zdGFydHNXaXRoKG9sZEZpbGVOYW1lSGVhZGVyKSkpIHtcbiAgICAgICAgICAgIGlmIChjdXJyZW50RmlsZSAmJlxuICAgICAgICAgICAgICAgICFjdXJyZW50RmlsZS5vbGROYW1lICYmXG4gICAgICAgICAgICAgICAgbGluZS5zdGFydHNXaXRoKCctLS0gJykgJiZcbiAgICAgICAgICAgICAgICAodmFsdWVzID0gZ2V0U3JjRmlsZW5hbWUobGluZSwgY29uZmlnLnNyY1ByZWZpeCkpKSB7XG4gICAgICAgICAgICAgICAgY3VycmVudEZpbGUub2xkTmFtZSA9IHZhbHVlcztcbiAgICAgICAgICAgICAgICBjdXJyZW50RmlsZS5sYW5ndWFnZSA9IGdldEV4dGVuc2lvbihjdXJyZW50RmlsZS5vbGROYW1lLCBjdXJyZW50RmlsZS5sYW5ndWFnZSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGN1cnJlbnRGaWxlICYmXG4gICAgICAgICAgICAgICAgIWN1cnJlbnRGaWxlLm5ld05hbWUgJiZcbiAgICAgICAgICAgICAgICBsaW5lLnN0YXJ0c1dpdGgoJysrKyAnKSAmJlxuICAgICAgICAgICAgICAgICh2YWx1ZXMgPSBnZXREc3RGaWxlbmFtZShsaW5lLCBjb25maWcuZHN0UHJlZml4KSkpIHtcbiAgICAgICAgICAgICAgICBjdXJyZW50RmlsZS5uZXdOYW1lID0gdmFsdWVzO1xuICAgICAgICAgICAgICAgIGN1cnJlbnRGaWxlLmxhbmd1YWdlID0gZ2V0RXh0ZW5zaW9uKGN1cnJlbnRGaWxlLm5ld05hbWUsIGN1cnJlbnRGaWxlLmxhbmd1YWdlKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGN1cnJlbnRGaWxlICYmXG4gICAgICAgICAgICAobGluZS5zdGFydHNXaXRoKGh1bmtIZWFkZXJQcmVmaXgpIHx8XG4gICAgICAgICAgICAgICAgKGN1cnJlbnRGaWxlLmlzR2l0RGlmZiAmJiBjdXJyZW50RmlsZS5vbGROYW1lICYmIGN1cnJlbnRGaWxlLm5ld05hbWUgJiYgIWN1cnJlbnRCbG9jaykpKSB7XG4gICAgICAgICAgICBzdGFydEJsb2NrKGxpbmUpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmIChjdXJyZW50QmxvY2sgJiYgKGxpbmUuc3RhcnRzV2l0aCgnKycpIHx8IGxpbmUuc3RhcnRzV2l0aCgnLScpIHx8IGxpbmUuc3RhcnRzV2l0aCgnICcpKSkge1xuICAgICAgICAgICAgY3JlYXRlTGluZShsaW5lKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB2YXIgZG9lc05vdEV4aXN0SHVua0hlYWRlciA9ICFleGlzdEh1bmtIZWFkZXIobGluZSwgbGluZUluZGV4KTtcbiAgICAgICAgaWYgKGN1cnJlbnRGaWxlID09PSBudWxsKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1doZXJlIGlzIG15IGZpbGUgISEhJyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCh2YWx1ZXMgPSBvbGRNb2RlLmV4ZWMobGluZSkpKSB7XG4gICAgICAgICAgICBjdXJyZW50RmlsZS5vbGRNb2RlID0gdmFsdWVzWzFdO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKCh2YWx1ZXMgPSBuZXdNb2RlLmV4ZWMobGluZSkpKSB7XG4gICAgICAgICAgICBjdXJyZW50RmlsZS5uZXdNb2RlID0gdmFsdWVzWzFdO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKCh2YWx1ZXMgPSBkZWxldGVkRmlsZU1vZGUuZXhlYyhsaW5lKSkpIHtcbiAgICAgICAgICAgIGN1cnJlbnRGaWxlLmRlbGV0ZWRGaWxlTW9kZSA9IHZhbHVlc1sxXTtcbiAgICAgICAgICAgIGN1cnJlbnRGaWxlLmlzRGVsZXRlZCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoKHZhbHVlcyA9IG5ld0ZpbGVNb2RlLmV4ZWMobGluZSkpKSB7XG4gICAgICAgICAgICBjdXJyZW50RmlsZS5uZXdGaWxlTW9kZSA9IHZhbHVlc1sxXTtcbiAgICAgICAgICAgIGN1cnJlbnRGaWxlLmlzTmV3ID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmICgodmFsdWVzID0gY29weUZyb20uZXhlYyhsaW5lKSkpIHtcbiAgICAgICAgICAgIGlmIChkb2VzTm90RXhpc3RIdW5rSGVhZGVyKSB7XG4gICAgICAgICAgICAgICAgY3VycmVudEZpbGUub2xkTmFtZSA9IHZhbHVlc1sxXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGN1cnJlbnRGaWxlLmlzQ29weSA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoKHZhbHVlcyA9IGNvcHlUby5leGVjKGxpbmUpKSkge1xuICAgICAgICAgICAgaWYgKGRvZXNOb3RFeGlzdEh1bmtIZWFkZXIpIHtcbiAgICAgICAgICAgICAgICBjdXJyZW50RmlsZS5uZXdOYW1lID0gdmFsdWVzWzFdO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY3VycmVudEZpbGUuaXNDb3B5ID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmICgodmFsdWVzID0gcmVuYW1lRnJvbS5leGVjKGxpbmUpKSkge1xuICAgICAgICAgICAgaWYgKGRvZXNOb3RFeGlzdEh1bmtIZWFkZXIpIHtcbiAgICAgICAgICAgICAgICBjdXJyZW50RmlsZS5vbGROYW1lID0gdmFsdWVzWzFdO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY3VycmVudEZpbGUuaXNSZW5hbWUgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKCh2YWx1ZXMgPSByZW5hbWVUby5leGVjKGxpbmUpKSkge1xuICAgICAgICAgICAgaWYgKGRvZXNOb3RFeGlzdEh1bmtIZWFkZXIpIHtcbiAgICAgICAgICAgICAgICBjdXJyZW50RmlsZS5uZXdOYW1lID0gdmFsdWVzWzFdO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY3VycmVudEZpbGUuaXNSZW5hbWUgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKCh2YWx1ZXMgPSBiaW5hcnlGaWxlcy5leGVjKGxpbmUpKSkge1xuICAgICAgICAgICAgY3VycmVudEZpbGUuaXNCaW5hcnkgPSB0cnVlO1xuICAgICAgICAgICAgY3VycmVudEZpbGUub2xkTmFtZSA9IGdldEZpbGVuYW1lKHZhbHVlc1sxXSwgdW5kZWZpbmVkLCBjb25maWcuc3JjUHJlZml4KTtcbiAgICAgICAgICAgIGN1cnJlbnRGaWxlLm5ld05hbWUgPSBnZXRGaWxlbmFtZSh2YWx1ZXNbMl0sIHVuZGVmaW5lZCwgY29uZmlnLmRzdFByZWZpeCk7XG4gICAgICAgICAgICBzdGFydEJsb2NrKCdCaW5hcnkgZmlsZScpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGJpbmFyeURpZmYudGVzdChsaW5lKSkge1xuICAgICAgICAgICAgY3VycmVudEZpbGUuaXNCaW5hcnkgPSB0cnVlO1xuICAgICAgICAgICAgc3RhcnRCbG9jayhsaW5lKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmICgodmFsdWVzID0gc2ltaWxhcml0eUluZGV4LmV4ZWMobGluZSkpKSB7XG4gICAgICAgICAgICBjdXJyZW50RmlsZS51bmNoYW5nZWRQZXJjZW50YWdlID0gcGFyc2VJbnQodmFsdWVzWzFdLCAxMCk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoKHZhbHVlcyA9IGRpc3NpbWlsYXJpdHlJbmRleC5leGVjKGxpbmUpKSkge1xuICAgICAgICAgICAgY3VycmVudEZpbGUuY2hhbmdlZFBlcmNlbnRhZ2UgPSBwYXJzZUludCh2YWx1ZXNbMV0sIDEwKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmICgodmFsdWVzID0gaW5kZXguZXhlYyhsaW5lKSkpIHtcbiAgICAgICAgICAgIGN1cnJlbnRGaWxlLmNoZWNrc3VtQmVmb3JlID0gdmFsdWVzWzFdO1xuICAgICAgICAgICAgY3VycmVudEZpbGUuY2hlY2tzdW1BZnRlciA9IHZhbHVlc1syXTtcbiAgICAgICAgICAgIHZhbHVlc1szXSAmJiAoY3VycmVudEZpbGUubW9kZSA9IHZhbHVlc1szXSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoKHZhbHVlcyA9IGNvbWJpbmVkSW5kZXguZXhlYyhsaW5lKSkpIHtcbiAgICAgICAgICAgIGN1cnJlbnRGaWxlLmNoZWNrc3VtQmVmb3JlID0gW3ZhbHVlc1syXSwgdmFsdWVzWzNdXTtcbiAgICAgICAgICAgIGN1cnJlbnRGaWxlLmNoZWNrc3VtQWZ0ZXIgPSB2YWx1ZXNbMV07XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoKHZhbHVlcyA9IGNvbWJpbmVkTW9kZS5leGVjKGxpbmUpKSkge1xuICAgICAgICAgICAgY3VycmVudEZpbGUub2xkTW9kZSA9IFt2YWx1ZXNbMl0sIHZhbHVlc1szXV07XG4gICAgICAgICAgICBjdXJyZW50RmlsZS5uZXdNb2RlID0gdmFsdWVzWzFdO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKCh2YWx1ZXMgPSBjb21iaW5lZE5ld0ZpbGUuZXhlYyhsaW5lKSkpIHtcbiAgICAgICAgICAgIGN1cnJlbnRGaWxlLm5ld0ZpbGVNb2RlID0gdmFsdWVzWzFdO1xuICAgICAgICAgICAgY3VycmVudEZpbGUuaXNOZXcgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKCh2YWx1ZXMgPSBjb21iaW5lZERlbGV0ZWRGaWxlLmV4ZWMobGluZSkpKSB7XG4gICAgICAgICAgICBjdXJyZW50RmlsZS5kZWxldGVkRmlsZU1vZGUgPSB2YWx1ZXNbMV07XG4gICAgICAgICAgICBjdXJyZW50RmlsZS5pc0RlbGV0ZWQgPSB0cnVlO1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgc2F2ZUJsb2NrKCk7XG4gICAgc2F2ZUZpbGUoKTtcbiAgICByZXR1cm4gZmlsZXM7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kaWZmLXBhcnNlci5qcy5tYXAiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/diff2html/lib-esm/diff-parser.js\n"); /***/ }), /***/ "./node_modules/diff2html/lib-esm/diff2html-templates.js": /*!***************************************************************!*\ !*** ./node_modules/diff2html/lib-esm/diff2html-templates.js ***! \***************************************************************/ /*! exports provided: defaultTemplates */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"defaultTemplates\", function() { return defaultTemplates; });\n/* harmony import */ var hogan_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! hogan.js */ \"./node_modules/hogan.js/lib/hogan.js\");\n/* harmony import */ var hogan_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(hogan_js__WEBPACK_IMPORTED_MODULE_0__);\n\nvar defaultTemplates = {};\ndefaultTemplates[\"file-summary-line\"] = new hogan_js__WEBPACK_IMPORTED_MODULE_0__[\"Template\"]({ code: function (c, p, i) { var t = this; t.b(i = i || \"\"); t.b(\"
  • \"); t.b(\"\\n\" + i); t.b(\" \"); t.b(\"\\n\" + i); t.b(t.rp(\"\"); t.b(t.v(t.f(\"fileName\", c, p, 0))); t.b(\"\"); t.b(\"\\n\" + i); t.b(\" \"); t.b(\"\\n\" + i); t.b(\" \"); t.b(t.v(t.f(\"addedLines\", c, p, 0))); t.b(\"\"); t.b(\"\\n\" + i); t.b(\" \"); t.b(t.v(t.f(\"deletedLines\", c, p, 0))); t.b(\"\"); t.b(\"\\n\" + i); t.b(\" \"); t.b(\"\\n\" + i); t.b(\" \"); t.b(\"\\n\" + i); t.b(\"
  • \"); return t.fl(); }, partials: { \"\"); t.b(\"\\n\" + i); t.b(\"
    \"); t.b(\"\\n\" + i); t.b(\" Files changed (\"); t.b(t.v(t.f(\"filesNumber\", c, p, 0))); t.b(\")\"); t.b(\"\\n\" + i); t.b(\" hide\"); t.b(\"\\n\" + i); t.b(\" show\"); t.b(\"\\n\" + i); t.b(\"
    \"); t.b(\"\\n\" + i); t.b(\"
      \"); t.b(\"\\n\" + i); t.b(\" \"); t.b(t.t(t.f(\"files\", c, p, 0))); t.b(\"\\n\" + i); t.b(\"
    \"); t.b(\"\\n\" + i); t.b(\"\"); return t.fl(); }, partials: {}, subs: {} });\ndefaultTemplates[\"generic-block-header\"] = new hogan_js__WEBPACK_IMPORTED_MODULE_0__[\"Template\"]({ code: function (c, p, i) { var t = this; t.b(i = i || \"\"); t.b(\"\"); t.b(\"\\n\" + i); t.b(\" \"); t.b(\"\\n\" + i); t.b(\" \"); t.b(\"\\n\" + i); t.b(\"
    \"); t.b(t.t(t.f(\"blockHeader\", c, p, 0))); t.b(\"
    \"); t.b(\"\\n\" + i); t.b(\" \"); t.b(\"\\n\" + i); t.b(\"\"); return t.fl(); }, partials: {}, subs: {} });\ndefaultTemplates[\"generic-empty-diff\"] = new hogan_js__WEBPACK_IMPORTED_MODULE_0__[\"Template\"]({ code: function (c, p, i) { var t = this; t.b(i = i || \"\"); t.b(\"\"); t.b(\"\\n\" + i); t.b(\" \"); t.b(\"\\n\" + i); t.b(\"
    \"); t.b(\"\\n\" + i); t.b(\" File without changes\"); t.b(\"\\n\" + i); t.b(\"
    \"); t.b(\"\\n\" + i); t.b(\" \"); t.b(\"\\n\" + i); t.b(\"\"); return t.fl(); }, partials: {}, subs: {} });\ndefaultTemplates[\"generic-file-path\"] = new hogan_js__WEBPACK_IMPORTED_MODULE_0__[\"Template\"]({ code: function (c, p, i) { var t = this; t.b(i = i || \"\"); t.b(\"\"); t.b(\"\\n\" + i); t.b(t.rp(\"\"); t.b(t.v(t.f(\"fileDiffName\", c, p, 0))); t.b(\"\"); t.b(\"\\n\" + i); t.b(t.rp(\"\"); return t.fl(); }, partials: { \"\"); t.b(\"\\n\" + i); t.b(\" \"); t.b(\"\\n\" + i); t.b(\" \"); t.b(t.t(t.f(\"lineNumber\", c, p, 0))); t.b(\"\\n\" + i); t.b(\" \"); t.b(\"\\n\" + i); t.b(\" \"); t.b(\"\\n\" + i); t.b(\"
    \"); t.b(\"\\n\" + i); if (t.s(t.f(\"prefix\", c, p, 1), c, p, 0, 171, 247, \"{{ }}\")) {\n t.rs(c, p, function (c, p, t) { t.b(\" \"); t.b(t.t(t.f(\"prefix\", c, p, 0))); t.b(\"\"); t.b(\"\\n\" + i); });\n c.pop();\n } if (!t.s(t.f(\"prefix\", c, p, 1), c, p, 1, 0, 0, \"\")) {\n t.b(\"  \");\n t.b(\"\\n\" + i);\n } ; if (t.s(t.f(\"content\", c, p, 1), c, p, 0, 380, 454, \"{{ }}\")) {\n t.rs(c, p, function (c, p, t) { t.b(\" \"); t.b(t.t(t.f(\"content\", c, p, 0))); t.b(\"\"); t.b(\"\\n\" + i); });\n c.pop();\n } if (!t.s(t.f(\"content\", c, p, 1), c, p, 1, 0, 0, \"\")) {\n t.b(\"
    \");\n t.b(\"\\n\" + i);\n } ; t.b(\"
    \"); t.b(\"\\n\" + i); t.b(\" \"); t.b(\"\\n\" + i); t.b(\"\"); return t.fl(); }, partials: {}, subs: {} });\ndefaultTemplates[\"generic-wrapper\"] = new hogan_js__WEBPACK_IMPORTED_MODULE_0__[\"Template\"]({ code: function (c, p, i) { var t = this; t.b(i = i || \"\"); t.b(\"
    \"); t.b(\"\\n\" + i); t.b(\" \"); t.b(t.t(t.f(\"content\", c, p, 0))); t.b(\"\\n\" + i); t.b(\"
    \"); return t.fl(); }, partials: {}, subs: {} });\ndefaultTemplates[\"icon-file-added\"] = new hogan_js__WEBPACK_IMPORTED_MODULE_0__[\"Template\"]({ code: function (c, p, i) { var t = this; t.b(i = i || \"\"); t.b(\"\"); t.b(\"\\n\" + i); t.b(\" \"); t.b(\"\\n\" + i); t.b(\"\"); return t.fl(); }, partials: {}, subs: {} });\ndefaultTemplates[\"icon-file-changed\"] = new hogan_js__WEBPACK_IMPORTED_MODULE_0__[\"Template\"]({ code: function (c, p, i) { var t = this; t.b(i = i || \"\"); t.b(\"\"); t.b(\"\\n\" + i); t.b(\" \"); t.b(\"\\n\" + i); t.b(\"\"); return t.fl(); }, partials: {}, subs: {} });\ndefaultTemplates[\"icon-file-deleted\"] = new hogan_js__WEBPACK_IMPORTED_MODULE_0__[\"Template\"]({ code: function (c, p, i) { var t = this; t.b(i = i || \"\"); t.b(\"\"); t.b(\"\\n\" + i); t.b(\" \"); t.b(\"\\n\" + i); t.b(\"\"); return t.fl(); }, partials: {}, subs: {} });\ndefaultTemplates[\"icon-file-renamed\"] = new hogan_js__WEBPACK_IMPORTED_MODULE_0__[\"Template\"]({ code: function (c, p, i) { var t = this; t.b(i = i || \"\"); t.b(\"\"); t.b(\"\\n\" + i); t.b(\" \"); t.b(\"\\n\" + i); t.b(\"\"); return t.fl(); }, partials: {}, subs: {} });\ndefaultTemplates[\"icon-file\"] = new hogan_js__WEBPACK_IMPORTED_MODULE_0__[\"Template\"]({ code: function (c, p, i) { var t = this; t.b(i = i || \"\"); t.b(\"\"); t.b(\"\\n\" + i); t.b(\" \"); t.b(\"\\n\" + i); t.b(\"\"); return t.fl(); }, partials: {}, subs: {} });\ndefaultTemplates[\"line-by-line-file-diff\"] = new hogan_js__WEBPACK_IMPORTED_MODULE_0__[\"Template\"]({ code: function (c, p, i) { var t = this; t.b(i = i || \"\"); t.b(\"
    \"); t.b(\"\\n\" + i); t.b(\"
    \"); t.b(\"\\n\" + i); t.b(\" \"); t.b(t.t(t.f(\"filePath\", c, p, 0))); t.b(\"\\n\" + i); t.b(\"
    \"); t.b(\"\\n\" + i); t.b(\"
    \"); t.b(\"\\n\" + i); t.b(\"
    \"); t.b(\"\\n\" + i); t.b(\" \"); t.b(\"\\n\" + i); t.b(\" \"); t.b(\"\\n\" + i); t.b(\" \"); t.b(t.t(t.f(\"diffs\", c, p, 0))); t.b(\"\\n\" + i); t.b(\" \"); t.b(\"\\n\" + i); t.b(\"
    \"); t.b(\"\\n\" + i); t.b(\"
    \"); t.b(\"\\n\" + i); t.b(\"
    \"); t.b(\"\\n\" + i); t.b(\"
    \"); return t.fl(); }, partials: {}, subs: {} });\ndefaultTemplates[\"line-by-line-numbers\"] = new hogan_js__WEBPACK_IMPORTED_MODULE_0__[\"Template\"]({ code: function (c, p, i) { var t = this; t.b(i = i || \"\"); t.b(\"
    \"); t.b(t.v(t.f(\"oldNumber\", c, p, 0))); t.b(\"
    \"); t.b(\"\\n\" + i); t.b(\"
    \"); t.b(t.v(t.f(\"newNumber\", c, p, 0))); t.b(\"
    \"); return t.fl(); }, partials: {}, subs: {} });\ndefaultTemplates[\"side-by-side-file-diff\"] = new hogan_js__WEBPACK_IMPORTED_MODULE_0__[\"Template\"]({ code: function (c, p, i) { var t = this; t.b(i = i || \"\"); t.b(\"
    \"); t.b(\"\\n\" + i); t.b(\"
    \"); t.b(\"\\n\" + i); t.b(\" \"); t.b(t.t(t.f(\"filePath\", c, p, 0))); t.b(\"\\n\" + i); t.b(\"
    \"); t.b(\"\\n\" + i); t.b(\"
    \"); t.b(\"\\n\" + i); t.b(\"
    \"); t.b(\"\\n\" + i); t.b(\"
    \"); t.b(\"\\n\" + i); t.b(\" \"); t.b(\"\\n\" + i); t.b(\" \"); t.b(\"\\n\" + i); t.b(\" \"); t.b(t.t(t.d(\"diffs.left\", c, p, 0))); t.b(\"\\n\" + i); t.b(\" \"); t.b(\"\\n\" + i); t.b(\"
    \"); t.b(\"\\n\" + i); t.b(\"
    \"); t.b(\"\\n\" + i); t.b(\"
    \"); t.b(\"\\n\" + i); t.b(\"
    \"); t.b(\"\\n\" + i); t.b(\"
    \"); t.b(\"\\n\" + i); t.b(\" \"); t.b(\"\\n\" + i); t.b(\" \"); t.b(\"\\n\" + i); t.b(\" \"); t.b(t.t(t.d(\"diffs.right\", c, p, 0))); t.b(\"\\n\" + i); t.b(\" \"); t.b(\"\\n\" + i); t.b(\"
    \"); t.b(\"\\n\" + i); t.b(\"
    \"); t.b(\"\\n\" + i); t.b(\"
    \"); t.b(\"\\n\" + i); t.b(\"
    \"); t.b(\"\\n\" + i); t.b(\"
    \"); return t.fl(); }, partials: {}, subs: {} });\ndefaultTemplates[\"tag-file-added\"] = new hogan_js__WEBPACK_IMPORTED_MODULE_0__[\"Template\"]({ code: function (c, p, i) { var t = this; t.b(i = i || \"\"); t.b(\"ADDED\"); return t.fl(); }, partials: {}, subs: {} });\ndefaultTemplates[\"tag-file-changed\"] = new hogan_js__WEBPACK_IMPORTED_MODULE_0__[\"Template\"]({ code: function (c, p, i) { var t = this; t.b(i = i || \"\"); t.b(\"CHANGED\"); return t.fl(); }, partials: {}, subs: {} });\ndefaultTemplates[\"tag-file-deleted\"] = new hogan_js__WEBPACK_IMPORTED_MODULE_0__[\"Template\"]({ code: function (c, p, i) { var t = this; t.b(i = i || \"\"); t.b(\"DELETED\"); return t.fl(); }, partials: {}, subs: {} });\ndefaultTemplates[\"tag-file-renamed\"] = new hogan_js__WEBPACK_IMPORTED_MODULE_0__[\"Template\"]({ code: function (c, p, i) { var t = this; t.b(i = i || \"\"); t.b(\"RENAMED\"); return t.fl(); }, partials: {}, subs: {} });\n//# sourceMappingURL=diff2html-templates.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGlmZjJodG1sL2xpYi1lc20vZGlmZjJodG1sLXRlbXBsYXRlcy5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9kaWZmMmh0bWwvbGliLWVzbS9kaWZmMmh0bWwtdGVtcGxhdGVzLmpzPzc2NWEiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgSG9nYW4gZnJvbSBcImhvZ2FuLmpzXCI7XG5leHBvcnQgdmFyIGRlZmF1bHRUZW1wbGF0ZXMgPSB7fTtcbmRlZmF1bHRUZW1wbGF0ZXNbXCJmaWxlLXN1bW1hcnktbGluZVwiXSA9IG5ldyBIb2dhbi5UZW1wbGF0ZSh7IGNvZGU6IGZ1bmN0aW9uIChjLCBwLCBpKSB7IHZhciB0ID0gdGhpczsgdC5iKGkgPSBpIHx8IFwiXCIpOyB0LmIoXCI8bGkgY2xhc3M9XFxcImQyaC1maWxlLWxpc3QtbGluZVxcXCI+XCIpOyB0LmIoXCJcXG5cIiArIGkpOyB0LmIoXCIgICAgPHNwYW4gY2xhc3M9XFxcImQyaC1maWxlLW5hbWUtd3JhcHBlclxcXCI+XCIpOyB0LmIoXCJcXG5cIiArIGkpOyB0LmIodC5ycChcIjxmaWxlSWNvbjBcIiwgYywgcCwgXCIgICAgICBcIikpOyB0LmIoXCIgICAgICA8YSBocmVmPVxcXCIjXCIpOyB0LmIodC52KHQuZihcImZpbGVIdG1sSWRcIiwgYywgcCwgMCkpKTsgdC5iKFwiXFxcIiBjbGFzcz1cXFwiZDJoLWZpbGUtbmFtZVxcXCI+XCIpOyB0LmIodC52KHQuZihcImZpbGVOYW1lXCIsIGMsIHAsIDApKSk7IHQuYihcIjwvYT5cIik7IHQuYihcIlxcblwiICsgaSk7IHQuYihcIiAgICAgIDxzcGFuIGNsYXNzPVxcXCJkMmgtZmlsZS1zdGF0c1xcXCI+XCIpOyB0LmIoXCJcXG5cIiArIGkpOyB0LmIoXCIgICAgICAgICAgPHNwYW4gY2xhc3M9XFxcImQyaC1saW5lcy1hZGRlZFxcXCI+XCIpOyB0LmIodC52KHQuZihcImFkZGVkTGluZXNcIiwgYywgcCwgMCkpKTsgdC5iKFwiPC9zcGFuPlwiKTsgdC5iKFwiXFxuXCIgKyBpKTsgdC5iKFwiICAgICAgICAgIDxzcGFuIGNsYXNzPVxcXCJkMmgtbGluZXMtZGVsZXRlZFxcXCI+XCIpOyB0LmIodC52KHQuZihcImRlbGV0ZWRMaW5lc1wiLCBjLCBwLCAwKSkpOyB0LmIoXCI8L3NwYW4+XCIpOyB0LmIoXCJcXG5cIiArIGkpOyB0LmIoXCIgICAgICA8L3NwYW4+XCIpOyB0LmIoXCJcXG5cIiArIGkpOyB0LmIoXCIgICAgPC9zcGFuPlwiKTsgdC5iKFwiXFxuXCIgKyBpKTsgdC5iKFwiPC9saT5cIik7IHJldHVybiB0LmZsKCk7IH0sIHBhcnRpYWxzOiB7IFwiPGZpbGVJY29uMFwiOiB7IG5hbWU6IFwiZmlsZUljb25cIiwgcGFydGlhbHM6IHt9LCBzdWJzOiB7fSB9IH0sIHN1YnM6IHt9IH0pO1xuZGVmYXVsdFRlbXBsYXRlc1tcImZpbGUtc3VtbWFyeS13cmFwcGVyXCJdID0gbmV3IEhvZ2FuLlRlbXBsYXRlKHsgY29kZTogZnVuY3Rpb24gKGMsIHAsIGkpIHsgdmFyIHQgPSB0aGlzOyB0LmIoaSA9IGkgfHwgXCJcIik7IHQuYihcIjxkaXYgY2xhc3M9XFxcImQyaC1maWxlLWxpc3Qtd3JhcHBlclxcXCI+XCIpOyB0LmIoXCJcXG5cIiArIGkpOyB0LmIoXCIgICAgPGRpdiBjbGFzcz1cXFwiZDJoLWZpbGUtbGlzdC1oZWFkZXJcXFwiPlwiKTsgdC5iKFwiXFxuXCIgKyBpKTsgdC5iKFwiICAgICAgICA8c3BhbiBjbGFzcz1cXFwiZDJoLWZpbGUtbGlzdC10aXRsZVxcXCI+RmlsZXMgY2hhbmdlZCAoXCIpOyB0LmIodC52KHQuZihcImZpbGVzTnVtYmVyXCIsIGMsIHAsIDApKSk7IHQuYihcIik8L3NwYW4+XCIpOyB0LmIoXCJcXG5cIiArIGkpOyB0LmIoXCIgICAgICAgIDxhIGNsYXNzPVxcXCJkMmgtZmlsZS1zd2l0Y2ggZDJoLWhpZGVcXFwiPmhpZGU8L2E+XCIpOyB0LmIoXCJcXG5cIiArIGkpOyB0LmIoXCIgICAgICAgIDxhIGNsYXNzPVxcXCJkMmgtZmlsZS1zd2l0Y2ggZDJoLXNob3dcXFwiPnNob3c8L2E+XCIpOyB0LmIoXCJcXG5cIiArIGkpOyB0LmIoXCIgICAgPC9kaXY+XCIpOyB0LmIoXCJcXG5cIiArIGkpOyB0LmIoXCIgICAgPG9sIGNsYXNzPVxcXCJkMmgtZmlsZS1saXN0XFxcIj5cIik7IHQuYihcIlxcblwiICsgaSk7IHQuYihcIiAgICBcIik7IHQuYih0LnQodC5mKFwiZmlsZXNcIiwgYywgcCwgMCkpKTsgdC5iKFwiXFxuXCIgKyBpKTsgdC5iKFwiICAgIDwvb2w+XCIpOyB0LmIoXCJcXG5cIiArIGkpOyB0LmIoXCI8L2Rpdj5cIik7IHJldHVybiB0LmZsKCk7IH0sIHBhcnRpYWxzOiB7fSwgc3Viczoge30gfSk7XG5kZWZhdWx0VGVtcGxhdGVzW1wiZ2VuZXJpYy1ibG9jay1oZWFkZXJcIl0gPSBuZXcgSG9nYW4uVGVtcGxhdGUoeyBjb2RlOiBmdW5jdGlvbiAoYywgcCwgaSkgeyB2YXIgdCA9IHRoaXM7IHQuYihpID0gaSB8fCBcIlwiKTsgdC5iKFwiPHRyPlwiKTsgdC5iKFwiXFxuXCIgKyBpKTsgdC5iKFwiICAgIDx0ZCBjbGFzcz1cXFwiXCIpOyB0LmIodC52KHQuZihcImxpbmVDbGFzc1wiLCBjLCBwLCAwKSkpOyB0LmIoXCIgXCIpOyB0LmIodC52KHQuZChcIkNTU0xpbmVDbGFzcy5JTkZPXCIsIGMsIHAsIDApKSk7IHQuYihcIlxcXCI+PC90ZD5cIik7IHQuYihcIlxcblwiICsgaSk7IHQuYihcIiAgICA8dGQgY2xhc3M9XFxcIlwiKTsgdC5iKHQudih0LmQoXCJDU1NMaW5lQ2xhc3MuSU5GT1wiLCBjLCBwLCAwKSkpOyB0LmIoXCJcXFwiPlwiKTsgdC5iKFwiXFxuXCIgKyBpKTsgdC5iKFwiICAgICAgICA8ZGl2IGNsYXNzPVxcXCJcIik7IHQuYih0LnYodC5mKFwiY29udGVudENsYXNzXCIsIGMsIHAsIDApKSk7IHQuYihcIiBcIik7IHQuYih0LnYodC5kKFwiQ1NTTGluZUNsYXNzLklORk9cIiwgYywgcCwgMCkpKTsgdC5iKFwiXFxcIj5cIik7IHQuYih0LnQodC5mKFwiYmxvY2tIZWFkZXJcIiwgYywgcCwgMCkpKTsgdC5iKFwiPC9kaXY+XCIpOyB0LmIoXCJcXG5cIiArIGkpOyB0LmIoXCIgICAgPC90ZD5cIik7IHQuYihcIlxcblwiICsgaSk7IHQuYihcIjwvdHI+XCIpOyByZXR1cm4gdC5mbCgpOyB9LCBwYXJ0aWFsczoge30sIHN1YnM6IHt9IH0pO1xuZGVmYXVsdFRlbXBsYXRlc1tcImdlbmVyaWMtZW1wdHktZGlmZlwiXSA9IG5ldyBIb2dhbi5UZW1wbGF0ZSh7IGNvZGU6IGZ1bmN0aW9uIChjLCBwLCBpKSB7IHZhciB0ID0gdGhpczsgdC5iKGkgPSBpIHx8IFwiXCIpOyB0LmIoXCI8dHI+XCIpOyB0LmIoXCJcXG5cIiArIGkpOyB0LmIoXCIgICAgPHRkIGNsYXNzPVxcXCJcIik7IHQuYih0LnYodC5kKFwiQ1NTTGluZUNsYXNzLklORk9cIiwgYywgcCwgMCkpKTsgdC5iKFwiXFxcIj5cIik7IHQuYihcIlxcblwiICsgaSk7IHQuYihcIiAgICAgICAgPGRpdiBjbGFzcz1cXFwiXCIpOyB0LmIodC52KHQuZihcImNvbnRlbnRDbGFzc1wiLCBjLCBwLCAwKSkpOyB0LmIoXCIgXCIpOyB0LmIodC52KHQuZChcIkNTU0xpbmVDbGFzcy5JTkZPXCIsIGMsIHAsIDApKSk7IHQuYihcIlxcXCI+XCIpOyB0LmIoXCJcXG5cIiArIGkpOyB0LmIoXCIgICAgICAgICAgICBGaWxlIHdpdGhvdXQgY2hhbmdlc1wiKTsgdC5iKFwiXFxuXCIgKyBpKTsgdC5iKFwiICAgICAgICA8L2Rpdj5cIik7IHQuYihcIlxcblwiICsgaSk7IHQuYihcIiAgICA8L3RkPlwiKTsgdC5iKFwiXFxuXCIgKyBpKTsgdC5iKFwiPC90cj5cIik7IHJldHVybiB0LmZsKCk7IH0sIHBhcnRpYWxzOiB7fSwgc3Viczoge30gfSk7XG5kZWZhdWx0VGVtcGxhdGVzW1wiZ2VuZXJpYy1maWxlLXBhdGhcIl0gPSBuZXcgSG9nYW4uVGVtcGxhdGUoeyBjb2RlOiBmdW5jdGlvbiAoYywgcCwgaSkgeyB2YXIgdCA9IHRoaXM7IHQuYihpID0gaSB8fCBcIlwiKTsgdC5iKFwiPHNwYW4gY2xhc3M9XFxcImQyaC1maWxlLW5hbWUtd3JhcHBlclxcXCI+XCIpOyB0LmIoXCJcXG5cIiArIGkpOyB0LmIodC5ycChcIjxmaWxlSWNvbjBcIiwgYywgcCwgXCIgICAgXCIpKTsgdC5iKFwiICAgIDxzcGFuIGNsYXNzPVxcXCJkMmgtZmlsZS1uYW1lXFxcIj5cIik7IHQuYih0LnYodC5mKFwiZmlsZURpZmZOYW1lXCIsIGMsIHAsIDApKSk7IHQuYihcIjwvc3Bhbj5cIik7IHQuYihcIlxcblwiICsgaSk7IHQuYih0LnJwKFwiPGZpbGVUYWcxXCIsIGMsIHAsIFwiICAgIFwiKSk7IHQuYihcIjwvc3Bhbj5cIik7IHJldHVybiB0LmZsKCk7IH0sIHBhcnRpYWxzOiB7IFwiPGZpbGVJY29uMFwiOiB7IG5hbWU6IFwiZmlsZUljb25cIiwgcGFydGlhbHM6IHt9LCBzdWJzOiB7fSB9LCBcIjxmaWxlVGFnMVwiOiB7IG5hbWU6IFwiZmlsZVRhZ1wiLCBwYXJ0aWFsczoge30sIHN1YnM6IHt9IH0gfSwgc3Viczoge30gfSk7XG5kZWZhdWx0VGVtcGxhdGVzW1wiZ2VuZXJpYy1saW5lXCJdID0gbmV3IEhvZ2FuLlRlbXBsYXRlKHsgY29kZTogZnVuY3Rpb24gKGMsIHAsIGkpIHsgdmFyIHQgPSB0aGlzOyB0LmIoaSA9IGkgfHwgXCJcIik7IHQuYihcIjx0cj5cIik7IHQuYihcIlxcblwiICsgaSk7IHQuYihcIiAgICA8dGQgY2xhc3M9XFxcIlwiKTsgdC5iKHQudih0LmYoXCJsaW5lQ2xhc3NcIiwgYywgcCwgMCkpKTsgdC5iKFwiIFwiKTsgdC5iKHQudih0LmYoXCJ0eXBlXCIsIGMsIHAsIDApKSk7IHQuYihcIlxcXCI+XCIpOyB0LmIoXCJcXG5cIiArIGkpOyB0LmIoXCIgICAgICBcIik7IHQuYih0LnQodC5mKFwibGluZU51bWJlclwiLCBjLCBwLCAwKSkpOyB0LmIoXCJcXG5cIiArIGkpOyB0LmIoXCIgICAgPC90ZD5cIik7IHQuYihcIlxcblwiICsgaSk7IHQuYihcIiAgICA8dGQgY2xhc3M9XFxcIlwiKTsgdC5iKHQudih0LmYoXCJ0eXBlXCIsIGMsIHAsIDApKSk7IHQuYihcIlxcXCI+XCIpOyB0LmIoXCJcXG5cIiArIGkpOyB0LmIoXCIgICAgICAgIDxkaXYgY2xhc3M9XFxcIlwiKTsgdC5iKHQudih0LmYoXCJjb250ZW50Q2xhc3NcIiwgYywgcCwgMCkpKTsgdC5iKFwiIFwiKTsgdC5iKHQudih0LmYoXCJ0eXBlXCIsIGMsIHAsIDApKSk7IHQuYihcIlxcXCI+XCIpOyB0LmIoXCJcXG5cIiArIGkpOyBpZiAodC5zKHQuZihcInByZWZpeFwiLCBjLCBwLCAxKSwgYywgcCwgMCwgMTcxLCAyNDcsIFwie3sgfX1cIikpIHtcbiAgICAgICAgdC5ycyhjLCBwLCBmdW5jdGlvbiAoYywgcCwgdCkgeyB0LmIoXCIgICAgICAgICAgICA8c3BhbiBjbGFzcz1cXFwiZDJoLWNvZGUtbGluZS1wcmVmaXhcXFwiPlwiKTsgdC5iKHQudCh0LmYoXCJwcmVmaXhcIiwgYywgcCwgMCkpKTsgdC5iKFwiPC9zcGFuPlwiKTsgdC5iKFwiXFxuXCIgKyBpKTsgfSk7XG4gICAgICAgIGMucG9wKCk7XG4gICAgfSBpZiAoIXQucyh0LmYoXCJwcmVmaXhcIiwgYywgcCwgMSksIGMsIHAsIDEsIDAsIDAsIFwiXCIpKSB7XG4gICAgICAgIHQuYihcIiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVxcXCJkMmgtY29kZS1saW5lLXByZWZpeFxcXCI+Jm5ic3A7PC9zcGFuPlwiKTtcbiAgICAgICAgdC5iKFwiXFxuXCIgKyBpKTtcbiAgICB9IDsgaWYgKHQucyh0LmYoXCJjb250ZW50XCIsIGMsIHAsIDEpLCBjLCBwLCAwLCAzODAsIDQ1NCwgXCJ7eyB9fVwiKSkge1xuICAgICAgICB0LnJzKGMsIHAsIGZ1bmN0aW9uIChjLCBwLCB0KSB7IHQuYihcIiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVxcXCJkMmgtY29kZS1saW5lLWN0blxcXCI+XCIpOyB0LmIodC50KHQuZihcImNvbnRlbnRcIiwgYywgcCwgMCkpKTsgdC5iKFwiPC9zcGFuPlwiKTsgdC5iKFwiXFxuXCIgKyBpKTsgfSk7XG4gICAgICAgIGMucG9wKCk7XG4gICAgfSBpZiAoIXQucyh0LmYoXCJjb250ZW50XCIsIGMsIHAsIDEpLCBjLCBwLCAxLCAwLCAwLCBcIlwiKSkge1xuICAgICAgICB0LmIoXCIgICAgICAgICAgICA8c3BhbiBjbGFzcz1cXFwiZDJoLWNvZGUtbGluZS1jdG5cXFwiPjxicj48L3NwYW4+XCIpO1xuICAgICAgICB0LmIoXCJcXG5cIiArIGkpO1xuICAgIH0gOyB0LmIoXCIgICAgICAgIDwvZGl2PlwiKTsgdC5iKFwiXFxuXCIgKyBpKTsgdC5iKFwiICAgIDwvdGQ+XCIpOyB0LmIoXCJcXG5cIiArIGkpOyB0LmIoXCI8L3RyPlwiKTsgcmV0dXJuIHQuZmwoKTsgfSwgcGFydGlhbHM6IHt9LCBzdWJzOiB7fSB9KTtcbmRlZmF1bHRUZW1wbGF0ZXNbXCJnZW5lcmljLXdyYXBwZXJcIl0gPSBuZXcgSG9nYW4uVGVtcGxhdGUoeyBjb2RlOiBmdW5jdGlvbiAoYywgcCwgaSkgeyB2YXIgdCA9IHRoaXM7IHQuYihpID0gaSB8fCBcIlwiKTsgdC5iKFwiPGRpdiBjbGFzcz1cXFwiZDJoLXdyYXBwZXJcXFwiPlwiKTsgdC5iKFwiXFxuXCIgKyBpKTsgdC5iKFwiICAgIFwiKTsgdC5iKHQudCh0LmYoXCJjb250ZW50XCIsIGMsIHAsIDApKSk7IHQuYihcIlxcblwiICsgaSk7IHQuYihcIjwvZGl2PlwiKTsgcmV0dXJuIHQuZmwoKTsgfSwgcGFydGlhbHM6IHt9LCBzdWJzOiB7fSB9KTtcbmRlZmF1bHRUZW1wbGF0ZXNbXCJpY29uLWZpbGUtYWRkZWRcIl0gPSBuZXcgSG9nYW4uVGVtcGxhdGUoeyBjb2RlOiBmdW5jdGlvbiAoYywgcCwgaSkgeyB2YXIgdCA9IHRoaXM7IHQuYihpID0gaSB8fCBcIlwiKTsgdC5iKFwiPHN2ZyBhcmlhLWhpZGRlbj1cXFwidHJ1ZVxcXCIgY2xhc3M9XFxcImQyaC1pY29uIGQyaC1hZGRlZFxcXCIgaGVpZ2h0PVxcXCIxNlxcXCIgdGl0bGU9XFxcImFkZGVkXFxcIiB2ZXJzaW9uPVxcXCIxLjFcXFwiIHZpZXdCb3g9XFxcIjAgMCAxNCAxNlxcXCJcIik7IHQuYihcIlxcblwiICsgaSk7IHQuYihcIiAgICAgd2lkdGg9XFxcIjE0XFxcIj5cIik7IHQuYihcIlxcblwiICsgaSk7IHQuYihcIiAgICA8cGF0aCBkPVxcXCJNMTMgMUgxQzAuNDUgMSAwIDEuNDUgMCAydjEyYzAgMC41NSAwLjQ1IDEgMSAxaDEyYzAuNTUgMCAxLTAuNDUgMS0xVjJjMC0wLjU1LTAuNDUtMS0xLTF6IG0wIDEzSDFWMmgxMnYxMnpNNiA5SDNWN2gzVjRoMnYzaDN2Mkg4djNINlY5elxcXCI+PC9wYXRoPlwiKTsgdC5iKFwiXFxuXCIgKyBpKTsgdC5iKFwiPC9zdmc+XCIpOyByZXR1cm4gdC5mbCgpOyB9LCBwYXJ0aWFsczoge30sIHN1YnM6IHt9IH0pO1xuZGVmYXVsdFRlbXBsYXRlc1tcImljb24tZmlsZS1jaGFuZ2VkXCJdID0gbmV3IEhvZ2FuLlRlbXBsYXRlKHsgY29kZTogZnVuY3Rpb24gKGMsIHAsIGkpIHsgdmFyIHQgPSB0aGlzOyB0LmIoaSA9IGkgfHwgXCJcIik7IHQuYihcIjxzdmcgYXJpYS1oaWRkZW49XFxcInRydWVcXFwiIGNsYXNzPVxcXCJkMmgtaWNvbiBkMmgtY2hhbmdlZFxcXCIgaGVpZ2h0PVxcXCIxNlxcXCIgdGl0bGU9XFxcIm1vZGlmaWVkXFxcIiB2ZXJzaW9uPVxcXCIxLjFcXFwiXCIpOyB0LmIoXCJcXG5cIiArIGkpOyB0LmIoXCIgICAgIHZpZXdCb3g9XFxcIjAgMCAxNCAxNlxcXCIgd2lkdGg9XFxcIjE0XFxcIj5cIik7IHQuYihcIlxcblwiICsgaSk7IHQuYihcIiAgICA8cGF0aCBkPVxcXCJNMTMgMUgxQzAuNDUgMSAwIDEuNDUgMCAydjEyYzAgMC41NSAwLjQ1IDEgMSAxaDEyYzAuNTUgMCAxLTAuNDUgMS0xVjJjMC0wLjU1LTAuNDUtMS0xLTF6IG0wIDEzSDFWMmgxMnYxMnpNNCA4YzAtMS42NiAxLjM0LTMgMy0zczMgMS4zNCAzIDMtMS4zNCAzLTMgMy0zLTEuMzQtMy0zelxcXCI+PC9wYXRoPlwiKTsgdC5iKFwiXFxuXCIgKyBpKTsgdC5iKFwiPC9zdmc+XCIpOyByZXR1cm4gdC5mbCgpOyB9LCBwYXJ0aWFsczoge30sIHN1YnM6IHt9IH0pO1xuZGVmYXVsdFRlbXBsYXRlc1tcImljb24tZmlsZS1kZWxldGVkXCJdID0gbmV3IEhvZ2FuLlRlbXBsYXRlKHsgY29kZTogZnVuY3Rpb24gKGMsIHAsIGkpIHsgdmFyIHQgPSB0aGlzOyB0LmIoaSA9IGkgfHwgXCJcIik7IHQuYihcIjxzdmcgYXJpYS1oaWRkZW49XFxcInRydWVcXFwiIGNsYXNzPVxcXCJkMmgtaWNvbiBkMmgtZGVsZXRlZFxcXCIgaGVpZ2h0PVxcXCIxNlxcXCIgdGl0bGU9XFxcInJlbW92ZWRcXFwiIHZlcnNpb249XFxcIjEuMVxcXCJcIik7IHQuYihcIlxcblwiICsgaSk7IHQuYihcIiAgICAgdmlld0JveD1cXFwiMCAwIDE0IDE2XFxcIiB3aWR0aD1cXFwiMTRcXFwiPlwiKTsgdC5iKFwiXFxuXCIgKyBpKTsgdC5iKFwiICAgIDxwYXRoIGQ9XFxcIk0xMyAxSDFDMC40NSAxIDAgMS40NSAwIDJ2MTJjMCAwLjU1IDAuNDUgMSAxIDFoMTJjMC41NSAwIDEtMC40NSAxLTFWMmMwLTAuNTUtMC40NS0xLTEtMXogbTAgMTNIMVYyaDEydjEyek0xMSA5SDNWN2g4djJ6XFxcIj48L3BhdGg+XCIpOyB0LmIoXCJcXG5cIiArIGkpOyB0LmIoXCI8L3N2Zz5cIik7IHJldHVybiB0LmZsKCk7IH0sIHBhcnRpYWxzOiB7fSwgc3Viczoge30gfSk7XG5kZWZhdWx0VGVtcGxhdGVzW1wiaWNvbi1maWxlLXJlbmFtZWRcIl0gPSBuZXcgSG9nYW4uVGVtcGxhdGUoeyBjb2RlOiBmdW5jdGlvbiAoYywgcCwgaSkgeyB2YXIgdCA9IHRoaXM7IHQuYihpID0gaSB8fCBcIlwiKTsgdC5iKFwiPHN2ZyBhcmlhLWhpZGRlbj1cXFwidHJ1ZVxcXCIgY2xhc3M9XFxcImQyaC1pY29uIGQyaC1tb3ZlZFxcXCIgaGVpZ2h0PVxcXCIxNlxcXCIgdGl0bGU9XFxcInJlbmFtZWRcXFwiIHZlcnNpb249XFxcIjEuMVxcXCJcIik7IHQuYihcIlxcblwiICsgaSk7IHQuYihcIiAgICAgdmlld0JveD1cXFwiMCAwIDE0IDE2XFxcIiB3aWR0aD1cXFwiMTRcXFwiPlwiKTsgdC5iKFwiXFxuXCIgKyBpKTsgdC5iKFwiICAgIDxwYXRoIGQ9XFxcIk02IDlIM1Y3aDNWNGw1IDQtNSA0Vjl6IG04LTd2MTJjMCAwLjU1LTAuNDUgMS0xIDFIMWMtMC41NSAwLTEtMC40NS0xLTFWMmMwLTAuNTUgMC40NS0xIDEtMWgxMmMwLjU1IDAgMSAwLjQ1IDEgMXogbS0xIDBIMXYxMmgxMlYyelxcXCI+PC9wYXRoPlwiKTsgdC5iKFwiXFxuXCIgKyBpKTsgdC5iKFwiPC9zdmc+XCIpOyByZXR1cm4gdC5mbCgpOyB9LCBwYXJ0aWFsczoge30sIHN1YnM6IHt9IH0pO1xuZGVmYXVsdFRlbXBsYXRlc1tcImljb24tZmlsZVwiXSA9IG5ldyBIb2dhbi5UZW1wbGF0ZSh7IGNvZGU6IGZ1bmN0aW9uIChjLCBwLCBpKSB7IHZhciB0ID0gdGhpczsgdC5iKGkgPSBpIHx8IFwiXCIpOyB0LmIoXCI8c3ZnIGFyaWEtaGlkZGVuPVxcXCJ0cnVlXFxcIiBjbGFzcz1cXFwiZDJoLWljb25cXFwiIGhlaWdodD1cXFwiMTZcXFwiIHZlcnNpb249XFxcIjEuMVxcXCIgdmlld0JveD1cXFwiMCAwIDEyIDE2XFxcIiB3aWR0aD1cXFwiMTJcXFwiPlwiKTsgdC5iKFwiXFxuXCIgKyBpKTsgdC5iKFwiICAgIDxwYXRoIGQ9XFxcIk02IDVIMnYtMWg0djF6TTIgOGg3di0xSDJ2MXogbTAgMmg3di0xSDJ2MXogbTAgMmg3di0xSDJ2MXogbTEwLTcuNXY5LjVjMCAwLjU1LTAuNDUgMS0xIDFIMWMtMC41NSAwLTEtMC40NS0xLTFWMmMwLTAuNTUgMC40NS0xIDEtMWg3LjVsMy41IDMuNXogbS0xIDAuNUw4IDJIMXYxMmgxMFY1elxcXCI+PC9wYXRoPlwiKTsgdC5iKFwiXFxuXCIgKyBpKTsgdC5iKFwiPC9zdmc+XCIpOyByZXR1cm4gdC5mbCgpOyB9LCBwYXJ0aWFsczoge30sIHN1YnM6IHt9IH0pO1xuZGVmYXVsdFRlbXBsYXRlc1tcImxpbmUtYnktbGluZS1maWxlLWRpZmZcIl0gPSBuZXcgSG9nYW4uVGVtcGxhdGUoeyBjb2RlOiBmdW5jdGlvbiAoYywgcCwgaSkgeyB2YXIgdCA9IHRoaXM7IHQuYihpID0gaSB8fCBcIlwiKTsgdC5iKFwiPGRpdiBpZD1cXFwiXCIpOyB0LmIodC52KHQuZihcImZpbGVIdG1sSWRcIiwgYywgcCwgMCkpKTsgdC5iKFwiXFxcIiBjbGFzcz1cXFwiZDJoLWZpbGUtd3JhcHBlclxcXCIgZGF0YS1sYW5nPVxcXCJcIik7IHQuYih0LnYodC5kKFwiZmlsZS5sYW5ndWFnZVwiLCBjLCBwLCAwKSkpOyB0LmIoXCJcXFwiPlwiKTsgdC5iKFwiXFxuXCIgKyBpKTsgdC5iKFwiICAgIDxkaXYgY2xhc3M9XFxcImQyaC1maWxlLWhlYWRlclxcXCI+XCIpOyB0LmIoXCJcXG5cIiArIGkpOyB0LmIoXCIgICAgXCIpOyB0LmIodC50KHQuZihcImZpbGVQYXRoXCIsIGMsIHAsIDApKSk7IHQuYihcIlxcblwiICsgaSk7IHQuYihcIiAgICA8L2Rpdj5cIik7IHQuYihcIlxcblwiICsgaSk7IHQuYihcIiAgICA8ZGl2IGNsYXNzPVxcXCJkMmgtZmlsZS1kaWZmXFxcIj5cIik7IHQuYihcIlxcblwiICsgaSk7IHQuYihcIiAgICAgICAgPGRpdiBjbGFzcz1cXFwiZDJoLWNvZGUtd3JhcHBlclxcXCI+XCIpOyB0LmIoXCJcXG5cIiArIGkpOyB0LmIoXCIgICAgICAgICAgICA8dGFibGUgY2xhc3M9XFxcImQyaC1kaWZmLXRhYmxlXFxcIj5cIik7IHQuYihcIlxcblwiICsgaSk7IHQuYihcIiAgICAgICAgICAgICAgICA8dGJvZHkgY2xhc3M9XFxcImQyaC1kaWZmLXRib2R5XFxcIj5cIik7IHQuYihcIlxcblwiICsgaSk7IHQuYihcIiAgICAgICAgICAgICAgICBcIik7IHQuYih0LnQodC5mKFwiZGlmZnNcIiwgYywgcCwgMCkpKTsgdC5iKFwiXFxuXCIgKyBpKTsgdC5iKFwiICAgICAgICAgICAgICAgIDwvdGJvZHk+XCIpOyB0LmIoXCJcXG5cIiArIGkpOyB0LmIoXCIgICAgICAgICAgICA8L3RhYmxlPlwiKTsgdC5iKFwiXFxuXCIgKyBpKTsgdC5iKFwiICAgICAgICA8L2Rpdj5cIik7IHQuYihcIlxcblwiICsgaSk7IHQuYihcIiAgICA8L2Rpdj5cIik7IHQuYihcIlxcblwiICsgaSk7IHQuYihcIjwvZGl2PlwiKTsgcmV0dXJuIHQuZmwoKTsgfSwgcGFydGlhbHM6IHt9LCBzdWJzOiB7fSB9KTtcbmRlZmF1bHRUZW1wbGF0ZXNbXCJsaW5lLWJ5LWxpbmUtbnVtYmVyc1wiXSA9IG5ldyBIb2dhbi5UZW1wbGF0ZSh7IGNvZGU6IGZ1bmN0aW9uIChjLCBwLCBpKSB7IHZhciB0ID0gdGhpczsgdC5iKGkgPSBpIHx8IFwiXCIpOyB0LmIoXCI8ZGl2IGNsYXNzPVxcXCJsaW5lLW51bTFcXFwiPlwiKTsgdC5iKHQudih0LmYoXCJvbGROdW1iZXJcIiwgYywgcCwgMCkpKTsgdC5iKFwiPC9kaXY+XCIpOyB0LmIoXCJcXG5cIiArIGkpOyB0LmIoXCI8ZGl2IGNsYXNzPVxcXCJsaW5lLW51bTJcXFwiPlwiKTsgdC5iKHQudih0LmYoXCJuZXdOdW1iZXJcIiwgYywgcCwgMCkpKTsgdC5iKFwiPC9kaXY+XCIpOyByZXR1cm4gdC5mbCgpOyB9LCBwYXJ0aWFsczoge30sIHN1YnM6IHt9IH0pO1xuZGVmYXVsdFRlbXBsYXRlc1tcInNpZGUtYnktc2lkZS1maWxlLWRpZmZcIl0gPSBuZXcgSG9nYW4uVGVtcGxhdGUoeyBjb2RlOiBmdW5jdGlvbiAoYywgcCwgaSkgeyB2YXIgdCA9IHRoaXM7IHQuYihpID0gaSB8fCBcIlwiKTsgdC5iKFwiPGRpdiBpZD1cXFwiXCIpOyB0LmIodC52KHQuZihcImZpbGVIdG1sSWRcIiwgYywgcCwgMCkpKTsgdC5iKFwiXFxcIiBjbGFzcz1cXFwiZDJoLWZpbGUtd3JhcHBlclxcXCIgZGF0YS1sYW5nPVxcXCJcIik7IHQuYih0LnYodC5kKFwiZmlsZS5sYW5ndWFnZVwiLCBjLCBwLCAwKSkpOyB0LmIoXCJcXFwiPlwiKTsgdC5iKFwiXFxuXCIgKyBpKTsgdC5iKFwiICAgIDxkaXYgY2xhc3M9XFxcImQyaC1maWxlLWhlYWRlclxcXCI+XCIpOyB0LmIoXCJcXG5cIiArIGkpOyB0LmIoXCIgICAgICBcIik7IHQuYih0LnQodC5mKFwiZmlsZVBhdGhcIiwgYywgcCwgMCkpKTsgdC5iKFwiXFxuXCIgKyBpKTsgdC5iKFwiICAgIDwvZGl2PlwiKTsgdC5iKFwiXFxuXCIgKyBpKTsgdC5iKFwiICAgIDxkaXYgY2xhc3M9XFxcImQyaC1maWxlcy1kaWZmXFxcIj5cIik7IHQuYihcIlxcblwiICsgaSk7IHQuYihcIiAgICAgICAgPGRpdiBjbGFzcz1cXFwiZDJoLWZpbGUtc2lkZS1kaWZmXFxcIj5cIik7IHQuYihcIlxcblwiICsgaSk7IHQuYihcIiAgICAgICAgICAgIDxkaXYgY2xhc3M9XFxcImQyaC1jb2RlLXdyYXBwZXJcXFwiPlwiKTsgdC5iKFwiXFxuXCIgKyBpKTsgdC5iKFwiICAgICAgICAgICAgICAgIDx0YWJsZSBjbGFzcz1cXFwiZDJoLWRpZmYtdGFibGVcXFwiPlwiKTsgdC5iKFwiXFxuXCIgKyBpKTsgdC5iKFwiICAgICAgICAgICAgICAgICAgICA8dGJvZHkgY2xhc3M9XFxcImQyaC1kaWZmLXRib2R5XFxcIj5cIik7IHQuYihcIlxcblwiICsgaSk7IHQuYihcIiAgICAgICAgICAgICAgICAgICAgXCIpOyB0LmIodC50KHQuZChcImRpZmZzLmxlZnRcIiwgYywgcCwgMCkpKTsgdC5iKFwiXFxuXCIgKyBpKTsgdC5iKFwiICAgICAgICAgICAgICAgICAgICA8L3Rib2R5PlwiKTsgdC5iKFwiXFxuXCIgKyBpKTsgdC5iKFwiICAgICAgICAgICAgICAgIDwvdGFibGU+XCIpOyB0LmIoXCJcXG5cIiArIGkpOyB0LmIoXCIgICAgICAgICAgICA8L2Rpdj5cIik7IHQuYihcIlxcblwiICsgaSk7IHQuYihcIiAgICAgICAgPC9kaXY+XCIpOyB0LmIoXCJcXG5cIiArIGkpOyB0LmIoXCIgICAgICAgIDxkaXYgY2xhc3M9XFxcImQyaC1maWxlLXNpZGUtZGlmZlxcXCI+XCIpOyB0LmIoXCJcXG5cIiArIGkpOyB0LmIoXCIgICAgICAgICAgICA8ZGl2IGNsYXNzPVxcXCJkMmgtY29kZS13cmFwcGVyXFxcIj5cIik7IHQuYihcIlxcblwiICsgaSk7IHQuYihcIiAgICAgICAgICAgICAgICA8dGFibGUgY2xhc3M9XFxcImQyaC1kaWZmLXRhYmxlXFxcIj5cIik7IHQuYihcIlxcblwiICsgaSk7IHQuYihcIiAgICAgICAgICAgICAgICAgICAgPHRib2R5IGNsYXNzPVxcXCJkMmgtZGlmZi10Ym9keVxcXCI+XCIpOyB0LmIoXCJcXG5cIiArIGkpOyB0LmIoXCIgICAgICAgICAgICAgICAgICAgIFwiKTsgdC5iKHQudCh0LmQoXCJkaWZmcy5yaWdodFwiLCBjLCBwLCAwKSkpOyB0LmIoXCJcXG5cIiArIGkpOyB0LmIoXCIgICAgICAgICAgICAgICAgICAgIDwvdGJvZHk+XCIpOyB0LmIoXCJcXG5cIiArIGkpOyB0LmIoXCIgICAgICAgICAgICAgICAgPC90YWJsZT5cIik7IHQuYihcIlxcblwiICsgaSk7IHQuYihcIiAgICAgICAgICAgIDwvZGl2PlwiKTsgdC5iKFwiXFxuXCIgKyBpKTsgdC5iKFwiICAgICAgICA8L2Rpdj5cIik7IHQuYihcIlxcblwiICsgaSk7IHQuYihcIiAgICA8L2Rpdj5cIik7IHQuYihcIlxcblwiICsgaSk7IHQuYihcIjwvZGl2PlwiKTsgcmV0dXJuIHQuZmwoKTsgfSwgcGFydGlhbHM6IHt9LCBzdWJzOiB7fSB9KTtcbmRlZmF1bHRUZW1wbGF0ZXNbXCJ0YWctZmlsZS1hZGRlZFwiXSA9IG5ldyBIb2dhbi5UZW1wbGF0ZSh7IGNvZGU6IGZ1bmN0aW9uIChjLCBwLCBpKSB7IHZhciB0ID0gdGhpczsgdC5iKGkgPSBpIHx8IFwiXCIpOyB0LmIoXCI8c3BhbiBjbGFzcz1cXFwiZDJoLXRhZyBkMmgtYWRkZWQgZDJoLWFkZGVkLXRhZ1xcXCI+QURERUQ8L3NwYW4+XCIpOyByZXR1cm4gdC5mbCgpOyB9LCBwYXJ0aWFsczoge30sIHN1YnM6IHt9IH0pO1xuZGVmYXVsdFRlbXBsYXRlc1tcInRhZy1maWxlLWNoYW5nZWRcIl0gPSBuZXcgSG9nYW4uVGVtcGxhdGUoeyBjb2RlOiBmdW5jdGlvbiAoYywgcCwgaSkgeyB2YXIgdCA9IHRoaXM7IHQuYihpID0gaSB8fCBcIlwiKTsgdC5iKFwiPHNwYW4gY2xhc3M9XFxcImQyaC10YWcgZDJoLWNoYW5nZWQgZDJoLWNoYW5nZWQtdGFnXFxcIj5DSEFOR0VEPC9zcGFuPlwiKTsgcmV0dXJuIHQuZmwoKTsgfSwgcGFydGlhbHM6IHt9LCBzdWJzOiB7fSB9KTtcbmRlZmF1bHRUZW1wbGF0ZXNbXCJ0YWctZmlsZS1kZWxldGVkXCJdID0gbmV3IEhvZ2FuLlRlbXBsYXRlKHsgY29kZTogZnVuY3Rpb24gKGMsIHAsIGkpIHsgdmFyIHQgPSB0aGlzOyB0LmIoaSA9IGkgfHwgXCJcIik7IHQuYihcIjxzcGFuIGNsYXNzPVxcXCJkMmgtdGFnIGQyaC1kZWxldGVkIGQyaC1kZWxldGVkLXRhZ1xcXCI+REVMRVRFRDwvc3Bhbj5cIik7IHJldHVybiB0LmZsKCk7IH0sIHBhcnRpYWxzOiB7fSwgc3Viczoge30gfSk7XG5kZWZhdWx0VGVtcGxhdGVzW1widGFnLWZpbGUtcmVuYW1lZFwiXSA9IG5ldyBIb2dhbi5UZW1wbGF0ZSh7IGNvZGU6IGZ1bmN0aW9uIChjLCBwLCBpKSB7IHZhciB0ID0gdGhpczsgdC5iKGkgPSBpIHx8IFwiXCIpOyB0LmIoXCI8c3BhbiBjbGFzcz1cXFwiZDJoLXRhZyBkMmgtbW92ZWQgZDJoLW1vdmVkLXRhZ1xcXCI+UkVOQU1FRDwvc3Bhbj5cIik7IHJldHVybiB0LmZsKCk7IH0sIHBhcnRpYWxzOiB7fSwgc3Viczoge30gfSk7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kaWZmMmh0bWwtdGVtcGxhdGVzLmpzLm1hcCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/diff2html/lib-esm/diff2html-templates.js\n"); /***/ }), /***/ "./node_modules/diff2html/lib-esm/diff2html.js": /*!*****************************************************!*\ !*** ./node_modules/diff2html/lib-esm/diff2html.js ***! \*****************************************************/ /*! exports provided: defaultDiff2HtmlConfig, parse, html */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"defaultDiff2HtmlConfig\", function() { return defaultDiff2HtmlConfig; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"parse\", function() { return parse; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"html\", function() { return html; });\n/* harmony import */ var _diff_parser__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./diff-parser */ \"./node_modules/diff2html/lib-esm/diff-parser.js\");\n/* harmony import */ var _file_list_renderer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./file-list-renderer */ \"./node_modules/diff2html/lib-esm/file-list-renderer.js\");\n/* harmony import */ var _line_by_line_renderer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./line-by-line-renderer */ \"./node_modules/diff2html/lib-esm/line-by-line-renderer.js\");\n/* harmony import */ var _side_by_side_renderer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./side-by-side-renderer */ \"./node_modules/diff2html/lib-esm/side-by-side-renderer.js\");\n/* harmony import */ var _types__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./types */ \"./node_modules/diff2html/lib-esm/types.js\");\n/* harmony import */ var _hoganjs_utils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./hoganjs-utils */ \"./node_modules/diff2html/lib-esm/hoganjs-utils.js\");\nvar __assign = (undefined && undefined.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n\n\n\n\n\n\nvar defaultDiff2HtmlConfig = __assign(__assign(__assign({}, _line_by_line_renderer__WEBPACK_IMPORTED_MODULE_2__[\"defaultLineByLineRendererConfig\"]), _side_by_side_renderer__WEBPACK_IMPORTED_MODULE_3__[\"defaultSideBySideRendererConfig\"]), { outputFormat: _types__WEBPACK_IMPORTED_MODULE_4__[\"OutputFormatType\"].LINE_BY_LINE, drawFileList: true });\nfunction parse(diffInput, configuration) {\n if (configuration === void 0) { configuration = {}; }\n return _diff_parser__WEBPACK_IMPORTED_MODULE_0__[\"parse\"](diffInput, __assign(__assign({}, defaultDiff2HtmlConfig), configuration));\n}\nfunction html(diffInput, configuration) {\n if (configuration === void 0) { configuration = {}; }\n var config = __assign(__assign({}, defaultDiff2HtmlConfig), configuration);\n var diffJson = typeof diffInput === 'string' ? _diff_parser__WEBPACK_IMPORTED_MODULE_0__[\"parse\"](diffInput, config) : diffInput;\n var hoganUtils = new _hoganjs_utils__WEBPACK_IMPORTED_MODULE_5__[\"default\"](config);\n var fileList = config.drawFileList ? _file_list_renderer__WEBPACK_IMPORTED_MODULE_1__[\"render\"](diffJson, hoganUtils) : '';\n var diffOutput = config.outputFormat === 'side-by-side'\n ? new _side_by_side_renderer__WEBPACK_IMPORTED_MODULE_3__[\"default\"](hoganUtils, config).render(diffJson)\n : new _line_by_line_renderer__WEBPACK_IMPORTED_MODULE_2__[\"default\"](hoganUtils, config).render(diffJson);\n return fileList + diffOutput;\n}\n//# sourceMappingURL=diff2html.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGlmZjJodG1sL2xpYi1lc20vZGlmZjJodG1sLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2RpZmYyaHRtbC9saWItZXNtL2RpZmYyaHRtbC5qcz9hZTdkIl0sInNvdXJjZXNDb250ZW50IjpbInZhciBfX2Fzc2lnbiA9ICh0aGlzICYmIHRoaXMuX19hc3NpZ24pIHx8IGZ1bmN0aW9uICgpIHtcbiAgICBfX2Fzc2lnbiA9IE9iamVjdC5hc3NpZ24gfHwgZnVuY3Rpb24odCkge1xuICAgICAgICBmb3IgKHZhciBzLCBpID0gMSwgbiA9IGFyZ3VtZW50cy5sZW5ndGg7IGkgPCBuOyBpKyspIHtcbiAgICAgICAgICAgIHMgPSBhcmd1bWVudHNbaV07XG4gICAgICAgICAgICBmb3IgKHZhciBwIGluIHMpIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocywgcCkpXG4gICAgICAgICAgICAgICAgdFtwXSA9IHNbcF07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHQ7XG4gICAgfTtcbiAgICByZXR1cm4gX19hc3NpZ24uYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbn07XG5pbXBvcnQgKiBhcyBEaWZmUGFyc2VyIGZyb20gJy4vZGlmZi1wYXJzZXInO1xuaW1wb3J0ICogYXMgZmlsZUxpc3RQcmludGVyIGZyb20gJy4vZmlsZS1saXN0LXJlbmRlcmVyJztcbmltcG9ydCBMaW5lQnlMaW5lUmVuZGVyZXIsIHsgZGVmYXVsdExpbmVCeUxpbmVSZW5kZXJlckNvbmZpZyB9IGZyb20gJy4vbGluZS1ieS1saW5lLXJlbmRlcmVyJztcbmltcG9ydCBTaWRlQnlTaWRlUmVuZGVyZXIsIHsgZGVmYXVsdFNpZGVCeVNpZGVSZW5kZXJlckNvbmZpZyB9IGZyb20gJy4vc2lkZS1ieS1zaWRlLXJlbmRlcmVyJztcbmltcG9ydCB7IE91dHB1dEZvcm1hdFR5cGUgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCBIb2dhbkpzVXRpbHMgZnJvbSAnLi9ob2dhbmpzLXV0aWxzJztcbmV4cG9ydCB2YXIgZGVmYXVsdERpZmYySHRtbENvbmZpZyA9IF9fYXNzaWduKF9fYXNzaWduKF9fYXNzaWduKHt9LCBkZWZhdWx0TGluZUJ5TGluZVJlbmRlcmVyQ29uZmlnKSwgZGVmYXVsdFNpZGVCeVNpZGVSZW5kZXJlckNvbmZpZyksIHsgb3V0cHV0Rm9ybWF0OiBPdXRwdXRGb3JtYXRUeXBlLkxJTkVfQllfTElORSwgZHJhd0ZpbGVMaXN0OiB0cnVlIH0pO1xuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlKGRpZmZJbnB1dCwgY29uZmlndXJhdGlvbikge1xuICAgIGlmIChjb25maWd1cmF0aW9uID09PSB2b2lkIDApIHsgY29uZmlndXJhdGlvbiA9IHt9OyB9XG4gICAgcmV0dXJuIERpZmZQYXJzZXIucGFyc2UoZGlmZklucHV0LCBfX2Fzc2lnbihfX2Fzc2lnbih7fSwgZGVmYXVsdERpZmYySHRtbENvbmZpZyksIGNvbmZpZ3VyYXRpb24pKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBodG1sKGRpZmZJbnB1dCwgY29uZmlndXJhdGlvbikge1xuICAgIGlmIChjb25maWd1cmF0aW9uID09PSB2b2lkIDApIHsgY29uZmlndXJhdGlvbiA9IHt9OyB9XG4gICAgdmFyIGNvbmZpZyA9IF9fYXNzaWduKF9fYXNzaWduKHt9LCBkZWZhdWx0RGlmZjJIdG1sQ29uZmlnKSwgY29uZmlndXJhdGlvbik7XG4gICAgdmFyIGRpZmZKc29uID0gdHlwZW9mIGRpZmZJbnB1dCA9PT0gJ3N0cmluZycgPyBEaWZmUGFyc2VyLnBhcnNlKGRpZmZJbnB1dCwgY29uZmlnKSA6IGRpZmZJbnB1dDtcbiAgICB2YXIgaG9nYW5VdGlscyA9IG5ldyBIb2dhbkpzVXRpbHMoY29uZmlnKTtcbiAgICB2YXIgZmlsZUxpc3QgPSBjb25maWcuZHJhd0ZpbGVMaXN0ID8gZmlsZUxpc3RQcmludGVyLnJlbmRlcihkaWZmSnNvbiwgaG9nYW5VdGlscykgOiAnJztcbiAgICB2YXIgZGlmZk91dHB1dCA9IGNvbmZpZy5vdXRwdXRGb3JtYXQgPT09ICdzaWRlLWJ5LXNpZGUnXG4gICAgICAgID8gbmV3IFNpZGVCeVNpZGVSZW5kZXJlcihob2dhblV0aWxzLCBjb25maWcpLnJlbmRlcihkaWZmSnNvbilcbiAgICAgICAgOiBuZXcgTGluZUJ5TGluZVJlbmRlcmVyKGhvZ2FuVXRpbHMsIGNvbmZpZykucmVuZGVyKGRpZmZKc29uKTtcbiAgICByZXR1cm4gZmlsZUxpc3QgKyBkaWZmT3V0cHV0O1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGlmZjJodG1sLmpzLm1hcCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/diff2html/lib-esm/diff2html.js\n"); /***/ }), /***/ "./node_modules/diff2html/lib-esm/file-list-renderer.js": /*!**************************************************************!*\ !*** ./node_modules/diff2html/lib-esm/file-list-renderer.js ***! \**************************************************************/ /*! exports provided: render */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony import */ var _render_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./render-utils */ \"./node_modules/diff2html/lib-esm/render-utils.js\");\n\nvar baseTemplatesPath = 'file-summary';\nvar iconsBaseTemplatesPath = 'icon';\nfunction render(diffFiles, hoganUtils) {\n var files = diffFiles\n .map(function (file) {\n return hoganUtils.render(baseTemplatesPath, 'line', {\n fileHtmlId: _render_utils__WEBPACK_IMPORTED_MODULE_0__[\"getHtmlId\"](file),\n oldName: file.oldName,\n newName: file.newName,\n fileName: _render_utils__WEBPACK_IMPORTED_MODULE_0__[\"filenameDiff\"](file),\n deletedLines: '-' + file.deletedLines,\n addedLines: '+' + file.addedLines,\n }, {\n fileIcon: hoganUtils.template(iconsBaseTemplatesPath, _render_utils__WEBPACK_IMPORTED_MODULE_0__[\"getFileIcon\"](file)),\n });\n })\n .join('\\n');\n return hoganUtils.render(baseTemplatesPath, 'wrapper', {\n filesNumber: diffFiles.length,\n files: files,\n });\n}\n//# sourceMappingURL=file-list-renderer.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGlmZjJodG1sL2xpYi1lc20vZmlsZS1saXN0LXJlbmRlcmVyLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2RpZmYyaHRtbC9saWItZXNtL2ZpbGUtbGlzdC1yZW5kZXJlci5qcz8wZDk0Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHJlbmRlclV0aWxzIGZyb20gJy4vcmVuZGVyLXV0aWxzJztcbnZhciBiYXNlVGVtcGxhdGVzUGF0aCA9ICdmaWxlLXN1bW1hcnknO1xudmFyIGljb25zQmFzZVRlbXBsYXRlc1BhdGggPSAnaWNvbic7XG5leHBvcnQgZnVuY3Rpb24gcmVuZGVyKGRpZmZGaWxlcywgaG9nYW5VdGlscykge1xuICAgIHZhciBmaWxlcyA9IGRpZmZGaWxlc1xuICAgICAgICAubWFwKGZ1bmN0aW9uIChmaWxlKSB7XG4gICAgICAgIHJldHVybiBob2dhblV0aWxzLnJlbmRlcihiYXNlVGVtcGxhdGVzUGF0aCwgJ2xpbmUnLCB7XG4gICAgICAgICAgICBmaWxlSHRtbElkOiByZW5kZXJVdGlscy5nZXRIdG1sSWQoZmlsZSksXG4gICAgICAgICAgICBvbGROYW1lOiBmaWxlLm9sZE5hbWUsXG4gICAgICAgICAgICBuZXdOYW1lOiBmaWxlLm5ld05hbWUsXG4gICAgICAgICAgICBmaWxlTmFtZTogcmVuZGVyVXRpbHMuZmlsZW5hbWVEaWZmKGZpbGUpLFxuICAgICAgICAgICAgZGVsZXRlZExpbmVzOiAnLScgKyBmaWxlLmRlbGV0ZWRMaW5lcyxcbiAgICAgICAgICAgIGFkZGVkTGluZXM6ICcrJyArIGZpbGUuYWRkZWRMaW5lcyxcbiAgICAgICAgfSwge1xuICAgICAgICAgICAgZmlsZUljb246IGhvZ2FuVXRpbHMudGVtcGxhdGUoaWNvbnNCYXNlVGVtcGxhdGVzUGF0aCwgcmVuZGVyVXRpbHMuZ2V0RmlsZUljb24oZmlsZSkpLFxuICAgICAgICB9KTtcbiAgICB9KVxuICAgICAgICAuam9pbignXFxuJyk7XG4gICAgcmV0dXJuIGhvZ2FuVXRpbHMucmVuZGVyKGJhc2VUZW1wbGF0ZXNQYXRoLCAnd3JhcHBlcicsIHtcbiAgICAgICAgZmlsZXNOdW1iZXI6IGRpZmZGaWxlcy5sZW5ndGgsXG4gICAgICAgIGZpbGVzOiBmaWxlcyxcbiAgICB9KTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWZpbGUtbGlzdC1yZW5kZXJlci5qcy5tYXAiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/diff2html/lib-esm/file-list-renderer.js\n"); /***/ }), /***/ "./node_modules/diff2html/lib-esm/hoganjs-utils.js": /*!*********************************************************!*\ !*** ./node_modules/diff2html/lib-esm/hoganjs-utils.js ***! \*********************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var hogan_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! hogan.js */ \"./node_modules/hogan.js/lib/hogan.js\");\n/* harmony import */ var hogan_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(hogan_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _diff2html_templates__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./diff2html-templates */ \"./node_modules/diff2html/lib-esm/diff2html-templates.js\");\nvar __assign = (undefined && undefined.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n\n\nvar HoganJsUtils = (function () {\n function HoganJsUtils(_a) {\n var _b = _a.compiledTemplates, compiledTemplates = _b === void 0 ? {} : _b, _c = _a.rawTemplates, rawTemplates = _c === void 0 ? {} : _c;\n var compiledRawTemplates = Object.entries(rawTemplates).reduce(function (previousTemplates, _a) {\n var _b;\n var name = _a[0], templateString = _a[1];\n var compiledTemplate = hogan_js__WEBPACK_IMPORTED_MODULE_0__[\"compile\"](templateString, { asString: false });\n return __assign(__assign({}, previousTemplates), (_b = {}, _b[name] = compiledTemplate, _b));\n }, {});\n this.preCompiledTemplates = __assign(__assign(__assign({}, _diff2html_templates__WEBPACK_IMPORTED_MODULE_1__[\"defaultTemplates\"]), compiledTemplates), compiledRawTemplates);\n }\n HoganJsUtils.compile = function (templateString) {\n return hogan_js__WEBPACK_IMPORTED_MODULE_0__[\"compile\"](templateString, { asString: false });\n };\n HoganJsUtils.prototype.render = function (namespace, view, params, partials, indent) {\n var templateKey = this.templateKey(namespace, view);\n try {\n var template = this.preCompiledTemplates[templateKey];\n return template.render(params, partials, indent);\n }\n catch (e) {\n throw new Error(\"Could not find template to render '\" + templateKey + \"'\");\n }\n };\n HoganJsUtils.prototype.template = function (namespace, view) {\n return this.preCompiledTemplates[this.templateKey(namespace, view)];\n };\n HoganJsUtils.prototype.templateKey = function (namespace, view) {\n return namespace + \"-\" + view;\n };\n return HoganJsUtils;\n}());\n/* harmony default export */ __webpack_exports__[\"default\"] = (HoganJsUtils);\n//# sourceMappingURL=hoganjs-utils.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGlmZjJodG1sL2xpYi1lc20vaG9nYW5qcy11dGlscy5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9kaWZmMmh0bWwvbGliLWVzbS9ob2dhbmpzLXV0aWxzLmpzP2ZmYTQiXSwic291cmNlc0NvbnRlbnQiOlsidmFyIF9fYXNzaWduID0gKHRoaXMgJiYgdGhpcy5fX2Fzc2lnbikgfHwgZnVuY3Rpb24gKCkge1xuICAgIF9fYXNzaWduID0gT2JqZWN0LmFzc2lnbiB8fCBmdW5jdGlvbih0KSB7XG4gICAgICAgIGZvciAodmFyIHMsIGkgPSAxLCBuID0gYXJndW1lbnRzLmxlbmd0aDsgaSA8IG47IGkrKykge1xuICAgICAgICAgICAgcyA9IGFyZ3VtZW50c1tpXTtcbiAgICAgICAgICAgIGZvciAodmFyIHAgaW4gcykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSlcbiAgICAgICAgICAgICAgICB0W3BdID0gc1twXTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdDtcbiAgICB9O1xuICAgIHJldHVybiBfX2Fzc2lnbi5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xufTtcbmltcG9ydCAqIGFzIEhvZ2FuIGZyb20gJ2hvZ2FuLmpzJztcbmltcG9ydCB7IGRlZmF1bHRUZW1wbGF0ZXMgfSBmcm9tICcuL2RpZmYyaHRtbC10ZW1wbGF0ZXMnO1xudmFyIEhvZ2FuSnNVdGlscyA9IChmdW5jdGlvbiAoKSB7XG4gICAgZnVuY3Rpb24gSG9nYW5Kc1V0aWxzKF9hKSB7XG4gICAgICAgIHZhciBfYiA9IF9hLmNvbXBpbGVkVGVtcGxhdGVzLCBjb21waWxlZFRlbXBsYXRlcyA9IF9iID09PSB2b2lkIDAgPyB7fSA6IF9iLCBfYyA9IF9hLnJhd1RlbXBsYXRlcywgcmF3VGVtcGxhdGVzID0gX2MgPT09IHZvaWQgMCA/IHt9IDogX2M7XG4gICAgICAgIHZhciBjb21waWxlZFJhd1RlbXBsYXRlcyA9IE9iamVjdC5lbnRyaWVzKHJhd1RlbXBsYXRlcykucmVkdWNlKGZ1bmN0aW9uIChwcmV2aW91c1RlbXBsYXRlcywgX2EpIHtcbiAgICAgICAgICAgIHZhciBfYjtcbiAgICAgICAgICAgIHZhciBuYW1lID0gX2FbMF0sIHRlbXBsYXRlU3RyaW5nID0gX2FbMV07XG4gICAgICAgICAgICB2YXIgY29tcGlsZWRUZW1wbGF0ZSA9IEhvZ2FuLmNvbXBpbGUodGVtcGxhdGVTdHJpbmcsIHsgYXNTdHJpbmc6IGZhbHNlIH0pO1xuICAgICAgICAgICAgcmV0dXJuIF9fYXNzaWduKF9fYXNzaWduKHt9LCBwcmV2aW91c1RlbXBsYXRlcyksIChfYiA9IHt9LCBfYltuYW1lXSA9IGNvbXBpbGVkVGVtcGxhdGUsIF9iKSk7XG4gICAgICAgIH0sIHt9KTtcbiAgICAgICAgdGhpcy5wcmVDb21waWxlZFRlbXBsYXRlcyA9IF9fYXNzaWduKF9fYXNzaWduKF9fYXNzaWduKHt9LCBkZWZhdWx0VGVtcGxhdGVzKSwgY29tcGlsZWRUZW1wbGF0ZXMpLCBjb21waWxlZFJhd1RlbXBsYXRlcyk7XG4gICAgfVxuICAgIEhvZ2FuSnNVdGlscy5jb21waWxlID0gZnVuY3Rpb24gKHRlbXBsYXRlU3RyaW5nKSB7XG4gICAgICAgIHJldHVybiBIb2dhbi5jb21waWxlKHRlbXBsYXRlU3RyaW5nLCB7IGFzU3RyaW5nOiBmYWxzZSB9KTtcbiAgICB9O1xuICAgIEhvZ2FuSnNVdGlscy5wcm90b3R5cGUucmVuZGVyID0gZnVuY3Rpb24gKG5hbWVzcGFjZSwgdmlldywgcGFyYW1zLCBwYXJ0aWFscywgaW5kZW50KSB7XG4gICAgICAgIHZhciB0ZW1wbGF0ZUtleSA9IHRoaXMudGVtcGxhdGVLZXkobmFtZXNwYWNlLCB2aWV3KTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHZhciB0ZW1wbGF0ZSA9IHRoaXMucHJlQ29tcGlsZWRUZW1wbGF0ZXNbdGVtcGxhdGVLZXldO1xuICAgICAgICAgICAgcmV0dXJuIHRlbXBsYXRlLnJlbmRlcihwYXJhbXMsIHBhcnRpYWxzLCBpbmRlbnQpO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJDb3VsZCBub3QgZmluZCB0ZW1wbGF0ZSB0byByZW5kZXIgJ1wiICsgdGVtcGxhdGVLZXkgKyBcIidcIik7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIEhvZ2FuSnNVdGlscy5wcm90b3R5cGUudGVtcGxhdGUgPSBmdW5jdGlvbiAobmFtZXNwYWNlLCB2aWV3KSB7XG4gICAgICAgIHJldHVybiB0aGlzLnByZUNvbXBpbGVkVGVtcGxhdGVzW3RoaXMudGVtcGxhdGVLZXkobmFtZXNwYWNlLCB2aWV3KV07XG4gICAgfTtcbiAgICBIb2dhbkpzVXRpbHMucHJvdG90eXBlLnRlbXBsYXRlS2V5ID0gZnVuY3Rpb24gKG5hbWVzcGFjZSwgdmlldykge1xuICAgICAgICByZXR1cm4gbmFtZXNwYWNlICsgXCItXCIgKyB2aWV3O1xuICAgIH07XG4gICAgcmV0dXJuIEhvZ2FuSnNVdGlscztcbn0oKSk7XG5leHBvcnQgZGVmYXVsdCBIb2dhbkpzVXRpbHM7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1ob2dhbmpzLXV0aWxzLmpzLm1hcCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/diff2html/lib-esm/hoganjs-utils.js\n"); /***/ }), /***/ "./node_modules/diff2html/lib-esm/line-by-line-renderer.js": /*!*****************************************************************!*\ !*** ./node_modules/diff2html/lib-esm/line-by-line-renderer.js ***! \*****************************************************************/ /*! exports provided: defaultLineByLineRendererConfig, default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"defaultLineByLineRendererConfig\", function() { return defaultLineByLineRendererConfig; });\n/* harmony import */ var _rematch__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./rematch */ \"./node_modules/diff2html/lib-esm/rematch.js\");\n/* harmony import */ var _render_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./render-utils */ \"./node_modules/diff2html/lib-esm/render-utils.js\");\n/* harmony import */ var _types__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./types */ \"./node_modules/diff2html/lib-esm/types.js\");\nvar __assign = (undefined && undefined.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n\n\n\nvar defaultLineByLineRendererConfig = __assign(__assign({}, _render_utils__WEBPACK_IMPORTED_MODULE_1__[\"defaultRenderConfig\"]), { renderNothingWhenEmpty: false, matchingMaxComparisons: 2500, maxLineSizeInBlockForComparison: 200 });\nvar genericTemplatesPath = 'generic';\nvar baseTemplatesPath = 'line-by-line';\nvar iconsBaseTemplatesPath = 'icon';\nvar tagsBaseTemplatesPath = 'tag';\nvar LineByLineRenderer = (function () {\n function LineByLineRenderer(hoganUtils, config) {\n if (config === void 0) { config = {}; }\n this.hoganUtils = hoganUtils;\n this.config = __assign(__assign({}, defaultLineByLineRendererConfig), config);\n }\n LineByLineRenderer.prototype.render = function (diffFiles) {\n var _this = this;\n var diffsHtml = diffFiles\n .map(function (file) {\n var diffs;\n if (file.blocks.length) {\n diffs = _this.generateFileHtml(file);\n }\n else {\n diffs = _this.generateEmptyDiff();\n }\n return _this.makeFileDiffHtml(file, diffs);\n })\n .join('\\n');\n return this.hoganUtils.render(genericTemplatesPath, 'wrapper', { content: diffsHtml });\n };\n LineByLineRenderer.prototype.makeFileDiffHtml = function (file, diffs) {\n if (this.config.renderNothingWhenEmpty && Array.isArray(file.blocks) && file.blocks.length === 0)\n return '';\n var fileDiffTemplate = this.hoganUtils.template(baseTemplatesPath, 'file-diff');\n var filePathTemplate = this.hoganUtils.template(genericTemplatesPath, 'file-path');\n var fileIconTemplate = this.hoganUtils.template(iconsBaseTemplatesPath, 'file');\n var fileTagTemplate = this.hoganUtils.template(tagsBaseTemplatesPath, _render_utils__WEBPACK_IMPORTED_MODULE_1__[\"getFileIcon\"](file));\n return fileDiffTemplate.render({\n file: file,\n fileHtmlId: _render_utils__WEBPACK_IMPORTED_MODULE_1__[\"getHtmlId\"](file),\n diffs: diffs,\n filePath: filePathTemplate.render({\n fileDiffName: _render_utils__WEBPACK_IMPORTED_MODULE_1__[\"filenameDiff\"](file),\n }, {\n fileIcon: fileIconTemplate,\n fileTag: fileTagTemplate,\n }),\n });\n };\n LineByLineRenderer.prototype.generateEmptyDiff = function () {\n return this.hoganUtils.render(genericTemplatesPath, 'empty-diff', {\n contentClass: 'd2h-code-line',\n CSSLineClass: _render_utils__WEBPACK_IMPORTED_MODULE_1__[\"CSSLineClass\"],\n });\n };\n LineByLineRenderer.prototype.generateFileHtml = function (file) {\n var _this = this;\n var matcher = _rematch__WEBPACK_IMPORTED_MODULE_0__[\"newMatcherFn\"](_rematch__WEBPACK_IMPORTED_MODULE_0__[\"newDistanceFn\"](function (e) { return _render_utils__WEBPACK_IMPORTED_MODULE_1__[\"deconstructLine\"](e.content, file.isCombined).content; }));\n return file.blocks\n .map(function (block) {\n var lines = _this.hoganUtils.render(genericTemplatesPath, 'block-header', {\n CSSLineClass: _render_utils__WEBPACK_IMPORTED_MODULE_1__[\"CSSLineClass\"],\n blockHeader: block.header,\n lineClass: 'd2h-code-linenumber',\n contentClass: 'd2h-code-line',\n });\n _this.applyLineGroupping(block).forEach(function (_a) {\n var contextLines = _a[0], oldLines = _a[1], newLines = _a[2];\n if (oldLines.length && newLines.length && !contextLines.length) {\n _this.applyRematchMatching(oldLines, newLines, matcher).map(function (_a) {\n var oldLines = _a[0], newLines = _a[1];\n var _b = _this.processChangedLines(file.isCombined, oldLines, newLines), left = _b.left, right = _b.right;\n lines += left;\n lines += right;\n });\n }\n else if (contextLines.length) {\n contextLines.forEach(function (line) {\n var _a = _render_utils__WEBPACK_IMPORTED_MODULE_1__[\"deconstructLine\"](line.content, file.isCombined), prefix = _a.prefix, content = _a.content;\n lines += _this.generateSingleLineHtml({\n type: _render_utils__WEBPACK_IMPORTED_MODULE_1__[\"CSSLineClass\"].CONTEXT,\n prefix: prefix,\n content: content,\n oldNumber: line.oldNumber,\n newNumber: line.newNumber,\n });\n });\n }\n else if (oldLines.length || newLines.length) {\n var _b = _this.processChangedLines(file.isCombined, oldLines, newLines), left = _b.left, right = _b.right;\n lines += left;\n lines += right;\n }\n else {\n console.error('Unknown state reached while processing groups of lines', contextLines, oldLines, newLines);\n }\n });\n return lines;\n })\n .join('\\n');\n };\n LineByLineRenderer.prototype.applyLineGroupping = function (block) {\n var blockLinesGroups = [];\n var oldLines = [];\n var newLines = [];\n for (var i = 0; i < block.lines.length; i++) {\n var diffLine = block.lines[i];\n if ((diffLine.type !== _types__WEBPACK_IMPORTED_MODULE_2__[\"LineType\"].INSERT && newLines.length) ||\n (diffLine.type === _types__WEBPACK_IMPORTED_MODULE_2__[\"LineType\"].CONTEXT && oldLines.length > 0)) {\n blockLinesGroups.push([[], oldLines, newLines]);\n oldLines = [];\n newLines = [];\n }\n if (diffLine.type === _types__WEBPACK_IMPORTED_MODULE_2__[\"LineType\"].CONTEXT) {\n blockLinesGroups.push([[diffLine], [], []]);\n }\n else if (diffLine.type === _types__WEBPACK_IMPORTED_MODULE_2__[\"LineType\"].INSERT && oldLines.length === 0) {\n blockLinesGroups.push([[], [], [diffLine]]);\n }\n else if (diffLine.type === _types__WEBPACK_IMPORTED_MODULE_2__[\"LineType\"].INSERT && oldLines.length > 0) {\n newLines.push(diffLine);\n }\n else if (diffLine.type === _types__WEBPACK_IMPORTED_MODULE_2__[\"LineType\"].DELETE) {\n oldLines.push(diffLine);\n }\n }\n if (oldLines.length || newLines.length) {\n blockLinesGroups.push([[], oldLines, newLines]);\n oldLines = [];\n newLines = [];\n }\n return blockLinesGroups;\n };\n LineByLineRenderer.prototype.applyRematchMatching = function (oldLines, newLines, matcher) {\n var comparisons = oldLines.length * newLines.length;\n var maxLineSizeInBlock = Math.max.apply(null, [0].concat(oldLines.concat(newLines).map(function (elem) { return elem.content.length; })));\n var doMatching = comparisons < this.config.matchingMaxComparisons &&\n maxLineSizeInBlock < this.config.maxLineSizeInBlockForComparison &&\n (this.config.matching === 'lines' || this.config.matching === 'words');\n return doMatching ? matcher(oldLines, newLines) : [[oldLines, newLines]];\n };\n LineByLineRenderer.prototype.processChangedLines = function (isCombined, oldLines, newLines) {\n var fileHtml = {\n right: '',\n left: '',\n };\n var maxLinesNumber = Math.max(oldLines.length, newLines.length);\n for (var i = 0; i < maxLinesNumber; i++) {\n var oldLine = oldLines[i];\n var newLine = newLines[i];\n var diff = oldLine !== undefined && newLine !== undefined\n ? _render_utils__WEBPACK_IMPORTED_MODULE_1__[\"diffHighlight\"](oldLine.content, newLine.content, isCombined, this.config)\n : undefined;\n var preparedOldLine = oldLine !== undefined && oldLine.oldNumber !== undefined\n ? __assign(__assign({}, (diff !== undefined\n ? {\n prefix: diff.oldLine.prefix,\n content: diff.oldLine.content,\n type: _render_utils__WEBPACK_IMPORTED_MODULE_1__[\"CSSLineClass\"].DELETE_CHANGES,\n }\n : __assign(__assign({}, _render_utils__WEBPACK_IMPORTED_MODULE_1__[\"deconstructLine\"](oldLine.content, isCombined)), { type: _render_utils__WEBPACK_IMPORTED_MODULE_1__[\"toCSSClass\"](oldLine.type) }))), { oldNumber: oldLine.oldNumber, newNumber: oldLine.newNumber }) : undefined;\n var preparedNewLine = newLine !== undefined && newLine.newNumber !== undefined\n ? __assign(__assign({}, (diff !== undefined\n ? {\n prefix: diff.newLine.prefix,\n content: diff.newLine.content,\n type: _render_utils__WEBPACK_IMPORTED_MODULE_1__[\"CSSLineClass\"].INSERT_CHANGES,\n }\n : __assign(__assign({}, _render_utils__WEBPACK_IMPORTED_MODULE_1__[\"deconstructLine\"](newLine.content, isCombined)), { type: _render_utils__WEBPACK_IMPORTED_MODULE_1__[\"toCSSClass\"](newLine.type) }))), { oldNumber: newLine.oldNumber, newNumber: newLine.newNumber }) : undefined;\n var _a = this.generateLineHtml(preparedOldLine, preparedNewLine), left = _a.left, right = _a.right;\n fileHtml.left += left;\n fileHtml.right += right;\n }\n return fileHtml;\n };\n LineByLineRenderer.prototype.generateLineHtml = function (oldLine, newLine) {\n return {\n left: this.generateSingleLineHtml(oldLine),\n right: this.generateSingleLineHtml(newLine),\n };\n };\n LineByLineRenderer.prototype.generateSingleLineHtml = function (line) {\n if (line === undefined)\n return '';\n var lineNumberHtml = this.hoganUtils.render(baseTemplatesPath, 'numbers', {\n oldNumber: line.oldNumber || '',\n newNumber: line.newNumber || '',\n });\n return this.hoganUtils.render(genericTemplatesPath, 'line', {\n type: line.type,\n lineClass: 'd2h-code-linenumber',\n contentClass: 'd2h-code-line',\n prefix: line.prefix === ' ' ? ' ' : line.prefix,\n content: line.content,\n lineNumber: lineNumberHtml,\n });\n };\n return LineByLineRenderer;\n}());\n/* harmony default export */ __webpack_exports__[\"default\"] = (LineByLineRenderer);\n//# sourceMappingURL=line-by-line-renderer.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGlmZjJodG1sL2xpYi1lc20vbGluZS1ieS1saW5lLXJlbmRlcmVyLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2RpZmYyaHRtbC9saWItZXNtL2xpbmUtYnktbGluZS1yZW5kZXJlci5qcz9jZTBhIl0sInNvdXJjZXNDb250ZW50IjpbInZhciBfX2Fzc2lnbiA9ICh0aGlzICYmIHRoaXMuX19hc3NpZ24pIHx8IGZ1bmN0aW9uICgpIHtcbiAgICBfX2Fzc2lnbiA9IE9iamVjdC5hc3NpZ24gfHwgZnVuY3Rpb24odCkge1xuICAgICAgICBmb3IgKHZhciBzLCBpID0gMSwgbiA9IGFyZ3VtZW50cy5sZW5ndGg7IGkgPCBuOyBpKyspIHtcbiAgICAgICAgICAgIHMgPSBhcmd1bWVudHNbaV07XG4gICAgICAgICAgICBmb3IgKHZhciBwIGluIHMpIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocywgcCkpXG4gICAgICAgICAgICAgICAgdFtwXSA9IHNbcF07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHQ7XG4gICAgfTtcbiAgICByZXR1cm4gX19hc3NpZ24uYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbn07XG5pbXBvcnQgKiBhcyBSZW1hdGNoIGZyb20gJy4vcmVtYXRjaCc7XG5pbXBvcnQgKiBhcyByZW5kZXJVdGlscyBmcm9tICcuL3JlbmRlci11dGlscyc7XG5pbXBvcnQgeyBMaW5lVHlwZSwgfSBmcm9tICcuL3R5cGVzJztcbmV4cG9ydCB2YXIgZGVmYXVsdExpbmVCeUxpbmVSZW5kZXJlckNvbmZpZyA9IF9fYXNzaWduKF9fYXNzaWduKHt9LCByZW5kZXJVdGlscy5kZWZhdWx0UmVuZGVyQ29uZmlnKSwgeyByZW5kZXJOb3RoaW5nV2hlbkVtcHR5OiBmYWxzZSwgbWF0Y2hpbmdNYXhDb21wYXJpc29uczogMjUwMCwgbWF4TGluZVNpemVJbkJsb2NrRm9yQ29tcGFyaXNvbjogMjAwIH0pO1xudmFyIGdlbmVyaWNUZW1wbGF0ZXNQYXRoID0gJ2dlbmVyaWMnO1xudmFyIGJhc2VUZW1wbGF0ZXNQYXRoID0gJ2xpbmUtYnktbGluZSc7XG52YXIgaWNvbnNCYXNlVGVtcGxhdGVzUGF0aCA9ICdpY29uJztcbnZhciB0YWdzQmFzZVRlbXBsYXRlc1BhdGggPSAndGFnJztcbnZhciBMaW5lQnlMaW5lUmVuZGVyZXIgPSAoZnVuY3Rpb24gKCkge1xuICAgIGZ1bmN0aW9uIExpbmVCeUxpbmVSZW5kZXJlcihob2dhblV0aWxzLCBjb25maWcpIHtcbiAgICAgICAgaWYgKGNvbmZpZyA9PT0gdm9pZCAwKSB7IGNvbmZpZyA9IHt9OyB9XG4gICAgICAgIHRoaXMuaG9nYW5VdGlscyA9IGhvZ2FuVXRpbHM7XG4gICAgICAgIHRoaXMuY29uZmlnID0gX19hc3NpZ24oX19hc3NpZ24oe30sIGRlZmF1bHRMaW5lQnlMaW5lUmVuZGVyZXJDb25maWcpLCBjb25maWcpO1xuICAgIH1cbiAgICBMaW5lQnlMaW5lUmVuZGVyZXIucHJvdG90eXBlLnJlbmRlciA9IGZ1bmN0aW9uIChkaWZmRmlsZXMpIHtcbiAgICAgICAgdmFyIF90aGlzID0gdGhpcztcbiAgICAgICAgdmFyIGRpZmZzSHRtbCA9IGRpZmZGaWxlc1xuICAgICAgICAgICAgLm1hcChmdW5jdGlvbiAoZmlsZSkge1xuICAgICAgICAgICAgdmFyIGRpZmZzO1xuICAgICAgICAgICAgaWYgKGZpbGUuYmxvY2tzLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIGRpZmZzID0gX3RoaXMuZ2VuZXJhdGVGaWxlSHRtbChmaWxlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGRpZmZzID0gX3RoaXMuZ2VuZXJhdGVFbXB0eURpZmYoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBfdGhpcy5tYWtlRmlsZURpZmZIdG1sKGZpbGUsIGRpZmZzKTtcbiAgICAgICAgfSlcbiAgICAgICAgICAgIC5qb2luKCdcXG4nKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaG9nYW5VdGlscy5yZW5kZXIoZ2VuZXJpY1RlbXBsYXRlc1BhdGgsICd3cmFwcGVyJywgeyBjb250ZW50OiBkaWZmc0h0bWwgfSk7XG4gICAgfTtcbiAgICBMaW5lQnlMaW5lUmVuZGVyZXIucHJvdG90eXBlLm1ha2VGaWxlRGlmZkh0bWwgPSBmdW5jdGlvbiAoZmlsZSwgZGlmZnMpIHtcbiAgICAgICAgaWYgKHRoaXMuY29uZmlnLnJlbmRlck5vdGhpbmdXaGVuRW1wdHkgJiYgQXJyYXkuaXNBcnJheShmaWxlLmJsb2NrcykgJiYgZmlsZS5ibG9ja3MubGVuZ3RoID09PSAwKVxuICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICB2YXIgZmlsZURpZmZUZW1wbGF0ZSA9IHRoaXMuaG9nYW5VdGlscy50ZW1wbGF0ZShiYXNlVGVtcGxhdGVzUGF0aCwgJ2ZpbGUtZGlmZicpO1xuICAgICAgICB2YXIgZmlsZVBhdGhUZW1wbGF0ZSA9IHRoaXMuaG9nYW5VdGlscy50ZW1wbGF0ZShnZW5lcmljVGVtcGxhdGVzUGF0aCwgJ2ZpbGUtcGF0aCcpO1xuICAgICAgICB2YXIgZmlsZUljb25UZW1wbGF0ZSA9IHRoaXMuaG9nYW5VdGlscy50ZW1wbGF0ZShpY29uc0Jhc2VUZW1wbGF0ZXNQYXRoLCAnZmlsZScpO1xuICAgICAgICB2YXIgZmlsZVRhZ1RlbXBsYXRlID0gdGhpcy5ob2dhblV0aWxzLnRlbXBsYXRlKHRhZ3NCYXNlVGVtcGxhdGVzUGF0aCwgcmVuZGVyVXRpbHMuZ2V0RmlsZUljb24oZmlsZSkpO1xuICAgICAgICByZXR1cm4gZmlsZURpZmZUZW1wbGF0ZS5yZW5kZXIoe1xuICAgICAgICAgICAgZmlsZTogZmlsZSxcbiAgICAgICAgICAgIGZpbGVIdG1sSWQ6IHJlbmRlclV0aWxzLmdldEh0bWxJZChmaWxlKSxcbiAgICAgICAgICAgIGRpZmZzOiBkaWZmcyxcbiAgICAgICAgICAgIGZpbGVQYXRoOiBmaWxlUGF0aFRlbXBsYXRlLnJlbmRlcih7XG4gICAgICAgICAgICAgICAgZmlsZURpZmZOYW1lOiByZW5kZXJVdGlscy5maWxlbmFtZURpZmYoZmlsZSksXG4gICAgICAgICAgICB9LCB7XG4gICAgICAgICAgICAgICAgZmlsZUljb246IGZpbGVJY29uVGVtcGxhdGUsXG4gICAgICAgICAgICAgICAgZmlsZVRhZzogZmlsZVRhZ1RlbXBsYXRlLFxuICAgICAgICAgICAgfSksXG4gICAgICAgIH0pO1xuICAgIH07XG4gICAgTGluZUJ5TGluZVJlbmRlcmVyLnByb3RvdHlwZS5nZW5lcmF0ZUVtcHR5RGlmZiA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaG9nYW5VdGlscy5yZW5kZXIoZ2VuZXJpY1RlbXBsYXRlc1BhdGgsICdlbXB0eS1kaWZmJywge1xuICAgICAgICAgICAgY29udGVudENsYXNzOiAnZDJoLWNvZGUtbGluZScsXG4gICAgICAgICAgICBDU1NMaW5lQ2xhc3M6IHJlbmRlclV0aWxzLkNTU0xpbmVDbGFzcyxcbiAgICAgICAgfSk7XG4gICAgfTtcbiAgICBMaW5lQnlMaW5lUmVuZGVyZXIucHJvdG90eXBlLmdlbmVyYXRlRmlsZUh0bWwgPSBmdW5jdGlvbiAoZmlsZSkge1xuICAgICAgICB2YXIgX3RoaXMgPSB0aGlzO1xuICAgICAgICB2YXIgbWF0Y2hlciA9IFJlbWF0Y2gubmV3TWF0Y2hlckZuKFJlbWF0Y2gubmV3RGlzdGFuY2VGbihmdW5jdGlvbiAoZSkgeyByZXR1cm4gcmVuZGVyVXRpbHMuZGVjb25zdHJ1Y3RMaW5lKGUuY29udGVudCwgZmlsZS5pc0NvbWJpbmVkKS5jb250ZW50OyB9KSk7XG4gICAgICAgIHJldHVybiBmaWxlLmJsb2Nrc1xuICAgICAgICAgICAgLm1hcChmdW5jdGlvbiAoYmxvY2spIHtcbiAgICAgICAgICAgIHZhciBsaW5lcyA9IF90aGlzLmhvZ2FuVXRpbHMucmVuZGVyKGdlbmVyaWNUZW1wbGF0ZXNQYXRoLCAnYmxvY2staGVhZGVyJywge1xuICAgICAgICAgICAgICAgIENTU0xpbmVDbGFzczogcmVuZGVyVXRpbHMuQ1NTTGluZUNsYXNzLFxuICAgICAgICAgICAgICAgIGJsb2NrSGVhZGVyOiBibG9jay5oZWFkZXIsXG4gICAgICAgICAgICAgICAgbGluZUNsYXNzOiAnZDJoLWNvZGUtbGluZW51bWJlcicsXG4gICAgICAgICAgICAgICAgY29udGVudENsYXNzOiAnZDJoLWNvZGUtbGluZScsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIF90aGlzLmFwcGx5TGluZUdyb3VwcGluZyhibG9jaykuZm9yRWFjaChmdW5jdGlvbiAoX2EpIHtcbiAgICAgICAgICAgICAgICB2YXIgY29udGV4dExpbmVzID0gX2FbMF0sIG9sZExpbmVzID0gX2FbMV0sIG5ld0xpbmVzID0gX2FbMl07XG4gICAgICAgICAgICAgICAgaWYgKG9sZExpbmVzLmxlbmd0aCAmJiBuZXdMaW5lcy5sZW5ndGggJiYgIWNvbnRleHRMaW5lcy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgX3RoaXMuYXBwbHlSZW1hdGNoTWF0Y2hpbmcob2xkTGluZXMsIG5ld0xpbmVzLCBtYXRjaGVyKS5tYXAoZnVuY3Rpb24gKF9hKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgb2xkTGluZXMgPSBfYVswXSwgbmV3TGluZXMgPSBfYVsxXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBfYiA9IF90aGlzLnByb2Nlc3NDaGFuZ2VkTGluZXMoZmlsZS5pc0NvbWJpbmVkLCBvbGRMaW5lcywgbmV3TGluZXMpLCBsZWZ0ID0gX2IubGVmdCwgcmlnaHQgPSBfYi5yaWdodDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmVzICs9IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lcyArPSByaWdodDtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2UgaWYgKGNvbnRleHRMaW5lcy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGV4dExpbmVzLmZvckVhY2goZnVuY3Rpb24gKGxpbmUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBfYSA9IHJlbmRlclV0aWxzLmRlY29uc3RydWN0TGluZShsaW5lLmNvbnRlbnQsIGZpbGUuaXNDb21iaW5lZCksIHByZWZpeCA9IF9hLnByZWZpeCwgY29udGVudCA9IF9hLmNvbnRlbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lcyArPSBfdGhpcy5nZW5lcmF0ZVNpbmdsZUxpbmVIdG1sKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiByZW5kZXJVdGlscy5DU1NMaW5lQ2xhc3MuQ09OVEVYVCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmVmaXg6IHByZWZpeCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBjb250ZW50LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9sZE51bWJlcjogbGluZS5vbGROdW1iZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3TnVtYmVyOiBsaW5lLm5ld051bWJlcixcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSBpZiAob2xkTGluZXMubGVuZ3RoIHx8IG5ld0xpbmVzLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICB2YXIgX2IgPSBfdGhpcy5wcm9jZXNzQ2hhbmdlZExpbmVzKGZpbGUuaXNDb21iaW5lZCwgb2xkTGluZXMsIG5ld0xpbmVzKSwgbGVmdCA9IF9iLmxlZnQsIHJpZ2h0ID0gX2IucmlnaHQ7XG4gICAgICAgICAgICAgICAgICAgIGxpbmVzICs9IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgIGxpbmVzICs9IHJpZ2h0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcignVW5rbm93biBzdGF0ZSByZWFjaGVkIHdoaWxlIHByb2Nlc3NpbmcgZ3JvdXBzIG9mIGxpbmVzJywgY29udGV4dExpbmVzLCBvbGRMaW5lcywgbmV3TGluZXMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuIGxpbmVzO1xuICAgICAgICB9KVxuICAgICAgICAgICAgLmpvaW4oJ1xcbicpO1xuICAgIH07XG4gICAgTGluZUJ5TGluZVJlbmRlcmVyLnByb3RvdHlwZS5hcHBseUxpbmVHcm91cHBpbmcgPSBmdW5jdGlvbiAoYmxvY2spIHtcbiAgICAgICAgdmFyIGJsb2NrTGluZXNHcm91cHMgPSBbXTtcbiAgICAgICAgdmFyIG9sZExpbmVzID0gW107XG4gICAgICAgIHZhciBuZXdMaW5lcyA9IFtdO1xuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGJsb2NrLmxpbmVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICB2YXIgZGlmZkxpbmUgPSBibG9jay5saW5lc1tpXTtcbiAgICAgICAgICAgIGlmICgoZGlmZkxpbmUudHlwZSAhPT0gTGluZVR5cGUuSU5TRVJUICYmIG5ld0xpbmVzLmxlbmd0aCkgfHxcbiAgICAgICAgICAgICAgICAoZGlmZkxpbmUudHlwZSA9PT0gTGluZVR5cGUuQ09OVEVYVCAmJiBvbGRMaW5lcy5sZW5ndGggPiAwKSkge1xuICAgICAgICAgICAgICAgIGJsb2NrTGluZXNHcm91cHMucHVzaChbW10sIG9sZExpbmVzLCBuZXdMaW5lc10pO1xuICAgICAgICAgICAgICAgIG9sZExpbmVzID0gW107XG4gICAgICAgICAgICAgICAgbmV3TGluZXMgPSBbXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChkaWZmTGluZS50eXBlID09PSBMaW5lVHlwZS5DT05URVhUKSB7XG4gICAgICAgICAgICAgICAgYmxvY2tMaW5lc0dyb3Vwcy5wdXNoKFtbZGlmZkxpbmVdLCBbXSwgW11dKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKGRpZmZMaW5lLnR5cGUgPT09IExpbmVUeXBlLklOU0VSVCAmJiBvbGRMaW5lcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgICAgICBibG9ja0xpbmVzR3JvdXBzLnB1c2goW1tdLCBbXSwgW2RpZmZMaW5lXV0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAoZGlmZkxpbmUudHlwZSA9PT0gTGluZVR5cGUuSU5TRVJUICYmIG9sZExpbmVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICBuZXdMaW5lcy5wdXNoKGRpZmZMaW5lKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKGRpZmZMaW5lLnR5cGUgPT09IExpbmVUeXBlLkRFTEVURSkge1xuICAgICAgICAgICAgICAgIG9sZExpbmVzLnB1c2goZGlmZkxpbmUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChvbGRMaW5lcy5sZW5ndGggfHwgbmV3TGluZXMubGVuZ3RoKSB7XG4gICAgICAgICAgICBibG9ja0xpbmVzR3JvdXBzLnB1c2goW1tdLCBvbGRMaW5lcywgbmV3TGluZXNdKTtcbiAgICAgICAgICAgIG9sZExpbmVzID0gW107XG4gICAgICAgICAgICBuZXdMaW5lcyA9IFtdO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBibG9ja0xpbmVzR3JvdXBzO1xuICAgIH07XG4gICAgTGluZUJ5TGluZVJlbmRlcmVyLnByb3RvdHlwZS5hcHBseVJlbWF0Y2hNYXRjaGluZyA9IGZ1bmN0aW9uIChvbGRMaW5lcywgbmV3TGluZXMsIG1hdGNoZXIpIHtcbiAgICAgICAgdmFyIGNvbXBhcmlzb25zID0gb2xkTGluZXMubGVuZ3RoICogbmV3TGluZXMubGVuZ3RoO1xuICAgICAgICB2YXIgbWF4TGluZVNpemVJbkJsb2NrID0gTWF0aC5tYXguYXBwbHkobnVsbCwgWzBdLmNvbmNhdChvbGRMaW5lcy5jb25jYXQobmV3TGluZXMpLm1hcChmdW5jdGlvbiAoZWxlbSkgeyByZXR1cm4gZWxlbS5jb250ZW50Lmxlbmd0aDsgfSkpKTtcbiAgICAgICAgdmFyIGRvTWF0Y2hpbmcgPSBjb21wYXJpc29ucyA8IHRoaXMuY29uZmlnLm1hdGNoaW5nTWF4Q29tcGFyaXNvbnMgJiZcbiAgICAgICAgICAgIG1heExpbmVTaXplSW5CbG9jayA8IHRoaXMuY29uZmlnLm1heExpbmVTaXplSW5CbG9ja0ZvckNvbXBhcmlzb24gJiZcbiAgICAgICAgICAgICh0aGlzLmNvbmZpZy5tYXRjaGluZyA9PT0gJ2xpbmVzJyB8fCB0aGlzLmNvbmZpZy5tYXRjaGluZyA9PT0gJ3dvcmRzJyk7XG4gICAgICAgIHJldHVybiBkb01hdGNoaW5nID8gbWF0Y2hlcihvbGRMaW5lcywgbmV3TGluZXMpIDogW1tvbGRMaW5lcywgbmV3TGluZXNdXTtcbiAgICB9O1xuICAgIExpbmVCeUxpbmVSZW5kZXJlci5wcm90b3R5cGUucHJvY2Vzc0NoYW5nZWRMaW5lcyA9IGZ1bmN0aW9uIChpc0NvbWJpbmVkLCBvbGRMaW5lcywgbmV3TGluZXMpIHtcbiAgICAgICAgdmFyIGZpbGVIdG1sID0ge1xuICAgICAgICAgICAgcmlnaHQ6ICcnLFxuICAgICAgICAgICAgbGVmdDogJycsXG4gICAgICAgIH07XG4gICAgICAgIHZhciBtYXhMaW5lc051bWJlciA9IE1hdGgubWF4KG9sZExpbmVzLmxlbmd0aCwgbmV3TGluZXMubGVuZ3RoKTtcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBtYXhMaW5lc051bWJlcjsgaSsrKSB7XG4gICAgICAgICAgICB2YXIgb2xkTGluZSA9IG9sZExpbmVzW2ldO1xuICAgICAgICAgICAgdmFyIG5ld0xpbmUgPSBuZXdMaW5lc1tpXTtcbiAgICAgICAgICAgIHZhciBkaWZmID0gb2xkTGluZSAhPT0gdW5kZWZpbmVkICYmIG5ld0xpbmUgIT09IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgID8gcmVuZGVyVXRpbHMuZGlmZkhpZ2hsaWdodChvbGRMaW5lLmNvbnRlbnQsIG5ld0xpbmUuY29udGVudCwgaXNDb21iaW5lZCwgdGhpcy5jb25maWcpXG4gICAgICAgICAgICAgICAgOiB1bmRlZmluZWQ7XG4gICAgICAgICAgICB2YXIgcHJlcGFyZWRPbGRMaW5lID0gb2xkTGluZSAhPT0gdW5kZWZpbmVkICYmIG9sZExpbmUub2xkTnVtYmVyICE9PSB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICA/IF9fYXNzaWduKF9fYXNzaWduKHt9LCAoZGlmZiAhPT0gdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgICAgID8ge1xuICAgICAgICAgICAgICAgICAgICAgICAgcHJlZml4OiBkaWZmLm9sZExpbmUucHJlZml4LFxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogZGlmZi5vbGRMaW5lLmNvbnRlbnQsXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiByZW5kZXJVdGlscy5DU1NMaW5lQ2xhc3MuREVMRVRFX0NIQU5HRVMsXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgOiBfX2Fzc2lnbihfX2Fzc2lnbih7fSwgcmVuZGVyVXRpbHMuZGVjb25zdHJ1Y3RMaW5lKG9sZExpbmUuY29udGVudCwgaXNDb21iaW5lZCkpLCB7IHR5cGU6IHJlbmRlclV0aWxzLnRvQ1NTQ2xhc3Mob2xkTGluZS50eXBlKSB9KSkpLCB7IG9sZE51bWJlcjogb2xkTGluZS5vbGROdW1iZXIsIG5ld051bWJlcjogb2xkTGluZS5uZXdOdW1iZXIgfSkgOiB1bmRlZmluZWQ7XG4gICAgICAgICAgICB2YXIgcHJlcGFyZWROZXdMaW5lID0gbmV3TGluZSAhPT0gdW5kZWZpbmVkICYmIG5ld0xpbmUubmV3TnVtYmVyICE9PSB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICA/IF9fYXNzaWduKF9fYXNzaWduKHt9LCAoZGlmZiAhPT0gdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgICAgID8ge1xuICAgICAgICAgICAgICAgICAgICAgICAgcHJlZml4OiBkaWZmLm5ld0xpbmUucHJlZml4LFxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogZGlmZi5uZXdMaW5lLmNvbnRlbnQsXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiByZW5kZXJVdGlscy5DU1NMaW5lQ2xhc3MuSU5TRVJUX0NIQU5HRVMsXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgOiBfX2Fzc2lnbihfX2Fzc2lnbih7fSwgcmVuZGVyVXRpbHMuZGVjb25zdHJ1Y3RMaW5lKG5ld0xpbmUuY29udGVudCwgaXNDb21iaW5lZCkpLCB7IHR5cGU6IHJlbmRlclV0aWxzLnRvQ1NTQ2xhc3MobmV3TGluZS50eXBlKSB9KSkpLCB7IG9sZE51bWJlcjogbmV3TGluZS5vbGROdW1iZXIsIG5ld051bWJlcjogbmV3TGluZS5uZXdOdW1iZXIgfSkgOiB1bmRlZmluZWQ7XG4gICAgICAgICAgICB2YXIgX2EgPSB0aGlzLmdlbmVyYXRlTGluZUh0bWwocHJlcGFyZWRPbGRMaW5lLCBwcmVwYXJlZE5ld0xpbmUpLCBsZWZ0ID0gX2EubGVmdCwgcmlnaHQgPSBfYS5yaWdodDtcbiAgICAgICAgICAgIGZpbGVIdG1sLmxlZnQgKz0gbGVmdDtcbiAgICAgICAgICAgIGZpbGVIdG1sLnJpZ2h0ICs9IHJpZ2h0O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmaWxlSHRtbDtcbiAgICB9O1xuICAgIExpbmVCeUxpbmVSZW5kZXJlci5wcm90b3R5cGUuZ2VuZXJhdGVMaW5lSHRtbCA9IGZ1bmN0aW9uIChvbGRMaW5lLCBuZXdMaW5lKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBsZWZ0OiB0aGlzLmdlbmVyYXRlU2luZ2xlTGluZUh0bWwob2xkTGluZSksXG4gICAgICAgICAgICByaWdodDogdGhpcy5nZW5lcmF0ZVNpbmdsZUxpbmVIdG1sKG5ld0xpbmUpLFxuICAgICAgICB9O1xuICAgIH07XG4gICAgTGluZUJ5TGluZVJlbmRlcmVyLnByb3RvdHlwZS5nZW5lcmF0ZVNpbmdsZUxpbmVIdG1sID0gZnVuY3Rpb24gKGxpbmUpIHtcbiAgICAgICAgaWYgKGxpbmUgPT09IHVuZGVmaW5lZClcbiAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgdmFyIGxpbmVOdW1iZXJIdG1sID0gdGhpcy5ob2dhblV0aWxzLnJlbmRlcihiYXNlVGVtcGxhdGVzUGF0aCwgJ251bWJlcnMnLCB7XG4gICAgICAgICAgICBvbGROdW1iZXI6IGxpbmUub2xkTnVtYmVyIHx8ICcnLFxuICAgICAgICAgICAgbmV3TnVtYmVyOiBsaW5lLm5ld051bWJlciB8fCAnJyxcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiB0aGlzLmhvZ2FuVXRpbHMucmVuZGVyKGdlbmVyaWNUZW1wbGF0ZXNQYXRoLCAnbGluZScsIHtcbiAgICAgICAgICAgIHR5cGU6IGxpbmUudHlwZSxcbiAgICAgICAgICAgIGxpbmVDbGFzczogJ2QyaC1jb2RlLWxpbmVudW1iZXInLFxuICAgICAgICAgICAgY29udGVudENsYXNzOiAnZDJoLWNvZGUtbGluZScsXG4gICAgICAgICAgICBwcmVmaXg6IGxpbmUucHJlZml4ID09PSAnICcgPyAnJm5ic3A7JyA6IGxpbmUucHJlZml4LFxuICAgICAgICAgICAgY29udGVudDogbGluZS5jb250ZW50LFxuICAgICAgICAgICAgbGluZU51bWJlcjogbGluZU51bWJlckh0bWwsXG4gICAgICAgIH0pO1xuICAgIH07XG4gICAgcmV0dXJuIExpbmVCeUxpbmVSZW5kZXJlcjtcbn0oKSk7XG5leHBvcnQgZGVmYXVsdCBMaW5lQnlMaW5lUmVuZGVyZXI7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1saW5lLWJ5LWxpbmUtcmVuZGVyZXIuanMubWFwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/diff2html/lib-esm/line-by-line-renderer.js\n"); /***/ }), /***/ "./node_modules/diff2html/lib-esm/rematch.js": /*!***************************************************!*\ !*** ./node_modules/diff2html/lib-esm/rematch.js ***! \***************************************************/ /*! exports provided: levenshtein, newDistanceFn, newMatcherFn */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"levenshtein\", function() { return levenshtein; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"newDistanceFn\", function() { return newDistanceFn; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"newMatcherFn\", function() { return newMatcherFn; });\nfunction levenshtein(a, b) {\n if (a.length === 0) {\n return b.length;\n }\n if (b.length === 0) {\n return a.length;\n }\n var matrix = [];\n var i;\n for (i = 0; i <= b.length; i++) {\n matrix[i] = [i];\n }\n var j;\n for (j = 0; j <= a.length; j++) {\n matrix[0][j] = j;\n }\n for (i = 1; i <= b.length; i++) {\n for (j = 1; j <= a.length; j++) {\n if (b.charAt(i - 1) === a.charAt(j - 1)) {\n matrix[i][j] = matrix[i - 1][j - 1];\n }\n else {\n matrix[i][j] = Math.min(matrix[i - 1][j - 1] + 1, Math.min(matrix[i][j - 1] + 1, matrix[i - 1][j] + 1));\n }\n }\n }\n return matrix[b.length][a.length];\n}\nfunction newDistanceFn(str) {\n return function (x, y) {\n var xValue = str(x).trim();\n var yValue = str(y).trim();\n var lev = levenshtein(xValue, yValue);\n return lev / (xValue.length + yValue.length);\n };\n}\nfunction newMatcherFn(distance) {\n function findBestMatch(a, b, cache) {\n if (cache === void 0) { cache = new Map(); }\n var bestMatchDist = Infinity;\n var bestMatch;\n for (var i = 0; i < a.length; ++i) {\n for (var j = 0; j < b.length; ++j) {\n var cacheKey = JSON.stringify([a[i], b[j]]);\n var md = void 0;\n if (!(cache.has(cacheKey) && (md = cache.get(cacheKey)))) {\n md = distance(a[i], b[j]);\n cache.set(cacheKey, md);\n }\n if (md < bestMatchDist) {\n bestMatchDist = md;\n bestMatch = { indexA: i, indexB: j, score: bestMatchDist };\n }\n }\n }\n return bestMatch;\n }\n function group(a, b, level, cache) {\n if (level === void 0) { level = 0; }\n if (cache === void 0) { cache = new Map(); }\n var bm = findBestMatch(a, b, cache);\n if (!bm || a.length + b.length < 3) {\n return [[a, b]];\n }\n var a1 = a.slice(0, bm.indexA);\n var b1 = b.slice(0, bm.indexB);\n var aMatch = [a[bm.indexA]];\n var bMatch = [b[bm.indexB]];\n var tailA = bm.indexA + 1;\n var tailB = bm.indexB + 1;\n var a2 = a.slice(tailA);\n var b2 = b.slice(tailB);\n var group1 = group(a1, b1, level + 1, cache);\n var groupMatch = group(aMatch, bMatch, level + 1, cache);\n var group2 = group(a2, b2, level + 1, cache);\n var result = groupMatch;\n if (bm.indexA > 0 || bm.indexB > 0) {\n result = group1.concat(result);\n }\n if (a.length > tailA || b.length > tailB) {\n result = result.concat(group2);\n }\n return result;\n }\n return group;\n}\n//# sourceMappingURL=rematch.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGlmZjJodG1sL2xpYi1lc20vcmVtYXRjaC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9kaWZmMmh0bWwvbGliLWVzbS9yZW1hdGNoLmpzP2FiZTgiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIGxldmVuc2h0ZWluKGEsIGIpIHtcbiAgICBpZiAoYS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgcmV0dXJuIGIubGVuZ3RoO1xuICAgIH1cbiAgICBpZiAoYi5sZW5ndGggPT09IDApIHtcbiAgICAgICAgcmV0dXJuIGEubGVuZ3RoO1xuICAgIH1cbiAgICB2YXIgbWF0cml4ID0gW107XG4gICAgdmFyIGk7XG4gICAgZm9yIChpID0gMDsgaSA8PSBiLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIG1hdHJpeFtpXSA9IFtpXTtcbiAgICB9XG4gICAgdmFyIGo7XG4gICAgZm9yIChqID0gMDsgaiA8PSBhLmxlbmd0aDsgaisrKSB7XG4gICAgICAgIG1hdHJpeFswXVtqXSA9IGo7XG4gICAgfVxuICAgIGZvciAoaSA9IDE7IGkgPD0gYi5sZW5ndGg7IGkrKykge1xuICAgICAgICBmb3IgKGogPSAxOyBqIDw9IGEubGVuZ3RoOyBqKyspIHtcbiAgICAgICAgICAgIGlmIChiLmNoYXJBdChpIC0gMSkgPT09IGEuY2hhckF0KGogLSAxKSkge1xuICAgICAgICAgICAgICAgIG1hdHJpeFtpXVtqXSA9IG1hdHJpeFtpIC0gMV1baiAtIDFdO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgbWF0cml4W2ldW2pdID0gTWF0aC5taW4obWF0cml4W2kgLSAxXVtqIC0gMV0gKyAxLCBNYXRoLm1pbihtYXRyaXhbaV1baiAtIDFdICsgMSwgbWF0cml4W2kgLSAxXVtqXSArIDEpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbWF0cml4W2IubGVuZ3RoXVthLmxlbmd0aF07XG59XG5leHBvcnQgZnVuY3Rpb24gbmV3RGlzdGFuY2VGbihzdHIpIHtcbiAgICByZXR1cm4gZnVuY3Rpb24gKHgsIHkpIHtcbiAgICAgICAgdmFyIHhWYWx1ZSA9IHN0cih4KS50cmltKCk7XG4gICAgICAgIHZhciB5VmFsdWUgPSBzdHIoeSkudHJpbSgpO1xuICAgICAgICB2YXIgbGV2ID0gbGV2ZW5zaHRlaW4oeFZhbHVlLCB5VmFsdWUpO1xuICAgICAgICByZXR1cm4gbGV2IC8gKHhWYWx1ZS5sZW5ndGggKyB5VmFsdWUubGVuZ3RoKTtcbiAgICB9O1xufVxuZXhwb3J0IGZ1bmN0aW9uIG5ld01hdGNoZXJGbihkaXN0YW5jZSkge1xuICAgIGZ1bmN0aW9uIGZpbmRCZXN0TWF0Y2goYSwgYiwgY2FjaGUpIHtcbiAgICAgICAgaWYgKGNhY2hlID09PSB2b2lkIDApIHsgY2FjaGUgPSBuZXcgTWFwKCk7IH1cbiAgICAgICAgdmFyIGJlc3RNYXRjaERpc3QgPSBJbmZpbml0eTtcbiAgICAgICAgdmFyIGJlc3RNYXRjaDtcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBhLmxlbmd0aDsgKytpKSB7XG4gICAgICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8IGIubGVuZ3RoOyArK2opIHtcbiAgICAgICAgICAgICAgICB2YXIgY2FjaGVLZXkgPSBKU09OLnN0cmluZ2lmeShbYVtpXSwgYltqXV0pO1xuICAgICAgICAgICAgICAgIHZhciBtZCA9IHZvaWQgMDtcbiAgICAgICAgICAgICAgICBpZiAoIShjYWNoZS5oYXMoY2FjaGVLZXkpICYmIChtZCA9IGNhY2hlLmdldChjYWNoZUtleSkpKSkge1xuICAgICAgICAgICAgICAgICAgICBtZCA9IGRpc3RhbmNlKGFbaV0sIGJbal0pO1xuICAgICAgICAgICAgICAgICAgICBjYWNoZS5zZXQoY2FjaGVLZXksIG1kKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG1kIDwgYmVzdE1hdGNoRGlzdCkge1xuICAgICAgICAgICAgICAgICAgICBiZXN0TWF0Y2hEaXN0ID0gbWQ7XG4gICAgICAgICAgICAgICAgICAgIGJlc3RNYXRjaCA9IHsgaW5kZXhBOiBpLCBpbmRleEI6IGosIHNjb3JlOiBiZXN0TWF0Y2hEaXN0IH07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBiZXN0TWF0Y2g7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGdyb3VwKGEsIGIsIGxldmVsLCBjYWNoZSkge1xuICAgICAgICBpZiAobGV2ZWwgPT09IHZvaWQgMCkgeyBsZXZlbCA9IDA7IH1cbiAgICAgICAgaWYgKGNhY2hlID09PSB2b2lkIDApIHsgY2FjaGUgPSBuZXcgTWFwKCk7IH1cbiAgICAgICAgdmFyIGJtID0gZmluZEJlc3RNYXRjaChhLCBiLCBjYWNoZSk7XG4gICAgICAgIGlmICghYm0gfHwgYS5sZW5ndGggKyBiLmxlbmd0aCA8IDMpIHtcbiAgICAgICAgICAgIHJldHVybiBbW2EsIGJdXTtcbiAgICAgICAgfVxuICAgICAgICB2YXIgYTEgPSBhLnNsaWNlKDAsIGJtLmluZGV4QSk7XG4gICAgICAgIHZhciBiMSA9IGIuc2xpY2UoMCwgYm0uaW5kZXhCKTtcbiAgICAgICAgdmFyIGFNYXRjaCA9IFthW2JtLmluZGV4QV1dO1xuICAgICAgICB2YXIgYk1hdGNoID0gW2JbYm0uaW5kZXhCXV07XG4gICAgICAgIHZhciB0YWlsQSA9IGJtLmluZGV4QSArIDE7XG4gICAgICAgIHZhciB0YWlsQiA9IGJtLmluZGV4QiArIDE7XG4gICAgICAgIHZhciBhMiA9IGEuc2xpY2UodGFpbEEpO1xuICAgICAgICB2YXIgYjIgPSBiLnNsaWNlKHRhaWxCKTtcbiAgICAgICAgdmFyIGdyb3VwMSA9IGdyb3VwKGExLCBiMSwgbGV2ZWwgKyAxLCBjYWNoZSk7XG4gICAgICAgIHZhciBncm91cE1hdGNoID0gZ3JvdXAoYU1hdGNoLCBiTWF0Y2gsIGxldmVsICsgMSwgY2FjaGUpO1xuICAgICAgICB2YXIgZ3JvdXAyID0gZ3JvdXAoYTIsIGIyLCBsZXZlbCArIDEsIGNhY2hlKTtcbiAgICAgICAgdmFyIHJlc3VsdCA9IGdyb3VwTWF0Y2g7XG4gICAgICAgIGlmIChibS5pbmRleEEgPiAwIHx8IGJtLmluZGV4QiA+IDApIHtcbiAgICAgICAgICAgIHJlc3VsdCA9IGdyb3VwMS5jb25jYXQocmVzdWx0KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoYS5sZW5ndGggPiB0YWlsQSB8fCBiLmxlbmd0aCA+IHRhaWxCKSB7XG4gICAgICAgICAgICByZXN1bHQgPSByZXN1bHQuY29uY2F0KGdyb3VwMik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG4gICAgcmV0dXJuIGdyb3VwO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cmVtYXRjaC5qcy5tYXAiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/diff2html/lib-esm/rematch.js\n"); /***/ }), /***/ "./node_modules/diff2html/lib-esm/render-utils.js": /*!********************************************************!*\ !*** ./node_modules/diff2html/lib-esm/render-utils.js ***! \********************************************************/ /*! exports provided: CSSLineClass, defaultRenderConfig, toCSSClass, escapeForHtml, deconstructLine, filenameDiff, getHtmlId, getFileIcon, diffHighlight */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"CSSLineClass\", function() { return CSSLineClass; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"defaultRenderConfig\", function() { return defaultRenderConfig; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"toCSSClass\", function() { return toCSSClass; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"escapeForHtml\", function() { return escapeForHtml; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"deconstructLine\", function() { return deconstructLine; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"filenameDiff\", function() { return filenameDiff; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getHtmlId\", function() { return getHtmlId; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getFileIcon\", function() { return getFileIcon; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"diffHighlight\", function() { return diffHighlight; });\n/* harmony import */ var diff__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! diff */ \"./node_modules/diff2html/node_modules/diff/dist/diff.js\");\n/* harmony import */ var diff__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(diff__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils */ \"./node_modules/diff2html/lib-esm/utils.js\");\n/* harmony import */ var _rematch__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./rematch */ \"./node_modules/diff2html/lib-esm/rematch.js\");\n/* harmony import */ var _types__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./types */ \"./node_modules/diff2html/lib-esm/types.js\");\nvar __assign = (undefined && undefined.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n\n\n\n\nvar CSSLineClass = {\n INSERTS: 'd2h-ins',\n DELETES: 'd2h-del',\n CONTEXT: 'd2h-cntx',\n INFO: 'd2h-info',\n INSERT_CHANGES: 'd2h-ins d2h-change',\n DELETE_CHANGES: 'd2h-del d2h-change',\n};\nvar defaultRenderConfig = {\n matching: _types__WEBPACK_IMPORTED_MODULE_3__[\"LineMatchingType\"].NONE,\n matchWordsThreshold: 0.25,\n maxLineLengthHighlight: 10000,\n diffStyle: _types__WEBPACK_IMPORTED_MODULE_3__[\"DiffStyleType\"].WORD,\n};\nvar separator = '/';\nvar distance = _rematch__WEBPACK_IMPORTED_MODULE_2__[\"newDistanceFn\"](function (change) { return change.value; });\nvar matcher = _rematch__WEBPACK_IMPORTED_MODULE_2__[\"newMatcherFn\"](distance);\nfunction isDevNullName(name) {\n return name.indexOf('dev/null') !== -1;\n}\nfunction removeInsElements(line) {\n return line.replace(/(]*>((.|\\n)*?)<\\/ins>)/g, '');\n}\nfunction removeDelElements(line) {\n return line.replace(/(]*>((.|\\n)*?)<\\/del>)/g, '');\n}\nfunction toCSSClass(lineType) {\n switch (lineType) {\n case _types__WEBPACK_IMPORTED_MODULE_3__[\"LineType\"].CONTEXT:\n return CSSLineClass.CONTEXT;\n case _types__WEBPACK_IMPORTED_MODULE_3__[\"LineType\"].INSERT:\n return CSSLineClass.INSERTS;\n case _types__WEBPACK_IMPORTED_MODULE_3__[\"LineType\"].DELETE:\n return CSSLineClass.DELETES;\n }\n}\nfunction prefixLength(isCombined) {\n return isCombined ? 2 : 1;\n}\nfunction escapeForHtml(str) {\n return str\n .slice(0)\n .replace(/&/g, '&')\n .replace(//g, '>')\n .replace(/\"/g, '"')\n .replace(/'/g, ''')\n .replace(/\\//g, '/');\n}\nfunction deconstructLine(line, isCombined, escape) {\n if (escape === void 0) { escape = true; }\n var indexToSplit = prefixLength(isCombined);\n return {\n prefix: line.substring(0, indexToSplit),\n content: escape ? escapeForHtml(line.substring(indexToSplit)) : line.substring(indexToSplit),\n };\n}\nfunction filenameDiff(file) {\n var oldFilename = Object(_utils__WEBPACK_IMPORTED_MODULE_1__[\"unifyPath\"])(file.oldName);\n var newFilename = Object(_utils__WEBPACK_IMPORTED_MODULE_1__[\"unifyPath\"])(file.newName);\n if (oldFilename !== newFilename && !isDevNullName(oldFilename) && !isDevNullName(newFilename)) {\n var prefixPaths = [];\n var suffixPaths = [];\n var oldFilenameParts = oldFilename.split(separator);\n var newFilenameParts = newFilename.split(separator);\n var oldFilenamePartsSize = oldFilenameParts.length;\n var newFilenamePartsSize = newFilenameParts.length;\n var i = 0;\n var j = oldFilenamePartsSize - 1;\n var k = newFilenamePartsSize - 1;\n while (i < j && i < k) {\n if (oldFilenameParts[i] === newFilenameParts[i]) {\n prefixPaths.push(newFilenameParts[i]);\n i += 1;\n }\n else {\n break;\n }\n }\n while (j > i && k > i) {\n if (oldFilenameParts[j] === newFilenameParts[k]) {\n suffixPaths.unshift(newFilenameParts[k]);\n j -= 1;\n k -= 1;\n }\n else {\n break;\n }\n }\n var finalPrefix = prefixPaths.join(separator);\n var finalSuffix = suffixPaths.join(separator);\n var oldRemainingPath = oldFilenameParts.slice(i, j + 1).join(separator);\n var newRemainingPath = newFilenameParts.slice(i, k + 1).join(separator);\n if (finalPrefix.length && finalSuffix.length) {\n return (finalPrefix + separator + '{' + oldRemainingPath + ' → ' + newRemainingPath + '}' + separator + finalSuffix);\n }\n else if (finalPrefix.length) {\n return finalPrefix + separator + '{' + oldRemainingPath + ' → ' + newRemainingPath + '}';\n }\n else if (finalSuffix.length) {\n return '{' + oldRemainingPath + ' → ' + newRemainingPath + '}' + separator + finalSuffix;\n }\n return oldFilename + ' → ' + newFilename;\n }\n else if (!isDevNullName(newFilename)) {\n return newFilename;\n }\n else {\n return oldFilename;\n }\n}\nfunction getHtmlId(file) {\n return \"d2h-\" + Object(_utils__WEBPACK_IMPORTED_MODULE_1__[\"hashCode\"])(filenameDiff(file))\n .toString()\n .slice(-6);\n}\nfunction getFileIcon(file) {\n var templateName = 'file-changed';\n if (file.isRename) {\n templateName = 'file-renamed';\n }\n else if (file.isCopy) {\n templateName = 'file-renamed';\n }\n else if (file.isNew) {\n templateName = 'file-added';\n }\n else if (file.isDeleted) {\n templateName = 'file-deleted';\n }\n else if (file.newName !== file.oldName) {\n templateName = 'file-renamed';\n }\n return templateName;\n}\nfunction diffHighlight(diffLine1, diffLine2, isCombined, config) {\n if (config === void 0) { config = {}; }\n var _a = __assign(__assign({}, defaultRenderConfig), config), matching = _a.matching, maxLineLengthHighlight = _a.maxLineLengthHighlight, matchWordsThreshold = _a.matchWordsThreshold, diffStyle = _a.diffStyle;\n var line1 = deconstructLine(diffLine1, isCombined, false);\n var line2 = deconstructLine(diffLine2, isCombined, false);\n if (line1.content.length > maxLineLengthHighlight || line2.content.length > maxLineLengthHighlight) {\n return {\n oldLine: {\n prefix: line1.prefix,\n content: line1.content,\n },\n newLine: {\n prefix: line2.prefix,\n content: line2.content,\n },\n };\n }\n var diff = diffStyle === 'char'\n ? diff__WEBPACK_IMPORTED_MODULE_0__[\"diffChars\"](line1.content, line2.content)\n : diff__WEBPACK_IMPORTED_MODULE_0__[\"diffWordsWithSpace\"](line1.content, line2.content);\n var changedWords = [];\n if (diffStyle === 'word' && matching === 'words') {\n var removed = diff.filter(function (element) { return element.removed; });\n var added = diff.filter(function (element) { return element.added; });\n var chunks = matcher(added, removed);\n chunks.forEach(function (chunk) {\n if (chunk[0].length === 1 && chunk[1].length === 1) {\n var dist = distance(chunk[0][0], chunk[1][0]);\n if (dist < matchWordsThreshold) {\n changedWords.push(chunk[0][0]);\n changedWords.push(chunk[1][0]);\n }\n }\n });\n }\n var highlightedLine = diff.reduce(function (highlightedLine, part) {\n var elemType = part.added ? 'ins' : part.removed ? 'del' : null;\n var addClass = changedWords.indexOf(part) > -1 ? ' class=\"d2h-change\"' : '';\n var escapedValue = escapeForHtml(part.value);\n return elemType !== null\n ? highlightedLine + \"<\" + elemType + addClass + \">\" + escapedValue + \"\"\n : \"\" + highlightedLine + escapedValue;\n }, '');\n return {\n oldLine: {\n prefix: line1.prefix,\n content: removeInsElements(highlightedLine),\n },\n newLine: {\n prefix: line2.prefix,\n content: removeDelElements(highlightedLine),\n },\n };\n}\n//# sourceMappingURL=render-utils.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGlmZjJodG1sL2xpYi1lc20vcmVuZGVyLXV0aWxzLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2RpZmYyaHRtbC9saWItZXNtL3JlbmRlci11dGlscy5qcz9hOGQyIl0sInNvdXJjZXNDb250ZW50IjpbInZhciBfX2Fzc2lnbiA9ICh0aGlzICYmIHRoaXMuX19hc3NpZ24pIHx8IGZ1bmN0aW9uICgpIHtcbiAgICBfX2Fzc2lnbiA9IE9iamVjdC5hc3NpZ24gfHwgZnVuY3Rpb24odCkge1xuICAgICAgICBmb3IgKHZhciBzLCBpID0gMSwgbiA9IGFyZ3VtZW50cy5sZW5ndGg7IGkgPCBuOyBpKyspIHtcbiAgICAgICAgICAgIHMgPSBhcmd1bWVudHNbaV07XG4gICAgICAgICAgICBmb3IgKHZhciBwIGluIHMpIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocywgcCkpXG4gICAgICAgICAgICAgICAgdFtwXSA9IHNbcF07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHQ7XG4gICAgfTtcbiAgICByZXR1cm4gX19hc3NpZ24uYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbn07XG5pbXBvcnQgKiBhcyBqc0RpZmYgZnJvbSAnZGlmZic7XG5pbXBvcnQgeyB1bmlmeVBhdGgsIGhhc2hDb2RlIH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgKiBhcyByZW1hdGNoIGZyb20gJy4vcmVtYXRjaCc7XG5pbXBvcnQgeyBMaW5lTWF0Y2hpbmdUeXBlLCBEaWZmU3R5bGVUeXBlLCBMaW5lVHlwZSB9IGZyb20gJy4vdHlwZXMnO1xuZXhwb3J0IHZhciBDU1NMaW5lQ2xhc3MgPSB7XG4gICAgSU5TRVJUUzogJ2QyaC1pbnMnLFxuICAgIERFTEVURVM6ICdkMmgtZGVsJyxcbiAgICBDT05URVhUOiAnZDJoLWNudHgnLFxuICAgIElORk86ICdkMmgtaW5mbycsXG4gICAgSU5TRVJUX0NIQU5HRVM6ICdkMmgtaW5zIGQyaC1jaGFuZ2UnLFxuICAgIERFTEVURV9DSEFOR0VTOiAnZDJoLWRlbCBkMmgtY2hhbmdlJyxcbn07XG5leHBvcnQgdmFyIGRlZmF1bHRSZW5kZXJDb25maWcgPSB7XG4gICAgbWF0Y2hpbmc6IExpbmVNYXRjaGluZ1R5cGUuTk9ORSxcbiAgICBtYXRjaFdvcmRzVGhyZXNob2xkOiAwLjI1LFxuICAgIG1heExpbmVMZW5ndGhIaWdobGlnaHQ6IDEwMDAwLFxuICAgIGRpZmZTdHlsZTogRGlmZlN0eWxlVHlwZS5XT1JELFxufTtcbnZhciBzZXBhcmF0b3IgPSAnLyc7XG52YXIgZGlzdGFuY2UgPSByZW1hdGNoLm5ld0Rpc3RhbmNlRm4oZnVuY3Rpb24gKGNoYW5nZSkgeyByZXR1cm4gY2hhbmdlLnZhbHVlOyB9KTtcbnZhciBtYXRjaGVyID0gcmVtYXRjaC5uZXdNYXRjaGVyRm4oZGlzdGFuY2UpO1xuZnVuY3Rpb24gaXNEZXZOdWxsTmFtZShuYW1lKSB7XG4gICAgcmV0dXJuIG5hbWUuaW5kZXhPZignZGV2L251bGwnKSAhPT0gLTE7XG59XG5mdW5jdGlvbiByZW1vdmVJbnNFbGVtZW50cyhsaW5lKSB7XG4gICAgcmV0dXJuIGxpbmUucmVwbGFjZSgvKDxpbnNbXj5dKj4oKC58XFxuKSo/KTxcXC9pbnM+KS9nLCAnJyk7XG59XG5mdW5jdGlvbiByZW1vdmVEZWxFbGVtZW50cyhsaW5lKSB7XG4gICAgcmV0dXJuIGxpbmUucmVwbGFjZSgvKDxkZWxbXj5dKj4oKC58XFxuKSo/KTxcXC9kZWw+KS9nLCAnJyk7XG59XG5leHBvcnQgZnVuY3Rpb24gdG9DU1NDbGFzcyhsaW5lVHlwZSkge1xuICAgIHN3aXRjaCAobGluZVR5cGUpIHtcbiAgICAgICAgY2FzZSBMaW5lVHlwZS5DT05URVhUOlxuICAgICAgICAgICAgcmV0dXJuIENTU0xpbmVDbGFzcy5DT05URVhUO1xuICAgICAgICBjYXNlIExpbmVUeXBlLklOU0VSVDpcbiAgICAgICAgICAgIHJldHVybiBDU1NMaW5lQ2xhc3MuSU5TRVJUUztcbiAgICAgICAgY2FzZSBMaW5lVHlwZS5ERUxFVEU6XG4gICAgICAgICAgICByZXR1cm4gQ1NTTGluZUNsYXNzLkRFTEVURVM7XG4gICAgfVxufVxuZnVuY3Rpb24gcHJlZml4TGVuZ3RoKGlzQ29tYmluZWQpIHtcbiAgICByZXR1cm4gaXNDb21iaW5lZCA/IDIgOiAxO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGVzY2FwZUZvckh0bWwoc3RyKSB7XG4gICAgcmV0dXJuIHN0clxuICAgICAgICAuc2xpY2UoMClcbiAgICAgICAgLnJlcGxhY2UoLyYvZywgJyZhbXA7JylcbiAgICAgICAgLnJlcGxhY2UoLzwvZywgJyZsdDsnKVxuICAgICAgICAucmVwbGFjZSgvPi9nLCAnJmd0OycpXG4gICAgICAgIC5yZXBsYWNlKC9cIi9nLCAnJnF1b3Q7JylcbiAgICAgICAgLnJlcGxhY2UoLycvZywgJyYjeDI3OycpXG4gICAgICAgIC5yZXBsYWNlKC9cXC8vZywgJyYjeDJGOycpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGRlY29uc3RydWN0TGluZShsaW5lLCBpc0NvbWJpbmVkLCBlc2NhcGUpIHtcbiAgICBpZiAoZXNjYXBlID09PSB2b2lkIDApIHsgZXNjYXBlID0gdHJ1ZTsgfVxuICAgIHZhciBpbmRleFRvU3BsaXQgPSBwcmVmaXhMZW5ndGgoaXNDb21iaW5lZCk7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgcHJlZml4OiBsaW5lLnN1YnN0cmluZygwLCBpbmRleFRvU3BsaXQpLFxuICAgICAgICBjb250ZW50OiBlc2NhcGUgPyBlc2NhcGVGb3JIdG1sKGxpbmUuc3Vic3RyaW5nKGluZGV4VG9TcGxpdCkpIDogbGluZS5zdWJzdHJpbmcoaW5kZXhUb1NwbGl0KSxcbiAgICB9O1xufVxuZXhwb3J0IGZ1bmN0aW9uIGZpbGVuYW1lRGlmZihmaWxlKSB7XG4gICAgdmFyIG9sZEZpbGVuYW1lID0gdW5pZnlQYXRoKGZpbGUub2xkTmFtZSk7XG4gICAgdmFyIG5ld0ZpbGVuYW1lID0gdW5pZnlQYXRoKGZpbGUubmV3TmFtZSk7XG4gICAgaWYgKG9sZEZpbGVuYW1lICE9PSBuZXdGaWxlbmFtZSAmJiAhaXNEZXZOdWxsTmFtZShvbGRGaWxlbmFtZSkgJiYgIWlzRGV2TnVsbE5hbWUobmV3RmlsZW5hbWUpKSB7XG4gICAgICAgIHZhciBwcmVmaXhQYXRocyA9IFtdO1xuICAgICAgICB2YXIgc3VmZml4UGF0aHMgPSBbXTtcbiAgICAgICAgdmFyIG9sZEZpbGVuYW1lUGFydHMgPSBvbGRGaWxlbmFtZS5zcGxpdChzZXBhcmF0b3IpO1xuICAgICAgICB2YXIgbmV3RmlsZW5hbWVQYXJ0cyA9IG5ld0ZpbGVuYW1lLnNwbGl0KHNlcGFyYXRvcik7XG4gICAgICAgIHZhciBvbGRGaWxlbmFtZVBhcnRzU2l6ZSA9IG9sZEZpbGVuYW1lUGFydHMubGVuZ3RoO1xuICAgICAgICB2YXIgbmV3RmlsZW5hbWVQYXJ0c1NpemUgPSBuZXdGaWxlbmFtZVBhcnRzLmxlbmd0aDtcbiAgICAgICAgdmFyIGkgPSAwO1xuICAgICAgICB2YXIgaiA9IG9sZEZpbGVuYW1lUGFydHNTaXplIC0gMTtcbiAgICAgICAgdmFyIGsgPSBuZXdGaWxlbmFtZVBhcnRzU2l6ZSAtIDE7XG4gICAgICAgIHdoaWxlIChpIDwgaiAmJiBpIDwgaykge1xuICAgICAgICAgICAgaWYgKG9sZEZpbGVuYW1lUGFydHNbaV0gPT09IG5ld0ZpbGVuYW1lUGFydHNbaV0pIHtcbiAgICAgICAgICAgICAgICBwcmVmaXhQYXRocy5wdXNoKG5ld0ZpbGVuYW1lUGFydHNbaV0pO1xuICAgICAgICAgICAgICAgIGkgKz0gMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHdoaWxlIChqID4gaSAmJiBrID4gaSkge1xuICAgICAgICAgICAgaWYgKG9sZEZpbGVuYW1lUGFydHNbal0gPT09IG5ld0ZpbGVuYW1lUGFydHNba10pIHtcbiAgICAgICAgICAgICAgICBzdWZmaXhQYXRocy51bnNoaWZ0KG5ld0ZpbGVuYW1lUGFydHNba10pO1xuICAgICAgICAgICAgICAgIGogLT0gMTtcbiAgICAgICAgICAgICAgICBrIC09IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB2YXIgZmluYWxQcmVmaXggPSBwcmVmaXhQYXRocy5qb2luKHNlcGFyYXRvcik7XG4gICAgICAgIHZhciBmaW5hbFN1ZmZpeCA9IHN1ZmZpeFBhdGhzLmpvaW4oc2VwYXJhdG9yKTtcbiAgICAgICAgdmFyIG9sZFJlbWFpbmluZ1BhdGggPSBvbGRGaWxlbmFtZVBhcnRzLnNsaWNlKGksIGogKyAxKS5qb2luKHNlcGFyYXRvcik7XG4gICAgICAgIHZhciBuZXdSZW1haW5pbmdQYXRoID0gbmV3RmlsZW5hbWVQYXJ0cy5zbGljZShpLCBrICsgMSkuam9pbihzZXBhcmF0b3IpO1xuICAgICAgICBpZiAoZmluYWxQcmVmaXgubGVuZ3RoICYmIGZpbmFsU3VmZml4Lmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuIChmaW5hbFByZWZpeCArIHNlcGFyYXRvciArICd7JyArIG9sZFJlbWFpbmluZ1BhdGggKyAnIOKGkiAnICsgbmV3UmVtYWluaW5nUGF0aCArICd9JyArIHNlcGFyYXRvciArIGZpbmFsU3VmZml4KTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChmaW5hbFByZWZpeC5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiBmaW5hbFByZWZpeCArIHNlcGFyYXRvciArICd7JyArIG9sZFJlbWFpbmluZ1BhdGggKyAnIOKGkiAnICsgbmV3UmVtYWluaW5nUGF0aCArICd9JztcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChmaW5hbFN1ZmZpeC5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiAneycgKyBvbGRSZW1haW5pbmdQYXRoICsgJyDihpIgJyArIG5ld1JlbWFpbmluZ1BhdGggKyAnfScgKyBzZXBhcmF0b3IgKyBmaW5hbFN1ZmZpeDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gb2xkRmlsZW5hbWUgKyAnIOKGkiAnICsgbmV3RmlsZW5hbWU7XG4gICAgfVxuICAgIGVsc2UgaWYgKCFpc0Rldk51bGxOYW1lKG5ld0ZpbGVuYW1lKSkge1xuICAgICAgICByZXR1cm4gbmV3RmlsZW5hbWU7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICByZXR1cm4gb2xkRmlsZW5hbWU7XG4gICAgfVxufVxuZXhwb3J0IGZ1bmN0aW9uIGdldEh0bWxJZChmaWxlKSB7XG4gICAgcmV0dXJuIFwiZDJoLVwiICsgaGFzaENvZGUoZmlsZW5hbWVEaWZmKGZpbGUpKVxuICAgICAgICAudG9TdHJpbmcoKVxuICAgICAgICAuc2xpY2UoLTYpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGdldEZpbGVJY29uKGZpbGUpIHtcbiAgICB2YXIgdGVtcGxhdGVOYW1lID0gJ2ZpbGUtY2hhbmdlZCc7XG4gICAgaWYgKGZpbGUuaXNSZW5hbWUpIHtcbiAgICAgICAgdGVtcGxhdGVOYW1lID0gJ2ZpbGUtcmVuYW1lZCc7XG4gICAgfVxuICAgIGVsc2UgaWYgKGZpbGUuaXNDb3B5KSB7XG4gICAgICAgIHRlbXBsYXRlTmFtZSA9ICdmaWxlLXJlbmFtZWQnO1xuICAgIH1cbiAgICBlbHNlIGlmIChmaWxlLmlzTmV3KSB7XG4gICAgICAgIHRlbXBsYXRlTmFtZSA9ICdmaWxlLWFkZGVkJztcbiAgICB9XG4gICAgZWxzZSBpZiAoZmlsZS5pc0RlbGV0ZWQpIHtcbiAgICAgICAgdGVtcGxhdGVOYW1lID0gJ2ZpbGUtZGVsZXRlZCc7XG4gICAgfVxuICAgIGVsc2UgaWYgKGZpbGUubmV3TmFtZSAhPT0gZmlsZS5vbGROYW1lKSB7XG4gICAgICAgIHRlbXBsYXRlTmFtZSA9ICdmaWxlLXJlbmFtZWQnO1xuICAgIH1cbiAgICByZXR1cm4gdGVtcGxhdGVOYW1lO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGRpZmZIaWdobGlnaHQoZGlmZkxpbmUxLCBkaWZmTGluZTIsIGlzQ29tYmluZWQsIGNvbmZpZykge1xuICAgIGlmIChjb25maWcgPT09IHZvaWQgMCkgeyBjb25maWcgPSB7fTsgfVxuICAgIHZhciBfYSA9IF9fYXNzaWduKF9fYXNzaWduKHt9LCBkZWZhdWx0UmVuZGVyQ29uZmlnKSwgY29uZmlnKSwgbWF0Y2hpbmcgPSBfYS5tYXRjaGluZywgbWF4TGluZUxlbmd0aEhpZ2hsaWdodCA9IF9hLm1heExpbmVMZW5ndGhIaWdobGlnaHQsIG1hdGNoV29yZHNUaHJlc2hvbGQgPSBfYS5tYXRjaFdvcmRzVGhyZXNob2xkLCBkaWZmU3R5bGUgPSBfYS5kaWZmU3R5bGU7XG4gICAgdmFyIGxpbmUxID0gZGVjb25zdHJ1Y3RMaW5lKGRpZmZMaW5lMSwgaXNDb21iaW5lZCwgZmFsc2UpO1xuICAgIHZhciBsaW5lMiA9IGRlY29uc3RydWN0TGluZShkaWZmTGluZTIsIGlzQ29tYmluZWQsIGZhbHNlKTtcbiAgICBpZiAobGluZTEuY29udGVudC5sZW5ndGggPiBtYXhMaW5lTGVuZ3RoSGlnaGxpZ2h0IHx8IGxpbmUyLmNvbnRlbnQubGVuZ3RoID4gbWF4TGluZUxlbmd0aEhpZ2hsaWdodCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgb2xkTGluZToge1xuICAgICAgICAgICAgICAgIHByZWZpeDogbGluZTEucHJlZml4LFxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IGxpbmUxLmNvbnRlbnQsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgbmV3TGluZToge1xuICAgICAgICAgICAgICAgIHByZWZpeDogbGluZTIucHJlZml4LFxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IGxpbmUyLmNvbnRlbnQsXG4gICAgICAgICAgICB9LFxuICAgICAgICB9O1xuICAgIH1cbiAgICB2YXIgZGlmZiA9IGRpZmZTdHlsZSA9PT0gJ2NoYXInXG4gICAgICAgID8ganNEaWZmLmRpZmZDaGFycyhsaW5lMS5jb250ZW50LCBsaW5lMi5jb250ZW50KVxuICAgICAgICA6IGpzRGlmZi5kaWZmV29yZHNXaXRoU3BhY2UobGluZTEuY29udGVudCwgbGluZTIuY29udGVudCk7XG4gICAgdmFyIGNoYW5nZWRXb3JkcyA9IFtdO1xuICAgIGlmIChkaWZmU3R5bGUgPT09ICd3b3JkJyAmJiBtYXRjaGluZyA9PT0gJ3dvcmRzJykge1xuICAgICAgICB2YXIgcmVtb3ZlZCA9IGRpZmYuZmlsdGVyKGZ1bmN0aW9uIChlbGVtZW50KSB7IHJldHVybiBlbGVtZW50LnJlbW92ZWQ7IH0pO1xuICAgICAgICB2YXIgYWRkZWQgPSBkaWZmLmZpbHRlcihmdW5jdGlvbiAoZWxlbWVudCkgeyByZXR1cm4gZWxlbWVudC5hZGRlZDsgfSk7XG4gICAgICAgIHZhciBjaHVua3MgPSBtYXRjaGVyKGFkZGVkLCByZW1vdmVkKTtcbiAgICAgICAgY2h1bmtzLmZvckVhY2goZnVuY3Rpb24gKGNodW5rKSB7XG4gICAgICAgICAgICBpZiAoY2h1bmtbMF0ubGVuZ3RoID09PSAxICYmIGNodW5rWzFdLmxlbmd0aCA9PT0gMSkge1xuICAgICAgICAgICAgICAgIHZhciBkaXN0ID0gZGlzdGFuY2UoY2h1bmtbMF1bMF0sIGNodW5rWzFdWzBdKTtcbiAgICAgICAgICAgICAgICBpZiAoZGlzdCA8IG1hdGNoV29yZHNUaHJlc2hvbGQpIHtcbiAgICAgICAgICAgICAgICAgICAgY2hhbmdlZFdvcmRzLnB1c2goY2h1bmtbMF1bMF0pO1xuICAgICAgICAgICAgICAgICAgICBjaGFuZ2VkV29yZHMucHVzaChjaHVua1sxXVswXSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG4gICAgdmFyIGhpZ2hsaWdodGVkTGluZSA9IGRpZmYucmVkdWNlKGZ1bmN0aW9uIChoaWdobGlnaHRlZExpbmUsIHBhcnQpIHtcbiAgICAgICAgdmFyIGVsZW1UeXBlID0gcGFydC5hZGRlZCA/ICdpbnMnIDogcGFydC5yZW1vdmVkID8gJ2RlbCcgOiBudWxsO1xuICAgICAgICB2YXIgYWRkQ2xhc3MgPSBjaGFuZ2VkV29yZHMuaW5kZXhPZihwYXJ0KSA+IC0xID8gJyBjbGFzcz1cImQyaC1jaGFuZ2VcIicgOiAnJztcbiAgICAgICAgdmFyIGVzY2FwZWRWYWx1ZSA9IGVzY2FwZUZvckh0bWwocGFydC52YWx1ZSk7XG4gICAgICAgIHJldHVybiBlbGVtVHlwZSAhPT0gbnVsbFxuICAgICAgICAgICAgPyBoaWdobGlnaHRlZExpbmUgKyBcIjxcIiArIGVsZW1UeXBlICsgYWRkQ2xhc3MgKyBcIj5cIiArIGVzY2FwZWRWYWx1ZSArIFwiPC9cIiArIGVsZW1UeXBlICsgXCI+XCJcbiAgICAgICAgICAgIDogXCJcIiArIGhpZ2hsaWdodGVkTGluZSArIGVzY2FwZWRWYWx1ZTtcbiAgICB9LCAnJyk7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgb2xkTGluZToge1xuICAgICAgICAgICAgcHJlZml4OiBsaW5lMS5wcmVmaXgsXG4gICAgICAgICAgICBjb250ZW50OiByZW1vdmVJbnNFbGVtZW50cyhoaWdobGlnaHRlZExpbmUpLFxuICAgICAgICB9LFxuICAgICAgICBuZXdMaW5lOiB7XG4gICAgICAgICAgICBwcmVmaXg6IGxpbmUyLnByZWZpeCxcbiAgICAgICAgICAgIGNvbnRlbnQ6IHJlbW92ZURlbEVsZW1lbnRzKGhpZ2hsaWdodGVkTGluZSksXG4gICAgICAgIH0sXG4gICAgfTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXJlbmRlci11dGlscy5qcy5tYXAiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/diff2html/lib-esm/render-utils.js\n"); /***/ }), /***/ "./node_modules/diff2html/lib-esm/side-by-side-renderer.js": /*!*****************************************************************!*\ !*** ./node_modules/diff2html/lib-esm/side-by-side-renderer.js ***! \*****************************************************************/ /*! exports provided: defaultSideBySideRendererConfig, default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"defaultSideBySideRendererConfig\", function() { return defaultSideBySideRendererConfig; });\n/* harmony import */ var _rematch__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./rematch */ \"./node_modules/diff2html/lib-esm/rematch.js\");\n/* harmony import */ var _render_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./render-utils */ \"./node_modules/diff2html/lib-esm/render-utils.js\");\n/* harmony import */ var _types__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./types */ \"./node_modules/diff2html/lib-esm/types.js\");\nvar __assign = (undefined && undefined.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n\n\n\nvar defaultSideBySideRendererConfig = __assign(__assign({}, _render_utils__WEBPACK_IMPORTED_MODULE_1__[\"defaultRenderConfig\"]), { renderNothingWhenEmpty: false, matchingMaxComparisons: 2500, maxLineSizeInBlockForComparison: 200 });\nvar genericTemplatesPath = 'generic';\nvar baseTemplatesPath = 'side-by-side';\nvar iconsBaseTemplatesPath = 'icon';\nvar tagsBaseTemplatesPath = 'tag';\nvar SideBySideRenderer = (function () {\n function SideBySideRenderer(hoganUtils, config) {\n if (config === void 0) { config = {}; }\n this.hoganUtils = hoganUtils;\n this.config = __assign(__assign({}, defaultSideBySideRendererConfig), config);\n }\n SideBySideRenderer.prototype.render = function (diffFiles) {\n var _this = this;\n var diffsHtml = diffFiles\n .map(function (file) {\n var diffs;\n if (file.blocks.length) {\n diffs = _this.generateFileHtml(file);\n }\n else {\n diffs = _this.generateEmptyDiff();\n }\n return _this.makeFileDiffHtml(file, diffs);\n })\n .join('\\n');\n return this.hoganUtils.render(genericTemplatesPath, 'wrapper', { content: diffsHtml });\n };\n SideBySideRenderer.prototype.makeFileDiffHtml = function (file, diffs) {\n if (this.config.renderNothingWhenEmpty && Array.isArray(file.blocks) && file.blocks.length === 0)\n return '';\n var fileDiffTemplate = this.hoganUtils.template(baseTemplatesPath, 'file-diff');\n var filePathTemplate = this.hoganUtils.template(genericTemplatesPath, 'file-path');\n var fileIconTemplate = this.hoganUtils.template(iconsBaseTemplatesPath, 'file');\n var fileTagTemplate = this.hoganUtils.template(tagsBaseTemplatesPath, _render_utils__WEBPACK_IMPORTED_MODULE_1__[\"getFileIcon\"](file));\n return fileDiffTemplate.render({\n file: file,\n fileHtmlId: _render_utils__WEBPACK_IMPORTED_MODULE_1__[\"getHtmlId\"](file),\n diffs: diffs,\n filePath: filePathTemplate.render({\n fileDiffName: _render_utils__WEBPACK_IMPORTED_MODULE_1__[\"filenameDiff\"](file),\n }, {\n fileIcon: fileIconTemplate,\n fileTag: fileTagTemplate,\n }),\n });\n };\n SideBySideRenderer.prototype.generateEmptyDiff = function () {\n return {\n right: '',\n left: this.hoganUtils.render(genericTemplatesPath, 'empty-diff', {\n contentClass: 'd2h-code-side-line',\n CSSLineClass: _render_utils__WEBPACK_IMPORTED_MODULE_1__[\"CSSLineClass\"],\n }),\n };\n };\n SideBySideRenderer.prototype.generateFileHtml = function (file) {\n var _this = this;\n var matcher = _rematch__WEBPACK_IMPORTED_MODULE_0__[\"newMatcherFn\"](_rematch__WEBPACK_IMPORTED_MODULE_0__[\"newDistanceFn\"](function (e) { return _render_utils__WEBPACK_IMPORTED_MODULE_1__[\"deconstructLine\"](e.content, file.isCombined).content; }));\n return file.blocks\n .map(function (block) {\n var fileHtml = {\n left: _this.makeHeaderHtml(block.header),\n right: _this.makeHeaderHtml(''),\n };\n _this.applyLineGroupping(block).forEach(function (_a) {\n var contextLines = _a[0], oldLines = _a[1], newLines = _a[2];\n if (oldLines.length && newLines.length && !contextLines.length) {\n _this.applyRematchMatching(oldLines, newLines, matcher).map(function (_a) {\n var oldLines = _a[0], newLines = _a[1];\n var _b = _this.processChangedLines(file.isCombined, oldLines, newLines), left = _b.left, right = _b.right;\n fileHtml.left += left;\n fileHtml.right += right;\n });\n }\n else if (contextLines.length) {\n contextLines.forEach(function (line) {\n var _a = _render_utils__WEBPACK_IMPORTED_MODULE_1__[\"deconstructLine\"](line.content, file.isCombined), prefix = _a.prefix, content = _a.content;\n var _b = _this.generateLineHtml({\n type: _render_utils__WEBPACK_IMPORTED_MODULE_1__[\"CSSLineClass\"].CONTEXT,\n prefix: prefix,\n content: content,\n number: line.oldNumber,\n }, {\n type: _render_utils__WEBPACK_IMPORTED_MODULE_1__[\"CSSLineClass\"].CONTEXT,\n prefix: prefix,\n content: content,\n number: line.newNumber,\n }), left = _b.left, right = _b.right;\n fileHtml.left += left;\n fileHtml.right += right;\n });\n }\n else if (oldLines.length || newLines.length) {\n var _b = _this.processChangedLines(file.isCombined, oldLines, newLines), left = _b.left, right = _b.right;\n fileHtml.left += left;\n fileHtml.right += right;\n }\n else {\n console.error('Unknown state reached while processing groups of lines', contextLines, oldLines, newLines);\n }\n });\n return fileHtml;\n })\n .reduce(function (accomulated, html) {\n return { left: accomulated.left + html.left, right: accomulated.right + html.right };\n }, { left: '', right: '' });\n };\n SideBySideRenderer.prototype.applyLineGroupping = function (block) {\n var blockLinesGroups = [];\n var oldLines = [];\n var newLines = [];\n for (var i = 0; i < block.lines.length; i++) {\n var diffLine = block.lines[i];\n if ((diffLine.type !== _types__WEBPACK_IMPORTED_MODULE_2__[\"LineType\"].INSERT && newLines.length) ||\n (diffLine.type === _types__WEBPACK_IMPORTED_MODULE_2__[\"LineType\"].CONTEXT && oldLines.length > 0)) {\n blockLinesGroups.push([[], oldLines, newLines]);\n oldLines = [];\n newLines = [];\n }\n if (diffLine.type === _types__WEBPACK_IMPORTED_MODULE_2__[\"LineType\"].CONTEXT) {\n blockLinesGroups.push([[diffLine], [], []]);\n }\n else if (diffLine.type === _types__WEBPACK_IMPORTED_MODULE_2__[\"LineType\"].INSERT && oldLines.length === 0) {\n blockLinesGroups.push([[], [], [diffLine]]);\n }\n else if (diffLine.type === _types__WEBPACK_IMPORTED_MODULE_2__[\"LineType\"].INSERT && oldLines.length > 0) {\n newLines.push(diffLine);\n }\n else if (diffLine.type === _types__WEBPACK_IMPORTED_MODULE_2__[\"LineType\"].DELETE) {\n oldLines.push(diffLine);\n }\n }\n if (oldLines.length || newLines.length) {\n blockLinesGroups.push([[], oldLines, newLines]);\n oldLines = [];\n newLines = [];\n }\n return blockLinesGroups;\n };\n SideBySideRenderer.prototype.applyRematchMatching = function (oldLines, newLines, matcher) {\n var comparisons = oldLines.length * newLines.length;\n var maxLineSizeInBlock = Math.max.apply(null, [0].concat(oldLines.concat(newLines).map(function (elem) { return elem.content.length; })));\n var doMatching = comparisons < this.config.matchingMaxComparisons &&\n maxLineSizeInBlock < this.config.maxLineSizeInBlockForComparison &&\n (this.config.matching === 'lines' || this.config.matching === 'words');\n return doMatching ? matcher(oldLines, newLines) : [[oldLines, newLines]];\n };\n SideBySideRenderer.prototype.makeHeaderHtml = function (blockHeader) {\n return this.hoganUtils.render(genericTemplatesPath, 'block-header', {\n CSSLineClass: _render_utils__WEBPACK_IMPORTED_MODULE_1__[\"CSSLineClass\"],\n blockHeader: blockHeader,\n lineClass: 'd2h-code-side-linenumber',\n contentClass: 'd2h-code-side-line',\n });\n };\n SideBySideRenderer.prototype.processChangedLines = function (isCombined, oldLines, newLines) {\n var fileHtml = {\n right: '',\n left: '',\n };\n var maxLinesNumber = Math.max(oldLines.length, newLines.length);\n for (var i = 0; i < maxLinesNumber; i++) {\n var oldLine = oldLines[i];\n var newLine = newLines[i];\n var diff = oldLine !== undefined && newLine !== undefined\n ? _render_utils__WEBPACK_IMPORTED_MODULE_1__[\"diffHighlight\"](oldLine.content, newLine.content, isCombined, this.config)\n : undefined;\n var preparedOldLine = oldLine !== undefined && oldLine.oldNumber !== undefined\n ? __assign(__assign({}, (diff !== undefined\n ? {\n prefix: diff.oldLine.prefix,\n content: diff.oldLine.content,\n type: _render_utils__WEBPACK_IMPORTED_MODULE_1__[\"CSSLineClass\"].DELETE_CHANGES,\n }\n : __assign(__assign({}, _render_utils__WEBPACK_IMPORTED_MODULE_1__[\"deconstructLine\"](oldLine.content, isCombined)), { type: _render_utils__WEBPACK_IMPORTED_MODULE_1__[\"toCSSClass\"](oldLine.type) }))), { number: oldLine.oldNumber }) : undefined;\n var preparedNewLine = newLine !== undefined && newLine.newNumber !== undefined\n ? __assign(__assign({}, (diff !== undefined\n ? {\n prefix: diff.newLine.prefix,\n content: diff.newLine.content,\n type: _render_utils__WEBPACK_IMPORTED_MODULE_1__[\"CSSLineClass\"].INSERT_CHANGES,\n }\n : __assign(__assign({}, _render_utils__WEBPACK_IMPORTED_MODULE_1__[\"deconstructLine\"](newLine.content, isCombined)), { type: _render_utils__WEBPACK_IMPORTED_MODULE_1__[\"toCSSClass\"](newLine.type) }))), { number: newLine.newNumber }) : undefined;\n var _a = this.generateLineHtml(preparedOldLine, preparedNewLine), left = _a.left, right = _a.right;\n fileHtml.left += left;\n fileHtml.right += right;\n }\n return fileHtml;\n };\n SideBySideRenderer.prototype.generateLineHtml = function (oldLine, newLine) {\n return {\n left: this.generateSingleHtml(oldLine),\n right: this.generateSingleHtml(newLine),\n };\n };\n SideBySideRenderer.prototype.generateSingleHtml = function (line) {\n var _a, _b, _c, _d, _e;\n var lineClass = 'd2h-code-side-linenumber';\n var contentClass = 'd2h-code-side-line';\n return this.hoganUtils.render(genericTemplatesPath, 'line', {\n type: ((_a = line) === null || _a === void 0 ? void 0 : _a.type) || _render_utils__WEBPACK_IMPORTED_MODULE_1__[\"CSSLineClass\"].CONTEXT + \" d2h-emptyplaceholder\",\n lineClass: line !== undefined ? lineClass : lineClass + \" d2h-code-side-emptyplaceholder\",\n contentClass: line !== undefined ? contentClass : contentClass + \" d2h-code-side-emptyplaceholder\",\n prefix: ((_b = line) === null || _b === void 0 ? void 0 : _b.prefix) === ' ' ? ' ' : (_c = line) === null || _c === void 0 ? void 0 : _c.prefix,\n content: (_d = line) === null || _d === void 0 ? void 0 : _d.content,\n lineNumber: (_e = line) === null || _e === void 0 ? void 0 : _e.number,\n });\n };\n return SideBySideRenderer;\n}());\n/* harmony default export */ __webpack_exports__[\"default\"] = (SideBySideRenderer);\n//# sourceMappingURL=side-by-side-renderer.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGlmZjJodG1sL2xpYi1lc20vc2lkZS1ieS1zaWRlLXJlbmRlcmVyLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2RpZmYyaHRtbC9saWItZXNtL3NpZGUtYnktc2lkZS1yZW5kZXJlci5qcz9hOTUyIl0sInNvdXJjZXNDb250ZW50IjpbInZhciBfX2Fzc2lnbiA9ICh0aGlzICYmIHRoaXMuX19hc3NpZ24pIHx8IGZ1bmN0aW9uICgpIHtcbiAgICBfX2Fzc2lnbiA9IE9iamVjdC5hc3NpZ24gfHwgZnVuY3Rpb24odCkge1xuICAgICAgICBmb3IgKHZhciBzLCBpID0gMSwgbiA9IGFyZ3VtZW50cy5sZW5ndGg7IGkgPCBuOyBpKyspIHtcbiAgICAgICAgICAgIHMgPSBhcmd1bWVudHNbaV07XG4gICAgICAgICAgICBmb3IgKHZhciBwIGluIHMpIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocywgcCkpXG4gICAgICAgICAgICAgICAgdFtwXSA9IHNbcF07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHQ7XG4gICAgfTtcbiAgICByZXR1cm4gX19hc3NpZ24uYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbn07XG5pbXBvcnQgKiBhcyBSZW1hdGNoIGZyb20gJy4vcmVtYXRjaCc7XG5pbXBvcnQgKiBhcyByZW5kZXJVdGlscyBmcm9tICcuL3JlbmRlci11dGlscyc7XG5pbXBvcnQgeyBMaW5lVHlwZSwgfSBmcm9tICcuL3R5cGVzJztcbmV4cG9ydCB2YXIgZGVmYXVsdFNpZGVCeVNpZGVSZW5kZXJlckNvbmZpZyA9IF9fYXNzaWduKF9fYXNzaWduKHt9LCByZW5kZXJVdGlscy5kZWZhdWx0UmVuZGVyQ29uZmlnKSwgeyByZW5kZXJOb3RoaW5nV2hlbkVtcHR5OiBmYWxzZSwgbWF0Y2hpbmdNYXhDb21wYXJpc29uczogMjUwMCwgbWF4TGluZVNpemVJbkJsb2NrRm9yQ29tcGFyaXNvbjogMjAwIH0pO1xudmFyIGdlbmVyaWNUZW1wbGF0ZXNQYXRoID0gJ2dlbmVyaWMnO1xudmFyIGJhc2VUZW1wbGF0ZXNQYXRoID0gJ3NpZGUtYnktc2lkZSc7XG52YXIgaWNvbnNCYXNlVGVtcGxhdGVzUGF0aCA9ICdpY29uJztcbnZhciB0YWdzQmFzZVRlbXBsYXRlc1BhdGggPSAndGFnJztcbnZhciBTaWRlQnlTaWRlUmVuZGVyZXIgPSAoZnVuY3Rpb24gKCkge1xuICAgIGZ1bmN0aW9uIFNpZGVCeVNpZGVSZW5kZXJlcihob2dhblV0aWxzLCBjb25maWcpIHtcbiAgICAgICAgaWYgKGNvbmZpZyA9PT0gdm9pZCAwKSB7IGNvbmZpZyA9IHt9OyB9XG4gICAgICAgIHRoaXMuaG9nYW5VdGlscyA9IGhvZ2FuVXRpbHM7XG4gICAgICAgIHRoaXMuY29uZmlnID0gX19hc3NpZ24oX19hc3NpZ24oe30sIGRlZmF1bHRTaWRlQnlTaWRlUmVuZGVyZXJDb25maWcpLCBjb25maWcpO1xuICAgIH1cbiAgICBTaWRlQnlTaWRlUmVuZGVyZXIucHJvdG90eXBlLnJlbmRlciA9IGZ1bmN0aW9uIChkaWZmRmlsZXMpIHtcbiAgICAgICAgdmFyIF90aGlzID0gdGhpcztcbiAgICAgICAgdmFyIGRpZmZzSHRtbCA9IGRpZmZGaWxlc1xuICAgICAgICAgICAgLm1hcChmdW5jdGlvbiAoZmlsZSkge1xuICAgICAgICAgICAgdmFyIGRpZmZzO1xuICAgICAgICAgICAgaWYgKGZpbGUuYmxvY2tzLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIGRpZmZzID0gX3RoaXMuZ2VuZXJhdGVGaWxlSHRtbChmaWxlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGRpZmZzID0gX3RoaXMuZ2VuZXJhdGVFbXB0eURpZmYoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBfdGhpcy5tYWtlRmlsZURpZmZIdG1sKGZpbGUsIGRpZmZzKTtcbiAgICAgICAgfSlcbiAgICAgICAgICAgIC5qb2luKCdcXG4nKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaG9nYW5VdGlscy5yZW5kZXIoZ2VuZXJpY1RlbXBsYXRlc1BhdGgsICd3cmFwcGVyJywgeyBjb250ZW50OiBkaWZmc0h0bWwgfSk7XG4gICAgfTtcbiAgICBTaWRlQnlTaWRlUmVuZGVyZXIucHJvdG90eXBlLm1ha2VGaWxlRGlmZkh0bWwgPSBmdW5jdGlvbiAoZmlsZSwgZGlmZnMpIHtcbiAgICAgICAgaWYgKHRoaXMuY29uZmlnLnJlbmRlck5vdGhpbmdXaGVuRW1wdHkgJiYgQXJyYXkuaXNBcnJheShmaWxlLmJsb2NrcykgJiYgZmlsZS5ibG9ja3MubGVuZ3RoID09PSAwKVxuICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICB2YXIgZmlsZURpZmZUZW1wbGF0ZSA9IHRoaXMuaG9nYW5VdGlscy50ZW1wbGF0ZShiYXNlVGVtcGxhdGVzUGF0aCwgJ2ZpbGUtZGlmZicpO1xuICAgICAgICB2YXIgZmlsZVBhdGhUZW1wbGF0ZSA9IHRoaXMuaG9nYW5VdGlscy50ZW1wbGF0ZShnZW5lcmljVGVtcGxhdGVzUGF0aCwgJ2ZpbGUtcGF0aCcpO1xuICAgICAgICB2YXIgZmlsZUljb25UZW1wbGF0ZSA9IHRoaXMuaG9nYW5VdGlscy50ZW1wbGF0ZShpY29uc0Jhc2VUZW1wbGF0ZXNQYXRoLCAnZmlsZScpO1xuICAgICAgICB2YXIgZmlsZVRhZ1RlbXBsYXRlID0gdGhpcy5ob2dhblV0aWxzLnRlbXBsYXRlKHRhZ3NCYXNlVGVtcGxhdGVzUGF0aCwgcmVuZGVyVXRpbHMuZ2V0RmlsZUljb24oZmlsZSkpO1xuICAgICAgICByZXR1cm4gZmlsZURpZmZUZW1wbGF0ZS5yZW5kZXIoe1xuICAgICAgICAgICAgZmlsZTogZmlsZSxcbiAgICAgICAgICAgIGZpbGVIdG1sSWQ6IHJlbmRlclV0aWxzLmdldEh0bWxJZChmaWxlKSxcbiAgICAgICAgICAgIGRpZmZzOiBkaWZmcyxcbiAgICAgICAgICAgIGZpbGVQYXRoOiBmaWxlUGF0aFRlbXBsYXRlLnJlbmRlcih7XG4gICAgICAgICAgICAgICAgZmlsZURpZmZOYW1lOiByZW5kZXJVdGlscy5maWxlbmFtZURpZmYoZmlsZSksXG4gICAgICAgICAgICB9LCB7XG4gICAgICAgICAgICAgICAgZmlsZUljb246IGZpbGVJY29uVGVtcGxhdGUsXG4gICAgICAgICAgICAgICAgZmlsZVRhZzogZmlsZVRhZ1RlbXBsYXRlLFxuICAgICAgICAgICAgfSksXG4gICAgICAgIH0pO1xuICAgIH07XG4gICAgU2lkZUJ5U2lkZVJlbmRlcmVyLnByb3RvdHlwZS5nZW5lcmF0ZUVtcHR5RGlmZiA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHJpZ2h0OiAnJyxcbiAgICAgICAgICAgIGxlZnQ6IHRoaXMuaG9nYW5VdGlscy5yZW5kZXIoZ2VuZXJpY1RlbXBsYXRlc1BhdGgsICdlbXB0eS1kaWZmJywge1xuICAgICAgICAgICAgICAgIGNvbnRlbnRDbGFzczogJ2QyaC1jb2RlLXNpZGUtbGluZScsXG4gICAgICAgICAgICAgICAgQ1NTTGluZUNsYXNzOiByZW5kZXJVdGlscy5DU1NMaW5lQ2xhc3MsXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgfTtcbiAgICB9O1xuICAgIFNpZGVCeVNpZGVSZW5kZXJlci5wcm90b3R5cGUuZ2VuZXJhdGVGaWxlSHRtbCA9IGZ1bmN0aW9uIChmaWxlKSB7XG4gICAgICAgIHZhciBfdGhpcyA9IHRoaXM7XG4gICAgICAgIHZhciBtYXRjaGVyID0gUmVtYXRjaC5uZXdNYXRjaGVyRm4oUmVtYXRjaC5uZXdEaXN0YW5jZUZuKGZ1bmN0aW9uIChlKSB7IHJldHVybiByZW5kZXJVdGlscy5kZWNvbnN0cnVjdExpbmUoZS5jb250ZW50LCBmaWxlLmlzQ29tYmluZWQpLmNvbnRlbnQ7IH0pKTtcbiAgICAgICAgcmV0dXJuIGZpbGUuYmxvY2tzXG4gICAgICAgICAgICAubWFwKGZ1bmN0aW9uIChibG9jaykge1xuICAgICAgICAgICAgdmFyIGZpbGVIdG1sID0ge1xuICAgICAgICAgICAgICAgIGxlZnQ6IF90aGlzLm1ha2VIZWFkZXJIdG1sKGJsb2NrLmhlYWRlciksXG4gICAgICAgICAgICAgICAgcmlnaHQ6IF90aGlzLm1ha2VIZWFkZXJIdG1sKCcnKSxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBfdGhpcy5hcHBseUxpbmVHcm91cHBpbmcoYmxvY2spLmZvckVhY2goZnVuY3Rpb24gKF9hKSB7XG4gICAgICAgICAgICAgICAgdmFyIGNvbnRleHRMaW5lcyA9IF9hWzBdLCBvbGRMaW5lcyA9IF9hWzFdLCBuZXdMaW5lcyA9IF9hWzJdO1xuICAgICAgICAgICAgICAgIGlmIChvbGRMaW5lcy5sZW5ndGggJiYgbmV3TGluZXMubGVuZ3RoICYmICFjb250ZXh0TGluZXMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgIF90aGlzLmFwcGx5UmVtYXRjaE1hdGNoaW5nKG9sZExpbmVzLCBuZXdMaW5lcywgbWF0Y2hlcikubWFwKGZ1bmN0aW9uIChfYSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIG9sZExpbmVzID0gX2FbMF0sIG5ld0xpbmVzID0gX2FbMV07XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgX2IgPSBfdGhpcy5wcm9jZXNzQ2hhbmdlZExpbmVzKGZpbGUuaXNDb21iaW5lZCwgb2xkTGluZXMsIG5ld0xpbmVzKSwgbGVmdCA9IF9iLmxlZnQsIHJpZ2h0ID0gX2IucmlnaHQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxlSHRtbC5sZWZ0ICs9IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxlSHRtbC5yaWdodCArPSByaWdodDtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2UgaWYgKGNvbnRleHRMaW5lcy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGV4dExpbmVzLmZvckVhY2goZnVuY3Rpb24gKGxpbmUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBfYSA9IHJlbmRlclV0aWxzLmRlY29uc3RydWN0TGluZShsaW5lLmNvbnRlbnQsIGZpbGUuaXNDb21iaW5lZCksIHByZWZpeCA9IF9hLnByZWZpeCwgY29udGVudCA9IF9hLmNvbnRlbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgX2IgPSBfdGhpcy5nZW5lcmF0ZUxpbmVIdG1sKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiByZW5kZXJVdGlscy5DU1NMaW5lQ2xhc3MuQ09OVEVYVCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmVmaXg6IHByZWZpeCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBjb250ZW50LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG51bWJlcjogbGluZS5vbGROdW1iZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogcmVuZGVyVXRpbHMuQ1NTTGluZUNsYXNzLkNPTlRFWFQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJlZml4OiBwcmVmaXgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogY29udGVudCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBudW1iZXI6IGxpbmUubmV3TnVtYmVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSksIGxlZnQgPSBfYi5sZWZ0LCByaWdodCA9IF9iLnJpZ2h0O1xuICAgICAgICAgICAgICAgICAgICAgICAgZmlsZUh0bWwubGVmdCArPSBsZWZ0O1xuICAgICAgICAgICAgICAgICAgICAgICAgZmlsZUh0bWwucmlnaHQgKz0gcmlnaHQ7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIGlmIChvbGRMaW5lcy5sZW5ndGggfHwgbmV3TGluZXMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciBfYiA9IF90aGlzLnByb2Nlc3NDaGFuZ2VkTGluZXMoZmlsZS5pc0NvbWJpbmVkLCBvbGRMaW5lcywgbmV3TGluZXMpLCBsZWZ0ID0gX2IubGVmdCwgcmlnaHQgPSBfYi5yaWdodDtcbiAgICAgICAgICAgICAgICAgICAgZmlsZUh0bWwubGVmdCArPSBsZWZ0O1xuICAgICAgICAgICAgICAgICAgICBmaWxlSHRtbC5yaWdodCArPSByaWdodDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ1Vua25vd24gc3RhdGUgcmVhY2hlZCB3aGlsZSBwcm9jZXNzaW5nIGdyb3VwcyBvZiBsaW5lcycsIGNvbnRleHRMaW5lcywgb2xkTGluZXMsIG5ld0xpbmVzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiBmaWxlSHRtbDtcbiAgICAgICAgfSlcbiAgICAgICAgICAgIC5yZWR1Y2UoZnVuY3Rpb24gKGFjY29tdWxhdGVkLCBodG1sKSB7XG4gICAgICAgICAgICByZXR1cm4geyBsZWZ0OiBhY2NvbXVsYXRlZC5sZWZ0ICsgaHRtbC5sZWZ0LCByaWdodDogYWNjb211bGF0ZWQucmlnaHQgKyBodG1sLnJpZ2h0IH07XG4gICAgICAgIH0sIHsgbGVmdDogJycsIHJpZ2h0OiAnJyB9KTtcbiAgICB9O1xuICAgIFNpZGVCeVNpZGVSZW5kZXJlci5wcm90b3R5cGUuYXBwbHlMaW5lR3JvdXBwaW5nID0gZnVuY3Rpb24gKGJsb2NrKSB7XG4gICAgICAgIHZhciBibG9ja0xpbmVzR3JvdXBzID0gW107XG4gICAgICAgIHZhciBvbGRMaW5lcyA9IFtdO1xuICAgICAgICB2YXIgbmV3TGluZXMgPSBbXTtcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBibG9jay5saW5lcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgdmFyIGRpZmZMaW5lID0gYmxvY2subGluZXNbaV07XG4gICAgICAgICAgICBpZiAoKGRpZmZMaW5lLnR5cGUgIT09IExpbmVUeXBlLklOU0VSVCAmJiBuZXdMaW5lcy5sZW5ndGgpIHx8XG4gICAgICAgICAgICAgICAgKGRpZmZMaW5lLnR5cGUgPT09IExpbmVUeXBlLkNPTlRFWFQgJiYgb2xkTGluZXMubGVuZ3RoID4gMCkpIHtcbiAgICAgICAgICAgICAgICBibG9ja0xpbmVzR3JvdXBzLnB1c2goW1tdLCBvbGRMaW5lcywgbmV3TGluZXNdKTtcbiAgICAgICAgICAgICAgICBvbGRMaW5lcyA9IFtdO1xuICAgICAgICAgICAgICAgIG5ld0xpbmVzID0gW107XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoZGlmZkxpbmUudHlwZSA9PT0gTGluZVR5cGUuQ09OVEVYVCkge1xuICAgICAgICAgICAgICAgIGJsb2NrTGluZXNHcm91cHMucHVzaChbW2RpZmZMaW5lXSwgW10sIFtdXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmIChkaWZmTGluZS50eXBlID09PSBMaW5lVHlwZS5JTlNFUlQgJiYgb2xkTGluZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAgICAgYmxvY2tMaW5lc0dyb3Vwcy5wdXNoKFtbXSwgW10sIFtkaWZmTGluZV1dKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKGRpZmZMaW5lLnR5cGUgPT09IExpbmVUeXBlLklOU0VSVCAmJiBvbGRMaW5lcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgbmV3TGluZXMucHVzaChkaWZmTGluZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmIChkaWZmTGluZS50eXBlID09PSBMaW5lVHlwZS5ERUxFVEUpIHtcbiAgICAgICAgICAgICAgICBvbGRMaW5lcy5wdXNoKGRpZmZMaW5lKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAob2xkTGluZXMubGVuZ3RoIHx8IG5ld0xpbmVzLmxlbmd0aCkge1xuICAgICAgICAgICAgYmxvY2tMaW5lc0dyb3Vwcy5wdXNoKFtbXSwgb2xkTGluZXMsIG5ld0xpbmVzXSk7XG4gICAgICAgICAgICBvbGRMaW5lcyA9IFtdO1xuICAgICAgICAgICAgbmV3TGluZXMgPSBbXTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYmxvY2tMaW5lc0dyb3VwcztcbiAgICB9O1xuICAgIFNpZGVCeVNpZGVSZW5kZXJlci5wcm90b3R5cGUuYXBwbHlSZW1hdGNoTWF0Y2hpbmcgPSBmdW5jdGlvbiAob2xkTGluZXMsIG5ld0xpbmVzLCBtYXRjaGVyKSB7XG4gICAgICAgIHZhciBjb21wYXJpc29ucyA9IG9sZExpbmVzLmxlbmd0aCAqIG5ld0xpbmVzLmxlbmd0aDtcbiAgICAgICAgdmFyIG1heExpbmVTaXplSW5CbG9jayA9IE1hdGgubWF4LmFwcGx5KG51bGwsIFswXS5jb25jYXQob2xkTGluZXMuY29uY2F0KG5ld0xpbmVzKS5tYXAoZnVuY3Rpb24gKGVsZW0pIHsgcmV0dXJuIGVsZW0uY29udGVudC5sZW5ndGg7IH0pKSk7XG4gICAgICAgIHZhciBkb01hdGNoaW5nID0gY29tcGFyaXNvbnMgPCB0aGlzLmNvbmZpZy5tYXRjaGluZ01heENvbXBhcmlzb25zICYmXG4gICAgICAgICAgICBtYXhMaW5lU2l6ZUluQmxvY2sgPCB0aGlzLmNvbmZpZy5tYXhMaW5lU2l6ZUluQmxvY2tGb3JDb21wYXJpc29uICYmXG4gICAgICAgICAgICAodGhpcy5jb25maWcubWF0Y2hpbmcgPT09ICdsaW5lcycgfHwgdGhpcy5jb25maWcubWF0Y2hpbmcgPT09ICd3b3JkcycpO1xuICAgICAgICByZXR1cm4gZG9NYXRjaGluZyA/IG1hdGNoZXIob2xkTGluZXMsIG5ld0xpbmVzKSA6IFtbb2xkTGluZXMsIG5ld0xpbmVzXV07XG4gICAgfTtcbiAgICBTaWRlQnlTaWRlUmVuZGVyZXIucHJvdG90eXBlLm1ha2VIZWFkZXJIdG1sID0gZnVuY3Rpb24gKGJsb2NrSGVhZGVyKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmhvZ2FuVXRpbHMucmVuZGVyKGdlbmVyaWNUZW1wbGF0ZXNQYXRoLCAnYmxvY2staGVhZGVyJywge1xuICAgICAgICAgICAgQ1NTTGluZUNsYXNzOiByZW5kZXJVdGlscy5DU1NMaW5lQ2xhc3MsXG4gICAgICAgICAgICBibG9ja0hlYWRlcjogYmxvY2tIZWFkZXIsXG4gICAgICAgICAgICBsaW5lQ2xhc3M6ICdkMmgtY29kZS1zaWRlLWxpbmVudW1iZXInLFxuICAgICAgICAgICAgY29udGVudENsYXNzOiAnZDJoLWNvZGUtc2lkZS1saW5lJyxcbiAgICAgICAgfSk7XG4gICAgfTtcbiAgICBTaWRlQnlTaWRlUmVuZGVyZXIucHJvdG90eXBlLnByb2Nlc3NDaGFuZ2VkTGluZXMgPSBmdW5jdGlvbiAoaXNDb21iaW5lZCwgb2xkTGluZXMsIG5ld0xpbmVzKSB7XG4gICAgICAgIHZhciBmaWxlSHRtbCA9IHtcbiAgICAgICAgICAgIHJpZ2h0OiAnJyxcbiAgICAgICAgICAgIGxlZnQ6ICcnLFxuICAgICAgICB9O1xuICAgICAgICB2YXIgbWF4TGluZXNOdW1iZXIgPSBNYXRoLm1heChvbGRMaW5lcy5sZW5ndGgsIG5ld0xpbmVzLmxlbmd0aCk7XG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbWF4TGluZXNOdW1iZXI7IGkrKykge1xuICAgICAgICAgICAgdmFyIG9sZExpbmUgPSBvbGRMaW5lc1tpXTtcbiAgICAgICAgICAgIHZhciBuZXdMaW5lID0gbmV3TGluZXNbaV07XG4gICAgICAgICAgICB2YXIgZGlmZiA9IG9sZExpbmUgIT09IHVuZGVmaW5lZCAmJiBuZXdMaW5lICE9PSB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICA/IHJlbmRlclV0aWxzLmRpZmZIaWdobGlnaHQob2xkTGluZS5jb250ZW50LCBuZXdMaW5lLmNvbnRlbnQsIGlzQ29tYmluZWQsIHRoaXMuY29uZmlnKVxuICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgdmFyIHByZXBhcmVkT2xkTGluZSA9IG9sZExpbmUgIT09IHVuZGVmaW5lZCAmJiBvbGRMaW5lLm9sZE51bWJlciAhPT0gdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgPyBfX2Fzc2lnbihfX2Fzc2lnbih7fSwgKGRpZmYgIT09IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHByZWZpeDogZGlmZi5vbGRMaW5lLnByZWZpeCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IGRpZmYub2xkTGluZS5jb250ZW50LFxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogcmVuZGVyVXRpbHMuQ1NTTGluZUNsYXNzLkRFTEVURV9DSEFOR0VTLFxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDogX19hc3NpZ24oX19hc3NpZ24oe30sIHJlbmRlclV0aWxzLmRlY29uc3RydWN0TGluZShvbGRMaW5lLmNvbnRlbnQsIGlzQ29tYmluZWQpKSwgeyB0eXBlOiByZW5kZXJVdGlscy50b0NTU0NsYXNzKG9sZExpbmUudHlwZSkgfSkpKSwgeyBudW1iZXI6IG9sZExpbmUub2xkTnVtYmVyIH0pIDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgdmFyIHByZXBhcmVkTmV3TGluZSA9IG5ld0xpbmUgIT09IHVuZGVmaW5lZCAmJiBuZXdMaW5lLm5ld051bWJlciAhPT0gdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgPyBfX2Fzc2lnbihfX2Fzc2lnbih7fSwgKGRpZmYgIT09IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHByZWZpeDogZGlmZi5uZXdMaW5lLnByZWZpeCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IGRpZmYubmV3TGluZS5jb250ZW50LFxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogcmVuZGVyVXRpbHMuQ1NTTGluZUNsYXNzLklOU0VSVF9DSEFOR0VTLFxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDogX19hc3NpZ24oX19hc3NpZ24oe30sIHJlbmRlclV0aWxzLmRlY29uc3RydWN0TGluZShuZXdMaW5lLmNvbnRlbnQsIGlzQ29tYmluZWQpKSwgeyB0eXBlOiByZW5kZXJVdGlscy50b0NTU0NsYXNzKG5ld0xpbmUudHlwZSkgfSkpKSwgeyBudW1iZXI6IG5ld0xpbmUubmV3TnVtYmVyIH0pIDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgdmFyIF9hID0gdGhpcy5nZW5lcmF0ZUxpbmVIdG1sKHByZXBhcmVkT2xkTGluZSwgcHJlcGFyZWROZXdMaW5lKSwgbGVmdCA9IF9hLmxlZnQsIHJpZ2h0ID0gX2EucmlnaHQ7XG4gICAgICAgICAgICBmaWxlSHRtbC5sZWZ0ICs9IGxlZnQ7XG4gICAgICAgICAgICBmaWxlSHRtbC5yaWdodCArPSByaWdodDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmlsZUh0bWw7XG4gICAgfTtcbiAgICBTaWRlQnlTaWRlUmVuZGVyZXIucHJvdG90eXBlLmdlbmVyYXRlTGluZUh0bWwgPSBmdW5jdGlvbiAob2xkTGluZSwgbmV3TGluZSkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbGVmdDogdGhpcy5nZW5lcmF0ZVNpbmdsZUh0bWwob2xkTGluZSksXG4gICAgICAgICAgICByaWdodDogdGhpcy5nZW5lcmF0ZVNpbmdsZUh0bWwobmV3TGluZSksXG4gICAgICAgIH07XG4gICAgfTtcbiAgICBTaWRlQnlTaWRlUmVuZGVyZXIucHJvdG90eXBlLmdlbmVyYXRlU2luZ2xlSHRtbCA9IGZ1bmN0aW9uIChsaW5lKSB7XG4gICAgICAgIHZhciBfYSwgX2IsIF9jLCBfZCwgX2U7XG4gICAgICAgIHZhciBsaW5lQ2xhc3MgPSAnZDJoLWNvZGUtc2lkZS1saW5lbnVtYmVyJztcbiAgICAgICAgdmFyIGNvbnRlbnRDbGFzcyA9ICdkMmgtY29kZS1zaWRlLWxpbmUnO1xuICAgICAgICByZXR1cm4gdGhpcy5ob2dhblV0aWxzLnJlbmRlcihnZW5lcmljVGVtcGxhdGVzUGF0aCwgJ2xpbmUnLCB7XG4gICAgICAgICAgICB0eXBlOiAoKF9hID0gbGluZSkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLnR5cGUpIHx8IHJlbmRlclV0aWxzLkNTU0xpbmVDbGFzcy5DT05URVhUICsgXCIgZDJoLWVtcHR5cGxhY2Vob2xkZXJcIixcbiAgICAgICAgICAgIGxpbmVDbGFzczogbGluZSAhPT0gdW5kZWZpbmVkID8gbGluZUNsYXNzIDogbGluZUNsYXNzICsgXCIgZDJoLWNvZGUtc2lkZS1lbXB0eXBsYWNlaG9sZGVyXCIsXG4gICAgICAgICAgICBjb250ZW50Q2xhc3M6IGxpbmUgIT09IHVuZGVmaW5lZCA/IGNvbnRlbnRDbGFzcyA6IGNvbnRlbnRDbGFzcyArIFwiIGQyaC1jb2RlLXNpZGUtZW1wdHlwbGFjZWhvbGRlclwiLFxuICAgICAgICAgICAgcHJlZml4OiAoKF9iID0gbGluZSkgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLnByZWZpeCkgPT09ICcgJyA/ICcmbmJzcDsnIDogKF9jID0gbGluZSkgPT09IG51bGwgfHwgX2MgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9jLnByZWZpeCxcbiAgICAgICAgICAgIGNvbnRlbnQ6IChfZCA9IGxpbmUpID09PSBudWxsIHx8IF9kID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfZC5jb250ZW50LFxuICAgICAgICAgICAgbGluZU51bWJlcjogKF9lID0gbGluZSkgPT09IG51bGwgfHwgX2UgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9lLm51bWJlcixcbiAgICAgICAgfSk7XG4gICAgfTtcbiAgICByZXR1cm4gU2lkZUJ5U2lkZVJlbmRlcmVyO1xufSgpKTtcbmV4cG9ydCBkZWZhdWx0IFNpZGVCeVNpZGVSZW5kZXJlcjtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXNpZGUtYnktc2lkZS1yZW5kZXJlci5qcy5tYXAiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/diff2html/lib-esm/side-by-side-renderer.js\n"); /***/ }), /***/ "./node_modules/diff2html/lib-esm/types.js": /*!*************************************************!*\ !*** ./node_modules/diff2html/lib-esm/types.js ***! \*************************************************/ /*! exports provided: LineType, OutputFormatType, LineMatchingType, DiffStyleType */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"LineType\", function() { return LineType; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"OutputFormatType\", function() { return OutputFormatType; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"LineMatchingType\", function() { return LineMatchingType; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DiffStyleType\", function() { return DiffStyleType; });\nvar LineType;\n(function (LineType) {\n LineType[\"INSERT\"] = \"insert\";\n LineType[\"DELETE\"] = \"delete\";\n LineType[\"CONTEXT\"] = \"context\";\n})(LineType || (LineType = {}));\nvar OutputFormatType = {\n LINE_BY_LINE: 'line-by-line',\n SIDE_BY_SIDE: 'side-by-side',\n};\nvar LineMatchingType = {\n LINES: 'lines',\n WORDS: 'words',\n NONE: 'none',\n};\nvar DiffStyleType = {\n WORD: 'word',\n CHAR: 'char',\n};\n//# sourceMappingURL=types.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGlmZjJodG1sL2xpYi1lc20vdHlwZXMuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZGlmZjJodG1sL2xpYi1lc20vdHlwZXMuanM/NWY1OSJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdmFyIExpbmVUeXBlO1xuKGZ1bmN0aW9uIChMaW5lVHlwZSkge1xuICAgIExpbmVUeXBlW1wiSU5TRVJUXCJdID0gXCJpbnNlcnRcIjtcbiAgICBMaW5lVHlwZVtcIkRFTEVURVwiXSA9IFwiZGVsZXRlXCI7XG4gICAgTGluZVR5cGVbXCJDT05URVhUXCJdID0gXCJjb250ZXh0XCI7XG59KShMaW5lVHlwZSB8fCAoTGluZVR5cGUgPSB7fSkpO1xuZXhwb3J0IHZhciBPdXRwdXRGb3JtYXRUeXBlID0ge1xuICAgIExJTkVfQllfTElORTogJ2xpbmUtYnktbGluZScsXG4gICAgU0lERV9CWV9TSURFOiAnc2lkZS1ieS1zaWRlJyxcbn07XG5leHBvcnQgdmFyIExpbmVNYXRjaGluZ1R5cGUgPSB7XG4gICAgTElORVM6ICdsaW5lcycsXG4gICAgV09SRFM6ICd3b3JkcycsXG4gICAgTk9ORTogJ25vbmUnLFxufTtcbmV4cG9ydCB2YXIgRGlmZlN0eWxlVHlwZSA9IHtcbiAgICBXT1JEOiAnd29yZCcsXG4gICAgQ0hBUjogJ2NoYXInLFxufTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXR5cGVzLmpzLm1hcCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/diff2html/lib-esm/types.js\n"); /***/ }), /***/ "./node_modules/diff2html/lib-esm/utils.js": /*!*************************************************!*\ !*** ./node_modules/diff2html/lib-esm/utils.js ***! \*************************************************/ /*! exports provided: escapeForRegExp, unifyPath, hashCode */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"escapeForRegExp\", function() { return escapeForRegExp; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"unifyPath\", function() { return unifyPath; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"hashCode\", function() { return hashCode; });\nvar specials = [\n '-',\n '[',\n ']',\n '/',\n '{',\n '}',\n '(',\n ')',\n '*',\n '+',\n '?',\n '.',\n '\\\\',\n '^',\n '$',\n '|',\n];\nvar regex = RegExp('[' + specials.join('\\\\') + ']', 'g');\nfunction escapeForRegExp(str) {\n return str.replace(regex, '\\\\$&');\n}\nfunction unifyPath(path) {\n return path ? path.replace(/\\\\/g, '/') : path;\n}\nfunction hashCode(text) {\n var i, chr, len;\n var hash = 0;\n for (i = 0, len = text.length; i < len; i++) {\n chr = text.charCodeAt(i);\n hash = (hash << 5) - hash + chr;\n hash |= 0;\n }\n return hash;\n}\n//# sourceMappingURL=utils.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGlmZjJodG1sL2xpYi1lc20vdXRpbHMuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZGlmZjJodG1sL2xpYi1lc20vdXRpbHMuanM/NDUwYSJdLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgc3BlY2lhbHMgPSBbXG4gICAgJy0nLFxuICAgICdbJyxcbiAgICAnXScsXG4gICAgJy8nLFxuICAgICd7JyxcbiAgICAnfScsXG4gICAgJygnLFxuICAgICcpJyxcbiAgICAnKicsXG4gICAgJysnLFxuICAgICc/JyxcbiAgICAnLicsXG4gICAgJ1xcXFwnLFxuICAgICdeJyxcbiAgICAnJCcsXG4gICAgJ3wnLFxuXTtcbnZhciByZWdleCA9IFJlZ0V4cCgnWycgKyBzcGVjaWFscy5qb2luKCdcXFxcJykgKyAnXScsICdnJyk7XG5leHBvcnQgZnVuY3Rpb24gZXNjYXBlRm9yUmVnRXhwKHN0cikge1xuICAgIHJldHVybiBzdHIucmVwbGFjZShyZWdleCwgJ1xcXFwkJicpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIHVuaWZ5UGF0aChwYXRoKSB7XG4gICAgcmV0dXJuIHBhdGggPyBwYXRoLnJlcGxhY2UoL1xcXFwvZywgJy8nKSA6IHBhdGg7XG59XG5leHBvcnQgZnVuY3Rpb24gaGFzaENvZGUodGV4dCkge1xuICAgIHZhciBpLCBjaHIsIGxlbjtcbiAgICB2YXIgaGFzaCA9IDA7XG4gICAgZm9yIChpID0gMCwgbGVuID0gdGV4dC5sZW5ndGg7IGkgPCBsZW47IGkrKykge1xuICAgICAgICBjaHIgPSB0ZXh0LmNoYXJDb2RlQXQoaSk7XG4gICAgICAgIGhhc2ggPSAoaGFzaCA8PCA1KSAtIGhhc2ggKyBjaHI7XG4gICAgICAgIGhhc2ggfD0gMDtcbiAgICB9XG4gICAgcmV0dXJuIGhhc2g7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD11dGlscy5qcy5tYXAiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/diff2html/lib-esm/utils.js\n"); /***/ }), /***/ "./node_modules/diff2html/node_modules/diff/dist/diff.js": /*!***************************************************************!*\ !*** ./node_modules/diff2html/node_modules/diff/dist/diff.js ***! \***************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("/*!\n\n diff v4.0.1\n\nSoftware License Agreement (BSD License)\n\nCopyright (c) 2009-2015, Kevin Decker \n\nAll rights reserved.\n\nRedistribution and use of this software in source and binary forms, with or without modification,\nare permitted provided that the following conditions are met:\n\n* Redistributions of source code must retain the above\n copyright notice, this list of conditions and the\n following disclaimer.\n\n* Redistributions in binary form must reproduce the above\n copyright notice, this list of conditions and the\n following disclaimer in the documentation and/or other\n materials provided with the distribution.\n\n* Neither the name of Kevin Decker nor the names of its\n contributors may be used to endorse or promote products\n derived from this software without specific prior\n written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR\nIMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND\nFITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR\nCONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\nDAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\nDATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER\nIN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT\nOF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n@license\n*/\n(function (global, factory) {\n true ? factory(exports) :\n undefined;\n}(this, function (exports) { 'use strict';\n\n function Diff() {}\n Diff.prototype = {\n diff: function diff(oldString, newString) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var callback = options.callback;\n\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n\n this.options = options;\n var self = this;\n\n function done(value) {\n if (callback) {\n setTimeout(function () {\n callback(undefined, value);\n }, 0);\n return true;\n } else {\n return value;\n }\n } // Allow subclasses to massage the input prior to running\n\n\n oldString = this.castInput(oldString);\n newString = this.castInput(newString);\n oldString = this.removeEmpty(this.tokenize(oldString));\n newString = this.removeEmpty(this.tokenize(newString));\n var newLen = newString.length,\n oldLen = oldString.length;\n var editLength = 1;\n var maxEditLength = newLen + oldLen;\n var bestPath = [{\n newPos: -1,\n components: []\n }]; // Seed editLength = 0, i.e. the content starts with the same values\n\n var oldPos = this.extractCommon(bestPath[0], newString, oldString, 0);\n\n if (bestPath[0].newPos + 1 >= newLen && oldPos + 1 >= oldLen) {\n // Identity per the equality and tokenizer\n return done([{\n value: this.join(newString),\n count: newString.length\n }]);\n } // Main worker method. checks all permutations of a given edit length for acceptance.\n\n\n function execEditLength() {\n for (var diagonalPath = -1 * editLength; diagonalPath <= editLength; diagonalPath += 2) {\n var basePath = void 0;\n\n var addPath = bestPath[diagonalPath - 1],\n removePath = bestPath[diagonalPath + 1],\n _oldPos = (removePath ? removePath.newPos : 0) - diagonalPath;\n\n if (addPath) {\n // No one else is going to attempt to use this value, clear it\n bestPath[diagonalPath - 1] = undefined;\n }\n\n var canAdd = addPath && addPath.newPos + 1 < newLen,\n canRemove = removePath && 0 <= _oldPos && _oldPos < oldLen;\n\n if (!canAdd && !canRemove) {\n // If this path is a terminal then prune\n bestPath[diagonalPath] = undefined;\n continue;\n } // Select the diagonal that we want to branch from. We select the prior\n // path whose position in the new string is the farthest from the origin\n // and does not pass the bounds of the diff graph\n\n\n if (!canAdd || canRemove && addPath.newPos < removePath.newPos) {\n basePath = clonePath(removePath);\n self.pushComponent(basePath.components, undefined, true);\n } else {\n basePath = addPath; // No need to clone, we've pulled it from the list\n\n basePath.newPos++;\n self.pushComponent(basePath.components, true, undefined);\n }\n\n _oldPos = self.extractCommon(basePath, newString, oldString, diagonalPath); // If we have hit the end of both strings, then we are done\n\n if (basePath.newPos + 1 >= newLen && _oldPos + 1 >= oldLen) {\n return done(buildValues(self, basePath.components, newString, oldString, self.useLongestToken));\n } else {\n // Otherwise track this path as a potential candidate and continue.\n bestPath[diagonalPath] = basePath;\n }\n }\n\n editLength++;\n } // Performs the length of edit iteration. Is a bit fugly as this has to support the\n // sync and async mode which is never fun. Loops over execEditLength until a value\n // is produced.\n\n\n if (callback) {\n (function exec() {\n setTimeout(function () {\n // This should not happen, but we want to be safe.\n\n /* istanbul ignore next */\n if (editLength > maxEditLength) {\n return callback();\n }\n\n if (!execEditLength()) {\n exec();\n }\n }, 0);\n })();\n } else {\n while (editLength <= maxEditLength) {\n var ret = execEditLength();\n\n if (ret) {\n return ret;\n }\n }\n }\n },\n pushComponent: function pushComponent(components, added, removed) {\n var last = components[components.length - 1];\n\n if (last && last.added === added && last.removed === removed) {\n // We need to clone here as the component clone operation is just\n // as shallow array clone\n components[components.length - 1] = {\n count: last.count + 1,\n added: added,\n removed: removed\n };\n } else {\n components.push({\n count: 1,\n added: added,\n removed: removed\n });\n }\n },\n extractCommon: function extractCommon(basePath, newString, oldString, diagonalPath) {\n var newLen = newString.length,\n oldLen = oldString.length,\n newPos = basePath.newPos,\n oldPos = newPos - diagonalPath,\n commonCount = 0;\n\n while (newPos + 1 < newLen && oldPos + 1 < oldLen && this.equals(newString[newPos + 1], oldString[oldPos + 1])) {\n newPos++;\n oldPos++;\n commonCount++;\n }\n\n if (commonCount) {\n basePath.components.push({\n count: commonCount\n });\n }\n\n basePath.newPos = newPos;\n return oldPos;\n },\n equals: function equals(left, right) {\n if (this.options.comparator) {\n return this.options.comparator(left, right);\n } else {\n return left === right || this.options.ignoreCase && left.toLowerCase() === right.toLowerCase();\n }\n },\n removeEmpty: function removeEmpty(array) {\n var ret = [];\n\n for (var i = 0; i < array.length; i++) {\n if (array[i]) {\n ret.push(array[i]);\n }\n }\n\n return ret;\n },\n castInput: function castInput(value) {\n return value;\n },\n tokenize: function tokenize(value) {\n return value.split('');\n },\n join: function join(chars) {\n return chars.join('');\n }\n };\n\n function buildValues(diff, components, newString, oldString, useLongestToken) {\n var componentPos = 0,\n componentLen = components.length,\n newPos = 0,\n oldPos = 0;\n\n for (; componentPos < componentLen; componentPos++) {\n var component = components[componentPos];\n\n if (!component.removed) {\n if (!component.added && useLongestToken) {\n var value = newString.slice(newPos, newPos + component.count);\n value = value.map(function (value, i) {\n var oldValue = oldString[oldPos + i];\n return oldValue.length > value.length ? oldValue : value;\n });\n component.value = diff.join(value);\n } else {\n component.value = diff.join(newString.slice(newPos, newPos + component.count));\n }\n\n newPos += component.count; // Common case\n\n if (!component.added) {\n oldPos += component.count;\n }\n } else {\n component.value = diff.join(oldString.slice(oldPos, oldPos + component.count));\n oldPos += component.count; // Reverse add and remove so removes are output first to match common convention\n // The diffing algorithm is tied to add then remove output and this is the simplest\n // route to get the desired output with minimal overhead.\n\n if (componentPos && components[componentPos - 1].added) {\n var tmp = components[componentPos - 1];\n components[componentPos - 1] = components[componentPos];\n components[componentPos] = tmp;\n }\n }\n } // Special case handle for when one terminal is ignored (i.e. whitespace).\n // For this case we merge the terminal into the prior string and drop the change.\n // This is only available for string mode.\n\n\n var lastComponent = components[componentLen - 1];\n\n if (componentLen > 1 && typeof lastComponent.value === 'string' && (lastComponent.added || lastComponent.removed) && diff.equals('', lastComponent.value)) {\n components[componentLen - 2].value += lastComponent.value;\n components.pop();\n }\n\n return components;\n }\n\n function clonePath(path) {\n return {\n newPos: path.newPos,\n components: path.components.slice(0)\n };\n }\n\n var characterDiff = new Diff();\n function diffChars(oldStr, newStr, options) {\n return characterDiff.diff(oldStr, newStr, options);\n }\n\n function generateOptions(options, defaults) {\n if (typeof options === 'function') {\n defaults.callback = options;\n } else if (options) {\n for (var name in options) {\n /* istanbul ignore else */\n if (options.hasOwnProperty(name)) {\n defaults[name] = options[name];\n }\n }\n }\n\n return defaults;\n }\n\n //\n // Ranges and exceptions:\n // Latin-1 Supplement, 0080–00FF\n // - U+00D7 × Multiplication sign\n // - U+00F7 ÷ Division sign\n // Latin Extended-A, 0100–017F\n // Latin Extended-B, 0180–024F\n // IPA Extensions, 0250–02AF\n // Spacing Modifier Letters, 02B0–02FF\n // - U+02C7 ˇ ˇ Caron\n // - U+02D8 ˘ ˘ Breve\n // - U+02D9 ˙ ˙ Dot Above\n // - U+02DA ˚ ˚ Ring Above\n // - U+02DB ˛ ˛ Ogonek\n // - U+02DC ˜ ˜ Small Tilde\n // - U+02DD ˝ ˝ Double Acute Accent\n // Latin Extended Additional, 1E00–1EFF\n\n var extendedWordChars = /^[A-Za-z\\xC0-\\u02C6\\u02C8-\\u02D7\\u02DE-\\u02FF\\u1E00-\\u1EFF]+$/;\n var reWhitespace = /\\S/;\n var wordDiff = new Diff();\n\n wordDiff.equals = function (left, right) {\n if (this.options.ignoreCase) {\n left = left.toLowerCase();\n right = right.toLowerCase();\n }\n\n return left === right || this.options.ignoreWhitespace && !reWhitespace.test(left) && !reWhitespace.test(right);\n };\n\n wordDiff.tokenize = function (value) {\n var tokens = value.split(/(\\s+|[()[\\]{}'\"]|\\b)/); // Join the boundary splits that we do not consider to be boundaries. This is primarily the extended Latin character set.\n\n for (var i = 0; i < tokens.length - 1; i++) {\n // If we have an empty string in the next field and we have only word chars before and after, merge\n if (!tokens[i + 1] && tokens[i + 2] && extendedWordChars.test(tokens[i]) && extendedWordChars.test(tokens[i + 2])) {\n tokens[i] += tokens[i + 2];\n tokens.splice(i + 1, 2);\n i--;\n }\n }\n\n return tokens;\n };\n\n function diffWords(oldStr, newStr, options) {\n options = generateOptions(options, {\n ignoreWhitespace: true\n });\n return wordDiff.diff(oldStr, newStr, options);\n }\n function diffWordsWithSpace(oldStr, newStr, options) {\n return wordDiff.diff(oldStr, newStr, options);\n }\n\n var lineDiff = new Diff();\n\n lineDiff.tokenize = function (value) {\n var retLines = [],\n linesAndNewlines = value.split(/(\\n|\\r\\n)/); // Ignore the final empty token that occurs if the string ends with a new line\n\n if (!linesAndNewlines[linesAndNewlines.length - 1]) {\n linesAndNewlines.pop();\n } // Merge the content and line separators into single tokens\n\n\n for (var i = 0; i < linesAndNewlines.length; i++) {\n var line = linesAndNewlines[i];\n\n if (i % 2 && !this.options.newlineIsToken) {\n retLines[retLines.length - 1] += line;\n } else {\n if (this.options.ignoreWhitespace) {\n line = line.trim();\n }\n\n retLines.push(line);\n }\n }\n\n return retLines;\n };\n\n function diffLines(oldStr, newStr, callback) {\n return lineDiff.diff(oldStr, newStr, callback);\n }\n function diffTrimmedLines(oldStr, newStr, callback) {\n var options = generateOptions(callback, {\n ignoreWhitespace: true\n });\n return lineDiff.diff(oldStr, newStr, options);\n }\n\n var sentenceDiff = new Diff();\n\n sentenceDiff.tokenize = function (value) {\n return value.split(/(\\S.+?[.!?])(?=\\s+|$)/);\n };\n\n function diffSentences(oldStr, newStr, callback) {\n return sentenceDiff.diff(oldStr, newStr, callback);\n }\n\n var cssDiff = new Diff();\n\n cssDiff.tokenize = function (value) {\n return value.split(/([{}:;,]|\\s+)/);\n };\n\n function diffCss(oldStr, newStr, callback) {\n return cssDiff.diff(oldStr, newStr, callback);\n }\n\n function _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n }\n\n function _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n }\n\n function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n }\n }\n\n function _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n }\n\n function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n }\n\n var objectPrototypeToString = Object.prototype.toString;\n var jsonDiff = new Diff(); // Discriminate between two lines of pretty-printed, serialized JSON where one of them has a\n // dangling comma and the other doesn't. Turns out including the dangling comma yields the nicest output:\n\n jsonDiff.useLongestToken = true;\n jsonDiff.tokenize = lineDiff.tokenize;\n\n jsonDiff.castInput = function (value) {\n var _this$options = this.options,\n undefinedReplacement = _this$options.undefinedReplacement,\n _this$options$stringi = _this$options.stringifyReplacer,\n stringifyReplacer = _this$options$stringi === void 0 ? function (k, v) {\n return typeof v === 'undefined' ? undefinedReplacement : v;\n } : _this$options$stringi;\n return typeof value === 'string' ? value : JSON.stringify(canonicalize(value, null, null, stringifyReplacer), stringifyReplacer, ' ');\n };\n\n jsonDiff.equals = function (left, right) {\n return Diff.prototype.equals.call(jsonDiff, left.replace(/,([\\r\\n])/g, '$1'), right.replace(/,([\\r\\n])/g, '$1'));\n };\n\n function diffJson(oldObj, newObj, options) {\n return jsonDiff.diff(oldObj, newObj, options);\n } // This function handles the presence of circular references by bailing out when encountering an\n // object that is already on the \"stack\" of items being processed. Accepts an optional replacer\n\n function canonicalize(obj, stack, replacementStack, replacer, key) {\n stack = stack || [];\n replacementStack = replacementStack || [];\n\n if (replacer) {\n obj = replacer(key, obj);\n }\n\n var i;\n\n for (i = 0; i < stack.length; i += 1) {\n if (stack[i] === obj) {\n return replacementStack[i];\n }\n }\n\n var canonicalizedObj;\n\n if ('[object Array]' === objectPrototypeToString.call(obj)) {\n stack.push(obj);\n canonicalizedObj = new Array(obj.length);\n replacementStack.push(canonicalizedObj);\n\n for (i = 0; i < obj.length; i += 1) {\n canonicalizedObj[i] = canonicalize(obj[i], stack, replacementStack, replacer, key);\n }\n\n stack.pop();\n replacementStack.pop();\n return canonicalizedObj;\n }\n\n if (obj && obj.toJSON) {\n obj = obj.toJSON();\n }\n\n if (_typeof(obj) === 'object' && obj !== null) {\n stack.push(obj);\n canonicalizedObj = {};\n replacementStack.push(canonicalizedObj);\n\n var sortedKeys = [],\n _key;\n\n for (_key in obj) {\n /* istanbul ignore else */\n if (obj.hasOwnProperty(_key)) {\n sortedKeys.push(_key);\n }\n }\n\n sortedKeys.sort();\n\n for (i = 0; i < sortedKeys.length; i += 1) {\n _key = sortedKeys[i];\n canonicalizedObj[_key] = canonicalize(obj[_key], stack, replacementStack, replacer, _key);\n }\n\n stack.pop();\n replacementStack.pop();\n } else {\n canonicalizedObj = obj;\n }\n\n return canonicalizedObj;\n }\n\n var arrayDiff = new Diff();\n\n arrayDiff.tokenize = function (value) {\n return value.slice();\n };\n\n arrayDiff.join = arrayDiff.removeEmpty = function (value) {\n return value;\n };\n\n function diffArrays(oldArr, newArr, callback) {\n return arrayDiff.diff(oldArr, newArr, callback);\n }\n\n function parsePatch(uniDiff) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var diffstr = uniDiff.split(/\\r\\n|[\\n\\v\\f\\r\\x85]/),\n delimiters = uniDiff.match(/\\r\\n|[\\n\\v\\f\\r\\x85]/g) || [],\n list = [],\n i = 0;\n\n function parseIndex() {\n var index = {};\n list.push(index); // Parse diff metadata\n\n while (i < diffstr.length) {\n var line = diffstr[i]; // File header found, end parsing diff metadata\n\n if (/^(\\-\\-\\-|\\+\\+\\+|@@)\\s/.test(line)) {\n break;\n } // Diff index\n\n\n var header = /^(?:Index:|diff(?: -r \\w+)+)\\s+(.+?)\\s*$/.exec(line);\n\n if (header) {\n index.index = header[1];\n }\n\n i++;\n } // Parse file headers if they are defined. Unified diff requires them, but\n // there's no technical issues to have an isolated hunk without file header\n\n\n parseFileHeader(index);\n parseFileHeader(index); // Parse hunks\n\n index.hunks = [];\n\n while (i < diffstr.length) {\n var _line = diffstr[i];\n\n if (/^(Index:|diff|\\-\\-\\-|\\+\\+\\+)\\s/.test(_line)) {\n break;\n } else if (/^@@/.test(_line)) {\n index.hunks.push(parseHunk());\n } else if (_line && options.strict) {\n // Ignore unexpected content unless in strict mode\n throw new Error('Unknown line ' + (i + 1) + ' ' + JSON.stringify(_line));\n } else {\n i++;\n }\n }\n } // Parses the --- and +++ headers, if none are found, no lines\n // are consumed.\n\n\n function parseFileHeader(index) {\n var fileHeader = /^(---|\\+\\+\\+)\\s+(.*)$/.exec(diffstr[i]);\n\n if (fileHeader) {\n var keyPrefix = fileHeader[1] === '---' ? 'old' : 'new';\n var data = fileHeader[2].split('\\t', 2);\n var fileName = data[0].replace(/\\\\\\\\/g, '\\\\');\n\n if (/^\".*\"$/.test(fileName)) {\n fileName = fileName.substr(1, fileName.length - 2);\n }\n\n index[keyPrefix + 'FileName'] = fileName;\n index[keyPrefix + 'Header'] = (data[1] || '').trim();\n i++;\n }\n } // Parses a hunk\n // This assumes that we are at the start of a hunk.\n\n\n function parseHunk() {\n var chunkHeaderIndex = i,\n chunkHeaderLine = diffstr[i++],\n chunkHeader = chunkHeaderLine.split(/@@ -(\\d+)(?:,(\\d+))? \\+(\\d+)(?:,(\\d+))? @@/);\n var hunk = {\n oldStart: +chunkHeader[1],\n oldLines: +chunkHeader[2] || 1,\n newStart: +chunkHeader[3],\n newLines: +chunkHeader[4] || 1,\n lines: [],\n linedelimiters: []\n };\n var addCount = 0,\n removeCount = 0;\n\n for (; i < diffstr.length; i++) {\n // Lines starting with '---' could be mistaken for the \"remove line\" operation\n // But they could be the header for the next file. Therefore prune such cases out.\n if (diffstr[i].indexOf('--- ') === 0 && i + 2 < diffstr.length && diffstr[i + 1].indexOf('+++ ') === 0 && diffstr[i + 2].indexOf('@@') === 0) {\n break;\n }\n\n var operation = diffstr[i].length == 0 && i != diffstr.length - 1 ? ' ' : diffstr[i][0];\n\n if (operation === '+' || operation === '-' || operation === ' ' || operation === '\\\\') {\n hunk.lines.push(diffstr[i]);\n hunk.linedelimiters.push(delimiters[i] || '\\n');\n\n if (operation === '+') {\n addCount++;\n } else if (operation === '-') {\n removeCount++;\n } else if (operation === ' ') {\n addCount++;\n removeCount++;\n }\n } else {\n break;\n }\n } // Handle the empty block count case\n\n\n if (!addCount && hunk.newLines === 1) {\n hunk.newLines = 0;\n }\n\n if (!removeCount && hunk.oldLines === 1) {\n hunk.oldLines = 0;\n } // Perform optional sanity checking\n\n\n if (options.strict) {\n if (addCount !== hunk.newLines) {\n throw new Error('Added line count did not match for hunk at line ' + (chunkHeaderIndex + 1));\n }\n\n if (removeCount !== hunk.oldLines) {\n throw new Error('Removed line count did not match for hunk at line ' + (chunkHeaderIndex + 1));\n }\n }\n\n return hunk;\n }\n\n while (i < diffstr.length) {\n parseIndex();\n }\n\n return list;\n }\n\n // Iterator that traverses in the range of [min, max], stepping\n // by distance from a given start position. I.e. for [0, 4], with\n // start of 2, this will iterate 2, 3, 1, 4, 0.\n function distanceIterator (start, minLine, maxLine) {\n var wantForward = true,\n backwardExhausted = false,\n forwardExhausted = false,\n localOffset = 1;\n return function iterator() {\n if (wantForward && !forwardExhausted) {\n if (backwardExhausted) {\n localOffset++;\n } else {\n wantForward = false;\n } // Check if trying to fit beyond text length, and if not, check it fits\n // after offset location (or desired location on first iteration)\n\n\n if (start + localOffset <= maxLine) {\n return localOffset;\n }\n\n forwardExhausted = true;\n }\n\n if (!backwardExhausted) {\n if (!forwardExhausted) {\n wantForward = true;\n } // Check if trying to fit before text beginning, and if not, check it fits\n // before offset location\n\n\n if (minLine <= start - localOffset) {\n return -localOffset++;\n }\n\n backwardExhausted = true;\n return iterator();\n } // We tried to fit hunk before text beginning and beyond text length, then\n // hunk can't fit on the text. Return undefined\n\n };\n }\n\n function applyPatch(source, uniDiff) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n if (typeof uniDiff === 'string') {\n uniDiff = parsePatch(uniDiff);\n }\n\n if (Array.isArray(uniDiff)) {\n if (uniDiff.length > 1) {\n throw new Error('applyPatch only works with a single input.');\n }\n\n uniDiff = uniDiff[0];\n } // Apply the diff to the input\n\n\n var lines = source.split(/\\r\\n|[\\n\\v\\f\\r\\x85]/),\n delimiters = source.match(/\\r\\n|[\\n\\v\\f\\r\\x85]/g) || [],\n hunks = uniDiff.hunks,\n compareLine = options.compareLine || function (lineNumber, line, operation, patchContent) {\n return line === patchContent;\n },\n errorCount = 0,\n fuzzFactor = options.fuzzFactor || 0,\n minLine = 0,\n offset = 0,\n removeEOFNL,\n addEOFNL;\n /**\n * Checks if the hunk exactly fits on the provided location\n */\n\n\n function hunkFits(hunk, toPos) {\n for (var j = 0; j < hunk.lines.length; j++) {\n var line = hunk.lines[j],\n operation = line.length > 0 ? line[0] : ' ',\n content = line.length > 0 ? line.substr(1) : line;\n\n if (operation === ' ' || operation === '-') {\n // Context sanity check\n if (!compareLine(toPos + 1, lines[toPos], operation, content)) {\n errorCount++;\n\n if (errorCount > fuzzFactor) {\n return false;\n }\n }\n\n toPos++;\n }\n }\n\n return true;\n } // Search best fit offsets for each hunk based on the previous ones\n\n\n for (var i = 0; i < hunks.length; i++) {\n var hunk = hunks[i],\n maxLine = lines.length - hunk.oldLines,\n localOffset = 0,\n toPos = offset + hunk.oldStart - 1;\n var iterator = distanceIterator(toPos, minLine, maxLine);\n\n for (; localOffset !== undefined; localOffset = iterator()) {\n if (hunkFits(hunk, toPos + localOffset)) {\n hunk.offset = offset += localOffset;\n break;\n }\n }\n\n if (localOffset === undefined) {\n return false;\n } // Set lower text limit to end of the current hunk, so next ones don't try\n // to fit over already patched text\n\n\n minLine = hunk.offset + hunk.oldStart + hunk.oldLines;\n } // Apply patch hunks\n\n\n var diffOffset = 0;\n\n for (var _i = 0; _i < hunks.length; _i++) {\n var _hunk = hunks[_i],\n _toPos = _hunk.oldStart + _hunk.offset + diffOffset - 1;\n\n diffOffset += _hunk.newLines - _hunk.oldLines;\n\n if (_toPos < 0) {\n // Creating a new file\n _toPos = 0;\n }\n\n for (var j = 0; j < _hunk.lines.length; j++) {\n var line = _hunk.lines[j],\n operation = line.length > 0 ? line[0] : ' ',\n content = line.length > 0 ? line.substr(1) : line,\n delimiter = _hunk.linedelimiters[j];\n\n if (operation === ' ') {\n _toPos++;\n } else if (operation === '-') {\n lines.splice(_toPos, 1);\n delimiters.splice(_toPos, 1);\n /* istanbul ignore else */\n } else if (operation === '+') {\n lines.splice(_toPos, 0, content);\n delimiters.splice(_toPos, 0, delimiter);\n _toPos++;\n } else if (operation === '\\\\') {\n var previousOperation = _hunk.lines[j - 1] ? _hunk.lines[j - 1][0] : null;\n\n if (previousOperation === '+') {\n removeEOFNL = true;\n } else if (previousOperation === '-') {\n addEOFNL = true;\n }\n }\n }\n } // Handle EOFNL insertion/removal\n\n\n if (removeEOFNL) {\n while (!lines[lines.length - 1]) {\n lines.pop();\n delimiters.pop();\n }\n } else if (addEOFNL) {\n lines.push('');\n delimiters.push('\\n');\n }\n\n for (var _k = 0; _k < lines.length - 1; _k++) {\n lines[_k] = lines[_k] + delimiters[_k];\n }\n\n return lines.join('');\n } // Wrapper that supports multiple file patches via callbacks.\n\n function applyPatches(uniDiff, options) {\n if (typeof uniDiff === 'string') {\n uniDiff = parsePatch(uniDiff);\n }\n\n var currentIndex = 0;\n\n function processIndex() {\n var index = uniDiff[currentIndex++];\n\n if (!index) {\n return options.complete();\n }\n\n options.loadFile(index, function (err, data) {\n if (err) {\n return options.complete(err);\n }\n\n var updatedContent = applyPatch(data, index, options);\n options.patched(index, updatedContent, function (err) {\n if (err) {\n return options.complete(err);\n }\n\n processIndex();\n });\n });\n }\n\n processIndex();\n }\n\n function structuredPatch(oldFileName, newFileName, oldStr, newStr, oldHeader, newHeader, options) {\n if (!options) {\n options = {};\n }\n\n if (typeof options.context === 'undefined') {\n options.context = 4;\n }\n\n var diff = diffLines(oldStr, newStr, options);\n diff.push({\n value: '',\n lines: []\n }); // Append an empty value to make cleanup easier\n\n function contextLines(lines) {\n return lines.map(function (entry) {\n return ' ' + entry;\n });\n }\n\n var hunks = [];\n var oldRangeStart = 0,\n newRangeStart = 0,\n curRange = [],\n oldLine = 1,\n newLine = 1;\n\n var _loop = function _loop(i) {\n var current = diff[i],\n lines = current.lines || current.value.replace(/\\n$/, '').split('\\n');\n current.lines = lines;\n\n if (current.added || current.removed) {\n var _curRange;\n\n // If we have previous context, start with that\n if (!oldRangeStart) {\n var prev = diff[i - 1];\n oldRangeStart = oldLine;\n newRangeStart = newLine;\n\n if (prev) {\n curRange = options.context > 0 ? contextLines(prev.lines.slice(-options.context)) : [];\n oldRangeStart -= curRange.length;\n newRangeStart -= curRange.length;\n }\n } // Output our changes\n\n\n (_curRange = curRange).push.apply(_curRange, _toConsumableArray(lines.map(function (entry) {\n return (current.added ? '+' : '-') + entry;\n }))); // Track the updated file position\n\n\n if (current.added) {\n newLine += lines.length;\n } else {\n oldLine += lines.length;\n }\n } else {\n // Identical context lines. Track line changes\n if (oldRangeStart) {\n // Close out any changes that have been output (or join overlapping)\n if (lines.length <= options.context * 2 && i < diff.length - 2) {\n var _curRange2;\n\n // Overlapping\n (_curRange2 = curRange).push.apply(_curRange2, _toConsumableArray(contextLines(lines)));\n } else {\n var _curRange3;\n\n // end the range and output\n var contextSize = Math.min(lines.length, options.context);\n\n (_curRange3 = curRange).push.apply(_curRange3, _toConsumableArray(contextLines(lines.slice(0, contextSize))));\n\n var hunk = {\n oldStart: oldRangeStart,\n oldLines: oldLine - oldRangeStart + contextSize,\n newStart: newRangeStart,\n newLines: newLine - newRangeStart + contextSize,\n lines: curRange\n };\n\n if (i >= diff.length - 2 && lines.length <= options.context) {\n // EOF is inside this hunk\n var oldEOFNewline = /\\n$/.test(oldStr);\n var newEOFNewline = /\\n$/.test(newStr);\n var noNlBeforeAdds = lines.length == 0 && curRange.length > hunk.oldLines;\n\n if (!oldEOFNewline && noNlBeforeAdds) {\n // special case: old has no eol and no trailing context; no-nl can end up before adds\n curRange.splice(hunk.oldLines, 0, '\\\\ No newline at end of file');\n }\n\n if (!oldEOFNewline && !noNlBeforeAdds || !newEOFNewline) {\n curRange.push('\\\\ No newline at end of file');\n }\n }\n\n hunks.push(hunk);\n oldRangeStart = 0;\n newRangeStart = 0;\n curRange = [];\n }\n }\n\n oldLine += lines.length;\n newLine += lines.length;\n }\n };\n\n for (var i = 0; i < diff.length; i++) {\n _loop(i);\n }\n\n return {\n oldFileName: oldFileName,\n newFileName: newFileName,\n oldHeader: oldHeader,\n newHeader: newHeader,\n hunks: hunks\n };\n }\n function createTwoFilesPatch(oldFileName, newFileName, oldStr, newStr, oldHeader, newHeader, options) {\n var diff = structuredPatch(oldFileName, newFileName, oldStr, newStr, oldHeader, newHeader, options);\n var ret = [];\n\n if (oldFileName == newFileName) {\n ret.push('Index: ' + oldFileName);\n }\n\n ret.push('===================================================================');\n ret.push('--- ' + diff.oldFileName + (typeof diff.oldHeader === 'undefined' ? '' : '\\t' + diff.oldHeader));\n ret.push('+++ ' + diff.newFileName + (typeof diff.newHeader === 'undefined' ? '' : '\\t' + diff.newHeader));\n\n for (var i = 0; i < diff.hunks.length; i++) {\n var hunk = diff.hunks[i];\n ret.push('@@ -' + hunk.oldStart + ',' + hunk.oldLines + ' +' + hunk.newStart + ',' + hunk.newLines + ' @@');\n ret.push.apply(ret, hunk.lines);\n }\n\n return ret.join('\\n') + '\\n';\n }\n function createPatch(fileName, oldStr, newStr, oldHeader, newHeader, options) {\n return createTwoFilesPatch(fileName, fileName, oldStr, newStr, oldHeader, newHeader, options);\n }\n\n function arrayEqual(a, b) {\n if (a.length !== b.length) {\n return false;\n }\n\n return arrayStartsWith(a, b);\n }\n function arrayStartsWith(array, start) {\n if (start.length > array.length) {\n return false;\n }\n\n for (var i = 0; i < start.length; i++) {\n if (start[i] !== array[i]) {\n return false;\n }\n }\n\n return true;\n }\n\n function calcLineCount(hunk) {\n var _calcOldNewLineCount = calcOldNewLineCount(hunk.lines),\n oldLines = _calcOldNewLineCount.oldLines,\n newLines = _calcOldNewLineCount.newLines;\n\n if (oldLines !== undefined) {\n hunk.oldLines = oldLines;\n } else {\n delete hunk.oldLines;\n }\n\n if (newLines !== undefined) {\n hunk.newLines = newLines;\n } else {\n delete hunk.newLines;\n }\n }\n function merge(mine, theirs, base) {\n mine = loadPatch(mine, base);\n theirs = loadPatch(theirs, base);\n var ret = {}; // For index we just let it pass through as it doesn't have any necessary meaning.\n // Leaving sanity checks on this to the API consumer that may know more about the\n // meaning in their own context.\n\n if (mine.index || theirs.index) {\n ret.index = mine.index || theirs.index;\n }\n\n if (mine.newFileName || theirs.newFileName) {\n if (!fileNameChanged(mine)) {\n // No header or no change in ours, use theirs (and ours if theirs does not exist)\n ret.oldFileName = theirs.oldFileName || mine.oldFileName;\n ret.newFileName = theirs.newFileName || mine.newFileName;\n ret.oldHeader = theirs.oldHeader || mine.oldHeader;\n ret.newHeader = theirs.newHeader || mine.newHeader;\n } else if (!fileNameChanged(theirs)) {\n // No header or no change in theirs, use ours\n ret.oldFileName = mine.oldFileName;\n ret.newFileName = mine.newFileName;\n ret.oldHeader = mine.oldHeader;\n ret.newHeader = mine.newHeader;\n } else {\n // Both changed... figure it out\n ret.oldFileName = selectField(ret, mine.oldFileName, theirs.oldFileName);\n ret.newFileName = selectField(ret, mine.newFileName, theirs.newFileName);\n ret.oldHeader = selectField(ret, mine.oldHeader, theirs.oldHeader);\n ret.newHeader = selectField(ret, mine.newHeader, theirs.newHeader);\n }\n }\n\n ret.hunks = [];\n var mineIndex = 0,\n theirsIndex = 0,\n mineOffset = 0,\n theirsOffset = 0;\n\n while (mineIndex < mine.hunks.length || theirsIndex < theirs.hunks.length) {\n var mineCurrent = mine.hunks[mineIndex] || {\n oldStart: Infinity\n },\n theirsCurrent = theirs.hunks[theirsIndex] || {\n oldStart: Infinity\n };\n\n if (hunkBefore(mineCurrent, theirsCurrent)) {\n // This patch does not overlap with any of the others, yay.\n ret.hunks.push(cloneHunk(mineCurrent, mineOffset));\n mineIndex++;\n theirsOffset += mineCurrent.newLines - mineCurrent.oldLines;\n } else if (hunkBefore(theirsCurrent, mineCurrent)) {\n // This patch does not overlap with any of the others, yay.\n ret.hunks.push(cloneHunk(theirsCurrent, theirsOffset));\n theirsIndex++;\n mineOffset += theirsCurrent.newLines - theirsCurrent.oldLines;\n } else {\n // Overlap, merge as best we can\n var mergedHunk = {\n oldStart: Math.min(mineCurrent.oldStart, theirsCurrent.oldStart),\n oldLines: 0,\n newStart: Math.min(mineCurrent.newStart + mineOffset, theirsCurrent.oldStart + theirsOffset),\n newLines: 0,\n lines: []\n };\n mergeLines(mergedHunk, mineCurrent.oldStart, mineCurrent.lines, theirsCurrent.oldStart, theirsCurrent.lines);\n theirsIndex++;\n mineIndex++;\n ret.hunks.push(mergedHunk);\n }\n }\n\n return ret;\n }\n\n function loadPatch(param, base) {\n if (typeof param === 'string') {\n if (/^@@/m.test(param) || /^Index:/m.test(param)) {\n return parsePatch(param)[0];\n }\n\n if (!base) {\n throw new Error('Must provide a base reference or pass in a patch');\n }\n\n return structuredPatch(undefined, undefined, base, param);\n }\n\n return param;\n }\n\n function fileNameChanged(patch) {\n return patch.newFileName && patch.newFileName !== patch.oldFileName;\n }\n\n function selectField(index, mine, theirs) {\n if (mine === theirs) {\n return mine;\n } else {\n index.conflict = true;\n return {\n mine: mine,\n theirs: theirs\n };\n }\n }\n\n function hunkBefore(test, check) {\n return test.oldStart < check.oldStart && test.oldStart + test.oldLines < check.oldStart;\n }\n\n function cloneHunk(hunk, offset) {\n return {\n oldStart: hunk.oldStart,\n oldLines: hunk.oldLines,\n newStart: hunk.newStart + offset,\n newLines: hunk.newLines,\n lines: hunk.lines\n };\n }\n\n function mergeLines(hunk, mineOffset, mineLines, theirOffset, theirLines) {\n // This will generally result in a conflicted hunk, but there are cases where the context\n // is the only overlap where we can successfully merge the content here.\n var mine = {\n offset: mineOffset,\n lines: mineLines,\n index: 0\n },\n their = {\n offset: theirOffset,\n lines: theirLines,\n index: 0\n }; // Handle any leading content\n\n insertLeading(hunk, mine, their);\n insertLeading(hunk, their, mine); // Now in the overlap content. Scan through and select the best changes from each.\n\n while (mine.index < mine.lines.length && their.index < their.lines.length) {\n var mineCurrent = mine.lines[mine.index],\n theirCurrent = their.lines[their.index];\n\n if ((mineCurrent[0] === '-' || mineCurrent[0] === '+') && (theirCurrent[0] === '-' || theirCurrent[0] === '+')) {\n // Both modified ...\n mutualChange(hunk, mine, their);\n } else if (mineCurrent[0] === '+' && theirCurrent[0] === ' ') {\n var _hunk$lines;\n\n // Mine inserted\n (_hunk$lines = hunk.lines).push.apply(_hunk$lines, _toConsumableArray(collectChange(mine)));\n } else if (theirCurrent[0] === '+' && mineCurrent[0] === ' ') {\n var _hunk$lines2;\n\n // Theirs inserted\n (_hunk$lines2 = hunk.lines).push.apply(_hunk$lines2, _toConsumableArray(collectChange(their)));\n } else if (mineCurrent[0] === '-' && theirCurrent[0] === ' ') {\n // Mine removed or edited\n removal(hunk, mine, their);\n } else if (theirCurrent[0] === '-' && mineCurrent[0] === ' ') {\n // Their removed or edited\n removal(hunk, their, mine, true);\n } else if (mineCurrent === theirCurrent) {\n // Context identity\n hunk.lines.push(mineCurrent);\n mine.index++;\n their.index++;\n } else {\n // Context mismatch\n conflict(hunk, collectChange(mine), collectChange(their));\n }\n } // Now push anything that may be remaining\n\n\n insertTrailing(hunk, mine);\n insertTrailing(hunk, their);\n calcLineCount(hunk);\n }\n\n function mutualChange(hunk, mine, their) {\n var myChanges = collectChange(mine),\n theirChanges = collectChange(their);\n\n if (allRemoves(myChanges) && allRemoves(theirChanges)) {\n // Special case for remove changes that are supersets of one another\n if (arrayStartsWith(myChanges, theirChanges) && skipRemoveSuperset(their, myChanges, myChanges.length - theirChanges.length)) {\n var _hunk$lines3;\n\n (_hunk$lines3 = hunk.lines).push.apply(_hunk$lines3, _toConsumableArray(myChanges));\n\n return;\n } else if (arrayStartsWith(theirChanges, myChanges) && skipRemoveSuperset(mine, theirChanges, theirChanges.length - myChanges.length)) {\n var _hunk$lines4;\n\n (_hunk$lines4 = hunk.lines).push.apply(_hunk$lines4, _toConsumableArray(theirChanges));\n\n return;\n }\n } else if (arrayEqual(myChanges, theirChanges)) {\n var _hunk$lines5;\n\n (_hunk$lines5 = hunk.lines).push.apply(_hunk$lines5, _toConsumableArray(myChanges));\n\n return;\n }\n\n conflict(hunk, myChanges, theirChanges);\n }\n\n function removal(hunk, mine, their, swap) {\n var myChanges = collectChange(mine),\n theirChanges = collectContext(their, myChanges);\n\n if (theirChanges.merged) {\n var _hunk$lines6;\n\n (_hunk$lines6 = hunk.lines).push.apply(_hunk$lines6, _toConsumableArray(theirChanges.merged));\n } else {\n conflict(hunk, swap ? theirChanges : myChanges, swap ? myChanges : theirChanges);\n }\n }\n\n function conflict(hunk, mine, their) {\n hunk.conflict = true;\n hunk.lines.push({\n conflict: true,\n mine: mine,\n theirs: their\n });\n }\n\n function insertLeading(hunk, insert, their) {\n while (insert.offset < their.offset && insert.index < insert.lines.length) {\n var line = insert.lines[insert.index++];\n hunk.lines.push(line);\n insert.offset++;\n }\n }\n\n function insertTrailing(hunk, insert) {\n while (insert.index < insert.lines.length) {\n var line = insert.lines[insert.index++];\n hunk.lines.push(line);\n }\n }\n\n function collectChange(state) {\n var ret = [],\n operation = state.lines[state.index][0];\n\n while (state.index < state.lines.length) {\n var line = state.lines[state.index]; // Group additions that are immediately after subtractions and treat them as one \"atomic\" modify change.\n\n if (operation === '-' && line[0] === '+') {\n operation = '+';\n }\n\n if (operation === line[0]) {\n ret.push(line);\n state.index++;\n } else {\n break;\n }\n }\n\n return ret;\n }\n\n function collectContext(state, matchChanges) {\n var changes = [],\n merged = [],\n matchIndex = 0,\n contextChanges = false,\n conflicted = false;\n\n while (matchIndex < matchChanges.length && state.index < state.lines.length) {\n var change = state.lines[state.index],\n match = matchChanges[matchIndex]; // Once we've hit our add, then we are done\n\n if (match[0] === '+') {\n break;\n }\n\n contextChanges = contextChanges || change[0] !== ' ';\n merged.push(match);\n matchIndex++; // Consume any additions in the other block as a conflict to attempt\n // to pull in the remaining context after this\n\n if (change[0] === '+') {\n conflicted = true;\n\n while (change[0] === '+') {\n changes.push(change);\n change = state.lines[++state.index];\n }\n }\n\n if (match.substr(1) === change.substr(1)) {\n changes.push(change);\n state.index++;\n } else {\n conflicted = true;\n }\n }\n\n if ((matchChanges[matchIndex] || '')[0] === '+' && contextChanges) {\n conflicted = true;\n }\n\n if (conflicted) {\n return changes;\n }\n\n while (matchIndex < matchChanges.length) {\n merged.push(matchChanges[matchIndex++]);\n }\n\n return {\n merged: merged,\n changes: changes\n };\n }\n\n function allRemoves(changes) {\n return changes.reduce(function (prev, change) {\n return prev && change[0] === '-';\n }, true);\n }\n\n function skipRemoveSuperset(state, removeChanges, delta) {\n for (var i = 0; i < delta; i++) {\n var changeContent = removeChanges[removeChanges.length - delta + i].substr(1);\n\n if (state.lines[state.index + i] !== ' ' + changeContent) {\n return false;\n }\n }\n\n state.index += delta;\n return true;\n }\n\n function calcOldNewLineCount(lines) {\n var oldLines = 0;\n var newLines = 0;\n lines.forEach(function (line) {\n if (typeof line !== 'string') {\n var myCount = calcOldNewLineCount(line.mine);\n var theirCount = calcOldNewLineCount(line.theirs);\n\n if (oldLines !== undefined) {\n if (myCount.oldLines === theirCount.oldLines) {\n oldLines += myCount.oldLines;\n } else {\n oldLines = undefined;\n }\n }\n\n if (newLines !== undefined) {\n if (myCount.newLines === theirCount.newLines) {\n newLines += myCount.newLines;\n } else {\n newLines = undefined;\n }\n }\n } else {\n if (newLines !== undefined && (line[0] === '+' || line[0] === ' ')) {\n newLines++;\n }\n\n if (oldLines !== undefined && (line[0] === '-' || line[0] === ' ')) {\n oldLines++;\n }\n }\n });\n return {\n oldLines: oldLines,\n newLines: newLines\n };\n }\n\n // See: http://code.google.com/p/google-diff-match-patch/wiki/API\n function convertChangesToDMP(changes) {\n var ret = [],\n change,\n operation;\n\n for (var i = 0; i < changes.length; i++) {\n change = changes[i];\n\n if (change.added) {\n operation = 1;\n } else if (change.removed) {\n operation = -1;\n } else {\n operation = 0;\n }\n\n ret.push([operation, change.value]);\n }\n\n return ret;\n }\n\n function convertChangesToXML(changes) {\n var ret = [];\n\n for (var i = 0; i < changes.length; i++) {\n var change = changes[i];\n\n if (change.added) {\n ret.push('');\n } else if (change.removed) {\n ret.push('');\n }\n\n ret.push(escapeHTML(change.value));\n\n if (change.added) {\n ret.push('');\n } else if (change.removed) {\n ret.push('');\n }\n }\n\n return ret.join('');\n }\n\n function escapeHTML(s) {\n var n = s;\n n = n.replace(/&/g, '&');\n n = n.replace(//g, '>');\n n = n.replace(/\"/g, '"');\n return n;\n }\n\n /* See LICENSE file for terms of use */\n\n exports.Diff = Diff;\n exports.diffChars = diffChars;\n exports.diffWords = diffWords;\n exports.diffWordsWithSpace = diffWordsWithSpace;\n exports.diffLines = diffLines;\n exports.diffTrimmedLines = diffTrimmedLines;\n exports.diffSentences = diffSentences;\n exports.diffCss = diffCss;\n exports.diffJson = diffJson;\n exports.diffArrays = diffArrays;\n exports.structuredPatch = structuredPatch;\n exports.createTwoFilesPatch = createTwoFilesPatch;\n exports.createPatch = createPatch;\n exports.applyPatch = applyPatch;\n exports.applyPatches = applyPatches;\n exports.parsePatch = parsePatch;\n exports.merge = merge;\n exports.convertChangesToDMP = convertChangesToDMP;\n exports.convertChangesToXML = convertChangesToXML;\n exports.canonicalize = canonicalize;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n}));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZGlmZjJodG1sL25vZGVfbW9kdWxlcy9kaWZmL2Rpc3QvZGlmZi5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9kaWZmMmh0bWwvbm9kZV9tb2R1bGVzL2RpZmYvZGlzdC9kaWZmLmpzPzNlYTQiXSwic291cmNlc0NvbnRlbnQiOlsiLyohXG5cbiBkaWZmIHY0LjAuMVxuXG5Tb2Z0d2FyZSBMaWNlbnNlIEFncmVlbWVudCAoQlNEIExpY2Vuc2UpXG5cbkNvcHlyaWdodCAoYykgMjAwOS0yMDE1LCBLZXZpbiBEZWNrZXIgPGtwZGVja2VyQGdtYWlsLmNvbT5cblxuQWxsIHJpZ2h0cyByZXNlcnZlZC5cblxuUmVkaXN0cmlidXRpb24gYW5kIHVzZSBvZiB0aGlzIHNvZnR3YXJlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLFxuYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OlxuXG4qIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmVcbiAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZVxuICBmb2xsb3dpbmcgZGlzY2xhaW1lci5cblxuKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlXG4gIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGVcbiAgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyXG4gIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uXG5cbiogTmVpdGhlciB0aGUgbmFtZSBvZiBLZXZpbiBEZWNrZXIgbm9yIHRoZSBuYW1lcyBvZiBpdHNcbiAgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0c1xuICBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yXG4gIHdyaXR0ZW4gcGVybWlzc2lvbi5cblxuVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyBcIkFTIElTXCIgQU5EIEFOWSBFWFBSRVNTIE9SXG5JTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkRcbkZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SXG5DT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMXG5EQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsXG5EQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUlxuSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVFxuT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLlxuQGxpY2Vuc2VcbiovXG4oZnVuY3Rpb24gKGdsb2JhbCwgZmFjdG9yeSkge1xuICB0eXBlb2YgZXhwb3J0cyA9PT0gJ29iamVjdCcgJiYgdHlwZW9mIG1vZHVsZSAhPT0gJ3VuZGVmaW5lZCcgPyBmYWN0b3J5KGV4cG9ydHMpIDpcbiAgdHlwZW9mIGRlZmluZSA9PT0gJ2Z1bmN0aW9uJyAmJiBkZWZpbmUuYW1kID8gZGVmaW5lKFsnZXhwb3J0cyddLCBmYWN0b3J5KSA6XG4gIChnbG9iYWwgPSBnbG9iYWwgfHwgc2VsZiwgZmFjdG9yeShnbG9iYWwuRGlmZiA9IHt9KSk7XG59KHRoaXMsIGZ1bmN0aW9uIChleHBvcnRzKSB7ICd1c2Ugc3RyaWN0JztcblxuICBmdW5jdGlvbiBEaWZmKCkge31cbiAgRGlmZi5wcm90b3R5cGUgPSB7XG4gICAgZGlmZjogZnVuY3Rpb24gZGlmZihvbGRTdHJpbmcsIG5ld1N0cmluZykge1xuICAgICAgdmFyIG9wdGlvbnMgPSBhcmd1bWVudHMubGVuZ3RoID4gMiAmJiBhcmd1bWVudHNbMl0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1syXSA6IHt9O1xuICAgICAgdmFyIGNhbGxiYWNrID0gb3B0aW9ucy5jYWxsYmFjaztcblxuICAgICAgaWYgKHR5cGVvZiBvcHRpb25zID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIGNhbGxiYWNrID0gb3B0aW9ucztcbiAgICAgICAgb3B0aW9ucyA9IHt9O1xuICAgICAgfVxuXG4gICAgICB0aGlzLm9wdGlvbnMgPSBvcHRpb25zO1xuICAgICAgdmFyIHNlbGYgPSB0aGlzO1xuXG4gICAgICBmdW5jdGlvbiBkb25lKHZhbHVlKSB7XG4gICAgICAgIGlmIChjYWxsYmFjaykge1xuICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgY2FsbGJhY2sodW5kZWZpbmVkLCB2YWx1ZSk7XG4gICAgICAgICAgfSwgMCk7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgICB9XG4gICAgICB9IC8vIEFsbG93IHN1YmNsYXNzZXMgdG8gbWFzc2FnZSB0aGUgaW5wdXQgcHJpb3IgdG8gcnVubmluZ1xuXG5cbiAgICAgIG9sZFN0cmluZyA9IHRoaXMuY2FzdElucHV0KG9sZFN0cmluZyk7XG4gICAgICBuZXdTdHJpbmcgPSB0aGlzLmNhc3RJbnB1dChuZXdTdHJpbmcpO1xuICAgICAgb2xkU3RyaW5nID0gdGhpcy5yZW1vdmVFbXB0eSh0aGlzLnRva2VuaXplKG9sZFN0cmluZykpO1xuICAgICAgbmV3U3RyaW5nID0gdGhpcy5yZW1vdmVFbXB0eSh0aGlzLnRva2VuaXplKG5ld1N0cmluZykpO1xuICAgICAgdmFyIG5ld0xlbiA9IG5ld1N0cmluZy5sZW5ndGgsXG4gICAgICAgICAgb2xkTGVuID0gb2xkU3RyaW5nLmxlbmd0aDtcbiAgICAgIHZhciBlZGl0TGVuZ3RoID0gMTtcbiAgICAgIHZhciBtYXhFZGl0TGVuZ3RoID0gbmV3TGVuICsgb2xkTGVuO1xuICAgICAgdmFyIGJlc3RQYXRoID0gW3tcbiAgICAgICAgbmV3UG9zOiAtMSxcbiAgICAgICAgY29tcG9uZW50czogW11cbiAgICAgIH1dOyAvLyBTZWVkIGVkaXRMZW5ndGggPSAwLCBpLmUuIHRoZSBjb250ZW50IHN0YXJ0cyB3aXRoIHRoZSBzYW1lIHZhbHVlc1xuXG4gICAgICB2YXIgb2xkUG9zID0gdGhpcy5leHRyYWN0Q29tbW9uKGJlc3RQYXRoWzBdLCBuZXdTdHJpbmcsIG9sZFN0cmluZywgMCk7XG5cbiAgICAgIGlmIChiZXN0UGF0aFswXS5uZXdQb3MgKyAxID49IG5ld0xlbiAmJiBvbGRQb3MgKyAxID49IG9sZExlbikge1xuICAgICAgICAvLyBJZGVudGl0eSBwZXIgdGhlIGVxdWFsaXR5IGFuZCB0b2tlbml6ZXJcbiAgICAgICAgcmV0dXJuIGRvbmUoW3tcbiAgICAgICAgICB2YWx1ZTogdGhpcy5qb2luKG5ld1N0cmluZyksXG4gICAgICAgICAgY291bnQ6IG5ld1N0cmluZy5sZW5ndGhcbiAgICAgICAgfV0pO1xuICAgICAgfSAvLyBNYWluIHdvcmtlciBtZXRob2QuIGNoZWNrcyBhbGwgcGVybXV0YXRpb25zIG9mIGEgZ2l2ZW4gZWRpdCBsZW5ndGggZm9yIGFjY2VwdGFuY2UuXG5cblxuICAgICAgZnVuY3Rpb24gZXhlY0VkaXRMZW5ndGgoKSB7XG4gICAgICAgIGZvciAodmFyIGRpYWdvbmFsUGF0aCA9IC0xICogZWRpdExlbmd0aDsgZGlhZ29uYWxQYXRoIDw9IGVkaXRMZW5ndGg7IGRpYWdvbmFsUGF0aCArPSAyKSB7XG4gICAgICAgICAgdmFyIGJhc2VQYXRoID0gdm9pZCAwO1xuXG4gICAgICAgICAgdmFyIGFkZFBhdGggPSBiZXN0UGF0aFtkaWFnb25hbFBhdGggLSAxXSxcbiAgICAgICAgICAgICAgcmVtb3ZlUGF0aCA9IGJlc3RQYXRoW2RpYWdvbmFsUGF0aCArIDFdLFxuICAgICAgICAgICAgICBfb2xkUG9zID0gKHJlbW92ZVBhdGggPyByZW1vdmVQYXRoLm5ld1BvcyA6IDApIC0gZGlhZ29uYWxQYXRoO1xuXG4gICAgICAgICAgaWYgKGFkZFBhdGgpIHtcbiAgICAgICAgICAgIC8vIE5vIG9uZSBlbHNlIGlzIGdvaW5nIHRvIGF0dGVtcHQgdG8gdXNlIHRoaXMgdmFsdWUsIGNsZWFyIGl0XG4gICAgICAgICAgICBiZXN0UGF0aFtkaWFnb25hbFBhdGggLSAxXSA9IHVuZGVmaW5lZDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB2YXIgY2FuQWRkID0gYWRkUGF0aCAmJiBhZGRQYXRoLm5ld1BvcyArIDEgPCBuZXdMZW4sXG4gICAgICAgICAgICAgIGNhblJlbW92ZSA9IHJlbW92ZVBhdGggJiYgMCA8PSBfb2xkUG9zICYmIF9vbGRQb3MgPCBvbGRMZW47XG5cbiAgICAgICAgICBpZiAoIWNhbkFkZCAmJiAhY2FuUmVtb3ZlKSB7XG4gICAgICAgICAgICAvLyBJZiB0aGlzIHBhdGggaXMgYSB0ZXJtaW5hbCB0aGVuIHBydW5lXG4gICAgICAgICAgICBiZXN0UGF0aFtkaWFnb25hbFBhdGhdID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgfSAvLyBTZWxlY3QgdGhlIGRpYWdvbmFsIHRoYXQgd2Ugd2FudCB0byBicmFuY2ggZnJvbS4gV2Ugc2VsZWN0IHRoZSBwcmlvclxuICAgICAgICAgIC8vIHBhdGggd2hvc2UgcG9zaXRpb24gaW4gdGhlIG5ldyBzdHJpbmcgaXMgdGhlIGZhcnRoZXN0IGZyb20gdGhlIG9yaWdpblxuICAgICAgICAgIC8vIGFuZCBkb2VzIG5vdCBwYXNzIHRoZSBib3VuZHMgb2YgdGhlIGRpZmYgZ3JhcGhcblxuXG4gICAgICAgICAgaWYgKCFjYW5BZGQgfHwgY2FuUmVtb3ZlICYmIGFkZFBhdGgubmV3UG9zIDwgcmVtb3ZlUGF0aC5uZXdQb3MpIHtcbiAgICAgICAgICAgIGJhc2VQYXRoID0gY2xvbmVQYXRoKHJlbW92ZVBhdGgpO1xuICAgICAgICAgICAgc2VsZi5wdXNoQ29tcG9uZW50KGJhc2VQYXRoLmNvbXBvbmVudHMsIHVuZGVmaW5lZCwgdHJ1ZSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGJhc2VQYXRoID0gYWRkUGF0aDsgLy8gTm8gbmVlZCB0byBjbG9uZSwgd2UndmUgcHVsbGVkIGl0IGZyb20gdGhlIGxpc3RcblxuICAgICAgICAgICAgYmFzZVBhdGgubmV3UG9zKys7XG4gICAgICAgICAgICBzZWxmLnB1c2hDb21wb25lbnQoYmFzZVBhdGguY29tcG9uZW50cywgdHJ1ZSwgdW5kZWZpbmVkKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBfb2xkUG9zID0gc2VsZi5leHRyYWN0Q29tbW9uKGJhc2VQYXRoLCBuZXdTdHJpbmcsIG9sZFN0cmluZywgZGlhZ29uYWxQYXRoKTsgLy8gSWYgd2UgaGF2ZSBoaXQgdGhlIGVuZCBvZiBib3RoIHN0cmluZ3MsIHRoZW4gd2UgYXJlIGRvbmVcblxuICAgICAgICAgIGlmIChiYXNlUGF0aC5uZXdQb3MgKyAxID49IG5ld0xlbiAmJiBfb2xkUG9zICsgMSA+PSBvbGRMZW4pIHtcbiAgICAgICAgICAgIHJldHVybiBkb25lKGJ1aWxkVmFsdWVzKHNlbGYsIGJhc2VQYXRoLmNvbXBvbmVudHMsIG5ld1N0cmluZywgb2xkU3RyaW5nLCBzZWxmLnVzZUxvbmdlc3RUb2tlbikpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBPdGhlcndpc2UgdHJhY2sgdGhpcyBwYXRoIGFzIGEgcG90ZW50aWFsIGNhbmRpZGF0ZSBhbmQgY29udGludWUuXG4gICAgICAgICAgICBiZXN0UGF0aFtkaWFnb25hbFBhdGhdID0gYmFzZVBhdGg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgZWRpdExlbmd0aCsrO1xuICAgICAgfSAvLyBQZXJmb3JtcyB0aGUgbGVuZ3RoIG9mIGVkaXQgaXRlcmF0aW9uLiBJcyBhIGJpdCBmdWdseSBhcyB0aGlzIGhhcyB0byBzdXBwb3J0IHRoZVxuICAgICAgLy8gc3luYyBhbmQgYXN5bmMgbW9kZSB3aGljaCBpcyBuZXZlciBmdW4uIExvb3BzIG92ZXIgZXhlY0VkaXRMZW5ndGggdW50aWwgYSB2YWx1ZVxuICAgICAgLy8gaXMgcHJvZHVjZWQuXG5cblxuICAgICAgaWYgKGNhbGxiYWNrKSB7XG4gICAgICAgIChmdW5jdGlvbiBleGVjKCkge1xuICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgLy8gVGhpcyBzaG91bGQgbm90IGhhcHBlbiwgYnV0IHdlIHdhbnQgdG8gYmUgc2FmZS5cblxuICAgICAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgICAgICAgIGlmIChlZGl0TGVuZ3RoID4gbWF4RWRpdExlbmd0aCkge1xuICAgICAgICAgICAgICByZXR1cm4gY2FsbGJhY2soKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKCFleGVjRWRpdExlbmd0aCgpKSB7XG4gICAgICAgICAgICAgIGV4ZWMoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LCAwKTtcbiAgICAgICAgfSkoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHdoaWxlIChlZGl0TGVuZ3RoIDw9IG1heEVkaXRMZW5ndGgpIHtcbiAgICAgICAgICB2YXIgcmV0ID0gZXhlY0VkaXRMZW5ndGgoKTtcblxuICAgICAgICAgIGlmIChyZXQpIHtcbiAgICAgICAgICAgIHJldHVybiByZXQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSxcbiAgICBwdXNoQ29tcG9uZW50OiBmdW5jdGlvbiBwdXNoQ29tcG9uZW50KGNvbXBvbmVudHMsIGFkZGVkLCByZW1vdmVkKSB7XG4gICAgICB2YXIgbGFzdCA9IGNvbXBvbmVudHNbY29tcG9uZW50cy5sZW5ndGggLSAxXTtcblxuICAgICAgaWYgKGxhc3QgJiYgbGFzdC5hZGRlZCA9PT0gYWRkZWQgJiYgbGFzdC5yZW1vdmVkID09PSByZW1vdmVkKSB7XG4gICAgICAgIC8vIFdlIG5lZWQgdG8gY2xvbmUgaGVyZSBhcyB0aGUgY29tcG9uZW50IGNsb25lIG9wZXJhdGlvbiBpcyBqdXN0XG4gICAgICAgIC8vIGFzIHNoYWxsb3cgYXJyYXkgY2xvbmVcbiAgICAgICAgY29tcG9uZW50c1tjb21wb25lbnRzLmxlbmd0aCAtIDFdID0ge1xuICAgICAgICAgIGNvdW50OiBsYXN0LmNvdW50ICsgMSxcbiAgICAgICAgICBhZGRlZDogYWRkZWQsXG4gICAgICAgICAgcmVtb3ZlZDogcmVtb3ZlZFxuICAgICAgICB9O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29tcG9uZW50cy5wdXNoKHtcbiAgICAgICAgICBjb3VudDogMSxcbiAgICAgICAgICBhZGRlZDogYWRkZWQsXG4gICAgICAgICAgcmVtb3ZlZDogcmVtb3ZlZFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9LFxuICAgIGV4dHJhY3RDb21tb246IGZ1bmN0aW9uIGV4dHJhY3RDb21tb24oYmFzZVBhdGgsIG5ld1N0cmluZywgb2xkU3RyaW5nLCBkaWFnb25hbFBhdGgpIHtcbiAgICAgIHZhciBuZXdMZW4gPSBuZXdTdHJpbmcubGVuZ3RoLFxuICAgICAgICAgIG9sZExlbiA9IG9sZFN0cmluZy5sZW5ndGgsXG4gICAgICAgICAgbmV3UG9zID0gYmFzZVBhdGgubmV3UG9zLFxuICAgICAgICAgIG9sZFBvcyA9IG5ld1BvcyAtIGRpYWdvbmFsUGF0aCxcbiAgICAgICAgICBjb21tb25Db3VudCA9IDA7XG5cbiAgICAgIHdoaWxlIChuZXdQb3MgKyAxIDwgbmV3TGVuICYmIG9sZFBvcyArIDEgPCBvbGRMZW4gJiYgdGhpcy5lcXVhbHMobmV3U3RyaW5nW25ld1BvcyArIDFdLCBvbGRTdHJpbmdbb2xkUG9zICsgMV0pKSB7XG4gICAgICAgIG5ld1BvcysrO1xuICAgICAgICBvbGRQb3MrKztcbiAgICAgICAgY29tbW9uQ291bnQrKztcbiAgICAgIH1cblxuICAgICAgaWYgKGNvbW1vbkNvdW50KSB7XG4gICAgICAgIGJhc2VQYXRoLmNvbXBvbmVudHMucHVzaCh7XG4gICAgICAgICAgY291bnQ6IGNvbW1vbkNvdW50XG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICBiYXNlUGF0aC5uZXdQb3MgPSBuZXdQb3M7XG4gICAgICByZXR1cm4gb2xkUG9zO1xuICAgIH0sXG4gICAgZXF1YWxzOiBmdW5jdGlvbiBlcXVhbHMobGVmdCwgcmlnaHQpIHtcbiAgICAgIGlmICh0aGlzLm9wdGlvbnMuY29tcGFyYXRvcikge1xuICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zLmNvbXBhcmF0b3IobGVmdCwgcmlnaHQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIGxlZnQgPT09IHJpZ2h0IHx8IHRoaXMub3B0aW9ucy5pZ25vcmVDYXNlICYmIGxlZnQudG9Mb3dlckNhc2UoKSA9PT0gcmlnaHQudG9Mb3dlckNhc2UoKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIHJlbW92ZUVtcHR5OiBmdW5jdGlvbiByZW1vdmVFbXB0eShhcnJheSkge1xuICAgICAgdmFyIHJldCA9IFtdO1xuXG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGFycmF5Lmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGlmIChhcnJheVtpXSkge1xuICAgICAgICAgIHJldC5wdXNoKGFycmF5W2ldKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gcmV0O1xuICAgIH0sXG4gICAgY2FzdElucHV0OiBmdW5jdGlvbiBjYXN0SW5wdXQodmFsdWUpIHtcbiAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9LFxuICAgIHRva2VuaXplOiBmdW5jdGlvbiB0b2tlbml6ZSh2YWx1ZSkge1xuICAgICAgcmV0dXJuIHZhbHVlLnNwbGl0KCcnKTtcbiAgICB9LFxuICAgIGpvaW46IGZ1bmN0aW9uIGpvaW4oY2hhcnMpIHtcbiAgICAgIHJldHVybiBjaGFycy5qb2luKCcnKTtcbiAgICB9XG4gIH07XG5cbiAgZnVuY3Rpb24gYnVpbGRWYWx1ZXMoZGlmZiwgY29tcG9uZW50cywgbmV3U3RyaW5nLCBvbGRTdHJpbmcsIHVzZUxvbmdlc3RUb2tlbikge1xuICAgIHZhciBjb21wb25lbnRQb3MgPSAwLFxuICAgICAgICBjb21wb25lbnRMZW4gPSBjb21wb25lbnRzLmxlbmd0aCxcbiAgICAgICAgbmV3UG9zID0gMCxcbiAgICAgICAgb2xkUG9zID0gMDtcblxuICAgIGZvciAoOyBjb21wb25lbnRQb3MgPCBjb21wb25lbnRMZW47IGNvbXBvbmVudFBvcysrKSB7XG4gICAgICB2YXIgY29tcG9uZW50ID0gY29tcG9uZW50c1tjb21wb25lbnRQb3NdO1xuXG4gICAgICBpZiAoIWNvbXBvbmVudC5yZW1vdmVkKSB7XG4gICAgICAgIGlmICghY29tcG9uZW50LmFkZGVkICYmIHVzZUxvbmdlc3RUb2tlbikge1xuICAgICAgICAgIHZhciB2YWx1ZSA9IG5ld1N0cmluZy5zbGljZShuZXdQb3MsIG5ld1BvcyArIGNvbXBvbmVudC5jb3VudCk7XG4gICAgICAgICAgdmFsdWUgPSB2YWx1ZS5tYXAoZnVuY3Rpb24gKHZhbHVlLCBpKSB7XG4gICAgICAgICAgICB2YXIgb2xkVmFsdWUgPSBvbGRTdHJpbmdbb2xkUG9zICsgaV07XG4gICAgICAgICAgICByZXR1cm4gb2xkVmFsdWUubGVuZ3RoID4gdmFsdWUubGVuZ3RoID8gb2xkVmFsdWUgOiB2YWx1ZTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBjb21wb25lbnQudmFsdWUgPSBkaWZmLmpvaW4odmFsdWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbXBvbmVudC52YWx1ZSA9IGRpZmYuam9pbihuZXdTdHJpbmcuc2xpY2UobmV3UG9zLCBuZXdQb3MgKyBjb21wb25lbnQuY291bnQpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIG5ld1BvcyArPSBjb21wb25lbnQuY291bnQ7IC8vIENvbW1vbiBjYXNlXG5cbiAgICAgICAgaWYgKCFjb21wb25lbnQuYWRkZWQpIHtcbiAgICAgICAgICBvbGRQb3MgKz0gY29tcG9uZW50LmNvdW50O1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb21wb25lbnQudmFsdWUgPSBkaWZmLmpvaW4ob2xkU3RyaW5nLnNsaWNlKG9sZFBvcywgb2xkUG9zICsgY29tcG9uZW50LmNvdW50KSk7XG4gICAgICAgIG9sZFBvcyArPSBjb21wb25lbnQuY291bnQ7IC8vIFJldmVyc2UgYWRkIGFuZCByZW1vdmUgc28gcmVtb3ZlcyBhcmUgb3V0cHV0IGZpcnN0IHRvIG1hdGNoIGNvbW1vbiBjb252ZW50aW9uXG4gICAgICAgIC8vIFRoZSBkaWZmaW5nIGFsZ29yaXRobSBpcyB0aWVkIHRvIGFkZCB0aGVuIHJlbW92ZSBvdXRwdXQgYW5kIHRoaXMgaXMgdGhlIHNpbXBsZXN0XG4gICAgICAgIC8vIHJvdXRlIHRvIGdldCB0aGUgZGVzaXJlZCBvdXRwdXQgd2l0aCBtaW5pbWFsIG92ZXJoZWFkLlxuXG4gICAgICAgIGlmIChjb21wb25lbnRQb3MgJiYgY29tcG9uZW50c1tjb21wb25lbnRQb3MgLSAxXS5hZGRlZCkge1xuICAgICAgICAgIHZhciB0bXAgPSBjb21wb25lbnRzW2NvbXBvbmVudFBvcyAtIDFdO1xuICAgICAgICAgIGNvbXBvbmVudHNbY29tcG9uZW50UG9zIC0gMV0gPSBjb21wb25lbnRzW2NvbXBvbmVudFBvc107XG4gICAgICAgICAgY29tcG9uZW50c1tjb21wb25lbnRQb3NdID0gdG1wO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSAvLyBTcGVjaWFsIGNhc2UgaGFuZGxlIGZvciB3aGVuIG9uZSB0ZXJtaW5hbCBpcyBpZ25vcmVkIChpLmUuIHdoaXRlc3BhY2UpLlxuICAgIC8vIEZvciB0aGlzIGNhc2Ugd2UgbWVyZ2UgdGhlIHRlcm1pbmFsIGludG8gdGhlIHByaW9yIHN0cmluZyBhbmQgZHJvcCB0aGUgY2hhbmdlLlxuICAgIC8vIFRoaXMgaXMgb25seSBhdmFpbGFibGUgZm9yIHN0cmluZyBtb2RlLlxuXG5cbiAgICB2YXIgbGFzdENvbXBvbmVudCA9IGNvbXBvbmVudHNbY29tcG9uZW50TGVuIC0gMV07XG5cbiAgICBpZiAoY29tcG9uZW50TGVuID4gMSAmJiB0eXBlb2YgbGFzdENvbXBvbmVudC52YWx1ZSA9PT0gJ3N0cmluZycgJiYgKGxhc3RDb21wb25lbnQuYWRkZWQgfHwgbGFzdENvbXBvbmVudC5yZW1vdmVkKSAmJiBkaWZmLmVxdWFscygnJywgbGFzdENvbXBvbmVudC52YWx1ZSkpIHtcbiAgICAgIGNvbXBvbmVudHNbY29tcG9uZW50TGVuIC0gMl0udmFsdWUgKz0gbGFzdENvbXBvbmVudC52YWx1ZTtcbiAgICAgIGNvbXBvbmVudHMucG9wKCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNvbXBvbmVudHM7XG4gIH1cblxuICBmdW5jdGlvbiBjbG9uZVBhdGgocGF0aCkge1xuICAgIHJldHVybiB7XG4gICAgICBuZXdQb3M6IHBhdGgubmV3UG9zLFxuICAgICAgY29tcG9uZW50czogcGF0aC5jb21wb25lbnRzLnNsaWNlKDApXG4gICAgfTtcbiAgfVxuXG4gIHZhciBjaGFyYWN0ZXJEaWZmID0gbmV3IERpZmYoKTtcbiAgZnVuY3Rpb24gZGlmZkNoYXJzKG9sZFN0ciwgbmV3U3RyLCBvcHRpb25zKSB7XG4gICAgcmV0dXJuIGNoYXJhY3RlckRpZmYuZGlmZihvbGRTdHIsIG5ld1N0ciwgb3B0aW9ucyk7XG4gIH1cblxuICBmdW5jdGlvbiBnZW5lcmF0ZU9wdGlvbnMob3B0aW9ucywgZGVmYXVsdHMpIHtcbiAgICBpZiAodHlwZW9mIG9wdGlvbnMgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGRlZmF1bHRzLmNhbGxiYWNrID0gb3B0aW9ucztcbiAgICB9IGVsc2UgaWYgKG9wdGlvbnMpIHtcbiAgICAgIGZvciAodmFyIG5hbWUgaW4gb3B0aW9ucykge1xuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgICBpZiAob3B0aW9ucy5oYXNPd25Qcm9wZXJ0eShuYW1lKSkge1xuICAgICAgICAgIGRlZmF1bHRzW25hbWVdID0gb3B0aW9uc1tuYW1lXTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBkZWZhdWx0cztcbiAgfVxuXG4gIC8vXG4gIC8vIFJhbmdlcyBhbmQgZXhjZXB0aW9uczpcbiAgLy8gTGF0aW4tMSBTdXBwbGVtZW50LCAwMDgw4oCTMDBGRlxuICAvLyAgLSBVKzAwRDcgIMOXIE11bHRpcGxpY2F0aW9uIHNpZ25cbiAgLy8gIC0gVSswMEY3ICDDtyBEaXZpc2lvbiBzaWduXG4gIC8vIExhdGluIEV4dGVuZGVkLUEsIDAxMDDigJMwMTdGXG4gIC8vIExhdGluIEV4dGVuZGVkLUIsIDAxODDigJMwMjRGXG4gIC8vIElQQSBFeHRlbnNpb25zLCAwMjUw4oCTMDJBRlxuICAvLyBTcGFjaW5nIE1vZGlmaWVyIExldHRlcnMsIDAyQjDigJMwMkZGXG4gIC8vICAtIFUrMDJDNyAgy4cgJiM3MTE7ICBDYXJvblxuICAvLyAgLSBVKzAyRDggIMuYICYjNzI4OyAgQnJldmVcbiAgLy8gIC0gVSswMkQ5ICDLmSAmIzcyOTsgIERvdCBBYm92ZVxuICAvLyAgLSBVKzAyREEgIMuaICYjNzMwOyAgUmluZyBBYm92ZVxuICAvLyAgLSBVKzAyREIgIMubICYjNzMxOyAgT2dvbmVrXG4gIC8vICAtIFUrMDJEQyAgy5wgJiM3MzI7ICBTbWFsbCBUaWxkZVxuICAvLyAgLSBVKzAyREQgIMudICYjNzMzOyAgRG91YmxlIEFjdXRlIEFjY2VudFxuICAvLyBMYXRpbiBFeHRlbmRlZCBBZGRpdGlvbmFsLCAxRTAw4oCTMUVGRlxuXG4gIHZhciBleHRlbmRlZFdvcmRDaGFycyA9IC9eW0EtWmEtelxceEMwLVxcdTAyQzZcXHUwMkM4LVxcdTAyRDdcXHUwMkRFLVxcdTAyRkZcXHUxRTAwLVxcdTFFRkZdKyQvO1xuICB2YXIgcmVXaGl0ZXNwYWNlID0gL1xcUy87XG4gIHZhciB3b3JkRGlmZiA9IG5ldyBEaWZmKCk7XG5cbiAgd29yZERpZmYuZXF1YWxzID0gZnVuY3Rpb24gKGxlZnQsIHJpZ2h0KSB7XG4gICAgaWYgKHRoaXMub3B0aW9ucy5pZ25vcmVDYXNlKSB7XG4gICAgICBsZWZ0ID0gbGVmdC50b0xvd2VyQ2FzZSgpO1xuICAgICAgcmlnaHQgPSByaWdodC50b0xvd2VyQ2FzZSgpO1xuICAgIH1cblxuICAgIHJldHVybiBsZWZ0ID09PSByaWdodCB8fCB0aGlzLm9wdGlvbnMuaWdub3JlV2hpdGVzcGFjZSAmJiAhcmVXaGl0ZXNwYWNlLnRlc3QobGVmdCkgJiYgIXJlV2hpdGVzcGFjZS50ZXN0KHJpZ2h0KTtcbiAgfTtcblxuICB3b3JkRGlmZi50b2tlbml6ZSA9IGZ1bmN0aW9uICh2YWx1ZSkge1xuICAgIHZhciB0b2tlbnMgPSB2YWx1ZS5zcGxpdCgvKFxccyt8WygpW1xcXXt9J1wiXXxcXGIpLyk7IC8vIEpvaW4gdGhlIGJvdW5kYXJ5IHNwbGl0cyB0aGF0IHdlIGRvIG5vdCBjb25zaWRlciB0byBiZSBib3VuZGFyaWVzLiBUaGlzIGlzIHByaW1hcmlseSB0aGUgZXh0ZW5kZWQgTGF0aW4gY2hhcmFjdGVyIHNldC5cblxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdG9rZW5zLmxlbmd0aCAtIDE7IGkrKykge1xuICAgICAgLy8gSWYgd2UgaGF2ZSBhbiBlbXB0eSBzdHJpbmcgaW4gdGhlIG5leHQgZmllbGQgYW5kIHdlIGhhdmUgb25seSB3b3JkIGNoYXJzIGJlZm9yZSBhbmQgYWZ0ZXIsIG1lcmdlXG4gICAgICBpZiAoIXRva2Vuc1tpICsgMV0gJiYgdG9rZW5zW2kgKyAyXSAmJiBleHRlbmRlZFdvcmRDaGFycy50ZXN0KHRva2Vuc1tpXSkgJiYgZXh0ZW5kZWRXb3JkQ2hhcnMudGVzdCh0b2tlbnNbaSArIDJdKSkge1xuICAgICAgICB0b2tlbnNbaV0gKz0gdG9rZW5zW2kgKyAyXTtcbiAgICAgICAgdG9rZW5zLnNwbGljZShpICsgMSwgMik7XG4gICAgICAgIGktLTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdG9rZW5zO1xuICB9O1xuXG4gIGZ1bmN0aW9uIGRpZmZXb3JkcyhvbGRTdHIsIG5ld1N0ciwgb3B0aW9ucykge1xuICAgIG9wdGlvbnMgPSBnZW5lcmF0ZU9wdGlvbnMob3B0aW9ucywge1xuICAgICAgaWdub3JlV2hpdGVzcGFjZTogdHJ1ZVxuICAgIH0pO1xuICAgIHJldHVybiB3b3JkRGlmZi5kaWZmKG9sZFN0ciwgbmV3U3RyLCBvcHRpb25zKTtcbiAgfVxuICBmdW5jdGlvbiBkaWZmV29yZHNXaXRoU3BhY2Uob2xkU3RyLCBuZXdTdHIsIG9wdGlvbnMpIHtcbiAgICByZXR1cm4gd29yZERpZmYuZGlmZihvbGRTdHIsIG5ld1N0ciwgb3B0aW9ucyk7XG4gIH1cblxuICB2YXIgbGluZURpZmYgPSBuZXcgRGlmZigpO1xuXG4gIGxpbmVEaWZmLnRva2VuaXplID0gZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgdmFyIHJldExpbmVzID0gW10sXG4gICAgICAgIGxpbmVzQW5kTmV3bGluZXMgPSB2YWx1ZS5zcGxpdCgvKFxcbnxcXHJcXG4pLyk7IC8vIElnbm9yZSB0aGUgZmluYWwgZW1wdHkgdG9rZW4gdGhhdCBvY2N1cnMgaWYgdGhlIHN0cmluZyBlbmRzIHdpdGggYSBuZXcgbGluZVxuXG4gICAgaWYgKCFsaW5lc0FuZE5ld2xpbmVzW2xpbmVzQW5kTmV3bGluZXMubGVuZ3RoIC0gMV0pIHtcbiAgICAgIGxpbmVzQW5kTmV3bGluZXMucG9wKCk7XG4gICAgfSAvLyBNZXJnZSB0aGUgY29udGVudCBhbmQgbGluZSBzZXBhcmF0b3JzIGludG8gc2luZ2xlIHRva2Vuc1xuXG5cbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxpbmVzQW5kTmV3bGluZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIHZhciBsaW5lID0gbGluZXNBbmROZXdsaW5lc1tpXTtcblxuICAgICAgaWYgKGkgJSAyICYmICF0aGlzLm9wdGlvbnMubmV3bGluZUlzVG9rZW4pIHtcbiAgICAgICAgcmV0TGluZXNbcmV0TGluZXMubGVuZ3RoIC0gMV0gKz0gbGluZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmICh0aGlzLm9wdGlvbnMuaWdub3JlV2hpdGVzcGFjZSkge1xuICAgICAgICAgIGxpbmUgPSBsaW5lLnRyaW0oKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldExpbmVzLnB1c2gobGluZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHJldExpbmVzO1xuICB9O1xuXG4gIGZ1bmN0aW9uIGRpZmZMaW5lcyhvbGRTdHIsIG5ld1N0ciwgY2FsbGJhY2spIHtcbiAgICByZXR1cm4gbGluZURpZmYuZGlmZihvbGRTdHIsIG5ld1N0ciwgY2FsbGJhY2spO1xuICB9XG4gIGZ1bmN0aW9uIGRpZmZUcmltbWVkTGluZXMob2xkU3RyLCBuZXdTdHIsIGNhbGxiYWNrKSB7XG4gICAgdmFyIG9wdGlvbnMgPSBnZW5lcmF0ZU9wdGlvbnMoY2FsbGJhY2ssIHtcbiAgICAgIGlnbm9yZVdoaXRlc3BhY2U6IHRydWVcbiAgICB9KTtcbiAgICByZXR1cm4gbGluZURpZmYuZGlmZihvbGRTdHIsIG5ld1N0ciwgb3B0aW9ucyk7XG4gIH1cblxuICB2YXIgc2VudGVuY2VEaWZmID0gbmV3IERpZmYoKTtcblxuICBzZW50ZW5jZURpZmYudG9rZW5pemUgPSBmdW5jdGlvbiAodmFsdWUpIHtcbiAgICByZXR1cm4gdmFsdWUuc3BsaXQoLyhcXFMuKz9bLiE/XSkoPz1cXHMrfCQpLyk7XG4gIH07XG5cbiAgZnVuY3Rpb24gZGlmZlNlbnRlbmNlcyhvbGRTdHIsIG5ld1N0ciwgY2FsbGJhY2spIHtcbiAgICByZXR1cm4gc2VudGVuY2VEaWZmLmRpZmYob2xkU3RyLCBuZXdTdHIsIGNhbGxiYWNrKTtcbiAgfVxuXG4gIHZhciBjc3NEaWZmID0gbmV3IERpZmYoKTtcblxuICBjc3NEaWZmLnRva2VuaXplID0gZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgcmV0dXJuIHZhbHVlLnNwbGl0KC8oW3t9OjssXXxcXHMrKS8pO1xuICB9O1xuXG4gIGZ1bmN0aW9uIGRpZmZDc3Mob2xkU3RyLCBuZXdTdHIsIGNhbGxiYWNrKSB7XG4gICAgcmV0dXJuIGNzc0RpZmYuZGlmZihvbGRTdHIsIG5ld1N0ciwgY2FsbGJhY2spO1xuICB9XG5cbiAgZnVuY3Rpb24gX3R5cGVvZihvYmopIHtcbiAgICBpZiAodHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIHR5cGVvZiBTeW1ib2wuaXRlcmF0b3IgPT09IFwic3ltYm9sXCIpIHtcbiAgICAgIF90eXBlb2YgPSBmdW5jdGlvbiAob2JqKSB7XG4gICAgICAgIHJldHVybiB0eXBlb2Ygb2JqO1xuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgX3R5cGVvZiA9IGZ1bmN0aW9uIChvYmopIHtcbiAgICAgICAgcmV0dXJuIG9iaiAmJiB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgb2JqLmNvbnN0cnVjdG9yID09PSBTeW1ib2wgJiYgb2JqICE9PSBTeW1ib2wucHJvdG90eXBlID8gXCJzeW1ib2xcIiA6IHR5cGVvZiBvYmo7XG4gICAgICB9O1xuICAgIH1cblxuICAgIHJldHVybiBfdHlwZW9mKG9iaik7XG4gIH1cblxuICBmdW5jdGlvbiBfdG9Db25zdW1hYmxlQXJyYXkoYXJyKSB7XG4gICAgcmV0dXJuIF9hcnJheVdpdGhvdXRIb2xlcyhhcnIpIHx8IF9pdGVyYWJsZVRvQXJyYXkoYXJyKSB8fCBfbm9uSXRlcmFibGVTcHJlYWQoKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIF9hcnJheVdpdGhvdXRIb2xlcyhhcnIpIHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheShhcnIpKSB7XG4gICAgICBmb3IgKHZhciBpID0gMCwgYXJyMiA9IG5ldyBBcnJheShhcnIubGVuZ3RoKTsgaSA8IGFyci5sZW5ndGg7IGkrKykgYXJyMltpXSA9IGFycltpXTtcblxuICAgICAgcmV0dXJuIGFycjI7XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gX2l0ZXJhYmxlVG9BcnJheShpdGVyKSB7XG4gICAgaWYgKFN5bWJvbC5pdGVyYXRvciBpbiBPYmplY3QoaXRlcikgfHwgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGl0ZXIpID09PSBcIltvYmplY3QgQXJndW1lbnRzXVwiKSByZXR1cm4gQXJyYXkuZnJvbShpdGVyKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIF9ub25JdGVyYWJsZVNwcmVhZCgpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiSW52YWxpZCBhdHRlbXB0IHRvIHNwcmVhZCBub24taXRlcmFibGUgaW5zdGFuY2VcIik7XG4gIH1cblxuICB2YXIgb2JqZWN0UHJvdG90eXBlVG9TdHJpbmcgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nO1xuICB2YXIganNvbkRpZmYgPSBuZXcgRGlmZigpOyAvLyBEaXNjcmltaW5hdGUgYmV0d2VlbiB0d28gbGluZXMgb2YgcHJldHR5LXByaW50ZWQsIHNlcmlhbGl6ZWQgSlNPTiB3aGVyZSBvbmUgb2YgdGhlbSBoYXMgYVxuICAvLyBkYW5nbGluZyBjb21tYSBhbmQgdGhlIG90aGVyIGRvZXNuJ3QuIFR1cm5zIG91dCBpbmNsdWRpbmcgdGhlIGRhbmdsaW5nIGNvbW1hIHlpZWxkcyB0aGUgbmljZXN0IG91dHB1dDpcblxuICBqc29uRGlmZi51c2VMb25nZXN0VG9rZW4gPSB0cnVlO1xuICBqc29uRGlmZi50b2tlbml6ZSA9IGxpbmVEaWZmLnRva2VuaXplO1xuXG4gIGpzb25EaWZmLmNhc3RJbnB1dCA9IGZ1bmN0aW9uICh2YWx1ZSkge1xuICAgIHZhciBfdGhpcyRvcHRpb25zID0gdGhpcy5vcHRpb25zLFxuICAgICAgICB1bmRlZmluZWRSZXBsYWNlbWVudCA9IF90aGlzJG9wdGlvbnMudW5kZWZpbmVkUmVwbGFjZW1lbnQsXG4gICAgICAgIF90aGlzJG9wdGlvbnMkc3RyaW5naSA9IF90aGlzJG9wdGlvbnMuc3RyaW5naWZ5UmVwbGFjZXIsXG4gICAgICAgIHN0cmluZ2lmeVJlcGxhY2VyID0gX3RoaXMkb3B0aW9ucyRzdHJpbmdpID09PSB2b2lkIDAgPyBmdW5jdGlvbiAoaywgdikge1xuICAgICAgcmV0dXJuIHR5cGVvZiB2ID09PSAndW5kZWZpbmVkJyA/IHVuZGVmaW5lZFJlcGxhY2VtZW50IDogdjtcbiAgICB9IDogX3RoaXMkb3B0aW9ucyRzdHJpbmdpO1xuICAgIHJldHVybiB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnID8gdmFsdWUgOiBKU09OLnN0cmluZ2lmeShjYW5vbmljYWxpemUodmFsdWUsIG51bGwsIG51bGwsIHN0cmluZ2lmeVJlcGxhY2VyKSwgc3RyaW5naWZ5UmVwbGFjZXIsICcgICcpO1xuICB9O1xuXG4gIGpzb25EaWZmLmVxdWFscyA9IGZ1bmN0aW9uIChsZWZ0LCByaWdodCkge1xuICAgIHJldHVybiBEaWZmLnByb3RvdHlwZS5lcXVhbHMuY2FsbChqc29uRGlmZiwgbGVmdC5yZXBsYWNlKC8sKFtcXHJcXG5dKS9nLCAnJDEnKSwgcmlnaHQucmVwbGFjZSgvLChbXFxyXFxuXSkvZywgJyQxJykpO1xuICB9O1xuXG4gIGZ1bmN0aW9uIGRpZmZKc29uKG9sZE9iaiwgbmV3T2JqLCBvcHRpb25zKSB7XG4gICAgcmV0dXJuIGpzb25EaWZmLmRpZmYob2xkT2JqLCBuZXdPYmosIG9wdGlvbnMpO1xuICB9IC8vIFRoaXMgZnVuY3Rpb24gaGFuZGxlcyB0aGUgcHJlc2VuY2Ugb2YgY2lyY3VsYXIgcmVmZXJlbmNlcyBieSBiYWlsaW5nIG91dCB3aGVuIGVuY291bnRlcmluZyBhblxuICAvLyBvYmplY3QgdGhhdCBpcyBhbHJlYWR5IG9uIHRoZSBcInN0YWNrXCIgb2YgaXRlbXMgYmVpbmcgcHJvY2Vzc2VkLiBBY2NlcHRzIGFuIG9wdGlvbmFsIHJlcGxhY2VyXG5cbiAgZnVuY3Rpb24gY2Fub25pY2FsaXplKG9iaiwgc3RhY2ssIHJlcGxhY2VtZW50U3RhY2ssIHJlcGxhY2VyLCBrZXkpIHtcbiAgICBzdGFjayA9IHN0YWNrIHx8IFtdO1xuICAgIHJlcGxhY2VtZW50U3RhY2sgPSByZXBsYWNlbWVudFN0YWNrIHx8IFtdO1xuXG4gICAgaWYgKHJlcGxhY2VyKSB7XG4gICAgICBvYmogPSByZXBsYWNlcihrZXksIG9iaik7XG4gICAgfVxuXG4gICAgdmFyIGk7XG5cbiAgICBmb3IgKGkgPSAwOyBpIDwgc3RhY2subGVuZ3RoOyBpICs9IDEpIHtcbiAgICAgIGlmIChzdGFja1tpXSA9PT0gb2JqKSB7XG4gICAgICAgIHJldHVybiByZXBsYWNlbWVudFN0YWNrW2ldO1xuICAgICAgfVxuICAgIH1cblxuICAgIHZhciBjYW5vbmljYWxpemVkT2JqO1xuXG4gICAgaWYgKCdbb2JqZWN0IEFycmF5XScgPT09IG9iamVjdFByb3RvdHlwZVRvU3RyaW5nLmNhbGwob2JqKSkge1xuICAgICAgc3RhY2sucHVzaChvYmopO1xuICAgICAgY2Fub25pY2FsaXplZE9iaiA9IG5ldyBBcnJheShvYmoubGVuZ3RoKTtcbiAgICAgIHJlcGxhY2VtZW50U3RhY2sucHVzaChjYW5vbmljYWxpemVkT2JqKTtcblxuICAgICAgZm9yIChpID0gMDsgaSA8IG9iai5sZW5ndGg7IGkgKz0gMSkge1xuICAgICAgICBjYW5vbmljYWxpemVkT2JqW2ldID0gY2Fub25pY2FsaXplKG9ialtpXSwgc3RhY2ssIHJlcGxhY2VtZW50U3RhY2ssIHJlcGxhY2VyLCBrZXkpO1xuICAgICAgfVxuXG4gICAgICBzdGFjay5wb3AoKTtcbiAgICAgIHJlcGxhY2VtZW50U3RhY2sucG9wKCk7XG4gICAgICByZXR1cm4gY2Fub25pY2FsaXplZE9iajtcbiAgICB9XG5cbiAgICBpZiAob2JqICYmIG9iai50b0pTT04pIHtcbiAgICAgIG9iaiA9IG9iai50b0pTT04oKTtcbiAgICB9XG5cbiAgICBpZiAoX3R5cGVvZihvYmopID09PSAnb2JqZWN0JyAmJiBvYmogIT09IG51bGwpIHtcbiAgICAgIHN0YWNrLnB1c2gob2JqKTtcbiAgICAgIGNhbm9uaWNhbGl6ZWRPYmogPSB7fTtcbiAgICAgIHJlcGxhY2VtZW50U3RhY2sucHVzaChjYW5vbmljYWxpemVkT2JqKTtcblxuICAgICAgdmFyIHNvcnRlZEtleXMgPSBbXSxcbiAgICAgICAgICBfa2V5O1xuXG4gICAgICBmb3IgKF9rZXkgaW4gb2JqKSB7XG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgIGlmIChvYmouaGFzT3duUHJvcGVydHkoX2tleSkpIHtcbiAgICAgICAgICBzb3J0ZWRLZXlzLnB1c2goX2tleSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgc29ydGVkS2V5cy5zb3J0KCk7XG5cbiAgICAgIGZvciAoaSA9IDA7IGkgPCBzb3J0ZWRLZXlzLmxlbmd0aDsgaSArPSAxKSB7XG4gICAgICAgIF9rZXkgPSBzb3J0ZWRLZXlzW2ldO1xuICAgICAgICBjYW5vbmljYWxpemVkT2JqW19rZXldID0gY2Fub25pY2FsaXplKG9ialtfa2V5XSwgc3RhY2ssIHJlcGxhY2VtZW50U3RhY2ssIHJlcGxhY2VyLCBfa2V5KTtcbiAgICAgIH1cblxuICAgICAgc3RhY2sucG9wKCk7XG4gICAgICByZXBsYWNlbWVudFN0YWNrLnBvcCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjYW5vbmljYWxpemVkT2JqID0gb2JqO1xuICAgIH1cblxuICAgIHJldHVybiBjYW5vbmljYWxpemVkT2JqO1xuICB9XG5cbiAgdmFyIGFycmF5RGlmZiA9IG5ldyBEaWZmKCk7XG5cbiAgYXJyYXlEaWZmLnRva2VuaXplID0gZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgcmV0dXJuIHZhbHVlLnNsaWNlKCk7XG4gIH07XG5cbiAgYXJyYXlEaWZmLmpvaW4gPSBhcnJheURpZmYucmVtb3ZlRW1wdHkgPSBmdW5jdGlvbiAodmFsdWUpIHtcbiAgICByZXR1cm4gdmFsdWU7XG4gIH07XG5cbiAgZnVuY3Rpb24gZGlmZkFycmF5cyhvbGRBcnIsIG5ld0FyciwgY2FsbGJhY2spIHtcbiAgICByZXR1cm4gYXJyYXlEaWZmLmRpZmYob2xkQXJyLCBuZXdBcnIsIGNhbGxiYWNrKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIHBhcnNlUGF0Y2godW5pRGlmZikge1xuICAgIHZhciBvcHRpb25zID0gYXJndW1lbnRzLmxlbmd0aCA+IDEgJiYgYXJndW1lbnRzWzFdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMV0gOiB7fTtcbiAgICB2YXIgZGlmZnN0ciA9IHVuaURpZmYuc3BsaXQoL1xcclxcbnxbXFxuXFx2XFxmXFxyXFx4ODVdLyksXG4gICAgICAgIGRlbGltaXRlcnMgPSB1bmlEaWZmLm1hdGNoKC9cXHJcXG58W1xcblxcdlxcZlxcclxceDg1XS9nKSB8fCBbXSxcbiAgICAgICAgbGlzdCA9IFtdLFxuICAgICAgICBpID0gMDtcblxuICAgIGZ1bmN0aW9uIHBhcnNlSW5kZXgoKSB7XG4gICAgICB2YXIgaW5kZXggPSB7fTtcbiAgICAgIGxpc3QucHVzaChpbmRleCk7IC8vIFBhcnNlIGRpZmYgbWV0YWRhdGFcblxuICAgICAgd2hpbGUgKGkgPCBkaWZmc3RyLmxlbmd0aCkge1xuICAgICAgICB2YXIgbGluZSA9IGRpZmZzdHJbaV07IC8vIEZpbGUgaGVhZGVyIGZvdW5kLCBlbmQgcGFyc2luZyBkaWZmIG1ldGFkYXRhXG5cbiAgICAgICAgaWYgKC9eKFxcLVxcLVxcLXxcXCtcXCtcXCt8QEApXFxzLy50ZXN0KGxpbmUpKSB7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH0gLy8gRGlmZiBpbmRleFxuXG5cbiAgICAgICAgdmFyIGhlYWRlciA9IC9eKD86SW5kZXg6fGRpZmYoPzogLXIgXFx3KykrKVxccysoLis/KVxccyokLy5leGVjKGxpbmUpO1xuXG4gICAgICAgIGlmIChoZWFkZXIpIHtcbiAgICAgICAgICBpbmRleC5pbmRleCA9IGhlYWRlclsxXTtcbiAgICAgICAgfVxuXG4gICAgICAgIGkrKztcbiAgICAgIH0gLy8gUGFyc2UgZmlsZSBoZWFkZXJzIGlmIHRoZXkgYXJlIGRlZmluZWQuIFVuaWZpZWQgZGlmZiByZXF1aXJlcyB0aGVtLCBidXRcbiAgICAgIC8vIHRoZXJlJ3Mgbm8gdGVjaG5pY2FsIGlzc3VlcyB0byBoYXZlIGFuIGlzb2xhdGVkIGh1bmsgd2l0aG91dCBmaWxlIGhlYWRlclxuXG5cbiAgICAgIHBhcnNlRmlsZUhlYWRlcihpbmRleCk7XG4gICAgICBwYXJzZUZpbGVIZWFkZXIoaW5kZXgpOyAvLyBQYXJzZSBodW5rc1xuXG4gICAgICBpbmRleC5odW5rcyA9IFtdO1xuXG4gICAgICB3aGlsZSAoaSA8IGRpZmZzdHIubGVuZ3RoKSB7XG4gICAgICAgIHZhciBfbGluZSA9IGRpZmZzdHJbaV07XG5cbiAgICAgICAgaWYgKC9eKEluZGV4OnxkaWZmfFxcLVxcLVxcLXxcXCtcXCtcXCspXFxzLy50ZXN0KF9saW5lKSkge1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9IGVsc2UgaWYgKC9eQEAvLnRlc3QoX2xpbmUpKSB7XG4gICAgICAgICAgaW5kZXguaHVua3MucHVzaChwYXJzZUh1bmsoKSk7XG4gICAgICAgIH0gZWxzZSBpZiAoX2xpbmUgJiYgb3B0aW9ucy5zdHJpY3QpIHtcbiAgICAgICAgICAvLyBJZ25vcmUgdW5leHBlY3RlZCBjb250ZW50IHVubGVzcyBpbiBzdHJpY3QgbW9kZVxuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignVW5rbm93biBsaW5lICcgKyAoaSArIDEpICsgJyAnICsgSlNPTi5zdHJpbmdpZnkoX2xpbmUpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpKys7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IC8vIFBhcnNlcyB0aGUgLS0tIGFuZCArKysgaGVhZGVycywgaWYgbm9uZSBhcmUgZm91bmQsIG5vIGxpbmVzXG4gICAgLy8gYXJlIGNvbnN1bWVkLlxuXG5cbiAgICBmdW5jdGlvbiBwYXJzZUZpbGVIZWFkZXIoaW5kZXgpIHtcbiAgICAgIHZhciBmaWxlSGVhZGVyID0gL14oLS0tfFxcK1xcK1xcKylcXHMrKC4qKSQvLmV4ZWMoZGlmZnN0cltpXSk7XG5cbiAgICAgIGlmIChmaWxlSGVhZGVyKSB7XG4gICAgICAgIHZhciBrZXlQcmVmaXggPSBmaWxlSGVhZGVyWzFdID09PSAnLS0tJyA/ICdvbGQnIDogJ25ldyc7XG4gICAgICAgIHZhciBkYXRhID0gZmlsZUhlYWRlclsyXS5zcGxpdCgnXFx0JywgMik7XG4gICAgICAgIHZhciBmaWxlTmFtZSA9IGRhdGFbMF0ucmVwbGFjZSgvXFxcXFxcXFwvZywgJ1xcXFwnKTtcblxuICAgICAgICBpZiAoL15cIi4qXCIkLy50ZXN0KGZpbGVOYW1lKSkge1xuICAgICAgICAgIGZpbGVOYW1lID0gZmlsZU5hbWUuc3Vic3RyKDEsIGZpbGVOYW1lLmxlbmd0aCAtIDIpO1xuICAgICAgICB9XG5cbiAgICAgICAgaW5kZXhba2V5UHJlZml4ICsgJ0ZpbGVOYW1lJ10gPSBmaWxlTmFtZTtcbiAgICAgICAgaW5kZXhba2V5UHJlZml4ICsgJ0hlYWRlciddID0gKGRhdGFbMV0gfHwgJycpLnRyaW0oKTtcbiAgICAgICAgaSsrO1xuICAgICAgfVxuICAgIH0gLy8gUGFyc2VzIGEgaHVua1xuICAgIC8vIFRoaXMgYXNzdW1lcyB0aGF0IHdlIGFyZSBhdCB0aGUgc3RhcnQgb2YgYSBodW5rLlxuXG5cbiAgICBmdW5jdGlvbiBwYXJzZUh1bmsoKSB7XG4gICAgICB2YXIgY2h1bmtIZWFkZXJJbmRleCA9IGksXG4gICAgICAgICAgY2h1bmtIZWFkZXJMaW5lID0gZGlmZnN0cltpKytdLFxuICAgICAgICAgIGNodW5rSGVhZGVyID0gY2h1bmtIZWFkZXJMaW5lLnNwbGl0KC9AQCAtKFxcZCspKD86LChcXGQrKSk/IFxcKyhcXGQrKSg/OiwoXFxkKykpPyBAQC8pO1xuICAgICAgdmFyIGh1bmsgPSB7XG4gICAgICAgIG9sZFN0YXJ0OiArY2h1bmtIZWFkZXJbMV0sXG4gICAgICAgIG9sZExpbmVzOiArY2h1bmtIZWFkZXJbMl0gfHwgMSxcbiAgICAgICAgbmV3U3RhcnQ6ICtjaHVua0hlYWRlclszXSxcbiAgICAgICAgbmV3TGluZXM6ICtjaHVua0hlYWRlcls0XSB8fCAxLFxuICAgICAgICBsaW5lczogW10sXG4gICAgICAgIGxpbmVkZWxpbWl0ZXJzOiBbXVxuICAgICAgfTtcbiAgICAgIHZhciBhZGRDb3VudCA9IDAsXG4gICAgICAgICAgcmVtb3ZlQ291bnQgPSAwO1xuXG4gICAgICBmb3IgKDsgaSA8IGRpZmZzdHIubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgLy8gTGluZXMgc3RhcnRpbmcgd2l0aCAnLS0tJyBjb3VsZCBiZSBtaXN0YWtlbiBmb3IgdGhlIFwicmVtb3ZlIGxpbmVcIiBvcGVyYXRpb25cbiAgICAgICAgLy8gQnV0IHRoZXkgY291bGQgYmUgdGhlIGhlYWRlciBmb3IgdGhlIG5leHQgZmlsZS4gVGhlcmVmb3JlIHBydW5lIHN1Y2ggY2FzZXMgb3V0LlxuICAgICAgICBpZiAoZGlmZnN0cltpXS5pbmRleE9mKCctLS0gJykgPT09IDAgJiYgaSArIDIgPCBkaWZmc3RyLmxlbmd0aCAmJiBkaWZmc3RyW2kgKyAxXS5pbmRleE9mKCcrKysgJykgPT09IDAgJiYgZGlmZnN0cltpICsgMl0uaW5kZXhPZignQEAnKSA9PT0gMCkge1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgICAgdmFyIG9wZXJhdGlvbiA9IGRpZmZzdHJbaV0ubGVuZ3RoID09IDAgJiYgaSAhPSBkaWZmc3RyLmxlbmd0aCAtIDEgPyAnICcgOiBkaWZmc3RyW2ldWzBdO1xuXG4gICAgICAgIGlmIChvcGVyYXRpb24gPT09ICcrJyB8fCBvcGVyYXRpb24gPT09ICctJyB8fCBvcGVyYXRpb24gPT09ICcgJyB8fCBvcGVyYXRpb24gPT09ICdcXFxcJykge1xuICAgICAgICAgIGh1bmsubGluZXMucHVzaChkaWZmc3RyW2ldKTtcbiAgICAgICAgICBodW5rLmxpbmVkZWxpbWl0ZXJzLnB1c2goZGVsaW1pdGVyc1tpXSB8fCAnXFxuJyk7XG5cbiAgICAgICAgICBpZiAob3BlcmF0aW9uID09PSAnKycpIHtcbiAgICAgICAgICAgIGFkZENvdW50Kys7XG4gICAgICAgICAgfSBlbHNlIGlmIChvcGVyYXRpb24gPT09ICctJykge1xuICAgICAgICAgICAgcmVtb3ZlQ291bnQrKztcbiAgICAgICAgICB9IGVsc2UgaWYgKG9wZXJhdGlvbiA9PT0gJyAnKSB7XG4gICAgICAgICAgICBhZGRDb3VudCsrO1xuICAgICAgICAgICAgcmVtb3ZlQ291bnQrKztcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH0gLy8gSGFuZGxlIHRoZSBlbXB0eSBibG9jayBjb3VudCBjYXNlXG5cblxuICAgICAgaWYgKCFhZGRDb3VudCAmJiBodW5rLm5ld0xpbmVzID09PSAxKSB7XG4gICAgICAgIGh1bmsubmV3TGluZXMgPSAwO1xuICAgICAgfVxuXG4gICAgICBpZiAoIXJlbW92ZUNvdW50ICYmIGh1bmsub2xkTGluZXMgPT09IDEpIHtcbiAgICAgICAgaHVuay5vbGRMaW5lcyA9IDA7XG4gICAgICB9IC8vIFBlcmZvcm0gb3B0aW9uYWwgc2FuaXR5IGNoZWNraW5nXG5cblxuICAgICAgaWYgKG9wdGlvbnMuc3RyaWN0KSB7XG4gICAgICAgIGlmIChhZGRDb3VudCAhPT0gaHVuay5uZXdMaW5lcykge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignQWRkZWQgbGluZSBjb3VudCBkaWQgbm90IG1hdGNoIGZvciBodW5rIGF0IGxpbmUgJyArIChjaHVua0hlYWRlckluZGV4ICsgMSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHJlbW92ZUNvdW50ICE9PSBodW5rLm9sZExpbmVzKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdSZW1vdmVkIGxpbmUgY291bnQgZGlkIG5vdCBtYXRjaCBmb3IgaHVuayBhdCBsaW5lICcgKyAoY2h1bmtIZWFkZXJJbmRleCArIDEpKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gaHVuaztcbiAgICB9XG5cbiAgICB3aGlsZSAoaSA8IGRpZmZzdHIubGVuZ3RoKSB7XG4gICAgICBwYXJzZUluZGV4KCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGxpc3Q7XG4gIH1cblxuICAvLyBJdGVyYXRvciB0aGF0IHRyYXZlcnNlcyBpbiB0aGUgcmFuZ2Ugb2YgW21pbiwgbWF4XSwgc3RlcHBpbmdcbiAgLy8gYnkgZGlzdGFuY2UgZnJvbSBhIGdpdmVuIHN0YXJ0IHBvc2l0aW9uLiBJLmUuIGZvciBbMCwgNF0sIHdpdGhcbiAgLy8gc3RhcnQgb2YgMiwgdGhpcyB3aWxsIGl0ZXJhdGUgMiwgMywgMSwgNCwgMC5cbiAgZnVuY3Rpb24gZGlzdGFuY2VJdGVyYXRvciAoc3RhcnQsIG1pbkxpbmUsIG1heExpbmUpIHtcbiAgICB2YXIgd2FudEZvcndhcmQgPSB0cnVlLFxuICAgICAgICBiYWNrd2FyZEV4aGF1c3RlZCA9IGZhbHNlLFxuICAgICAgICBmb3J3YXJkRXhoYXVzdGVkID0gZmFsc2UsXG4gICAgICAgIGxvY2FsT2Zmc2V0ID0gMTtcbiAgICByZXR1cm4gZnVuY3Rpb24gaXRlcmF0b3IoKSB7XG4gICAgICBpZiAod2FudEZvcndhcmQgJiYgIWZvcndhcmRFeGhhdXN0ZWQpIHtcbiAgICAgICAgaWYgKGJhY2t3YXJkRXhoYXVzdGVkKSB7XG4gICAgICAgICAgbG9jYWxPZmZzZXQrKztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB3YW50Rm9yd2FyZCA9IGZhbHNlO1xuICAgICAgICB9IC8vIENoZWNrIGlmIHRyeWluZyB0byBmaXQgYmV5b25kIHRleHQgbGVuZ3RoLCBhbmQgaWYgbm90LCBjaGVjayBpdCBmaXRzXG4gICAgICAgIC8vIGFmdGVyIG9mZnNldCBsb2NhdGlvbiAob3IgZGVzaXJlZCBsb2NhdGlvbiBvbiBmaXJzdCBpdGVyYXRpb24pXG5cblxuICAgICAgICBpZiAoc3RhcnQgKyBsb2NhbE9mZnNldCA8PSBtYXhMaW5lKSB7XG4gICAgICAgICAgcmV0dXJuIGxvY2FsT2Zmc2V0O1xuICAgICAgICB9XG5cbiAgICAgICAgZm9yd2FyZEV4aGF1c3RlZCA9IHRydWU7XG4gICAgICB9XG5cbiAgICAgIGlmICghYmFja3dhcmRFeGhhdXN0ZWQpIHtcbiAgICAgICAgaWYgKCFmb3J3YXJkRXhoYXVzdGVkKSB7XG4gICAgICAgICAgd2FudEZvcndhcmQgPSB0cnVlO1xuICAgICAgICB9IC8vIENoZWNrIGlmIHRyeWluZyB0byBmaXQgYmVmb3JlIHRleHQgYmVnaW5uaW5nLCBhbmQgaWYgbm90LCBjaGVjayBpdCBmaXRzXG4gICAgICAgIC8vIGJlZm9yZSBvZmZzZXQgbG9jYXRpb25cblxuXG4gICAgICAgIGlmIChtaW5MaW5lIDw9IHN0YXJ0IC0gbG9jYWxPZmZzZXQpIHtcbiAgICAgICAgICByZXR1cm4gLWxvY2FsT2Zmc2V0Kys7XG4gICAgICAgIH1cblxuICAgICAgICBiYWNrd2FyZEV4aGF1c3RlZCA9IHRydWU7XG4gICAgICAgIHJldHVybiBpdGVyYXRvcigpO1xuICAgICAgfSAvLyBXZSB0cmllZCB0byBmaXQgaHVuayBiZWZvcmUgdGV4dCBiZWdpbm5pbmcgYW5kIGJleW9uZCB0ZXh0IGxlbmd0aCwgdGhlblxuICAgICAgLy8gaHVuayBjYW4ndCBmaXQgb24gdGhlIHRleHQuIFJldHVybiB1bmRlZmluZWRcblxuICAgIH07XG4gIH1cblxuICBmdW5jdGlvbiBhcHBseVBhdGNoKHNvdXJjZSwgdW5pRGlmZikge1xuICAgIHZhciBvcHRpb25zID0gYXJndW1lbnRzLmxlbmd0aCA+IDIgJiYgYXJndW1lbnRzWzJdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMl0gOiB7fTtcblxuICAgIGlmICh0eXBlb2YgdW5pRGlmZiA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHVuaURpZmYgPSBwYXJzZVBhdGNoKHVuaURpZmYpO1xuICAgIH1cblxuICAgIGlmIChBcnJheS5pc0FycmF5KHVuaURpZmYpKSB7XG4gICAgICBpZiAodW5pRGlmZi5sZW5ndGggPiAxKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignYXBwbHlQYXRjaCBvbmx5IHdvcmtzIHdpdGggYSBzaW5nbGUgaW5wdXQuJyk7XG4gICAgICB9XG5cbiAgICAgIHVuaURpZmYgPSB1bmlEaWZmWzBdO1xuICAgIH0gLy8gQXBwbHkgdGhlIGRpZmYgdG8gdGhlIGlucHV0XG5cblxuICAgIHZhciBsaW5lcyA9IHNvdXJjZS5zcGxpdCgvXFxyXFxufFtcXG5cXHZcXGZcXHJcXHg4NV0vKSxcbiAgICAgICAgZGVsaW1pdGVycyA9IHNvdXJjZS5tYXRjaCgvXFxyXFxufFtcXG5cXHZcXGZcXHJcXHg4NV0vZykgfHwgW10sXG4gICAgICAgIGh1bmtzID0gdW5pRGlmZi5odW5rcyxcbiAgICAgICAgY29tcGFyZUxpbmUgPSBvcHRpb25zLmNvbXBhcmVMaW5lIHx8IGZ1bmN0aW9uIChsaW5lTnVtYmVyLCBsaW5lLCBvcGVyYXRpb24sIHBhdGNoQ29udGVudCkge1xuICAgICAgcmV0dXJuIGxpbmUgPT09IHBhdGNoQ29udGVudDtcbiAgICB9LFxuICAgICAgICBlcnJvckNvdW50ID0gMCxcbiAgICAgICAgZnV6ekZhY3RvciA9IG9wdGlvbnMuZnV6ekZhY3RvciB8fCAwLFxuICAgICAgICBtaW5MaW5lID0gMCxcbiAgICAgICAgb2Zmc2V0ID0gMCxcbiAgICAgICAgcmVtb3ZlRU9GTkwsXG4gICAgICAgIGFkZEVPRk5MO1xuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiB0aGUgaHVuayBleGFjdGx5IGZpdHMgb24gdGhlIHByb3ZpZGVkIGxvY2F0aW9uXG4gICAgICovXG5cblxuICAgIGZ1bmN0aW9uIGh1bmtGaXRzKGh1bmssIHRvUG9zKSB7XG4gICAgICBmb3IgKHZhciBqID0gMDsgaiA8IGh1bmsubGluZXMubGVuZ3RoOyBqKyspIHtcbiAgICAgICAgdmFyIGxpbmUgPSBodW5rLmxpbmVzW2pdLFxuICAgICAgICAgICAgb3BlcmF0aW9uID0gbGluZS5sZW5ndGggPiAwID8gbGluZVswXSA6ICcgJyxcbiAgICAgICAgICAgIGNvbnRlbnQgPSBsaW5lLmxlbmd0aCA+IDAgPyBsaW5lLnN1YnN0cigxKSA6IGxpbmU7XG5cbiAgICAgICAgaWYgKG9wZXJhdGlvbiA9PT0gJyAnIHx8IG9wZXJhdGlvbiA9PT0gJy0nKSB7XG4gICAgICAgICAgLy8gQ29udGV4dCBzYW5pdHkgY2hlY2tcbiAgICAgICAgICBpZiAoIWNvbXBhcmVMaW5lKHRvUG9zICsgMSwgbGluZXNbdG9Qb3NdLCBvcGVyYXRpb24sIGNvbnRlbnQpKSB7XG4gICAgICAgICAgICBlcnJvckNvdW50Kys7XG5cbiAgICAgICAgICAgIGlmIChlcnJvckNvdW50ID4gZnV6ekZhY3Rvcikge1xuICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdG9Qb3MrKztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IC8vIFNlYXJjaCBiZXN0IGZpdCBvZmZzZXRzIGZvciBlYWNoIGh1bmsgYmFzZWQgb24gdGhlIHByZXZpb3VzIG9uZXNcblxuXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBodW5rcy5sZW5ndGg7IGkrKykge1xuICAgICAgdmFyIGh1bmsgPSBodW5rc1tpXSxcbiAgICAgICAgICBtYXhMaW5lID0gbGluZXMubGVuZ3RoIC0gaHVuay5vbGRMaW5lcyxcbiAgICAgICAgICBsb2NhbE9mZnNldCA9IDAsXG4gICAgICAgICAgdG9Qb3MgPSBvZmZzZXQgKyBodW5rLm9sZFN0YXJ0IC0gMTtcbiAgICAgIHZhciBpdGVyYXRvciA9IGRpc3RhbmNlSXRlcmF0b3IodG9Qb3MsIG1pbkxpbmUsIG1heExpbmUpO1xuXG4gICAgICBmb3IgKDsgbG9jYWxPZmZzZXQgIT09IHVuZGVmaW5lZDsgbG9jYWxPZmZzZXQgPSBpdGVyYXRvcigpKSB7XG4gICAgICAgIGlmIChodW5rRml0cyhodW5rLCB0b1BvcyArIGxvY2FsT2Zmc2V0KSkge1xuICAgICAgICAgIGh1bmsub2Zmc2V0ID0gb2Zmc2V0ICs9IGxvY2FsT2Zmc2V0O1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChsb2NhbE9mZnNldCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH0gLy8gU2V0IGxvd2VyIHRleHQgbGltaXQgdG8gZW5kIG9mIHRoZSBjdXJyZW50IGh1bmssIHNvIG5leHQgb25lcyBkb24ndCB0cnlcbiAgICAgIC8vIHRvIGZpdCBvdmVyIGFscmVhZHkgcGF0Y2hlZCB0ZXh0XG5cblxuICAgICAgbWluTGluZSA9IGh1bmsub2Zmc2V0ICsgaHVuay5vbGRTdGFydCArIGh1bmsub2xkTGluZXM7XG4gICAgfSAvLyBBcHBseSBwYXRjaCBodW5rc1xuXG5cbiAgICB2YXIgZGlmZk9mZnNldCA9IDA7XG5cbiAgICBmb3IgKHZhciBfaSA9IDA7IF9pIDwgaHVua3MubGVuZ3RoOyBfaSsrKSB7XG4gICAgICB2YXIgX2h1bmsgPSBodW5rc1tfaV0sXG4gICAgICAgICAgX3RvUG9zID0gX2h1bmsub2xkU3RhcnQgKyBfaHVuay5vZmZzZXQgKyBkaWZmT2Zmc2V0IC0gMTtcblxuICAgICAgZGlmZk9mZnNldCArPSBfaHVuay5uZXdMaW5lcyAtIF9odW5rLm9sZExpbmVzO1xuXG4gICAgICBpZiAoX3RvUG9zIDwgMCkge1xuICAgICAgICAvLyBDcmVhdGluZyBhIG5ldyBmaWxlXG4gICAgICAgIF90b1BvcyA9IDA7XG4gICAgICB9XG5cbiAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgX2h1bmsubGluZXMubGVuZ3RoOyBqKyspIHtcbiAgICAgICAgdmFyIGxpbmUgPSBfaHVuay5saW5lc1tqXSxcbiAgICAgICAgICAgIG9wZXJhdGlvbiA9IGxpbmUubGVuZ3RoID4gMCA/IGxpbmVbMF0gOiAnICcsXG4gICAgICAgICAgICBjb250ZW50ID0gbGluZS5sZW5ndGggPiAwID8gbGluZS5zdWJzdHIoMSkgOiBsaW5lLFxuICAgICAgICAgICAgZGVsaW1pdGVyID0gX2h1bmsubGluZWRlbGltaXRlcnNbal07XG5cbiAgICAgICAgaWYgKG9wZXJhdGlvbiA9PT0gJyAnKSB7XG4gICAgICAgICAgX3RvUG9zKys7XG4gICAgICAgIH0gZWxzZSBpZiAob3BlcmF0aW9uID09PSAnLScpIHtcbiAgICAgICAgICBsaW5lcy5zcGxpY2UoX3RvUG9zLCAxKTtcbiAgICAgICAgICBkZWxpbWl0ZXJzLnNwbGljZShfdG9Qb3MsIDEpO1xuICAgICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgIH0gZWxzZSBpZiAob3BlcmF0aW9uID09PSAnKycpIHtcbiAgICAgICAgICBsaW5lcy5zcGxpY2UoX3RvUG9zLCAwLCBjb250ZW50KTtcbiAgICAgICAgICBkZWxpbWl0ZXJzLnNwbGljZShfdG9Qb3MsIDAsIGRlbGltaXRlcik7XG4gICAgICAgICAgX3RvUG9zKys7XG4gICAgICAgIH0gZWxzZSBpZiAob3BlcmF0aW9uID09PSAnXFxcXCcpIHtcbiAgICAgICAgICB2YXIgcHJldmlvdXNPcGVyYXRpb24gPSBfaHVuay5saW5lc1tqIC0gMV0gPyBfaHVuay5saW5lc1tqIC0gMV1bMF0gOiBudWxsO1xuXG4gICAgICAgICAgaWYgKHByZXZpb3VzT3BlcmF0aW9uID09PSAnKycpIHtcbiAgICAgICAgICAgIHJlbW92ZUVPRk5MID0gdHJ1ZTtcbiAgICAgICAgICB9IGVsc2UgaWYgKHByZXZpb3VzT3BlcmF0aW9uID09PSAnLScpIHtcbiAgICAgICAgICAgIGFkZEVPRk5MID0gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IC8vIEhhbmRsZSBFT0ZOTCBpbnNlcnRpb24vcmVtb3ZhbFxuXG5cbiAgICBpZiAocmVtb3ZlRU9GTkwpIHtcbiAgICAgIHdoaWxlICghbGluZXNbbGluZXMubGVuZ3RoIC0gMV0pIHtcbiAgICAgICAgbGluZXMucG9wKCk7XG4gICAgICAgIGRlbGltaXRlcnMucG9wKCk7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChhZGRFT0ZOTCkge1xuICAgICAgbGluZXMucHVzaCgnJyk7XG4gICAgICBkZWxpbWl0ZXJzLnB1c2goJ1xcbicpO1xuICAgIH1cblxuICAgIGZvciAodmFyIF9rID0gMDsgX2sgPCBsaW5lcy5sZW5ndGggLSAxOyBfaysrKSB7XG4gICAgICBsaW5lc1tfa10gPSBsaW5lc1tfa10gKyBkZWxpbWl0ZXJzW19rXTtcbiAgICB9XG5cbiAgICByZXR1cm4gbGluZXMuam9pbignJyk7XG4gIH0gLy8gV3JhcHBlciB0aGF0IHN1cHBvcnRzIG11bHRpcGxlIGZpbGUgcGF0Y2hlcyB2aWEgY2FsbGJhY2tzLlxuXG4gIGZ1bmN0aW9uIGFwcGx5UGF0Y2hlcyh1bmlEaWZmLCBvcHRpb25zKSB7XG4gICAgaWYgKHR5cGVvZiB1bmlEaWZmID09PSAnc3RyaW5nJykge1xuICAgICAgdW5pRGlmZiA9IHBhcnNlUGF0Y2godW5pRGlmZik7XG4gICAgfVxuXG4gICAgdmFyIGN1cnJlbnRJbmRleCA9IDA7XG5cbiAgICBmdW5jdGlvbiBwcm9jZXNzSW5kZXgoKSB7XG4gICAgICB2YXIgaW5kZXggPSB1bmlEaWZmW2N1cnJlbnRJbmRleCsrXTtcblxuICAgICAgaWYgKCFpbmRleCkge1xuICAgICAgICByZXR1cm4gb3B0aW9ucy5jb21wbGV0ZSgpO1xuICAgICAgfVxuXG4gICAgICBvcHRpb25zLmxvYWRGaWxlKGluZGV4LCBmdW5jdGlvbiAoZXJyLCBkYXRhKSB7XG4gICAgICAgIGlmIChlcnIpIHtcbiAgICAgICAgICByZXR1cm4gb3B0aW9ucy5jb21wbGV0ZShlcnIpO1xuICAgICAgICB9XG5cbiAgICAgICAgdmFyIHVwZGF0ZWRDb250ZW50ID0gYXBwbHlQYXRjaChkYXRhLCBpbmRleCwgb3B0aW9ucyk7XG4gICAgICAgIG9wdGlvbnMucGF0Y2hlZChpbmRleCwgdXBkYXRlZENvbnRlbnQsIGZ1bmN0aW9uIChlcnIpIHtcbiAgICAgICAgICBpZiAoZXJyKSB7XG4gICAgICAgICAgICByZXR1cm4gb3B0aW9ucy5jb21wbGV0ZShlcnIpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHByb2Nlc3NJbmRleCgpO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHByb2Nlc3NJbmRleCgpO1xuICB9XG5cbiAgZnVuY3Rpb24gc3RydWN0dXJlZFBhdGNoKG9sZEZpbGVOYW1lLCBuZXdGaWxlTmFtZSwgb2xkU3RyLCBuZXdTdHIsIG9sZEhlYWRlciwgbmV3SGVhZGVyLCBvcHRpb25zKSB7XG4gICAgaWYgKCFvcHRpb25zKSB7XG4gICAgICBvcHRpb25zID0ge307XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBvcHRpb25zLmNvbnRleHQgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICBvcHRpb25zLmNvbnRleHQgPSA0O1xuICAgIH1cblxuICAgIHZhciBkaWZmID0gZGlmZkxpbmVzKG9sZFN0ciwgbmV3U3RyLCBvcHRpb25zKTtcbiAgICBkaWZmLnB1c2goe1xuICAgICAgdmFsdWU6ICcnLFxuICAgICAgbGluZXM6IFtdXG4gICAgfSk7IC8vIEFwcGVuZCBhbiBlbXB0eSB2YWx1ZSB0byBtYWtlIGNsZWFudXAgZWFzaWVyXG5cbiAgICBmdW5jdGlvbiBjb250ZXh0TGluZXMobGluZXMpIHtcbiAgICAgIHJldHVybiBsaW5lcy5tYXAoZnVuY3Rpb24gKGVudHJ5KSB7XG4gICAgICAgIHJldHVybiAnICcgKyBlbnRyeTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHZhciBodW5rcyA9IFtdO1xuICAgIHZhciBvbGRSYW5nZVN0YXJ0ID0gMCxcbiAgICAgICAgbmV3UmFuZ2VTdGFydCA9IDAsXG4gICAgICAgIGN1clJhbmdlID0gW10sXG4gICAgICAgIG9sZExpbmUgPSAxLFxuICAgICAgICBuZXdMaW5lID0gMTtcblxuICAgIHZhciBfbG9vcCA9IGZ1bmN0aW9uIF9sb29wKGkpIHtcbiAgICAgIHZhciBjdXJyZW50ID0gZGlmZltpXSxcbiAgICAgICAgICBsaW5lcyA9IGN1cnJlbnQubGluZXMgfHwgY3VycmVudC52YWx1ZS5yZXBsYWNlKC9cXG4kLywgJycpLnNwbGl0KCdcXG4nKTtcbiAgICAgIGN1cnJlbnQubGluZXMgPSBsaW5lcztcblxuICAgICAgaWYgKGN1cnJlbnQuYWRkZWQgfHwgY3VycmVudC5yZW1vdmVkKSB7XG4gICAgICAgIHZhciBfY3VyUmFuZ2U7XG5cbiAgICAgICAgLy8gSWYgd2UgaGF2ZSBwcmV2aW91cyBjb250ZXh0LCBzdGFydCB3aXRoIHRoYXRcbiAgICAgICAgaWYgKCFvbGRSYW5nZVN0YXJ0KSB7XG4gICAgICAgICAgdmFyIHByZXYgPSBkaWZmW2kgLSAxXTtcbiAgICAgICAgICBvbGRSYW5nZVN0YXJ0ID0gb2xkTGluZTtcbiAgICAgICAgICBuZXdSYW5nZVN0YXJ0ID0gbmV3TGluZTtcblxuICAgICAgICAgIGlmIChwcmV2KSB7XG4gICAgICAgICAgICBjdXJSYW5nZSA9IG9wdGlvbnMuY29udGV4dCA+IDAgPyBjb250ZXh0TGluZXMocHJldi5saW5lcy5zbGljZSgtb3B0aW9ucy5jb250ZXh0KSkgOiBbXTtcbiAgICAgICAgICAgIG9sZFJhbmdlU3RhcnQgLT0gY3VyUmFuZ2UubGVuZ3RoO1xuICAgICAgICAgICAgbmV3UmFuZ2VTdGFydCAtPSBjdXJSYW5nZS5sZW5ndGg7XG4gICAgICAgICAgfVxuICAgICAgICB9IC8vIE91dHB1dCBvdXIgY2hhbmdlc1xuXG5cbiAgICAgICAgKF9jdXJSYW5nZSA9IGN1clJhbmdlKS5wdXNoLmFwcGx5KF9jdXJSYW5nZSwgX3RvQ29uc3VtYWJsZUFycmF5KGxpbmVzLm1hcChmdW5jdGlvbiAoZW50cnkpIHtcbiAgICAgICAgICByZXR1cm4gKGN1cnJlbnQuYWRkZWQgPyAnKycgOiAnLScpICsgZW50cnk7XG4gICAgICAgIH0pKSk7IC8vIFRyYWNrIHRoZSB1cGRhdGVkIGZpbGUgcG9zaXRpb25cblxuXG4gICAgICAgIGlmIChjdXJyZW50LmFkZGVkKSB7XG4gICAgICAgICAgbmV3TGluZSArPSBsaW5lcy5sZW5ndGg7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgb2xkTGluZSArPSBsaW5lcy5sZW5ndGg7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIElkZW50aWNhbCBjb250ZXh0IGxpbmVzLiBUcmFjayBsaW5lIGNoYW5nZXNcbiAgICAgICAgaWYgKG9sZFJhbmdlU3RhcnQpIHtcbiAgICAgICAgICAvLyBDbG9zZSBvdXQgYW55IGNoYW5nZXMgdGhhdCBoYXZlIGJlZW4gb3V0cHV0IChvciBqb2luIG92ZXJsYXBwaW5nKVxuICAgICAgICAgIGlmIChsaW5lcy5sZW5ndGggPD0gb3B0aW9ucy5jb250ZXh0ICogMiAmJiBpIDwgZGlmZi5sZW5ndGggLSAyKSB7XG4gICAgICAgICAgICB2YXIgX2N1clJhbmdlMjtcblxuICAgICAgICAgICAgLy8gT3ZlcmxhcHBpbmdcbiAgICAgICAgICAgIChfY3VyUmFuZ2UyID0gY3VyUmFuZ2UpLnB1c2guYXBwbHkoX2N1clJhbmdlMiwgX3RvQ29uc3VtYWJsZUFycmF5KGNvbnRleHRMaW5lcyhsaW5lcykpKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdmFyIF9jdXJSYW5nZTM7XG5cbiAgICAgICAgICAgIC8vIGVuZCB0aGUgcmFuZ2UgYW5kIG91dHB1dFxuICAgICAgICAgICAgdmFyIGNvbnRleHRTaXplID0gTWF0aC5taW4obGluZXMubGVuZ3RoLCBvcHRpb25zLmNvbnRleHQpO1xuXG4gICAgICAgICAgICAoX2N1clJhbmdlMyA9IGN1clJhbmdlKS5wdXNoLmFwcGx5KF9jdXJSYW5nZTMsIF90b0NvbnN1bWFibGVBcnJheShjb250ZXh0TGluZXMobGluZXMuc2xpY2UoMCwgY29udGV4dFNpemUpKSkpO1xuXG4gICAgICAgICAgICB2YXIgaHVuayA9IHtcbiAgICAgICAgICAgICAgb2xkU3RhcnQ6IG9sZFJhbmdlU3RhcnQsXG4gICAgICAgICAgICAgIG9sZExpbmVzOiBvbGRMaW5lIC0gb2xkUmFuZ2VTdGFydCArIGNvbnRleHRTaXplLFxuICAgICAgICAgICAgICBuZXdTdGFydDogbmV3UmFuZ2VTdGFydCxcbiAgICAgICAgICAgICAgbmV3TGluZXM6IG5ld0xpbmUgLSBuZXdSYW5nZVN0YXJ0ICsgY29udGV4dFNpemUsXG4gICAgICAgICAgICAgIGxpbmVzOiBjdXJSYW5nZVxuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgaWYgKGkgPj0gZGlmZi5sZW5ndGggLSAyICYmIGxpbmVzLmxlbmd0aCA8PSBvcHRpb25zLmNvbnRleHQpIHtcbiAgICAgICAgICAgICAgLy8gRU9GIGlzIGluc2lkZSB0aGlzIGh1bmtcbiAgICAgICAgICAgICAgdmFyIG9sZEVPRk5ld2xpbmUgPSAvXFxuJC8udGVzdChvbGRTdHIpO1xuICAgICAgICAgICAgICB2YXIgbmV3RU9GTmV3bGluZSA9IC9cXG4kLy50ZXN0KG5ld1N0cik7XG4gICAgICAgICAgICAgIHZhciBub05sQmVmb3JlQWRkcyA9IGxpbmVzLmxlbmd0aCA9PSAwICYmIGN1clJhbmdlLmxlbmd0aCA+IGh1bmsub2xkTGluZXM7XG5cbiAgICAgICAgICAgICAgaWYgKCFvbGRFT0ZOZXdsaW5lICYmIG5vTmxCZWZvcmVBZGRzKSB7XG4gICAgICAgICAgICAgICAgLy8gc3BlY2lhbCBjYXNlOiBvbGQgaGFzIG5vIGVvbCBhbmQgbm8gdHJhaWxpbmcgY29udGV4dDsgbm8tbmwgY2FuIGVuZCB1cCBiZWZvcmUgYWRkc1xuICAgICAgICAgICAgICAgIGN1clJhbmdlLnNwbGljZShodW5rLm9sZExpbmVzLCAwLCAnXFxcXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlJyk7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBpZiAoIW9sZEVPRk5ld2xpbmUgJiYgIW5vTmxCZWZvcmVBZGRzIHx8ICFuZXdFT0ZOZXdsaW5lKSB7XG4gICAgICAgICAgICAgICAgY3VyUmFuZ2UucHVzaCgnXFxcXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlJyk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaHVua3MucHVzaChodW5rKTtcbiAgICAgICAgICAgIG9sZFJhbmdlU3RhcnQgPSAwO1xuICAgICAgICAgICAgbmV3UmFuZ2VTdGFydCA9IDA7XG4gICAgICAgICAgICBjdXJSYW5nZSA9IFtdO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIG9sZExpbmUgKz0gbGluZXMubGVuZ3RoO1xuICAgICAgICBuZXdMaW5lICs9IGxpbmVzLmxlbmd0aDtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBkaWZmLmxlbmd0aDsgaSsrKSB7XG4gICAgICBfbG9vcChpKTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgb2xkRmlsZU5hbWU6IG9sZEZpbGVOYW1lLFxuICAgICAgbmV3RmlsZU5hbWU6IG5ld0ZpbGVOYW1lLFxuICAgICAgb2xkSGVhZGVyOiBvbGRIZWFkZXIsXG4gICAgICBuZXdIZWFkZXI6IG5ld0hlYWRlcixcbiAgICAgIGh1bmtzOiBodW5rc1xuICAgIH07XG4gIH1cbiAgZnVuY3Rpb24gY3JlYXRlVHdvRmlsZXNQYXRjaChvbGRGaWxlTmFtZSwgbmV3RmlsZU5hbWUsIG9sZFN0ciwgbmV3U3RyLCBvbGRIZWFkZXIsIG5ld0hlYWRlciwgb3B0aW9ucykge1xuICAgIHZhciBkaWZmID0gc3RydWN0dXJlZFBhdGNoKG9sZEZpbGVOYW1lLCBuZXdGaWxlTmFtZSwgb2xkU3RyLCBuZXdTdHIsIG9sZEhlYWRlciwgbmV3SGVhZGVyLCBvcHRpb25zKTtcbiAgICB2YXIgcmV0ID0gW107XG5cbiAgICBpZiAob2xkRmlsZU5hbWUgPT0gbmV3RmlsZU5hbWUpIHtcbiAgICAgIHJldC5wdXNoKCdJbmRleDogJyArIG9sZEZpbGVOYW1lKTtcbiAgICB9XG5cbiAgICByZXQucHVzaCgnPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PScpO1xuICAgIHJldC5wdXNoKCctLS0gJyArIGRpZmYub2xkRmlsZU5hbWUgKyAodHlwZW9mIGRpZmYub2xkSGVhZGVyID09PSAndW5kZWZpbmVkJyA/ICcnIDogJ1xcdCcgKyBkaWZmLm9sZEhlYWRlcikpO1xuICAgIHJldC5wdXNoKCcrKysgJyArIGRpZmYubmV3RmlsZU5hbWUgKyAodHlwZW9mIGRpZmYubmV3SGVhZGVyID09PSAndW5kZWZpbmVkJyA/ICcnIDogJ1xcdCcgKyBkaWZmLm5ld0hlYWRlcikpO1xuXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBkaWZmLmh1bmtzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIgaHVuayA9IGRpZmYuaHVua3NbaV07XG4gICAgICByZXQucHVzaCgnQEAgLScgKyBodW5rLm9sZFN0YXJ0ICsgJywnICsgaHVuay5vbGRMaW5lcyArICcgKycgKyBodW5rLm5ld1N0YXJ0ICsgJywnICsgaHVuay5uZXdMaW5lcyArICcgQEAnKTtcbiAgICAgIHJldC5wdXNoLmFwcGx5KHJldCwgaHVuay5saW5lcyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJldC5qb2luKCdcXG4nKSArICdcXG4nO1xuICB9XG4gIGZ1bmN0aW9uIGNyZWF0ZVBhdGNoKGZpbGVOYW1lLCBvbGRTdHIsIG5ld1N0ciwgb2xkSGVhZGVyLCBuZXdIZWFkZXIsIG9wdGlvbnMpIHtcbiAgICByZXR1cm4gY3JlYXRlVHdvRmlsZXNQYXRjaChmaWxlTmFtZSwgZmlsZU5hbWUsIG9sZFN0ciwgbmV3U3RyLCBvbGRIZWFkZXIsIG5ld0hlYWRlciwgb3B0aW9ucyk7XG4gIH1cblxuICBmdW5jdGlvbiBhcnJheUVxdWFsKGEsIGIpIHtcbiAgICBpZiAoYS5sZW5ndGggIT09IGIubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcmV0dXJuIGFycmF5U3RhcnRzV2l0aChhLCBiKTtcbiAgfVxuICBmdW5jdGlvbiBhcnJheVN0YXJ0c1dpdGgoYXJyYXksIHN0YXJ0KSB7XG4gICAgaWYgKHN0YXJ0Lmxlbmd0aCA+IGFycmF5Lmxlbmd0aCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc3RhcnQubGVuZ3RoOyBpKyspIHtcbiAgICAgIGlmIChzdGFydFtpXSAhPT0gYXJyYXlbaV0pIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgZnVuY3Rpb24gY2FsY0xpbmVDb3VudChodW5rKSB7XG4gICAgdmFyIF9jYWxjT2xkTmV3TGluZUNvdW50ID0gY2FsY09sZE5ld0xpbmVDb3VudChodW5rLmxpbmVzKSxcbiAgICAgICAgb2xkTGluZXMgPSBfY2FsY09sZE5ld0xpbmVDb3VudC5vbGRMaW5lcyxcbiAgICAgICAgbmV3TGluZXMgPSBfY2FsY09sZE5ld0xpbmVDb3VudC5uZXdMaW5lcztcblxuICAgIGlmIChvbGRMaW5lcyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBodW5rLm9sZExpbmVzID0gb2xkTGluZXM7XG4gICAgfSBlbHNlIHtcbiAgICAgIGRlbGV0ZSBodW5rLm9sZExpbmVzO1xuICAgIH1cblxuICAgIGlmIChuZXdMaW5lcyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBodW5rLm5ld0xpbmVzID0gbmV3TGluZXM7XG4gICAgfSBlbHNlIHtcbiAgICAgIGRlbGV0ZSBodW5rLm5ld0xpbmVzO1xuICAgIH1cbiAgfVxuICBmdW5jdGlvbiBtZXJnZShtaW5lLCB0aGVpcnMsIGJhc2UpIHtcbiAgICBtaW5lID0gbG9hZFBhdGNoKG1pbmUsIGJhc2UpO1xuICAgIHRoZWlycyA9IGxvYWRQYXRjaCh0aGVpcnMsIGJhc2UpO1xuICAgIHZhciByZXQgPSB7fTsgLy8gRm9yIGluZGV4IHdlIGp1c3QgbGV0IGl0IHBhc3MgdGhyb3VnaCBhcyBpdCBkb2Vzbid0IGhhdmUgYW55IG5lY2Vzc2FyeSBtZWFuaW5nLlxuICAgIC8vIExlYXZpbmcgc2FuaXR5IGNoZWNrcyBvbiB0aGlzIHRvIHRoZSBBUEkgY29uc3VtZXIgdGhhdCBtYXkga25vdyBtb3JlIGFib3V0IHRoZVxuICAgIC8vIG1lYW5pbmcgaW4gdGhlaXIgb3duIGNvbnRleHQuXG5cbiAgICBpZiAobWluZS5pbmRleCB8fCB0aGVpcnMuaW5kZXgpIHtcbiAgICAgIHJldC5pbmRleCA9IG1pbmUuaW5kZXggfHwgdGhlaXJzLmluZGV4O1xuICAgIH1cblxuICAgIGlmIChtaW5lLm5ld0ZpbGVOYW1lIHx8IHRoZWlycy5uZXdGaWxlTmFtZSkge1xuICAgICAgaWYgKCFmaWxlTmFtZUNoYW5nZWQobWluZSkpIHtcbiAgICAgICAgLy8gTm8gaGVhZGVyIG9yIG5vIGNoYW5nZSBpbiBvdXJzLCB1c2UgdGhlaXJzIChhbmQgb3VycyBpZiB0aGVpcnMgZG9lcyBub3QgZXhpc3QpXG4gICAgICAgIHJldC5vbGRGaWxlTmFtZSA9IHRoZWlycy5vbGRGaWxlTmFtZSB8fCBtaW5lLm9sZEZpbGVOYW1lO1xuICAgICAgICByZXQubmV3RmlsZU5hbWUgPSB0aGVpcnMubmV3RmlsZU5hbWUgfHwgbWluZS5uZXdGaWxlTmFtZTtcbiAgICAgICAgcmV0Lm9sZEhlYWRlciA9IHRoZWlycy5vbGRIZWFkZXIgfHwgbWluZS5vbGRIZWFkZXI7XG4gICAgICAgIHJldC5uZXdIZWFkZXIgPSB0aGVpcnMubmV3SGVhZGVyIHx8IG1pbmUubmV3SGVhZGVyO1xuICAgICAgfSBlbHNlIGlmICghZmlsZU5hbWVDaGFuZ2VkKHRoZWlycykpIHtcbiAgICAgICAgLy8gTm8gaGVhZGVyIG9yIG5vIGNoYW5nZSBpbiB0aGVpcnMsIHVzZSBvdXJzXG4gICAgICAgIHJldC5vbGRGaWxlTmFtZSA9IG1pbmUub2xkRmlsZU5hbWU7XG4gICAgICAgIHJldC5uZXdGaWxlTmFtZSA9IG1pbmUubmV3RmlsZU5hbWU7XG4gICAgICAgIHJldC5vbGRIZWFkZXIgPSBtaW5lLm9sZEhlYWRlcjtcbiAgICAgICAgcmV0Lm5ld0hlYWRlciA9IG1pbmUubmV3SGVhZGVyO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gQm90aCBjaGFuZ2VkLi4uIGZpZ3VyZSBpdCBvdXRcbiAgICAgICAgcmV0Lm9sZEZpbGVOYW1lID0gc2VsZWN0RmllbGQocmV0LCBtaW5lLm9sZEZpbGVOYW1lLCB0aGVpcnMub2xkRmlsZU5hbWUpO1xuICAgICAgICByZXQubmV3RmlsZU5hbWUgPSBzZWxlY3RGaWVsZChyZXQsIG1pbmUubmV3RmlsZU5hbWUsIHRoZWlycy5uZXdGaWxlTmFtZSk7XG4gICAgICAgIHJldC5vbGRIZWFkZXIgPSBzZWxlY3RGaWVsZChyZXQsIG1pbmUub2xkSGVhZGVyLCB0aGVpcnMub2xkSGVhZGVyKTtcbiAgICAgICAgcmV0Lm5ld0hlYWRlciA9IHNlbGVjdEZpZWxkKHJldCwgbWluZS5uZXdIZWFkZXIsIHRoZWlycy5uZXdIZWFkZXIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldC5odW5rcyA9IFtdO1xuICAgIHZhciBtaW5lSW5kZXggPSAwLFxuICAgICAgICB0aGVpcnNJbmRleCA9IDAsXG4gICAgICAgIG1pbmVPZmZzZXQgPSAwLFxuICAgICAgICB0aGVpcnNPZmZzZXQgPSAwO1xuXG4gICAgd2hpbGUgKG1pbmVJbmRleCA8IG1pbmUuaHVua3MubGVuZ3RoIHx8IHRoZWlyc0luZGV4IDwgdGhlaXJzLmh1bmtzLmxlbmd0aCkge1xuICAgICAgdmFyIG1pbmVDdXJyZW50ID0gbWluZS5odW5rc1ttaW5lSW5kZXhdIHx8IHtcbiAgICAgICAgb2xkU3RhcnQ6IEluZmluaXR5XG4gICAgICB9LFxuICAgICAgICAgIHRoZWlyc0N1cnJlbnQgPSB0aGVpcnMuaHVua3NbdGhlaXJzSW5kZXhdIHx8IHtcbiAgICAgICAgb2xkU3RhcnQ6IEluZmluaXR5XG4gICAgICB9O1xuXG4gICAgICBpZiAoaHVua0JlZm9yZShtaW5lQ3VycmVudCwgdGhlaXJzQ3VycmVudCkpIHtcbiAgICAgICAgLy8gVGhpcyBwYXRjaCBkb2VzIG5vdCBvdmVybGFwIHdpdGggYW55IG9mIHRoZSBvdGhlcnMsIHlheS5cbiAgICAgICAgcmV0Lmh1bmtzLnB1c2goY2xvbmVIdW5rKG1pbmVDdXJyZW50LCBtaW5lT2Zmc2V0KSk7XG4gICAgICAgIG1pbmVJbmRleCsrO1xuICAgICAgICB0aGVpcnNPZmZzZXQgKz0gbWluZUN1cnJlbnQubmV3TGluZXMgLSBtaW5lQ3VycmVudC5vbGRMaW5lcztcbiAgICAgIH0gZWxzZSBpZiAoaHVua0JlZm9yZSh0aGVpcnNDdXJyZW50LCBtaW5lQ3VycmVudCkpIHtcbiAgICAgICAgLy8gVGhpcyBwYXRjaCBkb2VzIG5vdCBvdmVybGFwIHdpdGggYW55IG9mIHRoZSBvdGhlcnMsIHlheS5cbiAgICAgICAgcmV0Lmh1bmtzLnB1c2goY2xvbmVIdW5rKHRoZWlyc0N1cnJlbnQsIHRoZWlyc09mZnNldCkpO1xuICAgICAgICB0aGVpcnNJbmRleCsrO1xuICAgICAgICBtaW5lT2Zmc2V0ICs9IHRoZWlyc0N1cnJlbnQubmV3TGluZXMgLSB0aGVpcnNDdXJyZW50Lm9sZExpbmVzO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gT3ZlcmxhcCwgbWVyZ2UgYXMgYmVzdCB3ZSBjYW5cbiAgICAgICAgdmFyIG1lcmdlZEh1bmsgPSB7XG4gICAgICAgICAgb2xkU3RhcnQ6IE1hdGgubWluKG1pbmVDdXJyZW50Lm9sZFN0YXJ0LCB0aGVpcnNDdXJyZW50Lm9sZFN0YXJ0KSxcbiAgICAgICAgICBvbGRMaW5lczogMCxcbiAgICAgICAgICBuZXdTdGFydDogTWF0aC5taW4obWluZUN1cnJlbnQubmV3U3RhcnQgKyBtaW5lT2Zmc2V0LCB0aGVpcnNDdXJyZW50Lm9sZFN0YXJ0ICsgdGhlaXJzT2Zmc2V0KSxcbiAgICAgICAgICBuZXdMaW5lczogMCxcbiAgICAgICAgICBsaW5lczogW11cbiAgICAgICAgfTtcbiAgICAgICAgbWVyZ2VMaW5lcyhtZXJnZWRIdW5rLCBtaW5lQ3VycmVudC5vbGRTdGFydCwgbWluZUN1cnJlbnQubGluZXMsIHRoZWlyc0N1cnJlbnQub2xkU3RhcnQsIHRoZWlyc0N1cnJlbnQubGluZXMpO1xuICAgICAgICB0aGVpcnNJbmRleCsrO1xuICAgICAgICBtaW5lSW5kZXgrKztcbiAgICAgICAgcmV0Lmh1bmtzLnB1c2gobWVyZ2VkSHVuayk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHJldDtcbiAgfVxuXG4gIGZ1bmN0aW9uIGxvYWRQYXRjaChwYXJhbSwgYmFzZSkge1xuICAgIGlmICh0eXBlb2YgcGFyYW0gPT09ICdzdHJpbmcnKSB7XG4gICAgICBpZiAoL15AQC9tLnRlc3QocGFyYW0pIHx8IC9eSW5kZXg6L20udGVzdChwYXJhbSkpIHtcbiAgICAgICAgcmV0dXJuIHBhcnNlUGF0Y2gocGFyYW0pWzBdO1xuICAgICAgfVxuXG4gICAgICBpZiAoIWJhc2UpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdNdXN0IHByb3ZpZGUgYSBiYXNlIHJlZmVyZW5jZSBvciBwYXNzIGluIGEgcGF0Y2gnKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHN0cnVjdHVyZWRQYXRjaCh1bmRlZmluZWQsIHVuZGVmaW5lZCwgYmFzZSwgcGFyYW0pO1xuICAgIH1cblxuICAgIHJldHVybiBwYXJhbTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGZpbGVOYW1lQ2hhbmdlZChwYXRjaCkge1xuICAgIHJldHVybiBwYXRjaC5uZXdGaWxlTmFtZSAmJiBwYXRjaC5uZXdGaWxlTmFtZSAhPT0gcGF0Y2gub2xkRmlsZU5hbWU7XG4gIH1cblxuICBmdW5jdGlvbiBzZWxlY3RGaWVsZChpbmRleCwgbWluZSwgdGhlaXJzKSB7XG4gICAgaWYgKG1pbmUgPT09IHRoZWlycykge1xuICAgICAgcmV0dXJuIG1pbmU7XG4gICAgfSBlbHNlIHtcbiAgICAgIGluZGV4LmNvbmZsaWN0ID0gdHJ1ZTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIG1pbmU6IG1pbmUsXG4gICAgICAgIHRoZWlyczogdGhlaXJzXG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIGh1bmtCZWZvcmUodGVzdCwgY2hlY2spIHtcbiAgICByZXR1cm4gdGVzdC5vbGRTdGFydCA8IGNoZWNrLm9sZFN0YXJ0ICYmIHRlc3Qub2xkU3RhcnQgKyB0ZXN0Lm9sZExpbmVzIDwgY2hlY2sub2xkU3RhcnQ7XG4gIH1cblxuICBmdW5jdGlvbiBjbG9uZUh1bmsoaHVuaywgb2Zmc2V0KSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG9sZFN0YXJ0OiBodW5rLm9sZFN0YXJ0LFxuICAgICAgb2xkTGluZXM6IGh1bmsub2xkTGluZXMsXG4gICAgICBuZXdTdGFydDogaHVuay5uZXdTdGFydCArIG9mZnNldCxcbiAgICAgIG5ld0xpbmVzOiBodW5rLm5ld0xpbmVzLFxuICAgICAgbGluZXM6IGh1bmsubGluZXNcbiAgICB9O1xuICB9XG5cbiAgZnVuY3Rpb24gbWVyZ2VMaW5lcyhodW5rLCBtaW5lT2Zmc2V0LCBtaW5lTGluZXMsIHRoZWlyT2Zmc2V0LCB0aGVpckxpbmVzKSB7XG4gICAgLy8gVGhpcyB3aWxsIGdlbmVyYWxseSByZXN1bHQgaW4gYSBjb25mbGljdGVkIGh1bmssIGJ1dCB0aGVyZSBhcmUgY2FzZXMgd2hlcmUgdGhlIGNvbnRleHRcbiAgICAvLyBpcyB0aGUgb25seSBvdmVybGFwIHdoZXJlIHdlIGNhbiBzdWNjZXNzZnVsbHkgbWVyZ2UgdGhlIGNvbnRlbnQgaGVyZS5cbiAgICB2YXIgbWluZSA9IHtcbiAgICAgIG9mZnNldDogbWluZU9mZnNldCxcbiAgICAgIGxpbmVzOiBtaW5lTGluZXMsXG4gICAgICBpbmRleDogMFxuICAgIH0sXG4gICAgICAgIHRoZWlyID0ge1xuICAgICAgb2Zmc2V0OiB0aGVpck9mZnNldCxcbiAgICAgIGxpbmVzOiB0aGVpckxpbmVzLFxuICAgICAgaW5kZXg6IDBcbiAgICB9OyAvLyBIYW5kbGUgYW55IGxlYWRpbmcgY29udGVudFxuXG4gICAgaW5zZXJ0TGVhZGluZyhodW5rLCBtaW5lLCB0aGVpcik7XG4gICAgaW5zZXJ0TGVhZGluZyhodW5rLCB0aGVpciwgbWluZSk7IC8vIE5vdyBpbiB0aGUgb3ZlcmxhcCBjb250ZW50LiBTY2FuIHRocm91Z2ggYW5kIHNlbGVjdCB0aGUgYmVzdCBjaGFuZ2VzIGZyb20gZWFjaC5cblxuICAgIHdoaWxlIChtaW5lLmluZGV4IDwgbWluZS5saW5lcy5sZW5ndGggJiYgdGhlaXIuaW5kZXggPCB0aGVpci5saW5lcy5sZW5ndGgpIHtcbiAgICAgIHZhciBtaW5lQ3VycmVudCA9IG1pbmUubGluZXNbbWluZS5pbmRleF0sXG4gICAgICAgICAgdGhlaXJDdXJyZW50ID0gdGhlaXIubGluZXNbdGhlaXIuaW5kZXhdO1xuXG4gICAgICBpZiAoKG1pbmVDdXJyZW50WzBdID09PSAnLScgfHwgbWluZUN1cnJlbnRbMF0gPT09ICcrJykgJiYgKHRoZWlyQ3VycmVudFswXSA9PT0gJy0nIHx8IHRoZWlyQ3VycmVudFswXSA9PT0gJysnKSkge1xuICAgICAgICAvLyBCb3RoIG1vZGlmaWVkIC4uLlxuICAgICAgICBtdXR1YWxDaGFuZ2UoaHVuaywgbWluZSwgdGhlaXIpO1xuICAgICAgfSBlbHNlIGlmIChtaW5lQ3VycmVudFswXSA9PT0gJysnICYmIHRoZWlyQ3VycmVudFswXSA9PT0gJyAnKSB7XG4gICAgICAgIHZhciBfaHVuayRsaW5lcztcblxuICAgICAgICAvLyBNaW5lIGluc2VydGVkXG4gICAgICAgIChfaHVuayRsaW5lcyA9IGh1bmsubGluZXMpLnB1c2guYXBwbHkoX2h1bmskbGluZXMsIF90b0NvbnN1bWFibGVBcnJheShjb2xsZWN0Q2hhbmdlKG1pbmUpKSk7XG4gICAgICB9IGVsc2UgaWYgKHRoZWlyQ3VycmVudFswXSA9PT0gJysnICYmIG1pbmVDdXJyZW50WzBdID09PSAnICcpIHtcbiAgICAgICAgdmFyIF9odW5rJGxpbmVzMjtcblxuICAgICAgICAvLyBUaGVpcnMgaW5zZXJ0ZWRcbiAgICAgICAgKF9odW5rJGxpbmVzMiA9IGh1bmsubGluZXMpLnB1c2guYXBwbHkoX2h1bmskbGluZXMyLCBfdG9Db25zdW1hYmxlQXJyYXkoY29sbGVjdENoYW5nZSh0aGVpcikpKTtcbiAgICAgIH0gZWxzZSBpZiAobWluZUN1cnJlbnRbMF0gPT09ICctJyAmJiB0aGVpckN1cnJlbnRbMF0gPT09ICcgJykge1xuICAgICAgICAvLyBNaW5lIHJlbW92ZWQgb3IgZWRpdGVkXG4gICAgICAgIHJlbW92YWwoaHVuaywgbWluZSwgdGhlaXIpO1xuICAgICAgfSBlbHNlIGlmICh0aGVpckN1cnJlbnRbMF0gPT09ICctJyAmJiBtaW5lQ3VycmVudFswXSA9PT0gJyAnKSB7XG4gICAgICAgIC8vIFRoZWlyIHJlbW92ZWQgb3IgZWRpdGVkXG4gICAgICAgIHJlbW92YWwoaHVuaywgdGhlaXIsIG1pbmUsIHRydWUpO1xuICAgICAgfSBlbHNlIGlmIChtaW5lQ3VycmVudCA9PT0gdGhlaXJDdXJyZW50KSB7XG4gICAgICAgIC8vIENvbnRleHQgaWRlbnRpdHlcbiAgICAgICAgaHVuay5saW5lcy5wdXNoKG1pbmVDdXJyZW50KTtcbiAgICAgICAgbWluZS5pbmRleCsrO1xuICAgICAgICB0aGVpci5pbmRleCsrO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gQ29udGV4dCBtaXNtYXRjaFxuICAgICAgICBjb25mbGljdChodW5rLCBjb2xsZWN0Q2hhbmdlKG1pbmUpLCBjb2xsZWN0Q2hhbmdlKHRoZWlyKSk7XG4gICAgICB9XG4gICAgfSAvLyBOb3cgcHVzaCBhbnl0aGluZyB0aGF0IG1heSBiZSByZW1haW5pbmdcblxuXG4gICAgaW5zZXJ0VHJhaWxpbmcoaHVuaywgbWluZSk7XG4gICAgaW5zZXJ0VHJhaWxpbmcoaHVuaywgdGhlaXIpO1xuICAgIGNhbGNMaW5lQ291bnQoaHVuayk7XG4gIH1cblxuICBmdW5jdGlvbiBtdXR1YWxDaGFuZ2UoaHVuaywgbWluZSwgdGhlaXIpIHtcbiAgICB2YXIgbXlDaGFuZ2VzID0gY29sbGVjdENoYW5nZShtaW5lKSxcbiAgICAgICAgdGhlaXJDaGFuZ2VzID0gY29sbGVjdENoYW5nZSh0aGVpcik7XG5cbiAgICBpZiAoYWxsUmVtb3ZlcyhteUNoYW5nZXMpICYmIGFsbFJlbW92ZXModGhlaXJDaGFuZ2VzKSkge1xuICAgICAgLy8gU3BlY2lhbCBjYXNlIGZvciByZW1vdmUgY2hhbmdlcyB0aGF0IGFyZSBzdXBlcnNldHMgb2Ygb25lIGFub3RoZXJcbiAgICAgIGlmIChhcnJheVN0YXJ0c1dpdGgobXlDaGFuZ2VzLCB0aGVpckNoYW5nZXMpICYmIHNraXBSZW1vdmVTdXBlcnNldCh0aGVpciwgbXlDaGFuZ2VzLCBteUNoYW5nZXMubGVuZ3RoIC0gdGhlaXJDaGFuZ2VzLmxlbmd0aCkpIHtcbiAgICAgICAgdmFyIF9odW5rJGxpbmVzMztcblxuICAgICAgICAoX2h1bmskbGluZXMzID0gaHVuay5saW5lcykucHVzaC5hcHBseShfaHVuayRsaW5lczMsIF90b0NvbnN1bWFibGVBcnJheShteUNoYW5nZXMpKTtcblxuICAgICAgICByZXR1cm47XG4gICAgICB9IGVsc2UgaWYgKGFycmF5U3RhcnRzV2l0aCh0aGVpckNoYW5nZXMsIG15Q2hhbmdlcykgJiYgc2tpcFJlbW92ZVN1cGVyc2V0KG1pbmUsIHRoZWlyQ2hhbmdlcywgdGhlaXJDaGFuZ2VzLmxlbmd0aCAtIG15Q2hhbmdlcy5sZW5ndGgpKSB7XG4gICAgICAgIHZhciBfaHVuayRsaW5lczQ7XG5cbiAgICAgICAgKF9odW5rJGxpbmVzNCA9IGh1bmsubGluZXMpLnB1c2guYXBwbHkoX2h1bmskbGluZXM0LCBfdG9Db25zdW1hYmxlQXJyYXkodGhlaXJDaGFuZ2VzKSk7XG5cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoYXJyYXlFcXVhbChteUNoYW5nZXMsIHRoZWlyQ2hhbmdlcykpIHtcbiAgICAgIHZhciBfaHVuayRsaW5lczU7XG5cbiAgICAgIChfaHVuayRsaW5lczUgPSBodW5rLmxpbmVzKS5wdXNoLmFwcGx5KF9odW5rJGxpbmVzNSwgX3RvQ29uc3VtYWJsZUFycmF5KG15Q2hhbmdlcykpO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uZmxpY3QoaHVuaywgbXlDaGFuZ2VzLCB0aGVpckNoYW5nZXMpO1xuICB9XG5cbiAgZnVuY3Rpb24gcmVtb3ZhbChodW5rLCBtaW5lLCB0aGVpciwgc3dhcCkge1xuICAgIHZhciBteUNoYW5nZXMgPSBjb2xsZWN0Q2hhbmdlKG1pbmUpLFxuICAgICAgICB0aGVpckNoYW5nZXMgPSBjb2xsZWN0Q29udGV4dCh0aGVpciwgbXlDaGFuZ2VzKTtcblxuICAgIGlmICh0aGVpckNoYW5nZXMubWVyZ2VkKSB7XG4gICAgICB2YXIgX2h1bmskbGluZXM2O1xuXG4gICAgICAoX2h1bmskbGluZXM2ID0gaHVuay5saW5lcykucHVzaC5hcHBseShfaHVuayRsaW5lczYsIF90b0NvbnN1bWFibGVBcnJheSh0aGVpckNoYW5nZXMubWVyZ2VkKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbmZsaWN0KGh1bmssIHN3YXAgPyB0aGVpckNoYW5nZXMgOiBteUNoYW5nZXMsIHN3YXAgPyBteUNoYW5nZXMgOiB0aGVpckNoYW5nZXMpO1xuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIGNvbmZsaWN0KGh1bmssIG1pbmUsIHRoZWlyKSB7XG4gICAgaHVuay5jb25mbGljdCA9IHRydWU7XG4gICAgaHVuay5saW5lcy5wdXNoKHtcbiAgICAgIGNvbmZsaWN0OiB0cnVlLFxuICAgICAgbWluZTogbWluZSxcbiAgICAgIHRoZWlyczogdGhlaXJcbiAgICB9KTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGluc2VydExlYWRpbmcoaHVuaywgaW5zZXJ0LCB0aGVpcikge1xuICAgIHdoaWxlIChpbnNlcnQub2Zmc2V0IDwgdGhlaXIub2Zmc2V0ICYmIGluc2VydC5pbmRleCA8IGluc2VydC5saW5lcy5sZW5ndGgpIHtcbiAgICAgIHZhciBsaW5lID0gaW5zZXJ0LmxpbmVzW2luc2VydC5pbmRleCsrXTtcbiAgICAgIGh1bmsubGluZXMucHVzaChsaW5lKTtcbiAgICAgIGluc2VydC5vZmZzZXQrKztcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBpbnNlcnRUcmFpbGluZyhodW5rLCBpbnNlcnQpIHtcbiAgICB3aGlsZSAoaW5zZXJ0LmluZGV4IDwgaW5zZXJ0LmxpbmVzLmxlbmd0aCkge1xuICAgICAgdmFyIGxpbmUgPSBpbnNlcnQubGluZXNbaW5zZXJ0LmluZGV4KytdO1xuICAgICAgaHVuay5saW5lcy5wdXNoKGxpbmUpO1xuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIGNvbGxlY3RDaGFuZ2Uoc3RhdGUpIHtcbiAgICB2YXIgcmV0ID0gW10sXG4gICAgICAgIG9wZXJhdGlvbiA9IHN0YXRlLmxpbmVzW3N0YXRlLmluZGV4XVswXTtcblxuICAgIHdoaWxlIChzdGF0ZS5pbmRleCA8IHN0YXRlLmxpbmVzLmxlbmd0aCkge1xuICAgICAgdmFyIGxpbmUgPSBzdGF0ZS5saW5lc1tzdGF0ZS5pbmRleF07IC8vIEdyb3VwIGFkZGl0aW9ucyB0aGF0IGFyZSBpbW1lZGlhdGVseSBhZnRlciBzdWJ0cmFjdGlvbnMgYW5kIHRyZWF0IHRoZW0gYXMgb25lIFwiYXRvbWljXCIgbW9kaWZ5IGNoYW5nZS5cblxuICAgICAgaWYgKG9wZXJhdGlvbiA9PT0gJy0nICYmIGxpbmVbMF0gPT09ICcrJykge1xuICAgICAgICBvcGVyYXRpb24gPSAnKyc7XG4gICAgICB9XG5cbiAgICAgIGlmIChvcGVyYXRpb24gPT09IGxpbmVbMF0pIHtcbiAgICAgICAgcmV0LnB1c2gobGluZSk7XG4gICAgICAgIHN0YXRlLmluZGV4Kys7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gcmV0O1xuICB9XG5cbiAgZnVuY3Rpb24gY29sbGVjdENvbnRleHQoc3RhdGUsIG1hdGNoQ2hhbmdlcykge1xuICAgIHZhciBjaGFuZ2VzID0gW10sXG4gICAgICAgIG1lcmdlZCA9IFtdLFxuICAgICAgICBtYXRjaEluZGV4ID0gMCxcbiAgICAgICAgY29udGV4dENoYW5nZXMgPSBmYWxzZSxcbiAgICAgICAgY29uZmxpY3RlZCA9IGZhbHNlO1xuXG4gICAgd2hpbGUgKG1hdGNoSW5kZXggPCBtYXRjaENoYW5nZXMubGVuZ3RoICYmIHN0YXRlLmluZGV4IDwgc3RhdGUubGluZXMubGVuZ3RoKSB7XG4gICAgICB2YXIgY2hhbmdlID0gc3RhdGUubGluZXNbc3RhdGUuaW5kZXhdLFxuICAgICAgICAgIG1hdGNoID0gbWF0Y2hDaGFuZ2VzW21hdGNoSW5kZXhdOyAvLyBPbmNlIHdlJ3ZlIGhpdCBvdXIgYWRkLCB0aGVuIHdlIGFyZSBkb25lXG5cbiAgICAgIGlmIChtYXRjaFswXSA9PT0gJysnKSB7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgICBjb250ZXh0Q2hhbmdlcyA9IGNvbnRleHRDaGFuZ2VzIHx8IGNoYW5nZVswXSAhPT0gJyAnO1xuICAgICAgbWVyZ2VkLnB1c2gobWF0Y2gpO1xuICAgICAgbWF0Y2hJbmRleCsrOyAvLyBDb25zdW1lIGFueSBhZGRpdGlvbnMgaW4gdGhlIG90aGVyIGJsb2NrIGFzIGEgY29uZmxpY3QgdG8gYXR0ZW1wdFxuICAgICAgLy8gdG8gcHVsbCBpbiB0aGUgcmVtYWluaW5nIGNvbnRleHQgYWZ0ZXIgdGhpc1xuXG4gICAgICBpZiAoY2hhbmdlWzBdID09PSAnKycpIHtcbiAgICAgICAgY29uZmxpY3RlZCA9IHRydWU7XG5cbiAgICAgICAgd2hpbGUgKGNoYW5nZVswXSA9PT0gJysnKSB7XG4gICAgICAgICAgY2hhbmdlcy5wdXNoKGNoYW5nZSk7XG4gICAgICAgICAgY2hhbmdlID0gc3RhdGUubGluZXNbKytzdGF0ZS5pbmRleF07XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKG1hdGNoLnN1YnN0cigxKSA9PT0gY2hhbmdlLnN1YnN0cigxKSkge1xuICAgICAgICBjaGFuZ2VzLnB1c2goY2hhbmdlKTtcbiAgICAgICAgc3RhdGUuaW5kZXgrKztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbmZsaWN0ZWQgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICgobWF0Y2hDaGFuZ2VzW21hdGNoSW5kZXhdIHx8ICcnKVswXSA9PT0gJysnICYmIGNvbnRleHRDaGFuZ2VzKSB7XG4gICAgICBjb25mbGljdGVkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAoY29uZmxpY3RlZCkge1xuICAgICAgcmV0dXJuIGNoYW5nZXM7XG4gICAgfVxuXG4gICAgd2hpbGUgKG1hdGNoSW5kZXggPCBtYXRjaENoYW5nZXMubGVuZ3RoKSB7XG4gICAgICBtZXJnZWQucHVzaChtYXRjaENoYW5nZXNbbWF0Y2hJbmRleCsrXSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIG1lcmdlZDogbWVyZ2VkLFxuICAgICAgY2hhbmdlczogY2hhbmdlc1xuICAgIH07XG4gIH1cblxuICBmdW5jdGlvbiBhbGxSZW1vdmVzKGNoYW5nZXMpIHtcbiAgICByZXR1cm4gY2hhbmdlcy5yZWR1Y2UoZnVuY3Rpb24gKHByZXYsIGNoYW5nZSkge1xuICAgICAgcmV0dXJuIHByZXYgJiYgY2hhbmdlWzBdID09PSAnLSc7XG4gICAgfSwgdHJ1ZSk7XG4gIH1cblxuICBmdW5jdGlvbiBza2lwUmVtb3ZlU3VwZXJzZXQoc3RhdGUsIHJlbW92ZUNoYW5nZXMsIGRlbHRhKSB7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBkZWx0YTsgaSsrKSB7XG4gICAgICB2YXIgY2hhbmdlQ29udGVudCA9IHJlbW92ZUNoYW5nZXNbcmVtb3ZlQ2hhbmdlcy5sZW5ndGggLSBkZWx0YSArIGldLnN1YnN0cigxKTtcblxuICAgICAgaWYgKHN0YXRlLmxpbmVzW3N0YXRlLmluZGV4ICsgaV0gIT09ICcgJyArIGNoYW5nZUNvbnRlbnQpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH1cblxuICAgIHN0YXRlLmluZGV4ICs9IGRlbHRhO1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgZnVuY3Rpb24gY2FsY09sZE5ld0xpbmVDb3VudChsaW5lcykge1xuICAgIHZhciBvbGRMaW5lcyA9IDA7XG4gICAgdmFyIG5ld0xpbmVzID0gMDtcbiAgICBsaW5lcy5mb3JFYWNoKGZ1bmN0aW9uIChsaW5lKSB7XG4gICAgICBpZiAodHlwZW9mIGxpbmUgIT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHZhciBteUNvdW50ID0gY2FsY09sZE5ld0xpbmVDb3VudChsaW5lLm1pbmUpO1xuICAgICAgICB2YXIgdGhlaXJDb3VudCA9IGNhbGNPbGROZXdMaW5lQ291bnQobGluZS50aGVpcnMpO1xuXG4gICAgICAgIGlmIChvbGRMaW5lcyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgaWYgKG15Q291bnQub2xkTGluZXMgPT09IHRoZWlyQ291bnQub2xkTGluZXMpIHtcbiAgICAgICAgICAgIG9sZExpbmVzICs9IG15Q291bnQub2xkTGluZXM7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG9sZExpbmVzID0gdW5kZWZpbmVkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChuZXdMaW5lcyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgaWYgKG15Q291bnQubmV3TGluZXMgPT09IHRoZWlyQ291bnQubmV3TGluZXMpIHtcbiAgICAgICAgICAgIG5ld0xpbmVzICs9IG15Q291bnQubmV3TGluZXM7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG5ld0xpbmVzID0gdW5kZWZpbmVkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKG5ld0xpbmVzICE9PSB1bmRlZmluZWQgJiYgKGxpbmVbMF0gPT09ICcrJyB8fCBsaW5lWzBdID09PSAnICcpKSB7XG4gICAgICAgICAgbmV3TGluZXMrKztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChvbGRMaW5lcyAhPT0gdW5kZWZpbmVkICYmIChsaW5lWzBdID09PSAnLScgfHwgbGluZVswXSA9PT0gJyAnKSkge1xuICAgICAgICAgIG9sZExpbmVzKys7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4ge1xuICAgICAgb2xkTGluZXM6IG9sZExpbmVzLFxuICAgICAgbmV3TGluZXM6IG5ld0xpbmVzXG4gICAgfTtcbiAgfVxuXG4gIC8vIFNlZTogaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL2dvb2dsZS1kaWZmLW1hdGNoLXBhdGNoL3dpa2kvQVBJXG4gIGZ1bmN0aW9uIGNvbnZlcnRDaGFuZ2VzVG9ETVAoY2hhbmdlcykge1xuICAgIHZhciByZXQgPSBbXSxcbiAgICAgICAgY2hhbmdlLFxuICAgICAgICBvcGVyYXRpb247XG5cbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNoYW5nZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGNoYW5nZSA9IGNoYW5nZXNbaV07XG5cbiAgICAgIGlmIChjaGFuZ2UuYWRkZWQpIHtcbiAgICAgICAgb3BlcmF0aW9uID0gMTtcbiAgICAgIH0gZWxzZSBpZiAoY2hhbmdlLnJlbW92ZWQpIHtcbiAgICAgICAgb3BlcmF0aW9uID0gLTE7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBvcGVyYXRpb24gPSAwO1xuICAgICAgfVxuXG4gICAgICByZXQucHVzaChbb3BlcmF0aW9uLCBjaGFuZ2UudmFsdWVdKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmV0O1xuICB9XG5cbiAgZnVuY3Rpb24gY29udmVydENoYW5nZXNUb1hNTChjaGFuZ2VzKSB7XG4gICAgdmFyIHJldCA9IFtdO1xuXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjaGFuZ2VzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIgY2hhbmdlID0gY2hhbmdlc1tpXTtcblxuICAgICAgaWYgKGNoYW5nZS5hZGRlZCkge1xuICAgICAgICByZXQucHVzaCgnPGlucz4nKTtcbiAgICAgIH0gZWxzZSBpZiAoY2hhbmdlLnJlbW92ZWQpIHtcbiAgICAgICAgcmV0LnB1c2goJzxkZWw+Jyk7XG4gICAgICB9XG5cbiAgICAgIHJldC5wdXNoKGVzY2FwZUhUTUwoY2hhbmdlLnZhbHVlKSk7XG5cbiAgICAgIGlmIChjaGFuZ2UuYWRkZWQpIHtcbiAgICAgICAgcmV0LnB1c2goJzwvaW5zPicpO1xuICAgICAgfSBlbHNlIGlmIChjaGFuZ2UucmVtb3ZlZCkge1xuICAgICAgICByZXQucHVzaCgnPC9kZWw+Jyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHJldC5qb2luKCcnKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGVzY2FwZUhUTUwocykge1xuICAgIHZhciBuID0gcztcbiAgICBuID0gbi5yZXBsYWNlKC8mL2csICcmYW1wOycpO1xuICAgIG4gPSBuLnJlcGxhY2UoLzwvZywgJyZsdDsnKTtcbiAgICBuID0gbi5yZXBsYWNlKC8+L2csICcmZ3Q7Jyk7XG4gICAgbiA9IG4ucmVwbGFjZSgvXCIvZywgJyZxdW90OycpO1xuICAgIHJldHVybiBuO1xuICB9XG5cbiAgLyogU2VlIExJQ0VOU0UgZmlsZSBmb3IgdGVybXMgb2YgdXNlICovXG5cbiAgZXhwb3J0cy5EaWZmID0gRGlmZjtcbiAgZXhwb3J0cy5kaWZmQ2hhcnMgPSBkaWZmQ2hhcnM7XG4gIGV4cG9ydHMuZGlmZldvcmRzID0gZGlmZldvcmRzO1xuICBleHBvcnRzLmRpZmZXb3Jkc1dpdGhTcGFjZSA9IGRpZmZXb3Jkc1dpdGhTcGFjZTtcbiAgZXhwb3J0cy5kaWZmTGluZXMgPSBkaWZmTGluZXM7XG4gIGV4cG9ydHMuZGlmZlRyaW1tZWRMaW5lcyA9IGRpZmZUcmltbWVkTGluZXM7XG4gIGV4cG9ydHMuZGlmZlNlbnRlbmNlcyA9IGRpZmZTZW50ZW5jZXM7XG4gIGV4cG9ydHMuZGlmZkNzcyA9IGRpZmZDc3M7XG4gIGV4cG9ydHMuZGlmZkpzb24gPSBkaWZmSnNvbjtcbiAgZXhwb3J0cy5kaWZmQXJyYXlzID0gZGlmZkFycmF5cztcbiAgZXhwb3J0cy5zdHJ1Y3R1cmVkUGF0Y2ggPSBzdHJ1Y3R1cmVkUGF0Y2g7XG4gIGV4cG9ydHMuY3JlYXRlVHdvRmlsZXNQYXRjaCA9IGNyZWF0ZVR3b0ZpbGVzUGF0Y2g7XG4gIGV4cG9ydHMuY3JlYXRlUGF0Y2ggPSBjcmVhdGVQYXRjaDtcbiAgZXhwb3J0cy5hcHBseVBhdGNoID0gYXBwbHlQYXRjaDtcbiAgZXhwb3J0cy5hcHBseVBhdGNoZXMgPSBhcHBseVBhdGNoZXM7XG4gIGV4cG9ydHMucGFyc2VQYXRjaCA9IHBhcnNlUGF0Y2g7XG4gIGV4cG9ydHMubWVyZ2UgPSBtZXJnZTtcbiAgZXhwb3J0cy5jb252ZXJ0Q2hhbmdlc1RvRE1QID0gY29udmVydENoYW5nZXNUb0RNUDtcbiAgZXhwb3J0cy5jb252ZXJ0Q2hhbmdlc1RvWE1MID0gY29udmVydENoYW5nZXNUb1hNTDtcbiAgZXhwb3J0cy5jYW5vbmljYWxpemUgPSBjYW5vbmljYWxpemU7XG5cbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcblxufSkpO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/diff2html/node_modules/diff/dist/diff.js\n"); /***/ }), /***/ "./node_modules/dom-helpers/class/addClass.js": /*!****************************************************!*\ !*** ./node_modules/dom-helpers/class/addClass.js ***! \****************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = addClass;\n\nvar _hasClass = __webpack_require__(/*! ./hasClass */ \"./node_modules/dom-helpers/class/hasClass.js\");\n\nvar _hasClass2 = _interopRequireDefault(_hasClass);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction addClass(element, className) {\n if (element.classList) element.classList.add(className);else if (!(0, _hasClass2.default)(element, className)) if (typeof element.className === 'string') element.className = element.className + ' ' + className;else element.setAttribute('class', (element.className && element.className.baseVal || '') + ' ' + className);\n}\nmodule.exports = exports['default'];//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZG9tLWhlbHBlcnMvY2xhc3MvYWRkQ2xhc3MuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZG9tLWhlbHBlcnMvY2xhc3MvYWRkQ2xhc3MuanM/YzljMSJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG5leHBvcnRzLmRlZmF1bHQgPSBhZGRDbGFzcztcblxudmFyIF9oYXNDbGFzcyA9IHJlcXVpcmUoJy4vaGFzQ2xhc3MnKTtcblxudmFyIF9oYXNDbGFzczIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9oYXNDbGFzcyk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9OyB9XG5cbmZ1bmN0aW9uIGFkZENsYXNzKGVsZW1lbnQsIGNsYXNzTmFtZSkge1xuICBpZiAoZWxlbWVudC5jbGFzc0xpc3QpIGVsZW1lbnQuY2xhc3NMaXN0LmFkZChjbGFzc05hbWUpO2Vsc2UgaWYgKCEoMCwgX2hhc0NsYXNzMi5kZWZhdWx0KShlbGVtZW50LCBjbGFzc05hbWUpKSBpZiAodHlwZW9mIGVsZW1lbnQuY2xhc3NOYW1lID09PSAnc3RyaW5nJykgZWxlbWVudC5jbGFzc05hbWUgPSBlbGVtZW50LmNsYXNzTmFtZSArICcgJyArIGNsYXNzTmFtZTtlbHNlIGVsZW1lbnQuc2V0QXR0cmlidXRlKCdjbGFzcycsIChlbGVtZW50LmNsYXNzTmFtZSAmJiBlbGVtZW50LmNsYXNzTmFtZS5iYXNlVmFsIHx8ICcnKSArICcgJyArIGNsYXNzTmFtZSk7XG59XG5tb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHNbJ2RlZmF1bHQnXTsiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/dom-helpers/class/addClass.js\n"); /***/ }), /***/ "./node_modules/dom-helpers/class/hasClass.js": /*!****************************************************!*\ !*** ./node_modules/dom-helpers/class/hasClass.js ***! \****************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = hasClass;\nfunction hasClass(element, className) {\n if (element.classList) return !!className && element.classList.contains(className);else return (\" \" + (element.className.baseVal || element.className) + \" \").indexOf(\" \" + className + \" \") !== -1;\n}\nmodule.exports = exports[\"default\"];//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZG9tLWhlbHBlcnMvY2xhc3MvaGFzQ2xhc3MuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZG9tLWhlbHBlcnMvY2xhc3MvaGFzQ2xhc3MuanM/YzgzZSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbmV4cG9ydHMuZGVmYXVsdCA9IGhhc0NsYXNzO1xuZnVuY3Rpb24gaGFzQ2xhc3MoZWxlbWVudCwgY2xhc3NOYW1lKSB7XG4gIGlmIChlbGVtZW50LmNsYXNzTGlzdCkgcmV0dXJuICEhY2xhc3NOYW1lICYmIGVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKGNsYXNzTmFtZSk7ZWxzZSByZXR1cm4gKFwiIFwiICsgKGVsZW1lbnQuY2xhc3NOYW1lLmJhc2VWYWwgfHwgZWxlbWVudC5jbGFzc05hbWUpICsgXCIgXCIpLmluZGV4T2YoXCIgXCIgKyBjbGFzc05hbWUgKyBcIiBcIikgIT09IC0xO1xufVxubW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzW1wiZGVmYXVsdFwiXTsiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/dom-helpers/class/hasClass.js\n"); /***/ }), /***/ "./node_modules/dom-helpers/class/removeClass.js": /*!*******************************************************!*\ !*** ./node_modules/dom-helpers/class/removeClass.js ***! \*******************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; eval("\n\nfunction replaceClassName(origClass, classToRemove) {\n return origClass.replace(new RegExp('(^|\\\\s)' + classToRemove + '(?:\\\\s|$)', 'g'), '$1').replace(/\\s+/g, ' ').replace(/^\\s*|\\s*$/g, '');\n}\n\nmodule.exports = function removeClass(element, className) {\n if (element.classList) element.classList.remove(className);else if (typeof element.className === 'string') element.className = replaceClassName(element.className, className);else element.setAttribute('class', replaceClassName(element.className && element.className.baseVal || '', className));\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZG9tLWhlbHBlcnMvY2xhc3MvcmVtb3ZlQ2xhc3MuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZG9tLWhlbHBlcnMvY2xhc3MvcmVtb3ZlQ2xhc3MuanM/NTRlNyJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbmZ1bmN0aW9uIHJlcGxhY2VDbGFzc05hbWUob3JpZ0NsYXNzLCBjbGFzc1RvUmVtb3ZlKSB7XG4gIHJldHVybiBvcmlnQ2xhc3MucmVwbGFjZShuZXcgUmVnRXhwKCcoXnxcXFxccyknICsgY2xhc3NUb1JlbW92ZSArICcoPzpcXFxcc3wkKScsICdnJyksICckMScpLnJlcGxhY2UoL1xccysvZywgJyAnKS5yZXBsYWNlKC9eXFxzKnxcXHMqJC9nLCAnJyk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gcmVtb3ZlQ2xhc3MoZWxlbWVudCwgY2xhc3NOYW1lKSB7XG4gIGlmIChlbGVtZW50LmNsYXNzTGlzdCkgZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKGNsYXNzTmFtZSk7ZWxzZSBpZiAodHlwZW9mIGVsZW1lbnQuY2xhc3NOYW1lID09PSAnc3RyaW5nJykgZWxlbWVudC5jbGFzc05hbWUgPSByZXBsYWNlQ2xhc3NOYW1lKGVsZW1lbnQuY2xhc3NOYW1lLCBjbGFzc05hbWUpO2Vsc2UgZWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2NsYXNzJywgcmVwbGFjZUNsYXNzTmFtZShlbGVtZW50LmNsYXNzTmFtZSAmJiBlbGVtZW50LmNsYXNzTmFtZS5iYXNlVmFsIHx8ICcnLCBjbGFzc05hbWUpKTtcbn07Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/dom-helpers/class/removeClass.js\n"); /***/ }), /***/ "./node_modules/dom-helpers/events/off.js": /*!************************************************!*\ !*** ./node_modules/dom-helpers/events/off.js ***! \************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _inDOM = __webpack_require__(/*! ../util/inDOM */ \"./node_modules/dom-helpers/util/inDOM.js\");\n\nvar _inDOM2 = _interopRequireDefault(_inDOM);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar off = function off() {};\nif (_inDOM2.default) {\n off = function () {\n if (document.addEventListener) return function (node, eventName, handler, capture) {\n return node.removeEventListener(eventName, handler, capture || false);\n };else if (document.attachEvent) return function (node, eventName, handler) {\n return node.detachEvent('on' + eventName, handler);\n };\n }();\n}\n\nexports.default = off;\nmodule.exports = exports['default'];//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZG9tLWhlbHBlcnMvZXZlbnRzL29mZi5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9kb20taGVscGVycy9ldmVudHMvb2ZmLmpzPzczNDEiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuXG52YXIgX2luRE9NID0gcmVxdWlyZSgnLi4vdXRpbC9pbkRPTScpO1xuXG52YXIgX2luRE9NMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2luRE9NKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxudmFyIG9mZiA9IGZ1bmN0aW9uIG9mZigpIHt9O1xuaWYgKF9pbkRPTTIuZGVmYXVsdCkge1xuICBvZmYgPSBmdW5jdGlvbiAoKSB7XG4gICAgaWYgKGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIpIHJldHVybiBmdW5jdGlvbiAobm9kZSwgZXZlbnROYW1lLCBoYW5kbGVyLCBjYXB0dXJlKSB7XG4gICAgICByZXR1cm4gbm9kZS5yZW1vdmVFdmVudExpc3RlbmVyKGV2ZW50TmFtZSwgaGFuZGxlciwgY2FwdHVyZSB8fCBmYWxzZSk7XG4gICAgfTtlbHNlIGlmIChkb2N1bWVudC5hdHRhY2hFdmVudCkgcmV0dXJuIGZ1bmN0aW9uIChub2RlLCBldmVudE5hbWUsIGhhbmRsZXIpIHtcbiAgICAgIHJldHVybiBub2RlLmRldGFjaEV2ZW50KCdvbicgKyBldmVudE5hbWUsIGhhbmRsZXIpO1xuICAgIH07XG4gIH0oKTtcbn1cblxuZXhwb3J0cy5kZWZhdWx0ID0gb2ZmO1xubW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzWydkZWZhdWx0J107Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/dom-helpers/events/off.js\n"); /***/ }), /***/ "./node_modules/dom-helpers/events/on.js": /*!***********************************************!*\ !*** ./node_modules/dom-helpers/events/on.js ***! \***********************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _inDOM = __webpack_require__(/*! ../util/inDOM */ \"./node_modules/dom-helpers/util/inDOM.js\");\n\nvar _inDOM2 = _interopRequireDefault(_inDOM);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar on = function on() {};\nif (_inDOM2.default) {\n on = function () {\n\n if (document.addEventListener) return function (node, eventName, handler, capture) {\n return node.addEventListener(eventName, handler, capture || false);\n };else if (document.attachEvent) return function (node, eventName, handler) {\n return node.attachEvent('on' + eventName, function (e) {\n e = e || window.event;\n e.target = e.target || e.srcElement;\n e.currentTarget = node;\n handler.call(node, e);\n });\n };\n }();\n}\n\nexports.default = on;\nmodule.exports = exports['default'];//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZG9tLWhlbHBlcnMvZXZlbnRzL29uLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2RvbS1oZWxwZXJzL2V2ZW50cy9vbi5qcz9hZGEwIl0sInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcblxudmFyIF9pbkRPTSA9IHJlcXVpcmUoJy4uL3V0aWwvaW5ET00nKTtcblxudmFyIF9pbkRPTTIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9pbkRPTSk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9OyB9XG5cbnZhciBvbiA9IGZ1bmN0aW9uIG9uKCkge307XG5pZiAoX2luRE9NMi5kZWZhdWx0KSB7XG4gIG9uID0gZnVuY3Rpb24gKCkge1xuXG4gICAgaWYgKGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIpIHJldHVybiBmdW5jdGlvbiAobm9kZSwgZXZlbnROYW1lLCBoYW5kbGVyLCBjYXB0dXJlKSB7XG4gICAgICByZXR1cm4gbm9kZS5hZGRFdmVudExpc3RlbmVyKGV2ZW50TmFtZSwgaGFuZGxlciwgY2FwdHVyZSB8fCBmYWxzZSk7XG4gICAgfTtlbHNlIGlmIChkb2N1bWVudC5hdHRhY2hFdmVudCkgcmV0dXJuIGZ1bmN0aW9uIChub2RlLCBldmVudE5hbWUsIGhhbmRsZXIpIHtcbiAgICAgIHJldHVybiBub2RlLmF0dGFjaEV2ZW50KCdvbicgKyBldmVudE5hbWUsIGZ1bmN0aW9uIChlKSB7XG4gICAgICAgIGUgPSBlIHx8IHdpbmRvdy5ldmVudDtcbiAgICAgICAgZS50YXJnZXQgPSBlLnRhcmdldCB8fCBlLnNyY0VsZW1lbnQ7XG4gICAgICAgIGUuY3VycmVudFRhcmdldCA9IG5vZGU7XG4gICAgICAgIGhhbmRsZXIuY2FsbChub2RlLCBlKTtcbiAgICAgIH0pO1xuICAgIH07XG4gIH0oKTtcbn1cblxuZXhwb3J0cy5kZWZhdWx0ID0gb247XG5tb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHNbJ2RlZmF1bHQnXTsiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/dom-helpers/events/on.js\n"); /***/ }), /***/ "./node_modules/dom-helpers/ownerDocument.js": /*!***************************************************!*\ !*** ./node_modules/dom-helpers/ownerDocument.js ***! \***************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = ownerDocument;\nfunction ownerDocument(node) {\n return node && node.ownerDocument || document;\n}\nmodule.exports = exports[\"default\"];//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZG9tLWhlbHBlcnMvb3duZXJEb2N1bWVudC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9kb20taGVscGVycy9vd25lckRvY3VtZW50LmpzP2EzOGQiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG5leHBvcnRzLmRlZmF1bHQgPSBvd25lckRvY3VtZW50O1xuZnVuY3Rpb24gb3duZXJEb2N1bWVudChub2RlKSB7XG4gIHJldHVybiBub2RlICYmIG5vZGUub3duZXJEb2N1bWVudCB8fCBkb2N1bWVudDtcbn1cbm1vZHVsZS5leHBvcnRzID0gZXhwb3J0c1tcImRlZmF1bHRcIl07Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/dom-helpers/ownerDocument.js\n"); /***/ }), /***/ "./node_modules/dom-helpers/query/contains.js": /*!****************************************************!*\ !*** ./node_modules/dom-helpers/query/contains.js ***! \****************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _inDOM = __webpack_require__(/*! ../util/inDOM */ \"./node_modules/dom-helpers/util/inDOM.js\");\n\nvar _inDOM2 = _interopRequireDefault(_inDOM);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function () {\n // HTML DOM and SVG DOM may have different support levels,\n // so we need to check on context instead of a document root element.\n return _inDOM2.default ? function (context, node) {\n if (context.contains) {\n return context.contains(node);\n } else if (context.compareDocumentPosition) {\n return context === node || !!(context.compareDocumentPosition(node) & 16);\n } else {\n return fallback(context, node);\n }\n } : fallback;\n}();\n\nfunction fallback(context, node) {\n if (node) do {\n if (node === context) return true;\n } while (node = node.parentNode);\n\n return false;\n}\nmodule.exports = exports['default'];//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZG9tLWhlbHBlcnMvcXVlcnkvY29udGFpbnMuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZG9tLWhlbHBlcnMvcXVlcnkvY29udGFpbnMuanM/ZWI1NCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG5cbnZhciBfaW5ET00gPSByZXF1aXJlKCcuLi91dGlsL2luRE9NJyk7XG5cbnZhciBfaW5ET00yID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfaW5ET00pO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG5leHBvcnRzLmRlZmF1bHQgPSBmdW5jdGlvbiAoKSB7XG4gIC8vIEhUTUwgRE9NIGFuZCBTVkcgRE9NIG1heSBoYXZlIGRpZmZlcmVudCBzdXBwb3J0IGxldmVscyxcbiAgLy8gc28gd2UgbmVlZCB0byBjaGVjayBvbiBjb250ZXh0IGluc3RlYWQgb2YgYSBkb2N1bWVudCByb290IGVsZW1lbnQuXG4gIHJldHVybiBfaW5ET00yLmRlZmF1bHQgPyBmdW5jdGlvbiAoY29udGV4dCwgbm9kZSkge1xuICAgIGlmIChjb250ZXh0LmNvbnRhaW5zKSB7XG4gICAgICByZXR1cm4gY29udGV4dC5jb250YWlucyhub2RlKTtcbiAgICB9IGVsc2UgaWYgKGNvbnRleHQuY29tcGFyZURvY3VtZW50UG9zaXRpb24pIHtcbiAgICAgIHJldHVybiBjb250ZXh0ID09PSBub2RlIHx8ICEhKGNvbnRleHQuY29tcGFyZURvY3VtZW50UG9zaXRpb24obm9kZSkgJiAxNik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBmYWxsYmFjayhjb250ZXh0LCBub2RlKTtcbiAgICB9XG4gIH0gOiBmYWxsYmFjaztcbn0oKTtcblxuZnVuY3Rpb24gZmFsbGJhY2soY29udGV4dCwgbm9kZSkge1xuICBpZiAobm9kZSkgZG8ge1xuICAgIGlmIChub2RlID09PSBjb250ZXh0KSByZXR1cm4gdHJ1ZTtcbiAgfSB3aGlsZSAobm9kZSA9IG5vZGUucGFyZW50Tm9kZSk7XG5cbiAgcmV0dXJuIGZhbHNlO1xufVxubW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzWydkZWZhdWx0J107Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/dom-helpers/query/contains.js\n"); /***/ }), /***/ "./node_modules/dom-helpers/util/inDOM.js": /*!************************************************!*\ !*** ./node_modules/dom-helpers/util/inDOM.js ***! \************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\nmodule.exports = exports['default'];//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZG9tLWhlbHBlcnMvdXRpbC9pbkRPTS5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9kb20taGVscGVycy91dGlsL2luRE9NLmpzPzA2OWYiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuZXhwb3J0cy5kZWZhdWx0ID0gISEodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgJiYgd2luZG93LmRvY3VtZW50ICYmIHdpbmRvdy5kb2N1bWVudC5jcmVhdGVFbGVtZW50KTtcbm1vZHVsZS5leHBvcnRzID0gZXhwb3J0c1snZGVmYXVsdCddOyJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/dom-helpers/util/inDOM.js\n"); /***/ }), /***/ "./node_modules/emoji-regex/index.js": /*!*******************************************!*\ !*** ./node_modules/emoji-regex/index.js ***! \*******************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; eval("\n\nmodule.exports = function () {\n // https://mths.be/emoji\n return /\\uD83C\\uDFF4\\uDB40\\uDC67\\uDB40\\uDC62(?:\\uDB40\\uDC65\\uDB40\\uDC6E\\uDB40\\uDC67|\\uDB40\\uDC73\\uDB40\\uDC63\\uDB40\\uDC74|\\uDB40\\uDC77\\uDB40\\uDC6C\\uDB40\\uDC73)\\uDB40\\uDC7F|\\uD83D\\uDC68(?:\\uD83C\\uDFFC\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C\\uDFFB|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFF\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFE])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFE\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFD])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFD\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFC])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\u200D(?:\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83D\\uDC68|(?:\\uD83D[\\uDC68\\uDC69])\\u200D(?:\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67]))|\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67])|(?:\\uD83D[\\uDC68\\uDC69])\\u200D(?:\\uD83D[\\uDC66\\uDC67])|[\\u2695\\u2696\\u2708]\\uFE0F|\\uD83D[\\uDC66\\uDC67]|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|(?:\\uD83C\\uDFFB\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFF\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFE\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFD\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFC\\u200D[\\u2695\\u2696\\u2708])\\uFE0F|\\uD83C\\uDFFB\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C[\\uDFFB-\\uDFFF])|(?:\\uD83E\\uDDD1\\uD83C\\uDFFB\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFC\\u200D\\uD83E\\uDD1D\\u200D\\uD83D\\uDC69)\\uD83C\\uDFFB|\\uD83E\\uDDD1(?:\\uD83C\\uDFFF\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1(?:\\uD83C[\\uDFFB-\\uDFFF])|\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1)|(?:\\uD83E\\uDDD1\\uD83C\\uDFFE\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFF\\u200D\\uD83E\\uDD1D\\u200D(?:\\uD83D[\\uDC68\\uDC69]))(?:\\uD83C[\\uDFFB-\\uDFFE])|(?:\\uD83E\\uDDD1\\uD83C\\uDFFC\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFD\\u200D\\uD83E\\uDD1D\\u200D\\uD83D\\uDC69)(?:\\uD83C[\\uDFFB\\uDFFC])|\\uD83D\\uDC69(?:\\uD83C\\uDFFE\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFC\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFB\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFC-\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFD\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\u200D(?:\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D(?:\\uD83D[\\uDC68\\uDC69])|\\uD83D[\\uDC68\\uDC69])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFF\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD]))|\\uD83D\\uDC69\\u200D\\uD83D\\uDC69\\u200D(?:\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67]))|(?:\\uD83E\\uDDD1\\uD83C\\uDFFD\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFE\\u200D\\uD83E\\uDD1D\\u200D\\uD83D\\uDC69)(?:\\uD83C[\\uDFFB-\\uDFFD])|\\uD83D\\uDC69\\u200D\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC69\\u200D\\uD83D\\uDC69\\u200D(?:\\uD83D[\\uDC66\\uDC67])|(?:\\uD83D\\uDC41\\uFE0F\\u200D\\uD83D\\uDDE8|\\uD83D\\uDC69(?:\\uD83C\\uDFFF\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFE\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFC\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFB\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFD\\u200D[\\u2695\\u2696\\u2708]|\\u200D[\\u2695\\u2696\\u2708])|(?:(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)\\uFE0F|\\uD83D\\uDC6F|\\uD83E[\\uDD3C\\uDDDE\\uDDDF])\\u200D[\\u2640\\u2642]|(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)(?:\\uD83C[\\uDFFB-\\uDFFF])\\u200D[\\u2640\\u2642]|(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD6-\\uDDDD])(?:(?:\\uD83C[\\uDFFB-\\uDFFF])\\u200D[\\u2640\\u2642]|\\u200D[\\u2640\\u2642])|\\uD83C\\uDFF4\\u200D\\u2620)\\uFE0F|\\uD83D\\uDC69\\u200D\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67])|\\uD83C\\uDFF3\\uFE0F\\u200D\\uD83C\\uDF08|\\uD83D\\uDC15\\u200D\\uD83E\\uDDBA|\\uD83D\\uDC69\\u200D\\uD83D\\uDC66|\\uD83D\\uDC69\\u200D\\uD83D\\uDC67|\\uD83C\\uDDFD\\uD83C\\uDDF0|\\uD83C\\uDDF4\\uD83C\\uDDF2|\\uD83C\\uDDF6\\uD83C\\uDDE6|[#\\*0-9]\\uFE0F\\u20E3|\\uD83C\\uDDE7(?:\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEF\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9\\uDDFB\\uDDFC\\uDDFE\\uDDFF])|\\uD83C\\uDDF9(?:\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDED\\uDDEF-\\uDDF4\\uDDF7\\uDDF9\\uDDFB\\uDDFC\\uDDFF])|\\uD83C\\uDDEA(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDED\\uDDF7-\\uDDFA])|\\uD83E\\uDDD1(?:\\uD83C[\\uDFFB-\\uDFFF])|\\uD83C\\uDDF7(?:\\uD83C[\\uDDEA\\uDDF4\\uDDF8\\uDDFA\\uDDFC])|\\uD83D\\uDC69(?:\\uD83C[\\uDFFB-\\uDFFF])|\\uD83C\\uDDF2(?:\\uD83C[\\uDDE6\\uDDE8-\\uDDED\\uDDF0-\\uDDFF])|\\uD83C\\uDDE6(?:\\uD83C[\\uDDE8-\\uDDEC\\uDDEE\\uDDF1\\uDDF2\\uDDF4\\uDDF6-\\uDDFA\\uDDFC\\uDDFD\\uDDFF])|\\uD83C\\uDDF0(?:\\uD83C[\\uDDEA\\uDDEC-\\uDDEE\\uDDF2\\uDDF3\\uDDF5\\uDDF7\\uDDFC\\uDDFE\\uDDFF])|\\uD83C\\uDDED(?:\\uD83C[\\uDDF0\\uDDF2\\uDDF3\\uDDF7\\uDDF9\\uDDFA])|\\uD83C\\uDDE9(?:\\uD83C[\\uDDEA\\uDDEC\\uDDEF\\uDDF0\\uDDF2\\uDDF4\\uDDFF])|\\uD83C\\uDDFE(?:\\uD83C[\\uDDEA\\uDDF9])|\\uD83C\\uDDEC(?:\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEE\\uDDF1-\\uDDF3\\uDDF5-\\uDDFA\\uDDFC\\uDDFE])|\\uD83C\\uDDF8(?:\\uD83C[\\uDDE6-\\uDDEA\\uDDEC-\\uDDF4\\uDDF7-\\uDDF9\\uDDFB\\uDDFD-\\uDDFF])|\\uD83C\\uDDEB(?:\\uD83C[\\uDDEE-\\uDDF0\\uDDF2\\uDDF4\\uDDF7])|\\uD83C\\uDDF5(?:\\uD83C[\\uDDE6\\uDDEA-\\uDDED\\uDDF0-\\uDDF3\\uDDF7-\\uDDF9\\uDDFC\\uDDFE])|\\uD83C\\uDDFB(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDEE\\uDDF3\\uDDFA])|\\uD83C\\uDDF3(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA-\\uDDEC\\uDDEE\\uDDF1\\uDDF4\\uDDF5\\uDDF7\\uDDFA\\uDDFF])|\\uD83C\\uDDE8(?:\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDEE\\uDDF0-\\uDDF5\\uDDF7\\uDDFA-\\uDDFF])|\\uD83C\\uDDF1(?:\\uD83C[\\uDDE6-\\uDDE8\\uDDEE\\uDDF0\\uDDF7-\\uDDFB\\uDDFE])|\\uD83C\\uDDFF(?:\\uD83C[\\uDDE6\\uDDF2\\uDDFC])|\\uD83C\\uDDFC(?:\\uD83C[\\uDDEB\\uDDF8])|\\uD83C\\uDDFA(?:\\uD83C[\\uDDE6\\uDDEC\\uDDF2\\uDDF3\\uDDF8\\uDDFE\\uDDFF])|\\uD83C\\uDDEE(?:\\uD83C[\\uDDE8-\\uDDEA\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9])|\\uD83C\\uDDEF(?:\\uD83C[\\uDDEA\\uDDF2\\uDDF4\\uDDF5])|(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD6-\\uDDDD])(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:[\\u261D\\u270A-\\u270D]|\\uD83C[\\uDF85\\uDFC2\\uDFC7]|\\uD83D[\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66\\uDC67\\uDC6B-\\uDC6D\\uDC70\\uDC72\\uDC74-\\uDC76\\uDC78\\uDC7C\\uDC83\\uDC85\\uDCAA\\uDD74\\uDD7A\\uDD90\\uDD95\\uDD96\\uDE4C\\uDE4F\\uDEC0\\uDECC]|\\uD83E[\\uDD0F\\uDD18-\\uDD1C\\uDD1E\\uDD1F\\uDD30-\\uDD36\\uDDB5\\uDDB6\\uDDBB\\uDDD2-\\uDDD5])(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:[\\u231A\\u231B\\u23E9-\\u23EC\\u23F0\\u23F3\\u25FD\\u25FE\\u2614\\u2615\\u2648-\\u2653\\u267F\\u2693\\u26A1\\u26AA\\u26AB\\u26BD\\u26BE\\u26C4\\u26C5\\u26CE\\u26D4\\u26EA\\u26F2\\u26F3\\u26F5\\u26FA\\u26FD\\u2705\\u270A\\u270B\\u2728\\u274C\\u274E\\u2753-\\u2755\\u2757\\u2795-\\u2797\\u27B0\\u27BF\\u2B1B\\u2B1C\\u2B50\\u2B55]|\\uD83C[\\uDC04\\uDCCF\\uDD8E\\uDD91-\\uDD9A\\uDDE6-\\uDDFF\\uDE01\\uDE1A\\uDE2F\\uDE32-\\uDE36\\uDE38-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF20\\uDF2D-\\uDF35\\uDF37-\\uDF7C\\uDF7E-\\uDF93\\uDFA0-\\uDFCA\\uDFCF-\\uDFD3\\uDFE0-\\uDFF0\\uDFF4\\uDFF8-\\uDFFF]|\\uD83D[\\uDC00-\\uDC3E\\uDC40\\uDC42-\\uDCFC\\uDCFF-\\uDD3D\\uDD4B-\\uDD4E\\uDD50-\\uDD67\\uDD7A\\uDD95\\uDD96\\uDDA4\\uDDFB-\\uDE4F\\uDE80-\\uDEC5\\uDECC\\uDED0-\\uDED2\\uDED5\\uDEEB\\uDEEC\\uDEF4-\\uDEFA\\uDFE0-\\uDFEB]|\\uD83E[\\uDD0D-\\uDD3A\\uDD3C-\\uDD45\\uDD47-\\uDD71\\uDD73-\\uDD76\\uDD7A-\\uDDA2\\uDDA5-\\uDDAA\\uDDAE-\\uDDCA\\uDDCD-\\uDDFF\\uDE70-\\uDE73\\uDE78-\\uDE7A\\uDE80-\\uDE82\\uDE90-\\uDE95])|(?:[#\\*0-9\\xA9\\xAE\\u203C\\u2049\\u2122\\u2139\\u2194-\\u2199\\u21A9\\u21AA\\u231A\\u231B\\u2328\\u23CF\\u23E9-\\u23F3\\u23F8-\\u23FA\\u24C2\\u25AA\\u25AB\\u25B6\\u25C0\\u25FB-\\u25FE\\u2600-\\u2604\\u260E\\u2611\\u2614\\u2615\\u2618\\u261D\\u2620\\u2622\\u2623\\u2626\\u262A\\u262E\\u262F\\u2638-\\u263A\\u2640\\u2642\\u2648-\\u2653\\u265F\\u2660\\u2663\\u2665\\u2666\\u2668\\u267B\\u267E\\u267F\\u2692-\\u2697\\u2699\\u269B\\u269C\\u26A0\\u26A1\\u26AA\\u26AB\\u26B0\\u26B1\\u26BD\\u26BE\\u26C4\\u26C5\\u26C8\\u26CE\\u26CF\\u26D1\\u26D3\\u26D4\\u26E9\\u26EA\\u26F0-\\u26F5\\u26F7-\\u26FA\\u26FD\\u2702\\u2705\\u2708-\\u270D\\u270F\\u2712\\u2714\\u2716\\u271D\\u2721\\u2728\\u2733\\u2734\\u2744\\u2747\\u274C\\u274E\\u2753-\\u2755\\u2757\\u2763\\u2764\\u2795-\\u2797\\u27A1\\u27B0\\u27BF\\u2934\\u2935\\u2B05-\\u2B07\\u2B1B\\u2B1C\\u2B50\\u2B55\\u3030\\u303D\\u3297\\u3299]|\\uD83C[\\uDC04\\uDCCF\\uDD70\\uDD71\\uDD7E\\uDD7F\\uDD8E\\uDD91-\\uDD9A\\uDDE6-\\uDDFF\\uDE01\\uDE02\\uDE1A\\uDE2F\\uDE32-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF21\\uDF24-\\uDF93\\uDF96\\uDF97\\uDF99-\\uDF9B\\uDF9E-\\uDFF0\\uDFF3-\\uDFF5\\uDFF7-\\uDFFF]|\\uD83D[\\uDC00-\\uDCFD\\uDCFF-\\uDD3D\\uDD49-\\uDD4E\\uDD50-\\uDD67\\uDD6F\\uDD70\\uDD73-\\uDD7A\\uDD87\\uDD8A-\\uDD8D\\uDD90\\uDD95\\uDD96\\uDDA4\\uDDA5\\uDDA8\\uDDB1\\uDDB2\\uDDBC\\uDDC2-\\uDDC4\\uDDD1-\\uDDD3\\uDDDC-\\uDDDE\\uDDE1\\uDDE3\\uDDE8\\uDDEF\\uDDF3\\uDDFA-\\uDE4F\\uDE80-\\uDEC5\\uDECB-\\uDED2\\uDED5\\uDEE0-\\uDEE5\\uDEE9\\uDEEB\\uDEEC\\uDEF0\\uDEF3-\\uDEFA\\uDFE0-\\uDFEB]|\\uD83E[\\uDD0D-\\uDD3A\\uDD3C-\\uDD45\\uDD47-\\uDD71\\uDD73-\\uDD76\\uDD7A-\\uDDA2\\uDDA5-\\uDDAA\\uDDAE-\\uDDCA\\uDDCD-\\uDDFF\\uDE70-\\uDE73\\uDE78-\\uDE7A\\uDE80-\\uDE82\\uDE90-\\uDE95])\\uFE0F|(?:[\\u261D\\u26F9\\u270A-\\u270D]|\\uD83C[\\uDF85\\uDFC2-\\uDFC4\\uDFC7\\uDFCA-\\uDFCC]|\\uD83D[\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66-\\uDC78\\uDC7C\\uDC81-\\uDC83\\uDC85-\\uDC87\\uDC8F\\uDC91\\uDCAA\\uDD74\\uDD75\\uDD7A\\uDD90\\uDD95\\uDD96\\uDE45-\\uDE47\\uDE4B-\\uDE4F\\uDEA3\\uDEB4-\\uDEB6\\uDEC0\\uDECC]|\\uD83E[\\uDD0F\\uDD18-\\uDD1F\\uDD26\\uDD30-\\uDD39\\uDD3C-\\uDD3E\\uDDB5\\uDDB6\\uDDB8\\uDDB9\\uDDBB\\uDDCD-\\uDDCF\\uDDD1-\\uDDDD])/g;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZW1vamktcmVnZXgvaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZW1vamktcmVnZXgvaW5kZXguanM/Yjg1NSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoKSB7XG4gIC8vIGh0dHBzOi8vbXRocy5iZS9lbW9qaVxuICByZXR1cm4gL1xcdUQ4M0NcXHVERkY0XFx1REI0MFxcdURDNjdcXHVEQjQwXFx1REM2Mig/OlxcdURCNDBcXHVEQzY1XFx1REI0MFxcdURDNkVcXHVEQjQwXFx1REM2N3xcXHVEQjQwXFx1REM3M1xcdURCNDBcXHVEQzYzXFx1REI0MFxcdURDNzR8XFx1REI0MFxcdURDNzdcXHVEQjQwXFx1REM2Q1xcdURCNDBcXHVEQzczKVxcdURCNDBcXHVEQzdGfFxcdUQ4M0RcXHVEQzY4KD86XFx1RDgzQ1xcdURGRkNcXHUyMDBEKD86XFx1RDgzRVxcdUREMURcXHUyMDBEXFx1RDgzRFxcdURDNjhcXHVEODNDXFx1REZGQnxcXHVEODNDW1xcdURGM0VcXHVERjczXFx1REY5M1xcdURGQTRcXHVERkE4XFx1REZFQlxcdURGRURdfFxcdUQ4M0RbXFx1RENCQlxcdURDQkNcXHVERDI3XFx1REQyQ1xcdURFODBcXHVERTkyXXxcXHVEODNFW1xcdUREQUYtXFx1RERCM1xcdUREQkNcXHVEREJEXSl8XFx1RDgzQ1xcdURGRkZcXHUyMDBEKD86XFx1RDgzRVxcdUREMURcXHUyMDBEXFx1RDgzRFxcdURDNjgoPzpcXHVEODNDW1xcdURGRkItXFx1REZGRV0pfFxcdUQ4M0NbXFx1REYzRVxcdURGNzNcXHVERjkzXFx1REZBNFxcdURGQThcXHVERkVCXFx1REZFRF18XFx1RDgzRFtcXHVEQ0JCXFx1RENCQ1xcdUREMjdcXHVERDJDXFx1REU4MFxcdURFOTJdfFxcdUQ4M0VbXFx1RERBRi1cXHVEREIzXFx1RERCQ1xcdUREQkRdKXxcXHVEODNDXFx1REZGRVxcdTIwMEQoPzpcXHVEODNFXFx1REQxRFxcdTIwMERcXHVEODNEXFx1REM2OCg/OlxcdUQ4M0NbXFx1REZGQi1cXHVERkZEXSl8XFx1RDgzQ1tcXHVERjNFXFx1REY3M1xcdURGOTNcXHVERkE0XFx1REZBOFxcdURGRUJcXHVERkVEXXxcXHVEODNEW1xcdURDQkJcXHVEQ0JDXFx1REQyN1xcdUREMkNcXHVERTgwXFx1REU5Ml18XFx1RDgzRVtcXHVEREFGLVxcdUREQjNcXHVEREJDXFx1RERCRF0pfFxcdUQ4M0NcXHVERkZEXFx1MjAwRCg/OlxcdUQ4M0VcXHVERDFEXFx1MjAwRFxcdUQ4M0RcXHVEQzY4KD86XFx1RDgzQ1tcXHVERkZCXFx1REZGQ10pfFxcdUQ4M0NbXFx1REYzRVxcdURGNzNcXHVERjkzXFx1REZBNFxcdURGQThcXHVERkVCXFx1REZFRF18XFx1RDgzRFtcXHVEQ0JCXFx1RENCQ1xcdUREMjdcXHVERDJDXFx1REU4MFxcdURFOTJdfFxcdUQ4M0VbXFx1RERBRi1cXHVEREIzXFx1RERCQ1xcdUREQkRdKXxcXHUyMDBEKD86XFx1Mjc2NFxcdUZFMEZcXHUyMDBEKD86XFx1RDgzRFxcdURDOEJcXHUyMDBEKT9cXHVEODNEXFx1REM2OHwoPzpcXHVEODNEW1xcdURDNjhcXHVEQzY5XSlcXHUyMDBEKD86XFx1RDgzRFxcdURDNjZcXHUyMDBEXFx1RDgzRFxcdURDNjZ8XFx1RDgzRFxcdURDNjdcXHUyMDBEKD86XFx1RDgzRFtcXHVEQzY2XFx1REM2N10pKXxcXHVEODNEXFx1REM2NlxcdTIwMERcXHVEODNEXFx1REM2NnxcXHVEODNEXFx1REM2N1xcdTIwMEQoPzpcXHVEODNEW1xcdURDNjZcXHVEQzY3XSl8KD86XFx1RDgzRFtcXHVEQzY4XFx1REM2OV0pXFx1MjAwRCg/OlxcdUQ4M0RbXFx1REM2NlxcdURDNjddKXxbXFx1MjY5NVxcdTI2OTZcXHUyNzA4XVxcdUZFMEZ8XFx1RDgzRFtcXHVEQzY2XFx1REM2N118XFx1RDgzQ1tcXHVERjNFXFx1REY3M1xcdURGOTNcXHVERkE0XFx1REZBOFxcdURGRUJcXHVERkVEXXxcXHVEODNEW1xcdURDQkJcXHVEQ0JDXFx1REQyN1xcdUREMkNcXHVERTgwXFx1REU5Ml18XFx1RDgzRVtcXHVEREFGLVxcdUREQjNcXHVEREJDXFx1RERCRF0pfCg/OlxcdUQ4M0NcXHVERkZCXFx1MjAwRFtcXHUyNjk1XFx1MjY5NlxcdTI3MDhdfFxcdUQ4M0NcXHVERkZGXFx1MjAwRFtcXHUyNjk1XFx1MjY5NlxcdTI3MDhdfFxcdUQ4M0NcXHVERkZFXFx1MjAwRFtcXHUyNjk1XFx1MjY5NlxcdTI3MDhdfFxcdUQ4M0NcXHVERkZEXFx1MjAwRFtcXHUyNjk1XFx1MjY5NlxcdTI3MDhdfFxcdUQ4M0NcXHVERkZDXFx1MjAwRFtcXHUyNjk1XFx1MjY5NlxcdTI3MDhdKVxcdUZFMEZ8XFx1RDgzQ1xcdURGRkJcXHUyMDBEKD86XFx1RDgzQ1tcXHVERjNFXFx1REY3M1xcdURGOTNcXHVERkE0XFx1REZBOFxcdURGRUJcXHVERkVEXXxcXHVEODNEW1xcdURDQkJcXHVEQ0JDXFx1REQyN1xcdUREMkNcXHVERTgwXFx1REU5Ml18XFx1RDgzRVtcXHVEREFGLVxcdUREQjNcXHVEREJDXFx1RERCRF0pfFxcdUQ4M0NbXFx1REZGQi1cXHVERkZGXSl8KD86XFx1RDgzRVxcdURERDFcXHVEODNDXFx1REZGQlxcdTIwMERcXHVEODNFXFx1REQxRFxcdTIwMERcXHVEODNFXFx1REREMXxcXHVEODNEXFx1REM2OVxcdUQ4M0NcXHVERkZDXFx1MjAwRFxcdUQ4M0VcXHVERDFEXFx1MjAwRFxcdUQ4M0RcXHVEQzY5KVxcdUQ4M0NcXHVERkZCfFxcdUQ4M0VcXHVEREQxKD86XFx1RDgzQ1xcdURGRkZcXHUyMDBEXFx1RDgzRVxcdUREMURcXHUyMDBEXFx1RDgzRVxcdURERDEoPzpcXHVEODNDW1xcdURGRkItXFx1REZGRl0pfFxcdTIwMERcXHVEODNFXFx1REQxRFxcdTIwMERcXHVEODNFXFx1REREMSl8KD86XFx1RDgzRVxcdURERDFcXHVEODNDXFx1REZGRVxcdTIwMERcXHVEODNFXFx1REQxRFxcdTIwMERcXHVEODNFXFx1REREMXxcXHVEODNEXFx1REM2OVxcdUQ4M0NcXHVERkZGXFx1MjAwRFxcdUQ4M0VcXHVERDFEXFx1MjAwRCg/OlxcdUQ4M0RbXFx1REM2OFxcdURDNjldKSkoPzpcXHVEODNDW1xcdURGRkItXFx1REZGRV0pfCg/OlxcdUQ4M0VcXHVEREQxXFx1RDgzQ1xcdURGRkNcXHUyMDBEXFx1RDgzRVxcdUREMURcXHUyMDBEXFx1RDgzRVxcdURERDF8XFx1RDgzRFxcdURDNjlcXHVEODNDXFx1REZGRFxcdTIwMERcXHVEODNFXFx1REQxRFxcdTIwMERcXHVEODNEXFx1REM2OSkoPzpcXHVEODNDW1xcdURGRkJcXHVERkZDXSl8XFx1RDgzRFxcdURDNjkoPzpcXHVEODNDXFx1REZGRVxcdTIwMEQoPzpcXHVEODNFXFx1REQxRFxcdTIwMERcXHVEODNEXFx1REM2OCg/OlxcdUQ4M0NbXFx1REZGQi1cXHVERkZEXFx1REZGRl0pfFxcdUQ4M0NbXFx1REYzRVxcdURGNzNcXHVERjkzXFx1REZBNFxcdURGQThcXHVERkVCXFx1REZFRF18XFx1RDgzRFtcXHVEQ0JCXFx1RENCQ1xcdUREMjdcXHVERDJDXFx1REU4MFxcdURFOTJdfFxcdUQ4M0VbXFx1RERBRi1cXHVEREIzXFx1RERCQ1xcdUREQkRdKXxcXHVEODNDXFx1REZGQ1xcdTIwMEQoPzpcXHVEODNFXFx1REQxRFxcdTIwMERcXHVEODNEXFx1REM2OCg/OlxcdUQ4M0NbXFx1REZGQlxcdURGRkQtXFx1REZGRl0pfFxcdUQ4M0NbXFx1REYzRVxcdURGNzNcXHVERjkzXFx1REZBNFxcdURGQThcXHVERkVCXFx1REZFRF18XFx1RDgzRFtcXHVEQ0JCXFx1RENCQ1xcdUREMjdcXHVERDJDXFx1REU4MFxcdURFOTJdfFxcdUQ4M0VbXFx1RERBRi1cXHVEREIzXFx1RERCQ1xcdUREQkRdKXxcXHVEODNDXFx1REZGQlxcdTIwMEQoPzpcXHVEODNFXFx1REQxRFxcdTIwMERcXHVEODNEXFx1REM2OCg/OlxcdUQ4M0NbXFx1REZGQy1cXHVERkZGXSl8XFx1RDgzQ1tcXHVERjNFXFx1REY3M1xcdURGOTNcXHVERkE0XFx1REZBOFxcdURGRUJcXHVERkVEXXxcXHVEODNEW1xcdURDQkJcXHVEQ0JDXFx1REQyN1xcdUREMkNcXHVERTgwXFx1REU5Ml18XFx1RDgzRVtcXHVEREFGLVxcdUREQjNcXHVEREJDXFx1RERCRF0pfFxcdUQ4M0NcXHVERkZEXFx1MjAwRCg/OlxcdUQ4M0VcXHVERDFEXFx1MjAwRFxcdUQ4M0RcXHVEQzY4KD86XFx1RDgzQ1tcXHVERkZCXFx1REZGQ1xcdURGRkVcXHVERkZGXSl8XFx1RDgzQ1tcXHVERjNFXFx1REY3M1xcdURGOTNcXHVERkE0XFx1REZBOFxcdURGRUJcXHVERkVEXXxcXHVEODNEW1xcdURDQkJcXHVEQ0JDXFx1REQyN1xcdUREMkNcXHVERTgwXFx1REU5Ml18XFx1RDgzRVtcXHVEREFGLVxcdUREQjNcXHVEREJDXFx1RERCRF0pfFxcdTIwMEQoPzpcXHUyNzY0XFx1RkUwRlxcdTIwMEQoPzpcXHVEODNEXFx1REM4QlxcdTIwMEQoPzpcXHVEODNEW1xcdURDNjhcXHVEQzY5XSl8XFx1RDgzRFtcXHVEQzY4XFx1REM2OV0pfFxcdUQ4M0NbXFx1REYzRVxcdURGNzNcXHVERjkzXFx1REZBNFxcdURGQThcXHVERkVCXFx1REZFRF18XFx1RDgzRFtcXHVEQ0JCXFx1RENCQ1xcdUREMjdcXHVERDJDXFx1REU4MFxcdURFOTJdfFxcdUQ4M0VbXFx1RERBRi1cXHVEREIzXFx1RERCQ1xcdUREQkRdKXxcXHVEODNDXFx1REZGRlxcdTIwMEQoPzpcXHVEODNDW1xcdURGM0VcXHVERjczXFx1REY5M1xcdURGQTRcXHVERkE4XFx1REZFQlxcdURGRURdfFxcdUQ4M0RbXFx1RENCQlxcdURDQkNcXHVERDI3XFx1REQyQ1xcdURFODBcXHVERTkyXXxcXHVEODNFW1xcdUREQUYtXFx1RERCM1xcdUREQkNcXHVEREJEXSkpfFxcdUQ4M0RcXHVEQzY5XFx1MjAwRFxcdUQ4M0RcXHVEQzY5XFx1MjAwRCg/OlxcdUQ4M0RcXHVEQzY2XFx1MjAwRFxcdUQ4M0RcXHVEQzY2fFxcdUQ4M0RcXHVEQzY3XFx1MjAwRCg/OlxcdUQ4M0RbXFx1REM2NlxcdURDNjddKSl8KD86XFx1RDgzRVxcdURERDFcXHVEODNDXFx1REZGRFxcdTIwMERcXHVEODNFXFx1REQxRFxcdTIwMERcXHVEODNFXFx1REREMXxcXHVEODNEXFx1REM2OVxcdUQ4M0NcXHVERkZFXFx1MjAwRFxcdUQ4M0VcXHVERDFEXFx1MjAwRFxcdUQ4M0RcXHVEQzY5KSg/OlxcdUQ4M0NbXFx1REZGQi1cXHVERkZEXSl8XFx1RDgzRFxcdURDNjlcXHUyMDBEXFx1RDgzRFxcdURDNjZcXHUyMDBEXFx1RDgzRFxcdURDNjZ8XFx1RDgzRFxcdURDNjlcXHUyMDBEXFx1RDgzRFxcdURDNjlcXHUyMDBEKD86XFx1RDgzRFtcXHVEQzY2XFx1REM2N10pfCg/OlxcdUQ4M0RcXHVEQzQxXFx1RkUwRlxcdTIwMERcXHVEODNEXFx1RERFOHxcXHVEODNEXFx1REM2OSg/OlxcdUQ4M0NcXHVERkZGXFx1MjAwRFtcXHUyNjk1XFx1MjY5NlxcdTI3MDhdfFxcdUQ4M0NcXHVERkZFXFx1MjAwRFtcXHUyNjk1XFx1MjY5NlxcdTI3MDhdfFxcdUQ4M0NcXHVERkZDXFx1MjAwRFtcXHUyNjk1XFx1MjY5NlxcdTI3MDhdfFxcdUQ4M0NcXHVERkZCXFx1MjAwRFtcXHUyNjk1XFx1MjY5NlxcdTI3MDhdfFxcdUQ4M0NcXHVERkZEXFx1MjAwRFtcXHUyNjk1XFx1MjY5NlxcdTI3MDhdfFxcdTIwMERbXFx1MjY5NVxcdTI2OTZcXHUyNzA4XSl8KD86KD86XFx1MjZGOXxcXHVEODNDW1xcdURGQ0JcXHVERkNDXXxcXHVEODNEXFx1REQ3NSlcXHVGRTBGfFxcdUQ4M0RcXHVEQzZGfFxcdUQ4M0VbXFx1REQzQ1xcdUREREVcXHVERERGXSlcXHUyMDBEW1xcdTI2NDBcXHUyNjQyXXwoPzpcXHUyNkY5fFxcdUQ4M0NbXFx1REZDQlxcdURGQ0NdfFxcdUQ4M0RcXHVERDc1KSg/OlxcdUQ4M0NbXFx1REZGQi1cXHVERkZGXSlcXHUyMDBEW1xcdTI2NDBcXHUyNjQyXXwoPzpcXHVEODNDW1xcdURGQzNcXHVERkM0XFx1REZDQV18XFx1RDgzRFtcXHVEQzZFXFx1REM3MVxcdURDNzNcXHVEQzc3XFx1REM4MVxcdURDODJcXHVEQzg2XFx1REM4N1xcdURFNDUtXFx1REU0N1xcdURFNEJcXHVERTREXFx1REU0RVxcdURFQTNcXHVERUI0LVxcdURFQjZdfFxcdUQ4M0VbXFx1REQyNlxcdUREMzctXFx1REQzOVxcdUREM0RcXHVERDNFXFx1RERCOFxcdUREQjlcXHVERENELVxcdUREQ0ZcXHVEREQ2LVxcdURERERdKSg/Oig/OlxcdUQ4M0NbXFx1REZGQi1cXHVERkZGXSlcXHUyMDBEW1xcdTI2NDBcXHUyNjQyXXxcXHUyMDBEW1xcdTI2NDBcXHUyNjQyXSl8XFx1RDgzQ1xcdURGRjRcXHUyMDBEXFx1MjYyMClcXHVGRTBGfFxcdUQ4M0RcXHVEQzY5XFx1MjAwRFxcdUQ4M0RcXHVEQzY3XFx1MjAwRCg/OlxcdUQ4M0RbXFx1REM2NlxcdURDNjddKXxcXHVEODNDXFx1REZGM1xcdUZFMEZcXHUyMDBEXFx1RDgzQ1xcdURGMDh8XFx1RDgzRFxcdURDMTVcXHUyMDBEXFx1RDgzRVxcdUREQkF8XFx1RDgzRFxcdURDNjlcXHUyMDBEXFx1RDgzRFxcdURDNjZ8XFx1RDgzRFxcdURDNjlcXHUyMDBEXFx1RDgzRFxcdURDNjd8XFx1RDgzQ1xcdURERkRcXHVEODNDXFx1RERGMHxcXHVEODNDXFx1RERGNFxcdUQ4M0NcXHVEREYyfFxcdUQ4M0NcXHVEREY2XFx1RDgzQ1xcdURERTZ8WyNcXCowLTldXFx1RkUwRlxcdTIwRTN8XFx1RDgzQ1xcdURERTcoPzpcXHVEODNDW1xcdURERTZcXHVEREU3XFx1RERFOS1cXHVEREVGXFx1RERGMS1cXHVEREY0XFx1RERGNi1cXHVEREY5XFx1RERGQlxcdURERkNcXHVEREZFXFx1RERGRl0pfFxcdUQ4M0NcXHVEREY5KD86XFx1RDgzQ1tcXHVEREU2XFx1RERFOFxcdURERTlcXHVEREVCLVxcdURERURcXHVEREVGLVxcdURERjRcXHVEREY3XFx1RERGOVxcdURERkJcXHVEREZDXFx1RERGRl0pfFxcdUQ4M0NcXHVEREVBKD86XFx1RDgzQ1tcXHVEREU2XFx1RERFOFxcdURERUFcXHVEREVDXFx1RERFRFxcdURERjctXFx1RERGQV0pfFxcdUQ4M0VcXHVEREQxKD86XFx1RDgzQ1tcXHVERkZCLVxcdURGRkZdKXxcXHVEODNDXFx1RERGNyg/OlxcdUQ4M0NbXFx1RERFQVxcdURERjRcXHVEREY4XFx1RERGQVxcdURERkNdKXxcXHVEODNEXFx1REM2OSg/OlxcdUQ4M0NbXFx1REZGQi1cXHVERkZGXSl8XFx1RDgzQ1xcdURERjIoPzpcXHVEODNDW1xcdURERTZcXHVEREU4LVxcdURERURcXHVEREYwLVxcdURERkZdKXxcXHVEODNDXFx1RERFNig/OlxcdUQ4M0NbXFx1RERFOC1cXHVEREVDXFx1RERFRVxcdURERjFcXHVEREYyXFx1RERGNFxcdURERjYtXFx1RERGQVxcdURERkNcXHVEREZEXFx1RERGRl0pfFxcdUQ4M0NcXHVEREYwKD86XFx1RDgzQ1tcXHVEREVBXFx1RERFQy1cXHVEREVFXFx1RERGMlxcdURERjNcXHVEREY1XFx1RERGN1xcdURERkNcXHVEREZFXFx1RERGRl0pfFxcdUQ4M0NcXHVEREVEKD86XFx1RDgzQ1tcXHVEREYwXFx1RERGMlxcdURERjNcXHVEREY3XFx1RERGOVxcdURERkFdKXxcXHVEODNDXFx1RERFOSg/OlxcdUQ4M0NbXFx1RERFQVxcdURERUNcXHVEREVGXFx1RERGMFxcdURERjJcXHVEREY0XFx1RERGRl0pfFxcdUQ4M0NcXHVEREZFKD86XFx1RDgzQ1tcXHVEREVBXFx1RERGOV0pfFxcdUQ4M0NcXHVEREVDKD86XFx1RDgzQ1tcXHVEREU2XFx1RERFN1xcdURERTktXFx1RERFRVxcdURERjEtXFx1RERGM1xcdURERjUtXFx1RERGQVxcdURERkNcXHVEREZFXSl8XFx1RDgzQ1xcdURERjgoPzpcXHVEODNDW1xcdURERTYtXFx1RERFQVxcdURERUMtXFx1RERGNFxcdURERjctXFx1RERGOVxcdURERkJcXHVEREZELVxcdURERkZdKXxcXHVEODNDXFx1RERFQig/OlxcdUQ4M0NbXFx1RERFRS1cXHVEREYwXFx1RERGMlxcdURERjRcXHVEREY3XSl8XFx1RDgzQ1xcdURERjUoPzpcXHVEODNDW1xcdURERTZcXHVEREVBLVxcdURERURcXHVEREYwLVxcdURERjNcXHVEREY3LVxcdURERjlcXHVEREZDXFx1RERGRV0pfFxcdUQ4M0NcXHVEREZCKD86XFx1RDgzQ1tcXHVEREU2XFx1RERFOFxcdURERUFcXHVEREVDXFx1RERFRVxcdURERjNcXHVEREZBXSl8XFx1RDgzQ1xcdURERjMoPzpcXHVEODNDW1xcdURERTZcXHVEREU4XFx1RERFQS1cXHVEREVDXFx1RERFRVxcdURERjFcXHVEREY0XFx1RERGNVxcdURERjdcXHVEREZBXFx1RERGRl0pfFxcdUQ4M0NcXHVEREU4KD86XFx1RDgzQ1tcXHVEREU2XFx1RERFOFxcdURERTlcXHVEREVCLVxcdURERUVcXHVEREYwLVxcdURERjVcXHVEREY3XFx1RERGQS1cXHVEREZGXSl8XFx1RDgzQ1xcdURERjEoPzpcXHVEODNDW1xcdURERTYtXFx1RERFOFxcdURERUVcXHVEREYwXFx1RERGNy1cXHVEREZCXFx1RERGRV0pfFxcdUQ4M0NcXHVEREZGKD86XFx1RDgzQ1tcXHVEREU2XFx1RERGMlxcdURERkNdKXxcXHVEODNDXFx1RERGQyg/OlxcdUQ4M0NbXFx1RERFQlxcdURERjhdKXxcXHVEODNDXFx1RERGQSg/OlxcdUQ4M0NbXFx1RERFNlxcdURERUNcXHVEREYyXFx1RERGM1xcdURERjhcXHVEREZFXFx1RERGRl0pfFxcdUQ4M0NcXHVEREVFKD86XFx1RDgzQ1tcXHVEREU4LVxcdURERUFcXHVEREYxLVxcdURERjRcXHVEREY2LVxcdURERjldKXxcXHVEODNDXFx1RERFRig/OlxcdUQ4M0NbXFx1RERFQVxcdURERjJcXHVEREY0XFx1RERGNV0pfCg/OlxcdUQ4M0NbXFx1REZDM1xcdURGQzRcXHVERkNBXXxcXHVEODNEW1xcdURDNkVcXHVEQzcxXFx1REM3M1xcdURDNzdcXHVEQzgxXFx1REM4MlxcdURDODZcXHVEQzg3XFx1REU0NS1cXHVERTQ3XFx1REU0QlxcdURFNERcXHVERTRFXFx1REVBM1xcdURFQjQtXFx1REVCNl18XFx1RDgzRVtcXHVERDI2XFx1REQzNy1cXHVERDM5XFx1REQzRFxcdUREM0VcXHVEREI4XFx1RERCOVxcdUREQ0QtXFx1RERDRlxcdURERDYtXFx1RERERF0pKD86XFx1RDgzQ1tcXHVERkZCLVxcdURGRkZdKXwoPzpcXHUyNkY5fFxcdUQ4M0NbXFx1REZDQlxcdURGQ0NdfFxcdUQ4M0RcXHVERDc1KSg/OlxcdUQ4M0NbXFx1REZGQi1cXHVERkZGXSl8KD86W1xcdTI2MURcXHUyNzBBLVxcdTI3MERdfFxcdUQ4M0NbXFx1REY4NVxcdURGQzJcXHVERkM3XXxcXHVEODNEW1xcdURDNDJcXHVEQzQzXFx1REM0Ni1cXHVEQzUwXFx1REM2NlxcdURDNjdcXHVEQzZCLVxcdURDNkRcXHVEQzcwXFx1REM3MlxcdURDNzQtXFx1REM3NlxcdURDNzhcXHVEQzdDXFx1REM4M1xcdURDODVcXHVEQ0FBXFx1REQ3NFxcdUREN0FcXHVERDkwXFx1REQ5NVxcdUREOTZcXHVERTRDXFx1REU0RlxcdURFQzBcXHVERUNDXXxcXHVEODNFW1xcdUREMEZcXHVERDE4LVxcdUREMUNcXHVERDFFXFx1REQxRlxcdUREMzAtXFx1REQzNlxcdUREQjVcXHVEREI2XFx1RERCQlxcdURERDItXFx1RERENV0pKD86XFx1RDgzQ1tcXHVERkZCLVxcdURGRkZdKXwoPzpbXFx1MjMxQVxcdTIzMUJcXHUyM0U5LVxcdTIzRUNcXHUyM0YwXFx1MjNGM1xcdTI1RkRcXHUyNUZFXFx1MjYxNFxcdTI2MTVcXHUyNjQ4LVxcdTI2NTNcXHUyNjdGXFx1MjY5M1xcdTI2QTFcXHUyNkFBXFx1MjZBQlxcdTI2QkRcXHUyNkJFXFx1MjZDNFxcdTI2QzVcXHUyNkNFXFx1MjZENFxcdTI2RUFcXHUyNkYyXFx1MjZGM1xcdTI2RjVcXHUyNkZBXFx1MjZGRFxcdTI3MDVcXHUyNzBBXFx1MjcwQlxcdTI3MjhcXHUyNzRDXFx1Mjc0RVxcdTI3NTMtXFx1Mjc1NVxcdTI3NTdcXHUyNzk1LVxcdTI3OTdcXHUyN0IwXFx1MjdCRlxcdTJCMUJcXHUyQjFDXFx1MkI1MFxcdTJCNTVdfFxcdUQ4M0NbXFx1REMwNFxcdURDQ0ZcXHVERDhFXFx1REQ5MS1cXHVERDlBXFx1RERFNi1cXHVEREZGXFx1REUwMVxcdURFMUFcXHVERTJGXFx1REUzMi1cXHVERTM2XFx1REUzOC1cXHVERTNBXFx1REU1MFxcdURFNTFcXHVERjAwLVxcdURGMjBcXHVERjJELVxcdURGMzVcXHVERjM3LVxcdURGN0NcXHVERjdFLVxcdURGOTNcXHVERkEwLVxcdURGQ0FcXHVERkNGLVxcdURGRDNcXHVERkUwLVxcdURGRjBcXHVERkY0XFx1REZGOC1cXHVERkZGXXxcXHVEODNEW1xcdURDMDAtXFx1REMzRVxcdURDNDBcXHVEQzQyLVxcdURDRkNcXHVEQ0ZGLVxcdUREM0RcXHVERDRCLVxcdURENEVcXHVERDUwLVxcdURENjdcXHVERDdBXFx1REQ5NVxcdUREOTZcXHVEREE0XFx1RERGQi1cXHVERTRGXFx1REU4MC1cXHVERUM1XFx1REVDQ1xcdURFRDAtXFx1REVEMlxcdURFRDVcXHVERUVCXFx1REVFQ1xcdURFRjQtXFx1REVGQVxcdURGRTAtXFx1REZFQl18XFx1RDgzRVtcXHVERDBELVxcdUREM0FcXHVERDNDLVxcdURENDVcXHVERDQ3LVxcdURENzFcXHVERDczLVxcdURENzZcXHVERDdBLVxcdUREQTJcXHVEREE1LVxcdUREQUFcXHVEREFFLVxcdUREQ0FcXHVERENELVxcdURERkZcXHVERTcwLVxcdURFNzNcXHVERTc4LVxcdURFN0FcXHVERTgwLVxcdURFODJcXHVERTkwLVxcdURFOTVdKXwoPzpbI1xcKjAtOVxceEE5XFx4QUVcXHUyMDNDXFx1MjA0OVxcdTIxMjJcXHUyMTM5XFx1MjE5NC1cXHUyMTk5XFx1MjFBOVxcdTIxQUFcXHUyMzFBXFx1MjMxQlxcdTIzMjhcXHUyM0NGXFx1MjNFOS1cXHUyM0YzXFx1MjNGOC1cXHUyM0ZBXFx1MjRDMlxcdTI1QUFcXHUyNUFCXFx1MjVCNlxcdTI1QzBcXHUyNUZCLVxcdTI1RkVcXHUyNjAwLVxcdTI2MDRcXHUyNjBFXFx1MjYxMVxcdTI2MTRcXHUyNjE1XFx1MjYxOFxcdTI2MURcXHUyNjIwXFx1MjYyMlxcdTI2MjNcXHUyNjI2XFx1MjYyQVxcdTI2MkVcXHUyNjJGXFx1MjYzOC1cXHUyNjNBXFx1MjY0MFxcdTI2NDJcXHUyNjQ4LVxcdTI2NTNcXHUyNjVGXFx1MjY2MFxcdTI2NjNcXHUyNjY1XFx1MjY2NlxcdTI2NjhcXHUyNjdCXFx1MjY3RVxcdTI2N0ZcXHUyNjkyLVxcdTI2OTdcXHUyNjk5XFx1MjY5QlxcdTI2OUNcXHUyNkEwXFx1MjZBMVxcdTI2QUFcXHUyNkFCXFx1MjZCMFxcdTI2QjFcXHUyNkJEXFx1MjZCRVxcdTI2QzRcXHUyNkM1XFx1MjZDOFxcdTI2Q0VcXHUyNkNGXFx1MjZEMVxcdTI2RDNcXHUyNkQ0XFx1MjZFOVxcdTI2RUFcXHUyNkYwLVxcdTI2RjVcXHUyNkY3LVxcdTI2RkFcXHUyNkZEXFx1MjcwMlxcdTI3MDVcXHUyNzA4LVxcdTI3MERcXHUyNzBGXFx1MjcxMlxcdTI3MTRcXHUyNzE2XFx1MjcxRFxcdTI3MjFcXHUyNzI4XFx1MjczM1xcdTI3MzRcXHUyNzQ0XFx1Mjc0N1xcdTI3NENcXHUyNzRFXFx1Mjc1My1cXHUyNzU1XFx1Mjc1N1xcdTI3NjNcXHUyNzY0XFx1Mjc5NS1cXHUyNzk3XFx1MjdBMVxcdTI3QjBcXHUyN0JGXFx1MjkzNFxcdTI5MzVcXHUyQjA1LVxcdTJCMDdcXHUyQjFCXFx1MkIxQ1xcdTJCNTBcXHUyQjU1XFx1MzAzMFxcdTMwM0RcXHUzMjk3XFx1MzI5OV18XFx1RDgzQ1tcXHVEQzA0XFx1RENDRlxcdURENzBcXHVERDcxXFx1REQ3RVxcdUREN0ZcXHVERDhFXFx1REQ5MS1cXHVERDlBXFx1RERFNi1cXHVEREZGXFx1REUwMVxcdURFMDJcXHVERTFBXFx1REUyRlxcdURFMzItXFx1REUzQVxcdURFNTBcXHVERTUxXFx1REYwMC1cXHVERjIxXFx1REYyNC1cXHVERjkzXFx1REY5NlxcdURGOTdcXHVERjk5LVxcdURGOUJcXHVERjlFLVxcdURGRjBcXHVERkYzLVxcdURGRjVcXHVERkY3LVxcdURGRkZdfFxcdUQ4M0RbXFx1REMwMC1cXHVEQ0ZEXFx1RENGRi1cXHVERDNEXFx1REQ0OS1cXHVERDRFXFx1REQ1MC1cXHVERDY3XFx1REQ2RlxcdURENzBcXHVERDczLVxcdUREN0FcXHVERDg3XFx1REQ4QS1cXHVERDhEXFx1REQ5MFxcdUREOTVcXHVERDk2XFx1RERBNFxcdUREQTVcXHVEREE4XFx1RERCMVxcdUREQjJcXHVEREJDXFx1RERDMi1cXHVEREM0XFx1REREMS1cXHVEREQzXFx1REREQy1cXHVERERFXFx1RERFMVxcdURERTNcXHVEREU4XFx1RERFRlxcdURERjNcXHVEREZBLVxcdURFNEZcXHVERTgwLVxcdURFQzVcXHVERUNCLVxcdURFRDJcXHVERUQ1XFx1REVFMC1cXHVERUU1XFx1REVFOVxcdURFRUJcXHVERUVDXFx1REVGMFxcdURFRjMtXFx1REVGQVxcdURGRTAtXFx1REZFQl18XFx1RDgzRVtcXHVERDBELVxcdUREM0FcXHVERDNDLVxcdURENDVcXHVERDQ3LVxcdURENzFcXHVERDczLVxcdURENzZcXHVERDdBLVxcdUREQTJcXHVEREE1LVxcdUREQUFcXHVEREFFLVxcdUREQ0FcXHVERENELVxcdURERkZcXHVERTcwLVxcdURFNzNcXHVERTc4LVxcdURFN0FcXHVERTgwLVxcdURFODJcXHVERTkwLVxcdURFOTVdKVxcdUZFMEZ8KD86W1xcdTI2MURcXHUyNkY5XFx1MjcwQS1cXHUyNzBEXXxcXHVEODNDW1xcdURGODVcXHVERkMyLVxcdURGQzRcXHVERkM3XFx1REZDQS1cXHVERkNDXXxcXHVEODNEW1xcdURDNDJcXHVEQzQzXFx1REM0Ni1cXHVEQzUwXFx1REM2Ni1cXHVEQzc4XFx1REM3Q1xcdURDODEtXFx1REM4M1xcdURDODUtXFx1REM4N1xcdURDOEZcXHVEQzkxXFx1RENBQVxcdURENzRcXHVERDc1XFx1REQ3QVxcdUREOTBcXHVERDk1XFx1REQ5NlxcdURFNDUtXFx1REU0N1xcdURFNEItXFx1REU0RlxcdURFQTNcXHVERUI0LVxcdURFQjZcXHVERUMwXFx1REVDQ118XFx1RDgzRVtcXHVERDBGXFx1REQxOC1cXHVERDFGXFx1REQyNlxcdUREMzAtXFx1REQzOVxcdUREM0MtXFx1REQzRVxcdUREQjVcXHVEREI2XFx1RERCOFxcdUREQjlcXHVEREJCXFx1RERDRC1cXHVERENGXFx1REREMS1cXHVEREREXSkvZztcbn07XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/emoji-regex/index.js\n"); /***/ }), /***/ "./node_modules/emotion-theming/dist/emotion-theming.browser.esm.js": /*!**************************************************************************!*\ !*** ./node_modules/emotion-theming/dist/emotion-theming.browser.esm.js ***! \**************************************************************************/ /*! exports provided: ThemeProvider, useTheme, withTheme */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ThemeProvider\", function() { return ThemeProvider; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"useTheme\", function() { return useTheme; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"withTheme\", function() { return withTheme; });\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ \"./node_modules/emotion-theming/node_modules/@babel/runtime/helpers/defineProperty.js\");\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _emotion_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @emotion/core */ \"./node_modules/@emotion/core/dist/core.browser.esm.js\");\n/* harmony import */ var _emotion_weak_memoize__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @emotion/weak-memoize */ \"./node_modules/@emotion/weak-memoize/dist/weak-memoize.browser.esm.js\");\n/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/emotion-theming/node_modules/@babel/runtime/helpers/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! hoist-non-react-statics */ \"./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js\");\n/* harmony import */ var hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_5__);\n\n\n\n\n\n\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nvar getTheme = function getTheme(outerTheme, theme) {\n if (typeof theme === 'function') {\n var mergedTheme = theme(outerTheme);\n\n if ( true && (mergedTheme == null || typeof mergedTheme !== 'object' || Array.isArray(mergedTheme))) {\n throw new Error('[ThemeProvider] Please return an object from your theme function, i.e. theme={() => ({})}!');\n }\n\n return mergedTheme;\n }\n\n if ( true && (theme == null || typeof theme !== 'object' || Array.isArray(theme))) {\n throw new Error('[ThemeProvider] Please make your theme prop a plain object');\n }\n\n return _objectSpread({}, outerTheme, {}, theme);\n};\n\nvar createCacheWithTheme = Object(_emotion_weak_memoize__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(function (outerTheme) {\n return Object(_emotion_weak_memoize__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(function (theme) {\n return getTheme(outerTheme, theme);\n });\n});\n\nvar ThemeProvider = function ThemeProvider(props) {\n return Object(react__WEBPACK_IMPORTED_MODULE_1__[\"createElement\"])(_emotion_core__WEBPACK_IMPORTED_MODULE_2__[\"ThemeContext\"].Consumer, null, function (theme) {\n if (props.theme !== theme) {\n theme = createCacheWithTheme(theme)(props.theme);\n }\n\n return Object(react__WEBPACK_IMPORTED_MODULE_1__[\"createElement\"])(_emotion_core__WEBPACK_IMPORTED_MODULE_2__[\"ThemeContext\"].Provider, {\n value: theme\n }, props.children);\n });\n};\n\n// should we change this to be forwardRef/withCSSContext style so it doesn't merge with props?\nfunction withTheme(Component) {\n var componentName = Component.displayName || Component.name || 'Component';\n\n var render = function render(props, ref) {\n return Object(react__WEBPACK_IMPORTED_MODULE_1__[\"createElement\"])(_emotion_core__WEBPACK_IMPORTED_MODULE_2__[\"ThemeContext\"].Consumer, null, function (theme) {\n return Object(react__WEBPACK_IMPORTED_MODULE_1__[\"createElement\"])(Component, _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_4___default()({\n theme: theme,\n ref: ref\n }, props));\n });\n }; // $FlowFixMe\n\n\n var WithTheme = Object(react__WEBPACK_IMPORTED_MODULE_1__[\"forwardRef\"])(render);\n WithTheme.displayName = \"WithTheme(\" + componentName + \")\";\n return hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_5___default()(WithTheme, Component);\n}\n\nfunction useTheme() {\n return react__WEBPACK_IMPORTED_MODULE_1___default.a.useContext(_emotion_core__WEBPACK_IMPORTED_MODULE_2__[\"ThemeContext\"]);\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZW1vdGlvbi10aGVtaW5nL2Rpc3QvZW1vdGlvbi10aGVtaW5nLmJyb3dzZXIuZXNtLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Vtb3Rpb24tdGhlbWluZy9kaXN0L2Vtb3Rpb24tdGhlbWluZy5icm93c2VyLmVzbS5qcz9jMGI0Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfZGVmaW5lUHJvcGVydHkgZnJvbSAnQGJhYmVsL3J1bnRpbWUvaGVscGVycy9kZWZpbmVQcm9wZXJ0eSc7XG5pbXBvcnQgUmVhY3RfX2RlZmF1bHQsIHsgY3JlYXRlRWxlbWVudCwgZm9yd2FyZFJlZiB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IFRoZW1lQ29udGV4dCB9IGZyb20gJ0BlbW90aW9uL2NvcmUnO1xuaW1wb3J0IHdlYWtNZW1vaXplIGZyb20gJ0BlbW90aW9uL3dlYWstbWVtb2l6ZSc7XG5pbXBvcnQgX2V4dGVuZHMgZnJvbSAnQGJhYmVsL3J1bnRpbWUvaGVscGVycy9leHRlbmRzJztcbmltcG9ydCBob2lzdE5vblJlYWN0U3RhdGljcyBmcm9tICdob2lzdC1ub24tcmVhY3Qtc3RhdGljcyc7XG5cbmZ1bmN0aW9uIG93bktleXMob2JqZWN0LCBlbnVtZXJhYmxlT25seSkgeyB2YXIga2V5cyA9IE9iamVjdC5rZXlzKG9iamVjdCk7IGlmIChPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKSB7IHZhciBzeW1ib2xzID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhvYmplY3QpOyBpZiAoZW51bWVyYWJsZU9ubHkpIHN5bWJvbHMgPSBzeW1ib2xzLmZpbHRlcihmdW5jdGlvbiAoc3ltKSB7IHJldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iamVjdCwgc3ltKS5lbnVtZXJhYmxlOyB9KTsga2V5cy5wdXNoLmFwcGx5KGtleXMsIHN5bWJvbHMpOyB9IHJldHVybiBrZXlzOyB9XG5cbmZ1bmN0aW9uIF9vYmplY3RTcHJlYWQodGFyZ2V0KSB7IGZvciAodmFyIGkgPSAxOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7IHZhciBzb3VyY2UgPSBhcmd1bWVudHNbaV0gIT0gbnVsbCA/IGFyZ3VtZW50c1tpXSA6IHt9OyBpZiAoaSAlIDIpIHsgb3duS2V5cyhzb3VyY2UsIHRydWUpLmZvckVhY2goZnVuY3Rpb24gKGtleSkgeyBfZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIHNvdXJjZVtrZXldKTsgfSk7IH0gZWxzZSBpZiAoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMpIHsgT2JqZWN0LmRlZmluZVByb3BlcnRpZXModGFyZ2V0LCBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyhzb3VyY2UpKTsgfSBlbHNlIHsgb3duS2V5cyhzb3VyY2UpLmZvckVhY2goZnVuY3Rpb24gKGtleSkgeyBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Ioc291cmNlLCBrZXkpKTsgfSk7IH0gfSByZXR1cm4gdGFyZ2V0OyB9XG5cbnZhciBnZXRUaGVtZSA9IGZ1bmN0aW9uIGdldFRoZW1lKG91dGVyVGhlbWUsIHRoZW1lKSB7XG4gIGlmICh0eXBlb2YgdGhlbWUgPT09ICdmdW5jdGlvbicpIHtcbiAgICB2YXIgbWVyZ2VkVGhlbWUgPSB0aGVtZShvdXRlclRoZW1lKTtcblxuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIChtZXJnZWRUaGVtZSA9PSBudWxsIHx8IHR5cGVvZiBtZXJnZWRUaGVtZSAhPT0gJ29iamVjdCcgfHwgQXJyYXkuaXNBcnJheShtZXJnZWRUaGVtZSkpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1tUaGVtZVByb3ZpZGVyXSBQbGVhc2UgcmV0dXJuIGFuIG9iamVjdCBmcm9tIHlvdXIgdGhlbWUgZnVuY3Rpb24sIGkuZS4gdGhlbWU9eygpID0+ICh7fSl9IScpO1xuICAgIH1cblxuICAgIHJldHVybiBtZXJnZWRUaGVtZTtcbiAgfVxuXG4gIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmICh0aGVtZSA9PSBudWxsIHx8IHR5cGVvZiB0aGVtZSAhPT0gJ29iamVjdCcgfHwgQXJyYXkuaXNBcnJheSh0aGVtZSkpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdbVGhlbWVQcm92aWRlcl0gUGxlYXNlIG1ha2UgeW91ciB0aGVtZSBwcm9wIGEgcGxhaW4gb2JqZWN0Jyk7XG4gIH1cblxuICByZXR1cm4gX29iamVjdFNwcmVhZCh7fSwgb3V0ZXJUaGVtZSwge30sIHRoZW1lKTtcbn07XG5cbnZhciBjcmVhdGVDYWNoZVdpdGhUaGVtZSA9IHdlYWtNZW1vaXplKGZ1bmN0aW9uIChvdXRlclRoZW1lKSB7XG4gIHJldHVybiB3ZWFrTWVtb2l6ZShmdW5jdGlvbiAodGhlbWUpIHtcbiAgICByZXR1cm4gZ2V0VGhlbWUob3V0ZXJUaGVtZSwgdGhlbWUpO1xuICB9KTtcbn0pO1xuXG52YXIgVGhlbWVQcm92aWRlciA9IGZ1bmN0aW9uIFRoZW1lUHJvdmlkZXIocHJvcHMpIHtcbiAgcmV0dXJuIGNyZWF0ZUVsZW1lbnQoVGhlbWVDb250ZXh0LkNvbnN1bWVyLCBudWxsLCBmdW5jdGlvbiAodGhlbWUpIHtcbiAgICBpZiAocHJvcHMudGhlbWUgIT09IHRoZW1lKSB7XG4gICAgICB0aGVtZSA9IGNyZWF0ZUNhY2hlV2l0aFRoZW1lKHRoZW1lKShwcm9wcy50aGVtZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNyZWF0ZUVsZW1lbnQoVGhlbWVDb250ZXh0LlByb3ZpZGVyLCB7XG4gICAgICB2YWx1ZTogdGhlbWVcbiAgICB9LCBwcm9wcy5jaGlsZHJlbik7XG4gIH0pO1xufTtcblxuLy8gc2hvdWxkIHdlIGNoYW5nZSB0aGlzIHRvIGJlIGZvcndhcmRSZWYvd2l0aENTU0NvbnRleHQgc3R5bGUgc28gaXQgZG9lc24ndCBtZXJnZSB3aXRoIHByb3BzP1xuZnVuY3Rpb24gd2l0aFRoZW1lKENvbXBvbmVudCkge1xuICB2YXIgY29tcG9uZW50TmFtZSA9IENvbXBvbmVudC5kaXNwbGF5TmFtZSB8fCBDb21wb25lbnQubmFtZSB8fCAnQ29tcG9uZW50JztcblxuICB2YXIgcmVuZGVyID0gZnVuY3Rpb24gcmVuZGVyKHByb3BzLCByZWYpIHtcbiAgICByZXR1cm4gY3JlYXRlRWxlbWVudChUaGVtZUNvbnRleHQuQ29uc3VtZXIsIG51bGwsIGZ1bmN0aW9uICh0aGVtZSkge1xuICAgICAgcmV0dXJuIGNyZWF0ZUVsZW1lbnQoQ29tcG9uZW50LCBfZXh0ZW5kcyh7XG4gICAgICAgIHRoZW1lOiB0aGVtZSxcbiAgICAgICAgcmVmOiByZWZcbiAgICAgIH0sIHByb3BzKSk7XG4gICAgfSk7XG4gIH07IC8vICRGbG93Rml4TWVcblxuXG4gIHZhciBXaXRoVGhlbWUgPSBmb3J3YXJkUmVmKHJlbmRlcik7XG4gIFdpdGhUaGVtZS5kaXNwbGF5TmFtZSA9IFwiV2l0aFRoZW1lKFwiICsgY29tcG9uZW50TmFtZSArIFwiKVwiO1xuICByZXR1cm4gaG9pc3ROb25SZWFjdFN0YXRpY3MoV2l0aFRoZW1lLCBDb21wb25lbnQpO1xufVxuXG5mdW5jdGlvbiB1c2VUaGVtZSgpIHtcbiAgcmV0dXJuIFJlYWN0X19kZWZhdWx0LnVzZUNvbnRleHQoVGhlbWVDb250ZXh0KTtcbn1cblxuZXhwb3J0IHsgVGhlbWVQcm92aWRlciwgdXNlVGhlbWUsIHdpdGhUaGVtZSB9O1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/emotion-theming/dist/emotion-theming.browser.esm.js\n"); /***/ }), /***/ "./node_modules/emotion-theming/node_modules/@babel/runtime/helpers/defineProperty.js": /*!********************************************************************************************!*\ !*** ./node_modules/emotion-theming/node_modules/@babel/runtime/helpers/defineProperty.js ***! \********************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { eval("function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nmodule.exports = _defineProperty;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZW1vdGlvbi10aGVtaW5nL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2RlZmluZVByb3BlcnR5LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Vtb3Rpb24tdGhlbWluZy9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9kZWZpbmVQcm9wZXJ0eS5qcz8yNWVmIl0sInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgdmFsdWUpIHtcbiAgaWYgKGtleSBpbiBvYmopIHtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHtcbiAgICAgIHZhbHVlOiB2YWx1ZSxcbiAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICB3cml0YWJsZTogdHJ1ZVxuICAgIH0pO1xuICB9IGVsc2Uge1xuICAgIG9ialtrZXldID0gdmFsdWU7XG4gIH1cblxuICByZXR1cm4gb2JqO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IF9kZWZpbmVQcm9wZXJ0eTsiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/emotion-theming/node_modules/@babel/runtime/helpers/defineProperty.js\n"); /***/ }), /***/ "./node_modules/emotion-theming/node_modules/@babel/runtime/helpers/extends.js": /*!*************************************************************************************!*\ !*** ./node_modules/emotion-theming/node_modules/@babel/runtime/helpers/extends.js ***! \*************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { eval("function _extends() {\n module.exports = _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nmodule.exports = _extends;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZW1vdGlvbi10aGVtaW5nL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2V4dGVuZHMuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZW1vdGlvbi10aGVtaW5nL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2V4dGVuZHMuanM/MTUxOCJdLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBfZXh0ZW5kcygpIHtcbiAgbW9kdWxlLmV4cG9ydHMgPSBfZXh0ZW5kcyA9IE9iamVjdC5hc3NpZ24gfHwgZnVuY3Rpb24gKHRhcmdldCkge1xuICAgIGZvciAodmFyIGkgPSAxOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIgc291cmNlID0gYXJndW1lbnRzW2ldO1xuXG4gICAgICBmb3IgKHZhciBrZXkgaW4gc291cmNlKSB7XG4gICAgICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoc291cmNlLCBrZXkpKSB7XG4gICAgICAgICAgdGFyZ2V0W2tleV0gPSBzb3VyY2Vba2V5XTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0YXJnZXQ7XG4gIH07XG5cbiAgcmV0dXJuIF9leHRlbmRzLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gX2V4dGVuZHM7Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/emotion-theming/node_modules/@babel/runtime/helpers/extends.js\n"); /***/ }), /***/ "./node_modules/engine.io-client/lib/globalThis.browser.js": /*!*****************************************************************!*\ !*** ./node_modules/engine.io-client/lib/globalThis.browser.js ***! \*****************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { eval("module.exports = (function () {\n if (typeof self !== 'undefined') {\n return self;\n } else if (typeof window !== 'undefined') {\n return window;\n } else {\n return Function('return this')(); // eslint-disable-line no-new-func\n }\n})();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZW5naW5lLmlvLWNsaWVudC9saWIvZ2xvYmFsVGhpcy5icm93c2VyLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2VuZ2luZS5pby1jbGllbnQvbGliL2dsb2JhbFRoaXMuYnJvd3Nlci5qcz9kOTQxIl0sInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gKGZ1bmN0aW9uICgpIHtcbiAgaWYgKHR5cGVvZiBzZWxmICE9PSAndW5kZWZpbmVkJykge1xuICAgIHJldHVybiBzZWxmO1xuICB9IGVsc2UgaWYgKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgcmV0dXJuIHdpbmRvdztcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gRnVuY3Rpb24oJ3JldHVybiB0aGlzJykoKTsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby1uZXctZnVuY1xuICB9XG59KSgpO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/engine.io-client/lib/globalThis.browser.js\n"); /***/ }), /***/ "./node_modules/engine.io-client/lib/index.js": /*!****************************************************!*\ !*** ./node_modules/engine.io-client/lib/index.js ***! \****************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("\nmodule.exports = __webpack_require__(/*! ./socket */ \"./node_modules/engine.io-client/lib/socket.js\");\n\n/**\n * Exports parser\n *\n * @api public\n *\n */\nmodule.exports.parser = __webpack_require__(/*! engine.io-parser */ \"./node_modules/engine.io-client/node_modules/engine.io-parser/lib/browser.js\");\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZW5naW5lLmlvLWNsaWVudC9saWIvaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZW5naW5lLmlvLWNsaWVudC9saWIvaW5kZXguanM/OTRhYyJdLCJzb3VyY2VzQ29udGVudCI6WyJcbm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi9zb2NrZXQnKTtcblxuLyoqXG4gKiBFeHBvcnRzIHBhcnNlclxuICpcbiAqIEBhcGkgcHVibGljXG4gKlxuICovXG5tb2R1bGUuZXhwb3J0cy5wYXJzZXIgPSByZXF1aXJlKCdlbmdpbmUuaW8tcGFyc2VyJyk7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/engine.io-client/lib/index.js\n"); /***/ }), /***/ "./node_modules/engine.io-client/lib/socket.js": /*!*****************************************************!*\ !*** ./node_modules/engine.io-client/lib/socket.js ***! \*****************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("/**\n * Module dependencies.\n */\n\nvar transports = __webpack_require__(/*! ./transports/index */ \"./node_modules/engine.io-client/lib/transports/index.js\");\nvar Emitter = __webpack_require__(/*! component-emitter */ \"./node_modules/engine.io-client/node_modules/component-emitter/index.js\");\nvar debug = __webpack_require__(/*! debug */ \"./node_modules/engine.io-client/node_modules/debug/src/browser.js\")('engine.io-client:socket');\nvar index = __webpack_require__(/*! indexof */ \"./node_modules/indexof/index.js\");\nvar parser = __webpack_require__(/*! engine.io-parser */ \"./node_modules/engine.io-client/node_modules/engine.io-parser/lib/browser.js\");\nvar parseuri = __webpack_require__(/*! parseuri */ \"./node_modules/parseuri/index.js\");\nvar parseqs = __webpack_require__(/*! parseqs */ \"./node_modules/parseqs/index.js\");\n\n/**\n * Module exports.\n */\n\nmodule.exports = Socket;\n\n/**\n * Socket constructor.\n *\n * @param {String|Object} uri or options\n * @param {Object} options\n * @api public\n */\n\nfunction Socket (uri, opts) {\n if (!(this instanceof Socket)) return new Socket(uri, opts);\n\n opts = opts || {};\n\n if (uri && 'object' === typeof uri) {\n opts = uri;\n uri = null;\n }\n\n if (uri) {\n uri = parseuri(uri);\n opts.hostname = uri.host;\n opts.secure = uri.protocol === 'https' || uri.protocol === 'wss';\n opts.port = uri.port;\n if (uri.query) opts.query = uri.query;\n } else if (opts.host) {\n opts.hostname = parseuri(opts.host).host;\n }\n\n this.secure = null != opts.secure ? opts.secure\n : (typeof location !== 'undefined' && 'https:' === location.protocol);\n\n if (opts.hostname && !opts.port) {\n // if no port is specified manually, use the protocol default\n opts.port = this.secure ? '443' : '80';\n }\n\n this.agent = opts.agent || false;\n this.hostname = opts.hostname ||\n (typeof location !== 'undefined' ? location.hostname : 'localhost');\n this.port = opts.port || (typeof location !== 'undefined' && location.port\n ? location.port\n : (this.secure ? 443 : 80));\n this.query = opts.query || {};\n if ('string' === typeof this.query) this.query = parseqs.decode(this.query);\n this.upgrade = false !== opts.upgrade;\n this.path = (opts.path || '/engine.io').replace(/\\/$/, '') + '/';\n this.forceJSONP = !!opts.forceJSONP;\n this.jsonp = false !== opts.jsonp;\n this.forceBase64 = !!opts.forceBase64;\n this.enablesXDR = !!opts.enablesXDR;\n this.withCredentials = false !== opts.withCredentials;\n this.timestampParam = opts.timestampParam || 't';\n this.timestampRequests = opts.timestampRequests;\n this.transports = opts.transports || ['polling', 'websocket'];\n this.transportOptions = opts.transportOptions || {};\n this.readyState = '';\n this.writeBuffer = [];\n this.prevBufferLen = 0;\n this.policyPort = opts.policyPort || 843;\n this.rememberUpgrade = opts.rememberUpgrade || false;\n this.binaryType = null;\n this.onlyBinaryUpgrades = opts.onlyBinaryUpgrades;\n this.perMessageDeflate = false !== opts.perMessageDeflate ? (opts.perMessageDeflate || {}) : false;\n\n if (true === this.perMessageDeflate) this.perMessageDeflate = {};\n if (this.perMessageDeflate && null == this.perMessageDeflate.threshold) {\n this.perMessageDeflate.threshold = 1024;\n }\n\n // SSL options for Node.js client\n this.pfx = opts.pfx || null;\n this.key = opts.key || null;\n this.passphrase = opts.passphrase || null;\n this.cert = opts.cert || null;\n this.ca = opts.ca || null;\n this.ciphers = opts.ciphers || null;\n this.rejectUnauthorized = opts.rejectUnauthorized === undefined ? true : opts.rejectUnauthorized;\n this.forceNode = !!opts.forceNode;\n\n // detect ReactNative environment\n this.isReactNative = (typeof navigator !== 'undefined' && typeof navigator.product === 'string' && navigator.product.toLowerCase() === 'reactnative');\n\n // other options for Node.js or ReactNative client\n if (typeof self === 'undefined' || this.isReactNative) {\n if (opts.extraHeaders && Object.keys(opts.extraHeaders).length > 0) {\n this.extraHeaders = opts.extraHeaders;\n }\n\n if (opts.localAddress) {\n this.localAddress = opts.localAddress;\n }\n }\n\n // set on handshake\n this.id = null;\n this.upgrades = null;\n this.pingInterval = null;\n this.pingTimeout = null;\n\n // set on heartbeat\n this.pingIntervalTimer = null;\n this.pingTimeoutTimer = null;\n\n this.open();\n}\n\nSocket.priorWebsocketSuccess = false;\n\n/**\n * Mix in `Emitter`.\n */\n\nEmitter(Socket.prototype);\n\n/**\n * Protocol version.\n *\n * @api public\n */\n\nSocket.protocol = parser.protocol; // this is an int\n\n/**\n * Expose deps for legacy compatibility\n * and standalone browser access.\n */\n\nSocket.Socket = Socket;\nSocket.Transport = __webpack_require__(/*! ./transport */ \"./node_modules/engine.io-client/lib/transport.js\");\nSocket.transports = __webpack_require__(/*! ./transports/index */ \"./node_modules/engine.io-client/lib/transports/index.js\");\nSocket.parser = __webpack_require__(/*! engine.io-parser */ \"./node_modules/engine.io-client/node_modules/engine.io-parser/lib/browser.js\");\n\n/**\n * Creates transport of the given type.\n *\n * @param {String} transport name\n * @return {Transport}\n * @api private\n */\n\nSocket.prototype.createTransport = function (name) {\n debug('creating transport \"%s\"', name);\n var query = clone(this.query);\n\n // append engine.io protocol identifier\n query.EIO = parser.protocol;\n\n // transport name\n query.transport = name;\n\n // per-transport options\n var options = this.transportOptions[name] || {};\n\n // session id if we already have one\n if (this.id) query.sid = this.id;\n\n var transport = new transports[name]({\n query: query,\n socket: this,\n agent: options.agent || this.agent,\n hostname: options.hostname || this.hostname,\n port: options.port || this.port,\n secure: options.secure || this.secure,\n path: options.path || this.path,\n forceJSONP: options.forceJSONP || this.forceJSONP,\n jsonp: options.jsonp || this.jsonp,\n forceBase64: options.forceBase64 || this.forceBase64,\n enablesXDR: options.enablesXDR || this.enablesXDR,\n withCredentials: options.withCredentials || this.withCredentials,\n timestampRequests: options.timestampRequests || this.timestampRequests,\n timestampParam: options.timestampParam || this.timestampParam,\n policyPort: options.policyPort || this.policyPort,\n pfx: options.pfx || this.pfx,\n key: options.key || this.key,\n passphrase: options.passphrase || this.passphrase,\n cert: options.cert || this.cert,\n ca: options.ca || this.ca,\n ciphers: options.ciphers || this.ciphers,\n rejectUnauthorized: options.rejectUnauthorized || this.rejectUnauthorized,\n perMessageDeflate: options.perMessageDeflate || this.perMessageDeflate,\n extraHeaders: options.extraHeaders || this.extraHeaders,\n forceNode: options.forceNode || this.forceNode,\n localAddress: options.localAddress || this.localAddress,\n requestTimeout: options.requestTimeout || this.requestTimeout,\n protocols: options.protocols || void (0),\n isReactNative: this.isReactNative\n });\n\n return transport;\n};\n\nfunction clone (obj) {\n var o = {};\n for (var i in obj) {\n if (obj.hasOwnProperty(i)) {\n o[i] = obj[i];\n }\n }\n return o;\n}\n\n/**\n * Initializes transport to use and starts probe.\n *\n * @api private\n */\nSocket.prototype.open = function () {\n var transport;\n if (this.rememberUpgrade && Socket.priorWebsocketSuccess && this.transports.indexOf('websocket') !== -1) {\n transport = 'websocket';\n } else if (0 === this.transports.length) {\n // Emit error on next tick so it can be listened to\n var self = this;\n setTimeout(function () {\n self.emit('error', 'No transports available');\n }, 0);\n return;\n } else {\n transport = this.transports[0];\n }\n this.readyState = 'opening';\n\n // Retry with the next transport if the transport is disabled (jsonp: false)\n try {\n transport = this.createTransport(transport);\n } catch (e) {\n this.transports.shift();\n this.open();\n return;\n }\n\n transport.open();\n this.setTransport(transport);\n};\n\n/**\n * Sets the current transport. Disables the existing one (if any).\n *\n * @api private\n */\n\nSocket.prototype.setTransport = function (transport) {\n debug('setting transport %s', transport.name);\n var self = this;\n\n if (this.transport) {\n debug('clearing existing transport %s', this.transport.name);\n this.transport.removeAllListeners();\n }\n\n // set up transport\n this.transport = transport;\n\n // set up transport listeners\n transport\n .on('drain', function () {\n self.onDrain();\n })\n .on('packet', function (packet) {\n self.onPacket(packet);\n })\n .on('error', function (e) {\n self.onError(e);\n })\n .on('close', function () {\n self.onClose('transport close');\n });\n};\n\n/**\n * Probes a transport.\n *\n * @param {String} transport name\n * @api private\n */\n\nSocket.prototype.probe = function (name) {\n debug('probing transport \"%s\"', name);\n var transport = this.createTransport(name, { probe: 1 });\n var failed = false;\n var self = this;\n\n Socket.priorWebsocketSuccess = false;\n\n function onTransportOpen () {\n if (self.onlyBinaryUpgrades) {\n var upgradeLosesBinary = !this.supportsBinary && self.transport.supportsBinary;\n failed = failed || upgradeLosesBinary;\n }\n if (failed) return;\n\n debug('probe transport \"%s\" opened', name);\n transport.send([{ type: 'ping', data: 'probe' }]);\n transport.once('packet', function (msg) {\n if (failed) return;\n if ('pong' === msg.type && 'probe' === msg.data) {\n debug('probe transport \"%s\" pong', name);\n self.upgrading = true;\n self.emit('upgrading', transport);\n if (!transport) return;\n Socket.priorWebsocketSuccess = 'websocket' === transport.name;\n\n debug('pausing current transport \"%s\"', self.transport.name);\n self.transport.pause(function () {\n if (failed) return;\n if ('closed' === self.readyState) return;\n debug('changing transport and sending upgrade packet');\n\n cleanup();\n\n self.setTransport(transport);\n transport.send([{ type: 'upgrade' }]);\n self.emit('upgrade', transport);\n transport = null;\n self.upgrading = false;\n self.flush();\n });\n } else {\n debug('probe transport \"%s\" failed', name);\n var err = new Error('probe error');\n err.transport = transport.name;\n self.emit('upgradeError', err);\n }\n });\n }\n\n function freezeTransport () {\n if (failed) return;\n\n // Any callback called by transport should be ignored since now\n failed = true;\n\n cleanup();\n\n transport.close();\n transport = null;\n }\n\n // Handle any error that happens while probing\n function onerror (err) {\n var error = new Error('probe error: ' + err);\n error.transport = transport.name;\n\n freezeTransport();\n\n debug('probe transport \"%s\" failed because of error: %s', name, err);\n\n self.emit('upgradeError', error);\n }\n\n function onTransportClose () {\n onerror('transport closed');\n }\n\n // When the socket is closed while we're probing\n function onclose () {\n onerror('socket closed');\n }\n\n // When the socket is upgraded while we're probing\n function onupgrade (to) {\n if (transport && to.name !== transport.name) {\n debug('\"%s\" works - aborting \"%s\"', to.name, transport.name);\n freezeTransport();\n }\n }\n\n // Remove all listeners on the transport and on self\n function cleanup () {\n transport.removeListener('open', onTransportOpen);\n transport.removeListener('error', onerror);\n transport.removeListener('close', onTransportClose);\n self.removeListener('close', onclose);\n self.removeListener('upgrading', onupgrade);\n }\n\n transport.once('open', onTransportOpen);\n transport.once('error', onerror);\n transport.once('close', onTransportClose);\n\n this.once('close', onclose);\n this.once('upgrading', onupgrade);\n\n transport.open();\n};\n\n/**\n * Called when connection is deemed open.\n *\n * @api public\n */\n\nSocket.prototype.onOpen = function () {\n debug('socket open');\n this.readyState = 'open';\n Socket.priorWebsocketSuccess = 'websocket' === this.transport.name;\n this.emit('open');\n this.flush();\n\n // we check for `readyState` in case an `open`\n // listener already closed the socket\n if ('open' === this.readyState && this.upgrade && this.transport.pause) {\n debug('starting upgrade probes');\n for (var i = 0, l = this.upgrades.length; i < l; i++) {\n this.probe(this.upgrades[i]);\n }\n }\n};\n\n/**\n * Handles a packet.\n *\n * @api private\n */\n\nSocket.prototype.onPacket = function (packet) {\n if ('opening' === this.readyState || 'open' === this.readyState ||\n 'closing' === this.readyState) {\n debug('socket receive: type \"%s\", data \"%s\"', packet.type, packet.data);\n\n this.emit('packet', packet);\n\n // Socket is live - any packet counts\n this.emit('heartbeat');\n\n switch (packet.type) {\n case 'open':\n this.onHandshake(JSON.parse(packet.data));\n break;\n\n case 'pong':\n this.setPing();\n this.emit('pong');\n break;\n\n case 'error':\n var err = new Error('server error');\n err.code = packet.data;\n this.onError(err);\n break;\n\n case 'message':\n this.emit('data', packet.data);\n this.emit('message', packet.data);\n break;\n }\n } else {\n debug('packet received with socket readyState \"%s\"', this.readyState);\n }\n};\n\n/**\n * Called upon handshake completion.\n *\n * @param {Object} handshake obj\n * @api private\n */\n\nSocket.prototype.onHandshake = function (data) {\n this.emit('handshake', data);\n this.id = data.sid;\n this.transport.query.sid = data.sid;\n this.upgrades = this.filterUpgrades(data.upgrades);\n this.pingInterval = data.pingInterval;\n this.pingTimeout = data.pingTimeout;\n this.onOpen();\n // In case open handler closes socket\n if ('closed' === this.readyState) return;\n this.setPing();\n\n // Prolong liveness of socket on heartbeat\n this.removeListener('heartbeat', this.onHeartbeat);\n this.on('heartbeat', this.onHeartbeat);\n};\n\n/**\n * Resets ping timeout.\n *\n * @api private\n */\n\nSocket.prototype.onHeartbeat = function (timeout) {\n clearTimeout(this.pingTimeoutTimer);\n var self = this;\n self.pingTimeoutTimer = setTimeout(function () {\n if ('closed' === self.readyState) return;\n self.onClose('ping timeout');\n }, timeout || (self.pingInterval + self.pingTimeout));\n};\n\n/**\n * Pings server every `this.pingInterval` and expects response\n * within `this.pingTimeout` or closes connection.\n *\n * @api private\n */\n\nSocket.prototype.setPing = function () {\n var self = this;\n clearTimeout(self.pingIntervalTimer);\n self.pingIntervalTimer = setTimeout(function () {\n debug('writing ping packet - expecting pong within %sms', self.pingTimeout);\n self.ping();\n self.onHeartbeat(self.pingTimeout);\n }, self.pingInterval);\n};\n\n/**\n* Sends a ping packet.\n*\n* @api private\n*/\n\nSocket.prototype.ping = function () {\n var self = this;\n this.sendPacket('ping', function () {\n self.emit('ping');\n });\n};\n\n/**\n * Called on `drain` event\n *\n * @api private\n */\n\nSocket.prototype.onDrain = function () {\n this.writeBuffer.splice(0, this.prevBufferLen);\n\n // setting prevBufferLen = 0 is very important\n // for example, when upgrading, upgrade packet is sent over,\n // and a nonzero prevBufferLen could cause problems on `drain`\n this.prevBufferLen = 0;\n\n if (0 === this.writeBuffer.length) {\n this.emit('drain');\n } else {\n this.flush();\n }\n};\n\n/**\n * Flush write buffers.\n *\n * @api private\n */\n\nSocket.prototype.flush = function () {\n if ('closed' !== this.readyState && this.transport.writable &&\n !this.upgrading && this.writeBuffer.length) {\n debug('flushing %d packets in socket', this.writeBuffer.length);\n this.transport.send(this.writeBuffer);\n // keep track of current length of writeBuffer\n // splice writeBuffer and callbackBuffer on `drain`\n this.prevBufferLen = this.writeBuffer.length;\n this.emit('flush');\n }\n};\n\n/**\n * Sends a message.\n *\n * @param {String} message.\n * @param {Function} callback function.\n * @param {Object} options.\n * @return {Socket} for chaining.\n * @api public\n */\n\nSocket.prototype.write =\nSocket.prototype.send = function (msg, options, fn) {\n this.sendPacket('message', msg, options, fn);\n return this;\n};\n\n/**\n * Sends a packet.\n *\n * @param {String} packet type.\n * @param {String} data.\n * @param {Object} options.\n * @param {Function} callback function.\n * @api private\n */\n\nSocket.prototype.sendPacket = function (type, data, options, fn) {\n if ('function' === typeof data) {\n fn = data;\n data = undefined;\n }\n\n if ('function' === typeof options) {\n fn = options;\n options = null;\n }\n\n if ('closing' === this.readyState || 'closed' === this.readyState) {\n return;\n }\n\n options = options || {};\n options.compress = false !== options.compress;\n\n var packet = {\n type: type,\n data: data,\n options: options\n };\n this.emit('packetCreate', packet);\n this.writeBuffer.push(packet);\n if (fn) this.once('flush', fn);\n this.flush();\n};\n\n/**\n * Closes the connection.\n *\n * @api private\n */\n\nSocket.prototype.close = function () {\n if ('opening' === this.readyState || 'open' === this.readyState) {\n this.readyState = 'closing';\n\n var self = this;\n\n if (this.writeBuffer.length) {\n this.once('drain', function () {\n if (this.upgrading) {\n waitForUpgrade();\n } else {\n close();\n }\n });\n } else if (this.upgrading) {\n waitForUpgrade();\n } else {\n close();\n }\n }\n\n function close () {\n self.onClose('forced close');\n debug('socket closing - telling transport to close');\n self.transport.close();\n }\n\n function cleanupAndClose () {\n self.removeListener('upgrade', cleanupAndClose);\n self.removeListener('upgradeError', cleanupAndClose);\n close();\n }\n\n function waitForUpgrade () {\n // wait for upgrade to finish since we can't send packets while pausing a transport\n self.once('upgrade', cleanupAndClose);\n self.once('upgradeError', cleanupAndClose);\n }\n\n return this;\n};\n\n/**\n * Called upon transport error\n *\n * @api private\n */\n\nSocket.prototype.onError = function (err) {\n debug('socket error %j', err);\n Socket.priorWebsocketSuccess = false;\n this.emit('error', err);\n this.onClose('transport error', err);\n};\n\n/**\n * Called upon transport close.\n *\n * @api private\n */\n\nSocket.prototype.onClose = function (reason, desc) {\n if ('opening' === this.readyState || 'open' === this.readyState || 'closing' === this.readyState) {\n debug('socket close with reason: \"%s\"', reason);\n var self = this;\n\n // clear timers\n clearTimeout(this.pingIntervalTimer);\n clearTimeout(this.pingTimeoutTimer);\n\n // stop event from firing again for transport\n this.transport.removeAllListeners('close');\n\n // ensure transport won't stay open\n this.transport.close();\n\n // ignore further transport communication\n this.transport.removeAllListeners();\n\n // set ready state\n this.readyState = 'closed';\n\n // clear session id\n this.id = null;\n\n // emit close event\n this.emit('close', reason, desc);\n\n // clean buffers after, so users can still\n // grab the buffers on `close` event\n self.writeBuffer = [];\n self.prevBufferLen = 0;\n }\n};\n\n/**\n * Filters upgrades, returning only those matching client transports.\n *\n * @param {Array} server upgrades\n * @api private\n *\n */\n\nSocket.prototype.filterUpgrades = function (upgrades) {\n var filteredUpgrades = [];\n for (var i = 0, j = upgrades.length; i < j; i++) {\n if (~index(this.transports, upgrades[i])) filteredUpgrades.push(upgrades[i]);\n }\n return filteredUpgrades;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZW5naW5lLmlvLWNsaWVudC9saWIvc29ja2V0LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2VuZ2luZS5pby1jbGllbnQvbGliL3NvY2tldC5qcz9kYTkyIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogTW9kdWxlIGRlcGVuZGVuY2llcy5cbiAqL1xuXG52YXIgdHJhbnNwb3J0cyA9IHJlcXVpcmUoJy4vdHJhbnNwb3J0cy9pbmRleCcpO1xudmFyIEVtaXR0ZXIgPSByZXF1aXJlKCdjb21wb25lbnQtZW1pdHRlcicpO1xudmFyIGRlYnVnID0gcmVxdWlyZSgnZGVidWcnKSgnZW5naW5lLmlvLWNsaWVudDpzb2NrZXQnKTtcbnZhciBpbmRleCA9IHJlcXVpcmUoJ2luZGV4b2YnKTtcbnZhciBwYXJzZXIgPSByZXF1aXJlKCdlbmdpbmUuaW8tcGFyc2VyJyk7XG52YXIgcGFyc2V1cmkgPSByZXF1aXJlKCdwYXJzZXVyaScpO1xudmFyIHBhcnNlcXMgPSByZXF1aXJlKCdwYXJzZXFzJyk7XG5cbi8qKlxuICogTW9kdWxlIGV4cG9ydHMuXG4gKi9cblxubW9kdWxlLmV4cG9ydHMgPSBTb2NrZXQ7XG5cbi8qKlxuICogU29ja2V0IGNvbnN0cnVjdG9yLlxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfE9iamVjdH0gdXJpIG9yIG9wdGlvbnNcbiAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zXG4gKiBAYXBpIHB1YmxpY1xuICovXG5cbmZ1bmN0aW9uIFNvY2tldCAodXJpLCBvcHRzKSB7XG4gIGlmICghKHRoaXMgaW5zdGFuY2VvZiBTb2NrZXQpKSByZXR1cm4gbmV3IFNvY2tldCh1cmksIG9wdHMpO1xuXG4gIG9wdHMgPSBvcHRzIHx8IHt9O1xuXG4gIGlmICh1cmkgJiYgJ29iamVjdCcgPT09IHR5cGVvZiB1cmkpIHtcbiAgICBvcHRzID0gdXJpO1xuICAgIHVyaSA9IG51bGw7XG4gIH1cblxuICBpZiAodXJpKSB7XG4gICAgdXJpID0gcGFyc2V1cmkodXJpKTtcbiAgICBvcHRzLmhvc3RuYW1lID0gdXJpLmhvc3Q7XG4gICAgb3B0cy5zZWN1cmUgPSB1cmkucHJvdG9jb2wgPT09ICdodHRwcycgfHwgdXJpLnByb3RvY29sID09PSAnd3NzJztcbiAgICBvcHRzLnBvcnQgPSB1cmkucG9ydDtcbiAgICBpZiAodXJpLnF1ZXJ5KSBvcHRzLnF1ZXJ5ID0gdXJpLnF1ZXJ5O1xuICB9IGVsc2UgaWYgKG9wdHMuaG9zdCkge1xuICAgIG9wdHMuaG9zdG5hbWUgPSBwYXJzZXVyaShvcHRzLmhvc3QpLmhvc3Q7XG4gIH1cblxuICB0aGlzLnNlY3VyZSA9IG51bGwgIT0gb3B0cy5zZWN1cmUgPyBvcHRzLnNlY3VyZVxuICAgIDogKHR5cGVvZiBsb2NhdGlvbiAhPT0gJ3VuZGVmaW5lZCcgJiYgJ2h0dHBzOicgPT09IGxvY2F0aW9uLnByb3RvY29sKTtcblxuICBpZiAob3B0cy5ob3N0bmFtZSAmJiAhb3B0cy5wb3J0KSB7XG4gICAgLy8gaWYgbm8gcG9ydCBpcyBzcGVjaWZpZWQgbWFudWFsbHksIHVzZSB0aGUgcHJvdG9jb2wgZGVmYXVsdFxuICAgIG9wdHMucG9ydCA9IHRoaXMuc2VjdXJlID8gJzQ0MycgOiAnODAnO1xuICB9XG5cbiAgdGhpcy5hZ2VudCA9IG9wdHMuYWdlbnQgfHwgZmFsc2U7XG4gIHRoaXMuaG9zdG5hbWUgPSBvcHRzLmhvc3RuYW1lIHx8XG4gICAgKHR5cGVvZiBsb2NhdGlvbiAhPT0gJ3VuZGVmaW5lZCcgPyBsb2NhdGlvbi5ob3N0bmFtZSA6ICdsb2NhbGhvc3QnKTtcbiAgdGhpcy5wb3J0ID0gb3B0cy5wb3J0IHx8ICh0eXBlb2YgbG9jYXRpb24gIT09ICd1bmRlZmluZWQnICYmIGxvY2F0aW9uLnBvcnRcbiAgICAgID8gbG9jYXRpb24ucG9ydFxuICAgICAgOiAodGhpcy5zZWN1cmUgPyA0NDMgOiA4MCkpO1xuICB0aGlzLnF1ZXJ5ID0gb3B0cy5xdWVyeSB8fCB7fTtcbiAgaWYgKCdzdHJpbmcnID09PSB0eXBlb2YgdGhpcy5xdWVyeSkgdGhpcy5xdWVyeSA9IHBhcnNlcXMuZGVjb2RlKHRoaXMucXVlcnkpO1xuICB0aGlzLnVwZ3JhZGUgPSBmYWxzZSAhPT0gb3B0cy51cGdyYWRlO1xuICB0aGlzLnBhdGggPSAob3B0cy5wYXRoIHx8ICcvZW5naW5lLmlvJykucmVwbGFjZSgvXFwvJC8sICcnKSArICcvJztcbiAgdGhpcy5mb3JjZUpTT05QID0gISFvcHRzLmZvcmNlSlNPTlA7XG4gIHRoaXMuanNvbnAgPSBmYWxzZSAhPT0gb3B0cy5qc29ucDtcbiAgdGhpcy5mb3JjZUJhc2U2NCA9ICEhb3B0cy5mb3JjZUJhc2U2NDtcbiAgdGhpcy5lbmFibGVzWERSID0gISFvcHRzLmVuYWJsZXNYRFI7XG4gIHRoaXMud2l0aENyZWRlbnRpYWxzID0gZmFsc2UgIT09IG9wdHMud2l0aENyZWRlbnRpYWxzO1xuICB0aGlzLnRpbWVzdGFtcFBhcmFtID0gb3B0cy50aW1lc3RhbXBQYXJhbSB8fCAndCc7XG4gIHRoaXMudGltZXN0YW1wUmVxdWVzdHMgPSBvcHRzLnRpbWVzdGFtcFJlcXVlc3RzO1xuICB0aGlzLnRyYW5zcG9ydHMgPSBvcHRzLnRyYW5zcG9ydHMgfHwgWydwb2xsaW5nJywgJ3dlYnNvY2tldCddO1xuICB0aGlzLnRyYW5zcG9ydE9wdGlvbnMgPSBvcHRzLnRyYW5zcG9ydE9wdGlvbnMgfHwge307XG4gIHRoaXMucmVhZHlTdGF0ZSA9ICcnO1xuICB0aGlzLndyaXRlQnVmZmVyID0gW107XG4gIHRoaXMucHJldkJ1ZmZlckxlbiA9IDA7XG4gIHRoaXMucG9saWN5UG9ydCA9IG9wdHMucG9saWN5UG9ydCB8fCA4NDM7XG4gIHRoaXMucmVtZW1iZXJVcGdyYWRlID0gb3B0cy5yZW1lbWJlclVwZ3JhZGUgfHwgZmFsc2U7XG4gIHRoaXMuYmluYXJ5VHlwZSA9IG51bGw7XG4gIHRoaXMub25seUJpbmFyeVVwZ3JhZGVzID0gb3B0cy5vbmx5QmluYXJ5VXBncmFkZXM7XG4gIHRoaXMucGVyTWVzc2FnZURlZmxhdGUgPSBmYWxzZSAhPT0gb3B0cy5wZXJNZXNzYWdlRGVmbGF0ZSA/IChvcHRzLnBlck1lc3NhZ2VEZWZsYXRlIHx8IHt9KSA6IGZhbHNlO1xuXG4gIGlmICh0cnVlID09PSB0aGlzLnBlck1lc3NhZ2VEZWZsYXRlKSB0aGlzLnBlck1lc3NhZ2VEZWZsYXRlID0ge307XG4gIGlmICh0aGlzLnBlck1lc3NhZ2VEZWZsYXRlICYmIG51bGwgPT0gdGhpcy5wZXJNZXNzYWdlRGVmbGF0ZS50aHJlc2hvbGQpIHtcbiAgICB0aGlzLnBlck1lc3NhZ2VEZWZsYXRlLnRocmVzaG9sZCA9IDEwMjQ7XG4gIH1cblxuICAvLyBTU0wgb3B0aW9ucyBmb3IgTm9kZS5qcyBjbGllbnRcbiAgdGhpcy5wZnggPSBvcHRzLnBmeCB8fCBudWxsO1xuICB0aGlzLmtleSA9IG9wdHMua2V5IHx8IG51bGw7XG4gIHRoaXMucGFzc3BocmFzZSA9IG9wdHMucGFzc3BocmFzZSB8fCBudWxsO1xuICB0aGlzLmNlcnQgPSBvcHRzLmNlcnQgfHwgbnVsbDtcbiAgdGhpcy5jYSA9IG9wdHMuY2EgfHwgbnVsbDtcbiAgdGhpcy5jaXBoZXJzID0gb3B0cy5jaXBoZXJzIHx8IG51bGw7XG4gIHRoaXMucmVqZWN0VW5hdXRob3JpemVkID0gb3B0cy5yZWplY3RVbmF1dGhvcml6ZWQgPT09IHVuZGVmaW5lZCA/IHRydWUgOiBvcHRzLnJlamVjdFVuYXV0aG9yaXplZDtcbiAgdGhpcy5mb3JjZU5vZGUgPSAhIW9wdHMuZm9yY2VOb2RlO1xuXG4gIC8vIGRldGVjdCBSZWFjdE5hdGl2ZSBlbnZpcm9ubWVudFxuICB0aGlzLmlzUmVhY3ROYXRpdmUgPSAodHlwZW9mIG5hdmlnYXRvciAhPT0gJ3VuZGVmaW5lZCcgJiYgdHlwZW9mIG5hdmlnYXRvci5wcm9kdWN0ID09PSAnc3RyaW5nJyAmJiBuYXZpZ2F0b3IucHJvZHVjdC50b0xvd2VyQ2FzZSgpID09PSAncmVhY3RuYXRpdmUnKTtcblxuICAvLyBvdGhlciBvcHRpb25zIGZvciBOb2RlLmpzIG9yIFJlYWN0TmF0aXZlIGNsaWVudFxuICBpZiAodHlwZW9mIHNlbGYgPT09ICd1bmRlZmluZWQnIHx8IHRoaXMuaXNSZWFjdE5hdGl2ZSkge1xuICAgIGlmIChvcHRzLmV4dHJhSGVhZGVycyAmJiBPYmplY3Qua2V5cyhvcHRzLmV4dHJhSGVhZGVycykubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5leHRyYUhlYWRlcnMgPSBvcHRzLmV4dHJhSGVhZGVycztcbiAgICB9XG5cbiAgICBpZiAob3B0cy5sb2NhbEFkZHJlc3MpIHtcbiAgICAgIHRoaXMubG9jYWxBZGRyZXNzID0gb3B0cy5sb2NhbEFkZHJlc3M7XG4gICAgfVxuICB9XG5cbiAgLy8gc2V0IG9uIGhhbmRzaGFrZVxuICB0aGlzLmlkID0gbnVsbDtcbiAgdGhpcy51cGdyYWRlcyA9IG51bGw7XG4gIHRoaXMucGluZ0ludGVydmFsID0gbnVsbDtcbiAgdGhpcy5waW5nVGltZW91dCA9IG51bGw7XG5cbiAgLy8gc2V0IG9uIGhlYXJ0YmVhdFxuICB0aGlzLnBpbmdJbnRlcnZhbFRpbWVyID0gbnVsbDtcbiAgdGhpcy5waW5nVGltZW91dFRpbWVyID0gbnVsbDtcblxuICB0aGlzLm9wZW4oKTtcbn1cblxuU29ja2V0LnByaW9yV2Vic29ja2V0U3VjY2VzcyA9IGZhbHNlO1xuXG4vKipcbiAqIE1peCBpbiBgRW1pdHRlcmAuXG4gKi9cblxuRW1pdHRlcihTb2NrZXQucHJvdG90eXBlKTtcblxuLyoqXG4gKiBQcm90b2NvbCB2ZXJzaW9uLlxuICpcbiAqIEBhcGkgcHVibGljXG4gKi9cblxuU29ja2V0LnByb3RvY29sID0gcGFyc2VyLnByb3RvY29sOyAvLyB0aGlzIGlzIGFuIGludFxuXG4vKipcbiAqIEV4cG9zZSBkZXBzIGZvciBsZWdhY3kgY29tcGF0aWJpbGl0eVxuICogYW5kIHN0YW5kYWxvbmUgYnJvd3NlciBhY2Nlc3MuXG4gKi9cblxuU29ja2V0LlNvY2tldCA9IFNvY2tldDtcblNvY2tldC5UcmFuc3BvcnQgPSByZXF1aXJlKCcuL3RyYW5zcG9ydCcpO1xuU29ja2V0LnRyYW5zcG9ydHMgPSByZXF1aXJlKCcuL3RyYW5zcG9ydHMvaW5kZXgnKTtcblNvY2tldC5wYXJzZXIgPSByZXF1aXJlKCdlbmdpbmUuaW8tcGFyc2VyJyk7XG5cbi8qKlxuICogQ3JlYXRlcyB0cmFuc3BvcnQgb2YgdGhlIGdpdmVuIHR5cGUuXG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IHRyYW5zcG9ydCBuYW1lXG4gKiBAcmV0dXJuIHtUcmFuc3BvcnR9XG4gKiBAYXBpIHByaXZhdGVcbiAqL1xuXG5Tb2NrZXQucHJvdG90eXBlLmNyZWF0ZVRyYW5zcG9ydCA9IGZ1bmN0aW9uIChuYW1lKSB7XG4gIGRlYnVnKCdjcmVhdGluZyB0cmFuc3BvcnQgXCIlc1wiJywgbmFtZSk7XG4gIHZhciBxdWVyeSA9IGNsb25lKHRoaXMucXVlcnkpO1xuXG4gIC8vIGFwcGVuZCBlbmdpbmUuaW8gcHJvdG9jb2wgaWRlbnRpZmllclxuICBxdWVyeS5FSU8gPSBwYXJzZXIucHJvdG9jb2w7XG5cbiAgLy8gdHJhbnNwb3J0IG5hbWVcbiAgcXVlcnkudHJhbnNwb3J0ID0gbmFtZTtcblxuICAvLyBwZXItdHJhbnNwb3J0IG9wdGlvbnNcbiAgdmFyIG9wdGlvbnMgPSB0aGlzLnRyYW5zcG9ydE9wdGlvbnNbbmFtZV0gfHwge307XG5cbiAgLy8gc2Vzc2lvbiBpZCBpZiB3ZSBhbHJlYWR5IGhhdmUgb25lXG4gIGlmICh0aGlzLmlkKSBxdWVyeS5zaWQgPSB0aGlzLmlkO1xuXG4gIHZhciB0cmFuc3BvcnQgPSBuZXcgdHJhbnNwb3J0c1tuYW1lXSh7XG4gICAgcXVlcnk6IHF1ZXJ5LFxuICAgIHNvY2tldDogdGhpcyxcbiAgICBhZ2VudDogb3B0aW9ucy5hZ2VudCB8fCB0aGlzLmFnZW50LFxuICAgIGhvc3RuYW1lOiBvcHRpb25zLmhvc3RuYW1lIHx8IHRoaXMuaG9zdG5hbWUsXG4gICAgcG9ydDogb3B0aW9ucy5wb3J0IHx8IHRoaXMucG9ydCxcbiAgICBzZWN1cmU6IG9wdGlvbnMuc2VjdXJlIHx8IHRoaXMuc2VjdXJlLFxuICAgIHBhdGg6IG9wdGlvbnMucGF0aCB8fCB0aGlzLnBhdGgsXG4gICAgZm9yY2VKU09OUDogb3B0aW9ucy5mb3JjZUpTT05QIHx8IHRoaXMuZm9yY2VKU09OUCxcbiAgICBqc29ucDogb3B0aW9ucy5qc29ucCB8fCB0aGlzLmpzb25wLFxuICAgIGZvcmNlQmFzZTY0OiBvcHRpb25zLmZvcmNlQmFzZTY0IHx8IHRoaXMuZm9yY2VCYXNlNjQsXG4gICAgZW5hYmxlc1hEUjogb3B0aW9ucy5lbmFibGVzWERSIHx8IHRoaXMuZW5hYmxlc1hEUixcbiAgICB3aXRoQ3JlZGVudGlhbHM6IG9wdGlvbnMud2l0aENyZWRlbnRpYWxzIHx8IHRoaXMud2l0aENyZWRlbnRpYWxzLFxuICAgIHRpbWVzdGFtcFJlcXVlc3RzOiBvcHRpb25zLnRpbWVzdGFtcFJlcXVlc3RzIHx8IHRoaXMudGltZXN0YW1wUmVxdWVzdHMsXG4gICAgdGltZXN0YW1wUGFyYW06IG9wdGlvbnMudGltZXN0YW1wUGFyYW0gfHwgdGhpcy50aW1lc3RhbXBQYXJhbSxcbiAgICBwb2xpY3lQb3J0OiBvcHRpb25zLnBvbGljeVBvcnQgfHwgdGhpcy5wb2xpY3lQb3J0LFxuICAgIHBmeDogb3B0aW9ucy5wZnggfHwgdGhpcy5wZngsXG4gICAga2V5OiBvcHRpb25zLmtleSB8fCB0aGlzLmtleSxcbiAgICBwYXNzcGhyYXNlOiBvcHRpb25zLnBhc3NwaHJhc2UgfHwgdGhpcy5wYXNzcGhyYXNlLFxuICAgIGNlcnQ6IG9wdGlvbnMuY2VydCB8fCB0aGlzLmNlcnQsXG4gICAgY2E6IG9wdGlvbnMuY2EgfHwgdGhpcy5jYSxcbiAgICBjaXBoZXJzOiBvcHRpb25zLmNpcGhlcnMgfHwgdGhpcy5jaXBoZXJzLFxuICAgIHJlamVjdFVuYXV0aG9yaXplZDogb3B0aW9ucy5yZWplY3RVbmF1dGhvcml6ZWQgfHwgdGhpcy5yZWplY3RVbmF1dGhvcml6ZWQsXG4gICAgcGVyTWVzc2FnZURlZmxhdGU6IG9wdGlvbnMucGVyTWVzc2FnZURlZmxhdGUgfHwgdGhpcy5wZXJNZXNzYWdlRGVmbGF0ZSxcbiAgICBleHRyYUhlYWRlcnM6IG9wdGlvbnMuZXh0cmFIZWFkZXJzIHx8IHRoaXMuZXh0cmFIZWFkZXJzLFxuICAgIGZvcmNlTm9kZTogb3B0aW9ucy5mb3JjZU5vZGUgfHwgdGhpcy5mb3JjZU5vZGUsXG4gICAgbG9jYWxBZGRyZXNzOiBvcHRpb25zLmxvY2FsQWRkcmVzcyB8fCB0aGlzLmxvY2FsQWRkcmVzcyxcbiAgICByZXF1ZXN0VGltZW91dDogb3B0aW9ucy5yZXF1ZXN0VGltZW91dCB8fCB0aGlzLnJlcXVlc3RUaW1lb3V0LFxuICAgIHByb3RvY29sczogb3B0aW9ucy5wcm90b2NvbHMgfHwgdm9pZCAoMCksXG4gICAgaXNSZWFjdE5hdGl2ZTogdGhpcy5pc1JlYWN0TmF0aXZlXG4gIH0pO1xuXG4gIHJldHVybiB0cmFuc3BvcnQ7XG59O1xuXG5mdW5jdGlvbiBjbG9uZSAob2JqKSB7XG4gIHZhciBvID0ge307XG4gIGZvciAodmFyIGkgaW4gb2JqKSB7XG4gICAgaWYgKG9iai5oYXNPd25Qcm9wZXJ0eShpKSkge1xuICAgICAgb1tpXSA9IG9ialtpXTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIG87XG59XG5cbi8qKlxuICogSW5pdGlhbGl6ZXMgdHJhbnNwb3J0IHRvIHVzZSBhbmQgc3RhcnRzIHByb2JlLlxuICpcbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5Tb2NrZXQucHJvdG90eXBlLm9wZW4gPSBmdW5jdGlvbiAoKSB7XG4gIHZhciB0cmFuc3BvcnQ7XG4gIGlmICh0aGlzLnJlbWVtYmVyVXBncmFkZSAmJiBTb2NrZXQucHJpb3JXZWJzb2NrZXRTdWNjZXNzICYmIHRoaXMudHJhbnNwb3J0cy5pbmRleE9mKCd3ZWJzb2NrZXQnKSAhPT0gLTEpIHtcbiAgICB0cmFuc3BvcnQgPSAnd2Vic29ja2V0JztcbiAgfSBlbHNlIGlmICgwID09PSB0aGlzLnRyYW5zcG9ydHMubGVuZ3RoKSB7XG4gICAgLy8gRW1pdCBlcnJvciBvbiBuZXh0IHRpY2sgc28gaXQgY2FuIGJlIGxpc3RlbmVkIHRvXG4gICAgdmFyIHNlbGYgPSB0aGlzO1xuICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgc2VsZi5lbWl0KCdlcnJvcicsICdObyB0cmFuc3BvcnRzIGF2YWlsYWJsZScpO1xuICAgIH0sIDApO1xuICAgIHJldHVybjtcbiAgfSBlbHNlIHtcbiAgICB0cmFuc3BvcnQgPSB0aGlzLnRyYW5zcG9ydHNbMF07XG4gIH1cbiAgdGhpcy5yZWFkeVN0YXRlID0gJ29wZW5pbmcnO1xuXG4gIC8vIFJldHJ5IHdpdGggdGhlIG5leHQgdHJhbnNwb3J0IGlmIHRoZSB0cmFuc3BvcnQgaXMgZGlzYWJsZWQgKGpzb25wOiBmYWxzZSlcbiAgdHJ5IHtcbiAgICB0cmFuc3BvcnQgPSB0aGlzLmNyZWF0ZVRyYW5zcG9ydCh0cmFuc3BvcnQpO1xuICB9IGNhdGNoIChlKSB7XG4gICAgdGhpcy50cmFuc3BvcnRzLnNoaWZ0KCk7XG4gICAgdGhpcy5vcGVuKCk7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgdHJhbnNwb3J0Lm9wZW4oKTtcbiAgdGhpcy5zZXRUcmFuc3BvcnQodHJhbnNwb3J0KTtcbn07XG5cbi8qKlxuICogU2V0cyB0aGUgY3VycmVudCB0cmFuc3BvcnQuIERpc2FibGVzIHRoZSBleGlzdGluZyBvbmUgKGlmIGFueSkuXG4gKlxuICogQGFwaSBwcml2YXRlXG4gKi9cblxuU29ja2V0LnByb3RvdHlwZS5zZXRUcmFuc3BvcnQgPSBmdW5jdGlvbiAodHJhbnNwb3J0KSB7XG4gIGRlYnVnKCdzZXR0aW5nIHRyYW5zcG9ydCAlcycsIHRyYW5zcG9ydC5uYW1lKTtcbiAgdmFyIHNlbGYgPSB0aGlzO1xuXG4gIGlmICh0aGlzLnRyYW5zcG9ydCkge1xuICAgIGRlYnVnKCdjbGVhcmluZyBleGlzdGluZyB0cmFuc3BvcnQgJXMnLCB0aGlzLnRyYW5zcG9ydC5uYW1lKTtcbiAgICB0aGlzLnRyYW5zcG9ydC5yZW1vdmVBbGxMaXN0ZW5lcnMoKTtcbiAgfVxuXG4gIC8vIHNldCB1cCB0cmFuc3BvcnRcbiAgdGhpcy50cmFuc3BvcnQgPSB0cmFuc3BvcnQ7XG5cbiAgLy8gc2V0IHVwIHRyYW5zcG9ydCBsaXN0ZW5lcnNcbiAgdHJhbnNwb3J0XG4gIC5vbignZHJhaW4nLCBmdW5jdGlvbiAoKSB7XG4gICAgc2VsZi5vbkRyYWluKCk7XG4gIH0pXG4gIC5vbigncGFja2V0JywgZnVuY3Rpb24gKHBhY2tldCkge1xuICAgIHNlbGYub25QYWNrZXQocGFja2V0KTtcbiAgfSlcbiAgLm9uKCdlcnJvcicsIGZ1bmN0aW9uIChlKSB7XG4gICAgc2VsZi5vbkVycm9yKGUpO1xuICB9KVxuICAub24oJ2Nsb3NlJywgZnVuY3Rpb24gKCkge1xuICAgIHNlbGYub25DbG9zZSgndHJhbnNwb3J0IGNsb3NlJyk7XG4gIH0pO1xufTtcblxuLyoqXG4gKiBQcm9iZXMgYSB0cmFuc3BvcnQuXG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IHRyYW5zcG9ydCBuYW1lXG4gKiBAYXBpIHByaXZhdGVcbiAqL1xuXG5Tb2NrZXQucHJvdG90eXBlLnByb2JlID0gZnVuY3Rpb24gKG5hbWUpIHtcbiAgZGVidWcoJ3Byb2JpbmcgdHJhbnNwb3J0IFwiJXNcIicsIG5hbWUpO1xuICB2YXIgdHJhbnNwb3J0ID0gdGhpcy5jcmVhdGVUcmFuc3BvcnQobmFtZSwgeyBwcm9iZTogMSB9KTtcbiAgdmFyIGZhaWxlZCA9IGZhbHNlO1xuICB2YXIgc2VsZiA9IHRoaXM7XG5cbiAgU29ja2V0LnByaW9yV2Vic29ja2V0U3VjY2VzcyA9IGZhbHNlO1xuXG4gIGZ1bmN0aW9uIG9uVHJhbnNwb3J0T3BlbiAoKSB7XG4gICAgaWYgKHNlbGYub25seUJpbmFyeVVwZ3JhZGVzKSB7XG4gICAgICB2YXIgdXBncmFkZUxvc2VzQmluYXJ5ID0gIXRoaXMuc3VwcG9ydHNCaW5hcnkgJiYgc2VsZi50cmFuc3BvcnQuc3VwcG9ydHNCaW5hcnk7XG4gICAgICBmYWlsZWQgPSBmYWlsZWQgfHwgdXBncmFkZUxvc2VzQmluYXJ5O1xuICAgIH1cbiAgICBpZiAoZmFpbGVkKSByZXR1cm47XG5cbiAgICBkZWJ1ZygncHJvYmUgdHJhbnNwb3J0IFwiJXNcIiBvcGVuZWQnLCBuYW1lKTtcbiAgICB0cmFuc3BvcnQuc2VuZChbeyB0eXBlOiAncGluZycsIGRhdGE6ICdwcm9iZScgfV0pO1xuICAgIHRyYW5zcG9ydC5vbmNlKCdwYWNrZXQnLCBmdW5jdGlvbiAobXNnKSB7XG4gICAgICBpZiAoZmFpbGVkKSByZXR1cm47XG4gICAgICBpZiAoJ3BvbmcnID09PSBtc2cudHlwZSAmJiAncHJvYmUnID09PSBtc2cuZGF0YSkge1xuICAgICAgICBkZWJ1ZygncHJvYmUgdHJhbnNwb3J0IFwiJXNcIiBwb25nJywgbmFtZSk7XG4gICAgICAgIHNlbGYudXBncmFkaW5nID0gdHJ1ZTtcbiAgICAgICAgc2VsZi5lbWl0KCd1cGdyYWRpbmcnLCB0cmFuc3BvcnQpO1xuICAgICAgICBpZiAoIXRyYW5zcG9ydCkgcmV0dXJuO1xuICAgICAgICBTb2NrZXQucHJpb3JXZWJzb2NrZXRTdWNjZXNzID0gJ3dlYnNvY2tldCcgPT09IHRyYW5zcG9ydC5uYW1lO1xuXG4gICAgICAgIGRlYnVnKCdwYXVzaW5nIGN1cnJlbnQgdHJhbnNwb3J0IFwiJXNcIicsIHNlbGYudHJhbnNwb3J0Lm5hbWUpO1xuICAgICAgICBzZWxmLnRyYW5zcG9ydC5wYXVzZShmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgaWYgKGZhaWxlZCkgcmV0dXJuO1xuICAgICAgICAgIGlmICgnY2xvc2VkJyA9PT0gc2VsZi5yZWFkeVN0YXRlKSByZXR1cm47XG4gICAgICAgICAgZGVidWcoJ2NoYW5naW5nIHRyYW5zcG9ydCBhbmQgc2VuZGluZyB1cGdyYWRlIHBhY2tldCcpO1xuXG4gICAgICAgICAgY2xlYW51cCgpO1xuXG4gICAgICAgICAgc2VsZi5zZXRUcmFuc3BvcnQodHJhbnNwb3J0KTtcbiAgICAgICAgICB0cmFuc3BvcnQuc2VuZChbeyB0eXBlOiAndXBncmFkZScgfV0pO1xuICAgICAgICAgIHNlbGYuZW1pdCgndXBncmFkZScsIHRyYW5zcG9ydCk7XG4gICAgICAgICAgdHJhbnNwb3J0ID0gbnVsbDtcbiAgICAgICAgICBzZWxmLnVwZ3JhZGluZyA9IGZhbHNlO1xuICAgICAgICAgIHNlbGYuZmx1c2goKTtcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBkZWJ1ZygncHJvYmUgdHJhbnNwb3J0IFwiJXNcIiBmYWlsZWQnLCBuYW1lKTtcbiAgICAgICAgdmFyIGVyciA9IG5ldyBFcnJvcigncHJvYmUgZXJyb3InKTtcbiAgICAgICAgZXJyLnRyYW5zcG9ydCA9IHRyYW5zcG9ydC5uYW1lO1xuICAgICAgICBzZWxmLmVtaXQoJ3VwZ3JhZGVFcnJvcicsIGVycik7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBmdW5jdGlvbiBmcmVlemVUcmFuc3BvcnQgKCkge1xuICAgIGlmIChmYWlsZWQpIHJldHVybjtcblxuICAgIC8vIEFueSBjYWxsYmFjayBjYWxsZWQgYnkgdHJhbnNwb3J0IHNob3VsZCBiZSBpZ25vcmVkIHNpbmNlIG5vd1xuICAgIGZhaWxlZCA9IHRydWU7XG5cbiAgICBjbGVhbnVwKCk7XG5cbiAgICB0cmFuc3BvcnQuY2xvc2UoKTtcbiAgICB0cmFuc3BvcnQgPSBudWxsO1xuICB9XG5cbiAgLy8gSGFuZGxlIGFueSBlcnJvciB0aGF0IGhhcHBlbnMgd2hpbGUgcHJvYmluZ1xuICBmdW5jdGlvbiBvbmVycm9yIChlcnIpIHtcbiAgICB2YXIgZXJyb3IgPSBuZXcgRXJyb3IoJ3Byb2JlIGVycm9yOiAnICsgZXJyKTtcbiAgICBlcnJvci50cmFuc3BvcnQgPSB0cmFuc3BvcnQubmFtZTtcblxuICAgIGZyZWV6ZVRyYW5zcG9ydCgpO1xuXG4gICAgZGVidWcoJ3Byb2JlIHRyYW5zcG9ydCBcIiVzXCIgZmFpbGVkIGJlY2F1c2Ugb2YgZXJyb3I6ICVzJywgbmFtZSwgZXJyKTtcblxuICAgIHNlbGYuZW1pdCgndXBncmFkZUVycm9yJywgZXJyb3IpO1xuICB9XG5cbiAgZnVuY3Rpb24gb25UcmFuc3BvcnRDbG9zZSAoKSB7XG4gICAgb25lcnJvcigndHJhbnNwb3J0IGNsb3NlZCcpO1xuICB9XG5cbiAgLy8gV2hlbiB0aGUgc29ja2V0IGlzIGNsb3NlZCB3aGlsZSB3ZSdyZSBwcm9iaW5nXG4gIGZ1bmN0aW9uIG9uY2xvc2UgKCkge1xuICAgIG9uZXJyb3IoJ3NvY2tldCBjbG9zZWQnKTtcbiAgfVxuXG4gIC8vIFdoZW4gdGhlIHNvY2tldCBpcyB1cGdyYWRlZCB3aGlsZSB3ZSdyZSBwcm9iaW5nXG4gIGZ1bmN0aW9uIG9udXBncmFkZSAodG8pIHtcbiAgICBpZiAodHJhbnNwb3J0ICYmIHRvLm5hbWUgIT09IHRyYW5zcG9ydC5uYW1lKSB7XG4gICAgICBkZWJ1ZygnXCIlc1wiIHdvcmtzIC0gYWJvcnRpbmcgXCIlc1wiJywgdG8ubmFtZSwgdHJhbnNwb3J0Lm5hbWUpO1xuICAgICAgZnJlZXplVHJhbnNwb3J0KCk7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVtb3ZlIGFsbCBsaXN0ZW5lcnMgb24gdGhlIHRyYW5zcG9ydCBhbmQgb24gc2VsZlxuICBmdW5jdGlvbiBjbGVhbnVwICgpIHtcbiAgICB0cmFuc3BvcnQucmVtb3ZlTGlzdGVuZXIoJ29wZW4nLCBvblRyYW5zcG9ydE9wZW4pO1xuICAgIHRyYW5zcG9ydC5yZW1vdmVMaXN0ZW5lcignZXJyb3InLCBvbmVycm9yKTtcbiAgICB0cmFuc3BvcnQucmVtb3ZlTGlzdGVuZXIoJ2Nsb3NlJywgb25UcmFuc3BvcnRDbG9zZSk7XG4gICAgc2VsZi5yZW1vdmVMaXN0ZW5lcignY2xvc2UnLCBvbmNsb3NlKTtcbiAgICBzZWxmLnJlbW92ZUxpc3RlbmVyKCd1cGdyYWRpbmcnLCBvbnVwZ3JhZGUpO1xuICB9XG5cbiAgdHJhbnNwb3J0Lm9uY2UoJ29wZW4nLCBvblRyYW5zcG9ydE9wZW4pO1xuICB0cmFuc3BvcnQub25jZSgnZXJyb3InLCBvbmVycm9yKTtcbiAgdHJhbnNwb3J0Lm9uY2UoJ2Nsb3NlJywgb25UcmFuc3BvcnRDbG9zZSk7XG5cbiAgdGhpcy5vbmNlKCdjbG9zZScsIG9uY2xvc2UpO1xuICB0aGlzLm9uY2UoJ3VwZ3JhZGluZycsIG9udXBncmFkZSk7XG5cbiAgdHJhbnNwb3J0Lm9wZW4oKTtcbn07XG5cbi8qKlxuICogQ2FsbGVkIHdoZW4gY29ubmVjdGlvbiBpcyBkZWVtZWQgb3Blbi5cbiAqXG4gKiBAYXBpIHB1YmxpY1xuICovXG5cblNvY2tldC5wcm90b3R5cGUub25PcGVuID0gZnVuY3Rpb24gKCkge1xuICBkZWJ1Zygnc29ja2V0IG9wZW4nKTtcbiAgdGhpcy5yZWFkeVN0YXRlID0gJ29wZW4nO1xuICBTb2NrZXQucHJpb3JXZWJzb2NrZXRTdWNjZXNzID0gJ3dlYnNvY2tldCcgPT09IHRoaXMudHJhbnNwb3J0Lm5hbWU7XG4gIHRoaXMuZW1pdCgnb3BlbicpO1xuICB0aGlzLmZsdXNoKCk7XG5cbiAgLy8gd2UgY2hlY2sgZm9yIGByZWFkeVN0YXRlYCBpbiBjYXNlIGFuIGBvcGVuYFxuICAvLyBsaXN0ZW5lciBhbHJlYWR5IGNsb3NlZCB0aGUgc29ja2V0XG4gIGlmICgnb3BlbicgPT09IHRoaXMucmVhZHlTdGF0ZSAmJiB0aGlzLnVwZ3JhZGUgJiYgdGhpcy50cmFuc3BvcnQucGF1c2UpIHtcbiAgICBkZWJ1Zygnc3RhcnRpbmcgdXBncmFkZSBwcm9iZXMnKTtcbiAgICBmb3IgKHZhciBpID0gMCwgbCA9IHRoaXMudXBncmFkZXMubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgICB0aGlzLnByb2JlKHRoaXMudXBncmFkZXNbaV0pO1xuICAgIH1cbiAgfVxufTtcblxuLyoqXG4gKiBIYW5kbGVzIGEgcGFja2V0LlxuICpcbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5cblNvY2tldC5wcm90b3R5cGUub25QYWNrZXQgPSBmdW5jdGlvbiAocGFja2V0KSB7XG4gIGlmICgnb3BlbmluZycgPT09IHRoaXMucmVhZHlTdGF0ZSB8fCAnb3BlbicgPT09IHRoaXMucmVhZHlTdGF0ZSB8fFxuICAgICAgJ2Nsb3NpbmcnID09PSB0aGlzLnJlYWR5U3RhdGUpIHtcbiAgICBkZWJ1Zygnc29ja2V0IHJlY2VpdmU6IHR5cGUgXCIlc1wiLCBkYXRhIFwiJXNcIicsIHBhY2tldC50eXBlLCBwYWNrZXQuZGF0YSk7XG5cbiAgICB0aGlzLmVtaXQoJ3BhY2tldCcsIHBhY2tldCk7XG5cbiAgICAvLyBTb2NrZXQgaXMgbGl2ZSAtIGFueSBwYWNrZXQgY291bnRzXG4gICAgdGhpcy5lbWl0KCdoZWFydGJlYXQnKTtcblxuICAgIHN3aXRjaCAocGFja2V0LnR5cGUpIHtcbiAgICAgIGNhc2UgJ29wZW4nOlxuICAgICAgICB0aGlzLm9uSGFuZHNoYWtlKEpTT04ucGFyc2UocGFja2V0LmRhdGEpKTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgJ3BvbmcnOlxuICAgICAgICB0aGlzLnNldFBpbmcoKTtcbiAgICAgICAgdGhpcy5lbWl0KCdwb25nJyk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlICdlcnJvcic6XG4gICAgICAgIHZhciBlcnIgPSBuZXcgRXJyb3IoJ3NlcnZlciBlcnJvcicpO1xuICAgICAgICBlcnIuY29kZSA9IHBhY2tldC5kYXRhO1xuICAgICAgICB0aGlzLm9uRXJyb3IoZXJyKTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgJ21lc3NhZ2UnOlxuICAgICAgICB0aGlzLmVtaXQoJ2RhdGEnLCBwYWNrZXQuZGF0YSk7XG4gICAgICAgIHRoaXMuZW1pdCgnbWVzc2FnZScsIHBhY2tldC5kYXRhKTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIGRlYnVnKCdwYWNrZXQgcmVjZWl2ZWQgd2l0aCBzb2NrZXQgcmVhZHlTdGF0ZSBcIiVzXCInLCB0aGlzLnJlYWR5U3RhdGUpO1xuICB9XG59O1xuXG4vKipcbiAqIENhbGxlZCB1cG9uIGhhbmRzaGFrZSBjb21wbGV0aW9uLlxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSBoYW5kc2hha2Ugb2JqXG4gKiBAYXBpIHByaXZhdGVcbiAqL1xuXG5Tb2NrZXQucHJvdG90eXBlLm9uSGFuZHNoYWtlID0gZnVuY3Rpb24gKGRhdGEpIHtcbiAgdGhpcy5lbWl0KCdoYW5kc2hha2UnLCBkYXRhKTtcbiAgdGhpcy5pZCA9IGRhdGEuc2lkO1xuICB0aGlzLnRyYW5zcG9ydC5xdWVyeS5zaWQgPSBkYXRhLnNpZDtcbiAgdGhpcy51cGdyYWRlcyA9IHRoaXMuZmlsdGVyVXBncmFkZXMoZGF0YS51cGdyYWRlcyk7XG4gIHRoaXMucGluZ0ludGVydmFsID0gZGF0YS5waW5nSW50ZXJ2YWw7XG4gIHRoaXMucGluZ1RpbWVvdXQgPSBkYXRhLnBpbmdUaW1lb3V0O1xuICB0aGlzLm9uT3BlbigpO1xuICAvLyBJbiBjYXNlIG9wZW4gaGFuZGxlciBjbG9zZXMgc29ja2V0XG4gIGlmICgnY2xvc2VkJyA9PT0gdGhpcy5yZWFkeVN0YXRlKSByZXR1cm47XG4gIHRoaXMuc2V0UGluZygpO1xuXG4gIC8vIFByb2xvbmcgbGl2ZW5lc3Mgb2Ygc29ja2V0IG9uIGhlYXJ0YmVhdFxuICB0aGlzLnJlbW92ZUxpc3RlbmVyKCdoZWFydGJlYXQnLCB0aGlzLm9uSGVhcnRiZWF0KTtcbiAgdGhpcy5vbignaGVhcnRiZWF0JywgdGhpcy5vbkhlYXJ0YmVhdCk7XG59O1xuXG4vKipcbiAqIFJlc2V0cyBwaW5nIHRpbWVvdXQuXG4gKlxuICogQGFwaSBwcml2YXRlXG4gKi9cblxuU29ja2V0LnByb3RvdHlwZS5vbkhlYXJ0YmVhdCA9IGZ1bmN0aW9uICh0aW1lb3V0KSB7XG4gIGNsZWFyVGltZW91dCh0aGlzLnBpbmdUaW1lb3V0VGltZXIpO1xuICB2YXIgc2VsZiA9IHRoaXM7XG4gIHNlbGYucGluZ1RpbWVvdXRUaW1lciA9IHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgIGlmICgnY2xvc2VkJyA9PT0gc2VsZi5yZWFkeVN0YXRlKSByZXR1cm47XG4gICAgc2VsZi5vbkNsb3NlKCdwaW5nIHRpbWVvdXQnKTtcbiAgfSwgdGltZW91dCB8fCAoc2VsZi5waW5nSW50ZXJ2YWwgKyBzZWxmLnBpbmdUaW1lb3V0KSk7XG59O1xuXG4vKipcbiAqIFBpbmdzIHNlcnZlciBldmVyeSBgdGhpcy5waW5nSW50ZXJ2YWxgIGFuZCBleHBlY3RzIHJlc3BvbnNlXG4gKiB3aXRoaW4gYHRoaXMucGluZ1RpbWVvdXRgIG9yIGNsb3NlcyBjb25uZWN0aW9uLlxuICpcbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5cblNvY2tldC5wcm90b3R5cGUuc2V0UGluZyA9IGZ1bmN0aW9uICgpIHtcbiAgdmFyIHNlbGYgPSB0aGlzO1xuICBjbGVhclRpbWVvdXQoc2VsZi5waW5nSW50ZXJ2YWxUaW1lcik7XG4gIHNlbGYucGluZ0ludGVydmFsVGltZXIgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICBkZWJ1Zygnd3JpdGluZyBwaW5nIHBhY2tldCAtIGV4cGVjdGluZyBwb25nIHdpdGhpbiAlc21zJywgc2VsZi5waW5nVGltZW91dCk7XG4gICAgc2VsZi5waW5nKCk7XG4gICAgc2VsZi5vbkhlYXJ0YmVhdChzZWxmLnBpbmdUaW1lb3V0KTtcbiAgfSwgc2VsZi5waW5nSW50ZXJ2YWwpO1xufTtcblxuLyoqXG4qIFNlbmRzIGEgcGluZyBwYWNrZXQuXG4qXG4qIEBhcGkgcHJpdmF0ZVxuKi9cblxuU29ja2V0LnByb3RvdHlwZS5waW5nID0gZnVuY3Rpb24gKCkge1xuICB2YXIgc2VsZiA9IHRoaXM7XG4gIHRoaXMuc2VuZFBhY2tldCgncGluZycsIGZ1bmN0aW9uICgpIHtcbiAgICBzZWxmLmVtaXQoJ3BpbmcnKTtcbiAgfSk7XG59O1xuXG4vKipcbiAqIENhbGxlZCBvbiBgZHJhaW5gIGV2ZW50XG4gKlxuICogQGFwaSBwcml2YXRlXG4gKi9cblxuU29ja2V0LnByb3RvdHlwZS5vbkRyYWluID0gZnVuY3Rpb24gKCkge1xuICB0aGlzLndyaXRlQnVmZmVyLnNwbGljZSgwLCB0aGlzLnByZXZCdWZmZXJMZW4pO1xuXG4gIC8vIHNldHRpbmcgcHJldkJ1ZmZlckxlbiA9IDAgaXMgdmVyeSBpbXBvcnRhbnRcbiAgLy8gZm9yIGV4YW1wbGUsIHdoZW4gdXBncmFkaW5nLCB1cGdyYWRlIHBhY2tldCBpcyBzZW50IG92ZXIsXG4gIC8vIGFuZCBhIG5vbnplcm8gcHJldkJ1ZmZlckxlbiBjb3VsZCBjYXVzZSBwcm9ibGVtcyBvbiBgZHJhaW5gXG4gIHRoaXMucHJldkJ1ZmZlckxlbiA9IDA7XG5cbiAgaWYgKDAgPT09IHRoaXMud3JpdGVCdWZmZXIubGVuZ3RoKSB7XG4gICAgdGhpcy5lbWl0KCdkcmFpbicpO1xuICB9IGVsc2Uge1xuICAgIHRoaXMuZmx1c2goKTtcbiAgfVxufTtcblxuLyoqXG4gKiBGbHVzaCB3cml0ZSBidWZmZXJzLlxuICpcbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5cblNvY2tldC5wcm90b3R5cGUuZmx1c2ggPSBmdW5jdGlvbiAoKSB7XG4gIGlmICgnY2xvc2VkJyAhPT0gdGhpcy5yZWFkeVN0YXRlICYmIHRoaXMudHJhbnNwb3J0LndyaXRhYmxlICYmXG4gICAgIXRoaXMudXBncmFkaW5nICYmIHRoaXMud3JpdGVCdWZmZXIubGVuZ3RoKSB7XG4gICAgZGVidWcoJ2ZsdXNoaW5nICVkIHBhY2tldHMgaW4gc29ja2V0JywgdGhpcy53cml0ZUJ1ZmZlci5sZW5ndGgpO1xuICAgIHRoaXMudHJhbnNwb3J0LnNlbmQodGhpcy53cml0ZUJ1ZmZlcik7XG4gICAgLy8ga2VlcCB0cmFjayBvZiBjdXJyZW50IGxlbmd0aCBvZiB3cml0ZUJ1ZmZlclxuICAgIC8vIHNwbGljZSB3cml0ZUJ1ZmZlciBhbmQgY2FsbGJhY2tCdWZmZXIgb24gYGRyYWluYFxuICAgIHRoaXMucHJldkJ1ZmZlckxlbiA9IHRoaXMud3JpdGVCdWZmZXIubGVuZ3RoO1xuICAgIHRoaXMuZW1pdCgnZmx1c2gnKTtcbiAgfVxufTtcblxuLyoqXG4gKiBTZW5kcyBhIG1lc3NhZ2UuXG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IG1lc3NhZ2UuXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBjYWxsYmFjayBmdW5jdGlvbi5cbiAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zLlxuICogQHJldHVybiB7U29ja2V0fSBmb3IgY2hhaW5pbmcuXG4gKiBAYXBpIHB1YmxpY1xuICovXG5cblNvY2tldC5wcm90b3R5cGUud3JpdGUgPVxuU29ja2V0LnByb3RvdHlwZS5zZW5kID0gZnVuY3Rpb24gKG1zZywgb3B0aW9ucywgZm4pIHtcbiAgdGhpcy5zZW5kUGFja2V0KCdtZXNzYWdlJywgbXNnLCBvcHRpb25zLCBmbik7XG4gIHJldHVybiB0aGlzO1xufTtcblxuLyoqXG4gKiBTZW5kcyBhIHBhY2tldC5cbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gcGFja2V0IHR5cGUuXG4gKiBAcGFyYW0ge1N0cmluZ30gZGF0YS5cbiAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zLlxuICogQHBhcmFtIHtGdW5jdGlvbn0gY2FsbGJhY2sgZnVuY3Rpb24uXG4gKiBAYXBpIHByaXZhdGVcbiAqL1xuXG5Tb2NrZXQucHJvdG90eXBlLnNlbmRQYWNrZXQgPSBmdW5jdGlvbiAodHlwZSwgZGF0YSwgb3B0aW9ucywgZm4pIHtcbiAgaWYgKCdmdW5jdGlvbicgPT09IHR5cGVvZiBkYXRhKSB7XG4gICAgZm4gPSBkYXRhO1xuICAgIGRhdGEgPSB1bmRlZmluZWQ7XG4gIH1cblxuICBpZiAoJ2Z1bmN0aW9uJyA9PT0gdHlwZW9mIG9wdGlvbnMpIHtcbiAgICBmbiA9IG9wdGlvbnM7XG4gICAgb3B0aW9ucyA9IG51bGw7XG4gIH1cblxuICBpZiAoJ2Nsb3NpbmcnID09PSB0aGlzLnJlYWR5U3RhdGUgfHwgJ2Nsb3NlZCcgPT09IHRoaXMucmVhZHlTdGF0ZSkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIG9wdGlvbnMgPSBvcHRpb25zIHx8IHt9O1xuICBvcHRpb25zLmNvbXByZXNzID0gZmFsc2UgIT09IG9wdGlvbnMuY29tcHJlc3M7XG5cbiAgdmFyIHBhY2tldCA9IHtcbiAgICB0eXBlOiB0eXBlLFxuICAgIGRhdGE6IGRhdGEsXG4gICAgb3B0aW9uczogb3B0aW9uc1xuICB9O1xuICB0aGlzLmVtaXQoJ3BhY2tldENyZWF0ZScsIHBhY2tldCk7XG4gIHRoaXMud3JpdGVCdWZmZXIucHVzaChwYWNrZXQpO1xuICBpZiAoZm4pIHRoaXMub25jZSgnZmx1c2gnLCBmbik7XG4gIHRoaXMuZmx1c2goKTtcbn07XG5cbi8qKlxuICogQ2xvc2VzIHRoZSBjb25uZWN0aW9uLlxuICpcbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5cblNvY2tldC5wcm90b3R5cGUuY2xvc2UgPSBmdW5jdGlvbiAoKSB7XG4gIGlmICgnb3BlbmluZycgPT09IHRoaXMucmVhZHlTdGF0ZSB8fCAnb3BlbicgPT09IHRoaXMucmVhZHlTdGF0ZSkge1xuICAgIHRoaXMucmVhZHlTdGF0ZSA9ICdjbG9zaW5nJztcblxuICAgIHZhciBzZWxmID0gdGhpcztcblxuICAgIGlmICh0aGlzLndyaXRlQnVmZmVyLmxlbmd0aCkge1xuICAgICAgdGhpcy5vbmNlKCdkcmFpbicsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgaWYgKHRoaXMudXBncmFkaW5nKSB7XG4gICAgICAgICAgd2FpdEZvclVwZ3JhZGUoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjbG9zZSgpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9IGVsc2UgaWYgKHRoaXMudXBncmFkaW5nKSB7XG4gICAgICB3YWl0Rm9yVXBncmFkZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjbG9zZSgpO1xuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIGNsb3NlICgpIHtcbiAgICBzZWxmLm9uQ2xvc2UoJ2ZvcmNlZCBjbG9zZScpO1xuICAgIGRlYnVnKCdzb2NrZXQgY2xvc2luZyAtIHRlbGxpbmcgdHJhbnNwb3J0IHRvIGNsb3NlJyk7XG4gICAgc2VsZi50cmFuc3BvcnQuY2xvc2UoKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGNsZWFudXBBbmRDbG9zZSAoKSB7XG4gICAgc2VsZi5yZW1vdmVMaXN0ZW5lcigndXBncmFkZScsIGNsZWFudXBBbmRDbG9zZSk7XG4gICAgc2VsZi5yZW1vdmVMaXN0ZW5lcigndXBncmFkZUVycm9yJywgY2xlYW51cEFuZENsb3NlKTtcbiAgICBjbG9zZSgpO1xuICB9XG5cbiAgZnVuY3Rpb24gd2FpdEZvclVwZ3JhZGUgKCkge1xuICAgIC8vIHdhaXQgZm9yIHVwZ3JhZGUgdG8gZmluaXNoIHNpbmNlIHdlIGNhbid0IHNlbmQgcGFja2V0cyB3aGlsZSBwYXVzaW5nIGEgdHJhbnNwb3J0XG4gICAgc2VsZi5vbmNlKCd1cGdyYWRlJywgY2xlYW51cEFuZENsb3NlKTtcbiAgICBzZWxmLm9uY2UoJ3VwZ3JhZGVFcnJvcicsIGNsZWFudXBBbmRDbG9zZSk7XG4gIH1cblxuICByZXR1cm4gdGhpcztcbn07XG5cbi8qKlxuICogQ2FsbGVkIHVwb24gdHJhbnNwb3J0IGVycm9yXG4gKlxuICogQGFwaSBwcml2YXRlXG4gKi9cblxuU29ja2V0LnByb3RvdHlwZS5vbkVycm9yID0gZnVuY3Rpb24gKGVycikge1xuICBkZWJ1Zygnc29ja2V0IGVycm9yICVqJywgZXJyKTtcbiAgU29ja2V0LnByaW9yV2Vic29ja2V0U3VjY2VzcyA9IGZhbHNlO1xuICB0aGlzLmVtaXQoJ2Vycm9yJywgZXJyKTtcbiAgdGhpcy5vbkNsb3NlKCd0cmFuc3BvcnQgZXJyb3InLCBlcnIpO1xufTtcblxuLyoqXG4gKiBDYWxsZWQgdXBvbiB0cmFuc3BvcnQgY2xvc2UuXG4gKlxuICogQGFwaSBwcml2YXRlXG4gKi9cblxuU29ja2V0LnByb3RvdHlwZS5vbkNsb3NlID0gZnVuY3Rpb24gKHJlYXNvbiwgZGVzYykge1xuICBpZiAoJ29wZW5pbmcnID09PSB0aGlzLnJlYWR5U3RhdGUgfHwgJ29wZW4nID09PSB0aGlzLnJlYWR5U3RhdGUgfHwgJ2Nsb3NpbmcnID09PSB0aGlzLnJlYWR5U3RhdGUpIHtcbiAgICBkZWJ1Zygnc29ja2V0IGNsb3NlIHdpdGggcmVhc29uOiBcIiVzXCInLCByZWFzb24pO1xuICAgIHZhciBzZWxmID0gdGhpcztcblxuICAgIC8vIGNsZWFyIHRpbWVyc1xuICAgIGNsZWFyVGltZW91dCh0aGlzLnBpbmdJbnRlcnZhbFRpbWVyKTtcbiAgICBjbGVhclRpbWVvdXQodGhpcy5waW5nVGltZW91dFRpbWVyKTtcblxuICAgIC8vIHN0b3AgZXZlbnQgZnJvbSBmaXJpbmcgYWdhaW4gZm9yIHRyYW5zcG9ydFxuICAgIHRoaXMudHJhbnNwb3J0LnJlbW92ZUFsbExpc3RlbmVycygnY2xvc2UnKTtcblxuICAgIC8vIGVuc3VyZSB0cmFuc3BvcnQgd29uJ3Qgc3RheSBvcGVuXG4gICAgdGhpcy50cmFuc3BvcnQuY2xvc2UoKTtcblxuICAgIC8vIGlnbm9yZSBmdXJ0aGVyIHRyYW5zcG9ydCBjb21tdW5pY2F0aW9uXG4gICAgdGhpcy50cmFuc3BvcnQucmVtb3ZlQWxsTGlzdGVuZXJzKCk7XG5cbiAgICAvLyBzZXQgcmVhZHkgc3RhdGVcbiAgICB0aGlzLnJlYWR5U3RhdGUgPSAnY2xvc2VkJztcblxuICAgIC8vIGNsZWFyIHNlc3Npb24gaWRcbiAgICB0aGlzLmlkID0gbnVsbDtcblxuICAgIC8vIGVtaXQgY2xvc2UgZXZlbnRcbiAgICB0aGlzLmVtaXQoJ2Nsb3NlJywgcmVhc29uLCBkZXNjKTtcblxuICAgIC8vIGNsZWFuIGJ1ZmZlcnMgYWZ0ZXIsIHNvIHVzZXJzIGNhbiBzdGlsbFxuICAgIC8vIGdyYWIgdGhlIGJ1ZmZlcnMgb24gYGNsb3NlYCBldmVudFxuICAgIHNlbGYud3JpdGVCdWZmZXIgPSBbXTtcbiAgICBzZWxmLnByZXZCdWZmZXJMZW4gPSAwO1xuICB9XG59O1xuXG4vKipcbiAqIEZpbHRlcnMgdXBncmFkZXMsIHJldHVybmluZyBvbmx5IHRob3NlIG1hdGNoaW5nIGNsaWVudCB0cmFuc3BvcnRzLlxuICpcbiAqIEBwYXJhbSB7QXJyYXl9IHNlcnZlciB1cGdyYWRlc1xuICogQGFwaSBwcml2YXRlXG4gKlxuICovXG5cblNvY2tldC5wcm90b3R5cGUuZmlsdGVyVXBncmFkZXMgPSBmdW5jdGlvbiAodXBncmFkZXMpIHtcbiAgdmFyIGZpbHRlcmVkVXBncmFkZXMgPSBbXTtcbiAgZm9yICh2YXIgaSA9IDAsIGogPSB1cGdyYWRlcy5sZW5ndGg7IGkgPCBqOyBpKyspIHtcbiAgICBpZiAofmluZGV4KHRoaXMudHJhbnNwb3J0cywgdXBncmFkZXNbaV0pKSBmaWx0ZXJlZFVwZ3JhZGVzLnB1c2godXBncmFkZXNbaV0pO1xuICB9XG4gIHJldHVybiBmaWx0ZXJlZFVwZ3JhZGVzO1xufTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/engine.io-client/lib/socket.js\n"); /***/ }), /***/ "./node_modules/engine.io-client/lib/transport.js": /*!********************************************************!*\ !*** ./node_modules/engine.io-client/lib/transport.js ***! \********************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("/**\n * Module dependencies.\n */\n\nvar parser = __webpack_require__(/*! engine.io-parser */ \"./node_modules/engine.io-client/node_modules/engine.io-parser/lib/browser.js\");\nvar Emitter = __webpack_require__(/*! component-emitter */ \"./node_modules/engine.io-client/node_modules/component-emitter/index.js\");\n\n/**\n * Module exports.\n */\n\nmodule.exports = Transport;\n\n/**\n * Transport abstract constructor.\n *\n * @param {Object} options.\n * @api private\n */\n\nfunction Transport (opts) {\n this.path = opts.path;\n this.hostname = opts.hostname;\n this.port = opts.port;\n this.secure = opts.secure;\n this.query = opts.query;\n this.timestampParam = opts.timestampParam;\n this.timestampRequests = opts.timestampRequests;\n this.readyState = '';\n this.agent = opts.agent || false;\n this.socket = opts.socket;\n this.enablesXDR = opts.enablesXDR;\n this.withCredentials = opts.withCredentials;\n\n // SSL options for Node.js client\n this.pfx = opts.pfx;\n this.key = opts.key;\n this.passphrase = opts.passphrase;\n this.cert = opts.cert;\n this.ca = opts.ca;\n this.ciphers = opts.ciphers;\n this.rejectUnauthorized = opts.rejectUnauthorized;\n this.forceNode = opts.forceNode;\n\n // results of ReactNative environment detection\n this.isReactNative = opts.isReactNative;\n\n // other options for Node.js client\n this.extraHeaders = opts.extraHeaders;\n this.localAddress = opts.localAddress;\n}\n\n/**\n * Mix in `Emitter`.\n */\n\nEmitter(Transport.prototype);\n\n/**\n * Emits an error.\n *\n * @param {String} str\n * @return {Transport} for chaining\n * @api public\n */\n\nTransport.prototype.onError = function (msg, desc) {\n var err = new Error(msg);\n err.type = 'TransportError';\n err.description = desc;\n this.emit('error', err);\n return this;\n};\n\n/**\n * Opens the transport.\n *\n * @api public\n */\n\nTransport.prototype.open = function () {\n if ('closed' === this.readyState || '' === this.readyState) {\n this.readyState = 'opening';\n this.doOpen();\n }\n\n return this;\n};\n\n/**\n * Closes the transport.\n *\n * @api private\n */\n\nTransport.prototype.close = function () {\n if ('opening' === this.readyState || 'open' === this.readyState) {\n this.doClose();\n this.onClose();\n }\n\n return this;\n};\n\n/**\n * Sends multiple packets.\n *\n * @param {Array} packets\n * @api private\n */\n\nTransport.prototype.send = function (packets) {\n if ('open' === this.readyState) {\n this.write(packets);\n } else {\n throw new Error('Transport not open');\n }\n};\n\n/**\n * Called upon open\n *\n * @api private\n */\n\nTransport.prototype.onOpen = function () {\n this.readyState = 'open';\n this.writable = true;\n this.emit('open');\n};\n\n/**\n * Called with data.\n *\n * @param {String} data\n * @api private\n */\n\nTransport.prototype.onData = function (data) {\n var packet = parser.decodePacket(data, this.socket.binaryType);\n this.onPacket(packet);\n};\n\n/**\n * Called with a decoded packet.\n */\n\nTransport.prototype.onPacket = function (packet) {\n this.emit('packet', packet);\n};\n\n/**\n * Called upon close.\n *\n * @api private\n */\n\nTransport.prototype.onClose = function () {\n this.readyState = 'closed';\n this.emit('close');\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZW5naW5lLmlvLWNsaWVudC9saWIvdHJhbnNwb3J0LmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2VuZ2luZS5pby1jbGllbnQvbGliL3RyYW5zcG9ydC5qcz8xOWI3Il0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogTW9kdWxlIGRlcGVuZGVuY2llcy5cbiAqL1xuXG52YXIgcGFyc2VyID0gcmVxdWlyZSgnZW5naW5lLmlvLXBhcnNlcicpO1xudmFyIEVtaXR0ZXIgPSByZXF1aXJlKCdjb21wb25lbnQtZW1pdHRlcicpO1xuXG4vKipcbiAqIE1vZHVsZSBleHBvcnRzLlxuICovXG5cbm1vZHVsZS5leHBvcnRzID0gVHJhbnNwb3J0O1xuXG4vKipcbiAqIFRyYW5zcG9ydCBhYnN0cmFjdCBjb25zdHJ1Y3Rvci5cbiAqXG4gKiBAcGFyYW0ge09iamVjdH0gb3B0aW9ucy5cbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5cbmZ1bmN0aW9uIFRyYW5zcG9ydCAob3B0cykge1xuICB0aGlzLnBhdGggPSBvcHRzLnBhdGg7XG4gIHRoaXMuaG9zdG5hbWUgPSBvcHRzLmhvc3RuYW1lO1xuICB0aGlzLnBvcnQgPSBvcHRzLnBvcnQ7XG4gIHRoaXMuc2VjdXJlID0gb3B0cy5zZWN1cmU7XG4gIHRoaXMucXVlcnkgPSBvcHRzLnF1ZXJ5O1xuICB0aGlzLnRpbWVzdGFtcFBhcmFtID0gb3B0cy50aW1lc3RhbXBQYXJhbTtcbiAgdGhpcy50aW1lc3RhbXBSZXF1ZXN0cyA9IG9wdHMudGltZXN0YW1wUmVxdWVzdHM7XG4gIHRoaXMucmVhZHlTdGF0ZSA9ICcnO1xuICB0aGlzLmFnZW50ID0gb3B0cy5hZ2VudCB8fCBmYWxzZTtcbiAgdGhpcy5zb2NrZXQgPSBvcHRzLnNvY2tldDtcbiAgdGhpcy5lbmFibGVzWERSID0gb3B0cy5lbmFibGVzWERSO1xuICB0aGlzLndpdGhDcmVkZW50aWFscyA9IG9wdHMud2l0aENyZWRlbnRpYWxzO1xuXG4gIC8vIFNTTCBvcHRpb25zIGZvciBOb2RlLmpzIGNsaWVudFxuICB0aGlzLnBmeCA9IG9wdHMucGZ4O1xuICB0aGlzLmtleSA9IG9wdHMua2V5O1xuICB0aGlzLnBhc3NwaHJhc2UgPSBvcHRzLnBhc3NwaHJhc2U7XG4gIHRoaXMuY2VydCA9IG9wdHMuY2VydDtcbiAgdGhpcy5jYSA9IG9wdHMuY2E7XG4gIHRoaXMuY2lwaGVycyA9IG9wdHMuY2lwaGVycztcbiAgdGhpcy5yZWplY3RVbmF1dGhvcml6ZWQgPSBvcHRzLnJlamVjdFVuYXV0aG9yaXplZDtcbiAgdGhpcy5mb3JjZU5vZGUgPSBvcHRzLmZvcmNlTm9kZTtcblxuICAvLyByZXN1bHRzIG9mIFJlYWN0TmF0aXZlIGVudmlyb25tZW50IGRldGVjdGlvblxuICB0aGlzLmlzUmVhY3ROYXRpdmUgPSBvcHRzLmlzUmVhY3ROYXRpdmU7XG5cbiAgLy8gb3RoZXIgb3B0aW9ucyBmb3IgTm9kZS5qcyBjbGllbnRcbiAgdGhpcy5leHRyYUhlYWRlcnMgPSBvcHRzLmV4dHJhSGVhZGVycztcbiAgdGhpcy5sb2NhbEFkZHJlc3MgPSBvcHRzLmxvY2FsQWRkcmVzcztcbn1cblxuLyoqXG4gKiBNaXggaW4gYEVtaXR0ZXJgLlxuICovXG5cbkVtaXR0ZXIoVHJhbnNwb3J0LnByb3RvdHlwZSk7XG5cbi8qKlxuICogRW1pdHMgYW4gZXJyb3IuXG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IHN0clxuICogQHJldHVybiB7VHJhbnNwb3J0fSBmb3IgY2hhaW5pbmdcbiAqIEBhcGkgcHVibGljXG4gKi9cblxuVHJhbnNwb3J0LnByb3RvdHlwZS5vbkVycm9yID0gZnVuY3Rpb24gKG1zZywgZGVzYykge1xuICB2YXIgZXJyID0gbmV3IEVycm9yKG1zZyk7XG4gIGVyci50eXBlID0gJ1RyYW5zcG9ydEVycm9yJztcbiAgZXJyLmRlc2NyaXB0aW9uID0gZGVzYztcbiAgdGhpcy5lbWl0KCdlcnJvcicsIGVycik7XG4gIHJldHVybiB0aGlzO1xufTtcblxuLyoqXG4gKiBPcGVucyB0aGUgdHJhbnNwb3J0LlxuICpcbiAqIEBhcGkgcHVibGljXG4gKi9cblxuVHJhbnNwb3J0LnByb3RvdHlwZS5vcGVuID0gZnVuY3Rpb24gKCkge1xuICBpZiAoJ2Nsb3NlZCcgPT09IHRoaXMucmVhZHlTdGF0ZSB8fCAnJyA9PT0gdGhpcy5yZWFkeVN0YXRlKSB7XG4gICAgdGhpcy5yZWFkeVN0YXRlID0gJ29wZW5pbmcnO1xuICAgIHRoaXMuZG9PcGVuKCk7XG4gIH1cblxuICByZXR1cm4gdGhpcztcbn07XG5cbi8qKlxuICogQ2xvc2VzIHRoZSB0cmFuc3BvcnQuXG4gKlxuICogQGFwaSBwcml2YXRlXG4gKi9cblxuVHJhbnNwb3J0LnByb3RvdHlwZS5jbG9zZSA9IGZ1bmN0aW9uICgpIHtcbiAgaWYgKCdvcGVuaW5nJyA9PT0gdGhpcy5yZWFkeVN0YXRlIHx8ICdvcGVuJyA9PT0gdGhpcy5yZWFkeVN0YXRlKSB7XG4gICAgdGhpcy5kb0Nsb3NlKCk7XG4gICAgdGhpcy5vbkNsb3NlKCk7XG4gIH1cblxuICByZXR1cm4gdGhpcztcbn07XG5cbi8qKlxuICogU2VuZHMgbXVsdGlwbGUgcGFja2V0cy5cbiAqXG4gKiBAcGFyYW0ge0FycmF5fSBwYWNrZXRzXG4gKiBAYXBpIHByaXZhdGVcbiAqL1xuXG5UcmFuc3BvcnQucHJvdG90eXBlLnNlbmQgPSBmdW5jdGlvbiAocGFja2V0cykge1xuICBpZiAoJ29wZW4nID09PSB0aGlzLnJlYWR5U3RhdGUpIHtcbiAgICB0aGlzLndyaXRlKHBhY2tldHMpO1xuICB9IGVsc2Uge1xuICAgIHRocm93IG5ldyBFcnJvcignVHJhbnNwb3J0IG5vdCBvcGVuJyk7XG4gIH1cbn07XG5cbi8qKlxuICogQ2FsbGVkIHVwb24gb3BlblxuICpcbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5cblRyYW5zcG9ydC5wcm90b3R5cGUub25PcGVuID0gZnVuY3Rpb24gKCkge1xuICB0aGlzLnJlYWR5U3RhdGUgPSAnb3Blbic7XG4gIHRoaXMud3JpdGFibGUgPSB0cnVlO1xuICB0aGlzLmVtaXQoJ29wZW4nKTtcbn07XG5cbi8qKlxuICogQ2FsbGVkIHdpdGggZGF0YS5cbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gZGF0YVxuICogQGFwaSBwcml2YXRlXG4gKi9cblxuVHJhbnNwb3J0LnByb3RvdHlwZS5vbkRhdGEgPSBmdW5jdGlvbiAoZGF0YSkge1xuICB2YXIgcGFja2V0ID0gcGFyc2VyLmRlY29kZVBhY2tldChkYXRhLCB0aGlzLnNvY2tldC5iaW5hcnlUeXBlKTtcbiAgdGhpcy5vblBhY2tldChwYWNrZXQpO1xufTtcblxuLyoqXG4gKiBDYWxsZWQgd2l0aCBhIGRlY29kZWQgcGFja2V0LlxuICovXG5cblRyYW5zcG9ydC5wcm90b3R5cGUub25QYWNrZXQgPSBmdW5jdGlvbiAocGFja2V0KSB7XG4gIHRoaXMuZW1pdCgncGFja2V0JywgcGFja2V0KTtcbn07XG5cbi8qKlxuICogQ2FsbGVkIHVwb24gY2xvc2UuXG4gKlxuICogQGFwaSBwcml2YXRlXG4gKi9cblxuVHJhbnNwb3J0LnByb3RvdHlwZS5vbkNsb3NlID0gZnVuY3Rpb24gKCkge1xuICB0aGlzLnJlYWR5U3RhdGUgPSAnY2xvc2VkJztcbiAgdGhpcy5lbWl0KCdjbG9zZScpO1xufTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/engine.io-client/lib/transport.js\n"); /***/ }), /***/ "./node_modules/engine.io-client/lib/transports/index.js": /*!***************************************************************!*\ !*** ./node_modules/engine.io-client/lib/transports/index.js ***! \***************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("/**\n * Module dependencies\n */\n\nvar XMLHttpRequest = __webpack_require__(/*! xmlhttprequest-ssl */ \"./node_modules/engine.io-client/lib/xmlhttprequest.js\");\nvar XHR = __webpack_require__(/*! ./polling-xhr */ \"./node_modules/engine.io-client/lib/transports/polling-xhr.js\");\nvar JSONP = __webpack_require__(/*! ./polling-jsonp */ \"./node_modules/engine.io-client/lib/transports/polling-jsonp.js\");\nvar websocket = __webpack_require__(/*! ./websocket */ \"./node_modules/engine.io-client/lib/transports/websocket.js\");\n\n/**\n * Export transports.\n */\n\nexports.polling = polling;\nexports.websocket = websocket;\n\n/**\n * Polling transport polymorphic constructor.\n * Decides on xhr vs jsonp based on feature detection.\n *\n * @api private\n */\n\nfunction polling (opts) {\n var xhr;\n var xd = false;\n var xs = false;\n var jsonp = false !== opts.jsonp;\n\n if (typeof location !== 'undefined') {\n var isSSL = 'https:' === location.protocol;\n var port = location.port;\n\n // some user agents have empty `location.port`\n if (!port) {\n port = isSSL ? 443 : 80;\n }\n\n xd = opts.hostname !== location.hostname || port !== opts.port;\n xs = opts.secure !== isSSL;\n }\n\n opts.xdomain = xd;\n opts.xscheme = xs;\n xhr = new XMLHttpRequest(opts);\n\n if ('open' in xhr && !opts.forceJSONP) {\n return new XHR(opts);\n } else {\n if (!jsonp) throw new Error('JSONP disabled');\n return new JSONP(opts);\n }\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZW5naW5lLmlvLWNsaWVudC9saWIvdHJhbnNwb3J0cy9pbmRleC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9lbmdpbmUuaW8tY2xpZW50L2xpYi90cmFuc3BvcnRzL2luZGV4LmpzPzZhNDQiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBNb2R1bGUgZGVwZW5kZW5jaWVzXG4gKi9cblxudmFyIFhNTEh0dHBSZXF1ZXN0ID0gcmVxdWlyZSgneG1saHR0cHJlcXVlc3Qtc3NsJyk7XG52YXIgWEhSID0gcmVxdWlyZSgnLi9wb2xsaW5nLXhocicpO1xudmFyIEpTT05QID0gcmVxdWlyZSgnLi9wb2xsaW5nLWpzb25wJyk7XG52YXIgd2Vic29ja2V0ID0gcmVxdWlyZSgnLi93ZWJzb2NrZXQnKTtcblxuLyoqXG4gKiBFeHBvcnQgdHJhbnNwb3J0cy5cbiAqL1xuXG5leHBvcnRzLnBvbGxpbmcgPSBwb2xsaW5nO1xuZXhwb3J0cy53ZWJzb2NrZXQgPSB3ZWJzb2NrZXQ7XG5cbi8qKlxuICogUG9sbGluZyB0cmFuc3BvcnQgcG9seW1vcnBoaWMgY29uc3RydWN0b3IuXG4gKiBEZWNpZGVzIG9uIHhociB2cyBqc29ucCBiYXNlZCBvbiBmZWF0dXJlIGRldGVjdGlvbi5cbiAqXG4gKiBAYXBpIHByaXZhdGVcbiAqL1xuXG5mdW5jdGlvbiBwb2xsaW5nIChvcHRzKSB7XG4gIHZhciB4aHI7XG4gIHZhciB4ZCA9IGZhbHNlO1xuICB2YXIgeHMgPSBmYWxzZTtcbiAgdmFyIGpzb25wID0gZmFsc2UgIT09IG9wdHMuanNvbnA7XG5cbiAgaWYgKHR5cGVvZiBsb2NhdGlvbiAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICB2YXIgaXNTU0wgPSAnaHR0cHM6JyA9PT0gbG9jYXRpb24ucHJvdG9jb2w7XG4gICAgdmFyIHBvcnQgPSBsb2NhdGlvbi5wb3J0O1xuXG4gICAgLy8gc29tZSB1c2VyIGFnZW50cyBoYXZlIGVtcHR5IGBsb2NhdGlvbi5wb3J0YFxuICAgIGlmICghcG9ydCkge1xuICAgICAgcG9ydCA9IGlzU1NMID8gNDQzIDogODA7XG4gICAgfVxuXG4gICAgeGQgPSBvcHRzLmhvc3RuYW1lICE9PSBsb2NhdGlvbi5ob3N0bmFtZSB8fCBwb3J0ICE9PSBvcHRzLnBvcnQ7XG4gICAgeHMgPSBvcHRzLnNlY3VyZSAhPT0gaXNTU0w7XG4gIH1cblxuICBvcHRzLnhkb21haW4gPSB4ZDtcbiAgb3B0cy54c2NoZW1lID0geHM7XG4gIHhociA9IG5ldyBYTUxIdHRwUmVxdWVzdChvcHRzKTtcblxuICBpZiAoJ29wZW4nIGluIHhociAmJiAhb3B0cy5mb3JjZUpTT05QKSB7XG4gICAgcmV0dXJuIG5ldyBYSFIob3B0cyk7XG4gIH0gZWxzZSB7XG4gICAgaWYgKCFqc29ucCkgdGhyb3cgbmV3IEVycm9yKCdKU09OUCBkaXNhYmxlZCcpO1xuICAgIHJldHVybiBuZXcgSlNPTlAob3B0cyk7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/engine.io-client/lib/transports/index.js\n"); /***/ }), /***/ "./node_modules/engine.io-client/lib/transports/polling-jsonp.js": /*!***********************************************************************!*\ !*** ./node_modules/engine.io-client/lib/transports/polling-jsonp.js ***! \***********************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("/**\n * Module requirements.\n */\n\nvar Polling = __webpack_require__(/*! ./polling */ \"./node_modules/engine.io-client/lib/transports/polling.js\");\nvar inherit = __webpack_require__(/*! component-inherit */ \"./node_modules/component-inherit/index.js\");\nvar globalThis = __webpack_require__(/*! ../globalThis */ \"./node_modules/engine.io-client/lib/globalThis.browser.js\");\n\n/**\n * Module exports.\n */\n\nmodule.exports = JSONPPolling;\n\n/**\n * Cached regular expressions.\n */\n\nvar rNewline = /\\n/g;\nvar rEscapedNewline = /\\\\n/g;\n\n/**\n * Global JSONP callbacks.\n */\n\nvar callbacks;\n\n/**\n * Noop.\n */\n\nfunction empty () { }\n\n/**\n * JSONP Polling constructor.\n *\n * @param {Object} opts.\n * @api public\n */\n\nfunction JSONPPolling (opts) {\n Polling.call(this, opts);\n\n this.query = this.query || {};\n\n // define global callbacks array if not present\n // we do this here (lazily) to avoid unneeded global pollution\n if (!callbacks) {\n // we need to consider multiple engines in the same page\n callbacks = globalThis.___eio = (globalThis.___eio || []);\n }\n\n // callback identifier\n this.index = callbacks.length;\n\n // add callback to jsonp global\n var self = this;\n callbacks.push(function (msg) {\n self.onData(msg);\n });\n\n // append to query string\n this.query.j = this.index;\n\n // prevent spurious errors from being emitted when the window is unloaded\n if (typeof addEventListener === 'function') {\n addEventListener('beforeunload', function () {\n if (self.script) self.script.onerror = empty;\n }, false);\n }\n}\n\n/**\n * Inherits from Polling.\n */\n\ninherit(JSONPPolling, Polling);\n\n/*\n * JSONP only supports binary as base64 encoded strings\n */\n\nJSONPPolling.prototype.supportsBinary = false;\n\n/**\n * Closes the socket.\n *\n * @api private\n */\n\nJSONPPolling.prototype.doClose = function () {\n if (this.script) {\n this.script.parentNode.removeChild(this.script);\n this.script = null;\n }\n\n if (this.form) {\n this.form.parentNode.removeChild(this.form);\n this.form = null;\n this.iframe = null;\n }\n\n Polling.prototype.doClose.call(this);\n};\n\n/**\n * Starts a poll cycle.\n *\n * @api private\n */\n\nJSONPPolling.prototype.doPoll = function () {\n var self = this;\n var script = document.createElement('script');\n\n if (this.script) {\n this.script.parentNode.removeChild(this.script);\n this.script = null;\n }\n\n script.async = true;\n script.src = this.uri();\n script.onerror = function (e) {\n self.onError('jsonp poll error', e);\n };\n\n var insertAt = document.getElementsByTagName('script')[0];\n if (insertAt) {\n insertAt.parentNode.insertBefore(script, insertAt);\n } else {\n (document.head || document.body).appendChild(script);\n }\n this.script = script;\n\n var isUAgecko = 'undefined' !== typeof navigator && /gecko/i.test(navigator.userAgent);\n\n if (isUAgecko) {\n setTimeout(function () {\n var iframe = document.createElement('iframe');\n document.body.appendChild(iframe);\n document.body.removeChild(iframe);\n }, 100);\n }\n};\n\n/**\n * Writes with a hidden iframe.\n *\n * @param {String} data to send\n * @param {Function} called upon flush.\n * @api private\n */\n\nJSONPPolling.prototype.doWrite = function (data, fn) {\n var self = this;\n\n if (!this.form) {\n var form = document.createElement('form');\n var area = document.createElement('textarea');\n var id = this.iframeId = 'eio_iframe_' + this.index;\n var iframe;\n\n form.className = 'socketio';\n form.style.position = 'absolute';\n form.style.top = '-1000px';\n form.style.left = '-1000px';\n form.target = id;\n form.method = 'POST';\n form.setAttribute('accept-charset', 'utf-8');\n area.name = 'd';\n form.appendChild(area);\n document.body.appendChild(form);\n\n this.form = form;\n this.area = area;\n }\n\n this.form.action = this.uri();\n\n function complete () {\n initIframe();\n fn();\n }\n\n function initIframe () {\n if (self.iframe) {\n try {\n self.form.removeChild(self.iframe);\n } catch (e) {\n self.onError('jsonp polling iframe removal error', e);\n }\n }\n\n try {\n // ie6 dynamic iframes with target=\"\" support (thanks Chris Lambacher)\n var html = '