/* * ATTENTION: An "eval-source-map" devtool has been used. * This devtool is neither made for production nor for readable output files. * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) * or disable the default devtool with "devtool: false". * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). */ var Grav; /******/ (() => { // webpackBootstrap /******/ var __webpack_modules__ = ({ /***/ "./app/dashboard/backup.js": /*!*********************************!*\ !*** ./app/dashboard/backup.js ***! \*********************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ \"jquery\");\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var grav_config__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! grav-config */ \"grav-config\");\n/* harmony import */ var grav_config__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(grav_config__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _utils_request__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils/request */ \"./app/utils/request.js\");\n/* harmony import */ var _chart__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./chart */ \"./app/dashboard/chart.js\");\n\n\n\n\njquery__WEBPACK_IMPORTED_MODULE_0___default()('[data-backup][data-ajax*=\"backup/\"]').on('click', function () {\n var element = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this);\n var url = element.data('ajax');\n var inDropdown = element.closest('.dropdown-menu');\n (inDropdown.length ? inDropdown : element).closest('.button-group').find('> button:first').attr('disabled', 'disabled').find('> .fa').removeClass('fa-life-ring').addClass('fa-spin fa-refresh');\n (0,_utils_request__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(url, function\n /* response */\n () {\n if (_chart__WEBPACK_IMPORTED_MODULE_3__.Instances && _chart__WEBPACK_IMPORTED_MODULE_3__.Instances.backups) {\n _chart__WEBPACK_IMPORTED_MODULE_3__.Instances.backups.updateData({\n series: [0, 100]\n });\n _chart__WEBPACK_IMPORTED_MODULE_3__.Instances.backups.element.find('.numeric').html(\"0 \".concat(grav_config__WEBPACK_IMPORTED_MODULE_1__.translations.PLUGIN_ADMIN.DAYS.toLowerCase(), \"\"));\n }\n\n (inDropdown.length ? inDropdown : element).closest('.button-group').find('> button:first').removeAttr('disabled').find('> .fa').removeClass('fa-spin fa-refresh').addClass('fa-life-ring');\n });\n});\njquery__WEBPACK_IMPORTED_MODULE_0___default()('[data-backup][data-ajax*=\"backupDelete\"]').on('click', function () {\n var element = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this);\n var url = element.data('ajax');\n var tr = element.closest('tr');\n tr.addClass('deleting');\n (0,_utils_request__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(url, function (response) {\n if (response.status === 'success') {\n tr.remove();\n } else {\n tr.removeClass('deleting');\n }\n });\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9hcHAvZGFzaGJvYXJkL2JhY2t1cC5qcy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFFQUEsNkNBQUMsQ0FBQyxxQ0FBRCxDQUFELENBQXlDSyxFQUF6QyxDQUE0QyxPQUE1QyxFQUFxRCxZQUFXO0FBQzVELE1BQUlDLE9BQU8sR0FBR04sNkNBQUMsQ0FBQyxJQUFELENBQWY7QUFDQSxNQUFJTyxHQUFHLEdBQUdELE9BQU8sQ0FBQ0UsSUFBUixDQUFhLE1BQWIsQ0FBVjtBQUNBLE1BQU1DLFVBQVUsR0FBR0gsT0FBTyxDQUFDSSxPQUFSLENBQWdCLGdCQUFoQixDQUFuQjtBQUVBLEdBQUNELFVBQVUsQ0FBQ0UsTUFBWCxHQUFvQkYsVUFBcEIsR0FBaUNILE9BQWxDLEVBQ0tJLE9BREwsQ0FDYSxlQURiLEVBQzhCRSxJQUQ5QixDQUNtQyxnQkFEbkMsRUFFS0MsSUFGTCxDQUVVLFVBRlYsRUFFc0IsVUFGdEIsRUFHS0QsSUFITCxDQUdVLE9BSFYsRUFHbUJFLFdBSG5CLENBRytCLGNBSC9CLEVBRytDQyxRQUgvQyxDQUd3RCxvQkFIeEQ7QUFLQWIsRUFBQUEsMERBQU8sQ0FBQ0ssR0FBRCxFQUFNO0FBQUM7QUFBRCxLQUFvQjtBQUM3QixRQUFJSCw2Q0FBTSxJQUFJQSxxREFBZCxFQUE4QjtBQUMxQkEsTUFBQUEsZ0VBQUEsQ0FBMEI7QUFBRWMsUUFBQUEsTUFBTSxFQUFFLENBQUMsQ0FBRCxFQUFJLEdBQUo7QUFBVixPQUExQjtBQUNBZCxNQUFBQSxrRUFBQSxDQUE0QixVQUE1QixFQUF3Q2UsSUFBeEMsaUJBQXNEbEIsbUZBQUEsRUFBdEQ7QUFDSDs7QUFFRCxLQUFDUSxVQUFVLENBQUNFLE1BQVgsR0FBb0JGLFVBQXBCLEdBQWlDSCxPQUFsQyxFQUNLSSxPQURMLENBQ2EsZUFEYixFQUM4QkUsSUFEOUIsQ0FDbUMsZ0JBRG5DLEVBRUtXLFVBRkwsQ0FFZ0IsVUFGaEIsRUFHS1gsSUFITCxDQUdVLE9BSFYsRUFHbUJFLFdBSG5CLENBRytCLG9CQUgvQixFQUdxREMsUUFIckQsQ0FHOEQsY0FIOUQ7QUFJSCxHQVZNLENBQVA7QUFXSCxDQXJCRDtBQXVCQWYsNkNBQUMsQ0FBQywwQ0FBRCxDQUFELENBQThDSyxFQUE5QyxDQUFpRCxPQUFqRCxFQUEwRCxZQUFXO0FBQ2pFLE1BQUlDLE9BQU8sR0FBR04sNkNBQUMsQ0FBQyxJQUFELENBQWY7QUFDQSxNQUFJTyxHQUFHLEdBQUdELE9BQU8sQ0FBQ0UsSUFBUixDQUFhLE1BQWIsQ0FBVjtBQUNBLE1BQU1nQixFQUFFLEdBQUdsQixPQUFPLENBQUNJLE9BQVIsQ0FBZ0IsSUFBaEIsQ0FBWDtBQUNBYyxFQUFBQSxFQUFFLENBQUNULFFBQUgsQ0FBWSxVQUFaO0FBRUFiLEVBQUFBLDBEQUFPLENBQUNLLEdBQUQsRUFBTSxVQUFDa0IsUUFBRCxFQUFjO0FBQ3ZCLFFBQUlBLFFBQVEsQ0FBQ0MsTUFBVCxLQUFvQixTQUF4QixFQUFtQztBQUMvQkYsTUFBQUEsRUFBRSxDQUFDRyxNQUFIO0FBQ0gsS0FGRCxNQUVPO0FBQ0hILE1BQUFBLEVBQUUsQ0FBQ1YsV0FBSCxDQUFlLFVBQWY7QUFDSDtBQUNKLEdBTk0sQ0FBUDtBQU9ILENBYkQiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9HcmF2Ly4vYXBwL2Rhc2hib2FyZC9iYWNrdXAuanM/MWFiZCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgJCBmcm9tICdqcXVlcnknO1xuaW1wb3J0IHsgdHJhbnNsYXRpb25zIH0gZnJvbSAnZ3Jhdi1jb25maWcnO1xuaW1wb3J0IHJlcXVlc3QgZnJvbSAnLi4vdXRpbHMvcmVxdWVzdCc7XG5pbXBvcnQgeyBJbnN0YW5jZXMgYXMgQ2hhcnRzIH0gZnJvbSAnLi9jaGFydCc7XG5cbiQoJ1tkYXRhLWJhY2t1cF1bZGF0YS1hamF4Kj1cImJhY2t1cC9cIl0nKS5vbignY2xpY2snLCBmdW5jdGlvbigpIHtcbiAgICBsZXQgZWxlbWVudCA9ICQodGhpcyk7XG4gICAgbGV0IHVybCA9IGVsZW1lbnQuZGF0YSgnYWpheCcpO1xuICAgIGNvbnN0IGluRHJvcGRvd24gPSBlbGVtZW50LmNsb3Nlc3QoJy5kcm9wZG93bi1tZW51Jyk7XG5cbiAgICAoaW5Ecm9wZG93bi5sZW5ndGggPyBpbkRyb3Bkb3duIDogZWxlbWVudClcbiAgICAgICAgLmNsb3Nlc3QoJy5idXR0b24tZ3JvdXAnKS5maW5kKCc+IGJ1dHRvbjpmaXJzdCcpXG4gICAgICAgIC5hdHRyKCdkaXNhYmxlZCcsICdkaXNhYmxlZCcpXG4gICAgICAgIC5maW5kKCc+IC5mYScpLnJlbW92ZUNsYXNzKCdmYS1saWZlLXJpbmcnKS5hZGRDbGFzcygnZmEtc3BpbiBmYS1yZWZyZXNoJyk7XG5cbiAgICByZXF1ZXN0KHVybCwgKC8qIHJlc3BvbnNlICovKSA9PiB7XG4gICAgICAgIGlmIChDaGFydHMgJiYgQ2hhcnRzLmJhY2t1cHMpIHtcbiAgICAgICAgICAgIENoYXJ0cy5iYWNrdXBzLnVwZGF0ZURhdGEoeyBzZXJpZXM6IFswLCAxMDBdIH0pO1xuICAgICAgICAgICAgQ2hhcnRzLmJhY2t1cHMuZWxlbWVudC5maW5kKCcubnVtZXJpYycpLmh0bWwoYDAgPGVtPiR7dHJhbnNsYXRpb25zLlBMVUdJTl9BRE1JTi5EQVlTLnRvTG93ZXJDYXNlKCl9PC9lbT5gKTtcbiAgICAgICAgfVxuXG4gICAgICAgIChpbkRyb3Bkb3duLmxlbmd0aCA/IGluRHJvcGRvd24gOiBlbGVtZW50KVxuICAgICAgICAgICAgLmNsb3Nlc3QoJy5idXR0b24tZ3JvdXAnKS5maW5kKCc+IGJ1dHRvbjpmaXJzdCcpXG4gICAgICAgICAgICAucmVtb3ZlQXR0cignZGlzYWJsZWQnKVxuICAgICAgICAgICAgLmZpbmQoJz4gLmZhJykucmVtb3ZlQ2xhc3MoJ2ZhLXNwaW4gZmEtcmVmcmVzaCcpLmFkZENsYXNzKCdmYS1saWZlLXJpbmcnKTtcbiAgICB9KTtcbn0pO1xuXG4kKCdbZGF0YS1iYWNrdXBdW2RhdGEtYWpheCo9XCJiYWNrdXBEZWxldGVcIl0nKS5vbignY2xpY2snLCBmdW5jdGlvbigpIHtcbiAgICBsZXQgZWxlbWVudCA9ICQodGhpcyk7XG4gICAgbGV0IHVybCA9IGVsZW1lbnQuZGF0YSgnYWpheCcpO1xuICAgIGNvbnN0IHRyID0gZWxlbWVudC5jbG9zZXN0KCd0cicpO1xuICAgIHRyLmFkZENsYXNzKCdkZWxldGluZycpO1xuXG4gICAgcmVxdWVzdCh1cmwsIChyZXNwb25zZSkgPT4ge1xuICAgICAgICBpZiAocmVzcG9uc2Uuc3RhdHVzID09PSAnc3VjY2VzcycpIHtcbiAgICAgICAgICAgIHRyLnJlbW92ZSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdHIucmVtb3ZlQ2xhc3MoJ2RlbGV0aW5nJyk7XG4gICAgICAgIH1cbiAgICB9KTtcbn0pO1xuIl0sIm5hbWVzIjpbIiQiLCJ0cmFuc2xhdGlvbnMiLCJyZXF1ZXN0IiwiSW5zdGFuY2VzIiwiQ2hhcnRzIiwib24iLCJlbGVtZW50IiwidXJsIiwiZGF0YSIsImluRHJvcGRvd24iLCJjbG9zZXN0IiwibGVuZ3RoIiwiZmluZCIsImF0dHIiLCJyZW1vdmVDbGFzcyIsImFkZENsYXNzIiwiYmFja3VwcyIsInVwZGF0ZURhdGEiLCJzZXJpZXMiLCJodG1sIiwiUExVR0lOX0FETUlOIiwiREFZUyIsInRvTG93ZXJDYXNlIiwicmVtb3ZlQXR0ciIsInRyIiwicmVzcG9uc2UiLCJzdGF0dXMiLCJyZW1vdmUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./app/dashboard/backup.js\n"); /***/ }), /***/ "./app/dashboard/cache.js": /*!********************************!*\ !*** ./app/dashboard/cache.js ***! \********************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ Cache),\n/* harmony export */ \"Instance\": () => (/* binding */ Instance)\n/* harmony export */ });\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ \"jquery\");\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var grav_config__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! grav-config */ \"grav-config\");\n/* harmony import */ var grav_config__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(grav_config__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _utils_request__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils/request */ \"./app/utils/request.js\");\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\n\n\n\n\nvar getUrl = function getUrl() {\n var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n\n if (type) {\n type = \"cleartype:\".concat(type, \"/\");\n }\n\n return \"\".concat(grav_config__WEBPACK_IMPORTED_MODULE_1__.config.base_url_relative, \"/cache.json/task\").concat(grav_config__WEBPACK_IMPORTED_MODULE_1__.config.param_sep, \"clearCache/\").concat(type, \"admin-nonce\").concat(grav_config__WEBPACK_IMPORTED_MODULE_1__.config.param_sep).concat(grav_config__WEBPACK_IMPORTED_MODULE_1__.config.admin_nonce);\n};\n\nvar Cache = /*#__PURE__*/function () {\n function Cache() {\n var _this = this;\n\n _classCallCheck(this, Cache);\n\n this.element = jquery__WEBPACK_IMPORTED_MODULE_0___default()('[data-clear-cache]');\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('body').on('click', '[data-clear-cache]', function (event) {\n return _this.clear(event, event.target);\n });\n }\n\n _createClass(Cache, [{\n key: \"clear\",\n value: function clear(event, element) {\n var _this2 = this;\n\n var type = '';\n\n if (event && event.preventDefault) {\n event.preventDefault();\n }\n\n if (typeof event === 'string') {\n type = event;\n }\n\n element = element ? jquery__WEBPACK_IMPORTED_MODULE_0___default()(element) : jquery__WEBPACK_IMPORTED_MODULE_0___default()(\"[data-clear-cache-type=\\\"\".concat(type, \"\\\"]\"));\n type = type || jquery__WEBPACK_IMPORTED_MODULE_0___default()(element).data('clear-cache-type') || '';\n var url = element.data('clearCache') || getUrl(type);\n this.disable();\n (0,_utils_request__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(url, function () {\n return _this2.enable();\n });\n }\n }, {\n key: \"enable\",\n value: function enable() {\n this.element.removeAttr('disabled').find('> .fa').removeClass('fa-refresh fa-spin fa-retweet').addClass('fa-retweet');\n }\n }, {\n key: \"disable\",\n value: function disable() {\n this.element.attr('disabled', 'disabled').find('> .fa').removeClass('fa-retweet').addClass('fa-refresh fa-spin');\n }\n }]);\n\n return Cache;\n}();\n\n\nvar Instance = new Cache();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9hcHAvZGFzaGJvYXJkL2NhY2hlLmpzLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7O0FBRUEsSUFBTUcsTUFBTSxHQUFHLFNBQVRBLE1BQVMsR0FBZTtBQUFBLE1BQWRDLElBQWMsdUVBQVAsRUFBTzs7QUFDMUIsTUFBSUEsSUFBSixFQUFVO0FBQ05BLElBQUFBLElBQUksdUJBQWdCQSxJQUFoQixNQUFKO0FBQ0g7O0FBRUQsbUJBQVVILGlFQUFWLDZCQUFxREEseURBQXJELHdCQUFtRkcsSUFBbkYsd0JBQXFHSCx5REFBckcsU0FBd0hBLDJEQUF4SDtBQUNILENBTkQ7O0lBUXFCTztBQUNqQixtQkFBYztBQUFBOztBQUFBOztBQUNWLFNBQUtDLE9BQUwsR0FBZVQsNkNBQUMsQ0FBQyxvQkFBRCxDQUFoQjtBQUNBQSxJQUFBQSw2Q0FBQyxDQUFDLE1BQUQsQ0FBRCxDQUFVVSxFQUFWLENBQWEsT0FBYixFQUFzQixvQkFBdEIsRUFBNEMsVUFBQ0MsS0FBRDtBQUFBLGFBQVcsS0FBSSxDQUFDQyxLQUFMLENBQVdELEtBQVgsRUFBa0JBLEtBQUssQ0FBQ0UsTUFBeEIsQ0FBWDtBQUFBLEtBQTVDO0FBQ0g7Ozs7V0FFRCxlQUFNRixLQUFOLEVBQWFGLE9BQWIsRUFBc0I7QUFBQTs7QUFDbEIsVUFBSUwsSUFBSSxHQUFHLEVBQVg7O0FBRUEsVUFBSU8sS0FBSyxJQUFJQSxLQUFLLENBQUNHLGNBQW5CLEVBQW1DO0FBQUVILFFBQUFBLEtBQUssQ0FBQ0csY0FBTjtBQUF5Qjs7QUFDOUQsVUFBSSxPQUFPSCxLQUFQLEtBQWlCLFFBQXJCLEVBQStCO0FBQUVQLFFBQUFBLElBQUksR0FBR08sS0FBUDtBQUFlOztBQUVoREYsTUFBQUEsT0FBTyxHQUFHQSxPQUFPLEdBQUdULDZDQUFDLENBQUNTLE9BQUQsQ0FBSixHQUFnQlQsNkNBQUMsb0NBQTRCSSxJQUE1QixTQUFsQztBQUNBQSxNQUFBQSxJQUFJLEdBQUdBLElBQUksSUFBSUosNkNBQUMsQ0FBQ1MsT0FBRCxDQUFELENBQVdNLElBQVgsQ0FBZ0Isa0JBQWhCLENBQVIsSUFBK0MsRUFBdEQ7QUFDQSxVQUFJQyxHQUFHLEdBQUdQLE9BQU8sQ0FBQ00sSUFBUixDQUFhLFlBQWIsS0FBOEJaLE1BQU0sQ0FBQ0MsSUFBRCxDQUE5QztBQUVBLFdBQUthLE9BQUw7QUFFQWYsTUFBQUEsMERBQU8sQ0FBQ2MsR0FBRCxFQUFNO0FBQUEsZUFBTSxNQUFJLENBQUNFLE1BQUwsRUFBTjtBQUFBLE9BQU4sQ0FBUDtBQUNIOzs7V0FFRCxrQkFBUztBQUNMLFdBQUtULE9BQUwsQ0FDS1UsVUFETCxDQUNnQixVQURoQixFQUVLQyxJQUZMLENBRVUsT0FGVixFQUVtQkMsV0FGbkIsQ0FFK0IsK0JBRi9CLEVBRWdFQyxRQUZoRSxDQUV5RSxZQUZ6RTtBQUdIOzs7V0FFRCxtQkFBVTtBQUNOLFdBQUtiLE9BQUwsQ0FDS2MsSUFETCxDQUNVLFVBRFYsRUFDc0IsVUFEdEIsRUFFS0gsSUFGTCxDQUVVLE9BRlYsRUFFbUJDLFdBRm5CLENBRStCLFlBRi9CLEVBRTZDQyxRQUY3QyxDQUVzRCxvQkFGdEQ7QUFHSDs7Ozs7OztBQUdMLElBQUlFLFFBQVEsR0FBRyxJQUFJaEIsS0FBSixFQUFmIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vR3Jhdi8uL2FwcC9kYXNoYm9hcmQvY2FjaGUuanM/Y2IyYiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgJCBmcm9tICdqcXVlcnknO1xuaW1wb3J0IHsgY29uZmlnIH0gZnJvbSAnZ3Jhdi1jb25maWcnO1xuaW1wb3J0IHJlcXVlc3QgZnJvbSAnLi4vdXRpbHMvcmVxdWVzdCc7XG5cbmNvbnN0IGdldFVybCA9ICh0eXBlID0gJycpID0+IHtcbiAgICBpZiAodHlwZSkge1xuICAgICAgICB0eXBlID0gYGNsZWFydHlwZToke3R5cGV9L2A7XG4gICAgfVxuXG4gICAgcmV0dXJuIGAke2NvbmZpZy5iYXNlX3VybF9yZWxhdGl2ZX0vY2FjaGUuanNvbi90YXNrJHtjb25maWcucGFyYW1fc2VwfWNsZWFyQ2FjaGUvJHt0eXBlfWFkbWluLW5vbmNlJHtjb25maWcucGFyYW1fc2VwfSR7Y29uZmlnLmFkbWluX25vbmNlfWA7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBDYWNoZSB7XG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMuZWxlbWVudCA9ICQoJ1tkYXRhLWNsZWFyLWNhY2hlXScpO1xuICAgICAgICAkKCdib2R5Jykub24oJ2NsaWNrJywgJ1tkYXRhLWNsZWFyLWNhY2hlXScsIChldmVudCkgPT4gdGhpcy5jbGVhcihldmVudCwgZXZlbnQudGFyZ2V0KSk7XG4gICAgfVxuXG4gICAgY2xlYXIoZXZlbnQsIGVsZW1lbnQpIHtcbiAgICAgICAgbGV0IHR5cGUgPSAnJztcblxuICAgICAgICBpZiAoZXZlbnQgJiYgZXZlbnQucHJldmVudERlZmF1bHQpIHsgZXZlbnQucHJldmVudERlZmF1bHQoKTsgfVxuICAgICAgICBpZiAodHlwZW9mIGV2ZW50ID09PSAnc3RyaW5nJykgeyB0eXBlID0gZXZlbnQ7IH1cblxuICAgICAgICBlbGVtZW50ID0gZWxlbWVudCA/ICQoZWxlbWVudCkgOiAkKGBbZGF0YS1jbGVhci1jYWNoZS10eXBlPVwiJHt0eXBlfVwiXWApO1xuICAgICAgICB0eXBlID0gdHlwZSB8fCAkKGVsZW1lbnQpLmRhdGEoJ2NsZWFyLWNhY2hlLXR5cGUnKSB8fCAnJztcbiAgICAgICAgbGV0IHVybCA9IGVsZW1lbnQuZGF0YSgnY2xlYXJDYWNoZScpIHx8IGdldFVybCh0eXBlKTtcblxuICAgICAgICB0aGlzLmRpc2FibGUoKTtcblxuICAgICAgICByZXF1ZXN0KHVybCwgKCkgPT4gdGhpcy5lbmFibGUoKSk7XG4gICAgfVxuXG4gICAgZW5hYmxlKCkge1xuICAgICAgICB0aGlzLmVsZW1lbnRcbiAgICAgICAgICAgIC5yZW1vdmVBdHRyKCdkaXNhYmxlZCcpXG4gICAgICAgICAgICAuZmluZCgnPiAuZmEnKS5yZW1vdmVDbGFzcygnZmEtcmVmcmVzaCBmYS1zcGluIGZhLXJldHdlZXQnKS5hZGRDbGFzcygnZmEtcmV0d2VldCcpO1xuICAgIH1cblxuICAgIGRpc2FibGUoKSB7XG4gICAgICAgIHRoaXMuZWxlbWVudFxuICAgICAgICAgICAgLmF0dHIoJ2Rpc2FibGVkJywgJ2Rpc2FibGVkJylcbiAgICAgICAgICAgIC5maW5kKCc+IC5mYScpLnJlbW92ZUNsYXNzKCdmYS1yZXR3ZWV0JykuYWRkQ2xhc3MoJ2ZhLXJlZnJlc2ggZmEtc3BpbicpO1xuICAgIH1cbn1cblxubGV0IEluc3RhbmNlID0gbmV3IENhY2hlKCk7XG5cbmV4cG9ydCB7IEluc3RhbmNlIH07XG4iXSwibmFtZXMiOlsiJCIsImNvbmZpZyIsInJlcXVlc3QiLCJnZXRVcmwiLCJ0eXBlIiwiYmFzZV91cmxfcmVsYXRpdmUiLCJwYXJhbV9zZXAiLCJhZG1pbl9ub25jZSIsIkNhY2hlIiwiZWxlbWVudCIsIm9uIiwiZXZlbnQiLCJjbGVhciIsInRhcmdldCIsInByZXZlbnREZWZhdWx0IiwiZGF0YSIsInVybCIsImRpc2FibGUiLCJlbmFibGUiLCJyZW1vdmVBdHRyIiwiZmluZCIsInJlbW92ZUNsYXNzIiwiYWRkQ2xhc3MiLCJhdHRyIiwiSW5zdGFuY2UiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./app/dashboard/cache.js\n"); /***/ }), /***/ "./app/dashboard/chart.js": /*!********************************!*\ !*** ./app/dashboard/chart.js ***! \********************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"defaults\": () => (/* binding */ defaults),\n/* harmony export */ \"default\": () => (/* binding */ Chart),\n/* harmony export */ \"UpdatesChart\": () => (/* binding */ UpdatesChart),\n/* harmony export */ \"Instances\": () => (/* binding */ Instances)\n/* harmony export */ });\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ \"jquery\");\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var chartist__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! chartist */ \"./node_modules/chartist/dist/chartist.js\");\n/* harmony import */ var chartist__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(chartist__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var grav_config__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! grav-config */ \"grav-config\");\n/* harmony import */ var grav_config__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(grav_config__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _utils_gpm__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils/gpm */ \"./app/utils/gpm.js\");\n/* harmony import */ var _updates__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../updates */ \"./app/updates/index.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nfunction _get() { if (typeof Reflect !== \"undefined\" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(arguments.length < 3 ? target : receiver); } return desc.value; }; } return _get.apply(this, arguments); }\n\nfunction _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\n\n\n\n\n // let isFirefox = navigator.userAgent.toLowerCase().indexOf('firefox') > -1;\n\nvar defaults = {\n data: {\n series: [100, 0]\n },\n options: {\n Pie: {\n donut: true,\n donutWidth: 10,\n startAngle: 0,\n total: 100,\n showLabel: false,\n height: 150,\n // chartPadding: !isFirefox ? 10 : 25 // workaround for older versions of firefox\n chartPadding: 5\n },\n Bar: {\n height: 164,\n chartPadding: 20,\n // workaround for older versions of firefox\n axisX: {\n showGrid: false,\n labelOffset: {\n x: 0,\n y: 0\n }\n },\n axisY: {\n offset: 15,\n showLabel: true,\n showGrid: true,\n labelOffset: {\n x: 5,\n y: 5\n },\n scaleMinSpace: 25\n }\n }\n }\n};\n\nvar Chart = /*#__PURE__*/function () {\n function Chart(element) {\n var _this = this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var data = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n _classCallCheck(this, Chart);\n\n this.element = jquery__WEBPACK_IMPORTED_MODULE_0___default()(element) || [];\n\n if (!this.element[0]) {\n return;\n }\n\n var type = (this.element.data('chart-type') || 'pie').toLowerCase();\n this.type = type.charAt(0).toUpperCase() + type.substr(1).toLowerCase();\n options = Object.assign({}, defaults.options[this.type], options);\n data = Object.assign({}, defaults.data, data);\n Object.assign(this, {\n options: options,\n data: data\n });\n this.chart = (chartist__WEBPACK_IMPORTED_MODULE_1___default())[this.type](this.element.find('.ct-chart').empty()[0], this.data, this.options);\n this.chart.on('created', function () {\n _this.element.find('.hidden').removeClass('hidden'); // FIX: workaround for chartist issue not allowing HTML in labels anymore\n // https://github.com/gionkunz/chartist-js/issues/937\n\n\n _this.element.find('.ct-label').each(function (index, label) {\n label = jquery__WEBPACK_IMPORTED_MODULE_0___default()(label);\n var text = label.html().replace('<', '<').replace('>', '>');\n label.html(text);\n });\n });\n }\n\n _createClass(Chart, [{\n key: \"updateData\",\n value: function updateData(data) {\n Object.assign(this.data, data);\n this.chart.update(this.data);\n }\n }]);\n\n return Chart;\n}();\n\n\n;\nvar UpdatesChart = /*#__PURE__*/function (_Chart) {\n _inherits(UpdatesChart, _Chart);\n\n var _super = _createSuper(UpdatesChart);\n\n function UpdatesChart(element) {\n var _this2;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var data = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n _classCallCheck(this, UpdatesChart);\n\n _this2 = _super.call(this, element, options, data);\n\n _this2.chart.on('draw', function (data) {\n return _this2.draw(data);\n });\n\n _utils_gpm__WEBPACK_IMPORTED_MODULE_3__.Instance.on('fetched', function (response) {\n if (!response.payload) {\n return;\n }\n\n var payload = response.payload.grav;\n var missing = (response.payload.resources.total + (payload.isUpdatable ? 1 : 0)) * 100 / (response.payload.installed + (payload.isUpdatable ? 1 : 0));\n var updated = 100 - missing;\n\n _this2.updateData({\n series: [updated, missing]\n });\n\n if (response.payload.resources.total) {\n _updates__WEBPACK_IMPORTED_MODULE_4__.Instance.maintenance('show');\n }\n });\n return _this2;\n }\n\n _createClass(UpdatesChart, [{\n key: \"draw\",\n value: function draw(data) {\n if (data.index) {\n return;\n }\n\n var notice = grav_config__WEBPACK_IMPORTED_MODULE_2__.translations.PLUGIN_ADMIN[data.value === 100 ? 'FULLY_UPDATED' : 'UPDATES_AVAILABLE'];\n this.element.find('.numeric span').text(\"\".concat(Math.round(data.value), \"%\"));\n this.element.find('.js__updates-available-description').html(notice);\n this.element.find('.hidden').removeClass('hidden');\n }\n }, {\n key: \"updateData\",\n value: function updateData(data) {\n _get(_getPrototypeOf(UpdatesChart.prototype), \"updateData\", this).call(this, data); // missing updates\n\n\n if (this.data.series[0] < 100) {\n this.element.closest('#updates').find('[data-update-packages]').fadeIn();\n }\n }\n }]);\n\n return UpdatesChart;\n}(Chart);\nvar charts = {};\njquery__WEBPACK_IMPORTED_MODULE_0___default()('[data-chart-name]').each(function () {\n var element = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this);\n var name = element.data('chart-name') || '';\n var options = element.data('chart-options') || {};\n var data = element.data('chart-data') || {};\n\n if (name === 'updates') {\n charts[name] = new UpdatesChart(element, options, data);\n } else {\n charts[name] = new Chart(element, options, data);\n }\n});\nvar Instances = charts;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9hcHAvZGFzaGJvYXJkL2NoYXJ0LmpzLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7Q0FHQTs7QUFFTyxJQUFNTSxRQUFRLEdBQUc7QUFDcEJDLEVBQUFBLElBQUksRUFBRTtBQUNGQyxJQUFBQSxNQUFNLEVBQUUsQ0FBQyxHQUFELEVBQU0sQ0FBTjtBQUROLEdBRGM7QUFJcEJDLEVBQUFBLE9BQU8sRUFBRTtBQUNMQyxJQUFBQSxHQUFHLEVBQUU7QUFDREMsTUFBQUEsS0FBSyxFQUFFLElBRE47QUFFREMsTUFBQUEsVUFBVSxFQUFFLEVBRlg7QUFHREMsTUFBQUEsVUFBVSxFQUFFLENBSFg7QUFJREMsTUFBQUEsS0FBSyxFQUFFLEdBSk47QUFLREMsTUFBQUEsU0FBUyxFQUFFLEtBTFY7QUFNREMsTUFBQUEsTUFBTSxFQUFFLEdBTlA7QUFPRDtBQUNBQyxNQUFBQSxZQUFZLEVBQUU7QUFSYixLQURBO0FBV0xDLElBQUFBLEdBQUcsRUFBRTtBQUNERixNQUFBQSxNQUFNLEVBQUUsR0FEUDtBQUVEQyxNQUFBQSxZQUFZLEVBQUUsRUFGYjtBQUVpQjtBQUVsQkUsTUFBQUEsS0FBSyxFQUFFO0FBQ0hDLFFBQUFBLFFBQVEsRUFBRSxLQURQO0FBRUhDLFFBQUFBLFdBQVcsRUFBRTtBQUNUQyxVQUFBQSxDQUFDLEVBQUUsQ0FETTtBQUVUQyxVQUFBQSxDQUFDLEVBQUU7QUFGTTtBQUZWLE9BSk47QUFXREMsTUFBQUEsS0FBSyxFQUFFO0FBQ0hDLFFBQUFBLE1BQU0sRUFBRSxFQURMO0FBRUhWLFFBQUFBLFNBQVMsRUFBRSxJQUZSO0FBR0hLLFFBQUFBLFFBQVEsRUFBRSxJQUhQO0FBSUhDLFFBQUFBLFdBQVcsRUFBRTtBQUNUQyxVQUFBQSxDQUFDLEVBQUUsQ0FETTtBQUVUQyxVQUFBQSxDQUFDLEVBQUU7QUFGTSxTQUpWO0FBUUhHLFFBQUFBLGFBQWEsRUFBRTtBQVJaO0FBWE47QUFYQTtBQUpXLENBQWpCOztJQXdDY0M7QUFDakIsaUJBQVlDLE9BQVosRUFBOEM7QUFBQTs7QUFBQSxRQUF6Qm5CLE9BQXlCLHVFQUFmLEVBQWU7QUFBQSxRQUFYRixJQUFXLHVFQUFKLEVBQUk7O0FBQUE7O0FBQzFDLFNBQUtxQixPQUFMLEdBQWU1Qiw2Q0FBQyxDQUFDNEIsT0FBRCxDQUFELElBQWMsRUFBN0I7O0FBQ0EsUUFBSSxDQUFDLEtBQUtBLE9BQUwsQ0FBYSxDQUFiLENBQUwsRUFBc0I7QUFBRTtBQUFTOztBQUVqQyxRQUFJQyxJQUFJLEdBQUcsQ0FBQyxLQUFLRCxPQUFMLENBQWFyQixJQUFiLENBQWtCLFlBQWxCLEtBQW1DLEtBQXBDLEVBQTJDdUIsV0FBM0MsRUFBWDtBQUNBLFNBQUtELElBQUwsR0FBWUEsSUFBSSxDQUFDRSxNQUFMLENBQVksQ0FBWixFQUFlQyxXQUFmLEtBQStCSCxJQUFJLENBQUNJLE1BQUwsQ0FBWSxDQUFaLEVBQWVILFdBQWYsRUFBM0M7QUFFQXJCLElBQUFBLE9BQU8sR0FBR3lCLE1BQU0sQ0FBQ0MsTUFBUCxDQUFjLEVBQWQsRUFBa0I3QixRQUFRLENBQUNHLE9BQVQsQ0FBaUIsS0FBS29CLElBQXRCLENBQWxCLEVBQStDcEIsT0FBL0MsQ0FBVjtBQUNBRixJQUFBQSxJQUFJLEdBQUcyQixNQUFNLENBQUNDLE1BQVAsQ0FBYyxFQUFkLEVBQWtCN0IsUUFBUSxDQUFDQyxJQUEzQixFQUFpQ0EsSUFBakMsQ0FBUDtBQUNBMkIsSUFBQUEsTUFBTSxDQUFDQyxNQUFQLENBQWMsSUFBZCxFQUFvQjtBQUNoQjFCLE1BQUFBLE9BQU8sRUFBUEEsT0FEZ0I7QUFFaEJGLE1BQUFBLElBQUksRUFBSkE7QUFGZ0IsS0FBcEI7QUFJQSxTQUFLNkIsS0FBTCxHQUFhbkMsaURBQVEsQ0FBQyxLQUFLNEIsSUFBTixDQUFSLENBQW9CLEtBQUtELE9BQUwsQ0FBYVMsSUFBYixDQUFrQixXQUFsQixFQUErQkMsS0FBL0IsR0FBdUMsQ0FBdkMsQ0FBcEIsRUFBK0QsS0FBSy9CLElBQXBFLEVBQTBFLEtBQUtFLE9BQS9FLENBQWI7QUFDQSxTQUFLMkIsS0FBTCxDQUFXRyxFQUFYLENBQWMsU0FBZCxFQUF5QixZQUFNO0FBQzNCLFdBQUksQ0FBQ1gsT0FBTCxDQUFhUyxJQUFiLENBQWtCLFNBQWxCLEVBQTZCRyxXQUE3QixDQUF5QyxRQUF6QyxFQUQyQixDQUczQjtBQUNBOzs7QUFDQSxXQUFJLENBQUNaLE9BQUwsQ0FBYVMsSUFBYixDQUFrQixXQUFsQixFQUErQkksSUFBL0IsQ0FBb0MsVUFBQ0MsS0FBRCxFQUFRQyxLQUFSLEVBQWtCO0FBQ2xEQSxRQUFBQSxLQUFLLEdBQUczQyw2Q0FBQyxDQUFDMkMsS0FBRCxDQUFUO0FBQ0EsWUFBTUMsSUFBSSxHQUFHRCxLQUFLLENBQUNFLElBQU4sR0FBYUMsT0FBYixDQUFxQixNQUFyQixFQUE2QixHQUE3QixFQUFrQ0EsT0FBbEMsQ0FBMEMsTUFBMUMsRUFBa0QsR0FBbEQsQ0FBYjtBQUNBSCxRQUFBQSxLQUFLLENBQUNFLElBQU4sQ0FBV0QsSUFBWDtBQUNILE9BSkQ7QUFLSCxLQVZEO0FBV0g7Ozs7V0FFRCxvQkFBV3JDLElBQVgsRUFBaUI7QUFDYjJCLE1BQUFBLE1BQU0sQ0FBQ0MsTUFBUCxDQUFjLEtBQUs1QixJQUFuQixFQUF5QkEsSUFBekI7QUFDQSxXQUFLNkIsS0FBTCxDQUFXVyxNQUFYLENBQWtCLEtBQUt4QyxJQUF2QjtBQUNIOzs7Ozs7O0FBQ0o7QUFFTSxJQUFNeUMsWUFBYjtBQUFBOztBQUFBOztBQUNJLHdCQUFZcEIsT0FBWixFQUE4QztBQUFBOztBQUFBLFFBQXpCbkIsT0FBeUIsdUVBQWYsRUFBZTtBQUFBLFFBQVhGLElBQVcsdUVBQUosRUFBSTs7QUFBQTs7QUFDMUMsK0JBQU1xQixPQUFOLEVBQWVuQixPQUFmLEVBQXdCRixJQUF4Qjs7QUFFQSxXQUFLNkIsS0FBTCxDQUFXRyxFQUFYLENBQWMsTUFBZCxFQUFzQixVQUFDaEMsSUFBRDtBQUFBLGFBQVUsT0FBSzBDLElBQUwsQ0FBVTFDLElBQVYsQ0FBVjtBQUFBLEtBQXRCOztBQUVBSCxJQUFBQSxtREFBQSxDQUFPLFNBQVAsRUFBa0IsVUFBQzhDLFFBQUQsRUFBYztBQUM1QixVQUFJLENBQUNBLFFBQVEsQ0FBQ0MsT0FBZCxFQUF1QjtBQUFFO0FBQVM7O0FBRWxDLFVBQUlBLE9BQU8sR0FBR0QsUUFBUSxDQUFDQyxPQUFULENBQWlCQyxJQUEvQjtBQUNBLFVBQUlDLE9BQU8sR0FBRyxDQUFDSCxRQUFRLENBQUNDLE9BQVQsQ0FBaUJHLFNBQWpCLENBQTJCeEMsS0FBM0IsSUFBb0NxQyxPQUFPLENBQUNJLFdBQVIsR0FBc0IsQ0FBdEIsR0FBMEIsQ0FBOUQsQ0FBRCxJQUFxRSxHQUFyRSxJQUE0RUwsUUFBUSxDQUFDQyxPQUFULENBQWlCSyxTQUFqQixJQUE4QkwsT0FBTyxDQUFDSSxXQUFSLEdBQXNCLENBQXRCLEdBQTBCLENBQXhELENBQTVFLENBQWQ7QUFDQSxVQUFJRSxPQUFPLEdBQUcsTUFBTUosT0FBcEI7O0FBRUEsYUFBS0ssVUFBTCxDQUFnQjtBQUFFbEQsUUFBQUEsTUFBTSxFQUFFLENBQUNpRCxPQUFELEVBQVVKLE9BQVY7QUFBVixPQUFoQjs7QUFFQSxVQUFJSCxRQUFRLENBQUNDLE9BQVQsQ0FBaUJHLFNBQWpCLENBQTJCeEMsS0FBL0IsRUFBc0M7QUFDbENULFFBQUFBLDBEQUFBLENBQW9CLE1BQXBCO0FBQ0g7QUFDSixLQVpEO0FBTDBDO0FBa0I3Qzs7QUFuQkw7QUFBQTtBQUFBLFdBcUJJLGNBQUtFLElBQUwsRUFBVztBQUNQLFVBQUlBLElBQUksQ0FBQ21DLEtBQVQsRUFBZ0I7QUFBRTtBQUFTOztBQUUzQixVQUFJa0IsTUFBTSxHQUFHMUQsa0VBQUEsQ0FBMEJLLElBQUksQ0FBQ3VELEtBQUwsS0FBZSxHQUFmLEdBQXFCLGVBQXJCLEdBQXVDLG1CQUFqRSxDQUFiO0FBQ0EsV0FBS2xDLE9BQUwsQ0FBYVMsSUFBYixDQUFrQixlQUFsQixFQUFtQ08sSUFBbkMsV0FBMkNtQixJQUFJLENBQUNDLEtBQUwsQ0FBV3pELElBQUksQ0FBQ3VELEtBQWhCLENBQTNDO0FBQ0EsV0FBS2xDLE9BQUwsQ0FBYVMsSUFBYixDQUFrQixvQ0FBbEIsRUFBd0RRLElBQXhELENBQTZEZSxNQUE3RDtBQUNBLFdBQUtoQyxPQUFMLENBQWFTLElBQWIsQ0FBa0IsU0FBbEIsRUFBNkJHLFdBQTdCLENBQXlDLFFBQXpDO0FBQ0g7QUE1Qkw7QUFBQTtBQUFBLFdBOEJJLG9CQUFXakMsSUFBWCxFQUFpQjtBQUNiLG1GQUFpQkEsSUFBakIsRUFEYSxDQUdiOzs7QUFDQSxVQUFJLEtBQUtBLElBQUwsQ0FBVUMsTUFBVixDQUFpQixDQUFqQixJQUFzQixHQUExQixFQUErQjtBQUMzQixhQUFLb0IsT0FBTCxDQUFhcUMsT0FBYixDQUFxQixVQUFyQixFQUFpQzVCLElBQWpDLENBQXNDLHdCQUF0QyxFQUFnRTZCLE1BQWhFO0FBQ0g7QUFDSjtBQXJDTDs7QUFBQTtBQUFBLEVBQWtDdkMsS0FBbEM7QUF3Q0EsSUFBSXdDLE1BQU0sR0FBRyxFQUFiO0FBRUFuRSw2Q0FBQyxDQUFDLG1CQUFELENBQUQsQ0FBdUJ5QyxJQUF2QixDQUE0QixZQUFXO0FBQ25DLE1BQUliLE9BQU8sR0FBRzVCLDZDQUFDLENBQUMsSUFBRCxDQUFmO0FBQ0EsTUFBSW9FLElBQUksR0FBR3hDLE9BQU8sQ0FBQ3JCLElBQVIsQ0FBYSxZQUFiLEtBQThCLEVBQXpDO0FBQ0EsTUFBSUUsT0FBTyxHQUFHbUIsT0FBTyxDQUFDckIsSUFBUixDQUFhLGVBQWIsS0FBaUMsRUFBL0M7QUFDQSxNQUFJQSxJQUFJLEdBQUdxQixPQUFPLENBQUNyQixJQUFSLENBQWEsWUFBYixLQUE4QixFQUF6Qzs7QUFFQSxNQUFJNkQsSUFBSSxLQUFLLFNBQWIsRUFBd0I7QUFDcEJELElBQUFBLE1BQU0sQ0FBQ0MsSUFBRCxDQUFOLEdBQWUsSUFBSXBCLFlBQUosQ0FBaUJwQixPQUFqQixFQUEwQm5CLE9BQTFCLEVBQW1DRixJQUFuQyxDQUFmO0FBQ0gsR0FGRCxNQUVPO0FBQ0g0RCxJQUFBQSxNQUFNLENBQUNDLElBQUQsQ0FBTixHQUFlLElBQUl6QyxLQUFKLENBQVVDLE9BQVYsRUFBbUJuQixPQUFuQixFQUE0QkYsSUFBNUIsQ0FBZjtBQUNIO0FBQ0osQ0FYRDtBQWFPLElBQUk4RCxTQUFTLEdBQUdGLE1BQWhCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vR3Jhdi8uL2FwcC9kYXNoYm9hcmQvY2hhcnQuanM/MWU4NiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgJCBmcm9tICdqcXVlcnknO1xuaW1wb3J0IGNoYXJ0aXN0IGZyb20gJ2NoYXJ0aXN0JztcbmltcG9ydCB7IHRyYW5zbGF0aW9ucyB9IGZyb20gJ2dyYXYtY29uZmlnJztcbmltcG9ydCB7IEluc3RhbmNlIGFzIGdwbSB9IGZyb20gJy4uL3V0aWxzL2dwbSc7XG5pbXBvcnQgeyBJbnN0YW5jZSBhcyB1cGRhdGVzIH0gZnJvbSAnLi4vdXBkYXRlcyc7XG5cbi8vIGxldCBpc0ZpcmVmb3ggPSBuYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCkuaW5kZXhPZignZmlyZWZveCcpID4gLTE7XG5cbmV4cG9ydCBjb25zdCBkZWZhdWx0cyA9IHtcbiAgICBkYXRhOiB7XG4gICAgICAgIHNlcmllczogWzEwMCwgMF1cbiAgICB9LFxuICAgIG9wdGlvbnM6IHtcbiAgICAgICAgUGllOiB7XG4gICAgICAgICAgICBkb251dDogdHJ1ZSxcbiAgICAgICAgICAgIGRvbnV0V2lkdGg6IDEwLFxuICAgICAgICAgICAgc3RhcnRBbmdsZTogMCxcbiAgICAgICAgICAgIHRvdGFsOiAxMDAsXG4gICAgICAgICAgICBzaG93TGFiZWw6IGZhbHNlLFxuICAgICAgICAgICAgaGVpZ2h0OiAxNTAsXG4gICAgICAgICAgICAvLyBjaGFydFBhZGRpbmc6ICFpc0ZpcmVmb3ggPyAxMCA6IDI1IC8vIHdvcmthcm91bmQgZm9yIG9sZGVyIHZlcnNpb25zIG9mIGZpcmVmb3hcbiAgICAgICAgICAgIGNoYXJ0UGFkZGluZzogNVxuICAgICAgICB9LFxuICAgICAgICBCYXI6IHtcbiAgICAgICAgICAgIGhlaWdodDogMTY0LFxuICAgICAgICAgICAgY2hhcnRQYWRkaW5nOiAyMCwgLy8gd29ya2Fyb3VuZCBmb3Igb2xkZXIgdmVyc2lvbnMgb2YgZmlyZWZveFxuXG4gICAgICAgICAgICBheGlzWDoge1xuICAgICAgICAgICAgICAgIHNob3dHcmlkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBsYWJlbE9mZnNldDoge1xuICAgICAgICAgICAgICAgICAgICB4OiAwLFxuICAgICAgICAgICAgICAgICAgICB5OiAwXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGF4aXNZOiB7XG4gICAgICAgICAgICAgICAgb2Zmc2V0OiAxNSxcbiAgICAgICAgICAgICAgICBzaG93TGFiZWw6IHRydWUsXG4gICAgICAgICAgICAgICAgc2hvd0dyaWQ6IHRydWUsXG4gICAgICAgICAgICAgICAgbGFiZWxPZmZzZXQ6IHtcbiAgICAgICAgICAgICAgICAgICAgeDogNSxcbiAgICAgICAgICAgICAgICAgICAgeTogNVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgc2NhbGVNaW5TcGFjZTogMjVcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn07XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIENoYXJ0IHtcbiAgICBjb25zdHJ1Y3RvcihlbGVtZW50LCBvcHRpb25zID0ge30sIGRhdGEgPSB7fSkge1xuICAgICAgICB0aGlzLmVsZW1lbnQgPSAkKGVsZW1lbnQpIHx8IFtdO1xuICAgICAgICBpZiAoIXRoaXMuZWxlbWVudFswXSkgeyByZXR1cm47IH1cblxuICAgICAgICBsZXQgdHlwZSA9ICh0aGlzLmVsZW1lbnQuZGF0YSgnY2hhcnQtdHlwZScpIHx8ICdwaWUnKS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICB0aGlzLnR5cGUgPSB0eXBlLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgdHlwZS5zdWJzdHIoMSkudG9Mb3dlckNhc2UoKTtcblxuICAgICAgICBvcHRpb25zID0gT2JqZWN0LmFzc2lnbih7fSwgZGVmYXVsdHMub3B0aW9uc1t0aGlzLnR5cGVdLCBvcHRpb25zKTtcbiAgICAgICAgZGF0YSA9IE9iamVjdC5hc3NpZ24oe30sIGRlZmF1bHRzLmRhdGEsIGRhdGEpO1xuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIHtcbiAgICAgICAgICAgIG9wdGlvbnMsXG4gICAgICAgICAgICBkYXRhXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmNoYXJ0ID0gY2hhcnRpc3RbdGhpcy50eXBlXSh0aGlzLmVsZW1lbnQuZmluZCgnLmN0LWNoYXJ0JykuZW1wdHkoKVswXSwgdGhpcy5kYXRhLCB0aGlzLm9wdGlvbnMpO1xuICAgICAgICB0aGlzLmNoYXJ0Lm9uKCdjcmVhdGVkJywgKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5lbGVtZW50LmZpbmQoJy5oaWRkZW4nKS5yZW1vdmVDbGFzcygnaGlkZGVuJyk7XG5cbiAgICAgICAgICAgIC8vIEZJWDogd29ya2Fyb3VuZCBmb3IgY2hhcnRpc3QgaXNzdWUgbm90IGFsbG93aW5nIEhUTUwgaW4gbGFiZWxzIGFueW1vcmVcbiAgICAgICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9naW9ua3Vuei9jaGFydGlzdC1qcy9pc3N1ZXMvOTM3XG4gICAgICAgICAgICB0aGlzLmVsZW1lbnQuZmluZCgnLmN0LWxhYmVsJykuZWFjaCgoaW5kZXgsIGxhYmVsKSA9PiB7XG4gICAgICAgICAgICAgICAgbGFiZWwgPSAkKGxhYmVsKTtcbiAgICAgICAgICAgICAgICBjb25zdCB0ZXh0ID0gbGFiZWwuaHRtbCgpLnJlcGxhY2UoJyZsdDsnLCAnPCcpLnJlcGxhY2UoJyZndDsnLCAnPicpO1xuICAgICAgICAgICAgICAgIGxhYmVsLmh0bWwodGV4dCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgdXBkYXRlRGF0YShkYXRhKSB7XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcy5kYXRhLCBkYXRhKTtcbiAgICAgICAgdGhpcy5jaGFydC51cGRhdGUodGhpcy5kYXRhKTtcbiAgICB9XG59O1xuXG5leHBvcnQgY2xhc3MgVXBkYXRlc0NoYXJ0IGV4dGVuZHMgQ2hhcnQge1xuICAgIGNvbnN0cnVjdG9yKGVsZW1lbnQsIG9wdGlvbnMgPSB7fSwgZGF0YSA9IHt9KSB7XG4gICAgICAgIHN1cGVyKGVsZW1lbnQsIG9wdGlvbnMsIGRhdGEpO1xuXG4gICAgICAgIHRoaXMuY2hhcnQub24oJ2RyYXcnLCAoZGF0YSkgPT4gdGhpcy5kcmF3KGRhdGEpKTtcblxuICAgICAgICBncG0ub24oJ2ZldGNoZWQnLCAocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgIGlmICghcmVzcG9uc2UucGF5bG9hZCkgeyByZXR1cm47IH1cblxuICAgICAgICAgICAgbGV0IHBheWxvYWQgPSByZXNwb25zZS5wYXlsb2FkLmdyYXY7XG4gICAgICAgICAgICBsZXQgbWlzc2luZyA9IChyZXNwb25zZS5wYXlsb2FkLnJlc291cmNlcy50b3RhbCArIChwYXlsb2FkLmlzVXBkYXRhYmxlID8gMSA6IDApKSAqIDEwMCAvIChyZXNwb25zZS5wYXlsb2FkLmluc3RhbGxlZCArIChwYXlsb2FkLmlzVXBkYXRhYmxlID8gMSA6IDApKTtcbiAgICAgICAgICAgIGxldCB1cGRhdGVkID0gMTAwIC0gbWlzc2luZztcblxuICAgICAgICAgICAgdGhpcy51cGRhdGVEYXRhKHsgc2VyaWVzOiBbdXBkYXRlZCwgbWlzc2luZ10gfSk7XG5cbiAgICAgICAgICAgIGlmIChyZXNwb25zZS5wYXlsb2FkLnJlc291cmNlcy50b3RhbCkge1xuICAgICAgICAgICAgICAgIHVwZGF0ZXMubWFpbnRlbmFuY2UoJ3Nob3cnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZHJhdyhkYXRhKSB7XG4gICAgICAgIGlmIChkYXRhLmluZGV4KSB7IHJldHVybjsgfVxuXG4gICAgICAgIGxldCBub3RpY2UgPSB0cmFuc2xhdGlvbnMuUExVR0lOX0FETUlOW2RhdGEudmFsdWUgPT09IDEwMCA/ICdGVUxMWV9VUERBVEVEJyA6ICdVUERBVEVTX0FWQUlMQUJMRSddO1xuICAgICAgICB0aGlzLmVsZW1lbnQuZmluZCgnLm51bWVyaWMgc3BhbicpLnRleHQoYCR7TWF0aC5yb3VuZChkYXRhLnZhbHVlKX0lYCk7XG4gICAgICAgIHRoaXMuZWxlbWVudC5maW5kKCcuanNfX3VwZGF0ZXMtYXZhaWxhYmxlLWRlc2NyaXB0aW9uJykuaHRtbChub3RpY2UpO1xuICAgICAgICB0aGlzLmVsZW1lbnQuZmluZCgnLmhpZGRlbicpLnJlbW92ZUNsYXNzKCdoaWRkZW4nKTtcbiAgICB9XG5cbiAgICB1cGRhdGVEYXRhKGRhdGEpIHtcbiAgICAgICAgc3VwZXIudXBkYXRlRGF0YShkYXRhKTtcblxuICAgICAgICAvLyBtaXNzaW5nIHVwZGF0ZXNcbiAgICAgICAgaWYgKHRoaXMuZGF0YS5zZXJpZXNbMF0gPCAxMDApIHtcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudC5jbG9zZXN0KCcjdXBkYXRlcycpLmZpbmQoJ1tkYXRhLXVwZGF0ZS1wYWNrYWdlc10nKS5mYWRlSW4oKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxubGV0IGNoYXJ0cyA9IHt9O1xuXG4kKCdbZGF0YS1jaGFydC1uYW1lXScpLmVhY2goZnVuY3Rpb24oKSB7XG4gICAgbGV0IGVsZW1lbnQgPSAkKHRoaXMpO1xuICAgIGxldCBuYW1lID0gZWxlbWVudC5kYXRhKCdjaGFydC1uYW1lJykgfHwgJyc7XG4gICAgbGV0IG9wdGlvbnMgPSBlbGVtZW50LmRhdGEoJ2NoYXJ0LW9wdGlvbnMnKSB8fCB7fTtcbiAgICBsZXQgZGF0YSA9IGVsZW1lbnQuZGF0YSgnY2hhcnQtZGF0YScpIHx8IHt9O1xuXG4gICAgaWYgKG5hbWUgPT09ICd1cGRhdGVzJykge1xuICAgICAgICBjaGFydHNbbmFtZV0gPSBuZXcgVXBkYXRlc0NoYXJ0KGVsZW1lbnQsIG9wdGlvbnMsIGRhdGEpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIGNoYXJ0c1tuYW1lXSA9IG5ldyBDaGFydChlbGVtZW50LCBvcHRpb25zLCBkYXRhKTtcbiAgICB9XG59KTtcblxuZXhwb3J0IGxldCBJbnN0YW5jZXMgPSBjaGFydHM7XG4iXSwibmFtZXMiOlsiJCIsImNoYXJ0aXN0IiwidHJhbnNsYXRpb25zIiwiSW5zdGFuY2UiLCJncG0iLCJ1cGRhdGVzIiwiZGVmYXVsdHMiLCJkYXRhIiwic2VyaWVzIiwib3B0aW9ucyIsIlBpZSIsImRvbnV0IiwiZG9udXRXaWR0aCIsInN0YXJ0QW5nbGUiLCJ0b3RhbCIsInNob3dMYWJlbCIsImhlaWdodCIsImNoYXJ0UGFkZGluZyIsIkJhciIsImF4aXNYIiwic2hvd0dyaWQiLCJsYWJlbE9mZnNldCIsIngiLCJ5IiwiYXhpc1kiLCJvZmZzZXQiLCJzY2FsZU1pblNwYWNlIiwiQ2hhcnQiLCJlbGVtZW50IiwidHlwZSIsInRvTG93ZXJDYXNlIiwiY2hhckF0IiwidG9VcHBlckNhc2UiLCJzdWJzdHIiLCJPYmplY3QiLCJhc3NpZ24iLCJjaGFydCIsImZpbmQiLCJlbXB0eSIsIm9uIiwicmVtb3ZlQ2xhc3MiLCJlYWNoIiwiaW5kZXgiLCJsYWJlbCIsInRleHQiLCJodG1sIiwicmVwbGFjZSIsInVwZGF0ZSIsIlVwZGF0ZXNDaGFydCIsImRyYXciLCJyZXNwb25zZSIsInBheWxvYWQiLCJncmF2IiwibWlzc2luZyIsInJlc291cmNlcyIsImlzVXBkYXRhYmxlIiwiaW5zdGFsbGVkIiwidXBkYXRlZCIsInVwZGF0ZURhdGEiLCJtYWludGVuYW5jZSIsIm5vdGljZSIsIlBMVUdJTl9BRE1JTiIsInZhbHVlIiwiTWF0aCIsInJvdW5kIiwiY2xvc2VzdCIsImZhZGVJbiIsImNoYXJ0cyIsIm5hbWUiLCJJbnN0YW5jZXMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./app/dashboard/chart.js\n"); /***/ }), /***/ "./app/dashboard/index.js": /*!********************************!*\ !*** ./app/dashboard/index.js ***! \********************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _chart__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./chart */ \"./app/dashboard/chart.js\");\n/* harmony import */ var _cache__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./cache */ \"./app/dashboard/cache.js\");\n/* harmony import */ var _backup__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./backup */ \"./app/dashboard/backup.js\");\n\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n Chart: {\n Chart: _chart__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n UpdatesChart: _chart__WEBPACK_IMPORTED_MODULE_0__.UpdatesChart,\n Instances: _chart__WEBPACK_IMPORTED_MODULE_0__.Instances\n },\n Cache: _cache__WEBPACK_IMPORTED_MODULE_1__.Instance\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9hcHAvZGFzaGJvYXJkL2luZGV4LmpzLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFFQSxpRUFBZTtBQUNYQSxFQUFBQSxLQUFLLEVBQUU7QUFDSEEsSUFBQUEsS0FBSyxFQUFMQSw4Q0FERztBQUVIQyxJQUFBQSxZQUFZLEVBQVpBLGdEQUZHO0FBR0hDLElBQUFBLFNBQVMsRUFBVEEsNkNBQVNBO0FBSE4sR0FESTtBQU1YRSxFQUFBQSxLQUFLLEVBQUxBLDRDQUFLQTtBQU5NLENBQWYiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9HcmF2Ly4vYXBwL2Rhc2hib2FyZC9pbmRleC5qcz9hMTk1Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBDaGFydCwgeyBVcGRhdGVzQ2hhcnQsIEluc3RhbmNlcyB9IGZyb20gJy4vY2hhcnQnO1xuaW1wb3J0IHsgSW5zdGFuY2UgYXMgQ2FjaGUgfSBmcm9tICcuL2NhY2hlJztcbmltcG9ydCAnLi9iYWNrdXAnO1xuXG5leHBvcnQgZGVmYXVsdCB7XG4gICAgQ2hhcnQ6IHtcbiAgICAgICAgQ2hhcnQsXG4gICAgICAgIFVwZGF0ZXNDaGFydCxcbiAgICAgICAgSW5zdGFuY2VzXG4gICAgfSxcbiAgICBDYWNoZVxufTtcbiJdLCJuYW1lcyI6WyJDaGFydCIsIlVwZGF0ZXNDaGFydCIsIkluc3RhbmNlcyIsIkluc3RhbmNlIiwiQ2FjaGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./app/dashboard/index.js\n"); /***/ }), /***/ "./app/forms/fields/acl-picker.js": /*!****************************************!*\ !*** ./app/forms/fields/acl-picker.js ***! \****************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ \"jquery\");\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);\n\nvar body = jquery__WEBPACK_IMPORTED_MODULE_0___default()('body');\nbody.on('change', '[data-acl_picker] select', function (event) {\n var target = jquery__WEBPACK_IMPORTED_MODULE_0___default()(event.currentTarget);\n var value = target.val();\n var item = target.closest('.permissions-item');\n var inputs = item.find('input[type=\"checkbox\"], input[type=\"radio\"]');\n var hidden = item.find('input[type=\"hidden\"][name]');\n var wrapper = target.closest('[data-acl_picker_id]');\n var type = item.data('fieldType');\n\n if (type === 'access') {\n inputs.each(function (index, input) {\n input = jquery__WEBPACK_IMPORTED_MODULE_0___default()(input);\n var name = input.prop('name');\n input.prop('name', name.replace(/(.*)(\\[[^\\]]*\\])/, \"$1[\".concat(value, \"]\")));\n });\n } else if (type === 'permissions') {\n var crudpContainer = item.find('[data-field-name]');\n inputs.each(function (index, input) {\n input = jquery__WEBPACK_IMPORTED_MODULE_0___default()(input);\n var rand = Math.round(Math.random() * 500);\n var name = crudpContainer.data('fieldName');\n var id = input.prop('id').split('_').slice(0, -1).join('_') + \"_\".concat(value, \"+\").concat(rand); // const key = input.data('crudpKey');\n\n hidden.prop('name', name.replace(/(.*)(\\[[^\\]]*\\])/, \"$1[\".concat(value, \"]\")));\n input.prop('id', id);\n input.next('label').prop('for', id);\n });\n }\n\n wrapper.find('.permissions-item .button.add-item')[!value ? 'addClass' : 'removeClass']('disabled').prop('disabled', !value ? 'disabled' : null);\n});\nbody.on('input', 'input[data-crudp-key]', function (event) {\n var target = jquery__WEBPACK_IMPORTED_MODULE_0___default()(event.currentTarget);\n var container = target.closest('.crudp-container');\n var hidden = container.find('input[type=\"hidden\"][name]');\n var key = target.data('crudpKey');\n var json = JSON.parse(hidden.val() || '{}');\n json[key] = target.val();\n hidden.val(JSON.stringify(json));\n});\nbody.on('click', '[data-acl_picker] .remove-item', function (event) {\n event.preventDefault();\n var target = jquery__WEBPACK_IMPORTED_MODULE_0___default()(event.currentTarget);\n var container = target.closest('.permissions-item');\n var wrapper = target.closest('[data-acl_picker_id]');\n container.remove();\n var empty = wrapper.find('.permissions-item').length === 1; // show the initial + button\n\n if (empty) {\n wrapper.find('.permissions-item.empty-list').removeClass('hidden');\n }\n});\nbody.on('click', '[data-acl_picker] .add-item', function (event) {\n event.preventDefault();\n var target = jquery__WEBPACK_IMPORTED_MODULE_0___default()(event.currentTarget);\n var item = target.closest('.permissions-item');\n var wrapper = target.closest('[data-acl_picker_id]');\n var ID = wrapper.data('acl_picker_id');\n var template = document.querySelector(\"template[data-id=\\\"acl_picker-\".concat(ID, \"\\\"]\"));\n var clone = jquery__WEBPACK_IMPORTED_MODULE_0___default()(template.content.firstElementChild).clone();\n clone.insertAfter(item); // randomize ids\n\n clone.find('.switch-toggle input[type=\"radio\"]').each(function (index, input) {\n input = jquery__WEBPACK_IMPORTED_MODULE_0___default()(input);\n var id = input.prop('id');\n var label = input.next('label');\n var rand = (Date.now().toString(36) + Math.random().toString(36).substr(2, 5)).toLowerCase();\n input.prop('id', \"\".concat(id).concat(rand));\n label.prop('for', \"\".concat(id).concat(rand));\n }); // hide the initial + button\n\n wrapper.find('.permissions-item.empty-list').addClass('hidden'); // disable all + buttons until one is selected\n\n wrapper.find('.permissions-item .button.add-item').addClass('disabled').prop('disabled', 'disabled');\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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QW9CLEVBQXBCLElBQTBCOUIsSUFBSSxDQUFDRSxNQUFMLEdBQWM0QixRQUFkLENBQXVCLEVBQXZCLEVBQTJCQyxNQUEzQixDQUFrQyxDQUFsQyxFQUFxQyxDQUFyQyxDQUEzQixFQUFvRUMsV0FBcEUsRUFBYjtBQUVBdEMsSUFBQUEsS0FBSyxDQUFDRSxJQUFOLENBQVcsSUFBWCxZQUFvQk8sRUFBcEIsU0FBeUJKLElBQXpCO0FBQ0E0QixJQUFBQSxLQUFLLENBQUMvQixJQUFOLENBQVcsS0FBWCxZQUFxQk8sRUFBckIsU0FBMEJKLElBQTFCO0FBQ0gsR0FSRCxFQVp1RCxDQXNCdkQ7O0FBQ0FWLEVBQUFBLE9BQU8sQ0FBQ0YsSUFBUixDQUFhLDhCQUFiLEVBQTZDOEMsUUFBN0MsQ0FBc0QsUUFBdEQsRUF2QnVELENBeUJ2RDs7QUFDQTVDLEVBQUFBLE9BQU8sQ0FBQ0YsSUFBUixDQUFhLG9DQUFiLEVBQW1EOEMsUUFBbkQsQ0FBNEQsVUFBNUQsRUFBd0VyQyxJQUF4RSxDQUE2RSxVQUE3RSxFQUF5RixVQUF6RjtBQUNILENBM0JEIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vR3Jhdi8uL2FwcC9mb3Jtcy9maWVsZHMvYWNsLXBpY2tlci5qcz9kZjg3Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAkIGZyb20gJ2pxdWVyeSc7XG5cbmNvbnN0IGJvZHkgPSAkKCdib2R5Jyk7XG5cbmJvZHkub24oJ2NoYW5nZScsICdbZGF0YS1hY2xfcGlja2VyXSBzZWxlY3QnLCAoZXZlbnQpID0+IHtcbiAgICBjb25zdCB0YXJnZXQgPSAkKGV2ZW50LmN1cnJlbnRUYXJnZXQpO1xuICAgIGNvbnN0IHZhbHVlID0gdGFyZ2V0LnZhbCgpO1xuICAgIGNvbnN0IGl0ZW0gPSB0YXJnZXQuY2xvc2VzdCgnLnBlcm1pc3Npb25zLWl0ZW0nKTtcbiAgICBjb25zdCBpbnB1dHMgPSBpdGVtLmZpbmQoJ2lucHV0W3R5cGU9XCJjaGVja2JveFwiXSwgaW5wdXRbdHlwZT1cInJhZGlvXCJdJyk7XG4gICAgY29uc3QgaGlkZGVuID0gaXRlbS5maW5kKCdpbnB1dFt0eXBlPVwiaGlkZGVuXCJdW25hbWVdJyk7XG4gICAgY29uc3Qgd3JhcHBlciA9IHRhcmdldC5jbG9zZXN0KCdbZGF0YS1hY2xfcGlja2VyX2lkXScpO1xuICAgIGNvbnN0IHR5cGUgPSBpdGVtLmRhdGEoJ2ZpZWxkVHlwZScpO1xuXG4gICAgaWYgKHR5cGUgPT09ICdhY2Nlc3MnKSB7XG4gICAgICAgIGlucHV0cy5lYWNoKChpbmRleCwgaW5wdXQpID0+IHtcbiAgICAgICAgICAgIGlucHV0ID0gJChpbnB1dCk7XG4gICAgICAgICAgICBjb25zdCBuYW1lID0gaW5wdXQucHJvcCgnbmFtZScpO1xuICAgICAgICAgICAgaW5wdXQucHJvcCgnbmFtZScsIG5hbWUucmVwbGFjZSgvKC4qKShcXFtbXlxcXV0qXFxdKS8sIGAkMVske3ZhbHVlfV1gKSk7XG4gICAgICAgIH0pO1xuICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ3Blcm1pc3Npb25zJykge1xuICAgICAgICBjb25zdCBjcnVkcENvbnRhaW5lciA9IGl0ZW0uZmluZCgnW2RhdGEtZmllbGQtbmFtZV0nKTtcbiAgICAgICAgaW5wdXRzLmVhY2goKGluZGV4LCBpbnB1dCkgPT4ge1xuICAgICAgICAgICAgaW5wdXQgPSAkKGlucHV0KTtcbiAgICAgICAgICAgIGNvbnN0IHJhbmQgPSBNYXRoLnJvdW5kKE1hdGgucmFuZG9tKCkgKiA1MDApO1xuICAgICAgICAgICAgY29uc3QgbmFtZSA9IGNydWRwQ29udGFpbmVyLmRhdGEoJ2ZpZWxkTmFtZScpO1xuICAgICAgICAgICAgY29uc3QgaWQgPSBpbnB1dC5wcm9wKCdpZCcpLnNwbGl0KCdfJykuc2xpY2UoMCwgLTEpLmpvaW4oJ18nKSArIGBfJHt2YWx1ZX0rJHtyYW5kfWA7XG4gICAgICAgICAgICAvLyBjb25zdCBrZXkgPSBpbnB1dC5kYXRhKCdjcnVkcEtleScpO1xuICAgICAgICAgICAgaGlkZGVuLnByb3AoJ25hbWUnLCBuYW1lLnJlcGxhY2UoLyguKikoXFxbW15cXF1dKlxcXSkvLCBgJDFbJHt2YWx1ZX1dYCkpO1xuICAgICAgICAgICAgaW5wdXQucHJvcCgnaWQnLCBpZCk7XG4gICAgICAgICAgICBpbnB1dC5uZXh0KCdsYWJlbCcpLnByb3AoJ2ZvcicsIGlkKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgd3JhcHBlci5maW5kKCcucGVybWlzc2lvbnMtaXRlbSAuYnV0dG9uLmFkZC1pdGVtJylbIXZhbHVlID8gJ2FkZENsYXNzJyA6ICdyZW1vdmVDbGFzcyddKCdkaXNhYmxlZCcpLnByb3AoJ2Rpc2FibGVkJywgIXZhbHVlID8gJ2Rpc2FibGVkJyA6IG51bGwpO1xufSk7XG5cbmJvZHkub24oJ2lucHV0JywgJ2lucHV0W2RhdGEtY3J1ZHAta2V5XScsIChldmVudCkgPT4ge1xuICAgIGNvbnN0IHRhcmdldCA9ICQoZXZlbnQuY3VycmVudFRhcmdldCk7XG4gICAgY29uc3QgY29udGFpbmVyID0gdGFyZ2V0LmNsb3Nlc3QoJy5jcnVkcC1jb250YWluZXInKTtcbiAgICBjb25zdCBoaWRkZW4gPSBjb250YWluZXIuZmluZCgnaW5wdXRbdHlwZT1cImhpZGRlblwiXVtuYW1lXScpO1xuICAgIGNvbnN0IGtleSA9IHRhcmdldC5kYXRhKCdjcnVkcEtleScpO1xuICAgIGNvbnN0IGpzb24gPSBKU09OLnBhcnNlKGhpZGRlbi52YWwoKSB8fCAne30nKTtcbiAgICBqc29uW2tleV0gPSB0YXJnZXQudmFsKCk7XG4gICAgaGlkZGVuLnZhbChKU09OLnN0cmluZ2lmeShqc29uKSk7XG59KTtcblxuYm9keS5vbignY2xpY2snLCAnW2RhdGEtYWNsX3BpY2tlcl0gLnJlbW92ZS1pdGVtJywgKGV2ZW50KSA9PiB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBjb25zdCB0YXJnZXQgPSAkKGV2ZW50LmN1cnJlbnRUYXJnZXQpO1xuICAgIGNvbnN0IGNvbnRhaW5lciA9IHRhcmdldC5jbG9zZXN0KCcucGVybWlzc2lvbnMtaXRlbScpO1xuICAgIGNvbnN0IHdyYXBwZXIgPSB0YXJnZXQuY2xvc2VzdCgnW2RhdGEtYWNsX3BpY2tlcl9pZF0nKTtcbiAgICBjb250YWluZXIucmVtb3ZlKCk7XG5cbiAgICBjb25zdCBlbXB0eSA9IHdyYXBwZXIuZmluZCgnLnBlcm1pc3Npb25zLWl0ZW0nKS5sZW5ndGggPT09IDE7XG5cbiAgICAvLyBzaG93IHRoZSBpbml0aWFsICsgYnV0dG9uXG4gICAgaWYgKGVtcHR5KSB7XG4gICAgICAgIHdyYXBwZXIuZmluZCgnLnBlcm1pc3Npb25zLWl0ZW0uZW1wdHktbGlzdCcpLnJlbW92ZUNsYXNzKCdoaWRkZW4nKTtcbiAgICB9XG59KTtcblxuYm9keS5vbignY2xpY2snLCAnW2RhdGEtYWNsX3BpY2tlcl0gLmFkZC1pdGVtJywgKGV2ZW50KSA9PiB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBjb25zdCB0YXJnZXQgPSAkKGV2ZW50LmN1cnJlbnRUYXJnZXQpO1xuICAgIGNvbnN0IGl0ZW0gPSB0YXJnZXQuY2xvc2VzdCgnLnBlcm1pc3Npb25zLWl0ZW0nKTtcbiAgICBjb25zdCB3cmFwcGVyID0gdGFyZ2V0LmNsb3Nlc3QoJ1tkYXRhLWFjbF9waWNrZXJfaWRdJyk7XG4gICAgY29uc3QgSUQgPSB3cmFwcGVyLmRhdGEoJ2FjbF9waWNrZXJfaWQnKTtcbiAgICBjb25zdCB0ZW1wbGF0ZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoYHRlbXBsYXRlW2RhdGEtaWQ9XCJhY2xfcGlja2VyLSR7SUR9XCJdYCk7XG5cbiAgICBjb25zdCBjbG9uZSA9ICQodGVtcGxhdGUuY29udGVudC5maXJzdEVsZW1lbnRDaGlsZCkuY2xvbmUoKTtcbiAgICBjbG9uZS5pbnNlcnRBZnRlcihpdGVtKTtcblxuICAgIC8vIHJhbmRvbWl6ZSBpZHNcbiAgICBjbG9uZS5maW5kKCcuc3dpdGNoLXRvZ2dsZSBpbnB1dFt0eXBlPVwicmFkaW9cIl0nKS5lYWNoKChpbmRleCwgaW5wdXQpID0+IHtcbiAgICAgICAgaW5wdXQgPSAkKGlucHV0KTtcbiAgICAgICAgY29uc3QgaWQgPSBpbnB1dC5wcm9wKCdpZCcpO1xuICAgICAgICBjb25zdCBsYWJlbCA9IGlucHV0Lm5leHQoJ2xhYmVsJyk7XG4gICAgICAgIGNvbnN0IHJhbmQgPSAoRGF0ZS5ub3coKS50b1N0cmluZygzNikgKyBNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHIoMiwgNSkpLnRvTG93ZXJDYXNlKCk7XG5cbiAgICAgICAgaW5wdXQucHJvcCgnaWQnLCBgJHtpZH0ke3JhbmR9YCk7XG4gICAgICAgIGxhYmVsLnByb3AoJ2ZvcicsIGAke2lkfSR7cmFuZH1gKTtcbiAgICB9KTtcblxuICAgIC8vIGhpZGUgdGhlIGluaXRpYWwgKyBidXR0b25cbiAgICB3cmFwcGVyLmZpbmQoJy5wZXJtaXNzaW9ucy1pdGVtLmVtcHR5LWxpc3QnKS5hZGRDbGFzcygnaGlkZGVuJyk7XG5cbiAgICAvLyBkaXNhYmxlIGFsbCArIGJ1dHRvbnMgdW50aWwgb25lIGlzIHNlbGVjdGVkXG4gICAgd3JhcHBlci5maW5kKCcucGVybWlzc2lvbnMtaXRlbSAuYnV0dG9uLmFkZC1pdGVtJykuYWRkQ2xhc3MoJ2Rpc2FibGVkJykucHJvcCgnZGlzYWJsZWQnLCAnZGlzYWJsZWQnKTtcbn0pO1xuIl0sIm5hbWVzIjpbIiQiLCJib2R5Iiwib24iLCJldmVudCIsInRhcmdldCIsImN1cnJlbnRUYXJnZXQiLCJ2YWx1ZSIsInZhbCIsIml0ZW0iLCJjbG9zZXN0IiwiaW5wdXRzIiwiZmluZCIsImhpZGRlbiIsIndyYXBwZXIiLCJ0eXBlIiwiZGF0YSIsImVhY2giLCJpbmRleCIsImlucHV0IiwibmFtZSIsInByb3AiLCJyZXBsYWNlIiwiY3J1ZHBDb250YWluZXIiLCJyYW5kIiwiTWF0aCIsInJvdW5kIiwicmFuZG9tIiwiaWQiLCJzcGxpdCIsInNsaWNlIiwiam9pbiIsIm5leHQiLCJjb250YWluZXIiLCJrZXkiLCJqc29uIiwiSlNPTiIsInBhcnNlIiwic3RyaW5naWZ5IiwicHJldmVudERlZmF1bHQiLCJyZW1vdmUiLCJlbXB0eSIsImxlbmd0aCIsInJlbW92ZUNsYXNzIiwiSUQiLCJ0ZW1wbGF0ZSIsImRvY3VtZW50IiwicXVlcnlTZWxlY3RvciIsImNsb25lIiwiY29udGVudCIsImZpcnN0RWxlbWVudENoaWxkIiwiaW5zZXJ0QWZ0ZXIiLCJsYWJlbCIsIkRhdGUiLCJub3ciLCJ0b1N0cmluZyIsInN1YnN0ciIsInRvTG93ZXJDYXNlIiwiYWRkQ2xhc3MiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./app/forms/fields/acl-picker.js\n"); /***/ }), /***/ "./app/forms/fields/array.js": /*!***********************************!*\ !*** ./app/forms/fields/array.js ***! \***********************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ ArrayField),\n/* harmony export */ \"Instance\": () => (/* binding */ Instance)\n/* harmony export */ });\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ \"jquery\");\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var sortablejs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! sortablejs */ \"./node_modules/sortablejs/modular/sortable.esm.js\");\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\n\n\nvar body = jquery__WEBPACK_IMPORTED_MODULE_0___default()('body');\n\nvar Template = /*#__PURE__*/function () {\n function Template(container) {\n _classCallCheck(this, Template);\n\n this.container = jquery__WEBPACK_IMPORTED_MODULE_0___default()(container);\n\n if (this.getName() === undefined) {\n this.container = this.container.closest('[data-grav-array-name]');\n }\n }\n\n _createClass(Template, [{\n key: \"getName\",\n value: function getName() {\n return this.container.data('grav-array-name') || '';\n }\n }, {\n key: \"getKeyPlaceholder\",\n value: function getKeyPlaceholder() {\n return this.container.data('grav-array-keyname') || 'Key';\n }\n }, {\n key: \"getValuePlaceholder\",\n value: function getValuePlaceholder() {\n return this.container.data('grav-array-valuename') || 'Value';\n }\n }, {\n key: \"isValueOnly\",\n value: function isValueOnly() {\n return this.container.find('[data-grav-array-mode=\"value_only\"]:first').length || false;\n }\n }, {\n key: \"isTextArea\",\n value: function isTextArea() {\n return this.container.data('grav-array-textarea') || false;\n }\n }, {\n key: \"shouldBeDisabled\",\n value: function shouldBeDisabled() {\n // check for toggleables, if field is toggleable and it's not enabled, render disabled\n var toggle = this.container.closest('.form-field').find('[data-grav-field=\"toggleable\"] input[type=\"checkbox\"]');\n return toggle.length && toggle.is(':not(:checked)');\n }\n }, {\n key: \"getNewRow\",\n value: function getNewRow() {\n var tpl = '';\n var value = this.isTextArea() ? \"\") : \"\");\n\n if (this.isValueOnly()) {\n tpl += \"\\n
\\n \\n \".concat(value, \"\\n \");\n } else {\n tpl += \"\\n
\\n \\n \\n \").concat(value, \"\\n \");\n }\n\n tpl += \"\\n \\n \\n
\";\n return tpl;\n }\n }]);\n\n return Template;\n}();\n\nvar ArrayField = /*#__PURE__*/function () {\n function ArrayField() {\n var _this = this;\n\n _classCallCheck(this, ArrayField);\n\n body.on('input', '[data-grav-array-type=\"key\"], [data-grav-array-type=\"value\"]', function (event) {\n return _this.actionInput(event);\n });\n body.on('click touch', '[data-grav-array-action]:not([data-grav-array-action=\"sort\"])', function (event) {\n return _this.actionEvent(event);\n });\n this.arrays = jquery__WEBPACK_IMPORTED_MODULE_0___default()();\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('[data-grav-field=\"array\"]').each(function (index, list) {\n return _this.addArray(list);\n });\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('body').on('mutation._grav', this._onAddedNodes.bind(this));\n }\n\n _createClass(ArrayField, [{\n key: \"addArray\",\n value: function addArray(list) {\n var _this2 = this;\n\n list = jquery__WEBPACK_IMPORTED_MODULE_0___default()(list);\n list.find('[data-grav-array-type=\"container\"]').each(function (index, container) {\n container = jquery__WEBPACK_IMPORTED_MODULE_0___default()(container);\n\n if (container.data('array-sort') || container[0].hasAttribute('data-array-nosort')) {\n return;\n }\n\n container.data('array-sort', new sortablejs__WEBPACK_IMPORTED_MODULE_1__[\"default\"](container.get(0), {\n handle: '.fa-bars',\n animation: 150,\n onUpdate: function onUpdate() {\n var item = container.find('[data-grav-array-type=\"row\"]:first');\n\n _this2._setTemplate(item);\n\n var template = item.data('array-template');\n\n _this2.refreshNames(template);\n }\n }));\n });\n }\n }, {\n key: \"actionInput\",\n value: function actionInput(event) {\n var element = jquery__WEBPACK_IMPORTED_MODULE_0___default()(event.target);\n var type = element.data('grav-array-type');\n\n this._setTemplate(element);\n\n var template = element.data('array-template');\n var keyElement = type === 'key' ? element : element.siblings('[data-grav-array-type=\"key\"]:first');\n var valueElement = type === 'value' ? element : element.siblings('[data-grav-array-type=\"value\"]:first');\n var escaped_name = !template.isValueOnly() ? keyElement.val() : this.getIndexFor(element);\n escaped_name = escaped_name.toString().replace(/\\[/g, '%5B').replace(/]/g, '%5D');\n var name = \"\".concat(template.getName(), \"[\").concat(escaped_name, \"]\");\n\n if (!template.isValueOnly() && !keyElement.val() && !valueElement.val()) {\n valueElement.attr('name', '');\n } else {\n // valueElement.attr('name', !valueElement.val() ? template.getName() : name);\n valueElement.attr('name', name);\n }\n\n this.refreshNames(template);\n }\n }, {\n key: \"actionEvent\",\n value: function actionEvent(event) {\n event && event.preventDefault();\n var element = jquery__WEBPACK_IMPORTED_MODULE_0___default()(event.target);\n var action = element.data('grav-array-action');\n var container = element.parents('[data-grav-array-type=\"container\"]');\n\n this._setTemplate(element);\n\n this[\"\".concat(action, \"Action\")](element);\n var siblings = container.find('> div');\n container[siblings.length > 1 ? 'removeClass' : 'addClass']('one-child');\n }\n }, {\n key: \"addAction\",\n value: function addAction(element) {\n var template = element.data('array-template');\n var row = element.closest('[data-grav-array-type=\"row\"]');\n row.after(template.getNewRow());\n }\n }, {\n key: \"remAction\",\n value: function remAction(element) {\n var template = element.data('array-template');\n var row = element.closest('[data-grav-array-type=\"row\"]');\n var isLast = !row.siblings().length;\n\n if (isLast) {\n var newRow = jquery__WEBPACK_IMPORTED_MODULE_0___default()(template.getNewRow());\n row.after(newRow);\n newRow.find('[data-grav-array-type=\"value\"]:last').attr('name', template.getName());\n }\n\n row.remove();\n this.refreshNames(template);\n }\n }, {\n key: \"refreshNames\",\n value: function refreshNames(template) {\n if (!template.isValueOnly()) {\n return;\n }\n\n var row = template.container.find('> div > [data-grav-array-type=\"row\"]');\n var inputs = row.find('[name]:not([name=\"\"])');\n inputs.each(function (index, input) {\n input = jquery__WEBPACK_IMPORTED_MODULE_0___default()(input);\n var preserved_name = input.closest('[data-grav-array-name]');\n var name = \"\".concat(preserved_name.attr('data-grav-array-name'), \"[\").concat(index, \"]\");\n input.attr('name', name);\n });\n\n if (!inputs.length) {\n row.find('[data-grav-array-type=\"value\"]').attr('name', template.getName());\n }\n }\n }, {\n key: \"getIndexFor\",\n value: function getIndexFor(element) {\n var template = element.data('array-template');\n var row = element.closest('[data-grav-array-type=\"row\"]');\n return template.container.find(\"\".concat(template.isValueOnly() ? '> div ' : '', \" > [data-grav-array-type=\\\"row\\\"]\")).index(row);\n }\n }, {\n key: \"_setTemplate\",\n value: function _setTemplate(element) {\n if (!element.data('array-template')) {\n element.data('array-template', new Template(element.closest('[data-grav-array-name]')));\n }\n }\n }, {\n key: \"_onAddedNodes\",\n value: function _onAddedNodes(event, target\n /* , record, instance */\n ) {\n var _this3 = this;\n\n var arrays = jquery__WEBPACK_IMPORTED_MODULE_0___default()(target).find('[data-grav-field=\"array\"]');\n\n if (!arrays.length) {\n return;\n }\n\n arrays.each(function (index, list) {\n list = jquery__WEBPACK_IMPORTED_MODULE_0___default()(list);\n\n if (!~_this3.arrays.index(list)) {\n _this3.addArray(list);\n }\n });\n }\n }]);\n\n return ArrayField;\n}();\n\n\nvar Instance = new ArrayField();//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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LENBQWNELElBQWQ7QUFDSDtBQUNKLE9BTEQ7QUFNSDs7Ozs7OztBQUdFLElBQUlzQyxRQUFRLEdBQUcsSUFBSTlDLFVBQUosRUFBZiIsInNvdXJjZXMiOlsid2VicGFjazovL0dyYXYvLi9hcHAvZm9ybXMvZmllbGRzL2FycmF5LmpzPzM4NGEiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICQgZnJvbSAnanF1ZXJ5JztcbmltcG9ydCBTb3J0YWJsZSBmcm9tICdzb3J0YWJsZWpzJztcblxubGV0IGJvZHkgPSAkKCdib2R5Jyk7XG5cbmNsYXNzIFRlbXBsYXRlIHtcbiAgICBjb25zdHJ1Y3Rvcihjb250YWluZXIpIHtcbiAgICAgICAgdGhpcy5jb250YWluZXIgPSAkKGNvbnRhaW5lcik7XG5cbiAgICAgICAgaWYgKHRoaXMuZ2V0TmFtZSgpID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRoaXMuY29udGFpbmVyID0gdGhpcy5jb250YWluZXIuY2xvc2VzdCgnW2RhdGEtZ3Jhdi1hcnJheS1uYW1lXScpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0TmFtZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udGFpbmVyLmRhdGEoJ2dyYXYtYXJyYXktbmFtZScpIHx8ICcnO1xuICAgIH1cblxuICAgIGdldEtleVBsYWNlaG9sZGVyKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250YWluZXIuZGF0YSgnZ3Jhdi1hcnJheS1rZXluYW1lJykgfHwgJ0tleSc7XG4gICAgfVxuXG4gICAgZ2V0VmFsdWVQbGFjZWhvbGRlcigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udGFpbmVyLmRhdGEoJ2dyYXYtYXJyYXktdmFsdWVuYW1lJykgfHwgJ1ZhbHVlJztcbiAgICB9XG5cbiAgICBpc1ZhbHVlT25seSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udGFpbmVyLmZpbmQoJ1tkYXRhLWdyYXYtYXJyYXktbW9kZT1cInZhbHVlX29ubHlcIl06Zmlyc3QnKS5sZW5ndGggfHwgZmFsc2U7XG4gICAgfVxuXG4gICAgaXNUZXh0QXJlYSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udGFpbmVyLmRhdGEoJ2dyYXYtYXJyYXktdGV4dGFyZWEnKSB8fCBmYWxzZTtcbiAgICB9XG5cbiAgICBzaG91bGRCZURpc2FibGVkKCkge1xuICAgICAgICAvLyBjaGVjayBmb3IgdG9nZ2xlYWJsZXMsIGlmIGZpZWxkIGlzIHRvZ2dsZWFibGUgYW5kIGl0J3Mgbm90IGVuYWJsZWQsIHJlbmRlciBkaXNhYmxlZFxuICAgICAgICBsZXQgdG9nZ2xlID0gdGhpcy5jb250YWluZXIuY2xvc2VzdCgnLmZvcm0tZmllbGQnKS5maW5kKCdbZGF0YS1ncmF2LWZpZWxkPVwidG9nZ2xlYWJsZVwiXSBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0nKTtcbiAgICAgICAgcmV0dXJuIHRvZ2dsZS5sZW5ndGggJiYgdG9nZ2xlLmlzKCc6bm90KDpjaGVja2VkKScpO1xuICAgIH1cblxuICAgIGdldE5ld1JvdygpIHtcbiAgICAgICAgbGV0IHRwbCA9ICcnO2NvbnN0IHZhbHVlID0gdGhpcy5pc1RleHRBcmVhKClcbiAgICAgICAgICAgID8gYDx0ZXh0YXJlYSAke3RoaXMuc2hvdWxkQmVEaXNhYmxlZCgpID8gJ2Rpc2FibGVkPVwiZGlzYWJsZWRcIicgOiAnJ30gZGF0YS1ncmF2LWFycmF5LXR5cGU9XCJ2YWx1ZVwiIG5hbWU9XCJcIiBwbGFjZWhvbGRlcj1cIiR7dGhpcy5nZXRWYWx1ZVBsYWNlaG9sZGVyKCl9XCI+PC90ZXh0YXJlYT5gXG4gICAgICAgICAgICA6IGA8aW5wdXQgJHt0aGlzLnNob3VsZEJlRGlzYWJsZWQoKSA/ICdkaXNhYmxlZD1cImRpc2FibGVkXCInIDogJyd9IGRhdGEtZ3Jhdi1hcnJheS10eXBlPVwidmFsdWVcIiB0eXBlPVwidGV4dFwiIG5hbWU9XCJcIiB2YWx1ZT1cIlwiICBwbGFjZWhvbGRlcj1cIiR7dGhpcy5nZXRWYWx1ZVBsYWNlaG9sZGVyKCl9XCIgLz5gO1xuXG4gICAgICAgIGlmICh0aGlzLmlzVmFsdWVPbmx5KCkpIHtcbiAgICAgICAgICAgIHRwbCArPSBgXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1yb3cgYXJyYXktZmllbGQtdmFsdWVfb25seVwiIGRhdGEtZ3Jhdi1hcnJheS10eXBlPVwicm93XCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gZGF0YS1ncmF2LWFycmF5LWFjdGlvbj1cInNvcnRcIiBjbGFzcz1cImZhIGZhLWJhcnNcIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgJHt2YWx1ZX1cbiAgICAgICAgICAgIGA7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0cGwgKz0gYFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tcm93XCIgZGF0YS1ncmF2LWFycmF5LXR5cGU9XCJyb3dcIj5cbiAgICAgICAgICAgICAgICA8c3BhbiBkYXRhLWdyYXYtYXJyYXktYWN0aW9uPVwic29ydFwiIGNsYXNzPVwiZmEgZmEtYmFyc1wiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8aW5wdXQgJHt0aGlzLnNob3VsZEJlRGlzYWJsZWQoKSA/ICdkaXNhYmxlZD1cImRpc2FibGVkXCInIDogJyd9IGRhdGEtZ3Jhdi1hcnJheS10eXBlPVwia2V5XCIgdHlwZT1cInRleHRcIiB2YWx1ZT1cIlwiIHBsYWNlaG9sZGVyPVwiJHt0aGlzLmdldEtleVBsYWNlaG9sZGVyKCl9XCIgLz5cbiAgICAgICAgICAgICAgICAke3ZhbHVlfVxuICAgICAgICAgICAgYDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRwbCArPSBgXG4gICAgICAgICAgICA8c3BhbiBkYXRhLWdyYXYtYXJyYXktYWN0aW9uPVwicmVtXCIgY2xhc3M9XCJmYSBmYS1taW51c1wiPjwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuIGRhdGEtZ3Jhdi1hcnJheS1hY3Rpb249XCJhZGRcIiBjbGFzcz1cImZhIGZhLXBsdXNcIj48L3NwYW4+XG4gICAgICAgIDwvZGl2PmA7XG5cbiAgICAgICAgcmV0dXJuIHRwbDtcbiAgICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEFycmF5RmllbGQge1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBib2R5Lm9uKCdpbnB1dCcsICdbZGF0YS1ncmF2LWFycmF5LXR5cGU9XCJrZXlcIl0sIFtkYXRhLWdyYXYtYXJyYXktdHlwZT1cInZhbHVlXCJdJywgKGV2ZW50KSA9PiB0aGlzLmFjdGlvbklucHV0KGV2ZW50KSk7XG4gICAgICAgIGJvZHkub24oJ2NsaWNrIHRvdWNoJywgJ1tkYXRhLWdyYXYtYXJyYXktYWN0aW9uXTpub3QoW2RhdGEtZ3Jhdi1hcnJheS1hY3Rpb249XCJzb3J0XCJdKScsIChldmVudCkgPT4gdGhpcy5hY3Rpb25FdmVudChldmVudCkpO1xuXG4gICAgICAgIHRoaXMuYXJyYXlzID0gJCgpO1xuXG4gICAgICAgICQoJ1tkYXRhLWdyYXYtZmllbGQ9XCJhcnJheVwiXScpLmVhY2goKGluZGV4LCBsaXN0KSA9PiB0aGlzLmFkZEFycmF5KGxpc3QpKTtcbiAgICAgICAgJCgnYm9keScpLm9uKCdtdXRhdGlvbi5fZ3JhdicsIHRoaXMuX29uQWRkZWROb2Rlcy5iaW5kKHRoaXMpKTtcbiAgICB9XG5cbiAgICBhZGRBcnJheShsaXN0KSB7XG4gICAgICAgIGxpc3QgPSAkKGxpc3QpO1xuXG4gICAgICAgIGxpc3QuZmluZCgnW2RhdGEtZ3Jhdi1hcnJheS10eXBlPVwiY29udGFpbmVyXCJdJykuZWFjaCgoaW5kZXgsIGNvbnRhaW5lcikgPT4ge1xuICAgICAgICAgICAgY29udGFpbmVyID0gJChjb250YWluZXIpO1xuICAgICAgICAgICAgaWYgKGNvbnRhaW5lci5kYXRhKCdhcnJheS1zb3J0JykgfHwgY29udGFpbmVyWzBdLmhhc0F0dHJpYnV0ZSgnZGF0YS1hcnJheS1ub3NvcnQnKSkgeyByZXR1cm47IH1cblxuICAgICAgICAgICAgY29udGFpbmVyLmRhdGEoJ2FycmF5LXNvcnQnLCBuZXcgU29ydGFibGUoY29udGFpbmVyLmdldCgwKSwge1xuICAgICAgICAgICAgICAgIGhhbmRsZTogJy5mYS1iYXJzJyxcbiAgICAgICAgICAgICAgICBhbmltYXRpb246IDE1MCxcbiAgICAgICAgICAgICAgICBvblVwZGF0ZTogKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBpdGVtID0gY29udGFpbmVyLmZpbmQoJ1tkYXRhLWdyYXYtYXJyYXktdHlwZT1cInJvd1wiXTpmaXJzdCcpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9zZXRUZW1wbGF0ZShpdGVtKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGVtcGxhdGUgPSBpdGVtLmRhdGEoJ2FycmF5LXRlbXBsYXRlJyk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVmcmVzaE5hbWVzKHRlbXBsYXRlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGFjdGlvbklucHV0KGV2ZW50KSB7XG4gICAgICAgIGxldCBlbGVtZW50ID0gJChldmVudC50YXJnZXQpO1xuICAgICAgICBsZXQgdHlwZSA9IGVsZW1lbnQuZGF0YSgnZ3Jhdi1hcnJheS10eXBlJyk7XG5cbiAgICAgICAgdGhpcy5fc2V0VGVtcGxhdGUoZWxlbWVudCk7XG5cbiAgICAgICAgbGV0IHRlbXBsYXRlID0gZWxlbWVudC5kYXRhKCdhcnJheS10ZW1wbGF0ZScpO1xuICAgICAgICBsZXQga2V5RWxlbWVudCA9IHR5cGUgPT09ICdrZXknID8gZWxlbWVudCA6IGVsZW1lbnQuc2libGluZ3MoJ1tkYXRhLWdyYXYtYXJyYXktdHlwZT1cImtleVwiXTpmaXJzdCcpO1xuICAgICAgICBsZXQgdmFsdWVFbGVtZW50ID0gdHlwZSA9PT0gJ3ZhbHVlJyA/IGVsZW1lbnQgOiBlbGVtZW50LnNpYmxpbmdzKCdbZGF0YS1ncmF2LWFycmF5LXR5cGU9XCJ2YWx1ZVwiXTpmaXJzdCcpO1xuXG4gICAgICAgIGxldCBlc2NhcGVkX25hbWUgPSAhdGVtcGxhdGUuaXNWYWx1ZU9ubHkoKSA/IGtleUVsZW1lbnQudmFsKCkgOiB0aGlzLmdldEluZGV4Rm9yKGVsZW1lbnQpO1xuICAgICAgICBlc2NhcGVkX25hbWUgPSBlc2NhcGVkX25hbWUudG9TdHJpbmcoKS5yZXBsYWNlKC9cXFsvZywgJyU1QicpLnJlcGxhY2UoL10vZywgJyU1RCcpO1xuICAgICAgICBsZXQgbmFtZSA9IGAke3RlbXBsYXRlLmdldE5hbWUoKX1bJHtlc2NhcGVkX25hbWV9XWA7XG5cbiAgICAgICAgaWYgKCF0ZW1wbGF0ZS5pc1ZhbHVlT25seSgpICYmICgha2V5RWxlbWVudC52YWwoKSAmJiAhdmFsdWVFbGVtZW50LnZhbCgpKSkge1xuICAgICAgICAgICAgdmFsdWVFbGVtZW50LmF0dHIoJ25hbWUnLCAnJyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyB2YWx1ZUVsZW1lbnQuYXR0cignbmFtZScsICF2YWx1ZUVsZW1lbnQudmFsKCkgPyB0ZW1wbGF0ZS5nZXROYW1lKCkgOiBuYW1lKTtcbiAgICAgICAgICAgIHZhbHVlRWxlbWVudC5hdHRyKCduYW1lJywgbmFtZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnJlZnJlc2hOYW1lcyh0ZW1wbGF0ZSk7XG4gICAgfVxuXG4gICAgYWN0aW9uRXZlbnQoZXZlbnQpIHtcbiAgICAgICAgZXZlbnQgJiYgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgbGV0IGVsZW1lbnQgPSAkKGV2ZW50LnRhcmdldCk7XG4gICAgICAgIGxldCBhY3Rpb24gPSBlbGVtZW50LmRhdGEoJ2dyYXYtYXJyYXktYWN0aW9uJyk7XG4gICAgICAgIGxldCBjb250YWluZXIgPSBlbGVtZW50LnBhcmVudHMoJ1tkYXRhLWdyYXYtYXJyYXktdHlwZT1cImNvbnRhaW5lclwiXScpO1xuXG4gICAgICAgIHRoaXMuX3NldFRlbXBsYXRlKGVsZW1lbnQpO1xuXG4gICAgICAgIHRoaXNbYCR7YWN0aW9ufUFjdGlvbmBdKGVsZW1lbnQpO1xuXG4gICAgICAgIGxldCBzaWJsaW5ncyA9IGNvbnRhaW5lci5maW5kKCc+IGRpdicpO1xuICAgICAgICBjb250YWluZXJbc2libGluZ3MubGVuZ3RoID4gMSA/ICdyZW1vdmVDbGFzcycgOiAnYWRkQ2xhc3MnXSgnb25lLWNoaWxkJyk7XG4gICAgfVxuXG4gICAgYWRkQWN0aW9uKGVsZW1lbnQpIHtcbiAgICAgICAgbGV0IHRlbXBsYXRlID0gZWxlbWVudC5kYXRhKCdhcnJheS10ZW1wbGF0ZScpO1xuICAgICAgICBsZXQgcm93ID0gZWxlbWVudC5jbG9zZXN0KCdbZGF0YS1ncmF2LWFycmF5LXR5cGU9XCJyb3dcIl0nKTtcblxuICAgICAgICByb3cuYWZ0ZXIodGVtcGxhdGUuZ2V0TmV3Um93KCkpO1xuICAgIH1cblxuICAgIHJlbUFjdGlvbihlbGVtZW50KSB7XG4gICAgICAgIGxldCB0ZW1wbGF0ZSA9IGVsZW1lbnQuZGF0YSgnYXJyYXktdGVtcGxhdGUnKTtcbiAgICAgICAgbGV0IHJvdyA9IGVsZW1lbnQuY2xvc2VzdCgnW2RhdGEtZ3Jhdi1hcnJheS10eXBlPVwicm93XCJdJyk7XG4gICAgICAgIGxldCBpc0xhc3QgPSAhcm93LnNpYmxpbmdzKCkubGVuZ3RoO1xuXG4gICAgICAgIGlmIChpc0xhc3QpIHtcbiAgICAgICAgICAgIGxldCBuZXdSb3cgPSAkKHRlbXBsYXRlLmdldE5ld1JvdygpKTtcbiAgICAgICAgICAgIHJvdy5hZnRlcihuZXdSb3cpO1xuICAgICAgICAgICAgbmV3Um93LmZpbmQoJ1tkYXRhLWdyYXYtYXJyYXktdHlwZT1cInZhbHVlXCJdOmxhc3QnKS5hdHRyKCduYW1lJywgdGVtcGxhdGUuZ2V0TmFtZSgpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJvdy5yZW1vdmUoKTtcbiAgICAgICAgdGhpcy5yZWZyZXNoTmFtZXModGVtcGxhdGUpO1xuICAgIH1cblxuICAgIHJlZnJlc2hOYW1lcyh0ZW1wbGF0ZSkge1xuICAgICAgICBpZiAoIXRlbXBsYXRlLmlzVmFsdWVPbmx5KCkpIHsgcmV0dXJuOyB9XG5cbiAgICAgICAgbGV0IHJvdyA9IHRlbXBsYXRlLmNvbnRhaW5lci5maW5kKCc+IGRpdiA+IFtkYXRhLWdyYXYtYXJyYXktdHlwZT1cInJvd1wiXScpO1xuICAgICAgICBsZXQgaW5wdXRzID0gcm93LmZpbmQoJ1tuYW1lXTpub3QoW25hbWU9XCJcIl0pJyk7XG5cbiAgICAgICAgaW5wdXRzLmVhY2goKGluZGV4LCBpbnB1dCkgPT4ge1xuICAgICAgICAgICAgaW5wdXQgPSAkKGlucHV0KTtcbiAgICAgICAgICAgIGNvbnN0IHByZXNlcnZlZF9uYW1lID0gaW5wdXQuY2xvc2VzdCgnW2RhdGEtZ3Jhdi1hcnJheS1uYW1lXScpO1xuICAgICAgICAgICAgY29uc3QgbmFtZSA9IGAke3ByZXNlcnZlZF9uYW1lLmF0dHIoJ2RhdGEtZ3Jhdi1hcnJheS1uYW1lJyl9WyR7aW5kZXh9XWA7XG4gICAgICAgICAgICBpbnB1dC5hdHRyKCduYW1lJywgbmFtZSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmICghaW5wdXRzLmxlbmd0aCkge1xuICAgICAgICAgICAgcm93LmZpbmQoJ1tkYXRhLWdyYXYtYXJyYXktdHlwZT1cInZhbHVlXCJdJykuYXR0cignbmFtZScsIHRlbXBsYXRlLmdldE5hbWUoKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXRJbmRleEZvcihlbGVtZW50KSB7XG4gICAgICAgIGxldCB0ZW1wbGF0ZSA9IGVsZW1lbnQuZGF0YSgnYXJyYXktdGVtcGxhdGUnKTtcbiAgICAgICAgbGV0IHJvdyA9IGVsZW1lbnQuY2xvc2VzdCgnW2RhdGEtZ3Jhdi1hcnJheS10eXBlPVwicm93XCJdJyk7XG5cbiAgICAgICAgcmV0dXJuIHRlbXBsYXRlLmNvbnRhaW5lci5maW5kKGAke3RlbXBsYXRlLmlzVmFsdWVPbmx5KCkgPyAnPiBkaXYgJyA6ICcnfSA+IFtkYXRhLWdyYXYtYXJyYXktdHlwZT1cInJvd1wiXWApLmluZGV4KHJvdyk7XG4gICAgfVxuXG4gICAgX3NldFRlbXBsYXRlKGVsZW1lbnQpIHtcbiAgICAgICAgaWYgKCFlbGVtZW50LmRhdGEoJ2FycmF5LXRlbXBsYXRlJykpIHtcbiAgICAgICAgICAgIGVsZW1lbnQuZGF0YSgnYXJyYXktdGVtcGxhdGUnLCBuZXcgVGVtcGxhdGUoZWxlbWVudC5jbG9zZXN0KCdbZGF0YS1ncmF2LWFycmF5LW5hbWVdJykpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIF9vbkFkZGVkTm9kZXMoZXZlbnQsIHRhcmdldC8qICwgcmVjb3JkLCBpbnN0YW5jZSAqLykge1xuICAgICAgICBsZXQgYXJyYXlzID0gJCh0YXJnZXQpLmZpbmQoJ1tkYXRhLWdyYXYtZmllbGQ9XCJhcnJheVwiXScpO1xuICAgICAgICBpZiAoIWFycmF5cy5sZW5ndGgpIHsgcmV0dXJuOyB9XG5cbiAgICAgICAgYXJyYXlzLmVhY2goKGluZGV4LCBsaXN0KSA9PiB7XG4gICAgICAgICAgICBsaXN0ID0gJChsaXN0KTtcbiAgICAgICAgICAgIGlmICghfnRoaXMuYXJyYXlzLmluZGV4KGxpc3QpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5hZGRBcnJheShsaXN0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxufVxuXG5leHBvcnQgbGV0IEluc3RhbmNlID0gbmV3IEFycmF5RmllbGQoKTtcbiJdLCJuYW1lcyI6WyIkIiwiU29ydGFibGUiLCJib2R5IiwiVGVtcGxhdGUiLCJjb250YWluZXIiLCJnZXROYW1lIiwidW5kZWZpbmVkIiwiY2xvc2VzdCIsImRhdGEiLCJmaW5kIiwibGVuZ3RoIiwidG9nZ2xlIiwiaXMiLCJ0cGwiLCJ2YWx1ZSIsImlzVGV4dEFyZWEiLCJzaG91bGRCZURpc2FibGVkIiwiZ2V0VmFsdWVQbGFjZWhvbGRlciIsImlzVmFsdWVPbmx5IiwiZ2V0S2V5UGxhY2Vob2xkZXIiLCJBcnJheUZpZWxkIiwib24iLCJldmVudCIsImFjdGlvbklucHV0IiwiYWN0aW9uRXZlbnQiLCJhcnJheXMiLCJlYWNoIiwiaW5kZXgiLCJsaXN0IiwiYWRkQXJyYXkiLCJfb25BZGRlZE5vZGVzIiwiYmluZCIsImhhc0F0dHJpYnV0ZSIsImdldCIsImhhbmRsZSIsImFuaW1hdGlvbiIsIm9uVXBkYXRlIiwiaXRlbSIsIl9zZXRUZW1wbGF0ZSIsInRlbXBsYXRlIiwicmVmcmVzaE5hbWVzIiwiZWxlbWVudCIsInRhcmdldCIsInR5cGUiLCJrZXlFbGVtZW50Iiwic2libGluZ3MiLCJ2YWx1ZUVsZW1lbnQiLCJlc2NhcGVkX25hbWUiLCJ2YWwiLCJnZXRJbmRleEZvciIsInRvU3RyaW5nIiwicmVwbGFjZSIsIm5hbWUiLCJhdHRyIiwicHJldmVudERlZmF1bHQiLCJhY3Rpb24iLCJwYXJlbnRzIiwicm93IiwiYWZ0ZXIiLCJnZXROZXdSb3ciLCJpc0xhc3QiLCJuZXdSb3ciLCJyZW1vdmUiLCJpbnB1dHMiLCJpbnB1dCIsInByZXNlcnZlZF9uYW1lIiwiSW5zdGFuY2UiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./app/forms/fields/array.js\n"); /***/ }), /***/ "./app/forms/fields/collections.js": /*!*****************************************!*\ !*** ./app/forms/fields/collections.js ***! \*****************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ CollectionsField),\n/* harmony export */ \"Instance\": () => (/* binding */ Instance)\n/* harmony export */ });\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ \"jquery\");\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var sortablejs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! sortablejs */ \"./node_modules/sortablejs/modular/sortable.esm.js\");\n/* harmony import */ var _utils_jquery_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/jquery-utils */ \"./app/utils/jquery-utils.js\");\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\n\n\n\n\nvar CollectionsField = /*#__PURE__*/function () {\n function CollectionsField() {\n var _this = this;\n\n _classCallCheck(this, CollectionsField);\n\n this.lists = jquery__WEBPACK_IMPORTED_MODULE_0___default()();\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('[data-type=\"collection\"]').each(function (index, list) {\n return _this.addList(list);\n });\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('body').on('mutation._grav', this._onAddedNodes.bind(this));\n }\n\n _createClass(CollectionsField, [{\n key: \"addList\",\n value: function addList(list) {\n var _this2 = this;\n\n list = jquery__WEBPACK_IMPORTED_MODULE_0___default()(list);\n this.lists = this.lists.add(list);\n list.on('click', '> .collection-actions [data-action=\"add\"]', function (event) {\n return _this2.addItem(event);\n });\n list.on('click', '> ul > li > .item-actions [data-action=\"delete\"]', function (event) {\n return _this2.removeItem(event);\n });\n list.on('click', '> ul > li > .item-actions [data-action=\"collapse\"]', function (event) {\n return _this2.collapseItem(event);\n });\n list.on('click', '> ul > li > .item-actions [data-action=\"expand\"]', function (event) {\n return _this2.expandItem(event);\n });\n list.on('click', '> .collection-actions [data-action-sort=\"date\"]', function (event) {\n return _this2.sortItems(event);\n });\n list.on('click', '> .collection-actions [data-action=\"collapse_all\"]', function (event) {\n return _this2.collapseItems(event);\n });\n list.on('click', '> .collection-actions [data-action=\"expand_all\"]', function (event) {\n return _this2.expandItems(event);\n });\n list.on('input change', '[data-key-observe]', function (event) {\n return _this2.observeKey(event);\n });\n list.find('[data-collection-holder]').each(function (index, container) {\n container = jquery__WEBPACK_IMPORTED_MODULE_0___default()(container);\n\n if (container.data('collection-sort') || container[0].hasAttribute('data-collection-nosort')) {\n return;\n }\n\n container.data('collection-sort', new sortablejs__WEBPACK_IMPORTED_MODULE_1__[\"default\"](container.get(0), {\n forceFallback: false,\n handle: '.collection-sort',\n animation: 150,\n onUpdate: function onUpdate() {\n return _this2.reindex(container);\n }\n }));\n });\n\n this._updateActionsStateBasedOnMinMax(list);\n }\n }, {\n key: \"addItem\",\n value: function addItem(event) {\n var button = jquery__WEBPACK_IMPORTED_MODULE_0___default()(event.currentTarget);\n var position = button.data('action-add') || 'bottom';\n var list = jquery__WEBPACK_IMPORTED_MODULE_0___default()(button.closest('[data-type=\"collection\"]'));\n var template = jquery__WEBPACK_IMPORTED_MODULE_0___default()(list.find('> [data-collection-template=\"new\"]').data('collection-template-html'));\n\n this._updateActionsStateBasedOnMinMax(list);\n\n var items = list.closest('[data-type=\"collection\"]').find('> ul > [data-collection-item]');\n var maxItems = list.data('max');\n\n if (typeof maxItems !== 'undefined' && items.length >= maxItems) {\n return;\n }\n\n list.find('> [data-collection-holder]')[position === 'top' ? 'prepend' : 'append'](template);\n this.reindex(list);\n items = list.closest('[data-type=\"collection\"]').find('> ul > [data-collection-item]');\n var topAction = list.closest('[data-type=\"collection\"]').find('[data-action-add=\"top\"]');\n var sortAction = list.closest('[data-type=\"collection\"]').find('[data-action=\"sort\"]');\n\n if (items.length) {\n if (topAction.length) {\n topAction.parent().removeClass('hidden');\n }\n\n if (sortAction.length && items.length > 1) {\n sortAction.removeClass('hidden');\n }\n } // refresh toggleables in a list\n\n\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('[data-grav-field=\"toggleable\"] input[type=\"checkbox\"]').trigger('change');\n }\n }, {\n key: \"removeItem\",\n value: function removeItem(event) {\n var button = jquery__WEBPACK_IMPORTED_MODULE_0___default()(event.currentTarget);\n var item = button.closest('[data-collection-item]');\n var list = jquery__WEBPACK_IMPORTED_MODULE_0___default()(button.closest('[data-type=\"collection\"]'));\n var items = list.closest('[data-type=\"collection\"]').find('> ul > [data-collection-item]');\n var minItems = list.data('min');\n\n if (typeof minItems !== 'undefined' && items.length <= minItems) {\n return;\n }\n\n item.remove();\n this.reindex(list);\n items = list.closest('[data-type=\"collection\"]').find('> ul > [data-collection-item]');\n var topAction = list.closest('[data-type=\"collection\"]').find('[data-action-add=\"top\"]');\n var sortAction = list.closest('[data-type=\"collection\"]').find('[data-action=\"sort\"]');\n\n if (!items.length) {\n if (topAction.length) {\n topAction.parent().addClass('hidden');\n }\n }\n\n if (sortAction.length && items.length <= 1) {\n sortAction.addClass('hidden');\n }\n\n this._updateActionsStateBasedOnMinMax(list);\n }\n }, {\n key: \"collapseItems\",\n value: function collapseItems(event) {\n var button = jquery__WEBPACK_IMPORTED_MODULE_0___default()(event.currentTarget);\n var items = jquery__WEBPACK_IMPORTED_MODULE_0___default()(button.closest('[data-type=\"collection\"]')).find('> ul > [data-collection-item] > .item-actions [data-action=\"collapse\"]');\n items.click();\n }\n }, {\n key: \"collapseItem\",\n value: function collapseItem(event) {\n var button = jquery__WEBPACK_IMPORTED_MODULE_0___default()(event.currentTarget);\n var item = button.closest('[data-collection-item]');\n button.attr('data-action', 'expand').removeClass('fa-chevron-circle-down').addClass('fa-chevron-circle-right');\n item.addClass('collection-collapsed');\n }\n }, {\n key: \"expandItems\",\n value: function expandItems(event) {\n var button = jquery__WEBPACK_IMPORTED_MODULE_0___default()(event.currentTarget);\n var items = jquery__WEBPACK_IMPORTED_MODULE_0___default()(button.closest('[data-type=\"collection\"]')).find('> ul > [data-collection-item] > .item-actions [data-action=\"expand\"]');\n items.click();\n }\n }, {\n key: \"expandItem\",\n value: function expandItem(event) {\n var button = jquery__WEBPACK_IMPORTED_MODULE_0___default()(event.currentTarget);\n var item = button.closest('[data-collection-item]');\n button.attr('data-action', 'collapse').removeClass('fa-chevron-circle-right').addClass('fa-chevron-circle-down');\n item.removeClass('collection-collapsed');\n }\n }, {\n key: \"sortItems\",\n value: function sortItems(event) {\n var button = jquery__WEBPACK_IMPORTED_MODULE_0___default()(event.currentTarget);\n var sortby = button.data('action-sort');\n var sortby_dir = button.data('action-sort-dir') || 'asc';\n var list = jquery__WEBPACK_IMPORTED_MODULE_0___default()(button.closest('[data-type=\"collection\"]'));\n var items = list.closest('[data-type=\"collection\"]').find('> ul > [data-collection-item]');\n items.sort(function (a, b) {\n var A = jquery__WEBPACK_IMPORTED_MODULE_0___default()(a).find('[name$=\"[' + sortby + ']\"]');\n var B = jquery__WEBPACK_IMPORTED_MODULE_0___default()(b).find('[name$=\"[' + sortby + ']\"]');\n var sort;\n\n if (sortby_dir === 'asc') {\n sort = A.val() < B.val() ? -1 : A.val() > B.val() ? 1 : 0;\n } else {\n sort = A.val() > B.val() ? -1 : A.val() < B.val() ? 1 : 0;\n }\n\n return sort;\n }).each(function (_, container) {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(container).parent().append(container);\n });\n this.reindex(list);\n }\n }, {\n key: \"observeKey\",\n value: function observeKey(event) {\n var input = jquery__WEBPACK_IMPORTED_MODULE_0___default()(event.target);\n var value = input.val();\n var item = input.closest('[data-collection-key]');\n item.data('collection-key-backup', item.data('collection-key')).data('collection-key', value);\n this.reindex(null, item);\n }\n }, {\n key: \"reindex\",\n value: function reindex(list, items) {\n items = items || jquery__WEBPACK_IMPORTED_MODULE_0___default()(list).closest('[data-type=\"collection\"]').find('> ul > [data-collection-item]');\n items.each(function (index, item) {\n item = jquery__WEBPACK_IMPORTED_MODULE_0___default()(item);\n var observed = item.find('[data-key-observe]');\n var observedValue = observed.val();\n var hasCustomKey = observed.length;\n var currentKey = item.data('collection-key-backup');\n item.attr('data-collection-key', hasCustomKey ? observedValue : index);\n ['name', 'data-grav-field-name', 'for', 'id', 'data-grav-file-settings', 'data-file-post-add', 'data-file-post-remove', 'data-grav-array-name'].forEach(function (prop) {\n item.find('[' + prop + '], [_' + prop + ']').each(function () {\n var element = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this);\n var indexes = [];\n var array_index = null;\n var regexps = [new RegExp('\\\\[(\\\\d+|\\\\*|' + currentKey + ')\\\\]', 'g'), new RegExp('\\\\.(\\\\d+|\\\\*|' + currentKey + ')\\\\.', 'g')]; // special case to preserve array field index keys\n\n if (prop === 'name' && element.data('gravArrayType')) {\n var match_index = element.attr(prop).match(/\\[[0-9]{1,}\\]$/);\n var pattern = element[0].closest('[data-grav-array-name]').dataset.gravArrayName;\n\n if (match_index && pattern) {\n array_index = match_index[0];\n element.attr(prop, \"\".concat(pattern).concat(match_index[0]));\n return;\n }\n }\n\n if (hasCustomKey && !observedValue) {\n element.attr(\"_\".concat(prop), element.attr(prop));\n element.attr(prop, null);\n return;\n }\n\n if (element.attr(\"_\".concat(prop))) {\n element.attr(prop, element.attr(\"_\".concat(prop)));\n element.attr(\"_\".concat(prop), null);\n }\n\n element.parents('[data-collection-key]').map(function (idx, parent) {\n return indexes.push(jquery__WEBPACK_IMPORTED_MODULE_0___default()(parent).attr('data-collection-key'));\n });\n indexes.reverse();\n var matchedKey = currentKey;\n var replaced = element.attr(prop).replace(regexps[0], function\n /* str, p1, offset */\n () {\n var extras = '';\n\n if (array_index) {\n extras = array_index;\n console.log(indexes, extras);\n }\n\n matchedKey = indexes.shift() || matchedKey;\n return \"[\".concat(matchedKey, \"]\").concat(extras);\n });\n replaced = replaced.replace(regexps[1], function\n /* str, p1, offset */\n () {\n matchedKey = indexes.shift() || matchedKey;\n return \".\".concat(matchedKey, \".\");\n });\n element.attr(prop, replaced);\n });\n });\n });\n }\n }, {\n key: \"_onAddedNodes\",\n value: function _onAddedNodes(event, target\n /* , record, instance */\n ) {\n var _this3 = this;\n\n var collections = jquery__WEBPACK_IMPORTED_MODULE_0___default()(target).find('[data-type=\"collection\"]');\n\n if (!collections.length) {\n return;\n }\n\n collections.each(function (index, collection) {\n collection = jquery__WEBPACK_IMPORTED_MODULE_0___default()(collection);\n\n if (!~_this3.lists.index(collection)) {\n _this3.addList(collection);\n }\n });\n }\n }, {\n key: \"_updateActionsStateBasedOnMinMax\",\n value: function _updateActionsStateBasedOnMinMax(list) {\n var items = list.closest('[data-type=\"collection\"]').find('> ul > [data-collection-item]');\n var minItems = list.data('min');\n var maxItems = list.data('max');\n list.find('> .collection-actions [data-action=\"add\"]').attr('disabled', false);\n list.find('> ul > li > .item-actions [data-action=\"delete\"]').attr('disabled', false);\n\n if (typeof minItems !== 'undefined' && items.length <= minItems) {\n list.find('> ul > li > .item-actions [data-action=\"delete\"]').attr('disabled', true);\n }\n\n if (typeof maxItems !== 'undefined' && items.length >= maxItems) {\n list.find('> .collection-actions [data-action=\"add\"]').attr('disabled', true);\n }\n }\n }]);\n\n return CollectionsField;\n}();\n\n\nvar Instance = new CollectionsField();//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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QUwsQ0FBVSwyQ0FBVixFQUF1RDZCLElBQXZELENBQTRELFVBQTVELEVBQXdFLElBQXhFO0FBQ0g7QUFDSjs7Ozs7OztBQUdFLElBQUk0QyxRQUFRLEdBQUcsSUFBSTVGLGdCQUFKLEVBQWYiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9HcmF2Ly4vYXBwL2Zvcm1zL2ZpZWxkcy9jb2xsZWN0aW9ucy5qcz82YzU1Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAkIGZyb20gJ2pxdWVyeSc7XG5pbXBvcnQgU29ydGFibGUgZnJvbSAnc29ydGFibGVqcyc7XG5pbXBvcnQgJy4uLy4uL3V0aWxzL2pxdWVyeS11dGlscyc7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIENvbGxlY3Rpb25zRmllbGQge1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLmxpc3RzID0gJCgpO1xuXG4gICAgICAgICQoJ1tkYXRhLXR5cGU9XCJjb2xsZWN0aW9uXCJdJykuZWFjaCgoaW5kZXgsIGxpc3QpID0+IHRoaXMuYWRkTGlzdChsaXN0KSk7XG4gICAgICAgICQoJ2JvZHknKS5vbignbXV0YXRpb24uX2dyYXYnLCB0aGlzLl9vbkFkZGVkTm9kZXMuYmluZCh0aGlzKSk7XG5cbiAgICB9XG5cbiAgICBhZGRMaXN0KGxpc3QpIHtcbiAgICAgICAgbGlzdCA9ICQobGlzdCk7XG4gICAgICAgIHRoaXMubGlzdHMgPSB0aGlzLmxpc3RzLmFkZChsaXN0KTtcblxuICAgICAgICBsaXN0Lm9uKCdjbGljaycsICc+IC5jb2xsZWN0aW9uLWFjdGlvbnMgW2RhdGEtYWN0aW9uPVwiYWRkXCJdJywgKGV2ZW50KSA9PiB0aGlzLmFkZEl0ZW0oZXZlbnQpKTtcbiAgICAgICAgbGlzdC5vbignY2xpY2snLCAnPiB1bCA+IGxpID4gLml0ZW0tYWN0aW9ucyBbZGF0YS1hY3Rpb249XCJkZWxldGVcIl0nLCAoZXZlbnQpID0+IHRoaXMucmVtb3ZlSXRlbShldmVudCkpO1xuICAgICAgICBsaXN0Lm9uKCdjbGljaycsICc+IHVsID4gbGkgPiAuaXRlbS1hY3Rpb25zIFtkYXRhLWFjdGlvbj1cImNvbGxhcHNlXCJdJywgKGV2ZW50KSA9PiB0aGlzLmNvbGxhcHNlSXRlbShldmVudCkpO1xuICAgICAgICBsaXN0Lm9uKCdjbGljaycsICc+IHVsID4gbGkgPiAuaXRlbS1hY3Rpb25zIFtkYXRhLWFjdGlvbj1cImV4cGFuZFwiXScsIChldmVudCkgPT4gdGhpcy5leHBhbmRJdGVtKGV2ZW50KSk7XG4gICAgICAgIGxpc3Qub24oJ2NsaWNrJywgJz4gLmNvbGxlY3Rpb24tYWN0aW9ucyBbZGF0YS1hY3Rpb24tc29ydD1cImRhdGVcIl0nLCAoZXZlbnQpID0+IHRoaXMuc29ydEl0ZW1zKGV2ZW50KSk7XG4gICAgICAgIGxpc3Qub24oJ2NsaWNrJywgJz4gLmNvbGxlY3Rpb24tYWN0aW9ucyBbZGF0YS1hY3Rpb249XCJjb2xsYXBzZV9hbGxcIl0nLCAoZXZlbnQpID0+IHRoaXMuY29sbGFwc2VJdGVtcyhldmVudCkpO1xuICAgICAgICBsaXN0Lm9uKCdjbGljaycsICc+IC5jb2xsZWN0aW9uLWFjdGlvbnMgW2RhdGEtYWN0aW9uPVwiZXhwYW5kX2FsbFwiXScsIChldmVudCkgPT4gdGhpcy5leHBhbmRJdGVtcyhldmVudCkpO1xuICAgICAgICBsaXN0Lm9uKCdpbnB1dCBjaGFuZ2UnLCAnW2RhdGEta2V5LW9ic2VydmVdJywgKGV2ZW50KSA9PiB0aGlzLm9ic2VydmVLZXkoZXZlbnQpKTtcblxuICAgICAgICBsaXN0LmZpbmQoJ1tkYXRhLWNvbGxlY3Rpb24taG9sZGVyXScpLmVhY2goKGluZGV4LCBjb250YWluZXIpID0+IHtcbiAgICAgICAgICAgIGNvbnRhaW5lciA9ICQoY29udGFpbmVyKTtcbiAgICAgICAgICAgIGlmIChjb250YWluZXIuZGF0YSgnY29sbGVjdGlvbi1zb3J0JykgfHwgY29udGFpbmVyWzBdLmhhc0F0dHJpYnV0ZSgnZGF0YS1jb2xsZWN0aW9uLW5vc29ydCcpKSB7IHJldHVybjsgfVxuXG4gICAgICAgICAgICBjb250YWluZXIuZGF0YSgnY29sbGVjdGlvbi1zb3J0JywgbmV3IFNvcnRhYmxlKGNvbnRhaW5lci5nZXQoMCksIHtcbiAgICAgICAgICAgICAgICBmb3JjZUZhbGxiYWNrOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBoYW5kbGU6ICcuY29sbGVjdGlvbi1zb3J0JyxcbiAgICAgICAgICAgICAgICBhbmltYXRpb246IDE1MCxcbiAgICAgICAgICAgICAgICBvblVwZGF0ZTogKCkgPT4gdGhpcy5yZWluZGV4KGNvbnRhaW5lcilcbiAgICAgICAgICAgIH0pKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5fdXBkYXRlQWN0aW9uc1N0YXRlQmFzZWRPbk1pbk1heChsaXN0KTtcbiAgICB9XG5cbiAgICBhZGRJdGVtKGV2ZW50KSB7XG4gICAgICAgIGxldCBidXR0b24gPSAkKGV2ZW50LmN1cnJlbnRUYXJnZXQpO1xuICAgICAgICBsZXQgcG9zaXRpb24gPSBidXR0b24uZGF0YSgnYWN0aW9uLWFkZCcpIHx8ICdib3R0b20nO1xuICAgICAgICBsZXQgbGlzdCA9ICQoYnV0dG9uLmNsb3Nlc3QoJ1tkYXRhLXR5cGU9XCJjb2xsZWN0aW9uXCJdJykpO1xuICAgICAgICBsZXQgdGVtcGxhdGUgPSAkKGxpc3QuZmluZCgnPiBbZGF0YS1jb2xsZWN0aW9uLXRlbXBsYXRlPVwibmV3XCJdJykuZGF0YSgnY29sbGVjdGlvbi10ZW1wbGF0ZS1odG1sJykpO1xuXG4gICAgICAgIHRoaXMuX3VwZGF0ZUFjdGlvbnNTdGF0ZUJhc2VkT25NaW5NYXgobGlzdCk7XG4gICAgICAgIGxldCBpdGVtcyA9IGxpc3QuY2xvc2VzdCgnW2RhdGEtdHlwZT1cImNvbGxlY3Rpb25cIl0nKS5maW5kKCc+IHVsID4gW2RhdGEtY29sbGVjdGlvbi1pdGVtXScpO1xuICAgICAgICBsZXQgbWF4SXRlbXMgPSBsaXN0LmRhdGEoJ21heCcpO1xuICAgICAgICBpZiAodHlwZW9mIG1heEl0ZW1zICE9PSAndW5kZWZpbmVkJyAmJiBpdGVtcy5sZW5ndGggPj0gbWF4SXRlbXMpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGxpc3QuZmluZCgnPiBbZGF0YS1jb2xsZWN0aW9uLWhvbGRlcl0nKVtwb3NpdGlvbiA9PT0gJ3RvcCcgPyAncHJlcGVuZCcgOiAnYXBwZW5kJ10odGVtcGxhdGUpO1xuICAgICAgICB0aGlzLnJlaW5kZXgobGlzdCk7XG5cbiAgICAgICAgaXRlbXMgPSBsaXN0LmNsb3Nlc3QoJ1tkYXRhLXR5cGU9XCJjb2xsZWN0aW9uXCJdJykuZmluZCgnPiB1bCA+IFtkYXRhLWNvbGxlY3Rpb24taXRlbV0nKTtcbiAgICAgICAgbGV0IHRvcEFjdGlvbiA9IGxpc3QuY2xvc2VzdCgnW2RhdGEtdHlwZT1cImNvbGxlY3Rpb25cIl0nKS5maW5kKCdbZGF0YS1hY3Rpb24tYWRkPVwidG9wXCJdJyk7XG4gICAgICAgIGxldCBzb3J0QWN0aW9uID0gbGlzdC5jbG9zZXN0KCdbZGF0YS10eXBlPVwiY29sbGVjdGlvblwiXScpLmZpbmQoJ1tkYXRhLWFjdGlvbj1cInNvcnRcIl0nKTtcblxuICAgICAgICBpZiAoaXRlbXMubGVuZ3RoKSB7XG4gICAgICAgICAgICBpZiAodG9wQWN0aW9uLmxlbmd0aCkgeyB0b3BBY3Rpb24ucGFyZW50KCkucmVtb3ZlQ2xhc3MoJ2hpZGRlbicpOyB9XG4gICAgICAgICAgICBpZiAoc29ydEFjdGlvbi5sZW5ndGggJiYgaXRlbXMubGVuZ3RoID4gMSkgeyBzb3J0QWN0aW9uLnJlbW92ZUNsYXNzKCdoaWRkZW4nKTsgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gcmVmcmVzaCB0b2dnbGVhYmxlcyBpbiBhIGxpc3RcbiAgICAgICAgJCgnW2RhdGEtZ3Jhdi1maWVsZD1cInRvZ2dsZWFibGVcIl0gaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdJykudHJpZ2dlcignY2hhbmdlJyk7XG4gICAgfVxuXG4gICAgcmVtb3ZlSXRlbShldmVudCkge1xuICAgICAgICBsZXQgYnV0dG9uID0gJChldmVudC5jdXJyZW50VGFyZ2V0KTtcbiAgICAgICAgbGV0IGl0ZW0gPSBidXR0b24uY2xvc2VzdCgnW2RhdGEtY29sbGVjdGlvbi1pdGVtXScpO1xuICAgICAgICBsZXQgbGlzdCA9ICQoYnV0dG9uLmNsb3Nlc3QoJ1tkYXRhLXR5cGU9XCJjb2xsZWN0aW9uXCJdJykpO1xuXG4gICAgICAgIGxldCBpdGVtcyA9IGxpc3QuY2xvc2VzdCgnW2RhdGEtdHlwZT1cImNvbGxlY3Rpb25cIl0nKS5maW5kKCc+IHVsID4gW2RhdGEtY29sbGVjdGlvbi1pdGVtXScpO1xuICAgICAgICBsZXQgbWluSXRlbXMgPSBsaXN0LmRhdGEoJ21pbicpO1xuXG4gICAgICAgIGlmICh0eXBlb2YgbWluSXRlbXMgIT09ICd1bmRlZmluZWQnICYmIGl0ZW1zLmxlbmd0aCA8PSBtaW5JdGVtcykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaXRlbS5yZW1vdmUoKTtcbiAgICAgICAgdGhpcy5yZWluZGV4KGxpc3QpO1xuXG4gICAgICAgIGl0ZW1zID0gbGlzdC5jbG9zZXN0KCdbZGF0YS10eXBlPVwiY29sbGVjdGlvblwiXScpLmZpbmQoJz4gdWwgPiBbZGF0YS1jb2xsZWN0aW9uLWl0ZW1dJyk7XG4gICAgICAgIGxldCB0b3BBY3Rpb24gPSBsaXN0LmNsb3Nlc3QoJ1tkYXRhLXR5cGU9XCJjb2xsZWN0aW9uXCJdJykuZmluZCgnW2RhdGEtYWN0aW9uLWFkZD1cInRvcFwiXScpO1xuICAgICAgICBsZXQgc29ydEFjdGlvbiA9IGxpc3QuY2xvc2VzdCgnW2RhdGEtdHlwZT1cImNvbGxlY3Rpb25cIl0nKS5maW5kKCdbZGF0YS1hY3Rpb249XCJzb3J0XCJdJyk7XG5cbiAgICAgICAgaWYgKCFpdGVtcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIGlmICh0b3BBY3Rpb24ubGVuZ3RoKSB7IHRvcEFjdGlvbi5wYXJlbnQoKS5hZGRDbGFzcygnaGlkZGVuJyk7IH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChzb3J0QWN0aW9uLmxlbmd0aCAmJiBpdGVtcy5sZW5ndGggPD0gMSkgeyBzb3J0QWN0aW9uLmFkZENsYXNzKCdoaWRkZW4nKTsgfVxuICAgICAgICB0aGlzLl91cGRhdGVBY3Rpb25zU3RhdGVCYXNlZE9uTWluTWF4KGxpc3QpO1xuICAgIH1cblxuICAgIGNvbGxhcHNlSXRlbXMoZXZlbnQpIHtcbiAgICAgICAgbGV0IGJ1dHRvbiA9ICQoZXZlbnQuY3VycmVudFRhcmdldCk7XG4gICAgICAgIGxldCBpdGVtcyA9ICQoYnV0dG9uLmNsb3Nlc3QoJ1tkYXRhLXR5cGU9XCJjb2xsZWN0aW9uXCJdJykpLmZpbmQoJz4gdWwgPiBbZGF0YS1jb2xsZWN0aW9uLWl0ZW1dID4gLml0ZW0tYWN0aW9ucyBbZGF0YS1hY3Rpb249XCJjb2xsYXBzZVwiXScpO1xuXG4gICAgICAgIGl0ZW1zLmNsaWNrKCk7XG4gICAgfVxuXG4gICAgY29sbGFwc2VJdGVtKGV2ZW50KSB7XG4gICAgICAgIGxldCBidXR0b24gPSAkKGV2ZW50LmN1cnJlbnRUYXJnZXQpO1xuICAgICAgICBsZXQgaXRlbSA9IGJ1dHRvbi5jbG9zZXN0KCdbZGF0YS1jb2xsZWN0aW9uLWl0ZW1dJyk7XG5cbiAgICAgICAgYnV0dG9uLmF0dHIoJ2RhdGEtYWN0aW9uJywgJ2V4cGFuZCcpLnJlbW92ZUNsYXNzKCdmYS1jaGV2cm9uLWNpcmNsZS1kb3duJykuYWRkQ2xhc3MoJ2ZhLWNoZXZyb24tY2lyY2xlLXJpZ2h0Jyk7XG4gICAgICAgIGl0ZW0uYWRkQ2xhc3MoJ2NvbGxlY3Rpb24tY29sbGFwc2VkJyk7XG4gICAgfVxuXG4gICAgZXhwYW5kSXRlbXMoZXZlbnQpIHtcbiAgICAgICAgbGV0IGJ1dHRvbiA9ICQoZXZlbnQuY3VycmVudFRhcmdldCk7XG4gICAgICAgIGxldCBpdGVtcyA9ICQoYnV0dG9uLmNsb3Nlc3QoJ1tkYXRhLXR5cGU9XCJjb2xsZWN0aW9uXCJdJykpLmZpbmQoJz4gdWwgPiBbZGF0YS1jb2xsZWN0aW9uLWl0ZW1dID4gLml0ZW0tYWN0aW9ucyBbZGF0YS1hY3Rpb249XCJleHBhbmRcIl0nKTtcblxuICAgICAgICBpdGVtcy5jbGljaygpO1xuICAgIH1cblxuICAgIGV4cGFuZEl0ZW0oZXZlbnQpIHtcbiAgICAgICAgbGV0IGJ1dHRvbiA9ICQoZXZlbnQuY3VycmVudFRhcmdldCk7XG4gICAgICAgIGxldCBpdGVtID0gYnV0dG9uLmNsb3Nlc3QoJ1tkYXRhLWNvbGxlY3Rpb24taXRlbV0nKTtcblxuICAgICAgICBidXR0b24uYXR0cignZGF0YS1hY3Rpb24nLCAnY29sbGFwc2UnKS5yZW1vdmVDbGFzcygnZmEtY2hldnJvbi1jaXJjbGUtcmlnaHQnKS5hZGRDbGFzcygnZmEtY2hldnJvbi1jaXJjbGUtZG93bicpO1xuICAgICAgICBpdGVtLnJlbW92ZUNsYXNzKCdjb2xsZWN0aW9uLWNvbGxhcHNlZCcpO1xuICAgIH1cblxuICAgIHNvcnRJdGVtcyhldmVudCkge1xuICAgICAgICBsZXQgYnV0dG9uID0gJChldmVudC5jdXJyZW50VGFyZ2V0KTtcbiAgICAgICAgbGV0IHNvcnRieSA9IGJ1dHRvbi5kYXRhKCdhY3Rpb24tc29ydCcpO1xuICAgICAgICBsZXQgc29ydGJ5X2RpciA9IGJ1dHRvbi5kYXRhKCdhY3Rpb24tc29ydC1kaXInKSB8fCAnYXNjJztcbiAgICAgICAgbGV0IGxpc3QgPSAkKGJ1dHRvbi5jbG9zZXN0KCdbZGF0YS10eXBlPVwiY29sbGVjdGlvblwiXScpKTtcbiAgICAgICAgbGV0IGl0ZW1zID0gbGlzdC5jbG9zZXN0KCdbZGF0YS10eXBlPVwiY29sbGVjdGlvblwiXScpLmZpbmQoJz4gdWwgPiBbZGF0YS1jb2xsZWN0aW9uLWl0ZW1dJyk7XG5cbiAgICAgICAgaXRlbXMuc29ydCgoYSwgYikgPT4ge1xuICAgICAgICAgICAgbGV0IEEgPSAkKGEpLmZpbmQoJ1tuYW1lJD1cIlsnICsgc29ydGJ5ICsgJ11cIl0nKTtcbiAgICAgICAgICAgIGxldCBCID0gJChiKS5maW5kKCdbbmFtZSQ9XCJbJyArIHNvcnRieSArICddXCJdJyk7XG4gICAgICAgICAgICBsZXQgc29ydDtcblxuICAgICAgICAgICAgaWYgKHNvcnRieV9kaXIgPT09ICdhc2MnKSB7XG4gICAgICAgICAgICAgICAgc29ydCA9IChBLnZhbCgpIDwgQi52YWwoKSkgPyAtMSA6IChBLnZhbCgpID4gQi52YWwoKSkgPyAxIDogMDtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgc29ydCA9IChBLnZhbCgpID4gQi52YWwoKSkgPyAtMSA6IChBLnZhbCgpIDwgQi52YWwoKSkgPyAxIDogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHNvcnQ7XG4gICAgICAgIH0pLmVhY2goKF8sIGNvbnRhaW5lcikgPT4ge1xuICAgICAgICAgICAgJChjb250YWluZXIpLnBhcmVudCgpLmFwcGVuZChjb250YWluZXIpO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLnJlaW5kZXgobGlzdCk7XG4gICAgfVxuXG4gICAgb2JzZXJ2ZUtleShldmVudCkge1xuICAgICAgICBsZXQgaW5wdXQgPSAkKGV2ZW50LnRhcmdldCk7XG4gICAgICAgIGxldCB2YWx1ZSA9IGlucHV0LnZhbCgpO1xuICAgICAgICBsZXQgaXRlbSA9IGlucHV0LmNsb3Nlc3QoJ1tkYXRhLWNvbGxlY3Rpb24ta2V5XScpO1xuXG4gICAgICAgIGl0ZW0uZGF0YSgnY29sbGVjdGlvbi1rZXktYmFja3VwJywgaXRlbS5kYXRhKCdjb2xsZWN0aW9uLWtleScpKS5kYXRhKCdjb2xsZWN0aW9uLWtleScsIHZhbHVlKTtcbiAgICAgICAgdGhpcy5yZWluZGV4KG51bGwsIGl0ZW0pO1xuICAgIH1cblxuICAgIHJlaW5kZXgobGlzdCwgaXRlbXMpIHtcbiAgICAgICAgaXRlbXMgPSBpdGVtcyB8fCAkKGxpc3QpLmNsb3Nlc3QoJ1tkYXRhLXR5cGU9XCJjb2xsZWN0aW9uXCJdJykuZmluZCgnPiB1bCA+IFtkYXRhLWNvbGxlY3Rpb24taXRlbV0nKTtcblxuICAgICAgICBpdGVtcy5lYWNoKChpbmRleCwgaXRlbSkgPT4ge1xuICAgICAgICAgICAgaXRlbSA9ICQoaXRlbSk7XG5cbiAgICAgICAgICAgIGxldCBvYnNlcnZlZCA9IGl0ZW0uZmluZCgnW2RhdGEta2V5LW9ic2VydmVdJyk7XG4gICAgICAgICAgICBsZXQgb2JzZXJ2ZWRWYWx1ZSA9IG9ic2VydmVkLnZhbCgpO1xuICAgICAgICAgICAgbGV0IGhhc0N1c3RvbUtleSA9IG9ic2VydmVkLmxlbmd0aDtcbiAgICAgICAgICAgIGxldCBjdXJyZW50S2V5ID0gaXRlbS5kYXRhKCdjb2xsZWN0aW9uLWtleS1iYWNrdXAnKTtcblxuICAgICAgICAgICAgaXRlbS5hdHRyKCdkYXRhLWNvbGxlY3Rpb24ta2V5JywgaGFzQ3VzdG9tS2V5ID8gb2JzZXJ2ZWRWYWx1ZSA6IGluZGV4KTtcblxuICAgICAgICAgICAgWyduYW1lJywgJ2RhdGEtZ3Jhdi1maWVsZC1uYW1lJywgJ2ZvcicsICdpZCcsICdkYXRhLWdyYXYtZmlsZS1zZXR0aW5ncycsICdkYXRhLWZpbGUtcG9zdC1hZGQnLCAnZGF0YS1maWxlLXBvc3QtcmVtb3ZlJywgJ2RhdGEtZ3Jhdi1hcnJheS1uYW1lJ10uZm9yRWFjaCgocHJvcCkgPT4ge1xuICAgICAgICAgICAgICAgIGl0ZW0uZmluZCgnWycgKyBwcm9wICsgJ10sIFtfJyArIHByb3AgKyAnXScpLmVhY2goZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICAgICAgICAgIGxldCBlbGVtZW50ID0gJCh0aGlzKTtcbiAgICAgICAgICAgICAgICAgICAgbGV0IGluZGV4ZXMgPSBbXTtcbiAgICAgICAgICAgICAgICAgICAgbGV0IGFycmF5X2luZGV4ID0gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgbGV0IHJlZ2V4cHMgPSBbXG4gICAgICAgICAgICAgICAgICAgICAgICBuZXcgUmVnRXhwKCdcXFxcWyhcXFxcZCt8XFxcXCp8JyArIGN1cnJlbnRLZXkgKyAnKVxcXFxdJywgJ2cnKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG5ldyBSZWdFeHAoJ1xcXFwuKFxcXFxkK3xcXFxcKnwnICsgY3VycmVudEtleSArICcpXFxcXC4nLCAnZycpXG4gICAgICAgICAgICAgICAgICAgIF07XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gc3BlY2lhbCBjYXNlIHRvIHByZXNlcnZlIGFycmF5IGZpZWxkIGluZGV4IGtleXNcbiAgICAgICAgICAgICAgICAgICAgaWYgKHByb3AgPT09ICduYW1lJyAmJiBlbGVtZW50LmRhdGEoJ2dyYXZBcnJheVR5cGUnKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWF0Y2hfaW5kZXggPSBlbGVtZW50LmF0dHIocHJvcCkubWF0Y2goL1xcW1swLTldezEsfVxcXSQvKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHBhdHRlcm4gPSBlbGVtZW50WzBdLmNsb3Nlc3QoJ1tkYXRhLWdyYXYtYXJyYXktbmFtZV0nKS5kYXRhc2V0LmdyYXZBcnJheU5hbWU7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAobWF0Y2hfaW5kZXggJiYgcGF0dGVybikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFycmF5X2luZGV4ID0gbWF0Y2hfaW5kZXhbMF07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5hdHRyKHByb3AsIGAke3BhdHRlcm59JHttYXRjaF9pbmRleFswXX1gKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBpZiAoaGFzQ3VzdG9tS2V5ICYmICFvYnNlcnZlZFZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LmF0dHIoYF8ke3Byb3B9YCwgZWxlbWVudC5hdHRyKHByb3ApKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQuYXR0cihwcm9wLCBudWxsKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGlmIChlbGVtZW50LmF0dHIoYF8ke3Byb3B9YCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQuYXR0cihwcm9wLCBlbGVtZW50LmF0dHIoYF8ke3Byb3B9YCkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5hdHRyKGBfJHtwcm9wfWAsIG51bGwpO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5wYXJlbnRzKCdbZGF0YS1jb2xsZWN0aW9uLWtleV0nKS5tYXAoKGlkeCwgcGFyZW50KSA9PiBpbmRleGVzLnB1c2goJChwYXJlbnQpLmF0dHIoJ2RhdGEtY29sbGVjdGlvbi1rZXknKSkpO1xuICAgICAgICAgICAgICAgICAgICBpbmRleGVzLnJldmVyc2UoKTtcblxuICAgICAgICAgICAgICAgICAgICBsZXQgbWF0Y2hlZEtleSA9IGN1cnJlbnRLZXk7XG4gICAgICAgICAgICAgICAgICAgIGxldCByZXBsYWNlZCA9IGVsZW1lbnQuYXR0cihwcm9wKS5yZXBsYWNlKHJlZ2V4cHNbMF0sICgvKiBzdHIsIHAxLCBvZmZzZXQgKi8pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBleHRyYXMgPSAnJztcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChhcnJheV9pbmRleCkgeyBleHRyYXMgPSBhcnJheV9pbmRleDsgY29uc29sZS5sb2coaW5kZXhlcywgZXh0cmFzKTsgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRjaGVkS2V5ID0gaW5kZXhlcy5zaGlmdCgpIHx8IG1hdGNoZWRLZXk7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYFske21hdGNoZWRLZXl9XSR7ZXh0cmFzfWA7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgICAgIHJlcGxhY2VkID0gcmVwbGFjZWQucmVwbGFjZShyZWdleHBzWzFdLCAoLyogc3RyLCBwMSwgb2Zmc2V0ICovKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRjaGVkS2V5ID0gaW5kZXhlcy5zaGlmdCgpIHx8IG1hdGNoZWRLZXk7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYC4ke21hdGNoZWRLZXl9LmA7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgICAgIGVsZW1lbnQuYXR0cihwcm9wLCByZXBsYWNlZCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgX29uQWRkZWROb2RlcyhldmVudCwgdGFyZ2V0LyogLCByZWNvcmQsIGluc3RhbmNlICovKSB7XG4gICAgICAgIGxldCBjb2xsZWN0aW9ucyA9ICQodGFyZ2V0KS5maW5kKCdbZGF0YS10eXBlPVwiY29sbGVjdGlvblwiXScpO1xuICAgICAgICBpZiAoIWNvbGxlY3Rpb25zLmxlbmd0aCkgeyByZXR1cm47IH1cblxuICAgICAgICBjb2xsZWN0aW9ucy5lYWNoKChpbmRleCwgY29sbGVjdGlvbikgPT4ge1xuICAgICAgICAgICAgY29sbGVjdGlvbiA9ICQoY29sbGVjdGlvbik7XG4gICAgICAgICAgICBpZiAoIX50aGlzLmxpc3RzLmluZGV4KGNvbGxlY3Rpb24pKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5hZGRMaXN0KGNvbGxlY3Rpb24pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBfdXBkYXRlQWN0aW9uc1N0YXRlQmFzZWRPbk1pbk1heChsaXN0KSB7XG4gICAgICAgIGxldCBpdGVtcyA9IGxpc3QuY2xvc2VzdCgnW2RhdGEtdHlwZT1cImNvbGxlY3Rpb25cIl0nKS5maW5kKCc+IHVsID4gW2RhdGEtY29sbGVjdGlvbi1pdGVtXScpO1xuICAgICAgICBsZXQgbWluSXRlbXMgPSBsaXN0LmRhdGEoJ21pbicpO1xuICAgICAgICBsZXQgbWF4SXRlbXMgPSBsaXN0LmRhdGEoJ21heCcpO1xuXG4gICAgICAgIGxpc3QuZmluZCgnPiAuY29sbGVjdGlvbi1hY3Rpb25zIFtkYXRhLWFjdGlvbj1cImFkZFwiXScpLmF0dHIoJ2Rpc2FibGVkJywgZmFsc2UpO1xuICAgICAgICBsaXN0LmZpbmQoJz4gdWwgPiBsaSA+IC5pdGVtLWFjdGlvbnMgW2RhdGEtYWN0aW9uPVwiZGVsZXRlXCJdJykuYXR0cignZGlzYWJsZWQnLCBmYWxzZSk7XG5cbiAgICAgICAgaWYgKHR5cGVvZiBtaW5JdGVtcyAhPT0gJ3VuZGVmaW5lZCcgJiYgaXRlbXMubGVuZ3RoIDw9IG1pbkl0ZW1zKSB7XG4gICAgICAgICAgICBsaXN0LmZpbmQoJz4gdWwgPiBsaSA+IC5pdGVtLWFjdGlvbnMgW2RhdGEtYWN0aW9uPVwiZGVsZXRlXCJdJykuYXR0cignZGlzYWJsZWQnLCB0cnVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0eXBlb2YgbWF4SXRlbXMgIT09ICd1bmRlZmluZWQnICYmIGl0ZW1zLmxlbmd0aCA+PSBtYXhJdGVtcykge1xuICAgICAgICAgICAgbGlzdC5maW5kKCc+IC5jb2xsZWN0aW9uLWFjdGlvbnMgW2RhdGEtYWN0aW9uPVwiYWRkXCJdJykuYXR0cignZGlzYWJsZWQnLCB0cnVlKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZXhwb3J0IGxldCBJbnN0YW5jZSA9IG5ldyBDb2xsZWN0aW9uc0ZpZWxkKCk7XG4iXSwibmFtZXMiOlsiJCIsIlNvcnRhYmxlIiwiQ29sbGVjdGlvbnNGaWVsZCIsImxpc3RzIiwiZWFjaCIsImluZGV4IiwibGlzdCIsImFkZExpc3QiLCJvbiIsIl9vbkFkZGVkTm9kZXMiLCJiaW5kIiwiYWRkIiwiZXZlbnQiLCJhZGRJdGVtIiwicmVtb3ZlSXRlbSIsImNvbGxhcHNlSXRlbSIsImV4cGFuZEl0ZW0iLCJzb3J0SXRlbXMiLCJjb2xsYXBzZUl0ZW1zIiwiZXhwYW5kSXRlbXMiLCJvYnNlcnZlS2V5IiwiZmluZCIsImNvbnRhaW5lciIsImRhdGEiLCJoYXNBdHRyaWJ1dGUiLCJnZXQiLCJmb3JjZUZhbGxiYWNrIiwiaGFuZGxlIiwiYW5pbWF0aW9uIiwib25VcGRhdGUiLCJyZWluZGV4IiwiX3VwZGF0ZUFjdGlvbnNTdGF0ZUJhc2VkT25NaW5NYXgiLCJidXR0b24iLCJjdXJyZW50VGFyZ2V0IiwicG9zaXRpb24iLCJjbG9zZXN0IiwidGVtcGxhdGUiLCJpdGVtcyIsIm1heEl0ZW1zIiwibGVuZ3RoIiwidG9wQWN0aW9uIiwic29ydEFjdGlvbiIsInBhcmVudCIsInJlbW92ZUNsYXNzIiwidHJpZ2dlciIsIml0ZW0iLCJtaW5JdGVtcyIsInJlbW92ZSIsImFkZENsYXNzIiwiY2xpY2siLCJhdHRyIiwic29ydGJ5Iiwic29ydGJ5X2RpciIsInNvcnQiLCJhIiwiYiIsIkEiLCJCIiwidmFsIiwiXyIsImFwcGVuZCIsImlucHV0IiwidGFyZ2V0IiwidmFsdWUiLCJvYnNlcnZlZCIsIm9ic2VydmVkVmFsdWUiLCJoYXNDdXN0b21LZXkiLCJjdXJyZW50S2V5IiwiZm9yRWFjaCIsInByb3AiLCJlbGVtZW50IiwiaW5kZXhlcyIsImFycmF5X2luZGV4IiwicmVnZXhwcyIsIlJlZ0V4cCIsIm1hdGNoX2luZGV4IiwibWF0Y2giLCJwYXR0ZXJuIiwiZGF0YXNldCIsImdyYXZBcnJheU5hbWUiLCJwYXJlbnRzIiwibWFwIiwiaWR4IiwicHVzaCIsInJldmVyc2UiLCJtYXRjaGVkS2V5IiwicmVwbGFjZWQiLCJyZXBsYWNlIiwiZXh0cmFzIiwiY29uc29sZSIsImxvZyIsInNoaWZ0IiwiY29sbGVjdGlvbnMiLCJjb2xsZWN0aW9uIiwiSW5zdGFuY2UiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./app/forms/fields/collections.js\n"); /***/ }), /***/ "./app/forms/fields/colorpicker.js": /*!*****************************************!*\ !*** ./app/forms/fields/colorpicker.js ***! \*****************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ ColorpickerField),\n/* harmony export */ \"Instance\": () => (/* binding */ Instance)\n/* harmony export */ });\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ \"jquery\");\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var mout_math_clamp__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! mout/math/clamp */ \"./node_modules/mout/math/clamp.js\");\n/* harmony import */ var mout_math_clamp__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(mout_math_clamp__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var mout_function_bind__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! mout/function/bind */ \"./node_modules/mout/function/bind.js\");\n/* harmony import */ var mout_function_bind__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(mout_function_bind__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _utils_colors__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/colors */ \"./app/utils/colors.js\");\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\n\n\n\n\nvar isFirefox = navigator.userAgent.toLowerCase().indexOf('firefox') > -1;\nvar body = jquery__WEBPACK_IMPORTED_MODULE_0___default()('body');\nvar MOUSEDOWN = 'mousedown touchstart MSPointerDown pointerdown';\nvar MOUSEMOVE = 'mousemove touchmove MSPointerMove pointermove';\nvar MOUSEUP = 'mouseup touchend MSPointerUp pointerup';\nvar FOCUSIN = isFirefox ? 'focus' : 'focusin';\n\nvar ColorpickerField = /*#__PURE__*/function () {\n function ColorpickerField(selector) {\n var _this = this;\n\n _classCallCheck(this, ColorpickerField);\n\n this.selector = selector;\n this.field = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this.selector);\n this.options = Object.assign({}, this.field.data('grav-colorpicker'));\n this.built = false;\n this.attach();\n\n if (this.options.update) {\n this.field.on('change._grav_colorpicker', function (event, field, hex, opacity) {\n var backgroundColor = hex;\n var rgb = (0,_utils_colors__WEBPACK_IMPORTED_MODULE_3__.hex2rgb)(hex);\n\n if (opacity < 1) {\n backgroundColor = 'rgba(' + rgb.r + ', ' + rgb.g + ', ' + rgb.b + ', ' + opacity + ')';\n }\n\n var target = field.closest(_this.options.update);\n\n if (!target.length) {\n target = field.siblings(_this.options.update);\n }\n\n if (!target.length) {\n target = field.parent('.g-colorpicker').find(_this.options.update);\n }\n\n target.css({\n backgroundColor: backgroundColor\n });\n });\n }\n }\n\n _createClass(ColorpickerField, [{\n key: \"attach\",\n value: function attach() {\n var _this2 = this;\n\n body.on(FOCUSIN, this.selector, function (event) {\n return _this2.show(event, event.currentTarget);\n });\n body.on(MOUSEDOWN, this.selector + ' .g-colorpicker, ' + this.selector + ' .g-colorpicker i', this.bound('iconClick'));\n body.on('keydown', this.selector, function (event) {\n switch (event.keyCode) {\n case 9:\n // tab\n _this2.hide();\n\n break;\n\n case 13: // enter\n\n case 27:\n // esc\n _this2.hide();\n\n event.currentTarget.blur();\n break;\n }\n\n return true;\n }); // Update on keyup\n\n body.on('keyup', this.selector, function (event) {\n _this2.updateFromInput(true, event.currentTarget);\n\n return true;\n }); // Update on paste\n\n body.on('paste', this.selector, function (event) {\n setTimeout(function () {\n return _this2.updateFromInput(true, event.currentTarget);\n }, 1);\n });\n }\n }, {\n key: \"show\",\n value: function show(event, target) {\n target = jquery__WEBPACK_IMPORTED_MODULE_0___default()(target);\n\n if (!this.built) {\n this.build();\n }\n\n this.element = target;\n this.reposition();\n this.wrapper.addClass('cp-visible');\n this.updateFromInput();\n this.wrapper.on(MOUSEDOWN, '.cp-grid, .cp-slider, .cp-opacity-slider', this.bound('bodyDown'));\n body.on(MOUSEMOVE, this.bound('bodyMove'));\n body.on(MOUSEDOWN, this.bound('bodyClick'));\n body.on(MOUSEUP, this.bound('targetReset'));\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('#admin-main > .content-wrapper').on('scroll', this.bound('reposition'));\n }\n }, {\n key: \"hide\",\n value: function hide() {\n if (!this.built) {\n return;\n }\n\n this.wrapper.removeClass('cp-visible');\n this.wrapper.undelegate(MOUSEDOWN, '.cp-grid, .cp-slider, .cp-opacity-slider', this.bound('bodyDown'));\n body.off(MOUSEMOVE, this.bound('bodyMove'));\n body.off(MOUSEDOWN, this.bound('bodyClick'));\n body.off(MOUSEUP, this.bound('targetReset'));\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('#admin-main > .content-wrapper').on('scroll', this.bound('reposition'));\n }\n }, {\n key: \"build\",\n value: function build() {\n var _this3 = this;\n\n this.wrapper = jquery__WEBPACK_IMPORTED_MODULE_0___default()('
');\n this.slider = jquery__WEBPACK_IMPORTED_MODULE_0___default()('
').appendTo(this.wrapper).append(jquery__WEBPACK_IMPORTED_MODULE_0___default()('
'));\n this.opacitySlider = jquery__WEBPACK_IMPORTED_MODULE_0___default()('
').appendTo(this.wrapper).append(jquery__WEBPACK_IMPORTED_MODULE_0___default()('
'));\n this.grid = jquery__WEBPACK_IMPORTED_MODULE_0___default()('
').appendTo(this.wrapper).append(jquery__WEBPACK_IMPORTED_MODULE_0___default()('
')).append(jquery__WEBPACK_IMPORTED_MODULE_0___default()('
'));\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('
').appendTo(this.grid.find('.cp-picker'));\n var tabs = jquery__WEBPACK_IMPORTED_MODULE_0___default()('
').appendTo(this.wrapper);\n this.tabs = {\n hue: jquery__WEBPACK_IMPORTED_MODULE_0___default()('
').text('HUE').appendTo(tabs),\n brightness: jquery__WEBPACK_IMPORTED_MODULE_0___default()('
').text('BRI').appendTo(tabs),\n saturation: jquery__WEBPACK_IMPORTED_MODULE_0___default()('
').text('SAT').appendTo(tabs),\n wheel: jquery__WEBPACK_IMPORTED_MODULE_0___default()('
').text('WHEEL').appendTo(tabs),\n transparent: jquery__WEBPACK_IMPORTED_MODULE_0___default()('
').text('TRANSPARENT').appendTo(tabs)\n };\n tabs.on(MOUSEDOWN, '> div', function (event) {\n var element = jquery__WEBPACK_IMPORTED_MODULE_0___default()(event.currentTarget);\n\n if (element.is(_this3.tabs.transparent)) {\n var sliderHeight = _this3.opacitySlider.height();\n\n _this3.opacity = 0;\n\n _this3.opacitySlider.find('.cp-picker').css({\n 'top': mout_math_clamp__WEBPACK_IMPORTED_MODULE_1___default()(sliderHeight - sliderHeight * _this3.opacity, 0, sliderHeight)\n });\n\n _this3.move(_this3.opacitySlider, {\n manualOpacity: true\n });\n\n return;\n }\n\n var active = tabs.find('.active');\n var mode = active.attr('class').replace(/\\s|active|cp-tab-/g, '');\n var newMode = element.attr('class').replace(/\\s|active|cp-tab-/g, '');\n\n _this3.wrapper.removeClass('cp-mode-' + mode).addClass('cp-mode-' + newMode);\n\n active.removeClass('active');\n element.addClass('active');\n _this3.mode = newMode;\n\n _this3.updateFromInput();\n });\n this.wrapper.appendTo('.content-wrapper');\n this.built = true;\n this.mode = 'hue';\n }\n }, {\n key: \"reposition\",\n value: function reposition() {\n var ct = jquery__WEBPACK_IMPORTED_MODULE_0___default()('.content-wrapper')[0];\n var offset = this.element[0].getBoundingClientRect();\n var ctOffset = ct.getBoundingClientRect();\n var delta = {\n x: 0,\n y: 0\n };\n\n if (this.options.offset) {\n delta.x = this.options.offset.x || 0;\n delta.y = this.options.offset.y || 0;\n }\n\n this.wrapper.css({\n top: offset.top + offset.height + ct.scrollTop - ctOffset.top + delta.y,\n left: offset.left + ct.scrollLeft - ctOffset.left + delta.x\n });\n }\n }, {\n key: \"iconClick\",\n value: function iconClick(event) {\n if (this.wrapper && this.wrapper.hasClass('cp-visible')) {\n return true;\n }\n\n event && event.preventDefault();\n var input = jquery__WEBPACK_IMPORTED_MODULE_0___default()(event.currentTarget).find('input');\n setTimeout(function () {\n return input.focus();\n }, 50);\n }\n }, {\n key: \"bodyMove\",\n value: function bodyMove(event) {\n event && event.preventDefault();\n\n if (this.target) {\n this.move(this.target, event);\n }\n }\n }, {\n key: \"bodyClick\",\n value: function bodyClick(event) {\n var target = jquery__WEBPACK_IMPORTED_MODULE_0___default()(event.target);\n\n if (!target.closest('.cp-wrapper').length && !target.is(this.selector)) {\n this.hide();\n }\n }\n }, {\n key: \"bodyDown\",\n value: function bodyDown(event) {\n event && event.preventDefault();\n this.target = jquery__WEBPACK_IMPORTED_MODULE_0___default()(event.currentTarget);\n this.move(this.target, event, true);\n }\n }, {\n key: \"targetReset\",\n value: function targetReset(event) {\n event && event.preventDefault();\n this.target = null;\n }\n }, {\n key: \"move\",\n value: function move(target, event) {\n var input = this.element;\n var picker = target.find('.cp-picker');\n var clientRect = target[0].getBoundingClientRect();\n var offsetX = clientRect.left + window.scrollX;\n var offsetY = clientRect.top + window.scrollY;\n var x = Math.round((event ? event.pageX : 0) - offsetX);\n var y = Math.round((event ? event.pageY : 0) - offsetY);\n var wx;\n var wy;\n var r;\n var phi; // Touch support\n\n var touchEvents = event.changedTouches || event.originalEvent && event.originalEvent.changedTouches;\n\n if (event && touchEvents) {\n x = (touchEvents ? touchEvents[0].pageX : 0) - offsetX;\n y = (touchEvents ? touchEvents[0].pageY : 0) - offsetY;\n }\n\n if (event && event.manualOpacity) {\n y = clientRect.height;\n } // Constrain picker to its container\n\n\n if (x < 0) x = 0;\n if (y < 0) y = 0;\n if (x > clientRect.width) x = clientRect.width;\n if (y > clientRect.height) y = clientRect.height; // Constrain color wheel values to the wheel\n\n if (target.parent('.cp-mode-wheel').length && picker.parent('.cp-grid').length) {\n wx = 75 - x;\n wy = 75 - y;\n r = Math.sqrt(wx * wx + wy * wy);\n phi = Math.atan2(wy, wx);\n if (phi < 0) phi += Math.PI * 2;\n\n if (r > 75) {\n x = 75 - 75 * Math.cos(phi);\n y = 75 - 75 * Math.sin(phi);\n }\n\n x = Math.round(x);\n y = Math.round(y);\n } // Move the picker\n\n\n if (target.hasClass('cp-grid')) {\n picker.css({\n top: y,\n left: x\n });\n this.updateFromPicker(input, target);\n } else {\n picker.css({\n top: y\n });\n this.updateFromPicker(input, target);\n }\n }\n }, {\n key: \"updateFromInput\",\n value: function updateFromInput(dontFireEvent, element) {\n element = element ? jquery__WEBPACK_IMPORTED_MODULE_0___default()(element) : this.element;\n var value = element.val();\n var opacity = value.replace(/\\s/g, '').match(/^rgba?\\([0-9]{1,3},[0-9]{1,3},[0-9]{1,3},(.+)\\)/);\n var hex;\n var hsb;\n value = (0,_utils_colors__WEBPACK_IMPORTED_MODULE_3__.rgbstr2hex)(value) || value;\n opacity = opacity ? mout_math_clamp__WEBPACK_IMPORTED_MODULE_1___default()(opacity[1], 0, 1) : 1;\n\n if (!(hex = (0,_utils_colors__WEBPACK_IMPORTED_MODULE_3__.parseHex)(value))) {\n hex = '#ffffff';\n }\n\n hsb = (0,_utils_colors__WEBPACK_IMPORTED_MODULE_3__.hex2hsb)(hex);\n\n if (this.built) {\n // opacity\n this.opacity = opacity;\n var sliderHeight = this.opacitySlider.height();\n this.opacitySlider.find('.cp-picker').css({\n 'top': mout_math_clamp__WEBPACK_IMPORTED_MODULE_1___default()(sliderHeight - sliderHeight * this.opacity, 0, sliderHeight)\n }); // bg color\n\n var gridHeight = this.grid.height();\n var gridWidth = this.grid.width();\n var r;\n var phi;\n var x;\n var y;\n sliderHeight = this.slider.height();\n\n switch (this.mode) {\n case 'wheel':\n // Set grid position\n r = mout_math_clamp__WEBPACK_IMPORTED_MODULE_1___default()(Math.ceil(hsb.s * 0.75), 0, gridHeight / 2);\n phi = hsb.h * Math.PI / 180;\n x = mout_math_clamp__WEBPACK_IMPORTED_MODULE_1___default()(75 - Math.cos(phi) * r, 0, gridWidth);\n y = mout_math_clamp__WEBPACK_IMPORTED_MODULE_1___default()(75 - Math.sin(phi) * r, 0, gridHeight);\n this.grid.css({\n backgroundColor: 'transparent'\n }).find('.cp-picker').css({\n top: y,\n left: x\n }); // Set slider position\n\n y = 150 - hsb.b / (100 / gridHeight);\n if (hex === '') y = 0;\n this.slider.find('.cp-picker').css({\n top: y\n }); // Update panel color\n\n this.slider.css({\n backgroundColor: (0,_utils_colors__WEBPACK_IMPORTED_MODULE_3__.hsb2hex)({\n h: hsb.h,\n s: hsb.s,\n b: 100\n })\n });\n break;\n\n case 'saturation':\n // Set grid position\n x = mout_math_clamp__WEBPACK_IMPORTED_MODULE_1___default()(5 * hsb.h / 12, 0, 150);\n y = mout_math_clamp__WEBPACK_IMPORTED_MODULE_1___default()(gridHeight - Math.ceil(hsb.b / (100 / gridHeight)), 0, gridHeight);\n this.grid.find('.cp-picker').css({\n top: y,\n left: x\n }); // Set slider position\n\n y = mout_math_clamp__WEBPACK_IMPORTED_MODULE_1___default()(sliderHeight - hsb.s * (sliderHeight / 100), 0, sliderHeight);\n this.slider.find('.cp-picker').css({\n top: y\n }); // Update UI\n\n this.slider.css({\n backgroundColor: (0,_utils_colors__WEBPACK_IMPORTED_MODULE_3__.hsb2hex)({\n h: hsb.h,\n s: 100,\n b: hsb.b\n })\n });\n this.grid.find('.cp-grid-inner').css({\n opacity: hsb.s / 100\n });\n break;\n\n case 'brightness':\n // Set grid position\n x = mout_math_clamp__WEBPACK_IMPORTED_MODULE_1___default()(5 * hsb.h / 12, 0, 150);\n y = mout_math_clamp__WEBPACK_IMPORTED_MODULE_1___default()(gridHeight - Math.ceil(hsb.s / (100 / gridHeight)), 0, gridHeight);\n this.grid.find('.cp-picker').css({\n top: y,\n left: x\n }); // Set slider position\n\n y = mout_math_clamp__WEBPACK_IMPORTED_MODULE_1___default()(sliderHeight - hsb.b * (sliderHeight / 100), 0, sliderHeight);\n this.slider.find('.cp-picker').css({\n top: y\n }); // Update UI\n\n this.slider.css({\n backgroundColor: (0,_utils_colors__WEBPACK_IMPORTED_MODULE_3__.hsb2hex)({\n h: hsb.h,\n s: hsb.s,\n b: 100\n })\n });\n this.grid.find('.cp-grid-inner').css({\n opacity: 1 - hsb.b / 100\n });\n break;\n\n case 'hue':\n default:\n // Set grid position\n x = mout_math_clamp__WEBPACK_IMPORTED_MODULE_1___default()(Math.ceil(hsb.s / (100 / gridWidth)), 0, gridWidth);\n y = mout_math_clamp__WEBPACK_IMPORTED_MODULE_1___default()(gridHeight - Math.ceil(hsb.b / (100 / gridHeight)), 0, gridHeight);\n this.grid.find('.cp-picker').css({\n top: y,\n left: x\n }); // Set slider position\n\n y = mout_math_clamp__WEBPACK_IMPORTED_MODULE_1___default()(sliderHeight - hsb.h / (360 / sliderHeight), 0, sliderHeight);\n this.slider.find('.cp-picker').css({\n top: y\n }); // Update panel color\n\n this.grid.css({\n backgroundColor: (0,_utils_colors__WEBPACK_IMPORTED_MODULE_3__.hsb2hex)({\n h: hsb.h,\n s: 100,\n b: 100\n })\n });\n break;\n }\n }\n\n if (!dontFireEvent) {\n element.val(this.getValue(hex));\n }\n\n (this.element || element).trigger('change._grav_colorpicker', [element, hex, opacity]);\n }\n }, {\n key: \"updateFromPicker\",\n value: function updateFromPicker(input, target) {\n var getCoords = function getCoords(picker, container) {\n var left, top;\n if (!picker.length || !container) return null;\n left = picker[0].getBoundingClientRect().left;\n top = picker[0].getBoundingClientRect().top;\n return {\n x: left - container[0].getBoundingClientRect().left + picker[0].offsetWidth / 2,\n y: top - container[0].getBoundingClientRect().top + picker[0].offsetHeight / 2\n };\n };\n\n var hex;\n var hue;\n var saturation;\n var brightness;\n var x;\n var y;\n var r;\n var phi; // Panel objects\n\n var grid = this.wrapper.find('.cp-grid');\n var slider = this.wrapper.find('.cp-slider');\n var opacitySlider = this.wrapper.find('.cp-opacity-slider'); // Picker objects\n\n var gridPicker = grid.find('.cp-picker');\n var sliderPicker = slider.find('.cp-picker');\n var opacityPicker = opacitySlider.find('.cp-picker'); // Picker positions\n\n var gridPos = getCoords(gridPicker, grid);\n var sliderPos = getCoords(sliderPicker, slider);\n var opacityPos = getCoords(opacityPicker, opacitySlider); // Sizes\n\n var gridWidth = grid[0].getBoundingClientRect().width;\n var gridHeight = grid[0].getBoundingClientRect().height;\n var sliderHeight = slider[0].getBoundingClientRect().height;\n var opacitySliderHeight = opacitySlider[0].getBoundingClientRect().height;\n var value = this.element.val();\n value = (0,_utils_colors__WEBPACK_IMPORTED_MODULE_3__.rgbstr2hex)(value) || value;\n\n if (!(hex = (0,_utils_colors__WEBPACK_IMPORTED_MODULE_3__.parseHex)(value))) {\n hex = '#ffffff';\n } // Handle colors\n\n\n if (target.hasClass('cp-grid') || target.hasClass('cp-slider')) {\n // Determine HSB values\n switch (this.mode) {\n case 'wheel':\n // Calculate hue, saturation, and brightness\n x = gridWidth / 2 - gridPos.x;\n y = gridHeight / 2 - gridPos.y;\n r = Math.sqrt(x * x + y * y);\n phi = Math.atan2(y, x);\n if (phi < 0) phi += Math.PI * 2;\n\n if (r > 75) {\n r = 75;\n gridPos.x = 69 - 75 * Math.cos(phi);\n gridPos.y = 69 - 75 * Math.sin(phi);\n }\n\n saturation = mout_math_clamp__WEBPACK_IMPORTED_MODULE_1___default()(r / 0.75, 0, 100);\n hue = mout_math_clamp__WEBPACK_IMPORTED_MODULE_1___default()(phi * 180 / Math.PI, 0, 360);\n brightness = mout_math_clamp__WEBPACK_IMPORTED_MODULE_1___default()(100 - Math.floor(sliderPos.y * (100 / sliderHeight)), 0, 100);\n hex = (0,_utils_colors__WEBPACK_IMPORTED_MODULE_3__.hsb2hex)({\n h: hue,\n s: saturation,\n b: brightness\n }); // Update UI\n\n slider.css({\n backgroundColor: (0,_utils_colors__WEBPACK_IMPORTED_MODULE_3__.hsb2hex)({\n h: hue,\n s: saturation,\n b: 100\n })\n });\n break;\n\n case 'saturation':\n // Calculate hue, saturation, and brightness\n hue = mout_math_clamp__WEBPACK_IMPORTED_MODULE_1___default()(parseInt(gridPos.x * (360 / gridWidth), 10), 0, 360);\n saturation = mout_math_clamp__WEBPACK_IMPORTED_MODULE_1___default()(100 - Math.floor(sliderPos.y * (100 / sliderHeight)), 0, 100);\n brightness = mout_math_clamp__WEBPACK_IMPORTED_MODULE_1___default()(100 - Math.floor(gridPos.y * (100 / gridHeight)), 0, 100);\n hex = (0,_utils_colors__WEBPACK_IMPORTED_MODULE_3__.hsb2hex)({\n h: hue,\n s: saturation,\n b: brightness\n }); // Update UI\n\n slider.css({\n backgroundColor: (0,_utils_colors__WEBPACK_IMPORTED_MODULE_3__.hsb2hex)({\n h: hue,\n s: 100,\n b: brightness\n })\n });\n grid.find('.cp-grid-inner').css({\n opacity: saturation / 100\n });\n break;\n\n case 'brightness':\n // Calculate hue, saturation, and brightness\n hue = mout_math_clamp__WEBPACK_IMPORTED_MODULE_1___default()(parseInt(gridPos.x * (360 / gridWidth), 10), 0, 360);\n saturation = mout_math_clamp__WEBPACK_IMPORTED_MODULE_1___default()(100 - Math.floor(gridPos.y * (100 / gridHeight)), 0, 100);\n brightness = mout_math_clamp__WEBPACK_IMPORTED_MODULE_1___default()(100 - Math.floor(sliderPos.y * (100 / sliderHeight)), 0, 100);\n hex = (0,_utils_colors__WEBPACK_IMPORTED_MODULE_3__.hsb2hex)({\n h: hue,\n s: saturation,\n b: brightness\n }); // Update UI\n\n slider.css({\n backgroundColor: (0,_utils_colors__WEBPACK_IMPORTED_MODULE_3__.hsb2hex)({\n h: hue,\n s: saturation,\n b: 100\n })\n });\n grid.find('.cp-grid-inner').css({\n opacity: 1 - brightness / 100\n });\n break;\n\n default:\n // Calculate hue, saturation, and brightness\n hue = mout_math_clamp__WEBPACK_IMPORTED_MODULE_1___default()(360 - parseInt(sliderPos.y * (360 / sliderHeight), 10), 0, 360);\n saturation = mout_math_clamp__WEBPACK_IMPORTED_MODULE_1___default()(Math.floor(gridPos.x * (100 / gridWidth)), 0, 100);\n brightness = mout_math_clamp__WEBPACK_IMPORTED_MODULE_1___default()(100 - Math.floor(gridPos.y * (100 / gridHeight)), 0, 100);\n hex = (0,_utils_colors__WEBPACK_IMPORTED_MODULE_3__.hsb2hex)({\n h: hue,\n s: saturation,\n b: brightness\n }); // Update UI\n\n grid.css({\n backgroundColor: (0,_utils_colors__WEBPACK_IMPORTED_MODULE_3__.hsb2hex)({\n h: hue,\n s: 100,\n b: 100\n })\n });\n break;\n }\n } // Handle opacity\n\n\n if (target.hasClass('cp-opacity-slider')) {\n this.opacity = parseFloat(1 - opacityPos.y / opacitySliderHeight).toFixed(2);\n } // Adjust case\n\n\n input.val(this.getValue(hex)); // Handle change event\n\n this.element.trigger('change._grav_colorpicker', [this.element, hex, this.opacity]);\n }\n }, {\n key: \"getValue\",\n value: function getValue(hex) {\n if (this.opacity === 1) {\n return hex;\n }\n\n var rgb = (0,_utils_colors__WEBPACK_IMPORTED_MODULE_3__.hex2rgb)(hex);\n return 'rgba(' + rgb.r + ', ' + rgb.g + ', ' + rgb.b + ', ' + this.opacity + ')';\n }\n }, {\n key: \"bound\",\n value: function bound(name) {\n var bound = this._bound || (this._bound = {});\n return bound[name] || (bound[name] = mout_function_bind__WEBPACK_IMPORTED_MODULE_2___default()(this[name], this));\n }\n }]);\n\n return ColorpickerField;\n}();\n\n\nvar Instance = new ColorpickerField('[data-grav-colorpicker]');//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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QWlCLENBQXJCLEVBQXdCO0FBQUUsZUFBT0QsR0FBUDtBQUFhOztBQUN2QyxVQUFJRyxHQUFHLEdBQUczQixzREFBTyxDQUFDd0IsR0FBRCxDQUFqQjtBQUVBLGFBQU8sVUFBVUcsR0FBRyxDQUFDQyxDQUFkLEdBQWtCLElBQWxCLEdBQXlCRCxHQUFHLENBQUNFLENBQTdCLEdBQWlDLElBQWpDLEdBQXdDRixHQUFHLENBQUNHLENBQTVDLEdBQWdELElBQWhELEdBQXVELEtBQUtMLE9BQTVELEdBQXNFLEdBQTdFO0FBQ0g7OztXQUVELGVBQU1xSCxJQUFOLEVBQVk7QUFDUixVQUFJdEcsS0FBSyxHQUFHLEtBQUt1RyxNQUFMLEtBQWdCLEtBQUtBLE1BQUwsR0FBYyxFQUE5QixDQUFaO0FBQ0EsYUFBT3ZHLEtBQUssQ0FBQ3NHLElBQUQsQ0FBTCxLQUFnQnRHLEtBQUssQ0FBQ3NHLElBQUQsQ0FBTCxHQUFjbEoseURBQUksQ0FBQyxLQUFLa0osSUFBTCxDQUFELEVBQWEsSUFBYixDQUFsQyxDQUFQO0FBQ0g7Ozs7Ozs7QUFHRSxJQUFJRSxRQUFRLEdBQUcsSUFBSXBJLGdCQUFKLENBQXFCLHlCQUFyQixDQUFmIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vR3Jhdi8uL2FwcC9mb3Jtcy9maWVsZHMvY29sb3JwaWNrZXIuanM/YmE5OCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgJCBmcm9tICdqcXVlcnknO1xuaW1wb3J0IGNsYW1wIGZyb20gJ21vdXQvbWF0aC9jbGFtcCc7XG5pbXBvcnQgYmluZCBmcm9tICdtb3V0L2Z1bmN0aW9uL2JpbmQnO1xuaW1wb3J0IHsgcmdic3RyMmhleCwgaHNiMmhleCwgaGV4MmhzYiwgaGV4MnJnYiwgcGFyc2VIZXggfSBmcm9tICcuLi8uLi91dGlscy9jb2xvcnMnO1xuXG5jb25zdCBpc0ZpcmVmb3ggPSBuYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCkuaW5kZXhPZignZmlyZWZveCcpID4gLTE7XG5jb25zdCBib2R5ID0gJCgnYm9keScpO1xuXG5jb25zdCBNT1VTRURPV04gPSAnbW91c2Vkb3duIHRvdWNoc3RhcnQgTVNQb2ludGVyRG93biBwb2ludGVyZG93bic7XG5jb25zdCBNT1VTRU1PVkUgPSAnbW91c2Vtb3ZlIHRvdWNobW92ZSBNU1BvaW50ZXJNb3ZlIHBvaW50ZXJtb3ZlJztcbmNvbnN0IE1PVVNFVVAgPSAnbW91c2V1cCB0b3VjaGVuZCBNU1BvaW50ZXJVcCBwb2ludGVydXAnO1xuY29uc3QgRk9DVVNJTiA9IGlzRmlyZWZveCA/ICdmb2N1cycgOiAnZm9jdXNpbic7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIENvbG9ycGlja2VyRmllbGQge1xuICAgIGNvbnN0cnVjdG9yKHNlbGVjdG9yKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0b3IgPSBzZWxlY3RvcjtcbiAgICAgICAgdGhpcy5maWVsZCA9ICQodGhpcy5zZWxlY3Rvcik7XG4gICAgICAgIHRoaXMub3B0aW9ucyA9IE9iamVjdC5hc3NpZ24oe30sIHRoaXMuZmllbGQuZGF0YSgnZ3Jhdi1jb2xvcnBpY2tlcicpKTtcbiAgICAgICAgdGhpcy5idWlsdCA9IGZhbHNlO1xuICAgICAgICB0aGlzLmF0dGFjaCgpO1xuXG4gICAgICAgIGlmICh0aGlzLm9wdGlvbnMudXBkYXRlKSB7XG4gICAgICAgICAgICB0aGlzLmZpZWxkLm9uKCdjaGFuZ2UuX2dyYXZfY29sb3JwaWNrZXInLCAoZXZlbnQsIGZpZWxkLCBoZXgsIG9wYWNpdHkpID0+IHtcbiAgICAgICAgICAgICAgICBsZXQgYmFja2dyb3VuZENvbG9yID0gaGV4O1xuICAgICAgICAgICAgICAgIGxldCByZ2IgPSBoZXgycmdiKGhleCk7XG5cbiAgICAgICAgICAgICAgICBpZiAob3BhY2l0eSA8IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yID0gJ3JnYmEoJyArIHJnYi5yICsgJywgJyArIHJnYi5nICsgJywgJyArIHJnYi5iICsgJywgJyArIG9wYWNpdHkgKyAnKSc7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgbGV0IHRhcmdldCA9IGZpZWxkLmNsb3Nlc3QodGhpcy5vcHRpb25zLnVwZGF0ZSk7XG4gICAgICAgICAgICAgICAgaWYgKCF0YXJnZXQubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgIHRhcmdldCA9IGZpZWxkLnNpYmxpbmdzKHRoaXMub3B0aW9ucy51cGRhdGUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoIXRhcmdldC5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0ID0gZmllbGQucGFyZW50KCcuZy1jb2xvcnBpY2tlcicpLmZpbmQodGhpcy5vcHRpb25zLnVwZGF0ZSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgdGFyZ2V0LmNzcyh7IGJhY2tncm91bmRDb2xvciB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYXR0YWNoKCkge1xuICAgICAgICBib2R5Lm9uKEZPQ1VTSU4sIHRoaXMuc2VsZWN0b3IsIChldmVudCkgPT4gdGhpcy5zaG93KGV2ZW50LCBldmVudC5jdXJyZW50VGFyZ2V0KSk7XG4gICAgICAgIGJvZHkub24oTU9VU0VET1dOLCB0aGlzLnNlbGVjdG9yICsgJyAuZy1jb2xvcnBpY2tlciwgJyArIHRoaXMuc2VsZWN0b3IgKyAnIC5nLWNvbG9ycGlja2VyIGknLCB0aGlzLmJvdW5kKCdpY29uQ2xpY2snKSk7XG4gICAgICAgIGJvZHkub24oJ2tleWRvd24nLCB0aGlzLnNlbGVjdG9yLCAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgIHN3aXRjaCAoZXZlbnQua2V5Q29kZSkge1xuICAgICAgICAgICAgICAgIGNhc2UgOTogLy8gdGFiXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaGlkZSgpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlIDEzOiAvLyBlbnRlclxuICAgICAgICAgICAgICAgIGNhc2UgMjc6IC8vIGVzY1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmhpZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgZXZlbnQuY3VycmVudFRhcmdldC5ibHVyKCk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8vIFVwZGF0ZSBvbiBrZXl1cFxuICAgICAgICBib2R5Lm9uKCdrZXl1cCcsIHRoaXMuc2VsZWN0b3IsIChldmVudCkgPT4ge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVGcm9tSW5wdXQodHJ1ZSwgZXZlbnQuY3VycmVudFRhcmdldCk7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gVXBkYXRlIG9uIHBhc3RlXG4gICAgICAgIGJvZHkub24oJ3Bhc3RlJywgdGhpcy5zZWxlY3RvciwgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMudXBkYXRlRnJvbUlucHV0KHRydWUsIGV2ZW50LmN1cnJlbnRUYXJnZXQpLCAxKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgc2hvdyhldmVudCwgdGFyZ2V0KSB7XG4gICAgICAgIHRhcmdldCA9ICQodGFyZ2V0KTtcblxuICAgICAgICBpZiAoIXRoaXMuYnVpbHQpIHtcbiAgICAgICAgICAgIHRoaXMuYnVpbGQoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZWxlbWVudCA9IHRhcmdldDtcbiAgICAgICAgdGhpcy5yZXBvc2l0aW9uKCk7XG4gICAgICAgIHRoaXMud3JhcHBlci5hZGRDbGFzcygnY3AtdmlzaWJsZScpO1xuICAgICAgICB0aGlzLnVwZGF0ZUZyb21JbnB1dCgpO1xuXG4gICAgICAgIHRoaXMud3JhcHBlci5vbihNT1VTRURPV04sICcuY3AtZ3JpZCwgLmNwLXNsaWRlciwgLmNwLW9wYWNpdHktc2xpZGVyJywgdGhpcy5ib3VuZCgnYm9keURvd24nKSk7XG4gICAgICAgIGJvZHkub24oTU9VU0VNT1ZFLCB0aGlzLmJvdW5kKCdib2R5TW92ZScpKTtcbiAgICAgICAgYm9keS5vbihNT1VTRURPV04sIHRoaXMuYm91bmQoJ2JvZHlDbGljaycpKTtcbiAgICAgICAgYm9keS5vbihNT1VTRVVQLCB0aGlzLmJvdW5kKCd0YXJnZXRSZXNldCcpKTtcbiAgICAgICAgJCgnI2FkbWluLW1haW4gPiAuY29udGVudC13cmFwcGVyJykub24oJ3Njcm9sbCcsIHRoaXMuYm91bmQoJ3JlcG9zaXRpb24nKSk7XG4gICAgfVxuXG4gICAgaGlkZSgpIHtcbiAgICAgICAgaWYgKCF0aGlzLmJ1aWx0KSB7IHJldHVybjsgfVxuICAgICAgICB0aGlzLndyYXBwZXIucmVtb3ZlQ2xhc3MoJ2NwLXZpc2libGUnKTtcblxuICAgICAgICB0aGlzLndyYXBwZXIudW5kZWxlZ2F0ZShNT1VTRURPV04sICcuY3AtZ3JpZCwgLmNwLXNsaWRlciwgLmNwLW9wYWNpdHktc2xpZGVyJywgdGhpcy5ib3VuZCgnYm9keURvd24nKSk7XG4gICAgICAgIGJvZHkub2ZmKE1PVVNFTU9WRSwgdGhpcy5ib3VuZCgnYm9keU1vdmUnKSk7XG4gICAgICAgIGJvZHkub2ZmKE1PVVNFRE9XTiwgdGhpcy5ib3VuZCgnYm9keUNsaWNrJykpO1xuICAgICAgICBib2R5Lm9mZihNT1VTRVVQLCB0aGlzLmJvdW5kKCd0YXJnZXRSZXNldCcpKTtcbiAgICAgICAgJCgnI2FkbWluLW1haW4gPiAuY29udGVudC13cmFwcGVyJykub24oJ3Njcm9sbCcsIHRoaXMuYm91bmQoJ3JlcG9zaXRpb24nKSk7XG4gICAgfVxuXG4gICAgYnVpbGQoKSB7XG4gICAgICAgIHRoaXMud3JhcHBlciA9ICQoJzxkaXYgY2xhc3M9XCJjcC13cmFwcGVyIGNwLXdpdGgtb3BhY2l0eSBjcC1tb2RlLWh1ZVwiIC8+Jyk7XG4gICAgICAgIHRoaXMuc2xpZGVyID0gJCgnPGRpdiBjbGFzcz1cImNwLXNsaWRlciBjcC1zcHJpdGVcIiAvPicpLmFwcGVuZFRvKHRoaXMud3JhcHBlcikuYXBwZW5kKCQoJzxkaXYgY2xhc3M9XCJjcC1waWNrZXJcIiAvPicpKTtcbiAgICAgICAgdGhpcy5vcGFjaXR5U2xpZGVyID0gJCgnPGRpdiBjbGFzcz1cImNwLW9wYWNpdHktc2xpZGVyIGNwLXNwcml0ZVwiIC8+JykuYXBwZW5kVG8odGhpcy53cmFwcGVyKS5hcHBlbmQoJCgnPGRpdiBjbGFzcz1cImNwLXBpY2tlclwiIC8+JykpO1xuICAgICAgICB0aGlzLmdyaWQgPSAkKCc8ZGl2IGNsYXNzPVwiY3AtZ3JpZCBjcC1zcHJpdGVcIiAvPicpLmFwcGVuZFRvKHRoaXMud3JhcHBlcikuYXBwZW5kKCQoJzxkaXYgY2xhc3M9XCJjcC1ncmlkLWlubmVyXCIgLz4nKSkuYXBwZW5kKCQoJzxkaXYgY2xhc3M9XCJjcC1waWNrZXJcIiAvPicpKTtcblxuICAgICAgICAkKCc8ZGl2IC8+JykuYXBwZW5kVG8odGhpcy5ncmlkLmZpbmQoJy5jcC1waWNrZXInKSk7XG5cbiAgICAgICAgbGV0IHRhYnMgPSAkKCc8ZGl2IGNsYXNzPVwiY3AtdGFic1wiIC8+JykuYXBwZW5kVG8odGhpcy53cmFwcGVyKTtcbiAgICAgICAgdGhpcy50YWJzID0ge1xuICAgICAgICAgICAgaHVlOiAkKCc8ZGl2IGNsYXNzPVwiY3AtdGFiLWh1ZSBhY3RpdmVcIiAvPicpLnRleHQoJ0hVRScpLmFwcGVuZFRvKHRhYnMpLFxuICAgICAgICAgICAgYnJpZ2h0bmVzczogJCgnPGRpdiBjbGFzcz1cImNwLXRhYi1icmlnaHRuZXNzXCIgLz4nKS50ZXh0KCdCUkknKS5hcHBlbmRUbyh0YWJzKSxcbiAgICAgICAgICAgIHNhdHVyYXRpb246ICQoJzxkaXYgY2xhc3M9XCJjcC10YWItc2F0dXJhdGlvblwiIC8+JykudGV4dCgnU0FUJykuYXBwZW5kVG8odGFicyksXG4gICAgICAgICAgICB3aGVlbDogJCgnPGRpdiBjbGFzcz1cImNwLXRhYi13aGVlbFwiIC8+JykudGV4dCgnV0hFRUwnKS5hcHBlbmRUbyh0YWJzKSxcbiAgICAgICAgICAgIHRyYW5zcGFyZW50OiAkKCc8ZGl2IGNsYXNzPVwiY3AtdGFiLXRyYW5zcFwiIC8+JykudGV4dCgnVFJBTlNQQVJFTlQnKS5hcHBlbmRUbyh0YWJzKVxuICAgICAgICB9O1xuXG4gICAgICAgIHRhYnMub24oTU9VU0VET1dOLCAnPiBkaXYnLCAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgIGxldCBlbGVtZW50ID0gJChldmVudC5jdXJyZW50VGFyZ2V0KTtcbiAgICAgICAgICAgIGlmIChlbGVtZW50LmlzKHRoaXMudGFicy50cmFuc3BhcmVudCkpIHtcbiAgICAgICAgICAgICAgICBsZXQgc2xpZGVySGVpZ2h0ID0gdGhpcy5vcGFjaXR5U2xpZGVyLmhlaWdodCgpO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5vcGFjaXR5ID0gMDtcbiAgICAgICAgICAgICAgICB0aGlzLm9wYWNpdHlTbGlkZXIuZmluZCgnLmNwLXBpY2tlcicpLmNzcyh7ICd0b3AnOiBjbGFtcChzbGlkZXJIZWlnaHQgLSAoc2xpZGVySGVpZ2h0ICogdGhpcy5vcGFjaXR5KSwgMCwgc2xpZGVySGVpZ2h0KSB9KTtcbiAgICAgICAgICAgICAgICB0aGlzLm1vdmUodGhpcy5vcGFjaXR5U2xpZGVyLCB7IG1hbnVhbE9wYWNpdHk6IHRydWUgfSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBsZXQgYWN0aXZlID0gdGFicy5maW5kKCcuYWN0aXZlJyk7XG4gICAgICAgICAgICBsZXQgbW9kZSA9IGFjdGl2ZS5hdHRyKCdjbGFzcycpLnJlcGxhY2UoL1xcc3xhY3RpdmV8Y3AtdGFiLS9nLCAnJyk7XG4gICAgICAgICAgICBsZXQgbmV3TW9kZSA9IGVsZW1lbnQuYXR0cignY2xhc3MnKS5yZXBsYWNlKC9cXHN8YWN0aXZlfGNwLXRhYi0vZywgJycpO1xuXG4gICAgICAgICAgICB0aGlzLndyYXBwZXIucmVtb3ZlQ2xhc3MoJ2NwLW1vZGUtJyArIG1vZGUpLmFkZENsYXNzKCdjcC1tb2RlLScgKyBuZXdNb2RlKTtcbiAgICAgICAgICAgIGFjdGl2ZS5yZW1vdmVDbGFzcygnYWN0aXZlJyk7XG4gICAgICAgICAgICBlbGVtZW50LmFkZENsYXNzKCdhY3RpdmUnKTtcblxuICAgICAgICAgICAgdGhpcy5tb2RlID0gbmV3TW9kZTtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlRnJvbUlucHV0KCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMud3JhcHBlci5hcHBlbmRUbygnLmNvbnRlbnQtd3JhcHBlcicpO1xuXG4gICAgICAgIHRoaXMuYnVpbHQgPSB0cnVlO1xuICAgICAgICB0aGlzLm1vZGUgPSAnaHVlJztcbiAgICB9XG5cbiAgICByZXBvc2l0aW9uKCkge1xuICAgICAgICBsZXQgY3QgPSAkKCcuY29udGVudC13cmFwcGVyJylbMF07XG4gICAgICAgIGxldCBvZmZzZXQgPSB0aGlzLmVsZW1lbnRbMF0uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgIGxldCBjdE9mZnNldCA9IGN0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICBsZXQgZGVsdGEgPSB7IHg6IDAsIHk6IDAgfTtcblxuICAgICAgICBpZiAodGhpcy5vcHRpb25zLm9mZnNldCkge1xuICAgICAgICAgICAgZGVsdGEueCA9IHRoaXMub3B0aW9ucy5vZmZzZXQueCB8fCAwO1xuICAgICAgICAgICAgZGVsdGEueSA9IHRoaXMub3B0aW9ucy5vZmZzZXQueSB8fCAwO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy53cmFwcGVyLmNzcyh7XG4gICAgICAgICAgICB0b3A6IG9mZnNldC50b3AgKyBvZmZzZXQuaGVpZ2h0ICsgY3Quc2Nyb2xsVG9wIC0gY3RPZmZzZXQudG9wICsgZGVsdGEueSxcbiAgICAgICAgICAgIGxlZnQ6IG9mZnNldC5sZWZ0ICsgY3Quc2Nyb2xsTGVmdCAtIGN0T2Zmc2V0LmxlZnQgKyBkZWx0YS54XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGljb25DbGljayhldmVudCkge1xuICAgICAgICBpZiAodGhpcy53cmFwcGVyICYmIHRoaXMud3JhcHBlci5oYXNDbGFzcygnY3AtdmlzaWJsZScpKSB7IHJldHVybiB0cnVlOyB9XG5cbiAgICAgICAgZXZlbnQgJiYgZXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuICAgICAgICBsZXQgaW5wdXQgPSAkKGV2ZW50LmN1cnJlbnRUYXJnZXQpLmZpbmQoJ2lucHV0Jyk7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4gaW5wdXQuZm9jdXMoKSwgNTApO1xuICAgIH1cblxuICAgIGJvZHlNb3ZlKGV2ZW50KSB7XG4gICAgICAgIGV2ZW50ICYmIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICAgICAgaWYgKHRoaXMudGFyZ2V0KSB7IHRoaXMubW92ZSh0aGlzLnRhcmdldCwgZXZlbnQpOyB9XG4gICAgfVxuXG4gICAgYm9keUNsaWNrKGV2ZW50KSB7XG4gICAgICAgIGxldCB0YXJnZXQgPSAkKGV2ZW50LnRhcmdldCk7XG5cbiAgICAgICAgaWYgKCF0YXJnZXQuY2xvc2VzdCgnLmNwLXdyYXBwZXInKS5sZW5ndGggJiYgIXRhcmdldC5pcyh0aGlzLnNlbGVjdG9yKSkge1xuICAgICAgICAgICAgdGhpcy5oaWRlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBib2R5RG93bihldmVudCkge1xuICAgICAgICBldmVudCAmJiBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgICAgIHRoaXMudGFyZ2V0ID0gJChldmVudC5jdXJyZW50VGFyZ2V0KTtcbiAgICAgICAgdGhpcy5tb3ZlKHRoaXMudGFyZ2V0LCBldmVudCwgdHJ1ZSk7XG4gICAgfVxuXG4gICAgdGFyZ2V0UmVzZXQoZXZlbnQpIHtcbiAgICAgICAgZXZlbnQgJiYgZXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuICAgICAgICB0aGlzLnRhcmdldCA9IG51bGw7XG4gICAgfVxuXG4gICAgbW92ZSh0YXJnZXQsIGV2ZW50KSB7XG4gICAgICAgIGxldCBpbnB1dCA9IHRoaXMuZWxlbWVudDtcbiAgICAgICAgbGV0IHBpY2tlciA9IHRhcmdldC5maW5kKCcuY3AtcGlja2VyJyk7XG4gICAgICAgIGxldCBjbGllbnRSZWN0ID0gdGFyZ2V0WzBdLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICBsZXQgb2Zmc2V0WCA9IGNsaWVudFJlY3QubGVmdCArIHdpbmRvdy5zY3JvbGxYO1xuICAgICAgICBsZXQgb2Zmc2V0WSA9IGNsaWVudFJlY3QudG9wICsgd2luZG93LnNjcm9sbFk7XG4gICAgICAgIGxldCB4ID0gTWF0aC5yb3VuZCgoZXZlbnQgPyBldmVudC5wYWdlWCA6IDApIC0gb2Zmc2V0WCk7XG4gICAgICAgIGxldCB5ID0gTWF0aC5yb3VuZCgoZXZlbnQgPyBldmVudC5wYWdlWSA6IDApIC0gb2Zmc2V0WSk7XG4gICAgICAgIGxldCB3eDtcbiAgICAgICAgbGV0IHd5O1xuICAgICAgICBsZXQgcjtcbiAgICAgICAgbGV0IHBoaTtcblxuICAgICAgICAvLyBUb3VjaCBzdXBwb3J0XG4gICAgICAgIGxldCB0b3VjaEV2ZW50cyA9IGV2ZW50LmNoYW5nZWRUb3VjaGVzIHx8IChldmVudC5vcmlnaW5hbEV2ZW50ICYmIGV2ZW50Lm9yaWdpbmFsRXZlbnQuY2hhbmdlZFRvdWNoZXMpO1xuICAgICAgICBpZiAoZXZlbnQgJiYgdG91Y2hFdmVudHMpIHtcbiAgICAgICAgICAgIHggPSAodG91Y2hFdmVudHMgPyB0b3VjaEV2ZW50c1swXS5wYWdlWCA6IDApIC0gb2Zmc2V0WDtcbiAgICAgICAgICAgIHkgPSAodG91Y2hFdmVudHMgPyB0b3VjaEV2ZW50c1swXS5wYWdlWSA6IDApIC0gb2Zmc2V0WTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChldmVudCAmJiBldmVudC5tYW51YWxPcGFjaXR5KSB7XG4gICAgICAgICAgICB5ID0gY2xpZW50UmVjdC5oZWlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBDb25zdHJhaW4gcGlja2VyIHRvIGl0cyBjb250YWluZXJcbiAgICAgICAgaWYgKHggPCAwKSB4ID0gMDtcbiAgICAgICAgaWYgKHkgPCAwKSB5ID0gMDtcbiAgICAgICAgaWYgKHggPiBjbGllbnRSZWN0LndpZHRoKSB4ID0gY2xpZW50UmVjdC53aWR0aDtcbiAgICAgICAgaWYgKHkgPiBjbGllbnRSZWN0LmhlaWdodCkgeSA9IGNsaWVudFJlY3QuaGVpZ2h0O1xuXG4gICAgICAgIC8vIENvbnN0cmFpbiBjb2xvciB3aGVlbCB2YWx1ZXMgdG8gdGhlIHdoZWVsXG4gICAgICAgIGlmICh0YXJnZXQucGFyZW50KCcuY3AtbW9kZS13aGVlbCcpLmxlbmd0aCAmJiBwaWNrZXIucGFyZW50KCcuY3AtZ3JpZCcpLmxlbmd0aCkge1xuICAgICAgICAgICAgd3ggPSA3NSAtIHg7XG4gICAgICAgICAgICB3eSA9IDc1IC0geTtcbiAgICAgICAgICAgIHIgPSBNYXRoLnNxcnQod3ggKiB3eCArIHd5ICogd3kpO1xuICAgICAgICAgICAgcGhpID0gTWF0aC5hdGFuMih3eSwgd3gpO1xuXG4gICAgICAgICAgICBpZiAocGhpIDwgMCkgcGhpICs9IE1hdGguUEkgKiAyO1xuICAgICAgICAgICAgaWYgKHIgPiA3NSkge1xuICAgICAgICAgICAgICAgIHggPSA3NSAtICg3NSAqIE1hdGguY29zKHBoaSkpO1xuICAgICAgICAgICAgICAgIHkgPSA3NSAtICg3NSAqIE1hdGguc2luKHBoaSkpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB4ID0gTWF0aC5yb3VuZCh4KTtcbiAgICAgICAgICAgIHkgPSBNYXRoLnJvdW5kKHkpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gTW92ZSB0aGUgcGlja2VyXG4gICAgICAgIGlmICh0YXJnZXQuaGFzQ2xhc3MoJ2NwLWdyaWQnKSkge1xuICAgICAgICAgICAgcGlja2VyLmNzcyh7XG4gICAgICAgICAgICAgICAgdG9wOiB5LFxuICAgICAgICAgICAgICAgIGxlZnQ6IHhcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUZyb21QaWNrZXIoaW5wdXQsIHRhcmdldCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBwaWNrZXIuY3NzKHtcbiAgICAgICAgICAgICAgICB0b3A6IHlcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVGcm9tUGlja2VyKGlucHV0LCB0YXJnZXQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdXBkYXRlRnJvbUlucHV0KGRvbnRGaXJlRXZlbnQsIGVsZW1lbnQpIHtcbiAgICAgICAgZWxlbWVudCA9IGVsZW1lbnQgPyAkKGVsZW1lbnQpIDogdGhpcy5lbGVtZW50O1xuICAgICAgICBsZXQgdmFsdWUgPSBlbGVtZW50LnZhbCgpO1xuICAgICAgICBsZXQgb3BhY2l0eSA9IHZhbHVlLnJlcGxhY2UoL1xccy9nLCAnJykubWF0Y2goL15yZ2JhP1xcKFswLTldezEsM30sWzAtOV17MSwzfSxbMC05XXsxLDN9LCguKylcXCkvKTtcbiAgICAgICAgbGV0IGhleDtcbiAgICAgICAgbGV0IGhzYjtcblxuICAgICAgICB2YWx1ZSA9IHJnYnN0cjJoZXgodmFsdWUpIHx8IHZhbHVlO1xuICAgICAgICBvcGFjaXR5ID0gb3BhY2l0eSA/IGNsYW1wKG9wYWNpdHlbMV0sIDAsIDEpIDogMTtcblxuICAgICAgICBpZiAoIShoZXggPSBwYXJzZUhleCh2YWx1ZSkpKSB7IGhleCA9ICcjZmZmZmZmJzsgfVxuICAgICAgICBoc2IgPSBoZXgyaHNiKGhleCk7XG5cbiAgICAgICAgaWYgKHRoaXMuYnVpbHQpIHtcbiAgICAgICAgICAgIC8vIG9wYWNpdHlcbiAgICAgICAgICAgIHRoaXMub3BhY2l0eSA9IG9wYWNpdHk7XG4gICAgICAgICAgICB2YXIgc2xpZGVySGVpZ2h0ID0gdGhpcy5vcGFjaXR5U2xpZGVyLmhlaWdodCgpO1xuICAgICAgICAgICAgdGhpcy5vcGFjaXR5U2xpZGVyLmZpbmQoJy5jcC1waWNrZXInKS5jc3MoeyAndG9wJzogY2xhbXAoc2xpZGVySGVpZ2h0IC0gKHNsaWRlckhlaWdodCAqIHRoaXMub3BhY2l0eSksIDAsIHNsaWRlckhlaWdodCkgfSk7XG5cbiAgICAgICAgICAgIC8vIGJnIGNvbG9yXG4gICAgICAgICAgICBsZXQgZ3JpZEhlaWdodCA9IHRoaXMuZ3JpZC5oZWlnaHQoKTtcbiAgICAgICAgICAgIGxldCBncmlkV2lkdGggPSB0aGlzLmdyaWQud2lkdGgoKTtcbiAgICAgICAgICAgIGxldCByO1xuICAgICAgICAgICAgbGV0IHBoaTtcbiAgICAgICAgICAgIGxldCB4O1xuICAgICAgICAgICAgbGV0IHk7XG5cbiAgICAgICAgICAgIHNsaWRlckhlaWdodCA9IHRoaXMuc2xpZGVyLmhlaWdodCgpO1xuXG4gICAgICAgICAgICBzd2l0Y2ggKHRoaXMubW9kZSkge1xuICAgICAgICAgICAgICAgIGNhc2UgJ3doZWVsJzpcbiAgICAgICAgICAgICAgICAgICAgLy8gU2V0IGdyaWQgcG9zaXRpb25cbiAgICAgICAgICAgICAgICAgICAgciA9IGNsYW1wKE1hdGguY2VpbChoc2IucyAqIDAuNzUpLCAwLCBncmlkSGVpZ2h0IC8gMik7XG4gICAgICAgICAgICAgICAgICAgIHBoaSA9IGhzYi5oICogTWF0aC5QSSAvIDE4MDtcbiAgICAgICAgICAgICAgICAgICAgeCA9IGNsYW1wKDc1IC0gTWF0aC5jb3MocGhpKSAqIHIsIDAsIGdyaWRXaWR0aCk7XG4gICAgICAgICAgICAgICAgICAgIHkgPSBjbGFtcCg3NSAtIE1hdGguc2luKHBoaSkgKiByLCAwLCBncmlkSGVpZ2h0KTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5ncmlkLmNzcyh7IGJhY2tncm91bmRDb2xvcjogJ3RyYW5zcGFyZW50JyB9KS5maW5kKCcuY3AtcGlja2VyJykuY3NzKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogeSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IHhcbiAgICAgICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gU2V0IHNsaWRlciBwb3NpdGlvblxuICAgICAgICAgICAgICAgICAgICB5ID0gMTUwIC0gKGhzYi5iIC8gKDEwMCAvIGdyaWRIZWlnaHQpKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGhleCA9PT0gJycpIHkgPSAwO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNsaWRlci5maW5kKCcuY3AtcGlja2VyJykuY3NzKHsgdG9wOiB5IH0pO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIFVwZGF0ZSBwYW5lbCBjb2xvclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNsaWRlci5jc3Moe1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBoc2IyaGV4KHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoOiBoc2IuaCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzOiBoc2IucyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiOiAxMDBcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgICAgIGNhc2UgJ3NhdHVyYXRpb24nOlxuICAgICAgICAgICAgICAgICAgICAvLyBTZXQgZ3JpZCBwb3NpdGlvblxuICAgICAgICAgICAgICAgICAgICB4ID0gY2xhbXAoKDUgKiBoc2IuaCkgLyAxMiwgMCwgMTUwKTtcbiAgICAgICAgICAgICAgICAgICAgeSA9IGNsYW1wKGdyaWRIZWlnaHQgLSBNYXRoLmNlaWwoaHNiLmIgLyAoMTAwIC8gZ3JpZEhlaWdodCkpLCAwLCBncmlkSGVpZ2h0KTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5ncmlkLmZpbmQoJy5jcC1waWNrZXInKS5jc3Moe1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiB5LFxuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogeFxuICAgICAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgICAgICAvLyBTZXQgc2xpZGVyIHBvc2l0aW9uXG4gICAgICAgICAgICAgICAgICAgIHkgPSBjbGFtcChzbGlkZXJIZWlnaHQgLSAoaHNiLnMgKiAoc2xpZGVySGVpZ2h0IC8gMTAwKSksIDAsIHNsaWRlckhlaWdodCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2xpZGVyLmZpbmQoJy5jcC1waWNrZXInKS5jc3MoeyB0b3A6IHkgfSk7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gVXBkYXRlIFVJXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2xpZGVyLmNzcyh7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IGhzYjJoZXgoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGg6IGhzYi5oLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHM6IDEwMCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiOiBoc2IuYlxuICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZ3JpZC5maW5kKCcuY3AtZ3JpZC1pbm5lcicpLmNzcyh7IG9wYWNpdHk6IGhzYi5zIC8gMTAwIH0pO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgICAgIGNhc2UgJ2JyaWdodG5lc3MnOlxuICAgICAgICAgICAgICAgICAgICAvLyBTZXQgZ3JpZCBwb3NpdGlvblxuICAgICAgICAgICAgICAgICAgICB4ID0gY2xhbXAoKDUgKiBoc2IuaCkgLyAxMiwgMCwgMTUwKTtcbiAgICAgICAgICAgICAgICAgICAgeSA9IGNsYW1wKGdyaWRIZWlnaHQgLSBNYXRoLmNlaWwoaHNiLnMgLyAoMTAwIC8gZ3JpZEhlaWdodCkpLCAwLCBncmlkSGVpZ2h0KTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5ncmlkLmZpbmQoJy5jcC1waWNrZXInKS5jc3Moe1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiB5LFxuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogeFxuICAgICAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgICAgICAvLyBTZXQgc2xpZGVyIHBvc2l0aW9uXG4gICAgICAgICAgICAgICAgICAgIHkgPSBjbGFtcChzbGlkZXJIZWlnaHQgLSAoaHNiLmIgKiAoc2xpZGVySGVpZ2h0IC8gMTAwKSksIDAsIHNsaWRlckhlaWdodCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2xpZGVyLmZpbmQoJy5jcC1waWNrZXInKS5jc3MoeyB0b3A6IHkgfSk7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gVXBkYXRlIFVJXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2xpZGVyLmNzcyh7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IGhzYjJoZXgoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGg6IGhzYi5oLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHM6IGhzYi5zLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGI6IDEwMFxuICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZ3JpZC5maW5kKCcuY3AtZ3JpZC1pbm5lcicpLmNzcyh7IG9wYWNpdHk6IDEgLSAoaHNiLmIgLyAxMDApIH0pO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlICdodWUnOlxuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgIC8vIFNldCBncmlkIHBvc2l0aW9uXG4gICAgICAgICAgICAgICAgICAgIHggPSBjbGFtcChNYXRoLmNlaWwoaHNiLnMgLyAoMTAwIC8gZ3JpZFdpZHRoKSksIDAsIGdyaWRXaWR0aCk7XG4gICAgICAgICAgICAgICAgICAgIHkgPSBjbGFtcChncmlkSGVpZ2h0IC0gTWF0aC5jZWlsKGhzYi5iIC8gKDEwMCAvIGdyaWRIZWlnaHQpKSwgMCwgZ3JpZEhlaWdodCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZ3JpZC5maW5kKCcuY3AtcGlja2VyJykuY3NzKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogeSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IHhcbiAgICAgICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gU2V0IHNsaWRlciBwb3NpdGlvblxuICAgICAgICAgICAgICAgICAgICB5ID0gY2xhbXAoc2xpZGVySGVpZ2h0IC0gKGhzYi5oIC8gKDM2MCAvIHNsaWRlckhlaWdodCkpLCAwLCBzbGlkZXJIZWlnaHQpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNsaWRlci5maW5kKCcuY3AtcGlja2VyJykuY3NzKHsgdG9wOiB5IH0pO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIFVwZGF0ZSBwYW5lbCBjb2xvclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmdyaWQuY3NzKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogaHNiMmhleCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaDogaHNiLmgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgczogMTAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGI6IDEwMFxuICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFkb250RmlyZUV2ZW50KSB7IGVsZW1lbnQudmFsKHRoaXMuZ2V0VmFsdWUoaGV4KSk7IH1cblxuICAgICAgICAodGhpcy5lbGVtZW50IHx8IGVsZW1lbnQpLnRyaWdnZXIoJ2NoYW5nZS5fZ3Jhdl9jb2xvcnBpY2tlcicsIFtlbGVtZW50LCBoZXgsIG9wYWNpdHldKTtcblxuICAgIH1cblxuICAgIHVwZGF0ZUZyb21QaWNrZXIoaW5wdXQsIHRhcmdldCkge1xuICAgICAgICB2YXIgZ2V0Q29vcmRzID0gZnVuY3Rpb24ocGlja2VyLCBjb250YWluZXIpIHtcblxuICAgICAgICAgICAgdmFyIGxlZnQsIHRvcDtcbiAgICAgICAgICAgIGlmICghcGlja2VyLmxlbmd0aCB8fCAhY29udGFpbmVyKSByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIGxlZnQgPSBwaWNrZXJbMF0uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkubGVmdDtcbiAgICAgICAgICAgIHRvcCA9IHBpY2tlclswXS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3A7XG5cbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgeDogbGVmdCAtIGNvbnRhaW5lclswXS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5sZWZ0ICsgKHBpY2tlclswXS5vZmZzZXRXaWR0aCAvIDIpLFxuICAgICAgICAgICAgICAgIHk6IHRvcCAtIGNvbnRhaW5lclswXS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3AgKyAocGlja2VyWzBdLm9mZnNldEhlaWdodCAvIDIpXG4gICAgICAgICAgICB9O1xuXG4gICAgICAgIH07XG5cbiAgICAgICAgbGV0IGhleDtcbiAgICAgICAgbGV0IGh1ZTtcbiAgICAgICAgbGV0IHNhdHVyYXRpb247XG4gICAgICAgIGxldCBicmlnaHRuZXNzO1xuICAgICAgICBsZXQgeDtcbiAgICAgICAgbGV0IHk7XG4gICAgICAgIGxldCByO1xuICAgICAgICBsZXQgcGhpO1xuXG4gICAgICAgIC8vIFBhbmVsIG9iamVjdHNcbiAgICAgICAgbGV0IGdyaWQgPSB0aGlzLndyYXBwZXIuZmluZCgnLmNwLWdyaWQnKTtcbiAgICAgICAgbGV0IHNsaWRlciA9IHRoaXMud3JhcHBlci5maW5kKCcuY3Atc2xpZGVyJyk7XG4gICAgICAgIGxldCBvcGFjaXR5U2xpZGVyID0gdGhpcy53cmFwcGVyLmZpbmQoJy5jcC1vcGFjaXR5LXNsaWRlcicpO1xuXG4gICAgICAgIC8vIFBpY2tlciBvYmplY3RzXG4gICAgICAgIGxldCBncmlkUGlja2VyID0gZ3JpZC5maW5kKCcuY3AtcGlja2VyJyk7XG4gICAgICAgIGxldCBzbGlkZXJQaWNrZXIgPSBzbGlkZXIuZmluZCgnLmNwLXBpY2tlcicpO1xuICAgICAgICBsZXQgb3BhY2l0eVBpY2tlciA9IG9wYWNpdHlTbGlkZXIuZmluZCgnLmNwLXBpY2tlcicpO1xuXG4gICAgICAgIC8vIFBpY2tlciBwb3NpdGlvbnNcbiAgICAgICAgbGV0IGdyaWRQb3MgPSBnZXRDb29yZHMoZ3JpZFBpY2tlciwgZ3JpZCk7XG4gICAgICAgIGxldCBzbGlkZXJQb3MgPSBnZXRDb29yZHMoc2xpZGVyUGlja2VyLCBzbGlkZXIpO1xuICAgICAgICBsZXQgb3BhY2l0eVBvcyA9IGdldENvb3JkcyhvcGFjaXR5UGlja2VyLCBvcGFjaXR5U2xpZGVyKTtcblxuICAgICAgICAvLyBTaXplc1xuICAgICAgICBsZXQgZ3JpZFdpZHRoID0gZ3JpZFswXS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aDtcbiAgICAgICAgbGV0IGdyaWRIZWlnaHQgPSBncmlkWzBdLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodDtcbiAgICAgICAgbGV0IHNsaWRlckhlaWdodCA9IHNsaWRlclswXS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHQ7XG4gICAgICAgIGxldCBvcGFjaXR5U2xpZGVySGVpZ2h0ID0gb3BhY2l0eVNsaWRlclswXS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHQ7XG5cbiAgICAgICAgbGV0IHZhbHVlID0gdGhpcy5lbGVtZW50LnZhbCgpO1xuICAgICAgICB2YWx1ZSA9IHJnYnN0cjJoZXgodmFsdWUpIHx8IHZhbHVlO1xuICAgICAgICBpZiAoIShoZXggPSBwYXJzZUhleCh2YWx1ZSkpKSB7IGhleCA9ICcjZmZmZmZmJzsgfVxuXG4gICAgICAgIC8vIEhhbmRsZSBjb2xvcnNcbiAgICAgICAgaWYgKHRhcmdldC5oYXNDbGFzcygnY3AtZ3JpZCcpIHx8IHRhcmdldC5oYXNDbGFzcygnY3Atc2xpZGVyJykpIHtcblxuICAgICAgICAgICAgLy8gRGV0ZXJtaW5lIEhTQiB2YWx1ZXNcbiAgICAgICAgICAgIHN3aXRjaCAodGhpcy5tb2RlKSB7XG4gICAgICAgICAgICAgICAgY2FzZSAnd2hlZWwnOlxuICAgICAgICAgICAgICAgICAgICAvLyBDYWxjdWxhdGUgaHVlLCBzYXR1cmF0aW9uLCBhbmQgYnJpZ2h0bmVzc1xuICAgICAgICAgICAgICAgICAgICB4ID0gKGdyaWRXaWR0aCAvIDIpIC0gZ3JpZFBvcy54O1xuICAgICAgICAgICAgICAgICAgICB5ID0gKGdyaWRIZWlnaHQgLyAyKSAtIGdyaWRQb3MueTtcbiAgICAgICAgICAgICAgICAgICAgciA9IE1hdGguc3FydCh4ICogeCArIHkgKiB5KTtcbiAgICAgICAgICAgICAgICAgICAgcGhpID0gTWF0aC5hdGFuMih5LCB4KTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHBoaSA8IDApIHBoaSArPSBNYXRoLlBJICogMjtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHIgPiA3NSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgciA9IDc1O1xuICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZFBvcy54ID0gNjkgLSAoNzUgKiBNYXRoLmNvcyhwaGkpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGdyaWRQb3MueSA9IDY5IC0gKDc1ICogTWF0aC5zaW4ocGhpKSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgc2F0dXJhdGlvbiA9IGNsYW1wKHIgLyAwLjc1LCAwLCAxMDApO1xuICAgICAgICAgICAgICAgICAgICBodWUgPSBjbGFtcChwaGkgKiAxODAgLyBNYXRoLlBJLCAwLCAzNjApO1xuICAgICAgICAgICAgICAgICAgICBicmlnaHRuZXNzID0gY2xhbXAoMTAwIC0gTWF0aC5mbG9vcihzbGlkZXJQb3MueSAqICgxMDAgLyBzbGlkZXJIZWlnaHQpKSwgMCwgMTAwKTtcbiAgICAgICAgICAgICAgICAgICAgaGV4ID0gaHNiMmhleCh7XG4gICAgICAgICAgICAgICAgICAgICAgICBoOiBodWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBzOiBzYXR1cmF0aW9uLFxuICAgICAgICAgICAgICAgICAgICAgICAgYjogYnJpZ2h0bmVzc1xuICAgICAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgICAgICAvLyBVcGRhdGUgVUlcbiAgICAgICAgICAgICAgICAgICAgc2xpZGVyLmNzcyh7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IGhzYjJoZXgoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGg6IGh1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzOiBzYXR1cmF0aW9uLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGI6IDEwMFxuICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICAgICAgY2FzZSAnc2F0dXJhdGlvbic6XG4gICAgICAgICAgICAgICAgICAgIC8vIENhbGN1bGF0ZSBodWUsIHNhdHVyYXRpb24sIGFuZCBicmlnaHRuZXNzXG4gICAgICAgICAgICAgICAgICAgIGh1ZSA9IGNsYW1wKHBhcnNlSW50KGdyaWRQb3MueCAqICgzNjAgLyBncmlkV2lkdGgpLCAxMCksIDAsIDM2MCk7XG4gICAgICAgICAgICAgICAgICAgIHNhdHVyYXRpb24gPSBjbGFtcCgxMDAgLSBNYXRoLmZsb29yKHNsaWRlclBvcy55ICogKDEwMCAvIHNsaWRlckhlaWdodCkpLCAwLCAxMDApO1xuICAgICAgICAgICAgICAgICAgICBicmlnaHRuZXNzID0gY2xhbXAoMTAwIC0gTWF0aC5mbG9vcihncmlkUG9zLnkgKiAoMTAwIC8gZ3JpZEhlaWdodCkpLCAwLCAxMDApO1xuICAgICAgICAgICAgICAgICAgICBoZXggPSBoc2IyaGV4KHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGg6IGh1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHM6IHNhdHVyYXRpb24sXG4gICAgICAgICAgICAgICAgICAgICAgICBiOiBicmlnaHRuZXNzXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIFVwZGF0ZSBVSVxuICAgICAgICAgICAgICAgICAgICBzbGlkZXIuY3NzKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogaHNiMmhleCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaDogaHVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHM6IDEwMCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiOiBicmlnaHRuZXNzXG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC5maW5kKCcuY3AtZ3JpZC1pbm5lcicpLmNzcyh7IG9wYWNpdHk6IHNhdHVyYXRpb24gLyAxMDAgfSk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICAgICAgY2FzZSAnYnJpZ2h0bmVzcyc6XG4gICAgICAgICAgICAgICAgICAgIC8vIENhbGN1bGF0ZSBodWUsIHNhdHVyYXRpb24sIGFuZCBicmlnaHRuZXNzXG4gICAgICAgICAgICAgICAgICAgIGh1ZSA9IGNsYW1wKHBhcnNlSW50KGdyaWRQb3MueCAqICgzNjAgLyBncmlkV2lkdGgpLCAxMCksIDAsIDM2MCk7XG4gICAgICAgICAgICAgICAgICAgIHNhdHVyYXRpb24gPSBjbGFtcCgxMDAgLSBNYXRoLmZsb29yKGdyaWRQb3MueSAqICgxMDAgLyBncmlkSGVpZ2h0KSksIDAsIDEwMCk7XG4gICAgICAgICAgICAgICAgICAgIGJyaWdodG5lc3MgPSBjbGFtcCgxMDAgLSBNYXRoLmZsb29yKHNsaWRlclBvcy55ICogKDEwMCAvIHNsaWRlckhlaWdodCkpLCAwLCAxMDApO1xuICAgICAgICAgICAgICAgICAgICBoZXggPSBoc2IyaGV4KHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGg6IGh1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHM6IHNhdHVyYXRpb24sXG4gICAgICAgICAgICAgICAgICAgICAgICBiOiBicmlnaHRuZXNzXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIFVwZGF0ZSBVSVxuICAgICAgICAgICAgICAgICAgICBzbGlkZXIuY3NzKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogaHNiMmhleCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaDogaHVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHM6IHNhdHVyYXRpb24sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYjogMTAwXG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC5maW5kKCcuY3AtZ3JpZC1pbm5lcicpLmNzcyh7IG9wYWNpdHk6IDEgLSAoYnJpZ2h0bmVzcyAvIDEwMCkgfSk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgLy8gQ2FsY3VsYXRlIGh1ZSwgc2F0dXJhdGlvbiwgYW5kIGJyaWdodG5lc3NcbiAgICAgICAgICAgICAgICAgICAgaHVlID0gY2xhbXAoMzYwIC0gcGFyc2VJbnQoc2xpZGVyUG9zLnkgKiAoMzYwIC8gc2xpZGVySGVpZ2h0KSwgMTApLCAwLCAzNjApO1xuICAgICAgICAgICAgICAgICAgICBzYXR1cmF0aW9uID0gY2xhbXAoTWF0aC5mbG9vcihncmlkUG9zLnggKiAoMTAwIC8gZ3JpZFdpZHRoKSksIDAsIDEwMCk7XG4gICAgICAgICAgICAgICAgICAgIGJyaWdodG5lc3MgPSBjbGFtcCgxMDAgLSBNYXRoLmZsb29yKGdyaWRQb3MueSAqICgxMDAgLyBncmlkSGVpZ2h0KSksIDAsIDEwMCk7XG4gICAgICAgICAgICAgICAgICAgIGhleCA9IGhzYjJoZXgoe1xuICAgICAgICAgICAgICAgICAgICAgICAgaDogaHVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgczogc2F0dXJhdGlvbixcbiAgICAgICAgICAgICAgICAgICAgICAgIGI6IGJyaWdodG5lc3NcbiAgICAgICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gVXBkYXRlIFVJXG4gICAgICAgICAgICAgICAgICAgIGdyaWQuY3NzKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogaHNiMmhleCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaDogaHVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHM6IDEwMCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiOiAxMDBcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gSGFuZGxlIG9wYWNpdHlcbiAgICAgICAgaWYgKHRhcmdldC5oYXNDbGFzcygnY3Atb3BhY2l0eS1zbGlkZXInKSkge1xuICAgICAgICAgICAgdGhpcy5vcGFjaXR5ID0gcGFyc2VGbG9hdCgxIC0gKG9wYWNpdHlQb3MueSAvIG9wYWNpdHlTbGlkZXJIZWlnaHQpKS50b0ZpeGVkKDIpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQWRqdXN0IGNhc2VcbiAgICAgICAgaW5wdXQudmFsKHRoaXMuZ2V0VmFsdWUoaGV4KSk7XG5cbiAgICAgICAgLy8gSGFuZGxlIGNoYW5nZSBldmVudFxuICAgICAgICB0aGlzLmVsZW1lbnQudHJpZ2dlcignY2hhbmdlLl9ncmF2X2NvbG9ycGlja2VyJywgW3RoaXMuZWxlbWVudCwgaGV4LCB0aGlzLm9wYWNpdHldKTtcblxuICAgIH1cblxuICAgIGdldFZhbHVlKGhleCkge1xuICAgICAgICBpZiAodGhpcy5vcGFjaXR5ID09PSAxKSB7IHJldHVybiBoZXg7IH1cbiAgICAgICAgbGV0IHJnYiA9IGhleDJyZ2IoaGV4KTtcblxuICAgICAgICByZXR1cm4gJ3JnYmEoJyArIHJnYi5yICsgJywgJyArIHJnYi5nICsgJywgJyArIHJnYi5iICsgJywgJyArIHRoaXMub3BhY2l0eSArICcpJztcbiAgICB9XG5cbiAgICBib3VuZChuYW1lKSB7XG4gICAgICAgIGxldCBib3VuZCA9IHRoaXMuX2JvdW5kIHx8ICh0aGlzLl9ib3VuZCA9IHt9KTtcbiAgICAgICAgcmV0dXJuIGJvdW5kW25hbWVdIHx8IChib3VuZFtuYW1lXSA9IGJpbmQodGhpc1tuYW1lXSwgdGhpcykpO1xuICAgIH1cbn1cblxuZXhwb3J0IGxldCBJbnN0YW5jZSA9IG5ldyBDb2xvcnBpY2tlckZpZWxkKCdbZGF0YS1ncmF2LWNvbG9ycGlja2VyXScpO1xuIl0sIm5hbWVzIjpbIiQiLCJjbGFtcCIsImJpbmQiLCJyZ2JzdHIyaGV4IiwiaHNiMmhleCIsImhleDJoc2IiLCJoZXgycmdiIiwicGFyc2VIZXgiLCJpc0ZpcmVmb3giLCJuYXZpZ2F0b3IiLCJ1c2VyQWdlbnQiLCJ0b0xvd2VyQ2FzZSIsImluZGV4T2YiLCJib2R5IiwiTU9VU0VET1dOIiwiTU9VU0VNT1ZFIiwiTU9VU0VVUCIsIkZPQ1VTSU4iLCJDb2xvcnBpY2tlckZpZWxkIiwic2VsZWN0b3IiLCJmaWVsZCIsIm9wdGlvbnMiLCJPYmplY3QiLCJhc3NpZ24iLCJkYXRhIiwiYnVpbHQiLCJhdHRhY2giLCJ1cGRhdGUiLCJvbiIsImV2ZW50IiwiaGV4Iiwib3BhY2l0eSIsImJhY2tncm91bmRDb2xvciIsInJnYiIsInIiLCJnIiwiYiIsInRhcmdldCIsImNsb3Nlc3QiLCJsZW5ndGgiLCJzaWJsaW5ncyIsInBhcmVudCIsImZpbmQiLCJjc3MiLCJzaG93IiwiY3VycmVudFRhcmdldCIsImJvdW5kIiwia2V5Q29kZSIsImhpZGUiLCJibHVyIiwidXBkYXRlRnJvbUlucHV0Iiwic2V0VGltZW91dCIsImJ1aWxkIiwiZWxlbWVudCIsInJlcG9zaXRpb24iLCJ3cmFwcGVyIiwiYWRkQ2xhc3MiLCJyZW1vdmVDbGFzcyIsInVuZGVsZWdhdGUiLCJvZmYiLCJzbGlkZXIiLCJhcHBlbmRUbyIsImFwcGVuZCIsIm9wYWNpdHlTbGlkZXIiLCJncmlkIiwidGFicyIsImh1ZSIsInRleHQiLCJicmlnaHRuZXNzIiwic2F0dXJhdGlvbiIsIndoZWVsIiwidHJhbnNwYXJlbnQiLCJpcyIsInNsaWRlckhlaWdodCIsImhlaWdodCIsIm1vdmUiLCJtYW51YWxPcGFjaXR5IiwiYWN0aXZlIiwibW9kZSIsImF0dHIiLCJyZXBsYWNlIiwibmV3TW9kZSIsImN0Iiwib2Zmc2V0IiwiZ2V0Qm91bmRpbmdDbGllbnRSZWN0IiwiY3RPZmZzZXQiLCJkZWx0YSIsIngiLCJ5IiwidG9wIiwic2Nyb2xsVG9wIiwibGVmdCIsInNjcm9sbExlZnQiLCJoYXNDbGFzcyIsInByZXZlbnREZWZhdWx0IiwiaW5wdXQiLCJmb2N1cyIsInBpY2tlciIsImNsaWVudFJlY3QiLCJvZmZzZXRYIiwid2luZG93Iiwic2Nyb2xsWCIsIm9mZnNldFkiLCJzY3JvbGxZIiwiTWF0aCIsInJvdW5kIiwicGFnZVgiLCJwYWdlWSIsInd4Iiwid3kiLCJwaGkiLCJ0b3VjaEV2ZW50cyIsImNoYW5nZWRUb3VjaGVzIiwib3JpZ2luYWxFdmVudCIsIndpZHRoIiwic3FydCIsImF0YW4yIiwiUEkiLCJjb3MiLCJzaW4iLCJ1cGRhdGVGcm9tUGlja2VyIiwiZG9udEZpcmVFdmVudCIsInZhbHVlIiwidmFsIiwibWF0Y2giLCJoc2IiLCJncmlkSGVpZ2h0IiwiZ3JpZFdpZHRoIiwiY2VpbCIsInMiLCJoIiwiZ2V0VmFsdWUiLCJ0cmlnZ2VyIiwiZ2V0Q29vcmRzIiwiY29udGFpbmVyIiwib2Zmc2V0V2lkdGgiLCJvZmZzZXRIZWlnaHQiLCJncmlkUGlja2VyIiwic2xpZGVyUGlja2VyIiwib3BhY2l0eVBpY2tlciIsImdyaWRQb3MiLCJzbGlkZXJQb3MiLCJvcGFjaXR5UG9zIiwib3BhY2l0eVNsaWRlckhlaWdodCIsImZsb29yIiwicGFyc2VJbnQiLCJwYXJzZUZsb2F0IiwidG9GaXhlZCIsIm5hbWUiLCJfYm91bmQiLCJJbnN0YW5jZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./app/forms/fields/colorpicker.js\n"); /***/ }), /***/ "./app/forms/fields/cron.js": /*!**********************************!*\ !*** ./app/forms/fields/cron.js ***! \**********************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ CronField),\n/* harmony export */ \"Instance\": () => (/* binding */ Instance)\n/* harmony export */ });\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ \"jquery\");\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _utils_cron_ui__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/cron-ui */ \"./app/utils/cron-ui.js\");\n/* harmony import */ var grav_config__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! grav-config */ \"grav-config\");\n/* harmony import */ var grav_config__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(grav_config__WEBPACK_IMPORTED_MODULE_2__);\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\n\n\n\n\nvar CronField = /*#__PURE__*/function () {\n function CronField() {\n var _this = this;\n\n _classCallCheck(this, CronField);\n\n this.items = jquery__WEBPACK_IMPORTED_MODULE_0___default()();\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('[data-grav-field=\"cron\"]').each(function (index, cron) {\n return _this.addCron(cron);\n });\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('body').on('mutation._grav', this._onAddedNodes.bind(this));\n }\n\n _createClass(CronField, [{\n key: \"addCron\",\n value: function addCron(cron) {\n cron = jquery__WEBPACK_IMPORTED_MODULE_0___default()(cron);\n this.items = this.items.add(cron);\n cron.find('.cron-selector').each(function (index, container) {\n container = jquery__WEBPACK_IMPORTED_MODULE_0___default()(container);\n var input = container.closest('[data-grav-field]').find('input');\n container.jqCron({\n numeric_zero_pad: true,\n enabled_minute: true,\n multiple_dom: true,\n multiple_month: true,\n multiple_mins: true,\n multiple_dow: true,\n multiple_time_hours: true,\n multiple_time_minutes: true,\n default_period: 'hour',\n default_value: input.val() || '* * * * *',\n no_reset_button: false,\n bind_to: input,\n bind_method: {\n set: function set($element, value) {\n $element.val(value);\n }\n },\n texts: {\n en: {\n empty: grav_config__WEBPACK_IMPORTED_MODULE_2__.translations.GRAV_CORE[\"CRON.EVERY\"],\n empty_minutes: grav_config__WEBPACK_IMPORTED_MODULE_2__.translations.GRAV_CORE[\"CRON.EVERY\"],\n empty_time_hours: grav_config__WEBPACK_IMPORTED_MODULE_2__.translations.GRAV_CORE[\"CRON.EVERY_HOUR\"],\n empty_time_minutes: grav_config__WEBPACK_IMPORTED_MODULE_2__.translations.GRAV_CORE[\"CRON.EVERY_MINUTE\"],\n empty_day_of_week: grav_config__WEBPACK_IMPORTED_MODULE_2__.translations.GRAV_CORE[\"CRON.EVERY_DAY_OF_WEEK\"],\n empty_day_of_month: grav_config__WEBPACK_IMPORTED_MODULE_2__.translations.GRAV_CORE[\"CRON.EVERY_DAY_OF_MONTH\"],\n empty_month: grav_config__WEBPACK_IMPORTED_MODULE_2__.translations.GRAV_CORE[\"CRON.EVERY_MONTH\"],\n name_minute: grav_config__WEBPACK_IMPORTED_MODULE_2__.translations.GRAV_CORE[\"NICETIME.MINUTE\"],\n name_hour: grav_config__WEBPACK_IMPORTED_MODULE_2__.translations.GRAV_CORE[\"NICETIME.HOUR\"],\n name_day: grav_config__WEBPACK_IMPORTED_MODULE_2__.translations.GRAV_CORE[\"NICETIME.DAY\"],\n name_week: grav_config__WEBPACK_IMPORTED_MODULE_2__.translations.GRAV_CORE[\"NICETIME.WEEK\"],\n name_month: grav_config__WEBPACK_IMPORTED_MODULE_2__.translations.GRAV_CORE[\"NICETIME.MONTH\"],\n name_year: grav_config__WEBPACK_IMPORTED_MODULE_2__.translations.GRAV_CORE[\"NICETIME.YEAR\"],\n text_period: grav_config__WEBPACK_IMPORTED_MODULE_2__.translations.GRAV_CORE[\"CRON.TEXT_PERIOD\"],\n text_mins: grav_config__WEBPACK_IMPORTED_MODULE_2__.translations.GRAV_CORE[\"CRON.TEXT_MINS\"],\n text_time: grav_config__WEBPACK_IMPORTED_MODULE_2__.translations.GRAV_CORE[\"CRON.TEXT_TIME\"],\n text_dow: grav_config__WEBPACK_IMPORTED_MODULE_2__.translations.GRAV_CORE[\"CRON.TEXT_DOW\"],\n text_month: grav_config__WEBPACK_IMPORTED_MODULE_2__.translations.GRAV_CORE[\"CRON.TEXT_MONTH\"],\n text_dom: grav_config__WEBPACK_IMPORTED_MODULE_2__.translations.GRAV_CORE[\"CRON.TEXT_DOM\"],\n error1: grav_config__WEBPACK_IMPORTED_MODULE_2__.translations.GRAV_CORE[\"CRON.ERROR1\"],\n error2: grav_config__WEBPACK_IMPORTED_MODULE_2__.translations.GRAV_CORE[\"CRON.ERROR2\"],\n error3: grav_config__WEBPACK_IMPORTED_MODULE_2__.translations.GRAV_CORE[\"CRON.ERROR3\"],\n error4: grav_config__WEBPACK_IMPORTED_MODULE_2__.translations.GRAV_CORE[\"CRON.ERROR4\"],\n weekdays: grav_config__WEBPACK_IMPORTED_MODULE_2__.translations.GRAV_CORE.DAYS_OF_THE_WEEK,\n months: grav_config__WEBPACK_IMPORTED_MODULE_2__.translations.GRAV_CORE.MONTHS_OF_THE_YEAR\n }\n }\n });\n });\n }\n }, {\n key: \"_onAddedNodes\",\n value: function _onAddedNodes(event, target\n /* , record, instance */\n ) {\n var _this2 = this;\n\n var crons = jquery__WEBPACK_IMPORTED_MODULE_0___default()(target).find('[data-grav-field=\"cron\"]');\n\n if (!crons.length) {\n return;\n }\n\n crons.each(function (index, list) {\n list = jquery__WEBPACK_IMPORTED_MODULE_0___default()(list);\n\n if (!~_this2.items.index(list)) {\n _this2.addCron(list);\n }\n });\n }\n }]);\n\n return CronField;\n}();\n\n\nvar Instance = new CronField();//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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QUVuRCxpRkFoQlg7QUFpQkFvRCxjQUFBQSxRQUFRLEVBQUVwRCxnRkFqQlY7QUFrQkFxRCxjQUFBQSxVQUFVLEVBQUVyRCxrRkFsQlo7QUFtQkFzRCxjQUFBQSxRQUFRLEVBQUV0RCxnRkFuQlY7QUFvQkF1RCxjQUFBQSxNQUFNLEVBQUV2RCw4RUFwQlI7QUFxQkF3RCxjQUFBQSxNQUFNLEVBQUV4RCw4RUFyQlI7QUFzQkF5RCxjQUFBQSxNQUFNLEVBQUV6RCw4RUF0QlI7QUF1QkEwRCxjQUFBQSxNQUFNLEVBQUUxRCw4RUF2QlI7QUF3QkEyRCxjQUFBQSxRQUFRLEVBQUUzRCxnRkF4QlY7QUF5QkE0RCxjQUFBQSxNQUFNLEVBQUU1RCxrRkFBQTtBQXpCUjtBQUREO0FBbEJNLFNBQWpCO0FBZ0RILE9BcEREO0FBcURIOzs7V0FFRCx1QkFBYzZELEtBQWQsRUFBcUJDO0FBQU07QUFBM0IsTUFBcUQ7QUFBQTs7QUFDakQsVUFBSUMsS0FBSyxHQUFHaEUsNkNBQUMsQ0FBQytELE1BQUQsQ0FBRCxDQUFVbkQsSUFBVixDQUFlLDBCQUFmLENBQVo7O0FBQ0EsVUFBSSxDQUFDb0QsS0FBSyxDQUFDQyxNQUFYLEVBQW1CO0FBQUU7QUFBUzs7QUFFOUJELE1BQUFBLEtBQUssQ0FBQzVELElBQU4sQ0FBVyxVQUFDQyxLQUFELEVBQVE2RCxJQUFSLEVBQWlCO0FBQ3hCQSxRQUFBQSxJQUFJLEdBQUdsRSw2Q0FBQyxDQUFDa0UsSUFBRCxDQUFSOztBQUNBLFlBQUksQ0FBQyxDQUFDLE1BQUksQ0FBQy9ELEtBQUwsQ0FBV0UsS0FBWCxDQUFpQjZELElBQWpCLENBQU4sRUFBOEI7QUFDMUIsZ0JBQUksQ0FBQzNELE9BQUwsQ0FBYTJELElBQWI7QUFDSDtBQUNKLE9BTEQ7QUFNSDs7Ozs7OztBQUdFLElBQUlDLFFBQVEsR0FBRyxJQUFJakUsU0FBSixFQUFmIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vR3Jhdi8uL2FwcC9mb3Jtcy9maWVsZHMvY3Jvbi5qcz9jNDc4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAkIGZyb20gJ2pxdWVyeSc7XG5pbXBvcnQgJy4uLy4uL3V0aWxzL2Nyb24tdWknO1xuaW1wb3J0IHsgdHJhbnNsYXRpb25zIH0gZnJvbSAnZ3Jhdi1jb25maWcnO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBDcm9uRmllbGQge1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLml0ZW1zID0gJCgpO1xuXG4gICAgICAgICQoJ1tkYXRhLWdyYXYtZmllbGQ9XCJjcm9uXCJdJykuZWFjaCgoaW5kZXgsIGNyb24pID0+IHRoaXMuYWRkQ3Jvbihjcm9uKSk7XG4gICAgICAgICQoJ2JvZHknKS5vbignbXV0YXRpb24uX2dyYXYnLCB0aGlzLl9vbkFkZGVkTm9kZXMuYmluZCh0aGlzKSk7XG4gICAgfVxuXG4gICAgYWRkQ3Jvbihjcm9uKSB7XG4gICAgICAgIGNyb24gPSAkKGNyb24pO1xuICAgICAgICB0aGlzLml0ZW1zID0gdGhpcy5pdGVtcy5hZGQoY3Jvbik7XG5cbiAgICAgICAgY3Jvbi5maW5kKCcuY3Jvbi1zZWxlY3RvcicpLmVhY2goKGluZGV4LCBjb250YWluZXIpID0+IHtcbiAgICAgICAgICAgIGNvbnRhaW5lciA9ICQoY29udGFpbmVyKTtcbiAgICAgICAgICAgIGNvbnN0IGlucHV0ID0gY29udGFpbmVyLmNsb3Nlc3QoJ1tkYXRhLWdyYXYtZmllbGRdJykuZmluZCgnaW5wdXQnKTtcblxuICAgICAgICAgICAgY29udGFpbmVyLmpxQ3Jvbih7XG4gICAgICAgICAgICAgICAgbnVtZXJpY196ZXJvX3BhZDogdHJ1ZSxcbiAgICAgICAgICAgICAgICBlbmFibGVkX21pbnV0ZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBtdWx0aXBsZV9kb206IHRydWUsXG4gICAgICAgICAgICAgICAgbXVsdGlwbGVfbW9udGg6IHRydWUsXG4gICAgICAgICAgICAgICAgbXVsdGlwbGVfbWluczogdHJ1ZSxcbiAgICAgICAgICAgICAgICBtdWx0aXBsZV9kb3c6IHRydWUsXG4gICAgICAgICAgICAgICAgbXVsdGlwbGVfdGltZV9ob3VyczogdHJ1ZSxcbiAgICAgICAgICAgICAgICBtdWx0aXBsZV90aW1lX21pbnV0ZXM6IHRydWUsXG4gICAgICAgICAgICAgICAgZGVmYXVsdF9wZXJpb2Q6ICdob3VyJyxcbiAgICAgICAgICAgICAgICBkZWZhdWx0X3ZhbHVlOiBpbnB1dC52YWwoKSB8fCAnKiAqICogKiAqJyxcbiAgICAgICAgICAgICAgICBub19yZXNldF9idXR0b246IGZhbHNlLFxuICAgICAgICAgICAgICAgIGJpbmRfdG86IGlucHV0LFxuICAgICAgICAgICAgICAgIGJpbmRfbWV0aG9kOiB7XG4gICAgICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24oJGVsZW1lbnQsIHZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAkZWxlbWVudC52YWwodmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB0ZXh0czoge1xuICAgICAgICAgICAgICAgICAgICBlbjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgZW1wdHk6IHRyYW5zbGF0aW9ucy5HUkFWX0NPUkVbJ0NST04uRVZFUlknXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGVtcHR5X21pbnV0ZXM6IHRyYW5zbGF0aW9ucy5HUkFWX0NPUkVbJ0NST04uRVZFUlknXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGVtcHR5X3RpbWVfaG91cnM6IHRyYW5zbGF0aW9ucy5HUkFWX0NPUkVbJ0NST04uRVZFUllfSE9VUiddLFxuICAgICAgICAgICAgICAgICAgICAgICAgZW1wdHlfdGltZV9taW51dGVzOiB0cmFuc2xhdGlvbnMuR1JBVl9DT1JFWydDUk9OLkVWRVJZX01JTlVURSddLFxuICAgICAgICAgICAgICAgICAgICAgICAgZW1wdHlfZGF5X29mX3dlZWs6IHRyYW5zbGF0aW9ucy5HUkFWX0NPUkVbJ0NST04uRVZFUllfREFZX09GX1dFRUsnXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGVtcHR5X2RheV9vZl9tb250aDogdHJhbnNsYXRpb25zLkdSQVZfQ09SRVsnQ1JPTi5FVkVSWV9EQVlfT0ZfTU9OVEgnXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGVtcHR5X21vbnRoOiB0cmFuc2xhdGlvbnMuR1JBVl9DT1JFWydDUk9OLkVWRVJZX01PTlRIJ10sXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lX21pbnV0ZTogdHJhbnNsYXRpb25zLkdSQVZfQ09SRVsnTklDRVRJTUUuTUlOVVRFJ10sXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lX2hvdXI6IHRyYW5zbGF0aW9ucy5HUkFWX0NPUkVbJ05JQ0VUSU1FLkhPVVInXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWVfZGF5OiB0cmFuc2xhdGlvbnMuR1JBVl9DT1JFWydOSUNFVElNRS5EQVknXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWVfd2VlazogdHJhbnNsYXRpb25zLkdSQVZfQ09SRVsnTklDRVRJTUUuV0VFSyddLFxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZV9tb250aDogdHJhbnNsYXRpb25zLkdSQVZfQ09SRVsnTklDRVRJTUUuTU9OVEgnXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWVfeWVhcjogdHJhbnNsYXRpb25zLkdSQVZfQ09SRVsnTklDRVRJTUUuWUVBUiddLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dF9wZXJpb2Q6IHRyYW5zbGF0aW9ucy5HUkFWX0NPUkVbJ0NST04uVEVYVF9QRVJJT0QnXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHRfbWluczogdHJhbnNsYXRpb25zLkdSQVZfQ09SRVsnQ1JPTi5URVhUX01JTlMnXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHRfdGltZTogdHJhbnNsYXRpb25zLkdSQVZfQ09SRVsnQ1JPTi5URVhUX1RJTUUnXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHRfZG93OiB0cmFuc2xhdGlvbnMuR1JBVl9DT1JFWydDUk9OLlRFWFRfRE9XJ10sXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0X21vbnRoOiB0cmFuc2xhdGlvbnMuR1JBVl9DT1JFWydDUk9OLlRFWFRfTU9OVEgnXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHRfZG9tOiB0cmFuc2xhdGlvbnMuR1JBVl9DT1JFWydDUk9OLlRFWFRfRE9NJ10sXG4gICAgICAgICAgICAgICAgICAgICAgICBlcnJvcjE6IHRyYW5zbGF0aW9ucy5HUkFWX0NPUkVbJ0NST04uRVJST1IxJ10sXG4gICAgICAgICAgICAgICAgICAgICAgICBlcnJvcjI6IHRyYW5zbGF0aW9ucy5HUkFWX0NPUkVbJ0NST04uRVJST1IyJ10sXG4gICAgICAgICAgICAgICAgICAgICAgICBlcnJvcjM6IHRyYW5zbGF0aW9ucy5HUkFWX0NPUkVbJ0NST04uRVJST1IzJ10sXG4gICAgICAgICAgICAgICAgICAgICAgICBlcnJvcjQ6IHRyYW5zbGF0aW9ucy5HUkFWX0NPUkVbJ0NST04uRVJST1I0J10sXG4gICAgICAgICAgICAgICAgICAgICAgICB3ZWVrZGF5czogdHJhbnNsYXRpb25zLkdSQVZfQ09SRVsnREFZU19PRl9USEVfV0VFSyddLFxuICAgICAgICAgICAgICAgICAgICAgICAgbW9udGhzOiB0cmFuc2xhdGlvbnMuR1JBVl9DT1JFWydNT05USFNfT0ZfVEhFX1lFQVInXVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIF9vbkFkZGVkTm9kZXMoZXZlbnQsIHRhcmdldC8qICwgcmVjb3JkLCBpbnN0YW5jZSAqLykge1xuICAgICAgICBsZXQgY3JvbnMgPSAkKHRhcmdldCkuZmluZCgnW2RhdGEtZ3Jhdi1maWVsZD1cImNyb25cIl0nKTtcbiAgICAgICAgaWYgKCFjcm9ucy5sZW5ndGgpIHsgcmV0dXJuOyB9XG5cbiAgICAgICAgY3JvbnMuZWFjaCgoaW5kZXgsIGxpc3QpID0+IHtcbiAgICAgICAgICAgIGxpc3QgPSAkKGxpc3QpO1xuICAgICAgICAgICAgaWYgKCF+dGhpcy5pdGVtcy5pbmRleChsaXN0KSkge1xuICAgICAgICAgICAgICAgIHRoaXMuYWRkQ3JvbihsaXN0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxufVxuXG5leHBvcnQgbGV0IEluc3RhbmNlID0gbmV3IENyb25GaWVsZCgpO1xuIl0sIm5hbWVzIjpbIiQiLCJ0cmFuc2xhdGlvbnMiLCJDcm9uRmllbGQiLCJpdGVtcyIsImVhY2giLCJpbmRleCIsImNyb24iLCJhZGRDcm9uIiwib24iLCJfb25BZGRlZE5vZGVzIiwiYmluZCIsImFkZCIsImZpbmQiLCJjb250YWluZXIiLCJpbnB1dCIsImNsb3Nlc3QiLCJqcUNyb24iLCJudW1lcmljX3plcm9fcGFkIiwiZW5hYmxlZF9taW51dGUiLCJtdWx0aXBsZV9kb20iLCJtdWx0aXBsZV9tb250aCIsIm11bHRpcGxlX21pbnMiLCJtdWx0aXBsZV9kb3ciLCJtdWx0aXBsZV90aW1lX2hvdXJzIiwibXVsdGlwbGVfdGltZV9taW51dGVzIiwiZGVmYXVsdF9wZXJpb2QiLCJkZWZhdWx0X3ZhbHVlIiwidmFsIiwibm9fcmVzZXRfYnV0dG9uIiwiYmluZF90byIsImJpbmRfbWV0aG9kIiwic2V0IiwiJGVsZW1lbnQiLCJ2YWx1ZSIsInRleHRzIiwiZW4iLCJlbXB0eSIsIkdSQVZfQ09SRSIsImVtcHR5X21pbnV0ZXMiLCJlbXB0eV90aW1lX2hvdXJzIiwiZW1wdHlfdGltZV9taW51dGVzIiwiZW1wdHlfZGF5X29mX3dlZWsiLCJlbXB0eV9kYXlfb2ZfbW9udGgiLCJlbXB0eV9tb250aCIsIm5hbWVfbWludXRlIiwibmFtZV9ob3VyIiwibmFtZV9kYXkiLCJuYW1lX3dlZWsiLCJuYW1lX21vbnRoIiwibmFtZV95ZWFyIiwidGV4dF9wZXJpb2QiLCJ0ZXh0X21pbnMiLCJ0ZXh0X3RpbWUiLCJ0ZXh0X2RvdyIsInRleHRfbW9udGgiLCJ0ZXh0X2RvbSIsImVycm9yMSIsImVycm9yMiIsImVycm9yMyIsImVycm9yNCIsIndlZWtkYXlzIiwibW9udGhzIiwiZXZlbnQiLCJ0YXJnZXQiLCJjcm9ucyIsImxlbmd0aCIsImxpc3QiLCJJbnN0YW5jZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./app/forms/fields/cron.js\n"); /***/ }), /***/ "./app/forms/fields/datetime.js": /*!**************************************!*\ !*** ./app/forms/fields/datetime.js ***! \**************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ DateTimeField),\n/* harmony export */ \"Instance\": () => (/* binding */ Instance)\n/* harmony export */ });\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ \"jquery\");\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var grav_config__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! grav-config */ \"grav-config\");\n/* harmony import */ var grav_config__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(grav_config__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _utils_bootstrap_datetimepicker__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/bootstrap-datetimepicker */ \"./app/utils/bootstrap-datetimepicker.js\");\n/* harmony import */ var _utils_bootstrap_datetimepicker__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_utils_bootstrap_datetimepicker__WEBPACK_IMPORTED_MODULE_2__);\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\n\n\n\n\nvar DateTimeField = /*#__PURE__*/function () {\n function DateTimeField(options) {\n var _this = this;\n\n _classCallCheck(this, DateTimeField);\n\n this.items = jquery__WEBPACK_IMPORTED_MODULE_0___default()();\n this.options = Object.assign({}, this.defaults, options);\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('[data-grav-datetime]').each(function (index, field) {\n return _this.addItem(field);\n });\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('body').on('mutation._grav', this._onAddedNodes.bind(this));\n }\n\n _createClass(DateTimeField, [{\n key: \"defaults\",\n get: function get() {\n return {\n showTodayButton: true,\n showClear: true,\n locale: grav_config__WEBPACK_IMPORTED_MODULE_1__.config.language || 'en',\n icons: {\n time: 'fa fa-clock-o',\n date: 'fa fa-calendar-o',\n up: 'fa fa-chevron-up',\n down: 'fa fa-chevron-down',\n previous: 'fa fa-chevron-left',\n next: 'fa fa-chevron-right',\n today: 'fa fa-bullseye',\n clear: 'fa fa-trash-o',\n close: 'fa fa-remove'\n }\n };\n }\n }, {\n key: \"addItem\",\n value: function addItem(list) {\n list = jquery__WEBPACK_IMPORTED_MODULE_0___default()(list);\n this.items = this.items.add(list);\n\n if (list.data('DateTimePicker')) {\n return;\n }\n\n var options = Object.assign({}, this.options, list.data('grav-datetime') || {});\n list.datetimepicker(options).on('dp.show dp.update', this._disableDecades);\n list.siblings('.field-icons').on('click', function () {\n return list.mousedown().focus();\n });\n }\n }, {\n key: \"_onAddedNodes\",\n value: function _onAddedNodes(event, target\n /* , record, instance */\n ) {\n var _this2 = this;\n\n var fields = jquery__WEBPACK_IMPORTED_MODULE_0___default()(target).find('[data-grav-datetime]');\n\n if (!fields.length) {\n return;\n }\n\n fields.each(function (index, field) {\n field = jquery__WEBPACK_IMPORTED_MODULE_0___default()(field);\n\n if (!~_this2.items.index(field)) {\n _this2.addItem(field);\n }\n });\n }\n }, {\n key: \"_disableDecades\",\n value: function _disableDecades() {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('.datepicker-years .picker-switch').removeAttr('title').on('click', function (e) {\n return e.stopPropagation();\n });\n }\n }]);\n\n return DateTimeField;\n}();\n\n\nvar Instance = new DateTimeField();//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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Z0JBQUksQ0FBQ0MsT0FBTCxDQUFhRCxLQUFiO0FBQ0g7QUFDSixPQUxEO0FBTUg7OztXQUVELDJCQUFrQjtBQUNkVixNQUFBQSw2Q0FBQyxDQUFDLGtDQUFELENBQUQsQ0FBc0MwQyxVQUF0QyxDQUFpRCxPQUFqRCxFQUEwRDlCLEVBQTFELENBQTZELE9BQTdELEVBQXNFLFVBQUMrQixDQUFEO0FBQUEsZUFBT0EsQ0FBQyxDQUFDQyxlQUFGLEVBQVA7QUFBQSxPQUF0RTtBQUNIOzs7Ozs7O0FBR0UsSUFBSUMsUUFBUSxHQUFHLElBQUkzQyxhQUFKLEVBQWYiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9HcmF2Ly4vYXBwL2Zvcm1zL2ZpZWxkcy9kYXRldGltZS5qcz9kMWMyIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAkIGZyb20gJ2pxdWVyeSc7XG5pbXBvcnQgeyBjb25maWcgfSBmcm9tICdncmF2LWNvbmZpZyc7XG5pbXBvcnQgJy4uLy4uL3V0aWxzL2Jvb3RzdHJhcC1kYXRldGltZXBpY2tlcic7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIERhdGVUaW1lRmllbGQge1xuXG4gICAgZ2V0IGRlZmF1bHRzKCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgc2hvd1RvZGF5QnV0dG9uOiB0cnVlLFxuICAgICAgICAgICAgc2hvd0NsZWFyOiB0cnVlLFxuICAgICAgICAgICAgbG9jYWxlOiBjb25maWcubGFuZ3VhZ2UgfHwgJ2VuJyxcbiAgICAgICAgICAgIGljb25zOiB7XG4gICAgICAgICAgICAgICAgdGltZTogJ2ZhIGZhLWNsb2NrLW8nLFxuICAgICAgICAgICAgICAgIGRhdGU6ICdmYSBmYS1jYWxlbmRhci1vJyxcbiAgICAgICAgICAgICAgICB1cDogJ2ZhIGZhLWNoZXZyb24tdXAnLFxuICAgICAgICAgICAgICAgIGRvd246ICdmYSBmYS1jaGV2cm9uLWRvd24nLFxuICAgICAgICAgICAgICAgIHByZXZpb3VzOiAnZmEgZmEtY2hldnJvbi1sZWZ0JyxcbiAgICAgICAgICAgICAgICBuZXh0OiAnZmEgZmEtY2hldnJvbi1yaWdodCcsXG4gICAgICAgICAgICAgICAgdG9kYXk6ICdmYSBmYS1idWxsc2V5ZScsXG4gICAgICAgICAgICAgICAgY2xlYXI6ICdmYSBmYS10cmFzaC1vJyxcbiAgICAgICAgICAgICAgICBjbG9zZTogJ2ZhIGZhLXJlbW92ZSdcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihvcHRpb25zKSB7XG4gICAgICAgIHRoaXMuaXRlbXMgPSAkKCk7XG4gICAgICAgIHRoaXMub3B0aW9ucyA9IE9iamVjdC5hc3NpZ24oe30sIHRoaXMuZGVmYXVsdHMsIG9wdGlvbnMpO1xuXG4gICAgICAgICQoJ1tkYXRhLWdyYXYtZGF0ZXRpbWVdJykuZWFjaCgoaW5kZXgsIGZpZWxkKSA9PiB0aGlzLmFkZEl0ZW0oZmllbGQpKTtcbiAgICAgICAgJCgnYm9keScpLm9uKCdtdXRhdGlvbi5fZ3JhdicsIHRoaXMuX29uQWRkZWROb2Rlcy5iaW5kKHRoaXMpKTtcblxuICAgIH1cblxuICAgIGFkZEl0ZW0obGlzdCkge1xuICAgICAgICBsaXN0ID0gJChsaXN0KTtcbiAgICAgICAgdGhpcy5pdGVtcyA9IHRoaXMuaXRlbXMuYWRkKGxpc3QpO1xuXG4gICAgICAgIGlmIChsaXN0LmRhdGEoJ0RhdGVUaW1lUGlja2VyJykpIHsgcmV0dXJuOyB9XG5cbiAgICAgICAgbGV0IG9wdGlvbnMgPSBPYmplY3QuYXNzaWduKHt9LCB0aGlzLm9wdGlvbnMsIGxpc3QuZGF0YSgnZ3Jhdi1kYXRldGltZScpIHx8IHt9KTtcbiAgICAgICAgbGlzdC5kYXRldGltZXBpY2tlcihvcHRpb25zKS5vbignZHAuc2hvdyBkcC51cGRhdGUnLCB0aGlzLl9kaXNhYmxlRGVjYWRlcyk7XG4gICAgICAgIGxpc3Quc2libGluZ3MoJy5maWVsZC1pY29ucycpLm9uKCdjbGljaycsICgpID0+IGxpc3QubW91c2Vkb3duKCkuZm9jdXMoKSk7XG4gICAgfVxuXG4gICAgX29uQWRkZWROb2RlcyhldmVudCwgdGFyZ2V0LyogLCByZWNvcmQsIGluc3RhbmNlICovKSB7XG4gICAgICAgIGxldCBmaWVsZHMgPSAkKHRhcmdldCkuZmluZCgnW2RhdGEtZ3Jhdi1kYXRldGltZV0nKTtcbiAgICAgICAgaWYgKCFmaWVsZHMubGVuZ3RoKSB7IHJldHVybjsgfVxuXG4gICAgICAgIGZpZWxkcy5lYWNoKChpbmRleCwgZmllbGQpID0+IHtcbiAgICAgICAgICAgIGZpZWxkID0gJChmaWVsZCk7XG4gICAgICAgICAgICBpZiAoIX50aGlzLml0ZW1zLmluZGV4KGZpZWxkKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuYWRkSXRlbShmaWVsZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIF9kaXNhYmxlRGVjYWRlcygpIHtcbiAgICAgICAgJCgnLmRhdGVwaWNrZXIteWVhcnMgLnBpY2tlci1zd2l0Y2gnKS5yZW1vdmVBdHRyKCd0aXRsZScpLm9uKCdjbGljaycsIChlKSA9PiBlLnN0b3BQcm9wYWdhdGlvbigpKTtcbiAgICB9XG59XG5cbmV4cG9ydCBsZXQgSW5zdGFuY2UgPSBuZXcgRGF0ZVRpbWVGaWVsZCgpO1xuIl0sIm5hbWVzIjpbIiQiLCJjb25maWciLCJEYXRlVGltZUZpZWxkIiwib3B0aW9ucyIsIml0ZW1zIiwiT2JqZWN0IiwiYXNzaWduIiwiZGVmYXVsdHMiLCJlYWNoIiwiaW5kZXgiLCJmaWVsZCIsImFkZEl0ZW0iLCJvbiIsIl9vbkFkZGVkTm9kZXMiLCJiaW5kIiwic2hvd1RvZGF5QnV0dG9uIiwic2hvd0NsZWFyIiwibG9jYWxlIiwibGFuZ3VhZ2UiLCJpY29ucyIsInRpbWUiLCJkYXRlIiwidXAiLCJkb3duIiwicHJldmlvdXMiLCJuZXh0IiwidG9kYXkiLCJjbGVhciIsImNsb3NlIiwibGlzdCIsImFkZCIsImRhdGEiLCJkYXRldGltZXBpY2tlciIsIl9kaXNhYmxlRGVjYWRlcyIsInNpYmxpbmdzIiwibW91c2Vkb3duIiwiZm9jdXMiLCJldmVudCIsInRhcmdldCIsImZpZWxkcyIsImZpbmQiLCJsZW5ndGgiLCJyZW1vdmVBdHRyIiwiZSIsInN0b3BQcm9wYWdhdGlvbiIsIkluc3RhbmNlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./app/forms/fields/datetime.js\n"); /***/ }), /***/ "./app/forms/fields/editor.js": /*!************************************!*\ !*** ./app/forms/fields/editor.js ***! \************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ EditorField),\n/* harmony export */ \"Toolbar\": () => (/* binding */ Toolbar),\n/* harmony export */ \"Instance\": () => (/* binding */ Instance)\n/* harmony export */ });\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ \"jquery\");\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _editor_buttons__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./editor/buttons */ \"./app/forms/fields/editor/buttons.js\");\n/* harmony import */ var codemirror__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! codemirror */ \"./node_modules/codemirror/lib/codemirror.js\");\n/* harmony import */ var codemirror__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(codemirror__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var watchjs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! watchjs */ \"./node_modules/watchjs/src/watch.js\");\n/* harmony import */ var watchjs__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(watchjs__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var js_yaml__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! js-yaml */ \"./node_modules/js-yaml/dist/js-yaml.mjs\");\n/* harmony import */ var codemirror_mode_css_css__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! codemirror/mode/css/css */ \"./node_modules/codemirror/mode/css/css.js\");\n/* harmony import */ var codemirror_mode_css_css__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(codemirror_mode_css_css__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var codemirror_mode_gfm_gfm__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! codemirror/mode/gfm/gfm */ \"./node_modules/codemirror/mode/gfm/gfm.js\");\n/* harmony import */ var codemirror_mode_gfm_gfm__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(codemirror_mode_gfm_gfm__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var codemirror_mode_htmlmixed_htmlmixed__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! codemirror/mode/htmlmixed/htmlmixed */ \"./node_modules/codemirror/mode/htmlmixed/htmlmixed.js\");\n/* harmony import */ var codemirror_mode_htmlmixed_htmlmixed__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(codemirror_mode_htmlmixed_htmlmixed__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var codemirror_mode_javascript_javascript__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! codemirror/mode/javascript/javascript */ \"./node_modules/codemirror/mode/javascript/javascript.js\");\n/* harmony import */ var codemirror_mode_javascript_javascript__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(codemirror_mode_javascript_javascript__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var codemirror_mode_markdown_markdown__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! codemirror/mode/markdown/markdown */ \"./node_modules/codemirror/mode/markdown/markdown.js\");\n/* harmony import */ var codemirror_mode_markdown_markdown__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(codemirror_mode_markdown_markdown__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony import */ var codemirror_mode_php_php__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! codemirror/mode/php/php */ \"./node_modules/codemirror/mode/php/php.js\");\n/* harmony import */ var codemirror_mode_php_php__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(codemirror_mode_php_php__WEBPACK_IMPORTED_MODULE_10__);\n/* harmony import */ var codemirror_mode_sass_sass__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! codemirror/mode/sass/sass */ \"./node_modules/codemirror/mode/sass/sass.js\");\n/* harmony import */ var codemirror_mode_sass_sass__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(codemirror_mode_sass_sass__WEBPACK_IMPORTED_MODULE_11__);\n/* harmony import */ var codemirror_mode_twig_twig__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! codemirror/mode/twig/twig */ \"./node_modules/codemirror/mode/twig/twig.js\");\n/* harmony import */ var codemirror_mode_twig_twig__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(codemirror_mode_twig_twig__WEBPACK_IMPORTED_MODULE_12__);\n/* harmony import */ var codemirror_mode_xml_xml__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! codemirror/mode/xml/xml */ \"./node_modules/codemirror/mode/xml/xml.js\");\n/* harmony import */ var codemirror_mode_xml_xml__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(codemirror_mode_xml_xml__WEBPACK_IMPORTED_MODULE_13__);\n/* harmony import */ var codemirror_mode_yaml_yaml__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! codemirror/mode/yaml/yaml */ \"./node_modules/codemirror/mode/yaml/yaml.js\");\n/* harmony import */ var codemirror_mode_yaml_yaml__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(codemirror_mode_yaml_yaml__WEBPACK_IMPORTED_MODULE_14__);\n/* harmony import */ var codemirror_addon_edit_continuelist__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! codemirror/addon/edit/continuelist */ \"./node_modules/codemirror/addon/edit/continuelist.js\");\n/* harmony import */ var codemirror_addon_edit_continuelist__WEBPACK_IMPORTED_MODULE_15___default = /*#__PURE__*/__webpack_require__.n(codemirror_addon_edit_continuelist__WEBPACK_IMPORTED_MODULE_15__);\n/* harmony import */ var codemirror_addon_mode_overlay__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! codemirror/addon/mode/overlay */ \"./node_modules/codemirror/addon/mode/overlay.js\");\n/* harmony import */ var codemirror_addon_mode_overlay__WEBPACK_IMPORTED_MODULE_16___default = /*#__PURE__*/__webpack_require__.n(codemirror_addon_mode_overlay__WEBPACK_IMPORTED_MODULE_16__);\n/* harmony import */ var codemirror_addon_selection_active_line__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! codemirror/addon/selection/active-line */ \"./node_modules/codemirror/addon/selection/active-line.js\");\n/* harmony import */ var codemirror_addon_selection_active_line__WEBPACK_IMPORTED_MODULE_17___default = /*#__PURE__*/__webpack_require__.n(codemirror_addon_selection_active_line__WEBPACK_IMPORTED_MODULE_17__);\n/* harmony import */ var codemirror_addon_lint_lint__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! codemirror/addon/lint/lint */ \"./node_modules/codemirror/addon/lint/lint.js\");\n/* harmony import */ var codemirror_addon_lint_lint__WEBPACK_IMPORTED_MODULE_18___default = /*#__PURE__*/__webpack_require__.n(codemirror_addon_lint_lint__WEBPACK_IMPORTED_MODULE_18__);\n/* harmony import */ var codemirror_addon_lint_lint_css__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! codemirror/addon/lint/lint.css */ \"./node_modules/codemirror/addon/lint/lint.css\");\n/* harmony import */ var codemirror_addon_lint_css_lint__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! codemirror/addon/lint/css-lint */ \"./node_modules/codemirror/addon/lint/css-lint.js\");\n/* harmony import */ var codemirror_addon_lint_css_lint__WEBPACK_IMPORTED_MODULE_20___default = /*#__PURE__*/__webpack_require__.n(codemirror_addon_lint_css_lint__WEBPACK_IMPORTED_MODULE_20__);\n/* harmony import */ var codemirror_addon_lint_javascript_lint__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! codemirror/addon/lint/javascript-lint */ \"./node_modules/codemirror/addon/lint/javascript-lint.js\");\n/* harmony import */ var codemirror_addon_lint_javascript_lint__WEBPACK_IMPORTED_MODULE_21___default = /*#__PURE__*/__webpack_require__.n(codemirror_addon_lint_javascript_lint__WEBPACK_IMPORTED_MODULE_21__);\n/* harmony import */ var codemirror_addon_lint_json_lint__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! codemirror/addon/lint/json-lint */ \"./node_modules/codemirror/addon/lint/json-lint.js\");\n/* harmony import */ var codemirror_addon_lint_json_lint__WEBPACK_IMPORTED_MODULE_22___default = /*#__PURE__*/__webpack_require__.n(codemirror_addon_lint_json_lint__WEBPACK_IMPORTED_MODULE_22__);\n/* harmony import */ var codemirror_addon_lint_yaml_lint__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! codemirror/addon/lint/yaml-lint */ \"./node_modules/codemirror/addon/lint/yaml-lint.js\");\n/* harmony import */ var codemirror_addon_lint_yaml_lint__WEBPACK_IMPORTED_MODULE_23___default = /*#__PURE__*/__webpack_require__.n(codemirror_addon_lint_yaml_lint__WEBPACK_IMPORTED_MODULE_23__);\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\n\n\n\n\n\n__webpack_require__.g.jsyaml = js_yaml__WEBPACK_IMPORTED_MODULE_4__[\"default\"]; // Modes\n\n\n\n\n\n\n\n\n\n\n // Add-ons\n\n\n\n\n\n\n\n\n\n\nvar IS_MOUSEDOWN = false;\nvar ThemesMap = ['paper'];\nvar Defaults = {\n codemirror: {\n mode: 'htmlmixed',\n theme: 'paper',\n lineWrapping: true,\n dragDrop: true,\n autoCloseTags: true,\n matchTags: true,\n autoCloseBrackets: true,\n matchBrackets: true,\n indentUnit: 4,\n indentWithTabs: false,\n tabSize: 4,\n hintOptions: {\n completionSingle: false\n },\n extraKeys: {\n 'Enter': 'newlineAndIndentContinueMarkdownList'\n }\n }\n};\n\nvar EditorField = /*#__PURE__*/function () {\n function EditorField(options) {\n var _this = this;\n\n _classCallCheck(this, EditorField);\n\n var body = jquery__WEBPACK_IMPORTED_MODULE_0___default()('body');\n this.editors = jquery__WEBPACK_IMPORTED_MODULE_0___default()();\n this.options = Object.assign({}, Defaults, options);\n this.buttons = _editor_buttons__WEBPACK_IMPORTED_MODULE_1__[\"default\"];\n this.buttonStrategies = _editor_buttons__WEBPACK_IMPORTED_MODULE_1__.strategies;\n (0,watchjs__WEBPACK_IMPORTED_MODULE_3__.watch)(_editor_buttons__WEBPACK_IMPORTED_MODULE_1__[\"default\"], function\n /* key, modifier, prev, next */\n () {\n _this.editors.each(function (index, editor) {\n return jquery__WEBPACK_IMPORTED_MODULE_0___default()(editor).data('toolbar').renderButtons();\n });\n });\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('[data-grav-editor]').each(function (index, editor) {\n return _this.addEditor(editor);\n });\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(function () {\n body.trigger('grav-editor-ready');\n });\n body.on('mutation._grav', this._onAddedNodes.bind(this));\n body.on('mouseup._grav', function () {\n if (!IS_MOUSEDOWN) {\n return true;\n }\n\n body.unbind('mousemove._grav');\n IS_MOUSEDOWN = false;\n });\n body.on('mousedown._grav', '.grav-editor-resizer', function (event) {\n event && event.preventDefault();\n IS_MOUSEDOWN = true;\n var target = jquery__WEBPACK_IMPORTED_MODULE_0___default()(event.currentTarget);\n var container = target.siblings('.grav-editor-content');\n var editor = container.find('.CodeMirror');\n var codemirror = container.find('textarea').data('codemirror');\n body.on('mousemove._grav', function (event) {\n editor.css('height', Math.max(100, event.pageY - container.offset().top));\n codemirror.refresh();\n });\n });\n }\n\n _createClass(EditorField, [{\n key: \"addButton\",\n value: function addButton(button, options) {\n if (options && (options.before || options.after)) {\n var index = this.buttons.navigation.findIndex(function (obj) {\n var key = Object.keys(obj).shift();\n return obj[key].identifier === (options.before || options.after);\n });\n\n if (!~index) {\n options = 'end';\n } else {\n this.buttons.navigation.splice(options.before ? index : index + 1, 0, button);\n }\n }\n\n if (options === 'start') {\n this.buttons.navigation.splice(0, 0, button);\n }\n\n if (!options || options === 'end') {\n this.buttons.navigation.push(button);\n }\n }\n }, {\n key: \"addEditor\",\n value: function addEditor(textarea) {\n textarea = jquery__WEBPACK_IMPORTED_MODULE_0___default()(textarea);\n var options = Object.assign({}, this.options.codemirror, textarea.data('grav-editor').codemirror);\n var theme = options.theme || 'paper';\n this.editors = this.editors.add(textarea);\n\n if (theme && !~ThemesMap.indexOf(theme)) {\n ThemesMap.push(theme); // let themeCSS = `https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.12.0/theme/${theme}.min.css`;\n // $('head').append($('').attr('href', themeCSS));\n }\n\n if (options.mode === 'yaml') {\n Object.assign(options.extraKeys, {\n Tab: function Tab(cm) {\n cm.replaceSelection(' ', 'end');\n }\n });\n }\n\n var editor = codemirror__WEBPACK_IMPORTED_MODULE_2___default().fromTextArea(textarea.get(0), options);\n textarea.data('codemirror', editor);\n textarea.data('toolbar', new Toolbar(textarea));\n textarea.addClass('code-mirrored');\n\n if (options.toolbar === false) {\n textarea.data('toolbar').ui.navigation.addClass('grav-editor-hide-toolbar');\n }\n\n editor.on('change', function () {\n return editor.save();\n });\n }\n }, {\n key: \"_onAddedNodes\",\n value: function _onAddedNodes(event, target\n /* , record, instance */\n ) {\n var _this2 = this;\n\n var editors = jquery__WEBPACK_IMPORTED_MODULE_0___default()(target).find('[data-grav-editor]');\n\n if (!editors.length) {\n return;\n }\n\n editors.each(function (index, editor) {\n editor = jquery__WEBPACK_IMPORTED_MODULE_0___default()(editor);\n\n if (!~_this2.editors.index(editor)) {\n _this2.addEditor(editor);\n }\n });\n }\n }]);\n\n return EditorField;\n}();\n\n\nvar Toolbar = /*#__PURE__*/function () {\n function Toolbar(editor) {\n _classCallCheck(this, Toolbar);\n\n this.editor = jquery__WEBPACK_IMPORTED_MODULE_0___default()(editor);\n this.codemirror = this.editor.data('codemirror');\n this.buttons = _editor_buttons__WEBPACK_IMPORTED_MODULE_1__[\"default\"].navigation;\n this.ui = {\n navigation: jquery__WEBPACK_IMPORTED_MODULE_0___default()(Toolbar.templates().navigation)\n };\n this.editor.parent('.grav-editor-content').before(this.ui.navigation).after(this.ui.states);\n this.renderButtons();\n }\n\n _createClass(Toolbar, [{\n key: \"renderButtons\",\n value: function renderButtons() {\n var _this3 = this;\n\n var map = {\n 'actions': 'navigation',\n 'modes': 'states'\n };\n ['actions', 'modes'].forEach(function (type) {\n _this3.ui.navigation.find(\".grav-editor-\".concat(type)).empty().append('